@google/gemini-cli-core 0.61.0-nightly.20260915.g9c1b0a610 → 0.61.0-preview.1

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 (77) hide show
  1. package/dist/docs/reference/configuration.md +88 -25
  2. package/dist/{google-gemini-cli-core-0.61.0-nightly.20260908.gc647533d6.tgz → google-gemini-cli-core-0.61.0-preview.0.tgz} +0 -0
  3. package/dist/src/availability/autoRoutingFallback.integration.test.js +84 -14
  4. package/dist/src/availability/autoRoutingFallback.integration.test.js.map +1 -1
  5. package/dist/src/availability/policyCatalog.d.ts +2 -0
  6. package/dist/src/availability/policyCatalog.js +16 -27
  7. package/dist/src/availability/policyCatalog.js.map +1 -1
  8. package/dist/src/availability/policyCatalog.test.js +11 -3
  9. package/dist/src/availability/policyCatalog.test.js.map +1 -1
  10. package/dist/src/availability/policyHelpers.js +18 -12
  11. package/dist/src/availability/policyHelpers.js.map +1 -1
  12. package/dist/src/availability/policyHelpers.test.js +19 -13
  13. package/dist/src/availability/policyHelpers.test.js.map +1 -1
  14. package/dist/src/code_assist/experiments/flagNames.d.ts +3 -0
  15. package/dist/src/code_assist/experiments/flagNames.js +3 -0
  16. package/dist/src/code_assist/experiments/flagNames.js.map +1 -1
  17. package/dist/src/config/config.d.ts +32 -37
  18. package/dist/src/config/config.js +111 -86
  19. package/dist/src/config/config.js.map +1 -1
  20. package/dist/src/config/config.test.js +154 -13
  21. package/dist/src/config/config.test.js.map +1 -1
  22. package/dist/src/config/defaultModelConfigs.js +88 -27
  23. package/dist/src/config/defaultModelConfigs.js.map +1 -1
  24. package/dist/src/config/models.d.ts +38 -6
  25. package/dist/src/config/models.js +132 -45
  26. package/dist/src/config/models.js.map +1 -1
  27. package/dist/src/config/models.test.js +80 -29
  28. package/dist/src/config/models.test.js.map +1 -1
  29. package/dist/src/context/chatCompressionService.js +7 -2
  30. package/dist/src/context/chatCompressionService.js.map +1 -1
  31. package/dist/src/context/chatCompressionService.test.js +5 -0
  32. package/dist/src/context/chatCompressionService.test.js.map +1 -1
  33. package/dist/src/core/contentGenerator.js +3 -3
  34. package/dist/src/core/contentGenerator.js.map +1 -1
  35. package/dist/src/core/contentGenerator.test.js +4 -5
  36. package/dist/src/core/contentGenerator.test.js.map +1 -1
  37. package/dist/src/core/geminiChat.test.js +2 -2
  38. package/dist/src/core/geminiChat.test.js.map +1 -1
  39. package/dist/src/core/geminiChat_network_retry.test.js +1 -1
  40. package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
  41. package/dist/src/core/modelMappingContentGenerator.d.ts +1 -1
  42. package/dist/src/core/modelMappingContentGenerator.js +4 -3
  43. package/dist/src/core/modelMappingContentGenerator.js.map +1 -1
  44. package/dist/src/generated/git-commit.d.ts +2 -2
  45. package/dist/src/generated/git-commit.js +2 -2
  46. package/dist/src/generated/git-commit.js.map +1 -1
  47. package/dist/src/routing/strategies/approvalModeStrategy.js +4 -3
  48. package/dist/src/routing/strategies/approvalModeStrategy.js.map +1 -1
  49. package/dist/src/routing/strategies/approvalModeStrategy.test.js +7 -4
  50. package/dist/src/routing/strategies/approvalModeStrategy.test.js.map +1 -1
  51. package/dist/src/routing/strategies/classifierStrategy.js +3 -2
  52. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
  53. package/dist/src/routing/strategies/classifierStrategy.test.js +7 -4
  54. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
  55. package/dist/src/routing/strategies/defaultStrategy.js +1 -1
  56. package/dist/src/routing/strategies/defaultStrategy.js.map +1 -1
  57. package/dist/src/routing/strategies/fallbackStrategy.js +1 -1
  58. package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
  59. package/dist/src/routing/strategies/gemmaClassifierStrategy.js +3 -2
  60. package/dist/src/routing/strategies/gemmaClassifierStrategy.js.map +1 -1
  61. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js +7 -4
  62. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js.map +1 -1
  63. package/dist/src/routing/strategies/numericalClassifierStrategy.js +3 -2
  64. package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -1
  65. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js +4 -4
  66. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js.map +1 -1
  67. package/dist/src/routing/strategies/overrideStrategy.js +1 -1
  68. package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
  69. package/dist/src/services/modelConfigService.d.ts +5 -1
  70. package/dist/src/services/modelConfigService.js +18 -6
  71. package/dist/src/services/modelConfigService.js.map +1 -1
  72. package/dist/src/services/test-data/resolved-aliases-retry.golden.json +24 -0
  73. package/dist/src/services/test-data/resolved-aliases.golden.json +24 -0
  74. package/dist/src/utils/errorParsing.test.js +1 -1
  75. package/dist/src/utils/errorParsing.test.js.map +1 -1
  76. package/dist/tsconfig.tsbuildinfo +1 -1
  77. package/package.json +1 -1
@@ -672,12 +672,24 @@ their corresponding top-level category object in your `settings.json` file.
672
672
  "model": "gemini-3.1-flash-lite"
673
673
  }
674
674
  },
675
+ "gemini-3.5-flash-lite": {
676
+ "extends": "chat-base-3",
677
+ "modelConfig": {
678
+ "model": "gemini-3.5-flash-lite"
679
+ }
680
+ },
675
681
  "gemini-3.5-flash": {
676
682
  "extends": "chat-base-3",
677
683
  "modelConfig": {
678
684
  "model": "gemini-3.5-flash"
679
685
  }
680
686
  },
687
+ "gemini-3.8-flash": {
688
+ "extends": "chat-base-3",
689
+ "modelConfig": {
690
+ "model": "gemini-3.8-flash"
691
+ }
692
+ },
681
693
  "gemma-4-31b-it": {
682
694
  "extends": "chat-base-3",
683
695
  "modelConfig": {
@@ -914,6 +926,16 @@ their corresponding top-level category object in your `settings.json` file.
914
926
  "multimodalToolUse": true
915
927
  }
916
928
  },
929
+ "gemini-3.5-flash-lite": {
930
+ "tier": "flash-lite",
931
+ "family": "gemini-3",
932
+ "isPreview": false,
933
+ "isVisible": true,
934
+ "features": {
935
+ "thinking": false,
936
+ "multimodalToolUse": true
937
+ }
938
+ },
917
939
  "gemini-3.1-pro-preview": {
918
940
  "tier": "pro",
919
941
  "family": "gemini-3",
@@ -964,6 +986,16 @@ their corresponding top-level category object in your `settings.json` file.
964
986
  "multimodalToolUse": true
965
987
  }
966
988
  },
989
+ "gemini-3.8-flash": {
990
+ "tier": "flash",
991
+ "family": "gemini-3",
992
+ "isPreview": false,
993
+ "isVisible": true,
994
+ "features": {
995
+ "thinking": false,
996
+ "multimodalToolUse": true
997
+ }
998
+ },
967
999
  "gemini-2.5-pro": {
968
1000
  "tier": "pro",
969
1001
  "family": "gemini-2.5",
@@ -1118,16 +1150,16 @@ their corresponding top-level category object in your `settings.json` file.
1118
1150
  {
1119
1151
  "condition": {
1120
1152
  "hasAccessToPreview": false,
1121
- "useGemini3_5Flash": true
1153
+ "useLatestFlash": true
1122
1154
  },
1123
- "target": "gemini-3.5-flash"
1155
+ "target": "gemini-3.8-flash"
1124
1156
  },
1125
1157
  {
1126
1158
  "condition": {
1127
1159
  "hasAccessToPreview": false,
1128
- "useGemini3_5Flash": false
1160
+ "useLatestFlash": false
1129
1161
  },
1130
- "target": "gemini-2.5-flash"
1162
+ "target": "gemini-3.5-flash"
1131
1163
  }
1132
1164
  ]
1133
1165
  },
@@ -1136,16 +1168,20 @@ their corresponding top-level category object in your `settings.json` file.
1136
1168
  "contexts": [
1137
1169
  {
1138
1170
  "condition": {
1139
- "useGemini3_5Flash": false,
1140
- "hasAccessToPreview": false
1171
+ "useLatestFlash": true
1141
1172
  },
1142
- "target": "gemini-2.5-flash"
1143
- },
1173
+ "target": "gemini-3.8-flash"
1174
+ }
1175
+ ]
1176
+ },
1177
+ "gemini-3.8-flash": {
1178
+ "default": "gemini-3.8-flash",
1179
+ "contexts": [
1144
1180
  {
1145
1181
  "condition": {
1146
- "useGemini3_5Flash": false
1182
+ "useLatestFlash": false
1147
1183
  },
1148
- "target": "gemini-3-flash-preview"
1184
+ "target": "gemini-3.5-flash"
1149
1185
  }
1150
1186
  ]
1151
1187
  },
@@ -1154,9 +1190,9 @@ their corresponding top-level category object in your `settings.json` file.
1154
1190
  "contexts": [
1155
1191
  {
1156
1192
  "condition": {
1157
- "useGemini3_5Flash": true
1193
+ "useLatestFlash": true
1158
1194
  },
1159
- "target": "gemini-3.5-flash"
1195
+ "target": "gemini-3.8-flash"
1160
1196
  }
1161
1197
  ]
1162
1198
  },
@@ -1233,27 +1269,54 @@ their corresponding top-level category object in your `settings.json` file.
1233
1269
  ]
1234
1270
  },
1235
1271
  "gemini-3.1-flash-lite": {
1236
- "default": "gemini-3.1-flash-lite"
1272
+ "default": "gemini-3.1-flash-lite",
1273
+ "contexts": [
1274
+ {
1275
+ "condition": {
1276
+ "useLatestFlashLite": true
1277
+ },
1278
+ "target": "gemini-3.5-flash-lite"
1279
+ }
1280
+ ]
1281
+ },
1282
+ "gemini-3.5-flash-lite": {
1283
+ "default": "gemini-3.5-flash-lite",
1284
+ "contexts": [
1285
+ {
1286
+ "condition": {
1287
+ "useLatestFlashLite": false
1288
+ },
1289
+ "target": "gemini-3.1-flash-lite"
1290
+ }
1291
+ ]
1237
1292
  },
1238
1293
  "flash": {
1239
1294
  "default": "gemini-3-flash-preview",
1240
1295
  "contexts": [
1241
1296
  {
1242
1297
  "condition": {
1243
- "useGemini3_5Flash": true
1298
+ "useLatestFlash": true
1244
1299
  },
1245
- "target": "gemini-3.5-flash"
1300
+ "target": "gemini-3.8-flash"
1246
1301
  },
1247
1302
  {
1248
1303
  "condition": {
1249
1304
  "hasAccessToPreview": false
1250
1305
  },
1251
- "target": "gemini-2.5-flash"
1306
+ "target": "gemini-3.5-flash"
1252
1307
  }
1253
1308
  ]
1254
1309
  },
1255
1310
  "flash-lite": {
1256
- "default": "gemini-3.1-flash-lite"
1311
+ "default": "gemini-3.1-flash-lite",
1312
+ "contexts": [
1313
+ {
1314
+ "condition": {
1315
+ "useLatestFlashLite": true
1316
+ },
1317
+ "target": "gemini-3.5-flash-lite"
1318
+ }
1319
+ ]
1257
1320
  },
1258
1321
  "auto-gemini-3": {
1259
1322
  "default": "gemini-3-pro-preview",
@@ -1300,21 +1363,21 @@ their corresponding top-level category object in your `settings.json` file.
1300
1363
  "contexts": [
1301
1364
  {
1302
1365
  "condition": {
1303
- "useGemini3_5Flash": true
1366
+ "useLatestFlash": true
1304
1367
  },
1305
- "target": "gemini-3.5-flash"
1368
+ "target": "gemini-3.8-flash"
1306
1369
  },
1307
1370
  {
1308
1371
  "condition": {
1309
1372
  "hasAccessToPreview": false
1310
1373
  },
1311
- "target": "gemini-2.5-flash"
1374
+ "target": "gemini-3.5-flash"
1312
1375
  },
1313
1376
  {
1314
1377
  "condition": {
1315
1378
  "requestedModels": ["gemini-2.5-pro", "auto-gemini-2.5"]
1316
1379
  },
1317
- "target": "gemini-2.5-flash"
1380
+ "target": "gemini-3.5-flash"
1318
1381
  }
1319
1382
  ]
1320
1383
  },
@@ -1447,7 +1510,7 @@ their corresponding top-level category object in your `settings.json` file.
1447
1510
  }
1448
1511
  },
1449
1512
  {
1450
- "model": "gemini-2.5-flash",
1513
+ "model": "gemini-3.5-flash",
1451
1514
  "isLastResort": true,
1452
1515
  "maxAttempts": 10,
1453
1516
  "actions": {
@@ -1482,7 +1545,7 @@ their corresponding top-level category object in your `settings.json` file.
1482
1545
  }
1483
1546
  },
1484
1547
  {
1485
- "model": "gemini-2.5-flash",
1548
+ "model": "gemini-3.5-flash",
1486
1549
  "isLastResort": true,
1487
1550
  "maxAttempts": 10,
1488
1551
  "actions": {
@@ -1501,7 +1564,7 @@ their corresponding top-level category object in your `settings.json` file.
1501
1564
  ],
1502
1565
  "lite": [
1503
1566
  {
1504
- "model": "flash-lite",
1567
+ "model": "gemini-3.1-flash-lite",
1505
1568
  "actions": {
1506
1569
  "terminal": "silent",
1507
1570
  "transient": "silent",
@@ -1516,7 +1579,7 @@ their corresponding top-level category object in your `settings.json` file.
1516
1579
  }
1517
1580
  },
1518
1581
  {
1519
- "model": "gemini-2.5-flash",
1582
+ "model": "gemini-3.5-flash",
1520
1583
  "actions": {
1521
1584
  "terminal": "silent",
1522
1585
  "transient": "silent",
@@ -8,16 +8,19 @@ import { BaseLlmClient } from '../core/baseLlmClient.js';
8
8
  import { FakeContentGenerator } from '../core/fakeContentGenerator.js';
9
9
  import { Config } from '../config/config.js';
10
10
  import { RetryableQuotaError } from '../utils/googleQuotaErrors.js';
11
- import { PREVIEW_GEMINI_MODEL, PREVIEW_GEMINI_FLASH_MODEL, PREVIEW_GEMINI_MODEL_AUTO, } from '../config/models.js';
11
+ import { PREVIEW_GEMINI_MODEL, PREVIEW_GEMINI_FLASH_MODEL, PREVIEW_GEMINI_MODEL_AUTO, resetModelsForTesting, } from '../config/models.js';
12
12
  import fs from 'node:fs';
13
13
  import { AuthType } from '../core/contentGenerator.js';
14
14
  import { LlmRole } from '../telemetry/types.js';
15
+ import { normalizeModelId } from '../utils/modelUtils.js';
16
+ import { ExperimentFlags } from '../code_assist/experiments/flagNames.js';
15
17
  vi.mock('node:fs');
16
18
  describe('Auto Routing Fallback Integration', () => {
17
19
  let config;
18
20
  let fakeGenerator;
19
21
  let client;
20
22
  beforeEach(() => {
23
+ resetModelsForTesting();
21
24
  vi.useFakeTimers();
22
25
  vi.spyOn(Config.prototype, 'getHasAccessToPreviewModel').mockReturnValue(true);
23
26
  // Mock fs to avoid real file system access
@@ -52,6 +55,7 @@ describe('Auto Routing Fallback Integration', () => {
52
55
  afterEach(() => {
53
56
  vi.useRealTimers();
54
57
  vi.restoreAllMocks();
58
+ resetModelsForTesting();
55
59
  });
56
60
  it('should fallback to Flash after 3 tries and try 10 times for Flash in auto mode', async () => {
57
61
  // Instantiate real Config in auto mode
@@ -74,11 +78,12 @@ describe('Auto Routing Fallback Integration', () => {
74
78
  };
75
79
  // Spy on generateContent to simulate failures
76
80
  vi.spyOn(fakeGenerator, 'generateContent').mockImplementation(async (params) => {
77
- if (params.model === PREVIEW_GEMINI_MODEL) {
81
+ const modelId = normalizeModelId(params.model ?? '');
82
+ if (modelId === PREVIEW_GEMINI_MODEL) {
78
83
  attemptsPro++;
79
84
  throw new RetryableQuotaError('Quota exceeded for Pro', mockGoogleApiError, 0);
80
85
  }
81
- else if (params.model === PREVIEW_GEMINI_FLASH_MODEL) {
86
+ else if (modelId === PREVIEW_GEMINI_FLASH_MODEL) {
82
87
  attemptsFlash++;
83
88
  throw new RetryableQuotaError('Quota exceeded for Flash', mockGoogleApiError, 0);
84
89
  }
@@ -86,7 +91,7 @@ describe('Auto Routing Fallback Integration', () => {
86
91
  });
87
92
  // Set a fallback handler that approves the switch (simulating user or auto approval)
88
93
  config.setFallbackModelHandler(async (failed, _fallback, _error) => {
89
- if (failed === PREVIEW_GEMINI_FLASH_MODEL) {
94
+ if (normalizeModelId(failed) === PREVIEW_GEMINI_FLASH_MODEL) {
90
95
  return 'stop'; // Stop retrying after Flash fails
91
96
  }
92
97
  return 'retry_always'; // Trigger fallback to Flash
@@ -127,7 +132,8 @@ describe('Auto Routing Fallback Integration', () => {
127
132
  };
128
133
  // Spy on generateContent to simulate failures
129
134
  vi.spyOn(fakeGenerator, 'generateContent').mockImplementation(async (params) => {
130
- if (params.model === PREVIEW_GEMINI_MODEL) {
135
+ const modelId = normalizeModelId(params.model ?? '');
136
+ if (modelId === normalizeModelId(PREVIEW_GEMINI_MODEL)) {
131
137
  attemptsPro++;
132
138
  throw new RetryableQuotaError('Quota exceeded for Pro', mockGoogleApiError, 0);
133
139
  }
@@ -152,7 +158,67 @@ describe('Auto Routing Fallback Integration', () => {
152
158
  expect(attemptsPro).toBe(10);
153
159
  // Verify handler was called once after 10 attempts to prompt user
154
160
  expect(handler).toHaveBeenCalledTimes(1);
155
- expect(handler).toHaveBeenCalledWith(PREVIEW_GEMINI_MODEL, PREVIEW_GEMINI_FLASH_MODEL, expect.any(RetryableQuotaError));
161
+ expect(handler).toHaveBeenCalledWith('gemini-3-pro-preview', 'gemini-3-flash-preview', expect.any(RetryableQuotaError));
162
+ });
163
+ it('should fallback to gemini-3.8-flash when hasLatestFlashGAAccess is enabled', async () => {
164
+ config = new Config({
165
+ sessionId: 'test-session-latest-flash',
166
+ targetDir: '/test',
167
+ debugMode: false,
168
+ cwd: '/test',
169
+ model: PREVIEW_GEMINI_MODEL_AUTO,
170
+ });
171
+ vi.spyOn(config, 'isInteractive').mockReturnValue(true);
172
+ config.setExperiments({
173
+ flags: {
174
+ [ExperimentFlags.LATEST_FLASH_GA_LAUNCHED]: {
175
+ boolValue: true,
176
+ },
177
+ },
178
+ experimentIds: [],
179
+ });
180
+ client = new BaseLlmClient(fakeGenerator, config, AuthType.LOGIN_WITH_GOOGLE);
181
+ let attemptsPro = 0;
182
+ let attemptsFlash = 0;
183
+ const mockGoogleApiError = {
184
+ code: 429,
185
+ message: 'Quota exceeded',
186
+ details: [],
187
+ };
188
+ vi.spyOn(fakeGenerator, 'generateContent').mockImplementation(async (params) => {
189
+ const modelId = normalizeModelId(params.model ?? '');
190
+ if (modelId === PREVIEW_GEMINI_MODEL) {
191
+ attemptsPro++;
192
+ throw new RetryableQuotaError('Quota exceeded for Pro', mockGoogleApiError, 0);
193
+ }
194
+ else if (modelId === 'gemini-3.8-flash') {
195
+ attemptsFlash++;
196
+ return {
197
+ candidates: [
198
+ {
199
+ content: {
200
+ role: 'model',
201
+ parts: [{ text: 'Latest flash success' }],
202
+ },
203
+ },
204
+ ],
205
+ };
206
+ }
207
+ throw new Error(`Unexpected model: ${params.model}`);
208
+ });
209
+ config.setFallbackModelHandler(async (_failed, _fallback, _error) => 'retry_always');
210
+ const promise = client.generateContent({
211
+ modelConfigKey: { model: PREVIEW_GEMINI_MODEL, isChatModel: true },
212
+ contents: [{ role: 'user', parts: [{ text: 'test query' }] }],
213
+ abortSignal: new AbortController().signal,
214
+ promptId: 'test-prompt',
215
+ role: LlmRole.UTILITY_TOOL,
216
+ });
217
+ await vi.runAllTimersAsync();
218
+ const result = await promise;
219
+ expect(result.candidates?.[0]?.content?.parts?.[0]?.text).toBe('Latest flash success');
220
+ expect(attemptsPro).toBe(3);
221
+ expect(attemptsFlash).toBe(1);
156
222
  });
157
223
  it('should fallback to Flash after 3 tries in experimental dynamic mode', async () => {
158
224
  // Instantiate real Config in auto mode
@@ -177,11 +243,12 @@ describe('Auto Routing Fallback Integration', () => {
177
243
  };
178
244
  // Spy on generateContent to simulate failures
179
245
  vi.spyOn(fakeGenerator, 'generateContent').mockImplementation(async (params) => {
180
- if (params.model === PREVIEW_GEMINI_MODEL) {
246
+ const modelId = normalizeModelId(params.model ?? '');
247
+ if (modelId === PREVIEW_GEMINI_MODEL) {
181
248
  attemptsPro++;
182
249
  throw new RetryableQuotaError('Quota exceeded for Pro', mockGoogleApiError, 0);
183
250
  }
184
- else if (params.model === PREVIEW_GEMINI_FLASH_MODEL) {
251
+ else if (modelId === PREVIEW_GEMINI_FLASH_MODEL) {
185
252
  attemptsFlash++;
186
253
  throw new RetryableQuotaError('Quota exceeded for Flash', mockGoogleApiError, 0);
187
254
  }
@@ -189,7 +256,7 @@ describe('Auto Routing Fallback Integration', () => {
189
256
  });
190
257
  // Set a fallback handler that approves the switch
191
258
  configDynamic.setFallbackModelHandler(async (failed, _fallback, _error) => {
192
- if (failed === PREVIEW_GEMINI_FLASH_MODEL) {
259
+ if (normalizeModelId(failed) === PREVIEW_GEMINI_FLASH_MODEL) {
193
260
  return 'stop';
194
261
  }
195
262
  return 'retry_always';
@@ -230,11 +297,12 @@ describe('Auto Routing Fallback Integration', () => {
230
297
  };
231
298
  // Turn 1: Pro fails, Flash succeeds
232
299
  vi.spyOn(fakeGenerator, 'generateContent').mockImplementation(async (params) => {
233
- if (params.model === PREVIEW_GEMINI_MODEL) {
300
+ const modelId = normalizeModelId(params.model ?? '');
301
+ if (modelId === PREVIEW_GEMINI_MODEL) {
234
302
  attemptsPro++;
235
303
  throw new RetryableQuotaError('Quota exceeded for Pro', mockGoogleApiError, 0);
236
304
  }
237
- else if (params.model === PREVIEW_GEMINI_FLASH_MODEL) {
305
+ else if (modelId === PREVIEW_GEMINI_FLASH_MODEL) {
238
306
  attemptsFlash++;
239
307
  return {
240
308
  candidates: [
@@ -265,7 +333,8 @@ describe('Auto Routing Fallback Integration', () => {
265
333
  // Turn 2: Pro should be attempted again!
266
334
  // Let's make it succeed this time to verify it works!
267
335
  vi.spyOn(fakeGenerator, 'generateContent').mockImplementation(async (params) => {
268
- if (params.model === PREVIEW_GEMINI_MODEL) {
336
+ const modelId = normalizeModelId(params.model ?? '');
337
+ if (modelId === PREVIEW_GEMINI_MODEL) {
269
338
  return {
270
339
  candidates: [
271
340
  { content: { role: 'model', parts: [{ text: 'Pro success' }] } },
@@ -303,11 +372,12 @@ describe('Auto Routing Fallback Integration', () => {
303
372
  details: [],
304
373
  };
305
374
  vi.spyOn(fakeGenerator, 'generateContent').mockImplementation(async (params) => {
306
- if (params.model === PREVIEW_GEMINI_MODEL) {
375
+ const modelId = normalizeModelId(params.model ?? '');
376
+ if (modelId === PREVIEW_GEMINI_MODEL) {
307
377
  attemptsPro++;
308
378
  throw new RetryableQuotaError('Quota exceeded for Pro', mockGoogleApiError, 0);
309
379
  }
310
- else if (params.model === PREVIEW_GEMINI_FLASH_MODEL) {
380
+ else if (modelId === PREVIEW_GEMINI_FLASH_MODEL) {
311
381
  attemptsFlash++;
312
382
  return {
313
383
  candidates: [
@@ -1 +1 @@
1
- {"version":3,"file":"autoRoutingFallback.integration.test.js","sourceRoot":"","sources":["../../../src/availability/autoRoutingFallback.integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autoRoutingFallback.integration.test.js","sourceRoot":"","sources":["../../../src/availability/autoRoutingFallback.integration.test.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,10 @@ export interface ModelPolicyOptions {
10
10
  isAutoSelection?: boolean;
11
11
  userTier?: UserTierId;
12
12
  useGemini31?: boolean;
13
+ useLatestFlashLite?: boolean;
13
14
  useGemini31FlashLite?: boolean;
14
15
  useCustomToolModel?: boolean;
16
+ useLatestFlash?: boolean;
15
17
  useGemini3_5Flash?: boolean;
16
18
  }
17
19
  export declare const SILENT_ACTIONS: ModelPolicyActionMap;
@@ -30,28 +30,13 @@ const AUTO_ROUTING_OVERRIDES = {
30
30
  transient: 'sticky_retry',
31
31
  },
32
32
  };
33
- const FLASH_LITE_CHAIN = [
34
- definePolicy({
35
- model: DEFAULT_GEMINI_FLASH_LITE_MODEL,
36
- actions: SILENT_ACTIONS,
37
- }),
38
- definePolicy({
39
- model: DEFAULT_GEMINI_FLASH_MODEL,
40
- actions: SILENT_ACTIONS,
41
- }),
42
- definePolicy({
43
- model: DEFAULT_GEMINI_MODEL,
44
- isLastResort: true,
45
- actions: SILENT_ACTIONS,
46
- }),
47
- ];
48
33
  /**
49
34
  * Returns the default ordered model policy chain for the user.
50
35
  */
51
36
  export function getModelPolicyChain(options) {
52
37
  const isAuto = options.isAutoSelection ?? false;
53
38
  if (options.previewEnabled) {
54
- const proModel = resolveModel(PREVIEW_GEMINI_MODEL, options.useGemini31, options.useCustomToolModel, true, undefined, options.useGemini3_5Flash);
39
+ const proModel = resolveModel(PREVIEW_GEMINI_MODEL, options.useGemini31, options.useCustomToolModel, true, undefined, options.useLatestFlash, options.useLatestFlashLite);
55
40
  return [
56
41
  definePolicy({
57
42
  model: proModel,
@@ -86,7 +71,21 @@ export function createSingleModelChain(model) {
86
71
  return [definePolicy({ model, isLastResort: true })];
87
72
  }
88
73
  export function getFlashLitePolicyChain() {
89
- return cloneChain(FLASH_LITE_CHAIN);
74
+ return [
75
+ definePolicy({
76
+ model: DEFAULT_GEMINI_FLASH_LITE_MODEL,
77
+ actions: SILENT_ACTIONS,
78
+ }),
79
+ definePolicy({
80
+ model: DEFAULT_GEMINI_FLASH_MODEL,
81
+ actions: SILENT_ACTIONS,
82
+ }),
83
+ definePolicy({
84
+ model: DEFAULT_GEMINI_MODEL,
85
+ isLastResort: true,
86
+ actions: SILENT_ACTIONS,
87
+ }),
88
+ ];
90
89
  }
91
90
  /**
92
91
  * Provides a default policy scaffold for models not present in the catalog.
@@ -122,14 +121,4 @@ function definePolicy(config) {
122
121
  },
123
122
  };
124
123
  }
125
- function clonePolicy(policy) {
126
- return {
127
- ...policy,
128
- actions: { ...policy.actions },
129
- stateTransitions: { ...policy.stateTransitions },
130
- };
131
- }
132
- function cloneChain(chain) {
133
- return chain.map(clonePolicy);
134
- }
135
124
  //# sourceMappingURL=policyCatalog.js.map
@@ -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":"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"}
@@ -3,10 +3,13 @@
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 { createDefaultPolicy, getModelPolicyChain, validateModelPolicyChain, } from './policyCatalog.js';
8
- import { DEFAULT_GEMINI_MODEL, PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL, PREVIEW_GEMINI_3_1_MODEL, PREVIEW_GEMINI_MODEL, } from '../config/models.js';
6
+ import { describe, it, expect, afterEach } from 'vitest';
7
+ import { createDefaultPolicy, getModelPolicyChain, getFlashLitePolicyChain, validateModelPolicyChain, } from './policyCatalog.js';
8
+ import { DEFAULT_GEMINI_MODEL, PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL, PREVIEW_GEMINI_3_1_MODEL, PREVIEW_GEMINI_MODEL, setFlashLiteModel, resetModelsForTesting, LATEST_GEMINI_FLASH_LITE_MODEL, } from '../config/models.js';
9
9
  describe('policyCatalog', () => {
10
+ afterEach(() => {
11
+ resetModelsForTesting();
12
+ });
10
13
  it('returns preview chain when preview enabled', () => {
11
14
  const chain = getModelPolicyChain({ previewEnabled: true });
12
15
  expect(chain[0]?.model).toBe(PREVIEW_GEMINI_MODEL);
@@ -56,6 +59,11 @@ describe('policyCatalog', () => {
56
59
  const secondCall = getModelPolicyChain({ previewEnabled: false });
57
60
  expect(secondCall[0].actions.terminal).toBe('prompt');
58
61
  });
62
+ it('updates getFlashLitePolicyChain head when setFlashLiteModel is called', () => {
63
+ setFlashLiteModel(LATEST_GEMINI_FLASH_LITE_MODEL);
64
+ const chain = getFlashLitePolicyChain();
65
+ expect(chain[0]?.model).toBe(LATEST_GEMINI_FLASH_LITE_MODEL);
66
+ });
59
67
  it('passes when there is exactly one last-resort policy', () => {
60
68
  const validChain = [
61
69
  createDefaultPolicy('test-model'),
@@ -1 +1 @@
1
- {"version":3,"file":"policyCatalog.test.js","sourceRoot":"","sources":["../../../src/availability/policyCatalog.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,oBAAoB,EACpB,qCAAqC,EACrC,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,KAAK,GAAG,mBAAmB,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,KAAK,GAAG,mBAAmB,CAAC;YAChC,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wFAAwF,EAAE,GAAG,EAAE;QAChG,MAAM,KAAK,GAAG,mBAAmB,CAAC;YAChC,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,IAAI;YACjB,kBAAkB,EAAE,IAAI;SACzB,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACpE,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,KAAK,GAAG,mBAAmB,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,CAAC,aAAa,CAAC,GAAG,mBAAmB,CAAC;YAC1C,cAAc,EAAE,IAAI;YACpB,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;QACH,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvD,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,CAAC,aAAa,CAAC,GAAG,mBAAmB,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,SAAS,GAAG,mBAAmB,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzC,MAAM,UAAU,GAAG,mBAAmB,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,UAAU,GAAG;YACjB,mBAAmB,CAAC,YAAY,CAAC;YACjC,EAAE,GAAG,mBAAmB,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE;SAC9D,CAAC;QACF,MAAM,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,KAAK,GAAG;YACZ,mBAAmB,CAAC,SAAS,CAAC;YAC9B,mBAAmB,CAAC,SAAS,CAAC;SAC/B,CAAC;QACF,MAAM,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CACnD,gCAAgC,CACjC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,KAAK,GAAG,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CACnD,gCAAgC,CACjC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,KAAK,GAAG;YACZ,EAAE,GAAG,mBAAmB,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE;YACzD,EAAE,GAAG,mBAAmB,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE;SAC1D,CAAC;QACF,MAAM,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CACnD,mCAAmC,CACpC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"policyCatalog.test.js","sourceRoot":"","sources":["../../../src/availability/policyCatalog.test.ts"],"names":[],"mappings":"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"}