agent-tower 0.7.4-beta.2 → 0.7.5-beta.5
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 +6 -1
- package/dist/app.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 +25 -0
- package/dist/core/container.js.map +1 -1
- package/dist/executors/__tests__/base.executor.test.js +19 -0
- package/dist/executors/__tests__/base.executor.test.js.map +1 -1
- package/dist/executors/__tests__/claude-code-mcp.test.d.ts +2 -0
- package/dist/executors/__tests__/claude-code-mcp.test.d.ts.map +1 -0
- package/dist/executors/__tests__/claude-code-mcp.test.js +211 -0
- package/dist/executors/__tests__/claude-code-mcp.test.js.map +1 -0
- package/dist/executors/base.executor.d.ts.map +1 -1
- package/dist/executors/base.executor.js +13 -0
- package/dist/executors/base.executor.js.map +1 -1
- package/dist/executors/claude-code.executor.d.ts +1 -0
- package/dist/executors/claude-code.executor.d.ts.map +1 -1
- package/dist/executors/claude-code.executor.js +52 -3
- package/dist/executors/claude-code.executor.js.map +1 -1
- package/dist/git/worktree.manager.d.ts.map +1 -1
- package/dist/git/worktree.manager.js +5 -2
- package/dist/git/worktree.manager.js.map +1 -1
- package/dist/mcp/http-client.d.ts +8 -1
- package/dist/mcp/http-client.d.ts.map +1 -1
- package/dist/mcp/http-client.js +6 -0
- package/dist/mcp/http-client.js.map +1 -1
- package/dist/mcp/tools/__tests__/workspace-services.test.js +34 -1
- package/dist/mcp/tools/__tests__/workspace-services.test.js.map +1 -1
- package/dist/mcp/tools/tasks.js +1 -1
- package/dist/mcp/tools/tasks.js.map +1 -1
- package/dist/mcp/tools/workspace-services.d.ts.map +1 -1
- package/dist/mcp/tools/workspace-services.js +39 -2
- package/dist/mcp/tools/workspace-services.js.map +1 -1
- package/dist/mcp/types.d.ts +20 -0
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/mcp/types.js +12 -0
- package/dist/mcp/types.js.map +1 -1
- package/dist/middleware/__tests__/preview-fallback.test.d.ts +2 -0
- package/dist/middleware/__tests__/preview-fallback.test.d.ts.map +1 -0
- package/dist/middleware/__tests__/preview-fallback.test.js +93 -0
- package/dist/middleware/__tests__/preview-fallback.test.js.map +1 -0
- package/dist/middleware/preview-fallback.d.ts +5 -0
- package/dist/middleware/preview-fallback.d.ts.map +1 -0
- package/dist/middleware/preview-fallback.js +91 -0
- package/dist/middleware/preview-fallback.js.map +1 -0
- package/dist/output/__tests__/claude-code-parser-continuation.test.d.ts +2 -0
- package/dist/output/__tests__/claude-code-parser-continuation.test.d.ts.map +1 -0
- package/dist/output/__tests__/claude-code-parser-continuation.test.js +89 -0
- package/dist/output/__tests__/claude-code-parser-continuation.test.js.map +1 -0
- package/dist/output/__tests__/claude-code-parser-lifecycle.test.js +4 -1
- package/dist/output/__tests__/claude-code-parser-lifecycle.test.js.map +1 -1
- package/dist/output/claude-code-parser.d.ts +36 -1
- package/dist/output/claude-code-parser.d.ts.map +1 -1
- package/dist/output/claude-code-parser.js +149 -18
- package/dist/output/claude-code-parser.js.map +1 -1
- package/dist/output/types.d.ts +2 -0
- package/dist/output/types.d.ts.map +1 -1
- package/dist/output/types.js.map +1 -1
- package/dist/prompts/workspace-background-service-policy.d.ts +6 -2
- package/dist/prompts/workspace-background-service-policy.d.ts.map +1 -1
- package/dist/prompts/workspace-background-service-policy.js +12 -3
- package/dist/prompts/workspace-background-service-policy.js.map +1 -1
- package/dist/prompts/workspace-background-service-policy.test.js +11 -0
- package/dist/prompts/workspace-background-service-policy.test.js.map +1 -1
- package/dist/routes/__tests__/previews.integration.test.js +117 -6
- package/dist/routes/__tests__/previews.integration.test.js.map +1 -1
- package/dist/routes/__tests__/previews.test.js +223 -194
- package/dist/routes/__tests__/previews.test.js.map +1 -1
- package/dist/routes/__tests__/task-handoff.test.js +25 -16
- package/dist/routes/__tests__/task-handoff.test.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 +11 -9
- package/dist/routes/previews.d.ts.map +1 -1
- package/dist/routes/previews.js +137 -516
- package/dist/routes/previews.js.map +1 -1
- package/dist/routes/session-wakeups.d.ts +7 -0
- package/dist/routes/session-wakeups.d.ts.map +1 -0
- package/dist/routes/session-wakeups.js +86 -0
- package/dist/routes/session-wakeups.js.map +1 -0
- package/dist/routes/tasks.d.ts.map +1 -1
- package/dist/routes/tasks.js +3 -1
- package/dist/routes/tasks.js.map +1 -1
- package/dist/runtime/__tests__/claude-cli-driver.test.js +96 -2
- package/dist/runtime/__tests__/claude-cli-driver.test.js.map +1 -1
- package/dist/runtime/__tests__/claude-run-lifecycle.test.d.ts +2 -0
- package/dist/runtime/__tests__/claude-run-lifecycle.test.d.ts.map +1 -0
- package/dist/runtime/__tests__/claude-run-lifecycle.test.js +88 -0
- package/dist/runtime/__tests__/claude-run-lifecycle.test.js.map +1 -0
- package/dist/runtime/__tests__/cli-driver-lifecycle.test.js +14 -7
- package/dist/runtime/__tests__/cli-driver-lifecycle.test.js.map +1 -1
- package/dist/runtime/claude-run-lifecycle.d.ts +77 -0
- package/dist/runtime/claude-run-lifecycle.d.ts.map +1 -0
- package/dist/runtime/claude-run-lifecycle.js +147 -0
- package/dist/runtime/claude-run-lifecycle.js.map +1 -0
- package/dist/runtime/cli-driver.d.ts.map +1 -1
- package/dist/runtime/cli-driver.js +89 -3
- package/dist/runtime/cli-driver.js.map +1 -1
- package/dist/runtime/contracts.d.ts +6 -1
- package/dist/runtime/contracts.d.ts.map +1 -1
- package/dist/runtime/process-scope/__tests__/process-scope.test.d.ts +2 -0
- package/dist/runtime/process-scope/__tests__/process-scope.test.d.ts.map +1 -0
- package/dist/runtime/process-scope/__tests__/process-scope.test.js +156 -0
- package/dist/runtime/process-scope/__tests__/process-scope.test.js.map +1 -0
- package/dist/runtime/process-scope/process-scope.d.ts +46 -0
- package/dist/runtime/process-scope/process-scope.d.ts.map +1 -0
- package/dist/runtime/process-scope/process-scope.js +68 -0
- package/dist/runtime/process-scope/process-scope.js.map +1 -0
- package/dist/runtime/process-scope/scope-helper.d.ts +28 -0
- package/dist/runtime/process-scope/scope-helper.d.ts.map +1 -0
- package/dist/runtime/process-scope/scope-helper.js +78 -0
- package/dist/runtime/process-scope/scope-helper.js.map +1 -0
- package/dist/runtime/runtime-coordinator.d.ts.map +1 -1
- package/dist/runtime/runtime-coordinator.js +6 -0
- package/dist/runtime/runtime-coordinator.js.map +1 -1
- package/dist/services/__tests__/preview-runtime-manager.test.js +13 -112
- package/dist/services/__tests__/preview-runtime-manager.test.js.map +1 -1
- package/dist/services/__tests__/preview.service.test.js +13 -14
- package/dist/services/__tests__/preview.service.test.js.map +1 -1
- package/dist/services/__tests__/session-manager.lifecycle.test.js +147 -1
- package/dist/services/__tests__/session-manager.lifecycle.test.js.map +1 -1
- package/dist/services/__tests__/session-wakeup.service.test.d.ts +2 -0
- package/dist/services/__tests__/session-wakeup.service.test.d.ts.map +1 -0
- package/dist/services/__tests__/session-wakeup.service.test.js +173 -0
- package/dist/services/__tests__/session-wakeup.service.test.js.map +1 -0
- package/dist/services/__tests__/terminal-manager.test.js +129 -51
- package/dist/services/__tests__/terminal-manager.test.js.map +1 -1
- package/dist/services/message-delivery.service.d.ts +3 -2
- package/dist/services/message-delivery.service.d.ts.map +1 -1
- package/dist/services/message-delivery.service.js +11 -7
- package/dist/services/message-delivery.service.js.map +1 -1
- package/dist/services/preview-bridge.d.ts +50 -0
- package/dist/services/preview-bridge.d.ts.map +1 -0
- package/dist/services/preview-bridge.js +537 -0
- package/dist/services/preview-bridge.js.map +1 -0
- package/dist/services/preview-cookies.d.ts +28 -0
- package/dist/services/preview-cookies.d.ts.map +1 -0
- package/dist/services/preview-cookies.js +133 -0
- package/dist/services/preview-cookies.js.map +1 -0
- package/dist/services/preview-proxy.d.ts +71 -0
- package/dist/services/preview-proxy.d.ts.map +1 -0
- package/dist/services/preview-proxy.js +462 -0
- package/dist/services/preview-proxy.js.map +1 -0
- package/dist/services/preview-runtime-manager.d.ts +11 -25
- package/dist/services/preview-runtime-manager.d.ts.map +1 -1
- package/dist/services/preview-runtime-manager.js +46 -363
- package/dist/services/preview-runtime-manager.js.map +1 -1
- package/dist/services/preview.service.d.ts.map +1 -1
- package/dist/services/preview.service.js +11 -9
- package/dist/services/preview.service.js.map +1 -1
- package/dist/services/project.service.d.ts +13 -13
- package/dist/services/session-manager.d.ts +2 -0
- package/dist/services/session-manager.d.ts.map +1 -1
- package/dist/services/session-manager.js +4 -2
- package/dist/services/session-manager.js.map +1 -1
- package/dist/services/session-wakeup.service.d.ts +105 -0
- package/dist/services/session-wakeup.service.d.ts.map +1 -0
- package/dist/services/session-wakeup.service.js +319 -0
- package/dist/services/session-wakeup.service.js.map +1 -0
- package/dist/services/task-handoff.service.d.ts +3 -2
- package/dist/services/task-handoff.service.d.ts.map +1 -1
- package/dist/services/task-handoff.service.js +7 -6
- package/dist/services/task-handoff.service.js.map +1 -1
- package/dist/services/team-room-delivery.d.ts +4 -4
- package/dist/services/terminal-manager.d.ts +16 -0
- package/dist/services/terminal-manager.d.ts.map +1 -1
- package/dist/services/terminal-manager.js +64 -7
- package/dist/services/terminal-manager.js.map +1 -1
- package/dist/services/workspace-background-service.service.d.ts +15 -1
- package/dist/services/workspace-background-service.service.d.ts.map +1 -1
- package/dist/services/workspace-background-service.service.js +41 -2
- package/dist/services/workspace-background-service.service.js.map +1 -1
- package/dist/utils/database-schema.d.ts.map +1 -1
- package/dist/utils/database-schema.js +9 -4
- package/dist/utils/database-schema.js.map +1 -1
- package/dist/utils/database-schema.test.js +21 -0
- package/dist/utils/database-schema.test.js.map +1 -1
- package/dist/utils/owned-child-process.d.ts +32 -3
- package/dist/utils/owned-child-process.d.ts.map +1 -1
- package/dist/utils/owned-child-process.js +138 -1
- package/dist/utils/owned-child-process.js.map +1 -1
- package/dist/web/assets/{AgentDemoPage-CrkoVCOZ.js → AgentDemoPage-D6clLNZx.js} +1 -1
- package/dist/web/assets/{AgentEnvironmentSettingsPage-BRihy3_Q.js → AgentEnvironmentSettingsPage-O1hlpsgp.js} +1 -1
- package/dist/web/assets/AttachmentPreview-hD3g_T_y.js +2 -0
- package/dist/web/assets/{BranchSelect-Bo5uhKCt.js → BranchSelect-BkuXnEG2.js} +1 -1
- package/dist/web/assets/{BrandLogo-DEL42B23.js → BrandLogo-BSwQa2SF.js} +1 -1
- package/dist/web/assets/{ConversationPage-C46RuN9U.js → ConversationPage-DvWjqFF2.js} +1 -1
- package/dist/web/assets/CreateTaskInput-Bric0GeW.js +1 -0
- package/dist/web/assets/{DemoPage-CAZqNag-.js → DemoPage-Cwy3EmOm.js} +1 -1
- package/dist/web/assets/{DesignSystemPage-CjCYC24B.js → DesignSystemPage-C1HrGwpV.js} +1 -1
- package/dist/web/assets/{ExecutionPermissionSelector-CJgc_EVo.js → ExecutionPermissionSelector-BgrxbvBB.js} +1 -1
- package/dist/web/assets/{GeneralSettingsPage-DFT7Cubi.js → GeneralSettingsPage-qdeAdBkW.js} +1 -1
- package/dist/web/assets/{LoadingPreviewPage-CB4VDPAZ.js → LoadingPreviewPage-qeZ8nuiQ.js} +1 -1
- package/dist/web/assets/{McpSettingsPage-CgiyGvkH.js → McpSettingsPage-Bo-auo0X.js} +1 -1
- package/dist/web/assets/{MemberAvatar-Cfz8LU6k.js → MemberAvatar-DBab_9EO.js} +1 -1
- package/dist/web/assets/{MobileTaskDetail-yZNyZMQt.js → MobileTaskDetail-Dm64ie99.js} +2 -2
- package/dist/web/assets/{NotificationSettingsPage-BSMJ45yx.js → NotificationSettingsPage-BVJpo76k.js} +1 -1
- package/dist/web/assets/{ProfileSettingsPage-BwNThOnH.js → ProfileSettingsPage-CbSRYGcp.js} +1 -1
- package/dist/web/assets/{ProjectKanbanPage-DtZW0bOh.js → ProjectKanbanPage-Cp3rdFik.js} +6 -6
- package/dist/web/assets/{ProjectSettingsPage-CMBMkbgI.js → ProjectSettingsPage-DLs5-Gk3.js} +1 -1
- package/dist/web/assets/{ProviderSettingsPage-D759BSRa.js → ProviderSettingsPage-BnBcgAMQ.js} +1 -1
- package/dist/web/assets/{SettingsMasterDetail-DpYUTM-Q.js → SettingsMasterDetail-fu-_yejj.js} +1 -1
- package/dist/web/assets/{TaskDetail-rRHGOvSw.js → TaskDetail-C2_Fg59e.js} +1 -1
- package/dist/web/assets/TaskHandoffPanel-3Y0gcjyN.js +70 -0
- package/dist/web/assets/{TeamSettingsPage-BszQfKp0.js → TeamSettingsPage-CAjitaBe.js} +1 -1
- package/dist/web/assets/{TranslationSettingsPage-lLaxWCy3.js → TranslationSettingsPage-DKD6Uw2F.js} +1 -1
- package/dist/web/assets/{arc-DtgXFw4D.js → arc-BiuUFTzU.js} +1 -1
- package/dist/web/assets/{architectureDiagram-3BPJPVTR-B3p3EMX1.js → architectureDiagram-3BPJPVTR-Dcwk905A.js} +1 -1
- package/dist/web/assets/{at-sign-B8rXgKEE.js → at-sign-CZAKOH3i.js} +1 -1
- package/dist/web/assets/{blockDiagram-GPEHLZMM-BmekCfr0.js → blockDiagram-GPEHLZMM-Cfc5JDN-.js} +1 -1
- package/dist/web/assets/{c4Diagram-AAUBKEIU-CF6hJhuL.js → c4Diagram-AAUBKEIU-B4v5PUdt.js} +1 -1
- package/dist/web/assets/channel-DThSYkmR.js +1 -0
- package/dist/web/assets/check-C3vuSPKz.js +1 -0
- package/dist/web/assets/{chevron-down-Dftc5hr4.js → chevron-down-CtAk9uZw.js} +1 -1
- package/dist/web/assets/{chevron-up-CKRxN6zX.js → chevron-up-DAc3NX1J.js} +1 -1
- package/dist/web/assets/{chip-ZTBHcXU2.js → chip-CDUNxQW2.js} +1 -1
- package/dist/web/assets/{chunk-2J33WTMH-Bjelop4M.js → chunk-2J33WTMH-BYRdUeyt.js} +1 -1
- package/dist/web/assets/{chunk-4BX2VUAB-B1rJPbL6.js → chunk-4BX2VUAB-3si_kPmV.js} +1 -1
- package/dist/web/assets/{chunk-55IACEB6-B5qfH7Gj.js → chunk-55IACEB6-JiMm9u33.js} +1 -1
- package/dist/web/assets/{chunk-727SXJPM-ClFMbgrH.js → chunk-727SXJPM-CMCFIUyF.js} +1 -1
- package/dist/web/assets/{chunk-AQP2D5EJ-BMFjTO7B.js → chunk-AQP2D5EJ-CzvnZjH5.js} +1 -1
- package/dist/web/assets/{chunk-FMBD7UC4-Pr1oOFfR.js → chunk-FMBD7UC4-hsabZkPl.js} +1 -1
- package/dist/web/assets/{chunk-ND2GUHAM-BPm4TRpO.js → chunk-ND2GUHAM-D2o-Reeo.js} +1 -1
- package/dist/web/assets/{chunk-QZHKN3VN-DCPA_U0M.js → chunk-QZHKN3VN-ASJk-E7d.js} +1 -1
- package/dist/web/assets/classDiagram-4FO5ZUOK-CjJqgIpK.js +1 -0
- package/dist/web/assets/classDiagram-v2-Q7XG4LA2-CjJqgIpK.js +1 -0
- package/dist/web/assets/{code-block-OCS4YCEC-Cx53F4d7.js → code-block-OCS4YCEC-5bkFBowa.js} +1 -1
- package/dist/web/assets/{confirm-dialog-C_j-w4TS.js → confirm-dialog-Bs80kXB9.js} +1 -1
- package/dist/web/assets/{content-DeIfej_n.js → content-DAccroCT.js} +1 -1
- package/dist/web/assets/{copy-B-BaLIlh.js → copy-D1XK3OqK.js} +1 -1
- package/dist/web/assets/{cose-bilkent-S5V4N54A-gIys-0yu.js → cose-bilkent-S5V4N54A-C52UKnOd.js} +1 -1
- package/dist/web/assets/{cssMode-xF0bjbbU.js → cssMode-BFq_c5xU.js} +1 -1
- package/dist/web/assets/{dagre-BM42HDAG-Bwc3Ntc-.js → dagre-BM42HDAG-CeEute93.js} +1 -1
- package/dist/web/assets/{diagram-2AECGRRQ-zkydBsMT.js → diagram-2AECGRRQ-CEcq4W4S.js} +1 -1
- package/dist/web/assets/{diagram-5GNKFQAL-p9As3QtI.js → diagram-5GNKFQAL-DqQe7Rr7.js} +1 -1
- package/dist/web/assets/{diagram-KO2AKTUF-N_pUU-iU.js → diagram-KO2AKTUF-C1KVZphS.js} +1 -1
- package/dist/web/assets/{diagram-LMA3HP47-CA2rl4Gq.js → diagram-LMA3HP47-D1BL7GQh.js} +1 -1
- package/dist/web/assets/{diagram-OG6HWLK6-BoXxBlUC.js → diagram-OG6HWLK6-ngyXooqC.js} +1 -1
- package/dist/web/assets/{dialog-CnjWIdWp.js → dialog-XkZ8wMQa.js} +1 -1
- package/dist/web/assets/{erDiagram-TEJ5UH35-CVBHQTCN.js → erDiagram-TEJ5UH35-D1zIFVqE.js} +1 -1
- package/dist/web/assets/{file-jMLGlXos.js → file-CXCll7Pm.js} +1 -1
- package/dist/web/assets/{flowDiagram-I6XJVG4X-kK7iKiAv.js → flowDiagram-I6XJVG4X-BZu49qcj.js} +1 -1
- package/dist/web/assets/{folder-picker-CR8LiSQf.js → folder-picker-CVkaEJEL.js} +1 -1
- package/dist/web/assets/{freemarker2-CTMcTiBd.js → freemarker2-CmhadAeB.js} +1 -1
- package/dist/web/assets/{ganttDiagram-6RSMTGT7-CJVvLTkW.js → ganttDiagram-6RSMTGT7-eJ8yBxfS.js} +1 -1
- package/dist/web/assets/{gitGraphDiagram-PVQCEYII-D8uj_SCw.js → gitGraphDiagram-PVQCEYII-DpeUUyH_.js} +1 -1
- package/dist/web/assets/{globe-FFVKce9-.js → globe-WnxN1JzY.js} +1 -1
- package/dist/web/assets/{handlebars-NHxbmOs3.js → handlebars-DtjmH1qR.js} +1 -1
- package/dist/web/assets/{html-oFqzz32q.js → html-DOYAlzlD.js} +1 -1
- package/dist/web/assets/{htmlMode-sgeetciK.js → htmlMode-ORxd7KRN.js} +1 -1
- package/dist/web/assets/{index-biTPUXAe.js → index-6mINSZng.js} +1 -1
- package/dist/web/assets/{index-C5lNOKJb.js → index-BrjvxKaf.js} +1 -1
- package/dist/web/assets/{index-CwfWGzxi.js → index-CqIyOiVN.js} +4 -4
- package/dist/web/assets/{index-D8TNxwWk.js → index-D9w1zMaz.js} +1 -1
- package/dist/web/assets/{index-Cm_7q6ju.js → index-DHDgbH3t.js} +1 -1
- package/dist/web/assets/{index-9KNEuwGB.js → index-Dz9SKopM.js} +13 -13
- package/dist/web/assets/{index-gqrRO6ZJ.js → index-eIXz5Hbk.js} +1 -1
- package/dist/web/assets/{index-BzqyZD7L.js → index-iOIxdF6J.js} +1 -1
- package/dist/web/assets/{index-C9vIrQ3Q.js → index-wbMiSmsY.js} +1 -1
- package/dist/web/assets/{infoDiagram-5YYISTIA-CExRZE3Y.js → infoDiagram-5YYISTIA-BiVrC__7.js} +1 -1
- package/dist/web/assets/{ishikawaDiagram-YF4QCWOH-CsqM2X33.js → ishikawaDiagram-YF4QCWOH-B1kPjO1J.js} +1 -1
- package/dist/web/assets/javascript-CHlWHrtz.js +1 -0
- package/dist/web/assets/{journeyDiagram-JHISSGLW-DX9OMhPD.js → journeyDiagram-JHISSGLW-DoTAPPAQ.js} +1 -1
- package/dist/web/assets/{jsonMode-VQg5cpLV.js → jsonMode-BkeQ_C6g.js} +1 -1
- package/dist/web/assets/{kanban-definition-UN3LZRKU-CWHMx6vc.js → kanban-definition-UN3LZRKU-CBRmLcce.js} +1 -1
- package/dist/web/assets/{kbd-GGofKfKu.js → kbd-CTfS0G5-.js} +1 -1
- package/dist/web/assets/{key-round-p-Fpykfj.js → key-round-B7gTfpDR.js} +1 -1
- package/dist/web/assets/{layers-pbPa_eZq.js → layers-DE0xXedq.js} +1 -1
- package/dist/web/assets/{linear-9VwGhaEA.js → linear-VLiA8Vcw.js} +1 -1
- package/dist/web/assets/{link-CG4UwIS1.js → link-BSE_nRDT.js} +1 -1
- package/dist/web/assets/{liquid-SJInUaiB.js → liquid-BZeg6p1K.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-DJOdVyBc.js → lspLanguageFeatures-CuFQ2_f9.js} +1 -1
- package/dist/web/assets/{mdx-CToYr-3b.js → mdx-C7xLyFFX.js} +1 -1
- package/dist/web/assets/{menu-BFQ1mKU7.js → menu-Dp4RDxvP.js} +1 -1
- package/dist/web/assets/{mermaid-NOHMQCX5-BOViobLk.js → mermaid-NOHMQCX5-C2enCJxR.js} +56 -56
- package/dist/web/assets/{message-square-BYZsUsLz.js → message-square-4lyHjyHe.js} +1 -1
- package/dist/web/assets/{mindmap-definition-RKZ34NQL-BTcDnn6X.js → mindmap-definition-RKZ34NQL-C1OOtqma.js} +1 -1
- package/dist/web/assets/{modal-BT_7Lhtw.js → modal-BGglpgrR.js} +1 -1
- package/dist/web/assets/{monaco-DUftz48_.js → monaco-B-6VmJO0.js} +3 -3
- package/dist/web/assets/{nav-row-BjDckaPC.js → nav-row-DaR8yP7p.js} +1 -1
- package/dist/web/assets/{paperclip-CFAH5neE.js → paperclip-DORF2rEM.js} +1 -1
- package/dist/web/assets/{pencil-Bg9TWm_-.js → pencil-BG033B74.js} +1 -1
- package/dist/web/assets/{people-BIQwajM2.js → people-1qyKeYq6.js} +1 -1
- package/dist/web/assets/{pieDiagram-4H26LBE5-CRjqdnP8.js → pieDiagram-4H26LBE5-BYYFVqOS.js} +1 -1
- package/dist/web/assets/{popover-DpYhrrCE.js → popover-CvjMbMb4.js} +1 -1
- package/dist/web/assets/{python-DbmUucgH.js → python-TTfnYnjF.js} +1 -1
- package/dist/web/assets/{quadrantDiagram-W4KKPZXB-uvA8TYC6.js → quadrantDiagram-W4KKPZXB-DTllM2j9.js} +1 -1
- package/dist/web/assets/{razor-B0AJhw7W.js → razor-BFVXAHVd.js} +1 -1
- package/dist/web/assets/{requirementDiagram-4Y6WPE33-BWLugaKX.js → requirementDiagram-4Y6WPE33-DeJDRYUP.js} +1 -1
- package/dist/web/assets/{sankeyDiagram-5OEKKPKP-DHrbZZv8.js → sankeyDiagram-5OEKKPKP-DzTvEKv8.js} +1 -1
- package/dist/web/assets/{search-BH8nze-X.js → search-DDRcBORc.js} +1 -1
- package/dist/web/assets/{select-BegY9RkP.js → select-CXC17bJx.js} +1 -1
- package/dist/web/assets/{select-EcEr5QSS.js → select-CzXL3ZbG.js} +1 -1
- package/dist/web/assets/{sequenceDiagram-3UESZ5HK-CKwEKcTn.js → sequenceDiagram-3UESZ5HK-CIYrA1ww.js} +1 -1
- package/dist/web/assets/{server-BxEUjx0l.js → server-KqeWHfgr.js} +1 -1
- package/dist/web/assets/{stateDiagram-AJRCARHV-vhgmSpa9.js → stateDiagram-AJRCARHV-Dg_UXkEq.js} +1 -1
- package/dist/web/assets/stateDiagram-v2-BHNVJYJU-Lc4r0bC3.js +1 -0
- package/dist/web/assets/{textarea-CvoGGROs.js → textarea-Cmbv5l35.js} +1 -1
- package/dist/web/assets/{timeline-definition-PNZ67QCA-bSDKcwDZ.js → timeline-definition-PNZ67QCA-CfSPMqxF.js} +1 -1
- package/dist/web/assets/{toggles-CEDUD08u.js → toggles-t5v4QKn6.js} +1 -1
- package/dist/web/assets/{tooltip-CKaUbVZ7.js → tooltip-Cp8tovqH.js} +1 -1
- package/dist/web/assets/{track-1qw2cvTy.js → track-C1rUV49K.js} +1 -1
- package/dist/web/assets/{trash-2-ChiXon87.js → trash-2-Ca2ken6q.js} +1 -1
- package/dist/web/assets/{tsMode-bnV8W2Ru.js → tsMode-DBbiXlyu.js} +1 -1
- package/dist/web/assets/{typescript-d1MHIeEx.js → typescript-jv_3P9x_.js} +1 -1
- package/dist/web/assets/{upload-CQ-cQaOz.js → upload-CgGjN1FH.js} +1 -1
- package/dist/web/assets/{use-profiles-CJzoqarX.js → use-profiles-BdL-U8GZ.js} +1 -1
- package/dist/web/assets/{use-providers-S29TCag2.js → use-providers-B6Mj5qeG.js} +1 -1
- package/dist/web/assets/{use-translation-settings-DifNJaCu.js → use-translation-settings-FIP674t9.js} +1 -1
- package/dist/web/assets/{useNormalizedLogs-BVdY8qDk.js → useNormalizedLogs-FpVMUHeq.js} +1 -1
- package/dist/web/assets/useTokenUsage-Ay3Yy0_V.js +1 -0
- package/dist/web/assets/{vennDiagram-CIIHVFJN-D7QbDYzC.js → vennDiagram-CIIHVFJN-DKREAIRT.js} +1 -1
- package/dist/web/assets/{wardley-L42UT6IY-C9aHlNVa.js → wardley-L42UT6IY-BMpDotAz.js} +1 -1
- package/dist/web/assets/{wardleyDiagram-YWT4CUSO-CZhubDRC.js → wardleyDiagram-YWT4CUSO-DAPccQsF.js} +1 -1
- package/dist/web/assets/{xml-DAKKxHAr.js → xml-DnxIQwRS.js} +1 -1
- package/dist/web/assets/{xychartDiagram-2RQKCTM6-BgDlpFBh.js → xychartDiagram-2RQKCTM6-o06g8vo8.js} +1 -1
- package/dist/web/assets/{yaml-D_hSVVz0.js → yaml-BV5yQTRd.js} +1 -1
- package/dist/web/index.html +1 -1
- package/node_modules/@agent-tower/shared/dist/log-adapter.d.ts +4 -0
- package/node_modules/@agent-tower/shared/dist/log-adapter.d.ts.map +1 -1
- package/node_modules/@agent-tower/shared/dist/log-adapter.js +1 -0
- package/node_modules/@agent-tower/shared/dist/log-adapter.js.map +1 -1
- package/node_modules/@agent-tower/shared/dist/translation.d.ts +4 -1
- package/node_modules/@agent-tower/shared/dist/translation.d.ts.map +1 -1
- package/node_modules/@agent-tower/shared/dist/translation.js +4 -1
- package/node_modules/@agent-tower/shared/dist/translation.js.map +1 -1
- package/node_modules/@agent-tower/shared/dist/types.d.ts +38 -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 +2 -1
- package/prisma/migrations/20261106000000_add_session_wakeups/migration.sql +28 -0
- package/prisma/schema.prisma +28 -0
- package/scripts/postinstall.js +23 -0
- package/dist/web/assets/AttachmentPreview-B9z1Mxb-.js +0 -2
- package/dist/web/assets/CreateTaskInput-4aHJpsfL.js +0 -1
- package/dist/web/assets/TaskHandoffPanel-DBcC1xQW.js +0 -70
- package/dist/web/assets/channel-BdK_fAel.js +0 -1
- package/dist/web/assets/check-DwK55QS2.js +0 -1
- package/dist/web/assets/classDiagram-4FO5ZUOK-CFzCq0ml.js +0 -1
- package/dist/web/assets/classDiagram-v2-Q7XG4LA2-CFzCq0ml.js +0 -1
- package/dist/web/assets/javascript-COt-61wn.js +0 -1
- package/dist/web/assets/stateDiagram-v2-BHNVJYJU-C0z5OTY4.js +0 -1
- package/dist/web/assets/useTokenUsage-nh_KDA3q.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-driver.js","sourceRoot":"","sources":["../../src/runtime/cli-driver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli-driver.js","sourceRoot":"","sources":["../../src/runtime/cli-driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentType, ExecutionPermissionMode, Provider, RuntimeCapabilities, RuntimeErrorDto, RuntimePermissionRequest, RuntimeStateDto, RuntimeType } from '@agent-tower/shared';
|
|
1
|
+
import type { AgentType, ExecutionPermissionMode, Provider, RuntimeBackgroundTask, RuntimeCapabilities, RuntimeErrorDto, RuntimePermissionRequest, RuntimeStateDto, RuntimeType } from '@agent-tower/shared';
|
|
2
2
|
import type { ExecutionEnv } from '../executors/execution-env.js';
|
|
3
3
|
import type { JsonPatch, MsgStore } from '../output/index.js';
|
|
4
4
|
export type RuntimeStreamEvent = {
|
|
@@ -26,6 +26,11 @@ export type RuntimeStreamEvent = {
|
|
|
26
26
|
} | {
|
|
27
27
|
type: 'execution_permission_applied';
|
|
28
28
|
mode: ExecutionPermissionMode;
|
|
29
|
+
}
|
|
30
|
+
/** The agent process reported the background work it is still waiting for (empty = nothing pending). */
|
|
31
|
+
| {
|
|
32
|
+
type: 'background_tasks_changed';
|
|
33
|
+
tasks: RuntimeBackgroundTask[];
|
|
29
34
|
};
|
|
30
35
|
export type RuntimeTerminalEvent = {
|
|
31
36
|
type: 'completed';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/runtime/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,uBAAuB,EACvB,QAAQ,EACR,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GACtF;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,OAAO,EAAE,wBAAwB,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,OAAO,oBAAoB,EAAE,eAAe,CAAA;CAAE,GAC3E;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,8BAA8B,CAAC;IAAC,IAAI,EAAE,uBAAuB,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/runtime/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,uBAAuB,EACvB,QAAQ,EACR,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GACtF;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,OAAO,EAAE,wBAAwB,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,OAAO,oBAAoB,EAAE,eAAe,CAAA;CAAE,GAC3E;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,8BAA8B,CAAC;IAAC,IAAI,EAAE,uBAAuB,CAAA;CAAE;AACzE,wGAAwG;GACtG;IAAE,IAAI,EAAE,0BAA0B,CAAC;IAAC,KAAK,EAAE,qBAAqB,EAAE,CAAA;CAAE,CAAC;AAEzE,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,CAAC,EAAE,kBAAkB,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,CAAC;AAE/C,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,kBAAkB,GAAG,oBAAoB,CAAC;CAClD;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,SAAS,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,6EAA6E;IAC7E,cAAc,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,QAAQ,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,uCAAuC;IACtD,IAAI,EAAE,wBAAwB,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,2FAA2F;AAC3F,MAAM,WAAW,kCAAkC;IACjD,IAAI,EAAE,0BAA0B,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,mBAAmB,GAC3B,0BAA0B,GAC1B,yBAAyB,GACzB,uCAAuC,GACvC,kCAAkC,CAAC;AAEvC,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACxC,OAAO,CAAC,KAAK,EACT,IAAI,CAAC,0BAA0B,EAAE,gBAAgB,CAAC,GAClD,IAAI,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,GACjD,IAAI,CAAC,uCAAuC,EAAE,gBAAgB,CAAC,GAC/D,IAAI,CAAC,kCAAkC,EAAE,gBAAgB,CAAC,GAC3D,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iGAAiG;IACjG,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,YAAY,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iFAAiF;IACjF,eAAe,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,2FAA2F;AAC3F,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAElD,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,eAAe,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;CACzF;AACD,MAAM,WAAW,uBAAuB;IACtC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,+EAA+E;IAC/E,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iFAAiF;IACjF,eAAe,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,8FAA8F;AAC9F,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,gBAAgB,IAAI,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,oFAAoF;IACpF,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAC3C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACvF,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,iBAAiB,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvG,UAAU,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,IAAI,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACrF;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa,CAAC;CAC9C;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,KAAK,EAAE,wBAAwB,GAAG,IAAI,CAAC;IACnD,cAAc,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC7C,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,6BAA6B,CAAC,CAC5B,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,MAAM,EACzB,iBAAiB,CAAC,EAAE,MAAM,GACzB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,uBAAuB,CAAC,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvD,+BAA+B,CAAC,CAC9B,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,MAAM,EACzB,iBAAiB,CAAC,EAAE,MAAM,GACzB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,4BAA4B,CAAC,CAC3B,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,MAAM,EACzB,KAAK,EAAE,OAAO,EACd,iBAAiB,CAAC,EAAE,MAAM,GACzB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB,EAAE,uBAAuB;IACtF,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gEAAgE;IAChE,SAAS,CAAC,EAAE,qBAAqB,CAAC;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-scope.test.d.ts","sourceRoot":"","sources":["../../../../src/runtime/process-scope/__tests__/process-scope.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import os from 'node:os';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import { afterEach, describe, expect, it, vi } from 'vitest';
|
|
6
|
+
import { createProcessScopeRuntime, parseScopeStatusLine } from '../process-scope.js';
|
|
7
|
+
import { resolveScopeHelper } from '../scope-helper.js';
|
|
8
|
+
const helper = process.platform === 'linux' ? resolveScopeHelper() : null;
|
|
9
|
+
const runtime = helper ? createProcessScopeRuntime(helper) : null;
|
|
10
|
+
const alive = (pid) => { try {
|
|
11
|
+
process.kill(pid, 0);
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return false;
|
|
16
|
+
} };
|
|
17
|
+
const temporaryDirectories = [];
|
|
18
|
+
const fixturePids = new Set();
|
|
19
|
+
afterEach(() => {
|
|
20
|
+
for (const pid of fixturePids) {
|
|
21
|
+
try {
|
|
22
|
+
process.kill(pid, 'SIGKILL');
|
|
23
|
+
}
|
|
24
|
+
catch { /* already reaped */ }
|
|
25
|
+
}
|
|
26
|
+
fixturePids.clear();
|
|
27
|
+
for (const dir of temporaryDirectories.splice(0))
|
|
28
|
+
fs.rmSync(dir, { recursive: true, force: true });
|
|
29
|
+
});
|
|
30
|
+
function directory() {
|
|
31
|
+
const dir = fs.mkdtempSync(path.join(os.tmpdir(), 'agent-tower-scope-test-'));
|
|
32
|
+
temporaryDirectories.push(dir);
|
|
33
|
+
return dir;
|
|
34
|
+
}
|
|
35
|
+
function startScope(policy, command, args) {
|
|
36
|
+
const invocation = runtime.buildInvocation({ id: 'test-scope', graceMs: 200, rootExitSignal: 'SIGTERM', stopOnParentDeath: true, statusFd: 3, ...policy }, command, args);
|
|
37
|
+
const child = spawn(invocation.command, invocation.args, { stdio: ['ignore', 'pipe', 'pipe', 'pipe'], detached: true });
|
|
38
|
+
fixturePids.add(child.pid);
|
|
39
|
+
const status = [];
|
|
40
|
+
const stream = child.stdio[3];
|
|
41
|
+
let buffer = '';
|
|
42
|
+
stream.setEncoding('utf8');
|
|
43
|
+
stream.on('data', (chunk) => {
|
|
44
|
+
buffer += chunk;
|
|
45
|
+
let newline;
|
|
46
|
+
while ((newline = buffer.indexOf('\n')) >= 0) {
|
|
47
|
+
status.push(buffer.slice(0, newline));
|
|
48
|
+
buffer = buffer.slice(newline + 1);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
const exit = new Promise((resolve) => {
|
|
52
|
+
child.once('exit', (code, signal) => resolve({ code, signal }));
|
|
53
|
+
});
|
|
54
|
+
return { child, status, exit };
|
|
55
|
+
}
|
|
56
|
+
async function readPidFile(file) {
|
|
57
|
+
await vi.waitFor(() => expect(fs.existsSync(file)).toBe(true), { timeout: 5000 });
|
|
58
|
+
const pid = Number(fs.readFileSync(file, 'utf8'));
|
|
59
|
+
fixturePids.add(pid);
|
|
60
|
+
return pid;
|
|
61
|
+
}
|
|
62
|
+
const STUBBORN = "process.on('SIGTERM',()=>{});process.on('SIGHUP',()=>{});setInterval(()=>{},1000)";
|
|
63
|
+
describe('process scope runtime', () => {
|
|
64
|
+
it('parses supervisor status lines', () => {
|
|
65
|
+
expect(parseScopeStatusLine('root-exit 3 0')).toEqual({ type: 'root-exit', code: 3, signal: null });
|
|
66
|
+
expect(parseScopeStatusLine('root-exit -1 15')).toEqual({ type: 'root-exit', code: null, signal: 'SIGTERM' });
|
|
67
|
+
expect(parseScopeStatusLine('empty')).toEqual({ type: 'empty' });
|
|
68
|
+
expect(parseScopeStatusLine('something else')).toBeNull();
|
|
69
|
+
});
|
|
70
|
+
it('builds the supervisor invocation from a policy', () => {
|
|
71
|
+
const fake = createProcessScopeRuntime({ path: '/opt/agent-tower-scope', capabilities: { subreaper: true, pidfd: true, childrenFile: true } });
|
|
72
|
+
expect(fake.buildInvocation({ id: 'term-1', graceMs: 1000, rootExitSignal: 'SIGHUP', stopOnParentDeath: true }, '/bin/bash', ['-l'])).toEqual({
|
|
73
|
+
command: '/opt/agent-tower-scope',
|
|
74
|
+
args: ['--id', 'term-1', '--grace', '1000', '--root-exit-signal', 'SIGHUP', '--pdeathsig', '--', '/bin/bash', '-l'],
|
|
75
|
+
});
|
|
76
|
+
expect(fake.buildInvocation({ id: 'cmd', graceMs: 250.4, rootExitSignal: 'none', stopOnParentDeath: false, statusFd: 3 }, 'git', ['status']).args)
|
|
77
|
+
.toEqual(['--id', 'cmd', '--grace', '250', '--root-exit-signal', 'none', '--status-fd', '3', '--', 'git', 'status']);
|
|
78
|
+
});
|
|
79
|
+
it('reports a missing supervisor as already exited', () => {
|
|
80
|
+
const fake = createProcessScopeRuntime({ path: '/opt/agent-tower-scope', capabilities: { subreaper: true, pidfd: true, childrenFile: true } });
|
|
81
|
+
// PID 2^22 is above the default pid_max on Linux and never allocated elsewhere.
|
|
82
|
+
expect(fake.requestStop(4_194_304 + 1, 'SIGTERM')).toBe(false);
|
|
83
|
+
expect(fake.forceStop(4_194_304 + 1)).toBe(false);
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
describe.skipIf(!runtime)('agent-tower-scope supervisor (real processes)', () => {
|
|
87
|
+
it('propagates the command exit code and signal', async () => {
|
|
88
|
+
const exited = startScope({}, '/bin/sh', ['-c', 'exit 3']);
|
|
89
|
+
await expect(exited.exit).resolves.toEqual({ code: 3, signal: null });
|
|
90
|
+
expect(exited.status).toEqual(['root-exit 3 0', 'empty']);
|
|
91
|
+
const signalled = startScope({}, '/bin/sh', ['-c', 'kill -TERM $$']);
|
|
92
|
+
await expect(signalled.exit).resolves.toEqual({ code: null, signal: 'SIGTERM' });
|
|
93
|
+
expect(signalled.status[0]).toBe('root-exit -1 15');
|
|
94
|
+
}, 10_000);
|
|
95
|
+
it('reclaims a detached, environment-less grandchild after its parent exits early', async () => {
|
|
96
|
+
const dir = directory();
|
|
97
|
+
const ready = path.join(dir, 'grandchild.pid');
|
|
98
|
+
const grandchild = `${STUBBORN};require('node:fs').writeFileSync(${JSON.stringify(ready)},String(process.pid))`;
|
|
99
|
+
const root = `setTimeout(()=>{const c=require('node:child_process').spawn(process.execPath,['-e',${JSON.stringify(grandchild)}],{env:{},detached:true,stdio:'ignore'});c.unref();setTimeout(()=>process.exit(0),700)},300)`;
|
|
100
|
+
const scope = startScope({ graceMs: 200 }, process.execPath, ['-e', root]);
|
|
101
|
+
const pid = await readPidFile(ready);
|
|
102
|
+
expect(alive(pid)).toBe(true);
|
|
103
|
+
const result = await scope.exit;
|
|
104
|
+
expect(result).toEqual({ code: 0, signal: null });
|
|
105
|
+
expect(alive(pid)).toBe(false);
|
|
106
|
+
expect(scope.status).toEqual(['root-exit 0 0', 'empty']);
|
|
107
|
+
}, 10_000);
|
|
108
|
+
it('stops a member that moved to its own session and ignores the graceful signal', async () => {
|
|
109
|
+
const dir = directory();
|
|
110
|
+
const ready = path.join(dir, 'member.pid');
|
|
111
|
+
const member = `${STUBBORN};require('node:fs').writeFileSync(${JSON.stringify(ready)},String(process.pid))`;
|
|
112
|
+
const root = `require('node:child_process').spawn(process.execPath,['-e',${JSON.stringify(member)}],{detached:true,stdio:'ignore'});setInterval(()=>{},1000)`;
|
|
113
|
+
const scope = startScope({ graceMs: 200 }, process.execPath, ['-e', root]);
|
|
114
|
+
const pid = await readPidFile(ready);
|
|
115
|
+
const started = Date.now();
|
|
116
|
+
expect(runtime.requestStop(scope.child.pid, 'SIGTERM')).toBe(true);
|
|
117
|
+
await expect(scope.exit).resolves.toEqual({ code: null, signal: 'SIGTERM' });
|
|
118
|
+
expect(Date.now() - started).toBeLessThan(2000);
|
|
119
|
+
expect(alive(pid)).toBe(false);
|
|
120
|
+
expect(scope.status.at(-1)).toBe('empty');
|
|
121
|
+
}, 10_000);
|
|
122
|
+
it('escalates immediately when asked to force-stop', async () => {
|
|
123
|
+
const scope = startScope({ graceMs: 10_000 }, process.execPath, ['-e', STUBBORN]);
|
|
124
|
+
await new Promise((resolve) => setTimeout(resolve, 200));
|
|
125
|
+
runtime.requestStop(scope.child.pid, 'SIGTERM');
|
|
126
|
+
await new Promise((resolve) => setTimeout(resolve, 200));
|
|
127
|
+
expect(alive(scope.child.pid)).toBe(true);
|
|
128
|
+
const started = Date.now();
|
|
129
|
+
runtime.forceStop(scope.child.pid);
|
|
130
|
+
await expect(scope.exit).resolves.toEqual({ code: null, signal: 'SIGKILL' });
|
|
131
|
+
expect(Date.now() - started).toBeLessThan(1500);
|
|
132
|
+
}, 10_000);
|
|
133
|
+
it('stops the whole scope when the launching process dies without cleanup', async () => {
|
|
134
|
+
const dir = directory();
|
|
135
|
+
const info = path.join(dir, 'launcher.json');
|
|
136
|
+
const launcher = `
|
|
137
|
+
const {spawn}=require('node:child_process');
|
|
138
|
+
const h=spawn(${JSON.stringify(runtime.helper.path)},['--grace','200','--root-exit-signal','SIGTERM','--pdeathsig','--','/bin/sleep','300'],{stdio:'ignore'});
|
|
139
|
+
setTimeout(()=>{
|
|
140
|
+
const fs=require('node:fs');
|
|
141
|
+
const children=fs.readFileSync('/proc/'+h.pid+'/task/'+h.pid+'/children','utf8').trim();
|
|
142
|
+
fs.writeFileSync(${JSON.stringify(info)},JSON.stringify({helper:h.pid,sleep:Number(children)}));
|
|
143
|
+
},300);
|
|
144
|
+
setInterval(()=>{},1000);`;
|
|
145
|
+
const launcherProcess = spawn(process.execPath, ['-e', launcher], { stdio: 'ignore' });
|
|
146
|
+
fixturePids.add(launcherProcess.pid);
|
|
147
|
+
await vi.waitFor(() => expect(fs.existsSync(info)).toBe(true), { timeout: 5000 });
|
|
148
|
+
const { helper: helperPid, sleep } = JSON.parse(fs.readFileSync(info, 'utf8'));
|
|
149
|
+
fixturePids.add(helperPid);
|
|
150
|
+
fixturePids.add(sleep);
|
|
151
|
+
expect(alive(helperPid) && alive(sleep)).toBe(true);
|
|
152
|
+
process.kill(launcherProcess.pid, 'SIGKILL');
|
|
153
|
+
await vi.waitFor(() => expect(alive(sleep) || alive(helperPid)).toBe(false), { timeout: 3000 });
|
|
154
|
+
}, 10_000);
|
|
155
|
+
});
|
|
156
|
+
//# sourceMappingURL=process-scope.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-scope.test.js","sourceRoot":"","sources":["../../../../src/runtime/process-scope/__tests__/process-scope.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAA8C,MAAM,qBAAqB,CAAC;AAClI,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1E,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAElE,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAAC,OAAO,IAAI,CAAC;AAAC,CAAC;AAAC,MAAM,CAAC;IAAC,OAAO,KAAK,CAAC;AAAC,CAAC,CAAC,CAAC,CAAC;AACtG,MAAM,oBAAoB,GAAa,EAAE,CAAC;AAC1C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;AAEtC,SAAS,CAAC,GAAG,EAAE;IACb,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAAC,IAAI,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAAC,CAAC;IACvG,WAAW,CAAC,KAAK,EAAE,CAAC;IACpB,KAAK,MAAM,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;QAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACrG,CAAC,CAAC,CAAC;AAEH,SAAS,SAAS;IAChB,MAAM,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAC9E,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CAAC,MAA4B,EAAE,OAAe,EAAE,IAAc;IAC/E,MAAM,UAAU,GAAG,OAAQ,CAAC,eAAe,CACzC,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,EAC9G,OAAO,EACP,IAAI,CACL,CAAC;IACF,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACxH,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,GAAI,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAa,CAAC;IAC1C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QAClC,MAAM,IAAI,KAAK,CAAC;QAChB,IAAI,OAAe,CAAC;QACpB,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QAAC,CAAC;IAC9H,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,IAAI,OAAO,CAAyD,CAAC,OAAO,EAAE,EAAE;QAC3F,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAY;IACrC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAClF,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,QAAQ,GAAG,mFAAmF,CAAC;AAErG,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACpG,MAAM,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9G,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,IAAI,GAAG,yBAAyB,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/I,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC5I,OAAO,EAAE,wBAAwB;YACjC,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC;SACpH,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;aAC/I,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,IAAI,GAAwB,yBAAyB,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACpK,gFAAgF;QAChF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,+CAA+C,EAAE,GAAG,EAAE;IAC9E,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC3D,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QAE1D,MAAM,SAAS,GAAG,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;QACrE,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACjF,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACtD,CAAC,EAAE,MAAM,CAAC,CAAC;IAEX,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,GAAG,QAAQ,qCAAqC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,uBAAuB,CAAC;QAChH,MAAM,IAAI,GAAG,sFAAsF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,8FAA8F,CAAC;QAC5N,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3E,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC,EAAE,MAAM,CAAC,CAAC;IAEX,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;QAC5F,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,GAAG,QAAQ,qCAAqC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,uBAAuB,CAAC;QAC5G,MAAM,IAAI,GAAG,8DAA8D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,4DAA4D,CAAC;QAC9J,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3E,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,CAAC,OAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,GAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7E,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC,EAAE,MAAM,CAAC,CAAC;IAEX,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QAClF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACzD,OAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,GAAI,EAAE,SAAS,CAAC,CAAC;QAClD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,OAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAI,CAAC,CAAC;QACrC,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7E,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,EAAE,MAAM,CAAC,CAAC;IAEX,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG;;sBAEC,IAAI,CAAC,SAAS,CAAC,OAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;;;;2BAI/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;;gCAEf,CAAC;QAC7B,MAAM,eAAe,GAAiB,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrG,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,GAAI,CAAC,CAAC;QACtC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAsC,CAAC;QACpH,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3B,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,GAAI,EAAE,SAAS,CAAC,CAAC;QAC9C,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAClG,CAAC,EAAE,MAAM,CAAC,CAAC;AACb,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { CommandInvocation } from '../../utils/process-launch.js';
|
|
2
|
+
import { type ScopeHelper } from './scope-helper.js';
|
|
3
|
+
/**
|
|
4
|
+
* A process scope is one command plus everything it starts, supervised by the
|
|
5
|
+
* `agent-tower-scope` helper (a child subreaper). The supervisor keeps the
|
|
6
|
+
* members attached to the scope regardless of setsid, environment changes, or
|
|
7
|
+
* parent exits, forwards stop requests, escalates after the grace period, and
|
|
8
|
+
* exits only when the scope is empty. Its exit is therefore the only
|
|
9
|
+
* "scope empty" signal the server needs; no process-table sampling is involved.
|
|
10
|
+
*/
|
|
11
|
+
export type ScopeStopSignal = 'SIGHUP' | 'SIGTERM' | 'SIGINT';
|
|
12
|
+
/** Makes the supervisor escalate to SIGKILL immediately. Never SIGKILL the supervisor itself. */
|
|
13
|
+
export declare const SCOPE_FORCE_SIGNAL: NodeJS.Signals;
|
|
14
|
+
export interface ScopePolicy {
|
|
15
|
+
/** Shown in `ps` for diagnostics; never used for ownership. */
|
|
16
|
+
id: string;
|
|
17
|
+
/** Delay between the graceful signal and SIGKILL, enforced by the supervisor. */
|
|
18
|
+
graceMs: number;
|
|
19
|
+
/** Signal forwarded to the remaining members once the command itself exits. */
|
|
20
|
+
rootExitSignal: ScopeStopSignal | 'none';
|
|
21
|
+
/** Stop the scope when the launching process dies, even by SIGKILL (PR_SET_PDEATHSIG). */
|
|
22
|
+
stopOnParentDeath: boolean;
|
|
23
|
+
/** Child fd that receives `root-exit <code> <signal>` and `empty` status lines. */
|
|
24
|
+
statusFd?: number;
|
|
25
|
+
}
|
|
26
|
+
export type ScopeStatus = {
|
|
27
|
+
type: 'root-exit';
|
|
28
|
+
code: number | null;
|
|
29
|
+
signal: NodeJS.Signals | null;
|
|
30
|
+
} | {
|
|
31
|
+
type: 'empty';
|
|
32
|
+
};
|
|
33
|
+
export interface ProcessScopeRuntime {
|
|
34
|
+
readonly helper: ScopeHelper;
|
|
35
|
+
/** Wraps a command so that it starts inside a supervised scope. */
|
|
36
|
+
buildInvocation(policy: ScopePolicy, command: string, args: readonly string[]): CommandInvocation;
|
|
37
|
+
/** Forwards a stop request to the supervisor. Returns false when it has already exited. */
|
|
38
|
+
requestStop(pid: number, signal?: ScopeStopSignal): boolean;
|
|
39
|
+
/** Asks the supervisor to escalate to SIGKILL now. Returns false when it has already exited. */
|
|
40
|
+
forceStop(pid: number): boolean;
|
|
41
|
+
}
|
|
42
|
+
export declare function createProcessScopeRuntime(helper: ScopeHelper): ProcessScopeRuntime;
|
|
43
|
+
/** The host's supervisor-backed runtime, or null when scopes must use the compatibility backend. */
|
|
44
|
+
export declare function getDefaultProcessScopeRuntime(platform?: NodeJS.Platform): ProcessScopeRuntime | null;
|
|
45
|
+
export declare function parseScopeStatusLine(line: string): ScopeStatus | null;
|
|
46
|
+
//# sourceMappingURL=process-scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-scope.d.ts","sourceRoot":"","sources":["../../../src/runtime/process-scope/process-scope.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEzE;;;;;;;GAOG;AAEH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE9D,iGAAiG;AACjG,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,OAAmB,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,+DAA+D;IAC/D,EAAE,EAAE,MAAM,CAAC;IACX,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,cAAc,EAAE,eAAe,GAAG,MAAM,CAAC;IACzC,0FAA0F;IAC1F,iBAAiB,EAAE,OAAO,CAAC;IAC3B,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;CAAE,GACzE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtB,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,mEAAmE;IACnE,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,iBAAiB,CAAC;IAClG,2FAA2F;IAC3F,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC;IAC5D,gGAAgG;IAChG,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACjC;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,WAAW,GAAG,mBAAmB,CAoBlF;AAcD,oGAAoG;AACpG,wBAAgB,6BAA6B,CAAC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,mBAAmB,GAAG,IAAI,CAOtH;AAMD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAcrE"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import os from 'node:os';
|
|
2
|
+
import { resolveScopeHelper } from './scope-helper.js';
|
|
3
|
+
/** Makes the supervisor escalate to SIGKILL immediately. Never SIGKILL the supervisor itself. */
|
|
4
|
+
export const SCOPE_FORCE_SIGNAL = 'SIGUSR1';
|
|
5
|
+
export function createProcessScopeRuntime(helper) {
|
|
6
|
+
return {
|
|
7
|
+
helper,
|
|
8
|
+
buildInvocation(policy, command, args) {
|
|
9
|
+
const helperArgs = [
|
|
10
|
+
'--id', policy.id,
|
|
11
|
+
'--grace', String(Math.max(0, Math.round(policy.graceMs))),
|
|
12
|
+
'--root-exit-signal', policy.rootExitSignal,
|
|
13
|
+
];
|
|
14
|
+
if (policy.stopOnParentDeath)
|
|
15
|
+
helperArgs.push('--pdeathsig');
|
|
16
|
+
if (policy.statusFd !== undefined)
|
|
17
|
+
helperArgs.push('--status-fd', String(policy.statusFd));
|
|
18
|
+
return { command: helper.path, args: [...helperArgs, '--', command, ...args] };
|
|
19
|
+
},
|
|
20
|
+
requestStop(pid, signal = 'SIGTERM') {
|
|
21
|
+
return signalSupervisor(pid, signal);
|
|
22
|
+
},
|
|
23
|
+
forceStop(pid) {
|
|
24
|
+
return signalSupervisor(pid, SCOPE_FORCE_SIGNAL);
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function signalSupervisor(pid, signal) {
|
|
29
|
+
try {
|
|
30
|
+
process.kill(pid, signal);
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
if (error.code === 'ESRCH')
|
|
35
|
+
return false;
|
|
36
|
+
throw error;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
let defaultRuntime;
|
|
40
|
+
/** The host's supervisor-backed runtime, or null when scopes must use the compatibility backend. */
|
|
41
|
+
export function getDefaultProcessScopeRuntime(platform = process.platform) {
|
|
42
|
+
const helper = resolveScopeHelper(platform);
|
|
43
|
+
if (!helper)
|
|
44
|
+
return null;
|
|
45
|
+
if (defaultRuntime?.helperPath !== helper.path) {
|
|
46
|
+
defaultRuntime = { helperPath: helper.path, runtime: createProcessScopeRuntime(helper) };
|
|
47
|
+
}
|
|
48
|
+
return defaultRuntime.runtime;
|
|
49
|
+
}
|
|
50
|
+
const signalNames = new Map(Object.entries(os.constants.signals).map(([name, value]) => [value, name]));
|
|
51
|
+
export function parseScopeStatusLine(line) {
|
|
52
|
+
const parts = line.trim().split(/\s+/);
|
|
53
|
+
if (parts[0] === 'empty' && parts.length === 1)
|
|
54
|
+
return { type: 'empty' };
|
|
55
|
+
if (parts[0] === 'root-exit' && parts.length === 3) {
|
|
56
|
+
const code = Number(parts[1]);
|
|
57
|
+
const signalNumber = Number(parts[2]);
|
|
58
|
+
if (!Number.isInteger(code) || !Number.isInteger(signalNumber))
|
|
59
|
+
return null;
|
|
60
|
+
return {
|
|
61
|
+
type: 'root-exit',
|
|
62
|
+
code: code >= 0 ? code : null,
|
|
63
|
+
signal: signalNumber > 0 ? signalNames.get(signalNumber) ?? null : null,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=process-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-scope.js","sourceRoot":"","sources":["../../../src/runtime/process-scope/process-scope.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export declare const SCOPE_HELPER_PROTOCOL_VERSION = 1;
|
|
2
|
+
export interface ScopeHelperCapabilities {
|
|
3
|
+
/** The supervisor can become a child subreaper (required). */
|
|
4
|
+
subreaper: boolean;
|
|
5
|
+
/** pidfd_open/pidfd_send_signal are available, so a reused PID is never signalled. */
|
|
6
|
+
pidfd: boolean;
|
|
7
|
+
/** /proc/<pid>/task/<tid>/children is available; otherwise members are found by one /proc pass at stop time. */
|
|
8
|
+
childrenFile: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface ScopeHelper {
|
|
11
|
+
path: string;
|
|
12
|
+
capabilities: ScopeHelperCapabilities;
|
|
13
|
+
}
|
|
14
|
+
export declare function defaultScopeHelperPath(platform?: NodeJS.Platform, arch?: string): string | null;
|
|
15
|
+
/**
|
|
16
|
+
* Runs the supervisor's `--probe` once. A binary that cannot become a
|
|
17
|
+
* subreaper on this kernel is treated as absent so callers fall back to the
|
|
18
|
+
* compatibility backend instead of trusting an incomplete scope.
|
|
19
|
+
*/
|
|
20
|
+
export declare function probeScopeHelper(helperPath: string): ScopeHelper | null;
|
|
21
|
+
/**
|
|
22
|
+
* Resolves the supervisor for this host. `AGENT_TOWER_PROCESS_SCOPE=compat`
|
|
23
|
+
* forces the compatibility backend; `AGENT_TOWER_SCOPE_HELPER_PATH` points at
|
|
24
|
+
* a binary outside the bundled `prebuilds/` directory. Linux only.
|
|
25
|
+
*/
|
|
26
|
+
export declare function resolveScopeHelper(platform?: NodeJS.Platform, arch?: string): ScopeHelper | null;
|
|
27
|
+
export declare function resetScopeHelperCache(): void;
|
|
28
|
+
//# sourceMappingURL=scope-helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope-helper.d.ts","sourceRoot":"","sources":["../../../src/runtime/process-scope/scope-helper.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAE/C,MAAM,WAAW,uBAAuB;IACtC,8DAA8D;IAC9D,SAAS,EAAE,OAAO,CAAC;IACnB,sFAAsF;IACtF,KAAK,EAAE,OAAO,CAAC;IACf,gHAAgH;IAChH,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,uBAAuB,CAAC;CACvC;AAOD,wBAAgB,sBAAsB,CACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,IAAI,GAAE,MAAqB,GAC1B,MAAM,GAAG,IAAI,CAGf;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CA6BvE;AAID;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,IAAI,GAAE,MAAqB,GAC1B,WAAW,GAAG,IAAI,CASpB;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { execFileSync } from 'node:child_process';
|
|
2
|
+
import { accessSync, constants } from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
export const SCOPE_HELPER_PROTOCOL_VERSION = 1;
|
|
6
|
+
// `src/runtime/process-scope` and `dist/runtime/process-scope` both sit three
|
|
7
|
+
// levels below the package root, where `prebuilds/` lives in dev and in the
|
|
8
|
+
// published package.
|
|
9
|
+
const packageRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', '..', '..');
|
|
10
|
+
export function defaultScopeHelperPath(platform = process.platform, arch = process.arch) {
|
|
11
|
+
if (platform !== 'linux')
|
|
12
|
+
return null;
|
|
13
|
+
return path.join(packageRoot, 'prebuilds', `${platform}-${arch}`, 'agent-tower-scope');
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Runs the supervisor's `--probe` once. A binary that cannot become a
|
|
17
|
+
* subreaper on this kernel is treated as absent so callers fall back to the
|
|
18
|
+
* compatibility backend instead of trusting an incomplete scope.
|
|
19
|
+
*/
|
|
20
|
+
export function probeScopeHelper(helperPath) {
|
|
21
|
+
try {
|
|
22
|
+
accessSync(helperPath, constants.X_OK);
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
let output;
|
|
28
|
+
try {
|
|
29
|
+
output = execFileSync(helperPath, ['--probe'], {
|
|
30
|
+
encoding: 'utf8',
|
|
31
|
+
timeout: 2_000,
|
|
32
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
let parsed;
|
|
39
|
+
try {
|
|
40
|
+
parsed = JSON.parse(output.trim());
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
if (!parsed || typeof parsed !== 'object')
|
|
46
|
+
return null;
|
|
47
|
+
const { version, subreaper, pidfd, childrenFile } = parsed;
|
|
48
|
+
if (version !== SCOPE_HELPER_PROTOCOL_VERSION || subreaper !== true)
|
|
49
|
+
return null;
|
|
50
|
+
return {
|
|
51
|
+
path: helperPath,
|
|
52
|
+
capabilities: { subreaper: true, pidfd: pidfd === true, childrenFile: childrenFile === true },
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
let cached;
|
|
56
|
+
/**
|
|
57
|
+
* Resolves the supervisor for this host. `AGENT_TOWER_PROCESS_SCOPE=compat`
|
|
58
|
+
* forces the compatibility backend; `AGENT_TOWER_SCOPE_HELPER_PATH` points at
|
|
59
|
+
* a binary outside the bundled `prebuilds/` directory. Linux only.
|
|
60
|
+
*/
|
|
61
|
+
export function resolveScopeHelper(platform = process.platform, arch = process.arch) {
|
|
62
|
+
if (platform !== 'linux')
|
|
63
|
+
return null;
|
|
64
|
+
if (process.env.AGENT_TOWER_PROCESS_SCOPE === 'compat')
|
|
65
|
+
return null;
|
|
66
|
+
const helperPath = process.env.AGENT_TOWER_SCOPE_HELPER_PATH || defaultScopeHelperPath(platform, arch);
|
|
67
|
+
if (!helperPath)
|
|
68
|
+
return null;
|
|
69
|
+
if (cached?.key === helperPath)
|
|
70
|
+
return cached.helper;
|
|
71
|
+
const helper = probeScopeHelper(helperPath);
|
|
72
|
+
cached = { key: helperPath, helper };
|
|
73
|
+
return helper;
|
|
74
|
+
}
|
|
75
|
+
export function resetScopeHelperCache() {
|
|
76
|
+
cached = undefined;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=scope-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope-helper.js","sourceRoot":"","sources":["../../../src/runtime/process-scope/scope-helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-coordinator.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime-coordinator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EAEX,KAAK,eAAe,EAErB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-coordinator.d.ts","sourceRoot":"","sources":["../../src/runtime/runtime-coordinator.ts"],"names":[],"mappings":"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"}
|