@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/services/mcpClient.ts"],
4
- "sourcesContent": ["import { zipObject } from 'lodash-es'\nimport { debug as debugLogger } from '@utils/debugLogger'\nimport {\n getCurrentProjectConfig,\n McpServerConfig,\n saveCurrentProjectConfig,\n getGlobalConfig,\n getMutableGlobalConfig,\n saveGlobalConfig,\n getMcprcConfig,\n addMcprcServerForTesting,\n removeMcprcServerForTesting,\n} from '@utils/config'\nimport { existsSync, readFileSync, writeFileSync } from 'fs'\nimport { join } from 'path'\nimport { getCwd } from '@utils/state'\nimport { safeParseJSON } from '@utils/json'\nimport {\n ImageBlockParam,\n MessageParam,\n ToolResultBlockParam,\n} from '@anthropic-ai/sdk/resources/index.mjs'\nimport { Client } from '@modelcontextprotocol/sdk/client/index.js'\nimport { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js'\nimport { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js'\nimport {\n CallToolResultSchema,\n ClientRequest,\n ListPromptsResult,\n ListPromptsResultSchema,\n ListToolsResult,\n ListToolsResultSchema,\n ListResourcesResult,\n ListResourcesResultSchema,\n ReadResourceResult,\n ReadResourceResultSchema,\n Result,\n ResultSchema,\n ToolListChangedNotificationSchema,\n} from '@modelcontextprotocol/sdk/types.js'\nimport { memoize, pickBy } from 'lodash-es'\nimport type { Tool } from '@tool'\nimport { MCPTool } from '@tools/MCPTool/MCPTool'\nimport { logMCPError } from '@utils/log'\nimport { ensureProxyBypass } from '@utils/envConfig'\nimport { Command } from '@commands'\nimport { PRODUCT_COMMAND } from '@constants/product'\nimport { CircuitBreakerRegistry, CircuitOpenError } from '@utils/CircuitBreaker'\nimport { emitReminderEvent } from '@services/systemReminder'\n\ntype McpName = string\n\n/**\n * Circuit breaker registry for MCP server connections\n * Each server gets its own circuit breaker to prevent cascading failures\n */\n/**\n * Env var prefixes/names to strip when spawning MCP server processes.\n * Prevents leaking API keys and secrets to third-party servers.\n * Explicit per-server `env` values in config still override (intentional).\n */\nconst SENSITIVE_ENV_PREFIXES = [\n 'ANTHROPIC_',\n 'OPENAI_',\n 'AWS_SECRET',\n 'AWS_ACCESS_KEY',\n 'AWS_SESSION_TOKEN',\n 'AZURE_',\n 'GOOGLE_API_KEY',\n 'GOOGLE_APPLICATION_CREDENTIALS',\n 'HF_TOKEN',\n 'REPLICATE_API_TOKEN',\n 'HUGGINGFACE_',\n 'COHERE_',\n 'MISTRAL_',\n 'GROQ_',\n 'TOGETHER_',\n 'FIREWORKS_',\n 'PERPLEXITY_',\n 'DEEPSEEK_',\n 'GITHUB_TOKEN',\n 'GH_TOKEN',\n 'MINTO_API',\n]\n\n/**\n * Sensitive env var suffix patterns.\n * Any env var ending with one of these suffixes is filtered out,\n * UNLESS it is in the allowlist of safe system vars.\n */\nconst SENSITIVE_ENV_SUFFIXES = ['_SECRET', '_PASSWORD', '_TOKEN', '_KEY']\n\n/**\n * System env vars (or prefixes) that should NEVER be filtered,\n * even if they match a sensitive suffix pattern.\n */\nconst SAFE_SYSTEM_ENV_VARS = new Set([\n 'HOME',\n 'PATH',\n 'TERM',\n 'SHELL',\n 'USER',\n 'LANG',\n 'EDITOR',\n 'DISPLAY',\n 'SSH_AUTH_SOCK',\n 'GPG_TTY',\n])\n\nfunction isSafeSystemVar(key: string): boolean {\n return SAFE_SYSTEM_ENV_VARS.has(key) || key.startsWith('XDG_')\n}\n\nexport function filterSensitiveEnv(\n env: NodeJS.ProcessEnv,\n): Record<string, string> {\n return Object.fromEntries(\n Object.entries(env)\n .filter(([k]) => {\n // Always keep safe system vars\n if (isSafeSystemVar(k)) return true\n // Block prefix matches\n if (SENSITIVE_ENV_PREFIXES.some(p => k.startsWith(p) || k === p))\n return false\n // Block suffix matches\n if (SENSITIVE_ENV_SUFFIXES.some(s => k.endsWith(s))) return false\n return true\n })\n .filter((e): e is [string, string] => e[1] !== undefined),\n )\n}\n\nconst mcpCircuitBreakers = new CircuitBreakerRegistry({\n failureThreshold: 5,\n successThreshold: 2,\n openTimeout: 30000, // 30 seconds before trying again\n})\n\nexport function parseEnvVars(\n rawEnvArgs: string[] | undefined,\n): Record<string, string> {\n const parsedEnv: Record<string, string> = {}\n\n // Parse individual env vars\n if (rawEnvArgs) {\n for (const envStr of rawEnvArgs) {\n const [key, ...valueParts] = envStr.split('=')\n if (!key || valueParts.length === 0) {\n throw new Error(\n `Invalid environment variable format: ${envStr}, environment variables should be added as: -e KEY1=value1 -e KEY2=value2`,\n )\n }\n parsedEnv[key] = valueParts.join('=')\n }\n }\n return parsedEnv\n}\n\nconst VALID_SCOPES = ['project', 'global', 'mcprc'] as const\ntype ConfigScope = (typeof VALID_SCOPES)[number]\nconst EXTERNAL_SCOPES = ['project', 'global'] as ConfigScope[]\n\nexport function ensureConfigScope(scope?: string): ConfigScope {\n if (!scope) return 'project'\n\n const scopesToCheck =\n process.env.USER_TYPE === 'external' ? EXTERNAL_SCOPES : VALID_SCOPES\n\n if (!scopesToCheck.includes(scope as ConfigScope)) {\n throw new Error(\n `Invalid scope: ${scope}. Must be one of: ${scopesToCheck.join(', ')}`,\n )\n }\n\n return scope as ConfigScope\n}\n\nexport function addMcpServer(\n name: McpName,\n server: McpServerConfig,\n scope: ConfigScope = 'project',\n): void {\n if (scope === 'mcprc') {\n if (process.env.NODE_ENV === 'test') {\n addMcprcServerForTesting(name, server)\n } else {\n const mcprcPath = join(getCwd(), '.mcprc')\n let mcprcConfig: Record<string, McpServerConfig> = {}\n\n // Read existing config if present\n if (existsSync(mcprcPath)) {\n try {\n const mcprcContent = readFileSync(mcprcPath, 'utf-8')\n const existingConfig = safeParseJSON(mcprcContent)\n if (existingConfig && typeof existingConfig === 'object') {\n mcprcConfig = existingConfig as Record<string, McpServerConfig>\n }\n } catch (e) {\n debugLogger.warn(\n 'MCP_CONFIG',\n `Failed to read/parse .mcprc: ${e instanceof Error ? e.message : String(e)}`,\n )\n }\n }\n\n // Add the server\n mcprcConfig[name] = server\n\n // Write back to .mcprc\n try {\n writeFileSync(mcprcPath, JSON.stringify(mcprcConfig, null, 2), 'utf-8')\n } catch (error) {\n throw new Error(`Failed to write to .mcprc: ${error}`)\n }\n }\n } else if (scope === 'global') {\n const config = getMutableGlobalConfig()\n if (!config.mcpServers) {\n config.mcpServers = {}\n }\n config.mcpServers[name] = server\n saveGlobalConfig(config)\n } else {\n const config = getCurrentProjectConfig()\n if (!config.mcpServers) {\n config.mcpServers = {}\n }\n config.mcpServers[name] = server\n saveCurrentProjectConfig(config)\n }\n}\n\nexport function removeMcpServer(\n name: McpName,\n scope: ConfigScope = 'project',\n): void {\n if (scope === 'mcprc') {\n if (process.env.NODE_ENV === 'test') {\n removeMcprcServerForTesting(name)\n } else {\n const mcprcPath = join(getCwd(), '.mcprc')\n if (!existsSync(mcprcPath)) {\n throw new Error('No .mcprc file found in this directory')\n }\n\n try {\n const mcprcContent = readFileSync(mcprcPath, 'utf-8')\n const mcprcConfig = safeParseJSON(mcprcContent) as Record<\n string,\n McpServerConfig\n > | null\n\n if (\n !mcprcConfig ||\n typeof mcprcConfig !== 'object' ||\n !mcprcConfig[name]\n ) {\n throw new Error(`No MCP server found with name: ${name} in .mcprc`)\n }\n\n delete mcprcConfig[name]\n writeFileSync(mcprcPath, JSON.stringify(mcprcConfig, null, 2), 'utf-8')\n } catch (error) {\n if (error instanceof Error) {\n throw error\n }\n throw new Error(`Failed to remove from .mcprc: ${error}`)\n }\n }\n } else if (scope === 'global') {\n const config = getGlobalConfig()\n if (!config.mcpServers?.[name]) {\n throw new Error(`No global MCP server found with name: ${name}`)\n }\n delete config.mcpServers[name]\n saveGlobalConfig(config)\n } else {\n const config = getCurrentProjectConfig()\n if (!config.mcpServers?.[name]) {\n throw new Error(`No local MCP server found with name: ${name}`)\n }\n delete config.mcpServers[name]\n saveCurrentProjectConfig(config)\n }\n}\n\nexport function listMCPServers(): Record<string, McpServerConfig> {\n const globalConfig = getGlobalConfig()\n const mcprcConfig = getMcprcConfig()\n const projectConfig = getCurrentProjectConfig()\n return {\n ...(globalConfig.mcpServers ?? {}),\n ...(mcprcConfig ?? {}), // mcprc configs override global ones\n ...(projectConfig.mcpServers ?? {}), // Project configs override mcprc ones\n }\n}\n\nexport type ScopedMcpServerConfig = McpServerConfig & {\n scope: ConfigScope\n}\n\nexport function getMcpServer(name: McpName): ScopedMcpServerConfig | undefined {\n const projectConfig = getCurrentProjectConfig()\n const mcprcConfig = getMcprcConfig()\n const globalConfig = getGlobalConfig()\n\n // Check each scope in order of precedence\n if (projectConfig.mcpServers?.[name]) {\n return { ...projectConfig.mcpServers[name], scope: 'project' }\n }\n\n if (mcprcConfig?.[name]) {\n return { ...mcprcConfig[name], scope: 'mcprc' }\n }\n\n if (globalConfig.mcpServers?.[name]) {\n return { ...globalConfig.mcpServers[name], scope: 'global' }\n }\n\n return undefined\n}\n\nasync function connectToServer(\n name: string,\n serverRef: McpServerConfig,\n): Promise<Client> {\n let transport\n\n if (serverRef.type === 'http') {\n // Streamable HTTP transport (CC spec)\n const { StreamableHTTPClientTransport } = await import(\n '@modelcontextprotocol/sdk/client/streamableHttp.js'\n )\n transport = new StreamableHTTPClientTransport(\n new URL((serverRef as any).url),\n {\n // Pass headers but never log sensitive values\n requestInit: (serverRef as any).headers\n ? { headers: (serverRef as any).headers }\n : undefined,\n },\n )\n } else if (serverRef.type === 'sse') {\n transport = new SSEClientTransport(new URL(serverRef.url))\n } else {\n transport = new StdioClientTransport({\n command: serverRef.command,\n args: serverRef.args,\n env: ensureProxyBypass({\n ...filterSensitiveEnv(process.env),\n ...serverRef.env,\n } as Record<string, string>),\n stderr: 'pipe', // prevents error output from the MCP server from printing to the UI\n })\n }\n\n const client = new Client(\n {\n name: PRODUCT_COMMAND,\n version: '0.1.0',\n },\n {\n capabilities: {},\n },\n )\n\n // Add a timeout to connection attempts to prevent tests from hanging indefinitely\n const connectionTimeout = poolConfig.connectionTimeout\n const connectPromise = client.connect(transport)\n const timeoutPromise = new Promise<never>((_, reject) => {\n const timeoutId = setTimeout(() => {\n reject(\n new Error(\n `Connection to MCP server \"${name}\" timed out after ${connectionTimeout}ms`,\n ),\n )\n }, connectionTimeout)\n\n // Clean up timeout if connect resolves or rejects\n connectPromise.then(\n () => clearTimeout(timeoutId),\n () => clearTimeout(timeoutId),\n )\n })\n\n await Promise.race([connectPromise, timeoutPromise])\n\n if (serverRef.type === 'stdio') {\n // Track child process PID for synchronous cleanup on exit.\n // StdioClientTransport stores the child process in _process (private).\n const childProc = (transport as any)._process\n if (childProc?.pid) {\n const { registerChildPid, unregisterChildPid } = await import(\n '@utils/exit'\n )\n registerChildPid(childProc.pid)\n // Unregister when the child process exits naturally\n childProc.on?.('exit', () => unregisterChildPid(childProc.pid))\n }\n\n ;(transport as StdioClientTransport).stderr?.on('data', (data: Buffer) => {\n const errorText = data.toString().trim()\n if (errorText) {\n logMCPError(name, `Server stderr: ${errorText}`)\n }\n })\n }\n\n // Listen for tools/list_changed notification to dynamically update tool lists\n client.setNotificationHandler(ToolListChangedNotificationSchema, async () => {\n // Clear cached tools so next getMCPTools() fetches fresh list\n if (typeof getMCPTools.cache?.clear === 'function') {\n getMCPTools.cache.clear()\n }\n })\n\n return client\n}\n\ntype ConnectedClient = {\n client: Client\n name: string\n type: 'connected'\n}\ntype FailedClient = {\n name: string\n type: 'failed'\n}\nexport type WrappedClient = ConnectedClient | FailedClient\n\nexport function getMcprcServerStatus(\n serverName: string,\n): 'approved' | 'rejected' | 'pending' {\n const config = getCurrentProjectConfig()\n if (config.approvedMcprcServers?.includes(serverName)) {\n return 'approved'\n }\n if (config.rejectedMcprcServers?.includes(serverName)) {\n return 'rejected'\n }\n return 'pending'\n}\n\n// Store connected clients for cleanup on shutdown\nlet connectedClients: WrappedClient[] = []\n\n// Connection pool configuration\nexport interface McpConnectionPoolConfig {\n /** Maximum concurrent connections (default: 10) */\n maxConnections: number\n /** Connection timeout in ms (default: 10000) */\n connectionTimeout: number\n /** Health check interval in ms (default: 30000, 0 to disable) */\n healthCheckInterval: number\n /** Retry failed connections (default: true) */\n retryFailed: boolean\n /** Max retry attempts (default: 3) */\n maxRetries: number\n /** Maximum output size from MCP tool calls in characters (default: 25000) */\n maxOutputChars: number\n}\n\nconst DEFAULT_POOL_CONFIG: McpConnectionPoolConfig = {\n maxConnections: 10,\n connectionTimeout: Number(process.env.MCP_TIMEOUT) || 10000,\n healthCheckInterval: 30000,\n retryFailed: true,\n maxRetries: 2,\n maxOutputChars: Number(process.env.MAX_MCP_OUTPUT_CHARS) || 25000,\n}\n\nlet poolConfig: McpConnectionPoolConfig = { ...DEFAULT_POOL_CONFIG }\nlet healthCheckTimer: ReturnType<typeof setInterval> | null = null\n\n// Connection lock mechanism to prevent concurrent refreshMCPConnections calls\nlet connectionLock: Promise<void> | null = null\nlet pendingRefresh = false\n\n/**\n * Acquires the connection lock for exclusive access to MCP connection refresh\n * Waits until any existing lock is released before creating a new one\n */\nasync function acquireConnectionLock(): Promise<() => void> {\n while (connectionLock) {\n await connectionLock\n }\n\n let release: () => void\n connectionLock = new Promise(resolve => {\n release = () => {\n connectionLock = null\n resolve()\n }\n })\n\n return release!\n}\n\n/**\n * Configure MCP connection pool settings\n */\nexport function configureMcpPool(\n config: Partial<McpConnectionPoolConfig>,\n): void {\n poolConfig = { ...poolConfig, ...config }\n\n // Restart health check with new interval if changed\n if (config.healthCheckInterval !== undefined) {\n stopHealthCheck()\n if (poolConfig.healthCheckInterval > 0) {\n startHealthCheck()\n }\n }\n}\n\n/**\n * Get current pool configuration\n */\nexport function getMcpPoolConfig(): McpConnectionPoolConfig {\n return { ...poolConfig }\n}\n\n/**\n * Connection health status\n */\nexport interface McpConnectionHealth {\n name: string\n status: 'healthy' | 'unhealthy' | 'unknown'\n lastCheck: number\n latencyMs?: number\n error?: string\n}\n\n// Track connection health\nconst connectionHealth: Map<string, McpConnectionHealth> = new Map()\n\n/**\n * Check health of a single MCP connection\n */\nasync function checkConnectionHealth(\n client: ConnectedClient,\n): Promise<McpConnectionHealth> {\n const startTime = Date.now()\n try {\n // Try to get server capabilities as a health check\n await client.client.getServerCapabilities()\n const latencyMs = Date.now() - startTime\n\n return {\n name: client.name,\n status: 'healthy',\n lastCheck: Date.now(),\n latencyMs,\n }\n } catch (error) {\n return {\n name: client.name,\n status: 'unhealthy',\n lastCheck: Date.now(),\n error: error instanceof Error ? error.message : String(error),\n }\n }\n}\n\n/**\n * Run health check on all connections\n */\nexport async function runHealthCheck(): Promise<McpConnectionHealth[]> {\n const clients = await getClients()\n const healthResults: McpConnectionHealth[] = []\n\n for (const client of clients) {\n if (client.type === 'connected') {\n const health = await checkConnectionHealth(client)\n connectionHealth.set(client.name, health)\n healthResults.push(health)\n } else {\n const health: McpConnectionHealth = {\n name: client.name,\n status: 'unhealthy',\n lastCheck: Date.now(),\n error: 'Connection failed',\n }\n connectionHealth.set(client.name, health)\n healthResults.push(health)\n }\n }\n\n return healthResults\n}\n\n/**\n * Get cached health status for all connections\n */\nexport function getConnectionHealth(): McpConnectionHealth[] {\n return Array.from(connectionHealth.values())\n}\n\n/**\n * Get health status for a specific server\n */\nexport function getServerHealth(\n serverName: string,\n): McpConnectionHealth | null {\n return connectionHealth.get(serverName) || null\n}\n\n/**\n * Get circuit breaker for an MCP server\n * Used to check breaker status and manually control it\n */\nexport function getServerCircuitBreaker(serverName: string) {\n return mcpCircuitBreakers.getOrCreate(serverName)\n}\n\n/**\n * Get circuit breaker stats for all servers\n */\nexport function getAllCircuitBreakerStats() {\n const stats: Record<string, any> = {}\n for (const [name, breaker] of mcpCircuitBreakers.getAll().entries()) {\n stats[name] = breaker.getStats()\n }\n return stats\n}\n\n/**\n * Start periodic health checks\n */\nexport function startHealthCheck(): void {\n if (healthCheckTimer) return\n if (poolConfig.healthCheckInterval <= 0) return\n\n healthCheckTimer = setInterval(async () => {\n try {\n await runHealthCheck()\n } catch (e) {\n debugLogger.warn(\n 'MCP_HEALTH',\n `Health check failed: ${e instanceof Error ? e.message : String(e)}`,\n )\n }\n }, poolConfig.healthCheckInterval)\n}\n\n/**\n * Stop periodic health checks\n */\nexport function stopHealthCheck(): void {\n if (healthCheckTimer) {\n clearInterval(healthCheckTimer)\n healthCheckTimer = null\n }\n}\n\n/**\n * Get connection pool statistics\n */\nexport function getPoolStats(): {\n totalConnections: number\n connectedCount: number\n failedCount: number\n healthyCount: number\n unhealthyCount: number\n} {\n const health = getConnectionHealth()\n return {\n totalConnections: connectedClients.length,\n connectedCount: connectedClients.filter(c => c.type === 'connected').length,\n failedCount: connectedClients.filter(c => c.type === 'failed').length,\n healthyCount: health.filter(h => h.status === 'healthy').length,\n unhealthyCount: health.filter(h => h.status === 'unhealthy').length,\n }\n}\n\n/**\n * Connect to an MCP server with retry and exponential backoff.\n * Uses poolConfig.retryFailed and poolConfig.maxRetries settings.\n */\nasync function connectWithRetry(\n name: string,\n serverRef: McpServerConfig,\n): Promise<Client> {\n const { retryFailed, maxRetries } = poolConfig\n let lastError: Error | undefined\n\n const attempts = retryFailed ? maxRetries : 0\n for (let attempt = 0; attempt <= attempts; attempt++) {\n try {\n return await connectToServer(name, serverRef)\n } catch (error) {\n lastError = error instanceof Error ? error : new Error(String(error))\n if (attempt < attempts && retryFailed) {\n const delay = 1000 * Math.pow(2, attempt) // 1s, 2s\n logMCPError(\n name,\n `Connection attempt ${attempt + 1} failed, retrying in ${delay}ms...`,\n )\n await new Promise(r => setTimeout(r, delay))\n }\n }\n }\n throw lastError!\n}\n\nexport const getClients = memoize(async (): Promise<WrappedClient[]> => {\n // TODO: This is a temporary fix for a hang during npm run verify in CI.\n // We need to investigate why MCP client connections hang in CI verify but not in CI tests.\n if (process.env.CI && process.env.NODE_ENV !== 'test') {\n return []\n }\n\n const globalServers = getGlobalConfig().mcpServers ?? {}\n const mcprcServers = getMcprcConfig()\n const projectServers = getCurrentProjectConfig().mcpServers ?? {}\n\n // Filter mcprc servers to only include approved ones\n const approvedMcprcServers = pickBy(\n mcprcServers,\n (_, name) => getMcprcServerStatus(name) === 'approved',\n )\n\n const allServers = {\n ...globalServers,\n ...approvedMcprcServers, // Approved .mcprc servers override global ones\n ...projectServers, // Project servers take highest precedence\n }\n\n // Filter out disabled servers\n const enabledServers = pickBy(\n allServers,\n server => server.enabled !== false, // Default to enabled if not specified\n )\n\n const clients = await Promise.all(\n Object.entries(enabledServers).map(async ([name, serverRef]) => {\n try {\n const client = await connectWithRetry(\n name,\n serverRef as McpServerConfig,\n )\n return { name, client, type: 'connected' as const }\n } catch (error) {\n logMCPError(\n name,\n `Connection failed: ${error instanceof Error ? error.message : String(error)}`,\n )\n return { name, type: 'failed' as const }\n }\n }),\n )\n\n // Store reference for shutdown cleanup\n connectedClients = clients\n return clients\n})\n\nasync function requestAll<\n ResultT extends Result,\n ResultSchemaT extends typeof ResultSchema,\n>(\n req: ClientRequest,\n resultSchema: ResultSchemaT,\n requiredCapability: string,\n): Promise<{ client: ConnectedClient; result: ResultT }[]> {\n const clients = await getClients()\n const results = await Promise.allSettled(\n clients.map(async client => {\n if (client.type === 'failed') return null\n\n try {\n const capabilities = await client.client.getServerCapabilities()\n if (!capabilities?.[requiredCapability]) {\n return null\n }\n return {\n client,\n result: (await client.client.request(req, resultSchema)) as ResultT,\n }\n } catch (error) {\n if (client.type === 'connected') {\n logMCPError(\n client.name,\n `Failed to request '${req.method}': ${error instanceof Error ? error.message : String(error)}`,\n )\n }\n return null\n }\n }),\n )\n return results\n .filter(\n (\n result,\n ): result is PromiseFulfilledResult<{\n client: ConnectedClient\n result: ResultT\n } | null> => result.status === 'fulfilled',\n )\n .map(result => result.value)\n .filter(\n (result): result is { client: ConnectedClient; result: ResultT } =>\n result !== null,\n )\n}\n\n/**\n * Check if lazy/deferred MCP tool loading is enabled.\n * When enabled, inputSchema is loaded on-demand instead of upfront.\n */\nfunction isLazyMCPEnabled(): boolean {\n return !!(\n process.env.MINTO_ENABLE_TOOL_SEARCH || process.env.ENABLE_TOOL_SEARCH\n )\n}\n\n/**\n * Cache for lazily-loaded MCP tool schemas\n */\nconst lazySchemaCache = new Map<string, Tool['inputJSONSchema']>()\n\n// \u2500\u2500 Deferred MCP Tool Registry \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n// When tool search mode is active, tools that are not yet activated are\n// stored here with minimal metadata (name + description + server).\n// The ToolSearch tool queries this registry and calls activateMCPTool()\n// to promote deferred tools into the active tool set.\n\nexport interface DeferredMCPToolMeta {\n name: string\n description: string\n serverName: string\n}\n\nconst deferredTools = new Map<string, DeferredMCPToolMeta>()\nconst activatedToolNames = new Set<string>()\n\n/**\n * Get the current set of deferred (not yet activated) MCP tools.\n * Used by ToolSearch to search through available tools.\n */\nexport function getDeferredMCPTools(): Map<string, DeferredMCPToolMeta> {\n return deferredTools\n}\n\n/**\n * Activate a deferred MCP tool by its full name (e.g. \"mcp__server__tool\").\n * Removes it from the deferred registry and adds to the activated set.\n * Returns true if the tool was newly activated, false if already active.\n *\n * Note: The tool won't appear in the tool list until getTools() is\n * re-invoked (cache invalidated). The tools.ts layer handles this.\n */\nexport function activateMCPTool(toolFullName: string): boolean {\n if (activatedToolNames.has(toolFullName)) {\n return false\n }\n activatedToolNames.add(toolFullName)\n deferredTools.delete(toolFullName)\n\n // Invalidate tools cache so the newly activated tool gets included\n try {\n // Dynamic import to avoid circular dependency\n import('../tools')\n .then(({ invalidateToolsCache }) => {\n invalidateToolsCache()\n })\n .catch(() => {})\n } catch {\n // Ignore - tools.ts may not be loaded\n }\n\n return true\n}\n\n/**\n * Check whether a tool has been activated (or was never deferred).\n */\nexport function isMCPToolActivated(toolFullName: string): boolean {\n return activatedToolNames.has(toolFullName)\n}\n\n/**\n * Clear all deferred/activated state. Called during MCP refresh.\n */\nexport function clearDeferredState(): void {\n deferredTools.clear()\n activatedToolNames.clear()\n}\n\n/**\n * Lazily fetch the full input schema for an MCP tool\n */\nasync function getLazyInputSchema(\n client: ConnectedClient,\n toolName: string,\n fullName: string,\n): Promise<Tool['inputJSONSchema']> {\n if (lazySchemaCache.has(fullName)) {\n return lazySchemaCache.get(fullName)\n }\n\n try {\n const result = await client.client.request(\n { method: 'tools/list' },\n ListToolsResultSchema,\n )\n for (const tool of result.tools) {\n const key = 'mcp__' + client.name + '__' + tool.name\n lazySchemaCache.set(key, tool.inputSchema as Tool['inputJSONSchema'])\n }\n return lazySchemaCache.get(fullName)\n } catch {\n return undefined\n }\n}\n\nexport const getMCPTools = memoize(async (): Promise<Tool[]> => {\n const toolsList = await requestAll<\n ListToolsResult,\n typeof ListToolsResultSchema\n >(\n {\n method: 'tools/list',\n },\n ListToolsResultSchema,\n 'tools',\n )\n\n const lazyMode = isLazyMCPEnabled()\n\n return toolsList.flatMap(({ client, result: { tools } }) => {\n // Validate tool structure before processing\n const validTools = tools.filter(\n (tool): tool is typeof tool & { name: string } => {\n if (!tool || typeof tool.name !== 'string' || tool.name.length === 0) {\n logMCPError(\n `Invalid MCP tool from ${client.name}: missing or invalid name`,\n new Error('Tool validation failed'),\n )\n return false\n }\n return true\n },\n )\n\n return validTools.map((tool): Tool => {\n const fullName = 'mcp__' + client.name + '__' + tool.name\n\n // In lazy mode, defer schema loading until actually called\n if (lazyMode) {\n lazySchemaCache.set(\n fullName,\n tool.inputSchema as Tool['inputJSONSchema'],\n )\n }\n\n return {\n ...MCPTool,\n name: fullName,\n async description() {\n return tool.description ?? ''\n },\n async prompt() {\n return tool.description ?? ''\n },\n // In lazy mode, schema starts as undefined and is loaded on-demand\n inputJSONSchema: lazyMode\n ? undefined\n : (tool.inputSchema as Tool['inputJSONSchema']),\n async validateInput(input, context) {\n // MCP tools handle their own validation through their schemas\n return { result: true }\n },\n async *call(args: Record<string, unknown>, context) {\n // If in lazy mode and schema wasn't loaded yet, load it now\n if (lazyMode && !lazySchemaCache.has(fullName)) {\n await getLazyInputSchema(client, tool.name, fullName)\n }\n const data = await callMCPTool({ client, tool: tool.name, args })\n yield {\n type: 'result' as const,\n data,\n resultForAssistant: data,\n }\n },\n userFacingName() {\n return `${client.name}:${tool.name} (MCP)`\n },\n }\n })\n })\n})\n\n/**\n * Wraps a promise with a timeout.\n * If the promise doesn't resolve/reject within the timeout, rejects with a TimeoutError.\n */\nasync function withTimeout<T>(\n promise: Promise<T>,\n timeoutMs: number,\n operationName: string,\n): Promise<T> {\n let timeoutId: ReturnType<typeof setTimeout> | undefined\n\n const timeoutPromise = new Promise<never>((_, reject) => {\n timeoutId = setTimeout(() => {\n reject(\n new Error(\n `MCP operation \"${operationName}\" timed out after ${timeoutMs}ms`,\n ),\n )\n }, timeoutMs)\n })\n\n try {\n const result = await Promise.race([promise, timeoutPromise])\n if (timeoutId) clearTimeout(timeoutId)\n return result\n } catch (error) {\n if (timeoutId) clearTimeout(timeoutId)\n throw error\n }\n}\n\n/**\n * Checks if an error is a timeout-related error.\n */\nfunction isTimeoutError(error: unknown): boolean {\n if (error instanceof Error) {\n return (\n error.name === 'TimeoutError' ||\n error.message.includes('timed out') ||\n error.message.includes('timeout')\n )\n }\n if (error instanceof DOMException) {\n return error.name === 'TimeoutError'\n }\n return false\n}\n\n// Import timing constants - use dynamic value or fallback\nconst MCP_TOOL_TIMEOUT_MS = 120000 // 2 minutes\nconst MCP_TOOL_MAX_RETRIES = 2\n\n/**\n * Truncate MCP tool output to prevent token overflow\n * Uses configurable maxOutputChars from pool config\n */\nfunction truncateMcpOutput(text: string): string {\n const limit = poolConfig.maxOutputChars\n if (text.length <= limit) return text\n return (\n text.slice(0, limit) +\n `\\n\\n[Output truncated: ${text.length} chars exceeded limit of ${limit}]`\n )\n}\n\nasync function callMCPTool({\n client: { client, name },\n tool,\n args,\n}: {\n client: ConnectedClient\n tool: string\n args: Record<string, unknown>\n}): Promise<ToolResultBlockParam['content']> {\n const breaker = mcpCircuitBreakers.getOrCreate(name)\n let lastError: Error | undefined\n const maxRetries = MCP_TOOL_MAX_RETRIES\n\n for (let attempt = 0; attempt <= maxRetries; attempt++) {\n try {\n // Check circuit breaker before attempting the call\n const result = await breaker.executeWithTimeout(async () => {\n const callPromise = client.callTool(\n {\n name: tool,\n arguments: args,\n },\n CallToolResultSchema,\n )\n\n // Wrap with timeout protection\n return await withTimeout(\n callPromise,\n MCP_TOOL_TIMEOUT_MS,\n `${name}:${tool}`,\n )\n }, MCP_TOOL_TIMEOUT_MS)\n\n if ('isError' in result && result.isError) {\n const errorMessage = `Error calling tool ${tool}: ${result.error}`\n logMCPError(name, errorMessage)\n throw Error(errorMessage)\n }\n\n // Handle toolResult-type response\n if ('toolResult' in result) {\n const text = String(result.toolResult)\n return truncateMcpOutput(text)\n }\n\n // Handle content array response\n if ('content' in result && Array.isArray(result.content)) {\n return result.content.map(item => {\n if (item.type === 'image') {\n return {\n type: 'image',\n source: {\n type: 'base64',\n data: String(item.data),\n media_type:\n item.mimeType as ImageBlockParam.Source['media_type'],\n },\n }\n }\n return item\n })\n }\n\n throw Error(`Unexpected response format from tool ${tool}`)\n } catch (error) {\n lastError = error instanceof Error ? error : new Error(String(error))\n\n // Circuit breaker is open - fail fast without retries\n if (lastError instanceof CircuitOpenError) {\n logMCPError(\n name,\n `Circuit breaker is open for server \"${name}\". ${lastError.message}`,\n )\n throw lastError\n }\n\n // Only retry on timeout errors, not on other errors\n if (isTimeoutError(error) && attempt < maxRetries) {\n logMCPError(\n name,\n `Tool \"${tool}\" timed out (attempt ${attempt + 1}/${maxRetries + 1}), retrying...`,\n )\n // Exponential backoff: 1s, 2s, 4s...\n await new Promise(resolve =>\n setTimeout(resolve, 1000 * Math.pow(2, attempt)),\n )\n continue\n }\n\n // Log and throw for non-retryable errors or after all retries exhausted\n if (isTimeoutError(error)) {\n logMCPError(\n name,\n `Tool \"${tool}\" failed after ${maxRetries + 1} attempts due to timeout`,\n )\n }\n throw lastError\n }\n }\n\n // This should never be reached, but TypeScript needs it\n throw lastError || new Error(`MCP tool ${tool} failed with unknown error`)\n}\n\nexport const getMCPCommands = memoize(async (): Promise<Command[]> => {\n const results = await requestAll<\n ListPromptsResult,\n typeof ListPromptsResultSchema\n >(\n {\n method: 'prompts/list',\n },\n ListPromptsResultSchema,\n 'prompts',\n )\n\n return results.flatMap(({ client, result }) =>\n result.prompts?.map(_ => {\n const argNames = Object.values(_.arguments ?? {}).map(k => k.name)\n return {\n type: 'prompt',\n name: 'mcp__' + client.name + '__' + _.name,\n description: _.description ?? '',\n isEnabled: true,\n isHidden: false,\n progressMessage: 'running',\n userFacingName() {\n return `${client.name}:${_.name} (MCP)`\n },\n argNames,\n async getPromptForCommand(args: string) {\n const argsArray = args.split(' ')\n return await runCommand(\n { name: _.name, client },\n zipObject(argNames, argsArray),\n )\n },\n }\n }),\n )\n})\n\nexport async function runCommand(\n { name, client }: { name: string; client: ConnectedClient },\n args: Record<string, string>,\n): Promise<MessageParam[]> {\n try {\n const result = await client.client.getPrompt({ name, arguments: args })\n return result.messages.map(\n (message): MessageParam => ({\n role: message.role,\n content: [\n message.content.type === 'text'\n ? {\n type: 'text',\n text: message.content.text,\n }\n : message.content.type === 'resource'\n ? {\n type: 'text',\n text:\n typeof (message.content as any).resource?.text === 'string'\n ? (message.content as any).resource.text\n : `[MCP Resource: ${(message.content as any).resource?.uri ?? 'unknown'}]`,\n }\n : {\n type: 'image',\n source: {\n data: String(message.content.data),\n media_type: message.content\n .mimeType as ImageBlockParam.Source['media_type'],\n type: 'base64',\n },\n },\n ],\n }),\n )\n } catch (error) {\n logMCPError(\n client.name,\n `Error running command '${name}': ${error instanceof Error ? error.message : String(error)}`,\n )\n throw error\n }\n}\n\n/**\n * Close a list of MCP clients in the background (fire-and-forget).\n * Does not block the caller \u2014 errors are silently ignored.\n */\nfunction closeClientsInBackground(clients: WrappedClient[]): void {\n const CLOSE_TIMEOUT_MS = 5000\n const closePromises = clients.map(async wrappedClient => {\n if (wrappedClient.type === 'connected') {\n try {\n await wrappedClient.client.close()\n } catch (e) {\n debugLogger.warn(\n 'MCP_CLOSE',\n `Failed to close MCP client: ${e instanceof Error ? e.message : String(e)}`,\n )\n }\n }\n })\n\n // Race against timeout so orphaned closes don't linger forever\n Promise.race([\n Promise.allSettled(closePromises),\n new Promise(resolve => setTimeout(resolve, CLOSE_TIMEOUT_MS)),\n ]).catch(() => {})\n}\n\n/**\n * Refreshes MCP connections by clearing caches and allowing fresh\n * reconnections on next getClients() call.\n *\n * Old connections are closed in the background AFTER cache clear,\n * so new connections can be established independently without waiting\n * for old ones to shut down (which could fail or be slow).\n *\n * Uses an async lock to prevent concurrent execution and race conditions.\n * Also resets circuit breakers to allow reconnection attempts.\n */\nexport async function refreshMCPConnections(): Promise<void> {\n // Early return if refresh is already pending to avoid request accumulation\n if (pendingRefresh) {\n return\n }\n\n pendingRefresh = true\n\n const release = await acquireConnectionLock()\n\n try {\n // Snapshot old connections for background cleanup\n const oldClients = connectedClients\n connectedClients = []\n\n // Clear memoization caches so next getClients() reconnects fresh\n if (typeof getClients.cache?.clear === 'function') {\n getClients.cache.clear()\n }\n if (typeof getMCPTools.cache?.clear === 'function') {\n getMCPTools.cache.clear()\n }\n if (typeof getMCPCommands.cache?.clear === 'function') {\n getMCPCommands.cache.clear()\n }\n\n // Reset circuit breakers to allow reconnection attempts\n mcpCircuitBreakers.resetAll()\n\n // Clear deferred/activated tool state so it's rebuilt fresh\n clearDeferredState()\n\n // Also invalidate the main tools cache since MCP tools are part of it\n // This is imported lazily to avoid circular dependencies\n try {\n const { invalidateToolsCache } = await import('../tools')\n invalidateToolsCache()\n } catch {\n // Ignore errors - tools.ts may not be loaded yet\n }\n\n // Close old connections in background \u2014 don't block the refresh.\n // New connections (via getClients()) will be created independently.\n if (oldClients.length > 0) {\n closeClientsInBackground(oldClients)\n }\n } finally {\n pendingRefresh = false\n release()\n }\n}\n\n/**\n * Shuts down all MCP client connections gracefully.\n * Should be called when the application is exiting.\n * Unlike refresh, shutdown WAITS for connections to close.\n */\nexport async function shutdownMCPClients(): Promise<void> {\n // Stop health check timer to prevent checks on closing/closed clients\n stopHealthCheck()\n\n if (connectedClients.length === 0) return\n\n const oldClients = connectedClients\n connectedClients = []\n\n const SHUTDOWN_TIMEOUT_MS = 3000\n const closePromises = oldClients.map(async wrappedClient => {\n if (wrappedClient.type === 'connected') {\n try {\n await wrappedClient.client.close()\n } catch {\n // Ignore errors during shutdown\n }\n }\n })\n\n try {\n await Promise.race([\n Promise.allSettled(closePromises),\n new Promise(resolve => setTimeout(resolve, SHUTDOWN_TIMEOUT_MS)),\n ])\n } catch {\n // Ignore timeout errors\n }\n\n // Clear caches so no stale state remains\n if (typeof getClients.cache?.clear === 'function') {\n getClients.cache.clear()\n }\n if (typeof getMCPTools.cache?.clear === 'function') {\n getMCPTools.cache.clear()\n }\n if (typeof getMCPCommands.cache?.clear === 'function') {\n getMCPCommands.cache.clear()\n }\n}\n\n/**\n * MCP Resource type for listing\n */\nexport type McpResource = {\n uri: string\n name: string\n description?: string\n mimeType?: string\n serverName: string\n}\n\n/**\n * List all resources from MCP servers\n * @param serverFilter Optional server name to filter resources from a specific server\n */\nexport async function listMCPResources(\n serverFilter?: string,\n): Promise<McpResource[]> {\n const results = await requestAll<\n ListResourcesResult,\n typeof ListResourcesResultSchema\n >(\n {\n method: 'resources/list',\n },\n ListResourcesResultSchema,\n 'resources',\n )\n\n return results\n .filter(({ client }) => !serverFilter || client.name === serverFilter)\n .flatMap(({ client, result }) =>\n (result.resources || []).map(resource => ({\n uri: resource.uri,\n name: resource.name,\n description: resource.description,\n mimeType: resource.mimeType,\n serverName: client.name,\n })),\n )\n}\n\n/**\n * MCP Resource content type\n */\nexport type McpResourceContent = {\n uri: string\n mimeType?: string\n text?: string\n blob?: string // Base64 encoded binary data\n}\n\n/**\n * Read a specific resource from an MCP server\n * @param uri The resource URI to read\n * @param serverName Optional server name to target a specific server\n */\nexport async function readMCPResource(\n uri: string,\n serverName?: string,\n): Promise<McpResourceContent | null> {\n const clients = await getClients()\n\n // Find the appropriate client\n const targetClients = serverName\n ? (clients.filter(\n c => c.type === 'connected' && c.name === serverName,\n ) as ConnectedClient[])\n : (clients.filter(c => c.type === 'connected') as ConnectedClient[])\n\n for (const client of targetClients) {\n try {\n // Check if this server has resources capability\n const capabilities = await client.client.getServerCapabilities()\n if (!capabilities?.resources) {\n continue\n }\n\n // Try to read the resource\n const result = (await client.client.request(\n {\n method: 'resources/read',\n params: { uri },\n },\n ReadResourceResultSchema,\n )) as ReadResourceResult\n\n if (result.contents && result.contents.length > 0) {\n const content = result.contents[0]\n return {\n uri: content.uri,\n mimeType: content.mimeType,\n text: 'text' in content ? String(content.text) : undefined,\n blob: 'blob' in content ? String(content.blob) : undefined,\n }\n } else {\n emitReminderEvent('mcp:resource_no_content', { resourceUri: uri })\n }\n } catch (error) {\n // Log but continue trying other servers\n logMCPError(\n client.name,\n `Failed to read resource '${uri}': ${error instanceof Error ? error.message : String(error)}`,\n )\n }\n }\n\n return null\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,55 +0,0 @@
1
- import React from "react";
2
- import { render } from "ink";
3
- import { MCPServerMultiselectDialog } from "../components/MCPServerMultiselectDialog.js";
4
- import { MCPServerApprovalDialog } from "../components/MCPServerApprovalDialog.js";
5
- import { getMcprcServerStatus } from "./mcpClient.js";
6
- import { getMcprcConfig } from "../utils/config.js";
7
- async function handleMcprcServerApprovals() {
8
- const mcprcServers = getMcprcConfig();
9
- const pendingServers = Object.keys(mcprcServers).filter(
10
- (serverName) => getMcprcServerStatus(serverName) === "pending"
11
- );
12
- if (pendingServers.length === 0) {
13
- return;
14
- }
15
- await new Promise((resolve) => {
16
- const clearScreenAndResolve = () => {
17
- process.stdout.write("\x1B[2J\x1B[3J\x1B[H", () => {
18
- resolve();
19
- });
20
- };
21
- if (pendingServers.length === 1 && pendingServers[0] !== void 0) {
22
- const result = render(
23
- /* @__PURE__ */ React.createElement(
24
- MCPServerApprovalDialog,
25
- {
26
- serverName: pendingServers[0],
27
- onDone: () => {
28
- result.unmount?.();
29
- clearScreenAndResolve();
30
- }
31
- }
32
- ),
33
- { exitOnCtrlC: false }
34
- );
35
- } else {
36
- const result = render(
37
- /* @__PURE__ */ React.createElement(
38
- MCPServerMultiselectDialog,
39
- {
40
- serverNames: pendingServers,
41
- onDone: () => {
42
- result.unmount?.();
43
- clearScreenAndResolve();
44
- }
45
- }
46
- ),
47
- { exitOnCtrlC: false }
48
- );
49
- }
50
- });
51
- }
52
- export {
53
- handleMcprcServerApprovals
54
- };
55
- //# sourceMappingURL=mcpServerApproval.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/services/mcpServerApproval.tsx"],
4
- "sourcesContent": ["import React from 'react'\nimport { render } from 'ink'\nimport { MCPServerMultiselectDialog } from '@components/MCPServerMultiselectDialog'\nimport { MCPServerApprovalDialog } from '@components/MCPServerApprovalDialog'\nimport { getMcprcServerStatus } from './mcpClient'\nimport { getMcprcConfig } from '@utils/config'\n\nexport async function handleMcprcServerApprovals(): Promise<void> {\n const mcprcServers = getMcprcConfig()\n const pendingServers = Object.keys(mcprcServers).filter(\n serverName => getMcprcServerStatus(serverName) === 'pending',\n )\n\n if (pendingServers.length === 0) {\n return\n }\n\n await new Promise<void>(resolve => {\n const clearScreenAndResolve = () => {\n // Clear screen after dialog\n process.stdout.write('\\x1b[2J\\x1b[3J\\x1b[H', () => {\n resolve()\n })\n }\n\n if (pendingServers.length === 1 && pendingServers[0] !== undefined) {\n const result = render(\n <MCPServerApprovalDialog\n serverName={pendingServers[0]}\n onDone={() => {\n result.unmount?.()\n clearScreenAndResolve()\n }}\n />,\n { exitOnCtrlC: false },\n )\n } else {\n const result = render(\n <MCPServerMultiselectDialog\n serverNames={pendingServers}\n onDone={() => {\n result.unmount?.()\n clearScreenAndResolve()\n }}\n />,\n { exitOnCtrlC: false },\n )\n }\n })\n}\n"],
5
- "mappings": "AAAA,OAAO,WAAW;AAClB,SAAS,cAAc;AACvB,SAAS,kCAAkC;AAC3C,SAAS,+BAA+B;AACxC,SAAS,4BAA4B;AACrC,SAAS,sBAAsB;AAE/B,eAAsB,6BAA4C;AAChE,QAAM,eAAe,eAAe;AACpC,QAAM,iBAAiB,OAAO,KAAK,YAAY,EAAE;AAAA,IAC/C,gBAAc,qBAAqB,UAAU,MAAM;AAAA,EACrD;AAEA,MAAI,eAAe,WAAW,GAAG;AAC/B;AAAA,EACF;AAEA,QAAM,IAAI,QAAc,aAAW;AACjC,UAAM,wBAAwB,MAAM;AAElC,cAAQ,OAAO,MAAM,wBAAwB,MAAM;AACjD,gBAAQ;AAAA,MACV,CAAC;AAAA,IACH;AAEA,QAAI,eAAe,WAAW,KAAK,eAAe,CAAC,MAAM,QAAW;AAClE,YAAM,SAAS;AAAA,QACb;AAAA,UAAC;AAAA;AAAA,YACC,YAAY,eAAe,CAAC;AAAA,YAC5B,QAAQ,MAAM;AACZ,qBAAO,UAAU;AACjB,oCAAsB;AAAA,YACxB;AAAA;AAAA,QACF;AAAA,QACA,EAAE,aAAa,MAAM;AAAA,MACvB;AAAA,IACF,OAAO;AACL,YAAM,SAAS;AAAA,QACb;AAAA,UAAC;AAAA;AAAA,YACC,aAAa;AAAA,YACb,QAAQ,MAAM;AACZ,qBAAO,UAAU;AACjB,oCAAsB;AAAA,YACxB;AAAA;AAAA,QACF;AAAA,QACA,EAAE,aAAa,MAAM;AAAA,MACvB;AAAA,IACF;AAAA,EACF,CAAC;AACH;",
6
- "names": []
7
- }
@@ -1,214 +0,0 @@
1
- import { emitReminderEvent } from "./systemReminder.js";
2
- import { getAvailableAgentTypes } from "../utils/agentLoader.js";
3
- import { existsSync } from "fs";
4
- import { resolve } from "path";
5
- import { getCwd } from "../utils/state.js";
6
- import { debug as debugLogger } from "../utils/debugLogger.js";
7
- class MentionProcessorService {
8
- // Centralized mention patterns - single source of truth
9
- static MENTION_PATTERNS = {
10
- runAgent: /@(run-agent-[\w\-]+)/g,
11
- agent: /@(agent-[\w\-]+)/g,
12
- // Legacy support
13
- askModel: /@(ask-[\w\-]+)/g,
14
- file: /@([a-zA-Z0-9/._-]+(?:\.[a-zA-Z0-9]+)?)/g
15
- };
16
- agentCache = /* @__PURE__ */ new Map();
17
- lastAgentCheck = 0;
18
- CACHE_TTL = 6e4;
19
- // 1 minute cache
20
- /**
21
- * Process mentions in user input and emit appropriate events
22
- * This follows the event-driven philosophy of system reminders
23
- */
24
- async processMentions(input) {
25
- const result = {
26
- agents: [],
27
- files: [],
28
- hasAgentMentions: false,
29
- hasFileMentions: false
30
- };
31
- try {
32
- const agentMentions = this.extractAgentMentions(input);
33
- if (agentMentions.length > 0) {
34
- await this.refreshAgentCache();
35
- for (const { mention, agentType, isAskModel } of agentMentions) {
36
- if (isAskModel || this.agentCache.has(agentType)) {
37
- result.agents.push({
38
- type: "agent",
39
- mention,
40
- resolved: agentType,
41
- exists: true,
42
- metadata: isAskModel ? { type: "ask-model" } : void 0
43
- });
44
- result.hasAgentMentions = true;
45
- this.emitAgentMentionEvent(mention, agentType, isAskModel);
46
- }
47
- }
48
- }
49
- const fileMatches = [
50
- ...input.matchAll(MentionProcessorService.MENTION_PATTERNS.file)
51
- ];
52
- const processedAgentMentions = new Set(
53
- agentMentions.map((am) => am.mention)
54
- );
55
- for (const match of fileMatches) {
56
- const mention = match[1];
57
- if (mention.startsWith("run-agent-") || mention.startsWith("agent-") || mention.startsWith("ask-") || processedAgentMentions.has(mention)) {
58
- continue;
59
- }
60
- const filePath = this.resolveFilePath(mention);
61
- if (existsSync(filePath)) {
62
- result.files.push({
63
- type: "file",
64
- mention,
65
- resolved: filePath,
66
- exists: true
67
- });
68
- result.hasFileMentions = true;
69
- emitReminderEvent("file:mentioned", {
70
- filePath,
71
- originalMention: mention,
72
- timestamp: Date.now()
73
- });
74
- }
75
- }
76
- return result;
77
- } catch (error) {
78
- console.warn("[MentionProcessor] Failed to process mentions:", {
79
- input: input.substring(0, 100) + (input.length > 100 ? "..." : ""),
80
- error: error instanceof Error ? error.message : error
81
- });
82
- return {
83
- agents: [],
84
- files: [],
85
- hasAgentMentions: false,
86
- hasFileMentions: false
87
- };
88
- }
89
- }
90
- // Removed identifyMention method as it's no longer needed with separate processing
91
- /**
92
- * Resolve file path relative to current working directory
93
- */
94
- resolveFilePath(mention) {
95
- return resolve(getCwd(), mention);
96
- }
97
- /**
98
- * Refresh the agent cache periodically
99
- * This avoids hitting the agent loader on every mention
100
- */
101
- async refreshAgentCache() {
102
- const now = Date.now();
103
- if (now - this.lastAgentCheck < this.CACHE_TTL) {
104
- return;
105
- }
106
- try {
107
- const agents = await getAvailableAgentTypes();
108
- const previousCacheSize = this.agentCache.size;
109
- this.agentCache.clear();
110
- for (const agent of agents) {
111
- this.agentCache.set(agent.agentType, true);
112
- }
113
- this.lastAgentCheck = now;
114
- if (agents.length !== previousCacheSize) {
115
- debugLogger.info("MENTION_PROCESSOR_CACHE_REFRESHED", {
116
- agentCount: agents.length,
117
- previousCacheSize,
118
- cacheAge: now - this.lastAgentCheck
119
- });
120
- }
121
- } catch (error) {
122
- console.warn(
123
- "[MentionProcessor] Failed to refresh agent cache, keeping existing cache:",
124
- {
125
- error: error instanceof Error ? error.message : error,
126
- cacheSize: this.agentCache.size,
127
- lastRefresh: new Date(this.lastAgentCheck).toISOString()
128
- }
129
- );
130
- }
131
- }
132
- /**
133
- * Extract agent mentions with unified pattern matching
134
- * Consolidates run-agent, agent, and ask-model detection logic
135
- */
136
- extractAgentMentions(input) {
137
- const mentions = [];
138
- const runAgentMatches = [
139
- ...input.matchAll(MentionProcessorService.MENTION_PATTERNS.runAgent)
140
- ];
141
- for (const match of runAgentMatches) {
142
- const mention = match[1];
143
- const agentType = mention.replace(/^run-agent-/, "");
144
- mentions.push({ mention, agentType, isAskModel: false });
145
- }
146
- const agentMatches = [
147
- ...input.matchAll(MentionProcessorService.MENTION_PATTERNS.agent)
148
- ];
149
- for (const match of agentMatches) {
150
- const mention = match[1];
151
- const agentType = mention.replace(/^agent-/, "");
152
- mentions.push({ mention, agentType, isAskModel: false });
153
- }
154
- const askModelMatches = [
155
- ...input.matchAll(MentionProcessorService.MENTION_PATTERNS.askModel)
156
- ];
157
- for (const match of askModelMatches) {
158
- const mention = match[1];
159
- mentions.push({ mention, agentType: mention, isAskModel: true });
160
- }
161
- return mentions;
162
- }
163
- /**
164
- * Emit agent mention event with proper typing
165
- * Centralized event emission to ensure consistency
166
- */
167
- emitAgentMentionEvent(mention, agentType, isAskModel) {
168
- try {
169
- const eventData = {
170
- originalMention: mention,
171
- timestamp: Date.now()
172
- };
173
- if (isAskModel) {
174
- emitReminderEvent("ask-model:mentioned", {
175
- ...eventData,
176
- modelName: mention
177
- });
178
- } else {
179
- emitReminderEvent("agent:mentioned", {
180
- ...eventData,
181
- agentType
182
- });
183
- }
184
- debugLogger.info("MENTION_PROCESSOR_EVENT_EMITTED", {
185
- type: isAskModel ? "ask-model" : "agent",
186
- mention,
187
- agentType: isAskModel ? void 0 : agentType
188
- });
189
- } catch (error) {
190
- debugLogger.error("MENTION_PROCESSOR_EVENT_FAILED", {
191
- mention,
192
- agentType,
193
- isAskModel,
194
- error: error instanceof Error ? error.message : error
195
- });
196
- }
197
- }
198
- /**
199
- * Clear caches - useful for testing or reset
200
- */
201
- clearCache() {
202
- this.agentCache.clear();
203
- this.lastAgentCheck = 0;
204
- }
205
- }
206
- const mentionProcessor = new MentionProcessorService();
207
- const processMentions = (input) => mentionProcessor.processMentions(input);
208
- const clearMentionCache = () => mentionProcessor.clearCache();
209
- export {
210
- clearMentionCache,
211
- mentionProcessor,
212
- processMentions
213
- };
214
- //# sourceMappingURL=mentionProcessor.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/services/mentionProcessor.ts"],
4
- "sourcesContent": ["/**\n * Mention Processor Service\n * Handles @agent and @file mentions through the system reminder infrastructure\n * Designed to integrate naturally with the existing event-driven architecture\n */\n\nimport { emitReminderEvent } from './systemReminder'\nimport { getAvailableAgentTypes } from '@utils/agentLoader'\nimport { existsSync } from 'fs'\nimport { resolve } from 'path'\nimport { getCwd } from '@utils/state'\nimport { debug as debugLogger } from '@utils/debugLogger'\n\nexport interface MentionContext {\n type: 'agent' | 'file'\n mention: string\n resolved: string\n exists: boolean\n metadata?: any\n}\n\nexport interface ProcessedMentions {\n agents: MentionContext[]\n files: MentionContext[]\n hasAgentMentions: boolean\n hasFileMentions: boolean\n}\n\nclass MentionProcessorService {\n // Centralized mention patterns - single source of truth\n private static readonly MENTION_PATTERNS = {\n runAgent: /@(run-agent-[\\w\\-]+)/g,\n agent: /@(agent-[\\w\\-]+)/g, // Legacy support\n askModel: /@(ask-[\\w\\-]+)/g,\n file: /@([a-zA-Z0-9/._-]+(?:\\.[a-zA-Z0-9]+)?)/g,\n } as const\n\n private agentCache: Map<string, boolean> = new Map()\n private lastAgentCheck: number = 0\n private CACHE_TTL = 60000 // 1 minute cache\n\n /**\n * Process mentions in user input and emit appropriate events\n * This follows the event-driven philosophy of system reminders\n */\n public async processMentions(input: string): Promise<ProcessedMentions> {\n const result: ProcessedMentions = {\n agents: [],\n files: [],\n hasAgentMentions: false,\n hasFileMentions: false,\n }\n\n try {\n // Process agent mentions with unified logic to eliminate code duplication\n const agentMentions = this.extractAgentMentions(input)\n if (agentMentions.length > 0) {\n await this.refreshAgentCache()\n\n for (const { mention, agentType, isAskModel } of agentMentions) {\n if (isAskModel || this.agentCache.has(agentType)) {\n result.agents.push({\n type: 'agent',\n mention,\n resolved: agentType,\n exists: true,\n metadata: isAskModel ? { type: 'ask-model' } : undefined,\n })\n result.hasAgentMentions = true\n\n // Emit appropriate event based on mention type\n this.emitAgentMentionEvent(mention, agentType, isAskModel)\n }\n }\n }\n\n // No longer process @xxx format - treat as regular text (emails, etc.)\n\n // Process file mentions (exclude agent and ask-model mentions)\n const fileMatches = [\n ...input.matchAll(MentionProcessorService.MENTION_PATTERNS.file),\n ]\n const processedAgentMentions = new Set(\n agentMentions.map(am => am.mention),\n )\n\n for (const match of fileMatches) {\n const mention = match[1]\n\n // Skip if this is an agent or ask-model mention (already processed)\n if (\n mention.startsWith('run-agent-') ||\n mention.startsWith('agent-') ||\n mention.startsWith('ask-') ||\n processedAgentMentions.has(mention)\n ) {\n continue\n }\n\n // Check if it's a file\n const filePath = this.resolveFilePath(mention)\n if (existsSync(filePath)) {\n result.files.push({\n type: 'file',\n mention,\n resolved: filePath,\n exists: true,\n })\n result.hasFileMentions = true\n\n // Emit file mention event for system reminder to handle\n emitReminderEvent('file:mentioned', {\n filePath: filePath,\n originalMention: mention,\n timestamp: Date.now(),\n })\n }\n }\n\n return result\n } catch (error) {\n console.warn('[MentionProcessor] Failed to process mentions:', {\n input: input.substring(0, 100) + (input.length > 100 ? '...' : ''),\n error: error instanceof Error ? error.message : error,\n })\n\n // Return empty result on error to maintain system stability\n return {\n agents: [],\n files: [],\n hasAgentMentions: false,\n hasFileMentions: false,\n }\n }\n }\n\n // Removed identifyMention method as it's no longer needed with separate processing\n\n /**\n * Resolve file path relative to current working directory\n */\n private resolveFilePath(mention: string): string {\n // Simple consistent logic: mention is always relative to current directory\n return resolve(getCwd(), mention)\n }\n\n /**\n * Refresh the agent cache periodically\n * This avoids hitting the agent loader on every mention\n */\n private async refreshAgentCache(): Promise<void> {\n const now = Date.now()\n if (now - this.lastAgentCheck < this.CACHE_TTL) {\n return // Cache is still fresh\n }\n\n try {\n const agents = await getAvailableAgentTypes()\n const previousCacheSize = this.agentCache.size\n this.agentCache.clear()\n\n for (const agent of agents) {\n // Store only the agent type without prefix for consistent lookup\n this.agentCache.set(agent.agentType, true)\n }\n\n this.lastAgentCheck = now\n\n // Log cache refresh for debugging mention resolution issues\n if (agents.length !== previousCacheSize) {\n debugLogger.info('MENTION_PROCESSOR_CACHE_REFRESHED', {\n agentCount: agents.length,\n previousCacheSize,\n cacheAge: now - this.lastAgentCheck,\n })\n }\n } catch (error) {\n console.warn(\n '[MentionProcessor] Failed to refresh agent cache, keeping existing cache:',\n {\n error: error instanceof Error ? error.message : error,\n cacheSize: this.agentCache.size,\n lastRefresh: new Date(this.lastAgentCheck).toISOString(),\n },\n )\n // Keep existing cache on error to maintain functionality\n }\n }\n\n /**\n * Extract agent mentions with unified pattern matching\n * Consolidates run-agent, agent, and ask-model detection logic\n */\n private extractAgentMentions(\n input: string,\n ): Array<{ mention: string; agentType: string; isAskModel: boolean }> {\n const mentions: Array<{\n mention: string\n agentType: string\n isAskModel: boolean\n }> = []\n\n // Process @run-agent-xxx format (preferred)\n const runAgentMatches = [\n ...input.matchAll(MentionProcessorService.MENTION_PATTERNS.runAgent),\n ]\n for (const match of runAgentMatches) {\n const mention = match[1]\n const agentType = mention.replace(/^run-agent-/, '')\n mentions.push({ mention, agentType, isAskModel: false })\n }\n\n // Process @agent-xxx format (legacy)\n const agentMatches = [\n ...input.matchAll(MentionProcessorService.MENTION_PATTERNS.agent),\n ]\n for (const match of agentMatches) {\n const mention = match[1]\n const agentType = mention.replace(/^agent-/, '')\n mentions.push({ mention, agentType, isAskModel: false })\n }\n\n // Process @ask-model mentions\n const askModelMatches = [\n ...input.matchAll(MentionProcessorService.MENTION_PATTERNS.askModel),\n ]\n for (const match of askModelMatches) {\n const mention = match[1]\n mentions.push({ mention, agentType: mention, isAskModel: true })\n }\n\n return mentions\n }\n\n /**\n * Emit agent mention event with proper typing\n * Centralized event emission to ensure consistency\n */\n private emitAgentMentionEvent(\n mention: string,\n agentType: string,\n isAskModel: boolean,\n ): void {\n try {\n const eventData = {\n originalMention: mention,\n timestamp: Date.now(),\n }\n\n if (isAskModel) {\n emitReminderEvent('ask-model:mentioned', {\n ...eventData,\n modelName: mention,\n })\n } else {\n emitReminderEvent('agent:mentioned', {\n ...eventData,\n agentType,\n })\n }\n\n // Debug log for mention event emission tracking\n debugLogger.info('MENTION_PROCESSOR_EVENT_EMITTED', {\n type: isAskModel ? 'ask-model' : 'agent',\n mention,\n agentType: isAskModel ? undefined : agentType,\n })\n } catch (error) {\n debugLogger.error('MENTION_PROCESSOR_EVENT_FAILED', {\n mention,\n agentType,\n isAskModel,\n error: error instanceof Error ? error.message : error,\n })\n }\n }\n\n /**\n * Clear caches - useful for testing or reset\n */\n public clearCache(): void {\n this.agentCache.clear()\n this.lastAgentCheck = 0\n }\n}\n\n// Export singleton instance\nexport const mentionProcessor = new MentionProcessorService()\n\n/**\n * Process mentions in user input\n * This is the main API for the mention processor\n */\nexport const processMentions = (input: string) =>\n mentionProcessor.processMentions(input)\n\n/**\n * Clear mention processor caches\n */\nexport const clearMentionCache = () => mentionProcessor.clearCache()\n"],
5
- "mappings": "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",
6
- "names": []
7
- }