dexto 1.3.0 → 1.5.0

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 (494) hide show
  1. package/README.md +87 -22
  2. package/dist/agents/agent-registry.json +9 -0
  3. package/dist/agents/agent-template.yml +2 -2
  4. package/dist/agents/coding-agent/coding-agent.yml +27 -16
  5. package/dist/agents/database-agent/database-agent.yml +2 -2
  6. package/dist/agents/default-agent.yml +9 -7
  7. package/dist/agents/github-agent/github-agent.yml +2 -2
  8. package/dist/agents/product-name-researcher/product-name-researcher.yml +2 -2
  9. package/dist/agents/talk2pdf-agent/talk2pdf-agent.yml +2 -2
  10. package/dist/analytics/events.d.ts +13 -6
  11. package/dist/analytics/events.d.ts.map +1 -1
  12. package/dist/analytics/index.d.ts +1 -1
  13. package/dist/analytics/index.d.ts.map +1 -1
  14. package/dist/analytics/index.js +6 -2
  15. package/dist/api/server-hono.d.ts.map +1 -1
  16. package/dist/api/server-hono.js +65 -9
  17. package/dist/cli/cli-subscriber.d.ts +4 -0
  18. package/dist/cli/cli-subscriber.d.ts.map +1 -1
  19. package/dist/cli/cli-subscriber.js +47 -3
  20. package/dist/cli/commands/create-app.d.ts +16 -14
  21. package/dist/cli/commands/create-app.d.ts.map +1 -1
  22. package/dist/cli/commands/create-app.js +626 -102
  23. package/dist/cli/commands/create-image.d.ts +7 -0
  24. package/dist/cli/commands/create-image.d.ts.map +1 -0
  25. package/dist/cli/commands/create-image.js +201 -0
  26. package/dist/cli/commands/helpers/formatters.d.ts.map +1 -1
  27. package/dist/cli/commands/helpers/formatters.js +9 -8
  28. package/dist/cli/commands/index.d.ts +2 -1
  29. package/dist/cli/commands/index.d.ts.map +1 -1
  30. package/dist/cli/commands/index.js +2 -1
  31. package/dist/cli/commands/init-app.js +7 -7
  32. package/dist/cli/commands/install.d.ts +0 -3
  33. package/dist/cli/commands/install.d.ts.map +1 -1
  34. package/dist/cli/commands/install.js +19 -70
  35. package/dist/cli/commands/interactive-commands/command-parser.d.ts +17 -14
  36. package/dist/cli/commands/interactive-commands/command-parser.d.ts.map +1 -1
  37. package/dist/cli/commands/interactive-commands/command-parser.js +7 -22
  38. package/dist/cli/commands/interactive-commands/commands.d.ts +4 -4
  39. package/dist/cli/commands/interactive-commands/commands.d.ts.map +1 -1
  40. package/dist/cli/commands/interactive-commands/commands.js +34 -42
  41. package/dist/cli/commands/interactive-commands/documentation-commands.d.ts.map +1 -1
  42. package/dist/cli/commands/interactive-commands/documentation-commands.js +4 -7
  43. package/dist/cli/commands/interactive-commands/general-commands.d.ts.map +1 -1
  44. package/dist/cli/commands/interactive-commands/general-commands.js +159 -117
  45. package/dist/cli/commands/interactive-commands/mcp/index.d.ts +9 -3
  46. package/dist/cli/commands/interactive-commands/mcp/index.d.ts.map +1 -1
  47. package/dist/cli/commands/interactive-commands/mcp/index.js +18 -3
  48. package/dist/cli/commands/interactive-commands/model/index.d.ts +8 -6
  49. package/dist/cli/commands/interactive-commands/model/index.d.ts.map +1 -1
  50. package/dist/cli/commands/interactive-commands/model/index.js +18 -6
  51. package/dist/cli/commands/interactive-commands/prompt-commands.d.ts +3 -2
  52. package/dist/cli/commands/interactive-commands/prompt-commands.d.ts.map +1 -1
  53. package/dist/cli/commands/interactive-commands/prompt-commands.js +77 -60
  54. package/dist/cli/commands/interactive-commands/session/index.d.ts +7 -12
  55. package/dist/cli/commands/interactive-commands/session/index.d.ts.map +1 -1
  56. package/dist/cli/commands/interactive-commands/session/index.js +7 -14
  57. package/dist/cli/commands/interactive-commands/session/session-commands.d.ts +10 -24
  58. package/dist/cli/commands/interactive-commands/session/session-commands.d.ts.map +1 -1
  59. package/dist/cli/commands/interactive-commands/session/session-commands.js +16 -371
  60. package/dist/cli/commands/interactive-commands/system/system-commands.d.ts +1 -0
  61. package/dist/cli/commands/interactive-commands/system/system-commands.d.ts.map +1 -1
  62. package/dist/cli/commands/interactive-commands/system/system-commands.js +106 -77
  63. package/dist/cli/commands/interactive-commands/tool-commands.d.ts +1 -1
  64. package/dist/cli/commands/interactive-commands/tool-commands.d.ts.map +1 -1
  65. package/dist/cli/commands/interactive-commands/tool-commands.js +5 -62
  66. package/dist/cli/commands/interactive-commands/utils/command-output.d.ts +13 -17
  67. package/dist/cli/commands/interactive-commands/utils/command-output.d.ts.map +1 -1
  68. package/dist/cli/commands/interactive-commands/utils/command-output.js +18 -37
  69. package/dist/cli/commands/list-agents.d.ts +2 -2
  70. package/dist/cli/commands/list-agents.d.ts.map +1 -1
  71. package/dist/cli/commands/list-agents.js +38 -34
  72. package/dist/cli/commands/session-commands.js +16 -16
  73. package/dist/cli/commands/setup.d.ts +13 -5
  74. package/dist/cli/commands/setup.d.ts.map +1 -1
  75. package/dist/cli/commands/setup.js +860 -65
  76. package/dist/cli/commands/uninstall.d.ts.map +1 -1
  77. package/dist/cli/commands/uninstall.js +4 -6
  78. package/dist/cli/commands/which.d.ts.map +1 -1
  79. package/dist/cli/commands/which.js +18 -4
  80. package/dist/cli/ink-cli/InkCLIRefactored.d.ts +9 -22
  81. package/dist/cli/ink-cli/InkCLIRefactored.d.ts.map +1 -1
  82. package/dist/cli/ink-cli/InkCLIRefactored.js +50 -133
  83. package/dist/cli/ink-cli/components/ApprovalPrompt.d.ts +26 -3
  84. package/dist/cli/ink-cli/components/ApprovalPrompt.d.ts.map +1 -1
  85. package/dist/cli/ink-cli/components/ApprovalPrompt.js +182 -45
  86. package/dist/cli/ink-cli/components/CustomInput.js +1 -1
  87. package/dist/cli/ink-cli/components/EditableMultiLineInput.js +4 -4
  88. package/dist/cli/ink-cli/components/ElicitationForm.d.ts +22 -0
  89. package/dist/cli/ink-cli/components/ElicitationForm.d.ts.map +1 -0
  90. package/dist/cli/ink-cli/components/ElicitationForm.js +358 -0
  91. package/dist/cli/ink-cli/components/ErrorBoundary.d.ts.map +1 -1
  92. package/dist/cli/ink-cli/components/ErrorBoundary.js +1 -1
  93. package/dist/cli/ink-cli/components/Footer.d.ts +16 -0
  94. package/dist/cli/ink-cli/components/Footer.d.ts.map +1 -0
  95. package/dist/cli/ink-cli/components/Footer.js +27 -0
  96. package/dist/cli/ink-cli/components/HistorySearchBar.d.ts +17 -0
  97. package/dist/cli/ink-cli/components/HistorySearchBar.d.ts.map +1 -0
  98. package/dist/cli/ink-cli/components/HistorySearchBar.js +8 -0
  99. package/dist/cli/ink-cli/components/MultiLineInput.d.ts.map +1 -1
  100. package/dist/cli/ink-cli/components/MultiLineInput.js +3 -3
  101. package/dist/cli/ink-cli/components/ResourceAutocomplete.d.ts +15 -2
  102. package/dist/cli/ink-cli/components/ResourceAutocomplete.d.ts.map +1 -1
  103. package/dist/cli/ink-cli/components/ResourceAutocomplete.js +126 -82
  104. package/dist/cli/ink-cli/components/SlashCommandAutocomplete.d.ts +15 -2
  105. package/dist/cli/ink-cli/components/SlashCommandAutocomplete.d.ts.map +1 -1
  106. package/dist/cli/ink-cli/components/SlashCommandAutocomplete.js +228 -122
  107. package/dist/cli/ink-cli/components/StatusBar.d.ts +15 -2
  108. package/dist/cli/ink-cli/components/StatusBar.d.ts.map +1 -1
  109. package/dist/cli/ink-cli/components/StatusBar.js +50 -10
  110. package/dist/cli/ink-cli/components/TextBufferInput.d.ts +52 -0
  111. package/dist/cli/ink-cli/components/TextBufferInput.d.ts.map +1 -0
  112. package/dist/cli/ink-cli/components/TextBufferInput.js +471 -0
  113. package/dist/cli/ink-cli/components/base/BaseAutocomplete.js +4 -4
  114. package/dist/cli/ink-cli/components/base/BaseSelector.d.ts +11 -1
  115. package/dist/cli/ink-cli/components/base/BaseSelector.d.ts.map +1 -1
  116. package/dist/cli/ink-cli/components/base/BaseSelector.js +90 -49
  117. package/dist/cli/ink-cli/components/chat/Footer.js +1 -1
  118. package/dist/cli/ink-cli/components/chat/Header.d.ts +1 -0
  119. package/dist/cli/ink-cli/components/chat/Header.d.ts.map +1 -1
  120. package/dist/cli/ink-cli/components/chat/Header.js +6 -3
  121. package/dist/cli/ink-cli/components/chat/MessageItem.d.ts +3 -0
  122. package/dist/cli/ink-cli/components/chat/MessageItem.d.ts.map +1 -1
  123. package/dist/cli/ink-cli/components/chat/MessageItem.js +95 -9
  124. package/dist/cli/ink-cli/components/chat/MessageList.js +1 -1
  125. package/dist/cli/ink-cli/components/chat/QueuedMessagesDisplay.d.ts +16 -0
  126. package/dist/cli/ink-cli/components/chat/QueuedMessagesDisplay.d.ts.map +1 -0
  127. package/dist/cli/ink-cli/components/chat/QueuedMessagesDisplay.js +27 -0
  128. package/dist/cli/ink-cli/components/chat/ToolIcon.d.ts +5 -3
  129. package/dist/cli/ink-cli/components/chat/ToolIcon.d.ts.map +1 -1
  130. package/dist/cli/ink-cli/components/chat/ToolIcon.js +21 -7
  131. package/dist/cli/ink-cli/components/chat/styled-boxes/ConfigBox.d.ts +10 -0
  132. package/dist/cli/ink-cli/components/chat/styled-boxes/ConfigBox.d.ts.map +1 -0
  133. package/dist/cli/ink-cli/components/chat/styled-boxes/ConfigBox.js +6 -0
  134. package/dist/cli/ink-cli/components/chat/styled-boxes/HelpBox.d.ts +10 -0
  135. package/dist/cli/ink-cli/components/chat/styled-boxes/HelpBox.d.ts.map +1 -0
  136. package/dist/cli/ink-cli/components/chat/styled-boxes/HelpBox.js +15 -0
  137. package/dist/cli/ink-cli/components/chat/styled-boxes/LogConfigBox.d.ts +10 -0
  138. package/dist/cli/ink-cli/components/chat/styled-boxes/LogConfigBox.d.ts.map +1 -0
  139. package/dist/cli/ink-cli/components/chat/styled-boxes/LogConfigBox.js +9 -0
  140. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionHistoryBox.d.ts +10 -0
  141. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionHistoryBox.d.ts.map +1 -0
  142. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionHistoryBox.js +37 -0
  143. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionListBox.d.ts +10 -0
  144. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionListBox.d.ts.map +1 -0
  145. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionListBox.js +9 -0
  146. package/dist/cli/ink-cli/components/chat/styled-boxes/ShortcutsBox.d.ts +10 -0
  147. package/dist/cli/ink-cli/components/chat/styled-boxes/ShortcutsBox.d.ts.map +1 -0
  148. package/dist/cli/ink-cli/components/chat/styled-boxes/ShortcutsBox.js +6 -0
  149. package/dist/cli/ink-cli/components/chat/styled-boxes/StatsBox.d.ts +10 -0
  150. package/dist/cli/ink-cli/components/chat/styled-boxes/StatsBox.d.ts.map +1 -0
  151. package/dist/cli/ink-cli/components/chat/styled-boxes/StatsBox.js +29 -0
  152. package/dist/cli/ink-cli/components/chat/styled-boxes/StyledBox.d.ts +45 -0
  153. package/dist/cli/ink-cli/components/chat/styled-boxes/StyledBox.d.ts.map +1 -0
  154. package/dist/cli/ink-cli/components/chat/styled-boxes/StyledBox.js +38 -0
  155. package/dist/cli/ink-cli/components/chat/styled-boxes/SyspromptBox.d.ts +10 -0
  156. package/dist/cli/ink-cli/components/chat/styled-boxes/SyspromptBox.d.ts.map +1 -0
  157. package/dist/cli/ink-cli/components/chat/styled-boxes/SyspromptBox.js +6 -0
  158. package/dist/cli/ink-cli/components/chat/styled-boxes/index.d.ts +13 -0
  159. package/dist/cli/ink-cli/components/chat/styled-boxes/index.d.ts.map +1 -0
  160. package/dist/cli/ink-cli/components/chat/styled-boxes/index.js +12 -0
  161. package/dist/cli/ink-cli/components/input/InputArea.d.ts +36 -8
  162. package/dist/cli/ink-cli/components/input/InputArea.d.ts.map +1 -1
  163. package/dist/cli/ink-cli/components/input/InputArea.js +3 -3
  164. package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.d.ts +25 -0
  165. package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.d.ts.map +1 -0
  166. package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.js +166 -0
  167. package/dist/cli/ink-cli/components/modes/StaticCLI.d.ts +27 -0
  168. package/dist/cli/ink-cli/components/modes/StaticCLI.d.ts.map +1 -0
  169. package/dist/cli/ink-cli/components/modes/StaticCLI.js +95 -0
  170. package/dist/cli/ink-cli/components/modes/index.d.ts +10 -0
  171. package/dist/cli/ink-cli/components/modes/index.d.ts.map +1 -0
  172. package/dist/cli/ink-cli/components/modes/index.js +9 -0
  173. package/dist/cli/ink-cli/components/overlays/ApiKeyInput.d.ts +26 -0
  174. package/dist/cli/ink-cli/components/overlays/ApiKeyInput.d.ts.map +1 -0
  175. package/dist/cli/ink-cli/components/overlays/ApiKeyInput.js +92 -0
  176. package/dist/cli/ink-cli/components/overlays/CustomModelWizard.d.ts +29 -0
  177. package/dist/cli/ink-cli/components/overlays/CustomModelWizard.d.ts.map +1 -0
  178. package/dist/cli/ink-cli/components/overlays/CustomModelWizard.js +286 -0
  179. package/dist/cli/ink-cli/components/overlays/LogLevelSelector.d.ts +22 -0
  180. package/dist/cli/ink-cli/components/overlays/LogLevelSelector.d.ts.map +1 -0
  181. package/dist/cli/ink-cli/components/overlays/LogLevelSelector.js +59 -0
  182. package/dist/cli/ink-cli/components/overlays/McpAddChoice.d.ts +22 -0
  183. package/dist/cli/ink-cli/components/overlays/McpAddChoice.d.ts.map +1 -0
  184. package/dist/cli/ink-cli/components/overlays/McpAddChoice.js +59 -0
  185. package/dist/cli/ink-cli/components/overlays/McpAddSelector.d.ts +26 -0
  186. package/dist/cli/ink-cli/components/overlays/McpAddSelector.d.ts.map +1 -0
  187. package/dist/cli/ink-cli/components/overlays/McpAddSelector.js +73 -0
  188. package/dist/cli/ink-cli/components/overlays/McpCustomTypeSelector.d.ts +21 -0
  189. package/dist/cli/ink-cli/components/overlays/McpCustomTypeSelector.d.ts.map +1 -0
  190. package/dist/cli/ink-cli/components/overlays/McpCustomTypeSelector.js +51 -0
  191. package/dist/cli/ink-cli/components/overlays/McpCustomWizard.d.ts +29 -0
  192. package/dist/cli/ink-cli/components/overlays/McpCustomWizard.d.ts.map +1 -0
  193. package/dist/cli/ink-cli/components/overlays/McpCustomWizard.js +215 -0
  194. package/dist/cli/ink-cli/components/overlays/McpRemoveSelector.d.ts +22 -0
  195. package/dist/cli/ink-cli/components/overlays/McpRemoveSelector.d.ts.map +1 -0
  196. package/dist/cli/ink-cli/components/overlays/McpRemoveSelector.js +74 -0
  197. package/dist/cli/ink-cli/components/overlays/McpSelector.d.ts +21 -0
  198. package/dist/cli/ink-cli/components/overlays/McpSelector.d.ts.map +1 -0
  199. package/dist/cli/ink-cli/components/overlays/McpSelector.js +52 -0
  200. package/dist/cli/ink-cli/components/overlays/McpServerActions.d.ts +28 -0
  201. package/dist/cli/ink-cli/components/overlays/McpServerActions.d.ts.map +1 -0
  202. package/dist/cli/ink-cli/components/overlays/McpServerActions.js +84 -0
  203. package/dist/cli/ink-cli/components/overlays/McpServerList.d.ts +29 -0
  204. package/dist/cli/ink-cli/components/overlays/McpServerList.d.ts.map +1 -0
  205. package/dist/cli/ink-cli/components/overlays/McpServerList.js +109 -0
  206. package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.d.ts +15 -8
  207. package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.d.ts.map +1 -1
  208. package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.js +400 -23
  209. package/dist/cli/ink-cli/components/overlays/PromptAddChoice.d.ts +22 -0
  210. package/dist/cli/ink-cli/components/overlays/PromptAddChoice.d.ts.map +1 -0
  211. package/dist/cli/ink-cli/components/overlays/PromptAddChoice.js +52 -0
  212. package/dist/cli/ink-cli/components/overlays/PromptAddWizard.d.ts +29 -0
  213. package/dist/cli/ink-cli/components/overlays/PromptAddWizard.d.ts.map +1 -0
  214. package/dist/cli/ink-cli/components/overlays/PromptAddWizard.js +166 -0
  215. package/dist/cli/ink-cli/components/overlays/PromptDeleteSelector.d.ts +27 -0
  216. package/dist/cli/ink-cli/components/overlays/PromptDeleteSelector.d.ts.map +1 -0
  217. package/dist/cli/ink-cli/components/overlays/PromptDeleteSelector.js +119 -0
  218. package/dist/cli/ink-cli/components/overlays/PromptList.d.ts +33 -0
  219. package/dist/cli/ink-cli/components/overlays/PromptList.d.ts.map +1 -0
  220. package/dist/cli/ink-cli/components/overlays/PromptList.js +144 -0
  221. package/dist/cli/ink-cli/components/overlays/SearchOverlay.d.ts +23 -0
  222. package/dist/cli/ink-cli/components/overlays/SearchOverlay.d.ts.map +1 -0
  223. package/dist/cli/ink-cli/components/overlays/SearchOverlay.js +189 -0
  224. package/dist/cli/ink-cli/components/overlays/SessionSelectorRefactored.d.ts +7 -2
  225. package/dist/cli/ink-cli/components/overlays/SessionSelectorRefactored.d.ts.map +1 -1
  226. package/dist/cli/ink-cli/components/overlays/SessionSelectorRefactored.js +19 -5
  227. package/dist/cli/ink-cli/components/overlays/SessionSubcommandSelector.d.ts +21 -0
  228. package/dist/cli/ink-cli/components/overlays/SessionSubcommandSelector.d.ts.map +1 -0
  229. package/dist/cli/ink-cli/components/overlays/SessionSubcommandSelector.js +42 -0
  230. package/dist/cli/ink-cli/components/overlays/StreamSelector.d.ts +20 -0
  231. package/dist/cli/ink-cli/components/overlays/StreamSelector.d.ts.map +1 -0
  232. package/dist/cli/ink-cli/components/overlays/StreamSelector.js +58 -0
  233. package/dist/cli/ink-cli/components/overlays/ToolBrowser.d.ts +25 -0
  234. package/dist/cli/ink-cli/components/overlays/ToolBrowser.d.ts.map +1 -0
  235. package/dist/cli/ink-cli/components/overlays/ToolBrowser.js +400 -0
  236. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/LocalModelWizard.d.ts +25 -0
  237. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/LocalModelWizard.d.ts.map +1 -0
  238. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/LocalModelWizard.js +609 -0
  239. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/index.d.ts +15 -0
  240. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/index.d.ts.map +1 -0
  241. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/index.js +14 -0
  242. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/provider-config.d.ts +33 -0
  243. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/provider-config.d.ts.map +1 -0
  244. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/provider-config.js +419 -0
  245. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ApiKeyStep.d.ts +25 -0
  246. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ApiKeyStep.d.ts.map +1 -0
  247. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ApiKeyStep.js +29 -0
  248. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ProviderSelector.d.ts +17 -0
  249. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ProviderSelector.d.ts.map +1 -0
  250. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ProviderSelector.js +11 -0
  251. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/SetupInfoBanner.d.ts +20 -0
  252. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/SetupInfoBanner.d.ts.map +1 -0
  253. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/SetupInfoBanner.js +10 -0
  254. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/WizardStepInput.d.ts +30 -0
  255. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/WizardStepInput.d.ts.map +1 -0
  256. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/WizardStepInput.js +13 -0
  257. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/index.d.ts +8 -0
  258. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/index.d.ts.map +1 -0
  259. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/index.js +7 -0
  260. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/types.d.ts +79 -0
  261. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/types.d.ts.map +1 -0
  262. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/types.js +38 -0
  263. package/dist/cli/ink-cli/components/renderers/DiffRenderer.d.ts +21 -0
  264. package/dist/cli/ink-cli/components/renderers/DiffRenderer.d.ts.map +1 -0
  265. package/dist/cli/ink-cli/components/renderers/DiffRenderer.js +65 -0
  266. package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.d.ts +28 -0
  267. package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.d.ts.map +1 -0
  268. package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.js +66 -0
  269. package/dist/cli/ink-cli/components/renderers/FileRenderer.d.ts +19 -0
  270. package/dist/cli/ink-cli/components/renderers/FileRenderer.d.ts.map +1 -0
  271. package/dist/cli/ink-cli/components/renderers/FileRenderer.js +26 -0
  272. package/dist/cli/ink-cli/components/renderers/GenericRenderer.d.ts +21 -0
  273. package/dist/cli/ink-cli/components/renderers/GenericRenderer.d.ts.map +1 -0
  274. package/dist/cli/ink-cli/components/renderers/GenericRenderer.js +26 -0
  275. package/dist/cli/ink-cli/components/renderers/SearchRenderer.d.ts +20 -0
  276. package/dist/cli/ink-cli/components/renderers/SearchRenderer.d.ts.map +1 -0
  277. package/dist/cli/ink-cli/components/renderers/SearchRenderer.js +12 -0
  278. package/dist/cli/ink-cli/components/renderers/ShellRenderer.d.ts +21 -0
  279. package/dist/cli/ink-cli/components/renderers/ShellRenderer.d.ts.map +1 -0
  280. package/dist/cli/ink-cli/components/renderers/ShellRenderer.js +25 -0
  281. package/dist/cli/ink-cli/components/renderers/diff-shared.d.ts +61 -0
  282. package/dist/cli/ink-cli/components/renderers/diff-shared.d.ts.map +1 -0
  283. package/dist/cli/ink-cli/components/renderers/diff-shared.js +158 -0
  284. package/dist/cli/ink-cli/components/renderers/index.d.ts +28 -0
  285. package/dist/cli/ink-cli/components/renderers/index.d.ts.map +1 -0
  286. package/dist/cli/ink-cli/components/renderers/index.js +36 -0
  287. package/dist/cli/ink-cli/components/shared/MarkdownText.d.ts +38 -0
  288. package/dist/cli/ink-cli/components/shared/MarkdownText.d.ts.map +1 -0
  289. package/dist/cli/ink-cli/components/shared/MarkdownText.js +362 -0
  290. package/dist/cli/ink-cli/components/shared/VirtualizedList.d.ts +44 -0
  291. package/dist/cli/ink-cli/components/shared/VirtualizedList.d.ts.map +1 -0
  292. package/dist/cli/ink-cli/components/shared/VirtualizedList.js +300 -0
  293. package/dist/cli/ink-cli/components/shared/text-buffer.d.ts +185 -0
  294. package/dist/cli/ink-cli/components/shared/text-buffer.d.ts.map +1 -0
  295. package/dist/cli/ink-cli/components/shared/text-buffer.js +1338 -0
  296. package/dist/cli/ink-cli/constants/processingPhrases.d.ts +10 -0
  297. package/dist/cli/ink-cli/constants/processingPhrases.d.ts.map +1 -0
  298. package/dist/cli/ink-cli/constants/processingPhrases.js +64 -0
  299. package/dist/cli/ink-cli/constants/tips.d.ts +15 -0
  300. package/dist/cli/ink-cli/constants/tips.d.ts.map +1 -0
  301. package/dist/cli/ink-cli/constants/tips.js +53 -0
  302. package/dist/cli/ink-cli/containers/InputContainer.d.ts +42 -8
  303. package/dist/cli/ink-cli/containers/InputContainer.d.ts.map +1 -1
  304. package/dist/cli/ink-cli/containers/InputContainer.js +513 -85
  305. package/dist/cli/ink-cli/containers/OverlayContainer.d.ts +23 -5
  306. package/dist/cli/ink-cli/containers/OverlayContainer.d.ts.map +1 -1
  307. package/dist/cli/ink-cli/containers/OverlayContainer.js +1214 -132
  308. package/dist/cli/ink-cli/containers/index.d.ts +1 -1
  309. package/dist/cli/ink-cli/containers/index.d.ts.map +1 -1
  310. package/dist/cli/ink-cli/contexts/KeypressContext.d.ts +36 -0
  311. package/dist/cli/ink-cli/contexts/KeypressContext.d.ts.map +1 -0
  312. package/dist/cli/ink-cli/contexts/KeypressContext.js +461 -0
  313. package/dist/cli/ink-cli/contexts/MouseContext.d.ts +27 -0
  314. package/dist/cli/ink-cli/contexts/MouseContext.d.ts.map +1 -0
  315. package/dist/cli/ink-cli/contexts/MouseContext.js +102 -0
  316. package/dist/cli/ink-cli/contexts/ScrollProvider.d.ts +33 -0
  317. package/dist/cli/ink-cli/contexts/ScrollProvider.d.ts.map +1 -0
  318. package/dist/cli/ink-cli/contexts/ScrollProvider.js +170 -0
  319. package/dist/cli/ink-cli/contexts/index.d.ts +7 -0
  320. package/dist/cli/ink-cli/contexts/index.d.ts.map +1 -0
  321. package/dist/cli/ink-cli/contexts/index.js +6 -0
  322. package/dist/cli/ink-cli/hooks/index.d.ts +5 -0
  323. package/dist/cli/ink-cli/hooks/index.d.ts.map +1 -1
  324. package/dist/cli/ink-cli/hooks/index.js +6 -1
  325. package/dist/cli/ink-cli/hooks/useAgentEvents.d.ts +26 -9
  326. package/dist/cli/ink-cli/hooks/useAgentEvents.d.ts.map +1 -1
  327. package/dist/cli/ink-cli/hooks/useAgentEvents.js +90 -198
  328. package/dist/cli/ink-cli/hooks/useBatchedScroll.d.ts +14 -0
  329. package/dist/cli/ink-cli/hooks/useBatchedScroll.d.ts.map +1 -0
  330. package/dist/cli/ink-cli/hooks/useBatchedScroll.js +25 -0
  331. package/dist/cli/ink-cli/hooks/useCLIState.d.ts +50 -0
  332. package/dist/cli/ink-cli/hooks/useCLIState.d.ts.map +1 -0
  333. package/dist/cli/ink-cli/hooks/useCLIState.js +190 -0
  334. package/dist/cli/ink-cli/hooks/useElapsedTime.d.ts +24 -0
  335. package/dist/cli/ink-cli/hooks/useElapsedTime.d.ts.map +1 -0
  336. package/dist/cli/ink-cli/hooks/useElapsedTime.js +69 -0
  337. package/dist/cli/ink-cli/hooks/useHistorySearch.d.ts +61 -0
  338. package/dist/cli/ink-cli/hooks/useHistorySearch.d.ts.map +1 -0
  339. package/dist/cli/ink-cli/hooks/useHistorySearch.js +210 -0
  340. package/dist/cli/ink-cli/hooks/useInputOrchestrator.d.ts +136 -0
  341. package/dist/cli/ink-cli/hooks/useInputOrchestrator.d.ts.map +1 -0
  342. package/dist/cli/ink-cli/hooks/useInputOrchestrator.js +663 -0
  343. package/dist/cli/ink-cli/hooks/useKeyboardShortcuts.d.ts.map +1 -1
  344. package/dist/cli/ink-cli/hooks/useKeyboardShortcuts.js +7 -26
  345. package/dist/cli/ink-cli/hooks/useKeypress.d.ts +18 -0
  346. package/dist/cli/ink-cli/hooks/useKeypress.d.ts.map +1 -0
  347. package/dist/cli/ink-cli/hooks/useKeypress.js +26 -0
  348. package/dist/cli/ink-cli/hooks/usePhraseCycler.d.ts +30 -0
  349. package/dist/cli/ink-cli/hooks/usePhraseCycler.d.ts.map +1 -0
  350. package/dist/cli/ink-cli/hooks/usePhraseCycler.js +68 -0
  351. package/dist/cli/ink-cli/hooks/useStreaming.d.ts +19 -0
  352. package/dist/cli/ink-cli/hooks/useStreaming.d.ts.map +1 -0
  353. package/dist/cli/ink-cli/hooks/useStreaming.js +26 -0
  354. package/dist/cli/ink-cli/hooks/useTerminalSize.d.ts +14 -0
  355. package/dist/cli/ink-cli/hooks/useTerminalSize.d.ts.map +1 -0
  356. package/dist/cli/ink-cli/hooks/useTerminalSize.js +31 -0
  357. package/dist/cli/ink-cli/hooks/useTokenCounter.d.ts +42 -0
  358. package/dist/cli/ink-cli/hooks/useTokenCounter.d.ts.map +1 -0
  359. package/dist/cli/ink-cli/hooks/useTokenCounter.js +96 -0
  360. package/dist/cli/ink-cli/services/CommandService.d.ts +32 -1
  361. package/dist/cli/ink-cli/services/CommandService.d.ts.map +1 -1
  362. package/dist/cli/ink-cli/services/CommandService.js +36 -5
  363. package/dist/cli/ink-cli/services/InputService.d.ts +1 -5
  364. package/dist/cli/ink-cli/services/InputService.d.ts.map +1 -1
  365. package/dist/cli/ink-cli/services/InputService.js +1 -8
  366. package/dist/cli/ink-cli/services/index.d.ts +2 -1
  367. package/dist/cli/ink-cli/services/index.d.ts.map +1 -1
  368. package/dist/cli/ink-cli/services/index.js +2 -1
  369. package/dist/cli/ink-cli/services/processStream.d.ts +69 -0
  370. package/dist/cli/ink-cli/services/processStream.d.ts.map +1 -0
  371. package/dist/cli/ink-cli/services/processStream.js +742 -0
  372. package/dist/cli/ink-cli/state/actions.d.ts +30 -60
  373. package/dist/cli/ink-cli/state/actions.d.ts.map +1 -1
  374. package/dist/cli/ink-cli/state/actions.js +3 -0
  375. package/dist/cli/ink-cli/state/index.d.ts +5 -3
  376. package/dist/cli/ink-cli/state/index.d.ts.map +1 -1
  377. package/dist/cli/ink-cli/state/index.js +4 -3
  378. package/dist/cli/ink-cli/state/initialState.d.ts +4 -3
  379. package/dist/cli/ink-cli/state/initialState.d.ts.map +1 -1
  380. package/dist/cli/ink-cli/state/initialState.js +20 -4
  381. package/dist/cli/ink-cli/state/reducer.d.ts +3 -0
  382. package/dist/cli/ink-cli/state/reducer.d.ts.map +1 -1
  383. package/dist/cli/ink-cli/state/reducer.js +62 -168
  384. package/dist/cli/ink-cli/state/streaming-state.d.ts +27 -0
  385. package/dist/cli/ink-cli/state/streaming-state.d.ts.map +1 -0
  386. package/dist/cli/ink-cli/state/streaming-state.js +39 -0
  387. package/dist/cli/ink-cli/state/types.d.ts +223 -6
  388. package/dist/cli/ink-cli/state/types.d.ts.map +1 -1
  389. package/dist/cli/ink-cli/utils/bracketedPaste.d.ts +22 -0
  390. package/dist/cli/ink-cli/utils/bracketedPaste.d.ts.map +1 -0
  391. package/dist/cli/ink-cli/utils/bracketedPaste.js +27 -0
  392. package/dist/cli/ink-cli/utils/clipboardUtils.d.ts +49 -0
  393. package/dist/cli/ink-cli/utils/clipboardUtils.d.ts.map +1 -0
  394. package/dist/cli/ink-cli/utils/clipboardUtils.js +356 -0
  395. package/dist/cli/ink-cli/utils/commandOverlays.d.ts +33 -0
  396. package/dist/cli/ink-cli/utils/commandOverlays.d.ts.map +1 -0
  397. package/dist/cli/ink-cli/utils/commandOverlays.js +78 -0
  398. package/dist/cli/ink-cli/utils/debugLog.d.ts +38 -0
  399. package/dist/cli/ink-cli/utils/debugLog.d.ts.map +1 -0
  400. package/dist/cli/ink-cli/utils/debugLog.js +66 -0
  401. package/dist/cli/ink-cli/utils/index.d.ts +2 -1
  402. package/dist/cli/ink-cli/utils/index.d.ts.map +1 -1
  403. package/dist/cli/ink-cli/utils/index.js +3 -1
  404. package/dist/cli/ink-cli/utils/input.d.ts +25 -0
  405. package/dist/cli/ink-cli/utils/input.d.ts.map +1 -0
  406. package/dist/cli/ink-cli/utils/input.js +56 -0
  407. package/dist/cli/ink-cli/utils/inputParsing.d.ts +0 -9
  408. package/dist/cli/ink-cli/utils/inputParsing.d.ts.map +1 -1
  409. package/dist/cli/ink-cli/utils/inputParsing.js +0 -27
  410. package/dist/cli/ink-cli/utils/messageFormatting.d.ts +59 -3
  411. package/dist/cli/ink-cli/utils/messageFormatting.d.ts.map +1 -1
  412. package/dist/cli/ink-cli/utils/messageFormatting.js +348 -20
  413. package/dist/cli/ink-cli/utils/mouse.d.ts +61 -0
  414. package/dist/cli/ink-cli/utils/mouse.d.ts.map +1 -0
  415. package/dist/cli/ink-cli/utils/mouse.js +209 -0
  416. package/dist/cli/ink-cli/utils/streamSplitter.d.ts +44 -0
  417. package/dist/cli/ink-cli/utils/streamSplitter.d.ts.map +1 -0
  418. package/dist/cli/ink-cli/utils/streamSplitter.js +154 -0
  419. package/dist/cli/ink-cli/utils/textUtils.d.ts +63 -0
  420. package/dist/cli/ink-cli/utils/textUtils.d.ts.map +1 -0
  421. package/dist/cli/ink-cli/utils/textUtils.js +248 -0
  422. package/dist/cli/ink-cli/utils/toolUtils.d.ts +9 -0
  423. package/dist/cli/ink-cli/utils/toolUtils.d.ts.map +1 -0
  424. package/dist/cli/ink-cli/utils/toolUtils.js +15 -0
  425. package/dist/cli/utils/api-key-setup.d.ts +54 -4
  426. package/dist/cli/utils/api-key-setup.d.ts.map +1 -1
  427. package/dist/cli/utils/api-key-setup.js +433 -107
  428. package/dist/cli/utils/api-key-verification.d.ts +17 -0
  429. package/dist/cli/utils/api-key-verification.d.ts.map +1 -0
  430. package/dist/cli/utils/api-key-verification.js +211 -0
  431. package/dist/cli/utils/config-validation.d.ts +22 -2
  432. package/dist/cli/utils/config-validation.d.ts.map +1 -1
  433. package/dist/cli/utils/config-validation.js +354 -25
  434. package/dist/cli/utils/local-model-setup.d.ts +46 -0
  435. package/dist/cli/utils/local-model-setup.d.ts.map +1 -0
  436. package/dist/cli/utils/local-model-setup.js +662 -0
  437. package/dist/cli/utils/options.d.ts.map +1 -1
  438. package/dist/cli/utils/options.js +1 -3
  439. package/dist/cli/utils/prompt-helpers.d.ts +47 -0
  440. package/dist/cli/utils/prompt-helpers.d.ts.map +1 -0
  441. package/dist/cli/utils/prompt-helpers.js +66 -0
  442. package/dist/cli/utils/provider-setup.d.ts +66 -8
  443. package/dist/cli/utils/provider-setup.d.ts.map +1 -1
  444. package/dist/cli/utils/provider-setup.js +324 -84
  445. package/dist/cli/utils/scaffolding-utils.d.ts +76 -0
  446. package/dist/cli/utils/scaffolding-utils.d.ts.map +1 -0
  447. package/dist/cli/utils/scaffolding-utils.js +246 -0
  448. package/dist/cli/utils/setup-utils.d.ts +16 -0
  449. package/dist/cli/utils/setup-utils.d.ts.map +1 -1
  450. package/dist/cli/utils/setup-utils.js +72 -21
  451. package/dist/cli/utils/template-engine.d.ts +65 -0
  452. package/dist/cli/utils/template-engine.d.ts.map +1 -0
  453. package/dist/cli/utils/template-engine.js +1089 -0
  454. package/dist/config/cli-overrides.d.ts +45 -2
  455. package/dist/config/cli-overrides.d.ts.map +1 -1
  456. package/dist/config/cli-overrides.js +107 -10
  457. package/dist/index.js +379 -99
  458. package/dist/utils/agent-helpers.d.ts +95 -0
  459. package/dist/utils/agent-helpers.d.ts.map +1 -0
  460. package/dist/utils/agent-helpers.js +117 -0
  461. package/dist/webui/assets/index-8j-KMkX1.js +2054 -0
  462. package/dist/webui/assets/index-c_AX24V4.css +1 -0
  463. package/dist/webui/assets/{tanstack-DgxBONJY.js → tanstack-Br79RQ-n.js} +1 -1
  464. package/dist/webui/index.html +4 -10
  465. package/dist/webui/logos/aws-color.svg +1 -0
  466. package/dist/webui/logos/dexto/dexto_logo.svg +1 -1
  467. package/dist/webui/logos/dexto/dexto_logo_light.svg +6 -6
  468. package/dist/webui/logos/glama.svg +7 -0
  469. package/dist/webui/logos/litellm.svg +7 -0
  470. package/dist/webui/logos/openrouter.svg +1 -0
  471. package/package.json +18 -15
  472. package/dist/cli/commands/interactive-commands/index.d.ts +0 -63
  473. package/dist/cli/commands/interactive-commands/index.d.ts.map +0 -1
  474. package/dist/cli/commands/interactive-commands/index.js +0 -73
  475. package/dist/cli/commands/interactive-commands/mcp/mcp-add-utils.d.ts +0 -34
  476. package/dist/cli/commands/interactive-commands/mcp/mcp-add-utils.d.ts.map +0 -1
  477. package/dist/cli/commands/interactive-commands/mcp/mcp-add-utils.js +0 -178
  478. package/dist/cli/commands/interactive-commands/mcp/mcp-commands.d.ts +0 -9
  479. package/dist/cli/commands/interactive-commands/mcp/mcp-commands.d.ts.map +0 -1
  480. package/dist/cli/commands/interactive-commands/mcp/mcp-commands.js +0 -325
  481. package/dist/cli/commands/interactive-commands/model/model-commands.d.ts +0 -21
  482. package/dist/cli/commands/interactive-commands/model/model-commands.d.ts.map +0 -1
  483. package/dist/cli/commands/interactive-commands/model/model-commands.js +0 -190
  484. package/dist/cli/ink-cli/components/MultiLineTextInput.d.ts +0 -26
  485. package/dist/cli/ink-cli/components/MultiLineTextInput.d.ts.map +0 -1
  486. package/dist/cli/ink-cli/components/MultiLineTextInput.js +0 -220
  487. package/dist/discord/bot.d.ts +0 -4
  488. package/dist/discord/bot.d.ts.map +0 -1
  489. package/dist/discord/bot.js +0 -193
  490. package/dist/telegram/bot.d.ts +0 -5
  491. package/dist/telegram/bot.d.ts.map +0 -1
  492. package/dist/telegram/bot.js +0 -251
  493. package/dist/webui/assets/index-DKq5Xng1.js +0 -687
  494. package/dist/webui/assets/index-D_0_GBu5.css +0 -1
@@ -42,34 +42,16 @@ export function useKeyboardShortcuts({ state, dispatch, agent }) {
42
42
  if (state.ui.activeOverlay !== 'none' && state.ui.activeOverlay !== 'approval') {
43
43
  return;
44
44
  }
45
- // Ctrl+C: Cancel processing or exit (with double-press safety)
45
+ // Ctrl+C: Exit only (with double-press safety)
46
+ // Use Escape to cancel processing
46
47
  if (key.ctrl && inputChar === 'c') {
47
- if (state.ui.isProcessing) {
48
- // Cancel the current operation
49
- const currentSessionId = sessionIdRef.current;
50
- if (!currentSessionId) {
51
- // No session - force exit as fallback
52
- exit();
53
- return;
54
- }
55
- void agent.cancel(currentSessionId).catch(() => { });
56
- dispatch({ type: 'CANCEL_START' });
57
- dispatch({ type: 'STREAMING_CANCEL' });
58
- // Clear exit warning if it was shown
59
- if (state.ui.exitWarningShown) {
60
- dispatch({ type: 'EXIT_WARNING_CLEAR' });
61
- }
48
+ if (state.ui.exitWarningShown) {
49
+ // Second Ctrl+C within timeout - actually exit
50
+ exit();
62
51
  }
63
52
  else {
64
- // Not processing - handle exit with double-press safety
65
- if (state.ui.exitWarningShown) {
66
- // Second Ctrl+C within timeout - actually exit
67
- exit();
68
- }
69
- else {
70
- // First Ctrl+C - show warning
71
- dispatch({ type: 'EXIT_WARNING_SHOW' });
72
- }
53
+ // First Ctrl+C - show warning
54
+ dispatch({ type: 'EXIT_WARNING_SHOW' });
73
55
  }
74
56
  return;
75
57
  }
@@ -87,7 +69,6 @@ export function useKeyboardShortcuts({ state, dispatch, agent }) {
87
69
  }
88
70
  void agent.cancel(currentSessionId).catch(() => { });
89
71
  dispatch({ type: 'CANCEL_START' });
90
- dispatch({ type: 'STREAMING_CANCEL' });
91
72
  }
92
73
  else if (state.ui.activeOverlay !== 'none') {
93
74
  dispatch({ type: 'CLOSE_OVERLAY' });
@@ -0,0 +1,18 @@
1
+ /**
2
+ * useKeypress Hook
3
+ *
4
+ * Subscribe to keyboard events from the KeypressProvider.
5
+ * This replaces Ink's useInput hook.
6
+ */
7
+ import type { KeypressHandler, Key } from '../contexts/KeypressContext.js';
8
+ export type { Key };
9
+ /**
10
+ * Hook to subscribe to keypress events.
11
+ *
12
+ * @param onKeypress - Callback for each keypress
13
+ * @param options.isActive - Whether to listen for input
14
+ */
15
+ export declare function useKeypress(onKeypress: KeypressHandler, { isActive }: {
16
+ isActive: boolean;
17
+ }): void;
18
+ //# sourceMappingURL=useKeypress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeypress.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/hooks/useKeypress.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAG3E,YAAY,EAAE,GAAG,EAAE,CAAC;AAEpB;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,QAa3F"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * useKeypress Hook
3
+ *
4
+ * Subscribe to keyboard events from the KeypressProvider.
5
+ * This replaces Ink's useInput hook.
6
+ */
7
+ import { useEffect } from 'react';
8
+ import { useKeypressContext } from '../contexts/KeypressContext.js';
9
+ /**
10
+ * Hook to subscribe to keypress events.
11
+ *
12
+ * @param onKeypress - Callback for each keypress
13
+ * @param options.isActive - Whether to listen for input
14
+ */
15
+ export function useKeypress(onKeypress, { isActive }) {
16
+ const { subscribe, unsubscribe } = useKeypressContext();
17
+ useEffect(() => {
18
+ if (!isActive) {
19
+ return;
20
+ }
21
+ subscribe(onKeypress);
22
+ return () => {
23
+ unsubscribe(onKeypress);
24
+ };
25
+ }, [isActive, onKeypress, subscribe, unsubscribe]);
26
+ }
@@ -0,0 +1,30 @@
1
+ /**
2
+ * usePhraseCycler Hook
3
+ * Cycles through processing phrases and tips at regular intervals
4
+ *
5
+ * Behavior:
6
+ * - 1/3 chance to show tip, 2/3 chance for witty phrase
7
+ * - Phrases cycle every 8 seconds while isActive is true
8
+ */
9
+ export interface PhraseCyclerOptions {
10
+ /** Whether the cycler is active (should only run during processing) */
11
+ isActive: boolean;
12
+ /** Interval in milliseconds between phrase changes (default: 8000ms = 8 seconds) */
13
+ intervalMs?: number;
14
+ /** Disable tips (only show witty phrases) */
15
+ disableTips?: boolean;
16
+ }
17
+ export interface PhraseCyclerResult {
18
+ /** Current phrase to display */
19
+ phrase: string;
20
+ /** Manually trigger a new phrase */
21
+ nextPhrase: () => void;
22
+ }
23
+ /**
24
+ * Hook that cycles through witty processing phrases and informative tips
25
+ *
26
+ * @param options - Configuration options
27
+ * @returns Current phrase and control functions
28
+ */
29
+ export declare function usePhraseCycler({ isActive, intervalMs, disableTips, }: PhraseCyclerOptions): PhraseCyclerResult;
30
+ //# sourceMappingURL=usePhraseCycler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePhraseCycler.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/hooks/usePhraseCycler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,WAAW,mBAAmB;IAChC,uEAAuE;IACvE,QAAQ,EAAE,OAAO,CAAC;IAClB,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IAC/B,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,UAAU,EAAE,MAAM,IAAI,CAAC;CAC1B;AAgBD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAC5B,QAAQ,EACR,UAAiB,EACjB,WAAmB,GACtB,EAAE,mBAAmB,GAAG,kBAAkB,CA0C1C"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * usePhraseCycler Hook
3
+ * Cycles through processing phrases and tips at regular intervals
4
+ *
5
+ * Behavior:
6
+ * - 1/3 chance to show tip, 2/3 chance for witty phrase
7
+ * - Phrases cycle every 8 seconds while isActive is true
8
+ */
9
+ import { useState, useEffect, useCallback, useRef } from 'react';
10
+ import { getRandomPhrase } from '../constants/processingPhrases.js';
11
+ import { getRandomTip } from '../constants/tips.js';
12
+ /**
13
+ * Get a random phrase or tip based on probability
14
+ * 1/3 chance tip, 2/3 chance phrase
15
+ */
16
+ function getRandomPhraseOrTip(disableTips = false) {
17
+ if (disableTips) {
18
+ return getRandomPhrase();
19
+ }
20
+ // 1/3 chance to show a tip (roughly 33%)
21
+ const showTip = Math.random() < 1 / 3;
22
+ return showTip ? getRandomTip() : getRandomPhrase();
23
+ }
24
+ /**
25
+ * Hook that cycles through witty processing phrases and informative tips
26
+ *
27
+ * @param options - Configuration options
28
+ * @returns Current phrase and control functions
29
+ */
30
+ export function usePhraseCycler({ isActive, intervalMs = 8000, disableTips = false, }) {
31
+ const [phrase, setPhrase] = useState(() => getRandomPhraseOrTip(disableTips));
32
+ const intervalRef = useRef(null);
33
+ const nextPhrase = useCallback(() => {
34
+ // Get a new phrase that's different from current
35
+ let newPhrase = getRandomPhraseOrTip(disableTips);
36
+ // Avoid showing the same phrase twice in a row
37
+ let attempts = 0;
38
+ while (newPhrase === phrase && attempts < 3) {
39
+ newPhrase = getRandomPhraseOrTip(disableTips);
40
+ attempts++;
41
+ }
42
+ setPhrase(newPhrase);
43
+ }, [phrase, disableTips]);
44
+ useEffect(() => {
45
+ if (isActive) {
46
+ // Set initial phrase when becoming active
47
+ setPhrase(getRandomPhraseOrTip(disableTips));
48
+ // Start cycling
49
+ intervalRef.current = setInterval(() => {
50
+ setPhrase(getRandomPhraseOrTip(disableTips));
51
+ }, intervalMs);
52
+ }
53
+ else {
54
+ // Clear interval when inactive
55
+ if (intervalRef.current) {
56
+ clearInterval(intervalRef.current);
57
+ intervalRef.current = null;
58
+ }
59
+ }
60
+ return () => {
61
+ if (intervalRef.current) {
62
+ clearInterval(intervalRef.current);
63
+ intervalRef.current = null;
64
+ }
65
+ };
66
+ }, [isActive, intervalMs, disableTips]);
67
+ return { phrase, nextPhrase };
68
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * React hook for streaming state
3
+ *
4
+ * Subscribes to the streaming state manager and returns current value.
5
+ * Components using this hook will re-render when streaming is toggled.
6
+ */
7
+ export interface UseStreamingResult {
8
+ /** Current streaming state */
9
+ streaming: boolean;
10
+ /** Set streaming state */
11
+ setStreaming: (enabled: boolean) => void;
12
+ /** Toggle streaming state */
13
+ toggleStreaming: () => boolean;
14
+ }
15
+ /**
16
+ * Hook to access and modify streaming state
17
+ */
18
+ export declare function useStreaming(): UseStreamingResult;
19
+ //# sourceMappingURL=useStreaming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStreaming.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/hooks/useStreaming.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,MAAM,WAAW,kBAAkB;IAC/B,8BAA8B;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,0BAA0B;IAC1B,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,6BAA6B;IAC7B,eAAe,EAAE,MAAM,OAAO,CAAC;CAClC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,kBAAkB,CAiBjD"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * React hook for streaming state
3
+ *
4
+ * Subscribes to the streaming state manager and returns current value.
5
+ * Components using this hook will re-render when streaming is toggled.
6
+ */
7
+ import { useState, useEffect } from 'react';
8
+ import { isStreamingEnabled, subscribeToStreaming, setStreamingEnabled, toggleStreaming, } from '../state/streaming-state.js';
9
+ /**
10
+ * Hook to access and modify streaming state
11
+ */
12
+ export function useStreaming() {
13
+ const [streaming, setStreamingState] = useState(isStreamingEnabled);
14
+ useEffect(() => {
15
+ // Subscribe to changes from command or other sources
16
+ const unsubscribe = subscribeToStreaming((enabled) => {
17
+ setStreamingState(enabled);
18
+ });
19
+ return unsubscribe;
20
+ }, []);
21
+ return {
22
+ streaming,
23
+ setStreaming: setStreamingEnabled,
24
+ toggleStreaming,
25
+ };
26
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * useTerminalSize Hook
3
+ *
4
+ * Listens to terminal resize events and provides current dimensions.
5
+ */
6
+ export interface TerminalSize {
7
+ columns: number;
8
+ rows: number;
9
+ }
10
+ /**
11
+ * Hook that returns current terminal size and updates on resize
12
+ */
13
+ export declare function useTerminalSize(): TerminalSize;
14
+ //# sourceMappingURL=useTerminalSize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTerminalSize.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/hooks/useTerminalSize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,CA0B9C"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * useTerminalSize Hook
3
+ *
4
+ * Listens to terminal resize events and provides current dimensions.
5
+ */
6
+ import { useState, useEffect } from 'react';
7
+ /**
8
+ * Hook that returns current terminal size and updates on resize
9
+ */
10
+ export function useTerminalSize() {
11
+ const [size, setSize] = useState({
12
+ columns: process.stdout.columns || 80,
13
+ rows: process.stdout.rows || 24,
14
+ });
15
+ useEffect(() => {
16
+ function updateSize() {
17
+ setSize({
18
+ columns: process.stdout.columns || 80,
19
+ rows: process.stdout.rows || 24,
20
+ });
21
+ }
22
+ // Listen for resize events
23
+ process.stdout.on('resize', updateSize);
24
+ // Initial update in case size changed between render and effect
25
+ updateSize();
26
+ return () => {
27
+ process.stdout.off('resize', updateSize);
28
+ };
29
+ }, []);
30
+ return size;
31
+ }
@@ -0,0 +1,42 @@
1
+ /**
2
+ * useTokenCounter Hook
3
+ * Tracks token usage during streaming with live estimates and actual counts
4
+ *
5
+ * Accumulation strategy for multi-step turns:
6
+ * - totalActualTokens: Accumulated from all llm:response events in the turn
7
+ * - currentSegmentEstimate: Estimated tokens for current streaming segment
8
+ * - Display = totalActual + currentEstimate (shows running total + live estimate)
9
+ *
10
+ * For queued messages: Tokens continue accumulating (same turn)
11
+ * Reset only when isActive transitions false→true (new turn)
12
+ */
13
+ import type { DextoAgent } from '@dexto/core';
14
+ export interface TokenCounterOptions {
15
+ /** DextoAgent instance for event bus access */
16
+ agent: DextoAgent;
17
+ /** Whether counting is active (should only run during processing) */
18
+ isActive: boolean;
19
+ }
20
+ export interface TokenCounterResult {
21
+ /** Total accumulated actual tokens from all responses in this turn */
22
+ totalActualTokens: number;
23
+ /** Estimated tokens for current streaming segment */
24
+ currentSegmentEstimate: number;
25
+ /** Combined display count (actual + current estimate) */
26
+ displayCount: number;
27
+ /** Whether the display includes an estimate component */
28
+ includesEstimate: boolean;
29
+ /** Formatted display string (e.g., "~125 tokens" or "125 tokens") */
30
+ formatted: string;
31
+ }
32
+ /**
33
+ * Hook that tracks token usage during LLM streaming
34
+ *
35
+ * Accumulates tokens across multi-step turns (text → tool → text → tool)
36
+ * and queued messages (which continue the same turn).
37
+ *
38
+ * @param options - Configuration options
39
+ * @returns Token counts (accumulated actual + current segment estimate)
40
+ */
41
+ export declare function useTokenCounter({ agent, isActive }: TokenCounterOptions): TokenCounterResult;
42
+ //# sourceMappingURL=useTokenCounter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTokenCounter.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/hooks/useTokenCounter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,mBAAmB;IAChC,+CAA+C;IAC/C,KAAK,EAAE,UAAU,CAAC;IAClB,qEAAqE;IACrE,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IAC/B,sEAAsE;IACtE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qDAAqD;IACrD,sBAAsB,EAAE,MAAM,CAAC;IAC/B,yDAAyD;IACzD,YAAY,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;CACrB;AAoBD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,mBAAmB,GAAG,kBAAkB,CAyE5F"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * useTokenCounter Hook
3
+ * Tracks token usage during streaming with live estimates and actual counts
4
+ *
5
+ * Accumulation strategy for multi-step turns:
6
+ * - totalActualTokens: Accumulated from all llm:response events in the turn
7
+ * - currentSegmentEstimate: Estimated tokens for current streaming segment
8
+ * - Display = totalActual + currentEstimate (shows running total + live estimate)
9
+ *
10
+ * For queued messages: Tokens continue accumulating (same turn)
11
+ * Reset only when isActive transitions false→true (new turn)
12
+ */
13
+ import { useState, useEffect, useRef } from 'react';
14
+ /**
15
+ * Estimate tokens from character count
16
+ * Uses ~4 characters per token as a rough approximation
17
+ * This matches common tokenizer behavior for English text
18
+ */
19
+ function estimateTokens(charCount) {
20
+ return Math.ceil(charCount / 4);
21
+ }
22
+ /**
23
+ * Format token count for display
24
+ */
25
+ function formatTokenCount(count, includesEstimate) {
26
+ if (count === 0)
27
+ return '';
28
+ const prefix = includesEstimate ? '~' : '';
29
+ return `${prefix}${count} tokens`;
30
+ }
31
+ /**
32
+ * Hook that tracks token usage during LLM streaming
33
+ *
34
+ * Accumulates tokens across multi-step turns (text → tool → text → tool)
35
+ * and queued messages (which continue the same turn).
36
+ *
37
+ * @param options - Configuration options
38
+ * @returns Token counts (accumulated actual + current segment estimate)
39
+ */
40
+ export function useTokenCounter({ agent, isActive }) {
41
+ // Accumulated actual tokens from all llm:response events in this turn
42
+ const [totalActualTokens, setTotalActualTokens] = useState(0);
43
+ // Estimated tokens for current streaming segment (resets after each response)
44
+ const [currentSegmentEstimate, setCurrentSegmentEstimate] = useState(0);
45
+ // Character count for current segment (ref to avoid re-renders on each chunk)
46
+ const currentCharCountRef = useRef(0);
47
+ useEffect(() => {
48
+ if (!isActive) {
49
+ // Reset when turn ends (isActive becomes false)
50
+ setTotalActualTokens(0);
51
+ setCurrentSegmentEstimate(0);
52
+ currentCharCountRef.current = 0;
53
+ return;
54
+ }
55
+ const bus = agent.agentEventBus;
56
+ const controller = new AbortController();
57
+ const { signal } = controller;
58
+ // Reset on new turn (isActive just became true)
59
+ // This handles the transition from inactive to active
60
+ currentCharCountRef.current = 0;
61
+ setTotalActualTokens(0);
62
+ setCurrentSegmentEstimate(0);
63
+ // Track streaming chunks - accumulate estimate for current segment
64
+ bus.on('llm:chunk', (payload) => {
65
+ if (payload.chunkType === 'text') {
66
+ currentCharCountRef.current += payload.content.length;
67
+ setCurrentSegmentEstimate(estimateTokens(currentCharCountRef.current));
68
+ }
69
+ }, { signal });
70
+ // On response: add actual to total, reset current segment estimate
71
+ bus.on('llm:response', (payload) => {
72
+ if (payload.tokenUsage?.outputTokens !== undefined) {
73
+ // Accumulate actual tokens from this response
74
+ setTotalActualTokens((prev) => prev + payload.tokenUsage.outputTokens);
75
+ }
76
+ // Reset current segment for next streaming segment
77
+ currentCharCountRef.current = 0;
78
+ setCurrentSegmentEstimate(0);
79
+ }, { signal });
80
+ // Note: No reset on llm:thinking - queued messages continue the same turn
81
+ // Reset only happens when isActive transitions (new user-initiated turn)
82
+ return () => {
83
+ controller.abort();
84
+ };
85
+ }, [agent, isActive]);
86
+ // Display = accumulated actual + current segment estimate
87
+ const displayCount = totalActualTokens + currentSegmentEstimate;
88
+ const includesEstimate = currentSegmentEstimate > 0;
89
+ return {
90
+ totalActualTokens,
91
+ currentSegmentEstimate,
92
+ displayCount,
93
+ includesEstimate,
94
+ formatted: formatTokenCount(displayCount, includesEstimate),
95
+ };
96
+ }
@@ -4,13 +4,44 @@
4
4
  */
5
5
  import type { DextoAgent } from '@dexto/core';
6
6
  import type { CommandResult } from '../../commands/interactive-commands/command-parser.js';
7
+ import type { StyledMessageType, StyledData } from '../state/types.js';
8
+ /**
9
+ * Styled output for command execution
10
+ */
11
+ export interface StyledOutput {
12
+ styledType: StyledMessageType;
13
+ styledData: StyledData;
14
+ fallbackText: string;
15
+ }
7
16
  /**
8
17
  * Result of command execution
9
18
  */
10
19
  export interface CommandExecutionResult {
11
- type: 'handled' | 'prompt' | 'output';
20
+ type: 'handled' | 'output' | 'styled' | 'sendMessage';
12
21
  output?: string;
22
+ styled?: StyledOutput;
23
+ /** Message text to send through normal streaming flow (for prompt commands) */
24
+ messageToSend?: string;
25
+ }
26
+ /**
27
+ * Check if a result is a styled output
28
+ */
29
+ export declare function isStyledOutput(result: unknown): result is StyledOutput;
30
+ /**
31
+ * Marker object for commands that want to send a message through the normal stream flow
32
+ */
33
+ export interface SendMessageMarker {
34
+ __sendMessage: true;
35
+ text: string;
13
36
  }
37
+ /**
38
+ * Create a send message marker (used by prompt commands)
39
+ */
40
+ export declare function createSendMessageMarker(text: string): SendMessageMarker;
41
+ /**
42
+ * Check if a result is a send message marker
43
+ */
44
+ export declare function isSendMessageMarker(result: unknown): result is SendMessageMarker;
14
45
  /**
15
46
  * Service for executing commands
16
47
  */
@@ -1 +1 @@
1
- {"version":3,"file":"CommandService.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/services/CommandService.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uDAAuD,CAAC;AAE3F;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,cAAc;IACvB;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa;IAIxC;;OAEG;IACG,cAAc,CAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,UAAU,EACjB,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,sBAAsB,CAAC;CAgBrC"}
1
+ {"version":3,"file":"CommandService.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/services/CommandService.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uDAAuD,CAAC;AAC3F,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,YAAY,CAQtE;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,aAAa,EAAE,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAEvE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,iBAAiB,CAShF;AAED;;GAEG;AACH,qBAAa,cAAc;IACvB;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa;IAIxC;;OAEG;IACG,cAAc,CAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,UAAU,EACjB,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,sBAAsB,CAAC;CAqBrC"}
@@ -4,6 +4,33 @@
4
4
  */
5
5
  import { parseInput } from '../utils/inputParsing.js';
6
6
  import { executeCommand } from '../../commands/interactive-commands/commands.js';
7
+ /**
8
+ * Check if a result is a styled output
9
+ */
10
+ export function isStyledOutput(result) {
11
+ return (typeof result === 'object' &&
12
+ result !== null &&
13
+ 'styledType' in result &&
14
+ 'styledData' in result &&
15
+ 'fallbackText' in result);
16
+ }
17
+ /**
18
+ * Create a send message marker (used by prompt commands)
19
+ */
20
+ export function createSendMessageMarker(text) {
21
+ return { __sendMessage: true, text };
22
+ }
23
+ /**
24
+ * Check if a result is a send message marker
25
+ */
26
+ export function isSendMessageMarker(result) {
27
+ return (typeof result === 'object' &&
28
+ result !== null &&
29
+ '__sendMessage' in result &&
30
+ result.__sendMessage === true &&
31
+ 'text' in result &&
32
+ typeof result.text === 'string');
33
+ }
7
34
  /**
8
35
  * Service for executing commands
9
36
  */
@@ -19,14 +46,18 @@ export class CommandService {
19
46
  */
20
47
  async executeCommand(command, args, agent, sessionId) {
21
48
  const result = await executeCommand(command, args, agent, sessionId);
22
- // If result is empty string, it means a prompt was executed via agent.run()
23
- if (typeof result === 'string' && result === '') {
24
- return { type: 'prompt' };
49
+ // If result is a send message marker, return the text to send through normal flow
50
+ if (isSendMessageMarker(result)) {
51
+ return { type: 'sendMessage', messageToSend: result.text };
25
52
  }
26
- // If result is a non-empty string, it's output for display
27
- if (typeof result === 'string' && result.length > 0) {
53
+ // If result is a string, it's output for display
54
+ if (typeof result === 'string') {
28
55
  return { type: 'output', output: result };
29
56
  }
57
+ // If result is a styled output object
58
+ if (isStyledOutput(result)) {
59
+ return { type: 'styled', styled: result };
60
+ }
30
61
  // If result is boolean, command was handled
31
62
  return { type: 'handled' };
32
63
  }
@@ -2,7 +2,7 @@
2
2
  * Input management service
3
3
  * Handles input detection and manipulation
4
4
  */
5
- import type { AutocompleteType, InteractiveSelectorType } from '../utils/inputParsing.js';
5
+ import type { AutocompleteType } from '../utils/inputParsing.js';
6
6
  import type { CommandResult } from '../../commands/interactive-commands/command-parser.js';
7
7
  /**
8
8
  * Service for managing input
@@ -12,10 +12,6 @@ export declare class InputService {
12
12
  * Detects what type of autocomplete should be shown
13
13
  */
14
14
  detectAutocompleteType(input: string): AutocompleteType;
15
- /**
16
- * Detects if an interactive selector should be shown
17
- */
18
- detectInteractiveSelector(input: string): InteractiveSelectorType;
19
15
  /**
20
16
  * Extracts slash command query
21
17
  */
@@ -1 +1 @@
1
- {"version":3,"file":"InputService.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/services/InputService.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uDAAuD,CAAC;AAE3F;;GAEG;AACH,qBAAa,YAAY;IACrB;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB;IAIvD;;OAEG;IACH,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,uBAAuB;IAKjE;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIxC;;OAEG;IACH,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI3C;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa;IAIxC;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAoB,GAAG,MAAM;IAuBzE;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAoB,GAAG,MAAM;IAsBxE;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAGpC"}
1
+ {"version":3,"file":"InputService.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/services/InputService.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uDAAuD,CAAC;AAE3F;;GAEG;AACH,qBAAa,YAAY;IACrB;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB;IAIvD;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIxC;;OAEG;IACH,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI3C;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa;IAIxC;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAoB,GAAG,MAAM;IAuBzE;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAoB,GAAG,MAAM;IAsBxE;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAGpC"}
@@ -2,7 +2,7 @@
2
2
  * Input management service
3
3
  * Handles input detection and manipulation
4
4
  */
5
- import { detectAutocompleteType, detectInteractiveSelector, extractSlashQuery, extractResourceQuery, parseInput, } from '../utils/inputParsing.js';
5
+ import { detectAutocompleteType, extractSlashQuery, extractResourceQuery, parseInput, } from '../utils/inputParsing.js';
6
6
  /**
7
7
  * Service for managing input
8
8
  */
@@ -13,13 +13,6 @@ export class InputService {
13
13
  detectAutocompleteType(input) {
14
14
  return detectAutocompleteType(input);
15
15
  }
16
- /**
17
- * Detects if an interactive selector should be shown
18
- */
19
- detectInteractiveSelector(input) {
20
- const parsed = parseInput(input);
21
- return detectInteractiveSelector(parsed);
22
- }
23
16
  /**
24
17
  * Extracts slash command query
25
18
  */
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Services module exports
3
3
  */
4
- export { CommandService, type CommandExecutionResult } from './CommandService.js';
4
+ export { CommandService, createSendMessageMarker, type CommandExecutionResult, type SendMessageMarker, type StyledOutput, } from './CommandService.js';
5
5
  export { MessageService } from './MessageService.js';
6
6
  export { InputService } from './InputService.js';
7
+ export { processStream, type ProcessStreamSetters, type ProcessStreamOptions, } from './processStream.js';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/services/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/services/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACH,cAAc,EACd,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,YAAY,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACH,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC5B,MAAM,oBAAoB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Services module exports
3
3
  */
4
- export { CommandService } from './CommandService.js';
4
+ export { CommandService, createSendMessageMarker, } from './CommandService.js';
5
5
  export { MessageService } from './MessageService.js';
6
6
  export { InputService } from './InputService.js';
7
+ export { processStream, } from './processStream.js';