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
@@ -1,73 +0,0 @@
1
- /**
2
- * Interactive Command Registry
3
- *
4
- * This module provides the foundation for organizing CLI commands into a registry structure.
5
- * This is part of the CLI refactoring plan to improve code organization and maintainability.
6
- *
7
- * Future phases will gradually migrate commands from commands.ts into this registry system.
8
- */
9
- /**
10
- * Command registry to hold all interactive commands
11
- */
12
- export class CommandRegistry {
13
- commands = new Map();
14
- aliases = new Map();
15
- /**
16
- * Register a command in the registry
17
- */
18
- register(command) {
19
- this.commands.set(command.name, command);
20
- // Register aliases
21
- if (command.aliases) {
22
- for (const alias of command.aliases) {
23
- this.aliases.set(alias, command.name);
24
- }
25
- }
26
- }
27
- /**
28
- * Get a command by name or alias
29
- */
30
- get(nameOrAlias) {
31
- // Check direct name first
32
- const command = this.commands.get(nameOrAlias);
33
- if (command) {
34
- return command;
35
- }
36
- // Check aliases
37
- const mainName = this.aliases.get(nameOrAlias);
38
- if (mainName) {
39
- return this.commands.get(mainName);
40
- }
41
- return undefined;
42
- }
43
- /**
44
- * Get all registered commands
45
- */
46
- getAll() {
47
- return Array.from(this.commands.values());
48
- }
49
- /**
50
- * Get commands by category
51
- */
52
- getByCategory(category) {
53
- return Array.from(this.commands.values()).filter((cmd) => cmd.category === category);
54
- }
55
- /**
56
- * Check if a command exists
57
- */
58
- has(nameOrAlias) {
59
- return this.commands.has(nameOrAlias) || this.aliases.has(nameOrAlias);
60
- }
61
- /**
62
- * Get all command names and aliases
63
- */
64
- getAllNames() {
65
- const names = Array.from(this.commands.keys());
66
- const aliasNames = Array.from(this.aliases.keys());
67
- return [...names, ...aliasNames];
68
- }
69
- }
70
- /**
71
- * Global command registry instance
72
- */
73
- export const commandRegistry = new CommandRegistry();
@@ -1,34 +0,0 @@
1
- import { StdioServerConfig, HttpServerConfig, SseServerConfig, McpServerConfig } from '@dexto/core';
2
- /**
3
- * Parse stdio server arguments
4
- */
5
- export declare function parseStdioArgs(args: string[]): {
6
- serverName: string;
7
- config: StdioServerConfig;
8
- errors: string[];
9
- };
10
- /**
11
- * Parse HTTP server arguments
12
- */
13
- export declare function parseHttpArgs(args: string[]): {
14
- serverName: string;
15
- config: HttpServerConfig;
16
- errors: string[];
17
- };
18
- /**
19
- * Parse SSE server arguments
20
- */
21
- export declare function parseSseArgs(args: string[]): {
22
- serverName: string;
23
- config: SseServerConfig;
24
- errors: string[];
25
- };
26
- /**
27
- * Show help for MCP add commands
28
- */
29
- export declare function showMcpAddHelp(): void;
30
- /**
31
- * Validate server configuration and show errors
32
- */
33
- export declare function validateAndShowErrors(serverName: string, config: McpServerConfig, existingServers?: string[]): boolean;
34
- //# sourceMappingURL=mcp-add-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-add-utils.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/interactive-commands/mcp/mcp-add-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,eAAe,EAElB,MAAM,aAAa,CAAC;AAIrB;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB,CAsCA;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB,CA6CA;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB,CA6CA;AAKD;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAoCrC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACjC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,eAAe,EACvB,eAAe,GAAE,MAAM,EAAO,GAC/B,OAAO,CA2BT"}
@@ -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"}