@google/gemini-cli-core 0.45.0-preview.0 → 0.46.0-preview.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/docs/changelogs/index.md +14 -0
  2. package/dist/docs/changelogs/latest.md +202 -199
  3. package/dist/docs/changelogs/preview.md +44 -200
  4. package/dist/docs/issue-and-pr-automation.md +29 -1
  5. package/dist/docs/reference/configuration.md +69 -0
  6. package/dist/src/availability/policyCatalog.d.ts +1 -0
  7. package/dist/src/availability/policyCatalog.js +1 -1
  8. package/dist/src/availability/policyCatalog.js.map +1 -1
  9. package/dist/src/availability/policyHelpers.js +5 -1
  10. package/dist/src/availability/policyHelpers.js.map +1 -1
  11. package/dist/src/code_assist/experiments/flagNames.d.ts +1 -0
  12. package/dist/src/code_assist/experiments/flagNames.js +1 -0
  13. package/dist/src/code_assist/experiments/flagNames.js.map +1 -1
  14. package/dist/src/config/config.d.ts +6 -0
  15. package/dist/src/config/config.js +29 -5
  16. package/dist/src/config/config.js.map +1 -1
  17. package/dist/src/config/config.test.js +27 -1
  18. package/dist/src/config/config.test.js.map +1 -1
  19. package/dist/src/config/defaultModelConfigs.js +41 -0
  20. package/dist/src/config/defaultModelConfigs.js.map +1 -1
  21. package/dist/src/config/models.d.ts +8 -4
  22. package/dist/src/config/models.js +49 -11
  23. package/dist/src/config/models.js.map +1 -1
  24. package/dist/src/config/models.test.js +39 -0
  25. package/dist/src/config/models.test.js.map +1 -1
  26. package/dist/src/core/client.js +1 -1
  27. package/dist/src/core/client.js.map +1 -1
  28. package/dist/src/core/contentGenerator.js +1 -1
  29. package/dist/src/core/contentGenerator.js.map +1 -1
  30. package/dist/src/core/geminiChat.js +3 -3
  31. package/dist/src/core/geminiChat.js.map +1 -1
  32. package/dist/src/core/geminiChat.test.js +1 -0
  33. package/dist/src/core/geminiChat.test.js.map +1 -1
  34. package/dist/src/core/geminiChat_network_retry.test.js +1 -0
  35. package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
  36. package/dist/src/generated/git-commit.d.ts +2 -2
  37. package/dist/src/generated/git-commit.js +2 -2
  38. package/dist/src/prompts/promptProvider.js +2 -2
  39. package/dist/src/prompts/promptProvider.js.map +1 -1
  40. package/dist/src/routing/strategies/defaultStrategy.js +1 -1
  41. package/dist/src/routing/strategies/defaultStrategy.js.map +1 -1
  42. package/dist/src/routing/strategies/fallbackStrategy.js +1 -1
  43. package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
  44. package/dist/src/routing/strategies/overrideStrategy.js +1 -1
  45. package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
  46. package/dist/src/services/modelConfigService.d.ts +2 -0
  47. package/dist/src/services/modelConfigService.js +2 -0
  48. package/dist/src/services/modelConfigService.js.map +1 -1
  49. package/dist/src/services/modelConfigService.test.js +57 -0
  50. package/dist/src/services/modelConfigService.test.js.map +1 -1
  51. package/dist/src/services/shellExecutionService.js +31 -17
  52. package/dist/src/services/shellExecutionService.js.map +1 -1
  53. package/dist/src/services/test-data/resolved-aliases-retry.golden.json +19 -0
  54. package/dist/src/services/test-data/resolved-aliases.golden.json +19 -0
  55. package/dist/src/tools/shell.js +18 -13
  56. package/dist/src/tools/shell.js.map +1 -1
  57. package/dist/tsconfig.tsbuildinfo +1 -1
  58. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
- # Preview release: v0.44.0-preview.0
1
+ # Preview release: v0.45.0-preview.0
2
2
 
3
- Released: May 22, 2026
3
+ Released: May 27, 2026
4
4
 
5
5
  Our preview release includes the latest, new, and experimental features. This
6
6
  release may not be as stable as our [latest weekly release](latest.md).
@@ -13,208 +13,52 @@ npm install -g @google/gemini-cli@preview
13
13
 
14
14
  ## Highlights
15
15
 
16
- - **Simplified Modes:** Merged existing Auto modes into a single, unified Auto
17
- mode for a more streamlined user experience.
18
- - **Enhanced Agent Registration:** Improved agent registration logic to
19
- prioritize project-specific agents using a first-wins strategy.
20
- - **New Developer Skills:** Introduced `agent-tui` and `tui-tester` skills to
21
- empower developers with better terminal UI testing and automation
22
- capabilities.
23
- - **Expanded Editor Support:** Added support for Sublime Text and Emacs Client,
24
- providing more flexibility for external editing tasks.
25
- - **Session Management:** Added new session invocation types
26
- (`LocalSessionInvocation`, `RemoteSessionInvocation`) and improved context
27
- recovery across sessions.
16
+ - **Context Simplification:** Completed major architectural work to simplify and
17
+ optimize how the agent manages and processes session context.
18
+ - **A2A Usage Metadata:** The Agent-to-Agent (A2A) interface now exposes
19
+ detailed usage metadata, providing better visibility into resource
20
+ consumption.
21
+ - **Improved Routing:** Updated default auto-routing logic and added bypasses
22
+ for certain routing classifiers to prevent orphaned function response errors.
23
+ - **Terminal Stability:** Fixed several issues affecting terminal environments,
24
+ including Termux relaunch loops and PTY resize errors.
25
+ - **Security & Fixes:** Strengthened MCP list security and addressed issues with
26
+ session resumption and PTY environment signals.
28
27
 
29
28
  ## What's Changed
30
29
 
31
- - chore(release): bump version to 0.44.0-nightly.20260512.g022e8baef by
30
+ - chore(release): bump version to 0.45.0-nightly.20260521.g854f811be by
32
31
  @gemini-cli-robot in
33
- [#26957](https://github.com/google-gemini/gemini-cli/pull/26957)
34
- - Changelog for v0.42.0 by @gemini-cli-robot in
35
- [#26958](https://github.com/google-gemini/gemini-cli/pull/26958)
36
- - Refactor: Eliminate `no-unsafe-return` suppressions via strict type validation
37
- by @M-DEV-1 in
38
- [#20668](https://github.com/google-gemini/gemini-cli/pull/20668)
39
- - Changelog for v0.43.0-preview.0 by @gemini-cli-robot in
40
- [#26959](https://github.com/google-gemini/gemini-cli/pull/26959)
41
- - feat(core): change agent registration to first-wins and prioritize project by
42
- @adamfweidman in
43
- [#26953](https://github.com/google-gemini/gemini-cli/pull/26953)
44
- - feat(cli): merge Auto modes into a single Auto mode by @DavidAPierce in
45
- [#26714](https://github.com/google-gemini/gemini-cli/pull/26714)
46
- - fix(core): preserve OAuth refresh tokens during rotation and retrieval by
47
- @cocosheng-g in
48
- [#26924](https://github.com/google-gemini/gemini-cli/pull/26924)
49
- - fix(cli): allow keychain auth for --list-sessions and non-interactive mode by
50
- @cocosheng-g in
51
- [#26921](https://github.com/google-gemini/gemini-cli/pull/26921)
52
- - fix(core): handle EISDIR on virtual drives in memory discovery by @cocosheng-g
53
- in [#26985](https://github.com/google-gemini/gemini-cli/pull/26985)
54
- - fix(cli): auto-approve shell redirections in AUTO_EDIT mode by @cocosheng-g in
55
- [#27003](https://github.com/google-gemini/gemini-cli/pull/27003)
56
- - ci: suppress bot comments during standard triage maintenance by @cocosheng-g
57
- in [#27006](https://github.com/google-gemini/gemini-cli/pull/27006)
58
- - fix(core): refresh MCP OAuth token usage after re-auth by @sahilkirad in
59
- [#26312](https://github.com/google-gemini/gemini-cli/pull/26312)
60
- - fix(ui): clamped table column widths by @devr0306 in
61
- [#26991](https://github.com/google-gemini/gemini-cli/pull/26991)
62
- - fix(core): isolate subagent thread context by @akh64bit in
63
- [#26449](https://github.com/google-gemini/gemini-cli/pull/26449)
64
- - chore: add execution permission to scripts/review.sh by @scidomino in
65
- [#27009](https://github.com/google-gemini/gemini-cli/pull/27009)
66
- - fix(core): made context files append instead of replace by @devr0306 in
67
- [#26950](https://github.com/google-gemini/gemini-cli/pull/26950)
68
- - fix: add system PATH fallback for ripgrep resolution (#26777) by @cocosheng-g
69
- in [#26868](https://github.com/google-gemini/gemini-cli/pull/26868)
70
- - chore: clean up launched memory features by @SandyTao520 in
71
- [#26941](https://github.com/google-gemini/gemini-cli/pull/26941)
72
- - fix(core): throttle shell text output and bound live UI buffer by
73
- @emersonbusson in
74
- [#26955](https://github.com/google-gemini/gemini-cli/pull/26955)
75
- - fix(cli): don't crash when an @-mention captures a non-path blob by @ifitisit
76
- in [#25980](https://github.com/google-gemini/gemini-cli/pull/25980)
77
- - fix(core): ensure stable fallback for restricted preview models by @galz10 in
78
- [#26999](https://github.com/google-gemini/gemini-cli/pull/26999)
79
- - feat(core): expose RAG snippets to local log file for debugging by @spencer426
80
- in [#27016](https://github.com/google-gemini/gemini-cli/pull/27016)
81
- - fix(acp/auth): prevent conflicting credentials on enterprise gateways and
82
- support optional API keys natively by @sripasg in
83
- [#27021](https://github.com/google-gemini/gemini-cli/pull/27021)
84
- - fix(core): respect NO_PROXY for network-based MCP servers by @cocosheng-g in
85
- [#27012](https://github.com/google-gemini/gemini-cli/pull/27012)
86
- - fix(cli): resolve permission denied in sandbox on NixOS and other distros by
87
- @cocosheng-g in
88
- [#27004](https://github.com/google-gemini/gemini-cli/pull/27004)
89
- - fix(ui): preserve new line at the end of edit window by @devr0306 in
90
- [#27057](https://github.com/google-gemini/gemini-cli/pull/27057)
91
- - fix(core): ensure Vertex AI sets hasAccessToPreviewModels and remove
92
- aggressive 404 fallback revocation by @galz10 in
93
- [#27067](https://github.com/google-gemini/gemini-cli/pull/27067)
94
- - fix(core): ensure stable admin settings comparison across IPC to prevent
95
- restart loop by @DavidAPierce in
96
- [#27066](https://github.com/google-gemini/gemini-cli/pull/27066)
97
- - fix(deps): update vulnerable dependencies by @scidomino in
98
- [#27062](https://github.com/google-gemini/gemini-cli/pull/27062)
99
- - fix(core): resolve EISDIR errors during file processing (#21527) by @ProthamD
100
- in [#27041](https://github.com/google-gemini/gemini-cli/pull/27041)
101
- - docs(extensions): clarify env var sanitization policy for MCP and ext… by
102
- @galz10 in [#22854](https://github.com/google-gemini/gemini-cli/pull/22854)
103
- - fix(ui): add ENAMETOOLONG and ENOTDIR to exceptions for file parsing errors by
104
- @devr0306 in [#27069](https://github.com/google-gemini/gemini-cli/pull/27069)
105
- - fix(cli): explicitly clear entrypoint when spawning sandbox container by
106
- @cocosheng-g in
107
- [#27059](https://github.com/google-gemini/gemini-cli/pull/27059)
108
- - docs: update sandbox image command by @sjhddh in
109
- [#26774](https://github.com/google-gemini/gemini-cli/pull/26774)
110
- - fix(core): externalize https-proxy-agent to fix proxy support by @sotokisehiro
111
- in [#26361](https://github.com/google-gemini/gemini-cli/pull/26361)
112
- - security: update dependencies to fix critical and high vulnerabilities by
113
- @scidomino in [#27077](https://github.com/google-gemini/gemini-cli/pull/27077)
114
- - Fix/web fetch ctrl c abort by @ProthamD in
115
- [#24320](https://github.com/google-gemini/gemini-cli/pull/24320)
116
- - fix(core): add aliases and thinking config for gemini-3.1 models by
117
- @anishs1207 in
118
- [#27007](https://github.com/google-gemini/gemini-cli/pull/27007)
119
- - fix(core): use hasAccessToPreview for auto model resolution and fix
120
- disappearing models by @DavidAPierce in
121
- [#27112](https://github.com/google-gemini/gemini-cli/pull/27112)
122
- - feat(core): add adk.agentSessionSubagentEnabled flag by @adamfweidman in
123
- [#26947](https://github.com/google-gemini/gemini-cli/pull/26947)
124
- - fix(core): enforce compile-time exhaustiveness in content-utils by
125
- @adamfweidman in
126
- [#27207](https://github.com/google-gemini/gemini-cli/pull/27207)
127
- - feat(skills): add agent-tui and tui-tester skills by @adamfweidman in
128
- [#27121](https://github.com/google-gemini/gemini-cli/pull/27121)
129
- - fix(context): Fix snapshot recovery across sessions. by @joshualitt in
130
- [#26939](https://github.com/google-gemini/gemini-cli/pull/26939)
131
- - fix(core): add unit tests for stableStringify by @devr0306 in
132
- [#27212](https://github.com/google-gemini/gemini-cli/pull/27212)
133
- - fix(core): prefer pwsh.exe over Windows PowerShell 5.1 (#25859) by @kaluchi in
134
- [#25900](https://github.com/google-gemini/gemini-cli/pull/25900)
135
- - feat(core): add LocalSessionInvocation by @adamfweidman in
136
- [#26665](https://github.com/google-gemini/gemini-cli/pull/26665)
137
- - refactor: decouple auto model description and configuration from
138
- releaseChannel by @danielweis in
139
- [#27227](https://github.com/google-gemini/gemini-cli/pull/27227)
140
- - fix(core): prevent isBinary false-positive on Windows PTY streams by
141
- @TirthNaik-99 in
142
- [#26565](https://github.com/google-gemini/gemini-cli/pull/26565)
143
- - fix(cli): Prevent unmapped keys in Vim Normal mode from inserting text into
144
- prompt Input. by @Rajeshpatel07 in
145
- [#25139](https://github.com/google-gemini/gemini-cli/pull/25139)
146
- - fix(a2a-server): Implement default policy loading for parity with CLI by
147
- @kschaab in [#27073](https://github.com/google-gemini/gemini-cli/pull/27073)
148
- - feat(core): add RemoteSessionInvocation by @adamfweidman in
149
- [#26937](https://github.com/google-gemini/gemini-cli/pull/26937)
150
- - fix: allow configured MCP servers in non-interactive mode by @cocosheng-g in
151
- [#27215](https://github.com/google-gemini/gemini-cli/pull/27215)
152
- - fix(core): add exception handling to migrateFromFileStorage by @devr0306 in
153
- [#27229](https://github.com/google-gemini/gemini-cli/pull/27229)
154
- - fix(cli): bundle ink worker-entry.js by @rmedranollamas in
155
- [#27249](https://github.com/google-gemini/gemini-cli/pull/27249)
156
- - feat(core): wire AgentSession invocations into agent-tool by @adamfweidman in
157
- [#26948](https://github.com/google-gemini/gemini-cli/pull/26948)
158
- - fix(core): prevent path traversal in custome command file injection by
159
- @ompatel-aiml in
160
- [#27234](https://github.com/google-gemini/gemini-cli/pull/27234)
161
- - fix(core): respect NO_PROXY in global fetch dispatcher by @cocosheng-g in
162
- [#27216](https://github.com/google-gemini/gemini-cli/pull/27216)
163
- - fix(core): correctly handle nullable array types in MCP tools by @devr0306 in
164
- [#27228](https://github.com/google-gemini/gemini-cli/pull/27228)
165
- - fix(cli): preserve proxy-agent named exports in ESM bundle by @ashishch432 in
166
- [#27145](https://github.com/google-gemini/gemini-cli/pull/27145)
167
- - Proposal: deterministic encoding for child-process I/O by @kaluchi in
168
- [#27247](https://github.com/google-gemini/gemini-cli/pull/27247)
169
- - feat(cli): add Sublime Text and Emacs Client editors, improve error messages
170
- and documentation by @alberti42 in
171
- [#21090](https://github.com/google-gemini/gemini-cli/pull/21090)
172
- - Changelog for v0.43.0-preview.1 by @gemini-cli-robot in
173
- [#27297](https://github.com/google-gemini/gemini-cli/pull/27297)
174
- - fix(devtools): bundle devtools package to avoid resolution errors by
32
+ [#27362](https://github.com/google-gemini/gemini-cli/pull/27362)
33
+ - fix(cli): prevent Termux relaunch and resize remount loops by @saymanq in
34
+ [#27110](https://github.com/google-gemini/gemini-cli/pull/27110)
35
+ - Feat/a2a expose usage metadata by @jvargassanchez-dot in
36
+ [#27288](https://github.com/google-gemini/gemini-cli/pull/27288)
37
+ - feat(context): Complete simplification work. by @joshualitt in
38
+ [#27345](https://github.com/google-gemini/gemini-cli/pull/27345)
39
+ - fix(core): force update_topic tool to execute sequentially by
40
+ @jvargassanchez-dot in
41
+ [#27357](https://github.com/google-gemini/gemini-cli/pull/27357)
42
+ - Changelog for v0.44.0-preview.0 by @gemini-cli-robot in
43
+ [#27360](https://github.com/google-gemini/gemini-cli/pull/27360)
44
+ - Changelog for v0.43.0 by @gemini-cli-robot in
45
+ [#27361](https://github.com/google-gemini/gemini-cli/pull/27361)
46
+ - Revert "fix(core): prevent SIGHUP kills in PTY environments" by @bbiggs in
47
+ [#27401](https://github.com/google-gemini/gemini-cli/pull/27401)
48
+ - fix(cli): filter internal session context from history during resumption by
175
49
  @rmedranollamas in
176
- [#27250](https://github.com/google-gemini/gemini-cli/pull/27250)
177
- - fix(cli): integrate PolicyEngine into ACP session to prevent deadlocks
178
- (#23507) by @cocosheng-g in
179
- [#27252](https://github.com/google-gemini/gemini-cli/pull/27252)
180
- - fix: robust ripgrep path resolution and 1p hermetic execution support by
181
- @cocosheng-g in
182
- [#27253](https://github.com/google-gemini/gemini-cli/pull/27253)
183
- - refactor: decouple stored session deletion from ChatRecordingService (#22920)
184
- by @yuvrajangadsingh in
185
- [#27039](https://github.com/google-gemini/gemini-cli/pull/27039)
186
- - fix(core): improve Alpine shell compatibility by @dibyx in
187
- [#26770](https://github.com/google-gemini/gemini-cli/pull/26770)
188
- - fix(core): generalize MCP compliance fix for tool results by @cocosheng-g in
189
- [#27045](https://github.com/google-gemini/gemini-cli/pull/27045)
190
- - fix(scripts): scrub CI env vars in dev to keep interactive mode by @Hashaam101
191
- in [#27159](https://github.com/google-gemini/gemini-cli/pull/27159)
192
- - fix(core): Added date field for the GCal MCP by @devr0306 in
193
- [#27251](https://github.com/google-gemini/gemini-cli/pull/27251)
194
- - fix(core): centralize path validation to prevent crashes from malformed
195
- prompts by @cocosheng-g in
196
- [#27211](https://github.com/google-gemini/gemini-cli/pull/27211)
197
- - fix(core): prevent SIGHUP kills in PTY environments (WSL2/Kitty/Alacritty) by
198
- @ProthamD in [#27267](https://github.com/google-gemini/gemini-cli/pull/27267)
199
- - fix(core): dynamic fallback routing for exhausted quota models by @cocosheng-g
200
- in [#27315](https://github.com/google-gemini/gemini-cli/pull/27315)
201
- - Auto detect pnpm global installation path for macOS and Windows by @tisonkun
202
- in [#22748](https://github.com/google-gemini/gemini-cli/pull/22748)
203
- - fix(windows): resolve interactive shell arrow-key navigation on Windows by
204
- @KumarADITHYA123 in
205
- [#23505](https://github.com/google-gemini/gemini-cli/pull/23505)
206
- - ci: robust stale issue lifecycle and consolidated triage labels by
207
- @cocosheng-g in
208
- [#27015](https://github.com/google-gemini/gemini-cli/pull/27015)
209
- - fix(context): Ensure last message is processed. by @joshualitt in
210
- [#27232](https://github.com/google-gemini/gemini-cli/pull/27232)
211
- - chore/release: bump version to 0.44.0-nightly.20260521.g57c42a5c4 by
212
- @gemini-cli-robot in
213
- [#27324](https://github.com/google-gemini/gemini-cli/pull/27324)
214
- - fix(ui): added volta to auto update check by @devr0306 in
215
- [#27353](https://github.com/google-gemini/gemini-cli/pull/27353)
216
- - perf: optimize issue triage and lifecycle management by @cocosheng-g in
217
- [#27346](https://github.com/google-gemini/gemini-cli/pull/27346)
50
+ [#27391](https://github.com/google-gemini/gemini-cli/pull/27391)
51
+ - Update default auto routing by @DavidAPierce in
52
+ [#27071](https://github.com/google-gemini/gemini-cli/pull/27071)
53
+ - fix(core): bypass routing classifiers to prevent orphaned function response
54
+ errors by @danielweis in
55
+ [#27389](https://github.com/google-gemini/gemini-cli/pull/27389)
56
+ - fix(core): suppress PTY resize EBADF errors by @scidomino in
57
+ [#27461](https://github.com/google-gemini/gemini-cli/pull/27461)
58
+ - fix(core): prevent blacklist bypass in mcp list by @ompatel-aiml in
59
+ [#27377](https://github.com/google-gemini/gemini-cli/pull/27377)
60
+ - fix(cli): ignore unmapped vim normal keys by @MukundaKatta in
61
+ [#27102](https://github.com/google-gemini/gemini-cli/pull/27102)
218
62
 
219
63
  **Full Changelog**:
220
- https://github.com/google-gemini/gemini-cli/compare/v0.43.0-preview.1...v0.44.0-preview.0
64
+ https://github.com/google-gemini/gemini-cli/compare/v0.44.0-preview.0...v0.45.0-preview.0
@@ -154,7 +154,35 @@ and will never be auto-unassigned.
154
154
  - **Unassign yourself** if you can no longer work on the issue by commenting
155
155
  `/unassign`, so other contributors can pick it up right away.
156
156
 
157
- ### 6. Release automation
157
+ ### 6. Automatically label PRs by size: `PR Size Labeler`
158
+
159
+ To help maintainers estimate review effort and keep the PR history clean, this
160
+ workflow automatically tags every pull request with a size label representing
161
+ the total volume of line changes.
162
+
163
+ - **Workflow File**: `.github/workflows/pr-size-labeler.yml`
164
+ - **When it runs**: Immediately after a pull request is created, synchronized
165
+ (new commits pushed), or reopened. It can also be triggered manually via
166
+ `workflow_dispatch` with a PR number.
167
+ - **What it does**:
168
+ - **Calculates total changes**: Summarizes additions and deletions across all
169
+ changed files in a single consolidated API request.
170
+ - **Applies standard size labels**:
171
+ - `size/XS`: < 10 lines changed
172
+ - `size/S`: 10-49 lines changed
173
+ - `size/M`: 50-249 lines changed
174
+ - `size/L`: 250-999 lines changed
175
+ - `size/XL`: >= 1000 lines changed
176
+ - **Updates size tag atomically**: Adds the new correct size label and removes
177
+ any obsolete size labels in one atomic step.
178
+ - **Updates/Posts PR size info comment**: Instead of spamming a new comment on
179
+ every commit push, it updates the existing size labeler status comment
180
+ inline to keep the PR conversation timeline perfectly neat and clean.
181
+ - **What you should do**:
182
+ - You do not need to take any actions. The workflow runs automatically and
183
+ updates the label and comment seamlessly as you push new updates.
184
+
185
+ ### 7. Release automation
158
186
 
159
187
  This workflow handles the process of packaging and publishing new versions of
160
188
  Gemini CLI.
@@ -602,6 +602,12 @@ their corresponding top-level category object in your `settings.json` file.
602
602
  "model": "gemini-3.1-flash-lite"
603
603
  }
604
604
  },
605
+ "gemini-3.5-flash": {
606
+ "extends": "chat-base-3",
607
+ "modelConfig": {
608
+ "model": "gemini-3.5-flash"
609
+ }
610
+ },
605
611
  "gemma-4-31b-it": {
606
612
  "extends": "chat-base-3",
607
613
  "modelConfig": {
@@ -626,6 +632,12 @@ their corresponding top-level category object in your `settings.json` file.
626
632
  "model": "gemini-3-flash-preview"
627
633
  }
628
634
  },
635
+ "gemini-3.5-flash-base": {
636
+ "extends": "base",
637
+ "modelConfig": {
638
+ "model": "gemini-3.5-flash"
639
+ }
640
+ },
629
641
  "classifier": {
630
642
  "extends": "base",
631
643
  "modelConfig": {
@@ -868,6 +880,16 @@ their corresponding top-level category object in your `settings.json` file.
868
880
  "multimodalToolUse": true
869
881
  }
870
882
  },
883
+ "gemini-3.5-flash": {
884
+ "tier": "flash",
885
+ "family": "gemini-3",
886
+ "isPreview": false,
887
+ "isVisible": true,
888
+ "features": {
889
+ "thinking": false,
890
+ "multimodalToolUse": true
891
+ }
892
+ },
871
893
  "gemini-2.5-pro": {
872
894
  "tier": "pro",
873
895
  "family": "gemini-2.5",
@@ -1020,9 +1042,44 @@ their corresponding top-level category object in your `settings.json` file.
1020
1042
  "contexts": [
1021
1043
  {
1022
1044
  "condition": {
1045
+ "useGemini3_5Flash": true
1046
+ },
1047
+ "target": "gemini-3.5-flash"
1048
+ },
1049
+ {
1050
+ "condition": {
1051
+ "hasAccessToPreview": false
1052
+ },
1053
+ "target": "gemini-2.5-flash"
1054
+ }
1055
+ ]
1056
+ },
1057
+ "gemini-3.5-flash": {
1058
+ "default": "gemini-3.5-flash",
1059
+ "contexts": [
1060
+ {
1061
+ "condition": {
1062
+ "useGemini3_5Flash": false,
1023
1063
  "hasAccessToPreview": false
1024
1064
  },
1025
1065
  "target": "gemini-2.5-flash"
1066
+ },
1067
+ {
1068
+ "condition": {
1069
+ "useGemini3_5Flash": false
1070
+ },
1071
+ "target": "gemini-3-flash-preview"
1072
+ }
1073
+ ]
1074
+ },
1075
+ "gemini-2.5-flash": {
1076
+ "default": "gemini-2.5-flash",
1077
+ "contexts": [
1078
+ {
1079
+ "condition": {
1080
+ "useGemini3_5Flash": true
1081
+ },
1082
+ "target": "gemini-3.5-flash"
1026
1083
  }
1027
1084
  ]
1028
1085
  },
@@ -1104,6 +1161,12 @@ their corresponding top-level category object in your `settings.json` file.
1104
1161
  "flash": {
1105
1162
  "default": "gemini-3-flash-preview",
1106
1163
  "contexts": [
1164
+ {
1165
+ "condition": {
1166
+ "useGemini3_5Flash": true
1167
+ },
1168
+ "target": "gemini-3.5-flash"
1169
+ },
1107
1170
  {
1108
1171
  "condition": {
1109
1172
  "hasAccessToPreview": false
@@ -1157,6 +1220,12 @@ their corresponding top-level category object in your `settings.json` file.
1157
1220
  "flash": {
1158
1221
  "default": "gemini-3-flash-preview",
1159
1222
  "contexts": [
1223
+ {
1224
+ "condition": {
1225
+ "useGemini3_5Flash": true
1226
+ },
1227
+ "target": "gemini-3.5-flash"
1228
+ },
1160
1229
  {
1161
1230
  "condition": {
1162
1231
  "hasAccessToPreview": false
@@ -12,6 +12,7 @@ export interface ModelPolicyOptions {
12
12
  useGemini31?: boolean;
13
13
  useGemini31FlashLite?: boolean;
14
14
  useCustomToolModel?: boolean;
15
+ useGemini3_5Flash?: boolean;
15
16
  }
16
17
  export declare const SILENT_ACTIONS: ModelPolicyActionMap;
17
18
  /**
@@ -51,7 +51,7 @@ const FLASH_LITE_CHAIN = [
51
51
  export function getModelPolicyChain(options) {
52
52
  const isAuto = options.isAutoSelection ?? false;
53
53
  if (options.previewEnabled) {
54
- const proModel = resolveModel(PREVIEW_GEMINI_MODEL, options.useGemini31, options.useCustomToolModel);
54
+ const proModel = resolveModel(PREVIEW_GEMINI_MODEL, options.useGemini31, options.useCustomToolModel, true, undefined, options.useGemini3_5Flash);
55
55
  return [
56
56
  definePolicy({
57
57
  model: proModel,
@@ -1 +1 @@
1
- {"version":3,"file":"policyCatalog.js","sourceRoot":"","sources":["../../../src/availability/policyCatalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policyCatalog.js","sourceRoot":"","sources":["../../../src/availability/policyCatalog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,EAC1B,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,YAAY,GACb,MAAM,qBAAqB,CAAC;AAmB7B,MAAM,eAAe,GAAyB;IAC5C,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE,QAAQ;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAyB;IAClD,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE,QAAQ;CAClB,CAAC;AAEF,MAAM,aAAa,GAAwB;IACzC,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,UAAU;IACrB,OAAO,EAAE,UAAU;CACpB,CAAC;AAEF,MAAM,sBAAsB,GAAG;IAC7B,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,EAAE,GAAG,eAAe,EAAE,SAAS,EAAE,QAAQ,EAA0B;IAC5E,gBAAgB,EAAE;QAChB,GAAG,aAAa;QAChB,SAAS,EAAE,cAAc;KACH;CACzB,CAAC;AAEF,MAAM,gBAAgB,GAAqB;IACzC,YAAY,CAAC;QACX,KAAK,EAAE,+BAA+B;QACtC,OAAO,EAAE,cAAc;KACxB,CAAC;IACF,YAAY,CAAC;QACX,KAAK,EAAE,0BAA0B;QACjC,OAAO,EAAE,cAAc;KACxB,CAAC;IACF,YAAY,CAAC;QACX,KAAK,EAAE,oBAAoB;QAC3B,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,cAAc;KACxB,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAA2B;IAE3B,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,IAAI,KAAK,CAAC;IAEhD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,YAAY,CAC3B,oBAAoB,EACpB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,kBAAkB,EAC1B,IAAI,EACJ,SAAS,EACT,OAAO,CAAC,iBAAiB,CAC1B,CAAC;QACF,OAAO;YACL,YAAY,CAAC;gBACX,KAAK,EAAE,QAAQ;gBACf,GAAG,CAAC,MAAM;oBACR,CAAC,CAAC;wBACE,WAAW,EAAE,CAAC;wBACd,OAAO,EAAE,EAAE,GAAG,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE;wBACpD,gBAAgB,EAAE,EAAE,GAAG,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE;qBAClE;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;YACF,YAAY,CAAC;gBACX,KAAK,EAAE,0BAA0B;gBACjC,YAAY,EAAE,IAAI;gBAClB,WAAW,EAAE,EAAE;aAChB,CAAC;SACH,CAAC;IACJ,CAAC;IAED,OAAO;QACL,YAAY,CAAC;YACX,KAAK,EAAE,oBAAoB;YAC3B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,CAAC;QACF,YAAY,CAAC;YACX,KAAK,EAAE,0BAA0B;YACjC,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,EAAE;SAChB,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,OAAO,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,UAAU,CAAC,gBAAgB,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,OAAoC;IAEpC,OAAO,YAAY,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAuB;IAC9D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;IAC7E,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,MAAoB;IACxC,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,EAAE,GAAG,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE;QAC1D,gBAAgB,EAAE;YAChB,GAAG,aAAa;YAChB,GAAG,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;SACnC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,MAAmB;IACtC,OAAO;QACL,GAAG,MAAM;QACT,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE;QAC9B,gBAAgB,EAAE,EAAE,GAAG,MAAM,CAAC,gBAAgB,EAAE;KACjD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAuB;IACzC,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC"}
@@ -21,9 +21,10 @@ export function resolvePolicyChain(config, preferredModel, wrapsAround = false)
21
21
  const useGemini31 = config.getGemini31LaunchedSync?.() ?? false;
22
22
  const useCustomToolModel = config.getUseCustomToolModelSync?.() ?? false;
23
23
  const hasAccessToPreview = config.getHasAccessToPreviewModel?.() ?? false;
24
+ const useGemini3_5Flash = config.hasGemini35FlashGAAccess?.() ?? false;
24
25
  // Capture the original family intent before any normalization or early downgrade.
25
26
  const isOriginallyGemini3 = isGemini3Model(modelFromConfig, config);
26
- const resolvedModel = normalizeModelId(resolveModel(modelFromConfig, useGemini31, useCustomToolModel, hasAccessToPreview, config));
27
+ const resolvedModel = normalizeModelId(resolveModel(modelFromConfig, useGemini31, useCustomToolModel, hasAccessToPreview, config, useGemini3_5Flash));
27
28
  const isAutoPreferred = normalizedPreferredModel
28
29
  ? isAutoModel(normalizedPreferredModel, config)
29
30
  : false;
@@ -36,6 +37,7 @@ export function resolvePolicyChain(config, preferredModel, wrapsAround = false)
36
37
  const context = {
37
38
  useGemini3_1: useGemini31,
38
39
  useCustomTools: useCustomToolModel,
40
+ useGemini3_5Flash,
39
41
  };
40
42
  if (resolvedModel === DEFAULT_GEMINI_FLASH_LITE_MODEL) {
41
43
  chain = config.modelConfigService.resolveChain('lite', context);
@@ -81,6 +83,7 @@ export function resolvePolicyChain(config, preferredModel, wrapsAround = false)
81
83
  userTier: config.getUserTier(),
82
84
  useGemini31,
83
85
  useCustomToolModel,
86
+ useGemini3_5Flash,
84
87
  });
85
88
  }
86
89
  else {
@@ -92,6 +95,7 @@ export function resolvePolicyChain(config, preferredModel, wrapsAround = false)
92
95
  userTier: config.getUserTier(),
93
96
  useGemini31,
94
97
  useCustomToolModel,
98
+ useGemini3_5Flash,
95
99
  });
96
100
  }
97
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"policyHelpers.js","sourceRoot":"","sources":["../../../src/availability/policyHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policyHelpers.js","sourceRoot":"","sources":["../../../src/availability/policyHelpers.ts"],"names":[],"mappings":"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"}
@@ -18,5 +18,6 @@ export declare const ExperimentFlags: {
18
18
  readonly GEMINI_3_1_PRO_LAUNCHED: 45760185;
19
19
  readonly PRO_MODEL_NO_ACCESS: 45768879;
20
20
  readonly DEFAULT_REQUEST_TIMEOUT: 45773134;
21
+ readonly GEMINI_3_5_FLASH_GA_LAUNCHED: 45780819;
21
22
  };
22
23
  export type ExperimentFlagName = (typeof ExperimentFlags)[keyof typeof ExperimentFlags];
@@ -18,5 +18,6 @@ export const ExperimentFlags = {
18
18
  GEMINI_3_1_PRO_LAUNCHED: 45760185,
19
19
  PRO_MODEL_NO_ACCESS: 45768879,
20
20
  DEFAULT_REQUEST_TIMEOUT: 45773134,
21
+ GEMINI_3_5_FLASH_GA_LAUNCHED: 45780819,
21
22
  };
22
23
  //# sourceMappingURL=flagNames.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flagNames.js","sourceRoot":"","sources":["../../../../src/code_assist/experiments/flagNames.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,6BAA6B,EAAE,QAAQ;IACvC,YAAY,EAAE,QAAQ;IACtB,8BAA8B,EAAE,QAAQ;IACxC,2BAA2B,EAAE,QAAQ;IACrC,cAAc,EAAE,QAAQ;IACxB,wBAAwB,EAAE,QAAQ;IAClC,oBAAoB,EAAE,QAAQ;IAC9B,qBAAqB,EAAE,QAAQ;IAC/B,4BAA4B,EAAE,QAAQ;IACtC,0BAA0B,EAAE,QAAQ;IACpC,2BAA2B,EAAE,QAAQ;IACrC,uBAAuB,EAAE,QAAQ;IACjC,mBAAmB,EAAE,QAAQ;IAC7B,uBAAuB,EAAE,QAAQ;CACzB,CAAC"}
1
+ {"version":3,"file":"flagNames.js","sourceRoot":"","sources":["../../../../src/code_assist/experiments/flagNames.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,6BAA6B,EAAE,QAAQ;IACvC,YAAY,EAAE,QAAQ;IACtB,8BAA8B,EAAE,QAAQ;IACxC,2BAA2B,EAAE,QAAQ;IACrC,cAAc,EAAE,QAAQ;IACxB,wBAAwB,EAAE,QAAQ;IAClC,oBAAoB,EAAE,QAAQ;IAC9B,qBAAqB,EAAE,QAAQ;IAC/B,4BAA4B,EAAE,QAAQ;IACtC,0BAA0B,EAAE,QAAQ;IACpC,2BAA2B,EAAE,QAAQ;IACrC,uBAAuB,EAAE,QAAQ;IACjC,mBAAmB,EAAE,QAAQ;IAC7B,uBAAuB,EAAE,QAAQ;IACjC,4BAA4B,EAAE,QAAQ;CAC9B,CAAC"}
@@ -1141,6 +1141,12 @@ export declare class Config implements McpContext, AgentLoopContext {
1141
1141
  */
1142
1142
  getUseCustomToolModelSync(): boolean;
1143
1143
  private isGemini31LaunchedForAuthType;
1144
+ /**
1145
+ * Returns whether Gemini 3.5 Flash GA has been launched.
1146
+ *
1147
+ * Note: This method should only be called after startup, once experiments have been loaded.
1148
+ */
1149
+ hasGemini35FlashGAAccess(): boolean;
1144
1150
  /**
1145
1151
  * Returns whether Gemini 3.1 has been launched.
1146
1152
  *
@@ -45,7 +45,7 @@ import { SandboxedFileSystemService } from '../services/sandboxedFileSystemServi
45
45
  import { initializeTelemetry, DEFAULT_TELEMETRY_TARGET, DEFAULT_OTLP_ENDPOINT, uiTelemetryService, } from '../telemetry/index.js';
46
46
  import { coreEvents, CoreEvent } from '../utils/events.js';
47
47
  import { tokenLimit } from '../core/tokenLimits.js';
48
- import { DEFAULT_GEMINI_EMBEDDING_MODEL, DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_MODEL_AUTO, isAutoModel, isPreviewModel, isGemini2Model, PREVIEW_GEMINI_FLASH_MODEL, resolveModel, } from './models.js';
48
+ import { DEFAULT_GEMINI_EMBEDDING_MODEL, DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_MODEL_AUTO, isAutoModel, isPreviewModel, isGemini2Model, PREVIEW_GEMINI_FLASH_MODEL, resolveModel, setFlashModels, } from './models.js';
49
49
  import { shouldAttemptBrowserLaunch } from '../utils/browser.js';
50
50
  import { ideContextStore } from '../ide/ideContext.js';
51
51
  import { WriteTodosTool } from '../tools/write-todos.js';
@@ -1240,7 +1240,7 @@ export class Config {
1240
1240
  if (!isAutoModel(model, this)) {
1241
1241
  return {};
1242
1242
  }
1243
- const primaryModel = resolveModel(model, this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this);
1243
+ const primaryModel = resolveModel(model, this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasGemini35FlashGAAccess());
1244
1244
  const isPreview = isPreviewModel(primaryModel, this);
1245
1245
  const proModel = primaryModel;
1246
1246
  const flashModel = isPreview
@@ -1267,7 +1267,7 @@ export class Config {
1267
1267
  if (pooled.remaining !== undefined) {
1268
1268
  return pooled.remaining;
1269
1269
  }
1270
- const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this);
1270
+ const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasGemini35FlashGAAccess());
1271
1271
  return this.modelQuotas.get(primaryModel)?.remaining;
1272
1272
  }
1273
1273
  getQuotaLimit() {
@@ -1275,7 +1275,7 @@ export class Config {
1275
1275
  if (pooled.limit !== undefined) {
1276
1276
  return pooled.limit;
1277
1277
  }
1278
- const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this);
1278
+ const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasGemini35FlashGAAccess());
1279
1279
  return this.modelQuotas.get(primaryModel)?.limit;
1280
1280
  }
1281
1281
  getQuotaResetTime() {
@@ -1283,7 +1283,7 @@ export class Config {
1283
1283
  if (pooled.resetTime !== undefined) {
1284
1284
  return pooled.resetTime;
1285
1285
  }
1286
- const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this);
1286
+ const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasGemini35FlashGAAccess());
1287
1287
  return this.modelQuotas.get(primaryModel)?.resetTime;
1288
1288
  }
1289
1289
  getEmbeddingModel() {
@@ -2351,6 +2351,30 @@ export class Config {
2351
2351
  authType === AuthType.USE_VERTEX_AI ||
2352
2352
  authType === AuthType.GATEWAY);
2353
2353
  }
2354
+ /**
2355
+ * Returns whether Gemini 3.5 Flash GA has been launched.
2356
+ *
2357
+ * Note: This method should only be called after startup, once experiments have been loaded.
2358
+ */
2359
+ hasGemini35FlashGAAccess() {
2360
+ const authType = this.contentGeneratorConfig?.authType;
2361
+ const hasAccess = (() => {
2362
+ if (this.isGemini31LaunchedForAuthType(authType)) {
2363
+ return true;
2364
+ }
2365
+ return (this.experiments?.flags[ExperimentFlags.GEMINI_3_5_FLASH_GA_LAUNCHED]
2366
+ ?.boolValue ?? false);
2367
+ })();
2368
+ // Used to set default flash models based on access
2369
+ // TODO: Remove once the experiment for 3_5 flash rollut can be cleaned up.
2370
+ if (hasAccess) {
2371
+ setFlashModels('gemini-3.5-flash', 'gemini-3.5-flash');
2372
+ }
2373
+ else {
2374
+ setFlashModels('gemini-3-flash-preview', 'gemini-2.5-flash');
2375
+ }
2376
+ return hasAccess;
2377
+ }
2354
2378
  /**
2355
2379
  * Returns whether Gemini 3.1 has been launched.
2356
2380
  *