@google/gemini-cli 0.56.0 → 0.57.0-preview.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 (55) hide show
  1. package/bundle/builtin/antigravity-support/SKILL.md +55 -18
  2. package/bundle/builtin/skill-creator/SKILL.md +221 -84
  3. package/bundle/{chunk-DGFXNTHD.js → chunk-2UGGPOEV.js} +1 -1
  4. package/bundle/{chunk-LZUWGCRJ.js → chunk-2UICYJMD.js} +1604 -1334
  5. package/bundle/{chunk-R34LMPUE.js → chunk-3C6JYNPC.js} +10 -9
  6. package/bundle/{chunk-Y3KSGWY2.js → chunk-6S4UF4JM.js} +3 -3
  7. package/bundle/{chunk-CNSLGANE.js → chunk-73OHVDUZ.js} +10 -9
  8. package/bundle/{chunk-3KYPKZPU.js → chunk-ACDZS2RE.js} +1 -1
  9. package/bundle/{chunk-BIPFNROE.js → chunk-EBKNEOAO.js} +1 -1
  10. package/bundle/{chunk-MYCBWRZE.js → chunk-FWGOOSQK.js} +1660 -1360
  11. package/bundle/{chunk-ZXYNNAXR.js → chunk-H2URGA7U.js} +3 -3
  12. package/bundle/{chunk-7IXYIWSX.js → chunk-HKTHSWSS.js} +10 -9
  13. package/bundle/{chunk-C5FHWCAU.js → chunk-IKGOC5B6.js} +1 -1
  14. package/bundle/{chunk-3YGHKCB7.js → chunk-M6E5CLIH.js} +1 -1
  15. package/bundle/{chunk-ISEPPPFO.js → chunk-NXS624CI.js} +2 -2
  16. package/bundle/{chunk-TV27OEQP.js → chunk-O3QB4SVS.js} +2 -2
  17. package/bundle/{chunk-HAZMOWRC.js → chunk-OFFEM74O.js} +1 -1
  18. package/bundle/{chunk-JFVPVDW6.js → chunk-QB46S6FV.js} +1 -1
  19. package/bundle/{chunk-IG5K7R25.js → chunk-QVDXZMEX.js} +1 -1
  20. package/bundle/{chunk-NUVMJEWM.js → chunk-R3JDAZVL.js} +1660 -1360
  21. package/bundle/{chunk-VBIDFL63.js → chunk-SHIJDXMN.js} +1 -1
  22. package/bundle/{chunk-M6D6BI7B.js → chunk-W4CY7TCG.js} +2 -2
  23. package/bundle/{chunk-KUIZDCN6.js → chunk-WH63Z45A.js} +1 -1
  24. package/bundle/{chunk-MKKOABMJ.js → chunk-XDJMDRLM.js} +3 -3
  25. package/bundle/{chunk-Y734TK7O.js → chunk-XZF4EZOQ.js} +1 -1
  26. package/bundle/{chunk-435NYDJB.js → chunk-ZY7Z5W6K.js} +1 -1
  27. package/bundle/{cleanup-IZHI7N6V.js → cleanup-JP2FD3CQ.js} +2 -2
  28. package/bundle/{cleanup-JZLQPF2L.js → cleanup-YFIFTNZ6.js} +2 -2
  29. package/bundle/{cleanup-LJAAR5DT.js → cleanup-Z65H2CUW.js} +2 -2
  30. package/bundle/{core-TJ2XBV6Y.js → core-EKXLT2AG.js} +3 -1
  31. package/bundle/{dist-7KO3HJ4C.js → core-UBOS4Q6R.js} +3 -1
  32. package/bundle/{devtoolsService-KFURCXJN.js → devtoolsService-A34WT2MQ.js} +2 -2
  33. package/bundle/{devtoolsService-BFW3BN3D.js → devtoolsService-ACKZ7HRR.js} +2 -2
  34. package/bundle/{devtoolsService-NWA77XKC.js → devtoolsService-BHG3WQEY.js} +2 -2
  35. package/bundle/{core-BQJQAXVF.js → dist-B7OLK6PK.js} +3 -1
  36. package/bundle/docs/changelogs/latest.md +224 -3
  37. package/bundle/docs/get-started/authentication.mdx +1 -1
  38. package/bundle/docs/reference/commands.md +7 -5
  39. package/bundle/{gemini-54R2PJOR.js → gemini-3U3DNSSI.js} +19 -16
  40. package/bundle/{gemini-KK7AERSF.js → gemini-7Z3ODIIX.js} +19 -16
  41. package/bundle/{gemini-2RHAL2LS.js → gemini-NJXFBFVJ.js} +19 -16
  42. package/bundle/gemini.js +7 -7
  43. package/bundle/{interactiveCli-F5YXG24U.js → interactiveCli-DNV4GCM5.js} +28 -20
  44. package/bundle/{interactiveCli-QBZRIN4M.js → interactiveCli-FIWFPOOG.js} +28 -20
  45. package/bundle/{interactiveCli-BAGEJ4VO.js → interactiveCli-LMXAWUCU.js} +28 -20
  46. package/bundle/{liteRtServerManager-CYBHL4LH.js → liteRtServerManager-LQMOE7JK.js} +4 -4
  47. package/bundle/{liteRtServerManager-DMTHAOJH.js → liteRtServerManager-P62A6ZVG.js} +4 -4
  48. package/bundle/{liteRtServerManager-7LTDMYKI.js → liteRtServerManager-VBKDVKLU.js} +4 -4
  49. package/bundle/{oauth2-provider-S2564L6K.js → oauth2-provider-BKNKX6FS.js} +1 -1
  50. package/bundle/{oauth2-provider-NOSS4GIR.js → oauth2-provider-FWKP5A4D.js} +1 -1
  51. package/bundle/{oauth2-provider-HNMIIJDH.js → oauth2-provider-UPRM4Y2J.js} +1 -1
  52. package/bundle/{start-L2WLGVI3.js → start-BMBCT2CF.js} +6 -6
  53. package/bundle/{start-UGLCJG5Y.js → start-DG3DHS3K.js} +6 -6
  54. package/bundle/{start-5F3JQ7EX.js → start-Y2JKSYXK.js} +6 -6
  55. package/package.json +1 -1
@@ -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-Y3KSGWY2.js";
5
+ } from "./chunk-XDJMDRLM.js";
6
6
  import {
7
7
  BuiltinCommandLoader,
8
8
  CommandService,
@@ -45,11 +45,11 @@ import {
45
45
  updateAllUpdatableExtensions,
46
46
  updateExtension,
47
47
  validateAuthMethod
48
- } from "./chunk-CNSLGANE.js";
48
+ } from "./chunk-73OHVDUZ.js";
49
49
  import {
50
50
  exitCli,
51
51
  require_source
52
- } from "./chunk-3KYPKZPU.js";
52
+ } from "./chunk-XZF4EZOQ.js";
53
53
  import {
54
54
  appEvents
55
55
  } from "./chunk-5PS3AYFU.js";
@@ -87,11 +87,11 @@ import {
87
87
  resolveGemmaConfig,
88
88
  saveModelChange,
89
89
  stripAnsi
90
- } from "./chunk-IG5K7R25.js";
90
+ } from "./chunk-QVDXZMEX.js";
91
91
  import {
92
92
  RELAUNCH_EXIT_CODE
93
- } from "./chunk-M6D6BI7B.js";
94
- import "./chunk-VBIDFL63.js";
93
+ } from "./chunk-O3QB4SVS.js";
94
+ import "./chunk-SHIJDXMN.js";
95
95
  import {
96
96
  cleanupCheckpoints,
97
97
  registerCleanup,
@@ -100,7 +100,7 @@ import {
100
100
  runExitCleanup,
101
101
  runSyncCleanup,
102
102
  setupSignalHandlers
103
- } from "./chunk-HAZMOWRC.js";
103
+ } from "./chunk-M6E5CLIH.js";
104
104
  import {
105
105
  ASK_USER_TOOL_NAME,
106
106
  ApprovalMode,
@@ -212,6 +212,7 @@ import {
212
212
  getProjectRootForWorktree,
213
213
  getPty,
214
214
  getRealPath,
215
+ getSafeGitEnv,
215
216
  getToolCallDataSchema,
216
217
  getVersion,
217
218
  homedir,
@@ -253,7 +254,7 @@ import {
253
254
  updatePolicy,
254
255
  writeToStderr,
255
256
  writeToStdout
256
- } from "./chunk-LZUWGCRJ.js";
257
+ } from "./chunk-2UICYJMD.js";
257
258
  import "./chunk-664ZODQF.js";
258
259
  import "./chunk-IUUIT4SU.js";
259
260
  import "./chunk-TUDYL3X4.js";
@@ -7847,7 +7848,7 @@ async function loadSandboxConfig(settings, argv) {
7847
7848
  }
7848
7849
  const command2 = getSandboxCommand(sandboxValue);
7849
7850
  const packageJson = await getPackageJson(__dirname3);
7850
- const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.56.0" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7851
+ const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.57.0-preview.0" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7851
7852
  const isNative = command2 === "windows-native" || command2 === "sandbox-exec" || command2 === "lxc";
7852
7853
  return command2 && (image || isNative) ? { enabled: true, allowedPaths, networkAccess, command: command2, image } : void 0;
7853
7854
  }
@@ -8671,7 +8672,8 @@ async function resolveWorktreeSettings(cwd) {
8671
8672
  let worktreePath;
8672
8673
  try {
8673
8674
  const { stdout } = await execa("git", ["rev-parse", "--show-toplevel"], {
8674
- cwd
8675
+ cwd,
8676
+ env: getSafeGitEnv()
8675
8677
  });
8676
8678
  const toplevel = stdout.trim();
8677
8679
  const projectRoot = await getProjectRootForWorktree(toplevel);
@@ -8687,7 +8689,8 @@ async function resolveWorktreeSettings(cwd) {
8687
8689
  let worktreeBaseSha;
8688
8690
  try {
8689
8691
  const { stdout } = await execa("git", ["rev-parse", "HEAD"], {
8690
- cwd: worktreePath
8692
+ cwd: worktreePath,
8693
+ env: getSafeGitEnv()
8691
8694
  });
8692
8695
  worktreeBaseSha = stdout.trim();
8693
8696
  } catch (e) {
@@ -10852,7 +10855,7 @@ async function runNonInteractive({
10852
10855
  }
10853
10856
  });
10854
10857
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
10855
- const { setupInitialActivityLogger } = await import("./devtoolsService-BFW3BN3D.js");
10858
+ const { setupInitialActivityLogger } = await import("./devtoolsService-ACKZ7HRR.js");
10856
10859
  setupInitialActivityLogger(config);
10857
10860
  }
10858
10861
  const { stdout: workingStdout } = createWorkingStdio();
@@ -11362,7 +11365,7 @@ async function runNonInteractive2(params) {
11362
11365
  }
11363
11366
  });
11364
11367
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
11365
- const { setupInitialActivityLogger } = await import("./devtoolsService-BFW3BN3D.js");
11368
+ const { setupInitialActivityLogger } = await import("./devtoolsService-ACKZ7HRR.js");
11366
11369
  setupInitialActivityLogger(config);
11367
11370
  }
11368
11371
  const { stdout: workingStdout } = createWorkingStdio();
@@ -16572,7 +16575,7 @@ async function resolveSessionId(resumeArg, sessionIdArg, sessionFileArg) {
16572
16575
  }
16573
16576
  }
16574
16577
  async function startInteractiveUI(config, settings, startupWarnings, workspaceRoot = process.cwd(), resumedSessionData, initializationResult) {
16575
- const { startInteractiveUI: doStartUI } = await import("./interactiveCli-QBZRIN4M.js");
16578
+ const { startInteractiveUI: doStartUI } = await import("./interactiveCli-FIWFPOOG.js");
16576
16579
  await doStartUI(
16577
16580
  config,
16578
16581
  settings,
@@ -16781,7 +16784,7 @@ ${finalArgs[promptIndex + 1]}`;
16781
16784
  await config.storage.initialize();
16782
16785
  adminControlsListner.setConfig(config);
16783
16786
  if (config.isInteractive() && settings.merged.general.devtools) {
16784
- const { setupInitialActivityLogger } = await import("./devtoolsService-BFW3BN3D.js");
16787
+ const { setupInitialActivityLogger } = await import("./devtoolsService-ACKZ7HRR.js");
16785
16788
  setupInitialActivityLogger(config);
16786
16789
  }
16787
16790
  registerTelemetryConfig(config);
@@ -16840,7 +16843,7 @@ ${finalArgs[promptIndex + 1]}`;
16840
16843
  const initAppHandle = startupProfiler.start("initialize_app");
16841
16844
  const initializationResult = await initializeApp(config, settings);
16842
16845
  initAppHandle?.end();
16843
- import("./liteRtServerManager-7LTDMYKI.js").then(({ LiteRtServerManager }) => {
16846
+ import("./liteRtServerManager-P62A6ZVG.js").then(({ LiteRtServerManager }) => {
16844
16847
  const mergedGemma = settings.merged.experimental?.gemmaModelRouter;
16845
16848
  if (!mergedGemma) return;
16846
16849
  const userGemma = settings.forScope("User" /* User */).settings.experimental?.gemmaModelRouter;
@@ -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-MKKOABMJ.js";
5
+ } from "./chunk-H2URGA7U.js";
6
6
  import {
7
7
  BuiltinCommandLoader,
8
8
  CommandService,
@@ -45,11 +45,11 @@ import {
45
45
  updateAllUpdatableExtensions,
46
46
  updateExtension,
47
47
  validateAuthMethod
48
- } from "./chunk-R34LMPUE.js";
48
+ } from "./chunk-HKTHSWSS.js";
49
49
  import {
50
50
  exitCli,
51
51
  require_source
52
- } from "./chunk-BIPFNROE.js";
52
+ } from "./chunk-ACDZS2RE.js";
53
53
  import {
54
54
  appEvents
55
55
  } from "./chunk-5PS3AYFU.js";
@@ -87,11 +87,11 @@ import {
87
87
  resolveGemmaConfig,
88
88
  saveModelChange,
89
89
  stripAnsi
90
- } from "./chunk-C5FHWCAU.js";
90
+ } from "./chunk-WH63Z45A.js";
91
91
  import {
92
92
  RELAUNCH_EXIT_CODE
93
- } from "./chunk-TV27OEQP.js";
94
- import "./chunk-435NYDJB.js";
93
+ } from "./chunk-W4CY7TCG.js";
94
+ import "./chunk-QB46S6FV.js";
95
95
  import {
96
96
  cleanupCheckpoints,
97
97
  registerCleanup,
@@ -100,7 +100,7 @@ import {
100
100
  runExitCleanup,
101
101
  runSyncCleanup,
102
102
  setupSignalHandlers
103
- } from "./chunk-DGFXNTHD.js";
103
+ } from "./chunk-2UGGPOEV.js";
104
104
  import {
105
105
  ASK_USER_TOOL_NAME,
106
106
  AuthType,
@@ -196,6 +196,7 @@ import {
196
196
  getProjectRootForWorktree,
197
197
  getPty,
198
198
  getRealPath,
199
+ getSafeGitEnv,
199
200
  getToolCallDataSchema,
200
201
  getVersion,
201
202
  homedir,
@@ -237,7 +238,7 @@ import {
237
238
  updatePolicy,
238
239
  writeToStderr,
239
240
  writeToStdout
240
- } from "./chunk-NUVMJEWM.js";
241
+ } from "./chunk-R3JDAZVL.js";
241
242
  import "./chunk-664ZODQF.js";
242
243
  import "./chunk-IUUIT4SU.js";
243
244
  import "./chunk-TUDYL3X4.js";
@@ -7831,7 +7832,7 @@ async function loadSandboxConfig(settings, argv) {
7831
7832
  }
7832
7833
  const command2 = getSandboxCommand(sandboxValue);
7833
7834
  const packageJson = await getPackageJson(__dirname3);
7834
- const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.56.0" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7835
+ const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.56.0-nightly.20260806.g761f604c1" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7835
7836
  const isNative = command2 === "windows-native" || command2 === "sandbox-exec" || command2 === "lxc";
7836
7837
  return command2 && (image || isNative) ? { enabled: true, allowedPaths, networkAccess, command: command2, image } : void 0;
7837
7838
  }
@@ -8655,7 +8656,8 @@ async function resolveWorktreeSettings(cwd) {
8655
8656
  let worktreePath;
8656
8657
  try {
8657
8658
  const { stdout } = await execa("git", ["rev-parse", "--show-toplevel"], {
8658
- cwd
8659
+ cwd,
8660
+ env: getSafeGitEnv()
8659
8661
  });
8660
8662
  const toplevel = stdout.trim();
8661
8663
  const projectRoot = await getProjectRootForWorktree(toplevel);
@@ -8671,7 +8673,8 @@ async function resolveWorktreeSettings(cwd) {
8671
8673
  let worktreeBaseSha;
8672
8674
  try {
8673
8675
  const { stdout } = await execa("git", ["rev-parse", "HEAD"], {
8674
- cwd: worktreePath
8676
+ cwd: worktreePath,
8677
+ env: getSafeGitEnv()
8675
8678
  });
8676
8679
  worktreeBaseSha = stdout.trim();
8677
8680
  } catch (e) {
@@ -10836,7 +10839,7 @@ async function runNonInteractive({
10836
10839
  }
10837
10840
  });
10838
10841
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
10839
- const { setupInitialActivityLogger } = await import("./devtoolsService-KFURCXJN.js");
10842
+ const { setupInitialActivityLogger } = await import("./devtoolsService-A34WT2MQ.js");
10840
10843
  setupInitialActivityLogger(config);
10841
10844
  }
10842
10845
  const { stdout: workingStdout } = createWorkingStdio();
@@ -11346,7 +11349,7 @@ async function runNonInteractive2(params) {
11346
11349
  }
11347
11350
  });
11348
11351
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
11349
- const { setupInitialActivityLogger } = await import("./devtoolsService-KFURCXJN.js");
11352
+ const { setupInitialActivityLogger } = await import("./devtoolsService-A34WT2MQ.js");
11350
11353
  setupInitialActivityLogger(config);
11351
11354
  }
11352
11355
  const { stdout: workingStdout } = createWorkingStdio();
@@ -16556,7 +16559,7 @@ async function resolveSessionId(resumeArg, sessionIdArg, sessionFileArg) {
16556
16559
  }
16557
16560
  }
16558
16561
  async function startInteractiveUI(config, settings, startupWarnings, workspaceRoot = process.cwd(), resumedSessionData, initializationResult) {
16559
- const { startInteractiveUI: doStartUI } = await import("./interactiveCli-F5YXG24U.js");
16562
+ const { startInteractiveUI: doStartUI } = await import("./interactiveCli-DNV4GCM5.js");
16560
16563
  await doStartUI(
16561
16564
  config,
16562
16565
  settings,
@@ -16765,7 +16768,7 @@ ${finalArgs[promptIndex + 1]}`;
16765
16768
  await config.storage.initialize();
16766
16769
  adminControlsListner.setConfig(config);
16767
16770
  if (config.isInteractive() && settings.merged.general.devtools) {
16768
- const { setupInitialActivityLogger } = await import("./devtoolsService-KFURCXJN.js");
16771
+ const { setupInitialActivityLogger } = await import("./devtoolsService-A34WT2MQ.js");
16769
16772
  setupInitialActivityLogger(config);
16770
16773
  }
16771
16774
  registerTelemetryConfig(config);
@@ -16824,7 +16827,7 @@ ${finalArgs[promptIndex + 1]}`;
16824
16827
  const initAppHandle = startupProfiler.start("initialize_app");
16825
16828
  const initializationResult = await initializeApp(config, settings);
16826
16829
  initAppHandle?.end();
16827
- import("./liteRtServerManager-DMTHAOJH.js").then(({ LiteRtServerManager }) => {
16830
+ import("./liteRtServerManager-LQMOE7JK.js").then(({ LiteRtServerManager }) => {
16828
16831
  const mergedGemma = settings.merged.experimental?.gemmaModelRouter;
16829
16832
  if (!mergedGemma) return;
16830
16833
  const userGemma = settings.forScope("User" /* User */).settings.experimental?.gemmaModelRouter;
package/bundle/gemini.js CHANGED
@@ -4,10 +4,10 @@ import {
4
4
  RELAUNCH_EXIT_CODE,
5
5
  getScriptArgs,
6
6
  getSpawnConfig
7
- } from "./chunk-M6D6BI7B.js";
8
- import "./chunk-VBIDFL63.js";
9
- import "./chunk-HAZMOWRC.js";
10
- import "./chunk-LZUWGCRJ.js";
7
+ } from "./chunk-O3QB4SVS.js";
8
+ import "./chunk-SHIJDXMN.js";
9
+ import "./chunk-M6E5CLIH.js";
10
+ import "./chunk-2UICYJMD.js";
11
11
  import "./chunk-664ZODQF.js";
12
12
  import "./chunk-IUUIT4SU.js";
13
13
  import "./chunk-TUDYL3X4.js";
@@ -115,9 +115,9 @@ ${error instanceof Error ? error.stack ?? error.message : String(error)}
115
115
  }
116
116
  }
117
117
  } else {
118
- const { main } = await import("./gemini-KK7AERSF.js");
119
- const { FatalError, writeToStderr } = await import("./dist-7KO3HJ4C.js");
120
- const { runExitCleanup } = await import("./cleanup-JZLQPF2L.js");
118
+ const { main } = await import("./gemini-7Z3ODIIX.js");
119
+ const { FatalError, writeToStderr } = await import("./dist-B7OLK6PK.js");
120
+ const { runExitCleanup } = await import("./cleanup-YFIFTNZ6.js");
121
121
  main().catch(async (error) => {
122
122
  const cleanupTimeout = setTimeout(() => {
123
123
  writeToStderr("Cleanup timed out, forcing exit...\n");
@@ -157,10 +157,10 @@ import {
157
157
  widestLineFromStyledChars,
158
158
  wordBreakStyledChars,
159
159
  wrapStyledChars
160
- } from "./chunk-R34LMPUE.js";
160
+ } from "./chunk-HKTHSWSS.js";
161
161
  import {
162
162
  require_source
163
- } from "./chunk-BIPFNROE.js";
163
+ } from "./chunk-ACDZS2RE.js";
164
164
  import {
165
165
  appEvents
166
166
  } from "./chunk-5PS3AYFU.js";
@@ -214,24 +214,24 @@ import {
214
214
  stripAnsi,
215
215
  stripUnsafeCharacters,
216
216
  toCodePoints
217
- } from "./chunk-C5FHWCAU.js";
217
+ } from "./chunk-WH63Z45A.js";
218
218
  import {
219
219
  handleAutoUpdate,
220
220
  isDevelopment,
221
221
  relaunchApp,
222
222
  setUpdateHandler
223
- } from "./chunk-TV27OEQP.js";
223
+ } from "./chunk-W4CY7TCG.js";
224
224
  import {
225
225
  isTodoList,
226
226
  mapCoreStatusToDisplayStatus,
227
227
  require_react
228
- } from "./chunk-435NYDJB.js";
228
+ } from "./chunk-QB46S6FV.js";
229
229
  import {
230
230
  registerCleanup,
231
231
  removeCleanup,
232
232
  runExitCleanup,
233
233
  setupTtyCheck
234
- } from "./chunk-DGFXNTHD.js";
234
+ } from "./chunk-2UGGPOEV.js";
235
235
  import {
236
236
  ACTIVATE_SKILL_TOOL_NAME,
237
237
  AGENT_TOOL_NAME,
@@ -418,7 +418,7 @@ import {
418
418
  validatePlanContent,
419
419
  validatePlanPath,
420
420
  writeToStdout
421
- } from "./chunk-NUVMJEWM.js";
421
+ } from "./chunk-R3JDAZVL.js";
422
422
  import "./chunk-664ZODQF.js";
423
423
  import "./chunk-IUUIT4SU.js";
424
424
  import "./chunk-TUDYL3X4.js";
@@ -15449,8 +15449,16 @@ var CloudFreePrivacyNotice = ({
15449
15449
  ] });
15450
15450
  }
15451
15451
  const items = [
15452
- { label: "Yes", value: true, key: "true" },
15453
- { label: "No", value: false, key: "false" }
15452
+ {
15453
+ label: "Yes, grant permission to use my data for product improvement (Opt-in)",
15454
+ value: true,
15455
+ key: "true"
15456
+ },
15457
+ {
15458
+ label: "No, deny permission to use my data for product improvement (Opt-out)",
15459
+ value: false,
15460
+ key: "false"
15461
+ }
15454
15462
  ];
15455
15463
  return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Box_default, { flexDirection: "column", marginY: 1, children: [
15456
15464
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Text, { bold: true, color: theme.text.accent, children: "Gemini Code Assist for Individuals Privacy Notice" }),
@@ -15465,12 +15473,15 @@ var CloudFreePrivacyNotice = ({
15465
15473
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Newline, {}),
15466
15474
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Text, { color: theme.text.primary, children: "To help with quality and improve our products (such as generative machine-learning models), human reviewers may read, annotate, and process the data collected above. We take steps to protect your privacy as part of this process. This includes disconnecting the data from your Google Account before reviewers see or annotate it, and storing those disconnected copies for up to 18 months. Please don't submit confidential information or any data you wouldn't want a reviewer to see or Google to use to improve our products, services and machine-learning technologies." }),
15467
15475
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Newline, {}),
15476
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Text, { color: theme.text.primary, children: `If you don't want this data used to improve Google's products and services, you can opt out by selecting "No, deny permission to use my data for product improvement (Opt-out)" below. Otherwise, you can opt in by selecting "Yes, grant permission to use my data for product improvement (Opt-in)".` }),
15477
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Newline, {}),
15468
15478
  /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Box_default, { flexDirection: "column", children: [
15469
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Text, { color: theme.text.primary, children: "Allow Google to use this data to develop and improve our products?" }),
15479
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Text, { color: theme.text.primary, children: "Allow Google to use this data to develop and improve our products and services?" }),
15470
15480
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
15471
15481
  RadioButtonSelect,
15472
15482
  {
15473
15483
  items,
15484
+ renderItem: (item, { titleColor }) => /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Box_default, { flexDirection: "column", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Text, { color: titleColor, wrap: "wrap", children: item.label }) }),
15474
15485
  initialIndex: privacyState.dataCollectionOptIn ? 0 : 1,
15475
15486
  onSelect: (value) => {
15476
15487
  updateDataCollectionOptIn(value);
@@ -20545,13 +20556,7 @@ function useCommandCompletion({
20545
20556
  }
20546
20557
  const lineCodePoints = toCodePoints(buffer.lines[cursorRow] || "");
20547
20558
  const charAfterCompletion = lineCodePoints[end];
20548
- let shouldAddSpace = true;
20549
- if (completionMode === "SLASH" /* SLASH */) {
20550
- const command = slashCompletionRange.getCommandFromSuggestion(suggestion);
20551
- const isExecutableCommand = !!(command && command.action);
20552
- const requiresArguments = !!(command && command.completion);
20553
- shouldAddSpace = !isExecutableCommand || requiresArguments;
20554
- }
20559
+ const shouldAddSpace = true;
20555
20560
  if (charAfterCompletion !== " " && !suggestionText.endsWith("/") && !suggestionText.endsWith("\\") && shouldAddSpace) {
20556
20561
  suggestionText += " ";
20557
20562
  }
@@ -25504,9 +25509,10 @@ function useQuotaAndFallback({
25504
25509
  ];
25505
25510
  message = messageLines.join("\n");
25506
25511
  } else if (VALID_GEMINI_MODELS.has(failedModel)) {
25512
+ const detailMessage = userTier === UserTierId.FREE ? "This model is not available for personal accounts." : "Your admin might have disabled the access. Contact them to enable the Preview Release Channel.";
25507
25513
  const messageLines = [
25508
25514
  `It seems like you don't have access to ${getDisplayString(failedModel)}.`,
25509
- `Your admin might have disabled the access. Contact them to enable the Preview Release Channel.`
25515
+ detailMessage
25510
25516
  ];
25511
25517
  message = messageLines.join("\n");
25512
25518
  } else {
@@ -32932,10 +32938,12 @@ var AppContainer = (props) => {
32932
32938
  enableMouseEvents();
32933
32939
  disableLineWrapping();
32934
32940
  app.rerender();
32941
+ } else if (config.getUseTerminalBuffer()) {
32942
+ app.rerender();
32935
32943
  }
32936
32944
  terminalCapabilityManager.enableSupportedModes();
32937
32945
  refreshStatic();
32938
- }, [refreshStatic, shouldUseAlternateScreen, app]);
32946
+ }, [refreshStatic, shouldUseAlternateScreen, app, config]);
32939
32947
  const [editorError, setEditorError] = (0, import_react121.useState)(null);
32940
32948
  const {
32941
32949
  isEditorDialogOpen,
@@ -33916,7 +33924,7 @@ ${queuedText}` : queuedText;
33916
33924
  if (keyMatchers["app.showErrorDetails" /* SHOW_ERROR_DETAILS */](key)) {
33917
33925
  if (settings.merged.general.devtools) {
33918
33926
  void (async () => {
33919
- const { toggleDevToolsPanel } = await import("./devtoolsService-KFURCXJN.js");
33927
+ const { toggleDevToolsPanel } = await import("./devtoolsService-A34WT2MQ.js");
33920
33928
  await toggleDevToolsPanel(
33921
33929
  config,
33922
33930
  showErrorDetails,
@@ -157,10 +157,10 @@ import {
157
157
  widestLineFromStyledChars,
158
158
  wordBreakStyledChars,
159
159
  wrapStyledChars
160
- } from "./chunk-CNSLGANE.js";
160
+ } from "./chunk-73OHVDUZ.js";
161
161
  import {
162
162
  require_source
163
- } from "./chunk-3KYPKZPU.js";
163
+ } from "./chunk-XZF4EZOQ.js";
164
164
  import {
165
165
  appEvents
166
166
  } from "./chunk-5PS3AYFU.js";
@@ -214,24 +214,24 @@ import {
214
214
  stripAnsi,
215
215
  stripUnsafeCharacters,
216
216
  toCodePoints
217
- } from "./chunk-IG5K7R25.js";
217
+ } from "./chunk-QVDXZMEX.js";
218
218
  import {
219
219
  handleAutoUpdate,
220
220
  isDevelopment,
221
221
  relaunchApp,
222
222
  setUpdateHandler
223
- } from "./chunk-M6D6BI7B.js";
223
+ } from "./chunk-O3QB4SVS.js";
224
224
  import {
225
225
  isTodoList,
226
226
  mapCoreStatusToDisplayStatus,
227
227
  require_react
228
- } from "./chunk-VBIDFL63.js";
228
+ } from "./chunk-SHIJDXMN.js";
229
229
  import {
230
230
  registerCleanup,
231
231
  removeCleanup,
232
232
  runExitCleanup,
233
233
  setupTtyCheck
234
- } from "./chunk-HAZMOWRC.js";
234
+ } from "./chunk-M6E5CLIH.js";
235
235
  import {
236
236
  ACTIVATE_SKILL_TOOL_NAME,
237
237
  AGENT_TOOL_NAME,
@@ -437,7 +437,7 @@ import {
437
437
  validatePlanContent,
438
438
  validatePlanPath,
439
439
  writeToStdout
440
- } from "./chunk-LZUWGCRJ.js";
440
+ } from "./chunk-2UICYJMD.js";
441
441
  import "./chunk-664ZODQF.js";
442
442
  import "./chunk-IUUIT4SU.js";
443
443
  import "./chunk-TUDYL3X4.js";
@@ -15468,8 +15468,16 @@ var CloudFreePrivacyNotice = ({
15468
15468
  ] });
15469
15469
  }
15470
15470
  const items = [
15471
- { label: "Yes", value: true, key: "true" },
15472
- { label: "No", value: false, key: "false" }
15471
+ {
15472
+ label: "Yes, grant permission to use my data for product improvement (Opt-in)",
15473
+ value: true,
15474
+ key: "true"
15475
+ },
15476
+ {
15477
+ label: "No, deny permission to use my data for product improvement (Opt-out)",
15478
+ value: false,
15479
+ key: "false"
15480
+ }
15473
15481
  ];
15474
15482
  return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Box_default, { flexDirection: "column", marginY: 1, children: [
15475
15483
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Text, { bold: true, color: theme.text.accent, children: "Gemini Code Assist for Individuals Privacy Notice" }),
@@ -15484,12 +15492,15 @@ var CloudFreePrivacyNotice = ({
15484
15492
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Newline, {}),
15485
15493
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Text, { color: theme.text.primary, children: "To help with quality and improve our products (such as generative machine-learning models), human reviewers may read, annotate, and process the data collected above. We take steps to protect your privacy as part of this process. This includes disconnecting the data from your Google Account before reviewers see or annotate it, and storing those disconnected copies for up to 18 months. Please don't submit confidential information or any data you wouldn't want a reviewer to see or Google to use to improve our products, services and machine-learning technologies." }),
15486
15494
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Newline, {}),
15495
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Text, { color: theme.text.primary, children: `If you don't want this data used to improve Google's products and services, you can opt out by selecting "No, deny permission to use my data for product improvement (Opt-out)" below. Otherwise, you can opt in by selecting "Yes, grant permission to use my data for product improvement (Opt-in)".` }),
15496
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Newline, {}),
15487
15497
  /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(Box_default, { flexDirection: "column", children: [
15488
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Text, { color: theme.text.primary, children: "Allow Google to use this data to develop and improve our products?" }),
15498
+ /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Text, { color: theme.text.primary, children: "Allow Google to use this data to develop and improve our products and services?" }),
15489
15499
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
15490
15500
  RadioButtonSelect,
15491
15501
  {
15492
15502
  items,
15503
+ renderItem: (item, { titleColor }) => /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Box_default, { flexDirection: "column", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Text, { color: titleColor, wrap: "wrap", children: item.label }) }),
15493
15504
  initialIndex: privacyState.dataCollectionOptIn ? 0 : 1,
15494
15505
  onSelect: (value) => {
15495
15506
  updateDataCollectionOptIn(value);
@@ -20564,13 +20575,7 @@ function useCommandCompletion({
20564
20575
  }
20565
20576
  const lineCodePoints = toCodePoints(buffer.lines[cursorRow] || "");
20566
20577
  const charAfterCompletion = lineCodePoints[end];
20567
- let shouldAddSpace = true;
20568
- if (completionMode === "SLASH" /* SLASH */) {
20569
- const command = slashCompletionRange.getCommandFromSuggestion(suggestion);
20570
- const isExecutableCommand = !!(command && command.action);
20571
- const requiresArguments = !!(command && command.completion);
20572
- shouldAddSpace = !isExecutableCommand || requiresArguments;
20573
- }
20578
+ const shouldAddSpace = true;
20574
20579
  if (charAfterCompletion !== " " && !suggestionText.endsWith("/") && !suggestionText.endsWith("\\") && shouldAddSpace) {
20575
20580
  suggestionText += " ";
20576
20581
  }
@@ -25523,9 +25528,10 @@ function useQuotaAndFallback({
25523
25528
  ];
25524
25529
  message = messageLines.join("\n");
25525
25530
  } else if (VALID_GEMINI_MODELS.has(failedModel)) {
25531
+ const detailMessage = userTier === UserTierId.FREE ? "This model is not available for personal accounts." : "Your admin might have disabled the access. Contact them to enable the Preview Release Channel.";
25526
25532
  const messageLines = [
25527
25533
  `It seems like you don't have access to ${getDisplayString(failedModel)}.`,
25528
- `Your admin might have disabled the access. Contact them to enable the Preview Release Channel.`
25534
+ detailMessage
25529
25535
  ];
25530
25536
  message = messageLines.join("\n");
25531
25537
  } else {
@@ -32951,10 +32957,12 @@ var AppContainer = (props) => {
32951
32957
  enableMouseEvents();
32952
32958
  disableLineWrapping();
32953
32959
  app.rerender();
32960
+ } else if (config.getUseTerminalBuffer()) {
32961
+ app.rerender();
32954
32962
  }
32955
32963
  terminalCapabilityManager.enableSupportedModes();
32956
32964
  refreshStatic();
32957
- }, [refreshStatic, shouldUseAlternateScreen, app]);
32965
+ }, [refreshStatic, shouldUseAlternateScreen, app, config]);
32958
32966
  const [editorError, setEditorError] = (0, import_react121.useState)(null);
32959
32967
  const {
32960
32968
  isEditorDialogOpen,
@@ -33935,7 +33943,7 @@ ${queuedText}` : queuedText;
33935
33943
  if (keyMatchers["app.showErrorDetails" /* SHOW_ERROR_DETAILS */](key)) {
33936
33944
  if (settings.merged.general.devtools) {
33937
33945
  void (async () => {
33938
- const { toggleDevToolsPanel } = await import("./devtoolsService-BFW3BN3D.js");
33946
+ const { toggleDevToolsPanel } = await import("./devtoolsService-ACKZ7HRR.js");
33939
33947
  await toggleDevToolsPanel(
33940
33948
  config,
33941
33949
  showErrorDetails,