@svenroth-ai/shipwright 0.26.0 → 0.28.0
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/client/dist/assets/{EmbeddedTerminal-D3wpPNZP.js → EmbeddedTerminal-4xgNUBUu.js} +19 -19
- package/client/dist/assets/{abnfDiagram-VRR7QNED-BkLIltB3.js → abnfDiagram-VRR7QNED-BdCNbaqc.js} +1 -1
- package/client/dist/assets/{arc-Sw-Gh0nI.js → arc-DoZTTE1N.js} +1 -1
- package/client/dist/assets/{architectureDiagram-ZJ3FMSHR-rdxUi9Ks.js → architectureDiagram-ZJ3FMSHR-DFTG4KtO.js} +1 -1
- package/client/dist/assets/{blockDiagram-677ZJIJ3-Ch_9dj8a.js → blockDiagram-677ZJIJ3-C34UBjOB.js} +1 -1
- package/client/dist/assets/{c4Diagram-LMCZKHZV-CkFlO65x.js → c4Diagram-LMCZKHZV-CbqAB1Ou.js} +1 -1
- package/client/dist/assets/channel-DBcZw7Kn.js +1 -0
- package/client/dist/assets/{chunk-2Q5K7J3B-CypX83xu.js → chunk-2Q5K7J3B-4N6AnmBJ.js} +1 -1
- package/client/dist/assets/{chunk-32BRIVSS-DxVLYGdl.js → chunk-32BRIVSS-Cs67LiCy.js} +1 -1
- package/client/dist/assets/{chunk-5VM5RSS4-Cxk1evhx.js → chunk-5VM5RSS4-Bwd7rtD3.js} +1 -1
- package/client/dist/assets/{chunk-EX3LRPZG-n9q5S4yJ.js → chunk-EX3LRPZG-CQqGfptD.js} +1 -1
- package/client/dist/assets/{chunk-JWPE2WC7-jeL4xvir.js → chunk-JWPE2WC7-ClvKd4PN.js} +1 -1
- package/client/dist/assets/{chunk-MOJQB5TN-DDSHN0cj.js → chunk-MOJQB5TN-Cwvj8GE1.js} +1 -1
- package/client/dist/assets/{chunk-RYQCIY6F-C0bo383g.js → chunk-RYQCIY6F-DrWMx37d.js} +1 -1
- package/client/dist/assets/{chunk-V7JOEXUC-C0jDXXAU.js → chunk-V7JOEXUC-CYFfa4PY.js} +1 -1
- package/client/dist/assets/{chunk-VR4S4FIN-h-Rr4Pn2.js → chunk-VR4S4FIN-B5eWtesm.js} +1 -1
- package/client/dist/assets/{chunk-XXDRQBXY-BexSo0-s.js → chunk-XXDRQBXY-BQAZ6Our.js} +1 -1
- package/client/dist/assets/classDiagram-OUVF2IWQ-C3Q1V9DU.js +1 -0
- package/client/dist/assets/classDiagram-v2-EOCWNBFH-C3Q1V9DU.js +1 -0
- package/client/dist/assets/{cose-bilkent-JH36ORCC-BQXzaioj.js → cose-bilkent-JH36ORCC-C76Yia6h.js} +1 -1
- package/client/dist/assets/{cynefin-VYW2F7L2-BJIofhfe.js → cynefin-VYW2F7L2-pJe7rdTi.js} +1 -1
- package/client/dist/assets/{cynefinDiagram-TSTJHNR4-DmPqTM1T.js → cynefinDiagram-TSTJHNR4-EeHQ7dYV.js} +1 -1
- package/client/dist/assets/{dagre-VKFMJZFB-1xljvw6X.js → dagre-VKFMJZFB-VXOY6IHR.js} +1 -1
- package/client/dist/assets/{diagram-FQU43EPY-iyL9muCG.js → diagram-FQU43EPY-DW_-leqw.js} +1 -1
- package/client/dist/assets/{diagram-G47NLZAW-DREp2Th6.js → diagram-G47NLZAW-C_hsLD4u.js} +1 -1
- package/client/dist/assets/{diagram-NH7WQ7WH-h0X3Is2S.js → diagram-NH7WQ7WH-CbeQuO_f.js} +1 -1
- package/client/dist/assets/{diagram-OA4YK3LP-Bj8YZRFJ.js → diagram-OA4YK3LP-DRHY5d_c.js} +1 -1
- package/client/dist/assets/{diagram-WEI45ONY-BZOf805d.js → diagram-WEI45ONY-B87OYR_S.js} +1 -1
- package/client/dist/assets/{ebnfDiagram-CCIWWBDH-DO5JnXda.js → ebnfDiagram-CCIWWBDH-B8Z8WHF6.js} +1 -1
- package/client/dist/assets/{erDiagram-Q63AITRT-DRgcqg1T.js → erDiagram-Q63AITRT-DaD7oa9H.js} +1 -1
- package/client/dist/assets/{flowDiagram-23GEKE2U-C3J9QmrW.js → flowDiagram-23GEKE2U-GrMVpsea.js} +1 -1
- package/client/dist/assets/{ganttDiagram-NO4QXBWP-BIEl3Tkm.js → ganttDiagram-NO4QXBWP-K3X0DYBa.js} +1 -1
- package/client/dist/assets/{gitGraphDiagram-IHSO6WYX-BNF0tFWC.js → gitGraphDiagram-IHSO6WYX-B2SEx0xa.js} +1 -1
- package/client/dist/assets/index-CIpLt0ie.js +863 -0
- package/client/dist/assets/index-DGtnTeFd.css +1 -0
- package/client/dist/assets/{infoDiagram-FWYZ7A6U-DEyFxiyY.js → infoDiagram-FWYZ7A6U-Fi8fQ95G.js} +1 -1
- package/client/dist/assets/{ishikawaDiagram-FXEZZL3T-B_ehlg3I.js → ishikawaDiagram-FXEZZL3T-CrN7QJzt.js} +1 -1
- package/client/dist/assets/{journeyDiagram-5HDEW3XC-Dp00FyJS.js → journeyDiagram-5HDEW3XC-XHIsl7rM.js} +1 -1
- package/client/dist/assets/{kanban-definition-HUTT4EX6-CTAf16q8.js → kanban-definition-HUTT4EX6-A6HJqHw7.js} +1 -1
- package/client/dist/assets/{linear-9vNUgmYd.js → linear-D1vF9IQB.js} +1 -1
- package/client/dist/assets/{mermaid.core-A6tjaEVD.js → mermaid.core-D6w9zlA0.js} +4 -4
- package/client/dist/assets/{mindmap-definition-LN4V7U3C-DRW3bmCY.js → mindmap-definition-LN4V7U3C-CxRkUj6Z.js} +1 -1
- package/client/dist/assets/{pegDiagram-2B236MQR-DJFCjHp2.js → pegDiagram-2B236MQR-Bs9dp-8a.js} +1 -1
- package/client/dist/assets/{pieDiagram-ENE6RG2P-KRd-sGvC.js → pieDiagram-ENE6RG2P-DBWILzB8.js} +1 -1
- package/client/dist/assets/{quadrantDiagram-ABIIQ3AL-9TLZE3Hu.js → quadrantDiagram-ABIIQ3AL-DrCVJJx6.js} +1 -1
- package/client/dist/assets/{railroadDiagram-RFXS5EU6-y4tLtjXg.js → railroadDiagram-RFXS5EU6-BdPW2dNf.js} +1 -1
- package/client/dist/assets/{requirementDiagram-TGXJPOKE-B9EOQDQM.js → requirementDiagram-TGXJPOKE-Bj_g3tC5.js} +1 -1
- package/client/dist/assets/{sankeyDiagram-HTMAVEWB-zfwiDzkT.js → sankeyDiagram-HTMAVEWB-BGL9NnsS.js} +1 -1
- package/client/dist/assets/{sequenceDiagram-DBY2YBRQ-DW1LWepL.js → sequenceDiagram-DBY2YBRQ-DEirxTZY.js} +1 -1
- package/client/dist/assets/{sizeCapture-X5ZJPWSS-BM81Mik0.js → sizeCapture-X5ZJPWSS-BtLrvrea.js} +1 -1
- package/client/dist/assets/{stateDiagram-2N3HPSRC-D0EMIw1w.js → stateDiagram-2N3HPSRC-D3GXIouX.js} +1 -1
- package/client/dist/assets/stateDiagram-v2-6OUMAXLB-D3lXe_mJ.js +1 -0
- package/client/dist/assets/{swimlanes-5IMT3BWC-CKXNCX6M.js → swimlanes-5IMT3BWC-PMRQzNhU.js} +2 -2
- package/client/dist/assets/swimlanesDiagram-G3AALYLV-DMLbRFiO.js +8 -0
- package/client/dist/assets/{timeline-definition-FHXFAJF6-ByzIfvL5.js → timeline-definition-FHXFAJF6-CnBKJtD_.js} +1 -1
- package/client/dist/assets/{vennDiagram-L72KCM5P-Xep38xBH.js → vennDiagram-L72KCM5P-BYmiJYoh.js} +1 -1
- package/client/dist/assets/{wardleyDiagram-EHGQE667-DKWDpx6g.js → wardleyDiagram-EHGQE667-DU7vW8q3.js} +1 -1
- package/client/dist/assets/{xychartDiagram-FW5EYKEG-BGcwZTnu.js → xychartDiagram-FW5EYKEG-BEtPvBSU.js} +1 -1
- package/client/dist/index.html +2 -2
- package/lib/preflight.mjs +24 -5
- package/lib/probes.mjs +10 -4
- package/lib/server.mjs +149 -12
- package/lib/util.mjs +5 -1
- package/package.json +1 -1
- package/scripts/deploy-procs.mjs +105 -20
- package/scripts/deploy-swap.mjs +23 -2
- package/server/dist/config.d.ts +9 -0
- package/server/dist/config.d.ts.map +1 -1
- package/server/dist/config.js +1 -0
- package/server/dist/config.js.map +1 -1
- package/server/dist/core/campaign-events.d.ts.map +1 -1
- package/server/dist/core/campaign-events.js +1 -0
- package/server/dist/core/campaign-events.js.map +1 -1
- package/server/dist/core/campaign-loop-state.d.ts.map +1 -1
- package/server/dist/core/campaign-loop-state.js +54 -21
- package/server/dist/core/campaign-loop-state.js.map +1 -1
- package/server/dist/core/campaign-parse.d.ts +4 -0
- package/server/dist/core/campaign-parse.d.ts.map +1 -1
- package/server/dist/core/campaign-parse.js +9 -0
- package/server/dist/core/campaign-parse.js.map +1 -1
- package/server/dist/core/campaign-readiness-schema.d.ts +33 -0
- package/server/dist/core/campaign-readiness-schema.d.ts.map +1 -0
- package/server/dist/core/campaign-readiness-schema.js +70 -0
- package/server/dist/core/campaign-readiness-schema.js.map +1 -0
- package/server/dist/core/campaign-readiness.d.ts +59 -0
- package/server/dist/core/campaign-readiness.d.ts.map +1 -0
- package/server/dist/core/campaign-readiness.js +163 -0
- package/server/dist/core/campaign-readiness.js.map +1 -0
- package/server/dist/core/campaign-status-json.d.ts +3 -0
- package/server/dist/core/campaign-status-json.d.ts.map +1 -1
- package/server/dist/core/campaign-status-json.js +7 -0
- package/server/dist/core/campaign-status-json.js.map +1 -1
- package/server/dist/core/campaign-store.d.ts.map +1 -1
- package/server/dist/core/campaign-store.js +4 -1
- package/server/dist/core/campaign-store.js.map +1 -1
- package/server/dist/core/campaign-types.d.ts +8 -0
- package/server/dist/core/campaign-types.d.ts.map +1 -1
- package/server/dist/core/campaign-worktree-root.d.ts +19 -0
- package/server/dist/core/campaign-worktree-root.d.ts.map +1 -0
- package/server/dist/core/campaign-worktree-root.js +76 -0
- package/server/dist/core/campaign-worktree-root.js.map +1 -0
- package/server/dist/core/claim-record-lock.d.ts +30 -0
- package/server/dist/core/claim-record-lock.d.ts.map +1 -0
- package/server/dist/core/claim-record-lock.js +90 -0
- package/server/dist/core/claim-record-lock.js.map +1 -0
- package/server/dist/core/cli-child-spawn.d.ts +28 -0
- package/server/dist/core/cli-child-spawn.d.ts.map +1 -0
- package/server/dist/core/cli-child-spawn.js +146 -0
- package/server/dist/core/cli-child-spawn.js.map +1 -0
- package/server/dist/core/codex-models-probe.d.ts +46 -0
- package/server/dist/core/codex-models-probe.d.ts.map +1 -0
- package/server/dist/core/codex-models-probe.js +103 -0
- package/server/dist/core/codex-models-probe.js.map +1 -0
- package/server/dist/core/codex-oracle-runner.d.ts +68 -0
- package/server/dist/core/codex-oracle-runner.d.ts.map +1 -0
- package/server/dist/core/codex-oracle-runner.js +124 -0
- package/server/dist/core/codex-oracle-runner.js.map +1 -0
- package/server/dist/core/codex-status-report.d.ts +6 -0
- package/server/dist/core/codex-status-report.d.ts.map +1 -0
- package/server/dist/core/codex-status-report.js +40 -0
- package/server/dist/core/codex-status-report.js.map +1 -0
- package/server/dist/core/codex-task-watcher-types.d.ts +69 -0
- package/server/dist/core/codex-task-watcher-types.d.ts.map +1 -0
- package/server/dist/core/codex-task-watcher-types.js +12 -0
- package/server/dist/core/codex-task-watcher-types.js.map +1 -0
- package/server/dist/core/codex-task-watcher.d.ts +30 -0
- package/server/dist/core/codex-task-watcher.d.ts.map +1 -0
- package/server/dist/core/codex-task-watcher.js +252 -0
- package/server/dist/core/codex-task-watcher.js.map +1 -0
- package/server/dist/core/codex-terminal-signal-detect.d.ts +7 -0
- package/server/dist/core/codex-terminal-signal-detect.d.ts.map +1 -0
- package/server/dist/core/codex-terminal-signal-detect.js +113 -0
- package/server/dist/core/codex-terminal-signal-detect.js.map +1 -0
- package/server/dist/core/codex-thread-discovery.d.ts +21 -0
- package/server/dist/core/codex-thread-discovery.d.ts.map +1 -0
- package/server/dist/core/codex-thread-discovery.js +169 -0
- package/server/dist/core/codex-thread-discovery.js.map +1 -0
- package/server/dist/core/codextender-auth-file-sweep.d.ts +41 -0
- package/server/dist/core/codextender-auth-file-sweep.d.ts.map +1 -0
- package/server/dist/core/codextender-auth-file-sweep.js +97 -0
- package/server/dist/core/codextender-auth-file-sweep.js.map +1 -0
- package/server/dist/core/codextender-proxy-probe.d.ts +80 -0
- package/server/dist/core/codextender-proxy-probe.d.ts.map +1 -0
- package/server/dist/core/codextender-proxy-probe.js +179 -0
- package/server/dist/core/codextender-proxy-probe.js.map +1 -0
- package/server/dist/core/contract-version.d.ts +16 -1
- package/server/dist/core/contract-version.d.ts.map +1 -1
- package/server/dist/core/contract-version.js +16 -1
- package/server/dist/core/contract-version.js.map +1 -1
- package/server/dist/core/launcher-codex.d.ts +61 -0
- package/server/dist/core/launcher-codex.d.ts.map +1 -0
- package/server/dist/core/launcher-codex.js +187 -0
- package/server/dist/core/launcher-codex.js.map +1 -0
- package/server/dist/core/launcher-codextender-env.d.ts +44 -0
- package/server/dist/core/launcher-codextender-env.d.ts.map +1 -0
- package/server/dist/core/launcher-codextender-env.js +212 -0
- package/server/dist/core/launcher-codextender-env.js.map +1 -0
- package/server/dist/core/launcher-codextender.d.ts +72 -0
- package/server/dist/core/launcher-codextender.d.ts.map +1 -0
- package/server/dist/core/launcher-codextender.js +98 -0
- package/server/dist/core/launcher-codextender.js.map +1 -0
- package/server/dist/core/launcher-codextender.smoke-helpers.d.ts +25 -0
- package/server/dist/core/launcher-codextender.smoke-helpers.d.ts.map +1 -0
- package/server/dist/core/launcher-codextender.smoke-helpers.js +211 -0
- package/server/dist/core/launcher-codextender.smoke-helpers.js.map +1 -0
- package/server/dist/core/launcher-permission-flags.d.ts +17 -0
- package/server/dist/core/launcher-permission-flags.d.ts.map +1 -0
- package/server/dist/core/launcher-permission-flags.js +27 -0
- package/server/dist/core/launcher-permission-flags.js.map +1 -0
- package/server/dist/core/launcher.d.ts +18 -0
- package/server/dist/core/launcher.d.ts.map +1 -1
- package/server/dist/core/launcher.js +6 -0
- package/server/dist/core/launcher.js.map +1 -1
- package/server/dist/core/leadwright-preflight-transport.d.ts +27 -0
- package/server/dist/core/leadwright-preflight-transport.d.ts.map +1 -0
- package/server/dist/core/leadwright-preflight-transport.js +124 -0
- package/server/dist/core/leadwright-preflight-transport.js.map +1 -0
- package/server/dist/core/mission-context/artifacts-tests-ac.d.ts +6 -0
- package/server/dist/core/mission-context/artifacts-tests-ac.d.ts.map +1 -0
- package/server/dist/core/mission-context/artifacts-tests-ac.js +31 -0
- package/server/dist/core/mission-context/artifacts-tests-ac.js.map +1 -0
- package/server/dist/core/mission-context/artifacts-tests.d.ts.map +1 -1
- package/server/dist/core/mission-context/artifacts-tests.js +20 -0
- package/server/dist/core/mission-context/artifacts-tests.js.map +1 -1
- package/server/dist/core/mission-context/resolver-io.d.ts +10 -0
- package/server/dist/core/mission-context/resolver-io.d.ts.map +1 -1
- package/server/dist/core/mission-context/resolver-parts.d.ts +8 -7
- package/server/dist/core/mission-context/resolver-parts.d.ts.map +1 -1
- package/server/dist/core/mission-context/resolver-parts.js +22 -14
- package/server/dist/core/mission-context/resolver-parts.js.map +1 -1
- package/server/dist/core/mission-context/resolver.d.ts.map +1 -1
- package/server/dist/core/mission-context/resolver.js +1 -1
- package/server/dist/core/mission-context/resolver.js.map +1 -1
- package/server/dist/core/mission-context/run-id-recovery.d.ts +18 -2
- package/server/dist/core/mission-context/run-id-recovery.d.ts.map +1 -1
- package/server/dist/core/mission-context/run-id-recovery.js +38 -18
- package/server/dist/core/mission-context/run-id-recovery.js.map +1 -1
- package/server/dist/core/mission-context/traceability.d.ts.map +1 -1
- package/server/dist/core/mission-context/traceability.js +15 -1
- package/server/dist/core/mission-context/traceability.js.map +1 -1
- package/server/dist/core/mission-context/types-slice2.d.ts +44 -0
- package/server/dist/core/mission-context/types-slice2.d.ts.map +1 -1
- package/server/dist/core/model-tier-config-reader.d.ts +14 -1
- package/server/dist/core/model-tier-config-reader.d.ts.map +1 -1
- package/server/dist/core/model-tier-config-reader.js +34 -2
- package/server/dist/core/model-tier-config-reader.js.map +1 -1
- package/server/dist/core/powershell-probe.smoke-helpers.d.ts +12 -0
- package/server/dist/core/powershell-probe.smoke-helpers.d.ts.map +1 -0
- package/server/dist/core/powershell-probe.smoke-helpers.js +80 -0
- package/server/dist/core/powershell-probe.smoke-helpers.js.map +1 -0
- package/server/dist/core/readiness-install-hints.d.ts +1 -1
- package/server/dist/core/readiness-install-hints.d.ts.map +1 -1
- package/server/dist/core/readiness-install-hints.js +5 -0
- package/server/dist/core/readiness-install-hints.js.map +1 -1
- package/server/dist/core/readiness-probe-run.d.ts +61 -0
- package/server/dist/core/readiness-probe-run.d.ts.map +1 -1
- package/server/dist/core/readiness-probe-run.js +93 -15
- package/server/dist/core/readiness-probe-run.js.map +1 -1
- package/server/dist/core/readiness-probe.d.ts +1 -1
- package/server/dist/core/readiness-probe.d.ts.map +1 -1
- package/server/dist/core/readiness-probe.js +36 -8
- package/server/dist/core/readiness-probe.js.map +1 -1
- package/server/dist/core/sdk-sessions-merge.d.ts +19 -0
- package/server/dist/core/sdk-sessions-merge.d.ts.map +1 -1
- package/server/dist/core/sdk-sessions-merge.js +19 -5
- package/server/dist/core/sdk-sessions-merge.js.map +1 -1
- package/server/dist/core/sdk-sessions-refresh.d.ts +50 -0
- package/server/dist/core/sdk-sessions-refresh.d.ts.map +1 -0
- package/server/dist/core/sdk-sessions-refresh.js +69 -0
- package/server/dist/core/sdk-sessions-refresh.js.map +1 -0
- package/server/dist/core/sdk-sessions-store.d.ts +48 -0
- package/server/dist/core/sdk-sessions-store.d.ts.map +1 -1
- package/server/dist/core/sdk-sessions-store.js +8 -9
- package/server/dist/core/sdk-sessions-store.js.map +1 -1
- package/server/dist/core/sdk-sessions-validate.d.ts.map +1 -1
- package/server/dist/core/sdk-sessions-validate.js +11 -0
- package/server/dist/core/sdk-sessions-validate.js.map +1 -1
- package/server/dist/core/settings-reader.d.ts +18 -0
- package/server/dist/core/settings-reader.d.ts.map +1 -0
- package/server/dist/core/settings-reader.js +40 -0
- package/server/dist/core/settings-reader.js.map +1 -0
- package/server/dist/core/shell-quote.d.ts +29 -0
- package/server/dist/core/shell-quote.d.ts.map +1 -1
- package/server/dist/core/shell-quote.js +34 -0
- package/server/dist/core/shell-quote.js.map +1 -1
- package/server/dist/core/shipwright-plugin-version-reader.d.ts +15 -0
- package/server/dist/core/shipwright-plugin-version-reader.d.ts.map +1 -0
- package/server/dist/core/shipwright-plugin-version-reader.js +49 -0
- package/server/dist/core/shipwright-plugin-version-reader.js.map +1 -0
- package/server/dist/core/task-editability.d.ts +1 -1
- package/server/dist/core/task-editability.d.ts.map +1 -1
- package/server/dist/core/task-editability.js +1 -0
- package/server/dist/core/task-editability.js.map +1 -1
- package/server/dist/core/triage-cli-runner.d.ts.map +1 -1
- package/server/dist/core/triage-cli-runner.js +6 -21
- package/server/dist/core/triage-cli-runner.js.map +1 -1
- package/server/dist/core/triage-compose.d.ts.map +1 -1
- package/server/dist/core/triage-compose.js +34 -3
- package/server/dist/core/triage-compose.js.map +1 -1
- package/server/dist/core/triage-store.d.ts +2 -1
- package/server/dist/core/triage-store.d.ts.map +1 -1
- package/server/dist/core/triage-store.js +1 -1
- package/server/dist/core/triage-store.js.map +1 -1
- package/server/dist/external/create-external-routes-args.d.ts +122 -0
- package/server/dist/external/create-external-routes-args.d.ts.map +1 -0
- package/server/dist/external/create-external-routes-args.js +2 -0
- package/server/dist/external/create-external-routes-args.js.map +1 -0
- package/server/dist/external/inbox/_codex.d.ts +14 -0
- package/server/dist/external/inbox/_codex.d.ts.map +1 -0
- package/server/dist/external/inbox/_codex.js +88 -0
- package/server/dist/external/inbox/_codex.js.map +1 -0
- package/server/dist/external/inbox/_derive.d.ts +2 -25
- package/server/dist/external/inbox/_derive.d.ts.map +1 -1
- package/server/dist/external/inbox/_derive.js +11 -0
- package/server/dist/external/inbox/_derive.js.map +1 -1
- package/server/dist/external/inbox/_lead.d.ts +23 -0
- package/server/dist/external/inbox/_lead.d.ts.map +1 -0
- package/server/dist/external/inbox/_lead.js +83 -0
- package/server/dist/external/inbox/_lead.js.map +1 -0
- package/server/dist/external/inbox/_types.d.ts +55 -0
- package/server/dist/external/inbox/_types.d.ts.map +1 -0
- package/server/dist/external/inbox/_types.js +13 -0
- package/server/dist/external/inbox/_types.js.map +1 -0
- package/server/dist/external/inbox/routes.d.ts +7 -0
- package/server/dist/external/inbox/routes.d.ts.map +1 -1
- package/server/dist/external/inbox/routes.js +43 -2
- package/server/dist/external/inbox/routes.js.map +1 -1
- package/server/dist/external/launch/_helpers.d.ts +4 -0
- package/server/dist/external/launch/_helpers.d.ts.map +1 -1
- package/server/dist/external/launch/_helpers.js.map +1 -1
- package/server/dist/external/launch/action-substitution-branch.d.ts +12 -0
- package/server/dist/external/launch/action-substitution-branch.d.ts.map +1 -1
- package/server/dist/external/launch/action-substitution-branch.js +35 -1
- package/server/dist/external/launch/action-substitution-branch.js.map +1 -1
- package/server/dist/external/launch/branch-dispatch.d.ts +15 -0
- package/server/dist/external/launch/branch-dispatch.d.ts.map +1 -0
- package/server/dist/external/launch/branch-dispatch.js +73 -0
- package/server/dist/external/launch/branch-dispatch.js.map +1 -0
- package/server/dist/external/launch/campaign-step-branch.d.ts +7 -1
- package/server/dist/external/launch/campaign-step-branch.d.ts.map +1 -1
- package/server/dist/external/launch/campaign-step-branch.js +70 -2
- package/server/dist/external/launch/campaign-step-branch.js.map +1 -1
- package/server/dist/external/launch/claim-executor-permissions.d.ts +31 -0
- package/server/dist/external/launch/claim-executor-permissions.d.ts.map +1 -0
- package/server/dist/external/launch/claim-executor-permissions.js +107 -0
- package/server/dist/external/launch/claim-executor-permissions.js.map +1 -0
- package/server/dist/external/launch/claim-executor-template-arming.d.ts +42 -0
- package/server/dist/external/launch/claim-executor-template-arming.d.ts.map +1 -0
- package/server/dist/external/launch/claim-executor-template-arming.js +121 -0
- package/server/dist/external/launch/claim-executor-template-arming.js.map +1 -0
- package/server/dist/external/launch/claim-holder-gate.d.ts +51 -0
- package/server/dist/external/launch/claim-holder-gate.d.ts.map +1 -0
- package/server/dist/external/launch/claim-holder-gate.js +95 -0
- package/server/dist/external/launch/claim-holder-gate.js.map +1 -0
- package/server/dist/external/launch/claim-permission-perimeter-assert.d.ts +3 -0
- package/server/dist/external/launch/claim-permission-perimeter-assert.d.ts.map +1 -0
- package/server/dist/external/launch/claim-permission-perimeter-assert.js +24 -0
- package/server/dist/external/launch/claim-permission-perimeter-assert.js.map +1 -0
- package/server/dist/external/launch/legacy-fallback-branch.d.ts +14 -0
- package/server/dist/external/launch/legacy-fallback-branch.d.ts.map +1 -1
- package/server/dist/external/launch/legacy-fallback-branch.js +3 -1
- package/server/dist/external/launch/legacy-fallback-branch.js.map +1 -1
- package/server/dist/external/launch/master-run-branch.js +2 -2
- package/server/dist/external/launch/master-run-branch.js.map +1 -1
- package/server/dist/external/launch/mixed-intents-guard.d.ts +10 -0
- package/server/dist/external/launch/mixed-intents-guard.d.ts.map +1 -0
- package/server/dist/external/launch/mixed-intents-guard.js +49 -0
- package/server/dist/external/launch/mixed-intents-guard.js.map +1 -0
- package/server/dist/external/launch/parse-body.d.ts +29 -0
- package/server/dist/external/launch/parse-body.d.ts.map +1 -1
- package/server/dist/external/launch/parse-body.js +66 -0
- package/server/dist/external/launch/parse-body.js.map +1 -1
- package/server/dist/external/launch/routes.d.ts +3 -0
- package/server/dist/external/launch/routes.d.ts.map +1 -1
- package/server/dist/external/launch/routes.js +99 -128
- package/server/dist/external/launch/routes.js.map +1 -1
- package/server/dist/external/launch/runtime-chokepoint-codextender.d.ts +20 -0
- package/server/dist/external/launch/runtime-chokepoint-codextender.d.ts.map +1 -0
- package/server/dist/external/launch/runtime-chokepoint-codextender.js +51 -0
- package/server/dist/external/launch/runtime-chokepoint-codextender.js.map +1 -0
- package/server/dist/external/launch/runtime-chokepoint-errors.d.ts +33 -0
- package/server/dist/external/launch/runtime-chokepoint-errors.d.ts.map +1 -0
- package/server/dist/external/launch/runtime-chokepoint-errors.js +63 -0
- package/server/dist/external/launch/runtime-chokepoint-errors.js.map +1 -0
- package/server/dist/external/launch/runtime-chokepoint.d.ts +120 -0
- package/server/dist/external/launch/runtime-chokepoint.d.ts.map +1 -0
- package/server/dist/external/launch/runtime-chokepoint.js +201 -0
- package/server/dist/external/launch/runtime-chokepoint.js.map +1 -0
- package/server/dist/external/mission-context/routes.d.ts +33 -27
- package/server/dist/external/mission-context/routes.d.ts.map +1 -1
- package/server/dist/external/mission-context/routes.js +30 -27
- package/server/dist/external/mission-context/routes.js.map +1 -1
- package/server/dist/external/mission-context/test-harness.d.ts +6 -0
- package/server/dist/external/mission-context/test-harness.d.ts.map +1 -1
- package/server/dist/external/mission-context/test-harness.js +6 -1
- package/server/dist/external/mission-context/test-harness.js.map +1 -1
- package/server/dist/external/mission-context/wire.d.ts.map +1 -1
- package/server/dist/external/mission-context/wire.js +24 -2
- package/server/dist/external/mission-context/wire.js.map +1 -1
- package/server/dist/external/org/audit-log.d.ts +19 -0
- package/server/dist/external/org/audit-log.d.ts.map +1 -1
- package/server/dist/external/org/audit-log.js +33 -18
- package/server/dist/external/org/audit-log.js.map +1 -1
- package/server/dist/external/org/beat-effect-audit-read.d.ts +15 -0
- package/server/dist/external/org/beat-effect-audit-read.d.ts.map +1 -0
- package/server/dist/external/org/beat-effect-audit-read.js +73 -0
- package/server/dist/external/org/beat-effect-audit-read.js.map +1 -0
- package/server/dist/external/org/beat-register-health.d.ts +57 -0
- package/server/dist/external/org/beat-register-health.d.ts.map +1 -0
- package/server/dist/external/org/beat-register-health.js +125 -0
- package/server/dist/external/org/beat-register-health.js.map +1 -0
- package/server/dist/external/org/beat-register-release-core.d.ts.map +1 -1
- package/server/dist/external/org/beat-register-release-core.js +4 -1
- package/server/dist/external/org/beat-register-release-core.js.map +1 -1
- package/server/dist/external/org/beat-register-release-request.d.ts +20 -0
- package/server/dist/external/org/beat-register-release-request.d.ts.map +1 -0
- package/server/dist/external/org/beat-register-release-request.js +92 -0
- package/server/dist/external/org/beat-register-release-request.js.map +1 -0
- package/server/dist/external/org/beat-register-release.d.ts +3 -1
- package/server/dist/external/org/beat-register-release.d.ts.map +1 -1
- package/server/dist/external/org/beat-register-release.js +15 -57
- package/server/dist/external/org/beat-register-release.js.map +1 -1
- package/server/dist/external/org/beat-register.d.ts +18 -20
- package/server/dist/external/org/beat-register.d.ts.map +1 -1
- package/server/dist/external/org/beat-register.js +30 -56
- package/server/dist/external/org/beat-register.js.map +1 -1
- package/server/dist/external/org/beat-steps-read.d.ts +17 -0
- package/server/dist/external/org/beat-steps-read.d.ts.map +1 -0
- package/server/dist/external/org/beat-steps-read.js +89 -0
- package/server/dist/external/org/beat-steps-read.js.map +1 -0
- package/server/dist/external/org/charter-authority-read.d.ts +39 -0
- package/server/dist/external/org/charter-authority-read.d.ts.map +1 -0
- package/server/dist/external/org/charter-authority-read.js +142 -0
- package/server/dist/external/org/charter-authority-read.js.map +1 -0
- package/server/dist/external/org/commit-validate.d.ts +18 -0
- package/server/dist/external/org/commit-validate.d.ts.map +1 -0
- package/server/dist/external/org/commit-validate.js +59 -0
- package/server/dist/external/org/commit-validate.js.map +1 -0
- package/server/dist/external/org/commit-writes.d.ts +68 -0
- package/server/dist/external/org/commit-writes.d.ts.map +1 -0
- package/server/dist/external/org/commit-writes.js +110 -0
- package/server/dist/external/org/commit-writes.js.map +1 -0
- package/server/dist/external/org/commit.d.ts +73 -0
- package/server/dist/external/org/commit.d.ts.map +1 -0
- package/server/dist/external/org/commit.js +181 -0
- package/server/dist/external/org/commit.js.map +1 -0
- package/server/dist/external/org/commit.test-fixtures.d.ts +38 -0
- package/server/dist/external/org/commit.test-fixtures.d.ts.map +1 -0
- package/server/dist/external/org/commit.test-fixtures.js +67 -0
- package/server/dist/external/org/commit.test-fixtures.js.map +1 -0
- package/server/dist/external/org/countersign-core.d.ts +19 -0
- package/server/dist/external/org/countersign-core.d.ts.map +1 -0
- package/server/dist/external/org/countersign-core.js +122 -0
- package/server/dist/external/org/countersign-core.js.map +1 -0
- package/server/dist/external/org/countersign-request.d.ts +14 -0
- package/server/dist/external/org/countersign-request.d.ts.map +1 -0
- package/server/dist/external/org/countersign-request.js +78 -0
- package/server/dist/external/org/countersign-request.js.map +1 -0
- package/server/dist/external/org/countersign.d.ts +6 -5
- package/server/dist/external/org/countersign.d.ts.map +1 -1
- package/server/dist/external/org/countersign.js +12 -141
- package/server/dist/external/org/countersign.js.map +1 -1
- package/server/dist/external/org/daemon-config-read.d.ts +31 -0
- package/server/dist/external/org/daemon-config-read.d.ts.map +1 -0
- package/server/dist/external/org/daemon-config-read.js +50 -0
- package/server/dist/external/org/daemon-config-read.js.map +1 -0
- package/server/dist/external/org/decisions-lock.d.ts +6 -4
- package/server/dist/external/org/decisions-lock.d.ts.map +1 -1
- package/server/dist/external/org/decisions-lock.js +9 -8
- package/server/dist/external/org/decisions-lock.js.map +1 -1
- package/server/dist/external/org/domains.d.ts +35 -0
- package/server/dist/external/org/domains.d.ts.map +1 -0
- package/server/dist/external/org/domains.js +29 -0
- package/server/dist/external/org/domains.js.map +1 -0
- package/server/dist/external/org/existing-charters-read.d.ts +5 -0
- package/server/dist/external/org/existing-charters-read.d.ts.map +1 -0
- package/server/dist/external/org/existing-charters-read.js +31 -0
- package/server/dist/external/org/existing-charters-read.js.map +1 -0
- package/server/dist/external/org/lead-question-threads.d.ts +46 -0
- package/server/dist/external/org/lead-question-threads.d.ts.map +1 -0
- package/server/dist/external/org/lead-question-threads.js +132 -0
- package/server/dist/external/org/lead-question-threads.js.map +1 -0
- package/server/dist/external/org/leadwright-proposal-merge.d.ts +54 -0
- package/server/dist/external/org/leadwright-proposal-merge.d.ts.map +1 -0
- package/server/dist/external/org/leadwright-proposal-merge.js +47 -0
- package/server/dist/external/org/leadwright-proposal-merge.js.map +1 -0
- package/server/dist/external/org/mount.d.ts +11 -0
- package/server/dist/external/org/mount.d.ts.map +1 -1
- package/server/dist/external/org/mount.js +7 -1
- package/server/dist/external/org/mount.js.map +1 -1
- package/server/dist/external/org/org-chart-full-read.d.ts +19 -0
- package/server/dist/external/org/org-chart-full-read.d.ts.map +1 -0
- package/server/dist/external/org/org-chart-full-read.js +58 -0
- package/server/dist/external/org/org-chart-full-read.js.map +1 -0
- package/server/dist/external/org/org-file-lock.d.ts +41 -0
- package/server/dist/external/org/org-file-lock.d.ts.map +1 -0
- package/server/dist/external/org/org-file-lock.js +90 -0
- package/server/dist/external/org/org-file-lock.js.map +1 -0
- package/server/dist/external/org/routes.d.ts +10 -0
- package/server/dist/external/org/routes.d.ts.map +1 -1
- package/server/dist/external/org/routes.js +22 -1
- package/server/dist/external/org/routes.js.map +1 -1
- package/server/dist/external/org/usage.d.ts.map +1 -1
- package/server/dist/external/org/usage.js +20 -2
- package/server/dist/external/org/usage.js.map +1 -1
- package/server/dist/external/org/verdict.d.ts +57 -0
- package/server/dist/external/org/verdict.d.ts.map +1 -0
- package/server/dist/external/org/verdict.js +74 -0
- package/server/dist/external/org/verdict.js.map +1 -0
- package/server/dist/external/routes.d.ts +3 -101
- package/server/dist/external/routes.d.ts.map +1 -1
- package/server/dist/external/routes.js +12 -3
- package/server/dist/external/routes.js.map +1 -1
- package/server/dist/external/tasks/create.d.ts.map +1 -1
- package/server/dist/external/tasks/create.js +8 -0
- package/server/dist/external/tasks/create.js.map +1 -1
- package/server/dist/external/tasks/fork.d.ts +29 -0
- package/server/dist/external/tasks/fork.d.ts.map +1 -0
- package/server/dist/external/tasks/fork.js +166 -0
- package/server/dist/external/tasks/fork.js.map +1 -0
- package/server/dist/external/tasks/lifecycle.d.ts.map +1 -1
- package/server/dist/external/tasks/lifecycle.js +10 -57
- package/server/dist/external/tasks/lifecycle.js.map +1 -1
- package/server/dist/external/tasks/patch.d.ts.map +1 -1
- package/server/dist/external/tasks/patch.js +17 -0
- package/server/dist/external/tasks/patch.js.map +1 -1
- package/server/dist/external/tasks/routes.d.ts +2 -0
- package/server/dist/external/tasks/routes.d.ts.map +1 -1
- package/server/dist/external/tasks/routes.js +7 -0
- package/server/dist/external/tasks/routes.js.map +1 -1
- package/server/dist/external/transcript/routes.d.ts.map +1 -1
- package/server/dist/external/transcript/routes.js +25 -3
- package/server/dist/external/transcript/routes.js.map +1 -1
- package/server/dist/external-routes-wiring.d.ts +28 -0
- package/server/dist/external-routes-wiring.d.ts.map +1 -0
- package/server/dist/external-routes-wiring.js +61 -0
- package/server/dist/external-routes-wiring.js.map +1 -0
- package/server/dist/index.d.ts.map +1 -1
- package/server/dist/index.js +111 -44
- package/server/dist/index.js.map +1 -1
- package/server/dist/lib/resolveHonoHost.d.ts.map +1 -1
- package/server/dist/lib/resolveHonoHost.js +16 -1
- package/server/dist/lib/resolveHonoHost.js.map +1 -1
- package/server/dist/routes/_triage-api-harness.d.ts +1 -1
- package/server/dist/routes/_triage-api-harness.d.ts.map +1 -1
- package/server/dist/routes/_triage-api-harness.js.map +1 -1
- package/server/dist/routes/campaigns-readiness.d.ts +10 -0
- package/server/dist/routes/campaigns-readiness.d.ts.map +1 -0
- package/server/dist/routes/campaigns-readiness.js +58 -0
- package/server/dist/routes/campaigns-readiness.js.map +1 -0
- package/server/dist/routes/campaigns.d.ts.map +1 -1
- package/server/dist/routes/campaigns.js +3 -0
- package/server/dist/routes/campaigns.js.map +1 -1
- package/server/dist/routes/codex-models.d.ts +15 -0
- package/server/dist/routes/codex-models.d.ts.map +1 -0
- package/server/dist/routes/codex-models.js +77 -0
- package/server/dist/routes/codex-models.js.map +1 -0
- package/server/dist/routes/codextender-models.d.ts +16 -0
- package/server/dist/routes/codextender-models.d.ts.map +1 -0
- package/server/dist/routes/codextender-models.js +81 -0
- package/server/dist/routes/codextender-models.js.map +1 -0
- package/server/dist/routes/diagnostics.d.ts +27 -0
- package/server/dist/routes/diagnostics.d.ts.map +1 -1
- package/server/dist/routes/diagnostics.js +5 -1
- package/server/dist/routes/diagnostics.js.map +1 -1
- package/server/dist/routes/org-chart-lead-guard.d.ts +10 -0
- package/server/dist/routes/org-chart-lead-guard.d.ts.map +1 -0
- package/server/dist/routes/org-chart-lead-guard.js +49 -0
- package/server/dist/routes/org-chart-lead-guard.js.map +1 -0
- package/server/dist/routes/org-inventory-composite.d.ts +20 -0
- package/server/dist/routes/org-inventory-composite.d.ts.map +1 -0
- package/server/dist/routes/org-inventory-composite.js +100 -0
- package/server/dist/routes/org-inventory-composite.js.map +1 -0
- package/server/dist/routes/org-lead-setup-wizard.d.ts +10 -0
- package/server/dist/routes/org-lead-setup-wizard.d.ts.map +1 -0
- package/server/dist/routes/org-lead-setup-wizard.js +51 -0
- package/server/dist/routes/org-lead-setup-wizard.js.map +1 -0
- package/server/dist/routes/org-leads-composite.d.ts.map +1 -1
- package/server/dist/routes/org-leads-composite.js +35 -9
- package/server/dist/routes/org-leads-composite.js.map +1 -1
- package/server/dist/routes/org-threads-composite.d.ts +24 -0
- package/server/dist/routes/org-threads-composite.d.ts.map +1 -0
- package/server/dist/routes/org-threads-composite.js +51 -0
- package/server/dist/routes/org-threads-composite.js.map +1 -0
- package/server/dist/routes/org-writes.d.ts +14 -0
- package/server/dist/routes/org-writes.d.ts.map +1 -0
- package/server/dist/routes/org-writes.js +61 -0
- package/server/dist/routes/org-writes.js.map +1 -0
- package/server/dist/routes/org.d.ts +14 -0
- package/server/dist/routes/org.d.ts.map +1 -1
- package/server/dist/routes/org.js +63 -47
- package/server/dist/routes/org.js.map +1 -1
- package/server/dist/routes/settings.d.ts.map +1 -1
- package/server/dist/routes/settings.js +23 -2
- package/server/dist/routes/settings.js.map +1 -1
- package/server/dist/routes/triage.d.ts +17 -0
- package/server/dist/routes/triage.d.ts.map +1 -1
- package/server/dist/routes/triage.js +29 -0
- package/server/dist/routes/triage.js.map +1 -1
- package/server/dist/terminal/pty-manager.d.ts +37 -1
- package/server/dist/terminal/pty-manager.d.ts.map +1 -1
- package/server/dist/terminal/pty-manager.js +33 -3
- package/server/dist/terminal/pty-manager.js.map +1 -1
- package/server/dist/terminal/pty-write-chunker.d.ts +109 -0
- package/server/dist/terminal/pty-write-chunker.d.ts.map +1 -0
- package/server/dist/terminal/pty-write-chunker.js +234 -0
- package/server/dist/terminal/pty-write-chunker.js.map +1 -0
- package/server/dist/terminal/routes.d.ts.map +1 -1
- package/server/dist/terminal/routes.js +9 -0
- package/server/dist/terminal/routes.js.map +1 -1
- package/server/dist/terminal/ws-upgrade-handler.d.ts.map +1 -1
- package/server/dist/terminal/ws-upgrade-handler.fixtures.d.ts.map +1 -1
- package/server/dist/terminal/ws-upgrade-handler.fixtures.js +1 -0
- package/server/dist/terminal/ws-upgrade-handler.fixtures.js.map +1 -1
- package/server/dist/terminal/ws-upgrade-handler.js +14 -5
- package/server/dist/terminal/ws-upgrade-handler.js.map +1 -1
- package/server/dist/test/event-test-counts-fixtures.d.ts +40 -0
- package/server/dist/test/event-test-counts-fixtures.d.ts.map +1 -0
- package/server/dist/test/event-test-counts-fixtures.js +56 -0
- package/server/dist/test/event-test-counts-fixtures.js.map +1 -0
- package/server/dist/types/leadwright-beat-step.d.ts +19 -0
- package/server/dist/types/leadwright-beat-step.d.ts.map +1 -0
- package/server/dist/types/leadwright-beat-step.js +56 -0
- package/server/dist/types/leadwright-beat-step.js.map +1 -0
- package/server/dist/types/leadwright-preflight.d.ts +90 -0
- package/server/dist/types/leadwright-preflight.d.ts.map +1 -0
- package/server/dist/types/leadwright-preflight.js +65 -0
- package/server/dist/types/leadwright-preflight.js.map +1 -0
- package/server/dist/types/leadwright-schema-drift.d.ts +28 -0
- package/server/dist/types/leadwright-schema-drift.d.ts.map +1 -0
- package/server/dist/types/leadwright-schema-drift.js +89 -0
- package/server/dist/types/leadwright-schema-drift.js.map +1 -0
- package/server/dist/types/org-inventory.d.ts +53 -0
- package/server/dist/types/org-inventory.d.ts.map +1 -0
- package/server/dist/types/org-inventory.js +11 -0
- package/server/dist/types/org-inventory.js.map +1 -0
- package/server/dist/types/org.d.ts +76 -6
- package/server/dist/types/org.d.ts.map +1 -1
- package/server/dist/types/run-config-retry.d.ts +29 -0
- package/server/dist/types/run-config-retry.d.ts.map +1 -0
- package/server/dist/types/run-config-retry.js +47 -0
- package/server/dist/types/run-config-retry.js.map +1 -0
- package/server/dist/types/run-config-v2.d.ts +29 -41
- package/server/dist/types/run-config-v2.d.ts.map +1 -1
- package/server/dist/types/run-config-v2.js +16 -50
- package/server/dist/types/run-config-v2.js.map +1 -1
- package/server/dist/types/settings.d.ts +33 -0
- package/server/dist/types/settings.d.ts.map +1 -1
- package/server/dist/vendor/leadwright/beat-step.schema.json +83 -0
- package/server/dist/vendor/leadwright/claim-record-lock-contract.json +15 -0
- package/server/dist/vendor/leadwright/org-chart.schema.json +195 -0
- package/server/dist/vendor/leadwright/preflight-input.schema.json +318 -0
- package/server/dist/vendor/leadwright/preflight-result.schema.json +56 -0
- package/server/package.json +1 -1
- package/client/dist/assets/channel-BYPbLjRl.js +0 -1
- package/client/dist/assets/classDiagram-OUVF2IWQ-CsFIeTju.js +0 -1
- package/client/dist/assets/classDiagram-v2-EOCWNBFH-CsFIeTju.js +0 -1
- package/client/dist/assets/index-BnTOrFHb.js +0 -829
- package/client/dist/assets/index-CYPc6qxw.css +0 -1
- package/client/dist/assets/stateDiagram-v2-6OUMAXLB-B3E4_xxT.js +0 -1
- package/client/dist/assets/swimlanesDiagram-G3AALYLV-BegQBqnC.js +0 -8
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* leadwright-schema-drift.ts — comparison primitives for
|
|
3
|
+
* leadwright-schema-drift.test.ts (iterate-2026-09-09-leadwright-schema-
|
|
4
|
+
* drift). Lives in types/, not vendor/leadwright/, on purpose: that
|
|
5
|
+
* directory's contract is "runtime JSON only, safe for copy-assets.mjs to
|
|
6
|
+
* blanket-cpSync into dist/" — a logic-plus-test module dropped in there
|
|
7
|
+
* would ride along into the production build unnoticed.
|
|
8
|
+
*
|
|
9
|
+
* leadwright's `.gitattributes` marks `schemas/*.schema.json` as `eol=lf`,
|
|
10
|
+
* but a Windows checkout can still leave those files CRLF-dirty in the
|
|
11
|
+
* working tree (attributes only apply at checkout time — a clone that
|
|
12
|
+
* already had them as CRLF keeps them until re-checked-out) while `git
|
|
13
|
+
* diff`/`git status` stay clean. Comparing bytes or a hash would therefore
|
|
14
|
+
* fail spuriously on every Windows machine. Everything here compares
|
|
15
|
+
* PARSED JSON instead.
|
|
16
|
+
*/
|
|
17
|
+
import { readFileSync, readdirSync } from "node:fs";
|
|
18
|
+
import path from "node:path";
|
|
19
|
+
/** Lists the basenames of every regular file directly inside `dir`
|
|
20
|
+
* (non-recursive, alphabetically sorted). Directory-driven on purpose —
|
|
21
|
+
* the caller must never hardcode a filename list, or a newly vendored file
|
|
22
|
+
* silently falls outside the check. */
|
|
23
|
+
export function listVendorFiles(dir) {
|
|
24
|
+
return readdirSync(dir, { withFileTypes: true })
|
|
25
|
+
.filter((entry) => entry.isFile())
|
|
26
|
+
.map((entry) => entry.name)
|
|
27
|
+
.sort();
|
|
28
|
+
}
|
|
29
|
+
/** Reads + parses `filePath`, rethrowing with `label` (e.g. "vendor" /
|
|
30
|
+
* "checkout") so a missing-file failure reads as "vendor copy of X is
|
|
31
|
+
* missing" rather than a bare Node ENOENT with no side attached. */
|
|
32
|
+
function readJson(filePath, label) {
|
|
33
|
+
let raw;
|
|
34
|
+
try {
|
|
35
|
+
raw = readFileSync(filePath, "utf-8");
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
throw new Error(`${label} file not found: ${filePath}`, { cause: err });
|
|
39
|
+
}
|
|
40
|
+
try {
|
|
41
|
+
return JSON.parse(raw);
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
throw new Error(`${label} file is not valid JSON: ${filePath}`, { cause: err });
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/** Deep-compares two parsed JSON values and returns a pointer-like path
|
|
48
|
+
* (not RFC-6901-escaped — diagnostic-only, never parsed back) to the first
|
|
49
|
+
* difference found, or `undefined` when they're equal. Object key order
|
|
50
|
+
* never matters; array element order does. */
|
|
51
|
+
export function findFirstJsonDiff(a, b, pointer = "") {
|
|
52
|
+
if (a === b)
|
|
53
|
+
return undefined;
|
|
54
|
+
const aIsObj = a !== null && typeof a === "object";
|
|
55
|
+
const bIsObj = b !== null && typeof b === "object";
|
|
56
|
+
if (!aIsObj || !bIsObj)
|
|
57
|
+
return pointer || "/";
|
|
58
|
+
const aIsArr = Array.isArray(a);
|
|
59
|
+
const bIsArr = Array.isArray(b);
|
|
60
|
+
if (aIsArr !== bIsArr)
|
|
61
|
+
return pointer || "/";
|
|
62
|
+
if (aIsArr && bIsArr) {
|
|
63
|
+
const len = Math.max(a.length, b.length);
|
|
64
|
+
for (let i = 0; i < len; i++) {
|
|
65
|
+
const diff = findFirstJsonDiff(a[i], b[i], `${pointer}/${i}`);
|
|
66
|
+
if (diff !== undefined)
|
|
67
|
+
return diff;
|
|
68
|
+
}
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
const aRec = a;
|
|
72
|
+
const bRec = b;
|
|
73
|
+
const keys = new Set([...Object.keys(aRec), ...Object.keys(bRec)]);
|
|
74
|
+
for (const key of keys) {
|
|
75
|
+
const diff = findFirstJsonDiff(aRec[key], bRec[key], `${pointer}/${key}`);
|
|
76
|
+
if (diff !== undefined)
|
|
77
|
+
return diff;
|
|
78
|
+
}
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
/** Compares one vendored file against its counterpart in `sourceDir`, JSON
|
|
82
|
+
* parsed on both sides (never bytes — see file header). */
|
|
83
|
+
export function compareVendoredFile({ vendorDir, sourceDir, file }) {
|
|
84
|
+
const vendored = readJson(path.join(vendorDir, file), "vendor");
|
|
85
|
+
const source = readJson(path.join(sourceDir, file), "checkout");
|
|
86
|
+
const diffPath = findFirstJsonDiff(vendored, source);
|
|
87
|
+
return diffPath === undefined ? { file, matches: true } : { file, matches: false, diffPath };
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=leadwright-schema-drift.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"leadwright-schema-drift.js","sourceRoot":"","sources":["../../src/types/leadwright-schema-drift.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { CharterAuthorityResult } from "../external/org/charter-authority-read.js";
|
|
2
|
+
import type { BeatStep } from "./leadwright-beat-step.js";
|
|
3
|
+
export type StepsView = {
|
|
4
|
+
status: "ok";
|
|
5
|
+
steps: BeatStep[];
|
|
6
|
+
unreadableLines: number;
|
|
7
|
+
} | {
|
|
8
|
+
status: "unreadable";
|
|
9
|
+
};
|
|
10
|
+
/** `"clear"` = the audit lookup ran and found nothing for this beat;
|
|
11
|
+
* `"found"` = a `beat_effect_not_claimed` entry names this beat;
|
|
12
|
+
* `"unknown"` = the audit lookup itself degraded (a genuine read failure,
|
|
13
|
+
* AC-9) — NEVER collapsed into `"clear"`. `"found"` always wins outright
|
|
14
|
+
* over `"unknown"`, even from a scan that later failed. */
|
|
15
|
+
export type UnclaimedEffectView = {
|
|
16
|
+
status: "clear" | "found" | "unknown";
|
|
17
|
+
};
|
|
18
|
+
/** `"ok"` = the register file was read (present-and-valid, or legitimately
|
|
19
|
+
* absent — a lead that has simply never run); `"unreadable"` = a genuine
|
|
20
|
+
* read failure (corrupt JSON, invalid leadId, symlink, containment
|
|
21
|
+
* breach) — NEVER collapsed into "zero beats" (code review, Stage 2:
|
|
22
|
+
* that collapse read exactly like a lead that has never had a beat). */
|
|
23
|
+
export type RegisterView = {
|
|
24
|
+
status: "ok" | "unreadable";
|
|
25
|
+
};
|
|
26
|
+
export interface BeatInventoryView {
|
|
27
|
+
beatId: string;
|
|
28
|
+
/** The register's own `startedAt` (always a string field — but its VALUE
|
|
29
|
+
* may be unparseable; see `beats` below). */
|
|
30
|
+
startedAt: string;
|
|
31
|
+
closedAt: string | null;
|
|
32
|
+
steps: StepsView;
|
|
33
|
+
unclaimedEffect: UnclaimedEffectView;
|
|
34
|
+
}
|
|
35
|
+
/** Verbatim alias — the AuthorityPanel's shape IS `charterAuthorityCore`'s
|
|
36
|
+
* result, not a re-derivation of it. */
|
|
37
|
+
export type AuthorityPanelView = CharterAuthorityResult;
|
|
38
|
+
export interface LeadInventoryEntry {
|
|
39
|
+
leadId: string;
|
|
40
|
+
/** Cheap `entries.length` over the full register — lets the client tell
|
|
41
|
+
* "never had a beat" apart from "has history, none in this window"
|
|
42
|
+
* (AC-8). */
|
|
43
|
+
totalBeatsInRegister: number;
|
|
44
|
+
/** Server-side bounded to `startedAt >= now - 48h` (an unparseable
|
|
45
|
+
* `startedAt` value is INCLUDED, never dropped); ordered `startedAt`
|
|
46
|
+
* ascending (AC-11). The client narrows further to the exact "last
|
|
47
|
+
* night" window. */
|
|
48
|
+
beats: BeatInventoryView[];
|
|
49
|
+
register: RegisterView;
|
|
50
|
+
authority: AuthorityPanelView;
|
|
51
|
+
}
|
|
52
|
+
export type LeadInventoryResponse = Record<string, LeadInventoryEntry>;
|
|
53
|
+
//# sourceMappingURL=org-inventory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org-inventory.d.ts","sourceRoot":"","sources":["../../src/types/org-inventory.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,MAAM,SAAS,GACjB;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,CAAC;AAE7B;;;;4DAI4D;AAC5D,MAAM,MAAM,mBAAmB,GAAG;IAAE,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAA;CAAE,CAAC;AAE5E;;;;yEAIyE;AACzE,MAAM,MAAM,YAAY,GAAG;IAAE,MAAM,EAAE,IAAI,GAAG,YAAY,CAAA;CAAE,CAAC;AAE3D,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf;kDAC8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,mBAAmB,CAAC;CACtC;AAED;yCACyC;AACzC,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAExD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf;;kBAEc;IACd,oBAAoB,EAAE,MAAM,CAAC;IAC7B;;;yBAGqB;IACrB,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,EAAE,kBAAkB,CAAC;CAC/B;AAED,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* types/org-inventory.ts — wire shapes for `GET /api/org/inventory`
|
|
3
|
+
* (iterate-2026-09-08-lead-inventory-page). New file rather than an edit to
|
|
4
|
+
* `types/org.ts` (already at its 300-line convention ceiling) — same reason
|
|
5
|
+
* `org-schema-sync.test.ts`'s sibling files stay split by route family.
|
|
6
|
+
*
|
|
7
|
+
* Client-side mirrors live in `client/src/lib/leadInventoryApi.ts` (CLAUDE.md
|
|
8
|
+
* rule 7 — verbatim copy, no cross-package import).
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=org-inventory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org-inventory.js","sourceRoot":"","sources":["../../src/types/org-inventory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
|
@@ -22,6 +22,12 @@ export type UsageResponse = {
|
|
|
22
22
|
runCount: number;
|
|
23
23
|
windowDays: number;
|
|
24
24
|
asOf: string;
|
|
25
|
+
/** Optional — an older producer (pre leadwright#38) omits both.
|
|
26
|
+
* A missing value must render as if it were absent, never as 0/false. */
|
|
27
|
+
unpricedCallsTotal?: number;
|
|
28
|
+
/** true = SOME sessions in this window measured, some didn't (a
|
|
29
|
+
* partial total). Absent/false = every session in the window measured. */
|
|
30
|
+
anyNotMeasured?: boolean;
|
|
25
31
|
};
|
|
26
32
|
export type CadenceUnresolvedReason = LeadOrgInfoReason | "invalid_cron";
|
|
27
33
|
export type LastRunResponse = {
|
|
@@ -59,18 +65,35 @@ export type BeatRegisterHealthResponse = {
|
|
|
59
65
|
sessionId: string;
|
|
60
66
|
entries: BeatRegisterEntryView[];
|
|
61
67
|
};
|
|
68
|
+
/**
|
|
69
|
+
* `resting`'s last-run sub-shape — a NAMED type (not inlined into
|
|
70
|
+
* `LeadNowState`) so `org-schema-sync.test.ts`'s per-arm comparison, which
|
|
71
|
+
* only walks TOP-LEVEL arm fields, actually checks it: an inlined nested
|
|
72
|
+
* object is invisible to that guard (internal-plan-review finding,
|
|
73
|
+
* iterate-2026-09-06-org-lead-staleness-register).
|
|
74
|
+
*
|
|
75
|
+
* Carries the SAME staleness verdict `lastRunCore` already computes —
|
|
76
|
+
* `staleness`/`cadenceUnresolvedReason` are taken verbatim, never
|
|
77
|
+
* recomputed from `lastRunAt` + a cron string client-side (two
|
|
78
|
+
* implementations of one rule drift). `staleness: "unknown"` is a THIRD
|
|
79
|
+
* state, not a synonym for fresh or stale — it must never render as if the
|
|
80
|
+
* cadence were resolved.
|
|
81
|
+
*/
|
|
82
|
+
export type LeadLastRunView = {
|
|
83
|
+
measured: false;
|
|
84
|
+
} | {
|
|
85
|
+
measured: true;
|
|
86
|
+
lastRunAt: string;
|
|
87
|
+
staleness: Staleness | "unknown";
|
|
88
|
+
cadenceUnresolvedReason?: CadenceUnresolvedReason;
|
|
89
|
+
};
|
|
62
90
|
/** The Now block's four states (iterate spec AC-2) — "waiting on you" is
|
|
63
91
|
* deliberately absent, see the iterate spec's Design Notes. */
|
|
64
92
|
export type LeadNowState = {
|
|
65
93
|
state: "running";
|
|
66
94
|
} | {
|
|
67
95
|
state: "resting";
|
|
68
|
-
lastRun:
|
|
69
|
-
measured: false;
|
|
70
|
-
} | {
|
|
71
|
-
measured: true;
|
|
72
|
-
lastRunAt: string;
|
|
73
|
-
};
|
|
96
|
+
lastRun: LeadLastRunView;
|
|
74
97
|
} | {
|
|
75
98
|
state: "needs-attention";
|
|
76
99
|
reason: "duplicate-session";
|
|
@@ -90,6 +113,36 @@ export type LeadCadenceView = {
|
|
|
90
113
|
text: string;
|
|
91
114
|
cron: string;
|
|
92
115
|
};
|
|
116
|
+
/**
|
|
117
|
+
* The roster's OWN register-health view — deliberately NOT
|
|
118
|
+
* `BeatRegisterHealthResponse` (that type's `clear`/`open`/`fault` are
|
|
119
|
+
* exactly what `evaluateRegisterHealth` returns for the secret-gated route,
|
|
120
|
+
* and stays that way). This adds a FOURTH arm, `unknown`, for a genuine
|
|
121
|
+
* read failure (symlink refusal, corrupt file, path traversal, read
|
|
122
|
+
* error) — internal-plan-review finding: those failures are not "no open
|
|
123
|
+
* entry", and collapsing them into `clear` would fabricate a health claim
|
|
124
|
+
* for exactly the fault cases that matter. Arms are spelled out literally
|
|
125
|
+
* (not `BeatRegisterHealthResponse | {...unknown}`) because
|
|
126
|
+
* `org-schema-sync.test.ts`'s arm parser requires each union member to be
|
|
127
|
+
* its own `{ ... }` literal with a discriminant, not a bare type reference.
|
|
128
|
+
*/
|
|
129
|
+
export type LeadRegisterView = {
|
|
130
|
+
leadId: string;
|
|
131
|
+
status: "clear";
|
|
132
|
+
} | {
|
|
133
|
+
leadId: string;
|
|
134
|
+
status: "open";
|
|
135
|
+
entry: BeatRegisterEntryView;
|
|
136
|
+
} | {
|
|
137
|
+
leadId: string;
|
|
138
|
+
status: "fault";
|
|
139
|
+
reason: "duplicate-session-id";
|
|
140
|
+
sessionId: string;
|
|
141
|
+
entries: BeatRegisterEntryView[];
|
|
142
|
+
} | {
|
|
143
|
+
leadId: string;
|
|
144
|
+
status: "unknown";
|
|
145
|
+
};
|
|
93
146
|
export interface LeadRosterEntry {
|
|
94
147
|
leadId: string;
|
|
95
148
|
domain: string;
|
|
@@ -99,10 +152,27 @@ export interface LeadRosterEntry {
|
|
|
99
152
|
now: LeadNowState;
|
|
100
153
|
cadence: LeadCadenceView;
|
|
101
154
|
usage: UsageResponse;
|
|
155
|
+
/** FR-04.41 — the beat-register's own classification. See
|
|
156
|
+
* `LeadRegisterView`'s doc comment for why a read failure is `unknown`,
|
|
157
|
+
* never silently `clear`. */
|
|
158
|
+
register: LeadRegisterView;
|
|
102
159
|
}
|
|
103
160
|
export interface LeadsRosterResponse {
|
|
104
161
|
leads: LeadRosterEntry[];
|
|
105
162
|
}
|
|
163
|
+
export interface OrgThreadRoundView {
|
|
164
|
+
id: string;
|
|
165
|
+
question: string;
|
|
166
|
+
askedAt: string;
|
|
167
|
+
answer?: string;
|
|
168
|
+
answeredAt?: string;
|
|
169
|
+
}
|
|
170
|
+
export interface OrgThreadCardView {
|
|
171
|
+
cardId: string;
|
|
172
|
+
cardTitle: string;
|
|
173
|
+
rounds: OrgThreadRoundView[];
|
|
174
|
+
}
|
|
175
|
+
export type OrgThreadsResponse = Record<string, OrgThreadCardView[]>;
|
|
106
176
|
export interface AuditLogEntry {
|
|
107
177
|
raw: string;
|
|
108
178
|
parsed: Record<string, unknown> | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"org.d.ts","sourceRoot":"","sources":["../../src/types/org.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAS7E,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CACzC;AAMD,MAAM,MAAM,aAAa,GACrB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAA;CAAE,GACnC;IACE,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,IAAI,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"org.d.ts","sourceRoot":"","sources":["../../src/types/org.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standard run-config torn-read backoff schedule (ms). The orchestrator writes
|
|
3
|
+
* the config atomically (rename); on Windows the brief rename window can throw
|
|
4
|
+
* EBUSY/EPERM/EACCES or yield a partial JSON parse. The reader retries on this
|
|
5
|
+
* schedule before falling back to its last-good cache.
|
|
6
|
+
*/
|
|
7
|
+
export declare const RUN_CONFIG_RETRY_DELAYS_MS: readonly number[];
|
|
8
|
+
/**
|
|
9
|
+
* A torn read is retryable when it is a SyntaxError (partial JSON caught mid
|
|
10
|
+
* write) OR an EBUSY/EPERM/EACCES fs error (Windows rename window). ENOENT is
|
|
11
|
+
* deliberately NOT retryable — a truly-absent file is a stable state.
|
|
12
|
+
*/
|
|
13
|
+
export declare function isRetryableTornRead(err: unknown): boolean;
|
|
14
|
+
export type RetryOutcome<T> = {
|
|
15
|
+
ok: true;
|
|
16
|
+
value: T;
|
|
17
|
+
} | {
|
|
18
|
+
ok: false;
|
|
19
|
+
error: unknown;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Retry an async fs op on retryable torn-read errors using the standard
|
|
23
|
+
* backoff. Resolves `{ ok:true, value }` on success, or `{ ok:false, error }`
|
|
24
|
+
* once the budget is exhausted or a non-retryable error is hit. Lives next to
|
|
25
|
+
* the RunConfig types (not inline in the reader) because run-config-reader.ts
|
|
26
|
+
* is at its bloat ceiling — same rationale as parseRunMode. F15.
|
|
27
|
+
*/
|
|
28
|
+
export declare function retryTornRead<T>(op: () => Promise<T>, wait: (ms: number) => Promise<void>, delays?: readonly number[]): Promise<RetryOutcome<T>>;
|
|
29
|
+
//# sourceMappingURL=run-config-retry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-config-retry.d.ts","sourceRoot":"","sources":["../../src/types/run-config-retry.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAAmB,CAAC;AAI5E;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAIzD;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACtB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAElC;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,CAAC,EACnC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EACnC,MAAM,GAAE,SAAS,MAAM,EAA+B,GACrD,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAY1B"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Torn-read retry (server-side; used by run-config-reader). Split out of
|
|
3
|
+
* run-config-v2.ts — that file is at its bloat ceiling and this section has
|
|
4
|
+
* no dependency on the RunMode/RunConfigV2 types above it. F15.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Standard run-config torn-read backoff schedule (ms). The orchestrator writes
|
|
8
|
+
* the config atomically (rename); on Windows the brief rename window can throw
|
|
9
|
+
* EBUSY/EPERM/EACCES or yield a partial JSON parse. The reader retries on this
|
|
10
|
+
* schedule before falling back to its last-good cache.
|
|
11
|
+
*/
|
|
12
|
+
export const RUN_CONFIG_RETRY_DELAYS_MS = [50, 150, 450];
|
|
13
|
+
const RETRYABLE_FS_CODES = new Set(["EBUSY", "EPERM", "EACCES"]);
|
|
14
|
+
/**
|
|
15
|
+
* A torn read is retryable when it is a SyntaxError (partial JSON caught mid
|
|
16
|
+
* write) OR an EBUSY/EPERM/EACCES fs error (Windows rename window). ENOENT is
|
|
17
|
+
* deliberately NOT retryable — a truly-absent file is a stable state.
|
|
18
|
+
*/
|
|
19
|
+
export function isRetryableTornRead(err) {
|
|
20
|
+
if (err instanceof SyntaxError)
|
|
21
|
+
return true;
|
|
22
|
+
const code = err?.code;
|
|
23
|
+
return Boolean(code && RETRYABLE_FS_CODES.has(code));
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Retry an async fs op on retryable torn-read errors using the standard
|
|
27
|
+
* backoff. Resolves `{ ok:true, value }` on success, or `{ ok:false, error }`
|
|
28
|
+
* once the budget is exhausted or a non-retryable error is hit. Lives next to
|
|
29
|
+
* the RunConfig types (not inline in the reader) because run-config-reader.ts
|
|
30
|
+
* is at its bloat ceiling — same rationale as parseRunMode. F15.
|
|
31
|
+
*/
|
|
32
|
+
export async function retryTornRead(op, wait, delays = RUN_CONFIG_RETRY_DELAYS_MS) {
|
|
33
|
+
let lastError = null;
|
|
34
|
+
for (let attempt = 0; attempt <= delays.length; attempt++) {
|
|
35
|
+
try {
|
|
36
|
+
return { ok: true, value: await op() };
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
lastError = err;
|
|
40
|
+
if (!isRetryableTornRead(err) || attempt === delays.length)
|
|
41
|
+
break;
|
|
42
|
+
await wait(delays[attempt] ?? 0);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return { ok: false, error: lastError };
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=run-config-retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-config-retry.js","sourceRoot":"","sources":["../../src/types/run-config-retry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAsB,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE5E,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEjE;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,IAAI,GAAG,YAAY,WAAW;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,IAAI,GAAI,GAAyC,EAAE,IAAI,CAAC;IAC9D,OAAO,OAAO,CAAC,IAAI,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC;AAMD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAoB,EACpB,IAAmC,EACnC,SAA4B,0BAA0B;IAEtD,IAAI,SAAS,GAAY,IAAI,CAAC;IAC9B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;QAC1D,IAAI,CAAC;YACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,GAAG,GAAG,CAAC;YAChB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,MAAM,CAAC,MAAM;gBAAE,MAAM;YAClE,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACzC,CAAC"}
|
|
@@ -7,21 +7,36 @@ export type RunStatus = "in_progress" | "complete" | "failed" | "needs_validatio
|
|
|
7
7
|
*
|
|
8
8
|
* - `single_session` — the /shipwright-run master drives every phase via a
|
|
9
9
|
* phase-runner subagent in ONE conversation; the sole supported FRESH-write
|
|
10
|
-
* mode (SS8, 2026-07-08)
|
|
10
|
+
* mode (SS8, 2026-07-08), and the ONLY value the schema enum accepts. Runs
|
|
11
|
+
* on every surface.
|
|
11
12
|
* - `multi_session` — each phase is its own external UUID-bound Claude
|
|
12
|
-
* session (pre-SS1 behaviour).
|
|
13
|
+
* session (pre-SS1 behaviour). RETIRED — not a valid schema value for a
|
|
14
|
+
* fresh write, kept here only so a pre-SS1 config still carrying this
|
|
15
|
+
* literal on disk still parses (`isRunMode`/`parseRunMode` read-compat).
|
|
13
16
|
*
|
|
14
|
-
* OPTIONAL on disk (NOT in the schema's `required`)
|
|
15
|
-
*
|
|
17
|
+
* `mode` is OPTIONAL on disk (NOT in the schema's `required`), and the schema
|
|
18
|
+
* carries NO `default` ON PURPOSE — absence is MEANINGFUL there ("not a
|
|
19
|
+
* drivable run"), so nothing may silently reinterpret a mode-less legacy
|
|
20
|
+
* config as drivable. `resolveRunMode()` still needs a concrete return value
|
|
21
|
+
* for that case; `DEFAULT_RUN_MODE` is a plain fallback sentinel for that
|
|
22
|
+
* function only, never a disk-valid `RunMode` literal — see `RUN_MODES` /
|
|
23
|
+
* `isRunMode`, which deliberately do NOT include it.
|
|
16
24
|
*/
|
|
17
25
|
export type RunMode = "multi_session" | "single_session";
|
|
18
26
|
export declare const RUN_MODES: readonly RunMode[];
|
|
19
27
|
/**
|
|
20
|
-
*
|
|
21
|
-
* framework's
|
|
22
|
-
*
|
|
28
|
+
* Sentinel for "absent or unrecognised `mode`" — i.e. NOT a drivable run.
|
|
29
|
+
* Mirrors the framework's own sentinel for this exact situation,
|
|
30
|
+
* `gate_policy.INERT_MODE` (shared/scripts/lib/gate_policy.py, introduced in
|
|
31
|
+
* the same 2026-07-14 commit that removed `multi_session`'s engine) —
|
|
32
|
+
* `multi_session` used to play this role and was replaced there precisely
|
|
33
|
+
* because it is a retired pipeline mode, not a "no pipeline" marker.
|
|
34
|
+
* Deliberately NOT a member of `RunMode`/`RUN_MODES`: it is never written to
|
|
35
|
+
* disk and `isRunMode("standalone")` is false, same as the framework's own
|
|
36
|
+
* `mode == "single_session"` explicit-literal-only activation rule.
|
|
23
37
|
*/
|
|
24
|
-
export declare const DEFAULT_RUN_MODE:
|
|
38
|
+
export declare const DEFAULT_RUN_MODE: "standalone";
|
|
39
|
+
export type ResolvedRunMode = RunMode | typeof DEFAULT_RUN_MODE;
|
|
25
40
|
export type PhaseTaskStatus = "backlog" | "awaiting_launch" | "in_progress" | "done" | "failed" | "skipped";
|
|
26
41
|
export declare const TERMINAL_PHASE_TASK_STATUSES: readonly PhaseTaskStatus[];
|
|
27
42
|
export interface RunConditions {
|
|
@@ -122,14 +137,14 @@ export declare function deriveReadyToLaunchTasks(config: RunConfigV2): PhaseTask
|
|
|
122
137
|
export declare function isTerminalPhaseTaskStatus(s: PhaseTaskStatus): boolean;
|
|
123
138
|
export declare function isRunMode(v: unknown): v is RunMode;
|
|
124
139
|
/**
|
|
125
|
-
* Resolve a run's execution mode.
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
*
|
|
140
|
+
* Resolve a run's execution mode. Present + valid → itself (incl. the
|
|
141
|
+
* retired `multi_session` literal, read-compat only). Absent OR unrecognised
|
|
142
|
+
* → `DEFAULT_RUN_MODE` ("standalone" — not a drivable run). Stays defensive
|
|
143
|
+
* even though the reader already drops unrecognised values.
|
|
129
144
|
*/
|
|
130
145
|
export declare function resolveRunMode(config: {
|
|
131
146
|
mode?: RunMode;
|
|
132
|
-
}):
|
|
147
|
+
}): ResolvedRunMode;
|
|
133
148
|
/**
|
|
134
149
|
* Parse the raw `mode` value off a run-config for the reader. Valid → the mode;
|
|
135
150
|
* absent/null → `{}` (no warning; consumers default via resolveRunMode); an
|
|
@@ -141,32 +156,5 @@ export declare function parseRunMode(raw: unknown): {
|
|
|
141
156
|
mode?: RunMode;
|
|
142
157
|
warnings: string[];
|
|
143
158
|
};
|
|
144
|
-
|
|
145
|
-
* Standard run-config torn-read backoff schedule (ms). The orchestrator writes
|
|
146
|
-
* the config atomically (rename); on Windows the brief rename window can throw
|
|
147
|
-
* EBUSY/EPERM/EACCES or yield a partial JSON parse. The reader retries on this
|
|
148
|
-
* schedule before falling back to its last-good cache.
|
|
149
|
-
*/
|
|
150
|
-
export declare const RUN_CONFIG_RETRY_DELAYS_MS: readonly number[];
|
|
151
|
-
/**
|
|
152
|
-
* A torn read is retryable when it is a SyntaxError (partial JSON caught mid
|
|
153
|
-
* write) OR an EBUSY/EPERM/EACCES fs error (Windows rename window). ENOENT is
|
|
154
|
-
* deliberately NOT retryable — a truly-absent file is a stable state.
|
|
155
|
-
*/
|
|
156
|
-
export declare function isRetryableTornRead(err: unknown): boolean;
|
|
157
|
-
export type RetryOutcome<T> = {
|
|
158
|
-
ok: true;
|
|
159
|
-
value: T;
|
|
160
|
-
} | {
|
|
161
|
-
ok: false;
|
|
162
|
-
error: unknown;
|
|
163
|
-
};
|
|
164
|
-
/**
|
|
165
|
-
* Retry an async fs op on retryable torn-read errors using the standard
|
|
166
|
-
* backoff. Resolves `{ ok:true, value }` on success, or `{ ok:false, error }`
|
|
167
|
-
* once the budget is exhausted or a non-retryable error is hit. Lives next to
|
|
168
|
-
* the RunConfig types (not inline in the reader) because run-config-reader.ts
|
|
169
|
-
* is at its bloat ceiling — same rationale as parseRunMode. F15.
|
|
170
|
-
*/
|
|
171
|
-
export declare function retryTornRead<T>(op: () => Promise<T>, wait: (ms: number) => Promise<void>, delays?: readonly number[]): Promise<RetryOutcome<T>>;
|
|
159
|
+
export { RUN_CONFIG_RETRY_DELAYS_MS, isRetryableTornRead, retryTornRead, type RetryOutcome, } from "./run-config-retry.js";
|
|
172
160
|
//# sourceMappingURL=run-config-v2.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-config-v2.d.ts","sourceRoot":"","sources":["../../src/types/run-config-v2.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,QAAQ,GAChB,SAAS,GACT,QAAQ,GACR,MAAM,GACN,OAAO,GACP,MAAM,GACN,UAAU,GACV,WAAW,GACX,QAAQ,CAAC;AAEb,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAShC,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;AAEpD,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,kBAAkB,CAAC;AAEnF
|
|
1
|
+
{"version":3,"file":"run-config-v2.d.ts","sourceRoot":"","sources":["../../src/types/run-config-v2.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,11 +30,17 @@ export const RUN_MODES = [
|
|
|
30
30
|
"single_session",
|
|
31
31
|
];
|
|
32
32
|
/**
|
|
33
|
-
*
|
|
34
|
-
* framework's
|
|
35
|
-
*
|
|
33
|
+
* Sentinel for "absent or unrecognised `mode`" — i.e. NOT a drivable run.
|
|
34
|
+
* Mirrors the framework's own sentinel for this exact situation,
|
|
35
|
+
* `gate_policy.INERT_MODE` (shared/scripts/lib/gate_policy.py, introduced in
|
|
36
|
+
* the same 2026-07-14 commit that removed `multi_session`'s engine) —
|
|
37
|
+
* `multi_session` used to play this role and was replaced there precisely
|
|
38
|
+
* because it is a retired pipeline mode, not a "no pipeline" marker.
|
|
39
|
+
* Deliberately NOT a member of `RunMode`/`RUN_MODES`: it is never written to
|
|
40
|
+
* disk and `isRunMode("standalone")` is false, same as the framework's own
|
|
41
|
+
* `mode == "single_session"` explicit-literal-only activation rule.
|
|
36
42
|
*/
|
|
37
|
-
export const DEFAULT_RUN_MODE = "
|
|
43
|
+
export const DEFAULT_RUN_MODE = "standalone";
|
|
38
44
|
export const TERMINAL_PHASE_TASK_STATUSES = [
|
|
39
45
|
"done",
|
|
40
46
|
"failed",
|
|
@@ -100,10 +106,10 @@ export function isRunMode(v) {
|
|
|
100
106
|
return v === "multi_session" || v === "single_session";
|
|
101
107
|
}
|
|
102
108
|
/**
|
|
103
|
-
* Resolve a run's execution mode.
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
109
|
+
* Resolve a run's execution mode. Present + valid → itself (incl. the
|
|
110
|
+
* retired `multi_session` literal, read-compat only). Absent OR unrecognised
|
|
111
|
+
* → `DEFAULT_RUN_MODE` ("standalone" — not a drivable run). Stays defensive
|
|
112
|
+
* even though the reader already drops unrecognised values.
|
|
107
113
|
*/
|
|
108
114
|
export function resolveRunMode(config) {
|
|
109
115
|
return isRunMode(config.mode) ? config.mode : DEFAULT_RUN_MODE;
|
|
@@ -124,46 +130,6 @@ export function parseRunMode(raw) {
|
|
|
124
130
|
warnings: [`mode ${JSON.stringify(raw)} not recognized; treating as ${DEFAULT_RUN_MODE}`],
|
|
125
131
|
};
|
|
126
132
|
}
|
|
127
|
-
//
|
|
128
|
-
|
|
129
|
-
* Standard run-config torn-read backoff schedule (ms). The orchestrator writes
|
|
130
|
-
* the config atomically (rename); on Windows the brief rename window can throw
|
|
131
|
-
* EBUSY/EPERM/EACCES or yield a partial JSON parse. The reader retries on this
|
|
132
|
-
* schedule before falling back to its last-good cache.
|
|
133
|
-
*/
|
|
134
|
-
export const RUN_CONFIG_RETRY_DELAYS_MS = [50, 150, 450];
|
|
135
|
-
const RETRYABLE_FS_CODES = new Set(["EBUSY", "EPERM", "EACCES"]);
|
|
136
|
-
/**
|
|
137
|
-
* A torn read is retryable when it is a SyntaxError (partial JSON caught mid
|
|
138
|
-
* write) OR an EBUSY/EPERM/EACCES fs error (Windows rename window). ENOENT is
|
|
139
|
-
* deliberately NOT retryable — a truly-absent file is a stable state.
|
|
140
|
-
*/
|
|
141
|
-
export function isRetryableTornRead(err) {
|
|
142
|
-
if (err instanceof SyntaxError)
|
|
143
|
-
return true;
|
|
144
|
-
const code = err?.code;
|
|
145
|
-
return Boolean(code && RETRYABLE_FS_CODES.has(code));
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Retry an async fs op on retryable torn-read errors using the standard
|
|
149
|
-
* backoff. Resolves `{ ok:true, value }` on success, or `{ ok:false, error }`
|
|
150
|
-
* once the budget is exhausted or a non-retryable error is hit. Lives next to
|
|
151
|
-
* the RunConfig types (not inline in the reader) because run-config-reader.ts
|
|
152
|
-
* is at its bloat ceiling — same rationale as parseRunMode. F15.
|
|
153
|
-
*/
|
|
154
|
-
export async function retryTornRead(op, wait, delays = RUN_CONFIG_RETRY_DELAYS_MS) {
|
|
155
|
-
let lastError = null;
|
|
156
|
-
for (let attempt = 0; attempt <= delays.length; attempt++) {
|
|
157
|
-
try {
|
|
158
|
-
return { ok: true, value: await op() };
|
|
159
|
-
}
|
|
160
|
-
catch (err) {
|
|
161
|
-
lastError = err;
|
|
162
|
-
if (!isRetryableTornRead(err) || attempt === delays.length)
|
|
163
|
-
break;
|
|
164
|
-
await wait(delays[attempt] ?? 0);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
return { ok: false, error: lastError };
|
|
168
|
-
}
|
|
133
|
+
// Torn-read retry helpers moved to ./run-config-retry.ts (bloat-ceiling split, F15).
|
|
134
|
+
export { RUN_CONFIG_RETRY_DELAYS_MS, isRetryableTornRead, retryTornRead, } from "./run-config-retry.js";
|
|
169
135
|
//# sourceMappingURL=run-config-v2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-config-v2.js","sourceRoot":"","sources":["../../src/types/run-config-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAYH,MAAM,CAAC,MAAM,UAAU,GAAwB;IAC7C,SAAS;IACT,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,UAAU;IACV,WAAW;IACX,QAAQ;CACA,CAAC;
|
|
1
|
+
{"version":3,"file":"run-config-v2.js","sourceRoot":"","sources":["../../src/types/run-config-v2.ts"],"names":[],"mappings":"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"}
|