@google/gemini-cli-core 0.61.0-preview.0 → 0.61.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 (76) hide show
  1. package/dist/docs/reference/configuration.md +88 -25
  2. package/dist/src/availability/autoRoutingFallback.integration.test.js +84 -14
  3. package/dist/src/availability/autoRoutingFallback.integration.test.js.map +1 -1
  4. package/dist/src/availability/policyCatalog.d.ts +2 -0
  5. package/dist/src/availability/policyCatalog.js +16 -27
  6. package/dist/src/availability/policyCatalog.js.map +1 -1
  7. package/dist/src/availability/policyCatalog.test.js +11 -3
  8. package/dist/src/availability/policyCatalog.test.js.map +1 -1
  9. package/dist/src/availability/policyHelpers.js +18 -12
  10. package/dist/src/availability/policyHelpers.js.map +1 -1
  11. package/dist/src/availability/policyHelpers.test.js +19 -13
  12. package/dist/src/availability/policyHelpers.test.js.map +1 -1
  13. package/dist/src/code_assist/experiments/flagNames.d.ts +3 -0
  14. package/dist/src/code_assist/experiments/flagNames.js +3 -0
  15. package/dist/src/code_assist/experiments/flagNames.js.map +1 -1
  16. package/dist/src/config/config.d.ts +7 -3
  17. package/dist/src/config/config.js +44 -19
  18. package/dist/src/config/config.js.map +1 -1
  19. package/dist/src/config/config.test.js +112 -13
  20. package/dist/src/config/config.test.js.map +1 -1
  21. package/dist/src/config/defaultModelConfigs.js +88 -27
  22. package/dist/src/config/defaultModelConfigs.js.map +1 -1
  23. package/dist/src/config/models.d.ts +38 -6
  24. package/dist/src/config/models.js +132 -45
  25. package/dist/src/config/models.js.map +1 -1
  26. package/dist/src/config/models.test.js +80 -29
  27. package/dist/src/config/models.test.js.map +1 -1
  28. package/dist/src/context/chatCompressionService.js +7 -2
  29. package/dist/src/context/chatCompressionService.js.map +1 -1
  30. package/dist/src/context/chatCompressionService.test.js +5 -0
  31. package/dist/src/context/chatCompressionService.test.js.map +1 -1
  32. package/dist/src/core/contentGenerator.js +3 -3
  33. package/dist/src/core/contentGenerator.js.map +1 -1
  34. package/dist/src/core/contentGenerator.test.js +4 -5
  35. package/dist/src/core/contentGenerator.test.js.map +1 -1
  36. package/dist/src/core/geminiChat.test.js +2 -2
  37. package/dist/src/core/geminiChat.test.js.map +1 -1
  38. package/dist/src/core/geminiChat_network_retry.test.js +1 -1
  39. package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
  40. package/dist/src/core/modelMappingContentGenerator.d.ts +1 -1
  41. package/dist/src/core/modelMappingContentGenerator.js +4 -3
  42. package/dist/src/core/modelMappingContentGenerator.js.map +1 -1
  43. package/dist/src/generated/git-commit.d.ts +2 -2
  44. package/dist/src/generated/git-commit.js +2 -2
  45. package/dist/src/generated/git-commit.js.map +1 -1
  46. package/dist/src/routing/strategies/approvalModeStrategy.js +4 -3
  47. package/dist/src/routing/strategies/approvalModeStrategy.js.map +1 -1
  48. package/dist/src/routing/strategies/approvalModeStrategy.test.js +7 -4
  49. package/dist/src/routing/strategies/approvalModeStrategy.test.js.map +1 -1
  50. package/dist/src/routing/strategies/classifierStrategy.js +3 -2
  51. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
  52. package/dist/src/routing/strategies/classifierStrategy.test.js +7 -4
  53. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
  54. package/dist/src/routing/strategies/defaultStrategy.js +1 -1
  55. package/dist/src/routing/strategies/defaultStrategy.js.map +1 -1
  56. package/dist/src/routing/strategies/fallbackStrategy.js +1 -1
  57. package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
  58. package/dist/src/routing/strategies/gemmaClassifierStrategy.js +3 -2
  59. package/dist/src/routing/strategies/gemmaClassifierStrategy.js.map +1 -1
  60. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js +7 -4
  61. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js.map +1 -1
  62. package/dist/src/routing/strategies/numericalClassifierStrategy.js +3 -2
  63. package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -1
  64. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js +4 -4
  65. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js.map +1 -1
  66. package/dist/src/routing/strategies/overrideStrategy.js +1 -1
  67. package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
  68. package/dist/src/services/modelConfigService.d.ts +5 -1
  69. package/dist/src/services/modelConfigService.js +18 -6
  70. package/dist/src/services/modelConfigService.js.map +1 -1
  71. package/dist/src/services/test-data/resolved-aliases-retry.golden.json +24 -0
  72. package/dist/src/services/test-data/resolved-aliases.golden.json +24 -0
  73. package/dist/src/utils/errorParsing.test.js +1 -1
  74. package/dist/src/utils/errorParsing.test.js.map +1 -1
  75. package/dist/tsconfig.tsbuildinfo +1 -1
  76. package/package.json +1 -1
@@ -10,25 +10,35 @@ export const PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL = 'gemini-3.1-pro-preview-cus
10
10
  // cleaned up.
11
11
  export let PREVIEW_GEMINI_FLASH_MODEL = 'gemini-3-flash-preview';
12
12
  export const DEFAULT_GEMINI_MODEL = 'gemini-2.5-pro';
13
- // TODO: Set to const and update to 'gemini-3.5-flash' once the experiment for
14
- // 3_5 flash rollut can be cleaned up.
15
- // This is set to either the same as the DEFAULT_GEMINI_3_5_FLASH_MODEL const
16
- // OR the SECONDARY_GEMINI_3_5_FLASH_MODEL depending on which is needed for
17
- // the user's backend as determined by hasGemini35FlashGAAccess in
18
- // packages/core/src/config/config.ts
19
- export let DEFAULT_GEMINI_FLASH_MODEL = 'gemini-2.5-flash';
20
- export const DEFAULT_GEMINI_3_5_FLASH_MODEL = 'gemini-3.5-flash';
21
- // This is resolved to 3.5 flash in backends where it is used,
22
- // however those backends do not expect to see the string gemini-3.5-flash
23
- // so we need to provide this model as an alternative name in certain instances.
24
- export const SECONDARY_GEMINI_3_5_FLASH_MODEL = 'gemini-3-flash';
25
- // Used to set default flash models based on access
26
- // TODO: Cleanup once the experiment for 3_5 flash rollut can be cleaned up.
13
+ // Flash Tier: Base (stable GA) vs. Latest (experiment-gated GA)
14
+ export const BASE_GEMINI_FLASH_MODEL = 'gemini-3.5-flash';
15
+ export const LATEST_GEMINI_FLASH_MODEL = 'gemini-3.8-flash';
16
+ export const LEGACY_CCPA_FLASH_MODEL = 'gemini-3-flash';
17
+ // Backward-compatible aliases
18
+ export const DEFAULT_GEMINI_3_5_FLASH_MODEL = BASE_GEMINI_FLASH_MODEL;
19
+ export const SECONDARY_GEMINI_3_5_FLASH_MODEL = LEGACY_CCPA_FLASH_MODEL;
20
+ // Flash Lite Tier: Base (stable GA) vs. Latest (experiment-gated GA)
21
+ export const BASE_GEMINI_FLASH_LITE_MODEL = 'gemini-3.1-flash-lite';
22
+ export const LATEST_GEMINI_FLASH_LITE_MODEL = 'gemini-3.5-flash-lite';
23
+ // Runtime active defaults (mutated when experiment flags are evaluated)
24
+ export let DEFAULT_GEMINI_FLASH_MODEL = BASE_GEMINI_FLASH_MODEL;
25
+ export let DEFAULT_GEMINI_FLASH_LITE_MODEL = BASE_GEMINI_FLASH_LITE_MODEL;
27
26
  export function setFlashModels(preview, defaultFlash) {
28
27
  PREVIEW_GEMINI_FLASH_MODEL = preview;
29
28
  DEFAULT_GEMINI_FLASH_MODEL = defaultFlash;
30
29
  }
31
- export const DEFAULT_GEMINI_FLASH_LITE_MODEL = 'gemini-3.1-flash-lite';
30
+ export function setFlashLiteModel(defaultFlashLite) {
31
+ DEFAULT_GEMINI_FLASH_LITE_MODEL = defaultFlashLite;
32
+ }
33
+ /**
34
+ * Resets the mutated model constants to their baseline defaults.
35
+ * For use in test cleanup to prevent cross-test state leakage.
36
+ */
37
+ export function resetModelsForTesting() {
38
+ PREVIEW_GEMINI_FLASH_MODEL = 'gemini-3-flash-preview';
39
+ DEFAULT_GEMINI_FLASH_MODEL = BASE_GEMINI_FLASH_MODEL;
40
+ DEFAULT_GEMINI_FLASH_LITE_MODEL = BASE_GEMINI_FLASH_LITE_MODEL;
41
+ }
32
42
  /** @deprecated Gemini 3.1 Flash Lite is now GA. Use DEFAULT_GEMINI_FLASH_LITE_MODEL. */
33
43
  export const PREVIEW_GEMINI_FLASH_LITE_MODEL = 'none';
34
44
  export const GEMMA_4_31B_IT_MODEL = 'gemma-4-31b-it';
@@ -44,9 +54,38 @@ export const VALID_GEMINI_MODELS = new Set([
44
54
  DEFAULT_GEMINI_3_5_FLASH_MODEL,
45
55
  SECONDARY_GEMINI_3_5_FLASH_MODEL,
46
56
  DEFAULT_GEMINI_FLASH_LITE_MODEL,
57
+ BASE_GEMINI_FLASH_MODEL,
58
+ LATEST_GEMINI_FLASH_MODEL,
59
+ LEGACY_CCPA_FLASH_MODEL,
60
+ BASE_GEMINI_FLASH_LITE_MODEL,
61
+ LATEST_GEMINI_FLASH_LITE_MODEL,
47
62
  GEMMA_4_31B_IT_MODEL,
48
63
  GEMMA_4_26B_A4B_IT_MODEL,
49
64
  ]);
65
+ /**
66
+ * Dynamically maps model IDs for outbound backend requests:
67
+ * - When LATEST_FLASH_GA_LAUNCHED is true: rewrites BASE_GEMINI_FLASH_MODEL ('gemini-3.5-flash')
68
+ * and LEGACY_CCPA_FLASH_MODEL ('gemini-3-flash') -> LATEST_GEMINI_FLASH_MODEL ('gemini-3.8-flash').
69
+ * - When LATEST_FLASH_GA_LAUNCHED is false on Code Assist (CCPA): maps 'gemini-3.5-flash' -> 'gemini-3-flash'.
70
+ * - When LATEST_FLASH_LITE_GA_LAUNCHED is true: rewrites BASE_GEMINI_FLASH_LITE_MODEL ('gemini-3.1-flash-lite')
71
+ * -> LATEST_GEMINI_FLASH_LITE_MODEL ('gemini-3.5-flash-lite').
72
+ */
73
+ export function getBackendModelMappings(context, isCodeAssistBackend = true) {
74
+ const mappings = {};
75
+ const useLatestFlash = context?.hasLatestFlashGAAccess?.() ?? false;
76
+ const useLatestFlashLite = context?.hasLatestFlashLiteGAAccess?.() ?? false;
77
+ if (useLatestFlash) {
78
+ mappings[BASE_GEMINI_FLASH_MODEL] = LATEST_GEMINI_FLASH_MODEL;
79
+ mappings[LEGACY_CCPA_FLASH_MODEL] = LATEST_GEMINI_FLASH_MODEL;
80
+ }
81
+ else if (isCodeAssistBackend) {
82
+ mappings[BASE_GEMINI_FLASH_MODEL] = LEGACY_CCPA_FLASH_MODEL;
83
+ }
84
+ if (useLatestFlashLite) {
85
+ mappings[BASE_GEMINI_FLASH_LITE_MODEL] = LATEST_GEMINI_FLASH_LITE_MODEL;
86
+ }
87
+ return mappings;
88
+ }
50
89
  /** @deprecated Use GEMINI_MODEL_ALIAS_AUTO instead. */
51
90
  export const PREVIEW_GEMINI_MODEL_AUTO = 'auto-gemini-3';
52
91
  /** @deprecated Use GEMINI_MODEL_ALIAS_AUTO instead. */
@@ -59,15 +98,15 @@ export const GEMINI_MODEL_ALIAS_FLASH_LITE = 'flash-lite';
59
98
  export const DEFAULT_GEMINI_EMBEDDING_MODEL = 'gemini-embedding-001';
60
99
  // Cap the thinking at 8192 to prevent run-away thinking loops.
61
100
  export const DEFAULT_THINKING_MODE = 8192;
62
- export function getAutoModelDescription(hasAccessToPreview, useGemini3_1 = false, useGemini3_5Flash = false) {
101
+ export function getAutoModelDescription(hasAccessToPreview, useGemini3_1 = false, useLatestFlash = false) {
63
102
  const proModel = hasAccessToPreview
64
103
  ? useGemini3_1
65
104
  ? PREVIEW_GEMINI_3_1_MODEL
66
105
  : PREVIEW_GEMINI_MODEL
67
106
  : DEFAULT_GEMINI_MODEL;
68
107
  const flashModel = hasAccessToPreview
69
- ? useGemini3_5Flash
70
- ? DEFAULT_GEMINI_3_5_FLASH_MODEL
108
+ ? useLatestFlash
109
+ ? LATEST_GEMINI_FLASH_MODEL
71
110
  : PREVIEW_GEMINI_FLASH_MODEL
72
111
  : DEFAULT_GEMINI_FLASH_MODEL;
73
112
  return `Let Gemini CLI decide the best model for the task: ${getDisplayString(proModel)}, ${getDisplayString(flashModel)}`;
@@ -78,31 +117,41 @@ export function getAutoModelDescription(hasAccessToPreview, useGemini3_1 = false
78
117
  *
79
118
  * @param requestedModel The model alias or concrete model name requested by the user.
80
119
  * @param useGemini3_1 Whether to use Gemini 3.1 Pro Preview for auto/pro aliases.
81
- * @param useGemini3_5Flash Whether to use Gemini 3.5 Flash GA.
120
+ * @param useCustomToolModel Whether to use the custom tool model.
82
121
  * @param hasAccessToPreview Whether the user has access to preview models.
122
+ * @param config Optional config object for dynamic model configuration.
123
+ * @param useLatestFlash Whether to use the latest Flash GA model.
124
+ * @param useLatestFlashLite Whether to use the latest Flash Lite GA model.
83
125
  * @returns The resolved concrete model name.
84
126
  */
85
- export function resolveModel(requestedModel, useGemini3_1 = false, useCustomToolModel = false, hasAccessToPreview = true, config, useGemini3_5Flash = false) {
127
+ export function resolveModel(requestedModel, useGemini3_1 = false, useCustomToolModel = false, hasAccessToPreview = true, config, useLatestFlash = false, useLatestFlashLite = false) {
86
128
  // Defensive check against non-string inputs at runtime
87
129
  const normalizedModel = Array.isArray(requestedModel)
88
130
  ? String(requestedModel.at(-1) ?? '').trim() || ''
89
131
  : typeof requestedModel !== 'string'
90
132
  ? String(requestedModel ?? '').trim() || ''
91
133
  : requestedModel.trim() || '';
134
+ const effectiveUseLatestFlash = useLatestFlash || (config?.hasLatestFlashGAAccess?.() ?? false);
135
+ const effectiveUseLatestFlashLite = useLatestFlashLite || (config?.hasLatestFlashLiteGAAccess?.() ?? false);
92
136
  if (config?.getExperimentalDynamicModelConfiguration?.() === true) {
93
137
  const resolved = config.modelConfigService.resolveModelId(normalizedModel, {
94
138
  useGemini3_1,
95
139
  useCustomTools: useCustomToolModel,
96
140
  hasAccessToPreview,
97
- useGemini3_5Flash,
141
+ useLatestFlash: effectiveUseLatestFlash,
142
+ useLatestFlashLite: effectiveUseLatestFlashLite,
98
143
  });
99
144
  if (!hasAccessToPreview && isPreviewModel(resolved, config)) {
100
145
  // Fallback for unknown preview models.
101
146
  if (resolved.includes('flash-lite')) {
102
- return DEFAULT_GEMINI_FLASH_LITE_MODEL;
147
+ return effectiveUseLatestFlashLite
148
+ ? LATEST_GEMINI_FLASH_LITE_MODEL
149
+ : BASE_GEMINI_FLASH_LITE_MODEL;
103
150
  }
104
151
  if (resolved.includes('flash')) {
105
- return DEFAULT_GEMINI_FLASH_MODEL;
152
+ return effectiveUseLatestFlash
153
+ ? LATEST_GEMINI_FLASH_MODEL
154
+ : BASE_GEMINI_FLASH_MODEL;
106
155
  }
107
156
  return DEFAULT_GEMINI_MODEL;
108
157
  }
@@ -135,13 +184,15 @@ export function resolveModel(requestedModel, useGemini3_1 = false, useCustomTool
135
184
  break;
136
185
  }
137
186
  case GEMINI_MODEL_ALIAS_FLASH: {
138
- resolved = useGemini3_5Flash
139
- ? DEFAULT_GEMINI_FLASH_MODEL
187
+ resolved = effectiveUseLatestFlash
188
+ ? LATEST_GEMINI_FLASH_MODEL
140
189
  : PREVIEW_GEMINI_FLASH_MODEL;
141
190
  break;
142
191
  }
143
192
  case GEMINI_MODEL_ALIAS_FLASH_LITE: {
144
- resolved = DEFAULT_GEMINI_FLASH_LITE_MODEL;
193
+ resolved = effectiveUseLatestFlashLite
194
+ ? LATEST_GEMINI_FLASH_LITE_MODEL
195
+ : BASE_GEMINI_FLASH_LITE_MODEL;
145
196
  break;
146
197
  }
147
198
  default: {
@@ -150,18 +201,25 @@ export function resolveModel(requestedModel, useGemini3_1 = false, useCustomTool
150
201
  }
151
202
  }
152
203
  if (resolved === 'none') {
153
- return DEFAULT_GEMINI_FLASH_LITE_MODEL;
204
+ return effectiveUseLatestFlashLite
205
+ ? LATEST_GEMINI_FLASH_LITE_MODEL
206
+ : BASE_GEMINI_FLASH_LITE_MODEL;
154
207
  }
155
- if (useGemini3_5Flash &&
208
+ if (effectiveUseLatestFlash &&
156
209
  isPromotableFlashModel(resolved) &&
157
210
  normalizedModel !== PREVIEW_GEMINI_FLASH_MODEL) {
158
- return DEFAULT_GEMINI_FLASH_MODEL;
211
+ return LATEST_GEMINI_FLASH_MODEL;
212
+ }
213
+ if (effectiveUseLatestFlashLite && isPromotableFlashLiteModel(resolved)) {
214
+ return LATEST_GEMINI_FLASH_LITE_MODEL;
159
215
  }
160
216
  if (!hasAccessToPreview && isPreviewModel(resolved)) {
161
217
  // Downgrade to stable models if user lacks preview access.
162
218
  switch (resolved) {
163
219
  case PREVIEW_GEMINI_FLASH_MODEL:
164
- return DEFAULT_GEMINI_FLASH_MODEL;
220
+ return effectiveUseLatestFlash
221
+ ? LATEST_GEMINI_FLASH_MODEL
222
+ : BASE_GEMINI_FLASH_MODEL;
165
223
  case PREVIEW_GEMINI_MODEL:
166
224
  case PREVIEW_GEMINI_3_1_MODEL:
167
225
  case PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL:
@@ -169,10 +227,14 @@ export function resolveModel(requestedModel, useGemini3_1 = false, useCustomTool
169
227
  default:
170
228
  // Fallback for unknown preview models, preserving original logic.
171
229
  if (resolved.includes('flash-lite')) {
172
- return DEFAULT_GEMINI_FLASH_LITE_MODEL;
230
+ return effectiveUseLatestFlashLite
231
+ ? LATEST_GEMINI_FLASH_LITE_MODEL
232
+ : BASE_GEMINI_FLASH_LITE_MODEL;
173
233
  }
174
234
  if (resolved.includes('flash')) {
175
- return DEFAULT_GEMINI_FLASH_MODEL;
235
+ return effectiveUseLatestFlash
236
+ ? LATEST_GEMINI_FLASH_MODEL
237
+ : BASE_GEMINI_FLASH_MODEL;
176
238
  }
177
239
  return DEFAULT_GEMINI_MODEL;
178
240
  }
@@ -186,7 +248,14 @@ function isPromotableFlashModel(model) {
186
248
  model === PREVIEW_GEMINI_FLASH_MODEL ||
187
249
  model === DEFAULT_GEMINI_3_5_FLASH_MODEL ||
188
250
  model === SECONDARY_GEMINI_3_5_FLASH_MODEL ||
189
- model === GEMINI_MODEL_ALIAS_FLASH);
251
+ model === GEMINI_MODEL_ALIAS_FLASH ||
252
+ model === BASE_GEMINI_FLASH_MODEL ||
253
+ model === LEGACY_CCPA_FLASH_MODEL);
254
+ }
255
+ function isPromotableFlashLiteModel(model) {
256
+ return (model === DEFAULT_GEMINI_FLASH_LITE_MODEL ||
257
+ model === BASE_GEMINI_FLASH_LITE_MODEL ||
258
+ model === GEMINI_MODEL_ALIAS_FLASH_LITE);
190
259
  }
191
260
  /**
192
261
  * Resolves the appropriate model based on the classifier's decision.
@@ -198,33 +267,42 @@ function isPromotableFlashModel(model) {
198
267
  * @param config Optional config object for dynamic model configuration.
199
268
  * @returns The resolved concrete model name.
200
269
  */
201
- export function resolveClassifierModel(requestedModel, modelAlias, useGemini3_1 = false, useCustomToolModel = false, hasAccessToPreview = true, config, useGemini3_5Flash = false) {
270
+ export function resolveClassifierModel(requestedModel, modelAlias, useGemini3_1 = false, useCustomToolModel = false, hasAccessToPreview = true, config, useLatestFlash = false, useLatestFlashLite = false) {
271
+ const effectiveUseLatestFlash = useLatestFlash || (config?.hasLatestFlashGAAccess?.() ?? false);
272
+ const effectiveUseLatestFlashLite = useLatestFlashLite || (config?.hasLatestFlashLiteGAAccess?.() ?? false);
273
+ const effectiveHasAccessToPreview = hasAccessToPreview || (config?.getHasAccessToPreviewModel?.() ?? false);
202
274
  if (config?.getExperimentalDynamicModelConfiguration?.() === true) {
203
275
  return config.modelConfigService.resolveClassifierModelId(modelAlias, requestedModel, {
204
276
  useGemini3_1,
205
277
  useCustomTools: useCustomToolModel,
206
- hasAccessToPreview,
207
- useGemini3_5Flash,
278
+ hasAccessToPreview: effectiveHasAccessToPreview,
279
+ useLatestFlash: effectiveUseLatestFlash,
280
+ useLatestFlashLite: effectiveUseLatestFlashLite,
208
281
  });
209
282
  }
210
283
  if (modelAlias === GEMINI_MODEL_ALIAS_FLASH) {
211
284
  if (requestedModel === DEFAULT_GEMINI_MODEL_AUTO ||
212
285
  requestedModel === DEFAULT_GEMINI_MODEL) {
213
- return DEFAULT_GEMINI_FLASH_MODEL;
286
+ return effectiveUseLatestFlash
287
+ ? LATEST_GEMINI_FLASH_MODEL
288
+ : BASE_GEMINI_FLASH_MODEL;
214
289
  }
215
290
  if (requestedModel === PREVIEW_GEMINI_MODEL_AUTO ||
216
291
  requestedModel === PREVIEW_GEMINI_MODEL ||
217
292
  requestedModel === GEMINI_MODEL_ALIAS_AUTO) {
218
- if (useGemini3_5Flash) {
219
- return DEFAULT_GEMINI_FLASH_MODEL;
293
+ if (effectiveUseLatestFlash) {
294
+ return LATEST_GEMINI_FLASH_MODEL;
220
295
  }
221
- return hasAccessToPreview
296
+ return effectiveHasAccessToPreview
222
297
  ? PREVIEW_GEMINI_FLASH_MODEL
223
- : DEFAULT_GEMINI_FLASH_MODEL;
298
+ : BASE_GEMINI_FLASH_MODEL;
224
299
  }
225
- return resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, hasAccessToPreview, config, useGemini3_5Flash);
300
+ return resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, effectiveHasAccessToPreview, config, effectiveUseLatestFlash, effectiveUseLatestFlashLite);
301
+ }
302
+ if (modelAlias === GEMINI_MODEL_ALIAS_FLASH_LITE) {
303
+ return resolveModel(GEMINI_MODEL_ALIAS_FLASH_LITE, false, false, effectiveHasAccessToPreview, config, effectiveUseLatestFlash, effectiveUseLatestFlashLite);
226
304
  }
227
- return resolveModel(requestedModel, useGemini3_1, useCustomToolModel, hasAccessToPreview, config, useGemini3_5Flash);
305
+ return resolveModel(requestedModel, useGemini3_1, useCustomToolModel, effectiveHasAccessToPreview, config, effectiveUseLatestFlash, effectiveUseLatestFlashLite);
228
306
  }
229
307
  export function getDisplayString(model, config) {
230
308
  if (config?.getExperimentalDynamicModelConfiguration?.() === true) {
@@ -233,9 +311,18 @@ export function getDisplayString(model, config) {
233
311
  return definition.displayName;
234
312
  }
235
313
  }
314
+ const useLatestFlash = config?.hasLatestFlashGAAccess?.() ?? false;
315
+ const useLatestFlashLite = config?.hasLatestFlashLiteGAAccess?.() ?? false;
236
316
  switch (model) {
237
- case 'gemini-3-flash':
238
- return DEFAULT_GEMINI_3_5_FLASH_MODEL;
317
+ case LEGACY_CCPA_FLASH_MODEL:
318
+ case BASE_GEMINI_FLASH_MODEL:
319
+ return useLatestFlash
320
+ ? LATEST_GEMINI_FLASH_MODEL
321
+ : BASE_GEMINI_FLASH_MODEL;
322
+ case BASE_GEMINI_FLASH_LITE_MODEL:
323
+ return useLatestFlashLite
324
+ ? LATEST_GEMINI_FLASH_LITE_MODEL
325
+ : BASE_GEMINI_FLASH_LITE_MODEL;
239
326
  case GEMINI_MODEL_ALIAS_AUTO:
240
327
  return 'Auto';
241
328
  case PREVIEW_GEMINI_MODEL_AUTO:
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/config/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/config/models.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,14 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { describe, it, expect } from 'vitest';
7
- import { resolveModel, resolveClassifierModel, isGemini3Model, isGemini2Model, isCustomModel, supportsModernFeatures, isAutoModel, getDisplayString, DEFAULT_GEMINI_MODEL, PREVIEW_GEMINI_MODEL, DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_3_5_FLASH_MODEL, DEFAULT_GEMINI_FLASH_LITE_MODEL, supportsMultimodalFunctionResponse, GEMINI_MODEL_ALIAS_PRO, GEMINI_MODEL_ALIAS_FLASH, GEMINI_MODEL_ALIAS_FLASH_LITE, GEMINI_MODEL_ALIAS_AUTO, PREVIEW_GEMINI_FLASH_MODEL, PREVIEW_GEMINI_MODEL_AUTO, DEFAULT_GEMINI_MODEL_AUTO, isActiveModel, PREVIEW_GEMINI_3_1_MODEL, PREVIEW_GEMINI_FLASH_LITE_MODEL, PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL, isPreviewModel, isProModel, GEMMA_4_31B_IT_MODEL, GEMMA_4_26B_A4B_IT_MODEL, getAutoModelDescription, } from './models.js';
6
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
7
+ import { resolveModel, resolveClassifierModel, isGemini3Model, isGemini2Model, isCustomModel, supportsModernFeatures, isAutoModel, getDisplayString, DEFAULT_GEMINI_MODEL, PREVIEW_GEMINI_MODEL, DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_FLASH_LITE_MODEL, BASE_GEMINI_FLASH_MODEL, BASE_GEMINI_FLASH_LITE_MODEL, setFlashModels, setFlashLiteModel, resetModelsForTesting, supportsMultimodalFunctionResponse, GEMINI_MODEL_ALIAS_PRO, GEMINI_MODEL_ALIAS_FLASH, GEMINI_MODEL_ALIAS_FLASH_LITE, GEMINI_MODEL_ALIAS_AUTO, PREVIEW_GEMINI_FLASH_MODEL, PREVIEW_GEMINI_MODEL_AUTO, DEFAULT_GEMINI_MODEL_AUTO, isActiveModel, PREVIEW_GEMINI_3_1_MODEL, PREVIEW_GEMINI_FLASH_LITE_MODEL, PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL, isPreviewModel, isProModel, LATEST_GEMINI_FLASH_MODEL, LATEST_GEMINI_FLASH_LITE_MODEL, GEMMA_4_31B_IT_MODEL, GEMMA_4_26B_A4B_IT_MODEL, getAutoModelDescription, } from './models.js';
8
8
  import { ModelConfigService } from '../services/modelConfigService.js';
9
9
  import { DEFAULT_MODEL_CONFIGS } from './defaultModelConfigs.js';
10
10
  const modelConfigService = new ModelConfigService(DEFAULT_MODEL_CONFIGS);
11
+ afterEach(() => {
12
+ resetModelsForTesting();
13
+ });
11
14
  const dynamicConfig = {
12
15
  getExperimentalDynamicModelConfiguration: () => true,
13
16
  modelConfigService,
@@ -494,7 +497,7 @@ describe('getAutoModelDescription', () => {
494
497
  it('should return Gemini 2.5 description when hasAccessToPreview is false', () => {
495
498
  const desc = getAutoModelDescription(false, false);
496
499
  expect(desc).toContain('gemini-2.5-pro');
497
- expect(desc).toContain('gemini-2.5-flash');
500
+ expect(desc).toContain('gemini-3.5-flash');
498
501
  });
499
502
  it('should return Gemini 3.0 description when hasAccessToPreview is true', () => {
500
503
  const desc = getAutoModelDescription(true, false);
@@ -506,33 +509,33 @@ describe('getAutoModelDescription', () => {
506
509
  expect(desc).toContain('gemini-3.1-pro-preview');
507
510
  expect(desc).toContain('gemini-3-flash-preview');
508
511
  });
509
- it('should return Gemini 3.5 Flash description when hasAccessToPreview and useGemini3_5Flash are true', () => {
512
+ it('should return latest Flash description when hasAccessToPreview and useLatestFlash are true', () => {
510
513
  const desc = getAutoModelDescription(true, true, true);
511
514
  expect(desc).toContain('gemini-3.1-pro-preview');
512
- expect(desc).toContain(DEFAULT_GEMINI_3_5_FLASH_MODEL);
515
+ expect(desc).toContain(LATEST_GEMINI_FLASH_MODEL);
513
516
  });
514
517
  });
515
518
  describe('resolveModel Gemini 3.5 Flash GA', () => {
516
- it('should resolve known non-preview flash models to DEFAULT_GEMINI_FLASH_MODEL when useGemini3_5Flash is true (legacy)', () => {
517
- expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, true, undefined, true)).toBe(DEFAULT_GEMINI_FLASH_MODEL);
518
- expect(resolveModel(DEFAULT_GEMINI_FLASH_MODEL, false, false, true, undefined, true)).toBe(DEFAULT_GEMINI_FLASH_MODEL);
519
+ it('should resolve known non-preview flash models to LATEST_GEMINI_FLASH_MODEL when useGemini3_5Flash is true (legacy)', () => {
520
+ expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, true, undefined, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
521
+ expect(resolveModel(DEFAULT_GEMINI_FLASH_MODEL, false, false, true, undefined, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
519
522
  expect(resolveModel(PREVIEW_GEMINI_FLASH_MODEL, false, false, true, undefined, true)).toBe(PREVIEW_GEMINI_FLASH_MODEL);
520
523
  });
521
524
  it.each([
522
525
  'gemini-3.6-flash',
523
526
  'gemini-3.7-flash',
524
- 'gemini-3.8-flash',
527
+ 'gemini-3.9-flash',
525
528
  'gemini-9.9-flash',
526
529
  ])('should preserve the explicit versioned model %s when useGemini3_5Flash is true (legacy)', (model) => {
527
530
  expect(resolveModel(model, false, false, true, undefined, true)).toBe(model);
528
531
  });
529
- it('should resolve known non-preview flash models to gemini-3.5-flash when useGemini3_5Flash is true (dynamic)', () => {
532
+ it('should resolve known non-preview flash models to LATEST_GEMINI_FLASH_MODEL when useGemini3_5Flash is true (dynamic)', () => {
530
533
  const mockDynamicConfig = {
531
534
  getExperimentalDynamicModelConfiguration: () => true,
532
535
  modelConfigService,
533
536
  };
534
- expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, true, mockDynamicConfig, true)).toBe('gemini-3.5-flash');
535
- expect(resolveModel(DEFAULT_GEMINI_FLASH_MODEL, false, false, true, mockDynamicConfig, true)).toBe('gemini-3.5-flash');
537
+ expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, true, mockDynamicConfig, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
538
+ expect(resolveModel(DEFAULT_GEMINI_FLASH_MODEL, false, false, true, mockDynamicConfig, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
536
539
  expect(resolveModel(PREVIEW_GEMINI_FLASH_MODEL, false, false, true, mockDynamicConfig, true)).toBe(PREVIEW_GEMINI_FLASH_MODEL);
537
540
  });
538
541
  it('should NOT resolve flash models to DEFAULT_GEMINI_FLASH_MODEL when useGemini3_5Flash is false', () => {
@@ -546,28 +549,28 @@ describe('resolveModel Gemini 3.5 Flash GA', () => {
546
549
  modelConfigService,
547
550
  };
548
551
  expect(resolveModel(DEFAULT_GEMINI_FLASH_MODEL, false, false, false, // No preview access
549
- mockDynamicConfig, false)).toBe('gemini-2.5-flash');
552
+ mockDynamicConfig, false)).toBe(DEFAULT_GEMINI_FLASH_MODEL);
550
553
  });
551
- it('should resolve auto to DEFAULT_GEMINI_FLASH_MODEL when useGemini3_5Flash is true and classifier selects flash', () => {
552
- expect(resolveClassifierModel(GEMINI_MODEL_ALIAS_AUTO, GEMINI_MODEL_ALIAS_FLASH, false, false, true, undefined, true)).toBe(DEFAULT_GEMINI_FLASH_MODEL);
554
+ it('should resolve auto to LATEST_GEMINI_FLASH_MODEL when useGemini3_5Flash is true and classifier selects flash', () => {
555
+ expect(resolveClassifierModel(GEMINI_MODEL_ALIAS_AUTO, GEMINI_MODEL_ALIAS_FLASH, false, false, true, undefined, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
553
556
  });
554
- it('should resolve auto to gemini-3.5-flash when useGemini3_5Flash is true and classifier selects flash (dynamic)', () => {
557
+ it('should resolve auto to LATEST_GEMINI_FLASH_MODEL when useGemini3_5Flash is true and classifier selects flash (dynamic)', () => {
555
558
  const mockDynamicConfig = {
556
559
  getExperimentalDynamicModelConfiguration: () => true,
557
560
  modelConfigService,
558
561
  };
559
- expect(resolveClassifierModel(GEMINI_MODEL_ALIAS_AUTO, GEMINI_MODEL_ALIAS_FLASH, false, false, true, mockDynamicConfig, true)).toBe('gemini-3.5-flash');
562
+ expect(resolveClassifierModel(GEMINI_MODEL_ALIAS_AUTO, GEMINI_MODEL_ALIAS_FLASH, false, false, true, mockDynamicConfig, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
560
563
  });
561
564
  describe('Flash model promotion and manual override routing logic', () => {
562
- it('should resolve flash alias to DEFAULT_GEMINI_FLASH_MODEL when useGemini3_5Flash is true (static)', () => {
563
- expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, true, undefined, true)).toBe(DEFAULT_GEMINI_FLASH_MODEL);
565
+ it('should resolve flash alias to LATEST_GEMINI_FLASH_MODEL when useGemini3_5Flash is true (static)', () => {
566
+ expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, true, undefined, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
564
567
  });
565
- it('should resolve flash alias to gemini-3.5-flash when useGemini3_5Flash is true (dynamic)', () => {
568
+ it('should resolve flash alias to LATEST_GEMINI_FLASH_MODEL when useGemini3_5Flash is true (dynamic)', () => {
566
569
  const mockDynamicConfig = {
567
570
  getExperimentalDynamicModelConfiguration: () => true,
568
571
  modelConfigService,
569
572
  };
570
- expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, true, mockDynamicConfig, true)).toBe('gemini-3.5-flash');
573
+ expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, true, mockDynamicConfig, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
571
574
  });
572
575
  it('should resolve manual selection of gemini-3-flash-preview to gemini-3-flash-preview when useGemini3_5Flash is true and has preview access (static)', () => {
573
576
  expect(resolveModel(PREVIEW_GEMINI_FLASH_MODEL, false, false, true, undefined, true)).toBe('gemini-3-flash-preview');
@@ -579,30 +582,78 @@ describe('resolveModel Gemini 3.5 Flash GA', () => {
579
582
  };
580
583
  expect(resolveModel(PREVIEW_GEMINI_FLASH_MODEL, false, false, true, mockDynamicConfig, true)).toBe('gemini-3-flash-preview');
581
584
  });
582
- it('should resolve manual selection of gemini-3-flash-preview to DEFAULT_GEMINI_FLASH_MODEL when useGemini3_5Flash is true but lacks preview access (static)', () => {
583
- expect(resolveModel(PREVIEW_GEMINI_FLASH_MODEL, false, false, false, undefined, true)).toBe(DEFAULT_GEMINI_FLASH_MODEL);
585
+ it('should resolve manual selection of gemini-3-flash-preview to LATEST_GEMINI_FLASH_MODEL when useGemini3_5Flash is true but lacks preview access (static)', () => {
586
+ expect(resolveModel(PREVIEW_GEMINI_FLASH_MODEL, false, false, false, undefined, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
584
587
  });
585
- it('should resolve manual selection of gemini-3-flash-preview to gemini-3.5-flash when useGemini3_5Flash is true but lacks preview access (dynamic)', () => {
588
+ it('should resolve manual selection of gemini-3-flash-preview to LATEST_GEMINI_FLASH_MODEL when useGemini3_5Flash is true but lacks preview access (dynamic)', () => {
586
589
  const mockDynamicConfig = {
587
590
  getExperimentalDynamicModelConfiguration: () => true,
588
591
  modelConfigService,
589
592
  };
590
- expect(resolveModel(PREVIEW_GEMINI_FLASH_MODEL, false, false, false, mockDynamicConfig, true)).toBe('gemini-3.5-flash');
593
+ expect(resolveModel(PREVIEW_GEMINI_FLASH_MODEL, false, false, false, mockDynamicConfig, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
591
594
  });
592
- it('should resolve classifier-selected flash alias to DEFAULT_GEMINI_FLASH_MODEL when useGemini3_5Flash is true (static)', () => {
593
- expect(resolveClassifierModel(GEMINI_MODEL_ALIAS_AUTO, GEMINI_MODEL_ALIAS_FLASH, false, false, true, undefined, true)).toBe(DEFAULT_GEMINI_FLASH_MODEL);
595
+ it('should resolve classifier-selected flash alias to LATEST_GEMINI_FLASH_MODEL when useGemini3_5Flash is true (static)', () => {
596
+ expect(resolveClassifierModel(GEMINI_MODEL_ALIAS_AUTO, GEMINI_MODEL_ALIAS_FLASH, false, false, true, undefined, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
594
597
  });
595
- it('should resolve classifier-selected flash alias to gemini-3.5-flash when useGemini3_5Flash is true (dynamic)', () => {
598
+ it('should resolve classifier-selected flash alias to LATEST_GEMINI_FLASH_MODEL when useGemini3_5Flash is true (dynamic)', () => {
596
599
  const mockDynamicConfig = {
597
600
  getExperimentalDynamicModelConfiguration: () => true,
598
601
  modelConfigService,
599
602
  };
600
- expect(resolveClassifierModel(GEMINI_MODEL_ALIAS_AUTO, GEMINI_MODEL_ALIAS_FLASH, false, false, true, mockDynamicConfig, true)).toBe('gemini-3.5-flash');
603
+ expect(resolveClassifierModel(GEMINI_MODEL_ALIAS_AUTO, GEMINI_MODEL_ALIAS_FLASH, false, false, true, mockDynamicConfig, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
601
604
  });
602
605
  it('should resolve auto to PREVIEW_GEMINI_MODEL when useGemini3_5Flash is true and has preview access', () => {
603
606
  expect(resolveModel(GEMINI_MODEL_ALIAS_AUTO, false, false, true, // hasAccessToPreview
604
607
  undefined, true)).toBe(PREVIEW_GEMINI_MODEL);
605
608
  });
606
609
  });
610
+ describe('multi-session isolation and global state leakage prevention', () => {
611
+ beforeEach(() => {
612
+ resetModelsForTesting();
613
+ });
614
+ afterEach(() => {
615
+ resetModelsForTesting();
616
+ });
617
+ it('should NOT leak latest flash or flash lite models to sessions without access even if global models are mutated', () => {
618
+ // Simulate Session A (which has access) mutating global models via setFlashModels / setFlashLiteModel
619
+ setFlashModels('gemini-3-flash-preview', LATEST_GEMINI_FLASH_MODEL);
620
+ setFlashLiteModel(LATEST_GEMINI_FLASH_LITE_MODEL);
621
+ // Verify global variables were indeed mutated to the latest models
622
+ expect(DEFAULT_GEMINI_FLASH_MODEL).toBe(LATEST_GEMINI_FLASH_MODEL);
623
+ expect(DEFAULT_GEMINI_FLASH_LITE_MODEL).toBe(LATEST_GEMINI_FLASH_LITE_MODEL);
624
+ // Session B has NO access (experiment flags false / hasLatestFlashGAAccess returns false)
625
+ const sessionBConfig = {
626
+ getExperimentalDynamicModelConfiguration: () => false,
627
+ hasLatestFlashGAAccess: () => false,
628
+ hasLatestFlashLiteGAAccess: () => false,
629
+ getHasAccessToPreviewModel: () => true,
630
+ modelConfigService,
631
+ };
632
+ // Session B resolving 'flash' should NOT get LATEST_GEMINI_FLASH_MODEL
633
+ expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, true, sessionBConfig, false, false)).toBe(PREVIEW_GEMINI_FLASH_MODEL);
634
+ // Session B resolving 'flash-lite' should NOT get LATEST_GEMINI_FLASH_LITE_MODEL
635
+ expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH_LITE, false, false, true, sessionBConfig, false, false)).toBe(BASE_GEMINI_FLASH_LITE_MODEL);
636
+ // Session B resolving without preview access should get BASE models, NOT LATEST
637
+ expect(resolveModel(PREVIEW_GEMINI_FLASH_MODEL, false, false, false, sessionBConfig, false, false)).toBe(BASE_GEMINI_FLASH_MODEL);
638
+ // Session B classifier resolving flash should NOT get LATEST_GEMINI_FLASH_MODEL
639
+ expect(resolveClassifierModel(GEMINI_MODEL_ALIAS_AUTO, GEMINI_MODEL_ALIAS_FLASH, false, false, true, sessionBConfig, false, false)).toBe(PREVIEW_GEMINI_FLASH_MODEL);
640
+ // Session B getDisplayString should NOT return latest models
641
+ expect(getDisplayString(BASE_GEMINI_FLASH_MODEL, sessionBConfig)).toBe(BASE_GEMINI_FLASH_MODEL);
642
+ expect(getDisplayString(BASE_GEMINI_FLASH_LITE_MODEL, sessionBConfig)).toBe(BASE_GEMINI_FLASH_LITE_MODEL);
643
+ });
644
+ it('should NOT leak latest models in dynamic configuration mode when global models are mutated', () => {
645
+ setFlashModels('gemini-3-flash-preview', LATEST_GEMINI_FLASH_MODEL);
646
+ setFlashLiteModel(LATEST_GEMINI_FLASH_LITE_MODEL);
647
+ const sessionBDynamicConfig = {
648
+ getExperimentalDynamicModelConfiguration: () => true,
649
+ hasLatestFlashGAAccess: () => false,
650
+ hasLatestFlashLiteGAAccess: () => false,
651
+ getHasAccessToPreviewModel: () => true,
652
+ modelConfigService,
653
+ };
654
+ expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, true, sessionBDynamicConfig, false, false)).toBe(PREVIEW_GEMINI_FLASH_MODEL);
655
+ expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH_LITE, false, false, true, sessionBDynamicConfig, false, false)).toBe(BASE_GEMINI_FLASH_LITE_MODEL);
656
+ });
657
+ });
607
658
  });
608
659
  //# sourceMappingURL=models.test.js.map