@google/gemini-cli-core 0.45.0-preview.1 → 0.45.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 (70) hide show
  1. package/dist/docs/reference/configuration.md +71 -0
  2. package/dist/{google-gemini-cli-core-0.45.0-preview.0.tgz → google-gemini-cli-core-0.45.0.tgz} +0 -0
  3. package/dist/src/availability/policyCatalog.d.ts +1 -0
  4. package/dist/src/availability/policyCatalog.js +1 -1
  5. package/dist/src/availability/policyCatalog.js.map +1 -1
  6. package/dist/src/availability/policyHelpers.js +5 -1
  7. package/dist/src/availability/policyHelpers.js.map +1 -1
  8. package/dist/src/code_assist/experiments/flagNames.d.ts +1 -0
  9. package/dist/src/code_assist/experiments/flagNames.js +1 -0
  10. package/dist/src/code_assist/experiments/flagNames.js.map +1 -1
  11. package/dist/src/config/config.d.ts +6 -0
  12. package/dist/src/config/config.js +36 -5
  13. package/dist/src/config/config.js.map +1 -1
  14. package/dist/src/config/config.test.js +46 -1
  15. package/dist/src/config/config.test.js.map +1 -1
  16. package/dist/src/config/defaultModelConfigs.js +45 -1
  17. package/dist/src/config/defaultModelConfigs.js.map +1 -1
  18. package/dist/src/config/models.d.ts +10 -5
  19. package/dist/src/config/models.js +56 -10
  20. package/dist/src/config/models.js.map +1 -1
  21. package/dist/src/config/models.test.js +91 -1
  22. package/dist/src/config/models.test.js.map +1 -1
  23. package/dist/src/core/client.js +1 -1
  24. package/dist/src/core/client.js.map +1 -1
  25. package/dist/src/core/contentGenerator.js +1 -1
  26. package/dist/src/core/contentGenerator.js.map +1 -1
  27. package/dist/src/core/geminiChat.js +3 -3
  28. package/dist/src/core/geminiChat.js.map +1 -1
  29. package/dist/src/core/geminiChat.test.js +1 -0
  30. package/dist/src/core/geminiChat.test.js.map +1 -1
  31. package/dist/src/core/geminiChat_network_retry.test.js +1 -0
  32. package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
  33. package/dist/src/generated/git-commit.d.ts +2 -2
  34. package/dist/src/generated/git-commit.js +2 -2
  35. package/dist/src/generated/git-commit.js.map +1 -1
  36. package/dist/src/prompts/promptProvider.js +2 -2
  37. package/dist/src/prompts/promptProvider.js.map +1 -1
  38. package/dist/src/routing/strategies/approvalModeStrategy.js +3 -2
  39. package/dist/src/routing/strategies/approvalModeStrategy.js.map +1 -1
  40. package/dist/src/routing/strategies/approvalModeStrategy.test.js +8 -0
  41. package/dist/src/routing/strategies/approvalModeStrategy.test.js.map +1 -1
  42. package/dist/src/routing/strategies/classifierStrategy.js +2 -1
  43. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
  44. package/dist/src/routing/strategies/classifierStrategy.test.js +11 -0
  45. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
  46. package/dist/src/routing/strategies/defaultStrategy.js +1 -1
  47. package/dist/src/routing/strategies/defaultStrategy.js.map +1 -1
  48. package/dist/src/routing/strategies/fallbackStrategy.js +1 -1
  49. package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
  50. package/dist/src/routing/strategies/gemmaClassifierStrategy.js +2 -1
  51. package/dist/src/routing/strategies/gemmaClassifierStrategy.js.map +1 -1
  52. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js +12 -1
  53. package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js.map +1 -1
  54. package/dist/src/routing/strategies/numericalClassifierStrategy.js +2 -1
  55. package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -1
  56. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js +12 -1
  57. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js.map +1 -1
  58. package/dist/src/routing/strategies/overrideStrategy.js +1 -1
  59. package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
  60. package/dist/src/services/modelConfigService.d.ts +2 -0
  61. package/dist/src/services/modelConfigService.js +4 -1
  62. package/dist/src/services/modelConfigService.js.map +1 -1
  63. package/dist/src/services/modelConfigService.test.js +57 -0
  64. package/dist/src/services/modelConfigService.test.js.map +1 -1
  65. package/dist/src/services/test-data/resolved-aliases-retry.golden.json +19 -0
  66. package/dist/src/services/test-data/resolved-aliases.golden.json +19 -0
  67. package/dist/src/tools/shell.js +18 -13
  68. package/dist/src/tools/shell.js.map +1 -1
  69. package/dist/tsconfig.tsbuildinfo +1 -1
  70. package/package.json +1 -1
@@ -602,6 +602,12 @@ their corresponding top-level category object in your `settings.json` file.
602
602
  "model": "gemini-3.1-flash-lite"
603
603
  }
604
604
  },
605
+ "gemini-3.5-flash": {
606
+ "extends": "chat-base-3",
607
+ "modelConfig": {
608
+ "model": "gemini-3.5-flash"
609
+ }
610
+ },
605
611
  "gemma-4-31b-it": {
606
612
  "extends": "chat-base-3",
607
613
  "modelConfig": {
@@ -626,6 +632,12 @@ their corresponding top-level category object in your `settings.json` file.
626
632
  "model": "gemini-3-flash-preview"
627
633
  }
628
634
  },
635
+ "gemini-3.5-flash-base": {
636
+ "extends": "base",
637
+ "modelConfig": {
638
+ "model": "gemini-3.5-flash"
639
+ }
640
+ },
629
641
  "classifier": {
630
642
  "extends": "base",
631
643
  "modelConfig": {
@@ -868,6 +880,16 @@ their corresponding top-level category object in your `settings.json` file.
868
880
  "multimodalToolUse": true
869
881
  }
870
882
  },
883
+ "gemini-3.5-flash": {
884
+ "tier": "flash",
885
+ "family": "gemini-3",
886
+ "isPreview": false,
887
+ "isVisible": true,
888
+ "features": {
889
+ "thinking": false,
890
+ "multimodalToolUse": true
891
+ }
892
+ },
871
893
  "gemini-2.5-pro": {
872
894
  "tier": "pro",
873
895
  "family": "gemini-2.5",
@@ -1020,9 +1042,46 @@ their corresponding top-level category object in your `settings.json` file.
1020
1042
  "contexts": [
1021
1043
  {
1022
1044
  "condition": {
1045
+ "hasAccessToPreview": false,
1046
+ "useGemini3_5Flash": true
1047
+ },
1048
+ "target": "gemini-3.5-flash"
1049
+ },
1050
+ {
1051
+ "condition": {
1052
+ "hasAccessToPreview": false,
1053
+ "useGemini3_5Flash": false
1054
+ },
1055
+ "target": "gemini-2.5-flash"
1056
+ }
1057
+ ]
1058
+ },
1059
+ "gemini-3.5-flash": {
1060
+ "default": "gemini-3.5-flash",
1061
+ "contexts": [
1062
+ {
1063
+ "condition": {
1064
+ "useGemini3_5Flash": false,
1023
1065
  "hasAccessToPreview": false
1024
1066
  },
1025
1067
  "target": "gemini-2.5-flash"
1068
+ },
1069
+ {
1070
+ "condition": {
1071
+ "useGemini3_5Flash": false
1072
+ },
1073
+ "target": "gemini-3-flash-preview"
1074
+ }
1075
+ ]
1076
+ },
1077
+ "gemini-2.5-flash": {
1078
+ "default": "gemini-2.5-flash",
1079
+ "contexts": [
1080
+ {
1081
+ "condition": {
1082
+ "useGemini3_5Flash": true
1083
+ },
1084
+ "target": "gemini-3.5-flash"
1026
1085
  }
1027
1086
  ]
1028
1087
  },
@@ -1104,6 +1163,12 @@ their corresponding top-level category object in your `settings.json` file.
1104
1163
  "flash": {
1105
1164
  "default": "gemini-3-flash-preview",
1106
1165
  "contexts": [
1166
+ {
1167
+ "condition": {
1168
+ "useGemini3_5Flash": true
1169
+ },
1170
+ "target": "gemini-3.5-flash"
1171
+ },
1107
1172
  {
1108
1173
  "condition": {
1109
1174
  "hasAccessToPreview": false
@@ -1157,6 +1222,12 @@ their corresponding top-level category object in your `settings.json` file.
1157
1222
  "flash": {
1158
1223
  "default": "gemini-3-flash-preview",
1159
1224
  "contexts": [
1225
+ {
1226
+ "condition": {
1227
+ "useGemini3_5Flash": true
1228
+ },
1229
+ "target": "gemini-3.5-flash"
1230
+ },
1160
1231
  {
1161
1232
  "condition": {
1162
1233
  "hasAccessToPreview": false
@@ -12,6 +12,7 @@ export interface ModelPolicyOptions {
12
12
  useGemini31?: boolean;
13
13
  useGemini31FlashLite?: boolean;
14
14
  useCustomToolModel?: boolean;
15
+ useGemini3_5Flash?: boolean;
15
16
  }
16
17
  export declare const SILENT_ACTIONS: ModelPolicyActionMap;
17
18
  /**
@@ -51,7 +51,7 @@ const FLASH_LITE_CHAIN = [
51
51
  export function getModelPolicyChain(options) {
52
52
  const isAuto = options.isAutoSelection ?? false;
53
53
  if (options.previewEnabled) {
54
- const proModel = resolveModel(PREVIEW_GEMINI_MODEL, options.useGemini31, options.useCustomToolModel);
54
+ const proModel = resolveModel(PREVIEW_GEMINI_MODEL, options.useGemini31, options.useCustomToolModel, true, undefined, options.useGemini3_5Flash);
55
55
  return [
56
56
  definePolicy({
57
57
  model: proModel,
@@ -1 +1 @@
1
- {"version":3,"file":"policyCatalog.js","sourceRoot":"","sources":["../../../src/availability/policyCatalog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,EAC1B,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,YAAY,GACb,MAAM,qBAAqB,CAAC;AAkB7B,MAAM,eAAe,GAAyB;IAC5C,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE,QAAQ;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAyB;IAClD,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,QAAQ;IACnB,OAAO,EAAE,QAAQ;CAClB,CAAC;AAEF,MAAM,aAAa,GAAwB;IACzC,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,UAAU;IACrB,OAAO,EAAE,UAAU;CACpB,CAAC;AAEF,MAAM,sBAAsB,GAAG;IAC7B,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,EAAE,GAAG,eAAe,EAAE,SAAS,EAAE,QAAQ,EAA0B;IAC5E,gBAAgB,EAAE;QAChB,GAAG,aAAa;QAChB,SAAS,EAAE,cAAc;KACH;CACzB,CAAC;AAEF,MAAM,gBAAgB,GAAqB;IACzC,YAAY,CAAC;QACX,KAAK,EAAE,+BAA+B;QACtC,OAAO,EAAE,cAAc;KACxB,CAAC;IACF,YAAY,CAAC;QACX,KAAK,EAAE,0BAA0B;QACjC,OAAO,EAAE,cAAc;KACxB,CAAC;IACF,YAAY,CAAC;QACX,KAAK,EAAE,oBAAoB;QAC3B,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,cAAc;KACxB,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAA2B;IAE3B,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,IAAI,KAAK,CAAC;IAEhD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,YAAY,CAC3B,oBAAoB,EACpB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,kBAAkB,CAC3B,CAAC;QACF,OAAO;YACL,YAAY,CAAC;gBACX,KAAK,EAAE,QAAQ;gBACf,GAAG,CAAC,MAAM;oBACR,CAAC,CAAC;wBACE,WAAW,EAAE,CAAC;wBACd,OAAO,EAAE,EAAE,GAAG,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE;wBACpD,gBAAgB,EAAE,EAAE,GAAG,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE;qBAClE;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;YACF,YAAY,CAAC;gBACX,KAAK,EAAE,0BAA0B;gBACjC,YAAY,EAAE,IAAI;gBAClB,WAAW,EAAE,EAAE;aAChB,CAAC;SACH,CAAC;IACJ,CAAC;IAED,OAAO;QACL,YAAY,CAAC;YACX,KAAK,EAAE,oBAAoB;YAC3B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,CAAC;QACF,YAAY,CAAC;YACX,KAAK,EAAE,0BAA0B;YACjC,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,EAAE;SAChB,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,OAAO,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,UAAU,CAAC,gBAAgB,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,OAAoC;IAEpC,OAAO,YAAY,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAuB;IAC9D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;IAC7E,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,MAAoB;IACxC,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,EAAE,GAAG,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE;QAC1D,gBAAgB,EAAE;YAChB,GAAG,aAAa;YAChB,GAAG,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;SACnC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,MAAmB;IACtC,OAAO;QACL,GAAG,MAAM;QACT,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE;QAC9B,gBAAgB,EAAE,EAAE,GAAG,MAAM,CAAC,gBAAgB,EAAE;KACjD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAuB;IACzC,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"policyCatalog.js","sourceRoot":"","sources":["../../../src/availability/policyCatalog.ts"],"names":[],"mappings":"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"}
@@ -21,9 +21,10 @@ export function resolvePolicyChain(config, preferredModel, wrapsAround = false)
21
21
  const useGemini31 = config.getGemini31LaunchedSync?.() ?? false;
22
22
  const useCustomToolModel = config.getUseCustomToolModelSync?.() ?? false;
23
23
  const hasAccessToPreview = config.getHasAccessToPreviewModel?.() ?? false;
24
+ const useGemini3_5Flash = config.hasGemini35FlashGAAccess?.() ?? false;
24
25
  // Capture the original family intent before any normalization or early downgrade.
25
26
  const isOriginallyGemini3 = isGemini3Model(modelFromConfig, config);
26
- const resolvedModel = normalizeModelId(resolveModel(modelFromConfig, useGemini31, useCustomToolModel, hasAccessToPreview, config));
27
+ const resolvedModel = normalizeModelId(resolveModel(modelFromConfig, useGemini31, useCustomToolModel, hasAccessToPreview, config, useGemini3_5Flash));
27
28
  const isAutoPreferred = normalizedPreferredModel
28
29
  ? isAutoModel(normalizedPreferredModel, config)
29
30
  : false;
@@ -36,6 +37,7 @@ export function resolvePolicyChain(config, preferredModel, wrapsAround = false)
36
37
  const context = {
37
38
  useGemini3_1: useGemini31,
38
39
  useCustomTools: useCustomToolModel,
40
+ useGemini3_5Flash,
39
41
  };
40
42
  if (resolvedModel === DEFAULT_GEMINI_FLASH_LITE_MODEL) {
41
43
  chain = config.modelConfigService.resolveChain('lite', context);
@@ -81,6 +83,7 @@ export function resolvePolicyChain(config, preferredModel, wrapsAround = false)
81
83
  userTier: config.getUserTier(),
82
84
  useGemini31,
83
85
  useCustomToolModel,
86
+ useGemini3_5Flash,
84
87
  });
85
88
  }
86
89
  else {
@@ -92,6 +95,7 @@ export function resolvePolicyChain(config, preferredModel, wrapsAround = false)
92
95
  userTier: config.getUserTier(),
93
96
  useGemini31,
94
97
  useCustomToolModel,
98
+ useGemini3_5Flash,
95
99
  });
96
100
  }
97
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"policyHelpers.js","sourceRoot":"","sources":["../../../src/availability/policyHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policyHelpers.js","sourceRoot":"","sources":["../../../src/availability/policyHelpers.ts"],"names":[],"mappings":"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"}
@@ -18,5 +18,6 @@ export declare const ExperimentFlags: {
18
18
  readonly GEMINI_3_1_PRO_LAUNCHED: 45760185;
19
19
  readonly PRO_MODEL_NO_ACCESS: 45768879;
20
20
  readonly DEFAULT_REQUEST_TIMEOUT: 45773134;
21
+ readonly GEMINI_3_5_FLASH_GA_LAUNCHED: 45780819;
21
22
  };
22
23
  export type ExperimentFlagName = (typeof ExperimentFlags)[keyof typeof ExperimentFlags];
@@ -18,5 +18,6 @@ export const ExperimentFlags = {
18
18
  GEMINI_3_1_PRO_LAUNCHED: 45760185,
19
19
  PRO_MODEL_NO_ACCESS: 45768879,
20
20
  DEFAULT_REQUEST_TIMEOUT: 45773134,
21
+ GEMINI_3_5_FLASH_GA_LAUNCHED: 45780819,
21
22
  };
22
23
  //# sourceMappingURL=flagNames.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flagNames.js","sourceRoot":"","sources":["../../../../src/code_assist/experiments/flagNames.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,6BAA6B,EAAE,QAAQ;IACvC,YAAY,EAAE,QAAQ;IACtB,8BAA8B,EAAE,QAAQ;IACxC,2BAA2B,EAAE,QAAQ;IACrC,cAAc,EAAE,QAAQ;IACxB,wBAAwB,EAAE,QAAQ;IAClC,oBAAoB,EAAE,QAAQ;IAC9B,qBAAqB,EAAE,QAAQ;IAC/B,4BAA4B,EAAE,QAAQ;IACtC,0BAA0B,EAAE,QAAQ;IACpC,2BAA2B,EAAE,QAAQ;IACrC,uBAAuB,EAAE,QAAQ;IACjC,mBAAmB,EAAE,QAAQ;IAC7B,uBAAuB,EAAE,QAAQ;CACzB,CAAC"}
1
+ {"version":3,"file":"flagNames.js","sourceRoot":"","sources":["../../../../src/code_assist/experiments/flagNames.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,6BAA6B,EAAE,QAAQ;IACvC,YAAY,EAAE,QAAQ;IACtB,8BAA8B,EAAE,QAAQ;IACxC,2BAA2B,EAAE,QAAQ;IACrC,cAAc,EAAE,QAAQ;IACxB,wBAAwB,EAAE,QAAQ;IAClC,oBAAoB,EAAE,QAAQ;IAC9B,qBAAqB,EAAE,QAAQ;IAC/B,4BAA4B,EAAE,QAAQ;IACtC,0BAA0B,EAAE,QAAQ;IACpC,2BAA2B,EAAE,QAAQ;IACrC,uBAAuB,EAAE,QAAQ;IACjC,mBAAmB,EAAE,QAAQ;IAC7B,uBAAuB,EAAE,QAAQ;IACjC,4BAA4B,EAAE,QAAQ;CAC9B,CAAC"}
@@ -1141,6 +1141,12 @@ export declare class Config implements McpContext, AgentLoopContext {
1141
1141
  */
1142
1142
  getUseCustomToolModelSync(): boolean;
1143
1143
  private isGemini31LaunchedForAuthType;
1144
+ /**
1145
+ * Returns whether Gemini 3.5 Flash GA has been launched.
1146
+ *
1147
+ * Note: This method should only be called after startup, once experiments have been loaded.
1148
+ */
1149
+ hasGemini35FlashGAAccess(): boolean;
1144
1150
  /**
1145
1151
  * Returns whether Gemini 3.1 has been launched.
1146
1152
  *
@@ -45,7 +45,7 @@ import { SandboxedFileSystemService } from '../services/sandboxedFileSystemServi
45
45
  import { initializeTelemetry, DEFAULT_TELEMETRY_TARGET, DEFAULT_OTLP_ENDPOINT, uiTelemetryService, } from '../telemetry/index.js';
46
46
  import { coreEvents, CoreEvent } from '../utils/events.js';
47
47
  import { tokenLimit } from '../core/tokenLimits.js';
48
- import { DEFAULT_GEMINI_EMBEDDING_MODEL, DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_MODEL_AUTO, isAutoModel, isPreviewModel, isGemini2Model, PREVIEW_GEMINI_FLASH_MODEL, resolveModel, } from './models.js';
48
+ import { DEFAULT_GEMINI_EMBEDDING_MODEL, DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_MODEL_AUTO, isAutoModel, isPreviewModel, isGemini2Model, PREVIEW_GEMINI_FLASH_MODEL, resolveModel, setFlashModels, } from './models.js';
49
49
  import { shouldAttemptBrowserLaunch } from '../utils/browser.js';
50
50
  import { ideContextStore } from '../ide/ideContext.js';
51
51
  import { WriteTodosTool } from '../tools/write-todos.js';
@@ -1240,7 +1240,7 @@ export class Config {
1240
1240
  if (!isAutoModel(model, this)) {
1241
1241
  return {};
1242
1242
  }
1243
- const primaryModel = resolveModel(model, this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this);
1243
+ const primaryModel = resolveModel(model, this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasGemini35FlashGAAccess());
1244
1244
  const isPreview = isPreviewModel(primaryModel, this);
1245
1245
  const proModel = primaryModel;
1246
1246
  const flashModel = isPreview
@@ -1267,7 +1267,7 @@ export class Config {
1267
1267
  if (pooled.remaining !== undefined) {
1268
1268
  return pooled.remaining;
1269
1269
  }
1270
- const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this);
1270
+ const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasGemini35FlashGAAccess());
1271
1271
  return this.modelQuotas.get(primaryModel)?.remaining;
1272
1272
  }
1273
1273
  getQuotaLimit() {
@@ -1275,7 +1275,7 @@ export class Config {
1275
1275
  if (pooled.limit !== undefined) {
1276
1276
  return pooled.limit;
1277
1277
  }
1278
- const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this);
1278
+ const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasGemini35FlashGAAccess());
1279
1279
  return this.modelQuotas.get(primaryModel)?.limit;
1280
1280
  }
1281
1281
  getQuotaResetTime() {
@@ -1283,7 +1283,7 @@ export class Config {
1283
1283
  if (pooled.resetTime !== undefined) {
1284
1284
  return pooled.resetTime;
1285
1285
  }
1286
- const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this);
1286
+ const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasGemini35FlashGAAccess());
1287
1287
  return this.modelQuotas.get(primaryModel)?.resetTime;
1288
1288
  }
1289
1289
  getEmbeddingModel() {
@@ -2351,6 +2351,37 @@ export class Config {
2351
2351
  authType === AuthType.USE_VERTEX_AI ||
2352
2352
  authType === AuthType.GATEWAY);
2353
2353
  }
2354
+ /**
2355
+ * Returns whether Gemini 3.5 Flash GA has been launched.
2356
+ *
2357
+ * Note: This method should only be called after startup, once experiments have been loaded.
2358
+ */
2359
+ hasGemini35FlashGAAccess() {
2360
+ const authType = this.contentGeneratorConfig?.authType;
2361
+ const hasAccess = (() => {
2362
+ if (this.isGemini31LaunchedForAuthType(authType)) {
2363
+ return true;
2364
+ }
2365
+ return (this.experiments?.flags[ExperimentFlags.GEMINI_3_5_FLASH_GA_LAUNCHED]
2366
+ ?.boolValue ?? false);
2367
+ })();
2368
+ // Used to set default flash models based on access
2369
+ // TODO: Remove once the experiment for 3_5 flash rollut can be cleaned up.
2370
+ if (hasAccess) {
2371
+ // Gemini API key users should have the ability to manually select the
2372
+ // old preview flash model.
2373
+ if (authType === AuthType.USE_GEMINI) {
2374
+ setFlashModels('gemini-3-flash-preview', 'gemini-3.5-flash');
2375
+ }
2376
+ else {
2377
+ setFlashModels('gemini-3-flash', 'gemini-3-flash');
2378
+ }
2379
+ }
2380
+ else {
2381
+ setFlashModels('gemini-3-flash-preview', 'gemini-2.5-flash');
2382
+ }
2383
+ return hasAccess;
2384
+ }
2354
2385
  /**
2355
2386
  * Returns whether Gemini 3.1 has been launched.
2356
2387
  *