diff options
| author | Adam Malczewski <[email protected]> | 2026-06-27 18:36:36 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-27 18:36:36 +0900 |
| commit | fe338f88a52df1360347408fb3a8f9ea83172f62 (patch) | |
| tree | 00a0994cf7e19f22540fe74582fb670fab684075 /packages/openai-stream/src/listModels.test.ts | |
| parent | e76790fef11de3cc33f60689f9301030ed740cd6 (diff) | |
| download | dispatch-fe338f88a52df1360347408fb3a8f9ea83172f62.tar.gz dispatch-fe338f88a52df1360347408fb3a8f9ea83172f62.zip | |
fix(vision): detect umans kimi + qwen models as vision-capable (not just kimi)
Diffstat (limited to 'packages/openai-stream/src/listModels.test.ts')
| -rw-r--r-- | packages/openai-stream/src/listModels.test.ts | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/packages/openai-stream/src/listModels.test.ts b/packages/openai-stream/src/listModels.test.ts index 3acf46e..2e3b1a3 100644 --- a/packages/openai-stream/src/listModels.test.ts +++ b/packages/openai-stream/src/listModels.test.ts @@ -53,28 +53,33 @@ describe("listModels — pure mapping (parseModelList)", () => { }); describe("listModels — vision capability detection", () => { - it("isVisionModelId returns true for kimi-family model ids", () => { - expect(isVisionModelId("kimi-k2.7")).toBe(true); - expect(isVisionModelId("Kimi-K2.7")).toBe(true); // case-insensitive - expect(isVisionModelId("moonshot/kimi-k2-thinking")).toBe(true); + it("isVisionModelId returns true for umans kimi and qwen model ids", () => { + expect(isVisionModelId("umans-kimi-k2.7")).toBe(true); + expect(isVisionModelId("Umans-Kimi-K2.7")).toBe(true); // case-insensitive + expect(isVisionModelId("umans-qwen3.6-35b-a3b")).toBe(true); }); - it("isVisionModelId returns false for non-kimi model ids", () => { - expect(isVisionModelId("glm-5.2")).toBe(false); - expect(isVisionModelId("deepseek-v4-flash")).toBe(false); + it("isVisionModelId returns false for non-vision model ids", () => { + expect(isVisionModelId("umans-glm-5.2")).toBe(false); expect(isVisionModelId("umans-coder")).toBe(false); + expect(isVisionModelId("umans-flash")).toBe(false); + expect(isVisionModelId("kimi-k2.7-code")).toBe(false); // opencode kimi, not umans + expect(isVisionModelId("qwen3.7-max")).toBe(false); // opencode qwen, not umans + expect(isVisionModelId("deepseek-v4-flash")).toBe(false); }); - it("parseModelList sets vision: true on kimi-family models", () => { + it("parseModelList sets vision: true on umans kimi and qwen models only", () => { const result = parseModelList([ - { id: "kimi-k2.7", context_length: 200000 }, - { id: "glm-5.2", context_length: 128000 }, - { id: "deepseek-v4-flash" }, + { id: "umans-kimi-k2.7", context_length: 262144 }, + { id: "umans-qwen3.6-35b-a3b", context_length: 262144 }, + { id: "umans-glm-5.2", context_length: 405504 }, + { id: "umans-coder" }, ]); expect(result).toEqual([ - { id: "kimi-k2.7", contextWindow: 200000, vision: true }, - { id: "glm-5.2", contextWindow: 128000 }, - { id: "deepseek-v4-flash" }, + { id: "umans-kimi-k2.7", contextWindow: 262144, vision: true }, + { id: "umans-qwen3.6-35b-a3b", contextWindow: 262144, vision: true }, + { id: "umans-glm-5.2", contextWindow: 405504 }, + { id: "umans-coder" }, ]); }); }); |
