@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
@@ -5,7 +5,7 @@ import {
5
5
  isTelemetrySdkInitialized,
6
6
  resetBrowserSession,
7
7
  shutdownTelemetry
8
- } from "./chunk-2MIF7TLR.js";
8
+ } from "./chunk-TXWIPUPY.js";
9
9
 
10
10
  // packages/cli/src/utils/cleanup.ts
11
11
  import { promises as fs } from "node:fs";
@@ -33,7 +33,7 @@ import {
33
33
  partListUnionToString,
34
34
  require_strip_json_comments,
35
35
  sanitizeFilenamePart
36
- } from "./chunk-7LRWECUM.js";
36
+ } from "./chunk-R2KYUMIM.js";
37
37
  import {
38
38
  __commonJS,
39
39
  __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-TXWIPUPY.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-ZNLZV6KB.js";
5
+ } from "./chunk-C2KZGMGL.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-7P7I4GYC.js";
66
+ } from "./chunk-4PBNRKYJ.js";
67
67
  import {
68
68
  isDevelopment
69
- } from "./chunk-UVWRONOW.js";
69
+ } from "./chunk-SZK5XAFL.js";
70
70
  import {
71
71
  emptyIcon,
72
72
  mapCoreStatusToDisplayStatus,
73
73
  require_react
74
- } from "./chunk-UCTTKDYX.js";
74
+ } from "./chunk-EYGY6SJV.js";
75
75
  import {
76
76
  ALL_EDITORS,
77
77
  ApprovalMode,
@@ -251,7 +251,7 @@ import {
251
251
  tokenLimit,
252
252
  uiTelemetryService,
253
253
  unescapePath
254
- } from "./chunk-7LRWECUM.js";
254
+ } from "./chunk-TXWIPUPY.js";
255
255
  import {
256
256
  require_src
257
257
  } from "./chunk-L6PII3GR.js";
@@ -55058,6 +55058,7 @@ var useFocus = () => {
55058
55058
  };
55059
55059
  stdout?.write(ENABLE_FOCUS_REPORTING);
55060
55060
  stdin?.on("data", handleData);
55061
+ stdin?.resume?.();
55061
55062
  return () => {
55062
55063
  stdout?.write(DISABLE_FOCUS_REPORTING);
55063
55064
  stdin?.removeListener("data", handleData);
@@ -55195,6 +55196,7 @@ var TerminalCapabilityManager = class _TerminalCapabilityManager {
55195
55196
  process.on("SIGINT", cleanupTerminalOnExit);
55196
55197
  return new Promise((resolve9) => {
55197
55198
  const originalRawMode = process.stdin.isRaw;
55199
+ const stdinWasFlowing = process.stdin.readableFlowing === true;
55198
55200
  if (!originalRawMode) {
55199
55201
  process.stdin.setRawMode(true);
55200
55202
  }
@@ -55210,6 +55212,9 @@ var TerminalCapabilityManager = class _TerminalCapabilityManager {
55210
55212
  clearTimeout(timeoutId);
55211
55213
  }
55212
55214
  process.stdin.removeListener("data", onData);
55215
+ if (!stdinWasFlowing && process.stdin.listenerCount("data") === 0) {
55216
+ process.stdin.pause?.();
55217
+ }
55213
55218
  if (!originalRawMode) {
55214
55219
  process.stdin.setRawMode(false);
55215
55220
  }
@@ -55962,11 +55967,14 @@ function KeypressProvider({
55962
55967
  );
55963
55968
  (0, import_react30.useEffect)(() => {
55964
55969
  terminalCapabilityManager.enableSupportedModes();
55970
+ if (!stdin) {
55971
+ return;
55972
+ }
55965
55973
  const wasRaw = stdin.isRaw;
55966
55974
  if (wasRaw === false) {
55967
55975
  setRawMode(true);
55968
55976
  }
55969
- process.stdin.setEncoding("utf8");
55977
+ stdin.setEncoding?.("utf8");
55970
55978
  let processor = nonKeyboardEventFilter(broadcast);
55971
55979
  if (!terminalCapabilityManager.isKittyProtocolEnabled()) {
55972
55980
  processor = bufferFastReturn(processor);
@@ -55984,6 +55992,7 @@ function KeypressProvider({
55984
55992
  };
55985
55993
  }
55986
55994
  stdin.on("data", dataListener);
55995
+ stdin.resume?.();
55987
55996
  return () => {
55988
55997
  stdin.removeListener("data", dataListener);
55989
55998
  if (wasRaw === false) {
@@ -66481,9 +66490,13 @@ var McpServerEnablementManager = class _McpServerEnablementManager {
66481
66490
  /**
66482
66491
  * Check if server is enabled in FILE (persistent config only).
66483
66492
  * Does NOT include session state.
66493
+ * Fails closed (`false`) if the config file exists on disk but cannot be read or parsed.
66484
66494
  */
66485
66495
  async isFileEnabled(serverName) {
66486
66496
  const config = await this.readConfig();
66497
+ if (!config) {
66498
+ return false;
66499
+ }
66487
66500
  const state = config[normalizeServerId(serverName)];
66488
66501
  return state?.enabled ?? true;
66489
66502
  }
@@ -66506,10 +66519,14 @@ var McpServerEnablementManager = class _McpServerEnablementManager {
66506
66519
  /**
66507
66520
  * Enable a server persistently.
66508
66521
  * Removes the server from config file (defaults to enabled).
66522
+ * Does not overwrite the config file if existing contents cannot be read or parsed.
66509
66523
  */
66510
66524
  async enable(serverName) {
66511
66525
  const normalizedName = normalizeServerId(serverName);
66512
66526
  const config = await this.readConfig();
66527
+ if (!config) {
66528
+ return;
66529
+ }
66513
66530
  if (normalizedName in config) {
66514
66531
  delete config[normalizedName];
66515
66532
  await this.writeConfig(config);
@@ -66518,9 +66535,13 @@ var McpServerEnablementManager = class _McpServerEnablementManager {
66518
66535
  /**
66519
66536
  * Disable a server persistently.
66520
66537
  * Adds server to config file with enabled: false.
66538
+ * Does not overwrite the config file if existing contents cannot be read or parsed.
66521
66539
  */
66522
66540
  async disable(serverName) {
66523
66541
  const config = await this.readConfig();
66542
+ if (!config) {
66543
+ return;
66544
+ }
66524
66545
  config[normalizeServerId(serverName)] = { enabled: false };
66525
66546
  await this.writeConfig(config);
66526
66547
  }
@@ -66579,7 +66600,9 @@ var McpServerEnablementManager = class _McpServerEnablementManager {
66579
66600
  let wasDisabled = false;
66580
66601
  if (state.isPersistentDisabled) {
66581
66602
  await this.enable(normalizedName);
66582
- wasDisabled = true;
66603
+ if (await this.isFileEnabled(normalizedName)) {
66604
+ wasDisabled = true;
66605
+ }
66583
66606
  }
66584
66607
  if (state.isSessionDisabled) {
66585
66608
  this.clearSessionDisable(normalizedName);
@@ -66593,11 +66616,22 @@ var McpServerEnablementManager = class _McpServerEnablementManager {
66593
66616
  }
66594
66617
  /**
66595
66618
  * Read config from file asynchronously.
66619
+ * Returns `{}` if the file does not exist (`ENOENT`), or `null` if the file
66620
+ * cannot be read or parsed as a valid JSON object.
66596
66621
  */
66597
66622
  async readConfig() {
66598
66623
  try {
66599
66624
  const content = await fs17.readFile(this.configFilePath, "utf-8");
66600
- return JSON.parse(content);
66625
+ const parsed = JSON.parse(content);
66626
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
66627
+ coreEvents.emitFeedback(
66628
+ "error",
66629
+ "Failed to read MCP server enablement config.",
66630
+ new Error("MCP server enablement config must be a JSON object.")
66631
+ );
66632
+ return null;
66633
+ }
66634
+ return parsed;
66601
66635
  } catch (error) {
66602
66636
  if (error instanceof Error && "code" in error && error.code === "ENOENT") {
66603
66637
  return {};
@@ -66607,7 +66641,7 @@ var McpServerEnablementManager = class _McpServerEnablementManager {
66607
66641
  "Failed to read MCP server enablement config.",
66608
66642
  error
66609
66643
  );
66610
- return {};
66644
+ return null;
66611
66645
  }
66612
66646
  }
66613
66647
  /**
@@ -77560,7 +77594,7 @@ var authCommand = {
77560
77594
  import process29 from "node:process";
77561
77595
 
77562
77596
  // packages/cli/src/generated/git-commit.ts
77563
- var GIT_COMMIT_INFO = "9ac01f80f";
77597
+ var GIT_COMMIT_INFO = "2fe7c2d3f";
77564
77598
 
77565
77599
  // packages/cli/src/ui/utils/historyExportUtils.ts
77566
77600
  import * as fsPromises from "node:fs/promises";
@@ -83341,7 +83375,7 @@ Use /mcp auth <server-name> to authenticate.`
83341
83375
  type: "info",
83342
83376
  text: `Starting OAuth authentication for MCP server '${serverName}'...`
83343
83377
  });
83344
- const { MCPOAuthProvider } = await import("./dist-42YIZWSU.js");
83378
+ const { MCPOAuthProvider } = await import("./dist-I74UZ4GA.js");
83345
83379
  let oauthConfig = server.oauth;
83346
83380
  if (!oauthConfig) {
83347
83381
  oauthConfig = { enabled: false };