diff --git a/src/agents/pi-embedded-runner/model.ts b/src/agents/pi-embedded-runner/model.ts index 30f2dede5ff..35e692bc769 100644 --- a/src/agents/pi-embedded-runner/model.ts +++ b/src/agents/pi-embedded-runner/model.ts @@ -323,6 +323,13 @@ export function resolveModelWithRegistry(params: { ? ["text", "image"] : ["text"]; + const providerHeaders = sanitizeModelHeaders(providerConfig?.headers, { + stripSecretRefMarkers: true, + }); + const modelHeaders = sanitizeModelHeaders(configuredOpenRouterModel?.headers, { + stripSecretRefMarkers: true, + }); + return normalizeResolvedModel({ provider, cfg, @@ -330,15 +337,18 @@ export function resolveModelWithRegistry(params: { model: { id: modelId, name: modelId, - api: "openai-completions", + api: configuredOpenRouterModel?.api ?? providerConfig?.api ?? "openai-completions", provider, - baseUrl: "https://openrouter.ai/api/v1", + baseUrl: providerConfig?.baseUrl ?? "https://openrouter.ai/api/v1", reasoning: configuredOpenRouterModel?.reasoning ?? false, input: resolvedInput, cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: configuredOpenRouterModel?.contextWindow ?? DEFAULT_CONTEXT_TOKENS, // Align with OPENROUTER_DEFAULT_MAX_TOKENS in models-config.providers.ts maxTokens: configuredOpenRouterModel?.maxTokens ?? 8192, + ...(providerHeaders || modelHeaders + ? { headers: { ...providerHeaders, ...modelHeaders } } + : {}), } as Model, }); }