@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
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { createDefaultPolicy, createSingleModelChain, getModelPolicyChain, getFlashLitePolicyChain, SILENT_ACTIONS, } from './policyCatalog.js';
7
- import { DEFAULT_GEMINI_FLASH_LITE_MODEL, DEFAULT_GEMINI_MODEL, PREVIEW_GEMINI_MODEL_AUTO, isAutoModel, isGemini3Model, resolveModel, } from '../config/models.js';
7
+ import { DEFAULT_GEMINI_FLASH_LITE_MODEL, DEFAULT_GEMINI_MODEL, DEFAULT_GEMINI_MODEL_AUTO, PREVIEW_GEMINI_MODEL_AUTO, isAutoModel, isGemini3Model, resolveModel, } from '../config/models.js';
8
8
  import { normalizeModelId } from '../utils/modelUtils.js';
9
9
  import { ApprovalMode } from '../policy/types.js';
10
10
  /**
@@ -21,10 +21,11 @@ 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
+ const useLatestFlash = config.hasLatestFlashGAAccess?.() ?? false;
25
+ const useLatestFlashLite = config.hasLatestFlashLiteGAAccess?.() ?? false;
25
26
  // Capture the original family intent before any normalization or early downgrade.
26
27
  const isOriginallyGemini3 = isGemini3Model(modelFromConfig, config);
27
- const resolvedModel = normalizeModelId(resolveModel(modelFromConfig, useGemini31, useCustomToolModel, hasAccessToPreview, config, useGemini3_5Flash));
28
+ const resolvedModel = normalizeModelId(resolveModel(modelFromConfig, useGemini31, useCustomToolModel, hasAccessToPreview, config, useLatestFlash, useLatestFlashLite));
28
29
  const isAutoPreferred = normalizedPreferredModel
29
30
  ? isAutoModel(normalizedPreferredModel, config)
30
31
  : false;
@@ -37,7 +38,8 @@ export function resolvePolicyChain(config, preferredModel, wrapsAround = false)
37
38
  const context = {
38
39
  useGemini3_1: useGemini31,
39
40
  useCustomTools: useCustomToolModel,
40
- useGemini3_5Flash,
41
+ useLatestFlash,
42
+ useLatestFlashLite,
41
43
  };
42
44
  if (resolvedModel === DEFAULT_GEMINI_FLASH_LITE_MODEL) {
43
45
  chain = config.modelConfigService.resolveChain('lite', context);
@@ -52,6 +54,7 @@ export function resolvePolicyChain(config, preferredModel, wrapsAround = false)
52
54
  if (!chain) {
53
55
  const isAutoSelection = isAutoPreferred || isAutoConfigured;
54
56
  const previewEnabled = hasAccessToPreview &&
57
+ configuredModel !== DEFAULT_GEMINI_MODEL_AUTO &&
55
58
  (isGemini3Model(resolvedModel, config) ||
56
59
  normalizedPreferredModel === PREVIEW_GEMINI_MODEL_AUTO ||
57
60
  configuredModel === PREVIEW_GEMINI_MODEL_AUTO);
@@ -74,16 +77,18 @@ export function resolvePolicyChain(config, preferredModel, wrapsAround = false)
74
77
  else if (isOriginallyGemini3 || isAutoPreferred || isAutoConfigured) {
75
78
  const isAutoSelection = isAutoPreferred || isAutoConfigured;
76
79
  if (hasAccessToPreview) {
77
- const previewEnabled = isOriginallyGemini3 ||
78
- normalizedPreferredModel === PREVIEW_GEMINI_MODEL_AUTO ||
79
- configuredModel === PREVIEW_GEMINI_MODEL_AUTO;
80
+ const previewEnabled = configuredModel !== DEFAULT_GEMINI_MODEL_AUTO &&
81
+ (isOriginallyGemini3 ||
82
+ normalizedPreferredModel === PREVIEW_GEMINI_MODEL_AUTO ||
83
+ configuredModel === PREVIEW_GEMINI_MODEL_AUTO);
80
84
  chain = getModelPolicyChain({
81
85
  previewEnabled,
82
86
  isAutoSelection,
83
87
  userTier: config.getUserTier(),
84
88
  useGemini31,
85
89
  useCustomToolModel,
86
- useGemini3_5Flash,
90
+ useLatestFlash,
91
+ useLatestFlashLite,
87
92
  });
88
93
  }
89
94
  else {
@@ -95,7 +100,8 @@ export function resolvePolicyChain(config, preferredModel, wrapsAround = false)
95
100
  userTier: config.getUserTier(),
96
101
  useGemini31,
97
102
  useCustomToolModel,
98
- useGemini3_5Flash,
103
+ useLatestFlash,
104
+ useLatestFlashLite,
99
105
  });
100
106
  }
101
107
  }
@@ -178,9 +184,9 @@ export function createAvailabilityContextProvider(config, modelGetter) {
178
184
  export function selectModelForAvailability(config, requestedModel) {
179
185
  const chain = resolvePolicyChain(config, requestedModel);
180
186
  const selection = config
181
- .getModelAvailabilityService()
182
- .selectFirstAvailable(chain.map((p) => p.model));
183
- if (selection.selectedModel)
187
+ .getModelAvailabilityService?.()
188
+ ?.selectFirstAvailable(chain.map((p) => p.model));
189
+ if (selection?.selectedModel)
184
190
  return selection;
185
191
  const backupModel = chain.find((p) => p.isLastResort)?.model ?? DEFAULT_GEMINI_MODEL;
186
192
  return { selectedModel: backupModel, skipped: [] };
@@ -1 +1 @@
1
- {"version":3,"file":"policyHelpers.js","sourceRoot":"","sources":["../../../src/availability/policyHelpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,EACpB,yBAAyB,EACzB,WAAW,EACX,cAAc,EACd,YAAY,GACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAc,EACd,cAAuB,EACvB,cAAuB,KAAK;IAE5B,MAAM,wBAAwB,GAAG,cAAc;QAC7C,CAAC,CAAC,gBAAgB,CAAC,cAAc,CAAC;QAClC,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,eAAe,GAAG,gBAAgB,CACtC,wBAAwB,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAC3E,CAAC;IACF,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE5D,IAAI,KAAmC,CAAC;IACxC,MAAM,WAAW,GAAG,MAAM,CAAC,uBAAuB,EAAE,EAAE,IAAI,KAAK,CAAC;IAChE,MAAM,kBAAkB,GAAG,MAAM,CAAC,yBAAyB,EAAE,EAAE,IAAI,KAAK,CAAC;IACzE,MAAM,kBAAkB,GAAG,MAAM,CAAC,0BAA0B,EAAE,EAAE,IAAI,KAAK,CAAC;IAC1E,MAAM,iBAAiB,GAAG,MAAM,CAAC,wBAAwB,EAAE,EAAE,IAAI,KAAK,CAAC;IAEvE,kFAAkF;IAClF,MAAM,mBAAmB,GAAG,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAEpE,MAAM,aAAa,GAAG,gBAAgB,CACpC,YAAY,CACV,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,EACN,iBAAiB,CAClB,CACF,CAAC;IACF,MAAM,eAAe,GAAG,wBAAwB;QAC9C,CAAC,CAAC,WAAW,CAAC,wBAAwB,EAAE,MAAM,CAAC;QAC/C,CAAC,CAAC,KAAK,CAAC;IACV,MAAM,gBAAgB,GAAG,WAAW,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAE9D,2EAA2E;IAC3E,kFAAkF;IAClF,MAAM,oBAAoB,GACxB,WAAW,IAAI,eAAe,IAAI,gBAAgB,IAAI,mBAAmB,CAAC;IAE5E,uBAAuB;IACvB,IAAI,MAAM,CAAC,wCAAwC,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC;QACjE,MAAM,OAAO,GAAG;YACd,YAAY,EAAE,WAAW;YACzB,cAAc,EAAE,kBAAkB;YAClC,iBAAiB;SAClB,CAAC;QAEF,IAAI,aAAa,KAAK,+BAA+B,EAAE,CAAC;YACtD,KAAK,GAAG,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClE,CAAC;aAAM,IAAI,mBAAmB,IAAI,eAAe,IAAI,gBAAgB,EAAE,CAAC;YACtE,uEAAuE;YACvE,IACE,gBAAgB;gBAChB,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,eAAe,CAAC,EACxD,CAAC;gBACD,KAAK,GAAG,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAC5C,eAAe,EACf,OAAO,CACR,CAAC;YACJ,CAAC;YACD,2CAA2C;YAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,eAAe,GAAG,eAAe,IAAI,gBAAgB,CAAC;gBAC5D,MAAM,cAAc,GAClB,kBAAkB;oBAClB,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC;wBACpC,wBAAwB,KAAK,yBAAyB;wBACtD,eAAe,KAAK,yBAAyB,CAAC,CAAC;gBACnD,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClD,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxD,KAAK,GAAG,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAC5C,GAAG,UAAU,GAAG,QAAQ,EAAE,EAC1B,OAAO,CACR,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,+DAA+D;YAC/D,KAAK,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,GAAG,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC;IAC1E,CAAC;SAAM,CAAC;QACN,sBAAsB;QAEtB,IAAI,aAAa,KAAK,+BAA+B,EAAE,CAAC;YACtD,KAAK,GAAG,uBAAuB,EAAE,CAAC;QACpC,CAAC;aAAM,IAAI,mBAAmB,IAAI,eAAe,IAAI,gBAAgB,EAAE,CAAC;YACtE,MAAM,eAAe,GAAG,eAAe,IAAI,gBAAgB,CAAC;YAC5D,IAAI,kBAAkB,EAAE,CAAC;gBACvB,MAAM,cAAc,GAClB,mBAAmB;oBACnB,wBAAwB,KAAK,yBAAyB;oBACtD,eAAe,KAAK,yBAAyB,CAAC;gBAChD,KAAK,GAAG,mBAAmB,CAAC;oBAC1B,cAAc;oBACd,eAAe;oBACf,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE;oBAC9B,WAAW;oBACX,kBAAkB;oBAClB,iBAAiB;iBAClB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,mEAAmE;gBACnE,kCAAkC;gBAClC,KAAK,GAAG,mBAAmB,CAAC;oBAC1B,cAAc,EAAE,KAAK;oBACrB,eAAe;oBACf,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE;oBAC9B,WAAW;oBACX,kBAAkB;oBAClB,iBAAiB;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,GAAG,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC;IAC1E,CAAC;IACD,qEAAqE;IACrE,IAAI,MAAM,EAAE,eAAe,EAAE,EAAE,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;QACtD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC5B,GAAG,MAAM;YACT,OAAO,EAAE,EAAE,GAAG,cAAc,EAAE;SAC/B,CAAC,CAAC,CAAC;IACN,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAC1B,KAAoB,EACpB,aAAqB,EACrB,WAAoB;IAEpB,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CACjC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,kBAAkB,CAClE,CAAC;IACF,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;QACvB,OAAO,WAAW;YAChB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,8EAA8E;IAC9E,8DAA8D;IAC9D,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAuB,EACvB,WAAmB,EACnB,cAAuB,KAAK;IAK5B,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAC3B,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,gBAAgB,CAChE,CAAC;IACF,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACxD,CAAC;IACD,wEAAwE;IACxE,6DAA6D;IAC7D,MAAM,UAAU,GAAG,WAAW;QAC5B,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAChC,OAAO;QACL,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC;QAC1B,UAAU;KACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,WAAwB,EACxB,MAAmB;IAEnB,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC;AACnD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iCAAiC,CAC/C,MAAc,EACd,WAAyB;IAEzB,OAAO,GAAG,EAAE;QACV,MAAM,OAAO,GAAG,MAAM,CAAC,2BAA2B,EAAE,CAAC;QACrD,MAAM,YAAY,GAAG,WAAW,EAAE,CAAC;QAEnC,8DAA8D;QAC9D,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC;QAE3D,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAClD,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,MAAc,EACd,cAAsB;IAEtB,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,MAAM;SACrB,2BAA2B,EAAE;SAC7B,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnD,IAAI,SAAS,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IAE9C,MAAM,WAAW,GACf,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,IAAI,oBAAoB,CAAC;IAEnE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAc,EACd,cAA8B,EAC9B,UAAwC,EAAE;IAE1C,MAAM,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC7B,MAAM,SAAS,GAAG,0BAA0B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAE5D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,qBAAqB,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,IAAI,KAAK,CAAC;IACpD,IAAI,qBAAqB,GAAG,QAAQ,CAAC,qBAAqB,CAAC;IAE3D,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACzB,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;YACnE,GAAG,cAAc;YACjB,KAAK,EAAE,UAAU;SAClB,CAAC,CAAC;QACH,qBAAqB,GAAG,gBAAgB,CAAC,qBAAqB,CAAC;IACjE,CAAC;IAED,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QAC3D,MAAM,CAAC,2BAA2B,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;IAEzD,OAAO;QACL,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,qBAAqB;QAC7B,WAAW,EAAE,SAAS,CAAC,QAAQ,IAAI,MAAM,EAAE,WAAW;KACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,UAAoE,EACpE,WAAwB;IAExB,MAAM,OAAO,GAAG,UAAU,EAAE,EAAE,CAAC;IAC/B,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,WAAW,CAAC,CAAC;IAClE,IAAI,CAAC,UAAU;QAAE,OAAO;IAExB,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO,CAAC,OAAO,CAAC,YAAY,CAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,EACpB,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAClD,CAAC;IACJ,CAAC;SAAM,IAAI,UAAU,KAAK,cAAc,EAAE,CAAC;QACzC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAClC,OAAO,CAAC,MAAM,CAAC,KAAK,EACpB,OAAO,CAAC,MAAM,CAAC,WAAW,CAC3B,CAAC;QACF,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"policyHelpers.js","sourceRoot":"","sources":["../../../src/availability/policyHelpers.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,10 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { describe, it, expect, vi, beforeEach } from 'vitest';
6
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
7
7
  import { resolvePolicyChain, buildFallbackPolicyContext, applyModelSelection, applyAvailabilityTransition, } from './policyHelpers.js';
8
8
  import { createDefaultPolicy, SILENT_ACTIONS } from './policyCatalog.js';
9
- import { DEFAULT_GEMINI_FLASH_LITE_MODEL, DEFAULT_GEMINI_MODEL_AUTO, PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL, PREVIEW_GEMINI_3_1_MODEL, } from '../config/models.js';
9
+ import { DEFAULT_GEMINI_FLASH_LITE_MODEL, BASE_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_MODEL_AUTO, PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL, PREVIEW_GEMINI_3_1_MODEL, resetModelsForTesting, } from '../config/models.js';
10
10
  import { AuthType } from '../core/contentGenerator.js';
11
11
  import { ModelConfigService } from '../services/modelConfigService.js';
12
12
  import { DEFAULT_MODEL_CONFIGS } from '../config/defaultModelConfigs.js';
@@ -32,6 +32,12 @@ const createMockConfig = (overrides = {}) => {
32
32
  return config;
33
33
  };
34
34
  describe('policyHelpers', () => {
35
+ beforeEach(() => {
36
+ resetModelsForTesting();
37
+ });
38
+ afterEach(() => {
39
+ resetModelsForTesting();
40
+ });
35
41
  describe('resolvePolicyChain', () => {
36
42
  it('returns a single-model chain for a custom model', () => {
37
43
  const config = createMockConfig({
@@ -56,7 +62,7 @@ describe('policyHelpers', () => {
56
62
  // Expect default chain [Pro, Flash]
57
63
  expect(chain).toHaveLength(2);
58
64
  expect(chain[0]?.model).toBe('gemini-2.5-pro');
59
- expect(chain[1]?.model).toBe('gemini-2.5-flash');
65
+ expect(chain[1]?.model).toBe(BASE_GEMINI_FLASH_MODEL);
60
66
  });
61
67
  it('uses auto chain when preferred model is auto', () => {
62
68
  const config = createMockConfig({
@@ -65,7 +71,7 @@ describe('policyHelpers', () => {
65
71
  const chain = resolvePolicyChain(config, DEFAULT_GEMINI_MODEL_AUTO);
66
72
  expect(chain).toHaveLength(2);
67
73
  expect(chain[0]?.model).toBe('gemini-2.5-pro');
68
- expect(chain[1]?.model).toBe('gemini-2.5-flash');
74
+ expect(chain[1]?.model).toBe(BASE_GEMINI_FLASH_MODEL);
69
75
  });
70
76
  it('uses auto chain when configured model is auto even if preferred is concrete', () => {
71
77
  const config = createMockConfig({
@@ -74,16 +80,16 @@ describe('policyHelpers', () => {
74
80
  const chain = resolvePolicyChain(config, 'gemini-2.5-pro');
75
81
  expect(chain).toHaveLength(2);
76
82
  expect(chain[0]?.model).toBe('gemini-2.5-pro');
77
- expect(chain[1]?.model).toBe('gemini-2.5-flash');
83
+ expect(chain[1]?.model).toBe(BASE_GEMINI_FLASH_MODEL);
78
84
  });
79
85
  it('starts chain from preferredModel when model is "auto"', () => {
80
86
  const config = createMockConfig({
81
87
  getModel: () => 'auto',
82
88
  });
83
- const chain = resolvePolicyChain(config, 'gemini-2.5-flash');
89
+ const chain = resolvePolicyChain(config, BASE_GEMINI_FLASH_MODEL);
84
90
  // Due to Gemini 2.x wrapsAround, the chain will contain both flash and pro
85
91
  expect(chain.length).toBeGreaterThanOrEqual(1);
86
- expect(chain[0]?.model).toBe('gemini-2.5-flash');
92
+ expect(chain[0]?.model).toBe(BASE_GEMINI_FLASH_MODEL);
87
93
  });
88
94
  it('returns flash-lite chain when preferred model is flash-lite', () => {
89
95
  const config = createMockConfig({
@@ -92,7 +98,7 @@ describe('policyHelpers', () => {
92
98
  const chain = resolvePolicyChain(config, DEFAULT_GEMINI_FLASH_LITE_MODEL);
93
99
  expect(chain).toHaveLength(3);
94
100
  expect(chain[0]?.model).toBe('gemini-3.1-flash-lite');
95
- expect(chain[1]?.model).toBe('gemini-2.5-flash');
101
+ expect(chain[1]?.model).toBe(BASE_GEMINI_FLASH_MODEL);
96
102
  expect(chain[2]?.model).toBe('gemini-2.5-pro');
97
103
  });
98
104
  it('returns flash-lite chain when configured model is flash-lite', () => {
@@ -102,16 +108,16 @@ describe('policyHelpers', () => {
102
108
  const chain = resolvePolicyChain(config);
103
109
  expect(chain).toHaveLength(3);
104
110
  expect(chain[0]?.model).toBe('gemini-3.1-flash-lite');
105
- expect(chain[1]?.model).toBe('gemini-2.5-flash');
111
+ expect(chain[1]?.model).toBe(BASE_GEMINI_FLASH_MODEL);
106
112
  expect(chain[2]?.model).toBe('gemini-2.5-pro');
107
113
  });
108
114
  it('wraps around the chain when wrapsAround is true', () => {
109
115
  const config = createMockConfig({
110
116
  getModel: () => DEFAULT_GEMINI_MODEL_AUTO,
111
117
  });
112
- const chain = resolvePolicyChain(config, 'gemini-2.5-flash', true);
118
+ const chain = resolvePolicyChain(config, BASE_GEMINI_FLASH_MODEL, true);
113
119
  expect(chain).toHaveLength(2);
114
- expect(chain[0]?.model).toBe('gemini-2.5-flash');
120
+ expect(chain[0]?.model).toBe(BASE_GEMINI_FLASH_MODEL);
115
121
  expect(chain[1]?.model).toBe('gemini-2.5-pro');
116
122
  });
117
123
  it('proactively returns Gemini 2.5 chain if Gemini 3 requested but user lacks access', () => {
@@ -120,10 +126,10 @@ describe('policyHelpers', () => {
120
126
  getHasAccessToPreviewModel: () => false,
121
127
  });
122
128
  const chain = resolvePolicyChain(config);
123
- // Should downgrade to [Pro 2.5, Flash 2.5]
129
+ // Should downgrade to [Pro 2.5, Flash 3.5]
124
130
  expect(chain).toHaveLength(2);
125
131
  expect(chain[0]?.model).toBe('gemini-2.5-pro');
126
- expect(chain[1]?.model).toBe('gemini-2.5-flash');
132
+ expect(chain[1]?.model).toBe(BASE_GEMINI_FLASH_MODEL);
127
133
  });
128
134
  it('returns Gemini 3.1 Pro chain when launched and auto-gemini-3 requested', () => {
129
135
  const config = createMockConfig({
@@ -1 +1 @@
1
- {"version":3,"file":"policyHelpers.test.js","sourceRoot":"","sources":["../../../src/availability/policyHelpers.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policyHelpers.test.js","sourceRoot":"","sources":["../../../src/availability/policyHelpers.test.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,9 @@ 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 LATEST_FLASH_GA_LAUNCHED: 45842815;
22
+ readonly LATEST_FLASH_LITE_GA_LAUNCHED: 45827489;
23
+ /** @deprecated Use LATEST_FLASH_GA_LAUNCHED */
21
24
  readonly GEMINI_3_5_FLASH_GA_LAUNCHED: 45780819;
22
25
  };
23
26
  export type ExperimentFlagName = (typeof ExperimentFlags)[keyof typeof ExperimentFlags];
@@ -18,6 +18,9 @@ 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
+ LATEST_FLASH_GA_LAUNCHED: 45842815,
22
+ LATEST_FLASH_LITE_GA_LAUNCHED: 45827489,
23
+ /** @deprecated Use LATEST_FLASH_GA_LAUNCHED */
21
24
  GEMINI_3_5_FLASH_GA_LAUNCHED: 45780819,
22
25
  };
23
26
  //# 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;IACjC,4BAA4B,EAAE,QAAQ;CAC9B,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,wBAAwB,EAAE,QAAQ;IAClC,6BAA6B,EAAE,QAAQ;IACvC,+CAA+C;IAC/C,4BAA4B,EAAE,QAAQ;CAC9B,CAAC"}
@@ -1136,11 +1136,15 @@ export declare class Config implements McpContext, AgentLoopContext {
1136
1136
  getUseCustomToolModelSync(): boolean;
1137
1137
  private isGemini31LaunchedForAuthType;
1138
1138
  /**
1139
- * Returns whether Gemini 3.5 Flash GA has been launched.
1140
- *
1141
- * Note: This method should only be called after startup, once experiments have been loaded.
1139
+ * Returns whether the latest Flash GA model (currently Gemini 3.8 Flash) has been launched.
1142
1140
  */
1141
+ hasLatestFlashGAAccess(): boolean;
1142
+ /** @deprecated Use hasLatestFlashGAAccess() */
1143
1143
  hasGemini35FlashGAAccess(): boolean;
1144
+ /**
1145
+ * Returns whether the latest Flash Lite GA model (currently Gemini 3.5 Flash Lite) has been launched.
1146
+ */
1147
+ hasLatestFlashLiteGAAccess(): boolean;
1144
1148
  /**
1145
1149
  * Returns whether Gemini 3.1 has been launched.
1146
1150
  *
@@ -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, setFlashModels, DEFAULT_GEMINI_3_5_FLASH_MODEL, SECONDARY_GEMINI_3_5_FLASH_MODEL, } 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, BASE_GEMINI_FLASH_MODEL, LATEST_GEMINI_FLASH_MODEL, LEGACY_CCPA_FLASH_MODEL, BASE_GEMINI_FLASH_LITE_MODEL, LATEST_GEMINI_FLASH_LITE_MODEL, setFlashLiteModel, } from './models.js';
49
49
  import { shouldAttemptBrowserLaunch } from '../utils/browser.js';
50
50
  import { checkPathTrust } from '../utils/trust.js';
51
51
  import { WriteTodosTool } from '../tools/write-todos.js';
@@ -1247,7 +1247,7 @@ export class Config {
1247
1247
  if (!isAutoModel(model, this)) {
1248
1248
  return {};
1249
1249
  }
1250
- const primaryModel = resolveModel(model, this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasGemini35FlashGAAccess());
1250
+ const primaryModel = resolveModel(model, this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasLatestFlashGAAccess(), this.hasLatestFlashLiteGAAccess());
1251
1251
  const isPreview = isPreviewModel(primaryModel, this);
1252
1252
  const proModel = primaryModel;
1253
1253
  const flashModel = isPreview
@@ -1274,7 +1274,7 @@ export class Config {
1274
1274
  if (pooled.remaining !== undefined) {
1275
1275
  return pooled.remaining;
1276
1276
  }
1277
- const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasGemini35FlashGAAccess());
1277
+ const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasLatestFlashGAAccess(), this.hasLatestFlashLiteGAAccess());
1278
1278
  return this.modelQuotas.get(primaryModel)?.remaining;
1279
1279
  }
1280
1280
  getQuotaLimit() {
@@ -1282,7 +1282,7 @@ export class Config {
1282
1282
  if (pooled.limit !== undefined) {
1283
1283
  return pooled.limit;
1284
1284
  }
1285
- const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasGemini35FlashGAAccess());
1285
+ const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasLatestFlashGAAccess(), this.hasLatestFlashLiteGAAccess());
1286
1286
  return this.modelQuotas.get(primaryModel)?.limit;
1287
1287
  }
1288
1288
  getQuotaResetTime() {
@@ -1290,7 +1290,7 @@ export class Config {
1290
1290
  if (pooled.resetTime !== undefined) {
1291
1291
  return pooled.resetTime;
1292
1292
  }
1293
- const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasGemini35FlashGAAccess());
1293
+ const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasLatestFlashGAAccess(), this.hasLatestFlashLiteGAAccess());
1294
1294
  return this.modelQuotas.get(primaryModel)?.resetTime;
1295
1295
  }
1296
1296
  getEmbeddingModel() {
@@ -1443,8 +1443,18 @@ export class Config {
1443
1443
  continue;
1444
1444
  }
1445
1445
  let modelId = bucket.modelId;
1446
- if (modelId === SECONDARY_GEMINI_3_5_FLASH_MODEL) {
1447
- modelId = DEFAULT_GEMINI_3_5_FLASH_MODEL;
1446
+ if (modelId === LEGACY_CCPA_FLASH_MODEL ||
1447
+ modelId === BASE_GEMINI_FLASH_MODEL ||
1448
+ modelId === LATEST_GEMINI_FLASH_MODEL) {
1449
+ modelId = this.hasLatestFlashGAAccess()
1450
+ ? LATEST_GEMINI_FLASH_MODEL
1451
+ : BASE_GEMINI_FLASH_MODEL;
1452
+ }
1453
+ else if (modelId === BASE_GEMINI_FLASH_LITE_MODEL ||
1454
+ modelId === LATEST_GEMINI_FLASH_LITE_MODEL) {
1455
+ modelId = this.hasLatestFlashLiteGAAccess()
1456
+ ? LATEST_GEMINI_FLASH_LITE_MODEL
1457
+ : BASE_GEMINI_FLASH_LITE_MODEL;
1448
1458
  }
1449
1459
  let remaining;
1450
1460
  let limit;
@@ -2371,36 +2381,49 @@ export class Config {
2371
2381
  authType === AuthType.GATEWAY);
2372
2382
  }
2373
2383
  /**
2374
- * Returns whether Gemini 3.5 Flash GA has been launched.
2375
- *
2376
- * Note: This method should only be called after startup, once experiments have been loaded.
2384
+ * Returns whether the latest Flash GA model (currently Gemini 3.8 Flash) has been launched.
2377
2385
  */
2378
- hasGemini35FlashGAAccess() {
2386
+ hasLatestFlashGAAccess() {
2379
2387
  const authType = this.contentGeneratorConfig?.authType;
2380
2388
  const hasAccess = (() => {
2381
2389
  if (this.isGemini31LaunchedForAuthType(authType)) {
2382
2390
  return true;
2383
2391
  }
2384
- return (this.experiments?.flags[ExperimentFlags.GEMINI_3_5_FLASH_GA_LAUNCHED]
2392
+ return (this.experiments?.flags[ExperimentFlags.LATEST_FLASH_GA_LAUNCHED]
2385
2393
  ?.boolValue ?? false);
2386
2394
  })();
2387
- // Used to set default flash models based on access
2388
- // TODO: Remove once the experiment for 3_5 flash rollut can be cleaned up.
2389
2395
  if (hasAccess) {
2390
- // Gemini API key users should have the ability to manually select the
2391
- // old preview flash model.
2392
2396
  if (authType === AuthType.USE_GEMINI) {
2393
- setFlashModels('gemini-3-flash-preview', 'gemini-3.5-flash');
2397
+ setFlashModels('gemini-3-flash-preview', LATEST_GEMINI_FLASH_MODEL);
2394
2398
  }
2395
2399
  else {
2396
- setFlashModels('gemini-3.5-flash', 'gemini-3.5-flash');
2400
+ setFlashModels(LATEST_GEMINI_FLASH_MODEL, LATEST_GEMINI_FLASH_MODEL);
2397
2401
  }
2398
2402
  }
2399
2403
  else {
2400
- setFlashModels('gemini-3-flash-preview', 'gemini-2.5-flash');
2404
+ setFlashModels('gemini-3-flash-preview', BASE_GEMINI_FLASH_MODEL);
2401
2405
  }
2402
2406
  return hasAccess;
2403
2407
  }
2408
+ /** @deprecated Use hasLatestFlashGAAccess() */
2409
+ hasGemini35FlashGAAccess() {
2410
+ return this.hasLatestFlashGAAccess();
2411
+ }
2412
+ /**
2413
+ * Returns whether the latest Flash Lite GA model (currently Gemini 3.5 Flash Lite) has been launched.
2414
+ */
2415
+ hasLatestFlashLiteGAAccess() {
2416
+ const authType = this.contentGeneratorConfig?.authType;
2417
+ const hasAccess = (() => {
2418
+ if (this.isGemini31LaunchedForAuthType(authType)) {
2419
+ return true;
2420
+ }
2421
+ return (this.experiments?.flags[ExperimentFlags.LATEST_FLASH_LITE_GA_LAUNCHED]
2422
+ ?.boolValue ?? false);
2423
+ })();
2424
+ setFlashLiteModel(hasAccess ? LATEST_GEMINI_FLASH_LITE_MODEL : BASE_GEMINI_FLASH_LITE_MODEL);
2425
+ return hasAccess;
2426
+ }
2404
2427
  /**
2405
2428
  * Returns whether Gemini 3.1 has been launched.
2406
2429
  *
@@ -2819,6 +2842,8 @@ export class Config {
2819
2842
  compact: false,
2820
2843
  });
2821
2844
  debugLogger.debug('Experiments loaded', summaryString);
2845
+ this.hasLatestFlashGAAccess();
2846
+ this.hasLatestFlashLiteGAAccess();
2822
2847
  }
2823
2848
  onAgentsRefreshed = async () => {
2824
2849
  // Propagate updates to the active chat session