@google/gemini-cli 0.46.0-preview.2 → 0.46.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 (67) hide show
  1. package/bundle/builtin/antigravity-support/SKILL.md +58 -0
  2. package/bundle/{chunk-PIZZXDDG.js → chunk-46UNR4SE.js} +1 -1
  3. package/bundle/{chunk-E5QEVDYZ.js → chunk-6ZHP2EJW.js} +77 -12
  4. package/bundle/{chunk-PE7HOVW5.js → chunk-7EBO46BD.js} +2 -2
  5. package/bundle/{chunk-2K6L5FOH.js → chunk-BM5TFZWV.js} +1 -1
  6. package/bundle/{chunk-R4U5N4EA.js → chunk-CSKXYL76.js} +2 -2
  7. package/bundle/{chunk-RS7XVABE.js → chunk-EMVR5JTF.js} +8 -9
  8. package/bundle/{chunk-27JE2WT6.js → chunk-FC67CGD5.js} +1 -1
  9. package/bundle/{chunk-O6PTG534.js → chunk-G33JEOEV.js} +14132 -7532
  10. package/bundle/{chunk-J5LPI3LE.js → chunk-GPDO3T5B.js} +3 -3
  11. package/bundle/{chunk-7JQYEHGG.js → chunk-I4F637TN.js} +1 -1
  12. package/bundle/{chunk-LEOT5EUQ.js → chunk-IZGZZO6A.js} +1 -1
  13. package/bundle/{chunk-CRQJBWDY.js → chunk-IZZGJPR3.js} +1 -1
  14. package/bundle/{chunk-PRRK6JDC.js → chunk-JOFGDFVN.js} +3 -3
  15. package/bundle/{chunk-B5F4VQB4.js → chunk-MKQJU6N7.js} +1 -1
  16. package/bundle/{chunk-CWVF4ZTK.js → chunk-O3ZM34A3.js} +1 -1
  17. package/bundle/{chunk-EI75YPWJ.js → chunk-RCJSF5RP.js} +64 -8
  18. package/bundle/{chunk-SIKHBFAN.js → chunk-S5WKKTEF.js} +3 -3
  19. package/bundle/{chunk-QB7YVNGV.js → chunk-SCXTH56Q.js} +165 -114
  20. package/bundle/{chunk-5IDNG2OG.js → chunk-T55FPMGN.js} +212 -174
  21. package/bundle/{chunk-QW5AOX4N.js → chunk-V2OCZBTI.js} +5 -8
  22. package/bundle/{chunk-WUZJ6YCQ.js → chunk-VFPQ45DS.js} +2 -2
  23. package/bundle/{chunk-22XWYJCL.js → chunk-XWSJWBAL.js} +165 -114
  24. package/bundle/{chunk-RHCHEKOW.js → chunk-YIJWUMMP.js} +1 -1
  25. package/bundle/{chunk-7PDJUYG7.js → chunk-YIKH5LDT.js} +1 -1
  26. package/bundle/{cleanup-I5FUY2UQ.js → cleanup-HCSVNXSL.js} +2 -2
  27. package/bundle/{cleanup-OIBS4TJ5.js → cleanup-KA5YYXS3.js} +2 -2
  28. package/bundle/{cleanup-RODT76X7.js → cleanup-SBGWM3G7.js} +2 -2
  29. package/bundle/{dist-XLM4ONR2.js → core-K77SYAQL.js} +3 -1
  30. package/bundle/{core-DU2UPBEJ.js → core-LVRAYGT3.js} +3 -1
  31. package/bundle/{devtoolsService-C64GR2SQ.js → devtoolsService-ADGLR4UM.js} +2 -2
  32. package/bundle/{devtoolsService-U7Z6S7CA.js → devtoolsService-ORERBA72.js} +3 -4
  33. package/bundle/{devtoolsService-EJVCNXD4.js → devtoolsService-WRHZUKOW.js} +2 -2
  34. package/bundle/{dist-CEGGZCD6.js → dist-6R4J6OFH.js} +3 -1
  35. package/bundle/{gemini-EEFZ4W4N.js → gemini-LOO67E54.js} +196 -212
  36. package/bundle/{gemini-D5Y26G7I.js → gemini-STIONCRJ.js} +14 -14
  37. package/bundle/{gemini-3AA27X7W.js → gemini-YXO2QQ66.js} +14 -14
  38. package/bundle/gemini.js +7 -7
  39. package/bundle/{interactiveCli-B5QE2YQH.js → interactiveCli-F337IDVS.js} +30 -20
  40. package/bundle/{interactiveCli-5L4XUO4D.js → interactiveCli-NKTBHB7O.js} +30 -20
  41. package/bundle/{interactiveCli-S4W3W3HM.js → interactiveCli-OYDA765S.js} +317 -326
  42. package/bundle/{liteRtServerManager-2IHVDPV4.js → liteRtServerManager-6CQ3NBHQ.js} +4 -4
  43. package/bundle/{liteRtServerManager-7CA6UZB6.js → liteRtServerManager-N7CBKKD6.js} +4 -4
  44. package/bundle/{liteRtServerManager-P4UUE4PT.js → liteRtServerManager-YBJANX3B.js} +4 -4
  45. package/bundle/{oauth2-provider-WD62E6UF.js → oauth2-provider-AAJFAFW6.js} +1 -1
  46. package/bundle/{oauth2-provider-5IAYEVTS.js → oauth2-provider-CYIU4X4W.js} +1 -1
  47. package/bundle/{oauth2-provider-NQK2KDLL.js → oauth2-provider-YNWUFCNW.js} +72 -38
  48. package/bundle/{start-AAWVXW3L.js → start-CNBBYSNI.js} +6 -6
  49. package/bundle/{start-EHQUCJL4.js → start-DEWQ46DT.js} +6 -6
  50. package/bundle/{start-EJWSTD4L.js → start-H7TCWGQL.js} +6 -6
  51. package/package.json +1 -1
  52. package/bundle/chunk-3RBWPCUC.js +0 -154
  53. package/bundle/chunk-IPUQ7EE3.js +0 -81685
  54. package/bundle/chunk-NV6UIB5A.js +0 -1571
  55. package/bundle/chunk-R4UEOSDC.js +0 -398
  56. package/bundle/chunk-UEE43LJM.js +0 -118
  57. package/bundle/chunk-UHZJ6CQN.js +0 -17320
  58. package/bundle/chunk-USOBCNPR.js +0 -394545
  59. package/bundle/chunk-ZXFPRK6W.js +0 -512
  60. package/bundle/cleanup-WY7MMPH7.js +0 -32
  61. package/bundle/devtoolsService-LQXWZBCZ.js +0 -856
  62. package/bundle/dist-F4ZLD67R.js +0 -2140
  63. package/bundle/gemini-TPWWVYVB.js +0 -16409
  64. package/bundle/interactiveCli-CFKGEXFE.js +0 -34742
  65. package/bundle/liteRtServerManager-YN3VGMDA.js +0 -65
  66. package/bundle/oauth2-provider-WGTNZKF7.js +0 -235
  67. package/bundle/start-LAOVDDQF.js +0 -18
@@ -41,18 +41,18 @@ import {
41
41
  updateAllUpdatableExtensions,
42
42
  updateExtension,
43
43
  validateAuthMethod
44
- } from "./chunk-QB7YVNGV.js";
44
+ } from "./chunk-T55FPMGN.js";
45
45
  import {
46
46
  appEvents
47
47
  } from "./chunk-5PS3AYFU.js";
48
48
  import {
49
49
  startCommand,
50
50
  startServer
51
- } from "./chunk-UEE43LJM.js";
51
+ } from "./chunk-S5WKKTEF.js";
52
52
  import {
53
53
  exitCli,
54
54
  require_source
55
- } from "./chunk-NV6UIB5A.js";
55
+ } from "./chunk-I4F637TN.js";
56
56
  import {
57
57
  DEFAULT_PORT,
58
58
  GEMMA_MODEL_NAME,
@@ -86,11 +86,11 @@ import {
86
86
  readServerProcessInfo,
87
87
  resolveGemmaConfig,
88
88
  saveModelChange
89
- } from "./chunk-B5F4VQB4.js";
89
+ } from "./chunk-MKQJU6N7.js";
90
90
  import {
91
91
  RELAUNCH_EXIT_CODE
92
- } from "./chunk-WUZJ6YCQ.js";
93
- import "./chunk-2K6L5FOH.js";
92
+ } from "./chunk-VFPQ45DS.js";
93
+ import "./chunk-EMVR5JTF.js";
94
94
  import {
95
95
  cleanupCheckpoints,
96
96
  registerCleanup,
@@ -99,7 +99,7 @@ import {
99
99
  runExitCleanup,
100
100
  runSyncCleanup,
101
101
  setupSignalHandlers
102
- } from "./chunk-PIZZXDDG.js";
102
+ } from "./chunk-IZGZZO6A.js";
103
103
  import {
104
104
  ASK_USER_TOOL_NAME,
105
105
  AuthType,
@@ -231,7 +231,7 @@ import {
231
231
  updatePolicy,
232
232
  writeToStderr,
233
233
  writeToStdout
234
- } from "./chunk-E5QEVDYZ.js";
234
+ } from "./chunk-G33JEOEV.js";
235
235
  import "./chunk-6HI7VNOG.js";
236
236
  import "./chunk-TUDYL3X4.js";
237
237
  import "./chunk-IUUIT4SU.js";
@@ -7825,7 +7825,7 @@ async function loadSandboxConfig(settings, argv) {
7825
7825
  }
7826
7826
  const command2 = getSandboxCommand(sandboxValue);
7827
7827
  const packageJson = await getPackageJson(__dirname3);
7828
- const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.46.0-preview.1" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7828
+ const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.46.0-preview.3" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7829
7829
  const isNative = command2 === "windows-native" || command2 === "sandbox-exec" || command2 === "lxc";
7830
7830
  return command2 && (image || isNative) ? { enabled: true, allowedPaths, networkAccess, command: command2, image } : void 0;
7831
7831
  }
@@ -10233,7 +10233,7 @@ async function runNonInteractive({
10233
10233
  }
10234
10234
  });
10235
10235
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
10236
- const { setupInitialActivityLogger } = await import("./devtoolsService-C64GR2SQ.js");
10236
+ const { setupInitialActivityLogger } = await import("./devtoolsService-ORERBA72.js");
10237
10237
  setupInitialActivityLogger(config);
10238
10238
  }
10239
10239
  const { stdout: workingStdout } = createWorkingStdio();
@@ -10704,7 +10704,7 @@ async function runNonInteractive2(params) {
10704
10704
  }
10705
10705
  });
10706
10706
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
10707
- const { setupInitialActivityLogger } = await import("./devtoolsService-C64GR2SQ.js");
10707
+ const { setupInitialActivityLogger } = await import("./devtoolsService-ORERBA72.js");
10708
10708
  setupInitialActivityLogger(config);
10709
10709
  }
10710
10710
  const { stdout: workingStdout } = createWorkingStdio();
@@ -15895,7 +15895,7 @@ async function resolveSessionId(resumeArg, sessionIdArg, sessionFileArg) {
15895
15895
  }
15896
15896
  }
15897
15897
  async function startInteractiveUI(config, settings, startupWarnings, workspaceRoot = process.cwd(), resumedSessionData, initializationResult) {
15898
- const { startInteractiveUI: doStartUI } = await import("./interactiveCli-B5QE2YQH.js");
15898
+ const { startInteractiveUI: doStartUI } = await import("./interactiveCli-OYDA765S.js");
15899
15899
  await doStartUI(
15900
15900
  config,
15901
15901
  settings,
@@ -16104,7 +16104,7 @@ ${finalArgs[promptIndex + 1]}`;
16104
16104
  await config.storage.initialize();
16105
16105
  adminControlsListner.setConfig(config);
16106
16106
  if (config.isInteractive() && settings.merged.general.devtools) {
16107
- const { setupInitialActivityLogger } = await import("./devtoolsService-C64GR2SQ.js");
16107
+ const { setupInitialActivityLogger } = await import("./devtoolsService-ORERBA72.js");
16108
16108
  setupInitialActivityLogger(config);
16109
16109
  }
16110
16110
  registerTelemetryConfig(config);
@@ -16163,7 +16163,7 @@ ${finalArgs[promptIndex + 1]}`;
16163
16163
  const initAppHandle = startupProfiler.start("initialize_app");
16164
16164
  const initializationResult = await initializeApp(config, settings);
16165
16165
  initAppHandle?.end();
16166
- import("./liteRtServerManager-7CA6UZB6.js").then(({ LiteRtServerManager }) => {
16166
+ import("./liteRtServerManager-6CQ3NBHQ.js").then(({ LiteRtServerManager }) => {
16167
16167
  const mergedGemma = settings.merged.experimental?.gemmaModelRouter;
16168
16168
  if (!mergedGemma) return;
16169
16169
  const userGemma = settings.forScope("User" /* User */).settings.experimental?.gemmaModelRouter;
@@ -41,18 +41,18 @@ import {
41
41
  updateAllUpdatableExtensions,
42
42
  updateExtension,
43
43
  validateAuthMethod
44
- } from "./chunk-22XWYJCL.js";
44
+ } from "./chunk-XWSJWBAL.js";
45
45
  import {
46
46
  appEvents
47
47
  } from "./chunk-5PS3AYFU.js";
48
48
  import {
49
49
  startCommand,
50
50
  startServer
51
- } from "./chunk-J5LPI3LE.js";
51
+ } from "./chunk-JOFGDFVN.js";
52
52
  import {
53
53
  exitCli,
54
54
  require_source
55
- } from "./chunk-CWVF4ZTK.js";
55
+ } from "./chunk-O3ZM34A3.js";
56
56
  import {
57
57
  DEFAULT_PORT,
58
58
  GEMMA_MODEL_NAME,
@@ -86,11 +86,11 @@ import {
86
86
  readServerProcessInfo,
87
87
  resolveGemmaConfig,
88
88
  saveModelChange
89
- } from "./chunk-UHZJ6CQN.js";
89
+ } from "./chunk-YIKH5LDT.js";
90
90
  import {
91
91
  RELAUNCH_EXIT_CODE
92
- } from "./chunk-PE7HOVW5.js";
93
- import "./chunk-RS7XVABE.js";
92
+ } from "./chunk-CSKXYL76.js";
93
+ import "./chunk-YIJWUMMP.js";
94
94
  import {
95
95
  cleanupCheckpoints,
96
96
  registerCleanup,
@@ -99,7 +99,7 @@ import {
99
99
  runExitCleanup,
100
100
  runSyncCleanup,
101
101
  setupSignalHandlers
102
- } from "./chunk-LEOT5EUQ.js";
102
+ } from "./chunk-FC67CGD5.js";
103
103
  import {
104
104
  ASK_USER_TOOL_NAME,
105
105
  ApprovalMode,
@@ -247,7 +247,7 @@ import {
247
247
  updatePolicy,
248
248
  writeToStderr,
249
249
  writeToStdout
250
- } from "./chunk-O6PTG534.js";
250
+ } from "./chunk-RCJSF5RP.js";
251
251
  import "./chunk-6HI7VNOG.js";
252
252
  import "./chunk-TUDYL3X4.js";
253
253
  import "./chunk-IUUIT4SU.js";
@@ -7841,7 +7841,7 @@ async function loadSandboxConfig(settings, argv) {
7841
7841
  }
7842
7842
  const command2 = getSandboxCommand(sandboxValue);
7843
7843
  const packageJson = await getPackageJson(__dirname3);
7844
- const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.46.0-preview.1" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7844
+ const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.46.0" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7845
7845
  const isNative = command2 === "windows-native" || command2 === "sandbox-exec" || command2 === "lxc";
7846
7846
  return command2 && (image || isNative) ? { enabled: true, allowedPaths, networkAccess, command: command2, image } : void 0;
7847
7847
  }
@@ -10249,7 +10249,7 @@ async function runNonInteractive({
10249
10249
  }
10250
10250
  });
10251
10251
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
10252
- const { setupInitialActivityLogger } = await import("./devtoolsService-LQXWZBCZ.js");
10252
+ const { setupInitialActivityLogger } = await import("./devtoolsService-WRHZUKOW.js");
10253
10253
  setupInitialActivityLogger(config);
10254
10254
  }
10255
10255
  const { stdout: workingStdout } = createWorkingStdio();
@@ -10720,7 +10720,7 @@ async function runNonInteractive2(params) {
10720
10720
  }
10721
10721
  });
10722
10722
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
10723
- const { setupInitialActivityLogger } = await import("./devtoolsService-LQXWZBCZ.js");
10723
+ const { setupInitialActivityLogger } = await import("./devtoolsService-WRHZUKOW.js");
10724
10724
  setupInitialActivityLogger(config);
10725
10725
  }
10726
10726
  const { stdout: workingStdout } = createWorkingStdio();
@@ -15911,7 +15911,7 @@ async function resolveSessionId(resumeArg, sessionIdArg, sessionFileArg) {
15911
15911
  }
15912
15912
  }
15913
15913
  async function startInteractiveUI(config, settings, startupWarnings, workspaceRoot = process.cwd(), resumedSessionData, initializationResult) {
15914
- const { startInteractiveUI: doStartUI } = await import("./interactiveCli-CFKGEXFE.js");
15914
+ const { startInteractiveUI: doStartUI } = await import("./interactiveCli-NKTBHB7O.js");
15915
15915
  await doStartUI(
15916
15916
  config,
15917
15917
  settings,
@@ -16120,7 +16120,7 @@ ${finalArgs[promptIndex + 1]}`;
16120
16120
  await config.storage.initialize();
16121
16121
  adminControlsListner.setConfig(config);
16122
16122
  if (config.isInteractive() && settings.merged.general.devtools) {
16123
- const { setupInitialActivityLogger } = await import("./devtoolsService-LQXWZBCZ.js");
16123
+ const { setupInitialActivityLogger } = await import("./devtoolsService-WRHZUKOW.js");
16124
16124
  setupInitialActivityLogger(config);
16125
16125
  }
16126
16126
  registerTelemetryConfig(config);
@@ -16179,7 +16179,7 @@ ${finalArgs[promptIndex + 1]}`;
16179
16179
  const initAppHandle = startupProfiler.start("initialize_app");
16180
16180
  const initializationResult = await initializeApp(config, settings);
16181
16181
  initAppHandle?.end();
16182
- import("./liteRtServerManager-2IHVDPV4.js").then(({ LiteRtServerManager }) => {
16182
+ import("./liteRtServerManager-YBJANX3B.js").then(({ LiteRtServerManager }) => {
16183
16183
  const mergedGemma = settings.merged.experimental?.gemmaModelRouter;
16184
16184
  if (!mergedGemma) return;
16185
16185
  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-R4U5N4EA.js";
8
- import "./chunk-ZXFPRK6W.js";
9
- import "./chunk-3RBWPCUC.js";
10
- import "./chunk-USOBCNPR.js";
7
+ } from "./chunk-CSKXYL76.js";
8
+ import "./chunk-YIJWUMMP.js";
9
+ import "./chunk-FC67CGD5.js";
10
+ import "./chunk-RCJSF5RP.js";
11
11
  import "./chunk-6HI7VNOG.js";
12
12
  import "./chunk-TUDYL3X4.js";
13
13
  import "./chunk-IUUIT4SU.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-EEFZ4W4N.js");
119
- const { FatalError, writeToStderr } = await import("./dist-XLM4ONR2.js");
120
- const { runExitCleanup } = await import("./cleanup-RODT76X7.js");
118
+ const { main } = await import("./gemini-YXO2QQ66.js");
119
+ const { FatalError, writeToStderr } = await import("./dist-6R4J6OFH.js");
120
+ const { runExitCleanup } = await import("./cleanup-SBGWM3G7.js");
121
121
  main().catch(async (error) => {
122
122
  const cleanupTimeout = setTimeout(() => {
123
123
  writeToStderr("Cleanup timed out, forcing exit...\n");
@@ -72,6 +72,7 @@ import {
72
72
  formatCommand,
73
73
  formatDuration,
74
74
  formatResetTime,
75
+ getAntigravityInstallInfo,
75
76
  getDialogRestartRequiredSettings,
76
77
  getDialogSettingKeys,
77
78
  getDisplayValue,
@@ -155,13 +156,13 @@ import {
155
156
  widestLineFromStyledChars,
156
157
  wordBreakStyledChars,
157
158
  wrapStyledChars
158
- } from "./chunk-QB7YVNGV.js";
159
+ } from "./chunk-SCXTH56Q.js";
159
160
  import {
160
161
  appEvents
161
162
  } from "./chunk-5PS3AYFU.js";
162
163
  import {
163
164
  require_source
164
- } from "./chunk-NV6UIB5A.js";
165
+ } from "./chunk-IZZGJPR3.js";
165
166
  import {
166
167
  ACTIVE_SHELL_MAX_LINES,
167
168
  COMPACT_TOOL_SUBVIEW_MAX_LINES,
@@ -211,24 +212,24 @@ import {
211
212
  stringWidth,
212
213
  stripUnsafeCharacters,
213
214
  toCodePoints
214
- } from "./chunk-B5F4VQB4.js";
215
+ } from "./chunk-V2OCZBTI.js";
215
216
  import {
216
217
  handleAutoUpdate,
217
218
  isDevelopment,
218
219
  relaunchApp,
219
220
  setUpdateHandler
220
- } from "./chunk-WUZJ6YCQ.js";
221
+ } from "./chunk-7EBO46BD.js";
221
222
  import {
222
223
  isTodoList,
223
224
  mapCoreStatusToDisplayStatus,
224
225
  require_react
225
- } from "./chunk-2K6L5FOH.js";
226
+ } from "./chunk-BM5TFZWV.js";
226
227
  import {
227
228
  registerCleanup,
228
229
  removeCleanup,
229
230
  runExitCleanup,
230
231
  setupTtyCheck
231
- } from "./chunk-PIZZXDDG.js";
232
+ } from "./chunk-46UNR4SE.js";
232
233
  import {
233
234
  ACTIVATE_SKILL_TOOL_NAME,
234
235
  AGENT_TOOL_NAME,
@@ -410,7 +411,7 @@ import {
410
411
  validatePlanContent,
411
412
  validatePlanPath,
412
413
  writeToStdout
413
- } from "./chunk-E5QEVDYZ.js";
414
+ } from "./chunk-6ZHP2EJW.js";
414
415
  import "./chunk-6HI7VNOG.js";
415
416
  import "./chunk-TUDYL3X4.js";
416
417
  import "./chunk-IUUIT4SU.js";
@@ -505,7 +506,7 @@ var require_prop_types = __commonJS({
505
506
  var require_gradient_string = __commonJS({
506
507
  "node_modules/gradient-string/index.js"(exports, module) {
507
508
  "use strict";
508
- var chalk4 = require_source();
509
+ var chalk5 = require_source();
509
510
  var tinygradient2 = require_tinygradient();
510
511
  var forbiddenChars = /\s/g;
511
512
  function InitGradient(...args) {
@@ -521,7 +522,7 @@ var require_gradient_string = __commonJS({
521
522
  const colors = getColors(gradient, options, colorsCount);
522
523
  let result = "";
523
524
  for (const s of str) {
524
- result += s.match(forbiddenChars) ? s : chalk4.hex(colors.shift().toHex())(s);
525
+ result += s.match(forbiddenChars) ? s : chalk5.hex(colors.shift().toHex())(s);
525
526
  }
526
527
  return result;
527
528
  }
@@ -535,7 +536,7 @@ var require_gradient_string = __commonJS({
535
536
  const lineColors = colors.slice(0);
536
537
  let lineResult = "";
537
538
  for (const l of line) {
538
- lineResult += chalk4.hex(lineColors.shift().toHex())(l);
539
+ lineResult += chalk5.hex(lineColors.shift().toHex())(l);
539
540
  }
540
541
  results.push(lineResult);
541
542
  }
@@ -10222,6 +10223,7 @@ var Banner = ({ bannerText, isWarning, width }) => {
10222
10223
 
10223
10224
  // packages/cli/src/ui/hooks/useBanner.ts
10224
10225
  var import_react30 = __toESM(require_react(), 1);
10226
+ var import_chalk2 = __toESM(require_source(), 1);
10225
10227
  import crypto from "node:crypto";
10226
10228
  var DEFAULT_MAX_BANNER_SHOWN_COUNT = 5;
10227
10229
  var sessionIncrementedBanners = /* @__PURE__ */ new Set();
@@ -10235,7 +10237,15 @@ function useBanner(bannerData) {
10235
10237
  const currentBannerCount = bannerCounts[hashedText] || 0;
10236
10238
  const showBanner = activeText !== "" && (currentBannerCount < DEFAULT_MAX_BANNER_SHOWN_COUNT || activeText.includes("Antigravity"));
10237
10239
  const rawBannerText = showBanner ? activeText : "";
10238
- const bannerText = rawBannerText.replace(/\\n/g, "\n");
10240
+ let bannerText = rawBannerText.replace(/\\n/g, "\n");
10241
+ if (showBanner && activeText.includes("Antigravity")) {
10242
+ const info = getAntigravityInstallInfo();
10243
+ if (info) {
10244
+ bannerText += `
10245
+
10246
+ To install run "${import_chalk2.default.bold(info.installCmd)}"`;
10247
+ }
10248
+ }
10239
10249
  (0, import_react30.useEffect)(() => {
10240
10250
  if (showBanner && activeText) {
10241
10251
  if (!sessionIncrementedBanners.has(activeText)) {
@@ -13556,7 +13566,7 @@ var import_react44 = __toESM(require_react(), 1);
13556
13566
 
13557
13567
  // packages/cli/src/ui/components/shared/BaseSettingsDialog.tsx
13558
13568
  var import_react43 = __toESM(require_react(), 1);
13559
- var import_chalk2 = __toESM(require_source(), 1);
13569
+ var import_chalk3 = __toESM(require_source(), 1);
13560
13570
 
13561
13571
  // packages/cli/src/ui/hooks/useSettingsNavigation.ts
13562
13572
  var import_react41 = __toESM(require_react(), 1);
@@ -14024,9 +14034,9 @@ function BaseSettingsDialog({
14024
14034
  editCursorPos + 1
14025
14035
  );
14026
14036
  const afterCursor = cpSlice(editBuffer, editCursorPos + 1);
14027
- displayValue = beforeCursor + import_chalk2.default.inverse(atCursor) + afterCursor;
14037
+ displayValue = beforeCursor + import_chalk3.default.inverse(atCursor) + afterCursor;
14028
14038
  } else if (editCursorPos >= cpLen(editBuffer)) {
14029
- displayValue = editBuffer + (cursorVisible ? import_chalk2.default.inverse(" ") : " ");
14039
+ displayValue = editBuffer + (cursorVisible ? import_chalk3.default.inverse(" ") : " ");
14030
14040
  } else {
14031
14041
  displayValue = editBuffer;
14032
14042
  }
@@ -18439,7 +18449,7 @@ var ListeningIndicator = ({
18439
18449
  };
18440
18450
 
18441
18451
  // packages/cli/src/ui/components/InputPrompt.tsx
18442
- var import_chalk3 = __toESM(require_source(), 1);
18452
+ var import_chalk4 = __toESM(require_source(), 1);
18443
18453
 
18444
18454
  // packages/cli/src/ui/hooks/useShellHistory.ts
18445
18455
  var import_react63 = __toESM(require_react(), 1);
@@ -22096,7 +22106,7 @@ var InputPrompt = ({
22096
22106
  relCol - segStart,
22097
22107
  relCol - segStart + 1
22098
22108
  );
22099
- const highlighted = showCursor ? import_chalk3.default.inverse(charToHighlight) : charToHighlight;
22109
+ const highlighted = showCursor ? import_chalk4.default.inverse(charToHighlight) : charToHighlight;
22100
22110
  display = cpSlice(display, 0, relCol - segStart) + highlighted + cpSlice(display, relCol - segStart + 1);
22101
22111
  }
22102
22112
  charCount = segEnd;
@@ -22111,7 +22121,7 @@ var InputPrompt = ({
22111
22121
  const currentLineGhost = isOnCursorLine ? inlineGhost : "";
22112
22122
  if (isOnCursorLine && cursorVisualColAbsolute === cpLen(lineText) && !currentLineGhost) {
22113
22123
  renderedLine.push(
22114
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(Text, { children: showCursor ? import_chalk3.default.inverse(" ") : " " }, `cursor-end-${cursorVisualColAbsolute}`)
22124
+ /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(Text, { children: showCursor ? import_chalk4.default.inverse(" ") : " " }, `cursor-end-${cursorVisualColAbsolute}`)
22115
22125
  );
22116
22126
  }
22117
22127
  const showCursorBeforeGhost = focus && isOnCursorLine && cursorVisualColAbsolute === cpLen(lineText) && currentLineGhost;
@@ -22125,7 +22135,7 @@ var InputPrompt = ({
22125
22135
  ),
22126
22136
  children: [
22127
22137
  renderedLine,
22128
- showCursorBeforeGhost && (showCursor ? import_chalk3.default.inverse(" ") : " "),
22138
+ showCursorBeforeGhost && (showCursor ? import_chalk4.default.inverse(" ") : " "),
22129
22139
  currentLineGhost && /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(Text, { color: theme.text.secondary, children: currentLineGhost })
22130
22140
  ]
22131
22141
  }
@@ -22260,7 +22270,7 @@ var InputPrompt = ({
22260
22270
  terminalCursorFocus: showCursor,
22261
22271
  terminalCursorPosition: 0,
22262
22272
  children: [
22263
- import_chalk3.default.inverse(effectivePlaceholder.slice(0, 1)),
22273
+ import_chalk4.default.inverse(effectivePlaceholder.slice(0, 1)),
22264
22274
  /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(Text, { color: theme.text.secondary, children: effectivePlaceholder.slice(1) })
22265
22275
  ]
22266
22276
  }
@@ -33718,7 +33728,7 @@ ${queuedText}` : queuedText;
33718
33728
  if (keyMatchers["app.showErrorDetails" /* SHOW_ERROR_DETAILS */](key)) {
33719
33729
  if (settings.merged.general.devtools) {
33720
33730
  void (async () => {
33721
- const { toggleDevToolsPanel } = await import("./devtoolsService-C64GR2SQ.js");
33731
+ const { toggleDevToolsPanel } = await import("./devtoolsService-ADGLR4UM.js");
33722
33732
  await toggleDevToolsPanel(
33723
33733
  config,
33724
33734
  showErrorDetails,
@@ -72,6 +72,7 @@ import {
72
72
  formatCommand,
73
73
  formatDuration,
74
74
  formatResetTime,
75
+ getAntigravityInstallInfo,
75
76
  getDialogRestartRequiredSettings,
76
77
  getDialogSettingKeys,
77
78
  getDisplayValue,
@@ -155,13 +156,13 @@ import {
155
156
  widestLineFromStyledChars,
156
157
  wordBreakStyledChars,
157
158
  wrapStyledChars
158
- } from "./chunk-5IDNG2OG.js";
159
+ } from "./chunk-XWSJWBAL.js";
159
160
  import {
160
161
  appEvents
161
162
  } from "./chunk-5PS3AYFU.js";
162
163
  import {
163
164
  require_source
164
- } from "./chunk-CRQJBWDY.js";
165
+ } from "./chunk-O3ZM34A3.js";
165
166
  import {
166
167
  ACTIVE_SHELL_MAX_LINES,
167
168
  COMPACT_TOOL_SUBVIEW_MAX_LINES,
@@ -211,24 +212,24 @@ import {
211
212
  stringWidth,
212
213
  stripUnsafeCharacters,
213
214
  toCodePoints
214
- } from "./chunk-7PDJUYG7.js";
215
+ } from "./chunk-YIKH5LDT.js";
215
216
  import {
216
217
  handleAutoUpdate,
217
218
  isDevelopment,
218
219
  relaunchApp,
219
220
  setUpdateHandler
220
- } from "./chunk-R4U5N4EA.js";
221
+ } from "./chunk-CSKXYL76.js";
221
222
  import {
222
223
  isTodoList,
223
224
  mapCoreStatusToDisplayStatus,
224
225
  require_react
225
- } from "./chunk-ZXFPRK6W.js";
226
+ } from "./chunk-YIJWUMMP.js";
226
227
  import {
227
228
  registerCleanup,
228
229
  removeCleanup,
229
230
  runExitCleanup,
230
231
  setupTtyCheck
231
- } from "./chunk-3RBWPCUC.js";
232
+ } from "./chunk-FC67CGD5.js";
232
233
  import {
233
234
  ACTIVATE_SKILL_TOOL_NAME,
234
235
  AGENT_TOOL_NAME,
@@ -429,7 +430,7 @@ import {
429
430
  validatePlanContent,
430
431
  validatePlanPath,
431
432
  writeToStdout
432
- } from "./chunk-USOBCNPR.js";
433
+ } from "./chunk-RCJSF5RP.js";
433
434
  import "./chunk-6HI7VNOG.js";
434
435
  import "./chunk-TUDYL3X4.js";
435
436
  import "./chunk-IUUIT4SU.js";
@@ -524,7 +525,7 @@ var require_prop_types = __commonJS({
524
525
  var require_gradient_string = __commonJS({
525
526
  "node_modules/gradient-string/index.js"(exports, module) {
526
527
  "use strict";
527
- var chalk4 = require_source();
528
+ var chalk5 = require_source();
528
529
  var tinygradient2 = require_tinygradient();
529
530
  var forbiddenChars = /\s/g;
530
531
  function InitGradient(...args) {
@@ -540,7 +541,7 @@ var require_gradient_string = __commonJS({
540
541
  const colors = getColors(gradient, options, colorsCount);
541
542
  let result = "";
542
543
  for (const s of str) {
543
- result += s.match(forbiddenChars) ? s : chalk4.hex(colors.shift().toHex())(s);
544
+ result += s.match(forbiddenChars) ? s : chalk5.hex(colors.shift().toHex())(s);
544
545
  }
545
546
  return result;
546
547
  }
@@ -554,7 +555,7 @@ var require_gradient_string = __commonJS({
554
555
  const lineColors = colors.slice(0);
555
556
  let lineResult = "";
556
557
  for (const l of line) {
557
- lineResult += chalk4.hex(lineColors.shift().toHex())(l);
558
+ lineResult += chalk5.hex(lineColors.shift().toHex())(l);
558
559
  }
559
560
  results.push(lineResult);
560
561
  }
@@ -10241,6 +10242,7 @@ var Banner = ({ bannerText, isWarning, width }) => {
10241
10242
 
10242
10243
  // packages/cli/src/ui/hooks/useBanner.ts
10243
10244
  var import_react30 = __toESM(require_react(), 1);
10245
+ var import_chalk2 = __toESM(require_source(), 1);
10244
10246
  import crypto from "node:crypto";
10245
10247
  var DEFAULT_MAX_BANNER_SHOWN_COUNT = 5;
10246
10248
  var sessionIncrementedBanners = /* @__PURE__ */ new Set();
@@ -10254,7 +10256,15 @@ function useBanner(bannerData) {
10254
10256
  const currentBannerCount = bannerCounts[hashedText] || 0;
10255
10257
  const showBanner = activeText !== "" && (currentBannerCount < DEFAULT_MAX_BANNER_SHOWN_COUNT || activeText.includes("Antigravity"));
10256
10258
  const rawBannerText = showBanner ? activeText : "";
10257
- const bannerText = rawBannerText.replace(/\\n/g, "\n");
10259
+ let bannerText = rawBannerText.replace(/\\n/g, "\n");
10260
+ if (showBanner && activeText.includes("Antigravity")) {
10261
+ const info = getAntigravityInstallInfo();
10262
+ if (info) {
10263
+ bannerText += `
10264
+
10265
+ To install run "${import_chalk2.default.bold(info.installCmd)}"`;
10266
+ }
10267
+ }
10258
10268
  (0, import_react30.useEffect)(() => {
10259
10269
  if (showBanner && activeText) {
10260
10270
  if (!sessionIncrementedBanners.has(activeText)) {
@@ -13575,7 +13585,7 @@ var import_react44 = __toESM(require_react(), 1);
13575
13585
 
13576
13586
  // packages/cli/src/ui/components/shared/BaseSettingsDialog.tsx
13577
13587
  var import_react43 = __toESM(require_react(), 1);
13578
- var import_chalk2 = __toESM(require_source(), 1);
13588
+ var import_chalk3 = __toESM(require_source(), 1);
13579
13589
 
13580
13590
  // packages/cli/src/ui/hooks/useSettingsNavigation.ts
13581
13591
  var import_react41 = __toESM(require_react(), 1);
@@ -14043,9 +14053,9 @@ function BaseSettingsDialog({
14043
14053
  editCursorPos + 1
14044
14054
  );
14045
14055
  const afterCursor = cpSlice(editBuffer, editCursorPos + 1);
14046
- displayValue = beforeCursor + import_chalk2.default.inverse(atCursor) + afterCursor;
14056
+ displayValue = beforeCursor + import_chalk3.default.inverse(atCursor) + afterCursor;
14047
14057
  } else if (editCursorPos >= cpLen(editBuffer)) {
14048
- displayValue = editBuffer + (cursorVisible ? import_chalk2.default.inverse(" ") : " ");
14058
+ displayValue = editBuffer + (cursorVisible ? import_chalk3.default.inverse(" ") : " ");
14049
14059
  } else {
14050
14060
  displayValue = editBuffer;
14051
14061
  }
@@ -18458,7 +18468,7 @@ var ListeningIndicator = ({
18458
18468
  };
18459
18469
 
18460
18470
  // packages/cli/src/ui/components/InputPrompt.tsx
18461
- var import_chalk3 = __toESM(require_source(), 1);
18471
+ var import_chalk4 = __toESM(require_source(), 1);
18462
18472
 
18463
18473
  // packages/cli/src/ui/hooks/useShellHistory.ts
18464
18474
  var import_react63 = __toESM(require_react(), 1);
@@ -22115,7 +22125,7 @@ var InputPrompt = ({
22115
22125
  relCol - segStart,
22116
22126
  relCol - segStart + 1
22117
22127
  );
22118
- const highlighted = showCursor ? import_chalk3.default.inverse(charToHighlight) : charToHighlight;
22128
+ const highlighted = showCursor ? import_chalk4.default.inverse(charToHighlight) : charToHighlight;
22119
22129
  display = cpSlice(display, 0, relCol - segStart) + highlighted + cpSlice(display, relCol - segStart + 1);
22120
22130
  }
22121
22131
  charCount = segEnd;
@@ -22130,7 +22140,7 @@ var InputPrompt = ({
22130
22140
  const currentLineGhost = isOnCursorLine ? inlineGhost : "";
22131
22141
  if (isOnCursorLine && cursorVisualColAbsolute === cpLen(lineText) && !currentLineGhost) {
22132
22142
  renderedLine.push(
22133
- /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(Text, { children: showCursor ? import_chalk3.default.inverse(" ") : " " }, `cursor-end-${cursorVisualColAbsolute}`)
22143
+ /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(Text, { children: showCursor ? import_chalk4.default.inverse(" ") : " " }, `cursor-end-${cursorVisualColAbsolute}`)
22134
22144
  );
22135
22145
  }
22136
22146
  const showCursorBeforeGhost = focus && isOnCursorLine && cursorVisualColAbsolute === cpLen(lineText) && currentLineGhost;
@@ -22144,7 +22154,7 @@ var InputPrompt = ({
22144
22154
  ),
22145
22155
  children: [
22146
22156
  renderedLine,
22147
- showCursorBeforeGhost && (showCursor ? import_chalk3.default.inverse(" ") : " "),
22157
+ showCursorBeforeGhost && (showCursor ? import_chalk4.default.inverse(" ") : " "),
22148
22158
  currentLineGhost && /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(Text, { color: theme.text.secondary, children: currentLineGhost })
22149
22159
  ]
22150
22160
  }
@@ -22279,7 +22289,7 @@ var InputPrompt = ({
22279
22289
  terminalCursorFocus: showCursor,
22280
22290
  terminalCursorPosition: 0,
22281
22291
  children: [
22282
- import_chalk3.default.inverse(effectivePlaceholder.slice(0, 1)),
22292
+ import_chalk4.default.inverse(effectivePlaceholder.slice(0, 1)),
22283
22293
  /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(Text, { color: theme.text.secondary, children: effectivePlaceholder.slice(1) })
22284
22294
  ]
22285
22295
  }
@@ -33737,7 +33747,7 @@ ${queuedText}` : queuedText;
33737
33747
  if (keyMatchers["app.showErrorDetails" /* SHOW_ERROR_DETAILS */](key)) {
33738
33748
  if (settings.merged.general.devtools) {
33739
33749
  void (async () => {
33740
- const { toggleDevToolsPanel } = await import("./devtoolsService-EJVCNXD4.js");
33750
+ const { toggleDevToolsPanel } = await import("./devtoolsService-WRHZUKOW.js");
33741
33751
  await toggleDevToolsPanel(
33742
33752
  config,
33743
33753
  showErrorDetails,