@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,103 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* codex-models-probe — the "codex debug models" catalog PROBE
|
|
3
|
+
* (iterate-2026-09-19-codex-model-catalog, follow-up to shipwright#471/#473).
|
|
4
|
+
*
|
|
5
|
+
* Replaces the withdrawn hardcoded model-slug enum (shipwright#771) with a
|
|
6
|
+
* live probe of the Codex CLI's own catalog, so the New Iterate combobox
|
|
7
|
+
* never lags the provider's own model lineup. Reuses `defaultRunShim` from
|
|
8
|
+
* `readiness-probe-run.ts` — `codex` installs as a Windows `.cmd` PATHEXT
|
|
9
|
+
* shim (no `codex.exe`), which `execFile(cmd, args, {shell:false})` cannot
|
|
10
|
+
* invoke directly (see that module's own doc comment); `defaultRunShim`
|
|
11
|
+
* already solves this for the readiness probe's `codex --version` check, and
|
|
12
|
+
* this is the same binary.
|
|
13
|
+
*
|
|
14
|
+
* Runs with NO extra flags — deliberately not `--bundled` ("skip refresh,
|
|
15
|
+
* dump only the catalog shipped with this binary"): empirically, `--bundled`
|
|
16
|
+
* returns a visibly OLDER catalog (verified during this iterate's Confidence
|
|
17
|
+
* Calibration — missing a newly-listed model, carrying stale entries the
|
|
18
|
+
* refreshed call no longer lists). The whole point of this probe is to stay
|
|
19
|
+
* ahead of a hand-maintained list, so the default (refreshing) invocation is
|
|
20
|
+
* the only one that serves that goal.
|
|
21
|
+
*
|
|
22
|
+
* Verified during this iterate: `codex debug models` requires NO
|
|
23
|
+
* authentication (re-ran with an empty `CODEX_HOME` — no `auth.json` — and
|
|
24
|
+
* it still exited 0 with the full catalog), so this probe has no
|
|
25
|
+
* auth-specific degraded path to handle.
|
|
26
|
+
*/
|
|
27
|
+
import { CODEX_MODEL_SLUG_PATTERN } from "../external/launch/parse-body.js";
|
|
28
|
+
import { defaultRunShim } from "./readiness-probe-run.js";
|
|
29
|
+
/**
|
|
30
|
+
* Run `codex debug models` and reduce its raw catalog (which also carries
|
|
31
|
+
* per-model reasoning-level metadata and multi-KB prompt text this codebase
|
|
32
|
+
* has no use for) down to the `{slug, display_name}` pairs a launch-form
|
|
33
|
+
* combobox needs. Never throws.
|
|
34
|
+
*
|
|
35
|
+
* Filters to entries that are objects with a `slug` matching the existing
|
|
36
|
+
* `CODEX_MODEL_SLUG_PATTERN` (the same syntactic gate `parse-body.ts` applies
|
|
37
|
+
* to a launch request — imported directly here since this is an intra-server
|
|
38
|
+
* import, not the cross-package case DO-NOT #7 forbids) and a non-empty
|
|
39
|
+
* string `display_name`, with `visibility === "list"` (excludes
|
|
40
|
+
* internal/reserved entries like `codex-auto-review`). A single malformed
|
|
41
|
+
* entry is dropped, not fatal to the rest of the list — this is untrusted
|
|
42
|
+
* external-process output whose shape this codebase does not control.
|
|
43
|
+
* (external review fix, both reviewers, 2026-09-19 architecture review.)
|
|
44
|
+
*
|
|
45
|
+
* Gates on `result.code === 0`, NOT `result.ok` — `readiness-probe-run.ts`'s
|
|
46
|
+
* shared `ok` heuristic (`!error && /\d+\.\d+/.test(stdout+stderr)`) was
|
|
47
|
+
* written for `--version` probes and requires a dotted version number
|
|
48
|
+
* somewhere in the output. A real catalog containing only integer-suffixed
|
|
49
|
+
* slugs (no dotted version anywhere in the JSON) would trip that heuristic to
|
|
50
|
+
* `false` despite a clean exit and fully valid JSON — exactly the false
|
|
51
|
+
* `unavailable` gap `RunResult.code`'s own doc comment already names `code`
|
|
52
|
+
* as the fix for (code-review finding, 2026-09-19). `code` can be `null` on
|
|
53
|
+
* ENOENT/timeout, hence the strict `=== 0`.
|
|
54
|
+
*
|
|
55
|
+
* De-duplicates on `slug`, first-wins — the CLI's own catalog shape is
|
|
56
|
+
* untrusted external-process output (same reasoning as the per-entry
|
|
57
|
+
* shape checks above), and a duplicate slug would otherwise reach the
|
|
58
|
+
* client as two `<option>`s sharing one React key (doubt-review finding,
|
|
59
|
+
* 2026-09-19).
|
|
60
|
+
*/
|
|
61
|
+
export async function runCodexModelsProbe(deps) {
|
|
62
|
+
const run = deps.run ?? defaultRunShim;
|
|
63
|
+
let result;
|
|
64
|
+
try {
|
|
65
|
+
result = await run("codex", ["debug", "models"]);
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
// `defaultRunShim`/`defaultRun` never reject (execFile's callback always
|
|
69
|
+
// resolves a RunResult) — this guards a rejecting `run` override, so the
|
|
70
|
+
// "never throws" contract this docstring promises actually holds for any
|
|
71
|
+
// caller's `deps.run`, not just the two shipped implementations
|
|
72
|
+
// (external code-review finding, 2026-09-19).
|
|
73
|
+
return { ok: false, models: [] };
|
|
74
|
+
}
|
|
75
|
+
if (result.code !== 0)
|
|
76
|
+
return { ok: false, models: [] };
|
|
77
|
+
let parsed;
|
|
78
|
+
try {
|
|
79
|
+
parsed = JSON.parse(result.stdout);
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
return { ok: false, models: [] };
|
|
83
|
+
}
|
|
84
|
+
const rawModels = parsed?.models;
|
|
85
|
+
if (!Array.isArray(rawModels))
|
|
86
|
+
return { ok: false, models: [] };
|
|
87
|
+
const bySlug = new Map();
|
|
88
|
+
for (const entry of rawModels) {
|
|
89
|
+
if (!entry || typeof entry !== "object")
|
|
90
|
+
continue;
|
|
91
|
+
const { slug, display_name, visibility } = entry;
|
|
92
|
+
if (visibility !== "list")
|
|
93
|
+
continue;
|
|
94
|
+
if (typeof slug !== "string" || !CODEX_MODEL_SLUG_PATTERN.test(slug))
|
|
95
|
+
continue;
|
|
96
|
+
if (typeof display_name !== "string" || display_name.trim() === "")
|
|
97
|
+
continue;
|
|
98
|
+
if (!bySlug.has(slug))
|
|
99
|
+
bySlug.set(slug, { slug, display_name });
|
|
100
|
+
}
|
|
101
|
+
return { ok: true, models: [...bySlug.values()] };
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=codex-models-probe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-models-probe.js","sourceRoot":"","sources":["../../src/core/codex-models-probe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAc,MAAM,0BAA0B,CAAC;AAgBtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAA0B;IAClE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,cAAc,CAAC;IACvC,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,gEAAgE;QAChE,8CAA8C;QAC9C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACnC,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAExD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,SAAS,GAAI,MAAsC,EAAE,MAAM,CAAC;IAClE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAEhE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkC,CAAC;IACzD,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,KAAgC,CAAC;QAC5E,IAAI,UAAU,KAAK,MAAM;YAAE,SAAS;QACpC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QAC/E,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,SAAS;QAC7E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;AACpD,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { type RunFn } from "./readiness-probe.js";
|
|
2
|
+
export declare const CODEX_ORACLE_TIMEOUT_MS = 30000;
|
|
3
|
+
/** Verbatim mirror of `codex_completion_oracle.py`'s `verdict` field. */
|
|
4
|
+
export type OracleVerdict = "done" | "not_done" | "delivery_pending" | "no_oracle";
|
|
5
|
+
export interface OracleEvidence {
|
|
6
|
+
/**
|
|
7
|
+
* §5.1's correction — present only on an `iterate`-phase `delivery_pending`
|
|
8
|
+
* verdict. `"error"` = watch_pr_delivery.py's checks_failed/closed branch
|
|
9
|
+
* (a PR exists but its delivery failed — never re-poll forever). Absent or
|
|
10
|
+
* `"indeterminate"` = case 13 proper (CI/review/auto-merge still running,
|
|
11
|
+
* or the watcher itself produced no verdict) — safe to keep re-polling.
|
|
12
|
+
*/
|
|
13
|
+
delivery_state?: "error" | "indeterminate";
|
|
14
|
+
[key: string]: unknown;
|
|
15
|
+
}
|
|
16
|
+
export interface OracleResult {
|
|
17
|
+
verdict: OracleVerdict;
|
|
18
|
+
phase: string;
|
|
19
|
+
session: string;
|
|
20
|
+
evidence: OracleEvidence;
|
|
21
|
+
}
|
|
22
|
+
export type OracleOutcome = {
|
|
23
|
+
kind: "ok";
|
|
24
|
+
result: OracleResult;
|
|
25
|
+
} | {
|
|
26
|
+
kind: "engine-unavailable";
|
|
27
|
+
reason: string;
|
|
28
|
+
repairCommand: string;
|
|
29
|
+
} | {
|
|
30
|
+
kind: "failed";
|
|
31
|
+
reason: string;
|
|
32
|
+
};
|
|
33
|
+
export interface OracleSpawnResult {
|
|
34
|
+
code: number;
|
|
35
|
+
stdout: string;
|
|
36
|
+
stderr: string;
|
|
37
|
+
spawnError?: string;
|
|
38
|
+
}
|
|
39
|
+
export type OracleSpawnFn = (bin: string, args: string[], options: {
|
|
40
|
+
timeoutMs: number;
|
|
41
|
+
env: NodeJS.ProcessEnv;
|
|
42
|
+
}) => Promise<OracleSpawnResult>;
|
|
43
|
+
export declare const defaultSpawnOracle: OracleSpawnFn;
|
|
44
|
+
export interface RunCodexOracleInput {
|
|
45
|
+
projectRoot: string;
|
|
46
|
+
phase: string;
|
|
47
|
+
session: string;
|
|
48
|
+
/** ISO-8601 with timezone — the §2.4 degradation-path floor. */
|
|
49
|
+
since?: string;
|
|
50
|
+
}
|
|
51
|
+
export interface CodexOracleDeps {
|
|
52
|
+
run?: RunFn;
|
|
53
|
+
spawn?: OracleSpawnFn;
|
|
54
|
+
existsFn?: (p: string) => boolean;
|
|
55
|
+
homeDir?: string;
|
|
56
|
+
scriptOverride?: string;
|
|
57
|
+
timeoutMs?: number;
|
|
58
|
+
baseEnv?: NodeJS.ProcessEnv;
|
|
59
|
+
}
|
|
60
|
+
/** Resolve the single cache-owned oracle CLI shipped with the Shipwright runtime. */
|
|
61
|
+
export declare function resolveCodexOracleScript(deps?: Pick<CodexOracleDeps, "existsFn" | "homeDir" | "scriptOverride">): string | null;
|
|
62
|
+
/**
|
|
63
|
+
* Run `codex_completion_oracle.py --project-root <root> --phase <p>
|
|
64
|
+
* --session <sid> [--since <iso>]` and parse its JSON verdict. Never
|
|
65
|
+
* throws for an oracle failure — only a programming error would reject.
|
|
66
|
+
*/
|
|
67
|
+
export declare function runCodexOracle(input: RunCodexOracleInput, deps?: CodexOracleDeps): Promise<OracleOutcome>;
|
|
68
|
+
//# sourceMappingURL=codex-oracle-runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-oracle-runner.d.ts","sourceRoot":"","sources":["../../src/core/codex-oracle-runner.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAiD,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGjG,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAE9C,yEAAyE;AACzE,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,kBAAkB,GAAG,WAAW,CAAC;AAEnF,MAAM,WAAW,cAAc;IAC7B;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;IAC3C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,aAAa,GAAG,CAC1B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,KACnD,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEhC,eAAO,MAAM,kBAAkB,EAAE,aAAoC,CAAC;AAEtE,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAC7B;AAED,qFAAqF;AACrF,wBAAgB,wBAAwB,CACtC,IAAI,GAAE,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,SAAS,GAAG,gBAAgB,CAAM,GAC1E,MAAM,GAAG,IAAI,CAWf;AAQD;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,mBAAmB,EAC1B,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,aAAa,CAAC,CAuExB"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* core/codex-oracle-runner.ts — the injection-safe bridge to `shared/
|
|
3
|
+
* scripts/tools/codex_completion_oracle.py` (Codex Light §1.7).
|
|
4
|
+
*
|
|
5
|
+
* Mirrors `triage-cli-runner.ts`'s spawn discipline verbatim (same reason:
|
|
6
|
+
* `uv run --no-project --python ">=3.11"` so the script always runs in a
|
|
7
|
+
* Python that actually satisfies its own floor, never whichever of
|
|
8
|
+
* python3/python/py answers `--version` first — see that module's header
|
|
9
|
+
* for the incident this avoids). `--no-project` matters here too: the
|
|
10
|
+
* oracle script has no `pyproject.toml` of its own (it's a plain module
|
|
11
|
+
* under `shared/scripts/tools/`), so an ambient one discovered by walking
|
|
12
|
+
* up from the SPAWNING PROCESS's cwd must never get silently activated.
|
|
13
|
+
*
|
|
14
|
+
* Unlike `grade-runner.ts` / `triage-cli-runner.ts`, the oracle CLI prints
|
|
15
|
+
* its JSON payload on EVERY exit code (0-3 all carry a verdict; there is no
|
|
16
|
+
* "non-JSON means engine trouble" branch) — see `codex_completion_oracle.py`
|
|
17
|
+
* `main()`. This wrapper therefore always attempts to parse stdout first and
|
|
18
|
+
* only falls back to an engine-unavailable/failed outcome when uv/the
|
|
19
|
+
* script itself couldn't be resolved or spawned at all.
|
|
20
|
+
*
|
|
21
|
+
* Required-CI PR-review finding (PR #466): the spawn pattern was a
|
|
22
|
+
* verbatim mirror of `triage-cli-runner.ts` (already in production), but
|
|
23
|
+
* the CADENCE is new — this runs every 60s tick for as long as a task
|
|
24
|
+
* stays stalled, where the triage call site fires once per user-initiated
|
|
25
|
+
* transition. `execFile`'s own `timeout` only SIGTERMs the immediate `uv`
|
|
26
|
+
* child; if `uv run` had already forked a Python grandchild, Node would
|
|
27
|
+
* not reap that process tree on Windows by default. Fixed (not merely
|
|
28
|
+
* accepted) via `cli-child-spawn.ts`'s shared tree-kill-on-timeout
|
|
29
|
+
* wrapper, shared with `triage-cli-runner.ts` so the two can't re-diverge.
|
|
30
|
+
*/
|
|
31
|
+
import { existsSync } from "node:fs";
|
|
32
|
+
import os from "node:os";
|
|
33
|
+
import path from "node:path";
|
|
34
|
+
import { defaultCliChildSpawn } from "./cli-child-spawn.js";
|
|
35
|
+
import { READINESS_REPAIR_COMMAND, shipwrightCacheRoot } from "./readiness-probe.js";
|
|
36
|
+
import { resolveUv } from "./uv-runner.js";
|
|
37
|
+
export const CODEX_ORACLE_TIMEOUT_MS = 30_000;
|
|
38
|
+
export const defaultSpawnOracle = defaultCliChildSpawn;
|
|
39
|
+
/** Resolve the single cache-owned oracle CLI shipped with the Shipwright runtime. */
|
|
40
|
+
export function resolveCodexOracleScript(deps = {}) {
|
|
41
|
+
const exists = deps.existsFn ?? existsSync;
|
|
42
|
+
if (deps.scriptOverride)
|
|
43
|
+
return exists(deps.scriptOverride) ? deps.scriptOverride : null;
|
|
44
|
+
const candidate = path.join(shipwrightCacheRoot(deps.homeDir ?? os.homedir()), "shared", "scripts", "tools", "codex_completion_oracle.py");
|
|
45
|
+
return exists(candidate) ? candidate : null;
|
|
46
|
+
}
|
|
47
|
+
function cleanStderr(stderr) {
|
|
48
|
+
return stderr.split(/\r?\n/).map((line) => line.trim()).filter(Boolean).pop() ?? "";
|
|
49
|
+
}
|
|
50
|
+
const ENGINE_UNAVAILABLE_REASON = "The Codex completion oracle isn't installed.";
|
|
51
|
+
/**
|
|
52
|
+
* Run `codex_completion_oracle.py --project-root <root> --phase <p>
|
|
53
|
+
* --session <sid> [--since <iso>]` and parse its JSON verdict. Never
|
|
54
|
+
* throws for an oracle failure — only a programming error would reject.
|
|
55
|
+
*/
|
|
56
|
+
export async function runCodexOracle(input, deps = {}) {
|
|
57
|
+
const script = resolveCodexOracleScript(deps);
|
|
58
|
+
if (!script) {
|
|
59
|
+
return { kind: "engine-unavailable", reason: ENGINE_UNAVAILABLE_REASON, repairCommand: READINESS_REPAIR_COMMAND };
|
|
60
|
+
}
|
|
61
|
+
const uv = await resolveUv({ run: deps.run, homeDir: deps.homeDir, baseEnv: deps.baseEnv });
|
|
62
|
+
if (!uv) {
|
|
63
|
+
return {
|
|
64
|
+
kind: "engine-unavailable",
|
|
65
|
+
reason: "uv isn't installed — the Codex completion oracle needs it to run in a managed Python 3.11+.",
|
|
66
|
+
repairCommand: READINESS_REPAIR_COMMAND,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
const spawn = deps.spawn ?? defaultSpawnOracle;
|
|
70
|
+
const args = [
|
|
71
|
+
"run",
|
|
72
|
+
"--no-project",
|
|
73
|
+
"--python",
|
|
74
|
+
">=3.11",
|
|
75
|
+
script,
|
|
76
|
+
"--project-root",
|
|
77
|
+
input.projectRoot,
|
|
78
|
+
"--phase",
|
|
79
|
+
input.phase,
|
|
80
|
+
"--session",
|
|
81
|
+
input.session,
|
|
82
|
+
...(input.since ? ["--since", input.since] : []),
|
|
83
|
+
];
|
|
84
|
+
const result = await spawn(uv.bin, args, {
|
|
85
|
+
timeoutMs: deps.timeoutMs ?? CODEX_ORACLE_TIMEOUT_MS,
|
|
86
|
+
env: uv.env,
|
|
87
|
+
});
|
|
88
|
+
if (result.code === -1) {
|
|
89
|
+
return { kind: "engine-unavailable", reason: "uv couldn't start on this machine.", repairCommand: READINESS_REPAIR_COMMAND };
|
|
90
|
+
}
|
|
91
|
+
// Every other exit (0-3 documented, anything else a crash) prints JSON on
|
|
92
|
+
// stdout per the script's own contract — try to parse before giving up.
|
|
93
|
+
try {
|
|
94
|
+
const payload = JSON.parse(result.stdout);
|
|
95
|
+
if ((payload.verdict === "done" ||
|
|
96
|
+
payload.verdict === "not_done" ||
|
|
97
|
+
payload.verdict === "delivery_pending" ||
|
|
98
|
+
payload.verdict === "no_oracle") &&
|
|
99
|
+
typeof payload.phase === "string" &&
|
|
100
|
+
typeof payload.session === "string" &&
|
|
101
|
+
payload.evidence &&
|
|
102
|
+
typeof payload.evidence === "object") {
|
|
103
|
+
return {
|
|
104
|
+
kind: "ok",
|
|
105
|
+
result: {
|
|
106
|
+
verdict: payload.verdict,
|
|
107
|
+
phase: payload.phase,
|
|
108
|
+
session: payload.session,
|
|
109
|
+
evidence: payload.evidence,
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
/* fall through to the failed branch below */
|
|
116
|
+
}
|
|
117
|
+
return {
|
|
118
|
+
kind: "failed",
|
|
119
|
+
reason: result.spawnError === "timeout"
|
|
120
|
+
? "The completion oracle took too long and was stopped."
|
|
121
|
+
: cleanStderr(result.stderr) || "The completion oracle returned an unrecognised response.",
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=codex-oracle-runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-oracle-runner.js","sourceRoot":"","sources":["../../src/core/codex-oracle-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-status-report.d.ts","sourceRoot":"","sources":["../../src/core/codex-status-report.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;CACf;AAQD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAiBvF"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* core/codex-status-report.ts — §5.4's structured self-report parser.
|
|
3
|
+
*
|
|
4
|
+
* Every Codex launch prompt (`launcher-codex.ts buildCodexPrompt`) ends
|
|
5
|
+
* with an instruction to close with a fenced ```SHIPWRIGHT-STATUS {json}```
|
|
6
|
+
* block. §5.4 (hard v1 scope, not an "Open item"): "Parsed from terminal
|
|
7
|
+
* scrollback, cross-checked against the oracle verdict: agreement raises
|
|
8
|
+
* confidence; disagreement always defers to the oracle. This gives
|
|
9
|
+
* `no_oracle` phases a real, if weaker, signal."
|
|
10
|
+
*
|
|
11
|
+
* Pure parser — no I/O. `CodexTaskWatcher` reads the terminal text (via
|
|
12
|
+
* `PtyManager.peekTerminalText`'s visible-viewport snapshot, the same
|
|
13
|
+
* mechanism `appendCodexTerminalSignals` already uses for approval-request
|
|
14
|
+
* detection) and hands it here.
|
|
15
|
+
*/
|
|
16
|
+
// Matches the exact fence `buildCodexPrompt` instructs Codex to emit. Global
|
|
17
|
+
// so a viewport containing more than one report (e.g. an earlier nudge's
|
|
18
|
+
// echoed instruction text plus a real closing report) is fully scanned —
|
|
19
|
+
// the LAST well-formed match wins, since that's the most recent status.
|
|
20
|
+
const FENCE_RE = /```SHIPWRIGHT-STATUS\s*\r?\n([\s\S]*?)```/g;
|
|
21
|
+
export function parseShipwrightStatusReport(text) {
|
|
22
|
+
let match;
|
|
23
|
+
let last = null;
|
|
24
|
+
FENCE_RE.lastIndex = 0;
|
|
25
|
+
while ((match = FENCE_RE.exec(text)) !== null) {
|
|
26
|
+
try {
|
|
27
|
+
const parsed = JSON.parse(match[1].trim());
|
|
28
|
+
if (parsed && typeof parsed === "object" && typeof parsed.done === "boolean") {
|
|
29
|
+
const p = parsed;
|
|
30
|
+
last = { phase: typeof p.phase === "string" ? p.phase : "", done: p.done };
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
// Malformed block (truncated viewport, stray backticks in unrelated
|
|
35
|
+
// output) — skip it and keep scanning for an earlier well-formed one.
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return last;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=codex-status-report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-status-report.js","sourceRoot":"","sources":["../../src/core/codex-status-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,6EAA6E;AAC7E,yEAAyE;AACzE,yEAAyE;AACzE,wEAAwE;AACxE,MAAM,QAAQ,GAAG,4CAA4C,CAAC;AAE9D,MAAM,UAAU,2BAA2B,CAAC,IAAY;IACtD,IAAI,KAA6B,CAAC;IAClC,IAAI,IAAI,GAAkC,IAAI,CAAC;IAC/C,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;IACvB,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACpD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAQ,MAAkC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC1G,MAAM,CAAC,GAAG,MAAiC,CAAC;gBAC5C,IAAI,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAe,EAAE,CAAC;YACxF,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;YACpE,sEAAsE;QACxE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { ExternalTask } from "./sdk-sessions-store.js";
|
|
2
|
+
import type { OracleOutcome, RunCodexOracleInput } from "./codex-oracle-runner.js";
|
|
3
|
+
/** Settings default per §5 (min 5 — Settings enforces the floor, not this module). */
|
|
4
|
+
export declare const DEFAULT_STALL_TIMEOUT_MS: number;
|
|
5
|
+
/** §5.2 launch-confirmation window — distinct from, and shorter than, the
|
|
6
|
+
* mid-task stall trigger above. */
|
|
7
|
+
export declare const DEFAULT_LAUNCH_CONFIRM_TIMEOUT_MS: number;
|
|
8
|
+
export type CodexWatcherNoticeKind = "nudge_sent" | "delivery_error" | "no_oracle_unresolved" | "launch_confirmation_failed";
|
|
9
|
+
export interface CodexWatcherNotice {
|
|
10
|
+
taskId: string;
|
|
11
|
+
kind: CodexWatcherNoticeKind;
|
|
12
|
+
detail: string;
|
|
13
|
+
at: number;
|
|
14
|
+
}
|
|
15
|
+
export interface CodexTaskWatcherStore {
|
|
16
|
+
list(): ExternalTask[];
|
|
17
|
+
patch(taskId: string, patch: Partial<ExternalTask>): ExternalTask | undefined;
|
|
18
|
+
persist(): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
export interface CodexTaskWatcherPtyManager {
|
|
21
|
+
getLastDataAt(taskId: string): number | null;
|
|
22
|
+
attachCount(taskId: string): number;
|
|
23
|
+
write(taskId: string, data: string): void;
|
|
24
|
+
}
|
|
25
|
+
export interface CodexTaskWatcherDeps {
|
|
26
|
+
store: CodexTaskWatcherStore;
|
|
27
|
+
ptyManager: CodexTaskWatcherPtyManager;
|
|
28
|
+
getProjectById: (id: string) => {
|
|
29
|
+
path: string;
|
|
30
|
+
} | undefined;
|
|
31
|
+
runOracle: (input: RunCodexOracleInput) => Promise<OracleOutcome>;
|
|
32
|
+
/**
|
|
33
|
+
* §4 — best-effort, filename-first discovery of a fresh launch's thread
|
|
34
|
+
* id (`core/codex-thread-discovery.ts`). Optional: omitting it just means
|
|
35
|
+
* no task ever gets a `threadId`, i.e. `resume` never fires (§4's earlier,
|
|
36
|
+
* pre-discovery behavior) — tests that don't care about §4 can skip it.
|
|
37
|
+
*/
|
|
38
|
+
discoverThreadId?: (args: {
|
|
39
|
+
cwd: string;
|
|
40
|
+
sinceIso: string;
|
|
41
|
+
excludeThreadIds?: ReadonlySet<string>;
|
|
42
|
+
}) => Promise<string | null>;
|
|
43
|
+
now?: () => number;
|
|
44
|
+
/**
|
|
45
|
+
* Settings-backed (`GlobalSettings.codexStallTimeoutMinutes`) — a plain
|
|
46
|
+
* number OR a (possibly async) getter, so a caller that re-reads
|
|
47
|
+
* settings.json can hand in `async () => (await readSettings())...` and
|
|
48
|
+
* have a live-edited Settings value take effect on the very next tick,
|
|
49
|
+
* without reconstructing the watcher (which would drop in-flight
|
|
50
|
+
* episode/notice state).
|
|
51
|
+
*/
|
|
52
|
+
stallTimeoutMs?: number | (() => number | Promise<number>);
|
|
53
|
+
launchConfirmTimeoutMs?: number | (() => number | Promise<number>);
|
|
54
|
+
/**
|
|
55
|
+
* §5.4 — best-effort visible-viewport text for the self-report parser
|
|
56
|
+
* (`codex-status-report.ts`). Optional and best-effort by design, same
|
|
57
|
+
* as `PtyManager.peekTerminalText` itself: `null`/omitted just means no
|
|
58
|
+
* self-report signal is available (headless mirror disabled, no live
|
|
59
|
+
* entry) — the oracle-only classification path is unaffected either way.
|
|
60
|
+
*/
|
|
61
|
+
peekTerminalText?: (taskId: string) => string | null;
|
|
62
|
+
}
|
|
63
|
+
export interface EpisodeState {
|
|
64
|
+
/** The `lastDataAt` value this episode "belongs to" — a newer value
|
|
65
|
+
* means fresh output arrived, which starts a brand-new episode. */
|
|
66
|
+
lastSeenDataAt: number;
|
|
67
|
+
nudged: boolean;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=codex-task-watcher-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-task-watcher-types.d.ts","sourceRoot":"","sources":["../../src/core/codex-task-watcher-types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEnF,sFAAsF;AACtF,eAAO,MAAM,wBAAwB,QAAiB,CAAC;AACvD;oCACoC;AACpC,eAAO,MAAM,iCAAiC,QAAY,CAAC;AAE3D,MAAM,MAAM,sBAAsB,GAC9B,YAAY,GACZ,gBAAgB,GAChB,sBAAsB,GACtB,4BAA4B,CAAC;AAEjC,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,sBAAsB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,IAAI,YAAY,EAAE,CAAC;IACvB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,GAAG,SAAS,CAAC;IAC9E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,0BAA0B;IACzC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC7C,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,UAAU,EAAE,0BAA0B,CAAC;IACvC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAC7D,SAAS,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAClE;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE;QACxB,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;KACxC,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,sBAAsB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,YAAY;IAC3B;wEACoE;IACpE,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;CACjB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* core/codex-task-watcher-types.ts — types, deps interfaces, and tunable
|
|
3
|
+
* defaults for `CodexTaskWatcher` (`codex-task-watcher.ts`). Split out to
|
|
4
|
+
* keep the class file under the 300-line guideline; re-exported verbatim
|
|
5
|
+
* from `codex-task-watcher.ts` so every existing import site is unaffected.
|
|
6
|
+
*/
|
|
7
|
+
/** Settings default per §5 (min 5 — Settings enforces the floor, not this module). */
|
|
8
|
+
export const DEFAULT_STALL_TIMEOUT_MS = 15 * 60 * 1000;
|
|
9
|
+
/** §5.2 launch-confirmation window — distinct from, and shorter than, the
|
|
10
|
+
* mid-task stall trigger above. */
|
|
11
|
+
export const DEFAULT_LAUNCH_CONFIRM_TIMEOUT_MS = 90 * 1000;
|
|
12
|
+
//# sourceMappingURL=codex-task-watcher-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-task-watcher-types.js","sourceRoot":"","sources":["../../src/core/codex-task-watcher-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,sFAAsF;AACtF,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACvD;oCACoC;AACpC,MAAM,CAAC,MAAM,iCAAiC,GAAG,EAAE,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type CodexWatcherNotice, type CodexTaskWatcherDeps } from "./codex-task-watcher-types.js";
|
|
2
|
+
export { DEFAULT_STALL_TIMEOUT_MS, DEFAULT_LAUNCH_CONFIRM_TIMEOUT_MS, type CodexWatcherNoticeKind, type CodexWatcherNotice, type CodexTaskWatcherStore, type CodexTaskWatcherPtyManager, type CodexTaskWatcherDeps, } from "./codex-task-watcher-types.js";
|
|
3
|
+
export declare class CodexTaskWatcher {
|
|
4
|
+
private readonly deps;
|
|
5
|
+
private readonly episodes;
|
|
6
|
+
private readonly notices;
|
|
7
|
+
private readonly nowFn;
|
|
8
|
+
private readonly stallTimeoutMs;
|
|
9
|
+
private readonly launchConfirmTimeoutMs;
|
|
10
|
+
/** Reentrancy guard (doubt-review finding) — `index.ts`'s `setInterval`
|
|
11
|
+
* never awaits the prior tick, and one tick can outlive 60s with a
|
|
12
|
+
* handful of stalled tasks (N sequential up-to-30s oracle calls). Two
|
|
13
|
+
* OVERLAPPING ticks would each build their own `claimedThreadIds` from
|
|
14
|
+
* `store.list()` and miss the other's in-flight §4 discovery, risking
|
|
15
|
+
* two tasks in the same cwd permanently claiming the same threadId (no
|
|
16
|
+
* re-validation once set). Skipping an overlapping tick is always safe
|
|
17
|
+
* — the next one 60s later just re-evaluates the same tasks. */
|
|
18
|
+
private ticking;
|
|
19
|
+
constructor(deps: CodexTaskWatcherDeps);
|
|
20
|
+
private resolveStallTimeoutMs;
|
|
21
|
+
private resolveLaunchConfirmTimeoutMs;
|
|
22
|
+
/** Ephemeral, in-memory Inbox feed — see the module header. */
|
|
23
|
+
snapshot(): CodexWatcherNotice[];
|
|
24
|
+
tick(): Promise<void>;
|
|
25
|
+
private checkTask;
|
|
26
|
+
private classify;
|
|
27
|
+
private setNotice;
|
|
28
|
+
private markDone;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=codex-task-watcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-task-watcher.d.ts","sourceRoot":"","sources":["../../src/core/codex-task-watcher.ts"],"names":[],"mappings":"AA+CA,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAE1B,MAAM,+BAA+B,CAAC;AAKvC,OAAO,EACL,wBAAwB,EACxB,iCAAiC,EACjC,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,GAC1B,MAAM,+BAA+B,CAAC;AAUvC,qBAAa,gBAAgB;IAgBf,OAAO,CAAC,QAAQ,CAAC,IAAI;IAfjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyC;IACjE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4C;IAC3E,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA4C;IACnF;;;;;;;qEAOiE;IACjE,OAAO,CAAC,OAAO,CAAS;gBAEK,IAAI,EAAE,oBAAoB;YAMzC,qBAAqB;YAIrB,6BAA6B;IAM3C,+DAA+D;IAC/D,QAAQ,IAAI,kBAAkB,EAAE;IAI1B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAiCb,SAAS;YA2ET,QAAQ;IA+DtB,OAAO,CAAC,SAAS;YAQH,QAAQ;CAMvB"}
|