@google/gemini-cli 0.64.0-preview.0 → 0.65.0-nightly.20261007.gef59c532f

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/bundle/{chunk-EDVFNWRG.js → chunk-2QX7AFU2.js} +1 -1
  2. package/bundle/{chunk-EDYPRCAA.js → chunk-354KMHUX.js} +2 -2
  3. package/bundle/{chunk-UFQDAROY.js → chunk-3F7OA7UU.js} +1 -1
  4. package/bundle/{chunk-HN74ORTP.js → chunk-46A63GIT.js} +27 -4
  5. package/bundle/{chunk-ZQW7OGUO.js → chunk-6FH32SR7.js} +184 -45
  6. package/bundle/{chunk-SDWOC67Z.js → chunk-7NUXN3UV.js} +1 -1
  7. package/bundle/{chunk-Y2HXXBXI.js → chunk-ASQYH7O3.js} +1 -1
  8. package/bundle/{chunk-EBP6K2WG.js → chunk-BT4BJCGX.js} +32 -16
  9. package/bundle/{chunk-UBGF6JU5.js → chunk-CIKQQ32X.js} +1 -1
  10. package/bundle/chunk-DIMRHS5O.js +154 -0
  11. package/bundle/{chunk-NX7TO2DU.js → chunk-EIHDEZQ3.js} +1 -1
  12. package/bundle/{chunk-QUCRASYB.js → chunk-FE5UXCSL.js} +1 -1
  13. package/bundle/{chunk-EFX5XL6M.js → chunk-FTB4FVEK.js} +2 -2
  14. package/bundle/{chunk-A4TO2DY2.js → chunk-HYF74TEA.js} +8018 -14883
  15. package/bundle/{chunk-6OFXOGEG.js → chunk-JYWQ73Z5.js} +193 -47
  16. package/bundle/{chunk-HSZIYPL6.js → chunk-KHG7NKQK.js} +3 -3
  17. package/bundle/chunk-KTOZF7BG.js +401335 -0
  18. package/bundle/{chunk-2NQXIWQK.js → chunk-KV6RPWUP.js} +27 -4
  19. package/bundle/{chunk-KCCVXZ52.js → chunk-LNFN3PQL.js} +32 -16
  20. package/bundle/{chunk-MLSLNORV.js → chunk-LS355CSQ.js} +3 -3
  21. package/bundle/{chunk-2VN53SWW.js → chunk-NDVLWD4V.js} +9 -8
  22. package/bundle/{chunk-ZOHM7BPT.js → chunk-NUWDVBI7.js} +1 -1
  23. package/bundle/{chunk-VJYKQD5D.js → chunk-PYD373NJ.js} +3 -3
  24. package/bundle/{chunk-VBVCLWLA.js → chunk-QTGBWTWR.js} +2 -2
  25. package/bundle/chunk-U6ZQ2RUE.js +1571 -0
  26. package/bundle/chunk-UV4NDIKL.js +118 -0
  27. package/bundle/{chunk-U76XPSKR.js → chunk-VAONEIPY.js} +96 -67
  28. package/bundle/chunk-WGJZZTZY.js +425 -0
  29. package/bundle/{chunk-ZPLFLZQA.js → chunk-WXXOP3OP.js} +33 -8
  30. package/bundle/chunk-XOG2HJ3Y.js +17530 -0
  31. package/bundle/chunk-YSKY65XX.js +512 -0
  32. package/bundle/chunk-ZTPICUAP.js +103137 -0
  33. package/bundle/{cleanup-GGCB2LVD.js → cleanup-3V27AYOD.js} +2 -2
  34. package/bundle/{cleanup-JRDG3OTL.js → cleanup-4G3NPQT4.js} +2 -2
  35. package/bundle/{cleanup-SSW6IXTR.js → cleanup-5XQCOW5U.js} +2 -2
  36. package/bundle/cleanup-BBUUFPW4.js +32 -0
  37. package/bundle/{core-IUIZE6JW.js → core-AAGHH24E.js} +1 -1
  38. package/bundle/{devtoolsService-XZCKFZP5.js → devtoolsService-EVGTOLCK.js} +2 -2
  39. package/bundle/{devtoolsService-3SADPKKB.js → devtoolsService-J7VIMPHG.js} +2 -2
  40. package/bundle/{devtoolsService-MF6JKRUV.js → devtoolsService-PZBHHYCE.js} +4 -3
  41. package/bundle/devtoolsService-Z4ND55GM.js +4359 -0
  42. package/bundle/{dist-7L3BRW6V.js → dist-6PBUOORE.js} +1 -1
  43. package/bundle/{core-6HRWFQZW.js → dist-Q7B3BSZW.js} +1 -1
  44. package/bundle/dist-Z23CJKTC.js +2252 -0
  45. package/bundle/docs/changelogs/index.md +14 -0
  46. package/bundle/docs/changelogs/latest.md +55 -34
  47. package/bundle/docs/changelogs/preview.md +59 -54
  48. package/bundle/docs/tools/mcp-server.md +41 -12
  49. package/bundle/{gemini-JPMMQ3KA.js → gemini-2ZS4H5D5.js} +41 -21
  50. package/bundle/{gemini-QOQNG5VY.js → gemini-NHT6XRJ6.js} +241 -205
  51. package/bundle/gemini-ORQLMSXW.js +17954 -0
  52. package/bundle/{gemini-ZMMDUAQJ.js → gemini-YDK3BHCP.js} +41 -21
  53. package/bundle/gemini.js +7 -7
  54. package/bundle/{interactiveCli-R3P4A3FC.js → interactiveCli-22MUJI66.js} +23 -14
  55. package/bundle/{interactiveCli-UDWGRVJL.js → interactiveCli-2JNS4RJW.js} +23 -14
  56. package/bundle/{interactiveCli-3I4TG5SK.js → interactiveCli-EHUGFQPB.js} +327 -299
  57. package/bundle/interactiveCli-YANG53MI.js +34988 -0
  58. package/bundle/{liteRtServerManager-OVPUSK2T.js → liteRtServerManager-PGT3WQWS.js} +4 -4
  59. package/bundle/{liteRtServerManager-RAV63AGE.js → liteRtServerManager-TW45VSAX.js} +4 -4
  60. package/bundle/{liteRtServerManager-4MWCEVVM.js → liteRtServerManager-VCTOOEN4.js} +4 -4
  61. package/bundle/liteRtServerManager-Y2QFKZ5W.js +65 -0
  62. package/bundle/{oauth2-provider-XFP63FGJ.js → oauth2-provider-4AK74O2H.js} +1 -1
  63. package/bundle/{oauth2-provider-FVTRRJZR.js → oauth2-provider-IUYZ2A7H.js} +1 -1
  64. package/bundle/{oauth2-provider-EWOA64PR.js → oauth2-provider-JCJGEWMM.js} +38 -72
  65. package/bundle/oauth2-provider-QTTPZS6I.js +235 -0
  66. package/bundle/{start-DJAIXPPY.js → start-4O4IKUM4.js} +6 -6
  67. package/bundle/{start-VQQ2Q5KT.js → start-74BH6SEW.js} +6 -6
  68. package/bundle/{start-5O7TBK5L.js → start-EDAVUSEX.js} +6 -6
  69. package/bundle/start-Q6WRPG2O.js +18 -0
  70. 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-HSZIYPL6.js";
5
+ } from "./chunk-UV4NDIKL.js";
6
6
  import {
7
7
  BuiltinCommandLoader,
8
8
  CommandService,
@@ -46,11 +46,11 @@ import {
46
46
  updateExtension,
47
47
  validateAuthMethod,
48
48
  validateContextFilePath
49
- } from "./chunk-U76XPSKR.js";
49
+ } from "./chunk-LNFN3PQL.js";
50
50
  import {
51
51
  exitCli,
52
52
  require_source
53
- } from "./chunk-QUCRASYB.js";
53
+ } from "./chunk-FE5UXCSL.js";
54
54
  import {
55
55
  appEvents
56
56
  } from "./chunk-5PS3AYFU.js";
@@ -62,6 +62,7 @@ import {
62
62
  SessionError,
63
63
  SessionSelector,
64
64
  SettingScope,
65
+ UNTRUSTED_WORKSPACE_SETTINGS_ERROR,
65
66
  USER_SETTINGS_PATH,
66
67
  cleanupExpiredSessions,
67
68
  cleanupToolOutputFiles,
@@ -88,11 +89,11 @@ import {
88
89
  resolveGemmaConfig,
89
90
  saveModelChange,
90
91
  stripAnsi
91
- } from "./chunk-ZPLFLZQA.js";
92
+ } from "./chunk-KV6RPWUP.js";
92
93
  import {
93
94
  RELAUNCH_EXIT_CODE
94
- } from "./chunk-EFX5XL6M.js";
95
- import "./chunk-2VN53SWW.js";
95
+ } from "./chunk-354KMHUX.js";
96
+ import "./chunk-ASQYH7O3.js";
96
97
  import {
97
98
  cleanupCheckpoints,
98
99
  registerCleanup,
@@ -101,7 +102,7 @@ import {
101
102
  runExitCleanup,
102
103
  runSyncCleanup,
103
104
  setupSignalHandlers
104
- } from "./chunk-UFQDAROY.js";
105
+ } from "./chunk-7NUXN3UV.js";
105
106
  import {
106
107
  ASK_USER_TOOL_NAME,
107
108
  AuthType,
@@ -240,7 +241,7 @@ import {
240
241
  updatePolicy,
241
242
  writeToStderr,
242
243
  writeToStdout
243
- } from "./chunk-A4TO2DY2.js";
244
+ } from "./chunk-JYWQ73Z5.js";
244
245
  import "./chunk-664ZODQF.js";
245
246
  import "./chunk-IUUIT4SU.js";
246
247
  import "./chunk-L6PII3GR.js";
@@ -5116,14 +5117,20 @@ async function addMcpServer(name, commandOrUrl, args, options) {
5116
5117
  excludeTools
5117
5118
  } = options;
5118
5119
  const settings = loadSettings(process.cwd());
5119
- const inHome = settings.workspace.path === settings.user.path;
5120
- if (scope === "project" && inHome) {
5121
- debugLogger.error(
5122
- "Error: Please use --scope user to edit settings in the home directory."
5123
- );
5124
- process.exit(1);
5125
- }
5126
5120
  const settingsScope = scope === "user" ? "User" /* User */ : "Workspace" /* Workspace */;
5121
+ if (settingsScope === "Workspace" /* Workspace */) {
5122
+ const inHome = settings.workspace.path === "" || settings.workspace.path === settings.user.path;
5123
+ if (inHome) {
5124
+ debugLogger.error(
5125
+ "Error: Please use --scope user to edit settings in the home directory."
5126
+ );
5127
+ process.exit(1);
5128
+ }
5129
+ if ((settings.forScope(settingsScope).readOnly ?? false) || settings.isTrusted === false) {
5130
+ debugLogger.error(`Error: ${UNTRUSTED_WORKSPACE_SETTINGS_ERROR}`);
5131
+ process.exit(1);
5132
+ }
5133
+ }
5127
5134
  let newServer = {};
5128
5135
  const headers = header?.reduce(
5129
5136
  (acc, curr) => {
@@ -5303,6 +5310,19 @@ async function removeMcpServer(name, options) {
5303
5310
  const { scope } = options;
5304
5311
  const settingsScope = scope === "user" ? "User" /* User */ : "Workspace" /* Workspace */;
5305
5312
  const settings = loadSettings();
5313
+ if (settingsScope === "Workspace" /* Workspace */) {
5314
+ const inHome = settings.workspace.path === "" || settings.workspace.path === settings.user.path;
5315
+ if (inHome) {
5316
+ debugLogger.error(
5317
+ "Error: Please use --scope user to edit settings in the home directory."
5318
+ );
5319
+ process.exit(1);
5320
+ }
5321
+ if ((settings.forScope(settingsScope).readOnly ?? false) || settings.isTrusted === false) {
5322
+ debugLogger.error(`Error: ${UNTRUSTED_WORKSPACE_SETTINGS_ERROR}`);
5323
+ process.exit(1);
5324
+ }
5325
+ }
5306
5326
  const existingSettings = settings.forScope(settingsScope).settings;
5307
5327
  const mcpServers = existingSettings.mcpServers || {};
5308
5328
  if (!mcpServers[name]) {
@@ -7840,7 +7860,7 @@ async function loadSandboxConfig(settings, argv) {
7840
7860
  }
7841
7861
  const command2 = getSandboxCommand(sandboxValue);
7842
7862
  const packageJson = await getPackageJson(__dirname3);
7843
- const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.64.0-nightly.20260929.gd75234cae" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7863
+ const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.65.0-nightly.20261006.gfb972b2f8" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7844
7864
  const isNative = command2 === "windows-native" || command2 === "sandbox-exec" || command2 === "lxc";
7845
7865
  return command2 && (image || isNative) ? { enabled: true, allowedPaths, networkAccess, command: command2, image } : void 0;
7846
7866
  }
@@ -11511,7 +11531,7 @@ async function runNonInteractive({
11511
11531
  }
11512
11532
  });
11513
11533
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
11514
- const { setupInitialActivityLogger } = await import("./devtoolsService-3SADPKKB.js");
11534
+ const { setupInitialActivityLogger } = await import("./devtoolsService-J7VIMPHG.js");
11515
11535
  setupInitialActivityLogger(config);
11516
11536
  }
11517
11537
  const { stdout: workingStdout } = createWorkingStdio();
@@ -12021,7 +12041,7 @@ async function runNonInteractive2(params) {
12021
12041
  }
12022
12042
  });
12023
12043
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
12024
- const { setupInitialActivityLogger } = await import("./devtoolsService-3SADPKKB.js");
12044
+ const { setupInitialActivityLogger } = await import("./devtoolsService-J7VIMPHG.js");
12025
12045
  setupInitialActivityLogger(config);
12026
12046
  }
12027
12047
  const { stdout: workingStdout } = createWorkingStdio();
@@ -17402,7 +17422,7 @@ async function resolveSessionId(resumeArg, sessionIdArg, sessionFileArg) {
17402
17422
  }
17403
17423
  }
17404
17424
  async function startInteractiveUI(config, settings, startupWarnings, workspaceRoot = process.cwd(), resumedSessionData, initializationResult) {
17405
- const { startInteractiveUI: doStartUI } = await import("./interactiveCli-3I4TG5SK.js");
17425
+ const { startInteractiveUI: doStartUI } = await import("./interactiveCli-22MUJI66.js");
17406
17426
  await doStartUI(
17407
17427
  config,
17408
17428
  settings,
@@ -17611,7 +17631,7 @@ ${finalArgs[promptIndex + 1]}`;
17611
17631
  await config.storage.initialize();
17612
17632
  adminControlsListner.setConfig(config);
17613
17633
  if (config.isInteractive() && settings.merged.general.devtools) {
17614
- const { setupInitialActivityLogger } = await import("./devtoolsService-3SADPKKB.js");
17634
+ const { setupInitialActivityLogger } = await import("./devtoolsService-J7VIMPHG.js");
17615
17635
  setupInitialActivityLogger(config);
17616
17636
  }
17617
17637
  registerTelemetryConfig(config);
@@ -17670,7 +17690,7 @@ ${finalArgs[promptIndex + 1]}`;
17670
17690
  const initAppHandle = startupProfiler.start("initialize_app");
17671
17691
  const initializationResult = await initializeApp(config, settings);
17672
17692
  initAppHandle?.end();
17673
- import("./liteRtServerManager-4MWCEVVM.js").then(({ LiteRtServerManager }) => {
17693
+ import("./liteRtServerManager-Y2QFKZ5W.js").then(({ LiteRtServerManager }) => {
17674
17694
  const mergedGemma = settings.merged.experimental?.gemmaModelRouter;
17675
17695
  if (!mergedGemma) return;
17676
17696
  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-VBVCLWLA.js";
8
- import "./chunk-NX7TO2DU.js";
9
- import "./chunk-UBGF6JU5.js";
10
- import "./chunk-ZQW7OGUO.js";
7
+ } from "./chunk-WGJZZTZY.js";
8
+ import "./chunk-NDVLWD4V.js";
9
+ import "./chunk-3F7OA7UU.js";
10
+ import "./chunk-6FH32SR7.js";
11
11
  import "./chunk-664ZODQF.js";
12
12
  import "./chunk-IUUIT4SU.js";
13
13
  import "./chunk-L6PII3GR.js";
@@ -107,9 +107,9 @@ ${error instanceof Error ? error.stack ?? error.message : String(error)}
107
107
  }
108
108
  }
109
109
  } else {
110
- const { main } = await import("./gemini-JPMMQ3KA.js");
111
- const { FatalError, writeToStderr } = await import("./dist-7L3BRW6V.js");
112
- const { runExitCleanup } = await import("./cleanup-JRDG3OTL.js");
110
+ const { main } = await import("./gemini-NHT6XRJ6.js");
111
+ const { FatalError, writeToStderr } = await import("./dist-Z23CJKTC.js");
112
+ const { runExitCleanup } = await import("./cleanup-5XQCOW5U.js");
113
113
  main().catch(async (error) => {
114
114
  const cleanupTimeout = setTimeout(() => {
115
115
  writeToStderr("Cleanup timed out, forcing exit...\n");
@@ -171,10 +171,10 @@ import {
171
171
  widestLineFromStyledChars,
172
172
  wordBreakStyledChars,
173
173
  wrapStyledChars
174
- } from "./chunk-KCCVXZ52.js";
174
+ } from "./chunk-LNFN3PQL.js";
175
175
  import {
176
176
  require_source
177
- } from "./chunk-EDVFNWRG.js";
177
+ } from "./chunk-FE5UXCSL.js";
178
178
  import {
179
179
  appEvents
180
180
  } from "./chunk-5PS3AYFU.js";
@@ -227,24 +227,24 @@ import {
227
227
  stripAnsi,
228
228
  stripUnsafeCharacters,
229
229
  toCodePoints
230
- } from "./chunk-2NQXIWQK.js";
230
+ } from "./chunk-KV6RPWUP.js";
231
231
  import {
232
232
  handleAutoUpdate,
233
233
  isDevelopment,
234
234
  relaunchApp,
235
235
  setUpdateHandler
236
- } from "./chunk-EDYPRCAA.js";
236
+ } from "./chunk-354KMHUX.js";
237
237
  import {
238
238
  isTodoList,
239
239
  mapCoreStatusToDisplayStatus,
240
240
  require_react
241
- } from "./chunk-Y2HXXBXI.js";
241
+ } from "./chunk-ASQYH7O3.js";
242
242
  import {
243
243
  registerCleanup,
244
244
  removeCleanup,
245
245
  runExitCleanup,
246
246
  setupTtyCheck
247
- } from "./chunk-SDWOC67Z.js";
247
+ } from "./chunk-7NUXN3UV.js";
248
248
  import {
249
249
  ACTIVATE_SKILL_TOOL_NAME,
250
250
  AGENT_TOOL_NAME,
@@ -430,7 +430,7 @@ import {
430
430
  validatePlanContent,
431
431
  validatePlanPath,
432
432
  writeToStdout
433
- } from "./chunk-6OFXOGEG.js";
433
+ } from "./chunk-JYWQ73Z5.js";
434
434
  import "./chunk-664ZODQF.js";
435
435
  import "./chunk-IUUIT4SU.js";
436
436
  import "./chunk-L6PII3GR.js";
@@ -30318,12 +30318,13 @@ var useLoadingIndicator = ({
30318
30318
  showWit = false,
30319
30319
  customWittyPhrases,
30320
30320
  errorVerbosity = "full",
30321
- maxLength
30321
+ maxLength,
30322
+ pauseUpdates = false
30322
30323
  }) => {
30323
30324
  const [timerResetKey, setTimerResetKey] = (0, import_react102.useState)(0);
30324
- const isTimerActive = streamingState === "responding" /* Responding */;
30325
+ const isTimerActive = streamingState === "responding" /* Responding */ && !pauseUpdates;
30325
30326
  const elapsedTimeFromTimer = useTimer(isTimerActive, timerResetKey);
30326
- const isPhraseCyclingActive = streamingState === "responding" /* Responding */;
30327
+ const isPhraseCyclingActive = streamingState === "responding" /* Responding */ && !pauseUpdates;
30327
30328
  const isWaiting = streamingState === "waiting_for_confirmation" /* WaitingForConfirmation */;
30328
30329
  const { currentTip, currentWittyPhrase } = usePhraseCycler(
30329
30330
  isPhraseCyclingActive,
@@ -32718,10 +32719,12 @@ var AppContainer = (props) => {
32718
32719
  const overflowState = useOverflowState();
32719
32720
  const overflowingIdsSize = overflowState?.overflowingIds.size ?? 0;
32720
32721
  const hasOverflowState = overflowingIdsSize > 0 || !constrainHeight;
32722
+ const prevOverflowingIdsSizeRef = (0, import_react119.useRef)(0);
32721
32723
  (0, import_react119.useEffect)(() => {
32722
- if (hasOverflowState) {
32724
+ if (overflowingIdsSize > prevOverflowingIdsSizeRef.current && hasOverflowState) {
32723
32725
  triggerExpandHint(true);
32724
32726
  }
32727
+ prevOverflowingIdsSizeRef.current = overflowingIdsSize;
32725
32728
  }, [hasOverflowState, overflowingIdsSize, triggerExpandHint]);
32726
32729
  const [defaultBannerText, setDefaultBannerText] = (0, import_react119.useState)("");
32727
32730
  const [warningBannerText, setWarningBannerText] = (0, import_react119.useState)("");
@@ -33935,7 +33938,7 @@ ${queuedText}` : queuedText;
33935
33938
  if (keyMatchers["app.showErrorDetails" /* SHOW_ERROR_DETAILS */](key)) {
33936
33939
  if (settings.merged.general.devtools) {
33937
33940
  void (async () => {
33938
- const { toggleDevToolsPanel } = await import("./devtoolsService-MF6JKRUV.js");
33941
+ const { toggleDevToolsPanel } = await import("./devtoolsService-J7VIMPHG.js");
33939
33942
  await toggleDevToolsPanel(
33940
33943
  config,
33941
33944
  showErrorDetails,
@@ -33963,7 +33966,9 @@ ${queuedText}` : queuedText;
33963
33966
  } else if (keyMatchers["app.showMoreLines" /* SHOW_MORE_LINES */](key)) {
33964
33967
  setConstrainHeight(false);
33965
33968
  toggleLastTurnTools();
33966
- refreshStatic();
33969
+ if (!isAlternateBuffer && !config.getUseTerminalBuffer() && getLastTurnToolCallIds(historyManager.history, []).length > 0) {
33970
+ refreshStatic();
33971
+ }
33967
33972
  return true;
33968
33973
  } else if ((keyMatchers["app.focusShellInput" /* FOCUS_SHELL_INPUT */](key) || keyMatchers["background.unfocusList" /* UNFOCUS_BACKGROUND_SHELL_LIST */](key)) && (activePtyId || isBackgroundTaskVisible && backgroundTasks.size > 0)) {
33969
33974
  if (embeddedShellFocused) {
@@ -34202,7 +34207,8 @@ ${queuedText}` : queuedText;
34202
34207
  showWit: showStatusWit,
34203
34208
  customWittyPhrases: settings.merged.ui.customWittyPhrases,
34204
34209
  errorVerbosity: settings.merged.ui.errorVerbosity,
34205
- maxLength
34210
+ maxLength,
34211
+ pauseUpdates: !constrainHeight && !isAlternateBuffer && !config.getUseTerminalBuffer()
34206
34212
  });
34207
34213
  const allowPlanMode = config.isPlanEnabled() && streamingState === "idle" /* Idle */ && !hasPendingActionRequired;
34208
34214
  const showApprovalModeIndicator = useApprovalModeIndicator({
@@ -34847,6 +34853,9 @@ async function startInteractiveUI(config, settings, startupWarnings, workspaceRo
34847
34853
  });
34848
34854
  const cleanupUnmount = () => instance.unmount();
34849
34855
  const cleanupNonResumableCurrentSession = async () => {
34856
+ if (resumedSessionData) {
34857
+ return;
34858
+ }
34850
34859
  try {
34851
34860
  await config.getGeminiClient()?.getChatRecordingService()?.deleteCurrentSessionIfNotResumableAsync();
34852
34861
  } catch (e) {
@@ -171,10 +171,10 @@ import {
171
171
  widestLineFromStyledChars,
172
172
  wordBreakStyledChars,
173
173
  wrapStyledChars
174
- } from "./chunk-EBP6K2WG.js";
174
+ } from "./chunk-VAONEIPY.js";
175
175
  import {
176
176
  require_source
177
- } from "./chunk-ZOHM7BPT.js";
177
+ } from "./chunk-2QX7AFU2.js";
178
178
  import {
179
179
  appEvents
180
180
  } from "./chunk-5PS3AYFU.js";
@@ -227,24 +227,24 @@ import {
227
227
  stripAnsi,
228
228
  stripUnsafeCharacters,
229
229
  toCodePoints
230
- } from "./chunk-HN74ORTP.js";
230
+ } from "./chunk-46A63GIT.js";
231
231
  import {
232
232
  handleAutoUpdate,
233
233
  isDevelopment,
234
234
  relaunchApp,
235
235
  setUpdateHandler
236
- } from "./chunk-VBVCLWLA.js";
236
+ } from "./chunk-QTGBWTWR.js";
237
237
  import {
238
238
  isTodoList,
239
239
  mapCoreStatusToDisplayStatus,
240
240
  require_react
241
- } from "./chunk-NX7TO2DU.js";
241
+ } from "./chunk-YSKY65XX.js";
242
242
  import {
243
243
  registerCleanup,
244
244
  removeCleanup,
245
245
  runExitCleanup,
246
246
  setupTtyCheck
247
- } from "./chunk-UBGF6JU5.js";
247
+ } from "./chunk-DIMRHS5O.js";
248
248
  import {
249
249
  ACTIVATE_SKILL_TOOL_NAME,
250
250
  AGENT_TOOL_NAME,
@@ -449,7 +449,7 @@ import {
449
449
  validatePlanContent,
450
450
  validatePlanPath,
451
451
  writeToStdout
452
- } from "./chunk-ZQW7OGUO.js";
452
+ } from "./chunk-HYF74TEA.js";
453
453
  import "./chunk-664ZODQF.js";
454
454
  import "./chunk-IUUIT4SU.js";
455
455
  import "./chunk-L6PII3GR.js";
@@ -30337,12 +30337,13 @@ var useLoadingIndicator = ({
30337
30337
  showWit = false,
30338
30338
  customWittyPhrases,
30339
30339
  errorVerbosity = "full",
30340
- maxLength
30340
+ maxLength,
30341
+ pauseUpdates = false
30341
30342
  }) => {
30342
30343
  const [timerResetKey, setTimerResetKey] = (0, import_react102.useState)(0);
30343
- const isTimerActive = streamingState === "responding" /* Responding */;
30344
+ const isTimerActive = streamingState === "responding" /* Responding */ && !pauseUpdates;
30344
30345
  const elapsedTimeFromTimer = useTimer(isTimerActive, timerResetKey);
30345
- const isPhraseCyclingActive = streamingState === "responding" /* Responding */;
30346
+ const isPhraseCyclingActive = streamingState === "responding" /* Responding */ && !pauseUpdates;
30346
30347
  const isWaiting = streamingState === "waiting_for_confirmation" /* WaitingForConfirmation */;
30347
30348
  const { currentTip, currentWittyPhrase } = usePhraseCycler(
30348
30349
  isPhraseCyclingActive,
@@ -32737,10 +32738,12 @@ var AppContainer = (props) => {
32737
32738
  const overflowState = useOverflowState();
32738
32739
  const overflowingIdsSize = overflowState?.overflowingIds.size ?? 0;
32739
32740
  const hasOverflowState = overflowingIdsSize > 0 || !constrainHeight;
32741
+ const prevOverflowingIdsSizeRef = (0, import_react119.useRef)(0);
32740
32742
  (0, import_react119.useEffect)(() => {
32741
- if (hasOverflowState) {
32743
+ if (overflowingIdsSize > prevOverflowingIdsSizeRef.current && hasOverflowState) {
32742
32744
  triggerExpandHint(true);
32743
32745
  }
32746
+ prevOverflowingIdsSizeRef.current = overflowingIdsSize;
32744
32747
  }, [hasOverflowState, overflowingIdsSize, triggerExpandHint]);
32745
32748
  const [defaultBannerText, setDefaultBannerText] = (0, import_react119.useState)("");
32746
32749
  const [warningBannerText, setWarningBannerText] = (0, import_react119.useState)("");
@@ -33954,7 +33957,7 @@ ${queuedText}` : queuedText;
33954
33957
  if (keyMatchers["app.showErrorDetails" /* SHOW_ERROR_DETAILS */](key)) {
33955
33958
  if (settings.merged.general.devtools) {
33956
33959
  void (async () => {
33957
- const { toggleDevToolsPanel } = await import("./devtoolsService-XZCKFZP5.js");
33960
+ const { toggleDevToolsPanel } = await import("./devtoolsService-PZBHHYCE.js");
33958
33961
  await toggleDevToolsPanel(
33959
33962
  config,
33960
33963
  showErrorDetails,
@@ -33982,7 +33985,9 @@ ${queuedText}` : queuedText;
33982
33985
  } else if (keyMatchers["app.showMoreLines" /* SHOW_MORE_LINES */](key)) {
33983
33986
  setConstrainHeight(false);
33984
33987
  toggleLastTurnTools();
33985
- refreshStatic();
33988
+ if (!isAlternateBuffer && !config.getUseTerminalBuffer() && getLastTurnToolCallIds(historyManager.history, []).length > 0) {
33989
+ refreshStatic();
33990
+ }
33986
33991
  return true;
33987
33992
  } else if ((keyMatchers["app.focusShellInput" /* FOCUS_SHELL_INPUT */](key) || keyMatchers["background.unfocusList" /* UNFOCUS_BACKGROUND_SHELL_LIST */](key)) && (activePtyId || isBackgroundTaskVisible && backgroundTasks.size > 0)) {
33988
33993
  if (embeddedShellFocused) {
@@ -34221,7 +34226,8 @@ ${queuedText}` : queuedText;
34221
34226
  showWit: showStatusWit,
34222
34227
  customWittyPhrases: settings.merged.ui.customWittyPhrases,
34223
34228
  errorVerbosity: settings.merged.ui.errorVerbosity,
34224
- maxLength
34229
+ maxLength,
34230
+ pauseUpdates: !constrainHeight && !isAlternateBuffer && !config.getUseTerminalBuffer()
34225
34231
  });
34226
34232
  const allowPlanMode = config.isPlanEnabled() && streamingState === "idle" /* Idle */ && !hasPendingActionRequired;
34227
34233
  const showApprovalModeIndicator = useApprovalModeIndicator({
@@ -34866,6 +34872,9 @@ async function startInteractiveUI(config, settings, startupWarnings, workspaceRo
34866
34872
  });
34867
34873
  const cleanupUnmount = () => instance.unmount();
34868
34874
  const cleanupNonResumableCurrentSession = async () => {
34875
+ if (resumedSessionData) {
34876
+ return;
34877
+ }
34869
34878
  try {
34870
34879
  await config.getGeminiClient()?.getChatRecordingService()?.deleteCurrentSessionIfNotResumableAsync();
34871
34880
  } catch (e) {