@blackbox_ai/blackbox-cli 0.0.7 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. package/README.md +11 -183
  2. package/dist/index.js +8 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/package.json +13 -3
  5. package/dist/src/built-in-extensions/conductor/README.md +242 -0
  6. package/dist/src/built-in-extensions/conductor/blackbox-extension.json +5 -0
  7. package/dist/src/built-in-extensions/conductor/commands/conductor/implement.toml +170 -0
  8. package/dist/src/built-in-extensions/conductor/commands/conductor/newTrack.toml +142 -0
  9. package/dist/src/built-in-extensions/conductor/commands/conductor/revert.toml +122 -0
  10. package/dist/src/built-in-extensions/conductor/commands/conductor/setup.toml +424 -0
  11. package/dist/src/built-in-extensions/conductor/commands/conductor/status.toml +57 -0
  12. package/dist/src/built-in-extensions/conductor/templates/code_styleguides/general.md +23 -0
  13. package/dist/src/built-in-extensions/conductor/templates/code_styleguides/go.md +48 -0
  14. package/dist/src/built-in-extensions/conductor/templates/code_styleguides/html-css.md +49 -0
  15. package/dist/src/built-in-extensions/conductor/templates/code_styleguides/javascript.md +51 -0
  16. package/dist/src/built-in-extensions/conductor/templates/code_styleguides/python.md +37 -0
  17. package/dist/src/built-in-extensions/conductor/templates/code_styleguides/typescript.md +43 -0
  18. package/dist/src/built-in-extensions/conductor/templates/workflow.md +333 -0
  19. package/dist/src/built-in-extensions-data.d.ts +15 -0
  20. package/dist/src/built-in-extensions-data.js +61 -0
  21. package/dist/src/built-in-extensions-data.js.map +1 -0
  22. package/dist/src/commands/configure/ConfigureUI.d.ts +14 -0
  23. package/dist/src/commands/configure/ConfigureUI.js +556 -0
  24. package/dist/src/commands/configure/ConfigureUI.js.map +1 -0
  25. package/dist/src/commands/configure/index.d.ts +7 -0
  26. package/dist/src/commands/configure/index.js +62 -0
  27. package/dist/src/commands/configure/index.js.map +1 -0
  28. package/dist/src/commands/configure.d.ts +7 -0
  29. package/dist/src/commands/configure.js +276 -0
  30. package/dist/src/commands/configure.js.map +1 -0
  31. package/dist/src/commands/configure.test.d.ts +6 -0
  32. package/dist/src/commands/configure.test.js +32 -0
  33. package/dist/src/commands/configure.test.js.map +1 -0
  34. package/dist/src/commands/extensions/enable.js +1 -1
  35. package/dist/src/commands/extensions/enable.js.map +1 -1
  36. package/dist/src/commands/extensions/examples/context/CONTEXT.md +16 -0
  37. package/dist/src/commands/extensions/examples/context/blackbox-extension.json +5 -0
  38. package/dist/src/commands/extensions/examples/custom-commands/blackbox-extension.json +4 -0
  39. package/dist/src/commands/extensions/examples/custom-commands/commands/deploy.toml +12 -0
  40. package/dist/src/commands/extensions/examples/exclude-tools/README.md +28 -0
  41. package/dist/src/commands/extensions/examples/exclude-tools/blackbox-extension.json +5 -0
  42. package/dist/src/commands/extensions/install.d.ts +6 -2
  43. package/dist/src/commands/extensions/install.js +109 -15
  44. package/dist/src/commands/extensions/install.js.map +1 -1
  45. package/dist/src/commands/extensions/link.d.ts +12 -0
  46. package/dist/src/commands/extensions/link.js +53 -0
  47. package/dist/src/commands/extensions/link.js.map +1 -0
  48. package/dist/src/commands/extensions/list.js +2 -2
  49. package/dist/src/commands/extensions/list.js.map +1 -1
  50. package/dist/src/commands/extensions/new.d.ts +13 -0
  51. package/dist/src/commands/extensions/new.js +145 -0
  52. package/dist/src/commands/extensions/new.js.map +1 -0
  53. package/dist/src/commands/extensions/settings.d.ts +18 -0
  54. package/dist/src/commands/extensions/settings.js +98 -0
  55. package/dist/src/commands/extensions/settings.js.map +1 -0
  56. package/dist/src/commands/extensions/update.d.ts +2 -1
  57. package/dist/src/commands/extensions/update.js +59 -10
  58. package/dist/src/commands/extensions/update.js.map +1 -1
  59. package/dist/src/commands/extensions/validate.d.ts +12 -0
  60. package/dist/src/commands/extensions/validate.js +72 -0
  61. package/dist/src/commands/extensions/validate.js.map +1 -0
  62. package/dist/src/commands/extensions.js +10 -1
  63. package/dist/src/commands/extensions.js.map +1 -1
  64. package/dist/src/commands/mcp/add.d.ts +11 -0
  65. package/dist/src/commands/mcp/add.js +61 -7
  66. package/dist/src/commands/mcp/add.js.map +1 -1
  67. package/dist/src/commands/update.d.ts +7 -0
  68. package/dist/src/commands/update.js +103 -0
  69. package/dist/src/commands/update.js.map +1 -0
  70. package/dist/src/commands/voice.d.ts +7 -0
  71. package/dist/src/commands/voice.js +510 -0
  72. package/dist/src/commands/voice.js.map +1 -0
  73. package/dist/src/config/auth.d.ts +32 -1
  74. package/dist/src/config/auth.js +317 -2
  75. package/dist/src/config/auth.js.map +1 -1
  76. package/dist/src/config/config.d.ts +7 -1
  77. package/dist/src/config/config.js +71 -10
  78. package/dist/src/config/config.js.map +1 -1
  79. package/dist/src/config/extension.d.ts +6 -1
  80. package/dist/src/config/extension.js +137 -11
  81. package/dist/src/config/extension.js.map +1 -1
  82. package/dist/src/config/extensions/github.d.ts +48 -0
  83. package/dist/src/config/extensions/github.js +308 -0
  84. package/dist/src/config/extensions/github.js.map +1 -0
  85. package/dist/src/config/keyBindings.d.ts +1 -0
  86. package/dist/src/config/keyBindings.js +3 -0
  87. package/dist/src/config/keyBindings.js.map +1 -1
  88. package/dist/src/config/modelFetcher.d.ts +21 -0
  89. package/dist/src/config/modelFetcher.js +226 -0
  90. package/dist/src/config/modelFetcher.js.map +1 -0
  91. package/dist/src/config/settings.js +101 -0
  92. package/dist/src/config/settings.js.map +1 -1
  93. package/dist/src/config/settingsSchema.d.ts +626 -0
  94. package/dist/src/config/settingsSchema.js +626 -0
  95. package/dist/src/config/settingsSchema.js.map +1 -1
  96. package/dist/src/config/voice.d.ts +31 -0
  97. package/dist/src/config/voice.js +82 -0
  98. package/dist/src/config/voice.js.map +1 -0
  99. package/dist/src/encrypt/attestation.d.ts +5 -0
  100. package/dist/src/encrypt/attestation.js +100 -0
  101. package/dist/src/encrypt/attestation.js.map +1 -0
  102. package/dist/src/encrypt/bridge.d.ts +30 -0
  103. package/dist/src/encrypt/bridge.js +32 -0
  104. package/dist/src/encrypt/bridge.js.map +1 -0
  105. package/dist/src/encrypt/client.d.ts +14 -0
  106. package/dist/src/encrypt/client.js +133 -0
  107. package/dist/src/encrypt/client.js.map +1 -0
  108. package/dist/src/encrypt/config.d.ts +26 -0
  109. package/dist/src/encrypt/config.js +51 -0
  110. package/dist/src/encrypt/config.js.map +1 -0
  111. package/dist/src/encrypt/crypto-utils.d.ts +57 -0
  112. package/dist/src/encrypt/crypto-utils.js +257 -0
  113. package/dist/src/encrypt/crypto-utils.js.map +1 -0
  114. package/dist/src/encrypt/index.d.ts +12 -0
  115. package/dist/src/encrypt/index.js +13 -0
  116. package/dist/src/encrypt/index.js.map +1 -0
  117. package/dist/src/encrypt/retry-utils.d.ts +20 -0
  118. package/dist/src/encrypt/retry-utils.js +60 -0
  119. package/dist/src/encrypt/retry-utils.js.map +1 -0
  120. package/dist/src/encrypt/sessions.d.ts +17 -0
  121. package/dist/src/encrypt/sessions.js +221 -0
  122. package/dist/src/encrypt/sessions.js.map +1 -0
  123. package/dist/src/encrypt/streaming-client.d.ts +29 -0
  124. package/dist/src/encrypt/streaming-client.js +226 -0
  125. package/dist/src/encrypt/streaming-client.js.map +1 -0
  126. package/dist/src/encrypt/types.d.ts +81 -0
  127. package/dist/src/encrypt/types.js +2 -0
  128. package/dist/src/encrypt/types.js.map +1 -0
  129. package/dist/src/gemini.d.ts +1 -1
  130. package/dist/src/gemini.js +61 -28
  131. package/dist/src/gemini.js.map +1 -1
  132. package/dist/src/generated/git-commit.d.ts +3 -3
  133. package/dist/src/generated/git-commit.js +3 -3
  134. package/dist/src/nonInteractiveCli.d.ts +4 -0
  135. package/dist/src/nonInteractiveCli.js +563 -6
  136. package/dist/src/nonInteractiveCli.js.map +1 -1
  137. package/dist/src/on-demand-extensions/README.md +266 -0
  138. package/dist/src/on-demand-extensions/git-helper/README.md +16 -0
  139. package/dist/src/on-demand-extensions/git-helper/blackbox-extension.json +5 -0
  140. package/dist/src/on-demand-extensions/git-helper/commands/git/branch-cleanup.toml +18 -0
  141. package/dist/src/on-demand-extensions/git-helper/commands/git/smart-commit.toml +22 -0
  142. package/dist/src/on-demand-extensions/greet/README.md +76 -0
  143. package/dist/src/on-demand-extensions/greet/blackbox-extension.json +5 -0
  144. package/dist/src/on-demand-extensions/greet/commands/greet/hello.toml +9 -0
  145. package/dist/src/on-demand-extensions/registry.json +251 -0
  146. package/dist/src/services/BuiltinCommandLoader.js +20 -2
  147. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  148. package/dist/src/services/EncryptedContentGenerator.d.ts +63 -0
  149. package/dist/src/services/EncryptedContentGenerator.js +426 -0
  150. package/dist/src/services/EncryptedContentGenerator.js.map +1 -0
  151. package/dist/src/services/McpCommandLoader.d.ts +24 -0
  152. package/dist/src/services/McpCommandLoader.js +50 -0
  153. package/dist/src/services/McpCommandLoader.js.map +1 -0
  154. package/dist/src/services/McpPromptLoader.js +17 -2
  155. package/dist/src/services/McpPromptLoader.js.map +1 -1
  156. package/dist/src/services/ReleaseNotesCache.d.ts +57 -0
  157. package/dist/src/services/ReleaseNotesCache.js +186 -0
  158. package/dist/src/services/ReleaseNotesCache.js.map +1 -0
  159. package/dist/src/services/elevenLabsErrors.d.ts +65 -0
  160. package/dist/src/services/elevenLabsErrors.js +233 -0
  161. package/dist/src/services/elevenLabsErrors.js.map +1 -0
  162. package/dist/src/services/elevenLabsService.d.ts +62 -0
  163. package/dist/src/services/elevenLabsService.js +186 -0
  164. package/dist/src/services/elevenLabsService.js.map +1 -0
  165. package/dist/src/services/elevenLabsStreamingService.d.ts +59 -0
  166. package/dist/src/services/elevenLabsStreamingService.js +202 -0
  167. package/dist/src/services/elevenLabsStreamingService.js.map +1 -0
  168. package/dist/src/services/elevenLabsTokenService.d.ts +21 -0
  169. package/dist/src/services/elevenLabsTokenService.js +42 -0
  170. package/dist/src/services/elevenLabsTokenService.js.map +1 -0
  171. package/dist/src/services/voiceInputHandler.d.ts +26 -0
  172. package/dist/src/services/voiceInputHandler.js +209 -0
  173. package/dist/src/services/voiceInputHandler.js.map +1 -0
  174. package/dist/src/services/voiceRecordingService.d.ts +69 -0
  175. package/dist/src/services/voiceRecordingService.js +397 -0
  176. package/dist/src/services/voiceRecordingService.js.map +1 -0
  177. package/dist/src/ui/App.d.ts +1 -0
  178. package/dist/src/ui/App.js +412 -63
  179. package/dist/src/ui/App.js.map +1 -1
  180. package/dist/src/ui/commands/browseExtensionsCommand.d.ts +7 -0
  181. package/dist/src/ui/commands/browseExtensionsCommand.js +16 -0
  182. package/dist/src/ui/commands/browseExtensionsCommand.js.map +1 -0
  183. package/dist/src/ui/commands/chatCommand.js +356 -16
  184. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  185. package/dist/src/ui/commands/dbCommand.d.ts +7 -0
  186. package/dist/src/ui/commands/dbCommand.js +37 -0
  187. package/dist/src/ui/commands/dbCommand.js.map +1 -0
  188. package/dist/src/ui/commands/docsCommand.js +1 -1
  189. package/dist/src/ui/commands/docsCommand.js.map +1 -1
  190. package/dist/src/ui/commands/mcpCommand.js +3 -2
  191. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  192. package/dist/src/ui/commands/mcpInvokeCommand.d.ts +16 -0
  193. package/dist/src/ui/commands/mcpInvokeCommand.js +263 -0
  194. package/dist/src/ui/commands/mcpInvokeCommand.js.map +1 -0
  195. package/dist/src/ui/commands/modelCommand.js +79 -5
  196. package/dist/src/ui/commands/modelCommand.js.map +1 -1
  197. package/dist/src/ui/commands/multiAgentCommand.d.ts +7 -0
  198. package/dist/src/ui/commands/multiAgentCommand.js +833 -0
  199. package/dist/src/ui/commands/multiAgentCommand.js.map +1 -0
  200. package/dist/src/ui/commands/multiAgentConfigureCommand.d.ts +7 -0
  201. package/dist/src/ui/commands/multiAgentConfigureCommand.js +17 -0
  202. package/dist/src/ui/commands/multiAgentConfigureCommand.js.map +1 -0
  203. package/dist/src/ui/commands/quitCommand.js +71 -2
  204. package/dist/src/ui/commands/quitCommand.js.map +1 -1
  205. package/dist/src/ui/commands/releasesCommand.d.ts +7 -0
  206. package/dist/src/ui/commands/releasesCommand.js +16 -0
  207. package/dist/src/ui/commands/releasesCommand.js.map +1 -0
  208. package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
  209. package/dist/src/ui/commands/shellPermissionsCommand.d.ts +7 -0
  210. package/dist/src/ui/commands/shellPermissionsCommand.js +109 -0
  211. package/dist/src/ui/commands/shellPermissionsCommand.js.map +1 -0
  212. package/dist/src/ui/commands/skillCommand.d.ts +7 -0
  213. package/dist/src/ui/commands/skillCommand.js +240 -0
  214. package/dist/src/ui/commands/skillCommand.js.map +1 -0
  215. package/dist/src/ui/commands/statsCommand.js +243 -1
  216. package/dist/src/ui/commands/statsCommand.js.map +1 -1
  217. package/dist/src/ui/commands/tasksCommand.d.ts +7 -0
  218. package/dist/src/ui/commands/tasksCommand.js +535 -0
  219. package/dist/src/ui/commands/tasksCommand.js.map +1 -0
  220. package/dist/src/ui/commands/toolPermissionsCommand.d.ts +7 -0
  221. package/dist/src/ui/commands/toolPermissionsCommand.js +408 -0
  222. package/dist/src/ui/commands/toolPermissionsCommand.js.map +1 -0
  223. package/dist/src/ui/commands/types.d.ts +10 -2
  224. package/dist/src/ui/commands/types.js.map +1 -1
  225. package/dist/src/ui/commands/voiceCommand.d.ts +7 -0
  226. package/dist/src/ui/commands/voiceCommand.js +525 -0
  227. package/dist/src/ui/commands/voiceCommand.js.map +1 -0
  228. package/dist/src/ui/components/AuthDialog.d.ts +4 -2
  229. package/dist/src/ui/components/AuthDialog.js +349 -64
  230. package/dist/src/ui/components/AuthDialog.js.map +1 -1
  231. package/dist/src/ui/components/AuthInProgress.js +3 -1
  232. package/dist/src/ui/components/AuthInProgress.js.map +1 -1
  233. package/dist/src/ui/components/ExtensionsDialog.d.ts +11 -0
  234. package/dist/src/ui/components/ExtensionsDialog.js +303 -0
  235. package/dist/src/ui/components/ExtensionsDialog.js.map +1 -0
  236. package/dist/src/ui/components/GenericProviderKeyPrompt.d.ts +24 -0
  237. package/dist/src/ui/components/GenericProviderKeyPrompt.js +99 -0
  238. package/dist/src/ui/components/GenericProviderKeyPrompt.js.map +1 -0
  239. package/dist/src/ui/components/Header.js +10 -1
  240. package/dist/src/ui/components/Header.js.map +1 -1
  241. package/dist/src/ui/components/HistoryBrowserDialog.d.ts +15 -0
  242. package/dist/src/ui/components/HistoryBrowserDialog.js +166 -0
  243. package/dist/src/ui/components/HistoryBrowserDialog.js.map +1 -0
  244. package/dist/src/ui/components/HistoryItemDisplay.js +13 -1
  245. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  246. package/dist/src/ui/components/InputPrompt.js +22 -8
  247. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  248. package/dist/src/ui/components/LoadingIndicator.d.ts +4 -0
  249. package/dist/src/ui/components/LoadingIndicator.js +16 -4
  250. package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
  251. package/dist/src/ui/components/LoadingIndicator.test.js +108 -16
  252. package/dist/src/ui/components/LoadingIndicator.test.js.map +1 -1
  253. package/dist/src/ui/components/ModelSelectionDialog.d.ts +2 -0
  254. package/dist/src/ui/components/ModelSelectionDialog.js +33 -4
  255. package/dist/src/ui/components/ModelSelectionDialog.js.map +1 -1
  256. package/dist/src/ui/components/ModelSelectionDialog.test.js +41 -4
  257. package/dist/src/ui/components/ModelSelectionDialog.test.js.map +1 -1
  258. package/dist/src/ui/components/ReleaseNotesDialog.d.ts +23 -0
  259. package/dist/src/ui/components/ReleaseNotesDialog.js +150 -0
  260. package/dist/src/ui/components/ReleaseNotesDialog.js.map +1 -0
  261. package/dist/src/ui/components/ReleaseNotesDisplay.d.ts +18 -0
  262. package/dist/src/ui/components/ReleaseNotesDisplay.js +14 -0
  263. package/dist/src/ui/components/ReleaseNotesDisplay.js.map +1 -0
  264. package/dist/src/ui/components/SessionSummaryDisplay.d.ts +2 -0
  265. package/dist/src/ui/components/SessionSummaryDisplay.js +1 -1
  266. package/dist/src/ui/components/SessionSummaryDisplay.js.map +1 -1
  267. package/dist/src/ui/components/SettingsDialog.d.ts +3 -1
  268. package/dist/src/ui/components/SettingsDialog.js +17 -7
  269. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  270. package/dist/src/ui/components/ShellConfirmationDialog.d.ts +2 -0
  271. package/dist/src/ui/components/ShellConfirmationDialog.js +7 -3
  272. package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
  273. package/dist/src/ui/components/StatsDisplay.d.ts +2 -0
  274. package/dist/src/ui/components/StatsDisplay.js +92 -7
  275. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  276. package/dist/src/ui/components/SuggestionsDisplay.js +6 -1
  277. package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
  278. package/dist/src/ui/components/ThemeDialog.d.ts +3 -1
  279. package/dist/src/ui/components/ThemeDialog.js +5 -2
  280. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  281. package/dist/src/ui/components/Tips.js +1 -4
  282. package/dist/src/ui/components/Tips.js.map +1 -1
  283. package/dist/src/ui/components/TodoListDialog.d.ts +13 -0
  284. package/dist/src/ui/components/TodoListDialog.js +29 -0
  285. package/dist/src/ui/components/TodoListDialog.js.map +1 -0
  286. package/dist/src/ui/components/TodoListDialog.test.d.ts +6 -0
  287. package/dist/src/ui/components/TodoListDialog.test.js +60 -0
  288. package/dist/src/ui/components/TodoListDialog.test.js.map +1 -0
  289. package/dist/src/ui/components/VoiceConfigDialog.d.ts +17 -0
  290. package/dist/src/ui/components/VoiceConfigDialog.js +47 -0
  291. package/dist/src/ui/components/VoiceConfigDialog.js.map +1 -0
  292. package/dist/src/ui/components/messages/GeminiMessage.js +4 -0
  293. package/dist/src/ui/components/messages/GeminiMessage.js.map +1 -1
  294. package/dist/src/ui/components/messages/GeminiMessageContent.js +4 -0
  295. package/dist/src/ui/components/messages/GeminiMessageContent.js.map +1 -1
  296. package/dist/src/ui/components/messages/ToolConfirmationMessage.d.ts +2 -0
  297. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +96 -9
  298. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  299. package/dist/src/ui/components/messages/ToolGroupMessage.test.js +3 -3
  300. package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
  301. package/dist/src/ui/components/messages/ToolMessage.js +1 -1
  302. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  303. package/dist/src/ui/components/messages/ToolMessage.test.js +9 -12
  304. package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -1
  305. package/dist/src/ui/components/multiagent/MultiAgentConfigDialog.d.ts +25 -0
  306. package/dist/src/ui/components/multiagent/MultiAgentConfigDialog.js +179 -0
  307. package/dist/src/ui/components/multiagent/MultiAgentConfigDialog.js.map +1 -0
  308. package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +3 -1
  309. package/dist/src/ui/components/shared/RadioButtonSelect.js +57 -18
  310. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
  311. package/dist/src/ui/components/shared/TextInput.d.ts +2 -1
  312. package/dist/src/ui/components/shared/TextInput.js +5 -2
  313. package/dist/src/ui/components/shared/TextInput.js.map +1 -1
  314. package/dist/src/ui/components/subagents/runtime/AgentExecutionDisplay.js +3 -3
  315. package/dist/src/ui/components/subagents/runtime/AgentExecutionDisplay.js.map +1 -1
  316. package/dist/src/ui/constants.d.ts +3 -3
  317. package/dist/src/ui/constants.js +3 -3
  318. package/dist/src/ui/constants.js.map +1 -1
  319. package/dist/src/ui/contexts/SessionContext.d.ts +6 -0
  320. package/dist/src/ui/contexts/SessionContext.js +24 -2
  321. package/dist/src/ui/contexts/SessionContext.js.map +1 -1
  322. package/dist/src/ui/hooks/atCommandProcessor.js +139 -57
  323. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  324. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +2 -1
  325. package/dist/src/ui/hooks/slashCommandProcessor.js +189 -17
  326. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  327. package/dist/src/ui/hooks/useAdaptiveStream.d.ts +42 -0
  328. package/dist/src/ui/hooks/useAdaptiveStream.js +31 -0
  329. package/dist/src/ui/hooks/useAdaptiveStream.js.map +1 -0
  330. package/dist/src/ui/hooks/useAtCompletion.js +20 -4
  331. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
  332. package/dist/src/ui/hooks/useAuthCommand.d.ts +2 -2
  333. package/dist/src/ui/hooks/useAuthCommand.js +99 -5
  334. package/dist/src/ui/hooks/useAuthCommand.js.map +1 -1
  335. package/dist/src/ui/hooks/useCommandCompletion.js +14 -10
  336. package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -1
  337. package/dist/src/ui/hooks/useDialogClose.d.ts +10 -0
  338. package/dist/src/ui/hooks/useDialogClose.js +25 -0
  339. package/dist/src/ui/hooks/useDialogClose.js.map +1 -1
  340. package/dist/src/ui/hooks/useDialogCloseAnimation.d.ts +22 -0
  341. package/dist/src/ui/hooks/useDialogCloseAnimation.js +68 -0
  342. package/dist/src/ui/hooks/useDialogCloseAnimation.js.map +1 -0
  343. package/dist/src/ui/hooks/useEncryptedStream.d.ts +22 -0
  344. package/dist/src/ui/hooks/useEncryptedStream.js +378 -0
  345. package/dist/src/ui/hooks/useEncryptedStream.js.map +1 -0
  346. package/dist/src/ui/hooks/useExtensionsDialog.d.ts +10 -0
  347. package/dist/src/ui/hooks/useExtensionsDialog.js +21 -0
  348. package/dist/src/ui/hooks/useExtensionsDialog.js.map +1 -0
  349. package/dist/src/ui/hooks/useGeminiStream.js +6 -2
  350. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  351. package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -1
  352. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +1 -1
  353. package/dist/src/ui/hooks/useLoadingIndicator.js +3 -2
  354. package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
  355. package/dist/src/ui/hooks/useLoadingIndicator.test.js +27 -5
  356. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
  357. package/dist/src/ui/hooks/useMultiAgentConfigCommand.d.ts +10 -0
  358. package/dist/src/ui/hooks/useMultiAgentConfigCommand.js +21 -0
  359. package/dist/src/ui/hooks/useMultiAgentConfigCommand.js.map +1 -0
  360. package/dist/src/ui/hooks/useReleasesDialog.d.ts +20 -0
  361. package/dist/src/ui/hooks/useReleasesDialog.js +214 -0
  362. package/dist/src/ui/hooks/useReleasesDialog.js.map +1 -0
  363. package/dist/src/ui/hooks/useSlashCompletion.js +10 -8
  364. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
  365. package/dist/src/ui/hooks/useTodoList.d.ts +17 -0
  366. package/dist/src/ui/hooks/useTodoList.js +51 -0
  367. package/dist/src/ui/hooks/useTodoList.js.map +1 -0
  368. package/dist/src/ui/keyMatchers.test.js +6 -0
  369. package/dist/src/ui/keyMatchers.test.js.map +1 -1
  370. package/dist/src/ui/themes/blackbox-dark.js +1 -1
  371. package/dist/src/ui/themes/blackbox-dark.js.map +1 -1
  372. package/dist/src/ui/themes/blackbox-light.js +1 -1
  373. package/dist/src/ui/themes/blackbox-light.js.map +1 -1
  374. package/dist/src/ui/types.d.ts +15 -2
  375. package/dist/src/ui/types.js +1 -0
  376. package/dist/src/ui/types.js.map +1 -1
  377. package/dist/src/ui/utils/computeStats.d.ts +25 -1
  378. package/dist/src/ui/utils/computeStats.js +58 -1
  379. package/dist/src/ui/utils/computeStats.js.map +1 -1
  380. package/dist/src/ui/utils/updateCheck.js +37 -54
  381. package/dist/src/ui/utils/updateCheck.js.map +1 -1
  382. package/dist/src/utils/backgroundUpdateCheck.d.ts +15 -0
  383. package/dist/src/utils/backgroundUpdateCheck.js +48 -0
  384. package/dist/src/utils/backgroundUpdateCheck.js.map +1 -0
  385. package/dist/src/utils/gitAutoDetect.d.ts +16 -0
  386. package/dist/src/utils/gitAutoDetect.js +45 -0
  387. package/dist/src/utils/gitAutoDetect.js.map +1 -0
  388. package/dist/src/utils/installationInfo.d.ts +1 -0
  389. package/dist/src/utils/installationInfo.js +24 -4
  390. package/dist/src/utils/installationInfo.js.map +1 -1
  391. package/dist/src/utils/preLaunchUpdateCheck.d.ts +17 -0
  392. package/dist/src/utils/preLaunchUpdateCheck.js +75 -0
  393. package/dist/src/utils/preLaunchUpdateCheck.js.map +1 -0
  394. package/dist/src/utils/version.js +12 -1
  395. package/dist/src/utils/version.js.map +1 -1
  396. package/dist/src/utils/versionStorage.d.ts +50 -0
  397. package/dist/src/utils/versionStorage.js +224 -0
  398. package/dist/src/utils/versionStorage.js.map +1 -0
  399. package/dist/src/validateNonInterActiveAuth.js +10 -3
  400. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  401. package/dist/src/virtual-extensions.d.ts +14 -0
  402. package/dist/src/virtual-extensions.js +56 -0
  403. package/dist/src/virtual-extensions.js.map +1 -0
  404. package/dist/src/zed-integration/fileSystemService.d.ts +3 -3
  405. package/dist/src/zed-integration/fileSystemService.js +5 -7
  406. package/dist/src/zed-integration/fileSystemService.js.map +1 -1
  407. package/dist/src/zed-integration/zedIntegration.js +62 -17
  408. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  409. package/dist/tsconfig.tsbuildinfo +1 -1
  410. package/package.json +13 -3
  411. package/dist/src/utils/handleAutoUpdate.d.ts +0 -11
  412. package/dist/src/utils/handleAutoUpdate.js +0 -102
  413. package/dist/src/utils/handleAutoUpdate.js.map +0 -1
  414. package/dist/src/utils/updateEventEmitter.d.ts +0 -11
  415. package/dist/src/utils/updateEventEmitter.js +0 -12
  416. package/dist/src/utils/updateEventEmitter.js.map +0 -1
  417. package/dist/src/zed-integration/acp.d.ts +0 -63
  418. package/dist/src/zed-integration/acp.js +0 -226
  419. package/dist/src/zed-integration/acp.js.map +0 -1
  420. package/dist/src/zed-integration/schema.d.ts +0 -11782
  421. package/dist/src/zed-integration/schema.js +0 -311
  422. package/dist/src/zed-integration/schema.js.map +0 -1
@@ -0,0 +1,166 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, useEffect, useCallback } from 'react';
3
+ import { Box, Text } from 'ink';
4
+ import { Colors } from '../colors.js';
5
+ import { useKeypress } from '../hooks/useKeypress.js';
6
+ export const HistoryBrowserDialog = ({ logger, onResume, onDelete, onClose, }) => {
7
+ const [checkpoints, setCheckpoints] = useState([]);
8
+ const [selectedIndex, setSelectedIndex] = useState(0);
9
+ const [loading, setLoading] = useState(true);
10
+ const [deleteConfirmIndex, setDeleteConfirmIndex] = useState(null);
11
+ // Load checkpoints on mount
12
+ useEffect(() => {
13
+ const loadCheckpoints = async () => {
14
+ try {
15
+ await logger.initialize();
16
+ const items = await logger.listAllCheckpoints();
17
+ // Sort by timestamp (newest first)
18
+ items.sort((a, b) => b.timestamp.getTime() - a.timestamp.getTime());
19
+ setCheckpoints(items);
20
+ }
21
+ catch (_error) {
22
+ console.error('Failed to load checkpoints:', _error);
23
+ }
24
+ finally {
25
+ setLoading(false);
26
+ }
27
+ };
28
+ loadCheckpoints();
29
+ }, [logger]);
30
+ const handleDelete = useCallback(async (index) => {
31
+ const checkpoint = checkpoints[index];
32
+ if (!checkpoint)
33
+ return;
34
+ try {
35
+ await logger.deleteCheckpoint(checkpoint.tag);
36
+ // Remove from list
37
+ const newCheckpoints = checkpoints.filter((_, i) => i !== index);
38
+ setCheckpoints(newCheckpoints);
39
+ // Adjust selected index if needed
40
+ if (selectedIndex >= newCheckpoints.length) {
41
+ setSelectedIndex(Math.max(0, newCheckpoints.length - 1));
42
+ }
43
+ setDeleteConfirmIndex(null);
44
+ onDelete(checkpoint.tag);
45
+ }
46
+ catch (_error) {
47
+ console.error('Failed to delete checkpoint:', _error);
48
+ }
49
+ }, [checkpoints, selectedIndex, logger, onDelete]);
50
+ useKeypress((key) => {
51
+ // If in delete confirmation mode
52
+ if (deleteConfirmIndex !== null) {
53
+ if (key.name === 'return') {
54
+ handleDelete(deleteConfirmIndex);
55
+ }
56
+ else if (key.name === 'escape' || key.name === 'n') {
57
+ setDeleteConfirmIndex(null);
58
+ }
59
+ else if (key.name === 'y') {
60
+ handleDelete(deleteConfirmIndex);
61
+ }
62
+ return;
63
+ }
64
+ // Normal navigation mode
65
+ if (key.name === 'up' || key.name === 'k') {
66
+ setSelectedIndex((prev) => Math.max(0, prev - 1));
67
+ }
68
+ else if (key.name === 'down' || key.name === 'j') {
69
+ setSelectedIndex((prev) => Math.min(checkpoints.length - 1, prev + 1));
70
+ }
71
+ else if (key.name === 'return') {
72
+ const checkpoint = checkpoints[selectedIndex];
73
+ if (checkpoint) {
74
+ onResume(checkpoint.tag);
75
+ }
76
+ }
77
+ else if (key.name === 'delete' ||
78
+ key.name === 'backspace' ||
79
+ key.name === 'd') {
80
+ if (checkpoints.length > 0) {
81
+ setDeleteConfirmIndex(selectedIndex);
82
+ }
83
+ }
84
+ else if (key.name === 'escape' || key.name === 'q') {
85
+ onClose();
86
+ }
87
+ }, { isActive: true });
88
+ const formatTimestamp = (date) => {
89
+ const now = new Date();
90
+ const diffMs = now.getTime() - date.getTime();
91
+ const diffMins = Math.floor(diffMs / 60000);
92
+ const diffHours = Math.floor(diffMs / 3600000);
93
+ const diffDays = Math.floor(diffMs / 86400000);
94
+ if (diffMins < 1)
95
+ return 'just now';
96
+ if (diffMins < 60)
97
+ return `${diffMins}m ago`;
98
+ if (diffHours < 24)
99
+ return `${diffHours}h ago`;
100
+ if (diffDays < 7)
101
+ return `${diffDays}d ago`;
102
+ return date.toLocaleDateString();
103
+ };
104
+ const formatTagName = (tag) => {
105
+ // Check if tag looks like a timestamp (e.g., "2025-11-24T18-34-38-727Z" or "autosave-1234567890")
106
+ const timestampMatch = tag.match(/(\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}-\d{3}Z)/);
107
+ if (timestampMatch) {
108
+ try {
109
+ // Convert the timestamp format to ISO format
110
+ const isoString = timestampMatch[1].replace(/-(\d{2})-(\d{2})-(\d{3})Z$/, ':$1:$2.$3Z');
111
+ const date = new Date(isoString);
112
+ if (!isNaN(date.getTime())) {
113
+ // Format as "Nov 24, 2025 at 6:34 PM"
114
+ return date.toLocaleString('en-US', {
115
+ month: 'short',
116
+ day: 'numeric',
117
+ year: 'numeric',
118
+ hour: 'numeric',
119
+ minute: '2-digit',
120
+ hour12: true
121
+ });
122
+ }
123
+ }
124
+ catch (_e) {
125
+ // Fall through to return original tag
126
+ }
127
+ }
128
+ // Check for autosave-timestamp format
129
+ const autosaveMatch = tag.match(/^autosave-(\d+)$/);
130
+ if (autosaveMatch) {
131
+ try {
132
+ const timestamp = parseInt(autosaveMatch[1], 10);
133
+ const date = new Date(timestamp);
134
+ if (!isNaN(date.getTime())) {
135
+ return `Auto-save from ${date.toLocaleString('en-US', {
136
+ month: 'short',
137
+ day: 'numeric',
138
+ hour: 'numeric',
139
+ minute: '2-digit',
140
+ hour12: true
141
+ })}`;
142
+ }
143
+ }
144
+ catch (_e) {
145
+ // Fall through to return original tag
146
+ }
147
+ }
148
+ return tag;
149
+ };
150
+ if (loading) {
151
+ return (_jsx(Box, { flexDirection: "column", borderStyle: "round", borderColor: Colors.AccentBlue, padding: 1, width: "100%", children: _jsx(Text, { children: "Loading conversation history..." }) }));
152
+ }
153
+ if (deleteConfirmIndex !== null) {
154
+ const checkpoint = checkpoints[deleteConfirmIndex];
155
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: Colors.AccentRed, padding: 1, width: "100%", children: [_jsx(Text, { color: Colors.AccentRed, bold: true, children: "Delete Confirmation" }), _jsx(Box, { marginTop: 1, marginBottom: 1, children: _jsxs(Text, { children: ["Are you sure you want to delete checkpoint \"", _jsx(Text, { color: Colors.AccentPurple, children: checkpoint?.tag }), "\"?"] }) }), _jsx(Text, { dimColor: true, children: "Press Y to confirm, N or Escape to cancel" })] }));
156
+ }
157
+ if (checkpoints.length === 0) {
158
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: Colors.AccentBlue, padding: 1, width: "100%", children: [_jsx(Text, { color: Colors.AccentBlue, bold: true, children: "Conversation History" }), _jsx(Box, { marginTop: 1, marginBottom: 1, children: _jsx(Text, { dimColor: true, children: "No saved conversations found." }) }), _jsx(Text, { dimColor: true, children: "Press Escape to close" })] }));
159
+ }
160
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: Colors.AccentBlue, padding: 1, width: "100%", children: [_jsxs(Text, { color: Colors.AccentBlue, bold: true, children: ["Conversation History (", checkpoints.length, ")"] }), _jsx(Box, { marginTop: 1, marginBottom: 1, flexDirection: "column", children: checkpoints.map((checkpoint, index) => {
161
+ const isSelected = index === selectedIndex;
162
+ const prefix = isSelected ? '▶ ' : ' ';
163
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Box, { children: _jsxs(Text, { color: isSelected ? Colors.AccentPurple : undefined, bold: isSelected, children: [prefix, checkpoint.firstMessagePreview || checkpoint.tag] }) }), _jsx(Box, { paddingLeft: 3, children: _jsxs(Text, { dimColor: true, children: [formatTimestamp(checkpoint.timestamp), " \u2022 ", checkpoint.messageCount, " messages"] }) }), _jsx(Box, { paddingLeft: 3, children: _jsxs(Text, { dimColor: true, wrap: "truncate", children: [formatTagName(checkpoint.tag), checkpoint.isAutoSave && (_jsx(Text, { dimColor: true, children: " [auto-save]" }))] }) })] }, checkpoint.tag));
164
+ }) }), _jsx(Box, { borderStyle: "single", borderColor: Colors.Gray, paddingX: 1, children: _jsx(Text, { dimColor: true, children: "\u2191/\u2193: Navigate \u2022 Enter: Resume \u2022 D/Delete: Delete \u2022 Esc/Q: Close" }) })] }));
165
+ };
166
+ //# sourceMappingURL=HistoryBrowserDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HistoryBrowserDialog.js","sourceRoot":"","sources":["../../../../src/ui/components/HistoryBrowserDialog.tsx"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { ToolGroupMessage } from './messages/ToolGroupMessage.js';
9
9
  import { GeminiMessageContent } from './messages/GeminiMessageContent.js';
10
10
  import { CompressionMessage } from './messages/CompressionMessage.js';
11
11
  import { SummaryMessage } from './messages/SummaryMessage.js';
12
+ import { ReleaseNotesDisplay } from './ReleaseNotesDisplay.js';
12
13
  import { Box } from 'ink';
13
14
  import { AboutBox } from './AboutBox.js';
14
15
  import { StatsDisplay } from './StatsDisplay.js';
@@ -16,7 +17,18 @@ import { ModelStatsDisplay } from './ModelStatsDisplay.js';
16
17
  import { ToolStatsDisplay } from './ToolStatsDisplay.js';
17
18
  import { SessionSummaryDisplay } from './SessionSummaryDisplay.js';
18
19
  import { Help } from './Help.js';
19
- const HistoryItemDisplayComponent = ({ item, availableTerminalHeight, terminalWidth, isPending, config, commands, 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, ideClient: item.ideClient })), item.type === 'help' && commands && _jsx(Help, { commands: commands }), 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 === 'quit_confirmation' && (_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.type === 'summary' && _jsx(SummaryMessage, { summary: item.summary })] }, item.id));
20
+ const HistoryItemDisplayComponent = ({ item, availableTerminalHeight, terminalWidth, isPending, config, commands, isFocused = true, }) => {
21
+ // Don't render empty user messages
22
+ if (item.type === 'user' && (!item.text || item.text.trim() === '')) {
23
+ return null;
24
+ }
25
+ // Don't render empty Gemini messages or "[Empty message]" text
26
+ if ((item.type === 'gemini' || item.type === 'gemini_content') &&
27
+ (!item.text || item.text.trim() === '' || item.text.trim() === '[Empty message]')) {
28
+ return null;
29
+ }
30
+ return (_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, ideClient: item.ideClient })), item.type === 'help' && commands && _jsx(Help, { commands: commands }), 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, config: config })), item.type === 'quit_confirmation' && (_jsx(SessionSummaryDisplay, { duration: item.duration, config: config })), 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.type === 'summary' && _jsx(SummaryMessage, { summary: item.summary }), item.type === 'releases' && _jsx(ReleaseNotesDisplay, { versions: item.versions })] }, item.id));
31
+ };
20
32
  HistoryItemDisplayComponent.displayName = 'HistoryItemDisplay';
21
33
  export const HistoryItemDisplay = memo(HistoryItemDisplayComponent);
22
34
  //# sourceMappingURL=HistoryItemDisplay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HistoryItemDisplay.js","sourceRoot":"","sources":["../../../../src/ui/components/HistoryItemDisplay.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAajC,MAAM,2BAA2B,GAAsC,CAAC,EACtE,IAAI,EACJ,uBAAuB,EACvB,aAAa,EACb,SAAS,EACT,MAAM,EACN,QAAQ,EACR,SAAS,GAAG,IAAI,GACjB,EAAE,EAAE,CAAC,CACJ,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aAExB,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,EACxD,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,KAAC,gBAAgB,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,EACnE,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CACzB,KAAC,aAAa,IACZ,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAE,SAAS,EACpB,uBAAuB,EAAE,uBAAuB,EAChD,aAAa,EAAE,aAAa,GAC5B,CACH,EACA,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,CACjC,KAAC,oBAAoB,IACnB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAE,SAAS,EACpB,uBAAuB,EAAE,uBAAuB,EAChD,aAAa,EAAE,aAAa,GAC5B,CACH,EACA,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,EACxD,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,EAC1D,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CACxB,KAAC,QAAQ,IACP,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,SAAS,EAAE,IAAI,CAAC,SAAS,GACzB,CACH,EACA,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,IAAI,KAAC,IAAI,IAAC,QAAQ,EAAE,QAAQ,GAAI,EAChE,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,KAAC,YAAY,IAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAI,EAClE,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,KAAC,iBAAiB,KAAG,EACpD,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,KAAC,gBAAgB,KAAG,EAClD,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,KAAC,qBAAqB,IAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAI,EAC1E,IAAI,CAAC,IAAI,KAAK,mBAAmB,IAAI,CACpC,KAAC,qBAAqB,IAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAI,CACnD,EACA,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,CAC7B,KAAC,gBAAgB,IACf,SAAS,EAAE,IAAI,CAAC,KAAK,EACrB,OAAO,EAAE,IAAI,CAAC,EAAE,EAChB,uBAAuB,EAAE,uBAAuB,EAChD,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,GACpB,CACH,EACA,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,CAC9B,KAAC,kBAAkB,IAAC,WAAW,EAAE,IAAI,CAAC,WAAW,GAAI,CACtD,EACA,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,KAAC,cAAc,IAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAI,KAtDtC,IAAI,CAAC,EAAE,CAuDlC,CACP,CAAC;AAEF,2BAA2B,CAAC,WAAW,GAAG,oBAAoB,CAAC;AAE/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,2BAA2B,CAAC,CAAC"}
1
+ {"version":3,"file":"HistoryItemDisplay.js","sourceRoot":"","sources":["../../../../src/ui/components/HistoryItemDisplay.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAajC,MAAM,2BAA2B,GAAsC,CAAC,EACtE,IAAI,EACJ,uBAAuB,EACvB,aAAa,EACb,SAAS,EACT,MAAM,EACN,QAAQ,EACR,SAAS,GAAG,IAAI,GACjB,EAAE,EAAE;IACD,mCAAmC;IACnC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+DAA+D;IAC/D,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC;QAC1D,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,iBAAiB,CAAC,EAAE,CAAC;QACtF,OAAO,IAAI,CAAC;IACd,CAAC;IAEH,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aAExB,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,EAC1D,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,KAAC,gBAAgB,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,EACnE,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CACzB,KAAC,aAAa,IACZ,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAE,SAAS,EACpB,uBAAuB,EAAE,uBAAuB,EAChD,aAAa,EAAE,aAAa,GAC5B,CACH,EACA,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,CACjC,KAAC,oBAAoB,IACnB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAE,SAAS,EACpB,uBAAuB,EAAE,uBAAuB,EAChD,aAAa,EAAE,aAAa,GAC5B,CACH,EACA,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,KAAC,WAAW,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,EACxD,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,EAC1D,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CACxB,KAAC,QAAQ,IACP,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,SAAS,EAAE,IAAI,CAAC,SAAS,GACzB,CACH,EACA,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,IAAI,KAAC,IAAI,IAAC,QAAQ,EAAE,QAAQ,GAAI,EAChE,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,KAAC,YAAY,IAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAI,EAClE,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,KAAC,iBAAiB,KAAG,EACpD,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,KAAC,gBAAgB,KAAG,EAClD,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CACvB,KAAC,qBAAqB,IAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAI,CACnE,EACA,IAAI,CAAC,IAAI,KAAK,mBAAmB,IAAI,CACpC,KAAC,qBAAqB,IAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAI,CACnE,EACA,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,CAC7B,KAAC,gBAAgB,IACf,SAAS,EAAE,IAAI,CAAC,KAAK,EACrB,OAAO,EAAE,IAAI,CAAC,EAAE,EAChB,uBAAuB,EAAE,uBAAuB,EAChD,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,GACpB,CACH,EACA,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,CAC9B,KAAC,kBAAkB,IAAC,WAAW,EAAE,IAAI,CAAC,WAAW,GAAI,CACtD,EACE,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,KAAC,cAAc,IAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAI,EACpE,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,KAAC,mBAAmB,IAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAI,KAzD9C,IAAI,CAAC,EAAE,CA0DlC,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,2BAA2B,CAAC,WAAW,GAAG,oBAAoB,CAAC;AAE/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,2BAA2B,CAAC,CAAC"}
@@ -149,9 +149,28 @@ export const InputPrompt = ({ buffer, onSubmit, userMessages, onClearScreen, con
149
149
  if (!focus && !key.paste) {
150
150
  return;
151
151
  }
152
- if (key.paste) {
153
- // Ensure we never accidentally interpret paste as regular input.
154
- buffer.handleInput(key);
152
+ // Check for clipboard image on BOTH Ctrl+V keypress AND paste events
153
+ // When you paste a screenshot, the terminal may send it as either:
154
+ // 1. A Ctrl+V key event (key.ctrl && key.name === 'v')
155
+ // 2. A paste event with the temp file path as text (key.paste = true)
156
+ // We need to check the actual clipboard content in both cases
157
+ if (keyMatchers[Command.PASTE_CLIPBOARD_IMAGE](key) || key.paste) {
158
+ // Check if clipboard actually has an image
159
+ clipboardHasImage().then((hasImage) => {
160
+ if (hasImage) {
161
+ // Clipboard has image - save it and insert reference
162
+ handleClipboardImage();
163
+ }
164
+ else if (key.paste) {
165
+ // No image in clipboard - handle as regular text paste
166
+ buffer.handleInput(key);
167
+ }
168
+ }).catch(() => {
169
+ // Error checking clipboard - fall back to regular paste
170
+ if (key.paste) {
171
+ buffer.handleInput(key);
172
+ }
173
+ });
155
174
  return;
156
175
  }
157
176
  if (vimHandleInput && vimHandleInput(key)) {
@@ -378,11 +397,6 @@ export const InputPrompt = ({ buffer, onSubmit, userMessages, onClearScreen, con
378
397
  buffer.openInExternalEditor();
379
398
  return;
380
399
  }
381
- // Ctrl+V for clipboard image paste
382
- if (keyMatchers[Command.PASTE_CLIPBOARD_IMAGE](key)) {
383
- handleClipboardImage();
384
- return;
385
- }
386
400
  // Fall back to the text buffer's default input handling for all other keys
387
401
  buffer.handleInput(key);
388
402
  // Clear ghost text when user types regular characters (not navigation/control keys)
@@ -1 +1 @@
1
- {"version":3,"file":"InputPrompt.js","sourceRoot":"","sources":["../../../../src/ui/components/InputPrompt.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InputPrompt.js","sourceRoot":"","sources":["../../../../src/ui/components/InputPrompt.tsx"],"names":[],"mappings":"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"}
@@ -10,6 +10,10 @@ interface LoadingIndicatorProps {
10
10
  elapsedTime: number;
11
11
  rightContent?: React.ReactNode;
12
12
  thought?: ThoughtSummary | null;
13
+ currentTodo?: string | null;
14
+ nextTodo?: string | null;
15
+ tokenCount?: number;
16
+ hasTodos?: boolean;
13
17
  }
14
18
  export declare const LoadingIndicator: React.FC<LoadingIndicatorProps>;
15
19
  export {};
@@ -7,19 +7,31 @@ import { GeminiRespondingSpinner } from './GeminiRespondingSpinner.js';
7
7
  import { formatDuration } from '../utils/formatters.js';
8
8
  import { useTerminalSize } from '../hooks/useTerminalSize.js';
9
9
  import { isNarrowWidth } from '../utils/isNarrowWidth.js';
10
- export const LoadingIndicator = ({ currentLoadingPhrase, elapsedTime, rightContent, thought, }) => {
10
+ export const LoadingIndicator = ({ currentLoadingPhrase, elapsedTime, rightContent, thought, currentTodo, nextTodo, tokenCount, hasTodos = false, }) => {
11
11
  const streamingState = useStreamingContext();
12
12
  const { columns: terminalWidth } = useTerminalSize();
13
13
  const isNarrow = isNarrowWidth(terminalWidth);
14
14
  if (streamingState === StreamingState.Idle) {
15
15
  return null;
16
16
  }
17
- const primaryText = thought?.subject || currentLoadingPhrase;
17
+ // Priority: thought subject > current todo > loading phrase
18
+ const primaryText = thought?.subject || currentTodo || currentLoadingPhrase;
19
+ // Format token count (e.g., 11.2k)
20
+ const formatTokenCount = (count) => {
21
+ if (count >= 1000) {
22
+ return `${(count / 1000).toFixed(1)}k`;
23
+ }
24
+ return count.toString();
25
+ };
18
26
  const cancelAndTimerContent = streamingState !== StreamingState.WaitingForConfirmation
19
- ? `(esc to cancel, ${elapsedTime < 60 ? `${elapsedTime}s` : formatDuration(elapsedTime * 1000)})`
27
+ ? `(esc to cancel${hasTodos ? ' · ctrl+y to show todos' : ''} · ${elapsedTime < 60 ? `${elapsedTime}s` : formatDuration(elapsedTime * 1000)}${tokenCount ? ` · ↓ ${formatTokenCount(tokenCount)} tokens` : ''})`
20
28
  : null;
29
+ // Calculate available width for text content
30
+ // Account for spinner (2 chars) + margin (1 char) + some padding
31
+ const spinnerWidth = 3;
32
+ const availableWidth = Math.max(20, terminalWidth - spinnerWidth - 2);
21
33
  return (_jsxs(Box, { paddingLeft: 0, flexDirection: "column", children: [_jsxs(Box, { width: "100%", flexDirection: isNarrow ? 'column' : 'row', alignItems: isNarrow ? 'flex-start' : 'center', children: [_jsxs(Box, { children: [_jsx(Box, { marginRight: 1, children: _jsx(GeminiRespondingSpinner, { nonRespondingDisplay: streamingState === StreamingState.WaitingForConfirmation
22
34
  ? '⠏'
23
- : '' }) }), primaryText && (_jsx(Text, { color: Colors.AccentPurple, children: primaryText })), !isNarrow && cancelAndTimerContent && (_jsxs(Text, { color: Colors.Gray, children: [" ", cancelAndTimerContent] }))] }), !isNarrow && _jsx(Box, { flexGrow: 1 }), !isNarrow && rightContent && _jsx(Box, { children: rightContent })] }), isNarrow && cancelAndTimerContent && (_jsx(Box, { children: _jsx(Text, { color: Colors.Gray, children: cancelAndTimerContent }) })), isNarrow && rightContent && _jsx(Box, { children: rightContent })] }));
35
+ : '' }) }), primaryText && (_jsx(Text, { color: Colors.AccentPurple, wrap: "truncate", children: primaryText })), !isNarrow && cancelAndTimerContent && (_jsxs(Text, { color: Colors.Gray, wrap: "truncate", children: [' ', cancelAndTimerContent] }))] }), !isNarrow && _jsx(Box, { flexGrow: 1 }), !isNarrow && rightContent && _jsx(Box, { children: rightContent })] }), isNarrow && cancelAndTimerContent && (_jsx(Box, { width: availableWidth, children: _jsx(Text, { color: Colors.Gray, wrap: "truncate", children: cancelAndTimerContent }) })), isNarrow && rightContent && _jsx(Box, { children: rightContent }), nextTodo && (_jsx(Box, { paddingLeft: 2, width: availableWidth, children: _jsxs(Text, { color: Colors.Gray, wrap: "truncate", children: ["\u2514 Next: ", nextTodo] }) }))] }));
24
36
  };
25
37
  //# sourceMappingURL=LoadingIndicator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingIndicator.js","sourceRoot":"","sources":["../../../../src/ui/components/LoadingIndicator.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAS1D,MAAM,CAAC,MAAM,gBAAgB,GAAoC,CAAC,EAChE,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,OAAO,GACR,EAAE,EAAE;IACH,MAAM,cAAc,GAAG,mBAAmB,EAAE,CAAC;IAC7C,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,eAAe,EAAE,CAAC;IACrD,MAAM,QAAQ,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IAE9C,IAAI,cAAc,KAAK,cAAc,CAAC,IAAI,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,EAAE,OAAO,IAAI,oBAAoB,CAAC;IAE7D,MAAM,qBAAqB,GACzB,cAAc,KAAK,cAAc,CAAC,sBAAsB;QACtD,CAAC,CAAC,mBAAmB,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG;QACjG,CAAC,CAAC,IAAI,CAAC;IAEX,OAAO,CACL,MAAC,GAAG,IAAC,WAAW,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aAEzC,MAAC,GAAG,IACF,KAAK,EAAC,MAAM,EACZ,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAC1C,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,aAE9C,MAAC,GAAG,eACF,KAAC,GAAG,IAAC,WAAW,EAAE,CAAC,YACjB,KAAC,uBAAuB,IACtB,oBAAoB,EAClB,cAAc,KAAK,cAAc,CAAC,sBAAsB;wCACtD,CAAC,CAAC,GAAG;wCACL,CAAC,CAAC,EAAE,GAER,GACE,EACL,WAAW,IAAI,CACd,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,YAAY,YAAG,WAAW,GAAQ,CACvD,EACA,CAAC,QAAQ,IAAI,qBAAqB,IAAI,CACrC,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,kBAAI,qBAAqB,IAAQ,CAC1D,IACG,EACL,CAAC,QAAQ,IAAI,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,GAAsB,EACnD,CAAC,QAAQ,IAAI,YAAY,IAAI,KAAC,GAAG,cAAE,YAAY,GAAO,IACnD,EACL,QAAQ,IAAI,qBAAqB,IAAI,CACpC,KAAC,GAAG,cACF,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,YAAG,qBAAqB,GAAQ,GACpD,CACP,EACA,QAAQ,IAAI,YAAY,IAAI,KAAC,GAAG,cAAE,YAAY,GAAO,IAClD,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"LoadingIndicator.js","sourceRoot":"","sources":["../../../../src/ui/components/LoadingIndicator.tsx"],"names":[],"mappings":"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"}
@@ -48,7 +48,13 @@ describe('<LoadingIndicator />', () => {
48
48
  const output = lastFrame();
49
49
  expect(output).toContain('MockRespondingSpinner');
50
50
  expect(output).toContain('Loading...');
51
- expect(output).toContain('(esc to cancel, 5s)');
51
+ expect(output).toContain('(esc to cancel · 5s)');
52
+ expect(output).not.toContain('ctrl+y to show todos');
53
+ });
54
+ it('should show ctrl+y option when hasTodos is true', () => {
55
+ const { lastFrame } = renderWithContext(_jsx(LoadingIndicator, { ...defaultProps, hasTodos: true }), StreamingState.Responding);
56
+ const output = lastFrame();
57
+ expect(output).toContain('(esc to cancel · ctrl+y to show todos · 5s)');
52
58
  });
53
59
  it('should render spinner (static), phrase but no time/cancel when streamingState is WaitingForConfirmation', () => {
54
60
  const props = {
@@ -74,17 +80,19 @@ describe('<LoadingIndicator />', () => {
74
80
  const props = {
75
81
  currentLoadingPhrase: 'Working...',
76
82
  elapsedTime: 60,
83
+ hasTodos: true,
77
84
  };
78
85
  const { lastFrame } = renderWithContext(_jsx(LoadingIndicator, { ...props }), StreamingState.Responding);
79
- expect(lastFrame()).toContain('(esc to cancel, 1m)');
86
+ expect(lastFrame()).toContain('(esc to cancel · ctrl+y to show todos · 1m)');
80
87
  });
81
88
  it('should display the elapsedTime correctly in human-readable format', () => {
82
89
  const props = {
83
90
  currentLoadingPhrase: 'Working...',
84
91
  elapsedTime: 125,
92
+ hasTodos: true,
85
93
  };
86
94
  const { lastFrame } = renderWithContext(_jsx(LoadingIndicator, { ...props }), StreamingState.Responding);
87
- expect(lastFrame()).toContain('(esc to cancel, 2m 5s)');
95
+ expect(lastFrame()).toContain('(esc to cancel · ctrl+y to show todos · 2m 5s)');
88
96
  });
89
97
  it('should render rightContent when provided', () => {
90
98
  const rightContent = _jsx(Text, { children: "Extra Info" });
@@ -95,11 +103,11 @@ describe('<LoadingIndicator />', () => {
95
103
  const { lastFrame, rerender } = renderWithContext(_jsx(LoadingIndicator, { ...defaultProps }), StreamingState.Idle);
96
104
  expect(lastFrame()).toBe(''); // Initial: Idle
97
105
  // Transition to Responding
98
- rerender(_jsx(StreamingContext.Provider, { value: StreamingState.Responding, children: _jsx(LoadingIndicator, { currentLoadingPhrase: "Now Responding", elapsedTime: 2 }) }));
106
+ rerender(_jsx(StreamingContext.Provider, { value: StreamingState.Responding, children: _jsx(LoadingIndicator, { currentLoadingPhrase: "Now Responding", elapsedTime: 2, hasTodos: true }) }));
99
107
  let output = lastFrame();
100
108
  expect(output).toContain('MockRespondingSpinner');
101
109
  expect(output).toContain('Now Responding');
102
- expect(output).toContain('(esc to cancel, 2s)');
110
+ expect(output).toContain('(esc to cancel · ctrl+y to show todos · 2s)');
103
111
  // Transition to WaitingForConfirmation
104
112
  rerender(_jsx(StreamingContext.Provider, { value: StreamingState.WaitingForConfirmation, children: _jsx(LoadingIndicator, { currentLoadingPhrase: "Please Confirm", elapsedTime: 15 }) }));
105
113
  output = lastFrame();
@@ -158,7 +166,7 @@ describe('<LoadingIndicator />', () => {
158
166
  // Check for single line output
159
167
  expect(output?.includes('\n')).toBe(false);
160
168
  expect(output).toContain('Loading...');
161
- expect(output).toContain('(esc to cancel, 5s)');
169
+ expect(output).toContain('(esc to cancel · 5s)');
162
170
  expect(output).toContain('Right');
163
171
  });
164
172
  it('should render on multiple lines on a narrow terminal', () => {
@@ -172,19 +180,103 @@ describe('<LoadingIndicator />', () => {
172
180
  expect(lines).toHaveLength(3);
173
181
  if (lines) {
174
182
  expect(lines[0]).toContain('Loading...');
175
- expect(lines[0]).not.toContain('(esc to cancel, 5s)');
176
- expect(lines[1]).toContain('(esc to cancel, 5s)');
183
+ expect(lines[0]).not.toContain('(esc to cancel · 5s)');
184
+ expect(lines[1]).toContain('(esc to cancel · 5s)');
177
185
  expect(lines[2]).toContain('Right');
178
186
  }
179
187
  });
180
- it('should use wide layout at 80 columns', () => {
181
- const { lastFrame } = renderWithContext(_jsx(LoadingIndicator, { ...defaultProps }), StreamingState.Responding, 80);
182
- expect(lastFrame()?.includes('\n')).toBe(false);
183
- });
184
- it('should use narrow layout at 79 columns', () => {
185
- const { lastFrame } = renderWithContext(_jsx(LoadingIndicator, { ...defaultProps }), StreamingState.Responding, 79);
186
- expect(lastFrame()?.includes('\n')).toBe(true);
187
- });
188
+ });
189
+ it('should use wide layout at 80 columns', () => {
190
+ const { lastFrame } = renderWithContext(_jsx(LoadingIndicator, { ...defaultProps }), StreamingState.Responding, 80);
191
+ expect(lastFrame()?.includes('\n')).toBe(false);
192
+ });
193
+ it('should use narrow layout at 79 columns', () => {
194
+ const { lastFrame } = renderWithContext(_jsx(LoadingIndicator, { ...defaultProps }), StreamingState.Responding, 79);
195
+ expect(lastFrame()?.includes('\n')).toBe(true);
196
+ });
197
+ it('should display current todo when provided', () => {
198
+ const props = {
199
+ currentLoadingPhrase: 'Loading...',
200
+ currentTodo: 'Implementing feature X',
201
+ elapsedTime: 5,
202
+ };
203
+ const { lastFrame } = renderWithContext(_jsx(LoadingIndicator, { ...props }), StreamingState.Responding);
204
+ const output = lastFrame();
205
+ expect(output).toContain('Implementing feature X');
206
+ expect(output).not.toContain('Loading...');
207
+ });
208
+ it('should display token count when provided', () => {
209
+ const props = {
210
+ currentLoadingPhrase: 'Loading...',
211
+ tokenCount: 11234,
212
+ elapsedTime: 5,
213
+ hasTodos: true,
214
+ };
215
+ const { lastFrame } = renderWithContext(_jsx(LoadingIndicator, { ...props }), StreamingState.Responding);
216
+ const output = lastFrame();
217
+ expect(output).toContain('↓ 11.2k tokens');
218
+ });
219
+ it('should format token count correctly for small numbers', () => {
220
+ const props = {
221
+ currentLoadingPhrase: 'Loading...',
222
+ tokenCount: 500,
223
+ elapsedTime: 5,
224
+ };
225
+ const { lastFrame } = renderWithContext(_jsx(LoadingIndicator, { ...props }), StreamingState.Responding);
226
+ const output = lastFrame();
227
+ expect(output).toContain('↓ 500 tokens');
228
+ });
229
+ it('should prioritize thought over currentTodo over currentLoadingPhrase', () => {
230
+ const props = {
231
+ thought: {
232
+ subject: 'Thought subject',
233
+ description: 'Description',
234
+ },
235
+ currentTodo: 'Current todo',
236
+ currentLoadingPhrase: 'Loading phrase',
237
+ elapsedTime: 5,
238
+ };
239
+ const { lastFrame } = renderWithContext(_jsx(LoadingIndicator, { ...props }), StreamingState.Responding);
240
+ const output = lastFrame();
241
+ expect(output).toContain('Thought subject');
242
+ expect(output).not.toContain('Current todo');
243
+ expect(output).not.toContain('Loading phrase');
244
+ });
245
+ it('should prioritize currentTodo over currentLoadingPhrase when no thought', () => {
246
+ const props = {
247
+ currentTodo: 'Current todo',
248
+ currentLoadingPhrase: 'Loading phrase',
249
+ elapsedTime: 5,
250
+ };
251
+ const { lastFrame } = renderWithContext(_jsx(LoadingIndicator, { ...props }), StreamingState.Responding);
252
+ const output = lastFrame();
253
+ expect(output).toContain('Current todo');
254
+ expect(output).not.toContain('Loading phrase');
255
+ });
256
+ it('should display next todo when provided', () => {
257
+ const props = {
258
+ currentLoadingPhrase: 'Loading...',
259
+ currentTodo: 'Implementing feature X',
260
+ nextTodo: 'Write unit tests',
261
+ elapsedTime: 5,
262
+ hasTodos: true,
263
+ };
264
+ const { lastFrame } = renderWithContext(_jsx(LoadingIndicator, { ...props }), StreamingState.Responding);
265
+ const output = lastFrame();
266
+ expect(output).toContain('Implementing feature X');
267
+ expect(output).toContain('└ Next: Write unit tests');
268
+ });
269
+ it('should not display next todo line when nextTodo is not provided', () => {
270
+ const props = {
271
+ currentLoadingPhrase: 'Loading...',
272
+ currentTodo: 'Implementing feature X',
273
+ elapsedTime: 5,
274
+ hasTodos: true,
275
+ };
276
+ const { lastFrame } = renderWithContext(_jsx(LoadingIndicator, { ...props }), StreamingState.Responding);
277
+ const output = lastFrame();
278
+ expect(output).toContain('Implementing feature X');
279
+ expect(output).not.toContain('Next:');
188
280
  });
189
281
  });
190
282
  //# sourceMappingURL=LoadingIndicator.test.js.map