@google/gemini-cli 0.42.0 → 0.43.0-preview.1

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-3IS7GD6D.js → chunk-3BNJIKEP.js} +3 -3
  2. package/bundle/{chunk-EDKX67D6.js → chunk-4G3X2H3F.js} +34 -16
  3. package/bundle/{chunk-FCAODPNO.js → chunk-4SLX6GS6.js} +486 -381
  4. package/bundle/{chunk-COKAF5GM.js → chunk-4ZT3EIBI.js} +2 -2
  5. package/bundle/{chunk-NTOPH4WG.js → chunk-6YMGRLOQ.js} +2 -2
  6. package/bundle/{chunk-QOZSZYL7.js → chunk-CKPZGEE3.js} +3 -3
  7. package/bundle/{chunk-G2VTSEZ6.js → chunk-CZPVSLJF.js} +1 -1
  8. package/bundle/{chunk-PUDLNWHE.js → chunk-DJCG6GWZ.js} +3 -3
  9. package/bundle/{chunk-I7AME6VC.js → chunk-ERQUIEOO.js} +9 -8
  10. package/bundle/{chunk-XUMRUXOT.js → chunk-EWAAFVBK.js} +41 -20
  11. package/bundle/{chunk-LATVEETM.js → chunk-F7PEGIBA.js} +2 -2
  12. package/bundle/{chunk-KVEAHIIV.js → chunk-ICOPZSVB.js} +3 -3
  13. package/bundle/{chunk-BCYBA52D.js → chunk-IF5BAOVJ.js} +34 -16
  14. package/bundle/chunk-KILFUY3Y.js +512 -0
  15. package/bundle/{chunk-CYEIWMZJ.js → chunk-L4LBKMR6.js} +1 -1
  16. package/bundle/{chunk-4SLGT6YD.js → chunk-LTFEPQ67.js} +1 -1
  17. package/bundle/{chunk-7C6GGDK6.js → chunk-LTSFEC7U.js} +3 -3
  18. package/bundle/{chunk-7VVHSNDQ.js → chunk-MRVZNBXY.js} +1907 -716
  19. package/bundle/{chunk-COQP2M4D.js → chunk-N3MLU4IQ.js} +546 -428
  20. package/bundle/{chunk-ECNYAST2.js → chunk-N6QYTC2T.js} +5417 -5376
  21. package/bundle/{chunk-DN4XSYRG.js → chunk-NDSJWRFE.js} +8640 -13347
  22. package/bundle/{chunk-DMWX7UP6.js → chunk-NG2WIKH5.js} +2170 -791
  23. package/bundle/chunk-PLEERNRJ.js +156 -0
  24. package/bundle/{chunk-ZNMQA242.js → chunk-QAQT56LH.js} +3 -3
  25. package/bundle/{chunk-WIXUKOZA.js → chunk-S36EONMM.js} +1 -1
  26. package/bundle/chunk-UB4AWMZC.js +391 -0
  27. package/bundle/{chunk-CHERUG6W.js → chunk-UBCHSKF2.js} +486 -381
  28. package/bundle/{chunk-JEW7ZIWE.js → chunk-UJ26GAE5.js} +5326 -5290
  29. package/bundle/chunk-ULCEBJMK.js +17248 -0
  30. package/bundle/chunk-UUHMEKLA.js +357199 -0
  31. package/bundle/chunk-UW3H4T6A.js +1571 -0
  32. package/bundle/{chunk-GA527JB7.js → chunk-VSTO23O2.js} +1 -1
  33. package/bundle/chunk-XKIM3BNI.js +118 -0
  34. package/bundle/chunk-YIHNW7CC.js +81649 -0
  35. package/bundle/{cleanup-3RILFNVM.js → cleanup-BMLCC7SO.js} +3 -3
  36. package/bundle/{cleanup-SVRKYBR6.js → cleanup-LMJA4J5S.js} +3 -3
  37. package/bundle/{cleanup-XFVHHDVO.js → cleanup-M7RSLDBR.js} +3 -3
  38. package/bundle/cleanup-NMUMRIEF.js +33 -0
  39. package/bundle/{core-FRVSDP2C.js → core-WXTAU5UX.js} +30 -2
  40. package/bundle/{devtoolsService-RUEO5PGP.js → devtoolsService-2L5U47ZQ.js} +3 -3
  41. package/bundle/{devtoolsService-VM2WTHBX.js → devtoolsService-6THA6GNX.js} +3 -3
  42. package/bundle/{devtoolsService-TRDGMQLJ.js → devtoolsService-J2AC6YXM.js} +5 -4
  43. package/bundle/devtoolsService-SRWIME2Q.js +857 -0
  44. package/bundle/{dist-6BN2CJPN.js → dist-DIIMIT2U.js} +30 -2
  45. package/bundle/{core-B5S6HZJT.js → dist-MXL7ZG46.js} +30 -2
  46. package/bundle/dist-POIHCQVM.js +2124 -0
  47. package/bundle/docs/changelogs/index.md +14 -0
  48. package/bundle/docs/changelogs/latest.md +108 -166
  49. package/bundle/docs/changelogs/preview.md +227 -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-GHUELHBF.js → gemini-D32FDZXN.js} +160 -60
  57. package/bundle/{gemini-QSTQ2DBG.js → gemini-DLZ2R4X7.js} +160 -60
  58. package/bundle/{gemini-NQPVX5JC.js → gemini-HYQU2RK2.js} +345 -231
  59. package/bundle/gemini-JJG7ZGWB.js +16356 -0
  60. package/bundle/gemini.js +8 -8
  61. package/bundle/{interactiveCli-AG2YWL2O.js → interactiveCli-DHMPW4RS.js} +1704 -1457
  62. package/bundle/{interactiveCli-MZFG35NB.js → interactiveCli-K7ETWJMN.js} +1986 -1721
  63. package/bundle/{interactiveCli-453M2IVE.js → interactiveCli-NR7OUF3G.js} +1703 -1457
  64. package/bundle/interactiveCli-X4AUP7T7.js +34752 -0
  65. package/bundle/{liteRtServerManager-G4Q7OVBX.js → liteRtServerManager-L7C3D5RL.js} +5 -5
  66. package/bundle/{liteRtServerManager-S7WL25VD.js → liteRtServerManager-PKRLUK2P.js} +5 -5
  67. package/bundle/{liteRtServerManager-BXQ6VVWP.js → liteRtServerManager-TEBDIGEN.js} +5 -5
  68. package/bundle/liteRtServerManager-UPCAT7Z2.js +66 -0
  69. package/bundle/{memoryDiscovery-KSYZVCWF.js → memoryDiscovery-LLSKN6HL.js} +1 -1
  70. package/bundle/{memoryDiscovery-FB7MMKTA.js → memoryDiscovery-SJ7P6RCN.js} +1 -1
  71. package/bundle/node_modules/@google/gemini-cli-devtools/package.json +1 -1
  72. package/bundle/{oauth2-provider-H7G6RSFW.js → oauth2-provider-52IJKUJI.js} +2 -2
  73. package/bundle/{oauth2-provider-VR4DL6AL.js → oauth2-provider-OPOTTZ5C.js} +2 -2
  74. package/bundle/{oauth2-provider-5UF5WEE2.js → oauth2-provider-TOAKXOL7.js} +39 -73
  75. package/bundle/oauth2-provider-WN4YIDA4.js +237 -0
  76. package/bundle/{start-CQBSKFYB.js → start-6KIIUSAH.js} +7 -7
  77. package/bundle/{start-NIMXQJYB.js → start-7ZNSGJD6.js} +7 -7
  78. package/bundle/{start-2SKRN43X.js → start-EPIILWLN.js} +7 -7
  79. package/bundle/start-TMFPUYEL.js +19 -0
  80. package/package.json +1 -1
@@ -1,15 +1,15 @@
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-LATVEETM.js";
4
+ } from "./chunk-F7PEGIBA.js";
5
5
  import {
6
6
  RELEASE_CHANNEL_STABILITY,
7
7
  getChannelFromVersion,
8
8
  isGitRepository
9
- } from "./chunk-DN4XSYRG.js";
9
+ } from "./chunk-MRVZNBXY.js";
10
10
  import {
11
11
  debugLogger
12
- } from "./chunk-ECNYAST2.js";
12
+ } from "./chunk-UJ26GAE5.js";
13
13
 
14
14
  // packages/cli/src/utils/installationInfo.ts
15
15
  import * as fs from "node:fs";
@@ -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-MRVZNBXY.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-UJ26GAE5.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
  }
@@ -16175,6 +16184,14 @@ var LoadedSettings = class {
16175
16184
  get merged() {
16176
16185
  return this._merged;
16177
16186
  }
16187
+ /**
16188
+ * Returns a merged settings object as if the folder were trusted.
16189
+ * This is useful for commands like 'mcp list' that want to show
16190
+ * what's configured even if it's currently disabled for security reasons.
16191
+ */
16192
+ getMergedSettingsAsIfTrusted() {
16193
+ return this.computeMergedSettings(true);
16194
+ }
16178
16195
  setTrusted(isTrusted) {
16179
16196
  if (this.isTrusted === isTrusted) {
16180
16197
  return;
@@ -16191,13 +16208,15 @@ var LoadedSettings = class {
16191
16208
  originalSettings: {}
16192
16209
  };
16193
16210
  }
16194
- computeMergedSettings() {
16211
+ computeMergedSettings(forceTrusted = false) {
16212
+ const isTrusted = forceTrusted || this.isTrusted;
16213
+ const workspace = forceTrusted ? this._workspaceFile : this.workspace;
16195
16214
  const merged = mergeSettings(
16196
16215
  this.system.settings,
16197
16216
  this.systemDefaults.settings,
16198
16217
  this.user.settings,
16199
- this.workspace.settings,
16200
- this.isTrusted
16218
+ workspace.settings,
16219
+ isTrusted
16201
16220
  );
16202
16221
  const adminSettingSchema = getSettingsSchema().admin;
16203
16222
  if (adminSettingSchema?.properties) {
@@ -16213,8 +16232,7 @@ var LoadedSettings = class {
16213
16232
  }
16214
16233
  computeSnapshot() {
16215
16234
  const cloneSettingsFile = (file) => ({
16216
- path: file.path,
16217
- rawJson: file.rawJson,
16235
+ ...file,
16218
16236
  settings: structuredClone(file.settings),
16219
16237
  originalSettings: structuredClone(file.originalSettings)
16220
16238
  });