@@ -88,14 +88,17 @@ describe("models-config merge helpers", () => {
|
88 | 88 | } as ProviderConfig, |
89 | 89 | ); |
90 | 90 | |
91 | | -const model = merged.models?.[0]; |
92 | | -expect(merged.models).toHaveLength(1); |
93 | | -expect(model?.id).toBe("gpt-5.4"); |
94 | | -expect(model?.input).toEqual(["text"]); |
95 | | -expect(model?.reasoning).toBe(false); |
96 | | -expect(model?.cost).toEqual({ input: 123, output: 456, cacheRead: 0, cacheWrite: 0 }); |
97 | | -expect(model?.contextWindow).toBe(2_000_000); |
98 | | -expect(model?.maxTokens).toBe(200_000); |
| 91 | +expect(merged.models).toEqual([ |
| 92 | +{ |
| 93 | +id: "gpt-5.4", |
| 94 | +name: "GPT-5.4", |
| 95 | +input: ["text"], |
| 96 | +reasoning: false, |
| 97 | +cost: { input: 123, output: 456, cacheRead: 0, cacheWrite: 0 }, |
| 98 | +contextWindow: 2_000_000, |
| 99 | +maxTokens: 200_000, |
| 100 | +}, |
| 101 | +]); |
99 | 102 | }); |
100 | 103 | |
101 | 104 | it("preserves explicit input modality overrides when implicit metadata has the same model id", () => { |
@@ -127,10 +130,16 @@ describe("models-config merge helpers", () => {
|
127 | 130 | } as ProviderConfig, |
128 | 131 | ); |
129 | 132 | |
130 | | -const model = merged.models?.[0]; |
131 | | -expect(model?.id).toBe("qwen3-vl:latest"); |
132 | | -expect(model?.input).toEqual(["text", "image"]); |
133 | | -expect(model?.reasoning).toBe(true); |
| 133 | +expect(merged.models).toEqual([ |
| 134 | +{ |
| 135 | +id: "qwen3-vl:latest", |
| 136 | +name: "Qwen3 VL", |
| 137 | +input: ["text", "image"], |
| 138 | +reasoning: true, |
| 139 | +contextWindow: 128_000, |
| 140 | +maxTokens: 8192, |
| 141 | +}, |
| 142 | +]); |
134 | 143 | }); |
135 | 144 | |
136 | 145 | it("merges explicit providers onto trimmed keys", () => { |
|