@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/tools/TaskTool/TaskTool.tsx"],
4
- "sourcesContent": ["import { TextBlock } from '@anthropic-ai/sdk/resources/index.mjs'\nimport chalk from 'chalk'\nimport { last, memoize } from 'lodash-es'\nimport { EOL } from 'os'\nimport { dirname } from 'path'\nimport { execFileSync } from 'child_process'\nimport React, { useState, useEffect } from 'react'\nimport { Box, Text } from 'ink'\nimport { z } from 'zod'\nimport { Tool, ValidationResult } from '@tool'\nimport { FallbackToolUseRejectedMessage } from '@components/FallbackToolUseRejectedMessage'\nimport { getAgentPrompt, getSystemPrompt } from '@constants/prompts'\nimport { getContext } from '@context'\nimport { hasPermissionsToUseTool } from '@permissions'\nimport { AssistantMessage, Message as MessageType } from '@query'\nimport { formatDuration, formatNumber } from '@utils/format'\nimport {\n getMessagesPath,\n getNextAvailableLogSidechainNumber,\n overwriteLog,\n logError,\n} from '@utils/log'\nimport { applyMarkdown } from '@utils/markdown'\nimport {\n createAssistantMessage,\n createUserMessage,\n INTERRUPT_MESSAGE,\n normalizeMessages,\n} from '@utils/messages'\nimport { getModelManager } from '@utils/model'\nimport { getMaxThinkingTokens } from '@utils/thinking'\nimport { getTheme } from '@utils/theme'\nimport { generateAgentId } from '@utils/agentStorage'\nimport { debug as debugLogger } from '@utils/debugLogger'\nimport { getTools, getReadOnlyTools } from '@tools'\nimport { getTaskTools, getPrompt } from './prompt'\nimport { TOOL_NAME } from './constants'\nimport {\n getActiveAgents,\n getAgentByType,\n getAvailableAgentTypes,\n} from '@utils/agentLoader'\nimport {\n createAgentTranscript,\n getAgentTranscript,\n getResumableTranscript,\n appendMessageToTranscript,\n updateAgentTranscript,\n completeAgentTranscript,\n failAgentTranscript,\n interruptAgentTranscript,\n canResumeTranscript,\n registerToolUseAgent,\n type AgentTranscript,\n} from '@utils/agentTranscripts'\nimport {\n registerBackgroundAgent,\n completeBackgroundAgent,\n failBackgroundAgent,\n} from '@utils/backgroundAgentManager'\nimport { UserFriendlyError, formatErrorForUser } from '@utils/userFriendlyError'\nimport { execSync } from 'child_process'\nimport {\n pushAgentContext,\n popAgentContext,\n cleanupAgentStreamingState,\n} from '@utils/streamingState'\nimport {\n validateAgentPermission,\n MODE_CONFIGS,\n type PermissionMode,\n} from '@minto-types/PermissionMode'\nimport { executeAgentHooks, createHookContext } from '@utils/agentHookExecutor'\nimport {\n loadAgentMemory,\n saveAgentMemory,\n formatMemoryForPrompt,\n} from '@utils/agentMemory'\nimport { getSkill, loadSkillContent } from '@utils/skillLoader'\nimport { getCwd } from '@utils/state'\nimport { getHookManager } from '@utils/hookManager'\nimport { substituteVariables } from '@utils/stringSubstitution'\nimport {\n getTeam,\n addTeammate,\n updateTeammateStatus,\n sanitizeTeamName,\n} from '@services/agentTeams/teamManager'\nimport {\n markTeammateIdle,\n markTeammateCompleted,\n} from '@services/agentTeams/teammateSpawner'\nimport { resolveBackend } from '@services/agentTeams/backends/resolver'\nimport type { DisplayBackend } from '@services/agentTeams/backends/types'\nimport {\n registerInProcessAgent,\n updateInProcessAgentState,\n unregisterInProcessAgent,\n} from '@services/agentTeams/backends/inProcess'\n\n/**\n * Default timeout for headless (tmux) agent processes.\n * Used for both background and foreground headless modes.\n */\nconst DEFAULT_HEADLESS_TIMEOUT_MS = 10 * 60 * 1000 // 10 minutes\n\n/**\n * Save current process.env values, set new ones, and return a restore function.\n * Values set to `undefined` will delete the env var (and restore the original).\n *\n * CONCURRENCY NOTE: This mutates the shared `process.env` object, which is safe\n * for tmux/headless backends (each agent is a separate OS process) but is a\n * concurrency hazard for in-process (AgentEngine) teammates that share the same\n * event loop. For in-process mode, callers should pass `inProcess: true` to skip\n * the mutation and instead rely on the team context injected into the system prompt\n * and the agent's toolUseContext. The env vars are still needed for tmux backends\n * where each agent is a child process that reads process.env at startup.\n */\nfunction scopeEnvVars(\n vars: Record<string, string | undefined>,\n options?: { inProcess?: boolean },\n): () => void {\n // For in-process agents, skip process.env mutation to avoid concurrency bugs.\n // Multiple in-process agents run on the same event loop and would overwrite\n // each other's env vars. The team context is already available via system prompt\n // and AgentEngine's teamName/agentId fields.\n if (options?.inProcess) {\n return () => {} // no-op restore\n }\n\n const saved: Record<string, string | undefined> = {}\n for (const key of Object.keys(vars)) {\n saved[key] = process.env[key]\n if (vars[key] !== undefined) {\n process.env[key] = vars[key]\n } else {\n delete process.env[key]\n }\n }\n return () => {\n for (const key of Object.keys(saved)) {\n if (saved[key] !== undefined) {\n process.env[key] = saved[key]\n } else {\n delete process.env[key]\n }\n }\n }\n}\n\nconst inputSchema = z.object({\n description: z\n .string()\n .describe('A short (3-5 word) description of the task'),\n prompt: z.string().describe('The task for the agent to perform'),\n model_name: z\n .string()\n .optional()\n .describe(\n 'Optional: Specific model name to use for this task. If not provided, uses the default task model pointer.',\n ),\n model: z\n .enum(['sonnet', 'opus', 'haiku'])\n .optional()\n .describe(\n 'Optional model hint for this agent. Maps to configured model pointers: sonnet\u2192main, opus\u2192reasoning, haiku\u2192quick. If not specified, uses the task model pointer. Prefer haiku for quick, straightforward tasks.',\n ),\n subagent_type: z\n .string()\n .optional()\n .describe(\n 'The specialized agent type to use. MUST be an exact name from the available agents list in the tool description. Defaults to \"general-purpose\" if not specified.',\n ),\n resume: z\n .string()\n .optional()\n .describe(\n 'Optional agent ID to resume from. If provided, the agent will continue from the previous execution transcript.',\n ),\n max_turns: z\n .number()\n .int()\n .positive()\n .optional()\n .describe(\n 'Maximum number of agentic turns (API round-trips) before stopping. Used internally for warmup.',\n ),\n team_name: z\n .string()\n .optional()\n .describe(\n 'Optional team name. When provided, the subagent is spawned as a teammate with team context, discovery info, and team tools (SendMessage, TaskCreate, etc.).',\n ),\n name: z\n .string()\n .optional()\n .describe(\n 'Optional human-readable name for this teammate (e.g., \"researcher\", \"tester\"). Used for team communication.',\n ),\n run_in_background: z\n .boolean()\n .optional()\n .describe(\n 'Set to true to run this agent in the background. The tool result will include an output_file path - use Read tool or Bash tail to check on output.',\n ),\n isolation: z\n .enum(['worktree'])\n .optional()\n .describe(\n 'Isolation mode. \"worktree\" creates a temporary git worktree so the agent works on an isolated copy of the repo.',\n ),\n})\n\nexport const TaskTool = {\n async prompt({ safeMode }) {\n return await getPrompt(safeMode)\n },\n name: TOOL_NAME,\n async description() {\n // Dynamically load available agent types from plugins\n const availableTypes = await getAvailableAgentTypes()\n const typesList = availableTypes.join(', ')\n return `Launch a specialized agent to handle tasks autonomously. You MUST use an exact agent type name from this list: ${typesList}. Default to \"general-purpose\" if unsure.`\n },\n inputSchema,\n\n async *call(\n {\n description,\n prompt,\n model_name,\n model,\n subagent_type,\n resume,\n max_turns,\n team_name,\n name: teammateName,\n run_in_background,\n isolation,\n },\n {\n abortController,\n options: {\n safeMode = false,\n safetyMode,\n forkNumber,\n messageLogName,\n verbose,\n },\n readFileTimestamps,\n toolUseId,\n },\n ): AsyncGenerator<\n | { type: 'result'; data: TextBlock[]; resultForAssistant?: string }\n | {\n type: 'progress'\n content: any\n normalizedMessages?: any[]\n tools?: any[]\n },\n void,\n unknown\n > {\n const startTime = Date.now()\n\n // Team agents always run in background so the team-lead remains available to coordinate\n const effectiveRunInBackground = team_name ? true : run_in_background\n\n if (team_name) {\n team_name = sanitizeTeamName(team_name)\n }\n\n // Default to general-purpose if no subagent_type specified\n const agentType = subagent_type || 'general-purpose'\n\n // Handle resume: check if we're resuming from a previous transcript\n let resumedTranscript: AgentTranscript | null = null\n let agentId: string\n\n if (resume) {\n resumedTranscript = getResumableTranscript(resume)\n if (!resumedTranscript) {\n yield {\n type: 'result',\n data: [\n {\n type: 'text',\n text: `Cannot resume agent '${resume}': transcript not found or not resumable (status must be 'running' or 'interrupted')`,\n },\n ] as TextBlock[],\n resultForAssistant: `Cannot resume agent '${resume}': transcript not found or not resumable`,\n }\n return\n }\n agentId = resume\n debugLogger.info('TASK_AGENT_RESUMING', {\n agentId,\n agentType: resumedTranscript.agentType,\n messageCount: resumedTranscript.messages.length,\n previousStatus: resumedTranscript.status,\n })\n } else {\n agentId = generateAgentId()\n }\n\n // Register toolUseId -> agentId mapping for UI association\n if (toolUseId) {\n registerToolUseAgent(toolUseId, agentId)\n }\n\n // \uD83D\uDD27 CRITICAL FIX: Track whether we've yielded a result to prevent UI stuck state\n let hasYieldedResult = false\n\n // Apply subagent configuration\n let effectivePrompt = prompt\n let effectiveModel = model_name || 'task'\n let toolFilter = null\n let disallowedToolFilter: string[] | null = null // Claude Code spec: disallowedTools denylist\n let temperature = undefined\n let agentMaxThinkingTokens: number | undefined = undefined\n let effectivePermissionMode: PermissionMode = 'default'\n let loadedAgentConfig: Awaited<ReturnType<typeof getAgentByType>> = null\n\n // Load agent configuration dynamically\n if (agentType) {\n const agentConfig = await getAgentByType(agentType)\n\n if (!agentConfig) {\n // If agent type not found, return helpful message instead of throwing\n const availableTypes = await getAvailableAgentTypes()\n const helpMessage = `Agent type '${agentType}' not found.\\n\\nAvailable agents:\\n${availableTypes.map(t => ` \u2022 ${t}`).join('\\n')}\\n\\nUse /agents command to manage agent configurations.`\n\n yield {\n type: 'result',\n data: [{ type: 'text', text: helpMessage }] as TextBlock[],\n resultForAssistant: helpMessage,\n }\n hasYieldedResult = true\n return\n }\n\n // Store config for later use (hooks, memory, etc.)\n loadedAgentConfig = agentConfig\n\n // Apply system prompt if configured \u2014 wrap in <system-reminder> so\n // AgentDetailView (focus view) filters it from rendered output\n if (agentConfig.systemPrompt) {\n effectivePrompt = `<system-reminder>\\n${agentConfig.systemPrompt}\\n</system-reminder>\\n\\n${prompt}`\n }\n\n // Apply model if not overridden by model_name parameter\n if (!model_name && agentConfig.model_name) {\n // Support inherit: keep pointer-based default\n if (agentConfig.model_name !== 'inherit') {\n effectiveModel = agentConfig.model_name as string\n }\n }\n\n // Store tool filter for later application\n toolFilter = agentConfig.tools\n\n // Store disallowed tools filter for later application (Claude Code spec compliance)\n if (agentConfig.disallowedTools?.length) {\n disallowedToolFilter = agentConfig.disallowedTools\n }\n\n // Apply maxThinkingTokens if configured (Claude Code spec)\n if (agentConfig.maxThinkingTokens) {\n agentMaxThinkingTokens = agentConfig.maxThinkingTokens\n }\n\n // Validate and apply permission mode (Claude Code spec)\n // Agent permission cannot exceed session permission level\n if (agentConfig.permissionMode) {\n const sessionMode: PermissionMode = safeMode ? 'plan' : 'default'\n effectivePermissionMode = validateAgentPermission(\n agentConfig.permissionMode,\n sessionMode,\n )\n }\n\n // Load agent memory if configured (Claude Code spec)\n if (agentConfig.memory) {\n try {\n const memoryContent = await loadAgentMemory(\n agentConfig.agentType,\n agentConfig.memory,\n )\n if (memoryContent) {\n // Inject memory into system prompt\n effectivePrompt =\n formatMemoryForPrompt(memoryContent, agentConfig.agentType) +\n '\\n' +\n effectivePrompt\n }\n } catch (error) {\n debugLogger.warn('TASK_AGENT_MEMORY_LOAD_FAILED', {\n agentId,\n agentType,\n error: error instanceof Error ? error.message : String(error),\n })\n }\n }\n\n // Preload skills if configured (Claude Code spec)\n if (agentConfig.skills?.length) {\n for (const skillName of agentConfig.skills) {\n try {\n const skill = getSkill(skillName)\n if (skill) {\n const skillContent = await loadSkillContent(skill)\n const skillBaseDir = dirname(skill.filePath)\n // Apply {baseDir} resolution and string substitution\n const resolvedContent = skillContent.replace(\n /\\{baseDir\\}/g,\n skillBaseDir,\n )\n const substitutedContent = await substituteVariables(\n resolvedContent,\n '', // No arguments for preloaded skills\n {\n sessionId: agentId,\n cwd: process.cwd(),\n env: { BASE_DIR: skillBaseDir },\n },\n )\n effectivePrompt += `\\n\\n<preloaded-skill name=\"${skillName}\">\\n${substitutedContent}\\n</preloaded-skill>`\n }\n } catch (error) {\n debugLogger.warn('TASK_AGENT_SKILL_PRELOAD_FAILED', {\n agentId,\n skillName,\n error: error instanceof Error ? error.message : String(error),\n })\n }\n }\n }\n\n // Execute onStart hooks if configured (Claude Code spec)\n if (agentConfig.hooks?.onStart?.length) {\n try {\n const hookContext = createHookContext({\n sessionId: agentId,\n agentId,\n agentType,\n })\n const hookResult = await executeAgentHooks(\n 'onStart',\n agentConfig,\n hookContext,\n )\n if (!hookResult.continue) {\n yield {\n type: 'result',\n data: [\n {\n type: 'text',\n text: `Agent ${agentType} blocked by onStart hook: ${hookResult.reason || 'Hook requested stop'}`,\n },\n ] as TextBlock[],\n resultForAssistant: `Agent blocked by onStart hook: ${hookResult.reason}`,\n }\n hasYieldedResult = true\n return\n }\n } catch (error) {\n debugLogger.warn('TASK_AGENT_ONSTART_HOOK_FAILED', {\n agentId,\n agentType,\n error: error instanceof Error ? error.message : String(error),\n })\n }\n }\n\n // Note: temperature is not currently in our agent configs\n // but could be added in the future\n }\n\n // Apply model resolution with intelligent fallback\n // Priority: model_name (explicit) > model (alias) > agent config > task pointer > main model\n if (model) {\n // Model aliases are semantic hints, not hardcoded model names\n // Map to Minto's model pointer system for proper resolution\n const modelPointerMap: Record<string, string> = {\n sonnet: 'main', // Use main model for standard tasks\n opus: 'reasoning', // Use reasoning model for complex tasks\n haiku: 'quick', // Use quick model for fast tasks\n }\n\n const pointerType = modelPointerMap[model] || 'task'\n const modelManager = getModelManager()\n const resolvedModelName = modelManager.getModelName(pointerType as any)\n\n if (resolvedModelName) {\n effectiveModel = resolvedModelName\n }\n // If resolution fails, keep the previous effectiveModel (from agent config or 'task' default)\n }\n\n // Git worktree isolation: create isolated worktree for parallel edits\n let worktreePath: string | null = null\n const shouldUseWorktree =\n isolation === 'worktree' || loadedAgentConfig?.isolation === 'worktree'\n if (shouldUseWorktree) {\n try {\n const tmpDir = `/tmp/minto-worktree-${agentId}`\n execFileSync('git', ['worktree', 'add', tmpDir, 'HEAD'], {\n cwd: getCwd(),\n stdio: 'pipe',\n })\n worktreePath = tmpDir\n effectivePrompt = `[Working in isolated git worktree: ${tmpDir}]\\n\\n${effectivePrompt}`\n debugLogger.info('TASK_AGENT_WORKTREE_CREATED', {\n agentId,\n worktreePath,\n })\n // Fire WorktreeCreate hook\n const hookMgrCreate = getHookManager()\n hookMgrCreate\n ?.executeWorktreeCreate(worktreePath, agentId, agentType)\n .catch(err =>\n debugLogger.trace('HOOK_WORKTREE_CREATE', { error: err }),\n )\n } catch (err) {\n debugLogger.warn('TASK_AGENT_WORKTREE_FAILED', {\n agentId,\n error: err instanceof Error ? err.message : String(err),\n })\n // Continue without worktree \u2014 non-git repos or worktree errors\n }\n }\n\n // Scoped env var management: save \u2192 set \u2192 restore in finally\n // Prevents process.env pollution across concurrent agents\n let restoreEnvVars: (() => void) | null = null\n\n if (team_name) {\n const teammateAgentId = teammateName\n ? `${teammateName}@${team_name}`\n : `${agentType}@${team_name}`\n\n // Register this agent as a team member so it appears in the panel\n try {\n const { getTeammateColor } = await import('@constants/agentTeams')\n const teamEntry = getTeam(team_name)\n const colorIndex = teamEntry?.team.members.length ?? 0\n addTeammate(team_name, {\n id: teammateAgentId,\n name: teammateName || agentType,\n agentType,\n status: 'working',\n prompt,\n color: getTeammateColor(colorIndex),\n })\n } catch {\n // Non-fatal: agent can still work without team registration\n }\n\n // Store worktree path in team registry for cleanup on disband\n if (worktreePath && team_name) {\n try {\n const { updateTeammateWorktree } = await import(\n '@services/agentTeams/teamManager'\n )\n updateTeammateWorktree(\n team_name,\n teammateName\n ? `${teammateName}@${team_name}`\n : `${agentType}@${team_name}`,\n worktreePath,\n )\n } catch {\n /* best-effort */\n }\n }\n\n // Set env vars for team discovery (readable by subagent tools)\n // scopeEnvVars saves current values and returns a restore function\n const effectiveAgentName = teammateName || agentType\n\n // Determine planModeRequired value\n let planModeValue: string | undefined\n try {\n const teamEntry = getTeam(team_name)\n const member = teamEntry?.team.members.find(\n m => m.id === teammateAgentId,\n )\n planModeValue = member?.planModeRequired ? '1' : undefined\n } catch {\n // Non-fatal: if team lookup fails, don't set the flag\n }\n\n // Determine backend mode early so we know whether to mutate process.env.\n // In-process agents share the event loop \u2014 env mutation is a concurrency bug.\n const earlyBackend = resolveBackend(\n getTeam(team_name)?.team.config.displayMode,\n )\n const isInProcessBackend = earlyBackend.mode === 'in-process'\n\n // Track agent nesting depth to prevent infinite recursion.\n // Each spawned teammate increments the depth counter.\n const parentDepth =\n parseInt(\n process.env.MINTO_AGENT_DEPTH ??\n process.env.CLAUDE_AGENT_DEPTH ??\n '0',\n 10,\n ) || 0\n const childDepth = String(parentDepth + 1)\n\n restoreEnvVars = scopeEnvVars(\n {\n MINTO_TEAM_NAME: team_name,\n MINTO_AGENT_ID: teammateAgentId,\n MINTO_AGENT_TYPE: agentType,\n MINTO_AGENT_NAME: effectiveAgentName,\n MINTO_PLAN_MODE_REQUIRED: planModeValue,\n MINTO_AGENT_DEPTH: childDepth,\n // CC compat: set CLAUDE_CODE_* so CC ecosystem tools can read them\n CLAUDE_CODE_TEAM_NAME: team_name,\n CLAUDE_CODE_AGENT_ID: teammateAgentId,\n CLAUDE_CODE_AGENT_TYPE: agentType,\n CLAUDE_CODE_AGENT_NAME: effectiveAgentName,\n CLAUDE_CODE_PLAN_MODE_REQUIRED: planModeValue,\n CLAUDE_AGENT_DEPTH: childDepth,\n },\n { inProcess: isInProcessBackend },\n )\n\n // Build team discovery context for the system prompt\n let teamDiscovery = ''\n try {\n const { getTeam: getTeamFn } = await import(\n '@services/agentTeams/teamManager'\n )\n const entry = getTeamFn(team_name)\n if (entry) {\n const otherMembers = entry.team.members\n .filter(m => m.id !== teammateAgentId && m.name !== teammateName)\n .map(m => ` - ${m.name} (${m.agentType}): ${m.status}`)\n .join('\\n')\n if (otherMembers) {\n teamDiscovery = `\\nTeam members:\\n${otherMembers}`\n }\n }\n } catch {\n // Team not found \u2014 non-fatal\n }\n\n const teamContext = `\\n# Agent Teammate Communication\n\nYou are agent \"${teammateName || agentType}\" in team \"${team_name}\".\n\n## CRITICAL: Reporting Results\n\n**You MUST use the SendMessage tool to report your results to the team lead.** Your text output is NOT visible to the team lead or any teammate. The ONLY way to deliver your findings is via SendMessage.\n\nWhen you finish your task:\n1. Use SendMessage with type \"message\", recipient \"team-lead\", and your findings as content\n2. Include a brief summary in the summary field\n3. Do NOT just output text \u2014 it will be lost\n\n## Communication\n\n- Use SendMessage with type \\`message\\` to send messages to specific teammates\n- Use SendMessage with type \\`broadcast\\` sparingly for team-wide announcements\n- Do NOT send acknowledgment messages (\"Got it\", \"\u5DF2\u6536\u5230\") \u2014 only send when you have actionable content\n- ALWAYS respond in the same language as the user's original request\n\n**User guidance**: Sometimes the user may send you direct messages that appear in \\`<user-guidance>\\` tags. When you receive user guidance, respond directly in your text output \u2014 do NOT forward it to the team lead via SendMessage. The user can see your text output in the focus view.\n\nTeam: ${team_name}\nYour agent ID: ${teammateAgentId}\nYour agent type: ${agentType}${teamDiscovery}\n`\n // Wrap teamContext in <system-reminder> so UserPromptMessage filters it out\n effectivePrompt =\n `<system-reminder>\\n${teamContext}\\n</system-reminder>\\n\\n` +\n effectivePrompt\n\n // Override agentId so tool context carries the team-scoped identity\n agentId = teammateAgentId\n // Re-register toolUse mapping with team-scoped ID\n if (toolUseId) {\n registerToolUseAgent(toolUseId, agentId)\n }\n\n // \u2500\u2500 Headless Mode: spawn as independent process \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n // When backend is not in-process, fork a child process and wait for\n // it to complete. The child process runs its own query loop and sends\n // results via file-based mailbox. When multiple agents are spawned in\n // parallel (parallel TaskTool calls), each waits independently \u2014\n // achieving true multi-process parallelism with result collection.\n const backend = resolveBackend(\n getTeam(team_name)?.team.config.displayMode,\n )\n\n // Teammates get acceptEdits \u2014 file edits and bash commands are auto-approved\n // within the project directory. BashTool still enforces critical safety\n // checks (directory sandbox, destructive patterns) regardless of permission mode.\n effectivePermissionMode = safeMode ? 'plan' : 'acceptEdits'\n\n if (backend.mode !== 'in-process') {\n try {\n // Check if teammate has planModeRequired in registry\n const spawnTeamEntry = getTeam(team_name)\n const spawnMember = spawnTeamEntry?.team.members.find(\n m => m.id === teammateAgentId,\n )\n\n const handle = await backend.spawn({\n agentId: teammateAgentId,\n agentName: teammateName || agentType,\n teamName: team_name,\n agentType,\n prompt,\n model: effectiveModel !== 'task' ? effectiveModel : undefined,\n cwd: process.cwd(),\n maxTurns: max_turns,\n mode: effectivePermissionMode,\n planModeRequired: spawnMember?.planModeRequired,\n color: spawnMember?.color,\n parentSessionId: spawnTeamEntry?.team.leadSessionId,\n })\n\n // Create a transcript so the UI can track this headless agent's status.\n // The transcript won't have real-time messages (those happen in the child),\n // but it provides status tracking for ParallelTasksGroupView and AgentFocusView.\n createAgentTranscript({\n agentId: teammateAgentId,\n agentType,\n toolUseId,\n description: description || teammateName || agentType,\n prompt,\n model: effectiveModel,\n forkNumber,\n messageLogName,\n messages: [createUserMessage(effectivePrompt)],\n toolUseCount: 0,\n metadata: { isBackground: true },\n })\n\n yield {\n type: 'progress',\n content: createAssistantMessage(\n `Teammate \"${teammateName || agentType}\" spawned as independent process (headless mode, agent ID: ${teammateAgentId})`,\n ),\n }\n\n // Background mode: return immediately, let heartbeat detect completion\n if (effectiveRunInBackground) {\n registerBackgroundAgent(\n teammateAgentId,\n agentType,\n description,\n abortController,\n )\n\n // Fire-and-forget: monitor the child process and update status on exit\n ;(async () => {\n const HEADLESS_TIMEOUT_MS = DEFAULT_HEADLESS_TIMEOUT_MS\n let exitCode: number | null = null\n\n await new Promise<void>(resolve => {\n const timeoutId = setTimeout(() => {\n debugLogger.warn('HEADLESS_AGENT_TIMEOUT', {\n agentId: teammateAgentId,\n timeoutMs: HEADLESS_TIMEOUT_MS,\n })\n backend.kill(handle).then(resolve, resolve)\n }, HEADLESS_TIMEOUT_MS)\n\n backend.onExit(handle, code => {\n exitCode = code\n clearTimeout(timeoutId)\n resolve()\n })\n\n if (!backend.isAlive(handle)) {\n clearTimeout(timeoutId)\n resolve()\n }\n\n if (abortController.signal.aborted) {\n clearTimeout(timeoutId)\n backend.kill(handle).then(resolve, resolve)\n } else {\n abortController.signal.addEventListener(\n 'abort',\n () => {\n clearTimeout(timeoutId)\n backend.kill(handle).then(resolve, resolve)\n },\n { once: true },\n )\n }\n })\n\n if (exitCode !== null && exitCode !== 0) {\n updateTeammateStatus(team_name, teammateAgentId, 'stopped')\n failBackgroundAgent(teammateAgentId, `exit code ${exitCode}`)\n failAgentTranscript(teammateAgentId, `exit code ${exitCode}`)\n } else {\n markTeammateCompleted(\n team_name,\n teammateAgentId,\n teammateName || agentType,\n {\n summary: `Teammate \"${teammateName || agentType}\" completed.`,\n },\n ).catch(err =>\n debugLogger.trace('MARK_TEAMMATE_COMPLETED', { error: err }),\n )\n completeBackgroundAgent(teammateAgentId, [\n {\n type: 'text',\n text: `Teammate \"${teammateName || agentType}\" completed.`,\n },\n ])\n completeAgentTranscript(teammateAgentId)\n }\n })()\n\n const bgResultText = `Agent \"${teammateName || agentType}\" running in background`\n yield {\n type: 'result',\n data: [{ type: 'text', text: bgResultText }] as TextBlock[],\n resultForAssistant: `Teammate \"${teammateName || agentType}\" is running in the background. You will be notified automatically when they finish \u2014 do NOT check on them.`,\n }\n hasYieldedResult = true\n return\n }\n\n // Foreground mode: wait for the child process to exit.\n // Promise resolves on exit, abort, or timeout (calling resolve multiple times is safe).\n const HEADLESS_TIMEOUT_MS = DEFAULT_HEADLESS_TIMEOUT_MS\n let exitCode: number | null = null\n\n await new Promise<void>(resolve => {\n // Safety timeout to prevent infinite hang\n const timeoutId = setTimeout(() => {\n debugLogger.warn('HEADLESS_AGENT_TIMEOUT', {\n agentId: teammateAgentId,\n timeoutMs: HEADLESS_TIMEOUT_MS,\n })\n backend.kill(handle).then(resolve, resolve)\n }, HEADLESS_TIMEOUT_MS)\n\n backend.onExit(handle, code => {\n exitCode = code\n clearTimeout(timeoutId)\n resolve()\n })\n\n // Guard against race: process may have exited before onExit was registered\n if (!backend.isAlive(handle)) {\n clearTimeout(timeoutId)\n resolve()\n }\n\n // Support abort: kill child process on Ctrl+C\n if (abortController.signal.aborted) {\n clearTimeout(timeoutId)\n backend.kill(handle).then(resolve, resolve)\n } else {\n abortController.signal.addEventListener(\n 'abort',\n () => {\n clearTimeout(timeoutId)\n backend.kill(handle).then(resolve, resolve)\n },\n { once: true },\n )\n }\n })\n\n // Update teammate status in parent's in-memory team state.\n // The child already wrote its messages to disk before exiting,\n // so we sync the in-memory status and send a completion notification.\n markTeammateCompleted(\n team_name,\n teammateAgentId,\n teammateName || agentType,\n {\n summary: `Teammate \"${teammateName || agentType}\" completed.`,\n },\n ).catch(err =>\n debugLogger.trace('MARK_TEAMMATE_COMPLETED', { error: err }),\n )\n\n // Read agent's messages from the file-based mailbox\n const teamEntry = getTeam(team_name)\n const leadId = `team-lead@${team_name}`\n let agentResultText = `Teammate \"${teammateName || agentType}\" completed.`\n\n // Check for non-zero exit code (child process error)\n if (exitCode !== null && exitCode !== 0) {\n agentResultText = `Teammate \"${teammateName || agentType}\" failed (exit code ${exitCode}). The agent process encountered an error during startup or execution.`\n failAgentTranscript(teammateAgentId, agentResultText)\n } else {\n completeAgentTranscript(teammateAgentId)\n }\n\n if (teamEntry) {\n const unread = teamEntry.mailbox.getUnread(leadId)\n const fromAgent = unread.filter(m => m.from === teammateAgentId)\n if (fromAgent.length > 0) {\n const {\n parseIdleNotification,\n formatIdleNotificationForInjection,\n formatTeamMessage,\n } = require('@services/agentTeams/messageFormatter')\n agentResultText = fromAgent\n .map(m => {\n // Parse idle/task_completed/idle_notification JSON into formatted XML\n const idleData = parseIdleNotification(m.text)\n if (idleData) {\n return formatIdleNotificationForInjection(idleData)\n }\n return formatTeamMessage(m)\n })\n .join('\\n\\n')\n teamEntry.mailbox.markRead(fromAgent.map(m => m.id))\n }\n }\n\n yield {\n type: 'result',\n data: [\n {\n type: 'text',\n text: agentResultText,\n },\n ] as TextBlock[],\n resultForAssistant: agentResultText,\n }\n hasYieldedResult = true\n return\n } catch (spawnError) {\n // Fallback to in-process on spawn failure\n debugLogger.warn('HEADLESS_SPAWN_FAILED', {\n agentId: teammateAgentId,\n error:\n spawnError instanceof Error\n ? spawnError.message\n : String(spawnError),\n })\n // Continue with in-process execution below\n }\n }\n }\n\n // Register in-process agent state for CC-compatible tracking.\n // Only for team agents \u2014 standalone TaskTool invocations don't need this.\n if (team_name) {\n registerInProcessAgent(agentId, effectivePermissionMode)\n }\n\n // Initialize messages: either resume from transcript or start fresh.\n // For fresh agents, start with an empty array \u2014 submitPrompt() below\n // will add the single initial user message, avoiding the duplicate that\n // caused \"WriteWrite\" tool-name hallucinations.\n let messages: MessageType[] = resumedTranscript\n ? [...resumedTranscript.messages]\n : []\n\n let tools = await getTaskTools(safeMode)\n\n // Apply tool filtering if specified by subagent config\n // Claude Code spec: tools (allowlist) + disallowedTools (denylist) combination\n // Priority: disallowedTools always takes precedence over tools\n // Supports Task(agent_type) syntax to restrict which subagent types can be spawned\n let allowedSubagentTypes: string[] | null = null\n if (toolFilter) {\n // Back-compat: ['*'] means all tools\n const isAllArray =\n Array.isArray(toolFilter) &&\n toolFilter.length === 1 &&\n toolFilter[0] === '*'\n if (toolFilter === '*' || isAllArray) {\n // no-op, keep all tools (allowlist permits all)\n } else if (Array.isArray(toolFilter)) {\n // Extract Task(type) restrictions\n const taskPatterns = toolFilter\n .filter(\n (t: string) =>\n (t.startsWith('Agent(') || t.startsWith('Task(')) &&\n t.endsWith(')'),\n )\n .map((t: string) =>\n t.startsWith('Agent(') ? t.slice(6, -1) : t.slice(5, -1),\n )\n if (taskPatterns.length > 0) {\n allowedSubagentTypes = taskPatterns\n }\n\n // Filter tools: include Agent tool if any Agent()/Task() pattern exists\n const baseToolNames = toolFilter\n .map((t: string) =>\n t.startsWith('Agent(') || t.startsWith('Task(') ? TOOL_NAME : t,\n )\n .filter((t: string, i: number, arr: string[]) => arr.indexOf(t) === i)\n tools = tools.filter(tool => baseToolNames.includes(tool.name))\n }\n }\n\n // Apply disallowedTools filter (denylist takes precedence over allowlist)\n if (disallowedToolFilter?.length) {\n tools = tools.filter(tool => !disallowedToolFilter!.includes(tool.name))\n }\n\n // When spawned as a teammate, ensure team tools are available\n // Minto enhancement: teammates can use Task tool for 1-level subagent nesting\n // TeamCreate/TeamDelete intentionally excluded \u2014 leader-only\n if (team_name) {\n // Depth checking to prevent infinite teammate nesting.\n // MINTO_AGENT_DEPTH tracks how deep we are in the agent spawn tree.\n // At depth >= 2, remove Task tool to guarantee convergence (max 2 levels).\n const currentDepth =\n parseInt(\n process.env.MINTO_AGENT_DEPTH ??\n process.env.CLAUDE_AGENT_DEPTH ??\n '0',\n 10,\n ) || 0\n\n const teamToolNames = new Set([\n 'SendMessage',\n ...(currentDepth < 2\n ? [TOOL_NAME] // Only allow further nesting at depth < 2\n : []),\n 'TaskCreate',\n 'TaskUpdate',\n 'TaskList',\n 'TaskGet',\n ])\n // Source from full tool list (getTaskTools excludes Task via EXCLUDED_AGENT_TOOLS)\n const fullTools = await (!safeMode ? getTools() : getReadOnlyTools())\n for (const tool of fullTools) {\n if (\n teamToolNames.has(tool.name) &&\n !tools.some(t => t.name === tool.name)\n ) {\n tools.push(tool)\n }\n }\n }\n\n // Apply permission mode tool restrictions (Claude Code spec)\n // Some permission modes only allow specific tools\n if (effectivePermissionMode !== 'default') {\n const modeConfig = MODE_CONFIGS[effectivePermissionMode]\n if (modeConfig && modeConfig.allowedTools[0] !== '*') {\n tools = tools.filter(tool =>\n modeConfig.allowedTools.includes(tool.name),\n )\n }\n }\n\n // Model already resolved in effectiveModel variable above\n const modelToUse = effectiveModel\n\n // Display initial task information with separate progress lines\n if (resumedTranscript) {\n yield {\n type: 'progress',\n content: createAssistantMessage(\n `Resuming agent: ${agentType} (${agentId})`,\n ),\n normalizedMessages: normalizeMessages(messages),\n tools,\n }\n\n yield {\n type: 'progress',\n content: createAssistantMessage(\n `Restored ${resumedTranscript.messages.length} messages, ${resumedTranscript.toolUseCount} tool uses`,\n ),\n normalizedMessages: normalizeMessages(messages),\n tools,\n }\n } else {\n yield {\n type: 'progress',\n content: createAssistantMessage(`Starting agent: ${agentType}`),\n normalizedMessages: normalizeMessages(messages),\n tools,\n }\n }\n\n yield {\n type: 'progress',\n content: createAssistantMessage(`Using model: ${modelToUse}`),\n normalizedMessages: normalizeMessages(messages),\n tools,\n }\n\n yield {\n type: 'progress',\n content: createAssistantMessage(`Task: ${description}`),\n normalizedMessages: normalizeMessages(messages),\n tools,\n }\n\n yield {\n type: 'progress',\n content: createAssistantMessage(\n `Prompt: ${prompt.length > 150 ? prompt.substring(0, 150) + '...' : prompt}`,\n ),\n normalizedMessages: normalizeMessages(messages),\n tools,\n }\n\n const [taskPrompt, context, maxThinkingTokens] = await Promise.all([\n team_name ? getSystemPrompt('teammate') : getAgentPrompt(),\n getContext(),\n getMaxThinkingTokens(messages),\n ])\n\n // Inject model context to prevent self-referential expert consultations\n taskPrompt.push(\n `\\nIMPORTANT: You are currently running as ${modelToUse}. You do not need to consult ${modelToUse} via AskExpertModel since you ARE ${modelToUse}. Complete tasks directly using your capabilities.`,\n )\n\n // Initialize tool use count (restore from transcript if resuming)\n let toolUseCount = resumedTranscript?.toolUseCount || 0\n\n const getSidechainNumber = memoize(() =>\n getNextAvailableLogSidechainNumber(messageLogName, forkNumber),\n )\n\n // Fire SubagentStart hook (fire-and-forget)\n const hookMgr = getHookManager()\n if (hookMgr) {\n hookMgr\n .executeSubagentStart(agentType, description)\n .catch(err =>\n debugLogger.warn('SubagentStart hook failed', { error: err }),\n )\n }\n\n // Create or update transcript for this agent execution\n if (!resumedTranscript) {\n createAgentTranscript({\n agentId,\n agentType,\n toolUseId, // Include toolUseId for event-driven UI updates\n description,\n prompt,\n model: modelToUse,\n forkNumber,\n messageLogName,\n messages: [...messages],\n toolUseCount: 0,\n ...(effectiveRunInBackground && team_name\n ? { metadata: { isBackground: true } }\n : {}),\n })\n } else {\n // Update transcript status to running when resuming\n appendMessageToTranscript(\n agentId,\n createUserMessage(`[Resumed] ${prompt}`),\n )\n }\n\n // Build query options, adding temperature if specified\n // Use agent-configured maxThinkingTokens if available, otherwise use default\n const effectiveMaxThinkingTokens =\n agentMaxThinkingTokens ?? maxThinkingTokens\n const queryOptions = {\n safeMode,\n safetyMode,\n forkNumber,\n messageLogName,\n tools,\n commands: [] as any[],\n verbose,\n maxThinkingTokens: effectiveMaxThinkingTokens,\n model: modelToUse,\n ...(effectivePermissionMode\n ? { permissionMode: effectivePermissionMode }\n : {}),\n }\n\n // Add temperature if specified by subagent config\n if (temperature !== undefined) {\n queryOptions['temperature'] = temperature\n }\n\n // \uD83D\uDD27 CRITICAL FIX: Wrap entire agent execution in try-catch-finally\n // This ensures we ALWAYS yield a result, even if the engine throws an error\n\n // For team agents, create an agent-specific AbortController.\n // The parent's abortController is the team lead's \u2014 aborting it would\n // kill the entire conversation. Instead, we create a child controller\n // that forwards parent abort but can be aborted independently by disbandTeam().\n let effectiveAbortController = abortController\n if (team_name) {\n const agentAC = new AbortController()\n // Forward parent abort \u2192 agent abort (user pressed ESC)\n if (abortController.signal.aborted) {\n agentAC.abort()\n } else {\n abortController.signal.addEventListener(\n 'abort',\n () => agentAC.abort(),\n { once: true },\n )\n }\n effectiveAbortController = agentAC\n\n try {\n const { registerAgentAbortController } = await import(\n '@services/agentTeams/teamManager'\n )\n registerAgentAbortController(team_name, agentId, agentAC)\n } catch {\n // Non-fatal: agent can still work without registration\n }\n }\n\n // Background mode for in-process agents: detach the query loop and return immediately\n if (effectiveRunInBackground && team_name) {\n registerBackgroundAgent(\n agentId,\n agentType,\n description,\n effectiveAbortController,\n )\n\n // Fire-and-forget: create an AgentEngine and run it asynchronously\n ;(async () => {\n pushAgentContext(agentId)\n let bgToolUseCount = 0\n\n try {\n const { AgentEngine } = await import('../../engine/AgentEngine')\n const { getGlobalRegistry } = await import(\n '../../engine/EngineRegistry'\n )\n\n const engine = new AgentEngine({\n agentId,\n name: teammateName || agentType,\n role: 'teammate',\n teamName: team_name,\n systemPrompt: team_name\n ? () => getSystemPrompt('teammate')\n : taskPrompt,\n context,\n tools: queryOptions.tools,\n initialMessages: [...messages],\n idleTimeoutMs: 30_000,\n heartbeatIntervalMs: 500,\n maxTurns: max_turns || undefined,\n maxThinkingTokens: queryOptions.maxThinkingTokens,\n model: queryOptions.model as string | undefined,\n forkNumber,\n messageLogName,\n verbose: queryOptions.verbose,\n safeMode: queryOptions.safeMode,\n safetyMode: queryOptions.safetyMode,\n permissionMode: effectivePermissionMode as any,\n readFileTimestamps,\n canUseTool: hasPermissionsToUseTool,\n askUser: () => Promise.resolve([]),\n setToolJSX: () => {},\n onMessage: message => {\n appendMessageToTranscript(agentId, message)\n overwriteLog(\n getMessagesPath(\n messageLogName,\n forkNumber,\n getSidechainNumber(),\n ),\n [...engine.messages].filter(_ => _.type !== 'progress'),\n )\n if (message.type === 'assistant') {\n for (const content of message.message.content) {\n if (content.type === 'tool_use') bgToolUseCount++\n }\n }\n },\n })\n\n // Register in global registry so REPL can switch focus to this agent\n const globalRegistry = getGlobalRegistry()\n globalRegistry.register(agentId, engine)\n\n // Connect agent abort controller \u2192 engine.stop()\n // When disbandTeam() aborts all agent controllers, this ensures the engine\n // stops cleanly and gets unregistered from the global registry.\n if (effectiveAbortController.signal.aborted) {\n engine.stop()\n } else {\n effectiveAbortController.signal.addEventListener(\n 'abort',\n () => engine.stop(),\n { once: true },\n )\n }\n\n // Subscribe to engine lifecycle events\n engine.on(event => {\n if (event.type === 'state_change' && event.to === 'stopped') {\n // Unregister from global registry\n globalRegistry.unregister(agentId)\n\n // SubagentStop hook (mirrors Path C)\n if (hookMgr) {\n hookMgr.executeSubagentStop(agentType, agentId).catch(err =>\n debugLogger.warn('SubagentStop hook failed (Path B)', {\n error: err,\n }),\n )\n }\n\n // Engine stopped \u2014 finalize transcript and notify team\n const engineMessages = engine.messages\n const lastMessage = engineMessages[engineMessages.length - 1]\n if (lastMessage?.type === 'assistant') {\n completeAgentTranscript(agentId)\n completeBackgroundAgent(\n agentId,\n lastMessage.message.content.filter(\n _ => _.type === 'text',\n ) as TextBlock[],\n )\n\n // onComplete hooks (mirrors Path C)\n if (loadedAgentConfig?.hooks?.onComplete?.length) {\n const hookContext = createHookContext({\n sessionId: agentId,\n agentId,\n agentType,\n result: lastMessage.message.content\n .filter(_ => _.type === 'text')\n .map(_ => (_ as { type: 'text'; text: string }).text)\n .join('\\n'),\n })\n executeAgentHooks(\n 'onComplete',\n loadedAgentConfig,\n hookContext,\n ).catch(err =>\n debugLogger.warn(\n 'TASK_AGENT_ONCOMPLETE_HOOK_FAILED (Path B)',\n {\n agentId,\n agentType,\n error: err instanceof Error ? err.message : String(err),\n },\n ),\n )\n }\n\n // saveAgentMemory (mirrors Path C)\n if (loadedAgentConfig?.memory) {\n const finalResponse = lastMessage.message.content\n .filter(_ => _.type === 'text')\n .map(_ => (_ as { type: 'text'; text: string }).text)\n .join('\\n')\n if (finalResponse.trim()) {\n saveAgentMemory(\n agentType,\n loadedAgentConfig.memory,\n finalResponse,\n ).catch(err =>\n debugLogger.warn(\n 'TASK_AGENT_MEMORY_SAVE_FAILED (Path B)',\n {\n agentId,\n agentType,\n error:\n err instanceof Error ? err.message : String(err),\n },\n ),\n )\n }\n }\n } else {\n completeBackgroundAgent(agentId, [\n { type: 'text', text: 'Agent completed.' },\n ])\n }\n\n const idleSummary =\n lastMessage?.type === 'assistant'\n ? lastMessage.message.content\n .filter(_ => _.type === 'text')\n .map(_ => (_ as { type: 'text'; text: string }).text)\n .join('\\n')\n .slice(0, 2000) || undefined\n : undefined\n updateInProcessAgentState(agentId, {\n isIdle: true,\n lastReportedToolCount: bgToolUseCount,\n })\n markTeammateCompleted(\n team_name,\n agentId,\n teammateName || agentType,\n {\n summary: idleSummary,\n },\n ).catch(err => {\n debugLogger.error('TEAMMATE_MARK_COMPLETED_FAILED', {\n agentId,\n teamName: team_name,\n error: err instanceof Error ? err.message : String(err),\n })\n })\n }\n })\n\n await engine.start()\n await engine.submitPrompt(effectivePrompt)\n\n // If engine is still idle after submitPrompt (no idle timeout triggered stop),\n // it means the query completed normally but the engine is waiting.\n // For teammates, the idle timeout in AgentEngine handles the stop.\n // We wait for the engine to stop (idle_timeout \u2192 stopped).\n if (engine.isRunning) {\n await new Promise<void>(resolve => {\n engine.on(event => {\n if (event.type === 'state_change' && event.to === 'stopped') {\n resolve()\n }\n })\n })\n }\n } catch (error) {\n const errorMsg =\n error instanceof Error ? error.message : String(error)\n failBackgroundAgent(agentId, errorMsg)\n failAgentTranscript(agentId, errorMsg)\n markTeammateIdle(team_name, agentId, teammateName || agentType, {\n status: 'failed',\n failureReason: errorMsg,\n }).catch(err => {\n debugLogger.error('TEAMMATE_MARK_IDLE_FAILED', {\n agentId,\n teamName: team_name,\n error: err instanceof Error ? err.message : String(err),\n })\n })\n\n // onError hooks (mirrors Path C)\n if (loadedAgentConfig?.hooks?.onError?.length) {\n const hookContext = createHookContext({\n sessionId: agentId,\n agentId,\n agentType,\n error: error instanceof Error ? error : new Error(String(error)),\n })\n executeAgentHooks('onError', loadedAgentConfig, hookContext).catch(\n () => {},\n )\n }\n } finally {\n popAgentContext()\n cleanupAgentStreamingState(agentId)\n unregisterInProcessAgent(agentId)\n }\n })()\n\n const bgResultText = `Agent \"${teammateName || agentType}\" running in background`\n yield {\n type: 'result',\n data: [{ type: 'text', text: bgResultText }] as TextBlock[],\n resultForAssistant: `Teammate \"${teammateName || agentType}\" is running in the background. You will be notified automatically when they finish \u2014 do NOT check on them.`,\n }\n hasYieldedResult = true\n return\n }\n\n // Push agent context so streaming state is isolated for this subagent\n pushAgentContext(agentId)\n\n // Mutable ref to capture engine's messages after completion\n const messagesOut: { current: import('@query').Message[] } = {\n current: messages,\n }\n\n try {\n // Foreground mode: use AgentEngine via adapter (unified with Path B)\n const { runForegroundEngine } = await import(\n '../../engine/foregroundAdapter'\n )\n\n for await (const item of runForegroundEngine({\n agentId,\n teamName: team_name,\n teammateName,\n agentType,\n systemPrompt: team_name\n ? () => getSystemPrompt('teammate')\n : taskPrompt,\n context,\n tools: queryOptions.tools,\n initialMessages: [...messages],\n prompt: effectivePrompt,\n maxTurns: max_turns || undefined,\n maxThinkingTokens: queryOptions.maxThinkingTokens,\n model: queryOptions.model as string | undefined,\n forkNumber,\n messageLogName,\n sidechainNumber: getSidechainNumber(),\n verbose: queryOptions.verbose,\n safeMode: queryOptions.safeMode,\n safetyMode: queryOptions.safetyMode,\n permissionMode: effectivePermissionMode,\n readFileTimestamps,\n abortController: effectiveAbortController,\n messagesOut,\n })) {\n yield item\n if (item.type === 'progress' && item.content?.message?.content) {\n // Track tool use count from progress events\n for (const c of item.content.message.content) {\n if (c.type === 'tool_use') toolUseCount++\n }\n }\n }\n\n // Use the engine's messages for post-completion logic\n messages = messagesOut.current\n\n const normalizedMessages = normalizeMessages(messages)\n const lastMessage = last(messages)\n if (lastMessage?.type !== 'assistant') {\n throw new Error('Last message was not an assistant message')\n }\n\n // Calculate token usage for transcript\n const tokenUsage = {\n inputTokens: lastMessage.message.usage.input_tokens,\n outputTokens: lastMessage.message.usage.output_tokens,\n cacheReadTokens: lastMessage.message.usage.cache_read_input_tokens,\n cacheCreationTokens:\n lastMessage.message.usage.cache_creation_input_tokens,\n }\n\n // Check for interrupt\n const isInterrupted = lastMessage.message.content.some(\n _ => _.type === 'text' && _.text === INTERRUPT_MESSAGE,\n )\n\n if (isInterrupted) {\n // Mark transcript as interrupted (can be resumed later)\n interruptAgentTranscript(agentId)\n debugLogger.info('TASK_AGENT_INTERRUPTED', { agentId, toolUseCount })\n } else {\n // Mark transcript as completed\n completeAgentTranscript(agentId, tokenUsage)\n debugLogger.info('TASK_AGENT_COMPLETED', { agentId, toolUseCount })\n\n // Fire SubagentStop hook (fire-and-forget)\n if (hookMgr) {\n hookMgr\n .executeSubagentStop(agentType, agentId)\n .catch(err =>\n debugLogger.warn('SubagentStop hook failed', { error: err }),\n )\n }\n\n // Execute onComplete hooks if configured (Claude Code spec)\n if (loadedAgentConfig?.hooks?.onComplete?.length) {\n try {\n const hookContext = createHookContext({\n sessionId: agentId,\n agentId,\n agentType,\n result: this.renderResultForAssistant(\n lastMessage.message.content.filter(_ => _.type === 'text'),\n ),\n })\n await executeAgentHooks(\n 'onComplete',\n loadedAgentConfig,\n hookContext,\n )\n } catch (hookError) {\n debugLogger.warn('TASK_AGENT_ONCOMPLETE_HOOK_FAILED', {\n agentId,\n agentType,\n error:\n hookError instanceof Error\n ? hookError.message\n : String(hookError),\n })\n }\n }\n\n // Save agent memory if configured (Claude Code spec)\n if (loadedAgentConfig?.memory) {\n try {\n // Save the agent's final response as memory\n const finalResponse = lastMessage.message.content\n .filter(_ => _.type === 'text')\n .map(_ => (_ as { type: 'text'; text: string }).text)\n .join('\\n')\n if (finalResponse.trim()) {\n await saveAgentMemory(\n agentType,\n loadedAgentConfig.memory,\n finalResponse,\n )\n }\n } catch (memoryError) {\n debugLogger.warn('TASK_AGENT_MEMORY_SAVE_FAILED', {\n agentId,\n agentType,\n error:\n memoryError instanceof Error\n ? memoryError.message\n : String(memoryError),\n })\n }\n }\n\n const result = [\n toolUseCount === 1 ? '1 tool use' : `${toolUseCount} tool uses`,\n formatNumber(\n (lastMessage.message.usage.cache_creation_input_tokens ?? 0) +\n (lastMessage.message.usage.cache_read_input_tokens ?? 0) +\n lastMessage.message.usage.input_tokens +\n lastMessage.message.usage.output_tokens,\n ) + ' tokens',\n formatDuration(Date.now() - startTime),\n ]\n yield {\n type: 'progress',\n content: createAssistantMessage(`Done (${result.join(' \u00B7 ')})`),\n normalizedMessages,\n tools,\n }\n }\n\n // Fire auto-idle notification when a teammate agent completes\n if (team_name) {\n // Update CC-compatible state: mark agent as idle and record final counts\n updateInProcessAgentState(agentId, {\n isIdle: true,\n lastReportedToolCount: toolUseCount,\n lastReportedTokenCount: lastMessage\n ? (lastMessage.message.usage.cache_creation_input_tokens ?? 0) +\n (lastMessage.message.usage.cache_read_input_tokens ?? 0) +\n lastMessage.message.usage.input_tokens +\n lastMessage.message.usage.output_tokens\n : 0,\n })\n\n // Build completedInfo from available task context\n const idleSummary = isInterrupted\n ? undefined\n : lastMessage.message.content\n .filter(_ => _.type === 'text')\n .map(_ => (_ as { type: 'text'; text: string }).text)\n .join('\\n')\n .slice(0, 2000) || undefined\n markTeammateIdle(team_name, agentId, teammateName || agentType, {\n status: isInterrupted ? 'failed' : 'completed',\n summary: idleSummary,\n ...(isInterrupted && { failureReason: 'interrupted' }),\n }).catch(err => debugLogger.trace('MARK_TEAMMATE_IDLE', { error: err }))\n\n // Clean up in-process state handle\n unregisterInProcessAgent(agentId)\n }\n\n // Output is an AssistantMessage, but since TaskTool is a tool, it needs\n // to serialize its response to UserMessage-compatible content.\n const data = lastMessage.message.content.filter(_ => _.type === 'text')\n\n // Always include agentId in result (CC alignment \u2014 issue #10864)\n // Model needs the real UUID for resume and TaskOutput lookups\n const resultWithAgentId = isInterrupted\n ? `[Interrupted - Agent ID: ${agentId}]\\n${this.renderResultForAssistant(data)}`\n : `${this.renderResultForAssistant(data)}\\n\\nAgent completed successfully.\\nagentId: ${agentId}`\n\n yield {\n type: 'result',\n data,\n resultForAssistant: resultWithAgentId,\n }\n hasYieldedResult = true\n } catch (error) {\n // \uD83D\uDD27 CRITICAL: On error, we MUST yield a result to clear UI state\n const errorMessage =\n error instanceof Error ? error.message : String(error)\n\n // \uD83D\uDD27 FIX: Check if this is an AbortError (ESC interrupt)\n // AbortError indicates user interrupted, should mark as 'interrupted' not 'failed'\n const isAbortError =\n error instanceof Error &&\n (error.name === 'AbortError' ||\n error.message.includes('aborted') ||\n error.message.includes('abort'))\n\n if (isAbortError) {\n // Mark transcript as interrupted (can be resumed later)\n interruptAgentTranscript(agentId)\n debugLogger.info('TASK_AGENT_INTERRUPTED_BY_ABORT', {\n agentId,\n toolUseCount,\n })\n\n yield {\n type: 'result',\n data: [\n {\n type: 'text',\n text: `Task [${agentType}] interrupted\\n[Agent ID: ${agentId}]`,\n },\n ] as TextBlock[],\n resultForAssistant: `Task [${agentType}] interrupted by user\\n[Agent ID: ${agentId} - can be resumed]`,\n }\n } else {\n // Convert to user-friendly error for better UX\n const friendlyError =\n error instanceof UserFriendlyError\n ? error\n : new UserFriendlyError(error, {\n operation: 'agent task',\n model: agentType,\n })\n const friendlyMessage = friendlyError.getUserMessage()\n\n logError(`TaskTool [${agentType}] error: ${errorMessage}`)\n\n // Mark transcript as failed with friendly message\n failAgentTranscript(agentId, friendlyMessage)\n debugLogger.error('TASK_AGENT_FAILED', {\n agentId,\n error: errorMessage,\n errorId: friendlyError.id,\n })\n\n // Execute onError hooks if configured (Claude Code spec)\n if (loadedAgentConfig?.hooks?.onError?.length) {\n try {\n const hookContext = createHookContext({\n sessionId: agentId,\n agentId,\n agentType,\n error: error instanceof Error ? error : new Error(String(error)),\n })\n await executeAgentHooks('onError', loadedAgentConfig, hookContext)\n } catch (hookError) {\n debugLogger.warn('TASK_AGENT_ONERROR_HOOK_FAILED', {\n agentId,\n agentType,\n error:\n hookError instanceof Error\n ? hookError.message\n : String(hookError),\n })\n }\n }\n\n yield {\n type: 'result',\n data: [\n {\n type: 'text',\n text: `${friendlyMessage}\\n[Agent ID: ${agentId}]`,\n },\n ] as TextBlock[],\n resultForAssistant: `Task [${agentType}] failed: ${errorMessage}\\n[Agent ID: ${agentId} - can be resumed]`,\n }\n }\n hasYieldedResult = true\n } finally {\n // Cleanup git worktree if created\n if (worktreePath) {\n let removeSuccess = false\n try {\n execFileSync('git', ['worktree', 'remove', worktreePath, '--force'], {\n cwd: getCwd(),\n stdio: 'pipe',\n })\n removeSuccess = true\n debugLogger.info('TASK_AGENT_WORKTREE_REMOVED', {\n agentId,\n worktreePath,\n })\n } catch {\n debugLogger.warn('TASK_AGENT_WORKTREE_CLEANUP_FAILED', {\n agentId,\n worktreePath,\n })\n }\n // Fire WorktreeRemove hook\n const hookMgrRemove = getHookManager()\n hookMgrRemove\n ?.executeWorktreeRemove(\n worktreePath,\n agentId,\n agentType,\n removeSuccess,\n )\n .catch(err =>\n debugLogger.trace('HOOK_WORKTREE_REMOVE', { error: err }),\n )\n }\n\n // Pop agent context and clean up streaming state\n popAgentContext()\n cleanupAgentStreamingState(agentId)\n\n // Unregister AbortController from team manager\n if (team_name) {\n try {\n const { unregisterAgentAbortController } = await import(\n '@services/agentTeams/teamManager'\n )\n unregisterAgentAbortController(team_name, agentId)\n } catch {\n // Non-fatal\n }\n }\n\n // Restore previous env vars to prevent pollution across concurrent agents\n if (restoreEnvVars) {\n restoreEnvVars()\n }\n\n // \uD83D\uDD27 SAFETY NET: Ensure we always yield a result even in unexpected scenarios\n if (!hasYieldedResult) {\n // Mark as interrupted if we haven't yielded a result\n interruptAgentTranscript(agentId)\n\n yield {\n type: 'result',\n data: [\n {\n type: 'text',\n text: `Task [${agentType}] terminated unexpectedly\\n[Agent ID: ${agentId}]`,\n },\n ] as TextBlock[],\n resultForAssistant: `Task [${agentType}] terminated unexpectedly\\n[Agent ID: ${agentId} - can be resumed]`,\n }\n }\n }\n },\n\n isReadOnly() {\n return true // for now...\n },\n isConcurrencySafe() {\n return true // Task tool supports concurrent execution in official implementation\n },\n async validateInput(input, context) {\n if (!input.description || typeof input.description !== 'string') {\n return {\n result: false,\n message: 'Description is required and must be a string',\n }\n }\n if (!input.prompt || typeof input.prompt !== 'string') {\n return {\n result: false,\n message: 'Prompt is required and must be a string',\n }\n }\n\n // Model validation - similar to Edit tool error handling\n if (input.model_name) {\n const modelManager = getModelManager()\n const availableModels = modelManager.getAllAvailableModelNames()\n\n if (!availableModels.includes(input.model_name)) {\n return {\n result: false,\n message: `Model '${input.model_name}' does not exist. Available models: ${availableModels.join(', ')}`,\n meta: {\n model_name: input.model_name,\n availableModels,\n },\n }\n }\n }\n\n // Validate subagent_type if provided\n if (input.subagent_type) {\n const availableTypes = await getAvailableAgentTypes()\n if (!availableTypes.includes(input.subagent_type)) {\n return {\n result: false,\n message: `Agent type '${input.subagent_type}' does not exist. Available types: ${availableTypes.join(', ')}`,\n meta: {\n subagent_type: input.subagent_type,\n availableTypes,\n },\n }\n }\n }\n\n // Validate resume parameter if provided\n if (input.resume) {\n if (!canResumeTranscript(input.resume)) {\n return {\n result: false,\n message: `Cannot resume agent '${input.resume}': transcript not found or not resumable (status must be 'running' or 'interrupted')`,\n meta: {\n resume: input.resume,\n },\n }\n }\n }\n\n return { result: true }\n },\n async isEnabled() {\n return true\n },\n userFacingName(input?: any) {\n // Return agent name with proper prefix\n const agentType = input?.subagent_type || 'general-purpose'\n return `agent-${agentType}`\n },\n needsPermissions() {\n return false\n },\n renderResultForAssistant(data: TextBlock[]) {\n return data\n .map(block => (block.type === 'text' ? block.text : ''))\n .join('\\n')\n },\n renderToolUseMessage(\n {\n description,\n prompt,\n model_name,\n subagent_type,\n team_name,\n name: teammateName,\n },\n { verbose },\n ) {\n if (!description || !prompt) return null\n\n const modelManager = getModelManager()\n const defaultTaskModel = modelManager.getModelName('task')\n const actualModel = model_name || defaultTaskModel\n const agentType = subagent_type || 'general-purpose'\n const promptPreview =\n prompt.length > 80 ? prompt.substring(0, 80) + '...' : prompt\n\n const theme = getTheme()\n\n // Team agent rendering: @name (agentType): description\n if (team_name) {\n const displayName = teammateName || agentType\n if (verbose) {\n return (\n <Box flexDirection=\"column\">\n <Text>\n <Text color={theme.info}>@{displayName}</Text>{' '}\n <Text color={theme.secondaryText}>({agentType})</Text>:{' '}\n {description}\n </Text>\n <Box\n paddingLeft={2}\n borderLeftStyle=\"single\"\n borderLeftColor={theme.secondaryBorder}\n >\n <Text color={theme.secondaryText}>{promptPreview}</Text>\n </Box>\n </Box>\n )\n }\n return `@${displayName} (${agentType}): ${description}`\n }\n\n if (verbose) {\n return (\n <Box flexDirection=\"column\">\n <Text>\n [{agentType}] {actualModel}: {description}\n </Text>\n <Box\n paddingLeft={2}\n borderLeftStyle=\"single\"\n borderLeftColor={theme.secondaryBorder}\n >\n <Text color={theme.secondaryText}>{promptPreview}</Text>\n </Box>\n </Box>\n )\n }\n\n // Simple display: agent type, model and description\n return `[${agentType}] ${actualModel}: ${description}`\n },\n renderToolUseRejectedMessage() {\n return <FallbackToolUseRejectedMessage />\n },\n renderToolResultMessage(content, options?: { verbose?: boolean }) {\n const theme = getTheme()\n const verbose = options?.verbose ?? false\n\n // Guard against undefined or null content\n if (!content) {\n return (\n <Box flexDirection=\"row\">\n <Text>&nbsp;&nbsp;\u23BF &nbsp;</Text>\n <Text color={theme.success}>Done</Text>\n </Box>\n )\n }\n\n if (Array.isArray(content)) {\n const textBlocks = content.filter(\n (block): block is { type: 'text'; text: string } =>\n block && block.type === 'text',\n )\n const totalLength = textBlocks.reduce(\n (sum, block) => sum + (block.text?.length || 0),\n 0,\n )\n // Use exact match for interrupt detection\n const isInterrupted = content.some(\n block =>\n block && block.type === 'text' && block.text === INTERRUPT_MESSAGE,\n )\n\n if (isInterrupted) {\n return (\n <Box flexDirection=\"row\">\n <Text>&nbsp;&nbsp;\u23BF &nbsp;</Text>\n <Text color={theme.error}>Interrupted by user</Text>\n </Box>\n )\n }\n\n // Extract output content for display based on verbosity\n const outputText = textBlocks.map(b => b.text).join('\\n')\n\n // Determine how much content to show based on displayMode\n // minimal/compact (verbose=false): Just show \"Task completed (X characters)\"\n // detailed (verbose=true): Show preview of the actual output\n const getOutputPreview = () => {\n if (!verbose || !outputText) return null\n const maxLen = 500\n if (outputText.length <= maxLen) return outputText\n return outputText.substring(0, maxLen) + '...'\n }\n\n const outputPreview = getOutputPreview()\n\n return (\n <Box flexDirection=\"column\">\n <Box justifyContent=\"space-between\" width=\"100%\">\n <Box flexDirection=\"row\">\n <Text>&nbsp;&nbsp;\u23BF &nbsp;</Text>\n <Text color={theme.success}>Done</Text>\n {textBlocks.length > 0 && verbose && (\n <Text color={theme.secondaryText}> ({totalLength} chars)</Text>\n )}\n </Box>\n </Box>\n {outputPreview && (\n <Box marginTop={1} paddingLeft={4}>\n <Text color={theme.mutedText}>{outputPreview}</Text>\n </Box>\n )}\n </Box>\n )\n }\n\n return (\n <Box flexDirection=\"row\">\n <Text>&nbsp;&nbsp;\u23BF &nbsp;</Text>\n <Text color={theme.success}>Done</Text>\n </Box>\n )\n },\n} satisfies Tool\n"],
5
- "mappings": "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",
6
- "names": ["HEADLESS_TIMEOUT_MS", "exitCode"]
7
- }
@@ -1,11 +0,0 @@
1
- const TOOL_NAME = "Agent";
2
- const TOOL_NAME_LEGACY = "Task";
3
- function isAgentToolName(name) {
4
- return name === TOOL_NAME || name === TOOL_NAME_LEGACY;
5
- }
6
- export {
7
- TOOL_NAME,
8
- TOOL_NAME_LEGACY,
9
- isAgentToolName
10
- };
11
- //# sourceMappingURL=constants.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/tools/TaskTool/constants.ts"],
4
- "sourcesContent": ["export const TOOL_NAME = 'Agent'\nexport const TOOL_NAME_LEGACY = 'Task'\n\n/** Check if a name matches the Agent tool (handles legacy 'Task' name) */\nexport function isAgentToolName(name: string): boolean {\n return name === TOOL_NAME || name === TOOL_NAME_LEGACY\n}\n"],
5
- "mappings": "AAAO,MAAM,YAAY;AAClB,MAAM,mBAAmB;AAGzB,SAAS,gBAAgB,MAAuB;AACrD,SAAO,SAAS,aAAa,SAAS;AACxC;",
6
- "names": []
7
- }
@@ -1,121 +0,0 @@
1
- import { getTools, getReadOnlyTools } from "../../tools.js";
2
- import { getActiveAgents } from "../../utils/agentLoader.js";
3
- const EXCLUDED_AGENT_TOOLS = /* @__PURE__ */ new Set([
4
- "Agent",
5
- // Prevent recursive TaskTool calls (unless explicitly allowed via toolFilter)
6
- "TeamCreate",
7
- // Team management is leader-only
8
- "TeamDelete"
9
- // Team management is leader-only
10
- ]);
11
- async function getTaskTools(safeMode) {
12
- return (await (!safeMode ? getTools() : getReadOnlyTools())).filter(
13
- (_) => !EXCLUDED_AGENT_TOOLS.has(_.name)
14
- );
15
- }
16
- async function getPrompt(safeMode) {
17
- const agents = await getActiveAgents();
18
- const agentDescriptions = agents.map((agent) => {
19
- const toolsStr = Array.isArray(agent.tools) ? agent.tools.join(", ") : "*";
20
- return `- ${agent.agentType}: ${agent.whenToUse} (Tools: ${toolsStr})`;
21
- }).join("\n");
22
- return `Launch a new agent to handle complex, multi-step tasks autonomously.
23
-
24
- The Agent tool launches specialized agents (subprocesses) that autonomously handle complex tasks. Each agent type has specific capabilities and tools available to it.
25
-
26
- Available agent types and the tools they have access to:
27
- ${agentDescriptions}
28
-
29
- When using the Agent tool, specify a subagent_type parameter to select which agent type to use. If omitted, the general-purpose agent is used.
30
-
31
- When to use the Agent tool:
32
- - When you are instructed to execute custom slash commands. Use the Agent tool with the slash command invocation as the entire prompt. The slash command can take arguments. For example: Agent(description="Check the file", prompt="/check-file path/to/file.py")
33
-
34
- When NOT to use the Agent tool:
35
- - If you want to read a specific file path, use the Read or Glob tool instead of the Agent tool, to find the match more quickly
36
- - If you are searching for a specific class definition like "class Foo", use the Glob tool instead, to find the match more quickly
37
- - If you are searching for code within a specific file or set of 2-3 files, use the Read tool instead of the Agent tool, to find the match more quickly
38
- - Other tasks that are not related to the agent descriptions above
39
-
40
- ## Parallel Tasks vs Agent Teams \u2014 Decision Framework
41
-
42
- **USER INTENT OVERRIDE: If the user explicitly asks for a team, swarm, or multi-agent group, ALWAYS use Agent Teams regardless of the heuristics below.**
43
-
44
- You have TWO ways to run multiple agents. Choose the right one:
45
-
46
- ### Parallel Tasks (multiple Agent calls in one message) \u2014 DEFAULT CHOICE
47
- Use when tasks are **independent and fire-and-forget**:
48
- - Each agent works alone, returns a result, and is done
49
- - No agent needs to see another agent's output to do its work
50
- - You (the orchestrator) synthesize all results after they return
51
-
52
- Examples: analyze 3 files, search 5 code patterns, run independent checks
53
-
54
- ### Agent Teams (TeamCreate + SendMessage) \u2014 for collaboration or user-requested teams
55
- Use when agents **must communicate with each other** during execution, or when the user explicitly requests a team:
56
- - Agent A's output feeds into Agent B's work (and B may send findings back to A)
57
- - Agents need a shared task board to coordinate who does what
58
- - The work requires multiple rounds of back-and-forth between agents
59
- - Agents need to persist across rounds and be reassigned new tasks
60
-
61
- **Important**: Teammates in a team automatically run in background, so you (the team-lead) remain available to process messages and coordinate work.
62
-
63
- Examples: researcher finds info \u2192 implementer codes it \u2192 tester validates \u2192 implementer fixes issues
64
-
65
- ### Decision Checklist
66
- Ask yourself: "Did the user ask for a team, OR do agents need to TALK TO EACH OTHER?"
67
- - **User asked for a team** \u2192 Use Agent Teams (always honor explicit requests)
68
- - **No communication needed** \u2192 Use parallel Agent calls (simple, fast, no overhead)
69
- - **Agents must communicate** \u2192 Use Agent Teams (TeamCreate + spawn teammates + SendMessage)
70
-
71
- **Efficiency tip:** For independent tasks, parallel Agent calls are simpler and faster. But always defer to user intent \u2014 if they ask for a team, create one.
72
-
73
- Usage notes:
74
- - Always include a short description (3-5 words) summarizing what the agent will do
75
- - Launch multiple agents concurrently whenever possible, to maximize performance; to do that, use a single message with multiple tool uses
76
- - When the agent is done, it will return a single message back to you. The result returned by the agent is not visible to the user. To show the user the result, you should send a text message back to the user with a concise summary of the result.
77
- - **Foreground tasks return results directly** \u2014 when a foreground Agent (including parallel Agents) completes, its result and agentId are returned inline in the tool result. Do NOT call TaskOutput for foreground tasks; their results are already in your context. TaskOutput is ONLY for background tasks started with \`run_in_background: true\`.
78
- - You can optionally run agents in the background using the run_in_background parameter. When an agent runs in the background, you will be automatically notified when it completes \u2014 do NOT sleep, poll, or proactively check on its progress. Continue with other work or respond to the user instead.
79
- - **Foreground vs background**: Use foreground (default) when you need the agent's results before you can proceed \u2014 e.g., research agents whose findings inform your next steps. Use background when you have genuinely independent work to do in parallel.
80
- - When using Agent Teams (TeamCreate), teammates automatically run in background so you remain available to coordinate. After spawning all teammates, respond to the user with a brief status (e.g., "Agents are working...") and STOP \u2014 do NOT manually read files, check inboxes, or use TaskOutput. Teammate results are delivered to you automatically as new messages.
81
- - Agents can be resumed using the \`resume\` parameter by passing the agent ID from a previous invocation. When resumed, the agent continues with its full previous context preserved. When NOT resuming, each invocation starts fresh and you should provide a detailed task description with all necessary context.
82
- - When the agent is done, it will return a single message back to you along with its agent ID. You can use this ID to resume the agent later if needed for follow-up work.
83
- - Provide clear, detailed prompts so the agent can work autonomously and return exactly the information you need.
84
- - The agent's outputs should generally be trusted
85
- - Clearly tell the agent whether you expect it to write code or just to do research (search, file reads, web fetches, etc.), since it is not aware of the user's intent
86
- - If the agent description mentions that it should be used proactively, then you should try your best to use it without the user having to ask for it first. Use your judgement.
87
- - If the user specifies that they want you to run agents "in parallel", you MUST send a single message with multiple Agent tool use content blocks.
88
-
89
- Example usage:
90
-
91
- <example>
92
- user: "Please write a function that checks if a number is prime"
93
- assistant: I'm going to use the Write tool to write the following code:
94
- <code>
95
- function isPrime(n) {
96
- if (n <= 1) return false
97
- for (let i = 2; i * i <= n; i++) {
98
- if (n % i === 0) return false
99
- }
100
- return true
101
- }
102
- </code>
103
- <commentary>
104
- Since a significant piece of code was written and the task was completed, now use the test-runner agent to run the tests
105
- </commentary>
106
- assistant: Uses the Agent tool to launch the test-runner agent
107
- </example>
108
-
109
- <example>
110
- user: "Hello"
111
- <commentary>
112
- Since the user is greeting, use the greeting-responder agent to respond with a friendly joke
113
- </commentary>
114
- assistant: "I'm going to use the Agent tool to launch the greeting-responder agent"
115
- </example>`;
116
- }
117
- export {
118
- getPrompt,
119
- getTaskTools
120
- };
121
- //# sourceMappingURL=prompt.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/tools/TaskTool/prompt.ts"],
4
- "sourcesContent": ["import { type Tool } from '@tool'\nimport { getTools, getReadOnlyTools } from '@tools'\nimport { TaskTool } from './TaskTool'\nimport { getModelManager } from '@utils/model'\nimport { getActiveAgents } from '@utils/agentLoader'\n\n/**\n * Agent-internal tools that should never be exposed to subagents.\n * These are either recursive (TaskTool itself) or admin-only.\n */\nconst EXCLUDED_AGENT_TOOLS = new Set([\n 'Agent', // Prevent recursive TaskTool calls (unless explicitly allowed via toolFilter)\n 'TeamCreate', // Team management is leader-only\n 'TeamDelete', // Team management is leader-only\n])\n\nexport async function getTaskTools(safeMode: boolean): Promise<Tool[]> {\n return (await (!safeMode ? getTools() : getReadOnlyTools())).filter(\n _ => !EXCLUDED_AGENT_TOOLS.has(_.name),\n )\n}\n\nexport async function getPrompt(safeMode: boolean): Promise<string> {\n const agents = await getActiveAgents()\n\n // Format: (Tools: tool1, tool2)\n const agentDescriptions = agents\n .map(agent => {\n const toolsStr = Array.isArray(agent.tools) ? agent.tools.join(', ') : '*'\n return `- ${agent.agentType}: ${agent.whenToUse} (Tools: ${toolsStr})`\n })\n .join('\\n')\n\n return `Launch a new agent to handle complex, multi-step tasks autonomously.\n\nThe Agent tool launches specialized agents (subprocesses) that autonomously handle complex tasks. Each agent type has specific capabilities and tools available to it.\n\nAvailable agent types and the tools they have access to:\n${agentDescriptions}\n\nWhen using the Agent tool, specify a subagent_type parameter to select which agent type to use. If omitted, the general-purpose agent is used.\n\nWhen to use the Agent tool:\n- When you are instructed to execute custom slash commands. Use the Agent tool with the slash command invocation as the entire prompt. The slash command can take arguments. For example: Agent(description=\"Check the file\", prompt=\"/check-file path/to/file.py\")\n\nWhen NOT to use the Agent tool:\n- If you want to read a specific file path, use the Read or Glob tool instead of the Agent tool, to find the match more quickly\n- If you are searching for a specific class definition like \"class Foo\", use the Glob tool instead, to find the match more quickly\n- If you are searching for code within a specific file or set of 2-3 files, use the Read tool instead of the Agent tool, to find the match more quickly\n- Other tasks that are not related to the agent descriptions above\n\n## Parallel Tasks vs Agent Teams \u2014 Decision Framework\n\n**USER INTENT OVERRIDE: If the user explicitly asks for a team, swarm, or multi-agent group, ALWAYS use Agent Teams regardless of the heuristics below.**\n\nYou have TWO ways to run multiple agents. Choose the right one:\n\n### Parallel Tasks (multiple Agent calls in one message) \u2014 DEFAULT CHOICE\nUse when tasks are **independent and fire-and-forget**:\n- Each agent works alone, returns a result, and is done\n- No agent needs to see another agent's output to do its work\n- You (the orchestrator) synthesize all results after they return\n\nExamples: analyze 3 files, search 5 code patterns, run independent checks\n\n### Agent Teams (TeamCreate + SendMessage) \u2014 for collaboration or user-requested teams\nUse when agents **must communicate with each other** during execution, or when the user explicitly requests a team:\n- Agent A's output feeds into Agent B's work (and B may send findings back to A)\n- Agents need a shared task board to coordinate who does what\n- The work requires multiple rounds of back-and-forth between agents\n- Agents need to persist across rounds and be reassigned new tasks\n\n**Important**: Teammates in a team automatically run in background, so you (the team-lead) remain available to process messages and coordinate work.\n\nExamples: researcher finds info \u2192 implementer codes it \u2192 tester validates \u2192 implementer fixes issues\n\n### Decision Checklist\nAsk yourself: \"Did the user ask for a team, OR do agents need to TALK TO EACH OTHER?\"\n- **User asked for a team** \u2192 Use Agent Teams (always honor explicit requests)\n- **No communication needed** \u2192 Use parallel Agent calls (simple, fast, no overhead)\n- **Agents must communicate** \u2192 Use Agent Teams (TeamCreate + spawn teammates + SendMessage)\n\n**Efficiency tip:** For independent tasks, parallel Agent calls are simpler and faster. But always defer to user intent \u2014 if they ask for a team, create one.\n\nUsage notes:\n- Always include a short description (3-5 words) summarizing what the agent will do\n- Launch multiple agents concurrently whenever possible, to maximize performance; to do that, use a single message with multiple tool uses\n- When the agent is done, it will return a single message back to you. The result returned by the agent is not visible to the user. To show the user the result, you should send a text message back to the user with a concise summary of the result.\n- **Foreground tasks return results directly** \u2014 when a foreground Agent (including parallel Agents) completes, its result and agentId are returned inline in the tool result. Do NOT call TaskOutput for foreground tasks; their results are already in your context. TaskOutput is ONLY for background tasks started with \\`run_in_background: true\\`.\n- You can optionally run agents in the background using the run_in_background parameter. When an agent runs in the background, you will be automatically notified when it completes \u2014 do NOT sleep, poll, or proactively check on its progress. Continue with other work or respond to the user instead.\n- **Foreground vs background**: Use foreground (default) when you need the agent's results before you can proceed \u2014 e.g., research agents whose findings inform your next steps. Use background when you have genuinely independent work to do in parallel.\n- When using Agent Teams (TeamCreate), teammates automatically run in background so you remain available to coordinate. After spawning all teammates, respond to the user with a brief status (e.g., \"Agents are working...\") and STOP \u2014 do NOT manually read files, check inboxes, or use TaskOutput. Teammate results are delivered to you automatically as new messages.\n- Agents can be resumed using the \\`resume\\` parameter by passing the agent ID from a previous invocation. When resumed, the agent continues with its full previous context preserved. When NOT resuming, each invocation starts fresh and you should provide a detailed task description with all necessary context.\n- When the agent is done, it will return a single message back to you along with its agent ID. You can use this ID to resume the agent later if needed for follow-up work.\n- Provide clear, detailed prompts so the agent can work autonomously and return exactly the information you need.\n- The agent's outputs should generally be trusted\n- Clearly tell the agent whether you expect it to write code or just to do research (search, file reads, web fetches, etc.), since it is not aware of the user's intent\n- If the agent description mentions that it should be used proactively, then you should try your best to use it without the user having to ask for it first. Use your judgement.\n- If the user specifies that they want you to run agents \"in parallel\", you MUST send a single message with multiple Agent tool use content blocks.\n\nExample usage:\n\n<example>\nuser: \"Please write a function that checks if a number is prime\"\nassistant: I'm going to use the Write tool to write the following code:\n<code>\nfunction isPrime(n) {\n if (n <= 1) return false\n for (let i = 2; i * i <= n; i++) {\n if (n % i === 0) return false\n }\n return true\n}\n</code>\n<commentary>\nSince a significant piece of code was written and the task was completed, now use the test-runner agent to run the tests\n</commentary>\nassistant: Uses the Agent tool to launch the test-runner agent\n</example>\n\n<example>\nuser: \"Hello\"\n<commentary>\nSince the user is greeting, use the greeting-responder agent to respond with a friendly joke\n</commentary>\nassistant: \"I'm going to use the Agent tool to launch the greeting-responder agent\"\n</example>`\n}\n"],
5
- "mappings": "AACA,SAAS,UAAU,wBAAwB;AAG3C,SAAS,uBAAuB;AAMhC,MAAM,uBAAuB,oBAAI,IAAI;AAAA,EACnC;AAAA;AAAA,EACA;AAAA;AAAA,EACA;AAAA;AACF,CAAC;AAED,eAAsB,aAAa,UAAoC;AACrE,UAAQ,OAAO,CAAC,WAAW,SAAS,IAAI,iBAAiB,IAAI;AAAA,IAC3D,OAAK,CAAC,qBAAqB,IAAI,EAAE,IAAI;AAAA,EACvC;AACF;AAEA,eAAsB,UAAU,UAAoC;AAClE,QAAM,SAAS,MAAM,gBAAgB;AAGrC,QAAM,oBAAoB,OACvB,IAAI,WAAS;AACZ,UAAM,WAAW,MAAM,QAAQ,MAAM,KAAK,IAAI,MAAM,MAAM,KAAK,IAAI,IAAI;AACvE,WAAO,KAAK,MAAM,SAAS,KAAK,MAAM,SAAS,YAAY,QAAQ;AAAA,EACrE,CAAC,EACA,KAAK,IAAI;AAEZ,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAKP,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyFnB;",
6
- "names": []
7
- }
@@ -1,148 +0,0 @@
1
- import { Box, Text } from "ink";
2
- import * as React from "react";
3
- import { z } from "zod";
4
- import { FallbackToolUseRejectedMessage } from "../../components/FallbackToolUseRejectedMessage.js";
5
- import { updateTask, getTaskById } from "../../services/taskStore.js";
6
- import { DESCRIPTION, PROMPT } from "./prompt.js";
7
- import { getTheme } from "../../utils/theme.js";
8
- const inputSchema = z.strictObject({
9
- taskId: z.string().describe("The ID of the task to update"),
10
- status: z.enum(["pending", "in_progress", "completed", "deleted"]).optional().describe("New status for the task"),
11
- subject: z.string().optional().describe("New subject for the task"),
12
- description: z.string().optional().describe("New description for the task"),
13
- activeForm: z.string().optional().describe(
14
- 'Present continuous form shown in spinner when in_progress (e.g., "Running tests")'
15
- ),
16
- owner: z.string().optional().describe("New owner for the task"),
17
- metadata: z.record(z.unknown()).optional().describe(
18
- "Metadata keys to merge into the task. Set a key to null to delete it."
19
- ),
20
- addBlocks: z.array(z.string()).optional().describe("Task IDs that this task blocks"),
21
- addBlockedBy: z.array(z.string()).optional().describe("Task IDs that block this task")
22
- });
23
- const TaskUpdateTool = {
24
- name: "TaskUpdate",
25
- async description() {
26
- return DESCRIPTION;
27
- },
28
- async prompt() {
29
- return PROMPT;
30
- },
31
- inputSchema,
32
- userFacingName() {
33
- return "Update Task";
34
- },
35
- async isEnabled() {
36
- return true;
37
- },
38
- isReadOnly() {
39
- return false;
40
- },
41
- isConcurrencySafe() {
42
- return false;
43
- },
44
- needsPermissions() {
45
- return false;
46
- },
47
- renderToolUseMessage(input) {
48
- const parts = [`taskId: ${input.taskId}`];
49
- if (input.status) {
50
- parts.push(`status: ${input.status}`);
51
- }
52
- return parts.join(", ");
53
- },
54
- renderToolUseRejectedMessage() {
55
- return /* @__PURE__ */ React.createElement(FallbackToolUseRejectedMessage, null);
56
- },
57
- renderToolResultMessage(output) {
58
- if (!output || !output.taskId) {
59
- return /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, null, "\xA0\xA0\u23BF \xA0"), /* @__PURE__ */ React.createElement(Text, null, "Task updated"));
60
- }
61
- if (output.deleted) {
62
- return /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, null, "\xA0\xA0\u23BF \xA0"), /* @__PURE__ */ React.createElement(Text, { color: getTheme().secondaryText }, "Task #", output.taskId, " deleted"));
63
- }
64
- const statusColor = output.status === "completed" ? getTheme().success : output.status === "in_progress" ? getTheme().warning : getTheme().secondaryText;
65
- return /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text, null, "\xA0\xA0\u23BF \xA0"), /* @__PURE__ */ React.createElement(Text, null, "Updated task #", output.taskId, output.status && /* @__PURE__ */ React.createElement(Text, { color: statusColor }, " \u2192 ", output.status)));
66
- },
67
- renderResultForAssistant(result) {
68
- if (result.deleted) {
69
- return `Task #${result.taskId} has been deleted`;
70
- }
71
- return `Updated task #${result.taskId}${result.status ? ` status` : ""}`;
72
- },
73
- async validateInput({ taskId }) {
74
- if (!taskId?.trim()) {
75
- return {
76
- result: false,
77
- message: "Task ID is required"
78
- };
79
- }
80
- const task = getTaskById(taskId);
81
- if (!task) {
82
- return {
83
- result: false,
84
- message: `Task with ID '${taskId}' not found`
85
- };
86
- }
87
- return { result: true };
88
- },
89
- async *call(input) {
90
- try {
91
- const isDeleting = input.status === "deleted";
92
- const task = await updateTask({
93
- taskId: input.taskId,
94
- status: input.status,
95
- subject: input.subject,
96
- description: input.description,
97
- activeForm: input.activeForm,
98
- owner: input.owner,
99
- metadata: input.metadata,
100
- addBlocks: input.addBlocks,
101
- addBlockedBy: input.addBlockedBy
102
- });
103
- if (!task) {
104
- yield {
105
- type: "result",
106
- data: { error: "Task not found" },
107
- resultForAssistant: `Error: Task with ID '${input.taskId}' not found`
108
- };
109
- return;
110
- }
111
- if (task.metadata?._hookRejected) {
112
- const feedback = task.metadata._hookFeedback || "Blocked by hook";
113
- yield {
114
- type: "result",
115
- data: {
116
- taskId: task.id,
117
- status: task.status,
118
- hookBlocked: true,
119
- hookFeedback: feedback
120
- },
121
- resultForAssistant: `Task #${task.id} completion was blocked by a hook. Status reverted to in_progress. Feedback: ${feedback}`
122
- };
123
- return;
124
- }
125
- const result = {
126
- taskId: task.id,
127
- status: task.status,
128
- deleted: isDeleting
129
- };
130
- yield {
131
- type: "result",
132
- data: result,
133
- resultForAssistant: this.renderResultForAssistant(result)
134
- };
135
- } catch (error) {
136
- const errorMessage = error instanceof Error ? error.message : "Unknown error occurred";
137
- yield {
138
- type: "result",
139
- data: { error: errorMessage },
140
- resultForAssistant: `Error updating task: ${errorMessage}`
141
- };
142
- }
143
- }
144
- };
145
- export {
146
- TaskUpdateTool
147
- };
148
- //# sourceMappingURL=TaskUpdateTool.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/tools/TaskUpdateTool/TaskUpdateTool.tsx"],
4
- "sourcesContent": ["import { Box, Text } from 'ink'\nimport * as React from 'react'\nimport { z } from 'zod'\nimport { FallbackToolUseRejectedMessage } from '@components/FallbackToolUseRejectedMessage'\nimport { Tool } from '@tool'\nimport { updateTask, getTaskById } from '@services/taskStore'\nimport { DESCRIPTION, PROMPT } from './prompt'\nimport { getTheme } from '@utils/theme'\n\nconst inputSchema = z.strictObject({\n taskId: z.string().describe('The ID of the task to update'),\n status: z\n .enum(['pending', 'in_progress', 'completed', 'deleted'])\n .optional()\n .describe('New status for the task'),\n subject: z.string().optional().describe('New subject for the task'),\n description: z.string().optional().describe('New description for the task'),\n activeForm: z\n .string()\n .optional()\n .describe(\n 'Present continuous form shown in spinner when in_progress (e.g., \"Running tests\")',\n ),\n owner: z.string().optional().describe('New owner for the task'),\n metadata: z\n .record(z.unknown())\n .optional()\n .describe(\n 'Metadata keys to merge into the task. Set a key to null to delete it.',\n ),\n addBlocks: z\n .array(z.string())\n .optional()\n .describe('Task IDs that this task blocks'),\n addBlockedBy: z\n .array(z.string())\n .optional()\n .describe('Task IDs that block this task'),\n})\n\nexport const TaskUpdateTool = {\n name: 'TaskUpdate',\n async description() {\n return DESCRIPTION\n },\n async prompt() {\n return PROMPT\n },\n inputSchema,\n userFacingName() {\n return 'Update Task'\n },\n async isEnabled() {\n return true\n },\n isReadOnly() {\n return false\n },\n isConcurrencySafe() {\n return false\n },\n needsPermissions() {\n return false\n },\n renderToolUseMessage(input: z.infer<typeof inputSchema>) {\n const parts: string[] = [`taskId: ${input.taskId}`]\n if (input.status) {\n parts.push(`status: ${input.status}`)\n }\n return parts.join(', ')\n },\n renderToolUseRejectedMessage() {\n return <FallbackToolUseRejectedMessage />\n },\n renderToolResultMessage(output: {\n taskId: string\n status?: string\n deleted?: boolean\n }) {\n if (!output || !output.taskId) {\n return (\n <Box flexDirection=\"row\">\n <Text>&nbsp;&nbsp;\u23BF &nbsp;</Text>\n <Text>Task updated</Text>\n </Box>\n )\n }\n\n if (output.deleted) {\n return (\n <Box flexDirection=\"row\">\n <Text>&nbsp;&nbsp;\u23BF &nbsp;</Text>\n <Text color={getTheme().secondaryText}>\n Task #{output.taskId} deleted\n </Text>\n </Box>\n )\n }\n\n const statusColor =\n output.status === 'completed'\n ? getTheme().success\n : output.status === 'in_progress'\n ? getTheme().warning\n : getTheme().secondaryText\n\n return (\n <Box flexDirection=\"row\">\n <Text>&nbsp;&nbsp;\u23BF &nbsp;</Text>\n <Text>\n Updated task #{output.taskId}\n {output.status && <Text color={statusColor}> \u2192 {output.status}</Text>}\n </Text>\n </Box>\n )\n },\n renderResultForAssistant(result: {\n taskId: string\n status?: string\n deleted?: boolean\n }) {\n if (result.deleted) {\n return `Task #${result.taskId} has been deleted`\n }\n return `Updated task #${result.taskId}${result.status ? ` status` : ''}`\n },\n async validateInput({ taskId }: z.infer<typeof inputSchema>) {\n if (!taskId?.trim()) {\n return {\n result: false,\n message: 'Task ID is required',\n }\n }\n\n const task = getTaskById(taskId)\n if (!task) {\n return {\n result: false,\n message: `Task with ID '${taskId}' not found`,\n }\n }\n\n return { result: true }\n },\n async *call(input: z.infer<typeof inputSchema>) {\n try {\n const isDeleting = input.status === 'deleted'\n\n const task = await updateTask({\n taskId: input.taskId,\n status: input.status,\n subject: input.subject,\n description: input.description,\n activeForm: input.activeForm,\n owner: input.owner,\n metadata: input.metadata,\n addBlocks: input.addBlocks,\n addBlockedBy: input.addBlockedBy,\n })\n\n if (!task) {\n yield {\n type: 'result',\n data: { error: 'Task not found' },\n resultForAssistant: `Error: Task with ID '${input.taskId}' not found`,\n }\n return\n }\n\n // Check if hook blocked task completion\n if (task.metadata?._hookRejected) {\n const feedback = task.metadata._hookFeedback || 'Blocked by hook'\n yield {\n type: 'result',\n data: {\n taskId: task.id,\n status: task.status,\n hookBlocked: true,\n hookFeedback: feedback,\n },\n resultForAssistant: `Task #${task.id} completion was blocked by a hook. Status reverted to in_progress. Feedback: ${feedback}`,\n }\n return\n }\n\n const result = {\n taskId: task.id,\n status: task.status,\n deleted: isDeleting,\n }\n\n yield {\n type: 'result',\n data: result,\n resultForAssistant: this.renderResultForAssistant(result),\n }\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : 'Unknown error occurred'\n yield {\n type: 'result',\n data: { error: errorMessage },\n resultForAssistant: `Error updating task: ${errorMessage}`,\n }\n }\n },\n} satisfies Tool\n"],
5
- "mappings": "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",
6
- "names": []
7
- }