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,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2A Client SDK MCP Server
|
|
3
|
+
*
|
|
4
|
+
* Implements an in-process MCP server using Claude Agent SDK that enables
|
|
5
|
+
* agents to call external A2A-compatible agents with dynamic tool documentation.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Dynamic tool description based on project's A2A configuration
|
|
9
|
+
* - SessionId support for multi-turn conversations
|
|
10
|
+
* - Integration with existing callExternalAgent function
|
|
11
|
+
*/
|
|
12
|
+
import { z } from 'zod';
|
|
13
|
+
/**
|
|
14
|
+
* Create SDK MCP server for A2A client tool
|
|
15
|
+
*
|
|
16
|
+
* This server runs in-process within the Claude Agent SDK and provides
|
|
17
|
+
* a tool for calling external A2A agents.
|
|
18
|
+
*
|
|
19
|
+
* @param projectId - Project identifier for loading A2A configuration
|
|
20
|
+
* @returns SDK MCP server instance and tool definitions
|
|
21
|
+
*/
|
|
22
|
+
export declare function createA2ASdkMcpServer(projectId: string): Promise<{
|
|
23
|
+
server: import("@anthropic-ai/claude-agent-sdk").McpSdkServerConfigWithInstance;
|
|
24
|
+
tool: {
|
|
25
|
+
name: string;
|
|
26
|
+
description: string;
|
|
27
|
+
inputSchema: {
|
|
28
|
+
agentUrl: z.ZodString;
|
|
29
|
+
agentName: z.ZodOptional<z.ZodString>;
|
|
30
|
+
message: z.ZodString;
|
|
31
|
+
sessionId: z.ZodOptional<z.ZodString>;
|
|
32
|
+
useTask: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
33
|
+
};
|
|
34
|
+
handler: (args: {
|
|
35
|
+
message: string;
|
|
36
|
+
agentUrl: string;
|
|
37
|
+
useTask: boolean;
|
|
38
|
+
sessionId?: string | undefined;
|
|
39
|
+
agentName?: string | undefined;
|
|
40
|
+
}, extra: unknown) => Promise<CallToolResult>;
|
|
41
|
+
};
|
|
42
|
+
}>;
|
|
43
|
+
/**
|
|
44
|
+
* Get tool name as it appears to Claude
|
|
45
|
+
*
|
|
46
|
+
* SDK MCP tools are prefixed with "mcp__{server_name}__"
|
|
47
|
+
*
|
|
48
|
+
* @returns Full tool name
|
|
49
|
+
*/
|
|
50
|
+
export declare function getA2AToolName(): string;
|
|
51
|
+
//# sourceMappingURL=a2aSdkMcp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a2aSdkMcp.d.ts","sourceRoot":"","sources":["../../../src/services/a2a/a2aSdkMcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAyCxB;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;GAgI5D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* A2A Client SDK MCP Server
|
|
4
|
+
*
|
|
5
|
+
* Implements an in-process MCP server using Claude Agent SDK that enables
|
|
6
|
+
* agents to call external A2A-compatible agents with dynamic tool documentation.
|
|
7
|
+
*
|
|
8
|
+
* Features:
|
|
9
|
+
* - Dynamic tool description based on project's A2A configuration
|
|
10
|
+
* - SessionId support for multi-turn conversations
|
|
11
|
+
* - Integration with existing callExternalAgent function
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.createA2ASdkMcpServer = createA2ASdkMcpServer;
|
|
15
|
+
exports.getA2AToolName = getA2AToolName;
|
|
16
|
+
const claude_agent_sdk_1 = require("@anthropic-ai/claude-agent-sdk");
|
|
17
|
+
const zod_1 = require("zod");
|
|
18
|
+
const a2aConfigService_js_1 = require("./a2aConfigService.js");
|
|
19
|
+
const a2aClientTool_js_1 = require("./a2aClientTool.js");
|
|
20
|
+
/**
|
|
21
|
+
* Generate dynamic tool description based on project's A2A configuration
|
|
22
|
+
*
|
|
23
|
+
* Lists all enabled external agents to help Claude decide which agent to call.
|
|
24
|
+
*
|
|
25
|
+
* @param projectId - Project identifier
|
|
26
|
+
* @returns Tool description with available agents
|
|
27
|
+
*/
|
|
28
|
+
async function generateToolDescription(projectId) {
|
|
29
|
+
const config = await (0, a2aConfigService_js_1.loadA2AConfig)(projectId);
|
|
30
|
+
if (!config) {
|
|
31
|
+
return 'Call an external A2A-compatible agent. No A2A configuration found for this project.';
|
|
32
|
+
}
|
|
33
|
+
const enabledAgents = config.allowedAgents.filter((a) => a.enabled);
|
|
34
|
+
let description = 'Call an external A2A-compatible agent to delegate tasks or retrieve information. ';
|
|
35
|
+
if (enabledAgents.length > 0) {
|
|
36
|
+
description += '\n\nAvailable external agents:\n';
|
|
37
|
+
for (const agent of enabledAgents) {
|
|
38
|
+
description += `\n• ${agent.name}`;
|
|
39
|
+
if (agent.description) {
|
|
40
|
+
description += `: ${agent.description}`;
|
|
41
|
+
}
|
|
42
|
+
description += `\n URL: ${agent.url}`;
|
|
43
|
+
}
|
|
44
|
+
description += '\n\nUse the agentUrl parameter to specify which agent to call. Please also include the agentName parameter for better UI display.';
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
description += 'No external agents are currently configured or enabled.';
|
|
48
|
+
}
|
|
49
|
+
return description;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Create SDK MCP server for A2A client tool
|
|
53
|
+
*
|
|
54
|
+
* This server runs in-process within the Claude Agent SDK and provides
|
|
55
|
+
* a tool for calling external A2A agents.
|
|
56
|
+
*
|
|
57
|
+
* @param projectId - Project identifier for loading A2A configuration
|
|
58
|
+
* @returns SDK MCP server instance and tool definitions
|
|
59
|
+
*/
|
|
60
|
+
async function createA2ASdkMcpServer(projectId) {
|
|
61
|
+
// Generate dynamic tool description
|
|
62
|
+
const toolDescription = await generateToolDescription(projectId);
|
|
63
|
+
// Define the tool
|
|
64
|
+
const callExternalAgentTool = (0, claude_agent_sdk_1.tool)('call_external_agent', toolDescription, {
|
|
65
|
+
agentUrl: zod_1.z
|
|
66
|
+
.string()
|
|
67
|
+
.url()
|
|
68
|
+
.describe('Target A2A agent URL (e.g., https://analytics.example.com/a2a/agent-id)'),
|
|
69
|
+
agentName: zod_1.z
|
|
70
|
+
.string()
|
|
71
|
+
.optional()
|
|
72
|
+
.describe('Name of the agent being called (e.g., "AI Editor"). Please provide this for better UI display.'),
|
|
73
|
+
message: zod_1.z
|
|
74
|
+
.string()
|
|
75
|
+
.min(1)
|
|
76
|
+
.max(10000)
|
|
77
|
+
.describe('Message or task description to send to the external agent'),
|
|
78
|
+
sessionId: zod_1.z
|
|
79
|
+
.string()
|
|
80
|
+
.optional()
|
|
81
|
+
.describe('Session ID for continuing a conversation with the external agent. Provide this if you want to continue a previous session.'),
|
|
82
|
+
useTask: zod_1.z
|
|
83
|
+
.boolean()
|
|
84
|
+
.optional()
|
|
85
|
+
.default(false)
|
|
86
|
+
.describe('Use async task mode for long-running operations (default: false for synchronous)'),
|
|
87
|
+
}, async (args) => {
|
|
88
|
+
try {
|
|
89
|
+
// Prepare input for callExternalAgent
|
|
90
|
+
const input = {
|
|
91
|
+
agentUrl: args.agentUrl,
|
|
92
|
+
message: args.message,
|
|
93
|
+
sessionId: args.sessionId,
|
|
94
|
+
useTask: args.useTask,
|
|
95
|
+
};
|
|
96
|
+
// Call external agent using existing function
|
|
97
|
+
const result = await (0, a2aClientTool_js_1.callExternalAgent)(input, projectId);
|
|
98
|
+
// Format response for Claude
|
|
99
|
+
if (result.success) {
|
|
100
|
+
const content = [];
|
|
101
|
+
let responseText = '';
|
|
102
|
+
if (result.data) {
|
|
103
|
+
if (typeof result.data === 'string') {
|
|
104
|
+
responseText = result.data;
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
responseText = JSON.stringify(result.data, null, 2);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// 1. Add Agent Response
|
|
111
|
+
content.push({
|
|
112
|
+
type: 'text',
|
|
113
|
+
text: responseText || 'External agent call completed successfully.',
|
|
114
|
+
});
|
|
115
|
+
// Include task information if async mode
|
|
116
|
+
if (result.taskId) {
|
|
117
|
+
let taskInfo = `Task ID: ${result.taskId}`;
|
|
118
|
+
if (result.status) {
|
|
119
|
+
taskInfo += `\nStatus: ${result.status}`;
|
|
120
|
+
}
|
|
121
|
+
content.push({
|
|
122
|
+
type: 'text',
|
|
123
|
+
text: taskInfo,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
// 2. Add Session ID Info (if present)
|
|
127
|
+
if (result.sessionId) {
|
|
128
|
+
content.push({
|
|
129
|
+
type: 'text',
|
|
130
|
+
text: `[System] Session ID: ${result.sessionId}\nTo continue this conversation, please use this "sessionId" in your next call to this agent.`,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
return { content };
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
// Handle error response
|
|
137
|
+
return {
|
|
138
|
+
content: [
|
|
139
|
+
{
|
|
140
|
+
type: 'text',
|
|
141
|
+
text: `Error calling external agent: ${result.error || 'Unknown error'}`,
|
|
142
|
+
},
|
|
143
|
+
],
|
|
144
|
+
isError: true,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
// Handle unexpected errors
|
|
150
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
151
|
+
console.error('[A2A SDK MCP] Error executing call_external_agent tool:', error);
|
|
152
|
+
return {
|
|
153
|
+
content: [
|
|
154
|
+
{
|
|
155
|
+
type: 'text',
|
|
156
|
+
text: `Failed to call external agent: ${errorMessage}`,
|
|
157
|
+
},
|
|
158
|
+
],
|
|
159
|
+
isError: true,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
// Create SDK MCP server with the tool
|
|
164
|
+
const server = (0, claude_agent_sdk_1.createSdkMcpServer)({
|
|
165
|
+
name: 'a2a-client',
|
|
166
|
+
version: '1.0.0',
|
|
167
|
+
tools: [callExternalAgentTool],
|
|
168
|
+
});
|
|
169
|
+
// Return both server and tool for testing
|
|
170
|
+
return {
|
|
171
|
+
server,
|
|
172
|
+
tool: callExternalAgentTool,
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Get tool name as it appears to Claude
|
|
177
|
+
*
|
|
178
|
+
* SDK MCP tools are prefixed with "mcp__{server_name}__"
|
|
179
|
+
*
|
|
180
|
+
* @returns Full tool name
|
|
181
|
+
*/
|
|
182
|
+
function getA2AToolName() {
|
|
183
|
+
return 'mcp__a2a-client__call_external_agent';
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=a2aSdkMcp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a2aSdkMcp.js","sourceRoot":"","sources":["../../../src/services/a2a/a2aSdkMcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2A Stream Events
|
|
3
|
+
*
|
|
4
|
+
* Global EventEmitter for notifying about A2A streaming call status.
|
|
5
|
+
* This allows the MCP tool to communicate with the main SSE stream
|
|
6
|
+
* to notify the frontend about new streaming sessions.
|
|
7
|
+
*
|
|
8
|
+
* Uses A2A standard protocol event types:
|
|
9
|
+
* - Message: Direct response message
|
|
10
|
+
* - Task: Task object for complex processing
|
|
11
|
+
* - TaskStatusUpdateEvent: Task status updates with optional message content
|
|
12
|
+
* - TaskArtifactUpdateEvent: Artifact updates (files, data)
|
|
13
|
+
*/
|
|
14
|
+
import { EventEmitter } from 'events';
|
|
15
|
+
import type { Message, Task, TaskStatusUpdateEvent, TaskArtifactUpdateEvent, Part, TextPart, FilePart, DataPart, TaskState } from '@a2a-js/sdk';
|
|
16
|
+
export type { Message, Task, TaskStatusUpdateEvent, TaskArtifactUpdateEvent, Part, TextPart, FilePart, DataPart, TaskState, };
|
|
17
|
+
/**
|
|
18
|
+
* A2A Stream Event Data - union of all possible A2A streaming events
|
|
19
|
+
*/
|
|
20
|
+
export type A2AStreamEventData = Message | Task | TaskStatusUpdateEvent | TaskArtifactUpdateEvent;
|
|
21
|
+
/**
|
|
22
|
+
* Event payload for A2A stream start notification
|
|
23
|
+
*/
|
|
24
|
+
export interface A2AStreamStartEvent {
|
|
25
|
+
type: 'a2a_stream_start';
|
|
26
|
+
sessionId: string;
|
|
27
|
+
contextId?: string;
|
|
28
|
+
taskId?: string;
|
|
29
|
+
projectId: string;
|
|
30
|
+
agentUrl: string;
|
|
31
|
+
message: string;
|
|
32
|
+
timestamp: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Event payload for A2A stream data notification (A2A standard event)
|
|
36
|
+
*/
|
|
37
|
+
export interface A2AStreamDataEvent {
|
|
38
|
+
type: 'a2a_stream_data';
|
|
39
|
+
sessionId: string;
|
|
40
|
+
projectId: string;
|
|
41
|
+
agentUrl: string;
|
|
42
|
+
event: A2AStreamEventData;
|
|
43
|
+
timestamp: number;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Event payload for A2A stream end notification
|
|
47
|
+
*/
|
|
48
|
+
export interface A2AStreamEndEvent {
|
|
49
|
+
type: 'a2a_stream_end';
|
|
50
|
+
sessionId: string;
|
|
51
|
+
projectId: string;
|
|
52
|
+
success: boolean;
|
|
53
|
+
error?: string;
|
|
54
|
+
finalState?: TaskState;
|
|
55
|
+
timestamp: number;
|
|
56
|
+
}
|
|
57
|
+
export type A2AStreamEvent = A2AStreamStartEvent | A2AStreamDataEvent | A2AStreamEndEvent;
|
|
58
|
+
/**
|
|
59
|
+
* Global EventEmitter for A2A stream notifications
|
|
60
|
+
*
|
|
61
|
+
* Events:
|
|
62
|
+
* - 'a2a_stream_start': Emitted when a streaming A2A call begins
|
|
63
|
+
* - 'a2a_stream_data': Emitted for each A2A standard event received
|
|
64
|
+
* - 'a2a_stream_end': Emitted when the streaming call completes
|
|
65
|
+
*/
|
|
66
|
+
declare class A2AStreamEventEmitter extends EventEmitter {
|
|
67
|
+
constructor();
|
|
68
|
+
/**
|
|
69
|
+
* Emit a2a_stream_start event
|
|
70
|
+
*/
|
|
71
|
+
emitStreamStart(payload: Omit<A2AStreamStartEvent, 'type' | 'timestamp'>): void;
|
|
72
|
+
/**
|
|
73
|
+
* Emit a2a_stream_data event with A2A standard event
|
|
74
|
+
*/
|
|
75
|
+
emitStreamData(payload: Omit<A2AStreamDataEvent, 'type' | 'timestamp'>): void;
|
|
76
|
+
/**
|
|
77
|
+
* Emit a2a_stream_end event
|
|
78
|
+
*/
|
|
79
|
+
emitStreamEnd(payload: Omit<A2AStreamEndEvent, 'type' | 'timestamp'>): void;
|
|
80
|
+
}
|
|
81
|
+
export declare const a2aStreamEventEmitter: A2AStreamEventEmitter;
|
|
82
|
+
/**
|
|
83
|
+
* Helper function to extract text content from A2A Part array
|
|
84
|
+
*/
|
|
85
|
+
export declare function extractTextFromParts(parts: Part[]): string;
|
|
86
|
+
/**
|
|
87
|
+
* Helper function to create a text part
|
|
88
|
+
*/
|
|
89
|
+
export declare function createTextPart(text: string): TextPart;
|
|
90
|
+
/**
|
|
91
|
+
* Helper function to determine if an event is final (stream should close)
|
|
92
|
+
*/
|
|
93
|
+
export declare function isTerminalState(state: TaskState): boolean;
|
|
94
|
+
//# sourceMappingURL=a2aStreamEvents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a2aStreamEvents.d.ts","sourceRoot":"","sources":["../../../src/services/a2a/a2aStreamEvents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,KAAK,EACV,OAAO,EACP,IAAI,EACJ,qBAAqB,EACrB,uBAAuB,EACvB,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACV,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,OAAO,EACP,IAAI,EACJ,qBAAqB,EACrB,uBAAuB,EACvB,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,GACV,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,IAAI,GAAG,qBAAqB,GAAG,uBAAuB,CAAC;AAElG;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,kBAAkB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,cAAc,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,iBAAiB,CAAC;AAE1F;;;;;;;GAOG;AACH,cAAM,qBAAsB,SAAQ,YAAY;;IAO9C;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,WAAW,CAAC,GAAG,IAAI;IAS/E;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,WAAW,CAAC,GAAG,IAAI;IAS7E;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,WAAW,CAAC,GAAG,IAAI;CAQ5E;AAGD,eAAO,MAAM,qBAAqB,uBAA8B,CAAC;AAEjE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAK1D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAErD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAEzD"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* A2A Stream Events
|
|
4
|
+
*
|
|
5
|
+
* Global EventEmitter for notifying about A2A streaming call status.
|
|
6
|
+
* This allows the MCP tool to communicate with the main SSE stream
|
|
7
|
+
* to notify the frontend about new streaming sessions.
|
|
8
|
+
*
|
|
9
|
+
* Uses A2A standard protocol event types:
|
|
10
|
+
* - Message: Direct response message
|
|
11
|
+
* - Task: Task object for complex processing
|
|
12
|
+
* - TaskStatusUpdateEvent: Task status updates with optional message content
|
|
13
|
+
* - TaskArtifactUpdateEvent: Artifact updates (files, data)
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.a2aStreamEventEmitter = void 0;
|
|
17
|
+
exports.extractTextFromParts = extractTextFromParts;
|
|
18
|
+
exports.createTextPart = createTextPart;
|
|
19
|
+
exports.isTerminalState = isTerminalState;
|
|
20
|
+
const events_1 = require("events");
|
|
21
|
+
/**
|
|
22
|
+
* Global EventEmitter for A2A stream notifications
|
|
23
|
+
*
|
|
24
|
+
* Events:
|
|
25
|
+
* - 'a2a_stream_start': Emitted when a streaming A2A call begins
|
|
26
|
+
* - 'a2a_stream_data': Emitted for each A2A standard event received
|
|
27
|
+
* - 'a2a_stream_end': Emitted when the streaming call completes
|
|
28
|
+
*/
|
|
29
|
+
class A2AStreamEventEmitter extends events_1.EventEmitter {
|
|
30
|
+
constructor() {
|
|
31
|
+
super();
|
|
32
|
+
// Increase max listeners since multiple SSE connections may listen
|
|
33
|
+
this.setMaxListeners(100);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Emit a2a_stream_start event
|
|
37
|
+
*/
|
|
38
|
+
emitStreamStart(payload) {
|
|
39
|
+
const event = {
|
|
40
|
+
...payload,
|
|
41
|
+
type: 'a2a_stream_start',
|
|
42
|
+
timestamp: Date.now(),
|
|
43
|
+
};
|
|
44
|
+
this.emit('a2a_stream_start', event);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Emit a2a_stream_data event with A2A standard event
|
|
48
|
+
*/
|
|
49
|
+
emitStreamData(payload) {
|
|
50
|
+
const event = {
|
|
51
|
+
...payload,
|
|
52
|
+
type: 'a2a_stream_data',
|
|
53
|
+
timestamp: Date.now(),
|
|
54
|
+
};
|
|
55
|
+
this.emit('a2a_stream_data', event);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Emit a2a_stream_end event
|
|
59
|
+
*/
|
|
60
|
+
emitStreamEnd(payload) {
|
|
61
|
+
const event = {
|
|
62
|
+
...payload,
|
|
63
|
+
type: 'a2a_stream_end',
|
|
64
|
+
timestamp: Date.now(),
|
|
65
|
+
};
|
|
66
|
+
this.emit('a2a_stream_end', event);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// Singleton instance
|
|
70
|
+
exports.a2aStreamEventEmitter = new A2AStreamEventEmitter();
|
|
71
|
+
/**
|
|
72
|
+
* Helper function to extract text content from A2A Part array
|
|
73
|
+
*/
|
|
74
|
+
function extractTextFromParts(parts) {
|
|
75
|
+
return parts
|
|
76
|
+
.filter((part) => part.kind === 'text')
|
|
77
|
+
.map(part => part.text)
|
|
78
|
+
.join('');
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Helper function to create a text part
|
|
82
|
+
*/
|
|
83
|
+
function createTextPart(text) {
|
|
84
|
+
return { kind: 'text', text };
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Helper function to determine if an event is final (stream should close)
|
|
88
|
+
*/
|
|
89
|
+
function isTerminalState(state) {
|
|
90
|
+
return ['completed', 'failed', 'canceled', 'rejected'].includes(state);
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=a2aStreamEvents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a2aStreamEvents.js","sourceRoot":"","sources":["../../../src/services/a2a/a2aStreamEvents.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAsIH,oDAKC;AAKD,wCAEC;AAKD,0CAEC;AAvJD,mCAAsC;AA0EtC;;;;;;;GAOG;AACH,MAAM,qBAAsB,SAAQ,qBAAY;IAC9C;QACE,KAAK,EAAE,CAAC;QACR,mEAAmE;QACnE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,OAAwD;QACtE,MAAM,KAAK,GAAwB;YACjC,GAAG,OAAO;YACV,IAAI,EAAE,kBAAkB;YACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,OAAuD;QACpE,MAAM,KAAK,GAAuB;YAChC,GAAG,OAAO;YACV,IAAI,EAAE,iBAAiB;YACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,OAAsD;QAClE,MAAM,KAAK,GAAsB;YAC/B,GAAG,OAAO;YACV,IAAI,EAAE,gBAAgB;YACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;CACF;AAED,qBAAqB;AACR,QAAA,qBAAqB,GAAG,IAAI,qBAAqB,EAAE,CAAC;AAEjE;;GAEG;AACH,SAAgB,oBAAoB,CAAC,KAAa;IAChD,OAAO,KAAK;SACT,MAAM,CAAC,CAAC,IAAI,EAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;SACxD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SACtB,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,IAAY;IACzC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,KAAgB;IAC9C,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzE,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Card Service
|
|
3
|
+
*
|
|
4
|
+
* Generates Agent Cards from AgentConfig for A2A protocol discovery.
|
|
5
|
+
* Agent Cards are auto-generated and should never be manually maintained.
|
|
6
|
+
*
|
|
7
|
+
* Pure function approach: generateAgentCard(agentConfig, projectContext) -> AgentCard
|
|
8
|
+
*
|
|
9
|
+
* Phase 4: US2 - Agent Card Auto-Generation
|
|
10
|
+
*/
|
|
11
|
+
import type { AgentConfig } from '../../types/agents.js';
|
|
12
|
+
import type { AgentCard } from '../../types/a2a.js';
|
|
13
|
+
/**
|
|
14
|
+
* Project context metadata for Agent Card generation
|
|
15
|
+
*/
|
|
16
|
+
export interface ProjectContext {
|
|
17
|
+
projectId: string;
|
|
18
|
+
projectName: string;
|
|
19
|
+
workingDirectory: string;
|
|
20
|
+
a2aAgentId: string;
|
|
21
|
+
baseUrl: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Generate Agent Card from agent configuration (pure function)
|
|
25
|
+
*
|
|
26
|
+
* This is a pure function with no side effects - it takes agent config and project context
|
|
27
|
+
* and returns a complete Agent Card compliant with A2A protocol v1.0.
|
|
28
|
+
*
|
|
29
|
+
* @param agentConfig - Agent configuration with tools and metadata
|
|
30
|
+
* @param projectContext - Project-specific context (ID, name, working directory, A2A ID, baseUrl)
|
|
31
|
+
* @returns Complete Agent Card ready for A2A protocol exposure
|
|
32
|
+
*/
|
|
33
|
+
export declare function generateAgentCard(agentConfig: AgentConfig, projectContext: ProjectContext): AgentCard;
|
|
34
|
+
//# sourceMappingURL=agentCardService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentCardService.d.ts","sourceRoot":"","sources":["../../../src/services/a2a/agentCardService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAqC,MAAM,oBAAoB,CAAC;AAEvF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,GAC7B,SAAS,CAwCX"}
|