@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
@@ -5,7 +5,7 @@ import {
5
5
  isTelemetrySdkInitialized,
6
6
  resetBrowserSession,
7
7
  shutdownTelemetry
8
- } from "./chunk-DDJWQSDN.js";
8
+ } from "./chunk-HHFFICNK.js";
9
9
 
10
10
  // packages/cli/src/utils/cleanup.ts
11
11
  import { promises as fs } from "node:fs";
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  exitCli,
8
8
  require_source
9
- } from "./chunk-3NDAYKF4.js";
9
+ } from "./chunk-5LUCCXOB.js";
10
10
  import {
11
11
  DEFAULT_BACKGROUND_OPACITY,
12
12
  DEFAULT_BORDER_OPACITY,
@@ -58,14 +58,14 @@ import {
58
58
  stripUnsafeCharacters,
59
59
  toCodePoints,
60
60
  validateCustomTheme
61
- } from "./chunk-K43EAKOP.js";
61
+ } from "./chunk-J444UQD3.js";
62
62
  import {
63
63
  isDevelopment
64
- } from "./chunk-HZCAEM2F.js";
64
+ } from "./chunk-HMR43ZX2.js";
65
65
  import {
66
66
  emptyIcon,
67
67
  require_react
68
- } from "./chunk-FEY3T6LA.js";
68
+ } from "./chunk-GTRQQGSJ.js";
69
69
  import {
70
70
  ALL_EDITORS,
71
71
  ApprovalMode,
@@ -243,7 +243,7 @@ import {
243
243
  tokenLimit,
244
244
  uiTelemetryService,
245
245
  unescapePath
246
- } from "./chunk-DDJWQSDN.js";
246
+ } from "./chunk-FIM2LOYZ.js";
247
247
  import {
248
248
  require_src
249
249
  } from "./chunk-TUDYL3X4.js";
@@ -56514,7 +56514,7 @@ var authCommand = {
56514
56514
  import process28 from "node:process";
56515
56515
 
56516
56516
  // packages/cli/src/generated/git-commit.ts
56517
- var GIT_COMMIT_INFO = "8acfe0c4a";
56517
+ var GIT_COMMIT_INFO = "480e2e7cd";
56518
56518
 
56519
56519
  // packages/cli/src/ui/utils/historyExportUtils.ts
56520
56520
  import * as fsPromises from "node:fs/promises";
@@ -62275,7 +62275,7 @@ Use /mcp auth <server-name> to authenticate.`
62275
62275
  type: "info",
62276
62276
  text: `Starting OAuth authentication for MCP server '${serverName}'...`
62277
62277
  });
62278
- const { MCPOAuthProvider } = await import("./dist-MOEHPHUN.js");
62278
+ const { MCPOAuthProvider } = await import("./dist-GPCRVPKS.js");
62279
62279
  let oauthConfig = server.oauth;
62280
62280
  if (!oauthConfig) {
62281
62281
  oauthConfig = { enabled: false };
@@ -29,7 +29,7 @@ import {
29
29
  require_strip_json_comments,
30
30
  sanitizeFilenamePart,
31
31
  stripAnsi
32
- } from "./chunk-R52453KY.js";
32
+ } from "./chunk-HHFFICNK.js";
33
33
  import {
34
34
  __commonJS,
35
35
  __require,
@@ -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-WTRP3GGZ.js";
4
+ } from "./chunk-RXG3JOOZ.js";
5
5
  import {
6
6
  __commonJS,
7
7
  __require
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  exitCli,
8
8
  require_source
9
- } from "./chunk-4KX3ETW3.js";
9
+ } from "./chunk-BOJOJVNV.js";
10
10
  import {
11
11
  DEFAULT_BACKGROUND_OPACITY,
12
12
  DEFAULT_BORDER_OPACITY,
@@ -58,14 +58,14 @@ import {
58
58
  stripUnsafeCharacters,
59
59
  toCodePoints,
60
60
  validateCustomTheme
61
- } from "./chunk-6WWGBNKT.js";
61
+ } from "./chunk-4K3E3G6Z.js";
62
62
  import {
63
63
  isDevelopment
64
- } from "./chunk-NB2NOE4L.js";
64
+ } from "./chunk-SHFHGDWR.js";
65
65
  import {
66
66
  emptyIcon,
67
67
  require_react
68
- } from "./chunk-E3KBY4EQ.js";
68
+ } from "./chunk-TDYUKPZH.js";
69
69
  import {
70
70
  ALL_EDITORS,
71
71
  ApprovalMode,
@@ -230,7 +230,7 @@ import {
230
230
  tokenLimit,
231
231
  uiTelemetryService,
232
232
  unescapePath
233
- } from "./chunk-R52453KY.js";
233
+ } from "./chunk-HHFFICNK.js";
234
234
  import {
235
235
  require_src
236
236
  } from "./chunk-TUDYL3X4.js";
@@ -56501,7 +56501,7 @@ var authCommand = {
56501
56501
  import process28 from "node:process";
56502
56502
 
56503
56503
  // packages/cli/src/generated/git-commit.ts
56504
- var GIT_COMMIT_INFO = "5a0bee901";
56504
+ var GIT_COMMIT_INFO = "cfcecebe8";
56505
56505
 
56506
56506
  // packages/cli/src/ui/utils/historyExportUtils.ts
56507
56507
  import * as fsPromises from "node:fs/promises";
@@ -62262,7 +62262,7 @@ Use /mcp auth <server-name> to authenticate.`
62262
62262
  type: "info",
62263
62263
  text: `Starting OAuth authentication for MCP server '${serverName}'...`
62264
62264
  });
62265
- const { MCPOAuthProvider } = await import("./core-B47ZXN3Y.js");
62265
+ const { MCPOAuthProvider } = await import("./core-VVRQ2GQD.js");
62266
62266
  let oauthConfig = server.oauth;
62267
62267
  if (!oauthConfig) {
62268
62268
  oauthConfig = { enabled: false };
@@ -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-OWSYSTWM.js";
4
+ } from "./chunk-2GMVQS2Q.js";
5
5
  import {
6
6
  __commonJS,
7
7
  __require
@@ -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-S6AQSJNU.js";
4
+ } from "./chunk-QFEJQS5X.js";
5
5
  import {
6
6
  RELEASE_CHANNEL_STABILITY,
7
7
  debugLogger,
8
8
  getChannelFromVersion,
9
9
  isGitRepository
10
- } from "./chunk-5YTIYFJO.js";
10
+ } from "./chunk-XRDSBRG4.js";
11
11
 
12
12
  // packages/cli/src/utils/installationInfo.ts
13
13
  import * as fs from "node:fs";
@@ -275810,6 +275810,11 @@ var PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL = "gemini-3.1-pro-preview-customtools"
275810
275810
  var PREVIEW_GEMINI_FLASH_MODEL = "gemini-3-flash-preview";
275811
275811
  var DEFAULT_GEMINI_MODEL = "gemini-2.5-pro";
275812
275812
  var DEFAULT_GEMINI_FLASH_MODEL = "gemini-2.5-flash";
275813
+ var DEFAULT_GEMINI_3_5_FLASH_MODEL = "gemini-3.5-flash";
275814
+ function setFlashModels(preview, defaultFlash) {
275815
+ PREVIEW_GEMINI_FLASH_MODEL = preview;
275816
+ DEFAULT_GEMINI_FLASH_MODEL = defaultFlash;
275817
+ }
275813
275818
  var DEFAULT_GEMINI_FLASH_LITE_MODEL = "gemini-3.1-flash-lite";
275814
275819
  var PREVIEW_GEMINI_FLASH_LITE_MODEL = "none";
275815
275820
  var GEMMA_4_31B_IT_MODEL = "gemma-4-31b-it";
@@ -275822,6 +275827,7 @@ var VALID_GEMINI_MODELS = /* @__PURE__ */ new Set([
275822
275827
  PREVIEW_GEMINI_FLASH_LITE_MODEL,
275823
275828
  DEFAULT_GEMINI_MODEL,
275824
275829
  DEFAULT_GEMINI_FLASH_MODEL,
275830
+ DEFAULT_GEMINI_3_5_FLASH_MODEL,
275825
275831
  DEFAULT_GEMINI_FLASH_LITE_MODEL,
275826
275832
  GEMMA_4_31B_IT_MODEL,
275827
275833
  GEMMA_4_26B_A4B_IT_MODEL
@@ -275839,20 +275845,21 @@ function getAutoModelDescription(hasAccessToPreview, useGemini3_1 = false) {
275839
275845
  const flashModel = hasAccessToPreview ? PREVIEW_GEMINI_FLASH_MODEL : DEFAULT_GEMINI_FLASH_MODEL;
275840
275846
  return `Let Gemini CLI decide the best model for the task: ${proModel}, ${flashModel}`;
275841
275847
  }
275842
- function resolveModel(requestedModel, useGemini3_1 = false, useCustomToolModel = false, hasAccessToPreview = true, config2) {
275848
+ function resolveModel(requestedModel, useGemini3_1 = false, useCustomToolModel = false, hasAccessToPreview = true, config2, useGemini3_5Flash = false) {
275843
275849
  const normalizedModel = Array.isArray(requestedModel) ? String(requestedModel.at(-1) ?? "").trim() || "" : typeof requestedModel !== "string" ? String(requestedModel ?? "").trim() || "" : requestedModel.trim() || "";
275844
275850
  if (config2?.getExperimentalDynamicModelConfiguration?.() === true) {
275845
275851
  const resolved2 = config2.modelConfigService.resolveModelId(normalizedModel, {
275846
275852
  useGemini3_1,
275847
275853
  useCustomTools: useCustomToolModel,
275848
- hasAccessToPreview
275854
+ hasAccessToPreview,
275855
+ useGemini3_5Flash
275849
275856
  });
275850
275857
  if (!hasAccessToPreview && isPreviewModel(resolved2, config2)) {
275851
275858
  if (resolved2.includes("flash-lite")) {
275852
275859
  return DEFAULT_GEMINI_FLASH_LITE_MODEL;
275853
275860
  }
275854
275861
  if (resolved2.includes("flash")) {
275855
- return DEFAULT_GEMINI_FLASH_MODEL;
275862
+ return useGemini3_5Flash ? DEFAULT_GEMINI_3_5_FLASH_MODEL : DEFAULT_GEMINI_FLASH_MODEL;
275856
275863
  }
275857
275864
  return DEFAULT_GEMINI_MODEL;
275858
275865
  }
@@ -275881,7 +275888,7 @@ function resolveModel(requestedModel, useGemini3_1 = false, useCustomToolModel =
275881
275888
  break;
275882
275889
  }
275883
275890
  case GEMINI_MODEL_ALIAS_FLASH: {
275884
- resolved = PREVIEW_GEMINI_FLASH_MODEL;
275891
+ resolved = useGemini3_5Flash ? DEFAULT_GEMINI_3_5_FLASH_MODEL : PREVIEW_GEMINI_FLASH_MODEL;
275885
275892
  break;
275886
275893
  }
275887
275894
  case GEMINI_MODEL_ALIAS_FLASH_LITE: {
@@ -275896,10 +275903,13 @@ function resolveModel(requestedModel, useGemini3_1 = false, useCustomToolModel =
275896
275903
  if (resolved === "none") {
275897
275904
  return DEFAULT_GEMINI_FLASH_LITE_MODEL;
275898
275905
  }
275906
+ if (useGemini3_5Flash && isFlashModel(resolved)) {
275907
+ return DEFAULT_GEMINI_3_5_FLASH_MODEL;
275908
+ }
275899
275909
  if (!hasAccessToPreview && isPreviewModel(resolved)) {
275900
275910
  switch (resolved) {
275901
275911
  case PREVIEW_GEMINI_FLASH_MODEL:
275902
- return DEFAULT_GEMINI_FLASH_MODEL;
275912
+ return useGemini3_5Flash ? DEFAULT_GEMINI_3_5_FLASH_MODEL : DEFAULT_GEMINI_FLASH_MODEL;
275903
275913
  case PREVIEW_GEMINI_MODEL:
275904
275914
  case PREVIEW_GEMINI_3_1_MODEL:
275905
275915
  case PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL:
@@ -275909,31 +275919,38 @@ function resolveModel(requestedModel, useGemini3_1 = false, useCustomToolModel =
275909
275919
  return DEFAULT_GEMINI_FLASH_LITE_MODEL;
275910
275920
  }
275911
275921
  if (resolved.includes("flash")) {
275912
- return DEFAULT_GEMINI_FLASH_MODEL;
275922
+ return useGemini3_5Flash ? DEFAULT_GEMINI_3_5_FLASH_MODEL : DEFAULT_GEMINI_FLASH_MODEL;
275913
275923
  }
275914
275924
  return DEFAULT_GEMINI_MODEL;
275915
275925
  }
275916
275926
  }
275917
275927
  return resolved;
275918
275928
  }
275919
- function resolveClassifierModel(requestedModel, modelAlias, useGemini3_1 = false, useCustomToolModel = false, hasAccessToPreview = true, config2) {
275929
+ function isFlashModel(model) {
275930
+ return model === DEFAULT_GEMINI_FLASH_MODEL || model === PREVIEW_GEMINI_FLASH_MODEL || model === DEFAULT_GEMINI_3_5_FLASH_MODEL || model === "flash" || model.endsWith("flash");
275931
+ }
275932
+ function resolveClassifierModel(requestedModel, modelAlias, useGemini3_1 = false, useCustomToolModel = false, hasAccessToPreview = true, config2, useGemini3_5Flash = false) {
275920
275933
  if (config2?.getExperimentalDynamicModelConfiguration?.() === true) {
275921
275934
  return config2.modelConfigService.resolveClassifierModelId(modelAlias, requestedModel, {
275922
275935
  useGemini3_1,
275923
275936
  useCustomTools: useCustomToolModel,
275924
- hasAccessToPreview
275937
+ hasAccessToPreview,
275938
+ useGemini3_5Flash
275925
275939
  });
275926
275940
  }
275927
275941
  if (modelAlias === GEMINI_MODEL_ALIAS_FLASH) {
275928
275942
  if (requestedModel === DEFAULT_GEMINI_MODEL_AUTO || requestedModel === DEFAULT_GEMINI_MODEL) {
275929
- return DEFAULT_GEMINI_FLASH_MODEL;
275943
+ return useGemini3_5Flash ? DEFAULT_GEMINI_3_5_FLASH_MODEL : DEFAULT_GEMINI_FLASH_MODEL;
275930
275944
  }
275931
275945
  if (requestedModel === PREVIEW_GEMINI_MODEL_AUTO || requestedModel === PREVIEW_GEMINI_MODEL || requestedModel === GEMINI_MODEL_ALIAS_AUTO) {
275946
+ if (useGemini3_5Flash) {
275947
+ return DEFAULT_GEMINI_3_5_FLASH_MODEL;
275948
+ }
275932
275949
  return hasAccessToPreview ? PREVIEW_GEMINI_FLASH_MODEL : DEFAULT_GEMINI_FLASH_MODEL;
275933
275950
  }
275934
- return resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, hasAccessToPreview);
275951
+ return resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, hasAccessToPreview, config2, useGemini3_5Flash);
275935
275952
  }
275936
- return resolveModel(requestedModel, useGemini3_1, useCustomToolModel, hasAccessToPreview, config2);
275953
+ return resolveModel(requestedModel, useGemini3_1, useCustomToolModel, hasAccessToPreview, config2, useGemini3_5Flash);
275937
275954
  }
275938
275955
  function getDisplayString(model, config2) {
275939
275956
  if (config2?.getExperimentalDynamicModelConfiguration?.() === true) {
@@ -279279,8 +279296,8 @@ function isValidToolName(name3, options = {}) {
279279
279296
  }
279280
279297
 
279281
279298
  // packages/core/dist/src/generated/git-commit.js
279282
- var GIT_COMMIT_INFO = "5a0bee901";
279283
- var CLI_VERSION = "0.45.0-preview.0";
279299
+ var GIT_COMMIT_INFO = "cfcecebe8";
279300
+ var CLI_VERSION = "0.46.0-preview.0";
279284
279301
 
279285
279302
  // packages/core/dist/src/ide/detect-ide.js
279286
279303
  var IDE_DEFINITIONS = {
@@ -303445,7 +303462,7 @@ function getVersion() {
303445
303462
  }
303446
303463
  versionPromise = (async () => {
303447
303464
  const pkgJson = await getPackageJson(__dirname4);
303448
- return "0.45.0-preview.0";
303465
+ return "0.46.0-preview.0";
303449
303466
  })();
303450
303467
  return versionPromise;
303451
303468
  }
@@ -304279,7 +304296,7 @@ var FLASH_LITE_CHAIN = [
304279
304296
  function getModelPolicyChain(options) {
304280
304297
  const isAuto = options.isAutoSelection ?? false;
304281
304298
  if (options.previewEnabled) {
304282
- const proModel = resolveModel(PREVIEW_GEMINI_MODEL, options.useGemini31, options.useCustomToolModel);
304299
+ const proModel = resolveModel(PREVIEW_GEMINI_MODEL, options.useGemini31, options.useCustomToolModel, true, void 0, options.useGemini3_5Flash);
304283
304300
  return [
304284
304301
  definePolicy({
304285
304302
  model: proModel,
@@ -304354,15 +304371,17 @@ function resolvePolicyChain(config2, preferredModel, wrapsAround = false) {
304354
304371
  const useGemini31 = config2.getGemini31LaunchedSync?.() ?? false;
304355
304372
  const useCustomToolModel = config2.getUseCustomToolModelSync?.() ?? false;
304356
304373
  const hasAccessToPreview = config2.getHasAccessToPreviewModel?.() ?? false;
304374
+ const useGemini3_5Flash = config2.hasGemini35FlashGAAccess?.() ?? false;
304357
304375
  const isOriginallyGemini3 = isGemini3Model(modelFromConfig, config2);
304358
- const resolvedModel = normalizeModelId(resolveModel(modelFromConfig, useGemini31, useCustomToolModel, hasAccessToPreview, config2));
304376
+ const resolvedModel = normalizeModelId(resolveModel(modelFromConfig, useGemini31, useCustomToolModel, hasAccessToPreview, config2, useGemini3_5Flash));
304359
304377
  const isAutoPreferred = normalizedPreferredModel ? isAutoModel(normalizedPreferredModel, config2) : false;
304360
304378
  const isAutoConfigured = isAutoModel(configuredModel, config2);
304361
304379
  const effectiveWrapsAround = wrapsAround || isAutoPreferred || isAutoConfigured || isOriginallyGemini3;
304362
304380
  if (config2.getExperimentalDynamicModelConfiguration?.() === true) {
304363
304381
  const context2 = {
304364
304382
  useGemini3_1: useGemini31,
304365
- useCustomTools: useCustomToolModel
304383
+ useCustomTools: useCustomToolModel,
304384
+ useGemini3_5Flash
304366
304385
  };
304367
304386
  if (resolvedModel === DEFAULT_GEMINI_FLASH_LITE_MODEL) {
304368
304387
  chain2 = config2.modelConfigService.resolveChain("lite", context2);
@@ -304394,7 +304413,8 @@ function resolvePolicyChain(config2, preferredModel, wrapsAround = false) {
304394
304413
  isAutoSelection,
304395
304414
  userTier: config2.getUserTier(),
304396
304415
  useGemini31,
304397
- useCustomToolModel
304416
+ useCustomToolModel,
304417
+ useGemini3_5Flash
304398
304418
  });
304399
304419
  } else {
304400
304420
  chain2 = getModelPolicyChain({
@@ -304402,7 +304422,8 @@ function resolvePolicyChain(config2, preferredModel, wrapsAround = false) {
304402
304422
  isAutoSelection,
304403
304423
  userTier: config2.getUserTier(),
304404
304424
  useGemini31,
304405
- useCustomToolModel
304425
+ useCustomToolModel,
304426
+ useGemini3_5Flash
304406
304427
  });
304407
304428
  }
304408
304429
  } else {
@@ -308219,7 +308240,7 @@ async function createContentGenerator(config2, gcConfig, sessionId) {
308219
308240
  return new LoggingContentGenerator(fakeGenerator, gcConfig);
308220
308241
  }
308221
308242
  const version4 = await getVersion();
308222
- const model = resolveModel(gcConfig.getModel(), config2.authType === AuthType2.USE_GEMINI || config2.authType === AuthType2.USE_VERTEX_AI || (await gcConfig.getGemini31Launched?.() ?? false), false, gcConfig.getHasAccessToPreviewModel?.() ?? true, gcConfig);
308243
+ const model = resolveModel(gcConfig.getModel(), config2.authType === AuthType2.USE_GEMINI || config2.authType === AuthType2.USE_VERTEX_AI || (await gcConfig.getGemini31Launched?.() ?? false), false, gcConfig.getHasAccessToPreviewModel?.() ?? true, gcConfig, gcConfig.hasGemini35FlashGAAccess?.() ?? false);
308223
308244
  const customHeadersEnv = process.env["GEMINI_CLI_CUSTOM_HEADERS"] || void 0;
308224
308245
  const clientName = gcConfig.getClientName();
308225
308246
  const surface = determineSurface2();
@@ -321143,16 +321164,18 @@ ${result2.output}`;
321143
321164
  }
321144
321165
  signal.removeEventListener("abort", onAbort);
321145
321166
  timeoutController.signal.removeEventListener("abort", onAbort);
321146
- if (tempFilePath) {
321147
- try {
321148
- await fsPromises9.unlink(tempFilePath);
321149
- } catch {
321167
+ if (!this.params.is_background) {
321168
+ if (tempFilePath) {
321169
+ try {
321170
+ await fsPromises9.unlink(tempFilePath);
321171
+ } catch {
321172
+ }
321150
321173
  }
321151
- }
321152
- if (tempDir) {
321153
- try {
321154
- await fsPromises9.rm(tempDir, { recursive: true, force: true });
321155
- } catch {
321174
+ if (tempDir) {
321175
+ try {
321176
+ await fsPromises9.rm(tempDir, { recursive: true, force: true });
321177
+ } catch {
321178
+ }
321156
321179
  }
321157
321180
  }
321158
321181
  }
@@ -328146,9 +328169,9 @@ var GeminiChat = class {
328146
328169
  const apiCall = async () => {
328147
328170
  const useGemini3_1 = await this.context.config.getGemini31Launched?.() ?? false;
328148
328171
  const hasAccessToPreview = this.context.config.getHasAccessToPreviewModel?.() ?? true;
328149
- let modelToUse = resolveModel(lastModelToUse, useGemini3_1, false, hasAccessToPreview, this.context.config);
328172
+ let modelToUse = resolveModel(lastModelToUse, useGemini3_1, false, hasAccessToPreview, this.context.config, this.context.config.hasGemini35FlashGAAccess?.() ?? false);
328150
328173
  if (this.context.config.getActiveModel() !== initialActiveModel) {
328151
- modelToUse = resolveModel(this.context.config.getActiveModel(), useGemini3_1, false, hasAccessToPreview, this.context.config);
328174
+ modelToUse = resolveModel(this.context.config.getActiveModel(), useGemini3_1, false, hasAccessToPreview, this.context.config, this.context.config.hasGemini35FlashGAAccess?.() ?? false);
328152
328175
  }
328153
328176
  if (modelToUse !== lastModelToUse) {
328154
328177
  const { generateContentConfig: newConfig } = this.context.config.modelConfigService.getResolvedConfig({
@@ -328187,7 +328210,7 @@ var GeminiChat = class {
328187
328210
  throw new AgentExecutionBlockedError(beforeModelResult.reason || "Model call blocked by hook", syntheticResponse);
328188
328211
  }
328189
328212
  if (beforeModelResult.modifiedModel) {
328190
- modelToUse = resolveModel(beforeModelResult.modifiedModel, useGemini3_1, false, hasAccessToPreview, this.context.config);
328213
+ modelToUse = resolveModel(beforeModelResult.modifiedModel, useGemini3_1, false, hasAccessToPreview, this.context.config, this.context.config.hasGemini35FlashGAAccess?.() ?? false);
328191
328214
  lastModelToUse = modelToUse;
328192
328215
  contentsToUse = supportsModernFeatures(modelToUse) ? [...contentsForPreviewModel] : [...requestContents];
328193
328216
  }
@@ -330545,7 +330568,7 @@ var PromptProvider = class {
330545
330568
  const isTopicUpdateNarrationEnabled = topicUpdateNarrationOverride ?? context2.config.isTopicUpdateNarrationEnabled();
330546
330569
  const enabledToolNames = new Set(toolNames);
330547
330570
  const approvedPlanPath = context2.config.getApprovedPlanPath();
330548
- const desiredModel = resolveModel(context2.config.getActiveModel(), context2.config.getGemini31LaunchedSync?.() ?? false, false, context2.config.getHasAccessToPreviewModel?.() ?? true, context2.config);
330571
+ const desiredModel = resolveModel(context2.config.getActiveModel(), context2.config.getGemini31LaunchedSync?.() ?? false, false, context2.config.getHasAccessToPreviewModel?.() ?? true, context2.config, context2.config.hasGemini35FlashGAAccess?.() ?? false);
330549
330572
  const isModernModel = supportsModernFeatures(desiredModel);
330550
330573
  const activeSnippets = isModernModel ? snippets_exports : snippets_legacy_exports;
330551
330574
  const contextFilenames = getAllGeminiMdFilenames();
@@ -330663,7 +330686,7 @@ var PromptProvider = class {
330663
330686
  return sanitizedPrompt;
330664
330687
  }
330665
330688
  getCompressionPrompt(context2) {
330666
- const desiredModel = resolveModel(context2.config.getActiveModel(), context2.config.getGemini31LaunchedSync?.() ?? false, false, context2.config.getHasAccessToPreviewModel?.() ?? true, context2.config);
330689
+ const desiredModel = resolveModel(context2.config.getActiveModel(), context2.config.getGemini31LaunchedSync?.() ?? false, false, context2.config.getHasAccessToPreviewModel?.() ?? true, context2.config, context2.config.hasGemini35FlashGAAccess?.() ?? false);
330667
330690
  const isModernModel = supportsModernFeatures(desiredModel);
330668
330691
  const activeSnippets = isModernModel ? snippets_exports : snippets_legacy_exports;
330669
330692
  return activeSnippets.getCompressionPrompt(context2.config.getApprovedPlanPath());
@@ -335777,7 +335800,7 @@ var A2AAuthProviderFactory = class _A2AAuthProviderFactory {
335777
335800
  return provider;
335778
335801
  }
335779
335802
  case "oauth2": {
335780
- const { OAuth2AuthProvider } = await import("./oauth2-provider-TRRJCE2P.js");
335803
+ const { OAuth2AuthProvider } = await import("./oauth2-provider-VVNBQH45.js");
335781
335804
  const provider = new OAuth2AuthProvider(authConfig, options.agentName ?? "unknown", agentCard, options.agentCardUrl);
335782
335805
  await provider.initialize();
335783
335806
  return provider;
@@ -336002,6 +336025,8 @@ var ModelConfigService = class _ModelConfigService {
336002
336025
  return value === context2.useGemini3_1;
336003
336026
  case "useGemini3_1FlashLite":
336004
336027
  return value === context2.useGemini3_1FlashLite;
336028
+ case "useGemini3_5Flash":
336029
+ return value === context2.useGemini3_5Flash;
336005
336030
  case "useCustomTools":
336006
336031
  return value === context2.useCustomTools;
336007
336032
  case "hasAccessToPreview":
@@ -342168,7 +342193,7 @@ var GeminiClient = class {
342168
342193
  if (this.currentSequenceModel) {
342169
342194
  return this.currentSequenceModel;
342170
342195
  }
342171
- return resolveModel(this.config.getActiveModel(), this.config.getGemini31LaunchedSync?.() ?? false, false, this.config.getHasAccessToPreviewModel?.() ?? true, this.config);
342196
+ return resolveModel(this.config.getActiveModel(), this.config.getGemini31LaunchedSync?.() ?? false, false, this.config.getHasAccessToPreviewModel?.() ?? true, this.config, this.config.hasGemini35FlashGAAccess?.() ?? false);
342172
342197
  }
342173
342198
  async *processTurn(request, signal, prompt_id, boundedTurns, displayContent) {
342174
342199
  let turn = new Turn(this.getChat(), prompt_id);
@@ -355689,7 +355714,7 @@ ${formattedHistory}
355689
355714
  var DefaultStrategy = class {
355690
355715
  name = "default";
355691
355716
  async route(_context, config2, _baseLlmClient, _localLiteRtLmClient) {
355692
- const defaultModel = resolveModel(config2.getModel(), config2.getGemini31LaunchedSync?.() ?? false, false, config2.getHasAccessToPreviewModel?.() ?? true, config2);
355717
+ const defaultModel = resolveModel(config2.getModel(), config2.getGemini31LaunchedSync?.() ?? false, false, config2.getHasAccessToPreviewModel?.() ?? true, config2, config2.hasGemini35FlashGAAccess?.() ?? false);
355693
355718
  return {
355694
355719
  model: defaultModel,
355695
355720
  metadata: {
@@ -356067,7 +356092,7 @@ var FallbackStrategy = class {
356067
356092
  name = "fallback";
356068
356093
  async route(context2, config2, _baseLlmClient, _localLiteRtLmClient) {
356069
356094
  const requestedModel = context2.requestedModel ?? config2.getModel();
356070
- const resolvedModel = resolveModel(requestedModel, config2.getGemini31LaunchedSync?.() ?? false, false, config2.getHasAccessToPreviewModel?.() ?? true, config2);
356095
+ const resolvedModel = resolveModel(requestedModel, config2.getGemini31LaunchedSync?.() ?? false, false, config2.getHasAccessToPreviewModel?.() ?? true, config2, config2.hasGemini35FlashGAAccess?.() ?? false);
356071
356096
  const service = config2.getModelAvailabilityService();
356072
356097
  const snapshot = service.snapshot(resolvedModel);
356073
356098
  if (snapshot.available) {
@@ -356097,7 +356122,7 @@ var OverrideStrategy = class {
356097
356122
  return null;
356098
356123
  }
356099
356124
  return {
356100
- model: resolveModel(overrideModel, config2.getGemini31LaunchedSync?.() ?? false, false, config2.getHasAccessToPreviewModel?.() ?? true, config2),
356125
+ model: resolveModel(overrideModel, config2.getGemini31LaunchedSync?.() ?? false, false, config2.getHasAccessToPreviewModel?.() ?? true, config2, config2.hasGemini35FlashGAAccess?.() ?? false),
356101
356126
  metadata: {
356102
356127
  source: this.name,
356103
356128
  latencyMs: 0,
@@ -356334,6 +356359,12 @@ var DEFAULT_MODEL_CONFIGS = {
356334
356359
  model: "gemini-3.1-flash-lite"
356335
356360
  }
356336
356361
  },
356362
+ "gemini-3.5-flash": {
356363
+ extends: "chat-base-3",
356364
+ modelConfig: {
356365
+ model: "gemini-3.5-flash"
356366
+ }
356367
+ },
356337
356368
  "gemma-4-31b-it": {
356338
356369
  extends: "chat-base-3",
356339
356370
  modelConfig: {
@@ -356359,6 +356390,12 @@ var DEFAULT_MODEL_CONFIGS = {
356359
356390
  model: "gemini-3-flash-preview"
356360
356391
  }
356361
356392
  },
356393
+ "gemini-3.5-flash-base": {
356394
+ extends: "base",
356395
+ modelConfig: {
356396
+ model: "gemini-3.5-flash"
356397
+ }
356398
+ },
356362
356399
  classifier: {
356363
356400
  extends: "base",
356364
356401
  modelConfig: {
@@ -356566,6 +356603,13 @@ var DEFAULT_MODEL_CONFIGS = {
356566
356603
  isVisible: true,
356567
356604
  features: { thinking: false, multimodalToolUse: true }
356568
356605
  },
356606
+ "gemini-3.5-flash": {
356607
+ tier: "flash",
356608
+ family: "gemini-3",
356609
+ isPreview: false,
356610
+ isVisible: true,
356611
+ features: { thinking: false, multimodalToolUse: true }
356612
+ },
356569
356613
  "gemini-2.5-pro": {
356570
356614
  tier: "pro",
356571
356615
  family: "gemini-2.5",
@@ -356668,12 +356712,32 @@ var DEFAULT_MODEL_CONFIGS = {
356668
356712
  "gemini-3-flash-preview": {
356669
356713
  default: "gemini-3-flash-preview",
356670
356714
  contexts: [
356715
+ { condition: { useGemini3_5Flash: true }, target: "gemini-3.5-flash" },
356671
356716
  {
356672
356717
  condition: { hasAccessToPreview: false },
356673
356718
  target: "gemini-2.5-flash"
356674
356719
  }
356675
356720
  ]
356676
356721
  },
356722
+ "gemini-3.5-flash": {
356723
+ default: "gemini-3.5-flash",
356724
+ contexts: [
356725
+ {
356726
+ condition: { useGemini3_5Flash: false, hasAccessToPreview: false },
356727
+ target: "gemini-2.5-flash"
356728
+ },
356729
+ {
356730
+ condition: { useGemini3_5Flash: false },
356731
+ target: "gemini-3-flash-preview"
356732
+ }
356733
+ ]
356734
+ },
356735
+ "gemini-2.5-flash": {
356736
+ default: "gemini-2.5-flash",
356737
+ contexts: [
356738
+ { condition: { useGemini3_5Flash: true }, target: "gemini-3.5-flash" }
356739
+ ]
356740
+ },
356677
356741
  "gemini-3-pro-preview": {
356678
356742
  default: "gemini-3-pro-preview",
356679
356743
  contexts: [
@@ -356722,6 +356786,7 @@ var DEFAULT_MODEL_CONFIGS = {
356722
356786
  flash: {
356723
356787
  default: "gemini-3-flash-preview",
356724
356788
  contexts: [
356789
+ { condition: { useGemini3_5Flash: true }, target: "gemini-3.5-flash" },
356725
356790
  {
356726
356791
  condition: { hasAccessToPreview: false },
356727
356792
  target: "gemini-2.5-flash"
@@ -356753,6 +356818,7 @@ var DEFAULT_MODEL_CONFIGS = {
356753
356818
  flash: {
356754
356819
  default: "gemini-3-flash-preview",
356755
356820
  contexts: [
356821
+ { condition: { useGemini3_5Flash: true }, target: "gemini-3.5-flash" },
356756
356822
  {
356757
356823
  condition: { hasAccessToPreview: false },
356758
356824
  target: "gemini-2.5-flash"
@@ -360054,7 +360120,8 @@ var ExperimentFlags = {
360054
360120
  MASKING_PROTECT_LATEST_TURN: 45758819,
360055
360121
  GEMINI_3_1_PRO_LAUNCHED: 45760185,
360056
360122
  PRO_MODEL_NO_ACCESS: 45768879,
360057
- DEFAULT_REQUEST_TIMEOUT: 45773134
360123
+ DEFAULT_REQUEST_TIMEOUT: 45773134,
360124
+ GEMINI_3_5_FLASH_GA_LAUNCHED: 45780819
360058
360125
  };
360059
360126
 
360060
360127
  // packages/core/dist/src/skills/skillManager.js
@@ -374525,7 +374592,7 @@ var Config = class {
374525
374592
  if (!isAutoModel(model, this)) {
374526
374593
  return {};
374527
374594
  }
374528
- const primaryModel = resolveModel(model, this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this);
374595
+ const primaryModel = resolveModel(model, this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasGemini35FlashGAAccess());
374529
374596
  const isPreview2 = isPreviewModel(primaryModel, this);
374530
374597
  const proModel = primaryModel;
374531
374598
  const flashModel = isPreview2 ? PREVIEW_GEMINI_FLASH_MODEL : DEFAULT_GEMINI_FLASH_MODEL;
@@ -374546,7 +374613,7 @@ var Config = class {
374546
374613
  if (pooled.remaining !== void 0) {
374547
374614
  return pooled.remaining;
374548
374615
  }
374549
- const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this);
374616
+ const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasGemini35FlashGAAccess());
374550
374617
  return this.modelQuotas.get(primaryModel)?.remaining;
374551
374618
  }
374552
374619
  getQuotaLimit() {
@@ -374554,7 +374621,7 @@ var Config = class {
374554
374621
  if (pooled.limit !== void 0) {
374555
374622
  return pooled.limit;
374556
374623
  }
374557
- const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this);
374624
+ const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasGemini35FlashGAAccess());
374558
374625
  return this.modelQuotas.get(primaryModel)?.limit;
374559
374626
  }
374560
374627
  getQuotaResetTime() {
@@ -374562,7 +374629,7 @@ var Config = class {
374562
374629
  if (pooled.resetTime !== void 0) {
374563
374630
  return pooled.resetTime;
374564
374631
  }
374565
- const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this);
374632
+ const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this, this.hasGemini35FlashGAAccess());
374566
374633
  return this.modelQuotas.get(primaryModel)?.resetTime;
374567
374634
  }
374568
374635
  getEmbeddingModel() {
@@ -375546,6 +375613,26 @@ ${sections.join("\n")}
375546
375613
  isGemini31LaunchedForAuthType(authType) {
375547
375614
  return authType === AuthType2.USE_GEMINI || authType === AuthType2.USE_VERTEX_AI || authType === AuthType2.GATEWAY;
375548
375615
  }
375616
+ /**
375617
+ * Returns whether Gemini 3.5 Flash GA has been launched.
375618
+ *
375619
+ * Note: This method should only be called after startup, once experiments have been loaded.
375620
+ */
375621
+ hasGemini35FlashGAAccess() {
375622
+ const authType = this.contentGeneratorConfig?.authType;
375623
+ const hasAccess = (() => {
375624
+ if (this.isGemini31LaunchedForAuthType(authType)) {
375625
+ return true;
375626
+ }
375627
+ return this.experiments?.flags[ExperimentFlags.GEMINI_3_5_FLASH_GA_LAUNCHED]?.boolValue ?? false;
375628
+ })();
375629
+ if (hasAccess) {
375630
+ setFlashModels("gemini-3.5-flash", "gemini-3.5-flash");
375631
+ } else {
375632
+ setFlashModels("gemini-3-flash-preview", "gemini-2.5-flash");
375633
+ }
375634
+ return hasAccess;
375635
+ }
375549
375636
  /**
375550
375637
  * Returns whether Gemini 3.1 has been launched.
375551
375638
  *
@@ -393253,6 +393340,8 @@ export {
393253
393340
  PREVIEW_GEMINI_FLASH_MODEL,
393254
393341
  DEFAULT_GEMINI_MODEL,
393255
393342
  DEFAULT_GEMINI_FLASH_MODEL,
393343
+ DEFAULT_GEMINI_3_5_FLASH_MODEL,
393344
+ setFlashModels,
393256
393345
  DEFAULT_GEMINI_FLASH_LITE_MODEL,
393257
393346
  PREVIEW_GEMINI_FLASH_LITE_MODEL,
393258
393347
  GEMMA_4_31B_IT_MODEL,
@@ -2,7 +2,7 @@ const require = (await import('node:module')).createRequire(import.meta.url); co
2
2
  import {
3
3
  CoreToolCallStatus,
4
4
  checkExhaustive
5
- } from "./chunk-5YTIYFJO.js";
5
+ } from "./chunk-FIM2LOYZ.js";
6
6
  import {
7
7
  __commonJS,
8
8
  __toESM