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,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Utils - Shared utilities for Claude Code SDK integration
|
|
3
|
+
*
|
|
4
|
+
* This module provides common functions for interacting with Claude Code SDK,
|
|
5
|
+
* used by both the main agents API and Slack integration.
|
|
6
|
+
*/
|
|
7
|
+
import { Options } from '@anthropic-ai/claude-agent-sdk';
|
|
8
|
+
import { SessionRef } from '../services/askUserQuestion/askUserQuestionIntegration.js';
|
|
9
|
+
export type { SessionRef };
|
|
10
|
+
/**
|
|
11
|
+
* Get the path to the system-installed Claude executable
|
|
12
|
+
* Only used when user explicitly wants to use system installation
|
|
13
|
+
*
|
|
14
|
+
* Note: When no executable path is specified, SDK will automatically
|
|
15
|
+
* use its bundled CLI which is always compatible with the SDK version.
|
|
16
|
+
*/
|
|
17
|
+
export declare function getSystemClaudeExecutablePath(): Promise<string | null>;
|
|
18
|
+
/**
|
|
19
|
+
* @deprecated Use SDK's bundled CLI by not passing pathToClaudeCodeExecutable
|
|
20
|
+
* This function is kept for backward compatibility when user explicitly configures a path
|
|
21
|
+
*/
|
|
22
|
+
export declare function getClaudeExecutablePath(): Promise<string | null>;
|
|
23
|
+
/**
|
|
24
|
+
* Read MCP (Model Context Protocol) configuration
|
|
25
|
+
*/
|
|
26
|
+
export declare function readMcpConfig(): {
|
|
27
|
+
mcpServers: Record<string, any>;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Get default Claude version environment variables
|
|
31
|
+
*/
|
|
32
|
+
export declare function getDefaultClaudeVersionEnv(): Promise<Record<string, string> | null>;
|
|
33
|
+
/**
|
|
34
|
+
* Build query options for Claude Code SDK
|
|
35
|
+
* This is the enhanced version from agents.ts with full MCP support
|
|
36
|
+
*
|
|
37
|
+
* @param agent - Agent configuration
|
|
38
|
+
* @param projectPath - Optional project path override
|
|
39
|
+
* @param mcpTools - Optional MCP tools to enable
|
|
40
|
+
* @param permissionMode - Optional permission mode override
|
|
41
|
+
* @param model - Optional model override
|
|
42
|
+
* @param claudeVersion - Optional Claude version ID
|
|
43
|
+
* @param defaultEnv - Optional default environment variables (used by Slack integration)
|
|
44
|
+
* @param userEnv - Optional user-provided environment variables (from chat interface)
|
|
45
|
+
* @param sessionIdForAskUser - Optional session ID for AskUserQuestion MCP tool(用于路由用户通知)
|
|
46
|
+
* @param agentIdForAskUser - Optional agent ID for AskUserQuestion MCP tool
|
|
47
|
+
* @returns Query options and optional sessionRef for dynamic session ID updates
|
|
48
|
+
*/
|
|
49
|
+
export interface BuildQueryOptionsResult {
|
|
50
|
+
queryOptions: Options;
|
|
51
|
+
askUserSessionRef: SessionRef | null;
|
|
52
|
+
}
|
|
53
|
+
export declare function buildQueryOptions(agent: any, projectPath?: string, mcpTools?: string[], permissionMode?: string, model?: string, claudeVersion?: string, defaultEnv?: Record<string, string>, userEnv?: Record<string, string>, sessionIdForAskUser?: string, agentIdForAskUser?: string): Promise<BuildQueryOptionsResult>;
|
|
54
|
+
//# sourceMappingURL=claudeUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claudeUtils.d.ts","sourceRoot":"","sources":["../../src/utils/claudeUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAQzD,OAAO,EAAqC,UAAU,EAAE,MAAM,2DAA2D,CAAC;AAE1H,YAAY,EAAE,UAAU,EAAE,CAAC;AAK3B;;;;;;GAMG;AACH,wBAAsB,6BAA6B,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA6B5E;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAEtE;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI;IAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,CAUnE;AAED;;GAEG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CA8CzF;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,UAAU,GAAG,IAAI,CAAC;CACtC;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,GAAG,EACV,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,EACnB,cAAc,CAAC,EAAE,MAAM,EACvB,KAAK,CAAC,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,MAAM,EACtB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,mBAAmB,CAAC,EAAE,MAAM,EAC5B,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,uBAAuB,CAAC,CAwOlC"}
|
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Claude Utils - Shared utilities for Claude Code SDK integration
|
|
4
|
+
*
|
|
5
|
+
* This module provides common functions for interacting with Claude Code SDK,
|
|
6
|
+
* used by both the main agents API and Slack integration.
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.getSystemClaudeExecutablePath = getSystemClaudeExecutablePath;
|
|
43
|
+
exports.getClaudeExecutablePath = getClaudeExecutablePath;
|
|
44
|
+
exports.readMcpConfig = readMcpConfig;
|
|
45
|
+
exports.getDefaultClaudeVersionEnv = getDefaultClaudeVersionEnv;
|
|
46
|
+
exports.buildQueryOptions = buildQueryOptions;
|
|
47
|
+
const fs = __importStar(require("fs"));
|
|
48
|
+
const path = __importStar(require("path"));
|
|
49
|
+
const child_process_1 = require("child_process");
|
|
50
|
+
const util_1 = require("util");
|
|
51
|
+
const claudeVersionStorage_js_1 = require("../services/claudeVersionStorage.js");
|
|
52
|
+
const a2aIntegration_js_1 = require("../services/a2a/a2aIntegration.js");
|
|
53
|
+
const askUserQuestionIntegration_js_1 = require("../services/askUserQuestion/askUserQuestionIntegration.js");
|
|
54
|
+
const paths_js_1 = require("../config/paths.js");
|
|
55
|
+
const execAsync = (0, util_1.promisify)(child_process_1.exec);
|
|
56
|
+
/**
|
|
57
|
+
* Get the path to the system-installed Claude executable
|
|
58
|
+
* Only used when user explicitly wants to use system installation
|
|
59
|
+
*
|
|
60
|
+
* Note: When no executable path is specified, SDK will automatically
|
|
61
|
+
* use its bundled CLI which is always compatible with the SDK version.
|
|
62
|
+
*/
|
|
63
|
+
async function getSystemClaudeExecutablePath() {
|
|
64
|
+
try {
|
|
65
|
+
const { stdout: claudePath } = await execAsync('which claude');
|
|
66
|
+
if (!claudePath)
|
|
67
|
+
return null;
|
|
68
|
+
const cleanPath = claudePath.trim();
|
|
69
|
+
// Skip local node_modules paths - we want global installation
|
|
70
|
+
if (cleanPath.includes('node_modules/.bin')) {
|
|
71
|
+
try {
|
|
72
|
+
const { stdout: allClaudes } = await execAsync('which -a claude');
|
|
73
|
+
const claudes = allClaudes.trim().split('\n');
|
|
74
|
+
// Find the first non-local installation
|
|
75
|
+
for (const claudePathOption of claudes) {
|
|
76
|
+
if (!claudePathOption.includes('node_modules/.bin')) {
|
|
77
|
+
return claudePathOption.trim();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
// Fallback to the first path found
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return cleanPath;
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
console.error('Failed to get system claude executable path:', error);
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* @deprecated Use SDK's bundled CLI by not passing pathToClaudeCodeExecutable
|
|
94
|
+
* This function is kept for backward compatibility when user explicitly configures a path
|
|
95
|
+
*/
|
|
96
|
+
async function getClaudeExecutablePath() {
|
|
97
|
+
return getSystemClaudeExecutablePath();
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Read MCP (Model Context Protocol) configuration
|
|
101
|
+
*/
|
|
102
|
+
function readMcpConfig() {
|
|
103
|
+
if (fs.existsSync(paths_js_1.MCP_SERVER_CONFIG_FILE)) {
|
|
104
|
+
try {
|
|
105
|
+
return JSON.parse(fs.readFileSync(paths_js_1.MCP_SERVER_CONFIG_FILE, 'utf-8'));
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
console.error('Failed to parse MCP configuration:', error);
|
|
109
|
+
return { mcpServers: {} };
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return { mcpServers: {} };
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Get default Claude version environment variables
|
|
116
|
+
*/
|
|
117
|
+
async function getDefaultClaudeVersionEnv() {
|
|
118
|
+
try {
|
|
119
|
+
const defaultVersionId = await (0, claudeVersionStorage_js_1.getDefaultVersionId)();
|
|
120
|
+
if (defaultVersionId) {
|
|
121
|
+
console.log(`🔍 Found default Claude version: ${defaultVersionId}`);
|
|
122
|
+
const allVersions = await (0, claudeVersionStorage_js_1.getAllVersionsInternal)();
|
|
123
|
+
const defaultVersion = allVersions.find(v => v.id === defaultVersionId);
|
|
124
|
+
if (defaultVersion && defaultVersion.environmentVariables) {
|
|
125
|
+
console.log(`🎯 Using default Claude version: ${defaultVersion.name} (${defaultVersion.alias})`);
|
|
126
|
+
// Log all environment variables
|
|
127
|
+
const envKeys = Object.keys(defaultVersion.environmentVariables);
|
|
128
|
+
console.log(`📝 Environment variables from default version:`, envKeys);
|
|
129
|
+
// Log proxy-related variables
|
|
130
|
+
const proxyVars = ['HTTP_PROXY', 'HTTPS_PROXY', 'http_proxy', 'https_proxy', 'NO_PROXY', 'no_proxy', 'ALL_PROXY', 'all_proxy'];
|
|
131
|
+
const configuredProxyVars = proxyVars.filter(key => defaultVersion.environmentVariables[key]);
|
|
132
|
+
if (configuredProxyVars.length > 0) {
|
|
133
|
+
console.log(`🌐 Proxy variables in default version:`, configuredProxyVars.reduce((acc, key) => {
|
|
134
|
+
acc[key] = defaultVersion.environmentVariables[key];
|
|
135
|
+
return acc;
|
|
136
|
+
}, {}));
|
|
137
|
+
}
|
|
138
|
+
// Check if this version has API keys configured
|
|
139
|
+
const hasApiKey = defaultVersion.environmentVariables.ANTHROPIC_API_KEY ||
|
|
140
|
+
defaultVersion.environmentVariables.OPENAI_API_KEY ||
|
|
141
|
+
defaultVersion.environmentVariables.ANTHROPIC_AUTH_TOKEN;
|
|
142
|
+
if (hasApiKey) {
|
|
143
|
+
console.log(`✅ Default Claude version has API key configured`);
|
|
144
|
+
return defaultVersion.environmentVariables;
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
console.log(`⚠️ No API keys found in default version environment variables`);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
console.log(`⚠️ No default Claude version with API keys found`);
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
console.error('❌ Error getting default Claude version:', error);
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
async function buildQueryOptions(agent, projectPath, mcpTools, permissionMode, model, claudeVersion, defaultEnv, userEnv, sessionIdForAskUser, agentIdForAskUser) {
|
|
160
|
+
// Determine working directory
|
|
161
|
+
let cwd = process.cwd();
|
|
162
|
+
if (projectPath) {
|
|
163
|
+
cwd = projectPath;
|
|
164
|
+
}
|
|
165
|
+
else if (agent.workingDirectory) {
|
|
166
|
+
cwd = path.resolve(process.cwd(), agent.workingDirectory);
|
|
167
|
+
}
|
|
168
|
+
// Determine permission mode: request > agent config > default
|
|
169
|
+
let finalPermissionMode = 'default';
|
|
170
|
+
if (permissionMode) {
|
|
171
|
+
finalPermissionMode = permissionMode;
|
|
172
|
+
}
|
|
173
|
+
else if (agent.permissionMode) {
|
|
174
|
+
finalPermissionMode = agent.permissionMode;
|
|
175
|
+
}
|
|
176
|
+
// Determine model: request > agent config > default (sonnet)
|
|
177
|
+
let finalModel = 'sonnet';
|
|
178
|
+
if (model) {
|
|
179
|
+
finalModel = model;
|
|
180
|
+
}
|
|
181
|
+
else if (agent.model) {
|
|
182
|
+
finalModel = agent.model;
|
|
183
|
+
}
|
|
184
|
+
// Build allowed tools list from agent configuration
|
|
185
|
+
const allowedTools = agent.allowedTools
|
|
186
|
+
.filter((tool) => tool.enabled)
|
|
187
|
+
.map((tool) => tool.name);
|
|
188
|
+
// Add MCP tools if provided
|
|
189
|
+
if (mcpTools && mcpTools.length > 0) {
|
|
190
|
+
allowedTools.push(...mcpTools);
|
|
191
|
+
}
|
|
192
|
+
// Get Claude executable path and environment variables based on version
|
|
193
|
+
// Note: If no executablePath is explicitly configured, we don't pass pathToClaudeCodeExecutable
|
|
194
|
+
// to the SDK, allowing it to use its bundled CLI which is always compatible.
|
|
195
|
+
let executablePath = null;
|
|
196
|
+
let environmentVariables = {};
|
|
197
|
+
try {
|
|
198
|
+
// First check if agent has a specific Claude version
|
|
199
|
+
const agentClaudeVersion = claudeVersion || agent.claudeVersionId;
|
|
200
|
+
if (agentClaudeVersion) {
|
|
201
|
+
// Use specified version
|
|
202
|
+
const selectedVersion = await (0, claudeVersionStorage_js_1.getVersionByIdInternal)(agentClaudeVersion);
|
|
203
|
+
if (selectedVersion) {
|
|
204
|
+
// Only use executablePath if explicitly configured in the version
|
|
205
|
+
if (selectedVersion.executablePath) {
|
|
206
|
+
executablePath = selectedVersion.executablePath.trim();
|
|
207
|
+
console.log(`🎯 Using specified Claude version: ${selectedVersion.alias} (custom path: ${executablePath})`);
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
console.log(`🎯 Using specified Claude version: ${selectedVersion.alias} (SDK bundled CLI)`);
|
|
211
|
+
}
|
|
212
|
+
environmentVariables = selectedVersion.environmentVariables || {};
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
console.warn(`⚠️ Specified Claude version not found: ${agentClaudeVersion}, using SDK bundled CLI`);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
// Use default version or provided default environment
|
|
220
|
+
if (defaultEnv) {
|
|
221
|
+
// Slack integration or other callers can provide default env
|
|
222
|
+
console.log(`🎯 Using provided default environment variables (SDK bundled CLI)`);
|
|
223
|
+
environmentVariables = defaultEnv;
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
// Standard flow: get default version from configuration
|
|
227
|
+
const defaultVersionId = await (0, claudeVersionStorage_js_1.getDefaultVersionId)();
|
|
228
|
+
if (defaultVersionId) {
|
|
229
|
+
const defaultVersion = await (0, claudeVersionStorage_js_1.getVersionByIdInternal)(defaultVersionId);
|
|
230
|
+
if (defaultVersion) {
|
|
231
|
+
// Only use executablePath if explicitly configured in the version
|
|
232
|
+
if (defaultVersion.executablePath) {
|
|
233
|
+
executablePath = defaultVersion.executablePath;
|
|
234
|
+
console.log(`🎯 Using default Claude version: ${defaultVersion.alias} (custom path: ${executablePath})`);
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
console.log(`🎯 Using default Claude version: ${defaultVersion.alias} (SDK bundled CLI)`);
|
|
238
|
+
}
|
|
239
|
+
environmentVariables = defaultVersion.environmentVariables || {};
|
|
240
|
+
// Log environment variables details
|
|
241
|
+
const envVarKeys = Object.keys(environmentVariables);
|
|
242
|
+
if (envVarKeys.length > 0) {
|
|
243
|
+
console.log(`📝 Environment variables loaded from version config:`, envVarKeys);
|
|
244
|
+
// Log proxy-related variables specifically
|
|
245
|
+
const proxyVars = ['HTTP_PROXY', 'HTTPS_PROXY', 'http_proxy', 'https_proxy', 'NO_PROXY', 'no_proxy', 'ALL_PROXY', 'all_proxy'];
|
|
246
|
+
const loadedProxyVars = proxyVars.filter(key => environmentVariables[key]);
|
|
247
|
+
if (loadedProxyVars.length > 0) {
|
|
248
|
+
console.log(`🌐 Proxy variables detected:`, loadedProxyVars.reduce((acc, key) => {
|
|
249
|
+
acc[key] = environmentVariables[key];
|
|
250
|
+
return acc;
|
|
251
|
+
}, {}));
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
console.log(`🌐 No proxy variables found in environment variables`);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
console.log(`⚠️ No environment variables configured for this version`);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
console.log(`📦 Using SDK bundled CLI (no default version configured)`);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
console.log(`📦 Using SDK bundled CLI (no default version configured)`);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
catch (error) {
|
|
272
|
+
console.error('Failed to get Claude version config:', error);
|
|
273
|
+
console.log(`📦 Using SDK bundled CLI (fallback due to error)`);
|
|
274
|
+
}
|
|
275
|
+
if (executablePath) {
|
|
276
|
+
console.log(`🎯 Custom Claude executable path: ${executablePath}`);
|
|
277
|
+
}
|
|
278
|
+
else {
|
|
279
|
+
console.log(`📦 No custom path specified, SDK will use bundled CLI`);
|
|
280
|
+
}
|
|
281
|
+
const queryOptions = {
|
|
282
|
+
systemPrompt: agent.systemPrompt, // 直接使用 Agent 配置中的 systemPrompt
|
|
283
|
+
allowedTools,
|
|
284
|
+
maxTurns: agent.maxTurns,
|
|
285
|
+
cwd,
|
|
286
|
+
permissionMode: finalPermissionMode,
|
|
287
|
+
model: finalModel,
|
|
288
|
+
settingSources: ["user", "project"],
|
|
289
|
+
};
|
|
290
|
+
// Only add pathToClaudeCodeExecutable if we have a valid path
|
|
291
|
+
if (executablePath) {
|
|
292
|
+
queryOptions.pathToClaudeCodeExecutable = executablePath;
|
|
293
|
+
}
|
|
294
|
+
// Always merge environment variables with process.env
|
|
295
|
+
// This ensures critical variables like PATH, etc. are available
|
|
296
|
+
// Priority: userEnv > environmentVariables (from version/default) > process.env
|
|
297
|
+
queryOptions.env = { ...process.env, ...environmentVariables, ...userEnv };
|
|
298
|
+
// Normalize proxy variables: if uppercase is set, also set lowercase (and vice versa)
|
|
299
|
+
// This ensures proxy settings work regardless of which form the client library checks first
|
|
300
|
+
const proxyNormalizations = [
|
|
301
|
+
['HTTP_PROXY', 'http_proxy'],
|
|
302
|
+
['HTTPS_PROXY', 'https_proxy'],
|
|
303
|
+
['NO_PROXY', 'no_proxy'],
|
|
304
|
+
['ALL_PROXY', 'all_proxy']
|
|
305
|
+
];
|
|
306
|
+
for (const [upper, lower] of proxyNormalizations) {
|
|
307
|
+
if (environmentVariables[upper] && !environmentVariables[lower]) {
|
|
308
|
+
// If uppercase is configured but lowercase isn't, set lowercase to match
|
|
309
|
+
queryOptions.env[lower] = environmentVariables[upper];
|
|
310
|
+
}
|
|
311
|
+
else if (environmentVariables[lower] && !environmentVariables[upper]) {
|
|
312
|
+
// If lowercase is configured but uppercase isn't, set uppercase to match
|
|
313
|
+
queryOptions.env[upper] = environmentVariables[lower];
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
if (Object.keys(environmentVariables).length > 0) {
|
|
317
|
+
// Log final proxy configuration that will be used
|
|
318
|
+
const proxyVars = ['HTTP_PROXY', 'HTTPS_PROXY', 'http_proxy', 'https_proxy', 'NO_PROXY', 'no_proxy', 'ALL_PROXY', 'all_proxy'];
|
|
319
|
+
const finalProxyVars = proxyVars.filter(key => queryOptions.env?.[key]);
|
|
320
|
+
// Log API keys presence (but not values)
|
|
321
|
+
const apiKeys = ['ANTHROPIC_API_KEY', 'OPENAI_API_KEY', 'ANTHROPIC_AUTH_TOKEN'];
|
|
322
|
+
const configuredApiKeys = apiKeys.filter(key => queryOptions.env?.[key]);
|
|
323
|
+
if (configuredApiKeys.length > 0) {
|
|
324
|
+
console.log(`🔑 API keys configured:`, configuredApiKeys);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
else {
|
|
328
|
+
console.log(`🌍 Using process environment variables (no custom variables defined)`);
|
|
329
|
+
}
|
|
330
|
+
// Add MCP configuration if MCP tools are selected
|
|
331
|
+
if (mcpTools && mcpTools.length > 0) {
|
|
332
|
+
try {
|
|
333
|
+
const mcpConfigContent = readMcpConfig();
|
|
334
|
+
// Extract unique server names from mcpTools
|
|
335
|
+
const serverNames = new Set();
|
|
336
|
+
for (const tool of mcpTools) {
|
|
337
|
+
// Tool format: mcp__serverName__toolName or mcp__serverName
|
|
338
|
+
const parts = tool.split('__');
|
|
339
|
+
if (parts.length >= 2 && parts[0] === 'mcp') {
|
|
340
|
+
serverNames.add(parts[1]);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
// Build mcpServers configuration
|
|
344
|
+
const mcpServers = {};
|
|
345
|
+
for (const serverName of serverNames) {
|
|
346
|
+
const serverConfig = mcpConfigContent.mcpServers?.[serverName];
|
|
347
|
+
if (serverConfig && serverConfig.status === 'active') {
|
|
348
|
+
if (serverConfig.type === 'http') {
|
|
349
|
+
mcpServers[serverName] = {
|
|
350
|
+
type: 'http',
|
|
351
|
+
url: serverConfig.url
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
else if (serverConfig.type === 'stdio') {
|
|
355
|
+
mcpServers[serverName] = {
|
|
356
|
+
type: 'stdio',
|
|
357
|
+
command: serverConfig.command,
|
|
358
|
+
args: serverConfig.args || [],
|
|
359
|
+
env: serverConfig.env || {}
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
if (Object.keys(mcpServers).length > 0) {
|
|
365
|
+
queryOptions.mcpServers = mcpServers;
|
|
366
|
+
console.log('🔧 MCP Servers configured:', Object.keys(mcpServers));
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
catch (error) {
|
|
370
|
+
console.error('Failed to parse MCP configuration:', error);
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
// Integrate A2A SDK MCP server
|
|
374
|
+
// We use the determined project path or current working directory
|
|
375
|
+
const currentProjectId = projectPath || cwd;
|
|
376
|
+
await (0, a2aIntegration_js_1.integrateA2AMcpServer)(queryOptions, currentProjectId);
|
|
377
|
+
// Integrate AskUserQuestion SDK MCP server
|
|
378
|
+
// This provides user interaction capability for web channel
|
|
379
|
+
// Only integrate if sessionId and agentId are provided
|
|
380
|
+
let askUserSessionRef = null;
|
|
381
|
+
if (sessionIdForAskUser && agentIdForAskUser) {
|
|
382
|
+
const integration = await (0, askUserQuestionIntegration_js_1.integrateAskUserQuestionMcpServer)(queryOptions, sessionIdForAskUser, agentIdForAskUser);
|
|
383
|
+
askUserSessionRef = integration.sessionRef;
|
|
384
|
+
}
|
|
385
|
+
return { queryOptions, askUserSessionRef };
|
|
386
|
+
}
|
|
387
|
+
//# sourceMappingURL=claudeUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claudeUtils.js","sourceRoot":"","sources":["../../src/utils/claudeUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileUtils.d.ts","sourceRoot":"","sources":["../../src/utils/fileUtils.ts"],"names":[],"mappings":"AAEA,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,iBAE9C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ensureDir = ensureDir;
|
|
7
|
+
const promises_1 = __importDefault(require("fs/promises"));
|
|
8
|
+
async function ensureDir(dirPath) {
|
|
9
|
+
await promises_1.default.mkdir(dirPath, { recursive: true });
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=fileUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileUtils.js","sourceRoot":"","sources":["../../src/utils/fileUtils.ts"],"names":[],"mappings":";;;;;AAEA,8BAEC;AAJD,2DAA6B;AAEtB,KAAK,UAAU,SAAS,CAAC,OAAe;IAC7C,MAAM,kBAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/C,CAAC"}
|
package/utils/jwt.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export declare function getJwtConfig(): Promise<{
|
|
2
|
+
secret: string;
|
|
3
|
+
expiresIn: string;
|
|
4
|
+
refreshThreshold: string;
|
|
5
|
+
}>;
|
|
6
|
+
export interface JWTPayload {
|
|
7
|
+
authenticated: true;
|
|
8
|
+
iat?: number;
|
|
9
|
+
exp?: number;
|
|
10
|
+
issuedAt?: number;
|
|
11
|
+
expiresAt?: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Generate a JWT token for authentication
|
|
15
|
+
*/
|
|
16
|
+
export declare function generateToken(): Promise<string>;
|
|
17
|
+
/**
|
|
18
|
+
* Check if token should be refreshed (within threshold of expiration)
|
|
19
|
+
*/
|
|
20
|
+
export declare function shouldRefreshToken(payload: JWTPayload): Promise<boolean>;
|
|
21
|
+
/**
|
|
22
|
+
* Get remaining time in seconds before token expires
|
|
23
|
+
*/
|
|
24
|
+
export declare function getTokenRemainingTime(payload: JWTPayload): number;
|
|
25
|
+
/**
|
|
26
|
+
* Verify and decode a JWT token
|
|
27
|
+
* @returns Decoded payload if valid, null if invalid
|
|
28
|
+
*/
|
|
29
|
+
export declare function verifyToken(token: string): Promise<JWTPayload | null>;
|
|
30
|
+
//# sourceMappingURL=jwt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../src/utils/jwt.ts"],"names":[],"mappings":"AAMA,wBAAsB,YAAY;YAFH,MAAM;eAAa,MAAM;sBAAoB,MAAM;GAejF;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,IAAI,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAcrD;AAsBD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAQ9E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAKjE;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAQ3E"}
|
package/utils/jwt.js
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getJwtConfig = getJwtConfig;
|
|
7
|
+
exports.generateToken = generateToken;
|
|
8
|
+
exports.shouldRefreshToken = shouldRefreshToken;
|
|
9
|
+
exports.getTokenRemainingTime = getTokenRemainingTime;
|
|
10
|
+
exports.verifyToken = verifyToken;
|
|
11
|
+
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
|
|
12
|
+
const index_1 = require("../config/index");
|
|
13
|
+
// Cache config values to avoid repeated loading
|
|
14
|
+
let cachedJwtConfig = null;
|
|
15
|
+
async function getJwtConfig() {
|
|
16
|
+
if (cachedJwtConfig) {
|
|
17
|
+
return cachedJwtConfig;
|
|
18
|
+
}
|
|
19
|
+
const config = await (0, index_1.loadConfig)();
|
|
20
|
+
cachedJwtConfig = {
|
|
21
|
+
secret: config.jwtSecret || 'your-secret-key-change-this-in-production',
|
|
22
|
+
expiresIn: config.jwtExpiresIn || '7d',
|
|
23
|
+
refreshThreshold: config.tokenRefreshThreshold || '24h'
|
|
24
|
+
};
|
|
25
|
+
return cachedJwtConfig;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Generate a JWT token for authentication
|
|
29
|
+
*/
|
|
30
|
+
async function generateToken() {
|
|
31
|
+
const now = Math.floor(Date.now() / 1000);
|
|
32
|
+
const jwtConfig = await getJwtConfig();
|
|
33
|
+
const expiresIn = getExpirationSeconds(jwtConfig.expiresIn);
|
|
34
|
+
const payload = {
|
|
35
|
+
authenticated: true,
|
|
36
|
+
issuedAt: now,
|
|
37
|
+
expiresAt: now + expiresIn,
|
|
38
|
+
};
|
|
39
|
+
return jsonwebtoken_1.default.sign(payload, jwtConfig.secret, {
|
|
40
|
+
expiresIn: jwtConfig.expiresIn,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Parse expiration string to seconds
|
|
45
|
+
*/
|
|
46
|
+
function getExpirationSeconds(expireStr) {
|
|
47
|
+
const match = expireStr.match(/^(\d+)([hdwmy])$/);
|
|
48
|
+
if (!match)
|
|
49
|
+
return 7 * 24 * 60 * 60; // Default to 7 days
|
|
50
|
+
const value = parseInt(match[1]);
|
|
51
|
+
const unit = match[2];
|
|
52
|
+
switch (unit) {
|
|
53
|
+
case 'h': return value * 60 * 60;
|
|
54
|
+
case 'd': return value * 24 * 60 * 60;
|
|
55
|
+
case 'w': return value * 7 * 24 * 60 * 60;
|
|
56
|
+
case 'm': return value * 30 * 24 * 60 * 60;
|
|
57
|
+
case 'y': return value * 365 * 24 * 60 * 60;
|
|
58
|
+
default: return 7 * 24 * 60 * 60;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Check if token should be refreshed (within threshold of expiration)
|
|
63
|
+
*/
|
|
64
|
+
async function shouldRefreshToken(payload) {
|
|
65
|
+
if (!payload.expiresAt)
|
|
66
|
+
return true;
|
|
67
|
+
const now = Math.floor(Date.now() / 1000);
|
|
68
|
+
const jwtConfig = await getJwtConfig();
|
|
69
|
+
const threshold = getExpirationSeconds(jwtConfig.refreshThreshold);
|
|
70
|
+
return payload.expiresAt - now <= threshold;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Get remaining time in seconds before token expires
|
|
74
|
+
*/
|
|
75
|
+
function getTokenRemainingTime(payload) {
|
|
76
|
+
if (!payload.expiresAt)
|
|
77
|
+
return 0;
|
|
78
|
+
const now = Math.floor(Date.now() / 1000);
|
|
79
|
+
return Math.max(0, payload.expiresAt - now);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Verify and decode a JWT token
|
|
83
|
+
* @returns Decoded payload if valid, null if invalid
|
|
84
|
+
*/
|
|
85
|
+
async function verifyToken(token) {
|
|
86
|
+
try {
|
|
87
|
+
const jwtConfig = await getJwtConfig();
|
|
88
|
+
const decoded = jsonwebtoken_1.default.verify(token, jwtConfig.secret);
|
|
89
|
+
return decoded;
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=jwt.js.map
|
package/utils/jwt.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../src/utils/jwt.ts"],"names":[],"mappings":"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"}
|