agentstudio 0.1.18 → 0.1.21

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 (664) hide show
  1. package/README.md +26 -505
  2. package/bin/agentstudio.js +305 -0
  3. package/bin/agentstudio.js.map +1 -0
  4. package/bin/serviceManager.d.ts +16 -0
  5. package/bin/serviceManager.d.ts.map +1 -0
  6. package/bin/serviceManager.js +434 -0
  7. package/bin/serviceManager.js.map +1 -0
  8. package/config/index.d.ts +74 -0
  9. package/config/index.d.ts.map +1 -0
  10. package/config/index.js +166 -0
  11. package/config/index.js.map +1 -0
  12. package/config/paths.d.ts +81 -0
  13. package/config/paths.d.ts.map +1 -0
  14. package/config/paths.js +98 -0
  15. package/config/paths.js.map +1 -0
  16. package/index.d.ts +4 -0
  17. package/index.d.ts.map +1 -0
  18. package/index.js +369 -0
  19. package/index.js.map +1 -0
  20. package/jobs/taskTimeoutMonitor.d.ts +25 -0
  21. package/jobs/taskTimeoutMonitor.d.ts.map +1 -0
  22. package/jobs/taskTimeoutMonitor.js +94 -0
  23. package/jobs/taskTimeoutMonitor.js.map +1 -0
  24. package/middleware/a2aAuth.d.ts +38 -0
  25. package/middleware/a2aAuth.d.ts.map +1 -0
  26. package/middleware/a2aAuth.js +134 -0
  27. package/middleware/a2aAuth.js.map +1 -0
  28. package/{backend/dist/middleware → middleware}/auth.d.ts +3 -1
  29. package/middleware/auth.d.ts.map +1 -0
  30. package/middleware/auth.js +35 -0
  31. package/middleware/auth.js.map +1 -0
  32. package/middleware/httpsOnly.d.ts +38 -0
  33. package/middleware/httpsOnly.d.ts.map +1 -0
  34. package/middleware/httpsOnly.js +105 -0
  35. package/middleware/httpsOnly.js.map +1 -0
  36. package/middleware/rateLimiting.d.ts +37 -0
  37. package/middleware/rateLimiting.d.ts.map +1 -0
  38. package/middleware/rateLimiting.js +118 -0
  39. package/middleware/rateLimiting.js.map +1 -0
  40. package/package.json +43 -38
  41. package/public/assets/AgentsPage-Nvg2xu6K.js +10 -0
  42. package/public/assets/Button-Co56C389.js +1 -0
  43. package/public/assets/ChatPage-D6sol0ad.js +442 -0
  44. package/public/assets/CommandForm-Bk7F_HU8.js +7 -0
  45. package/public/assets/CommandsPage-DZHyOdKd.js +1 -0
  46. package/public/assets/DashboardPage-29qC7Ev1.js +15 -0
  47. package/public/assets/FileBrowser-BYweUPH4.js +6 -0
  48. package/public/assets/FileExplorer-DNYj6Tsx.js +1 -0
  49. package/public/assets/GeneralSettingsPage-D9Xa7Nd8.js +1 -0
  50. package/public/assets/LandingPage-CjnT-cvO.js +1 -0
  51. package/public/assets/LoginPage-DcaGNCXH.js +16 -0
  52. package/public/assets/McpAdminSettingsPage-DgR3E2Bd.js +7 -0
  53. package/public/assets/McpPage-CtWf1CoL.js +40 -0
  54. package/public/assets/MemorySettingsPage-JTry4Ccp.js +1 -0
  55. package/public/assets/PluginsPage-D-BHjQ3P.js +1 -0
  56. package/public/assets/ProjectSelector-DSXOjMQC.js +1 -0
  57. package/public/assets/ProjectsPage-lLUk4-Xa.js +21 -0
  58. package/public/assets/ScheduledTasksPage-5hPbd9Vs.js +1 -0
  59. package/public/assets/SettingsLayout-DGJspXLp.js +1 -0
  60. package/public/assets/SkillsPage-DBw0m7D2.js +18 -0
  61. package/{backend/dist/frontend/assets/SubagentForm-DXtTTIKg.js → public/assets/SubagentForm-BdUK1U4y.js} +2 -2
  62. package/public/assets/SubagentsPage-Dnq70IFd.js +1 -0
  63. package/{backend/dist/frontend/assets/ToastTestPage-DT4wuN5C.js → public/assets/ToastTestPage-BfJQRFIm.js} +1 -1
  64. package/public/assets/ToolsList-Dl5F2fWk.js +1 -0
  65. package/public/assets/UnifiedToolSelector-CNbPsiuq.js +1 -0
  66. package/public/assets/VersionSettingsPage-BfoCcham.js +5 -0
  67. package/public/assets/_basePickBy-7C_e0Xv1.js +1 -0
  68. package/public/assets/_baseUniq-eGJNLBzx.js +1 -0
  69. package/public/assets/agents-ChrA1R0y.js +1 -0
  70. package/public/assets/arc-CuA752eE.js +1 -0
  71. package/public/assets/architectureDiagram-VXUJARFQ-BnPYh1OW.js +36 -0
  72. package/public/assets/blockDiagram-VD42YOAC-72nsMt_i.js +122 -0
  73. package/public/assets/c4Diagram-YG6GDRKO-BNJSAXcg.js +10 -0
  74. package/public/assets/channel-CIunGC5m.js +1 -0
  75. package/public/assets/chunk-4BX2VUAB-RPxkCWhH.js +1 -0
  76. package/public/assets/chunk-55IACEB6-3ePDt0kp.js +1 -0
  77. package/public/assets/chunk-B4BG7PRW-CBg_BBfl.js +165 -0
  78. package/public/assets/chunk-DI55MBZ5-DIh69TUJ.js +220 -0
  79. package/public/assets/chunk-FMBD7UC4-BbjwhyTe.js +15 -0
  80. package/public/assets/chunk-QN33PNHL-BpH-o_YR.js +1 -0
  81. package/public/assets/chunk-QZHKN3VN-DYB7rh5Q.js +1 -0
  82. package/public/assets/chunk-TZMSLE5B-DPCYEVb3.js +1 -0
  83. package/public/assets/classDiagram-2ON5EDUG-aUQHFsTA.js +1 -0
  84. package/public/assets/classDiagram-v2-WZHVMYZB-aUQHFsTA.js +1 -0
  85. package/public/assets/clone-Ckf7tA1V.js +1 -0
  86. package/public/assets/cose-bilkent-S5V4N54A-CnpfmL-Y.js +1 -0
  87. package/public/assets/cytoscape.esm-DtBltrT8.js +331 -0
  88. package/public/assets/dagre-6UL2VRFP-DR9x77Xf.js +4 -0
  89. package/{backend/dist/frontend/assets/data-structures-DLJedtzx.js → public/assets/data-structures-C0h9Oap1.js} +1 -1
  90. package/public/assets/defaultLocale-C4B-KCzX.js +1 -0
  91. package/public/assets/diagram-PSM6KHXK-SONPsQNx.js +24 -0
  92. package/public/assets/diagram-QEK2KX5R-BKYFSfC1.js +43 -0
  93. package/public/assets/diagram-S2PKOQOG-CkM0APZj.js +24 -0
  94. package/public/assets/erDiagram-Q2GNP2WA-BX1DpOGx.js +60 -0
  95. package/public/assets/flowDiagram-NV44I4VS-HAAlzNbq.js +162 -0
  96. package/public/assets/ganttDiagram-LVOFAZNH-BqzWexqa.js +267 -0
  97. package/public/assets/gitGraphDiagram-NY62KEGX-CIPmSp43.js +65 -0
  98. package/public/assets/graph-m515btDj.js +1 -0
  99. package/public/assets/index-Bn3v3S9-.js +293 -0
  100. package/public/assets/index-DWieeYj4.css +1 -0
  101. package/public/assets/infoDiagram-F6ZHWCRC-Pn4yNWrF.js +2 -0
  102. package/public/assets/init-Gi6I4Gst.js +1 -0
  103. package/public/assets/journeyDiagram-XKPGCS4Q-BfzTomS0.js +139 -0
  104. package/public/assets/kanban-definition-3W4ZIXB7-Cgju7b-L.js +89 -0
  105. package/public/assets/katex-qrhCpa0F.js +261 -0
  106. package/public/assets/layout-BKQfQSxJ.js +1 -0
  107. package/public/assets/linear-DigtLz3B.js +1 -0
  108. package/public/assets/mindmap-definition-VGOIOE7T-qopraVFy.js +68 -0
  109. package/public/assets/monaco-editor-DHKm5-VF.js +19 -0
  110. package/public/assets/ordinal-Cboi1Yqb.js +1 -0
  111. package/public/assets/pieDiagram-ADFJNKIX-BcoaAI-L.js +30 -0
  112. package/public/assets/quadrantDiagram-AYHSOK5B-D-DwcoSd.js +7 -0
  113. package/public/assets/requirementDiagram-UZGBJVZJ-DbQCpx77.js +64 -0
  114. package/public/assets/sankeyDiagram-TZEHDZUN-BVk8387S.js +10 -0
  115. package/public/assets/sequenceDiagram-WL72ISMW-BdzICjxO.js +145 -0
  116. package/public/assets/stateDiagram-FKZM4ZOC-CYY-uUvJ.js +1 -0
  117. package/public/assets/stateDiagram-v2-4FDKWEC3-Dh2Kvomq.js +1 -0
  118. package/{backend/dist/frontend/assets/syntax-highlighting-YWvMU4Hm.js → public/assets/syntax-highlighting-CnREyncB.js} +5 -5
  119. package/public/assets/tabManager-B2LQO_Ll.js +30 -0
  120. package/{backend/dist/frontend/assets/table-D6q1rytw.js → public/assets/table-D0L2RL5i.js} +1 -1
  121. package/public/assets/timeline-definition-IT6M3QCI-BAvjPYvX.js +61 -0
  122. package/public/assets/tools-IcPNZlPj.js +1 -0
  123. package/public/assets/treemap-KMMF4GRG-DtkpVA56.js +128 -0
  124. package/{backend/dist/frontend/assets/ui-components-Cw21Epuw.js → public/assets/ui-components-D1St49qC.js} +231 -96
  125. package/public/assets/useAgents-BnDTkOG8.js +2 -0
  126. package/public/assets/useClaudeVersions-CD59tFWM.js +1 -0
  127. package/public/assets/useCommands-mvMu3mMD.js +1 -0
  128. package/public/assets/useProjects-YXOjaOwL.js +1 -0
  129. package/public/assets/xychartDiagram-PRI3JC2R-ByBTDWE2.js +7 -0
  130. package/{backend/dist/frontend → public}/index.html +8 -8
  131. package/routes/__tests__/a2a.integration.test.d.ts +11 -0
  132. package/routes/__tests__/a2a.integration.test.d.ts.map +1 -0
  133. package/routes/__tests__/a2a.integration.test.js +314 -0
  134. package/routes/__tests__/a2a.integration.test.js.map +1 -0
  135. package/routes/__tests__/a2a.test.d.ts +6 -0
  136. package/routes/__tests__/a2a.test.d.ts.map +1 -0
  137. package/routes/__tests__/a2a.test.js +622 -0
  138. package/routes/__tests__/a2a.test.js.map +1 -0
  139. package/routes/__tests__/agents.test.d.ts +6 -0
  140. package/routes/__tests__/agents.test.d.ts.map +1 -0
  141. package/routes/__tests__/agents.test.js +315 -0
  142. package/routes/__tests__/agents.test.js.map +1 -0
  143. package/routes/__tests__/sessions.test.d.ts +7 -0
  144. package/routes/__tests__/sessions.test.d.ts.map +1 -0
  145. package/routes/__tests__/sessions.test.js +330 -0
  146. package/routes/__tests__/sessions.test.js.map +1 -0
  147. package/routes/a2a.d.ts +18 -0
  148. package/routes/a2a.d.ts.map +1 -0
  149. package/routes/a2a.js +649 -0
  150. package/routes/a2a.js.map +1 -0
  151. package/routes/a2a.streaming.test.d.ts +2 -0
  152. package/routes/a2a.streaming.test.d.ts.map +1 -0
  153. package/routes/a2a.streaming.test.js +167 -0
  154. package/routes/a2a.streaming.test.js.map +1 -0
  155. package/routes/a2aManagement.d.ts +21 -0
  156. package/routes/a2aManagement.d.ts.map +1 -0
  157. package/routes/a2aManagement.js +466 -0
  158. package/routes/a2aManagement.js.map +1 -0
  159. package/{backend/dist/routes → routes}/agents.d.ts.map +1 -1
  160. package/routes/agents.js +997 -0
  161. package/routes/agents.js.map +1 -0
  162. package/{backend/dist/routes → routes}/auth.d.ts.map +1 -1
  163. package/routes/auth.js +135 -0
  164. package/routes/auth.js.map +1 -0
  165. package/{backend/dist/routes → routes}/commands.d.ts.map +1 -1
  166. package/{backend/dist/routes → routes}/commands.js +115 -31
  167. package/routes/commands.js.map +1 -0
  168. package/routes/config.d.ts +4 -0
  169. package/routes/config.d.ts.map +1 -0
  170. package/routes/config.js +211 -0
  171. package/routes/config.js.map +1 -0
  172. package/{backend/dist/routes → routes}/files.d.ts.map +1 -1
  173. package/{backend/dist/routes → routes}/files.js +103 -43
  174. package/routes/files.js.map +1 -0
  175. package/routes/mcp.d.ts +27 -0
  176. package/routes/mcp.d.ts.map +1 -0
  177. package/{backend/dist/routes → routes}/mcp.js +195 -105
  178. package/routes/mcp.js.map +1 -0
  179. package/routes/mcpAdmin.d.ts +16 -0
  180. package/routes/mcpAdmin.d.ts.map +1 -0
  181. package/routes/mcpAdmin.js +308 -0
  182. package/routes/mcpAdmin.js.map +1 -0
  183. package/routes/mcpAdminManagement.d.ts +17 -0
  184. package/routes/mcpAdminManagement.d.ts.map +1 -0
  185. package/routes/mcpAdminManagement.js +345 -0
  186. package/routes/mcpAdminManagement.js.map +1 -0
  187. package/routes/media.d.ts.map +1 -0
  188. package/{backend/dist/routes → routes}/media.js +52 -42
  189. package/routes/media.js.map +1 -0
  190. package/routes/mediaAuth.d.ts +8 -0
  191. package/routes/mediaAuth.d.ts.map +1 -0
  192. package/routes/mediaAuth.js +136 -0
  193. package/routes/mediaAuth.js.map +1 -0
  194. package/routes/plugins.d.ts +4 -0
  195. package/routes/plugins.d.ts.map +1 -0
  196. package/routes/plugins.js +339 -0
  197. package/routes/plugins.js.map +1 -0
  198. package/{backend/dist/routes → routes}/projects.d.ts.map +1 -1
  199. package/routes/projects.js +884 -0
  200. package/routes/projects.js.map +1 -0
  201. package/routes/scheduledTasks.d.ts +9 -0
  202. package/routes/scheduledTasks.d.ts.map +1 -0
  203. package/routes/scheduledTasks.js +320 -0
  204. package/routes/scheduledTasks.js.map +1 -0
  205. package/{backend/dist/routes → routes}/sessions.d.ts.map +1 -1
  206. package/{backend/dist/routes → routes}/sessions.js +258 -39
  207. package/routes/sessions.js.map +1 -0
  208. package/{backend/dist/routes → routes}/settings.d.ts.map +1 -1
  209. package/{backend/dist/routes → routes}/settings.js +82 -241
  210. package/routes/settings.js.map +1 -0
  211. package/{backend/dist/routes/mcp.d.ts → routes/skills.d.ts} +1 -1
  212. package/routes/skills.d.ts.map +1 -0
  213. package/routes/skills.js +272 -0
  214. package/routes/skills.js.map +1 -0
  215. package/routes/slack.d.ts +10 -0
  216. package/routes/slack.d.ts.map +1 -0
  217. package/routes/slack.js +189 -0
  218. package/routes/slack.js.map +1 -0
  219. package/{backend/dist/routes → routes}/slides.d.ts.map +1 -1
  220. package/{backend/dist/routes → routes}/slides.js +29 -27
  221. package/routes/slides.js.map +1 -0
  222. package/{backend/dist/routes → routes}/subagents.js +27 -22
  223. package/routes/subagents.js.map +1 -0
  224. package/schemas/a2a.d.ts +858 -0
  225. package/schemas/a2a.d.ts.map +1 -0
  226. package/schemas/a2a.js +300 -0
  227. package/schemas/a2a.js.map +1 -0
  228. package/scripts/postinstall.js +10 -0
  229. package/services/__tests__/pluginInstaller.test.d.ts +5 -0
  230. package/services/__tests__/pluginInstaller.test.d.ts.map +1 -0
  231. package/services/__tests__/pluginInstaller.test.js +290 -0
  232. package/services/__tests__/pluginInstaller.test.js.map +1 -0
  233. package/services/__tests__/pluginParser.test.d.ts +5 -0
  234. package/services/__tests__/pluginParser.test.d.ts.map +1 -0
  235. package/services/__tests__/pluginParser.test.js +272 -0
  236. package/services/__tests__/pluginParser.test.js.map +1 -0
  237. package/services/__tests__/pluginPaths.test.d.ts +5 -0
  238. package/services/__tests__/pluginPaths.test.d.ts.map +1 -0
  239. package/services/__tests__/pluginPaths.test.js +221 -0
  240. package/services/__tests__/pluginPaths.test.js.map +1 -0
  241. package/services/__tests__/pluginScanner.test.d.ts +5 -0
  242. package/services/__tests__/pluginScanner.test.d.ts.map +1 -0
  243. package/services/__tests__/pluginScanner.test.js +272 -0
  244. package/services/__tests__/pluginScanner.test.js.map +1 -0
  245. package/services/__tests__/pluginSymlink.test.d.ts +5 -0
  246. package/services/__tests__/pluginSymlink.test.d.ts.map +1 -0
  247. package/services/__tests__/pluginSymlink.test.js +318 -0
  248. package/services/__tests__/pluginSymlink.test.js.map +1 -0
  249. package/services/__tests__/slackAIService.test.d.ts +5 -0
  250. package/services/__tests__/slackAIService.test.d.ts.map +1 -0
  251. package/services/__tests__/slackAIService.test.js +477 -0
  252. package/services/__tests__/slackAIService.test.js.map +1 -0
  253. package/services/__tests__/slackThreadMapper.test.d.ts +5 -0
  254. package/services/__tests__/slackThreadMapper.test.d.ts.map +1 -0
  255. package/services/__tests__/slackThreadMapper.test.js +194 -0
  256. package/services/__tests__/slackThreadMapper.test.js.map +1 -0
  257. package/services/a2a/__tests__/a2aClientTool.integration.test.d.ts +6 -0
  258. package/services/a2a/__tests__/a2aClientTool.integration.test.d.ts.map +1 -0
  259. package/services/a2a/__tests__/a2aClientTool.integration.test.js +264 -0
  260. package/services/a2a/__tests__/a2aClientTool.integration.test.js.map +1 -0
  261. package/services/a2a/__tests__/a2aClientTool.test.d.ts +6 -0
  262. package/services/a2a/__tests__/a2aClientTool.test.d.ts.map +1 -0
  263. package/services/a2a/__tests__/a2aClientTool.test.js +418 -0
  264. package/services/a2a/__tests__/a2aClientTool.test.js.map +1 -0
  265. package/services/a2a/__tests__/a2aConfigService.test.d.ts +6 -0
  266. package/services/a2a/__tests__/a2aConfigService.test.d.ts.map +1 -0
  267. package/services/a2a/__tests__/a2aConfigService.test.js +431 -0
  268. package/services/a2a/__tests__/a2aConfigService.test.js.map +1 -0
  269. package/services/a2a/__tests__/a2aConfigServicePath.test.d.ts +2 -0
  270. package/services/a2a/__tests__/a2aConfigServicePath.test.d.ts.map +1 -0
  271. package/services/a2a/__tests__/a2aConfigServicePath.test.js +49 -0
  272. package/services/a2a/__tests__/a2aConfigServicePath.test.js.map +1 -0
  273. package/services/a2a/__tests__/a2aSdkMcp.test.d.ts +10 -0
  274. package/services/a2a/__tests__/a2aSdkMcp.test.d.ts.map +1 -0
  275. package/services/a2a/__tests__/a2aSdkMcp.test.js +239 -0
  276. package/services/a2a/__tests__/a2aSdkMcp.test.js.map +1 -0
  277. package/services/a2a/__tests__/agentCardService.test.d.ts +6 -0
  278. package/services/a2a/__tests__/agentCardService.test.d.ts.map +1 -0
  279. package/services/a2a/__tests__/agentCardService.test.js +292 -0
  280. package/services/a2a/__tests__/agentCardService.test.js.map +1 -0
  281. package/services/a2a/__tests__/apiKeyService.test.d.ts +6 -0
  282. package/services/a2a/__tests__/apiKeyService.test.d.ts.map +1 -0
  283. package/services/a2a/__tests__/apiKeyService.test.js +284 -0
  284. package/services/a2a/__tests__/apiKeyService.test.js.map +1 -0
  285. package/services/a2a/__tests__/buildQueryOptionsIntegration.test.d.ts +2 -0
  286. package/services/a2a/__tests__/buildQueryOptionsIntegration.test.d.ts.map +1 -0
  287. package/services/a2a/__tests__/buildQueryOptionsIntegration.test.js +70 -0
  288. package/services/a2a/__tests__/buildQueryOptionsIntegration.test.js.map +1 -0
  289. package/services/a2a/__tests__/dynamic_config_verification.test.d.ts +2 -0
  290. package/services/a2a/__tests__/dynamic_config_verification.test.d.ts.map +1 -0
  291. package/services/a2a/__tests__/dynamic_config_verification.test.js +67 -0
  292. package/services/a2a/__tests__/dynamic_config_verification.test.js.map +1 -0
  293. package/services/a2a/__tests__/integrateA2AMcpServer.test.d.ts +2 -0
  294. package/services/a2a/__tests__/integrateA2AMcpServer.test.d.ts.map +1 -0
  295. package/services/a2a/__tests__/integrateA2AMcpServer.test.js +112 -0
  296. package/services/a2a/__tests__/integrateA2AMcpServer.test.js.map +1 -0
  297. package/services/a2a/__tests__/taskManager.integration.test.d.ts +7 -0
  298. package/services/a2a/__tests__/taskManager.integration.test.d.ts.map +1 -0
  299. package/services/a2a/__tests__/taskManager.integration.test.js +346 -0
  300. package/services/a2a/__tests__/taskManager.integration.test.js.map +1 -0
  301. package/services/a2a/__tests__/taskManager.test.d.ts +7 -0
  302. package/services/a2a/__tests__/taskManager.test.d.ts.map +1 -0
  303. package/services/a2a/__tests__/taskManager.test.js +423 -0
  304. package/services/a2a/__tests__/taskManager.test.js.map +1 -0
  305. package/services/a2a/a2aClientTool.d.ts +73 -0
  306. package/services/a2a/a2aClientTool.d.ts.map +1 -0
  307. package/services/a2a/a2aClientTool.js +572 -0
  308. package/services/a2a/a2aClientTool.js.map +1 -0
  309. package/services/a2a/a2aConfigService.d.ts +50 -0
  310. package/services/a2a/a2aConfigService.d.ts.map +1 -0
  311. package/services/a2a/a2aConfigService.js +186 -0
  312. package/services/a2a/a2aConfigService.js.map +1 -0
  313. package/services/a2a/a2aHistoryService.d.ts +32 -0
  314. package/services/a2a/a2aHistoryService.d.ts.map +1 -0
  315. package/services/a2a/a2aHistoryService.js +108 -0
  316. package/services/a2a/a2aHistoryService.js.map +1 -0
  317. package/services/a2a/a2aIntegration.d.ts +9 -0
  318. package/services/a2a/a2aIntegration.d.ts.map +1 -0
  319. package/services/a2a/a2aIntegration.js +41 -0
  320. package/services/a2a/a2aIntegration.js.map +1 -0
  321. package/services/a2a/a2aQueryService.d.ts +71 -0
  322. package/services/a2a/a2aQueryService.d.ts.map +1 -0
  323. package/services/a2a/a2aQueryService.js +166 -0
  324. package/services/a2a/a2aQueryService.js.map +1 -0
  325. package/services/a2a/a2aSdkMcp.d.ts +51 -0
  326. package/services/a2a/a2aSdkMcp.d.ts.map +1 -0
  327. package/services/a2a/a2aSdkMcp.js +185 -0
  328. package/services/a2a/a2aSdkMcp.js.map +1 -0
  329. package/services/a2a/a2aStreamEvents.d.ts +94 -0
  330. package/services/a2a/a2aStreamEvents.d.ts.map +1 -0
  331. package/services/a2a/a2aStreamEvents.js +92 -0
  332. package/services/a2a/a2aStreamEvents.js.map +1 -0
  333. package/services/a2a/agentCardService.d.ts +34 -0
  334. package/services/a2a/agentCardService.d.ts.map +1 -0
  335. package/services/a2a/agentCardService.js +228 -0
  336. package/services/a2a/agentCardService.js.map +1 -0
  337. package/services/a2a/agentMappingService.d.ts +53 -0
  338. package/services/a2a/agentMappingService.d.ts.map +1 -0
  339. package/services/a2a/agentMappingService.js +185 -0
  340. package/services/a2a/agentMappingService.js.map +1 -0
  341. package/services/a2a/apiKeyService.d.ts +101 -0
  342. package/services/a2a/apiKeyService.d.ts.map +1 -0
  343. package/services/a2a/apiKeyService.js +314 -0
  344. package/services/a2a/apiKeyService.js.map +1 -0
  345. package/services/a2a/taskCleanup.d.ts +30 -0
  346. package/services/a2a/taskCleanup.d.ts.map +1 -0
  347. package/services/a2a/taskCleanup.js +184 -0
  348. package/services/a2a/taskCleanup.js.map +1 -0
  349. package/services/a2a/taskManager.d.ts +86 -0
  350. package/services/a2a/taskManager.d.ts.map +1 -0
  351. package/services/a2a/taskManager.js +263 -0
  352. package/services/a2a/taskManager.js.map +1 -0
  353. package/services/agentStorage.d.ts +27 -0
  354. package/services/agentStorage.d.ts.map +1 -0
  355. package/services/agentStorage.js +487 -0
  356. package/services/agentStorage.js.map +1 -0
  357. package/services/askUserQuestion/askUserQuestionIntegration.d.ts +24 -0
  358. package/services/askUserQuestion/askUserQuestionIntegration.d.ts.map +1 -0
  359. package/services/askUserQuestion/askUserQuestionIntegration.js +52 -0
  360. package/services/askUserQuestion/askUserQuestionIntegration.js.map +1 -0
  361. package/services/askUserQuestion/askUserQuestionMcp.d.ts +103 -0
  362. package/services/askUserQuestion/askUserQuestionMcp.d.ts.map +1 -0
  363. package/services/askUserQuestion/askUserQuestionMcp.js +129 -0
  364. package/services/askUserQuestion/askUserQuestionMcp.js.map +1 -0
  365. package/services/askUserQuestion/index.d.ts +13 -0
  366. package/services/askUserQuestion/index.d.ts.map +1 -0
  367. package/services/askUserQuestion/index.js +35 -0
  368. package/services/askUserQuestion/index.js.map +1 -0
  369. package/services/askUserQuestion/init.d.ts +17 -0
  370. package/services/askUserQuestion/init.d.ts.map +1 -0
  371. package/services/askUserQuestion/init.js +47 -0
  372. package/services/askUserQuestion/init.js.map +1 -0
  373. package/services/askUserQuestion/notificationChannel.d.ts +97 -0
  374. package/services/askUserQuestion/notificationChannel.d.ts.map +1 -0
  375. package/services/askUserQuestion/notificationChannel.js +147 -0
  376. package/services/askUserQuestion/notificationChannel.js.map +1 -0
  377. package/services/askUserQuestion/slackNotificationChannel.d.ts +35 -0
  378. package/services/askUserQuestion/slackNotificationChannel.d.ts.map +1 -0
  379. package/services/askUserQuestion/slackNotificationChannel.js +129 -0
  380. package/services/askUserQuestion/slackNotificationChannel.js.map +1 -0
  381. package/services/askUserQuestion/sseNotificationChannel.d.ts +36 -0
  382. package/services/askUserQuestion/sseNotificationChannel.d.ts.map +1 -0
  383. package/services/askUserQuestion/sseNotificationChannel.js +88 -0
  384. package/services/askUserQuestion/sseNotificationChannel.js.map +1 -0
  385. package/services/askUserQuestion/userInputRegistry.d.ts +107 -0
  386. package/services/askUserQuestion/userInputRegistry.d.ts.map +1 -0
  387. package/services/askUserQuestion/userInputRegistry.js +253 -0
  388. package/services/askUserQuestion/userInputRegistry.js.map +1 -0
  389. package/{backend/dist/services → services}/claudeSession.d.ts +20 -5
  390. package/services/claudeSession.d.ts.map +1 -0
  391. package/{backend/dist/services → services}/claudeSession.js +123 -41
  392. package/services/claudeSession.js.map +1 -0
  393. package/services/claudeVersionStorage.d.ts +20 -0
  394. package/services/claudeVersionStorage.d.ts.map +1 -0
  395. package/services/claudeVersionStorage.js +331 -0
  396. package/services/claudeVersionStorage.js.map +1 -0
  397. package/services/mcpAdmin/__tests__/adminApiKeyService.test.d.ts +5 -0
  398. package/services/mcpAdmin/__tests__/adminApiKeyService.test.d.ts.map +1 -0
  399. package/services/mcpAdmin/__tests__/adminApiKeyService.test.js +289 -0
  400. package/services/mcpAdmin/__tests__/adminApiKeyService.test.js.map +1 -0
  401. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.d.ts +5 -0
  402. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.d.ts.map +1 -0
  403. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.js +345 -0
  404. package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.js.map +1 -0
  405. package/services/mcpAdmin/__tests__/mcpAdminServer.test.d.ts +5 -0
  406. package/services/mcpAdmin/__tests__/mcpAdminServer.test.d.ts.map +1 -0
  407. package/services/mcpAdmin/__tests__/mcpAdminServer.test.js +453 -0
  408. package/services/mcpAdmin/__tests__/mcpAdminServer.test.js.map +1 -0
  409. package/services/mcpAdmin/__tests__/tools.test.d.ts +5 -0
  410. package/services/mcpAdmin/__tests__/tools.test.d.ts.map +1 -0
  411. package/services/mcpAdmin/__tests__/tools.test.js +371 -0
  412. package/services/mcpAdmin/__tests__/tools.test.js.map +1 -0
  413. package/services/mcpAdmin/adminApiKeyService.d.ts +61 -0
  414. package/services/mcpAdmin/adminApiKeyService.d.ts.map +1 -0
  415. package/services/mcpAdmin/adminApiKeyService.js +270 -0
  416. package/services/mcpAdmin/adminApiKeyService.js.map +1 -0
  417. package/services/mcpAdmin/index.d.ts +10 -0
  418. package/services/mcpAdmin/index.d.ts.map +1 -0
  419. package/services/mcpAdmin/index.js +43 -0
  420. package/services/mcpAdmin/index.js.map +1 -0
  421. package/services/mcpAdmin/mcpAdminServer.d.ts +76 -0
  422. package/services/mcpAdmin/mcpAdminServer.d.ts.map +1 -0
  423. package/services/mcpAdmin/mcpAdminServer.js +243 -0
  424. package/services/mcpAdmin/mcpAdminServer.js.map +1 -0
  425. package/services/mcpAdmin/tools/agentTools.d.ts +27 -0
  426. package/services/mcpAdmin/tools/agentTools.d.ts.map +1 -0
  427. package/services/mcpAdmin/tools/agentTools.js +359 -0
  428. package/services/mcpAdmin/tools/agentTools.js.map +1 -0
  429. package/services/mcpAdmin/tools/index.d.ts +15 -0
  430. package/services/mcpAdmin/tools/index.d.ts.map +1 -0
  431. package/services/mcpAdmin/tools/index.js +30 -0
  432. package/services/mcpAdmin/tools/index.js.map +1 -0
  433. package/services/mcpAdmin/tools/mcpServerTools.d.ts +27 -0
  434. package/services/mcpAdmin/tools/mcpServerTools.d.ts.map +1 -0
  435. package/services/mcpAdmin/tools/mcpServerTools.js +334 -0
  436. package/services/mcpAdmin/tools/mcpServerTools.js.map +1 -0
  437. package/services/mcpAdmin/tools/projectTools.d.ts +27 -0
  438. package/services/mcpAdmin/tools/projectTools.d.ts.map +1 -0
  439. package/services/mcpAdmin/tools/projectTools.js +353 -0
  440. package/services/mcpAdmin/tools/projectTools.js.map +1 -0
  441. package/services/mcpAdmin/tools/systemTools.d.ts +23 -0
  442. package/services/mcpAdmin/tools/systemTools.d.ts.map +1 -0
  443. package/services/mcpAdmin/tools/systemTools.js +241 -0
  444. package/services/mcpAdmin/tools/systemTools.js.map +1 -0
  445. package/services/mcpAdmin/types.d.ts +124 -0
  446. package/services/mcpAdmin/types.d.ts.map +1 -0
  447. package/services/mcpAdmin/types.js +18 -0
  448. package/services/mcpAdmin/types.js.map +1 -0
  449. package/{backend/dist/services → services}/messageQueue.d.ts.map +1 -1
  450. package/{backend/dist/services → services}/messageQueue.js +16 -3
  451. package/services/messageQueue.js.map +1 -0
  452. package/services/pluginInstaller.d.ts +58 -0
  453. package/services/pluginInstaller.d.ts.map +1 -0
  454. package/services/pluginInstaller.js +321 -0
  455. package/services/pluginInstaller.js.map +1 -0
  456. package/services/pluginParser.d.ts +45 -0
  457. package/services/pluginParser.d.ts.map +1 -0
  458. package/services/pluginParser.js +437 -0
  459. package/services/pluginParser.js.map +1 -0
  460. package/services/pluginPaths.d.ts +80 -0
  461. package/services/pluginPaths.d.ts.map +1 -0
  462. package/services/pluginPaths.js +274 -0
  463. package/services/pluginPaths.js.map +1 -0
  464. package/services/pluginScanner.d.ts +36 -0
  465. package/services/pluginScanner.d.ts.map +1 -0
  466. package/services/pluginScanner.js +251 -0
  467. package/services/pluginScanner.js.map +1 -0
  468. package/services/pluginSymlink.d.ts +54 -0
  469. package/services/pluginSymlink.d.ts.map +1 -0
  470. package/services/pluginSymlink.js +223 -0
  471. package/services/pluginSymlink.js.map +1 -0
  472. package/services/projectMetadataStorage.d.ts +114 -0
  473. package/services/projectMetadataStorage.d.ts.map +1 -0
  474. package/services/projectMetadataStorage.js +711 -0
  475. package/services/projectMetadataStorage.js.map +1 -0
  476. package/services/scheduledTaskStorage.d.ts +52 -0
  477. package/services/scheduledTaskStorage.d.ts.map +1 -0
  478. package/services/scheduledTaskStorage.js +285 -0
  479. package/services/scheduledTaskStorage.js.map +1 -0
  480. package/services/schedulerService.d.ts +81 -0
  481. package/services/schedulerService.d.ts.map +1 -0
  482. package/services/schedulerService.js +743 -0
  483. package/services/schedulerService.js.map +1 -0
  484. package/{backend/dist/services → services}/sessionManager.d.ts +6 -4
  485. package/services/sessionManager.d.ts.map +1 -0
  486. package/{backend/dist/services → services}/sessionManager.js +77 -16
  487. package/services/sessionManager.js.map +1 -0
  488. package/services/skillStorage.d.ts +60 -0
  489. package/services/skillStorage.d.ts.map +1 -0
  490. package/services/skillStorage.js +398 -0
  491. package/services/skillStorage.js.map +1 -0
  492. package/services/slackAIService.d.ts +81 -0
  493. package/services/slackAIService.d.ts.map +1 -0
  494. package/services/slackAIService.js +1091 -0
  495. package/services/slackAIService.js.map +1 -0
  496. package/services/slackClient.d.ts +46 -0
  497. package/services/slackClient.d.ts.map +1 -0
  498. package/services/slackClient.js +85 -0
  499. package/services/slackClient.js.map +1 -0
  500. package/services/slackSessionLock.d.ts +79 -0
  501. package/services/slackSessionLock.d.ts.map +1 -0
  502. package/services/slackSessionLock.js +353 -0
  503. package/services/slackSessionLock.js.map +1 -0
  504. package/services/slackThreadMapper.d.ts +57 -0
  505. package/services/slackThreadMapper.d.ts.map +1 -0
  506. package/services/slackThreadMapper.js +140 -0
  507. package/services/slackThreadMapper.js.map +1 -0
  508. package/types/a2a.d.ts +275 -0
  509. package/types/a2a.d.ts.map +1 -0
  510. package/types/a2a.js +23 -0
  511. package/types/a2a.js.map +1 -0
  512. package/types/agents.d.ts +95 -0
  513. package/types/agents.d.ts.map +1 -0
  514. package/types/agents.js +46 -0
  515. package/types/agents.js.map +1 -0
  516. package/types/claude-history.d.ts +62 -0
  517. package/types/claude-history.d.ts.map +1 -0
  518. package/types/claude-history.js +4 -0
  519. package/types/claude-history.js.map +1 -0
  520. package/types/claude-versions.d.ts +36 -0
  521. package/types/claude-versions.d.ts.map +1 -0
  522. package/types/claude-versions.js +3 -0
  523. package/types/claude-versions.js.map +1 -0
  524. package/types/commands.d.ts +50 -0
  525. package/types/commands.d.ts.map +1 -0
  526. package/types/commands.js +23 -0
  527. package/types/commands.js.map +1 -0
  528. package/types/plugins.d.ts +144 -0
  529. package/types/plugins.d.ts.map +1 -0
  530. package/types/plugins.js +8 -0
  531. package/types/plugins.js.map +1 -0
  532. package/types/projects.d.ts +42 -0
  533. package/types/projects.d.ts.map +1 -0
  534. package/types/projects.js +4 -0
  535. package/types/projects.js.map +1 -0
  536. package/types/scheduledTasks.d.ts +164 -0
  537. package/types/scheduledTasks.d.ts.map +1 -0
  538. package/types/scheduledTasks.js +17 -0
  539. package/types/scheduledTasks.js.map +1 -0
  540. package/types/skills.d.ts +91 -0
  541. package/types/skills.d.ts.map +1 -0
  542. package/types/skills.js +6 -0
  543. package/types/skills.js.map +1 -0
  544. package/types/slack.d.ts +97 -0
  545. package/types/slack.d.ts.map +1 -0
  546. package/types/slack.js +8 -0
  547. package/types/slack.js.map +1 -0
  548. package/types/streaming.d.ts +12 -0
  549. package/types/streaming.d.ts.map +1 -0
  550. package/types/streaming.js +8 -0
  551. package/types/streaming.js.map +1 -0
  552. package/types/subagents.d.ts +26 -0
  553. package/types/subagents.d.ts.map +1 -0
  554. package/types/subagents.js +3 -0
  555. package/types/subagents.js.map +1 -0
  556. package/utils/__tests__/claudeUtils.test.d.ts +5 -0
  557. package/utils/__tests__/claudeUtils.test.d.ts.map +1 -0
  558. package/utils/__tests__/claudeUtils.test.js +282 -0
  559. package/utils/__tests__/claudeUtils.test.js.map +1 -0
  560. package/utils/__tests__/sessionUtils.test.d.ts +5 -0
  561. package/utils/__tests__/sessionUtils.test.d.ts.map +1 -0
  562. package/utils/__tests__/sessionUtils.test.js +295 -0
  563. package/utils/__tests__/sessionUtils.test.js.map +1 -0
  564. package/utils/agentCardCache.d.ts +93 -0
  565. package/utils/agentCardCache.d.ts.map +1 -0
  566. package/utils/agentCardCache.js +212 -0
  567. package/utils/agentCardCache.js.map +1 -0
  568. package/utils/claudeUtils.d.ts +54 -0
  569. package/utils/claudeUtils.d.ts.map +1 -0
  570. package/utils/claudeUtils.js +387 -0
  571. package/utils/claudeUtils.js.map +1 -0
  572. package/utils/fileUtils.d.ts +2 -0
  573. package/utils/fileUtils.d.ts.map +1 -0
  574. package/utils/fileUtils.js +11 -0
  575. package/utils/fileUtils.js.map +1 -0
  576. package/utils/jwt.d.ts +30 -0
  577. package/utils/jwt.d.ts.map +1 -0
  578. package/utils/jwt.js +95 -0
  579. package/utils/jwt.js.map +1 -0
  580. package/utils/sessionUtils.d.ts +64 -0
  581. package/utils/sessionUtils.d.ts.map +1 -0
  582. package/utils/sessionUtils.js +266 -0
  583. package/utils/sessionUtils.js.map +1 -0
  584. package/README.zh-CN.md +0 -525
  585. package/backend/dist/bin/agentstudio.js +0 -120
  586. package/backend/dist/bin/agentstudio.js.map +0 -1
  587. package/backend/dist/frontend/assets/AgentsPage-Dqb_aqAA.js +0 -1
  588. package/backend/dist/frontend/assets/ChatPage-L8Paywyc.js +0 -91
  589. package/backend/dist/frontend/assets/CommandForm-DLl7EIMS.js +0 -7
  590. package/backend/dist/frontend/assets/CommandsPage-Bzavq0Ec.js +0 -1
  591. package/backend/dist/frontend/assets/DashboardPage-B3o4AYFT.js +0 -15
  592. package/backend/dist/frontend/assets/FileBrowser-DL3ayaqb.js +0 -1
  593. package/backend/dist/frontend/assets/GeneralSettingsPage-CBN_de-V.js +0 -1
  594. package/backend/dist/frontend/assets/LandingPage-Dl4ioKos.js +0 -1
  595. package/backend/dist/frontend/assets/LoginPage-4QqRdiSi.js +0 -12
  596. package/backend/dist/frontend/assets/McpPage-CY3tYiqj.js +0 -39
  597. package/backend/dist/frontend/assets/MemorySettingsPage-DGxrok5K.js +0 -1
  598. package/backend/dist/frontend/assets/ProjectSelector-hgmGYVFh.js +0 -1
  599. package/backend/dist/frontend/assets/ProjectsPage-D399IM0c.js +0 -14
  600. package/backend/dist/frontend/assets/SettingsLayout-CL_K-lzJ.js +0 -1
  601. package/backend/dist/frontend/assets/SubagentsPage-Chbhj8p2.js +0 -1
  602. package/backend/dist/frontend/assets/UnifiedToolSelector-CsM9qBvs.js +0 -1
  603. package/backend/dist/frontend/assets/VersionSettingsPage-74Q-LVgA.js +0 -5
  604. package/backend/dist/frontend/assets/agents-ClAzIJTw.js +0 -1
  605. package/backend/dist/frontend/assets/authFetch-BATQyPG5.js +0 -1
  606. package/backend/dist/frontend/assets/index-B9YHa7XT.css +0 -1
  607. package/backend/dist/frontend/assets/index-B_CTNvca.js +0 -268
  608. package/backend/dist/frontend/assets/monaco-editor-C7Z4sOhS.js +0 -19
  609. package/backend/dist/frontend/assets/tabManager-DV8urRBM.js +0 -30
  610. package/backend/dist/frontend/assets/tools-C4EPanYi.js +0 -1
  611. package/backend/dist/frontend/assets/useAgents-DwnOE1_k.js +0 -2
  612. package/backend/dist/frontend/assets/useClaudeVersions-CQdGnCqv.js +0 -1
  613. package/backend/dist/frontend/assets/useCommands-CCVaurbt.js +0 -1
  614. package/backend/dist/index.d.ts +0 -3
  615. package/backend/dist/index.d.ts.map +0 -1
  616. package/backend/dist/index.js +0 -157
  617. package/backend/dist/index.js.map +0 -1
  618. package/backend/dist/middleware/auth.d.ts.map +0 -1
  619. package/backend/dist/middleware/auth.js +0 -21
  620. package/backend/dist/middleware/auth.js.map +0 -1
  621. package/backend/dist/routes/agents.js +0 -803
  622. package/backend/dist/routes/agents.js.map +0 -1
  623. package/backend/dist/routes/auth.js +0 -60
  624. package/backend/dist/routes/auth.js.map +0 -1
  625. package/backend/dist/routes/commands.js.map +0 -1
  626. package/backend/dist/routes/files.js.map +0 -1
  627. package/backend/dist/routes/mcp.d.ts.map +0 -1
  628. package/backend/dist/routes/mcp.js.map +0 -1
  629. package/backend/dist/routes/media.d.ts.map +0 -1
  630. package/backend/dist/routes/media.js.map +0 -1
  631. package/backend/dist/routes/projects.js +0 -528
  632. package/backend/dist/routes/projects.js.map +0 -1
  633. package/backend/dist/routes/sessions.js.map +0 -1
  634. package/backend/dist/routes/settings.js.map +0 -1
  635. package/backend/dist/routes/slides.js.map +0 -1
  636. package/backend/dist/routes/subagents.js.map +0 -1
  637. package/backend/dist/services/claudeSession.d.ts.map +0 -1
  638. package/backend/dist/services/claudeSession.js.map +0 -1
  639. package/backend/dist/services/messageQueue.js.map +0 -1
  640. package/backend/dist/services/sessionManager.d.ts.map +0 -1
  641. package/backend/dist/services/sessionManager.js.map +0 -1
  642. package/backend/dist/utils/jwt.d.ts +0 -15
  643. package/backend/dist/utils/jwt.d.ts.map +0 -1
  644. package/backend/dist/utils/jwt.js +0 -28
  645. package/backend/dist/utils/jwt.js.map +0 -1
  646. /package/{backend/dist/bin → bin}/agentstudio.d.ts +0 -0
  647. /package/{backend/dist/bin → bin}/agentstudio.d.ts.map +0 -0
  648. /package/{backend/dist/frontend → public}/assets/ChatPage-BvQmXfcP.css +0 -0
  649. /package/{backend/dist/frontend → public}/assets/agents-DwCY2K8p.css +0 -0
  650. /package/{backend/dist/frontend → public}/assets/dateFormat-CXa8VnEC.js +0 -0
  651. /package/{backend/dist/frontend → public}/cc-studio.png +0 -0
  652. /package/{backend/dist/frontend → public}/vite.svg +0 -0
  653. /package/{backend/dist/routes → routes}/agents.d.ts +0 -0
  654. /package/{backend/dist/routes → routes}/auth.d.ts +0 -0
  655. /package/{backend/dist/routes → routes}/commands.d.ts +0 -0
  656. /package/{backend/dist/routes → routes}/files.d.ts +0 -0
  657. /package/{backend/dist/routes → routes}/media.d.ts +0 -0
  658. /package/{backend/dist/routes → routes}/projects.d.ts +0 -0
  659. /package/{backend/dist/routes → routes}/sessions.d.ts +0 -0
  660. /package/{backend/dist/routes → routes}/settings.d.ts +0 -0
  661. /package/{backend/dist/routes → routes}/slides.d.ts +0 -0
  662. /package/{backend/dist/routes → routes}/subagents.d.ts +0 -0
  663. /package/{backend/dist/routes → routes}/subagents.d.ts.map +0 -0
  664. /package/{backend/dist/services → services}/messageQueue.d.ts +0 -0
@@ -0,0 +1,572 @@
1
+ "use strict";
2
+ /**
3
+ * A2A Client MCP Tool
4
+ *
5
+ * Implements the `call_external_agent` MCP tool for calling external A2A-compatible agents.
6
+ * This tool enables AgentStudio agents to delegate tasks to specialized external agents.
7
+ *
8
+ * Features:
9
+ * - Allowlist validation against project's a2a-config.json
10
+ * - HTTP client using @a2a-js/sdk for A2A standard protocol support
11
+ * - Streaming support using A2A standard events (Task, Message, TaskStatusUpdateEvent, etc.)
12
+ * - Timeout handling (default 10min, configurable)
13
+ * - Clear error messages for failures
14
+ * - Support for both sync messages and async tasks
15
+ *
16
+ * A2A Protocol Streaming:
17
+ * - Uses message/stream method for real-time updates
18
+ * - Supports Task lifecycle stream (Task → TaskStatusUpdateEvent/TaskArtifactUpdateEvent → terminal state)
19
+ * - Supports Message-only stream (single Message response)
20
+ *
21
+ * Phase 5: US3 - Agent as A2A Client via MCP Tool
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.CALL_EXTERNAL_AGENT_TOOL = void 0;
25
+ exports.callExternalAgent = callExternalAgent;
26
+ const a2aConfigService_js_1 = require("./a2aConfigService.js");
27
+ const a2aHistoryService_js_1 = require("./a2aHistoryService.js");
28
+ const a2aStreamEvents_js_1 = require("./a2aStreamEvents.js");
29
+ const uuid_1 = require("uuid");
30
+ /**
31
+ * MCP Tool Definition for call_external_agent
32
+ */
33
+ exports.CALL_EXTERNAL_AGENT_TOOL = {
34
+ name: 'call_external_agent',
35
+ description: 'Call an external A2A-compatible agent to delegate a task. The external agent must be in the project allowlist.',
36
+ inputSchema: {
37
+ type: 'object',
38
+ properties: {
39
+ agentUrl: {
40
+ type: 'string',
41
+ description: 'Target agent base URL (e.g., https://analytics.example.com/a2a/agent-id)',
42
+ },
43
+ message: {
44
+ type: 'string',
45
+ description: 'Task description or query for the external agent',
46
+ },
47
+ useTask: {
48
+ type: 'boolean',
49
+ description: 'Use async task mode (default: false for synchronous message)',
50
+ default: false,
51
+ },
52
+ contextId: {
53
+ type: 'string',
54
+ description: 'Context ID for continuing a conversation (A2A standard)',
55
+ },
56
+ taskId: {
57
+ type: 'string',
58
+ description: 'Task ID for continuing an existing task (A2A standard)',
59
+ },
60
+ stream: {
61
+ type: 'boolean',
62
+ description: 'Enable streaming response (default: true for messages)',
63
+ default: true,
64
+ }
65
+ },
66
+ required: ['agentUrl', 'message'],
67
+ },
68
+ };
69
+ /**
70
+ * Call external A2A agent tool handler
71
+ *
72
+ * Validates agent URL against project allowlist, then makes HTTP call
73
+ * using @a2a-js/sdk A2AClient. Returns structured response with success/error status.
74
+ *
75
+ * @param input - Tool input parameters
76
+ * @param projectId - Project ID for allowlist validation
77
+ * @returns Structured response with success/error status
78
+ */
79
+ async function callExternalAgent(input, projectId) {
80
+ const { agentUrl, message, useTask = false, stream = true, timeout: inputTimeout } = input;
81
+ const timeout = inputTimeout || 600000; // Use provided timeout or default to 10 minutes
82
+ try {
83
+ // Step 1: Validate agent URL against project allowlist
84
+ const validationResult = await validateAgentUrl(agentUrl, projectId);
85
+ if (!validationResult.allowed) {
86
+ return {
87
+ success: false,
88
+ error: validationResult.error || 'Agent URL not in project allowlist',
89
+ };
90
+ }
91
+ // Step 2: Get API key for external agent from allowlist
92
+ const apiKey = validationResult.apiKey;
93
+ if (!apiKey) {
94
+ return {
95
+ success: false,
96
+ error: 'API key not found for allowed agent',
97
+ };
98
+ }
99
+ // Step 3: Make HTTP call to external agent using A2A SDK
100
+ if (useTask) {
101
+ // Async task mode - uses tasks endpoint
102
+ const taskResult = await callExternalAgentTask(agentUrl, message, apiKey, timeout);
103
+ return taskResult;
104
+ }
105
+ else {
106
+ // Message mode (Sync or Streaming)
107
+ // Generate a unique session ID for tracking this interaction
108
+ const sessionId = (0, uuid_1.v4)();
109
+ // Use A2A standard streaming if requested
110
+ const messageResult = await callExternalAgentMessage(agentUrl, message, apiKey, timeout, sessionId, stream, projectId, input.contextId, input.taskId);
111
+ return messageResult;
112
+ }
113
+ }
114
+ catch (error) {
115
+ const errorMessage = error instanceof Error ? error.message : String(error);
116
+ console.error('[A2A Client Tool] Error calling external agent:', error);
117
+ return {
118
+ success: false,
119
+ error: `Failed to call external agent: ${errorMessage}`,
120
+ };
121
+ }
122
+ }
123
+ /**
124
+ * Validate agent URL against project's allowlist
125
+ *
126
+ * @param agentUrl - Target agent URL
127
+ * @param projectId - Project ID for config lookup
128
+ * @returns Validation result with API key if allowed
129
+ */
130
+ async function validateAgentUrl(agentUrl, projectId) {
131
+ try {
132
+ // Load project A2A configuration
133
+ const config = await (0, a2aConfigService_js_1.loadA2AConfig)(projectId);
134
+ if (!config) {
135
+ return {
136
+ allowed: false,
137
+ error: 'Project A2A configuration not found. Please configure allowed agents in project settings.',
138
+ };
139
+ }
140
+ // Normalize URL for comparison (remove trailing slash)
141
+ const normalizedTargetUrl = agentUrl.replace(/\/$/, '');
142
+ // Check if agent URL is in allowlist
143
+ for (const allowedAgent of config.allowedAgents) {
144
+ const normalizedAllowedUrl = allowedAgent.url.replace(/\/$/, '');
145
+ // Check if target URL starts with allowed URL (allows subpaths)
146
+ if (normalizedTargetUrl.startsWith(normalizedAllowedUrl) && allowedAgent.enabled) {
147
+ return {
148
+ allowed: true,
149
+ apiKey: allowedAgent.apiKey,
150
+ };
151
+ }
152
+ }
153
+ // Not found in allowlist
154
+ return {
155
+ allowed: false,
156
+ error: `Agent URL '${agentUrl}' not found in project's allowed agents list. Please add it in project A2A settings.`,
157
+ };
158
+ }
159
+ catch (error) {
160
+ console.error('[A2A Client Tool] Error validating agent URL:', error);
161
+ return {
162
+ allowed: false,
163
+ error: 'Failed to validate agent URL against allowlist',
164
+ };
165
+ }
166
+ }
167
+ /**
168
+ * Call external agent with message using A2A SDK (message/send or message/stream)
169
+ *
170
+ * Uses A2A standard protocol:
171
+ * - For streaming: Uses message/stream endpoint via A2AClient.sendMessageStream()
172
+ * - Returns A2A standard events: Message, Task, TaskStatusUpdateEvent, TaskArtifactUpdateEvent
173
+ */
174
+ async function callExternalAgentMessage(agentUrl, message, apiKey, timeout, sessionId, stream, projectId, contextId, taskId) {
175
+ const workingDirectory = projectId.startsWith('/') ? projectId : process.cwd();
176
+ try {
177
+ // Build A2A standard message params
178
+ const messageParams = {
179
+ message: {
180
+ kind: 'message',
181
+ messageId: (0, uuid_1.v4)(),
182
+ role: 'user',
183
+ parts: [{ kind: 'text', text: message }],
184
+ contextId,
185
+ taskId,
186
+ },
187
+ configuration: {
188
+ acceptedOutputModes: ['text/plain', 'application/json'],
189
+ },
190
+ };
191
+ if (stream) {
192
+ // Use A2A streaming with fetch-based SSE (since A2AClient requires agent card)
193
+ return await callExternalAgentStreamFetch(agentUrl, messageParams, apiKey, timeout, sessionId, workingDirectory);
194
+ }
195
+ else {
196
+ // Use sync call with fetch
197
+ return await callExternalAgentSyncFetch(agentUrl, messageParams, apiKey, timeout, sessionId, workingDirectory);
198
+ }
199
+ }
200
+ catch (error) {
201
+ const errorMessage = error instanceof Error ? error.message : String(error);
202
+ return {
203
+ success: false,
204
+ error: `Error calling external agent: ${errorMessage}`,
205
+ };
206
+ }
207
+ }
208
+ /**
209
+ * Call external agent with streaming using fetch-based SSE
210
+ * Implements A2A message/stream protocol manually since A2AClient requires agent card
211
+ */
212
+ async function callExternalAgentStreamFetch(agentUrl, messageParams, apiKey, timeout, sessionId, workingDirectory) {
213
+ const controller = new AbortController();
214
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
215
+ // Extract text message from parts
216
+ const textMessage = messageParams.message.parts
217
+ .filter((p) => p.kind === 'text')
218
+ .map(p => p.text)
219
+ .join('');
220
+ // Build request body matching server's expected format
221
+ const requestBody = {
222
+ message: textMessage,
223
+ sessionId: messageParams.message.contextId || undefined,
224
+ };
225
+ // Emit stream start event
226
+ a2aStreamEvents_js_1.a2aStreamEventEmitter.emitStreamStart({
227
+ sessionId,
228
+ projectId: workingDirectory,
229
+ agentUrl,
230
+ message: textMessage,
231
+ contextId: messageParams.message.contextId,
232
+ taskId: messageParams.message.taskId,
233
+ });
234
+ try {
235
+ // A2A protocol requires posting to /messages endpoint with stream=true query param
236
+ const messagesUrl = agentUrl.endsWith('/') ? `${agentUrl}messages?stream=true` : `${agentUrl}/messages?stream=true`;
237
+ const response = await fetch(messagesUrl, {
238
+ method: 'POST',
239
+ headers: {
240
+ 'Content-Type': 'application/json',
241
+ 'Accept': 'text/event-stream',
242
+ 'Authorization': `Bearer ${apiKey}`,
243
+ },
244
+ body: JSON.stringify(requestBody),
245
+ signal: controller.signal,
246
+ });
247
+ clearTimeout(timeoutId);
248
+ if (!response.ok) {
249
+ const errorData = await response.json().catch(() => ({ error: response.statusText }));
250
+ a2aStreamEvents_js_1.a2aStreamEventEmitter.emitStreamEnd({
251
+ sessionId,
252
+ projectId: workingDirectory,
253
+ success: false,
254
+ error: `HTTP ${response.status}: ${errorData.error || response.statusText}`,
255
+ });
256
+ return {
257
+ success: false,
258
+ error: `External agent returned ${response.status}: ${errorData.error || response.statusText}`,
259
+ };
260
+ }
261
+ if (!response.body) {
262
+ a2aStreamEvents_js_1.a2aStreamEventEmitter.emitStreamEnd({
263
+ sessionId,
264
+ projectId: workingDirectory,
265
+ success: false,
266
+ error: 'No response body',
267
+ });
268
+ return {
269
+ success: false,
270
+ error: 'No response body from external agent',
271
+ };
272
+ }
273
+ // Parse SSE stream
274
+ const reader = response.body.getReader();
275
+ const decoder = new TextDecoder();
276
+ let buffer = '';
277
+ let collectedText = '';
278
+ let finalContextId;
279
+ let finalTaskId;
280
+ let finalState;
281
+ try {
282
+ while (true) {
283
+ const { done, value } = await reader.read();
284
+ if (done)
285
+ break;
286
+ buffer += decoder.decode(value, { stream: true });
287
+ const lines = buffer.split('\n');
288
+ buffer = lines.pop() || ''; // Keep incomplete line in buffer
289
+ for (const line of lines) {
290
+ if (line.startsWith('data: ')) {
291
+ const dataStr = line.slice(6).trim();
292
+ if (!dataStr || dataStr === '[DONE]')
293
+ continue;
294
+ try {
295
+ const event = JSON.parse(dataStr);
296
+ // Check for error event
297
+ if (event.type === 'error') {
298
+ const errorMsg = event.error || 'Unknown error';
299
+ a2aStreamEvents_js_1.a2aStreamEventEmitter.emitStreamEnd({
300
+ sessionId,
301
+ projectId: workingDirectory,
302
+ success: false,
303
+ error: errorMsg,
304
+ });
305
+ return {
306
+ success: false,
307
+ error: errorMsg,
308
+ };
309
+ }
310
+ // Check for done event
311
+ if (event.type === 'done') {
312
+ continue; // Will be handled at end of stream
313
+ }
314
+ // Store event in history
315
+ await a2aHistoryService_js_1.a2aHistoryService.appendEvent(workingDirectory, sessionId, event);
316
+ // Emit stream data event for frontend
317
+ a2aStreamEvents_js_1.a2aStreamEventEmitter.emitStreamData({
318
+ sessionId,
319
+ projectId: workingDirectory,
320
+ agentUrl,
321
+ event,
322
+ });
323
+ // Get sessionId from event if available
324
+ if (event.sessionId) {
325
+ finalContextId = event.sessionId;
326
+ }
327
+ // Process SDK message event based on type
328
+ switch (event.type) {
329
+ case 'assistant': {
330
+ // SDK assistant message: { type: 'assistant', message: { role: 'user', content: [...] } }
331
+ if (event.message?.content) {
332
+ for (const block of event.message.content) {
333
+ if (block.type === 'text') {
334
+ collectedText += block.text;
335
+ }
336
+ }
337
+ }
338
+ break;
339
+ }
340
+ case 'result': {
341
+ // Result event indicates completion
342
+ const isError = event.subtype === 'error' || event.is_error;
343
+ if (!isError) {
344
+ finalState = 'completed';
345
+ }
346
+ else {
347
+ finalState = 'failed';
348
+ }
349
+ break;
350
+ }
351
+ case 'system': {
352
+ // System init event contains sessionId
353
+ if (event.sessionId) {
354
+ finalContextId = event.sessionId;
355
+ }
356
+ break;
357
+ }
358
+ case 'user': {
359
+ // Tool result events - extract text if available
360
+ if (event.message?.content) {
361
+ for (const block of event.message.content) {
362
+ if (block.type === 'tool_result' && typeof block.content === 'string') {
363
+ // Tool results can be included in response
364
+ // collectedText += block.content;
365
+ }
366
+ }
367
+ }
368
+ break;
369
+ }
370
+ }
371
+ }
372
+ catch (parseError) {
373
+ // Ignore parse errors for partial data
374
+ console.warn('[A2A Client Tool] Parse error in SSE:', parseError);
375
+ }
376
+ }
377
+ }
378
+ }
379
+ }
380
+ catch (streamError) {
381
+ console.error('[A2A Client Tool] Error reading stream:', streamError);
382
+ a2aStreamEvents_js_1.a2aStreamEventEmitter.emitStreamEnd({
383
+ sessionId,
384
+ projectId: workingDirectory,
385
+ success: false,
386
+ error: streamError instanceof Error ? streamError.message : String(streamError),
387
+ finalState,
388
+ });
389
+ return {
390
+ success: false,
391
+ error: `Stream error: ${streamError instanceof Error ? streamError.message : String(streamError)}`,
392
+ };
393
+ }
394
+ // Stream completed normally
395
+ a2aStreamEvents_js_1.a2aStreamEventEmitter.emitStreamEnd({
396
+ sessionId,
397
+ projectId: workingDirectory,
398
+ success: true,
399
+ finalState: finalState || 'completed',
400
+ });
401
+ return {
402
+ success: true,
403
+ data: collectedText || 'Streaming completed',
404
+ sessionId,
405
+ contextId: finalContextId,
406
+ taskId: finalTaskId,
407
+ };
408
+ }
409
+ catch (error) {
410
+ clearTimeout(timeoutId);
411
+ if (error instanceof Error && error.name === 'AbortError') {
412
+ a2aStreamEvents_js_1.a2aStreamEventEmitter.emitStreamEnd({
413
+ sessionId,
414
+ projectId: workingDirectory,
415
+ success: false,
416
+ error: 'Timeout',
417
+ });
418
+ return {
419
+ success: false,
420
+ error: `External agent call timed out after ${timeout}ms`,
421
+ };
422
+ }
423
+ const errorMessage = error instanceof Error ? error.message : String(error);
424
+ a2aStreamEvents_js_1.a2aStreamEventEmitter.emitStreamEnd({
425
+ sessionId,
426
+ projectId: workingDirectory,
427
+ success: false,
428
+ error: errorMessage,
429
+ });
430
+ return {
431
+ success: false,
432
+ error: `Network error calling external agent: ${errorMessage}`,
433
+ };
434
+ }
435
+ }
436
+ /**
437
+ * Call external agent with sync message using fetch
438
+ * Implements A2A message/send protocol
439
+ */
440
+ async function callExternalAgentSyncFetch(agentUrl, messageParams, apiKey, timeout, sessionId, workingDirectory) {
441
+ const controller = new AbortController();
442
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
443
+ // Extract text message from parts
444
+ const textMessage = messageParams.message.parts
445
+ .filter((p) => p.kind === 'text')
446
+ .map(p => p.text)
447
+ .join('');
448
+ // Build request body matching server's expected format
449
+ const requestBody = {
450
+ message: textMessage,
451
+ sessionId: messageParams.message.contextId || undefined,
452
+ };
453
+ try {
454
+ // A2A protocol requires posting to /messages endpoint (no stream param for sync)
455
+ const messagesUrl = agentUrl.endsWith('/') ? `${agentUrl}messages` : `${agentUrl}/messages`;
456
+ const response = await fetch(messagesUrl, {
457
+ method: 'POST',
458
+ headers: {
459
+ 'Content-Type': 'application/json',
460
+ 'Authorization': `Bearer ${apiKey}`,
461
+ },
462
+ body: JSON.stringify(requestBody),
463
+ signal: controller.signal,
464
+ });
465
+ clearTimeout(timeoutId);
466
+ if (!response.ok) {
467
+ const errorData = await response.json().catch(() => ({ error: response.statusText }));
468
+ return {
469
+ success: false,
470
+ error: `External agent returned ${response.status}: ${errorData.error || response.statusText}`,
471
+ };
472
+ }
473
+ const responseData = await response.json();
474
+ // Check for error in response
475
+ if (responseData.error) {
476
+ return {
477
+ success: false,
478
+ error: responseData.error.message || responseData.error || 'Unknown error',
479
+ };
480
+ }
481
+ // Server returns: { sessionId, message, duration_ms }
482
+ // Store in history as a simple message event
483
+ const historyEvent = {
484
+ kind: 'message',
485
+ role: 'assistant',
486
+ messageId: sessionId,
487
+ parts: [{ kind: 'text', text: responseData.message || '' }],
488
+ };
489
+ await a2aHistoryService_js_1.a2aHistoryService.appendEvent(workingDirectory, sessionId, historyEvent);
490
+ return {
491
+ success: true,
492
+ data: responseData.message || 'Message processed',
493
+ sessionId: responseData.sessionId || sessionId,
494
+ };
495
+ }
496
+ catch (error) {
497
+ clearTimeout(timeoutId);
498
+ if (error instanceof Error && error.name === 'AbortError') {
499
+ return {
500
+ success: false,
501
+ error: `External agent call timed out after ${timeout}ms`,
502
+ };
503
+ }
504
+ const errorMessage = error instanceof Error ? error.message : String(error);
505
+ return {
506
+ success: false,
507
+ error: `Network error calling external agent: ${errorMessage}`,
508
+ };
509
+ }
510
+ }
511
+ /**
512
+ * Call external agent with asynchronous task
513
+ *
514
+ * Uses POST /tasks endpoint of A2A protocol.
515
+ *
516
+ * @param agentUrl - Target agent base URL
517
+ * @param message - Task description
518
+ * @param apiKey - API key for authentication
519
+ * @param timeout - Request timeout in milliseconds
520
+ * @returns Tool output with task ID and status
521
+ */
522
+ async function callExternalAgentTask(agentUrl, message, apiKey, timeout) {
523
+ const controller = new AbortController();
524
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
525
+ try {
526
+ const response = await fetch(`${agentUrl}/tasks`, {
527
+ method: 'POST',
528
+ headers: {
529
+ 'Content-Type': 'application/json',
530
+ Authorization: `Bearer ${apiKey}`,
531
+ },
532
+ body: JSON.stringify({ message, timeout }),
533
+ signal: controller.signal,
534
+ });
535
+ clearTimeout(timeoutId);
536
+ if (!response.ok) {
537
+ const errorData = (await response.json().catch(() => ({ error: response.statusText })));
538
+ return {
539
+ success: false,
540
+ error: `External agent returned ${response.status}: ${errorData.error || response.statusText}`,
541
+ };
542
+ }
543
+ const data = (await response.json());
544
+ return {
545
+ success: true,
546
+ taskId: data.taskId,
547
+ status: data.status,
548
+ data: data.checkUrl
549
+ ? {
550
+ taskId: data.taskId,
551
+ status: data.status,
552
+ checkUrl: data.checkUrl,
553
+ }
554
+ : data,
555
+ };
556
+ }
557
+ catch (error) {
558
+ clearTimeout(timeoutId);
559
+ if (error instanceof Error && error.name === 'AbortError') {
560
+ return {
561
+ success: false,
562
+ error: `External agent task creation timed out after ${timeout}ms`,
563
+ };
564
+ }
565
+ const errorMessage = error instanceof Error ? error.message : String(error);
566
+ return {
567
+ success: false,
568
+ error: `Network error creating external agent task: ${errorMessage}`,
569
+ };
570
+ }
571
+ }
572
+ //# sourceMappingURL=a2aClientTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2aClientTool.js","sourceRoot":"","sources":["../../../src/services/a2a/a2aClientTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * A2A Configuration Service
3
+ *
4
+ * Manages project-level A2A configuration including allowed agents, timeouts, and limits.
5
+ * Configuration stored in projects/:projectId/.a2a/config.json
6
+ *
7
+ * Phase 5: US3 - Agent as A2A Client (config dependency)
8
+ * Phase 7: US5 - Project-Level A2A Configuration (full implementation)
9
+ */
10
+ import type { A2AConfig } from '../../types/a2a.js';
11
+ /**
12
+ * Load A2A configuration for a project
13
+ *
14
+ * Returns default config if file doesn't exist.
15
+ *
16
+ * @param projectId - Project identifier
17
+ * @returns A2A configuration or null on error
18
+ */
19
+ export declare function loadA2AConfig(projectId: string): Promise<A2AConfig | null>;
20
+ /**
21
+ * Save A2A configuration for a project
22
+ *
23
+ * Creates directory structure if needed.
24
+ * Uses file locking for concurrent safety.
25
+ *
26
+ * @param projectId - Project identifier
27
+ * @param config - A2A configuration to save
28
+ */
29
+ export declare function saveA2AConfig(projectId: string, config: A2AConfig): Promise<void>;
30
+ /**
31
+ * Validate A2A configuration
32
+ *
33
+ * Checks for required fields and value constraints.
34
+ *
35
+ * @param config - Configuration to validate
36
+ * @returns Validation result with error details if invalid
37
+ */
38
+ export declare function validateA2AConfig(config: A2AConfig): {
39
+ valid: boolean;
40
+ errors?: string[];
41
+ };
42
+ /**
43
+ * Initialize default A2A config for a new project
44
+ *
45
+ * Creates .a2a directory and config.json with default values.
46
+ *
47
+ * @param projectId - Project identifier
48
+ */
49
+ export declare function initializeA2AConfig(projectId: string): Promise<void>;
50
+ //# sourceMappingURL=a2aConfigService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2aConfigService.d.ts","sourceRoot":"","sources":["../../../src/services/a2a/a2aConfigService.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAyBpD;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAgBhF;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBvF;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG;IACpD,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,CA4DA;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAc1E"}