agentstudio 0.1.26 → 0.1.28

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