@google/gemini-cli 0.1.17 → 0.1.18-nightly.250811.2865a527

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 (206) hide show
  1. package/README.md +199 -132
  2. package/dist/google-gemini-cli-0.1.18.tgz +0 -0
  3. package/dist/package.json +6 -3
  4. package/dist/src/acp/acpPeer.js +72 -64
  5. package/dist/src/acp/acpPeer.js.map +1 -1
  6. package/dist/src/commands/mcp/add.d.ts +7 -0
  7. package/dist/src/commands/mcp/add.js +155 -0
  8. package/dist/src/commands/mcp/add.js.map +1 -0
  9. package/dist/src/commands/mcp/list.d.ts +8 -0
  10. package/dist/src/commands/mcp/list.js +110 -0
  11. package/dist/src/commands/mcp/list.js.map +1 -0
  12. package/dist/src/commands/mcp/remove.d.ts +7 -0
  13. package/dist/src/commands/mcp/remove.js +44 -0
  14. package/dist/src/commands/mcp/remove.js.map +1 -0
  15. package/dist/src/commands/mcp.d.ts +7 -0
  16. package/dist/src/commands/mcp.js +23 -0
  17. package/dist/src/commands/mcp.js.map +1 -0
  18. package/dist/src/config/config.d.ts +1 -1
  19. package/dist/src/config/config.js +77 -46
  20. package/dist/src/config/config.js.map +1 -1
  21. package/dist/src/config/keyBindings.d.ts +66 -0
  22. package/dist/src/config/keyBindings.js +136 -0
  23. package/dist/src/config/keyBindings.js.map +1 -0
  24. package/dist/src/config/settings.d.ts +3 -48
  25. package/dist/src/config/settings.js +23 -3
  26. package/dist/src/config/settings.js.map +1 -1
  27. package/dist/src/config/settingsSchema.d.ts +497 -0
  28. package/dist/src/config/settingsSchema.js +470 -0
  29. package/dist/src/config/settingsSchema.js.map +1 -0
  30. package/dist/src/gemini.js +5 -28
  31. package/dist/src/gemini.js.map +1 -1
  32. package/dist/src/generated/git-commit.d.ts +1 -1
  33. package/dist/src/generated/git-commit.js +2 -2
  34. package/dist/src/generated/git-commit.js.map +1 -1
  35. package/dist/src/nonInteractiveCli.js +20 -12
  36. package/dist/src/nonInteractiveCli.js.map +1 -1
  37. package/dist/src/services/BuiltinCommandLoader.js +3 -2
  38. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  39. package/dist/src/ui/App.js +103 -38
  40. package/dist/src/ui/App.js.map +1 -1
  41. package/dist/src/ui/IdeIntegrationNudge.d.ts +13 -0
  42. package/dist/src/ui/IdeIntegrationNudge.js +31 -0
  43. package/dist/src/ui/IdeIntegrationNudge.js.map +1 -0
  44. package/dist/src/ui/commands/chatCommand.js +15 -0
  45. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  46. package/dist/src/ui/commands/directoryCommand.js +21 -1
  47. package/dist/src/ui/commands/directoryCommand.js.map +1 -1
  48. package/dist/src/ui/commands/ideCommand.js +103 -35
  49. package/dist/src/ui/commands/ideCommand.js.map +1 -1
  50. package/dist/src/ui/commands/memoryCommand.js +3 -1
  51. package/dist/src/ui/commands/memoryCommand.js.map +1 -1
  52. package/dist/src/ui/commands/settingsCommand.d.ts +7 -0
  53. package/dist/src/ui/commands/settingsCommand.js +16 -0
  54. package/dist/src/ui/commands/settingsCommand.js.map +1 -0
  55. package/dist/src/ui/commands/setupGithubCommand.js +57 -18
  56. package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
  57. package/dist/src/ui/commands/types.d.ts +14 -2
  58. package/dist/src/ui/commands/types.js.map +1 -1
  59. package/dist/src/ui/components/AsciiArt.d.ts +1 -0
  60. package/dist/src/ui/components/AsciiArt.js +10 -0
  61. package/dist/src/ui/components/AsciiArt.js.map +1 -1
  62. package/dist/src/ui/components/AuthInProgress.js +3 -3
  63. package/dist/src/ui/components/AuthInProgress.js.map +1 -1
  64. package/dist/src/ui/components/ContextSummaryDisplay.js +21 -24
  65. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
  66. package/dist/src/ui/components/ContextUsageDisplay.d.ts +9 -0
  67. package/dist/src/ui/components/ContextUsageDisplay.js +14 -0
  68. package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -0
  69. package/dist/src/ui/components/FolderTrustDialog.d.ts +16 -0
  70. package/dist/src/ui/components/FolderTrustDialog.js +38 -0
  71. package/dist/src/ui/components/FolderTrustDialog.js.map +1 -0
  72. package/dist/src/ui/components/Footer.js +14 -5
  73. package/dist/src/ui/components/Footer.js.map +1 -1
  74. package/dist/src/ui/components/Header.d.ts +0 -1
  75. package/dist/src/ui/components/Header.js +13 -5
  76. package/dist/src/ui/components/Header.js.map +1 -1
  77. package/dist/src/ui/components/InputPrompt.d.ts +1 -0
  78. package/dist/src/ui/components/InputPrompt.js +90 -34
  79. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  80. package/dist/src/ui/components/LoadingIndicator.js +10 -5
  81. package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
  82. package/dist/src/ui/components/SettingsDialog.d.ts +14 -0
  83. package/dist/src/ui/components/SettingsDialog.js +247 -0
  84. package/dist/src/ui/components/SettingsDialog.js.map +1 -0
  85. package/dist/src/ui/components/SuggestionsDisplay.js +1 -1
  86. package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
  87. package/dist/src/ui/components/ThemeDialog.js +4 -15
  88. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  89. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +29 -9
  90. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  91. package/dist/src/ui/contexts/SettingsContext.d.ts +9 -0
  92. package/dist/src/ui/contexts/SettingsContext.js +15 -0
  93. package/dist/src/ui/contexts/SettingsContext.js.map +1 -0
  94. package/dist/src/ui/hooks/atCommandProcessor.js +7 -4
  95. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  96. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +6 -2
  97. package/dist/src/ui/hooks/slashCommandProcessor.js +36 -3
  98. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  99. package/dist/src/ui/hooks/useAtCompletion.d.ts +23 -0
  100. package/dist/src/ui/hooks/useAtCompletion.js +180 -0
  101. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -0
  102. package/dist/src/ui/hooks/useCommandCompletion.d.ts +6 -1
  103. package/dist/src/ui/hooks/useCommandCompletion.js +95 -383
  104. package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -1
  105. package/dist/src/ui/hooks/useFolderTrust.d.ts +11 -0
  106. package/dist/src/ui/hooks/useFolderTrust.js +22 -0
  107. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -0
  108. package/dist/src/ui/hooks/useGeminiStream.d.ts +1 -1
  109. package/dist/src/ui/hooks/useGeminiStream.js +3 -2
  110. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  111. package/dist/src/ui/hooks/usePhraseCycler.js +2 -5
  112. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
  113. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +1 -1
  114. package/dist/src/ui/hooks/useReactToolScheduler.js +18 -16
  115. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  116. package/dist/src/ui/hooks/useReverseSearchCompletion.js +4 -2
  117. package/dist/src/ui/hooks/useReverseSearchCompletion.js.map +1 -1
  118. package/dist/src/ui/hooks/useSettingsCommand.d.ts +10 -0
  119. package/dist/src/ui/hooks/useSettingsCommand.js +21 -0
  120. package/dist/src/ui/hooks/useSettingsCommand.js.map +1 -0
  121. package/dist/src/ui/hooks/useSlashCompletion.d.ts +20 -0
  122. package/dist/src/ui/hooks/useSlashCompletion.js +135 -0
  123. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -0
  124. package/dist/src/ui/hooks/vim.js +13 -4
  125. package/dist/src/ui/hooks/vim.js.map +1 -1
  126. package/dist/src/ui/keyMatchers.d.ts +26 -0
  127. package/dist/src/ui/keyMatchers.js +68 -0
  128. package/dist/src/ui/keyMatchers.js.map +1 -0
  129. package/dist/src/ui/semantic-colors.d.ts +7 -0
  130. package/dist/src/ui/semantic-colors.js +24 -0
  131. package/dist/src/ui/semantic-colors.js.map +1 -0
  132. package/dist/src/ui/themes/ansi-light.js +2 -1
  133. package/dist/src/ui/themes/ansi-light.js.map +1 -1
  134. package/dist/src/ui/themes/ansi.js +2 -1
  135. package/dist/src/ui/themes/ansi.js.map +1 -1
  136. package/dist/src/ui/themes/atom-one-dark.js +2 -1
  137. package/dist/src/ui/themes/atom-one-dark.js.map +1 -1
  138. package/dist/src/ui/themes/ayu-light.js +2 -1
  139. package/dist/src/ui/themes/ayu-light.js.map +1 -1
  140. package/dist/src/ui/themes/ayu.js +2 -1
  141. package/dist/src/ui/themes/ayu.js.map +1 -1
  142. package/dist/src/ui/themes/default-light.js +2 -1
  143. package/dist/src/ui/themes/default-light.js.map +1 -1
  144. package/dist/src/ui/themes/default.js +2 -1
  145. package/dist/src/ui/themes/default.js.map +1 -1
  146. package/dist/src/ui/themes/dracula.js +2 -1
  147. package/dist/src/ui/themes/dracula.js.map +1 -1
  148. package/dist/src/ui/themes/github-dark.js +2 -1
  149. package/dist/src/ui/themes/github-dark.js.map +1 -1
  150. package/dist/src/ui/themes/github-light.js +2 -1
  151. package/dist/src/ui/themes/github-light.js.map +1 -1
  152. package/dist/src/ui/themes/googlecode.js +2 -1
  153. package/dist/src/ui/themes/googlecode.js.map +1 -1
  154. package/dist/src/ui/themes/no-color.js +30 -1
  155. package/dist/src/ui/themes/no-color.js.map +1 -1
  156. package/dist/src/ui/themes/semantic-tokens.d.ts +37 -0
  157. package/dist/src/ui/themes/semantic-tokens.js +94 -0
  158. package/dist/src/ui/themes/semantic-tokens.js.map +1 -0
  159. package/dist/src/ui/themes/shades-of-purple.js +2 -1
  160. package/dist/src/ui/themes/shades-of-purple.js.map +1 -1
  161. package/dist/src/ui/themes/theme-manager.d.ts +6 -0
  162. package/dist/src/ui/themes/theme-manager.js +7 -0
  163. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  164. package/dist/src/ui/themes/theme.d.ts +45 -2
  165. package/dist/src/ui/themes/theme.js +92 -107
  166. package/dist/src/ui/themes/theme.js.map +1 -1
  167. package/dist/src/ui/themes/xcode.js +2 -1
  168. package/dist/src/ui/themes/xcode.js.map +1 -1
  169. package/dist/src/ui/types.d.ts +1 -1
  170. package/dist/src/ui/utils/CodeColorizer.d.ts +2 -1
  171. package/dist/src/ui/utils/CodeColorizer.js +4 -3
  172. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  173. package/dist/src/ui/utils/ConsolePatcher.d.ts +3 -1
  174. package/dist/src/ui/utils/ConsolePatcher.js +18 -8
  175. package/dist/src/ui/utils/ConsolePatcher.js.map +1 -1
  176. package/dist/src/ui/utils/MarkdownDisplay.js +4 -2
  177. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
  178. package/dist/src/ui/utils/commandUtils.d.ts +1 -0
  179. package/dist/src/ui/utils/commandUtils.js +22 -1
  180. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  181. package/dist/src/ui/utils/isNarrowWidth.d.ts +6 -0
  182. package/dist/src/ui/utils/isNarrowWidth.js +9 -0
  183. package/dist/src/ui/utils/isNarrowWidth.js.map +1 -0
  184. package/dist/src/utils/cleanup.d.ts +2 -2
  185. package/dist/src/utils/cleanup.js +2 -2
  186. package/dist/src/utils/cleanup.js.map +1 -1
  187. package/dist/src/utils/dialogScopeUtils.d.ts +31 -0
  188. package/dist/src/utils/dialogScopeUtils.js +48 -0
  189. package/dist/src/utils/dialogScopeUtils.js.map +1 -0
  190. package/dist/src/utils/gitUtils.d.ts +21 -1
  191. package/dist/src/utils/gitUtils.js +70 -3
  192. package/dist/src/utils/gitUtils.js.map +1 -1
  193. package/dist/src/utils/resolvePath.d.ts +6 -0
  194. package/dist/src/utils/resolvePath.js +21 -0
  195. package/dist/src/utils/resolvePath.js.map +1 -0
  196. package/dist/src/utils/sandbox.js +426 -405
  197. package/dist/src/utils/sandbox.js.map +1 -1
  198. package/dist/src/utils/settingsUtils.d.ts +126 -0
  199. package/dist/src/utils/settingsUtils.js +327 -0
  200. package/dist/src/utils/settingsUtils.js.map +1 -0
  201. package/dist/tsconfig.tsbuildinfo +1 -1
  202. package/package.json +6 -3
  203. package/dist/google-gemini-cli-0.1.16.tgz +0 -0
  204. package/dist/src/ui/components/IDEContextDetailDisplay.d.ts +0 -12
  205. package/dist/src/ui/components/IDEContextDetailDisplay.js +0 -12
  206. package/dist/src/ui/components/IDEContextDetailDisplay.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"nonInteractiveCli.js","sourceRoot":"","sources":["../../src/nonInteractiveCli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nonInteractiveCli.js","sourceRoot":"","sources":["../../src/nonInteractiveCli.ts"],"names":[],"mappings":"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"}
@@ -26,9 +26,9 @@ import { restoreCommand } from '../ui/commands/restoreCommand.js';
26
26
  import { statsCommand } from '../ui/commands/statsCommand.js';
27
27
  import { themeCommand } from '../ui/commands/themeCommand.js';
28
28
  import { toolsCommand } from '../ui/commands/toolsCommand.js';
29
+ import { settingsCommand } from '../ui/commands/settingsCommand.js';
29
30
  import { vimCommand } from '../ui/commands/vimCommand.js';
30
31
  import { setupGithubCommand } from '../ui/commands/setupGithubCommand.js';
31
- import { isGitHubRepository } from '../utils/gitUtils.js';
32
32
  /**
33
33
  * Loads the core, hard-coded slash commands that are an integral part
34
34
  * of the Gemini CLI application.
@@ -70,8 +70,9 @@ export class BuiltinCommandLoader {
70
70
  statsCommand,
71
71
  themeCommand,
72
72
  toolsCommand,
73
+ settingsCommand,
73
74
  vimCommand,
74
- ...(isGitHubRepository() ? [setupGithubCommand] : []),
75
+ setupGithubCommand,
75
76
  ];
76
77
  return allDefinitions.filter((cmd) => cmd !== null);
77
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BuiltinCommandLoader.js","sourceRoot":"","sources":["../../../src/services/BuiltinCommandLoader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACX;IAApB,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE7C;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAAC,OAAoB;QACrC,MAAM,cAAc,GAA+B;YACjD,YAAY;YACZ,WAAW;YACX,UAAU;YACV,WAAW;YACX,YAAY;YACZ,eAAe;YACf,WAAW;YACX,YAAY;YACZ,WAAW;YACX,gBAAgB;YAChB,aAAa;YACb,iBAAiB;YACjB,WAAW;YACX,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;YACvB,WAAW;YACX,UAAU;YACV,aAAa;YACb,cAAc;YACd,WAAW;YACX,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3B,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,UAAU;YACV,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC;QAEF,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAuB,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;IAC3E,CAAC;CACF"}
1
+ {"version":3,"file":"BuiltinCommandLoader.js","sourceRoot":"","sources":["../../../src/services/BuiltinCommandLoader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACX;IAApB,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE7C;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAAC,OAAoB;QACrC,MAAM,cAAc,GAA+B;YACjD,YAAY;YACZ,WAAW;YACX,UAAU;YACV,WAAW;YACX,YAAY;YACZ,eAAe;YACf,WAAW;YACX,YAAY;YACZ,WAAW;YACX,gBAAgB;YAChB,aAAa;YACb,iBAAiB;YACjB,WAAW;YACX,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;YACvB,WAAW;YACX,UAAU;YACV,aAAa;YACb,cAAc;YACd,WAAW;YACX,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3B,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,eAAe;YACf,UAAU;YACV,kBAAkB;SACnB,CAAC;QAEF,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAuB,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;IAC3E,CAAC;CACF"}
@@ -5,13 +5,14 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
5
5
  * SPDX-License-Identifier: Apache-2.0
6
6
  */
7
7
  import { useCallback, useEffect, useMemo, useState, useRef } from 'react';
8
- import { Box, measureElement, Static, Text, useStdin, useStdout, useInput, } from 'ink';
8
+ import { Box, measureElement, Static, Text, useStdin, useStdout, } from 'ink';
9
9
  import { StreamingState, MessageType } from './types.js';
10
10
  import { useTerminalSize } from './hooks/useTerminalSize.js';
11
11
  import { useGeminiStream } from './hooks/useGeminiStream.js';
12
12
  import { useLoadingIndicator } from './hooks/useLoadingIndicator.js';
13
13
  import { useThemeCommand } from './hooks/useThemeCommand.js';
14
14
  import { useAuthCommand } from './hooks/useAuthCommand.js';
15
+ import { useFolderTrust } from './hooks/useFolderTrust.js';
15
16
  import { useEditorSettings } from './hooks/useEditorSettings.js';
16
17
  import { useSlashCommandProcessor } from './hooks/slashCommandProcessor.js';
17
18
  import { useAutoAcceptIndicator } from './hooks/useAutoAcceptIndicator.js';
@@ -26,19 +27,22 @@ import { ThemeDialog } from './components/ThemeDialog.js';
26
27
  import { AuthDialog } from './components/AuthDialog.js';
27
28
  import { AuthInProgress } from './components/AuthInProgress.js';
28
29
  import { EditorSettingsDialog } from './components/EditorSettingsDialog.js';
30
+ import { FolderTrustDialog } from './components/FolderTrustDialog.js';
29
31
  import { ShellConfirmationDialog } from './components/ShellConfirmationDialog.js';
32
+ import { RadioButtonSelect } from './components/shared/RadioButtonSelect.js';
30
33
  import { Colors } from './colors.js';
31
34
  import { loadHierarchicalGeminiMemory } from '../config/config.js';
35
+ import { SettingScope } from '../config/settings.js';
32
36
  import { Tips } from './components/Tips.js';
33
37
  import { ConsolePatcher } from './utils/ConsolePatcher.js';
34
38
  import { registerCleanup } from '../utils/cleanup.js';
35
39
  import { DetailedMessagesDisplay } from './components/DetailedMessagesDisplay.js';
36
40
  import { HistoryItemDisplay } from './components/HistoryItemDisplay.js';
37
41
  import { ContextSummaryDisplay } from './components/ContextSummaryDisplay.js';
38
- import { IDEContextDetailDisplay } from './components/IDEContextDetailDisplay.js';
39
42
  import { useHistory } from './hooks/useHistoryManager.js';
40
43
  import process from 'node:process';
41
44
  import { getErrorMessage, getAllGeminiMdFilenames, ApprovalMode, isEditorAvailable, FlashFallbackEvent, logFlashFallback, AuthType, ideContext, } from '@google/gemini-cli-core';
45
+ import { IdeIntegrationNudge, } from './IdeIntegrationNudge.js';
42
46
  import { validateAuthMethod } from '../config/auth.js';
43
47
  import { useLogger } from './hooks/useLogger.js';
44
48
  import { StreamingContext } from './contexts/StreamingContext.js';
@@ -49,6 +53,8 @@ import { useBracketedPaste } from './hooks/useBracketedPaste.js';
49
53
  import { useTextBuffer } from './components/shared/text-buffer.js';
50
54
  import { useVimMode, VimModeProvider } from './contexts/VimModeContext.js';
51
55
  import { useVim } from './hooks/vim.js';
56
+ import { useKeypress } from './hooks/useKeypress.js';
57
+ import { keyMatchers, Command } from './keyMatchers.js';
52
58
  import * as fs from 'fs';
53
59
  import { UpdateNotification } from './components/UpdateNotification.js';
54
60
  import { isProQuotaExceededError, isGenericQuotaExceededError, UserTierId, } from '@google/gemini-cli-core';
@@ -56,8 +62,11 @@ import ansiEscapes from 'ansi-escapes';
56
62
  import { OverflowProvider } from './contexts/OverflowContext.js';
57
63
  import { ShowMoreLines } from './components/ShowMoreLines.js';
58
64
  import { PrivacyNotice } from './privacy/PrivacyNotice.js';
65
+ import { useSettingsCommand } from './hooks/useSettingsCommand.js';
66
+ import { SettingsDialog } from './components/SettingsDialog.js';
59
67
  import { setUpdateHandler } from '../utils/handleAutoUpdate.js';
60
68
  import { appEvents, AppEvent } from '../utils/events.js';
69
+ import { isNarrowWidth } from './utils/isNarrowWidth.js';
61
70
  const CTRL_EXIT_PROMPT_DURATION_MS = 1000;
62
71
  export const AppWrapper = (props) => (_jsx(SessionStatsProvider, { children: _jsx(VimModeProvider, { settings: props.settings, children: _jsx(App, { ...props }) }) }));
63
72
  const App = ({ config, settings, startupWarnings = [], version }) => {
@@ -67,6 +76,16 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
67
76
  const { stdout } = useStdout();
68
77
  const nightly = version.includes('nightly');
69
78
  const { history, addItem, clearItems, loadHistory } = useHistory();
79
+ const [idePromptAnswered, setIdePromptAnswered] = useState(false);
80
+ const currentIDE = config.getIdeClient().getCurrentIde();
81
+ useEffect(() => {
82
+ registerCleanup(() => config.getIdeClient().disconnect());
83
+ }, [config]);
84
+ const shouldShowIdePrompt = config.getIdeModeFeature() &&
85
+ currentIDE &&
86
+ !config.getIdeMode() &&
87
+ !settings.merged.hasSeenIdeIntegrationNudge &&
88
+ !idePromptAnswered;
70
89
  useEffect(() => {
71
90
  const cleanup = setUpdateHandler(addItem, setUpdateInfo);
72
91
  return cleanup;
@@ -98,7 +117,6 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
98
117
  const [shellModeActive, setShellModeActive] = useState(false);
99
118
  const [showErrorDetails, setShowErrorDetails] = useState(false);
100
119
  const [showToolDescriptions, setShowToolDescriptions] = useState(false);
101
- const [showIDEContextDetail, setShowIDEContextDetail] = useState(false);
102
120
  const [ctrlCPressedOnce, setCtrlCPressedOnce] = useState(false);
103
121
  const [quittingMessages, setQuittingMessages] = useState(null);
104
122
  const ctrlCTimerRef = useRef(null);
@@ -109,6 +127,7 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
109
127
  const [modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError] = useState(false);
110
128
  const [userTier, setUserTier] = useState(undefined);
111
129
  const [ideContextState, setIdeContextState] = useState();
130
+ const [showEscapePrompt, setShowEscapePrompt] = useState(false);
112
131
  const [isProcessing, setIsProcessing] = useState(false);
113
132
  useEffect(() => {
114
133
  const unsubscribe = ideContext.subscribeToIdeContext(setIdeContextState);
@@ -138,11 +157,16 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
138
157
  const openPrivacyNotice = useCallback(() => {
139
158
  setShowPrivacyNotice(true);
140
159
  }, []);
160
+ const handleEscapePromptChange = useCallback((showPrompt) => {
161
+ setShowEscapePrompt(showPrompt);
162
+ }, []);
141
163
  const initialPromptSubmitted = useRef(false);
142
164
  const errorCount = useMemo(() => consoleMessages
143
165
  .filter((msg) => msg.type === 'error')
144
166
  .reduce((total, msg) => total + msg.count, 0), [consoleMessages]);
145
167
  const { isThemeDialogOpen, openThemeDialog, handleThemeSelect, handleThemeHighlight, } = useThemeCommand(settings, setThemeError, addItem);
168
+ const { isSettingsDialogOpen, openSettingsDialog, closeSettingsDialog } = useSettingsCommand();
169
+ const { isFolderTrustDialogOpen, handleFolderTrustSelect } = useFolderTrust(settings);
146
170
  const { isAuthDialogOpen, openAuthDialog, handleAuthSelect, isAuthenticating, cancelAuthentication, } = useAuthCommand(settings, setAuthError, config);
147
171
  useEffect(() => {
148
172
  if (settings.merged.selectedAuthType && !settings.merged.useExternalAuth) {
@@ -175,7 +199,9 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
175
199
  text: 'Refreshing hierarchical memory (GEMINI.md or other context files)...',
176
200
  }, Date.now());
177
201
  try {
178
- const { memoryContent, fileCount } = await loadHierarchicalGeminiMemory(process.cwd(), config.getDebugMode(), config.getFileService(), settings.merged, config.getExtensionContextFilePaths(), settings.merged.memoryImportFormat || 'tree', // Use setting or default to 'tree'
202
+ const { memoryContent, fileCount } = await loadHierarchicalGeminiMemory(process.cwd(), settings.merged.loadMemoryFromIncludeDirectories
203
+ ? config.getWorkspaceContext().getDirectories()
204
+ : [], config.getDebugMode(), config.getFileService(), settings.merged, config.getExtensionContextFilePaths(), settings.merged.memoryImportFormat || 'tree', // Use setting or default to 'tree'
179
205
  config.getFileFilteringOptions());
180
206
  config.setUserMemory(memoryContent);
181
207
  config.setGeminiMdFileCount(fileCount);
@@ -283,11 +309,12 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
283
309
  }, [config, addItem, userTier]);
284
310
  // Terminal and UI setup
285
311
  const { rows: terminalHeight, columns: terminalWidth } = useTerminalSize();
312
+ const isNarrow = isNarrowWidth(terminalWidth);
286
313
  const { stdin, setRawMode } = useStdin();
287
314
  const isInitialMount = useRef(true);
288
315
  const widthFraction = 0.9;
289
316
  const inputWidth = Math.max(20, Math.floor(terminalWidth * widthFraction) - 3);
290
- const suggestionsWidth = Math.max(60, Math.floor(terminalWidth * 0.8));
317
+ const suggestionsWidth = Math.max(20, Math.floor(terminalWidth * 0.8));
291
318
  // Utility callbacks
292
319
  const isValidPath = useCallback((filePath) => {
293
320
  try {
@@ -312,15 +339,7 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
312
339
  }, [openAuthDialog, setAuthError]);
313
340
  // Core hooks and processors
314
341
  const { vimEnabled: vimModeEnabled, vimMode, toggleVimEnabled, } = useVimMode();
315
- const { handleSlashCommand, slashCommands, pendingHistoryItems: pendingSlashCommandHistoryItems, commandContext, shellConfirmationRequest, } = useSlashCommandProcessor(config, settings, addItem, clearItems, loadHistory, refreshStatic, setDebugMessage, openThemeDialog, openAuthDialog, openEditorDialog, toggleCorgiMode, setQuittingMessages, openPrivacyNotice, toggleVimEnabled, setIsProcessing);
316
- const { streamingState, submitQuery, initError, pendingHistoryItems: pendingGeminiHistoryItems, thought, } = useGeminiStream(config.getGeminiClient(), history, addItem, config, setDebugMessage, handleSlashCommand, shellModeActive, getPreferredEditor, onAuthError, performMemoryRefresh, modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError);
317
- // Input handling
318
- const handleFinalSubmit = useCallback((submittedValue) => {
319
- const trimmedValue = submittedValue.trim();
320
- if (trimmedValue.length > 0) {
321
- submitQuery(trimmedValue);
322
- }
323
- }, [submitQuery]);
342
+ const { handleSlashCommand, slashCommands, pendingHistoryItems: pendingSlashCommandHistoryItems, commandContext, shellConfirmationRequest, confirmationRequest, } = useSlashCommandProcessor(config, settings, addItem, clearItems, loadHistory, refreshStatic, setDebugMessage, openThemeDialog, openAuthDialog, openEditorDialog, toggleCorgiMode, setQuittingMessages, openPrivacyNotice, openSettingsDialog, toggleVimEnabled, setIsProcessing, setGeminiMdFileCount);
324
343
  const buffer = useTextBuffer({
325
344
  initialText: '',
326
345
  viewport: { height: 10, width: inputWidth },
@@ -329,6 +348,31 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
329
348
  isValidPath,
330
349
  shellModeActive,
331
350
  });
351
+ const [userMessages, setUserMessages] = useState([]);
352
+ const handleUserCancel = useCallback(() => {
353
+ const lastUserMessage = userMessages.at(-1);
354
+ if (lastUserMessage) {
355
+ buffer.setText(lastUserMessage);
356
+ }
357
+ }, [buffer, userMessages]);
358
+ const { streamingState, submitQuery, initError, pendingHistoryItems: pendingGeminiHistoryItems, thought, } = useGeminiStream(config.getGeminiClient(), history, addItem, config, setDebugMessage, handleSlashCommand, shellModeActive, getPreferredEditor, onAuthError, performMemoryRefresh, modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError, refreshStatic, handleUserCancel);
359
+ // Input handling
360
+ const handleFinalSubmit = useCallback((submittedValue) => {
361
+ const trimmedValue = submittedValue.trim();
362
+ if (trimmedValue.length > 0) {
363
+ submitQuery(trimmedValue);
364
+ }
365
+ }, [submitQuery]);
366
+ const handleIdePromptComplete = useCallback((result) => {
367
+ if (result === 'yes') {
368
+ handleSlashCommand('/ide install');
369
+ settings.setValue(SettingScope.User, 'hasSeenIdeIntegrationNudge', true);
370
+ }
371
+ else if (result === 'dismiss') {
372
+ settings.setValue(SettingScope.User, 'hasSeenIdeIntegrationNudge', true);
373
+ }
374
+ setIdePromptAnswered(true);
375
+ }, [handleSlashCommand, settings]);
332
376
  const { handleInput: vimHandleInput } = useVim(buffer, handleFinalSubmit);
333
377
  const pendingHistoryItems = [...pendingSlashCommandHistoryItems];
334
378
  pendingHistoryItems.push(...pendingGeminiHistoryItems);
@@ -350,20 +394,16 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
350
394
  }, CTRL_EXIT_PROMPT_DURATION_MS);
351
395
  }
352
396
  }, [handleSlashCommand]);
353
- useInput((input, key) => {
397
+ const handleGlobalKeypress = useCallback((key) => {
354
398
  let enteringConstrainHeightMode = false;
355
399
  if (!constrainHeight) {
356
- // Automatically re-enter constrain height mode if the user types
357
- // anything. When constrainHeight==false, the user will experience
358
- // significant flickering so it is best to disable it immediately when
359
- // the user starts interacting with the app.
360
400
  enteringConstrainHeightMode = true;
361
401
  setConstrainHeight(true);
362
402
  }
363
- if (key.ctrl && input === 'o') {
403
+ if (keyMatchers[Command.SHOW_ERROR_DETAILS](key)) {
364
404
  setShowErrorDetails((prev) => !prev);
365
405
  }
366
- else if (key.ctrl && input === 't') {
406
+ else if (keyMatchers[Command.TOGGLE_TOOL_DESCRIPTIONS](key)) {
367
407
  const newValue = !showToolDescriptions;
368
408
  setShowToolDescriptions(newValue);
369
409
  const mcpServers = config.getMcpServers();
@@ -371,33 +411,55 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
371
411
  handleSlashCommand(newValue ? '/mcp desc' : '/mcp nodesc');
372
412
  }
373
413
  }
374
- else if (key.ctrl &&
375
- input === 'e' &&
414
+ else if (keyMatchers[Command.TOGGLE_IDE_CONTEXT_DETAIL](key) &&
376
415
  config.getIdeMode() &&
377
416
  ideContextState) {
378
- setShowIDEContextDetail((prev) => !prev);
417
+ // Show IDE status when in IDE mode and context is available.
418
+ handleSlashCommand('/ide status');
379
419
  }
380
- else if (key.ctrl && (input === 'c' || input === 'C')) {
420
+ else if (keyMatchers[Command.QUIT](key)) {
421
+ // When authenticating, let AuthInProgress component handle Ctrl+C.
422
+ if (isAuthenticating) {
423
+ return;
424
+ }
381
425
  handleExit(ctrlCPressedOnce, setCtrlCPressedOnce, ctrlCTimerRef);
382
426
  }
383
- else if (key.ctrl && (input === 'd' || input === 'D')) {
427
+ else if (keyMatchers[Command.EXIT](key)) {
384
428
  if (buffer.text.length > 0) {
385
- // Do nothing if there is text in the input.
386
429
  return;
387
430
  }
388
431
  handleExit(ctrlDPressedOnce, setCtrlDPressedOnce, ctrlDTimerRef);
389
432
  }
390
- else if (key.ctrl && input === 's' && !enteringConstrainHeightMode) {
433
+ else if (keyMatchers[Command.SHOW_MORE_LINES](key) &&
434
+ !enteringConstrainHeightMode) {
391
435
  setConstrainHeight(false);
392
436
  }
393
- });
437
+ }, [
438
+ constrainHeight,
439
+ setConstrainHeight,
440
+ setShowErrorDetails,
441
+ showToolDescriptions,
442
+ setShowToolDescriptions,
443
+ config,
444
+ ideContextState,
445
+ handleExit,
446
+ ctrlCPressedOnce,
447
+ setCtrlCPressedOnce,
448
+ ctrlCTimerRef,
449
+ buffer.text.length,
450
+ ctrlDPressedOnce,
451
+ setCtrlDPressedOnce,
452
+ ctrlDTimerRef,
453
+ handleSlashCommand,
454
+ isAuthenticating,
455
+ ]);
456
+ useKeypress(handleGlobalKeypress, { isActive: true });
394
457
  useEffect(() => {
395
458
  if (config) {
396
459
  setGeminiMdFileCount(config.getGeminiMdFileCount());
397
460
  }
398
- }, [config]);
461
+ }, [config, config.getGeminiMdFileCount]);
399
462
  const logger = useLogger();
400
- const [userMessages, setUserMessages] = useState([]);
401
463
  useEffect(() => {
402
464
  const fetchUserMessages = async () => {
403
465
  const pastMessagesRaw = (await logger?.getPreviousUserMessages()) || []; // Newest first
@@ -515,14 +577,19 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
515
577
  ? " Press 'i' for INSERT mode and 'Esc' for NORMAL mode."
516
578
  : ' Type your message or @path/to/file';
517
579
  return (_jsx(StreamingContext.Provider, { value: streamingState, children: _jsxs(Box, { flexDirection: "column", width: "90%", children: [_jsx(Static, { items: [
518
- _jsxs(Box, { flexDirection: "column", children: [!settings.merged.hideBanner && (_jsx(Header, { terminalWidth: terminalWidth, version: version, nightly: nightly })), !settings.merged.hideTips && _jsx(Tips, { config: config })] }, "header"),
580
+ _jsxs(Box, { flexDirection: "column", children: [!settings.merged.hideBanner && (_jsx(Header, { version: version, nightly: nightly })), !settings.merged.hideTips && _jsx(Tips, { config: config })] }, "header"),
519
581
  ...history.map((h) => (_jsx(HistoryItemDisplay, { terminalWidth: mainAreaWidth, availableTerminalHeight: staticAreaMaxItemHeight, item: h, isPending: false, config: config, commands: slashCommands }, h.id))),
520
582
  ], children: (item) => item }, staticKey), _jsx(OverflowProvider, { children: _jsxs(Box, { ref: pendingHistoryItemRef, flexDirection: "column", children: [pendingHistoryItems.map((item, i) => (_jsx(HistoryItemDisplay, { availableTerminalHeight: constrainHeight ? availableTerminalHeight : undefined, terminalWidth: mainAreaWidth,
521
583
  // TODO(taehykim): It seems like references to ids aren't necessary in
522
584
  // HistoryItemDisplay. Refactor later. Use a fake id for now.
523
- item: { ...item, id: 0 }, isPending: true, config: config, isFocused: !isEditorDialogOpen }, i))), _jsx(ShowMoreLines, { constrainHeight: constrainHeight })] }) }), _jsxs(Box, { flexDirection: "column", ref: mainControlsRef, children: [updateInfo && _jsx(UpdateNotification, { message: updateInfo.message }), startupWarnings.length > 0 && (_jsx(Box, { borderStyle: "round", borderColor: Colors.AccentYellow, paddingX: 1, marginY: 1, flexDirection: "column", children: startupWarnings.map((warning, index) => (_jsx(Text, { color: Colors.AccentYellow, children: warning }, index))) })), shellConfirmationRequest ? (_jsx(ShellConfirmationDialog, { request: shellConfirmationRequest })) : isThemeDialogOpen ? (_jsxs(Box, { flexDirection: "column", children: [themeError && (_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: Colors.AccentRed, children: themeError }) })), _jsx(ThemeDialog, { onSelect: handleThemeSelect, onHighlight: handleThemeHighlight, settings: settings, availableTerminalHeight: constrainHeight
585
+ item: { ...item, id: 0 }, isPending: true, config: config, isFocused: !isEditorDialogOpen }, i))), _jsx(ShowMoreLines, { constrainHeight: constrainHeight })] }) }), _jsxs(Box, { flexDirection: "column", ref: mainControlsRef, children: [updateInfo && _jsx(UpdateNotification, { message: updateInfo.message }), startupWarnings.length > 0 && (_jsx(Box, { borderStyle: "round", borderColor: Colors.AccentYellow, paddingX: 1, marginY: 1, flexDirection: "column", children: startupWarnings.map((warning, index) => (_jsx(Text, { color: Colors.AccentYellow, children: warning }, index))) })), shouldShowIdePrompt ? (_jsx(IdeIntegrationNudge, { question: "Do you want to connect your VS Code editor to Gemini CLI?", description: "If you select Yes, we'll install an extension that allows the CLI to access your open files and display diffs directly in VS Code.", onComplete: handleIdePromptComplete })) : isFolderTrustDialogOpen ? (_jsx(FolderTrustDialog, { onSelect: handleFolderTrustSelect })) : shellConfirmationRequest ? (_jsx(ShellConfirmationDialog, { request: shellConfirmationRequest })) : confirmationRequest ? (_jsxs(Box, { flexDirection: "column", children: [confirmationRequest.prompt, _jsx(Box, { paddingY: 1, children: _jsx(RadioButtonSelect, { items: [
586
+ { label: 'Yes', value: true },
587
+ { label: 'No', value: false },
588
+ ], onSelect: (value) => {
589
+ confirmationRequest.onConfirm(value);
590
+ } }) })] })) : isThemeDialogOpen ? (_jsxs(Box, { flexDirection: "column", children: [themeError && (_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: Colors.AccentRed, children: themeError }) })), _jsx(ThemeDialog, { onSelect: handleThemeSelect, onHighlight: handleThemeHighlight, settings: settings, availableTerminalHeight: constrainHeight
524
591
  ? terminalHeight - staticExtraHeight
525
- : undefined, terminalWidth: mainAreaWidth })] })) : isAuthenticating ? (_jsxs(_Fragment, { children: [_jsx(AuthInProgress, { onTimeout: () => {
592
+ : undefined, terminalWidth: mainAreaWidth })] })) : isSettingsDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(SettingsDialog, { settings: settings, onSelect: () => closeSettingsDialog(), onRestartRequest: () => process.exit(0) }) })) : isAuthenticating ? (_jsxs(_Fragment, { children: [_jsx(AuthInProgress, { onTimeout: () => {
526
593
  setAuthError('Authentication timed out. Please try again.');
527
594
  cancelAuthentication();
528
595
  openAuthDialog();
@@ -531,9 +598,7 @@ const App = ({ config, settings, startupWarnings = [], version }) => {
531
598
  ? undefined
532
599
  : thought, currentLoadingPhrase: config.getAccessibility()?.disableLoadingPhrases
533
600
  ? undefined
534
- : currentLoadingPhrase, elapsedTime: elapsedTime }), _jsxs(Box, { marginTop: 1, display: "flex", justifyContent: "space-between", width: "100%", children: [_jsxs(Box, { children: [process.env.GEMINI_SYSTEM_MD && (_jsx(Text, { color: Colors.AccentRed, children: "|\u2310\u25A0_\u25A0| " })), ctrlCPressedOnce ? (_jsx(Text, { color: Colors.AccentYellow, children: "Press Ctrl+C again to exit." })) : ctrlDPressedOnce ? (_jsx(Text, { color: Colors.AccentYellow, children: "Press Ctrl+D again to exit." })) : (_jsx(ContextSummaryDisplay, { ideContext: ideContextState, geminiMdFileCount: geminiMdFileCount, contextFileNames: contextFileNames, mcpServers: config.getMcpServers(), blockedMcpServers: config.getBlockedMcpServers(), showToolDescriptions: showToolDescriptions }))] }), _jsxs(Box, { children: [showAutoAcceptIndicator !== ApprovalMode.DEFAULT &&
535
- !shellModeActive && (_jsx(AutoAcceptIndicator, { approvalMode: showAutoAcceptIndicator })), shellModeActive && _jsx(ShellModeIndicator, {})] })] }), showIDEContextDetail && (_jsx(IDEContextDetailDisplay, { ideContext: ideContextState, detectedIdeDisplay: config
536
- .getIdeClient()
537
- .getDetectedIdeDisplayName() })), showErrorDetails && (_jsx(OverflowProvider, { children: _jsxs(Box, { flexDirection: "column", children: [_jsx(DetailedMessagesDisplay, { messages: filteredConsoleMessages, maxHeight: constrainHeight ? debugConsoleMaxHeight : undefined, width: inputWidth }), _jsx(ShowMoreLines, { constrainHeight: constrainHeight })] }) })), isInputActive && (_jsx(InputPrompt, { buffer: buffer, inputWidth: inputWidth, suggestionsWidth: suggestionsWidth, onSubmit: handleFinalSubmit, userMessages: userMessages, onClearScreen: handleClearScreen, config: config, slashCommands: slashCommands, commandContext: commandContext, shellModeActive: shellModeActive, setShellModeActive: setShellModeActive, focus: isFocused, vimHandleInput: vimHandleInput, placeholder: placeholder }))] })), initError && streamingState !== StreamingState.Responding && (_jsx(Box, { borderStyle: "round", borderColor: Colors.AccentRed, paddingX: 1, marginBottom: 1, children: history.find((item) => item.type === 'error' && item.text?.includes(initError))?.text ? (_jsx(Text, { color: Colors.AccentRed, children: history.find((item) => item.type === 'error' && item.text?.includes(initError))?.text })) : (_jsxs(_Fragment, { children: [_jsxs(Text, { color: Colors.AccentRed, children: ["Initialization Error: ", initError] }), _jsxs(Text, { color: Colors.AccentRed, children: [' ', "Please check API key and configuration."] })] })) })), _jsx(Footer, { model: currentModel, targetDir: config.getTargetDir(), debugMode: config.getDebugMode(), branchName: branchName, debugMessage: debugMessage, corgiMode: corgiMode, errorCount: errorCount, showErrorDetails: showErrorDetails, showMemoryUsage: config.getDebugMode() || config.getShowMemoryUsage(), promptTokenCount: sessionStats.lastPromptTokenCount, nightly: nightly, vimMode: vimModeEnabled ? vimMode : undefined })] })] }) }));
601
+ : currentLoadingPhrase, elapsedTime: elapsedTime }), _jsxs(Box, { marginTop: 1, justifyContent: "space-between", width: "100%", flexDirection: isNarrow ? 'column' : 'row', alignItems: isNarrow ? 'flex-start' : 'center', children: [_jsxs(Box, { children: [process.env.GEMINI_SYSTEM_MD && (_jsx(Text, { color: Colors.AccentRed, children: "|\u2310\u25A0_\u25A0| " })), ctrlCPressedOnce ? (_jsx(Text, { color: Colors.AccentYellow, children: "Press Ctrl+C again to exit." })) : ctrlDPressedOnce ? (_jsx(Text, { color: Colors.AccentYellow, children: "Press Ctrl+D again to exit." })) : showEscapePrompt ? (_jsx(Text, { color: Colors.Gray, children: "Press Esc again to clear." })) : (_jsx(ContextSummaryDisplay, { ideContext: ideContextState, geminiMdFileCount: geminiMdFileCount, contextFileNames: contextFileNames, mcpServers: config.getMcpServers(), blockedMcpServers: config.getBlockedMcpServers(), showToolDescriptions: showToolDescriptions }))] }), _jsxs(Box, { paddingTop: isNarrow ? 1 : 0, children: [showAutoAcceptIndicator !== ApprovalMode.DEFAULT &&
602
+ !shellModeActive && (_jsx(AutoAcceptIndicator, { approvalMode: showAutoAcceptIndicator })), shellModeActive && _jsx(ShellModeIndicator, {})] })] }), showErrorDetails && (_jsx(OverflowProvider, { children: _jsxs(Box, { flexDirection: "column", children: [_jsx(DetailedMessagesDisplay, { messages: filteredConsoleMessages, maxHeight: constrainHeight ? debugConsoleMaxHeight : undefined, width: inputWidth }), _jsx(ShowMoreLines, { constrainHeight: constrainHeight })] }) })), isInputActive && (_jsx(InputPrompt, { buffer: buffer, inputWidth: inputWidth, suggestionsWidth: suggestionsWidth, onSubmit: handleFinalSubmit, userMessages: userMessages, onClearScreen: handleClearScreen, config: config, slashCommands: slashCommands, commandContext: commandContext, shellModeActive: shellModeActive, setShellModeActive: setShellModeActive, onEscapePromptChange: handleEscapePromptChange, focus: isFocused, vimHandleInput: vimHandleInput, placeholder: placeholder }))] })), initError && streamingState !== StreamingState.Responding && (_jsx(Box, { borderStyle: "round", borderColor: Colors.AccentRed, paddingX: 1, marginBottom: 1, children: history.find((item) => item.type === 'error' && item.text?.includes(initError))?.text ? (_jsx(Text, { color: Colors.AccentRed, children: history.find((item) => item.type === 'error' && item.text?.includes(initError))?.text })) : (_jsxs(_Fragment, { children: [_jsxs(Text, { color: Colors.AccentRed, children: ["Initialization Error: ", initError] }), _jsxs(Text, { color: Colors.AccentRed, children: [' ', "Please check API key and configuration."] })] })) })), _jsx(Footer, { model: currentModel, targetDir: config.getTargetDir(), debugMode: config.getDebugMode(), branchName: branchName, debugMessage: debugMessage, corgiMode: corgiMode, errorCount: errorCount, showErrorDetails: showErrorDetails, showMemoryUsage: config.getDebugMode() || settings.merged.showMemoryUsage || false, promptTokenCount: sessionStats.lastPromptTokenCount, nightly: nightly, vimMode: vimModeEnabled ? vimMode : undefined })] })] }) }));
538
603
  };
539
604
  //# sourceMappingURL=App.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/ui/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/ui/App.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export type IdeIntegrationNudgeResult = 'yes' | 'no' | 'dismiss';
7
+ interface IdeIntegrationNudgeProps {
8
+ question: string;
9
+ description?: string;
10
+ onComplete: (result: IdeIntegrationNudgeResult) => void;
11
+ }
12
+ export declare function IdeIntegrationNudge({ question, description, onComplete, }: IdeIntegrationNudgeProps): import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * @license
4
+ * Copyright 2025 Google LLC
5
+ * SPDX-License-Identifier: Apache-2.0
6
+ */
7
+ import { Box, Text, useInput } from 'ink';
8
+ import { RadioButtonSelect, } from './components/shared/RadioButtonSelect.js';
9
+ export function IdeIntegrationNudge({ question, description, onComplete, }) {
10
+ useInput((_input, key) => {
11
+ if (key.escape) {
12
+ onComplete('no');
13
+ }
14
+ });
15
+ const OPTIONS = [
16
+ {
17
+ label: 'Yes',
18
+ value: 'yes',
19
+ },
20
+ {
21
+ label: 'No (esc)',
22
+ value: 'no',
23
+ },
24
+ {
25
+ label: "No, don't ask again",
26
+ value: 'dismiss',
27
+ },
28
+ ];
29
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "yellow", padding: 1, width: "100%", marginLeft: 1, children: [_jsxs(Box, { marginBottom: 1, flexDirection: "column", children: [_jsxs(Text, { children: [_jsx(Text, { color: "yellow", children: '> ' }), question] }), description && _jsx(Text, { dimColor: true, children: description })] }), _jsx(RadioButtonSelect, { items: OPTIONS, onSelect: onComplete, isFocused: true })] }));
30
+ }
31
+ //# sourceMappingURL=IdeIntegrationNudge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdeIntegrationNudge.js","sourceRoot":"","sources":["../../../src/ui/IdeIntegrationNudge.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EACL,iBAAiB,GAElB,MAAM,0CAA0C,CAAC;AAUlD,MAAM,UAAU,mBAAmB,CAAC,EAClC,QAAQ,EACR,WAAW,EACX,UAAU,GACe;IACzB,QAAQ,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACvB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAsD;QACjE;YACE,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;SACb;QACD;YACE,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,IAAI;SACZ;QACD;YACE,KAAK,EAAE,qBAAqB;YAC5B,KAAK,EAAE,SAAS;SACjB;KACF,CAAC;IAEF,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,QAAQ,EACpB,OAAO,EAAE,CAAC,EACV,KAAK,EAAC,MAAM,EACZ,UAAU,EAAE,CAAC,aAEb,MAAC,GAAG,IAAC,YAAY,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aAC1C,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,IAAI,GAAQ,EACjC,QAAQ,IACJ,EACN,WAAW,IAAI,KAAC,IAAI,IAAC,QAAQ,kBAAE,WAAW,GAAQ,IAC/C,EACN,KAAC,iBAAiB,IAChB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,IAAI,GACf,IACE,CACP,CAAC;AACJ,CAAC"}
@@ -4,6 +4,9 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import * as fsPromises from 'fs/promises';
7
+ import React from 'react';
8
+ import { Text } from 'ink';
9
+ import { Colors } from '../colors.js';
7
10
  import { CommandKind, } from './types.js';
8
11
  import path from 'path';
9
12
  import { MessageType } from '../types.js';
@@ -81,6 +84,18 @@ const saveCommand = {
81
84
  }
82
85
  const { logger, config } = context.services;
83
86
  await logger.initialize();
87
+ if (!context.overwriteConfirmed) {
88
+ const exists = await logger.checkpointExists(tag);
89
+ if (exists) {
90
+ return {
91
+ type: 'confirm_action',
92
+ prompt: React.createElement(Text, null, 'A checkpoint with the tag ', React.createElement(Text, { color: Colors.AccentPurple }, tag), ' already exists. Do you want to overwrite it?'),
93
+ originalInvocation: {
94
+ raw: context.invocation?.raw || `/chat save ${tag}`,
95
+ },
96
+ };
97
+ }
98
+ }
84
99
  const chat = await config?.getGeminiClient()?.getChat();
85
100
  if (!chat) {
86
101
  return {