@svenroth-ai/shipwright 0.27.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-CqCQUDtp.js → EmbeddedTerminal-4xgNUBUu.js} +19 -19
- package/client/dist/assets/{abnfDiagram-VRR7QNED-DX2objTP.js → abnfDiagram-VRR7QNED-BdCNbaqc.js} +1 -1
- package/client/dist/assets/{arc-DQmjbsFU.js → arc-DoZTTE1N.js} +1 -1
- package/client/dist/assets/{architectureDiagram-ZJ3FMSHR-DAvCsPCW.js → architectureDiagram-ZJ3FMSHR-DFTG4KtO.js} +1 -1
- package/client/dist/assets/{blockDiagram-677ZJIJ3-DC-dlyYI.js → blockDiagram-677ZJIJ3-C34UBjOB.js} +1 -1
- package/client/dist/assets/{c4Diagram-LMCZKHZV-DSlmXfhE.js → c4Diagram-LMCZKHZV-CbqAB1Ou.js} +1 -1
- package/client/dist/assets/channel-DBcZw7Kn.js +1 -0
- package/client/dist/assets/{chunk-2Q5K7J3B-C111EHL6.js → chunk-2Q5K7J3B-4N6AnmBJ.js} +1 -1
- package/client/dist/assets/{chunk-32BRIVSS-DrCYs2XG.js → chunk-32BRIVSS-Cs67LiCy.js} +1 -1
- package/client/dist/assets/{chunk-5VM5RSS4-DIejoaXS.js → chunk-5VM5RSS4-Bwd7rtD3.js} +1 -1
- package/client/dist/assets/{chunk-EX3LRPZG-CGWNeH2g.js → chunk-EX3LRPZG-CQqGfptD.js} +1 -1
- package/client/dist/assets/{chunk-JWPE2WC7-CCH0SRFY.js → chunk-JWPE2WC7-ClvKd4PN.js} +1 -1
- package/client/dist/assets/{chunk-MOJQB5TN-B3OpZGRv.js → chunk-MOJQB5TN-Cwvj8GE1.js} +1 -1
- package/client/dist/assets/{chunk-RYQCIY6F-BKhdp_8v.js → chunk-RYQCIY6F-DrWMx37d.js} +1 -1
- package/client/dist/assets/{chunk-V7JOEXUC-B6Bu8x1y.js → chunk-V7JOEXUC-CYFfa4PY.js} +1 -1
- package/client/dist/assets/{chunk-VR4S4FIN-OgFi2_iB.js → chunk-VR4S4FIN-B5eWtesm.js} +1 -1
- package/client/dist/assets/{chunk-XXDRQBXY-xyjuuhxl.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-BQIH3SCK.js → cose-bilkent-JH36ORCC-C76Yia6h.js} +1 -1
- package/client/dist/assets/{cynefin-VYW2F7L2-oyLAz8te.js → cynefin-VYW2F7L2-pJe7rdTi.js} +1 -1
- package/client/dist/assets/{cynefinDiagram-TSTJHNR4-DoLCsH0l.js → cynefinDiagram-TSTJHNR4-EeHQ7dYV.js} +1 -1
- package/client/dist/assets/{dagre-VKFMJZFB-D7djx1_Y.js → dagre-VKFMJZFB-VXOY6IHR.js} +1 -1
- package/client/dist/assets/{diagram-FQU43EPY-DFuYE0Vf.js → diagram-FQU43EPY-DW_-leqw.js} +1 -1
- package/client/dist/assets/{diagram-G47NLZAW-CffCZVXk.js → diagram-G47NLZAW-C_hsLD4u.js} +1 -1
- package/client/dist/assets/{diagram-NH7WQ7WH-BhrHtUlt.js → diagram-NH7WQ7WH-CbeQuO_f.js} +1 -1
- package/client/dist/assets/{diagram-OA4YK3LP-CwQPbOn0.js → diagram-OA4YK3LP-DRHY5d_c.js} +1 -1
- package/client/dist/assets/{diagram-WEI45ONY-abtYnYqH.js → diagram-WEI45ONY-B87OYR_S.js} +1 -1
- package/client/dist/assets/{ebnfDiagram-CCIWWBDH-DfV7gT4m.js → ebnfDiagram-CCIWWBDH-B8Z8WHF6.js} +1 -1
- package/client/dist/assets/{erDiagram-Q63AITRT-vtbCprgH.js → erDiagram-Q63AITRT-DaD7oa9H.js} +1 -1
- package/client/dist/assets/{flowDiagram-23GEKE2U-CVCgcyDF.js → flowDiagram-23GEKE2U-GrMVpsea.js} +1 -1
- package/client/dist/assets/{ganttDiagram-NO4QXBWP-BclyOgMb.js → ganttDiagram-NO4QXBWP-K3X0DYBa.js} +1 -1
- package/client/dist/assets/{gitGraphDiagram-IHSO6WYX-BXT4rIKj.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-Dr4mN24J.js → infoDiagram-FWYZ7A6U-Fi8fQ95G.js} +1 -1
- package/client/dist/assets/{ishikawaDiagram-FXEZZL3T-BBUFWq5C.js → ishikawaDiagram-FXEZZL3T-CrN7QJzt.js} +1 -1
- package/client/dist/assets/{journeyDiagram-5HDEW3XC-CmclipcQ.js → journeyDiagram-5HDEW3XC-XHIsl7rM.js} +1 -1
- package/client/dist/assets/{kanban-definition-HUTT4EX6-eIzUeZ03.js → kanban-definition-HUTT4EX6-A6HJqHw7.js} +1 -1
- package/client/dist/assets/{linear-DGiT7uKK.js → linear-D1vF9IQB.js} +1 -1
- package/client/dist/assets/{mermaid.core-BcLNGbxW.js → mermaid.core-D6w9zlA0.js} +4 -4
- package/client/dist/assets/{mindmap-definition-LN4V7U3C-C4ANnNiP.js → mindmap-definition-LN4V7U3C-CxRkUj6Z.js} +1 -1
- package/client/dist/assets/{pegDiagram-2B236MQR-DnMeh3Yh.js → pegDiagram-2B236MQR-Bs9dp-8a.js} +1 -1
- package/client/dist/assets/{pieDiagram-ENE6RG2P-CKV_rkhF.js → pieDiagram-ENE6RG2P-DBWILzB8.js} +1 -1
- package/client/dist/assets/{quadrantDiagram-ABIIQ3AL-BuUsGwHh.js → quadrantDiagram-ABIIQ3AL-DrCVJJx6.js} +1 -1
- package/client/dist/assets/{railroadDiagram-RFXS5EU6-BwwdKnFL.js → railroadDiagram-RFXS5EU6-BdPW2dNf.js} +1 -1
- package/client/dist/assets/{requirementDiagram-TGXJPOKE-CpQZouJV.js → requirementDiagram-TGXJPOKE-Bj_g3tC5.js} +1 -1
- package/client/dist/assets/{sankeyDiagram-HTMAVEWB-4fnDUNVa.js → sankeyDiagram-HTMAVEWB-BGL9NnsS.js} +1 -1
- package/client/dist/assets/{sequenceDiagram-DBY2YBRQ-BOcaWlM0.js → sequenceDiagram-DBY2YBRQ-DEirxTZY.js} +1 -1
- package/client/dist/assets/{sizeCapture-X5ZJPWSS-_pv-9R0c.js → sizeCapture-X5ZJPWSS-BtLrvrea.js} +1 -1
- package/client/dist/assets/{stateDiagram-2N3HPSRC-CFwCOonY.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-DFa2tzxu.js → swimlanes-5IMT3BWC-PMRQzNhU.js} +2 -2
- package/client/dist/assets/swimlanesDiagram-G3AALYLV-DMLbRFiO.js +8 -0
- package/client/dist/assets/{timeline-definition-FHXFAJF6-rhGYElgn.js → timeline-definition-FHXFAJF6-CnBKJtD_.js} +1 -1
- package/client/dist/assets/{vennDiagram-L72KCM5P-BoGjRxyA.js → vennDiagram-L72KCM5P-BYmiJYoh.js} +1 -1
- package/client/dist/assets/{wardleyDiagram-EHGQE667-D-IGv5bH.js → wardleyDiagram-EHGQE667-DU7vW8q3.js} +1 -1
- package/client/dist/assets/{xychartDiagram-FW5EYKEG-D9PFTCfm.js → xychartDiagram-FW5EYKEG-BEtPvBSU.js} +1 -1
- package/client/dist/index.html +2 -2
- package/lib/preflight.mjs +24 -5
- 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-store.d.ts +46 -0
- package/server/dist/core/sdk-sessions-store.d.ts.map +1 -1
- package/server/dist/core/sdk-sessions-store.js +1 -0
- 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/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.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/_types.d.ts +23 -0
- package/server/dist/external/inbox/_types.d.ts.map +1 -1
- package/server/dist/external/inbox/_types.js +8 -5
- package/server/dist/external/inbox/_types.js.map +1 -1
- 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 +15 -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 +9 -0
- package/server/dist/external/launch/claim-holder-gate.d.ts.map +1 -1
- package/server/dist/external/launch/claim-holder-gate.js +10 -2
- package/server/dist/external/launch/claim-holder-gate.js.map +1 -1
- 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 +76 -109
- 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/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 +10 -2
- package/server/dist/external/org/mount.d.ts.map +1 -1
- package/server/dist/external/org/mount.js +6 -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/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 +19 -4
- 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 +15 -0
- package/server/dist/routes/diagnostics.d.ts.map +1 -1
- package/server/dist/routes/diagnostics.js +1 -0
- 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-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 +11 -2
- package/server/dist/routes/org.d.ts.map +1 -1
- package/server/dist/routes/org.js +50 -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 +14 -0
- package/server/dist/terminal/pty-manager.d.ts.map +1 -1
- package/server/dist/terminal/pty-manager.js +11 -0
- package/server/dist/terminal/pty-manager.js.map +1 -1
- 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 +57 -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-BfmIcrp7.js +0 -1
- package/client/dist/assets/classDiagram-OUVF2IWQ-HfUQZ6Uc.js +0 -1
- package/client/dist/assets/classDiagram-v2-EOCWNBFH-HfUQZ6Uc.js +0 -1
- package/client/dist/assets/index-CKU9dY18.css +0 -1
- package/client/dist/assets/index-DOMl6atu.js +0 -847
- package/client/dist/assets/stateDiagram-v2-6OUMAXLB-srkiu3Ib.js +0 -1
- package/client/dist/assets/swimlanesDiagram-G3AALYLV-Dq-0K9Zm.js +0 -8
|
@@ -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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"}
|
|
@@ -21,5 +21,38 @@ export interface GlobalSettings {
|
|
|
21
21
|
defaultModel?: string;
|
|
22
22
|
/** Iterate 14.8.2 — permission mode used as the default for new tasks. */
|
|
23
23
|
defaultMode?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Codex Light (Spec/codex-light-webui.md §3.5) — global runtime default.
|
|
26
|
+
* Seeds `RuntimeToggle`'s on-open value for a newly created task on any
|
|
27
|
+
* launch surface; the operator can leave it or flip it before Launch.
|
|
28
|
+
* Unlike `defaultAutonomy` (dead code, read nowhere), this field is
|
|
29
|
+
* actually served by GET /api/settings and read client-side. Renamed from
|
|
30
|
+
* `codexRuntimeDefault` (Codextender integration, Part B.1) — see the
|
|
31
|
+
* client mirror's doc comment for why. Only meaningful when
|
|
32
|
+
* `codexAvailability === "both"`.
|
|
33
|
+
*/
|
|
34
|
+
runtimeDefault?: "claude" | "codex";
|
|
35
|
+
/**
|
|
36
|
+
* Codex Light §5 (AC5) — the stall-timeout field carried over from the
|
|
37
|
+
* earlier app-server-based design; now governs `CodexTaskWatcher`'s pty-
|
|
38
|
+
* silence trigger instead. Minutes, default 15, floor 5 (enforced where
|
|
39
|
+
* the watcher is constructed, not by this type).
|
|
40
|
+
*/
|
|
41
|
+
codexStallTimeoutMinutes?: number;
|
|
42
|
+
/**
|
|
43
|
+
* Codextender integration Part B.1 — which MECHANISM runs when a task's
|
|
44
|
+
* runtime is "codex". See the client mirror's doc comment.
|
|
45
|
+
*/
|
|
46
|
+
codexIntegrationMode?: "light" | "codextender";
|
|
47
|
+
/**
|
|
48
|
+
* Codextender integration Part B.1 — whether the per-task `RuntimeToggle`
|
|
49
|
+
* shows up at all. See the client mirror's doc comment.
|
|
50
|
+
*/
|
|
51
|
+
codexAvailability?: "both" | "claude_only" | "codex_only";
|
|
52
|
+
/**
|
|
53
|
+
* Codextender integration Part B.5/B.3 — the local LiteLLM proxy's port.
|
|
54
|
+
* See the client mirror's doc comment. Default 4000.
|
|
55
|
+
*/
|
|
56
|
+
codextenderPort?: number;
|
|
24
57
|
}
|
|
25
58
|
//# sourceMappingURL=settings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/types/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,YAAY,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,cAAc,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/types/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,YAAY,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,cAAc,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;OASG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACpC;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IAC/C;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,YAAY,CAAC;IAC1D;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://github.com/svenroth-ai/leadwright/schemas/beat-step.schema.json",
|
|
4
|
+
"title": "BeatStep",
|
|
5
|
+
"description": "One authority-band decision recorded during a beat, appended to beats/<beat-id>/steps.jsonl. GENERATED from lib/beat-steps.ts by scripts/generate-beat-step-schema.ts — do not hand-edit.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"at": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}T"
|
|
11
|
+
},
|
|
12
|
+
"band": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"enum": [
|
|
15
|
+
"bugfix",
|
|
16
|
+
"maintenance",
|
|
17
|
+
"feature",
|
|
18
|
+
"architecture"
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
"summary": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"minLength": 1
|
|
24
|
+
},
|
|
25
|
+
"effect": {
|
|
26
|
+
"oneOf": [
|
|
27
|
+
{
|
|
28
|
+
"type": "object",
|
|
29
|
+
"properties": {
|
|
30
|
+
"kind": {
|
|
31
|
+
"const": "card"
|
|
32
|
+
},
|
|
33
|
+
"taskId": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"minLength": 1
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"required": [
|
|
39
|
+
"kind",
|
|
40
|
+
"taskId"
|
|
41
|
+
],
|
|
42
|
+
"additionalProperties": false
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"type": "object",
|
|
46
|
+
"properties": {
|
|
47
|
+
"kind": {
|
|
48
|
+
"const": "decision"
|
|
49
|
+
},
|
|
50
|
+
"decisionKey": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"minLength": 1
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
"required": [
|
|
56
|
+
"kind",
|
|
57
|
+
"decisionKey"
|
|
58
|
+
],
|
|
59
|
+
"additionalProperties": false
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"type": "object",
|
|
63
|
+
"properties": {
|
|
64
|
+
"kind": {
|
|
65
|
+
"const": "none"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"required": [
|
|
69
|
+
"kind"
|
|
70
|
+
],
|
|
71
|
+
"additionalProperties": false
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"required": [
|
|
77
|
+
"at",
|
|
78
|
+
"band",
|
|
79
|
+
"summary",
|
|
80
|
+
"effect"
|
|
81
|
+
],
|
|
82
|
+
"additionalProperties": false
|
|
83
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://github.com/svenroth-ai/leadwright/schemas/claim-record-lock-contract.json",
|
|
3
|
+
"title": "ClaimRecordLockContract",
|
|
4
|
+
"contractVersion": 1,
|
|
5
|
+
"description": "The FR-04.28 shared claim record's three lock fixings (model spec §5.4): the settings a writer MUST use, alongside the record shape in the sibling schemas/claim-record.schema.json, to hold a lock that leadwright's own two shared-file lock sites (sdk-sessions.json, decisions-proposed.md) will actually respect. GENERATED from lib/claim-contract.ts's CLAIM_RECORD_LOCK_CONTRACT by scripts/generate-claim-record-schema.ts — do not hand-edit.",
|
|
6
|
+
"lockPathSuffix": ".lock",
|
|
7
|
+
"lockPathDescription": "The lock marker is `<target>.lock`, formed by the `proper-lockfile` library ITSELF from the target file's CANONICAL (realpath-resolved) path — neither side of this contract ever sets `lockfilePath` to override that. A consumer that builds the marker path by string-appending \".lock\" to whatever path string it happens to hold, without first canonicalizing it (resolving symlinks), can compute a DIFFERENT lock marker than a peer holding the canonical path to the same file — the exact failure the realpath fixing below exists to prevent. Canonicalize the target path first (e.g. Node's `fs.realpath`/`fs.realpathSync`), THEN append lockPathSuffix, if you must compute the marker path yourself instead of letting your lock library do it.",
|
|
8
|
+
"staleMs": 10000,
|
|
9
|
+
"realpath": true,
|
|
10
|
+
"usageNotes": [
|
|
11
|
+
"Set your lock library's staleness threshold to staleMs (this contract's value, in milliseconds) for locks on this target file — a shorter or longer value than the peer's does not fail loudly, it lets one side steal a lock the other side still believes it holds.",
|
|
12
|
+
"Set realpath: true (or your library's equivalent canonical-path resolution) — otherwise a symlinked path and the canonical path to the same target are treated as two different lock targets, and two writers can hold what they each believe is an exclusive lock at once.",
|
|
13
|
+
"Create an empty file at the target path BEFORE acquiring the lock, if it does not already exist. realpath: true resolves the target's canonical path via the equivalent of fs.realpath, which throws ENOENT when the target is missing — acquiring the lock on a not-yet-created file fails outright rather than creating it for you. (leadwright's own lib/file-locks.ts does this via its ensureFileExists helper, called immediately before every lock acquisition.)"
|
|
14
|
+
]
|
|
15
|
+
}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://github.com/svenroth-ai/leadwright/schemas/org-chart.schema.json",
|
|
4
|
+
"title": "OrgChart",
|
|
5
|
+
"description": "Single source of truth for the lead hierarchy. Lives at ~/.claude/leads/org-chart.json. GENERATED from lib/org-chart.ts by scripts/generate-org-chart-schema.ts — do not hand-edit.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"version": {
|
|
9
|
+
"const": 2
|
|
10
|
+
},
|
|
11
|
+
"po": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"minLength": 1
|
|
14
|
+
},
|
|
15
|
+
"leads": {
|
|
16
|
+
"type": "object",
|
|
17
|
+
"patternProperties": {
|
|
18
|
+
"^[a-z0-9][a-z0-9-]*$": {
|
|
19
|
+
"$ref": "#/$defs/Lead"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"additionalProperties": false
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"required": [
|
|
26
|
+
"version",
|
|
27
|
+
"po",
|
|
28
|
+
"leads"
|
|
29
|
+
],
|
|
30
|
+
"additionalProperties": false,
|
|
31
|
+
"$defs": {
|
|
32
|
+
"Lead": {
|
|
33
|
+
"type": "object",
|
|
34
|
+
"properties": {
|
|
35
|
+
"name": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"minLength": 1
|
|
38
|
+
},
|
|
39
|
+
"domain": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"pattern": "^[a-z0-9][a-z0-9-]*$"
|
|
42
|
+
},
|
|
43
|
+
"reports_to": {
|
|
44
|
+
"oneOf": [
|
|
45
|
+
{
|
|
46
|
+
"type": "null"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"type": "string",
|
|
50
|
+
"pattern": "^[a-z0-9][a-z0-9-]*$"
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
"manages": {
|
|
55
|
+
"type": "array",
|
|
56
|
+
"items": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"pattern": "^[a-z0-9][a-z0-9-]*$"
|
|
59
|
+
},
|
|
60
|
+
"$comment": "Additional runtime invariant(s) enforced by the zod schema (lib/org-chart.ts) via superRefine/refine are NOT enforced by this generated mirror."
|
|
61
|
+
},
|
|
62
|
+
"charter_path": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"minLength": 1,
|
|
65
|
+
"pattern": "^(?!\\/)(?!.*\\.\\.).+$"
|
|
66
|
+
},
|
|
67
|
+
"learnings_path": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"minLength": 1,
|
|
70
|
+
"pattern": "^(?!\\/)(?!.*\\.\\.).+$"
|
|
71
|
+
},
|
|
72
|
+
"triggers": {
|
|
73
|
+
"type": "object",
|
|
74
|
+
"properties": {
|
|
75
|
+
"cron": {
|
|
76
|
+
"type": "string",
|
|
77
|
+
"minLength": 1
|
|
78
|
+
},
|
|
79
|
+
"on": {
|
|
80
|
+
"type": "array",
|
|
81
|
+
"items": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"pattern": "^[a-z][a-z0-9_]*$"
|
|
84
|
+
},
|
|
85
|
+
"minItems": 1
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"required": [
|
|
89
|
+
"cron",
|
|
90
|
+
"on"
|
|
91
|
+
],
|
|
92
|
+
"additionalProperties": false
|
|
93
|
+
},
|
|
94
|
+
"max_concurrent_tasks": {
|
|
95
|
+
"type": "integer",
|
|
96
|
+
"minimum": 1,
|
|
97
|
+
"maximum": 8
|
|
98
|
+
},
|
|
99
|
+
"budget": {
|
|
100
|
+
"type": "object",
|
|
101
|
+
"properties": {
|
|
102
|
+
"window": {
|
|
103
|
+
"const": "rolling-7d"
|
|
104
|
+
},
|
|
105
|
+
"usd": {
|
|
106
|
+
"oneOf": [
|
|
107
|
+
{
|
|
108
|
+
"type": "number",
|
|
109
|
+
"exclusiveMinimum": 0
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"type": "null"
|
|
113
|
+
}
|
|
114
|
+
],
|
|
115
|
+
"default": null
|
|
116
|
+
},
|
|
117
|
+
"pause_at": {
|
|
118
|
+
"type": "number",
|
|
119
|
+
"minimum": 0,
|
|
120
|
+
"maximum": 1,
|
|
121
|
+
"default": 0.85
|
|
122
|
+
},
|
|
123
|
+
"hard_stop_at": {
|
|
124
|
+
"type": "number",
|
|
125
|
+
"minimum": 0,
|
|
126
|
+
"maximum": 1,
|
|
127
|
+
"default": 0.95
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
"required": [
|
|
131
|
+
"window"
|
|
132
|
+
],
|
|
133
|
+
"additionalProperties": false,
|
|
134
|
+
"$comment": "Additional runtime invariant(s) enforced by the zod schema (lib/org-chart.ts) via superRefine/refine are NOT enforced by this generated mirror."
|
|
135
|
+
},
|
|
136
|
+
"projects": {
|
|
137
|
+
"type": "array",
|
|
138
|
+
"items": {
|
|
139
|
+
"type": "string",
|
|
140
|
+
"minLength": 1
|
|
141
|
+
},
|
|
142
|
+
"minItems": 1
|
|
143
|
+
},
|
|
144
|
+
"allowed_skills": {
|
|
145
|
+
"type": "array",
|
|
146
|
+
"items": {
|
|
147
|
+
"type": "string",
|
|
148
|
+
"pattern": "^\\/[a-z0-9][a-z0-9-]*$"
|
|
149
|
+
},
|
|
150
|
+
"minItems": 1
|
|
151
|
+
},
|
|
152
|
+
"allowed_tools": {
|
|
153
|
+
"type": "array",
|
|
154
|
+
"items": {
|
|
155
|
+
"type": "string",
|
|
156
|
+
"minLength": 1
|
|
157
|
+
},
|
|
158
|
+
"default": []
|
|
159
|
+
},
|
|
160
|
+
"escalation_target": {
|
|
161
|
+
"type": "string",
|
|
162
|
+
"minLength": 1
|
|
163
|
+
},
|
|
164
|
+
"model": {
|
|
165
|
+
"type": "string",
|
|
166
|
+
"enum": [
|
|
167
|
+
"fast",
|
|
168
|
+
"balanced",
|
|
169
|
+
"deep"
|
|
170
|
+
]
|
|
171
|
+
},
|
|
172
|
+
"paused": {
|
|
173
|
+
"type": "boolean",
|
|
174
|
+
"default": false
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
"required": [
|
|
178
|
+
"name",
|
|
179
|
+
"domain",
|
|
180
|
+
"reports_to",
|
|
181
|
+
"manages",
|
|
182
|
+
"charter_path",
|
|
183
|
+
"learnings_path",
|
|
184
|
+
"triggers",
|
|
185
|
+
"max_concurrent_tasks",
|
|
186
|
+
"budget",
|
|
187
|
+
"projects",
|
|
188
|
+
"allowed_skills",
|
|
189
|
+
"escalation_target",
|
|
190
|
+
"model"
|
|
191
|
+
],
|
|
192
|
+
"additionalProperties": false
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|