@within-7/minto 0.4.2 → 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 (1263) hide show
  1. package/cli.cjs +32 -154
  2. package/cli.js +3255 -0
  3. package/package.json +21 -38
  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 -46
  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 -41
  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 -118
  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/login.js +0 -128
  54. package/dist/commands/login.js.map +0 -7
  55. package/dist/commands/mcp-interactive.js +0 -485
  56. package/dist/commands/mcp-interactive.js.map +0 -7
  57. package/dist/commands/memory.js +0 -119
  58. package/dist/commands/memory.js.map +0 -7
  59. package/dist/commands/model.js +0 -497
  60. package/dist/commands/model.js.map +0 -7
  61. package/dist/commands/new.js +0 -56
  62. package/dist/commands/new.js.map +0 -7
  63. package/dist/commands/outputStyle.js +0 -64
  64. package/dist/commands/outputStyle.js.map +0 -7
  65. package/dist/commands/permissions.js +0 -113
  66. package/dist/commands/permissions.js.map +0 -7
  67. package/dist/commands/plugin/AddMarketplaceForm.js +0 -91
  68. package/dist/commands/plugin/AddMarketplaceForm.js.map +0 -7
  69. package/dist/commands/plugin/ConfirmDialog.js +0 -84
  70. package/dist/commands/plugin/ConfirmDialog.js.map +0 -7
  71. package/dist/commands/plugin/ErrorView.js +0 -34
  72. package/dist/commands/plugin/ErrorView.js.map +0 -7
  73. package/dist/commands/plugin/InstalledPluginsByMarketplace.js +0 -152
  74. package/dist/commands/plugin/InstalledPluginsByMarketplace.js.map +0 -7
  75. package/dist/commands/plugin/InstalledPluginsManager.js +0 -102
  76. package/dist/commands/plugin/InstalledPluginsManager.js.map +0 -7
  77. package/dist/commands/plugin/LoadingView.js +0 -14
  78. package/dist/commands/plugin/LoadingView.js.map +0 -7
  79. package/dist/commands/plugin/MainMenu.js +0 -67
  80. package/dist/commands/plugin/MainMenu.js.map +0 -7
  81. package/dist/commands/plugin/MarketplaceManager.js +0 -201
  82. package/dist/commands/plugin/MarketplaceManager.js.map +0 -7
  83. package/dist/commands/plugin/MarketplaceSelector.js +0 -124
  84. package/dist/commands/plugin/MarketplaceSelector.js.map +0 -7
  85. package/dist/commands/plugin/PlaceholderScreen.js +0 -31
  86. package/dist/commands/plugin/PlaceholderScreen.js.map +0 -7
  87. package/dist/commands/plugin/PluginBrowser.js +0 -183
  88. package/dist/commands/plugin/PluginBrowser.js.map +0 -7
  89. package/dist/commands/plugin/PluginDetailsInstall.js +0 -159
  90. package/dist/commands/plugin/PluginDetailsInstall.js.map +0 -7
  91. package/dist/commands/plugin/PluginDetailsManage.js +0 -210
  92. package/dist/commands/plugin/PluginDetailsManage.js.map +0 -7
  93. package/dist/commands/plugin/components.js +0 -16
  94. package/dist/commands/plugin/components.js.map +0 -7
  95. package/dist/commands/plugin/example-usage.js +0 -63
  96. package/dist/commands/plugin/example-usage.js.map +0 -7
  97. package/dist/commands/plugin/types.js +0 -1
  98. package/dist/commands/plugin/types.js.map +0 -7
  99. package/dist/commands/plugin/utils.js +0 -109
  100. package/dist/commands/plugin/utils.js.map +0 -7
  101. package/dist/commands/plugin.js +0 -1410
  102. package/dist/commands/plugin.js.map +0 -7
  103. package/dist/commands/quit.js +0 -20
  104. package/dist/commands/quit.js.map +0 -7
  105. package/dist/commands/refreshCommands.js +0 -48
  106. package/dist/commands/refreshCommands.js.map +0 -7
  107. package/dist/commands/resume.js +0 -71
  108. package/dist/commands/resume.js.map +0 -7
  109. package/dist/commands/review.js +0 -51
  110. package/dist/commands/review.js.map +0 -7
  111. package/dist/commands/sandbox.js +0 -203
  112. package/dist/commands/sandbox.js.map +0 -7
  113. package/dist/commands/sessions.js +0 -224
  114. package/dist/commands/sessions.js.map +0 -7
  115. package/dist/commands/setup.js +0 -653
  116. package/dist/commands/setup.js.map +0 -7
  117. package/dist/commands/stats.js +0 -292
  118. package/dist/commands/stats.js.map +0 -7
  119. package/dist/commands/status.js +0 -127
  120. package/dist/commands/status.js.map +0 -7
  121. package/dist/commands/tasks.js +0 -108
  122. package/dist/commands/tasks.js.map +0 -7
  123. package/dist/commands/terminalSetup.js +0 -174
  124. package/dist/commands/terminalSetup.js.map +0 -7
  125. package/dist/commands/todos.js +0 -123
  126. package/dist/commands/todos.js.map +0 -7
  127. package/dist/commands/undo.js +0 -227
  128. package/dist/commands/undo.js.map +0 -7
  129. package/dist/commands/vim.js +0 -22
  130. package/dist/commands/vim.js.map +0 -7
  131. package/dist/commands.js +0 -130
  132. package/dist/commands.js.map +0 -7
  133. package/dist/components/AgentDetailView.js +0 -126
  134. package/dist/components/AgentDetailView.js.map +0 -7
  135. package/dist/components/AgentResponseBlock.js +0 -41
  136. package/dist/components/AgentResponseBlock.js.map +0 -7
  137. package/dist/components/AgentThinkingBlock.js +0 -32
  138. package/dist/components/AgentThinkingBlock.js.map +0 -7
  139. package/dist/components/AgentViewBanner.js +0 -22
  140. package/dist/components/AgentViewBanner.js.map +0 -7
  141. package/dist/components/AsciiLogo.js +0 -18
  142. package/dist/components/AsciiLogo.js.map +0 -7
  143. package/dist/components/AskUserQuestionDialog/AskUserQuestionDialog.js +0 -142
  144. package/dist/components/AskUserQuestionDialog/AskUserQuestionDialog.js.map +0 -7
  145. package/dist/components/AskUserQuestionDialog/QuestionView.js +0 -55
  146. package/dist/components/AskUserQuestionDialog/QuestionView.js.map +0 -7
  147. package/dist/components/AskUserQuestionDialog/index.js +0 -7
  148. package/dist/components/AskUserQuestionDialog/index.js.map +0 -7
  149. package/dist/components/BackgroundTasksPanel.js +0 -177
  150. package/dist/components/BackgroundTasksPanel.js.map +0 -7
  151. package/dist/components/BashStreamingProgress.js +0 -24
  152. package/dist/components/BashStreamingProgress.js.map +0 -7
  153. package/dist/components/CollapsibleHint.js +0 -15
  154. package/dist/components/CollapsibleHint.js.map +0 -7
  155. package/dist/components/Config.js +0 -181
  156. package/dist/components/Config.js.map +0 -7
  157. package/dist/components/ConsoleOAuthFlow.js +0 -179
  158. package/dist/components/ConsoleOAuthFlow.js.map +0 -7
  159. package/dist/components/Cost.js +0 -14
  160. package/dist/components/Cost.js.map +0 -7
  161. package/dist/components/CostThresholdDialog.js +0 -38
  162. package/dist/components/CostThresholdDialog.js.map +0 -7
  163. package/dist/components/CustomSelect/option-map.js +0 -32
  164. package/dist/components/CustomSelect/option-map.js.map +0 -7
  165. package/dist/components/CustomSelect/select-option.js +0 -37
  166. package/dist/components/CustomSelect/select-option.js.map +0 -7
  167. package/dist/components/CustomSelect/select.js +0 -64
  168. package/dist/components/CustomSelect/select.js.map +0 -7
  169. package/dist/components/CustomSelect/theme.js +0 -1
  170. package/dist/components/CustomSelect/theme.js.map +0 -7
  171. package/dist/components/CustomSelect/use-select-state.js +0 -220
  172. package/dist/components/CustomSelect/use-select-state.js.map +0 -7
  173. package/dist/components/CustomSelect/use-select.js +0 -21
  174. package/dist/components/CustomSelect/use-select.js.map +0 -7
  175. package/dist/components/FallbackToolUseRejectedMessage.js +0 -11
  176. package/dist/components/FallbackToolUseRejectedMessage.js.map +0 -7
  177. package/dist/components/FileEditToolUpdatedMessage.js +0 -32
  178. package/dist/components/FileEditToolUpdatedMessage.js.map +0 -7
  179. package/dist/components/HeaderBar.js +0 -63
  180. package/dist/components/HeaderBar.js.map +0 -7
  181. package/dist/components/Help.js +0 -185
  182. package/dist/components/Help.js.map +0 -7
  183. package/dist/components/HighlightedCode.js +0 -31
  184. package/dist/components/HighlightedCode.js.map +0 -7
  185. package/dist/components/HistorySearchOverlay.js +0 -49
  186. package/dist/components/HistorySearchOverlay.js.map +0 -7
  187. package/dist/components/HotkeyHelpPanel.js +0 -154
  188. package/dist/components/HotkeyHelpPanel.js.map +0 -7
  189. package/dist/components/IdleNotificationBar.js +0 -10
  190. package/dist/components/IdleNotificationBar.js.map +0 -7
  191. package/dist/components/InfoPanel/InfoPanel.js +0 -123
  192. package/dist/components/InfoPanel/InfoPanel.js.map +0 -7
  193. package/dist/components/InfoPanel/index.js +0 -5
  194. package/dist/components/InfoPanel/index.js.map +0 -7
  195. package/dist/components/InfoPanel/types.js +0 -1
  196. package/dist/components/InfoPanel/types.js.map +0 -7
  197. package/dist/components/InteractionRoundBlock.js +0 -56
  198. package/dist/components/InteractionRoundBlock.js.map +0 -7
  199. package/dist/components/InvalidConfigDialog.js +0 -84
  200. package/dist/components/InvalidConfigDialog.js.map +0 -7
  201. package/dist/components/Link.js +0 -18
  202. package/dist/components/Link.js.map +0 -7
  203. package/dist/components/LogSelector.js +0 -50
  204. package/dist/components/LogSelector.js.map +0 -7
  205. package/dist/components/Logo.js +0 -55
  206. package/dist/components/Logo.js.map +0 -7
  207. package/dist/components/MCPServerApprovalDialog.js +0 -81
  208. package/dist/components/MCPServerApprovalDialog.js.map +0 -7
  209. package/dist/components/MCPServerDialogCopy.js +0 -12
  210. package/dist/components/MCPServerDialogCopy.js.map +0 -7
  211. package/dist/components/MCPServerMultiselectDialog.js +0 -82
  212. package/dist/components/MCPServerMultiselectDialog.js.map +0 -7
  213. package/dist/components/Message.js +0 -162
  214. package/dist/components/Message.js.map +0 -7
  215. package/dist/components/MessageResponse.js +0 -9
  216. package/dist/components/MessageResponse.js.map +0 -7
  217. package/dist/components/MessageSelector.js +0 -127
  218. package/dist/components/MessageSelector.js.map +0 -7
  219. package/dist/components/ModeIndicator.js +0 -39
  220. package/dist/components/ModeIndicator.js.map +0 -7
  221. package/dist/components/ModelConfig.js +0 -223
  222. package/dist/components/ModelConfig.js.map +0 -7
  223. package/dist/components/ModelListManager.js +0 -142
  224. package/dist/components/ModelListManager.js.map +0 -7
  225. package/dist/components/ModelSelector/BrandTextInput.js +0 -43
  226. package/dist/components/ModelSelector/BrandTextInput.js.map +0 -7
  227. package/dist/components/ModelSelector/ModelSelector.js +0 -2103
  228. package/dist/components/ModelSelector/ModelSelector.js.map +0 -7
  229. package/dist/components/ModelSelector/ScreenContainer.js +0 -27
  230. package/dist/components/ModelSelector/ScreenContainer.js.map +0 -7
  231. package/dist/components/ModelSelector/WizardContainer.js +0 -45
  232. package/dist/components/ModelSelector/WizardContainer.js.map +0 -7
  233. package/dist/components/ModelSelector/constants.js +0 -37
  234. package/dist/components/ModelSelector/constants.js.map +0 -7
  235. package/dist/components/ModelSelector/hooks/index.js +0 -5
  236. package/dist/components/ModelSelector/hooks/index.js.map +0 -7
  237. package/dist/components/ModelSelector/hooks/useEscapeNavigation.js +0 -21
  238. package/dist/components/ModelSelector/hooks/useEscapeNavigation.js.map +0 -7
  239. package/dist/components/ModelSelector/index.js +0 -15
  240. package/dist/components/ModelSelector/index.js.map +0 -7
  241. package/dist/components/ModelSelector/types.js +0 -1
  242. package/dist/components/ModelSelector/types.js.map +0 -7
  243. package/dist/components/Onboarding.js +0 -159
  244. package/dist/components/Onboarding.js.map +0 -7
  245. package/dist/components/OperationSummary.js +0 -130
  246. package/dist/components/OperationSummary.js.map +0 -7
  247. package/dist/components/PressEnterToContinue.js +0 -10
  248. package/dist/components/PressEnterToContinue.js.map +0 -7
  249. package/dist/components/ProgressBar.js +0 -74
  250. package/dist/components/ProgressBar.js.map +0 -7
  251. package/dist/components/ProjectOnboarding.js +0 -99
  252. package/dist/components/ProjectOnboarding.js.map +0 -7
  253. package/dist/components/PromptInput.js +0 -1067
  254. package/dist/components/PromptInput.js.map +0 -7
  255. package/dist/components/PulseLabel.js +0 -44
  256. package/dist/components/PulseLabel.js.map +0 -7
  257. package/dist/components/QuitSummary.js +0 -88
  258. package/dist/components/QuitSummary.js.map +0 -7
  259. package/dist/components/RequestStatusIndicator.js +0 -194
  260. package/dist/components/RequestStatusIndicator.js.map +0 -7
  261. package/dist/components/RewindPanel.js +0 -272
  262. package/dist/components/RewindPanel.js.map +0 -7
  263. package/dist/components/SensitiveFileWarning.js +0 -35
  264. package/dist/components/SensitiveFileWarning.js.map +0 -7
  265. package/dist/components/SentryErrorBoundary.js +0 -27
  266. package/dist/components/SentryErrorBoundary.js.map +0 -7
  267. package/dist/components/SimpleSelector/SimpleSelector.js +0 -154
  268. package/dist/components/SimpleSelector/SimpleSelector.js.map +0 -7
  269. package/dist/components/SimpleSelector/index.js +0 -5
  270. package/dist/components/SimpleSelector/index.js.map +0 -7
  271. package/dist/components/SimpleSelector/types.js +0 -1
  272. package/dist/components/SimpleSelector/types.js.map +0 -7
  273. package/dist/components/Spinner.js +0 -174
  274. package/dist/components/Spinner.js.map +0 -7
  275. package/dist/components/SpinnerSymbol.js +0 -72
  276. package/dist/components/SpinnerSymbol.js.map +0 -7
  277. package/dist/components/StartupStatus.js +0 -57
  278. package/dist/components/StartupStatus.js.map +0 -7
  279. package/dist/components/StatusOverlayContent.js +0 -21
  280. package/dist/components/StatusOverlayContent.js.map +0 -7
  281. package/dist/components/StreamingBashOutput.js +0 -71
  282. package/dist/components/StreamingBashOutput.js.map +0 -7
  283. package/dist/components/StreamingTextPreview.js +0 -29
  284. package/dist/components/StreamingTextPreview.js.map +0 -7
  285. package/dist/components/StructuredDiff.js +0 -146
  286. package/dist/components/StructuredDiff.js.map +0 -7
  287. package/dist/components/SubagentBlock.js +0 -197
  288. package/dist/components/SubagentBlock.js.map +0 -7
  289. package/dist/components/SubagentManager.js +0 -65
  290. package/dist/components/SubagentManager.js.map +0 -7
  291. package/dist/components/SubagentProgress.js +0 -123
  292. package/dist/components/SubagentProgress.js.map +0 -7
  293. package/dist/components/SubagentStatusMarker.js +0 -37
  294. package/dist/components/SubagentStatusMarker.js.map +0 -7
  295. package/dist/components/TabbedListView/ScrollableList.js +0 -117
  296. package/dist/components/TabbedListView/ScrollableList.js.map +0 -7
  297. package/dist/components/TabbedListView/SearchInput.js +0 -23
  298. package/dist/components/TabbedListView/SearchInput.js.map +0 -7
  299. package/dist/components/TabbedListView/TabBar.js +0 -25
  300. package/dist/components/TabbedListView/TabBar.js.map +0 -7
  301. package/dist/components/TabbedListView/TabbedListView.js +0 -292
  302. package/dist/components/TabbedListView/TabbedListView.js.map +0 -7
  303. package/dist/components/TabbedListView/index.js +0 -11
  304. package/dist/components/TabbedListView/index.js.map +0 -7
  305. package/dist/components/TabbedListView/types.js +0 -1
  306. package/dist/components/TabbedListView/types.js.map +0 -7
  307. package/dist/components/TaskCard.js +0 -176
  308. package/dist/components/TaskCard.js.map +0 -7
  309. package/dist/components/TeamMemberPanel.js +0 -107
  310. package/dist/components/TeamMemberPanel.js.map +0 -7
  311. package/dist/components/TextInput.js +0 -108
  312. package/dist/components/TextInput.js.map +0 -7
  313. package/dist/components/ThinkingSelector.js +0 -84
  314. package/dist/components/ThinkingSelector.js.map +0 -7
  315. package/dist/components/TimelineRenderer.js +0 -31
  316. package/dist/components/TimelineRenderer.js.map +0 -7
  317. package/dist/components/TitledDivider.js +0 -26
  318. package/dist/components/TitledDivider.js.map +0 -7
  319. package/dist/components/TodoChangeBlock.js +0 -30
  320. package/dist/components/TodoChangeBlock.js.map +0 -7
  321. package/dist/components/TodoChangeLine.js +0 -22
  322. package/dist/components/TodoChangeLine.js.map +0 -7
  323. package/dist/components/TodoItem.js +0 -35
  324. package/dist/components/TodoItem.js.map +0 -7
  325. package/dist/components/TodoPanel.js +0 -167
  326. package/dist/components/TodoPanel.js.map +0 -7
  327. package/dist/components/TokenCounter.js +0 -74
  328. package/dist/components/TokenCounter.js.map +0 -7
  329. package/dist/components/TokenWarning.js +0 -41
  330. package/dist/components/TokenWarning.js.map +0 -7
  331. package/dist/components/ToolExecutionBlock.js +0 -18
  332. package/dist/components/ToolExecutionBlock.js.map +0 -7
  333. package/dist/components/ToolUseLoader.js +0 -29
  334. package/dist/components/ToolUseLoader.js.map +0 -7
  335. package/dist/components/TreeConnector.js +0 -26
  336. package/dist/components/TreeConnector.js.map +0 -7
  337. package/dist/components/TrustDialog.js +0 -71
  338. package/dist/components/TrustDialog.js.map +0 -7
  339. package/dist/components/TurnCompletionIndicator.js +0 -18
  340. package/dist/components/TurnCompletionIndicator.js.map +0 -7
  341. package/dist/components/UserQueryBlock.js +0 -12
  342. package/dist/components/UserQueryBlock.js.map +0 -7
  343. package/dist/components/binary-feedback/BinaryFeedback.js +0 -50
  344. package/dist/components/binary-feedback/BinaryFeedback.js.map +0 -7
  345. package/dist/components/binary-feedback/BinaryFeedbackOption.js +0 -92
  346. package/dist/components/binary-feedback/BinaryFeedbackOption.js.map +0 -7
  347. package/dist/components/binary-feedback/BinaryFeedbackView.js +0 -140
  348. package/dist/components/binary-feedback/BinaryFeedbackView.js.map +0 -7
  349. package/dist/components/binary-feedback/utils.js +0 -108
  350. package/dist/components/binary-feedback/utils.js.map +0 -7
  351. package/dist/components/messages/AssistantBashOutputMessage.js +0 -23
  352. package/dist/components/messages/AssistantBashOutputMessage.js.map +0 -7
  353. package/dist/components/messages/AssistantLocalCommandOutputMessage.js +0 -36
  354. package/dist/components/messages/AssistantLocalCommandOutputMessage.js.map +0 -7
  355. package/dist/components/messages/AssistantRedactedThinkingMessage.js +0 -12
  356. package/dist/components/messages/AssistantRedactedThinkingMessage.js.map +0 -7
  357. package/dist/components/messages/AssistantTextMessage.js +0 -92
  358. package/dist/components/messages/AssistantTextMessage.js.map +0 -7
  359. package/dist/components/messages/AssistantThinkingMessage.js +0 -42
  360. package/dist/components/messages/AssistantThinkingMessage.js.map +0 -7
  361. package/dist/components/messages/AssistantToolUseMessage.js +0 -108
  362. package/dist/components/messages/AssistantToolUseMessage.js.map +0 -7
  363. package/dist/components/messages/DefaultToolResultFallback.js +0 -11
  364. package/dist/components/messages/DefaultToolResultFallback.js.map +0 -7
  365. package/dist/components/messages/GroupRenderer.js +0 -54
  366. package/dist/components/messages/GroupRenderer.js.map +0 -7
  367. package/dist/components/messages/NestedTasksPreview.js +0 -24
  368. package/dist/components/messages/NestedTasksPreview.js.map +0 -7
  369. package/dist/components/messages/ParallelTasksGroupView.js +0 -101
  370. package/dist/components/messages/ParallelTasksGroupView.js.map +0 -7
  371. package/dist/components/messages/TaskInModuleView.js +0 -218
  372. package/dist/components/messages/TaskInModuleView.js.map +0 -7
  373. package/dist/components/messages/TaskOutputContent.js +0 -56
  374. package/dist/components/messages/TaskOutputContent.js.map +0 -7
  375. package/dist/components/messages/TaskProgressMessage.js +0 -11
  376. package/dist/components/messages/TaskProgressMessage.js.map +0 -7
  377. package/dist/components/messages/TaskToolMessage.js +0 -39
  378. package/dist/components/messages/TaskToolMessage.js.map +0 -7
  379. package/dist/components/messages/UserBashInputMessage.js +0 -18
  380. package/dist/components/messages/UserBashInputMessage.js.map +0 -7
  381. package/dist/components/messages/UserCommandMessage.js +0 -20
  382. package/dist/components/messages/UserCommandMessage.js.map +0 -7
  383. package/dist/components/messages/UserGuidanceMessage.js +0 -26
  384. package/dist/components/messages/UserGuidanceMessage.js.map +0 -7
  385. package/dist/components/messages/UserKodingInputMessage.js +0 -18
  386. package/dist/components/messages/UserKodingInputMessage.js.map +0 -7
  387. package/dist/components/messages/UserPromptMessage.js +0 -26
  388. package/dist/components/messages/UserPromptMessage.js.map +0 -7
  389. package/dist/components/messages/UserTeamNotificationMessage.js +0 -91
  390. package/dist/components/messages/UserTeamNotificationMessage.js.map +0 -7
  391. package/dist/components/messages/UserTextMessage.js +0 -33
  392. package/dist/components/messages/UserTextMessage.js.map +0 -7
  393. package/dist/components/messages/UserToolResultMessage/UserToolCanceledMessage.js +0 -11
  394. package/dist/components/messages/UserToolResultMessage/UserToolCanceledMessage.js.map +0 -7
  395. package/dist/components/messages/UserToolResultMessage/UserToolErrorMessage.js +0 -15
  396. package/dist/components/messages/UserToolResultMessage/UserToolErrorMessage.js.map +0 -7
  397. package/dist/components/messages/UserToolResultMessage/UserToolRejectMessage.js +0 -27
  398. package/dist/components/messages/UserToolResultMessage/UserToolRejectMessage.js.map +0 -7
  399. package/dist/components/messages/UserToolResultMessage/UserToolResultMessage.js +0 -64
  400. package/dist/components/messages/UserToolResultMessage/UserToolResultMessage.js.map +0 -7
  401. package/dist/components/messages/UserToolResultMessage/UserToolSuccessMessage.js +0 -33
  402. package/dist/components/messages/UserToolResultMessage/UserToolSuccessMessage.js.map +0 -7
  403. package/dist/components/messages/UserToolResultMessage/utils.js +0 -50
  404. package/dist/components/messages/UserToolResultMessage/utils.js.map +0 -7
  405. package/dist/components/permissions/BashPermissionRequest/BashPermissionRequest.js +0 -112
  406. package/dist/components/permissions/BashPermissionRequest/BashPermissionRequest.js.map +0 -7
  407. package/dist/components/permissions/FallbackPermissionRequest.js +0 -131
  408. package/dist/components/permissions/FallbackPermissionRequest.js.map +0 -7
  409. package/dist/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.js +0 -159
  410. package/dist/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.js.map +0 -7
  411. package/dist/components/permissions/FileEditPermissionRequest/FileEditToolDiff.js +0 -58
  412. package/dist/components/permissions/FileEditPermissionRequest/FileEditToolDiff.js.map +0 -7
  413. package/dist/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.js +0 -153
  414. package/dist/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.js.map +0 -7
  415. package/dist/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.js +0 -70
  416. package/dist/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.js.map +0 -7
  417. package/dist/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.js +0 -212
  418. package/dist/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.js.map +0 -7
  419. package/dist/components/permissions/PermissionRequest.js +0 -74
  420. package/dist/components/permissions/PermissionRequest.js.map +0 -7
  421. package/dist/components/permissions/PermissionRequestTitle.js +0 -52
  422. package/dist/components/permissions/PermissionRequestTitle.js.map +0 -7
  423. package/dist/components/permissions/PlanApprovalRequest.js +0 -164
  424. package/dist/components/permissions/PlanApprovalRequest.js.map +0 -7
  425. package/dist/components/permissions/hooks.js +0 -23
  426. package/dist/components/permissions/hooks.js.map +0 -7
  427. package/dist/components/permissions/toolUseOptions.js +0 -46
  428. package/dist/components/permissions/toolUseOptions.js.map +0 -7
  429. package/dist/components/permissions/utils.js +0 -21
  430. package/dist/components/permissions/utils.js.map +0 -7
  431. package/dist/constants/agentTeams.js +0 -17
  432. package/dist/constants/agentTeams.js.map +0 -7
  433. package/dist/constants/claude-asterisk-ascii-art.js +0 -242
  434. package/dist/constants/claude-asterisk-ascii-art.js.map +0 -7
  435. package/dist/constants/colors.js +0 -192
  436. package/dist/constants/colors.js.map +0 -7
  437. package/dist/constants/compressionPrompts.js +0 -73
  438. package/dist/constants/compressionPrompts.js.map +0 -7
  439. package/dist/constants/figures.js +0 -6
  440. package/dist/constants/figures.js.map +0 -7
  441. package/dist/constants/formatRules.js +0 -102
  442. package/dist/constants/formatRules.js.map +0 -7
  443. package/dist/constants/macros.js +0 -12
  444. package/dist/constants/macros.js.map +0 -7
  445. package/dist/constants/modelCapabilities.js +0 -239
  446. package/dist/constants/modelCapabilities.js.map +0 -7
  447. package/dist/constants/models.js +0 -1034
  448. package/dist/constants/models.js.map +0 -7
  449. package/dist/constants/oauth.js +0 -18
  450. package/dist/constants/oauth.js.map +0 -7
  451. package/dist/constants/product.js +0 -28
  452. package/dist/constants/product.js.map +0 -7
  453. package/dist/constants/prompts/agentPrompt.js +0 -31
  454. package/dist/constants/prompts/agentPrompt.js.map +0 -7
  455. package/dist/constants/prompts/autoMemory.js +0 -39
  456. package/dist/constants/prompts/autoMemory.js.map +0 -7
  457. package/dist/constants/prompts/codeConventions.js +0 -15
  458. package/dist/constants/prompts/codeConventions.js.map +0 -7
  459. package/dist/constants/prompts/doingTasks.js +0 -34
  460. package/dist/constants/prompts/doingTasks.js.map +0 -7
  461. package/dist/constants/prompts/envInfo.js +0 -16
  462. package/dist/constants/prompts/envInfo.js.map +0 -7
  463. package/dist/constants/prompts/executingWithCare.js +0 -17
  464. package/dist/constants/prompts/executingWithCare.js.map +0 -7
  465. package/dist/constants/prompts/identity.js +0 -10
  466. package/dist/constants/prompts/identity.js.map +0 -7
  467. package/dist/constants/prompts/index.js +0 -100
  468. package/dist/constants/prompts/index.js.map +0 -7
  469. package/dist/constants/prompts/taskManagement.js +0 -19
  470. package/dist/constants/prompts/taskManagement.js.map +0 -7
  471. package/dist/constants/prompts/teamOverlays.js +0 -50
  472. package/dist/constants/prompts/teamOverlays.js.map +0 -7
  473. package/dist/constants/prompts/toneAndStyle.js +0 -37
  474. package/dist/constants/prompts/toneAndStyle.js.map +0 -7
  475. package/dist/constants/prompts/toolUsagePolicy.js +0 -23
  476. package/dist/constants/prompts/toolUsagePolicy.js.map +0 -7
  477. package/dist/constants/prompts.js +0 -13
  478. package/dist/constants/prompts.js.map +0 -7
  479. package/dist/constants/providerRegistry.js +0 -235
  480. package/dist/constants/providerRegistry.js.map +0 -7
  481. package/dist/constants/providers.js +0 -35
  482. package/dist/constants/providers.js.map +0 -7
  483. package/dist/constants/releaseNotes.js +0 -9
  484. package/dist/constants/releaseNotes.js.map +0 -7
  485. package/dist/constants/symbols.js +0 -108
  486. package/dist/constants/symbols.js.map +0 -7
  487. package/dist/constants/timing.js +0 -39
  488. package/dist/constants/timing.js.map +0 -7
  489. package/dist/constants/toolInputExamples.js +0 -88
  490. package/dist/constants/toolInputExamples.js.map +0 -7
  491. package/dist/context/PermissionContext.js +0 -110
  492. package/dist/context/PermissionContext.js.map +0 -7
  493. package/dist/context.js +0 -367
  494. package/dist/context.js.map +0 -7
  495. package/dist/core/backupHook.js +0 -29
  496. package/dist/core/backupHook.js.map +0 -7
  497. package/dist/core/backupManager.js +0 -321
  498. package/dist/core/backupManager.js.map +0 -7
  499. package/dist/core/config/defaults.js +0 -93
  500. package/dist/core/config/defaults.js.map +0 -7
  501. package/dist/core/config/index.js +0 -111
  502. package/dist/core/config/index.js.map +0 -7
  503. package/dist/core/config/loader.js +0 -221
  504. package/dist/core/config/loader.js.map +0 -7
  505. package/dist/core/config/migrations.js +0 -128
  506. package/dist/core/config/migrations.js.map +0 -7
  507. package/dist/core/config/schema.js +0 -196
  508. package/dist/core/config/schema.js.map +0 -7
  509. package/dist/core/costTracker.js +0 -131
  510. package/dist/core/costTracker.js.map +0 -7
  511. package/dist/core/gitAutoCommit.js +0 -287
  512. package/dist/core/gitAutoCommit.js.map +0 -7
  513. package/dist/core/index.js +0 -7
  514. package/dist/core/index.js.map +0 -7
  515. package/dist/core/operationTracker.js +0 -212
  516. package/dist/core/operationTracker.js.map +0 -7
  517. package/dist/core/permissions/auditLog.js +0 -204
  518. package/dist/core/permissions/auditLog.js.map +0 -7
  519. package/dist/core/permissions/engine/index.js +0 -3
  520. package/dist/core/permissions/engine/index.js.map +0 -7
  521. package/dist/core/permissions/engine/permissionEngine.js +0 -106
  522. package/dist/core/permissions/engine/permissionEngine.js.map +0 -7
  523. package/dist/core/permissions/engine/types.js +0 -1
  524. package/dist/core/permissions/engine/types.js.map +0 -7
  525. package/dist/core/permissions/index.js +0 -84
  526. package/dist/core/permissions/index.js.map +0 -7
  527. package/dist/core/permissions/ruleEngine.js +0 -259
  528. package/dist/core/permissions/ruleEngine.js.map +0 -7
  529. package/dist/core/permissions/rules/allowedToolsRule.js +0 -62
  530. package/dist/core/permissions/rules/allowedToolsRule.js.map +0 -7
  531. package/dist/core/permissions/rules/autoEscalationRule.js +0 -296
  532. package/dist/core/permissions/rules/autoEscalationRule.js.map +0 -7
  533. package/dist/core/permissions/rules/index.js +0 -46
  534. package/dist/core/permissions/rules/index.js.map +0 -7
  535. package/dist/core/permissions/rules/planModeRule.js +0 -55
  536. package/dist/core/permissions/rules/planModeRule.js.map +0 -7
  537. package/dist/core/permissions/rules/projectBoundaryRule.js +0 -173
  538. package/dist/core/permissions/rules/projectBoundaryRule.js.map +0 -7
  539. package/dist/core/permissions/rules/safeModeRule.js +0 -65
  540. package/dist/core/permissions/rules/safeModeRule.js.map +0 -7
  541. package/dist/core/permissions/rules/sensitivePathsRule.js +0 -345
  542. package/dist/core/permissions/rules/sensitivePathsRule.js.map +0 -7
  543. package/dist/core/permissions/types.js +0 -127
  544. package/dist/core/permissions/types.js.map +0 -7
  545. package/dist/core/tokenStats.js +0 -9
  546. package/dist/core/tokenStats.js.map +0 -7
  547. package/dist/core/tokenStatsManager.js +0 -354
  548. package/dist/core/tokenStatsManager.js.map +0 -7
  549. package/dist/core/tools/executor.js +0 -143
  550. package/dist/core/tools/executor.js.map +0 -7
  551. package/dist/core/tools/index.js +0 -15
  552. package/dist/core/tools/index.js.map +0 -7
  553. package/dist/core/tools/registry.js +0 -183
  554. package/dist/core/tools/registry.js.map +0 -7
  555. package/dist/core/tools/types.js +0 -1
  556. package/dist/core/tools/types.js.map +0 -7
  557. package/dist/cost-tracker.js +0 -68
  558. package/dist/cost-tracker.js.map +0 -7
  559. package/dist/engine/AgentEngine.js +0 -902
  560. package/dist/engine/AgentEngine.js.map +0 -7
  561. package/dist/engine/EngineRegistry.js +0 -89
  562. package/dist/engine/EngineRegistry.js.map +0 -7
  563. package/dist/engine/foregroundAdapter.js +0 -191
  564. package/dist/engine/foregroundAdapter.js.map +0 -7
  565. package/dist/engine/index.js +0 -15
  566. package/dist/engine/index.js.map +0 -7
  567. package/dist/engine/types.js +0 -1
  568. package/dist/engine/types.js.map +0 -7
  569. package/dist/entrypoints/bootstrap.js +0 -56
  570. package/dist/entrypoints/bootstrap.js.map +0 -7
  571. package/dist/entrypoints/cli.js +0 -1721
  572. package/dist/entrypoints/cli.js.map +0 -7
  573. package/dist/entrypoints/mcp.js +0 -153
  574. package/dist/entrypoints/mcp.js.map +0 -7
  575. package/dist/history.js +0 -96
  576. package/dist/history.js.map +0 -7
  577. package/dist/hooks/useAgentEngine.js +0 -129
  578. package/dist/hooks/useAgentEngine.js.map +0 -7
  579. package/dist/hooks/useAgentTokenStats.js +0 -56
  580. package/dist/hooks/useAgentTokenStats.js.map +0 -7
  581. package/dist/hooks/useAgentTranscripts.js +0 -141
  582. package/dist/hooks/useAgentTranscripts.js.map +0 -7
  583. package/dist/hooks/useAnimationSync.js +0 -53
  584. package/dist/hooks/useAnimationSync.js.map +0 -7
  585. package/dist/hooks/useApiKeyVerification.js +0 -12
  586. package/dist/hooks/useApiKeyVerification.js.map +0 -7
  587. package/dist/hooks/useArrowKeyHistory.js +0 -52
  588. package/dist/hooks/useArrowKeyHistory.js.map +0 -7
  589. package/dist/hooks/useAskUser.js +0 -24
  590. package/dist/hooks/useAskUser.js.map +0 -7
  591. package/dist/hooks/useBackgroundShells.js +0 -29
  592. package/dist/hooks/useBackgroundShells.js.map +0 -7
  593. package/dist/hooks/useCanUseTool.js +0 -134
  594. package/dist/hooks/useCanUseTool.js.map +0 -7
  595. package/dist/hooks/useDeferredLoading.js +0 -67
  596. package/dist/hooks/useDeferredLoading.js.map +0 -7
  597. package/dist/hooks/useDoublePress.js +0 -31
  598. package/dist/hooks/useDoublePress.js.map +0 -7
  599. package/dist/hooks/useExitOnCtrlCD.js +0 -30
  600. package/dist/hooks/useExitOnCtrlCD.js.map +0 -7
  601. package/dist/hooks/useHistorySearch.js +0 -62
  602. package/dist/hooks/useHistorySearch.js.map +0 -7
  603. package/dist/hooks/useHookStatus.js +0 -40
  604. package/dist/hooks/useHookStatus.js.map +0 -7
  605. package/dist/hooks/useIdleNotifications.js +0 -66
  606. package/dist/hooks/useIdleNotifications.js.map +0 -7
  607. package/dist/hooks/useInterval.js +0 -18
  608. package/dist/hooks/useInterval.js.map +0 -7
  609. package/dist/hooks/useLogMessages.js +0 -41
  610. package/dist/hooks/useLogMessages.js.map +0 -7
  611. package/dist/hooks/useLogStartupTime.js +0 -10
  612. package/dist/hooks/useLogStartupTime.js.map +0 -7
  613. package/dist/hooks/useMessageGroups.js +0 -43
  614. package/dist/hooks/useMessageGroups.js.map +0 -7
  615. package/dist/hooks/useNotifyAfterTimeout.js +0 -42
  616. package/dist/hooks/useNotifyAfterTimeout.js.map +0 -7
  617. package/dist/hooks/usePermissionRequestLogging.js +0 -23
  618. package/dist/hooks/usePermissionRequestLogging.js.map +0 -7
  619. package/dist/hooks/useSessionTracking.js +0 -57
  620. package/dist/hooks/useSessionTracking.js.map +0 -7
  621. package/dist/hooks/useTeamMembers.js +0 -51
  622. package/dist/hooks/useTeamMembers.js.map +0 -7
  623. package/dist/hooks/useTerminalSize.js +0 -115
  624. package/dist/hooks/useTerminalSize.js.map +0 -7
  625. package/dist/hooks/useTextInput.js +0 -253
  626. package/dist/hooks/useTextInput.js.map +0 -7
  627. package/dist/hooks/useUnifiedCompletion.js +0 -1098
  628. package/dist/hooks/useUnifiedCompletion.js.map +0 -7
  629. package/dist/i18n/index.js +0 -109
  630. package/dist/i18n/index.js.map +0 -7
  631. package/dist/i18n/locales/en.js +0 -993
  632. package/dist/i18n/locales/en.js.map +0 -7
  633. package/dist/i18n/locales/index.js +0 -7
  634. package/dist/i18n/locales/index.js.map +0 -7
  635. package/dist/i18n/locales/zh-CN.js +0 -993
  636. package/dist/i18n/locales/zh-CN.js.map +0 -7
  637. package/dist/i18n/types.js +0 -8
  638. package/dist/i18n/types.js.map +0 -7
  639. package/dist/index.js +0 -5
  640. package/dist/index.js.map +0 -7
  641. package/dist/messages.js +0 -68
  642. package/dist/messages.js.map +0 -7
  643. package/dist/package.json +0 -4
  644. package/dist/permissions.js +0 -536
  645. package/dist/permissions.js.map +0 -7
  646. package/dist/query.js +0 -851
  647. package/dist/query.js.map +0 -7
  648. package/dist/screens/LogList.js +0 -55
  649. package/dist/screens/LogList.js.map +0 -7
  650. package/dist/screens/REPL.js +0 -1240
  651. package/dist/screens/REPL.js.map +0 -7
  652. package/dist/screens/ResumeConversation.js +0 -244
  653. package/dist/screens/ResumeConversation.js.map +0 -7
  654. package/dist/services/adapters/base.js +0 -29
  655. package/dist/services/adapters/base.js.map +0 -7
  656. package/dist/services/adapters/chatCompletions.js +0 -71
  657. package/dist/services/adapters/chatCompletions.js.map +0 -7
  658. package/dist/services/adapters/messageNormalizer.js +0 -354
  659. package/dist/services/adapters/messageNormalizer.js.map +0 -7
  660. package/dist/services/adapters/responsesAPI.js +0 -137
  661. package/dist/services/adapters/responsesAPI.js.map +0 -7
  662. package/dist/services/agentTeams/backends/headless.js +0 -108
  663. package/dist/services/agentTeams/backends/headless.js.map +0 -7
  664. package/dist/services/agentTeams/backends/inProcess.js +0 -102
  665. package/dist/services/agentTeams/backends/inProcess.js.map +0 -7
  666. package/dist/services/agentTeams/backends/resolver.js +0 -18
  667. package/dist/services/agentTeams/backends/resolver.js.map +0 -7
  668. package/dist/services/agentTeams/backends/tmux.js +0 -168
  669. package/dist/services/agentTeams/backends/tmux.js.map +0 -7
  670. package/dist/services/agentTeams/backends/types.js +0 -1
  671. package/dist/services/agentTeams/backends/types.js.map +0 -7
  672. package/dist/services/agentTeams/heartbeat.js +0 -88
  673. package/dist/services/agentTeams/heartbeat.js.map +0 -7
  674. package/dist/services/agentTeams/index.js +0 -75
  675. package/dist/services/agentTeams/index.js.map +0 -7
  676. package/dist/services/agentTeams/injectionChannel.js +0 -105
  677. package/dist/services/agentTeams/injectionChannel.js.map +0 -7
  678. package/dist/services/agentTeams/mailbox.js +0 -494
  679. package/dist/services/agentTeams/mailbox.js.map +0 -7
  680. package/dist/services/agentTeams/messageFormatter.js +0 -80
  681. package/dist/services/agentTeams/messageFormatter.js.map +0 -7
  682. package/dist/services/agentTeams/permissionDelegation.js +0 -71
  683. package/dist/services/agentTeams/permissionDelegation.js.map +0 -7
  684. package/dist/services/agentTeams/teamEvents.js +0 -45
  685. package/dist/services/agentTeams/teamEvents.js.map +0 -7
  686. package/dist/services/agentTeams/teamManager.js +0 -366
  687. package/dist/services/agentTeams/teamManager.js.map +0 -7
  688. package/dist/services/agentTeams/teamTaskStore.js +0 -343
  689. package/dist/services/agentTeams/teamTaskStore.js.map +0 -7
  690. package/dist/services/agentTeams/teammateSpawner.js +0 -161
  691. package/dist/services/agentTeams/teammateSpawner.js.map +0 -7
  692. package/dist/services/checkpointManager.js +0 -399
  693. package/dist/services/checkpointManager.js.map +0 -7
  694. package/dist/services/claude.js +0 -41
  695. package/dist/services/claude.js.map +0 -7
  696. package/dist/services/compressionService.js +0 -259
  697. package/dist/services/compressionService.js.map +0 -7
  698. package/dist/services/contextMonitor.js +0 -162
  699. package/dist/services/contextMonitor.js.map +0 -7
  700. package/dist/services/customCommands.js +0 -489
  701. package/dist/services/customCommands.js.map +0 -7
  702. package/dist/services/fileFreshness.js +0 -275
  703. package/dist/services/fileFreshness.js.map +0 -7
  704. package/dist/services/gpt5ConnectionTest.js +0 -263
  705. package/dist/services/gpt5ConnectionTest.js.map +0 -7
  706. package/dist/services/hookExecutor.js +0 -771
  707. package/dist/services/hookExecutor.js.map +0 -7
  708. package/dist/services/intelligentCompactor.js +0 -281
  709. package/dist/services/intelligentCompactor.js.map +0 -7
  710. package/dist/services/llm/anthropicProvider.js +0 -804
  711. package/dist/services/llm/anthropicProvider.js.map +0 -7
  712. package/dist/services/llm/dispatch.js +0 -237
  713. package/dist/services/llm/dispatch.js.map +0 -7
  714. package/dist/services/llm/index.js +0 -44
  715. package/dist/services/llm/index.js.map +0 -7
  716. package/dist/services/llm/mintoContext.js +0 -69
  717. package/dist/services/llm/mintoContext.js.map +0 -7
  718. package/dist/services/llm/openaiProvider.js +0 -601
  719. package/dist/services/llm/openaiProvider.js.map +0 -7
  720. package/dist/services/llm/types.js +0 -231
  721. package/dist/services/llm/types.js.map +0 -7
  722. package/dist/services/lspConfig.js +0 -109
  723. package/dist/services/lspConfig.js.map +0 -7
  724. package/dist/services/mainAgentCompressor.js +0 -84
  725. package/dist/services/mainAgentCompressor.js.map +0 -7
  726. package/dist/services/mcpClient.js +0 -997
  727. package/dist/services/mcpClient.js.map +0 -7
  728. package/dist/services/mcpServerApproval.js +0 -55
  729. package/dist/services/mcpServerApproval.js.map +0 -7
  730. package/dist/services/mentionProcessor.js +0 -214
  731. package/dist/services/mentionProcessor.js.map +0 -7
  732. package/dist/services/mintoAuth.js +0 -299
  733. package/dist/services/mintoAuth.js.map +0 -7
  734. package/dist/services/modelAdapterFactory.js +0 -47
  735. package/dist/services/modelAdapterFactory.js.map +0 -7
  736. package/dist/services/modelOrchestrator.js +0 -310
  737. package/dist/services/modelOrchestrator.js.map +0 -7
  738. package/dist/services/notifier.js +0 -49
  739. package/dist/services/notifier.js.map +0 -7
  740. package/dist/services/oauth.js +0 -249
  741. package/dist/services/oauth.js.map +0 -7
  742. package/dist/services/openai.js +0 -1120
  743. package/dist/services/openai.js.map +0 -7
  744. package/dist/services/outputStyles.js +0 -219
  745. package/dist/services/outputStyles.js.map +0 -7
  746. package/dist/services/plugins/index.js +0 -5
  747. package/dist/services/plugins/index.js.map +0 -7
  748. package/dist/services/plugins/lspServers.js +0 -188
  749. package/dist/services/plugins/lspServers.js.map +0 -7
  750. package/dist/services/plugins/pluginRuntime.js +0 -236
  751. package/dist/services/plugins/pluginRuntime.js.map +0 -7
  752. package/dist/services/plugins/pluginValidation.js +0 -228
  753. package/dist/services/plugins/pluginValidation.js.map +0 -7
  754. package/dist/services/plugins/skillMarketplace.js +0 -567
  755. package/dist/services/plugins/skillMarketplace.js.map +0 -7
  756. package/dist/services/responseStateManager.js +0 -102
  757. package/dist/services/responseStateManager.js.map +0 -7
  758. package/dist/services/sandbox/filesystemBoundary.js +0 -341
  759. package/dist/services/sandbox/filesystemBoundary.js.map +0 -7
  760. package/dist/services/sandbox/index.js +0 -14
  761. package/dist/services/sandbox/index.js.map +0 -7
  762. package/dist/services/sandbox/networkProxy.js +0 -293
  763. package/dist/services/sandbox/networkProxy.js.map +0 -7
  764. package/dist/services/sandbox/sandboxController.js +0 -582
  765. package/dist/services/sandbox/sandboxController.js.map +0 -7
  766. package/dist/services/sandbox/types.js +0 -50
  767. package/dist/services/sandbox/types.js.map +0 -7
  768. package/dist/services/sentry.js +0 -9
  769. package/dist/services/sentry.js.map +0 -7
  770. package/dist/services/sessionMemory.js +0 -279
  771. package/dist/services/sessionMemory.js.map +0 -7
  772. package/dist/services/sessionMemoryInjector.js +0 -77
  773. package/dist/services/sessionMemoryInjector.js.map +0 -7
  774. package/dist/services/subagentAbortManager.js +0 -95
  775. package/dist/services/subagentAbortManager.js.map +0 -7
  776. package/dist/services/subagentCompressor.js +0 -146
  777. package/dist/services/subagentCompressor.js.map +0 -7
  778. package/dist/services/systemReminder.js +0 -815
  779. package/dist/services/systemReminder.js.map +0 -7
  780. package/dist/services/taskRouter.js +0 -324
  781. package/dist/services/taskRouter.js.map +0 -7
  782. package/dist/services/taskStore.js +0 -415
  783. package/dist/services/taskStore.js.map +0 -7
  784. package/dist/services/topicDetector.js +0 -169
  785. package/dist/services/topicDetector.js.map +0 -7
  786. package/dist/services/vcr.js +0 -133
  787. package/dist/services/vcr.js.map +0 -7
  788. package/dist/tools/ArchitectTool/ArchitectTool.js +0 -126
  789. package/dist/tools/ArchitectTool/ArchitectTool.js.map +0 -7
  790. package/dist/tools/ArchitectTool/prompt.js +0 -18
  791. package/dist/tools/ArchitectTool/prompt.js.map +0 -7
  792. package/dist/tools/AskExpertModelTool/AskExpertModelTool.js +0 -420
  793. package/dist/tools/AskExpertModelTool/AskExpertModelTool.js.map +0 -7
  794. package/dist/tools/AskUserQuestionTool/AskUserQuestionTool.js +0 -158
  795. package/dist/tools/AskUserQuestionTool/AskUserQuestionTool.js.map +0 -7
  796. package/dist/tools/AskUserQuestionTool/index.js +0 -5
  797. package/dist/tools/AskUserQuestionTool/index.js.map +0 -7
  798. package/dist/tools/AskUserQuestionTool/prompt.js +0 -167
  799. package/dist/tools/AskUserQuestionTool/prompt.js.map +0 -7
  800. package/dist/tools/BaseTool.js +0 -72
  801. package/dist/tools/BaseTool.js.map +0 -7
  802. package/dist/tools/BashOutputTool/BashOutputTool.js +0 -120
  803. package/dist/tools/BashOutputTool/BashOutputTool.js.map +0 -7
  804. package/dist/tools/BashOutputTool/BashOutputToolResultMessage.js +0 -14
  805. package/dist/tools/BashOutputTool/BashOutputToolResultMessage.js.map +0 -7
  806. package/dist/tools/BashOutputTool/prompt.js +0 -13
  807. package/dist/tools/BashOutputTool/prompt.js.map +0 -7
  808. package/dist/tools/BashTool/BashTool.js +0 -353
  809. package/dist/tools/BashTool/BashTool.js.map +0 -7
  810. package/dist/tools/BashTool/BashToolResultMessage.js +0 -24
  811. package/dist/tools/BashTool/BashToolResultMessage.js.map +0 -7
  812. package/dist/tools/BashTool/OutputLine.js +0 -84
  813. package/dist/tools/BashTool/OutputLine.js.map +0 -7
  814. package/dist/tools/BashTool/prompt.js +0 -496
  815. package/dist/tools/BashTool/prompt.js.map +0 -7
  816. package/dist/tools/BashTool/utils.js +0 -89
  817. package/dist/tools/BashTool/utils.js.map +0 -7
  818. package/dist/tools/EnterWorktreeTool/EnterWorktreeTool.js +0 -121
  819. package/dist/tools/EnterWorktreeTool/EnterWorktreeTool.js.map +0 -7
  820. package/dist/tools/EnterWorktreeTool/prompt.js +0 -22
  821. package/dist/tools/EnterWorktreeTool/prompt.js.map +0 -7
  822. package/dist/tools/FileEditTool/FileEditTool.js +0 -278
  823. package/dist/tools/FileEditTool/FileEditTool.js.map +0 -7
  824. package/dist/tools/FileEditTool/prompt.js +0 -56
  825. package/dist/tools/FileEditTool/prompt.js.map +0 -7
  826. package/dist/tools/FileEditTool/utils.js +0 -48
  827. package/dist/tools/FileEditTool/utils.js.map +0 -7
  828. package/dist/tools/FileReadTool/FileReadTool.js +0 -427
  829. package/dist/tools/FileReadTool/FileReadTool.js.map +0 -7
  830. package/dist/tools/FileReadTool/prompt.js +0 -24
  831. package/dist/tools/FileReadTool/prompt.js.map +0 -7
  832. package/dist/tools/FileWriteTool/FileWriteTool.js +0 -211
  833. package/dist/tools/FileWriteTool/FileWriteTool.js.map +0 -7
  834. package/dist/tools/FileWriteTool/prompt.js +0 -21
  835. package/dist/tools/FileWriteTool/prompt.js.map +0 -7
  836. package/dist/tools/GlobTool/GlobTool.js +0 -100
  837. package/dist/tools/GlobTool/GlobTool.js.map +0 -7
  838. package/dist/tools/GlobTool/prompt.js +0 -23
  839. package/dist/tools/GlobTool/prompt.js.map +0 -7
  840. package/dist/tools/GrepTool/GrepTool.js +0 -417
  841. package/dist/tools/GrepTool/GrepTool.js.map +0 -7
  842. package/dist/tools/GrepTool/prompt.js +0 -22
  843. package/dist/tools/GrepTool/prompt.js.map +0 -7
  844. package/dist/tools/KillShellTool/KillShellTool.js +0 -92
  845. package/dist/tools/KillShellTool/KillShellTool.js.map +0 -7
  846. package/dist/tools/KillShellTool/KillShellToolResultMessage.js +0 -14
  847. package/dist/tools/KillShellTool/KillShellToolResultMessage.js.map +0 -7
  848. package/dist/tools/KillShellTool/prompt.js +0 -12
  849. package/dist/tools/KillShellTool/prompt.js.map +0 -7
  850. package/dist/tools/ListMcpResourcesTool/ListMcpResourcesTool.js +0 -109
  851. package/dist/tools/ListMcpResourcesTool/ListMcpResourcesTool.js.map +0 -7
  852. package/dist/tools/ListMcpResourcesTool/prompt.js +0 -19
  853. package/dist/tools/ListMcpResourcesTool/prompt.js.map +0 -7
  854. package/dist/tools/LspTool/LspTool.js +0 -673
  855. package/dist/tools/LspTool/LspTool.js.map +0 -7
  856. package/dist/tools/LspTool/prompt.js +0 -27
  857. package/dist/tools/LspTool/prompt.js.map +0 -7
  858. package/dist/tools/MCPSearchTool/MCPSearchTool.js +0 -172
  859. package/dist/tools/MCPSearchTool/MCPSearchTool.js.map +0 -7
  860. package/dist/tools/MCPSearchTool/prompt.js +0 -77
  861. package/dist/tools/MCPSearchTool/prompt.js.map +0 -7
  862. package/dist/tools/MCPTool/MCPTool.js +0 -97
  863. package/dist/tools/MCPTool/MCPTool.js.map +0 -7
  864. package/dist/tools/MCPTool/prompt.js +0 -7
  865. package/dist/tools/MCPTool/prompt.js.map +0 -7
  866. package/dist/tools/MemoryReadTool/MemoryReadTool.js +0 -117
  867. package/dist/tools/MemoryReadTool/MemoryReadTool.js.map +0 -7
  868. package/dist/tools/MemoryReadTool/prompt.js +0 -7
  869. package/dist/tools/MemoryReadTool/prompt.js.map +0 -7
  870. package/dist/tools/MemoryWriteTool/MemoryWriteTool.js +0 -78
  871. package/dist/tools/MemoryWriteTool/MemoryWriteTool.js.map +0 -7
  872. package/dist/tools/MemoryWriteTool/prompt.js +0 -7
  873. package/dist/tools/MemoryWriteTool/prompt.js.map +0 -7
  874. package/dist/tools/MultiEditTool/MultiEditTool.js +0 -328
  875. package/dist/tools/MultiEditTool/MultiEditTool.js.map +0 -7
  876. package/dist/tools/MultiEditTool/prompt.js +0 -47
  877. package/dist/tools/MultiEditTool/prompt.js.map +0 -7
  878. package/dist/tools/NotebookEditTool/NotebookEditTool.js +0 -257
  879. package/dist/tools/NotebookEditTool/NotebookEditTool.js.map +0 -7
  880. package/dist/tools/NotebookEditTool/prompt.js +0 -7
  881. package/dist/tools/NotebookEditTool/prompt.js.map +0 -7
  882. package/dist/tools/NotebookReadTool/NotebookReadTool.js +0 -218
  883. package/dist/tools/NotebookReadTool/NotebookReadTool.js.map +0 -7
  884. package/dist/tools/NotebookReadTool/prompt.js +0 -7
  885. package/dist/tools/NotebookReadTool/prompt.js.map +0 -7
  886. package/dist/tools/PlanModeTool/EnterPlanModeTool.js +0 -85
  887. package/dist/tools/PlanModeTool/EnterPlanModeTool.js.map +0 -7
  888. package/dist/tools/PlanModeTool/ExitPlanModeTool.js +0 -164
  889. package/dist/tools/PlanModeTool/ExitPlanModeTool.js.map +0 -7
  890. package/dist/tools/PlanModeTool/prompt.js +0 -43
  891. package/dist/tools/PlanModeTool/prompt.js.map +0 -7
  892. package/dist/tools/ReadMcpResourceTool/ReadMcpResourceTool.js +0 -130
  893. package/dist/tools/ReadMcpResourceTool/ReadMcpResourceTool.js.map +0 -7
  894. package/dist/tools/ReadMcpResourceTool/prompt.js +0 -17
  895. package/dist/tools/ReadMcpResourceTool/prompt.js.map +0 -7
  896. package/dist/tools/SendMessageTool/SendMessageTool.js +0 -341
  897. package/dist/tools/SendMessageTool/SendMessageTool.js.map +0 -7
  898. package/dist/tools/SendMessageTool/prompt.js +0 -44
  899. package/dist/tools/SendMessageTool/prompt.js.map +0 -7
  900. package/dist/tools/SkillTool/SkillTool.js +0 -227
  901. package/dist/tools/SkillTool/SkillTool.js.map +0 -7
  902. package/dist/tools/SkillTool/prompt.js +0 -81
  903. package/dist/tools/SkillTool/prompt.js.map +0 -7
  904. package/dist/tools/SlashCommandTool/SlashCommandTool.js +0 -416
  905. package/dist/tools/SlashCommandTool/SlashCommandTool.js.map +0 -7
  906. package/dist/tools/SlashCommandTool/prompt.js +0 -35
  907. package/dist/tools/SlashCommandTool/prompt.js.map +0 -7
  908. package/dist/tools/TaskCreateTool/TaskCreateTool.js +0 -102
  909. package/dist/tools/TaskCreateTool/TaskCreateTool.js.map +0 -7
  910. package/dist/tools/TaskCreateTool/prompt.js +0 -58
  911. package/dist/tools/TaskCreateTool/prompt.js.map +0 -7
  912. package/dist/tools/TaskGetTool/TaskGetTool.js +0 -115
  913. package/dist/tools/TaskGetTool/TaskGetTool.js.map +0 -7
  914. package/dist/tools/TaskGetTool/prompt.js +0 -28
  915. package/dist/tools/TaskGetTool/prompt.js.map +0 -7
  916. package/dist/tools/TaskListTool/TaskListTool.js +0 -102
  917. package/dist/tools/TaskListTool/TaskListTool.js.map +0 -7
  918. package/dist/tools/TaskListTool/prompt.js +0 -42
  919. package/dist/tools/TaskListTool/prompt.js.map +0 -7
  920. package/dist/tools/TaskOutputTool/TaskOutputTool.js +0 -190
  921. package/dist/tools/TaskOutputTool/TaskOutputTool.js.map +0 -7
  922. package/dist/tools/TaskOutputTool/prompt.js +0 -16
  923. package/dist/tools/TaskOutputTool/prompt.js.map +0 -7
  924. package/dist/tools/TaskStopTool/TaskStopTool.js +0 -150
  925. package/dist/tools/TaskStopTool/TaskStopTool.js.map +0 -7
  926. package/dist/tools/TaskStopTool/prompt.js +0 -15
  927. package/dist/tools/TaskStopTool/prompt.js.map +0 -7
  928. package/dist/tools/TaskTool/TaskTool.js +0 -1525
  929. package/dist/tools/TaskTool/TaskTool.js.map +0 -7
  930. package/dist/tools/TaskTool/constants.js +0 -11
  931. package/dist/tools/TaskTool/constants.js.map +0 -7
  932. package/dist/tools/TaskTool/prompt.js +0 -121
  933. package/dist/tools/TaskTool/prompt.js.map +0 -7
  934. package/dist/tools/TaskUpdateTool/TaskUpdateTool.js +0 -148
  935. package/dist/tools/TaskUpdateTool/TaskUpdateTool.js.map +0 -7
  936. package/dist/tools/TaskUpdateTool/prompt.js +0 -81
  937. package/dist/tools/TaskUpdateTool/prompt.js.map +0 -7
  938. package/dist/tools/TeamCreateTool/TeamCreateTool.js +0 -129
  939. package/dist/tools/TeamCreateTool/TeamCreateTool.js.map +0 -7
  940. package/dist/tools/TeamCreateTool/prompt.js +0 -58
  941. package/dist/tools/TeamCreateTool/prompt.js.map +0 -7
  942. package/dist/tools/TeamDeleteTool/TeamDeleteTool.js +0 -151
  943. package/dist/tools/TeamDeleteTool/TeamDeleteTool.js.map +0 -7
  944. package/dist/tools/TeamDeleteTool/prompt.js +0 -16
  945. package/dist/tools/TeamDeleteTool/prompt.js.map +0 -7
  946. package/dist/tools/ThinkTool/ThinkTool.js +0 -45
  947. package/dist/tools/ThinkTool/ThinkTool.js.map +0 -7
  948. package/dist/tools/ThinkTool/prompt.js +0 -16
  949. package/dist/tools/ThinkTool/prompt.js.map +0 -7
  950. package/dist/tools/TodoWriteTool/TodoWriteTool.js +0 -232
  951. package/dist/tools/TodoWriteTool/TodoWriteTool.js.map +0 -7
  952. package/dist/tools/TodoWriteTool/prompt.js +0 -87
  953. package/dist/tools/TodoWriteTool/prompt.js.map +0 -7
  954. package/dist/tools/URLFetcherTool/URLFetcherTool.js +0 -234
  955. package/dist/tools/URLFetcherTool/URLFetcherTool.js.map +0 -7
  956. package/dist/tools/URLFetcherTool/cache.js +0 -95
  957. package/dist/tools/URLFetcherTool/cache.js.map +0 -7
  958. package/dist/tools/URLFetcherTool/htmlToMarkdown.js +0 -44
  959. package/dist/tools/URLFetcherTool/htmlToMarkdown.js.map +0 -7
  960. package/dist/tools/URLFetcherTool/prompt.js +0 -28
  961. package/dist/tools/URLFetcherTool/prompt.js.map +0 -7
  962. package/dist/tools/WebSearchTool/WebSearchTool.js +0 -92
  963. package/dist/tools/WebSearchTool/WebSearchTool.js.map +0 -7
  964. package/dist/tools/WebSearchTool/prompt.js +0 -24
  965. package/dist/tools/WebSearchTool/prompt.js.map +0 -7
  966. package/dist/tools/WebSearchTool/searchProviders.js +0 -58
  967. package/dist/tools/WebSearchTool/searchProviders.js.map +0 -7
  968. package/dist/tools/lsTool/lsTool.js +0 -201
  969. package/dist/tools/lsTool/lsTool.js.map +0 -7
  970. package/dist/tools/lsTool/prompt.js +0 -5
  971. package/dist/tools/lsTool/prompt.js.map +0 -7
  972. package/dist/tools.js +0 -207
  973. package/dist/tools.js.map +0 -7
  974. package/dist/types/PermissionMode.js +0 -160
  975. package/dist/types/PermissionMode.js.map +0 -7
  976. package/dist/types/RequestContext.js +0 -47
  977. package/dist/types/RequestContext.js.map +0 -7
  978. package/dist/types/agentTeams.js +0 -1
  979. package/dist/types/agentTeams.js.map +0 -7
  980. package/dist/types/askUserQuestion.js +0 -1
  981. package/dist/types/askUserQuestion.js.map +0 -7
  982. package/dist/types/common.d.js +0 -1
  983. package/dist/types/common.d.js.map +0 -7
  984. package/dist/types/conversation.js +0 -1
  985. package/dist/types/conversation.js.map +0 -7
  986. package/dist/types/core.js +0 -1
  987. package/dist/types/core.js.map +0 -7
  988. package/dist/types/hooks.js +0 -47
  989. package/dist/types/hooks.js.map +0 -7
  990. package/dist/types/interactionRound.js +0 -1
  991. package/dist/types/interactionRound.js.map +0 -7
  992. package/dist/types/logs.js +0 -1
  993. package/dist/types/logs.js.map +0 -7
  994. package/dist/types/marketplace.js +0 -107
  995. package/dist/types/marketplace.js.map +0 -7
  996. package/dist/types/messageGroup.js +0 -36
  997. package/dist/types/messageGroup.js.map +0 -7
  998. package/dist/types/modelCapabilities.js +0 -1
  999. package/dist/types/modelCapabilities.js.map +0 -7
  1000. package/dist/types/notebook.js +0 -1
  1001. package/dist/types/notebook.js.map +0 -7
  1002. package/dist/types/plugin.js +0 -86
  1003. package/dist/types/plugin.js.map +0 -7
  1004. package/dist/types/subagent.js +0 -1
  1005. package/dist/types/subagent.js.map +0 -7
  1006. package/dist/types/thinking.js +0 -1
  1007. package/dist/types/thinking.js.map +0 -7
  1008. package/dist/utils/BackgroundShellManager.js +0 -378
  1009. package/dist/utils/BackgroundShellManager.js.map +0 -7
  1010. package/dist/utils/CircuitBreaker.js +0 -248
  1011. package/dist/utils/CircuitBreaker.js.map +0 -7
  1012. package/dist/utils/Cursor.js +0 -315
  1013. package/dist/utils/Cursor.js.map +0 -7
  1014. package/dist/utils/MessageBatchBuffer.js +0 -102
  1015. package/dist/utils/MessageBatchBuffer.js.map +0 -7
  1016. package/dist/utils/PersistentShell.js +0 -526
  1017. package/dist/utils/PersistentShell.js.map +0 -7
  1018. package/dist/utils/advancedFuzzyMatcher.js +0 -209
  1019. package/dist/utils/advancedFuzzyMatcher.js.map +0 -7
  1020. package/dist/utils/agentHookExecutor.js +0 -103
  1021. package/dist/utils/agentHookExecutor.js.map +0 -7
  1022. package/dist/utils/agentLoader.js +0 -655
  1023. package/dist/utils/agentLoader.js.map +0 -7
  1024. package/dist/utils/agentMemory.js +0 -134
  1025. package/dist/utils/agentMemory.js.map +0 -7
  1026. package/dist/utils/agentStorage.js +0 -59
  1027. package/dist/utils/agentStorage.js.map +0 -7
  1028. package/dist/utils/agentTranscripts.js +0 -641
  1029. package/dist/utils/agentTranscripts.js.map +0 -7
  1030. package/dist/utils/animationManager.js +0 -250
  1031. package/dist/utils/animationManager.js.map +0 -7
  1032. package/dist/utils/animationSync.js +0 -110
  1033. package/dist/utils/animationSync.js.map +0 -7
  1034. package/dist/utils/array.js +0 -7
  1035. package/dist/utils/array.js.map +0 -7
  1036. package/dist/utils/ask.js +0 -80
  1037. package/dist/utils/ask.js.map +0 -7
  1038. package/dist/utils/async.js +0 -167
  1039. package/dist/utils/async.js.map +0 -7
  1040. package/dist/utils/asyncFile.js +0 -215
  1041. package/dist/utils/asyncFile.js.map +0 -7
  1042. package/dist/utils/atomicWrite.js +0 -23
  1043. package/dist/utils/atomicWrite.js.map +0 -7
  1044. package/dist/utils/auth.js +0 -11
  1045. package/dist/utils/auth.js.map +0 -7
  1046. package/dist/utils/autoCompactCore.js +0 -203
  1047. package/dist/utils/autoCompactCore.js.map +0 -7
  1048. package/dist/utils/autoMemoryPaths.js +0 -89
  1049. package/dist/utils/autoMemoryPaths.js.map +0 -7
  1050. package/dist/utils/autoUpdater.js +0 -113
  1051. package/dist/utils/autoUpdater.js.map +0 -7
  1052. package/dist/utils/backgroundAgentManager.js +0 -231
  1053. package/dist/utils/backgroundAgentManager.js.map +0 -7
  1054. package/dist/utils/browser.js +0 -15
  1055. package/dist/utils/browser.js.map +0 -7
  1056. package/dist/utils/claudeCodeSync.js +0 -439
  1057. package/dist/utils/claudeCodeSync.js.map +0 -7
  1058. package/dist/utils/cleanup.js +0 -54
  1059. package/dist/utils/cleanup.js.map +0 -7
  1060. package/dist/utils/commands.js +0 -219
  1061. package/dist/utils/commands.js.map +0 -7
  1062. package/dist/utils/commonUnixCommands.js +0 -689
  1063. package/dist/utils/commonUnixCommands.js.map +0 -7
  1064. package/dist/utils/compressionMode.js +0 -47
  1065. package/dist/utils/compressionMode.js.map +0 -7
  1066. package/dist/utils/config.js +0 -716
  1067. package/dist/utils/config.js.map +0 -7
  1068. package/dist/utils/configPaths.js +0 -199
  1069. package/dist/utils/configPaths.js.map +0 -7
  1070. package/dist/utils/configSchema.js +0 -232
  1071. package/dist/utils/configSchema.js.map +0 -7
  1072. package/dist/utils/conversationRecovery.js +0 -54
  1073. package/dist/utils/conversationRecovery.js.map +0 -7
  1074. package/dist/utils/credentials/CredentialStore.js +0 -1
  1075. package/dist/utils/credentials/CredentialStore.js.map +0 -7
  1076. package/dist/utils/credentials/EncryptedFileStore.js +0 -157
  1077. package/dist/utils/credentials/EncryptedFileStore.js.map +0 -7
  1078. package/dist/utils/credentials/index.js +0 -51
  1079. package/dist/utils/credentials/index.js.map +0 -7
  1080. package/dist/utils/credentials/migration.js +0 -82
  1081. package/dist/utils/credentials/migration.js.map +0 -7
  1082. package/dist/utils/debugLogger.js +0 -889
  1083. package/dist/utils/debugLogger.js.map +0 -7
  1084. package/dist/utils/diff.js +0 -32
  1085. package/dist/utils/diff.js.map +0 -7
  1086. package/dist/utils/dualPath.js +0 -24
  1087. package/dist/utils/dualPath.js.map +0 -7
  1088. package/dist/utils/env.js +0 -45
  1089. package/dist/utils/env.js.map +0 -7
  1090. package/dist/utils/envConfig.js +0 -116
  1091. package/dist/utils/envConfig.js.map +0 -7
  1092. package/dist/utils/errorHandling.js +0 -89
  1093. package/dist/utils/errorHandling.js.map +0 -7
  1094. package/dist/utils/errors.js +0 -23
  1095. package/dist/utils/errors.js.map +0 -7
  1096. package/dist/utils/execFileNoThrow.js +0 -45
  1097. package/dist/utils/execFileNoThrow.js.map +0 -7
  1098. package/dist/utils/exit.js +0 -132
  1099. package/dist/utils/exit.js.map +0 -7
  1100. package/dist/utils/expertChatStorage.js +0 -78
  1101. package/dist/utils/expertChatStorage.js.map +0 -7
  1102. package/dist/utils/externalEditor.js +0 -155
  1103. package/dist/utils/externalEditor.js.map +0 -7
  1104. package/dist/utils/file.js +0 -282
  1105. package/dist/utils/file.js.map +0 -7
  1106. package/dist/utils/fileLock.js +0 -67
  1107. package/dist/utils/fileLock.js.map +0 -7
  1108. package/dist/utils/fileRecoveryCore.js +0 -41
  1109. package/dist/utils/fileRecoveryCore.js.map +0 -7
  1110. package/dist/utils/format.js +0 -119
  1111. package/dist/utils/format.js.map +0 -7
  1112. package/dist/utils/fuzzyMatcher.js +0 -258
  1113. package/dist/utils/fuzzyMatcher.js.map +0 -7
  1114. package/dist/utils/generators.js +0 -116
  1115. package/dist/utils/generators.js.map +0 -7
  1116. package/dist/utils/git.js +0 -83
  1117. package/dist/utils/git.js.map +0 -7
  1118. package/dist/utils/globalErrorHandler.js +0 -58
  1119. package/dist/utils/globalErrorHandler.js.map +0 -7
  1120. package/dist/utils/gpt5.js +0 -146
  1121. package/dist/utils/gpt5.js.map +0 -7
  1122. package/dist/utils/groupHandlers/index.js +0 -8
  1123. package/dist/utils/groupHandlers/index.js.map +0 -7
  1124. package/dist/utils/groupHandlers/parallelTasksHandler.js +0 -142
  1125. package/dist/utils/groupHandlers/parallelTasksHandler.js.map +0 -7
  1126. package/dist/utils/groupHandlers/taskHandler.js +0 -104
  1127. package/dist/utils/groupHandlers/taskHandler.js.map +0 -7
  1128. package/dist/utils/groupHandlers/types.js +0 -1
  1129. package/dist/utils/groupHandlers/types.js.map +0 -7
  1130. package/dist/utils/historyManager.js +0 -234
  1131. package/dist/utils/historyManager.js.map +0 -7
  1132. package/dist/utils/hookManager.js +0 -540
  1133. package/dist/utils/hookManager.js.map +0 -7
  1134. package/dist/utils/http.js +0 -7
  1135. package/dist/utils/http.js.map +0 -7
  1136. package/dist/utils/imagePaste.js +0 -29
  1137. package/dist/utils/imagePaste.js.map +0 -7
  1138. package/dist/utils/json.js +0 -16
  1139. package/dist/utils/json.js.map +0 -7
  1140. package/dist/utils/log.js +0 -333
  1141. package/dist/utils/log.js.map +0 -7
  1142. package/dist/utils/logRotation.js +0 -224
  1143. package/dist/utils/logRotation.js.map +0 -7
  1144. package/dist/utils/markdown.js +0 -464
  1145. package/dist/utils/markdown.js.map +0 -7
  1146. package/dist/utils/marketplaceManager.js +0 -545
  1147. package/dist/utils/marketplaceManager.js.map +0 -7
  1148. package/dist/utils/memSafety.js +0 -264
  1149. package/dist/utils/memSafety.js.map +0 -7
  1150. package/dist/utils/memoizeWithTTL.js +0 -25
  1151. package/dist/utils/memoizeWithTTL.js.map +0 -7
  1152. package/dist/utils/messageContextManager.js +0 -208
  1153. package/dist/utils/messageContextManager.js.map +0 -7
  1154. package/dist/utils/messageGroupManager.js +0 -274
  1155. package/dist/utils/messageGroupManager.js.map +0 -7
  1156. package/dist/utils/messages.js +0 -725
  1157. package/dist/utils/messages.js.map +0 -7
  1158. package/dist/utils/migration/index.js +0 -37
  1159. package/dist/utils/migration/index.js.map +0 -7
  1160. package/dist/utils/migration/migrateHistory.js +0 -273
  1161. package/dist/utils/migration/migrateHistory.js.map +0 -7
  1162. package/dist/utils/migration/migrateTodos.js +0 -323
  1163. package/dist/utils/migration/migrateTodos.js.map +0 -7
  1164. package/dist/utils/model.js +0 -846
  1165. package/dist/utils/model.js.map +0 -7
  1166. package/dist/utils/pasteCache.js +0 -313
  1167. package/dist/utils/pasteCache.js.map +0 -7
  1168. package/dist/utils/permissions/filesystem.js +0 -236
  1169. package/dist/utils/permissions/filesystem.js.map +0 -7
  1170. package/dist/utils/plan/planMode.js +0 -143
  1171. package/dist/utils/plan/planMode.js.map +0 -7
  1172. package/dist/utils/pluginInstaller.js +0 -518
  1173. package/dist/utils/pluginInstaller.js.map +0 -7
  1174. package/dist/utils/pluginLoader.js +0 -819
  1175. package/dist/utils/pluginLoader.js.map +0 -7
  1176. package/dist/utils/pluginRegistry.js +0 -111
  1177. package/dist/utils/pluginRegistry.js.map +0 -7
  1178. package/dist/utils/pluginValidator.js +0 -798
  1179. package/dist/utils/pluginValidator.js.map +0 -7
  1180. package/dist/utils/ptyCompat.js +0 -125
  1181. package/dist/utils/ptyCompat.js.map +0 -7
  1182. package/dist/utils/replStateMachine.js +0 -145
  1183. package/dist/utils/replStateMachine.js.map +0 -7
  1184. package/dist/utils/repoFetcher.js +0 -110
  1185. package/dist/utils/repoFetcher.js.map +0 -7
  1186. package/dist/utils/ripgrep.js +0 -236
  1187. package/dist/utils/ripgrep.js.map +0 -7
  1188. package/dist/utils/roundConverter.js +0 -262
  1189. package/dist/utils/roundConverter.js.map +0 -7
  1190. package/dist/utils/safeFetch.js +0 -45
  1191. package/dist/utils/safeFetch.js.map +0 -7
  1192. package/dist/utils/safePath.js +0 -132
  1193. package/dist/utils/safePath.js.map +0 -7
  1194. package/dist/utils/sanitizeInput.js +0 -32
  1195. package/dist/utils/sanitizeInput.js.map +0 -7
  1196. package/dist/utils/secureFile.js +0 -512
  1197. package/dist/utils/secureFile.js.map +0 -7
  1198. package/dist/utils/secureKeyStorage.js +0 -341
  1199. package/dist/utils/secureKeyStorage.js.map +0 -7
  1200. package/dist/utils/sensitiveFiles.js +0 -125
  1201. package/dist/utils/sensitiveFiles.js.map +0 -7
  1202. package/dist/utils/session/sessionPlugins.js +0 -67
  1203. package/dist/utils/session/sessionPlugins.js.map +0 -7
  1204. package/dist/utils/sessionIndex.js +0 -192
  1205. package/dist/utils/sessionIndex.js.map +0 -7
  1206. package/dist/utils/sessionState.js +0 -22
  1207. package/dist/utils/sessionState.js.map +0 -7
  1208. package/dist/utils/sessionTracker.js +0 -170
  1209. package/dist/utils/sessionTracker.js.map +0 -7
  1210. package/dist/utils/simpleMode.js +0 -7
  1211. package/dist/utils/simpleMode.js.map +0 -7
  1212. package/dist/utils/skillLoader.js +0 -230
  1213. package/dist/utils/skillLoader.js.map +0 -7
  1214. package/dist/utils/state.js +0 -24
  1215. package/dist/utils/state.js.map +0 -7
  1216. package/dist/utils/stats.js +0 -417
  1217. package/dist/utils/stats.js.map +0 -7
  1218. package/dist/utils/streamingState.js +0 -62
  1219. package/dist/utils/streamingState.js.map +0 -7
  1220. package/dist/utils/stringSubstitution.js +0 -106
  1221. package/dist/utils/stringSubstitution.js.map +0 -7
  1222. package/dist/utils/style.js +0 -34
  1223. package/dist/utils/style.js.map +0 -7
  1224. package/dist/utils/taskDisplayUtils.js +0 -258
  1225. package/dist/utils/taskDisplayUtils.js.map +0 -7
  1226. package/dist/utils/teamConfig.js +0 -624
  1227. package/dist/utils/teamConfig.js.map +0 -7
  1228. package/dist/utils/terminal.js +0 -59
  1229. package/dist/utils/terminal.js.map +0 -7
  1230. package/dist/utils/theme.js +0 -134
  1231. package/dist/utils/theme.js.map +0 -7
  1232. package/dist/utils/thinking.js +0 -63
  1233. package/dist/utils/thinking.js.map +0 -7
  1234. package/dist/utils/todoChangeCalculator.js +0 -64
  1235. package/dist/utils/todoChangeCalculator.js.map +0 -7
  1236. package/dist/utils/todoStorage.js +0 -413
  1237. package/dist/utils/todoStorage.js.map +0 -7
  1238. package/dist/utils/tokenProgress.js +0 -55
  1239. package/dist/utils/tokenProgress.js.map +0 -7
  1240. package/dist/utils/tokens.js +0 -30
  1241. package/dist/utils/tokens.js.map +0 -7
  1242. package/dist/utils/toolExecutionController.js +0 -109
  1243. package/dist/utils/toolExecutionController.js.map +0 -7
  1244. package/dist/utils/toolRiskClassification.js +0 -210
  1245. package/dist/utils/toolRiskClassification.js.map +0 -7
  1246. package/dist/utils/toolTimeout.js +0 -136
  1247. package/dist/utils/toolTimeout.js.map +0 -7
  1248. package/dist/utils/tooling/safeRender.js +0 -115
  1249. package/dist/utils/tooling/safeRender.js.map +0 -7
  1250. package/dist/utils/tooling/toolError.js +0 -12
  1251. package/dist/utils/tooling/toolError.js.map +0 -7
  1252. package/dist/utils/unaryLogging.js +0 -6
  1253. package/dist/utils/unaryLogging.js.map +0 -7
  1254. package/dist/utils/user.js +0 -40
  1255. package/dist/utils/user.js.map +0 -7
  1256. package/dist/utils/userFriendlyError.js +0 -346
  1257. package/dist/utils/userFriendlyError.js.map +0 -7
  1258. package/dist/utils/validate.js +0 -132
  1259. package/dist/utils/validate.js.map +0 -7
  1260. package/dist/version.js +0 -7
  1261. package/dist/version.js.map +0 -7
  1262. package/dist/yoga.wasm +0 -0
  1263. /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,20 +0,0 @@
1
- import { setTerminalTitle } from "../utils/terminal.js";
2
- import { gracefulExit } from "../utils/exit.js";
3
- const quit = {
4
- name: "quit",
5
- description: "Exit Minto",
6
- aliases: ["exit", "q"],
7
- isEnabled: true,
8
- isHidden: false,
9
- type: "local",
10
- userFacingName: () => "quit",
11
- async call(args, context) {
12
- setTerminalTitle("");
13
- await gracefulExit(0);
14
- return "";
15
- }
16
- };
17
- export {
18
- quit
19
- };
20
- //# 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'\nimport { gracefulExit } from '@utils/exit'\n\n/**\n * /quit slash command\n *\n * Clear terminal title and exit gracefully.\n * gracefulExit() shuts down MCP clients, kills child processes,\n * then calls process.exit(). Cost summary is printed by useCostSummary's\n * signal-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 await gracefulExit(0)\n return '' // unreachable \u2014 gracefulExit calls process.exit()\n },\n}\n"],
5
- "mappings": "AACA,SAAS,wBAAwB;AACjC,SAAS,oBAAoB;AAUtB,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,UAAM,aAAa,CAAC;AACpB,WAAO;AAAA,EACT;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
- }
@@ -1,71 +0,0 @@
1
- import React from "react";
2
- import { render } from "ink";
3
- import { t } from "../i18n/index.js";
4
- import { CACHE_PATHS, loadLogList } from "../utils/log.js";
5
- import { deserializeMessages } from "../utils/conversationRecovery.js";
6
- import { getNextAvailableLogForkNumber, logError } from "../utils/log.js";
7
- import { isDefaultSlowAndCapableModel } from "../utils/model.js";
8
- import { prepareTerminalForREPL } from "../utils/terminal.js";
9
- import { REPL } from "../screens/REPL.js";
10
- import { SessionPicker } from "../screens/ResumeConversation.js";
11
- var resume_default = {
12
- type: "local-jsx",
13
- name: "resume",
14
- description: t("commands.resume.description"),
15
- isEnabled: true,
16
- isHidden: false,
17
- hidePromptInput: true,
18
- aliases: ["r"],
19
- userFacingName() {
20
- return "resume";
21
- },
22
- async call(onDone, context) {
23
- const { commands = [], tools = [], verbose = false } = context.options || {};
24
- const allRawLogs = await loadLogList(CACHE_PATHS.messages());
25
- const handleSelect = async (log) => {
26
- try {
27
- onDone();
28
- const isDefaultModel = await isDefaultSlowAndCapableModel();
29
- context.unmount();
30
- await prepareTerminalForREPL();
31
- render(
32
- /* @__PURE__ */ React.createElement(
33
- REPL,
34
- {
35
- messageLogName: log.date,
36
- initialPrompt: "",
37
- shouldShowPromptInput: true,
38
- verbose,
39
- commands,
40
- tools,
41
- initialMessages: deserializeMessages(log.messages, tools),
42
- initialForkNumber: getNextAvailableLogForkNumber(
43
- log.date,
44
- log.forkNumber ?? 1,
45
- 0
46
- ),
47
- isDefaultModel,
48
- isResumedConversation: true
49
- }
50
- ),
51
- { exitOnCtrlC: false }
52
- );
53
- } catch (e) {
54
- logError(`Failed to load conversation: ${e}`);
55
- throw e;
56
- }
57
- };
58
- return /* @__PURE__ */ React.createElement(
59
- SessionPicker,
60
- {
61
- logs: allRawLogs,
62
- onSelect: handleSelect,
63
- onClose: onDone
64
- }
65
- );
66
- }
67
- };
68
- export {
69
- resume_default as default
70
- };
71
- //# sourceMappingURL=resume.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/commands/resume.tsx"],
4
- "sourcesContent": ["/**\n * Resume Command (/resume, /r)\n *\n * Resume a previous conversation from within the REPL.\n * Reuses SessionPicker from ResumeConversation screen.\n */\n\nimport React from 'react'\nimport { render } from 'ink'\nimport type { Command } from '@commands'\nimport { t } from '@i18n'\nimport { CACHE_PATHS, loadLogList } from '@utils/log'\nimport type { LogOption } from '@minto-types/logs'\nimport { deserializeMessages } from '@utils/conversationRecovery'\nimport { getNextAvailableLogForkNumber, logError } from '@utils/log'\nimport { isDefaultSlowAndCapableModel } from '@utils/model'\nimport { prepareTerminalForREPL } from '@utils/terminal'\nimport { REPL } from '@screens/REPL'\nimport type { Tool } from '@tool'\nimport { SessionPicker } from '@screens/ResumeConversation'\n\nexport default {\n type: 'local-jsx',\n name: 'resume',\n description: t('commands.resume.description'),\n isEnabled: true,\n isHidden: false,\n hidePromptInput: true,\n aliases: ['r'],\n userFacingName() {\n return 'resume'\n },\n async call(onDone, context) {\n const { commands = [], tools = [], verbose = false } = context.options || {}\n\n const allRawLogs = await loadLogList(CACHE_PATHS.messages())\n\n const handleSelect = async (log: LogOption) => {\n try {\n onDone()\n const isDefaultModel = await isDefaultSlowAndCapableModel()\n context.unmount()\n await prepareTerminalForREPL()\n render(\n <REPL\n messageLogName={log.date}\n initialPrompt=\"\"\n shouldShowPromptInput={true}\n verbose={verbose}\n commands={commands}\n tools={tools as Tool[]}\n initialMessages={deserializeMessages(log.messages, tools as Tool[])}\n initialForkNumber={getNextAvailableLogForkNumber(\n log.date,\n log.forkNumber ?? 1,\n 0,\n )}\n isDefaultModel={isDefaultModel}\n isResumedConversation={true}\n />,\n { exitOnCtrlC: false },\n )\n } catch (e) {\n logError(`Failed to load conversation: ${e}`)\n throw e\n }\n }\n\n return (\n <SessionPicker\n logs={allRawLogs}\n onSelect={handleSelect}\n onClose={onDone}\n />\n )\n },\n} satisfies Command\n"],
5
- "mappings": "AAOA,OAAO,WAAW;AAClB,SAAS,cAAc;AAEvB,SAAS,SAAS;AAClB,SAAS,aAAa,mBAAmB;AAEzC,SAAS,2BAA2B;AACpC,SAAS,+BAA+B,gBAAgB;AACxD,SAAS,oCAAoC;AAC7C,SAAS,8BAA8B;AACvC,SAAS,YAAY;AAErB,SAAS,qBAAqB;AAE9B,IAAO,iBAAQ;AAAA,EACb,MAAM;AAAA,EACN,MAAM;AAAA,EACN,aAAa,EAAE,6BAA6B;AAAA,EAC5C,WAAW;AAAA,EACX,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,SAAS,CAAC,GAAG;AAAA,EACb,iBAAiB;AACf,WAAO;AAAA,EACT;AAAA,EACA,MAAM,KAAK,QAAQ,SAAS;AAC1B,UAAM,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,GAAG,UAAU,MAAM,IAAI,QAAQ,WAAW,CAAC;AAE3E,UAAM,aAAa,MAAM,YAAY,YAAY,SAAS,CAAC;AAE3D,UAAM,eAAe,OAAO,QAAmB;AAC7C,UAAI;AACF,eAAO;AACP,cAAM,iBAAiB,MAAM,6BAA6B;AAC1D,gBAAQ,QAAQ;AAChB,cAAM,uBAAuB;AAC7B;AAAA,UACE;AAAA,YAAC;AAAA;AAAA,cACC,gBAAgB,IAAI;AAAA,cACpB,eAAc;AAAA,cACd,uBAAuB;AAAA,cACvB;AAAA,cACA;AAAA,cACA;AAAA,cACA,iBAAiB,oBAAoB,IAAI,UAAU,KAAe;AAAA,cAClE,mBAAmB;AAAA,gBACjB,IAAI;AAAA,gBACJ,IAAI,cAAc;AAAA,gBAClB;AAAA,cACF;AAAA,cACA;AAAA,cACA,uBAAuB;AAAA;AAAA,UACzB;AAAA,UACA,EAAE,aAAa,MAAM;AAAA,QACvB;AAAA,MACF,SAAS,GAAG;AACV,iBAAS,gCAAgC,CAAC,EAAE;AAC5C,cAAM;AAAA,MACR;AAAA,IACF;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAM;AAAA,QACN,UAAU;AAAA,QACV,SAAS;AAAA;AAAA,IACX;AAAA,EAEJ;AACF;",
6
- "names": []
7
- }
@@ -1,51 +0,0 @@
1
- const review = {
2
- name: "review",
3
- description: "Review code changes (staged git diff or specified files)",
4
- isEnabled: true,
5
- isHidden: false,
6
- type: "prompt",
7
- progressMessage: "Reviewing code...",
8
- userFacingName() {
9
- return "review";
10
- },
11
- async getPromptForCommand(args) {
12
- const target = args.trim();
13
- if (target) {
14
- return [
15
- {
16
- role: "user",
17
- content: `Please review the following files or changes: ${target}
18
-
19
- Perform a thorough code review. For each issue found:
20
- 1. Identify the file and line
21
- 2. Describe the issue (bug, style, performance, security, etc.)
22
- 3. Suggest a fix
23
-
24
- Also note any positive patterns worth highlighting. Be constructive and specific.`
25
- }
26
- ];
27
- }
28
- return [
29
- {
30
- role: "user",
31
- content: `Please review the current git changes. Follow these steps:
32
-
33
- 1. Run \`git diff --staged\` to see staged changes. If no staged changes, run \`git diff\` for unstaged changes.
34
- 2. For each changed file, analyze the diff thoroughly.
35
- 3. Report issues organized by severity:
36
- - **Critical**: Bugs, security vulnerabilities, data loss risks
37
- - **Important**: Logic errors, missing error handling, performance issues
38
- - **Minor**: Style, naming, documentation gaps
39
- 4. Note positive patterns worth highlighting.
40
- 5. Provide a brief summary with overall assessment.
41
-
42
- Be constructive, specific, and actionable.`
43
- }
44
- ];
45
- }
46
- };
47
- var review_default = review;
48
- export {
49
- review_default as default
50
- };
51
- //# sourceMappingURL=review.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/commands/review.ts"],
4
- "sourcesContent": ["/**\n * /review command\n *\n * Prompt-type command that enters code review mode.\n * Reviews staged git changes or specified files.\n */\n\nimport type { MessageParam } from '@anthropic-ai/sdk/resources/index.mjs'\nimport type { Command } from '../commands'\n\nconst review: Command = {\n name: 'review',\n description: 'Review code changes (staged git diff or specified files)',\n isEnabled: true,\n isHidden: false,\n type: 'prompt',\n progressMessage: 'Reviewing code...',\n userFacingName() {\n return 'review'\n },\n async getPromptForCommand(args: string): Promise<MessageParam[]> {\n const target = args.trim()\n\n if (target) {\n return [\n {\n role: 'user',\n content: `Please review the following files or changes: ${target}\n\nPerform a thorough code review. For each issue found:\n1. Identify the file and line\n2. Describe the issue (bug, style, performance, security, etc.)\n3. Suggest a fix\n\nAlso note any positive patterns worth highlighting. Be constructive and specific.`,\n },\n ]\n }\n\n return [\n {\n role: 'user',\n content: `Please review the current git changes. Follow these steps:\n\n1. Run \\`git diff --staged\\` to see staged changes. If no staged changes, run \\`git diff\\` for unstaged changes.\n2. For each changed file, analyze the diff thoroughly.\n3. Report issues organized by severity:\n - **Critical**: Bugs, security vulnerabilities, data loss risks\n - **Important**: Logic errors, missing error handling, performance issues\n - **Minor**: Style, naming, documentation gaps\n4. Note positive patterns worth highlighting.\n5. Provide a brief summary with overall assessment.\n\nBe constructive, specific, and actionable.`,\n },\n ]\n },\n}\n\nexport default review\n"],
5
- "mappings": "AAUA,MAAM,SAAkB;AAAA,EACtB,MAAM;AAAA,EACN,aAAa;AAAA,EACb,WAAW;AAAA,EACX,UAAU;AAAA,EACV,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,iBAAiB;AACf,WAAO;AAAA,EACT;AAAA,EACA,MAAM,oBAAoB,MAAuC;AAC/D,UAAM,SAAS,KAAK,KAAK;AAEzB,QAAI,QAAQ;AACV,aAAO;AAAA,QACL;AAAA,UACE,MAAM;AAAA,UACN,SAAS,iDAAiD,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAQlE;AAAA,MACF;AAAA,IACF;AAEA,WAAO;AAAA,MACL;AAAA,QACE,MAAM;AAAA,QACN,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAYX;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAO,iBAAQ;",
6
- "names": []
7
- }