factory-factory 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/client/assets/abnfDiagram-VRR7QNED-Bz06FkfB.js +1 -0
- package/dist/client/assets/arc--1iscGgN.js +1 -0
- package/dist/client/assets/architectureDiagram-ZJ3FMSHR-Ds-52hDI.js +36 -0
- package/dist/client/assets/blockDiagram-677ZJIJ3-DZwPPZmp.js +132 -0
- package/dist/client/assets/{c4Diagram-AAUBKEIU-CT8hJB-h.js → c4Diagram-LMCZKHZV-RQch21fC.js} +1 -1
- package/dist/client/assets/channel-DFzHt_cl.js +1 -0
- package/dist/client/assets/{chunk-QZHKN3VN-Ce3Q_vrs.js → chunk-2Q5K7J3B-Df6Q19iI.js} +1 -1
- package/dist/client/assets/{chunk-ND2GUHAM-Qhi4WqzZ.js → chunk-32BRIVSS-DlbaZtVC.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-B4C3KvLe.js → chunk-5VM5RSS4-KgkMhS6k.js} +1 -1
- package/dist/client/assets/chunk-EX3LRPZG-DAfTWCem.js +231 -0
- package/dist/client/assets/{chunk-4BX2VUAB-km6NpEMz.js → chunk-JWPE2WC7-D6Y5C5Yz.js} +1 -1
- package/dist/client/assets/chunk-MOJQB5TN-B_P4pqPC.js +88 -0
- package/dist/client/assets/chunk-RYQCIY6F-CzFboHFv.js +1 -0
- package/dist/client/assets/{chunk-727SXJPM-Bp-ts2at.js → chunk-V7JOEXUC-8yT3lW_D.js} +5 -5
- package/dist/client/assets/{chunk-2J33WTMH-B0h8q8fD.js → chunk-VR4S4FIN-B_QG1di-.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-COUWt3oA.js → chunk-XXDRQBXY-CzL4_omu.js} +1 -1
- package/dist/client/assets/classDiagram-OUVF2IWQ-IkvZ4qsF.js +1 -0
- package/dist/client/assets/classDiagram-v2-EOCWNBFH-IkvZ4qsF.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-D6QofwFq.js → cose-bilkent-JH36ORCC-DmZLPx5-.js} +1 -1
- package/dist/client/assets/cynefin-VYW2F7L2-DUejQU5F.js +166 -0
- package/dist/client/assets/cynefinDiagram-TSTJHNR4-BjallChk.js +62 -0
- package/dist/client/assets/cytoscape.esm-D3_iZ_3b.js +321 -0
- package/dist/client/assets/dagre-VKFMJZFB-COdOy8Kp.js +4 -0
- package/dist/client/assets/{diagram-KO2AKTUF-B9ABz-Wk.js → diagram-FQU43EPY-C8Xk7Fyh.js} +3 -3
- package/dist/client/assets/diagram-G47NLZAW-B_qqKBqq.js +24 -0
- package/dist/client/assets/diagram-NH7WQ7WH-DS1-6fzl.js +24 -0
- package/dist/client/assets/diagram-OA4YK3LP-enaDU5V4.js +30 -0
- package/dist/client/assets/diagram-WEI45ONY-Cx6LFRuh.js +41 -0
- package/dist/client/assets/ebnfDiagram-CCIWWBDH-DVGMcsj6.js +1 -0
- package/dist/client/assets/erDiagram-Q63AITRT-DCsDfIB_.js +85 -0
- package/dist/client/assets/flowDiagram-23GEKE2U-C5QCjsF8.js +156 -0
- package/dist/client/assets/ganttDiagram-NO4QXBWP-CLvtSsZ-.js +292 -0
- package/dist/client/assets/gitGraphDiagram-IHSO6WYX-BS6vNDTo.js +106 -0
- package/dist/client/assets/{graph--OzhPTMs.js → graph-DOmOIIwC.js} +1 -1
- package/dist/client/assets/index-0-xpZu6O.js +689 -0
- package/dist/client/assets/index-CxLzpVmH.css +1 -0
- package/dist/client/assets/infoDiagram-FWYZ7A6U-CIuYQAoE.js +2 -0
- package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-BLrvV5ke.js → ishikawaDiagram-FXEZZL3T-DeVUVV8X.js} +5 -5
- package/dist/client/assets/{journeyDiagram-JHISSGLW-B2-TMwJI.js → journeyDiagram-5HDEW3XC-BsmmwqMS.js} +3 -3
- package/dist/client/assets/{kanban-definition-UN3LZRKU-B5mGKgYF.js → kanban-definition-HUTT4EX6-D-mDPzR0.js} +20 -20
- package/dist/client/assets/katex-HP8lGamR.js +257 -0
- package/dist/client/assets/layout-D-LzfAck.js +1 -0
- package/dist/client/assets/{linear-ConE9euY.js → linear-BSdMIO3_.js} +1 -1
- package/dist/client/assets/map-DxJ2ADlA.js +1 -0
- package/dist/client/assets/{mindmap-definition-RKZ34NQL-B0BaMk8D.js → mindmap-definition-LN4V7U3C-DOuSISM2.js} +3 -3
- package/dist/client/assets/{mobile-baseline-DWCt7ZGJ.js → mobile-baseline-C-1Tc5b_.js} +1 -1
- package/dist/client/assets/pegDiagram-2B236MQR-C8CMsmVK.js +1 -0
- package/dist/client/assets/pieDiagram-ENE6RG2P-B1UfUhQO.js +39 -0
- package/dist/client/assets/{quadrantDiagram-W4KKPZXB-DDbeggF4.js → quadrantDiagram-ABIIQ3AL-DujmyYtF.js} +3 -3
- package/dist/client/assets/railroadDiagram-RFXS5EU6-DaF-IoiS.js +1 -0
- package/dist/client/assets/{requirementDiagram-4Y6WPE33-Cc3ozz7U.js → requirementDiagram-TGXJPOKE-dfpBVIPb.js} +1 -1
- package/dist/client/assets/sankeyDiagram-HTMAVEWB-BYCvwHlS.js +40 -0
- package/dist/client/assets/sequenceDiagram-DBY2YBRQ-DOdQoxUf.js +162 -0
- package/dist/client/assets/sizeCapture-X5ZJPWSS-9sUXw3Q8.js +1 -0
- package/dist/client/assets/stateDiagram-2N3HPSRC-QZszWUA_.js +1 -0
- package/dist/client/assets/stateDiagram-v2-6OUMAXLB-CueME36n.js +1 -0
- package/dist/client/assets/swimlanes-5IMT3BWC-CtEVTRNN.js +2 -0
- package/dist/client/assets/swimlanesDiagram-G3AALYLV-DITFxuwY.js +8 -0
- package/dist/client/assets/{terminal-instance-CDKJdDaO.js → terminal-instance-nU4PXHMm.js} +1 -1
- package/dist/client/assets/{timeline-definition-PNZ67QCA-CyxBqgqv.js → timeline-definition-FHXFAJF6-0fOfnsxU.js} +3 -3
- package/dist/client/assets/vennDiagram-L72KCM5P-5eWMXdkg.js +34 -0
- package/dist/client/assets/{wardleyDiagram-YWT4CUSO-CjJBpd3P.js → wardleyDiagram-EHGQE667-BwNCxx2w.js} +4 -4
- package/dist/client/assets/xychartDiagram-FW5EYKEG-VIc8vlw6.js +7 -0
- package/dist/client/index.html +2 -2
- package/dist/prisma/generated/browser.d.ts +4 -0
- package/dist/prisma/generated/browser.d.ts.map +1 -1
- package/dist/prisma/generated/client.d.ts +4 -0
- package/dist/prisma/generated/client.d.ts.map +1 -1
- package/dist/prisma/generated/commonInputTypes.d.ts +88 -148
- package/dist/prisma/generated/commonInputTypes.d.ts.map +1 -1
- package/dist/prisma/generated/enums.d.ts +0 -6
- package/dist/prisma/generated/enums.d.ts.map +1 -1
- package/dist/prisma/generated/enums.js +0 -5
- package/dist/prisma/generated/enums.js.map +1 -1
- package/dist/prisma/generated/internal/class.d.ts +16 -2
- package/dist/prisma/generated/internal/class.d.ts.map +1 -1
- package/dist/prisma/generated/internal/class.js +6 -6
- package/dist/prisma/generated/internal/class.js.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespace.d.ts +370 -47
- package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespace.js +51 -37
- package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +52 -34
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.js +49 -35
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
- package/dist/prisma/generated/models/Workspace.d.ts +1017 -2537
- package/dist/prisma/generated/models/Workspace.d.ts.map +1 -1
- package/dist/prisma/generated/models/WorkspaceAutoIteration.d.ts +524 -0
- package/dist/prisma/generated/models/WorkspaceAutoIteration.d.ts.map +1 -0
- package/dist/prisma/generated/models/WorkspaceAutoIteration.js +2 -0
- package/dist/prisma/generated/models/WorkspaceAutoIteration.js.map +1 -0
- package/dist/prisma/generated/models/WorkspacePR.d.ts +858 -0
- package/dist/prisma/generated/models/WorkspacePR.d.ts.map +1 -0
- package/dist/prisma/generated/models/WorkspacePR.js +2 -0
- package/dist/prisma/generated/models/WorkspacePR.js.map +1 -0
- package/dist/prisma/generated/models/WorkspaceRatchet.d.ts +593 -0
- package/dist/prisma/generated/models/WorkspaceRatchet.d.ts.map +1 -0
- package/dist/prisma/generated/models/WorkspaceRatchet.js +2 -0
- package/dist/prisma/generated/models/WorkspaceRatchet.js.map +1 -0
- package/dist/prisma/generated/models/WorkspaceRunScript.d.ts +631 -0
- package/dist/prisma/generated/models/WorkspaceRunScript.d.ts.map +1 -0
- package/dist/prisma/generated/models/WorkspaceRunScript.js +2 -0
- package/dist/prisma/generated/models/WorkspaceRunScript.js.map +1 -0
- package/dist/prisma/generated/models.d.ts +4 -0
- package/dist/prisma/generated/models.d.ts.map +1 -1
- package/dist/src/backend/app-context.d.ts +4 -1
- package/dist/src/backend/app-context.d.ts.map +1 -1
- package/dist/src/backend/app-context.js +8 -6
- package/dist/src/backend/app-context.js.map +1 -1
- package/dist/src/backend/interceptors/auto-branch-rename.d.ts +19 -0
- package/dist/src/backend/interceptors/auto-branch-rename.d.ts.map +1 -0
- package/dist/src/backend/interceptors/auto-branch-rename.js +76 -0
- package/dist/src/backend/interceptors/auto-branch-rename.js.map +1 -0
- package/dist/src/backend/interceptors/branch-naming.interceptor.d.ts +4 -0
- package/dist/src/backend/interceptors/branch-naming.interceptor.d.ts.map +1 -0
- package/dist/src/backend/interceptors/branch-naming.interceptor.js +391 -0
- package/dist/src/backend/interceptors/branch-naming.interceptor.js.map +1 -0
- package/dist/src/backend/interceptors/branch-naming.interceptor.test.d.ts +2 -0
- package/dist/src/backend/interceptors/branch-naming.interceptor.test.d.ts.map +1 -0
- package/dist/src/backend/interceptors/branch-naming.interceptor.test.js +780 -0
- package/dist/src/backend/interceptors/branch-naming.interceptor.test.js.map +1 -0
- package/dist/src/backend/interceptors/branch-rename.utils.d.ts +1 -1
- package/dist/src/backend/interceptors/branch-rename.utils.d.ts.map +1 -1
- package/dist/src/backend/interceptors/branch-rename.utils.js +10 -14
- package/dist/src/backend/interceptors/branch-rename.utils.js.map +1 -1
- package/dist/src/backend/interceptors/index.d.ts.map +1 -1
- package/dist/src/backend/interceptors/index.js +2 -6
- package/dist/src/backend/interceptors/index.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 +103 -53
- package/dist/src/backend/orchestration/data-backup.service.js.map +1 -1
- package/dist/src/backend/orchestration/data-backup.service.test.js +186 -47
- package/dist/src/backend/orchestration/data-backup.service.test.js.map +1 -1
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts +7 -5
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.js +116 -60
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.js.map +1 -1
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js +262 -104
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js.map +1 -1
- package/dist/src/backend/orchestration/event-collector-lifecycle.integration.test.js +2 -2
- package/dist/src/backend/orchestration/event-collector-lifecycle.integration.test.js.map +1 -1
- package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts +5 -6
- package/dist/src/backend/orchestration/event-collector.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/event-collector.orchestrator.js +12 -35
- package/dist/src/backend/orchestration/event-collector.orchestrator.js.map +1 -1
- package/dist/src/backend/orchestration/event-collector.orchestrator.test.js +42 -26
- package/dist/src/backend/orchestration/event-collector.orchestrator.test.js.map +1 -1
- package/dist/src/backend/orchestration/reconciliation.service.d.ts +4 -3
- package/dist/src/backend/orchestration/reconciliation.service.d.ts.map +1 -1
- package/dist/src/backend/orchestration/reconciliation.service.js +26 -38
- package/dist/src/backend/orchestration/reconciliation.service.js.map +1 -1
- package/dist/src/backend/orchestration/reconciliation.service.test.js +3 -3
- package/dist/src/backend/orchestration/reconciliation.service.test.js.map +1 -1
- package/dist/src/backend/orchestration/scheduler.service.d.ts +4 -3
- package/dist/src/backend/orchestration/scheduler.service.d.ts.map +1 -1
- package/dist/src/backend/orchestration/scheduler.service.js +40 -43
- package/dist/src/backend/orchestration/scheduler.service.js.map +1 -1
- package/dist/src/backend/orchestration/scheduler.service.test.js +52 -10
- package/dist/src/backend/orchestration/scheduler.service.test.js.map +1 -1
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts +5 -5
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js +20 -61
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.js.map +1 -1
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js +29 -3
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js.map +1 -1
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts +3 -37
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.js +2 -2
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.js.map +1 -1
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js +9 -9
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.test.js.map +1 -1
- package/dist/src/backend/orchestration/workspace-init.orchestrator.js +3 -3
- package/dist/src/backend/orchestration/workspace-init.orchestrator.js.map +1 -1
- package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js +18 -18
- package/dist/src/backend/orchestration/workspace-init.orchestrator.test.js.map +1 -1
- package/dist/src/backend/orchestration/workspace-notification-delivery.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/workspace-notification-delivery.orchestrator.js +8 -1
- package/dist/src/backend/orchestration/workspace-notification-delivery.orchestrator.js.map +1 -1
- package/dist/src/backend/orchestration/workspace-notification-delivery.orchestrator.test.js +23 -0
- package/dist/src/backend/orchestration/workspace-notification-delivery.orchestrator.test.js.map +1 -1
- package/dist/src/backend/routers/websocket/chat.handler.d.ts.map +1 -1
- package/dist/src/backend/routers/websocket/chat.handler.js +10 -6
- package/dist/src/backend/routers/websocket/chat.handler.js.map +1 -1
- package/dist/src/backend/routers/websocket/chat.handler.test.js +37 -11
- package/dist/src/backend/routers/websocket/chat.handler.test.js.map +1 -1
- package/dist/src/backend/routers/websocket/index.d.ts +1 -2
- package/dist/src/backend/routers/websocket/index.d.ts.map +1 -1
- package/dist/src/backend/routers/websocket/index.js +1 -2
- package/dist/src/backend/routers/websocket/index.js.map +1 -1
- package/dist/src/backend/routers/websocket/log-stream-dev.handler.test.d.ts +2 -0
- package/dist/src/backend/routers/websocket/log-stream-dev.handler.test.d.ts.map +1 -0
- package/dist/src/backend/routers/websocket/{dev-logs.handler.test.js → log-stream-dev.handler.test.js} +2 -2
- package/dist/src/backend/routers/websocket/log-stream-dev.handler.test.js.map +1 -0
- package/dist/src/backend/routers/websocket/log-stream-post-run.handler.test.d.ts +2 -0
- package/dist/src/backend/routers/websocket/log-stream-post-run.handler.test.d.ts.map +1 -0
- package/dist/src/backend/routers/websocket/{post-run-logs.handler.test.js → log-stream-post-run.handler.test.js} +2 -2
- package/dist/src/backend/routers/websocket/log-stream-post-run.handler.test.js.map +1 -0
- package/dist/src/backend/routers/websocket/log-stream.handler.d.ts +8 -0
- package/dist/src/backend/routers/websocket/log-stream.handler.d.ts.map +1 -0
- package/dist/src/backend/routers/websocket/log-stream.handler.js +35 -0
- package/dist/src/backend/routers/websocket/log-stream.handler.js.map +1 -0
- package/dist/src/backend/routers/websocket/terminal.handler.d.ts.map +1 -1
- package/dist/src/backend/routers/websocket/terminal.handler.js +4 -2
- package/dist/src/backend/routers/websocket/terminal.handler.js.map +1 -1
- package/dist/src/backend/routers/websocket/terminal.handler.test.js +37 -0
- package/dist/src/backend/routers/websocket/terminal.handler.test.js.map +1 -1
- package/dist/src/backend/routers/websocket/websocket.integration.test.js +6 -9
- package/dist/src/backend/routers/websocket/websocket.integration.test.js.map +1 -1
- package/dist/src/backend/server.d.ts.map +1 -1
- package/dist/src/backend/server.js +12 -3
- package/dist/src/backend/server.js.map +1 -1
- package/dist/src/backend/server.upgrade.test.js +35 -6
- package/dist/src/backend/server.upgrade.test.js.map +1 -1
- package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.test.js +15 -0
- package/dist/src/backend/services/auto-iteration/service/auto-iteration.service.test.js.map +1 -1
- package/dist/src/backend/services/auto-iteration/service/git-ops.d.ts.map +1 -1
- package/dist/src/backend/services/auto-iteration/service/git-ops.integration.test.d.ts +2 -0
- package/dist/src/backend/services/auto-iteration/service/git-ops.integration.test.d.ts.map +1 -0
- package/dist/src/backend/services/auto-iteration/service/git-ops.integration.test.js +86 -0
- package/dist/src/backend/services/auto-iteration/service/git-ops.integration.test.js.map +1 -0
- package/dist/src/backend/services/auto-iteration/service/git-ops.js +37 -2
- package/dist/src/backend/services/auto-iteration/service/git-ops.js.map +1 -1
- package/dist/src/backend/services/auto-iteration/service/test-runner.service.d.ts.map +1 -1
- package/dist/src/backend/services/auto-iteration/service/test-runner.service.js +9 -8
- package/dist/src/backend/services/auto-iteration/service/test-runner.service.js.map +1 -1
- package/dist/src/backend/services/auto-iteration/service/test-runner.service.test.d.ts +2 -0
- package/dist/src/backend/services/auto-iteration/service/test-runner.service.test.d.ts.map +1 -0
- package/dist/src/backend/services/auto-iteration/service/test-runner.service.test.js +80 -0
- package/dist/src/backend/services/auto-iteration/service/test-runner.service.test.js.map +1 -0
- package/dist/src/backend/services/check-single-writer.test.js +303 -32
- package/dist/src/backend/services/check-single-writer.test.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/env-schemas.d.ts +46 -46
- package/dist/src/backend/services/github/service/bridges.d.ts +6 -5
- package/dist/src/backend/services/github/service/bridges.d.ts.map +1 -1
- package/dist/src/backend/services/github/service/github-cli/mappers.d.ts +5 -2
- package/dist/src/backend/services/github/service/github-cli/mappers.d.ts.map +1 -1
- package/dist/src/backend/services/github/service/github-cli/mappers.js.map +1 -1
- package/dist/src/backend/services/github/service/github-cli/schemas.d.ts +4 -4
- package/dist/src/backend/services/github/service/github-cli.service.d.ts +5 -1
- 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.map +1 -1
- package/dist/src/backend/services/github/service/index.d.ts +2 -3
- package/dist/src/backend/services/github/service/index.d.ts.map +1 -1
- package/dist/src/backend/services/github/service/index.js +2 -2
- package/dist/src/backend/services/github/service/index.js.map +1 -1
- package/dist/src/backend/services/github/service/pr-fetch-coordinator.d.ts +33 -0
- package/dist/src/backend/services/github/service/pr-fetch-coordinator.d.ts.map +1 -0
- package/dist/src/backend/services/github/service/{pr-fetch-registry.js → pr-fetch-coordinator.js} +80 -69
- package/dist/src/backend/services/github/service/pr-fetch-coordinator.js.map +1 -0
- package/dist/src/backend/services/github/service/pr-fetch-coordinator.test.d.ts +2 -0
- package/dist/src/backend/services/github/service/pr-fetch-coordinator.test.d.ts.map +1 -0
- package/dist/src/backend/services/github/service/pr-fetch-coordinator.test.js +222 -0
- package/dist/src/backend/services/github/service/pr-fetch-coordinator.test.js.map +1 -0
- package/dist/src/backend/services/github/service/pr-snapshot.service.d.ts +12 -11
- package/dist/src/backend/services/github/service/pr-snapshot.service.d.ts.map +1 -1
- package/dist/src/backend/services/github/service/pr-snapshot.service.js +23 -22
- package/dist/src/backend/services/github/service/pr-snapshot.service.js.map +1 -1
- package/dist/src/backend/services/github/service/pr-snapshot.service.test.js +134 -75
- package/dist/src/backend/services/github/service/pr-snapshot.service.test.js.map +1 -1
- package/dist/src/backend/services/job-runner.service.d.ts +24 -0
- package/dist/src/backend/services/job-runner.service.d.ts.map +1 -0
- package/dist/src/backend/services/job-runner.service.js +168 -0
- package/dist/src/backend/services/job-runner.service.js.map +1 -0
- package/dist/src/backend/services/job-runner.service.test.d.ts +2 -0
- package/dist/src/backend/services/job-runner.service.test.d.ts.map +1 -0
- package/dist/src/backend/services/job-runner.service.test.js +498 -0
- package/dist/src/backend/services/job-runner.service.test.js.map +1 -0
- package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts +8 -11
- package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts.map +1 -1
- package/dist/src/backend/services/periodic-task/service/periodic-task.service.js +28 -50
- package/dist/src/backend/services/periodic-task/service/periodic-task.service.js.map +1 -1
- package/dist/src/backend/services/port.service.d.ts.map +1 -1
- package/dist/src/backend/services/port.service.js +4 -0
- package/dist/src/backend/services/port.service.js.map +1 -1
- package/dist/src/backend/services/port.service.test.js +9 -0
- package/dist/src/backend/services/port.service.test.js.map +1 -1
- package/dist/src/backend/services/ratchet/service/bridges.d.ts +24 -7
- package/dist/src/backend/services/ratchet/service/bridges.d.ts.map +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet-active-session.helpers.d.ts.map +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet-active-session.helpers.js +11 -10
- package/dist/src/backend/services/ratchet/service/ratchet-active-session.helpers.js.map +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet-decision-logging.helpers.d.ts +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet-decision-logging.helpers.js +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet-decision-logging.helpers.js.map +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet-fixer-dispatch.helpers.d.ts.map +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet-fixer-dispatch.helpers.js +8 -3
- package/dist/src/backend/services/ratchet/service/ratchet-fixer-dispatch.helpers.js.map +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.d.ts +1 -1
- 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 +103 -95
- 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 +36 -22
- 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.d.ts +6 -8
- package/dist/src/backend/services/ratchet/service/ratchet.service.d.ts.map +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet.service.js +58 -136
- package/dist/src/backend/services/ratchet/service/ratchet.service.js.map +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet.service.test.js +323 -273
- package/dist/src/backend/services/ratchet/service/ratchet.service.test.js.map +1 -1
- package/dist/src/backend/services/ratchet/service/ratchet.types.d.ts +3 -1
- package/dist/src/backend/services/ratchet/service/ratchet.types.d.ts.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 +17 -1
- package/dist/src/backend/services/registry.js.map +1 -1
- package/dist/src/backend/services/resources.integration.test.js +73 -45
- package/dist/src/backend/services/resources.integration.test.js.map +1 -1
- package/dist/src/backend/services/run-script/service/run-script-proxy.service.d.ts +1 -0
- package/dist/src/backend/services/run-script/service/run-script-proxy.service.d.ts.map +1 -1
- package/dist/src/backend/services/run-script/service/run-script-proxy.service.js +25 -2
- package/dist/src/backend/services/run-script/service/run-script-proxy.service.js.map +1 -1
- package/dist/src/backend/services/run-script/service/run-script-proxy.service.test.js +124 -6
- package/dist/src/backend/services/run-script/service/run-script-proxy.service.test.js.map +1 -1
- package/dist/src/backend/services/run-script/service/run-script-state-machine.service.d.ts.map +1 -1
- package/dist/src/backend/services/run-script/service/run-script-state-machine.service.js.map +1 -1
- package/dist/src/backend/services/run-script/service/run-script-state-machine.service.test.js +125 -125
- package/dist/src/backend/services/run-script/service/run-script-state-machine.service.test.js.map +1 -1
- package/dist/src/backend/services/run-script/service/startup-script.service.d.ts.map +1 -1
- package/dist/src/backend/services/run-script/service/startup-script.service.js +20 -5
- package/dist/src/backend/services/run-script/service/startup-script.service.js.map +1 -1
- package/dist/src/backend/services/run-script/service/startup-script.service.test.js +95 -1
- package/dist/src/backend/services/run-script/service/startup-script.service.test.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.js +4 -4
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.test.js +4 -2
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/load-session.handler.test.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/permission-response.handler.d.ts +2 -2
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/permission-response.handler.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/permission-response.handler.js +2 -2
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/permission-response.handler.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/permission-response.handler.test.js +10 -25
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/permission-response.handler.test.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-config-option.handler.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-config-option.handler.js +10 -2
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-config-option.handler.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-config-option.handler.test.js +41 -2
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-config-option.handler.test.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-model.handler.d.ts +2 -2
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-model.handler.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-model.handler.js +4 -4
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-model.handler.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-model.handler.test.js +1 -4
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-model.handler.test.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-thinking-budget.handler.js +2 -2
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-thinking-budget.handler.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-thinking-budget.handler.test.js +2 -2
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/set-thinking-budget.handler.test.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.js +2 -2
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.test.js +2 -2
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/start.handler.test.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.js +2 -2
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/stop.handler.test.js +2 -2
- 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/handlers/user-input.handler.d.ts +3 -2
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/user-input.handler.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/user-input.handler.js +2 -2
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/user-input.handler.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/user-input.handler.test.js +17 -20
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/handlers/user-input.handler.test.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/registry.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/registry.js +15 -6
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/registry.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/types.d.ts +12 -3
- package/dist/src/backend/services/session/service/chat/chat-message-handlers/types.d.ts.map +1 -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 +18 -14
- 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 +7 -1
- 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-provider-resolver.service.test.js +1 -3
- package/dist/src/backend/services/session/service/data/session-provider-resolver.service.test.js.map +1 -1
- package/dist/src/backend/services/session/service/index.d.ts +6 -1
- package/dist/src/backend/services/session/service/index.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/index.js +5 -1
- package/dist/src/backend/services/session/service/index.js.map +1 -1
- package/dist/src/backend/services/session/service/interceptor.bridge.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/interceptor.bridge.js +47 -3
- package/dist/src/backend/services/session/service/interceptor.bridge.js.map +1 -1
- package/dist/src/backend/services/session/service/interceptor.bridge.test.d.ts +2 -0
- package/dist/src/backend/services/session/service/interceptor.bridge.test.d.ts.map +1 -0
- package/dist/src/backend/services/session/service/interceptor.bridge.test.js +83 -0
- package/dist/src/backend/services/session/service/interceptor.bridge.test.js.map +1 -0
- package/dist/src/backend/services/session/service/lifecycle/session-services.d.ts +16 -0
- package/dist/src/backend/services/session/service/lifecycle/session-services.d.ts.map +1 -0
- package/dist/src/backend/services/session/service/lifecycle/session-services.js +79 -0
- package/dist/src/backend/services/session/service/lifecycle/session-services.js.map +1 -0
- package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts +4 -2
- 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 +6 -4
- package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.test.js +10 -11
- package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.test.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.prompt.service.test.d.ts +2 -0
- package/dist/src/backend/services/session/service/lifecycle/session.prompt.service.test.d.ts.map +1 -0
- package/dist/src/backend/services/session/service/lifecycle/session.prompt.service.test.js +142 -0
- package/dist/src/backend/services/session/service/lifecycle/session.prompt.service.test.js.map +1 -0
- package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts +5 -2
- 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.map +1 -1
- 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.d.ts +16 -76
- 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 +21 -215
- 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 +159 -66
- package/dist/src/backend/services/session/service/lifecycle/session.service.test.js.map +1 -1
- package/dist/src/backend/services/settings/resources/data-backup.accessor.d.ts +10 -2
- package/dist/src/backend/services/settings/resources/data-backup.accessor.d.ts.map +1 -1
- package/dist/src/backend/services/settings/resources/data-backup.accessor.js +4 -1
- package/dist/src/backend/services/settings/resources/data-backup.accessor.js.map +1 -1
- package/dist/src/backend/services/settings/resources/user-settings.accessor.d.ts.map +1 -1
- package/dist/src/backend/services/settings/resources/user-settings.accessor.js +1 -0
- package/dist/src/backend/services/settings/resources/user-settings.accessor.js.map +1 -1
- package/dist/src/backend/services/settings/resources/user-settings.accessor.test.d.ts +2 -0
- package/dist/src/backend/services/settings/resources/user-settings.accessor.test.d.ts.map +1 -0
- package/dist/src/backend/services/settings/resources/user-settings.accessor.test.js +24 -0
- package/dist/src/backend/services/settings/resources/user-settings.accessor.test.js.map +1 -0
- package/dist/src/backend/services/terminal/service/terminal-session.service.d.ts +3 -37
- package/dist/src/backend/services/terminal/service/terminal-session.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/resources/workspace-auto-iteration.accessor.d.ts +25 -0
- package/dist/src/backend/services/workspace/resources/workspace-auto-iteration.accessor.d.ts.map +1 -0
- package/dist/src/backend/services/workspace/resources/workspace-auto-iteration.accessor.js +73 -0
- package/dist/src/backend/services/workspace/resources/workspace-auto-iteration.accessor.js.map +1 -0
- package/dist/src/backend/services/workspace/resources/workspace-auto-iteration.accessor.test.d.ts +2 -0
- package/dist/src/backend/services/workspace/resources/workspace-auto-iteration.accessor.test.d.ts.map +1 -0
- package/dist/src/backend/services/workspace/resources/workspace-auto-iteration.accessor.test.js +155 -0
- package/dist/src/backend/services/workspace/resources/workspace-auto-iteration.accessor.test.js.map +1 -0
- package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.d.ts +61 -0
- package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.d.ts.map +1 -0
- package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.js +265 -0
- package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.js.map +1 -0
- package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.test.d.ts +2 -0
- package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.test.d.ts.map +1 -0
- package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.test.js +398 -0
- package/dist/src/backend/services/workspace/resources/workspace-pr.accessor.test.js.map +1 -0
- package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.d.ts +50 -0
- package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.d.ts.map +1 -0
- package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.js +179 -0
- package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.js.map +1 -0
- package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.test.d.ts +2 -0
- package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.test.d.ts.map +1 -0
- package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.test.js +311 -0
- package/dist/src/backend/services/workspace/resources/workspace-ratchet.accessor.test.js.map +1 -0
- package/dist/src/backend/services/workspace/resources/workspace-run-script.accessor.d.ts +33 -0
- package/dist/src/backend/services/workspace/resources/workspace-run-script.accessor.d.ts.map +1 -0
- package/dist/src/backend/services/workspace/resources/workspace-run-script.accessor.js +110 -0
- package/dist/src/backend/services/workspace/resources/workspace-run-script.accessor.js.map +1 -0
- package/dist/src/backend/services/workspace/resources/workspace-run-script.accessor.test.d.ts +2 -0
- package/dist/src/backend/services/workspace/resources/workspace-run-script.accessor.test.d.ts.map +1 -0
- package/dist/src/backend/services/workspace/resources/workspace-run-script.accessor.test.js +192 -0
- package/dist/src/backend/services/workspace/resources/workspace-run-script.accessor.test.js.map +1 -0
- package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts +61 -118
- package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/resources/workspace.accessor.js +186 -426
- package/dist/src/backend/services/workspace/resources/workspace.accessor.js.map +1 -1
- package/dist/src/backend/services/workspace/resources/workspace.accessor.test.js +286 -623
- package/dist/src/backend/services/workspace/resources/workspace.accessor.test.js.map +1 -1
- package/dist/src/backend/services/workspace/service/bridges.d.ts +0 -1
- package/dist/src/backend/services/workspace/service/bridges.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/index.d.ts +3 -3
- package/dist/src/backend/services/workspace/service/index.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/index.js +2 -2
- package/dist/src/backend/services/workspace/service/index.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/creation.service.d.ts +3 -2
- package/dist/src/backend/services/workspace/service/lifecycle/creation.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/creation.service.js +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/creation.service.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js +2 -3
- 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 +117 -387
- package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/data.service.js +7 -11
- package/dist/src/backend/services/workspace/service/lifecycle/data.service.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/data.service.test.js +13 -13
- package/dist/src/backend/services/workspace/service/lifecycle/data.service.test.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.js +13 -30
- package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.test.js +99 -29
- package/dist/src/backend/services/workspace/service/lifecycle/state-machine.service.test.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-auto-iteration.service.d.ts +3 -192
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-auto-iteration.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-auto-iteration.service.js +3 -3
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-auto-iteration.service.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.d.ts +6 -66
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.js +10 -17
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.test.js +16 -4
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-pr-snapshot.service.test.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-ratchet.service.d.ts +6 -230
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-ratchet.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-ratchet.service.js +12 -22
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-ratchet.service.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-relationships.service.d.ts +78 -75
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-relationships.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-run-script.service.d.ts +5 -132
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-run-script.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-run-script.service.js +3 -6
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-run-script.service.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-state-capabilities.test.js +27 -4
- package/dist/src/backend/services/workspace/service/lifecycle/workspace-state-capabilities.test.js.map +1 -1
- package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts +2 -70
- 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-maintenance.service.d.ts +110 -280
- package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.js +4 -3
- package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.js.map +1 -1
- package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.test.js +7 -4
- package/dist/src/backend/services/workspace/service/query/workspace-maintenance.service.test.js.map +1 -1
- package/dist/src/backend/services/workspace/service/query/workspace-notification.service.d.ts +4 -4
- package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts +29 -216
- 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 +91 -139
- 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 +113 -102
- package/dist/src/backend/services/workspace/service/query/workspace-query.service.test.js.map +1 -1
- package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.d.ts +1 -0
- package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.js +1 -1
- package/dist/src/backend/services/workspace/service/snapshot/workspace-snapshot-store.service.js.map +1 -1
- package/dist/src/backend/services/workspace/service/state/kanban-state.d.ts +1 -29
- 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 +0 -191
- package/dist/src/backend/services/workspace/service/state/kanban-state.js.map +1 -1
- package/dist/src/backend/services/workspace/service/state/kanban-state.test.js +2 -410
- package/dist/src/backend/services/workspace/service/state/kanban-state.test.js.map +1 -1
- package/dist/src/backend/services/workspace/service/workspace-domain-exports.test.js +1 -4
- package/dist/src/backend/services/workspace/service/workspace-domain-exports.test.js.map +1 -1
- package/dist/src/backend/services/workspace/service/worktree/worktree-init.test.js +1 -1
- package/dist/src/backend/services/workspace/service/worktree/worktree-init.test.js.map +1 -1
- package/dist/src/backend/services/workspace-depth-triggers.integration.test.d.ts +2 -0
- package/dist/src/backend/services/workspace-depth-triggers.integration.test.d.ts.map +1 -0
- package/dist/src/backend/services/workspace-depth-triggers.integration.test.js +68 -0
- package/dist/src/backend/services/workspace-depth-triggers.integration.test.js.map +1 -0
- package/dist/src/backend/testing/check-prisma-versions-script.test.d.ts +2 -0
- package/dist/src/backend/testing/check-prisma-versions-script.test.d.ts.map +1 -0
- package/dist/src/backend/testing/check-prisma-versions-script.test.js +52 -0
- package/dist/src/backend/testing/check-prisma-versions-script.test.js.map +1 -0
- package/dist/src/backend/trpc/admin.router.test.js +7 -7
- package/dist/src/backend/trpc/admin.router.test.js.map +1 -1
- package/dist/src/backend/trpc/admin.trpc.d.ts +2 -4
- package/dist/src/backend/trpc/admin.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/admin.trpc.js +3 -3
- package/dist/src/backend/trpc/admin.trpc.js.map +1 -1
- package/dist/src/backend/trpc/closed-sessions.trpc.d.ts +1 -1
- package/dist/src/backend/trpc/index.d.ts +227 -804
- package/dist/src/backend/trpc/index.d.ts.map +1 -1
- package/dist/src/backend/trpc/periodic-task.trpc.d.ts +4 -4
- package/dist/src/backend/trpc/project.trpc.d.ts +2 -70
- package/dist/src/backend/trpc/project.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/session.router.test.js +22 -16
- package/dist/src/backend/trpc/session.router.test.js.map +1 -1
- package/dist/src/backend/trpc/session.trpc.d.ts +11 -45
- package/dist/src/backend/trpc/session.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/session.trpc.js +13 -13
- package/dist/src/backend/trpc/session.trpc.js.map +1 -1
- package/dist/src/backend/trpc/workspace/children.router.test.js +42 -2
- package/dist/src/backend/trpc/workspace/children.router.test.js.map +1 -1
- package/dist/src/backend/trpc/workspace/children.trpc.d.ts +3 -37
- package/dist/src/backend/trpc/workspace/children.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace/children.trpc.js +38 -14
- package/dist/src/backend/trpc/workspace/children.trpc.js.map +1 -1
- package/dist/src/backend/trpc/workspace/composition.test.js +8 -5
- package/dist/src/backend/trpc/workspace/composition.test.js.map +1 -1
- package/dist/src/backend/trpc/workspace/init.trpc.d.ts +52 -40
- package/dist/src/backend/trpc/workspace/init.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts +80 -77
- package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace.router.test.js +22 -25
- package/dist/src/backend/trpc/workspace.router.test.js.map +1 -1
- package/dist/src/backend/trpc/workspace.trpc.d.ts +553 -1477
- package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace.trpc.js +13 -43
- package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
- package/dist/src/cli/runtime-utils.d.ts.map +1 -1
- package/dist/src/cli/runtime-utils.js +4 -0
- package/dist/src/cli/runtime-utils.js.map +1 -1
- package/dist/src/cli/runtime-utils.test.d.ts +2 -0
- package/dist/src/cli/runtime-utils.test.d.ts.map +1 -0
- package/dist/src/cli/runtime-utils.test.js +28 -0
- package/dist/src/cli/runtime-utils.test.js.map +1 -0
- package/dist/src/shared/acp-protocol/protocol/renderer-window.d.ts +1 -0
- package/dist/src/shared/acp-protocol/protocol/renderer-window.d.ts.map +1 -1
- package/dist/src/shared/acp-protocol/protocol/renderer-window.js +13 -2
- package/dist/src/shared/acp-protocol/protocol/renderer-window.js.map +1 -1
- package/dist/src/shared/core/index.d.ts +1 -0
- package/dist/src/shared/core/index.d.ts.map +1 -1
- package/dist/src/shared/core/index.js +1 -0
- package/dist/src/shared/core/index.js.map +1 -1
- package/dist/src/shared/core/ratchet-state.d.ts +10 -0
- package/dist/src/shared/core/ratchet-state.d.ts.map +1 -0
- package/dist/src/shared/core/ratchet-state.js +32 -0
- package/dist/src/shared/core/ratchet-state.js.map +1 -0
- package/dist/src/shared/schemas/export-data.schema.d.ts +2 -12
- package/dist/src/shared/schemas/export-data.schema.d.ts.map +1 -1
- package/dist/src/shared/schemas/export-data.schema.js +2 -4
- package/dist/src/shared/schemas/export-data.schema.js.map +1 -1
- package/dist/src/shared/workspace-snapshot.d.ts +1 -1
- package/dist/src/test-utils/application-graph.d.ts.map +1 -1
- package/dist/src/test-utils/application-graph.js +16 -9
- package/dist/src/test-utils/application-graph.js.map +1 -1
- package/dist/tsconfig.backend.tsbuildinfo +1 -1
- package/package.json +90 -150
- package/prisma/migrations/20260726112950_drop_cached_kanban_column/migration.sql +132 -0
- package/prisma/migrations/20260726135402_split_workspace_ratchet/migration.sql +149 -0
- package/prisma/migrations/20260726181500_split_workspace_pr/migration.sql +142 -0
- package/prisma/migrations/20260726200000_derive_ratchet_state/migration.sql +101 -0
- package/prisma/migrations/20260726220000_split_workspace_run_script/migration.sql +131 -0
- package/prisma/migrations/20260726230000_split_workspace_auto_iteration/migration.sql +123 -0
- package/prisma/schema.prisma +219 -62
- package/dist/client/assets/arc-lK3Ig9GV.js +0 -1
- package/dist/client/assets/architectureDiagram-3BPJPVTR-CeUbfBqe.js +0 -36
- package/dist/client/assets/blockDiagram-GPEHLZMM-DiVGPkq2.js +0 -132
- package/dist/client/assets/channel-CvY1mvIl.js +0 -1
- package/dist/client/assets/chunk-AQP2D5EJ-dyo9i4xa.js +0 -231
- package/dist/client/assets/classDiagram-4FO5ZUOK-Db7ZXJ6w.js +0 -1
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Db7ZXJ6w.js +0 -1
- package/dist/client/assets/cytoscape.esm-DkOyvmE4.js +0 -321
- package/dist/client/assets/dagre-BM42HDAG-CDzpFdgD.js +0 -4
- package/dist/client/assets/diagram-2AECGRRQ-dl1_7lyq.js +0 -43
- package/dist/client/assets/diagram-5GNKFQAL-B0ynMwBY.js +0 -10
- package/dist/client/assets/diagram-LMA3HP47-DZxXcfiX.js +0 -24
- package/dist/client/assets/diagram-OG6HWLK6-BncGM9Gv.js +0 -24
- package/dist/client/assets/erDiagram-TEJ5UH35-B9hxScvO.js +0 -85
- package/dist/client/assets/flowDiagram-I6XJVG4X-DgZ2jwJQ.js +0 -162
- package/dist/client/assets/ganttDiagram-6RSMTGT7-BrnNMNRY.js +0 -292
- package/dist/client/assets/gitGraphDiagram-PVQCEYII-BJmed6oD.js +0 -106
- package/dist/client/assets/index-Btlruz7h.css +0 -1
- package/dist/client/assets/index-DEKuJM5_.js +0 -674
- package/dist/client/assets/infoDiagram-5YYISTIA-CtLzR4ip.js +0 -2
- package/dist/client/assets/katex-DHMw6HUq.js +0 -257
- package/dist/client/assets/layout-SsrduOYp.js +0 -1
- package/dist/client/assets/pieDiagram-4H26LBE5-DgPu3GTs.js +0 -30
- package/dist/client/assets/sankeyDiagram-5OEKKPKP-DmYoq588.js +0 -40
- package/dist/client/assets/sequenceDiagram-3UESZ5HK-EVqdDzgf.js +0 -162
- package/dist/client/assets/stateDiagram-AJRCARHV-BRd6IxSa.js +0 -1
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-DR2vMoX5.js +0 -1
- package/dist/client/assets/vennDiagram-CIIHVFJN-CLslQYVi.js +0 -34
- package/dist/client/assets/wardley-L42UT6IY-DyEDLg3x.js +0 -161
- package/dist/client/assets/xychartDiagram-2RQKCTM6-DwzoT5Dl.js +0 -7
- package/dist/src/backend/interceptors/branch-rename.interceptor.d.ts +0 -3
- package/dist/src/backend/interceptors/branch-rename.interceptor.d.ts.map +0 -1
- package/dist/src/backend/interceptors/branch-rename.interceptor.js +0 -117
- package/dist/src/backend/interceptors/branch-rename.interceptor.js.map +0 -1
- package/dist/src/backend/interceptors/branch-rename.interceptor.test.d.ts +0 -2
- package/dist/src/backend/interceptors/branch-rename.interceptor.test.d.ts.map +0 -1
- package/dist/src/backend/interceptors/branch-rename.interceptor.test.js +0 -184
- package/dist/src/backend/interceptors/branch-rename.interceptor.test.js.map +0 -1
- package/dist/src/backend/interceptors/pre-pr-rename.interceptor.d.ts +0 -6
- package/dist/src/backend/interceptors/pre-pr-rename.interceptor.d.ts.map +0 -1
- package/dist/src/backend/interceptors/pre-pr-rename.interceptor.js +0 -225
- package/dist/src/backend/interceptors/pre-pr-rename.interceptor.js.map +0 -1
- package/dist/src/backend/interceptors/pre-pr-rename.interceptor.test.d.ts +0 -2
- package/dist/src/backend/interceptors/pre-pr-rename.interceptor.test.d.ts.map +0 -1
- package/dist/src/backend/interceptors/pre-pr-rename.interceptor.test.js +0 -348
- package/dist/src/backend/interceptors/pre-pr-rename.interceptor.test.js.map +0 -1
- package/dist/src/backend/interceptors/pre-push-rename.interceptor.d.ts +0 -4
- package/dist/src/backend/interceptors/pre-push-rename.interceptor.d.ts.map +0 -1
- package/dist/src/backend/interceptors/pre-push-rename.interceptor.js +0 -136
- package/dist/src/backend/interceptors/pre-push-rename.interceptor.js.map +0 -1
- package/dist/src/backend/interceptors/pre-push-rename.interceptor.test.d.ts +0 -2
- package/dist/src/backend/interceptors/pre-push-rename.interceptor.test.d.ts.map +0 -1
- package/dist/src/backend/interceptors/pre-push-rename.interceptor.test.js +0 -260
- package/dist/src/backend/interceptors/pre-push-rename.interceptor.test.js.map +0 -1
- package/dist/src/backend/routers/websocket/dev-logs.handler.d.ts +0 -5
- package/dist/src/backend/routers/websocket/dev-logs.handler.d.ts.map +0 -1
- package/dist/src/backend/routers/websocket/dev-logs.handler.js +0 -28
- package/dist/src/backend/routers/websocket/dev-logs.handler.js.map +0 -1
- package/dist/src/backend/routers/websocket/dev-logs.handler.test.d.ts +0 -2
- package/dist/src/backend/routers/websocket/dev-logs.handler.test.d.ts.map +0 -1
- package/dist/src/backend/routers/websocket/dev-logs.handler.test.js.map +0 -1
- package/dist/src/backend/routers/websocket/post-run-logs.handler.d.ts +0 -5
- package/dist/src/backend/routers/websocket/post-run-logs.handler.d.ts.map +0 -1
- package/dist/src/backend/routers/websocket/post-run-logs.handler.js +0 -18
- package/dist/src/backend/routers/websocket/post-run-logs.handler.js.map +0 -1
- package/dist/src/backend/routers/websocket/post-run-logs.handler.test.d.ts +0 -2
- package/dist/src/backend/routers/websocket/post-run-logs.handler.test.d.ts.map +0 -1
- package/dist/src/backend/routers/websocket/post-run-logs.handler.test.js.map +0 -1
- package/dist/src/backend/services/github/service/pr-fetch-registry.d.ts +0 -20
- package/dist/src/backend/services/github/service/pr-fetch-registry.d.ts.map +0 -1
- package/dist/src/backend/services/github/service/pr-fetch-registry.js.map +0 -1
- package/dist/src/backend/services/github/service/pr-fetch-registry.test.d.ts +0 -2
- package/dist/src/backend/services/github/service/pr-fetch-registry.test.d.ts.map +0 -1
- package/dist/src/backend/services/github/service/pr-fetch-registry.test.js +0 -112
- package/dist/src/backend/services/github/service/pr-fetch-registry.test.js.map +0 -1
- package/dist/src/backend/services/ratchet/service/ratchet-state-machine.d.ts +0 -11
- package/dist/src/backend/services/ratchet/service/ratchet-state-machine.d.ts.map +0 -1
- package/dist/src/backend/services/ratchet/service/ratchet-state-machine.js +0 -77
- package/dist/src/backend/services/ratchet/service/ratchet-state-machine.js.map +0 -1
- package/dist/src/backend/services/ratchet/service/ratchet-state-machine.test.d.ts +0 -2
- package/dist/src/backend/services/ratchet/service/ratchet-state-machine.test.d.ts.map +0 -1
- package/dist/src/backend/services/ratchet/service/ratchet-state-machine.test.js +0 -66
- package/dist/src/backend/services/ratchet/service/ratchet-state-machine.test.js.map +0 -1
- package/dist/src/backend/services/session/service/lifecycle/session.service.coverage.test.d.ts +0 -2
- package/dist/src/backend/services/session/service/lifecycle/session.service.coverage.test.d.ts.map +0 -1
- package/dist/src/backend/services/session/service/lifecycle/session.service.coverage.test.js +0 -279
- package/dist/src/backend/services/session/service/lifecycle/session.service.coverage.test.js.map +0 -1
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
-- Split the PR cache off Workspace into its own 1:1 table.
|
|
2
|
+
--
|
|
3
|
+
-- Every column moved here is a cache of GitHub state or a cursor into it, so a
|
|
4
|
+
-- lossy migration would cost one refresh rather than real data -- but the
|
|
5
|
+
-- discovery backoff and the review-comment cursor would replay work, so the
|
|
6
|
+
-- backfill below copies all thirteen.
|
|
7
|
+
--
|
|
8
|
+
-- `prUpdatedAt` becomes `syncedAt`: every caller wrote its own observation time
|
|
9
|
+
-- into it, never GitHub's PR `updated_at`.
|
|
10
|
+
|
|
11
|
+
-- CreateTable
|
|
12
|
+
CREATE TABLE "WorkspacePR" (
|
|
13
|
+
"workspaceId" TEXT NOT NULL PRIMARY KEY,
|
|
14
|
+
"url" TEXT,
|
|
15
|
+
"number" INTEGER,
|
|
16
|
+
"state" TEXT NOT NULL DEFAULT 'NONE',
|
|
17
|
+
"reviewState" TEXT,
|
|
18
|
+
"ciStatus" TEXT NOT NULL DEFAULT 'UNKNOWN',
|
|
19
|
+
"syncedAt" DATETIME,
|
|
20
|
+
"discoveryLastCheckedAt" DATETIME,
|
|
21
|
+
"discoveryRetryCount" INTEGER NOT NULL DEFAULT 0,
|
|
22
|
+
"discoveryNextCheckAt" DATETIME,
|
|
23
|
+
"ciFailedAt" DATETIME,
|
|
24
|
+
"ciLastNotifiedAt" DATETIME,
|
|
25
|
+
"reviewLastCheckedAt" DATETIME,
|
|
26
|
+
"reviewLastCommentId" TEXT,
|
|
27
|
+
CONSTRAINT "WorkspacePR_workspaceId_fkey" FOREIGN KEY ("workspaceId") REFERENCES "Workspace" ("id") ON DELETE CASCADE ON UPDATE CASCADE
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
-- Backfill one row per existing workspace before the columns go away. Every
|
|
31
|
+
-- workspace gets a row, including those with no PR, because PR discovery claims
|
|
32
|
+
-- its backoff on this row before any PR exists.
|
|
33
|
+
INSERT INTO "WorkspacePR" ("workspaceId", "url", "number", "state", "reviewState", "ciStatus", "syncedAt", "discoveryLastCheckedAt", "discoveryRetryCount", "discoveryNextCheckAt", "ciFailedAt", "ciLastNotifiedAt", "reviewLastCheckedAt", "reviewLastCommentId")
|
|
34
|
+
SELECT "id", "prUrl", "prNumber", "prState", "prReviewState", "prCiStatus", "prUpdatedAt", "prDiscoveryLastCheckedAt", "prDiscoveryRetryCount", "prDiscoveryNextCheckAt", "prCiFailedAt", "prCiLastNotifiedAt", "prReviewLastCheckedAt", "prReviewLastCommentId"
|
|
35
|
+
FROM "Workspace";
|
|
36
|
+
|
|
37
|
+
-- RedefineTables
|
|
38
|
+
PRAGMA defer_foreign_keys=ON;
|
|
39
|
+
PRAGMA foreign_keys=OFF;
|
|
40
|
+
CREATE TABLE "new_Workspace" (
|
|
41
|
+
"id" TEXT NOT NULL PRIMARY KEY,
|
|
42
|
+
"projectId" TEXT NOT NULL,
|
|
43
|
+
"name" TEXT NOT NULL,
|
|
44
|
+
"description" TEXT,
|
|
45
|
+
"status" TEXT NOT NULL DEFAULT 'NEW',
|
|
46
|
+
"worktreePath" TEXT,
|
|
47
|
+
"branchName" TEXT,
|
|
48
|
+
"isAutoGeneratedBranch" BOOLEAN NOT NULL DEFAULT false,
|
|
49
|
+
"creationSource" TEXT NOT NULL DEFAULT 'MANUAL',
|
|
50
|
+
"creationMetadata" JSONB,
|
|
51
|
+
"initErrorMessage" TEXT,
|
|
52
|
+
"initOutput" TEXT,
|
|
53
|
+
"initStartedAt" DATETIME,
|
|
54
|
+
"initCompletedAt" DATETIME,
|
|
55
|
+
"initScriptPid" INTEGER,
|
|
56
|
+
"initRetryCount" INTEGER NOT NULL DEFAULT 0,
|
|
57
|
+
"runScriptCommand" TEXT,
|
|
58
|
+
"runScriptPostRunCommand" TEXT,
|
|
59
|
+
"runScriptCleanupCommand" TEXT,
|
|
60
|
+
"runScriptPid" INTEGER,
|
|
61
|
+
"runScriptPort" INTEGER,
|
|
62
|
+
"runScriptStartedAt" DATETIME,
|
|
63
|
+
"runScriptStatus" TEXT NOT NULL DEFAULT 'IDLE',
|
|
64
|
+
"githubIssueNumber" INTEGER,
|
|
65
|
+
"githubIssueUrl" TEXT,
|
|
66
|
+
"linearIssueId" TEXT,
|
|
67
|
+
"linearIssueIdentifier" TEXT,
|
|
68
|
+
"linearIssueUrl" TEXT,
|
|
69
|
+
"defaultSessionProvider" TEXT NOT NULL DEFAULT 'WORKSPACE_DEFAULT',
|
|
70
|
+
"ratchetSessionProvider" TEXT NOT NULL DEFAULT 'WORKSPACE_DEFAULT',
|
|
71
|
+
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
72
|
+
"updatedAt" DATETIME NOT NULL,
|
|
73
|
+
"mode" TEXT NOT NULL DEFAULT 'STANDARD',
|
|
74
|
+
"autoIterationStatus" TEXT,
|
|
75
|
+
"autoIterationConfig" JSONB,
|
|
76
|
+
"autoIterationProgress" JSONB,
|
|
77
|
+
"autoIterationSessionId" TEXT,
|
|
78
|
+
"periodicTaskId" TEXT,
|
|
79
|
+
"parent_workspace_id" TEXT,
|
|
80
|
+
"hasHadSessions" BOOLEAN NOT NULL DEFAULT false,
|
|
81
|
+
CONSTRAINT "Workspace_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
82
|
+
CONSTRAINT "Workspace_periodicTaskId_fkey" FOREIGN KEY ("periodicTaskId") REFERENCES "PeriodicTask" ("id") ON DELETE SET NULL ON UPDATE CASCADE,
|
|
83
|
+
CONSTRAINT "Workspace_parent_workspace_id_fkey" FOREIGN KEY ("parent_workspace_id") REFERENCES "Workspace" ("id") ON DELETE SET NULL ON UPDATE CASCADE
|
|
84
|
+
);
|
|
85
|
+
INSERT INTO "new_Workspace" ("autoIterationConfig", "autoIterationProgress", "autoIterationSessionId", "autoIterationStatus", "branchName", "createdAt", "creationMetadata", "creationSource", "defaultSessionProvider", "description", "githubIssueNumber", "githubIssueUrl", "hasHadSessions", "id", "initCompletedAt", "initErrorMessage", "initOutput", "initRetryCount", "initScriptPid", "initStartedAt", "isAutoGeneratedBranch", "linearIssueId", "linearIssueIdentifier", "linearIssueUrl", "mode", "name", "parent_workspace_id", "periodicTaskId", "projectId", "ratchetSessionProvider", "runScriptCleanupCommand", "runScriptCommand", "runScriptPid", "runScriptPort", "runScriptPostRunCommand", "runScriptStartedAt", "runScriptStatus", "status", "updatedAt", "worktreePath") SELECT "autoIterationConfig", "autoIterationProgress", "autoIterationSessionId", "autoIterationStatus", "branchName", "createdAt", "creationMetadata", "creationSource", "defaultSessionProvider", "description", "githubIssueNumber", "githubIssueUrl", "hasHadSessions", "id", "initCompletedAt", "initErrorMessage", "initOutput", "initRetryCount", "initScriptPid", "initStartedAt", "isAutoGeneratedBranch", "linearIssueId", "linearIssueIdentifier", "linearIssueUrl", "mode", "name", "parent_workspace_id", "periodicTaskId", "projectId", "ratchetSessionProvider", "runScriptCleanupCommand", "runScriptCommand", "runScriptPid", "runScriptPort", "runScriptPostRunCommand", "runScriptStartedAt", "runScriptStatus", "status", "updatedAt", "worktreePath" FROM "Workspace";
|
|
86
|
+
DROP TABLE "Workspace";
|
|
87
|
+
ALTER TABLE "new_Workspace" RENAME TO "Workspace";
|
|
88
|
+
CREATE INDEX "Workspace_projectId_idx" ON "Workspace"("projectId");
|
|
89
|
+
CREATE INDEX "Workspace_status_idx" ON "Workspace"("status");
|
|
90
|
+
CREATE INDEX "Workspace_parent_workspace_id_idx" ON "Workspace"("parent_workspace_id");
|
|
91
|
+
CREATE INDEX "Workspace_projectId_status_idx" ON "Workspace"("projectId", "status");
|
|
92
|
+
CREATE INDEX "Workspace_projectId_updatedAt_idx" ON "Workspace"("projectId", "updatedAt");
|
|
93
|
+
CREATE INDEX "Workspace_projectId_createdAt_idx" ON "Workspace"("projectId", "createdAt");
|
|
94
|
+
PRAGMA foreign_keys=ON;
|
|
95
|
+
PRAGMA defer_foreign_keys=OFF;
|
|
96
|
+
|
|
97
|
+
-- CreateIndex
|
|
98
|
+
CREATE INDEX "WorkspacePR_url_discoveryNextCheckAt_idx" ON "WorkspacePR"("url", "discoveryNextCheckAt");
|
|
99
|
+
|
|
100
|
+
-- CreateIndex
|
|
101
|
+
CREATE INDEX "WorkspacePR_syncedAt_idx" ON "WorkspacePR"("syncedAt");
|
|
102
|
+
|
|
103
|
+
-- SQLite's RedefineTables above dropped and recreated "Workspace", which drops
|
|
104
|
+
-- every trigger attached to it. Recreate the depth-1 guards verbatim; any future
|
|
105
|
+
-- migration that redefines this table has to do the same.
|
|
106
|
+
CREATE TRIGGER enforce_workspace_depth_1
|
|
107
|
+
BEFORE INSERT ON "Workspace"
|
|
108
|
+
WHEN NEW."parent_workspace_id" IS NOT NULL
|
|
109
|
+
BEGIN
|
|
110
|
+
-- Block self-parenting
|
|
111
|
+
SELECT RAISE(ABORT, 'A workspace cannot be its own parent')
|
|
112
|
+
WHERE NEW."id" = NEW."parent_workspace_id";
|
|
113
|
+
-- Block grandchild chains: proposed parent must not already have a parent
|
|
114
|
+
SELECT RAISE(ABORT, 'Child workspaces cannot have children (max depth 1)')
|
|
115
|
+
WHERE EXISTS (
|
|
116
|
+
SELECT 1 FROM "Workspace"
|
|
117
|
+
WHERE "id" = NEW."parent_workspace_id"
|
|
118
|
+
AND "parent_workspace_id" IS NOT NULL
|
|
119
|
+
);
|
|
120
|
+
END;
|
|
121
|
+
|
|
122
|
+
CREATE TRIGGER enforce_workspace_depth_1_update
|
|
123
|
+
BEFORE UPDATE ON "Workspace"
|
|
124
|
+
WHEN NEW."parent_workspace_id" IS NOT NULL
|
|
125
|
+
BEGIN
|
|
126
|
+
-- Block self-parenting
|
|
127
|
+
SELECT RAISE(ABORT, 'A workspace cannot be its own parent')
|
|
128
|
+
WHERE NEW."id" = NEW."parent_workspace_id";
|
|
129
|
+
-- Block grandchild chains: proposed parent must not already have a parent
|
|
130
|
+
SELECT RAISE(ABORT, 'Child workspaces cannot have children (max depth 1)')
|
|
131
|
+
WHERE EXISTS (
|
|
132
|
+
SELECT 1 FROM "Workspace"
|
|
133
|
+
WHERE "id" = NEW."parent_workspace_id"
|
|
134
|
+
AND "parent_workspace_id" IS NOT NULL
|
|
135
|
+
);
|
|
136
|
+
-- Block re-parenting a workspace that already has children
|
|
137
|
+
SELECT RAISE(ABORT, 'Cannot re-parent a workspace that already has children (max depth 1)')
|
|
138
|
+
WHERE EXISTS (
|
|
139
|
+
SELECT 1 FROM "Workspace"
|
|
140
|
+
WHERE "parent_workspace_id" = NEW."id"
|
|
141
|
+
);
|
|
142
|
+
END;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
-- `RatchetState` stops being stored and becomes a projection of the PR
|
|
2
|
+
-- observation (see `deriveRatchetState`): `WorkspaceRatchet.state` is dropped and
|
|
3
|
+
-- `WorkspacePR.hasMergeConflict` takes its place as the one observed fact the
|
|
4
|
+
-- state needed that was not already cached.
|
|
5
|
+
--
|
|
6
|
+
-- Conflicts were never persisted as a fact -- the ratchet folded them straight
|
|
7
|
+
-- into `state = 'MERGE_CONFLICT'` -- so that value is the only thing to backfill
|
|
8
|
+
-- from, and it has to be read before the column goes.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
-- RedefineTables
|
|
12
|
+
PRAGMA defer_foreign_keys=ON;
|
|
13
|
+
PRAGMA foreign_keys=OFF;
|
|
14
|
+
CREATE TABLE "new_WorkspacePR" (
|
|
15
|
+
"workspaceId" TEXT NOT NULL PRIMARY KEY,
|
|
16
|
+
"url" TEXT,
|
|
17
|
+
"number" INTEGER,
|
|
18
|
+
"state" TEXT NOT NULL DEFAULT 'NONE',
|
|
19
|
+
"reviewState" TEXT,
|
|
20
|
+
"ciStatus" TEXT NOT NULL DEFAULT 'UNKNOWN',
|
|
21
|
+
"hasMergeConflict" BOOLEAN NOT NULL DEFAULT false,
|
|
22
|
+
"syncedAt" DATETIME,
|
|
23
|
+
"discoveryLastCheckedAt" DATETIME,
|
|
24
|
+
"discoveryRetryCount" INTEGER NOT NULL DEFAULT 0,
|
|
25
|
+
"discoveryNextCheckAt" DATETIME,
|
|
26
|
+
"ciFailedAt" DATETIME,
|
|
27
|
+
"ciLastNotifiedAt" DATETIME,
|
|
28
|
+
"reviewLastCheckedAt" DATETIME,
|
|
29
|
+
"reviewLastCommentId" TEXT,
|
|
30
|
+
CONSTRAINT "WorkspacePR_workspaceId_fkey" FOREIGN KEY ("workspaceId") REFERENCES "Workspace" ("id") ON DELETE CASCADE ON UPDATE CASCADE
|
|
31
|
+
);
|
|
32
|
+
INSERT INTO "new_WorkspacePR" ("ciFailedAt", "ciLastNotifiedAt", "ciStatus", "discoveryLastCheckedAt", "discoveryNextCheckAt", "discoveryRetryCount", "number", "reviewLastCheckedAt", "reviewLastCommentId", "reviewState", "state", "syncedAt", "url", "workspaceId") SELECT "ciFailedAt", "ciLastNotifiedAt", "ciStatus", "discoveryLastCheckedAt", "discoveryNextCheckAt", "discoveryRetryCount", "number", "reviewLastCheckedAt", "reviewLastCommentId", "reviewState", "state", "syncedAt", "url", "workspaceId" FROM "WorkspacePR";
|
|
33
|
+
DROP TABLE "WorkspacePR";
|
|
34
|
+
ALTER TABLE "new_WorkspacePR" RENAME TO "WorkspacePR";
|
|
35
|
+
CREATE INDEX "WorkspacePR_url_discoveryNextCheckAt_idx" ON "WorkspacePR"("url", "discoveryNextCheckAt");
|
|
36
|
+
CREATE INDEX "WorkspacePR_syncedAt_idx" ON "WorkspacePR"("syncedAt");
|
|
37
|
+
-- Backfill: recover the conflict flag from the state that encoded it. Runs after
|
|
38
|
+
-- WorkspacePR has been rebuilt with the new column and before WorkspaceRatchet
|
|
39
|
+
-- loses `state`.
|
|
40
|
+
--
|
|
41
|
+
-- `state` is the only contemporaneous record of a conflict, and it under-reports:
|
|
42
|
+
-- a failing build outranked a conflict in the derivation, so a PR with both was
|
|
43
|
+
-- stored as CI_FAILED and migrates as clean.
|
|
44
|
+
--
|
|
45
|
+
-- That is accepted rather than patched. The dispatch snapshot key also carries a
|
|
46
|
+
-- conflict (`|merge:conflict`), but it records whenever the last fixer was
|
|
47
|
+
-- dispatched, not the last observation -- a conflict resolved after its dispatch
|
|
48
|
+
-- leaves the suffix behind, and a later CI failure puts the row back in CI_FAILED,
|
|
49
|
+
-- so even restricting the recovery to that state cannot tell a live conflict from
|
|
50
|
+
-- a stale one.
|
|
51
|
+
--
|
|
52
|
+
-- Under-reporting costs nothing observable: while CI is failing the derivation
|
|
53
|
+
-- returns CI_FAILED and never consults the flag, and the first ratchet check after
|
|
54
|
+
-- CI turns green writes the true flag in the same statement that turns it green
|
|
55
|
+
-- (`recordPrObservation` writes all four projection inputs together). Over-
|
|
56
|
+
-- reporting would be visible -- a spurious conflict badge, and a conflict fixer
|
|
57
|
+
-- dispatched against a clean PR -- so the ambiguous source is left out.
|
|
58
|
+
UPDATE "WorkspacePR"
|
|
59
|
+
SET "hasMergeConflict" = true
|
|
60
|
+
WHERE "workspaceId" IN (
|
|
61
|
+
SELECT "workspaceId" FROM "WorkspaceRatchet" WHERE "state" = 'MERGE_CONFLICT'
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
-- The under-reported rows are handed to the ratchet first instead of guessed at.
|
|
65
|
+
--
|
|
66
|
+
-- CI_FAILED is the only state that could have masked a conflict, so an open PR in
|
|
67
|
+
-- it migrates with an unestablished flag. Left alone, the flag would be correct
|
|
68
|
+
-- once the ratchet re-observed the PR -- but the PR-sync poller writes `ciStatus`
|
|
69
|
+
-- without touching `hasMergeConflict`, so if it saw green CI first the derivation
|
|
70
|
+
-- would report READY for a PR GitHub still calls DIRTY, until the next ratchet
|
|
71
|
+
-- check came round.
|
|
72
|
+
--
|
|
73
|
+
-- Nulling `lastCheckedAt` puts these rows at the front of the ratchet poll, which
|
|
74
|
+
-- orders by it ascending and sorts NULLs first. That establishes the flag from a
|
|
75
|
+
-- live observation on the first cycle after the migration, without this migration
|
|
76
|
+
-- having to guess at a value it cannot know.
|
|
77
|
+
UPDATE "WorkspaceRatchet"
|
|
78
|
+
SET "lastCheckedAt" = NULL
|
|
79
|
+
WHERE "state" = 'CI_FAILED'
|
|
80
|
+
AND "workspaceId" IN (
|
|
81
|
+
SELECT "workspaceId" FROM "WorkspacePR"
|
|
82
|
+
WHERE "state" IN ('OPEN', 'DRAFT', 'CHANGES_REQUESTED', 'APPROVED')
|
|
83
|
+
);
|
|
84
|
+
|
|
85
|
+
CREATE TABLE "new_WorkspaceRatchet" (
|
|
86
|
+
"workspaceId" TEXT NOT NULL PRIMARY KEY,
|
|
87
|
+
"enabled" BOOLEAN NOT NULL DEFAULT true,
|
|
88
|
+
"lastCheckedAt" DATETIME,
|
|
89
|
+
"activeSessionId" TEXT,
|
|
90
|
+
"dispatchSnapshotKey" TEXT,
|
|
91
|
+
"dispatchOutcome" TEXT,
|
|
92
|
+
"dispatchRetryCount" INTEGER NOT NULL DEFAULT 0,
|
|
93
|
+
CONSTRAINT "WorkspaceRatchet_workspaceId_fkey" FOREIGN KEY ("workspaceId") REFERENCES "Workspace" ("id") ON DELETE CASCADE ON UPDATE CASCADE
|
|
94
|
+
);
|
|
95
|
+
INSERT INTO "new_WorkspaceRatchet" ("activeSessionId", "dispatchOutcome", "dispatchRetryCount", "dispatchSnapshotKey", "enabled", "lastCheckedAt", "workspaceId") SELECT "activeSessionId", "dispatchOutcome", "dispatchRetryCount", "dispatchSnapshotKey", "enabled", "lastCheckedAt", "workspaceId" FROM "WorkspaceRatchet";
|
|
96
|
+
DROP TABLE "WorkspaceRatchet";
|
|
97
|
+
ALTER TABLE "new_WorkspaceRatchet" RENAME TO "WorkspaceRatchet";
|
|
98
|
+
CREATE INDEX "WorkspaceRatchet_lastCheckedAt_idx" ON "WorkspaceRatchet"("lastCheckedAt");
|
|
99
|
+
PRAGMA foreign_keys=ON;
|
|
100
|
+
PRAGMA defer_foreign_keys=OFF;
|
|
101
|
+
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
-- Split the run-script group off Workspace into its own 1:1 table.
|
|
2
|
+
--
|
|
3
|
+
-- Seven columns, two concerns, one row -- see the model docblock for why they
|
|
4
|
+
-- share it. Nothing here is derived, so the backfill copies all seven verbatim;
|
|
5
|
+
-- unlike the ratchet and PR splits there is no misnamed column to correct, only
|
|
6
|
+
-- the `runScript` prefix to drop now that the table name carries it.
|
|
7
|
+
--
|
|
8
|
+
-- `pid`/`port`/`startedAt` look like state a restart makes meaningless, and for
|
|
9
|
+
-- the process they describe they are. They are copied anyway because a SIGKILL
|
|
10
|
+
-- or crash orphans a run script -- it spawns with `detached: false`, so it
|
|
11
|
+
-- normally dies with the server -- and the pid is the only handle on the orphan.
|
|
12
|
+
-- Dropping these would leak one process per workspace that was running at the
|
|
13
|
+
-- moment of the upgrade.
|
|
14
|
+
--
|
|
15
|
+
-- `status` is copied for a narrower reason: STARTING and STOPPING are cleared at
|
|
16
|
+
-- the next startup by `resetStaleTransientStatuses` (it always was -- the column
|
|
17
|
+
-- moving does not change that), but RUNNING, COMPLETED and FAILED are not, and
|
|
18
|
+
-- they are what the kanban card and the sidebar read.
|
|
19
|
+
|
|
20
|
+
CREATE TABLE "WorkspaceRunScript" (
|
|
21
|
+
"workspaceId" TEXT NOT NULL PRIMARY KEY,
|
|
22
|
+
"command" TEXT,
|
|
23
|
+
"postRunCommand" TEXT,
|
|
24
|
+
"cleanupCommand" TEXT,
|
|
25
|
+
"pid" INTEGER,
|
|
26
|
+
"port" INTEGER,
|
|
27
|
+
"startedAt" DATETIME,
|
|
28
|
+
"status" TEXT NOT NULL DEFAULT 'IDLE',
|
|
29
|
+
CONSTRAINT "WorkspaceRunScript_workspaceId_fkey" FOREIGN KEY ("workspaceId") REFERENCES "Workspace" ("id") ON DELETE CASCADE ON UPDATE CASCADE
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
-- Backfill one row per existing workspace before the columns go away. Every
|
|
33
|
+
-- workspace gets a row, including those that have never had a run script, so the
|
|
34
|
+
-- compare-and-swap on `status` always has a row to guard.
|
|
35
|
+
INSERT INTO "WorkspaceRunScript" ("workspaceId", "command", "postRunCommand", "cleanupCommand", "pid", "port", "startedAt", "status")
|
|
36
|
+
SELECT "id", "runScriptCommand", "runScriptPostRunCommand", "runScriptCleanupCommand", "runScriptPid", "runScriptPort", "runScriptStartedAt", "runScriptStatus"
|
|
37
|
+
FROM "Workspace";
|
|
38
|
+
|
|
39
|
+
-- RedefineTables
|
|
40
|
+
PRAGMA defer_foreign_keys=ON;
|
|
41
|
+
PRAGMA foreign_keys=OFF;
|
|
42
|
+
CREATE TABLE "new_Workspace" (
|
|
43
|
+
"id" TEXT NOT NULL PRIMARY KEY,
|
|
44
|
+
"projectId" TEXT NOT NULL,
|
|
45
|
+
"name" TEXT NOT NULL,
|
|
46
|
+
"description" TEXT,
|
|
47
|
+
"status" TEXT NOT NULL DEFAULT 'NEW',
|
|
48
|
+
"worktreePath" TEXT,
|
|
49
|
+
"branchName" TEXT,
|
|
50
|
+
"isAutoGeneratedBranch" BOOLEAN NOT NULL DEFAULT false,
|
|
51
|
+
"creationSource" TEXT NOT NULL DEFAULT 'MANUAL',
|
|
52
|
+
"creationMetadata" JSONB,
|
|
53
|
+
"initErrorMessage" TEXT,
|
|
54
|
+
"initOutput" TEXT,
|
|
55
|
+
"initStartedAt" DATETIME,
|
|
56
|
+
"initCompletedAt" DATETIME,
|
|
57
|
+
"initScriptPid" INTEGER,
|
|
58
|
+
"initRetryCount" INTEGER NOT NULL DEFAULT 0,
|
|
59
|
+
"githubIssueNumber" INTEGER,
|
|
60
|
+
"githubIssueUrl" TEXT,
|
|
61
|
+
"linearIssueId" TEXT,
|
|
62
|
+
"linearIssueIdentifier" TEXT,
|
|
63
|
+
"linearIssueUrl" TEXT,
|
|
64
|
+
"defaultSessionProvider" TEXT NOT NULL DEFAULT 'WORKSPACE_DEFAULT',
|
|
65
|
+
"ratchetSessionProvider" TEXT NOT NULL DEFAULT 'WORKSPACE_DEFAULT',
|
|
66
|
+
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
67
|
+
"updatedAt" DATETIME NOT NULL,
|
|
68
|
+
"mode" TEXT NOT NULL DEFAULT 'STANDARD',
|
|
69
|
+
"autoIterationStatus" TEXT,
|
|
70
|
+
"autoIterationConfig" JSONB,
|
|
71
|
+
"autoIterationProgress" JSONB,
|
|
72
|
+
"autoIterationSessionId" TEXT,
|
|
73
|
+
"periodicTaskId" TEXT,
|
|
74
|
+
"parent_workspace_id" TEXT,
|
|
75
|
+
"hasHadSessions" BOOLEAN NOT NULL DEFAULT false,
|
|
76
|
+
CONSTRAINT "Workspace_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
77
|
+
CONSTRAINT "Workspace_periodicTaskId_fkey" FOREIGN KEY ("periodicTaskId") REFERENCES "PeriodicTask" ("id") ON DELETE SET NULL ON UPDATE CASCADE,
|
|
78
|
+
CONSTRAINT "Workspace_parent_workspace_id_fkey" FOREIGN KEY ("parent_workspace_id") REFERENCES "Workspace" ("id") ON DELETE SET NULL ON UPDATE CASCADE
|
|
79
|
+
);
|
|
80
|
+
INSERT INTO "new_Workspace" ("autoIterationConfig", "autoIterationProgress", "autoIterationSessionId", "autoIterationStatus", "branchName", "createdAt", "creationMetadata", "creationSource", "defaultSessionProvider", "description", "githubIssueNumber", "githubIssueUrl", "hasHadSessions", "id", "initCompletedAt", "initErrorMessage", "initOutput", "initRetryCount", "initScriptPid", "initStartedAt", "isAutoGeneratedBranch", "linearIssueId", "linearIssueIdentifier", "linearIssueUrl", "mode", "name", "parent_workspace_id", "periodicTaskId", "projectId", "ratchetSessionProvider", "status", "updatedAt", "worktreePath") SELECT "autoIterationConfig", "autoIterationProgress", "autoIterationSessionId", "autoIterationStatus", "branchName", "createdAt", "creationMetadata", "creationSource", "defaultSessionProvider", "description", "githubIssueNumber", "githubIssueUrl", "hasHadSessions", "id", "initCompletedAt", "initErrorMessage", "initOutput", "initRetryCount", "initScriptPid", "initStartedAt", "isAutoGeneratedBranch", "linearIssueId", "linearIssueIdentifier", "linearIssueUrl", "mode", "name", "parent_workspace_id", "periodicTaskId", "projectId", "ratchetSessionProvider", "status", "updatedAt", "worktreePath" FROM "Workspace";
|
|
81
|
+
DROP TABLE "Workspace";
|
|
82
|
+
ALTER TABLE "new_Workspace" RENAME TO "Workspace";
|
|
83
|
+
CREATE INDEX "Workspace_projectId_idx" ON "Workspace"("projectId");
|
|
84
|
+
CREATE INDEX "Workspace_status_idx" ON "Workspace"("status");
|
|
85
|
+
CREATE INDEX "Workspace_parent_workspace_id_idx" ON "Workspace"("parent_workspace_id");
|
|
86
|
+
CREATE INDEX "Workspace_projectId_status_idx" ON "Workspace"("projectId", "status");
|
|
87
|
+
CREATE INDEX "Workspace_projectId_updatedAt_idx" ON "Workspace"("projectId", "updatedAt");
|
|
88
|
+
CREATE INDEX "Workspace_projectId_createdAt_idx" ON "Workspace"("projectId", "createdAt");
|
|
89
|
+
PRAGMA foreign_keys=ON;
|
|
90
|
+
PRAGMA defer_foreign_keys=OFF;
|
|
91
|
+
|
|
92
|
+
-- SQLite's RedefineTables above dropped and recreated "Workspace", which drops
|
|
93
|
+
-- every trigger attached to it. Recreate the depth-1 guards verbatim; any future
|
|
94
|
+
-- migration that redefines this table has to do the same.
|
|
95
|
+
CREATE TRIGGER enforce_workspace_depth_1
|
|
96
|
+
BEFORE INSERT ON "Workspace"
|
|
97
|
+
WHEN NEW."parent_workspace_id" IS NOT NULL
|
|
98
|
+
BEGIN
|
|
99
|
+
-- Block self-parenting
|
|
100
|
+
SELECT RAISE(ABORT, 'A workspace cannot be its own parent')
|
|
101
|
+
WHERE NEW."id" = NEW."parent_workspace_id";
|
|
102
|
+
-- Block grandchild chains: proposed parent must not already have a parent
|
|
103
|
+
SELECT RAISE(ABORT, 'Child workspaces cannot have children (max depth 1)')
|
|
104
|
+
WHERE EXISTS (
|
|
105
|
+
SELECT 1 FROM "Workspace"
|
|
106
|
+
WHERE "id" = NEW."parent_workspace_id"
|
|
107
|
+
AND "parent_workspace_id" IS NOT NULL
|
|
108
|
+
);
|
|
109
|
+
END;
|
|
110
|
+
|
|
111
|
+
CREATE TRIGGER enforce_workspace_depth_1_update
|
|
112
|
+
BEFORE UPDATE ON "Workspace"
|
|
113
|
+
WHEN NEW."parent_workspace_id" IS NOT NULL
|
|
114
|
+
BEGIN
|
|
115
|
+
-- Block self-parenting
|
|
116
|
+
SELECT RAISE(ABORT, 'A workspace cannot be its own parent')
|
|
117
|
+
WHERE NEW."id" = NEW."parent_workspace_id";
|
|
118
|
+
-- Block grandchild chains: proposed parent must not already have a parent
|
|
119
|
+
SELECT RAISE(ABORT, 'Child workspaces cannot have children (max depth 1)')
|
|
120
|
+
WHERE EXISTS (
|
|
121
|
+
SELECT 1 FROM "Workspace"
|
|
122
|
+
WHERE "id" = NEW."parent_workspace_id"
|
|
123
|
+
AND "parent_workspace_id" IS NOT NULL
|
|
124
|
+
);
|
|
125
|
+
-- Block re-parenting a workspace that already has children
|
|
126
|
+
SELECT RAISE(ABORT, 'Cannot re-parent a workspace that already has children (max depth 1)')
|
|
127
|
+
WHERE EXISTS (
|
|
128
|
+
SELECT 1 FROM "Workspace"
|
|
129
|
+
WHERE "parent_workspace_id" = NEW."id"
|
|
130
|
+
);
|
|
131
|
+
END;
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
-- Split the auto-iteration group off Workspace into its own 1:1 table.
|
|
2
|
+
--
|
|
3
|
+
-- The last of the four concerns the model carried. Five columns, one concern,
|
|
4
|
+
-- copied verbatim -- there is no derived value here and no misnamed column to
|
|
5
|
+
-- correct, only the `autoIteration` prefix to drop now that the table name
|
|
6
|
+
-- carries it.
|
|
7
|
+
--
|
|
8
|
+
-- `mode` moves with them. It reads like a general workspace attribute, but every
|
|
9
|
+
-- consumer is an auto-iteration consumer, so it is this group's discriminant --
|
|
10
|
+
-- the same call the ratchet split made for `ratchetEnabled`. Its NOT NULL
|
|
11
|
+
-- default carries over, so a workspace that never used the feature backfills to
|
|
12
|
+
-- exactly what it had: STANDARD and four nulls.
|
|
13
|
+
--
|
|
14
|
+
-- `status` is copied rather than reset even though `resetStaleAutoIterationStatuses`
|
|
15
|
+
-- clears RUNNING at the next startup: COMPLETED and FAILED are results the user
|
|
16
|
+
-- has not seen yet, and PAUSED is a state the user chose.
|
|
17
|
+
|
|
18
|
+
CREATE TABLE "WorkspaceAutoIteration" (
|
|
19
|
+
"workspaceId" TEXT NOT NULL PRIMARY KEY,
|
|
20
|
+
"mode" TEXT NOT NULL DEFAULT 'STANDARD',
|
|
21
|
+
"status" TEXT,
|
|
22
|
+
"config" JSONB,
|
|
23
|
+
"progress" JSONB,
|
|
24
|
+
"sessionId" TEXT,
|
|
25
|
+
CONSTRAINT "WorkspaceAutoIteration_workspaceId_fkey" FOREIGN KEY ("workspaceId") REFERENCES "Workspace" ("id") ON DELETE CASCADE ON UPDATE CASCADE
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
-- Backfill one row per existing workspace before the columns go away. Every
|
|
29
|
+
-- workspace gets a row, including the STANDARD ones that have never touched the
|
|
30
|
+
-- feature, so the compare-and-swaps on `sessionId` and `status` always have a
|
|
31
|
+
-- row to guard.
|
|
32
|
+
INSERT INTO "WorkspaceAutoIteration" ("workspaceId", "mode", "status", "config", "progress", "sessionId")
|
|
33
|
+
SELECT "id", "mode", "autoIterationStatus", "autoIterationConfig", "autoIterationProgress", "autoIterationSessionId"
|
|
34
|
+
FROM "Workspace";
|
|
35
|
+
|
|
36
|
+
-- RedefineTables
|
|
37
|
+
PRAGMA defer_foreign_keys=ON;
|
|
38
|
+
PRAGMA foreign_keys=OFF;
|
|
39
|
+
CREATE TABLE "new_Workspace" (
|
|
40
|
+
"id" TEXT NOT NULL PRIMARY KEY,
|
|
41
|
+
"projectId" TEXT NOT NULL,
|
|
42
|
+
"name" TEXT NOT NULL,
|
|
43
|
+
"description" TEXT,
|
|
44
|
+
"status" TEXT NOT NULL DEFAULT 'NEW',
|
|
45
|
+
"worktreePath" TEXT,
|
|
46
|
+
"branchName" TEXT,
|
|
47
|
+
"isAutoGeneratedBranch" BOOLEAN NOT NULL DEFAULT false,
|
|
48
|
+
"creationSource" TEXT NOT NULL DEFAULT 'MANUAL',
|
|
49
|
+
"creationMetadata" JSONB,
|
|
50
|
+
"initErrorMessage" TEXT,
|
|
51
|
+
"initOutput" TEXT,
|
|
52
|
+
"initStartedAt" DATETIME,
|
|
53
|
+
"initCompletedAt" DATETIME,
|
|
54
|
+
"initScriptPid" INTEGER,
|
|
55
|
+
"initRetryCount" INTEGER NOT NULL DEFAULT 0,
|
|
56
|
+
"githubIssueNumber" INTEGER,
|
|
57
|
+
"githubIssueUrl" TEXT,
|
|
58
|
+
"linearIssueId" TEXT,
|
|
59
|
+
"linearIssueIdentifier" TEXT,
|
|
60
|
+
"linearIssueUrl" TEXT,
|
|
61
|
+
"defaultSessionProvider" TEXT NOT NULL DEFAULT 'WORKSPACE_DEFAULT',
|
|
62
|
+
"ratchetSessionProvider" TEXT NOT NULL DEFAULT 'WORKSPACE_DEFAULT',
|
|
63
|
+
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
64
|
+
"updatedAt" DATETIME NOT NULL,
|
|
65
|
+
"periodicTaskId" TEXT,
|
|
66
|
+
"parent_workspace_id" TEXT,
|
|
67
|
+
"hasHadSessions" BOOLEAN NOT NULL DEFAULT false,
|
|
68
|
+
CONSTRAINT "Workspace_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
|
|
69
|
+
CONSTRAINT "Workspace_periodicTaskId_fkey" FOREIGN KEY ("periodicTaskId") REFERENCES "PeriodicTask" ("id") ON DELETE SET NULL ON UPDATE CASCADE,
|
|
70
|
+
CONSTRAINT "Workspace_parent_workspace_id_fkey" FOREIGN KEY ("parent_workspace_id") REFERENCES "Workspace" ("id") ON DELETE SET NULL ON UPDATE CASCADE
|
|
71
|
+
);
|
|
72
|
+
INSERT INTO "new_Workspace" ("branchName", "createdAt", "creationMetadata", "creationSource", "defaultSessionProvider", "description", "githubIssueNumber", "githubIssueUrl", "hasHadSessions", "id", "initCompletedAt", "initErrorMessage", "initOutput", "initRetryCount", "initScriptPid", "initStartedAt", "isAutoGeneratedBranch", "linearIssueId", "linearIssueIdentifier", "linearIssueUrl", "name", "parent_workspace_id", "periodicTaskId", "projectId", "ratchetSessionProvider", "status", "updatedAt", "worktreePath") SELECT "branchName", "createdAt", "creationMetadata", "creationSource", "defaultSessionProvider", "description", "githubIssueNumber", "githubIssueUrl", "hasHadSessions", "id", "initCompletedAt", "initErrorMessage", "initOutput", "initRetryCount", "initScriptPid", "initStartedAt", "isAutoGeneratedBranch", "linearIssueId", "linearIssueIdentifier", "linearIssueUrl", "name", "parent_workspace_id", "periodicTaskId", "projectId", "ratchetSessionProvider", "status", "updatedAt", "worktreePath" FROM "Workspace";
|
|
73
|
+
DROP TABLE "Workspace";
|
|
74
|
+
ALTER TABLE "new_Workspace" RENAME TO "Workspace";
|
|
75
|
+
CREATE INDEX "Workspace_projectId_idx" ON "Workspace"("projectId");
|
|
76
|
+
CREATE INDEX "Workspace_status_idx" ON "Workspace"("status");
|
|
77
|
+
CREATE INDEX "Workspace_parent_workspace_id_idx" ON "Workspace"("parent_workspace_id");
|
|
78
|
+
CREATE INDEX "Workspace_projectId_status_idx" ON "Workspace"("projectId", "status");
|
|
79
|
+
CREATE INDEX "Workspace_projectId_updatedAt_idx" ON "Workspace"("projectId", "updatedAt");
|
|
80
|
+
CREATE INDEX "Workspace_projectId_createdAt_idx" ON "Workspace"("projectId", "createdAt");
|
|
81
|
+
PRAGMA foreign_keys=ON;
|
|
82
|
+
PRAGMA defer_foreign_keys=OFF;
|
|
83
|
+
|
|
84
|
+
-- SQLite's RedefineTables above dropped and recreated "Workspace", which drops
|
|
85
|
+
-- every trigger attached to it. Recreate the depth-1 guards verbatim; any future
|
|
86
|
+
-- migration that redefines this table has to do the same.
|
|
87
|
+
CREATE TRIGGER enforce_workspace_depth_1
|
|
88
|
+
BEFORE INSERT ON "Workspace"
|
|
89
|
+
WHEN NEW."parent_workspace_id" IS NOT NULL
|
|
90
|
+
BEGIN
|
|
91
|
+
-- Block self-parenting
|
|
92
|
+
SELECT RAISE(ABORT, 'A workspace cannot be its own parent')
|
|
93
|
+
WHERE NEW."id" = NEW."parent_workspace_id";
|
|
94
|
+
-- Block grandchild chains: proposed parent must not already have a parent
|
|
95
|
+
SELECT RAISE(ABORT, 'Child workspaces cannot have children (max depth 1)')
|
|
96
|
+
WHERE EXISTS (
|
|
97
|
+
SELECT 1 FROM "Workspace"
|
|
98
|
+
WHERE "id" = NEW."parent_workspace_id"
|
|
99
|
+
AND "parent_workspace_id" IS NOT NULL
|
|
100
|
+
);
|
|
101
|
+
END;
|
|
102
|
+
|
|
103
|
+
CREATE TRIGGER enforce_workspace_depth_1_update
|
|
104
|
+
BEFORE UPDATE ON "Workspace"
|
|
105
|
+
WHEN NEW."parent_workspace_id" IS NOT NULL
|
|
106
|
+
BEGIN
|
|
107
|
+
-- Block self-parenting
|
|
108
|
+
SELECT RAISE(ABORT, 'A workspace cannot be its own parent')
|
|
109
|
+
WHERE NEW."id" = NEW."parent_workspace_id";
|
|
110
|
+
-- Block grandchild chains: proposed parent must not already have a parent
|
|
111
|
+
SELECT RAISE(ABORT, 'Child workspaces cannot have children (max depth 1)')
|
|
112
|
+
WHERE EXISTS (
|
|
113
|
+
SELECT 1 FROM "Workspace"
|
|
114
|
+
WHERE "id" = NEW."parent_workspace_id"
|
|
115
|
+
AND "parent_workspace_id" IS NOT NULL
|
|
116
|
+
);
|
|
117
|
+
-- Block re-parenting a workspace that already has children
|
|
118
|
+
SELECT RAISE(ABORT, 'Cannot re-parent a workspace that already has children (max depth 1)')
|
|
119
|
+
WHERE EXISTS (
|
|
120
|
+
SELECT 1 FROM "Workspace"
|
|
121
|
+
WHERE "parent_workspace_id" = NEW."id"
|
|
122
|
+
);
|
|
123
|
+
END;
|