@nexus-cortex/executors 4.26.0

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 (365) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +2 -0
  3. package/README.md +13 -0
  4. package/dist/ExecutorRegistry.d.ts +89 -0
  5. package/dist/ExecutorRegistry.d.ts.map +1 -0
  6. package/dist/ExecutorRegistry.js +219 -0
  7. package/dist/ExecutorRegistry.js.map +1 -0
  8. package/dist/base/BaseTool.d.ts +108 -0
  9. package/dist/base/BaseTool.d.ts.map +1 -0
  10. package/dist/base/BaseTool.js +111 -0
  11. package/dist/base/BaseTool.js.map +1 -0
  12. package/dist/base/ToolRegistry.d.ts +141 -0
  13. package/dist/base/ToolRegistry.d.ts.map +1 -0
  14. package/dist/base/ToolRegistry.js +241 -0
  15. package/dist/base/ToolRegistry.js.map +1 -0
  16. package/dist/base/ToolResult.d.ts +63 -0
  17. package/dist/base/ToolResult.d.ts.map +1 -0
  18. package/dist/base/ToolResult.js +8 -0
  19. package/dist/base/ToolResult.js.map +1 -0
  20. package/dist/base/index.d.ts +10 -0
  21. package/dist/base/index.d.ts.map +1 -0
  22. package/dist/base/index.js +8 -0
  23. package/dist/base/index.js.map +1 -0
  24. package/dist/implementations/addon/CreateArtifactTool.d.ts +221 -0
  25. package/dist/implementations/addon/CreateArtifactTool.d.ts.map +1 -0
  26. package/dist/implementations/addon/CreateArtifactTool.js +1042 -0
  27. package/dist/implementations/addon/CreateArtifactTool.js.map +1 -0
  28. package/dist/implementations/addon/FrameDiffCache.d.ts +166 -0
  29. package/dist/implementations/addon/FrameDiffCache.d.ts.map +1 -0
  30. package/dist/implementations/addon/FrameDiffCache.js +395 -0
  31. package/dist/implementations/addon/FrameDiffCache.js.map +1 -0
  32. package/dist/implementations/addon/H264StreamEncoder.d.ts +84 -0
  33. package/dist/implementations/addon/H264StreamEncoder.d.ts.map +1 -0
  34. package/dist/implementations/addon/H264StreamEncoder.js +203 -0
  35. package/dist/implementations/addon/H264StreamEncoder.js.map +1 -0
  36. package/dist/implementations/addon/HybridScreenshotManager.d.ts +197 -0
  37. package/dist/implementations/addon/HybridScreenshotManager.d.ts.map +1 -0
  38. package/dist/implementations/addon/HybridScreenshotManager.js +415 -0
  39. package/dist/implementations/addon/HybridScreenshotManager.js.map +1 -0
  40. package/dist/implementations/addon/InspectSandboxTool.d.ts +54 -0
  41. package/dist/implementations/addon/InspectSandboxTool.d.ts.map +1 -0
  42. package/dist/implementations/addon/InspectSandboxTool.js +226 -0
  43. package/dist/implementations/addon/InspectSandboxTool.js.map +1 -0
  44. package/dist/implementations/addon/InteractWithSandboxTool.d.ts +90 -0
  45. package/dist/implementations/addon/InteractWithSandboxTool.d.ts.map +1 -0
  46. package/dist/implementations/addon/InteractWithSandboxTool.js +367 -0
  47. package/dist/implementations/addon/InteractWithSandboxTool.js.map +1 -0
  48. package/dist/implementations/addon/KeyframeDetector.d.ts +140 -0
  49. package/dist/implementations/addon/KeyframeDetector.d.ts.map +1 -0
  50. package/dist/implementations/addon/KeyframeDetector.js +390 -0
  51. package/dist/implementations/addon/KeyframeDetector.js.map +1 -0
  52. package/dist/implementations/addon/ModifySandboxTool.d.ts +62 -0
  53. package/dist/implementations/addon/ModifySandboxTool.d.ts.map +1 -0
  54. package/dist/implementations/addon/ModifySandboxTool.js +266 -0
  55. package/dist/implementations/addon/ModifySandboxTool.js.map +1 -0
  56. package/dist/implementations/addon/ReactArtifactBuilder.d.ts +27 -0
  57. package/dist/implementations/addon/ReactArtifactBuilder.d.ts.map +1 -0
  58. package/dist/implementations/addon/ReactArtifactBuilder.js +198 -0
  59. package/dist/implementations/addon/ReactArtifactBuilder.js.map +1 -0
  60. package/dist/implementations/addon/SandboxEventBroadcaster.d.ts +143 -0
  61. package/dist/implementations/addon/SandboxEventBroadcaster.d.ts.map +1 -0
  62. package/dist/implementations/addon/SandboxEventBroadcaster.js +258 -0
  63. package/dist/implementations/addon/SandboxEventBroadcaster.js.map +1 -0
  64. package/dist/implementations/addon/SandboxIntrospectionTools.d.ts +77 -0
  65. package/dist/implementations/addon/SandboxIntrospectionTools.d.ts.map +1 -0
  66. package/dist/implementations/addon/SandboxIntrospectionTools.js +292 -0
  67. package/dist/implementations/addon/SandboxIntrospectionTools.js.map +1 -0
  68. package/dist/implementations/addon/SandboxViewServer.d.ts +127 -0
  69. package/dist/implementations/addon/SandboxViewServer.d.ts.map +1 -0
  70. package/dist/implementations/addon/SandboxViewServer.js +775 -0
  71. package/dist/implementations/addon/SandboxViewServer.js.map +1 -0
  72. package/dist/implementations/addon/ScreenStream.d.ts +149 -0
  73. package/dist/implementations/addon/ScreenStream.d.ts.map +1 -0
  74. package/dist/implementations/addon/ScreenStream.js +306 -0
  75. package/dist/implementations/addon/ScreenStream.js.map +1 -0
  76. package/dist/implementations/addon/StopSandboxTool.d.ts +61 -0
  77. package/dist/implementations/addon/StopSandboxTool.d.ts.map +1 -0
  78. package/dist/implementations/addon/StopSandboxTool.js +252 -0
  79. package/dist/implementations/addon/StopSandboxTool.js.map +1 -0
  80. package/dist/implementations/addon/TerminalSandbox.d.ts +111 -0
  81. package/dist/implementations/addon/TerminalSandbox.d.ts.map +1 -0
  82. package/dist/implementations/addon/TerminalSandbox.js +345 -0
  83. package/dist/implementations/addon/TerminalSandbox.js.map +1 -0
  84. package/dist/implementations/addon/VisualFeedbackBridge.d.ts +367 -0
  85. package/dist/implementations/addon/VisualFeedbackBridge.d.ts.map +1 -0
  86. package/dist/implementations/addon/VisualFeedbackBridge.js +888 -0
  87. package/dist/implementations/addon/VisualFeedbackBridge.js.map +1 -0
  88. package/dist/implementations/addon/WindowManager.d.ts +138 -0
  89. package/dist/implementations/addon/WindowManager.d.ts.map +1 -0
  90. package/dist/implementations/addon/WindowManager.js +276 -0
  91. package/dist/implementations/addon/WindowManager.js.map +1 -0
  92. package/dist/implementations/addon/index.d.ts +29 -0
  93. package/dist/implementations/addon/index.d.ts.map +1 -0
  94. package/dist/implementations/addon/index.js +29 -0
  95. package/dist/implementations/addon/index.js.map +1 -0
  96. package/dist/implementations/addon/injectables/reactIntrospection.d.ts +57 -0
  97. package/dist/implementations/addon/injectables/reactIntrospection.d.ts.map +1 -0
  98. package/dist/implementations/addon/injectables/reactIntrospection.js +480 -0
  99. package/dist/implementations/addon/injectables/reactIntrospection.js.map +1 -0
  100. package/dist/implementations/addon/terminal-client.html +253 -0
  101. package/dist/implementations/agent/PRAgentTool.d.ts +37 -0
  102. package/dist/implementations/agent/PRAgentTool.d.ts.map +1 -0
  103. package/dist/implementations/agent/PRAgentTool.js +257 -0
  104. package/dist/implementations/agent/PRAgentTool.js.map +1 -0
  105. package/dist/implementations/agent/TaskTool.d.ts +76 -0
  106. package/dist/implementations/agent/TaskTool.d.ts.map +1 -0
  107. package/dist/implementations/agent/TaskTool.js +424 -0
  108. package/dist/implementations/agent/TaskTool.js.map +1 -0
  109. package/dist/implementations/agent/index.d.ts +5 -0
  110. package/dist/implementations/agent/index.d.ts.map +1 -0
  111. package/dist/implementations/agent/index.js +3 -0
  112. package/dist/implementations/agent/index.js.map +1 -0
  113. package/dist/implementations/execution/BackgroundProcessRegistry.d.ts +68 -0
  114. package/dist/implementations/execution/BackgroundProcessRegistry.d.ts.map +1 -0
  115. package/dist/implementations/execution/BackgroundProcessRegistry.js +146 -0
  116. package/dist/implementations/execution/BackgroundProcessRegistry.js.map +1 -0
  117. package/dist/implementations/execution/BashOutputTool.d.ts +42 -0
  118. package/dist/implementations/execution/BashOutputTool.d.ts.map +1 -0
  119. package/dist/implementations/execution/BashOutputTool.js +168 -0
  120. package/dist/implementations/execution/BashOutputTool.js.map +1 -0
  121. package/dist/implementations/execution/CodeExecuteTool.d.ts +31 -0
  122. package/dist/implementations/execution/CodeExecuteTool.d.ts.map +1 -0
  123. package/dist/implementations/execution/CodeExecuteTool.js +127 -0
  124. package/dist/implementations/execution/CodeExecuteTool.js.map +1 -0
  125. package/dist/implementations/execution/KillShellTool.d.ts +37 -0
  126. package/dist/implementations/execution/KillShellTool.d.ts.map +1 -0
  127. package/dist/implementations/execution/KillShellTool.js +144 -0
  128. package/dist/implementations/execution/KillShellTool.js.map +1 -0
  129. package/dist/implementations/execution/SearchToolsTool.d.ts +32 -0
  130. package/dist/implementations/execution/SearchToolsTool.d.ts.map +1 -0
  131. package/dist/implementations/execution/SearchToolsTool.js +109 -0
  132. package/dist/implementations/execution/SearchToolsTool.js.map +1 -0
  133. package/dist/implementations/execution/ShellTool.d.ts +108 -0
  134. package/dist/implementations/execution/ShellTool.d.ts.map +1 -0
  135. package/dist/implementations/execution/ShellTool.js +546 -0
  136. package/dist/implementations/execution/ShellTool.js.map +1 -0
  137. package/dist/implementations/execution/WorkspaceManagerTool.d.ts +40 -0
  138. package/dist/implementations/execution/WorkspaceManagerTool.d.ts.map +1 -0
  139. package/dist/implementations/execution/WorkspaceManagerTool.js +370 -0
  140. package/dist/implementations/execution/WorkspaceManagerTool.js.map +1 -0
  141. package/dist/implementations/execution/index.d.ts +13 -0
  142. package/dist/implementations/execution/index.d.ts.map +1 -0
  143. package/dist/implementations/execution/index.js +13 -0
  144. package/dist/implementations/execution/index.js.map +1 -0
  145. package/dist/implementations/extensions/EndTurnTool.d.ts +62 -0
  146. package/dist/implementations/extensions/EndTurnTool.d.ts.map +1 -0
  147. package/dist/implementations/extensions/EndTurnTool.js +172 -0
  148. package/dist/implementations/extensions/EndTurnTool.js.map +1 -0
  149. package/dist/implementations/extensions/ResearchBacklogTool.d.ts +37 -0
  150. package/dist/implementations/extensions/ResearchBacklogTool.d.ts.map +1 -0
  151. package/dist/implementations/extensions/ResearchBacklogTool.js +102 -0
  152. package/dist/implementations/extensions/ResearchBacklogTool.js.map +1 -0
  153. package/dist/implementations/extensions/SkillTool.d.ts +108 -0
  154. package/dist/implementations/extensions/SkillTool.d.ts.map +1 -0
  155. package/dist/implementations/extensions/SkillTool.js +351 -0
  156. package/dist/implementations/extensions/SkillTool.js.map +1 -0
  157. package/dist/implementations/extensions/SlashCommandTool.d.ts +112 -0
  158. package/dist/implementations/extensions/SlashCommandTool.d.ts.map +1 -0
  159. package/dist/implementations/extensions/SlashCommandTool.js +315 -0
  160. package/dist/implementations/extensions/SlashCommandTool.js.map +1 -0
  161. package/dist/implementations/extensions/index.d.ts +14 -0
  162. package/dist/implementations/extensions/index.d.ts.map +1 -0
  163. package/dist/implementations/extensions/index.js +10 -0
  164. package/dist/implementations/extensions/index.js.map +1 -0
  165. package/dist/implementations/file/EditTool.d.ts +232 -0
  166. package/dist/implementations/file/EditTool.d.ts.map +1 -0
  167. package/dist/implementations/file/EditTool.js +707 -0
  168. package/dist/implementations/file/EditTool.js.map +1 -0
  169. package/dist/implementations/file/ReadFileTool.d.ts +49 -0
  170. package/dist/implementations/file/ReadFileTool.d.ts.map +1 -0
  171. package/dist/implementations/file/ReadFileTool.js +225 -0
  172. package/dist/implementations/file/ReadFileTool.js.map +1 -0
  173. package/dist/implementations/file/WriteBinaryTool.d.ts +21 -0
  174. package/dist/implementations/file/WriteBinaryTool.d.ts.map +1 -0
  175. package/dist/implementations/file/WriteBinaryTool.js +153 -0
  176. package/dist/implementations/file/WriteBinaryTool.js.map +1 -0
  177. package/dist/implementations/file/WriteFileTool.d.ts +41 -0
  178. package/dist/implementations/file/WriteFileTool.d.ts.map +1 -0
  179. package/dist/implementations/file/WriteFileTool.js +220 -0
  180. package/dist/implementations/file/WriteFileTool.js.map +1 -0
  181. package/dist/implementations/file/index.d.ts +8 -0
  182. package/dist/implementations/file/index.d.ts.map +1 -0
  183. package/dist/implementations/file/index.js +8 -0
  184. package/dist/implementations/file/index.js.map +1 -0
  185. package/dist/implementations/historical/GetConversationSegmentTool.d.ts +44 -0
  186. package/dist/implementations/historical/GetConversationSegmentTool.d.ts.map +1 -0
  187. package/dist/implementations/historical/GetConversationSegmentTool.js +220 -0
  188. package/dist/implementations/historical/GetConversationSegmentTool.js.map +1 -0
  189. package/dist/implementations/historical/ListCompactionBoundariesTool.d.ts +36 -0
  190. package/dist/implementations/historical/ListCompactionBoundariesTool.d.ts.map +1 -0
  191. package/dist/implementations/historical/ListCompactionBoundariesTool.js +174 -0
  192. package/dist/implementations/historical/ListCompactionBoundariesTool.js.map +1 -0
  193. package/dist/implementations/historical/ListSessionsTool.d.ts +38 -0
  194. package/dist/implementations/historical/ListSessionsTool.d.ts.map +1 -0
  195. package/dist/implementations/historical/ListSessionsTool.js +140 -0
  196. package/dist/implementations/historical/ListSessionsTool.js.map +1 -0
  197. package/dist/implementations/historical/LoadSessionTool.d.ts +39 -0
  198. package/dist/implementations/historical/LoadSessionTool.d.ts.map +1 -0
  199. package/dist/implementations/historical/LoadSessionTool.js +171 -0
  200. package/dist/implementations/historical/LoadSessionTool.js.map +1 -0
  201. package/dist/implementations/historical/RequestHistoricalContextTool.d.ts +46 -0
  202. package/dist/implementations/historical/RequestHistoricalContextTool.d.ts.map +1 -0
  203. package/dist/implementations/historical/RequestHistoricalContextTool.js +224 -0
  204. package/dist/implementations/historical/RequestHistoricalContextTool.js.map +1 -0
  205. package/dist/implementations/historical/SearchConversationHistoryTool.d.ts +51 -0
  206. package/dist/implementations/historical/SearchConversationHistoryTool.d.ts.map +1 -0
  207. package/dist/implementations/historical/SearchConversationHistoryTool.js +306 -0
  208. package/dist/implementations/historical/SearchConversationHistoryTool.js.map +1 -0
  209. package/dist/implementations/historical/index.d.ts +12 -0
  210. package/dist/implementations/historical/index.d.ts.map +1 -0
  211. package/dist/implementations/historical/index.js +12 -0
  212. package/dist/implementations/historical/index.js.map +1 -0
  213. package/dist/implementations/index.d.ts +16 -0
  214. package/dist/implementations/index.d.ts.map +1 -0
  215. package/dist/implementations/index.js +28 -0
  216. package/dist/implementations/index.js.map +1 -0
  217. package/dist/implementations/mcp/DiscoveredMcpTool.d.ts +58 -0
  218. package/dist/implementations/mcp/DiscoveredMcpTool.d.ts.map +1 -0
  219. package/dist/implementations/mcp/DiscoveredMcpTool.js +269 -0
  220. package/dist/implementations/mcp/DiscoveredMcpTool.js.map +1 -0
  221. package/dist/implementations/mcp/index.d.ts +9 -0
  222. package/dist/implementations/mcp/index.d.ts.map +1 -0
  223. package/dist/implementations/mcp/index.js +8 -0
  224. package/dist/implementations/mcp/index.js.map +1 -0
  225. package/dist/implementations/notebook/NotebookEditTool.d.ts +96 -0
  226. package/dist/implementations/notebook/NotebookEditTool.d.ts.map +1 -0
  227. package/dist/implementations/notebook/NotebookEditTool.js +390 -0
  228. package/dist/implementations/notebook/NotebookEditTool.js.map +1 -0
  229. package/dist/implementations/notebook/index.d.ts +7 -0
  230. package/dist/implementations/notebook/index.d.ts.map +1 -0
  231. package/dist/implementations/notebook/index.js +7 -0
  232. package/dist/implementations/notebook/index.js.map +1 -0
  233. package/dist/implementations/search/GlobTool.d.ts +73 -0
  234. package/dist/implementations/search/GlobTool.d.ts.map +1 -0
  235. package/dist/implementations/search/GlobTool.js +213 -0
  236. package/dist/implementations/search/GlobTool.js.map +1 -0
  237. package/dist/implementations/search/GrepTool.d.ts +102 -0
  238. package/dist/implementations/search/GrepTool.d.ts.map +1 -0
  239. package/dist/implementations/search/GrepTool.js +754 -0
  240. package/dist/implementations/search/GrepTool.js.map +1 -0
  241. package/dist/implementations/search/index.d.ts +6 -0
  242. package/dist/implementations/search/index.d.ts.map +1 -0
  243. package/dist/implementations/search/index.js +6 -0
  244. package/dist/implementations/search/index.js.map +1 -0
  245. package/dist/implementations/tmux/TmuxSessionTool.d.ts +82 -0
  246. package/dist/implementations/tmux/TmuxSessionTool.d.ts.map +1 -0
  247. package/dist/implementations/tmux/TmuxSessionTool.js +371 -0
  248. package/dist/implementations/tmux/TmuxSessionTool.js.map +1 -0
  249. package/dist/implementations/tmux/TmuxViewServer.d.ts +86 -0
  250. package/dist/implementations/tmux/TmuxViewServer.d.ts.map +1 -0
  251. package/dist/implementations/tmux/TmuxViewServer.js +480 -0
  252. package/dist/implementations/tmux/TmuxViewServer.js.map +1 -0
  253. package/dist/implementations/tmux/index.d.ts +6 -0
  254. package/dist/implementations/tmux/index.d.ts.map +1 -0
  255. package/dist/implementations/tmux/index.js +6 -0
  256. package/dist/implementations/tmux/index.js.map +1 -0
  257. package/dist/implementations/ui/AskUserQuestionTool.d.ts +77 -0
  258. package/dist/implementations/ui/AskUserQuestionTool.d.ts.map +1 -0
  259. package/dist/implementations/ui/AskUserQuestionTool.js +241 -0
  260. package/dist/implementations/ui/AskUserQuestionTool.js.map +1 -0
  261. package/dist/implementations/ui/ExitPlanModeTool.d.ts +44 -0
  262. package/dist/implementations/ui/ExitPlanModeTool.d.ts.map +1 -0
  263. package/dist/implementations/ui/ExitPlanModeTool.js +150 -0
  264. package/dist/implementations/ui/ExitPlanModeTool.js.map +1 -0
  265. package/dist/implementations/ui/TodoWriteTool.d.ts +59 -0
  266. package/dist/implementations/ui/TodoWriteTool.d.ts.map +1 -0
  267. package/dist/implementations/ui/TodoWriteTool.js +315 -0
  268. package/dist/implementations/ui/TodoWriteTool.js.map +1 -0
  269. package/dist/implementations/ui/index.d.ts +9 -0
  270. package/dist/implementations/ui/index.d.ts.map +1 -0
  271. package/dist/implementations/ui/index.js +9 -0
  272. package/dist/implementations/ui/index.js.map +1 -0
  273. package/dist/implementations/web/BrowseTool.d.ts +43 -0
  274. package/dist/implementations/web/BrowseTool.d.ts.map +1 -0
  275. package/dist/implementations/web/BrowseTool.js +181 -0
  276. package/dist/implementations/web/BrowseTool.js.map +1 -0
  277. package/dist/implementations/web/SandboxTransferTool.d.ts +30 -0
  278. package/dist/implementations/web/SandboxTransferTool.d.ts.map +1 -0
  279. package/dist/implementations/web/SandboxTransferTool.js +261 -0
  280. package/dist/implementations/web/SandboxTransferTool.js.map +1 -0
  281. package/dist/implementations/web/WebFetchTool.d.ts +93 -0
  282. package/dist/implementations/web/WebFetchTool.d.ts.map +1 -0
  283. package/dist/implementations/web/WebFetchTool.js +484 -0
  284. package/dist/implementations/web/WebFetchTool.js.map +1 -0
  285. package/dist/implementations/web/WebSearchTool.d.ts +53 -0
  286. package/dist/implementations/web/WebSearchTool.d.ts.map +1 -0
  287. package/dist/implementations/web/WebSearchTool.js +227 -0
  288. package/dist/implementations/web/WebSearchTool.js.map +1 -0
  289. package/dist/implementations/web/escalateDirective.d.ts +11 -0
  290. package/dist/implementations/web/escalateDirective.d.ts.map +1 -0
  291. package/dist/implementations/web/escalateDirective.js +20 -0
  292. package/dist/implementations/web/escalateDirective.js.map +1 -0
  293. package/dist/implementations/web/index.d.ts +10 -0
  294. package/dist/implementations/web/index.d.ts.map +1 -0
  295. package/dist/implementations/web/index.js +10 -0
  296. package/dist/implementations/web/index.js.map +1 -0
  297. package/dist/implementations/web/webBackends.d.ts +65 -0
  298. package/dist/implementations/web/webBackends.d.ts.map +1 -0
  299. package/dist/implementations/web/webBackends.js +430 -0
  300. package/dist/implementations/web/webBackends.js.map +1 -0
  301. package/dist/implementations/web/webFetchRequestInit.d.ts +9 -0
  302. package/dist/implementations/web/webFetchRequestInit.d.ts.map +1 -0
  303. package/dist/implementations/web/webFetchRequestInit.js +21 -0
  304. package/dist/implementations/web/webFetchRequestInit.js.map +1 -0
  305. package/dist/index.d.ts +14 -0
  306. package/dist/index.d.ts.map +1 -0
  307. package/dist/index.js +18 -0
  308. package/dist/index.js.map +1 -0
  309. package/dist/utils/ArtifactRegistry.d.ts +138 -0
  310. package/dist/utils/ArtifactRegistry.d.ts.map +1 -0
  311. package/dist/utils/ArtifactRegistry.js +259 -0
  312. package/dist/utils/ArtifactRegistry.js.map +1 -0
  313. package/dist/utils/ChromiumBrowserManager.d.ts +56 -0
  314. package/dist/utils/ChromiumBrowserManager.d.ts.map +1 -0
  315. package/dist/utils/ChromiumBrowserManager.js +243 -0
  316. package/dist/utils/ChromiumBrowserManager.js.map +1 -0
  317. package/dist/utils/FileUtils.d.ts +81 -0
  318. package/dist/utils/FileUtils.d.ts.map +1 -0
  319. package/dist/utils/FileUtils.js +148 -0
  320. package/dist/utils/FileUtils.js.map +1 -0
  321. package/dist/utils/GitPolicy.d.ts +70 -0
  322. package/dist/utils/GitPolicy.d.ts.map +1 -0
  323. package/dist/utils/GitPolicy.js +166 -0
  324. package/dist/utils/GitPolicy.js.map +1 -0
  325. package/dist/utils/GitUtils.d.ts +18 -0
  326. package/dist/utils/GitUtils.d.ts.map +1 -0
  327. package/dist/utils/GitUtils.js +62 -0
  328. package/dist/utils/GitUtils.js.map +1 -0
  329. package/dist/utils/SandboxRegistry.d.ts +110 -0
  330. package/dist/utils/SandboxRegistry.d.ts.map +1 -0
  331. package/dist/utils/SandboxRegistry.js +220 -0
  332. package/dist/utils/SandboxRegistry.js.map +1 -0
  333. package/dist/utils/SchemaValidator.d.ts +21 -0
  334. package/dist/utils/SchemaValidator.d.ts.map +1 -0
  335. package/dist/utils/SchemaValidator.js +67 -0
  336. package/dist/utils/SchemaValidator.js.map +1 -0
  337. package/dist/utils/SessionLock.d.ts +96 -0
  338. package/dist/utils/SessionLock.d.ts.map +1 -0
  339. package/dist/utils/SessionLock.js +276 -0
  340. package/dist/utils/SessionLock.js.map +1 -0
  341. package/dist/utils/SessionPersistence.d.ts +89 -0
  342. package/dist/utils/SessionPersistence.d.ts.map +1 -0
  343. package/dist/utils/SessionPersistence.js +244 -0
  344. package/dist/utils/SessionPersistence.js.map +1 -0
  345. package/dist/utils/TextUtils.d.ts +77 -0
  346. package/dist/utils/TextUtils.d.ts.map +1 -0
  347. package/dist/utils/TextUtils.js +112 -0
  348. package/dist/utils/TextUtils.js.map +1 -0
  349. package/dist/utils/TmuxCapture.d.ts +94 -0
  350. package/dist/utils/TmuxCapture.d.ts.map +1 -0
  351. package/dist/utils/TmuxCapture.js +131 -0
  352. package/dist/utils/TmuxCapture.js.map +1 -0
  353. package/dist/utils/TmuxManager.d.ts +65 -0
  354. package/dist/utils/TmuxManager.d.ts.map +1 -0
  355. package/dist/utils/TmuxManager.js +304 -0
  356. package/dist/utils/TmuxManager.js.map +1 -0
  357. package/dist/utils/autoResearchPlanGate.d.ts +10 -0
  358. package/dist/utils/autoResearchPlanGate.d.ts.map +1 -0
  359. package/dist/utils/autoResearchPlanGate.js +57 -0
  360. package/dist/utils/autoResearchPlanGate.js.map +1 -0
  361. package/dist/utils/index.d.ts +19 -0
  362. package/dist/utils/index.d.ts.map +1 -0
  363. package/dist/utils/index.js +13 -0
  364. package/dist/utils/index.js.map +1 -0
  365. package/package.json +83 -0
@@ -0,0 +1,424 @@
1
+ import { BaseTool } from '../../base/BaseTool.js';
2
+ import { promises as fs } from 'fs';
3
+ import { join, resolve as resolvePath } from 'path';
4
+ import { homedir } from 'os';
5
+ import { glob } from 'glob';
6
+ import { resolveProjectAgentsDir } from '@nexus-cortex/core';
7
+ import { checkAutoResearchPlanGate } from '../../utils/autoResearchPlanGate.js';
8
+ /**
9
+ * TaskTool - Launch specialized sub-agents to handle complex tasks
10
+ *
11
+ * Loads agent definitions from .cortex/agents/*.md files and returns
12
+ * the agent's system prompt and configuration for orchestrator to use.
13
+ *
14
+ * Agent files use YAML frontmatter:
15
+ * ---
16
+ * name: agent-name
17
+ * description: When to use this agent
18
+ * tools: Tool1, Tool2, Tool3
19
+ * model: sonnet | opus | haiku | inherit
20
+ * ---
21
+ *
22
+ * # Agent System Prompt
23
+ * ...instructions...
24
+ */
25
+ export class TaskToolExecutor extends BaseTool {
26
+ agentsCache = null;
27
+ projectAgentsDir;
28
+ personalAgentsDir;
29
+ builtinAgentsDir;
30
+ constructor(config) {
31
+ const schema = {
32
+ type: 'object',
33
+ properties: {
34
+ description: {
35
+ type: 'string',
36
+ description: 'Short description of the task (3-5 words)'
37
+ },
38
+ prompt: {
39
+ type: 'string',
40
+ description: 'The task for the agent to perform'
41
+ },
42
+ subagent_type: {
43
+ type: 'string',
44
+ description: 'Type of specialized agent to use'
45
+ },
46
+ model: {
47
+ type: 'string',
48
+ description: 'Optional model override. Accepts Claude aliases (sonnet, opus, haiku), "inherit", or any full model ID (e.g., "deepseek-v4-pro", "grok-4.3") for cross-provider dispatch.'
49
+ },
50
+ temperature: {
51
+ type: 'number',
52
+ description: 'Optional sampling temperature for this subagent — a diversity lever when running parallel arms (e.g. step by tenths across agents). Clamped to the chosen model\'s valid range. Higher = more varied/creative, lower = more deterministic.'
53
+ },
54
+ strategy: {
55
+ type: 'string',
56
+ description: 'Optional short label for this arm\'s persona/strategy (e.g. "risk-first", "mvp-first", "precise"). Recorded alongside the model and temperature so the auto-research effectiveness layer can rank which (model × temperature × strategy) combinations produce the best work over time. Use distinct labels for distinct parallel arms.'
57
+ },
58
+ resume: {
59
+ type: 'string',
60
+ description: 'Optional session ID to resume from'
61
+ }
62
+ },
63
+ required: ['description', 'prompt', 'subagent_type']
64
+ };
65
+ super('Task', 'Task', 'Launch a sub-agent to handle complex tasks', schema);
66
+ // Walk up from the working directory to the nearest project root with
67
+ // .cortex/agents so project agents resolve from any subdirectory.
68
+ this.projectAgentsDir = resolveProjectAgentsDir(config.workingDirectory);
69
+ this.personalAgentsDir = join(homedir(), '.cortex', 'agents');
70
+ // Built-in/shipped agents under the install root ($CORTEX_ROOT) — keeps the
71
+ // agents that ship with the install discoverable from any cwd. Lowest
72
+ // priority; project/personal override by name.
73
+ this.builtinAgentsDir = process.env.CORTEX_ROOT
74
+ ? join(process.env.CORTEX_ROOT, '.cortex', 'agents')
75
+ : undefined;
76
+ }
77
+ validateToolParams(params) {
78
+ // "list" only needs subagent_type
79
+ if (params.subagent_type?.trim() === 'list')
80
+ return null;
81
+ // Validate description
82
+ if (typeof params.description !== 'string' || params.description.trim().length === 0) {
83
+ return 'description must be a non-empty string';
84
+ }
85
+ // Validate prompt
86
+ if (typeof params.prompt !== 'string' || params.prompt.trim().length === 0) {
87
+ return 'prompt must be a non-empty string';
88
+ }
89
+ // Validate subagent_type
90
+ if (typeof params.subagent_type !== 'string' || params.subagent_type.trim().length === 0) {
91
+ return 'subagent_type must be a non-empty string';
92
+ }
93
+ const trimmedType = params.subagent_type.trim();
94
+ if (!/^[a-zA-Z0-9-]+$/.test(trimmedType)) {
95
+ return 'subagent_type must contain only letters, numbers, and hyphens';
96
+ }
97
+ if (trimmedType.length > 64) {
98
+ return 'subagent_type must be 64 characters or less';
99
+ }
100
+ // Validate model if provided. Accept Claude aliases, 'inherit', or any
101
+ // full model ID (e.g., 'deepseek-v4-pro', 'grok-4.3') for cross-provider
102
+ // benchmarks. Downstream ModelAliasResolver handles resolution/failure.
103
+ if (params.model) {
104
+ const trimmed = params.model.trim();
105
+ if (trimmed.length === 0) {
106
+ return 'model must be a non-empty string if provided';
107
+ }
108
+ if (trimmed.length > 128) {
109
+ return 'model must be 128 characters or less';
110
+ }
111
+ if (!/^[a-zA-Z0-9_.@-]+$/.test(trimmed)) {
112
+ return 'model must contain only letters, numbers, dots, underscores, hyphens, and @';
113
+ }
114
+ }
115
+ return null;
116
+ }
117
+ getDescription(params) {
118
+ if (params.subagent_type?.trim() === 'list')
119
+ return 'Listing available agents';
120
+ return `Launching ${params.subagent_type || 'general-purpose'} agent: ${params.description}`;
121
+ }
122
+ async execute(params, signal) {
123
+ const startTime = Date.now();
124
+ // Handle "list" — enumerate all available agents
125
+ if (params.subagent_type?.trim() === 'list') {
126
+ if (!this.agentsCache) {
127
+ await this.loadAgents(signal);
128
+ }
129
+ const listing = this.formatAgentListing();
130
+ return {
131
+ ...this.createSuccessResult(listing),
132
+ metadata: { executionTime: Date.now() - startTime },
133
+ };
134
+ }
135
+ // Validate parameters
136
+ const validationError = this.validateToolParams(params);
137
+ if (validationError) {
138
+ return this.createErrorResult(validationError);
139
+ }
140
+ try {
141
+ // Load agent definition
142
+ const agent = await this.loadAgent(params.subagent_type.trim(), signal);
143
+ // Plan-gate: an autoresearch-agent launch requires the PM to have produced an
144
+ // experiment plan first (plan mode in a TUI, a TodoCreate checklist headless).
145
+ // Reject here so no subagent is forked without a plan.
146
+ const planBlock = checkAutoResearchPlanGate(agent.name);
147
+ if (planBlock)
148
+ return this.createErrorResult(planBlock);
149
+ // Determine effective model
150
+ const effectiveModel = params.model || agent.model || 'inherit';
151
+ // Per-subagent sampling temperature → fork env-override (a parallel-arm diversity lever).
152
+ // Sanity-clamp to a broad 0–2 here; the APIClient clamps to the model's exact range.
153
+ const envOverrides = {};
154
+ if (typeof params.temperature === 'number' && Number.isFinite(params.temperature)) {
155
+ envOverrides.CORTEX_SUBAGENT_TEMPERATURE = String(Math.max(0, Math.min(2, params.temperature)));
156
+ }
157
+ // Per-subagent arm persona/strategy → fork env-override. Recorded with any
158
+ // benchmark the arm runs, so the effectiveness layer ranks (model×temp×strategy).
159
+ if (typeof params.strategy === 'string' && params.strategy.trim()) {
160
+ envOverrides.CORTEX_ARM_STRATEGY = params.strategy.trim().slice(0, 64);
161
+ }
162
+ // Format output for LLM
163
+ const output = this.formatAgentOutput(agent, params, effectiveModel);
164
+ return {
165
+ ...this.createSuccessResult(output),
166
+ metadata: {
167
+ executionTime: Date.now() - startTime,
168
+ ...(Object.keys(envOverrides).length ? { envOverrides } : {}),
169
+ agentName: agent.name,
170
+ location: agent.location,
171
+ model: effectiveModel,
172
+ tools: agent.tools || [],
173
+ description: params.description,
174
+ promptLength: params.prompt.length,
175
+ // Full agent definition for SubAgentManager to use
176
+ agentDefinition: {
177
+ name: agent.name,
178
+ description: agent.description,
179
+ systemPrompt: agent.systemPrompt,
180
+ tools: agent.tools || [],
181
+ model: effectiveModel,
182
+ location: agent.location,
183
+ filePath: agent.filePath
184
+ },
185
+ // Task prompt for SubAgentManager
186
+ taskPrompt: params.prompt,
187
+ // Flag to indicate this should spawn a sub-agent
188
+ shouldSpawnSubAgent: true
189
+ }
190
+ };
191
+ }
192
+ catch (error) {
193
+ const errorMessage = error instanceof Error ? error.message : String(error);
194
+ return this.createErrorResult(`Failed to launch agent: ${errorMessage}`);
195
+ }
196
+ }
197
+ /**
198
+ * Load an agent definition by name
199
+ */
200
+ async loadAgent(agentType, signal) {
201
+ // Check cache first
202
+ if (this.agentsCache) {
203
+ const cached = this.agentsCache.get(agentType);
204
+ if (cached) {
205
+ return cached;
206
+ }
207
+ }
208
+ // Load all agents and cache them
209
+ await this.loadAgents(signal);
210
+ // Check cache again
211
+ if (this.agentsCache) {
212
+ const agent = this.agentsCache.get(agentType);
213
+ if (agent) {
214
+ return agent;
215
+ }
216
+ }
217
+ // Agent not found - list available agents
218
+ const available = this.agentsCache
219
+ ? Array.from(this.agentsCache.keys()).sort()
220
+ : [];
221
+ if (available.length === 0) {
222
+ throw new Error(`Agent '${agentType}' not found. No agents available in .cortex/agents/ or ~/.cortex/agents/\n\n` +
223
+ `To create agents, add .md files to these directories.`);
224
+ }
225
+ throw new Error(`Agent '${agentType}' not found in .cortex/agents/ or ~/.cortex/agents/\n\n` +
226
+ `Available agents: ${available.join(', ')}`);
227
+ }
228
+ /**
229
+ * Load all agents from both project and personal directories
230
+ */
231
+ async loadAgents(signal) {
232
+ this.agentsCache = new Map();
233
+ // Priority order (lowest first; later tiers override earlier by name):
234
+ // builtin (shipped/$CORTEX_ROOT) < personal (~/.cortex) < project (cwd).
235
+ // Skip a tier whose directory duplicates a higher-priority one.
236
+ const tiers = [
237
+ [this.builtinAgentsDir, 'builtin'],
238
+ [this.personalAgentsDir, 'personal'],
239
+ [this.projectAgentsDir, 'project'],
240
+ ];
241
+ for (let i = 0; i < tiers.length; i++) {
242
+ const tier = tiers[i];
243
+ if (!tier)
244
+ continue;
245
+ const [dir, location] = tier;
246
+ if (!dir)
247
+ continue;
248
+ const abs = resolvePath(dir);
249
+ // Skip if a later (higher-priority) tier points at the same directory.
250
+ let shadowed = false;
251
+ for (let j = i + 1; j < tiers.length; j++) {
252
+ const later = tiers[j];
253
+ if (later && later[0] && resolvePath(later[0]) === abs) {
254
+ shadowed = true;
255
+ break;
256
+ }
257
+ }
258
+ if (shadowed)
259
+ continue;
260
+ await this.loadAgentsFromDirectory(dir, location, signal);
261
+ }
262
+ }
263
+ /**
264
+ * Load agents from a specific directory
265
+ */
266
+ async loadAgentsFromDirectory(baseDir, location, signal) {
267
+ try {
268
+ const agentFiles = await glob('*.md', {
269
+ cwd: baseDir,
270
+ signal,
271
+ absolute: false
272
+ });
273
+ for (const file of agentFiles) {
274
+ signal.throwIfAborted();
275
+ const agentPath = join(baseDir, file);
276
+ const agentDef = await this.parseAgentFile(agentPath, location);
277
+ if (agentDef) {
278
+ // Tiers are loaded lowest-priority first, so the later (higher-
279
+ // priority) tier always wins by name — always overwrite.
280
+ this.agentsCache.set(agentDef.name, agentDef);
281
+ }
282
+ }
283
+ }
284
+ catch (error) {
285
+ // Directory might not exist, that's okay
286
+ if (error.code !== 'ENOENT') {
287
+ console.warn(`Warning loading agents from ${baseDir}:`, error);
288
+ }
289
+ }
290
+ }
291
+ /**
292
+ * Parse an agent definition file
293
+ */
294
+ async parseAgentFile(filePath, location) {
295
+ try {
296
+ const content = await fs.readFile(filePath, 'utf-8');
297
+ // Extract YAML frontmatter
298
+ const frontmatterMatch = content.match(/^---\s*\n([\s\S]*?)\n---\s*\n([\s\S]*)$/);
299
+ if (!frontmatterMatch) {
300
+ console.warn(`No frontmatter found in ${filePath}`);
301
+ return null;
302
+ }
303
+ const frontmatterText = frontmatterMatch[1] || '';
304
+ const systemPrompt = frontmatterMatch[2] || '';
305
+ // Parse frontmatter
306
+ const frontmatter = this.parseFrontmatter(frontmatterText);
307
+ if (!frontmatter.name) {
308
+ console.warn(`Missing 'name' field in ${filePath}`);
309
+ return null;
310
+ }
311
+ if (!frontmatter.description) {
312
+ console.warn(`Missing 'description' field in ${filePath}`);
313
+ return null;
314
+ }
315
+ return {
316
+ name: frontmatter.name,
317
+ description: frontmatter.description,
318
+ tools: frontmatter.tools ? frontmatter.tools.split(',').map((t) => t.trim()) : undefined,
319
+ model: frontmatter.model,
320
+ systemPrompt: systemPrompt.trim(),
321
+ location,
322
+ filePath
323
+ };
324
+ }
325
+ catch (error) {
326
+ console.warn(`Error parsing agent file ${filePath}:`, error);
327
+ return null;
328
+ }
329
+ }
330
+ /**
331
+ * Parse YAML frontmatter into key-value pairs
332
+ */
333
+ parseFrontmatter(text) {
334
+ const result = {};
335
+ const lines = text.split('\n');
336
+ for (const line of lines) {
337
+ const match = line.match(/^(\w+):\s*(.+)$/);
338
+ if (match && match[1] && match[2] !== undefined) {
339
+ const key = match[1].trim();
340
+ const value = match[2].trim();
341
+ result[key] = value;
342
+ }
343
+ }
344
+ return result;
345
+ }
346
+ /**
347
+ * Format agent output for LLM consumption
348
+ */
349
+ formatAgentOutput(agent, params, effectiveModel) {
350
+ const lines = [];
351
+ lines.push(`# Agent: ${agent.name}`);
352
+ lines.push('');
353
+ lines.push(`**Description**: ${agent.description}`);
354
+ const locDir = agent.location === 'project'
355
+ ? '.cortex/agents/'
356
+ : agent.location === 'builtin'
357
+ ? '$CORTEX_ROOT/.cortex/agents/'
358
+ : '~/.cortex/agents/';
359
+ lines.push(`**Location**: ${agent.location} (${locDir})`);
360
+ lines.push(`**Model**: ${effectiveModel}`);
361
+ if (agent.tools && agent.tools.length > 0) {
362
+ lines.push(`**Tools**: ${agent.tools.join(', ')}`);
363
+ }
364
+ lines.push('');
365
+ lines.push('---');
366
+ lines.push('');
367
+ lines.push('## Task');
368
+ lines.push('');
369
+ lines.push(`**Description**: ${params.description}`);
370
+ lines.push('');
371
+ lines.push('**Prompt**:');
372
+ lines.push('```');
373
+ lines.push(params.prompt);
374
+ lines.push('```');
375
+ lines.push('');
376
+ lines.push('---');
377
+ lines.push('');
378
+ lines.push('## Agent System Prompt');
379
+ lines.push('');
380
+ lines.push(agent.systemPrompt);
381
+ return lines.join('\n');
382
+ }
383
+ /**
384
+ * Format a readable listing of all available agents
385
+ */
386
+ formatAgentListing() {
387
+ const parts = [];
388
+ // Always-available built-in agent
389
+ parts.push('# Available Agents\n');
390
+ parts.push('## Built-in (always available)');
391
+ parts.push('- **general-purpose**: Complex multi-step tasks, code generation, any task\n');
392
+ if (this.agentsCache && this.agentsCache.size > 0) {
393
+ parts.push('## From .cortex/agents/\n');
394
+ parts.push('`*` = specific to THIS project (.cortex/agents in the current directory); ' +
395
+ 'others are personal (~/.cortex) or shipped builtins.\n');
396
+ parts.push('| Agent | Scope | Description | Model | Tools |');
397
+ parts.push('|-------|-------|-------------|-------|-------|');
398
+ for (const agent of this.agentsCache.values()) {
399
+ const tools = agent.tools?.join(', ') || 'all';
400
+ const model = agent.model || 'inherit';
401
+ const desc = agent.description.split('\n')[0].substring(0, 120);
402
+ const scope = agent.location === 'project'
403
+ ? 'project *'
404
+ : agent.location === 'personal'
405
+ ? 'personal'
406
+ : 'builtin';
407
+ parts.push(`| \`${agent.name}\` | ${scope} | ${desc} | ${model} | ${tools} |`);
408
+ }
409
+ }
410
+ else {
411
+ parts.push('No custom agents found in .cortex/agents/ or ~/.cortex/agents/');
412
+ }
413
+ parts.push('');
414
+ parts.push('To launch: `task({ description: "...", prompt: "...", subagent_type: "agent-name" })`');
415
+ return parts.join('\n');
416
+ }
417
+ /**
418
+ * Clear the agent cache (for testing or when agents are modified)
419
+ */
420
+ clearCache() {
421
+ this.agentsCache = null;
422
+ }
423
+ }
424
+ //# sourceMappingURL=TaskTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskTool.js","sourceRoot":"","sources":["../../../src/implementations/agent/TaskTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export { TaskToolExecutor } from './TaskTool.js';
2
+ export type { TaskParams } from './TaskTool.js';
3
+ export { PRAgentToolExecutor } from './PRAgentTool.js';
4
+ export type { PRAgentParams } from './PRAgentTool.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/implementations/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { TaskToolExecutor } from './TaskTool.js';
2
+ export { PRAgentToolExecutor } from './PRAgentTool.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/implementations/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Background Process Registry
3
+ *
4
+ * Simple in-memory registry to track background shell processes
5
+ * spawned by ShellTool. Used by BashOutput and KillShell tools.
6
+ */
7
+ import { ChildProcess } from 'child_process';
8
+ export interface BackgroundProcess {
9
+ shellId: string;
10
+ pid: number;
11
+ command: string;
12
+ startTime: Date;
13
+ process?: ChildProcess;
14
+ output: string[];
15
+ exitCode: number | null;
16
+ isRunning: boolean;
17
+ }
18
+ /**
19
+ * Singleton registry for background processes
20
+ */
21
+ export declare class BackgroundProcessRegistry {
22
+ private static instance;
23
+ private processes;
24
+ private emitter;
25
+ private constructor();
26
+ static getInstance(): BackgroundProcessRegistry;
27
+ /**
28
+ * Register a background process
29
+ */
30
+ registerProcess(shellId: string, pid: number, command: string, process?: ChildProcess): void;
31
+ /**
32
+ * Get a background process by shell ID
33
+ */
34
+ getProcess(shellId: string): BackgroundProcess | undefined;
35
+ /**
36
+ * Get all background processes
37
+ */
38
+ getAllProcesses(): BackgroundProcess[];
39
+ /**
40
+ * Get output for a process
41
+ */
42
+ getOutput(shellId: string, fromLine?: number): string[];
43
+ /**
44
+ * Kill a background process
45
+ */
46
+ killProcess(shellId: string): boolean;
47
+ /**
48
+ * Remove a process from the registry
49
+ */
50
+ removeProcess(shellId: string): boolean;
51
+ /**
52
+ * Clear all processes (for testing)
53
+ */
54
+ clear(): void;
55
+ /**
56
+ * Check if a process exists
57
+ */
58
+ hasProcess(shellId: string): boolean;
59
+ /**
60
+ * Get process count
61
+ */
62
+ getProcessCount(): number;
63
+ /**
64
+ * Subscribe to process events
65
+ */
66
+ on(event: 'output' | 'exit', callback: (...args: any[]) => void): void;
67
+ }
68
+ //# sourceMappingURL=BackgroundProcessRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackgroundProcessRegistry.d.ts","sourceRoot":"","sources":["../../../src/implementations/execution/BackgroundProcessRegistry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAS,YAAY,EAAE,MAAM,eAAe,CAAC;AAGpD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA4B;IACnD,OAAO,CAAC,SAAS,CAA6C;IAC9D,OAAO,CAAC,OAAO,CAAoC;IAEnD,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,yBAAyB;IAO/C;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAyC5F;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAI1D;;OAEG;IACH,eAAe,IAAI,iBAAiB,EAAE;IAItC;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,EAAE;IAQ1D;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IA+BrC;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIvC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIpC;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;CAGvE"}