@google/gemini-cli 0.1.7 → 0.1.8-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/README.md +8 -2
  2. package/dist/google-gemini-cli-0.1.8-rc.1.tgz +0 -0
  3. package/dist/package.json +15 -11
  4. package/dist/src/config/auth.js +1 -1
  5. package/dist/src/config/auth.js.map +1 -1
  6. package/dist/src/config/config.js +1 -1
  7. package/dist/src/config/config.js.map +1 -1
  8. package/dist/src/config/settings.d.ts +1 -0
  9. package/dist/src/config/settings.js.map +1 -1
  10. package/dist/src/gemini.js +2 -2
  11. package/dist/src/gemini.js.map +1 -1
  12. package/dist/src/generated/git-commit.d.ts +1 -1
  13. package/dist/src/generated/git-commit.js +1 -1
  14. package/dist/src/nonInteractiveCli.js +4 -1
  15. package/dist/src/nonInteractiveCli.js.map +1 -1
  16. package/dist/src/ui/App.js +4 -25
  17. package/dist/src/ui/App.js.map +1 -1
  18. package/dist/src/ui/App.test.js +19 -0
  19. package/dist/src/ui/App.test.js.map +1 -1
  20. package/dist/src/ui/components/AuthDialog.d.ts +3 -3
  21. package/dist/src/ui/components/AuthDialog.js +3 -6
  22. package/dist/src/ui/components/AuthDialog.js.map +1 -1
  23. package/dist/src/ui/components/AuthDialog.test.js +3 -3
  24. package/dist/src/ui/components/AuthDialog.test.js.map +1 -1
  25. package/dist/src/ui/components/Footer.d.ts +0 -2
  26. package/dist/src/ui/components/Footer.js +2 -2
  27. package/dist/src/ui/components/Footer.js.map +1 -1
  28. package/dist/src/ui/components/Help.js +3 -1
  29. package/dist/src/ui/components/Help.js.map +1 -1
  30. package/dist/src/ui/components/HistoryItemDisplay.js +3 -1
  31. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  32. package/dist/src/ui/components/HistoryItemDisplay.test.js +19 -25
  33. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
  34. package/dist/src/ui/components/ModelStatsDisplay.d.ts +7 -0
  35. package/dist/src/ui/components/ModelStatsDisplay.js +33 -0
  36. package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -0
  37. package/dist/src/ui/components/ModelStatsDisplay.test.js +217 -0
  38. package/dist/src/ui/components/ModelStatsDisplay.test.js.map +1 -0
  39. package/dist/src/ui/components/SessionSummaryDisplay.d.ts +0 -2
  40. package/dist/src/ui/components/SessionSummaryDisplay.js +3 -19
  41. package/dist/src/ui/components/SessionSummaryDisplay.js.map +1 -1
  42. package/dist/src/ui/components/SessionSummaryDisplay.test.js +46 -27
  43. package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +1 -1
  44. package/dist/src/ui/components/StatsDisplay.d.ts +1 -3
  45. package/dist/src/ui/components/StatsDisplay.js +34 -20
  46. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  47. package/dist/src/ui/components/StatsDisplay.test.js +261 -37
  48. package/dist/src/ui/components/StatsDisplay.test.js.map +1 -1
  49. package/dist/src/ui/components/ToolStatsDisplay.d.ts +7 -0
  50. package/dist/src/ui/components/ToolStatsDisplay.js +41 -0
  51. package/dist/src/ui/components/ToolStatsDisplay.js.map +1 -0
  52. package/dist/src/ui/components/ToolStatsDisplay.test.d.ts +6 -0
  53. package/dist/src/ui/components/ToolStatsDisplay.test.js +160 -0
  54. package/dist/src/ui/components/ToolStatsDisplay.test.js.map +1 -0
  55. package/dist/src/ui/components/messages/UserMessage.js +1 -1
  56. package/dist/src/ui/components/messages/UserMessage.js.map +1 -1
  57. package/dist/src/ui/components/shared/MaxSizedBox.js +5 -4
  58. package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
  59. package/dist/src/ui/components/shared/MaxSizedBox.test.js +1 -1
  60. package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +1 -1
  61. package/dist/src/ui/contexts/SessionContext.d.ts +17 -19
  62. package/dist/src/ui/contexts/SessionContext.js +20 -103
  63. package/dist/src/ui/contexts/SessionContext.js.map +1 -1
  64. package/dist/src/ui/contexts/SessionContext.test.js +66 -121
  65. package/dist/src/ui/contexts/SessionContext.test.js.map +1 -1
  66. package/dist/src/ui/editors/editorSettingsManager.js +4 -0
  67. package/dist/src/ui/editors/editorSettingsManager.js.map +1 -1
  68. package/dist/src/ui/hooks/slashCommandProcessor.js +36 -18
  69. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  70. package/dist/src/ui/hooks/useAuthCommand.d.ts +2 -3
  71. package/dist/src/ui/hooks/useAuthCommand.js +7 -13
  72. package/dist/src/ui/hooks/useAuthCommand.js.map +1 -1
  73. package/dist/src/ui/hooks/useConsoleMessages.js +3 -2
  74. package/dist/src/ui/hooks/useConsoleMessages.js.map +1 -1
  75. package/dist/src/ui/hooks/useGeminiStream.js +64 -92
  76. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  77. package/dist/src/ui/hooks/useGeminiStream.test.js +86 -134
  78. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  79. package/dist/src/ui/hooks/useReactToolScheduler.js +2 -2
  80. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  81. package/dist/src/ui/hooks/useStateAndRef.d.ts +1 -1
  82. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +7 -2
  83. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +1 -1
  84. package/dist/src/ui/privacy/PrivacyNotice.js +1 -1
  85. package/dist/src/ui/privacy/PrivacyNotice.js.map +1 -1
  86. package/dist/src/ui/themes/shades-of-purple.d.ts +11 -0
  87. package/dist/src/ui/themes/shades-of-purple.js +302 -0
  88. package/dist/src/ui/themes/shades-of-purple.js.map +1 -0
  89. package/dist/src/ui/themes/theme-manager.js +2 -0
  90. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  91. package/dist/src/ui/types.d.ts +17 -8
  92. package/dist/src/ui/types.js +2 -0
  93. package/dist/src/ui/types.js.map +1 -1
  94. package/dist/src/ui/utils/MarkdownDisplay.js +55 -0
  95. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
  96. package/dist/src/ui/utils/MarkdownDisplay.test.d.ts +6 -0
  97. package/dist/src/ui/utils/MarkdownDisplay.test.js +176 -0
  98. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -0
  99. package/dist/src/ui/utils/TableRenderer.d.ts +17 -0
  100. package/dist/src/ui/utils/TableRenderer.js +66 -0
  101. package/dist/src/ui/utils/TableRenderer.js.map +1 -0
  102. package/dist/src/ui/utils/computeStats.d.ts +10 -0
  103. package/dist/src/ui/utils/computeStats.js +55 -0
  104. package/dist/src/ui/utils/computeStats.js.map +1 -0
  105. package/dist/src/ui/utils/displayUtils.d.ts +17 -0
  106. package/dist/src/ui/utils/displayUtils.js +24 -0
  107. package/dist/src/ui/utils/displayUtils.js.map +1 -0
  108. package/dist/src/ui/utils/errorParsing.js +1 -1
  109. package/dist/src/ui/utils/errorParsing.js.map +1 -1
  110. package/dist/src/ui/utils/formatters.js +1 -1
  111. package/dist/src/ui/utils/formatters.js.map +1 -1
  112. package/dist/src/ui/utils/textUtils.js +2 -2
  113. package/dist/src/ui/utils/textUtils.js.map +1 -1
  114. package/dist/src/ui/utils/updateCheck.js +3 -1
  115. package/dist/src/ui/utils/updateCheck.js.map +1 -1
  116. package/dist/tsconfig.tsbuildinfo +1 -1
  117. package/package.json +15 -11
  118. package/dist/google-gemini-cli-0.1.7.tgz +0 -0
  119. package/dist/src/ui/components/Stats.d.ts +0 -39
  120. package/dist/src/ui/components/Stats.js +0 -23
  121. package/dist/src/ui/components/Stats.js.map +0 -1
  122. package/dist/src/ui/components/Stats.test.js +0 -57
  123. package/dist/src/ui/components/Stats.test.js.map +0 -1
  124. /package/dist/src/ui/components/{Stats.test.d.ts → ModelStatsDisplay.test.d.ts} +0 -0
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Colors } from '../colors.js';
7
+ // --- Thresholds ---
8
+ export const TOOL_SUCCESS_RATE_HIGH = 95;
9
+ export const TOOL_SUCCESS_RATE_MEDIUM = 85;
10
+ export const USER_AGREEMENT_RATE_HIGH = 75;
11
+ export const USER_AGREEMENT_RATE_MEDIUM = 45;
12
+ export const CACHE_EFFICIENCY_HIGH = 40;
13
+ export const CACHE_EFFICIENCY_MEDIUM = 15;
14
+ // --- Color Logic ---
15
+ export const getStatusColor = (value, thresholds, options = {}) => {
16
+ if (value >= thresholds.green) {
17
+ return Colors.AccentGreen;
18
+ }
19
+ if (value >= thresholds.yellow) {
20
+ return Colors.AccentYellow;
21
+ }
22
+ return options.defaultColor || Colors.AccentRed;
23
+ };
24
+ //# sourceMappingURL=displayUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"displayUtils.js","sourceRoot":"","sources":["../../../../src/ui/utils/displayUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,qBAAqB;AACrB,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AACzC,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAE7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C,sBAAsB;AACtB,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAa,EACb,UAA6C,EAC7C,UAAqC,EAAE,EACvC,EAAE;IACF,IAAI,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,WAAW,CAAC;IAC5B,CAAC;IACD,IAAI,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,YAAY,CAAC;IAC7B,CAAC;IACD,OAAO,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,SAAS,CAAC;AAClD,CAAC,CAAC"}
@@ -23,7 +23,7 @@ function isStructuredError(error) {
23
23
  }
24
24
  function getRateLimitMessage(authType) {
25
25
  switch (authType) {
26
- case AuthType.LOGIN_WITH_GOOGLE_PERSONAL:
26
+ case AuthType.LOGIN_WITH_GOOGLE:
27
27
  return RATE_LIMIT_ERROR_MESSAGE_GOOGLE;
28
28
  case AuthType.USE_GEMINI:
29
29
  return RATE_LIMIT_ERROR_MESSAGE_USE_GEMINI;
@@ -1 +1 @@
1
- {"version":3,"file":"errorParsing.js","sourceRoot":"","sources":["../../../../src/ui/utils/errorParsing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errorParsing.js","sourceRoot":"","sources":["../../../../src/ui/utils/errorParsing.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ export const formatDuration = (milliseconds) => {
24
24
  return '0s';
25
25
  }
26
26
  if (milliseconds < 1000) {
27
- return `${milliseconds}ms`;
27
+ return `${Math.round(milliseconds)}ms`;
28
28
  }
29
29
  const totalSeconds = milliseconds / 1000;
30
30
  if (totalSeconds < 60) {
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../../src/ui/utils/formatters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAU,EAAE;IACzD,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IACxC,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3C,CAAC;IACD,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IACpD,CAAC;IACD,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/B,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,YAAoB,EAAU,EAAE;IAC7D,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,YAAY,GAAG,IAAI,EAAE,CAAC;QACxB,OAAO,GAAG,YAAY,IAAI,CAAC;IAC7B,CAAC;IAED,MAAM,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC;IAEzC,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;QACtB,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvC,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;IAE9C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,yEAAyE;IACzE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,GAAG,KAAK,GAAG,CAAC;QAClC,IAAI,OAAO,GAAG,CAAC;YAAE,OAAO,GAAG,OAAO,GAAG,CAAC;QACtC,OAAO,GAAG,OAAO,GAAG,CAAC;IACvB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC"}
1
+ {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../../src/ui/utils/formatters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAU,EAAE;IACzD,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IACxC,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3C,CAAC;IACD,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IACpD,CAAC;IACD,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/B,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,YAAoB,EAAU,EAAE;IAC7D,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,YAAY,GAAG,IAAI,EAAE,CAAC;QACxB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,MAAM,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC;IAEzC,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;QACtB,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvC,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;IAE9C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,yEAAyE;IACzE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,GAAG,KAAK,GAAG,CAAC;QAClC,IAAI,OAAO,GAAG,CAAC;YAAE,OAAO,GAAG,OAAO,GAAG,CAAC;QACtC,OAAO,GAAG,OAAO,GAAG,CAAC;IACvB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC"}
@@ -27,10 +27,10 @@ export function isBinary(data, sampleSize = 512) {
27
27
  return false;
28
28
  }
29
29
  const sample = data.length > sampleSize ? data.subarray(0, sampleSize) : data;
30
- for (let i = 0; i < sample.length; i++) {
30
+ for (const byte of sample) {
31
31
  // The presence of a NULL byte (0x00) is one of the most reliable
32
32
  // indicators of a binary file. Text files should not contain them.
33
- if (sample[i] === 0) {
33
+ if (byte === 0) {
34
34
  return true;
35
35
  }
36
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"textUtils.js","sourceRoot":"","sources":["../../../../src/ui/utils/textUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAU,EAAE;IAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CACtB,IAA+B,EAC/B,UAAU,GAAG,GAAG;IAEhB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,iEAAiE;QACjE,mEAAmE;QACnE,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;4EAI4E;AAE5E,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,qEAAqE;IACrE,6BAA6B;IAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,KAAa,EAAE,GAAY;IAC9D,2CAA2C;IAC3C,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChD,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"textUtils.js","sourceRoot":"","sources":["../../../../src/ui/utils/textUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAU,EAAE;IAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CACtB,IAA+B,EAC/B,UAAU,GAAG,GAAG;IAEhB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE9E,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,iEAAiE;QACjE,mEAAmE;QACnE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;4EAI4E;AAE5E,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,qEAAqE;IACrE,6BAA6B;IAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,KAAa,EAAE,GAAY;IAC9D,2CAA2C;IAC3C,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChD,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC"}
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import updateNotifier from 'update-notifier';
7
+ import semver from 'semver';
7
8
  import { getPackageJson } from '../../utils/package.js';
8
9
  export async function checkForUpdates() {
9
10
  try {
@@ -21,7 +22,8 @@ export async function checkForUpdates() {
21
22
  // allow notifier to run in scripts
22
23
  shouldNotifyInNpmScript: true,
23
24
  });
24
- if (notifier.update) {
25
+ if (notifier.update &&
26
+ semver.gt(notifier.update.latest, notifier.update.current)) {
25
27
  return `Gemini CLI update available! ${notifier.update.current} → ${notifier.update.latest}\nRun npm install -g ${packageJson.name} to update`;
26
28
  }
27
29
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"updateCheck.js","sourceRoot":"","sources":["../../../../src/ui/utils/updateCheck.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,QAAQ,GAAG,cAAc,CAAC;YAC9B,GAAG,EAAE;gBACH,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,OAAO,EAAE,WAAW,CAAC,OAAO;aAC7B;YACD,mBAAmB;YACnB,mBAAmB,EAAE,CAAC;YACtB,mCAAmC;YACnC,uBAAuB,EAAE,IAAI;SAC9B,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,gCAAgC,QAAQ,CAAC,MAAM,CAAC,OAAO,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,wBAAwB,WAAW,CAAC,IAAI,YAAY,CAAC;QACjJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,+BAA+B,GAAG,CAAC,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"updateCheck.js","sourceRoot":"","sources":["../../../../src/ui/utils/updateCheck.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAC7C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,QAAQ,GAAG,cAAc,CAAC;YAC9B,GAAG,EAAE;gBACH,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,OAAO,EAAE,WAAW,CAAC,OAAO;aAC7B;YACD,mBAAmB;YACnB,mBAAmB,EAAE,CAAC;YACtB,mCAAmC;YACnC,uBAAuB,EAAE,IAAI;SAC9B,CAAC,CAAC;QAEH,IACE,QAAQ,CAAC,MAAM;YACf,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAC1D,CAAC;YACD,OAAO,gCAAgC,QAAQ,CAAC,MAAM,CAAC,OAAO,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,wBAAwB,WAAW,CAAC,IAAI,YAAY,CAAC;QACjJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,+BAA+B,GAAG,CAAC,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}