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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/bundle/{chunk-OWSYSTWM.js → chunk-2GMVQS2Q.js} +1 -1
  2. package/bundle/{chunk-5BX5PJIE.js → chunk-4AGOZ7LL.js} +7 -7
  3. package/bundle/{chunk-6WWGBNKT.js → chunk-4K3E3G6Z.js} +1 -1
  4. package/bundle/{chunk-BLUAEAZN.js → chunk-5LUCCXOB.js} +1 -1
  5. package/bundle/{chunk-BO72FGK2.js → chunk-773AJHDP.js} +7 -7
  6. package/bundle/{chunk-3NDAYKF4.js → chunk-BOJOJVNV.js} +1 -1
  7. package/bundle/{chunk-JXVK53RJ.js → chunk-F2LLVPPS.js} +2 -2
  8. package/bundle/{chunk-5YTIYFJO.js → chunk-FIM2LOYZ.js} +133 -44
  9. package/bundle/{chunk-CJHCK2YW.js → chunk-GTRQQGSJ.js} +1 -1
  10. package/bundle/{chunk-R52453KY.js → chunk-HHFFICNK.js} +154 -44
  11. package/bundle/{chunk-Y6SLZFPD.js → chunk-HMR43ZX2.js} +2 -2
  12. package/bundle/{chunk-4KX3ETW3.js → chunk-HZNEV3DS.js} +1 -1
  13. package/bundle/{chunk-IGJG7DNZ.js → chunk-J444UQD3.js} +1 -1
  14. package/bundle/{chunk-2ZH72RHY.js → chunk-LBE2WKE7.js} +3 -3
  15. package/bundle/{chunk-JWWA32XO.js → chunk-MFYAVF7Y.js} +54 -67
  16. package/bundle/{chunk-S6AQSJNU.js → chunk-QFEJQS5X.js} +1 -1
  17. package/bundle/{chunk-WTRP3GGZ.js → chunk-RXG3JOOZ.js} +1 -1
  18. package/bundle/{chunk-CJTRYZPP.js → chunk-S2ICEQVC.js} +3 -3
  19. package/bundle/{chunk-NB2NOE4L.js → chunk-SHFHGDWR.js} +2 -2
  20. package/bundle/{chunk-E3KBY4EQ.js → chunk-TDYUKPZH.js} +1 -1
  21. package/bundle/{chunk-DDJWQSDN.js → chunk-XRDSBRG4.js} +14166 -7548
  22. package/bundle/{chunk-FEY3T6LA.js → chunk-YMNECODB.js} +8 -9
  23. package/bundle/{chunk-HA5VES5S.js → chunk-ZQGZKIDD.js} +3 -3
  24. package/bundle/{chunk-K43EAKOP.js → chunk-ZXN4VW7M.js} +5 -8
  25. package/bundle/{cleanup-2FHZMQ3Z.js → cleanup-2WXD6UQP.js} +2 -2
  26. package/bundle/{cleanup-F7XRM3DT.js → cleanup-L3CLNVX6.js} +2 -2
  27. package/bundle/{cleanup-OZH3SJVM.js → cleanup-SUDL37MT.js} +2 -2
  28. package/bundle/{core-B47ZXN3Y.js → core-MOYKPEYV.js} +5 -1
  29. package/bundle/{dist-C6L3MGQS.js → core-VVRQ2GQD.js} +5 -1
  30. package/bundle/{devtoolsService-XYSZCMQM.js → devtoolsService-E62WA3CY.js} +2 -2
  31. package/bundle/{devtoolsService-OYQJHPEW.js → devtoolsService-GLW7S6PS.js} +3 -4
  32. package/bundle/{devtoolsService-L7PYKOHR.js → devtoolsService-ZYCBBAV3.js} +2 -2
  33. package/bundle/{dist-MOEHPHUN.js → dist-GPCRVPKS.js} +5 -1
  34. package/bundle/docs/changelogs/index.md +14 -0
  35. package/bundle/docs/changelogs/latest.md +202 -199
  36. package/bundle/docs/changelogs/preview.md +44 -200
  37. package/bundle/docs/issue-and-pr-automation.md +29 -1
  38. package/bundle/docs/reference/configuration.md +69 -0
  39. package/bundle/{gemini-LT5MWLZQ.js → gemini-2JTOIMGM.js} +14 -14
  40. package/bundle/{gemini-2XSNIT2N.js → gemini-KV5CHM4H.js} +14 -14
  41. package/bundle/{gemini-CHS2YNJG.js → gemini-R5NCXCEL.js} +196 -212
  42. package/bundle/gemini.js +7 -7
  43. package/bundle/{interactiveCli-UUI7OUZK.js → interactiveCli-7SIMXKNU.js} +20 -10
  44. package/bundle/{interactiveCli-6EFCVZP7.js → interactiveCli-HVAQTBJK.js} +307 -316
  45. package/bundle/{interactiveCli-2YFAMDR5.js → interactiveCli-RMWTSIEN.js} +20 -10
  46. package/bundle/{liteRtServerManager-2VKZTPMY.js → liteRtServerManager-BP7XKGNU.js} +4 -4
  47. package/bundle/{liteRtServerManager-4PZ3X7SS.js → liteRtServerManager-FY23PYSD.js} +4 -4
  48. package/bundle/{liteRtServerManager-GH6VHWTU.js → liteRtServerManager-LDS45QKP.js} +4 -4
  49. package/bundle/{oauth2-provider-4UIWNIX3.js → oauth2-provider-4SSSEI6P.js} +1 -1
  50. package/bundle/{oauth2-provider-N2ZY2DXQ.js → oauth2-provider-KL44D6HV.js} +72 -38
  51. package/bundle/{oauth2-provider-BDX6V2YX.js → oauth2-provider-VVNBQH45.js} +1 -1
  52. package/bundle/{start-3LEQZELI.js → start-DLEOBFRC.js} +6 -6
  53. package/bundle/{start-FH2E2VQ2.js → start-FRM2XDGC.js} +6 -6
  54. package/bundle/{start-FPEO7KCZ.js → start-OEPJINIW.js} +6 -6
  55. package/package.json +1 -1
  56. package/bundle/chunk-565MWDPP.js +0 -394439
  57. package/bundle/chunk-HVWNKZSB.js +0 -154
  58. package/bundle/chunk-HZCAEM2F.js +0 -398
  59. package/bundle/chunk-NVJOR76X.js +0 -1571
  60. package/bundle/chunk-NYWYNF2Z.js +0 -81685
  61. package/bundle/chunk-OQLEYMM2.js +0 -512
  62. package/bundle/chunk-SKDT4PWC.js +0 -118
  63. package/bundle/chunk-TCAVPMJX.js +0 -17320
  64. package/bundle/cleanup-ZO5CVKGH.js +0 -32
  65. package/bundle/devtoolsService-SGV7MSUA.js +0 -856
  66. package/bundle/dist-WLKMTHZQ.js +0 -2134
  67. package/bundle/gemini-CQDPCFEE.js +0 -16406
  68. package/bundle/interactiveCli-HA3BASZN.js +0 -34726
  69. package/bundle/liteRtServerManager-OMSM6SJU.js +0 -65
  70. package/bundle/oauth2-provider-TRRJCE2P.js +0 -235
  71. package/bundle/start-J7G6YXDJ.js +0 -18
@@ -276236,6 +276236,11 @@ var PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL = "gemini-3.1-pro-preview-customtools"
276236
276236
  var PREVIEW_GEMINI_FLASH_MODEL = "gemini-3-flash-preview";
276237
276237
  var DEFAULT_GEMINI_MODEL = "gemini-2.5-pro";
276238
276238
  var DEFAULT_GEMINI_FLASH_MODEL = "gemini-2.5-flash";
276239
+ var DEFAULT_GEMINI_3_5_FLASH_MODEL = "gemini-3.5-flash";
276240
+ function setFlashModels(preview, defaultFlash) {
276241
+ PREVIEW_GEMINI_FLASH_MODEL = preview;
276242
+ DEFAULT_GEMINI_FLASH_MODEL = defaultFlash;
276243
+ }
276239
276244
  var DEFAULT_GEMINI_FLASH_LITE_MODEL = "gemini-3.1-flash-lite";
276240
276245
  var PREVIEW_GEMINI_FLASH_LITE_MODEL = "none";
276241
276246
  var GEMMA_4_31B_IT_MODEL = "gemma-4-31b-it";
@@ -276248,6 +276253,7 @@ var VALID_GEMINI_MODELS = /* @__PURE__ */ new Set([
276248
276253
  PREVIEW_GEMINI_FLASH_LITE_MODEL,
276249
276254
  DEFAULT_GEMINI_MODEL,
276250
276255
  DEFAULT_GEMINI_FLASH_MODEL,
276256
+ DEFAULT_GEMINI_3_5_FLASH_MODEL,
276251
276257
  DEFAULT_GEMINI_FLASH_LITE_MODEL,
276252
276258
  GEMMA_4_31B_IT_MODEL,
276253
276259
  GEMMA_4_26B_A4B_IT_MODEL
@@ -276265,20 +276271,21 @@ function getAutoModelDescription(hasAccessToPreview, useGemini3_1 = false) {
276265
276271
  const flashModel = hasAccessToPreview ? PREVIEW_GEMINI_FLASH_MODEL : DEFAULT_GEMINI_FLASH_MODEL;
276266
276272
  return `Let Gemini CLI decide the best model for the task: ${proModel}, ${flashModel}`;
276267
276273
  }
276268
- function resolveModel(requestedModel, useGemini3_1 = false, useCustomToolModel = false, hasAccessToPreview = true, config2) {
276274
+ function resolveModel(requestedModel, useGemini3_1 = false, useCustomToolModel = false, hasAccessToPreview = true, config2, useGemini3_5Flash = false) {
276269
276275
  const normalizedModel = Array.isArray(requestedModel) ? String(requestedModel.at(-1) ?? "").trim() || "" : typeof requestedModel !== "string" ? String(requestedModel ?? "").trim() || "" : requestedModel.trim() || "";
276270
276276
  if (config2?.getExperimentalDynamicModelConfiguration?.() === true) {
276271
276277
  const resolved2 = config2.modelConfigService.resolveModelId(normalizedModel, {
276272
276278
  useGemini3_1,
276273
276279
  useCustomTools: useCustomToolModel,
276274
- hasAccessToPreview
276280
+ hasAccessToPreview,
276281
+ useGemini3_5Flash
276275
276282
  });
276276
276283
  if (!hasAccessToPreview && isPreviewModel(resolved2, config2)) {
276277
276284
  if (resolved2.includes("flash-lite")) {
276278
276285
  return DEFAULT_GEMINI_FLASH_LITE_MODEL;
276279
276286
  }
276280
276287
  if (resolved2.includes("flash")) {
276281
- return DEFAULT_GEMINI_FLASH_MODEL;
276288
+ return useGemini3_5Flash ? DEFAULT_GEMINI_3_5_FLASH_MODEL : DEFAULT_GEMINI_FLASH_MODEL;
276282
276289
  }
276283
276290
  return DEFAULT_GEMINI_MODEL;
276284
276291
  }
@@ -276307,7 +276314,7 @@ function resolveModel(requestedModel, useGemini3_1 = false, useCustomToolModel =
276307
276314
  break;
276308
276315
  }
276309
276316
  case GEMINI_MODEL_ALIAS_FLASH: {
276310
- resolved = PREVIEW_GEMINI_FLASH_MODEL;
276317
+ resolved = useGemini3_5Flash ? DEFAULT_GEMINI_3_5_FLASH_MODEL : PREVIEW_GEMINI_FLASH_MODEL;
276311
276318
  break;
276312
276319
  }
276313
276320
  case GEMINI_MODEL_ALIAS_FLASH_LITE: {
@@ -276322,10 +276329,13 @@ function resolveModel(requestedModel, useGemini3_1 = false, useCustomToolModel =
276322
276329
  if (resolved === "none") {
276323
276330
  return DEFAULT_GEMINI_FLASH_LITE_MODEL;
276324
276331
  }
276332
+ if (useGemini3_5Flash && isFlashModel(resolved)) {
276333
+ return DEFAULT_GEMINI_3_5_FLASH_MODEL;
276334
+ }
276325
276335
  if (!hasAccessToPreview && isPreviewModel(resolved)) {
276326
276336
  switch (resolved) {
276327
276337
  case PREVIEW_GEMINI_FLASH_MODEL:
276328
- return DEFAULT_GEMINI_FLASH_MODEL;
276338
+ return useGemini3_5Flash ? DEFAULT_GEMINI_3_5_FLASH_MODEL : DEFAULT_GEMINI_FLASH_MODEL;
276329
276339
  case PREVIEW_GEMINI_MODEL:
276330
276340
  case PREVIEW_GEMINI_3_1_MODEL:
276331
276341
  case PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL:
@@ -276335,14 +276345,17 @@ function resolveModel(requestedModel, useGemini3_1 = false, useCustomToolModel =
276335
276345
  return DEFAULT_GEMINI_FLASH_LITE_MODEL;
276336
276346
  }
276337
276347
  if (resolved.includes("flash")) {
276338
- return DEFAULT_GEMINI_FLASH_MODEL;
276348
+ return useGemini3_5Flash ? DEFAULT_GEMINI_3_5_FLASH_MODEL : DEFAULT_GEMINI_FLASH_MODEL;
276339
276349
  }
276340
276350
  return DEFAULT_GEMINI_MODEL;
276341
276351
  }
276342
276352
  }
276343
276353
  return resolved;
276344
276354
  }
276345
- function resolveClassifierModel(requestedModel, modelAlias, useGemini3_1 = false, useCustomToolModel = false, hasAccessToPreview = true, config2) {
276355
+ function isFlashModel(model) {
276356
+ return model === DEFAULT_GEMINI_FLASH_MODEL || model === PREVIEW_GEMINI_FLASH_MODEL || model === DEFAULT_GEMINI_3_5_FLASH_MODEL || model === "flash" || model.endsWith("flash");
276357
+ }
276358
+ function resolveClassifierModel(requestedModel, modelAlias, useGemini3_1 = false, useCustomToolModel = false, hasAccessToPreview = true, config2, useGemini3_5Flash = false) {
276346
276359
  if (config2?.getExperimentalDynamicModelConfiguration?.() === true) {
276347
276360
  return config2.modelConfigService.resolveClassifierModelId(
276348
276361
  modelAlias,
@@ -276350,22 +276363,28 @@ function resolveClassifierModel(requestedModel, modelAlias, useGemini3_1 = false
276350
276363
  {
276351
276364
  useGemini3_1,
276352
276365
  useCustomTools: useCustomToolModel,
276353
- hasAccessToPreview
276366
+ hasAccessToPreview,
276367
+ useGemini3_5Flash
276354
276368
  }
276355
276369
  );
276356
276370
  }
276357
276371
  if (modelAlias === GEMINI_MODEL_ALIAS_FLASH) {
276358
276372
  if (requestedModel === DEFAULT_GEMINI_MODEL_AUTO || requestedModel === DEFAULT_GEMINI_MODEL) {
276359
- return DEFAULT_GEMINI_FLASH_MODEL;
276373
+ return useGemini3_5Flash ? DEFAULT_GEMINI_3_5_FLASH_MODEL : DEFAULT_GEMINI_FLASH_MODEL;
276360
276374
  }
276361
276375
  if (requestedModel === PREVIEW_GEMINI_MODEL_AUTO || requestedModel === PREVIEW_GEMINI_MODEL || requestedModel === GEMINI_MODEL_ALIAS_AUTO) {
276376
+ if (useGemini3_5Flash) {
276377
+ return DEFAULT_GEMINI_3_5_FLASH_MODEL;
276378
+ }
276362
276379
  return hasAccessToPreview ? PREVIEW_GEMINI_FLASH_MODEL : DEFAULT_GEMINI_FLASH_MODEL;
276363
276380
  }
276364
276381
  return resolveModel(
276365
276382
  GEMINI_MODEL_ALIAS_FLASH,
276366
276383
  false,
276367
276384
  false,
276368
- hasAccessToPreview
276385
+ hasAccessToPreview,
276386
+ config2,
276387
+ useGemini3_5Flash
276369
276388
  );
276370
276389
  }
276371
276390
  return resolveModel(
@@ -276373,7 +276392,8 @@ function resolveClassifierModel(requestedModel, modelAlias, useGemini3_1 = false
276373
276392
  useGemini3_1,
276374
276393
  useCustomToolModel,
276375
276394
  hasAccessToPreview,
276376
- config2
276395
+ config2,
276396
+ useGemini3_5Flash
276377
276397
  );
276378
276398
  }
276379
276399
  function getDisplayString(model, config2) {
@@ -279535,8 +279555,8 @@ function isValidToolName(name3, options = {}) {
279535
279555
  }
279536
279556
 
279537
279557
  // packages/core/src/generated/git-commit.ts
279538
- var GIT_COMMIT_INFO = "5a0bee901";
279539
- var CLI_VERSION = "0.45.0-preview.0";
279558
+ var GIT_COMMIT_INFO = "cfcecebe8";
279559
+ var CLI_VERSION = "0.46.0-preview.0";
279540
279560
 
279541
279561
  // packages/core/src/ide/detect-ide.ts
279542
279562
  var IDE_DEFINITIONS = {
@@ -304005,7 +304025,7 @@ function getVersion() {
304005
304025
  }
304006
304026
  versionPromise = (async () => {
304007
304027
  const pkgJson = await getPackageJson(__dirname4);
304008
- return "0.45.0-preview.0";
304028
+ return "0.46.0-preview.0";
304009
304029
  })();
304010
304030
  return versionPromise;
304011
304031
  }
@@ -304968,7 +304988,10 @@ function getModelPolicyChain(options) {
304968
304988
  const proModel = resolveModel(
304969
304989
  PREVIEW_GEMINI_MODEL,
304970
304990
  options.useGemini31,
304971
- options.useCustomToolModel
304991
+ options.useCustomToolModel,
304992
+ true,
304993
+ void 0,
304994
+ options.useGemini3_5Flash
304972
304995
  );
304973
304996
  return [
304974
304997
  definePolicy({
@@ -305046,6 +305069,7 @@ function resolvePolicyChain(config2, preferredModel, wrapsAround = false) {
305046
305069
  const useGemini31 = config2.getGemini31LaunchedSync?.() ?? false;
305047
305070
  const useCustomToolModel = config2.getUseCustomToolModelSync?.() ?? false;
305048
305071
  const hasAccessToPreview = config2.getHasAccessToPreviewModel?.() ?? false;
305072
+ const useGemini3_5Flash = config2.hasGemini35FlashGAAccess?.() ?? false;
305049
305073
  const isOriginallyGemini3 = isGemini3Model(modelFromConfig, config2);
305050
305074
  const resolvedModel = normalizeModelId(
305051
305075
  resolveModel(
@@ -305053,7 +305077,8 @@ function resolvePolicyChain(config2, preferredModel, wrapsAround = false) {
305053
305077
  useGemini31,
305054
305078
  useCustomToolModel,
305055
305079
  hasAccessToPreview,
305056
- config2
305080
+ config2,
305081
+ useGemini3_5Flash
305057
305082
  )
305058
305083
  );
305059
305084
  const isAutoPreferred = normalizedPreferredModel ? isAutoModel(normalizedPreferredModel, config2) : false;
@@ -305062,7 +305087,8 @@ function resolvePolicyChain(config2, preferredModel, wrapsAround = false) {
305062
305087
  if (config2.getExperimentalDynamicModelConfiguration?.() === true) {
305063
305088
  const context2 = {
305064
305089
  useGemini3_1: useGemini31,
305065
- useCustomTools: useCustomToolModel
305090
+ useCustomTools: useCustomToolModel,
305091
+ useGemini3_5Flash
305066
305092
  };
305067
305093
  if (resolvedModel === DEFAULT_GEMINI_FLASH_LITE_MODEL) {
305068
305094
  chain2 = config2.modelConfigService.resolveChain("lite", context2);
@@ -305100,7 +305126,8 @@ function resolvePolicyChain(config2, preferredModel, wrapsAround = false) {
305100
305126
  isAutoSelection,
305101
305127
  userTier: config2.getUserTier(),
305102
305128
  useGemini31,
305103
- useCustomToolModel
305129
+ useCustomToolModel,
305130
+ useGemini3_5Flash
305104
305131
  });
305105
305132
  } else {
305106
305133
  chain2 = getModelPolicyChain({
@@ -305108,7 +305135,8 @@ function resolvePolicyChain(config2, preferredModel, wrapsAround = false) {
305108
305135
  isAutoSelection,
305109
305136
  userTier: config2.getUserTier(),
305110
305137
  useGemini31,
305111
- useCustomToolModel
305138
+ useCustomToolModel,
305139
+ useGemini3_5Flash
305112
305140
  });
305113
305141
  }
305114
305142
  } else {
@@ -309612,7 +309640,8 @@ async function createContentGenerator(config2, gcConfig, sessionId) {
309612
309640
  config2.authType === "gemini-api-key" /* USE_GEMINI */ || config2.authType === "vertex-ai" /* USE_VERTEX_AI */ || (await gcConfig.getGemini31Launched?.() ?? false),
309613
309641
  false,
309614
309642
  gcConfig.getHasAccessToPreviewModel?.() ?? true,
309615
- gcConfig
309643
+ gcConfig,
309644
+ gcConfig.hasGemini35FlashGAAccess?.() ?? false
309616
309645
  );
309617
309646
  const customHeadersEnv = process.env["GEMINI_CLI_CUSTOM_HEADERS"] || void 0;
309618
309647
  const clientName = gcConfig.getClientName();
@@ -323119,16 +323148,18 @@ ${result2.output}`;
323119
323148
  }
323120
323149
  signal.removeEventListener("abort", onAbort);
323121
323150
  timeoutController.signal.removeEventListener("abort", onAbort);
323122
- if (tempFilePath) {
323123
- try {
323124
- await fsPromises9.unlink(tempFilePath);
323125
- } catch {
323151
+ if (!this.params.is_background) {
323152
+ if (tempFilePath) {
323153
+ try {
323154
+ await fsPromises9.unlink(tempFilePath);
323155
+ } catch {
323156
+ }
323126
323157
  }
323127
- }
323128
- if (tempDir) {
323129
- try {
323130
- await fsPromises9.rm(tempDir, { recursive: true, force: true });
323131
- } catch {
323158
+ if (tempDir) {
323159
+ try {
323160
+ await fsPromises9.rm(tempDir, { recursive: true, force: true });
323161
+ } catch {
323162
+ }
323132
323163
  }
323133
323164
  }
323134
323165
  }
@@ -330349,7 +330380,8 @@ var GeminiChat = class {
330349
330380
  useGemini3_1,
330350
330381
  false,
330351
330382
  hasAccessToPreview,
330352
- this.context.config
330383
+ this.context.config,
330384
+ this.context.config.hasGemini35FlashGAAccess?.() ?? false
330353
330385
  );
330354
330386
  if (this.context.config.getActiveModel() !== initialActiveModel) {
330355
330387
  modelToUse = resolveModel(
@@ -330357,7 +330389,8 @@ var GeminiChat = class {
330357
330389
  useGemini3_1,
330358
330390
  false,
330359
330391
  hasAccessToPreview,
330360
- this.context.config
330392
+ this.context.config,
330393
+ this.context.config.hasGemini35FlashGAAccess?.() ?? false
330361
330394
  );
330362
330395
  }
330363
330396
  if (modelToUse !== lastModelToUse) {
@@ -330407,7 +330440,8 @@ var GeminiChat = class {
330407
330440
  useGemini3_1,
330408
330441
  false,
330409
330442
  hasAccessToPreview,
330410
- this.context.config
330443
+ this.context.config,
330444
+ this.context.config.hasGemini35FlashGAAccess?.() ?? false
330411
330445
  );
330412
330446
  lastModelToUse = modelToUse;
330413
330447
  contentsToUse = supportsModernFeatures(modelToUse) ? [...contentsForPreviewModel] : [...requestContents];
@@ -332848,7 +332882,8 @@ var PromptProvider = class {
332848
332882
  context2.config.getGemini31LaunchedSync?.() ?? false,
332849
332883
  false,
332850
332884
  context2.config.getHasAccessToPreviewModel?.() ?? true,
332851
- context2.config
332885
+ context2.config,
332886
+ context2.config.hasGemini35FlashGAAccess?.() ?? false
332852
332887
  );
332853
332888
  const isModernModel = supportsModernFeatures(desiredModel);
332854
332889
  const activeSnippets = isModernModel ? snippets_exports : snippets_legacy_exports;
@@ -333024,7 +333059,8 @@ var PromptProvider = class {
333024
333059
  context2.config.getGemini31LaunchedSync?.() ?? false,
333025
333060
  false,
333026
333061
  context2.config.getHasAccessToPreviewModel?.() ?? true,
333027
- context2.config
333062
+ context2.config,
333063
+ context2.config.hasGemini35FlashGAAccess?.() ?? false
333028
333064
  );
333029
333065
  const isModernModel = supportsModernFeatures(desiredModel);
333030
333066
  const activeSnippets = isModernModel ? snippets_exports : snippets_legacy_exports;
@@ -338333,7 +338369,7 @@ var A2AAuthProviderFactory = class _A2AAuthProviderFactory {
338333
338369
  return provider;
338334
338370
  }
338335
338371
  case "oauth2": {
338336
- const { OAuth2AuthProvider } = await import("./oauth2-provider-4UIWNIX3.js");
338372
+ const { OAuth2AuthProvider } = await import("./oauth2-provider-KL44D6HV.js");
338337
338373
  const provider = new OAuth2AuthProvider(
338338
338374
  authConfig,
338339
338375
  options.agentName ?? "unknown",
@@ -338579,6 +338615,8 @@ var ModelConfigService = class _ModelConfigService {
338579
338615
  return value === context2.useGemini3_1;
338580
338616
  case "useGemini3_1FlashLite":
338581
338617
  return value === context2.useGemini3_1FlashLite;
338618
+ case "useGemini3_5Flash":
338619
+ return value === context2.useGemini3_5Flash;
338582
338620
  case "useCustomTools":
338583
338621
  return value === context2.useCustomTools;
338584
338622
  case "hasAccessToPreview":
@@ -345379,7 +345417,8 @@ var GeminiClient = class {
345379
345417
  this.config.getGemini31LaunchedSync?.() ?? false,
345380
345418
  false,
345381
345419
  this.config.getHasAccessToPreviewModel?.() ?? true,
345382
- this.config
345420
+ this.config,
345421
+ this.config.hasGemini35FlashGAAccess?.() ?? false
345383
345422
  );
345384
345423
  }
345385
345424
  async *processTurn(request, signal, prompt_id, boundedTurns, displayContent) {
@@ -360036,7 +360075,8 @@ var DefaultStrategy = class {
360036
360075
  config2.getGemini31LaunchedSync?.() ?? false,
360037
360076
  false,
360038
360077
  config2.getHasAccessToPreviewModel?.() ?? true,
360039
- config2
360078
+ config2,
360079
+ config2.hasGemini35FlashGAAccess?.() ?? false
360040
360080
  );
360041
360081
  return {
360042
360082
  model: defaultModel,
@@ -360468,7 +360508,8 @@ var FallbackStrategy = class {
360468
360508
  config2.getGemini31LaunchedSync?.() ?? false,
360469
360509
  false,
360470
360510
  config2.getHasAccessToPreviewModel?.() ?? true,
360471
- config2
360511
+ config2,
360512
+ config2.hasGemini35FlashGAAccess?.() ?? false
360472
360513
  );
360473
360514
  const service = config2.getModelAvailabilityService();
360474
360515
  const snapshot = service.snapshot(resolvedModel);
@@ -360504,7 +360545,8 @@ var OverrideStrategy = class {
360504
360545
  config2.getGemini31LaunchedSync?.() ?? false,
360505
360546
  false,
360506
360547
  config2.getHasAccessToPreviewModel?.() ?? true,
360507
- config2
360548
+ config2,
360549
+ config2.hasGemini35FlashGAAccess?.() ?? false
360508
360550
  ),
360509
360551
  metadata: {
360510
360552
  source: this.name,
@@ -360778,6 +360820,12 @@ var DEFAULT_MODEL_CONFIGS = {
360778
360820
  model: "gemini-3.1-flash-lite"
360779
360821
  }
360780
360822
  },
360823
+ "gemini-3.5-flash": {
360824
+ extends: "chat-base-3",
360825
+ modelConfig: {
360826
+ model: "gemini-3.5-flash"
360827
+ }
360828
+ },
360781
360829
  "gemma-4-31b-it": {
360782
360830
  extends: "chat-base-3",
360783
360831
  modelConfig: {
@@ -360803,6 +360851,12 @@ var DEFAULT_MODEL_CONFIGS = {
360803
360851
  model: "gemini-3-flash-preview"
360804
360852
  }
360805
360853
  },
360854
+ "gemini-3.5-flash-base": {
360855
+ extends: "base",
360856
+ modelConfig: {
360857
+ model: "gemini-3.5-flash"
360858
+ }
360859
+ },
360806
360860
  classifier: {
360807
360861
  extends: "base",
360808
360862
  modelConfig: {
@@ -361010,6 +361064,13 @@ var DEFAULT_MODEL_CONFIGS = {
361010
361064
  isVisible: true,
361011
361065
  features: { thinking: false, multimodalToolUse: true }
361012
361066
  },
361067
+ "gemini-3.5-flash": {
361068
+ tier: "flash",
361069
+ family: "gemini-3",
361070
+ isPreview: false,
361071
+ isVisible: true,
361072
+ features: { thinking: false, multimodalToolUse: true }
361073
+ },
361013
361074
  "gemini-2.5-pro": {
361014
361075
  tier: "pro",
361015
361076
  family: "gemini-2.5",
@@ -361112,12 +361173,32 @@ var DEFAULT_MODEL_CONFIGS = {
361112
361173
  "gemini-3-flash-preview": {
361113
361174
  default: "gemini-3-flash-preview",
361114
361175
  contexts: [
361176
+ { condition: { useGemini3_5Flash: true }, target: "gemini-3.5-flash" },
361115
361177
  {
361116
361178
  condition: { hasAccessToPreview: false },
361117
361179
  target: "gemini-2.5-flash"
361118
361180
  }
361119
361181
  ]
361120
361182
  },
361183
+ "gemini-3.5-flash": {
361184
+ default: "gemini-3.5-flash",
361185
+ contexts: [
361186
+ {
361187
+ condition: { useGemini3_5Flash: false, hasAccessToPreview: false },
361188
+ target: "gemini-2.5-flash"
361189
+ },
361190
+ {
361191
+ condition: { useGemini3_5Flash: false },
361192
+ target: "gemini-3-flash-preview"
361193
+ }
361194
+ ]
361195
+ },
361196
+ "gemini-2.5-flash": {
361197
+ default: "gemini-2.5-flash",
361198
+ contexts: [
361199
+ { condition: { useGemini3_5Flash: true }, target: "gemini-3.5-flash" }
361200
+ ]
361201
+ },
361121
361202
  "gemini-3-pro-preview": {
361122
361203
  default: "gemini-3-pro-preview",
361123
361204
  contexts: [
@@ -361166,6 +361247,7 @@ var DEFAULT_MODEL_CONFIGS = {
361166
361247
  flash: {
361167
361248
  default: "gemini-3-flash-preview",
361168
361249
  contexts: [
361250
+ { condition: { useGemini3_5Flash: true }, target: "gemini-3.5-flash" },
361169
361251
  {
361170
361252
  condition: { hasAccessToPreview: false },
361171
361253
  target: "gemini-2.5-flash"
@@ -361197,6 +361279,7 @@ var DEFAULT_MODEL_CONFIGS = {
361197
361279
  flash: {
361198
361280
  default: "gemini-3-flash-preview",
361199
361281
  contexts: [
361282
+ { condition: { useGemini3_5Flash: true }, target: "gemini-3.5-flash" },
361200
361283
  {
361201
361284
  condition: { hasAccessToPreview: false },
361202
361285
  target: "gemini-2.5-flash"
@@ -364923,7 +365006,8 @@ var ExperimentFlags = {
364923
365006
  MASKING_PROTECT_LATEST_TURN: 45758819,
364924
365007
  GEMINI_3_1_PRO_LAUNCHED: 45760185,
364925
365008
  PRO_MODEL_NO_ACCESS: 45768879,
364926
- DEFAULT_REQUEST_TIMEOUT: 45773134
365009
+ DEFAULT_REQUEST_TIMEOUT: 45773134,
365010
+ GEMINI_3_5_FLASH_GA_LAUNCHED: 45780819
364927
365011
  };
364928
365012
 
364929
365013
  // packages/core/src/skills/skillManager.ts
@@ -380236,7 +380320,8 @@ var Config = class {
380236
380320
  this.getGemini31LaunchedSync(),
380237
380321
  this.getUseCustomToolModelSync(),
380238
380322
  this.getHasAccessToPreviewModel(),
380239
- this
380323
+ this,
380324
+ this.hasGemini35FlashGAAccess()
380240
380325
  );
380241
380326
  const isPreview2 = isPreviewModel(primaryModel, this);
380242
380327
  const proModel = primaryModel;
@@ -380263,7 +380348,8 @@ var Config = class {
380263
380348
  this.getGemini31LaunchedSync(),
380264
380349
  this.getUseCustomToolModelSync(),
380265
380350
  this.getHasAccessToPreviewModel(),
380266
- this
380351
+ this,
380352
+ this.hasGemini35FlashGAAccess()
380267
380353
  );
380268
380354
  return this.modelQuotas.get(primaryModel)?.remaining;
380269
380355
  }
@@ -380277,7 +380363,8 @@ var Config = class {
380277
380363
  this.getGemini31LaunchedSync(),
380278
380364
  this.getUseCustomToolModelSync(),
380279
380365
  this.getHasAccessToPreviewModel(),
380280
- this
380366
+ this,
380367
+ this.hasGemini35FlashGAAccess()
380281
380368
  );
380282
380369
  return this.modelQuotas.get(primaryModel)?.limit;
380283
380370
  }
@@ -380291,7 +380378,8 @@ var Config = class {
380291
380378
  this.getGemini31LaunchedSync(),
380292
380379
  this.getUseCustomToolModelSync(),
380293
380380
  this.getHasAccessToPreviewModel(),
380294
- this
380381
+ this,
380382
+ this.hasGemini35FlashGAAccess()
380295
380383
  );
380296
380384
  return this.modelQuotas.get(primaryModel)?.resetTime;
380297
380385
  }
@@ -381332,6 +381420,26 @@ ${sections.join("\n")}
381332
381420
  isGemini31LaunchedForAuthType(authType) {
381333
381421
  return authType === "gemini-api-key" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */ || authType === "gateway" /* GATEWAY */;
381334
381422
  }
381423
+ /**
381424
+ * Returns whether Gemini 3.5 Flash GA has been launched.
381425
+ *
381426
+ * Note: This method should only be called after startup, once experiments have been loaded.
381427
+ */
381428
+ hasGemini35FlashGAAccess() {
381429
+ const authType = this.contentGeneratorConfig?.authType;
381430
+ const hasAccess = (() => {
381431
+ if (this.isGemini31LaunchedForAuthType(authType)) {
381432
+ return true;
381433
+ }
381434
+ return this.experiments?.flags[ExperimentFlags.GEMINI_3_5_FLASH_GA_LAUNCHED]?.boolValue ?? false;
381435
+ })();
381436
+ if (hasAccess) {
381437
+ setFlashModels("gemini-3.5-flash", "gemini-3.5-flash");
381438
+ } else {
381439
+ setFlashModels("gemini-3-flash-preview", "gemini-2.5-flash");
381440
+ }
381441
+ return hasAccess;
381442
+ }
381335
381443
  /**
381336
381444
  * Returns whether Gemini 3.1 has been launched.
381337
381445
  *
@@ -399761,6 +399869,8 @@ export {
399761
399869
  PREVIEW_GEMINI_FLASH_MODEL,
399762
399870
  DEFAULT_GEMINI_MODEL,
399763
399871
  DEFAULT_GEMINI_FLASH_MODEL,
399872
+ DEFAULT_GEMINI_3_5_FLASH_MODEL,
399873
+ setFlashModels,
399764
399874
  DEFAULT_GEMINI_FLASH_LITE_MODEL,
399765
399875
  PREVIEW_GEMINI_FLASH_LITE_MODEL,
399766
399876
  GEMMA_4_31B_IT_MODEL,
@@ -1,13 +1,13 @@
1
1
  const require = (await import('node:module')).createRequire(import.meta.url); const __chunk_filename = (await import('node:url')).fileURLToPath(import.meta.url); const __chunk_dirname = (await import('node:path')).dirname(__chunk_filename);
2
2
  import {
3
3
  runExitCleanup
4
- } from "./chunk-WTRP3GGZ.js";
4
+ } from "./chunk-RXG3JOOZ.js";
5
5
  import {
6
6
  RELEASE_CHANNEL_STABILITY,
7
7
  debugLogger,
8
8
  getChannelFromVersion,
9
9
  isGitRepository
10
- } from "./chunk-565MWDPP.js";
10
+ } from "./chunk-FIM2LOYZ.js";
11
11
 
12
12
  // packages/cli/src/utils/installationInfo.ts
13
13
  import * as fs from "node:fs";
@@ -1,7 +1,7 @@
1
1
  const require = (await import('node:module')).createRequire(import.meta.url); const __chunk_filename = (await import('node:url')).fileURLToPath(import.meta.url); const __chunk_dirname = (await import('node:path')).dirname(__chunk_filename);
2
2
  import {
3
3
  runExitCleanup
4
- } from "./chunk-HVWNKZSB.js";
4
+ } from "./chunk-QFEJQS5X.js";
5
5
  import {
6
6
  __commonJS,
7
7
  __require
@@ -32,7 +32,7 @@ import {
32
32
  require_strip_json_comments,
33
33
  sanitizeFilenamePart,
34
34
  stripAnsi
35
- } from "./chunk-565MWDPP.js";
35
+ } from "./chunk-FIM2LOYZ.js";
36
36
  import {
37
37
  __commonJS,
38
38
  __require,
@@ -2,7 +2,7 @@ const require = (await import('node:module')).createRequire(import.meta.url); co
2
2
  import {
3
3
  exitCli,
4
4
  require_source
5
- } from "./chunk-4KX3ETW3.js";
5
+ } from "./chunk-HZNEV3DS.js";
6
6
  import {
7
7
  DEFAULT_PORT,
8
8
  SERVER_START_WAIT_MS,
@@ -14,10 +14,10 @@ import {
14
14
  isServerRunning,
15
15
  resolveGemmaConfig,
16
16
  writeServerProcessInfo
17
- } from "./chunk-6WWGBNKT.js";
17
+ } from "./chunk-ZXN4VW7M.js";
18
18
  import {
19
19
  debugLogger
20
- } from "./chunk-R52453KY.js";
20
+ } from "./chunk-XRDSBRG4.js";
21
21
  import {
22
22
  __toESM
23
23
  } from "./chunk-34MYV7JD.js";