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
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Provider configuration registry for the CustomModelWizard.
3
+ * Each provider has its own config with display name, description, steps, and model builder.
4
+ */
5
+ import type { CustomModelProvider } from '@dexto/agent-management';
6
+ import type { ProviderConfig } from './types.js';
7
+ /**
8
+ * Provider configuration registry.
9
+ * Keys are CustomModelProvider values.
10
+ */
11
+ export declare const PROVIDER_CONFIGS: Record<CustomModelProvider, ProviderConfig>;
12
+ /**
13
+ * Get provider config by provider type.
14
+ */
15
+ export declare function getProviderConfig(provider: CustomModelProvider): ProviderConfig;
16
+ /**
17
+ * Get display label for provider selection menu.
18
+ * Format: "DisplayName (description)"
19
+ */
20
+ export declare function getProviderLabel(provider: CustomModelProvider): string;
21
+ /**
22
+ * Get all available provider types.
23
+ */
24
+ export declare function getAvailableProviders(): readonly CustomModelProvider[];
25
+ /**
26
+ * Check if a provider has async validation.
27
+ */
28
+ export declare function hasAsyncValidation(provider: CustomModelProvider): boolean;
29
+ /**
30
+ * Run async validation for a provider's field if applicable.
31
+ */
32
+ export declare function runAsyncValidation(provider: CustomModelProvider, field: string, value: string): Promise<string | null>;
33
+ //# sourceMappingURL=provider-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-config.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/ink-cli/components/overlays/custom-model-wizard/provider-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAe,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAGhF,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,YAAY,CAAC;AAqC7D;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,mBAAmB,EAAE,cAAc,CAwWxE,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,cAAc,CAE/E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,CAGtE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,SAAS,mBAAmB,EAAE,CAEtE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,OAAO,CAEzE;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACpC,QAAQ,EAAE,mBAAmB,EAC7B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMxB"}
@@ -0,0 +1,419 @@
1
+ /**
2
+ * Provider configuration registry for the CustomModelWizard.
3
+ * Each provider has its own config with display name, description, steps, and model builder.
4
+ */
5
+ import { CUSTOM_MODEL_PROVIDERS } from '@dexto/agent-management';
6
+ import { lookupOpenRouterModel, refreshOpenRouterModelCache, getLocalModelById } from '@dexto/core';
7
+ import { validators } from './types.js';
8
+ import * as fs from 'fs';
9
+ import * as os from 'os';
10
+ import * as path from 'path';
11
+ /**
12
+ * Common API key step - reused across providers that support API keys.
13
+ */
14
+ const API_KEY_STEP = {
15
+ field: 'apiKey',
16
+ label: 'API Key (optional)',
17
+ placeholder: 'Enter API key for authentication',
18
+ required: false,
19
+ };
20
+ /**
21
+ * Common max input tokens step - reused across providers that support it.
22
+ */
23
+ const MAX_INPUT_TOKENS_STEP = {
24
+ field: 'maxInputTokens',
25
+ label: 'Max Input Tokens (optional)',
26
+ placeholder: 'e.g., 128000 (leave blank for default)',
27
+ required: false,
28
+ validate: validators.positiveNumber,
29
+ };
30
+ /**
31
+ * Common display name step.
32
+ */
33
+ const DISPLAY_NAME_STEP = {
34
+ field: 'displayName',
35
+ label: 'Display Name (optional)',
36
+ placeholder: 'e.g., My Custom Model',
37
+ required: false,
38
+ };
39
+ /**
40
+ * Provider configuration registry.
41
+ * Keys are CustomModelProvider values.
42
+ */
43
+ export const PROVIDER_CONFIGS = {
44
+ 'openai-compatible': {
45
+ displayName: 'OpenAI-Compatible',
46
+ description: 'Custom or self-hosted endpoints (vLLM, LM Studio)',
47
+ steps: [
48
+ {
49
+ field: 'name',
50
+ label: 'Model Name',
51
+ placeholder: 'e.g., llama-3-70b, mixtral-8x7b',
52
+ required: true,
53
+ validate: validators.required('Model name'),
54
+ },
55
+ {
56
+ field: 'baseURL',
57
+ label: 'API Base URL',
58
+ placeholder: 'e.g., http://localhost:11434/v1',
59
+ required: true,
60
+ validate: validators.url,
61
+ },
62
+ { ...DISPLAY_NAME_STEP, placeholder: 'e.g., My Local Llama 3' },
63
+ MAX_INPUT_TOKENS_STEP,
64
+ API_KEY_STEP,
65
+ ],
66
+ buildModel: (values, provider) => {
67
+ const model = {
68
+ name: values.name || '',
69
+ provider,
70
+ };
71
+ if (values.baseURL) {
72
+ model.baseURL = values.baseURL;
73
+ }
74
+ if (values.displayName?.trim()) {
75
+ model.displayName = values.displayName.trim();
76
+ }
77
+ if (values.maxInputTokens?.trim()) {
78
+ model.maxInputTokens = parseInt(values.maxInputTokens, 10);
79
+ }
80
+ return model;
81
+ },
82
+ },
83
+ openrouter: {
84
+ displayName: 'OpenRouter',
85
+ description: '100+ cloud models via unified API',
86
+ steps: [
87
+ {
88
+ field: 'name',
89
+ label: 'OpenRouter Model ID',
90
+ placeholder: 'e.g., anthropic/claude-3.5-sonnet, openai/gpt-4o',
91
+ required: true,
92
+ validate: validators.slashFormat,
93
+ },
94
+ { ...DISPLAY_NAME_STEP, placeholder: 'e.g., Claude 3.5 Sonnet' },
95
+ {
96
+ ...API_KEY_STEP,
97
+ placeholder: 'Saved as OPENROUTER_API_KEY if not set, otherwise per-model',
98
+ },
99
+ ],
100
+ buildModel: (values, provider) => {
101
+ const model = {
102
+ name: values.name || '',
103
+ provider,
104
+ };
105
+ if (values.displayName?.trim()) {
106
+ model.displayName = values.displayName.trim();
107
+ }
108
+ return model;
109
+ },
110
+ asyncValidation: {
111
+ field: 'name',
112
+ validate: async (modelId) => {
113
+ let status = lookupOpenRouterModel(modelId);
114
+ // If cache is stale/empty, try to refresh
115
+ if (status === 'unknown') {
116
+ try {
117
+ await refreshOpenRouterModelCache();
118
+ status = lookupOpenRouterModel(modelId);
119
+ }
120
+ catch {
121
+ // Network failed - allow the model (graceful degradation)
122
+ return null;
123
+ }
124
+ }
125
+ if (status === 'invalid') {
126
+ return `Model '${modelId}' not found in OpenRouter. Check the model ID at https://openrouter.ai/models`;
127
+ }
128
+ return null;
129
+ },
130
+ },
131
+ },
132
+ glama: {
133
+ displayName: 'Glama',
134
+ description: 'OpenAI-compatible gateway',
135
+ steps: [
136
+ {
137
+ field: 'name',
138
+ label: 'Glama Model ID',
139
+ placeholder: 'e.g., openai/gpt-4o, anthropic/claude-3-sonnet',
140
+ required: true,
141
+ validate: validators.slashFormat,
142
+ },
143
+ { ...DISPLAY_NAME_STEP, placeholder: 'e.g., GPT-4o via Glama' },
144
+ {
145
+ ...API_KEY_STEP,
146
+ placeholder: 'Saved as GLAMA_API_KEY if not set, otherwise per-model',
147
+ },
148
+ ],
149
+ buildModel: (values, provider) => {
150
+ const model = {
151
+ name: values.name || '',
152
+ provider,
153
+ };
154
+ if (values.displayName?.trim()) {
155
+ model.displayName = values.displayName.trim();
156
+ }
157
+ return model;
158
+ },
159
+ },
160
+ litellm: {
161
+ displayName: 'LiteLLM',
162
+ description: 'Unified proxy for 100+ providers',
163
+ steps: [
164
+ {
165
+ field: 'name',
166
+ label: 'Model Name',
167
+ placeholder: 'e.g., gpt-4, claude-3-sonnet, bedrock/anthropic.claude-v2',
168
+ required: true,
169
+ validate: validators.required('Model name'),
170
+ },
171
+ {
172
+ field: 'baseURL',
173
+ label: 'LiteLLM Proxy URL',
174
+ placeholder: 'e.g., http://localhost:4000',
175
+ required: true,
176
+ validate: validators.url,
177
+ },
178
+ { ...DISPLAY_NAME_STEP, placeholder: 'e.g., My LiteLLM GPT-4' },
179
+ MAX_INPUT_TOKENS_STEP,
180
+ {
181
+ ...API_KEY_STEP,
182
+ placeholder: 'Saved as LITELLM_API_KEY if not set, otherwise per-model',
183
+ },
184
+ ],
185
+ buildModel: (values, provider) => {
186
+ const model = {
187
+ name: values.name || '',
188
+ provider,
189
+ };
190
+ if (values.baseURL) {
191
+ model.baseURL = values.baseURL;
192
+ }
193
+ if (values.displayName?.trim()) {
194
+ model.displayName = values.displayName.trim();
195
+ }
196
+ if (values.maxInputTokens?.trim()) {
197
+ model.maxInputTokens = parseInt(values.maxInputTokens, 10);
198
+ }
199
+ return model;
200
+ },
201
+ },
202
+ bedrock: {
203
+ displayName: 'AWS Bedrock',
204
+ description: 'Custom model IDs via AWS credentials',
205
+ steps: [
206
+ {
207
+ field: 'name',
208
+ label: 'Bedrock Model ID',
209
+ placeholder: 'e.g., anthropic.claude-3-haiku-20240307-v1:0',
210
+ required: true,
211
+ validate: validators.required('Model ID'),
212
+ },
213
+ { ...DISPLAY_NAME_STEP, placeholder: 'e.g., Claude 3 Haiku' },
214
+ {
215
+ ...MAX_INPUT_TOKENS_STEP,
216
+ placeholder: 'e.g., 200000 (leave blank for default)',
217
+ },
218
+ // NO apiKey step - Bedrock uses AWS credentials from environment
219
+ ],
220
+ buildModel: (values, provider) => {
221
+ const model = {
222
+ name: values.name || '',
223
+ provider,
224
+ };
225
+ if (values.displayName?.trim()) {
226
+ model.displayName = values.displayName.trim();
227
+ }
228
+ if (values.maxInputTokens?.trim()) {
229
+ model.maxInputTokens = parseInt(values.maxInputTokens, 10);
230
+ }
231
+ return model;
232
+ },
233
+ setupInfo: {
234
+ title: 'AWS Bedrock Setup',
235
+ description: 'Bedrock uses AWS credentials from your environment. Ensure AWS_REGION and either AWS_BEARER_TOKEN_BEDROCK or IAM credentials are set.',
236
+ docsUrl: 'https://docs.dexto.ai/docs/guides/supported-llm-providers#amazon-bedrock',
237
+ },
238
+ },
239
+ ollama: {
240
+ displayName: 'Ollama',
241
+ description: 'Local Ollama server models',
242
+ steps: [
243
+ {
244
+ field: 'name',
245
+ label: 'Model Name',
246
+ placeholder: 'e.g., llama3.3:70b, qwen3n:e2b',
247
+ required: true,
248
+ validate: validators.required('Model name'),
249
+ },
250
+ {
251
+ field: 'baseURL',
252
+ label: 'Ollama Server URL (optional)',
253
+ placeholder: 'Default: http://localhost:11434',
254
+ required: false,
255
+ validate: (value) => {
256
+ if (!value?.trim())
257
+ return null;
258
+ return validators.url(value);
259
+ },
260
+ },
261
+ { ...DISPLAY_NAME_STEP, placeholder: 'e.g., Llama 3.3 70B' },
262
+ MAX_INPUT_TOKENS_STEP,
263
+ ],
264
+ buildModel: (values, provider) => {
265
+ const model = {
266
+ name: values.name || '',
267
+ provider,
268
+ };
269
+ if (values.baseURL?.trim()) {
270
+ model.baseURL = values.baseURL.trim();
271
+ }
272
+ if (values.displayName?.trim()) {
273
+ model.displayName = values.displayName.trim();
274
+ }
275
+ if (values.maxInputTokens?.trim()) {
276
+ model.maxInputTokens = parseInt(values.maxInputTokens, 10);
277
+ }
278
+ return model;
279
+ },
280
+ setupInfo: {
281
+ title: 'Ollama Setup',
282
+ description: 'Add custom Ollama models by name. Ensure Ollama is running (default: http://localhost:11434). Pull models with: ollama pull <model>',
283
+ docsUrl: 'https://docs.dexto.ai/docs/guides/supported-llm-providers#ollama',
284
+ },
285
+ },
286
+ local: {
287
+ displayName: 'Local (node-llama)',
288
+ description: 'Custom GGUF models via node-llama-cpp',
289
+ steps: [
290
+ {
291
+ field: 'name',
292
+ label: 'Model ID or Path',
293
+ placeholder: 'e.g., llama-3.3-8b-q4 or /path/to/model.gguf',
294
+ required: true,
295
+ validate: validators.required('Model ID or path'),
296
+ },
297
+ { ...DISPLAY_NAME_STEP, placeholder: 'e.g., My Custom Llama' },
298
+ // Note: No MAX_INPUT_TOKENS_STEP - node-llama-cpp auto-detects context size
299
+ ],
300
+ buildModel: (values, provider) => {
301
+ const model = {
302
+ name: values.name || '',
303
+ provider,
304
+ };
305
+ if (values.displayName?.trim()) {
306
+ model.displayName = values.displayName.trim();
307
+ }
308
+ return model;
309
+ },
310
+ asyncValidation: {
311
+ field: 'name',
312
+ validate: async (value) => {
313
+ const trimmed = value.trim();
314
+ // Check if it looks like a file path (contains path separator or ends with .gguf)
315
+ const isFilePath = trimmed.includes(path.sep) ||
316
+ trimmed.startsWith('/') ||
317
+ trimmed.startsWith('~') ||
318
+ trimmed.toLowerCase().endsWith('.gguf');
319
+ if (isFilePath) {
320
+ // Validate as file path
321
+ if (!trimmed.toLowerCase().endsWith('.gguf')) {
322
+ return 'File path must end with .gguf';
323
+ }
324
+ // Expand ~ to home directory (use os.homedir() for cross-platform support)
325
+ const expandedPath = trimmed.startsWith('~')
326
+ ? trimmed.replace('~', os.homedir())
327
+ : trimmed;
328
+ if (!fs.existsSync(expandedPath)) {
329
+ return `File not found: ${trimmed}`;
330
+ }
331
+ return null; // Valid file path
332
+ }
333
+ // Otherwise, validate as model ID from registry
334
+ const modelInfo = getLocalModelById(trimmed);
335
+ if (!modelInfo) {
336
+ return `Model ID '${trimmed}' not found in registry. Use a full file path to a .gguf file, or one of the registry IDs (e.g., llama-3.3-8b-q4, qwen-2.5-coder-7b-q4)`;
337
+ }
338
+ return null; // Valid registry ID
339
+ },
340
+ },
341
+ setupInfo: {
342
+ title: 'Local Models Setup',
343
+ description: 'Add custom GGUF models by ID (from registry) or absolute file path. Ensure node-llama-cpp is installed and GPU acceleration is configured.',
344
+ docsUrl: 'https://docs.dexto.ai/docs/guides/supported-llm-providers#local-models',
345
+ },
346
+ },
347
+ vertex: {
348
+ displayName: 'Google Vertex AI',
349
+ description: 'Custom Vertex model IDs',
350
+ steps: [
351
+ {
352
+ field: 'name',
353
+ label: 'Vertex Model ID',
354
+ placeholder: 'e.g., gemini-2.0-flash-exp, claude-4-5-sonnet@20250929',
355
+ required: true,
356
+ validate: validators.required('Model ID'),
357
+ },
358
+ { ...DISPLAY_NAME_STEP, placeholder: 'e.g., Gemini 2.0 Flash Exp' },
359
+ {
360
+ ...MAX_INPUT_TOKENS_STEP,
361
+ placeholder: 'e.g., 1048576 (leave blank for default)',
362
+ },
363
+ ],
364
+ buildModel: (values, provider) => {
365
+ const model = {
366
+ name: values.name || '',
367
+ provider,
368
+ };
369
+ if (values.displayName?.trim()) {
370
+ model.displayName = values.displayName.trim();
371
+ }
372
+ if (values.maxInputTokens?.trim()) {
373
+ model.maxInputTokens = parseInt(values.maxInputTokens, 10);
374
+ }
375
+ return model;
376
+ },
377
+ setupInfo: {
378
+ title: 'Google Vertex AI Setup',
379
+ description: 'Vertex AI uses Google Cloud Application Default Credentials (ADC). Set GOOGLE_VERTEX_PROJECT and optionally GOOGLE_VERTEX_LOCATION. Run: gcloud auth application-default login',
380
+ docsUrl: 'https://docs.dexto.ai/docs/guides/supported-llm-providers#google-vertex-ai',
381
+ },
382
+ },
383
+ };
384
+ /**
385
+ * Get provider config by provider type.
386
+ */
387
+ export function getProviderConfig(provider) {
388
+ return PROVIDER_CONFIGS[provider];
389
+ }
390
+ /**
391
+ * Get display label for provider selection menu.
392
+ * Format: "DisplayName (description)"
393
+ */
394
+ export function getProviderLabel(provider) {
395
+ const config = PROVIDER_CONFIGS[provider];
396
+ return `${config.displayName} (${config.description})`;
397
+ }
398
+ /**
399
+ * Get all available provider types.
400
+ */
401
+ export function getAvailableProviders() {
402
+ return CUSTOM_MODEL_PROVIDERS;
403
+ }
404
+ /**
405
+ * Check if a provider has async validation.
406
+ */
407
+ export function hasAsyncValidation(provider) {
408
+ return !!PROVIDER_CONFIGS[provider].asyncValidation;
409
+ }
410
+ /**
411
+ * Run async validation for a provider's field if applicable.
412
+ */
413
+ export async function runAsyncValidation(provider, field, value) {
414
+ const config = PROVIDER_CONFIGS[provider];
415
+ if (config.asyncValidation && config.asyncValidation.field === field) {
416
+ return config.asyncValidation.validate(value);
417
+ }
418
+ return null;
419
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * ApiKeyStep Component
3
+ * Renders API key status and help text for providers that support API keys.
4
+ */
5
+ import React from 'react';
6
+ import type { CustomModelProvider } from '@dexto/agent-management';
7
+ interface ApiKeyStepProps {
8
+ /** The provider type */
9
+ provider: CustomModelProvider;
10
+ }
11
+ /**
12
+ * Displays API key status for the current provider.
13
+ * Shows whether the key is already configured or needs to be set.
14
+ */
15
+ export declare function ApiKeyStep({ provider }: ApiKeyStepProps): React.ReactElement;
16
+ /**
17
+ * Get the env var name for a provider's API key.
18
+ */
19
+ export declare function getProviderEnvVar(provider: CustomModelProvider): string;
20
+ /**
21
+ * Check if a provider has an API key configured.
22
+ */
23
+ export declare function hasApiKeyConfigured(provider: CustomModelProvider): boolean;
24
+ export default ApiKeyStep;
25
+ //# sourceMappingURL=ApiKeyStep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiKeyStep.d.ts","sourceRoot":"","sources":["../../../../../../../src/cli/ink-cli/components/overlays/custom-model-wizard/shared/ApiKeyStep.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,UAAU,eAAe;IACrB,wBAAwB;IACxB,QAAQ,EAAE,mBAAmB,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAQ5E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,CAGvE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,OAAO,CAG1E;AAED,eAAe,UAAU,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Text } from 'ink';
3
+ import { getProviderKeyStatus } from '@dexto/agent-management';
4
+ /**
5
+ * Displays API key status for the current provider.
6
+ * Shows whether the key is already configured or needs to be set.
7
+ */
8
+ export function ApiKeyStep({ provider }) {
9
+ const keyStatus = getProviderKeyStatus(provider);
10
+ if (keyStatus.hasApiKey) {
11
+ return _jsxs(Text, { color: "green", children: ["\u2713 ", keyStatus.envVar, " already set, press Enter to skip"] });
12
+ }
13
+ return _jsxs(Text, { color: "yellowBright", children: ["No ", keyStatus.envVar, " configured"] });
14
+ }
15
+ /**
16
+ * Get the env var name for a provider's API key.
17
+ */
18
+ export function getProviderEnvVar(provider) {
19
+ const keyStatus = getProviderKeyStatus(provider);
20
+ return keyStatus.envVar;
21
+ }
22
+ /**
23
+ * Check if a provider has an API key configured.
24
+ */
25
+ export function hasApiKeyConfigured(provider) {
26
+ const keyStatus = getProviderKeyStatus(provider);
27
+ return keyStatus.hasApiKey;
28
+ }
29
+ export default ApiKeyStep;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * ProviderSelector Component
3
+ * Renders the provider selection screen with navigation.
4
+ */
5
+ import React from 'react';
6
+ interface ProviderSelectorProps {
7
+ /** Currently highlighted provider index */
8
+ selectedIndex: number;
9
+ /** Whether we're editing an existing model */
10
+ isEditing: boolean;
11
+ }
12
+ /**
13
+ * Renders a list of available providers with the current selection highlighted.
14
+ */
15
+ export declare function ProviderSelector({ selectedIndex, isEditing, }: ProviderSelectorProps): React.ReactElement;
16
+ export default ProviderSelector;
17
+ //# sourceMappingURL=ProviderSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProviderSelector.d.ts","sourceRoot":"","sources":["../../../../../../../src/cli/ink-cli/components/overlays/custom-model-wizard/shared/ProviderSelector.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,UAAU,qBAAqB;IAC3B,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAC7B,aAAa,EACb,SAAS,GACZ,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,CAsC5C;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import { getProviderLabel, getAvailableProviders } from '../provider-config.js';
4
+ /**
5
+ * Renders a list of available providers with the current selection highlighted.
6
+ */
7
+ export function ProviderSelector({ selectedIndex, isEditing, }) {
8
+ const providers = getAvailableProviders();
9
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "green", paddingX: 1, marginTop: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { bold: true, color: "green", children: isEditing ? 'Edit Custom Model' : 'Add Custom Model' }) }), _jsx(Text, { bold: true, children: "Select Provider:" }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: providers.map((provider, index) => (_jsx(Box, { children: _jsxs(Text, { color: index === selectedIndex ? 'cyan' : 'gray', bold: index === selectedIndex, children: [index === selectedIndex ? '❯ ' : ' ', getProviderLabel(provider)] }) }, provider))) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "gray", children: "\u2191\u2193 navigate \u2022 Enter select \u2022 Esc cancel" }) })] }));
10
+ }
11
+ export default ProviderSelector;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * SetupInfoBanner Component
3
+ * Displays setup information for providers that need special configuration.
4
+ */
5
+ import React from 'react';
6
+ interface SetupInfoBannerProps {
7
+ /** Banner title */
8
+ title: string;
9
+ /** Description text */
10
+ description: string;
11
+ /** Optional documentation URL */
12
+ docsUrl?: string | undefined;
13
+ }
14
+ /**
15
+ * Displays a setup info banner with title, description, and optional docs link.
16
+ * Used for providers like Bedrock that require special configuration.
17
+ */
18
+ export declare function SetupInfoBanner({ title, description, docsUrl, }: SetupInfoBannerProps): React.ReactElement;
19
+ export default SetupInfoBanner;
20
+ //# sourceMappingURL=SetupInfoBanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetupInfoBanner.d.ts","sourceRoot":"","sources":["../../../../../../../src/cli/ink-cli/components/overlays/custom-model-wizard/shared/SetupInfoBanner.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,oBAAoB;IAC1B,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAC5B,KAAK,EACL,WAAW,EACX,OAAO,GACV,EAAE,oBAAoB,GAAG,KAAK,CAAC,YAAY,CAQ3C;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ /**
4
+ * Displays a setup info banner with title, description, and optional docs link.
5
+ * Used for providers like Bedrock that require special configuration.
6
+ */
7
+ export function SetupInfoBanner({ title, description, docsUrl, }) {
8
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Text, { color: "blue", children: ["\u2139 ", title] }), _jsx(Text, { color: "gray", children: description }), docsUrl && _jsxs(Text, { color: "gray", children: ["Setup guide: ", docsUrl] })] }));
9
+ }
10
+ export default SetupInfoBanner;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * WizardStepInput Component
3
+ * Renders a single wizard step with label, placeholder, input, and error display.
4
+ */
5
+ import React from 'react';
6
+ import type { WizardStep } from '../types.js';
7
+ interface WizardStepInputProps {
8
+ /** Current step configuration */
9
+ step: WizardStep;
10
+ /** Current input value */
11
+ currentInput: string;
12
+ /** Error message (if any) */
13
+ error: string | null;
14
+ /** Whether validation is in progress */
15
+ isValidating: boolean;
16
+ /** Whether saving is in progress */
17
+ isSaving: boolean;
18
+ /** Optional additional content to render after placeholder (e.g., API key status) */
19
+ additionalContent?: React.ReactNode;
20
+ }
21
+ /**
22
+ * Renders a wizard step with:
23
+ * - Step label and placeholder text
24
+ * - Text input field with cursor
25
+ * - Error message (if any)
26
+ * - Validation/saving indicators
27
+ */
28
+ export declare function WizardStepInput({ step, currentInput, error, isValidating, isSaving, additionalContent, }: WizardStepInputProps): React.ReactElement;
29
+ export default WizardStepInput;
30
+ //# sourceMappingURL=WizardStepInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WizardStepInput.d.ts","sourceRoot":"","sources":["../../../../../../../src/cli/ink-cli/components/overlays/custom-model-wizard/shared/WizardStepInput.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,UAAU,oBAAoB;IAC1B,iCAAiC;IACjC,IAAI,EAAE,UAAU,CAAC;IACjB,0BAA0B;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,wCAAwC;IACxC,YAAY,EAAE,OAAO,CAAC;IACtB,oCAAoC;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,qFAAqF;IACrF,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACvC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAC5B,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,iBAAiB,GACpB,EAAE,oBAAoB,GAAG,KAAK,CAAC,YAAY,CAuC3C;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ /**
4
+ * Renders a wizard step with:
5
+ * - Step label and placeholder text
6
+ * - Text input field with cursor
7
+ * - Error message (if any)
8
+ * - Validation/saving indicators
9
+ */
10
+ export function WizardStepInput({ step, currentInput, error, isValidating, isSaving, additionalContent, }) {
11
+ return (_jsxs(_Fragment, { children: [_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { bold: true, children: [step.label, ":"] }), _jsx(Text, { color: "gray", children: step.placeholder }), additionalContent] }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: "cyan", children: "> " }), _jsx(Text, { children: currentInput }), _jsx(Text, { color: "cyan", children: "_" })] }), error && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "red", children: error }) })), isValidating && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "yellowBright", children: "Validating model..." }) })), isSaving && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "yellowBright", children: "Saving..." }) }))] }));
12
+ }
13
+ export default WizardStepInput;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Shared components for the CustomModelWizard.
3
+ */
4
+ export { ApiKeyStep, getProviderEnvVar, hasApiKeyConfigured } from './ApiKeyStep.js';
5
+ export { SetupInfoBanner } from './SetupInfoBanner.js';
6
+ export { WizardStepInput } from './WizardStepInput.js';
7
+ export { ProviderSelector } from './ProviderSelector.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/cli/ink-cli/components/overlays/custom-model-wizard/shared/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Shared components for the CustomModelWizard.
3
+ */
4
+ export { ApiKeyStep, getProviderEnvVar, hasApiKeyConfigured } from './ApiKeyStep.js';
5
+ export { SetupInfoBanner } from './SetupInfoBanner.js';
6
+ export { WizardStepInput } from './WizardStepInput.js';
7
+ export { ProviderSelector } from './ProviderSelector.js';