@dexto/tui 1.15.0-beta.0 → 1.15.0-beta.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 (554) hide show
  1. package/dist/InkCLIRefactored.cjs +30 -24
  2. package/dist/InkCLIRefactored.d.ts.map +1 -1
  3. package/dist/InkCLIRefactored.js +30 -24
  4. package/dist/components/ApprovalPrompt.cjs +128 -40
  5. package/dist/components/ApprovalPrompt.d.ts +2 -0
  6. package/dist/components/ApprovalPrompt.d.ts.map +1 -1
  7. package/dist/components/ApprovalPrompt.js +128 -41
  8. package/dist/components/CustomInput.cjs +4 -3
  9. package/dist/components/CustomInput.d.ts.map +1 -1
  10. package/dist/components/CustomInput.js +4 -3
  11. package/dist/components/DeckArea.cjs +43 -0
  12. package/dist/components/DeckArea.d.ts +14 -0
  13. package/dist/components/DeckArea.d.ts.map +1 -0
  14. package/dist/components/DeckArea.js +19 -0
  15. package/dist/components/EditableMultiLineInput.cjs +9 -8
  16. package/dist/components/EditableMultiLineInput.d.ts.map +1 -1
  17. package/dist/components/EditableMultiLineInput.js +9 -8
  18. package/dist/components/ElicitationForm.cjs +78 -18
  19. package/dist/components/ElicitationForm.d.ts.map +1 -1
  20. package/dist/components/ElicitationForm.js +78 -18
  21. package/dist/components/ErrorBoundary.cjs +15 -5
  22. package/dist/components/ErrorBoundary.d.ts.map +1 -1
  23. package/dist/components/ErrorBoundary.js +15 -5
  24. package/dist/components/Footer.cjs +37 -113
  25. package/dist/components/Footer.d.ts +2 -2
  26. package/dist/components/Footer.d.ts.map +1 -1
  27. package/dist/components/Footer.js +40 -119
  28. package/dist/components/HistorySearchBar.cjs +6 -5
  29. package/dist/components/HistorySearchBar.d.ts.map +1 -1
  30. package/dist/components/HistorySearchBar.js +6 -5
  31. package/dist/components/MultiLineInput.cjs +6 -5
  32. package/dist/components/MultiLineInput.d.ts.map +1 -1
  33. package/dist/components/MultiLineInput.js +6 -5
  34. package/dist/components/ResourceAutocomplete.cjs +5 -4
  35. package/dist/components/ResourceAutocomplete.d.ts.map +1 -1
  36. package/dist/components/ResourceAutocomplete.js +5 -4
  37. package/dist/components/SignalGates.test.cjs +215 -0
  38. package/dist/components/SignalGates.test.d.ts +2 -0
  39. package/dist/components/SignalGates.test.d.ts.map +1 -0
  40. package/dist/components/SignalGates.test.js +217 -0
  41. package/dist/components/SlashCommandAutocomplete.cjs +4 -3
  42. package/dist/components/SlashCommandAutocomplete.d.ts.map +1 -1
  43. package/dist/components/SlashCommandAutocomplete.js +4 -3
  44. package/dist/components/StatusBar.cjs +13 -30
  45. package/dist/components/StatusBar.d.ts +1 -3
  46. package/dist/components/StatusBar.d.ts.map +1 -1
  47. package/dist/components/StatusBar.js +13 -30
  48. package/dist/components/TextBufferInput.cjs +13 -12
  49. package/dist/components/TextBufferInput.d.ts.map +1 -1
  50. package/dist/components/TextBufferInput.js +13 -12
  51. package/dist/components/TodoPanel.cjs +23 -16
  52. package/dist/components/TodoPanel.d.ts.map +1 -1
  53. package/dist/components/TodoPanel.js +23 -16
  54. package/dist/components/base/BaseAutocomplete.cjs +7 -6
  55. package/dist/components/base/BaseAutocomplete.d.ts.map +1 -1
  56. package/dist/components/base/BaseAutocomplete.js +7 -6
  57. package/dist/components/base/BaseSelector.cjs +5 -4
  58. package/dist/components/base/BaseSelector.d.ts.map +1 -1
  59. package/dist/components/base/BaseSelector.js +5 -4
  60. package/dist/components/chat/Footer.cjs +2 -1
  61. package/dist/components/chat/Footer.d.ts.map +1 -1
  62. package/dist/components/chat/Footer.js +2 -1
  63. package/dist/components/chat/Header.cjs +20 -16
  64. package/dist/components/chat/Header.d.ts.map +1 -1
  65. package/dist/components/chat/Header.js +20 -16
  66. package/dist/components/chat/MessageItem.cjs +47 -30
  67. package/dist/components/chat/MessageItem.d.ts.map +1 -1
  68. package/dist/components/chat/MessageItem.js +52 -29
  69. package/dist/components/chat/MessageList.cjs +3 -2
  70. package/dist/components/chat/MessageList.d.ts.map +1 -1
  71. package/dist/components/chat/MessageList.js +3 -2
  72. package/dist/components/chat/QueuedMessagesDisplay.cjs +17 -5
  73. package/dist/components/chat/QueuedMessagesDisplay.d.ts.map +1 -1
  74. package/dist/components/chat/QueuedMessagesDisplay.js +18 -6
  75. package/dist/components/chat/SignalMessage.cjs +116 -0
  76. package/dist/components/chat/SignalMessage.d.ts +18 -0
  77. package/dist/components/chat/SignalMessage.d.ts.map +1 -0
  78. package/dist/components/chat/SignalMessage.js +96 -0
  79. package/dist/components/chat/SignalMessage.test.cjs +112 -0
  80. package/dist/components/chat/SignalMessage.test.d.ts +2 -0
  81. package/dist/components/chat/SignalMessage.test.d.ts.map +1 -0
  82. package/dist/components/chat/SignalMessage.test.js +116 -0
  83. package/dist/components/chat/ToolIcon.cjs +6 -5
  84. package/dist/components/chat/ToolIcon.d.ts.map +1 -1
  85. package/dist/components/chat/ToolIcon.js +6 -5
  86. package/dist/components/chat/styled-boxes/ConfigBox.cjs +8 -7
  87. package/dist/components/chat/styled-boxes/ConfigBox.d.ts.map +1 -1
  88. package/dist/components/chat/styled-boxes/ConfigBox.js +8 -7
  89. package/dist/components/chat/styled-boxes/HelpBox.cjs +4 -3
  90. package/dist/components/chat/styled-boxes/HelpBox.d.ts.map +1 -1
  91. package/dist/components/chat/styled-boxes/HelpBox.js +4 -3
  92. package/dist/components/chat/styled-boxes/LogConfigBox.cjs +11 -3
  93. package/dist/components/chat/styled-boxes/LogConfigBox.d.ts.map +1 -1
  94. package/dist/components/chat/styled-boxes/LogConfigBox.js +11 -3
  95. package/dist/components/chat/styled-boxes/SessionHistoryBox.cjs +8 -7
  96. package/dist/components/chat/styled-boxes/SessionHistoryBox.d.ts.map +1 -1
  97. package/dist/components/chat/styled-boxes/SessionHistoryBox.js +8 -7
  98. package/dist/components/chat/styled-boxes/SessionListBox.cjs +19 -11
  99. package/dist/components/chat/styled-boxes/SessionListBox.d.ts.map +1 -1
  100. package/dist/components/chat/styled-boxes/SessionListBox.js +19 -11
  101. package/dist/components/chat/styled-boxes/ShortcutsBox.cjs +4 -3
  102. package/dist/components/chat/styled-boxes/ShortcutsBox.d.ts.map +1 -1
  103. package/dist/components/chat/styled-boxes/ShortcutsBox.js +4 -3
  104. package/dist/components/chat/styled-boxes/StatsBox.cjs +13 -5
  105. package/dist/components/chat/styled-boxes/StatsBox.d.ts.map +1 -1
  106. package/dist/components/chat/styled-boxes/StatsBox.js +13 -5
  107. package/dist/components/chat/styled-boxes/StyledBox.cjs +7 -6
  108. package/dist/components/chat/styled-boxes/StyledBox.d.ts.map +1 -1
  109. package/dist/components/chat/styled-boxes/StyledBox.js +7 -6
  110. package/dist/components/chat/styled-boxes/SyspromptBox.cjs +2 -1
  111. package/dist/components/chat/styled-boxes/SyspromptBox.d.ts.map +1 -1
  112. package/dist/components/chat/styled-boxes/SyspromptBox.js +2 -1
  113. package/dist/components/modes/AlternateBufferCLI.cjs +53 -43
  114. package/dist/components/modes/AlternateBufferCLI.d.ts.map +1 -1
  115. package/dist/components/modes/AlternateBufferCLI.js +53 -43
  116. package/dist/components/modes/StaticCLI.cjs +53 -42
  117. package/dist/components/modes/StaticCLI.d.ts.map +1 -1
  118. package/dist/components/modes/StaticCLI.js +53 -42
  119. package/dist/components/overlays/ApiKeyInput.cjs +12 -11
  120. package/dist/components/overlays/ApiKeyInput.d.ts.map +1 -1
  121. package/dist/components/overlays/ApiKeyInput.js +12 -11
  122. package/dist/components/overlays/ChatGPTUsageCapOverlay.cjs +7 -6
  123. package/dist/components/overlays/ChatGPTUsageCapOverlay.d.ts.map +1 -1
  124. package/dist/components/overlays/ChatGPTUsageCapOverlay.js +7 -6
  125. package/dist/components/overlays/CommandOutputOverlay.cjs +2 -1
  126. package/dist/components/overlays/CommandOutputOverlay.d.ts.map +1 -1
  127. package/dist/components/overlays/CommandOutputOverlay.js +2 -1
  128. package/dist/components/overlays/ConnectOverlay.cjs +10 -9
  129. package/dist/components/overlays/ConnectOverlay.d.ts.map +1 -1
  130. package/dist/components/overlays/ConnectOverlay.js +10 -9
  131. package/dist/components/overlays/ContextStatsOverlay.cjs +48 -37
  132. package/dist/components/overlays/ContextStatsOverlay.d.ts.map +1 -1
  133. package/dist/components/overlays/ContextStatsOverlay.js +48 -37
  134. package/dist/components/overlays/CustomModelWizard.cjs +5 -4
  135. package/dist/components/overlays/CustomModelWizard.d.ts.map +1 -1
  136. package/dist/components/overlays/CustomModelWizard.js +5 -4
  137. package/dist/components/overlays/ExportWizard.cjs +28 -27
  138. package/dist/components/overlays/ExportWizard.d.ts.map +1 -1
  139. package/dist/components/overlays/ExportWizard.js +28 -27
  140. package/dist/components/overlays/InsufficientCreditsOverlay.cjs +8 -7
  141. package/dist/components/overlays/InsufficientCreditsOverlay.d.ts.map +1 -1
  142. package/dist/components/overlays/InsufficientCreditsOverlay.js +8 -7
  143. package/dist/components/overlays/LogLevelSelector.cjs +6 -5
  144. package/dist/components/overlays/LogLevelSelector.d.ts.map +1 -1
  145. package/dist/components/overlays/LogLevelSelector.js +6 -5
  146. package/dist/components/overlays/LoginOverlay.cjs +7 -6
  147. package/dist/components/overlays/LoginOverlay.d.ts.map +1 -1
  148. package/dist/components/overlays/LoginOverlay.js +7 -6
  149. package/dist/components/overlays/LogoutOverlay.cjs +10 -9
  150. package/dist/components/overlays/LogoutOverlay.d.ts.map +1 -1
  151. package/dist/components/overlays/LogoutOverlay.js +10 -9
  152. package/dist/components/overlays/MarketplaceAddPrompt.cjs +12 -11
  153. package/dist/components/overlays/MarketplaceAddPrompt.d.ts.map +1 -1
  154. package/dist/components/overlays/MarketplaceAddPrompt.js +12 -11
  155. package/dist/components/overlays/MarketplaceBrowser.cjs +27 -26
  156. package/dist/components/overlays/MarketplaceBrowser.d.ts.map +1 -1
  157. package/dist/components/overlays/MarketplaceBrowser.js +27 -26
  158. package/dist/components/overlays/McpAddChoice.cjs +4 -3
  159. package/dist/components/overlays/McpAddChoice.d.ts.map +1 -1
  160. package/dist/components/overlays/McpAddChoice.js +4 -3
  161. package/dist/components/overlays/McpAddSelector.cjs +4 -3
  162. package/dist/components/overlays/McpAddSelector.d.ts.map +1 -1
  163. package/dist/components/overlays/McpAddSelector.js +4 -3
  164. package/dist/components/overlays/McpCustomTypeSelector.cjs +4 -3
  165. package/dist/components/overlays/McpCustomTypeSelector.d.ts.map +1 -1
  166. package/dist/components/overlays/McpCustomTypeSelector.js +4 -3
  167. package/dist/components/overlays/McpCustomWizard.cjs +9 -8
  168. package/dist/components/overlays/McpCustomWizard.d.ts.map +1 -1
  169. package/dist/components/overlays/McpCustomWizard.js +9 -8
  170. package/dist/components/overlays/McpRemoveSelector.cjs +5 -4
  171. package/dist/components/overlays/McpRemoveSelector.d.ts.map +1 -1
  172. package/dist/components/overlays/McpRemoveSelector.js +5 -4
  173. package/dist/components/overlays/McpSelector.cjs +4 -3
  174. package/dist/components/overlays/McpSelector.d.ts.map +1 -1
  175. package/dist/components/overlays/McpSelector.js +4 -3
  176. package/dist/components/overlays/McpServerActions.cjs +7 -6
  177. package/dist/components/overlays/McpServerActions.d.ts.map +1 -1
  178. package/dist/components/overlays/McpServerActions.js +7 -6
  179. package/dist/components/overlays/McpServerList.cjs +6 -5
  180. package/dist/components/overlays/McpServerList.d.ts.map +1 -1
  181. package/dist/components/overlays/McpServerList.js +6 -5
  182. package/dist/components/overlays/ModelSelectorRefactored.cjs +32 -17
  183. package/dist/components/overlays/ModelSelectorRefactored.d.ts.map +1 -1
  184. package/dist/components/overlays/ModelSelectorRefactored.js +32 -17
  185. package/dist/components/overlays/PermissionsSelector.cjs +6 -5
  186. package/dist/components/overlays/PermissionsSelector.d.ts.map +1 -1
  187. package/dist/components/overlays/PermissionsSelector.js +6 -5
  188. package/dist/components/overlays/PluginActions.cjs +7 -6
  189. package/dist/components/overlays/PluginActions.d.ts.map +1 -1
  190. package/dist/components/overlays/PluginActions.js +7 -6
  191. package/dist/components/overlays/PluginList.cjs +12 -11
  192. package/dist/components/overlays/PluginList.d.ts.map +1 -1
  193. package/dist/components/overlays/PluginList.js +12 -11
  194. package/dist/components/overlays/PluginManager.cjs +13 -5
  195. package/dist/components/overlays/PluginManager.d.ts.map +1 -1
  196. package/dist/components/overlays/PluginManager.js +13 -5
  197. package/dist/components/overlays/PromptAddChoice.cjs +5 -4
  198. package/dist/components/overlays/PromptAddChoice.d.ts.map +1 -1
  199. package/dist/components/overlays/PromptAddChoice.js +5 -4
  200. package/dist/components/overlays/PromptAddWizard.cjs +10 -9
  201. package/dist/components/overlays/PromptAddWizard.d.ts.map +1 -1
  202. package/dist/components/overlays/PromptAddWizard.js +10 -9
  203. package/dist/components/overlays/PromptDeleteSelector.cjs +6 -5
  204. package/dist/components/overlays/PromptDeleteSelector.d.ts.map +1 -1
  205. package/dist/components/overlays/PromptDeleteSelector.js +6 -5
  206. package/dist/components/overlays/PromptList.cjs +10 -9
  207. package/dist/components/overlays/PromptList.d.ts.map +1 -1
  208. package/dist/components/overlays/PromptList.js +10 -9
  209. package/dist/components/overlays/ReasoningOverlay.cjs +30 -23
  210. package/dist/components/overlays/ReasoningOverlay.d.ts.map +1 -1
  211. package/dist/components/overlays/ReasoningOverlay.js +30 -23
  212. package/dist/components/overlays/SearchOverlay.cjs +15 -14
  213. package/dist/components/overlays/SearchOverlay.d.ts.map +1 -1
  214. package/dist/components/overlays/SearchOverlay.js +15 -14
  215. package/dist/components/overlays/SessionRenameOverlay.cjs +9 -8
  216. package/dist/components/overlays/SessionRenameOverlay.d.ts.map +1 -1
  217. package/dist/components/overlays/SessionRenameOverlay.js +9 -8
  218. package/dist/components/overlays/SessionSelectorRefactored.cjs +4 -3
  219. package/dist/components/overlays/SessionSelectorRefactored.d.ts.map +1 -1
  220. package/dist/components/overlays/SessionSelectorRefactored.js +4 -3
  221. package/dist/components/overlays/SessionSubcommandSelector.cjs +4 -3
  222. package/dist/components/overlays/SessionSubcommandSelector.d.ts.map +1 -1
  223. package/dist/components/overlays/SessionSubcommandSelector.js +4 -3
  224. package/dist/components/overlays/SoundsSelector.cjs +15 -7
  225. package/dist/components/overlays/SoundsSelector.d.ts.map +1 -1
  226. package/dist/components/overlays/SoundsSelector.js +15 -7
  227. package/dist/components/overlays/StreamSelector.cjs +5 -4
  228. package/dist/components/overlays/StreamSelector.d.ts.map +1 -1
  229. package/dist/components/overlays/StreamSelector.js +5 -4
  230. package/dist/components/overlays/ToolBrowser.cjs +73 -56
  231. package/dist/components/overlays/ToolBrowser.d.ts.map +1 -1
  232. package/dist/components/overlays/ToolBrowser.js +73 -56
  233. package/dist/components/overlays/custom-model-wizard/LocalModelWizard.cjs +103 -69
  234. package/dist/components/overlays/custom-model-wizard/LocalModelWizard.d.ts.map +1 -1
  235. package/dist/components/overlays/custom-model-wizard/LocalModelWizard.js +103 -69
  236. package/dist/components/overlays/custom-model-wizard/shared/ApiKeyStep.cjs +3 -2
  237. package/dist/components/overlays/custom-model-wizard/shared/ApiKeyStep.d.ts.map +1 -1
  238. package/dist/components/overlays/custom-model-wizard/shared/ApiKeyStep.js +3 -2
  239. package/dist/components/overlays/custom-model-wizard/shared/ProviderSelector.cjs +5 -4
  240. package/dist/components/overlays/custom-model-wizard/shared/ProviderSelector.d.ts.map +1 -1
  241. package/dist/components/overlays/custom-model-wizard/shared/ProviderSelector.js +5 -4
  242. package/dist/components/overlays/custom-model-wizard/shared/SetupInfoBanner.cjs +4 -3
  243. package/dist/components/overlays/custom-model-wizard/shared/SetupInfoBanner.d.ts.map +1 -1
  244. package/dist/components/overlays/custom-model-wizard/shared/SetupInfoBanner.js +4 -3
  245. package/dist/components/overlays/custom-model-wizard/shared/WizardStepInput.cjs +7 -6
  246. package/dist/components/overlays/custom-model-wizard/shared/WizardStepInput.d.ts.map +1 -1
  247. package/dist/components/overlays/custom-model-wizard/shared/WizardStepInput.js +7 -6
  248. package/dist/components/renderers/DiffRenderer.cjs +5 -4
  249. package/dist/components/renderers/DiffRenderer.d.ts.map +1 -1
  250. package/dist/components/renderers/DiffRenderer.js +5 -4
  251. package/dist/components/renderers/FilePreviewRenderer.cjs +23 -13
  252. package/dist/components/renderers/FilePreviewRenderer.d.ts.map +1 -1
  253. package/dist/components/renderers/FilePreviewRenderer.js +23 -13
  254. package/dist/components/renderers/FileRenderer.cjs +9 -8
  255. package/dist/components/renderers/FileRenderer.d.ts.map +1 -1
  256. package/dist/components/renderers/FileRenderer.js +9 -8
  257. package/dist/components/renderers/GenericRenderer.cjs +5 -4
  258. package/dist/components/renderers/GenericRenderer.d.ts.map +1 -1
  259. package/dist/components/renderers/GenericRenderer.js +5 -4
  260. package/dist/components/renderers/SearchRenderer.cjs +4 -3
  261. package/dist/components/renderers/SearchRenderer.d.ts.map +1 -1
  262. package/dist/components/renderers/SearchRenderer.js +4 -3
  263. package/dist/components/renderers/ShellRenderer.cjs +6 -5
  264. package/dist/components/renderers/ShellRenderer.d.ts.map +1 -1
  265. package/dist/components/renderers/ShellRenderer.js +6 -5
  266. package/dist/components/renderers/SignalDiff.cjs +139 -0
  267. package/dist/components/renderers/SignalDiff.d.ts +21 -0
  268. package/dist/components/renderers/SignalDiff.d.ts.map +1 -0
  269. package/dist/components/renderers/SignalDiff.js +106 -0
  270. package/dist/components/renderers/SignalDiff.test.cjs +78 -0
  271. package/dist/components/renderers/SignalDiff.test.d.ts +2 -0
  272. package/dist/components/renderers/SignalDiff.test.d.ts.map +1 -0
  273. package/dist/components/renderers/SignalDiff.test.js +77 -0
  274. package/dist/components/renderers/diff-shared.cjs +13 -7
  275. package/dist/components/renderers/diff-shared.d.ts +5 -0
  276. package/dist/components/renderers/diff-shared.d.ts.map +1 -1
  277. package/dist/components/renderers/diff-shared.js +12 -7
  278. package/dist/components/shared/FocusOverlayFrame.cjs +3 -2
  279. package/dist/components/shared/FocusOverlayFrame.d.ts.map +1 -1
  280. package/dist/components/shared/FocusOverlayFrame.js +3 -2
  281. package/dist/components/shared/HintBar.cjs +2 -1
  282. package/dist/components/shared/HintBar.d.ts.map +1 -1
  283. package/dist/components/shared/HintBar.js +2 -1
  284. package/dist/components/shared/MarkdownText.cjs +36 -53
  285. package/dist/components/shared/MarkdownText.d.ts +2 -0
  286. package/dist/components/shared/MarkdownText.d.ts.map +1 -1
  287. package/dist/components/shared/MarkdownText.js +36 -54
  288. package/dist/components/shared/VirtualizedList.cjs +2 -1
  289. package/dist/components/shared/VirtualizedList.d.ts.map +1 -1
  290. package/dist/components/shared/VirtualizedList.js +2 -1
  291. package/dist/containers/OverlayContainer.cjs +2 -4
  292. package/dist/containers/OverlayContainer.d.ts.map +1 -1
  293. package/dist/containers/OverlayContainer.js +2 -4
  294. package/dist/contexts/KeypressContext.cjs +7 -1
  295. package/dist/contexts/KeypressContext.d.ts.map +1 -1
  296. package/dist/contexts/KeypressContext.js +7 -1
  297. package/dist/contexts/KeypressContext.test.cjs +82 -0
  298. package/dist/contexts/KeypressContext.test.d.ts +2 -0
  299. package/dist/contexts/KeypressContext.test.d.ts.map +1 -0
  300. package/dist/contexts/KeypressContext.test.js +81 -0
  301. package/dist/hooks/useAgentEvents.cjs +1 -74
  302. package/dist/hooks/useAgentEvents.d.ts.map +1 -1
  303. package/dist/hooks/useAgentEvents.js +1 -74
  304. package/dist/hooks/useCLIState.cjs +0 -3
  305. package/dist/hooks/useCLIState.d.ts.map +1 -1
  306. package/dist/hooks/useCLIState.js +0 -3
  307. package/dist/hooks/useContextStats.cjs +91 -0
  308. package/dist/hooks/useContextStats.d.ts +13 -0
  309. package/dist/hooks/useContextStats.d.ts.map +1 -0
  310. package/dist/hooks/useContextStats.js +67 -0
  311. package/dist/hooks/useDeckState.cjs +140 -0
  312. package/dist/hooks/useDeckState.d.ts +20 -0
  313. package/dist/hooks/useDeckState.d.ts.map +1 -0
  314. package/dist/hooks/useDeckState.js +123 -0
  315. package/dist/hooks/useDextoCredits.cjs +81 -0
  316. package/dist/hooks/useDextoCredits.d.ts +14 -0
  317. package/dist/hooks/useDextoCredits.d.ts.map +1 -0
  318. package/dist/hooks/useDextoCredits.js +56 -0
  319. package/dist/hooks/useDextoCredits.test.cjs +73 -0
  320. package/dist/hooks/useDextoCredits.test.d.ts +2 -0
  321. package/dist/hooks/useDextoCredits.test.d.ts.map +1 -0
  322. package/dist/hooks/useDextoCredits.test.js +72 -0
  323. package/dist/hooks/useElapsedTime.cjs +13 -24
  324. package/dist/hooks/useElapsedTime.d.ts +3 -1
  325. package/dist/hooks/useElapsedTime.d.ts.map +1 -1
  326. package/dist/hooks/useElapsedTime.js +13 -24
  327. package/dist/hooks/useElapsedTime.test.cjs +35 -0
  328. package/dist/hooks/useElapsedTime.test.d.ts +2 -0
  329. package/dist/hooks/useElapsedTime.test.d.ts.map +1 -0
  330. package/dist/hooks/useElapsedTime.test.js +34 -0
  331. package/dist/hooks/useGitDirtyFiles.cjs +59 -0
  332. package/dist/hooks/useGitDirtyFiles.d.ts +5 -0
  333. package/dist/hooks/useGitDirtyFiles.d.ts.map +1 -0
  334. package/dist/hooks/useGitDirtyFiles.js +34 -0
  335. package/dist/hooks/useGitDirtyFiles.test.cjs +9 -0
  336. package/dist/hooks/useGitDirtyFiles.test.d.ts +2 -0
  337. package/dist/hooks/useGitDirtyFiles.test.d.ts.map +1 -0
  338. package/dist/hooks/useGitDirtyFiles.test.js +8 -0
  339. package/dist/hooks/useHeldValue.cjs +33 -0
  340. package/dist/hooks/useHeldValue.d.ts +3 -0
  341. package/dist/hooks/useHeldValue.d.ts.map +1 -0
  342. package/dist/hooks/useHeldValue.js +9 -0
  343. package/dist/hooks/useHeldValue.test.cjs +31 -0
  344. package/dist/hooks/useHeldValue.test.d.ts +2 -0
  345. package/dist/hooks/useHeldValue.test.d.ts.map +1 -0
  346. package/dist/hooks/useHeldValue.test.js +30 -0
  347. package/dist/hooks/useInputOrchestrator.cjs +22 -30
  348. package/dist/hooks/useInputOrchestrator.d.ts +2 -0
  349. package/dist/hooks/useInputOrchestrator.d.ts.map +1 -1
  350. package/dist/hooks/useInputOrchestrator.js +21 -30
  351. package/dist/hooks/useInputOrchestrator.test.cjs +24 -0
  352. package/dist/hooks/useInputOrchestrator.test.d.ts +2 -0
  353. package/dist/hooks/useInputOrchestrator.test.d.ts.map +1 -0
  354. package/dist/hooks/useInputOrchestrator.test.js +23 -0
  355. package/dist/interactive-commands/command-parser.cjs +13 -21
  356. package/dist/interactive-commands/command-parser.d.ts.map +1 -1
  357. package/dist/interactive-commands/command-parser.js +13 -11
  358. package/dist/interactive-commands/general-commands.cjs +8 -7
  359. package/dist/interactive-commands/general-commands.d.ts.map +1 -1
  360. package/dist/interactive-commands/general-commands.js +8 -7
  361. package/dist/services/processStream.cjs +31 -19
  362. package/dist/services/processStream.d.ts.map +1 -1
  363. package/dist/services/processStream.js +32 -20
  364. package/dist/services/processStream.test.cjs +51 -3
  365. package/dist/services/processStream.test.js +51 -3
  366. package/dist/signal/background.cjs +154 -0
  367. package/dist/signal/background.d.ts +43 -0
  368. package/dist/signal/background.d.ts.map +1 -0
  369. package/dist/signal/background.js +124 -0
  370. package/dist/signal/background.test.cjs +186 -0
  371. package/dist/signal/background.test.d.ts +2 -0
  372. package/dist/signal/background.test.d.ts.map +1 -0
  373. package/dist/signal/background.test.js +192 -0
  374. package/dist/signal/caps.cjs +100 -0
  375. package/dist/signal/caps.d.ts +23 -0
  376. package/dist/signal/caps.d.ts.map +1 -0
  377. package/dist/signal/caps.js +73 -0
  378. package/dist/signal/caps.test.cjs +56 -0
  379. package/dist/signal/caps.test.d.ts +2 -0
  380. package/dist/signal/caps.test.d.ts.map +1 -0
  381. package/dist/signal/caps.test.js +55 -0
  382. package/dist/signal/components.cjs +257 -0
  383. package/dist/signal/components.d.ts +120 -0
  384. package/dist/signal/components.d.ts.map +1 -0
  385. package/dist/signal/components.js +226 -0
  386. package/dist/signal/components.test.cjs +156 -0
  387. package/dist/signal/components.test.d.ts +2 -0
  388. package/dist/signal/components.test.d.ts.map +1 -0
  389. package/dist/signal/components.test.js +133 -0
  390. package/dist/signal/cut.cjs +103 -0
  391. package/dist/signal/cut.d.ts +11 -0
  392. package/dist/signal/cut.d.ts.map +1 -0
  393. package/dist/signal/cut.js +77 -0
  394. package/dist/signal/cut.test.cjs +20 -0
  395. package/dist/signal/cut.test.d.ts +2 -0
  396. package/dist/signal/cut.test.d.ts.map +1 -0
  397. package/dist/signal/cut.test.js +19 -0
  398. package/dist/signal/deck-layout.cjs +57 -0
  399. package/dist/signal/deck-layout.d.ts +29 -0
  400. package/dist/signal/deck-layout.d.ts.map +1 -0
  401. package/dist/signal/deck-layout.js +30 -0
  402. package/dist/signal/deck-parts.cjs +243 -0
  403. package/dist/signal/deck-parts.d.ts +55 -0
  404. package/dist/signal/deck-parts.d.ts.map +1 -0
  405. package/dist/signal/deck-parts.js +205 -0
  406. package/dist/signal/deck.test.cjs +311 -0
  407. package/dist/signal/deck.test.d.ts +2 -0
  408. package/dist/signal/deck.test.d.ts.map +1 -0
  409. package/dist/signal/deck.test.js +288 -0
  410. package/dist/signal/glyphs.cjs +195 -0
  411. package/dist/signal/glyphs.d.ts +8 -0
  412. package/dist/signal/glyphs.d.ts.map +1 -0
  413. package/dist/signal/glyphs.js +171 -0
  414. package/dist/signal/glyphs.test.cjs +17 -0
  415. package/dist/signal/glyphs.test.d.ts +2 -0
  416. package/dist/signal/glyphs.test.d.ts.map +1 -0
  417. package/dist/signal/glyphs.test.js +16 -0
  418. package/dist/signal/harness.cjs +103 -0
  419. package/dist/signal/harness.d.ts +70 -0
  420. package/dist/signal/harness.d.ts.map +1 -0
  421. package/dist/signal/harness.js +67 -0
  422. package/dist/signal/harness.test.cjs +84 -0
  423. package/dist/signal/harness.test.d.ts +2 -0
  424. package/dist/signal/harness.test.d.ts.map +1 -0
  425. package/dist/signal/harness.test.js +61 -0
  426. package/dist/signal/index.cjs +76 -0
  427. package/dist/signal/index.d.ts +8 -0
  428. package/dist/signal/index.d.ts.map +1 -0
  429. package/dist/signal/index.js +45 -0
  430. package/dist/signal/kit.snapshot.test.cjs +56 -0
  431. package/dist/signal/kit.snapshot.test.d.ts +2 -0
  432. package/dist/signal/kit.snapshot.test.d.ts.map +1 -0
  433. package/dist/signal/kit.snapshot.test.js +55 -0
  434. package/dist/signal/no-raw-colours.test.cjs +32 -0
  435. package/dist/signal/no-raw-colours.test.d.ts +2 -0
  436. package/dist/signal/no-raw-colours.test.d.ts.map +1 -0
  437. package/dist/signal/no-raw-colours.test.js +30 -0
  438. package/dist/signal/paint.cjs +76 -0
  439. package/dist/signal/paint.d.ts +15 -0
  440. package/dist/signal/paint.d.ts.map +1 -0
  441. package/dist/signal/paint.js +41 -0
  442. package/dist/signal/paint.test.cjs +98 -0
  443. package/dist/signal/paint.test.d.ts +2 -0
  444. package/dist/signal/paint.test.d.ts.map +1 -0
  445. package/dist/signal/paint.test.js +75 -0
  446. package/dist/signal/tone.cjs +109 -0
  447. package/dist/signal/tone.d.ts +17 -0
  448. package/dist/signal/tone.d.ts.map +1 -0
  449. package/dist/signal/tone.js +83 -0
  450. package/dist/signal/tone.test.cjs +70 -0
  451. package/dist/signal/tone.test.d.ts +2 -0
  452. package/dist/signal/tone.test.d.ts.map +1 -0
  453. package/dist/signal/tone.test.js +69 -0
  454. package/dist/signal/trace.cjs +142 -0
  455. package/dist/signal/trace.d.ts +41 -0
  456. package/dist/signal/trace.d.ts.map +1 -0
  457. package/dist/signal/trace.js +113 -0
  458. package/dist/signal/trace.test.cjs +50 -0
  459. package/dist/signal/trace.test.d.ts +2 -0
  460. package/dist/signal/trace.test.d.ts.map +1 -0
  461. package/dist/signal/trace.test.js +49 -0
  462. package/dist/signal/use-trace.cjs +73 -0
  463. package/dist/signal/use-trace.d.ts +5 -0
  464. package/dist/signal/use-trace.d.ts.map +1 -0
  465. package/dist/signal/use-trace.js +48 -0
  466. package/dist/signal/wordmark-art.generated.cjs +375 -0
  467. package/dist/signal/wordmark-art.generated.d.ts +3 -0
  468. package/dist/signal/wordmark-art.generated.d.ts.map +1 -0
  469. package/dist/signal/wordmark-art.generated.js +351 -0
  470. package/dist/signal/wordmark.cjs +60 -0
  471. package/dist/signal/wordmark.d.ts +23 -0
  472. package/dist/signal/wordmark.d.ts.map +1 -0
  473. package/dist/signal/wordmark.js +34 -0
  474. package/dist/signal/wordmark.test.cjs +71 -0
  475. package/dist/signal/wordmark.test.d.ts +2 -0
  476. package/dist/signal/wordmark.test.d.ts.map +1 -0
  477. package/dist/signal/wordmark.test.js +70 -0
  478. package/dist/state/initialState.cjs +0 -3
  479. package/dist/state/initialState.d.ts.map +1 -1
  480. package/dist/state/initialState.js +0 -3
  481. package/dist/state/types.d.ts +13 -7
  482. package/dist/state/types.d.ts.map +1 -1
  483. package/dist/utils/approval-response.cjs +45 -0
  484. package/dist/utils/approval-response.d.ts +14 -0
  485. package/dist/utils/approval-response.d.ts.map +1 -0
  486. package/dist/utils/approval-response.js +21 -0
  487. package/dist/utils/approval-response.test.cjs +49 -0
  488. package/dist/utils/approval-response.test.d.ts +2 -0
  489. package/dist/utils/approval-response.test.d.ts.map +1 -0
  490. package/dist/utils/approval-response.test.js +55 -0
  491. package/dist/utils/approvalScope.cjs +12 -0
  492. package/dist/utils/approvalScope.d.ts.map +1 -1
  493. package/dist/utils/approvalScope.js +12 -0
  494. package/dist/utils/approvalScope.test.cjs +23 -0
  495. package/dist/utils/approvalScope.test.d.ts +2 -0
  496. package/dist/utils/approvalScope.test.d.ts.map +1 -0
  497. package/dist/utils/approvalScope.test.js +22 -0
  498. package/dist/utils/background-failure.cjs +51 -0
  499. package/dist/utils/background-failure.d.ts +12 -0
  500. package/dist/utils/background-failure.d.ts.map +1 -0
  501. package/dist/utils/background-failure.js +26 -0
  502. package/dist/utils/chatgpt-rate-limit.cjs +10 -0
  503. package/dist/utils/chatgpt-rate-limit.d.ts +9 -0
  504. package/dist/utils/chatgpt-rate-limit.d.ts.map +1 -1
  505. package/dist/utils/chatgpt-rate-limit.js +9 -0
  506. package/dist/utils/chatgpt-rate-limit.test.cjs +10 -0
  507. package/dist/utils/chatgpt-rate-limit.test.js +11 -0
  508. package/dist/utils/deck-state.cjs +107 -0
  509. package/dist/utils/deck-state.d.ts +79 -0
  510. package/dist/utils/deck-state.d.ts.map +1 -0
  511. package/dist/utils/deck-state.js +76 -0
  512. package/dist/utils/deck-state.test.cjs +208 -0
  513. package/dist/utils/deck-state.test.d.ts +2 -0
  514. package/dist/utils/deck-state.test.d.ts.map +1 -0
  515. package/dist/utils/deck-state.test.js +216 -0
  516. package/dist/utils/fault-block.cjs +37 -0
  517. package/dist/utils/fault-block.d.ts +13 -0
  518. package/dist/utils/fault-block.d.ts.map +1 -0
  519. package/dist/utils/fault-block.js +13 -0
  520. package/dist/utils/fault-block.test.cjs +23 -0
  521. package/dist/utils/fault-block.test.d.ts +2 -0
  522. package/dist/utils/fault-block.test.d.ts.map +1 -0
  523. package/dist/utils/fault-block.test.js +22 -0
  524. package/dist/utils/messageFormatting.cjs +26 -23
  525. package/dist/utils/messageFormatting.d.ts +5 -2
  526. package/dist/utils/messageFormatting.d.ts.map +1 -1
  527. package/dist/utils/messageFormatting.js +25 -21
  528. package/dist/utils/messageFormatting.test.cjs +34 -0
  529. package/dist/utils/messageFormatting.test.js +35 -1
  530. package/dist/utils/reasoning-variant.cjs +35 -0
  531. package/dist/utils/reasoning-variant.d.ts +13 -0
  532. package/dist/utils/reasoning-variant.d.ts.map +1 -0
  533. package/dist/utils/reasoning-variant.js +11 -0
  534. package/dist/utils/resize-reflow.cjs +119 -0
  535. package/dist/utils/resize-reflow.d.ts +18 -0
  536. package/dist/utils/resize-reflow.d.ts.map +1 -0
  537. package/dist/utils/resize-reflow.js +83 -0
  538. package/dist/utils/resize-reflow.test.cjs +100 -0
  539. package/dist/utils/resize-reflow.test.d.ts +2 -0
  540. package/dist/utils/resize-reflow.test.d.ts.map +1 -0
  541. package/dist/utils/resize-reflow.test.js +99 -0
  542. package/dist/utils/tool-step.cjs +183 -0
  543. package/dist/utils/tool-step.d.ts +28 -0
  544. package/dist/utils/tool-step.d.ts.map +1 -0
  545. package/dist/utils/tool-step.js +156 -0
  546. package/dist/utils/tool-step.test.cjs +263 -0
  547. package/dist/utils/tool-step.test.d.ts +2 -0
  548. package/dist/utils/tool-step.test.d.ts.map +1 -0
  549. package/dist/utils/tool-step.test.js +262 -0
  550. package/package.json +7 -3
  551. package/dist/components/BackgroundTasksPanel.cjs +0 -117
  552. package/dist/components/BackgroundTasksPanel.d.ts +0 -18
  553. package/dist/components/BackgroundTasksPanel.d.ts.map +0 -1
  554. package/dist/components/BackgroundTasksPanel.js +0 -93
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
@@ -17,14 +15,6 @@ var __copyProps = (to, from, except, desc) => {
17
15
  }
18
16
  return to;
19
17
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
19
  var command_parser_exports = {};
30
20
  __export(command_parser_exports, {
@@ -35,7 +25,7 @@ __export(command_parser_exports, {
35
25
  parseInput: () => parseInput
36
26
  });
37
27
  module.exports = __toCommonJS(command_parser_exports);
38
- var import_chalk = __toESM(require("chalk"), 1);
28
+ var import_signal = require("../signal/index.js");
39
29
  const overlayOnlyHandler = async () => true;
40
30
  function parseQuotedArguments(input) {
41
31
  const args = [];
@@ -114,23 +104,23 @@ function getCommandSuggestions(partial, commands) {
114
104
  return suggestions.sort();
115
105
  }
116
106
  function formatCommandHelp(cmd, detailed = false) {
117
- let help = import_chalk.default.cyan(`/${cmd.name}`) + " - " + cmd.description;
107
+ let help = (0, import_signal.paint)("teal")(`/${cmd.name}`) + " - " + cmd.description;
118
108
  if (detailed) {
119
- help += "\n" + import_chalk.default.gray(`Usage: ${cmd.usage}`);
109
+ help += "\n" + (0, import_signal.paint)("dim")(`Usage: ${cmd.usage}`);
120
110
  if (cmd.aliases && cmd.aliases.length > 0) {
121
- help += "\n" + import_chalk.default.gray(`Aliases: ${cmd.aliases.map((a) => `/${a}`).join(", ")}`);
111
+ help += "\n" + (0, import_signal.paint)("dim")(`Aliases: ${cmd.aliases.map((a) => `/${a}`).join(", ")}`);
122
112
  }
123
113
  if (cmd.subcommands && cmd.subcommands.length > 0) {
124
- help += "\n" + import_chalk.default.gray("Subcommands:");
114
+ help += "\n" + (0, import_signal.paint)("dim")("Subcommands:");
125
115
  for (const sub of cmd.subcommands) {
126
- help += "\n " + import_chalk.default.cyan(`/${cmd.name} ${sub.name}`) + " - " + sub.description;
116
+ help += "\n " + (0, import_signal.paint)("teal")(`/${cmd.name} ${sub.name}`) + " - " + sub.description;
127
117
  }
128
118
  }
129
119
  }
130
120
  return help;
131
121
  }
132
122
  function displayAllCommands(commands) {
133
- console.log(import_chalk.default.bold.green("\n\u{1F4CB} Available Commands:\n"));
123
+ console.log((0, import_signal.paint)("add").bold("\n\u{1F4CB} Available Commands:\n"));
134
124
  const categoryOrder = [
135
125
  "General",
136
126
  "Session Management",
@@ -156,7 +146,7 @@ function displayAllCommands(commands) {
156
146
  for (const category of categoryOrder) {
157
147
  const cmds = categories[category];
158
148
  if (cmds && cmds.length > 0) {
159
- console.log(import_chalk.default.bold.rgb(255, 165, 0)(`${category}:`));
149
+ console.log((0, import_signal.paint)("amber").bold(`${category}:`));
160
150
  for (const cmd of cmds) {
161
151
  console.log(" " + formatCommandHelp(cmd));
162
152
  }
@@ -165,15 +155,17 @@ function displayAllCommands(commands) {
165
155
  }
166
156
  for (const [category, cmds] of Object.entries(categories)) {
167
157
  if (!categoryOrder.includes(category) && cmds.length > 0) {
168
- console.log(import_chalk.default.bold.rgb(255, 165, 0)(`${category}:`));
158
+ console.log((0, import_signal.paint)("amber").bold(`${category}:`));
169
159
  for (const cmd of cmds) {
170
160
  console.log(" " + formatCommandHelp(cmd));
171
161
  }
172
162
  console.log();
173
163
  }
174
164
  }
175
- console.log(import_chalk.default.gray("\u{1F4A1} Tip: Use /help <command> for detailed help on any command"));
176
- console.log(import_chalk.default.gray("\u{1F4A1} Tip: Type your message normally (without /) to chat with the AI\n"));
165
+ console.log((0, import_signal.paint)("dim")("\u{1F4A1} Tip: Use /help <command> for detailed help on any command"));
166
+ console.log(
167
+ (0, import_signal.paint)("dim")("\u{1F4A1} Tip: Type your message normally (without /) to chat with the AI\n")
168
+ );
177
169
  }
178
170
  // Annotate the CommonJS export names for ESM import in node:
179
171
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"file":"command-parser.d.ts","sourceRoot":"","sources":["../../src/interactive-commands/command-parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,GAAG,iBAAiB,CAAC;AAEvF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,uDAAuD;IACvD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,yEAAyE;IACzE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,OAAO,EAAE,CACL,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,cAAc,KAClB,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACtC;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,oBAAoB,CAAS,CAAC;AA4ClF;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAiCvD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAoB9F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,EAAE,QAAQ,GAAE,OAAe,GAAG,MAAM,CAmB3F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAyDtE"}
1
+ {"version":3,"file":"command-parser.d.ts","sourceRoot":"","sources":["../../src/interactive-commands/command-parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,GAAG,iBAAiB,CAAC;AAEvF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,uDAAuD;IACvD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,yEAAyE;IACzE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,OAAO,EAAE,CACL,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,cAAc,KAClB,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACtC;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,oBAAoB,CAAS,CAAC;AA4ClF;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAiCvD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAoB9F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,EAAE,QAAQ,GAAE,OAAe,GAAG,MAAM,CAoB3F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,IAAI,CA2DtE"}
@@ -1,4 +1,4 @@
1
- import chalk from "chalk";
1
+ import { paint } from "../signal/index.js";
2
2
  const overlayOnlyHandler = async () => true;
3
3
  function parseQuotedArguments(input) {
4
4
  const args = [];
@@ -77,23 +77,23 @@ function getCommandSuggestions(partial, commands) {
77
77
  return suggestions.sort();
78
78
  }
79
79
  function formatCommandHelp(cmd, detailed = false) {
80
- let help = chalk.cyan(`/${cmd.name}`) + " - " + cmd.description;
80
+ let help = paint("teal")(`/${cmd.name}`) + " - " + cmd.description;
81
81
  if (detailed) {
82
- help += "\n" + chalk.gray(`Usage: ${cmd.usage}`);
82
+ help += "\n" + paint("dim")(`Usage: ${cmd.usage}`);
83
83
  if (cmd.aliases && cmd.aliases.length > 0) {
84
- help += "\n" + chalk.gray(`Aliases: ${cmd.aliases.map((a) => `/${a}`).join(", ")}`);
84
+ help += "\n" + paint("dim")(`Aliases: ${cmd.aliases.map((a) => `/${a}`).join(", ")}`);
85
85
  }
86
86
  if (cmd.subcommands && cmd.subcommands.length > 0) {
87
- help += "\n" + chalk.gray("Subcommands:");
87
+ help += "\n" + paint("dim")("Subcommands:");
88
88
  for (const sub of cmd.subcommands) {
89
- help += "\n " + chalk.cyan(`/${cmd.name} ${sub.name}`) + " - " + sub.description;
89
+ help += "\n " + paint("teal")(`/${cmd.name} ${sub.name}`) + " - " + sub.description;
90
90
  }
91
91
  }
92
92
  }
93
93
  return help;
94
94
  }
95
95
  function displayAllCommands(commands) {
96
- console.log(chalk.bold.green("\n\u{1F4CB} Available Commands:\n"));
96
+ console.log(paint("add").bold("\n\u{1F4CB} Available Commands:\n"));
97
97
  const categoryOrder = [
98
98
  "General",
99
99
  "Session Management",
@@ -119,7 +119,7 @@ function displayAllCommands(commands) {
119
119
  for (const category of categoryOrder) {
120
120
  const cmds = categories[category];
121
121
  if (cmds && cmds.length > 0) {
122
- console.log(chalk.bold.rgb(255, 165, 0)(`${category}:`));
122
+ console.log(paint("amber").bold(`${category}:`));
123
123
  for (const cmd of cmds) {
124
124
  console.log(" " + formatCommandHelp(cmd));
125
125
  }
@@ -128,15 +128,17 @@ function displayAllCommands(commands) {
128
128
  }
129
129
  for (const [category, cmds] of Object.entries(categories)) {
130
130
  if (!categoryOrder.includes(category) && cmds.length > 0) {
131
- console.log(chalk.bold.rgb(255, 165, 0)(`${category}:`));
131
+ console.log(paint("amber").bold(`${category}:`));
132
132
  for (const cmd of cmds) {
133
133
  console.log(" " + formatCommandHelp(cmd));
134
134
  }
135
135
  console.log();
136
136
  }
137
137
  }
138
- console.log(chalk.gray("\u{1F4A1} Tip: Use /help <command> for detailed help on any command"));
139
- console.log(chalk.gray("\u{1F4A1} Tip: Type your message normally (without /) to chat with the AI\n"));
138
+ console.log(paint("dim")("\u{1F4A1} Tip: Use /help <command> for detailed help on any command"));
139
+ console.log(
140
+ paint("dim")("\u{1F4A1} Tip: Type your message normally (without /) to chat with the AI\n")
141
+ );
140
142
  }
141
143
  export {
142
144
  displayAllCommands,
@@ -40,6 +40,7 @@ var import_command_output = require("./utils/command-output.js");
40
40
  var import_clipboardUtils = require("../utils/clipboardUtils.js");
41
41
  var import_exit_stats = require("./exit-stats.js");
42
42
  var import_exit_handler = require("./exit-handler.js");
43
+ var import_signal = require("../signal/index.js");
43
44
  function getShellRcFile(shell) {
44
45
  const home = process.env.HOME;
45
46
  if (!home) return null;
@@ -140,13 +141,13 @@ const generalCommands = [
140
141
  lines.push(stdout.trim());
141
142
  }
142
143
  if (stderr.trim()) {
143
- lines.push(import_chalk.default.yellow(stderr.trim()));
144
+ lines.push((0, import_signal.paint)("amberDim")(stderr.trim()));
144
145
  }
145
146
  if (exitCode !== 0) {
146
- lines.push(import_chalk.default.red(`Exit code: ${exitCode}`));
147
+ lines.push((0, import_signal.paint)("red")(`Exit code: ${exitCode}`));
147
148
  }
148
149
  if (lines.length === 0) {
149
- return (0, import_format_output.formatForInkCli)(import_chalk.default.gray("(no output)"));
150
+ return (0, import_format_output.formatForInkCli)((0, import_signal.paint)("dim")("(no output)"));
150
151
  }
151
152
  return (0, import_format_output.formatForInkCli)(lines.join("\n"));
152
153
  }
@@ -299,9 +300,9 @@ const generalCommands = [
299
300
  const filledWidth = Math.round(displayPercent / 100 * barWidth);
300
301
  const emptyWidth = barWidth - filledWidth;
301
302
  const progressBar = "\u2588".repeat(filledWidth) + "\u2591".repeat(emptyWidth);
302
- let usageColor = import_chalk.default.green;
303
- if (stats.usagePercent > 80) usageColor = import_chalk.default.red;
304
- else if (stats.usagePercent > 60) usageColor = import_chalk.default.yellow;
303
+ let usageColor = (0, import_signal.paint)("add");
304
+ if (stats.usagePercent > 80) usageColor = (0, import_signal.paint)("red");
305
+ else if (stats.usagePercent > 60) usageColor = (0, import_signal.paint)("amberDim");
305
306
  const formatTokens = (tokens) => {
306
307
  if (tokens >= 1e3) {
307
308
  return `${(tokens / 1e3).toFixed(1)}k`;
@@ -328,7 +329,7 @@ const generalCommands = [
328
329
  ` ${usageColor(progressBar)} ${stats.usagePercent}%${overflowWarning}`,
329
330
  ` ${import_chalk.default.dim(stats.modelDisplayName)} \xB7 ${tokenDisplay} / ${formatTokens(totalTokenSpace)} tokens`,
330
331
  ``,
331
- ` ${import_chalk.default.cyan("Breakdown:")} ${breakdownLabel}`,
332
+ ` ${(0, import_signal.paint)("teal")("Breakdown:")} ${breakdownLabel}`,
332
333
  ` \u251C\u2500 System prompt: ${formatTokens(breakdown.systemPrompt)} (${pct(breakdown.systemPrompt)})`,
333
334
  ` \u251C\u2500 Tools: ${formatTokens(breakdown.tools.total)} (${pct(breakdown.tools.total)})`,
334
335
  ` \u251C\u2500 Messages: ${formatTokens(breakdown.messages)} (${pct(breakdown.messages)})`,
@@ -1 +1 @@
1
- {"version":3,"file":"general-commands.d.ts","sourceRoot":"","sources":["../../src/interactive-commands/general-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAwC,MAAM,qBAAqB,CAAC;AAOnG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAoG3D;;GAEG;AACH,wBAAgB,iBAAiB,CAC7B,4BAA4B,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,iBAAiB,EAAE,GAC9E,iBAAiB,CAgCnB;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAwe9C,CAAC"}
1
+ {"version":3,"file":"general-commands.d.ts","sourceRoot":"","sources":["../../src/interactive-commands/general-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAwC,MAAM,qBAAqB,CAAC;AAQnG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAoG3D;;GAEG;AACH,wBAAgB,iBAAiB,CAC7B,4BAA4B,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,iBAAiB,EAAE,GAC9E,iBAAiB,CAgCnB;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,iBAAiB,EAwe9C,CAAC"}
@@ -6,6 +6,7 @@ import { CommandOutputHelper } from "./utils/command-output.js";
6
6
  import { writeToClipboard } from "../utils/clipboardUtils.js";
7
7
  import { hasMeaningfulTokenUsage, setExitStats } from "./exit-stats.js";
8
8
  import { triggerExit } from "./exit-handler.js";
9
+ import { paint } from "../signal/index.js";
9
10
  function getShellRcFile(shell) {
10
11
  const home = process.env.HOME;
11
12
  if (!home) return null;
@@ -106,13 +107,13 @@ const generalCommands = [
106
107
  lines.push(stdout.trim());
107
108
  }
108
109
  if (stderr.trim()) {
109
- lines.push(chalk.yellow(stderr.trim()));
110
+ lines.push(paint("amberDim")(stderr.trim()));
110
111
  }
111
112
  if (exitCode !== 0) {
112
- lines.push(chalk.red(`Exit code: ${exitCode}`));
113
+ lines.push(paint("red")(`Exit code: ${exitCode}`));
113
114
  }
114
115
  if (lines.length === 0) {
115
- return formatForInkCli(chalk.gray("(no output)"));
116
+ return formatForInkCli(paint("dim")("(no output)"));
116
117
  }
117
118
  return formatForInkCli(lines.join("\n"));
118
119
  }
@@ -265,9 +266,9 @@ const generalCommands = [
265
266
  const filledWidth = Math.round(displayPercent / 100 * barWidth);
266
267
  const emptyWidth = barWidth - filledWidth;
267
268
  const progressBar = "\u2588".repeat(filledWidth) + "\u2591".repeat(emptyWidth);
268
- let usageColor = chalk.green;
269
- if (stats.usagePercent > 80) usageColor = chalk.red;
270
- else if (stats.usagePercent > 60) usageColor = chalk.yellow;
269
+ let usageColor = paint("add");
270
+ if (stats.usagePercent > 80) usageColor = paint("red");
271
+ else if (stats.usagePercent > 60) usageColor = paint("amberDim");
271
272
  const formatTokens = (tokens) => {
272
273
  if (tokens >= 1e3) {
273
274
  return `${(tokens / 1e3).toFixed(1)}k`;
@@ -294,7 +295,7 @@ const generalCommands = [
294
295
  ` ${usageColor(progressBar)} ${stats.usagePercent}%${overflowWarning}`,
295
296
  ` ${chalk.dim(stats.modelDisplayName)} \xB7 ${tokenDisplay} / ${formatTokens(totalTokenSpace)} tokens`,
296
297
  ``,
297
- ` ${chalk.cyan("Breakdown:")} ${breakdownLabel}`,
298
+ ` ${paint("teal")("Breakdown:")} ${breakdownLabel}`,
298
299
  ` \u251C\u2500 System prompt: ${formatTokens(breakdown.systemPrompt)} (${pct(breakdown.systemPrompt)})`,
299
300
  ` \u251C\u2500 Tools: ${formatTokens(breakdown.tools.total)} (${pct(breakdown.tools.total)})`,
300
301
  ` \u251C\u2500 Messages: ${formatTokens(breakdown.messages)} (${pct(breakdown.messages)})`,
@@ -35,6 +35,7 @@ var import_debugLog = require("../utils/debugLog.js");
35
35
  var import_core = require("@dexto/core");
36
36
  var import_idGenerator = require("../utils/idGenerator.js");
37
37
  var import_streamSplitter = require("../utils/streamSplitter.js");
38
+ var import_tool_step = require("../utils/tool-step.js");
38
39
  var import_messageFormatting = require("../utils/messageFormatting.js");
39
40
  var import_toolUtils = require("../utils/toolUtils.js");
40
41
  var import_host = require("../host/index.js");
@@ -48,6 +49,11 @@ function buildErrorContent(error, prefix) {
48
49
  }
49
50
  return errorContent;
50
51
  }
52
+ function isReportedError(error, reported) {
53
+ if (reported.has(error)) return true;
54
+ if (!(error instanceof Error)) return false;
55
+ return [...reported].some((each) => each instanceof Error && each.message === error.message);
56
+ }
51
57
  function getErrorCode(error) {
52
58
  if (typeof error !== "object" || error === null) {
53
59
  return null;
@@ -106,6 +112,7 @@ async function processStream(iterator, setters, options) {
106
112
  } = setters;
107
113
  const useStreaming = options?.useStreaming ?? true;
108
114
  const approvalIdToToolCallId = /* @__PURE__ */ new Map();
115
+ const reportedErrors = /* @__PURE__ */ new Set();
109
116
  const state = {
110
117
  messageId: null,
111
118
  content: "",
@@ -477,9 +484,6 @@ async function processStream(iterator, setters, options) {
477
484
  break;
478
485
  }
479
486
  case "llm:tool-call": {
480
- if ((0, import_messageFormatting.shouldHideTool)(event.toolName)) {
481
- break;
482
- }
483
487
  debug.log("TOOL-CALL: state check", {
484
488
  toolName: event.toolName,
485
489
  hasMessageId: !!state.messageId,
@@ -559,7 +563,7 @@ async function processStream(iterator, setters, options) {
559
563
  }
560
564
  }
561
565
  const toolMessageId = event.callId ? `tool-${event.callId}` : (0, import_idGenerator.generateMessageId)("tool");
562
- const { header: toolContent } = (0, import_messageFormatting.formatToolHeader)({
566
+ const { header: toolContent, argsFormatted: toolArgs } = (0, import_messageFormatting.formatToolHeader)({
563
567
  toolName: event.toolName,
564
568
  args: event.args || {},
565
569
  ...event.presentationSnapshot !== void 0 && {
@@ -577,6 +581,8 @@ ${import_chalk.default.dim(runningDescription)}`;
577
581
  role: "tool",
578
582
  content: finalToolContent,
579
583
  timestamp: /* @__PURE__ */ new Date(),
584
+ toolName: event.toolName,
585
+ toolArgs,
580
586
  toolStatus: "pending"
581
587
  });
582
588
  (0, import_host.captureAnalytics)("dexto_tool_called", {
@@ -587,9 +593,6 @@ ${import_chalk.default.dim(runningDescription)}`;
587
593
  break;
588
594
  }
589
595
  case "llm:tool-result": {
590
- if ((0, import_messageFormatting.shouldHideTool)(event.toolName)) {
591
- break;
592
- }
593
596
  const sanitized = event.sanitized;
594
597
  const toolDisplayData = sanitized?.meta?.display;
595
598
  const toolContent = sanitized?.content;
@@ -628,6 +631,8 @@ ${import_chalk.default.dim(runningDescription)}`;
628
631
  toolResult: resultPreview,
629
632
  toolStatus: "finished",
630
633
  isError: !event.success,
634
+ ...(0, import_tool_step.backgroundFailure)(event.toolName, event.rawResult),
635
+ ...!event.success && event.error !== void 0 && { toolFailureText: event.error },
631
636
  ...toolDisplayData && { toolDisplayData },
632
637
  ...toolContent && { toolContent }
633
638
  });
@@ -654,6 +659,7 @@ ${import_chalk.default.dim(runningDescription)}`;
654
659
  break;
655
660
  }
656
661
  case "llm:error": {
662
+ reportedErrors.add(event.error);
657
663
  const insufficientCredits = getErrorCode(event.error) === import_core.LLMErrorCode.INSUFFICIENT_CREDITS;
658
664
  const insufficientCreditsBalance = insufficientCredits ? extractInsufficientCreditsBalance(event.error) : null;
659
665
  const errorContent = insufficientCredits ? buildInsufficientCreditsContent(insufficientCreditsBalance) : buildErrorContent(event.error, "Error: ");
@@ -663,7 +669,8 @@ ${import_chalk.default.dim(runningDescription)}`;
663
669
  id: (0, import_idGenerator.generateMessageId)("error"),
664
670
  role: "system",
665
671
  content: errorContent,
666
- timestamp: /* @__PURE__ */ new Date()
672
+ timestamp: /* @__PURE__ */ new Date(),
673
+ systemKind: "fault"
667
674
  }
668
675
  ]);
669
676
  if (event.recoverable !== true) {
@@ -853,7 +860,8 @@ ${import_chalk.default.dim(runningDescription)}`;
853
860
  finalizeMessage(`tool-${toolCallId}`, {
854
861
  toolStatus: "finished",
855
862
  toolResult: "Cancelled",
856
- isError: true
863
+ isError: true,
864
+ toolOutcome: event.status === import_core.ApprovalStatus.DENIED ? "denied" : "cancelled"
857
865
  });
858
866
  }
859
867
  }
@@ -945,6 +953,7 @@ ${import_chalk.default.dim(runningDescription)}`;
945
953
  break;
946
954
  }
947
955
  }
956
+ setUi((prev) => prev.isCancelling ? { ...prev, isCancelling: false } : prev);
948
957
  } catch (error) {
949
958
  if (error instanceof Error && error.name === "AbortError") {
950
959
  clearPending();
@@ -956,16 +965,19 @@ ${import_chalk.default.dim(runningDescription)}`;
956
965
  }));
957
966
  } else {
958
967
  clearPending();
959
- const errorContent = buildErrorContent(error, "Stream error: ");
960
- setMessages((prev) => [
961
- ...prev,
962
- {
963
- id: (0, import_idGenerator.generateMessageId)("error"),
964
- role: "system",
965
- content: errorContent,
966
- timestamp: /* @__PURE__ */ new Date()
967
- }
968
- ]);
968
+ if (!isReportedError(error, reportedErrors)) {
969
+ const errorContent = buildErrorContent(error, "Stream error: ");
970
+ setMessages((prev) => [
971
+ ...prev,
972
+ {
973
+ id: (0, import_idGenerator.generateMessageId)("error"),
974
+ role: "system",
975
+ content: errorContent,
976
+ timestamp: /* @__PURE__ */ new Date(),
977
+ systemKind: "fault"
978
+ }
979
+ ]);
980
+ }
969
981
  setUi((prev) => ({
970
982
  ...prev,
971
983
  isProcessing: false,
@@ -1 +1 @@
1
- {"version":3,"file":"processStream.d.ts","sourceRoot":"","sources":["../../src/services/processStream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,aAAa,CAAC;AAGvE,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAc,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAoEvE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,2DAA2D;IAC3D,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7D,oFAAoF;IACpF,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACpE,iFAAiF;IACjF,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACnE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,kEAAkE;IAClE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAC;IAC3F,4CAA4C;IAC5C,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC9F,2CAA2C;IAC3C,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC/F,4DAA4D;IAC5D,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1E,uDAAuD;IACvD,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;CAC7E;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,2FAA2F;IAC3F,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2FAA2F;IAC3F,mBAAmB,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAC1C,wFAAwF;IACxF,oBAAoB,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3C,yDAAyD;IACzD,QAAQ,EAAE,IAAI,CAAC,OAAO,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAC5D,8DAA8D;IAC9D,YAAY,CAAC,EAAE,OAAO,+BAA+B,EAAE,wBAAwB,CAAC;IAChF,kEAAkE;IAClE,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;CAC3F;AAgDD;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAC/B,QAAQ,EAAE,qBAAqB,CAAC,cAAc,CAAC,EAC/C,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,oBAAoB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAuvCf"}
1
+ {"version":3,"file":"processStream.d.ts","sourceRoot":"","sources":["../../src/services/processStream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,aAAa,CAAC;AAGvE,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAc,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AA2EvE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,2DAA2D;IAC3D,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7D,oFAAoF;IACpF,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACpE,iFAAiF;IACjF,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACnE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,kEAAkE;IAClE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAC;IAC3F,4CAA4C;IAC5C,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC9F,2CAA2C;IAC3C,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IAC/F,4DAA4D;IAC5D,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1E,uDAAuD;IACvD,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;CAC7E;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,2FAA2F;IAC3F,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2FAA2F;IAC3F,mBAAmB,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAC1C,wFAAwF;IACxF,oBAAoB,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3C,yDAAyD;IACzD,QAAQ,EAAE,IAAI,CAAC,OAAO,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAC5D,8DAA8D;IAC9D,YAAY,CAAC,EAAE,OAAO,+BAA+B,EAAE,wBAAwB,CAAC;IAChF,kEAAkE;IAClE,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;CAC3F;AAgDD;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAC/B,QAAQ,EAAE,qBAAqB,CAAC,cAAc,CAAC,EAC/C,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,oBAAoB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAmwCf"}
@@ -2,7 +2,8 @@ import { createDebugLogger } from "../utils/debugLog.js";
2
2
  import { ApprovalType as ApprovalTypeEnum, ApprovalStatus, LLMErrorCode } from "@dexto/core";
3
3
  import { generateMessageId } from "../utils/idGenerator.js";
4
4
  import { checkForSplit } from "../utils/streamSplitter.js";
5
- import { formatToolHeader, shouldHideTool } from "../utils/messageFormatting.js";
5
+ import { backgroundFailure } from "../utils/tool-step.js";
6
+ import { formatToolHeader } from "../utils/messageFormatting.js";
6
7
  import { isAutoApprovableInEditMode } from "../utils/toolUtils.js";
7
8
  import { captureAnalytics } from "../host/index.js";
8
9
  import chalk from "chalk";
@@ -15,6 +16,11 @@ function buildErrorContent(error, prefix) {
15
16
  }
16
17
  return errorContent;
17
18
  }
19
+ function isReportedError(error, reported) {
20
+ if (reported.has(error)) return true;
21
+ if (!(error instanceof Error)) return false;
22
+ return [...reported].some((each) => each instanceof Error && each.message === error.message);
23
+ }
18
24
  function getErrorCode(error) {
19
25
  if (typeof error !== "object" || error === null) {
20
26
  return null;
@@ -73,6 +79,7 @@ async function processStream(iterator, setters, options) {
73
79
  } = setters;
74
80
  const useStreaming = options?.useStreaming ?? true;
75
81
  const approvalIdToToolCallId = /* @__PURE__ */ new Map();
82
+ const reportedErrors = /* @__PURE__ */ new Set();
76
83
  const state = {
77
84
  messageId: null,
78
85
  content: "",
@@ -444,9 +451,6 @@ async function processStream(iterator, setters, options) {
444
451
  break;
445
452
  }
446
453
  case "llm:tool-call": {
447
- if (shouldHideTool(event.toolName)) {
448
- break;
449
- }
450
454
  debug.log("TOOL-CALL: state check", {
451
455
  toolName: event.toolName,
452
456
  hasMessageId: !!state.messageId,
@@ -526,7 +530,7 @@ async function processStream(iterator, setters, options) {
526
530
  }
527
531
  }
528
532
  const toolMessageId = event.callId ? `tool-${event.callId}` : generateMessageId("tool");
529
- const { header: toolContent } = formatToolHeader({
533
+ const { header: toolContent, argsFormatted: toolArgs } = formatToolHeader({
530
534
  toolName: event.toolName,
531
535
  args: event.args || {},
532
536
  ...event.presentationSnapshot !== void 0 && {
@@ -544,6 +548,8 @@ ${chalk.dim(runningDescription)}`;
544
548
  role: "tool",
545
549
  content: finalToolContent,
546
550
  timestamp: /* @__PURE__ */ new Date(),
551
+ toolName: event.toolName,
552
+ toolArgs,
547
553
  toolStatus: "pending"
548
554
  });
549
555
  captureAnalytics("dexto_tool_called", {
@@ -554,9 +560,6 @@ ${chalk.dim(runningDescription)}`;
554
560
  break;
555
561
  }
556
562
  case "llm:tool-result": {
557
- if (shouldHideTool(event.toolName)) {
558
- break;
559
- }
560
563
  const sanitized = event.sanitized;
561
564
  const toolDisplayData = sanitized?.meta?.display;
562
565
  const toolContent = sanitized?.content;
@@ -595,6 +598,8 @@ ${chalk.dim(runningDescription)}`;
595
598
  toolResult: resultPreview,
596
599
  toolStatus: "finished",
597
600
  isError: !event.success,
601
+ ...backgroundFailure(event.toolName, event.rawResult),
602
+ ...!event.success && event.error !== void 0 && { toolFailureText: event.error },
598
603
  ...toolDisplayData && { toolDisplayData },
599
604
  ...toolContent && { toolContent }
600
605
  });
@@ -621,6 +626,7 @@ ${chalk.dim(runningDescription)}`;
621
626
  break;
622
627
  }
623
628
  case "llm:error": {
629
+ reportedErrors.add(event.error);
624
630
  const insufficientCredits = getErrorCode(event.error) === LLMErrorCode.INSUFFICIENT_CREDITS;
625
631
  const insufficientCreditsBalance = insufficientCredits ? extractInsufficientCreditsBalance(event.error) : null;
626
632
  const errorContent = insufficientCredits ? buildInsufficientCreditsContent(insufficientCreditsBalance) : buildErrorContent(event.error, "Error: ");
@@ -630,7 +636,8 @@ ${chalk.dim(runningDescription)}`;
630
636
  id: generateMessageId("error"),
631
637
  role: "system",
632
638
  content: errorContent,
633
- timestamp: /* @__PURE__ */ new Date()
639
+ timestamp: /* @__PURE__ */ new Date(),
640
+ systemKind: "fault"
634
641
  }
635
642
  ]);
636
643
  if (event.recoverable !== true) {
@@ -820,7 +827,8 @@ ${chalk.dim(runningDescription)}`;
820
827
  finalizeMessage(`tool-${toolCallId}`, {
821
828
  toolStatus: "finished",
822
829
  toolResult: "Cancelled",
823
- isError: true
830
+ isError: true,
831
+ toolOutcome: event.status === ApprovalStatus.DENIED ? "denied" : "cancelled"
824
832
  });
825
833
  }
826
834
  }
@@ -912,6 +920,7 @@ ${chalk.dim(runningDescription)}`;
912
920
  break;
913
921
  }
914
922
  }
923
+ setUi((prev) => prev.isCancelling ? { ...prev, isCancelling: false } : prev);
915
924
  } catch (error) {
916
925
  if (error instanceof Error && error.name === "AbortError") {
917
926
  clearPending();
@@ -923,16 +932,19 @@ ${chalk.dim(runningDescription)}`;
923
932
  }));
924
933
  } else {
925
934
  clearPending();
926
- const errorContent = buildErrorContent(error, "Stream error: ");
927
- setMessages((prev) => [
928
- ...prev,
929
- {
930
- id: generateMessageId("error"),
931
- role: "system",
932
- content: errorContent,
933
- timestamp: /* @__PURE__ */ new Date()
934
- }
935
- ]);
935
+ if (!isReportedError(error, reportedErrors)) {
936
+ const errorContent = buildErrorContent(error, "Stream error: ");
937
+ setMessages((prev) => [
938
+ ...prev,
939
+ {
940
+ id: generateMessageId("error"),
941
+ role: "system",
942
+ content: errorContent,
943
+ timestamp: /* @__PURE__ */ new Date(),
944
+ systemKind: "fault"
945
+ }
946
+ ]);
947
+ }
936
948
  setUi((prev) => ({
937
949
  ...prev,
938
950
  isProcessing: false,
@@ -73,9 +73,6 @@ function createSetters({
73
73
  promptAddWizard: null,
74
74
  autoApproveEdits: false,
75
75
  todoExpanded: true,
76
- backgroundTasksRunning: 0,
77
- backgroundTasksExpanded: false,
78
- backgroundTasks: [],
79
76
  chatgptRateLimitStatus: null,
80
77
  insufficientCredits: null,
81
78
  planModeActive: false,
@@ -477,6 +474,40 @@ function createSetters({
477
474
  (0, import_vitest.expect)(assistantMessages[1]?.content).toBe("Final");
478
475
  (0, import_vitest.expect)(assistantMessages[1]?.reasoning).toBeUndefined();
479
476
  });
477
+ (0, import_vitest.it)("reports a fatal error once when the stream rethrows it", async () => {
478
+ const { getMessages, setters } = createSetters();
479
+ const error = new Error("Provider error 500");
480
+ async function* failing() {
481
+ yield { name: "llm:error", sessionId: "test-session", error };
482
+ throw new Error("Provider error 500");
483
+ }
484
+ await (0, import_processStream.processStream)(failing(), setters, {
485
+ useStreaming: true,
486
+ autoApproveEditsRef: { current: false },
487
+ bypassPermissionsRef: { current: false },
488
+ eventBus: { emit: import_vitest.vi.fn() }
489
+ });
490
+ const faults = getMessages().filter((each) => each.content.includes("Provider error 500"));
491
+ (0, import_vitest.expect)(faults).toHaveLength(1);
492
+ (0, import_vitest.expect)(faults[0]?.systemKind).toBe("fault");
493
+ });
494
+ (0, import_vitest.it)("still reports a stream failure nothing has reported", async () => {
495
+ const { getMessages, setters } = createSetters();
496
+ async function* failing() {
497
+ yield* [];
498
+ throw new Error("socket closed");
499
+ }
500
+ await (0, import_processStream.processStream)(failing(), setters, {
501
+ useStreaming: true,
502
+ autoApproveEditsRef: { current: false },
503
+ bypassPermissionsRef: { current: false },
504
+ eventBus: { emit: import_vitest.vi.fn() }
505
+ });
506
+ (0, import_vitest.expect)(getMessages().at(-1)).toMatchObject({
507
+ content: "Stream error: socket closed",
508
+ systemKind: "fault"
509
+ });
510
+ });
480
511
  (0, import_vitest.it)("shows the billing recovery overlay for insufficient credits", async () => {
481
512
  const { getMessages, getUi, setters } = createSetters();
482
513
  const error = Object.assign(new Error("Insufficient Dexto credits. Balance: $0.00"), {
@@ -559,3 +590,20 @@ function createSetters({
559
590
  );
560
591
  });
561
592
  });
593
+ (0, import_vitest.describe)("processStream (stop)", () => {
594
+ (0, import_vitest.it)("clears the stop state when a cancelled run ends its stream", async () => {
595
+ const { setters, getUi } = createSetters();
596
+ setters.setUi((prev) => ({ ...prev, isProcessing: false, isCancelling: true }));
597
+ await (0, import_processStream.processStream)(
598
+ eventStream([{ name: "llm:thinking", sessionId: "test-session" }]),
599
+ setters,
600
+ {
601
+ useStreaming: true,
602
+ autoApproveEditsRef: { current: false },
603
+ bypassPermissionsRef: { current: false },
604
+ eventBus: { emit: import_vitest.vi.fn() }
605
+ }
606
+ );
607
+ (0, import_vitest.expect)(getUi().isCancelling).toBe(false);
608
+ });
609
+ });