dexto 1.6.1 → 1.6.3

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 (561) hide show
  1. package/dist/analytics/wrapper.js +1 -1
  2. package/dist/cli/auth/dexto-api-key.d.ts +34 -0
  3. package/dist/cli/auth/dexto-api-key.d.ts.map +1 -0
  4. package/dist/cli/auth/dexto-api-key.js +161 -0
  5. package/dist/cli/auth/index.d.ts +2 -1
  6. package/dist/cli/auth/index.d.ts.map +1 -1
  7. package/dist/cli/auth/index.js +2 -1
  8. package/dist/cli/auth/oauth.d.ts +10 -0
  9. package/dist/cli/auth/oauth.d.ts.map +1 -1
  10. package/dist/cli/auth/oauth.js +142 -39
  11. package/dist/cli/auth/service.d.ts +1 -0
  12. package/dist/cli/auth/service.d.ts.map +1 -1
  13. package/dist/cli/auth/service.js +1 -0
  14. package/dist/cli/commands/auth/login.d.ts.map +1 -1
  15. package/dist/cli/commands/auth/login.js +40 -105
  16. package/dist/cli/commands/setup.d.ts.map +1 -1
  17. package/dist/cli/commands/setup.js +157 -120
  18. package/dist/cli/utils/config-validation.js +3 -3
  19. package/dist/cli/utils/options.d.ts.map +1 -1
  20. package/dist/cli/utils/options.js +6 -0
  21. package/dist/cli/utils/scaffolding-utils.d.ts.map +1 -1
  22. package/dist/cli/utils/scaffolding-utils.js +38 -4
  23. package/dist/index-main.js +78 -11
  24. package/dist/index.js +12 -0
  25. package/dist/web.d.ts.map +1 -1
  26. package/dist/web.js +18 -11
  27. package/dist/webui/assets/index-d6c-yJNn.js +2059 -0
  28. package/dist/webui/assets/index-yKdFLN1k.css +1 -0
  29. package/dist/webui/assets/react-vendor-l0sNRNKZ.js +1 -0
  30. package/dist/webui/assets/tanstack-BjCuxfF-.js +41 -0
  31. package/dist/webui/index.html +3 -4
  32. package/package.json +13 -23
  33. package/dist/cli/assets/sounds/SOURCES.md +0 -35
  34. package/dist/cli/assets/sounds/boot.wav +0 -0
  35. package/dist/cli/assets/sounds/chime.wav +0 -0
  36. package/dist/cli/assets/sounds/coin.wav +0 -0
  37. package/dist/cli/assets/sounds/confirm.wav +0 -0
  38. package/dist/cli/assets/sounds/levelup.wav +0 -0
  39. package/dist/cli/assets/sounds/ping.wav +0 -0
  40. package/dist/cli/assets/sounds/powerup.wav +0 -0
  41. package/dist/cli/assets/sounds/startup.wav +0 -0
  42. package/dist/cli/assets/sounds/success.wav +0 -0
  43. package/dist/cli/assets/sounds/treasure.wav +0 -0
  44. package/dist/cli/assets/sounds/win.wav +0 -0
  45. package/dist/cli/commands/interactive-commands/auth/index.d.ts +0 -12
  46. package/dist/cli/commands/interactive-commands/auth/index.d.ts.map +0 -1
  47. package/dist/cli/commands/interactive-commands/auth/index.js +0 -20
  48. package/dist/cli/commands/interactive-commands/command-parser.d.ts +0 -56
  49. package/dist/cli/commands/interactive-commands/command-parser.d.ts.map +0 -1
  50. package/dist/cli/commands/interactive-commands/command-parser.js +0 -173
  51. package/dist/cli/commands/interactive-commands/commands.d.ts +0 -52
  52. package/dist/cli/commands/interactive-commands/commands.d.ts.map +0 -1
  53. package/dist/cli/commands/interactive-commands/commands.js +0 -142
  54. package/dist/cli/commands/interactive-commands/documentation-commands.d.ts +0 -15
  55. package/dist/cli/commands/interactive-commands/documentation-commands.d.ts.map +0 -1
  56. package/dist/cli/commands/interactive-commands/documentation-commands.js +0 -39
  57. package/dist/cli/commands/interactive-commands/exit-handler.d.ts +0 -12
  58. package/dist/cli/commands/interactive-commands/exit-handler.d.ts.map +0 -1
  59. package/dist/cli/commands/interactive-commands/exit-handler.js +0 -20
  60. package/dist/cli/commands/interactive-commands/exit-stats.d.ts +0 -24
  61. package/dist/cli/commands/interactive-commands/exit-stats.d.ts.map +0 -1
  62. package/dist/cli/commands/interactive-commands/exit-stats.js +0 -17
  63. package/dist/cli/commands/interactive-commands/export/index.d.ts +0 -13
  64. package/dist/cli/commands/interactive-commands/export/index.d.ts.map +0 -1
  65. package/dist/cli/commands/interactive-commands/export/index.js +0 -21
  66. package/dist/cli/commands/interactive-commands/general-commands.d.ts +0 -22
  67. package/dist/cli/commands/interactive-commands/general-commands.d.ts.map +0 -1
  68. package/dist/cli/commands/interactive-commands/general-commands.js +0 -508
  69. package/dist/cli/commands/interactive-commands/mcp/index.d.ts +0 -13
  70. package/dist/cli/commands/interactive-commands/mcp/index.d.ts.map +0 -1
  71. package/dist/cli/commands/interactive-commands/mcp/index.js +0 -18
  72. package/dist/cli/commands/interactive-commands/model/index.d.ts +0 -13
  73. package/dist/cli/commands/interactive-commands/model/index.d.ts.map +0 -1
  74. package/dist/cli/commands/interactive-commands/model/index.js +0 -19
  75. package/dist/cli/commands/interactive-commands/plugin/index.d.ts +0 -13
  76. package/dist/cli/commands/interactive-commands/plugin/index.d.ts.map +0 -1
  77. package/dist/cli/commands/interactive-commands/plugin/index.js +0 -18
  78. package/dist/cli/commands/interactive-commands/prompt-commands.d.ts +0 -25
  79. package/dist/cli/commands/interactive-commands/prompt-commands.d.ts.map +0 -1
  80. package/dist/cli/commands/interactive-commands/prompt-commands.js +0 -284
  81. package/dist/cli/commands/interactive-commands/session/index.d.ts +0 -16
  82. package/dist/cli/commands/interactive-commands/session/index.d.ts.map +0 -1
  83. package/dist/cli/commands/interactive-commands/session/index.js +0 -15
  84. package/dist/cli/commands/interactive-commands/session/session-commands.d.ts +0 -32
  85. package/dist/cli/commands/interactive-commands/session/session-commands.d.ts.map +0 -1
  86. package/dist/cli/commands/interactive-commands/session/session-commands.js +0 -65
  87. package/dist/cli/commands/interactive-commands/system/index.d.ts +0 -13
  88. package/dist/cli/commands/interactive-commands/system/index.d.ts.map +0 -1
  89. package/dist/cli/commands/interactive-commands/system/index.js +0 -12
  90. package/dist/cli/commands/interactive-commands/system/system-commands.d.ts +0 -6
  91. package/dist/cli/commands/interactive-commands/system/system-commands.d.ts.map +0 -1
  92. package/dist/cli/commands/interactive-commands/system/system-commands.js +0 -188
  93. package/dist/cli/commands/interactive-commands/tool-commands.d.ts +0 -15
  94. package/dist/cli/commands/interactive-commands/tool-commands.d.ts.map +0 -1
  95. package/dist/cli/commands/interactive-commands/tool-commands.js +0 -24
  96. package/dist/cli/commands/interactive-commands/utils/arg-parser.d.ts +0 -57
  97. package/dist/cli/commands/interactive-commands/utils/arg-parser.d.ts.map +0 -1
  98. package/dist/cli/commands/interactive-commands/utils/arg-parser.js +0 -81
  99. package/dist/cli/commands/interactive-commands/utils/command-output.d.ts +0 -40
  100. package/dist/cli/commands/interactive-commands/utils/command-output.d.ts.map +0 -1
  101. package/dist/cli/commands/interactive-commands/utils/command-output.js +0 -56
  102. package/dist/cli/commands/interactive-commands/utils/format-output.d.ts +0 -14
  103. package/dist/cli/commands/interactive-commands/utils/format-output.d.ts.map +0 -1
  104. package/dist/cli/commands/interactive-commands/utils/format-output.js +0 -18
  105. package/dist/cli/ink-cli/InkCLIRefactored.d.ts +0 -52
  106. package/dist/cli/ink-cli/InkCLIRefactored.d.ts.map +0 -1
  107. package/dist/cli/ink-cli/InkCLIRefactored.js +0 -231
  108. package/dist/cli/ink-cli/components/ApprovalPrompt.d.ts +0 -44
  109. package/dist/cli/ink-cli/components/ApprovalPrompt.d.ts.map +0 -1
  110. package/dist/cli/ink-cli/components/ApprovalPrompt.js +0 -323
  111. package/dist/cli/ink-cli/components/BackgroundTasksPanel.d.ts +0 -18
  112. package/dist/cli/ink-cli/components/BackgroundTasksPanel.d.ts.map +0 -1
  113. package/dist/cli/ink-cli/components/BackgroundTasksPanel.js +0 -48
  114. package/dist/cli/ink-cli/components/CustomInput.d.ts +0 -17
  115. package/dist/cli/ink-cli/components/CustomInput.d.ts.map +0 -1
  116. package/dist/cli/ink-cli/components/CustomInput.js +0 -51
  117. package/dist/cli/ink-cli/components/CustomTextInput.d.ts +0 -16
  118. package/dist/cli/ink-cli/components/CustomTextInput.d.ts.map +0 -1
  119. package/dist/cli/ink-cli/components/CustomTextInput.js +0 -36
  120. package/dist/cli/ink-cli/components/EditableMultiLineInput.d.ts +0 -19
  121. package/dist/cli/ink-cli/components/EditableMultiLineInput.d.ts.map +0 -1
  122. package/dist/cli/ink-cli/components/EditableMultiLineInput.js +0 -120
  123. package/dist/cli/ink-cli/components/ElicitationForm.d.ts +0 -24
  124. package/dist/cli/ink-cli/components/ElicitationForm.d.ts.map +0 -1
  125. package/dist/cli/ink-cli/components/ElicitationForm.js +0 -592
  126. package/dist/cli/ink-cli/components/ErrorBoundary.d.ts +0 -20
  127. package/dist/cli/ink-cli/components/ErrorBoundary.d.ts.map +0 -1
  128. package/dist/cli/ink-cli/components/ErrorBoundary.js +0 -29
  129. package/dist/cli/ink-cli/components/Footer.d.ts +0 -22
  130. package/dist/cli/ink-cli/components/Footer.d.ts.map +0 -1
  131. package/dist/cli/ink-cli/components/Footer.js +0 -76
  132. package/dist/cli/ink-cli/components/HistorySearchBar.d.ts +0 -17
  133. package/dist/cli/ink-cli/components/HistorySearchBar.d.ts.map +0 -1
  134. package/dist/cli/ink-cli/components/HistorySearchBar.js +0 -8
  135. package/dist/cli/ink-cli/components/MultiLineInput.d.ts +0 -12
  136. package/dist/cli/ink-cli/components/MultiLineInput.d.ts.map +0 -1
  137. package/dist/cli/ink-cli/components/MultiLineInput.js +0 -27
  138. package/dist/cli/ink-cli/components/ResourceAutocomplete.d.ts +0 -26
  139. package/dist/cli/ink-cli/components/ResourceAutocomplete.d.ts.map +0 -1
  140. package/dist/cli/ink-cli/components/ResourceAutocomplete.js +0 -385
  141. package/dist/cli/ink-cli/components/SlashCommandAutocomplete.d.ts +0 -28
  142. package/dist/cli/ink-cli/components/SlashCommandAutocomplete.d.ts.map +0 -1
  143. package/dist/cli/ink-cli/components/SlashCommandAutocomplete.js +0 -412
  144. package/dist/cli/ink-cli/components/StatusBar.d.ts +0 -41
  145. package/dist/cli/ink-cli/components/StatusBar.d.ts.map +0 -1
  146. package/dist/cli/ink-cli/components/StatusBar.js +0 -116
  147. package/dist/cli/ink-cli/components/TextBufferInput.d.ts +0 -52
  148. package/dist/cli/ink-cli/components/TextBufferInput.d.ts.map +0 -1
  149. package/dist/cli/ink-cli/components/TextBufferInput.js +0 -490
  150. package/dist/cli/ink-cli/components/TodoPanel.d.ts +0 -26
  151. package/dist/cli/ink-cli/components/TodoPanel.d.ts.map +0 -1
  152. package/dist/cli/ink-cli/components/TodoPanel.js +0 -62
  153. package/dist/cli/ink-cli/components/base/BaseAutocomplete.d.ts +0 -29
  154. package/dist/cli/ink-cli/components/base/BaseAutocomplete.d.ts.map +0 -1
  155. package/dist/cli/ink-cli/components/base/BaseAutocomplete.js +0 -98
  156. package/dist/cli/ink-cli/components/base/BaseSelector.d.ts +0 -37
  157. package/dist/cli/ink-cli/components/base/BaseSelector.d.ts.map +0 -1
  158. package/dist/cli/ink-cli/components/base/BaseSelector.js +0 -128
  159. package/dist/cli/ink-cli/components/base/index.d.ts +0 -6
  160. package/dist/cli/ink-cli/components/base/index.d.ts.map +0 -1
  161. package/dist/cli/ink-cli/components/base/index.js +0 -5
  162. package/dist/cli/ink-cli/components/chat/ChatView.d.ts +0 -19
  163. package/dist/cli/ink-cli/components/chat/ChatView.d.ts.map +0 -1
  164. package/dist/cli/ink-cli/components/chat/ChatView.js +0 -11
  165. package/dist/cli/ink-cli/components/chat/Footer.d.ts +0 -9
  166. package/dist/cli/ink-cli/components/chat/Footer.d.ts.map +0 -1
  167. package/dist/cli/ink-cli/components/chat/Footer.js +0 -8
  168. package/dist/cli/ink-cli/components/chat/Header.d.ts +0 -18
  169. package/dist/cli/ink-cli/components/chat/Header.d.ts.map +0 -1
  170. package/dist/cli/ink-cli/components/chat/Header.js +0 -16
  171. package/dist/cli/ink-cli/components/chat/MessageItem.d.ts +0 -21
  172. package/dist/cli/ink-cli/components/chat/MessageItem.d.ts.map +0 -1
  173. package/dist/cli/ink-cli/components/chat/MessageItem.js +0 -182
  174. package/dist/cli/ink-cli/components/chat/MessageList.d.ts +0 -16
  175. package/dist/cli/ink-cli/components/chat/MessageList.d.ts.map +0 -1
  176. package/dist/cli/ink-cli/components/chat/MessageList.js +0 -20
  177. package/dist/cli/ink-cli/components/chat/QueuedMessagesDisplay.d.ts +0 -16
  178. package/dist/cli/ink-cli/components/chat/QueuedMessagesDisplay.d.ts.map +0 -1
  179. package/dist/cli/ink-cli/components/chat/QueuedMessagesDisplay.js +0 -27
  180. package/dist/cli/ink-cli/components/chat/ToolIcon.d.ts +0 -18
  181. package/dist/cli/ink-cli/components/chat/ToolIcon.d.ts.map +0 -1
  182. package/dist/cli/ink-cli/components/chat/ToolIcon.js +0 -36
  183. package/dist/cli/ink-cli/components/chat/index.d.ts +0 -10
  184. package/dist/cli/ink-cli/components/chat/index.d.ts.map +0 -1
  185. package/dist/cli/ink-cli/components/chat/index.js +0 -9
  186. package/dist/cli/ink-cli/components/chat/styled-boxes/ConfigBox.d.ts +0 -10
  187. package/dist/cli/ink-cli/components/chat/styled-boxes/ConfigBox.d.ts.map +0 -1
  188. package/dist/cli/ink-cli/components/chat/styled-boxes/ConfigBox.js +0 -6
  189. package/dist/cli/ink-cli/components/chat/styled-boxes/HelpBox.d.ts +0 -10
  190. package/dist/cli/ink-cli/components/chat/styled-boxes/HelpBox.d.ts.map +0 -1
  191. package/dist/cli/ink-cli/components/chat/styled-boxes/HelpBox.js +0 -15
  192. package/dist/cli/ink-cli/components/chat/styled-boxes/LogConfigBox.d.ts +0 -10
  193. package/dist/cli/ink-cli/components/chat/styled-boxes/LogConfigBox.d.ts.map +0 -1
  194. package/dist/cli/ink-cli/components/chat/styled-boxes/LogConfigBox.js +0 -9
  195. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionHistoryBox.d.ts +0 -10
  196. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionHistoryBox.d.ts.map +0 -1
  197. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionHistoryBox.js +0 -37
  198. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionListBox.d.ts +0 -10
  199. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionListBox.d.ts.map +0 -1
  200. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionListBox.js +0 -9
  201. package/dist/cli/ink-cli/components/chat/styled-boxes/ShortcutsBox.d.ts +0 -10
  202. package/dist/cli/ink-cli/components/chat/styled-boxes/ShortcutsBox.d.ts.map +0 -1
  203. package/dist/cli/ink-cli/components/chat/styled-boxes/ShortcutsBox.js +0 -6
  204. package/dist/cli/ink-cli/components/chat/styled-boxes/StatsBox.d.ts +0 -10
  205. package/dist/cli/ink-cli/components/chat/styled-boxes/StatsBox.d.ts.map +0 -1
  206. package/dist/cli/ink-cli/components/chat/styled-boxes/StatsBox.js +0 -29
  207. package/dist/cli/ink-cli/components/chat/styled-boxes/StyledBox.d.ts +0 -45
  208. package/dist/cli/ink-cli/components/chat/styled-boxes/StyledBox.d.ts.map +0 -1
  209. package/dist/cli/ink-cli/components/chat/styled-boxes/StyledBox.js +0 -38
  210. package/dist/cli/ink-cli/components/chat/styled-boxes/SyspromptBox.d.ts +0 -10
  211. package/dist/cli/ink-cli/components/chat/styled-boxes/SyspromptBox.d.ts.map +0 -1
  212. package/dist/cli/ink-cli/components/chat/styled-boxes/SyspromptBox.js +0 -6
  213. package/dist/cli/ink-cli/components/chat/styled-boxes/index.d.ts +0 -13
  214. package/dist/cli/ink-cli/components/chat/styled-boxes/index.d.ts.map +0 -1
  215. package/dist/cli/ink-cli/components/chat/styled-boxes/index.js +0 -12
  216. package/dist/cli/ink-cli/components/input/InputArea.d.ts +0 -46
  217. package/dist/cli/ink-cli/components/input/InputArea.d.ts.map +0 -1
  218. package/dist/cli/ink-cli/components/input/InputArea.js +0 -6
  219. package/dist/cli/ink-cli/components/input/index.d.ts +0 -5
  220. package/dist/cli/ink-cli/components/input/index.d.ts.map +0 -1
  221. package/dist/cli/ink-cli/components/input/index.js +0 -4
  222. package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.d.ts +0 -27
  223. package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.d.ts.map +0 -1
  224. package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.js +0 -182
  225. package/dist/cli/ink-cli/components/modes/StaticCLI.d.ts +0 -29
  226. package/dist/cli/ink-cli/components/modes/StaticCLI.d.ts.map +0 -1
  227. package/dist/cli/ink-cli/components/modes/StaticCLI.js +0 -114
  228. package/dist/cli/ink-cli/components/modes/index.d.ts +0 -10
  229. package/dist/cli/ink-cli/components/modes/index.d.ts.map +0 -1
  230. package/dist/cli/ink-cli/components/modes/index.js +0 -9
  231. package/dist/cli/ink-cli/components/overlays/ApiKeyInput.d.ts +0 -26
  232. package/dist/cli/ink-cli/components/overlays/ApiKeyInput.d.ts.map +0 -1
  233. package/dist/cli/ink-cli/components/overlays/ApiKeyInput.js +0 -92
  234. package/dist/cli/ink-cli/components/overlays/CommandOutputOverlay.d.ts +0 -13
  235. package/dist/cli/ink-cli/components/overlays/CommandOutputOverlay.d.ts.map +0 -1
  236. package/dist/cli/ink-cli/components/overlays/CommandOutputOverlay.js +0 -60
  237. package/dist/cli/ink-cli/components/overlays/ContextStatsOverlay.d.ts +0 -26
  238. package/dist/cli/ink-cli/components/overlays/ContextStatsOverlay.d.ts.map +0 -1
  239. package/dist/cli/ink-cli/components/overlays/ContextStatsOverlay.js +0 -241
  240. package/dist/cli/ink-cli/components/overlays/CustomModelWizard.d.ts +0 -29
  241. package/dist/cli/ink-cli/components/overlays/CustomModelWizard.d.ts.map +0 -1
  242. package/dist/cli/ink-cli/components/overlays/CustomModelWizard.js +0 -301
  243. package/dist/cli/ink-cli/components/overlays/ExportWizard.d.ts +0 -22
  244. package/dist/cli/ink-cli/components/overlays/ExportWizard.d.ts.map +0 -1
  245. package/dist/cli/ink-cli/components/overlays/ExportWizard.js +0 -308
  246. package/dist/cli/ink-cli/components/overlays/LogLevelSelector.d.ts +0 -23
  247. package/dist/cli/ink-cli/components/overlays/LogLevelSelector.d.ts.map +0 -1
  248. package/dist/cli/ink-cli/components/overlays/LogLevelSelector.js +0 -70
  249. package/dist/cli/ink-cli/components/overlays/MarketplaceAddPrompt.d.ts +0 -20
  250. package/dist/cli/ink-cli/components/overlays/MarketplaceAddPrompt.d.ts.map +0 -1
  251. package/dist/cli/ink-cli/components/overlays/MarketplaceAddPrompt.js +0 -81
  252. package/dist/cli/ink-cli/components/overlays/MarketplaceBrowser.d.ts +0 -31
  253. package/dist/cli/ink-cli/components/overlays/MarketplaceBrowser.d.ts.map +0 -1
  254. package/dist/cli/ink-cli/components/overlays/MarketplaceBrowser.js +0 -297
  255. package/dist/cli/ink-cli/components/overlays/McpAddChoice.d.ts +0 -22
  256. package/dist/cli/ink-cli/components/overlays/McpAddChoice.d.ts.map +0 -1
  257. package/dist/cli/ink-cli/components/overlays/McpAddChoice.js +0 -59
  258. package/dist/cli/ink-cli/components/overlays/McpAddSelector.d.ts +0 -26
  259. package/dist/cli/ink-cli/components/overlays/McpAddSelector.d.ts.map +0 -1
  260. package/dist/cli/ink-cli/components/overlays/McpAddSelector.js +0 -73
  261. package/dist/cli/ink-cli/components/overlays/McpCustomTypeSelector.d.ts +0 -21
  262. package/dist/cli/ink-cli/components/overlays/McpCustomTypeSelector.d.ts.map +0 -1
  263. package/dist/cli/ink-cli/components/overlays/McpCustomTypeSelector.js +0 -51
  264. package/dist/cli/ink-cli/components/overlays/McpCustomWizard.d.ts +0 -29
  265. package/dist/cli/ink-cli/components/overlays/McpCustomWizard.d.ts.map +0 -1
  266. package/dist/cli/ink-cli/components/overlays/McpCustomWizard.js +0 -215
  267. package/dist/cli/ink-cli/components/overlays/McpRemoveSelector.d.ts +0 -22
  268. package/dist/cli/ink-cli/components/overlays/McpRemoveSelector.d.ts.map +0 -1
  269. package/dist/cli/ink-cli/components/overlays/McpRemoveSelector.js +0 -80
  270. package/dist/cli/ink-cli/components/overlays/McpSelector.d.ts +0 -21
  271. package/dist/cli/ink-cli/components/overlays/McpSelector.d.ts.map +0 -1
  272. package/dist/cli/ink-cli/components/overlays/McpSelector.js +0 -52
  273. package/dist/cli/ink-cli/components/overlays/McpServerActions.d.ts +0 -28
  274. package/dist/cli/ink-cli/components/overlays/McpServerActions.d.ts.map +0 -1
  275. package/dist/cli/ink-cli/components/overlays/McpServerActions.js +0 -93
  276. package/dist/cli/ink-cli/components/overlays/McpServerList.d.ts +0 -29
  277. package/dist/cli/ink-cli/components/overlays/McpServerList.d.ts.map +0 -1
  278. package/dist/cli/ink-cli/components/overlays/McpServerList.js +0 -116
  279. package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.d.ts +0 -28
  280. package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.d.ts.map +0 -1
  281. package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.js +0 -743
  282. package/dist/cli/ink-cli/components/overlays/PluginActions.d.ts +0 -27
  283. package/dist/cli/ink-cli/components/overlays/PluginActions.d.ts.map +0 -1
  284. package/dist/cli/ink-cli/components/overlays/PluginActions.js +0 -66
  285. package/dist/cli/ink-cli/components/overlays/PluginList.d.ts +0 -21
  286. package/dist/cli/ink-cli/components/overlays/PluginList.d.ts.map +0 -1
  287. package/dist/cli/ink-cli/components/overlays/PluginList.js +0 -70
  288. package/dist/cli/ink-cli/components/overlays/PluginManager.d.ts +0 -21
  289. package/dist/cli/ink-cli/components/overlays/PluginManager.d.ts.map +0 -1
  290. package/dist/cli/ink-cli/components/overlays/PluginManager.js +0 -63
  291. package/dist/cli/ink-cli/components/overlays/PromptAddChoice.d.ts +0 -22
  292. package/dist/cli/ink-cli/components/overlays/PromptAddChoice.d.ts.map +0 -1
  293. package/dist/cli/ink-cli/components/overlays/PromptAddChoice.js +0 -52
  294. package/dist/cli/ink-cli/components/overlays/PromptAddWizard.d.ts +0 -29
  295. package/dist/cli/ink-cli/components/overlays/PromptAddWizard.d.ts.map +0 -1
  296. package/dist/cli/ink-cli/components/overlays/PromptAddWizard.js +0 -166
  297. package/dist/cli/ink-cli/components/overlays/PromptDeleteSelector.d.ts +0 -27
  298. package/dist/cli/ink-cli/components/overlays/PromptDeleteSelector.d.ts.map +0 -1
  299. package/dist/cli/ink-cli/components/overlays/PromptDeleteSelector.js +0 -119
  300. package/dist/cli/ink-cli/components/overlays/PromptList.d.ts +0 -33
  301. package/dist/cli/ink-cli/components/overlays/PromptList.d.ts.map +0 -1
  302. package/dist/cli/ink-cli/components/overlays/PromptList.js +0 -143
  303. package/dist/cli/ink-cli/components/overlays/SearchOverlay.d.ts +0 -23
  304. package/dist/cli/ink-cli/components/overlays/SearchOverlay.d.ts.map +0 -1
  305. package/dist/cli/ink-cli/components/overlays/SearchOverlay.js +0 -189
  306. package/dist/cli/ink-cli/components/overlays/SessionRenameOverlay.d.ts +0 -21
  307. package/dist/cli/ink-cli/components/overlays/SessionRenameOverlay.d.ts.map +0 -1
  308. package/dist/cli/ink-cli/components/overlays/SessionRenameOverlay.js +0 -63
  309. package/dist/cli/ink-cli/components/overlays/SessionSelectorRefactored.d.ts +0 -26
  310. package/dist/cli/ink-cli/components/overlays/SessionSelectorRefactored.d.ts.map +0 -1
  311. package/dist/cli/ink-cli/components/overlays/SessionSelectorRefactored.js +0 -126
  312. package/dist/cli/ink-cli/components/overlays/SessionSubcommandSelector.d.ts +0 -21
  313. package/dist/cli/ink-cli/components/overlays/SessionSubcommandSelector.d.ts.map +0 -1
  314. package/dist/cli/ink-cli/components/overlays/SessionSubcommandSelector.js +0 -42
  315. package/dist/cli/ink-cli/components/overlays/SoundsSelector.d.ts +0 -21
  316. package/dist/cli/ink-cli/components/overlays/SoundsSelector.d.ts.map +0 -1
  317. package/dist/cli/ink-cli/components/overlays/SoundsSelector.js +0 -566
  318. package/dist/cli/ink-cli/components/overlays/StreamSelector.d.ts +0 -20
  319. package/dist/cli/ink-cli/components/overlays/StreamSelector.d.ts.map +0 -1
  320. package/dist/cli/ink-cli/components/overlays/StreamSelector.js +0 -58
  321. package/dist/cli/ink-cli/components/overlays/ToolBrowser.d.ts +0 -26
  322. package/dist/cli/ink-cli/components/overlays/ToolBrowser.d.ts.map +0 -1
  323. package/dist/cli/ink-cli/components/overlays/ToolBrowser.js +0 -697
  324. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/LocalModelWizard.d.ts +0 -25
  325. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/LocalModelWizard.d.ts.map +0 -1
  326. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/LocalModelWizard.js +0 -604
  327. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/index.d.ts +0 -15
  328. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/index.d.ts.map +0 -1
  329. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/index.js +0 -14
  330. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/provider-config.d.ts +0 -42
  331. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/provider-config.d.ts.map +0 -1
  332. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/provider-config.js +0 -547
  333. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ApiKeyStep.d.ts +0 -25
  334. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ApiKeyStep.d.ts.map +0 -1
  335. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ApiKeyStep.js +0 -29
  336. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ProviderSelector.d.ts +0 -17
  337. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ProviderSelector.d.ts.map +0 -1
  338. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ProviderSelector.js +0 -11
  339. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/SetupInfoBanner.d.ts +0 -20
  340. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/SetupInfoBanner.d.ts.map +0 -1
  341. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/SetupInfoBanner.js +0 -10
  342. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/WizardStepInput.d.ts +0 -30
  343. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/WizardStepInput.d.ts.map +0 -1
  344. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/WizardStepInput.js +0 -13
  345. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/index.d.ts +0 -8
  346. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/index.d.ts.map +0 -1
  347. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/index.js +0 -7
  348. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/types.d.ts +0 -85
  349. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/types.d.ts.map +0 -1
  350. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/types.js +0 -38
  351. package/dist/cli/ink-cli/components/renderers/DiffRenderer.d.ts +0 -21
  352. package/dist/cli/ink-cli/components/renderers/DiffRenderer.d.ts.map +0 -1
  353. package/dist/cli/ink-cli/components/renderers/DiffRenderer.js +0 -65
  354. package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.d.ts +0 -30
  355. package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.d.ts.map +0 -1
  356. package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.js +0 -67
  357. package/dist/cli/ink-cli/components/renderers/FileRenderer.d.ts +0 -21
  358. package/dist/cli/ink-cli/components/renderers/FileRenderer.d.ts.map +0 -1
  359. package/dist/cli/ink-cli/components/renderers/FileRenderer.js +0 -37
  360. package/dist/cli/ink-cli/components/renderers/GenericRenderer.d.ts +0 -21
  361. package/dist/cli/ink-cli/components/renderers/GenericRenderer.d.ts.map +0 -1
  362. package/dist/cli/ink-cli/components/renderers/GenericRenderer.js +0 -26
  363. package/dist/cli/ink-cli/components/renderers/SearchRenderer.d.ts +0 -20
  364. package/dist/cli/ink-cli/components/renderers/SearchRenderer.d.ts.map +0 -1
  365. package/dist/cli/ink-cli/components/renderers/SearchRenderer.js +0 -26
  366. package/dist/cli/ink-cli/components/renderers/ShellRenderer.d.ts +0 -21
  367. package/dist/cli/ink-cli/components/renderers/ShellRenderer.d.ts.map +0 -1
  368. package/dist/cli/ink-cli/components/renderers/ShellRenderer.js +0 -15
  369. package/dist/cli/ink-cli/components/renderers/diff-shared.d.ts +0 -61
  370. package/dist/cli/ink-cli/components/renderers/diff-shared.d.ts.map +0 -1
  371. package/dist/cli/ink-cli/components/renderers/diff-shared.js +0 -158
  372. package/dist/cli/ink-cli/components/renderers/index.d.ts +0 -28
  373. package/dist/cli/ink-cli/components/renderers/index.d.ts.map +0 -1
  374. package/dist/cli/ink-cli/components/renderers/index.js +0 -36
  375. package/dist/cli/ink-cli/components/shared/FocusOverlayFrame.d.ts +0 -7
  376. package/dist/cli/ink-cli/components/shared/FocusOverlayFrame.d.ts.map +0 -1
  377. package/dist/cli/ink-cli/components/shared/FocusOverlayFrame.js +0 -8
  378. package/dist/cli/ink-cli/components/shared/HintBar.d.ts +0 -6
  379. package/dist/cli/ink-cli/components/shared/HintBar.d.ts.map +0 -1
  380. package/dist/cli/ink-cli/components/shared/HintBar.js +0 -6
  381. package/dist/cli/ink-cli/components/shared/MarkdownText.d.ts +0 -38
  382. package/dist/cli/ink-cli/components/shared/MarkdownText.d.ts.map +0 -1
  383. package/dist/cli/ink-cli/components/shared/MarkdownText.js +0 -389
  384. package/dist/cli/ink-cli/components/shared/VirtualizedList.d.ts +0 -44
  385. package/dist/cli/ink-cli/components/shared/VirtualizedList.d.ts.map +0 -1
  386. package/dist/cli/ink-cli/components/shared/VirtualizedList.js +0 -300
  387. package/dist/cli/ink-cli/components/shared/text-buffer.d.ts +0 -185
  388. package/dist/cli/ink-cli/components/shared/text-buffer.d.ts.map +0 -1
  389. package/dist/cli/ink-cli/components/shared/text-buffer.js +0 -1338
  390. package/dist/cli/ink-cli/constants/processingPhrases.d.ts +0 -10
  391. package/dist/cli/ink-cli/constants/processingPhrases.d.ts.map +0 -1
  392. package/dist/cli/ink-cli/constants/processingPhrases.js +0 -92
  393. package/dist/cli/ink-cli/constants/spinnerFrames.d.ts +0 -2
  394. package/dist/cli/ink-cli/constants/spinnerFrames.d.ts.map +0 -1
  395. package/dist/cli/ink-cli/constants/spinnerFrames.js +0 -1
  396. package/dist/cli/ink-cli/constants/tips.d.ts +0 -15
  397. package/dist/cli/ink-cli/constants/tips.d.ts.map +0 -1
  398. package/dist/cli/ink-cli/constants/tips.js +0 -58
  399. package/dist/cli/ink-cli/containers/InputContainer.d.ts +0 -62
  400. package/dist/cli/ink-cli/containers/InputContainer.d.ts.map +0 -1
  401. package/dist/cli/ink-cli/containers/InputContainer.js +0 -643
  402. package/dist/cli/ink-cli/containers/OverlayContainer.d.ts +0 -42
  403. package/dist/cli/ink-cli/containers/OverlayContainer.d.ts.map +0 -1
  404. package/dist/cli/ink-cli/containers/OverlayContainer.js +0 -1840
  405. package/dist/cli/ink-cli/containers/index.d.ts +0 -6
  406. package/dist/cli/ink-cli/containers/index.d.ts.map +0 -1
  407. package/dist/cli/ink-cli/containers/index.js +0 -5
  408. package/dist/cli/ink-cli/contexts/KeypressContext.d.ts +0 -36
  409. package/dist/cli/ink-cli/contexts/KeypressContext.d.ts.map +0 -1
  410. package/dist/cli/ink-cli/contexts/KeypressContext.js +0 -461
  411. package/dist/cli/ink-cli/contexts/MouseContext.d.ts +0 -27
  412. package/dist/cli/ink-cli/contexts/MouseContext.d.ts.map +0 -1
  413. package/dist/cli/ink-cli/contexts/MouseContext.js +0 -102
  414. package/dist/cli/ink-cli/contexts/ScrollProvider.d.ts +0 -33
  415. package/dist/cli/ink-cli/contexts/ScrollProvider.d.ts.map +0 -1
  416. package/dist/cli/ink-cli/contexts/ScrollProvider.js +0 -170
  417. package/dist/cli/ink-cli/contexts/SoundContext.d.ts +0 -23
  418. package/dist/cli/ink-cli/contexts/SoundContext.d.ts.map +0 -1
  419. package/dist/cli/ink-cli/contexts/SoundContext.js +0 -22
  420. package/dist/cli/ink-cli/contexts/index.d.ts +0 -8
  421. package/dist/cli/ink-cli/contexts/index.d.ts.map +0 -1
  422. package/dist/cli/ink-cli/contexts/index.js +0 -7
  423. package/dist/cli/ink-cli/hooks/index.d.ts +0 -12
  424. package/dist/cli/ink-cli/hooks/index.d.ts.map +0 -1
  425. package/dist/cli/ink-cli/hooks/index.js +0 -14
  426. package/dist/cli/ink-cli/hooks/useAgentEvents.d.ts +0 -49
  427. package/dist/cli/ink-cli/hooks/useAgentEvents.d.ts.map +0 -1
  428. package/dist/cli/ink-cli/hooks/useAgentEvents.js +0 -369
  429. package/dist/cli/ink-cli/hooks/useAnimationTick.d.ts +0 -11
  430. package/dist/cli/ink-cli/hooks/useAnimationTick.d.ts.map +0 -1
  431. package/dist/cli/ink-cli/hooks/useAnimationTick.js +0 -54
  432. package/dist/cli/ink-cli/hooks/useBatchedScroll.d.ts +0 -14
  433. package/dist/cli/ink-cli/hooks/useBatchedScroll.d.ts.map +0 -1
  434. package/dist/cli/ink-cli/hooks/useBatchedScroll.js +0 -25
  435. package/dist/cli/ink-cli/hooks/useCLIState.d.ts +0 -52
  436. package/dist/cli/ink-cli/hooks/useCLIState.d.ts.map +0 -1
  437. package/dist/cli/ink-cli/hooks/useCLIState.js +0 -224
  438. package/dist/cli/ink-cli/hooks/useElapsedTime.d.ts +0 -24
  439. package/dist/cli/ink-cli/hooks/useElapsedTime.d.ts.map +0 -1
  440. package/dist/cli/ink-cli/hooks/useElapsedTime.js +0 -69
  441. package/dist/cli/ink-cli/hooks/useGitBranch.d.ts +0 -13
  442. package/dist/cli/ink-cli/hooks/useGitBranch.d.ts.map +0 -1
  443. package/dist/cli/ink-cli/hooks/useGitBranch.js +0 -35
  444. package/dist/cli/ink-cli/hooks/useHistorySearch.d.ts +0 -61
  445. package/dist/cli/ink-cli/hooks/useHistorySearch.d.ts.map +0 -1
  446. package/dist/cli/ink-cli/hooks/useHistorySearch.js +0 -210
  447. package/dist/cli/ink-cli/hooks/useInputHistory.d.ts +0 -18
  448. package/dist/cli/ink-cli/hooks/useInputHistory.d.ts.map +0 -1
  449. package/dist/cli/ink-cli/hooks/useInputHistory.js +0 -26
  450. package/dist/cli/ink-cli/hooks/useInputOrchestrator.d.ts +0 -136
  451. package/dist/cli/ink-cli/hooks/useInputOrchestrator.d.ts.map +0 -1
  452. package/dist/cli/ink-cli/hooks/useInputOrchestrator.js +0 -715
  453. package/dist/cli/ink-cli/hooks/useKeyboardShortcuts.d.ts +0 -21
  454. package/dist/cli/ink-cli/hooks/useKeyboardShortcuts.d.ts.map +0 -1
  455. package/dist/cli/ink-cli/hooks/useKeyboardShortcuts.js +0 -80
  456. package/dist/cli/ink-cli/hooks/useKeypress.d.ts +0 -18
  457. package/dist/cli/ink-cli/hooks/useKeypress.d.ts.map +0 -1
  458. package/dist/cli/ink-cli/hooks/useKeypress.js +0 -26
  459. package/dist/cli/ink-cli/hooks/usePhraseCycler.d.ts +0 -30
  460. package/dist/cli/ink-cli/hooks/usePhraseCycler.d.ts.map +0 -1
  461. package/dist/cli/ink-cli/hooks/usePhraseCycler.js +0 -68
  462. package/dist/cli/ink-cli/hooks/useStreaming.d.ts +0 -19
  463. package/dist/cli/ink-cli/hooks/useStreaming.d.ts.map +0 -1
  464. package/dist/cli/ink-cli/hooks/useStreaming.js +0 -26
  465. package/dist/cli/ink-cli/hooks/useTerminalSize.d.ts +0 -14
  466. package/dist/cli/ink-cli/hooks/useTerminalSize.d.ts.map +0 -1
  467. package/dist/cli/ink-cli/hooks/useTerminalSize.js +0 -31
  468. package/dist/cli/ink-cli/hooks/useTokenCounter.d.ts +0 -46
  469. package/dist/cli/ink-cli/hooks/useTokenCounter.d.ts.map +0 -1
  470. package/dist/cli/ink-cli/hooks/useTokenCounter.js +0 -122
  471. package/dist/cli/ink-cli/services/CommandService.d.ts +0 -58
  472. package/dist/cli/ink-cli/services/CommandService.d.ts.map +0 -1
  473. package/dist/cli/ink-cli/services/CommandService.js +0 -64
  474. package/dist/cli/ink-cli/services/InputService.d.ts +0 -40
  475. package/dist/cli/ink-cli/services/InputService.d.ts.map +0 -1
  476. package/dist/cli/ink-cli/services/InputService.js +0 -87
  477. package/dist/cli/ink-cli/services/MessageService.d.ts +0 -35
  478. package/dist/cli/ink-cli/services/MessageService.d.ts.map +0 -1
  479. package/dist/cli/ink-cli/services/MessageService.js +0 -49
  480. package/dist/cli/ink-cli/services/index.d.ts +0 -8
  481. package/dist/cli/ink-cli/services/index.d.ts.map +0 -1
  482. package/dist/cli/ink-cli/services/index.js +0 -7
  483. package/dist/cli/ink-cli/services/processStream.d.ts +0 -75
  484. package/dist/cli/ink-cli/services/processStream.d.ts.map +0 -1
  485. package/dist/cli/ink-cli/services/processStream.js +0 -951
  486. package/dist/cli/ink-cli/state/actions.d.ts +0 -124
  487. package/dist/cli/ink-cli/state/actions.d.ts.map +0 -1
  488. package/dist/cli/ink-cli/state/actions.js +0 -8
  489. package/dist/cli/ink-cli/state/index.d.ts +0 -10
  490. package/dist/cli/ink-cli/state/index.d.ts.map +0 -1
  491. package/dist/cli/ink-cli/state/index.js +0 -8
  492. package/dist/cli/ink-cli/state/initialState.d.ts +0 -12
  493. package/dist/cli/ink-cli/state/initialState.d.ts.map +0 -1
  494. package/dist/cli/ink-cli/state/initialState.js +0 -58
  495. package/dist/cli/ink-cli/state/reducer.d.ts +0 -15
  496. package/dist/cli/ink-cli/state/reducer.d.ts.map +0 -1
  497. package/dist/cli/ink-cli/state/reducer.js +0 -341
  498. package/dist/cli/ink-cli/state/streaming-state.d.ts +0 -27
  499. package/dist/cli/ink-cli/state/streaming-state.d.ts.map +0 -1
  500. package/dist/cli/ink-cli/state/streaming-state.js +0 -39
  501. package/dist/cli/ink-cli/state/types.d.ts +0 -378
  502. package/dist/cli/ink-cli/state/types.d.ts.map +0 -1
  503. package/dist/cli/ink-cli/state/types.js +0 -5
  504. package/dist/cli/ink-cli/utils/bracketedPaste.d.ts +0 -22
  505. package/dist/cli/ink-cli/utils/bracketedPaste.d.ts.map +0 -1
  506. package/dist/cli/ink-cli/utils/bracketedPaste.js +0 -27
  507. package/dist/cli/ink-cli/utils/clipboardUtils.d.ts +0 -49
  508. package/dist/cli/ink-cli/utils/clipboardUtils.d.ts.map +0 -1
  509. package/dist/cli/ink-cli/utils/clipboardUtils.js +0 -356
  510. package/dist/cli/ink-cli/utils/commandOverlays.d.ts +0 -33
  511. package/dist/cli/ink-cli/utils/commandOverlays.d.ts.map +0 -1
  512. package/dist/cli/ink-cli/utils/commandOverlays.js +0 -85
  513. package/dist/cli/ink-cli/utils/debugLog.d.ts +0 -38
  514. package/dist/cli/ink-cli/utils/debugLog.d.ts.map +0 -1
  515. package/dist/cli/ink-cli/utils/debugLog.js +0 -66
  516. package/dist/cli/ink-cli/utils/elicitationSchema.d.ts +0 -11
  517. package/dist/cli/ink-cli/utils/elicitationSchema.d.ts.map +0 -1
  518. package/dist/cli/ink-cli/utils/elicitationSchema.js +0 -80
  519. package/dist/cli/ink-cli/utils/idGenerator.d.ts +0 -10
  520. package/dist/cli/ink-cli/utils/idGenerator.d.ts.map +0 -1
  521. package/dist/cli/ink-cli/utils/idGenerator.js +0 -12
  522. package/dist/cli/ink-cli/utils/index.d.ts +0 -9
  523. package/dist/cli/ink-cli/utils/index.d.ts.map +0 -1
  524. package/dist/cli/ink-cli/utils/index.js +0 -13
  525. package/dist/cli/ink-cli/utils/input.d.ts +0 -25
  526. package/dist/cli/ink-cli/utils/input.d.ts.map +0 -1
  527. package/dist/cli/ink-cli/utils/input.js +0 -56
  528. package/dist/cli/ink-cli/utils/inputParsing.d.ts +0 -31
  529. package/dist/cli/ink-cli/utils/inputParsing.d.ts.map +0 -1
  530. package/dist/cli/ink-cli/utils/inputParsing.js +0 -70
  531. package/dist/cli/ink-cli/utils/llm-provider-display.d.ts +0 -3
  532. package/dist/cli/ink-cli/utils/llm-provider-display.d.ts.map +0 -1
  533. package/dist/cli/ink-cli/utils/llm-provider-display.js +0 -22
  534. package/dist/cli/ink-cli/utils/messageFormatting.d.ts +0 -125
  535. package/dist/cli/ink-cli/utils/messageFormatting.d.ts.map +0 -1
  536. package/dist/cli/ink-cli/utils/messageFormatting.js +0 -485
  537. package/dist/cli/ink-cli/utils/mouse.d.ts +0 -61
  538. package/dist/cli/ink-cli/utils/mouse.d.ts.map +0 -1
  539. package/dist/cli/ink-cli/utils/mouse.js +0 -209
  540. package/dist/cli/ink-cli/utils/overlayPresentation.d.ts +0 -19
  541. package/dist/cli/ink-cli/utils/overlayPresentation.d.ts.map +0 -1
  542. package/dist/cli/ink-cli/utils/overlayPresentation.js +0 -33
  543. package/dist/cli/ink-cli/utils/overlaySizing.d.ts +0 -19
  544. package/dist/cli/ink-cli/utils/overlaySizing.d.ts.map +0 -1
  545. package/dist/cli/ink-cli/utils/overlaySizing.js +0 -11
  546. package/dist/cli/ink-cli/utils/soundNotification.d.ts +0 -77
  547. package/dist/cli/ink-cli/utils/soundNotification.d.ts.map +0 -1
  548. package/dist/cli/ink-cli/utils/soundNotification.js +0 -226
  549. package/dist/cli/ink-cli/utils/streamSplitter.d.ts +0 -44
  550. package/dist/cli/ink-cli/utils/streamSplitter.d.ts.map +0 -1
  551. package/dist/cli/ink-cli/utils/streamSplitter.js +0 -154
  552. package/dist/cli/ink-cli/utils/textUtils.d.ts +0 -63
  553. package/dist/cli/ink-cli/utils/textUtils.d.ts.map +0 -1
  554. package/dist/cli/ink-cli/utils/textUtils.js +0 -248
  555. package/dist/cli/ink-cli/utils/toolUtils.d.ts +0 -20
  556. package/dist/cli/ink-cli/utils/toolUtils.d.ts.map +0 -1
  557. package/dist/cli/ink-cli/utils/toolUtils.js +0 -25
  558. package/dist/webui/assets/index-C9JXwpvo.css +0 -1
  559. package/dist/webui/assets/index-CKhumsZA.js +0 -2059
  560. package/dist/webui/assets/react-vendor-gH-7aFTg.js +0 -17
  561. package/dist/webui/assets/tanstack-Br79RQ-n.js +0 -25
@@ -59,7 +59,7 @@ export function withAnalytics(commandName, handler, opts) {
59
59
  capture('dexto_cli_command', payload);
60
60
  }
61
61
  catch {
62
- // Timeout instrumentation is best-effort.
62
+ // Timeout instrumentation must never throw.
63
63
  }
64
64
  }, timeoutMs);
65
65
  // Prevent timeout from keeping process alive
@@ -0,0 +1,34 @@
1
+ export type DextoApiKeyProvisionStatusLevel = 'info' | 'success' | 'warning' | 'error';
2
+ export interface DextoApiKeyProvisionStatus {
3
+ level: DextoApiKeyProvisionStatusLevel;
4
+ message: string;
5
+ }
6
+ export interface EnsureDextoApiKeyOptions {
7
+ onStatus?: ((status: DextoApiKeyProvisionStatus) => void) | undefined;
8
+ }
9
+ /**
10
+ * Save DEXTO_API_KEY to the resolved dexto .env path and populate the current
11
+ * process environment immediately.
12
+ */
13
+ export declare function saveDextoApiKeyToEnv(apiKey: string): Promise<void>;
14
+ export declare function removeDextoApiKeyFromEnv(options?: {
15
+ expectedValue?: string;
16
+ }): Promise<{
17
+ removed: boolean;
18
+ targetEnvPath: string;
19
+ }>;
20
+ /**
21
+ * Ensure a Dexto API key exists locally for the current auth session.
22
+ *
23
+ * - If a local key exists and validates, it is re-saved to .env (sync) and returned.
24
+ * - If a local key exists but is invalid, it is rotated (regenerated) and returned.
25
+ * - If no local key exists, a key is provisioned. If one exists server-side but can't
26
+ * be returned, it is regenerated to obtain the value.
27
+ *
28
+ * Returns `null` if provisioning fails (OAuth login can still succeed without it).
29
+ */
30
+ export declare function ensureDextoApiKeyForAuthToken(authToken: string, options?: EnsureDextoApiKeyOptions): Promise<{
31
+ dextoApiKey: string;
32
+ keyId: string | null;
33
+ } | null>;
34
+ //# sourceMappingURL=dexto-api-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dexto-api-key.d.ts","sourceRoot":"","sources":["../../../src/cli/auth/dexto-api-key.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,+BAA+B,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEvF,MAAM,WAAW,0BAA0B;IACvC,KAAK,EAAE,+BAA+B,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACrC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,0BAA0B,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACzE;AAaD;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BxE;AAED,wBAAsB,wBAAwB,CAAC,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC;IAC9F,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACzB,CAAC,CAsDD;AAED;;;;;;;;;GASG;AACH,wBAAsB,6BAA6B,CAC/C,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,wBAA6B,GACvC,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAAC,CAkE/D"}
@@ -0,0 +1,161 @@
1
+ import fs from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { ensureDextoGlobalDirectory, getDextoEnvPath, logger } from '@dexto/core';
4
+ import { getDextoApiClient } from './api-client.js';
5
+ import { loadAuth, storeAuth } from './service.js';
6
+ async function ensureOwnerOnlyPermissions(filePath) {
7
+ try {
8
+ await fs.chmod(filePath, 0o600);
9
+ }
10
+ catch (error) {
11
+ logger.warn('Failed to set permissions on env file', {
12
+ filePath,
13
+ error: error instanceof Error ? error.message : String(error),
14
+ });
15
+ }
16
+ }
17
+ /**
18
+ * Save DEXTO_API_KEY to the resolved dexto .env path and populate the current
19
+ * process environment immediately.
20
+ */
21
+ export async function saveDextoApiKeyToEnv(apiKey) {
22
+ const envVar = 'DEXTO_API_KEY';
23
+ const targetEnvPath = getDextoEnvPath();
24
+ await ensureDextoGlobalDirectory();
25
+ await fs.mkdir(path.dirname(targetEnvPath), { recursive: true });
26
+ let envContent = '';
27
+ try {
28
+ envContent = await fs.readFile(targetEnvPath, 'utf-8');
29
+ }
30
+ catch {
31
+ // File doesn't exist, start fresh
32
+ }
33
+ const lines = envContent.split('\n');
34
+ const keyPattern = new RegExp(`^${envVar}=`);
35
+ const keyIndex = lines.findIndex((line) => keyPattern.test(line));
36
+ if (keyIndex >= 0) {
37
+ lines[keyIndex] = `${envVar}=${apiKey}`;
38
+ }
39
+ else {
40
+ lines.push(`${envVar}=${apiKey}`);
41
+ }
42
+ const nextContent = lines.filter(Boolean).join('\n') + '\n';
43
+ await fs.writeFile(targetEnvPath, nextContent, { encoding: 'utf-8', mode: 0o600 });
44
+ await ensureOwnerOnlyPermissions(targetEnvPath);
45
+ process.env[envVar] = apiKey;
46
+ }
47
+ export async function removeDextoApiKeyFromEnv(options = {}) {
48
+ const envVar = 'DEXTO_API_KEY';
49
+ const targetEnvPath = getDextoEnvPath();
50
+ const clearProcessEnv = () => {
51
+ const currentValue = process.env[envVar];
52
+ if (!currentValue)
53
+ return;
54
+ if (!options.expectedValue || currentValue === options.expectedValue) {
55
+ delete process.env[envVar];
56
+ }
57
+ };
58
+ let envContent = '';
59
+ try {
60
+ envContent = await fs.readFile(targetEnvPath, 'utf-8');
61
+ }
62
+ catch {
63
+ clearProcessEnv();
64
+ return { removed: false, targetEnvPath };
65
+ }
66
+ const lines = envContent.split('\n');
67
+ const keyPattern = new RegExp(`^${envVar}=(.*)$`);
68
+ const keyLineIndex = lines.findIndex((line) => keyPattern.test(line));
69
+ if (keyLineIndex < 0) {
70
+ clearProcessEnv();
71
+ return { removed: false, targetEnvPath };
72
+ }
73
+ if (options.expectedValue) {
74
+ const match = lines[keyLineIndex]?.match(keyPattern);
75
+ const currentValue = match?.[1] ?? '';
76
+ if (currentValue !== options.expectedValue) {
77
+ clearProcessEnv();
78
+ return { removed: false, targetEnvPath };
79
+ }
80
+ }
81
+ lines.splice(keyLineIndex, 1);
82
+ const nextLines = lines.filter(Boolean);
83
+ const nextContent = nextLines.length ? nextLines.join('\n') + '\n' : '';
84
+ try {
85
+ await fs.writeFile(targetEnvPath, nextContent, { encoding: 'utf-8', mode: 0o600 });
86
+ await ensureOwnerOnlyPermissions(targetEnvPath);
87
+ }
88
+ catch (error) {
89
+ clearProcessEnv();
90
+ throw new Error(`Failed to remove ${envVar} from ${targetEnvPath}: ${error instanceof Error ? error.message : String(error)}`);
91
+ }
92
+ clearProcessEnv();
93
+ return { removed: true, targetEnvPath };
94
+ }
95
+ /**
96
+ * Ensure a Dexto API key exists locally for the current auth session.
97
+ *
98
+ * - If a local key exists and validates, it is re-saved to .env (sync) and returned.
99
+ * - If a local key exists but is invalid, it is rotated (regenerated) and returned.
100
+ * - If no local key exists, a key is provisioned. If one exists server-side but can't
101
+ * be returned, it is regenerated to obtain the value.
102
+ *
103
+ * Returns `null` if provisioning fails (OAuth login can still succeed without it).
104
+ */
105
+ export async function ensureDextoApiKeyForAuthToken(authToken, options = {}) {
106
+ const status = (level, message) => options.onStatus?.({ level, message });
107
+ try {
108
+ const apiClient = getDextoApiClient();
109
+ const auth = await loadAuth();
110
+ if (!auth) {
111
+ throw new Error('Authentication state not found');
112
+ }
113
+ if (auth.dextoApiKey) {
114
+ status('info', 'Validating existing API key...');
115
+ const isValid = await apiClient.validateDextoApiKey(auth.dextoApiKey);
116
+ if (isValid) {
117
+ status('success', 'Existing key is valid');
118
+ if (!auth.dextoApiKeySource && auth.dextoKeyId) {
119
+ await storeAuth({
120
+ ...auth,
121
+ dextoApiKeySource: 'provisioned',
122
+ });
123
+ }
124
+ await saveDextoApiKeyToEnv(auth.dextoApiKey);
125
+ return { dextoApiKey: auth.dextoApiKey, keyId: auth.dextoKeyId ?? null };
126
+ }
127
+ status('warning', 'Existing key is invalid, rotating...');
128
+ const rotated = await apiClient.provisionDextoApiKey(authToken, 'Dexto CLI Key', true);
129
+ await storeAuth({
130
+ ...auth,
131
+ dextoApiKey: rotated.dextoApiKey,
132
+ dextoKeyId: rotated.keyId,
133
+ dextoApiKeySource: 'provisioned',
134
+ });
135
+ await saveDextoApiKeyToEnv(rotated.dextoApiKey);
136
+ status('success', 'New key provisioned');
137
+ return { dextoApiKey: rotated.dextoApiKey, keyId: rotated.keyId };
138
+ }
139
+ status('info', 'Provisioning Dexto API key...');
140
+ let provisioned = await apiClient.provisionDextoApiKey(authToken);
141
+ if (!provisioned.isNewKey) {
142
+ status('warning', 'Key exists on server, regenerating...');
143
+ provisioned = await apiClient.provisionDextoApiKey(authToken, 'Dexto CLI Key', true);
144
+ }
145
+ await storeAuth({
146
+ ...auth,
147
+ dextoApiKey: provisioned.dextoApiKey,
148
+ dextoKeyId: provisioned.keyId,
149
+ dextoApiKeySource: 'provisioned',
150
+ });
151
+ await saveDextoApiKeyToEnv(provisioned.dextoApiKey);
152
+ status('success', 'Dexto API key provisioned');
153
+ return { dextoApiKey: provisioned.dextoApiKey, keyId: provisioned.keyId };
154
+ }
155
+ catch (error) {
156
+ const errorMessage = error instanceof Error ? error.message : String(error);
157
+ logger.warn('Failed to ensure DEXTO_API_KEY', { error: errorMessage });
158
+ status('error', `Failed to provision Dexto API key: ${errorMessage}`);
159
+ return null;
160
+ }
161
+ }
@@ -1,5 +1,6 @@
1
1
  export { type AuthConfig, storeAuth, loadAuth, removeAuth, isAuthenticated, getAuthToken, getDextoApiKey, getAuthFilePath, } from './service.js';
2
- export { type OAuthResult, performOAuthLogin, DEFAULT_OAUTH_CONFIG } from './oauth.js';
2
+ export { type OAuthResult, type OAuthLoginSession, beginOAuthLogin, performOAuthLogin, DEFAULT_OAUTH_CONFIG, } from './oauth.js';
3
3
  export { type UsageSummaryResponse, DextoApiClient, getDextoApiClient } from './api-client.js';
4
4
  export { SUPABASE_URL, SUPABASE_ANON_KEY, DEXTO_API_URL } from './constants.js';
5
+ export { type DextoApiKeyProvisionStatus, type DextoApiKeyProvisionStatusLevel, type EnsureDextoApiKeyOptions, ensureDextoApiKeyForAuthToken, saveDextoApiKeyToEnv, removeDextoApiKeyFromEnv, } from './dexto-api-key.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/auth/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,KAAK,UAAU,EACf,SAAS,EACT,QAAQ,EACR,UAAU,EACV,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,WAAW,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvF,OAAO,EAAE,KAAK,oBAAoB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE/F,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/auth/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,KAAK,UAAU,EACf,SAAS,EACT,QAAQ,EACR,UAAU,EACV,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACH,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,GACvB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,KAAK,oBAAoB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE/F,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEhF,OAAO,EACH,KAAK,0BAA0B,EAC/B,KAAK,+BAA+B,EACpC,KAAK,wBAAwB,EAC7B,6BAA6B,EAC7B,oBAAoB,EACpB,wBAAwB,GAC3B,MAAM,oBAAoB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  // packages/cli/src/cli/auth/index.ts
2
2
  // Public exports for auth module
3
3
  export { storeAuth, loadAuth, removeAuth, isAuthenticated, getAuthToken, getDextoApiKey, getAuthFilePath, } from './service.js';
4
- export { performOAuthLogin, DEFAULT_OAUTH_CONFIG } from './oauth.js';
4
+ export { beginOAuthLogin, performOAuthLogin, DEFAULT_OAUTH_CONFIG, } from './oauth.js';
5
5
  export { DextoApiClient, getDextoApiClient } from './api-client.js';
6
6
  export { SUPABASE_URL, SUPABASE_ANON_KEY, DEXTO_API_URL } from './constants.js';
7
+ export { ensureDextoApiKeyForAuthToken, saveDextoApiKeyToEnv, removeDextoApiKeyFromEnv, } from './dexto-api-key.js';
@@ -14,6 +14,16 @@ export interface OAuthResult {
14
14
  name?: string | undefined;
15
15
  } | undefined;
16
16
  }
17
+ interface CallbackServerOptionsInput {
18
+ timeoutMs?: number | undefined;
19
+ signal?: AbortSignal | undefined;
20
+ }
21
+ export interface OAuthLoginSession {
22
+ authUrl: string;
23
+ result: Promise<OAuthResult>;
24
+ cancel: () => void;
25
+ }
26
+ export declare function beginOAuthLogin(config: OAuthConfig, options?: CallbackServerOptionsInput): Promise<OAuthLoginSession>;
17
27
  /**
18
28
  * Perform OAuth login flow with Supabase
19
29
  */
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/cli/auth/oauth.ts"],"names":[],"mappings":"AA4CA,UAAU,WAAW;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EACC;QACI,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7B,GACD,SAAS,CAAC;CACnB;AAiQD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CA2CjF;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAKlC,CAAC"}
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/cli/auth/oauth.ts"],"names":[],"mappings":"AA8EA,UAAU,WAAW;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EACC;QACI,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7B,GACD,SAAS,CAAC;CACnB;AA4BD,UAAU,0BAA0B;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CACpC;AAqSD,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAsB,eAAe,CACjC,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE,0BAA+B,GACzC,OAAO,CAAC,iBAAiB,CAAC,CAyC5B;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CA8BjF;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAKlC,CAAC"}
@@ -15,17 +15,43 @@ import * as querystring from 'querystring';
15
15
  import chalk from 'chalk';
16
16
  import * as p from '@clack/prompts';
17
17
  import { logger } from '@dexto/core';
18
- import { readFileSync } from 'node:fs';
18
+ import { getDextoPackageRoot } from '@dexto/agent-management';
19
+ import { existsSync, readFileSync } from 'node:fs';
20
+ import path from 'node:path';
19
21
  import { SUPABASE_URL, SUPABASE_ANON_KEY } from './constants.js';
20
22
  // Track active OAuth callback servers by port for cleanup
21
23
  const oauthStateStore = new Map();
24
+ function resolveLogoPath() {
25
+ const packageRoot = getDextoPackageRoot();
26
+ if (packageRoot) {
27
+ const standaloneAssetPath = path.join(packageRoot, 'dist', 'cli', 'assets', 'dexto-logo.svg');
28
+ if (existsSync(standaloneAssetPath)) {
29
+ return standaloneAssetPath;
30
+ }
31
+ }
32
+ try {
33
+ const localAssetPath = new URL('../assets/dexto-logo.svg', import.meta.url);
34
+ const resolvedPath = url.fileURLToPath(localAssetPath);
35
+ if (existsSync(resolvedPath)) {
36
+ return resolvedPath;
37
+ }
38
+ }
39
+ catch {
40
+ // Ignore URL/path errors and return null.
41
+ }
42
+ return null;
43
+ }
22
44
  const DEXTO_LOGO_DATA_URL = (() => {
23
45
  try {
24
- const svg = readFileSync(new URL('../assets/dexto-logo.svg', import.meta.url), 'utf-8');
46
+ const logoPath = resolveLogoPath();
47
+ if (!logoPath) {
48
+ return '';
49
+ }
50
+ const svg = readFileSync(logoPath, 'utf-8');
25
51
  return `data:image/svg+xml;base64,${Buffer.from(svg).toString('base64')}`;
26
52
  }
27
53
  catch (error) {
28
- logger.warn(`Failed to load Dexto logo asset for OAuth screen: ${error instanceof Error ? error.message : String(error)}`);
54
+ logger.debug(`Failed to load Dexto logo asset for OAuth screen: ${error instanceof Error ? error.message : String(error)}`);
29
55
  return '';
30
56
  }
31
57
  })();
@@ -56,11 +82,52 @@ function ensurePortAvailable(port) {
56
82
  });
57
83
  });
58
84
  }
85
+ function resolveCallbackServerOptions(options) {
86
+ return {
87
+ timeoutMs: options.timeoutMs ?? 5 * 60 * 1000,
88
+ signal: options.signal ?? null,
89
+ };
90
+ }
59
91
  /**
60
92
  * Start local HTTP server to receive OAuth callback
61
93
  */
62
- function startCallbackServer(port, config) {
94
+ function startCallbackServer(port, config, options) {
63
95
  return new Promise((resolve, reject) => {
96
+ let settled = false;
97
+ const timeoutMs = options.timeoutMs;
98
+ let timeoutHandle = null;
99
+ let abortHandler = () => { };
100
+ const safeCloseServer = (server) => {
101
+ try {
102
+ if (server.listening) {
103
+ server.close();
104
+ }
105
+ }
106
+ catch (_error) {
107
+ // ignore
108
+ }
109
+ };
110
+ const cleanup = () => {
111
+ if (timeoutHandle) {
112
+ clearTimeout(timeoutHandle);
113
+ }
114
+ oauthStateStore.delete(port);
115
+ options.signal?.removeEventListener('abort', abortHandler);
116
+ };
117
+ const safeResolve = (result) => {
118
+ if (settled)
119
+ return;
120
+ settled = true;
121
+ cleanup();
122
+ resolve(result);
123
+ };
124
+ const safeReject = (error) => {
125
+ if (settled)
126
+ return;
127
+ settled = true;
128
+ cleanup();
129
+ reject(error);
130
+ };
64
131
  const server = http.createServer(async (req, res) => {
65
132
  try {
66
133
  if (!req.url) {
@@ -197,8 +264,8 @@ function startCallbackServer(port, config) {
197
264
  if (data.error) {
198
265
  res.writeHead(200);
199
266
  res.end('OK');
200
- server.close();
201
- reject(new Error(`OAuth error: ${data.error}`));
267
+ safeCloseServer(server);
268
+ safeReject(new Error(`OAuth error: ${data.error}`));
202
269
  return;
203
270
  }
204
271
  if (data.access_token) {
@@ -224,21 +291,21 @@ function startCallbackServer(port, config) {
224
291
  };
225
292
  res.writeHead(200);
226
293
  res.end('OK');
227
- server.close();
228
- resolve(result);
294
+ safeCloseServer(server);
295
+ safeResolve(result);
229
296
  }
230
297
  else {
231
298
  res.writeHead(400);
232
299
  res.end('Missing tokens');
233
- server.close();
234
- reject(new Error('No access token received'));
300
+ safeCloseServer(server);
301
+ safeReject(new Error('No access token received'));
235
302
  }
236
303
  }
237
304
  catch (_err) {
238
305
  res.writeHead(400);
239
306
  res.end('Invalid data');
240
- server.close();
241
- reject(new Error('Invalid callback data'));
307
+ safeCloseServer(server);
308
+ safeReject(new Error('Invalid callback data'));
242
309
  }
243
310
  });
244
311
  }
@@ -251,59 +318,95 @@ function startCallbackServer(port, config) {
251
318
  logger.error(`Callback server error: ${error}`);
252
319
  res.writeHead(500);
253
320
  res.end('Internal Server Error');
254
- server.close();
255
- oauthStateStore.delete(port);
256
- reject(error);
321
+ safeCloseServer(server);
322
+ safeReject(error);
257
323
  }
258
324
  });
259
- const timeoutMs = 5 * 60 * 1000;
260
- const timeoutHandle = setTimeout(() => {
261
- server.close();
262
- oauthStateStore.delete(port);
263
- reject(new Error('Authentication timed out'));
325
+ timeoutHandle = setTimeout(() => {
326
+ safeCloseServer(server);
327
+ safeReject(new Error('Authentication timed out'));
264
328
  }, timeoutMs);
265
- const cleanup = () => {
266
- clearTimeout(timeoutHandle);
267
- oauthStateStore.delete(port);
329
+ abortHandler = () => {
330
+ const reason = options.signal?.reason;
331
+ const error = reason instanceof Error
332
+ ? reason
333
+ : new Error(typeof reason === 'string' ? reason : 'Authentication cancelled');
334
+ safeCloseServer(server);
335
+ safeReject(error);
268
336
  };
269
337
  server.listen(port, 'localhost', () => {
270
338
  logger.debug(`OAuth callback server listening on http://localhost:${port}`);
271
339
  });
272
- server.on('close', cleanup);
273
340
  server.on('error', (error) => {
274
- cleanup();
275
- reject(new Error(`Failed to start callback server: ${error.message}`));
341
+ safeCloseServer(server);
342
+ safeReject(new Error(`Failed to start callback server: ${error.message}`));
276
343
  });
344
+ if (options.signal) {
345
+ if (options.signal.aborted) {
346
+ abortHandler();
347
+ }
348
+ else {
349
+ options.signal.addEventListener('abort', abortHandler, { once: true });
350
+ }
351
+ }
277
352
  });
278
353
  }
354
+ export async function beginOAuthLogin(config, options = {}) {
355
+ const resolvedOptions = resolveCallbackServerOptions(options);
356
+ const port = await ensurePortAvailable(OAUTH_CALLBACK_PORT);
357
+ const redirectUri = `http://localhost:${port}`;
358
+ oauthStateStore.set(port, 'active');
359
+ logger.debug(`Registered OAuth callback server on port ${port}`);
360
+ const provider = config.provider || 'google';
361
+ const authParams = querystring.stringify({
362
+ redirect_to: redirectUri,
363
+ });
364
+ const authUrl = `${config.authUrl}/auth/v1/authorize?provider=${provider}&${authParams}`;
365
+ const abortController = new AbortController();
366
+ let upstreamAbortHandler = null;
367
+ if (resolvedOptions.signal) {
368
+ const handler = () => abortController.abort(resolvedOptions.signal?.reason);
369
+ upstreamAbortHandler = handler;
370
+ if (resolvedOptions.signal.aborted) {
371
+ handler();
372
+ }
373
+ else {
374
+ resolvedOptions.signal.addEventListener('abort', handler, { once: true });
375
+ }
376
+ }
377
+ const result = startCallbackServer(port, config, {
378
+ timeoutMs: resolvedOptions.timeoutMs,
379
+ signal: abortController.signal,
380
+ }).finally(() => {
381
+ if (resolvedOptions.signal && upstreamAbortHandler) {
382
+ resolvedOptions.signal.removeEventListener('abort', upstreamAbortHandler);
383
+ }
384
+ });
385
+ return {
386
+ authUrl,
387
+ result,
388
+ cancel: () => abortController.abort(new Error('Authentication cancelled')),
389
+ };
390
+ }
279
391
  /**
280
392
  * Perform OAuth login flow with Supabase
281
393
  */
282
394
  export async function performOAuthLogin(config) {
283
395
  try {
284
- const port = await ensurePortAvailable(OAUTH_CALLBACK_PORT);
285
- const redirectUri = `http://localhost:${port}`;
286
- oauthStateStore.set(port, 'active');
287
- logger.debug(`Registered OAuth callback server on port ${port}`);
288
- const provider = config.provider || 'google';
289
- const authParams = querystring.stringify({
290
- redirect_to: redirectUri,
291
- });
292
- const authUrl = `${config.authUrl}/auth/v1/authorize?provider=${provider}&${authParams}`;
293
- const tokenPromise = startCallbackServer(port, config);
396
+ const session = await beginOAuthLogin(config);
294
397
  console.log(chalk.cyan('🌐 Opening browser for authentication...'));
295
398
  try {
296
399
  const { default: open } = await import('open');
297
- await open(authUrl);
400
+ await open(session.authUrl);
298
401
  console.log(chalk.green('✅ Browser opened'));
299
402
  }
300
403
  catch (_error) {
301
- console.log(chalk.yellow(`💡 Please open manually: ${authUrl}`));
404
+ console.log(chalk.yellow(`💡 Please open manually: ${session.authUrl}`));
302
405
  }
303
406
  const spinner = p.spinner();
304
407
  spinner.start('Waiting for authentication...');
305
408
  try {
306
- const result = await tokenPromise;
409
+ const result = await session.result;
307
410
  spinner.stop('Authentication successful!');
308
411
  return result;
309
412
  }
@@ -9,6 +9,7 @@ export interface AuthConfig {
9
9
  /** Dexto API key for gateway access (from --api-key or provisioned after OAuth) */
10
10
  dextoApiKey?: string | undefined;
11
11
  dextoKeyId?: string | undefined;
12
+ dextoApiKeySource?: 'provisioned' | 'user-supplied' | undefined;
12
13
  }
13
14
  export declare function storeAuth(config: AuthConfig): Promise<void>;
14
15
  export declare function loadAuth(): Promise<AuthConfig | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/cli/auth/service.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,UAAU;IACvB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAiBD,wBAAsB,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAQjE;AAED,wBAAsB,QAAQ,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA4B3D;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAOhD;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAGxD;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4C3D;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQ7D;AA8CD,wBAAgB,eAAe,IAAI,MAAM,CAExC"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/cli/auth/service.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,UAAU;IACvB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,iBAAiB,CAAC,EAAE,aAAa,GAAG,eAAe,GAAG,SAAS,CAAC;CACnE;AAkBD,wBAAsB,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAQjE;AAED,wBAAsB,QAAQ,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA4B3D;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAOhD;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAGxD;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4C3D;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQ7D;AA8CD,wBAAgB,eAAe,IAAI,MAAM,CAExC"}
@@ -16,6 +16,7 @@ const AuthConfigSchema = z
16
16
  createdAt: z.number(),
17
17
  dextoApiKey: z.string().optional(),
18
18
  dextoKeyId: z.string().optional(),
19
+ dextoApiKeySource: z.enum(['provisioned', 'user-supplied']).optional(),
19
20
  })
20
21
  .refine((data) => data.token || data.dextoApiKey, {
21
22
  message: 'Either token (from OAuth) or dextoApiKey (from --api-key) is required',
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/auth/login.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,wBAAsB,kBAAkB,CACpC,OAAO,GAAE;IACL,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACpB,GACP,OAAO,CAAC,IAAI,CAAC,CAiEf;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgCxD"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/auth/login.ts"],"names":[],"mappings":"AAiCA;;GAEG;AACH,wBAAsB,kBAAkB,CACpC,OAAO,GAAE;IACL,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACpB,GACP,OAAO,CAAC,IAAI,CAAC,CAqEf;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAwCxD"}