@google/gemini-cli 0.46.0-preview.2 → 0.46.0-preview.3

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-22XWYJCL.js → chunk-2GESUVEI.js} +165 -114
  3. package/bundle/{chunk-2K6L5FOH.js → chunk-2XKNPALS.js} +1 -1
  4. package/bundle/{chunk-5IDNG2OG.js → chunk-3PLUHPJV.js} +165 -114
  5. package/bundle/{chunk-E5QEVDYZ.js → chunk-5ND76TYS.js} +77 -12
  6. package/bundle/{chunk-EI75YPWJ.js → chunk-6WDE67I7.js} +63 -7
  7. package/bundle/{chunk-7PDJUYG7.js → chunk-7GTQ3TVY.js} +1 -1
  8. package/bundle/{chunk-PIZZXDDG.js → chunk-AJKD63PC.js} +1 -1
  9. package/bundle/{chunk-J5LPI3LE.js → chunk-AYF4WWI6.js} +3 -3
  10. package/bundle/{chunk-7JQYEHGG.js → chunk-CIWJFNFL.js} +1 -1
  11. package/bundle/{chunk-RHCHEKOW.js → chunk-CQ5T2OOT.js} +1 -1
  12. package/bundle/{chunk-CRQJBWDY.js → chunk-DVLOSJL6.js} +1 -1
  13. package/bundle/{chunk-B5F4VQB4.js → chunk-FHPHAHTC.js} +1 -1
  14. package/bundle/{chunk-RS7XVABE.js → chunk-IPSGP4HZ.js} +1 -1
  15. package/bundle/{chunk-PE7HOVW5.js → chunk-KBVSP7UV.js} +2 -2
  16. package/bundle/{chunk-O6PTG534.js → chunk-KK5RNP2O.js} +64 -8
  17. package/bundle/{chunk-QW5AOX4N.js → chunk-KOY6HFDJ.js} +1 -1
  18. package/bundle/{chunk-27JE2WT6.js → chunk-LFPQWI47.js} +1 -1
  19. package/bundle/{chunk-CWVF4ZTK.js → chunk-MKTEB4X2.js} +1 -1
  20. package/bundle/{chunk-IPUQ7EE3.js → chunk-PBKO4RQZ.js} +165 -114
  21. package/bundle/{chunk-QB7YVNGV.js → chunk-PWEKIO66.js} +165 -114
  22. package/bundle/{chunk-LEOT5EUQ.js → chunk-QC2XF7WU.js} +1 -1
  23. package/bundle/{chunk-3RBWPCUC.js → chunk-S5GUYIK7.js} +1 -1
  24. package/bundle/{chunk-ZXFPRK6W.js → chunk-SWSOO6PG.js} +1 -1
  25. package/bundle/{chunk-PRRK6JDC.js → chunk-TIFKXOWZ.js} +3 -3
  26. package/bundle/{chunk-SIKHBFAN.js → chunk-V5CL3DRL.js} +3 -3
  27. package/bundle/{chunk-UEE43LJM.js → chunk-VFBOEQYZ.js} +3 -3
  28. package/bundle/{chunk-R4U5N4EA.js → chunk-VON23XS2.js} +2 -2
  29. package/bundle/{chunk-WUZJ6YCQ.js → chunk-W7QA7FT5.js} +2 -2
  30. package/bundle/{chunk-UHZJ6CQN.js → chunk-XB2Y55JE.js} +1 -1
  31. package/bundle/{chunk-USOBCNPR.js → chunk-XMZW4ETE.js} +64 -8
  32. package/bundle/{chunk-NV6UIB5A.js → chunk-YQE3FF4G.js} +1 -1
  33. package/bundle/{chunk-R4UEOSDC.js → chunk-ZW2TA44S.js} +2 -2
  34. package/bundle/{cleanup-I5FUY2UQ.js → cleanup-3MDHF3OO.js} +2 -2
  35. package/bundle/{cleanup-OIBS4TJ5.js → cleanup-ACXEXWY2.js} +2 -2
  36. package/bundle/{cleanup-RODT76X7.js → cleanup-EAOW4OCO.js} +2 -2
  37. package/bundle/{cleanup-WY7MMPH7.js → cleanup-YRHQYKEA.js} +2 -2
  38. package/bundle/{dist-XLM4ONR2.js → core-HYJM5T45.js} +3 -1
  39. package/bundle/{devtoolsService-EJVCNXD4.js → devtoolsService-5ME5JZIQ.js} +2 -2
  40. package/bundle/{devtoolsService-C64GR2SQ.js → devtoolsService-6OVP6DUO.js} +2 -2
  41. package/bundle/{devtoolsService-U7Z6S7CA.js → devtoolsService-I4R5WQXY.js} +2 -2
  42. package/bundle/{devtoolsService-LQXWZBCZ.js → devtoolsService-OVSOSM56.js} +2 -2
  43. package/bundle/{core-DU2UPBEJ.js → dist-EMBSC4SS.js} +3 -1
  44. package/bundle/{dist-CEGGZCD6.js → dist-SHJ4FBPT.js} +3 -1
  45. package/bundle/{dist-F4ZLD67R.js → dist-XMOYSFBW.js} +3 -1
  46. package/bundle/{gemini-3AA27X7W.js → gemini-23GFJRSL.js} +14 -14
  47. package/bundle/{gemini-EEFZ4W4N.js → gemini-4SDDBM2K.js} +13 -13
  48. package/bundle/{gemini-TPWWVYVB.js → gemini-VIZXE6FK.js} +14 -14
  49. package/bundle/{gemini-D5Y26G7I.js → gemini-XWN3KUEH.js} +14 -14
  50. package/bundle/gemini.js +7 -7
  51. package/bundle/{interactiveCli-B5QE2YQH.js → interactiveCli-P65NECXR.js} +30 -20
  52. package/bundle/{interactiveCli-5L4XUO4D.js → interactiveCli-R6XRMC4D.js} +30 -20
  53. package/bundle/{interactiveCli-S4W3W3HM.js → interactiveCli-ZHRXRBPP.js} +30 -20
  54. package/bundle/{interactiveCli-CFKGEXFE.js → interactiveCli-ZLTD7RPN.js} +30 -20
  55. package/bundle/{liteRtServerManager-2IHVDPV4.js → liteRtServerManager-6YTWQFQF.js} +4 -4
  56. package/bundle/{liteRtServerManager-7CA6UZB6.js → liteRtServerManager-D6LNW6CQ.js} +4 -4
  57. package/bundle/{liteRtServerManager-P4UUE4PT.js → liteRtServerManager-DV2CLRPW.js} +4 -4
  58. package/bundle/{liteRtServerManager-YN3VGMDA.js → liteRtServerManager-HNNHQ2GQ.js} +4 -4
  59. package/bundle/{oauth2-provider-5IAYEVTS.js → oauth2-provider-BTNIRWZ2.js} +1 -1
  60. package/bundle/{oauth2-provider-WD62E6UF.js → oauth2-provider-C3WLQHTS.js} +1 -1
  61. package/bundle/{oauth2-provider-NQK2KDLL.js → oauth2-provider-KWAZCQ6F.js} +1 -1
  62. package/bundle/{oauth2-provider-WGTNZKF7.js → oauth2-provider-Y4NUSLR7.js} +1 -1
  63. package/bundle/{start-AAWVXW3L.js → start-2YDK2M2Y.js} +6 -6
  64. package/bundle/{start-EHQUCJL4.js → start-DKFGI2SP.js} +6 -6
  65. package/bundle/{start-EJWSTD4L.js → start-KPTJV4UZ.js} +6 -6
  66. package/bundle/{start-LAOVDDQF.js → start-W2EDCOPO.js} +6 -6
  67. package/package.json +1 -1
@@ -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-3PLUHPJV.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-DVLOSJL6.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-7GTQ3TVY.js";
215
216
  import {
216
217
  handleAutoUpdate,
217
218
  isDevelopment,
218
219
  relaunchApp,
219
220
  setUpdateHandler
220
- } from "./chunk-R4U5N4EA.js";
221
+ } from "./chunk-KBVSP7UV.js";
221
222
  import {
222
223
  isTodoList,
223
224
  mapCoreStatusToDisplayStatus,
224
225
  require_react
225
- } from "./chunk-ZXFPRK6W.js";
226
+ } from "./chunk-SWSOO6PG.js";
226
227
  import {
227
228
  registerCleanup,
228
229
  removeCleanup,
229
230
  runExitCleanup,
230
231
  setupTtyCheck
231
- } from "./chunk-3RBWPCUC.js";
232
+ } from "./chunk-QC2XF7WU.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-6WDE67I7.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-I4R5WQXY.js");
33741
33751
  await toggleDevToolsPanel(
33742
33752
  config,
33743
33753
  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-IPUQ7EE3.js";
159
+ } from "./chunk-PBKO4RQZ.js";
159
160
  import {
160
161
  appEvents
161
162
  } from "./chunk-5PS3AYFU.js";
162
163
  import {
163
164
  require_source
164
- } from "./chunk-7JQYEHGG.js";
165
+ } from "./chunk-MKTEB4X2.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-QW5AOX4N.js";
215
+ } from "./chunk-KOY6HFDJ.js";
215
216
  import {
216
217
  handleAutoUpdate,
217
218
  isDevelopment,
218
219
  relaunchApp,
219
220
  setUpdateHandler
220
- } from "./chunk-R4UEOSDC.js";
221
+ } from "./chunk-ZW2TA44S.js";
221
222
  import {
222
223
  isTodoList,
223
224
  mapCoreStatusToDisplayStatus,
224
225
  require_react
225
- } from "./chunk-RHCHEKOW.js";
226
+ } from "./chunk-CQ5T2OOT.js";
226
227
  import {
227
228
  registerCleanup,
228
229
  removeCleanup,
229
230
  runExitCleanup,
230
231
  setupTtyCheck
231
- } from "./chunk-27JE2WT6.js";
232
+ } from "./chunk-LFPQWI47.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-EI75YPWJ.js";
433
+ } from "./chunk-KK5RNP2O.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-U7Z6S7CA.js");
33750
+ const { toggleDevToolsPanel } = await import("./devtoolsService-OVSOSM56.js");
33741
33751
  await toggleDevToolsPanel(
33742
33752
  config,
33743
33753
  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-22XWYJCL.js";
159
+ } from "./chunk-2GESUVEI.js";
159
160
  import {
160
161
  appEvents
161
162
  } from "./chunk-5PS3AYFU.js";
162
163
  import {
163
164
  require_source
164
- } from "./chunk-CWVF4ZTK.js";
165
+ } from "./chunk-YQE3FF4G.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-UHZJ6CQN.js";
215
+ } from "./chunk-XB2Y55JE.js";
215
216
  import {
216
217
  handleAutoUpdate,
217
218
  isDevelopment,
218
219
  relaunchApp,
219
220
  setUpdateHandler
220
- } from "./chunk-PE7HOVW5.js";
221
+ } from "./chunk-W7QA7FT5.js";
221
222
  import {
222
223
  isTodoList,
223
224
  mapCoreStatusToDisplayStatus,
224
225
  require_react
225
- } from "./chunk-RS7XVABE.js";
226
+ } from "./chunk-IPSGP4HZ.js";
226
227
  import {
227
228
  registerCleanup,
228
229
  removeCleanup,
229
230
  runExitCleanup,
230
231
  setupTtyCheck
231
- } from "./chunk-LEOT5EUQ.js";
232
+ } from "./chunk-AJKD63PC.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-O6PTG534.js";
433
+ } from "./chunk-XMZW4ETE.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-LQXWZBCZ.js");
33750
+ const { toggleDevToolsPanel } = await import("./devtoolsService-5ME5JZIQ.js");
33741
33751
  await toggleDevToolsPanel(
33742
33752
  config,
33743
33753
  showErrorDetails,
@@ -3,11 +3,11 @@ import {
3
3
  DEFAULT_PORT,
4
4
  getBinaryPath,
5
5
  isServerRunning
6
- } from "./chunk-UHZJ6CQN.js";
7
- import "./chunk-RS7XVABE.js";
6
+ } from "./chunk-KOY6HFDJ.js";
7
+ import "./chunk-CQ5T2OOT.js";
8
8
  import {
9
9
  debugLogger
10
- } from "./chunk-O6PTG534.js";
10
+ } from "./chunk-KK5RNP2O.js";
11
11
  import "./chunk-6HI7VNOG.js";
12
12
  import "./chunk-TUDYL3X4.js";
13
13
  import "./chunk-IUUIT4SU.js";
@@ -41,7 +41,7 @@ var LiteRtServerManager = class {
41
41
  `[LiteRtServerManager] Auto-starting LiteRT server on port ${port}...`
42
42
  );
43
43
  try {
44
- const { startServer } = await import("./start-LAOVDDQF.js");
44
+ const { startServer } = await import("./start-W2EDCOPO.js");
45
45
  const started = await startServer(binaryPath, port);
46
46
  if (started) {
47
47
  debugLogger.log(`[LiteRtServerManager] Server started on port ${port}`);
@@ -3,11 +3,11 @@ import {
3
3
  DEFAULT_PORT,
4
4
  getBinaryPath,
5
5
  isServerRunning
6
- } from "./chunk-B5F4VQB4.js";
7
- import "./chunk-2K6L5FOH.js";
6
+ } from "./chunk-FHPHAHTC.js";
7
+ import "./chunk-2XKNPALS.js";
8
8
  import {
9
9
  debugLogger
10
- } from "./chunk-E5QEVDYZ.js";
10
+ } from "./chunk-5ND76TYS.js";
11
11
  import "./chunk-6HI7VNOG.js";
12
12
  import "./chunk-TUDYL3X4.js";
13
13
  import "./chunk-IUUIT4SU.js";
@@ -41,7 +41,7 @@ var LiteRtServerManager = class {
41
41
  `[LiteRtServerManager] Auto-starting LiteRT server on port ${port}...`
42
42
  );
43
43
  try {
44
- const { startServer } = await import("./start-EHQUCJL4.js");
44
+ const { startServer } = await import("./start-KPTJV4UZ.js");
45
45
  const started = await startServer(binaryPath, port);
46
46
  if (started) {
47
47
  debugLogger.log(`[LiteRtServerManager] Server started on port ${port}`);
@@ -3,11 +3,11 @@ import {
3
3
  DEFAULT_PORT,
4
4
  getBinaryPath,
5
5
  isServerRunning
6
- } from "./chunk-QW5AOX4N.js";
7
- import "./chunk-RHCHEKOW.js";
6
+ } from "./chunk-7GTQ3TVY.js";
7
+ import "./chunk-SWSOO6PG.js";
8
8
  import {
9
9
  debugLogger
10
- } from "./chunk-EI75YPWJ.js";
10
+ } from "./chunk-6WDE67I7.js";
11
11
  import "./chunk-6HI7VNOG.js";
12
12
  import "./chunk-TUDYL3X4.js";
13
13
  import "./chunk-IUUIT4SU.js";
@@ -41,7 +41,7 @@ var LiteRtServerManager = class {
41
41
  `[LiteRtServerManager] Auto-starting LiteRT server on port ${port}...`
42
42
  );
43
43
  try {
44
- const { startServer } = await import("./start-AAWVXW3L.js");
44
+ const { startServer } = await import("./start-2YDK2M2Y.js");
45
45
  const started = await startServer(binaryPath, port);
46
46
  if (started) {
47
47
  debugLogger.log(`[LiteRtServerManager] Server started on port ${port}`);
@@ -3,11 +3,11 @@ import {
3
3
  DEFAULT_PORT,
4
4
  getBinaryPath,
5
5
  isServerRunning
6
- } from "./chunk-7PDJUYG7.js";
7
- import "./chunk-ZXFPRK6W.js";
6
+ } from "./chunk-XB2Y55JE.js";
7
+ import "./chunk-IPSGP4HZ.js";
8
8
  import {
9
9
  debugLogger
10
- } from "./chunk-USOBCNPR.js";
10
+ } from "./chunk-XMZW4ETE.js";
11
11
  import "./chunk-6HI7VNOG.js";
12
12
  import "./chunk-TUDYL3X4.js";
13
13
  import "./chunk-IUUIT4SU.js";
@@ -41,7 +41,7 @@ var LiteRtServerManager = class {
41
41
  `[LiteRtServerManager] Auto-starting LiteRT server on port ${port}...`
42
42
  );
43
43
  try {
44
- const { startServer } = await import("./start-EJWSTD4L.js");
44
+ const { startServer } = await import("./start-DKFGI2SP.js");
45
45
  const started = await startServer(binaryPath, port);
46
46
  if (started) {
47
47
  debugLogger.log(`[LiteRtServerManager] Server started on port ${port}`);
@@ -16,7 +16,7 @@ import {
16
16
  openBrowserSecurely,
17
17
  refreshAccessToken,
18
18
  startCallbackServer
19
- } from "./chunk-O6PTG534.js";
19
+ } from "./chunk-KK5RNP2O.js";
20
20
  import "./chunk-6HI7VNOG.js";
21
21
  import "./chunk-TUDYL3X4.js";
22
22
  import "./chunk-IUUIT4SU.js";
@@ -16,7 +16,7 @@ import {
16
16
  openBrowserSecurely,
17
17
  refreshAccessToken,
18
18
  startCallbackServer
19
- } from "./chunk-E5QEVDYZ.js";
19
+ } from "./chunk-5ND76TYS.js";
20
20
  import "./chunk-6HI7VNOG.js";
21
21
  import "./chunk-TUDYL3X4.js";
22
22
  import "./chunk-IUUIT4SU.js";