@google/gemini-cli 0.55.0-preview.2 → 0.55.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 (73) hide show
  1. package/bundle/builtin/antigravity-support/SKILL.md +55 -18
  2. package/bundle/builtin/skill-creator/SKILL.md +221 -84
  3. package/bundle/{chunk-2ZWCUTMN.js → chunk-2M2ZIALC.js} +1 -1
  4. package/bundle/{chunk-A4YWS44A.js → chunk-32XQ54AJ.js} +41 -13
  5. package/bundle/{chunk-T36P7MFE.js → chunk-3PF5QBBI.js} +7 -7
  6. package/bundle/{chunk-XWGJPCDB.js → chunk-4PTN4HDB.js} +1 -1
  7. package/bundle/{chunk-57ZLFNIU.js → chunk-4VCYHMUV.js} +1 -1
  8. package/bundle/{chunk-KII3XXCP.js → chunk-54ARFWUQ.js} +3 -3
  9. package/bundle/{chunk-OC55SY62.js → chunk-5LKFYSMV.js} +7 -7
  10. package/bundle/{chunk-CYJHOZAD.js → chunk-7PUNXJV6.js} +1 -1
  11. package/bundle/{chunk-2NTEXQZI.js → chunk-AHQT54A5.js} +2 -2
  12. package/bundle/{chunk-LVOM4PEE.js → chunk-AICCA4O7.js} +2 -2
  13. package/bundle/{chunk-4SFKECJB.js → chunk-CBP73R2W.js} +1 -1
  14. package/bundle/{chunk-O5GQF2L7.js → chunk-DPETPWEN.js} +1 -1
  15. package/bundle/{chunk-3OPKUUXP.js → chunk-F6UH32RP.js} +1 -1
  16. package/bundle/{chunk-PTZIAOG5.js → chunk-FFNJNOPW.js} +3 -3
  17. package/bundle/{chunk-QPGTVRXP.js → chunk-IHBI4YWX.js} +7 -7
  18. package/bundle/{chunk-UXD5COS4.js → chunk-L72KYPGX.js} +7 -7
  19. package/bundle/{chunk-7IYUUE2H.js → chunk-MMGNXRKB.js} +1 -1
  20. package/bundle/{chunk-L6Q242KC.js → chunk-MVFWCC7A.js} +1 -1
  21. package/bundle/{chunk-CBX65YIB.js → chunk-MXXWTJ5T.js} +1 -1
  22. package/bundle/{chunk-SEHUSFSL.js → chunk-ODKPTNXF.js} +1 -1
  23. package/bundle/{chunk-J27NXCYL.js → chunk-PG6A7S3N.js} +1 -1
  24. package/bundle/{chunk-HZZM77SO.js → chunk-QCOIICKD.js} +41 -13
  25. package/bundle/{chunk-S3XRZJYO.js → chunk-QZIGFB5E.js} +1 -1
  26. package/bundle/{chunk-DBPSBJMI.js → chunk-RV6ZZ7XX.js} +1 -1
  27. package/bundle/{chunk-R3S5PP5S.js → chunk-TBDX7VEE.js} +41 -13
  28. package/bundle/{chunk-DSCF5EA6.js → chunk-TGIIS5S2.js} +3 -3
  29. package/bundle/{chunk-J6DC57TM.js → chunk-UE3CHSFT.js} +1 -1
  30. package/bundle/{chunk-DRN2VYCZ.js → chunk-UNIFGKZA.js} +2 -2
  31. package/bundle/{chunk-4C7ON4TD.js → chunk-WD5EVW3M.js} +1 -1
  32. package/bundle/{chunk-FH7GCVZY.js → chunk-XCA4ZL2J.js} +2 -2
  33. package/bundle/{chunk-IHR5TZ6N.js → chunk-YBQ5R3NL.js} +3 -3
  34. package/bundle/{chunk-MLTI5CK6.js → chunk-ZYL2LM3Y.js} +41 -13
  35. package/bundle/{cleanup-PYHN72B4.js → cleanup-B3QR2N4G.js} +2 -2
  36. package/bundle/{cleanup-QOIB4MC5.js → cleanup-H4OEYJO6.js} +2 -2
  37. package/bundle/{cleanup-X7SPIVY6.js → cleanup-MJ6IH5A4.js} +2 -2
  38. package/bundle/{cleanup-XHKLOUOX.js → cleanup-ZPX2BSHS.js} +2 -2
  39. package/bundle/{core-TM4S2KC6.js → core-IV4CNC54.js} +1 -1
  40. package/bundle/{devtoolsService-QXH36QMO.js → devtoolsService-53U6T2D7.js} +2 -2
  41. package/bundle/{devtoolsService-XNULR5OM.js → devtoolsService-HB7ZBXSQ.js} +2 -2
  42. package/bundle/{devtoolsService-XP7RODGG.js → devtoolsService-OPPX3TMY.js} +2 -2
  43. package/bundle/{devtoolsService-YBK5NQJR.js → devtoolsService-VRMTKDJD.js} +2 -2
  44. package/bundle/{dist-DUXHKH4A.js → dist-6SH22WAQ.js} +1 -1
  45. package/bundle/{dist-FCM7NH26.js → dist-DZLHUESI.js} +1 -1
  46. package/bundle/{dist-LH5DRLX7.js → dist-GGMH7TPR.js} +1 -1
  47. package/bundle/docs/behavioral-evals.md +185 -0
  48. package/bundle/docs/changelogs/index.md +18 -0
  49. package/bundle/docs/changelogs/latest.md +59 -31
  50. package/bundle/docs/changelogs/preview.md +45 -3
  51. package/bundle/docs/sidebar.json +4 -0
  52. package/bundle/{gemini-ZUILAPR6.js → gemini-3KUKFPRO.js} +14 -14
  53. package/bundle/{gemini-HDAYOIW2.js → gemini-63IMHOLI.js} +14 -14
  54. package/bundle/{gemini-ORTIIX7J.js → gemini-I57YPWDS.js} +14 -14
  55. package/bundle/{gemini-A7HOBIKY.js → gemini-LI2WNAGG.js} +14 -14
  56. package/bundle/gemini.js +7 -7
  57. package/bundle/{interactiveCli-H524RKEH.js → interactiveCli-2Z3Q3FYM.js} +67 -25
  58. package/bundle/{interactiveCli-KX3U7SFD.js → interactiveCli-4CVVH6KY.js} +67 -25
  59. package/bundle/{interactiveCli-O4YSZIKG.js → interactiveCli-OLXPGHKG.js} +67 -25
  60. package/bundle/{interactiveCli-YAAI2B6S.js → interactiveCli-YTTP3IVA.js} +67 -25
  61. package/bundle/{liteRtServerManager-FTW42YZF.js → liteRtServerManager-3I2T6MGB.js} +4 -4
  62. package/bundle/{liteRtServerManager-NW33H3DY.js → liteRtServerManager-F6V5YDCO.js} +4 -4
  63. package/bundle/{liteRtServerManager-PRXJGWUQ.js → liteRtServerManager-H6XTDF3Z.js} +4 -4
  64. package/bundle/{liteRtServerManager-RP2Z5PSZ.js → liteRtServerManager-I5WRPME4.js} +4 -4
  65. package/bundle/{oauth2-provider-JZQDXWRM.js → oauth2-provider-D5ATF6IJ.js} +1 -1
  66. package/bundle/{oauth2-provider-UKW3UFLQ.js → oauth2-provider-EO6C45X7.js} +1 -1
  67. package/bundle/{oauth2-provider-AXFTVNOH.js → oauth2-provider-QKZF52YW.js} +1 -1
  68. package/bundle/{oauth2-provider-X4GQTJLG.js → oauth2-provider-RA73ERNX.js} +1 -1
  69. package/bundle/{start-EIHA5TWI.js → start-A2X2P77M.js} +6 -6
  70. package/bundle/{start-ODF2OV65.js → start-IH2TDHK5.js} +6 -6
  71. package/bundle/{start-ONHNJJG7.js → start-J7S6DWJY.js} +6 -6
  72. package/bundle/{start-TSZCFX4W.js → start-VOAVWNRZ.js} +6 -6
  73. package/package.json +1 -1
@@ -2,7 +2,7 @@ const require = (await import('node:module')).createRequire(import.meta.url); co
2
2
  import {
3
3
  startCommand,
4
4
  startServer
5
- } from "./chunk-DSCF5EA6.js";
5
+ } from "./chunk-FFNJNOPW.js";
6
6
  import {
7
7
  BuiltinCommandLoader,
8
8
  CommandService,
@@ -45,11 +45,11 @@ import {
45
45
  updateAllUpdatableExtensions,
46
46
  updateExtension,
47
47
  validateAuthMethod
48
- } from "./chunk-QPGTVRXP.js";
48
+ } from "./chunk-IHBI4YWX.js";
49
49
  import {
50
50
  exitCli,
51
51
  require_source
52
- } from "./chunk-57ZLFNIU.js";
52
+ } from "./chunk-UE3CHSFT.js";
53
53
  import {
54
54
  appEvents
55
55
  } from "./chunk-5PS3AYFU.js";
@@ -87,11 +87,11 @@ import {
87
87
  resolveGemmaConfig,
88
88
  saveModelChange,
89
89
  stripAnsi
90
- } from "./chunk-O5GQF2L7.js";
90
+ } from "./chunk-DPETPWEN.js";
91
91
  import {
92
92
  RELAUNCH_EXIT_CODE
93
- } from "./chunk-2NTEXQZI.js";
94
- import "./chunk-DBPSBJMI.js";
93
+ } from "./chunk-UNIFGKZA.js";
94
+ import "./chunk-RV6ZZ7XX.js";
95
95
  import {
96
96
  cleanupCheckpoints,
97
97
  registerCleanup,
@@ -100,7 +100,7 @@ import {
100
100
  runExitCleanup,
101
101
  runSyncCleanup,
102
102
  setupSignalHandlers
103
- } from "./chunk-7IYUUE2H.js";
103
+ } from "./chunk-MXXWTJ5T.js";
104
104
  import {
105
105
  ASK_USER_TOOL_NAME,
106
106
  ApprovalMode,
@@ -253,7 +253,7 @@ import {
253
253
  updatePolicy,
254
254
  writeToStderr,
255
255
  writeToStdout
256
- } from "./chunk-MLTI5CK6.js";
256
+ } from "./chunk-ZYL2LM3Y.js";
257
257
  import "./chunk-664ZODQF.js";
258
258
  import "./chunk-IUUIT4SU.js";
259
259
  import "./chunk-TUDYL3X4.js";
@@ -7847,7 +7847,7 @@ async function loadSandboxConfig(settings, argv) {
7847
7847
  }
7848
7848
  const command2 = getSandboxCommand(sandboxValue);
7849
7849
  const packageJson = await getPackageJson(__dirname3);
7850
- const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.55.0-preview.2" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7850
+ const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.55.1" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7851
7851
  const isNative = command2 === "windows-native" || command2 === "sandbox-exec" || command2 === "lxc";
7852
7852
  return command2 && (image || isNative) ? { enabled: true, allowedPaths, networkAccess, command: command2, image } : void 0;
7853
7853
  }
@@ -10852,7 +10852,7 @@ async function runNonInteractive({
10852
10852
  }
10853
10853
  });
10854
10854
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
10855
- const { setupInitialActivityLogger } = await import("./devtoolsService-QXH36QMO.js");
10855
+ const { setupInitialActivityLogger } = await import("./devtoolsService-VRMTKDJD.js");
10856
10856
  setupInitialActivityLogger(config);
10857
10857
  }
10858
10858
  const { stdout: workingStdout } = createWorkingStdio();
@@ -11362,7 +11362,7 @@ async function runNonInteractive2(params) {
11362
11362
  }
11363
11363
  });
11364
11364
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
11365
- const { setupInitialActivityLogger } = await import("./devtoolsService-QXH36QMO.js");
11365
+ const { setupInitialActivityLogger } = await import("./devtoolsService-VRMTKDJD.js");
11366
11366
  setupInitialActivityLogger(config);
11367
11367
  }
11368
11368
  const { stdout: workingStdout } = createWorkingStdio();
@@ -16572,7 +16572,7 @@ async function resolveSessionId(resumeArg, sessionIdArg, sessionFileArg) {
16572
16572
  }
16573
16573
  }
16574
16574
  async function startInteractiveUI(config, settings, startupWarnings, workspaceRoot = process.cwd(), resumedSessionData, initializationResult) {
16575
- const { startInteractiveUI: doStartUI } = await import("./interactiveCli-KX3U7SFD.js");
16575
+ const { startInteractiveUI: doStartUI } = await import("./interactiveCli-OLXPGHKG.js");
16576
16576
  await doStartUI(
16577
16577
  config,
16578
16578
  settings,
@@ -16781,7 +16781,7 @@ ${finalArgs[promptIndex + 1]}`;
16781
16781
  await config.storage.initialize();
16782
16782
  adminControlsListner.setConfig(config);
16783
16783
  if (config.isInteractive() && settings.merged.general.devtools) {
16784
- const { setupInitialActivityLogger } = await import("./devtoolsService-QXH36QMO.js");
16784
+ const { setupInitialActivityLogger } = await import("./devtoolsService-VRMTKDJD.js");
16785
16785
  setupInitialActivityLogger(config);
16786
16786
  }
16787
16787
  registerTelemetryConfig(config);
@@ -16840,7 +16840,7 @@ ${finalArgs[promptIndex + 1]}`;
16840
16840
  const initAppHandle = startupProfiler.start("initialize_app");
16841
16841
  const initializationResult = await initializeApp(config, settings);
16842
16842
  initAppHandle?.end();
16843
- import("./liteRtServerManager-PRXJGWUQ.js").then(({ LiteRtServerManager }) => {
16843
+ import("./liteRtServerManager-F6V5YDCO.js").then(({ LiteRtServerManager }) => {
16844
16844
  const mergedGemma = settings.merged.experimental?.gemmaModelRouter;
16845
16845
  if (!mergedGemma) return;
16846
16846
  const userGemma = settings.forScope("User" /* User */).settings.experimental?.gemmaModelRouter;
@@ -2,7 +2,7 @@ const require = (await import('node:module')).createRequire(import.meta.url); co
2
2
  import {
3
3
  startCommand,
4
4
  startServer
5
- } from "./chunk-KII3XXCP.js";
5
+ } from "./chunk-YBQ5R3NL.js";
6
6
  import {
7
7
  BuiltinCommandLoader,
8
8
  CommandService,
@@ -45,11 +45,11 @@ import {
45
45
  updateAllUpdatableExtensions,
46
46
  updateExtension,
47
47
  validateAuthMethod
48
- } from "./chunk-UXD5COS4.js";
48
+ } from "./chunk-L72KYPGX.js";
49
49
  import {
50
50
  exitCli,
51
51
  require_source
52
- } from "./chunk-J6DC57TM.js";
52
+ } from "./chunk-7PUNXJV6.js";
53
53
  import {
54
54
  appEvents
55
55
  } from "./chunk-5PS3AYFU.js";
@@ -87,11 +87,11 @@ import {
87
87
  resolveGemmaConfig,
88
88
  saveModelChange,
89
89
  stripAnsi
90
- } from "./chunk-4SFKECJB.js";
90
+ } from "./chunk-CBP73R2W.js";
91
91
  import {
92
92
  RELAUNCH_EXIT_CODE
93
- } from "./chunk-LVOM4PEE.js";
94
- import "./chunk-4C7ON4TD.js";
93
+ } from "./chunk-AHQT54A5.js";
94
+ import "./chunk-WD5EVW3M.js";
95
95
  import {
96
96
  cleanupCheckpoints,
97
97
  registerCleanup,
@@ -100,7 +100,7 @@ import {
100
100
  runExitCleanup,
101
101
  runSyncCleanup,
102
102
  setupSignalHandlers
103
- } from "./chunk-J27NXCYL.js";
103
+ } from "./chunk-QZIGFB5E.js";
104
104
  import {
105
105
  ASK_USER_TOOL_NAME,
106
106
  ApprovalMode,
@@ -253,7 +253,7 @@ import {
253
253
  updatePolicy,
254
254
  writeToStderr,
255
255
  writeToStdout
256
- } from "./chunk-A4YWS44A.js";
256
+ } from "./chunk-TBDX7VEE.js";
257
257
  import "./chunk-664ZODQF.js";
258
258
  import "./chunk-IUUIT4SU.js";
259
259
  import "./chunk-TUDYL3X4.js";
@@ -7847,7 +7847,7 @@ async function loadSandboxConfig(settings, argv) {
7847
7847
  }
7848
7848
  const command2 = getSandboxCommand(sandboxValue);
7849
7849
  const packageJson = await getPackageJson(__dirname3);
7850
- const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.55.0-preview.1" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7850
+ const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.56.0-nightly.20260806.g761f604c1" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7851
7851
  const isNative = command2 === "windows-native" || command2 === "sandbox-exec" || command2 === "lxc";
7852
7852
  return command2 && (image || isNative) ? { enabled: true, allowedPaths, networkAccess, command: command2, image } : void 0;
7853
7853
  }
@@ -10852,7 +10852,7 @@ async function runNonInteractive({
10852
10852
  }
10853
10853
  });
10854
10854
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
10855
- const { setupInitialActivityLogger } = await import("./devtoolsService-XP7RODGG.js");
10855
+ const { setupInitialActivityLogger } = await import("./devtoolsService-OPPX3TMY.js");
10856
10856
  setupInitialActivityLogger(config);
10857
10857
  }
10858
10858
  const { stdout: workingStdout } = createWorkingStdio();
@@ -11362,7 +11362,7 @@ async function runNonInteractive2(params) {
11362
11362
  }
11363
11363
  });
11364
11364
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
11365
- const { setupInitialActivityLogger } = await import("./devtoolsService-XP7RODGG.js");
11365
+ const { setupInitialActivityLogger } = await import("./devtoolsService-OPPX3TMY.js");
11366
11366
  setupInitialActivityLogger(config);
11367
11367
  }
11368
11368
  const { stdout: workingStdout } = createWorkingStdio();
@@ -16572,7 +16572,7 @@ async function resolveSessionId(resumeArg, sessionIdArg, sessionFileArg) {
16572
16572
  }
16573
16573
  }
16574
16574
  async function startInteractiveUI(config, settings, startupWarnings, workspaceRoot = process.cwd(), resumedSessionData, initializationResult) {
16575
- const { startInteractiveUI: doStartUI } = await import("./interactiveCli-YAAI2B6S.js");
16575
+ const { startInteractiveUI: doStartUI } = await import("./interactiveCli-YTTP3IVA.js");
16576
16576
  await doStartUI(
16577
16577
  config,
16578
16578
  settings,
@@ -16781,7 +16781,7 @@ ${finalArgs[promptIndex + 1]}`;
16781
16781
  await config.storage.initialize();
16782
16782
  adminControlsListner.setConfig(config);
16783
16783
  if (config.isInteractive() && settings.merged.general.devtools) {
16784
- const { setupInitialActivityLogger } = await import("./devtoolsService-XP7RODGG.js");
16784
+ const { setupInitialActivityLogger } = await import("./devtoolsService-OPPX3TMY.js");
16785
16785
  setupInitialActivityLogger(config);
16786
16786
  }
16787
16787
  registerTelemetryConfig(config);
@@ -16840,7 +16840,7 @@ ${finalArgs[promptIndex + 1]}`;
16840
16840
  const initAppHandle = startupProfiler.start("initialize_app");
16841
16841
  const initializationResult = await initializeApp(config, settings);
16842
16842
  initAppHandle?.end();
16843
- import("./liteRtServerManager-RP2Z5PSZ.js").then(({ LiteRtServerManager }) => {
16843
+ import("./liteRtServerManager-H6XTDF3Z.js").then(({ LiteRtServerManager }) => {
16844
16844
  const mergedGemma = settings.merged.experimental?.gemmaModelRouter;
16845
16845
  if (!mergedGemma) return;
16846
16846
  const userGemma = settings.forScope("User" /* User */).settings.experimental?.gemmaModelRouter;
package/bundle/gemini.js CHANGED
@@ -4,10 +4,10 @@ import {
4
4
  RELAUNCH_EXIT_CODE,
5
5
  getScriptArgs,
6
6
  getSpawnConfig
7
- } from "./chunk-2NTEXQZI.js";
8
- import "./chunk-DBPSBJMI.js";
9
- import "./chunk-7IYUUE2H.js";
10
- import "./chunk-MLTI5CK6.js";
7
+ } from "./chunk-AICCA4O7.js";
8
+ import "./chunk-MVFWCC7A.js";
9
+ import "./chunk-MMGNXRKB.js";
10
+ import "./chunk-32XQ54AJ.js";
11
11
  import "./chunk-664ZODQF.js";
12
12
  import "./chunk-IUUIT4SU.js";
13
13
  import "./chunk-TUDYL3X4.js";
@@ -115,9 +115,9 @@ ${error instanceof Error ? error.stack ?? error.message : String(error)}
115
115
  }
116
116
  }
117
117
  } else {
118
- const { main } = await import("./gemini-ORTIIX7J.js");
119
- const { FatalError, writeToStderr } = await import("./dist-LH5DRLX7.js");
120
- const { runExitCleanup } = await import("./cleanup-QOIB4MC5.js");
118
+ const { main } = await import("./gemini-63IMHOLI.js");
119
+ const { FatalError, writeToStderr } = await import("./dist-DZLHUESI.js");
120
+ const { runExitCleanup } = await import("./cleanup-ZPX2BSHS.js");
121
121
  main().catch(async (error) => {
122
122
  const cleanupTimeout = setTimeout(() => {
123
123
  writeToStderr("Cleanup timed out, forcing exit...\n");
@@ -157,10 +157,10 @@ import {
157
157
  widestLineFromStyledChars,
158
158
  wordBreakStyledChars,
159
159
  wrapStyledChars
160
- } from "./chunk-T36P7MFE.js";
160
+ } from "./chunk-3PF5QBBI.js";
161
161
  import {
162
162
  require_source
163
- } from "./chunk-CYJHOZAD.js";
163
+ } from "./chunk-4VCYHMUV.js";
164
164
  import {
165
165
  appEvents
166
166
  } from "./chunk-5PS3AYFU.js";
@@ -214,24 +214,24 @@ import {
214
214
  stripAnsi,
215
215
  stripUnsafeCharacters,
216
216
  toCodePoints
217
- } from "./chunk-XWGJPCDB.js";
217
+ } from "./chunk-4PTN4HDB.js";
218
218
  import {
219
219
  handleAutoUpdate,
220
220
  isDevelopment,
221
221
  relaunchApp,
222
222
  setUpdateHandler
223
- } from "./chunk-FH7GCVZY.js";
223
+ } from "./chunk-XCA4ZL2J.js";
224
224
  import {
225
225
  isTodoList,
226
226
  mapCoreStatusToDisplayStatus,
227
227
  require_react
228
- } from "./chunk-2ZWCUTMN.js";
228
+ } from "./chunk-2M2ZIALC.js";
229
229
  import {
230
230
  registerCleanup,
231
231
  removeCleanup,
232
232
  runExitCleanup,
233
233
  setupTtyCheck
234
- } from "./chunk-S3XRZJYO.js";
234
+ } from "./chunk-PG6A7S3N.js";
235
235
  import {
236
236
  ACTIVATE_SKILL_TOOL_NAME,
237
237
  AGENT_TOOL_NAME,
@@ -418,7 +418,7 @@ import {
418
418
  validatePlanContent,
419
419
  validatePlanPath,
420
420
  writeToStdout
421
- } from "./chunk-HZZM77SO.js";
421
+ } from "./chunk-QCOIICKD.js";
422
422
  import "./chunk-664ZODQF.js";
423
423
  import "./chunk-IUUIT4SU.js";
424
424
  import "./chunk-TUDYL3X4.js";
@@ -15519,6 +15519,7 @@ function ProQuotaDialog({
15519
15519
  message,
15520
15520
  isTerminalQuotaError,
15521
15521
  isModelNotFoundError,
15522
+ isCapacityExceeded,
15522
15523
  authType,
15523
15524
  tierName,
15524
15525
  onChoice
@@ -15537,6 +15538,24 @@ function ProQuotaDialog({
15537
15538
  key: "retry_later"
15538
15539
  }
15539
15540
  ];
15541
+ } else if (isCapacityExceeded) {
15542
+ items = [
15543
+ {
15544
+ label: "Keep trying",
15545
+ value: "retry_once",
15546
+ key: "retry_once"
15547
+ },
15548
+ {
15549
+ label: `Switch to ${fallbackModel}`,
15550
+ value: "retry_always",
15551
+ key: "retry_always"
15552
+ },
15553
+ {
15554
+ label: "Stop",
15555
+ value: "retry_later",
15556
+ key: "retry_later"
15557
+ }
15558
+ ];
15540
15559
  } else if (isModelNotFoundError || isTerminalQuotaError) {
15541
15560
  const isUltra = isUltraTier(tierName);
15542
15561
  items = [
@@ -17675,6 +17694,7 @@ var DialogManager = ({
17675
17694
  message: quotaState.proQuotaRequest.message,
17676
17695
  isTerminalQuotaError: quotaState.proQuotaRequest.isTerminalQuotaError,
17677
17696
  isModelNotFoundError: !!quotaState.proQuotaRequest.isModelNotFoundError,
17697
+ isCapacityExceeded: !!quotaState.proQuotaRequest.isCapacityExceeded,
17678
17698
  authType: quotaState.proQuotaRequest.authType,
17679
17699
  tierName: config?.getUserTierName(),
17680
17700
  onChoice: uiActions.handleProQuotaChoice
@@ -25398,6 +25418,7 @@ async function openG1Url(path14, campaign) {
25398
25418
  }
25399
25419
 
25400
25420
  // packages/cli/src/ui/hooks/useQuotaAndFallback.ts
25421
+ var isObject = (val) => typeof val === "object" && val !== null;
25401
25422
  function useQuotaAndFallback({
25402
25423
  config,
25403
25424
  historyManager,
@@ -25420,6 +25441,16 @@ function useQuotaAndFallback({
25420
25441
  let message;
25421
25442
  let isTerminalQuotaError = false;
25422
25443
  let isModelNotFoundError = false;
25444
+ const errorObj = isObject(error) ? error : null;
25445
+ const errorReasonValue = errorObj?.["reason"];
25446
+ const errorReason = typeof errorReasonValue === "string" ? errorReasonValue : void 0;
25447
+ const errorMessageValue = errorObj?.["message"];
25448
+ const errorMessage = typeof errorMessageValue === "string" ? errorMessageValue : void 0;
25449
+ const isCapacityExceeded = errorReason === "MODEL_CAPACITY_EXHAUSTED" || errorReason === "MODEL_CAPACITY_EXCEEDED" || typeof errorMessage === "string" && /exhausted your capacity|capacity exceeded|MODEL_CAPACITY_EXHAUSTED/i.test(
25450
+ errorMessage
25451
+ ) || typeof error === "string" && /exhausted your capacity|capacity exceeded|MODEL_CAPACITY_EXHAUSTED/i.test(
25452
+ error
25453
+ );
25423
25454
  const usageLimitReachedModel = isProModel(failedModel) ? "all Pro models" : failedModel;
25424
25455
  if (error instanceof TerminalQuotaError) {
25425
25456
  isTerminalQuotaError = true;
@@ -25443,14 +25474,24 @@ function useQuotaAndFallback({
25443
25474
  });
25444
25475
  if (creditsResult) return creditsResult;
25445
25476
  }
25446
- const messageLines = [
25447
- `Usage limit reached for ${usageLimitReachedModel}.`,
25448
- error.retryDelayMs ? `Access resets at ${getResetTimeMessage(error.retryDelayMs)}.` : null,
25449
- `/stats model for usage details`,
25450
- `/model to switch models.`,
25451
- contentGeneratorConfig?.authType === "oauth-personal" /* LOGIN_WITH_GOOGLE */ ? `/auth to switch to API key.` : null
25452
- ].filter(Boolean);
25453
- message = messageLines.join("\n");
25477
+ if (isCapacityExceeded) {
25478
+ const messageLines = [
25479
+ `We are currently experiencing high demand for ${usageLimitReachedModel}.`,
25480
+ "We apologize and appreciate your patience.",
25481
+ error.retryDelayMs ? `Access resets at ${getResetTimeMessage(error.retryDelayMs)}.` : null,
25482
+ `/model to switch models.`
25483
+ ].filter(Boolean);
25484
+ message = messageLines.join("\n");
25485
+ } else {
25486
+ const messageLines = [
25487
+ `Usage limit reached for ${usageLimitReachedModel}.`,
25488
+ error.retryDelayMs ? `Access resets at ${getResetTimeMessage(error.retryDelayMs)}.` : null,
25489
+ `/stats model for usage details`,
25490
+ `/model to switch models.`,
25491
+ contentGeneratorConfig?.authType === "oauth-personal" /* LOGIN_WITH_GOOGLE */ ? `/auth to switch to API key.` : null
25492
+ ].filter(Boolean);
25493
+ message = messageLines.join("\n");
25494
+ }
25454
25495
  } else if (error instanceof ModelNotFoundError) {
25455
25496
  isModelNotFoundError = true;
25456
25497
  if (contentGeneratorConfig?.authType === "vertex-ai" /* USE_VERTEX_AI */ && VALID_GEMINI_MODELS.has(failedModel)) {
@@ -25483,7 +25524,7 @@ function useQuotaAndFallback({
25483
25524
  ];
25484
25525
  message = messageLines.join("\n");
25485
25526
  }
25486
- if (errorVerbosity === "low" && !isTerminalQuotaError && !isModelNotFoundError) {
25527
+ if (errorVerbosity === "low" && (!isTerminalQuotaError || isCapacityExceeded) && !isModelNotFoundError) {
25487
25528
  return "retry_once";
25488
25529
  }
25489
25530
  setModelSwitchedFromQuotaError(true);
@@ -25501,6 +25542,7 @@ function useQuotaAndFallback({
25501
25542
  message,
25502
25543
  isTerminalQuotaError,
25503
25544
  isModelNotFoundError,
25545
+ isCapacityExceeded,
25504
25546
  authType: contentGeneratorConfig?.authType
25505
25547
  });
25506
25548
  }
@@ -30656,12 +30698,12 @@ var streamRequest = (request, onUploadProgress, originalBody) => {
30656
30698
  };
30657
30699
 
30658
30700
  // node_modules/ky/distribution/utils/is.js
30659
- var isObject = (value) => value !== null && typeof value === "object";
30701
+ var isObject2 = (value) => value !== null && typeof value === "object";
30660
30702
 
30661
30703
  // node_modules/ky/distribution/utils/merge.js
30662
30704
  var validateAndMerge = (...sources) => {
30663
30705
  for (const source of sources) {
30664
- if ((!isObject(source) || Array.isArray(source)) && source !== void 0) {
30706
+ if ((!isObject2(source) || Array.isArray(source)) && source !== void 0) {
30665
30707
  throw new TypeError("The `options` argument must be an object");
30666
30708
  }
30667
30709
  }
@@ -30706,7 +30748,7 @@ var appendSearchParameters = (target, source) => {
30706
30748
  }
30707
30749
  result.append(String(pair[0]), String(pair[1]));
30708
30750
  }
30709
- } else if (isObject(input)) {
30751
+ } else if (isObject2(input)) {
30710
30752
  for (const [key, value] of Object.entries(input)) {
30711
30753
  if (value !== void 0) {
30712
30754
  result.append(key, String(value));
@@ -30733,14 +30775,14 @@ var deepMerge = (...sources) => {
30733
30775
  returnValue = [];
30734
30776
  }
30735
30777
  returnValue = [...returnValue, ...source];
30736
- } else if (isObject(source)) {
30778
+ } else if (isObject2(source)) {
30737
30779
  for (let [key, value] of Object.entries(source)) {
30738
30780
  if (key === "signal" && value instanceof globalThis.AbortSignal) {
30739
30781
  signals.push(value);
30740
30782
  continue;
30741
30783
  }
30742
30784
  if (key === "context") {
30743
- if (value !== void 0 && value !== null && (!isObject(value) || Array.isArray(value))) {
30785
+ if (value !== void 0 && value !== null && (!isObject2(value) || Array.isArray(value))) {
30744
30786
  throw new TypeError("The `context` option must be an object");
30745
30787
  }
30746
30788
  returnValue = {
@@ -30757,16 +30799,16 @@ var deepMerge = (...sources) => {
30757
30799
  }
30758
30800
  continue;
30759
30801
  }
30760
- if (isObject(value) && key in returnValue) {
30802
+ if (isObject2(value) && key in returnValue) {
30761
30803
  value = deepMerge(returnValue[key], value);
30762
30804
  }
30763
30805
  returnValue = { ...returnValue, [key]: value };
30764
30806
  }
30765
- if (isObject(source.hooks)) {
30807
+ if (isObject2(source.hooks)) {
30766
30808
  hooks = mergeHooks(hooks, source.hooks);
30767
30809
  returnValue.hooks = hooks;
30768
30810
  }
30769
- if (isObject(source.headers)) {
30811
+ if (isObject2(source.headers)) {
30770
30812
  headers = mergeHeaders(headers, source.headers);
30771
30813
  returnValue.headers = headers;
30772
30814
  }
@@ -33874,7 +33916,7 @@ ${queuedText}` : queuedText;
33874
33916
  if (keyMatchers["app.showErrorDetails" /* SHOW_ERROR_DETAILS */](key)) {
33875
33917
  if (settings.merged.general.devtools) {
33876
33918
  void (async () => {
33877
- const { toggleDevToolsPanel } = await import("./devtoolsService-XNULR5OM.js");
33919
+ const { toggleDevToolsPanel } = await import("./devtoolsService-HB7ZBXSQ.js");
33878
33920
  await toggleDevToolsPanel(
33879
33921
  config,
33880
33922
  showErrorDetails,