@within-7/minto 0.4.1 → 0.4.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 (1153) hide show
  1. package/cli.cjs +32 -154
  2. package/cli.js +3255 -0
  3. package/package.json +25 -40
  4. package/scripts/postinstall.cjs +19 -136
  5. package/vendor/ripgrep/arm64-linux/rg +0 -0
  6. package/vendor/ripgrep/x64-darwin/rg +0 -0
  7. package/vendor/ripgrep/x64-linux/rg +0 -0
  8. package/vendor/ripgrep/x64-win32/rg.exe +0 -0
  9. package/dist/Tool.js +0 -39
  10. package/dist/Tool.js.map +0 -7
  11. package/dist/commands/agents/AgentsCommand.js +0 -2170
  12. package/dist/commands/agents/AgentsCommand.js.map +0 -7
  13. package/dist/commands/agents/constants.js +0 -58
  14. package/dist/commands/agents/constants.js.map +0 -7
  15. package/dist/commands/agents/index.js +0 -37
  16. package/dist/commands/agents/index.js.map +0 -7
  17. package/dist/commands/agents/types.js +0 -11
  18. package/dist/commands/agents/types.js.map +0 -7
  19. package/dist/commands/agents/utils/fileOperations.js +0 -245
  20. package/dist/commands/agents/utils/fileOperations.js.map +0 -7
  21. package/dist/commands/agents/utils/index.js +0 -23
  22. package/dist/commands/agents/utils/index.js.map +0 -7
  23. package/dist/commands/approvedTools.js +0 -36
  24. package/dist/commands/approvedTools.js.map +0 -7
  25. package/dist/commands/bug.js +0 -88
  26. package/dist/commands/bug.js.map +0 -7
  27. package/dist/commands/clear.js +0 -40
  28. package/dist/commands/clear.js.map +0 -7
  29. package/dist/commands/compact.js +0 -119
  30. package/dist/commands/compact.js.map +0 -7
  31. package/dist/commands/config.js +0 -20
  32. package/dist/commands/config.js.map +0 -7
  33. package/dist/commands/context.js +0 -116
  34. package/dist/commands/context.js.map +0 -7
  35. package/dist/commands/cost.js +0 -19
  36. package/dist/commands/cost.js.map +0 -7
  37. package/dist/commands/ctx_viz.js +0 -193
  38. package/dist/commands/ctx_viz.js.map +0 -7
  39. package/dist/commands/doctor.js +0 -171
  40. package/dist/commands/doctor.js.map +0 -7
  41. package/dist/commands/effort.js +0 -87
  42. package/dist/commands/effort.js.map +0 -7
  43. package/dist/commands/export.js +0 -747
  44. package/dist/commands/export.js.map +0 -7
  45. package/dist/commands/help.js +0 -20
  46. package/dist/commands/help.js.map +0 -7
  47. package/dist/commands/ide.js +0 -18
  48. package/dist/commands/ide.js.map +0 -7
  49. package/dist/commands/init.js +0 -38
  50. package/dist/commands/init.js.map +0 -7
  51. package/dist/commands/language.js +0 -110
  52. package/dist/commands/language.js.map +0 -7
  53. package/dist/commands/mcp-interactive.js +0 -485
  54. package/dist/commands/mcp-interactive.js.map +0 -7
  55. package/dist/commands/memory.js +0 -168
  56. package/dist/commands/memory.js.map +0 -7
  57. package/dist/commands/model.js +0 -497
  58. package/dist/commands/model.js.map +0 -7
  59. package/dist/commands/new.js +0 -56
  60. package/dist/commands/new.js.map +0 -7
  61. package/dist/commands/outputStyle.js +0 -64
  62. package/dist/commands/outputStyle.js.map +0 -7
  63. package/dist/commands/permissions.js +0 -113
  64. package/dist/commands/permissions.js.map +0 -7
  65. package/dist/commands/plugin/AddMarketplaceForm.js +0 -91
  66. package/dist/commands/plugin/AddMarketplaceForm.js.map +0 -7
  67. package/dist/commands/plugin/ConfirmDialog.js +0 -84
  68. package/dist/commands/plugin/ConfirmDialog.js.map +0 -7
  69. package/dist/commands/plugin/ErrorView.js +0 -34
  70. package/dist/commands/plugin/ErrorView.js.map +0 -7
  71. package/dist/commands/plugin/InstalledPluginsByMarketplace.js +0 -152
  72. package/dist/commands/plugin/InstalledPluginsByMarketplace.js.map +0 -7
  73. package/dist/commands/plugin/InstalledPluginsManager.js +0 -102
  74. package/dist/commands/plugin/InstalledPluginsManager.js.map +0 -7
  75. package/dist/commands/plugin/LoadingView.js +0 -14
  76. package/dist/commands/plugin/LoadingView.js.map +0 -7
  77. package/dist/commands/plugin/MainMenu.js +0 -67
  78. package/dist/commands/plugin/MainMenu.js.map +0 -7
  79. package/dist/commands/plugin/MarketplaceManager.js +0 -201
  80. package/dist/commands/plugin/MarketplaceManager.js.map +0 -7
  81. package/dist/commands/plugin/MarketplaceSelector.js +0 -124
  82. package/dist/commands/plugin/MarketplaceSelector.js.map +0 -7
  83. package/dist/commands/plugin/PlaceholderScreen.js +0 -31
  84. package/dist/commands/plugin/PlaceholderScreen.js.map +0 -7
  85. package/dist/commands/plugin/PluginBrowser.js +0 -183
  86. package/dist/commands/plugin/PluginBrowser.js.map +0 -7
  87. package/dist/commands/plugin/PluginDetailsInstall.js +0 -159
  88. package/dist/commands/plugin/PluginDetailsInstall.js.map +0 -7
  89. package/dist/commands/plugin/PluginDetailsManage.js +0 -210
  90. package/dist/commands/plugin/PluginDetailsManage.js.map +0 -7
  91. package/dist/commands/plugin/components.js +0 -16
  92. package/dist/commands/plugin/components.js.map +0 -7
  93. package/dist/commands/plugin/example-usage.js +0 -63
  94. package/dist/commands/plugin/example-usage.js.map +0 -7
  95. package/dist/commands/plugin/types.js +0 -1
  96. package/dist/commands/plugin/types.js.map +0 -7
  97. package/dist/commands/plugin/utils.js +0 -109
  98. package/dist/commands/plugin/utils.js.map +0 -7
  99. package/dist/commands/plugin.js +0 -1410
  100. package/dist/commands/plugin.js.map +0 -7
  101. package/dist/commands/quit.js +0 -18
  102. package/dist/commands/quit.js.map +0 -7
  103. package/dist/commands/refreshCommands.js +0 -48
  104. package/dist/commands/refreshCommands.js.map +0 -7
  105. package/dist/commands/resume.js +0 -271
  106. package/dist/commands/resume.js.map +0 -7
  107. package/dist/commands/review.js +0 -51
  108. package/dist/commands/review.js.map +0 -7
  109. package/dist/commands/sandbox.js +0 -203
  110. package/dist/commands/sandbox.js.map +0 -7
  111. package/dist/commands/sessions.js +0 -224
  112. package/dist/commands/sessions.js.map +0 -7
  113. package/dist/commands/setup.js +0 -653
  114. package/dist/commands/setup.js.map +0 -7
  115. package/dist/commands/stats.js +0 -292
  116. package/dist/commands/stats.js.map +0 -7
  117. package/dist/commands/status.js +0 -127
  118. package/dist/commands/status.js.map +0 -7
  119. package/dist/commands/tasks.js +0 -108
  120. package/dist/commands/tasks.js.map +0 -7
  121. package/dist/commands/terminalSetup.js +0 -170
  122. package/dist/commands/terminalSetup.js.map +0 -7
  123. package/dist/commands/todos.js +0 -123
  124. package/dist/commands/todos.js.map +0 -7
  125. package/dist/commands/undo.js +0 -227
  126. package/dist/commands/undo.js.map +0 -7
  127. package/dist/commands/vim.js +0 -22
  128. package/dist/commands/vim.js.map +0 -7
  129. package/dist/commands.js +0 -128
  130. package/dist/commands.js.map +0 -7
  131. package/dist/components/AgentResponseBlock.js +0 -41
  132. package/dist/components/AgentResponseBlock.js.map +0 -7
  133. package/dist/components/AgentThinkingBlock.js +0 -32
  134. package/dist/components/AgentThinkingBlock.js.map +0 -7
  135. package/dist/components/AsciiLogo.js +0 -18
  136. package/dist/components/AsciiLogo.js.map +0 -7
  137. package/dist/components/AskUserQuestionDialog/AskUserQuestionDialog.js +0 -142
  138. package/dist/components/AskUserQuestionDialog/AskUserQuestionDialog.js.map +0 -7
  139. package/dist/components/AskUserQuestionDialog/QuestionView.js +0 -55
  140. package/dist/components/AskUserQuestionDialog/QuestionView.js.map +0 -7
  141. package/dist/components/AskUserQuestionDialog/index.js +0 -7
  142. package/dist/components/AskUserQuestionDialog/index.js.map +0 -7
  143. package/dist/components/BackgroundTasksPanel.js +0 -177
  144. package/dist/components/BackgroundTasksPanel.js.map +0 -7
  145. package/dist/components/BashStreamingProgress.js +0 -24
  146. package/dist/components/BashStreamingProgress.js.map +0 -7
  147. package/dist/components/CollapsibleHint.js +0 -15
  148. package/dist/components/CollapsibleHint.js.map +0 -7
  149. package/dist/components/Config.js +0 -181
  150. package/dist/components/Config.js.map +0 -7
  151. package/dist/components/ConsoleOAuthFlow.js +0 -179
  152. package/dist/components/ConsoleOAuthFlow.js.map +0 -7
  153. package/dist/components/Cost.js +0 -14
  154. package/dist/components/Cost.js.map +0 -7
  155. package/dist/components/CostThresholdDialog.js +0 -38
  156. package/dist/components/CostThresholdDialog.js.map +0 -7
  157. package/dist/components/CustomSelect/option-map.js +0 -32
  158. package/dist/components/CustomSelect/option-map.js.map +0 -7
  159. package/dist/components/CustomSelect/select-option.js +0 -37
  160. package/dist/components/CustomSelect/select-option.js.map +0 -7
  161. package/dist/components/CustomSelect/select.js +0 -64
  162. package/dist/components/CustomSelect/select.js.map +0 -7
  163. package/dist/components/CustomSelect/theme.js +0 -1
  164. package/dist/components/CustomSelect/theme.js.map +0 -7
  165. package/dist/components/CustomSelect/use-select-state.js +0 -220
  166. package/dist/components/CustomSelect/use-select-state.js.map +0 -7
  167. package/dist/components/CustomSelect/use-select.js +0 -21
  168. package/dist/components/CustomSelect/use-select.js.map +0 -7
  169. package/dist/components/FallbackToolUseRejectedMessage.js +0 -11
  170. package/dist/components/FallbackToolUseRejectedMessage.js.map +0 -7
  171. package/dist/components/FileEditToolUpdatedMessage.js +0 -32
  172. package/dist/components/FileEditToolUpdatedMessage.js.map +0 -7
  173. package/dist/components/HeaderBar.js +0 -63
  174. package/dist/components/HeaderBar.js.map +0 -7
  175. package/dist/components/Help.js +0 -178
  176. package/dist/components/Help.js.map +0 -7
  177. package/dist/components/HighlightedCode.js +0 -31
  178. package/dist/components/HighlightedCode.js.map +0 -7
  179. package/dist/components/HistorySearchOverlay.js +0 -49
  180. package/dist/components/HistorySearchOverlay.js.map +0 -7
  181. package/dist/components/HotkeyHelpPanel.js +0 -136
  182. package/dist/components/HotkeyHelpPanel.js.map +0 -7
  183. package/dist/components/InfoPanel/InfoPanel.js +0 -123
  184. package/dist/components/InfoPanel/InfoPanel.js.map +0 -7
  185. package/dist/components/InfoPanel/index.js +0 -5
  186. package/dist/components/InfoPanel/index.js.map +0 -7
  187. package/dist/components/InfoPanel/types.js +0 -1
  188. package/dist/components/InfoPanel/types.js.map +0 -7
  189. package/dist/components/InteractionRoundBlock.js +0 -56
  190. package/dist/components/InteractionRoundBlock.js.map +0 -7
  191. package/dist/components/InvalidConfigDialog.js +0 -84
  192. package/dist/components/InvalidConfigDialog.js.map +0 -7
  193. package/dist/components/Link.js +0 -18
  194. package/dist/components/Link.js.map +0 -7
  195. package/dist/components/LogSelector.js +0 -50
  196. package/dist/components/LogSelector.js.map +0 -7
  197. package/dist/components/Logo.js +0 -55
  198. package/dist/components/Logo.js.map +0 -7
  199. package/dist/components/MCPServerApprovalDialog.js +0 -81
  200. package/dist/components/MCPServerApprovalDialog.js.map +0 -7
  201. package/dist/components/MCPServerDialogCopy.js +0 -12
  202. package/dist/components/MCPServerDialogCopy.js.map +0 -7
  203. package/dist/components/MCPServerMultiselectDialog.js +0 -82
  204. package/dist/components/MCPServerMultiselectDialog.js.map +0 -7
  205. package/dist/components/Message.js +0 -162
  206. package/dist/components/Message.js.map +0 -7
  207. package/dist/components/MessageResponse.js +0 -9
  208. package/dist/components/MessageResponse.js.map +0 -7
  209. package/dist/components/MessageSelector.js +0 -127
  210. package/dist/components/MessageSelector.js.map +0 -7
  211. package/dist/components/ModeIndicator.js +0 -39
  212. package/dist/components/ModeIndicator.js.map +0 -7
  213. package/dist/components/ModelConfig.js +0 -223
  214. package/dist/components/ModelConfig.js.map +0 -7
  215. package/dist/components/ModelListManager.js +0 -142
  216. package/dist/components/ModelListManager.js.map +0 -7
  217. package/dist/components/ModelSelector/BrandTextInput.js +0 -43
  218. package/dist/components/ModelSelector/BrandTextInput.js.map +0 -7
  219. package/dist/components/ModelSelector/ModelSelector.js +0 -2068
  220. package/dist/components/ModelSelector/ModelSelector.js.map +0 -7
  221. package/dist/components/ModelSelector/ScreenContainer.js +0 -27
  222. package/dist/components/ModelSelector/ScreenContainer.js.map +0 -7
  223. package/dist/components/ModelSelector/WizardContainer.js +0 -45
  224. package/dist/components/ModelSelector/WizardContainer.js.map +0 -7
  225. package/dist/components/ModelSelector/constants.js +0 -37
  226. package/dist/components/ModelSelector/constants.js.map +0 -7
  227. package/dist/components/ModelSelector/hooks/index.js +0 -5
  228. package/dist/components/ModelSelector/hooks/index.js.map +0 -7
  229. package/dist/components/ModelSelector/hooks/useEscapeNavigation.js +0 -21
  230. package/dist/components/ModelSelector/hooks/useEscapeNavigation.js.map +0 -7
  231. package/dist/components/ModelSelector/index.js +0 -15
  232. package/dist/components/ModelSelector/index.js.map +0 -7
  233. package/dist/components/ModelSelector/types.js +0 -1
  234. package/dist/components/ModelSelector/types.js.map +0 -7
  235. package/dist/components/Onboarding.js +0 -159
  236. package/dist/components/Onboarding.js.map +0 -7
  237. package/dist/components/OperationSummary.js +0 -130
  238. package/dist/components/OperationSummary.js.map +0 -7
  239. package/dist/components/PressEnterToContinue.js +0 -10
  240. package/dist/components/PressEnterToContinue.js.map +0 -7
  241. package/dist/components/ProgressBar.js +0 -74
  242. package/dist/components/ProgressBar.js.map +0 -7
  243. package/dist/components/ProjectOnboarding.js +0 -99
  244. package/dist/components/ProjectOnboarding.js.map +0 -7
  245. package/dist/components/PromptInput.js +0 -996
  246. package/dist/components/PromptInput.js.map +0 -7
  247. package/dist/components/PulseLabel.js +0 -44
  248. package/dist/components/PulseLabel.js.map +0 -7
  249. package/dist/components/QuitSummary.js +0 -88
  250. package/dist/components/QuitSummary.js.map +0 -7
  251. package/dist/components/RequestStatusIndicator.js +0 -194
  252. package/dist/components/RequestStatusIndicator.js.map +0 -7
  253. package/dist/components/SensitiveFileWarning.js +0 -35
  254. package/dist/components/SensitiveFileWarning.js.map +0 -7
  255. package/dist/components/SentryErrorBoundary.js +0 -27
  256. package/dist/components/SentryErrorBoundary.js.map +0 -7
  257. package/dist/components/SimpleSelector/SimpleSelector.js +0 -154
  258. package/dist/components/SimpleSelector/SimpleSelector.js.map +0 -7
  259. package/dist/components/SimpleSelector/index.js +0 -5
  260. package/dist/components/SimpleSelector/index.js.map +0 -7
  261. package/dist/components/SimpleSelector/types.js +0 -1
  262. package/dist/components/SimpleSelector/types.js.map +0 -7
  263. package/dist/components/Spinner.js +0 -185
  264. package/dist/components/Spinner.js.map +0 -7
  265. package/dist/components/SpinnerSymbol.js +0 -72
  266. package/dist/components/SpinnerSymbol.js.map +0 -7
  267. package/dist/components/StartupStatus.js +0 -57
  268. package/dist/components/StartupStatus.js.map +0 -7
  269. package/dist/components/StatusOverlayContent.js +0 -21
  270. package/dist/components/StatusOverlayContent.js.map +0 -7
  271. package/dist/components/StreamingBashOutput.js +0 -71
  272. package/dist/components/StreamingBashOutput.js.map +0 -7
  273. package/dist/components/StructuredDiff.js +0 -146
  274. package/dist/components/StructuredDiff.js.map +0 -7
  275. package/dist/components/SubagentBlock.js +0 -196
  276. package/dist/components/SubagentBlock.js.map +0 -7
  277. package/dist/components/SubagentManager.js +0 -65
  278. package/dist/components/SubagentManager.js.map +0 -7
  279. package/dist/components/SubagentProgress.js +0 -123
  280. package/dist/components/SubagentProgress.js.map +0 -7
  281. package/dist/components/SubagentStatusMarker.js +0 -37
  282. package/dist/components/SubagentStatusMarker.js.map +0 -7
  283. package/dist/components/TabbedListView/ScrollableList.js +0 -117
  284. package/dist/components/TabbedListView/ScrollableList.js.map +0 -7
  285. package/dist/components/TabbedListView/SearchInput.js +0 -23
  286. package/dist/components/TabbedListView/SearchInput.js.map +0 -7
  287. package/dist/components/TabbedListView/TabBar.js +0 -25
  288. package/dist/components/TabbedListView/TabBar.js.map +0 -7
  289. package/dist/components/TabbedListView/TabbedListView.js +0 -246
  290. package/dist/components/TabbedListView/TabbedListView.js.map +0 -7
  291. package/dist/components/TabbedListView/index.js +0 -11
  292. package/dist/components/TabbedListView/index.js.map +0 -7
  293. package/dist/components/TabbedListView/types.js +0 -1
  294. package/dist/components/TabbedListView/types.js.map +0 -7
  295. package/dist/components/TaskCard.js +0 -176
  296. package/dist/components/TaskCard.js.map +0 -7
  297. package/dist/components/TextInput.js +0 -108
  298. package/dist/components/TextInput.js.map +0 -7
  299. package/dist/components/TimelineRenderer.js +0 -31
  300. package/dist/components/TimelineRenderer.js.map +0 -7
  301. package/dist/components/TodoChangeBlock.js +0 -30
  302. package/dist/components/TodoChangeBlock.js.map +0 -7
  303. package/dist/components/TodoChangeLine.js +0 -22
  304. package/dist/components/TodoChangeLine.js.map +0 -7
  305. package/dist/components/TodoItem.js +0 -35
  306. package/dist/components/TodoItem.js.map +0 -7
  307. package/dist/components/TodoPanel.js +0 -166
  308. package/dist/components/TodoPanel.js.map +0 -7
  309. package/dist/components/TokenCounter.js +0 -74
  310. package/dist/components/TokenCounter.js.map +0 -7
  311. package/dist/components/TokenWarning.js +0 -20
  312. package/dist/components/TokenWarning.js.map +0 -7
  313. package/dist/components/ToolExecutionBlock.js +0 -18
  314. package/dist/components/ToolExecutionBlock.js.map +0 -7
  315. package/dist/components/ToolUseLoader.js +0 -29
  316. package/dist/components/ToolUseLoader.js.map +0 -7
  317. package/dist/components/TreeConnector.js +0 -26
  318. package/dist/components/TreeConnector.js.map +0 -7
  319. package/dist/components/TrustDialog.js +0 -71
  320. package/dist/components/TrustDialog.js.map +0 -7
  321. package/dist/components/TurnCompletionIndicator.js +0 -18
  322. package/dist/components/TurnCompletionIndicator.js.map +0 -7
  323. package/dist/components/UserQueryBlock.js +0 -12
  324. package/dist/components/UserQueryBlock.js.map +0 -7
  325. package/dist/components/binary-feedback/BinaryFeedback.js +0 -50
  326. package/dist/components/binary-feedback/BinaryFeedback.js.map +0 -7
  327. package/dist/components/binary-feedback/BinaryFeedbackOption.js +0 -92
  328. package/dist/components/binary-feedback/BinaryFeedbackOption.js.map +0 -7
  329. package/dist/components/binary-feedback/BinaryFeedbackView.js +0 -140
  330. package/dist/components/binary-feedback/BinaryFeedbackView.js.map +0 -7
  331. package/dist/components/binary-feedback/utils.js +0 -108
  332. package/dist/components/binary-feedback/utils.js.map +0 -7
  333. package/dist/components/messages/AssistantBashOutputMessage.js +0 -23
  334. package/dist/components/messages/AssistantBashOutputMessage.js.map +0 -7
  335. package/dist/components/messages/AssistantLocalCommandOutputMessage.js +0 -36
  336. package/dist/components/messages/AssistantLocalCommandOutputMessage.js.map +0 -7
  337. package/dist/components/messages/AssistantRedactedThinkingMessage.js +0 -12
  338. package/dist/components/messages/AssistantRedactedThinkingMessage.js.map +0 -7
  339. package/dist/components/messages/AssistantTextMessage.js +0 -89
  340. package/dist/components/messages/AssistantTextMessage.js.map +0 -7
  341. package/dist/components/messages/AssistantThinkingMessage.js +0 -42
  342. package/dist/components/messages/AssistantThinkingMessage.js.map +0 -7
  343. package/dist/components/messages/AssistantToolUseMessage.js +0 -100
  344. package/dist/components/messages/AssistantToolUseMessage.js.map +0 -7
  345. package/dist/components/messages/GroupRenderer.js +0 -54
  346. package/dist/components/messages/GroupRenderer.js.map +0 -7
  347. package/dist/components/messages/NestedTasksPreview.js +0 -24
  348. package/dist/components/messages/NestedTasksPreview.js.map +0 -7
  349. package/dist/components/messages/ParallelTasksGroupView.js +0 -93
  350. package/dist/components/messages/ParallelTasksGroupView.js.map +0 -7
  351. package/dist/components/messages/TaskInModuleView.js +0 -218
  352. package/dist/components/messages/TaskInModuleView.js.map +0 -7
  353. package/dist/components/messages/TaskOutputContent.js +0 -56
  354. package/dist/components/messages/TaskOutputContent.js.map +0 -7
  355. package/dist/components/messages/TaskProgressMessage.js +0 -11
  356. package/dist/components/messages/TaskProgressMessage.js.map +0 -7
  357. package/dist/components/messages/TaskToolMessage.js +0 -39
  358. package/dist/components/messages/TaskToolMessage.js.map +0 -7
  359. package/dist/components/messages/UserBashInputMessage.js +0 -18
  360. package/dist/components/messages/UserBashInputMessage.js.map +0 -7
  361. package/dist/components/messages/UserCommandMessage.js +0 -20
  362. package/dist/components/messages/UserCommandMessage.js.map +0 -7
  363. package/dist/components/messages/UserKodingInputMessage.js +0 -18
  364. package/dist/components/messages/UserKodingInputMessage.js.map +0 -7
  365. package/dist/components/messages/UserPromptMessage.js +0 -25
  366. package/dist/components/messages/UserPromptMessage.js.map +0 -7
  367. package/dist/components/messages/UserTextMessage.js +0 -25
  368. package/dist/components/messages/UserTextMessage.js.map +0 -7
  369. package/dist/components/messages/UserToolResultMessage/UserToolCanceledMessage.js +0 -11
  370. package/dist/components/messages/UserToolResultMessage/UserToolCanceledMessage.js.map +0 -7
  371. package/dist/components/messages/UserToolResultMessage/UserToolErrorMessage.js +0 -15
  372. package/dist/components/messages/UserToolResultMessage/UserToolErrorMessage.js.map +0 -7
  373. package/dist/components/messages/UserToolResultMessage/UserToolRejectMessage.js +0 -25
  374. package/dist/components/messages/UserToolResultMessage/UserToolRejectMessage.js.map +0 -7
  375. package/dist/components/messages/UserToolResultMessage/UserToolResultMessage.js +0 -47
  376. package/dist/components/messages/UserToolResultMessage/UserToolResultMessage.js.map +0 -7
  377. package/dist/components/messages/UserToolResultMessage/UserToolSuccessMessage.js +0 -22
  378. package/dist/components/messages/UserToolResultMessage/UserToolSuccessMessage.js.map +0 -7
  379. package/dist/components/messages/UserToolResultMessage/utils.js +0 -50
  380. package/dist/components/messages/UserToolResultMessage/utils.js.map +0 -7
  381. package/dist/components/permissions/BashPermissionRequest/BashPermissionRequest.js +0 -112
  382. package/dist/components/permissions/BashPermissionRequest/BashPermissionRequest.js.map +0 -7
  383. package/dist/components/permissions/FallbackPermissionRequest.js +0 -131
  384. package/dist/components/permissions/FallbackPermissionRequest.js.map +0 -7
  385. package/dist/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.js +0 -159
  386. package/dist/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.js.map +0 -7
  387. package/dist/components/permissions/FileEditPermissionRequest/FileEditToolDiff.js +0 -58
  388. package/dist/components/permissions/FileEditPermissionRequest/FileEditToolDiff.js.map +0 -7
  389. package/dist/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.js +0 -153
  390. package/dist/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.js.map +0 -7
  391. package/dist/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.js +0 -70
  392. package/dist/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.js.map +0 -7
  393. package/dist/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.js +0 -212
  394. package/dist/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.js.map +0 -7
  395. package/dist/components/permissions/PermissionRequest.js +0 -70
  396. package/dist/components/permissions/PermissionRequest.js.map +0 -7
  397. package/dist/components/permissions/PermissionRequestTitle.js +0 -52
  398. package/dist/components/permissions/PermissionRequestTitle.js.map +0 -7
  399. package/dist/components/permissions/hooks.js +0 -23
  400. package/dist/components/permissions/hooks.js.map +0 -7
  401. package/dist/components/permissions/toolUseOptions.js +0 -46
  402. package/dist/components/permissions/toolUseOptions.js.map +0 -7
  403. package/dist/components/permissions/utils.js +0 -21
  404. package/dist/components/permissions/utils.js.map +0 -7
  405. package/dist/constants/claude-asterisk-ascii-art.js +0 -242
  406. package/dist/constants/claude-asterisk-ascii-art.js.map +0 -7
  407. package/dist/constants/colors.js +0 -192
  408. package/dist/constants/colors.js.map +0 -7
  409. package/dist/constants/compressionPrompts.js +0 -73
  410. package/dist/constants/compressionPrompts.js.map +0 -7
  411. package/dist/constants/figures.js +0 -6
  412. package/dist/constants/figures.js.map +0 -7
  413. package/dist/constants/formatRules.js +0 -102
  414. package/dist/constants/formatRules.js.map +0 -7
  415. package/dist/constants/macros.js +0 -11
  416. package/dist/constants/macros.js.map +0 -7
  417. package/dist/constants/modelCapabilities.js +0 -239
  418. package/dist/constants/modelCapabilities.js.map +0 -7
  419. package/dist/constants/models.js +0 -1034
  420. package/dist/constants/models.js.map +0 -7
  421. package/dist/constants/oauth.js +0 -18
  422. package/dist/constants/oauth.js.map +0 -7
  423. package/dist/constants/product.js +0 -28
  424. package/dist/constants/product.js.map +0 -7
  425. package/dist/constants/prompts/agentPrompt.js +0 -30
  426. package/dist/constants/prompts/agentPrompt.js.map +0 -7
  427. package/dist/constants/prompts/codeConventions.js +0 -27
  428. package/dist/constants/prompts/codeConventions.js.map +0 -7
  429. package/dist/constants/prompts/doingTasks.js +0 -15
  430. package/dist/constants/prompts/doingTasks.js.map +0 -7
  431. package/dist/constants/prompts/envInfo.js +0 -17
  432. package/dist/constants/prompts/envInfo.js.map +0 -7
  433. package/dist/constants/prompts/executingWithCare.js +0 -17
  434. package/dist/constants/prompts/executingWithCare.js.map +0 -7
  435. package/dist/constants/prompts/identity.js +0 -10
  436. package/dist/constants/prompts/identity.js.map +0 -7
  437. package/dist/constants/prompts/index.js +0 -78
  438. package/dist/constants/prompts/index.js.map +0 -7
  439. package/dist/constants/prompts/taskManagement.js +0 -60
  440. package/dist/constants/prompts/taskManagement.js.map +0 -7
  441. package/dist/constants/prompts/toneAndStyle.js +0 -62
  442. package/dist/constants/prompts/toneAndStyle.js.map +0 -7
  443. package/dist/constants/prompts/toolUsagePolicy.js +0 -38
  444. package/dist/constants/prompts/toolUsagePolicy.js.map +0 -7
  445. package/dist/constants/prompts.js +0 -13
  446. package/dist/constants/prompts.js.map +0 -7
  447. package/dist/constants/providerRegistry.js +0 -235
  448. package/dist/constants/providerRegistry.js.map +0 -7
  449. package/dist/constants/providers.js +0 -35
  450. package/dist/constants/providers.js.map +0 -7
  451. package/dist/constants/releaseNotes.js +0 -9
  452. package/dist/constants/releaseNotes.js.map +0 -7
  453. package/dist/constants/symbols.js +0 -108
  454. package/dist/constants/symbols.js.map +0 -7
  455. package/dist/constants/timing.js +0 -39
  456. package/dist/constants/timing.js.map +0 -7
  457. package/dist/constants/toolInputExamples.js +0 -88
  458. package/dist/constants/toolInputExamples.js.map +0 -7
  459. package/dist/context/PermissionContext.js +0 -110
  460. package/dist/context/PermissionContext.js.map +0 -7
  461. package/dist/context.js +0 -334
  462. package/dist/context.js.map +0 -7
  463. package/dist/core/backupHook.js +0 -29
  464. package/dist/core/backupHook.js.map +0 -7
  465. package/dist/core/backupManager.js +0 -321
  466. package/dist/core/backupManager.js.map +0 -7
  467. package/dist/core/config/defaults.js +0 -93
  468. package/dist/core/config/defaults.js.map +0 -7
  469. package/dist/core/config/index.js +0 -111
  470. package/dist/core/config/index.js.map +0 -7
  471. package/dist/core/config/loader.js +0 -221
  472. package/dist/core/config/loader.js.map +0 -7
  473. package/dist/core/config/migrations.js +0 -128
  474. package/dist/core/config/migrations.js.map +0 -7
  475. package/dist/core/config/schema.js +0 -196
  476. package/dist/core/config/schema.js.map +0 -7
  477. package/dist/core/costTracker.js +0 -131
  478. package/dist/core/costTracker.js.map +0 -7
  479. package/dist/core/gitAutoCommit.js +0 -287
  480. package/dist/core/gitAutoCommit.js.map +0 -7
  481. package/dist/core/index.js +0 -7
  482. package/dist/core/index.js.map +0 -7
  483. package/dist/core/operationTracker.js +0 -212
  484. package/dist/core/operationTracker.js.map +0 -7
  485. package/dist/core/permissions/auditLog.js +0 -204
  486. package/dist/core/permissions/auditLog.js.map +0 -7
  487. package/dist/core/permissions/engine/index.js +0 -3
  488. package/dist/core/permissions/engine/index.js.map +0 -7
  489. package/dist/core/permissions/engine/permissionEngine.js +0 -106
  490. package/dist/core/permissions/engine/permissionEngine.js.map +0 -7
  491. package/dist/core/permissions/engine/types.js +0 -1
  492. package/dist/core/permissions/engine/types.js.map +0 -7
  493. package/dist/core/permissions/index.js +0 -84
  494. package/dist/core/permissions/index.js.map +0 -7
  495. package/dist/core/permissions/ruleEngine.js +0 -259
  496. package/dist/core/permissions/ruleEngine.js.map +0 -7
  497. package/dist/core/permissions/rules/allowedToolsRule.js +0 -62
  498. package/dist/core/permissions/rules/allowedToolsRule.js.map +0 -7
  499. package/dist/core/permissions/rules/autoEscalationRule.js +0 -296
  500. package/dist/core/permissions/rules/autoEscalationRule.js.map +0 -7
  501. package/dist/core/permissions/rules/index.js +0 -46
  502. package/dist/core/permissions/rules/index.js.map +0 -7
  503. package/dist/core/permissions/rules/planModeRule.js +0 -55
  504. package/dist/core/permissions/rules/planModeRule.js.map +0 -7
  505. package/dist/core/permissions/rules/projectBoundaryRule.js +0 -173
  506. package/dist/core/permissions/rules/projectBoundaryRule.js.map +0 -7
  507. package/dist/core/permissions/rules/safeModeRule.js +0 -65
  508. package/dist/core/permissions/rules/safeModeRule.js.map +0 -7
  509. package/dist/core/permissions/rules/sensitivePathsRule.js +0 -345
  510. package/dist/core/permissions/rules/sensitivePathsRule.js.map +0 -7
  511. package/dist/core/permissions/types.js +0 -127
  512. package/dist/core/permissions/types.js.map +0 -7
  513. package/dist/core/tokenStats.js +0 -9
  514. package/dist/core/tokenStats.js.map +0 -7
  515. package/dist/core/tokenStatsManager.js +0 -354
  516. package/dist/core/tokenStatsManager.js.map +0 -7
  517. package/dist/core/tools/executor.js +0 -143
  518. package/dist/core/tools/executor.js.map +0 -7
  519. package/dist/core/tools/index.js +0 -15
  520. package/dist/core/tools/index.js.map +0 -7
  521. package/dist/core/tools/registry.js +0 -183
  522. package/dist/core/tools/registry.js.map +0 -7
  523. package/dist/core/tools/types.js +0 -1
  524. package/dist/core/tools/types.js.map +0 -7
  525. package/dist/cost-tracker.js +0 -68
  526. package/dist/cost-tracker.js.map +0 -7
  527. package/dist/entrypoints/bootstrap.js +0 -56
  528. package/dist/entrypoints/bootstrap.js.map +0 -7
  529. package/dist/entrypoints/cli.js +0 -1390
  530. package/dist/entrypoints/cli.js.map +0 -7
  531. package/dist/entrypoints/mcp.js +0 -153
  532. package/dist/entrypoints/mcp.js.map +0 -7
  533. package/dist/history.js +0 -96
  534. package/dist/history.js.map +0 -7
  535. package/dist/hooks/useAgentTokenStats.js +0 -72
  536. package/dist/hooks/useAgentTokenStats.js.map +0 -7
  537. package/dist/hooks/useAgentTranscripts.js +0 -141
  538. package/dist/hooks/useAgentTranscripts.js.map +0 -7
  539. package/dist/hooks/useAnimationSync.js +0 -53
  540. package/dist/hooks/useAnimationSync.js.map +0 -7
  541. package/dist/hooks/useApiKeyVerification.js +0 -12
  542. package/dist/hooks/useApiKeyVerification.js.map +0 -7
  543. package/dist/hooks/useArrowKeyHistory.js +0 -52
  544. package/dist/hooks/useArrowKeyHistory.js.map +0 -7
  545. package/dist/hooks/useAskUser.js +0 -24
  546. package/dist/hooks/useAskUser.js.map +0 -7
  547. package/dist/hooks/useBackgroundShells.js +0 -29
  548. package/dist/hooks/useBackgroundShells.js.map +0 -7
  549. package/dist/hooks/useCanUseTool.js +0 -89
  550. package/dist/hooks/useCanUseTool.js.map +0 -7
  551. package/dist/hooks/useDeferredLoading.js +0 -64
  552. package/dist/hooks/useDeferredLoading.js.map +0 -7
  553. package/dist/hooks/useDoublePress.js +0 -31
  554. package/dist/hooks/useDoublePress.js.map +0 -7
  555. package/dist/hooks/useExitOnCtrlCD.js +0 -30
  556. package/dist/hooks/useExitOnCtrlCD.js.map +0 -7
  557. package/dist/hooks/useHistorySearch.js +0 -62
  558. package/dist/hooks/useHistorySearch.js.map +0 -7
  559. package/dist/hooks/useHookStatus.js +0 -40
  560. package/dist/hooks/useHookStatus.js.map +0 -7
  561. package/dist/hooks/useInterval.js +0 -18
  562. package/dist/hooks/useInterval.js.map +0 -7
  563. package/dist/hooks/useLogMessages.js +0 -41
  564. package/dist/hooks/useLogMessages.js.map +0 -7
  565. package/dist/hooks/useLogStartupTime.js +0 -10
  566. package/dist/hooks/useLogStartupTime.js.map +0 -7
  567. package/dist/hooks/useMessageGroups.js +0 -43
  568. package/dist/hooks/useMessageGroups.js.map +0 -7
  569. package/dist/hooks/useNotifyAfterTimeout.js +0 -42
  570. package/dist/hooks/useNotifyAfterTimeout.js.map +0 -7
  571. package/dist/hooks/usePermissionRequestLogging.js +0 -23
  572. package/dist/hooks/usePermissionRequestLogging.js.map +0 -7
  573. package/dist/hooks/useSessionTracking.js +0 -55
  574. package/dist/hooks/useSessionTracking.js.map +0 -7
  575. package/dist/hooks/useTerminalSize.js +0 -115
  576. package/dist/hooks/useTerminalSize.js.map +0 -7
  577. package/dist/hooks/useTextInput.js +0 -253
  578. package/dist/hooks/useTextInput.js.map +0 -7
  579. package/dist/hooks/useUnifiedCompletion.js +0 -1098
  580. package/dist/hooks/useUnifiedCompletion.js.map +0 -7
  581. package/dist/i18n/index.js +0 -109
  582. package/dist/i18n/index.js.map +0 -7
  583. package/dist/i18n/locales/en.js +0 -928
  584. package/dist/i18n/locales/en.js.map +0 -7
  585. package/dist/i18n/locales/index.js +0 -7
  586. package/dist/i18n/locales/index.js.map +0 -7
  587. package/dist/i18n/locales/zh-CN.js +0 -928
  588. package/dist/i18n/locales/zh-CN.js.map +0 -7
  589. package/dist/i18n/types.js +0 -8
  590. package/dist/i18n/types.js.map +0 -7
  591. package/dist/index.js +0 -5
  592. package/dist/index.js.map +0 -7
  593. package/dist/messages.js +0 -68
  594. package/dist/messages.js.map +0 -7
  595. package/dist/package.json +0 -4
  596. package/dist/permissions.js +0 -430
  597. package/dist/permissions.js.map +0 -7
  598. package/dist/query.js +0 -753
  599. package/dist/query.js.map +0 -7
  600. package/dist/screens/LogList.js +0 -55
  601. package/dist/screens/LogList.js.map +0 -7
  602. package/dist/screens/REPL.js +0 -1097
  603. package/dist/screens/REPL.js.map +0 -7
  604. package/dist/screens/ResumeConversation.js +0 -59
  605. package/dist/screens/ResumeConversation.js.map +0 -7
  606. package/dist/services/adapters/base.js +0 -29
  607. package/dist/services/adapters/base.js.map +0 -7
  608. package/dist/services/adapters/chatCompletions.js +0 -71
  609. package/dist/services/adapters/chatCompletions.js.map +0 -7
  610. package/dist/services/adapters/messageNormalizer.js +0 -354
  611. package/dist/services/adapters/messageNormalizer.js.map +0 -7
  612. package/dist/services/adapters/responsesAPI.js +0 -137
  613. package/dist/services/adapters/responsesAPI.js.map +0 -7
  614. package/dist/services/agentTeams/index.js +0 -35
  615. package/dist/services/agentTeams/index.js.map +0 -7
  616. package/dist/services/agentTeams/mailbox.js +0 -114
  617. package/dist/services/agentTeams/mailbox.js.map +0 -7
  618. package/dist/services/agentTeams/teamManager.js +0 -149
  619. package/dist/services/agentTeams/teamManager.js.map +0 -7
  620. package/dist/services/agentTeams/teamTaskStore.js +0 -114
  621. package/dist/services/agentTeams/teamTaskStore.js.map +0 -7
  622. package/dist/services/agentTeams/teammateSpawner.js +0 -80
  623. package/dist/services/agentTeams/teammateSpawner.js.map +0 -7
  624. package/dist/services/checkpointManager.js +0 -399
  625. package/dist/services/checkpointManager.js.map +0 -7
  626. package/dist/services/claude.js +0 -41
  627. package/dist/services/claude.js.map +0 -7
  628. package/dist/services/compressionService.js +0 -259
  629. package/dist/services/compressionService.js.map +0 -7
  630. package/dist/services/contextMonitor.js +0 -162
  631. package/dist/services/contextMonitor.js.map +0 -7
  632. package/dist/services/customCommands.js +0 -489
  633. package/dist/services/customCommands.js.map +0 -7
  634. package/dist/services/fileFreshness.js +0 -275
  635. package/dist/services/fileFreshness.js.map +0 -7
  636. package/dist/services/gpt5ConnectionTest.js +0 -263
  637. package/dist/services/gpt5ConnectionTest.js.map +0 -7
  638. package/dist/services/hookExecutor.js +0 -728
  639. package/dist/services/hookExecutor.js.map +0 -7
  640. package/dist/services/intelligentCompactor.js +0 -281
  641. package/dist/services/intelligentCompactor.js.map +0 -7
  642. package/dist/services/llm/anthropicProvider.js +0 -807
  643. package/dist/services/llm/anthropicProvider.js.map +0 -7
  644. package/dist/services/llm/dispatch.js +0 -218
  645. package/dist/services/llm/dispatch.js.map +0 -7
  646. package/dist/services/llm/index.js +0 -44
  647. package/dist/services/llm/index.js.map +0 -7
  648. package/dist/services/llm/mintoContext.js +0 -69
  649. package/dist/services/llm/mintoContext.js.map +0 -7
  650. package/dist/services/llm/openaiProvider.js +0 -622
  651. package/dist/services/llm/openaiProvider.js.map +0 -7
  652. package/dist/services/llm/types.js +0 -157
  653. package/dist/services/llm/types.js.map +0 -7
  654. package/dist/services/lspConfig.js +0 -109
  655. package/dist/services/lspConfig.js.map +0 -7
  656. package/dist/services/mainAgentCompressor.js +0 -84
  657. package/dist/services/mainAgentCompressor.js.map +0 -7
  658. package/dist/services/mcpClient.js +0 -921
  659. package/dist/services/mcpClient.js.map +0 -7
  660. package/dist/services/mcpServerApproval.js +0 -55
  661. package/dist/services/mcpServerApproval.js.map +0 -7
  662. package/dist/services/mentionProcessor.js +0 -214
  663. package/dist/services/mentionProcessor.js.map +0 -7
  664. package/dist/services/modelAdapterFactory.js +0 -47
  665. package/dist/services/modelAdapterFactory.js.map +0 -7
  666. package/dist/services/modelOrchestrator.js +0 -310
  667. package/dist/services/modelOrchestrator.js.map +0 -7
  668. package/dist/services/notifier.js +0 -49
  669. package/dist/services/notifier.js.map +0 -7
  670. package/dist/services/oauth.js +0 -249
  671. package/dist/services/oauth.js.map +0 -7
  672. package/dist/services/openai.js +0 -1049
  673. package/dist/services/openai.js.map +0 -7
  674. package/dist/services/outputStyles.js +0 -219
  675. package/dist/services/outputStyles.js.map +0 -7
  676. package/dist/services/plugins/index.js +0 -5
  677. package/dist/services/plugins/index.js.map +0 -7
  678. package/dist/services/plugins/lspServers.js +0 -188
  679. package/dist/services/plugins/lspServers.js.map +0 -7
  680. package/dist/services/plugins/pluginRuntime.js +0 -230
  681. package/dist/services/plugins/pluginRuntime.js.map +0 -7
  682. package/dist/services/plugins/pluginValidation.js +0 -226
  683. package/dist/services/plugins/pluginValidation.js.map +0 -7
  684. package/dist/services/plugins/skillMarketplace.js +0 -567
  685. package/dist/services/plugins/skillMarketplace.js.map +0 -7
  686. package/dist/services/responseStateManager.js +0 -102
  687. package/dist/services/responseStateManager.js.map +0 -7
  688. package/dist/services/sandbox/filesystemBoundary.js +0 -341
  689. package/dist/services/sandbox/filesystemBoundary.js.map +0 -7
  690. package/dist/services/sandbox/index.js +0 -14
  691. package/dist/services/sandbox/index.js.map +0 -7
  692. package/dist/services/sandbox/networkProxy.js +0 -293
  693. package/dist/services/sandbox/networkProxy.js.map +0 -7
  694. package/dist/services/sandbox/sandboxController.js +0 -574
  695. package/dist/services/sandbox/sandboxController.js.map +0 -7
  696. package/dist/services/sandbox/types.js +0 -50
  697. package/dist/services/sandbox/types.js.map +0 -7
  698. package/dist/services/sentry.js +0 -9
  699. package/dist/services/sentry.js.map +0 -7
  700. package/dist/services/sessionMemory.js +0 -279
  701. package/dist/services/sessionMemory.js.map +0 -7
  702. package/dist/services/subagentAbortManager.js +0 -95
  703. package/dist/services/subagentAbortManager.js.map +0 -7
  704. package/dist/services/subagentCompressor.js +0 -146
  705. package/dist/services/subagentCompressor.js.map +0 -7
  706. package/dist/services/systemReminder.js +0 -693
  707. package/dist/services/systemReminder.js.map +0 -7
  708. package/dist/services/taskRouter.js +0 -324
  709. package/dist/services/taskRouter.js.map +0 -7
  710. package/dist/services/taskStore.js +0 -224
  711. package/dist/services/taskStore.js.map +0 -7
  712. package/dist/services/vcr.js +0 -133
  713. package/dist/services/vcr.js.map +0 -7
  714. package/dist/tools/ArchitectTool/ArchitectTool.js +0 -126
  715. package/dist/tools/ArchitectTool/ArchitectTool.js.map +0 -7
  716. package/dist/tools/ArchitectTool/prompt.js +0 -18
  717. package/dist/tools/ArchitectTool/prompt.js.map +0 -7
  718. package/dist/tools/AskExpertModelTool/AskExpertModelTool.js +0 -433
  719. package/dist/tools/AskExpertModelTool/AskExpertModelTool.js.map +0 -7
  720. package/dist/tools/AskUserQuestionTool/AskUserQuestionTool.js +0 -158
  721. package/dist/tools/AskUserQuestionTool/AskUserQuestionTool.js.map +0 -7
  722. package/dist/tools/AskUserQuestionTool/index.js +0 -5
  723. package/dist/tools/AskUserQuestionTool/index.js.map +0 -7
  724. package/dist/tools/AskUserQuestionTool/prompt.js +0 -167
  725. package/dist/tools/AskUserQuestionTool/prompt.js.map +0 -7
  726. package/dist/tools/BaseTool.js +0 -72
  727. package/dist/tools/BaseTool.js.map +0 -7
  728. package/dist/tools/BashOutputTool/BashOutputTool.js +0 -120
  729. package/dist/tools/BashOutputTool/BashOutputTool.js.map +0 -7
  730. package/dist/tools/BashOutputTool/BashOutputToolResultMessage.js +0 -14
  731. package/dist/tools/BashOutputTool/BashOutputToolResultMessage.js.map +0 -7
  732. package/dist/tools/BashOutputTool/prompt.js +0 -13
  733. package/dist/tools/BashOutputTool/prompt.js.map +0 -7
  734. package/dist/tools/BashTool/BashTool.js +0 -330
  735. package/dist/tools/BashTool/BashTool.js.map +0 -7
  736. package/dist/tools/BashTool/BashToolResultMessage.js +0 -24
  737. package/dist/tools/BashTool/BashToolResultMessage.js.map +0 -7
  738. package/dist/tools/BashTool/OutputLine.js +0 -84
  739. package/dist/tools/BashTool/OutputLine.js.map +0 -7
  740. package/dist/tools/BashTool/prompt.js +0 -519
  741. package/dist/tools/BashTool/prompt.js.map +0 -7
  742. package/dist/tools/BashTool/utils.js +0 -51
  743. package/dist/tools/BashTool/utils.js.map +0 -7
  744. package/dist/tools/FileEditTool/FileEditTool.js +0 -273
  745. package/dist/tools/FileEditTool/FileEditTool.js.map +0 -7
  746. package/dist/tools/FileEditTool/prompt.js +0 -60
  747. package/dist/tools/FileEditTool/prompt.js.map +0 -7
  748. package/dist/tools/FileEditTool/utils.js +0 -48
  749. package/dist/tools/FileEditTool/utils.js.map +0 -7
  750. package/dist/tools/FileReadTool/FileReadTool.js +0 -305
  751. package/dist/tools/FileReadTool/FileReadTool.js.map +0 -7
  752. package/dist/tools/FileReadTool/prompt.js +0 -25
  753. package/dist/tools/FileReadTool/prompt.js.map +0 -7
  754. package/dist/tools/FileWriteTool/FileWriteTool.js +0 -211
  755. package/dist/tools/FileWriteTool/FileWriteTool.js.map +0 -7
  756. package/dist/tools/FileWriteTool/prompt.js +0 -23
  757. package/dist/tools/FileWriteTool/prompt.js.map +0 -7
  758. package/dist/tools/GlobTool/GlobTool.js +0 -99
  759. package/dist/tools/GlobTool/GlobTool.js.map +0 -7
  760. package/dist/tools/GlobTool/prompt.js +0 -23
  761. package/dist/tools/GlobTool/prompt.js.map +0 -7
  762. package/dist/tools/GrepTool/GrepTool.js +0 -406
  763. package/dist/tools/GrepTool/GrepTool.js.map +0 -7
  764. package/dist/tools/GrepTool/prompt.js +0 -22
  765. package/dist/tools/GrepTool/prompt.js.map +0 -7
  766. package/dist/tools/KillShellTool/KillShellTool.js +0 -92
  767. package/dist/tools/KillShellTool/KillShellTool.js.map +0 -7
  768. package/dist/tools/KillShellTool/KillShellToolResultMessage.js +0 -14
  769. package/dist/tools/KillShellTool/KillShellToolResultMessage.js.map +0 -7
  770. package/dist/tools/KillShellTool/prompt.js +0 -12
  771. package/dist/tools/KillShellTool/prompt.js.map +0 -7
  772. package/dist/tools/ListMcpResourcesTool/ListMcpResourcesTool.js +0 -109
  773. package/dist/tools/ListMcpResourcesTool/ListMcpResourcesTool.js.map +0 -7
  774. package/dist/tools/ListMcpResourcesTool/prompt.js +0 -19
  775. package/dist/tools/ListMcpResourcesTool/prompt.js.map +0 -7
  776. package/dist/tools/LspTool/LspTool.js +0 -673
  777. package/dist/tools/LspTool/LspTool.js.map +0 -7
  778. package/dist/tools/LspTool/prompt.js +0 -27
  779. package/dist/tools/LspTool/prompt.js.map +0 -7
  780. package/dist/tools/MCPTool/MCPTool.js +0 -97
  781. package/dist/tools/MCPTool/MCPTool.js.map +0 -7
  782. package/dist/tools/MCPTool/prompt.js +0 -7
  783. package/dist/tools/MCPTool/prompt.js.map +0 -7
  784. package/dist/tools/MemoryReadTool/MemoryReadTool.js +0 -117
  785. package/dist/tools/MemoryReadTool/MemoryReadTool.js.map +0 -7
  786. package/dist/tools/MemoryReadTool/prompt.js +0 -7
  787. package/dist/tools/MemoryReadTool/prompt.js.map +0 -7
  788. package/dist/tools/MemoryWriteTool/MemoryWriteTool.js +0 -78
  789. package/dist/tools/MemoryWriteTool/MemoryWriteTool.js.map +0 -7
  790. package/dist/tools/MemoryWriteTool/prompt.js +0 -7
  791. package/dist/tools/MemoryWriteTool/prompt.js.map +0 -7
  792. package/dist/tools/MultiEditTool/MultiEditTool.js +0 -328
  793. package/dist/tools/MultiEditTool/MultiEditTool.js.map +0 -7
  794. package/dist/tools/MultiEditTool/prompt.js +0 -50
  795. package/dist/tools/MultiEditTool/prompt.js.map +0 -7
  796. package/dist/tools/NotebookEditTool/NotebookEditTool.js +0 -257
  797. package/dist/tools/NotebookEditTool/NotebookEditTool.js.map +0 -7
  798. package/dist/tools/NotebookEditTool/prompt.js +0 -7
  799. package/dist/tools/NotebookEditTool/prompt.js.map +0 -7
  800. package/dist/tools/NotebookReadTool/NotebookReadTool.js +0 -218
  801. package/dist/tools/NotebookReadTool/NotebookReadTool.js.map +0 -7
  802. package/dist/tools/NotebookReadTool/prompt.js +0 -7
  803. package/dist/tools/NotebookReadTool/prompt.js.map +0 -7
  804. package/dist/tools/PlanModeTool/EnterPlanModeTool.js +0 -81
  805. package/dist/tools/PlanModeTool/EnterPlanModeTool.js.map +0 -7
  806. package/dist/tools/PlanModeTool/ExitPlanModeTool.js +0 -111
  807. package/dist/tools/PlanModeTool/ExitPlanModeTool.js.map +0 -7
  808. package/dist/tools/PlanModeTool/prompt.js +0 -94
  809. package/dist/tools/PlanModeTool/prompt.js.map +0 -7
  810. package/dist/tools/ReadMcpResourceTool/ReadMcpResourceTool.js +0 -130
  811. package/dist/tools/ReadMcpResourceTool/ReadMcpResourceTool.js.map +0 -7
  812. package/dist/tools/ReadMcpResourceTool/prompt.js +0 -17
  813. package/dist/tools/ReadMcpResourceTool/prompt.js.map +0 -7
  814. package/dist/tools/SkillTool/SkillTool.js +0 -227
  815. package/dist/tools/SkillTool/SkillTool.js.map +0 -7
  816. package/dist/tools/SkillTool/prompt.js +0 -81
  817. package/dist/tools/SkillTool/prompt.js.map +0 -7
  818. package/dist/tools/SlashCommandTool/SlashCommandTool.js +0 -416
  819. package/dist/tools/SlashCommandTool/SlashCommandTool.js.map +0 -7
  820. package/dist/tools/SlashCommandTool/prompt.js +0 -35
  821. package/dist/tools/SlashCommandTool/prompt.js.map +0 -7
  822. package/dist/tools/TaskCreateTool/TaskCreateTool.js +0 -102
  823. package/dist/tools/TaskCreateTool/TaskCreateTool.js.map +0 -7
  824. package/dist/tools/TaskCreateTool/prompt.js +0 -47
  825. package/dist/tools/TaskCreateTool/prompt.js.map +0 -7
  826. package/dist/tools/TaskGetTool/TaskGetTool.js +0 -115
  827. package/dist/tools/TaskGetTool/TaskGetTool.js.map +0 -7
  828. package/dist/tools/TaskGetTool/prompt.js +0 -28
  829. package/dist/tools/TaskGetTool/prompt.js.map +0 -7
  830. package/dist/tools/TaskListTool/TaskListTool.js +0 -102
  831. package/dist/tools/TaskListTool/TaskListTool.js.map +0 -7
  832. package/dist/tools/TaskListTool/prompt.js +0 -27
  833. package/dist/tools/TaskListTool/prompt.js.map +0 -7
  834. package/dist/tools/TaskOutputTool/TaskOutputTool.js +0 -190
  835. package/dist/tools/TaskOutputTool/TaskOutputTool.js.map +0 -7
  836. package/dist/tools/TaskOutputTool/prompt.js +0 -15
  837. package/dist/tools/TaskOutputTool/prompt.js.map +0 -7
  838. package/dist/tools/TaskStopTool/TaskStopTool.js +0 -150
  839. package/dist/tools/TaskStopTool/TaskStopTool.js.map +0 -7
  840. package/dist/tools/TaskStopTool/prompt.js +0 -15
  841. package/dist/tools/TaskStopTool/prompt.js.map +0 -7
  842. package/dist/tools/TaskTool/TaskTool.js +0 -861
  843. package/dist/tools/TaskTool/TaskTool.js.map +0 -7
  844. package/dist/tools/TaskTool/constants.js +0 -5
  845. package/dist/tools/TaskTool/constants.js.map +0 -7
  846. package/dist/tools/TaskTool/prompt.js +0 -117
  847. package/dist/tools/TaskTool/prompt.js.map +0 -7
  848. package/dist/tools/TaskUpdateTool/TaskUpdateTool.js +0 -134
  849. package/dist/tools/TaskUpdateTool/TaskUpdateTool.js.map +0 -7
  850. package/dist/tools/TaskUpdateTool/prompt.js +0 -81
  851. package/dist/tools/TaskUpdateTool/prompt.js.map +0 -7
  852. package/dist/tools/ThinkTool/ThinkTool.js +0 -45
  853. package/dist/tools/ThinkTool/ThinkTool.js.map +0 -7
  854. package/dist/tools/ThinkTool/prompt.js +0 -16
  855. package/dist/tools/ThinkTool/prompt.js.map +0 -7
  856. package/dist/tools/TodoWriteTool/TodoWriteTool.js +0 -232
  857. package/dist/tools/TodoWriteTool/TodoWriteTool.js.map +0 -7
  858. package/dist/tools/TodoWriteTool/prompt.js +0 -87
  859. package/dist/tools/TodoWriteTool/prompt.js.map +0 -7
  860. package/dist/tools/URLFetcherTool/URLFetcherTool.js +0 -143
  861. package/dist/tools/URLFetcherTool/URLFetcherTool.js.map +0 -7
  862. package/dist/tools/URLFetcherTool/cache.js +0 -95
  863. package/dist/tools/URLFetcherTool/cache.js.map +0 -7
  864. package/dist/tools/URLFetcherTool/htmlToMarkdown.js +0 -44
  865. package/dist/tools/URLFetcherTool/htmlToMarkdown.js.map +0 -7
  866. package/dist/tools/URLFetcherTool/prompt.js +0 -27
  867. package/dist/tools/URLFetcherTool/prompt.js.map +0 -7
  868. package/dist/tools/WebSearchTool/WebSearchTool.js +0 -91
  869. package/dist/tools/WebSearchTool/WebSearchTool.js.map +0 -7
  870. package/dist/tools/WebSearchTool/prompt.js +0 -23
  871. package/dist/tools/WebSearchTool/prompt.js.map +0 -7
  872. package/dist/tools/WebSearchTool/searchProviders.js +0 -58
  873. package/dist/tools/WebSearchTool/searchProviders.js.map +0 -7
  874. package/dist/tools/lsTool/lsTool.js +0 -201
  875. package/dist/tools/lsTool/lsTool.js.map +0 -7
  876. package/dist/tools/lsTool/prompt.js +0 -5
  877. package/dist/tools/lsTool/prompt.js.map +0 -7
  878. package/dist/tools.js +0 -127
  879. package/dist/tools.js.map +0 -7
  880. package/dist/types/PermissionMode.js +0 -131
  881. package/dist/types/PermissionMode.js.map +0 -7
  882. package/dist/types/RequestContext.js +0 -47
  883. package/dist/types/RequestContext.js.map +0 -7
  884. package/dist/types/agentTeams.js +0 -1
  885. package/dist/types/agentTeams.js.map +0 -7
  886. package/dist/types/askUserQuestion.js +0 -1
  887. package/dist/types/askUserQuestion.js.map +0 -7
  888. package/dist/types/common.d.js +0 -1
  889. package/dist/types/common.d.js.map +0 -7
  890. package/dist/types/conversation.js +0 -1
  891. package/dist/types/conversation.js.map +0 -7
  892. package/dist/types/core.js +0 -1
  893. package/dist/types/core.js.map +0 -7
  894. package/dist/types/hooks.js +0 -45
  895. package/dist/types/hooks.js.map +0 -7
  896. package/dist/types/interactionRound.js +0 -1
  897. package/dist/types/interactionRound.js.map +0 -7
  898. package/dist/types/logs.js +0 -1
  899. package/dist/types/logs.js.map +0 -7
  900. package/dist/types/marketplace.js +0 -107
  901. package/dist/types/marketplace.js.map +0 -7
  902. package/dist/types/messageGroup.js +0 -36
  903. package/dist/types/messageGroup.js.map +0 -7
  904. package/dist/types/modelCapabilities.js +0 -1
  905. package/dist/types/modelCapabilities.js.map +0 -7
  906. package/dist/types/notebook.js +0 -1
  907. package/dist/types/notebook.js.map +0 -7
  908. package/dist/types/plugin.js +0 -84
  909. package/dist/types/plugin.js.map +0 -7
  910. package/dist/types/subagent.js +0 -1
  911. package/dist/types/subagent.js.map +0 -7
  912. package/dist/types/thinking.js +0 -1
  913. package/dist/types/thinking.js.map +0 -7
  914. package/dist/utils/BackgroundShellManager.js +0 -378
  915. package/dist/utils/BackgroundShellManager.js.map +0 -7
  916. package/dist/utils/CircuitBreaker.js +0 -242
  917. package/dist/utils/CircuitBreaker.js.map +0 -7
  918. package/dist/utils/Cursor.js +0 -315
  919. package/dist/utils/Cursor.js.map +0 -7
  920. package/dist/utils/MessageBatchBuffer.js +0 -102
  921. package/dist/utils/MessageBatchBuffer.js.map +0 -7
  922. package/dist/utils/PersistentShell.js +0 -526
  923. package/dist/utils/PersistentShell.js.map +0 -7
  924. package/dist/utils/advancedFuzzyMatcher.js +0 -209
  925. package/dist/utils/advancedFuzzyMatcher.js.map +0 -7
  926. package/dist/utils/agentHookExecutor.js +0 -103
  927. package/dist/utils/agentHookExecutor.js.map +0 -7
  928. package/dist/utils/agentLoader.js +0 -518
  929. package/dist/utils/agentLoader.js.map +0 -7
  930. package/dist/utils/agentMemory.js +0 -134
  931. package/dist/utils/agentMemory.js.map +0 -7
  932. package/dist/utils/agentStorage.js +0 -59
  933. package/dist/utils/agentStorage.js.map +0 -7
  934. package/dist/utils/agentTranscripts.js +0 -641
  935. package/dist/utils/agentTranscripts.js.map +0 -7
  936. package/dist/utils/animationManager.js +0 -213
  937. package/dist/utils/animationManager.js.map +0 -7
  938. package/dist/utils/animationSync.js +0 -110
  939. package/dist/utils/animationSync.js.map +0 -7
  940. package/dist/utils/array.js +0 -7
  941. package/dist/utils/array.js.map +0 -7
  942. package/dist/utils/ask.js +0 -79
  943. package/dist/utils/ask.js.map +0 -7
  944. package/dist/utils/async.js +0 -167
  945. package/dist/utils/async.js.map +0 -7
  946. package/dist/utils/asyncFile.js +0 -215
  947. package/dist/utils/asyncFile.js.map +0 -7
  948. package/dist/utils/auth.js +0 -11
  949. package/dist/utils/auth.js.map +0 -7
  950. package/dist/utils/autoCompactCore.js +0 -186
  951. package/dist/utils/autoCompactCore.js.map +0 -7
  952. package/dist/utils/autoUpdater.js +0 -113
  953. package/dist/utils/autoUpdater.js.map +0 -7
  954. package/dist/utils/backgroundAgentManager.js +0 -231
  955. package/dist/utils/backgroundAgentManager.js.map +0 -7
  956. package/dist/utils/browser.js +0 -15
  957. package/dist/utils/browser.js.map +0 -7
  958. package/dist/utils/claudeCodeSync.js +0 -439
  959. package/dist/utils/claudeCodeSync.js.map +0 -7
  960. package/dist/utils/cleanup.js +0 -54
  961. package/dist/utils/cleanup.js.map +0 -7
  962. package/dist/utils/commands.js +0 -219
  963. package/dist/utils/commands.js.map +0 -7
  964. package/dist/utils/commonUnixCommands.js +0 -689
  965. package/dist/utils/commonUnixCommands.js.map +0 -7
  966. package/dist/utils/compressionMode.js +0 -47
  967. package/dist/utils/compressionMode.js.map +0 -7
  968. package/dist/utils/config.js +0 -691
  969. package/dist/utils/config.js.map +0 -7
  970. package/dist/utils/configPaths.js +0 -199
  971. package/dist/utils/configPaths.js.map +0 -7
  972. package/dist/utils/configSchema.js +0 -227
  973. package/dist/utils/configSchema.js.map +0 -7
  974. package/dist/utils/conversationRecovery.js +0 -54
  975. package/dist/utils/conversationRecovery.js.map +0 -7
  976. package/dist/utils/credentials/CredentialStore.js +0 -1
  977. package/dist/utils/credentials/CredentialStore.js.map +0 -7
  978. package/dist/utils/credentials/EncryptedFileStore.js +0 -157
  979. package/dist/utils/credentials/EncryptedFileStore.js.map +0 -7
  980. package/dist/utils/credentials/index.js +0 -37
  981. package/dist/utils/credentials/index.js.map +0 -7
  982. package/dist/utils/credentials/migration.js +0 -82
  983. package/dist/utils/credentials/migration.js.map +0 -7
  984. package/dist/utils/debugLogger.js +0 -889
  985. package/dist/utils/debugLogger.js.map +0 -7
  986. package/dist/utils/diff.js +0 -32
  987. package/dist/utils/diff.js.map +0 -7
  988. package/dist/utils/env.js +0 -45
  989. package/dist/utils/env.js.map +0 -7
  990. package/dist/utils/envConfig.js +0 -116
  991. package/dist/utils/envConfig.js.map +0 -7
  992. package/dist/utils/errorHandling.js +0 -89
  993. package/dist/utils/errorHandling.js.map +0 -7
  994. package/dist/utils/errors.js +0 -23
  995. package/dist/utils/errors.js.map +0 -7
  996. package/dist/utils/execFileNoThrow.js +0 -45
  997. package/dist/utils/execFileNoThrow.js.map +0 -7
  998. package/dist/utils/exit.js +0 -73
  999. package/dist/utils/exit.js.map +0 -7
  1000. package/dist/utils/expertChatStorage.js +0 -78
  1001. package/dist/utils/expertChatStorage.js.map +0 -7
  1002. package/dist/utils/file.js +0 -282
  1003. package/dist/utils/file.js.map +0 -7
  1004. package/dist/utils/fileRecoveryCore.js +0 -41
  1005. package/dist/utils/fileRecoveryCore.js.map +0 -7
  1006. package/dist/utils/format.js +0 -109
  1007. package/dist/utils/format.js.map +0 -7
  1008. package/dist/utils/fuzzyMatcher.js +0 -258
  1009. package/dist/utils/fuzzyMatcher.js.map +0 -7
  1010. package/dist/utils/generators.js +0 -116
  1011. package/dist/utils/generators.js.map +0 -7
  1012. package/dist/utils/git.js +0 -83
  1013. package/dist/utils/git.js.map +0 -7
  1014. package/dist/utils/globalErrorHandler.js +0 -149
  1015. package/dist/utils/globalErrorHandler.js.map +0 -7
  1016. package/dist/utils/gpt5.js +0 -146
  1017. package/dist/utils/gpt5.js.map +0 -7
  1018. package/dist/utils/groupHandlers/index.js +0 -8
  1019. package/dist/utils/groupHandlers/index.js.map +0 -7
  1020. package/dist/utils/groupHandlers/parallelTasksHandler.js +0 -140
  1021. package/dist/utils/groupHandlers/parallelTasksHandler.js.map +0 -7
  1022. package/dist/utils/groupHandlers/taskHandler.js +0 -104
  1023. package/dist/utils/groupHandlers/taskHandler.js.map +0 -7
  1024. package/dist/utils/groupHandlers/types.js +0 -1
  1025. package/dist/utils/groupHandlers/types.js.map +0 -7
  1026. package/dist/utils/historyManager.js +0 -234
  1027. package/dist/utils/historyManager.js.map +0 -7
  1028. package/dist/utils/hookManager.js +0 -482
  1029. package/dist/utils/hookManager.js.map +0 -7
  1030. package/dist/utils/http.js +0 -7
  1031. package/dist/utils/http.js.map +0 -7
  1032. package/dist/utils/imagePaste.js +0 -29
  1033. package/dist/utils/imagePaste.js.map +0 -7
  1034. package/dist/utils/json.js +0 -16
  1035. package/dist/utils/json.js.map +0 -7
  1036. package/dist/utils/log.js +0 -329
  1037. package/dist/utils/log.js.map +0 -7
  1038. package/dist/utils/logRotation.js +0 -224
  1039. package/dist/utils/logRotation.js.map +0 -7
  1040. package/dist/utils/markdown.js +0 -246
  1041. package/dist/utils/markdown.js.map +0 -7
  1042. package/dist/utils/marketplaceManager.js +0 -545
  1043. package/dist/utils/marketplaceManager.js.map +0 -7
  1044. package/dist/utils/memSafety.js +0 -264
  1045. package/dist/utils/memSafety.js.map +0 -7
  1046. package/dist/utils/memoizeWithTTL.js +0 -25
  1047. package/dist/utils/memoizeWithTTL.js.map +0 -7
  1048. package/dist/utils/messageContextManager.js +0 -195
  1049. package/dist/utils/messageContextManager.js.map +0 -7
  1050. package/dist/utils/messageGroupManager.js +0 -274
  1051. package/dist/utils/messageGroupManager.js.map +0 -7
  1052. package/dist/utils/messages.js +0 -667
  1053. package/dist/utils/messages.js.map +0 -7
  1054. package/dist/utils/migration/index.js +0 -37
  1055. package/dist/utils/migration/index.js.map +0 -7
  1056. package/dist/utils/migration/migrateHistory.js +0 -273
  1057. package/dist/utils/migration/migrateHistory.js.map +0 -7
  1058. package/dist/utils/migration/migrateTodos.js +0 -323
  1059. package/dist/utils/migration/migrateTodos.js.map +0 -7
  1060. package/dist/utils/model.js +0 -846
  1061. package/dist/utils/model.js.map +0 -7
  1062. package/dist/utils/pasteCache.js +0 -309
  1063. package/dist/utils/pasteCache.js.map +0 -7
  1064. package/dist/utils/permissions/filesystem.js +0 -236
  1065. package/dist/utils/permissions/filesystem.js.map +0 -7
  1066. package/dist/utils/plan/planMode.js +0 -143
  1067. package/dist/utils/plan/planMode.js.map +0 -7
  1068. package/dist/utils/pluginInstaller.js +0 -518
  1069. package/dist/utils/pluginInstaller.js.map +0 -7
  1070. package/dist/utils/pluginLoader.js +0 -801
  1071. package/dist/utils/pluginLoader.js.map +0 -7
  1072. package/dist/utils/pluginRegistry.js +0 -111
  1073. package/dist/utils/pluginRegistry.js.map +0 -7
  1074. package/dist/utils/pluginValidator.js +0 -798
  1075. package/dist/utils/pluginValidator.js.map +0 -7
  1076. package/dist/utils/ptyCompat.js +0 -125
  1077. package/dist/utils/ptyCompat.js.map +0 -7
  1078. package/dist/utils/replStateMachine.js +0 -145
  1079. package/dist/utils/replStateMachine.js.map +0 -7
  1080. package/dist/utils/repoFetcher.js +0 -110
  1081. package/dist/utils/repoFetcher.js.map +0 -7
  1082. package/dist/utils/ripgrep.js +0 -236
  1083. package/dist/utils/ripgrep.js.map +0 -7
  1084. package/dist/utils/roundConverter.js +0 -262
  1085. package/dist/utils/roundConverter.js.map +0 -7
  1086. package/dist/utils/safeFetch.js +0 -45
  1087. package/dist/utils/safeFetch.js.map +0 -7
  1088. package/dist/utils/safePath.js +0 -132
  1089. package/dist/utils/safePath.js.map +0 -7
  1090. package/dist/utils/sanitizeInput.js +0 -32
  1091. package/dist/utils/sanitizeInput.js.map +0 -7
  1092. package/dist/utils/secureFile.js +0 -512
  1093. package/dist/utils/secureFile.js.map +0 -7
  1094. package/dist/utils/secureKeyStorage.js +0 -312
  1095. package/dist/utils/secureKeyStorage.js.map +0 -7
  1096. package/dist/utils/sensitiveFiles.js +0 -125
  1097. package/dist/utils/sensitiveFiles.js.map +0 -7
  1098. package/dist/utils/session/sessionPlugins.js +0 -67
  1099. package/dist/utils/session/sessionPlugins.js.map +0 -7
  1100. package/dist/utils/sessionIndex.js +0 -192
  1101. package/dist/utils/sessionIndex.js.map +0 -7
  1102. package/dist/utils/sessionState.js +0 -22
  1103. package/dist/utils/sessionState.js.map +0 -7
  1104. package/dist/utils/sessionTracker.js +0 -170
  1105. package/dist/utils/sessionTracker.js.map +0 -7
  1106. package/dist/utils/skillLoader.js +0 -230
  1107. package/dist/utils/skillLoader.js.map +0 -7
  1108. package/dist/utils/state.js +0 -24
  1109. package/dist/utils/state.js.map +0 -7
  1110. package/dist/utils/stats.js +0 -417
  1111. package/dist/utils/stats.js.map +0 -7
  1112. package/dist/utils/streamingState.js +0 -52
  1113. package/dist/utils/streamingState.js.map +0 -7
  1114. package/dist/utils/stringSubstitution.js +0 -106
  1115. package/dist/utils/stringSubstitution.js.map +0 -7
  1116. package/dist/utils/style.js +0 -34
  1117. package/dist/utils/style.js.map +0 -7
  1118. package/dist/utils/taskDisplayUtils.js +0 -257
  1119. package/dist/utils/taskDisplayUtils.js.map +0 -7
  1120. package/dist/utils/teamConfig.js +0 -624
  1121. package/dist/utils/teamConfig.js.map +0 -7
  1122. package/dist/utils/terminal.js +0 -59
  1123. package/dist/utils/terminal.js.map +0 -7
  1124. package/dist/utils/theme.js +0 -134
  1125. package/dist/utils/theme.js.map +0 -7
  1126. package/dist/utils/thinking.js +0 -59
  1127. package/dist/utils/thinking.js.map +0 -7
  1128. package/dist/utils/todoChangeCalculator.js +0 -64
  1129. package/dist/utils/todoChangeCalculator.js.map +0 -7
  1130. package/dist/utils/todoStorage.js +0 -413
  1131. package/dist/utils/todoStorage.js.map +0 -7
  1132. package/dist/utils/tokens.js +0 -30
  1133. package/dist/utils/tokens.js.map +0 -7
  1134. package/dist/utils/toolExecutionController.js +0 -109
  1135. package/dist/utils/toolExecutionController.js.map +0 -7
  1136. package/dist/utils/toolRiskClassification.js +0 -201
  1137. package/dist/utils/toolRiskClassification.js.map +0 -7
  1138. package/dist/utils/toolTimeout.js +0 -136
  1139. package/dist/utils/toolTimeout.js.map +0 -7
  1140. package/dist/utils/tooling/safeRender.js +0 -115
  1141. package/dist/utils/tooling/safeRender.js.map +0 -7
  1142. package/dist/utils/unaryLogging.js +0 -6
  1143. package/dist/utils/unaryLogging.js.map +0 -7
  1144. package/dist/utils/user.js +0 -40
  1145. package/dist/utils/user.js.map +0 -7
  1146. package/dist/utils/userFriendlyError.js +0 -346
  1147. package/dist/utils/userFriendlyError.js.map +0 -7
  1148. package/dist/utils/validate.js +0 -132
  1149. package/dist/utils/validate.js.map +0 -7
  1150. package/dist/version.js +0 -7
  1151. package/dist/version.js.map +0 -7
  1152. package/dist/yoga.wasm +0 -0
  1153. /package/{dist/utils/vendor → vendor}/ripgrep/arm64-darwin/rg +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/commands/plugin.tsx"],
4
- "sourcesContent": ["import React, { useState, useEffect, useMemo, useCallback } from 'react'\nimport { Box, Text, useInput } from 'ink'\nimport { Command } from '@commands'\nimport { SimpleSpinner } from '@components/Spinner'\nimport {\n loadAllPlugins,\n getPlugin,\n listPlugins,\n loadPlugin,\n togglePluginEnabled,\n enablePlugin,\n disablePlugin,\n} from '@utils/pluginLoader'\nimport {\n addMarketplace,\n removeMarketplace,\n updateMarketplace,\n listMarketplaces,\n getMarketplace,\n installPluginFromMarketplace,\n} from '@utils/marketplaceManager'\nimport { uninstallPlugin } from '@utils/pluginInstaller'\nimport {\n syncFromClaudeCode,\n hasClaudeCodeInstallation,\n type SyncResult,\n} from '@utils/claudeCodeSync'\nimport { gt as semverGt, valid as semverValid } from 'semver'\nimport { LoadedPlugin, PluginManifest, PluginError } from '../types/plugin'\nimport { RegisteredMarketplace, MarketplaceError } from '../types/marketplace'\nimport { rmSync } from 'fs'\nimport { getTheme } from '@utils/theme'\nimport { SEMANTIC_COLORS } from '@constants/colors'\nimport { TabbedListView } from '@components/TabbedListView/TabbedListView'\nimport type {\n ListItem,\n TabDefinition,\n StatusOverlay,\n} from '@components/TabbedListView/types'\nimport { t } from '@i18n'\nimport { formatMarketplacePath, formatTimeAgo } from './plugin/utils'\n\n/**\n * Plugin Command - Comprehensive plugin management for Minto CLI\n *\n * Implements all plugin management commands following Claude Code specification:\n * - /plugin list - List all installed plugins\n * - /plugin info <name> - Show detailed plugin information\n * - /plugin install <name>[@marketplace] - Install plugin from marketplace\n * - /plugin uninstall <name> - Remove installed plugin\n * - /plugin validate [name] - Validate plugin manifest and components\n * - /plugin marketplace add <source> - Register new marketplace\n * - /plugin marketplace list - List registered marketplaces\n * - /plugin marketplace update <name> - Update marketplace manifest\n * - /plugin marketplace remove <name> - Unregister marketplace\n */\n\n// ============================================================================\n// Component: Plugin List View\n// ============================================================================\n\ninterface PluginListProps {\n onDone: () => void\n}\n\nconst PluginList: React.FC<PluginListProps> = ({ onDone }) => {\n const [plugins, setPlugins] = useState<LoadedPlugin[]>([])\n const [loading, setLoading] = useState(true)\n const [error, setError] = useState<string | null>(null)\n const theme = getTheme()\n\n useEffect(() => {\n try {\n const loadedPlugins = loadAllPlugins()\n setPlugins(loadedPlugins)\n } catch (err) {\n setError(err instanceof Error ? err.message : String(err))\n } finally {\n setLoading(false)\n onDone()\n }\n }, [onDone])\n\n if (loading) {\n return <Text color={theme.primary}>Loading plugins...</Text>\n }\n\n if (error) {\n return <Text color={theme.error}>Error: {error}</Text>\n }\n\n if (plugins.length === 0) {\n return (\n <Box flexDirection=\"column\">\n <Text color={theme.warning}>No plugins installed.</Text>\n <Text color={SEMANTIC_COLORS.dim}>\n Install plugins with: /plugin install &lt;name&gt;[@marketplace]\n </Text>\n </Box>\n )\n }\n\n return (\n <Box flexDirection=\"column\">\n <Text bold underline color={theme.success}>\n Installed Plugins ({plugins.length})\n </Text>\n <Text>{''}</Text>\n {plugins.map(plugin => {\n const componentCounts = [\n plugin.agents.length > 0 &&\n `${plugin.agents.length} agent${plugin.agents.length !== 1 ? 's' : ''}`,\n plugin.commands.length > 0 &&\n `${plugin.commands.length} command${plugin.commands.length !== 1 ? 's' : ''}`,\n plugin.skills.length > 0 &&\n `${plugin.skills.length} skill${plugin.skills.length !== 1 ? 's' : ''}`,\n plugin.hooks.length > 0 &&\n `${plugin.hooks.length} hook${plugin.hooks.length !== 1 ? 's' : ''}`,\n plugin.mcpServers.length > 0 &&\n `${plugin.mcpServers.length} MCP server${plugin.mcpServers.length !== 1 ? 's' : ''}`,\n ].filter(Boolean)\n\n return (\n <Box\n key={plugin.manifest.name}\n flexDirection=\"column\"\n marginBottom={1}\n >\n <Box>\n <Text color={theme.primary} bold>\n {plugin.manifest.displayName || plugin.manifest.name}\n </Text>\n <Text color={SEMANTIC_COLORS.dim}>\n {' '}\n v{plugin.manifest.version}\n </Text>\n {plugin.source.type === 'claude-code' && (\n <Text color=\"#5DADE2\"> [CC]</Text>\n )}\n {!plugin.enabled && (\n <Text color={theme.warning}> (disabled)</Text>\n )}\n </Box>\n {plugin.manifest.description && (\n <Text color={SEMANTIC_COLORS.dim}>\n {' '}\n {plugin.manifest.description}\n </Text>\n )}\n {componentCounts.length > 0 && (\n <Text color={SEMANTIC_COLORS.dim}>\n {' '}\n Components: {componentCounts.join(', ')}\n </Text>\n )}\n <Text color={SEMANTIC_COLORS.dim}>\n {' '}\n Location:{' '}\n {plugin.source.type === 'local'\n ? plugin.source.path\n : plugin.location}\n </Text>\n </Box>\n )\n })}\n </Box>\n )\n}\n\n// ============================================================================\n// Component: Plugin Info View\n// ============================================================================\n\ninterface PluginInfoProps {\n pluginName: string\n onDone: () => void\n}\n\nconst PluginInfo: React.FC<PluginInfoProps> = ({ pluginName, onDone }) => {\n const [plugin, setPlugin] = useState<LoadedPlugin | null>(null)\n const [loading, setLoading] = useState(true)\n const [error, setError] = useState<string | null>(null)\n const theme = getTheme()\n\n useEffect(() => {\n try {\n const loadedPlugin = getPlugin(pluginName)\n if (!loadedPlugin) {\n setError(`Plugin \"${pluginName}\" not found`)\n } else {\n setPlugin(loadedPlugin)\n }\n } catch (err) {\n setError(err instanceof Error ? err.message : String(err))\n } finally {\n setLoading(false)\n onDone()\n }\n }, [pluginName, onDone])\n\n if (loading) {\n return <Text color={theme.primary}>Loading plugin info...</Text>\n }\n\n if (error || !plugin) {\n return <Text color={theme.error}>Error: {error || 'Plugin not found'}</Text>\n }\n\n return (\n <Box flexDirection=\"column\">\n <Text bold underline color={theme.success}>\n {plugin.manifest.displayName || plugin.manifest.name}\n </Text>\n <Text>{''}</Text>\n\n <Box flexDirection=\"column\">\n <Text>\n <Text color={theme.primary}>Name:</Text> {plugin.manifest.name}\n </Text>\n <Text>\n <Text color={theme.primary}>Version:</Text> {plugin.manifest.version}\n </Text>\n {plugin.manifest.description && (\n <Text>\n <Text color={theme.primary}>Description:</Text>{' '}\n {plugin.manifest.description}\n </Text>\n )}\n {plugin.manifest.author && (\n <Text>\n <Text color={theme.primary}>Author:</Text> {plugin.manifest.author}\n </Text>\n )}\n {plugin.manifest.license && (\n <Text>\n <Text color={theme.primary}>License:</Text>{' '}\n {plugin.manifest.license}\n </Text>\n )}\n {plugin.manifest.homepage && (\n <Text>\n <Text color={theme.primary}>Homepage:</Text>{' '}\n {plugin.manifest.homepage}\n </Text>\n )}\n {plugin.manifest.repository && (\n <Text>\n <Text color={theme.primary}>Repository:</Text>{' '}\n {plugin.manifest.repository}\n </Text>\n )}\n <Text>\n <Text color={theme.primary}>Location:</Text> {plugin.location}\n </Text>\n <Text>\n <Text color={theme.primary}>Source:</Text> {plugin.source.type}\n </Text>\n <Text>\n <Text color={theme.primary}>Enabled:</Text>{' '}\n {plugin.enabled ? 'Yes' : 'No'}\n </Text>\n </Box>\n\n <Text>{''}</Text>\n <Text bold color={theme.primary}>\n Components:\n </Text>\n\n {plugin.agents.length > 0 && (\n <Box flexDirection=\"column\" marginTop={1}>\n <Text color={theme.success}>Agents ({plugin.agents.length}):</Text>\n {plugin.agents.map(agent => (\n <Text color={SEMANTIC_COLORS.dim}>\n {' '}\n \u2022 {agent.name}\n {agent.config.description ? ` - ${agent.config.description}` : ''}\n </Text>\n ))}\n </Box>\n )}\n\n {plugin.commands.length > 0 && (\n <Box flexDirection=\"column\" marginTop={1}>\n <Text color={theme.success}>\n Commands ({plugin.commands.length}):\n </Text>\n {plugin.commands.map(command => (\n <Text color={SEMANTIC_COLORS.dim}>\n {' '}\n \u2022 /{command.name}\n {command.config.description\n ? ` - ${command.config.description}`\n : ''}\n </Text>\n ))}\n </Box>\n )}\n\n {plugin.skills.length > 0 && (\n <Box flexDirection=\"column\" marginTop={1}>\n <Text color={theme.success}>Skills ({plugin.skills.length}):</Text>\n {plugin.skills.map(skill => (\n <Text color={SEMANTIC_COLORS.dim}>\n {' '}\n \u2022 {skill.name}\n {skill.config.description ? ` - ${skill.config.description}` : ''}\n </Text>\n ))}\n </Box>\n )}\n\n {plugin.hooks.length > 0 && (\n <Box flexDirection=\"column\" marginTop={1}>\n <Text color={theme.success}>Hooks ({plugin.hooks.length}):</Text>\n {plugin.hooks.map(hook => (\n <Text color={SEMANTIC_COLORS.dim}>\n {' '}\n \u2022 {hook.name} ({hook.config.event})\n </Text>\n ))}\n </Box>\n )}\n\n {plugin.mcpServers.length > 0 && (\n <Box flexDirection=\"column\" marginTop={1}>\n <Text color={theme.success}>\n MCP Servers ({plugin.mcpServers.length}):\n </Text>\n {plugin.mcpServers.map(server => (\n <Text color={SEMANTIC_COLORS.dim}>\n {' '}\n \u2022 {server.name} - {server.config.command}\n </Text>\n ))}\n </Box>\n )}\n\n {plugin.agents.length === 0 &&\n plugin.commands.length === 0 &&\n plugin.skills.length === 0 &&\n plugin.hooks.length === 0 &&\n plugin.mcpServers.length === 0 && (\n <Text color={SEMANTIC_COLORS.dim}> No components loaded</Text>\n )}\n\n {plugin.manifest.engines && (\n <>\n <Text>{''}</Text>\n <Text bold color={theme.primary}>\n Requirements:\n </Text>\n {plugin.manifest.engines.minto && (\n <Text color={SEMANTIC_COLORS.dim}>\n {' '}\n Minto: {plugin.manifest.engines.minto}\n </Text>\n )}\n {plugin.manifest.engines['claude-code'] && (\n <Text color={SEMANTIC_COLORS.dim}>\n {' '}\n Claude Code: {plugin.manifest.engines['claude-code']}\n </Text>\n )}\n {plugin.manifest.engines.node && (\n <Text color={SEMANTIC_COLORS.dim}>\n {' '}\n Node: {plugin.manifest.engines.node}\n </Text>\n )}\n </>\n )}\n </Box>\n )\n}\n\n// ============================================================================\n// Component: Plugin Install View\n// ============================================================================\n\ninterface PluginInstallProps {\n pluginSpec: string\n onDone: () => void\n}\n\nconst PluginInstall: React.FC<PluginInstallProps> = ({\n pluginSpec,\n onDone,\n}) => {\n const [status, setStatus] = useState<'installing' | 'success' | 'error'>(\n 'installing',\n )\n const [message, setMessage] = useState('')\n const [installedPath, setInstalledPath] = useState('')\n const theme = getTheme()\n\n useEffect(() => {\n const installPlugin = async () => {\n try {\n // Parse plugin spec: name[@marketplace]\n const [pluginName, marketplaceName] = pluginSpec.split('@')\n\n if (!pluginName) {\n throw new Error('Plugin name is required')\n }\n\n setMessage(\n `Installing plugin \"${pluginName}\"${marketplaceName ? ` from marketplace \"${marketplaceName}\"` : ''}...`,\n )\n\n const path = await installPluginFromMarketplace(\n pluginName,\n marketplaceName,\n )\n\n setInstalledPath(path)\n setMessage(`Successfully installed \"${pluginName}\" to ${path}`)\n setStatus('success')\n } catch (err) {\n if (err instanceof MarketplaceError) {\n setMessage(`Installation failed: ${err.message}`)\n } else {\n setMessage(\n `Installation failed: ${err instanceof Error ? err.message : String(err)}`,\n )\n }\n setStatus('error')\n } finally {\n onDone()\n }\n }\n\n installPlugin()\n }, [pluginSpec, onDone])\n\n const color =\n status === 'success'\n ? theme.success\n : status === 'error'\n ? theme.error\n : theme.primary\n\n return (\n <Box flexDirection=\"column\">\n <Text color={color}>{message}</Text>\n {status === 'success' && (\n <>\n <Text>{''}</Text>\n <Text color={SEMANTIC_COLORS.dim}>\n Plugin is now available. Use /plugin info {pluginSpec.split('@')[0]}{' '}\n to see details.\n </Text>\n </>\n )}\n </Box>\n )\n}\n\n// ============================================================================\n// Component: Plugin Uninstall View\n// ============================================================================\n\ninterface PluginUninstallProps {\n pluginName: string\n onDone: () => void\n}\n\nconst PluginUninstall: React.FC<PluginUninstallProps> = ({\n pluginName,\n onDone,\n}) => {\n const [status, setStatus] = useState<'uninstalling' | 'success' | 'error'>(\n 'uninstalling',\n )\n const [message, setMessage] = useState('')\n const theme = getTheme()\n\n useEffect(() => {\n const uninstallPlugin = () => {\n try {\n setMessage(`Uninstalling plugin \"${pluginName}\"...`)\n\n const plugin = getPlugin(pluginName)\n if (!plugin) {\n throw new Error(`Plugin \"${pluginName}\" not found`)\n }\n\n // Remove plugin directory\n rmSync(plugin.location, { recursive: true, force: true })\n\n setMessage(`Successfully uninstalled \"${pluginName}\"`)\n setStatus('success')\n } catch (err) {\n setMessage(\n `Uninstallation failed: ${err instanceof Error ? err.message : String(err)}`,\n )\n setStatus('error')\n } finally {\n onDone()\n }\n }\n\n uninstallPlugin()\n }, [pluginName, onDone])\n\n const color =\n status === 'success'\n ? theme.success\n : status === 'error'\n ? theme.error\n : theme.primary\n\n return <Text color={color}>{message}</Text>\n}\n\n// ============================================================================\n// Component: Plugin Validate View\n// ============================================================================\n\ninterface PluginValidateProps {\n pluginName?: string\n onDone: () => void\n}\n\nconst PluginValidate: React.FC<PluginValidateProps> = ({\n pluginName,\n onDone,\n}) => {\n const [results, setResults] = useState<\n Array<{ plugin: string; valid: boolean; errors: string[] }>\n >([])\n const [loading, setLoading] = useState(true)\n const theme = getTheme()\n\n useEffect(() => {\n const validatePlugins = () => {\n try {\n const pluginsToValidate = pluginName\n ? [{ name: pluginName, path: '', manifest: undefined }]\n : listPlugins()\n\n const validationResults = pluginsToValidate.map(({ name, path }) => {\n const errors: string[] = []\n\n try {\n const plugin = getPlugin(name)\n\n if (!plugin) {\n errors.push('Plugin not found')\n return { plugin: name, valid: false, errors }\n }\n\n // Validate manifest required fields\n if (!plugin.manifest.name)\n errors.push('Missing required field: name')\n if (!plugin.manifest.version)\n errors.push('Missing required field: version')\n if (!plugin.manifest.description)\n errors.push('Missing required field: description')\n\n // Validate version format\n if (\n plugin.manifest.version &&\n !/^\\d+\\.\\d+\\.\\d+$/.test(plugin.manifest.version)\n ) {\n errors.push('Invalid version format (must be semver: X.Y.Z)')\n }\n\n // Validate name format\n if (\n plugin.manifest.name &&\n !/^[a-z0-9-]+$/.test(plugin.manifest.name)\n ) {\n errors.push(\n 'Invalid name format (must be lowercase alphanumeric with hyphens)',\n )\n }\n\n // Validate component paths exist\n const checkComponents = (items: any[], type: string) => {\n items.forEach(item => {\n if (!item.filePath) {\n errors.push(`${type} \"${item.name}\" has no file path`)\n }\n })\n }\n\n checkComponents(plugin.agents, 'Agent')\n checkComponents(plugin.commands, 'Command')\n checkComponents(plugin.skills, 'Skill')\n\n return { plugin: name, valid: errors.length === 0, errors }\n } catch (err) {\n errors.push(err instanceof Error ? err.message : String(err))\n return { plugin: name, valid: false, errors }\n }\n })\n\n setResults(validationResults)\n } finally {\n setLoading(false)\n onDone()\n }\n }\n\n validatePlugins()\n }, [pluginName, onDone])\n\n if (loading) {\n return <Text color={theme.primary}>Validating plugins...</Text>\n }\n\n return (\n <Box flexDirection=\"column\">\n <Text bold underline color={theme.primary}>\n Plugin Validation Results\n </Text>\n <Text>{''}</Text>\n {results.map(result => (\n <Box flexDirection=\"column\" marginBottom={1}>\n <Box>\n <Text color={result.valid ? theme.success : theme.error}>\n {result.valid ? '\u2713' : '\u2717'}\n </Text>\n <Text> {result.plugin}</Text>\n {result.valid && <Text color={theme.success}> - Valid</Text>}\n </Box>\n {result.errors.length > 0 && (\n <Box flexDirection=\"column\" marginLeft={2}>\n {result.errors.map((error, idx) => (\n <Text color={theme.error}>\u2022 {error}</Text>\n ))}\n </Box>\n )}\n </Box>\n ))}\n </Box>\n )\n}\n\n// ============================================================================\n// Component: Plugin Sync (Claude Code \u2192 Minto)\n// ============================================================================\n\ninterface PluginSyncProps {\n onDone: () => void\n force?: boolean\n clean?: boolean\n dryRun?: boolean\n}\n\nconst PluginSync: React.FC<PluginSyncProps> = ({\n onDone,\n force = false,\n clean = false,\n dryRun = false,\n}) => {\n const [status, setStatus] = useState<'syncing' | 'done' | 'error'>('syncing')\n const [progress, setProgress] = useState(t('commands.plugin.syncStarting'))\n const [result, setResult] = useState<SyncResult | null>(null)\n const [error, setError] = useState<string | null>(null)\n const theme = getTheme()\n\n useEffect(() => {\n const doSync = async () => {\n if (!hasClaudeCodeInstallation()) {\n setError(t('commands.plugin.syncNotFound'))\n setStatus('error')\n onDone()\n return\n }\n\n try {\n const syncResult = await syncFromClaudeCode({\n force,\n clean,\n dryRun,\n onProgress: msg => setProgress(msg),\n })\n setResult(syncResult)\n setStatus('done')\n } catch (err) {\n setError(err instanceof Error ? err.message : String(err))\n setStatus('error')\n } finally {\n onDone()\n }\n }\n\n doSync()\n }, [force, clean, dryRun, onDone])\n\n if (status === 'error') {\n return <Text color={theme.error}>{error}</Text>\n }\n\n if (status === 'syncing') {\n return (\n <Box>\n <SimpleSpinner />\n <Text color={theme.primary}> {progress}</Text>\n </Box>\n )\n }\n\n if (!result) return null\n\n const hasChanges =\n result.installed.length > 0 ||\n result.updated.length > 0 ||\n result.cleaned.length > 0 ||\n result.marketplaces.registered.length > 0\n\n if (!hasChanges && result.failed.length === 0) {\n return (\n <Text color={theme.success}>{t('commands.plugin.syncNoChanges')}</Text>\n )\n }\n\n return (\n <Box flexDirection=\"column\">\n {dryRun && (\n <Text color={theme.warning} bold>\n {t('commands.plugin.syncDryRun')}\n </Text>\n )}\n\n {result.installed.length > 0 && (\n <Box flexDirection=\"column\">\n <Text color={theme.success}>\n Installed ({result.installed.length}):\n </Text>\n {result.installed.map(name => (\n <Box key={name}>\n <Text color={SEMANTIC_COLORS.dim}> + {name}</Text>\n </Box>\n ))}\n </Box>\n )}\n\n {result.updated.length > 0 && (\n <Box flexDirection=\"column\">\n <Text color={theme.primary}>Updated ({result.updated.length}):</Text>\n {result.updated.map(name => (\n <Box key={name}>\n <Text color={SEMANTIC_COLORS.dim}> ~ {name}</Text>\n </Box>\n ))}\n </Box>\n )}\n\n {result.cleaned.length > 0 && (\n <Text color={SEMANTIC_COLORS.dim}>\n {t('commands.plugin.syncCleaned').replace(\n '${count}',\n String(result.cleaned.length),\n )}\n </Text>\n )}\n\n {result.marketplaces.registered.length > 0 && (\n <Box flexDirection=\"column\">\n <Text color={theme.success}>\n {t('commands.plugin.syncMarketplacesRegistered').replace(\n '${count}',\n String(result.marketplaces.registered.length),\n )}\n </Text>\n {result.marketplaces.registered.map(name => (\n <Box key={name}>\n <Text color={SEMANTIC_COLORS.dim}> + {name}</Text>\n </Box>\n ))}\n </Box>\n )}\n\n {result.marketplaces.failed.length > 0 && (\n <Box flexDirection=\"column\">\n <Text color={theme.error}>\n {t('commands.plugin.syncMarketplacesFailed').replace(\n '${count}',\n String(result.marketplaces.failed.length),\n )}\n </Text>\n {result.marketplaces.failed.map(f => (\n <Box key={f.name}>\n <Text color={SEMANTIC_COLORS.dim}>\n {' '}\n ! {f.name}: {f.error}\n </Text>\n </Box>\n ))}\n </Box>\n )}\n\n {result.failed.length > 0 && (\n <Box flexDirection=\"column\">\n <Text color={theme.error}>\n {t('commands.plugin.syncFailed').replace(\n '${count}',\n String(result.failed.length),\n )}\n </Text>\n {result.failed.map(f => (\n <Box key={f.name}>\n <Text color={SEMANTIC_COLORS.dim}>\n {' '}\n ! {f.name}: {f.error}\n </Text>\n </Box>\n ))}\n </Box>\n )}\n\n <Text color={theme.success}>\n {t('commands.plugin.syncComplete')\n .replace('${installed}', String(result.installed.length))\n .replace('${updated}', String(result.updated.length))\n .replace('${skipped}', String(result.skipped.length))}\n </Text>\n </Box>\n )\n}\n\n// ============================================================================\n// Component: Marketplace List View\n// ============================================================================\n\ninterface MarketplaceListProps {\n onDone: () => void\n}\n\nconst MarketplaceListView: React.FC<MarketplaceListProps> = ({ onDone }) => {\n const [marketplaces, setMarketplaces] = useState<RegisteredMarketplace[]>([])\n const [loading, setLoading] = useState(true)\n const theme = getTheme()\n\n useEffect(() => {\n try {\n const registered = listMarketplaces()\n setMarketplaces(registered)\n } finally {\n setLoading(false)\n onDone()\n }\n }, [onDone])\n\n if (loading) {\n return <Text color={theme.primary}>Loading marketplaces...</Text>\n }\n\n if (marketplaces.length === 0) {\n return (\n <Box flexDirection=\"column\">\n <Text color={theme.warning}>No marketplaces registered.</Text>\n <Text color={SEMANTIC_COLORS.dim}>\n Register a marketplace with: /plugin marketplace add &lt;source&gt;\n </Text>\n </Box>\n )\n }\n\n return (\n <Box flexDirection=\"column\">\n <Text bold underline color={theme.success}>\n Registered Marketplaces ({marketplaces.length})\n </Text>\n <Text>{''}</Text>\n {marketplaces.map(marketplace => (\n <Box key={marketplace.name} flexDirection=\"column\" marginBottom={1}>\n <Box>\n <Text color={theme.primary} bold>\n {marketplace.name}\n </Text>\n {!marketplace.enabled && (\n <Text color={theme.warning}> (disabled)</Text>\n )}\n </Box>\n {marketplace.manifest.metadata?.description && (\n <Text color={SEMANTIC_COLORS.dim}>\n {' '}\n {marketplace.manifest.metadata.description}\n </Text>\n )}\n <Text color={SEMANTIC_COLORS.dim}>\n {` Plugins: ${marketplace.manifest.plugins.length}`}\n {` | Owner: ${marketplace.manifest.owner.name}`}\n </Text>\n <Text color={SEMANTIC_COLORS.dim}>\n {` Source: ${marketplace.source.type}`}\n {marketplace.source.type === 'github' &&\n ` (${marketplace.source.repo})`}\n {marketplace.source.type === 'url' &&\n ` (${marketplace.source.url})`}\n {marketplace.source.type === 'local' &&\n ` (${marketplace.source.path})`}\n </Text>\n <Text color={SEMANTIC_COLORS.dim}>\n {` Last updated: ${new Date(marketplace.lastUpdated).toLocaleString()}`}\n </Text>\n </Box>\n ))}\n </Box>\n )\n}\n\n// ============================================================================\n// Component: Marketplace Add View\n// ============================================================================\n\ninterface MarketplaceAddProps {\n source: string\n onDone: () => void\n}\n\nconst MarketplaceAdd: React.FC<MarketplaceAddProps> = ({ source, onDone }) => {\n const [status, setStatus] = useState<'adding' | 'success' | 'error'>('adding')\n const [message, setMessage] = useState('')\n const [marketplace, setMarketplace] = useState<RegisteredMarketplace | null>(\n null,\n )\n const theme = getTheme()\n\n useEffect(() => {\n const addMarketplaceAsync = async () => {\n try {\n setMessage(`Registering marketplace from \"${source}\"...`)\n const registered = await addMarketplace(source)\n setMarketplace(registered)\n setMessage(`Successfully registered marketplace \"${registered.name}\"`)\n setStatus('success')\n } catch (err) {\n if (err instanceof MarketplaceError) {\n setMessage(`Registration failed: ${err.message}`)\n } else {\n setMessage(\n `Registration failed: ${err instanceof Error ? err.message : String(err)}`,\n )\n }\n setStatus('error')\n } finally {\n onDone()\n }\n }\n\n addMarketplaceAsync()\n }, [source, onDone])\n\n const color =\n status === 'success'\n ? theme.success\n : status === 'error'\n ? theme.error\n : theme.primary\n\n return (\n <Box flexDirection=\"column\">\n <Text color={color}>{message}</Text>\n {status === 'success' && marketplace && (\n <>\n <Text>{''}</Text>\n <Text color={SEMANTIC_COLORS.dim}>\n Marketplace contains {marketplace.manifest.plugins.length} plugin(s)\n </Text>\n <Text color={SEMANTIC_COLORS.dim}>\n Use /plugin marketplace list to see all marketplaces\n </Text>\n </>\n )}\n </Box>\n )\n}\n\n// ============================================================================\n// Component: Marketplace Update View\n// ============================================================================\n\ninterface MarketplaceUpdateProps {\n name: string\n onDone: () => void\n}\n\nconst MarketplaceUpdate: React.FC<MarketplaceUpdateProps> = ({\n name,\n onDone,\n}) => {\n const [status, setStatus] = useState<'updating' | 'success' | 'error'>(\n 'updating',\n )\n const [message, setMessage] = useState('')\n const theme = getTheme()\n\n useEffect(() => {\n const updateMarketplaceAsync = async () => {\n try {\n setMessage(`Updating marketplace \"${name}\"...`)\n await updateMarketplace(name)\n setMessage(`Successfully updated marketplace \"${name}\"`)\n setStatus('success')\n } catch (err) {\n if (err instanceof MarketplaceError) {\n setMessage(`Update failed: ${err.message}`)\n } else {\n setMessage(\n `Update failed: ${err instanceof Error ? err.message : String(err)}`,\n )\n }\n setStatus('error')\n } finally {\n onDone()\n }\n }\n\n updateMarketplaceAsync()\n }, [name, onDone])\n\n const color =\n status === 'success'\n ? theme.success\n : status === 'error'\n ? theme.error\n : theme.primary\n\n return <Text color={color}>{message}</Text>\n}\n\n// ============================================================================\n// Component: Marketplace Remove View\n// ============================================================================\n\ninterface MarketplaceRemoveProps {\n name: string\n onDone: () => void\n}\n\nconst MarketplaceRemove: React.FC<MarketplaceRemoveProps> = ({\n name,\n onDone,\n}) => {\n const [status, setStatus] = useState<'removing' | 'success' | 'error'>(\n 'removing',\n )\n const [message, setMessage] = useState('')\n const theme = getTheme()\n\n useEffect(() => {\n const removeMarketplaceSync = () => {\n try {\n setMessage(`Removing marketplace \"${name}\"...`)\n removeMarketplace(name)\n setMessage(`Successfully removed marketplace \"${name}\"`)\n setStatus('success')\n } catch (err) {\n if (err instanceof MarketplaceError) {\n setMessage(`Removal failed: ${err.message}`)\n } else {\n setMessage(\n `Removal failed: ${err instanceof Error ? err.message : String(err)}`,\n )\n }\n setStatus('error')\n } finally {\n onDone()\n }\n }\n\n removeMarketplaceSync()\n }, [name, onDone])\n\n const color =\n status === 'success'\n ? theme.success\n : status === 'error'\n ? theme.error\n : theme.primary\n\n return <Text color={color}>{message}</Text>\n}\n\n// ============================================================================\n// Error Message Component\n// ============================================================================\n\nconst ErrorMessage: React.FC<{ message: string; onDone: () => void }> = ({\n message,\n onDone,\n}) => {\n const theme = getTheme()\n\n React.useEffect(() => {\n onDone()\n }, [onDone])\n\n return <Text color={theme.error}>Error: {message}</Text>\n}\n\n// ============================================================================\n// Interactive Plugin Command (TabbedListView-based)\n// ============================================================================\n\ntype PluginPhase =\n | { type: 'main' }\n | {\n type: 'plugin-actions'\n plugin: string\n marketplace?: string\n from: 'browse' | 'installed'\n }\n | { type: 'marketplace-actions'; marketplace: string }\n | { type: 'add-marketplace' }\n | {\n type: 'batch-action-picker'\n selectedItems: ListItem[]\n from: 'browse' | 'installed'\n }\n | {\n type: 'batch-progress'\n action: 'install' | 'update' | 'uninstall'\n plugins: Array<{ name: string; marketplace?: string }>\n }\n\n/**\n * Compare installed plugin version against marketplace version.\n * Returns version info if an update is available, null otherwise.\n */\nfunction compareVersions(\n installedVersion: string | undefined,\n marketplaceVersion: string | undefined,\n): { hasUpdate: boolean; installed: string; available: string } | null {\n if (!installedVersion || !marketplaceVersion) return null\n if (!semverValid(installedVersion) || !semverValid(marketplaceVersion))\n return null\n try {\n return {\n hasUpdate: semverGt(marketplaceVersion, installedVersion),\n installed: installedVersion,\n available: marketplaceVersion,\n }\n } catch {\n return null\n }\n}\n\n/**\n * Interactive Plugin Command\n *\n * Uses a single TabbedListView instance driven by a phase state machine.\n * All navigation is achieved by swapping props \u2014 zero residual rendering artifacts.\n */\nconst InteractivePluginCommand: React.FC<{ onDone: () => void }> = ({\n onDone,\n}) => {\n const [phase, setPhase] = useState<PluginPhase>({ type: 'main' })\n const [activeTab, setActiveTab] = useState('browse')\n const [searchQuery, setSearchQuery] = useState('')\n const [statusOverlay, setStatusOverlay] = useState<StatusOverlay | null>(null)\n const [marketplaces, setMarketplaces] = useState<RegisteredMarketplace[]>([])\n const [installedPlugins, setInstalledPlugins] = useState<LoadedPlugin[]>([])\n const [selectedIds, setSelectedIds] = useState<Set<string>>(new Set())\n\n // Reload data when returning to main phase\n const reload = useCallback(() => {\n try {\n setMarketplaces(listMarketplaces())\n } catch {\n setMarketplaces([])\n }\n try {\n setInstalledPlugins(loadAllPlugins())\n } catch {\n setInstalledPlugins([])\n }\n }, [])\n\n useEffect(() => {\n if (phase.type === 'main') {\n reload()\n setSearchQuery('')\n setSelectedIds(new Set())\n }\n }, [phase, reload])\n\n // Build installed plugin name set for quick lookup\n const installedNames = useMemo(\n () => new Set(installedPlugins.map(p => p.name)),\n [installedPlugins],\n )\n\n // Find which marketplace a plugin belongs to\n const findPluginMarketplace = useCallback(\n (pluginName: string): string | undefined => {\n for (const m of marketplaces) {\n if (m.manifest.plugins.some(p => p.name === pluginName)) {\n return m.name\n }\n }\n return undefined\n },\n [marketplaces],\n )\n\n // Compute multi-select action label based on tab and selection count\n const multiSelectActionLabel = useMemo(() => {\n if (phase.type !== 'main' || selectedIds.size === 0) return undefined\n if (activeTab === 'browse' || activeTab === 'installed') {\n return `${t('commands.plugin.batchAction')} (${selectedIds.size})`\n }\n return undefined\n }, [phase, activeTab, selectedIds.size])\n\n // Whether multi-select is enabled for current view\n const multiSelectEnabled =\n phase.type === 'main' &&\n (activeTab === 'browse' || activeTab === 'installed')\n\n // Determine tabs, items, title based on current phase\n const { tabs, items, title, footerHint, searchEnabled, searchPlaceholder } =\n useMemo(() => {\n switch (phase.type) {\n case 'main': {\n const mainTabs: TabDefinition[] = [\n { id: 'browse', label: t('commands.plugin.tabBrowse') },\n { id: 'installed', label: t('commands.plugin.tabInstalled') },\n { id: 'marketplaces', label: t('commands.plugin.tabMarketplaces') },\n ]\n\n let mainItems: ListItem[] = []\n\n if (activeTab === 'browse') {\n for (const m of marketplaces) {\n for (const p of m.manifest.plugins) {\n const installed = installedPlugins.find(\n ip => ip.name === p.name,\n )\n let metadata: string | undefined\n if (installed) {\n const versionInfo = compareVersions(\n installed.manifest.version,\n p.version,\n )\n if (versionInfo?.hasUpdate) {\n metadata = t('commands.plugin.updateAvailable')\n .replace('{installed}', versionInfo.installed)\n .replace('{available}', versionInfo.available)\n } else {\n metadata = 'installed'\n }\n }\n mainItems.push({\n id: `${m.name}:${p.name}`,\n label: p.name,\n description: p.description || '',\n category: m.name,\n status: installedNames.has(p.name) ? 'enabled' : undefined,\n metadata,\n data: { pluginName: p.name, marketplaceName: m.name },\n })\n }\n }\n } else if (activeTab === 'installed') {\n for (const p of installedPlugins) {\n const mName =\n p.source.type === 'claude-code'\n ? p.source.marketplace\n : p.source.type === 'marketplace'\n ? p.source.marketplace\n : findPluginMarketplace(p.name)\n const sourceTag = p.source.type === 'claude-code' ? ' [CC]' : ''\n mainItems.push({\n id: p.name,\n label: `${p.manifest.displayName || p.name}${sourceTag}`,\n description: p.manifest.description || '',\n status: p.enabled ? 'enabled' : 'disabled',\n category: mName || t('commands.plugin.local'),\n data: { pluginName: p.name, source: p.source },\n })\n }\n } else if (activeTab === 'marketplaces') {\n for (const m of marketplaces) {\n mainItems.push({\n id: m.name,\n label: m.name,\n description: `${m.manifest.plugins.length} plugins \u00B7 ${formatMarketplacePath(m.source)} \u00B7 ${formatTimeAgo(m.lastUpdated)}`,\n status: m.enabled ? 'enabled' : 'disabled',\n data: { marketplaceName: m.name },\n })\n }\n mainItems.push({\n id: 'add-new',\n label: `+ ${t('commands.plugin.addMarketplace')}`,\n description: 'Register a new plugin marketplace',\n })\n }\n\n const isMultiSelectTab =\n activeTab === 'browse' || activeTab === 'installed'\n return {\n tabs: mainTabs,\n items: mainItems,\n title: 'Plugins',\n footerHint: isMultiSelectTab\n ? t('commands.plugin.footerHintMultiSelect')\n : t('commands.plugin.footerHint'),\n searchEnabled: true,\n searchPlaceholder: undefined,\n }\n }\n\n case 'plugin-actions': {\n const actionItems: ListItem[] = []\n\n if (phase.from === 'browse') {\n actionItems.push({\n id: 'install',\n label: t('commands.plugin.install'),\n description: `Install from ${phase.marketplace || 'marketplace'}`,\n })\n } else {\n // installed\n const plugin = installedPlugins.find(p => p.name === phase.plugin)\n const isEnabled = plugin?.enabled ?? true\n\n actionItems.push({\n id: 'toggle',\n label: isEnabled\n ? t('commands.plugin.disable')\n : t('commands.plugin.enable'),\n description: isEnabled\n ? 'Disable this plugin'\n : 'Enable this plugin',\n })\n if (phase.marketplace) {\n actionItems.push({\n id: 'update',\n label: t('commands.plugin.update'),\n description: 'Re-install from marketplace source',\n })\n }\n actionItems.push({\n id: 'uninstall',\n label: t('commands.plugin.uninstall'),\n description: 'Remove this plugin',\n })\n }\n\n actionItems.push({\n id: 'back',\n label: t('commands.plugin.back'),\n })\n\n return {\n tabs: [\n { id: 'actions', label: t('commands.plugin.actions') },\n ] as TabDefinition[],\n items: actionItems,\n title: phase.plugin,\n footerHint: '\u2191\u2193 Navigate \u00B7 Enter Select \u00B7 Esc Back',\n searchEnabled: false,\n searchPlaceholder: undefined,\n }\n }\n\n case 'marketplace-actions': {\n const mActionItems: ListItem[] = [\n {\n id: 'update',\n label: t('commands.plugin.marketplaceUpdate'),\n description: 'Re-fetch marketplace manifest',\n },\n {\n id: 'browse',\n label: t('commands.plugin.browsePlugins'),\n description: 'View plugins from this marketplace',\n },\n {\n id: 'remove',\n label: t('commands.plugin.marketplaceRemove'),\n description: 'Unregister this marketplace',\n },\n {\n id: 'back',\n label: t('commands.plugin.back'),\n },\n ]\n\n return {\n tabs: [\n { id: 'actions', label: t('commands.plugin.actions') },\n ] as TabDefinition[],\n items: mActionItems,\n title: phase.marketplace,\n footerHint: '\u2191\u2193 Navigate \u00B7 Enter Select \u00B7 Esc Back',\n searchEnabled: false,\n searchPlaceholder: undefined,\n }\n }\n\n case 'batch-action-picker': {\n const pickerItems: ListItem[] = []\n const sel = phase.selectedItems\n\n if (phase.from === 'installed') {\n // Count plugins with marketplace source (updatable)\n const updatableCount = sel.filter(item => {\n const pluginName = (item.data as any)?.pluginName as string\n return findPluginMarketplace(pluginName) !== undefined\n }).length\n if (updatableCount > 0) {\n pickerItems.push({\n id: 'batch-update',\n label: t('commands.plugin.batchUpdateAction').replace(\n '{count}',\n String(updatableCount),\n ),\n })\n }\n pickerItems.push({\n id: 'batch-uninstall',\n label: t('commands.plugin.batchDeleteAction').replace(\n '{count}',\n String(sel.length),\n ),\n })\n // Count disabled plugins (can be enabled)\n const disabledCount = sel.filter(item => {\n const plugin = installedPlugins.find(\n p => p.name === (item.data as any)?.pluginName,\n )\n return plugin && !plugin.enabled\n }).length\n if (disabledCount > 0) {\n pickerItems.push({\n id: 'batch-enable',\n label: t('commands.plugin.batchEnableAction').replace(\n '{count}',\n String(disabledCount),\n ),\n })\n }\n // Count enabled plugins (can be disabled)\n const enabledCount = sel.filter(item => {\n const plugin = installedPlugins.find(\n p => p.name === (item.data as any)?.pluginName,\n )\n return plugin && plugin.enabled\n }).length\n if (enabledCount > 0) {\n pickerItems.push({\n id: 'batch-disable',\n label: t('commands.plugin.batchDisableAction').replace(\n '{count}',\n String(enabledCount),\n ),\n })\n }\n } else {\n // from === 'browse'\n const notInstalledCount = sel.filter(\n item => !installedNames.has((item.data as any)?.pluginName),\n ).length\n if (notInstalledCount > 0) {\n pickerItems.push({\n id: 'batch-install',\n label: t('commands.plugin.batchInstallAction').replace(\n '{count}',\n String(notInstalledCount),\n ),\n })\n }\n const alreadyInstalledCount = sel.filter(item =>\n installedNames.has((item.data as any)?.pluginName),\n ).length\n if (alreadyInstalledCount > 0) {\n pickerItems.push({\n id: 'batch-update',\n label: t('commands.plugin.batchUpdateAction').replace(\n '{count}',\n String(alreadyInstalledCount),\n ),\n })\n }\n }\n\n pickerItems.push({\n id: 'back',\n label: t('commands.plugin.back'),\n })\n\n return {\n tabs: [\n {\n id: 'actions',\n label: t('commands.plugin.batchActionPickerTitle'),\n },\n ] as TabDefinition[],\n items: pickerItems,\n title: t('commands.plugin.batchActionPickerTitle'),\n footerHint: '\u2191\u2193 Navigate \u00B7 Enter Select \u00B7 Esc Back',\n searchEnabled: false,\n searchPlaceholder: undefined,\n }\n }\n\n case 'batch-progress': {\n // batch-progress is driven by the effect + statusOverlay;\n // return empty shell so TabbedListView has valid props\n return {\n tabs: [\n { id: 'progress', label: t('common.loading') },\n ] as TabDefinition[],\n items: [] as ListItem[],\n title: 'Plugins',\n footerHint: '',\n searchEnabled: false,\n searchPlaceholder: undefined,\n }\n }\n\n case 'add-marketplace': {\n const helpItems: ListItem[] = [\n {\n id: 'example-github',\n label: 'owner/repo',\n description: 'GitHub shorthand',\n },\n {\n id: 'example-https',\n label: 'https://github.com/owner/repo.git',\n description: 'HTTPS URL',\n },\n {\n id: 'example-local',\n label: './path/to/local',\n description: 'Local path',\n },\n ]\n\n return {\n tabs: [\n {\n id: 'add',\n label: t('commands.plugin.marketplaceAdd'),\n },\n ] as TabDefinition[],\n items: helpItems,\n title: t('commands.plugin.addMarketplace'),\n footerHint: t('commands.plugin.addFooterHint'),\n searchEnabled: true,\n searchPlaceholder: t('commands.plugin.addMarketplacePlaceholder'),\n }\n }\n default:\n return {\n tabs: [],\n items: [],\n title: '',\n footerHint: '',\n searchEnabled: false,\n searchPlaceholder: undefined,\n }\n }\n }, [\n phase,\n activeTab,\n marketplaces,\n installedPlugins,\n installedNames,\n findPluginMarketplace,\n ])\n\n // Handle tab change \u2014 also reset search and selections\n const handleTabChange = useCallback((tabId: string) => {\n setActiveTab(tabId)\n setSearchQuery('')\n setSelectedIds(new Set())\n }, [])\n\n // Handle selection toggle for multi-select\n const handleSelectionChange = useCallback(\n (itemId: string, selected: boolean) => {\n setSelectedIds(prev => {\n const next = new Set(prev)\n if (selected) {\n next.add(itemId)\n } else {\n next.delete(itemId)\n }\n return next\n })\n },\n [],\n )\n\n // Handle multi-select \u2192 route to batch action picker\n const handleMultiSelect = useCallback(\n (selectedItems: ListItem[]) => {\n if (activeTab === 'browse' || activeTab === 'installed') {\n setPhase({\n type: 'batch-action-picker',\n selectedItems,\n from: activeTab as 'browse' | 'installed',\n })\n }\n },\n [activeTab],\n )\n\n // Batch execution effect\n useEffect(() => {\n if (phase.type !== 'batch-progress') return undefined\n\n let cancelled = false\n const { action, plugins } = phase\n\n const executeBatch = async () => {\n let successCount = 0\n let failCount = 0\n const errors: string[] = []\n\n for (let i = 0; i < plugins.length; i++) {\n if (cancelled) return\n\n const plugin = plugins[i]\n const progressKey =\n action === 'install'\n ? 'commands.plugin.batchInstalling'\n : action === 'update'\n ? 'commands.plugin.batchUpdating'\n : 'commands.plugin.batchUninstalling'\n\n setStatusOverlay({\n type: 'loading',\n message: t(progressKey)\n .replace('{current}', String(i + 1))\n .replace('{total}', String(plugins.length))\n .replace('{name}', plugin.name),\n })\n\n try {\n if (action === 'uninstall') {\n await uninstallPlugin(plugin.name)\n } else {\n await installPluginFromMarketplace(plugin.name, plugin.marketplace)\n }\n successCount++\n } catch (err) {\n failCount++\n const msg = err instanceof Error ? err.message : String(err)\n if (errors.length < 3) {\n errors.push(`${plugin.name}: ${msg}`)\n }\n }\n }\n\n if (cancelled) return\n\n // Build summary message\n const parts: string[] = []\n if (successCount > 0) {\n const countKey =\n action === 'install'\n ? 'commands.plugin.batchInstalledCount'\n : action === 'update'\n ? 'commands.plugin.batchUpdatedCount'\n : 'commands.plugin.batchUninstalledCount'\n parts.push(t(countKey).replace('{count}', String(successCount)))\n }\n if (failCount > 0) {\n parts.push(\n t('commands.plugin.batchFailedCount').replace(\n '{count}',\n String(failCount),\n ),\n )\n if (errors.length > 0) {\n parts.push(errors.join('\\n'))\n }\n }\n\n setStatusOverlay({\n type: failCount === 0 ? 'success' : 'error',\n message: parts.join('\\n'),\n })\n setSelectedIds(new Set())\n }\n\n executeBatch()\n\n return () => {\n cancelled = true\n }\n }, [phase])\n\n // Handle status overlay dismiss \u2192 return to main\n const handleStatusDismiss = useCallback(() => {\n setStatusOverlay(null)\n setPhase({ type: 'main' })\n }, [])\n\n // Handle ESC / back navigation\n const handleBack = useCallback(() => {\n if (statusOverlay && statusOverlay.type !== 'loading') {\n handleStatusDismiss()\n return\n }\n if (phase.type === 'main') {\n onDone()\n } else {\n setPhase({ type: 'main' })\n setSearchQuery('')\n }\n }, [phase, statusOverlay, onDone, handleStatusDismiss])\n\n // Handle close (also ESC at top level)\n const handleClose = useCallback(() => {\n if (statusOverlay && statusOverlay.type !== 'loading') {\n handleStatusDismiss()\n return\n }\n if (phase.type === 'main') {\n onDone()\n } else {\n setPhase({ type: 'main' })\n setSearchQuery('')\n }\n }, [phase, statusOverlay, onDone, handleStatusDismiss])\n\n // Handle search submit (for add-marketplace)\n const handleSearchSubmit = useCallback(\n async (query: string) => {\n if (phase.type !== 'add-marketplace' || !query.trim()) return\n\n setStatusOverlay({\n type: 'loading',\n message: t('commands.plugin.marketplaceAdding'),\n })\n\n try {\n await addMarketplace(query.trim())\n setStatusOverlay({\n type: 'success',\n message: t('commands.plugin.marketplaceAddSuccess'),\n })\n } catch (err) {\n const msg = err instanceof Error ? err.message : String(err)\n setStatusOverlay({\n type: 'error',\n message: `${t('commands.plugin.marketplaceAddFailed')}: ${msg}`,\n })\n }\n },\n [phase],\n )\n\n // Handle item selection\n const handleSelect = useCallback(\n async (item: ListItem) => {\n switch (phase.type) {\n case 'main': {\n if (activeTab === 'browse') {\n const data = item.data as {\n pluginName: string\n marketplaceName: string\n }\n setPhase({\n type: 'plugin-actions',\n plugin: data.pluginName,\n marketplace: data.marketplaceName,\n from: 'browse',\n })\n } else if (activeTab === 'installed') {\n const data = item.data as { pluginName: string }\n const mName = findPluginMarketplace(data.pluginName)\n setPhase({\n type: 'plugin-actions',\n plugin: data.pluginName,\n marketplace: mName,\n from: 'installed',\n })\n } else if (activeTab === 'marketplaces') {\n if (item.id === 'add-new') {\n setPhase({ type: 'add-marketplace' })\n setSearchQuery('')\n } else {\n const data = item.data as { marketplaceName: string }\n setPhase({\n type: 'marketplace-actions',\n marketplace: data.marketplaceName,\n })\n }\n }\n break\n }\n\n case 'plugin-actions': {\n if (item.id === 'back') {\n setPhase({ type: 'main' })\n return\n }\n\n if (item.id === 'install') {\n setStatusOverlay({\n type: 'loading',\n message: t('commands.plugin.installing'),\n })\n try {\n await installPluginFromMarketplace(\n phase.plugin,\n phase.marketplace,\n )\n setStatusOverlay({\n type: 'success',\n message: t('commands.plugin.installSuccess'),\n })\n } catch (err) {\n const msg = err instanceof Error ? err.message : String(err)\n setStatusOverlay({\n type: 'error',\n message: `${t('commands.plugin.installFailed')}: ${msg}`,\n })\n }\n } else if (item.id === 'toggle') {\n try {\n togglePluginEnabled(phase.plugin)\n setStatusOverlay({\n type: 'success',\n message: t('commands.plugin.toggleSuccess'),\n })\n } catch (err) {\n const msg = err instanceof Error ? err.message : String(err)\n setStatusOverlay({ type: 'error', message: msg })\n }\n } else if (item.id === 'update') {\n setStatusOverlay({\n type: 'loading',\n message: t('commands.plugin.updating'),\n })\n try {\n await installPluginFromMarketplace(\n phase.plugin,\n phase.marketplace,\n )\n setStatusOverlay({\n type: 'success',\n message: t('commands.plugin.updateSuccess'),\n })\n } catch (err) {\n const msg = err instanceof Error ? err.message : String(err)\n setStatusOverlay({\n type: 'error',\n message: `${t('commands.plugin.updateFailed')}: ${msg}`,\n })\n }\n } else if (item.id === 'uninstall') {\n setStatusOverlay({\n type: 'loading',\n message: t('commands.plugin.uninstalling'),\n })\n try {\n await uninstallPlugin(phase.plugin)\n setStatusOverlay({\n type: 'success',\n message: t('commands.plugin.uninstallSuccess'),\n })\n } catch (err) {\n const msg = err instanceof Error ? err.message : String(err)\n setStatusOverlay({\n type: 'error',\n message: `${t('commands.plugin.uninstallFailed')}: ${msg}`,\n })\n }\n }\n break\n }\n\n case 'marketplace-actions': {\n if (item.id === 'back') {\n setPhase({ type: 'main' })\n return\n }\n\n if (item.id === 'update') {\n setStatusOverlay({\n type: 'loading',\n message: t('commands.plugin.marketplaceUpdating'),\n })\n try {\n await updateMarketplace(phase.marketplace)\n setStatusOverlay({\n type: 'success',\n message: t('commands.plugin.marketplaceUpdateSuccess'),\n })\n } catch (err) {\n const msg = err instanceof Error ? err.message : String(err)\n setStatusOverlay({\n type: 'error',\n message: `${t('commands.plugin.marketplaceUpdateFailed')}: ${msg}`,\n })\n }\n } else if (item.id === 'browse') {\n setPhase({ type: 'main' })\n setActiveTab('browse')\n setSearchQuery(phase.marketplace)\n } else if (item.id === 'remove') {\n setStatusOverlay({\n type: 'loading',\n message: t('commands.plugin.marketplaceRemoving'),\n })\n try {\n removeMarketplace(phase.marketplace)\n setStatusOverlay({\n type: 'success',\n message: t('commands.plugin.marketplaceRemoveSuccess'),\n })\n } catch (err) {\n const msg = err instanceof Error ? err.message : String(err)\n setStatusOverlay({ type: 'error', message: msg })\n }\n }\n break\n }\n\n case 'batch-action-picker': {\n if (item.id === 'back') {\n setPhase({ type: 'main' })\n return\n }\n\n const sel = phase.selectedItems\n\n if (item.id === 'batch-install') {\n const toInstall = sel\n .filter(si => !installedNames.has((si.data as any)?.pluginName))\n .map(si => ({\n name: (si.data as any).pluginName as string,\n marketplace: (si.data as any).marketplaceName as\n | string\n | undefined,\n }))\n if (toInstall.length === 0) {\n setStatusOverlay({\n type: 'error',\n message: t('commands.plugin.batchAllAlreadyInstalled'),\n })\n return\n }\n setPhase({\n type: 'batch-progress',\n action: 'install',\n plugins: toInstall,\n })\n } else if (item.id === 'batch-update') {\n const toUpdate = sel\n .filter(si => {\n const pluginName = (si.data as any)?.pluginName as string\n return findPluginMarketplace(pluginName) !== undefined\n })\n .map(si => {\n const pluginName = (si.data as any).pluginName as string\n return {\n name: pluginName,\n marketplace: findPluginMarketplace(pluginName),\n }\n })\n if (toUpdate.length === 0) {\n setStatusOverlay({\n type: 'error',\n message: t('commands.plugin.batchNoUpdatable'),\n })\n return\n }\n setPhase({\n type: 'batch-progress',\n action: 'update',\n plugins: toUpdate,\n })\n } else if (item.id === 'batch-uninstall') {\n const toUninstall = sel.map(si => ({\n name: (si.data as any).pluginName as string,\n }))\n setPhase({\n type: 'batch-progress',\n action: 'uninstall',\n plugins: toUninstall,\n })\n } else if (item.id === 'batch-enable') {\n // Synchronous operation\n let count = 0\n for (const si of sel) {\n const pluginName = (si.data as any)?.pluginName as string\n const plugin = installedPlugins.find(p => p.name === pluginName)\n if (plugin && !plugin.enabled) {\n try {\n enablePlugin(pluginName)\n count++\n } catch {\n // skip failures silently\n }\n }\n }\n setStatusOverlay({\n type: 'success',\n message: t('commands.plugin.batchEnabledCount').replace(\n '{count}',\n String(count),\n ),\n })\n setSelectedIds(new Set())\n } else if (item.id === 'batch-disable') {\n // Synchronous operation\n let count = 0\n for (const si of sel) {\n const pluginName = (si.data as any)?.pluginName as string\n const plugin = installedPlugins.find(p => p.name === pluginName)\n if (plugin && plugin.enabled) {\n try {\n disablePlugin(pluginName)\n count++\n } catch {\n // skip failures silently\n }\n }\n }\n setStatusOverlay({\n type: 'success',\n message: t('commands.plugin.batchDisabledCount').replace(\n '{count}',\n String(count),\n ),\n })\n setSelectedIds(new Set())\n }\n break\n }\n\n case 'add-marketplace': {\n // Clicking an example copies label to search\n setSearchQuery(item.label)\n break\n }\n }\n },\n [phase, activeTab, findPluginMarketplace, installedPlugins, installedNames],\n )\n\n // Determine current tab for rendering\n const currentTab =\n phase.type === 'main'\n ? activeTab\n : phase.type === 'plugin-actions' ||\n phase.type === 'marketplace-actions' ||\n phase.type === 'batch-action-picker'\n ? 'actions'\n : phase.type === 'batch-progress'\n ? 'progress'\n : 'add'\n\n return (\n <TabbedListView\n title={title}\n tabs={tabs}\n activeTab={currentTab}\n onTabChange={handleTabChange}\n items={items}\n searchEnabled={searchEnabled}\n searchPlaceholder={searchPlaceholder}\n searchQuery={searchQuery}\n onSearchChange={setSearchQuery}\n onSearchSubmit={\n phase.type === 'add-marketplace' ? handleSearchSubmit : undefined\n }\n onSelect={handleSelect}\n onClose={handleClose}\n onBack={handleBack}\n statusOverlay={statusOverlay}\n footerHint={footerHint}\n groupByCategory={activeTab === 'browse' || activeTab === 'installed'}\n statusDismissHint=\"Enter Continue \u00B7 Esc Back\"\n multiSelect={multiSelectEnabled}\n selectedIds={selectedIds}\n onSelectionChange={handleSelectionChange}\n onMultiSelect={handleMultiSelect}\n multiSelectActionLabel={multiSelectActionLabel}\n />\n )\n}\n\n// ============================================================================\n// Legacy Plugin Command Router (CLI arguments)\n// ============================================================================\n\nconst LegacyPluginCommand: React.FC<{ args: string; onDone: () => void }> = ({\n args,\n onDone,\n}) => {\n const theme = getTheme()\n const parts = args.trim().split(/\\s+/).filter(Boolean)\n const subcommand = parts[0]\n const subArgs = parts.slice(1)\n\n // Use effect to call onDone after render for help/error cases\n React.useEffect(() => {\n // Only call onDone if we're showing static content (help or errors)\n if (!subcommand || subcommand === 'help' || subcommand === '--help') {\n onDone()\n }\n }, [subcommand, onDone])\n\n // Help text\n if (!subcommand || subcommand === 'help' || subcommand === '--help') {\n return (\n <Box flexDirection=\"column\">\n <Text bold underline color={theme.primary}>\n Plugin Management Commands\n </Text>\n <Text>{''}</Text>\n <Text>\n <Text color={theme.success}>/plugin list</Text> - List all installed\n plugins\n </Text>\n <Text>\n <Text color={theme.success}>/plugin info &lt;name&gt;</Text> - Show\n detailed plugin information\n </Text>\n <Text>\n <Text color={theme.success}>\n /plugin install &lt;name&gt;[@marketplace]\n </Text>{' '}\n - Install plugin from marketplace\n </Text>\n <Text>\n <Text color={theme.success}>/plugin uninstall &lt;name&gt;</Text> -\n Remove installed plugin\n </Text>\n <Text>\n <Text color={theme.success}>/plugin validate [name]</Text> - Validate\n plugin manifest and components\n </Text>\n <Text>\n <Text color={theme.success}>\n /plugin sync [--force] [--clean] [--dry-run]\n </Text>{' '}\n - {t('commands.plugin.syncDesc')}\n </Text>\n <Text>{''}</Text>\n <Text bold color={theme.primary}>\n Marketplace Commands:\n </Text>\n <Text>\n <Text color={theme.success}>\n /plugin marketplace add &lt;source&gt;\n </Text>{' '}\n - Register new marketplace\n </Text>\n <Text>\n <Text color={theme.success}>/plugin marketplace list</Text> - List\n registered marketplaces\n </Text>\n <Text>\n <Text color={theme.success}>\n /plugin marketplace update &lt;name&gt;\n </Text>{' '}\n - Update marketplace manifest\n </Text>\n <Text>\n <Text color={theme.success}>\n /plugin marketplace remove &lt;name&gt;\n </Text>{' '}\n - Unregister marketplace\n </Text>\n <Text>{''}</Text>\n <Text color={SEMANTIC_COLORS.dim}>Examples:</Text>\n <Text color={SEMANTIC_COLORS.dim}> /plugin list</Text>\n <Text color={SEMANTIC_COLORS.dim}> /plugin info my-plugin</Text>\n <Text color={SEMANTIC_COLORS.dim}>\n {' '}\n /plugin install awesome-plugin@official\n </Text>\n <Text color={SEMANTIC_COLORS.dim}>\n {' '}\n /plugin marketplace add owner/repo\n </Text>\n </Box>\n )\n }\n\n // Route subcommands\n switch (subcommand) {\n case 'list':\n return <PluginList onDone={onDone} />\n\n case 'info':\n if (subArgs.length === 0) {\n return (\n <ErrorMessage\n message=\"Plugin name required. Usage: /plugin info <name>\"\n onDone={onDone}\n />\n )\n }\n return <PluginInfo pluginName={subArgs[0]} onDone={onDone} />\n\n case 'install':\n if (subArgs.length === 0) {\n return (\n <ErrorMessage\n message=\"Plugin spec required. Usage: /plugin install <name>[@marketplace]\"\n onDone={onDone}\n />\n )\n }\n return <PluginInstall pluginSpec={subArgs[0]} onDone={onDone} />\n\n case 'uninstall':\n if (subArgs.length === 0) {\n return (\n <ErrorMessage\n message=\"Plugin name required. Usage: /plugin uninstall <name>\"\n onDone={onDone}\n />\n )\n }\n return <PluginUninstall pluginName={subArgs[0]} onDone={onDone} />\n\n case 'validate':\n return <PluginValidate pluginName={subArgs[0]} onDone={onDone} />\n\n case 'sync':\n return (\n <PluginSync\n onDone={onDone}\n force={subArgs.includes('--force')}\n clean={subArgs.includes('--clean')}\n dryRun={subArgs.includes('--dry-run')}\n />\n )\n\n case 'marketplace':\n const marketplaceSubcommand = subArgs[0]\n const marketplaceArgs = subArgs.slice(1)\n\n switch (marketplaceSubcommand) {\n case 'list':\n return <MarketplaceListView onDone={onDone} />\n\n case 'add':\n if (marketplaceArgs.length === 0) {\n return (\n <ErrorMessage\n message=\"Source required. Usage: /plugin marketplace add <source>\"\n onDone={onDone}\n />\n )\n }\n return <MarketplaceAdd source={marketplaceArgs[0]} onDone={onDone} />\n\n case 'update':\n if (marketplaceArgs.length === 0) {\n return (\n <ErrorMessage\n message=\"Marketplace name required. Usage: /plugin marketplace update <name>\"\n onDone={onDone}\n />\n )\n }\n return <MarketplaceUpdate name={marketplaceArgs[0]} onDone={onDone} />\n\n case 'remove':\n if (marketplaceArgs.length === 0) {\n return (\n <ErrorMessage\n message=\"Marketplace name required. Usage: /plugin marketplace remove <name>\"\n onDone={onDone}\n />\n )\n }\n return <MarketplaceRemove name={marketplaceArgs[0]} onDone={onDone} />\n\n default:\n return (\n <ErrorMessage\n message={`Unknown marketplace subcommand: ${marketplaceSubcommand}. Use /plugin help for usage.`}\n onDone={onDone}\n />\n )\n }\n\n default:\n return (\n <ErrorMessage\n message={`Unknown subcommand: ${subcommand}. Use /plugin help for usage.`}\n onDone={onDone}\n />\n )\n }\n}\n\n// ============================================================================\n// Main Plugin Command Router\n// ============================================================================\n\n/**\n * Main Plugin Command component that routes between interactive and legacy modes.\n *\n * - If no args provided: Use new interactive menu UI\n * - If args provided: Use legacy command-line interface for backward compatibility\n */\nconst PluginCommand: React.FC<{ args: string; onDone: () => void }> = ({\n args,\n onDone,\n}) => {\n // Check if user provided command-line arguments\n if (args.trim()) {\n // Use legacy CLI mode for backward compatibility\n return <LegacyPluginCommand args={args} onDone={onDone} />\n } else {\n // Use new interactive UI when no args provided\n return <InteractivePluginCommand onDone={onDone} />\n }\n}\n\n// ============================================================================\n// Command Export\n// ============================================================================\n\nconst plugin = {\n type: 'local-jsx',\n name: 'plugin',\n description: 'Manage plugins and plugin marketplaces (interactive)',\n isEnabled: true,\n isHidden: false,\n hidePromptInput: true,\n aliases: ['plugins'],\n async call(onDone, _context) {\n // For commands that need args, we parse from user input\n // Since this is a local-jsx command, args are already parsed\n return <PluginCommand args=\"\" onDone={onDone} />\n },\n userFacingName() {\n return 'plugin'\n },\n} satisfies Command\n\nexport default plugin\n"],
5
- "mappings": "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",
6
- "names": ["plugin", "uninstallPlugin"]
7
- }
@@ -1,18 +0,0 @@
1
- import { setTerminalTitle } from "../utils/terminal.js";
2
- const quit = {
3
- name: "quit",
4
- description: "Exit Minto",
5
- aliases: ["exit", "q"],
6
- isEnabled: true,
7
- isHidden: false,
8
- type: "local",
9
- userFacingName: () => "quit",
10
- async call(args, context) {
11
- setTerminalTitle("");
12
- process.exit(0);
13
- }
14
- };
15
- export {
16
- quit
17
- };
18
- //# sourceMappingURL=quit.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/commands/quit.tsx"],
4
- "sourcesContent": ["import type { Command } from '../commands'\nimport { setTerminalTitle } from '@utils/terminal'\n\n/**\n * /quit slash command\n *\n * Simple exit: clear terminal title and call process.exit(0)\n * Cost summary is printed by useCostSummary's process.on('exit') handler\n */\nexport const quit: Command = {\n name: 'quit',\n description: 'Exit Minto',\n aliases: ['exit', 'q'],\n isEnabled: true,\n isHidden: false,\n type: 'local',\n userFacingName: () => 'quit',\n async call(args, context) {\n setTerminalTitle('')\n process.exit(0)\n },\n}\n"],
5
- "mappings": "AACA,SAAS,wBAAwB;AAQ1B,MAAM,OAAgB;AAAA,EAC3B,MAAM;AAAA,EACN,aAAa;AAAA,EACb,SAAS,CAAC,QAAQ,GAAG;AAAA,EACrB,WAAW;AAAA,EACX,UAAU;AAAA,EACV,MAAM;AAAA,EACN,gBAAgB,MAAM;AAAA,EACtB,MAAM,KAAK,MAAM,SAAS;AACxB,qBAAiB,EAAE;AACnB,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;",
6
- "names": []
7
- }
@@ -1,48 +0,0 @@
1
- import {
2
- reloadCustomCommands,
3
- reloadPluginCommands
4
- } from "../services/customCommands.js";
5
- import { clearSkillsCache } from "../utils/skillLoader.js";
6
- import { getCommands } from "../commands.js";
7
- const refreshCommands = {
8
- type: "local",
9
- name: "refresh-commands",
10
- description: "[Developer] Reload custom and plugin commands from filesystem",
11
- isEnabled: true,
12
- isHidden: true,
13
- async call(_, context) {
14
- try {
15
- reloadCustomCommands();
16
- reloadPluginCommands();
17
- clearSkillsCache();
18
- getCommands.cache.clear?.();
19
- const commands = await getCommands();
20
- const customCommands = commands.filter(
21
- (cmd) => cmd.name.startsWith("project:") || cmd.name.startsWith("user:")
22
- );
23
- const pluginCommands = commands.filter(
24
- (cmd) => cmd.name.startsWith("plugin:")
25
- );
26
- return `\u2705 Commands refreshed successfully!
27
-
28
- Custom commands reloaded: ${customCommands.length}
29
- - Project commands: ${customCommands.filter((cmd) => cmd.name.startsWith("project:")).length}
30
- - User commands: ${customCommands.filter((cmd) => cmd.name.startsWith("user:")).length}
31
-
32
- Plugin commands reloaded: ${pluginCommands.length}
33
-
34
- Use /help to see updated command list.`;
35
- } catch (error) {
36
- console.error("Failed to refresh commands:", error);
37
- return "\u274C Failed to refresh commands. Check console for details.";
38
- }
39
- },
40
- userFacingName() {
41
- return "refresh-commands";
42
- }
43
- };
44
- var refreshCommands_default = refreshCommands;
45
- export {
46
- refreshCommands_default as default
47
- };
48
- //# sourceMappingURL=refreshCommands.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/commands/refreshCommands.ts"],
4
- "sourcesContent": ["import { Command } from '@commands'\nimport {\n reloadCustomCommands,\n reloadPluginCommands,\n} from '@services/customCommands'\nimport { clearSkillsCache } from '@utils/skillLoader'\nimport { getCommands } from '@commands'\n\n/**\n * Refresh Commands - Reload custom and plugin commands from filesystem\n *\n * This command provides a runtime mechanism to refresh the custom commands\n * and plugin commands cache without restarting the application. It's particularly\n * useful during development or when users are actively creating/modifying\n * custom commands or installing/updating plugins.\n *\n * The command follows the standard local command pattern used throughout\n * the project and provides detailed feedback about the refresh operation.\n */\nconst refreshCommands = {\n type: 'local',\n name: 'refresh-commands',\n description: '[Developer] Reload custom and plugin commands from filesystem',\n isEnabled: true,\n isHidden: true,\n async call(_, context) {\n try {\n // Clear custom commands cache to force filesystem rescan\n reloadCustomCommands()\n\n // Clear plugin commands cache to force plugin rescan\n reloadPluginCommands()\n\n // Clear skills cache to force skills rescan\n clearSkillsCache()\n\n // Clear the main commands cache to ensure full reload\n // This ensures that changes to custom and plugin commands are reflected in the main command list\n getCommands.cache.clear?.()\n\n // Reload commands to get updated count and validate the refresh\n const commands = await getCommands()\n const customCommands = commands.filter(\n cmd => cmd.name.startsWith('project:') || cmd.name.startsWith('user:'),\n )\n const pluginCommands = commands.filter(cmd =>\n cmd.name.startsWith('plugin:'),\n )\n\n // Provide detailed feedback about the refresh operation\n return `\u2705 Commands refreshed successfully!\n\nCustom commands reloaded: ${customCommands.length}\n- Project commands: ${customCommands.filter(cmd => cmd.name.startsWith('project:')).length}\n- User commands: ${customCommands.filter(cmd => cmd.name.startsWith('user:')).length}\n\nPlugin commands reloaded: ${pluginCommands.length}\n\nUse /help to see updated command list.`\n } catch (error) {\n console.error('Failed to refresh commands:', error)\n return '\u274C Failed to refresh commands. Check console for details.'\n }\n },\n userFacingName() {\n return 'refresh-commands'\n },\n} satisfies Command\n\nexport default refreshCommands\n"],
5
- "mappings": "AACA;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAa5B,MAAM,kBAAkB;AAAA,EACtB,MAAM;AAAA,EACN,MAAM;AAAA,EACN,aAAa;AAAA,EACb,WAAW;AAAA,EACX,UAAU;AAAA,EACV,MAAM,KAAK,GAAG,SAAS;AACrB,QAAI;AAEF,2BAAqB;AAGrB,2BAAqB;AAGrB,uBAAiB;AAIjB,kBAAY,MAAM,QAAQ;AAG1B,YAAM,WAAW,MAAM,YAAY;AACnC,YAAM,iBAAiB,SAAS;AAAA,QAC9B,SAAO,IAAI,KAAK,WAAW,UAAU,KAAK,IAAI,KAAK,WAAW,OAAO;AAAA,MACvE;AACA,YAAM,iBAAiB,SAAS;AAAA,QAAO,SACrC,IAAI,KAAK,WAAW,SAAS;AAAA,MAC/B;AAGA,aAAO;AAAA;AAAA,4BAEe,eAAe,MAAM;AAAA,sBAC3B,eAAe,OAAO,SAAO,IAAI,KAAK,WAAW,UAAU,CAAC,EAAE,MAAM;AAAA,mBACvE,eAAe,OAAO,SAAO,IAAI,KAAK,WAAW,OAAO,CAAC,EAAE,MAAM;AAAA;AAAA,4BAExD,eAAe,MAAM;AAAA;AAAA;AAAA,IAG7C,SAAS,OAAO;AACd,cAAQ,MAAM,+BAA+B,KAAK;AAClD,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,iBAAiB;AACf,WAAO;AAAA,EACT;AACF;AAEA,IAAO,0BAAQ;",
6
- "names": []
7
- }