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.
- package/README.md +26 -505
- package/bin/agentstudio.js +305 -0
- package/bin/agentstudio.js.map +1 -0
- package/bin/serviceManager.d.ts +16 -0
- package/bin/serviceManager.d.ts.map +1 -0
- package/bin/serviceManager.js +434 -0
- package/bin/serviceManager.js.map +1 -0
- package/config/index.d.ts +74 -0
- package/config/index.d.ts.map +1 -0
- package/config/index.js +166 -0
- package/config/index.js.map +1 -0
- package/config/paths.d.ts +81 -0
- package/config/paths.d.ts.map +1 -0
- package/config/paths.js +98 -0
- package/config/paths.js.map +1 -0
- package/index.d.ts +4 -0
- package/index.d.ts.map +1 -0
- package/index.js +369 -0
- package/index.js.map +1 -0
- package/jobs/taskTimeoutMonitor.d.ts +25 -0
- package/jobs/taskTimeoutMonitor.d.ts.map +1 -0
- package/jobs/taskTimeoutMonitor.js +94 -0
- package/jobs/taskTimeoutMonitor.js.map +1 -0
- package/middleware/a2aAuth.d.ts +38 -0
- package/middleware/a2aAuth.d.ts.map +1 -0
- package/middleware/a2aAuth.js +134 -0
- package/middleware/a2aAuth.js.map +1 -0
- package/{backend/dist/middleware → middleware}/auth.d.ts +3 -1
- package/middleware/auth.d.ts.map +1 -0
- package/middleware/auth.js +35 -0
- package/middleware/auth.js.map +1 -0
- package/middleware/httpsOnly.d.ts +38 -0
- package/middleware/httpsOnly.d.ts.map +1 -0
- package/middleware/httpsOnly.js +105 -0
- package/middleware/httpsOnly.js.map +1 -0
- package/middleware/rateLimiting.d.ts +37 -0
- package/middleware/rateLimiting.d.ts.map +1 -0
- package/middleware/rateLimiting.js +118 -0
- package/middleware/rateLimiting.js.map +1 -0
- package/package.json +43 -38
- package/public/assets/AgentsPage-Nvg2xu6K.js +10 -0
- package/public/assets/Button-Co56C389.js +1 -0
- package/public/assets/ChatPage-D6sol0ad.js +442 -0
- package/public/assets/CommandForm-Bk7F_HU8.js +7 -0
- package/public/assets/CommandsPage-DZHyOdKd.js +1 -0
- package/public/assets/DashboardPage-29qC7Ev1.js +15 -0
- package/public/assets/FileBrowser-BYweUPH4.js +6 -0
- package/public/assets/FileExplorer-DNYj6Tsx.js +1 -0
- package/public/assets/GeneralSettingsPage-D9Xa7Nd8.js +1 -0
- package/public/assets/LandingPage-CjnT-cvO.js +1 -0
- package/public/assets/LoginPage-DcaGNCXH.js +16 -0
- package/public/assets/McpAdminSettingsPage-DgR3E2Bd.js +7 -0
- package/public/assets/McpPage-CtWf1CoL.js +40 -0
- package/public/assets/MemorySettingsPage-JTry4Ccp.js +1 -0
- package/public/assets/PluginsPage-D-BHjQ3P.js +1 -0
- package/public/assets/ProjectSelector-DSXOjMQC.js +1 -0
- package/public/assets/ProjectsPage-lLUk4-Xa.js +21 -0
- package/public/assets/ScheduledTasksPage-5hPbd9Vs.js +1 -0
- package/public/assets/SettingsLayout-DGJspXLp.js +1 -0
- package/public/assets/SkillsPage-DBw0m7D2.js +18 -0
- package/{backend/dist/frontend/assets/SubagentForm-DXtTTIKg.js → public/assets/SubagentForm-BdUK1U4y.js} +2 -2
- package/public/assets/SubagentsPage-Dnq70IFd.js +1 -0
- package/{backend/dist/frontend/assets/ToastTestPage-DT4wuN5C.js → public/assets/ToastTestPage-BfJQRFIm.js} +1 -1
- package/public/assets/ToolsList-Dl5F2fWk.js +1 -0
- package/public/assets/UnifiedToolSelector-CNbPsiuq.js +1 -0
- package/public/assets/VersionSettingsPage-BfoCcham.js +5 -0
- package/public/assets/_basePickBy-7C_e0Xv1.js +1 -0
- package/public/assets/_baseUniq-eGJNLBzx.js +1 -0
- package/public/assets/agents-ChrA1R0y.js +1 -0
- package/public/assets/arc-CuA752eE.js +1 -0
- package/public/assets/architectureDiagram-VXUJARFQ-BnPYh1OW.js +36 -0
- package/public/assets/blockDiagram-VD42YOAC-72nsMt_i.js +122 -0
- package/public/assets/c4Diagram-YG6GDRKO-BNJSAXcg.js +10 -0
- package/public/assets/channel-CIunGC5m.js +1 -0
- package/public/assets/chunk-4BX2VUAB-RPxkCWhH.js +1 -0
- package/public/assets/chunk-55IACEB6-3ePDt0kp.js +1 -0
- package/public/assets/chunk-B4BG7PRW-CBg_BBfl.js +165 -0
- package/public/assets/chunk-DI55MBZ5-DIh69TUJ.js +220 -0
- package/public/assets/chunk-FMBD7UC4-BbjwhyTe.js +15 -0
- package/public/assets/chunk-QN33PNHL-BpH-o_YR.js +1 -0
- package/public/assets/chunk-QZHKN3VN-DYB7rh5Q.js +1 -0
- package/public/assets/chunk-TZMSLE5B-DPCYEVb3.js +1 -0
- package/public/assets/classDiagram-2ON5EDUG-aUQHFsTA.js +1 -0
- package/public/assets/classDiagram-v2-WZHVMYZB-aUQHFsTA.js +1 -0
- package/public/assets/clone-Ckf7tA1V.js +1 -0
- package/public/assets/cose-bilkent-S5V4N54A-CnpfmL-Y.js +1 -0
- package/public/assets/cytoscape.esm-DtBltrT8.js +331 -0
- package/public/assets/dagre-6UL2VRFP-DR9x77Xf.js +4 -0
- package/{backend/dist/frontend/assets/data-structures-DLJedtzx.js → public/assets/data-structures-C0h9Oap1.js} +1 -1
- package/public/assets/defaultLocale-C4B-KCzX.js +1 -0
- package/public/assets/diagram-PSM6KHXK-SONPsQNx.js +24 -0
- package/public/assets/diagram-QEK2KX5R-BKYFSfC1.js +43 -0
- package/public/assets/diagram-S2PKOQOG-CkM0APZj.js +24 -0
- package/public/assets/erDiagram-Q2GNP2WA-BX1DpOGx.js +60 -0
- package/public/assets/flowDiagram-NV44I4VS-HAAlzNbq.js +162 -0
- package/public/assets/ganttDiagram-LVOFAZNH-BqzWexqa.js +267 -0
- package/public/assets/gitGraphDiagram-NY62KEGX-CIPmSp43.js +65 -0
- package/public/assets/graph-m515btDj.js +1 -0
- package/public/assets/index-Bn3v3S9-.js +293 -0
- package/public/assets/index-DWieeYj4.css +1 -0
- package/public/assets/infoDiagram-F6ZHWCRC-Pn4yNWrF.js +2 -0
- package/public/assets/init-Gi6I4Gst.js +1 -0
- package/public/assets/journeyDiagram-XKPGCS4Q-BfzTomS0.js +139 -0
- package/public/assets/kanban-definition-3W4ZIXB7-Cgju7b-L.js +89 -0
- package/public/assets/katex-qrhCpa0F.js +261 -0
- package/public/assets/layout-BKQfQSxJ.js +1 -0
- package/public/assets/linear-DigtLz3B.js +1 -0
- package/public/assets/mindmap-definition-VGOIOE7T-qopraVFy.js +68 -0
- package/public/assets/monaco-editor-DHKm5-VF.js +19 -0
- package/public/assets/ordinal-Cboi1Yqb.js +1 -0
- package/public/assets/pieDiagram-ADFJNKIX-BcoaAI-L.js +30 -0
- package/public/assets/quadrantDiagram-AYHSOK5B-D-DwcoSd.js +7 -0
- package/public/assets/requirementDiagram-UZGBJVZJ-DbQCpx77.js +64 -0
- package/public/assets/sankeyDiagram-TZEHDZUN-BVk8387S.js +10 -0
- package/public/assets/sequenceDiagram-WL72ISMW-BdzICjxO.js +145 -0
- package/public/assets/stateDiagram-FKZM4ZOC-CYY-uUvJ.js +1 -0
- package/public/assets/stateDiagram-v2-4FDKWEC3-Dh2Kvomq.js +1 -0
- package/{backend/dist/frontend/assets/syntax-highlighting-YWvMU4Hm.js → public/assets/syntax-highlighting-CnREyncB.js} +5 -5
- package/public/assets/tabManager-B2LQO_Ll.js +30 -0
- package/{backend/dist/frontend/assets/table-D6q1rytw.js → public/assets/table-D0L2RL5i.js} +1 -1
- package/public/assets/timeline-definition-IT6M3QCI-BAvjPYvX.js +61 -0
- package/public/assets/tools-IcPNZlPj.js +1 -0
- package/public/assets/treemap-KMMF4GRG-DtkpVA56.js +128 -0
- package/{backend/dist/frontend/assets/ui-components-Cw21Epuw.js → public/assets/ui-components-D1St49qC.js} +231 -96
- package/public/assets/useAgents-BnDTkOG8.js +2 -0
- package/public/assets/useClaudeVersions-CD59tFWM.js +1 -0
- package/public/assets/useCommands-mvMu3mMD.js +1 -0
- package/public/assets/useProjects-YXOjaOwL.js +1 -0
- package/public/assets/xychartDiagram-PRI3JC2R-ByBTDWE2.js +7 -0
- package/{backend/dist/frontend → public}/index.html +8 -8
- package/routes/__tests__/a2a.integration.test.d.ts +11 -0
- package/routes/__tests__/a2a.integration.test.d.ts.map +1 -0
- package/routes/__tests__/a2a.integration.test.js +314 -0
- package/routes/__tests__/a2a.integration.test.js.map +1 -0
- package/routes/__tests__/a2a.test.d.ts +6 -0
- package/routes/__tests__/a2a.test.d.ts.map +1 -0
- package/routes/__tests__/a2a.test.js +622 -0
- package/routes/__tests__/a2a.test.js.map +1 -0
- package/routes/__tests__/agents.test.d.ts +6 -0
- package/routes/__tests__/agents.test.d.ts.map +1 -0
- package/routes/__tests__/agents.test.js +315 -0
- package/routes/__tests__/agents.test.js.map +1 -0
- package/routes/__tests__/sessions.test.d.ts +7 -0
- package/routes/__tests__/sessions.test.d.ts.map +1 -0
- package/routes/__tests__/sessions.test.js +330 -0
- package/routes/__tests__/sessions.test.js.map +1 -0
- package/routes/a2a.d.ts +18 -0
- package/routes/a2a.d.ts.map +1 -0
- package/routes/a2a.js +649 -0
- package/routes/a2a.js.map +1 -0
- package/routes/a2a.streaming.test.d.ts +2 -0
- package/routes/a2a.streaming.test.d.ts.map +1 -0
- package/routes/a2a.streaming.test.js +167 -0
- package/routes/a2a.streaming.test.js.map +1 -0
- package/routes/a2aManagement.d.ts +21 -0
- package/routes/a2aManagement.d.ts.map +1 -0
- package/routes/a2aManagement.js +466 -0
- package/routes/a2aManagement.js.map +1 -0
- package/{backend/dist/routes → routes}/agents.d.ts.map +1 -1
- package/routes/agents.js +997 -0
- package/routes/agents.js.map +1 -0
- package/{backend/dist/routes → routes}/auth.d.ts.map +1 -1
- package/routes/auth.js +135 -0
- package/routes/auth.js.map +1 -0
- package/{backend/dist/routes → routes}/commands.d.ts.map +1 -1
- package/{backend/dist/routes → routes}/commands.js +115 -31
- package/routes/commands.js.map +1 -0
- package/routes/config.d.ts +4 -0
- package/routes/config.d.ts.map +1 -0
- package/routes/config.js +211 -0
- package/routes/config.js.map +1 -0
- package/{backend/dist/routes → routes}/files.d.ts.map +1 -1
- package/{backend/dist/routes → routes}/files.js +103 -43
- package/routes/files.js.map +1 -0
- package/routes/mcp.d.ts +27 -0
- package/routes/mcp.d.ts.map +1 -0
- package/{backend/dist/routes → routes}/mcp.js +195 -105
- package/routes/mcp.js.map +1 -0
- package/routes/mcpAdmin.d.ts +16 -0
- package/routes/mcpAdmin.d.ts.map +1 -0
- package/routes/mcpAdmin.js +308 -0
- package/routes/mcpAdmin.js.map +1 -0
- package/routes/mcpAdminManagement.d.ts +17 -0
- package/routes/mcpAdminManagement.d.ts.map +1 -0
- package/routes/mcpAdminManagement.js +345 -0
- package/routes/mcpAdminManagement.js.map +1 -0
- package/routes/media.d.ts.map +1 -0
- package/{backend/dist/routes → routes}/media.js +52 -42
- package/routes/media.js.map +1 -0
- package/routes/mediaAuth.d.ts +8 -0
- package/routes/mediaAuth.d.ts.map +1 -0
- package/routes/mediaAuth.js +136 -0
- package/routes/mediaAuth.js.map +1 -0
- package/routes/plugins.d.ts +4 -0
- package/routes/plugins.d.ts.map +1 -0
- package/routes/plugins.js +339 -0
- package/routes/plugins.js.map +1 -0
- package/{backend/dist/routes → routes}/projects.d.ts.map +1 -1
- package/routes/projects.js +884 -0
- package/routes/projects.js.map +1 -0
- package/routes/scheduledTasks.d.ts +9 -0
- package/routes/scheduledTasks.d.ts.map +1 -0
- package/routes/scheduledTasks.js +320 -0
- package/routes/scheduledTasks.js.map +1 -0
- package/{backend/dist/routes → routes}/sessions.d.ts.map +1 -1
- package/{backend/dist/routes → routes}/sessions.js +258 -39
- package/routes/sessions.js.map +1 -0
- package/{backend/dist/routes → routes}/settings.d.ts.map +1 -1
- package/{backend/dist/routes → routes}/settings.js +82 -241
- package/routes/settings.js.map +1 -0
- package/{backend/dist/routes/mcp.d.ts → routes/skills.d.ts} +1 -1
- package/routes/skills.d.ts.map +1 -0
- package/routes/skills.js +272 -0
- package/routes/skills.js.map +1 -0
- package/routes/slack.d.ts +10 -0
- package/routes/slack.d.ts.map +1 -0
- package/routes/slack.js +189 -0
- package/routes/slack.js.map +1 -0
- package/{backend/dist/routes → routes}/slides.d.ts.map +1 -1
- package/{backend/dist/routes → routes}/slides.js +29 -27
- package/routes/slides.js.map +1 -0
- package/{backend/dist/routes → routes}/subagents.js +27 -22
- package/routes/subagents.js.map +1 -0
- package/schemas/a2a.d.ts +858 -0
- package/schemas/a2a.d.ts.map +1 -0
- package/schemas/a2a.js +300 -0
- package/schemas/a2a.js.map +1 -0
- package/scripts/postinstall.js +10 -0
- package/services/__tests__/pluginInstaller.test.d.ts +5 -0
- package/services/__tests__/pluginInstaller.test.d.ts.map +1 -0
- package/services/__tests__/pluginInstaller.test.js +290 -0
- package/services/__tests__/pluginInstaller.test.js.map +1 -0
- package/services/__tests__/pluginParser.test.d.ts +5 -0
- package/services/__tests__/pluginParser.test.d.ts.map +1 -0
- package/services/__tests__/pluginParser.test.js +272 -0
- package/services/__tests__/pluginParser.test.js.map +1 -0
- package/services/__tests__/pluginPaths.test.d.ts +5 -0
- package/services/__tests__/pluginPaths.test.d.ts.map +1 -0
- package/services/__tests__/pluginPaths.test.js +221 -0
- package/services/__tests__/pluginPaths.test.js.map +1 -0
- package/services/__tests__/pluginScanner.test.d.ts +5 -0
- package/services/__tests__/pluginScanner.test.d.ts.map +1 -0
- package/services/__tests__/pluginScanner.test.js +272 -0
- package/services/__tests__/pluginScanner.test.js.map +1 -0
- package/services/__tests__/pluginSymlink.test.d.ts +5 -0
- package/services/__tests__/pluginSymlink.test.d.ts.map +1 -0
- package/services/__tests__/pluginSymlink.test.js +318 -0
- package/services/__tests__/pluginSymlink.test.js.map +1 -0
- package/services/__tests__/slackAIService.test.d.ts +5 -0
- package/services/__tests__/slackAIService.test.d.ts.map +1 -0
- package/services/__tests__/slackAIService.test.js +477 -0
- package/services/__tests__/slackAIService.test.js.map +1 -0
- package/services/__tests__/slackThreadMapper.test.d.ts +5 -0
- package/services/__tests__/slackThreadMapper.test.d.ts.map +1 -0
- package/services/__tests__/slackThreadMapper.test.js +194 -0
- package/services/__tests__/slackThreadMapper.test.js.map +1 -0
- package/services/a2a/__tests__/a2aClientTool.integration.test.d.ts +6 -0
- package/services/a2a/__tests__/a2aClientTool.integration.test.d.ts.map +1 -0
- package/services/a2a/__tests__/a2aClientTool.integration.test.js +264 -0
- package/services/a2a/__tests__/a2aClientTool.integration.test.js.map +1 -0
- package/services/a2a/__tests__/a2aClientTool.test.d.ts +6 -0
- package/services/a2a/__tests__/a2aClientTool.test.d.ts.map +1 -0
- package/services/a2a/__tests__/a2aClientTool.test.js +418 -0
- package/services/a2a/__tests__/a2aClientTool.test.js.map +1 -0
- package/services/a2a/__tests__/a2aConfigService.test.d.ts +6 -0
- package/services/a2a/__tests__/a2aConfigService.test.d.ts.map +1 -0
- package/services/a2a/__tests__/a2aConfigService.test.js +431 -0
- package/services/a2a/__tests__/a2aConfigService.test.js.map +1 -0
- package/services/a2a/__tests__/a2aConfigServicePath.test.d.ts +2 -0
- package/services/a2a/__tests__/a2aConfigServicePath.test.d.ts.map +1 -0
- package/services/a2a/__tests__/a2aConfigServicePath.test.js +49 -0
- package/services/a2a/__tests__/a2aConfigServicePath.test.js.map +1 -0
- package/services/a2a/__tests__/a2aSdkMcp.test.d.ts +10 -0
- package/services/a2a/__tests__/a2aSdkMcp.test.d.ts.map +1 -0
- package/services/a2a/__tests__/a2aSdkMcp.test.js +239 -0
- package/services/a2a/__tests__/a2aSdkMcp.test.js.map +1 -0
- package/services/a2a/__tests__/agentCardService.test.d.ts +6 -0
- package/services/a2a/__tests__/agentCardService.test.d.ts.map +1 -0
- package/services/a2a/__tests__/agentCardService.test.js +292 -0
- package/services/a2a/__tests__/agentCardService.test.js.map +1 -0
- package/services/a2a/__tests__/apiKeyService.test.d.ts +6 -0
- package/services/a2a/__tests__/apiKeyService.test.d.ts.map +1 -0
- package/services/a2a/__tests__/apiKeyService.test.js +284 -0
- package/services/a2a/__tests__/apiKeyService.test.js.map +1 -0
- package/services/a2a/__tests__/buildQueryOptionsIntegration.test.d.ts +2 -0
- package/services/a2a/__tests__/buildQueryOptionsIntegration.test.d.ts.map +1 -0
- package/services/a2a/__tests__/buildQueryOptionsIntegration.test.js +70 -0
- package/services/a2a/__tests__/buildQueryOptionsIntegration.test.js.map +1 -0
- package/services/a2a/__tests__/dynamic_config_verification.test.d.ts +2 -0
- package/services/a2a/__tests__/dynamic_config_verification.test.d.ts.map +1 -0
- package/services/a2a/__tests__/dynamic_config_verification.test.js +67 -0
- package/services/a2a/__tests__/dynamic_config_verification.test.js.map +1 -0
- package/services/a2a/__tests__/integrateA2AMcpServer.test.d.ts +2 -0
- package/services/a2a/__tests__/integrateA2AMcpServer.test.d.ts.map +1 -0
- package/services/a2a/__tests__/integrateA2AMcpServer.test.js +112 -0
- package/services/a2a/__tests__/integrateA2AMcpServer.test.js.map +1 -0
- package/services/a2a/__tests__/taskManager.integration.test.d.ts +7 -0
- package/services/a2a/__tests__/taskManager.integration.test.d.ts.map +1 -0
- package/services/a2a/__tests__/taskManager.integration.test.js +346 -0
- package/services/a2a/__tests__/taskManager.integration.test.js.map +1 -0
- package/services/a2a/__tests__/taskManager.test.d.ts +7 -0
- package/services/a2a/__tests__/taskManager.test.d.ts.map +1 -0
- package/services/a2a/__tests__/taskManager.test.js +423 -0
- package/services/a2a/__tests__/taskManager.test.js.map +1 -0
- package/services/a2a/a2aClientTool.d.ts +73 -0
- package/services/a2a/a2aClientTool.d.ts.map +1 -0
- package/services/a2a/a2aClientTool.js +572 -0
- package/services/a2a/a2aClientTool.js.map +1 -0
- package/services/a2a/a2aConfigService.d.ts +50 -0
- package/services/a2a/a2aConfigService.d.ts.map +1 -0
- package/services/a2a/a2aConfigService.js +186 -0
- package/services/a2a/a2aConfigService.js.map +1 -0
- package/services/a2a/a2aHistoryService.d.ts +32 -0
- package/services/a2a/a2aHistoryService.d.ts.map +1 -0
- package/services/a2a/a2aHistoryService.js +108 -0
- package/services/a2a/a2aHistoryService.js.map +1 -0
- package/services/a2a/a2aIntegration.d.ts +9 -0
- package/services/a2a/a2aIntegration.d.ts.map +1 -0
- package/services/a2a/a2aIntegration.js +41 -0
- package/services/a2a/a2aIntegration.js.map +1 -0
- package/services/a2a/a2aQueryService.d.ts +71 -0
- package/services/a2a/a2aQueryService.d.ts.map +1 -0
- package/services/a2a/a2aQueryService.js +166 -0
- package/services/a2a/a2aQueryService.js.map +1 -0
- package/services/a2a/a2aSdkMcp.d.ts +51 -0
- package/services/a2a/a2aSdkMcp.d.ts.map +1 -0
- package/services/a2a/a2aSdkMcp.js +185 -0
- package/services/a2a/a2aSdkMcp.js.map +1 -0
- package/services/a2a/a2aStreamEvents.d.ts +94 -0
- package/services/a2a/a2aStreamEvents.d.ts.map +1 -0
- package/services/a2a/a2aStreamEvents.js +92 -0
- package/services/a2a/a2aStreamEvents.js.map +1 -0
- package/services/a2a/agentCardService.d.ts +34 -0
- package/services/a2a/agentCardService.d.ts.map +1 -0
- package/services/a2a/agentCardService.js +228 -0
- package/services/a2a/agentCardService.js.map +1 -0
- package/services/a2a/agentMappingService.d.ts +53 -0
- package/services/a2a/agentMappingService.d.ts.map +1 -0
- package/services/a2a/agentMappingService.js +185 -0
- package/services/a2a/agentMappingService.js.map +1 -0
- package/services/a2a/apiKeyService.d.ts +101 -0
- package/services/a2a/apiKeyService.d.ts.map +1 -0
- package/services/a2a/apiKeyService.js +314 -0
- package/services/a2a/apiKeyService.js.map +1 -0
- package/services/a2a/taskCleanup.d.ts +30 -0
- package/services/a2a/taskCleanup.d.ts.map +1 -0
- package/services/a2a/taskCleanup.js +184 -0
- package/services/a2a/taskCleanup.js.map +1 -0
- package/services/a2a/taskManager.d.ts +86 -0
- package/services/a2a/taskManager.d.ts.map +1 -0
- package/services/a2a/taskManager.js +263 -0
- package/services/a2a/taskManager.js.map +1 -0
- package/services/agentStorage.d.ts +27 -0
- package/services/agentStorage.d.ts.map +1 -0
- package/services/agentStorage.js +487 -0
- package/services/agentStorage.js.map +1 -0
- package/services/askUserQuestion/askUserQuestionIntegration.d.ts +24 -0
- package/services/askUserQuestion/askUserQuestionIntegration.d.ts.map +1 -0
- package/services/askUserQuestion/askUserQuestionIntegration.js +52 -0
- package/services/askUserQuestion/askUserQuestionIntegration.js.map +1 -0
- package/services/askUserQuestion/askUserQuestionMcp.d.ts +103 -0
- package/services/askUserQuestion/askUserQuestionMcp.d.ts.map +1 -0
- package/services/askUserQuestion/askUserQuestionMcp.js +129 -0
- package/services/askUserQuestion/askUserQuestionMcp.js.map +1 -0
- package/services/askUserQuestion/index.d.ts +13 -0
- package/services/askUserQuestion/index.d.ts.map +1 -0
- package/services/askUserQuestion/index.js +35 -0
- package/services/askUserQuestion/index.js.map +1 -0
- package/services/askUserQuestion/init.d.ts +17 -0
- package/services/askUserQuestion/init.d.ts.map +1 -0
- package/services/askUserQuestion/init.js +47 -0
- package/services/askUserQuestion/init.js.map +1 -0
- package/services/askUserQuestion/notificationChannel.d.ts +97 -0
- package/services/askUserQuestion/notificationChannel.d.ts.map +1 -0
- package/services/askUserQuestion/notificationChannel.js +147 -0
- package/services/askUserQuestion/notificationChannel.js.map +1 -0
- package/services/askUserQuestion/slackNotificationChannel.d.ts +35 -0
- package/services/askUserQuestion/slackNotificationChannel.d.ts.map +1 -0
- package/services/askUserQuestion/slackNotificationChannel.js +129 -0
- package/services/askUserQuestion/slackNotificationChannel.js.map +1 -0
- package/services/askUserQuestion/sseNotificationChannel.d.ts +36 -0
- package/services/askUserQuestion/sseNotificationChannel.d.ts.map +1 -0
- package/services/askUserQuestion/sseNotificationChannel.js +88 -0
- package/services/askUserQuestion/sseNotificationChannel.js.map +1 -0
- package/services/askUserQuestion/userInputRegistry.d.ts +107 -0
- package/services/askUserQuestion/userInputRegistry.d.ts.map +1 -0
- package/services/askUserQuestion/userInputRegistry.js +253 -0
- package/services/askUserQuestion/userInputRegistry.js.map +1 -0
- package/{backend/dist/services → services}/claudeSession.d.ts +20 -5
- package/services/claudeSession.d.ts.map +1 -0
- package/{backend/dist/services → services}/claudeSession.js +123 -41
- package/services/claudeSession.js.map +1 -0
- package/services/claudeVersionStorage.d.ts +20 -0
- package/services/claudeVersionStorage.d.ts.map +1 -0
- package/services/claudeVersionStorage.js +331 -0
- package/services/claudeVersionStorage.js.map +1 -0
- package/services/mcpAdmin/__tests__/adminApiKeyService.test.d.ts +5 -0
- package/services/mcpAdmin/__tests__/adminApiKeyService.test.d.ts.map +1 -0
- package/services/mcpAdmin/__tests__/adminApiKeyService.test.js +289 -0
- package/services/mcpAdmin/__tests__/adminApiKeyService.test.js.map +1 -0
- package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.d.ts +5 -0
- package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.d.ts.map +1 -0
- package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.js +345 -0
- package/services/mcpAdmin/__tests__/mcpAdminRoutes.test.js.map +1 -0
- package/services/mcpAdmin/__tests__/mcpAdminServer.test.d.ts +5 -0
- package/services/mcpAdmin/__tests__/mcpAdminServer.test.d.ts.map +1 -0
- package/services/mcpAdmin/__tests__/mcpAdminServer.test.js +453 -0
- package/services/mcpAdmin/__tests__/mcpAdminServer.test.js.map +1 -0
- package/services/mcpAdmin/__tests__/tools.test.d.ts +5 -0
- package/services/mcpAdmin/__tests__/tools.test.d.ts.map +1 -0
- package/services/mcpAdmin/__tests__/tools.test.js +371 -0
- package/services/mcpAdmin/__tests__/tools.test.js.map +1 -0
- package/services/mcpAdmin/adminApiKeyService.d.ts +61 -0
- package/services/mcpAdmin/adminApiKeyService.d.ts.map +1 -0
- package/services/mcpAdmin/adminApiKeyService.js +270 -0
- package/services/mcpAdmin/adminApiKeyService.js.map +1 -0
- package/services/mcpAdmin/index.d.ts +10 -0
- package/services/mcpAdmin/index.d.ts.map +1 -0
- package/services/mcpAdmin/index.js +43 -0
- package/services/mcpAdmin/index.js.map +1 -0
- package/services/mcpAdmin/mcpAdminServer.d.ts +76 -0
- package/services/mcpAdmin/mcpAdminServer.d.ts.map +1 -0
- package/services/mcpAdmin/mcpAdminServer.js +243 -0
- package/services/mcpAdmin/mcpAdminServer.js.map +1 -0
- package/services/mcpAdmin/tools/agentTools.d.ts +27 -0
- package/services/mcpAdmin/tools/agentTools.d.ts.map +1 -0
- package/services/mcpAdmin/tools/agentTools.js +359 -0
- package/services/mcpAdmin/tools/agentTools.js.map +1 -0
- package/services/mcpAdmin/tools/index.d.ts +15 -0
- package/services/mcpAdmin/tools/index.d.ts.map +1 -0
- package/services/mcpAdmin/tools/index.js +30 -0
- package/services/mcpAdmin/tools/index.js.map +1 -0
- package/services/mcpAdmin/tools/mcpServerTools.d.ts +27 -0
- package/services/mcpAdmin/tools/mcpServerTools.d.ts.map +1 -0
- package/services/mcpAdmin/tools/mcpServerTools.js +334 -0
- package/services/mcpAdmin/tools/mcpServerTools.js.map +1 -0
- package/services/mcpAdmin/tools/projectTools.d.ts +27 -0
- package/services/mcpAdmin/tools/projectTools.d.ts.map +1 -0
- package/services/mcpAdmin/tools/projectTools.js +353 -0
- package/services/mcpAdmin/tools/projectTools.js.map +1 -0
- package/services/mcpAdmin/tools/systemTools.d.ts +23 -0
- package/services/mcpAdmin/tools/systemTools.d.ts.map +1 -0
- package/services/mcpAdmin/tools/systemTools.js +241 -0
- package/services/mcpAdmin/tools/systemTools.js.map +1 -0
- package/services/mcpAdmin/types.d.ts +124 -0
- package/services/mcpAdmin/types.d.ts.map +1 -0
- package/services/mcpAdmin/types.js +18 -0
- package/services/mcpAdmin/types.js.map +1 -0
- package/{backend/dist/services → services}/messageQueue.d.ts.map +1 -1
- package/{backend/dist/services → services}/messageQueue.js +16 -3
- package/services/messageQueue.js.map +1 -0
- package/services/pluginInstaller.d.ts +58 -0
- package/services/pluginInstaller.d.ts.map +1 -0
- package/services/pluginInstaller.js +321 -0
- package/services/pluginInstaller.js.map +1 -0
- package/services/pluginParser.d.ts +45 -0
- package/services/pluginParser.d.ts.map +1 -0
- package/services/pluginParser.js +437 -0
- package/services/pluginParser.js.map +1 -0
- package/services/pluginPaths.d.ts +80 -0
- package/services/pluginPaths.d.ts.map +1 -0
- package/services/pluginPaths.js +274 -0
- package/services/pluginPaths.js.map +1 -0
- package/services/pluginScanner.d.ts +36 -0
- package/services/pluginScanner.d.ts.map +1 -0
- package/services/pluginScanner.js +251 -0
- package/services/pluginScanner.js.map +1 -0
- package/services/pluginSymlink.d.ts +54 -0
- package/services/pluginSymlink.d.ts.map +1 -0
- package/services/pluginSymlink.js +223 -0
- package/services/pluginSymlink.js.map +1 -0
- package/services/projectMetadataStorage.d.ts +114 -0
- package/services/projectMetadataStorage.d.ts.map +1 -0
- package/services/projectMetadataStorage.js +711 -0
- package/services/projectMetadataStorage.js.map +1 -0
- package/services/scheduledTaskStorage.d.ts +52 -0
- package/services/scheduledTaskStorage.d.ts.map +1 -0
- package/services/scheduledTaskStorage.js +285 -0
- package/services/scheduledTaskStorage.js.map +1 -0
- package/services/schedulerService.d.ts +81 -0
- package/services/schedulerService.d.ts.map +1 -0
- package/services/schedulerService.js +743 -0
- package/services/schedulerService.js.map +1 -0
- package/{backend/dist/services → services}/sessionManager.d.ts +6 -4
- package/services/sessionManager.d.ts.map +1 -0
- package/{backend/dist/services → services}/sessionManager.js +77 -16
- package/services/sessionManager.js.map +1 -0
- package/services/skillStorage.d.ts +60 -0
- package/services/skillStorage.d.ts.map +1 -0
- package/services/skillStorage.js +398 -0
- package/services/skillStorage.js.map +1 -0
- package/services/slackAIService.d.ts +81 -0
- package/services/slackAIService.d.ts.map +1 -0
- package/services/slackAIService.js +1091 -0
- package/services/slackAIService.js.map +1 -0
- package/services/slackClient.d.ts +46 -0
- package/services/slackClient.d.ts.map +1 -0
- package/services/slackClient.js +85 -0
- package/services/slackClient.js.map +1 -0
- package/services/slackSessionLock.d.ts +79 -0
- package/services/slackSessionLock.d.ts.map +1 -0
- package/services/slackSessionLock.js +353 -0
- package/services/slackSessionLock.js.map +1 -0
- package/services/slackThreadMapper.d.ts +57 -0
- package/services/slackThreadMapper.d.ts.map +1 -0
- package/services/slackThreadMapper.js +140 -0
- package/services/slackThreadMapper.js.map +1 -0
- package/types/a2a.d.ts +275 -0
- package/types/a2a.d.ts.map +1 -0
- package/types/a2a.js +23 -0
- package/types/a2a.js.map +1 -0
- package/types/agents.d.ts +95 -0
- package/types/agents.d.ts.map +1 -0
- package/types/agents.js +46 -0
- package/types/agents.js.map +1 -0
- package/types/claude-history.d.ts +62 -0
- package/types/claude-history.d.ts.map +1 -0
- package/types/claude-history.js +4 -0
- package/types/claude-history.js.map +1 -0
- package/types/claude-versions.d.ts +36 -0
- package/types/claude-versions.d.ts.map +1 -0
- package/types/claude-versions.js +3 -0
- package/types/claude-versions.js.map +1 -0
- package/types/commands.d.ts +50 -0
- package/types/commands.d.ts.map +1 -0
- package/types/commands.js +23 -0
- package/types/commands.js.map +1 -0
- package/types/plugins.d.ts +144 -0
- package/types/plugins.d.ts.map +1 -0
- package/types/plugins.js +8 -0
- package/types/plugins.js.map +1 -0
- package/types/projects.d.ts +42 -0
- package/types/projects.d.ts.map +1 -0
- package/types/projects.js +4 -0
- package/types/projects.js.map +1 -0
- package/types/scheduledTasks.d.ts +164 -0
- package/types/scheduledTasks.d.ts.map +1 -0
- package/types/scheduledTasks.js +17 -0
- package/types/scheduledTasks.js.map +1 -0
- package/types/skills.d.ts +91 -0
- package/types/skills.d.ts.map +1 -0
- package/types/skills.js +6 -0
- package/types/skills.js.map +1 -0
- package/types/slack.d.ts +97 -0
- package/types/slack.d.ts.map +1 -0
- package/types/slack.js +8 -0
- package/types/slack.js.map +1 -0
- package/types/streaming.d.ts +12 -0
- package/types/streaming.d.ts.map +1 -0
- package/types/streaming.js +8 -0
- package/types/streaming.js.map +1 -0
- package/types/subagents.d.ts +26 -0
- package/types/subagents.d.ts.map +1 -0
- package/types/subagents.js +3 -0
- package/types/subagents.js.map +1 -0
- package/utils/__tests__/claudeUtils.test.d.ts +5 -0
- package/utils/__tests__/claudeUtils.test.d.ts.map +1 -0
- package/utils/__tests__/claudeUtils.test.js +282 -0
- package/utils/__tests__/claudeUtils.test.js.map +1 -0
- package/utils/__tests__/sessionUtils.test.d.ts +5 -0
- package/utils/__tests__/sessionUtils.test.d.ts.map +1 -0
- package/utils/__tests__/sessionUtils.test.js +295 -0
- package/utils/__tests__/sessionUtils.test.js.map +1 -0
- package/utils/agentCardCache.d.ts +93 -0
- package/utils/agentCardCache.d.ts.map +1 -0
- package/utils/agentCardCache.js +212 -0
- package/utils/agentCardCache.js.map +1 -0
- package/utils/claudeUtils.d.ts +54 -0
- package/utils/claudeUtils.d.ts.map +1 -0
- package/utils/claudeUtils.js +387 -0
- package/utils/claudeUtils.js.map +1 -0
- package/utils/fileUtils.d.ts +2 -0
- package/utils/fileUtils.d.ts.map +1 -0
- package/utils/fileUtils.js +11 -0
- package/utils/fileUtils.js.map +1 -0
- package/utils/jwt.d.ts +30 -0
- package/utils/jwt.d.ts.map +1 -0
- package/utils/jwt.js +95 -0
- package/utils/jwt.js.map +1 -0
- package/utils/sessionUtils.d.ts +64 -0
- package/utils/sessionUtils.d.ts.map +1 -0
- package/utils/sessionUtils.js +266 -0
- package/utils/sessionUtils.js.map +1 -0
- package/README.zh-CN.md +0 -525
- package/backend/dist/bin/agentstudio.js +0 -120
- package/backend/dist/bin/agentstudio.js.map +0 -1
- package/backend/dist/frontend/assets/AgentsPage-Dqb_aqAA.js +0 -1
- package/backend/dist/frontend/assets/ChatPage-L8Paywyc.js +0 -91
- package/backend/dist/frontend/assets/CommandForm-DLl7EIMS.js +0 -7
- package/backend/dist/frontend/assets/CommandsPage-Bzavq0Ec.js +0 -1
- package/backend/dist/frontend/assets/DashboardPage-B3o4AYFT.js +0 -15
- package/backend/dist/frontend/assets/FileBrowser-DL3ayaqb.js +0 -1
- package/backend/dist/frontend/assets/GeneralSettingsPage-CBN_de-V.js +0 -1
- package/backend/dist/frontend/assets/LandingPage-Dl4ioKos.js +0 -1
- package/backend/dist/frontend/assets/LoginPage-4QqRdiSi.js +0 -12
- package/backend/dist/frontend/assets/McpPage-CY3tYiqj.js +0 -39
- package/backend/dist/frontend/assets/MemorySettingsPage-DGxrok5K.js +0 -1
- package/backend/dist/frontend/assets/ProjectSelector-hgmGYVFh.js +0 -1
- package/backend/dist/frontend/assets/ProjectsPage-D399IM0c.js +0 -14
- package/backend/dist/frontend/assets/SettingsLayout-CL_K-lzJ.js +0 -1
- package/backend/dist/frontend/assets/SubagentsPage-Chbhj8p2.js +0 -1
- package/backend/dist/frontend/assets/UnifiedToolSelector-CsM9qBvs.js +0 -1
- package/backend/dist/frontend/assets/VersionSettingsPage-74Q-LVgA.js +0 -5
- package/backend/dist/frontend/assets/agents-ClAzIJTw.js +0 -1
- package/backend/dist/frontend/assets/authFetch-BATQyPG5.js +0 -1
- package/backend/dist/frontend/assets/index-B9YHa7XT.css +0 -1
- package/backend/dist/frontend/assets/index-B_CTNvca.js +0 -268
- package/backend/dist/frontend/assets/monaco-editor-C7Z4sOhS.js +0 -19
- package/backend/dist/frontend/assets/tabManager-DV8urRBM.js +0 -30
- package/backend/dist/frontend/assets/tools-C4EPanYi.js +0 -1
- package/backend/dist/frontend/assets/useAgents-DwnOE1_k.js +0 -2
- package/backend/dist/frontend/assets/useClaudeVersions-CQdGnCqv.js +0 -1
- package/backend/dist/frontend/assets/useCommands-CCVaurbt.js +0 -1
- package/backend/dist/index.d.ts +0 -3
- package/backend/dist/index.d.ts.map +0 -1
- package/backend/dist/index.js +0 -157
- package/backend/dist/index.js.map +0 -1
- package/backend/dist/middleware/auth.d.ts.map +0 -1
- package/backend/dist/middleware/auth.js +0 -21
- package/backend/dist/middleware/auth.js.map +0 -1
- package/backend/dist/routes/agents.js +0 -803
- package/backend/dist/routes/agents.js.map +0 -1
- package/backend/dist/routes/auth.js +0 -60
- package/backend/dist/routes/auth.js.map +0 -1
- package/backend/dist/routes/commands.js.map +0 -1
- package/backend/dist/routes/files.js.map +0 -1
- package/backend/dist/routes/mcp.d.ts.map +0 -1
- package/backend/dist/routes/mcp.js.map +0 -1
- package/backend/dist/routes/media.d.ts.map +0 -1
- package/backend/dist/routes/media.js.map +0 -1
- package/backend/dist/routes/projects.js +0 -528
- package/backend/dist/routes/projects.js.map +0 -1
- package/backend/dist/routes/sessions.js.map +0 -1
- package/backend/dist/routes/settings.js.map +0 -1
- package/backend/dist/routes/slides.js.map +0 -1
- package/backend/dist/routes/subagents.js.map +0 -1
- package/backend/dist/services/claudeSession.d.ts.map +0 -1
- package/backend/dist/services/claudeSession.js.map +0 -1
- package/backend/dist/services/messageQueue.js.map +0 -1
- package/backend/dist/services/sessionManager.d.ts.map +0 -1
- package/backend/dist/services/sessionManager.js.map +0 -1
- package/backend/dist/utils/jwt.d.ts +0 -15
- package/backend/dist/utils/jwt.d.ts.map +0 -1
- package/backend/dist/utils/jwt.js +0 -28
- package/backend/dist/utils/jwt.js.map +0 -1
- /package/{backend/dist/bin → bin}/agentstudio.d.ts +0 -0
- /package/{backend/dist/bin → bin}/agentstudio.d.ts.map +0 -0
- /package/{backend/dist/frontend → public}/assets/ChatPage-BvQmXfcP.css +0 -0
- /package/{backend/dist/frontend → public}/assets/agents-DwCY2K8p.css +0 -0
- /package/{backend/dist/frontend → public}/assets/dateFormat-CXa8VnEC.js +0 -0
- /package/{backend/dist/frontend → public}/cc-studio.png +0 -0
- /package/{backend/dist/frontend → public}/vite.svg +0 -0
- /package/{backend/dist/routes → routes}/agents.d.ts +0 -0
- /package/{backend/dist/routes → routes}/auth.d.ts +0 -0
- /package/{backend/dist/routes → routes}/commands.d.ts +0 -0
- /package/{backend/dist/routes → routes}/files.d.ts +0 -0
- /package/{backend/dist/routes → routes}/media.d.ts +0 -0
- /package/{backend/dist/routes → routes}/projects.d.ts +0 -0
- /package/{backend/dist/routes → routes}/sessions.d.ts +0 -0
- /package/{backend/dist/routes → routes}/settings.d.ts +0 -0
- /package/{backend/dist/routes → routes}/slides.d.ts +0 -0
- /package/{backend/dist/routes → routes}/subagents.d.ts +0 -0
- /package/{backend/dist/routes → routes}/subagents.d.ts.map +0 -0
- /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"}
|