Skip to content

Commit ff03d45

Browse files
committed
fix(session): target native OpenRouter route
1 parent 30016f3 commit ff03d45

2 files changed

Lines changed: 24 additions & 8 deletions

File tree

packages/opencode/src/session/llm-native.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ const DEFAULT_BASE_URL: Record<string, string> = {
2727
"@ai-sdk/anthropic": "https://api.anthropic.com/v1",
2828
"@ai-sdk/google": "https://generativelanguage.googleapis.com/v1beta",
2929
"@ai-sdk/amazon-bedrock": "https://bedrock-runtime.us-east-1.amazonaws.com",
30+
"@openrouter/ai-sdk-provider": "https://openrouter.ai/api/v1",
3031
}
3132

3233
const ROUTE: Record<string, string> = {
@@ -36,7 +37,7 @@ const ROUTE: Record<string, string> = {
3637
"@ai-sdk/google": "gemini",
3738
"@ai-sdk/amazon-bedrock": "bedrock-converse",
3839
"@ai-sdk/openai-compatible": "openai-compatible-chat",
39-
"@openrouter/ai-sdk-provider": "openai-compatible-chat",
40+
"@openrouter/ai-sdk-provider": "openrouter",
4041
}
4142

4243
const isRecord = (value: unknown): value is Record<string, unknown> =>

packages/opencode/test/session/llm-native.test.ts

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -199,13 +199,28 @@ describe("session.llm-native.request", () => {
199199
})
200200

201201
test("selects native routes from existing provider packages", () => {
202-
expect(LLMNative.model({ ...baseModel, api: { ...baseModel.api, npm: "@ai-sdk/anthropic" } }).route).toBe(
203-
"anthropic-messages",
204-
)
205-
expect(LLMNative.model({ ...baseModel, api: { ...baseModel.api, npm: "@ai-sdk/google" } }).route).toBe("gemini")
206-
expect(LLMNative.model({ ...baseModel, api: { ...baseModel.api, npm: "@ai-sdk/openai-compatible" } }).route).toBe(
207-
"openai-compatible-chat",
208-
)
202+
expect(
203+
LLMNative.model({ ...baseModel, api: { ...baseModel.api, url: "", npm: "@ai-sdk/anthropic" } }),
204+
).toMatchObject({
205+
route: "anthropic-messages",
206+
baseURL: "https://api.anthropic.com/v1",
207+
})
208+
expect(LLMNative.model({ ...baseModel, api: { ...baseModel.api, url: "", npm: "@ai-sdk/google" } })).toMatchObject({
209+
route: "gemini",
210+
baseURL: "https://generativelanguage.googleapis.com/v1beta",
211+
})
212+
expect(
213+
LLMNative.model({ ...baseModel, api: { ...baseModel.api, npm: "@ai-sdk/openai-compatible" } }),
214+
).toMatchObject({
215+
route: "openai-compatible-chat",
216+
baseURL: "https://api.openai.com/v1",
217+
})
218+
expect(
219+
LLMNative.model({ ...baseModel, api: { ...baseModel.api, url: "", npm: "@openrouter/ai-sdk-provider" } }),
220+
).toMatchObject({
221+
route: "openrouter",
222+
baseURL: "https://openrouter.ai/api/v1",
223+
})
209224
})
210225

211226
test("fails fast for unsupported provider packages", () => {

0 commit comments

Comments
 (0)