fix(core): preserve model capability semantics

This commit is contained in:
Aiden Cline 2026-07-07 23:33:15 -05:00
commit 44a898f3ee
7 changed files with 27 additions and 59 deletions

View file

@ -766,15 +766,15 @@ describe("Config", () => {
settings: { apiKey: "secret" },
models: {
model: {
capabilities: { tools: false, input: ["text", "image"], output: ["text"] },
capabilities: { tools: true, input: ["text", "image"], output: ["text"] },
settings: { reasoningEffort: "high" },
variants: [{ id: "fast", settings: { temperature: 0.2 } }],
},
text: {
capabilities: { tools: false, input: ["text"], output: ["text"] },
capabilities: { tools: true, input: ["text"], output: ["text"] },
},
audio: {
capabilities: { tools: false, input: ["audio"], output: ["audio"] },
capabilities: { tools: true, input: ["audio"], output: ["audio"] },
},
},
})

View file

@ -253,7 +253,7 @@ describe("ConfigProviderPlugin.Plugin", () => {
expect(model.modelID).toBe(ModelV2.ID.make("api-chat"))
expect(model.name).toBe("Last")
expect(model.capabilities).toEqual({ tools: true, input: ["text"], output: ["text"] })
expect(defaultModel.capabilities).toEqual({ tools: false, input: ["text", "image"], output: ["text"] })
expect(defaultModel.capabilities).toEqual({ tools: true, input: ["text", "image"], output: ["text"] })
expect(model.enabled).toBe(false)
expect(model.limit).toEqual({ context: 100, output: 75 })
expect(model.cost).toEqual([