diff --git a/packages/ai/CHANGELOG.md b/packages/ai/CHANGELOG.md index a65d0e83..7f3b72d0 100644 --- a/packages/ai/CHANGELOG.md +++ b/packages/ai/CHANGELOG.md @@ -2,6 +2,10 @@ ## [Unreleased] +### Fixed + +- Fixed OpenRouter routing preferences on OpenAI-compatible custom providers to send `compat.openRouterRouting` even when `baseUrl` does not point directly at OpenRouter ([#5347](https://github.com/earendil-works/pi/issues/5347)). + ## [0.78.1] - 2026-06-04 ### Added diff --git a/packages/ai/src/providers/openai-completions.ts b/packages/ai/src/providers/openai-completions.ts index 0cfbc234..9fb3a357 100644 --- a/packages/ai/src/providers/openai-completions.ts +++ b/packages/ai/src/providers/openai-completions.ts @@ -610,7 +610,7 @@ function buildParams( } // OpenRouter provider routing preferences - if (model.baseUrl.includes("openrouter.ai") && model.compat?.openRouterRouting) { + if (model.compat?.openRouterRouting) { (params as any).provider = model.compat.openRouterRouting; } diff --git a/packages/ai/src/types.ts b/packages/ai/src/types.ts index a0564e61..ed36c7ec 100644 --- a/packages/ai/src/types.ts +++ b/packages/ai/src/types.ts @@ -403,7 +403,7 @@ export interface OpenAICompletionsCompat { | "qwen-chat-template" | "string-thinking" | "ant-ling"; - /** OpenRouter-specific routing preferences. Only used when baseUrl points to OpenRouter. */ + /** OpenRouter-compatible routing preferences sent as the `provider` request field. */ openRouterRouting?: OpenRouterRouting; /** Vercel AI Gateway routing preferences. Only used when baseUrl points to Vercel AI Gateway. */ vercelGatewayRouting?: VercelGatewayRouting;