fix: add google flash-lite forward compat

This commit is contained in:
Peter Steinberger
2026-03-08 05:22:38 +00:00
parent 59102a1ff7
commit 5d22bd0297
2 changed files with 58 additions and 7 deletions

View File

@@ -11,6 +11,7 @@ import {
GOOGLE_GEMINI_CLI_FLASH_TEMPLATE_MODEL,
GOOGLE_GEMINI_CLI_PRO_TEMPLATE_MODEL,
makeModel,
mockDiscoveredModel,
mockGoogleGeminiCliFlashTemplateModel,
mockGoogleGeminiCliProTemplateModel,
mockOpenAICodexTemplateModel,
@@ -102,6 +103,54 @@ describe("pi embedded model e2e smoke", () => {
});
});
it("builds a google forward-compat fallback for gemini-3.1-pro-preview", () => {
mockDiscoveredModel({
provider: "google",
modelId: "gemini-3-pro-preview",
templateModel: {
...GOOGLE_GEMINI_CLI_PRO_TEMPLATE_MODEL,
provider: "google",
api: "google-generative-ai",
baseUrl: "https://generativelanguage.googleapis.com",
},
});
const result = resolveModel("google", "gemini-3.1-pro-preview", "/tmp/agent");
expect(result.error).toBeUndefined();
expect(result.model).toMatchObject({
provider: "google",
api: "google-generative-ai",
baseUrl: "https://generativelanguage.googleapis.com",
id: "gemini-3.1-pro-preview",
name: "gemini-3.1-pro-preview",
reasoning: true,
});
});
it("builds a google forward-compat fallback for gemini-3.1-flash-lite-preview", () => {
mockDiscoveredModel({
provider: "google",
modelId: "gemini-3-flash-preview",
templateModel: {
...GOOGLE_GEMINI_CLI_FLASH_TEMPLATE_MODEL,
provider: "google",
api: "google-generative-ai",
baseUrl: "https://generativelanguage.googleapis.com",
},
});
const result = resolveModel("google", "gemini-3.1-flash-lite-preview", "/tmp/agent");
expect(result.error).toBeUndefined();
expect(result.model).toMatchObject({
provider: "google",
api: "google-generative-ai",
baseUrl: "https://generativelanguage.googleapis.com",
id: "gemini-3.1-flash-lite-preview",
name: "gemini-3.1-flash-lite-preview",
reasoning: true,
});
});
it("keeps unknown-model errors for unrecognized google-gemini-cli model IDs", () => {
const result = resolveModel("google-gemini-cli", "gemini-4-unknown", "/tmp/agent");
expect(result.model).toBeUndefined();