@google/gemini-cli 0.62.0-preview.0 → 0.63.0-nightly.20260928.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-4PBNRKYJ.js} +1 -1
  3. package/bundle/{chunk-UDX2JG4X.js → chunk-4SQTLFVK.js} +45 -11
  4. package/bundle/{chunk-ZOLMIYBF.js → chunk-5G7FE6LZ.js} +109 -62
  5. package/bundle/{chunk-UCTTKDYX.js → chunk-7ZCWMSGJ.js} +1 -1
  6. package/bundle/{chunk-7LRWECUM.js → chunk-B3EF23HT.js} +612 -158
  7. package/bundle/{chunk-4B6A2PDH.js → chunk-BRTA6WWG.js} +9 -8
  8. package/bundle/{chunk-IP26BEPK.js → chunk-C2KZGMGL.js} +1 -1
  9. package/bundle/{chunk-67JFSAOI.js → chunk-DEI3TS7C.js} +8 -5
  10. package/bundle/{chunk-QE6MNPCN.js → chunk-EATZTV2L.js} +45 -11
  11. package/bundle/chunk-EORMOPQX.js +17368 -0
  12. package/bundle/{chunk-YHJCOL52.js → chunk-ERMD62K5.js} +8372 -14832
  13. package/bundle/chunk-EYGY6SJV.js +512 -0
  14. package/bundle/{chunk-FX7H3YXM.js → chunk-I5ZBUXWS.js} +1 -1
  15. package/bundle/{chunk-X3MDVQ2M.js → chunk-I7XQQVIO.js} +1 -1
  16. package/bundle/{chunk-IZ7EEAUQ.js → chunk-KCZCDPS2.js} +2 -2
  17. package/bundle/{chunk-2MIF7TLR.js → chunk-KRI5JA76.js} +680 -165
  18. package/bundle/{chunk-DSHGGNYE.js → chunk-KSWUQTWU.js} +3 -3
  19. package/bundle/chunk-LNPKSDNP.js +102951 -0
  20. package/bundle/{chunk-RQBLUWGO.js → chunk-PAIQESPE.js} +3 -3
  21. package/bundle/{chunk-LXVOSY26.js → chunk-PGIM2K4Q.js} +1 -1
  22. package/bundle/{chunk-HCJU65X4.js → chunk-QX7M3XMQ.js} +3 -3
  23. package/bundle/{chunk-KYWRBXUN.js → chunk-QYTRARRL.js} +2 -2
  24. package/bundle/{chunk-4SYYS7FT.js → chunk-RFR5KZGU.js} +1 -1
  25. package/bundle/{chunk-UVWRONOW.js → chunk-SJFSOFYJ.js} +2 -2
  26. package/bundle/chunk-SZK5XAFL.js +398 -0
  27. package/bundle/chunk-TXWIPUPY.js +400484 -0
  28. package/bundle/{chunk-ZNLZV6KB.js → chunk-UOXIYBXB.js} +1 -1
  29. package/bundle/chunk-VAGYZO4R.js +1571 -0
  30. package/bundle/chunk-VNGBTT2C.js +154 -0
  31. package/bundle/chunk-YZPLV23A.js +118 -0
  32. package/bundle/{chunk-ZXPUBJYD.js → chunk-ZAM747AR.js} +1 -1
  33. package/bundle/{cleanup-FHA2KSXH.js → cleanup-5PD3O5L7.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-UTIIPF3A.js +32 -0
  37. package/bundle/{core-FGYHAZ6H.js → core-IIFMZU4H.js} +11 -1
  38. package/bundle/{devtoolsService-WDMSDVS7.js → devtoolsService-67KG4JD7.js} +2 -2
  39. package/bundle/{devtoolsService-FYN3P465.js → devtoolsService-A7VWEFDQ.js} +4 -3
  40. package/bundle/{devtoolsService-2RNXWTDT.js → devtoolsService-AK7UU2FI.js} +2 -2
  41. package/bundle/devtoolsService-REQSIEPU.js +4359 -0
  42. package/bundle/{dist-42YIZWSU.js → dist-5HHK4577.js} +11 -1
  43. package/bundle/{core-CYZFUAYU.js → dist-I74UZ4GA.js} +11 -1
  44. package/bundle/dist-QMOHSH2B.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-I47O5YI2.js} +21 -21
  49. package/bundle/{gemini-5VI65FOO.js → gemini-OFIYPHV5.js} +221 -205
  50. package/bundle/{gemini-DRDYGTKK.js → gemini-PGIEQLQD.js} +21 -21
  51. package/bundle/gemini-PLPMSDXJ.js +17863 -0
  52. package/bundle/gemini.js +7 -7
  53. package/bundle/{interactiveCli-TLTKI2C4.js → interactiveCli-CJEDKYUL.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-OG4JE4CU.js +34907 -0
  57. package/bundle/{liteRtServerManager-KO56TKLF.js → liteRtServerManager-4LVWWKUV.js} +4 -4
  58. package/bundle/{liteRtServerManager-T2GG72NW.js → liteRtServerManager-DVDNFJNH.js} +4 -4
  59. package/bundle/{liteRtServerManager-2CCV35OQ.js → liteRtServerManager-G4WG2Q45.js} +4 -4
  60. package/bundle/liteRtServerManager-MZO6JMNV.js +65 -0
  61. package/bundle/{oauth2-provider-TBQ7JUDB.js → oauth2-provider-CEQ4PAUC.js} +1 -1
  62. package/bundle/{oauth2-provider-BSRUMVCL.js → oauth2-provider-IBKEWCFT.js} +38 -72
  63. package/bundle/{oauth2-provider-UY26FDAA.js → oauth2-provider-KPLVYPVA.js} +1 -1
  64. package/bundle/oauth2-provider-UHJTSOLD.js +235 -0
  65. package/bundle/{start-NGSQCGCK.js → start-2A3VVOAH.js} +6 -6
  66. package/bundle/{start-RUS2QGZK.js → start-6PINHVUA.js} +6 -6
  67. package/bundle/{start-GCXJMSER.js → start-BZAGKSC2.js} +6 -6
  68. package/bundle/start-ZRUVAD7P.js +18 -0
  69. package/package.json +1 -1
@@ -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-B3EF23HT.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);
@@ -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-VNI6B2SC.js";
4
+ } from "./chunk-2AXHER6I.js";
5
5
  import {
6
6
  __commonJS,
7
7
  __require
@@ -1,6 +1,9 @@
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
  AuthProviderType,
4
+ AuthType,
5
+ CoreEvent,
6
+ CoreToolCallStatus,
4
7
  DEFAULT_MODEL_CONFIGS,
5
8
  DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD,
6
9
  EDITOR_OPTIONS,
@@ -30,7 +33,7 @@ import {
30
33
  partListUnionToString,
31
34
  require_strip_json_comments,
32
35
  sanitizeFilenamePart
33
- } from "./chunk-YHJCOL52.js";
36
+ } from "./chunk-ERMD62K5.js";
34
37
  import {
35
38
  __commonJS,
36
39
  __require,
@@ -10227,7 +10230,7 @@ function convertSessionToHistoryFormats(messages) {
10227
10230
  args: tool.args,
10228
10231
  description: tool.description || "",
10229
10232
  renderOutputAsMarkdown: tool.renderOutputAsMarkdown ?? true,
10230
- status: tool.status === "success" ? "success" /* Success */ : "error" /* Error */,
10233
+ status: tool.status === "success" ? CoreToolCallStatus.Success : CoreToolCallStatus.Error,
10231
10234
  resultDisplay: tool.resultDisplay,
10232
10235
  confirmationDetails: void 0
10233
10236
  }))
@@ -16306,8 +16309,8 @@ var LoadedSettings = class {
16306
16309
  // React will pass a listener fn into this subscribe fn
16307
16310
  // that listener fn will perform an object identity check on the snapshot and trigger a React re render if the snapshot has changed
16308
16311
  subscribe(listener) {
16309
- coreEvents.on("settings-changed" /* SettingsChanged */, listener);
16310
- return () => coreEvents.off("settings-changed" /* SettingsChanged */, listener);
16312
+ coreEvents.on(CoreEvent.SettingsChanged, listener);
16313
+ return () => coreEvents.off(CoreEvent.SettingsChanged, listener);
16311
16314
  }
16312
16315
  getSnapshot() {
16313
16316
  return this._snapshot;
@@ -16451,7 +16454,7 @@ function setUpCloudShellEnvironment(envFilePath, isTrusted, isSandboxed, selecte
16451
16454
  }
16452
16455
  }
16453
16456
  let value = "cloudshell-gca";
16454
- if (selectedAuthType === "vertex-ai" /* USE_VERTEX_AI */) {
16457
+ if (selectedAuthType === AuthType.USE_VERTEX_AI) {
16455
16458
  value = process2.env[USER_GCP_PROJECT];
16456
16459
  }
16457
16460
  if (envFilePath && fs4.existsSync(envFilePath)) {
@@ -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 };