diff --git a/src/agents/pi-embedded-runner/compact.ts b/src/agents/pi-embedded-runner/compact.ts index 3e3bf38576d..a49f94a50fb 100644 --- a/src/agents/pi-embedded-runner/compact.ts +++ b/src/agents/pi-embedded-runner/compact.ts @@ -3,6 +3,7 @@ import os from "node:os"; import { createAgentSession, + DefaultResourceLoader, estimateTokens, SessionManager, SettingsManager, @@ -383,6 +384,17 @@ export async function compactEmbeddedPiSessionDirect( sandboxEnabled: !!sandbox?.enabled, }); + const resourceLoader = new DefaultResourceLoader({ + cwd: resolvedWorkspace, + agentDir, + settingsManager, + additionalExtensionPaths, + noSkills: true, + systemPromptOverride: systemPrompt, + agentsFilesOverride: () => ({ agentsFiles: [] }), + }); + await resourceLoader.reload(); + const { session } = await createAgentSession({ cwd: resolvedWorkspace, agentDir, @@ -394,10 +406,7 @@ export async function compactEmbeddedPiSessionDirect( customTools, sessionManager, settingsManager, - additionalExtensionPaths, - skills: [], - contextFiles: [], - systemPrompt, + resourceLoader, }); try { diff --git a/src/agents/pi-embedded-runner/run/attempt.ts b/src/agents/pi-embedded-runner/run/attempt.ts index c899e3d4c7c..5d4d4d0218e 100644 --- a/src/agents/pi-embedded-runner/run/attempt.ts +++ b/src/agents/pi-embedded-runner/run/attempt.ts @@ -4,7 +4,12 @@ import os from "node:os"; import type { AgentMessage } from "@mariozechner/pi-agent-core"; import type { AssistantMessage, ImageContent } from "@mariozechner/pi-ai"; import { streamSimple } from "@mariozechner/pi-ai"; -import { createAgentSession, SessionManager, SettingsManager } from "@mariozechner/pi-coding-agent"; +import { + createAgentSession, + DefaultResourceLoader, + SessionManager, + SettingsManager, +} from "@mariozechner/pi-coding-agent"; import { resolveHeartbeatPrompt } from "../../../auto-reply/heartbeat.js"; import { @@ -447,6 +452,17 @@ export async function runEmbeddedAttempt( const allCustomTools = [...customTools, ...clientToolDefs]; + const resourceLoader = new DefaultResourceLoader({ + cwd: resolvedWorkspace, + agentDir, + settingsManager, + additionalExtensionPaths, + noSkills: true, + systemPromptOverride: systemPrompt, + agentsFilesOverride: () => ({ agentsFiles: [] }), + }); + await resourceLoader.reload(); + ({ session } = await createAgentSession({ cwd: resolvedWorkspace, agentDir, @@ -458,10 +474,7 @@ export async function runEmbeddedAttempt( customTools: allCustomTools, sessionManager, settingsManager, - additionalExtensionPaths, - skills: [], - contextFiles: [], - systemPrompt, + resourceLoader, })); if (!session) { throw new Error("Embedded agent session missing");