mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-27 13:40:41 +00:00
fix: add gemini 3.1 flash-lite support
This commit is contained in:
@@ -125,6 +125,17 @@ describe("model-selection", () => {
|
||||
});
|
||||
});
|
||||
|
||||
it("normalizes gemini 3.1 flash-lite to the preview model id", () => {
|
||||
expect(parseModelRef("google/gemini-3.1-flash-lite", "openai")).toEqual({
|
||||
provider: "google",
|
||||
model: "gemini-3.1-flash-lite-preview",
|
||||
});
|
||||
expect(parseModelRef("gemini-3.1-flash-lite", "google")).toEqual({
|
||||
provider: "google",
|
||||
model: "gemini-3.1-flash-lite-preview",
|
||||
});
|
||||
});
|
||||
|
||||
it("keeps openai gpt-5.3 codex refs on the openai provider", () => {
|
||||
expect(parseModelRef("openai/gpt-5.3-codex", "anthropic")).toEqual({
|
||||
provider: "openai",
|
||||
|
||||
@@ -53,6 +53,10 @@ describe("normalizeGoogleModelId", () => {
|
||||
expect(normalizeGoogleModelId("gemini-3.1-flash")).toBe("gemini-3-flash-preview");
|
||||
expect(normalizeGoogleModelId("gemini-3.1-flash-preview")).toBe("gemini-3-flash-preview");
|
||||
});
|
||||
|
||||
it("adds the preview suffix for gemini 3.1 flash-lite", () => {
|
||||
expect(normalizeGoogleModelId("gemini-3.1-flash-lite")).toBe("gemini-3.1-flash-lite-preview");
|
||||
});
|
||||
});
|
||||
|
||||
describe("google-antigravity provider normalization", () => {
|
||||
|
||||
@@ -547,6 +547,9 @@ export function normalizeGoogleModelId(id: string): string {
|
||||
if (id === "gemini-3.1-pro") {
|
||||
return "gemini-3.1-pro-preview";
|
||||
}
|
||||
if (id === "gemini-3.1-flash-lite") {
|
||||
return "gemini-3.1-flash-lite-preview";
|
||||
}
|
||||
// Preserve compatibility with earlier OpenClaw docs/config that pointed at a
|
||||
// non-existent Gemini Flash preview ID. Google's current Flash text model is
|
||||
// `gemini-3-flash-preview`.
|
||||
|
||||
@@ -89,6 +89,19 @@ describe("pi embedded model e2e smoke", () => {
|
||||
});
|
||||
});
|
||||
|
||||
it("builds a google-gemini-cli forward-compat fallback for gemini-3.1-flash-lite-preview", () => {
|
||||
mockGoogleGeminiCliFlashTemplateModel();
|
||||
|
||||
const result = resolveModel("google-gemini-cli", "gemini-3.1-flash-lite-preview", "/tmp/agent");
|
||||
expect(result.error).toBeUndefined();
|
||||
expect(result.model).toMatchObject({
|
||||
...GOOGLE_GEMINI_CLI_FLASH_TEMPLATE_MODEL,
|
||||
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();
|
||||
|
||||
Reference in New Issue
Block a user