From e58291e070108aaffc36412d1ed71d01d64ed9c3 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 1 Feb 2026 15:50:09 -0800 Subject: [PATCH] fix: align embedded runner with pi-coding-agent API --- src/agents/auth-profiles/oauth.ts | 9 +++++++-- src/agents/pi-embedded-runner/compact.ts | 10 +--------- src/agents/pi-embedded-runner/run/attempt.ts | 16 ++-------------- 3 files changed, 10 insertions(+), 25 deletions(-) diff --git a/src/agents/auth-profiles/oauth.ts b/src/agents/auth-profiles/oauth.ts index 60c8a731b..d27184b4d 100644 --- a/src/agents/auth-profiles/oauth.ts +++ b/src/agents/auth-profiles/oauth.ts @@ -15,10 +15,15 @@ import { ensureAuthStoreFile, resolveAuthStorePath } from "./paths.js"; import { suggestOAuthProfileIdForLegacyDefault } from "./repair.js"; import { ensureAuthProfileStore, saveAuthProfileStore } from "./store.js"; -const OAUTH_PROVIDER_IDS = new Set(getOAuthProviders().map((provider) => provider.id)); +const OAUTH_PROVIDER_IDS = new Set( + getOAuthProviders().map((provider) => provider.id as OAuthProvider), +); + +const isOAuthProvider = (provider: string): provider is OAuthProvider => + OAUTH_PROVIDER_IDS.has(provider as OAuthProvider); const resolveOAuthProvider = (provider: string): OAuthProvider | null => - OAUTH_PROVIDER_IDS.has(provider) ? provider : null; + isOAuthProvider(provider) ? provider : null; function buildOAuthApiKey(provider: string, credentials: OAuthCredentials): string { const needsProjectId = provider === "google-gemini-cli" || provider === "google-antigravity"; diff --git a/src/agents/pi-embedded-runner/compact.ts b/src/agents/pi-embedded-runner/compact.ts index dc4389d47..7839cae38 100644 --- a/src/agents/pi-embedded-runner/compact.ts +++ b/src/agents/pi-embedded-runner/compact.ts @@ -1,7 +1,6 @@ import { createAgentSession, estimateTokens, - DefaultResourceLoader, SessionManager, SettingsManager, } from "@mariozechner/pi-coding-agent"; @@ -388,13 +387,6 @@ export async function compactEmbeddedPiSessionDirect( sandboxEnabled: !!sandbox?.enabled, }); - const resourceLoader = new DefaultResourceLoader({ - cwd: resolvedWorkspace, - agentDir, - settingsManager, - additionalExtensionPaths, - }); - await resourceLoader.reload(); const { session } = await createAgentSession({ cwd: resolvedWorkspace, agentDir, @@ -404,9 +396,9 @@ export async function compactEmbeddedPiSessionDirect( thinkingLevel: mapThinkingLevel(params.thinkLevel), tools: builtInTools, customTools, + additionalExtensionPaths, sessionManager, settingsManager, - resourceLoader, }); applySystemPromptOverrideToSession(session, systemPromptOverride); diff --git a/src/agents/pi-embedded-runner/run/attempt.ts b/src/agents/pi-embedded-runner/run/attempt.ts index cc013b508..51bd5438d 100644 --- a/src/agents/pi-embedded-runner/run/attempt.ts +++ b/src/agents/pi-embedded-runner/run/attempt.ts @@ -1,12 +1,7 @@ import type { AgentMessage } from "@mariozechner/pi-agent-core"; import type { ImageContent } from "@mariozechner/pi-ai"; import { streamSimple } from "@mariozechner/pi-ai"; -import { - createAgentSession, - DefaultResourceLoader, - SessionManager, - SettingsManager, -} from "@mariozechner/pi-coding-agent"; +import { createAgentSession, SessionManager, SettingsManager } from "@mariozechner/pi-coding-agent"; import fs from "node:fs/promises"; import os from "node:os"; import type { EmbeddedRunAttemptParams, EmbeddedRunAttemptResult } from "./types.js"; @@ -467,13 +462,6 @@ export async function runEmbeddedAttempt( const allCustomTools = [...customTools, ...clientToolDefs]; - const resourceLoader = new DefaultResourceLoader({ - cwd: resolvedWorkspace, - agentDir, - settingsManager, - additionalExtensionPaths, - }); - await resourceLoader.reload(); ({ session } = await createAgentSession({ cwd: resolvedWorkspace, agentDir, @@ -483,9 +471,9 @@ export async function runEmbeddedAttempt( thinkingLevel: mapThinkingLevel(params.thinkLevel), tools: builtInTools, customTools: allCustomTools, + additionalExtensionPaths, sessionManager, settingsManager, - resourceLoader, })); applySystemPromptOverrideToSession(session, systemPromptOverride); if (!session) {