@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,13 +1,14 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text } from "ink";
3
3
  import { useTerminalSize } from "../../hooks/useTerminalSize.js";
4
+ import { tone } from "../../signal/index.js";
4
5
  function FocusOverlayFrame({ children }) {
5
6
  const { columns } = useTerminalSize();
6
7
  const divider = "\u2500".repeat(Math.max(0, columns));
7
8
  return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", width: columns, children: [
8
- /* @__PURE__ */ jsx(Text, { color: "gray", children: divider }),
9
+ /* @__PURE__ */ jsx(Text, { color: tone("dim"), children: divider }),
9
10
  /* @__PURE__ */ jsx(Box, { paddingX: 1, flexDirection: "column", children }),
10
- /* @__PURE__ */ jsx(Text, { color: "gray", children: divider })
11
+ /* @__PURE__ */ jsx(Text, { color: tone("dim"), children: divider })
11
12
  ] });
12
13
  }
13
14
  export {
@@ -23,9 +23,10 @@ __export(HintBar_exports, {
23
23
  module.exports = __toCommonJS(HintBar_exports);
24
24
  var import_jsx_runtime = require("react/jsx-runtime");
25
25
  var import_ink = require("ink");
26
+ var import_signal = require("../../signal/index.js");
26
27
  function HintBar({ hints, separator = " \u2022 " }) {
27
28
  const line = hints.filter(Boolean).join(separator);
28
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { color: "gray", wrap: "truncate-end", children: line });
29
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { color: (0, import_signal.tone)("dim"), wrap: "truncate-end", children: line });
29
30
  }
30
31
  // Annotate the CommonJS export names for ESM import in node:
31
32
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"file":"HintBar.d.ts","sourceRoot":"","sources":["../../../src/components/shared/HintBar.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,SAAiB,EAAE,EAAE,YAAY,2CAOjE"}
1
+ {"version":3,"file":"HintBar.d.ts","sourceRoot":"","sources":["../../../src/components/shared/HintBar.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,SAAiB,EAAE,EAAE,YAAY,2CAOjE"}
@@ -1,8 +1,9 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Text } from "ink";
3
+ import { tone } from "../../signal/index.js";
3
4
  function HintBar({ hints, separator = " \u2022 " }) {
4
5
  const line = hints.filter(Boolean).join(separator);
5
- return /* @__PURE__ */ jsx(Text, { color: "gray", wrap: "truncate-end", children: line });
6
+ return /* @__PURE__ */ jsx(Text, { color: tone("dim"), wrap: "truncate-end", children: line });
6
7
  }
7
8
  export {
8
9
  HintBar
@@ -28,6 +28,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
  var MarkdownText_exports = {};
30
30
  __export(MarkdownText_exports, {
31
+ MarkdownInsetContext: () => MarkdownInsetContext,
31
32
  MarkdownText: () => MarkdownText,
32
33
  RenderInline: () => RenderInline,
33
34
  parseInlineMarkdown: () => parseInlineMarkdown
@@ -36,10 +37,10 @@ module.exports = __toCommonJS(MarkdownText_exports);
36
37
  var import_jsx_runtime = require("react/jsx-runtime");
37
38
  var import_react = require("react");
38
39
  var import_ink = require("ink");
39
- var import_chalk = __toESM(require("chalk"), 1);
40
40
  var import_wrap_ansi = __toESM(require("wrap-ansi"), 1);
41
41
  var import_string_width = __toESM(require("string-width"), 1);
42
42
  var import_cli_highlight = require("cli-highlight");
43
+ var import_signal = require("../../signal/index.js");
43
44
  function parseInlineMarkdown(text) {
44
45
  if (!/[*_~`\[<]|https?:\/\//.test(text)) {
45
46
  return [{ type: "text", content: text }];
@@ -85,58 +86,40 @@ function parseInlineMarkdown(text) {
85
86
  return segments;
86
87
  }
87
88
  function segmentsToAnsi(segments, defaultColor) {
88
- const colorFn = getChalkColor(defaultColor);
89
+ const colorFn = (0, import_signal.markdownChalk)(defaultColor);
89
90
  return segments.map((segment) => {
90
91
  switch (segment.type) {
91
92
  case "bold":
92
93
  return colorFn.bold(segment.content);
93
94
  case "code":
94
- return import_chalk.default.cyan(segment.content);
95
+ return (0, import_signal.paint)("teal")(segment.content);
95
96
  case "italic":
96
- return import_chalk.default.gray(segment.content);
97
+ return (0, import_signal.paint)("dim")(segment.content);
97
98
  case "strikethrough":
98
99
  return colorFn.strikethrough(segment.content);
99
100
  case "link":
100
- return colorFn(segment.content) + import_chalk.default.blue(` (${segment.url})`);
101
+ return colorFn(segment.content) + (0, import_signal.paint)("fg")(` (${segment.url})`);
101
102
  case "url":
102
- return import_chalk.default.blue(segment.content);
103
+ return (0, import_signal.paint)("fg")(segment.content);
103
104
  default:
104
105
  return colorFn(segment.content);
105
106
  }
106
107
  }).join("");
107
108
  }
108
- function getChalkColor(color) {
109
- switch (color) {
110
- case "white":
111
- return import_chalk.default.white;
112
- case "gray":
113
- return import_chalk.default.gray;
114
- case "blue":
115
- return import_chalk.default.blue;
116
- case "cyan":
117
- return import_chalk.default.cyan;
118
- case "green":
119
- return import_chalk.default.green;
120
- case "yellow":
121
- return import_chalk.default.rgb(255, 165, 0);
122
- case "orange":
123
- return import_chalk.default.rgb(255, 165, 0);
124
- case "red":
125
- return import_chalk.default.red;
126
- case "magenta":
127
- return import_chalk.default.green;
128
- default:
129
- return import_chalk.default.white;
130
- }
109
+ const MarkdownInsetContext = (0, import_react.createContext)(0);
110
+ function useMarkdownColumns() {
111
+ const { stdout } = (0, import_ink.useStdout)();
112
+ const inset = (0, import_react.useContext)(MarkdownInsetContext);
113
+ return Math.max(20, (stdout?.columns ?? 80) - inset);
131
114
  }
115
+ const LEADING_BREAK_SPACE = /^((?:\u001B\[[0-9;]*m)*) /;
132
116
  const WrappedParagraphInternal = ({
133
117
  text,
134
118
  defaultColor,
135
119
  bulletPrefix,
136
120
  isFirstParagraph = false
137
121
  }) => {
138
- const { stdout } = (0, import_ink.useStdout)();
139
- const terminalWidth = stdout?.columns ?? 80;
122
+ const terminalWidth = useMarkdownColumns();
140
123
  const wrappedLines = (0, import_react.useMemo)(() => {
141
124
  const segments = parseInlineMarkdown(text);
142
125
  const ansiString = segmentsToAnsi(segments, defaultColor);
@@ -150,7 +133,7 @@ const WrappedParagraphInternal = ({
150
133
  trim: false
151
134
  // Don't trim whitespace
152
135
  });
153
- return wrapped.split("\n");
136
+ return wrapped.split("\n").map((line, i) => i === 0 ? line : line.replace(LEADING_BREAK_SPACE, "$1"));
154
137
  }, [text, defaultColor, bulletPrefix, isFirstParagraph, terminalWidth]);
155
138
  const indentSpaces = bulletPrefix ? " ".repeat((0, import_string_width.default)(bulletPrefix)) : "";
156
139
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: wrappedLines.map((line, i) => {
@@ -165,7 +148,7 @@ const WrappedParagraphInternal = ({
165
148
  const WrappedParagraph = (0, import_react.memo)(WrappedParagraphInternal);
166
149
  const RenderInlineInternal = ({
167
150
  text,
168
- defaultColor = "white",
151
+ defaultColor = (0, import_signal.tone)("hi"),
169
152
  bold: baseBold = false
170
153
  }) => {
171
154
  const segments = parseInlineMarkdown(text);
@@ -174,22 +157,22 @@ const RenderInlineInternal = ({
174
157
  case "bold":
175
158
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { bold: true, color: defaultColor, children: segment.content }, i);
176
159
  case "code":
177
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { bold: baseBold, color: "cyan", children: segment.content }, i);
160
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { bold: baseBold, color: (0, import_signal.tone)("teal"), children: segment.content }, i);
178
161
  case "italic":
179
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { bold: baseBold, color: "gray", children: segment.content }, i);
162
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { bold: baseBold, color: (0, import_signal.tone)("dim"), children: segment.content }, i);
180
163
  case "strikethrough":
181
164
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { bold: baseBold, strikethrough: true, color: defaultColor, children: segment.content }, i);
182
165
  case "link":
183
166
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ink.Text, { bold: baseBold, color: defaultColor, children: [
184
167
  segment.content,
185
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ink.Text, { color: "blue", children: [
168
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ink.Text, { color: (0, import_signal.tone)("fg"), children: [
186
169
  " (",
187
170
  segment.url,
188
171
  ")"
189
172
  ] })
190
173
  ] }, i);
191
174
  case "url":
192
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { bold: baseBold, color: "blue", children: segment.content }, i);
175
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { bold: baseBold, color: (0, import_signal.tone)("fg"), children: segment.content }, i);
193
176
  default:
194
177
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { bold: baseBold, color: defaultColor, children: segment.content }, i);
195
178
  }
@@ -198,7 +181,7 @@ const RenderInlineInternal = ({
198
181
  const RenderInline = (0, import_react.memo)(RenderInlineInternal);
199
182
  const MarkdownTextInternal = ({
200
183
  children,
201
- color = "white",
184
+ color = (0, import_signal.tone)("hi"),
202
185
  bulletPrefix
203
186
  }) => {
204
187
  if (!children) return null;
@@ -249,7 +232,7 @@ const MarkdownTextInternal = ({
249
232
  }
250
233
  if (hrRegex.test(trimmedLine)) {
251
234
  blocks.push(
252
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Box, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { color: "gray", children: "\u2500".repeat(40) }) }, key)
235
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Box, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { color: (0, import_signal.tone)("dim"), children: "\u2500".repeat(40) }) }, key)
253
236
  );
254
237
  return;
255
238
  }
@@ -328,14 +311,14 @@ const MarkdownTextInternal = ({
328
311
  };
329
312
  const RenderHeaderInternal = ({ level, text }) => {
330
313
  const headerColors = {
331
- 1: "blue",
332
- 2: "cyan",
333
- 3: "white",
334
- 4: "gray",
335
- 5: "gray",
336
- 6: "gray"
314
+ 1: (0, import_signal.tone)("fg"),
315
+ 2: (0, import_signal.tone)("teal"),
316
+ 3: (0, import_signal.tone)("hi"),
317
+ 4: (0, import_signal.tone)("dim"),
318
+ 5: (0, import_signal.tone)("dim"),
319
+ 6: (0, import_signal.tone)("dim")
337
320
  };
338
- const headerColor = headerColors[level] || "white";
321
+ const headerColor = headerColors[level] || (0, import_signal.tone)("hi");
339
322
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Box, { marginTop: level <= 2 ? 1 : 0, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RenderInline, { text, defaultColor: headerColor, bold: true }) });
340
323
  };
341
324
  const RenderHeader = (0, import_react.memo)(RenderHeaderInternal);
@@ -345,8 +328,7 @@ const RenderListItemInternal = ({
345
328
  text,
346
329
  defaultColor
347
330
  }) => {
348
- const { stdout } = (0, import_ink.useStdout)();
349
- const terminalWidth = stdout?.columns ?? 80;
331
+ const terminalWidth = useMarkdownColumns();
350
332
  const paddingLeft = Math.floor(indent / 2);
351
333
  const markerWithSpace = `${marker} `;
352
334
  const markerWidth = (0, import_string_width.default)(markerWithSpace);
@@ -379,23 +361,23 @@ const RenderCodeBlockInternal = ({
379
361
  try {
380
362
  return (0, import_cli_highlight.highlight)(code, { language, ignoreIllegals: true });
381
363
  } catch {
382
- return import_chalk.default.cyan(code);
364
+ return (0, import_signal.paint)("teal")(code);
383
365
  }
384
366
  }
385
367
  if (!language && code.trim()) {
386
368
  try {
387
369
  return (0, import_cli_highlight.highlight)(code, { ignoreIllegals: true });
388
370
  } catch {
389
- return import_chalk.default.cyan(code);
371
+ return (0, import_signal.paint)("teal")(code);
390
372
  }
391
373
  }
392
- return import_chalk.default.cyan(code);
374
+ return (0, import_signal.paint)("teal")(code);
393
375
  }, [lines, language]);
394
376
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ink.Box, { flexDirection: "column", marginTop: 1, marginBottom: 1, children: [
395
- language && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { color: "gray", children: language }),
377
+ language && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { color: (0, import_signal.tone)("dim"), children: language }),
396
378
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ink.Box, { flexDirection: "column", paddingLeft: 1, children: [
397
379
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { children: highlightedCode }),
398
- isPending && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { color: "gray", children: "..." })
380
+ isPending && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ink.Text, { color: (0, import_signal.tone)("dim"), children: "..." })
399
381
  ] })
400
382
  ] });
401
383
  };
@@ -403,6 +385,7 @@ const RenderCodeBlock = (0, import_react.memo)(RenderCodeBlockInternal);
403
385
  const MarkdownText = (0, import_react.memo)(MarkdownTextInternal);
404
386
  // Annotate the CommonJS export names for ESM import in node:
405
387
  0 && (module.exports = {
388
+ MarkdownInsetContext,
406
389
  MarkdownText,
407
390
  RenderInline,
408
391
  parseInlineMarkdown
@@ -19,6 +19,8 @@ interface InlineSegment {
19
19
  * Uses a single regex to find all inline patterns, processes in order.
20
20
  */
21
21
  declare function parseInlineMarkdown(text: string): InlineSegment[];
22
+ /** Columns a surrounding margin takes from the terminal, so paragraphs wrap inside it. */
23
+ export declare const MarkdownInsetContext: React.Context<number>;
22
24
  interface RenderInlineProps {
23
25
  text: string;
24
26
  defaultColor?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownText.d.ts","sourceRoot":"","sources":["../../../src/components/shared/MarkdownText.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAwB,MAAM,OAAO,CAAC;AAW7C,UAAU,aAAa;IACnB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,eAAe,GAAG,MAAM,GAAG,KAAK,CAAC;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,iBAAS,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CAuE1D;AAyID,UAAU,iBAAiB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAkED,QAAA,MAAM,YAAY,+CAA6B,CAAC;AAMhD,UAAU,iBAAiB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAoTD,eAAO,MAAM,YAAY,+CAA6B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"MarkdownText.d.ts","sourceRoot":"","sources":["../../../src/components/shared/MarkdownText.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;AAWxE,UAAU,aAAa;IACnB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,eAAe,GAAG,MAAM,GAAG,KAAK,CAAC;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,iBAAS,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CAuE1D;AAuCD,0FAA0F;AAC1F,eAAO,MAAM,oBAAoB,uBAAmB,CAAC;AAoFrD,UAAU,iBAAiB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAkED,QAAA,MAAM,YAAY,+CAA6B,CAAC;AAMhD,UAAU,iBAAiB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAmTD,eAAO,MAAM,YAAY,+CAA6B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
- import { memo, useMemo } from "react";
2
+ import { createContext, memo, useContext, useMemo } from "react";
3
3
  import { Text, Box, useStdout } from "ink";
4
- import chalk from "chalk";
5
4
  import wrapAnsi from "wrap-ansi";
6
5
  import stringWidth from "string-width";
7
6
  import { highlight, supportsLanguage } from "cli-highlight";
7
+ import { markdownChalk, paint, tone } from "../../signal/index.js";
8
8
  function parseInlineMarkdown(text) {
9
9
  if (!/[*_~`\[<]|https?:\/\//.test(text)) {
10
10
  return [{ type: "text", content: text }];
@@ -50,58 +50,40 @@ function parseInlineMarkdown(text) {
50
50
  return segments;
51
51
  }
52
52
  function segmentsToAnsi(segments, defaultColor) {
53
- const colorFn = getChalkColor(defaultColor);
53
+ const colorFn = markdownChalk(defaultColor);
54
54
  return segments.map((segment) => {
55
55
  switch (segment.type) {
56
56
  case "bold":
57
57
  return colorFn.bold(segment.content);
58
58
  case "code":
59
- return chalk.cyan(segment.content);
59
+ return paint("teal")(segment.content);
60
60
  case "italic":
61
- return chalk.gray(segment.content);
61
+ return paint("dim")(segment.content);
62
62
  case "strikethrough":
63
63
  return colorFn.strikethrough(segment.content);
64
64
  case "link":
65
- return colorFn(segment.content) + chalk.blue(` (${segment.url})`);
65
+ return colorFn(segment.content) + paint("fg")(` (${segment.url})`);
66
66
  case "url":
67
- return chalk.blue(segment.content);
67
+ return paint("fg")(segment.content);
68
68
  default:
69
69
  return colorFn(segment.content);
70
70
  }
71
71
  }).join("");
72
72
  }
73
- function getChalkColor(color) {
74
- switch (color) {
75
- case "white":
76
- return chalk.white;
77
- case "gray":
78
- return chalk.gray;
79
- case "blue":
80
- return chalk.blue;
81
- case "cyan":
82
- return chalk.cyan;
83
- case "green":
84
- return chalk.green;
85
- case "yellow":
86
- return chalk.rgb(255, 165, 0);
87
- case "orange":
88
- return chalk.rgb(255, 165, 0);
89
- case "red":
90
- return chalk.red;
91
- case "magenta":
92
- return chalk.green;
93
- default:
94
- return chalk.white;
95
- }
73
+ const MarkdownInsetContext = createContext(0);
74
+ function useMarkdownColumns() {
75
+ const { stdout } = useStdout();
76
+ const inset = useContext(MarkdownInsetContext);
77
+ return Math.max(20, (stdout?.columns ?? 80) - inset);
96
78
  }
79
+ const LEADING_BREAK_SPACE = /^((?:\u001B\[[0-9;]*m)*) /;
97
80
  const WrappedParagraphInternal = ({
98
81
  text,
99
82
  defaultColor,
100
83
  bulletPrefix,
101
84
  isFirstParagraph = false
102
85
  }) => {
103
- const { stdout } = useStdout();
104
- const terminalWidth = stdout?.columns ?? 80;
86
+ const terminalWidth = useMarkdownColumns();
105
87
  const wrappedLines = useMemo(() => {
106
88
  const segments = parseInlineMarkdown(text);
107
89
  const ansiString = segmentsToAnsi(segments, defaultColor);
@@ -115,7 +97,7 @@ const WrappedParagraphInternal = ({
115
97
  trim: false
116
98
  // Don't trim whitespace
117
99
  });
118
- return wrapped.split("\n");
100
+ return wrapped.split("\n").map((line, i) => i === 0 ? line : line.replace(LEADING_BREAK_SPACE, "$1"));
119
101
  }, [text, defaultColor, bulletPrefix, isFirstParagraph, terminalWidth]);
120
102
  const indentSpaces = bulletPrefix ? " ".repeat(stringWidth(bulletPrefix)) : "";
121
103
  return /* @__PURE__ */ jsx(Fragment, { children: wrappedLines.map((line, i) => {
@@ -130,7 +112,7 @@ const WrappedParagraphInternal = ({
130
112
  const WrappedParagraph = memo(WrappedParagraphInternal);
131
113
  const RenderInlineInternal = ({
132
114
  text,
133
- defaultColor = "white",
115
+ defaultColor = tone("hi"),
134
116
  bold: baseBold = false
135
117
  }) => {
136
118
  const segments = parseInlineMarkdown(text);
@@ -139,22 +121,22 @@ const RenderInlineInternal = ({
139
121
  case "bold":
140
122
  return /* @__PURE__ */ jsx(Text, { bold: true, color: defaultColor, children: segment.content }, i);
141
123
  case "code":
142
- return /* @__PURE__ */ jsx(Text, { bold: baseBold, color: "cyan", children: segment.content }, i);
124
+ return /* @__PURE__ */ jsx(Text, { bold: baseBold, color: tone("teal"), children: segment.content }, i);
143
125
  case "italic":
144
- return /* @__PURE__ */ jsx(Text, { bold: baseBold, color: "gray", children: segment.content }, i);
126
+ return /* @__PURE__ */ jsx(Text, { bold: baseBold, color: tone("dim"), children: segment.content }, i);
145
127
  case "strikethrough":
146
128
  return /* @__PURE__ */ jsx(Text, { bold: baseBold, strikethrough: true, color: defaultColor, children: segment.content }, i);
147
129
  case "link":
148
130
  return /* @__PURE__ */ jsxs(Text, { bold: baseBold, color: defaultColor, children: [
149
131
  segment.content,
150
- /* @__PURE__ */ jsxs(Text, { color: "blue", children: [
132
+ /* @__PURE__ */ jsxs(Text, { color: tone("fg"), children: [
151
133
  " (",
152
134
  segment.url,
153
135
  ")"
154
136
  ] })
155
137
  ] }, i);
156
138
  case "url":
157
- return /* @__PURE__ */ jsx(Text, { bold: baseBold, color: "blue", children: segment.content }, i);
139
+ return /* @__PURE__ */ jsx(Text, { bold: baseBold, color: tone("fg"), children: segment.content }, i);
158
140
  default:
159
141
  return /* @__PURE__ */ jsx(Text, { bold: baseBold, color: defaultColor, children: segment.content }, i);
160
142
  }
@@ -163,7 +145,7 @@ const RenderInlineInternal = ({
163
145
  const RenderInline = memo(RenderInlineInternal);
164
146
  const MarkdownTextInternal = ({
165
147
  children,
166
- color = "white",
148
+ color = tone("hi"),
167
149
  bulletPrefix
168
150
  }) => {
169
151
  if (!children) return null;
@@ -214,7 +196,7 @@ const MarkdownTextInternal = ({
214
196
  }
215
197
  if (hrRegex.test(trimmedLine)) {
216
198
  blocks.push(
217
- /* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsx(Text, { color: "gray", children: "\u2500".repeat(40) }) }, key)
199
+ /* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsx(Text, { color: tone("dim"), children: "\u2500".repeat(40) }) }, key)
218
200
  );
219
201
  return;
220
202
  }
@@ -293,14 +275,14 @@ const MarkdownTextInternal = ({
293
275
  };
294
276
  const RenderHeaderInternal = ({ level, text }) => {
295
277
  const headerColors = {
296
- 1: "blue",
297
- 2: "cyan",
298
- 3: "white",
299
- 4: "gray",
300
- 5: "gray",
301
- 6: "gray"
278
+ 1: tone("fg"),
279
+ 2: tone("teal"),
280
+ 3: tone("hi"),
281
+ 4: tone("dim"),
282
+ 5: tone("dim"),
283
+ 6: tone("dim")
302
284
  };
303
- const headerColor = headerColors[level] || "white";
285
+ const headerColor = headerColors[level] || tone("hi");
304
286
  return /* @__PURE__ */ jsx(Box, { marginTop: level <= 2 ? 1 : 0, children: /* @__PURE__ */ jsx(RenderInline, { text, defaultColor: headerColor, bold: true }) });
305
287
  };
306
288
  const RenderHeader = memo(RenderHeaderInternal);
@@ -310,8 +292,7 @@ const RenderListItemInternal = ({
310
292
  text,
311
293
  defaultColor
312
294
  }) => {
313
- const { stdout } = useStdout();
314
- const terminalWidth = stdout?.columns ?? 80;
295
+ const terminalWidth = useMarkdownColumns();
315
296
  const paddingLeft = Math.floor(indent / 2);
316
297
  const markerWithSpace = `${marker} `;
317
298
  const markerWidth = stringWidth(markerWithSpace);
@@ -344,29 +325,30 @@ const RenderCodeBlockInternal = ({
344
325
  try {
345
326
  return highlight(code, { language, ignoreIllegals: true });
346
327
  } catch {
347
- return chalk.cyan(code);
328
+ return paint("teal")(code);
348
329
  }
349
330
  }
350
331
  if (!language && code.trim()) {
351
332
  try {
352
333
  return highlight(code, { ignoreIllegals: true });
353
334
  } catch {
354
- return chalk.cyan(code);
335
+ return paint("teal")(code);
355
336
  }
356
337
  }
357
- return chalk.cyan(code);
338
+ return paint("teal")(code);
358
339
  }, [lines, language]);
359
340
  return /* @__PURE__ */ jsxs(Box, { flexDirection: "column", marginTop: 1, marginBottom: 1, children: [
360
- language && /* @__PURE__ */ jsx(Text, { color: "gray", children: language }),
341
+ language && /* @__PURE__ */ jsx(Text, { color: tone("dim"), children: language }),
361
342
  /* @__PURE__ */ jsxs(Box, { flexDirection: "column", paddingLeft: 1, children: [
362
343
  /* @__PURE__ */ jsx(Text, { children: highlightedCode }),
363
- isPending && /* @__PURE__ */ jsx(Text, { color: "gray", children: "..." })
344
+ isPending && /* @__PURE__ */ jsx(Text, { color: tone("dim"), children: "..." })
364
345
  ] })
365
346
  ] });
366
347
  };
367
348
  const RenderCodeBlock = memo(RenderCodeBlockInternal);
368
349
  const MarkdownText = memo(MarkdownTextInternal);
369
350
  export {
351
+ MarkdownInsetContext,
370
352
  MarkdownText,
371
353
  RenderInline,
372
354
  parseInlineMarkdown
@@ -26,6 +26,7 @@ var import_jsx_runtime = require("react/jsx-runtime");
26
26
  var import_react = require("react");
27
27
  var import_ink = require("ink");
28
28
  var import_useBatchedScroll = require("../../hooks/useBatchedScroll.js");
29
+ var import_signal = require("../../signal/index.js");
29
30
  const SCROLL_TO_ITEM_END = Number.MAX_SAFE_INTEGER;
30
31
  function findLastIndex(array, predicate) {
31
32
  for (let i = array.length - 1; i >= 0; i--) {
@@ -344,7 +345,7 @@ function VirtualizedListInner(props, ref) {
344
345
  overflowY: "scroll",
345
346
  overflowX: "hidden",
346
347
  scrollTop,
347
- scrollbarThumbColor: props.scrollbarThumbColor ?? "gray",
348
+ scrollbarThumbColor: props.scrollbarThumbColor ?? (0, import_signal.tone)("dim"),
348
349
  width: "100%",
349
350
  height: "100%",
350
351
  flexDirection: "column",
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualizedList.d.ts","sourceRoot":"","sources":["../../../src/components/shared/VirtualizedList.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,eAAO,MAAM,kBAAkB,QAA0B,CAAC;AAE1D,KAAK,oBAAoB,CAAC,CAAC,IAAI;IAC3B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,UAAU,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,CAAC;IACrE,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI;IAChC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/F,YAAY,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACxF,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACvB,CAAC;CACL,CAAC;AAkZF,eAAO,MAAM,eAAe,EAAuC,CAAC,CAAC,EACjE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,KAC1E,KAAK,CAAC,YAAY,CAAC"}
1
+ {"version":3,"file":"VirtualizedList.d.ts","sourceRoot":"","sources":["../../../src/components/shared/VirtualizedList.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,eAAO,MAAM,kBAAkB,QAA0B,CAAC;AAE1D,KAAK,oBAAoB,CAAC,CAAC,IAAI;IAC3B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,UAAU,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,CAAC;IACrE,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI;IAChC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/F,YAAY,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACxF,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACvB,CAAC;CACL,CAAC;AAkZF,eAAO,MAAM,eAAe,EAAuC,CAAC,CAAC,EACjE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,KAC1E,KAAK,CAAC,YAAY,CAAC"}
@@ -11,6 +11,7 @@ import {
11
11
  } from "react";
12
12
  import { measureElement, Box } from "ink";
13
13
  import { useBatchedScroll } from "../../hooks/useBatchedScroll.js";
14
+ import { tone } from "../../signal/index.js";
14
15
  const SCROLL_TO_ITEM_END = Number.MAX_SAFE_INTEGER;
15
16
  function findLastIndex(array, predicate) {
16
17
  for (let i = array.length - 1; i >= 0; i--) {
@@ -329,7 +330,7 @@ function VirtualizedListInner(props, ref) {
329
330
  overflowY: "scroll",
330
331
  overflowX: "hidden",
331
332
  scrollTop,
332
- scrollbarThumbColor: props.scrollbarThumbColor ?? "gray",
333
+ scrollbarThumbColor: props.scrollbarThumbColor ?? tone("dim"),
333
334
  width: "100%",
334
335
  height: "100%",
335
336
  flexDirection: "column",
@@ -58,6 +58,7 @@ var import_McpCustomWizard = __toESM(require("../components/overlays/McpCustomWi
58
58
  var import_CustomModelWizard = __toESM(require("../components/overlays/CustomModelWizard.js"), 1);
59
59
  var import_ChatGPTUsageCapOverlay = __toESM(require("../components/overlays/ChatGPTUsageCapOverlay.js"), 1);
60
60
  var import_InsufficientCreditsOverlay = __toESM(require("../components/overlays/InsufficientCreditsOverlay.js"), 1);
61
+ var import_approval_response = require("../utils/approval-response.js");
61
62
  var import_llm_provider_display = require("../utils/llm-provider-display.js");
62
63
  var import_chatgpt_rate_limit = require("../utils/chatgpt-rate-limit.js");
63
64
  var import_agent_management = require("@dexto/agent-management");
@@ -308,10 +309,7 @@ const OverlayContainer = (0, import_react.forwardRef)(
308
309
  status: import_core.ApprovalStatus.APPROVED,
309
310
  sessionId: approval.sessionId,
310
311
  hostRuntime: approval.hostRuntime,
311
- data: {
312
- rememberChoice: options.rememberChoice,
313
- formData: options.formData
314
- }
312
+ data: (0, import_approval_response.approvedResponseData)(approval.type, options)
315
313
  });
316
314
  completeApproval();
317
315
  },
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayContainer.d.ts","sourceRoot":"","sources":["../../src/containers/OverlayContainer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAyE,MAAM,OAAO,CAAC;AAI9F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kCAAkC,CAAC;AAE5D,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAGH,KAAK,eAAe,EACvB,MAAM,iCAAiC,CAAC;AAuGzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAuC3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAsC3D,MAAM,WAAW,sBAAsB;IACnC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC;CACrD;AAED,UAAU,qBAAqB;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3D,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/D,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7D,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1E,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IAC1E,KAAK,EAAE,eAAe,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,mDAAmD;IACnD,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,4EAA4E;IAC5E,qBAAqB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,sGA++F5B,CAAC"}
1
+ {"version":3,"file":"OverlayContainer.d.ts","sourceRoot":"","sources":["../../src/containers/OverlayContainer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAyE,MAAM,OAAO,CAAC;AAI9F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kCAAkC,CAAC;AAE5D,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAGH,KAAK,eAAe,EACvB,MAAM,iCAAiC,CAAC;AAwGzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAuC3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAsC3D,MAAM,WAAW,sBAAsB;IACnC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC;CACrD;AAED,UAAU,qBAAqB;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3D,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACrD,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/D,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7D,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1E,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IAC1E,KAAK,EAAE,eAAe,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,mDAAmD;IACnD,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,4EAA4E;IAC5E,qBAAqB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,sGA4+F5B,CAAC"}
@@ -35,6 +35,7 @@ import McpCustomWizard from "../components/overlays/McpCustomWizard.js";
35
35
  import CustomModelWizard from "../components/overlays/CustomModelWizard.js";
36
36
  import ChatGPTUsageCapOverlay from "../components/overlays/ChatGPTUsageCapOverlay.js";
37
37
  import InsufficientCreditsOverlay from "../components/overlays/InsufficientCreditsOverlay.js";
38
+ import { approvedResponseData } from "../utils/approval-response.js";
38
39
  import { getLLMProviderDisplayName } from "../utils/llm-provider-display.js";
39
40
  import { resolveChatGPTFallbackModel } from "../utils/chatgpt-rate-limit.js";
40
41
  import {
@@ -290,10 +291,7 @@ const OverlayContainer = forwardRef(
290
291
  status: ApprovalStatus.APPROVED,
291
292
  sessionId: approval.sessionId,
292
293
  hostRuntime: approval.hostRuntime,
293
- data: {
294
- rememberChoice: options.rememberChoice,
295
- formData: options.formData
296
- }
294
+ data: approvedResponseData(approval.type, options)
297
295
  });
298
296
  completeApproval();
299
297
  },
@@ -30,6 +30,7 @@ var import_ink = require("ink");
30
30
  var import_react = require("react");
31
31
  var import_input = require("../utils/input.js");
32
32
  var import_mouse = require("../utils/mouse.js");
33
+ var import_background = require("../signal/background.js");
33
34
  const BACKSLASH_ENTER_TIMEOUT = 5;
34
35
  const ESC_TIMEOUT = 50;
35
36
  const PASTE_TIMEOUT = 3e4;
@@ -415,7 +416,12 @@ function KeypressProvider({ children }) {
415
416
  const mouseFilterer = nonKeyboardEventFilter(broadcast);
416
417
  const backslashBufferer = bufferBackslashEnter(mouseFilterer);
417
418
  const pasteBufferer = bufferPaste(backslashBufferer);
418
- const dataListener = createDataListener(pasteBufferer);
419
+ const parse = createDataListener(pasteBufferer);
420
+ const dropReplies = (0, import_background.createTerminalReplyFilter)();
421
+ const dataListener = (data) => {
422
+ const keys = dropReplies(data);
423
+ if (keys !== "") parse(keys);
424
+ };
419
425
  stdin.on("data", dataListener);
420
426
  return () => {
421
427
  stdin.removeListener("data", dataListener);
@@ -1 +1 @@
1
- {"version":3,"file":"KeypressContext.d.ts","sourceRoot":"","sources":["../../src/contexts/KeypressContext.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,aAAa,QAAS,CAAC;AAmGpC,MAAM,WAAW,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;AAEjD,UAAU,oBAAoB;IAC1B,SAAS,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IAC9C,WAAW,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;CACnD;AAID,wBAAgB,kBAAkB,yBAMjC;AAqUD,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AAED,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,qBAAqB,2CA+CnE"}
1
+ {"version":3,"file":"KeypressContext.d.ts","sourceRoot":"","sources":["../../src/contexts/KeypressContext.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,aAAa,QAAS,CAAC;AAmGpC,MAAM,WAAW,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;AAEjD,UAAU,oBAAoB;IAC1B,SAAS,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IAC9C,WAAW,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;CACnD;AAID,wBAAgB,kBAAkB,yBAMjC;AAqUD,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AAED,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,qBAAqB,2CAuDnE"}