diff --git a/src/model-catalog.test.ts b/src/model-catalog.test.ts index 06be8ad..226e23d 100644 --- a/src/model-catalog.test.ts +++ b/src/model-catalog.test.ts @@ -23,6 +23,7 @@ const LIVE_MODEL_IDS = [ "gemini-3.1-pro-preview", "gemini-3.5-flash", "gemini-3.5-flash-lite", + "gemini-3.7-flash", "glm-5.2", "gpt-4o", "gpt-4o-mini", @@ -130,4 +131,20 @@ describe("family-specific entries", () => { test("glm-5.2 uses the zai thinking format", () => { expect(getModelCapabilities("glm-5.2")?.compat?.thinkingFormat).toBe("zai"); }); + + test("gemini-3.7-flash uses the Gemini reasoning map and 1M context", () => { + expect(getModelCapabilities("gemini-3.7-flash")).toEqual({ + reasoning: true, + contextWindow: 1_048_576, + maxTokens: 65_536, + thinkingLevelMap: { + minimal: "minimal", + low: "low", + medium: "medium", + high: "high", + xhigh: "high", + max: "high", + }, + }); + }); }); diff --git a/src/model-catalog.ts b/src/model-catalog.ts index 23be13d..b77f4e2 100644 --- a/src/model-catalog.ts +++ b/src/model-catalog.ts @@ -138,6 +138,7 @@ export const modelCatalog: Record = { "gemini-3.1-pro-preview": gemini(), "gemini-3.5-flash": gemini(), "gemini-3.5-flash-lite": gemini(), + "gemini-3.7-flash": gemini(), // OpenAI "gpt-4o": { reasoning: false, contextWindow: 128_000, maxTokens: 16_384 },