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,76 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * Footer Component
4
- * Status line at the bottom showing CWD, branch, and model info.
5
- */
6
- import { useEffect, useState } from 'react';
7
- import path from 'node:path';
8
- import { Box, Text } from 'ink';
9
- import { getModelDisplayName } from '@dexto/core';
10
- import { getLLMProviderDisplayName } from '../utils/llm-provider-display.js';
11
- function getDirectoryName(cwd) {
12
- const base = path.basename(cwd);
13
- return base || cwd;
14
- }
15
- /**
16
- * Pure presentational component for footer status line
17
- */
18
- export function Footer({ agent, sessionId, modelName, cwd, branchName, autoApproveEdits, planModeActive, isShellMode, }) {
19
- const displayPath = cwd ? getDirectoryName(cwd) : '';
20
- const displayModelName = getModelDisplayName(modelName);
21
- const [contextLeft, setContextLeft] = useState(null);
22
- // Provider is session-scoped because /model can switch LLM per session.
23
- const provider = sessionId ? agent.getCurrentLLMConfig(sessionId).provider : null;
24
- const providerLabel = provider ? getLLMProviderDisplayName(provider) : null;
25
- useEffect(() => {
26
- if (!sessionId) {
27
- setContextLeft(null);
28
- return;
29
- }
30
- let cancelled = false;
31
- let refreshId = 0;
32
- const refreshContext = async () => {
33
- const requestId = ++refreshId;
34
- try {
35
- const stats = await agent.getContextStats(sessionId);
36
- if (cancelled || requestId !== refreshId)
37
- return;
38
- const percentLeft = Math.max(0, Math.min(100, 100 - stats.usagePercent));
39
- setContextLeft({
40
- percentLeft,
41
- });
42
- }
43
- catch {
44
- if (!cancelled) {
45
- setContextLeft(null);
46
- }
47
- }
48
- };
49
- refreshContext();
50
- const controller = new AbortController();
51
- const { signal } = controller;
52
- const sessionEvents = [
53
- 'llm:response',
54
- 'context:compacted',
55
- 'context:pruned',
56
- 'context:cleared',
57
- 'message:dequeued',
58
- 'session:reset',
59
- ];
60
- const handleEvent = (payload) => {
61
- if (payload.sessionId && payload.sessionId !== sessionId)
62
- return;
63
- refreshContext();
64
- };
65
- for (const eventName of sessionEvents) {
66
- agent.on(eventName, handleEvent, { signal });
67
- }
68
- return () => {
69
- cancelled = true;
70
- controller.abort();
71
- };
72
- }, [agent, sessionId]);
73
- // Shell mode changes the path color to yellow as indicator
74
- const pathColor = isShellMode ? 'yellow' : 'blue';
75
- return (_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsxs(Box, { flexDirection: "row", justifyContent: "space-between", children: [_jsxs(Box, { children: [_jsx(Text, { color: pathColor, children: displayPath }), branchName && _jsxs(Text, { color: "gray", children: [" (", branchName, ")"] })] }), _jsxs(Box, { children: [_jsx(Text, { color: "cyan", children: displayModelName }), providerLabel && _jsxs(Text, { color: "gray", children: [" (", providerLabel, ")"] })] })] }), contextLeft && (_jsx(Box, { children: _jsxs(Text, { color: "gray", children: [contextLeft.percentLeft, "% context left"] }) })), isShellMode && (_jsxs(Box, { children: [_jsx(Text, { color: "yellow", bold: true, children: "!" }), _jsx(Text, { color: "gray", children: " for shell mode" })] })), planModeActive && !isShellMode && (_jsxs(Box, { children: [_jsx(Text, { color: "magentaBright", children: "plan mode" }), _jsx(Text, { color: "gray", children: " (shift + tab to cycle)" })] })), autoApproveEdits && !planModeActive && !isShellMode && (_jsxs(Box, { children: [_jsx(Text, { color: "yellowBright", children: "accept edits" }), _jsx(Text, { color: "gray", children: " (shift + tab to cycle)" })] }))] }));
76
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * HistorySearchBar - UI for Ctrl+R reverse history search
3
- *
4
- * Displayed at the very bottom when search mode is active.
5
- */
6
- interface HistorySearchBarProps {
7
- /** Current search query */
8
- query: string;
9
- /** Whether there's a match for the current query */
10
- hasMatch: boolean;
11
- }
12
- /**
13
- * Search bar displayed during history search mode
14
- */
15
- export declare function HistorySearchBar({ query, hasMatch }: HistorySearchBarProps): import("react/jsx-runtime").JSX.Element;
16
- export {};
17
- //# sourceMappingURL=HistorySearchBar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HistorySearchBar.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/components/HistorySearchBar.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,UAAU,qBAAqB;IAC3B,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,qBAAqB,2CAc1E"}
@@ -1,8 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Box, Text } from 'ink';
3
- /**
4
- * Search bar displayed during history search mode
5
- */
6
- export function HistorySearchBar({ query, hasMatch }) {
7
- return (_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsx(Text, { color: "gray", children: "Ctrl+R: older, Ctrl+E: newer, Enter: accept, Esc: cancel" }), _jsxs(Box, { children: [_jsx(Text, { color: "green", children: "search history: " }), _jsx(Text, { color: "cyan", children: query }), _jsx(Text, { color: "gray", children: "_" }), query && !hasMatch && _jsx(Text, { color: "red", children: " (no match)" })] })] }));
8
- }
@@ -1,12 +0,0 @@
1
- interface MultiLineInputProps {
2
- value: string;
3
- placeholder?: string;
4
- prompt?: string;
5
- }
6
- /**
7
- * Custom multi-line input display component
8
- * Calculates height based on content and displays text with proper line breaks
9
- */
10
- export default function MultiLineInput({ value, placeholder, prompt }: MultiLineInputProps): import("react/jsx-runtime").JSX.Element;
11
- export {};
12
- //# sourceMappingURL=MultiLineInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MultiLineInput.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/components/MultiLineInput.tsx"],"names":[],"mappings":"AAGA,UAAU,mBAAmB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAa,EAAE,EAAE,mBAAmB,2CAgDhG"}
@@ -1,27 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useMemo } from 'react';
3
- import { Box, Text } from 'ink';
4
- /**
5
- * Custom multi-line input display component
6
- * Calculates height based on content and displays text with proper line breaks
7
- */
8
- export default function MultiLineInput({ value, placeholder, prompt = '> ' }) {
9
- // Calculate number of lines (split by newlines and count)
10
- const lines = useMemo(() => {
11
- if (!value)
12
- return [];
13
- return value.split('\n');
14
- }, [value]);
15
- const lineCount = lines.length;
16
- // If empty, show placeholder
17
- if (!value && placeholder) {
18
- return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: "green", bold: true, children: prompt }), _jsx(Text, { color: "gray", children: placeholder })] }));
19
- }
20
- // Display multi-line text - show last N lines if too many
21
- const visibleLines = lineCount > 10 ? lines.slice(-10) : lines;
22
- const startOffset = lineCount > 10 ? lineCount - 10 : 0;
23
- return (_jsxs(Box, { flexDirection: "column", children: [startOffset > 0 && (_jsx(Box, { children: _jsxs(Text, { color: "gray", children: ["... (", startOffset, " more lines above)"] }) })), visibleLines.map((line, index) => {
24
- const actualIndex = startOffset + index;
25
- return (_jsxs(Box, { flexDirection: "row", children: [index === 0 && (_jsx(Text, { color: "green", bold: true, children: prompt })), index > 0 && _jsx(Text, { color: "green", children: ' '.repeat(prompt.length) }), _jsx(Text, { wrap: "wrap", children: line || ' ' })] }, actualIndex));
26
- })] }));
27
- }
@@ -1,26 +0,0 @@
1
- import React from 'react';
2
- import type { Key } from '../hooks/useInputOrchestrator.js';
3
- import type { ResourceMetadata } from '@dexto/core';
4
- import type { DextoAgent } from '@dexto/core';
5
- export interface ResourceAutocompleteHandle {
6
- handleInput: (input: string, key: Key) => boolean;
7
- }
8
- interface ResourceAutocompleteProps {
9
- isVisible: boolean;
10
- searchQuery: string;
11
- onSelectResource: (resource: ResourceMetadata) => void;
12
- onLoadIntoInput?: (text: string) => void;
13
- onClose: () => void;
14
- agent: DextoAgent;
15
- }
16
- /**
17
- * Inner component - wrapped with React.memo below
18
- */
19
- declare const ResourceAutocompleteInner: React.ForwardRefExoticComponent<ResourceAutocompleteProps & React.RefAttributes<ResourceAutocompleteHandle>>;
20
- /**
21
- * Export with React.memo to prevent unnecessary re-renders from parent
22
- * Only re-renders when props actually change (shallow comparison)
23
- */
24
- declare const ResourceAutocomplete: typeof ResourceAutocompleteInner;
25
- export default ResourceAutocomplete;
26
- //# sourceMappingURL=ResourceAutocomplete.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ResourceAutocomplete.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/components/ResourceAutocomplete.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAK9C,MAAM,WAAW,0BAA0B;IACvC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC;CACrD;AAED,UAAU,yBAAyB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACvD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,UAAU,CAAC;CACrB;AAsFD;;GAEG;AACH,QAAA,MAAM,yBAAyB,8GA4X9B,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,oBAAoB,EAErB,OAAO,yBAAyB,CAAC;AAEtC,eAAe,oBAAoB,CAAC"}
@@ -1,385 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React, { useState, useEffect, useRef, useMemo, useCallback, forwardRef, useImperativeHandle, } from 'react';
3
- import { Box, Text } from 'ink';
4
- import path from 'path';
5
- import { centerTruncatePath } from '../utils/messageFormatting.js';
6
- import { useTerminalSize } from '../hooks/useTerminalSize.js';
7
- import { getMaxVisibleItemsForTerminalRows } from '../utils/overlaySizing.js';
8
- /**
9
- * Get match score for resource: 0 = no match, 1 = description/URI match, 2 = name includes, 3 = name starts with
10
- * Prioritizes name matches over description/URI matches
11
- */
12
- function getResourceMatchScore(resource, query) {
13
- if (!query)
14
- return 3; // Show all when no query
15
- const lowerQuery = query.toLowerCase();
16
- const name = (resource.name || '').toLowerCase();
17
- const uri = resource.uri.toLowerCase();
18
- const uriFilename = uri.split(/[\\/]/).pop()?.toLowerCase() || '';
19
- const description = (resource.description || '').toLowerCase();
20
- // Highest priority: name starts with query
21
- if (name.startsWith(lowerQuery)) {
22
- return 4;
23
- }
24
- // Second priority: name includes query
25
- if (name.includes(lowerQuery)) {
26
- return 3;
27
- }
28
- // Third priority: URI filename starts with query
29
- if (uriFilename.startsWith(lowerQuery)) {
30
- return 2;
31
- }
32
- // Fourth priority: URI filename includes query
33
- if (uriFilename.includes(lowerQuery)) {
34
- return 2;
35
- }
36
- // Fifth priority: URI includes query
37
- if (uri.includes(lowerQuery)) {
38
- return 1;
39
- }
40
- // Lowest priority: description includes query
41
- if (description.includes(lowerQuery)) {
42
- return 1;
43
- }
44
- return 0; // No match
45
- }
46
- /**
47
- * Check if resource matches query (for filtering)
48
- */
49
- function matchesQuery(resource, query) {
50
- return getResourceMatchScore(resource, query) > 0;
51
- }
52
- /**
53
- * Sort resources by match score (highest first), then alphabetically
54
- */
55
- function sortResources(resources, query) {
56
- if (!query)
57
- return resources;
58
- const lowerQuery = query.toLowerCase();
59
- return [...resources].sort((a, b) => {
60
- const scoreA = getResourceMatchScore(a, lowerQuery);
61
- const scoreB = getResourceMatchScore(b, lowerQuery);
62
- // Sort by score first (higher score first)
63
- if (scoreA !== scoreB) {
64
- return scoreB - scoreA;
65
- }
66
- // If scores are equal, sort alphabetically by name
67
- const aName = (a.name || '').toLowerCase();
68
- const bName = (b.name || '').toLowerCase();
69
- return aName.localeCompare(bName);
70
- });
71
- }
72
- /**
73
- * Inner component - wrapped with React.memo below
74
- */
75
- const ResourceAutocompleteInner = forwardRef(function ResourceAutocomplete({ isVisible, searchQuery, onSelectResource, onLoadIntoInput, onClose, agent }, ref) {
76
- const [resources, setResources] = useState([]);
77
- const [isLoading, setIsLoading] = useState(false);
78
- const { columns: terminalWidth, rows: terminalRows } = useTerminalSize();
79
- const maxVisibleItems = useMemo(() => {
80
- return getMaxVisibleItemsForTerminalRows({
81
- rows: terminalRows,
82
- hardCap: 15,
83
- reservedRows: 6,
84
- });
85
- }, [terminalRows]);
86
- // Combined state to guarantee single render on navigation
87
- const [selection, setSelection] = useState({ index: 0, offset: 0 });
88
- const selectedIndexRef = useRef(0);
89
- // Update selection AND scroll offset in a single state update
90
- // This guarantees exactly one render per navigation action
91
- const updateSelection = useCallback((indexUpdater) => {
92
- setSelection((prev) => {
93
- const newIndex = typeof indexUpdater === 'function'
94
- ? indexUpdater(prev.index)
95
- : indexUpdater;
96
- selectedIndexRef.current = newIndex;
97
- // Calculate new scroll offset
98
- let newOffset = prev.offset;
99
- if (newIndex < prev.offset) {
100
- newOffset = newIndex;
101
- }
102
- else if (newIndex >= prev.offset + maxVisibleItems) {
103
- newOffset = Math.max(0, newIndex - maxVisibleItems + 1);
104
- }
105
- return { index: newIndex, offset: newOffset };
106
- });
107
- }, [maxVisibleItems]);
108
- // Fetch resources from agent
109
- useEffect(() => {
110
- if (!isVisible)
111
- return;
112
- let cancelled = false;
113
- setIsLoading(true);
114
- const fetchResources = async () => {
115
- try {
116
- const resourceSet = await agent.listResources();
117
- const resourceList = Object.values(resourceSet);
118
- if (!cancelled) {
119
- setResources(resourceList);
120
- setIsLoading(false);
121
- }
122
- }
123
- catch {
124
- if (!cancelled) {
125
- // Silently fail - don't use console.error as it interferes with Ink rendering
126
- setResources([]);
127
- setIsLoading(false);
128
- }
129
- }
130
- };
131
- void fetchResources();
132
- return () => {
133
- cancelled = true;
134
- };
135
- }, [isVisible, agent]);
136
- // NOTE: Auto-close logic is handled synchronously in TextBufferInput.tsx
137
- // (on backspace deleting @ and on space after @). We don't use useEffect here
138
- // because React batches state updates, causing race conditions where isVisible
139
- // and searchQuery update at different times.
140
- // Extract query from @mention (everything after @)
141
- const mentionQuery = useMemo(() => {
142
- // Find the last @ that's at start or after space
143
- const atIndex = searchQuery.lastIndexOf('@');
144
- if (atIndex === -1)
145
- return '';
146
- // Check if @ is at start or preceded by space
147
- const prevChar = searchQuery[atIndex - 1];
148
- if (atIndex === 0 || (prevChar && /\s/.test(prevChar))) {
149
- return searchQuery.slice(atIndex + 1).trim();
150
- }
151
- return '';
152
- }, [searchQuery]);
153
- // Extract directories and create display items (hybrid search)
154
- const displayItems = useMemo(() => {
155
- const items = [];
156
- const directories = new Set();
157
- // Process each resource to extract paths and directories
158
- resources.forEach((resource) => {
159
- // Convert URI to relative path
160
- let relativePath = resource.uri;
161
- const rawUri = relativePath.replace(/^(fs|file):\/\//, '');
162
- if (path.isAbsolute(rawUri)) {
163
- try {
164
- const relPath = path.relative(process.cwd(), rawUri);
165
- if (relPath && !relPath.startsWith('..')) {
166
- relativePath = relPath;
167
- }
168
- else {
169
- // Outside cwd, use name as fallback
170
- const uriParts = resource.uri.split(/[\\/]/);
171
- relativePath =
172
- resource.name || uriParts[uriParts.length - 1] || resource.uri;
173
- }
174
- }
175
- catch {
176
- return; // Skip if path conversion fails
177
- }
178
- }
179
- // Add file item
180
- items.push({
181
- path: relativePath,
182
- isDirectory: false,
183
- resource,
184
- });
185
- // Extract all parent directories (1-2 levels deep)
186
- const segments = relativePath.split(path.sep).filter(Boolean);
187
- for (let i = 0; i < Math.min(segments.length - 1, 2); i++) {
188
- const dirPath = segments.slice(0, i + 1).join(path.sep) + path.sep;
189
- directories.add(dirPath);
190
- }
191
- });
192
- // Add directory items
193
- directories.forEach((dirPath) => {
194
- items.push({
195
- path: dirPath,
196
- isDirectory: true,
197
- });
198
- });
199
- // Filter by query
200
- const filtered = items.filter((item) => {
201
- if (!mentionQuery)
202
- return true; // Show all when no query
203
- const lowerQuery = mentionQuery.toLowerCase();
204
- const lowerPath = item.path.toLowerCase();
205
- const pathParts = item.path.split(path.sep).filter(Boolean);
206
- const lastSegment = pathParts[pathParts.length - 1]?.toLowerCase() || '';
207
- // Match against filename/dirname or full path
208
- if (lastSegment.includes(lowerQuery) || lowerPath.includes(lowerQuery)) {
209
- return true;
210
- }
211
- // Also match against resource name and description (for files)
212
- if (item.resource) {
213
- const lowerName = (item.resource.name || '').toLowerCase();
214
- const lowerDescription = (item.resource.description || '').toLowerCase();
215
- if (lowerName.includes(lowerQuery) || lowerDescription.includes(lowerQuery)) {
216
- return true;
217
- }
218
- }
219
- return false;
220
- });
221
- // Sort by relevance
222
- return filtered.sort((a, b) => {
223
- if (!mentionQuery) {
224
- // No query: directories first, then alphabetically
225
- if (a.isDirectory !== b.isDirectory) {
226
- return a.isDirectory ? -1 : 1;
227
- }
228
- return a.path.localeCompare(b.path);
229
- }
230
- const lowerQuery = mentionQuery.toLowerCase();
231
- const aPathParts = a.path.split(path.sep).filter(Boolean);
232
- const bPathParts = b.path.split(path.sep).filter(Boolean);
233
- const aLastSegment = aPathParts[aPathParts.length - 1]?.toLowerCase() || '';
234
- const bLastSegment = bPathParts[bPathParts.length - 1]?.toLowerCase() || '';
235
- // Score by match quality
236
- const aStartsWith = aLastSegment.startsWith(lowerQuery);
237
- const bStartsWith = bLastSegment.startsWith(lowerQuery);
238
- const aIncludes = aLastSegment.includes(lowerQuery);
239
- const bIncludes = bLastSegment.includes(lowerQuery);
240
- // Priority 1: Prefix matches
241
- if (aStartsWith && !bStartsWith)
242
- return -1;
243
- if (!aStartsWith && bStartsWith)
244
- return 1;
245
- // Priority 2: Substring matches
246
- if (aIncludes && !bIncludes)
247
- return -1;
248
- if (!aIncludes && bIncludes)
249
- return 1;
250
- // Priority 3: Shallower paths first
251
- const depthDiff = aPathParts.length - bPathParts.length;
252
- if (depthDiff !== 0)
253
- return depthDiff;
254
- // Priority 4: Alphabetically
255
- return a.path.localeCompare(b.path);
256
- });
257
- }, [resources, mentionQuery]);
258
- // Track items length for reset detection
259
- const prevItemsLengthRef = useRef(displayItems.length);
260
- const itemsChanged = displayItems.length !== prevItemsLengthRef.current;
261
- // Derive clamped selection values during render (always valid, no setState needed)
262
- // This prevents the double-render that was causing flickering
263
- const selectedIndex = itemsChanged
264
- ? 0
265
- : Math.min(selection.index, Math.max(0, displayItems.length - 1));
266
- const scrollOffset = itemsChanged
267
- ? 0
268
- : Math.min(selection.offset, Math.max(0, displayItems.length - maxVisibleItems));
269
- // Sync state only when items actually changed AND state differs
270
- // This effect runs AFTER render, updating state for next user interaction
271
- useEffect(() => {
272
- if (itemsChanged) {
273
- prevItemsLengthRef.current = displayItems.length;
274
- // Only setState if values actually differ (prevents unnecessary re-render)
275
- if (selection.index !== 0 || selection.offset !== 0) {
276
- selectedIndexRef.current = 0;
277
- setSelection({ index: 0, offset: 0 });
278
- }
279
- else {
280
- selectedIndexRef.current = 0;
281
- }
282
- }
283
- }, [itemsChanged, displayItems.length, selection.index, selection.offset]);
284
- // Calculate visible items based on scroll offset
285
- const visibleResources = useMemo(() => {
286
- return displayItems.slice(scrollOffset, scrollOffset + maxVisibleItems);
287
- }, [displayItems, scrollOffset, maxVisibleItems]);
288
- // Expose handleInput method via ref
289
- useImperativeHandle(ref, () => ({
290
- handleInput: (_input, key) => {
291
- if (!isVisible)
292
- return false;
293
- // Escape always closes, regardless of item count
294
- if (key.escape) {
295
- onClose();
296
- return true;
297
- }
298
- const itemsLength = displayItems.length;
299
- if (itemsLength === 0)
300
- return false;
301
- if (key.upArrow) {
302
- updateSelection((prev) => (prev - 1 + itemsLength) % itemsLength);
303
- return true;
304
- }
305
- if (key.downArrow) {
306
- updateSelection((prev) => (prev + 1) % itemsLength);
307
- return true;
308
- }
309
- // Tab to load into input (for editing/browsing)
310
- if (key.tab) {
311
- const item = displayItems[selectedIndexRef.current];
312
- if (!item)
313
- return false;
314
- const atIndex = searchQuery.lastIndexOf('@');
315
- const reference = item.path; // Already a relative path
316
- if (atIndex >= 0) {
317
- const before = searchQuery.slice(0, atIndex + 1);
318
- onLoadIntoInput?.(`${before}${reference}`);
319
- }
320
- else {
321
- onLoadIntoInput?.(`${searchQuery}@${reference}`);
322
- }
323
- return true;
324
- }
325
- // Enter to select (directories drill down, files select)
326
- if (key.return) {
327
- const item = displayItems[selectedIndexRef.current];
328
- if (!item)
329
- return false;
330
- if (item.isDirectory) {
331
- // Drill down into directory
332
- const atIndex = searchQuery.lastIndexOf('@');
333
- if (atIndex >= 0) {
334
- const before = searchQuery.slice(0, atIndex + 1);
335
- onLoadIntoInput?.(`${before}${item.path}`);
336
- }
337
- else {
338
- onLoadIntoInput?.(`${searchQuery}@${item.path}`);
339
- }
340
- }
341
- else if (item.resource) {
342
- // Select the file resource
343
- onSelectResource(item.resource);
344
- }
345
- return true;
346
- }
347
- // Don't consume other keys (typing, backspace, etc.)
348
- return false;
349
- },
350
- }), [
351
- isVisible,
352
- displayItems,
353
- selectedIndexRef,
354
- searchQuery,
355
- onClose,
356
- onLoadIntoInput,
357
- onSelectResource,
358
- updateSelection,
359
- ]);
360
- if (!isVisible)
361
- return null;
362
- if (isLoading) {
363
- return (_jsx(Box, { paddingX: 0, paddingY: 0, children: _jsx(Text, { color: "gray", children: "Loading resources..." }) }));
364
- }
365
- if (displayItems.length === 0) {
366
- return (_jsx(Box, { paddingX: 0, paddingY: 0, children: _jsx(Text, { color: "gray", children: mentionQuery
367
- ? `No resources match "${mentionQuery}"`
368
- : 'No resources available. Connect an MCP server or enable internal resources.' }) }));
369
- }
370
- return (_jsx(Box, { flexDirection: "column", width: terminalWidth, paddingLeft: 2, children: visibleResources.map((item, visibleIndex) => {
371
- const actualIndex = scrollOffset + visibleIndex;
372
- const isSelected = actualIndex === selectedIndex;
373
- // Use center truncation for long paths (and still force truncate to prevent wrapping)
374
- const displayPath = centerTruncatePath(item.path, Math.max(20, terminalWidth - 16));
375
- // Check if it's an image file
376
- const isImage = item.resource?.mimeType?.startsWith('image/');
377
- return (_jsxs(Box, { children: [_jsx(Text, { color: isSelected ? 'cyan' : 'gray', children: isSelected ? '❯ ' : ' ' }), _jsxs(Text, { wrap: "truncate-end", color: isSelected ? 'cyan' : 'white', bold: isSelected, children: [isImage && '🖼️ ', displayPath, item.resource?.serverName && ` [${item.resource.serverName}]`] })] }, item.path));
378
- }) }));
379
- });
380
- /**
381
- * Export with React.memo to prevent unnecessary re-renders from parent
382
- * Only re-renders when props actually change (shallow comparison)
383
- */
384
- const ResourceAutocomplete = React.memo(ResourceAutocompleteInner);
385
- export default ResourceAutocomplete;
@@ -1,28 +0,0 @@
1
- import React from 'react';
2
- import type { Key } from '../hooks/useInputOrchestrator.js';
3
- import type { PromptInfo } from '@dexto/core';
4
- import type { DextoAgent } from '@dexto/core';
5
- export interface SlashCommandAutocompleteHandle {
6
- handleInput: (input: string, key: Key) => boolean;
7
- }
8
- interface SlashCommandAutocompleteProps {
9
- isVisible: boolean;
10
- searchQuery: string;
11
- onSelectPrompt: (prompt: PromptInfo) => void;
12
- onSelectSystemCommand?: (command: string) => void;
13
- onLoadIntoInput?: (command: string) => void;
14
- onSubmitRaw?: ((text: string) => Promise<void> | void) | undefined;
15
- onClose: () => void;
16
- agent: DextoAgent;
17
- }
18
- /**
19
- * Inner component - wrapped with React.memo below
20
- */
21
- declare const SlashCommandAutocompleteInner: React.ForwardRefExoticComponent<SlashCommandAutocompleteProps & React.RefAttributes<SlashCommandAutocompleteHandle>>;
22
- /**
23
- * Export with React.memo to prevent unnecessary re-renders from parent
24
- * Only re-renders when props actually change (shallow comparison)
25
- */
26
- export declare const SlashCommandAutocomplete: typeof SlashCommandAutocompleteInner;
27
- export {};
28
- //# sourceMappingURL=SlashCommandAutocomplete.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SlashCommandAutocomplete.d.ts","sourceRoot":"","sources":["../../../../src/cli/ink-cli/components/SlashCommandAutocomplete.tsx"],"names":[],"mappings":"AAAA,OAAO,KAQN,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM9C,MAAM,WAAW,8BAA8B;IAC3C,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC;CACrD;AAED,UAAU,6BAA6B;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC7C,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IACnE,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,UAAU,CAAC;CACrB;AAmGD;;GAEG;AACH,QAAA,MAAM,6BAA6B,sHA4bjC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAEhC,OAAO,6BAA6B,CAAC"}