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
@@ -1,743 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- /**
3
- * ModelSelector Component (Refactored)
4
- * Features:
5
- * - Search filtering
6
- * - Custom models support (add/edit/delete via arrow navigation)
7
- */
8
- import { useState, useEffect, forwardRef, useRef, useImperativeHandle, useMemo, useCallback, } from 'react';
9
- import { Box, Text } from 'ink';
10
- import { useTerminalSize } from '../../hooks/useTerminalSize.js';
11
- import { listOllamaModels, DEFAULT_OLLAMA_URL, getLocalModelById, isReasoningCapableModel, } from '@dexto/core';
12
- import { loadCustomModels, deleteCustomModel, getAllInstalledModels, loadGlobalPreferences, isDextoAuthEnabled, } from '@dexto/agent-management';
13
- import { getLLMProviderDisplayName } from '../../utils/llm-provider-display.js';
14
- import { getMaxVisibleItemsForTerminalRows } from '../../utils/overlaySizing.js';
15
- import { HintBar } from '../shared/HintBar.js';
16
- function isAddCustomOption(item) {
17
- return 'type' in item && item.type === 'add-custom';
18
- }
19
- function asModelOption(item) {
20
- return item;
21
- }
22
- function getRowPrefix({ isSelected, isDefault, isCurrent, isCustom, }) {
23
- return `${isSelected ? '›' : ' '} ${isDefault ? '✓' : ' '} ${isCurrent ? '●' : ' '} ${isCustom ? '★' : ' '}`;
24
- }
25
- function computeNextSelection(currentIndex, itemsLength, viewportItems) {
26
- const nextIndex = currentIndex;
27
- let nextOffset = 0;
28
- const modelsLength = Math.max(0, itemsLength - 1);
29
- if (nextIndex > 0) {
30
- const modelIndex = nextIndex - 1;
31
- if (modelIndex < nextOffset) {
32
- nextOffset = modelIndex;
33
- }
34
- else if (modelIndex >= nextOffset + viewportItems) {
35
- nextOffset = Math.max(0, modelIndex - viewportItems + 1);
36
- }
37
- }
38
- const maxOffset = Math.max(0, modelsLength - viewportItems);
39
- nextOffset = Math.min(maxOffset, Math.max(0, nextOffset));
40
- return { index: nextIndex, offset: nextOffset };
41
- }
42
- // Reasoning effort options - defined at module scope to avoid recreation on each render
43
- const REASONING_EFFORT_OPTIONS = [
44
- {
45
- value: 'auto',
46
- label: 'Auto',
47
- description: 'Let the model decide (recommended for most tasks)',
48
- },
49
- { value: 'none', label: 'None', description: 'No reasoning, fastest responses' },
50
- { value: 'minimal', label: 'Minimal', description: 'Barely any reasoning, very fast' },
51
- { value: 'low', label: 'Low', description: 'Light reasoning, fast responses' },
52
- {
53
- value: 'medium',
54
- label: 'Medium',
55
- description: 'Balanced reasoning (OpenAI recommended)',
56
- },
57
- { value: 'high', label: 'High', description: 'Thorough reasoning for complex tasks' },
58
- { value: 'xhigh', label: 'Extra High', description: 'Maximum quality, slower/costlier' },
59
- ];
60
- /**
61
- * Model selector with search and custom model support
62
- */
63
- const ModelSelector = forwardRef(function ModelSelector({ isVisible, onSelectModel, onSetDefaultModel, onClose, onAddCustomModel, onEditCustomModel, agent, }, ref) {
64
- const { rows: terminalRows } = useTerminalSize();
65
- const maxVisibleItems = useMemo(() => {
66
- return getMaxVisibleItemsForTerminalRows({
67
- rows: terminalRows,
68
- hardCap: 8,
69
- reservedRows: 14,
70
- });
71
- }, [terminalRows]);
72
- const [models, setModels] = useState([]);
73
- const [customModels, setCustomModels] = useState([]);
74
- const [isLoading, setIsLoading] = useState(false);
75
- const [selection, setSelection] = useState({ index: 0, offset: 0 });
76
- const [searchQuery, setSearchQuery] = useState('');
77
- const [customModelAction, setCustomModelAction] = useState(null);
78
- const [pendingDeleteConfirm, setPendingDeleteConfirm] = useState(false);
79
- const selectedIndexRef = useRef(0);
80
- const deleteTimeoutRef = useRef(null);
81
- const maxVisibleItemsRef = useRef(maxVisibleItems);
82
- // Reasoning effort sub-step state
83
- const [pendingReasoningModel, setPendingReasoningModel] = useState(null);
84
- const [reasoningEffortIndex, setReasoningEffortIndex] = useState(0); // Default to 'Auto' (index 0)
85
- const [isSettingDefault, setIsSettingDefault] = useState(false); // Track if setting as default vs normal selection
86
- const [refreshVersion, setRefreshVersion] = useState(0);
87
- // Keep ref in sync
88
- selectedIndexRef.current = selection.index;
89
- maxVisibleItemsRef.current = maxVisibleItems;
90
- const modelsViewportItems = Math.max(1, maxVisibleItems - 1);
91
- // Clear delete confirmation timeout on unmount
92
- useEffect(() => {
93
- return () => {
94
- if (deleteTimeoutRef.current) {
95
- clearTimeout(deleteTimeoutRef.current);
96
- }
97
- };
98
- }, []);
99
- // Fetch models from agent and load custom models
100
- useEffect(() => {
101
- if (!isVisible)
102
- return;
103
- let cancelled = false;
104
- setIsLoading(true);
105
- setModels([]);
106
- setCustomModels([]);
107
- setSearchQuery('');
108
- setSelection({ index: 0, offset: 0 });
109
- setCustomModelAction(null);
110
- setPendingDeleteConfirm(false);
111
- setPendingReasoningModel(null);
112
- setIsSettingDefault(false);
113
- setReasoningEffortIndex(0); // Default to 'Auto'
114
- if (deleteTimeoutRef.current) {
115
- clearTimeout(deleteTimeoutRef.current);
116
- deleteTimeoutRef.current = null;
117
- }
118
- const fetchModels = async () => {
119
- try {
120
- const [allModels, providers, currentConfig, loadedCustomModels, preferences] = await Promise.all([
121
- Promise.resolve(agent.getSupportedModels()),
122
- Promise.resolve(agent.getSupportedProviders()),
123
- Promise.resolve(agent.getCurrentLLMConfig()),
124
- loadCustomModels(),
125
- loadGlobalPreferences().catch(() => null),
126
- ]);
127
- const modelList = [];
128
- const defaultProvider = preferences?.llm.provider;
129
- const defaultModel = preferences?.llm.model;
130
- const defaultBaseURL = preferences?.llm.baseURL;
131
- const defaultReasoningEffort = preferences?.llm.reasoningEffort;
132
- // Fetch dynamic models for local providers
133
- let ollamaModels = [];
134
- let localModels = [];
135
- try {
136
- ollamaModels = await listOllamaModels(DEFAULT_OLLAMA_URL);
137
- }
138
- catch (error) {
139
- // Ollama not available, skip
140
- agent.logger.debug('Ollama not available for model listing');
141
- }
142
- try {
143
- localModels = await getAllInstalledModels();
144
- }
145
- catch (error) {
146
- // Local models not available, skip
147
- agent.logger.debug('Local models not available for listing');
148
- }
149
- // Add custom models first
150
- for (const custom of loadedCustomModels) {
151
- // Use provider from custom model, default to openai-compatible for legacy models
152
- const customProvider = (custom.provider ?? 'openai-compatible');
153
- const modelOption = {
154
- provider: customProvider,
155
- name: custom.name,
156
- displayName: custom.displayName || custom.name,
157
- maxInputTokens: custom.maxInputTokens ?? 128000,
158
- isDefault: customProvider === defaultProvider && custom.name === defaultModel,
159
- isCurrent: currentConfig.provider === customProvider &&
160
- currentConfig.model === custom.name,
161
- isCustom: true,
162
- };
163
- if (custom.baseURL) {
164
- modelOption.baseURL = custom.baseURL;
165
- }
166
- if (custom.reasoningEffort) {
167
- modelOption.reasoningEffort = custom.reasoningEffort;
168
- }
169
- modelList.push(modelOption);
170
- }
171
- // Add registry models
172
- for (const provider of providers) {
173
- // Skip custom-only providers that don't have a static model list
174
- // These are only accessible via the "Add custom model" wizard
175
- if (provider === 'openai-compatible' ||
176
- provider === 'openrouter' ||
177
- provider === 'litellm' ||
178
- provider === 'glama' ||
179
- provider === 'bedrock')
180
- continue;
181
- // Skip ollama, local, and vertex - they'll be added dynamically below
182
- if (provider === 'ollama' || provider === 'local' || provider === 'vertex') {
183
- continue;
184
- }
185
- // Skip dexto-nova provider when feature is not enabled
186
- if (provider === 'dexto-nova' && !isDextoAuthEnabled()) {
187
- continue;
188
- }
189
- const providerModels = allModels[provider];
190
- for (const model of providerModels) {
191
- // For dexto-nova provider, models have originalProvider field
192
- // showing which provider the model originally came from
193
- const originalProvider = 'originalProvider' in model ? model.originalProvider : undefined;
194
- modelList.push({
195
- provider,
196
- name: model.name,
197
- displayName: model.displayName,
198
- maxInputTokens: model.maxInputTokens,
199
- isDefault: provider === defaultProvider && model.name === defaultModel,
200
- isCurrent: provider === currentConfig.provider &&
201
- model.name === currentConfig.model,
202
- isCustom: false,
203
- ...(defaultReasoningEffort &&
204
- provider === defaultProvider &&
205
- model.name === defaultModel
206
- ? { reasoningEffort: defaultReasoningEffort }
207
- : {}),
208
- ...(defaultBaseURL &&
209
- provider === defaultProvider &&
210
- model.name === defaultModel
211
- ? { baseURL: defaultBaseURL }
212
- : {}),
213
- // Store original provider for display purposes
214
- ...(originalProvider && { originalProvider }),
215
- });
216
- }
217
- }
218
- // Add Ollama models dynamically
219
- for (const ollamaModel of ollamaModels) {
220
- modelList.push({
221
- provider: 'ollama',
222
- name: ollamaModel.name,
223
- displayName: ollamaModel.name,
224
- maxInputTokens: 128000, // Default, actual varies by model
225
- isDefault: defaultProvider === 'ollama' && defaultModel === ollamaModel.name,
226
- isCurrent: currentConfig.provider === 'ollama' &&
227
- currentConfig.model === ollamaModel.name,
228
- isCustom: false,
229
- });
230
- }
231
- // Add local models dynamically
232
- for (const localModel of localModels) {
233
- // Get display name from registry if available
234
- const modelInfo = getLocalModelById(localModel.id);
235
- const displayName = modelInfo?.name || localModel.id;
236
- const maxInputTokens = modelInfo?.contextLength || 128000;
237
- modelList.push({
238
- provider: 'local',
239
- name: localModel.id,
240
- displayName,
241
- maxInputTokens,
242
- isDefault: defaultProvider === 'local' && defaultModel === localModel.id,
243
- isCurrent: currentConfig.provider === 'local' &&
244
- currentConfig.model === localModel.id,
245
- isCustom: false,
246
- });
247
- }
248
- // Add Vertex AI models from registry
249
- const vertexModels = allModels['vertex'];
250
- if (vertexModels) {
251
- for (const model of vertexModels) {
252
- modelList.push({
253
- provider: 'vertex',
254
- name: model.name,
255
- displayName: model.displayName,
256
- maxInputTokens: model.maxInputTokens,
257
- isDefault: defaultProvider === 'vertex' && defaultModel === model.name,
258
- isCurrent: currentConfig.provider === 'vertex' &&
259
- currentConfig.model === model.name,
260
- isCustom: false,
261
- ...(defaultReasoningEffort &&
262
- defaultProvider === 'vertex' &&
263
- defaultModel === model.name
264
- ? { reasoningEffort: defaultReasoningEffort }
265
- : {}),
266
- });
267
- }
268
- }
269
- if (!cancelled) {
270
- setModels(modelList);
271
- setCustomModels(loadedCustomModels);
272
- setIsLoading(false);
273
- // Set initial selection to current model (offset by 1 for "Add custom" option)
274
- const currentIndex = modelList.findIndex((m) => m.isCurrent);
275
- if (currentIndex >= 0) {
276
- const nextIndex = currentIndex + 1; // +1 for "Add custom" at top
277
- const nextMaxVisibleItems = maxVisibleItemsRef.current;
278
- const nextModelsViewportItems = Math.max(1, nextMaxVisibleItems - 1);
279
- const maxOffset = Math.max(0, modelList.length - nextModelsViewportItems);
280
- const nextOffset = Math.min(maxOffset, Math.max(0, currentIndex - nextModelsViewportItems + 1));
281
- selectedIndexRef.current = nextIndex;
282
- setSelection({ index: nextIndex, offset: nextOffset });
283
- }
284
- }
285
- }
286
- catch (error) {
287
- if (!cancelled) {
288
- agent.logger.error(`Failed to fetch models: ${error instanceof Error ? error.message : 'Unknown error'}`);
289
- setModels([]);
290
- setIsLoading(false);
291
- }
292
- }
293
- };
294
- void fetchModels();
295
- return () => {
296
- cancelled = true;
297
- };
298
- }, [isVisible, agent, refreshVersion]);
299
- // Filter models based on search query
300
- const filteredItems = useMemo(() => {
301
- const addCustomOption = { type: 'add-custom' };
302
- if (!searchQuery.trim()) {
303
- return [addCustomOption, ...models];
304
- }
305
- const query = searchQuery.toLowerCase().replace(/[\s-]+/g, '');
306
- const filtered = models.filter((model) => {
307
- const name = model.name.toLowerCase().replace(/[\s-]+/g, '');
308
- const displayName = (model.displayName || '').toLowerCase().replace(/[\s-]+/g, '');
309
- const provider = model.provider.toLowerCase().replace(/[\s-]+/g, '');
310
- return name.includes(query) || displayName.includes(query) || provider.includes(query);
311
- });
312
- // Always show "Add custom" when searching (user might want to add what they're searching for)
313
- return [addCustomOption, ...filtered];
314
- }, [models, searchQuery]);
315
- // Keep selection valid and visible when filtering or terminal height changes.
316
- useEffect(() => {
317
- setSelection((prev) => {
318
- const maxIndex = Math.max(0, filteredItems.length - 1);
319
- const nextIndex = Math.min(prev.index, maxIndex);
320
- let nextOffset = prev.offset;
321
- const nextModelsLength = Math.max(0, filteredItems.length - 1);
322
- if (nextIndex > 0) {
323
- const modelIndex = nextIndex - 1;
324
- if (modelIndex < nextOffset) {
325
- nextOffset = modelIndex;
326
- }
327
- else if (modelIndex >= nextOffset + modelsViewportItems) {
328
- nextOffset = Math.max(0, modelIndex - modelsViewportItems + 1);
329
- }
330
- }
331
- const maxOffset = Math.max(0, nextModelsLength - modelsViewportItems);
332
- nextOffset = Math.min(maxOffset, Math.max(0, nextOffset));
333
- if (nextIndex === prev.index && nextOffset === prev.offset) {
334
- return prev;
335
- }
336
- selectedIndexRef.current = nextIndex;
337
- return { index: nextIndex, offset: nextOffset };
338
- });
339
- }, [filteredItems.length, modelsViewportItems]);
340
- // Handle delete custom model
341
- const handleDeleteCustomModel = useCallback(async (model) => {
342
- if (!model.isCustom)
343
- return;
344
- try {
345
- await deleteCustomModel(model.name);
346
- // Refresh the list
347
- const updated = await loadCustomModels();
348
- setCustomModels(updated);
349
- // Update models list
350
- setModels((prev) => prev.filter((m) => !(m.isCustom && m.name === model.name)));
351
- }
352
- catch (error) {
353
- agent.logger.error(`Failed to delete custom model: ${error instanceof Error ? error.message : 'Unknown error'}`);
354
- }
355
- }, [agent]);
356
- // Helper to clear action state
357
- const clearActionState = () => {
358
- setCustomModelAction(null);
359
- setPendingDeleteConfirm(false);
360
- if (deleteTimeoutRef.current) {
361
- clearTimeout(deleteTimeoutRef.current);
362
- deleteTimeoutRef.current = null;
363
- }
364
- };
365
- // Expose handleInput method via ref
366
- useImperativeHandle(ref, () => ({
367
- handleInput: (input, key) => {
368
- if (!isVisible)
369
- return false;
370
- // While loading, allow closing but ignore all other input.
371
- if (isLoading) {
372
- if (key.escape) {
373
- onClose();
374
- }
375
- return true;
376
- }
377
- // Handle reasoning effort sub-step
378
- if (pendingReasoningModel) {
379
- if (key.escape) {
380
- // Go back to model selection
381
- setPendingReasoningModel(null);
382
- setIsSettingDefault(false);
383
- return true;
384
- }
385
- if (key.upArrow) {
386
- setReasoningEffortIndex((prev) => prev > 0 ? prev - 1 : REASONING_EFFORT_OPTIONS.length - 1);
387
- return true;
388
- }
389
- if (key.downArrow) {
390
- setReasoningEffortIndex((prev) => prev < REASONING_EFFORT_OPTIONS.length - 1 ? prev + 1 : 0);
391
- return true;
392
- }
393
- if (key.return) {
394
- const selectedOption = REASONING_EFFORT_OPTIONS[reasoningEffortIndex];
395
- const reasoningEffort = selectedOption?.value === 'auto' ? undefined : selectedOption?.value;
396
- if (isSettingDefault) {
397
- // Setting as default model
398
- clearActionState();
399
- void (async () => {
400
- await onSetDefaultModel(pendingReasoningModel.provider, pendingReasoningModel.name, pendingReasoningModel.displayName, pendingReasoningModel.baseURL, reasoningEffort);
401
- setRefreshVersion((prev) => prev + 1);
402
- onClose(); // Close overlay after setting default
403
- })();
404
- }
405
- else {
406
- // Normal model selection
407
- onSelectModel(pendingReasoningModel.provider, pendingReasoningModel.name, pendingReasoningModel.displayName, pendingReasoningModel.baseURL, reasoningEffort);
408
- }
409
- setPendingReasoningModel(null);
410
- setIsSettingDefault(false);
411
- return true;
412
- }
413
- return true; // Consume all input in reasoning effort mode
414
- }
415
- // Escape always works
416
- if (key.escape) {
417
- // If in action mode, just clear it first
418
- if (customModelAction) {
419
- clearActionState();
420
- return true;
421
- }
422
- onClose();
423
- return true;
424
- }
425
- const itemsLength = filteredItems.length;
426
- const currentItem = filteredItems[selectedIndexRef.current];
427
- const isCustomActionItem = currentItem && !isAddCustomOption(currentItem) && currentItem.isCustom;
428
- const isSelectableItem = currentItem && !isAddCustomOption(currentItem);
429
- const isOnActionItem = isCustomActionItem || isSelectableItem;
430
- // Right arrow - enter/advance action mode for custom or selectable models
431
- if (key.rightArrow) {
432
- if (!isOnActionItem)
433
- return false;
434
- if (customModelAction === null) {
435
- if (isCustomActionItem) {
436
- setCustomModelAction('edit');
437
- }
438
- else {
439
- setCustomModelAction('default');
440
- }
441
- return true;
442
- }
443
- if (customModelAction === 'edit') {
444
- setCustomModelAction('default');
445
- return true;
446
- }
447
- if (customModelAction === 'default') {
448
- if (isCustomActionItem) {
449
- setCustomModelAction('delete');
450
- setPendingDeleteConfirm(false);
451
- return true;
452
- }
453
- return true;
454
- }
455
- if (customModelAction === 'delete') {
456
- // Use Enter for delete confirmation/execution to avoid accidental deletes.
457
- return true;
458
- }
459
- }
460
- // Left arrow - go back in action mode
461
- if (key.leftArrow) {
462
- if (customModelAction === 'delete') {
463
- setCustomModelAction('default');
464
- setPendingDeleteConfirm(false);
465
- if (deleteTimeoutRef.current) {
466
- clearTimeout(deleteTimeoutRef.current);
467
- deleteTimeoutRef.current = null;
468
- }
469
- return true;
470
- }
471
- if (customModelAction === 'default') {
472
- if (isCustomActionItem) {
473
- setCustomModelAction('edit');
474
- }
475
- else {
476
- setCustomModelAction(null);
477
- }
478
- return true;
479
- }
480
- if (customModelAction === 'edit') {
481
- setCustomModelAction(null);
482
- return true;
483
- }
484
- return false;
485
- }
486
- // Handle character input for search
487
- if (input && !key.return && !key.upArrow && !key.downArrow && !key.tab) {
488
- // Any character input clears action state and adds to search
489
- if (customModelAction) {
490
- clearActionState();
491
- }
492
- // Backspace
493
- if (key.backspace || key.delete) {
494
- setSearchQuery((prev) => prev.slice(0, -1));
495
- return true;
496
- }
497
- // Regular character - add to search
498
- if (input.length === 1 && input.charCodeAt(0) >= 32) {
499
- setSearchQuery((prev) => prev + input);
500
- selectedIndexRef.current = 0;
501
- setSelection({ index: 0, offset: 0 });
502
- return true;
503
- }
504
- }
505
- // Backspace when no other input
506
- if (key.backspace || key.delete) {
507
- setSearchQuery((prev) => prev.slice(0, -1));
508
- return true;
509
- }
510
- if (itemsLength === 0)
511
- return false;
512
- if (key.upArrow) {
513
- // Clear action state on vertical navigation
514
- if (customModelAction) {
515
- clearActionState();
516
- }
517
- const nextIndex = (selectedIndexRef.current - 1 + itemsLength) % itemsLength;
518
- selectedIndexRef.current = nextIndex;
519
- setSelection((prev) => {
520
- let nextOffset = prev.offset;
521
- const nextModelsLength = Math.max(0, itemsLength - 1);
522
- if (nextIndex > 0) {
523
- const modelIndex = nextIndex - 1;
524
- if (modelIndex < prev.offset) {
525
- nextOffset = modelIndex;
526
- }
527
- else if (modelIndex >= prev.offset + modelsViewportItems) {
528
- nextOffset = Math.max(0, modelIndex - modelsViewportItems + 1);
529
- }
530
- }
531
- const maxOffset = Math.max(0, nextModelsLength - modelsViewportItems);
532
- nextOffset = Math.min(maxOffset, Math.max(0, nextOffset));
533
- return { index: nextIndex, offset: nextOffset };
534
- });
535
- return true;
536
- }
537
- if (key.downArrow) {
538
- // Clear action state on vertical navigation
539
- if (customModelAction) {
540
- clearActionState();
541
- }
542
- const nextIndex = (selectedIndexRef.current + 1) % itemsLength;
543
- selectedIndexRef.current = nextIndex;
544
- setSelection((prev) => {
545
- let nextOffset = prev.offset;
546
- const nextModelsLength = Math.max(0, itemsLength - 1);
547
- if (nextIndex > 0) {
548
- const modelIndex = nextIndex - 1;
549
- if (modelIndex < prev.offset) {
550
- nextOffset = modelIndex;
551
- }
552
- else if (modelIndex >= prev.offset + modelsViewportItems) {
553
- nextOffset = Math.max(0, modelIndex - modelsViewportItems + 1);
554
- }
555
- }
556
- const maxOffset = Math.max(0, nextModelsLength - modelsViewportItems);
557
- nextOffset = Math.min(maxOffset, Math.max(0, nextOffset));
558
- return { index: nextIndex, offset: nextOffset };
559
- });
560
- return true;
561
- }
562
- if (key.return && itemsLength > 0) {
563
- const item = filteredItems[selectedIndexRef.current];
564
- if (item) {
565
- if (isAddCustomOption(item)) {
566
- onAddCustomModel();
567
- return true;
568
- }
569
- // Handle action mode confirmations
570
- if (customModelAction === 'edit' && item.isCustom) {
571
- // Find the full custom model data
572
- const customModel = customModels.find((cm) => cm.name === item.name &&
573
- (cm.provider ?? 'openai-compatible') === item.provider);
574
- if (customModel) {
575
- onEditCustomModel(customModel);
576
- }
577
- return true;
578
- }
579
- if (customModelAction === 'default') {
580
- // Check if reasoning-capable, show reasoning effort selection
581
- if (isReasoningCapableModel(item.name)) {
582
- setPendingReasoningModel(item);
583
- setIsSettingDefault(true);
584
- setReasoningEffortIndex(0); // Default to 'Auto'
585
- return true;
586
- }
587
- clearActionState();
588
- void (async () => {
589
- await onSetDefaultModel(item.provider, item.name, item.displayName, item.baseURL, item.reasoningEffort);
590
- setRefreshVersion((prev) => prev + 1);
591
- onClose(); // Close overlay after setting default
592
- })();
593
- return true;
594
- }
595
- if (customModelAction === 'delete' && item.isCustom) {
596
- if (pendingDeleteConfirm) {
597
- // Already confirmed, delete
598
- clearActionState();
599
- void handleDeleteCustomModel(item);
600
- }
601
- else {
602
- // Set pending confirmation
603
- setPendingDeleteConfirm(true);
604
- if (deleteTimeoutRef.current) {
605
- clearTimeout(deleteTimeoutRef.current);
606
- }
607
- deleteTimeoutRef.current = setTimeout(() => {
608
- setPendingDeleteConfirm(false);
609
- deleteTimeoutRef.current = null;
610
- }, 3000);
611
- }
612
- return true;
613
- }
614
- // Normal selection - check if reasoning-capable
615
- if (isReasoningCapableModel(item.name)) {
616
- // Show reasoning effort sub-step
617
- setPendingReasoningModel(item);
618
- setReasoningEffortIndex(0); // Default to 'Auto'
619
- return true;
620
- }
621
- onSelectModel(item.provider, item.name, item.displayName, item.baseURL);
622
- return true;
623
- }
624
- }
625
- return false;
626
- },
627
- }), [
628
- isVisible,
629
- isLoading,
630
- filteredItems,
631
- maxVisibleItems,
632
- modelsViewportItems,
633
- onClose,
634
- onSelectModel,
635
- onSetDefaultModel,
636
- onAddCustomModel,
637
- onEditCustomModel,
638
- customModelAction,
639
- pendingDeleteConfirm,
640
- customModels,
641
- handleDeleteCustomModel,
642
- pendingReasoningModel,
643
- reasoningEffortIndex,
644
- isSettingDefault,
645
- ]);
646
- if (!isVisible)
647
- return null;
648
- // Reasoning effort sub-step UI
649
- if (pendingReasoningModel) {
650
- const reasoningVisibleItems = Math.min(maxVisibleItems, REASONING_EFFORT_OPTIONS.length);
651
- const reasoningOffset = Math.min(Math.max(0, reasoningEffortIndex - reasoningVisibleItems + 1), Math.max(0, REASONING_EFFORT_OPTIONS.length - reasoningVisibleItems));
652
- const visibleReasoningOptions = REASONING_EFFORT_OPTIONS.slice(reasoningOffset, reasoningOffset + reasoningVisibleItems);
653
- const selectedReasoningOption = REASONING_EFFORT_OPTIONS[reasoningEffortIndex];
654
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { paddingX: 0, paddingY: 0, children: _jsxs(Text, { color: "cyan", bold: true, children: ["Reasoning Effort", isSettingDefault ? _jsx(Text, { color: "gray", children: " (default)" }) : null] }) }), _jsx(Box, { paddingX: 0, paddingY: 0, children: _jsx(Text, { color: "gray", wrap: "truncate-end", children: pendingReasoningModel.displayName || pendingReasoningModel.name }) }), _jsx(Box, { flexDirection: "column", height: maxVisibleItems, marginTop: 1, children: Array.from({ length: maxVisibleItems }, (_, rowIndex) => {
655
- const option = visibleReasoningOptions[rowIndex];
656
- if (!option) {
657
- return (_jsx(Box, { paddingX: 0, paddingY: 0, children: _jsx(Text, { children: " " }) }, `reasoning-empty-${rowIndex}`));
658
- }
659
- const actualIndex = reasoningOffset + rowIndex;
660
- const isSelected = actualIndex === reasoningEffortIndex;
661
- return (_jsx(Box, { paddingX: 0, paddingY: 0, children: _jsxs(Text, { color: isSelected ? 'cyan' : 'gray', bold: isSelected, wrap: "truncate-end", children: [isSelected ? '›' : ' ', " ", option.label] }) }, option.value));
662
- }) }), _jsx(Box, { paddingX: 0, paddingY: 0, marginTop: 1, children: _jsx(Text, { color: "gray", wrap: "truncate-end", children: selectedReasoningOption?.description ?? '' }) }), _jsx(Box, { paddingX: 0, paddingY: 0, children: _jsx(HintBar, { hints: ['↑↓ navigate', 'Enter select', 'Esc back'] }) })] }));
663
- }
664
- const selectedIndex = selection.index;
665
- const scrollOffset = selection.offset;
666
- const modelsOnly = filteredItems.slice(1);
667
- const visibleModels = modelsOnly.slice(scrollOffset, scrollOffset + modelsViewportItems);
668
- const selectedItem = filteredItems[selectedIndex];
669
- const hasActionableItems = selectedItem && !isAddCustomOption(selectedItem);
670
- let detailLine = '';
671
- if (isLoading) {
672
- detailLine = 'Loading models…';
673
- }
674
- else if (customModelAction === 'delete' && pendingDeleteConfirm) {
675
- detailLine = 'Confirm delete: press Enter again';
676
- }
677
- else if (customModelAction) {
678
- const label = customModelAction === 'edit'
679
- ? 'Edit'
680
- : customModelAction === 'default'
681
- ? 'Set as default'
682
- : 'Delete';
683
- detailLine = `Action: ${label}`;
684
- }
685
- else if (searchQuery.trim() && filteredItems.length <= 1) {
686
- detailLine = 'No models match your search';
687
- }
688
- else if (!selectedItem) {
689
- detailLine = '';
690
- }
691
- else if (isAddCustomOption(selectedItem)) {
692
- detailLine = 'Enter to add a custom model';
693
- }
694
- else {
695
- const provider = getLLMProviderDisplayName(selectedItem.provider);
696
- const name = selectedItem.displayName || selectedItem.name;
697
- const flags = [];
698
- if (selectedItem.isDefault)
699
- flags.push('default');
700
- if (selectedItem.isCurrent)
701
- flags.push('current');
702
- detailLine =
703
- flags.length > 0
704
- ? `${name} (${provider}) • ${flags.join(', ')}`
705
- : `${name} (${provider})`;
706
- }
707
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { paddingX: 0, paddingY: 0, children: _jsx(Text, { color: "cyan", bold: true, children: "Models" }) }), _jsxs(Box, { paddingX: 0, paddingY: 0, marginTop: 1, children: [_jsx(Text, { color: "gray", children: "Search: " }), _jsx(Text, { color: searchQuery ? 'white' : 'gray', wrap: "truncate-end", children: searchQuery || 'Type to filter models…' })] }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Box, { paddingX: 0, paddingY: 0, children: _jsxs(Text, { color: selectedIndex === 0 ? 'green' : 'gray', bold: selectedIndex === 0, wrap: "truncate-end", children: [getRowPrefix({
708
- isSelected: selectedIndex === 0,
709
- isDefault: false,
710
- isCurrent: false,
711
- isCustom: false,
712
- }), ' ', "Add custom model\u2026"] }) }), _jsx(Box, { flexDirection: "column", height: modelsViewportItems, children: isLoading || modelsOnly.length === 0
713
- ? Array.from({ length: modelsViewportItems }, (_, index) => (_jsx(Box, { paddingX: 0, paddingY: 0, children: _jsx(Text, { children: " " }) }, `model-empty-${index}`)))
714
- : Array.from({ length: modelsViewportItems }, (_, rowIndex) => {
715
- const item = visibleModels[rowIndex];
716
- if (!item) {
717
- return (_jsx(Box, { paddingX: 0, paddingY: 0, children: _jsx(Text, { children: " " }) }, `model-empty-${rowIndex}`));
718
- }
719
- const actualIndex = 1 + scrollOffset + rowIndex;
720
- const isSelected = actualIndex === selectedIndex;
721
- const providerDisplay = getLLMProviderDisplayName(item.provider);
722
- const name = item.displayName || item.name;
723
- const prefix = getRowPrefix({
724
- isSelected,
725
- isDefault: item.isDefault,
726
- isCurrent: item.isCurrent,
727
- isCustom: item.isCustom,
728
- });
729
- return (_jsxs(Box, { flexDirection: "row", paddingX: 0, paddingY: 0, children: [_jsx(Box, { flexGrow: 1, children: _jsxs(Text, { color: isSelected ? 'cyan' : 'gray', bold: isSelected, wrap: "truncate-end", children: [prefix, " ", name, " (", providerDisplay, ")"] }) }), isSelected && (_jsxs(Box, { flexDirection: "row", marginLeft: 1, children: [item.isCustom && (_jsxs(_Fragment, { children: [_jsxs(Text, { color: customModelAction === 'edit'
730
- ? 'green'
731
- : 'gray', bold: customModelAction === 'edit', inverse: customModelAction === 'edit', children: [' ', "Edit", ' '] }), _jsx(Text, { children: " " })] })), _jsxs(Text, { color: customModelAction === 'default'
732
- ? 'cyan'
733
- : 'gray', bold: customModelAction === 'default', inverse: customModelAction === 'default', children: [' ', "Set as Default", ' '] }), item.isCustom && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsxs(Text, { color: customModelAction === 'delete'
734
- ? 'red'
735
- : 'gray', bold: customModelAction === 'delete', inverse: customModelAction === 'delete', children: [' ', "Delete", ' '] })] }))] }))] }, `${item.provider}-${item.name}-${item.isCustom ? 'custom' : 'registry'}`));
736
- }) })] }), _jsx(Box, { paddingX: 0, paddingY: 0, marginTop: 1, children: _jsx(Text, { color: "gray", wrap: "truncate-end", children: detailLine }) }), _jsx(Box, { paddingX: 0, paddingY: 0, children: _jsx(HintBar, { hints: [
737
- '↑↓ navigate',
738
- 'Enter select',
739
- 'Esc close',
740
- hasActionableItems ? '←→ actions' : '',
741
- ] }) })] }));
742
- });
743
- export default ModelSelector;