@google/gemini-cli 0.62.0-preview.0 → 0.63.0-nightly.20260926.g2fe7c2d3f

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 (69) hide show
  1. package/bundle/{chunk-VNI6B2SC.js → chunk-2AXHER6I.js} +1 -1
  2. package/bundle/{chunk-7P7I4GYC.js → chunk-2HPN5QAH.js} +1 -1
  3. package/bundle/{chunk-67JFSAOI.js → chunk-4PBNRKYJ.js} +8 -5
  4. package/bundle/{chunk-UDX2JG4X.js → chunk-4SQTLFVK.js} +45 -11
  5. package/bundle/chunk-5OA4MZUE.js +17368 -0
  6. package/bundle/{chunk-ZOLMIYBF.js → chunk-A6CY66PY.js} +109 -62
  7. package/bundle/{chunk-IP26BEPK.js → chunk-BMW3TCBN.js} +1 -1
  8. package/bundle/{chunk-X3MDVQ2M.js → chunk-C2KZGMGL.js} +1 -1
  9. package/bundle/{chunk-DSHGGNYE.js → chunk-DQIFLHPX.js} +3 -3
  10. package/bundle/{chunk-QE6MNPCN.js → chunk-EATZTV2L.js} +45 -11
  11. package/bundle/{chunk-UCTTKDYX.js → chunk-EYGY6SJV.js} +1 -1
  12. package/bundle/{chunk-ZNLZV6KB.js → chunk-GCXBFYJK.js} +1 -1
  13. package/bundle/{chunk-4B6A2PDH.js → chunk-JBO7A25S.js} +9 -8
  14. package/bundle/{chunk-FX7H3YXM.js → chunk-JRB2XGR5.js} +1 -1
  15. package/bundle/{chunk-2MIF7TLR.js → chunk-KRI5JA76.js} +680 -165
  16. package/bundle/{chunk-RQBLUWGO.js → chunk-PAIQESPE.js} +3 -3
  17. package/bundle/{chunk-IZ7EEAUQ.js → chunk-QO5HKIZU.js} +2 -2
  18. package/bundle/{chunk-HCJU65X4.js → chunk-QX7M3XMQ.js} +3 -3
  19. package/bundle/{chunk-7LRWECUM.js → chunk-R2KYUMIM.js} +612 -158
  20. package/bundle/{chunk-KYWRBXUN.js → chunk-RCREII42.js} +2 -2
  21. package/bundle/{chunk-4SYYS7FT.js → chunk-RFR5KZGU.js} +1 -1
  22. package/bundle/chunk-SCOXV26L.js +118 -0
  23. package/bundle/{chunk-UVWRONOW.js → chunk-SJFSOFYJ.js} +2 -2
  24. package/bundle/chunk-SZK5XAFL.js +398 -0
  25. package/bundle/chunk-T7LJ6AR4.js +512 -0
  26. package/bundle/{chunk-YHJCOL52.js → chunk-TXWIPUPY.js} +8372 -14832
  27. package/bundle/chunk-UFNI7OME.js +400484 -0
  28. package/bundle/chunk-UGKG4OIB.js +102951 -0
  29. package/bundle/chunk-VAGYZO4R.js +1571 -0
  30. package/bundle/{chunk-LXVOSY26.js → chunk-VNGBTT2C.js} +1 -1
  31. package/bundle/{chunk-ZXPUBJYD.js → chunk-ZAM747AR.js} +1 -1
  32. package/bundle/chunk-ZV5QN465.js +154 -0
  33. package/bundle/{cleanup-FHA2KSXH.js → cleanup-33SXPBZY.js} +2 -2
  34. package/bundle/{cleanup-HY2KJG6D.js → cleanup-6IDD7Q3X.js} +2 -2
  35. package/bundle/{cleanup-UNKT2DM4.js → cleanup-7UL3PRLF.js} +2 -2
  36. package/bundle/cleanup-ZMIILI4I.js +32 -0
  37. package/bundle/{core-FGYHAZ6H.js → core-IIFMZU4H.js} +11 -1
  38. package/bundle/{devtoolsService-WDMSDVS7.js → devtoolsService-3DTEOSCQ.js} +2 -2
  39. package/bundle/{devtoolsService-2RNXWTDT.js → devtoolsService-AK7UU2FI.js} +2 -2
  40. package/bundle/{devtoolsService-FYN3P465.js → devtoolsService-BHWAPOMO.js} +4 -3
  41. package/bundle/devtoolsService-REQSIEPU.js +4359 -0
  42. package/bundle/{dist-42YIZWSU.js → dist-4S434TWJ.js} +11 -1
  43. package/bundle/{core-CYZFUAYU.js → dist-6CWFFN6Z.js} +11 -1
  44. package/bundle/dist-I74UZ4GA.js +2248 -0
  45. package/bundle/docs/changelogs/index.md +16 -0
  46. package/bundle/docs/changelogs/latest.md +34 -55
  47. package/bundle/docs/changelogs/preview.md +65 -29
  48. package/bundle/{gemini-H6C5T6NZ.js → gemini-3326ZSFC.js} +21 -21
  49. package/bundle/{gemini-5VI65FOO.js → gemini-I47O5YI2.js} +221 -205
  50. package/bundle/{gemini-DRDYGTKK.js → gemini-PGIEQLQD.js} +21 -21
  51. package/bundle/gemini-YJG7YFT4.js +17863 -0
  52. package/bundle/gemini.js +7 -7
  53. package/bundle/{interactiveCli-TLTKI2C4.js → interactiveCli-A6SNZNGC.js} +31 -14
  54. package/bundle/{interactiveCli-SOVSAZ32.js → interactiveCli-JF6LE6RN.js} +334 -298
  55. package/bundle/{interactiveCli-KSL5ASTL.js → interactiveCli-JLFFVRVY.js} +31 -14
  56. package/bundle/interactiveCli-MHB4B6S7.js +34907 -0
  57. package/bundle/{liteRtServerManager-KO56TKLF.js → liteRtServerManager-4LVWWKUV.js} +4 -4
  58. package/bundle/{liteRtServerManager-T2GG72NW.js → liteRtServerManager-5LUGQWRF.js} +4 -4
  59. package/bundle/{liteRtServerManager-2CCV35OQ.js → liteRtServerManager-DVDNFJNH.js} +4 -4
  60. package/bundle/liteRtServerManager-FWIPKCGI.js +65 -0
  61. package/bundle/{oauth2-provider-TBQ7JUDB.js → oauth2-provider-IBKEWCFT.js} +1 -1
  62. package/bundle/{oauth2-provider-UY26FDAA.js → oauth2-provider-KPLVYPVA.js} +1 -1
  63. package/bundle/{oauth2-provider-BSRUMVCL.js → oauth2-provider-MTCBHRXI.js} +38 -72
  64. package/bundle/oauth2-provider-TDMWN5ME.js +235 -0
  65. package/bundle/{start-NGSQCGCK.js → start-2A3VVOAH.js} +6 -6
  66. package/bundle/{start-RUS2QGZK.js → start-665BHOTS.js} +6 -6
  67. package/bundle/{start-GCXJMSER.js → start-6PINHVUA.js} +6 -6
  68. package/bundle/start-DXGEU2SK.js +18 -0
  69. 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
  exitCli,
4
4
  require_source
5
- } from "./chunk-X3MDVQ2M.js";
5
+ } from "./chunk-VAGYZO4R.js";
6
6
  import {
7
7
  AppEvent,
8
8
  appEvents
@@ -63,15 +63,15 @@ import {
63
63
  stripUnsafeCharacters,
64
64
  toCodePoints,
65
65
  validateCustomTheme
66
- } from "./chunk-67JFSAOI.js";
66
+ } from "./chunk-RFR5KZGU.js";
67
67
  import {
68
68
  isDevelopment
69
- } from "./chunk-IZ7EEAUQ.js";
69
+ } from "./chunk-SJFSOFYJ.js";
70
70
  import {
71
71
  emptyIcon,
72
72
  mapCoreStatusToDisplayStatus,
73
73
  require_react
74
- } from "./chunk-4B6A2PDH.js";
74
+ } from "./chunk-ZAM747AR.js";
75
75
  import {
76
76
  ALL_EDITORS,
77
77
  ApprovalMode,
@@ -238,7 +238,7 @@ import {
238
238
  tokenLimit,
239
239
  uiTelemetryService,
240
240
  unescapePath
241
- } from "./chunk-YHJCOL52.js";
241
+ } from "./chunk-KRI5JA76.js";
242
242
  import {
243
243
  require_src
244
244
  } from "./chunk-L6PII3GR.js";
@@ -55045,6 +55045,7 @@ var useFocus = () => {
55045
55045
  };
55046
55046
  stdout?.write(ENABLE_FOCUS_REPORTING);
55047
55047
  stdin?.on("data", handleData);
55048
+ stdin?.resume?.();
55048
55049
  return () => {
55049
55050
  stdout?.write(DISABLE_FOCUS_REPORTING);
55050
55051
  stdin?.removeListener("data", handleData);
@@ -55182,6 +55183,7 @@ var TerminalCapabilityManager = class _TerminalCapabilityManager {
55182
55183
  process.on("SIGINT", cleanupTerminalOnExit);
55183
55184
  return new Promise((resolve9) => {
55184
55185
  const originalRawMode = process.stdin.isRaw;
55186
+ const stdinWasFlowing = process.stdin.readableFlowing === true;
55185
55187
  if (!originalRawMode) {
55186
55188
  process.stdin.setRawMode(true);
55187
55189
  }
@@ -55197,6 +55199,9 @@ var TerminalCapabilityManager = class _TerminalCapabilityManager {
55197
55199
  clearTimeout(timeoutId);
55198
55200
  }
55199
55201
  process.stdin.removeListener("data", onData);
55202
+ if (!stdinWasFlowing && process.stdin.listenerCount("data") === 0) {
55203
+ process.stdin.pause?.();
55204
+ }
55200
55205
  if (!originalRawMode) {
55201
55206
  process.stdin.setRawMode(false);
55202
55207
  }
@@ -55949,11 +55954,14 @@ function KeypressProvider({
55949
55954
  );
55950
55955
  (0, import_react30.useEffect)(() => {
55951
55956
  terminalCapabilityManager.enableSupportedModes();
55957
+ if (!stdin) {
55958
+ return;
55959
+ }
55952
55960
  const wasRaw = stdin.isRaw;
55953
55961
  if (wasRaw === false) {
55954
55962
  setRawMode(true);
55955
55963
  }
55956
- process.stdin.setEncoding("utf8");
55964
+ stdin.setEncoding?.("utf8");
55957
55965
  let processor = nonKeyboardEventFilter(broadcast);
55958
55966
  if (!terminalCapabilityManager.isKittyProtocolEnabled()) {
55959
55967
  processor = bufferFastReturn(processor);
@@ -55971,6 +55979,7 @@ function KeypressProvider({
55971
55979
  };
55972
55980
  }
55973
55981
  stdin.on("data", dataListener);
55982
+ stdin.resume?.();
55974
55983
  return () => {
55975
55984
  stdin.removeListener("data", dataListener);
55976
55985
  if (wasRaw === false) {
@@ -66468,9 +66477,13 @@ var McpServerEnablementManager = class _McpServerEnablementManager {
66468
66477
  /**
66469
66478
  * Check if server is enabled in FILE (persistent config only).
66470
66479
  * Does NOT include session state.
66480
+ * Fails closed (`false`) if the config file exists on disk but cannot be read or parsed.
66471
66481
  */
66472
66482
  async isFileEnabled(serverName) {
66473
66483
  const config = await this.readConfig();
66484
+ if (!config) {
66485
+ return false;
66486
+ }
66474
66487
  const state = config[normalizeServerId(serverName)];
66475
66488
  return state?.enabled ?? true;
66476
66489
  }
@@ -66493,10 +66506,14 @@ var McpServerEnablementManager = class _McpServerEnablementManager {
66493
66506
  /**
66494
66507
  * Enable a server persistently.
66495
66508
  * Removes the server from config file (defaults to enabled).
66509
+ * Does not overwrite the config file if existing contents cannot be read or parsed.
66496
66510
  */
66497
66511
  async enable(serverName) {
66498
66512
  const normalizedName = normalizeServerId(serverName);
66499
66513
  const config = await this.readConfig();
66514
+ if (!config) {
66515
+ return;
66516
+ }
66500
66517
  if (normalizedName in config) {
66501
66518
  delete config[normalizedName];
66502
66519
  await this.writeConfig(config);
@@ -66505,9 +66522,13 @@ var McpServerEnablementManager = class _McpServerEnablementManager {
66505
66522
  /**
66506
66523
  * Disable a server persistently.
66507
66524
  * Adds server to config file with enabled: false.
66525
+ * Does not overwrite the config file if existing contents cannot be read or parsed.
66508
66526
  */
66509
66527
  async disable(serverName) {
66510
66528
  const config = await this.readConfig();
66529
+ if (!config) {
66530
+ return;
66531
+ }
66511
66532
  config[normalizeServerId(serverName)] = { enabled: false };
66512
66533
  await this.writeConfig(config);
66513
66534
  }
@@ -66566,7 +66587,9 @@ var McpServerEnablementManager = class _McpServerEnablementManager {
66566
66587
  let wasDisabled = false;
66567
66588
  if (state.isPersistentDisabled) {
66568
66589
  await this.enable(normalizedName);
66569
- wasDisabled = true;
66590
+ if (await this.isFileEnabled(normalizedName)) {
66591
+ wasDisabled = true;
66592
+ }
66570
66593
  }
66571
66594
  if (state.isSessionDisabled) {
66572
66595
  this.clearSessionDisable(normalizedName);
@@ -66580,11 +66603,22 @@ var McpServerEnablementManager = class _McpServerEnablementManager {
66580
66603
  }
66581
66604
  /**
66582
66605
  * Read config from file asynchronously.
66606
+ * Returns `{}` if the file does not exist (`ENOENT`), or `null` if the file
66607
+ * cannot be read or parsed as a valid JSON object.
66583
66608
  */
66584
66609
  async readConfig() {
66585
66610
  try {
66586
66611
  const content = await fs17.readFile(this.configFilePath, "utf-8");
66587
- return JSON.parse(content);
66612
+ const parsed = JSON.parse(content);
66613
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
66614
+ coreEvents.emitFeedback(
66615
+ "error",
66616
+ "Failed to read MCP server enablement config.",
66617
+ new Error("MCP server enablement config must be a JSON object.")
66618
+ );
66619
+ return null;
66620
+ }
66621
+ return parsed;
66588
66622
  } catch (error) {
66589
66623
  if (error instanceof Error && "code" in error && error.code === "ENOENT") {
66590
66624
  return {};
@@ -66594,7 +66628,7 @@ var McpServerEnablementManager = class _McpServerEnablementManager {
66594
66628
  "Failed to read MCP server enablement config.",
66595
66629
  error
66596
66630
  );
66597
- return {};
66631
+ return null;
66598
66632
  }
66599
66633
  }
66600
66634
  /**
@@ -77547,7 +77581,7 @@ var authCommand = {
77547
77581
  import process29 from "node:process";
77548
77582
 
77549
77583
  // packages/cli/src/generated/git-commit.ts
77550
- var GIT_COMMIT_INFO = "f50ba8608";
77584
+ var GIT_COMMIT_INFO = "2fe7c2d3f";
77551
77585
 
77552
77586
  // packages/cli/src/ui/utils/historyExportUtils.ts
77553
77587
  import * as fsPromises from "node:fs/promises";
@@ -83328,7 +83362,7 @@ Use /mcp auth <server-name> to authenticate.`
83328
83362
  type: "info",
83329
83363
  text: `Starting OAuth authentication for MCP server '${serverName}'...`
83330
83364
  });
83331
- const { MCPOAuthProvider } = await import("./core-FGYHAZ6H.js");
83365
+ const { MCPOAuthProvider } = await import("./core-IIFMZU4H.js");
83332
83366
  let oauthConfig = server.oauth;
83333
83367
  if (!oauthConfig) {
83334
83368
  oauthConfig = { enabled: false };
@@ -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-7LRWECUM.js";
5
+ } from "./chunk-TXWIPUPY.js";
6
6
  import {
7
7
  __commonJS,
8
8
  __toESM
@@ -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-FX7H3YXM.js";
4
+ } from "./chunk-JRB2XGR5.js";
5
5
  import {
6
6
  __commonJS,
7
7
  __require
@@ -1,7 +1,8 @@
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
+ CoreToolCallStatus,
3
4
  checkExhaustive
4
- } from "./chunk-YHJCOL52.js";
5
+ } from "./chunk-R2KYUMIM.js";
5
6
  import {
6
7
  __commonJS,
7
8
  __toESM
@@ -464,19 +465,19 @@ var require_react = __commonJS({
464
465
  var import_react = __toESM(require_react(), 1);
465
466
  function mapCoreStatusToDisplayStatus(coreStatus) {
466
467
  switch (coreStatus) {
467
- case "validating" /* Validating */:
468
+ case CoreToolCallStatus.Validating:
468
469
  return "Pending" /* Pending */;
469
- case "awaiting_approval" /* AwaitingApproval */:
470
+ case CoreToolCallStatus.AwaitingApproval:
470
471
  return "Confirming" /* Confirming */;
471
- case "executing" /* Executing */:
472
+ case CoreToolCallStatus.Executing:
472
473
  return "Executing" /* Executing */;
473
- case "success" /* Success */:
474
+ case CoreToolCallStatus.Success:
474
475
  return "Success" /* Success */;
475
- case "cancelled" /* Cancelled */:
476
+ case CoreToolCallStatus.Cancelled:
476
477
  return "Canceled" /* Canceled */;
477
- case "error" /* Error */:
478
+ case CoreToolCallStatus.Error:
478
479
  return "Error" /* Error */;
479
- case "scheduled" /* Scheduled */:
480
+ case CoreToolCallStatus.Scheduled:
480
481
  return "Pending" /* Pending */;
481
482
  default:
482
483
  return checkExhaustive(coreStatus);
@@ -5,7 +5,7 @@ import {
5
5
  isTelemetrySdkInitialized,
6
6
  resetBrowserSession,
7
7
  shutdownTelemetry
8
- } from "./chunk-7LRWECUM.js";
8
+ } from "./chunk-R2KYUMIM.js";
9
9
 
10
10
  // packages/cli/src/utils/cleanup.ts
11
11
  import { promises as fs } from "node:fs";