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,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Utils - Shared utilities for session management
|
|
3
|
+
*
|
|
4
|
+
* This module provides common functions for managing Claude sessions,
|
|
5
|
+
* used by both the main agents API and Slack integration.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Session mode for handling session management
|
|
9
|
+
* - 'new': Always create a new ClaudeSession (Query), but still use resume=sessionId for history context
|
|
10
|
+
* - 'reuse': Try to reuse existing ClaudeSession from SessionManager (original behavior)
|
|
11
|
+
*/
|
|
12
|
+
export type SessionMode = 'reuse' | 'new';
|
|
13
|
+
/**
|
|
14
|
+
* Handle session management logic
|
|
15
|
+
* Creates new session or reuses existing one based on sessionId and sessionMode
|
|
16
|
+
*
|
|
17
|
+
* @param agentId - Agent ID
|
|
18
|
+
* @param sessionId - Optional existing session ID (used for resume even in 'new' mode)
|
|
19
|
+
* @param projectPath - Optional project path for session history
|
|
20
|
+
* @param queryOptions - Query options for Claude SDK
|
|
21
|
+
* @param claudeVersionId - Optional Claude version ID
|
|
22
|
+
* @param modelId - Optional model ID
|
|
23
|
+
* @param sessionMode - Session mode: 'new' always creates fresh ClaudeSession (but still uses resume), 'reuse' tries to reuse existing ClaudeSession from SessionManager
|
|
24
|
+
*/
|
|
25
|
+
export declare function handleSessionManagement(agentId: string, sessionId: string | null, projectPath: string | undefined, queryOptions: any, claudeVersionId?: string, modelId?: string, sessionMode?: SessionMode): Promise<{
|
|
26
|
+
claudeSession: any;
|
|
27
|
+
actualSessionId: string | null;
|
|
28
|
+
}>;
|
|
29
|
+
/**
|
|
30
|
+
* Check if a model supports vision (image input)
|
|
31
|
+
* Gets model configuration from version settings
|
|
32
|
+
*
|
|
33
|
+
* @param model - Model ID
|
|
34
|
+
* @param claudeVersionId - Optional Claude version ID
|
|
35
|
+
*/
|
|
36
|
+
export declare function isVisionModel(model: string, claudeVersionId?: string): Promise<boolean>;
|
|
37
|
+
/**
|
|
38
|
+
* Save image to hidden directory and return relative path
|
|
39
|
+
* Used for non-vision models that need image files
|
|
40
|
+
*
|
|
41
|
+
* @param imageData - Base64 encoded image data
|
|
42
|
+
* @param mediaType - Image media type (image/jpeg, image/png, etc.)
|
|
43
|
+
* @param imageIndex - Index of the image
|
|
44
|
+
* @param projectPath - Optional project path
|
|
45
|
+
*/
|
|
46
|
+
export declare function saveImageToHiddenDir(imageData: string, mediaType: string, imageIndex: number, projectPath?: string): string;
|
|
47
|
+
/**
|
|
48
|
+
* Build user message content with optional image support
|
|
49
|
+
* Handles both vision and non-vision models
|
|
50
|
+
*
|
|
51
|
+
* @param message - Text message
|
|
52
|
+
* @param images - Optional array of images
|
|
53
|
+
* @param model - Optional model ID to check vision support
|
|
54
|
+
* @param projectPath - Optional project path for saving images
|
|
55
|
+
* @param claudeVersionId - Optional Claude version ID
|
|
56
|
+
*/
|
|
57
|
+
export declare function buildUserMessageContent(message: string, images?: any[], model?: string, projectPath?: string, claudeVersionId?: string): Promise<{
|
|
58
|
+
type: "user";
|
|
59
|
+
message: {
|
|
60
|
+
role: "user";
|
|
61
|
+
content: any[];
|
|
62
|
+
};
|
|
63
|
+
}>;
|
|
64
|
+
//# sourceMappingURL=sessionUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionUtils.d.ts","sourceRoot":"","sources":["../../src/utils/sessionUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,KAAK,CAAC;AAE1C;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,YAAY,EAAE,GAAG,EACjB,eAAe,CAAC,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE,MAAM,EAChB,WAAW,GAAE,WAAqB,GACjC,OAAO,CAAC;IAAE,aAAa,EAAE,GAAG,CAAC;IAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CA4DjE;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAgC7F;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CA6BR;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,GAAG,EAAE,EACd,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,MAAM;;;;;;GAoEzB"}
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Session Utils - Shared utilities for session management
|
|
4
|
+
*
|
|
5
|
+
* This module provides common functions for managing Claude sessions,
|
|
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.handleSessionManagement = handleSessionManagement;
|
|
43
|
+
exports.isVisionModel = isVisionModel;
|
|
44
|
+
exports.saveImageToHiddenDir = saveImageToHiddenDir;
|
|
45
|
+
exports.buildUserMessageContent = buildUserMessageContent;
|
|
46
|
+
const path = __importStar(require("path"));
|
|
47
|
+
const fs = __importStar(require("fs"));
|
|
48
|
+
const sessionManager_js_1 = require("../services/sessionManager.js");
|
|
49
|
+
const claudeVersionStorage_js_1 = require("../services/claudeVersionStorage.js");
|
|
50
|
+
/**
|
|
51
|
+
* Handle session management logic
|
|
52
|
+
* Creates new session or reuses existing one based on sessionId and sessionMode
|
|
53
|
+
*
|
|
54
|
+
* @param agentId - Agent ID
|
|
55
|
+
* @param sessionId - Optional existing session ID (used for resume even in 'new' mode)
|
|
56
|
+
* @param projectPath - Optional project path for session history
|
|
57
|
+
* @param queryOptions - Query options for Claude SDK
|
|
58
|
+
* @param claudeVersionId - Optional Claude version ID
|
|
59
|
+
* @param modelId - Optional model ID
|
|
60
|
+
* @param sessionMode - Session mode: 'new' always creates fresh ClaudeSession (but still uses resume), 'reuse' tries to reuse existing ClaudeSession from SessionManager
|
|
61
|
+
*/
|
|
62
|
+
async function handleSessionManagement(agentId, sessionId, projectPath, queryOptions, claudeVersionId, modelId, sessionMode = 'reuse') {
|
|
63
|
+
let claudeSession;
|
|
64
|
+
const actualSessionId = sessionId || null;
|
|
65
|
+
// If sessionMode is 'new', always create a fresh ClaudeSession (Query)
|
|
66
|
+
// but still use sessionId for resume to restore history context
|
|
67
|
+
if (sessionMode === 'new') {
|
|
68
|
+
if (sessionId) {
|
|
69
|
+
// Check if session history exists for resume
|
|
70
|
+
const sessionExists = sessionManager_js_1.sessionManager.checkSessionExists(sessionId, projectPath);
|
|
71
|
+
if (sessionExists) {
|
|
72
|
+
// Create new ClaudeSession with resume=sessionId (bypassing SessionManager cache)
|
|
73
|
+
console.log(`🆕 [sessionMode=new] Creating fresh ClaudeSession with resume=${sessionId} for agent: ${agentId}`);
|
|
74
|
+
claudeSession = sessionManager_js_1.sessionManager.createNewSession(agentId, queryOptions, sessionId, claudeVersionId, modelId);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
// No history to resume, create completely new session
|
|
78
|
+
console.log(`🆕 [sessionMode=new] Creating fresh ClaudeSession (no history found) for agent: ${agentId}`);
|
|
79
|
+
claudeSession = sessionManager_js_1.sessionManager.createNewSession(agentId, queryOptions, undefined, claudeVersionId, modelId);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
// No sessionId provided, create completely new session
|
|
84
|
+
console.log(`🆕 [sessionMode=new] Creating fresh ClaudeSession (no sessionId) for agent: ${agentId}`);
|
|
85
|
+
claudeSession = sessionManager_js_1.sessionManager.createNewSession(agentId, queryOptions, undefined, claudeVersionId, modelId);
|
|
86
|
+
}
|
|
87
|
+
return { claudeSession, actualSessionId };
|
|
88
|
+
}
|
|
89
|
+
// sessionMode === 'reuse': Original logic - try to reuse existing ClaudeSession from SessionManager
|
|
90
|
+
if (sessionId) {
|
|
91
|
+
// Try to reuse existing session from SessionManager cache
|
|
92
|
+
console.log(`🔍 Looking for existing session: ${sessionId} for agent: ${agentId}`);
|
|
93
|
+
claudeSession = sessionManager_js_1.sessionManager.getSession(sessionId);
|
|
94
|
+
if (claudeSession) {
|
|
95
|
+
console.log(`♻️ Using existing persistent Claude session: ${sessionId} for agent: ${agentId}`);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
console.log(`❌ Session ${sessionId} not found in memory for agent: ${agentId}`);
|
|
99
|
+
// Check if session history exists in project directory
|
|
100
|
+
console.log(`🔍 Checking project directory for session history: ${sessionId}, projectPath: ${projectPath}`);
|
|
101
|
+
const sessionExists = sessionManager_js_1.sessionManager.checkSessionExists(sessionId, projectPath);
|
|
102
|
+
console.log(`📁 Session history exists: ${sessionExists} for sessionId: ${sessionId}`);
|
|
103
|
+
if (sessionExists) {
|
|
104
|
+
// Session history exists, resume session
|
|
105
|
+
console.log(`🔄 Found session history for ${sessionId}, resuming session for agent: ${agentId}`);
|
|
106
|
+
claudeSession = sessionManager_js_1.sessionManager.createNewSession(agentId, queryOptions, sessionId, claudeVersionId, modelId);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
// Session history not found, create new session but keep original sessionId for frontend
|
|
110
|
+
console.log(`⚠️ Session ${sessionId} not found in memory or project history, creating new session for agent: ${agentId}`);
|
|
111
|
+
claudeSession = sessionManager_js_1.sessionManager.createNewSession(agentId, queryOptions, undefined, claudeVersionId, modelId);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
// Create new persistent session
|
|
117
|
+
claudeSession = sessionManager_js_1.sessionManager.createNewSession(agentId, queryOptions, undefined, claudeVersionId, modelId);
|
|
118
|
+
console.log(`🆕 Created new persistent Claude session for agent: ${agentId}`);
|
|
119
|
+
}
|
|
120
|
+
return { claudeSession, actualSessionId };
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Check if a model supports vision (image input)
|
|
124
|
+
* Gets model configuration from version settings
|
|
125
|
+
*
|
|
126
|
+
* @param model - Model ID
|
|
127
|
+
* @param claudeVersionId - Optional Claude version ID
|
|
128
|
+
*/
|
|
129
|
+
async function isVisionModel(model, claudeVersionId) {
|
|
130
|
+
try {
|
|
131
|
+
// Get version configuration
|
|
132
|
+
let versionId = claudeVersionId;
|
|
133
|
+
if (!versionId) {
|
|
134
|
+
versionId = await (0, claudeVersionStorage_js_1.getDefaultVersionId)() || 'system';
|
|
135
|
+
}
|
|
136
|
+
const versions = await (0, claudeVersionStorage_js_1.getAllVersions)();
|
|
137
|
+
const version = versions.find(v => v.id === versionId);
|
|
138
|
+
if (!version || !version.models) {
|
|
139
|
+
// If version or model config not found, assume vision support
|
|
140
|
+
console.warn(`⚠️ Version ${versionId} not found or has no model config, assuming vision support`);
|
|
141
|
+
return true;
|
|
142
|
+
}
|
|
143
|
+
// Find matching model in version's model list
|
|
144
|
+
const modelConfig = version.models.find(m => m.id === model);
|
|
145
|
+
if (modelConfig) {
|
|
146
|
+
console.log(`✅ Found model config for ${model}: isVision=${modelConfig.isVision}`);
|
|
147
|
+
return modelConfig.isVision;
|
|
148
|
+
}
|
|
149
|
+
// If no exact match found, assume vision support
|
|
150
|
+
console.warn(`⚠️ Model ${model} not found in version ${versionId} config, assuming vision support`);
|
|
151
|
+
return true;
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
console.error('Failed to check vision support:', error);
|
|
155
|
+
// Default to assuming vision support on error
|
|
156
|
+
return true;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Save image to hidden directory and return relative path
|
|
161
|
+
* Used for non-vision models that need image files
|
|
162
|
+
*
|
|
163
|
+
* @param imageData - Base64 encoded image data
|
|
164
|
+
* @param mediaType - Image media type (image/jpeg, image/png, etc.)
|
|
165
|
+
* @param imageIndex - Index of the image
|
|
166
|
+
* @param projectPath - Optional project path
|
|
167
|
+
*/
|
|
168
|
+
function saveImageToHiddenDir(imageData, mediaType, imageIndex, projectPath) {
|
|
169
|
+
const cwd = projectPath || process.cwd();
|
|
170
|
+
const hiddenDir = path.join(cwd, '.agentstudio-images');
|
|
171
|
+
// Ensure hidden directory exists
|
|
172
|
+
if (!fs.existsSync(hiddenDir)) {
|
|
173
|
+
fs.mkdirSync(hiddenDir, { recursive: true });
|
|
174
|
+
}
|
|
175
|
+
// Determine file extension from media type
|
|
176
|
+
const extMap = {
|
|
177
|
+
'image/jpeg': 'jpg',
|
|
178
|
+
'image/png': 'png',
|
|
179
|
+
'image/gif': 'gif',
|
|
180
|
+
'image/webp': 'webp'
|
|
181
|
+
};
|
|
182
|
+
const ext = extMap[mediaType] || 'jpg';
|
|
183
|
+
// Generate unique filename
|
|
184
|
+
const timestamp = Date.now();
|
|
185
|
+
const filename = `image${imageIndex}_${timestamp}.${ext}`;
|
|
186
|
+
const filepath = path.join(hiddenDir, filename);
|
|
187
|
+
// Write base64 data to file
|
|
188
|
+
const buffer = Buffer.from(imageData, 'base64');
|
|
189
|
+
fs.writeFileSync(filepath, buffer);
|
|
190
|
+
// Return relative path from project root
|
|
191
|
+
return path.relative(cwd, filepath);
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Build user message content with optional image support
|
|
195
|
+
* Handles both vision and non-vision models
|
|
196
|
+
*
|
|
197
|
+
* @param message - Text message
|
|
198
|
+
* @param images - Optional array of images
|
|
199
|
+
* @param model - Optional model ID to check vision support
|
|
200
|
+
* @param projectPath - Optional project path for saving images
|
|
201
|
+
* @param claudeVersionId - Optional Claude version ID
|
|
202
|
+
*/
|
|
203
|
+
async function buildUserMessageContent(message, images, model, projectPath, claudeVersionId) {
|
|
204
|
+
const messageContent = [];
|
|
205
|
+
let processedMessage = message;
|
|
206
|
+
// Check if model supports vision (from version configuration)
|
|
207
|
+
const supportsVision = model ? await isVisionModel(model, claudeVersionId) : true;
|
|
208
|
+
// Process images
|
|
209
|
+
if (images && images.length > 0) {
|
|
210
|
+
console.log('📸 Processing images:', images.map(img => ({
|
|
211
|
+
id: img.id,
|
|
212
|
+
mediaType: img.mediaType,
|
|
213
|
+
filename: img.filename,
|
|
214
|
+
size: img.data.length
|
|
215
|
+
})));
|
|
216
|
+
if (supportsVision) {
|
|
217
|
+
// Vision model: add images directly to message content
|
|
218
|
+
console.log('✅ Model supports vision, adding images directly to message content');
|
|
219
|
+
for (const image of images) {
|
|
220
|
+
messageContent.push({
|
|
221
|
+
type: "image",
|
|
222
|
+
source: {
|
|
223
|
+
type: "base64",
|
|
224
|
+
media_type: image.mediaType,
|
|
225
|
+
data: image.data
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
// Non-vision model: save images to hidden directory, replace placeholders with paths
|
|
232
|
+
console.log('⚠️ Model does not support vision, saving images to hidden directory');
|
|
233
|
+
for (let i = 0; i < images.length; i++) {
|
|
234
|
+
const image = images[i];
|
|
235
|
+
const imageIndex = i + 1;
|
|
236
|
+
const placeholder = `[image${imageIndex}]`;
|
|
237
|
+
try {
|
|
238
|
+
// Save image and get path
|
|
239
|
+
const imagePath = saveImageToHiddenDir(image.data, image.mediaType, imageIndex, projectPath);
|
|
240
|
+
console.log(`💾 Saved image ${imageIndex} to: ${imagePath}`);
|
|
241
|
+
// Replace placeholder in message with file path (add @ prefix)
|
|
242
|
+
processedMessage = processedMessage.replace(placeholder, `@${imagePath}`);
|
|
243
|
+
}
|
|
244
|
+
catch (error) {
|
|
245
|
+
console.error(`Failed to save image ${imageIndex}:`, error);
|
|
246
|
+
// If save fails, keep placeholder
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
// Add text content if provided
|
|
252
|
+
if (processedMessage && processedMessage.trim()) {
|
|
253
|
+
messageContent.push({
|
|
254
|
+
type: "text",
|
|
255
|
+
text: processedMessage
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
return {
|
|
259
|
+
type: "user",
|
|
260
|
+
message: {
|
|
261
|
+
role: "user",
|
|
262
|
+
content: messageContent
|
|
263
|
+
}
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
//# sourceMappingURL=sessionUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessionUtils.js","sourceRoot":"","sources":["../../src/utils/sessionUtils.ts"],"names":[],"mappings":"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"}
|