@google/gemini-cli 0.67.0-nightly.20261104.g89e9d25d6 → 0.67.0

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 (74) hide show
  1. package/README.md +24 -18
  2. package/bundle/{chunk-TAYMSEDM.js → chunk-2E3ETS5J.js} +2 -2
  3. package/bundle/{chunk-2VRD7O3N.js → chunk-4JH2G4F4.js} +3 -3
  4. package/bundle/{chunk-AT7K3IZG.js → chunk-56IGTM4O.js} +1 -1
  5. package/bundle/{chunk-B2FKXXUH.js → chunk-5RNHNFYV.js} +106 -327
  6. package/bundle/{chunk-R7UEKGMB.js → chunk-7LX6MRZ6.js} +1 -1
  7. package/bundle/{chunk-HU3K5KGK.js → chunk-BW65QRZA.js} +11 -9
  8. package/bundle/{chunk-5WHCLVFH.js → chunk-CJFBYU4J.js} +157 -391
  9. package/bundle/{chunk-NMKJ47HQ.js → chunk-GBUWHRK6.js} +3 -3
  10. package/bundle/{chunk-VBHMFLBY.js → chunk-IDJ4QXBF.js} +1 -1
  11. package/bundle/{chunk-JMHCFAD6.js → chunk-IGE3G3WZ.js} +1 -1
  12. package/bundle/{chunk-RCF66HCI.js → chunk-LAR4JEC7.js} +1008 -1627
  13. package/bundle/{chunk-CXMHAFLN.js → chunk-M73CYIV5.js} +2 -2
  14. package/bundle/{chunk-TB5I5645.js → chunk-MQNW2IRI.js} +2 -2
  15. package/bundle/{chunk-DKKEYKSG.js → chunk-NGQU3QTQ.js} +996 -1558
  16. package/bundle/{chunk-VLYI5NP4.js → chunk-O7MGOE2I.js} +16023 -9466
  17. package/bundle/{chunk-RD2EMHV2.js → chunk-OJ62HCXG.js} +1 -1
  18. package/bundle/{chunk-HRM7UWGB.js → chunk-P62CI7AR.js} +11 -9
  19. package/bundle/{chunk-H3WGFU7D.js → chunk-PUNFASKY.js} +1 -1
  20. package/bundle/{chunk-L77QEOSK.js → chunk-QA5FT4VY.js} +3 -3
  21. package/bundle/{chunk-WY3X2UP2.js → chunk-QTXJG3I3.js} +8 -9
  22. package/bundle/{chunk-XBEZPOEF.js → chunk-VK766A3F.js} +1 -1
  23. package/bundle/{chunk-3DAQUNXR.js → chunk-VO6PFWLY.js} +15 -15
  24. package/bundle/{chunk-ILNZCTNC.js → chunk-XETHQLRU.js} +106 -327
  25. package/bundle/{chunk-7SSKD5HN.js → chunk-YUO7RUF4.js} +1 -1
  26. package/bundle/{cleanup-3ALSKRBJ.js → cleanup-B6AOSVD4.js} +2 -2
  27. package/bundle/{cleanup-6DVNSRQY.js → cleanup-BRFB47DL.js} +2 -2
  28. package/bundle/{cleanup-HRNPECKR.js → cleanup-S5QFYCEP.js} +2 -2
  29. package/bundle/{core-NQRKBS47.js → core-GTUUQBGE.js} +1 -3
  30. package/bundle/{dist-QYTQZ6QW.js → core-N27LU4DK.js} +1 -3
  31. package/bundle/{devtoolsService-EWNQDTC7.js → devtoolsService-6V46WMXX.js} +2 -2
  32. package/bundle/{devtoolsService-64TPRUWQ.js → devtoolsService-E74ZMDMM.js} +2 -2
  33. package/bundle/{devtoolsService-E6I4WSAL.js → devtoolsService-EFJXZRFD.js} +3 -4
  34. package/bundle/{dist-L5NYU7FF.js → dist-E6RCLXQU.js} +1 -3
  35. package/bundle/docs/changelogs/index.md +0 -24
  36. package/bundle/docs/changelogs/latest.md +90 -83
  37. package/bundle/docs/changelogs/preview.md +87 -89
  38. package/bundle/docs/cli/sandbox.md +2 -8
  39. package/bundle/docs/cli/themes.md +3 -6
  40. package/bundle/docs/extensions/releasing.md +0 -32
  41. package/bundle/docs/reference/configuration.md +10 -2
  42. package/bundle/{gemini-YFCTZ76S.js → gemini-4JPKPLQN.js} +24 -122
  43. package/bundle/{gemini-QAVNR7N4.js → gemini-QWDTSJTS.js} +209 -323
  44. package/bundle/{gemini-7USJ6MGR.js → gemini-VF5FS3OM.js} +24 -122
  45. package/bundle/gemini.js +7 -7
  46. package/bundle/{interactiveCli-X54KN2EM.js → interactiveCli-F2YYMYTP.js} +1145 -1350
  47. package/bundle/{interactiveCli-XN43CGES.js → interactiveCli-FQ3YKGOG.js} +1428 -1652
  48. package/bundle/{interactiveCli-3VTQP4GH.js → interactiveCli-QJZZISQQ.js} +1145 -1350
  49. package/bundle/{liteRtServerManager-E4PDEWY3.js → liteRtServerManager-27R2M6XE.js} +4 -4
  50. package/bundle/{liteRtServerManager-ENSSU4TN.js → liteRtServerManager-JAV3GR4V.js} +4 -4
  51. package/bundle/{liteRtServerManager-FLPMMDNM.js → liteRtServerManager-X5CCMKM6.js} +4 -4
  52. package/bundle/{oauth2-provider-3MJNDLJF.js → oauth2-provider-6UCP23AQ.js} +1 -1
  53. package/bundle/{oauth2-provider-VMBYZOC7.js → oauth2-provider-C65IJMNQ.js} +1 -1
  54. package/bundle/{oauth2-provider-ZIZQIT7D.js → oauth2-provider-H2KV36NU.js} +79 -41
  55. package/bundle/{start-B63MUWDV.js → start-E4ZL44QM.js} +6 -6
  56. package/bundle/{start-DFHM4HI4.js → start-GNOA75NQ.js} +6 -6
  57. package/bundle/{start-OHBUJSIL.js → start-K2AYYNST.js} +6 -6
  58. package/package.json +1 -1
  59. package/bundle/chunk-674DJGDU.js +0 -512
  60. package/bundle/chunk-M4REEHDQ.js +0 -185
  61. package/bundle/chunk-NOMIJA6W.js +0 -1956
  62. package/bundle/chunk-ORXIIXSA.js +0 -80453
  63. package/bundle/chunk-Q3OUSMTD.js +0 -39405
  64. package/bundle/chunk-Q76ZDILI.js +0 -118
  65. package/bundle/chunk-T6YNV33L.js +0 -1571
  66. package/bundle/chunk-YTSRA7S6.js +0 -403181
  67. package/bundle/cleanup-OQV2G5Y3.js +0 -34
  68. package/bundle/devtoolsService-PG47POWV.js +0 -4422
  69. package/bundle/dist-LJVRZOCO.js +0 -2298
  70. package/bundle/gemini-QVVNPYKF.js +0 -19271
  71. package/bundle/interactiveCli-ELN2VGHK.js +0 -35871
  72. package/bundle/liteRtServerManager-TYCQMNCE.js +0 -65
  73. package/bundle/oauth2-provider-NLSE3P5W.js +0 -273
  74. package/bundle/start-V3EP7MBL.js +0 -18
@@ -2,7 +2,7 @@ const require = (await import('node:module')).createRequire(import.meta.url); co
2
2
  import {
3
3
  startCommand,
4
4
  startServer
5
- } from "./chunk-2VRD7O3N.js";
5
+ } from "./chunk-4JH2G4F4.js";
6
6
  import {
7
7
  BuiltinCommandLoader,
8
8
  CommandService,
@@ -45,11 +45,11 @@ import {
45
45
  updateExtension,
46
46
  validateAuthMethod,
47
47
  validateContextFilePath
48
- } from "./chunk-ILNZCTNC.js";
48
+ } from "./chunk-XETHQLRU.js";
49
49
  import {
50
50
  exitCli,
51
51
  require_source
52
- } from "./chunk-AT7K3IZG.js";
52
+ } from "./chunk-56IGTM4O.js";
53
53
  import {
54
54
  appEvents
55
55
  } from "./chunk-5PS3AYFU.js";
@@ -89,12 +89,12 @@ import {
89
89
  saveModelChange,
90
90
  setAmbiguousCharactersWide,
91
91
  stripAnsi
92
- } from "./chunk-3DAQUNXR.js";
92
+ } from "./chunk-BW65QRZA.js";
93
93
  import {
94
94
  RELAUNCH_EXIT_CODE,
95
95
  require_semver
96
- } from "./chunk-TB5I5645.js";
97
- import "./chunk-WY3X2UP2.js";
96
+ } from "./chunk-2E3ETS5J.js";
97
+ import "./chunk-YUO7RUF4.js";
98
98
  import {
99
99
  cleanupCheckpoints,
100
100
  registerCleanup,
@@ -103,7 +103,7 @@ import {
103
103
  runExitCleanup,
104
104
  runSyncCleanup,
105
105
  setupSignalHandlers
106
- } from "./chunk-M4REEHDQ.js";
106
+ } from "./chunk-PUNFASKY.js";
107
107
  import {
108
108
  ASK_USER_TOOL_NAME,
109
109
  AjvJsonSchemaValidator,
@@ -289,7 +289,7 @@ import {
289
289
  updatePolicy,
290
290
  writeToStderr,
291
291
  writeToStdout
292
- } from "./chunk-VLYI5NP4.js";
292
+ } from "./chunk-NGQU3QTQ.js";
293
293
  import "./chunk-664ZODQF.js";
294
294
  import "./chunk-IUUIT4SU.js";
295
295
  import "./chunk-L6PII3GR.js";
@@ -6512,57 +6512,6 @@ async function validateExtension(args) {
6512
6512
  `Warning: Version '${extensionConfig.version}' does not appear to be standard semver (e.g., 1.0.0).`
6513
6513
  );
6514
6514
  }
6515
- if (extensionConfig.mcpServers) {
6516
- if (typeof extensionConfig.mcpServers !== "object" || extensionConfig.mcpServers === null || Array.isArray(extensionConfig.mcpServers)) {
6517
- errors.push('The "mcpServers" field must be an object.');
6518
- } else {
6519
- for (const [serverName, serverConfig] of Object.entries(
6520
- extensionConfig.mcpServers
6521
- )) {
6522
- if (typeof serverConfig !== "object" || serverConfig === null || Array.isArray(serverConfig)) {
6523
- errors.push(
6524
- `MCP server configuration for "${serverName}" must be an object.`
6525
- );
6526
- continue;
6527
- }
6528
- const hasCommand = typeof serverConfig.command === "string" && serverConfig.command.trim().length > 0;
6529
- const hasUrl = typeof serverConfig.url === "string" && serverConfig.url.trim().length > 0;
6530
- const hasHttpUrl = typeof serverConfig.httpUrl === "string" && serverConfig.httpUrl.trim().length > 0;
6531
- const hasTcp = typeof serverConfig.tcp === "string" && serverConfig.tcp.trim().length > 0 || typeof serverConfig.tcp === "number";
6532
- if (!hasCommand && !hasUrl && !hasHttpUrl && !hasTcp) {
6533
- errors.push(
6534
- `MCP server "${serverName}" must specify a transport (e.g., "command", "url", or "httpUrl").`
6535
- );
6536
- }
6537
- if (hasHttpUrl) {
6538
- warnings.push(
6539
- `MCP server "${serverName}" uses deprecated "httpUrl". Consider using "url" with "type": "http" instead.`
6540
- );
6541
- }
6542
- const errorPrefix = `MCP server "${serverName}" specifies an invalid `;
6543
- if (hasUrl && serverConfig.url) {
6544
- const hasPlaceholder = serverConfig.url.includes("$");
6545
- if (!hasPlaceholder) {
6546
- try {
6547
- new URL(serverConfig.url);
6548
- } catch {
6549
- errors.push(`${errorPrefix}URL: "${serverConfig.url}".`);
6550
- }
6551
- }
6552
- }
6553
- if (hasHttpUrl && serverConfig.httpUrl) {
6554
- const hasPlaceholder = serverConfig.httpUrl.includes("$");
6555
- if (!hasPlaceholder) {
6556
- try {
6557
- new URL(serverConfig.httpUrl);
6558
- } catch {
6559
- errors.push(`${errorPrefix}httpUrl: "${serverConfig.httpUrl}".`);
6560
- }
6561
- }
6562
- }
6563
- }
6564
- }
6565
- }
6566
6515
  if (warnings.length > 0) {
6567
6516
  debugLogger.warn("Validation warnings:");
6568
6517
  for (const warning of warnings) {
@@ -7007,10 +6956,8 @@ var EVENT_MAPPING = {
7007
6956
  PostToolUse: "AfterTool",
7008
6957
  UserPromptSubmit: "BeforeAgent",
7009
6958
  Stop: "AfterAgent",
7010
- SubagentStop: "AfterAgent",
7011
- // Gemini doesn't have sub-agents, map to AfterAgent
7012
6959
  SubAgentStop: "AfterAgent",
7013
- // Fallback for alternate casing
6960
+ // Gemini doesn't have sub-agents, map to AfterAgent
7014
6961
  SessionStart: "SessionStart",
7015
6962
  SessionEnd: "SessionEnd",
7016
6963
  PreCompact: "PreCompress",
@@ -7098,10 +7045,7 @@ function migrateClaudeHooks(claudeConfig) {
7098
7045
  }
7099
7046
  return migratedDef;
7100
7047
  });
7101
- geminiHooks[geminiEventName] = [
7102
- ...geminiHooks[geminiEventName] || [],
7103
- ...migratedDefinitions
7104
- ];
7048
+ geminiHooks[geminiEventName] = migratedDefinitions;
7105
7049
  }
7106
7050
  return geminiHooks;
7107
7051
  }
@@ -8380,7 +8324,7 @@ async function loadSandboxConfig(settings, argv) {
8380
8324
  }
8381
8325
  const command2 = getSandboxCommand(sandboxValue);
8382
8326
  const packageJson = await getPackageJson(__dirname3);
8383
- const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.67.0-nightly.20261020.gb041de017" ?? customImage ?? packageJson?.config?.sandboxImageUri;
8327
+ const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.67.0" ?? customImage ?? packageJson?.config?.sandboxImageUri;
8384
8328
  const isNative = command2 === "windows-native" || command2 === "sandbox-exec" || command2 === "lxc";
8385
8329
  return command2 && (image || isNative) ? { enabled: true, allowedPaths, networkAccess, command: command2, image } : void 0;
8386
8330
  }
@@ -11448,45 +11392,6 @@ function isRecord3(value) {
11448
11392
  }
11449
11393
  var execAsync = promisify(exec);
11450
11394
  var execFileAsync = promisify(execFile);
11451
- var PODMAN_INFO_TIMEOUT_MS = 5e3;
11452
- async function isPodmanRootless() {
11453
- const formats = [
11454
- "{{.Host.Security.Rootless}}",
11455
- "{{.Host.ServiceIsRootless}}"
11456
- ];
11457
- for (const format3 of formats) {
11458
- try {
11459
- const { stdout } = await execFileAsync(
11460
- "podman",
11461
- ["info", "--format", format3],
11462
- {
11463
- encoding: "utf-8",
11464
- timeout: PODMAN_INFO_TIMEOUT_MS,
11465
- killSignal: "SIGKILL"
11466
- }
11467
- );
11468
- const trimmed = String(stdout ?? "").trim().toLowerCase();
11469
- if (trimmed === "true") {
11470
- return true;
11471
- }
11472
- if (trimmed === "false") {
11473
- return false;
11474
- }
11475
- } catch (err) {
11476
- const isMissingBinary = isNodeError(err) && err.code === "ENOENT";
11477
- const timedOut = isRecord3(err) && err["killed"] === true;
11478
- if (isMissingBinary || timedOut) {
11479
- break;
11480
- }
11481
- }
11482
- }
11483
- return false;
11484
- }
11485
- function hasUsernsFlag(flags) {
11486
- return flags.some(
11487
- (flag) => flag === "--userns" || flag.startsWith("--userns=")
11488
- );
11489
- }
11490
11395
  async function start_sandbox(config, nodeArgs = [], cliConfig, cliArgs = []) {
11491
11396
  const patcher = new ConsolePatcher({
11492
11397
  debugMode: cliConfig?.getDebugMode() || !!process.env["DEBUG"],
@@ -11825,10 +11730,12 @@ async function start_sandbox(config, nodeArgs = [], cliConfig, cliArgs = []) {
11825
11730
  if (config.command === "runsc") {
11826
11731
  args.push("--runtime=runsc");
11827
11732
  }
11828
- const customFlags = process.env["SANDBOX_FLAGS"] ? (0, import_shell_quote2.parse)(process.env["SANDBOX_FLAGS"], process.env).filter(
11829
- (f) => typeof f === "string"
11830
- ) : [];
11831
- args.push(...customFlags);
11733
+ if (process.env["SANDBOX_FLAGS"]) {
11734
+ const flags = (0, import_shell_quote2.parse)(process.env["SANDBOX_FLAGS"], process.env).filter(
11735
+ (f) => typeof f === "string"
11736
+ );
11737
+ args.push(...flags);
11738
+ }
11832
11739
  if (process.stdin.isTTY) {
11833
11740
  args.push("-t");
11834
11741
  }
@@ -12141,9 +12048,6 @@ async function start_sandbox(config, nodeArgs = [], cliConfig, cliArgs = []) {
12141
12048
  userFlag = "--user root";
12142
12049
  } else if (await shouldUseCurrentUserInSandbox()) {
12143
12050
  args.push("--user", "root");
12144
- if (command2 === "podman" && !hasUsernsFlag(customFlags) && await isPodmanRootless()) {
12145
- args.push("--userns=keep-id");
12146
- }
12147
12051
  const uid = (await execAsync("id -u")).stdout.trim();
12148
12052
  const gid = (await execAsync("id -g")).stdout.trim();
12149
12053
  const username = "gemini";
@@ -13048,7 +12952,7 @@ async function runNonInteractive({
13048
12952
  }
13049
12953
  });
13050
12954
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
13051
- const { setupInitialActivityLogger } = await import("./devtoolsService-PG47POWV.js");
12955
+ const { setupInitialActivityLogger } = await import("./devtoolsService-E74ZMDMM.js");
13052
12956
  setupInitialActivityLogger(config);
13053
12957
  }
13054
12958
  const { stdout: workingStdout } = createWorkingStdio();
@@ -13576,7 +13480,7 @@ async function runNonInteractive2(params) {
13576
13480
  }
13577
13481
  });
13578
13482
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
13579
- const { setupInitialActivityLogger } = await import("./devtoolsService-PG47POWV.js");
13483
+ const { setupInitialActivityLogger } = await import("./devtoolsService-E74ZMDMM.js");
13580
13484
  setupInitialActivityLogger(config);
13581
13485
  }
13582
13486
  const { stdout: workingStdout } = createWorkingStdio();
@@ -17826,11 +17730,9 @@ var AcpSessionManager = class {
17826
17730
  currentModelId
17827
17731
  }
17828
17732
  };
17829
- try {
17830
- await session.streamHistory(messages);
17831
- } catch (err) {
17733
+ session.streamHistory(messages).catch((err) => {
17832
17734
  debugLogger.error(`Error streaming history: ${err}`);
17833
- }
17735
+ });
17834
17736
  setTimeout(() => {
17835
17737
  session?.sendAvailableCommands().catch((err) => {
17836
17738
  debugLogger.error(`Error sending available commands: ${err}`);
@@ -18739,7 +18641,7 @@ async function resolveSessionId(resumeArg, sessionIdArg, sessionFileArg) {
18739
18641
  }
18740
18642
  }
18741
18643
  async function startInteractiveUI(config, settings, startupWarnings, workspaceRoot = process.cwd(), resumedSessionData, initializationResult) {
18742
- const { startInteractiveUI: doStartUI } = await import("./interactiveCli-3VTQP4GH.js");
18644
+ const { startInteractiveUI: doStartUI } = await import("./interactiveCli-QJZZISQQ.js");
18743
18645
  await doStartUI(
18744
18646
  config,
18745
18647
  settings,
@@ -18964,7 +18866,7 @@ ${finalArgs[promptIndex + 1]}`;
18964
18866
  await config.storage.initialize();
18965
18867
  adminControlsListner.setConfig(config);
18966
18868
  if (config.isInteractive() && settings.merged.general.devtools) {
18967
- const { setupInitialActivityLogger } = await import("./devtoolsService-PG47POWV.js");
18869
+ const { setupInitialActivityLogger } = await import("./devtoolsService-E74ZMDMM.js");
18968
18870
  setupInitialActivityLogger(config);
18969
18871
  }
18970
18872
  registerTelemetryConfig(config);
@@ -19023,7 +18925,7 @@ ${finalArgs[promptIndex + 1]}`;
19023
18925
  const initAppHandle = startupProfiler.start("initialize_app");
19024
18926
  const initializationResult = await initializeApp(config, settings);
19025
18927
  initAppHandle?.end();
19026
- import("./liteRtServerManager-ENSSU4TN.js").then(({ LiteRtServerManager }) => {
18928
+ import("./liteRtServerManager-X5CCMKM6.js").then(({ LiteRtServerManager }) => {
19027
18929
  const mergedGemma = settings.merged.experimental?.gemmaModelRouter;
19028
18930
  if (!mergedGemma) return;
19029
18931
  const userGemma = settings.forScope("User" /* User */).settings.experimental?.gemmaModelRouter;
package/bundle/gemini.js CHANGED
@@ -6,10 +6,10 @@ import {
6
6
  getSpawnConfig,
7
7
  handleChildProcessClose,
8
8
  setupSignalForwarding
9
- } from "./chunk-NOMIJA6W.js";
10
- import "./chunk-674DJGDU.js";
11
- import "./chunk-H3WGFU7D.js";
12
- import "./chunk-YTSRA7S6.js";
9
+ } from "./chunk-2E3ETS5J.js";
10
+ import "./chunk-YUO7RUF4.js";
11
+ import "./chunk-PUNFASKY.js";
12
+ import "./chunk-NGQU3QTQ.js";
13
13
  import "./chunk-664ZODQF.js";
14
14
  import "./chunk-IUUIT4SU.js";
15
15
  import "./chunk-L6PII3GR.js";
@@ -106,9 +106,9 @@ ${error instanceof Error ? error.stack ?? error.message : String(error)}
106
106
  }
107
107
  }
108
108
  } else {
109
- const { main } = await import("./gemini-QVVNPYKF.js");
110
- const { FatalError, writeToStderr } = await import("./dist-QYTQZ6QW.js");
111
- const { runExitCleanup } = await import("./cleanup-6DVNSRQY.js");
109
+ const { main } = await import("./gemini-VF5FS3OM.js");
110
+ const { FatalError, writeToStderr } = await import("./dist-E6RCLXQU.js");
111
+ const { runExitCleanup } = await import("./cleanup-B6AOSVD4.js");
112
112
  main().catch(async (error) => {
113
113
  const cleanupTimeout = setTimeout(() => {
114
114
  writeToStderr("Cleanup timed out, forcing exit...\n");