summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAiden Cline <[email protected]>2025-12-07 13:06:04 -0600
committerAiden Cline <[email protected]>2025-12-07 13:06:12 -0600
commit9856e3b7984bf6aaf7dede0fc969dd1047687018 (patch)
tree799b9887a430cdf14a1c9f1d5a82d673803719a5
parent1d089272c8cc3c2fdf4a1a22512a130da089c325 (diff)
downloadopencode-9856e3b7984bf6aaf7dede0fc969dd1047687018.tar.gz
opencode-9856e3b7984bf6aaf7dede0fc969dd1047687018.zip
ignore: add test for provider url case
-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")
+ },
+ })
+})