dexto 1.6.1 → 1.6.2

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 (552) 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 +113 -36
  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/index-main.js +36 -2
  22. package/dist/webui/assets/index-BPlk2Wbt.css +1 -0
  23. package/dist/webui/assets/index-BZvrpxyh.js +2059 -0
  24. package/dist/webui/index.html +2 -2
  25. package/package.json +12 -22
  26. package/dist/cli/assets/sounds/SOURCES.md +0 -35
  27. package/dist/cli/assets/sounds/boot.wav +0 -0
  28. package/dist/cli/assets/sounds/chime.wav +0 -0
  29. package/dist/cli/assets/sounds/coin.wav +0 -0
  30. package/dist/cli/assets/sounds/confirm.wav +0 -0
  31. package/dist/cli/assets/sounds/levelup.wav +0 -0
  32. package/dist/cli/assets/sounds/ping.wav +0 -0
  33. package/dist/cli/assets/sounds/powerup.wav +0 -0
  34. package/dist/cli/assets/sounds/startup.wav +0 -0
  35. package/dist/cli/assets/sounds/success.wav +0 -0
  36. package/dist/cli/assets/sounds/treasure.wav +0 -0
  37. package/dist/cli/assets/sounds/win.wav +0 -0
  38. package/dist/cli/commands/interactive-commands/auth/index.d.ts +0 -12
  39. package/dist/cli/commands/interactive-commands/auth/index.d.ts.map +0 -1
  40. package/dist/cli/commands/interactive-commands/auth/index.js +0 -20
  41. package/dist/cli/commands/interactive-commands/command-parser.d.ts +0 -56
  42. package/dist/cli/commands/interactive-commands/command-parser.d.ts.map +0 -1
  43. package/dist/cli/commands/interactive-commands/command-parser.js +0 -173
  44. package/dist/cli/commands/interactive-commands/commands.d.ts +0 -52
  45. package/dist/cli/commands/interactive-commands/commands.d.ts.map +0 -1
  46. package/dist/cli/commands/interactive-commands/commands.js +0 -142
  47. package/dist/cli/commands/interactive-commands/documentation-commands.d.ts +0 -15
  48. package/dist/cli/commands/interactive-commands/documentation-commands.d.ts.map +0 -1
  49. package/dist/cli/commands/interactive-commands/documentation-commands.js +0 -39
  50. package/dist/cli/commands/interactive-commands/exit-handler.d.ts +0 -12
  51. package/dist/cli/commands/interactive-commands/exit-handler.d.ts.map +0 -1
  52. package/dist/cli/commands/interactive-commands/exit-handler.js +0 -20
  53. package/dist/cli/commands/interactive-commands/exit-stats.d.ts +0 -24
  54. package/dist/cli/commands/interactive-commands/exit-stats.d.ts.map +0 -1
  55. package/dist/cli/commands/interactive-commands/exit-stats.js +0 -17
  56. package/dist/cli/commands/interactive-commands/export/index.d.ts +0 -13
  57. package/dist/cli/commands/interactive-commands/export/index.d.ts.map +0 -1
  58. package/dist/cli/commands/interactive-commands/export/index.js +0 -21
  59. package/dist/cli/commands/interactive-commands/general-commands.d.ts +0 -22
  60. package/dist/cli/commands/interactive-commands/general-commands.d.ts.map +0 -1
  61. package/dist/cli/commands/interactive-commands/general-commands.js +0 -508
  62. package/dist/cli/commands/interactive-commands/mcp/index.d.ts +0 -13
  63. package/dist/cli/commands/interactive-commands/mcp/index.d.ts.map +0 -1
  64. package/dist/cli/commands/interactive-commands/mcp/index.js +0 -18
  65. package/dist/cli/commands/interactive-commands/model/index.d.ts +0 -13
  66. package/dist/cli/commands/interactive-commands/model/index.d.ts.map +0 -1
  67. package/dist/cli/commands/interactive-commands/model/index.js +0 -19
  68. package/dist/cli/commands/interactive-commands/plugin/index.d.ts +0 -13
  69. package/dist/cli/commands/interactive-commands/plugin/index.d.ts.map +0 -1
  70. package/dist/cli/commands/interactive-commands/plugin/index.js +0 -18
  71. package/dist/cli/commands/interactive-commands/prompt-commands.d.ts +0 -25
  72. package/dist/cli/commands/interactive-commands/prompt-commands.d.ts.map +0 -1
  73. package/dist/cli/commands/interactive-commands/prompt-commands.js +0 -284
  74. package/dist/cli/commands/interactive-commands/session/index.d.ts +0 -16
  75. package/dist/cli/commands/interactive-commands/session/index.d.ts.map +0 -1
  76. package/dist/cli/commands/interactive-commands/session/index.js +0 -15
  77. package/dist/cli/commands/interactive-commands/session/session-commands.d.ts +0 -32
  78. package/dist/cli/commands/interactive-commands/session/session-commands.d.ts.map +0 -1
  79. package/dist/cli/commands/interactive-commands/session/session-commands.js +0 -65
  80. package/dist/cli/commands/interactive-commands/system/index.d.ts +0 -13
  81. package/dist/cli/commands/interactive-commands/system/index.d.ts.map +0 -1
  82. package/dist/cli/commands/interactive-commands/system/index.js +0 -12
  83. package/dist/cli/commands/interactive-commands/system/system-commands.d.ts +0 -6
  84. package/dist/cli/commands/interactive-commands/system/system-commands.d.ts.map +0 -1
  85. package/dist/cli/commands/interactive-commands/system/system-commands.js +0 -188
  86. package/dist/cli/commands/interactive-commands/tool-commands.d.ts +0 -15
  87. package/dist/cli/commands/interactive-commands/tool-commands.d.ts.map +0 -1
  88. package/dist/cli/commands/interactive-commands/tool-commands.js +0 -24
  89. package/dist/cli/commands/interactive-commands/utils/arg-parser.d.ts +0 -57
  90. package/dist/cli/commands/interactive-commands/utils/arg-parser.d.ts.map +0 -1
  91. package/dist/cli/commands/interactive-commands/utils/arg-parser.js +0 -81
  92. package/dist/cli/commands/interactive-commands/utils/command-output.d.ts +0 -40
  93. package/dist/cli/commands/interactive-commands/utils/command-output.d.ts.map +0 -1
  94. package/dist/cli/commands/interactive-commands/utils/command-output.js +0 -56
  95. package/dist/cli/commands/interactive-commands/utils/format-output.d.ts +0 -14
  96. package/dist/cli/commands/interactive-commands/utils/format-output.d.ts.map +0 -1
  97. package/dist/cli/commands/interactive-commands/utils/format-output.js +0 -18
  98. package/dist/cli/ink-cli/InkCLIRefactored.d.ts +0 -52
  99. package/dist/cli/ink-cli/InkCLIRefactored.d.ts.map +0 -1
  100. package/dist/cli/ink-cli/InkCLIRefactored.js +0 -231
  101. package/dist/cli/ink-cli/components/ApprovalPrompt.d.ts +0 -44
  102. package/dist/cli/ink-cli/components/ApprovalPrompt.d.ts.map +0 -1
  103. package/dist/cli/ink-cli/components/ApprovalPrompt.js +0 -323
  104. package/dist/cli/ink-cli/components/BackgroundTasksPanel.d.ts +0 -18
  105. package/dist/cli/ink-cli/components/BackgroundTasksPanel.d.ts.map +0 -1
  106. package/dist/cli/ink-cli/components/BackgroundTasksPanel.js +0 -48
  107. package/dist/cli/ink-cli/components/CustomInput.d.ts +0 -17
  108. package/dist/cli/ink-cli/components/CustomInput.d.ts.map +0 -1
  109. package/dist/cli/ink-cli/components/CustomInput.js +0 -51
  110. package/dist/cli/ink-cli/components/CustomTextInput.d.ts +0 -16
  111. package/dist/cli/ink-cli/components/CustomTextInput.d.ts.map +0 -1
  112. package/dist/cli/ink-cli/components/CustomTextInput.js +0 -36
  113. package/dist/cli/ink-cli/components/EditableMultiLineInput.d.ts +0 -19
  114. package/dist/cli/ink-cli/components/EditableMultiLineInput.d.ts.map +0 -1
  115. package/dist/cli/ink-cli/components/EditableMultiLineInput.js +0 -120
  116. package/dist/cli/ink-cli/components/ElicitationForm.d.ts +0 -24
  117. package/dist/cli/ink-cli/components/ElicitationForm.d.ts.map +0 -1
  118. package/dist/cli/ink-cli/components/ElicitationForm.js +0 -592
  119. package/dist/cli/ink-cli/components/ErrorBoundary.d.ts +0 -20
  120. package/dist/cli/ink-cli/components/ErrorBoundary.d.ts.map +0 -1
  121. package/dist/cli/ink-cli/components/ErrorBoundary.js +0 -29
  122. package/dist/cli/ink-cli/components/Footer.d.ts +0 -22
  123. package/dist/cli/ink-cli/components/Footer.d.ts.map +0 -1
  124. package/dist/cli/ink-cli/components/Footer.js +0 -76
  125. package/dist/cli/ink-cli/components/HistorySearchBar.d.ts +0 -17
  126. package/dist/cli/ink-cli/components/HistorySearchBar.d.ts.map +0 -1
  127. package/dist/cli/ink-cli/components/HistorySearchBar.js +0 -8
  128. package/dist/cli/ink-cli/components/MultiLineInput.d.ts +0 -12
  129. package/dist/cli/ink-cli/components/MultiLineInput.d.ts.map +0 -1
  130. package/dist/cli/ink-cli/components/MultiLineInput.js +0 -27
  131. package/dist/cli/ink-cli/components/ResourceAutocomplete.d.ts +0 -26
  132. package/dist/cli/ink-cli/components/ResourceAutocomplete.d.ts.map +0 -1
  133. package/dist/cli/ink-cli/components/ResourceAutocomplete.js +0 -385
  134. package/dist/cli/ink-cli/components/SlashCommandAutocomplete.d.ts +0 -28
  135. package/dist/cli/ink-cli/components/SlashCommandAutocomplete.d.ts.map +0 -1
  136. package/dist/cli/ink-cli/components/SlashCommandAutocomplete.js +0 -412
  137. package/dist/cli/ink-cli/components/StatusBar.d.ts +0 -41
  138. package/dist/cli/ink-cli/components/StatusBar.d.ts.map +0 -1
  139. package/dist/cli/ink-cli/components/StatusBar.js +0 -116
  140. package/dist/cli/ink-cli/components/TextBufferInput.d.ts +0 -52
  141. package/dist/cli/ink-cli/components/TextBufferInput.d.ts.map +0 -1
  142. package/dist/cli/ink-cli/components/TextBufferInput.js +0 -490
  143. package/dist/cli/ink-cli/components/TodoPanel.d.ts +0 -26
  144. package/dist/cli/ink-cli/components/TodoPanel.d.ts.map +0 -1
  145. package/dist/cli/ink-cli/components/TodoPanel.js +0 -62
  146. package/dist/cli/ink-cli/components/base/BaseAutocomplete.d.ts +0 -29
  147. package/dist/cli/ink-cli/components/base/BaseAutocomplete.d.ts.map +0 -1
  148. package/dist/cli/ink-cli/components/base/BaseAutocomplete.js +0 -98
  149. package/dist/cli/ink-cli/components/base/BaseSelector.d.ts +0 -37
  150. package/dist/cli/ink-cli/components/base/BaseSelector.d.ts.map +0 -1
  151. package/dist/cli/ink-cli/components/base/BaseSelector.js +0 -128
  152. package/dist/cli/ink-cli/components/base/index.d.ts +0 -6
  153. package/dist/cli/ink-cli/components/base/index.d.ts.map +0 -1
  154. package/dist/cli/ink-cli/components/base/index.js +0 -5
  155. package/dist/cli/ink-cli/components/chat/ChatView.d.ts +0 -19
  156. package/dist/cli/ink-cli/components/chat/ChatView.d.ts.map +0 -1
  157. package/dist/cli/ink-cli/components/chat/ChatView.js +0 -11
  158. package/dist/cli/ink-cli/components/chat/Footer.d.ts +0 -9
  159. package/dist/cli/ink-cli/components/chat/Footer.d.ts.map +0 -1
  160. package/dist/cli/ink-cli/components/chat/Footer.js +0 -8
  161. package/dist/cli/ink-cli/components/chat/Header.d.ts +0 -18
  162. package/dist/cli/ink-cli/components/chat/Header.d.ts.map +0 -1
  163. package/dist/cli/ink-cli/components/chat/Header.js +0 -16
  164. package/dist/cli/ink-cli/components/chat/MessageItem.d.ts +0 -21
  165. package/dist/cli/ink-cli/components/chat/MessageItem.d.ts.map +0 -1
  166. package/dist/cli/ink-cli/components/chat/MessageItem.js +0 -182
  167. package/dist/cli/ink-cli/components/chat/MessageList.d.ts +0 -16
  168. package/dist/cli/ink-cli/components/chat/MessageList.d.ts.map +0 -1
  169. package/dist/cli/ink-cli/components/chat/MessageList.js +0 -20
  170. package/dist/cli/ink-cli/components/chat/QueuedMessagesDisplay.d.ts +0 -16
  171. package/dist/cli/ink-cli/components/chat/QueuedMessagesDisplay.d.ts.map +0 -1
  172. package/dist/cli/ink-cli/components/chat/QueuedMessagesDisplay.js +0 -27
  173. package/dist/cli/ink-cli/components/chat/ToolIcon.d.ts +0 -18
  174. package/dist/cli/ink-cli/components/chat/ToolIcon.d.ts.map +0 -1
  175. package/dist/cli/ink-cli/components/chat/ToolIcon.js +0 -36
  176. package/dist/cli/ink-cli/components/chat/index.d.ts +0 -10
  177. package/dist/cli/ink-cli/components/chat/index.d.ts.map +0 -1
  178. package/dist/cli/ink-cli/components/chat/index.js +0 -9
  179. package/dist/cli/ink-cli/components/chat/styled-boxes/ConfigBox.d.ts +0 -10
  180. package/dist/cli/ink-cli/components/chat/styled-boxes/ConfigBox.d.ts.map +0 -1
  181. package/dist/cli/ink-cli/components/chat/styled-boxes/ConfigBox.js +0 -6
  182. package/dist/cli/ink-cli/components/chat/styled-boxes/HelpBox.d.ts +0 -10
  183. package/dist/cli/ink-cli/components/chat/styled-boxes/HelpBox.d.ts.map +0 -1
  184. package/dist/cli/ink-cli/components/chat/styled-boxes/HelpBox.js +0 -15
  185. package/dist/cli/ink-cli/components/chat/styled-boxes/LogConfigBox.d.ts +0 -10
  186. package/dist/cli/ink-cli/components/chat/styled-boxes/LogConfigBox.d.ts.map +0 -1
  187. package/dist/cli/ink-cli/components/chat/styled-boxes/LogConfigBox.js +0 -9
  188. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionHistoryBox.d.ts +0 -10
  189. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionHistoryBox.d.ts.map +0 -1
  190. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionHistoryBox.js +0 -37
  191. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionListBox.d.ts +0 -10
  192. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionListBox.d.ts.map +0 -1
  193. package/dist/cli/ink-cli/components/chat/styled-boxes/SessionListBox.js +0 -9
  194. package/dist/cli/ink-cli/components/chat/styled-boxes/ShortcutsBox.d.ts +0 -10
  195. package/dist/cli/ink-cli/components/chat/styled-boxes/ShortcutsBox.d.ts.map +0 -1
  196. package/dist/cli/ink-cli/components/chat/styled-boxes/ShortcutsBox.js +0 -6
  197. package/dist/cli/ink-cli/components/chat/styled-boxes/StatsBox.d.ts +0 -10
  198. package/dist/cli/ink-cli/components/chat/styled-boxes/StatsBox.d.ts.map +0 -1
  199. package/dist/cli/ink-cli/components/chat/styled-boxes/StatsBox.js +0 -29
  200. package/dist/cli/ink-cli/components/chat/styled-boxes/StyledBox.d.ts +0 -45
  201. package/dist/cli/ink-cli/components/chat/styled-boxes/StyledBox.d.ts.map +0 -1
  202. package/dist/cli/ink-cli/components/chat/styled-boxes/StyledBox.js +0 -38
  203. package/dist/cli/ink-cli/components/chat/styled-boxes/SyspromptBox.d.ts +0 -10
  204. package/dist/cli/ink-cli/components/chat/styled-boxes/SyspromptBox.d.ts.map +0 -1
  205. package/dist/cli/ink-cli/components/chat/styled-boxes/SyspromptBox.js +0 -6
  206. package/dist/cli/ink-cli/components/chat/styled-boxes/index.d.ts +0 -13
  207. package/dist/cli/ink-cli/components/chat/styled-boxes/index.d.ts.map +0 -1
  208. package/dist/cli/ink-cli/components/chat/styled-boxes/index.js +0 -12
  209. package/dist/cli/ink-cli/components/input/InputArea.d.ts +0 -46
  210. package/dist/cli/ink-cli/components/input/InputArea.d.ts.map +0 -1
  211. package/dist/cli/ink-cli/components/input/InputArea.js +0 -6
  212. package/dist/cli/ink-cli/components/input/index.d.ts +0 -5
  213. package/dist/cli/ink-cli/components/input/index.d.ts.map +0 -1
  214. package/dist/cli/ink-cli/components/input/index.js +0 -4
  215. package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.d.ts +0 -27
  216. package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.d.ts.map +0 -1
  217. package/dist/cli/ink-cli/components/modes/AlternateBufferCLI.js +0 -182
  218. package/dist/cli/ink-cli/components/modes/StaticCLI.d.ts +0 -29
  219. package/dist/cli/ink-cli/components/modes/StaticCLI.d.ts.map +0 -1
  220. package/dist/cli/ink-cli/components/modes/StaticCLI.js +0 -114
  221. package/dist/cli/ink-cli/components/modes/index.d.ts +0 -10
  222. package/dist/cli/ink-cli/components/modes/index.d.ts.map +0 -1
  223. package/dist/cli/ink-cli/components/modes/index.js +0 -9
  224. package/dist/cli/ink-cli/components/overlays/ApiKeyInput.d.ts +0 -26
  225. package/dist/cli/ink-cli/components/overlays/ApiKeyInput.d.ts.map +0 -1
  226. package/dist/cli/ink-cli/components/overlays/ApiKeyInput.js +0 -92
  227. package/dist/cli/ink-cli/components/overlays/CommandOutputOverlay.d.ts +0 -13
  228. package/dist/cli/ink-cli/components/overlays/CommandOutputOverlay.d.ts.map +0 -1
  229. package/dist/cli/ink-cli/components/overlays/CommandOutputOverlay.js +0 -60
  230. package/dist/cli/ink-cli/components/overlays/ContextStatsOverlay.d.ts +0 -26
  231. package/dist/cli/ink-cli/components/overlays/ContextStatsOverlay.d.ts.map +0 -1
  232. package/dist/cli/ink-cli/components/overlays/ContextStatsOverlay.js +0 -241
  233. package/dist/cli/ink-cli/components/overlays/CustomModelWizard.d.ts +0 -29
  234. package/dist/cli/ink-cli/components/overlays/CustomModelWizard.d.ts.map +0 -1
  235. package/dist/cli/ink-cli/components/overlays/CustomModelWizard.js +0 -301
  236. package/dist/cli/ink-cli/components/overlays/ExportWizard.d.ts +0 -22
  237. package/dist/cli/ink-cli/components/overlays/ExportWizard.d.ts.map +0 -1
  238. package/dist/cli/ink-cli/components/overlays/ExportWizard.js +0 -308
  239. package/dist/cli/ink-cli/components/overlays/LogLevelSelector.d.ts +0 -23
  240. package/dist/cli/ink-cli/components/overlays/LogLevelSelector.d.ts.map +0 -1
  241. package/dist/cli/ink-cli/components/overlays/LogLevelSelector.js +0 -70
  242. package/dist/cli/ink-cli/components/overlays/MarketplaceAddPrompt.d.ts +0 -20
  243. package/dist/cli/ink-cli/components/overlays/MarketplaceAddPrompt.d.ts.map +0 -1
  244. package/dist/cli/ink-cli/components/overlays/MarketplaceAddPrompt.js +0 -81
  245. package/dist/cli/ink-cli/components/overlays/MarketplaceBrowser.d.ts +0 -31
  246. package/dist/cli/ink-cli/components/overlays/MarketplaceBrowser.d.ts.map +0 -1
  247. package/dist/cli/ink-cli/components/overlays/MarketplaceBrowser.js +0 -297
  248. package/dist/cli/ink-cli/components/overlays/McpAddChoice.d.ts +0 -22
  249. package/dist/cli/ink-cli/components/overlays/McpAddChoice.d.ts.map +0 -1
  250. package/dist/cli/ink-cli/components/overlays/McpAddChoice.js +0 -59
  251. package/dist/cli/ink-cli/components/overlays/McpAddSelector.d.ts +0 -26
  252. package/dist/cli/ink-cli/components/overlays/McpAddSelector.d.ts.map +0 -1
  253. package/dist/cli/ink-cli/components/overlays/McpAddSelector.js +0 -73
  254. package/dist/cli/ink-cli/components/overlays/McpCustomTypeSelector.d.ts +0 -21
  255. package/dist/cli/ink-cli/components/overlays/McpCustomTypeSelector.d.ts.map +0 -1
  256. package/dist/cli/ink-cli/components/overlays/McpCustomTypeSelector.js +0 -51
  257. package/dist/cli/ink-cli/components/overlays/McpCustomWizard.d.ts +0 -29
  258. package/dist/cli/ink-cli/components/overlays/McpCustomWizard.d.ts.map +0 -1
  259. package/dist/cli/ink-cli/components/overlays/McpCustomWizard.js +0 -215
  260. package/dist/cli/ink-cli/components/overlays/McpRemoveSelector.d.ts +0 -22
  261. package/dist/cli/ink-cli/components/overlays/McpRemoveSelector.d.ts.map +0 -1
  262. package/dist/cli/ink-cli/components/overlays/McpRemoveSelector.js +0 -80
  263. package/dist/cli/ink-cli/components/overlays/McpSelector.d.ts +0 -21
  264. package/dist/cli/ink-cli/components/overlays/McpSelector.d.ts.map +0 -1
  265. package/dist/cli/ink-cli/components/overlays/McpSelector.js +0 -52
  266. package/dist/cli/ink-cli/components/overlays/McpServerActions.d.ts +0 -28
  267. package/dist/cli/ink-cli/components/overlays/McpServerActions.d.ts.map +0 -1
  268. package/dist/cli/ink-cli/components/overlays/McpServerActions.js +0 -93
  269. package/dist/cli/ink-cli/components/overlays/McpServerList.d.ts +0 -29
  270. package/dist/cli/ink-cli/components/overlays/McpServerList.d.ts.map +0 -1
  271. package/dist/cli/ink-cli/components/overlays/McpServerList.js +0 -116
  272. package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.d.ts +0 -28
  273. package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.d.ts.map +0 -1
  274. package/dist/cli/ink-cli/components/overlays/ModelSelectorRefactored.js +0 -743
  275. package/dist/cli/ink-cli/components/overlays/PluginActions.d.ts +0 -27
  276. package/dist/cli/ink-cli/components/overlays/PluginActions.d.ts.map +0 -1
  277. package/dist/cli/ink-cli/components/overlays/PluginActions.js +0 -66
  278. package/dist/cli/ink-cli/components/overlays/PluginList.d.ts +0 -21
  279. package/dist/cli/ink-cli/components/overlays/PluginList.d.ts.map +0 -1
  280. package/dist/cli/ink-cli/components/overlays/PluginList.js +0 -70
  281. package/dist/cli/ink-cli/components/overlays/PluginManager.d.ts +0 -21
  282. package/dist/cli/ink-cli/components/overlays/PluginManager.d.ts.map +0 -1
  283. package/dist/cli/ink-cli/components/overlays/PluginManager.js +0 -63
  284. package/dist/cli/ink-cli/components/overlays/PromptAddChoice.d.ts +0 -22
  285. package/dist/cli/ink-cli/components/overlays/PromptAddChoice.d.ts.map +0 -1
  286. package/dist/cli/ink-cli/components/overlays/PromptAddChoice.js +0 -52
  287. package/dist/cli/ink-cli/components/overlays/PromptAddWizard.d.ts +0 -29
  288. package/dist/cli/ink-cli/components/overlays/PromptAddWizard.d.ts.map +0 -1
  289. package/dist/cli/ink-cli/components/overlays/PromptAddWizard.js +0 -166
  290. package/dist/cli/ink-cli/components/overlays/PromptDeleteSelector.d.ts +0 -27
  291. package/dist/cli/ink-cli/components/overlays/PromptDeleteSelector.d.ts.map +0 -1
  292. package/dist/cli/ink-cli/components/overlays/PromptDeleteSelector.js +0 -119
  293. package/dist/cli/ink-cli/components/overlays/PromptList.d.ts +0 -33
  294. package/dist/cli/ink-cli/components/overlays/PromptList.d.ts.map +0 -1
  295. package/dist/cli/ink-cli/components/overlays/PromptList.js +0 -143
  296. package/dist/cli/ink-cli/components/overlays/SearchOverlay.d.ts +0 -23
  297. package/dist/cli/ink-cli/components/overlays/SearchOverlay.d.ts.map +0 -1
  298. package/dist/cli/ink-cli/components/overlays/SearchOverlay.js +0 -189
  299. package/dist/cli/ink-cli/components/overlays/SessionRenameOverlay.d.ts +0 -21
  300. package/dist/cli/ink-cli/components/overlays/SessionRenameOverlay.d.ts.map +0 -1
  301. package/dist/cli/ink-cli/components/overlays/SessionRenameOverlay.js +0 -63
  302. package/dist/cli/ink-cli/components/overlays/SessionSelectorRefactored.d.ts +0 -26
  303. package/dist/cli/ink-cli/components/overlays/SessionSelectorRefactored.d.ts.map +0 -1
  304. package/dist/cli/ink-cli/components/overlays/SessionSelectorRefactored.js +0 -126
  305. package/dist/cli/ink-cli/components/overlays/SessionSubcommandSelector.d.ts +0 -21
  306. package/dist/cli/ink-cli/components/overlays/SessionSubcommandSelector.d.ts.map +0 -1
  307. package/dist/cli/ink-cli/components/overlays/SessionSubcommandSelector.js +0 -42
  308. package/dist/cli/ink-cli/components/overlays/SoundsSelector.d.ts +0 -21
  309. package/dist/cli/ink-cli/components/overlays/SoundsSelector.d.ts.map +0 -1
  310. package/dist/cli/ink-cli/components/overlays/SoundsSelector.js +0 -566
  311. package/dist/cli/ink-cli/components/overlays/StreamSelector.d.ts +0 -20
  312. package/dist/cli/ink-cli/components/overlays/StreamSelector.d.ts.map +0 -1
  313. package/dist/cli/ink-cli/components/overlays/StreamSelector.js +0 -58
  314. package/dist/cli/ink-cli/components/overlays/ToolBrowser.d.ts +0 -26
  315. package/dist/cli/ink-cli/components/overlays/ToolBrowser.d.ts.map +0 -1
  316. package/dist/cli/ink-cli/components/overlays/ToolBrowser.js +0 -697
  317. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/LocalModelWizard.d.ts +0 -25
  318. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/LocalModelWizard.d.ts.map +0 -1
  319. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/LocalModelWizard.js +0 -604
  320. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/index.d.ts +0 -15
  321. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/index.d.ts.map +0 -1
  322. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/index.js +0 -14
  323. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/provider-config.d.ts +0 -42
  324. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/provider-config.d.ts.map +0 -1
  325. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/provider-config.js +0 -547
  326. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ApiKeyStep.d.ts +0 -25
  327. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ApiKeyStep.d.ts.map +0 -1
  328. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ApiKeyStep.js +0 -29
  329. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ProviderSelector.d.ts +0 -17
  330. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ProviderSelector.d.ts.map +0 -1
  331. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/ProviderSelector.js +0 -11
  332. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/SetupInfoBanner.d.ts +0 -20
  333. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/SetupInfoBanner.d.ts.map +0 -1
  334. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/SetupInfoBanner.js +0 -10
  335. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/WizardStepInput.d.ts +0 -30
  336. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/WizardStepInput.d.ts.map +0 -1
  337. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/WizardStepInput.js +0 -13
  338. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/index.d.ts +0 -8
  339. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/index.d.ts.map +0 -1
  340. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/shared/index.js +0 -7
  341. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/types.d.ts +0 -85
  342. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/types.d.ts.map +0 -1
  343. package/dist/cli/ink-cli/components/overlays/custom-model-wizard/types.js +0 -38
  344. package/dist/cli/ink-cli/components/renderers/DiffRenderer.d.ts +0 -21
  345. package/dist/cli/ink-cli/components/renderers/DiffRenderer.d.ts.map +0 -1
  346. package/dist/cli/ink-cli/components/renderers/DiffRenderer.js +0 -65
  347. package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.d.ts +0 -30
  348. package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.d.ts.map +0 -1
  349. package/dist/cli/ink-cli/components/renderers/FilePreviewRenderer.js +0 -67
  350. package/dist/cli/ink-cli/components/renderers/FileRenderer.d.ts +0 -21
  351. package/dist/cli/ink-cli/components/renderers/FileRenderer.d.ts.map +0 -1
  352. package/dist/cli/ink-cli/components/renderers/FileRenderer.js +0 -37
  353. package/dist/cli/ink-cli/components/renderers/GenericRenderer.d.ts +0 -21
  354. package/dist/cli/ink-cli/components/renderers/GenericRenderer.d.ts.map +0 -1
  355. package/dist/cli/ink-cli/components/renderers/GenericRenderer.js +0 -26
  356. package/dist/cli/ink-cli/components/renderers/SearchRenderer.d.ts +0 -20
  357. package/dist/cli/ink-cli/components/renderers/SearchRenderer.d.ts.map +0 -1
  358. package/dist/cli/ink-cli/components/renderers/SearchRenderer.js +0 -26
  359. package/dist/cli/ink-cli/components/renderers/ShellRenderer.d.ts +0 -21
  360. package/dist/cli/ink-cli/components/renderers/ShellRenderer.d.ts.map +0 -1
  361. package/dist/cli/ink-cli/components/renderers/ShellRenderer.js +0 -15
  362. package/dist/cli/ink-cli/components/renderers/diff-shared.d.ts +0 -61
  363. package/dist/cli/ink-cli/components/renderers/diff-shared.d.ts.map +0 -1
  364. package/dist/cli/ink-cli/components/renderers/diff-shared.js +0 -158
  365. package/dist/cli/ink-cli/components/renderers/index.d.ts +0 -28
  366. package/dist/cli/ink-cli/components/renderers/index.d.ts.map +0 -1
  367. package/dist/cli/ink-cli/components/renderers/index.js +0 -36
  368. package/dist/cli/ink-cli/components/shared/FocusOverlayFrame.d.ts +0 -7
  369. package/dist/cli/ink-cli/components/shared/FocusOverlayFrame.d.ts.map +0 -1
  370. package/dist/cli/ink-cli/components/shared/FocusOverlayFrame.js +0 -8
  371. package/dist/cli/ink-cli/components/shared/HintBar.d.ts +0 -6
  372. package/dist/cli/ink-cli/components/shared/HintBar.d.ts.map +0 -1
  373. package/dist/cli/ink-cli/components/shared/HintBar.js +0 -6
  374. package/dist/cli/ink-cli/components/shared/MarkdownText.d.ts +0 -38
  375. package/dist/cli/ink-cli/components/shared/MarkdownText.d.ts.map +0 -1
  376. package/dist/cli/ink-cli/components/shared/MarkdownText.js +0 -389
  377. package/dist/cli/ink-cli/components/shared/VirtualizedList.d.ts +0 -44
  378. package/dist/cli/ink-cli/components/shared/VirtualizedList.d.ts.map +0 -1
  379. package/dist/cli/ink-cli/components/shared/VirtualizedList.js +0 -300
  380. package/dist/cli/ink-cli/components/shared/text-buffer.d.ts +0 -185
  381. package/dist/cli/ink-cli/components/shared/text-buffer.d.ts.map +0 -1
  382. package/dist/cli/ink-cli/components/shared/text-buffer.js +0 -1338
  383. package/dist/cli/ink-cli/constants/processingPhrases.d.ts +0 -10
  384. package/dist/cli/ink-cli/constants/processingPhrases.d.ts.map +0 -1
  385. package/dist/cli/ink-cli/constants/processingPhrases.js +0 -92
  386. package/dist/cli/ink-cli/constants/spinnerFrames.d.ts +0 -2
  387. package/dist/cli/ink-cli/constants/spinnerFrames.d.ts.map +0 -1
  388. package/dist/cli/ink-cli/constants/spinnerFrames.js +0 -1
  389. package/dist/cli/ink-cli/constants/tips.d.ts +0 -15
  390. package/dist/cli/ink-cli/constants/tips.d.ts.map +0 -1
  391. package/dist/cli/ink-cli/constants/tips.js +0 -58
  392. package/dist/cli/ink-cli/containers/InputContainer.d.ts +0 -62
  393. package/dist/cli/ink-cli/containers/InputContainer.d.ts.map +0 -1
  394. package/dist/cli/ink-cli/containers/InputContainer.js +0 -643
  395. package/dist/cli/ink-cli/containers/OverlayContainer.d.ts +0 -42
  396. package/dist/cli/ink-cli/containers/OverlayContainer.d.ts.map +0 -1
  397. package/dist/cli/ink-cli/containers/OverlayContainer.js +0 -1840
  398. package/dist/cli/ink-cli/containers/index.d.ts +0 -6
  399. package/dist/cli/ink-cli/containers/index.d.ts.map +0 -1
  400. package/dist/cli/ink-cli/containers/index.js +0 -5
  401. package/dist/cli/ink-cli/contexts/KeypressContext.d.ts +0 -36
  402. package/dist/cli/ink-cli/contexts/KeypressContext.d.ts.map +0 -1
  403. package/dist/cli/ink-cli/contexts/KeypressContext.js +0 -461
  404. package/dist/cli/ink-cli/contexts/MouseContext.d.ts +0 -27
  405. package/dist/cli/ink-cli/contexts/MouseContext.d.ts.map +0 -1
  406. package/dist/cli/ink-cli/contexts/MouseContext.js +0 -102
  407. package/dist/cli/ink-cli/contexts/ScrollProvider.d.ts +0 -33
  408. package/dist/cli/ink-cli/contexts/ScrollProvider.d.ts.map +0 -1
  409. package/dist/cli/ink-cli/contexts/ScrollProvider.js +0 -170
  410. package/dist/cli/ink-cli/contexts/SoundContext.d.ts +0 -23
  411. package/dist/cli/ink-cli/contexts/SoundContext.d.ts.map +0 -1
  412. package/dist/cli/ink-cli/contexts/SoundContext.js +0 -22
  413. package/dist/cli/ink-cli/contexts/index.d.ts +0 -8
  414. package/dist/cli/ink-cli/contexts/index.d.ts.map +0 -1
  415. package/dist/cli/ink-cli/contexts/index.js +0 -7
  416. package/dist/cli/ink-cli/hooks/index.d.ts +0 -12
  417. package/dist/cli/ink-cli/hooks/index.d.ts.map +0 -1
  418. package/dist/cli/ink-cli/hooks/index.js +0 -14
  419. package/dist/cli/ink-cli/hooks/useAgentEvents.d.ts +0 -49
  420. package/dist/cli/ink-cli/hooks/useAgentEvents.d.ts.map +0 -1
  421. package/dist/cli/ink-cli/hooks/useAgentEvents.js +0 -369
  422. package/dist/cli/ink-cli/hooks/useAnimationTick.d.ts +0 -11
  423. package/dist/cli/ink-cli/hooks/useAnimationTick.d.ts.map +0 -1
  424. package/dist/cli/ink-cli/hooks/useAnimationTick.js +0 -54
  425. package/dist/cli/ink-cli/hooks/useBatchedScroll.d.ts +0 -14
  426. package/dist/cli/ink-cli/hooks/useBatchedScroll.d.ts.map +0 -1
  427. package/dist/cli/ink-cli/hooks/useBatchedScroll.js +0 -25
  428. package/dist/cli/ink-cli/hooks/useCLIState.d.ts +0 -52
  429. package/dist/cli/ink-cli/hooks/useCLIState.d.ts.map +0 -1
  430. package/dist/cli/ink-cli/hooks/useCLIState.js +0 -224
  431. package/dist/cli/ink-cli/hooks/useElapsedTime.d.ts +0 -24
  432. package/dist/cli/ink-cli/hooks/useElapsedTime.d.ts.map +0 -1
  433. package/dist/cli/ink-cli/hooks/useElapsedTime.js +0 -69
  434. package/dist/cli/ink-cli/hooks/useGitBranch.d.ts +0 -13
  435. package/dist/cli/ink-cli/hooks/useGitBranch.d.ts.map +0 -1
  436. package/dist/cli/ink-cli/hooks/useGitBranch.js +0 -35
  437. package/dist/cli/ink-cli/hooks/useHistorySearch.d.ts +0 -61
  438. package/dist/cli/ink-cli/hooks/useHistorySearch.d.ts.map +0 -1
  439. package/dist/cli/ink-cli/hooks/useHistorySearch.js +0 -210
  440. package/dist/cli/ink-cli/hooks/useInputHistory.d.ts +0 -18
  441. package/dist/cli/ink-cli/hooks/useInputHistory.d.ts.map +0 -1
  442. package/dist/cli/ink-cli/hooks/useInputHistory.js +0 -26
  443. package/dist/cli/ink-cli/hooks/useInputOrchestrator.d.ts +0 -136
  444. package/dist/cli/ink-cli/hooks/useInputOrchestrator.d.ts.map +0 -1
  445. package/dist/cli/ink-cli/hooks/useInputOrchestrator.js +0 -715
  446. package/dist/cli/ink-cli/hooks/useKeyboardShortcuts.d.ts +0 -21
  447. package/dist/cli/ink-cli/hooks/useKeyboardShortcuts.d.ts.map +0 -1
  448. package/dist/cli/ink-cli/hooks/useKeyboardShortcuts.js +0 -80
  449. package/dist/cli/ink-cli/hooks/useKeypress.d.ts +0 -18
  450. package/dist/cli/ink-cli/hooks/useKeypress.d.ts.map +0 -1
  451. package/dist/cli/ink-cli/hooks/useKeypress.js +0 -26
  452. package/dist/cli/ink-cli/hooks/usePhraseCycler.d.ts +0 -30
  453. package/dist/cli/ink-cli/hooks/usePhraseCycler.d.ts.map +0 -1
  454. package/dist/cli/ink-cli/hooks/usePhraseCycler.js +0 -68
  455. package/dist/cli/ink-cli/hooks/useStreaming.d.ts +0 -19
  456. package/dist/cli/ink-cli/hooks/useStreaming.d.ts.map +0 -1
  457. package/dist/cli/ink-cli/hooks/useStreaming.js +0 -26
  458. package/dist/cli/ink-cli/hooks/useTerminalSize.d.ts +0 -14
  459. package/dist/cli/ink-cli/hooks/useTerminalSize.d.ts.map +0 -1
  460. package/dist/cli/ink-cli/hooks/useTerminalSize.js +0 -31
  461. package/dist/cli/ink-cli/hooks/useTokenCounter.d.ts +0 -46
  462. package/dist/cli/ink-cli/hooks/useTokenCounter.d.ts.map +0 -1
  463. package/dist/cli/ink-cli/hooks/useTokenCounter.js +0 -122
  464. package/dist/cli/ink-cli/services/CommandService.d.ts +0 -58
  465. package/dist/cli/ink-cli/services/CommandService.d.ts.map +0 -1
  466. package/dist/cli/ink-cli/services/CommandService.js +0 -64
  467. package/dist/cli/ink-cli/services/InputService.d.ts +0 -40
  468. package/dist/cli/ink-cli/services/InputService.d.ts.map +0 -1
  469. package/dist/cli/ink-cli/services/InputService.js +0 -87
  470. package/dist/cli/ink-cli/services/MessageService.d.ts +0 -35
  471. package/dist/cli/ink-cli/services/MessageService.d.ts.map +0 -1
  472. package/dist/cli/ink-cli/services/MessageService.js +0 -49
  473. package/dist/cli/ink-cli/services/index.d.ts +0 -8
  474. package/dist/cli/ink-cli/services/index.d.ts.map +0 -1
  475. package/dist/cli/ink-cli/services/index.js +0 -7
  476. package/dist/cli/ink-cli/services/processStream.d.ts +0 -75
  477. package/dist/cli/ink-cli/services/processStream.d.ts.map +0 -1
  478. package/dist/cli/ink-cli/services/processStream.js +0 -951
  479. package/dist/cli/ink-cli/state/actions.d.ts +0 -124
  480. package/dist/cli/ink-cli/state/actions.d.ts.map +0 -1
  481. package/dist/cli/ink-cli/state/actions.js +0 -8
  482. package/dist/cli/ink-cli/state/index.d.ts +0 -10
  483. package/dist/cli/ink-cli/state/index.d.ts.map +0 -1
  484. package/dist/cli/ink-cli/state/index.js +0 -8
  485. package/dist/cli/ink-cli/state/initialState.d.ts +0 -12
  486. package/dist/cli/ink-cli/state/initialState.d.ts.map +0 -1
  487. package/dist/cli/ink-cli/state/initialState.js +0 -58
  488. package/dist/cli/ink-cli/state/reducer.d.ts +0 -15
  489. package/dist/cli/ink-cli/state/reducer.d.ts.map +0 -1
  490. package/dist/cli/ink-cli/state/reducer.js +0 -341
  491. package/dist/cli/ink-cli/state/streaming-state.d.ts +0 -27
  492. package/dist/cli/ink-cli/state/streaming-state.d.ts.map +0 -1
  493. package/dist/cli/ink-cli/state/streaming-state.js +0 -39
  494. package/dist/cli/ink-cli/state/types.d.ts +0 -378
  495. package/dist/cli/ink-cli/state/types.d.ts.map +0 -1
  496. package/dist/cli/ink-cli/state/types.js +0 -5
  497. package/dist/cli/ink-cli/utils/bracketedPaste.d.ts +0 -22
  498. package/dist/cli/ink-cli/utils/bracketedPaste.d.ts.map +0 -1
  499. package/dist/cli/ink-cli/utils/bracketedPaste.js +0 -27
  500. package/dist/cli/ink-cli/utils/clipboardUtils.d.ts +0 -49
  501. package/dist/cli/ink-cli/utils/clipboardUtils.d.ts.map +0 -1
  502. package/dist/cli/ink-cli/utils/clipboardUtils.js +0 -356
  503. package/dist/cli/ink-cli/utils/commandOverlays.d.ts +0 -33
  504. package/dist/cli/ink-cli/utils/commandOverlays.d.ts.map +0 -1
  505. package/dist/cli/ink-cli/utils/commandOverlays.js +0 -85
  506. package/dist/cli/ink-cli/utils/debugLog.d.ts +0 -38
  507. package/dist/cli/ink-cli/utils/debugLog.d.ts.map +0 -1
  508. package/dist/cli/ink-cli/utils/debugLog.js +0 -66
  509. package/dist/cli/ink-cli/utils/elicitationSchema.d.ts +0 -11
  510. package/dist/cli/ink-cli/utils/elicitationSchema.d.ts.map +0 -1
  511. package/dist/cli/ink-cli/utils/elicitationSchema.js +0 -80
  512. package/dist/cli/ink-cli/utils/idGenerator.d.ts +0 -10
  513. package/dist/cli/ink-cli/utils/idGenerator.d.ts.map +0 -1
  514. package/dist/cli/ink-cli/utils/idGenerator.js +0 -12
  515. package/dist/cli/ink-cli/utils/index.d.ts +0 -9
  516. package/dist/cli/ink-cli/utils/index.d.ts.map +0 -1
  517. package/dist/cli/ink-cli/utils/index.js +0 -13
  518. package/dist/cli/ink-cli/utils/input.d.ts +0 -25
  519. package/dist/cli/ink-cli/utils/input.d.ts.map +0 -1
  520. package/dist/cli/ink-cli/utils/input.js +0 -56
  521. package/dist/cli/ink-cli/utils/inputParsing.d.ts +0 -31
  522. package/dist/cli/ink-cli/utils/inputParsing.d.ts.map +0 -1
  523. package/dist/cli/ink-cli/utils/inputParsing.js +0 -70
  524. package/dist/cli/ink-cli/utils/llm-provider-display.d.ts +0 -3
  525. package/dist/cli/ink-cli/utils/llm-provider-display.d.ts.map +0 -1
  526. package/dist/cli/ink-cli/utils/llm-provider-display.js +0 -22
  527. package/dist/cli/ink-cli/utils/messageFormatting.d.ts +0 -125
  528. package/dist/cli/ink-cli/utils/messageFormatting.d.ts.map +0 -1
  529. package/dist/cli/ink-cli/utils/messageFormatting.js +0 -485
  530. package/dist/cli/ink-cli/utils/mouse.d.ts +0 -61
  531. package/dist/cli/ink-cli/utils/mouse.d.ts.map +0 -1
  532. package/dist/cli/ink-cli/utils/mouse.js +0 -209
  533. package/dist/cli/ink-cli/utils/overlayPresentation.d.ts +0 -19
  534. package/dist/cli/ink-cli/utils/overlayPresentation.d.ts.map +0 -1
  535. package/dist/cli/ink-cli/utils/overlayPresentation.js +0 -33
  536. package/dist/cli/ink-cli/utils/overlaySizing.d.ts +0 -19
  537. package/dist/cli/ink-cli/utils/overlaySizing.d.ts.map +0 -1
  538. package/dist/cli/ink-cli/utils/overlaySizing.js +0 -11
  539. package/dist/cli/ink-cli/utils/soundNotification.d.ts +0 -77
  540. package/dist/cli/ink-cli/utils/soundNotification.d.ts.map +0 -1
  541. package/dist/cli/ink-cli/utils/soundNotification.js +0 -226
  542. package/dist/cli/ink-cli/utils/streamSplitter.d.ts +0 -44
  543. package/dist/cli/ink-cli/utils/streamSplitter.d.ts.map +0 -1
  544. package/dist/cli/ink-cli/utils/streamSplitter.js +0 -154
  545. package/dist/cli/ink-cli/utils/textUtils.d.ts +0 -63
  546. package/dist/cli/ink-cli/utils/textUtils.d.ts.map +0 -1
  547. package/dist/cli/ink-cli/utils/textUtils.js +0 -248
  548. package/dist/cli/ink-cli/utils/toolUtils.d.ts +0 -20
  549. package/dist/cli/ink-cli/utils/toolUtils.d.ts.map +0 -1
  550. package/dist/cli/ink-cli/utils/toolUtils.js +0 -25
  551. package/dist/webui/assets/index-C9JXwpvo.css +0 -1
  552. package/dist/webui/assets/index-CKhumsZA.js +0 -2059
@@ -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":"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;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"}
@@ -56,11 +56,52 @@ function ensurePortAvailable(port) {
56
56
  });
57
57
  });
58
58
  }
59
+ function resolveCallbackServerOptions(options) {
60
+ return {
61
+ timeoutMs: options.timeoutMs ?? 5 * 60 * 1000,
62
+ signal: options.signal ?? null,
63
+ };
64
+ }
59
65
  /**
60
66
  * Start local HTTP server to receive OAuth callback
61
67
  */
62
- function startCallbackServer(port, config) {
68
+ function startCallbackServer(port, config, options) {
63
69
  return new Promise((resolve, reject) => {
70
+ let settled = false;
71
+ const timeoutMs = options.timeoutMs;
72
+ let timeoutHandle = null;
73
+ let abortHandler = () => { };
74
+ const safeCloseServer = (server) => {
75
+ try {
76
+ if (server.listening) {
77
+ server.close();
78
+ }
79
+ }
80
+ catch (_error) {
81
+ // ignore
82
+ }
83
+ };
84
+ const cleanup = () => {
85
+ if (timeoutHandle) {
86
+ clearTimeout(timeoutHandle);
87
+ }
88
+ oauthStateStore.delete(port);
89
+ options.signal?.removeEventListener('abort', abortHandler);
90
+ };
91
+ const safeResolve = (result) => {
92
+ if (settled)
93
+ return;
94
+ settled = true;
95
+ cleanup();
96
+ resolve(result);
97
+ };
98
+ const safeReject = (error) => {
99
+ if (settled)
100
+ return;
101
+ settled = true;
102
+ cleanup();
103
+ reject(error);
104
+ };
64
105
  const server = http.createServer(async (req, res) => {
65
106
  try {
66
107
  if (!req.url) {
@@ -197,8 +238,8 @@ function startCallbackServer(port, config) {
197
238
  if (data.error) {
198
239
  res.writeHead(200);
199
240
  res.end('OK');
200
- server.close();
201
- reject(new Error(`OAuth error: ${data.error}`));
241
+ safeCloseServer(server);
242
+ safeReject(new Error(`OAuth error: ${data.error}`));
202
243
  return;
203
244
  }
204
245
  if (data.access_token) {
@@ -224,21 +265,21 @@ function startCallbackServer(port, config) {
224
265
  };
225
266
  res.writeHead(200);
226
267
  res.end('OK');
227
- server.close();
228
- resolve(result);
268
+ safeCloseServer(server);
269
+ safeResolve(result);
229
270
  }
230
271
  else {
231
272
  res.writeHead(400);
232
273
  res.end('Missing tokens');
233
- server.close();
234
- reject(new Error('No access token received'));
274
+ safeCloseServer(server);
275
+ safeReject(new Error('No access token received'));
235
276
  }
236
277
  }
237
278
  catch (_err) {
238
279
  res.writeHead(400);
239
280
  res.end('Invalid data');
240
- server.close();
241
- reject(new Error('Invalid callback data'));
281
+ safeCloseServer(server);
282
+ safeReject(new Error('Invalid callback data'));
242
283
  }
243
284
  });
244
285
  }
@@ -251,59 +292,95 @@ function startCallbackServer(port, config) {
251
292
  logger.error(`Callback server error: ${error}`);
252
293
  res.writeHead(500);
253
294
  res.end('Internal Server Error');
254
- server.close();
255
- oauthStateStore.delete(port);
256
- reject(error);
295
+ safeCloseServer(server);
296
+ safeReject(error);
257
297
  }
258
298
  });
259
- const timeoutMs = 5 * 60 * 1000;
260
- const timeoutHandle = setTimeout(() => {
261
- server.close();
262
- oauthStateStore.delete(port);
263
- reject(new Error('Authentication timed out'));
299
+ timeoutHandle = setTimeout(() => {
300
+ safeCloseServer(server);
301
+ safeReject(new Error('Authentication timed out'));
264
302
  }, timeoutMs);
265
- const cleanup = () => {
266
- clearTimeout(timeoutHandle);
267
- oauthStateStore.delete(port);
303
+ abortHandler = () => {
304
+ const reason = options.signal?.reason;
305
+ const error = reason instanceof Error
306
+ ? reason
307
+ : new Error(typeof reason === 'string' ? reason : 'Authentication cancelled');
308
+ safeCloseServer(server);
309
+ safeReject(error);
268
310
  };
269
311
  server.listen(port, 'localhost', () => {
270
312
  logger.debug(`OAuth callback server listening on http://localhost:${port}`);
271
313
  });
272
- server.on('close', cleanup);
273
314
  server.on('error', (error) => {
274
- cleanup();
275
- reject(new Error(`Failed to start callback server: ${error.message}`));
315
+ safeCloseServer(server);
316
+ safeReject(new Error(`Failed to start callback server: ${error.message}`));
276
317
  });
318
+ if (options.signal) {
319
+ if (options.signal.aborted) {
320
+ abortHandler();
321
+ }
322
+ else {
323
+ options.signal.addEventListener('abort', abortHandler, { once: true });
324
+ }
325
+ }
277
326
  });
278
327
  }
328
+ export async function beginOAuthLogin(config, options = {}) {
329
+ const resolvedOptions = resolveCallbackServerOptions(options);
330
+ const port = await ensurePortAvailable(OAUTH_CALLBACK_PORT);
331
+ const redirectUri = `http://localhost:${port}`;
332
+ oauthStateStore.set(port, 'active');
333
+ logger.debug(`Registered OAuth callback server on port ${port}`);
334
+ const provider = config.provider || 'google';
335
+ const authParams = querystring.stringify({
336
+ redirect_to: redirectUri,
337
+ });
338
+ const authUrl = `${config.authUrl}/auth/v1/authorize?provider=${provider}&${authParams}`;
339
+ const abortController = new AbortController();
340
+ let upstreamAbortHandler = null;
341
+ if (resolvedOptions.signal) {
342
+ const handler = () => abortController.abort(resolvedOptions.signal?.reason);
343
+ upstreamAbortHandler = handler;
344
+ if (resolvedOptions.signal.aborted) {
345
+ handler();
346
+ }
347
+ else {
348
+ resolvedOptions.signal.addEventListener('abort', handler, { once: true });
349
+ }
350
+ }
351
+ const result = startCallbackServer(port, config, {
352
+ timeoutMs: resolvedOptions.timeoutMs,
353
+ signal: abortController.signal,
354
+ }).finally(() => {
355
+ if (resolvedOptions.signal && upstreamAbortHandler) {
356
+ resolvedOptions.signal.removeEventListener('abort', upstreamAbortHandler);
357
+ }
358
+ });
359
+ return {
360
+ authUrl,
361
+ result,
362
+ cancel: () => abortController.abort(new Error('Authentication cancelled')),
363
+ };
364
+ }
279
365
  /**
280
366
  * Perform OAuth login flow with Supabase
281
367
  */
282
368
  export async function performOAuthLogin(config) {
283
369
  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);
370
+ const session = await beginOAuthLogin(config);
294
371
  console.log(chalk.cyan('🌐 Opening browser for authentication...'));
295
372
  try {
296
373
  const { default: open } = await import('open');
297
- await open(authUrl);
374
+ await open(session.authUrl);
298
375
  console.log(chalk.green('✅ Browser opened'));
299
376
  }
300
377
  catch (_error) {
301
- console.log(chalk.yellow(`💡 Please open manually: ${authUrl}`));
378
+ console.log(chalk.yellow(`💡 Please open manually: ${session.authUrl}`));
302
379
  }
303
380
  const spinner = p.spinner();
304
381
  spinner.start('Waiting for authentication...');
305
382
  try {
306
- const result = await tokenPromise;
383
+ const result = await session.result;
307
384
  spinner.stop('Authentication successful!');
308
385
  return result;
309
386
  }
@@ -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"}