@svenroth-ai/shipwright 0.24.1-next.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/LICENSE +21 -0
- package/README.md +55 -0
- package/bin/shipwright.mjs +187 -0
- package/client/dist/assets/EmbeddedTerminal-6GBZ9nXN.css +32 -0
- package/client/dist/assets/EmbeddedTerminal-CpeDvtzx.js +123 -0
- package/client/dist/assets/MarkdownEditorModal-Di9HN39z.js +212 -0
- package/client/dist/assets/abnfDiagram-VRR7QNED-BbSdq0X7.js +1 -0
- package/client/dist/assets/arc-BZT7vKjm.js +1 -0
- package/client/dist/assets/architectureDiagram-ZJ3FMSHR-BuRwoNgV.js +36 -0
- package/client/dist/assets/blockDiagram-677ZJIJ3-B2RNYWcr.js +132 -0
- package/client/dist/assets/c4Diagram-LMCZKHZV-fbXlt08K.js +10 -0
- package/client/dist/assets/channel-2-wkFEKK.js +1 -0
- package/client/dist/assets/chunk-2Q5K7J3B-NqMRUe5-.js +1 -0
- package/client/dist/assets/chunk-32BRIVSS-CIr9bFCd.js +1 -0
- package/client/dist/assets/chunk-5VM5RSS4-l0I6rbZN.js +15 -0
- package/client/dist/assets/chunk-EX3LRPZG-DXinoCxp.js +231 -0
- package/client/dist/assets/chunk-JWPE2WC7-BAcCano9.js +1 -0
- package/client/dist/assets/chunk-MOJQB5TN-DMVOqL7C.js +88 -0
- package/client/dist/assets/chunk-RYQCIY6F-CtNSAItH.js +1 -0
- package/client/dist/assets/chunk-V7JOEXUC-CufSmC93.js +206 -0
- package/client/dist/assets/chunk-VR4S4FIN-_BbUF9fa.js +1 -0
- package/client/dist/assets/chunk-XXDRQBXY-uQ35hUPB.js +1 -0
- package/client/dist/assets/classDiagram-OUVF2IWQ-A9SpDakb.js +1 -0
- package/client/dist/assets/classDiagram-v2-EOCWNBFH-A9SpDakb.js +1 -0
- package/client/dist/assets/cose-bilkent-JH36ORCC-B9q9uYCX.js +1 -0
- package/client/dist/assets/cynefin-VYW2F7L2-C2_bJyZA.js +178 -0
- package/client/dist/assets/cynefinDiagram-TSTJHNR4-0mzVmPv4.js +62 -0
- package/client/dist/assets/cytoscape.esm-DTSO7Bv0.js +331 -0
- package/client/dist/assets/dagre-VKFMJZFB-CIE9HMtr.js +4 -0
- package/client/dist/assets/defaultLocale-DX6XiGOO.js +1 -0
- package/client/dist/assets/diagram-FQU43EPY-DdkBaZrX.js +3 -0
- package/client/dist/assets/diagram-G47NLZAW-Cql4k2sg.js +24 -0
- package/client/dist/assets/diagram-NH7WQ7WH-FRAUyqEu.js +24 -0
- package/client/dist/assets/diagram-OA4YK3LP-DXo8GTB8.js +30 -0
- package/client/dist/assets/diagram-WEI45ONY-DqVtWGdt.js +41 -0
- package/client/dist/assets/ebnfDiagram-CCIWWBDH-B0La0RsO.js +1 -0
- package/client/dist/assets/erDiagram-Q63AITRT-DHbbqiY9.js +85 -0
- package/client/dist/assets/flowDiagram-23GEKE2U-I6vhJlCk.js +156 -0
- package/client/dist/assets/ganttDiagram-NO4QXBWP-CDYZHcsU.js +292 -0
- package/client/dist/assets/geist-mono-cyrillic-ext-wght-normal-I4S5GZfc.woff2 +0 -0
- package/client/dist/assets/geist-mono-cyrillic-wght-normal-BmXc_FBt.woff2 +0 -0
- package/client/dist/assets/geist-mono-latin-ext-wght-normal-DrnZ1wKl.woff2 +0 -0
- package/client/dist/assets/geist-mono-latin-wght-normal-B_7UjwxQ.woff2 +0 -0
- package/client/dist/assets/geist-mono-symbols2-wght-normal-GZpp1pK2.woff2 +0 -0
- package/client/dist/assets/geist-mono-vietnamese-wght-normal-D8KDMBhC.woff2 +0 -0
- package/client/dist/assets/gitGraphDiagram-IHSO6WYX-dyf7caP8.js +106 -0
- package/client/dist/assets/graph-C9eacEi8.js +1 -0
- package/client/dist/assets/index-BYrVLOXw.js +609 -0
- package/client/dist/assets/index-BZvZ9izZ.css +1 -0
- package/client/dist/assets/infoDiagram-FWYZ7A6U-BlWH6vM3.js +2 -0
- package/client/dist/assets/init-Gi6I4Gst.js +1 -0
- package/client/dist/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
- package/client/dist/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
- package/client/dist/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
- package/client/dist/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
- package/client/dist/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
- package/client/dist/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
- package/client/dist/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
- package/client/dist/assets/ishikawaDiagram-FXEZZL3T-BEKH-_6E.js +70 -0
- package/client/dist/assets/journeyDiagram-5HDEW3XC-cn_mQ2U9.js +139 -0
- package/client/dist/assets/kanban-definition-HUTT4EX6-DGZiYhYV.js +89 -0
- package/client/dist/assets/katex-DkKDou_j.js +257 -0
- package/client/dist/assets/layout-DEXfKzaS.js +1 -0
- package/client/dist/assets/linear-CdtYl6qR.js +1 -0
- package/client/dist/assets/map-Czzmt4hB.js +1 -0
- package/client/dist/assets/mermaid.core-CrKi1642.js +314 -0
- package/client/dist/assets/mindmap-definition-LN4V7U3C-G_CA7V9L.js +96 -0
- package/client/dist/assets/ordinal-Cboi1Yqb.js +1 -0
- package/client/dist/assets/pegDiagram-2B236MQR-6ZeO9kDM.js +1 -0
- package/client/dist/assets/pieDiagram-ENE6RG2P-Bd0InZSQ.js +39 -0
- package/client/dist/assets/quadrantDiagram-ABIIQ3AL-Bg1m9Csn.js +7 -0
- package/client/dist/assets/railroadDiagram-RFXS5EU6-CCzPP1JU.js +1 -0
- package/client/dist/assets/requirementDiagram-TGXJPOKE-iN7kyPgM.js +84 -0
- package/client/dist/assets/sankeyDiagram-HTMAVEWB-DN1v_DUJ.js +40 -0
- package/client/dist/assets/sequenceDiagram-DBY2YBRQ-C5LMp5Sa.js +162 -0
- package/client/dist/assets/sizeCapture-X5ZJPWSS-Bp9jVLhL.js +1 -0
- package/client/dist/assets/stateDiagram-2N3HPSRC-VbWBetTf.js +1 -0
- package/client/dist/assets/stateDiagram-v2-6OUMAXLB-BuaUtNAG.js +1 -0
- package/client/dist/assets/swimlanes-5IMT3BWC-CrXokvQ-.js +2 -0
- package/client/dist/assets/swimlanesDiagram-G3AALYLV-C6hwc993.js +8 -0
- package/client/dist/assets/timeline-definition-FHXFAJF6-Cxx1NT9A.js +120 -0
- package/client/dist/assets/vennDiagram-L72KCM5P-C6DBgaEy.js +34 -0
- package/client/dist/assets/wardleyDiagram-EHGQE667-RV7xMg8g.js +78 -0
- package/client/dist/assets/xychartDiagram-FW5EYKEG-Llhe9pB1.js +7 -0
- package/client/dist/backdrops/deck-golden.jpg +0 -0
- package/client/dist/backdrops/lighthouse.jpg +0 -0
- package/client/dist/index.html +27 -0
- package/client/dist/shipwright-logo-white.png +0 -0
- package/lib/cache-runtime.mjs +72 -0
- package/lib/cache-sync.mjs +243 -0
- package/lib/claude-cli.mjs +173 -0
- package/lib/plugins.mjs +181 -0
- package/lib/preflight.mjs +208 -0
- package/lib/probes.mjs +53 -0
- package/lib/server.mjs +315 -0
- package/lib/util.mjs +83 -0
- package/lib/version-check.mjs +76 -0
- package/lib/win32-spawn.mjs +253 -0
- package/package.json +67 -0
- package/scripts/deploy-procs.mjs +208 -0
- package/scripts/deploy-swap.mjs +276 -0
- package/scripts/kill-targets.js +140 -0
- package/scripts/repair-claude-json.mjs +295 -0
- package/server/dist/config/default-actions.json +90 -0
- package/server/dist/config.d.ts +96 -0
- package/server/dist/config.d.ts.map +1 -0
- package/server/dist/config.js +68 -0
- package/server/dist/config.js.map +1 -0
- package/server/dist/core/actions-schema-validator.d.ts +8 -0
- package/server/dist/core/actions-schema-validator.d.ts.map +1 -0
- package/server/dist/core/actions-schema-validator.js +394 -0
- package/server/dist/core/actions-schema-validator.js.map +1 -0
- package/server/dist/core/actions-substitute.d.ts +115 -0
- package/server/dist/core/actions-substitute.d.ts.map +1 -0
- package/server/dist/core/actions-substitute.js +549 -0
- package/server/dist/core/actions-substitute.js.map +1 -0
- package/server/dist/core/board-column.d.ts +3 -0
- package/server/dist/core/board-column.d.ts.map +1 -0
- package/server/dist/core/board-column.js +4 -0
- package/server/dist/core/board-column.js.map +1 -0
- package/server/dist/core/campaign-events.d.ts +39 -0
- package/server/dist/core/campaign-events.d.ts.map +1 -0
- package/server/dist/core/campaign-events.js +192 -0
- package/server/dist/core/campaign-events.js.map +1 -0
- package/server/dist/core/campaign-loop-state.d.ts +31 -0
- package/server/dist/core/campaign-loop-state.d.ts.map +1 -0
- package/server/dist/core/campaign-loop-state.js +124 -0
- package/server/dist/core/campaign-loop-state.js.map +1 -0
- package/server/dist/core/campaign-parse.d.ts +28 -0
- package/server/dist/core/campaign-parse.d.ts.map +1 -0
- package/server/dist/core/campaign-parse.js +174 -0
- package/server/dist/core/campaign-parse.js.map +1 -0
- package/server/dist/core/campaign-paths.d.ts +24 -0
- package/server/dist/core/campaign-paths.d.ts.map +1 -0
- package/server/dist/core/campaign-paths.js +111 -0
- package/server/dist/core/campaign-paths.js.map +1 -0
- package/server/dist/core/campaign-route-helpers.d.ts +19 -0
- package/server/dist/core/campaign-route-helpers.d.ts.map +1 -0
- package/server/dist/core/campaign-route-helpers.js +51 -0
- package/server/dist/core/campaign-route-helpers.js.map +1 -0
- package/server/dist/core/campaign-status-json.d.ts +55 -0
- package/server/dist/core/campaign-status-json.d.ts.map +1 -0
- package/server/dist/core/campaign-status-json.js +57 -0
- package/server/dist/core/campaign-status-json.js.map +1 -0
- package/server/dist/core/campaign-store.d.ts +10 -0
- package/server/dist/core/campaign-store.d.ts.map +1 -0
- package/server/dist/core/campaign-store.js +245 -0
- package/server/dist/core/campaign-store.js.map +1 -0
- package/server/dist/core/campaign-types.d.ts +101 -0
- package/server/dist/core/campaign-types.d.ts.map +1 -0
- package/server/dist/core/campaign-types.js +10 -0
- package/server/dist/core/campaign-types.js.map +1 -0
- package/server/dist/core/campaign-write.d.ts +13 -0
- package/server/dist/core/campaign-write.d.ts.map +1 -0
- package/server/dist/core/campaign-write.js +128 -0
- package/server/dist/core/campaign-write.js.map +1 -0
- package/server/dist/core/cascade-delete-project-tasks.d.ts +14 -0
- package/server/dist/core/cascade-delete-project-tasks.d.ts.map +1 -0
- package/server/dist/core/cascade-delete-project-tasks.js +68 -0
- package/server/dist/core/cascade-delete-project-tasks.js.map +1 -0
- package/server/dist/core/claude-bin-resolver.d.ts +62 -0
- package/server/dist/core/claude-bin-resolver.d.ts.map +1 -0
- package/server/dist/core/claude-bin-resolver.js +208 -0
- package/server/dist/core/claude-bin-resolver.js.map +1 -0
- package/server/dist/core/claude-theme-reader.d.ts +15 -0
- package/server/dist/core/claude-theme-reader.d.ts.map +1 -0
- package/server/dist/core/claude-theme-reader.js +52 -0
- package/server/dist/core/claude-theme-reader.js.map +1 -0
- package/server/dist/core/cli-compat.d.ts +43 -0
- package/server/dist/core/cli-compat.d.ts.map +1 -0
- package/server/dist/core/cli-compat.js +88 -0
- package/server/dist/core/cli-compat.js.map +1 -0
- package/server/dist/core/compliance-dimensions.d.ts +20 -0
- package/server/dist/core/compliance-dimensions.d.ts.map +1 -0
- package/server/dist/core/compliance-dimensions.js +114 -0
- package/server/dist/core/compliance-dimensions.js.map +1 -0
- package/server/dist/core/compliance-reader.d.ts +49 -0
- package/server/dist/core/compliance-reader.d.ts.map +1 -0
- package/server/dist/core/compliance-reader.js +147 -0
- package/server/dist/core/compliance-reader.js.map +1 -0
- package/server/dist/core/contract-version.d.ts +72 -0
- package/server/dist/core/contract-version.d.ts.map +1 -0
- package/server/dist/core/contract-version.js +114 -0
- package/server/dist/core/contract-version.js.map +1 -0
- package/server/dist/core/design-feedback.d.ts +29 -0
- package/server/dist/core/design-feedback.d.ts.map +1 -0
- package/server/dist/core/design-feedback.js +80 -0
- package/server/dist/core/design-feedback.js.map +1 -0
- package/server/dist/core/dismissed-campaigns-store.d.ts +45 -0
- package/server/dist/core/dismissed-campaigns-store.d.ts.map +1 -0
- package/server/dist/core/dismissed-campaigns-store.js +147 -0
- package/server/dist/core/dismissed-campaigns-store.js.map +1 -0
- package/server/dist/core/event-log-reader.d.ts +19 -0
- package/server/dist/core/event-log-reader.d.ts.map +1 -0
- package/server/dist/core/event-log-reader.js +209 -0
- package/server/dist/core/event-log-reader.js.map +1 -0
- package/server/dist/core/event-log-types.d.ts +99 -0
- package/server/dist/core/event-log-types.d.ts.map +1 -0
- package/server/dist/core/event-log-types.js +14 -0
- package/server/dist/core/event-log-types.js.map +1 -0
- package/server/dist/core/gitignore-cache.d.ts +16 -0
- package/server/dist/core/gitignore-cache.d.ts.map +1 -0
- package/server/dist/core/gitignore-cache.js +103 -0
- package/server/dist/core/gitignore-cache.js.map +1 -0
- package/server/dist/core/grade-runner.d.ts +63 -0
- package/server/dist/core/grade-runner.d.ts.map +1 -0
- package/server/dist/core/grade-runner.js +176 -0
- package/server/dist/core/grade-runner.js.map +1 -0
- package/server/dist/core/grade-target.d.ts +43 -0
- package/server/dist/core/grade-target.d.ts.map +1 -0
- package/server/dist/core/grade-target.js +162 -0
- package/server/dist/core/grade-target.js.map +1 -0
- package/server/dist/core/inbox-derive.d.ts +56 -0
- package/server/dist/core/inbox-derive.d.ts.map +1 -0
- package/server/dist/core/inbox-derive.js +211 -0
- package/server/dist/core/inbox-derive.js.map +1 -0
- package/server/dist/core/jsonl-decode.d.ts +28 -0
- package/server/dist/core/jsonl-decode.d.ts.map +1 -0
- package/server/dist/core/jsonl-decode.js +96 -0
- package/server/dist/core/jsonl-decode.js.map +1 -0
- package/server/dist/core/jsonl-records.d.ts +104 -0
- package/server/dist/core/jsonl-records.d.ts.map +1 -0
- package/server/dist/core/jsonl-records.js +222 -0
- package/server/dist/core/jsonl-records.js.map +1 -0
- package/server/dist/core/launcher.d.ts +74 -0
- package/server/dist/core/launcher.d.ts.map +1 -0
- package/server/dist/core/launcher.js +192 -0
- package/server/dist/core/launcher.js.map +1 -0
- package/server/dist/core/mission-context/artifacts-commit.d.ts +28 -0
- package/server/dist/core/mission-context/artifacts-commit.d.ts.map +1 -0
- package/server/dist/core/mission-context/artifacts-commit.js +98 -0
- package/server/dist/core/mission-context/artifacts-commit.js.map +1 -0
- package/server/dist/core/mission-context/artifacts-decisions.d.ts +5 -0
- package/server/dist/core/mission-context/artifacts-decisions.d.ts.map +1 -0
- package/server/dist/core/mission-context/artifacts-decisions.js +114 -0
- package/server/dist/core/mission-context/artifacts-decisions.js.map +1 -0
- package/server/dist/core/mission-context/artifacts-slice2.d.ts +12 -0
- package/server/dist/core/mission-context/artifacts-slice2.d.ts.map +1 -0
- package/server/dist/core/mission-context/artifacts-slice2.js +125 -0
- package/server/dist/core/mission-context/artifacts-slice2.js.map +1 -0
- package/server/dist/core/mission-context/artifacts-tests.d.ts +34 -0
- package/server/dist/core/mission-context/artifacts-tests.d.ts.map +1 -0
- package/server/dist/core/mission-context/artifacts-tests.js +236 -0
- package/server/dist/core/mission-context/artifacts-tests.js.map +1 -0
- package/server/dist/core/mission-context/artifacts.d.ts +33 -0
- package/server/dist/core/mission-context/artifacts.d.ts.map +1 -0
- package/server/dist/core/mission-context/artifacts.js +186 -0
- package/server/dist/core/mission-context/artifacts.js.map +1 -0
- package/server/dist/core/mission-context/association.d.ts +27 -0
- package/server/dist/core/mission-context/association.d.ts.map +1 -0
- package/server/dist/core/mission-context/association.js +69 -0
- package/server/dist/core/mission-context/association.js.map +1 -0
- package/server/dist/core/mission-context/campaign-artifacts.d.ts +9 -0
- package/server/dist/core/mission-context/campaign-artifacts.d.ts.map +1 -0
- package/server/dist/core/mission-context/campaign-artifacts.js +195 -0
- package/server/dist/core/mission-context/campaign-artifacts.js.map +1 -0
- package/server/dist/core/mission-context/campaign-facts.d.ts +99 -0
- package/server/dist/core/mission-context/campaign-facts.d.ts.map +1 -0
- package/server/dist/core/mission-context/campaign-facts.js +111 -0
- package/server/dist/core/mission-context/campaign-facts.js.map +1 -0
- package/server/dist/core/mission-context/decision-drops.d.ts +46 -0
- package/server/dist/core/mission-context/decision-drops.d.ts.map +1 -0
- package/server/dist/core/mission-context/decision-drops.js +269 -0
- package/server/dist/core/mission-context/decision-drops.js.map +1 -0
- package/server/dist/core/mission-context/decisions.d.ts +91 -0
- package/server/dist/core/mission-context/decisions.d.ts.map +1 -0
- package/server/dist/core/mission-context/decisions.js +222 -0
- package/server/dist/core/mission-context/decisions.js.map +1 -0
- package/server/dist/core/mission-context/doc-ids.d.ts +35 -0
- package/server/dist/core/mission-context/doc-ids.d.ts.map +1 -0
- package/server/dist/core/mission-context/doc-ids.js +78 -0
- package/server/dist/core/mission-context/doc-ids.js.map +1 -0
- package/server/dist/core/mission-context/document-read.d.ts +14 -0
- package/server/dist/core/mission-context/document-read.d.ts.map +1 -0
- package/server/dist/core/mission-context/document-read.js +36 -0
- package/server/dist/core/mission-context/document-read.js.map +1 -0
- package/server/dist/core/mission-context/fold-map.d.ts +45 -0
- package/server/dist/core/mission-context/fold-map.d.ts.map +1 -0
- package/server/dist/core/mission-context/fold-map.js +168 -0
- package/server/dist/core/mission-context/fold-map.js.map +1 -0
- package/server/dist/core/mission-context/fs-read.d.ts +47 -0
- package/server/dist/core/mission-context/fs-read.d.ts.map +1 -0
- package/server/dist/core/mission-context/fs-read.js +104 -0
- package/server/dist/core/mission-context/fs-read.js.map +1 -0
- package/server/dist/core/mission-context/iterate-record.d.ts +52 -0
- package/server/dist/core/mission-context/iterate-record.d.ts.map +1 -0
- package/server/dist/core/mission-context/iterate-record.js +156 -0
- package/server/dist/core/mission-context/iterate-record.js.map +1 -0
- package/server/dist/core/mission-context/merge-check.d.ts +60 -0
- package/server/dist/core/mission-context/merge-check.d.ts.map +1 -0
- package/server/dist/core/mission-context/merge-check.js +217 -0
- package/server/dist/core/mission-context/merge-check.js.map +1 -0
- package/server/dist/core/mission-context/merge-refresh.d.ts +14 -0
- package/server/dist/core/mission-context/merge-refresh.d.ts.map +1 -0
- package/server/dist/core/mission-context/merge-refresh.js +53 -0
- package/server/dist/core/mission-context/merge-refresh.js.map +1 -0
- package/server/dist/core/mission-context/merged-events.d.ts +34 -0
- package/server/dist/core/mission-context/merged-events.d.ts.map +1 -0
- package/server/dist/core/mission-context/merged-events.js +120 -0
- package/server/dist/core/mission-context/merged-events.js.map +1 -0
- package/server/dist/core/mission-context/pipeline-artifacts.d.ts +53 -0
- package/server/dist/core/mission-context/pipeline-artifacts.d.ts.map +1 -0
- package/server/dist/core/mission-context/pipeline-artifacts.js +161 -0
- package/server/dist/core/mission-context/pipeline-artifacts.js.map +1 -0
- package/server/dist/core/mission-context/planned-impact.d.ts +28 -0
- package/server/dist/core/mission-context/planned-impact.d.ts.map +1 -0
- package/server/dist/core/mission-context/planned-impact.js +129 -0
- package/server/dist/core/mission-context/planned-impact.js.map +1 -0
- package/server/dist/core/mission-context/pointer.d.ts +44 -0
- package/server/dist/core/mission-context/pointer.d.ts.map +1 -0
- package/server/dist/core/mission-context/pointer.js +165 -0
- package/server/dist/core/mission-context/pointer.js.map +1 -0
- package/server/dist/core/mission-context/resolver-io.d.ts +47 -0
- package/server/dist/core/mission-context/resolver-io.d.ts.map +1 -0
- package/server/dist/core/mission-context/resolver-io.js +11 -0
- package/server/dist/core/mission-context/resolver-io.js.map +1 -0
- package/server/dist/core/mission-context/resolver-parts.d.ts +57 -0
- package/server/dist/core/mission-context/resolver-parts.d.ts.map +1 -0
- package/server/dist/core/mission-context/resolver-parts.js +136 -0
- package/server/dist/core/mission-context/resolver-parts.js.map +1 -0
- package/server/dist/core/mission-context/resolver.d.ts +11 -0
- package/server/dist/core/mission-context/resolver.d.ts.map +1 -0
- package/server/dist/core/mission-context/resolver.js +261 -0
- package/server/dist/core/mission-context/resolver.js.map +1 -0
- package/server/dist/core/mission-context/review-record-entry.d.ts +45 -0
- package/server/dist/core/mission-context/review-record-entry.d.ts.map +1 -0
- package/server/dist/core/mission-context/review-record-entry.js +214 -0
- package/server/dist/core/mission-context/review-record-entry.js.map +1 -0
- package/server/dist/core/mission-context/review-record.d.ts +35 -0
- package/server/dist/core/mission-context/review-record.d.ts.map +1 -0
- package/server/dist/core/mission-context/review-record.js +259 -0
- package/server/dist/core/mission-context/review-record.js.map +1 -0
- package/server/dist/core/mission-context/review-state.d.ts +33 -0
- package/server/dist/core/mission-context/review-state.d.ts.map +1 -0
- package/server/dist/core/mission-context/review-state.js +249 -0
- package/server/dist/core/mission-context/review-state.js.map +1 -0
- package/server/dist/core/mission-context/run-id-recovery.d.ts +44 -0
- package/server/dist/core/mission-context/run-id-recovery.d.ts.map +1 -0
- package/server/dist/core/mission-context/run-id-recovery.js +175 -0
- package/server/dist/core/mission-context/run-id-recovery.js.map +1 -0
- package/server/dist/core/mission-context/scenario.d.ts +121 -0
- package/server/dist/core/mission-context/scenario.d.ts.map +1 -0
- package/server/dist/core/mission-context/scenario.js +151 -0
- package/server/dist/core/mission-context/scenario.js.map +1 -0
- package/server/dist/core/mission-context/slice2-sources.d.ts +40 -0
- package/server/dist/core/mission-context/slice2-sources.d.ts.map +1 -0
- package/server/dist/core/mission-context/slice2-sources.js +80 -0
- package/server/dist/core/mission-context/slice2-sources.js.map +1 -0
- package/server/dist/core/mission-context/slice2-test-fixtures.d.ts +17 -0
- package/server/dist/core/mission-context/slice2-test-fixtures.d.ts.map +1 -0
- package/server/dist/core/mission-context/slice2-test-fixtures.js +61 -0
- package/server/dist/core/mission-context/slice2-test-fixtures.js.map +1 -0
- package/server/dist/core/mission-context/slice3-sources.d.ts +43 -0
- package/server/dist/core/mission-context/slice3-sources.d.ts.map +1 -0
- package/server/dist/core/mission-context/slice3-sources.js +192 -0
- package/server/dist/core/mission-context/slice3-sources.js.map +1 -0
- package/server/dist/core/mission-context/spec-candidates.d.ts +66 -0
- package/server/dist/core/mission-context/spec-candidates.d.ts.map +1 -0
- package/server/dist/core/mission-context/spec-candidates.js +164 -0
- package/server/dist/core/mission-context/spec-candidates.js.map +1 -0
- package/server/dist/core/mission-context/test-evidence.d.ts +14 -0
- package/server/dist/core/mission-context/test-evidence.d.ts.map +1 -0
- package/server/dist/core/mission-context/test-evidence.js +53 -0
- package/server/dist/core/mission-context/test-evidence.js.map +1 -0
- package/server/dist/core/mission-context/tests-diff.d.ts +68 -0
- package/server/dist/core/mission-context/tests-diff.d.ts.map +1 -0
- package/server/dist/core/mission-context/tests-diff.js +151 -0
- package/server/dist/core/mission-context/tests-diff.js.map +1 -0
- package/server/dist/core/mission-context/traceability.d.ts +58 -0
- package/server/dist/core/mission-context/traceability.d.ts.map +1 -0
- package/server/dist/core/mission-context/traceability.js +168 -0
- package/server/dist/core/mission-context/traceability.js.map +1 -0
- package/server/dist/core/mission-context/types-slice2.d.ts +192 -0
- package/server/dist/core/mission-context/types-slice2.d.ts.map +1 -0
- package/server/dist/core/mission-context/types-slice2.js +15 -0
- package/server/dist/core/mission-context/types-slice2.js.map +1 -0
- package/server/dist/core/mission-context/types-slice3.d.ts +84 -0
- package/server/dist/core/mission-context/types-slice3.d.ts.map +1 -0
- package/server/dist/core/mission-context/types-slice3.js +24 -0
- package/server/dist/core/mission-context/types-slice3.js.map +1 -0
- package/server/dist/core/mission-context/types.d.ts +198 -0
- package/server/dist/core/mission-context/types.d.ts.map +1 -0
- package/server/dist/core/mission-context/types.js +44 -0
- package/server/dist/core/mission-context/types.js.map +1 -0
- package/server/dist/core/mission-context/worktree-roots.d.ts +103 -0
- package/server/dist/core/mission-context/worktree-roots.d.ts.map +1 -0
- package/server/dist/core/mission-context/worktree-roots.js +201 -0
- package/server/dist/core/mission-context/worktree-roots.js.map +1 -0
- package/server/dist/core/model-tier-config-reader.d.ts +16 -0
- package/server/dist/core/model-tier-config-reader.d.ts.map +1 -0
- package/server/dist/core/model-tier-config-reader.js +87 -0
- package/server/dist/core/model-tier-config-reader.js.map +1 -0
- package/server/dist/core/normalize-fs-path.d.ts +2 -0
- package/server/dist/core/normalize-fs-path.d.ts.map +1 -0
- package/server/dist/core/normalize-fs-path.js +31 -0
- package/server/dist/core/normalize-fs-path.js.map +1 -0
- package/server/dist/core/parameter-resolver.d.ts +32 -0
- package/server/dist/core/parameter-resolver.d.ts.map +1 -0
- package/server/dist/core/parameter-resolver.js +300 -0
- package/server/dist/core/parameter-resolver.js.map +1 -0
- package/server/dist/core/path-guard.d.ts +40 -0
- package/server/dist/core/path-guard.d.ts.map +1 -0
- package/server/dist/core/path-guard.js +147 -0
- package/server/dist/core/path-guard.js.map +1 -0
- package/server/dist/core/pr-status.d.ts +47 -0
- package/server/dist/core/pr-status.d.ts.map +1 -0
- package/server/dist/core/pr-status.js +157 -0
- package/server/dist/core/pr-status.js.map +1 -0
- package/server/dist/core/preview-child-lifecycle.d.ts +77 -0
- package/server/dist/core/preview-child-lifecycle.d.ts.map +1 -0
- package/server/dist/core/preview-child-lifecycle.js +223 -0
- package/server/dist/core/preview-child-lifecycle.js.map +1 -0
- package/server/dist/core/preview-coherence.d.ts +59 -0
- package/server/dist/core/preview-coherence.d.ts.map +1 -0
- package/server/dist/core/preview-coherence.js +66 -0
- package/server/dist/core/preview-coherence.js.map +1 -0
- package/server/dist/core/preview-session-manager.d.ts +86 -0
- package/server/dist/core/preview-session-manager.d.ts.map +1 -0
- package/server/dist/core/preview-session-manager.js +303 -0
- package/server/dist/core/preview-session-manager.js.map +1 -0
- package/server/dist/core/preview-win32-spawn.d.ts +11 -0
- package/server/dist/core/preview-win32-spawn.d.ts.map +1 -0
- package/server/dist/core/preview-win32-spawn.js +45 -0
- package/server/dist/core/preview-win32-spawn.js.map +1 -0
- package/server/dist/core/profile-loader.d.ts +65 -0
- package/server/dist/core/profile-loader.d.ts.map +1 -0
- package/server/dist/core/profile-loader.js +125 -0
- package/server/dist/core/profile-loader.js.map +1 -0
- package/server/dist/core/project-actions-loader.d.ts +103 -0
- package/server/dist/core/project-actions-loader.d.ts.map +1 -0
- package/server/dist/core/project-actions-loader.js +161 -0
- package/server/dist/core/project-actions-loader.js.map +1 -0
- package/server/dist/core/project-manager.d.ts +110 -0
- package/server/dist/core/project-manager.d.ts.map +1 -0
- package/server/dist/core/project-manager.js +339 -0
- package/server/dist/core/project-manager.js.map +1 -0
- package/server/dist/core/project-registry-io.d.ts +64 -0
- package/server/dist/core/project-registry-io.d.ts.map +1 -0
- package/server/dist/core/project-registry-io.js +194 -0
- package/server/dist/core/project-registry-io.js.map +1 -0
- package/server/dist/core/readiness-probe.d.ts +89 -0
- package/server/dist/core/readiness-probe.d.ts.map +1 -0
- package/server/dist/core/readiness-probe.js +216 -0
- package/server/dist/core/readiness-probe.js.map +1 -0
- package/server/dist/core/run-config-reader.d.ts +35 -0
- package/server/dist/core/run-config-reader.d.ts.map +1 -0
- package/server/dist/core/run-config-reader.js +362 -0
- package/server/dist/core/run-config-reader.js.map +1 -0
- package/server/dist/core/run-data-join.d.ts +60 -0
- package/server/dist/core/run-data-join.d.ts.map +1 -0
- package/server/dist/core/run-data-join.js +264 -0
- package/server/dist/core/run-data-join.js.map +1 -0
- package/server/dist/core/run-data-types.d.ts +126 -0
- package/server/dist/core/run-data-types.d.ts.map +1 -0
- package/server/dist/core/run-data-types.js +25 -0
- package/server/dist/core/run-data-types.js.map +1 -0
- package/server/dist/core/run-loop-state-reader.d.ts +27 -0
- package/server/dist/core/run-loop-state-reader.d.ts.map +1 -0
- package/server/dist/core/run-loop-state-reader.js +79 -0
- package/server/dist/core/run-loop-state-reader.js.map +1 -0
- package/server/dist/core/sdk-sessions-merge.d.ts +60 -0
- package/server/dist/core/sdk-sessions-merge.d.ts.map +1 -0
- package/server/dist/core/sdk-sessions-merge.js +220 -0
- package/server/dist/core/sdk-sessions-merge.js.map +1 -0
- package/server/dist/core/sdk-sessions-store.d.ts +261 -0
- package/server/dist/core/sdk-sessions-store.d.ts.map +1 -0
- package/server/dist/core/sdk-sessions-store.js +315 -0
- package/server/dist/core/sdk-sessions-store.js.map +1 -0
- package/server/dist/core/sdk-sessions-validate.d.ts +9 -0
- package/server/dist/core/sdk-sessions-validate.d.ts.map +1 -0
- package/server/dist/core/sdk-sessions-validate.js +237 -0
- package/server/dist/core/sdk-sessions-validate.js.map +1 -0
- package/server/dist/core/session-jsonl-io.d.ts +35 -0
- package/server/dist/core/session-jsonl-io.d.ts.map +1 -0
- package/server/dist/core/session-jsonl-io.js +128 -0
- package/server/dist/core/session-jsonl-io.js.map +1 -0
- package/server/dist/core/session-parser.d.ts +81 -0
- package/server/dist/core/session-parser.d.ts.map +1 -0
- package/server/dist/core/session-parser.js +168 -0
- package/server/dist/core/session-parser.js.map +1 -0
- package/server/dist/core/session-watcher-debug.d.ts +7 -0
- package/server/dist/core/session-watcher-debug.d.ts.map +1 -0
- package/server/dist/core/session-watcher-debug.js +31 -0
- package/server/dist/core/session-watcher-debug.js.map +1 -0
- package/server/dist/core/session-watcher.d.ts +101 -0
- package/server/dist/core/session-watcher.d.ts.map +1 -0
- package/server/dist/core/session-watcher.js +226 -0
- package/server/dist/core/session-watcher.js.map +1 -0
- package/server/dist/core/shell-quote.d.ts +5 -0
- package/server/dist/core/shell-quote.d.ts.map +1 -0
- package/server/dist/core/shell-quote.js +49 -0
- package/server/dist/core/shell-quote.js.map +1 -0
- package/server/dist/core/task-editability.d.ts +22 -0
- package/server/dist/core/task-editability.d.ts.map +1 -0
- package/server/dist/core/task-editability.js +34 -0
- package/server/dist/core/task-editability.js.map +1 -0
- package/server/dist/core/terminal-prompt-detect.d.ts +7 -0
- package/server/dist/core/terminal-prompt-detect.d.ts.map +1 -0
- package/server/dist/core/terminal-prompt-detect.js +128 -0
- package/server/dist/core/terminal-prompt-detect.js.map +1 -0
- package/server/dist/core/tests-gate.d.ts +23 -0
- package/server/dist/core/tests-gate.d.ts.map +1 -0
- package/server/dist/core/tests-gate.js +92 -0
- package/server/dist/core/tests-gate.js.map +1 -0
- package/server/dist/core/triage-amend.d.ts +33 -0
- package/server/dist/core/triage-amend.d.ts.map +1 -0
- package/server/dist/core/triage-amend.js +109 -0
- package/server/dist/core/triage-amend.js.map +1 -0
- package/server/dist/core/triage-board-read.d.ts +37 -0
- package/server/dist/core/triage-board-read.d.ts.map +1 -0
- package/server/dist/core/triage-board-read.js +148 -0
- package/server/dist/core/triage-board-read.js.map +1 -0
- package/server/dist/core/triage-cli-runner.d.ts +61 -0
- package/server/dist/core/triage-cli-runner.d.ts.map +1 -0
- package/server/dist/core/triage-cli-runner.js +92 -0
- package/server/dist/core/triage-cli-runner.js.map +1 -0
- package/server/dist/core/triage-compose.d.ts +33 -0
- package/server/dist/core/triage-compose.d.ts.map +1 -0
- package/server/dist/core/triage-compose.js +51 -0
- package/server/dist/core/triage-compose.js.map +1 -0
- package/server/dist/core/triage-contract.d.ts +18 -0
- package/server/dist/core/triage-contract.d.ts.map +1 -0
- package/server/dist/core/triage-contract.js +45 -0
- package/server/dist/core/triage-contract.js.map +1 -0
- package/server/dist/core/triage-defer.d.ts +36 -0
- package/server/dist/core/triage-defer.d.ts.map +1 -0
- package/server/dist/core/triage-defer.js +117 -0
- package/server/dist/core/triage-defer.js.map +1 -0
- package/server/dist/core/triage-enrich.d.ts +31 -0
- package/server/dist/core/triage-enrich.d.ts.map +1 -0
- package/server/dist/core/triage-enrich.js +127 -0
- package/server/dist/core/triage-enrich.js.map +1 -0
- package/server/dist/core/triage-lock.d.ts +12 -0
- package/server/dist/core/triage-lock.d.ts.map +1 -0
- package/server/dist/core/triage-lock.js +41 -0
- package/server/dist/core/triage-lock.js.map +1 -0
- package/server/dist/core/triage-origin.d.ts +52 -0
- package/server/dist/core/triage-origin.d.ts.map +1 -0
- package/server/dist/core/triage-origin.js +0 -0
- package/server/dist/core/triage-origin.js.map +1 -0
- package/server/dist/core/triage-paths.d.ts +25 -0
- package/server/dist/core/triage-paths.d.ts.map +1 -0
- package/server/dist/core/triage-paths.js +125 -0
- package/server/dist/core/triage-paths.js.map +1 -0
- package/server/dist/core/triage-raw.d.ts +33 -0
- package/server/dist/core/triage-raw.d.ts.map +1 -0
- package/server/dist/core/triage-raw.js +66 -0
- package/server/dist/core/triage-raw.js.map +1 -0
- package/server/dist/core/triage-store.d.ts +42 -0
- package/server/dist/core/triage-store.d.ts.map +1 -0
- package/server/dist/core/triage-store.js +268 -0
- package/server/dist/core/triage-store.js.map +1 -0
- package/server/dist/core/triage-validation.d.ts +58 -0
- package/server/dist/core/triage-validation.d.ts.map +1 -0
- package/server/dist/core/triage-validation.js +198 -0
- package/server/dist/core/triage-validation.js.map +1 -0
- package/server/dist/core/win32-spawn.d.ts +29 -0
- package/server/dist/core/win32-spawn.d.ts.map +1 -0
- package/server/dist/core/win32-spawn.js +271 -0
- package/server/dist/core/win32-spawn.js.map +1 -0
- package/server/dist/external/__tests__/api-contract-probes.d.ts +49 -0
- package/server/dist/external/__tests__/api-contract-probes.d.ts.map +1 -0
- package/server/dist/external/__tests__/api-contract-probes.js +295 -0
- package/server/dist/external/__tests__/api-contract-probes.js.map +1 -0
- package/server/dist/external/_lead-fields-tag-filter-harness.d.ts +7 -0
- package/server/dist/external/_lead-fields-tag-filter-harness.d.ts.map +1 -0
- package/server/dist/external/_lead-fields-tag-filter-harness.js +41 -0
- package/server/dist/external/_lead-fields-tag-filter-harness.js.map +1 -0
- package/server/dist/external/_routes-edit-fields-harness.d.ts +8 -0
- package/server/dist/external/_routes-edit-fields-harness.d.ts.map +1 -0
- package/server/dist/external/_routes-edit-fields-harness.js +49 -0
- package/server/dist/external/_routes-edit-fields-harness.js.map +1 -0
- package/server/dist/external/_shared/helpers.d.ts +143 -0
- package/server/dist/external/_shared/helpers.d.ts.map +1 -0
- package/server/dist/external/_shared/helpers.js +231 -0
- package/server/dist/external/_shared/helpers.js.map +1 -0
- package/server/dist/external/actions/_helpers.d.ts +15 -0
- package/server/dist/external/actions/_helpers.d.ts.map +1 -0
- package/server/dist/external/actions/_helpers.js +48 -0
- package/server/dist/external/actions/_helpers.js.map +1 -0
- package/server/dist/external/actions/get.d.ts +8 -0
- package/server/dist/external/actions/get.d.ts.map +1 -0
- package/server/dist/external/actions/get.js +96 -0
- package/server/dist/external/actions/get.js.map +1 -0
- package/server/dist/external/actions/routes.d.ts +9 -0
- package/server/dist/external/actions/routes.d.ts.map +1 -0
- package/server/dist/external/actions/routes.js +33 -0
- package/server/dist/external/actions/routes.js.map +1 -0
- package/server/dist/external/actions/stub.d.ts +6 -0
- package/server/dist/external/actions/stub.d.ts.map +1 -0
- package/server/dist/external/actions/stub.js +51 -0
- package/server/dist/external/actions/stub.js.map +1 -0
- package/server/dist/external/actions/upload-delete.d.ts +6 -0
- package/server/dist/external/actions/upload-delete.d.ts.map +1 -0
- package/server/dist/external/actions/upload-delete.js +46 -0
- package/server/dist/external/actions/upload-delete.js.map +1 -0
- package/server/dist/external/actions/upload.d.ts +6 -0
- package/server/dist/external/actions/upload.d.ts.map +1 -0
- package/server/dist/external/actions/upload.js +141 -0
- package/server/dist/external/actions/upload.js.map +1 -0
- package/server/dist/external/compliance/routes.d.ts +9 -0
- package/server/dist/external/compliance/routes.d.ts.map +1 -0
- package/server/dist/external/compliance/routes.js +46 -0
- package/server/dist/external/compliance/routes.js.map +1 -0
- package/server/dist/external/design-review/__tests__/_helpers.d.ts +16 -0
- package/server/dist/external/design-review/__tests__/_helpers.d.ts.map +1 -0
- package/server/dist/external/design-review/__tests__/_helpers.js +92 -0
- package/server/dist/external/design-review/__tests__/_helpers.js.map +1 -0
- package/server/dist/external/design-review/feedback-write.d.ts +7 -0
- package/server/dist/external/design-review/feedback-write.d.ts.map +1 -0
- package/server/dist/external/design-review/feedback-write.js +126 -0
- package/server/dist/external/design-review/feedback-write.js.map +1 -0
- package/server/dist/external/design-review/gate.d.ts +11 -0
- package/server/dist/external/design-review/gate.d.ts.map +1 -0
- package/server/dist/external/design-review/gate.js +39 -0
- package/server/dist/external/design-review/gate.js.map +1 -0
- package/server/dist/external/design-review/routes.d.ts +9 -0
- package/server/dist/external/design-review/routes.d.ts.map +1 -0
- package/server/dist/external/design-review/routes.js +25 -0
- package/server/dist/external/design-review/routes.js.map +1 -0
- package/server/dist/external/design-review/serve.d.ts +10 -0
- package/server/dist/external/design-review/serve.d.ts.map +1 -0
- package/server/dist/external/design-review/serve.js +184 -0
- package/server/dist/external/design-review/serve.js.map +1 -0
- package/server/dist/external/events/routes.d.ts +16 -0
- package/server/dist/external/events/routes.d.ts.map +1 -0
- package/server/dist/external/events/routes.js +46 -0
- package/server/dist/external/events/routes.js.map +1 -0
- package/server/dist/external/file/_helpers.d.ts +62 -0
- package/server/dist/external/file/_helpers.d.ts.map +1 -0
- package/server/dist/external/file/_helpers.js +146 -0
- package/server/dist/external/file/_helpers.js.map +1 -0
- package/server/dist/external/file/routes.d.ts +7 -0
- package/server/dist/external/file/routes.d.ts.map +1 -0
- package/server/dist/external/file/routes.js +122 -0
- package/server/dist/external/file/routes.js.map +1 -0
- package/server/dist/external/file/write.d.ts +20 -0
- package/server/dist/external/file/write.d.ts.map +1 -0
- package/server/dist/external/file/write.js +172 -0
- package/server/dist/external/file/write.js.map +1 -0
- package/server/dist/external/inbox/_cache.d.ts +48 -0
- package/server/dist/external/inbox/_cache.d.ts.map +1 -0
- package/server/dist/external/inbox/_cache.js +46 -0
- package/server/dist/external/inbox/_cache.js.map +1 -0
- package/server/dist/external/inbox/_derive.d.ts +56 -0
- package/server/dist/external/inbox/_derive.d.ts.map +1 -0
- package/server/dist/external/inbox/_derive.js +231 -0
- package/server/dist/external/inbox/_derive.js.map +1 -0
- package/server/dist/external/inbox/routes.d.ts +13 -0
- package/server/dist/external/inbox/routes.d.ts.map +1 -0
- package/server/dist/external/inbox/routes.js +59 -0
- package/server/dist/external/inbox/routes.js.map +1 -0
- package/server/dist/external/launch/_helpers.d.ts +17 -0
- package/server/dist/external/launch/_helpers.d.ts.map +1 -0
- package/server/dist/external/launch/_helpers.js +25 -0
- package/server/dist/external/launch/_helpers.js.map +1 -0
- package/server/dist/external/launch/action-substitution-branch.d.ts +11 -0
- package/server/dist/external/launch/action-substitution-branch.d.ts.map +1 -0
- package/server/dist/external/launch/action-substitution-branch.js +112 -0
- package/server/dist/external/launch/action-substitution-branch.js.map +1 -0
- package/server/dist/external/launch/campaign-branch.d.ts +12 -0
- package/server/dist/external/launch/campaign-branch.d.ts.map +1 -0
- package/server/dist/external/launch/campaign-branch.js +95 -0
- package/server/dist/external/launch/campaign-branch.js.map +1 -0
- package/server/dist/external/launch/campaign-step-branch.d.ts +12 -0
- package/server/dist/external/launch/campaign-step-branch.d.ts.map +1 -0
- package/server/dist/external/launch/campaign-step-branch.js +108 -0
- package/server/dist/external/launch/campaign-step-branch.js.map +1 -0
- package/server/dist/external/launch/legacy-fallback-branch.d.ts +12 -0
- package/server/dist/external/launch/legacy-fallback-branch.d.ts.map +1 -0
- package/server/dist/external/launch/legacy-fallback-branch.js +29 -0
- package/server/dist/external/launch/legacy-fallback-branch.js.map +1 -0
- package/server/dist/external/launch/master-run-branch.d.ts +24 -0
- package/server/dist/external/launch/master-run-branch.d.ts.map +1 -0
- package/server/dist/external/launch/master-run-branch.js +168 -0
- package/server/dist/external/launch/master-run-branch.js.map +1 -0
- package/server/dist/external/launch/parse-body.d.ts +46 -0
- package/server/dist/external/launch/parse-body.d.ts.map +1 -0
- package/server/dist/external/launch/parse-body.js +115 -0
- package/server/dist/external/launch/parse-body.js.map +1 -0
- package/server/dist/external/launch/phase-task-branch.d.ts +18 -0
- package/server/dist/external/launch/phase-task-branch.d.ts.map +1 -0
- package/server/dist/external/launch/phase-task-branch.js +170 -0
- package/server/dist/external/launch/phase-task-branch.js.map +1 -0
- package/server/dist/external/launch/routes.d.ts +23 -0
- package/server/dist/external/launch/routes.d.ts.map +1 -0
- package/server/dist/external/launch/routes.js +198 -0
- package/server/dist/external/launch/routes.js.map +1 -0
- package/server/dist/external/media/_helpers.d.ts +32 -0
- package/server/dist/external/media/_helpers.d.ts.map +1 -0
- package/server/dist/external/media/_helpers.js +77 -0
- package/server/dist/external/media/_helpers.js.map +1 -0
- package/server/dist/external/media/routes.d.ts +7 -0
- package/server/dist/external/media/routes.d.ts.map +1 -0
- package/server/dist/external/media/routes.js +120 -0
- package/server/dist/external/media/routes.js.map +1 -0
- package/server/dist/external/mission-context/facts-slice3.d.ts +22 -0
- package/server/dist/external/mission-context/facts-slice3.d.ts.map +1 -0
- package/server/dist/external/mission-context/facts-slice3.js +143 -0
- package/server/dist/external/mission-context/facts-slice3.js.map +1 -0
- package/server/dist/external/mission-context/facts.d.ts +44 -0
- package/server/dist/external/mission-context/facts.d.ts.map +1 -0
- package/server/dist/external/mission-context/facts.js +109 -0
- package/server/dist/external/mission-context/facts.js.map +1 -0
- package/server/dist/external/mission-context/routes.d.ts +83 -0
- package/server/dist/external/mission-context/routes.d.ts.map +1 -0
- package/server/dist/external/mission-context/routes.js +226 -0
- package/server/dist/external/mission-context/routes.js.map +1 -0
- package/server/dist/external/mission-context/test-harness.d.ts +62 -0
- package/server/dist/external/mission-context/test-harness.d.ts.map +1 -0
- package/server/dist/external/mission-context/test-harness.js +121 -0
- package/server/dist/external/mission-context/test-harness.js.map +1 -0
- package/server/dist/external/mission-context/wire.d.ts +12 -0
- package/server/dist/external/mission-context/wire.d.ts.map +1 -0
- package/server/dist/external/mission-context/wire.js +62 -0
- package/server/dist/external/mission-context/wire.js.map +1 -0
- package/server/dist/external/model-config/routes.d.ts +9 -0
- package/server/dist/external/model-config/routes.d.ts.map +1 -0
- package/server/dist/external/model-config/routes.js +18 -0
- package/server/dist/external/model-config/routes.js.map +1 -0
- package/server/dist/external/org/__tests__/fixtures/lock-race-worker.d.ts +2 -0
- package/server/dist/external/org/__tests__/fixtures/lock-race-worker.d.ts.map +1 -0
- package/server/dist/external/org/__tests__/fixtures/lock-race-worker.js +67 -0
- package/server/dist/external/org/__tests__/fixtures/lock-race-worker.js.map +1 -0
- package/server/dist/external/org/_helpers.d.ts +67 -0
- package/server/dist/external/org/_helpers.d.ts.map +1 -0
- package/server/dist/external/org/_helpers.js +146 -0
- package/server/dist/external/org/_helpers.js.map +1 -0
- package/server/dist/external/org/beat-register-release-audit.d.ts +17 -0
- package/server/dist/external/org/beat-register-release-audit.d.ts.map +1 -0
- package/server/dist/external/org/beat-register-release-audit.js +96 -0
- package/server/dist/external/org/beat-register-release-audit.js.map +1 -0
- package/server/dist/external/org/beat-register-release-core.d.ts +50 -0
- package/server/dist/external/org/beat-register-release-core.d.ts.map +1 -0
- package/server/dist/external/org/beat-register-release-core.js +183 -0
- package/server/dist/external/org/beat-register-release-core.js.map +1 -0
- package/server/dist/external/org/beat-register-release.d.ts +13 -0
- package/server/dist/external/org/beat-register-release.d.ts.map +1 -0
- package/server/dist/external/org/beat-register-release.js +81 -0
- package/server/dist/external/org/beat-register-release.js.map +1 -0
- package/server/dist/external/org/beat-register.d.ts +100 -0
- package/server/dist/external/org/beat-register.d.ts.map +1 -0
- package/server/dist/external/org/beat-register.js +198 -0
- package/server/dist/external/org/beat-register.js.map +1 -0
- package/server/dist/external/org/countersign.d.ts +8 -0
- package/server/dist/external/org/countersign.d.ts.map +1 -0
- package/server/dist/external/org/countersign.js +157 -0
- package/server/dist/external/org/countersign.js.map +1 -0
- package/server/dist/external/org/cron.d.ts +22 -0
- package/server/dist/external/org/cron.d.ts.map +1 -0
- package/server/dist/external/org/cron.js +59 -0
- package/server/dist/external/org/cron.js.map +1 -0
- package/server/dist/external/org/decisions-lock.d.ts +68 -0
- package/server/dist/external/org/decisions-lock.d.ts.map +1 -0
- package/server/dist/external/org/decisions-lock.js +209 -0
- package/server/dist/external/org/decisions-lock.js.map +1 -0
- package/server/dist/external/org/file-read.d.ts +14 -0
- package/server/dist/external/org/file-read.d.ts.map +1 -0
- package/server/dist/external/org/file-read.js +80 -0
- package/server/dist/external/org/file-read.js.map +1 -0
- package/server/dist/external/org/file-write.d.ts +14 -0
- package/server/dist/external/org/file-write.d.ts.map +1 -0
- package/server/dist/external/org/file-write.js +205 -0
- package/server/dist/external/org/file-write.js.map +1 -0
- package/server/dist/external/org/last-run.d.ts +28 -0
- package/server/dist/external/org/last-run.d.ts.map +1 -0
- package/server/dist/external/org/last-run.js +137 -0
- package/server/dist/external/org/last-run.js.map +1 -0
- package/server/dist/external/org/org-chart-lookup.d.ts +16 -0
- package/server/dist/external/org/org-chart-lookup.d.ts.map +1 -0
- package/server/dist/external/org/org-chart-lookup.js +100 -0
- package/server/dist/external/org/org-chart-lookup.js.map +1 -0
- package/server/dist/external/org/org-chart.d.ts +25 -0
- package/server/dist/external/org/org-chart.d.ts.map +1 -0
- package/server/dist/external/org/org-chart.js +110 -0
- package/server/dist/external/org/org-chart.js.map +1 -0
- package/server/dist/external/org/routes.d.ts +12 -0
- package/server/dist/external/org/routes.d.ts.map +1 -0
- package/server/dist/external/org/routes.js +90 -0
- package/server/dist/external/org/routes.js.map +1 -0
- package/server/dist/external/org/usage.d.ts +24 -0
- package/server/dist/external/org/usage.d.ts.map +1 -0
- package/server/dist/external/org/usage.js +110 -0
- package/server/dist/external/org/usage.js.map +1 -0
- package/server/dist/external/pr-status/routes.d.ts +7 -0
- package/server/dist/external/pr-status/routes.d.ts.map +1 -0
- package/server/dist/external/pr-status/routes.js +37 -0
- package/server/dist/external/pr-status/routes.js.map +1 -0
- package/server/dist/external/preview/routes.d.ts +10 -0
- package/server/dist/external/preview/routes.d.ts.map +1 -0
- package/server/dist/external/preview/routes.js +71 -0
- package/server/dist/external/preview/routes.js.map +1 -0
- package/server/dist/external/routes.d.ts +106 -0
- package/server/dist/external/routes.d.ts.map +1 -0
- package/server/dist/external/routes.js +162 -0
- package/server/dist/external/routes.js.map +1 -0
- package/server/dist/external/run-config/routes.d.ts +9 -0
- package/server/dist/external/run-config/routes.d.ts.map +1 -0
- package/server/dist/external/run-config/routes.js +55 -0
- package/server/dist/external/run-config/routes.js.map +1 -0
- package/server/dist/external/runs/routes.d.ts +16 -0
- package/server/dist/external/runs/routes.d.ts.map +1 -0
- package/server/dist/external/runs/routes.js +69 -0
- package/server/dist/external/runs/routes.js.map +1 -0
- package/server/dist/external/tasks/_phase-helpers.d.ts +37 -0
- package/server/dist/external/tasks/_phase-helpers.d.ts.map +1 -0
- package/server/dist/external/tasks/_phase-helpers.js +101 -0
- package/server/dist/external/tasks/_phase-helpers.js.map +1 -0
- package/server/dist/external/tasks/create.d.ts +12 -0
- package/server/dist/external/tasks/create.d.ts.map +1 -0
- package/server/dist/external/tasks/create.js +139 -0
- package/server/dist/external/tasks/create.js.map +1 -0
- package/server/dist/external/tasks/lifecycle.d.ts +12 -0
- package/server/dist/external/tasks/lifecycle.d.ts.map +1 -0
- package/server/dist/external/tasks/lifecycle.js +231 -0
- package/server/dist/external/tasks/lifecycle.js.map +1 -0
- package/server/dist/external/tasks/list-get.d.ts +11 -0
- package/server/dist/external/tasks/list-get.d.ts.map +1 -0
- package/server/dist/external/tasks/list-get.js +50 -0
- package/server/dist/external/tasks/list-get.js.map +1 -0
- package/server/dist/external/tasks/patch.d.ts +12 -0
- package/server/dist/external/tasks/patch.d.ts.map +1 -0
- package/server/dist/external/tasks/patch.js +192 -0
- package/server/dist/external/tasks/patch.js.map +1 -0
- package/server/dist/external/tasks/routes.d.ts +18 -0
- package/server/dist/external/tasks/routes.d.ts.map +1 -0
- package/server/dist/external/tasks/routes.js +49 -0
- package/server/dist/external/tasks/routes.js.map +1 -0
- package/server/dist/external/transcript/routes.d.ts +12 -0
- package/server/dist/external/transcript/routes.d.ts.map +1 -0
- package/server/dist/external/transcript/routes.js +160 -0
- package/server/dist/external/transcript/routes.js.map +1 -0
- package/server/dist/external/tree/routes.d.ts +7 -0
- package/server/dist/external/tree/routes.d.ts.map +1 -0
- package/server/dist/external/tree/routes.js +96 -0
- package/server/dist/external/tree/routes.js.map +1 -0
- package/server/dist/index.d.ts +3 -0
- package/server/dist/index.d.ts.map +1 -0
- package/server/dist/index.js +774 -0
- package/server/dist/index.js.map +1 -0
- package/server/dist/lib/bind-errors.d.ts +18 -0
- package/server/dist/lib/bind-errors.d.ts.map +1 -0
- package/server/dist/lib/bind-errors.js +43 -0
- package/server/dist/lib/bind-errors.js.map +1 -0
- package/server/dist/lib/resolveHonoHost.d.ts +3 -0
- package/server/dist/lib/resolveHonoHost.d.ts.map +1 -0
- package/server/dist/lib/resolveHonoHost.js +34 -0
- package/server/dist/lib/resolveHonoHost.js.map +1 -0
- package/server/dist/lib/resolveNetworkProfile.d.ts +28 -0
- package/server/dist/lib/resolveNetworkProfile.d.ts.map +1 -0
- package/server/dist/lib/resolveNetworkProfile.js +42 -0
- package/server/dist/lib/resolveNetworkProfile.js.map +1 -0
- package/server/dist/lib/resolveTailscaleIp.d.ts +26 -0
- package/server/dist/lib/resolveTailscaleIp.d.ts.map +1 -0
- package/server/dist/lib/resolveTailscaleIp.js +61 -0
- package/server/dist/lib/resolveTailscaleIp.js.map +1 -0
- package/server/dist/lib/resolveTrustedOrigins.d.ts +9 -0
- package/server/dist/lib/resolveTrustedOrigins.d.ts.map +1 -0
- package/server/dist/lib/resolveTrustedOrigins.js +154 -0
- package/server/dist/lib/resolveTrustedOrigins.js.map +1 -0
- package/server/dist/middleware/error-handler.d.ts +8 -0
- package/server/dist/middleware/error-handler.d.ts.map +1 -0
- package/server/dist/middleware/error-handler.js +75 -0
- package/server/dist/middleware/error-handler.js.map +1 -0
- package/server/dist/middleware/logger.d.ts +3 -0
- package/server/dist/middleware/logger.d.ts.map +1 -0
- package/server/dist/middleware/logger.js +13 -0
- package/server/dist/middleware/logger.js.map +1 -0
- package/server/dist/routes/_triage-api-harness.d.ts +16 -0
- package/server/dist/routes/_triage-api-harness.d.ts.map +1 -0
- package/server/dist/routes/_triage-api-harness.js +89 -0
- package/server/dist/routes/_triage-api-harness.js.map +1 -0
- package/server/dist/routes/campaigns.d.ts +26 -0
- package/server/dist/routes/campaigns.d.ts.map +1 -0
- package/server/dist/routes/campaigns.js +237 -0
- package/server/dist/routes/campaigns.js.map +1 -0
- package/server/dist/routes/diagnostics.d.ts +84 -0
- package/server/dist/routes/diagnostics.d.ts.map +1 -0
- package/server/dist/routes/diagnostics.js +143 -0
- package/server/dist/routes/diagnostics.js.map +1 -0
- package/server/dist/routes/grade.d.ts +13 -0
- package/server/dist/routes/grade.d.ts.map +1 -0
- package/server/dist/routes/grade.js +45 -0
- package/server/dist/routes/grade.js.map +1 -0
- package/server/dist/routes/profiles.d.ts +25 -0
- package/server/dist/routes/profiles.d.ts.map +1 -0
- package/server/dist/routes/profiles.js +58 -0
- package/server/dist/routes/profiles.js.map +1 -0
- package/server/dist/routes/projects.d.ts +20 -0
- package/server/dist/routes/projects.d.ts.map +1 -0
- package/server/dist/routes/projects.js +105 -0
- package/server/dist/routes/projects.js.map +1 -0
- package/server/dist/routes/readiness.d.ts +11 -0
- package/server/dist/routes/readiness.d.ts.map +1 -0
- package/server/dist/routes/readiness.js +52 -0
- package/server/dist/routes/readiness.js.map +1 -0
- package/server/dist/routes/settings.d.ts +13 -0
- package/server/dist/routes/settings.d.ts.map +1 -0
- package/server/dist/routes/settings.js +69 -0
- package/server/dist/routes/settings.js.map +1 -0
- package/server/dist/routes/terminal-appearance.d.ts +7 -0
- package/server/dist/routes/terminal-appearance.d.ts.map +1 -0
- package/server/dist/routes/terminal-appearance.js +28 -0
- package/server/dist/routes/terminal-appearance.js.map +1 -0
- package/server/dist/routes/triage.d.ts +35 -0
- package/server/dist/routes/triage.d.ts.map +1 -0
- package/server/dist/routes/triage.js +496 -0
- package/server/dist/routes/triage.js.map +1 -0
- package/server/dist/terminal/backpressure-telemetry.d.ts +86 -0
- package/server/dist/terminal/backpressure-telemetry.d.ts.map +1 -0
- package/server/dist/terminal/backpressure-telemetry.js +158 -0
- package/server/dist/terminal/backpressure-telemetry.js.map +1 -0
- package/server/dist/terminal/boot-wipe.d.ts +47 -0
- package/server/dist/terminal/boot-wipe.d.ts.map +1 -0
- package/server/dist/terminal/boot-wipe.js +122 -0
- package/server/dist/terminal/boot-wipe.js.map +1 -0
- package/server/dist/terminal/headless-mirror.d.ts +139 -0
- package/server/dist/terminal/headless-mirror.d.ts.map +1 -0
- package/server/dist/terminal/headless-mirror.js +389 -0
- package/server/dist/terminal/headless-mirror.js.map +1 -0
- package/server/dist/terminal/headless-probe.d.ts +26 -0
- package/server/dist/terminal/headless-probe.d.ts.map +1 -0
- package/server/dist/terminal/headless-probe.js +99 -0
- package/server/dist/terminal/headless-probe.js.map +1 -0
- package/server/dist/terminal/idle-reaper.d.ts +47 -0
- package/server/dist/terminal/idle-reaper.d.ts.map +1 -0
- package/server/dist/terminal/idle-reaper.js +95 -0
- package/server/dist/terminal/idle-reaper.js.map +1 -0
- package/server/dist/terminal/image-paste.d.ts +60 -0
- package/server/dist/terminal/image-paste.d.ts.map +1 -0
- package/server/dist/terminal/image-paste.js +260 -0
- package/server/dist/terminal/image-paste.js.map +1 -0
- package/server/dist/terminal/pty-manager.d.ts +452 -0
- package/server/dist/terminal/pty-manager.d.ts.map +1 -0
- package/server/dist/terminal/pty-manager.js +1014 -0
- package/server/dist/terminal/pty-manager.js.map +1 -0
- package/server/dist/terminal/replay-snapshot.d.ts +25 -0
- package/server/dist/terminal/replay-snapshot.d.ts.map +1 -0
- package/server/dist/terminal/replay-snapshot.js +124 -0
- package/server/dist/terminal/replay-snapshot.js.map +1 -0
- package/server/dist/terminal/resync-gate.d.ts +20 -0
- package/server/dist/terminal/resync-gate.d.ts.map +1 -0
- package/server/dist/terminal/resync-gate.js +58 -0
- package/server/dist/terminal/resync-gate.js.map +1 -0
- package/server/dist/terminal/routes.d.ts +67 -0
- package/server/dist/terminal/routes.d.ts.map +1 -0
- package/server/dist/terminal/routes.js +455 -0
- package/server/dist/terminal/routes.js.map +1 -0
- package/server/dist/terminal/scrollback-store.d.ts +120 -0
- package/server/dist/terminal/scrollback-store.d.ts.map +1 -0
- package/server/dist/terminal/scrollback-store.js +572 -0
- package/server/dist/terminal/scrollback-store.js.map +1 -0
- package/server/dist/terminal/snapshot-preserve.d.ts +63 -0
- package/server/dist/terminal/snapshot-preserve.d.ts.map +1 -0
- package/server/dist/terminal/snapshot-preserve.js +116 -0
- package/server/dist/terminal/snapshot-preserve.js.map +1 -0
- package/server/dist/terminal/snapshot-store.d.ts +147 -0
- package/server/dist/terminal/snapshot-store.d.ts.map +1 -0
- package/server/dist/terminal/snapshot-store.js +439 -0
- package/server/dist/terminal/snapshot-store.js.map +1 -0
- package/server/dist/terminal/snapshot-tmp-sweep.d.ts +48 -0
- package/server/dist/terminal/snapshot-tmp-sweep.d.ts.map +1 -0
- package/server/dist/terminal/snapshot-tmp-sweep.js +141 -0
- package/server/dist/terminal/snapshot-tmp-sweep.js.map +1 -0
- package/server/dist/terminal/spawn-env.d.ts +46 -0
- package/server/dist/terminal/spawn-env.d.ts.map +1 -0
- package/server/dist/terminal/spawn-env.js +232 -0
- package/server/dist/terminal/spawn-env.js.map +1 -0
- package/server/dist/terminal/terminal-reset.d.ts +31 -0
- package/server/dist/terminal/terminal-reset.d.ts.map +1 -0
- package/server/dist/terminal/terminal-reset.js +43 -0
- package/server/dist/terminal/terminal-reset.js.map +1 -0
- package/server/dist/terminal/ws-heartbeat.d.ts +78 -0
- package/server/dist/terminal/ws-heartbeat.d.ts.map +1 -0
- package/server/dist/terminal/ws-heartbeat.js +164 -0
- package/server/dist/terminal/ws-heartbeat.js.map +1 -0
- package/server/dist/terminal/ws-upgrade-handler.d.ts +96 -0
- package/server/dist/terminal/ws-upgrade-handler.d.ts.map +1 -0
- package/server/dist/terminal/ws-upgrade-handler.fixtures.d.ts +46 -0
- package/server/dist/terminal/ws-upgrade-handler.fixtures.d.ts.map +1 -0
- package/server/dist/terminal/ws-upgrade-handler.fixtures.js +126 -0
- package/server/dist/terminal/ws-upgrade-handler.fixtures.js.map +1 -0
- package/server/dist/terminal/ws-upgrade-handler.js +518 -0
- package/server/dist/terminal/ws-upgrade-handler.js.map +1 -0
- package/server/dist/types/action-schema.d.ts +75 -0
- package/server/dist/types/action-schema.d.ts.map +1 -0
- package/server/dist/types/action-schema.js +32 -0
- package/server/dist/types/action-schema.js.map +1 -0
- package/server/dist/types/project.d.ts +72 -0
- package/server/dist/types/project.d.ts.map +1 -0
- package/server/dist/types/project.js +16 -0
- package/server/dist/types/project.js.map +1 -0
- package/server/dist/types/run-config-v2.d.ts +172 -0
- package/server/dist/types/run-config-v2.d.ts.map +1 -0
- package/server/dist/types/run-config-v2.js +169 -0
- package/server/dist/types/run-config-v2.js.map +1 -0
- package/server/dist/types/settings.d.ts +25 -0
- package/server/dist/types/settings.d.ts.map +1 -0
- package/server/dist/types/settings.js +12 -0
- package/server/dist/types/settings.js.map +1 -0
- package/server/dist/types/task.d.ts +55 -0
- package/server/dist/types/task.d.ts.map +1 -0
- package/server/dist/types/task.js +13 -0
- package/server/dist/types/task.js.map +1 -0
- package/server/dist/types/triage.d.ts +135 -0
- package/server/dist/types/triage.d.ts.map +1 -0
- package/server/dist/types/triage.js +15 -0
- package/server/dist/types/triage.js.map +1 -0
- package/server/package.json +43 -0
- package/server/profiles/PROFILE_SCHEMA_VERSION +1 -0
- package/server/profiles/README.md +27 -0
- package/server/profiles/python-plugin-monorepo.json +35 -0
- package/server/profiles/supabase-nextjs.json +253 -0
- package/server/profiles/vite-hono.json +92 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* triage-contract.ts — TS port of `shared/scripts/lib/triage_contract.py`,
|
|
3
|
+
* the shape of the monorepo's `triage_cli.py list --json` output.
|
|
4
|
+
*
|
|
5
|
+
* NOT the live WebUI `GET /api/triage/:projectId` wire shape (that stays
|
|
6
|
+
* `{items, origin}`, additive fields only — see the spec's Technical
|
|
7
|
+
* Approach for why). This module exists so the WebUI's understanding of the
|
|
8
|
+
* monorepo's cross-repo CLI contract stays provably in sync — the parity
|
|
9
|
+
* gate in `triage-contract.test.ts` compares its output byte-for-byte
|
|
10
|
+
* against a fixture regenerated from the REAL `triage_cli.py`.
|
|
11
|
+
*/
|
|
12
|
+
import { sortDeferred } from "./triage-defer.js";
|
|
13
|
+
import { enrichPendingDelivery } from "./triage-enrich.js";
|
|
14
|
+
import { filterTriage } from "./triage-store.js";
|
|
15
|
+
/** Bump when the SHAPE changes — not when an item gains a field. Mirrors triage_contract.py. */
|
|
16
|
+
export const CONTRACT_VERSION = 2;
|
|
17
|
+
/**
|
|
18
|
+
* The full `list --json` payload for a resolved view. `open` = status ===
|
|
19
|
+
* "triage"; `deferred` = status === "snoozed" (park-expiry already resolved
|
|
20
|
+
* by `applyDeferOverlay` inside `readAllItems`, so a due park is already in
|
|
21
|
+
* `open` by the time this runs). Both sections are COMPLETE — never capped,
|
|
22
|
+
* mirroring upstream's "the machine contract is never capped" rule.
|
|
23
|
+
* `deferred` is ordered by `sortDeferred` (soonest dated first).
|
|
24
|
+
*/
|
|
25
|
+
export function buildTriageListing(items, trackedPath) {
|
|
26
|
+
const open = filterTriage(items).map((it) => ({ ...it }));
|
|
27
|
+
const deferred = items
|
|
28
|
+
.filter((it) => it.status === "snoozed")
|
|
29
|
+
.map((it) => ({ ...it }));
|
|
30
|
+
enrichPendingDelivery(open, trackedPath);
|
|
31
|
+
enrichPendingDelivery(deferred, trackedPath);
|
|
32
|
+
const severityRank = {
|
|
33
|
+
critical: 0,
|
|
34
|
+
high: 1,
|
|
35
|
+
medium: 2,
|
|
36
|
+
low: 3,
|
|
37
|
+
info: 4,
|
|
38
|
+
};
|
|
39
|
+
return {
|
|
40
|
+
contractVersion: CONTRACT_VERSION,
|
|
41
|
+
open,
|
|
42
|
+
deferred: sortDeferred(deferred, severityRank),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=triage-contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triage-contract.js","sourceRoot":"","sources":["../../src/core/triage-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,gGAAgG;AAChG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAQlC;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAmB,EACnB,WAAmB;IAEnB,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,KAAK;SACnB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC;SACvC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5B,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACzC,qBAAqB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC7C,MAAM,YAAY,GAA2B;QAC3C,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;QACT,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,CAAC;KACR,CAAC;IACF,OAAO;QACL,eAAe,EAAE,gBAAgB;QACjC,IAAI;QACJ,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC;KAC/C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { TriageItem } from "../types/triage.js";
|
|
2
|
+
/**
|
|
3
|
+
* Exactly `YYYY-MM-DD`, and a real calendar date (rejects e.g. 2026-02-30),
|
|
4
|
+
* or `null`. Strict on purpose — mirrors Python `parse_revisit_date`'s
|
|
5
|
+
* `datetime.strptime(raw, "%Y-%m-%d")`, which rejects a non-zero-padded or
|
|
6
|
+
* out-of-range component. An unreadable value is never guessed at; it is
|
|
7
|
+
* treated as "no date" everywhere downstream.
|
|
8
|
+
*/
|
|
9
|
+
export declare function parseRevisitDate(raw: unknown): string | null;
|
|
10
|
+
/** The UTC calendar day of `now`, as `YYYY-MM-DD`. */
|
|
11
|
+
export declare function utcToday(now: Date): string;
|
|
12
|
+
/**
|
|
13
|
+
* Has a park named for `raw` come due as of `todayIso`? A park named for day
|
|
14
|
+
* D is due FROM 00:00:00 UTC on D (`todayIso >= D`) — open ON the named day,
|
|
15
|
+
* not the day after. An unreadable or missing value is NOT due — the
|
|
16
|
+
* conservative direction: a damaged date must not silently re-open an entry.
|
|
17
|
+
*/
|
|
18
|
+
export declare function isDue(raw: unknown, todayIso: string): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Overlay park expiry on an already-resolved view. Every item gains
|
|
21
|
+
* `revisitDue`; a `snoozed` item whose date has come reads `status: "triage"`
|
|
22
|
+
* (its `revisitAt` is left untouched, so the two open-looking cases —
|
|
23
|
+
* never-parked vs. just-returned — stay distinguishable). Returns NEW item
|
|
24
|
+
* objects (never mutates the input) but is a pure function of its input, so
|
|
25
|
+
* a caller applying it exactly once per resolved view (never to its own
|
|
26
|
+
* output) gets a stable result — see the module header.
|
|
27
|
+
*/
|
|
28
|
+
export declare function applyDeferOverlay(items: TriageItem[], now: Date): TriageItem[];
|
|
29
|
+
/**
|
|
30
|
+
* Order parked entries for display — a TOTAL order (the trailing id key
|
|
31
|
+
* breaks every tie, so "the first N" never depends on incoming order).
|
|
32
|
+
* Soonest dated return first, then undated entries, then severity (critical
|
|
33
|
+
* first, unknown last), then id. Returns a new array; the input is untouched.
|
|
34
|
+
*/
|
|
35
|
+
export declare function sortDeferred(items: TriageItem[], severityRank: Record<string, number>): TriageItem[];
|
|
36
|
+
//# sourceMappingURL=triage-defer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triage-defer.d.ts","sourceRoot":"","sources":["../../src/core/triage-defer.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOrD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAgB5D;AAED,sDAAsD;AACtD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,MAAM,CAE1C;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAG7D;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,IAAI,GAAG,UAAU,EAAE,CAW9E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,UAAU,EAAE,EACnB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,UAAU,EAAE,CAuBd"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* triage-defer.ts — TS port of the parked-entry lifecycle from
|
|
3
|
+
* `shared/scripts/lib/triage_defer.py` (monorepo P2.03,
|
|
4
|
+
* iterate-2026-08-01-triage-defer-lifecycle, CONTRACT_VERSION 2).
|
|
5
|
+
*
|
|
6
|
+
* A parked (`status: "snoozed"`) entry names the day it should return
|
|
7
|
+
* (`revisitAt`, strictly `YYYY-MM-DD`). The park expires by DERIVATION, not
|
|
8
|
+
* by a writer: `applyDeferOverlay` resolves a due park back to
|
|
9
|
+
* `status: "triage"` on every read — nothing appends a second event. Applied
|
|
10
|
+
* EXACTLY ONCE per resolved view (in `triage-store.ts` / `triage-compose.ts`,
|
|
11
|
+
* at cache-fill time), mirroring upstream `read_all_items`, which calls
|
|
12
|
+
* `_defer.apply_revisit_expiry` once at the end and never re-applies it to an
|
|
13
|
+
* already-overlaid view (re-applying would null out a due item's `revisitAt`
|
|
14
|
+
* and re-flip `revisitDue` to false — see iterate-2026-08-05-triage-deferred-
|
|
15
|
+
* envelope plan review M2).
|
|
16
|
+
*
|
|
17
|
+
* An entry with no `revisitAt` (today's WebUI Snooze, and the
|
|
18
|
+
* upstream-permitted no-date park) is `revisitDue: false` forever —
|
|
19
|
+
* "parked-not-due" — by construction: `isDue` treats an unreadable or
|
|
20
|
+
* missing date as not due, the conservative direction.
|
|
21
|
+
*/
|
|
22
|
+
const DATE_PATTERN = /^(\d{4})-(\d{2})-(\d{2})$/;
|
|
23
|
+
/** Sorts after every known severity — a hand-edited severity never jumps the queue. */
|
|
24
|
+
const UNKNOWN_SEVERITY_RANK = 1_000;
|
|
25
|
+
/**
|
|
26
|
+
* Exactly `YYYY-MM-DD`, and a real calendar date (rejects e.g. 2026-02-30),
|
|
27
|
+
* or `null`. Strict on purpose — mirrors Python `parse_revisit_date`'s
|
|
28
|
+
* `datetime.strptime(raw, "%Y-%m-%d")`, which rejects a non-zero-padded or
|
|
29
|
+
* out-of-range component. An unreadable value is never guessed at; it is
|
|
30
|
+
* treated as "no date" everywhere downstream.
|
|
31
|
+
*/
|
|
32
|
+
export function parseRevisitDate(raw) {
|
|
33
|
+
if (typeof raw !== "string")
|
|
34
|
+
return null;
|
|
35
|
+
const m = DATE_PATTERN.exec(raw);
|
|
36
|
+
if (!m)
|
|
37
|
+
return null;
|
|
38
|
+
const year = Number(m[1]);
|
|
39
|
+
const month = Number(m[2]);
|
|
40
|
+
const day = Number(m[3]);
|
|
41
|
+
const d = new Date(Date.UTC(year, month - 1, day));
|
|
42
|
+
if (d.getUTCFullYear() !== year ||
|
|
43
|
+
d.getUTCMonth() !== month - 1 ||
|
|
44
|
+
d.getUTCDate() !== day) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
return raw;
|
|
48
|
+
}
|
|
49
|
+
/** The UTC calendar day of `now`, as `YYYY-MM-DD`. */
|
|
50
|
+
export function utcToday(now) {
|
|
51
|
+
return now.toISOString().slice(0, 10);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Has a park named for `raw` come due as of `todayIso`? A park named for day
|
|
55
|
+
* D is due FROM 00:00:00 UTC on D (`todayIso >= D`) — open ON the named day,
|
|
56
|
+
* not the day after. An unreadable or missing value is NOT due — the
|
|
57
|
+
* conservative direction: a damaged date must not silently re-open an entry.
|
|
58
|
+
*/
|
|
59
|
+
export function isDue(raw, todayIso) {
|
|
60
|
+
const parsed = parseRevisitDate(raw);
|
|
61
|
+
return parsed !== null && todayIso >= parsed;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Overlay park expiry on an already-resolved view. Every item gains
|
|
65
|
+
* `revisitDue`; a `snoozed` item whose date has come reads `status: "triage"`
|
|
66
|
+
* (its `revisitAt` is left untouched, so the two open-looking cases —
|
|
67
|
+
* never-parked vs. just-returned — stay distinguishable). Returns NEW item
|
|
68
|
+
* objects (never mutates the input) but is a pure function of its input, so
|
|
69
|
+
* a caller applying it exactly once per resolved view (never to its own
|
|
70
|
+
* output) gets a stable result — see the module header.
|
|
71
|
+
*/
|
|
72
|
+
export function applyDeferOverlay(items, now) {
|
|
73
|
+
const today = utcToday(now);
|
|
74
|
+
return items.map((item) => {
|
|
75
|
+
const parked = item.status === "snoozed";
|
|
76
|
+
const due = parked && isDue(item.revisitAt, today);
|
|
77
|
+
return {
|
|
78
|
+
...item,
|
|
79
|
+
revisitDue: due,
|
|
80
|
+
status: due ? "triage" : item.status,
|
|
81
|
+
};
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Order parked entries for display — a TOTAL order (the trailing id key
|
|
86
|
+
* breaks every tie, so "the first N" never depends on incoming order).
|
|
87
|
+
* Soonest dated return first, then undated entries, then severity (critical
|
|
88
|
+
* first, unknown last), then id. Returns a new array; the input is untouched.
|
|
89
|
+
*/
|
|
90
|
+
export function sortDeferred(items, severityRank) {
|
|
91
|
+
const keyed = items.map((item) => {
|
|
92
|
+
const parsed = parseRevisitDate(item.revisitAt);
|
|
93
|
+
const rank = typeof item.severity === "string"
|
|
94
|
+
? (severityRank[item.severity] ?? UNKNOWN_SEVERITY_RANK)
|
|
95
|
+
: UNKNOWN_SEVERITY_RANK;
|
|
96
|
+
return {
|
|
97
|
+
item,
|
|
98
|
+
hasNoDate: parsed === null,
|
|
99
|
+
dateKey: parsed ?? "",
|
|
100
|
+
rank,
|
|
101
|
+
idKey: item.id ?? "",
|
|
102
|
+
};
|
|
103
|
+
});
|
|
104
|
+
keyed.sort((a, b) => {
|
|
105
|
+
if (a.hasNoDate !== b.hasNoDate)
|
|
106
|
+
return a.hasNoDate ? 1 : -1;
|
|
107
|
+
if (a.dateKey !== b.dateKey)
|
|
108
|
+
return a.dateKey < b.dateKey ? -1 : 1;
|
|
109
|
+
if (a.rank !== b.rank)
|
|
110
|
+
return a.rank - b.rank;
|
|
111
|
+
if (a.idKey !== b.idKey)
|
|
112
|
+
return a.idKey < b.idKey ? -1 : 1;
|
|
113
|
+
return 0;
|
|
114
|
+
});
|
|
115
|
+
return keyed.map((k) => k.item);
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=triage-defer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triage-defer.js","sourceRoot":"","sources":["../../src/core/triage-defer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { TriageItem } from "../types/triage.js";
|
|
2
|
+
/** Test-only — clear the residence memo. */
|
|
3
|
+
export declare function _clearEnrichCache_TEST_ONLY(): void;
|
|
4
|
+
/**
|
|
5
|
+
* Annotate every item with a CONCRETE `pendingDelivery` boolean (never
|
|
6
|
+
* undefined — external review OAI1): `true` iff the item's `append` lives
|
|
7
|
+
* ONLY in the gitignored per-tree outbox buffer, i.e. it has not yet been
|
|
8
|
+
* swept into the tracked log and "ships with the next iterate" PR.
|
|
9
|
+
* TRACKED-PREFERRED: an id present in BOTH files (post-sweep, pre-GC) is
|
|
10
|
+
* NOT pending — parallels `triage.mark_status` residence derivation.
|
|
11
|
+
* Status-independent by design (OAI9): closed items get the flag too; the
|
|
12
|
+
* inbox UI only renders open items.
|
|
13
|
+
*/
|
|
14
|
+
export declare function enrichPendingDelivery(items: TriageItem[], trackedPath: string): void;
|
|
15
|
+
/** Injected campaign correlation ref (shape owned by the route deps). */
|
|
16
|
+
export interface CampaignRef {
|
|
17
|
+
expandsTriage: string | null;
|
|
18
|
+
slug: string;
|
|
19
|
+
status: "draft" | "active" | "complete" | null;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* FR-01.33 — annotate triage items with the campaign that expands them
|
|
23
|
+
* (campaignSlug + campaignStatus). Server-side join via the injected
|
|
24
|
+
* `listCampaignRefs` dep so the route module imports no campaign code
|
|
25
|
+
* (preserves the campaigns-no-triage-coupling boundary). Best-effort — a
|
|
26
|
+
* thrown dep never fails the triage list. Deterministic when multiple
|
|
27
|
+
* campaigns share an `expandsTriage`: prefer draft, then active, then
|
|
28
|
+
* first seen.
|
|
29
|
+
*/
|
|
30
|
+
export declare function enrichWithCampaignRefs(items: TriageItem[], projectId: string, listCampaignRefs: ((projectId: string) => CampaignRef[]) | undefined): void;
|
|
31
|
+
//# sourceMappingURL=triage-enrich.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triage-enrich.d.ts","sourceRoot":"","sources":["../../src/core/triage-enrich.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAoBrD,4CAA4C;AAC5C,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AA+CD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,EAAE,EACnB,WAAW,EAAE,MAAM,GAClB,IAAI,CAKN;AAMD,yEAAyE;AACzE,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC;CAChD;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,UAAU,EAAE,EACnB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,WAAW,EAAE,CAAC,GAAG,SAAS,GACnE,IAAI,CA6BN"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* triage-enrich.ts — GET-route enrichment layer over the resolved triage
|
|
3
|
+
* view. Two deliberately separate concerns (external review OAI11):
|
|
4
|
+
*
|
|
5
|
+
* enrichPendingDelivery — TRACKED-PREFERRED outbox residence flag,
|
|
6
|
+
* mirroring the monorepo `triage_cli.py list --json` contract
|
|
7
|
+
* (shipwright PR #177, trg-e2a0ebb3). Python layering parallel:
|
|
8
|
+
* `read_all_items()` never emits the field — only the CLI list
|
|
9
|
+
* surface adds it — so it must NOT live in `readAllItems()` (whose
|
|
10
|
+
* output is parity-tested byte-for-byte against `read_all_items`).
|
|
11
|
+
*
|
|
12
|
+
* enrichWithCampaignRefs — FR-01.33 campaign correlation, moved
|
|
13
|
+
* verbatim from routes/triage.ts (anti-ratchet extraction,
|
|
14
|
+
* iterate-2026-06-10-triage-pending-delivery-badge). Consumes only
|
|
15
|
+
* the injected ref list, so the campaigns-no-triage-coupling import
|
|
16
|
+
* boundary is preserved: this module imports no campaign code.
|
|
17
|
+
*
|
|
18
|
+
* Neither function is part of the `readAllItems` parity surface; both are
|
|
19
|
+
* per-request annotations that never persist to triage.jsonl.
|
|
20
|
+
*/
|
|
21
|
+
import { appendIdsInFile } from "./triage-store.js";
|
|
22
|
+
import { outboxPathFor } from "./triage-paths.js";
|
|
23
|
+
import { statSync } from "node:fs";
|
|
24
|
+
const RESIDENCE_TTL_MS = 5_000;
|
|
25
|
+
const residenceCache = new Map();
|
|
26
|
+
/** Test-only — clear the residence memo. */
|
|
27
|
+
export function _clearEnrichCache_TEST_ONLY() {
|
|
28
|
+
residenceCache.clear();
|
|
29
|
+
}
|
|
30
|
+
function mtimeOrNull(p) {
|
|
31
|
+
try {
|
|
32
|
+
return statSync(p).mtimeMs;
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Append-id residence sets for a project's tracked + outbox pair, memoized
|
|
40
|
+
* by both mtimes (5 s soft TTL, same shape as the triage-store cache) so a
|
|
41
|
+
* polling GET costs two stat() calls, not two file parses (external review
|
|
42
|
+
* OAI4/Gem1). The residence key is the triage item id (`trg-…`) of `append`
|
|
43
|
+
* events — identical to Python `_append_ids_at` (OAI2/Gem4). A missing file
|
|
44
|
+
* yields an empty set via `appendIdsInFile`'s tolerant reader (OAI7/Gem2).
|
|
45
|
+
*
|
|
46
|
+
* Deliberately NOT evicted by a writer: WebUI
|
|
47
|
+
* writes are exclusively `status` events, which never change append-id sets
|
|
48
|
+
* (and the write bumps the file mtime anyway, which misses this memo on the
|
|
49
|
+
* next call). Do not "fix" the asymmetry.
|
|
50
|
+
*/
|
|
51
|
+
function residenceSets(trackedPath) {
|
|
52
|
+
const outboxPath = outboxPathFor(trackedPath);
|
|
53
|
+
const trackedMtimeMs = mtimeOrNull(trackedPath);
|
|
54
|
+
const outboxMtimeMs = mtimeOrNull(outboxPath);
|
|
55
|
+
const cached = residenceCache.get(trackedPath);
|
|
56
|
+
if (cached &&
|
|
57
|
+
cached.trackedMtimeMs === trackedMtimeMs &&
|
|
58
|
+
cached.outboxMtimeMs === outboxMtimeMs &&
|
|
59
|
+
Date.now() - cached.filledAt < RESIDENCE_TTL_MS) {
|
|
60
|
+
return cached;
|
|
61
|
+
}
|
|
62
|
+
const entry = {
|
|
63
|
+
trackedMtimeMs,
|
|
64
|
+
outboxMtimeMs,
|
|
65
|
+
filledAt: Date.now(),
|
|
66
|
+
trackedIds: appendIdsInFile(trackedPath),
|
|
67
|
+
outboxIds: appendIdsInFile(outboxPath),
|
|
68
|
+
};
|
|
69
|
+
residenceCache.set(trackedPath, entry);
|
|
70
|
+
return entry;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Annotate every item with a CONCRETE `pendingDelivery` boolean (never
|
|
74
|
+
* undefined — external review OAI1): `true` iff the item's `append` lives
|
|
75
|
+
* ONLY in the gitignored per-tree outbox buffer, i.e. it has not yet been
|
|
76
|
+
* swept into the tracked log and "ships with the next iterate" PR.
|
|
77
|
+
* TRACKED-PREFERRED: an id present in BOTH files (post-sweep, pre-GC) is
|
|
78
|
+
* NOT pending — parallels `triage.mark_status` residence derivation.
|
|
79
|
+
* Status-independent by design (OAI9): closed items get the flag too; the
|
|
80
|
+
* inbox UI only renders open items.
|
|
81
|
+
*/
|
|
82
|
+
export function enrichPendingDelivery(items, trackedPath) {
|
|
83
|
+
const { trackedIds, outboxIds } = residenceSets(trackedPath);
|
|
84
|
+
for (const it of items) {
|
|
85
|
+
it.pendingDelivery = outboxIds.has(it.id) && !trackedIds.has(it.id);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* FR-01.33 — annotate triage items with the campaign that expands them
|
|
90
|
+
* (campaignSlug + campaignStatus). Server-side join via the injected
|
|
91
|
+
* `listCampaignRefs` dep so the route module imports no campaign code
|
|
92
|
+
* (preserves the campaigns-no-triage-coupling boundary). Best-effort — a
|
|
93
|
+
* thrown dep never fails the triage list. Deterministic when multiple
|
|
94
|
+
* campaigns share an `expandsTriage`: prefer draft, then active, then
|
|
95
|
+
* first seen.
|
|
96
|
+
*/
|
|
97
|
+
export function enrichWithCampaignRefs(items, projectId, listCampaignRefs) {
|
|
98
|
+
if (!listCampaignRefs)
|
|
99
|
+
return;
|
|
100
|
+
let refs;
|
|
101
|
+
try {
|
|
102
|
+
refs = listCampaignRefs(projectId);
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
if (!refs.length)
|
|
108
|
+
return;
|
|
109
|
+
const rank = (s) => s === "draft" ? 0 : s === "active" ? 1 : 2;
|
|
110
|
+
const byTriage = new Map();
|
|
111
|
+
for (const r of refs) {
|
|
112
|
+
if (!r.expandsTriage)
|
|
113
|
+
continue;
|
|
114
|
+
const existing = byTriage.get(r.expandsTriage);
|
|
115
|
+
if (!existing || rank(r.status) < rank(existing.status)) {
|
|
116
|
+
byTriage.set(r.expandsTriage, { slug: r.slug, status: r.status });
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
for (const it of items) {
|
|
120
|
+
const ref = byTriage.get(it.id);
|
|
121
|
+
if (ref) {
|
|
122
|
+
it.campaignSlug = ref.slug;
|
|
123
|
+
it.campaignStatus = ref.status;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=triage-enrich.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triage-enrich.js","sourceRoot":"","sources":["../../src/core/triage-enrich.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type TriageLockRelease = () => Promise<void>;
|
|
2
|
+
/**
|
|
3
|
+
* Build a collision-safe lock helper. Locking path `p`
|
|
4
|
+
* coordinates via a `<p>.weblock` directory — never the `<p>.lock`
|
|
5
|
+
* path the Python `_FileLock` sidecar occupies.
|
|
6
|
+
*
|
|
7
|
+
* @param retries proper-lockfile retry budget. Default 3 (production —
|
|
8
|
+
* rides out transient webui-vs-webui contention from another tab).
|
|
9
|
+
* Tests pass 0 for deterministic fast-fail on contention.
|
|
10
|
+
*/
|
|
11
|
+
export declare function createTriageLock(retries?: number): (p: string) => Promise<TriageLockRelease>;
|
|
12
|
+
//# sourceMappingURL=triage-lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triage-lock.d.ts","sourceRoot":"","sources":["../../src/core/triage-lock.ts"],"names":[],"mappings":"AA8BA,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,SAAI,GACV,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAG3C"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* triage-lock.ts — collision-safe proper-lockfile factory for legacy
|
|
3
|
+
* Node-owned stores (ADR-106, iterate-20260515-triage-promote-500).
|
|
4
|
+
*
|
|
5
|
+
* Why this exists:
|
|
6
|
+
* `<project>/.shipwright/triage.jsonl` is locked by TWO independent,
|
|
7
|
+
* non-composable primitives:
|
|
8
|
+
* - shipwright Python producer hooks (compliance / Phase-Quality /
|
|
9
|
+
* drift) lock via `_FileLock`, which leaves a REGULAR FILE
|
|
10
|
+
* sidecar at `<file>.lock`;
|
|
11
|
+
* - the webui locks via `proper-lockfile`, whose DEFAULT lockfile
|
|
12
|
+
* path is also `<file>.lock` — but proper-lockfile expects a
|
|
13
|
+
* DIRECTORY there.
|
|
14
|
+
* When the Python regular-file sidecar is present, `proper-lockfile`
|
|
15
|
+
* does `mkdir(<file>.lock)` → `EEXIST`, then (a regular file is not a
|
|
16
|
+
* removable stale lock-dir) exhausts its retries and throws
|
|
17
|
+
* `ELOCKED`. Every webui triage write 500s. The Python sidecar
|
|
18
|
+
* persists on disk, so the collision is permanent — not a race.
|
|
19
|
+
*
|
|
20
|
+
* Fix: route a Node store's lockfile to `<file>.weblock` so the two
|
|
21
|
+
* primitives occupy disjoint paths. Triage transition safety now rests on
|
|
22
|
+
* the Python CLI; this helper remains for other Node-owned stores.
|
|
23
|
+
*
|
|
24
|
+
* This factory is the single, tested home of the `.weblock` decision —
|
|
25
|
+
* Current users include campaign and dismissed-campaign stores. Triage routes
|
|
26
|
+
* do not use this helper: they execute the Python CLI for every transition.
|
|
27
|
+
*/
|
|
28
|
+
import * as lockfile from "proper-lockfile";
|
|
29
|
+
/**
|
|
30
|
+
* Build a collision-safe lock helper. Locking path `p`
|
|
31
|
+
* coordinates via a `<p>.weblock` directory — never the `<p>.lock`
|
|
32
|
+
* path the Python `_FileLock` sidecar occupies.
|
|
33
|
+
*
|
|
34
|
+
* @param retries proper-lockfile retry budget. Default 3 (production —
|
|
35
|
+
* rides out transient webui-vs-webui contention from another tab).
|
|
36
|
+
* Tests pass 0 for deterministic fast-fail on contention.
|
|
37
|
+
*/
|
|
38
|
+
export function createTriageLock(retries = 3) {
|
|
39
|
+
return (p) => lockfile.lock(p, { retries, lockfilePath: `${p}.weblock` });
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=triage-lock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triage-lock.js","sourceRoot":"","sources":["../../src/core/triage-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAI5C;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAO,GAAG,CAAC;IAEX,OAAO,CAAC,CAAS,EAAE,EAAE,CACnB,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
interface Upstream {
|
|
2
|
+
/** Full ref, e.g. `refs/remotes/origin/main`. */
|
|
3
|
+
ref: string;
|
|
4
|
+
remote: string;
|
|
5
|
+
branch: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Resolve the checked-out branch's upstream via `@{u}` (never hardcodes
|
|
9
|
+
* origin/main — respects a different remote, a feature branch, etc.). Returns
|
|
10
|
+
* null when there is no upstream (detached HEAD, unset tracking, non-repo).
|
|
11
|
+
*/
|
|
12
|
+
export declare function resolveUpstream(projectRoot: string): Upstream | null;
|
|
13
|
+
/** Test-only — clear caches + in-flight/cooldown state. */
|
|
14
|
+
export declare function _resetOriginState_TEST_ONLY(): void;
|
|
15
|
+
/**
|
|
16
|
+
* The parsed `origin/<default>:.shipwright/triage.jsonl` snapshot, cached by the
|
|
17
|
+
* upstream ref SHA so `git show` re-runs only when the ref moves. Returns:
|
|
18
|
+
* - `Record[]` (possibly empty) when the upstream ref resolves — empty means
|
|
19
|
+
* the ref has no triage file yet (origin available, nothing delivered).
|
|
20
|
+
* - `null` when there is no upstream / git failed → the composer degrades to
|
|
21
|
+
* the local-only union.
|
|
22
|
+
*/
|
|
23
|
+
export declare function originSnapshot(projectRoot: string, upstream: Upstream): Record<string, unknown>[] | null;
|
|
24
|
+
/** Commits the local checkout is BEHIND its upstream (for the staleness banner).
|
|
25
|
+
* Local op, no network. Null on any failure. */
|
|
26
|
+
export declare function localBehindCount(projectRoot: string): number | null;
|
|
27
|
+
/**
|
|
28
|
+
* Kick a background `git fetch <remote> <branch>` if none is in flight for this
|
|
29
|
+
* repo and the cooldown has elapsed. NEVER blocks and NEVER throws into the
|
|
30
|
+
* caller — the current request serves the cached snapshot; the next read after
|
|
31
|
+
* the fetch lands picks up the new SHA. Detached from the request lifecycle.
|
|
32
|
+
*/
|
|
33
|
+
export declare function scheduleFetch(projectRoot: string, upstream: Upstream): void;
|
|
34
|
+
export interface DeliveredOrigin {
|
|
35
|
+
/** Origin raw lines for the composer, or null to degrade to local-only. */
|
|
36
|
+
originRawLines: Record<string, unknown>[] | null;
|
|
37
|
+
/** True when the upstream ref resolved (origin snapshot is authoritative). */
|
|
38
|
+
originAvailable: boolean;
|
|
39
|
+
/** Commits the local checkout is behind upstream (banner), or null. */
|
|
40
|
+
localBehind: number | null;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Load the delivered-origin snapshot for a project root and schedule a
|
|
44
|
+
* background fetch. `enabled === false` (feature flag off) short-circuits to a
|
|
45
|
+
* pure local-only degrade. Any git failure also degrades. This function is
|
|
46
|
+
* synchronous and non-blocking on the network (the fetch is fire-and-forget).
|
|
47
|
+
*/
|
|
48
|
+
export declare function loadDeliveredOrigin(projectRoot: string, opts: {
|
|
49
|
+
enabled: boolean;
|
|
50
|
+
}): DeliveredOrigin;
|
|
51
|
+
export {};
|
|
52
|
+
//# sourceMappingURL=triage-origin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triage-origin.d.ts","sourceRoot":"","sources":["../../src/core/triage-origin.ts"],"names":[],"mappings":"AAiEA,UAAU,QAAQ;IAChB,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAUpE;AAUD,2DAA2D;AAC3D,wBAAgB,2BAA2B,IAAI,IAAI,CAIlD;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAcxG;AAED;iDACiD;AACjD,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMnE;AAOD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAwC3E;AAID,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;IACjD,8EAA8E;IAC9E,eAAe,EAAE,OAAO,CAAC;IACzB,uEAAuE;IACvE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAQD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GACzB,eAAe,CAWjB"}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triage-origin.js","sourceRoot":"","sources":["../../src/core/triage-origin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type TriagePathError = {
|
|
2
|
+
reason: "missing_project_path" | "synthesized_project" | "path_traversal" | "project_root_not_directory";
|
|
3
|
+
};
|
|
4
|
+
export type TriagePathResult = {
|
|
5
|
+
ok: true;
|
|
6
|
+
absolute: string;
|
|
7
|
+
existed: boolean;
|
|
8
|
+
} | {
|
|
9
|
+
ok: false;
|
|
10
|
+
error: TriagePathError;
|
|
11
|
+
};
|
|
12
|
+
export interface TriagePathProject {
|
|
13
|
+
path: string;
|
|
14
|
+
synthesized?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Derive the per-tree outbox path that sits alongside an already-resolved
|
|
18
|
+
* tracked `triage.jsonl` path. The outbox lives in the SAME `.shipwright`
|
|
19
|
+
* directory that `resolveTriagePath` already realpath-guarded, so it
|
|
20
|
+
* inherits that traversal protection — there is no new path-guard surface.
|
|
21
|
+
* Pass the `absolute` from a successful `resolveTriagePath` result.
|
|
22
|
+
*/
|
|
23
|
+
export declare function outboxPathFor(trackedAbsolute: string): string;
|
|
24
|
+
export declare function resolveTriagePath(project: TriagePathProject): TriagePathResult;
|
|
25
|
+
//# sourceMappingURL=triage-paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triage-paths.d.ts","sourceRoot":"","sources":["../../src/core/triage-paths.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EACF,sBAAsB,GACtB,qBAAqB,GACrB,gBAAgB,GAChB,4BAA4B,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACxB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAChD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,CAAC;AAc1C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,CA0E9E"}
|