dexto 1.3.0 → 1.4.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 (400) hide show
  1. package/README.md +25 -15
  2. package/dist/agents/agent-registry.json +9 -0
  3. package/dist/agents/coding-agent/coding-agent.yml +5 -0
  4. package/dist/agents/default-agent.yml +2 -2
  5. package/dist/api/server-hono.d.ts.map +1 -1
  6. package/dist/api/server-hono.js +39 -5
  7. package/dist/cli/cli-subscriber.d.ts.map +1 -1
  8. package/dist/cli/cli-subscriber.js +7 -1
  9. package/dist/cli/commands/helpers/formatters.d.ts.map +1 -1
  10. package/dist/cli/commands/helpers/formatters.js +2 -1
  11. package/dist/cli/commands/install.d.ts.map +1 -1
  12. package/dist/cli/commands/install.js +14 -40
  13. package/dist/cli/commands/interactive-commands/command-parser.d.ts +17 -14
  14. package/dist/cli/commands/interactive-commands/command-parser.d.ts.map +1 -1
  15. package/dist/cli/commands/interactive-commands/command-parser.js +0 -15
  16. package/dist/cli/commands/interactive-commands/commands.d.ts +4 -4
  17. package/dist/cli/commands/interactive-commands/commands.d.ts.map +1 -1
  18. package/dist/cli/commands/interactive-commands/commands.js +34 -42
  19. package/dist/cli/commands/interactive-commands/documentation-commands.d.ts.map +1 -1
  20. package/dist/cli/commands/interactive-commands/documentation-commands.js +4 -7
  21. package/dist/cli/commands/interactive-commands/general-commands.d.ts.map +1 -1
  22. package/dist/cli/commands/interactive-commands/general-commands.js +159 -117
  23. package/dist/cli/commands/interactive-commands/mcp/index.d.ts +9 -3
  24. package/dist/cli/commands/interactive-commands/mcp/index.d.ts.map +1 -1
  25. package/dist/cli/commands/interactive-commands/mcp/index.js +18 -3
  26. package/dist/cli/commands/interactive-commands/model/index.d.ts +8 -6
  27. package/dist/cli/commands/interactive-commands/model/index.d.ts.map +1 -1
  28. package/dist/cli/commands/interactive-commands/model/index.js +18 -6
  29. package/dist/cli/commands/interactive-commands/prompt-commands.d.ts +3 -2
  30. package/dist/cli/commands/interactive-commands/prompt-commands.d.ts.map +1 -1
  31. package/dist/cli/commands/interactive-commands/prompt-commands.js +69 -52
  32. package/dist/cli/commands/interactive-commands/session/index.d.ts +7 -12
  33. package/dist/cli/commands/interactive-commands/session/index.d.ts.map +1 -1
  34. package/dist/cli/commands/interactive-commands/session/index.js +7 -14
  35. package/dist/cli/commands/interactive-commands/session/session-commands.d.ts +10 -24
  36. package/dist/cli/commands/interactive-commands/session/session-commands.d.ts.map +1 -1
  37. package/dist/cli/commands/interactive-commands/session/session-commands.js +16 -371
  38. package/dist/cli/commands/interactive-commands/system/system-commands.d.ts +1 -0
  39. package/dist/cli/commands/interactive-commands/system/system-commands.d.ts.map +1 -1
  40. package/dist/cli/commands/interactive-commands/system/system-commands.js +103 -74
  41. package/dist/cli/commands/interactive-commands/tool-commands.d.ts +1 -1
  42. package/dist/cli/commands/interactive-commands/tool-commands.d.ts.map +1 -1
  43. package/dist/cli/commands/interactive-commands/tool-commands.js +5 -62
  44. package/dist/cli/commands/interactive-commands/utils/command-output.d.ts +13 -17
  45. package/dist/cli/commands/interactive-commands/utils/command-output.d.ts.map +1 -1
  46. package/dist/cli/commands/interactive-commands/utils/command-output.js +18 -37
  47. package/dist/cli/commands/list-agents.d.ts +2 -2
  48. package/dist/cli/commands/list-agents.d.ts.map +1 -1
  49. package/dist/cli/commands/list-agents.js +36 -32
  50. package/dist/cli/commands/uninstall.d.ts.map +1 -1
  51. package/dist/cli/commands/uninstall.js +4 -6
  52. package/dist/cli/commands/which.d.ts.map +1 -1
  53. package/dist/cli/commands/which.js +17 -3
  54. package/dist/cli/ink-cli/InkCLIRefactored.d.ts +9 -22
  55. package/dist/cli/ink-cli/InkCLIRefactored.d.ts.map +1 -1
  56. package/dist/cli/ink-cli/InkCLIRefactored.js +50 -133
  57. package/dist/cli/ink-cli/components/ApprovalPrompt.d.ts +24 -3
  58. package/dist/cli/ink-cli/components/ApprovalPrompt.d.ts.map +1 -1
  59. package/dist/cli/ink-cli/components/ApprovalPrompt.js +160 -45
  60. package/dist/cli/ink-cli/components/ElicitationForm.d.ts +22 -0
  61. package/dist/cli/ink-cli/components/ElicitationForm.d.ts.map +1 -0
  62. package/dist/cli/ink-cli/components/ElicitationForm.js +358 -0
  63. package/dist/cli/ink-cli/components/Footer.d.ts +16 -0
  64. package/dist/cli/ink-cli/components/Footer.d.ts.map +1 -0
  65. package/dist/cli/ink-cli/components/Footer.js +27 -0
  66. package/dist/cli/ink-cli/components/HistorySearchBar.d.ts +17 -0
  67. package/dist/cli/ink-cli/components/HistorySearchBar.d.ts.map +1 -0
  68. package/dist/cli/ink-cli/components/HistorySearchBar.js +8 -0
  69. package/dist/cli/ink-cli/components/ResourceAutocomplete.d.ts +15 -2
  70. package/dist/cli/ink-cli/components/ResourceAutocomplete.d.ts.map +1 -1
  71. package/dist/cli/ink-cli/components/ResourceAutocomplete.js +126 -82
  72. package/dist/cli/ink-cli/components/SlashCommandAutocomplete.d.ts +15 -2
  73. package/dist/cli/ink-cli/components/SlashCommandAutocomplete.d.ts.map +1 -1
  74. package/dist/cli/ink-cli/components/SlashCommandAutocomplete.js +228 -122
  75. package/dist/cli/ink-cli/components/StatusBar.d.ts +15 -2
  76. package/dist/cli/ink-cli/components/StatusBar.d.ts.map +1 -1
  77. package/dist/cli/ink-cli/components/StatusBar.js +46 -8
  78. package/dist/cli/ink-cli/components/TextBufferInput.d.ts +52 -0
  79. package/dist/cli/ink-cli/components/TextBufferInput.d.ts.map +1 -0
  80. package/dist/cli/ink-cli/components/TextBufferInput.js +471 -0
  81. package/dist/cli/ink-cli/components/base/BaseSelector.d.ts +11 -1
  82. package/dist/cli/ink-cli/components/base/BaseSelector.d.ts.map +1 -1
  83. package/dist/cli/ink-cli/components/base/BaseSelector.js +90 -49
  84. package/dist/cli/ink-cli/components/chat/Header.d.ts +1 -0
  85. package/dist/cli/ink-cli/components/chat/Header.d.ts.map +1 -1
  86. package/dist/cli/ink-cli/components/chat/Header.js +7 -2
  87. package/dist/cli/ink-cli/components/chat/MessageItem.d.ts +3 -0
  88. package/dist/cli/ink-cli/components/chat/MessageItem.d.ts.map +1 -1
  89. package/dist/cli/ink-cli/components/chat/MessageItem.js +95 -9
  90. package/dist/cli/ink-cli/components/chat/MessageList.js +1 -1
  91. package/dist/cli/ink-cli/components/chat/QueuedMessagesDisplay.d.ts +16 -0
  92. package/dist/cli/ink-cli/components/chat/QueuedMessagesDisplay.d.ts.map +1 -0
  93. package/dist/cli/ink-cli/components/chat/QueuedMessagesDisplay.js +27 -0
  94. package/dist/cli/ink-cli/components/chat/ToolIcon.d.ts +4 -2
  95. package/dist/cli/ink-cli/components/chat/ToolIcon.d.ts.map +1 -1
  96. package/dist/cli/ink-cli/components/chat/ToolIcon.js +19 -5
  97. package/dist/cli/ink-cli/components/chat/styled-boxes/ConfigBox.d.ts +10 -0
  98. package/dist/cli/ink-cli/components/chat/styled-boxes/ConfigBox.d.ts.map +1 -0
  99. package/dist/cli/ink-cli/components/chat/styled-boxes/ConfigBox.js +6 -0
  100. package/dist/cli/ink-cli/components/chat/styled-boxes/HelpBox.d.ts +10 -0
  101. package/dist/cli/ink-cli/components/chat/styled-boxes/HelpBox.d.ts.map +1 -0
  102. package/dist/cli/ink-cli/components/chat/styled-boxes/HelpBox.js +15 -0
  103. package/dist/cli/ink-cli/components/chat/styled-boxes/LogConfigBox.d.ts +10 -0
  104. package/dist/cli/ink-cli/components/chat/styled-boxes/LogConfigBox.d.ts.map +1 -0
  105. package/dist/cli/ink-cli/components/chat/styled-boxes/LogConfigBox.js +9 -0
  106. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionHistoryBox.d.ts +10 -0
  107. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionHistoryBox.d.ts.map +1 -0
  108. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionHistoryBox.js +37 -0
  109. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionListBox.d.ts +10 -0
  110. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionListBox.d.ts.map +1 -0
  111. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionListBox.js +9 -0
  112. package/dist/cli/ink-cli/components/chat/styled-boxes/ShortcutsBox.d.ts +10 -0
  113. package/dist/cli/ink-cli/components/chat/styled-boxes/ShortcutsBox.d.ts.map +1 -0
  114. package/dist/cli/ink-cli/components/chat/styled-boxes/ShortcutsBox.js +6 -0
  115. package/dist/cli/ink-cli/components/chat/styled-boxes/StatsBox.d.ts +10 -0
  116. package/dist/cli/ink-cli/components/chat/styled-boxes/StatsBox.d.ts.map +1 -0
  117. package/dist/cli/ink-cli/components/chat/styled-boxes/StatsBox.js +29 -0
  118. package/dist/cli/ink-cli/components/chat/styled-boxes/StyledBox.d.ts +45 -0
  119. package/dist/cli/ink-cli/components/chat/styled-boxes/StyledBox.d.ts.map +1 -0
  120. package/dist/cli/ink-cli/components/chat/styled-boxes/StyledBox.js +38 -0
  121. package/dist/cli/ink-cli/components/chat/styled-boxes/SyspromptBox.d.ts +10 -0
  122. package/dist/cli/ink-cli/components/chat/styled-boxes/SyspromptBox.d.ts.map +1 -0
  123. package/dist/cli/ink-cli/components/chat/styled-boxes/SyspromptBox.js +6 -0
  124. package/dist/cli/ink-cli/components/chat/styled-boxes/index.d.ts +13 -0
  125. package/dist/cli/ink-cli/components/chat/styled-boxes/index.d.ts.map +1 -0
  126. package/dist/cli/ink-cli/components/chat/styled-boxes/index.js +12 -0
  127. package/dist/cli/ink-cli/components/input/InputArea.d.ts +36 -8
  128. package/dist/cli/ink-cli/components/input/InputArea.d.ts.map +1 -1
  129. package/dist/cli/ink-cli/components/input/InputArea.js +3 -3
  130. package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.d.ts +25 -0
  131. package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.d.ts.map +1 -0
  132. package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.js +166 -0
  133. package/dist/cli/ink-cli/components/modes/StaticCLI.d.ts +27 -0
  134. package/dist/cli/ink-cli/components/modes/StaticCLI.d.ts.map +1 -0
  135. package/dist/cli/ink-cli/components/modes/StaticCLI.js +95 -0
  136. package/dist/cli/ink-cli/components/modes/index.d.ts +10 -0
  137. package/dist/cli/ink-cli/components/modes/index.d.ts.map +1 -0
  138. package/dist/cli/ink-cli/components/modes/index.js +9 -0
  139. package/dist/cli/ink-cli/components/overlays/ApiKeyInput.d.ts +26 -0
  140. package/dist/cli/ink-cli/components/overlays/ApiKeyInput.d.ts.map +1 -0
  141. package/dist/cli/ink-cli/components/overlays/ApiKeyInput.js +92 -0
  142. package/dist/cli/ink-cli/components/overlays/CustomModelWizard.d.ts +21 -0
  143. package/dist/cli/ink-cli/components/overlays/CustomModelWizard.d.ts.map +1 -0
  144. package/dist/cli/ink-cli/components/overlays/CustomModelWizard.js +177 -0
  145. package/dist/cli/ink-cli/components/overlays/LogLevelSelector.d.ts +22 -0
  146. package/dist/cli/ink-cli/components/overlays/LogLevelSelector.d.ts.map +1 -0
  147. package/dist/cli/ink-cli/components/overlays/LogLevelSelector.js +59 -0
  148. package/dist/cli/ink-cli/components/overlays/McpAddChoice.d.ts +22 -0
  149. package/dist/cli/ink-cli/components/overlays/McpAddChoice.d.ts.map +1 -0
  150. package/dist/cli/ink-cli/components/overlays/McpAddChoice.js +59 -0
  151. package/dist/cli/ink-cli/components/overlays/McpAddSelector.d.ts +26 -0
  152. package/dist/cli/ink-cli/components/overlays/McpAddSelector.d.ts.map +1 -0
  153. package/dist/cli/ink-cli/components/overlays/McpAddSelector.js +73 -0
  154. package/dist/cli/ink-cli/components/overlays/McpCustomTypeSelector.d.ts +21 -0
  155. package/dist/cli/ink-cli/components/overlays/McpCustomTypeSelector.d.ts.map +1 -0
  156. package/dist/cli/ink-cli/components/overlays/McpCustomTypeSelector.js +51 -0
  157. package/dist/cli/ink-cli/components/overlays/McpCustomWizard.d.ts +29 -0
  158. package/dist/cli/ink-cli/components/overlays/McpCustomWizard.d.ts.map +1 -0
  159. package/dist/cli/ink-cli/components/overlays/McpCustomWizard.js +215 -0
  160. package/dist/cli/ink-cli/components/overlays/McpRemoveSelector.d.ts +22 -0
  161. package/dist/cli/ink-cli/components/overlays/McpRemoveSelector.d.ts.map +1 -0
  162. package/dist/cli/ink-cli/components/overlays/McpRemoveSelector.js +74 -0
  163. package/dist/cli/ink-cli/components/overlays/McpSelector.d.ts +21 -0
  164. package/dist/cli/ink-cli/components/overlays/McpSelector.d.ts.map +1 -0
  165. package/dist/cli/ink-cli/components/overlays/McpSelector.js +52 -0
  166. package/dist/cli/ink-cli/components/overlays/McpServerActions.d.ts +28 -0
  167. package/dist/cli/ink-cli/components/overlays/McpServerActions.d.ts.map +1 -0
  168. package/dist/cli/ink-cli/components/overlays/McpServerActions.js +84 -0
  169. package/dist/cli/ink-cli/components/overlays/McpServerList.d.ts +29 -0
  170. package/dist/cli/ink-cli/components/overlays/McpServerList.d.ts.map +1 -0
  171. package/dist/cli/ink-cli/components/overlays/McpServerList.js +109 -0
  172. package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.d.ts +15 -8
  173. package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.d.ts.map +1 -1
  174. package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.js +247 -24
  175. package/dist/cli/ink-cli/components/overlays/PromptAddChoice.d.ts +22 -0
  176. package/dist/cli/ink-cli/components/overlays/PromptAddChoice.d.ts.map +1 -0
  177. package/dist/cli/ink-cli/components/overlays/PromptAddChoice.js +52 -0
  178. package/dist/cli/ink-cli/components/overlays/PromptAddWizard.d.ts +29 -0
  179. package/dist/cli/ink-cli/components/overlays/PromptAddWizard.d.ts.map +1 -0
  180. package/dist/cli/ink-cli/components/overlays/PromptAddWizard.js +166 -0
  181. package/dist/cli/ink-cli/components/overlays/PromptDeleteSelector.d.ts +27 -0
  182. package/dist/cli/ink-cli/components/overlays/PromptDeleteSelector.d.ts.map +1 -0
  183. package/dist/cli/ink-cli/components/overlays/PromptDeleteSelector.js +119 -0
  184. package/dist/cli/ink-cli/components/overlays/PromptList.d.ts +33 -0
  185. package/dist/cli/ink-cli/components/overlays/PromptList.d.ts.map +1 -0
  186. package/dist/cli/ink-cli/components/overlays/PromptList.js +144 -0
  187. package/dist/cli/ink-cli/components/overlays/SearchOverlay.d.ts +23 -0
  188. package/dist/cli/ink-cli/components/overlays/SearchOverlay.d.ts.map +1 -0
  189. package/dist/cli/ink-cli/components/overlays/SearchOverlay.js +189 -0
  190. package/dist/cli/ink-cli/components/overlays/SessionSelectorRefactored.d.ts +7 -2
  191. package/dist/cli/ink-cli/components/overlays/SessionSelectorRefactored.d.ts.map +1 -1
  192. package/dist/cli/ink-cli/components/overlays/SessionSelectorRefactored.js +19 -5
  193. package/dist/cli/ink-cli/components/overlays/SessionSubcommandSelector.d.ts +21 -0
  194. package/dist/cli/ink-cli/components/overlays/SessionSubcommandSelector.d.ts.map +1 -0
  195. package/dist/cli/ink-cli/components/overlays/SessionSubcommandSelector.js +42 -0
  196. package/dist/cli/ink-cli/components/overlays/StreamSelector.d.ts +20 -0
  197. package/dist/cli/ink-cli/components/overlays/StreamSelector.d.ts.map +1 -0
  198. package/dist/cli/ink-cli/components/overlays/StreamSelector.js +58 -0
  199. package/dist/cli/ink-cli/components/overlays/ToolBrowser.d.ts +25 -0
  200. package/dist/cli/ink-cli/components/overlays/ToolBrowser.d.ts.map +1 -0
  201. package/dist/cli/ink-cli/components/overlays/ToolBrowser.js +400 -0
  202. package/dist/cli/ink-cli/components/renderers/DiffRenderer.d.ts +21 -0
  203. package/dist/cli/ink-cli/components/renderers/DiffRenderer.d.ts.map +1 -0
  204. package/dist/cli/ink-cli/components/renderers/DiffRenderer.js +65 -0
  205. package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.d.ts +28 -0
  206. package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.d.ts.map +1 -0
  207. package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.js +66 -0
  208. package/dist/cli/ink-cli/components/renderers/FileRenderer.d.ts +19 -0
  209. package/dist/cli/ink-cli/components/renderers/FileRenderer.d.ts.map +1 -0
  210. package/dist/cli/ink-cli/components/renderers/FileRenderer.js +26 -0
  211. package/dist/cli/ink-cli/components/renderers/GenericRenderer.d.ts +21 -0
  212. package/dist/cli/ink-cli/components/renderers/GenericRenderer.d.ts.map +1 -0
  213. package/dist/cli/ink-cli/components/renderers/GenericRenderer.js +26 -0
  214. package/dist/cli/ink-cli/components/renderers/SearchRenderer.d.ts +20 -0
  215. package/dist/cli/ink-cli/components/renderers/SearchRenderer.d.ts.map +1 -0
  216. package/dist/cli/ink-cli/components/renderers/SearchRenderer.js +12 -0
  217. package/dist/cli/ink-cli/components/renderers/ShellRenderer.d.ts +21 -0
  218. package/dist/cli/ink-cli/components/renderers/ShellRenderer.d.ts.map +1 -0
  219. package/dist/cli/ink-cli/components/renderers/ShellRenderer.js +25 -0
  220. package/dist/cli/ink-cli/components/renderers/diff-shared.d.ts +61 -0
  221. package/dist/cli/ink-cli/components/renderers/diff-shared.d.ts.map +1 -0
  222. package/dist/cli/ink-cli/components/renderers/diff-shared.js +158 -0
  223. package/dist/cli/ink-cli/components/renderers/index.d.ts +28 -0
  224. package/dist/cli/ink-cli/components/renderers/index.d.ts.map +1 -0
  225. package/dist/cli/ink-cli/components/renderers/index.js +36 -0
  226. package/dist/cli/ink-cli/components/shared/MarkdownText.d.ts +38 -0
  227. package/dist/cli/ink-cli/components/shared/MarkdownText.d.ts.map +1 -0
  228. package/dist/cli/ink-cli/components/shared/MarkdownText.js +360 -0
  229. package/dist/cli/ink-cli/components/shared/VirtualizedList.d.ts +44 -0
  230. package/dist/cli/ink-cli/components/shared/VirtualizedList.d.ts.map +1 -0
  231. package/dist/cli/ink-cli/components/shared/VirtualizedList.js +300 -0
  232. package/dist/cli/ink-cli/components/shared/text-buffer.d.ts +185 -0
  233. package/dist/cli/ink-cli/components/shared/text-buffer.d.ts.map +1 -0
  234. package/dist/cli/ink-cli/components/shared/text-buffer.js +1338 -0
  235. package/dist/cli/ink-cli/constants/processingPhrases.d.ts +10 -0
  236. package/dist/cli/ink-cli/constants/processingPhrases.d.ts.map +1 -0
  237. package/dist/cli/ink-cli/constants/processingPhrases.js +64 -0
  238. package/dist/cli/ink-cli/constants/tips.d.ts +15 -0
  239. package/dist/cli/ink-cli/constants/tips.d.ts.map +1 -0
  240. package/dist/cli/ink-cli/constants/tips.js +53 -0
  241. package/dist/cli/ink-cli/containers/InputContainer.d.ts +42 -8
  242. package/dist/cli/ink-cli/containers/InputContainer.d.ts.map +1 -1
  243. package/dist/cli/ink-cli/containers/InputContainer.js +491 -85
  244. package/dist/cli/ink-cli/containers/OverlayContainer.d.ts +23 -5
  245. package/dist/cli/ink-cli/containers/OverlayContainer.d.ts.map +1 -1
  246. package/dist/cli/ink-cli/containers/OverlayContainer.js +1156 -130
  247. package/dist/cli/ink-cli/containers/index.d.ts +1 -1
  248. package/dist/cli/ink-cli/containers/index.d.ts.map +1 -1
  249. package/dist/cli/ink-cli/contexts/KeypressContext.d.ts +36 -0
  250. package/dist/cli/ink-cli/contexts/KeypressContext.d.ts.map +1 -0
  251. package/dist/cli/ink-cli/contexts/KeypressContext.js +461 -0
  252. package/dist/cli/ink-cli/contexts/MouseContext.d.ts +27 -0
  253. package/dist/cli/ink-cli/contexts/MouseContext.d.ts.map +1 -0
  254. package/dist/cli/ink-cli/contexts/MouseContext.js +102 -0
  255. package/dist/cli/ink-cli/contexts/ScrollProvider.d.ts +33 -0
  256. package/dist/cli/ink-cli/contexts/ScrollProvider.d.ts.map +1 -0
  257. package/dist/cli/ink-cli/contexts/ScrollProvider.js +170 -0
  258. package/dist/cli/ink-cli/contexts/index.d.ts +7 -0
  259. package/dist/cli/ink-cli/contexts/index.d.ts.map +1 -0
  260. package/dist/cli/ink-cli/contexts/index.js +6 -0
  261. package/dist/cli/ink-cli/hooks/index.d.ts +5 -0
  262. package/dist/cli/ink-cli/hooks/index.d.ts.map +1 -1
  263. package/dist/cli/ink-cli/hooks/index.js +6 -1
  264. package/dist/cli/ink-cli/hooks/useAgentEvents.d.ts +26 -9
  265. package/dist/cli/ink-cli/hooks/useAgentEvents.d.ts.map +1 -1
  266. package/dist/cli/ink-cli/hooks/useAgentEvents.js +86 -198
  267. package/dist/cli/ink-cli/hooks/useBatchedScroll.d.ts +14 -0
  268. package/dist/cli/ink-cli/hooks/useBatchedScroll.d.ts.map +1 -0
  269. package/dist/cli/ink-cli/hooks/useBatchedScroll.js +25 -0
  270. package/dist/cli/ink-cli/hooks/useCLIState.d.ts +50 -0
  271. package/dist/cli/ink-cli/hooks/useCLIState.d.ts.map +1 -0
  272. package/dist/cli/ink-cli/hooks/useCLIState.js +188 -0
  273. package/dist/cli/ink-cli/hooks/useElapsedTime.d.ts +24 -0
  274. package/dist/cli/ink-cli/hooks/useElapsedTime.d.ts.map +1 -0
  275. package/dist/cli/ink-cli/hooks/useElapsedTime.js +69 -0
  276. package/dist/cli/ink-cli/hooks/useHistorySearch.d.ts +61 -0
  277. package/dist/cli/ink-cli/hooks/useHistorySearch.d.ts.map +1 -0
  278. package/dist/cli/ink-cli/hooks/useHistorySearch.js +210 -0
  279. package/dist/cli/ink-cli/hooks/useInputOrchestrator.d.ts +136 -0
  280. package/dist/cli/ink-cli/hooks/useInputOrchestrator.d.ts.map +1 -0
  281. package/dist/cli/ink-cli/hooks/useInputOrchestrator.js +663 -0
  282. package/dist/cli/ink-cli/hooks/useKeyboardShortcuts.d.ts.map +1 -1
  283. package/dist/cli/ink-cli/hooks/useKeyboardShortcuts.js +7 -26
  284. package/dist/cli/ink-cli/hooks/useKeypress.d.ts +18 -0
  285. package/dist/cli/ink-cli/hooks/useKeypress.d.ts.map +1 -0
  286. package/dist/cli/ink-cli/hooks/useKeypress.js +26 -0
  287. package/dist/cli/ink-cli/hooks/usePhraseCycler.d.ts +30 -0
  288. package/dist/cli/ink-cli/hooks/usePhraseCycler.d.ts.map +1 -0
  289. package/dist/cli/ink-cli/hooks/usePhraseCycler.js +68 -0
  290. package/dist/cli/ink-cli/hooks/useStreaming.d.ts +19 -0
  291. package/dist/cli/ink-cli/hooks/useStreaming.d.ts.map +1 -0
  292. package/dist/cli/ink-cli/hooks/useStreaming.js +26 -0
  293. package/dist/cli/ink-cli/hooks/useTerminalSize.d.ts +14 -0
  294. package/dist/cli/ink-cli/hooks/useTerminalSize.d.ts.map +1 -0
  295. package/dist/cli/ink-cli/hooks/useTerminalSize.js +31 -0
  296. package/dist/cli/ink-cli/hooks/useTokenCounter.d.ts +42 -0
  297. package/dist/cli/ink-cli/hooks/useTokenCounter.d.ts.map +1 -0
  298. package/dist/cli/ink-cli/hooks/useTokenCounter.js +96 -0
  299. package/dist/cli/ink-cli/services/CommandService.d.ts +32 -1
  300. package/dist/cli/ink-cli/services/CommandService.d.ts.map +1 -1
  301. package/dist/cli/ink-cli/services/CommandService.js +36 -5
  302. package/dist/cli/ink-cli/services/InputService.d.ts +1 -5
  303. package/dist/cli/ink-cli/services/InputService.d.ts.map +1 -1
  304. package/dist/cli/ink-cli/services/InputService.js +1 -8
  305. package/dist/cli/ink-cli/services/index.d.ts +2 -1
  306. package/dist/cli/ink-cli/services/index.d.ts.map +1 -1
  307. package/dist/cli/ink-cli/services/index.js +2 -1
  308. package/dist/cli/ink-cli/services/processStream.d.ts +69 -0
  309. package/dist/cli/ink-cli/services/processStream.d.ts.map +1 -0
  310. package/dist/cli/ink-cli/services/processStream.js +674 -0
  311. package/dist/cli/ink-cli/state/actions.d.ts +30 -60
  312. package/dist/cli/ink-cli/state/actions.d.ts.map +1 -1
  313. package/dist/cli/ink-cli/state/actions.js +3 -0
  314. package/dist/cli/ink-cli/state/index.d.ts +5 -3
  315. package/dist/cli/ink-cli/state/index.d.ts.map +1 -1
  316. package/dist/cli/ink-cli/state/index.js +4 -3
  317. package/dist/cli/ink-cli/state/initialState.d.ts +4 -3
  318. package/dist/cli/ink-cli/state/initialState.d.ts.map +1 -1
  319. package/dist/cli/ink-cli/state/initialState.js +20 -4
  320. package/dist/cli/ink-cli/state/reducer.d.ts +3 -0
  321. package/dist/cli/ink-cli/state/reducer.d.ts.map +1 -1
  322. package/dist/cli/ink-cli/state/reducer.js +62 -168
  323. package/dist/cli/ink-cli/state/streaming-state.d.ts +27 -0
  324. package/dist/cli/ink-cli/state/streaming-state.d.ts.map +1 -0
  325. package/dist/cli/ink-cli/state/streaming-state.js +39 -0
  326. package/dist/cli/ink-cli/state/types.d.ts +222 -6
  327. package/dist/cli/ink-cli/state/types.d.ts.map +1 -1
  328. package/dist/cli/ink-cli/utils/bracketedPaste.d.ts +22 -0
  329. package/dist/cli/ink-cli/utils/bracketedPaste.d.ts.map +1 -0
  330. package/dist/cli/ink-cli/utils/bracketedPaste.js +27 -0
  331. package/dist/cli/ink-cli/utils/clipboardUtils.d.ts +49 -0
  332. package/dist/cli/ink-cli/utils/clipboardUtils.d.ts.map +1 -0
  333. package/dist/cli/ink-cli/utils/clipboardUtils.js +356 -0
  334. package/dist/cli/ink-cli/utils/commandOverlays.d.ts +33 -0
  335. package/dist/cli/ink-cli/utils/commandOverlays.d.ts.map +1 -0
  336. package/dist/cli/ink-cli/utils/commandOverlays.js +78 -0
  337. package/dist/cli/ink-cli/utils/debugLog.d.ts +38 -0
  338. package/dist/cli/ink-cli/utils/debugLog.d.ts.map +1 -0
  339. package/dist/cli/ink-cli/utils/debugLog.js +66 -0
  340. package/dist/cli/ink-cli/utils/index.d.ts +2 -1
  341. package/dist/cli/ink-cli/utils/index.d.ts.map +1 -1
  342. package/dist/cli/ink-cli/utils/index.js +3 -1
  343. package/dist/cli/ink-cli/utils/input.d.ts +25 -0
  344. package/dist/cli/ink-cli/utils/input.d.ts.map +1 -0
  345. package/dist/cli/ink-cli/utils/input.js +56 -0
  346. package/dist/cli/ink-cli/utils/inputParsing.d.ts +0 -9
  347. package/dist/cli/ink-cli/utils/inputParsing.d.ts.map +1 -1
  348. package/dist/cli/ink-cli/utils/inputParsing.js +0 -27
  349. package/dist/cli/ink-cli/utils/messageFormatting.d.ts +54 -3
  350. package/dist/cli/ink-cli/utils/messageFormatting.d.ts.map +1 -1
  351. package/dist/cli/ink-cli/utils/messageFormatting.js +290 -20
  352. package/dist/cli/ink-cli/utils/mouse.d.ts +61 -0
  353. package/dist/cli/ink-cli/utils/mouse.d.ts.map +1 -0
  354. package/dist/cli/ink-cli/utils/mouse.js +209 -0
  355. package/dist/cli/ink-cli/utils/streamSplitter.d.ts +44 -0
  356. package/dist/cli/ink-cli/utils/streamSplitter.d.ts.map +1 -0
  357. package/dist/cli/ink-cli/utils/streamSplitter.js +154 -0
  358. package/dist/cli/ink-cli/utils/textUtils.d.ts +63 -0
  359. package/dist/cli/ink-cli/utils/textUtils.d.ts.map +1 -0
  360. package/dist/cli/ink-cli/utils/textUtils.js +248 -0
  361. package/dist/cli/ink-cli/utils/toolUtils.d.ts +9 -0
  362. package/dist/cli/ink-cli/utils/toolUtils.d.ts.map +1 -0
  363. package/dist/cli/ink-cli/utils/toolUtils.js +13 -0
  364. package/dist/cli/utils/options.d.ts.map +1 -1
  365. package/dist/cli/utils/options.js +0 -2
  366. package/dist/config/cli-overrides.d.ts +1 -1
  367. package/dist/config/cli-overrides.d.ts.map +1 -1
  368. package/dist/config/cli-overrides.js +5 -10
  369. package/dist/index.js +66 -48
  370. package/dist/utils/agent-helpers.d.ts +95 -0
  371. package/dist/utils/agent-helpers.d.ts.map +1 -0
  372. package/dist/utils/agent-helpers.js +117 -0
  373. package/dist/webui/assets/index-BkwPkZpd.css +1 -0
  374. package/dist/webui/assets/index-D9u1XfyH.js +2025 -0
  375. package/dist/webui/assets/{tanstack-DgxBONJY.js → tanstack-Br79RQ-n.js} +1 -1
  376. package/dist/webui/index.html +3 -3
  377. package/package.json +16 -14
  378. package/dist/cli/commands/interactive-commands/index.d.ts +0 -63
  379. package/dist/cli/commands/interactive-commands/index.d.ts.map +0 -1
  380. package/dist/cli/commands/interactive-commands/index.js +0 -73
  381. package/dist/cli/commands/interactive-commands/mcp/mcp-add-utils.d.ts +0 -34
  382. package/dist/cli/commands/interactive-commands/mcp/mcp-add-utils.d.ts.map +0 -1
  383. package/dist/cli/commands/interactive-commands/mcp/mcp-add-utils.js +0 -178
  384. package/dist/cli/commands/interactive-commands/mcp/mcp-commands.d.ts +0 -9
  385. package/dist/cli/commands/interactive-commands/mcp/mcp-commands.d.ts.map +0 -1
  386. package/dist/cli/commands/interactive-commands/mcp/mcp-commands.js +0 -325
  387. package/dist/cli/commands/interactive-commands/model/model-commands.d.ts +0 -21
  388. package/dist/cli/commands/interactive-commands/model/model-commands.d.ts.map +0 -1
  389. package/dist/cli/commands/interactive-commands/model/model-commands.js +0 -190
  390. package/dist/cli/ink-cli/components/MultiLineTextInput.d.ts +0 -26
  391. package/dist/cli/ink-cli/components/MultiLineTextInput.d.ts.map +0 -1
  392. package/dist/cli/ink-cli/components/MultiLineTextInput.js +0 -220
  393. package/dist/discord/bot.d.ts +0 -4
  394. package/dist/discord/bot.d.ts.map +0 -1
  395. package/dist/discord/bot.js +0 -193
  396. package/dist/telegram/bot.d.ts +0 -5
  397. package/dist/telegram/bot.d.ts.map +0 -1
  398. package/dist/telegram/bot.js +0 -251
  399. package/dist/webui/assets/index-DKq5Xng1.js +0 -687
  400. package/dist/webui/assets/index-D_0_GBu5.css +0 -1
@@ -1,178 +0,0 @@
1
- import { resolveAndValidateMcpServerConfig, } from '@dexto/core';
2
- import { parseOptions } from '../utils/arg-parser.js';
3
- import chalk from 'chalk';
4
- /**
5
- * Parse stdio server arguments
6
- */
7
- export function parseStdioArgs(args) {
8
- const errors = [];
9
- if (args.length < 2) {
10
- errors.push('Usage: /mcp add stdio <name> <command> [args...] [options]');
11
- return { serverName: '', config: {}, errors };
12
- }
13
- const { parsedArgs, options } = parseOptions(args);
14
- const [serverName, command, ...commandArgs] = parsedArgs;
15
- if (!serverName) {
16
- errors.push('Server name is required');
17
- }
18
- if (!command) {
19
- errors.push('Command is required for stdio servers');
20
- }
21
- const config = {
22
- type: 'stdio',
23
- command: command || '',
24
- args: commandArgs,
25
- env: {},
26
- timeout: parseInt(options.timeout || '30000', 10),
27
- connectionMode: options.mode === 'strict' || options.mode === 'lenient' ? options.mode : 'lenient',
28
- };
29
- // Parse env options
30
- Object.keys(options).forEach((key) => {
31
- if (key.startsWith('env-')) {
32
- const envKey = key.slice(4);
33
- if (!config.env)
34
- config.env = {};
35
- config.env[envKey] = options[key];
36
- }
37
- });
38
- return { serverName: serverName || '', config, errors };
39
- }
40
- /**
41
- * Parse HTTP server arguments
42
- */
43
- export function parseHttpArgs(args) {
44
- const errors = [];
45
- if (args.length < 2) {
46
- errors.push('Usage: /mcp add http <name> <url> [options]');
47
- return { serverName: '', config: {}, errors };
48
- }
49
- const { parsedArgs, options } = parseOptions(args);
50
- const [serverName, url] = parsedArgs;
51
- if (!serverName) {
52
- errors.push('Server name is required');
53
- }
54
- if (!url) {
55
- errors.push('URL is required for HTTP servers');
56
- }
57
- // Validate URL format
58
- if (url) {
59
- try {
60
- new URL(url);
61
- }
62
- catch {
63
- errors.push(`Invalid URL format: ${url}`);
64
- }
65
- }
66
- const headers = {};
67
- Object.keys(options).forEach((key) => {
68
- if (key.startsWith('header-')) {
69
- const headerKey = key.slice(7);
70
- headers[headerKey] = options[key];
71
- }
72
- });
73
- const config = {
74
- type: 'http',
75
- url: url || '',
76
- headers,
77
- timeout: parseInt(options.timeout || '30000', 10),
78
- connectionMode: options.mode === 'strict' || options.mode === 'lenient' ? options.mode : 'lenient',
79
- };
80
- return { serverName: serverName || '', config, errors };
81
- }
82
- /**
83
- * Parse SSE server arguments
84
- */
85
- export function parseSseArgs(args) {
86
- const errors = [];
87
- if (args.length < 2) {
88
- errors.push('Usage: /mcp add sse <name> <url> [options]');
89
- return { serverName: '', config: {}, errors };
90
- }
91
- const { parsedArgs, options } = parseOptions(args);
92
- const [serverName, url] = parsedArgs;
93
- if (!serverName) {
94
- errors.push('Server name is required');
95
- }
96
- if (!url) {
97
- errors.push('URL is required for SSE servers');
98
- }
99
- // Validate URL format
100
- if (url) {
101
- try {
102
- new URL(url);
103
- }
104
- catch {
105
- errors.push(`Invalid URL format: ${url}`);
106
- }
107
- }
108
- const headers = {};
109
- Object.keys(options).forEach((key) => {
110
- if (key.startsWith('header-')) {
111
- const headerKey = key.slice(7);
112
- headers[headerKey] = options[key];
113
- }
114
- });
115
- const config = {
116
- type: 'sse',
117
- url: url || '',
118
- headers,
119
- timeout: parseInt(options.timeout || '30000', 10),
120
- connectionMode: options.mode === 'strict' || options.mode === 'lenient' ? options.mode : 'lenient',
121
- };
122
- return { serverName: serverName || '', config, errors };
123
- }
124
- // TODO: Add MCP server presets system for common configurations.
125
- // Will add an MCP registry into core and use that
126
- /**
127
- * Show help for MCP add commands
128
- */
129
- export function showMcpAddHelp() {
130
- console.log(chalk.bold.blue('\n🔧 MCP Add Commands:\n'));
131
- console.log(chalk.yellow('STDIO Servers (most common):'));
132
- console.log(chalk.dim(' /mcp add stdio <name> <command> [args...] [options]'));
133
- console.log(chalk.dim(' Examples:'));
134
- console.log(chalk.dim(' /mcp add stdio music uvx truffle-ai-music-creator-mcp'));
135
- console.log(chalk.dim(' /mcp add stdio filesystem npx -y @modelcontextprotocol/server-filesystem .'));
136
- console.log(chalk.dim(' /mcp add stdio sqlite npx -y @executeautomation/database-server example.db'));
137
- console.log(chalk.yellow('\nHTTP Servers:'));
138
- console.log(chalk.dim(' /mcp add http <name> <url> [options]'));
139
- console.log(chalk.dim(' Examples:'));
140
- console.log(chalk.dim(' /mcp add http remote http://localhost:8080'));
141
- console.log(chalk.dim(' /mcp add http notion https://api.notion.com --header-Authorization="Bearer token"'));
142
- console.log(chalk.yellow('\nSSE Servers:'));
143
- console.log(chalk.dim(' /mcp add sse <name> <url> [options]'));
144
- console.log(chalk.dim(' Examples:'));
145
- console.log(chalk.dim(' /mcp add sse events http://localhost:9000/events'));
146
- // TODO: Add preset commands here when implemented
147
- console.log(chalk.yellow('\nOptions (for all types):'));
148
- console.log(chalk.dim(' --timeout=<ms> Connection timeout (default: 30000)'));
149
- console.log(chalk.dim(' --mode=<strict|lenient> Connection mode (default: lenient)'));
150
- console.log(chalk.dim(' --env-<key>=<value> Environment variables (stdio only)'));
151
- console.log(chalk.dim(' --header-<key>=<value> HTTP/SSE headers\n'));
152
- }
153
- /**
154
- * Validate server configuration and show errors
155
- */
156
- export function validateAndShowErrors(serverName, config, existingServers = []) {
157
- const result = resolveAndValidateMcpServerConfig(serverName, config, existingServers);
158
- if (!result.ok) {
159
- console.log(chalk.red('❌ Server configuration validation failed:'));
160
- const errors = result.issues.filter((issue) => issue.severity === 'error');
161
- for (const error of errors) {
162
- console.log(chalk.red(` ${error.message}`));
163
- if (error.context &&
164
- typeof error.context === 'object' &&
165
- 'suggestedAction' in error.context) {
166
- console.log(chalk.dim(` 💡 ${error.context.suggestedAction}`));
167
- }
168
- }
169
- return false;
170
- }
171
- const warnings = result.issues.filter((issue) => issue.severity === 'warning');
172
- if (warnings.length > 0) {
173
- for (const warning of warnings) {
174
- console.log(chalk.yellow(`⚠️ ${warning.message}`));
175
- }
176
- }
177
- return true;
178
- }
@@ -1,9 +0,0 @@
1
- /**
2
- * MCP Commands Module
3
- *
4
- * Handles all MCP (Model Context Protocol) server management commands.
5
- * Provides functionality to list, add, remove, and manage MCP servers.
6
- */
7
- import { CommandDefinition } from '../command-parser.js';
8
- export declare const mcpCommands: CommandDefinition;
9
- //# sourceMappingURL=mcp-commands.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-commands.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/interactive-commands/mcp/mcp-commands.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAwHzD,eAAO,MAAM,WAAW,EAAE,iBAsRzB,CAAC"}
@@ -1,325 +0,0 @@
1
- /**
2
- * MCP Commands Module
3
- *
4
- * Handles all MCP (Model Context Protocol) server management commands.
5
- * Provides functionality to list, add, remove, and manage MCP servers.
6
- */
7
- import chalk from 'chalk';
8
- import { logger } from '@dexto/core';
9
- import { formatForInkCli } from '../utils/format-output.js';
10
- import { parseStdioArgs, parseHttpArgs, parseSseArgs, showMcpAddHelp, validateAndShowErrors, } from './mcp-add-utils.js';
11
- /**
12
- * Handler for /mcp add stdio command
13
- */
14
- async function handleMcpAddStdio(args, agent) {
15
- const { serverName, config, errors } = parseStdioArgs(args);
16
- if (errors.length > 0) {
17
- console.log(chalk.red('❌ Invalid arguments:'));
18
- for (const error of errors) {
19
- console.log(chalk.red(` ${error}`));
20
- }
21
- return true;
22
- }
23
- // Get existing server names for validation
24
- const existingServers = Array.from(agent.getMcpClients().keys());
25
- if (!validateAndShowErrors(serverName, config, existingServers)) {
26
- return true;
27
- }
28
- try {
29
- await agent.connectMcpServer(serverName, config);
30
- console.log(chalk.green(`✅ STDIO MCP server '${serverName}' added successfully`));
31
- console.log(chalk.dim(` Command: ${config.command} ${config.args?.join(' ') ?? ''}`));
32
- console.log(chalk.dim(` Connection mode: ${config.connectionMode}`));
33
- }
34
- catch (error) {
35
- logger.error(`Failed to add STDIO MCP server '${serverName}': ${error instanceof Error ? error.message : String(error)}`);
36
- }
37
- return true;
38
- }
39
- /**
40
- * Handler for /mcp add http command
41
- */
42
- async function handleMcpAddHttp(args, agent) {
43
- const { serverName, config, errors } = parseHttpArgs(args);
44
- if (errors.length > 0) {
45
- console.log(chalk.red('❌ Invalid arguments:'));
46
- for (const error of errors) {
47
- console.log(chalk.red(` ${error}`));
48
- }
49
- return true;
50
- }
51
- // Get existing server names for validation
52
- const existingServers = Array.from(agent.getMcpClients().keys());
53
- if (!validateAndShowErrors(serverName, config, existingServers)) {
54
- return true;
55
- }
56
- try {
57
- await agent.connectMcpServer(serverName, config);
58
- console.log(chalk.green(`✅ HTTP MCP server '${serverName}' added successfully`));
59
- console.log(chalk.dim(` URL: ${config.url}`));
60
- if (config.headers && Object.keys(config.headers).length > 0) {
61
- console.log(chalk.dim(` Headers: ${Object.keys(config.headers).join(', ')}`));
62
- }
63
- console.log(chalk.dim(` Connection mode: ${config.connectionMode}`));
64
- }
65
- catch (error) {
66
- logger.error(`Failed to add HTTP MCP server '${serverName}': ${error instanceof Error ? error.message : String(error)}`);
67
- }
68
- return true;
69
- }
70
- /**
71
- * Handler for /mcp add sse command
72
- */
73
- async function handleMcpAddSse(args, agent) {
74
- const { serverName, config, errors } = parseSseArgs(args);
75
- if (errors.length > 0) {
76
- console.log(chalk.red('❌ Invalid arguments:'));
77
- for (const error of errors) {
78
- console.log(chalk.red(` ${error}`));
79
- }
80
- return true;
81
- }
82
- // Get existing server names for validation
83
- const existingServers = Array.from(agent.getMcpClients().keys());
84
- if (!validateAndShowErrors(serverName, config, existingServers)) {
85
- return true;
86
- }
87
- try {
88
- await agent.connectMcpServer(serverName, config);
89
- console.log(chalk.green(`✅ SSE MCP server '${serverName}' added successfully`));
90
- console.log(chalk.dim(` URL: ${config.url}`));
91
- if (config.headers && Object.keys(config.headers).length > 0) {
92
- console.log(chalk.dim(` Headers: ${Object.keys(config.headers).join(', ')}`));
93
- }
94
- console.log(chalk.dim(` Connection mode: ${config.connectionMode}`));
95
- }
96
- catch (error) {
97
- logger.error(`Failed to add SSE MCP server '${serverName}': ${error instanceof Error ? error.message : String(error)}`);
98
- }
99
- return true;
100
- }
101
- // TODO: Add preset handler when presets are implemented
102
- export const mcpCommands = {
103
- name: 'mcp',
104
- description: 'Manage MCP servers',
105
- usage: '/mcp <subcommand> [args]',
106
- category: 'MCP Management',
107
- subcommands: [
108
- {
109
- name: 'list',
110
- description: 'List all available MCP servers',
111
- usage: '/mcp list',
112
- handler: async (_args, agent) => {
113
- try {
114
- const clients = agent.getMcpClients();
115
- const failedConnections = agent.getMcpFailedConnections();
116
- if (clients.size === 0 && Object.keys(failedConnections).length === 0) {
117
- const output = '📋 No MCP servers configured or connected.';
118
- console.log(chalk.yellow(output));
119
- return formatForInkCli(output);
120
- }
121
- // Build output string
122
- const outputLines = ['\n🔌 MCP Servers:\n'];
123
- for (const [name] of clients) {
124
- outputLines.push(`✅ ${name}:`);
125
- outputLines.push(` Connected: Yes`);
126
- outputLines.push('');
127
- }
128
- if (Object.keys(failedConnections).length > 0) {
129
- outputLines.push('\n❌ Failed Connections:\n');
130
- for (const [name, error] of Object.entries(failedConnections)) {
131
- outputLines.push(`❌ ${name}:`);
132
- outputLines.push(` Error: ${error}`);
133
- }
134
- }
135
- outputLines.push('💡 Use /mcp add <name> <config_json_string> to connect a new MCP server.');
136
- outputLines.push('💡 Use /mcp remove <name> to disconnect an MCP server.');
137
- outputLines.push('💡 Use /mcp help for detailed command descriptions.');
138
- const output = outputLines.join('\n');
139
- // Log for regular CLI (with chalk formatting)
140
- console.log(chalk.bold.blue('\n🔌 MCP Servers:\n'));
141
- for (const [name] of clients) {
142
- console.log(chalk.green(`✅ ${name}:`));
143
- console.log(chalk.dim(` Connected: Yes`));
144
- console.log();
145
- }
146
- if (Object.keys(failedConnections).length > 0) {
147
- console.log(chalk.bold.red('\n❌ Failed Connections:\n'));
148
- for (const [name, error] of Object.entries(failedConnections)) {
149
- console.log(chalk.red(`❌ ${name}:`));
150
- console.log(chalk.dim(` Error: ${error}`));
151
- }
152
- }
153
- console.log(chalk.dim('💡 Use /mcp add <name> <config_json_string> to connect a new MCP server.'));
154
- console.log(chalk.dim('💡 Use /mcp remove <name> to disconnect an MCP server.'));
155
- console.log(chalk.dim('💡 Use /mcp help for detailed command descriptions.'));
156
- return formatForInkCli(output);
157
- }
158
- catch (error) {
159
- const errorMsg = `Failed to list MCP servers: ${error instanceof Error ? error.message : String(error)}`;
160
- logger.error(errorMsg);
161
- return formatForInkCli(`❌ ${errorMsg}`);
162
- }
163
- },
164
- },
165
- {
166
- name: 'add',
167
- description: 'Add a new MCP server',
168
- usage: '/mcp add <type> <name> <config...>',
169
- subcommands: [
170
- {
171
- name: 'stdio',
172
- description: 'Add a STDIO MCP server',
173
- usage: '/mcp add stdio <name> <command> [args...] [options]',
174
- handler: handleMcpAddStdio,
175
- },
176
- {
177
- name: 'http',
178
- description: 'Add an HTTP MCP server',
179
- usage: '/mcp add http <name> <url> [options]',
180
- handler: handleMcpAddHttp,
181
- },
182
- {
183
- name: 'sse',
184
- description: 'Add an SSE MCP server',
185
- usage: '/mcp add sse <name> <url> [options]',
186
- handler: handleMcpAddSse,
187
- },
188
- // TODO: Add preset subcommand when implemented
189
- ],
190
- handler: async (args, agent) => {
191
- if (args.length === 0) {
192
- showMcpAddHelp();
193
- return true;
194
- }
195
- const subcommand = args[0];
196
- const subArgs = args.slice(1);
197
- const subcmd = mcpCommands.subcommands
198
- ?.find((s) => s.name === 'add')
199
- ?.subcommands?.find((s) => s.name === subcommand);
200
- if (subcmd) {
201
- return subcmd.handler(subArgs, agent);
202
- }
203
- console.log(chalk.red(`❌ Unknown add subcommand: ${subcommand}`));
204
- showMcpAddHelp();
205
- return true;
206
- },
207
- },
208
- {
209
- name: 'remove',
210
- description: 'Remove an MCP server',
211
- usage: '/mcp remove <name>',
212
- handler: async (args, agent) => {
213
- if (args.length === 0) {
214
- const errorMsg = '❌ Usage: /mcp remove <name>';
215
- console.log(chalk.red(errorMsg));
216
- return errorMsg;
217
- }
218
- const name = args[0];
219
- try {
220
- await agent.removeMcpServer(name);
221
- const successMsg = `✅ MCP server '${name}' removed successfully`;
222
- console.log(chalk.green(successMsg));
223
- return successMsg;
224
- }
225
- catch (error) {
226
- const errorMsg = `❌ Failed to remove MCP server '${name}': ${error instanceof Error ? error.message : String(error)}`;
227
- logger.error(errorMsg);
228
- console.log(chalk.red(errorMsg));
229
- return errorMsg;
230
- }
231
- },
232
- },
233
- {
234
- name: 'help',
235
- description: 'Show detailed help for MCP commands',
236
- usage: '/mcp help',
237
- handler: async (_args, _agent) => {
238
- const helpText = [
239
- '\n🔌 MCP Management Commands:\n',
240
- 'Available subcommands:',
241
- ' /mcp list - List all configured MCP servers',
242
- ' /mcp add <type> <name> <config...> - Add a new MCP server',
243
- ' /mcp remove <name> - Remove an MCP server',
244
- ' /mcp help - Show this help message',
245
- '\n📦 Add MCP Servers:\n',
246
- '▶️ STDIO Servers (most common):',
247
- ' /mcp add stdio <name> <command> [args...] [options]',
248
- ' Examples:',
249
- ' /mcp add stdio music uvx truffle-ai-music-creator-mcp',
250
- ' /mcp add stdio filesystem npx -y @modelcontextprotocol/server-filesystem .',
251
- ' /mcp add stdio sqlite npx -y @executeautomation/database-server example.db',
252
- '\n🌐 HTTP Servers:',
253
- ' /mcp add http <name> <url> [options]',
254
- ' Examples:',
255
- ' /mcp add http remote http://localhost:8080',
256
- ' /mcp add http notion https://api.notion.com --header-Authorization="Bearer token"',
257
- '\n📡 SSE Servers:',
258
- ' /mcp add sse <name> <url> [options]',
259
- ' Examples:',
260
- ' /mcp add sse events http://localhost:9000/events',
261
- '\n⚙️ Options:',
262
- ' --timeout=<ms> Connection timeout (default: 30000)',
263
- ' --mode=<strict|lenient> Connection mode (default: lenient)',
264
- ' --env-<key>=<value> Environment variables (stdio only)',
265
- ' --header-<key>=<value> HTTP/SSE headers',
266
- '\n🧹 Remove MCP Server:',
267
- ' /mcp remove <server-name>',
268
- '\n💡 MCP servers let you connect to external tools and services.',
269
- '💡 Use /mcp add --help for detailed examples and options.\n',
270
- ].join('\n');
271
- console.log(chalk.bold.blue('\n🔌 MCP Management Commands:\n'));
272
- console.log(chalk.cyan('Available subcommands:'));
273
- console.log(` ${chalk.yellow('/mcp list')} - List all configured MCP servers`);
274
- console.log(` ${chalk.yellow('/mcp add')} ${chalk.blue('<type> <name> <config...>')} - Add a new MCP server`);
275
- console.log(` ${chalk.yellow('/mcp remove')} ${chalk.blue('<name>')} - Remove an MCP server`);
276
- console.log(` ${chalk.yellow('/mcp help')} - Show this help message`);
277
- console.log(chalk.yellow('\n📦 Add MCP Servers:\n'));
278
- console.log(chalk.magenta('▶️ STDIO Servers (most common):'));
279
- console.log(chalk.dim(` /mcp add stdio <name> <command> [args...] [options]`));
280
- console.log(chalk.dim(` Examples:`));
281
- console.log(chalk.dim(` /mcp add stdio music uvx truffle-ai-music-creator-mcp`));
282
- console.log(chalk.dim(` /mcp add stdio filesystem npx -y @modelcontextprotocol/server-filesystem .`));
283
- console.log(chalk.dim(` /mcp add stdio sqlite npx -y @executeautomation/database-server example.db`));
284
- console.log(chalk.magenta('\n🌐 HTTP Servers:'));
285
- console.log(chalk.dim(` /mcp add http <name> <url> [options]`));
286
- console.log(chalk.dim(` Examples:`));
287
- console.log(chalk.dim(` /mcp add http remote http://localhost:8080`));
288
- console.log(chalk.dim(` /mcp add http notion https://api.notion.com --header-Authorization="Bearer token"`));
289
- console.log(chalk.magenta('\n📡 SSE Servers:'));
290
- console.log(chalk.dim(` /mcp add sse <name> <url> [options]`));
291
- console.log(chalk.dim(` Examples:`));
292
- console.log(chalk.dim(` /mcp add sse events http://localhost:9000/events`));
293
- // TODO: Add preset documentation when implemented
294
- console.log(chalk.yellow('\n⚙️ Options:'));
295
- console.log(chalk.dim(` --timeout=<ms> Connection timeout (default: 30000)`));
296
- console.log(chalk.dim(` --mode=<strict|lenient> Connection mode (default: lenient)`));
297
- console.log(chalk.dim(` --env-<key>=<value> Environment variables (stdio only)`));
298
- console.log(chalk.dim(` --header-<key>=<value> HTTP/SSE headers`));
299
- console.log(chalk.yellow('\n🧹 Remove MCP Server:'));
300
- console.log(chalk.dim(` /mcp remove <server-name>`));
301
- console.log(chalk.dim('\n💡 MCP servers let you connect to external tools and services.\n💡 Use /mcp add --help for detailed examples and options.\n'));
302
- return helpText;
303
- },
304
- },
305
- ],
306
- handler: async (args, agent) => {
307
- if (args.length === 0) {
308
- const helpSubcommand = mcpCommands.subcommands?.find((s) => s.name === 'help');
309
- if (helpSubcommand) {
310
- return helpSubcommand.handler([], agent);
311
- }
312
- return true;
313
- }
314
- const subcommand = args[0];
315
- const subArgs = args.slice(1);
316
- const subcmd = mcpCommands.subcommands?.find((s) => s.name === subcommand);
317
- if (subcmd) {
318
- return subcmd.handler(subArgs, agent);
319
- }
320
- console.log(chalk.red(`❌ Unknown MCP subcommand: ${subcommand}`));
321
- console.log(chalk.dim('Available subcommands: list, add, remove, help'));
322
- console.log(chalk.dim('💡 Use /mcp help for detailed command descriptions.\n'));
323
- return true;
324
- },
325
- };
@@ -1,21 +0,0 @@
1
- /**
2
- * Model Management Commands
3
- *
4
- * This module contains all model-related CLI commands extracted from the monolithic commands.ts.
5
- * These commands provide functionality for managing AI models including listing supported models,
6
- * switching between different models, and displaying current model configuration.
7
- *
8
- * Commands:
9
- * - list: List all supported providers and models with capabilities
10
- * - current: Show current model configuration details
11
- * - switch: Switch to a different AI model (provider auto-detected)
12
- * - help: Show detailed help for model commands
13
- */
14
- import { CommandDefinition } from '../command-parser.js';
15
- /**
16
- * Model management command definition
17
- * Note: In interactive CLI, /model shows the interactive selector
18
- * Subcommands available for debugging/advanced use, but not emphasized
19
- */
20
- export declare const modelCommands: CommandDefinition;
21
- //# sourceMappingURL=model-commands.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-commands.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/interactive-commands/model/model-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,iBAmN3B,CAAC"}