@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,146 @@
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 { EventEmitter } from 'events';
8
+ /**
9
+ * Singleton registry for background processes
10
+ */
11
+ export class BackgroundProcessRegistry {
12
+ static instance;
13
+ processes = new Map();
14
+ emitter = new EventEmitter();
15
+ constructor() { }
16
+ static getInstance() {
17
+ if (!BackgroundProcessRegistry.instance) {
18
+ BackgroundProcessRegistry.instance = new BackgroundProcessRegistry();
19
+ }
20
+ return BackgroundProcessRegistry.instance;
21
+ }
22
+ /**
23
+ * Register a background process
24
+ */
25
+ registerProcess(shellId, pid, command, process) {
26
+ const bgProcess = {
27
+ shellId,
28
+ pid,
29
+ command,
30
+ startTime: new Date(),
31
+ process,
32
+ output: [],
33
+ exitCode: null,
34
+ isRunning: true,
35
+ };
36
+ this.processes.set(shellId, bgProcess);
37
+ // Monitor process output if available
38
+ if (process && process.stdout) {
39
+ process.stdout.on('data', (data) => {
40
+ const lines = data.toString().split('\n').filter((l) => l.trim());
41
+ bgProcess.output.push(...lines);
42
+ this.emitter.emit('output', shellId, lines);
43
+ });
44
+ }
45
+ if (process && process.stderr) {
46
+ process.stderr.on('data', (data) => {
47
+ const lines = data.toString().split('\n').filter((l) => l.trim());
48
+ bgProcess.output.push(...lines);
49
+ this.emitter.emit('output', shellId, lines);
50
+ });
51
+ }
52
+ // Monitor process exit
53
+ if (process) {
54
+ process.on('exit', (code) => {
55
+ bgProcess.exitCode = code;
56
+ bgProcess.isRunning = false;
57
+ this.emitter.emit('exit', shellId, code);
58
+ });
59
+ }
60
+ }
61
+ /**
62
+ * Get a background process by shell ID
63
+ */
64
+ getProcess(shellId) {
65
+ return this.processes.get(shellId);
66
+ }
67
+ /**
68
+ * Get all background processes
69
+ */
70
+ getAllProcesses() {
71
+ return Array.from(this.processes.values());
72
+ }
73
+ /**
74
+ * Get output for a process
75
+ */
76
+ getOutput(shellId, fromLine = 0) {
77
+ const process = this.processes.get(shellId);
78
+ if (!process) {
79
+ return [];
80
+ }
81
+ return process.output.slice(fromLine);
82
+ }
83
+ /**
84
+ * Kill a background process
85
+ */
86
+ killProcess(shellId) {
87
+ const process = this.processes.get(shellId);
88
+ if (!process) {
89
+ return false;
90
+ }
91
+ if (process.process && process.isRunning) {
92
+ try {
93
+ process.process.kill('SIGTERM');
94
+ process.isRunning = false;
95
+ return true;
96
+ }
97
+ catch (error) {
98
+ return false;
99
+ }
100
+ }
101
+ // If no process handle, try to kill by PID directly using Node.js process API
102
+ if (process.isRunning && process.pid) {
103
+ try {
104
+ // Use Node.js global process.kill()
105
+ global.process.kill(process.pid, 'SIGTERM');
106
+ process.isRunning = false;
107
+ return true;
108
+ }
109
+ catch (error) {
110
+ return false;
111
+ }
112
+ }
113
+ return false;
114
+ }
115
+ /**
116
+ * Remove a process from the registry
117
+ */
118
+ removeProcess(shellId) {
119
+ return this.processes.delete(shellId);
120
+ }
121
+ /**
122
+ * Clear all processes (for testing)
123
+ */
124
+ clear() {
125
+ this.processes.clear();
126
+ }
127
+ /**
128
+ * Check if a process exists
129
+ */
130
+ hasProcess(shellId) {
131
+ return this.processes.has(shellId);
132
+ }
133
+ /**
134
+ * Get process count
135
+ */
136
+ getProcessCount() {
137
+ return this.processes.size;
138
+ }
139
+ /**
140
+ * Subscribe to process events
141
+ */
142
+ on(event, callback) {
143
+ this.emitter.on(event, callback);
144
+ }
145
+ }
146
+ //# sourceMappingURL=BackgroundProcessRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackgroundProcessRegistry.js","sourceRoot":"","sources":["../../../src/implementations/execution/BackgroundProcessRegistry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * BashOutput Tool Executor
3
+ *
4
+ * Retrieves output from background shell processes started by ShellTool.
5
+ * Uses BackgroundProcessRegistry to track and read process output.
6
+ *
7
+ * Ported from Gemini CLI bash-output functionality
8
+ */
9
+ import { BaseTool, type ToolResult } from '../../base/index.js';
10
+ import type { ExecutorConfig } from '../../base/ToolRegistry.js';
11
+ /**
12
+ * Parameters for the BashOutput tool
13
+ */
14
+ export interface BashOutputToolParams {
15
+ /**
16
+ * The shell ID of the background process
17
+ */
18
+ bash_id: string;
19
+ /**
20
+ * Optional regex filter to show only matching lines
21
+ */
22
+ filter?: string;
23
+ }
24
+ /**
25
+ * BashOutput Tool Executor
26
+ *
27
+ * Features:
28
+ * - Retrieves output from background shell processes
29
+ * - Optional regex filtering of output lines
30
+ * - Returns new output since last check
31
+ * - Shows process status (running/exited)
32
+ */
33
+ export declare class BashOutputTool extends BaseTool<BashOutputToolParams, ToolResult> {
34
+ private config;
35
+ private registry;
36
+ private lastReadLine;
37
+ constructor(config: ExecutorConfig);
38
+ validateToolParams(params: BashOutputToolParams): string | null;
39
+ getDescription(params: BashOutputToolParams): string;
40
+ execute(params: BashOutputToolParams, signal: AbortSignal, updateOutput?: (output: string) => void): Promise<ToolResult>;
41
+ }
42
+ //# sourceMappingURL=BashOutputTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BashOutputTool.d.ts","sourceRoot":"","sources":["../../../src/implementations/execution/BashOutputTool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,QAAQ,CAAC,oBAAoB,EAAE,UAAU,CAAC;IAIhE,OAAO,CAAC,MAAM;IAH1B,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,YAAY,CAAkC;gBAElC,MAAM,EAAE,cAAc;IAyB1C,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,GAAG,IAAI;IAwB/D,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM;IAI9C,OAAO,CACX,MAAM,EAAE,oBAAoB,EAC5B,MAAM,EAAE,WAAW,EACnB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GACtC,OAAO,CAAC,UAAU,CAAC;CAiHvB"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * BashOutput Tool Executor
3
+ *
4
+ * Retrieves output from background shell processes started by ShellTool.
5
+ * Uses BackgroundProcessRegistry to track and read process output.
6
+ *
7
+ * Ported from Gemini CLI bash-output functionality
8
+ */
9
+ import { BaseTool } from '../../base/index.js';
10
+ import { SchemaValidator } from '../../utils/SchemaValidator.js';
11
+ import { BackgroundProcessRegistry } from './BackgroundProcessRegistry.js';
12
+ /**
13
+ * BashOutput Tool Executor
14
+ *
15
+ * Features:
16
+ * - Retrieves output from background shell processes
17
+ * - Optional regex filtering of output lines
18
+ * - Returns new output since last check
19
+ * - Shows process status (running/exited)
20
+ */
21
+ export class BashOutputTool extends BaseTool {
22
+ config;
23
+ registry;
24
+ lastReadLine = new Map();
25
+ constructor(config) {
26
+ super('BashOutput', 'BashOutput', `Retrieves output from a running or completed background bash shell. Returns stdout and stderr output along with shell status. Always returns only new output since the last check.`, {
27
+ type: 'object',
28
+ properties: {
29
+ bash_id: {
30
+ type: 'string',
31
+ description: 'The ID of the background shell to retrieve output from',
32
+ },
33
+ filter: {
34
+ type: 'string',
35
+ description: 'Optional regular expression to filter the output lines. Only lines matching this regex will be included in the result.',
36
+ },
37
+ },
38
+ required: ['bash_id'],
39
+ });
40
+ this.config = config;
41
+ this.registry = BackgroundProcessRegistry.getInstance();
42
+ }
43
+ validateToolParams(params) {
44
+ // Schema validation
45
+ const schemaError = SchemaValidator.validate(this.parameterSchema, params);
46
+ if (schemaError) {
47
+ return schemaError;
48
+ }
49
+ // Validate bash_id is not empty
50
+ if (!params.bash_id || !params.bash_id.trim()) {
51
+ return "The 'bash_id' parameter cannot be empty.";
52
+ }
53
+ // Validate filter regex if provided
54
+ if (params.filter) {
55
+ try {
56
+ new RegExp(params.filter);
57
+ }
58
+ catch (error) {
59
+ return `Invalid filter regex: ${error.message}`;
60
+ }
61
+ }
62
+ return null;
63
+ }
64
+ getDescription(params) {
65
+ return `Retrieving output from background shell: ${params.bash_id}`;
66
+ }
67
+ async execute(params, signal, updateOutput) {
68
+ const startTime = Date.now();
69
+ try {
70
+ // Validate parameters
71
+ const validationError = this.validateToolParams(params);
72
+ if (validationError) {
73
+ return {
74
+ ...this.createErrorResult(validationError),
75
+ metadata: {
76
+ executionTime: Date.now() - startTime,
77
+ },
78
+ };
79
+ }
80
+ // Check if process exists
81
+ const process = this.registry.getProcess(params.bash_id);
82
+ if (!process) {
83
+ return {
84
+ ...this.createErrorResult(`Background shell '${params.bash_id}' not found. It may have already exited and been removed from the registry.`),
85
+ metadata: {
86
+ executionTime: Date.now() - startTime,
87
+ bash_id: params.bash_id,
88
+ },
89
+ };
90
+ }
91
+ // Get last read line for this shell
92
+ const lastLine = this.lastReadLine.get(params.bash_id) || 0;
93
+ // Get new output since last check
94
+ let newOutput = this.registry.getOutput(params.bash_id, lastLine);
95
+ // Update last read line
96
+ this.lastReadLine.set(params.bash_id, process.output.length);
97
+ // Apply filter if provided
98
+ if (params.filter && newOutput.length > 0) {
99
+ try {
100
+ const regex = new RegExp(params.filter);
101
+ newOutput = newOutput.filter((line) => regex.test(line));
102
+ }
103
+ catch (error) {
104
+ // Should not happen due to validation, but handle gracefully
105
+ return {
106
+ ...this.createErrorResult(`Filter regex error: ${error.message}`),
107
+ metadata: {
108
+ executionTime: Date.now() - startTime,
109
+ bash_id: params.bash_id,
110
+ },
111
+ };
112
+ }
113
+ }
114
+ // Format output
115
+ const outputText = newOutput.length > 0 ? newOutput.join('\n') + '\n' : '(no new output)';
116
+ // Build status info
117
+ const statusLines = [];
118
+ statusLines.push(`Shell ID: ${params.bash_id}`);
119
+ statusLines.push(`PID: ${process.pid}`);
120
+ statusLines.push(`Status: ${process.isRunning ? 'Running' : 'Exited'}`);
121
+ if (process.exitCode !== null) {
122
+ statusLines.push(`Exit Code: ${process.exitCode}`);
123
+ }
124
+ statusLines.push(`Command: ${process.command}`);
125
+ statusLines.push(`Started: ${process.startTime.toISOString()}`);
126
+ statusLines.push(`New Lines: ${newOutput.length} (Total: ${process.output.length}, Last Read: ${lastLine})`);
127
+ if (params.filter) {
128
+ statusLines.push(`Filter: ${params.filter}`);
129
+ }
130
+ const fullOutput = `${statusLines.join('\n')}\n\n=== Output ===\n${outputText}`;
131
+ return {
132
+ ...this.createSuccessResult(fullOutput),
133
+ metadata: {
134
+ executionTime: Date.now() - startTime,
135
+ bash_id: params.bash_id,
136
+ pid: process.pid,
137
+ isRunning: process.isRunning,
138
+ exitCode: process.exitCode,
139
+ newLinesCount: newOutput.length,
140
+ totalLinesCount: process.output.length,
141
+ },
142
+ };
143
+ }
144
+ catch (error) {
145
+ // Check for abort
146
+ if (signal.aborted) {
147
+ return {
148
+ ...this.createErrorResult('Output retrieval was cancelled'),
149
+ metadata: {
150
+ executionTime: Date.now() - startTime,
151
+ bash_id: params.bash_id,
152
+ },
153
+ };
154
+ }
155
+ // Handle errors
156
+ const errorMessage = error.message || String(error);
157
+ return {
158
+ ...this.createErrorResult(`Error retrieving shell output: ${errorMessage}`),
159
+ metadata: {
160
+ executionTime: Date.now() - startTime,
161
+ bash_id: params.bash_id,
162
+ error: errorMessage,
163
+ },
164
+ };
165
+ }
166
+ }
167
+ }
168
+ //# sourceMappingURL=BashOutputTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BashOutputTool.js","sourceRoot":"","sources":["../../../src/implementations/execution/BashOutputTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Code Execute Tool
3
+ *
4
+ * Executes JavaScript code in a Node.js child process with injected
5
+ * tool-calling globals. Enables non-PTC models to chain multiple tool
6
+ * calls in a single turn — only console.log() output enters context.
7
+ *
8
+ * Similar to Anthropic PTC but runs locally in Node.js instead of
9
+ * Anthropic's Python sandbox.
10
+ */
11
+ import { BaseTool, type ToolResult } from '../../base/index.js';
12
+ export interface CodeExecuteParams {
13
+ /** JavaScript code to execute (top-level await supported via async wrapper) */
14
+ code: string;
15
+ /** Execution timeout in ms (default 5000, max 30000) */
16
+ timeout?: number;
17
+ }
18
+ /**
19
+ * Code execution tool for token-efficient tool chaining.
20
+ *
21
+ * The agent writes JavaScript that can call tools via injected globals.
22
+ * Only console.log() output is captured and returned as the tool result.
23
+ */
24
+ export declare class CodeExecuteTool extends BaseTool<CodeExecuteParams> {
25
+ constructor();
26
+ validateToolParams(params: CodeExecuteParams): string | null;
27
+ execute(params: CodeExecuteParams, signal: AbortSignal): Promise<ToolResult>;
28
+ private runNodeProcess;
29
+ shouldConfirmExecute(params: CodeExecuteParams): Promise<false | import('../../base/ToolResult.js').ToolCallConfirmationDetails>;
30
+ }
31
+ //# sourceMappingURL=CodeExecuteTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeExecuteTool.d.ts","sourceRoot":"","sources":["../../../src/implementations/execution/CodeExecuteTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAYhE,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,QAAQ,CAAC,iBAAiB,CAAC;;IAuB9D,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI;IAStD,OAAO,CACX,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,UAAU,CAAC;IA+BtB,OAAO,CAAC,cAAc;IAsDhB,oBAAoB,CACxB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,KAAK,GAAG,OAAO,0BAA0B,EAAE,2BAA2B,CAAC;CASnF"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Code Execute Tool
3
+ *
4
+ * Executes JavaScript code in a Node.js child process with injected
5
+ * tool-calling globals. Enables non-PTC models to chain multiple tool
6
+ * calls in a single turn — only console.log() output enters context.
7
+ *
8
+ * Similar to Anthropic PTC but runs locally in Node.js instead of
9
+ * Anthropic's Python sandbox.
10
+ */
11
+ import { spawn } from 'child_process';
12
+ import { BaseTool } from '../../base/index.js';
13
+ import { SchemaValidator } from '../../utils/SchemaValidator.js';
14
+ /** Maximum output length (30KB) */
15
+ const MAX_OUTPUT_LENGTH = 30_000;
16
+ /** Default execution timeout in ms */
17
+ const DEFAULT_TIMEOUT_MS = 5_000;
18
+ /** Maximum allowed timeout */
19
+ const MAX_TIMEOUT_MS = 30_000;
20
+ /**
21
+ * Code execution tool for token-efficient tool chaining.
22
+ *
23
+ * The agent writes JavaScript that can call tools via injected globals.
24
+ * Only console.log() output is captured and returned as the tool result.
25
+ */
26
+ export class CodeExecuteTool extends BaseTool {
27
+ constructor() {
28
+ super('CodeExecute', 'Code Execute', 'Execute JavaScript code for token-efficient tool chaining. Only console.log() output enters context.', {
29
+ type: 'object',
30
+ properties: {
31
+ code: {
32
+ type: 'string',
33
+ description: 'JavaScript code to execute. Top-level await supported. Use console.log() to output results.',
34
+ },
35
+ timeout: {
36
+ type: 'number',
37
+ description: 'Execution timeout in ms (default 5000, max 30000)',
38
+ },
39
+ },
40
+ required: ['code'],
41
+ });
42
+ }
43
+ validateToolParams(params) {
44
+ const error = SchemaValidator.validate(this.parameterSchema, params);
45
+ if (error)
46
+ return error;
47
+ if (!params.code || typeof params.code !== 'string') {
48
+ return '"code" parameter is required and must be a string';
49
+ }
50
+ return null;
51
+ }
52
+ async execute(params, signal) {
53
+ if (signal.aborted) {
54
+ return { llmContent: 'Aborted', success: false, error: 'Aborted' };
55
+ }
56
+ const timeout = Math.min(Math.max(params.timeout ?? DEFAULT_TIMEOUT_MS, 100), MAX_TIMEOUT_MS);
57
+ // Wrap user code in async IIFE for top-level await
58
+ const wrappedCode = `
59
+ (async () => {
60
+ try {
61
+ ${params.code}
62
+ } catch (e) {
63
+ console.error('Error:', e.message || e);
64
+ process.exit(1);
65
+ }
66
+ })();
67
+ `;
68
+ try {
69
+ const result = await this.runNodeProcess(wrappedCode, timeout, signal);
70
+ return { llmContent: result, success: true };
71
+ }
72
+ catch (err) {
73
+ const msg = err instanceof Error ? err.message : String(err);
74
+ return { llmContent: `Error: ${msg}`, success: false, error: msg };
75
+ }
76
+ }
77
+ runNodeProcess(code, timeout, signal) {
78
+ return new Promise((resolve, reject) => {
79
+ const proc = spawn('node', ['-e', code], {
80
+ timeout,
81
+ stdio: ['ignore', 'pipe', 'pipe'],
82
+ env: { ...process.env, NODE_NO_WARNINGS: '1' },
83
+ });
84
+ let stdout = '';
85
+ let stderr = '';
86
+ proc.stdout.on('data', (chunk) => {
87
+ stdout += chunk.toString();
88
+ if (stdout.length > MAX_OUTPUT_LENGTH) {
89
+ proc.kill();
90
+ }
91
+ });
92
+ proc.stderr.on('data', (chunk) => {
93
+ stderr += chunk.toString();
94
+ });
95
+ const onAbort = () => {
96
+ proc.kill();
97
+ reject(new Error('Aborted'));
98
+ };
99
+ signal.addEventListener('abort', onAbort, { once: true });
100
+ proc.on('close', (exitCode) => {
101
+ signal.removeEventListener('abort', onAbort);
102
+ let output = stdout;
103
+ if (output.length > MAX_OUTPUT_LENGTH) {
104
+ output = output.slice(0, MAX_OUTPUT_LENGTH) + '\n[output truncated]';
105
+ }
106
+ if (exitCode !== 0 && stderr) {
107
+ output += (output ? '\n' : '') + stderr;
108
+ }
109
+ resolve(output || '(no output)');
110
+ });
111
+ proc.on('error', (err) => {
112
+ signal.removeEventListener('abort', onAbort);
113
+ reject(err);
114
+ });
115
+ });
116
+ }
117
+ async shouldConfirmExecute(params) {
118
+ // Always require user approval (graylist)
119
+ return {
120
+ description: `Execute code: ${params.code.slice(0, 100)}${params.code.length > 100 ? '...' : ''}`,
121
+ requiresConfirmation: true,
122
+ severity: 'warning',
123
+ context: 'Code execution requires user approval',
124
+ };
125
+ }
126
+ }
127
+ //# sourceMappingURL=CodeExecuteTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeExecuteTool.js","sourceRoot":"","sources":["../../../src/implementations/execution/CodeExecuteTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * KillShell Tool Executor
3
+ *
4
+ * Terminates background shell processes started by ShellTool.
5
+ * Uses BackgroundProcessRegistry to track and kill processes.
6
+ *
7
+ * Ported from Gemini CLI kill-shell functionality
8
+ */
9
+ import { BaseTool, type ToolResult } from '../../base/index.js';
10
+ import type { ExecutorConfig } from '../../base/ToolRegistry.js';
11
+ /**
12
+ * Parameters for the KillShell tool
13
+ */
14
+ export interface KillShellToolParams {
15
+ /**
16
+ * The shell ID of the background process to kill
17
+ */
18
+ shell_id: string;
19
+ }
20
+ /**
21
+ * KillShell Tool Executor
22
+ *
23
+ * Features:
24
+ * - Terminates background shell processes by shell ID
25
+ * - Sends SIGTERM signal to process
26
+ * - Returns success/failure status
27
+ * - Removes terminated process from registry
28
+ */
29
+ export declare class KillShellTool extends BaseTool<KillShellToolParams, ToolResult> {
30
+ private config;
31
+ private registry;
32
+ constructor(config: ExecutorConfig);
33
+ validateToolParams(params: KillShellToolParams): string | null;
34
+ getDescription(params: KillShellToolParams): string;
35
+ execute(params: KillShellToolParams, signal: AbortSignal, updateOutput?: (output: string) => void): Promise<ToolResult>;
36
+ }
37
+ //# sourceMappingURL=KillShellTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KillShellTool.d.ts","sourceRoot":"","sources":["../../../src/implementations/execution/KillShellTool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,qBAAa,aAAc,SAAQ,QAAQ,CAAC,mBAAmB,EAAE,UAAU,CAAC;IAG9D,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,QAAQ,CAA4B;gBAExB,MAAM,EAAE,cAAc;IAoB1C,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI;IAe9D,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM;IAI7C,OAAO,CACX,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,WAAW,EACnB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GACtC,OAAO,CAAC,UAAU,CAAC;CAwGvB"}