From 0df161a20b077f3215a9b3c477762c2dc60f029a Mon Sep 17 00:00:00 2001 From: Roo Code Date: Fri, 3 Oct 2025 10:17:13 +0000 Subject: [PATCH 1/2] feat: update Gemini models with latest 09-2025 versions - Add gemini-flash-latest and gemini-flash-lite-latest models - Add gemini-2.5-flash-preview-09-2025 and gemini-2.5-flash-lite-preview-09-2025 - Reorganize models list with most recent versions at the top - Maintain all existing models for backward compatibility Fixes #8485 --- packages/types/src/providers/gemini.ts | 177 +++++++++++++++++-------- 1 file changed, 124 insertions(+), 53 deletions(-) diff --git a/packages/types/src/providers/gemini.ts b/packages/types/src/providers/gemini.ts index a7225c7330fc..913b5e40fa5c 100644 --- a/packages/types/src/providers/gemini.ts +++ b/packages/types/src/providers/gemini.ts @@ -6,25 +6,73 @@ export type GeminiModelId = keyof typeof geminiModels export const geminiDefaultModelId: GeminiModelId = "gemini-2.0-flash-001" export const geminiModels = { - "gemini-2.5-flash-preview-04-17:thinking": { - maxTokens: 65_535, + // Latest models (pointing to the most recent stable versions) + "gemini-flash-latest": { + maxTokens: 65_536, contextWindow: 1_048_576, supportsImages: true, - supportsPromptCache: false, - inputPrice: 0.15, - outputPrice: 3.5, + supportsPromptCache: true, + inputPrice: 0.3, + outputPrice: 2.5, + cacheReadsPrice: 0.075, + cacheWritesPrice: 1.0, maxThinkingTokens: 24_576, supportsReasoningBudget: true, - requiredReasoningBudget: true, }, - "gemini-2.5-flash-preview-04-17": { - maxTokens: 65_535, + "gemini-flash-lite-latest": { + maxTokens: 65_536, contextWindow: 1_048_576, supportsImages: true, - supportsPromptCache: false, - inputPrice: 0.15, - outputPrice: 0.6, + supportsPromptCache: true, + inputPrice: 0.1, + outputPrice: 0.4, + cacheReadsPrice: 0.025, + cacheWritesPrice: 1.0, + supportsReasoningBudget: true, + maxThinkingTokens: 24_576, + }, + + // 2.5 Flash models (09-2025 versions - most recent) + "gemini-2.5-flash-preview-09-2025": { + maxTokens: 65_536, + contextWindow: 1_048_576, + supportsImages: true, + supportsPromptCache: true, + inputPrice: 0.3, + outputPrice: 2.5, + cacheReadsPrice: 0.075, + cacheWritesPrice: 1.0, + maxThinkingTokens: 24_576, + supportsReasoningBudget: true, }, + "gemini-2.5-flash-lite-preview-09-2025": { + maxTokens: 65_536, + contextWindow: 1_048_576, + supportsImages: true, + supportsPromptCache: true, + inputPrice: 0.1, + outputPrice: 0.4, + cacheReadsPrice: 0.025, + cacheWritesPrice: 1.0, + supportsReasoningBudget: true, + maxThinkingTokens: 24_576, + }, + + // 2.5 Flash models (06-17 version) + "gemini-2.5-flash-lite-preview-06-17": { + maxTokens: 64_000, + contextWindow: 1_048_576, + supportsImages: true, + supportsPromptCache: true, + inputPrice: 0.1, + outputPrice: 0.4, + cacheReadsPrice: 0.025, + cacheWritesPrice: 1.0, + supportsReasoningBudget: true, + maxThinkingTokens: 24_576, + }, + + // 2.5 Flash models (05-20 versions) "gemini-2.5-flash-preview-05-20:thinking": { maxTokens: 65_535, contextWindow: 1_048_576, @@ -48,6 +96,29 @@ export const geminiModels = { cacheReadsPrice: 0.0375, cacheWritesPrice: 1.0, }, + + // 2.5 Flash models (04-17 versions) + "gemini-2.5-flash-preview-04-17:thinking": { + maxTokens: 65_535, + contextWindow: 1_048_576, + supportsImages: true, + supportsPromptCache: false, + inputPrice: 0.15, + outputPrice: 3.5, + maxThinkingTokens: 24_576, + supportsReasoningBudget: true, + requiredReasoningBudget: true, + }, + "gemini-2.5-flash-preview-04-17": { + maxTokens: 65_535, + contextWindow: 1_048_576, + supportsImages: true, + supportsPromptCache: false, + inputPrice: 0.15, + outputPrice: 0.6, + }, + + // 2.5 Flash stable "gemini-2.5-flash": { maxTokens: 64_000, contextWindow: 1_048_576, @@ -60,15 +131,9 @@ export const geminiModels = { maxThinkingTokens: 24_576, supportsReasoningBudget: true, }, - "gemini-2.5-pro-exp-03-25": { - maxTokens: 65_535, - contextWindow: 1_048_576, - supportsImages: true, - supportsPromptCache: false, - inputPrice: 0, - outputPrice: 0, - }, - "gemini-2.5-pro-preview-03-25": { + + // 2.5 Pro models + "gemini-2.5-pro-preview-06-05": { maxTokens: 65_535, contextWindow: 1_048_576, supportsImages: true, @@ -77,6 +142,8 @@ export const geminiModels = { outputPrice: 15, cacheReadsPrice: 0.625, cacheWritesPrice: 4.5, + maxThinkingTokens: 32_768, + supportsReasoningBudget: true, tiers: [ { contextWindow: 200_000, @@ -116,7 +183,7 @@ export const geminiModels = { }, ], }, - "gemini-2.5-pro-preview-06-05": { + "gemini-2.5-pro-preview-03-25": { maxTokens: 65_535, contextWindow: 1_048_576, supportsImages: true, @@ -125,8 +192,6 @@ export const geminiModels = { outputPrice: 15, cacheReadsPrice: 0.625, cacheWritesPrice: 4.5, - maxThinkingTokens: 32_768, - supportsReasoningBudget: true, tiers: [ { contextWindow: 200_000, @@ -142,6 +207,14 @@ export const geminiModels = { }, ], }, + "gemini-2.5-pro-exp-03-25": { + maxTokens: 65_535, + contextWindow: 1_048_576, + supportsImages: true, + supportsPromptCache: false, + inputPrice: 0, + outputPrice: 0, + }, "gemini-2.5-pro": { maxTokens: 64_000, contextWindow: 1_048_576, @@ -169,16 +242,8 @@ export const geminiModels = { }, ], }, - "gemini-2.0-flash-001": { - maxTokens: 8192, - contextWindow: 1_048_576, - supportsImages: true, - supportsPromptCache: true, - inputPrice: 0.1, - outputPrice: 0.4, - cacheReadsPrice: 0.025, - cacheWritesPrice: 1.0, - }, + + // 2.0 Flash models "gemini-2.0-flash-lite-preview-02-05": { maxTokens: 8192, contextWindow: 1_048_576, @@ -187,14 +252,6 @@ export const geminiModels = { inputPrice: 0, outputPrice: 0, }, - "gemini-2.0-pro-exp-02-05": { - maxTokens: 8192, - contextWindow: 2_097_152, - supportsImages: true, - supportsPromptCache: false, - inputPrice: 0, - outputPrice: 0, - }, "gemini-2.0-flash-thinking-exp-01-21": { maxTokens: 65_536, contextWindow: 1_048_576, @@ -219,6 +276,28 @@ export const geminiModels = { inputPrice: 0, outputPrice: 0, }, + "gemini-2.0-flash-001": { + maxTokens: 8192, + contextWindow: 1_048_576, + supportsImages: true, + supportsPromptCache: true, + inputPrice: 0.1, + outputPrice: 0.4, + cacheReadsPrice: 0.025, + cacheWritesPrice: 1.0, + }, + + // 2.0 Pro models + "gemini-2.0-pro-exp-02-05": { + maxTokens: 8192, + contextWindow: 2_097_152, + supportsImages: true, + supportsPromptCache: false, + inputPrice: 0, + outputPrice: 0, + }, + + // 1.5 Flash models "gemini-1.5-flash-002": { maxTokens: 8192, contextWindow: 1_048_576, @@ -259,6 +338,8 @@ export const geminiModels = { inputPrice: 0, outputPrice: 0, }, + + // 1.5 Pro models "gemini-1.5-pro-002": { maxTokens: 8192, contextWindow: 2_097_152, @@ -275,6 +356,8 @@ export const geminiModels = { inputPrice: 0, outputPrice: 0, }, + + // Experimental models "gemini-exp-1206": { maxTokens: 8192, contextWindow: 2_097_152, @@ -283,16 +366,4 @@ export const geminiModels = { inputPrice: 0, outputPrice: 0, }, - "gemini-2.5-flash-lite-preview-06-17": { - maxTokens: 64_000, - contextWindow: 1_048_576, - supportsImages: true, - supportsPromptCache: true, - inputPrice: 0.1, - outputPrice: 0.4, - cacheReadsPrice: 0.025, - cacheWritesPrice: 1.0, - supportsReasoningBudget: true, - maxThinkingTokens: 24_576, - }, } as const satisfies Record From 3e4a715a7fd3683c566607c73c242fbe7cd790bb Mon Sep 17 00:00:00 2001 From: daniel-lxs Date: Mon, 27 Oct 2025 20:45:27 -0500 Subject: [PATCH 2/2] fix: restore missing maxThinkingTokens and supportsReasoningBudget for gemini-2.5-pro-preview-03-25 Backward compatibility regression fix - these properties were accidentally removed during reorganization and are required to preserve existing reasoning-budget controls for users pinned to this model version. --- packages/types/src/providers/gemini.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/types/src/providers/gemini.ts b/packages/types/src/providers/gemini.ts index 913b5e40fa5c..aae428d90c02 100644 --- a/packages/types/src/providers/gemini.ts +++ b/packages/types/src/providers/gemini.ts @@ -192,6 +192,8 @@ export const geminiModels = { outputPrice: 15, cacheReadsPrice: 0.625, cacheWritesPrice: 4.5, + maxThinkingTokens: 32_768, + supportsReasoningBudget: true, tiers: [ { contextWindow: 200_000,