factory-factory 0.3.14 → 0.3.16
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/client/assets/{arc-DSBuWL5s.js → arc-CAOrfHBL.js} +1 -1
- package/dist/client/assets/architectureDiagram-3BPJPVTR-CzxGCKeM.js +36 -0
- package/dist/client/assets/blockDiagram-GPEHLZMM-B4k0dvv-.js +132 -0
- package/dist/client/assets/{c4Diagram-AHTNJAMY-DLB6YyaK.js → c4Diagram-AAUBKEIU-ByaECY1u.js} +1 -1
- package/dist/client/assets/channel-D2ho7Eza.js +1 -0
- package/dist/client/assets/{chunk-EDXVE4YY-JtUNKE2M.js → chunk-2J33WTMH-Crxo1uMY.js} +1 -1
- package/dist/client/assets/{chunk-4BX2VUAB-DVPwhCCH.js → chunk-4BX2VUAB-CggFLwAA.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-BW_jDeAT.js → chunk-55IACEB6-BSoTWFAF.js} +1 -1
- package/dist/client/assets/chunk-727SXJPM-DcQoeGkQ.js +206 -0
- package/dist/client/assets/chunk-AQP2D5EJ-Ci5tNJvg.js +231 -0
- package/dist/client/assets/{chunk-FMBD7UC4-BVYe-KgE.js → chunk-FMBD7UC4-CjYtwTh4.js} +1 -1
- package/dist/client/assets/{chunk-YZCP3GAM-CDhS7CGF.js → chunk-ND2GUHAM-Dla8Gmku.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-99tx2X7z.js → chunk-QZHKN3VN-CiblfzNN.js} +1 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-ZExoOExU.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-ZExoOExU.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-GJd1fOeJ.js → cose-bilkent-S5V4N54A-DWuzgvAN.js} +1 -1
- package/dist/client/assets/dagre-BM42HDAG-hvdcGfHc.js +4 -0
- package/dist/client/assets/diagram-2AECGRRQ-DVZDsgVY.js +43 -0
- package/dist/client/assets/diagram-5GNKFQAL-BLXKSUUu.js +10 -0
- package/dist/client/assets/diagram-KO2AKTUF-1nNBdWqs.js +3 -0
- package/dist/client/assets/diagram-LMA3HP47-CTw-M4zU.js +24 -0
- package/dist/client/assets/diagram-OG6HWLK6-D9J0vyno.js +24 -0
- package/dist/client/assets/{erDiagram-SMLLAGMA-b5ieH-Rd.js → erDiagram-TEJ5UH35-DYXcLeDs.js} +1 -1
- package/dist/client/assets/{flowDiagram-DWJPFMVM-C6BT6FGE.js → flowDiagram-I6XJVG4X-CXFyFXcd.js} +1 -1
- package/dist/client/assets/{ganttDiagram-T4ZO3ILL-ANP28BYp.js → ganttDiagram-6RSMTGT7-CPGMIRhg.js} +2 -2
- package/dist/client/assets/gitGraphDiagram-PVQCEYII-BCIDHp-Q.js +106 -0
- package/dist/client/assets/graph--OzhPTMs.js +1 -0
- package/dist/client/assets/index-IJ_NNlgJ.css +1 -0
- package/dist/client/assets/{index-DXhws4gD.js → index-gIy0Sz_B.js} +152 -153
- package/dist/client/assets/infoDiagram-5YYISTIA-ThNaUmLI.js +2 -0
- package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-CqKsMHgP.js → ishikawaDiagram-YF4QCWOH-nD7e1KKT.js} +1 -1
- package/dist/client/assets/{journeyDiagram-VCZTEJTY-BZtfD_AX.js → journeyDiagram-JHISSGLW-DKfK1tIp.js} +1 -1
- package/dist/client/assets/{kanban-definition-6JOO6SKY-BmXsWhyy.js → kanban-definition-UN3LZRKU-C61PkF-T.js} +1 -1
- package/dist/client/assets/layout-SsrduOYp.js +1 -0
- package/dist/client/assets/{linear-D3KSZ58g.js → linear-yYp6Wht8.js} +1 -1
- package/dist/client/assets/{mindmap-definition-QFDTVHPH-Ds6I5xr9.js → mindmap-definition-RKZ34NQL-DI6Bl654.js} +9 -9
- package/dist/client/assets/{mobile-baseline-LNAOKO2v.js → mobile-baseline-DRrQYbFX.js} +1 -1
- package/dist/client/assets/pieDiagram-4H26LBE5-CNV-VY3H.js +30 -0
- package/dist/client/assets/quadrantDiagram-W4KKPZXB-CDBpCVHO.js +7 -0
- package/dist/client/assets/{requirementDiagram-MS252O5E-U4qQHRNe.js → requirementDiagram-4Y6WPE33-D_rxDIc5.js} +1 -1
- package/dist/client/assets/sankeyDiagram-5OEKKPKP-DeyadfL0.js +40 -0
- package/dist/client/assets/{sequenceDiagram-FGHM5R23-BU3bWBgE.js → sequenceDiagram-3UESZ5HK-36_kZ6la.js} +12 -7
- package/dist/client/assets/stateDiagram-AJRCARHV-4ayM-mAT.js +1 -0
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-ChnnLckY.js +1 -0
- package/dist/client/assets/{terminal-instance-F0JrQZ9R.js → terminal-instance-CMp5bO62.js} +1 -1
- package/dist/client/assets/{timeline-definition-GMOUNBTQ-BLLt9f0n.js → timeline-definition-PNZ67QCA-D0pQgePo.js} +1 -1
- package/dist/client/assets/{vennDiagram-DHZGUBPP-wVxLQieb.js → vennDiagram-CIIHVFJN-CnoMcpwq.js} +1 -1
- package/dist/client/assets/wardley-L42UT6IY-DOtSWmwv.js +161 -0
- package/dist/client/assets/wardleyDiagram-YWT4CUSO-Z3hYGa2_.js +78 -0
- package/dist/client/assets/{xychartDiagram-5P7HB3ND-D-h5ykwN.js → xychartDiagram-2RQKCTM6-CBvgTdkn.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/prisma/generated/browser.d.ts +2 -0
- package/dist/prisma/generated/browser.d.ts.map +1 -1
- package/dist/prisma/generated/client.d.ts +2 -0
- package/dist/prisma/generated/client.d.ts.map +1 -1
- package/dist/prisma/generated/commonInputTypes.d.ts +60 -0
- package/dist/prisma/generated/commonInputTypes.d.ts.map +1 -1
- package/dist/prisma/generated/enums.d.ts +16 -0
- package/dist/prisma/generated/enums.d.ts.map +1 -1
- package/dist/prisma/generated/enums.js +15 -1
- package/dist/prisma/generated/enums.js.map +1 -1
- package/dist/prisma/generated/internal/class.d.ts +6 -0
- package/dist/prisma/generated/internal/class.d.ts.map +1 -1
- package/dist/prisma/generated/internal/class.js +4 -4
- package/dist/prisma/generated/internal/class.js.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespace.d.ts +181 -1
- package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespace.js +27 -1
- package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +28 -0
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.js +27 -1
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
- package/dist/prisma/generated/models/PeriodicTask.d.ts +954 -0
- package/dist/prisma/generated/models/PeriodicTask.d.ts.map +1 -0
- package/dist/prisma/generated/models/PeriodicTask.js +2 -0
- package/dist/prisma/generated/models/PeriodicTask.js.map +1 -0
- package/dist/prisma/generated/models/PeriodicTaskExecution.d.ts +813 -0
- package/dist/prisma/generated/models/PeriodicTaskExecution.d.ts.map +1 -0
- package/dist/prisma/generated/models/PeriodicTaskExecution.js +2 -0
- package/dist/prisma/generated/models/PeriodicTaskExecution.js.map +1 -0
- package/dist/prisma/generated/models/Project.d.ts +132 -0
- package/dist/prisma/generated/models/Project.d.ts.map +1 -1
- package/dist/prisma/generated/models/Workspace.d.ts +809 -32
- package/dist/prisma/generated/models/Workspace.d.ts.map +1 -1
- package/dist/prisma/generated/models.d.ts +2 -0
- package/dist/prisma/generated/models.d.ts.map +1 -1
- package/dist/src/backend/lib/env.d.ts +2 -1
- package/dist/src/backend/lib/env.d.ts.map +1 -1
- package/dist/src/backend/lib/env.js +6 -3
- package/dist/src/backend/lib/env.js.map +1 -1
- package/dist/src/backend/lib/session-summaries.d.ts +1 -1
- package/dist/src/backend/lib/session-summaries.d.ts.map +1 -1
- package/dist/src/backend/lib/session-summaries.js +3 -2
- package/dist/src/backend/lib/session-summaries.js.map +1 -1
- package/dist/src/backend/lib/workspace-derived-state.js +1 -1
- package/dist/src/backend/lib/workspace-derived-state.js.map +1 -1
- package/dist/src/backend/lib/workspace-derived-state.test.js +33 -9
- package/dist/src/backend/lib/workspace-derived-state.test.js.map +1 -1
- package/dist/src/backend/orchestration/cli-health.service.d.ts +2 -0
- package/dist/src/backend/orchestration/cli-health.service.d.ts.map +1 -1
- package/dist/src/backend/orchestration/cli-health.service.js +23 -5
- package/dist/src/backend/orchestration/cli-health.service.js.map +1 -1
- package/dist/src/backend/orchestration/data-backup.service.d.ts.map +1 -1
- package/dist/src/backend/orchestration/data-backup.service.js +6 -0
- package/dist/src/backend/orchestration/data-backup.service.js.map +1 -1
- package/dist/src/backend/orchestration/data-backup.service.test.js +55 -4
- package/dist/src/backend/orchestration/data-backup.service.test.js.map +1 -1
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.js +39 -1
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.js.map +1 -1
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js +3 -1
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js.map +1 -1
- package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts +2 -0
- package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/event-collector.orchestrator.js +17 -0
- package/dist/src/backend/orchestration/event-collector.orchestrator.js.map +1 -1
- package/dist/src/backend/orchestration/event-collector.orchestrator.test.js +14 -3
- package/dist/src/backend/orchestration/event-collector.orchestrator.test.js.map +1 -1
- package/dist/src/backend/orchestration/scheduler.service.d.ts.map +1 -1
- package/dist/src/backend/orchestration/scheduler.service.js +4 -2
- package/dist/src/backend/orchestration/scheduler.service.js.map +1 -1
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts +1 -0
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js +7 -1
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js.map +1 -1
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js +34 -0
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js.map +1 -1
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts +9 -0
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.js +80 -39
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.js.map +1 -1
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js +74 -2
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js.map +1 -1
- package/dist/src/backend/orchestration/workspace-init.orchestrator.d.ts +1 -0
- package/dist/src/backend/orchestration/workspace-init.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/workspace-init.orchestrator.js +101 -17
- package/dist/src/backend/orchestration/workspace-init.orchestrator.js.map +1 -1
- package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js +70 -3
- package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js.map +1 -1
- package/dist/src/backend/prompts/ratchet-dispatch.d.ts.map +1 -1
- package/dist/src/backend/prompts/ratchet-dispatch.js +14 -10
- package/dist/src/backend/prompts/ratchet-dispatch.js.map +1 -1
- package/dist/src/backend/prompts/ratchet-dispatch.test.js +37 -0
- package/dist/src/backend/prompts/ratchet-dispatch.test.js.map +1 -1
- package/dist/src/backend/routers/websocket/setup-terminal.handler.d.ts.map +1 -1
- package/dist/src/backend/routers/websocket/setup-terminal.handler.js +13 -1
- package/dist/src/backend/routers/websocket/setup-terminal.handler.js.map +1 -1
- package/dist/src/backend/routers/websocket/setup-terminal.handler.test.js +89 -3
- package/dist/src/backend/routers/websocket/setup-terminal.handler.test.js.map +1 -1
- package/dist/src/backend/routers/websocket/snapshots.handler.d.ts.map +1 -1
- package/dist/src/backend/routers/websocket/snapshots.handler.js +24 -8
- package/dist/src/backend/routers/websocket/snapshots.handler.js.map +1 -1
- package/dist/src/backend/routers/websocket/terminal.handler.d.ts.map +1 -1
- package/dist/src/backend/routers/websocket/terminal.handler.js +29 -11
- package/dist/src/backend/routers/websocket/terminal.handler.js.map +1 -1
- package/dist/src/backend/routers/websocket/terminal.handler.test.js +98 -0
- package/dist/src/backend/routers/websocket/terminal.handler.test.js.map +1 -1
- package/dist/src/backend/schemas/websocket/terminal-message.schema.d.ts +1 -0
- package/dist/src/backend/schemas/websocket/terminal-message.schema.d.ts.map +1 -1
- package/dist/src/backend/schemas/websocket/terminal-message.schema.js +1 -0
- package/dist/src/backend/schemas/websocket/terminal-message.schema.js.map +1 -1
- package/dist/src/backend/server.d.ts.map +1 -1
- package/dist/src/backend/server.js +84 -62
- package/dist/src/backend/server.js.map +1 -1
- package/dist/src/backend/server.upgrade.test.js +40 -1
- package/dist/src/backend/server.upgrade.test.js.map +1 -1
- package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.d.ts +2 -1
- package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.d.ts.map +1 -1
- package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js +82 -0
- package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.js.map +1 -1
- package/dist/src/backend/services/config.service.d.ts.map +1 -1
- package/dist/src/backend/services/config.service.js +1 -4
- package/dist/src/backend/services/config.service.js.map +1 -1
- package/dist/src/backend/services/constants.d.ts +1 -0
- package/dist/src/backend/services/constants.d.ts.map +1 -1
- package/dist/src/backend/services/constants.js +1 -0
- package/dist/src/backend/services/constants.js.map +1 -1
- package/dist/src/backend/services/github/service/github-cli/schemas.d.ts +1 -0
- package/dist/src/backend/services/github/service/github-cli/schemas.d.ts.map +1 -1
- package/dist/src/backend/services/github/service/github-cli/schemas.js +1 -1
- package/dist/src/backend/services/github/service/github-cli/schemas.js.map +1 -1
- package/dist/src/backend/services/github/service/github-cli.service.d.ts +10 -0
- package/dist/src/backend/services/github/service/github-cli.service.d.ts.map +1 -1
- package/dist/src/backend/services/github/service/github-cli.service.js +85 -2
- package/dist/src/backend/services/github/service/github-cli.service.js.map +1 -1
- package/dist/src/backend/services/github/service/github-cli.service.test.js +38 -8
- package/dist/src/backend/services/github/service/github-cli.service.test.js.map +1 -1
- package/dist/src/backend/services/periodic-task/index.d.ts +5 -0
- package/dist/src/backend/services/periodic-task/index.d.ts.map +1 -0
- package/dist/src/backend/services/periodic-task/index.js +6 -0
- package/dist/src/backend/services/periodic-task/index.js.map +1 -0
- package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.d.ts +49 -0
- package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.d.ts.map +1 -0
- package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js +138 -0
- package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js.map +1 -0
- package/dist/src/backend/services/periodic-task/service/index.d.ts +3 -0
- package/dist/src/backend/services/periodic-task/service/index.d.ts.map +1 -0
- package/dist/src/backend/services/periodic-task/service/index.js +2 -0
- package/dist/src/backend/services/periodic-task/service/index.js.map +1 -0
- package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts +44 -0
- package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts.map +1 -0
- package/dist/src/backend/services/periodic-task/service/periodic-task.service.js +177 -0
- package/dist/src/backend/services/periodic-task/service/periodic-task.service.js.map +1 -0
- package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.d.ts.map +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.js +1 -0
- package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.js.map +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.test.js +74 -1
- package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.test.js.map +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet.service.js +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet.service.js.map +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet.service.test.js +9 -5
- package/dist/src/backend/services/ratchet/service/ratchet.service.test.js.map +1 -1
- package/dist/src/backend/services/registry.d.ts +6 -2
- package/dist/src/backend/services/registry.d.ts.map +1 -1
- package/dist/src/backend/services/registry.js +7 -0
- package/dist/src/backend/services/registry.js.map +1 -1
- package/dist/src/backend/services/resources.integration.test.js +33 -3
- package/dist/src/backend/services/resources.integration.test.js.map +1 -1
- package/dist/src/backend/services/run-script/service/run-script.service.d.ts +2 -1
- package/dist/src/backend/services/run-script/service/run-script.service.d.ts.map +1 -1
- package/dist/src/backend/services/run-script/service/run-script.service.js +7 -1
- package/dist/src/backend/services/run-script/service/run-script.service.js.map +1 -1
- package/dist/src/backend/services/run-script/service/run-script.service.test.js +20 -0
- package/dist/src/backend/services/run-script/service/run-script.service.test.js.map +1 -1
- package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts +2 -0
- package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts.map +1 -1
- package/dist/src/backend/services/session/resources/agent-session.accessor.js +88 -49
- package/dist/src/backend/services/session/resources/agent-session.accessor.js.map +1 -1
- package/dist/src/backend/services/session/resources/agent-session.accessor.test.js +27 -0
- package/dist/src/backend/services/session/resources/agent-session.accessor.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-client-handler.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-client-handler.js +31 -16
- package/dist/src/backend/services/session/service/acp/acp-client-handler.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-client-handler.test.js +41 -7
- package/dist/src/backend/services/session/service/acp/acp-client-handler.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts +2 -0
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.js +25 -6
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.js +81 -3
- package/dist/src/backend/services/session/service/acp/acp-runtime-manager.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts +1 -0
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js +13 -0
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js +34 -0
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-app-server-acp-adapter.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.d.ts +7 -0
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.js +25 -8
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.test.js +28 -0
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/codex-rpc-client.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/command-metadata.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/command-metadata.js +3 -26
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/command-metadata.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/command-metadata.test.js +30 -4
- package/dist/src/backend/services/session/service/acp/codex-app-server-adapter/command-metadata.test.js.map +1 -1
- package/dist/src/backend/services/session/service/acp/codex-cli-import-resolution.integration.test.js +17 -5
- package/dist/src/backend/services/session/service/acp/codex-cli-import-resolution.integration.test.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.test.js +23 -0
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.test.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts +10 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js +72 -2
- package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js +66 -0
- package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js.map +1 -1
- package/dist/src/backend/services/session/service/data/session-data.service.d.ts +3 -0
- package/dist/src/backend/services/session/service/data/session-data.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/data/session-data.service.js +3 -0
- package/dist/src/backend/services/session/service/data/session-data.service.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts +5 -1
- package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js +14 -5
- package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.permission.service.d.ts +1 -0
- package/dist/src/backend/services/session/service/lifecycle/session.permission.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.permission.service.js +50 -7
- package/dist/src/backend/services/session/service/lifecycle/session.permission.service.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.permission.service.test.js +68 -0
- package/dist/src/backend/services/session/service/lifecycle/session.permission.service.test.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts +2 -0
- package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.repository.js +3 -0
- package/dist/src/backend/services/session/service/lifecycle/session.repository.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.repository.test.js +6 -0
- package/dist/src/backend/services/session/service/lifecycle/session.repository.test.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.service.coverage.test.js +65 -2
- package/dist/src/backend/services/session/service/lifecycle/session.service.coverage.test.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts +7 -0
- package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.service.js +54 -2
- package/dist/src/backend/services/session/service/lifecycle/session.service.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.service.test.js +254 -3
- package/dist/src/backend/services/session/service/lifecycle/session.service.test.js.map +1 -1
- package/dist/src/backend/services/terminal/service/terminal.service.d.ts +1 -2
- package/dist/src/backend/services/terminal/service/terminal.service.d.ts.map +1 -1
- package/dist/src/backend/services/terminal/service/terminal.service.js +95 -9
- package/dist/src/backend/services/terminal/service/terminal.service.js.map +1 -1
- package/dist/src/backend/services/terminal/service/terminal.service.test.js +16 -0
- package/dist/src/backend/services/terminal/service/terminal.service.test.js.map +1 -1
- package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts +3 -1
- package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/resources/workspace.accessor.js +15 -0
- package/dist/src/backend/services/workspace/resources/workspace.accessor.js.map +1 -1
- package/dist/src/backend/services/workspace/resources/workspace.accessor.test.js +37 -1
- package/dist/src/backend/services/workspace/resources/workspace.accessor.test.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js +1 -0
- package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts +9 -0
- package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts +2 -0
- package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts +6 -2
- package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/query/workspace-query.service.js +38 -26
- package/dist/src/backend/services/workspace/service/query/workspace-query.service.js.map +1 -1
- package/dist/src/backend/services/workspace/service/query/workspace-query.service.test.js +42 -6
- package/dist/src/backend/services/workspace/service/query/workspace-query.service.test.js.map +1 -1
- package/dist/src/backend/services/workspace/service/state/kanban-state.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/state/kanban-state.js +1 -3
- package/dist/src/backend/services/workspace/service/state/kanban-state.js.map +1 -1
- package/dist/src/backend/services/workspace/service/state/pending-request-type.js +2 -2
- package/dist/src/backend/services/workspace/service/state/pending-request-type.js.map +1 -1
- package/dist/src/backend/services/workspace/service/state/pending-request-type.test.js +7 -0
- package/dist/src/backend/services/workspace/service/state/pending-request-type.test.js.map +1 -1
- package/dist/src/backend/services/workspace/service/state/workspace-runtime-state.js +1 -1
- package/dist/src/backend/services/workspace/service/state/workspace-runtime-state.js.map +1 -1
- package/dist/src/backend/services/workspace/service/worktree/worktree-init.test.js +5 -0
- package/dist/src/backend/services/workspace/service/worktree/worktree-init.test.js.map +1 -1
- package/dist/src/backend/services/workspace-snapshot-store.service.test.js +7 -5
- package/dist/src/backend/services/workspace-snapshot-store.service.test.js.map +1 -1
- package/dist/src/backend/trpc/admin.trpc.d.ts +6 -2
- package/dist/src/backend/trpc/admin.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/auto-iteration.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/auto-iteration.trpc.js +38 -2
- package/dist/src/backend/trpc/auto-iteration.trpc.js.map +1 -1
- package/dist/src/backend/trpc/index.d.ts +267 -4
- package/dist/src/backend/trpc/index.d.ts.map +1 -1
- package/dist/src/backend/trpc/index.js +2 -0
- package/dist/src/backend/trpc/index.js.map +1 -1
- package/dist/src/backend/trpc/periodic-task.trpc.d.ts +153 -0
- package/dist/src/backend/trpc/periodic-task.trpc.d.ts.map +1 -0
- package/dist/src/backend/trpc/periodic-task.trpc.js +59 -0
- package/dist/src/backend/trpc/periodic-task.trpc.js.map +1 -0
- package/dist/src/backend/trpc/project.trpc.d.ts +2 -0
- package/dist/src/backend/trpc/project.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/session.router.test.js +6 -6
- package/dist/src/backend/trpc/session.router.test.js.map +1 -1
- package/dist/src/backend/trpc/session.trpc.d.ts +5 -0
- package/dist/src/backend/trpc/session.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/session.trpc.js +2 -2
- package/dist/src/backend/trpc/session.trpc.js.map +1 -1
- package/dist/src/backend/trpc/workspace/init.router.test.js +44 -4
- package/dist/src/backend/trpc/workspace/init.router.test.js.map +1 -1
- package/dist/src/backend/trpc/workspace/init.trpc.d.ts +1 -0
- package/dist/src/backend/trpc/workspace/init.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace/init.trpc.js +25 -19
- package/dist/src/backend/trpc/workspace/init.trpc.js.map +1 -1
- package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts +2 -0
- package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace.trpc.d.ts +102 -2
- package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace.trpc.js +32 -0
- package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
- package/dist/src/cli/database-path.d.ts +8 -0
- package/dist/src/cli/database-path.d.ts.map +1 -0
- package/dist/src/cli/database-path.js +15 -0
- package/dist/src/cli/database-path.js.map +1 -0
- package/dist/src/cli/database-path.test.d.ts +2 -0
- package/dist/src/cli/database-path.test.d.ts.map +1 -0
- package/dist/src/cli/database-path.test.js +51 -0
- package/dist/src/cli/database-path.test.js.map +1 -0
- package/dist/src/cli/index.js +4 -12
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/proxy.d.ts.map +1 -1
- package/dist/src/cli/proxy.js +2 -5
- package/dist/src/cli/proxy.js.map +1 -1
- package/dist/src/shared/core/ci-status.d.ts.map +1 -1
- package/dist/src/shared/core/ci-status.js +10 -9
- package/dist/src/shared/core/ci-status.js.map +1 -1
- package/dist/src/shared/core/enums.d.ts +16 -0
- package/dist/src/shared/core/enums.d.ts.map +1 -1
- package/dist/src/shared/core/enums.js +14 -0
- package/dist/src/shared/core/enums.js.map +1 -1
- package/dist/src/shared/core/index.d.ts +1 -1
- package/dist/src/shared/core/index.d.ts.map +1 -1
- package/dist/src/shared/core/index.js +1 -1
- package/dist/src/shared/core/index.js.map +1 -1
- package/dist/src/shared/github-types.d.ts +1 -1
- package/dist/src/shared/github-types.d.ts.map +1 -1
- package/dist/src/shared/pending-request-types.d.ts +4 -0
- package/dist/src/shared/pending-request-types.d.ts.map +1 -1
- package/dist/src/shared/pending-request-types.js +6 -0
- package/dist/src/shared/pending-request-types.js.map +1 -1
- package/dist/src/shared/schemas/export-data.schema.d.ts +12 -0
- package/dist/src/shared/schemas/export-data.schema.d.ts.map +1 -1
- package/dist/src/shared/schemas/export-data.schema.js +4 -1
- package/dist/src/shared/schemas/export-data.schema.js.map +1 -1
- package/dist/src/shared/session-runtime.d.ts +2 -0
- package/dist/src/shared/session-runtime.d.ts.map +1 -1
- package/dist/src/shared/session-runtime.js +6 -0
- package/dist/src/shared/session-runtime.js.map +1 -1
- package/dist/tsconfig.backend.tsbuildinfo +1 -1
- package/package.json +23 -15
- package/prisma/migrations/20260217000000_add_auto_approve_permissions/migration.sql +2 -0
- package/prisma/migrations/20260410000000_remove_auto_approve_permissions/migration.sql +2 -0
- package/prisma/migrations/20260414120000_add_performance_indexes/migration.sql +23 -0
- package/prisma/migrations/20260512204732_add_periodic_tasks/migration.sql +125 -0
- package/prisma/schema.prisma +76 -0
- package/dist/client/assets/_baseUniq-CRIXZajf.js +0 -1
- package/dist/client/assets/architectureDiagram-Q4EWVU46-CR--POQ9.js +0 -36
- package/dist/client/assets/blockDiagram-DXYQGD6D-JuBGkp-x.js +0 -132
- package/dist/client/assets/channel-BToPvV0p.js +0 -1
- package/dist/client/assets/chunk-4TB4RGXK-YVAR8wg-.js +0 -206
- package/dist/client/assets/chunk-OYMX7WX6-u9Af6O8U.js +0 -231
- package/dist/client/assets/classDiagram-6PBFFD2Q-CdGzzfRv.js +0 -1
- package/dist/client/assets/classDiagram-v2-HSJHXN6E-CdGzzfRv.js +0 -1
- package/dist/client/assets/clone-DZkyOsGH.js +0 -1
- package/dist/client/assets/dagre-KV5264BT-DzucNBZu.js +0 -4
- package/dist/client/assets/diagram-5BDNPKRD-C6OYvRyt.js +0 -10
- package/dist/client/assets/diagram-G4DWMVQ6-DrQYwY3E.js +0 -24
- package/dist/client/assets/diagram-MMDJMWI5-CfInQsB1.js +0 -43
- package/dist/client/assets/diagram-TYMM5635-CwNYFf_u.js +0 -24
- package/dist/client/assets/gitGraphDiagram-UUTBAWPF-VkjInTZg.js +0 -106
- package/dist/client/assets/graph-C3Zfn3Km.js +0 -1
- package/dist/client/assets/index-CBgUr8yV.css +0 -1
- package/dist/client/assets/infoDiagram-42DDH7IO-Dp-vRCFg.js +0 -2
- package/dist/client/assets/layout-BVsX4tmn.js +0 -1
- package/dist/client/assets/min-DH_RgixA.js +0 -1
- package/dist/client/assets/pieDiagram-DEJITSTG-S9DirkFb.js +0 -30
- package/dist/client/assets/quadrantDiagram-34T5L4WZ-CVmMYBg1.js +0 -7
- package/dist/client/assets/sankeyDiagram-XADWPNL6-Zd2-RQeP.js +0 -10
- package/dist/client/assets/stateDiagram-FHFEXIEX-DX9qwfCK.js +0 -1
- package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-CJ_nRdIj.js +0 -1
- package/dist/client/assets/wardley-RL74JXVD-DiTLa5PU.js +0 -162
- package/dist/client/assets/wardleyDiagram-NUSXRM2D-CJRSuGsS.js +0 -20
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.service.d.ts","sourceRoot":"","sources":["../../../../../../../src/backend/services/session/service/lifecycle/session.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"session.service.d.ts","sourceRoot":"","sources":["../../../../../../../src/backend/services/session/service/lifecycle/session.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import pLimit from 'p-limit';
|
|
1
2
|
import { createLogger } from '../../../../../backend/services/logger.service.js';
|
|
2
3
|
import { acpRuntimeManager } from '../../../../../backend/services/session/service/acp/index.js';
|
|
3
4
|
import { sessionDomainService } from '../../../../../backend/services/session/service/session-domain.service.js';
|
|
@@ -11,6 +12,7 @@ import { SessionPromptTurnCompletionService } from './session.prompt-turn-comple
|
|
|
11
12
|
import { sessionRepository } from './session.repository.js';
|
|
12
13
|
import { SessionRetryService } from './session.retry.service.js';
|
|
13
14
|
const logger = createLogger('session');
|
|
15
|
+
const DEFAULT_USER_PROMPT_TIMEOUT_MS = 60 * 60 * 1000;
|
|
14
16
|
export class SessionService {
|
|
15
17
|
repository;
|
|
16
18
|
runtimeManager;
|
|
@@ -21,6 +23,7 @@ export class SessionService {
|
|
|
21
23
|
promptTurnCompletionService;
|
|
22
24
|
retryService;
|
|
23
25
|
lifecycleService;
|
|
26
|
+
acpPromptLimiters = new Map();
|
|
24
27
|
workspaceBridge = null;
|
|
25
28
|
constructor(options) {
|
|
26
29
|
this.repository = options?.repository ?? sessionRepository;
|
|
@@ -74,6 +77,12 @@ export class SessionService {
|
|
|
74
77
|
acpEventProcessor: this.acpEventProcessor,
|
|
75
78
|
promptTurnCompletionService: this.promptTurnCompletionService,
|
|
76
79
|
retryService: this.retryService,
|
|
80
|
+
onBeforeStopSession: (sessionId) => {
|
|
81
|
+
this.clearQueuedAcpPrompts(sessionId);
|
|
82
|
+
},
|
|
83
|
+
onSessionExit: (sessionId) => {
|
|
84
|
+
this.clearQueuedAcpPrompts(sessionId);
|
|
85
|
+
},
|
|
77
86
|
});
|
|
78
87
|
}
|
|
79
88
|
configure(bridges) {
|
|
@@ -95,6 +104,15 @@ export class SessionService {
|
|
|
95
104
|
async stopWorkspaceSessions(workspaceId) {
|
|
96
105
|
await this.lifecycleService.stopWorkspaceSessions(workspaceId);
|
|
97
106
|
}
|
|
107
|
+
async recoverStaleSessionStates() {
|
|
108
|
+
const recoveredCount = await this.repository.recoverStaleRunningSessions();
|
|
109
|
+
if (recoveredCount > 0) {
|
|
110
|
+
logger.info('Recovered stale agent session states on startup', {
|
|
111
|
+
recoveredCount,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
return recoveredCount;
|
|
115
|
+
}
|
|
98
116
|
getOrCreateSessionClient(sessionId, options) {
|
|
99
117
|
return this.lifecycleService.getOrCreateSessionClient(sessionId, options);
|
|
100
118
|
}
|
|
@@ -128,7 +146,7 @@ export class SessionService {
|
|
|
128
146
|
const prompt = typeof content === 'string'
|
|
129
147
|
? [{ type: 'text', text: content }]
|
|
130
148
|
: this.toContentBlocks(content, acpClient.supportsImages());
|
|
131
|
-
return this.sendAcpMessage(sessionId, prompt)
|
|
149
|
+
return this.sendAcpMessage(sessionId, prompt, DEFAULT_USER_PROMPT_TIMEOUT_MS)
|
|
132
150
|
.then(() => undefined)
|
|
133
151
|
.catch((error) => {
|
|
134
152
|
logger.error('ACP prompt failed', {
|
|
@@ -178,7 +196,41 @@ export class SessionService {
|
|
|
178
196
|
}
|
|
179
197
|
return blocks;
|
|
180
198
|
}
|
|
181
|
-
|
|
199
|
+
sendAcpMessage(sessionId, prompt, timeoutMs) {
|
|
200
|
+
return this.withSerializedAcpPrompt(sessionId, () => this.executeAcpMessage(sessionId, prompt, timeoutMs));
|
|
201
|
+
}
|
|
202
|
+
withSerializedAcpPrompt(sessionId, task) {
|
|
203
|
+
const limiter = this.getAcpPromptLimiter(sessionId);
|
|
204
|
+
const result = limiter(task);
|
|
205
|
+
const cleanup = () => this.deleteAcpPromptLimiterIfDrained(sessionId, limiter);
|
|
206
|
+
result.then(cleanup, cleanup);
|
|
207
|
+
return result;
|
|
208
|
+
}
|
|
209
|
+
clearQueuedAcpPrompts(sessionId) {
|
|
210
|
+
const limiter = this.acpPromptLimiters.get(sessionId);
|
|
211
|
+
if (!limiter) {
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
limiter.clearQueue();
|
|
215
|
+
this.deleteAcpPromptLimiterIfDrained(sessionId, limiter);
|
|
216
|
+
}
|
|
217
|
+
deleteAcpPromptLimiterIfDrained(sessionId, limiter) {
|
|
218
|
+
if (this.acpPromptLimiters.get(sessionId) === limiter &&
|
|
219
|
+
limiter.activeCount === 0 &&
|
|
220
|
+
limiter.pendingCount === 0) {
|
|
221
|
+
this.acpPromptLimiters.delete(sessionId);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
getAcpPromptLimiter(sessionId) {
|
|
225
|
+
const existing = this.acpPromptLimiters.get(sessionId);
|
|
226
|
+
if (existing) {
|
|
227
|
+
return existing;
|
|
228
|
+
}
|
|
229
|
+
const limiter = pLimit({ concurrency: 1, rejectOnClear: true });
|
|
230
|
+
this.acpPromptLimiters.set(sessionId, limiter);
|
|
231
|
+
return limiter;
|
|
232
|
+
}
|
|
233
|
+
async executeAcpMessage(sessionId, prompt, timeoutMs) {
|
|
182
234
|
const workspaceId = this.acpEventProcessor.getWorkspaceId(sessionId);
|
|
183
235
|
this.acpEventProcessor.beginPromptTurn(sessionId);
|
|
184
236
|
this.sessionDomainService.setRuntimeSnapshot(sessionId, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.service.js","sourceRoot":"","sources":["../../../../../../../src/backend/services/session/service/lifecycle/session.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.service.js","sourceRoot":"","sources":["../../../../../../../src/backend/services/session/service/lifecycle/session.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,6 +63,7 @@ vi.mock('./session.repository', () => ({
|
|
|
63
63
|
markWorkspaceHasHadSessions: vi.fn(),
|
|
64
64
|
updateSession: vi.fn(),
|
|
65
65
|
deleteSession: vi.fn(),
|
|
66
|
+
recoverStaleRunningSessions: vi.fn(),
|
|
66
67
|
},
|
|
67
68
|
}));
|
|
68
69
|
vi.mock('./session.prompt-builder', () => ({
|
|
@@ -94,6 +95,15 @@ function mockCreatedAcpClient(acpHandle) {
|
|
|
94
95
|
return Promise.resolve(acpHandle);
|
|
95
96
|
});
|
|
96
97
|
}
|
|
98
|
+
function createDeferred() {
|
|
99
|
+
let resolvePromise;
|
|
100
|
+
let rejectPromise;
|
|
101
|
+
const promise = new Promise((resolve, reject) => {
|
|
102
|
+
resolvePromise = resolve;
|
|
103
|
+
rejectPromise = reject;
|
|
104
|
+
});
|
|
105
|
+
return { promise, resolve: resolvePromise, reject: rejectPromise };
|
|
106
|
+
}
|
|
97
107
|
describe('SessionService', () => {
|
|
98
108
|
beforeEach(() => {
|
|
99
109
|
vi.clearAllMocks();
|
|
@@ -566,6 +576,194 @@ describe('SessionService', () => {
|
|
|
566
576
|
await sessionService.stopSession('session-1');
|
|
567
577
|
expect(clearQueuedWorkSpy).toHaveBeenCalledWith('session-1', { emitSnapshot: true });
|
|
568
578
|
});
|
|
579
|
+
it('rejects queued ACP prompts during manual stop', async () => {
|
|
580
|
+
const firstPrompt = createDeferred();
|
|
581
|
+
vi.mocked(acpRuntimeManager.isStopInProgress).mockReturnValue(false);
|
|
582
|
+
vi.mocked(acpRuntimeManager.sendPrompt).mockReturnValueOnce(firstPrompt.promise);
|
|
583
|
+
vi.mocked(acpRuntimeManager.stopClient).mockResolvedValue();
|
|
584
|
+
vi.mocked(sessionRepository.updateSession).mockResolvedValue({});
|
|
585
|
+
const firstSend = sessionService.sendAcpMessage('session-queued-stop', [
|
|
586
|
+
{ type: 'text', text: 'first' },
|
|
587
|
+
]);
|
|
588
|
+
await Promise.resolve();
|
|
589
|
+
expect(acpRuntimeManager.sendPrompt).toHaveBeenCalledTimes(1);
|
|
590
|
+
const secondSend = sessionService.sendAcpMessage('session-queued-stop', [
|
|
591
|
+
{ type: 'text', text: 'second' },
|
|
592
|
+
]);
|
|
593
|
+
const secondRejection = expect(secondSend).rejects.toMatchObject({ name: 'AbortError' });
|
|
594
|
+
await Promise.resolve();
|
|
595
|
+
expect(acpRuntimeManager.sendPrompt).toHaveBeenCalledTimes(1);
|
|
596
|
+
await sessionService.stopSession('session-queued-stop');
|
|
597
|
+
await secondRejection;
|
|
598
|
+
expect(acpRuntimeManager.sendPrompt).toHaveBeenCalledTimes(1);
|
|
599
|
+
firstPrompt.resolve({ stopReason: 'end_turn' });
|
|
600
|
+
await expect(firstSend).resolves.toBe('end_turn');
|
|
601
|
+
expect(acpRuntimeManager.sendPrompt).toHaveBeenCalledTimes(1);
|
|
602
|
+
});
|
|
603
|
+
it('rejects queued ACP prompts during unexpected runtime exit', async () => {
|
|
604
|
+
const session = unsafeCoerce({
|
|
605
|
+
id: 'session-runtime-exit',
|
|
606
|
+
workspaceId: 'workspace-1',
|
|
607
|
+
status: SessionStatus.IDLE,
|
|
608
|
+
workflow: 'default',
|
|
609
|
+
model: 'sonnet',
|
|
610
|
+
provider: 'CLAUDE',
|
|
611
|
+
providerSessionId: null,
|
|
612
|
+
});
|
|
613
|
+
const workspace = unsafeCoerce({
|
|
614
|
+
id: 'workspace-1',
|
|
615
|
+
worktreePath: '/tmp/work',
|
|
616
|
+
branchName: 'feature-branch',
|
|
617
|
+
isAutoGeneratedBranch: false,
|
|
618
|
+
name: 'Workspace A',
|
|
619
|
+
description: null,
|
|
620
|
+
projectId: 'project-1',
|
|
621
|
+
});
|
|
622
|
+
const acpHandle = unsafeCoerce({
|
|
623
|
+
getPid: vi.fn().mockReturnValue(456),
|
|
624
|
+
isPromptInFlight: false,
|
|
625
|
+
configOptions: [],
|
|
626
|
+
});
|
|
627
|
+
vi.mocked(sessionRepository.getSessionById).mockResolvedValue(session);
|
|
628
|
+
vi.mocked(sessionRepository.getWorkspaceById).mockResolvedValue(workspace);
|
|
629
|
+
vi.mocked(sessionRepository.markWorkspaceHasHadSessions).mockResolvedValue();
|
|
630
|
+
vi.mocked(sessionRepository.updateSession).mockResolvedValue(session);
|
|
631
|
+
vi.mocked(sessionPromptBuilder.shouldInjectBranchRename).mockReturnValue(false);
|
|
632
|
+
vi.mocked(sessionPromptBuilder.buildSystemPrompt).mockReturnValue({
|
|
633
|
+
workflowPrompt: undefined,
|
|
634
|
+
systemPrompt: undefined,
|
|
635
|
+
injectedBranchRename: false,
|
|
636
|
+
});
|
|
637
|
+
mockCreatedAcpClient(acpHandle);
|
|
638
|
+
await sessionService.getOrCreateSessionClient('session-runtime-exit');
|
|
639
|
+
const acpHandlers = vi.mocked(acpRuntimeManager.getOrCreateClient).mock.calls[0][2];
|
|
640
|
+
const firstPrompt = createDeferred();
|
|
641
|
+
vi.mocked(acpRuntimeManager.sendPrompt).mockReturnValueOnce(firstPrompt.promise);
|
|
642
|
+
const firstSend = sessionService.sendAcpMessage('session-runtime-exit', [
|
|
643
|
+
{ type: 'text', text: 'first' },
|
|
644
|
+
]);
|
|
645
|
+
await Promise.resolve();
|
|
646
|
+
expect(acpRuntimeManager.sendPrompt).toHaveBeenCalledTimes(1);
|
|
647
|
+
const secondSend = sessionService.sendAcpMessage('session-runtime-exit', [
|
|
648
|
+
{ type: 'text', text: 'second' },
|
|
649
|
+
]);
|
|
650
|
+
const secondRejection = expect(secondSend).rejects.toMatchObject({ name: 'AbortError' });
|
|
651
|
+
await Promise.resolve();
|
|
652
|
+
expect(acpRuntimeManager.sendPrompt).toHaveBeenCalledTimes(1);
|
|
653
|
+
await acpHandlers.onExit('session-runtime-exit', 1);
|
|
654
|
+
await secondRejection;
|
|
655
|
+
expect(acpRuntimeManager.sendPrompt).toHaveBeenCalledTimes(1);
|
|
656
|
+
firstPrompt.resolve({ stopReason: 'end_turn' });
|
|
657
|
+
await expect(firstSend).resolves.toBe('end_turn');
|
|
658
|
+
expect(acpRuntimeManager.sendPrompt).toHaveBeenCalledTimes(1);
|
|
659
|
+
});
|
|
660
|
+
it('finalizes orphaned ACP tool calls during unexpected runtime exit', async () => {
|
|
661
|
+
const session = unsafeCoerce({
|
|
662
|
+
id: 'session-runtime-exit',
|
|
663
|
+
workspaceId: 'workspace-1',
|
|
664
|
+
workflow: 'default',
|
|
665
|
+
model: 'sonnet',
|
|
666
|
+
provider: 'CLAUDE',
|
|
667
|
+
providerSessionId: null,
|
|
668
|
+
});
|
|
669
|
+
const workspace = unsafeCoerce({
|
|
670
|
+
id: 'workspace-1',
|
|
671
|
+
worktreePath: '/tmp/work',
|
|
672
|
+
branchName: 'feature-branch',
|
|
673
|
+
isAutoGeneratedBranch: false,
|
|
674
|
+
name: 'Workspace A',
|
|
675
|
+
description: null,
|
|
676
|
+
projectId: 'project-1',
|
|
677
|
+
});
|
|
678
|
+
const acpHandle = unsafeCoerce({
|
|
679
|
+
getPid: vi.fn().mockReturnValue(456),
|
|
680
|
+
isPromptInFlight: false,
|
|
681
|
+
configOptions: [],
|
|
682
|
+
});
|
|
683
|
+
vi.mocked(sessionRepository.getSessionById).mockResolvedValue(session);
|
|
684
|
+
vi.mocked(sessionRepository.getWorkspaceById).mockResolvedValue(workspace);
|
|
685
|
+
vi.mocked(sessionRepository.markWorkspaceHasHadSessions).mockResolvedValue();
|
|
686
|
+
vi.mocked(sessionRepository.updateSession).mockResolvedValue(session);
|
|
687
|
+
vi.mocked(sessionPromptBuilder.shouldInjectBranchRename).mockReturnValue(false);
|
|
688
|
+
vi.mocked(sessionPromptBuilder.buildSystemPrompt).mockReturnValue({
|
|
689
|
+
workflowPrompt: undefined,
|
|
690
|
+
systemPrompt: undefined,
|
|
691
|
+
injectedBranchRename: false,
|
|
692
|
+
});
|
|
693
|
+
mockCreatedAcpClient(acpHandle);
|
|
694
|
+
await sessionService.getOrCreateSessionClient('session-runtime-exit');
|
|
695
|
+
const pendingToolCalls = getAcpProcessorState().pendingAcpToolCalls;
|
|
696
|
+
pendingToolCalls.set('session-runtime-exit', new Map([
|
|
697
|
+
[
|
|
698
|
+
'call-1',
|
|
699
|
+
{
|
|
700
|
+
toolUseId: 'call-1',
|
|
701
|
+
toolName: 'Run pwd',
|
|
702
|
+
acpKind: 'execute',
|
|
703
|
+
},
|
|
704
|
+
],
|
|
705
|
+
]));
|
|
706
|
+
const emitDeltaSpy = vi.spyOn(sessionDomainService, 'emitDelta');
|
|
707
|
+
const appendClaudeEventSpy = vi
|
|
708
|
+
.spyOn(sessionDomainService, 'appendClaudeEvent')
|
|
709
|
+
.mockReturnValue(77);
|
|
710
|
+
const acpHandlers = vi.mocked(acpRuntimeManager.getOrCreateClient).mock.calls[0][2];
|
|
711
|
+
await acpHandlers.onExit('session-runtime-exit', 1);
|
|
712
|
+
expect(emitDeltaSpy).toHaveBeenCalledWith('session-runtime-exit', expect.objectContaining({
|
|
713
|
+
type: 'tool_progress',
|
|
714
|
+
tool_use_id: 'call-1',
|
|
715
|
+
tool_name: 'Run pwd',
|
|
716
|
+
acpStatus: 'failed',
|
|
717
|
+
elapsed_time_seconds: 0,
|
|
718
|
+
}));
|
|
719
|
+
expect(appendClaudeEventSpy).toHaveBeenCalledWith('session-runtime-exit', expect.objectContaining({
|
|
720
|
+
type: 'user',
|
|
721
|
+
message: expect.objectContaining({
|
|
722
|
+
content: [
|
|
723
|
+
expect.objectContaining({
|
|
724
|
+
type: 'tool_result',
|
|
725
|
+
tool_use_id: 'call-1',
|
|
726
|
+
is_error: true,
|
|
727
|
+
}),
|
|
728
|
+
],
|
|
729
|
+
}),
|
|
730
|
+
}));
|
|
731
|
+
expect(pendingToolCalls.has('session-runtime-exit')).toBe(false);
|
|
732
|
+
});
|
|
733
|
+
it('keeps active ACP prompt serialization during manual stop', async () => {
|
|
734
|
+
const firstPrompt = createDeferred();
|
|
735
|
+
const thirdPrompt = createDeferred();
|
|
736
|
+
vi.mocked(acpRuntimeManager.isStopInProgress).mockReturnValue(false);
|
|
737
|
+
vi.mocked(acpRuntimeManager.sendPrompt)
|
|
738
|
+
.mockReturnValueOnce(firstPrompt.promise)
|
|
739
|
+
.mockReturnValueOnce(thirdPrompt.promise);
|
|
740
|
+
vi.mocked(acpRuntimeManager.stopClient).mockResolvedValue();
|
|
741
|
+
vi.mocked(sessionRepository.updateSession).mockResolvedValue({});
|
|
742
|
+
const firstSend = sessionService.sendAcpMessage('session-active-stop', [
|
|
743
|
+
{ type: 'text', text: 'first' },
|
|
744
|
+
]);
|
|
745
|
+
await Promise.resolve();
|
|
746
|
+
expect(acpRuntimeManager.sendPrompt).toHaveBeenCalledTimes(1);
|
|
747
|
+
const secondSend = sessionService.sendAcpMessage('session-active-stop', [
|
|
748
|
+
{ type: 'text', text: 'second' },
|
|
749
|
+
]);
|
|
750
|
+
const secondRejection = expect(secondSend).rejects.toMatchObject({ name: 'AbortError' });
|
|
751
|
+
await Promise.resolve();
|
|
752
|
+
expect(acpRuntimeManager.sendPrompt).toHaveBeenCalledTimes(1);
|
|
753
|
+
await sessionService.stopSession('session-active-stop');
|
|
754
|
+
await secondRejection;
|
|
755
|
+
const thirdSend = sessionService.sendAcpMessage('session-active-stop', [
|
|
756
|
+
{ type: 'text', text: 'third' },
|
|
757
|
+
]);
|
|
758
|
+
await Promise.resolve();
|
|
759
|
+
expect(acpRuntimeManager.sendPrompt).toHaveBeenCalledTimes(1);
|
|
760
|
+
firstPrompt.resolve({ stopReason: 'end_turn' });
|
|
761
|
+
await expect(firstSend).resolves.toBe('end_turn');
|
|
762
|
+
await Promise.resolve();
|
|
763
|
+
expect(acpRuntimeManager.sendPrompt).toHaveBeenCalledTimes(2);
|
|
764
|
+
thirdPrompt.resolve({ stopReason: 'end_turn' });
|
|
765
|
+
await expect(thirdSend).resolves.toBe('end_turn');
|
|
766
|
+
});
|
|
569
767
|
it('clears in-memory session state after manual stop when no clients are connected', async () => {
|
|
570
768
|
vi.mocked(acpRuntimeManager.isStopInProgress).mockReturnValue(false);
|
|
571
769
|
vi.mocked(acpRuntimeManager.stopClient).mockResolvedValue();
|
|
@@ -712,19 +910,71 @@ describe('SessionService', () => {
|
|
|
712
910
|
expect(markSessionIdle).toHaveBeenCalledWith('workspace-1', 'session-1');
|
|
713
911
|
expect(pendingToolCalls.has('session-1')).toBe(false);
|
|
714
912
|
});
|
|
715
|
-
it('
|
|
913
|
+
it('persists transcript before deleting ratchet session record during manual stop', async () => {
|
|
914
|
+
const startedAt = new Date('2026-02-25T12:00:00.000Z');
|
|
915
|
+
const transcript = [
|
|
916
|
+
unsafeCoerce({
|
|
917
|
+
id: 'message-1',
|
|
918
|
+
source: 'assistant',
|
|
919
|
+
text: 'Fixed the failing check',
|
|
920
|
+
timestamp: '2026-02-25T12:01:00.000Z',
|
|
921
|
+
order: 0,
|
|
922
|
+
}),
|
|
923
|
+
];
|
|
924
|
+
const transcriptSpy = vi
|
|
925
|
+
.spyOn(sessionDomainService, 'getTranscriptSnapshot')
|
|
926
|
+
.mockReturnValue(transcript);
|
|
716
927
|
vi.mocked(acpRuntimeManager.isStopInProgress).mockReturnValue(false);
|
|
717
928
|
vi.mocked(acpRuntimeManager.stopClient).mockResolvedValue();
|
|
718
929
|
vi.mocked(sessionRepository.getSessionById).mockResolvedValue(unsafeCoerce({
|
|
719
930
|
id: 'session-1',
|
|
720
931
|
workspaceId: 'workspace-1',
|
|
932
|
+
name: 'Auto-Fix',
|
|
721
933
|
workflow: 'ratchet',
|
|
934
|
+
provider: 'CLAUDE',
|
|
935
|
+
model: 'sonnet',
|
|
936
|
+
createdAt: startedAt,
|
|
722
937
|
}));
|
|
723
938
|
vi.mocked(sessionRepository.updateSession).mockResolvedValue({});
|
|
724
939
|
vi.mocked(sessionRepository.deleteSession).mockResolvedValue({});
|
|
940
|
+
try {
|
|
941
|
+
await sessionService.stopSession('session-1');
|
|
942
|
+
expect(mockClearRatchetActiveSessionIfMatching).toHaveBeenCalledWith('workspace-1', 'session-1');
|
|
943
|
+
expect(closedSessionPersistenceService.persistClosedSession).toHaveBeenCalledWith({
|
|
944
|
+
sessionId: 'session-1',
|
|
945
|
+
workspaceId: 'workspace-1',
|
|
946
|
+
worktreePath: '/tmp/work',
|
|
947
|
+
name: 'Auto-Fix',
|
|
948
|
+
workflow: 'ratchet',
|
|
949
|
+
provider: 'CLAUDE',
|
|
950
|
+
model: 'sonnet',
|
|
951
|
+
startedAt,
|
|
952
|
+
messages: transcript,
|
|
953
|
+
});
|
|
954
|
+
expect(sessionRepository.deleteSession).toHaveBeenCalledWith('session-1');
|
|
955
|
+
expect(vi.mocked(closedSessionPersistenceService.persistClosedSession).mock.invocationCallOrder[0]).toBeLessThan(vi.mocked(sessionRepository.deleteSession).mock.invocationCallOrder[0]);
|
|
956
|
+
}
|
|
957
|
+
finally {
|
|
958
|
+
transcriptSpy.mockRestore();
|
|
959
|
+
}
|
|
960
|
+
});
|
|
961
|
+
it('does not delete ratchet session during manual stop when transcript persistence fails', async () => {
|
|
962
|
+
vi.mocked(acpRuntimeManager.isStopInProgress).mockReturnValue(false);
|
|
963
|
+
vi.mocked(acpRuntimeManager.stopClient).mockResolvedValue();
|
|
964
|
+
vi.mocked(sessionRepository.getSessionById).mockResolvedValue(unsafeCoerce({
|
|
965
|
+
id: 'session-1',
|
|
966
|
+
workspaceId: 'workspace-1',
|
|
967
|
+
name: 'Auto-Fix',
|
|
968
|
+
workflow: 'ratchet',
|
|
969
|
+
provider: 'CLAUDE',
|
|
970
|
+
model: 'sonnet',
|
|
971
|
+
createdAt: new Date('2026-02-25T12:00:00.000Z'),
|
|
972
|
+
}));
|
|
973
|
+
vi.mocked(sessionRepository.updateSession).mockResolvedValue({});
|
|
974
|
+
vi.mocked(closedSessionPersistenceService.persistClosedSession).mockRejectedValue(new Error('Disk full'));
|
|
725
975
|
await sessionService.stopSession('session-1');
|
|
726
|
-
expect(
|
|
727
|
-
expect(sessionRepository.deleteSession).
|
|
976
|
+
expect(closedSessionPersistenceService.persistClosedSession).toHaveBeenCalledTimes(1);
|
|
977
|
+
expect(sessionRepository.deleteSession).not.toHaveBeenCalled();
|
|
728
978
|
});
|
|
729
979
|
it('does not delete non-ratchet session during manual stop', async () => {
|
|
730
980
|
vi.mocked(acpRuntimeManager.isStopInProgress).mockReturnValue(false);
|
|
@@ -751,6 +1001,7 @@ describe('SessionService', () => {
|
|
|
751
1001
|
cleanupTransientRatchetSession: false,
|
|
752
1002
|
});
|
|
753
1003
|
expect(mockClearRatchetActiveSessionIfMatching).toHaveBeenCalledWith('workspace-1', 'session-3');
|
|
1004
|
+
expect(closedSessionPersistenceService.persistClosedSession).not.toHaveBeenCalled();
|
|
754
1005
|
expect(sessionRepository.deleteSession).not.toHaveBeenCalled();
|
|
755
1006
|
});
|
|
756
1007
|
it('marks process as stopped when ACP client creation fails', async () => {
|