@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 @@
|
|
|
1
|
+
{"version":3,"file":"launcher-codextender.js","sourceRoot":"","sources":["../../src/core/launcher-codextender.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EACL,gCAAgC,EAChC,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,aAAa,EAAyB,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,2BAA2B;IACzC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,EAAE,CAAC;IAC3D,OAAO,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC;AAED;iEACiE;AACjE,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAK,CAAC;AAwCrD;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACpD,YAAY,GAAW;QACrB,KAAK,CACH,wEAAwE;YACtE,mBAAmB,GAAG,+CAA+C;YACrE,wDAAwD,CAC3D,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC5C,CAAC;CACF;AAED,MAAM,UAAU,wBAAwB,CAAC,IAA2B;IAClE,2EAA2E;IAC3E,uEAAuE;IACvE,2EAA2E;IAC3E,oEAAoE;IACpE,8CAA8C;IAC9C,MAAM,aAAa,GAAG,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpE,IAAI,CAAC;QACH,OAAO;YACL,UAAU,EAAE,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,CAAC;YACnE,GAAG,EAAE,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC;YACtD,KAAK,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC;SAC7D,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,uEAAuE;QACvE,uEAAuE;QACvE,oEAAoE;QACpE,UAAU,CAAC,aAAa,CAAC,CAAC;QAC1B,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,IAA2B,EAC3B,SAAyC,EACzC,CAAwB,EACxB,aAAqB;IAErB,MAAM,QAAQ,GAAG,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,2BAA2B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,CACL,QAAQ;QACR,yBAAyB,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC;QAC5D,IAAI;QACJ,gCAAgC,CAAC,SAAS,EAAE,CAAC,EAAE,aAAa,CAAC,CAC9D,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare const SAMPLE_UUID = "00000000-1111-2222-3333-444444444444";
|
|
2
|
+
export declare const MARKER_VALUE = "smoke-test-secret-9f3a2b7c-do-not-leak";
|
|
3
|
+
export declare const ENV_NAMES: string[];
|
|
4
|
+
export declare const SPAWN_TIMEOUT_MS = 15000;
|
|
5
|
+
export declare function extractTokenFilePath(command: string, shellForm: "powershell" | "cmd" | "posix"): string;
|
|
6
|
+
export declare function findBash(): string | null;
|
|
7
|
+
export declare function findCmd(): string | null;
|
|
8
|
+
export declare function scratchDir(): string;
|
|
9
|
+
export declare function cleanupScratchDirs(): void;
|
|
10
|
+
export interface SmokeResult {
|
|
11
|
+
exit: number | null;
|
|
12
|
+
stdout: string;
|
|
13
|
+
stderr: string;
|
|
14
|
+
tokenSeenByChild: string;
|
|
15
|
+
remainingEnv: string;
|
|
16
|
+
tokenFileExists: boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare function generatedCommandFor(shellForm: "powershell" | "cmd" | "posix"): {
|
|
19
|
+
command: string;
|
|
20
|
+
tokenFilePath: string;
|
|
21
|
+
};
|
|
22
|
+
export declare function runPowershell(exitCode: number, powershellBin: string): SmokeResult;
|
|
23
|
+
export declare function runBash(exitCode: number): SmokeResult;
|
|
24
|
+
export declare function runCmd(exitCode: number): SmokeResult;
|
|
25
|
+
//# sourceMappingURL=launcher-codextender.smoke-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launcher-codextender.smoke-helpers.d.ts","sourceRoot":"","sources":["../../src/core/launcher-codextender.smoke-helpers.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,WAAW,yCAAyC,CAAC;AAClE,eAAO,MAAM,YAAY,2CAA2C,CAAC;AACrE,eAAO,MAAM,SAAS,UAUrB,CAAC;AACF,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAEvC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAiBvG;AAED,wBAAgB,QAAQ,IAAI,MAAM,GAAG,IAAI,CAGxC;AAED,wBAAgB,OAAO,IAAI,MAAM,GAAG,IAAI,CAMvC;AAGD,wBAAgB,UAAU,IAAI,MAAM,CAInC;AACD,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,YAAY,GAAG,KAAK,GAAG,OAAO;;;EAS5E;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,CA+BlF;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAgCrD;AAID,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CA6DpD"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* launcher-codextender.smoke-helpers.ts — real-shell execution plumbing for
|
|
3
|
+
* launcher-codextender.smoke.test.ts, split out (bloat anti-ratchet,
|
|
4
|
+
* 2026-09-28) once the test file crossed the 300-line source/test limit
|
|
5
|
+
* after adding CLAUDE_CODE_AUTO_MODE_SERVER coverage. Pure helpers + shell
|
|
6
|
+
* spawning only — no `describe`/`it` here, so this file is not itself a
|
|
7
|
+
* test suite (vitest only collects files it's told to run tests from; a
|
|
8
|
+
* plain .ts helper imported by a .test.ts file is not treated as one).
|
|
9
|
+
*/
|
|
10
|
+
import { spawnSync } from "node:child_process";
|
|
11
|
+
import { mkdtempSync, rmSync, writeFileSync, existsSync, readFileSync, mkdirSync } from "node:fs";
|
|
12
|
+
import { tmpdir } from "node:os";
|
|
13
|
+
import path from "node:path";
|
|
14
|
+
import { buildCopyCommands } from "./launcher.js";
|
|
15
|
+
import { buildCodextenderCommands } from "./launcher-codextender.js";
|
|
16
|
+
import { POWERSHELL_QUIET_ENV } from "./powershell-probe.smoke-helpers.js";
|
|
17
|
+
export const SAMPLE_UUID = "00000000-1111-2222-3333-444444444444";
|
|
18
|
+
export const MARKER_VALUE = "smoke-test-secret-9f3a2b7c-do-not-leak";
|
|
19
|
+
export const ENV_NAMES = [
|
|
20
|
+
"ANTHROPIC_BASE_URL",
|
|
21
|
+
"ANTHROPIC_AUTH_TOKEN",
|
|
22
|
+
"ANTHROPIC_MODEL",
|
|
23
|
+
"CODEXTENDER_ACTIVE",
|
|
24
|
+
"CODEXTENDER_MODEL",
|
|
25
|
+
"CLAUDE_CODE_AUTO_MODE_SERVER",
|
|
26
|
+
"ANTHROPIC_DEFAULT_OPUS_MODEL",
|
|
27
|
+
"ANTHROPIC_DEFAULT_SONNET_MODEL",
|
|
28
|
+
"ANTHROPIC_DEFAULT_HAIKU_MODEL",
|
|
29
|
+
];
|
|
30
|
+
export const SPAWN_TIMEOUT_MS = 15_000;
|
|
31
|
+
export function extractTokenFilePath(command, shellForm) {
|
|
32
|
+
if (shellForm === "powershell") {
|
|
33
|
+
const m = command.match(/Get-Content -LiteralPath '([^']+)'/);
|
|
34
|
+
if (!m)
|
|
35
|
+
throw new Error("token file path not found in powershell command");
|
|
36
|
+
return m[1];
|
|
37
|
+
}
|
|
38
|
+
/* v8 ignore start -- cmd.exe branch only reached via runCmd(), which
|
|
39
|
+
* findCmd()'s win32 guard skips entirely on the Linux CI runner. */
|
|
40
|
+
if (shellForm === "cmd") {
|
|
41
|
+
const m = command.match(/set \/p ANTHROPIC_AUTH_TOKEN=<"([^"]+)"/);
|
|
42
|
+
if (!m)
|
|
43
|
+
throw new Error("token file path not found in cmd command");
|
|
44
|
+
return m[1];
|
|
45
|
+
}
|
|
46
|
+
/* v8 ignore stop */
|
|
47
|
+
const m = command.match(/\$\(cat '([^']+)'\)/);
|
|
48
|
+
if (!m)
|
|
49
|
+
throw new Error("token file path not found in posix command");
|
|
50
|
+
return m[1];
|
|
51
|
+
}
|
|
52
|
+
export function findBash() {
|
|
53
|
+
const result = spawnSync("bash", ["-c", "true"], { stdio: "pipe", timeout: SPAWN_TIMEOUT_MS });
|
|
54
|
+
return result.status === 0 ? "bash" : null;
|
|
55
|
+
}
|
|
56
|
+
export function findCmd() {
|
|
57
|
+
if (process.platform !== "win32")
|
|
58
|
+
return null; // cmd.exe is Windows-only.
|
|
59
|
+
/* v8 ignore start -- unreachable on the Linux CI runner (platform check above). */
|
|
60
|
+
const result = spawnSync("cmd", ["/c", "exit", "0"], { stdio: "pipe", timeout: SPAWN_TIMEOUT_MS });
|
|
61
|
+
return result.status === 0 ? "cmd" : null;
|
|
62
|
+
/* v8 ignore stop */
|
|
63
|
+
}
|
|
64
|
+
const scratchDirs = [];
|
|
65
|
+
export function scratchDir() {
|
|
66
|
+
const dir = mkdtempSync(path.join(tmpdir(), "codextender-smoke-"));
|
|
67
|
+
scratchDirs.push(dir);
|
|
68
|
+
return dir;
|
|
69
|
+
}
|
|
70
|
+
export function cleanupScratchDirs() {
|
|
71
|
+
while (scratchDirs.length > 0) {
|
|
72
|
+
const dir = scratchDirs.pop();
|
|
73
|
+
if (dir)
|
|
74
|
+
rmSync(dir, { recursive: true, force: true });
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export function generatedCommandFor(shellForm) {
|
|
78
|
+
const claudeCommands = buildCopyCommands({ sessionUuid: SAMPLE_UUID, cwd: process.cwd(), title: "smoke" });
|
|
79
|
+
const command = buildCodextenderCommands({
|
|
80
|
+
cwd: process.cwd(),
|
|
81
|
+
baseUrl: "http://127.0.0.1:4000",
|
|
82
|
+
authToken: MARKER_VALUE,
|
|
83
|
+
claudeCommands,
|
|
84
|
+
})[shellForm];
|
|
85
|
+
return { command, tokenFilePath: extractTokenFilePath(command, shellForm) };
|
|
86
|
+
}
|
|
87
|
+
export function runPowershell(exitCode, powershellBin) {
|
|
88
|
+
const { command, tokenFilePath } = generatedCommandFor("powershell");
|
|
89
|
+
const dir = scratchDir();
|
|
90
|
+
const captureFile = path.join(dir, "capture.txt");
|
|
91
|
+
const wrapper = "function claude {\n" +
|
|
92
|
+
" Set-Content -LiteralPath $env:SMOKE_CAPTURE_FILE -Value $env:ANTHROPIC_AUTH_TOKEN -NoNewline\n" +
|
|
93
|
+
" $global:LASTEXITCODE = [int]$env:SMOKE_EXIT_CODE\n" +
|
|
94
|
+
"}\n" +
|
|
95
|
+
command +
|
|
96
|
+
"\n" +
|
|
97
|
+
'$remaining = @()\n' +
|
|
98
|
+
`foreach ($n in @(${ENV_NAMES.map((n) => `"${n}"`).join(",")})) {\n` +
|
|
99
|
+
" if ([Environment]::GetEnvironmentVariable($n)) { $remaining += $n }\n" +
|
|
100
|
+
"}\n" +
|
|
101
|
+
'Write-Output ("SMOKE_REMAINING_ENV=" + ($remaining -join ","))\n' +
|
|
102
|
+
`Write-Output ("SMOKE_TOKEN_FILE_EXISTS=" + (Test-Path -LiteralPath '${tokenFilePath.replace(/'/g, "''")}'))\n`;
|
|
103
|
+
const result = spawnSync(powershellBin, ["-NoProfile", "-Command", wrapper], {
|
|
104
|
+
stdio: "pipe",
|
|
105
|
+
timeout: SPAWN_TIMEOUT_MS,
|
|
106
|
+
env: { ...process.env, ...POWERSHELL_QUIET_ENV, SMOKE_CAPTURE_FILE: captureFile, SMOKE_EXIT_CODE: String(exitCode) },
|
|
107
|
+
});
|
|
108
|
+
const stdout = result.stdout?.toString() ?? "";
|
|
109
|
+
return {
|
|
110
|
+
exit: result.status,
|
|
111
|
+
stdout,
|
|
112
|
+
stderr: result.stderr?.toString() ?? "",
|
|
113
|
+
tokenSeenByChild: existsSync(captureFile) ? readFileSync(captureFile, "utf8") : "",
|
|
114
|
+
remainingEnv: /SMOKE_REMAINING_ENV=([^\r\n]*)/.exec(stdout)?.[1] ?? "MISSING",
|
|
115
|
+
tokenFileExists: /SMOKE_TOKEN_FILE_EXISTS=True/i.test(stdout),
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
export function runBash(exitCode) {
|
|
119
|
+
const { command, tokenFilePath } = generatedCommandFor("posix");
|
|
120
|
+
const dir = scratchDir();
|
|
121
|
+
const captureFile = path.join(dir, "capture.txt");
|
|
122
|
+
const wrapper = "claude() {\n" +
|
|
123
|
+
' printf "%s" "$ANTHROPIC_AUTH_TOKEN" > "$SMOKE_CAPTURE_FILE"\n' +
|
|
124
|
+
" return $SMOKE_EXIT_CODE\n" +
|
|
125
|
+
"}\n" +
|
|
126
|
+
command +
|
|
127
|
+
"\n" +
|
|
128
|
+
'remaining=""\n' +
|
|
129
|
+
`for n in ${ENV_NAMES.join(" ")}; do\n` +
|
|
130
|
+
' v=$(eval "printf \'%s\' \\"\\${$n:-}\\"")\n' +
|
|
131
|
+
' if [ -n "$v" ]; then remaining="$remaining$n,"; fi\n' +
|
|
132
|
+
"done\n" +
|
|
133
|
+
'echo "SMOKE_REMAINING_ENV=$remaining"\n' +
|
|
134
|
+
`if [ -e "${tokenFilePath}" ]; then echo "SMOKE_TOKEN_FILE_EXISTS=true"; else echo "SMOKE_TOKEN_FILE_EXISTS=false"; fi\n`;
|
|
135
|
+
const result = spawnSync("bash", ["-c", wrapper], {
|
|
136
|
+
stdio: "pipe",
|
|
137
|
+
timeout: SPAWN_TIMEOUT_MS,
|
|
138
|
+
env: { ...process.env, SMOKE_CAPTURE_FILE: captureFile, SMOKE_EXIT_CODE: String(exitCode) },
|
|
139
|
+
});
|
|
140
|
+
const stdout = result.stdout?.toString() ?? "";
|
|
141
|
+
return {
|
|
142
|
+
exit: result.status,
|
|
143
|
+
stdout,
|
|
144
|
+
stderr: result.stderr?.toString() ?? "",
|
|
145
|
+
tokenSeenByChild: existsSync(captureFile) ? readFileSync(captureFile, "utf8") : "",
|
|
146
|
+
remainingEnv: /SMOKE_REMAINING_ENV=([^\r\n]*)/.exec(stdout)?.[1] ?? "MISSING",
|
|
147
|
+
tokenFileExists: /SMOKE_TOKEN_FILE_EXISTS=true/i.test(stdout),
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
/* v8 ignore start -- only invoked by the cmd.exe smoke test, which
|
|
151
|
+
* it.skipIf(!findCmd()) skips entirely on the Linux CI runner. */
|
|
152
|
+
export function runCmd(exitCode) {
|
|
153
|
+
const { command, tokenFilePath } = generatedCommandFor("cmd");
|
|
154
|
+
const dir = scratchDir();
|
|
155
|
+
const stubDir = path.join(dir, "stub");
|
|
156
|
+
mkdirSync(stubDir);
|
|
157
|
+
const captureFile = path.join(dir, "capture.txt");
|
|
158
|
+
writeFileSync(path.join(stubDir, "claude.cmd"), "@echo off\r\n" +
|
|
159
|
+
'>"%SMOKE_CAPTURE_FILE%" echo %ANTHROPIC_AUTH_TOKEN%\r\n' +
|
|
160
|
+
"exit /b %SMOKE_EXIT_CODE%\r\n");
|
|
161
|
+
// Diagnostics MUST be chained with `&` onto the SAME logical line as
|
|
162
|
+
// `command`, never as subsequent physical lines: cmd.exe invokes the
|
|
163
|
+
// `claude.cmd` stub by bare name (no `call`, matching production, where
|
|
164
|
+
// real `claude` is a native .exe and this quirk never applies), and once a
|
|
165
|
+
// .cmd/.bat is invoked that way, control returns for the REST OF THE SAME
|
|
166
|
+
// LINE's `&`-chained commands but never advances to the calling script's
|
|
167
|
+
// next physical line (verified empirically: a batch file's own line after
|
|
168
|
+
// a bare-name nested-.cmd call never runs, even though same-line `&`
|
|
169
|
+
// continuations after that call do).
|
|
170
|
+
//
|
|
171
|
+
// There is NO reliable same-line way left to observe whether the
|
|
172
|
+
// cleanup suffix's `set NAME=` clears actually took effect: cmd.exe
|
|
173
|
+
// resolves every %VAR%/`if defined VAR` reference on an entire `&`-chained
|
|
174
|
+
// line against the environment snapshot from BEFORE that line started
|
|
175
|
+
// executing, regardless of `set` commands earlier on the SAME line — the
|
|
176
|
+
// textbook reason `setlocal enabledelayedexpansion` exists at all
|
|
177
|
+
// (confirmed in isolation: `set "X=1" & set X=CLEARED & echo %X%` prints
|
|
178
|
+
// the OLD value; `enabledelayedexpansion` + `!X!` does not fix `if
|
|
179
|
+
// defined` either, and even a nested `cmd /c "if defined X ..."` spawned
|
|
180
|
+
// mid-line inherits the same stale snapshot). This is a limitation of
|
|
181
|
+
// observing it from the SAME script, not evidence cleanup didn't run:
|
|
182
|
+
// `if exist <tokenFilePath>` below checks DISK state, immune to this
|
|
183
|
+
// per-line env snapshot, and its `false` result already proves the whole
|
|
184
|
+
// `&`-chained cleanup suffix — including the `set NAME=` clears that
|
|
185
|
+
// precede `del` in that exact same chain — ran to completion in order.
|
|
186
|
+
const oneLine = `set "PATH=${stubDir};%PATH%" & ` +
|
|
187
|
+
`set "SMOKE_CAPTURE_FILE=${captureFile}" & ` +
|
|
188
|
+
`set "SMOKE_EXIT_CODE=${exitCode}" & ` +
|
|
189
|
+
command +
|
|
190
|
+
` & (if exist "${tokenFilePath}" (echo SMOKE_TOKEN_FILE_EXISTS=true) else (echo SMOKE_TOKEN_FILE_EXISTS=false))`;
|
|
191
|
+
const wrapperFile = path.join(dir, "wrapper.cmd");
|
|
192
|
+
writeFileSync(wrapperFile, `@echo off\r\n${oneLine}\r\n`);
|
|
193
|
+
const result = spawnSync("cmd", ["/c", wrapperFile], {
|
|
194
|
+
stdio: "pipe",
|
|
195
|
+
timeout: SPAWN_TIMEOUT_MS,
|
|
196
|
+
env: { ...process.env },
|
|
197
|
+
});
|
|
198
|
+
const stdout = result.stdout?.toString() ?? "";
|
|
199
|
+
return {
|
|
200
|
+
exit: result.status,
|
|
201
|
+
stdout,
|
|
202
|
+
stderr: result.stderr?.toString() ?? "",
|
|
203
|
+
tokenSeenByChild: existsSync(captureFile) ? readFileSync(captureFile, "utf8").trim() : "",
|
|
204
|
+
// Not observable same-line for cmd — see the comment above; the disk-based
|
|
205
|
+
// tokenFileExists check below covers whether the cleanup chain ran.
|
|
206
|
+
remainingEnv: "",
|
|
207
|
+
tokenFileExists: /SMOKE_TOKEN_FILE_EXISTS=true/i.test(stdout),
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
/* v8 ignore stop */
|
|
211
|
+
//# sourceMappingURL=launcher-codextender.smoke-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launcher-codextender.smoke-helpers.js","sourceRoot":"","sources":["../../src/core/launcher-codextender.smoke-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** Narrowest slice of `launcher.ts`'s own `Argv` this module needs. */
|
|
2
|
+
export interface PermissionPerimeterArgv {
|
|
3
|
+
toolsAllowlist: readonly string[];
|
|
4
|
+
permissionMode?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Emits `--tools <comma-list>` and `--permission-mode <mode>` when
|
|
8
|
+
* `toolsAllowlist` is non-empty. Both flags or neither: a `permissionMode`
|
|
9
|
+
* without a `toolsAllowlist` would leave the process's full default toolset
|
|
10
|
+
* pre-approved-without-asking, the exact "looks compliant, isn't" shape
|
|
11
|
+
* this perimeter exists to prevent — so `permissionMode` is only ever
|
|
12
|
+
* emitted alongside a real allow-list. Emits nothing for an ordinary launch
|
|
13
|
+
* (`toolsAllowlist` empty/absent), which is why a manual launch's command
|
|
14
|
+
* string is unchanged byte-for-byte.
|
|
15
|
+
*/
|
|
16
|
+
export declare function appendPermissionPerimeter(a: PermissionPerimeterArgv, parts: string[], q: (v: string) => string): void;
|
|
17
|
+
//# sourceMappingURL=launcher-permission-flags.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launcher-permission-flags.d.ts","sourceRoot":"","sources":["../../src/core/launcher-permission-flags.ts"],"names":[],"mappings":"AAUA,uEAAuE;AACvE,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,CAAC,EAAE,uBAAuB,EAC1B,KAAK,EAAE,MAAM,EAAE,EACf,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GACvB,IAAI,CAIN"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* core/launcher-permission-flags.ts — FR-04.22 permission-perimeter argv
|
|
3
|
+
* rendering, split out of launcher.ts purely to keep that file under the
|
|
4
|
+
* repo's 300-line guideline (no behavior change from the split itself).
|
|
5
|
+
*
|
|
6
|
+
* See `external/launch/claim-executor-permissions.ts` for WHY this exists
|
|
7
|
+
* and the empirical CLI evidence behind the `--tools` + `--permission-mode`
|
|
8
|
+
* combination.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Emits `--tools <comma-list>` and `--permission-mode <mode>` when
|
|
12
|
+
* `toolsAllowlist` is non-empty. Both flags or neither: a `permissionMode`
|
|
13
|
+
* without a `toolsAllowlist` would leave the process's full default toolset
|
|
14
|
+
* pre-approved-without-asking, the exact "looks compliant, isn't" shape
|
|
15
|
+
* this perimeter exists to prevent — so `permissionMode` is only ever
|
|
16
|
+
* emitted alongside a real allow-list. Emits nothing for an ordinary launch
|
|
17
|
+
* (`toolsAllowlist` empty/absent), which is why a manual launch's command
|
|
18
|
+
* string is unchanged byte-for-byte.
|
|
19
|
+
*/
|
|
20
|
+
export function appendPermissionPerimeter(a, parts, q) {
|
|
21
|
+
if (a.toolsAllowlist.length === 0)
|
|
22
|
+
return;
|
|
23
|
+
parts.push("--tools", q(a.toolsAllowlist.join(",")));
|
|
24
|
+
if (a.permissionMode)
|
|
25
|
+
parts.push("--permission-mode", q(a.permissionMode));
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=launcher-permission-flags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launcher-permission-flags.js","sourceRoot":"","sources":["../../src/core/launcher-permission-flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CACvC,CAA0B,EAC1B,KAAe,EACf,CAAwB;IAExB,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC1C,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC,CAAC,cAAc;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -32,6 +32,24 @@ export interface LaunchArgs {
|
|
|
32
32
|
* are rejected here as defense-in-depth.
|
|
33
33
|
*/
|
|
34
34
|
slashCommand?: string;
|
|
35
|
+
/**
|
|
36
|
+
* FR-04.22 permission perimeter (iterate-2026-09-06-claim-launch-
|
|
37
|
+
* permission-perimeter) — emitted as `--tools <names>` when non-empty.
|
|
38
|
+
* ONLY set by a caller that has independently established this launch is
|
|
39
|
+
* claim-authorized (see `external/launch/claim-executor-permissions.ts`);
|
|
40
|
+
* a plain human/manual launch never sets this field, so its command
|
|
41
|
+
* string is byte-identical to before this change. Genuinely restricts
|
|
42
|
+
* the spawned process's function set (verified live) — NOT the same as
|
|
43
|
+
* `--allowed-tools`, which only pre-approves combos without removing
|
|
44
|
+
* anything.
|
|
45
|
+
*/
|
|
46
|
+
toolsAllowlist?: readonly string[];
|
|
47
|
+
/**
|
|
48
|
+
* FR-04.22 permission perimeter — emitted as `--permission-mode <mode>`
|
|
49
|
+
* alongside `toolsAllowlist`. See `claimExecutorLaunchOverrides()` for
|
|
50
|
+
* the verified value and why.
|
|
51
|
+
*/
|
|
52
|
+
permissionMode?: string;
|
|
35
53
|
}
|
|
36
54
|
export interface LaunchResult {
|
|
37
55
|
/** Always populated; the user's fallback. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../../src/core/launcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../../src/core/launcher.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,6DAA6D;IAC7D,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;AAEvF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,gBAAgB,CAOpE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,YAAY,GAAG,KAAK,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAS5F;AAED,eAAO,MAAM,YAAY,EAAE,aAGzB,CAAC;AA0JH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* 2 can plug implementations in without rewiring callers.
|
|
15
15
|
*/
|
|
16
16
|
import { qPs, qCmd, qPosix, toPosixPath } from "./shell-quote.js";
|
|
17
|
+
import { appendPermissionPerimeter } from "./launcher-permission-flags.js";
|
|
17
18
|
export function buildCopyCommands(args) {
|
|
18
19
|
const parts = buildArgv(args);
|
|
19
20
|
return {
|
|
@@ -76,6 +77,8 @@ function buildArgv(args) {
|
|
|
76
77
|
pluginDirs: args.pluginDirs ?? [],
|
|
77
78
|
title,
|
|
78
79
|
slashCommand,
|
|
80
|
+
toolsAllowlist: [...(args.toolsAllowlist ?? [])],
|
|
81
|
+
permissionMode: args.permissionMode,
|
|
79
82
|
};
|
|
80
83
|
}
|
|
81
84
|
/**
|
|
@@ -112,6 +115,7 @@ function normalizeSlashCommand(raw) {
|
|
|
112
115
|
function renderPowershell(a) {
|
|
113
116
|
const parts = ["claude"];
|
|
114
117
|
appendSessionFlags(a, parts, qPs);
|
|
118
|
+
appendPermissionPerimeter(a, parts, qPs);
|
|
115
119
|
parts.push("--add-dir", qPs(a.cwd));
|
|
116
120
|
appendResumeFork(a, parts, qPs);
|
|
117
121
|
appendName(a, parts, qPs);
|
|
@@ -124,6 +128,7 @@ function renderPowershell(a) {
|
|
|
124
128
|
function renderCmd(a) {
|
|
125
129
|
const parts = ["claude"];
|
|
126
130
|
appendSessionFlags(a, parts, qCmd);
|
|
131
|
+
appendPermissionPerimeter(a, parts, qCmd);
|
|
127
132
|
parts.push("--add-dir", qCmd(a.cwd));
|
|
128
133
|
appendResumeFork(a, parts, qCmd);
|
|
129
134
|
appendName(a, parts, qCmd);
|
|
@@ -138,6 +143,7 @@ function renderPosix(a) {
|
|
|
138
143
|
const plugins = a.pluginDirs.map(toPosixPath);
|
|
139
144
|
const parts = ["claude"];
|
|
140
145
|
appendSessionFlags(a, parts, qPosix);
|
|
146
|
+
appendPermissionPerimeter(a, parts, qPosix);
|
|
141
147
|
parts.push("--add-dir", qPosix(cwd));
|
|
142
148
|
appendResumeFork(a, parts, qPosix);
|
|
143
149
|
appendName(a, parts, qPosix);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launcher.js","sourceRoot":"","sources":["../../src/core/launcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"launcher.js","sourceRoot":"","sources":["../../src/core/launcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { spawn as realSpawn } from "node:child_process";
|
|
2
|
+
import { type ResolvedSpawn } from "./win32-spawn.js";
|
|
3
|
+
import type { PreflightResult, PreflightStdinInput } from "../types/leadwright-preflight.js";
|
|
4
|
+
export type LeadwrightTransportResult = {
|
|
5
|
+
ranOk: true;
|
|
6
|
+
result: PreflightResult;
|
|
7
|
+
} | {
|
|
8
|
+
ranOk: false;
|
|
9
|
+
reason: string;
|
|
10
|
+
};
|
|
11
|
+
export interface RunLeadwrightPreflightOptions {
|
|
12
|
+
/** Injected for tests. */
|
|
13
|
+
spawn?: typeof realSpawn;
|
|
14
|
+
/** Injected for tests. */
|
|
15
|
+
resolveSpawnFn?: (argv: string[], cwd: string) => ResolvedSpawn | null;
|
|
16
|
+
/** Wall-clock deadline for the ENTIRE call, independent of the CLI's own
|
|
17
|
+
* 30s stdin-read timeout — bounds a child that hangs after receiving
|
|
18
|
+
* stdin (e.g. stalled on filesystem I/O). Default: 45s. */
|
|
19
|
+
timeoutMs?: number;
|
|
20
|
+
/** Caps total collected stdout+stderr bytes; exceeding it kills the
|
|
21
|
+
* child rather than parsing a truncated/misleading partial result.
|
|
22
|
+
* Default: 10 MiB (generous — a real PreflightResult with dozens of
|
|
23
|
+
* findings is a few KB). */
|
|
24
|
+
maxOutputBytes?: number;
|
|
25
|
+
}
|
|
26
|
+
export declare function runLeadwrightPreflight(checkoutRoot: string, proposal: PreflightStdinInput, options?: RunLeadwrightPreflightOptions): Promise<LeadwrightTransportResult>;
|
|
27
|
+
//# sourceMappingURL=leadwright-preflight-transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"leadwright-preflight-transport.d.ts","sourceRoot":"","sources":["../../src/core/leadwright-preflight-transport.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAqB,MAAM,oBAAoB,CAAC;AAG3E,OAAO,EAAoC,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACxF,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAE7F,MAAM,MAAM,yBAAyB,GACjC;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,GACxC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC,MAAM,WAAW,6BAA6B;IAC5C,0BAA0B;IAC1B,KAAK,CAAC,EAAE,OAAO,SAAS,CAAC;IACzB,0BAA0B;IAC1B,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,KAAK,aAAa,GAAG,IAAI,CAAC;IACvE;;gEAE4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;iCAG6B;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAcD,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,GAAE,6BAAkC,GAC1C,OAAO,CAAC,yBAAyB,CAAC,CAqGpC"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* leadwright-preflight-transport.ts — spawns leadwright's
|
|
3
|
+
* `scripts/check-setup.ts --stdin --json` and returns its verdict.
|
|
4
|
+
* (iterate-2026-09-07-leadwright-setup-wizard, W14).
|
|
5
|
+
*
|
|
6
|
+
* "The transport is a subprocess, not a re-implementation. Never re-type a
|
|
7
|
+
* shape, never compute a verdict here." This module does none of leadwright's
|
|
8
|
+
* validation — it only gets a proposal there and a result back, faithfully.
|
|
9
|
+
*
|
|
10
|
+
* Fail-closed signal (correction 4, verified against leadwright origin/main
|
|
11
|
+
* @ 43fcd492's scripts/check-setup.ts): stdout parses as {ok, findings} ⇒
|
|
12
|
+
* ranOk:true, REGARDLESS of exit code (exit 1 with a parseable result is a
|
|
13
|
+
* legitimate red verdict). stdout empty/unparsable ⇒ ranOk:false — this,
|
|
14
|
+
* not the exit code, is "leadwright not reachable".
|
|
15
|
+
*
|
|
16
|
+
* Reuses the existing Windows-safe spawn resolver (core/win32-spawn.ts) —
|
|
17
|
+
* the same one preview-session-manager.ts already uses — rather than a
|
|
18
|
+
* second spawn primitive.
|
|
19
|
+
*/
|
|
20
|
+
import { spawn as realSpawn } from "node:child_process";
|
|
21
|
+
import path from "node:path";
|
|
22
|
+
import { resolveSpawn as realResolveSpawn } from "./win32-spawn.js";
|
|
23
|
+
const DEFAULT_TIMEOUT_MS = 45_000;
|
|
24
|
+
const DEFAULT_MAX_OUTPUT_BYTES = 10 * 1024 * 1024;
|
|
25
|
+
function looksLikePreflightResult(value) {
|
|
26
|
+
return (typeof value === "object" &&
|
|
27
|
+
value !== null &&
|
|
28
|
+
typeof value.ok === "boolean" &&
|
|
29
|
+
Array.isArray(value.findings));
|
|
30
|
+
}
|
|
31
|
+
export function runLeadwrightPreflight(checkoutRoot, proposal, options = {}) {
|
|
32
|
+
const spawnFn = options.spawn ?? realSpawn;
|
|
33
|
+
const resolveSpawnFn = options.resolveSpawnFn ?? realResolveSpawn;
|
|
34
|
+
const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
35
|
+
const maxOutputBytes = options.maxOutputBytes ?? DEFAULT_MAX_OUTPUT_BYTES;
|
|
36
|
+
const argv = [
|
|
37
|
+
path.join(checkoutRoot, "node_modules", ".bin", "tsx"),
|
|
38
|
+
path.join(checkoutRoot, "scripts", "check-setup.ts"),
|
|
39
|
+
"--stdin",
|
|
40
|
+
"--json",
|
|
41
|
+
];
|
|
42
|
+
const resolved = resolveSpawnFn(argv, checkoutRoot);
|
|
43
|
+
if (resolved === null) {
|
|
44
|
+
return Promise.resolve({
|
|
45
|
+
ranOk: false,
|
|
46
|
+
reason: `tsx not found under the configured leadwright checkout (${checkoutRoot}) — check SHIPWRIGHT_LEADWRIGHT_CHECKOUT and that dependencies are installed there`,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return new Promise((resolvePromise) => {
|
|
50
|
+
let settled = false;
|
|
51
|
+
let stdoutBytes = 0;
|
|
52
|
+
let stderrBytes = 0;
|
|
53
|
+
let stdoutText = "";
|
|
54
|
+
let stderrText = "";
|
|
55
|
+
let outputCapExceeded = false;
|
|
56
|
+
const child = spawnFn(resolved.command, resolved.args, {
|
|
57
|
+
cwd: checkoutRoot,
|
|
58
|
+
stdio: "pipe",
|
|
59
|
+
windowsVerbatimArguments: resolved.windowsVerbatimArguments,
|
|
60
|
+
});
|
|
61
|
+
const timer = setTimeout(() => {
|
|
62
|
+
finish({ ranOk: false, reason: `leadwright check-setup timed out after ${timeoutMs}ms` });
|
|
63
|
+
child.kill();
|
|
64
|
+
}, timeoutMs);
|
|
65
|
+
function finish(result) {
|
|
66
|
+
if (settled)
|
|
67
|
+
return;
|
|
68
|
+
settled = true;
|
|
69
|
+
clearTimeout(timer);
|
|
70
|
+
resolvePromise(result);
|
|
71
|
+
}
|
|
72
|
+
child.on("error", (err) => {
|
|
73
|
+
finish({ ranOk: false, reason: `could not spawn leadwright check-setup: ${err.message}` });
|
|
74
|
+
});
|
|
75
|
+
child.stdin?.on("error", () => {
|
|
76
|
+
// EPIPE etc. — the eventual 'close' (or the timeout) is the source of
|
|
77
|
+
// truth for the final result; a stdin write failure alone must not
|
|
78
|
+
// resolve early with a misleading partial state.
|
|
79
|
+
});
|
|
80
|
+
child.stdout?.on("data", (chunk) => {
|
|
81
|
+
stdoutBytes += chunk.length;
|
|
82
|
+
stdoutText += chunk.toString("utf-8");
|
|
83
|
+
if (stdoutBytes + stderrBytes > maxOutputBytes && !outputCapExceeded) {
|
|
84
|
+
outputCapExceeded = true;
|
|
85
|
+
finish({ ranOk: false, reason: "leadwright check-setup produced more output than the configured cap — treated as a runaway process" });
|
|
86
|
+
child.kill();
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
child.stderr?.on("data", (chunk) => {
|
|
90
|
+
stderrBytes += chunk.length;
|
|
91
|
+
stderrText += chunk.toString("utf-8");
|
|
92
|
+
if (stdoutBytes + stderrBytes > maxOutputBytes && !outputCapExceeded) {
|
|
93
|
+
outputCapExceeded = true;
|
|
94
|
+
finish({ ranOk: false, reason: "leadwright check-setup produced more output than the configured cap — treated as a runaway process" });
|
|
95
|
+
child.kill();
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
child.on("close", () => {
|
|
99
|
+
if (outputCapExceeded)
|
|
100
|
+
return; // already finished
|
|
101
|
+
const trimmed = stdoutText.trim();
|
|
102
|
+
if (trimmed === "") {
|
|
103
|
+
finish({ ranOk: false, reason: stderrText.trim() || "leadwright check-setup produced no output" });
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
let parsed;
|
|
107
|
+
try {
|
|
108
|
+
parsed = JSON.parse(trimmed);
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
finish({ ranOk: false, reason: stderrText.trim() || `leadwright check-setup produced unparsable output: ${trimmed.slice(0, 500)}` });
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
if (!looksLikePreflightResult(parsed)) {
|
|
115
|
+
finish({ ranOk: false, reason: "leadwright check-setup produced output that does not match the published PreflightResult shape" });
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
finish({ ranOk: true, result: parsed });
|
|
119
|
+
});
|
|
120
|
+
child.stdin?.write(JSON.stringify(proposal));
|
|
121
|
+
child.stdin?.end();
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=leadwright-preflight-transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"leadwright-preflight-transport.js","sourceRoot":"","sources":["../../src/core/leadwright-preflight-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,KAAK,IAAI,SAAS,EAAqB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAsB,MAAM,kBAAkB,CAAC;AAuBxF,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,wBAAwB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAElD,SAAS,wBAAwB,CAAC,KAAc;IAC9C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAA0B,CAAC,EAAE,KAAK,SAAS;QACnD,KAAK,CAAC,OAAO,CAAE,KAAgC,CAAC,QAAQ,CAAC,CAC1D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,YAAoB,EACpB,QAA6B,EAC7B,UAAyC,EAAE;IAE3C,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;IAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,gBAAgB,CAAC;IAClE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,kBAAkB,CAAC;IAC1D,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,wBAAwB,CAAC;IAE1E,MAAM,IAAI,GAAG;QACX,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,gBAAgB,CAAC;QACpD,SAAS;QACT,QAAQ;KACT,CAAC;IAEF,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACpD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,2DAA2D,YAAY,oFAAoF;SACpK,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;QACpC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAE9B,MAAM,KAAK,GAAiB,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE;YACnE,GAAG,EAAE,YAAY;YACjB,KAAK,EAAE,MAAM;YACb,wBAAwB,EAAE,QAAQ,CAAC,wBAAwB;SAC5D,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,0CAA0C,SAAS,IAAI,EAAE,CAAC,CAAC;YAC1F,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,SAAS,MAAM,CAAC,MAAiC;YAC/C,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,cAAc,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QAED,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,2CAA2C,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC5B,sEAAsE;YACtE,mEAAmE;YACnE,iDAAiD;QACnD,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;YAC5B,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,WAAW,GAAG,WAAW,GAAG,cAAc,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACrE,iBAAiB,GAAG,IAAI,CAAC;gBACzB,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,oGAAoG,EAAE,CAAC,CAAC;gBACvI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;YAC5B,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,WAAW,GAAG,WAAW,GAAG,cAAc,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACrE,iBAAiB,GAAG,IAAI,CAAC;gBACzB,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,oGAAoG,EAAE,CAAC,CAAC;gBACvI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACrB,IAAI,iBAAiB;gBAAE,OAAO,CAAC,mBAAmB;YAClD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;gBACnB,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,2CAA2C,EAAE,CAAC,CAAC;gBACnG,OAAO;YACT,CAAC;YACD,IAAI,MAAe,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,sDAAsD,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrI,OAAO;YACT,CAAC;YACD,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,gGAAgG,EAAE,CAAC,CAAC;gBACnI,OAAO;YACT,CAAC;YACD,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7C,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifacts-tests-ac.d.ts","sourceRoot":"","sources":["../../../src/core/mission-context/artifacts-tests-ac.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE9D,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,WAAW,EAAE,CAAA;CAAE,CAmBrF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* core/mission-context/artifacts-tests-ac.ts — the per-AC regrouping of the
|
|
3
|
+
* Tests artifact's file rows (split from artifacts-tests.ts at the 300-LOC
|
|
4
|
+
* rule).
|
|
5
|
+
*
|
|
6
|
+
* A VIEW over `TestRow[].frs[].acIds`, which `traceability.ts` already
|
|
7
|
+
* populates as a pure relay of the v4 manifest's `ac_id`. This module
|
|
8
|
+
* computes NO binding of its own — it only regroups rows that already exist
|
|
9
|
+
* by `(frId, acId)` instead of by file. `tagged: false` (the common case
|
|
10
|
+
* today — 0/33 requirements in this repo's manifest carry `ac_id`) must
|
|
11
|
+
* render as "not yet tagged", never as an empty coverage table.
|
|
12
|
+
*/
|
|
13
|
+
export function groupByAc(rows) {
|
|
14
|
+
const byKey = new Map();
|
|
15
|
+
for (const row of rows) {
|
|
16
|
+
for (const fr of row.frs) {
|
|
17
|
+
for (const acId of fr.acIds) {
|
|
18
|
+
const key = `${fr.frId}::${acId}`;
|
|
19
|
+
let group = byKey.get(key);
|
|
20
|
+
if (!group) {
|
|
21
|
+
group = { frId: fr.frId, acId, files: [] };
|
|
22
|
+
byKey.set(key, group);
|
|
23
|
+
}
|
|
24
|
+
group.files.push({ path: row.path, kind: row.kind });
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const groups = [...byKey.values()].sort((a, b) => a.frId.localeCompare(b.frId) || a.acId.localeCompare(b.acId));
|
|
29
|
+
return { tagged: groups.length > 0, groups };
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=artifacts-tests-ac.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifacts-tests-ac.js","sourceRoot":"","sources":["../../../src/core/mission-context/artifacts-tests-ac.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,MAAM,UAAU,SAAS,CAAC,IAAe;IACvC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;YACzB,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;gBAC5B,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClC,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,KAAK,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;oBAC3C,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACxB,CAAC;gBACD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CACvE,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;AAC/C,CAAC"}
|