@google/gemini-cli 0.1.10-dev.0 → 0.1.10-dev.12

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 (429) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +142 -0
  3. package/dist/.last_build +0 -0
  4. package/dist/index.d.ts +7 -0
  5. package/dist/index.js +20 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/package.json +80 -0
  8. package/dist/src/config/auth.d.ts +6 -0
  9. package/dist/src/config/auth.js +32 -0
  10. package/dist/src/config/auth.js.map +1 -0
  11. package/dist/src/config/config.d.ts +14 -0
  12. package/dist/src/config/config.js +235 -0
  13. package/dist/src/config/config.js.map +1 -0
  14. package/dist/src/config/extension.d.ts +20 -0
  15. package/dist/src/config/extension.js +81 -0
  16. package/dist/src/config/extension.js.map +1 -0
  17. package/dist/src/config/sandboxConfig.d.ts +13 -0
  18. package/dist/src/config/sandboxConfig.js +75 -0
  19. package/dist/src/config/sandboxConfig.js.map +1 -0
  20. package/dist/src/config/settings.d.ts +70 -0
  21. package/dist/src/config/settings.js +165 -0
  22. package/dist/src/config/settings.js.map +1 -0
  23. package/dist/src/gemini.d.ts +6 -0
  24. package/dist/src/gemini.js +217 -0
  25. package/dist/src/gemini.js.map +1 -0
  26. package/dist/src/gemini.test.d.ts +6 -0
  27. package/dist/src/gemini.test.js +122 -0
  28. package/dist/src/gemini.test.js.map +1 -0
  29. package/dist/src/generated/git-commit.d.ts +6 -0
  30. package/dist/src/generated/git-commit.js +9 -0
  31. package/dist/src/generated/git-commit.js.map +1 -0
  32. package/dist/src/nonInteractiveCli.d.ts +7 -0
  33. package/dist/src/nonInteractiveCli.js +115 -0
  34. package/dist/src/nonInteractiveCli.js.map +1 -0
  35. package/dist/src/ui/App.d.ts +14 -0
  36. package/dist/src/ui/App.js +387 -0
  37. package/dist/src/ui/App.js.map +1 -0
  38. package/dist/src/ui/App.test.d.ts +6 -0
  39. package/dist/src/ui/App.test.js +299 -0
  40. package/dist/src/ui/App.test.js.map +1 -0
  41. package/dist/src/ui/colors.d.ts +7 -0
  42. package/dist/src/ui/colors.js +48 -0
  43. package/dist/src/ui/colors.js.map +1 -0
  44. package/dist/src/ui/components/AboutBox.d.ts +16 -0
  45. package/dist/src/ui/components/AboutBox.js +6 -0
  46. package/dist/src/ui/components/AboutBox.js.map +1 -0
  47. package/dist/src/ui/components/AsciiArt.d.ts +7 -0
  48. package/dist/src/ui/components/AsciiArt.js +26 -0
  49. package/dist/src/ui/components/AsciiArt.js.map +1 -0
  50. package/dist/src/ui/components/AuthDialog.d.ts +15 -0
  51. package/dist/src/ui/components/AuthDialog.js +47 -0
  52. package/dist/src/ui/components/AuthDialog.js.map +1 -0
  53. package/dist/src/ui/components/AuthDialog.test.d.ts +6 -0
  54. package/dist/src/ui/components/AuthDialog.test.js +69 -0
  55. package/dist/src/ui/components/AuthDialog.test.js.map +1 -0
  56. package/dist/src/ui/components/AuthInProgress.d.ts +11 -0
  57. package/dist/src/ui/components/AuthInProgress.js +27 -0
  58. package/dist/src/ui/components/AuthInProgress.js.map +1 -0
  59. package/dist/src/ui/components/AutoAcceptIndicator.d.ts +12 -0
  60. package/dist/src/ui/components/AutoAcceptIndicator.js +26 -0
  61. package/dist/src/ui/components/AutoAcceptIndicator.js.map +1 -0
  62. package/dist/src/ui/components/ConsolePatcher.d.ts +12 -0
  63. package/dist/src/ui/components/ConsolePatcher.js +40 -0
  64. package/dist/src/ui/components/ConsolePatcher.js.map +1 -0
  65. package/dist/src/ui/components/ConsoleSummaryDisplay.d.ts +11 -0
  66. package/dist/src/ui/components/ConsoleSummaryDisplay.js +11 -0
  67. package/dist/src/ui/components/ConsoleSummaryDisplay.js.map +1 -0
  68. package/dist/src/ui/components/ContextSummaryDisplay.d.ts +15 -0
  69. package/dist/src/ui/components/ContextSummaryDisplay.js +41 -0
  70. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -0
  71. package/dist/src/ui/components/DetailedMessagesDisplay.d.ts +14 -0
  72. package/dist/src/ui/components/DetailedMessagesDisplay.js +34 -0
  73. package/dist/src/ui/components/DetailedMessagesDisplay.js.map +1 -0
  74. package/dist/src/ui/components/EditorSettingsDialog.d.ts +15 -0
  75. package/dist/src/ui/components/EditorSettingsDialog.js +73 -0
  76. package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -0
  77. package/dist/src/ui/components/Footer.d.ts +20 -0
  78. package/dist/src/ui/components/Footer.js +13 -0
  79. package/dist/src/ui/components/Footer.js.map +1 -0
  80. package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +17 -0
  81. package/dist/src/ui/components/GeminiRespondingSpinner.js +16 -0
  82. package/dist/src/ui/components/GeminiRespondingSpinner.js.map +1 -0
  83. package/dist/src/ui/components/Header.d.ts +12 -0
  84. package/dist/src/ui/components/Header.js +20 -0
  85. package/dist/src/ui/components/Header.js.map +1 -0
  86. package/dist/src/ui/components/Help.d.ts +12 -0
  87. package/dist/src/ui/components/Help.js +9 -0
  88. package/dist/src/ui/components/Help.js.map +1 -0
  89. package/dist/src/ui/components/HistoryItemDisplay.d.ts +18 -0
  90. package/dist/src/ui/components/HistoryItemDisplay.js +17 -0
  91. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -0
  92. package/dist/src/ui/components/HistoryItemDisplay.test.d.ts +6 -0
  93. package/dist/src/ui/components/HistoryItemDisplay.test.js +81 -0
  94. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -0
  95. package/dist/src/ui/components/InputPrompt.d.ts +24 -0
  96. package/dist/src/ui/components/InputPrompt.js +331 -0
  97. package/dist/src/ui/components/InputPrompt.js.map +1 -0
  98. package/dist/src/ui/components/InputPrompt.test.d.ts +6 -0
  99. package/dist/src/ui/components/InputPrompt.test.js +154 -0
  100. package/dist/src/ui/components/InputPrompt.test.js.map +1 -0
  101. package/dist/src/ui/components/LoadingIndicator.d.ts +15 -0
  102. package/dist/src/ui/components/LoadingIndicator.js +19 -0
  103. package/dist/src/ui/components/LoadingIndicator.js.map +1 -0
  104. package/dist/src/ui/components/LoadingIndicator.test.d.ts +6 -0
  105. package/dist/src/ui/components/LoadingIndicator.test.js +141 -0
  106. package/dist/src/ui/components/LoadingIndicator.test.js.map +1 -0
  107. package/dist/src/ui/components/MemoryUsageDisplay.d.ts +7 -0
  108. package/dist/src/ui/components/MemoryUsageDisplay.js +27 -0
  109. package/dist/src/ui/components/MemoryUsageDisplay.js.map +1 -0
  110. package/dist/src/ui/components/ModelStatsDisplay.d.ts +7 -0
  111. package/dist/src/ui/components/ModelStatsDisplay.js +33 -0
  112. package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -0
  113. package/dist/src/ui/components/ModelStatsDisplay.test.d.ts +6 -0
  114. package/dist/src/ui/components/ModelStatsDisplay.test.js +217 -0
  115. package/dist/src/ui/components/ModelStatsDisplay.test.js.map +1 -0
  116. package/dist/src/ui/components/SessionSummaryDisplay.d.ts +11 -0
  117. package/dist/src/ui/components/SessionSummaryDisplay.js +4 -0
  118. package/dist/src/ui/components/SessionSummaryDisplay.js.map +1 -0
  119. package/dist/src/ui/components/SessionSummaryDisplay.test.d.ts +6 -0
  120. package/dist/src/ui/components/SessionSummaryDisplay.test.js +60 -0
  121. package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +1 -0
  122. package/dist/src/ui/components/ShellModeIndicator.d.ts +7 -0
  123. package/dist/src/ui/components/ShellModeIndicator.js +5 -0
  124. package/dist/src/ui/components/ShellModeIndicator.js.map +1 -0
  125. package/dist/src/ui/components/ShowMoreLines.d.ts +10 -0
  126. package/dist/src/ui/components/ShowMoreLines.js +24 -0
  127. package/dist/src/ui/components/ShowMoreLines.js.map +1 -0
  128. package/dist/src/ui/components/StatsDisplay.d.ts +12 -0
  129. package/dist/src/ui/components/StatsDisplay.js +42 -0
  130. package/dist/src/ui/components/StatsDisplay.js.map +1 -0
  131. package/dist/src/ui/components/StatsDisplay.test.d.ts +6 -0
  132. package/dist/src/ui/components/StatsDisplay.test.js +275 -0
  133. package/dist/src/ui/components/StatsDisplay.test.js.map +1 -0
  134. package/dist/src/ui/components/SuggestionsDisplay.d.ts +21 -0
  135. package/dist/src/ui/components/SuggestionsDisplay.js +32 -0
  136. package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -0
  137. package/dist/src/ui/components/ThemeDialog.d.ts +19 -0
  138. package/dist/src/ui/components/ThemeDialog.js +126 -0
  139. package/dist/src/ui/components/ThemeDialog.js.map +1 -0
  140. package/dist/src/ui/components/Tips.d.ts +12 -0
  141. package/dist/src/ui/components/Tips.js +8 -0
  142. package/dist/src/ui/components/Tips.js.map +1 -0
  143. package/dist/src/ui/components/ToolStatsDisplay.d.ts +7 -0
  144. package/dist/src/ui/components/ToolStatsDisplay.js +41 -0
  145. package/dist/src/ui/components/ToolStatsDisplay.js.map +1 -0
  146. package/dist/src/ui/components/ToolStatsDisplay.test.d.ts +6 -0
  147. package/dist/src/ui/components/ToolStatsDisplay.test.js +160 -0
  148. package/dist/src/ui/components/ToolStatsDisplay.test.js.map +1 -0
  149. package/dist/src/ui/components/UpdateNotification.d.ts +10 -0
  150. package/dist/src/ui/components/UpdateNotification.js +10 -0
  151. package/dist/src/ui/components/UpdateNotification.js.map +1 -0
  152. package/dist/src/ui/components/messages/CompressionMessage.d.ts +11 -0
  153. package/dist/src/ui/components/messages/CompressionMessage.js +16 -0
  154. package/dist/src/ui/components/messages/CompressionMessage.js.map +1 -0
  155. package/dist/src/ui/components/messages/DiffRenderer.d.ts +15 -0
  156. package/dist/src/ui/components/messages/DiffRenderer.js +212 -0
  157. package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -0
  158. package/dist/src/ui/components/messages/DiffRenderer.test.d.ts +6 -0
  159. package/dist/src/ui/components/messages/DiffRenderer.test.js +239 -0
  160. package/dist/src/ui/components/messages/DiffRenderer.test.js.map +1 -0
  161. package/dist/src/ui/components/messages/ErrorMessage.d.ts +11 -0
  162. package/dist/src/ui/components/messages/ErrorMessage.js +9 -0
  163. package/dist/src/ui/components/messages/ErrorMessage.js.map +1 -0
  164. package/dist/src/ui/components/messages/GeminiMessage.d.ts +14 -0
  165. package/dist/src/ui/components/messages/GeminiMessage.js +10 -0
  166. package/dist/src/ui/components/messages/GeminiMessage.js.map +1 -0
  167. package/dist/src/ui/components/messages/GeminiMessageContent.d.ts +14 -0
  168. package/dist/src/ui/components/messages/GeminiMessageContent.js +15 -0
  169. package/dist/src/ui/components/messages/GeminiMessageContent.js.map +1 -0
  170. package/dist/src/ui/components/messages/InfoMessage.d.ts +11 -0
  171. package/dist/src/ui/components/messages/InfoMessage.js +9 -0
  172. package/dist/src/ui/components/messages/InfoMessage.js.map +1 -0
  173. package/dist/src/ui/components/messages/ToolConfirmationMessage.d.ts +15 -0
  174. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +111 -0
  175. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -0
  176. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.d.ts +6 -0
  177. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +37 -0
  178. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -0
  179. package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +18 -0
  180. package/dist/src/ui/components/messages/ToolGroupMessage.js +53 -0
  181. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -0
  182. package/dist/src/ui/components/messages/ToolMessage.d.ts +15 -0
  183. package/dist/src/ui/components/messages/ToolMessage.js +61 -0
  184. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -0
  185. package/dist/src/ui/components/messages/ToolMessage.test.d.ts +6 -0
  186. package/dist/src/ui/components/messages/ToolMessage.test.js +116 -0
  187. package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -0
  188. package/dist/src/ui/components/messages/UserMessage.d.ts +11 -0
  189. package/dist/src/ui/components/messages/UserMessage.js +9 -0
  190. package/dist/src/ui/components/messages/UserMessage.js.map +1 -0
  191. package/dist/src/ui/components/messages/UserShellMessage.d.ts +11 -0
  192. package/dist/src/ui/components/messages/UserShellMessage.js +9 -0
  193. package/dist/src/ui/components/messages/UserShellMessage.js.map +1 -0
  194. package/dist/src/ui/components/shared/MaxSizedBox.d.ts +61 -0
  195. package/dist/src/ui/components/shared/MaxSizedBox.js +384 -0
  196. package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -0
  197. package/dist/src/ui/components/shared/MaxSizedBox.test.d.ts +6 -0
  198. package/dist/src/ui/components/shared/MaxSizedBox.test.js +134 -0
  199. package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +1 -0
  200. package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +41 -0
  201. package/dist/src/ui/components/shared/RadioButtonSelect.js +52 -0
  202. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -0
  203. package/dist/src/ui/components/shared/text-buffer.d.ts +128 -0
  204. package/dist/src/ui/components/shared/text-buffer.js +1122 -0
  205. package/dist/src/ui/components/shared/text-buffer.js.map +1 -0
  206. package/dist/src/ui/constants.d.ts +8 -0
  207. package/dist/src/ui/constants.js +12 -0
  208. package/dist/src/ui/constants.js.map +1 -0
  209. package/dist/src/ui/contexts/OverflowContext.d.ts +19 -0
  210. package/dist/src/ui/contexts/OverflowContext.js +43 -0
  211. package/dist/src/ui/contexts/OverflowContext.js.map +1 -0
  212. package/dist/src/ui/contexts/SessionContext.d.ts +33 -0
  213. package/dist/src/ui/contexts/SessionContext.js +49 -0
  214. package/dist/src/ui/contexts/SessionContext.js.map +1 -0
  215. package/dist/src/ui/contexts/SessionContext.test.d.ts +6 -0
  216. package/dist/src/ui/contexts/SessionContext.test.js +96 -0
  217. package/dist/src/ui/contexts/SessionContext.test.js.map +1 -0
  218. package/dist/src/ui/contexts/StreamingContext.d.ts +9 -0
  219. package/dist/src/ui/contexts/StreamingContext.js +15 -0
  220. package/dist/src/ui/contexts/StreamingContext.js.map +1 -0
  221. package/dist/src/ui/editors/editorSettingsManager.d.ts +19 -0
  222. package/dist/src/ui/editors/editorSettingsManager.js +54 -0
  223. package/dist/src/ui/editors/editorSettingsManager.js.map +1 -0
  224. package/dist/src/ui/hooks/atCommandProcessor.d.ts +31 -0
  225. package/dist/src/ui/hooks/atCommandProcessor.js +312 -0
  226. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -0
  227. package/dist/src/ui/hooks/shellCommandProcessor.d.ts +16 -0
  228. package/dist/src/ui/hooks/shellCommandProcessor.js +261 -0
  229. package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -0
  230. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +31 -0
  231. package/dist/src/ui/hooks/slashCommandProcessor.js +981 -0
  232. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -0
  233. package/dist/src/ui/hooks/useAuthCommand.d.ts +14 -0
  234. package/dist/src/ui/hooks/useAuthCommand.js +54 -0
  235. package/dist/src/ui/hooks/useAuthCommand.js.map +1 -0
  236. package/dist/src/ui/hooks/useAutoAcceptIndicator.d.ts +10 -0
  237. package/dist/src/ui/hooks/useAutoAcceptIndicator.js +37 -0
  238. package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +1 -0
  239. package/dist/src/ui/hooks/useBracketedPaste.d.ts +12 -0
  240. package/dist/src/ui/hooks/useBracketedPaste.js +32 -0
  241. package/dist/src/ui/hooks/useBracketedPaste.js.map +1 -0
  242. package/dist/src/ui/hooks/useCompletion.d.ts +21 -0
  243. package/dist/src/ui/hooks/useCompletion.js +322 -0
  244. package/dist/src/ui/hooks/useCompletion.js.map +1 -0
  245. package/dist/src/ui/hooks/useConsoleMessages.d.ts +12 -0
  246. package/dist/src/ui/hooks/useConsoleMessages.js +60 -0
  247. package/dist/src/ui/hooks/useConsoleMessages.js.map +1 -0
  248. package/dist/src/ui/hooks/useEditorSettings.d.ts +16 -0
  249. package/dist/src/ui/hooks/useEditorSettings.js +43 -0
  250. package/dist/src/ui/hooks/useEditorSettings.js.map +1 -0
  251. package/dist/src/ui/hooks/useGeminiStream.d.ts +23 -0
  252. package/dist/src/ui/hooks/useGeminiStream.js +524 -0
  253. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -0
  254. package/dist/src/ui/hooks/useGeminiStream.test.d.ts +6 -0
  255. package/dist/src/ui/hooks/useGeminiStream.test.js +775 -0
  256. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -0
  257. package/dist/src/ui/hooks/useGitBranchName.d.ts +6 -0
  258. package/dist/src/ui/hooks/useGitBranchName.js +61 -0
  259. package/dist/src/ui/hooks/useGitBranchName.js.map +1 -0
  260. package/dist/src/ui/hooks/useHistoryManager.d.ts +22 -0
  261. package/dist/src/ui/hooks/useHistoryManager.js +72 -0
  262. package/dist/src/ui/hooks/useHistoryManager.js.map +1 -0
  263. package/dist/src/ui/hooks/useInputHistory.d.ts +19 -0
  264. package/dist/src/ui/hooks/useInputHistory.js +84 -0
  265. package/dist/src/ui/hooks/useInputHistory.js.map +1 -0
  266. package/dist/src/ui/hooks/useKeypress.d.ts +29 -0
  267. package/dist/src/ui/hooks/useKeypress.js +86 -0
  268. package/dist/src/ui/hooks/useKeypress.js.map +1 -0
  269. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +10 -0
  270. package/dist/src/ui/hooks/useLoadingIndicator.js +44 -0
  271. package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -0
  272. package/dist/src/ui/hooks/useLogger.d.ts +10 -0
  273. package/dist/src/ui/hooks/useLogger.js +29 -0
  274. package/dist/src/ui/hooks/useLogger.js.map +1 -0
  275. package/dist/src/ui/hooks/usePhraseCycler.d.ts +14 -0
  276. package/dist/src/ui/hooks/usePhraseCycler.js +189 -0
  277. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -0
  278. package/dist/src/ui/hooks/usePrivacySettings.d.ts +16 -0
  279. package/dist/src/ui/hooks/usePrivacySettings.js +115 -0
  280. package/dist/src/ui/hooks/usePrivacySettings.js.map +1 -0
  281. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +33 -0
  282. package/dist/src/ui/hooks/useReactToolScheduler.js +186 -0
  283. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -0
  284. package/dist/src/ui/hooks/useRefreshMemoryCommand.d.ts +6 -0
  285. package/dist/src/ui/hooks/useRefreshMemoryCommand.js +7 -0
  286. package/dist/src/ui/hooks/useRefreshMemoryCommand.js.map +1 -0
  287. package/dist/src/ui/hooks/useShellHistory.d.ts +11 -0
  288. package/dist/src/ui/hooks/useShellHistory.js +89 -0
  289. package/dist/src/ui/hooks/useShellHistory.js.map +1 -0
  290. package/dist/src/ui/hooks/useShowMemoryCommand.d.ts +9 -0
  291. package/dist/src/ui/hooks/useShowMemoryCommand.js +58 -0
  292. package/dist/src/ui/hooks/useShowMemoryCommand.js.map +1 -0
  293. package/dist/src/ui/hooks/useStateAndRef.d.ts +7 -0
  294. package/dist/src/ui/hooks/useStateAndRef.js +26 -0
  295. package/dist/src/ui/hooks/useStateAndRef.js.map +1 -0
  296. package/dist/src/ui/hooks/useTerminalSize.d.ts +9 -0
  297. package/dist/src/ui/hooks/useTerminalSize.js +27 -0
  298. package/dist/src/ui/hooks/useTerminalSize.js.map +1 -0
  299. package/dist/src/ui/hooks/useThemeCommand.d.ts +15 -0
  300. package/dist/src/ui/hooks/useThemeCommand.js +78 -0
  301. package/dist/src/ui/hooks/useThemeCommand.js.map +1 -0
  302. package/dist/src/ui/hooks/useTimer.d.ts +12 -0
  303. package/dist/src/ui/hooks/useTimer.js +58 -0
  304. package/dist/src/ui/hooks/useTimer.js.map +1 -0
  305. package/dist/src/ui/privacy/CloudFreePrivacyNotice.d.ts +12 -0
  306. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +40 -0
  307. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +1 -0
  308. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.d.ts +10 -0
  309. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js +17 -0
  310. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js.map +1 -0
  311. package/dist/src/ui/privacy/GeminiPrivacyNotice.d.ts +10 -0
  312. package/dist/src/ui/privacy/GeminiPrivacyNotice.js +17 -0
  313. package/dist/src/ui/privacy/GeminiPrivacyNotice.js.map +1 -0
  314. package/dist/src/ui/privacy/PrivacyNotice.d.ts +12 -0
  315. package/dist/src/ui/privacy/PrivacyNotice.js +25 -0
  316. package/dist/src/ui/privacy/PrivacyNotice.js.map +1 -0
  317. package/dist/src/ui/themes/ansi-light.d.ts +7 -0
  318. package/dist/src/ui/themes/ansi-light.js +139 -0
  319. package/dist/src/ui/themes/ansi-light.js.map +1 -0
  320. package/dist/src/ui/themes/ansi.d.ts +7 -0
  321. package/dist/src/ui/themes/ansi.js +149 -0
  322. package/dist/src/ui/themes/ansi.js.map +1 -0
  323. package/dist/src/ui/themes/atom-one-dark.d.ts +7 -0
  324. package/dist/src/ui/themes/atom-one-dark.js +136 -0
  325. package/dist/src/ui/themes/atom-one-dark.js.map +1 -0
  326. package/dist/src/ui/themes/ayu-light.d.ts +7 -0
  327. package/dist/src/ui/themes/ayu-light.js +128 -0
  328. package/dist/src/ui/themes/ayu-light.js.map +1 -0
  329. package/dist/src/ui/themes/ayu.d.ts +7 -0
  330. package/dist/src/ui/themes/ayu.js +102 -0
  331. package/dist/src/ui/themes/ayu.js.map +1 -0
  332. package/dist/src/ui/themes/default-light.d.ts +7 -0
  333. package/dist/src/ui/themes/default-light.js +100 -0
  334. package/dist/src/ui/themes/default-light.js.map +1 -0
  335. package/dist/src/ui/themes/default.d.ts +7 -0
  336. package/dist/src/ui/themes/default.js +143 -0
  337. package/dist/src/ui/themes/default.js.map +1 -0
  338. package/dist/src/ui/themes/dracula.d.ts +7 -0
  339. package/dist/src/ui/themes/dracula.js +113 -0
  340. package/dist/src/ui/themes/dracula.js.map +1 -0
  341. package/dist/src/ui/themes/github-dark.d.ts +7 -0
  342. package/dist/src/ui/themes/github-dark.js +136 -0
  343. package/dist/src/ui/themes/github-dark.js.map +1 -0
  344. package/dist/src/ui/themes/github-light.d.ts +7 -0
  345. package/dist/src/ui/themes/github-light.js +138 -0
  346. package/dist/src/ui/themes/github-light.js.map +1 -0
  347. package/dist/src/ui/themes/googlecode.d.ts +7 -0
  348. package/dist/src/ui/themes/googlecode.js +135 -0
  349. package/dist/src/ui/themes/googlecode.js.map +1 -0
  350. package/dist/src/ui/themes/no-color.d.ts +7 -0
  351. package/dist/src/ui/themes/no-color.js +84 -0
  352. package/dist/src/ui/themes/no-color.js.map +1 -0
  353. package/dist/src/ui/themes/shades-of-purple.d.ts +11 -0
  354. package/dist/src/ui/themes/shades-of-purple.js +302 -0
  355. package/dist/src/ui/themes/shades-of-purple.js.map +1 -0
  356. package/dist/src/ui/themes/theme-manager.d.ts +33 -0
  357. package/dist/src/ui/themes/theme-manager.js +109 -0
  358. package/dist/src/ui/themes/theme-manager.js.map +1 -0
  359. package/dist/src/ui/themes/theme.d.ts +67 -0
  360. package/dist/src/ui/themes/theme.js +304 -0
  361. package/dist/src/ui/themes/theme.js.map +1 -0
  362. package/dist/src/ui/themes/xcode.d.ts +7 -0
  363. package/dist/src/ui/themes/xcode.js +143 -0
  364. package/dist/src/ui/themes/xcode.js.map +1 -0
  365. package/dist/src/ui/types.d.ts +162 -0
  366. package/dist/src/ui/types.js +43 -0
  367. package/dist/src/ui/types.js.map +1 -0
  368. package/dist/src/ui/utils/CodeColorizer.d.ts +14 -0
  369. package/dist/src/ui/utils/CodeColorizer.js +97 -0
  370. package/dist/src/ui/utils/CodeColorizer.js.map +1 -0
  371. package/dist/src/ui/utils/MarkdownDisplay.d.ts +14 -0
  372. package/dist/src/ui/utils/MarkdownDisplay.js +276 -0
  373. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -0
  374. package/dist/src/ui/utils/MarkdownDisplay.test.d.ts +6 -0
  375. package/dist/src/ui/utils/MarkdownDisplay.test.js +176 -0
  376. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -0
  377. package/dist/src/ui/utils/TableRenderer.d.ts +17 -0
  378. package/dist/src/ui/utils/TableRenderer.js +66 -0
  379. package/dist/src/ui/utils/TableRenderer.js.map +1 -0
  380. package/dist/src/ui/utils/commandUtils.d.ts +22 -0
  381. package/dist/src/ui/utils/commandUtils.js +25 -0
  382. package/dist/src/ui/utils/commandUtils.js.map +1 -0
  383. package/dist/src/ui/utils/computeStats.d.ts +10 -0
  384. package/dist/src/ui/utils/computeStats.js +55 -0
  385. package/dist/src/ui/utils/computeStats.js.map +1 -0
  386. package/dist/src/ui/utils/displayUtils.d.ts +17 -0
  387. package/dist/src/ui/utils/displayUtils.js +24 -0
  388. package/dist/src/ui/utils/displayUtils.js.map +1 -0
  389. package/dist/src/ui/utils/errorParsing.d.ts +15 -0
  390. package/dist/src/ui/utils/errorParsing.js +79 -0
  391. package/dist/src/ui/utils/errorParsing.js.map +1 -0
  392. package/dist/src/ui/utils/formatters.d.ts +13 -0
  393. package/dist/src/ui/utils/formatters.js +56 -0
  394. package/dist/src/ui/utils/formatters.js.map +1 -0
  395. package/dist/src/ui/utils/markdownUtilities.d.ts +6 -0
  396. package/dist/src/ui/utils/markdownUtilities.js +110 -0
  397. package/dist/src/ui/utils/markdownUtilities.js.map +1 -0
  398. package/dist/src/ui/utils/textUtils.d.ts +22 -0
  399. package/dist/src/ui/utils/textUtils.js +58 -0
  400. package/dist/src/ui/utils/textUtils.js.map +1 -0
  401. package/dist/src/ui/utils/updateCheck.d.ts +6 -0
  402. package/dist/src/ui/utils/updateCheck.js +36 -0
  403. package/dist/src/ui/utils/updateCheck.js.map +1 -0
  404. package/dist/src/utils/cleanup.d.ts +6 -0
  405. package/dist/src/utils/cleanup.js +19 -0
  406. package/dist/src/utils/cleanup.js.map +1 -0
  407. package/dist/src/utils/package.d.ts +12 -0
  408. package/dist/src/utils/package.js +24 -0
  409. package/dist/src/utils/package.js.map +1 -0
  410. package/dist/src/utils/readStdin.d.ts +6 -0
  411. package/dist/src/utils/readStdin.js +34 -0
  412. package/dist/src/utils/readStdin.js.map +1 -0
  413. package/dist/src/utils/sandbox-macos-permissive-closed.sb +26 -0
  414. package/dist/src/utils/sandbox-macos-permissive-open.sb +19 -0
  415. package/dist/src/utils/sandbox-macos-permissive-proxied.sb +31 -0
  416. package/dist/src/utils/sandbox-macos-restrictive-closed.sb +87 -0
  417. package/dist/src/utils/sandbox-macos-restrictive-open.sb +90 -0
  418. package/dist/src/utils/sandbox-macos-restrictive-proxied.sb +92 -0
  419. package/dist/src/utils/sandbox.d.ts +7 -0
  420. package/dist/src/utils/sandbox.js +680 -0
  421. package/dist/src/utils/sandbox.js.map +1 -0
  422. package/dist/src/utils/startupWarnings.d.ts +6 -0
  423. package/dist/src/utils/startupWarnings.js +40 -0
  424. package/dist/src/utils/startupWarnings.js.map +1 -0
  425. package/dist/src/utils/version.d.ts +6 -0
  426. package/dist/src/utils/version.js +11 -0
  427. package/dist/src/utils/version.js.map +1 -0
  428. package/dist/tsconfig.tsbuildinfo +1 -0
  429. package/package.json +6 -3
@@ -0,0 +1,27 @@
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 { useState, useEffect } from 'react';
8
+ import { Box, Text, useInput } from 'ink';
9
+ import Spinner from 'ink-spinner';
10
+ import { Colors } from '../colors.js';
11
+ export function AuthInProgress({ onTimeout, }) {
12
+ const [timedOut, setTimedOut] = useState(false);
13
+ useInput((_, key) => {
14
+ if (key.escape) {
15
+ onTimeout();
16
+ }
17
+ });
18
+ useEffect(() => {
19
+ const timer = setTimeout(() => {
20
+ setTimedOut(true);
21
+ onTimeout();
22
+ }, 180000);
23
+ return () => clearTimeout(timer);
24
+ }, [onTimeout]);
25
+ return (_jsx(Box, { borderStyle: "round", borderColor: Colors.Gray, flexDirection: "column", padding: 1, width: "100%", children: timedOut ? (_jsx(Text, { color: Colors.AccentRed, children: "Authentication timed out. Please try again." })) : (_jsx(Box, { children: _jsxs(Text, { children: [_jsx(Spinner, { type: "dots" }), " Waiting for auth... (Press ESC to cancel)"] }) })) }));
26
+ }
27
+ //# sourceMappingURL=AuthInProgress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthInProgress.js","sourceRoot":"","sources":["../../../../src/ui/components/AuthInProgress.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAMtC,MAAM,UAAU,cAAc,CAAC,EAC7B,SAAS,GACW;IACpB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhD,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QAClB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,SAAS,EAAE,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,WAAW,CAAC,IAAI,CAAC,CAAC;YAClB,SAAS,EAAE,CAAC;QACd,CAAC,EAAE,MAAM,CAAC,CAAC;QAEX,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,CACL,KAAC,GAAG,IACF,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,MAAM,CAAC,IAAI,EACxB,aAAa,EAAC,QAAQ,EACtB,OAAO,EAAE,CAAC,EACV,KAAK,EAAC,MAAM,YAEX,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,4DAEtB,CACR,CAAC,CAAC,CAAC,CACF,KAAC,GAAG,cACF,MAAC,IAAI,eACH,KAAC,OAAO,IAAC,IAAI,EAAC,MAAM,GAAG,kDAClB,GACH,CACP,GACG,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import React from 'react';
7
+ import { ApprovalMode } from '@google/gemini-cli-core';
8
+ interface AutoAcceptIndicatorProps {
9
+ approvalMode: ApprovalMode;
10
+ }
11
+ export declare const AutoAcceptIndicator: React.FC<AutoAcceptIndicatorProps>;
12
+ export {};
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import { Colors } from '../colors.js';
4
+ import { ApprovalMode } from '@google/gemini-cli-core';
5
+ export const AutoAcceptIndicator = ({ approvalMode, }) => {
6
+ let textColor = '';
7
+ let textContent = '';
8
+ let subText = '';
9
+ switch (approvalMode) {
10
+ case ApprovalMode.AUTO_EDIT:
11
+ textColor = Colors.AccentGreen;
12
+ textContent = 'accepting edits';
13
+ subText = ' (shift + tab to toggle)';
14
+ break;
15
+ case ApprovalMode.YOLO:
16
+ textColor = Colors.AccentRed;
17
+ textContent = 'YOLO mode';
18
+ subText = ' (ctrl + y to toggle)';
19
+ break;
20
+ case ApprovalMode.DEFAULT:
21
+ default:
22
+ break;
23
+ }
24
+ return (_jsx(Box, { children: _jsxs(Text, { color: textColor, children: [textContent, subText && _jsx(Text, { color: Colors.Gray, children: subText })] }) }));
25
+ };
26
+ //# sourceMappingURL=AutoAcceptIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoAcceptIndicator.js","sourceRoot":"","sources":["../../../../src/ui/components/AutoAcceptIndicator.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAMvD,MAAM,CAAC,MAAM,mBAAmB,GAAuC,CAAC,EACtE,YAAY,GACb,EAAE,EAAE;IACH,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,YAAY,CAAC,SAAS;YACzB,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;YAC/B,WAAW,GAAG,iBAAiB,CAAC;YAChC,OAAO,GAAG,0BAA0B,CAAC;YACrC,MAAM;QACR,KAAK,YAAY,CAAC,IAAI;YACpB,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YAC7B,WAAW,GAAG,WAAW,CAAC;YAC1B,OAAO,GAAG,uBAAuB,CAAC;YAClC,MAAM;QACR,KAAK,YAAY,CAAC,OAAO,CAAC;QAC1B;YACE,MAAM;IACV,CAAC;IAED,OAAO,CACL,KAAC,GAAG,cACF,MAAC,IAAI,IAAC,KAAK,EAAE,SAAS,aACnB,WAAW,EACX,OAAO,IAAI,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,YAAG,OAAO,GAAQ,IACjD,GACH,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ConsoleMessageItem } from '../types.js';
7
+ interface UseConsolePatcherParams {
8
+ onNewMessage: (message: Omit<ConsoleMessageItem, 'id'>) => void;
9
+ debugMode: boolean;
10
+ }
11
+ export declare const useConsolePatcher: ({ onNewMessage, debugMode, }: UseConsolePatcherParams) => void;
12
+ export {};
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { useEffect } from 'react';
7
+ import util from 'util';
8
+ export const useConsolePatcher = ({ onNewMessage, debugMode, }) => {
9
+ useEffect(() => {
10
+ const originalConsoleLog = console.log;
11
+ const originalConsoleWarn = console.warn;
12
+ const originalConsoleError = console.error;
13
+ const originalConsoleDebug = console.debug;
14
+ const formatArgs = (args) => util.format(...args);
15
+ const patchConsoleMethod = (type, originalMethod) => (...args) => {
16
+ if (debugMode) {
17
+ originalMethod.apply(console, args);
18
+ }
19
+ // Then, if it's not a debug message or debugMode is on, pass to onNewMessage
20
+ if (type !== 'debug' || debugMode) {
21
+ onNewMessage({
22
+ type,
23
+ content: formatArgs(args),
24
+ count: 1,
25
+ });
26
+ }
27
+ };
28
+ console.log = patchConsoleMethod('log', originalConsoleLog);
29
+ console.warn = patchConsoleMethod('warn', originalConsoleWarn);
30
+ console.error = patchConsoleMethod('error', originalConsoleError);
31
+ console.debug = patchConsoleMethod('debug', originalConsoleDebug);
32
+ return () => {
33
+ console.log = originalConsoleLog;
34
+ console.warn = originalConsoleWarn;
35
+ console.error = originalConsoleError;
36
+ console.debug = originalConsoleDebug;
37
+ };
38
+ }, [onNewMessage, debugMode]);
39
+ };
40
+ //# sourceMappingURL=ConsolePatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsolePatcher.js","sourceRoot":"","sources":["../../../../src/ui/components/ConsolePatcher.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,IAAI,MAAM,MAAM,CAAC;AAQxB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,YAAY,EACZ,SAAS,GACe,EAAQ,EAAE;IAClC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC;QACvC,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;QACzC,MAAM,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3C,MAAM,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC;QAE3C,MAAM,UAAU,GAAG,CAAC,IAAe,EAAU,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QAErE,MAAM,kBAAkB,GACtB,CACE,IAAwC,EACxC,cAA4C,EAC5C,EAAE,CACJ,CAAC,GAAG,IAAe,EAAE,EAAE;YACrB,IAAI,SAAS,EAAE,CAAC;gBACd,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC;YAED,6EAA6E;YAC7E,IAAI,IAAI,KAAK,OAAO,IAAI,SAAS,EAAE,CAAC;gBAClC,YAAY,CAAC;oBACX,IAAI;oBACJ,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC;oBACzB,KAAK,EAAE,CAAC;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEJ,OAAO,CAAC,GAAG,GAAG,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,GAAG,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAC/D,OAAO,CAAC,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QAClE,OAAO,CAAC,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QAElE,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,GAAG,GAAG,kBAAkB,CAAC;YACjC,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAC;YACnC,OAAO,CAAC,KAAK,GAAG,oBAAoB,CAAC;YACrC,OAAO,CAAC,KAAK,GAAG,oBAAoB,CAAC;QACvC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import React from 'react';
7
+ interface ConsoleSummaryDisplayProps {
8
+ errorCount: number;
9
+ }
10
+ export declare const ConsoleSummaryDisplay: React.FC<ConsoleSummaryDisplayProps>;
11
+ export {};
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import { Colors } from '../colors.js';
4
+ export const ConsoleSummaryDisplay = ({ errorCount, }) => {
5
+ if (errorCount === 0) {
6
+ return null;
7
+ }
8
+ const errorIcon = '\u2716'; // Heavy multiplication x (✖)
9
+ return (_jsx(Box, { children: errorCount > 0 && (_jsxs(Text, { color: Colors.AccentRed, children: [errorIcon, " ", errorCount, " error", errorCount > 1 ? 's' : '', ' ', _jsx(Text, { color: Colors.Gray, children: "(ctrl+o for details)" })] })) }));
10
+ };
11
+ //# sourceMappingURL=ConsoleSummaryDisplay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsoleSummaryDisplay.js","sourceRoot":"","sources":["../../../../src/ui/components/ConsoleSummaryDisplay.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAOtC,MAAM,CAAC,MAAM,qBAAqB,GAAyC,CAAC,EAC1E,UAAU,GACX,EAAE,EAAE;IACH,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,6BAA6B;IAEzD,OAAO,CACL,KAAC,GAAG,cACD,UAAU,GAAG,CAAC,IAAI,CACjB,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,aAC1B,SAAS,OAAG,UAAU,YAAQ,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAC7D,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,qCAA6B,IAChD,CACR,GACG,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import React from 'react';
7
+ import { type MCPServerConfig } from '@google/gemini-cli-core';
8
+ interface ContextSummaryDisplayProps {
9
+ geminiMdFileCount: number;
10
+ contextFileNames: string[];
11
+ mcpServers?: Record<string, MCPServerConfig>;
12
+ showToolDescriptions?: boolean;
13
+ }
14
+ export declare const ContextSummaryDisplay: React.FC<ContextSummaryDisplayProps>;
15
+ export {};
@@ -0,0 +1,41 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Text } from 'ink';
3
+ import { Colors } from '../colors.js';
4
+ export const ContextSummaryDisplay = ({ geminiMdFileCount, contextFileNames, mcpServers, showToolDescriptions, }) => {
5
+ const mcpServerCount = Object.keys(mcpServers || {}).length;
6
+ if (geminiMdFileCount === 0 && mcpServerCount === 0) {
7
+ return _jsx(Text, { children: " " }); // Render an empty space to reserve height
8
+ }
9
+ const geminiMdText = (() => {
10
+ if (geminiMdFileCount === 0) {
11
+ return '';
12
+ }
13
+ const allNamesTheSame = new Set(contextFileNames).size < 2;
14
+ const name = allNamesTheSame ? contextFileNames[0] : 'context';
15
+ return `${geminiMdFileCount} ${name} file${geminiMdFileCount > 1 ? 's' : ''}`;
16
+ })();
17
+ const mcpText = mcpServerCount > 0
18
+ ? `${mcpServerCount} MCP server${mcpServerCount > 1 ? 's' : ''}`
19
+ : '';
20
+ let summaryText = 'Using ';
21
+ if (geminiMdText) {
22
+ summaryText += geminiMdText;
23
+ }
24
+ if (geminiMdText && mcpText) {
25
+ summaryText += ' and ';
26
+ }
27
+ if (mcpText) {
28
+ summaryText += mcpText;
29
+ // Add ctrl+t hint when MCP servers are available
30
+ if (mcpServers && Object.keys(mcpServers).length > 0) {
31
+ if (showToolDescriptions) {
32
+ summaryText += ' (ctrl+t to toggle)';
33
+ }
34
+ else {
35
+ summaryText += ' (ctrl+t to view)';
36
+ }
37
+ }
38
+ }
39
+ return _jsx(Text, { color: Colors.Gray, children: summaryText });
40
+ };
41
+ //# sourceMappingURL=ContextSummaryDisplay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextSummaryDisplay.js","sourceRoot":"","sources":["../../../../src/ui/components/ContextSummaryDisplay.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAUtC,MAAM,CAAC,MAAM,qBAAqB,GAAyC,CAAC,EAC1E,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,oBAAoB,GACrB,EAAE,EAAE;IACH,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IAE5D,IAAI,iBAAiB,KAAK,CAAC,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,KAAC,IAAI,oBAAS,CAAC,CAAC,0CAA0C;IACnE,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE;QACzB,IAAI,iBAAiB,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,OAAO,GAAG,iBAAiB,IAAI,IAAI,QACjC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAChC,EAAE,CAAC;IACL,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,OAAO,GACX,cAAc,GAAG,CAAC;QAChB,CAAC,CAAC,GAAG,cAAc,cAAc,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAChE,CAAC,CAAC,EAAE,CAAC;IAET,IAAI,WAAW,GAAG,QAAQ,CAAC;IAC3B,IAAI,YAAY,EAAE,CAAC;QACjB,WAAW,IAAI,YAAY,CAAC;IAC9B,CAAC;IACD,IAAI,YAAY,IAAI,OAAO,EAAE,CAAC;QAC5B,WAAW,IAAI,OAAO,CAAC;IACzB,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,WAAW,IAAI,OAAO,CAAC;QACvB,iDAAiD;QACjD,IAAI,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrD,IAAI,oBAAoB,EAAE,CAAC;gBACzB,WAAW,IAAI,qBAAqB,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,WAAW,IAAI,mBAAmB,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,YAAG,WAAW,GAAQ,CAAC;AACxD,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import React from 'react';
7
+ import { ConsoleMessageItem } from '../types.js';
8
+ interface DetailedMessagesDisplayProps {
9
+ messages: ConsoleMessageItem[];
10
+ maxHeight: number | undefined;
11
+ width: number;
12
+ }
13
+ export declare const DetailedMessagesDisplay: React.FC<DetailedMessagesDisplayProps>;
14
+ export {};
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import { Colors } from '../colors.js';
4
+ import { MaxSizedBox } from './shared/MaxSizedBox.js';
5
+ export const DetailedMessagesDisplay = ({ messages, maxHeight, width }) => {
6
+ if (messages.length === 0) {
7
+ return null; // Don't render anything if there are no messages
8
+ }
9
+ const borderAndPadding = 4;
10
+ return (_jsxs(Box, { flexDirection: "column", marginTop: 1, borderStyle: "round", borderColor: Colors.Gray, paddingX: 1, width: width, children: [_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { bold: true, color: Colors.Foreground, children: ["Debug Console ", _jsx(Text, { color: Colors.Gray, children: "(ctrl+o to close)" })] }) }), _jsx(MaxSizedBox, { maxHeight: maxHeight, maxWidth: width - borderAndPadding, children: messages.map((msg, index) => {
11
+ let textColor = Colors.Foreground;
12
+ let icon = '\u2139'; // Information source (ℹ)
13
+ switch (msg.type) {
14
+ case 'warn':
15
+ textColor = Colors.AccentYellow;
16
+ icon = '\u26A0'; // Warning sign (⚠)
17
+ break;
18
+ case 'error':
19
+ textColor = Colors.AccentRed;
20
+ icon = '\u2716'; // Heavy multiplication x (✖)
21
+ break;
22
+ case 'debug':
23
+ textColor = Colors.Gray; // Or Colors.Gray
24
+ icon = '\u1F50D'; // Left-pointing magnifying glass (????)
25
+ break;
26
+ case 'log':
27
+ default:
28
+ // Default textColor and icon are already set
29
+ break;
30
+ }
31
+ return (_jsxs(Box, { flexDirection: "row", children: [_jsxs(Text, { color: textColor, children: [icon, " "] }), _jsxs(Text, { color: textColor, wrap: "wrap", children: [msg.content, msg.count && msg.count > 1 && (_jsxs(Text, { color: Colors.Gray, children: [" (x", msg.count, ")"] }))] })] }, index));
32
+ }) })] }));
33
+ };
34
+ //# sourceMappingURL=DetailedMessagesDisplay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DetailedMessagesDisplay.js","sourceRoot":"","sources":["../../../../src/ui/components/DetailedMessagesDisplay.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAUtD,MAAM,CAAC,MAAM,uBAAuB,GAEhC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;IACrC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,CAAC,iDAAiD;IAChE,CAAC;IAED,MAAM,gBAAgB,GAAG,CAAC,CAAC;IAC3B,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,SAAS,EAAE,CAAC,EACZ,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,MAAM,CAAC,IAAI,EACxB,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,KAAK,aAEZ,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,YAClB,MAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,MAAM,CAAC,UAAU,+BACnB,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,kCAA0B,IAC3D,GACH,EACN,KAAC,WAAW,IAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,GAAG,gBAAgB,YAClE,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;oBAC3B,IAAI,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;oBAClC,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,yBAAyB;oBAE9C,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;wBACjB,KAAK,MAAM;4BACT,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;4BAChC,IAAI,GAAG,QAAQ,CAAC,CAAC,mBAAmB;4BACpC,MAAM;wBACR,KAAK,OAAO;4BACV,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;4BAC7B,IAAI,GAAG,QAAQ,CAAC,CAAC,6BAA6B;4BAC9C,MAAM;wBACR,KAAK,OAAO;4BACV,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,iBAAiB;4BAC1C,IAAI,GAAG,SAAS,CAAC,CAAC,wCAAwC;4BAC1D,MAAM;wBACR,KAAK,KAAK,CAAC;wBACX;4BACE,6CAA6C;4BAC7C,MAAM;oBACV,CAAC;oBAED,OAAO,CACL,MAAC,GAAG,IAAa,aAAa,EAAC,KAAK,aAClC,MAAC,IAAI,IAAC,KAAK,EAAE,SAAS,aAAG,IAAI,SAAS,EACtC,MAAC,IAAI,IAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC,MAAM,aAChC,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,CAC7B,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,oBAAM,GAAG,CAAC,KAAK,SAAS,CACjD,IACI,KAPC,KAAK,CAQT,CACP,CAAC;gBACJ,CAAC,CAAC,GACU,IACV,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import React from 'react';
7
+ import { LoadedSettings, SettingScope } from '../../config/settings.js';
8
+ import { EditorType } from '@google/gemini-cli-core';
9
+ interface EditorDialogProps {
10
+ onSelect: (editorType: EditorType | undefined, scope: SettingScope) => void;
11
+ settings: LoadedSettings;
12
+ onExit: () => void;
13
+ }
14
+ export declare function EditorSettingsDialog({ onSelect, settings, onExit, }: EditorDialogProps): React.JSX.Element;
15
+ export {};
@@ -0,0 +1,73 @@
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 { useState } from 'react';
8
+ import { Box, Text, useInput } from 'ink';
9
+ import { Colors } from '../colors.js';
10
+ import { EDITOR_DISPLAY_NAMES, editorSettingsManager, } from '../editors/editorSettingsManager.js';
11
+ import { RadioButtonSelect } from './shared/RadioButtonSelect.js';
12
+ import { SettingScope } from '../../config/settings.js';
13
+ import { isEditorAvailable } from '@google/gemini-cli-core';
14
+ export function EditorSettingsDialog({ onSelect, settings, onExit, }) {
15
+ const [selectedScope, setSelectedScope] = useState(SettingScope.User);
16
+ const [focusedSection, setFocusedSection] = useState('editor');
17
+ useInput((_, key) => {
18
+ if (key.tab) {
19
+ setFocusedSection((prev) => (prev === 'editor' ? 'scope' : 'editor'));
20
+ }
21
+ if (key.escape) {
22
+ onExit();
23
+ }
24
+ });
25
+ const editorItems = editorSettingsManager.getAvailableEditorDisplays();
26
+ const currentPreference = settings.forScope(selectedScope).settings.preferredEditor;
27
+ let editorIndex = currentPreference
28
+ ? editorItems.findIndex((item) => item.type === currentPreference)
29
+ : 0;
30
+ if (editorIndex === -1) {
31
+ console.error(`Editor is not supported: ${currentPreference}`);
32
+ editorIndex = 0;
33
+ }
34
+ const scopeItems = [
35
+ { label: 'User Settings', value: SettingScope.User },
36
+ { label: 'Workspace Settings', value: SettingScope.Workspace },
37
+ ];
38
+ const handleEditorSelect = (editorType) => {
39
+ if (editorType === 'not_set') {
40
+ onSelect(undefined, selectedScope);
41
+ return;
42
+ }
43
+ onSelect(editorType, selectedScope);
44
+ };
45
+ const handleScopeSelect = (scope) => {
46
+ setSelectedScope(scope);
47
+ setFocusedSection('editor');
48
+ };
49
+ let otherScopeModifiedMessage = '';
50
+ const otherScope = selectedScope === SettingScope.User
51
+ ? SettingScope.Workspace
52
+ : SettingScope.User;
53
+ if (settings.forScope(otherScope).settings.preferredEditor !== undefined) {
54
+ otherScopeModifiedMessage =
55
+ settings.forScope(selectedScope).settings.preferredEditor !== undefined
56
+ ? `(Also modified in ${otherScope})`
57
+ : `(Modified in ${otherScope})`;
58
+ }
59
+ let mergedEditorName = 'None';
60
+ if (settings.merged.preferredEditor &&
61
+ isEditorAvailable(settings.merged.preferredEditor)) {
62
+ mergedEditorName =
63
+ EDITOR_DISPLAY_NAMES[settings.merged.preferredEditor];
64
+ }
65
+ return (_jsxs(Box, { borderStyle: "round", borderColor: Colors.Gray, flexDirection: "row", padding: 1, width: "100%", children: [_jsxs(Box, { flexDirection: "column", width: "45%", paddingRight: 2, children: [_jsxs(Text, { bold: focusedSection === 'editor', children: [focusedSection === 'editor' ? '> ' : ' ', "Select Editor", ' ', _jsx(Text, { color: Colors.Gray, children: otherScopeModifiedMessage })] }), _jsx(RadioButtonSelect, { items: editorItems.map((item) => ({
66
+ label: item.name,
67
+ value: item.type,
68
+ disabled: item.disabled,
69
+ })), initialIndex: editorIndex, onSelect: handleEditorSelect, isFocused: focusedSection === 'editor' }, selectedScope), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsxs(Text, { bold: focusedSection === 'scope', children: [focusedSection === 'scope' ? '> ' : ' ', "Apply To"] }), _jsx(RadioButtonSelect, { items: scopeItems, initialIndex: 0, onSelect: handleScopeSelect, isFocused: focusedSection === 'scope' })] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: Colors.Gray, children: "(Use Enter to select, Tab to change focus)" }) })] }), _jsxs(Box, { flexDirection: "column", width: "55%", paddingLeft: 2, children: [_jsx(Text, { bold: true, children: "Editor Preference" }), _jsxs(Box, { flexDirection: "column", gap: 1, marginTop: 1, children: [_jsx(Text, { color: Colors.Gray, children: "These editors are currently supported. Please note that some editors cannot be used in sandbox mode." }), _jsxs(Text, { color: Colors.Gray, children: ["Your preferred editor is:", ' ', _jsx(Text, { color: mergedEditorName === 'None'
70
+ ? Colors.AccentRed
71
+ : Colors.AccentCyan, bold: true, children: mergedEditorName }), "."] })] })] })] }));
72
+ }
73
+ //# sourceMappingURL=EditorSettingsDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditorSettingsDialog.js","sourceRoot":"","sources":["../../../../src/ui/components/EditorSettingsDialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import React from 'react';
7
+ interface FooterProps {
8
+ model: string;
9
+ targetDir: string;
10
+ branchName?: string;
11
+ debugMode: boolean;
12
+ debugMessage: string;
13
+ corgiMode: boolean;
14
+ errorCount: number;
15
+ showErrorDetails: boolean;
16
+ showMemoryUsage?: boolean;
17
+ promptTokenCount: number;
18
+ }
19
+ export declare const Footer: React.FC<FooterProps>;
20
+ export {};
@@ -0,0 +1,13 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import { Colors } from '../colors.js';
4
+ import { shortenPath, tildeifyPath, tokenLimit } from '@google/gemini-cli-core';
5
+ import { ConsoleSummaryDisplay } from './ConsoleSummaryDisplay.js';
6
+ import process from 'node:process';
7
+ import { MemoryUsageDisplay } from './MemoryUsageDisplay.js';
8
+ export const Footer = ({ model, targetDir, branchName, debugMode, debugMessage, corgiMode, errorCount, showErrorDetails, showMemoryUsage, promptTokenCount, }) => {
9
+ const limit = tokenLimit(model);
10
+ const percentage = promptTokenCount / limit;
11
+ return (_jsxs(Box, { marginTop: 1, justifyContent: "space-between", width: "100%", children: [_jsxs(Box, { children: [_jsxs(Text, { color: Colors.LightBlue, children: [shortenPath(tildeifyPath(targetDir), 70), branchName && _jsxs(Text, { color: Colors.Gray, children: [" (", branchName, "*)"] })] }), debugMode && (_jsx(Text, { color: Colors.AccentRed, children: ' ' + (debugMessage || '--debug') }))] }), _jsx(Box, { flexGrow: 1, alignItems: "center", justifyContent: "center", display: "flex", children: process.env.SANDBOX && process.env.SANDBOX !== 'sandbox-exec' ? (_jsx(Text, { color: "green", children: process.env.SANDBOX.replace(/^gemini-(?:cli-)?/, '') })) : process.env.SANDBOX === 'sandbox-exec' ? (_jsxs(Text, { color: Colors.AccentYellow, children: ["MacOS Seatbelt", ' ', _jsxs(Text, { color: Colors.Gray, children: ["(", process.env.SEATBELT_PROFILE, ")"] })] })) : (_jsxs(Text, { color: Colors.AccentRed, children: ["no sandbox ", _jsx(Text, { color: Colors.Gray, children: "(see /docs)" })] })) }), _jsxs(Box, { alignItems: "center", children: [_jsxs(Text, { color: Colors.AccentBlue, children: [' ', model, ' ', _jsxs(Text, { color: Colors.Gray, children: ["(", ((1 - percentage) * 100).toFixed(0), "% context left)"] })] }), corgiMode && (_jsxs(Text, { children: [_jsx(Text, { color: Colors.Gray, children: "| " }), _jsx(Text, { color: Colors.AccentRed, children: "\u25BC" }), _jsx(Text, { color: Colors.Foreground, children: "(\u00B4" }), _jsx(Text, { color: Colors.AccentRed, children: "\u1D25" }), _jsx(Text, { color: Colors.Foreground, children: "`)" }), _jsx(Text, { color: Colors.AccentRed, children: "\u25BC " })] })), !showErrorDetails && errorCount > 0 && (_jsxs(Box, { children: [_jsx(Text, { color: Colors.Gray, children: "| " }), _jsx(ConsoleSummaryDisplay, { errorCount: errorCount })] })), showMemoryUsage && _jsx(MemoryUsageDisplay, {})] })] }));
12
+ };
13
+ //# sourceMappingURL=Footer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../../../src/ui/components/Footer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import React from 'react';
7
+ import type { SpinnerName } from 'cli-spinners';
8
+ interface GeminiRespondingSpinnerProps {
9
+ /**
10
+ * Optional string to display when not in Responding state.
11
+ * If not provided and not Responding, renders null.
12
+ */
13
+ nonRespondingDisplay?: string;
14
+ spinnerType?: SpinnerName;
15
+ }
16
+ export declare const GeminiRespondingSpinner: React.FC<GeminiRespondingSpinnerProps>;
17
+ export {};
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Text } from 'ink';
3
+ import Spinner from 'ink-spinner';
4
+ import { useStreamingContext } from '../contexts/StreamingContext.js';
5
+ import { StreamingState } from '../types.js';
6
+ export const GeminiRespondingSpinner = ({ nonRespondingDisplay, spinnerType = 'dots' }) => {
7
+ const streamingState = useStreamingContext();
8
+ if (streamingState === StreamingState.Responding) {
9
+ return _jsx(Spinner, { type: spinnerType });
10
+ }
11
+ else if (nonRespondingDisplay) {
12
+ return _jsx(Text, { children: nonRespondingDisplay });
13
+ }
14
+ return null;
15
+ };
16
+ //# sourceMappingURL=GeminiRespondingSpinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeminiRespondingSpinner.js","sourceRoot":"","sources":["../../../../src/ui/components/GeminiRespondingSpinner.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,OAAO,MAAM,aAAa,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAW7C,MAAM,CAAC,MAAM,uBAAuB,GAEhC,CAAC,EAAE,oBAAoB,EAAE,WAAW,GAAG,MAAM,EAAE,EAAE,EAAE;IACrD,MAAM,cAAc,GAAG,mBAAmB,EAAE,CAAC;IAE7C,IAAI,cAAc,KAAK,cAAc,CAAC,UAAU,EAAE,CAAC;QACjD,OAAO,KAAC,OAAO,IAAC,IAAI,EAAE,WAAW,GAAI,CAAC;IACxC,CAAC;SAAM,IAAI,oBAAoB,EAAE,CAAC;QAChC,OAAO,KAAC,IAAI,cAAE,oBAAoB,GAAQ,CAAC;IAC7C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import React from 'react';
7
+ interface HeaderProps {
8
+ customAsciiArt?: string;
9
+ terminalWidth: number;
10
+ }
11
+ export declare const Header: React.FC<HeaderProps>;
12
+ export {};
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import Gradient from 'ink-gradient';
4
+ import { Colors } from '../colors.js';
5
+ import { shortAsciiLogo, longAsciiLogo } from './AsciiArt.js';
6
+ import { getAsciiArtWidth } from '../utils/textUtils.js';
7
+ export const Header = ({ customAsciiArt, terminalWidth, }) => {
8
+ let displayTitle;
9
+ const widthOfLongLogo = getAsciiArtWidth(longAsciiLogo);
10
+ if (customAsciiArt) {
11
+ displayTitle = customAsciiArt;
12
+ }
13
+ else {
14
+ displayTitle =
15
+ terminalWidth >= widthOfLongLogo ? longAsciiLogo : shortAsciiLogo;
16
+ }
17
+ const artWidth = getAsciiArtWidth(displayTitle);
18
+ return (_jsx(Box, { marginBottom: 1, alignItems: "flex-start", width: artWidth, flexShrink: 0, children: Colors.GradientColors ? (_jsx(Gradient, { colors: Colors.GradientColors, children: _jsx(Text, { children: displayTitle }) })) : (_jsx(Text, { children: displayTitle })) }));
19
+ };
20
+ //# sourceMappingURL=Header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../../src/ui/components/Header.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,QAAQ,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAOzD,MAAM,CAAC,MAAM,MAAM,GAA0B,CAAC,EAC5C,cAAc,EACd,aAAa,GACd,EAAE,EAAE;IACH,IAAI,YAAY,CAAC;IACjB,MAAM,eAAe,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAExD,IAAI,cAAc,EAAE,CAAC;QACnB,YAAY,GAAG,cAAc,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,YAAY;YACV,aAAa,IAAI,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;IACtE,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAEhD,OAAO,CACL,KAAC,GAAG,IACF,YAAY,EAAE,CAAC,EACf,UAAU,EAAC,YAAY,EACvB,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,CAAC,YAEZ,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CACvB,KAAC,QAAQ,IAAC,MAAM,EAAE,MAAM,CAAC,cAAc,YACrC,KAAC,IAAI,cAAE,YAAY,GAAQ,GAClB,CACZ,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,cAAE,YAAY,GAAQ,CAC5B,GACG,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import React from 'react';
7
+ import { SlashCommand } from '../hooks/slashCommandProcessor.js';
8
+ interface Help {
9
+ commands: SlashCommand[];
10
+ }
11
+ export declare const Help: React.FC<Help>;
12
+ export {};
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import { Colors } from '../colors.js';
4
+ export const Help = ({ commands }) => (_jsxs(Box, { flexDirection: "column", marginBottom: 1, borderColor: Colors.Gray, borderStyle: "round", padding: 1, children: [_jsx(Text, { bold: true, color: Colors.Foreground, children: "Basics:" }), _jsxs(Text, { color: Colors.Foreground, children: [_jsx(Text, { bold: true, color: Colors.AccentPurple, children: "Add context" }), ": Use", ' ', _jsx(Text, { bold: true, color: Colors.AccentPurple, children: "@" }), ' ', "to specify files for context (e.g.,", ' ', _jsx(Text, { bold: true, color: Colors.AccentPurple, children: "@src/myFile.ts" }), ") to target specific files or folders."] }), _jsxs(Text, { color: Colors.Foreground, children: [_jsx(Text, { bold: true, color: Colors.AccentPurple, children: "Shell mode" }), ": Execute shell commands via", ' ', _jsx(Text, { bold: true, color: Colors.AccentPurple, children: "!" }), ' ', "(e.g.,", ' ', _jsx(Text, { bold: true, color: Colors.AccentPurple, children: "!npm run start" }), ") or use natural language (e.g.", ' ', _jsx(Text, { bold: true, color: Colors.AccentPurple, children: "start server" }), ")."] }), _jsx(Box, { height: 1 }), _jsx(Text, { bold: true, color: Colors.Foreground, children: "Commands:" }), commands
5
+ .filter((command) => command.description)
6
+ .map((command) => (_jsxs(Text, { color: Colors.Foreground, children: [_jsxs(Text, { bold: true, color: Colors.AccentPurple, children: [' ', "/", command.name] }), command.description && ' - ' + command.description] }, command.name))), _jsxs(Text, { color: Colors.Foreground, children: [_jsxs(Text, { bold: true, color: Colors.AccentPurple, children: [' ', "!", ' '] }), "- shell command"] }), _jsx(Box, { height: 1 }), _jsx(Text, { bold: true, color: Colors.Foreground, children: "Keyboard Shortcuts:" }), _jsxs(Text, { color: Colors.Foreground, children: [_jsx(Text, { bold: true, color: Colors.AccentPurple, children: "Enter" }), ' ', "- Send message"] }), _jsxs(Text, { color: Colors.Foreground, children: [_jsx(Text, { bold: true, color: Colors.AccentPurple, children: process.platform === 'win32' ? 'Ctrl+Enter' : 'Ctrl+J' }), ' ', process.platform === 'linux'
7
+ ? '- New line (Alt+Enter works for certain linux distros)'
8
+ : '- New line'] }), _jsxs(Text, { color: Colors.Foreground, children: [_jsx(Text, { bold: true, color: Colors.AccentPurple, children: "Up/Down" }), ' ', "- Cycle through your prompt history"] }), _jsxs(Text, { color: Colors.Foreground, children: [_jsx(Text, { bold: true, color: Colors.AccentPurple, children: "Alt+Left/Right" }), ' ', "- Jump through words in the input"] }), _jsxs(Text, { color: Colors.Foreground, children: [_jsx(Text, { bold: true, color: Colors.AccentPurple, children: "Shift+Tab" }), ' ', "- Toggle auto-accepting edits"] }), _jsxs(Text, { color: Colors.Foreground, children: [_jsx(Text, { bold: true, color: Colors.AccentPurple, children: "Esc" }), ' ', "- Cancel operation"] }), _jsxs(Text, { color: Colors.Foreground, children: [_jsx(Text, { bold: true, color: Colors.AccentPurple, children: "Ctrl+C" }), ' ', "- Quit application"] })] }));
9
+ //# sourceMappingURL=Help.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Help.js","sourceRoot":"","sources":["../../../../src/ui/components/Help.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import React from 'react';
7
+ import type { HistoryItem } from '../types.js';
8
+ import { Config } from '@google/gemini-cli-core';
9
+ interface HistoryItemDisplayProps {
10
+ item: HistoryItem;
11
+ availableTerminalHeight?: number;
12
+ terminalWidth: number;
13
+ isPending: boolean;
14
+ config?: Config;
15
+ isFocused?: boolean;
16
+ }
17
+ export declare const HistoryItemDisplay: React.FC<HistoryItemDisplayProps>;
18
+ export {};
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { UserMessage } from './messages/UserMessage.js';
3
+ import { UserShellMessage } from './messages/UserShellMessage.js';
4
+ import { GeminiMessage } from './messages/GeminiMessage.js';
5
+ import { InfoMessage } from './messages/InfoMessage.js';
6
+ import { ErrorMessage } from './messages/ErrorMessage.js';
7
+ import { ToolGroupMessage } from './messages/ToolGroupMessage.js';
8
+ import { GeminiMessageContent } from './messages/GeminiMessageContent.js';
9
+ import { CompressionMessage } from './messages/CompressionMessage.js';
10
+ import { Box } from 'ink';
11
+ import { AboutBox } from './AboutBox.js';
12
+ import { StatsDisplay } from './StatsDisplay.js';
13
+ import { ModelStatsDisplay } from './ModelStatsDisplay.js';
14
+ import { ToolStatsDisplay } from './ToolStatsDisplay.js';
15
+ import { SessionSummaryDisplay } from './SessionSummaryDisplay.js';
16
+ export const HistoryItemDisplay = ({ item, availableTerminalHeight, terminalWidth, isPending, config, isFocused = true, }) => (_jsxs(Box, { flexDirection: "column", children: [item.type === 'user' && _jsx(UserMessage, { text: item.text }), item.type === 'user_shell' && _jsx(UserShellMessage, { text: item.text }), item.type === 'gemini' && (_jsx(GeminiMessage, { text: item.text, isPending: isPending, availableTerminalHeight: availableTerminalHeight, terminalWidth: terminalWidth })), item.type === 'gemini_content' && (_jsx(GeminiMessageContent, { text: item.text, isPending: isPending, availableTerminalHeight: availableTerminalHeight, terminalWidth: terminalWidth })), item.type === 'info' && _jsx(InfoMessage, { text: item.text }), item.type === 'error' && _jsx(ErrorMessage, { text: item.text }), item.type === 'about' && (_jsx(AboutBox, { cliVersion: item.cliVersion, osVersion: item.osVersion, sandboxEnv: item.sandboxEnv, modelVersion: item.modelVersion, selectedAuthType: item.selectedAuthType, gcpProject: item.gcpProject })), item.type === 'stats' && _jsx(StatsDisplay, { duration: item.duration }), item.type === 'model_stats' && _jsx(ModelStatsDisplay, {}), item.type === 'tool_stats' && _jsx(ToolStatsDisplay, {}), item.type === 'quit' && _jsx(SessionSummaryDisplay, { duration: item.duration }), item.type === 'tool_group' && (_jsx(ToolGroupMessage, { toolCalls: item.tools, groupId: item.id, availableTerminalHeight: availableTerminalHeight, terminalWidth: terminalWidth, config: config, isFocused: isFocused })), item.type === 'compression' && (_jsx(CompressionMessage, { compression: item.compression }))] }, item.id));
17
+ //# sourceMappingURL=HistoryItemDisplay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HistoryItemDisplay.js","sourceRoot":"","sources":["../../../../src/ui/components/HistoryItemDisplay.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};