@google/gemini-cli 0.42.0 → 0.44.0-nightly.20260513.g5ee05c775

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 (80) hide show
  1. package/bundle/{chunk-COQP2M4D.js → chunk-27SPXGT2.js} +562 -437
  2. package/bundle/{chunk-EDKX67D6.js → chunk-2VH3SA6M.js} +43 -23
  3. package/bundle/{chunk-PUDLNWHE.js → chunk-3KOQHVJU.js} +3 -3
  4. package/bundle/{chunk-COKAF5GM.js → chunk-4QQ5AHZP.js} +2 -2
  5. package/bundle/{chunk-KVEAHIIV.js → chunk-5EEEHNEE.js} +3 -3
  6. package/bundle/{chunk-G2VTSEZ6.js → chunk-5SMSFUPB.js} +1 -1
  7. package/bundle/{chunk-7VVHSNDQ.js → chunk-AC2EWTF7.js} +1970 -731
  8. package/bundle/{chunk-GA527JB7.js → chunk-ATSNFRDF.js} +1 -1
  9. package/bundle/{chunk-3IS7GD6D.js → chunk-BA752AEU.js} +3 -3
  10. package/bundle/{chunk-CYEIWMZJ.js → chunk-FGYOOMPI.js} +1 -1
  11. package/bundle/{chunk-QOZSZYL7.js → chunk-FK45PHSI.js} +3 -3
  12. package/bundle/{chunk-I7AME6VC.js → chunk-FTY6BJEY.js} +9 -8
  13. package/bundle/{chunk-NTOPH4WG.js → chunk-GCWBZXBS.js} +2 -2
  14. package/bundle/chunk-I2JHD4D3.js +512 -0
  15. package/bundle/{chunk-7C6GGDK6.js → chunk-IZJOLGNO.js} +3 -3
  16. package/bundle/{chunk-4SLGT6YD.js → chunk-J4YAW3P3.js} +1 -1
  17. package/bundle/chunk-KADNKBXT.js +118 -0
  18. package/bundle/{chunk-DN4XSYRG.js → chunk-LF33N5QM.js} +8696 -13355
  19. package/bundle/{chunk-CHERUG6W.js → chunk-LO22NRY4.js} +502 -390
  20. package/bundle/{chunk-JEW7ZIWE.js → chunk-M7OUJJZ2.js} +5270 -5234
  21. package/bundle/{chunk-WIXUKOZA.js → chunk-MFNKZZOB.js} +1 -1
  22. package/bundle/chunk-MLPM54XD.js +357247 -0
  23. package/bundle/{chunk-ECNYAST2.js → chunk-N22WUHJE.js} +5419 -5378
  24. package/bundle/chunk-OC7XGTLV.js +81656 -0
  25. package/bundle/{chunk-ZNMQA242.js → chunk-QDEK3TQ6.js} +3 -3
  26. package/bundle/{chunk-BCYBA52D.js → chunk-QMXQUBC4.js} +43 -23
  27. package/bundle/chunk-TBHMNRI3.js +1571 -0
  28. package/bundle/{chunk-LATVEETM.js → chunk-TOOOS4HD.js} +2 -2
  29. package/bundle/{chunk-XUMRUXOT.js → chunk-UHSQLPNG.js} +50 -27
  30. package/bundle/chunk-USS2A6NQ.js +156 -0
  31. package/bundle/chunk-WMTLLWRC.js +391 -0
  32. package/bundle/chunk-XDWZDV7C.js +17250 -0
  33. package/bundle/{chunk-DMWX7UP6.js → chunk-YBYQH75I.js} +2252 -829
  34. package/bundle/{chunk-FCAODPNO.js → chunk-ZZN56QZ3.js} +502 -390
  35. package/bundle/{cleanup-3RILFNVM.js → cleanup-2H3SANYB.js} +3 -3
  36. package/bundle/{cleanup-SVRKYBR6.js → cleanup-7GY7BVC6.js} +3 -3
  37. package/bundle/{cleanup-XFVHHDVO.js → cleanup-FERREFU6.js} +3 -3
  38. package/bundle/cleanup-VIITMMDH.js +33 -0
  39. package/bundle/{core-FRVSDP2C.js → core-GS6NXK7Y.js} +30 -2
  40. package/bundle/{devtoolsService-VM2WTHBX.js → devtoolsService-FKC6Y4OE.js} +3 -3
  41. package/bundle/{devtoolsService-TRDGMQLJ.js → devtoolsService-K2DRCZEY.js} +5 -4
  42. package/bundle/{devtoolsService-RUEO5PGP.js → devtoolsService-PS6RYICL.js} +3 -3
  43. package/bundle/devtoolsService-ZDXC2NPD.js +857 -0
  44. package/bundle/{dist-6BN2CJPN.js → dist-S3YUNQKP.js} +30 -2
  45. package/bundle/{core-B5S6HZJT.js → dist-TBGNMYU2.js} +30 -2
  46. package/bundle/dist-ZEW43MLQ.js +2124 -0
  47. package/bundle/docs/changelogs/index.md +30 -0
  48. package/bundle/docs/changelogs/latest.md +261 -166
  49. package/bundle/docs/changelogs/preview.md +178 -103
  50. package/bundle/docs/cli/auto-memory.md +60 -38
  51. package/bundle/docs/cli/settings.md +1 -1
  52. package/bundle/docs/cli/tutorials/memory-management.md +1 -1
  53. package/bundle/docs/extensions/releasing.md +58 -24
  54. package/bundle/docs/reference/configuration.md +14 -1
  55. package/bundle/docs/reference/keyboard-shortcuts.md +23 -0
  56. package/bundle/{gemini-QSTQ2DBG.js → gemini-6YGVETF3.js} +165 -61
  57. package/bundle/{gemini-GHUELHBF.js → gemini-7FCGNXOV.js} +350 -232
  58. package/bundle/gemini-IXZUGRVP.js +16360 -0
  59. package/bundle/{gemini-NQPVX5JC.js → gemini-WYTY4CD5.js} +165 -61
  60. package/bundle/gemini.js +8 -8
  61. package/bundle/{interactiveCli-AG2YWL2O.js → interactiveCli-A2FV6NYD.js} +1721 -1472
  62. package/bundle/{interactiveCli-MZFG35NB.js → interactiveCli-DWNRHVIB.js} +2003 -1736
  63. package/bundle/{interactiveCli-453M2IVE.js → interactiveCli-H7N4UXVQ.js} +1720 -1472
  64. package/bundle/interactiveCli-XRZEELCX.js +34754 -0
  65. package/bundle/{liteRtServerManager-G4Q7OVBX.js → liteRtServerManager-5C5EONBK.js} +5 -5
  66. package/bundle/{liteRtServerManager-S7WL25VD.js → liteRtServerManager-NQKPNCLR.js} +5 -5
  67. package/bundle/{liteRtServerManager-BXQ6VVWP.js → liteRtServerManager-UJBPII3P.js} +5 -5
  68. package/bundle/liteRtServerManager-UZCAJJCS.js +66 -0
  69. package/bundle/{memoryDiscovery-KSYZVCWF.js → memoryDiscovery-ALKMYAPP.js} +1 -1
  70. package/bundle/{memoryDiscovery-FB7MMKTA.js → memoryDiscovery-XFCKEF3F.js} +1 -1
  71. package/bundle/node_modules/@google/gemini-cli-devtools/package.json +1 -1
  72. package/bundle/{oauth2-provider-VR4DL6AL.js → oauth2-provider-JNOY6NUI.js} +2 -2
  73. package/bundle/{oauth2-provider-H7G6RSFW.js → oauth2-provider-O6OA5EMU.js} +2 -2
  74. package/bundle/{oauth2-provider-5UF5WEE2.js → oauth2-provider-QYCLASEA.js} +39 -73
  75. package/bundle/oauth2-provider-VWLTUFO7.js +237 -0
  76. package/bundle/{start-CQBSKFYB.js → start-6FV3VPPH.js} +7 -7
  77. package/bundle/{start-NIMXQJYB.js → start-IWAUTCYF.js} +7 -7
  78. package/bundle/{start-2SKRN43X.js → start-L4DAQUQM.js} +7 -7
  79. package/bundle/start-XTXUKP77.js +19 -0
  80. package/package.json +1 -1
@@ -22,7 +22,7 @@ import {
22
22
  require_strip_json_comments,
23
23
  sanitizeFilenamePart,
24
24
  stripAnsi
25
- } from "./chunk-7VVHSNDQ.js";
25
+ } from "./chunk-LF33N5QM.js";
26
26
  import {
27
27
  CoreEvent,
28
28
  FatalConfigError,
@@ -33,7 +33,7 @@ import {
33
33
  external_exports,
34
34
  getErrorMessage,
35
35
  homedir
36
- } from "./chunk-JEW7ZIWE.js";
36
+ } from "./chunk-M7OUJJZ2.js";
37
37
  import {
38
38
  __commonJS,
39
39
  __require,
@@ -9962,9 +9962,13 @@ var getAllSessionFiles = async (chatsDir, currentSessionId, options = {}) => {
9962
9962
  if (!content) {
9963
9963
  return { fileName: file, sessionInfo: null };
9964
9964
  }
9965
- if (!content.sessionId || !content.startTime || !content.lastUpdated) {
9965
+ if (!content.sessionId) {
9966
9966
  return { fileName: file, sessionInfo: null };
9967
9967
  }
9968
+ const fileTimestamp = !content.startTime || !content.lastUpdated ? (await fs.stat(filePath).catch(() => void 0))?.mtime.toISOString() : void 0;
9969
+ const fallbackTimestamp = fileTimestamp ?? (/* @__PURE__ */ new Date()).toISOString();
9970
+ const startTime = content.startTime || content.lastUpdated || fallbackTimestamp;
9971
+ const lastUpdated = content.lastUpdated || content.startTime || fallbackTimestamp;
9968
9972
  if (!content.hasUserOrAssistantMessage) {
9969
9973
  return { fileName: file, sessionInfo: null };
9970
9974
  }
@@ -9986,8 +9990,8 @@ var getAllSessionFiles = async (chatsDir, currentSessionId, options = {}) => {
9986
9990
  id: content.sessionId,
9987
9991
  file: file.replace(/\.jsonl?$/, ""),
9988
9992
  fileName: file,
9989
- startTime: content.startTime,
9990
- lastUpdated: content.lastUpdated,
9993
+ startTime,
9994
+ lastUpdated,
9991
9995
  messageCount: content.messageCount ?? content.messages.length,
9992
9996
  displayName: content.summary ? stripUnsafeCharacters(content.summary) : firstUserMessage,
9993
9997
  firstUserMessage,
@@ -10141,10 +10145,15 @@ var SessionSelector = class {
10141
10145
  if (!sessionData) {
10142
10146
  throw new Error("Failed to load session data");
10143
10147
  }
10148
+ const normalizedSessionData = {
10149
+ ...sessionData,
10150
+ startTime: sessionData.startTime || sessionInfo.startTime,
10151
+ lastUpdated: sessionData.lastUpdated || sessionInfo.lastUpdated
10152
+ };
10144
10153
  const displayInfo = `Session ${sessionInfo.index}: ${sessionInfo.firstUserMessage} (${sessionInfo.messageCount} messages, ${formatRelativeTime(sessionInfo.lastUpdated)})`;
10145
10154
  return {
10146
10155
  sessionPath,
10147
- sessionData,
10156
+ sessionData: normalizedSessionData,
10148
10157
  displayInfo
10149
10158
  };
10150
10159
  } catch (error) {
@@ -10531,8 +10540,8 @@ async function cleanupToolOutputFiles(settings, debugMode = false, projectTempDi
10531
10540
  files.map(async (file) => {
10532
10541
  try {
10533
10542
  const filePath = path2.join(toolOutputDir, file.name);
10534
- const stat2 = await fs2.stat(filePath);
10535
- return { name: file.name, mtime: stat2.mtime };
10543
+ const stat3 = await fs2.stat(filePath);
10544
+ return { name: file.name, mtime: stat3.mtime };
10536
10545
  } catch (error) {
10537
10546
  debugLogger.debug(
10538
10547
  `Failed to stat file ${file.name}: ${error instanceof Error ? error.message : "Unknown error"}`
@@ -10585,12 +10594,12 @@ async function cleanupToolOutputFiles(settings, debugMode = false, projectTempDi
10585
10594
  continue;
10586
10595
  }
10587
10596
  const subdirPath = path2.join(toolOutputDir, subdir.name);
10588
- const stat2 = await fs2.stat(subdirPath);
10597
+ const stat3 = await fs2.stat(subdirPath);
10589
10598
  let shouldDelete = false;
10590
10599
  if (retentionConfig.maxAge) {
10591
10600
  const maxAgeMs = parseRetentionPeriod(retentionConfig.maxAge);
10592
10601
  const cutoffDate = new Date(now.getTime() - maxAgeMs);
10593
- if (stat2.mtime < cutoffDate) {
10602
+ if (stat3.mtime < cutoffDate) {
10594
10603
  shouldDelete = true;
10595
10604
  }
10596
10605
  }
@@ -14268,7 +14277,7 @@ var SETTINGS_SCHEMA = {
14268
14277
  label: "Voice Stop Grace Period (ms)",
14269
14278
  category: "Experimental",
14270
14279
  requiresRestart: false,
14271
- default: 1e3,
14280
+ default: 4e3,
14272
14281
  description: "How long to wait for final transcription after stopping recording.",
14273
14282
  showInDialog: true
14274
14283
  }
@@ -15614,17 +15623,19 @@ function resolveEnvVarsInObjectInternal(obj, visited, customEnv) {
15614
15623
  }
15615
15624
  if (Array.isArray(obj)) {
15616
15625
  if (visited.has(obj)) {
15617
- return [...obj];
15626
+ const copy = [...obj];
15627
+ const isTArray2 = (val) => Array.isArray(val);
15628
+ if (isTArray2(copy)) return copy;
15629
+ throw new Error("Unreachable");
15618
15630
  }
15619
15631
  visited.add(obj);
15620
- const result = obj.map(
15621
- (item) => (
15622
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
15623
- resolveEnvVarsInObjectInternal(item, visited, customEnv)
15624
- )
15632
+ const mapped = obj.map(
15633
+ (item) => resolveEnvVarsInObjectInternal(item, visited, customEnv)
15625
15634
  );
15626
15635
  visited.delete(obj);
15627
- return result;
15636
+ const isTArray = (val) => Array.isArray(val);
15637
+ if (isTArray(mapped)) return mapped;
15638
+ throw new Error("Unreachable");
15628
15639
  }
15629
15640
  if (typeof obj === "object") {
15630
15641
  if (visited.has(obj)) {
@@ -16175,6 +16186,14 @@ var LoadedSettings = class {
16175
16186
  get merged() {
16176
16187
  return this._merged;
16177
16188
  }
16189
+ /**
16190
+ * Returns a merged settings object as if the folder were trusted.
16191
+ * This is useful for commands like 'mcp list' that want to show
16192
+ * what's configured even if it's currently disabled for security reasons.
16193
+ */
16194
+ getMergedSettingsAsIfTrusted() {
16195
+ return this.computeMergedSettings(true);
16196
+ }
16178
16197
  setTrusted(isTrusted) {
16179
16198
  if (this.isTrusted === isTrusted) {
16180
16199
  return;
@@ -16191,13 +16210,15 @@ var LoadedSettings = class {
16191
16210
  originalSettings: {}
16192
16211
  };
16193
16212
  }
16194
- computeMergedSettings() {
16213
+ computeMergedSettings(forceTrusted = false) {
16214
+ const isTrusted = forceTrusted || this.isTrusted;
16215
+ const workspace = forceTrusted ? this._workspaceFile : this.workspace;
16195
16216
  const merged = mergeSettings(
16196
16217
  this.system.settings,
16197
16218
  this.systemDefaults.settings,
16198
16219
  this.user.settings,
16199
- this.workspace.settings,
16200
- this.isTrusted
16220
+ workspace.settings,
16221
+ isTrusted
16201
16222
  );
16202
16223
  const adminSettingSchema = getSettingsSchema().admin;
16203
16224
  if (adminSettingSchema?.properties) {
@@ -16213,8 +16234,7 @@ var LoadedSettings = class {
16213
16234
  }
16214
16235
  computeSnapshot() {
16215
16236
  const cloneSettingsFile = (file) => ({
16216
- path: file.path,
16217
- rawJson: file.rawJson,
16237
+ ...file,
16218
16238
  settings: structuredClone(file.settings),
16219
16239
  originalSettings: structuredClone(file.originalSettings)
16220
16240
  });
@@ -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-4SLGT6YD.js";
5
+ } from "./chunk-MFNKZZOB.js";
6
6
  import {
7
7
  DEFAULT_PORT,
8
8
  SERVER_START_WAIT_MS,
@@ -14,10 +14,10 @@ import {
14
14
  isServerRunning,
15
15
  resolveGemmaConfig,
16
16
  writeServerProcessInfo
17
- } from "./chunk-EDKX67D6.js";
17
+ } from "./chunk-2VH3SA6M.js";
18
18
  import {
19
19
  debugLogger
20
- } from "./chunk-JEW7ZIWE.js";
20
+ } from "./chunk-M7OUJJZ2.js";
21
21
  import {
22
22
  __toESM
23
23
  } from "./chunk-34MYV7JD.js";
@@ -4,10 +4,10 @@ import {
4
4
  isTelemetrySdkInitialized,
5
5
  resetBrowserSession,
6
6
  shutdownTelemetry
7
- } from "./chunk-7VVHSNDQ.js";
7
+ } from "./chunk-YBYQH75I.js";
8
8
  import {
9
9
  Storage
10
- } from "./chunk-JEW7ZIWE.js";
10
+ } from "./chunk-N22WUHJE.js";
11
11
 
12
12
  // packages/cli/src/utils/cleanup.ts
13
13
  import { promises as fs } from "node:fs";
@@ -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-CYEIWMZJ.js";
5
+ } from "./chunk-FGYOOMPI.js";
6
6
  import {
7
7
  DEFAULT_PORT,
8
8
  SERVER_START_WAIT_MS,
@@ -14,10 +14,10 @@ import {
14
14
  isServerRunning,
15
15
  resolveGemmaConfig,
16
16
  writeServerProcessInfo
17
- } from "./chunk-BCYBA52D.js";
17
+ } from "./chunk-UHSQLPNG.js";
18
18
  import {
19
19
  debugLogger
20
- } from "./chunk-ECNYAST2.js";
20
+ } from "./chunk-M7OUJJZ2.js";
21
21
  import {
22
22
  __toESM
23
23
  } from "./chunk-34MYV7JD.js";
@@ -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-7VVHSNDQ.js";
5
+ } from "./chunk-LF33N5QM.js";
6
6
  import {
7
7
  __commonJS,
8
8
  __toESM