Skip to content

Commit 905b840

Browse files
jeanbispoedelauna
andauthored
feat(gemini): Gemini 3.5 Flash Support (#331)
* feat(gemini): gemini-3.5-flash support * fix(vertex): reaffirm lack of support for reasoning budget * Update packages/types/src/providers/gemini.ts Co-authored-by: edelauna <54631123+edelauna@users.noreply.github.com> * Update packages/types/src/providers/vertex.ts Co-authored-by: edelauna <54631123+edelauna@users.noreply.github.com> * fix(gemini): cov tests error --------- Co-authored-by: edelauna <54631123+edelauna@users.noreply.github.com>
1 parent 52a8cc0 commit 905b840

3 files changed

Lines changed: 28 additions & 2 deletions

File tree

packages/types/src/providers/gemini.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,19 @@ export type GeminiModelId = keyof typeof geminiModels
66
export const geminiDefaultModelId: GeminiModelId = "gemini-3.1-pro-preview"
77

88
export const geminiModels = {
9+
"gemini-3.5-flash": {
10+
maxTokens: 65_536,
11+
contextWindow: 1_048_576,
12+
supportsImages: true,
13+
supportsPromptCache: true,
14+
supportsReasoningEffort: ["minimal", "low", "medium", "high"],
15+
reasoningEffort: "medium",
16+
inputPrice: 1.5,
17+
outputPrice: 9,
18+
cacheReadsPrice: 0.15,
19+
cacheWritesPrice: 1.0,
20+
supportsReasoningBudget: false,
21+
},
922
"gemini-3.1-pro-preview": {
1023
maxTokens: 65_536,
1124
contextWindow: 1_048_576,

packages/types/src/providers/vertex.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,19 @@ export type VertexModelId = keyof typeof vertexModels
66
export const vertexDefaultModelId: VertexModelId = "claude-sonnet-4-5@20250929"
77

88
export const vertexModels = {
9+
"gemini-3.5-flash": {
10+
maxTokens: 65_536,
11+
contextWindow: 1_048_576,
12+
supportsImages: true,
13+
supportsPromptCache: true,
14+
supportsReasoningEffort: ["minimal", "low", "medium", "high"],
15+
reasoningEffort: "medium",
16+
inputPrice: 1.5,
17+
outputPrice: 9,
18+
cacheReadsPrice: 0.15,
19+
cacheWritesPrice: 1.0,
20+
supportsReasoningBudget: false,
21+
},
922
"gemini-3.1-pro-preview": {
1023
maxTokens: 65_536,
1124
contextWindow: 1_048_576,

src/api/providers/__tests__/gemini.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,12 +176,12 @@ describe("GeminiHandler", () => {
176176

177177
it("should honor a custom gemini model id not present in geminiModels (#227)", () => {
178178
const customHandler = new GeminiHandler({
179-
apiModelId: "gemini-3.5-flash",
179+
apiModelId: "gemini-9.9-nonexistent",
180180
geminiApiKey: "test-key",
181181
})
182182
const modelInfo = customHandler.getModel()
183183
// The configured id must be invoked, not silently swapped for the default.
184-
expect(modelInfo.id).toBe("gemini-3.5-flash")
184+
expect(modelInfo.id).toBe("gemini-9.9-nonexistent")
185185
expect(modelInfo.id).not.toBe(geminiDefaultModelId)
186186
// A baseline ModelInfo is provided so downstream params resolve.
187187
expect(modelInfo.info).toBeDefined()

0 commit comments

Comments
 (0)