summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-12-04 16:30:54 -0500
committerDax Raad <[email protected]>2025-12-04 16:30:54 -0500
commitb1202ac6db1cbead1e8f205913524f1c47322970 (patch)
tree99e6ada5f45288cc72c558b8ce52e34e8fb0659a
parentd469d7d44156ed83aca2607806856e128e71502f (diff)
downloadopencode-b1202ac6db1cbead1e8f205913524f1c47322970.tar.gz
opencode-b1202ac6db1cbead1e8f205913524f1c47322970.zip
core: add test for custom model npm package inheritance
-rw-r--r--packages/opencode/test/provider/provider.test.ts36
1 files changed, 36 insertions, 0 deletions
diff --git a/packages/opencode/test/provider/provider.test.ts b/packages/opencode/test/provider/provider.test.ts
index 698fdddfb..e6eb0c7b4 100644
--- a/packages/opencode/test/provider/provider.test.ts
+++ b/packages/opencode/test/provider/provider.test.ts
@@ -1727,3 +1727,39 @@ test("provider options are deeply merged", async () => {
},
})
})
+
+test("custom model inherits npm package from models.dev provider config", 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: {
+ openai: {
+ models: {
+ "my-custom-model": {
+ name: "My Custom Model",
+ tool_call: true,
+ limit: { context: 8000, output: 2000 },
+ },
+ },
+ },
+ },
+ }),
+ )
+ },
+ })
+ await Instance.provide({
+ directory: tmp.path,
+ init: async () => {
+ Env.set("OPENAI_API_KEY", "test-api-key")
+ },
+ fn: async () => {
+ const providers = await Provider.list()
+ const model = providers["openai"].models["my-custom-model"]
+ expect(model).toBeDefined()
+ expect(model.api.npm).toBe("@ai-sdk/openai")
+ },
+ })
+})