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,170 @@
1
+ "use strict";
2
+ /**
3
+ * Task Worker - Executes tasks in isolated worker threads
4
+ *
5
+ * This worker runs in a separate thread and handles:
6
+ * 1. Building query options for Claude SDK
7
+ * 2. Executing the agent task
8
+ * 3. Collecting logs and results
9
+ * 4. Reporting results back to main thread
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const worker_threads_1 = require("worker_threads");
13
+ const claude_agent_sdk_1 = require("@anthropic-ai/claude-agent-sdk");
14
+ const claudeUtils_js_1 = require("../../utils/claudeUtils.js");
15
+ const agentStorage_js_1 = require("../../services/agentStorage.js");
16
+ // ============================================================================
17
+ // Worker Execution
18
+ // ============================================================================
19
+ /**
20
+ * Main execution function
21
+ */
22
+ async function executeTask(task) {
23
+ const startTime = Date.now();
24
+ const logs = [];
25
+ const addLog = (level, type, message, data) => {
26
+ const log = {
27
+ timestamp: new Date().toISOString(),
28
+ level,
29
+ type,
30
+ message,
31
+ data,
32
+ };
33
+ logs.push(log);
34
+ // Send log to parent process for real-time monitoring
35
+ worker_threads_1.parentPort?.postMessage({
36
+ type: 'log',
37
+ data: log,
38
+ });
39
+ };
40
+ try {
41
+ addLog('info', 'system', `Starting task execution: ${task.id}`);
42
+ addLog('info', 'system', `Task type: ${task.type}`);
43
+ addLog('info', 'system', `Agent: ${task.agentId}`);
44
+ addLog('info', 'system', `Project: ${task.projectPath}`);
45
+ addLog('info', 'system', `Message: ${task.message.substring(0, 100)}...`);
46
+ // Load agent configuration
47
+ const agentStorage = new agentStorage_js_1.AgentStorage();
48
+ const agent = agentStorage.getAgent(task.agentId);
49
+ if (!agent) {
50
+ throw new Error(`Agent not found: ${task.agentId}`);
51
+ }
52
+ addLog('info', 'system', `Agent loaded: ${agent.name}`);
53
+ // Determine model to use
54
+ // Model priority: task.modelId > project/provider config (default: sonnet)
55
+ const modelToUse = task.modelId || 'sonnet';
56
+ addLog('info', 'system', `Model: ${modelToUse}`);
57
+ // Determine permission mode
58
+ const permissionMode = task.permissionMode || 'bypassPermissions';
59
+ addLog('info', 'system', `Permission mode: ${permissionMode}`);
60
+ // Build query options
61
+ addLog('info', 'system', 'Building query options...');
62
+ const { queryOptions } = await (0, claudeUtils_js_1.buildQueryOptions)(agent, task.projectPath, undefined, // mcpTools
63
+ permissionMode, modelToUse, task.claudeVersionId, undefined, // defaultEnv
64
+ undefined, // userEnv
65
+ undefined, // sessionIdForAskUser
66
+ undefined // agentIdForAskUser
67
+ );
68
+ // Set max turns
69
+ queryOptions.maxTurns = task.maxTurns || agent.maxTurns || 10;
70
+ addLog('info', 'system', `Max turns: ${queryOptions.maxTurns}`);
71
+ // Execute query
72
+ addLog('info', 'system', 'Starting Claude query...');
73
+ let fullResponse = '';
74
+ let sessionId;
75
+ for await (const message of (0, claude_agent_sdk_1.query)({
76
+ prompt: task.message,
77
+ options: queryOptions,
78
+ })) {
79
+ // Capture session ID
80
+ if (message.session_id && !sessionId) {
81
+ sessionId = message.session_id;
82
+ addLog('info', 'system', `Session ID: ${sessionId}`);
83
+ }
84
+ // Process different message types
85
+ if (message.type === 'assistant' && message.message?.content) {
86
+ for (const block of message.message.content) {
87
+ if (block.type === 'text') {
88
+ fullResponse += block.text;
89
+ addLog('debug', 'assistant', block.text.substring(0, 200));
90
+ }
91
+ else if (block.type === 'tool_use') {
92
+ addLog('info', 'tool_use', `Tool: ${block.name}`);
93
+ }
94
+ }
95
+ }
96
+ else if (message.type === 'result') {
97
+ addLog('info', 'result', `Query completed`, {
98
+ costUsd: message.total_cost_usd,
99
+ durationMs: message.duration_ms,
100
+ numTurns: message.num_turns,
101
+ });
102
+ }
103
+ }
104
+ const executionTimeMs = Date.now() - startTime;
105
+ addLog('info', 'system', `Task completed in ${executionTimeMs}ms`);
106
+ return {
107
+ taskId: task.id,
108
+ status: 'completed',
109
+ output: fullResponse,
110
+ sessionId,
111
+ completedAt: new Date().toISOString(),
112
+ executionTimeMs,
113
+ logs,
114
+ };
115
+ }
116
+ catch (error) {
117
+ const errorMessage = error instanceof Error ? error.message : String(error);
118
+ const errorStack = error instanceof Error ? error.stack : undefined;
119
+ addLog('error', 'system', `Task failed: ${errorMessage}`, { stack: errorStack });
120
+ return {
121
+ taskId: task.id,
122
+ status: 'failed',
123
+ error: errorMessage,
124
+ errorStack,
125
+ completedAt: new Date().toISOString(),
126
+ executionTimeMs: Date.now() - startTime,
127
+ logs,
128
+ };
129
+ }
130
+ }
131
+ // ============================================================================
132
+ // Worker Entry Point
133
+ // ============================================================================
134
+ /**
135
+ * Worker entry point - receives task data and executes it
136
+ */
137
+ async function main() {
138
+ try {
139
+ const task = worker_threads_1.workerData;
140
+ if (!task || !task.id) {
141
+ throw new Error('Invalid task data received');
142
+ }
143
+ // Execute the task
144
+ const result = await executeTask(task);
145
+ // Send result back to parent
146
+ worker_threads_1.parentPort?.postMessage({
147
+ type: 'complete',
148
+ data: result,
149
+ });
150
+ }
151
+ catch (error) {
152
+ // Send error back to parent
153
+ worker_threads_1.parentPort?.postMessage({
154
+ type: 'error',
155
+ data: {
156
+ taskId: worker_threads_1.workerData?.id || 'unknown',
157
+ status: 'failed',
158
+ error: error instanceof Error ? error.message : String(error),
159
+ completedAt: new Date().toISOString(),
160
+ executionTimeMs: 0,
161
+ },
162
+ });
163
+ }
164
+ }
165
+ // Start execution
166
+ main().catch((err) => {
167
+ console.error('[TaskWorker] Fatal error:', err);
168
+ process.exit(1);
169
+ });
170
+ //# sourceMappingURL=taskWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taskWorker.js","sourceRoot":"","sources":["../../../src/services/taskExecutor/taskWorker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Unified Task Executor Types
3
+ *
4
+ * Defines the interfaces for a pluggable task execution system that supports
5
+ * both A2A async tasks and scheduled tasks.
6
+ */
7
+ /**
8
+ * Task type identifier
9
+ */
10
+ export type TaskType = 'a2a_async' | 'scheduled';
11
+ /**
12
+ * Permission mode for task execution
13
+ */
14
+ export type PermissionMode = 'bypassPermissions' | 'default';
15
+ /**
16
+ * Push Notification Configuration for task callbacks
17
+ */
18
+ export interface TaskPushNotificationConfig {
19
+ url: string;
20
+ token?: string;
21
+ authScheme?: string;
22
+ authCredentials?: string;
23
+ }
24
+ /**
25
+ * Task definition - submitted to executor
26
+ */
27
+ export interface TaskDefinition {
28
+ id: string;
29
+ type: TaskType;
30
+ priority?: number;
31
+ agentId: string;
32
+ projectPath: string;
33
+ message: string;
34
+ timeoutMs: number;
35
+ maxTurns?: number;
36
+ modelId?: string;
37
+ claudeVersionId?: string;
38
+ permissionMode?: PermissionMode;
39
+ createdAt: string;
40
+ scheduledFor?: string;
41
+ scheduledTaskId?: string;
42
+ pushNotificationConfig?: TaskPushNotificationConfig;
43
+ }
44
+ /**
45
+ * Task execution result
46
+ */
47
+ export interface TaskResult {
48
+ taskId: string;
49
+ status: 'completed' | 'failed' | 'canceled';
50
+ output?: string;
51
+ sessionId?: string;
52
+ error?: string;
53
+ errorStack?: string;
54
+ completedAt: string;
55
+ executionTimeMs: number;
56
+ logs?: Array<{
57
+ timestamp: string;
58
+ level: 'info' | 'warn' | 'error' | 'debug';
59
+ type: string;
60
+ message: string;
61
+ data?: Record<string, unknown>;
62
+ }>;
63
+ }
64
+ /**
65
+ * Task status query result
66
+ */
67
+ export interface TaskStatus {
68
+ taskId: string;
69
+ status: 'pending' | 'running' | 'completed' | 'failed' | 'canceled';
70
+ createdAt: string;
71
+ startedAt?: string;
72
+ completedAt?: string;
73
+ executionTimeMs?: number;
74
+ error?: string;
75
+ }
76
+ /**
77
+ * Task executor configuration
78
+ */
79
+ export interface TaskExecutorConfig {
80
+ maxConcurrent: number;
81
+ defaultTimeoutMs: number;
82
+ maxMemoryMb?: number;
83
+ maxRetries?: number;
84
+ retryDelayMs?: number;
85
+ }
86
+ /**
87
+ * Interface for task executor implementations
88
+ */
89
+ export interface ITaskExecutor {
90
+ /**
91
+ * Start the executor
92
+ */
93
+ start(): Promise<void>;
94
+ /**
95
+ * Stop the executor and cancel all running tasks
96
+ */
97
+ stop(): Promise<void>;
98
+ /**
99
+ * Submit a task for execution
100
+ * @param task - Task definition
101
+ */
102
+ submitTask(task: TaskDefinition): Promise<void>;
103
+ /**
104
+ * Cancel a running or pending task
105
+ * @param taskId - Task ID to cancel
106
+ * @returns true if task was canceled, false if not found or already completed
107
+ */
108
+ cancelTask(taskId: string): Promise<boolean>;
109
+ /**
110
+ * Get current status of a task
111
+ * @param taskId - Task ID to query
112
+ * @returns Task status or null if not found
113
+ */
114
+ getTaskStatus(taskId: string): Promise<TaskStatus | null>;
115
+ /**
116
+ * Check if executor is healthy
117
+ */
118
+ isHealthy(): boolean;
119
+ /**
120
+ * Get executor statistics
121
+ */
122
+ getStats(): TaskExecutorStats;
123
+ /**
124
+ * Get current executor configuration
125
+ */
126
+ getConfig(): TaskExecutorConfig;
127
+ /**
128
+ * Update executor configuration dynamically
129
+ * @param config - Partial configuration to update
130
+ */
131
+ updateConfig(config: Partial<TaskExecutorConfig>): void;
132
+ }
133
+ /**
134
+ * Executor statistics
135
+ */
136
+ export interface TaskExecutorStats {
137
+ mode: string;
138
+ runningTasks: number;
139
+ queuedTasks: number;
140
+ completedTasks: number;
141
+ failedTasks: number;
142
+ canceledTasks: number;
143
+ uptimeMs: number;
144
+ }
145
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/taskExecutor/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * Unified Task Executor Types
4
+ *
5
+ * Defines the interfaces for a pluggable task execution system that supports
6
+ * both A2A async tasks and scheduled tasks.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/taskExecutor/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Backend Telemetry Service
3
+ *
4
+ * Uses PostHog for anonymous usage data collection.
5
+ * - Default: disabled (opt-in model for backend)
6
+ * - Can be enabled via TELEMETRY_ENABLED=true
7
+ */
8
+ /**
9
+ * Check if telemetry is enabled
10
+ */
11
+ export declare function isTelemetryEnabled(): boolean;
12
+ /**
13
+ * Track an event
14
+ */
15
+ export declare function trackEvent(event: string, properties?: Record<string, string | number | boolean>): void;
16
+ /**
17
+ * Track feature usage
18
+ */
19
+ export declare function trackFeature(feature: string, action?: string): void;
20
+ /**
21
+ * Track an error
22
+ */
23
+ export declare function trackError(error: Error, component?: string): void;
24
+ /**
25
+ * Track agent usage
26
+ */
27
+ export declare function trackAgentUsage(agentId: string, action: 'chat_start' | 'chat_end' | 'tool_call', properties?: Record<string, string | number | boolean>): void;
28
+ /**
29
+ * Track MCP server usage
30
+ */
31
+ export declare function trackMcpUsage(serverName: string, action: 'connect' | 'disconnect' | 'tool_call' | 'error'): void;
32
+ /**
33
+ * Track scheduled task execution
34
+ */
35
+ export declare function trackScheduledTask(taskId: string, action: 'execute' | 'success' | 'failure'): void;
36
+ /**
37
+ * Shutdown telemetry (flush pending events)
38
+ */
39
+ export declare function shutdownTelemetry(): Promise<void>;
40
+ //# sourceMappingURL=telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/services/telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA2GH;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GACrD,IAAI,CAaN;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAKnE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAwBjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,YAAY,GAAG,UAAU,GAAG,WAAW,EAC/C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GACrD,IAAI,CAMN;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,GACvD,IAAI,CAKN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GACxC,IAAI,CAKN;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAMvD"}
@@ -0,0 +1,245 @@
1
+ "use strict";
2
+ /**
3
+ * Backend Telemetry Service
4
+ *
5
+ * Uses PostHog for anonymous usage data collection.
6
+ * - Default: disabled (opt-in model for backend)
7
+ * - Can be enabled via TELEMETRY_ENABLED=true
8
+ */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.isTelemetryEnabled = isTelemetryEnabled;
44
+ exports.trackEvent = trackEvent;
45
+ exports.trackFeature = trackFeature;
46
+ exports.trackError = trackError;
47
+ exports.trackAgentUsage = trackAgentUsage;
48
+ exports.trackMcpUsage = trackMcpUsage;
49
+ exports.trackScheduledTask = trackScheduledTask;
50
+ exports.shutdownTelemetry = shutdownTelemetry;
51
+ const posthog_node_1 = require("posthog-node");
52
+ const uuid_1 = require("uuid");
53
+ const fs = __importStar(require("fs"));
54
+ const path = __importStar(require("path"));
55
+ const os = __importStar(require("os"));
56
+ // PostHog configuration (hardcoded for distribution)
57
+ const POSTHOG_API_KEY = 'phc_5knpC9zvXXFaTJw4EMwrRBSYHIYW7b8ig6E14N8jYDp';
58
+ const POSTHOG_HOST = 'https://app.posthog.com';
59
+ // Backend telemetry can be disabled via environment variable (default: enabled for npm package users)
60
+ const TELEMETRY_ENABLED = process.env.TELEMETRY_ENABLED !== 'false';
61
+ // App version from package.json
62
+ let APP_VERSION = '0.2.0';
63
+ try {
64
+ const pkgPath = path.join(__dirname, '../../package.json');
65
+ if (fs.existsSync(pkgPath)) {
66
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
67
+ APP_VERSION = pkg.version || APP_VERSION;
68
+ }
69
+ }
70
+ catch {
71
+ // Ignore errors
72
+ }
73
+ // Instance ID storage
74
+ const INSTANCE_ID_FILE = path.join(os.homedir(), '.agentstudio', 'instance_id');
75
+ /**
76
+ * Get or create the instance ID for this backend installation
77
+ */
78
+ function getInstanceId() {
79
+ try {
80
+ // Create directory if not exists
81
+ const dir = path.dirname(INSTANCE_ID_FILE);
82
+ if (!fs.existsSync(dir)) {
83
+ fs.mkdirSync(dir, { recursive: true });
84
+ }
85
+ // Read existing ID or create new one
86
+ if (fs.existsSync(INSTANCE_ID_FILE)) {
87
+ return fs.readFileSync(INSTANCE_ID_FILE, 'utf-8').trim();
88
+ }
89
+ else {
90
+ const id = (0, uuid_1.v4)();
91
+ fs.writeFileSync(INSTANCE_ID_FILE, id);
92
+ return id;
93
+ }
94
+ }
95
+ catch {
96
+ // Fallback to random ID per process
97
+ return (0, uuid_1.v4)();
98
+ }
99
+ }
100
+ // PostHog client (lazy initialization)
101
+ let posthogClient = null;
102
+ let instanceId = null;
103
+ /**
104
+ * Initialize the PostHog client
105
+ */
106
+ function initPostHog() {
107
+ if (!TELEMETRY_ENABLED) {
108
+ console.log('[Telemetry] Backend telemetry is disabled. Set TELEMETRY_ENABLED=true to enable.');
109
+ return null;
110
+ }
111
+ try {
112
+ const client = new posthog_node_1.PostHog(POSTHOG_API_KEY, {
113
+ host: POSTHOG_HOST,
114
+ flushAt: 10,
115
+ flushInterval: 30000,
116
+ });
117
+ instanceId = getInstanceId();
118
+ console.log(`[Telemetry] Backend telemetry initialized (instance: ${instanceId.slice(0, 8)}...)`);
119
+ // Track backend start
120
+ client.capture({
121
+ distinctId: instanceId,
122
+ event: 'app_start',
123
+ properties: {
124
+ platform: 'backend',
125
+ app_version: APP_VERSION,
126
+ os: process.platform,
127
+ node_version: process.version,
128
+ },
129
+ });
130
+ return client;
131
+ }
132
+ catch (error) {
133
+ console.error('[Telemetry] Failed to initialize PostHog:', error);
134
+ return null;
135
+ }
136
+ }
137
+ /**
138
+ * Get the PostHog client (initializes if needed)
139
+ */
140
+ function getClient() {
141
+ if (posthogClient === null && TELEMETRY_ENABLED) {
142
+ posthogClient = initPostHog();
143
+ }
144
+ return posthogClient;
145
+ }
146
+ /**
147
+ * Check if telemetry is enabled
148
+ */
149
+ function isTelemetryEnabled() {
150
+ return TELEMETRY_ENABLED;
151
+ }
152
+ /**
153
+ * Track an event
154
+ */
155
+ function trackEvent(event, properties) {
156
+ const client = getClient();
157
+ if (!client || !instanceId)
158
+ return;
159
+ client.capture({
160
+ distinctId: instanceId,
161
+ event,
162
+ properties: {
163
+ platform: 'backend',
164
+ app_version: APP_VERSION,
165
+ ...properties,
166
+ },
167
+ });
168
+ }
169
+ /**
170
+ * Track feature usage
171
+ */
172
+ function trackFeature(feature, action) {
173
+ trackEvent('feature_used', {
174
+ feature,
175
+ action: action || 'use',
176
+ });
177
+ }
178
+ /**
179
+ * Track an error
180
+ */
181
+ function trackError(error, component) {
182
+ const client = getClient();
183
+ if (!client || !instanceId)
184
+ return;
185
+ // Sanitize error message
186
+ const sanitizeMessage = (msg) => {
187
+ return msg
188
+ .replace(/(?:\/[^\s:]+)+/g, '[PATH]')
189
+ .replace(/(?:[A-Za-z]:\\[^\s:]+)+/g, '[PATH]')
190
+ .replace(/[a-zA-Z0-9]{32,}/g, '[REDACTED]')
191
+ .substring(0, 256);
192
+ };
193
+ client.capture({
194
+ distinctId: instanceId,
195
+ event: 'app_error',
196
+ properties: {
197
+ platform: 'backend',
198
+ app_version: APP_VERSION,
199
+ message: sanitizeMessage(error.message),
200
+ errorType: error.name,
201
+ component: component || 'unknown',
202
+ },
203
+ });
204
+ }
205
+ /**
206
+ * Track agent usage
207
+ */
208
+ function trackAgentUsage(agentId, action, properties) {
209
+ trackEvent('agent_usage', {
210
+ agent_id: agentId,
211
+ action,
212
+ ...properties,
213
+ });
214
+ }
215
+ /**
216
+ * Track MCP server usage
217
+ */
218
+ function trackMcpUsage(serverName, action) {
219
+ trackEvent('mcp_usage', {
220
+ server_name: serverName,
221
+ action,
222
+ });
223
+ }
224
+ /**
225
+ * Track scheduled task execution
226
+ */
227
+ function trackScheduledTask(taskId, action) {
228
+ trackEvent('scheduled_task', {
229
+ task_id: taskId,
230
+ action,
231
+ });
232
+ }
233
+ /**
234
+ * Shutdown telemetry (flush pending events)
235
+ */
236
+ async function shutdownTelemetry() {
237
+ const client = getClient();
238
+ if (client) {
239
+ await client.shutdown();
240
+ console.log('[Telemetry] Backend telemetry shutdown');
241
+ }
242
+ }
243
+ // Initialize on import if enabled
244
+ getClient();
245
+ //# sourceMappingURL=telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/services/telemetry.ts"],"names":[],"mappings":"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"}
package/types/a2a.d.ts CHANGED
@@ -91,6 +91,22 @@ export interface TaskError {
91
91
  code: string;
92
92
  stack?: string;
93
93
  }
94
+ /**
95
+ * Push Notification Authentication Info (A2A Protocol)
96
+ */
97
+ export interface PushNotificationAuthenticationInfo {
98
+ schemes: string[];
99
+ credentials?: string;
100
+ }
101
+ /**
102
+ * Push Notification Configuration (A2A Protocol)
103
+ * Configures webhook callbacks for async task completion
104
+ */
105
+ export interface PushNotificationConfig {
106
+ url: string;
107
+ token?: string;
108
+ authentication?: PushNotificationAuthenticationInfo;
109
+ }
94
110
  /**
95
111
  * A2A Task - represents a long-running asynchronous task
96
112
  */
@@ -109,6 +125,7 @@ export interface A2ATask {
109
125
  errorDetails?: TaskError;
110
126
  timeoutMs: number;
111
127
  contextId?: string;
128
+ pushNotificationConfig?: PushNotificationConfig;
112
129
  }
113
130
  /**
114
131
  * Allowed external agent configuration
@@ -198,6 +215,7 @@ export interface A2ATaskRequest {
198
215
  message: string;
199
216
  timeout?: number;
200
217
  context?: Record<string, unknown>;
218
+ pushNotificationConfig?: PushNotificationConfig;
201
219
  }
202
220
  /**
203
221
  * POST /a2a/:a2aAgentId/tasks response