summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/test/provider/provider.test.ts44
1 files changed, 44 insertions, 0 deletions
diff --git a/packages/opencode/test/provider/provider.test.ts b/packages/opencode/test/provider/provider.test.ts
index e6eb0c7b4..c6c6924f0 100644
--- a/packages/opencode/test/provider/provider.test.ts
+++ b/packages/opencode/test/provider/provider.test.ts
@@ -1763,3 +1763,47 @@ test("custom model inherits npm package from models.dev provider config", async
},
})
})
+
+test("custom model inherits api.url from models.dev provider", async () => {
+ await using tmp = await tmpdir({
+ init: async (dir) => {
+ await Bun.write(
+ path.join(dir, "opencode.json"),
+ JSON.stringify({
+ $schema: "https://opencode.ai/config.json",
+ provider: {
+ openrouter: {
+ models: {
+ "prime-intellect/intellect-3": {},
+ "deepseek/deepseek-r1-0528": {
+ name: "DeepSeek R1",
+ },
+ },
+ },
+ },
+ }),
+ )
+ },
+ })
+ await Instance.provide({
+ directory: tmp.path,
+ init: async () => {
+ Env.set("OPENROUTER_API_KEY", "test-api-key")
+ },
+ fn: async () => {
+ const providers = await Provider.list()
+ expect(providers["openrouter"]).toBeDefined()
+
+ // New model not in database should inherit api.url from provider
+ const intellect = providers["openrouter"].models["prime-intellect/intellect-3"]
+ expect(intellect).toBeDefined()
+ expect(intellect.api.url).toBe("https://openrouter.ai/api/v1")
+
+ // Another new model should also inherit api.url
+ const deepseek = providers["openrouter"].models["deepseek/deepseek-r1-0528"]
+ expect(deepseek).toBeDefined()
+ expect(deepseek.api.url).toBe("https://openrouter.ai/api/v1")
+ expect(deepseek.name).toBe("DeepSeek R1")
+ },
+ })
+})