feat(provider): add vercel to all gateway-supported fallback entries

Adds vercel to every fallback entry where the model exists on the
gateway (kimi-k2.5, glm-5, glm-4.6v, minimax-m2.7, grok-code-fast-1,
gpt-5-nano). Adds inferSubProvider mappings for minimax, moonshotai,
and zai. Updates librarian/explore special cases to prefer minimax
via gateway over claude-haiku.
This commit is contained in:
Matan Kushner
2026-04-13 13:44:50 +09:00
parent 542dc890f9
commit 34e334eabe
7 changed files with 260 additions and 46 deletions
+6 -6
View File
@@ -631,26 +631,26 @@ describe("generateModelConfig", () => {
expect(result).toMatchSnapshot()
})
test("explore uses vercel/anthropic/claude-haiku-4.5 when only gateway available", () => {
test("explore uses vercel/minimax/minimax-m2.7-highspeed when only gateway available", () => {
// #given only Vercel AI Gateway is available
const config = createConfig({ hasVercelAiGateway: true })
// #when generateModelConfig is called
const result = generateModelConfig(config)
// #then explore should use gateway-routed claude-haiku
expect(result.agents?.explore?.model).toBe("vercel/anthropic/claude-haiku-4.5")
// #then explore should use gateway-routed minimax (preferred over claude-haiku)
expect(result.agents?.explore?.model).toBe("vercel/minimax/minimax-m2.7-highspeed")
})
test("librarian uses vercel/anthropic/claude-haiku-4.5 when only gateway available", () => {
test("librarian uses vercel/minimax/minimax-m2.7 when only gateway available", () => {
// #given only Vercel AI Gateway is available
const config = createConfig({ hasVercelAiGateway: true })
// #when generateModelConfig is called
const result = generateModelConfig(config)
// #then librarian should use gateway-routed claude-haiku
expect(result.agents?.librarian?.model).toBe("vercel/anthropic/claude-haiku-4.5")
// #then librarian should use gateway-routed minimax (preferred over claude-haiku)
expect(result.agents?.librarian?.model).toBe("vercel/minimax/minimax-m2.7")
})
test("Hephaestus is created when only Vercel AI Gateway is available", () => {