agentstudio 0.1.26 → 0.1.27

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 (268) hide show
  1. package/index.d.ts.map +1 -1
  2. package/index.js +34 -18
  3. package/index.js.map +1 -1
  4. package/package.json +2 -1
  5. package/public/assets/{AgentsPage-DR5v4Vfe.js → AgentsPage-BwDRz1zX.js} +1 -1
  6. package/public/assets/{Button-6I_OiXLX.js → Button-C-HFjHJb.js} +1 -1
  7. package/public/assets/{ChatPage-DzORphjz.js → ChatPage-BuIHiIBn.js} +4 -4
  8. package/public/assets/{CommandForm-k3XXwCB4.js → CommandForm-B0QkthHc.js} +1 -1
  9. package/public/assets/{CommandsPage-C6dcKcFf.js → CommandsPage-Doh-INp0.js} +1 -1
  10. package/public/assets/{DashboardPage-4YSwoWTH.js → DashboardPage-CTCh7zwB.js} +1 -1
  11. package/public/assets/{FileBrowser-BvyXd63f.js → FileBrowser-kkHzUJm8.js} +4 -4
  12. package/public/assets/{FileExplorer-DhPt_quM.js → FileExplorer-Cz3ZTMfW.js} +1 -1
  13. package/public/assets/{GeneralSettingsPage-DkHRbImS.js → GeneralSettingsPage-BNfgaaEY.js} +1 -1
  14. package/public/assets/LandingPage-Cc_I-A2J.js +1 -0
  15. package/public/assets/{LoginPage-Bfy9WmmY.js → LoginPage-CyDZf_-O.js} +1 -1
  16. package/public/assets/{McpAdminSettingsPage-BFuQouo8.js → McpAdminSettingsPage-Ci_Bo-0l.js} +1 -1
  17. package/public/assets/{McpPage-DDiRtENp.js → McpPage-CwbTEKAZ.js} +1 -1
  18. package/public/assets/{MemorySettingsPage-D5Kec6pT.js → MemorySettingsPage-BdsnKHSr.js} +1 -1
  19. package/public/assets/{PluginsPage-DSo1pTD-.js → PluginsPage-BzsFtpNO.js} +1 -1
  20. package/public/assets/{ProjectSelector-Dqm5v8o9.js → ProjectSelector-BHMOcmQs.js} +1 -1
  21. package/public/assets/ProjectsPage-BNFV3dgE.js +21 -0
  22. package/public/assets/ScheduledTasksPage-CE23_T7c.js +1 -0
  23. package/public/assets/SettingsLayout-B09TeNIN.js +1 -0
  24. package/public/assets/{SkillsPage-B5YxNlWJ.js → SkillsPage-ByPNwnZu.js} +1 -1
  25. package/public/assets/{SubagentForm-B09hmrYM.js → SubagentForm-BUqALg02.js} +1 -1
  26. package/public/assets/{SubagentsPage-Bqk10bb7.js → SubagentsPage-BgQJB1XM.js} +1 -1
  27. package/public/assets/TelemetrySettingsPage-CZPxMJ_3.js +1 -0
  28. package/public/assets/{ToastTestPage-Dzfb1AsW.js → ToastTestPage-BGMEJAq7.js} +1 -1
  29. package/public/assets/{ToolsList-CmrJAKcE.js → ToolsList-DppiVZuS.js} +1 -1
  30. package/public/assets/{UnifiedToolSelector-CN690ltz.js → UnifiedToolSelector-2jmpdVpD.js} +1 -1
  31. package/public/assets/VersionSettingsPage-CDZLVLYe.js +5 -0
  32. package/public/assets/{_basePickBy-X3KkSOFK.js → _basePickBy-Dfz_Uc7q.js} +1 -1
  33. package/public/assets/{_baseUniq-cv9EC14t.js → _baseUniq-DHyHlUNl.js} +1 -1
  34. package/public/assets/{agents-DfHGzNHW.js → agents-Bg-ZnRXi.js} +1 -1
  35. package/public/assets/{arc-C7I_8kFm.js → arc-CuQJGwGt.js} +1 -1
  36. package/public/assets/{architectureDiagram-VXUJARFQ-CMo92Xcm.js → architectureDiagram-VXUJARFQ-BM1uY8Qn.js} +1 -1
  37. package/public/assets/{blockDiagram-VD42YOAC-CSewaHod.js → blockDiagram-VD42YOAC-BzF7kEoe.js} +1 -1
  38. package/public/assets/{c4Diagram-YG6GDRKO-D4-A7anv.js → c4Diagram-YG6GDRKO-CSuV0HTv.js} +1 -1
  39. package/public/assets/channel-Cb7i_VN3.js +1 -0
  40. package/public/assets/{chunk-4BX2VUAB-CKW-jgB1.js → chunk-4BX2VUAB-CqDAZWyP.js} +1 -1
  41. package/public/assets/{chunk-55IACEB6-Bh_iEZAg.js → chunk-55IACEB6-BldmMWxB.js} +1 -1
  42. package/public/assets/{chunk-B4BG7PRW-CGcWESsJ.js → chunk-B4BG7PRW-C8SgKEY_.js} +1 -1
  43. package/public/assets/{chunk-DI55MBZ5-BNQVU-r5.js → chunk-DI55MBZ5--Zs5E3-o.js} +1 -1
  44. package/public/assets/{chunk-FMBD7UC4-B51X6fKC.js → chunk-FMBD7UC4-BRyqCZv9.js} +1 -1
  45. package/public/assets/{chunk-QN33PNHL-DadRd0Qs.js → chunk-QN33PNHL-Brvebptw.js} +1 -1
  46. package/public/assets/{chunk-QZHKN3VN-0AwjBk6f.js → chunk-QZHKN3VN-B5O-1YOA.js} +1 -1
  47. package/public/assets/{chunk-TZMSLE5B-CIFE5KnY.js → chunk-TZMSLE5B-F2eHg9Ya.js} +1 -1
  48. package/public/assets/classDiagram-2ON5EDUG-BvZ-LHxu.js +1 -0
  49. package/public/assets/classDiagram-v2-WZHVMYZB-BvZ-LHxu.js +1 -0
  50. package/public/assets/clone-CmgchQkB.js +1 -0
  51. package/public/assets/{cose-bilkent-S5V4N54A-BPWEQsNm.js → cose-bilkent-S5V4N54A-_pX9_Q26.js} +1 -1
  52. package/public/assets/{dagre-6UL2VRFP-Cu-RCZe5.js → dagre-6UL2VRFP-BIqX1ck3.js} +1 -1
  53. package/public/assets/{diagram-PSM6KHXK-DBfl10yA.js → diagram-PSM6KHXK-2crx7PLY.js} +1 -1
  54. package/public/assets/{diagram-QEK2KX5R-CXLsPBvR.js → diagram-QEK2KX5R-CuE2MIVe.js} +1 -1
  55. package/public/assets/{diagram-S2PKOQOG-BjaXE_9W.js → diagram-S2PKOQOG-BlACAL3q.js} +1 -1
  56. package/public/assets/{erDiagram-Q2GNP2WA-BPkK30VB.js → erDiagram-Q2GNP2WA-D6x2VS6K.js} +1 -1
  57. package/public/assets/{flowDiagram-NV44I4VS-i4BoJF1x.js → flowDiagram-NV44I4VS-BGMdIgBb.js} +1 -1
  58. package/public/assets/{ganttDiagram-LVOFAZNH-C7Fa9LKl.js → ganttDiagram-LVOFAZNH-C8Ki7rB-.js} +1 -1
  59. package/public/assets/{gitGraphDiagram-NY62KEGX-x4fV46FC.js → gitGraphDiagram-NY62KEGX-Cf9COZer.js} +1 -1
  60. package/public/assets/{graph-Bj4qRtTX.js → graph-gbfvyU6k.js} +1 -1
  61. package/public/assets/index-Bd6elH5Q.js +297 -0
  62. package/public/assets/index-CUMeKuRR.css +1 -0
  63. package/public/assets/infoDiagram-F6ZHWCRC-beVxzdWY.js +2 -0
  64. package/public/assets/{journeyDiagram-XKPGCS4Q-BByZuK2D.js → journeyDiagram-XKPGCS4Q-13AwBi92.js} +1 -1
  65. package/public/assets/{kanban-definition-3W4ZIXB7-BW-KJqNN.js → kanban-definition-3W4ZIXB7-5FzvbBko.js} +1 -1
  66. package/public/assets/{layout-BIkzRvdA.js → layout-BFsOBXmJ.js} +1 -1
  67. package/public/assets/{linear-CY3SKQlQ.js → linear-DJ6kKBKF.js} +1 -1
  68. package/public/assets/{mindmap-definition-VGOIOE7T-CIjq8dul.js → mindmap-definition-VGOIOE7T-BV2LPumq.js} +1 -1
  69. package/public/assets/{pieDiagram-ADFJNKIX-CYrXbDgB.js → pieDiagram-ADFJNKIX-Br1EYcJN.js} +1 -1
  70. package/public/assets/{quadrantDiagram-AYHSOK5B-zshqcC4H.js → quadrantDiagram-AYHSOK5B-DsBiFB89.js} +1 -1
  71. package/public/assets/{requirementDiagram-UZGBJVZJ-Eykzktn0.js → requirementDiagram-UZGBJVZJ-Bnkck2cd.js} +1 -1
  72. package/public/assets/{sankeyDiagram-TZEHDZUN-CUUZTWXT.js → sankeyDiagram-TZEHDZUN-i8jhh9_s.js} +1 -1
  73. package/public/assets/{sequenceDiagram-WL72ISMW-u-TgVaJG.js → sequenceDiagram-WL72ISMW-LW53GtPE.js} +1 -1
  74. package/public/assets/{stateDiagram-FKZM4ZOC-L8719ElY.js → stateDiagram-FKZM4ZOC-JEmtYa0W.js} +1 -1
  75. package/public/assets/stateDiagram-v2-4FDKWEC3-1ATPvy3d.js +1 -0
  76. package/public/assets/{table-DUC-Ijtn.js → table-DUDRiHSa.js} +1 -1
  77. package/public/assets/{timeline-definition-IT6M3QCI-CJpXtgDn.js → timeline-definition-IT6M3QCI-B1rxRsKp.js} +1 -1
  78. package/public/assets/{tools-CljQNVZC.js → tools-B006i_56.js} +1 -1
  79. package/public/assets/{treemap-KMMF4GRG-BHfi2-Z-.js → treemap-KMMF4GRG-DyrkIeRJ.js} +1 -1
  80. package/public/assets/{ui-components-umMeMlgF.js → ui-components-4S6OHsf_.js} +130 -120
  81. package/public/assets/{useAgents-Cc9gZfER.js → useAgents-CyJQh_m1.js} +1 -1
  82. package/public/assets/{useClaudeVersions-oq1-p4ja.js → useClaudeVersions-DtPKE9SL.js} +1 -1
  83. package/public/assets/{useCommands-CgIOltx6.js → useCommands-CycZ25cc.js} +1 -1
  84. package/public/assets/{useProjects-B1Ip38ES.js → useProjects-hr00NZI4.js} +1 -1
  85. package/public/assets/{useSessions-Dl3mKnA7.js → useSessions-B7QvlxEr.js} +1 -1
  86. package/public/assets/{xychartDiagram-PRI3JC2R-DrK8IYgl.js → xychartDiagram-PRI3JC2R-3vcu3C71.js} +1 -1
  87. package/public/index.html +5 -5
  88. package/routes/a2a.d.ts.map +1 -1
  89. package/routes/a2a.js +84 -26
  90. package/routes/a2a.js.map +1 -1
  91. package/routes/agents.js +2 -2
  92. package/routes/agents.js.map +1 -1
  93. package/routes/projects.d.ts.map +1 -1
  94. package/routes/projects.js +35 -3
  95. package/routes/projects.js.map +1 -1
  96. package/routes/scheduledTasks.d.ts.map +1 -1
  97. package/routes/scheduledTasks.js +68 -2
  98. package/routes/scheduledTasks.js.map +1 -1
  99. package/routes/taskExecutor.d.ts +9 -0
  100. package/routes/taskExecutor.d.ts.map +1 -0
  101. package/routes/taskExecutor.js +224 -0
  102. package/routes/taskExecutor.js.map +1 -0
  103. package/schemas/a2a.d.ts +106 -18
  104. package/schemas/a2a.d.ts.map +1 -1
  105. package/schemas/a2a.js +17 -1
  106. package/schemas/a2a.js.map +1 -1
  107. package/services/__tests__/sessionConcurrency.test.d.ts +7 -0
  108. package/services/__tests__/sessionConcurrency.test.d.ts.map +1 -0
  109. package/services/__tests__/sessionConcurrency.test.js +110 -0
  110. package/services/__tests__/sessionConcurrency.test.js.map +1 -0
  111. package/services/__tests__/slackAIService.test.js +10 -8
  112. package/services/__tests__/slackAIService.test.js.map +1 -1
  113. package/services/a2a/__tests__/agentCardService.test.js +1 -1
  114. package/services/a2a/__tests__/agentCardService.test.js.map +1 -1
  115. package/services/a2a/__tests__/webhookService.test.d.ts +6 -0
  116. package/services/a2a/__tests__/webhookService.test.d.ts.map +1 -0
  117. package/services/a2a/__tests__/webhookService.test.js +196 -0
  118. package/services/a2a/__tests__/webhookService.test.js.map +1 -0
  119. package/services/a2a/a2aClientTool.d.ts +2 -2
  120. package/services/a2a/a2aClientTool.d.ts.map +1 -1
  121. package/services/a2a/a2aClientTool.js +5 -3
  122. package/services/a2a/a2aClientTool.js.map +1 -1
  123. package/services/a2a/a2aIntegration.d.ts +2 -1
  124. package/services/a2a/a2aIntegration.d.ts.map +1 -1
  125. package/services/a2a/a2aIntegration.js +3 -2
  126. package/services/a2a/a2aIntegration.js.map +1 -1
  127. package/services/a2a/a2aSdkMcp.d.ts +2 -1
  128. package/services/a2a/a2aSdkMcp.d.ts.map +1 -1
  129. package/services/a2a/a2aSdkMcp.js +4 -1
  130. package/services/a2a/a2aSdkMcp.js.map +1 -1
  131. package/services/a2a/taskManager.d.ts +2 -1
  132. package/services/a2a/taskManager.d.ts.map +1 -1
  133. package/services/a2a/taskManager.js +3 -1
  134. package/services/a2a/taskManager.js.map +1 -1
  135. package/services/a2a/webhookService.d.ts +30 -0
  136. package/services/a2a/webhookService.d.ts.map +1 -0
  137. package/services/a2a/webhookService.js +113 -0
  138. package/services/a2a/webhookService.js.map +1 -0
  139. package/services/claudeSession.d.ts +6 -0
  140. package/services/claudeSession.d.ts.map +1 -1
  141. package/services/claudeSession.js +23 -1
  142. package/services/claudeSession.js.map +1 -1
  143. package/services/mcpAdmin/__tests__/providerTools.test.d.ts +7 -0
  144. package/services/mcpAdmin/__tests__/providerTools.test.d.ts.map +1 -0
  145. package/services/mcpAdmin/__tests__/providerTools.test.js +258 -0
  146. package/services/mcpAdmin/__tests__/providerTools.test.js.map +1 -0
  147. package/services/mcpAdmin/__tests__/tools.test.js +21 -3
  148. package/services/mcpAdmin/__tests__/tools.test.js.map +1 -1
  149. package/services/mcpAdmin/tools/agentTools.d.ts.map +1 -1
  150. package/services/mcpAdmin/tools/agentTools.js +4 -11
  151. package/services/mcpAdmin/tools/agentTools.js.map +1 -1
  152. package/services/mcpAdmin/tools/index.d.ts +1 -0
  153. package/services/mcpAdmin/tools/index.d.ts.map +1 -1
  154. package/services/mcpAdmin/tools/index.js +5 -1
  155. package/services/mcpAdmin/tools/index.js.map +1 -1
  156. package/services/mcpAdmin/tools/projectTools.d.ts.map +1 -1
  157. package/services/mcpAdmin/tools/projectTools.js +30 -1
  158. package/services/mcpAdmin/tools/projectTools.js.map +1 -1
  159. package/services/mcpAdmin/tools/providerTools.d.ts +40 -0
  160. package/services/mcpAdmin/tools/providerTools.d.ts.map +1 -0
  161. package/services/mcpAdmin/tools/providerTools.js +581 -0
  162. package/services/mcpAdmin/tools/providerTools.js.map +1 -0
  163. package/services/projectMetadataStorage.d.ts +1 -1
  164. package/services/projectMetadataStorage.d.ts.map +1 -1
  165. package/services/projectMetadataStorage.js.map +1 -1
  166. package/services/scheduledTaskStorage.d.ts +11 -0
  167. package/services/scheduledTaskStorage.d.ts.map +1 -1
  168. package/services/scheduledTaskStorage.js +66 -0
  169. package/services/scheduledTaskStorage.js.map +1 -1
  170. package/services/schedulerService.d.ts +10 -0
  171. package/services/schedulerService.d.ts.map +1 -1
  172. package/services/schedulerService.js +71 -224
  173. package/services/schedulerService.js.map +1 -1
  174. package/services/sessionManager.d.ts +6 -0
  175. package/services/sessionManager.d.ts.map +1 -1
  176. package/services/sessionManager.js +12 -0
  177. package/services/sessionManager.js.map +1 -1
  178. package/services/slackAIService.d.ts.map +1 -1
  179. package/services/slackAIService.js +39 -14
  180. package/services/slackAIService.js.map +1 -1
  181. package/services/taskExecutor/BuiltinExecutor.d.ts +44 -0
  182. package/services/taskExecutor/BuiltinExecutor.d.ts.map +1 -0
  183. package/services/taskExecutor/BuiltinExecutor.js +515 -0
  184. package/services/taskExecutor/BuiltinExecutor.js.map +1 -0
  185. package/services/taskExecutor/__tests__/a2a-tasks.test.d.ts +7 -0
  186. package/services/taskExecutor/__tests__/a2a-tasks.test.d.ts.map +1 -0
  187. package/services/taskExecutor/__tests__/a2a-tasks.test.js +328 -0
  188. package/services/taskExecutor/__tests__/a2a-tasks.test.js.map +1 -0
  189. package/services/taskExecutor/__tests__/e2e-workflows.test.d.ts +7 -0
  190. package/services/taskExecutor/__tests__/e2e-workflows.test.d.ts.map +1 -0
  191. package/services/taskExecutor/__tests__/e2e-workflows.test.js +446 -0
  192. package/services/taskExecutor/__tests__/e2e-workflows.test.js.map +1 -0
  193. package/services/taskExecutor/__tests__/error-handling.test.d.ts +7 -0
  194. package/services/taskExecutor/__tests__/error-handling.test.d.ts.map +1 -0
  195. package/services/taskExecutor/__tests__/error-handling.test.js +387 -0
  196. package/services/taskExecutor/__tests__/error-handling.test.js.map +1 -0
  197. package/services/taskExecutor/__tests__/stress.test.d.ts +7 -0
  198. package/services/taskExecutor/__tests__/stress.test.d.ts.map +1 -0
  199. package/services/taskExecutor/__tests__/stress.test.js +329 -0
  200. package/services/taskExecutor/__tests__/stress.test.js.map +1 -0
  201. package/services/taskExecutor/__tests__/taskExecutor.integration.test.d.ts +7 -0
  202. package/services/taskExecutor/__tests__/taskExecutor.integration.test.d.ts.map +1 -0
  203. package/services/taskExecutor/__tests__/taskExecutor.integration.test.js +205 -0
  204. package/services/taskExecutor/__tests__/taskExecutor.integration.test.js.map +1 -0
  205. package/services/taskExecutor/__tests__/timeout-cancellation.test.d.ts +7 -0
  206. package/services/taskExecutor/__tests__/timeout-cancellation.test.d.ts.map +1 -0
  207. package/services/taskExecutor/__tests__/timeout-cancellation.test.js +319 -0
  208. package/services/taskExecutor/__tests__/timeout-cancellation.test.js.map +1 -0
  209. package/services/taskExecutor/index.d.ts +40 -0
  210. package/services/taskExecutor/index.d.ts.map +1 -0
  211. package/services/taskExecutor/index.js +166 -0
  212. package/services/taskExecutor/index.js.map +1 -0
  213. package/services/taskExecutor/taskWorker.d.ts +11 -0
  214. package/services/taskExecutor/taskWorker.d.ts.map +1 -0
  215. package/services/taskExecutor/taskWorker.js +170 -0
  216. package/services/taskExecutor/taskWorker.js.map +1 -0
  217. package/services/taskExecutor/types.d.ts +145 -0
  218. package/services/taskExecutor/types.d.ts.map +1 -0
  219. package/services/taskExecutor/types.js +9 -0
  220. package/services/taskExecutor/types.js.map +1 -0
  221. package/services/telemetry.d.ts +40 -0
  222. package/services/telemetry.d.ts.map +1 -0
  223. package/services/telemetry.js +245 -0
  224. package/services/telemetry.js.map +1 -0
  225. package/types/a2a.d.ts +18 -0
  226. package/types/a2a.d.ts.map +1 -1
  227. package/types/a2a.js.map +1 -1
  228. package/types/agents.d.ts +0 -1
  229. package/types/agents.d.ts.map +1 -1
  230. package/types/agents.js +0 -1
  231. package/types/agents.js.map +1 -1
  232. package/types/projects.d.ts +2 -0
  233. package/types/projects.d.ts.map +1 -1
  234. package/types/scheduledTasks.d.ts +4 -0
  235. package/types/scheduledTasks.d.ts.map +1 -1
  236. package/types/scheduledTasks.js.map +1 -1
  237. package/utils/__tests__/claudeUtils.test.js +3 -2
  238. package/utils/__tests__/claudeUtils.test.js.map +1 -1
  239. package/utils/__tests__/configResolver.test.d.ts +7 -0
  240. package/utils/__tests__/configResolver.test.d.ts.map +1 -0
  241. package/utils/__tests__/configResolver.test.js +211 -0
  242. package/utils/__tests__/configResolver.test.js.map +1 -0
  243. package/utils/__tests__/sessionUtils.test.js +2 -1
  244. package/utils/__tests__/sessionUtils.test.js.map +1 -1
  245. package/utils/claudeUtils.d.ts +2 -1
  246. package/utils/claudeUtils.d.ts.map +1 -1
  247. package/utils/claudeUtils.js +45 -78
  248. package/utils/claudeUtils.js.map +1 -1
  249. package/utils/configResolver.d.ts +57 -0
  250. package/utils/configResolver.d.ts.map +1 -0
  251. package/utils/configResolver.js +130 -0
  252. package/utils/configResolver.js.map +1 -0
  253. package/utils/sessionUtils.d.ts.map +1 -1
  254. package/utils/sessionUtils.js +5 -0
  255. package/utils/sessionUtils.js.map +1 -1
  256. package/public/assets/LandingPage-vFck5FSW.js +0 -1
  257. package/public/assets/ProjectsPage-C1VMe5nk.js +0 -21
  258. package/public/assets/ScheduledTasksPage-CkUoeT04.js +0 -1
  259. package/public/assets/SettingsLayout-Blt_jAZx.js +0 -1
  260. package/public/assets/VersionSettingsPage-D_keS5fb.js +0 -5
  261. package/public/assets/channel-CTPfV_fA.js +0 -1
  262. package/public/assets/classDiagram-2ON5EDUG-CJDL4zC-.js +0 -1
  263. package/public/assets/classDiagram-v2-WZHVMYZB-CJDL4zC-.js +0 -1
  264. package/public/assets/clone-BvAwOIZu.js +0 -1
  265. package/public/assets/index-CJMPRxKv.css +0 -1
  266. package/public/assets/index-Dz27wKzJ.js +0 -293
  267. package/public/assets/infoDiagram-F6ZHWCRC-BdQeovBp.js +0 -2
  268. package/public/assets/stateDiagram-v2-4FDKWEC3-DTGjtVxm.js +0 -1
@@ -0,0 +1,515 @@
1
+ "use strict";
2
+ /**
3
+ * Builtin Task Executor - Worker Pool Implementation
4
+ *
5
+ * Implements task execution using Node.js worker_threads for non-blocking execution.
6
+ * Each task runs in an isolated worker thread with resource limits.
7
+ *
8
+ * This is the default implementation (TASK_EXECUTOR_MODE=builtin)
9
+ */
10
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ var desc = Object.getOwnPropertyDescriptor(m, k);
13
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
+ desc = { enumerable: true, get: function() { return m[k]; } };
15
+ }
16
+ Object.defineProperty(o, k2, desc);
17
+ }) : (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ o[k2] = m[k];
20
+ }));
21
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
22
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
23
+ }) : function(o, v) {
24
+ o["default"] = v;
25
+ });
26
+ var __importStar = (this && this.__importStar) || (function () {
27
+ var ownKeys = function(o) {
28
+ ownKeys = Object.getOwnPropertyNames || function (o) {
29
+ var ar = [];
30
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
31
+ return ar;
32
+ };
33
+ return ownKeys(o);
34
+ };
35
+ return function (mod) {
36
+ if (mod && mod.__esModule) return mod;
37
+ var result = {};
38
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
39
+ __setModuleDefault(result, mod);
40
+ return result;
41
+ };
42
+ })();
43
+ var __importDefault = (this && this.__importDefault) || function (mod) {
44
+ return (mod && mod.__esModule) ? mod : { "default": mod };
45
+ };
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ exports.BuiltinTaskExecutor = void 0;
48
+ const worker_threads_1 = require("worker_threads");
49
+ const path_1 = __importDefault(require("path"));
50
+ const url_1 = require("url");
51
+ const fs_1 = require("fs");
52
+ // Get current directory using URL
53
+ // @ts-ignore - This will be transpiled correctly
54
+ const _filename = (0, url_1.fileURLToPath)(import.meta.url);
55
+ const _dirname = path_1.default.dirname(_filename);
56
+ // ============================================================================
57
+ // BuiltinTaskExecutor
58
+ // ============================================================================
59
+ class BuiltinTaskExecutor {
60
+ config;
61
+ workers = new Map();
62
+ taskQueue = [];
63
+ stats;
64
+ startTime;
65
+ isRunning = false;
66
+ processTimer;
67
+ workerHealthChecks = new Map();
68
+ constructor(config = {}) {
69
+ this.config = {
70
+ maxConcurrent: config.maxConcurrent ?? 5,
71
+ defaultTimeoutMs: config.defaultTimeoutMs ?? 300000, // 5 minutes
72
+ maxMemoryMb: config.maxMemoryMb ?? 512,
73
+ maxRetries: config.maxRetries ?? 0,
74
+ retryDelayMs: config.retryDelayMs ?? 5000,
75
+ };
76
+ this.startTime = Date.now();
77
+ this.stats = {
78
+ mode: 'builtin',
79
+ runningTasks: 0,
80
+ queuedTasks: 0,
81
+ completedTasks: 0,
82
+ failedTasks: 0,
83
+ canceledTasks: 0,
84
+ uptimeMs: 0,
85
+ };
86
+ }
87
+ async start() {
88
+ if (this.isRunning) {
89
+ console.warn('[TaskExecutor] Already started');
90
+ return;
91
+ }
92
+ console.info(`[TaskExecutor] Starting builtin executor with maxConcurrent=${this.config.maxConcurrent}`);
93
+ this.isRunning = true;
94
+ this.startTime = Date.now();
95
+ // Start queue processor
96
+ this.processTimer = setInterval(() => {
97
+ this.processQueue().catch((err) => {
98
+ console.error('[TaskExecutor] Error processing queue:', err);
99
+ });
100
+ }, 1000); // Check every second
101
+ console.info('[TaskExecutor] Builtin executor started');
102
+ }
103
+ async stop() {
104
+ if (!this.isRunning) {
105
+ return;
106
+ }
107
+ console.info('[TaskExecutor] Stopping builtin executor...');
108
+ // Stop queue processor
109
+ if (this.processTimer) {
110
+ clearInterval(this.processTimer);
111
+ this.processTimer = undefined;
112
+ }
113
+ // Terminate all workers
114
+ const terminationPromises = [];
115
+ for (const [taskId, workerInstance] of this.workers) {
116
+ terminationPromises.push(new Promise((resolve) => {
117
+ workerInstance.worker.terminate().then(() => {
118
+ console.debug(`[TaskExecutor] Terminated worker for task: ${taskId}`);
119
+ resolve();
120
+ });
121
+ }));
122
+ }
123
+ await Promise.all(terminationPromises);
124
+ this.workers.clear();
125
+ // Reject queued tasks
126
+ for (const queued of this.taskQueue) {
127
+ queued.reject(new Error('Executor shutting down'));
128
+ }
129
+ this.taskQueue = [];
130
+ this.isRunning = false;
131
+ console.info('[TaskExecutor] Builtin executor stopped');
132
+ }
133
+ async submitTask(task) {
134
+ if (!this.isRunning) {
135
+ throw new Error('Executor not started');
136
+ }
137
+ return new Promise((resolve, reject) => {
138
+ this.taskQueue.push({
139
+ task,
140
+ resolve,
141
+ reject,
142
+ });
143
+ this.updateStats();
144
+ this.processQueue().catch(reject);
145
+ });
146
+ }
147
+ async cancelTask(taskId) {
148
+ console.info(`[TaskExecutor] Attempting to cancel task: ${taskId}`);
149
+ // Check running workers
150
+ const workerInstance = this.workers.get(taskId);
151
+ if (workerInstance) {
152
+ console.info(`[TaskExecutor] Terminating worker for running task: ${taskId}`);
153
+ try {
154
+ // Clear health check timer
155
+ const healthCheckTimer = this.workerHealthChecks.get(taskId);
156
+ if (healthCheckTimer) {
157
+ clearTimeout(healthCheckTimer);
158
+ this.workerHealthChecks.delete(taskId);
159
+ }
160
+ // Terminate worker gracefully
161
+ await workerInstance.worker.terminate();
162
+ this.workers.delete(taskId);
163
+ this.stats.canceledTasks++;
164
+ this.updateStats();
165
+ console.info(`[TaskExecutor] Successfully canceled running task: ${taskId}`);
166
+ return true;
167
+ }
168
+ catch (error) {
169
+ console.error(`[TaskExecutor] Error canceling task ${taskId}:`, error);
170
+ return false;
171
+ }
172
+ }
173
+ // Check queued tasks
174
+ const queueIndex = this.taskQueue.findIndex((qt) => qt.task.id === taskId);
175
+ if (queueIndex !== -1) {
176
+ const queued = this.taskQueue.splice(queueIndex, 1)[0];
177
+ queued.reject(new Error('Task canceled'));
178
+ this.stats.canceledTasks++;
179
+ this.updateStats();
180
+ console.info(`[TaskExecutor] Successfully canceled queued task: ${taskId}`);
181
+ return true;
182
+ }
183
+ console.warn(`[TaskExecutor] Task not found for cancellation: ${taskId}`);
184
+ return false;
185
+ }
186
+ async getTaskStatus(taskId) {
187
+ // Check running workers
188
+ const workerInstance = this.workers.get(taskId);
189
+ if (workerInstance) {
190
+ return {
191
+ taskId,
192
+ status: 'running',
193
+ createdAt: workerInstance.task.createdAt,
194
+ startedAt: new Date(workerInstance.startTime).toISOString(),
195
+ };
196
+ }
197
+ // Check queued tasks
198
+ const queued = this.taskQueue.find((qt) => qt.task.id === taskId);
199
+ if (queued) {
200
+ return {
201
+ taskId,
202
+ status: 'pending',
203
+ createdAt: queued.task.createdAt,
204
+ };
205
+ }
206
+ // Task not found in executor (may have completed)
207
+ return null;
208
+ }
209
+ isHealthy() {
210
+ return this.isRunning;
211
+ }
212
+ getStats() {
213
+ this.updateStats();
214
+ return { ...this.stats };
215
+ }
216
+ getConfig() {
217
+ return { ...this.config };
218
+ }
219
+ updateConfig(newConfig) {
220
+ if (newConfig.maxConcurrent !== undefined) {
221
+ if (newConfig.maxConcurrent < 1 || newConfig.maxConcurrent > 10) {
222
+ throw new Error('maxConcurrent must be between 1 and 10');
223
+ }
224
+ this.config.maxConcurrent = newConfig.maxConcurrent;
225
+ console.info(`[TaskExecutor] Updated maxConcurrent to ${newConfig.maxConcurrent}`);
226
+ }
227
+ if (newConfig.defaultTimeoutMs !== undefined) {
228
+ if (newConfig.defaultTimeoutMs < 10000 || newConfig.defaultTimeoutMs > 3600000) {
229
+ throw new Error('defaultTimeoutMs must be between 10 seconds and 1 hour');
230
+ }
231
+ this.config.defaultTimeoutMs = newConfig.defaultTimeoutMs;
232
+ console.info(`[TaskExecutor] Updated defaultTimeoutMs to ${newConfig.defaultTimeoutMs}`);
233
+ }
234
+ if (newConfig.maxMemoryMb !== undefined) {
235
+ this.config.maxMemoryMb = newConfig.maxMemoryMb;
236
+ console.info(`[TaskExecutor] Updated maxMemoryMb to ${newConfig.maxMemoryMb}`);
237
+ }
238
+ // Trigger queue processing in case new concurrency allows more tasks
239
+ this.processQueue();
240
+ }
241
+ // ============================================================================
242
+ // Private Methods
243
+ // ============================================================================
244
+ async processQueue() {
245
+ if (!this.isRunning) {
246
+ return;
247
+ }
248
+ // Check if we can start more tasks
249
+ while (this.workers.size < this.config.maxConcurrent && this.taskQueue.length > 0) {
250
+ const queued = this.taskQueue.shift();
251
+ if (!queued)
252
+ break;
253
+ try {
254
+ await this.startTask(queued.task);
255
+ queued.resolve();
256
+ }
257
+ catch (error) {
258
+ queued.reject(error);
259
+ }
260
+ }
261
+ this.updateStats();
262
+ }
263
+ async startTask(task) {
264
+ console.info(`[TaskExecutor] Starting task: ${task.id} (type=${task.type})`);
265
+ // Worker Threads require compiled JavaScript files
266
+ // The worker file path resolution strategy:
267
+ // 1. Check current directory (works when running from dist/)
268
+ // 2. Check dist directory (works when running from src/ during tests)
269
+ //
270
+ // Note: We cannot use .ts files directly in Workers because:
271
+ // - Workers run in isolated threads without access to the parent's TypeScript loader
272
+ // - Even with tsx/ts-node, configuring loaders for Workers is unreliable
273
+ // - Best practice: Run `pnpm run build` before testing
274
+ let workerPath = path_1.default.join(_dirname, 'taskWorker.js');
275
+ if (!(0, fs_1.existsSync)(workerPath)) {
276
+ // If not found in current directory, try the dist directory
277
+ // This handles the case when tests run from src/ but need dist/ workers
278
+ const distPath = _dirname.replace('/src/', '/dist/');
279
+ workerPath = path_1.default.join(distPath, 'taskWorker.js');
280
+ if (!(0, fs_1.existsSync)(workerPath)) {
281
+ throw new Error(`Worker file not found at ${workerPath}. ` +
282
+ `Please run 'pnpm run build' to compile TypeScript files.`);
283
+ }
284
+ }
285
+ // Create worker with the compiled JavaScript file
286
+ const worker = new worker_threads_1.Worker(workerPath, {
287
+ workerData: task,
288
+ resourceLimits: {
289
+ maxOldGenerationSizeMb: this.config.maxMemoryMb,
290
+ },
291
+ });
292
+ const startTime = Date.now();
293
+ // Set up timeout
294
+ const timeoutMs = task.timeoutMs || this.config.defaultTimeoutMs;
295
+ const timeout = setTimeout(() => {
296
+ console.warn(`[TaskExecutor] Task ${task.id} timed out after ${timeoutMs}ms`);
297
+ worker.terminate();
298
+ }, timeoutMs);
299
+ // Store worker instance
300
+ this.workers.set(task.id, {
301
+ worker,
302
+ task,
303
+ startTime,
304
+ timeout,
305
+ });
306
+ // Set up health check timer
307
+ this.setupWorkerHealthCheck(task.id, worker);
308
+ // Handle messages from worker
309
+ worker.on('message', (message) => {
310
+ if (message.type === 'log') {
311
+ // Log message - could be stored or emitted
312
+ console.debug(`[TaskWorker:${task.id}]`, message.data);
313
+ }
314
+ else if (message.type === 'complete') {
315
+ const result = message.data;
316
+ this.handleTaskComplete(task.id, result);
317
+ }
318
+ else if (message.type === 'error') {
319
+ const error = message.data;
320
+ this.handleTaskComplete(task.id, {
321
+ taskId: task.id,
322
+ status: 'failed',
323
+ error: error.error || 'Unknown error',
324
+ completedAt: error.completedAt || new Date().toISOString(),
325
+ executionTimeMs: error.executionTimeMs || 0,
326
+ });
327
+ }
328
+ });
329
+ // Handle worker errors
330
+ worker.on('error', (error) => {
331
+ console.error(`[TaskExecutor] Worker error for task ${task.id}:`, error);
332
+ this.handleTaskComplete(task.id, {
333
+ taskId: task.id,
334
+ status: 'failed',
335
+ error: error.message,
336
+ completedAt: new Date().toISOString(),
337
+ executionTimeMs: Date.now() - startTime,
338
+ });
339
+ });
340
+ // Handle worker exit
341
+ worker.on('exit', (code) => {
342
+ if (code !== 0 && !this.workers.has(task.id)) {
343
+ // Worker already terminated by timeout handler
344
+ return;
345
+ }
346
+ if (code !== 0) {
347
+ console.error(`[TaskExecutor] Worker stopped with exit code ${code} for task ${task.id}`);
348
+ this.handleTaskComplete(task.id, {
349
+ taskId: task.id,
350
+ status: 'failed',
351
+ error: `Worker stopped with exit code ${code}`,
352
+ completedAt: new Date().toISOString(),
353
+ executionTimeMs: Date.now() - startTime,
354
+ });
355
+ }
356
+ });
357
+ }
358
+ handleTaskComplete(taskId, result) {
359
+ const workerInstance = this.workers.get(taskId);
360
+ if (!workerInstance) {
361
+ return; // Already handled
362
+ }
363
+ // Clear timeout
364
+ if (workerInstance.timeout) {
365
+ clearTimeout(workerInstance.timeout);
366
+ }
367
+ // Terminate worker
368
+ workerInstance.worker.terminate().catch((err) => {
369
+ console.warn(`[TaskExecutor] Error terminating worker for task ${taskId}:`, err);
370
+ });
371
+ // Remove from workers map
372
+ this.workers.delete(taskId);
373
+ // Update stats
374
+ if (result.status === 'completed') {
375
+ this.stats.completedTasks++;
376
+ }
377
+ else if (result.status === 'failed') {
378
+ this.stats.failedTasks++;
379
+ }
380
+ else if (result.status === 'canceled') {
381
+ this.stats.canceledTasks++;
382
+ }
383
+ this.updateStats();
384
+ console.info(`[TaskExecutor] Task ${taskId} completed: status=${result.status}, time=${result.executionTimeMs}ms`);
385
+ // Store result (for A2A tasks or scheduled tasks)
386
+ this.storeResult(workerInstance.task, result).catch((err) => {
387
+ console.error(`[TaskExecutor] Error storing result for task ${taskId}:`, err);
388
+ });
389
+ // Process next task in queue
390
+ setImmediate(() => {
391
+ this.processQueue().catch((err) => {
392
+ console.error('[TaskExecutor] Error processing queue after task completion:', err);
393
+ });
394
+ });
395
+ }
396
+ async storeResult(task, result) {
397
+ try {
398
+ if (task.type === 'a2a_async') {
399
+ // Store result for A2A task
400
+ const { taskManager } = await Promise.resolve().then(() => __importStar(require('../a2a/taskManager.js')));
401
+ // First, ensure task is in 'running' state (pending → running transition)
402
+ // This is needed because the task was created as 'pending' and we need
403
+ // a valid state transition: pending → running → completed/failed
404
+ try {
405
+ const currentTask = await taskManager.getTask(task.projectPath, task.id);
406
+ if (currentTask && currentTask.status === 'pending') {
407
+ await taskManager.updateTaskStatus(task.projectPath, task.id, 'running', { startedAt: task.createdAt });
408
+ }
409
+ }
410
+ catch (transitionError) {
411
+ console.warn(`[TaskExecutor] Could not transition A2A task ${task.id} to running:`, transitionError);
412
+ }
413
+ // Prepare output and error for storage and webhook
414
+ let taskOutput;
415
+ let taskError;
416
+ // Now update to final state
417
+ if (result.status === 'completed') {
418
+ taskOutput = { result: result.output || '' };
419
+ await taskManager.updateTaskStatus(task.projectPath, task.id, 'completed', {
420
+ output: taskOutput,
421
+ completedAt: result.completedAt,
422
+ });
423
+ }
424
+ else {
425
+ taskError = {
426
+ message: result.error || 'Unknown error',
427
+ code: 'EXECUTION_ERROR',
428
+ stack: result.errorStack,
429
+ };
430
+ await taskManager.updateTaskStatus(task.projectPath, task.id, 'failed', {
431
+ errorDetails: taskError,
432
+ completedAt: result.completedAt,
433
+ });
434
+ }
435
+ // Send webhook callback if configured (fire and forget, don't block)
436
+ if (task.pushNotificationConfig?.url) {
437
+ this.sendWebhookCallback(task, result.status, taskOutput, taskError).catch(err => {
438
+ console.error(`[TaskExecutor] Webhook callback failed for task ${task.id}:`, err);
439
+ });
440
+ }
441
+ }
442
+ else if (task.type === 'scheduled') {
443
+ // Store result for scheduled task
444
+ const { updateTaskExecution, updateTaskRunStatus, } = await Promise.resolve().then(() => __importStar(require('../scheduledTaskStorage.js')));
445
+ const { onScheduledTaskComplete } = await Promise.resolve().then(() => __importStar(require('../schedulerService.js')));
446
+ // Use scheduledTaskId (original task ID) for storage updates
447
+ // task.id is the executionId, task.scheduledTaskId is the original scheduled task ID
448
+ const scheduledTaskId = task.scheduledTaskId || task.id;
449
+ const executionId = task.id;
450
+ await updateTaskExecution(scheduledTaskId, executionId, {
451
+ status: result.status === 'completed' ? 'success' : 'error',
452
+ completedAt: result.completedAt,
453
+ responseSummary: result.output?.substring(0, 500),
454
+ sessionId: result.sessionId,
455
+ error: result.error,
456
+ errorStack: result.errorStack,
457
+ logs: result.logs,
458
+ });
459
+ await updateTaskRunStatus(scheduledTaskId, result.status === 'completed' ? 'success' : 'error', result.error);
460
+ // Notify scheduler that task execution is complete
461
+ // This updates runningTaskCount and runningExecutions tracking
462
+ // Pass executionId (task.id) because that's what's tracked in runningExecutions
463
+ onScheduledTaskComplete(executionId);
464
+ }
465
+ }
466
+ catch (error) {
467
+ console.error(`[TaskExecutor] Error storing result:`, error);
468
+ throw error;
469
+ }
470
+ }
471
+ updateStats() {
472
+ this.stats.runningTasks = this.workers.size;
473
+ this.stats.queuedTasks = this.taskQueue.length;
474
+ this.stats.uptimeMs = Date.now() - this.startTime;
475
+ }
476
+ /**
477
+ * Send webhook callback for completed A2A task
478
+ */
479
+ async sendWebhookCallback(task, status, output, errorDetails) {
480
+ if (!task.pushNotificationConfig?.url) {
481
+ return;
482
+ }
483
+ const { sendTaskCompletionWebhook } = await Promise.resolve().then(() => __importStar(require('../a2a/webhookService.js')));
484
+ console.info(`[TaskExecutor] Sending webhook callback for task ${task.id} to ${task.pushNotificationConfig.url}`);
485
+ const result = await sendTaskCompletionWebhook(task.pushNotificationConfig, task.id, status, output, errorDetails);
486
+ if (result.success) {
487
+ console.info(`[TaskExecutor] Webhook callback sent successfully for task ${task.id} (${result.attempts} attempts)`);
488
+ }
489
+ else {
490
+ console.error(`[TaskExecutor] Webhook callback failed for task ${task.id}: ${result.error} (${result.attempts} attempts)`);
491
+ }
492
+ }
493
+ /**
494
+ * Set up health check for a worker
495
+ * Monitors worker execution time and logs warnings for long-running tasks
496
+ */
497
+ setupWorkerHealthCheck(taskId, worker) {
498
+ // Check worker health every 30 seconds
499
+ const healthCheckInterval = 30000;
500
+ const healthCheckTimer = setTimeout(() => {
501
+ const workerInstance = this.workers.get(taskId);
502
+ if (!workerInstance) {
503
+ return; // Worker already completed
504
+ }
505
+ const elapsedMs = Date.now() - workerInstance.startTime;
506
+ const elapsedMin = Math.floor(elapsedMs / 60000);
507
+ console.warn(`[TaskExecutor] Health check: Task ${taskId} has been running for ${elapsedMin}m (${elapsedMs}ms)`);
508
+ // Schedule next health check
509
+ this.setupWorkerHealthCheck(taskId, worker);
510
+ }, healthCheckInterval);
511
+ this.workerHealthChecks.set(taskId, healthCheckTimer);
512
+ }
513
+ }
514
+ exports.BuiltinTaskExecutor = BuiltinTaskExecutor;
515
+ //# sourceMappingURL=BuiltinExecutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuiltinExecutor.js","sourceRoot":"","sources":["../../../src/services/taskExecutor/BuiltinExecutor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * A2A Async Task Integration Tests
3
+ *
4
+ * Tests A2A (Agent-to-Agent) async task execution through the unified executor.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=a2a-tasks.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2a-tasks.test.d.ts","sourceRoot":"","sources":["../../../../src/services/taskExecutor/__tests__/a2a-tasks.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}