agent-tower 0.6.0-beta.2 → 0.6.0-beta.3
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/dist/app.d.ts.map +1 -1
- package/dist/app.js +10 -2
- package/dist/app.js.map +1 -1
- package/dist/app.test.js +10 -0
- package/dist/app.test.js.map +1 -1
- package/dist/core/container.d.ts +2 -0
- package/dist/core/container.d.ts.map +1 -1
- package/dist/core/container.js +9 -1
- package/dist/core/container.js.map +1 -1
- package/dist/executors/__tests__/codex.executor.test.js +50 -0
- package/dist/executors/__tests__/codex.executor.test.js.map +1 -1
- package/dist/executors/codex.executor.d.ts +2 -0
- package/dist/executors/codex.executor.d.ts.map +1 -1
- package/dist/executors/codex.executor.js +8 -0
- package/dist/executors/codex.executor.js.map +1 -1
- package/dist/executors/execution-env.d.ts +1 -1
- package/dist/executors/execution-env.d.ts.map +1 -1
- package/dist/executors/execution-env.js +2 -0
- package/dist/executors/execution-env.js.map +1 -1
- package/dist/mcp/http-client.d.ts +24 -0
- package/dist/mcp/http-client.d.ts.map +1 -1
- package/dist/mcp/http-client.js +66 -8
- package/dist/mcp/http-client.js.map +1 -1
- package/dist/mcp/http-client.test.d.ts +2 -0
- package/dist/mcp/http-client.test.d.ts.map +1 -0
- package/dist/mcp/http-client.test.js +67 -0
- package/dist/mcp/http-client.test.js.map +1 -0
- package/dist/mcp/index.js +9 -2
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/server.d.ts +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +7 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/__tests__/workspace-services.test.d.ts +2 -0
- package/dist/mcp/tools/__tests__/workspace-services.test.d.ts.map +1 -0
- package/dist/mcp/tools/__tests__/workspace-services.test.js +84 -0
- package/dist/mcp/tools/__tests__/workspace-services.test.js.map +1 -0
- package/dist/mcp/tools/workspace-services.d.ts +6 -0
- package/dist/mcp/tools/workspace-services.d.ts.map +1 -0
- package/dist/mcp/tools/workspace-services.js +102 -0
- package/dist/mcp/tools/workspace-services.js.map +1 -0
- package/dist/mcp/types.d.ts +55 -2
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/mcp/types.js +29 -0
- package/dist/mcp/types.js.map +1 -1
- package/dist/middleware/__tests__/access-auth.test.js +229 -2
- package/dist/middleware/__tests__/access-auth.test.js.map +1 -1
- package/dist/middleware/access-auth.d.ts +7 -0
- package/dist/middleware/access-auth.d.ts.map +1 -1
- package/dist/middleware/access-auth.js +50 -9
- package/dist/middleware/access-auth.js.map +1 -1
- package/dist/prompts/agent-output-intents.d.ts +2 -0
- package/dist/prompts/agent-output-intents.d.ts.map +1 -0
- package/dist/prompts/agent-output-intents.js +11 -0
- package/dist/prompts/agent-output-intents.js.map +1 -0
- package/dist/prompts/agent-output-intents.test.d.ts +2 -0
- package/dist/prompts/agent-output-intents.test.d.ts.map +1 -0
- package/dist/prompts/agent-output-intents.test.js +12 -0
- package/dist/prompts/agent-output-intents.test.js.map +1 -0
- package/dist/prompts/workspace-background-service-policy.d.ts +9 -0
- package/dist/prompts/workspace-background-service-policy.d.ts.map +1 -0
- package/dist/prompts/workspace-background-service-policy.js +17 -0
- package/dist/prompts/workspace-background-service-policy.js.map +1 -0
- package/dist/prompts/workspace-background-service-policy.test.d.ts +2 -0
- package/dist/prompts/workspace-background-service-policy.test.d.ts.map +1 -0
- package/dist/prompts/workspace-background-service-policy.test.js +19 -0
- package/dist/prompts/workspace-background-service-policy.test.js.map +1 -0
- package/dist/routes/__tests__/previews.integration.test.js +1 -0
- package/dist/routes/__tests__/previews.integration.test.js.map +1 -1
- package/dist/routes/__tests__/previews.test.js +6 -1
- package/dist/routes/__tests__/previews.test.js.map +1 -1
- package/dist/routes/__tests__/providers.test.js +1 -0
- package/dist/routes/__tests__/providers.test.js.map +1 -1
- package/dist/routes/__tests__/sessions-visualizations.test.d.ts +2 -0
- package/dist/routes/__tests__/sessions-visualizations.test.d.ts.map +1 -0
- package/dist/routes/__tests__/sessions-visualizations.test.js +89 -0
- package/dist/routes/__tests__/sessions-visualizations.test.js.map +1 -0
- package/dist/routes/__tests__/workspace-services.test.d.ts +2 -0
- package/dist/routes/__tests__/workspace-services.test.d.ts.map +1 -0
- package/dist/routes/__tests__/workspace-services.test.js +148 -0
- package/dist/routes/__tests__/workspace-services.test.js.map +1 -0
- package/dist/routes/access-auth.d.ts.map +1 -1
- package/dist/routes/access-auth.js +24 -11
- package/dist/routes/access-auth.js.map +1 -1
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +3 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/previews.d.ts.map +1 -1
- package/dist/routes/previews.js +4 -6
- package/dist/routes/previews.js.map +1 -1
- package/dist/routes/sessions.d.ts.map +1 -1
- package/dist/routes/sessions.js +93 -0
- package/dist/routes/sessions.js.map +1 -1
- package/dist/routes/tasks.d.ts.map +1 -1
- package/dist/routes/tasks.js +2 -2
- package/dist/routes/tasks.js.map +1 -1
- package/dist/routes/workspace-services.d.ts +7 -0
- package/dist/routes/workspace-services.d.ts.map +1 -0
- package/dist/routes/workspace-services.js +129 -0
- package/dist/routes/workspace-services.js.map +1 -0
- package/dist/runtime/__tests__/acp-agent-definitions.test.js +43 -0
- package/dist/runtime/__tests__/acp-agent-definitions.test.js.map +1 -1
- package/dist/runtime/__tests__/acp-driver-lifecycle.test.js +61 -1
- package/dist/runtime/__tests__/acp-driver-lifecycle.test.js.map +1 -1
- package/dist/runtime/__tests__/acp-driver.test.js +2 -0
- package/dist/runtime/__tests__/acp-driver.test.js.map +1 -1
- package/dist/runtime/__tests__/acp-process-manager.test.js +40 -1
- package/dist/runtime/__tests__/acp-process-manager.test.js.map +1 -1
- package/dist/runtime/__tests__/acp-projector.test.js +55 -0
- package/dist/runtime/__tests__/acp-projector.test.js.map +1 -1
- package/dist/runtime/__tests__/runtime-coordinator.test.js +5 -2
- package/dist/runtime/__tests__/runtime-coordinator.test.js.map +1 -1
- package/dist/runtime/acp/acp-driver.js +79 -27
- package/dist/runtime/acp/acp-driver.js.map +1 -1
- package/dist/runtime/acp/agents/codex-frame-normalizer.d.ts +4 -0
- package/dist/runtime/acp/agents/codex-frame-normalizer.d.ts.map +1 -0
- package/dist/runtime/acp/agents/codex-frame-normalizer.js +51 -0
- package/dist/runtime/acp/agents/codex-frame-normalizer.js.map +1 -0
- package/dist/runtime/acp/agents/codex.d.ts.map +1 -1
- package/dist/runtime/acp/agents/codex.js +21 -0
- package/dist/runtime/acp/agents/codex.js.map +1 -1
- package/dist/runtime/acp/agents/types.d.ts +4 -0
- package/dist/runtime/acp/agents/types.d.ts.map +1 -1
- package/dist/runtime/acp/codex-provider-config.d.ts +1 -0
- package/dist/runtime/acp/codex-provider-config.d.ts.map +1 -1
- package/dist/runtime/acp/codex-provider-config.js +4 -0
- package/dist/runtime/acp/codex-provider-config.js.map +1 -1
- package/dist/runtime/acp/process-manager.d.ts +3 -0
- package/dist/runtime/acp/process-manager.d.ts.map +1 -1
- package/dist/runtime/acp/process-manager.js +31 -12
- package/dist/runtime/acp/process-manager.js.map +1 -1
- package/dist/runtime/acp/projector.d.ts.map +1 -1
- package/dist/runtime/acp/projector.js +71 -5
- package/dist/runtime/acp/projector.js.map +1 -1
- package/dist/runtime/contracts.d.ts +1 -0
- package/dist/runtime/contracts.d.ts.map +1 -1
- package/dist/runtime/runtime-coordinator.d.ts.map +1 -1
- package/dist/runtime/runtime-coordinator.js +1 -0
- package/dist/runtime/runtime-coordinator.js.map +1 -1
- package/dist/services/__tests__/access-auth.service.test.js +41 -0
- package/dist/services/__tests__/access-auth.service.test.js.map +1 -1
- package/dist/services/__tests__/agent-artifact.service.test.d.ts +2 -0
- package/dist/services/__tests__/agent-artifact.service.test.d.ts.map +1 -0
- package/dist/services/__tests__/agent-artifact.service.test.js +133 -0
- package/dist/services/__tests__/agent-artifact.service.test.js.map +1 -0
- package/dist/services/__tests__/agent-visualization.service.test.d.ts +2 -0
- package/dist/services/__tests__/agent-visualization.service.test.d.ts.map +1 -0
- package/dist/services/__tests__/agent-visualization.service.test.js +57 -0
- package/dist/services/__tests__/agent-visualization.service.test.js.map +1 -0
- package/dist/services/__tests__/preview-runtime-manager.test.js +5 -0
- package/dist/services/__tests__/preview-runtime-manager.test.js.map +1 -1
- package/dist/services/__tests__/project.service.test.js +6 -2
- package/dist/services/__tests__/project.service.test.js.map +1 -1
- package/dist/services/__tests__/provider-config.service.test.js +32 -0
- package/dist/services/__tests__/provider-config.service.test.js.map +1 -1
- package/dist/services/__tests__/session-manager.lifecycle.test.js +153 -1
- package/dist/services/__tests__/session-manager.lifecycle.test.js.map +1 -1
- package/dist/services/__tests__/session-manager.team-run.test.js +18 -5
- package/dist/services/__tests__/session-manager.team-run.test.js.map +1 -1
- package/dist/services/__tests__/task.service.test.js +16 -3
- package/dist/services/__tests__/task.service.test.js.map +1 -1
- package/dist/services/__tests__/workspace-background-process-manager.test.d.ts +2 -0
- package/dist/services/__tests__/workspace-background-process-manager.test.d.ts.map +1 -0
- package/dist/services/__tests__/workspace-background-process-manager.test.js +412 -0
- package/dist/services/__tests__/workspace-background-process-manager.test.js.map +1 -0
- package/dist/services/__tests__/workspace-background-service.service.test.d.ts +2 -0
- package/dist/services/__tests__/workspace-background-service.service.test.d.ts.map +1 -0
- package/dist/services/__tests__/workspace-background-service.service.test.js +418 -0
- package/dist/services/__tests__/workspace-background-service.service.test.js.map +1 -0
- package/dist/services/__tests__/workspace.service.test.js +137 -0
- package/dist/services/__tests__/workspace.service.test.js.map +1 -1
- package/dist/services/access-auth.service.d.ts +15 -1
- package/dist/services/access-auth.service.d.ts.map +1 -1
- package/dist/services/access-auth.service.js +75 -15
- package/dist/services/access-auth.service.js.map +1 -1
- package/dist/services/agent-artifact.service.d.ts +28 -0
- package/dist/services/agent-artifact.service.d.ts.map +1 -0
- package/dist/services/agent-artifact.service.js +287 -0
- package/dist/services/agent-artifact.service.js.map +1 -0
- package/dist/services/agent-visualization.service.d.ts +12 -0
- package/dist/services/agent-visualization.service.d.ts.map +1 -0
- package/dist/services/agent-visualization.service.js +239 -0
- package/dist/services/agent-visualization.service.js.map +1 -0
- package/dist/services/mcp-config.service.d.ts.map +1 -1
- package/dist/services/mcp-config.service.js +8 -1
- package/dist/services/mcp-config.service.js.map +1 -1
- package/dist/services/mcp-config.service.test.js +14 -0
- package/dist/services/mcp-config.service.test.js.map +1 -1
- package/dist/services/preview-runtime-manager.d.ts.map +1 -1
- package/dist/services/preview-runtime-manager.js +15 -12
- package/dist/services/preview-runtime-manager.js.map +1 -1
- package/dist/services/project.service.d.ts +4 -1
- package/dist/services/project.service.d.ts.map +1 -1
- package/dist/services/project.service.js +43 -32
- package/dist/services/project.service.js.map +1 -1
- package/dist/services/provider-config.service.d.ts.map +1 -1
- package/dist/services/provider-config.service.js +11 -0
- package/dist/services/provider-config.service.js.map +1 -1
- package/dist/services/session-manager.d.ts +34 -32
- package/dist/services/session-manager.d.ts.map +1 -1
- package/dist/services/session-manager.js +43 -23
- package/dist/services/session-manager.js.map +1 -1
- package/dist/services/task-cleanup.service.d.ts +4 -1
- package/dist/services/task-cleanup.service.d.ts.map +1 -1
- package/dist/services/task-cleanup.service.js +13 -1
- package/dist/services/task-cleanup.service.js.map +1 -1
- package/dist/services/task.service.d.ts +22 -20
- package/dist/services/task.service.d.ts.map +1 -1
- package/dist/services/task.service.js +21 -8
- package/dist/services/task.service.js.map +1 -1
- package/dist/services/workspace-background-process-manager.d.ts +66 -0
- package/dist/services/workspace-background-process-manager.d.ts.map +1 -0
- package/dist/services/workspace-background-process-manager.js +328 -0
- package/dist/services/workspace-background-process-manager.js.map +1 -0
- package/dist/services/workspace-background-service.service.d.ts +39 -0
- package/dist/services/workspace-background-service.service.d.ts.map +1 -0
- package/dist/services/workspace-background-service.service.js +520 -0
- package/dist/services/workspace-background-service.service.js.map +1 -0
- package/dist/services/workspace-lifecycle-barrier.d.ts +10 -0
- package/dist/services/workspace-lifecycle-barrier.d.ts.map +1 -0
- package/dist/services/workspace-lifecycle-barrier.js +35 -0
- package/dist/services/workspace-lifecycle-barrier.js.map +1 -0
- package/dist/services/workspace.service.d.ts +42 -36
- package/dist/services/workspace.service.d.ts.map +1 -1
- package/dist/services/workspace.service.js +100 -39
- package/dist/services/workspace.service.js.map +1 -1
- package/dist/socket/__tests__/socket-gateway.test.js +23 -0
- package/dist/socket/__tests__/socket-gateway.test.js.map +1 -1
- package/dist/socket/middleware/__tests__/auth.test.js +3 -3
- package/dist/socket/middleware/__tests__/auth.test.js.map +1 -1
- package/dist/utils/agent-api-credential.d.ts +11 -0
- package/dist/utils/agent-api-credential.d.ts.map +1 -0
- package/dist/utils/agent-api-credential.js +40 -0
- package/dist/utils/agent-api-credential.js.map +1 -0
- package/dist/utils/internal-api-token.d.ts +2 -0
- package/dist/utils/internal-api-token.d.ts.map +1 -1
- package/dist/utils/internal-api-token.js +2 -0
- package/dist/utils/internal-api-token.js.map +1 -1
- package/dist/utils/process-launch.d.ts.map +1 -1
- package/dist/utils/process-launch.js +156 -22
- package/dist/utils/process-launch.js.map +1 -1
- package/dist/utils/process-launch.test.js +7 -0
- package/dist/utils/process-launch.test.js.map +1 -1
- package/dist/utils/unix-process-identity.d.ts +23 -0
- package/dist/utils/unix-process-identity.d.ts.map +1 -0
- package/dist/utils/unix-process-identity.js +165 -0
- package/dist/utils/unix-process-identity.js.map +1 -0
- package/dist/web/assets/{AgentDemoPage-XrttOpQW.js → AgentDemoPage-CLemSpf6.js} +1 -1
- package/dist/web/assets/{AgentEnvironmentSettingsPage-CAo0bCpZ.js → AgentEnvironmentSettingsPage-CPggaJvZ.js} +1 -1
- package/dist/web/assets/{AgentLogo-BCwbooTN.js → AgentLogo-DJFjaRFS.js} +1 -1
- package/dist/web/assets/ConversationPage-CB4PoHYi.js +3 -0
- package/dist/web/assets/CreateTaskInput-CXWGjX_a.js +1 -0
- package/dist/web/assets/{DemoPage-DHMh9-zU.js → DemoPage-djW4NeHW.js} +3 -3
- package/dist/web/assets/{GeneralSettingsPage-DvWaqR9O.js → GeneralSettingsPage-0a2VgV74.js} +1 -1
- package/dist/web/assets/{Icons-DADUmnB1.js → Icons-tvQ3lNxT.js} +1 -1
- package/dist/web/assets/{LoadingPreviewPage-Dk91Ua1W.js → LoadingPreviewPage-D8GpQ-Ic.js} +1 -1
- package/dist/web/assets/McpSettingsPage-BxPMmwHH.js +1 -0
- package/dist/web/assets/{MemberAvatar-l-WCdlLA.js → MemberAvatar-JbGgXa3r.js} +1 -1
- package/dist/web/assets/{NotificationSettingsPage-Byu8b9X3.js → NotificationSettingsPage-BtN0fYTA.js} +1 -1
- package/dist/web/assets/{ProfileSettingsPage-BdylqWUj.js → ProfileSettingsPage-CVSHbAtS.js} +1 -1
- package/dist/web/assets/ProjectKanbanPage-Dq0pufE1.js +90 -0
- package/dist/web/assets/ProjectSettingsPage-CChSA5A4.js +2 -0
- package/dist/web/assets/ProviderSettingsPage-giXaDHmU.js +95 -0
- package/dist/web/assets/{SettingsMasterDetail-DTGIIGdI.js → SettingsMasterDetail-D-TeBuLx.js} +1 -1
- package/dist/web/assets/{TeamSettingsPage-BXuG4Bou.js → TeamSettingsPage-DNLp2l2E.js} +1 -1
- package/dist/web/assets/{arc-DrcjdWTE.js → arc-B5sdSA9b.js} +1 -1
- package/dist/web/assets/{architectureDiagram-3BPJPVTR-CAoBhXSL.js → architectureDiagram-3BPJPVTR-ClsPKWjN.js} +1 -1
- package/dist/web/assets/{arrow-left-CCWDjOmp.js → arrow-left-B7C-fOb5.js} +1 -1
- package/dist/web/assets/{blockDiagram-GPEHLZMM-CcTSBbUq.js → blockDiagram-GPEHLZMM-HHViBKvL.js} +1 -1
- package/dist/web/assets/{c4Diagram-AAUBKEIU-BuUKdgUg.js → c4Diagram-AAUBKEIU-CRreiVUs.js} +1 -1
- package/dist/web/assets/channel-Bhjxgyee.js +1 -0
- package/dist/web/assets/check-Dtr-nHO5.js +1 -0
- package/dist/web/assets/{chevron-down-BQcW9sFf.js → chevron-down-BZnZAd2n.js} +1 -1
- package/dist/web/assets/{chevron-right-pH923eYp.js → chevron-right-nnOI2p8q.js} +1 -1
- package/dist/web/assets/{chevron-up-DyQW115F.js → chevron-up-Cl6FGZ8R.js} +1 -1
- package/dist/web/assets/{chunk-2J33WTMH-BWNSmQa8.js → chunk-2J33WTMH-_s2AOnis.js} +1 -1
- package/dist/web/assets/{chunk-4BX2VUAB-Blldhw0k.js → chunk-4BX2VUAB-Ds1jhNjB.js} +1 -1
- package/dist/web/assets/{chunk-55IACEB6-hTffyPXL.js → chunk-55IACEB6-B2SvpbB1.js} +1 -1
- package/dist/web/assets/{chunk-727SXJPM-Cd48r7c-.js → chunk-727SXJPM-B6qjWdxn.js} +1 -1
- package/dist/web/assets/{chunk-AQP2D5EJ-BdDrOIL7.js → chunk-AQP2D5EJ-myECS-o9.js} +1 -1
- package/dist/web/assets/{chunk-FMBD7UC4-6XIvQYVJ.js → chunk-FMBD7UC4-CFDf13jX.js} +1 -1
- package/dist/web/assets/{chunk-ND2GUHAM-BJlcb_pB.js → chunk-ND2GUHAM-62aJufBH.js} +1 -1
- package/dist/web/assets/{chunk-QZHKN3VN-3TZzFkxK.js → chunk-QZHKN3VN-DEWvzHCx.js} +1 -1
- package/dist/web/assets/{circle-alert-oa-BQ5e7.js → circle-alert-BSGJzTSj.js} +1 -1
- package/dist/web/assets/classDiagram-4FO5ZUOK-BxnIeW8e.js +1 -0
- package/dist/web/assets/classDiagram-v2-Q7XG4LA2-BxnIeW8e.js +1 -0
- package/dist/web/assets/{code-block-OCS4YCEC-xJQWFyR7.js → code-block-OCS4YCEC-DWj3hzdw.js} +1 -1
- package/dist/web/assets/{confirm-dialog-CRiC3xBd.js → confirm-dialog-oStWxmjS.js} +1 -1
- package/dist/web/assets/{cose-bilkent-S5V4N54A-Cjcm-rW_.js → cose-bilkent-S5V4N54A-DNYqhVNu.js} +1 -1
- package/dist/web/assets/cssMode-Cn68yhOS.js +1 -0
- package/dist/web/assets/{dagre-BM42HDAG-YqubcAJi.js → dagre-BM42HDAG-gQbGUd4s.js} +1 -1
- package/dist/web/assets/{diagram-2AECGRRQ-Dk4ayFqg.js → diagram-2AECGRRQ-BeMaPQBR.js} +1 -1
- package/dist/web/assets/{diagram-5GNKFQAL-CQ0joYfB.js → diagram-5GNKFQAL-CStJaSd8.js} +1 -1
- package/dist/web/assets/{diagram-KO2AKTUF-DmuZzIdW.js → diagram-KO2AKTUF-BmEeaazt.js} +1 -1
- package/dist/web/assets/{diagram-LMA3HP47-YTPEfEZy.js → diagram-LMA3HP47-ClNnKUvt.js} +1 -1
- package/dist/web/assets/{diagram-OG6HWLK6-DmwRuz8-.js → diagram-OG6HWLK6-C24GKhLk.js} +1 -1
- package/dist/web/assets/{erDiagram-TEJ5UH35-LRL_DMXa.js → erDiagram-TEJ5UH35-6Xp8w1WL.js} +1 -1
- package/dist/web/assets/{flowDiagram-I6XJVG4X-ELBDyOvk.js → flowDiagram-I6XJVG4X-BCih6e9O.js} +1 -1
- package/dist/web/assets/folder-picker-DcY2P8zf.js +1 -0
- package/dist/web/assets/{freemarker2-DxJFkRz5.js → freemarker2-C6kMBtOW.js} +1 -1
- package/dist/web/assets/{ganttDiagram-6RSMTGT7-D0e9ILuF.js → ganttDiagram-6RSMTGT7-_9GX-BOi.js} +1 -1
- package/dist/web/assets/{gitGraphDiagram-PVQCEYII-Ck6OXXw0.js → gitGraphDiagram-PVQCEYII-DEe9VMLq.js} +1 -1
- package/dist/web/assets/handlebars-BxZgdhY8.js +1 -0
- package/dist/web/assets/html-bhMfD_X9.js +1 -0
- package/dist/web/assets/htmlMode-CC7AVUJ4.js +1 -0
- package/dist/web/assets/index-018g9RN4.css +1 -0
- package/dist/web/assets/{index-D9kBRMR0.js → index-ToY1NCNr.js} +3 -3
- package/dist/web/assets/{index-CjdqAcbu.js → index-cl-QFuts.js} +4 -4
- package/dist/web/assets/{infoDiagram-5YYISTIA-Cx8be-MV.js → infoDiagram-5YYISTIA-CU3D8SMZ.js} +1 -1
- package/dist/web/assets/{ishikawaDiagram-YF4QCWOH-Dlc7akl7.js → ishikawaDiagram-YF4QCWOH-ClffgdSa.js} +1 -1
- package/dist/web/assets/javascript-8UIdW5Gd.js +1 -0
- package/dist/web/assets/{journeyDiagram-JHISSGLW-BVDSbS9-.js → journeyDiagram-JHISSGLW-Cy7Rr0_y.js} +1 -1
- package/dist/web/assets/{jsonMode-B5CJhoWd.js → jsonMode-JLBoaKf1.js} +1 -1
- package/dist/web/assets/{kanban-definition-UN3LZRKU-nFR0zB7B.js → kanban-definition-UN3LZRKU-14piuQEq.js} +1 -1
- package/dist/web/assets/{layers-Bo4aml98.js → layers-C93epAjs.js} +1 -1
- package/dist/web/assets/{linear-BCWZjcpP.js → linear-BtH62ya4.js} +1 -1
- package/dist/web/assets/liquid-BntTiwt7.js +1 -0
- package/dist/web/assets/{lspLanguageFeatures-Cbk7wEkj.js → lspLanguageFeatures-Dk65AKZD.js} +1 -1
- package/dist/web/assets/mdx-ToUKdFio.js +1 -0
- package/dist/web/assets/{mermaid-NOHMQCX5-DWQaYVL0.js → mermaid-NOHMQCX5-CPO3gPWp.js} +66 -65
- package/dist/web/assets/{message-square-DxbkpGqF.js → message-square-BBENHwpb.js} +1 -1
- package/dist/web/assets/{mindmap-definition-RKZ34NQL-LI7W1FIX.js → mindmap-definition-RKZ34NQL-gWYqFXbP.js} +1 -1
- package/dist/web/assets/{modal-Cymk-6Df.js → modal-D-sNOVPw.js} +1 -1
- package/dist/web/assets/{monaco-Bc-Z2u8N.js → monaco-B9Zd90UG.js} +3 -3
- package/dist/web/assets/{pencil-DOL2nlgg.js → pencil-BRPix314.js} +1 -1
- package/dist/web/assets/{pieDiagram-4H26LBE5-mgUzAFkk.js → pieDiagram-4H26LBE5-C3cHgEuO.js} +1 -1
- package/dist/web/assets/python-BeGIUwrY.js +1 -0
- package/dist/web/assets/{quadrantDiagram-W4KKPZXB-CaDF2kqA.js → quadrantDiagram-W4KKPZXB-DZFYp-mp.js} +1 -1
- package/dist/web/assets/razor-CnCuqD7W.js +1 -0
- package/dist/web/assets/{requirementDiagram-4Y6WPE33-DhmHdr_0.js → requirementDiagram-4Y6WPE33-DSQRXAFH.js} +1 -1
- package/dist/web/assets/{sankeyDiagram-5OEKKPKP-B7qnGfue.js → sankeyDiagram-5OEKKPKP-CEXk2v3C.js} +1 -1
- package/dist/web/assets/{select-BpKQyMvD.js → select-CGNclv1f.js} +1 -1
- package/dist/web/assets/{sequenceDiagram-3UESZ5HK-D2LhPgpM.js → sequenceDiagram-3UESZ5HK-CHVF_25M.js} +1 -1
- package/dist/web/assets/server-UA3ZvpjF.js +1 -0
- package/dist/web/assets/{stateDiagram-AJRCARHV-ClkO4Gu5.js → stateDiagram-AJRCARHV-TMqBR1_f.js} +1 -1
- package/dist/web/assets/stateDiagram-v2-BHNVJYJU-DqCjP1u1.js +1 -0
- package/dist/web/assets/{switch-BJ4Ar_OA.js → switch-C7qsQ1x2.js} +1 -1
- package/dist/web/assets/{textarea-DjwjAAG8.js → textarea-CDdCks2T.js} +1 -1
- package/dist/web/assets/{timeline-definition-PNZ67QCA-DhGIG-GC.js → timeline-definition-PNZ67QCA-CxC3mFt7.js} +1 -1
- package/dist/web/assets/{trash-2-R46i6Uus.js → trash-2-Bye7VGcW.js} +1 -1
- package/dist/web/assets/{tsMode-CKaqpIrz.js → tsMode-8nvc-x2E.js} +1 -1
- package/dist/web/assets/typescript-P7JXXc42.js +1 -0
- package/dist/web/assets/{upload-CgWqsmdI.js → upload-wJO5M1ZY.js} +1 -1
- package/dist/web/assets/{use-profiles-BlGgvdYm.js → use-profiles-CYJIKesy.js} +1 -1
- package/dist/web/assets/{use-projects-Cuv0A0RC.js → use-projects-Ds_YI2En.js} +1 -1
- package/dist/web/assets/{use-providers-DLcAY6E1.js → use-providers-B9FaTKyw.js} +1 -1
- package/dist/web/assets/{useNormalizedLogs-tfxFAJOF.js → useNormalizedLogs-B8um63GF.js} +1 -1
- package/dist/web/assets/{vennDiagram-CIIHVFJN-BngQhsYJ.js → vennDiagram-CIIHVFJN-DX0jm9G-.js} +1 -1
- package/dist/web/assets/{wardley-L42UT6IY-BEY6sftT.js → wardley-L42UT6IY-Ce-rqtq2.js} +1 -1
- package/dist/web/assets/{wardleyDiagram-YWT4CUSO-IH_Yh-cw.js → wardleyDiagram-YWT4CUSO-Gpxnu2av.js} +1 -1
- package/dist/web/assets/xml-1G4iEdpK.js +1 -0
- package/dist/web/assets/{xychartDiagram-2RQKCTM6-BdrGFDsr.js → xychartDiagram-2RQKCTM6-COe6opx2.js} +1 -1
- package/dist/web/assets/yaml-HqUdsAk3.js +1 -0
- package/dist/web/index.html +2 -2
- package/node_modules/@agent-tower/shared/dist/agent-download-intent.d.ts +6 -0
- package/node_modules/@agent-tower/shared/dist/agent-download-intent.d.ts.map +1 -0
- package/node_modules/@agent-tower/shared/dist/agent-download-intent.js +46 -0
- package/node_modules/@agent-tower/shared/dist/agent-download-intent.js.map +1 -0
- package/node_modules/@agent-tower/shared/dist/index.d.ts +1 -0
- package/node_modules/@agent-tower/shared/dist/index.d.ts.map +1 -1
- package/node_modules/@agent-tower/shared/dist/index.js +1 -0
- package/node_modules/@agent-tower/shared/dist/index.js.map +1 -1
- package/node_modules/@agent-tower/shared/dist/provider-capabilities.d.ts +1 -0
- package/node_modules/@agent-tower/shared/dist/provider-capabilities.d.ts.map +1 -1
- package/node_modules/@agent-tower/shared/dist/provider-capabilities.js +4 -0
- package/node_modules/@agent-tower/shared/dist/provider-capabilities.js.map +1 -1
- package/node_modules/@agent-tower/shared/dist/types.d.ts +56 -2
- package/node_modules/@agent-tower/shared/dist/types.d.ts.map +1 -1
- package/node_modules/@agent-tower/shared/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/prisma/migrations/20260728000000_add_agent_artifacts/migration.sql +23 -0
- package/prisma/schema.prisma +48 -0
- package/dist/web/assets/ConversationPage-kyHuICil.js +0 -3
- package/dist/web/assets/CreateTaskInput-B67vzMJD.js +0 -1
- package/dist/web/assets/McpSettingsPage-CH8jFyxp.js +0 -1
- package/dist/web/assets/ProjectKanbanPage--cx6wNDR.js +0 -90
- package/dist/web/assets/ProjectSettingsPage-6psG0Vfc.js +0 -2
- package/dist/web/assets/ProviderSettingsPage-BPEEkhtA.js +0 -93
- package/dist/web/assets/channel-Bh_PCZNP.js +0 -1
- package/dist/web/assets/check-BN_PVKzE.js +0 -1
- package/dist/web/assets/classDiagram-4FO5ZUOK-B0lQFDoP.js +0 -1
- package/dist/web/assets/classDiagram-v2-Q7XG4LA2-B0lQFDoP.js +0 -1
- package/dist/web/assets/copy-DaoAUKTO.js +0 -1
- package/dist/web/assets/cssMode-_D6u4YDd.js +0 -1
- package/dist/web/assets/folder-picker-WUhXxIM5.js +0 -1
- package/dist/web/assets/handlebars-djdO6ZKR.js +0 -1
- package/dist/web/assets/html-CHeBxmFi.js +0 -1
- package/dist/web/assets/htmlMode-SZh8FaPi.js +0 -1
- package/dist/web/assets/index-CjAJoGg5.css +0 -1
- package/dist/web/assets/javascript-l6fV6hf7.js +0 -1
- package/dist/web/assets/liquid-DkFOeJ6J.js +0 -1
- package/dist/web/assets/mdx-BOPNdexu.js +0 -1
- package/dist/web/assets/python-D_wlYLCL.js +0 -1
- package/dist/web/assets/razor-DBFVg4JU.js +0 -1
- package/dist/web/assets/stateDiagram-v2-BHNVJYJU-YnSeSD_N.js +0 -1
- package/dist/web/assets/typescript-DsixnGVt.js +0 -1
- package/dist/web/assets/xml-dEcQ1gzo.js +0 -1
- package/dist/web/assets/yaml-BfGVqGj4.js +0 -1
|
@@ -2,6 +2,7 @@ import { AgentType } from '../types/index.js';
|
|
|
2
2
|
import type { EventBus } from '../core/event-bus.js';
|
|
3
3
|
import { TeamReconcilerService } from './team-reconciler.service.js';
|
|
4
4
|
import { RuntimeType, type RuntimeStateDto } from '@agent-tower/shared';
|
|
5
|
+
import { type RuntimeRegistry } from '../runtime/index.js';
|
|
5
6
|
interface StopSessionOptions {
|
|
6
7
|
skipTeamRunReconcile?: boolean;
|
|
7
8
|
}
|
|
@@ -34,23 +35,24 @@ export declare class SessionManager {
|
|
|
34
35
|
private readonly runtimeProcessIds;
|
|
35
36
|
private readonly runtimePermissionStates;
|
|
36
37
|
private readonly externalSessionPersistence;
|
|
38
|
+
private readonly artifactService;
|
|
37
39
|
private static readonly SNAPSHOT_CHECKPOINT_MS;
|
|
38
40
|
private static readonly HEARTBEAT_THROTTLE_MS;
|
|
39
|
-
constructor(eventBus: EventBus, teamReconciler?: TeamReconcilerService);
|
|
41
|
+
constructor(eventBus: EventBus, teamReconciler?: TeamReconcilerService, runtimeRegistry?: RuntimeRegistry);
|
|
40
42
|
findById(id: string): Promise<({
|
|
41
43
|
workspace: {
|
|
42
44
|
id: string;
|
|
43
45
|
createdAt: Date;
|
|
44
46
|
updatedAt: Date;
|
|
47
|
+
workingDir: string;
|
|
45
48
|
status: string;
|
|
46
49
|
taskId: string;
|
|
50
|
+
branchName: string;
|
|
51
|
+
worktreePath: string;
|
|
47
52
|
parentWorkspaceId: string | null;
|
|
48
53
|
ownerMemberId: string | null;
|
|
49
|
-
branchName: string;
|
|
50
54
|
baseBranch: string | null;
|
|
51
|
-
worktreePath: string;
|
|
52
55
|
workspaceKind: string;
|
|
53
|
-
workingDir: string;
|
|
54
56
|
commitMessage: string | null;
|
|
55
57
|
previewTarget: string | null;
|
|
56
58
|
hibernatedAt: Date | null;
|
|
@@ -59,9 +61,9 @@ export declare class SessionManager {
|
|
|
59
61
|
id: string;
|
|
60
62
|
createdAt: Date;
|
|
61
63
|
updatedAt: Date;
|
|
64
|
+
workingDir: string;
|
|
62
65
|
title: string;
|
|
63
66
|
deletedAt: Date | null;
|
|
64
|
-
workingDir: string;
|
|
65
67
|
directoryName: string;
|
|
66
68
|
lastActiveAt: Date;
|
|
67
69
|
} | null;
|
|
@@ -77,12 +79,12 @@ export declare class SessionManager {
|
|
|
77
79
|
id: string;
|
|
78
80
|
createdAt: Date;
|
|
79
81
|
updatedAt: Date;
|
|
82
|
+
agentType: string;
|
|
83
|
+
runtimeType: string;
|
|
80
84
|
status: string;
|
|
81
85
|
workspaceId: string | null;
|
|
82
86
|
conversationId: string | null;
|
|
83
87
|
context: string;
|
|
84
|
-
agentType: string;
|
|
85
|
-
runtimeType: string;
|
|
86
88
|
externalSessionId: string | null;
|
|
87
89
|
variant: string;
|
|
88
90
|
providerId: string | null;
|
|
@@ -97,12 +99,12 @@ export declare class SessionManager {
|
|
|
97
99
|
id: string;
|
|
98
100
|
createdAt: Date;
|
|
99
101
|
updatedAt: Date;
|
|
102
|
+
agentType: string;
|
|
103
|
+
runtimeType: string;
|
|
100
104
|
status: string;
|
|
101
105
|
workspaceId: string | null;
|
|
102
106
|
conversationId: string | null;
|
|
103
107
|
context: string;
|
|
104
|
-
agentType: string;
|
|
105
|
-
runtimeType: string;
|
|
106
108
|
externalSessionId: string | null;
|
|
107
109
|
variant: string;
|
|
108
110
|
providerId: string | null;
|
|
@@ -118,9 +120,9 @@ export declare class SessionManager {
|
|
|
118
120
|
description: string | null;
|
|
119
121
|
createdAt: Date;
|
|
120
122
|
updatedAt: Date;
|
|
121
|
-
title: string;
|
|
122
123
|
status: string;
|
|
123
124
|
priority: number;
|
|
125
|
+
title: string;
|
|
124
126
|
position: number;
|
|
125
127
|
projectId: string;
|
|
126
128
|
deletedAt: Date | null;
|
|
@@ -129,15 +131,15 @@ export declare class SessionManager {
|
|
|
129
131
|
id: string;
|
|
130
132
|
createdAt: Date;
|
|
131
133
|
updatedAt: Date;
|
|
134
|
+
workingDir: string;
|
|
132
135
|
status: string;
|
|
133
136
|
taskId: string;
|
|
137
|
+
branchName: string;
|
|
138
|
+
worktreePath: string;
|
|
134
139
|
parentWorkspaceId: string | null;
|
|
135
140
|
ownerMemberId: string | null;
|
|
136
|
-
branchName: string;
|
|
137
141
|
baseBranch: string | null;
|
|
138
|
-
worktreePath: string;
|
|
139
142
|
workspaceKind: string;
|
|
140
|
-
workingDir: string;
|
|
141
143
|
commitMessage: string | null;
|
|
142
144
|
previewTarget: string | null;
|
|
143
145
|
hibernatedAt: Date | null;
|
|
@@ -146,9 +148,9 @@ export declare class SessionManager {
|
|
|
146
148
|
id: string;
|
|
147
149
|
createdAt: Date;
|
|
148
150
|
updatedAt: Date;
|
|
151
|
+
workingDir: string;
|
|
149
152
|
title: string;
|
|
150
153
|
deletedAt: Date | null;
|
|
151
|
-
workingDir: string;
|
|
152
154
|
directoryName: string;
|
|
153
155
|
lastActiveAt: Date;
|
|
154
156
|
} | null;
|
|
@@ -156,12 +158,12 @@ export declare class SessionManager {
|
|
|
156
158
|
id: string;
|
|
157
159
|
createdAt: Date;
|
|
158
160
|
updatedAt: Date;
|
|
161
|
+
agentType: string;
|
|
162
|
+
runtimeType: string;
|
|
159
163
|
status: string;
|
|
160
164
|
workspaceId: string | null;
|
|
161
165
|
conversationId: string | null;
|
|
162
166
|
context: string;
|
|
163
|
-
agentType: string;
|
|
164
|
-
runtimeType: string;
|
|
165
167
|
externalSessionId: string | null;
|
|
166
168
|
variant: string;
|
|
167
169
|
providerId: string | null;
|
|
@@ -177,9 +179,9 @@ export declare class SessionManager {
|
|
|
177
179
|
description: string | null;
|
|
178
180
|
createdAt: Date;
|
|
179
181
|
updatedAt: Date;
|
|
180
|
-
title: string;
|
|
181
182
|
status: string;
|
|
182
183
|
priority: number;
|
|
184
|
+
title: string;
|
|
183
185
|
position: number;
|
|
184
186
|
projectId: string;
|
|
185
187
|
deletedAt: Date | null;
|
|
@@ -188,15 +190,15 @@ export declare class SessionManager {
|
|
|
188
190
|
id: string;
|
|
189
191
|
createdAt: Date;
|
|
190
192
|
updatedAt: Date;
|
|
193
|
+
workingDir: string;
|
|
191
194
|
status: string;
|
|
192
195
|
taskId: string;
|
|
196
|
+
branchName: string;
|
|
197
|
+
worktreePath: string;
|
|
193
198
|
parentWorkspaceId: string | null;
|
|
194
199
|
ownerMemberId: string | null;
|
|
195
|
-
branchName: string;
|
|
196
200
|
baseBranch: string | null;
|
|
197
|
-
worktreePath: string;
|
|
198
201
|
workspaceKind: string;
|
|
199
|
-
workingDir: string;
|
|
200
202
|
commitMessage: string | null;
|
|
201
203
|
previewTarget: string | null;
|
|
202
204
|
hibernatedAt: Date | null;
|
|
@@ -205,9 +207,9 @@ export declare class SessionManager {
|
|
|
205
207
|
id: string;
|
|
206
208
|
createdAt: Date;
|
|
207
209
|
updatedAt: Date;
|
|
210
|
+
workingDir: string;
|
|
208
211
|
title: string;
|
|
209
212
|
deletedAt: Date | null;
|
|
210
|
-
workingDir: string;
|
|
211
213
|
directoryName: string;
|
|
212
214
|
lastActiveAt: Date;
|
|
213
215
|
} | null;
|
|
@@ -215,12 +217,12 @@ export declare class SessionManager {
|
|
|
215
217
|
id: string;
|
|
216
218
|
createdAt: Date;
|
|
217
219
|
updatedAt: Date;
|
|
220
|
+
agentType: string;
|
|
221
|
+
runtimeType: string;
|
|
218
222
|
status: string;
|
|
219
223
|
workspaceId: string | null;
|
|
220
224
|
conversationId: string | null;
|
|
221
225
|
context: string;
|
|
222
|
-
agentType: string;
|
|
223
|
-
runtimeType: string;
|
|
224
226
|
externalSessionId: string | null;
|
|
225
227
|
variant: string;
|
|
226
228
|
providerId: string | null;
|
|
@@ -236,9 +238,9 @@ export declare class SessionManager {
|
|
|
236
238
|
description: string | null;
|
|
237
239
|
createdAt: Date;
|
|
238
240
|
updatedAt: Date;
|
|
239
|
-
title: string;
|
|
240
241
|
status: string;
|
|
241
242
|
priority: number;
|
|
243
|
+
title: string;
|
|
242
244
|
position: number;
|
|
243
245
|
projectId: string;
|
|
244
246
|
deletedAt: Date | null;
|
|
@@ -247,15 +249,15 @@ export declare class SessionManager {
|
|
|
247
249
|
id: string;
|
|
248
250
|
createdAt: Date;
|
|
249
251
|
updatedAt: Date;
|
|
252
|
+
workingDir: string;
|
|
250
253
|
status: string;
|
|
251
254
|
taskId: string;
|
|
255
|
+
branchName: string;
|
|
256
|
+
worktreePath: string;
|
|
252
257
|
parentWorkspaceId: string | null;
|
|
253
258
|
ownerMemberId: string | null;
|
|
254
|
-
branchName: string;
|
|
255
259
|
baseBranch: string | null;
|
|
256
|
-
worktreePath: string;
|
|
257
260
|
workspaceKind: string;
|
|
258
|
-
workingDir: string;
|
|
259
261
|
commitMessage: string | null;
|
|
260
262
|
previewTarget: string | null;
|
|
261
263
|
hibernatedAt: Date | null;
|
|
@@ -264,9 +266,9 @@ export declare class SessionManager {
|
|
|
264
266
|
id: string;
|
|
265
267
|
createdAt: Date;
|
|
266
268
|
updatedAt: Date;
|
|
269
|
+
workingDir: string;
|
|
267
270
|
title: string;
|
|
268
271
|
deletedAt: Date | null;
|
|
269
|
-
workingDir: string;
|
|
270
272
|
directoryName: string;
|
|
271
273
|
lastActiveAt: Date;
|
|
272
274
|
} | null;
|
|
@@ -274,12 +276,12 @@ export declare class SessionManager {
|
|
|
274
276
|
id: string;
|
|
275
277
|
createdAt: Date;
|
|
276
278
|
updatedAt: Date;
|
|
279
|
+
agentType: string;
|
|
280
|
+
runtimeType: string;
|
|
277
281
|
status: string;
|
|
278
282
|
workspaceId: string | null;
|
|
279
283
|
conversationId: string | null;
|
|
280
284
|
context: string;
|
|
281
|
-
agentType: string;
|
|
282
|
-
runtimeType: string;
|
|
283
285
|
externalSessionId: string | null;
|
|
284
286
|
variant: string;
|
|
285
287
|
providerId: string | null;
|
|
@@ -292,12 +294,12 @@ export declare class SessionManager {
|
|
|
292
294
|
id: string;
|
|
293
295
|
createdAt: Date;
|
|
294
296
|
updatedAt: Date;
|
|
297
|
+
agentType: string;
|
|
298
|
+
runtimeType: string;
|
|
295
299
|
status: string;
|
|
296
300
|
workspaceId: string | null;
|
|
297
301
|
conversationId: string | null;
|
|
298
302
|
context: string;
|
|
299
|
-
agentType: string;
|
|
300
|
-
runtimeType: string;
|
|
301
303
|
externalSessionId: string | null;
|
|
302
304
|
variant: string;
|
|
303
305
|
providerId: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/services/session-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAA6D,MAAM,mBAAmB,CAAC;AAczG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/services/session-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,11 +10,14 @@ import { NotFoundError, ValidationError } from '../errors.js';
|
|
|
10
10
|
import { ensureTaskNotDeleted } from './deleted-task-guard.js';
|
|
11
11
|
import { getWorkspaceWorkingDir, isMainDirectoryWorkspace, } from './workspace-kind.js';
|
|
12
12
|
import { writeErrorLog } from '../utils/error-log.js';
|
|
13
|
-
import {
|
|
13
|
+
import { AGENT_API_CREDENTIAL_ENV, clearAgentApiCredentials, createAgentApiCredential, revokeAgentApiCredential, } from '../utils/agent-api-credential.js';
|
|
14
14
|
import { createHash } from 'node:crypto';
|
|
15
15
|
import { RuntimeType, supportsAgentRuntime } from '@agent-tower/shared';
|
|
16
16
|
import { getProviderRuntimeType } from '../executors/providers.js';
|
|
17
|
+
import { appendAgentOutputIntentInstructions } from '../prompts/agent-output-intents.js';
|
|
18
|
+
import { AgentArtifactService } from './agent-artifact.service.js';
|
|
17
19
|
import { CliRuntimeDriver, AcpRuntimeDriver, RuntimeCoordinator, StaticRuntimeRegistry, setRuntimeStateSnapshot, } from '../runtime/index.js';
|
|
20
|
+
import { buildWorkspaceRuntimePrompt } from '../prompts/workspace-background-service-policy.js';
|
|
18
21
|
const DEBUG_SNAPSHOT = process.env.DEBUG_SNAPSHOT === 'true';
|
|
19
22
|
function hashForLog(value) {
|
|
20
23
|
return createHash('sha256').update(value).digest('hex').slice(0, 12);
|
|
@@ -76,9 +79,10 @@ export class SessionManager {
|
|
|
76
79
|
runtimeProcessIds = new Map();
|
|
77
80
|
runtimePermissionStates = new Map();
|
|
78
81
|
externalSessionPersistence = new Map();
|
|
82
|
+
artifactService = new AgentArtifactService();
|
|
79
83
|
static SNAPSHOT_CHECKPOINT_MS = 15_000;
|
|
80
84
|
static HEARTBEAT_THROTTLE_MS = 30_000;
|
|
81
|
-
constructor(eventBus, teamReconciler) {
|
|
85
|
+
constructor(eventBus, teamReconciler, runtimeRegistry) {
|
|
82
86
|
this.eventBus = eventBus;
|
|
83
87
|
this.teamReconciler = teamReconciler ?? new TeamReconcilerService({
|
|
84
88
|
eventBus,
|
|
@@ -87,13 +91,14 @@ export class SessionManager {
|
|
|
87
91
|
// session 退出时的首次 reconcile(COMPLETED 判定 / 首次补催)仍即时执行,不依赖该定时器。
|
|
88
92
|
scheduleReminders: false,
|
|
89
93
|
});
|
|
90
|
-
this.runtimeCoordinator = new RuntimeCoordinator(new StaticRuntimeRegistry([
|
|
94
|
+
this.runtimeCoordinator = new RuntimeCoordinator(runtimeRegistry ?? new StaticRuntimeRegistry([
|
|
91
95
|
new CliRuntimeDriver(),
|
|
92
96
|
new AcpRuntimeDriver(),
|
|
93
97
|
]), {
|
|
94
98
|
onTurnEvent: (event) => this.handleRuntimeTurnEvent(event),
|
|
95
99
|
onRuntimeState: (state) => this.handleRuntimeState(state),
|
|
96
100
|
onProcessEvent: (event) => this.handleRuntimeProcessEvent(event),
|
|
101
|
+
onDriverSessionDisposed: (sessionId) => revokeAgentApiCredential(sessionId),
|
|
97
102
|
});
|
|
98
103
|
// Patches only mark the snapshot dirty. A low-frequency checkpoint keeps the
|
|
99
104
|
// hot stream away from SQLite while terminal paths still force a final flush.
|
|
@@ -358,29 +363,26 @@ export class SessionManager {
|
|
|
358
363
|
if (!options.skipTeamRunReconcile && !this.isConversationSession(session)) {
|
|
359
364
|
await this.teamReconciler.handleSessionStopped(id);
|
|
360
365
|
}
|
|
366
|
+
revokeAgentApiCredential(id);
|
|
361
367
|
return session;
|
|
362
368
|
}
|
|
363
369
|
this.terminalSessions.set(id, SessionStatus.CANCELLED);
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
const canReuseDriverSession = await this.runtimeCoordinator.abandonTurn(id).catch((error) => {
|
|
370
|
+
if (this.normalizeRuntimeType(session.runtimeType) === RuntimeType.ACP && hasActiveTurn) {
|
|
371
|
+
await this.runtimeCoordinator.abandonTurn(id).catch((error) => {
|
|
367
372
|
this.logSessionError('session.runtimeCancel', error, { sessionId: id });
|
|
368
373
|
return false;
|
|
369
374
|
});
|
|
370
|
-
if (!canReuseDriverSession) {
|
|
371
|
-
await this.runtimeCoordinator.disposeSession(id).catch((error) => {
|
|
372
|
-
this.logSessionError('session.runtimeDispose', error, { sessionId: id });
|
|
373
|
-
});
|
|
374
|
-
}
|
|
375
375
|
}
|
|
376
376
|
else {
|
|
377
377
|
await this.runtimeCoordinator.cancelTurn(id).catch((error) => {
|
|
378
378
|
this.logSessionError('session.runtimeCancel', error, { sessionId: id });
|
|
379
379
|
});
|
|
380
|
-
await this.runtimeCoordinator.disposeSession(id).catch((error) => {
|
|
381
|
-
this.logSessionError('session.runtimeDispose', error, { sessionId: id });
|
|
382
|
-
});
|
|
383
380
|
}
|
|
381
|
+
// Explicit stop revokes the DriverSession-bound workspace-service credential.
|
|
382
|
+
// A later follow-up reopens from the persisted external session id with a new credential.
|
|
383
|
+
await this.runtimeCoordinator.disposeSession(id).catch((error) => {
|
|
384
|
+
this.logSessionError('session.runtimeDispose', error, { sessionId: id });
|
|
385
|
+
});
|
|
384
386
|
const msgStore = sessionMsgStoreManager.get(id);
|
|
385
387
|
if (msgStore) {
|
|
386
388
|
msgStore.pushFinished();
|
|
@@ -409,6 +411,7 @@ export class SessionManager {
|
|
|
409
411
|
// store after the CANCELLED snapshot has been persisted above.
|
|
410
412
|
sessionMsgStoreManager.delete(id);
|
|
411
413
|
this.releaseSnapshotPersistenceState(id);
|
|
414
|
+
revokeAgentApiCredential(id);
|
|
412
415
|
return session;
|
|
413
416
|
}
|
|
414
417
|
/** @deprecated Use hasActiveTurn(). */
|
|
@@ -459,6 +462,7 @@ export class SessionManager {
|
|
|
459
462
|
release();
|
|
460
463
|
this.followUpReservationReleases.clear();
|
|
461
464
|
this.followUpReservations.clear();
|
|
465
|
+
clearAgentApiCredentials();
|
|
462
466
|
}
|
|
463
467
|
resolveAgentSessionId(sessionId, logSnapshot) {
|
|
464
468
|
const msgStore = sessionMsgStoreManager.get(sessionId);
|
|
@@ -488,10 +492,10 @@ export class SessionManager {
|
|
|
488
492
|
env.merge(filterAgentSubprocessExternalEnv(provider.env));
|
|
489
493
|
}
|
|
490
494
|
}
|
|
491
|
-
this.injectAgentTowerMcpServiceEnv(env);
|
|
492
495
|
if (!this.isConversationSession(session)) {
|
|
493
496
|
await this.injectTeamRunInvocationEnv(session.id, env);
|
|
494
497
|
}
|
|
498
|
+
this.injectAgentTowerMcpServiceEnv(session.id, env);
|
|
495
499
|
const isNewStore = !sessionMsgStoreManager.has(session.id);
|
|
496
500
|
const msgStore = sessionMsgStoreManager.getOrCreate(session.id);
|
|
497
501
|
if (isNewStore && session.logSnapshot) {
|
|
@@ -510,6 +514,7 @@ export class SessionManager {
|
|
|
510
514
|
where: { id: session.id },
|
|
511
515
|
data: { status: SessionStatus.RUNNING },
|
|
512
516
|
});
|
|
517
|
+
const runtimePrompt = buildWorkspaceRuntimePrompt(session, prompt);
|
|
513
518
|
const handle = await this.runtimeCoordinator.startTurn({
|
|
514
519
|
towerSessionId: session.id,
|
|
515
520
|
agentType: session.agentType,
|
|
@@ -520,7 +525,9 @@ export class SessionManager {
|
|
|
520
525
|
env,
|
|
521
526
|
externalSessionId: session.externalSessionId,
|
|
522
527
|
msgStore,
|
|
523
|
-
prompt
|
|
528
|
+
prompt: session.purpose === SessionPurpose.CHAT
|
|
529
|
+
? appendAgentOutputIntentInstructions(runtimePrompt)
|
|
530
|
+
: runtimePrompt,
|
|
524
531
|
resumeExternalSessionId,
|
|
525
532
|
resumeMode,
|
|
526
533
|
});
|
|
@@ -533,6 +540,7 @@ export class SessionManager {
|
|
|
533
540
|
}
|
|
534
541
|
catch (error) {
|
|
535
542
|
await this.runtimeCoordinator.disposeSession(session.id).catch(() => undefined);
|
|
543
|
+
revokeAgentApiCredential(session.id);
|
|
536
544
|
await prisma.session.update({
|
|
537
545
|
where: { id: session.id },
|
|
538
546
|
data: { status: SessionStatus.CANCELLED },
|
|
@@ -682,18 +690,20 @@ export class SessionManager {
|
|
|
682
690
|
normalizeRuntimeType(value) {
|
|
683
691
|
return value === RuntimeType.ACP ? RuntimeType.ACP : RuntimeType.CLI;
|
|
684
692
|
}
|
|
685
|
-
injectAgentTowerMcpServiceEnv(env) {
|
|
686
|
-
const serviceEnv = {
|
|
693
|
+
injectAgentTowerMcpServiceEnv(sessionId, env) {
|
|
694
|
+
const serviceEnv = {
|
|
695
|
+
AGENT_TOWER_SESSION_ID: sessionId,
|
|
696
|
+
};
|
|
697
|
+
serviceEnv[AGENT_API_CREDENTIAL_ENV] = createAgentApiCredential({
|
|
698
|
+
sessionId,
|
|
699
|
+
invocationId: env.get('AGENT_TOWER_INVOCATION_ID') ?? null,
|
|
700
|
+
});
|
|
687
701
|
if (process.env.AGENT_TOWER_URL) {
|
|
688
702
|
serviceEnv.AGENT_TOWER_URL = process.env.AGENT_TOWER_URL;
|
|
689
703
|
}
|
|
690
704
|
if (process.env.AGENT_TOWER_PORT) {
|
|
691
705
|
serviceEnv.AGENT_TOWER_PORT = process.env.AGENT_TOWER_PORT;
|
|
692
706
|
}
|
|
693
|
-
const internalToken = readInternalApiTokenFromEnv();
|
|
694
|
-
if (internalToken) {
|
|
695
|
-
serviceEnv[INTERNAL_API_TOKEN_ENV] = internalToken;
|
|
696
|
-
}
|
|
697
707
|
if (Object.keys(serviceEnv).length > 0) {
|
|
698
708
|
env.merge(serviceEnv);
|
|
699
709
|
}
|
|
@@ -714,7 +724,6 @@ export class SessionManager {
|
|
|
714
724
|
return;
|
|
715
725
|
}
|
|
716
726
|
env.merge({
|
|
717
|
-
AGENT_TOWER_SESSION_ID: sessionId,
|
|
718
727
|
AGENT_TOWER_INVOCATION_ID: invocation.id,
|
|
719
728
|
AGENT_TOWER_TEAM_RUN_ID: invocation.teamRunId,
|
|
720
729
|
AGENT_TOWER_MEMBER_ID: invocation.memberId,
|
|
@@ -1092,6 +1101,17 @@ export class SessionManager {
|
|
|
1092
1101
|
metadata: { sessionId, exitCode },
|
|
1093
1102
|
});
|
|
1094
1103
|
}
|
|
1104
|
+
if (!isFailed && session?.purpose === SessionPurpose.CHAT && this.isCurrentGeneration(sessionId, generation)) {
|
|
1105
|
+
try {
|
|
1106
|
+
const result = await this.artifactService.publishDeclaredArtifacts(sessionId);
|
|
1107
|
+
if (result.failed > 0) {
|
|
1108
|
+
console.warn(`[SessionManager] Failed to publish ${result.failed} declared artifact(s) for session ${sessionId}`);
|
|
1109
|
+
}
|
|
1110
|
+
}
|
|
1111
|
+
catch (error) {
|
|
1112
|
+
console.warn(`[SessionManager] Failed to publish declared artifacts for session ${sessionId}:`, error instanceof Error ? error.message : error);
|
|
1113
|
+
}
|
|
1114
|
+
}
|
|
1095
1115
|
if (session?.context === SessionContext.CONVERSATION || session?.conversationId) {
|
|
1096
1116
|
this.releaseAutoCommitGate(sessionId);
|
|
1097
1117
|
if (!options.logicalCompletion) {
|