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,319 @@
1
+ "use strict";
2
+ /**
3
+ * Task Timeout and Cancellation Tests
4
+ *
5
+ * Comprehensive tests for task timeout handling and cancellation scenarios.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ const vitest_1 = require("vitest");
9
+ const BuiltinExecutor_js_1 = require("../BuiltinExecutor.js");
10
+ (0, vitest_1.describe)('Task Timeout and Cancellation', () => {
11
+ let executor;
12
+ (0, vitest_1.beforeEach)(async () => {
13
+ executor = new BuiltinExecutor_js_1.BuiltinTaskExecutor({
14
+ maxConcurrent: 2,
15
+ defaultTimeoutMs: 5000, // Short timeout for testing
16
+ maxMemoryMb: 256,
17
+ });
18
+ await executor.start();
19
+ });
20
+ (0, vitest_1.afterEach)(async () => {
21
+ await executor.stop();
22
+ });
23
+ (0, vitest_1.describe)('Task Timeout', () => {
24
+ (0, vitest_1.it)('should timeout task after specified duration', async () => {
25
+ const veryShortTimeout = 500; // 500ms
26
+ const task = {
27
+ id: 'timeout-test-1',
28
+ type: 'scheduled',
29
+ agentId: 'test-agent',
30
+ projectPath: '/tmp/test',
31
+ message: 'Simulate long running task',
32
+ timeoutMs: veryShortTimeout,
33
+ createdAt: new Date().toISOString(),
34
+ };
35
+ await executor.submitTask(task);
36
+ // Wait for timeout to occur
37
+ await new Promise(resolve => setTimeout(resolve, veryShortTimeout + 500));
38
+ const stats = executor.getStats();
39
+ // Task should have timed out and been marked as failed
40
+ (0, vitest_1.expect)(stats.failedTasks).toBeGreaterThan(0);
41
+ });
42
+ (0, vitest_1.it)('should use default timeout when not specified', async () => {
43
+ const taskWithoutTimeout = {
44
+ id: 'default-timeout-test',
45
+ type: 'scheduled',
46
+ agentId: 'test-agent',
47
+ projectPath: '/tmp/test',
48
+ message: 'Test default timeout',
49
+ timeoutMs: 0, // Use 0 to indicate default (executor will use defaultTimeoutMs)
50
+ createdAt: new Date().toISOString(),
51
+ };
52
+ await executor.submitTask(taskWithoutTimeout);
53
+ const status = await executor.getTaskStatus('default-timeout-test');
54
+ (0, vitest_1.expect)(status).not.toBeNull();
55
+ });
56
+ (0, vitest_1.it)('should handle tasks with different timeouts', async () => {
57
+ const shortTask = {
58
+ id: 'short-timeout',
59
+ type: 'scheduled',
60
+ agentId: 'test-agent',
61
+ projectPath: '/tmp/test',
62
+ message: 'Short timeout task',
63
+ timeoutMs: 1000,
64
+ createdAt: new Date().toISOString(),
65
+ };
66
+ const longTask = {
67
+ id: 'long-timeout',
68
+ type: 'scheduled',
69
+ agentId: 'test-agent',
70
+ projectPath: '/tmp/test',
71
+ message: 'Long timeout task',
72
+ timeoutMs: 30000,
73
+ createdAt: new Date().toISOString(),
74
+ };
75
+ await executor.submitTask(shortTask);
76
+ await executor.submitTask(longTask);
77
+ const stats = executor.getStats();
78
+ (0, vitest_1.expect)(stats.runningTasks + stats.queuedTasks).toBe(2);
79
+ });
80
+ (0, vitest_1.it)('should update task status to failed on timeout', async () => {
81
+ const timeoutMs = 800;
82
+ const task = {
83
+ id: 'timeout-status-test',
84
+ type: 'a2a_async',
85
+ agentId: 'test-agent',
86
+ projectPath: '/tmp/test',
87
+ message: 'Task that will timeout',
88
+ timeoutMs,
89
+ createdAt: new Date().toISOString(),
90
+ };
91
+ await executor.submitTask(task);
92
+ // Wait for timeout
93
+ await new Promise(resolve => setTimeout(resolve, timeoutMs + 500));
94
+ const stats = executor.getStats();
95
+ (0, vitest_1.expect)(stats.failedTasks).toBeGreaterThanOrEqual(1);
96
+ });
97
+ });
98
+ (0, vitest_1.describe)('Task Cancellation', () => {
99
+ (0, vitest_1.it)('should cancel a pending task in queue', async () => {
100
+ // Submit more tasks than maxConcurrent to ensure some are queued
101
+ const tasks = Array.from({ length: 5 }, (_, i) => ({
102
+ id: `cancel-queue-${i}`,
103
+ type: 'scheduled',
104
+ agentId: 'test-agent',
105
+ projectPath: '/tmp/test',
106
+ message: `Task ${i}`,
107
+ timeoutMs: 10000,
108
+ createdAt: new Date().toISOString(),
109
+ }));
110
+ for (const task of tasks) {
111
+ await executor.submitTask(task);
112
+ }
113
+ // Wait for queue to process
114
+ await new Promise(resolve => setTimeout(resolve, 100));
115
+ // Cancel a task that's likely in the queue
116
+ const canceled = await executor.cancelTask('cancel-queue-4');
117
+ (0, vitest_1.expect)(canceled).toBe(true);
118
+ const stats = executor.getStats();
119
+ (0, vitest_1.expect)(stats.canceledTasks).toBeGreaterThan(0);
120
+ });
121
+ (0, vitest_1.it)('should cancel a running task', async () => {
122
+ const task = {
123
+ id: 'cancel-running',
124
+ type: 'scheduled',
125
+ agentId: 'test-agent',
126
+ projectPath: '/tmp/test',
127
+ message: 'Long running task to cancel',
128
+ timeoutMs: 30000,
129
+ createdAt: new Date().toISOString(),
130
+ };
131
+ await executor.submitTask(task);
132
+ // Wait for task to start
133
+ await new Promise(resolve => setTimeout(resolve, 200));
134
+ // Cancel the running task
135
+ const canceled = await executor.cancelTask('cancel-running');
136
+ (0, vitest_1.expect)(canceled).toBe(true);
137
+ const stats = executor.getStats();
138
+ (0, vitest_1.expect)(stats.canceledTasks).toBe(1);
139
+ });
140
+ (0, vitest_1.it)('should return false when canceling non-existent task', async () => {
141
+ const canceled = await executor.cancelTask('non-existent-task-id');
142
+ (0, vitest_1.expect)(canceled).toBe(false);
143
+ });
144
+ (0, vitest_1.it)('should handle multiple cancellations', async () => {
145
+ const tasks = Array.from({ length: 6 }, (_, i) => ({
146
+ id: `multi-cancel-${i}`,
147
+ type: 'scheduled',
148
+ agentId: 'test-agent',
149
+ projectPath: '/tmp/test',
150
+ message: `Task ${i}`,
151
+ timeoutMs: 15000,
152
+ createdAt: new Date().toISOString(),
153
+ }));
154
+ for (const task of tasks) {
155
+ await executor.submitTask(task);
156
+ }
157
+ await new Promise(resolve => setTimeout(resolve, 100));
158
+ // Cancel multiple tasks
159
+ const cancelResults = await Promise.all([
160
+ executor.cancelTask('multi-cancel-1'),
161
+ executor.cancelTask('multi-cancel-3'),
162
+ executor.cancelTask('multi-cancel-5'),
163
+ ]);
164
+ (0, vitest_1.expect)(cancelResults.every(r => r === true)).toBe(true);
165
+ const stats = executor.getStats();
166
+ (0, vitest_1.expect)(stats.canceledTasks).toBeGreaterThanOrEqual(3);
167
+ });
168
+ (0, vitest_1.it)('should allow cancellation during executor shutdown', async () => {
169
+ const tasks = Array.from({ length: 3 }, (_, i) => ({
170
+ id: `shutdown-cancel-${i}`,
171
+ type: 'scheduled',
172
+ agentId: 'test-agent',
173
+ projectPath: '/tmp/test',
174
+ message: `Task ${i}`,
175
+ timeoutMs: 20000,
176
+ createdAt: new Date().toISOString(),
177
+ }));
178
+ for (const task of tasks) {
179
+ await executor.submitTask(task);
180
+ }
181
+ // Cancel one task before shutdown
182
+ await executor.cancelTask('shutdown-cancel-1');
183
+ // Shutdown should complete without hanging
184
+ await (0, vitest_1.expect)(executor.stop()).resolves.not.toThrow();
185
+ const stats = executor.getStats();
186
+ (0, vitest_1.expect)(stats.runningTasks).toBe(0);
187
+ (0, vitest_1.expect)(stats.queuedTasks).toBe(0);
188
+ });
189
+ });
190
+ (0, vitest_1.describe)('Cancellation Edge Cases', () => {
191
+ (0, vitest_1.it)('should handle cancellation of already completed task', async () => {
192
+ const quickTask = {
193
+ id: 'quick-complete',
194
+ type: 'scheduled',
195
+ agentId: 'test-agent',
196
+ projectPath: '/tmp/test',
197
+ message: 'Quick task',
198
+ timeoutMs: 100,
199
+ createdAt: new Date().toISOString(),
200
+ };
201
+ await executor.submitTask(quickTask);
202
+ // Wait for task to complete
203
+ await new Promise(resolve => setTimeout(resolve, 500));
204
+ // Try to cancel completed task
205
+ const canceled = await executor.cancelTask('quick-complete');
206
+ (0, vitest_1.expect)(canceled).toBe(false);
207
+ });
208
+ (0, vitest_1.it)('should handle cancellation immediately after submission', async () => {
209
+ const task = {
210
+ id: 'immediate-cancel',
211
+ type: 'scheduled',
212
+ agentId: 'test-agent',
213
+ projectPath: '/tmp/test',
214
+ message: 'Task to cancel immediately',
215
+ timeoutMs: 10000,
216
+ createdAt: new Date().toISOString(),
217
+ };
218
+ await executor.submitTask(task);
219
+ // Cancel immediately
220
+ const canceled = await executor.cancelTask('immediate-cancel');
221
+ (0, vitest_1.expect)(canceled).toBe(true);
222
+ });
223
+ (0, vitest_1.it)('should handle rapid submit-cancel cycles', async () => {
224
+ for (let i = 0; i < 10; i++) {
225
+ const task = {
226
+ id: `rapid-cycle-${i}`,
227
+ type: 'scheduled',
228
+ agentId: 'test-agent',
229
+ projectPath: '/tmp/test',
230
+ message: `Task ${i}`,
231
+ timeoutMs: 5000,
232
+ createdAt: new Date().toISOString(),
233
+ };
234
+ await executor.submitTask(task);
235
+ await executor.cancelTask(`rapid-cycle-${i}`);
236
+ }
237
+ const stats = executor.getStats();
238
+ (0, vitest_1.expect)(stats.canceledTasks).toBeGreaterThan(0);
239
+ (0, vitest_1.expect)(executor.isHealthy()).toBe(true);
240
+ });
241
+ });
242
+ (0, vitest_1.describe)('Timeout vs Cancellation', () => {
243
+ (0, vitest_1.it)('should prefer cancellation over timeout', async () => {
244
+ const task = {
245
+ id: 'cancel-vs-timeout',
246
+ type: 'scheduled',
247
+ agentId: 'test-agent',
248
+ projectPath: '/tmp/test',
249
+ message: 'Task that will be canceled',
250
+ timeoutMs: 2000,
251
+ createdAt: new Date().toISOString(),
252
+ };
253
+ await executor.submitTask(task);
254
+ // Cancel before timeout
255
+ await new Promise(resolve => setTimeout(resolve, 500));
256
+ await executor.cancelTask('cancel-vs-timeout');
257
+ // Wait past original timeout
258
+ await new Promise(resolve => setTimeout(resolve, 2000));
259
+ const stats = executor.getStats();
260
+ (0, vitest_1.expect)(stats.canceledTasks).toBe(1);
261
+ // Should not be counted as failed (timeout)
262
+ (0, vitest_1.expect)(stats.failedTasks).toBe(0);
263
+ });
264
+ });
265
+ (0, vitest_1.describe)('Health Check During Timeout/Cancellation', () => {
266
+ (0, vitest_1.it)('should maintain executor health after timeouts', async () => {
267
+ const tasks = Array.from({ length: 3 }, (_, i) => ({
268
+ id: `health-timeout-${i}`,
269
+ type: 'scheduled',
270
+ agentId: 'test-agent',
271
+ projectPath: '/tmp/test',
272
+ message: `Task ${i}`,
273
+ timeoutMs: 500, // Very short, will timeout
274
+ createdAt: new Date().toISOString(),
275
+ }));
276
+ for (const task of tasks) {
277
+ await executor.submitTask(task);
278
+ }
279
+ // Wait for all to timeout
280
+ await new Promise(resolve => setTimeout(resolve, 1500));
281
+ // Executor should still be healthy
282
+ (0, vitest_1.expect)(executor.isHealthy()).toBe(true);
283
+ // Should be able to accept new tasks
284
+ const newTask = {
285
+ id: 'after-timeouts',
286
+ type: 'scheduled',
287
+ agentId: 'test-agent',
288
+ projectPath: '/tmp/test',
289
+ message: 'New task after timeouts',
290
+ timeoutMs: 5000,
291
+ createdAt: new Date().toISOString(),
292
+ };
293
+ await (0, vitest_1.expect)(executor.submitTask(newTask)).resolves.not.toThrow();
294
+ });
295
+ (0, vitest_1.it)('should maintain executor health after cancellations', async () => {
296
+ const tasks = Array.from({ length: 5 }, (_, i) => ({
297
+ id: `health-cancel-${i}`,
298
+ type: 'scheduled',
299
+ agentId: 'test-agent',
300
+ projectPath: '/tmp/test',
301
+ message: `Task ${i}`,
302
+ timeoutMs: 10000,
303
+ createdAt: new Date().toISOString(),
304
+ }));
305
+ for (const task of tasks) {
306
+ await executor.submitTask(task);
307
+ }
308
+ // Cancel all tasks
309
+ for (const task of tasks) {
310
+ await executor.cancelTask(task.id);
311
+ }
312
+ // Executor should still be healthy
313
+ (0, vitest_1.expect)(executor.isHealthy()).toBe(true);
314
+ const stats = executor.getStats();
315
+ (0, vitest_1.expect)(stats.canceledTasks).toBe(5);
316
+ });
317
+ });
318
+ });
319
+ //# sourceMappingURL=timeout-cancellation.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout-cancellation.test.js","sourceRoot":"","sources":["../../../../src/services/taskExecutor/__tests__/timeout-cancellation.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Unified Task Executor - Factory and Initialization
3
+ *
4
+ * Provides a factory function to create the appropriate task executor
5
+ * implementation based on environment configuration.
6
+ */
7
+ import type { ITaskExecutor } from './types.js';
8
+ /**
9
+ * Initialize the task executor
10
+ *
11
+ * Creates and starts the appropriate executor implementation based on
12
+ * TASK_EXECUTOR_MODE environment variable:
13
+ *
14
+ * - 'builtin' (default): Uses worker threads pool
15
+ * - 'bullmq': Uses BullMQ with Redis (requires REDIS_URL)
16
+ *
17
+ * @returns Initialized task executor instance
18
+ * @throws Error if configuration is invalid
19
+ */
20
+ export declare function initializeTaskExecutor(): Promise<ITaskExecutor>;
21
+ /**
22
+ * Get the current task executor instance
23
+ *
24
+ * @returns Task executor instance
25
+ * @throws Error if executor not initialized
26
+ */
27
+ export declare function getTaskExecutor(): ITaskExecutor;
28
+ /**
29
+ * Check if task executor is initialized
30
+ */
31
+ export declare function isTaskExecutorInitialized(): boolean;
32
+ /**
33
+ * Shutdown the task executor
34
+ *
35
+ * Stops all running tasks and cleans up resources.
36
+ */
37
+ export declare function shutdownTaskExecutor(): Promise<void>;
38
+ export * from './types.js';
39
+ export { BuiltinTaskExecutor } from './BuiltinExecutor.js';
40
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/taskExecutor/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAsB,MAAM,YAAY,CAAC;AA4CpE;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,aAAa,CAAC,CAsDrE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,aAAa,CAK/C;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgB1D;AAMD,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ /**
3
+ * Unified Task Executor - Factory and Initialization
4
+ *
5
+ * Provides a factory function to create the appropriate task executor
6
+ * implementation based on environment configuration.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.BuiltinTaskExecutor = void 0;
24
+ exports.initializeTaskExecutor = initializeTaskExecutor;
25
+ exports.getTaskExecutor = getTaskExecutor;
26
+ exports.isTaskExecutorInitialized = isTaskExecutorInitialized;
27
+ exports.shutdownTaskExecutor = shutdownTaskExecutor;
28
+ const BuiltinExecutor_js_1 = require("./BuiltinExecutor.js");
29
+ // ============================================================================
30
+ // Global State
31
+ // ============================================================================
32
+ let executorInstance = null;
33
+ let isInitializing = false;
34
+ // ============================================================================
35
+ // Configuration
36
+ // ============================================================================
37
+ /**
38
+ * Load executor configuration from environment
39
+ */
40
+ function loadConfigFromEnv() {
41
+ const maxConcurrent = parseInt(process.env.MAX_CONCURRENT_TASKS || '5', 10);
42
+ const defaultTimeoutMs = parseInt(process.env.TASK_TIMEOUT_DEFAULT || '300000', 10);
43
+ const maxMemoryMb = parseInt(process.env.TASK_MAX_MEMORY_MB || '512', 10);
44
+ const maxRetries = parseInt(process.env.TASK_MAX_RETRIES || '0', 10);
45
+ const retryDelayMs = parseInt(process.env.TASK_RETRY_DELAY_MS || '5000', 10);
46
+ return {
47
+ maxConcurrent: isNaN(maxConcurrent) ? 5 : maxConcurrent,
48
+ defaultTimeoutMs: isNaN(defaultTimeoutMs) ? 300000 : defaultTimeoutMs,
49
+ maxMemoryMb: isNaN(maxMemoryMb) ? 512 : maxMemoryMb,
50
+ maxRetries: isNaN(maxRetries) ? 0 : maxRetries,
51
+ retryDelayMs: isNaN(retryDelayMs) ? 5000 : retryDelayMs,
52
+ };
53
+ }
54
+ /**
55
+ * Get executor mode from environment
56
+ */
57
+ function getExecutorMode() {
58
+ return process.env.TASK_EXECUTOR_MODE || 'builtin';
59
+ }
60
+ // ============================================================================
61
+ // Factory Function
62
+ // ============================================================================
63
+ /**
64
+ * Initialize the task executor
65
+ *
66
+ * Creates and starts the appropriate executor implementation based on
67
+ * TASK_EXECUTOR_MODE environment variable:
68
+ *
69
+ * - 'builtin' (default): Uses worker threads pool
70
+ * - 'bullmq': Uses BullMQ with Redis (requires REDIS_URL)
71
+ *
72
+ * @returns Initialized task executor instance
73
+ * @throws Error if configuration is invalid
74
+ */
75
+ async function initializeTaskExecutor() {
76
+ // Return existing instance if already initialized
77
+ if (executorInstance) {
78
+ console.warn('[TaskExecutor] Already initialized, returning existing instance');
79
+ return executorInstance;
80
+ }
81
+ // Prevent concurrent initialization
82
+ if (isInitializing) {
83
+ throw new Error('Task executor initialization already in progress');
84
+ }
85
+ isInitializing = true;
86
+ try {
87
+ const mode = getExecutorMode();
88
+ const config = loadConfigFromEnv();
89
+ console.info(`[TaskExecutor] Initializing with mode: ${mode}`);
90
+ console.info(`[TaskExecutor] Config: maxConcurrent=${config.maxConcurrent}, defaultTimeoutMs=${config.defaultTimeoutMs}`);
91
+ // Create executor based on mode
92
+ let executor;
93
+ switch (mode) {
94
+ case 'builtin':
95
+ executor = new BuiltinExecutor_js_1.BuiltinTaskExecutor(config);
96
+ break;
97
+ case 'bullmq':
98
+ // TODO: Implement BullMQTaskExecutor
99
+ if (!process.env.REDIS_URL) {
100
+ throw new Error('REDIS_URL is required for bullmq mode');
101
+ }
102
+ throw new Error('BullMQ mode not yet implemented. Please use builtin mode or set TASK_EXECUTOR_MODE=builtin');
103
+ default:
104
+ throw new Error(`Unknown task executor mode: ${mode}. Valid options: builtin, bullmq`);
105
+ }
106
+ // Start the executor
107
+ await executor.start();
108
+ executorInstance = executor;
109
+ console.info(`[TaskExecutor] Successfully initialized with mode: ${mode}`);
110
+ return executorInstance;
111
+ }
112
+ catch (error) {
113
+ console.error('[TaskExecutor] Initialization failed:', error);
114
+ isInitializing = false;
115
+ throw error;
116
+ }
117
+ finally {
118
+ isInitializing = false;
119
+ }
120
+ }
121
+ /**
122
+ * Get the current task executor instance
123
+ *
124
+ * @returns Task executor instance
125
+ * @throws Error if executor not initialized
126
+ */
127
+ function getTaskExecutor() {
128
+ if (!executorInstance) {
129
+ throw new Error('Task executor not initialized. Call initializeTaskExecutor() first.');
130
+ }
131
+ return executorInstance;
132
+ }
133
+ /**
134
+ * Check if task executor is initialized
135
+ */
136
+ function isTaskExecutorInitialized() {
137
+ return executorInstance !== null;
138
+ }
139
+ /**
140
+ * Shutdown the task executor
141
+ *
142
+ * Stops all running tasks and cleans up resources.
143
+ */
144
+ async function shutdownTaskExecutor() {
145
+ if (!executorInstance) {
146
+ console.warn('[TaskExecutor] No executor to shutdown');
147
+ return;
148
+ }
149
+ console.info('[TaskExecutor] Shutting down...');
150
+ try {
151
+ await executorInstance.stop();
152
+ executorInstance = null;
153
+ console.info('[TaskExecutor] Shutdown complete');
154
+ }
155
+ catch (error) {
156
+ console.error('[TaskExecutor] Error during shutdown:', error);
157
+ throw error;
158
+ }
159
+ }
160
+ // ============================================================================
161
+ // Re-exports
162
+ // ============================================================================
163
+ __exportStar(require("./types.js"), exports);
164
+ var BuiltinExecutor_js_2 = require("./BuiltinExecutor.js");
165
+ Object.defineProperty(exports, "BuiltinTaskExecutor", { enumerable: true, get: function () { return BuiltinExecutor_js_2.BuiltinTaskExecutor; } });
166
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/taskExecutor/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Task Worker - Executes tasks in isolated worker threads
3
+ *
4
+ * This worker runs in a separate thread and handles:
5
+ * 1. Building query options for Claude SDK
6
+ * 2. Executing the agent task
7
+ * 3. Collecting logs and results
8
+ * 4. Reporting results back to main thread
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=taskWorker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taskWorker.d.ts","sourceRoot":"","sources":["../../../src/services/taskExecutor/taskWorker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}