@overdeck/desktop 0.45.16 → 0.45.19
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/dist-electron/main.js +149 -158
- package/dist-electron/main.js.map +1 -1
- package/dist-electron/preload.js +17 -2
- package/dist-electron/preload.js.map +1 -1
- package/package.json +5 -4
- package/server/acceptance-criteria-DQqRIuQ-.js +62 -0
- package/server/{advancing-selfheal-DJYAvGv-.js → advancing-selfheal-BYidNkmp.js} +6 -6
- package/server/{agent-gc-D0wDIeV1.js → agent-gc-ClNQLl_V.js} +3 -3
- package/server/agent-state-BMrpX7kU.js +3 -0
- package/server/{agent-state-service-DFslS5go.js → agent-state-service-BpAKmodj.js} +5 -5
- package/server/{agent-state-service-CZrayD_G.js → agent-state-service-CC9NMIWn.js} +1 -1
- package/server/{briefing-freshness-DESTCWo-.js → agents--ljN-wVY.js} +5 -131
- package/server/agents-DAUyr_Z1.js +3 -0
- package/server/{archive-planning-CoyIbgGK.js → archive-planning-2w8WQaeJ.js} +1 -1
- package/server/{archive-planning-CbghE9-o.js → archive-planning-BW3te5Vw.js} +5 -10
- package/server/{artifact-index-jobs-CcSrUoSE.js → artifact-index-jobs-DFO3eceF.js} +2 -2
- package/server/{backlog-auto-trigger-BfgDsII0.js → backlog-auto-trigger-DECBMxLq.js} +2 -2
- package/server/{behavior-BTpYbAv4.js → behavior-CWqNMqE5.js} +2 -2
- package/server/briefing-freshness-B1delh4l.js +131 -0
- package/server/{checkpoint-manager-DWSXooZV.js → checkpoint-manager-CjLY6A4r.js} +1 -1
- package/server/{checkpoint-manager-BwFdegJF.js → checkpoint-manager-D6_71Rpb.js} +3 -3
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-BtUonbs3.js → checkpoints-BYrLxVle.js} +2 -2
- package/server/{checkpoints-fjadfOKF.js → checkpoints-xSuv4v4I.js} +1 -1
- package/server/{claude-hooks-provision-DiK62u0k.js → claude-hooks-provision-DL6yfJB_.js} +1 -1
- package/server/{claude-hooks-provision-DAtxutOs.js → claude-hooks-provision-DvfVZbbT.js} +2 -2
- package/server/{claude-permissions-CThLgf8d.js → claude-permissions-CcncrTNF.js} +2 -2
- package/server/{claude-settings-overlay-BF9MPIwx.js → claude-settings-overlay-1IfYetv2.js} +2 -2
- package/server/{claude-settings-overlay-Dx_Uqcmv.js → claude-settings-overlay-Ca3LXjAC.js} +1 -1
- package/server/cli-BxZHwgRK.js +3 -0
- package/server/{cli-ByKIIMfT.js → cli-DGZWYXio.js} +9 -9
- package/server/{cliproxy-B4c1BUvs.js → cliproxy-Dw42Xy3t.js} +2 -2
- package/server/{cliproxy-C_GuT5DU.js → cliproxy-DziJLbfo.js} +1 -1
- package/server/{close-issue-BOuLKr6e.js → close-issue-DEGjxifn.js} +5 -5
- package/server/{closed-issue-reaper-DCAYzNXW.js → closed-issue-reaper-BsJ3JqQy.js} +9 -9
- package/server/{closed-issue-reaper-CksfuiFD.js → closed-issue-reaper-CNr7X4MB.js} +1 -1
- package/server/codex-C8OlW-dN.js +3 -0
- package/server/{codex-BbqIRZjd.js → codex-D5RyWzNL.js} +43 -18
- package/server/{codex-parser-mFYZh8vR.js → codex-parser-BRxvUkk8.js} +2 -2
- package/server/{config-Dj6N8EP9.js → config-CQ2u44iP.js} +1 -1
- package/server/{config-DVLdmnMJ.js → config-Cntj_tFu.js} +2 -2
- package/server/{config-yaml-cNOZcEww.js → config-yaml-BQs6GbD_.js} +75 -74
- package/server/{conflict-gate-CuXUv-bP.js → conflict-gate-BE6JdfkO.js} +1 -1
- package/server/{conflict-gate-BMKm_5DV.js → conflict-gate-DdfwKgy0.js} +3 -3
- package/server/{context-layers-c0JqYHcS.js → context-layers-DFucrVVG.js} +17 -3
- package/server/{context-layers-CeAwSYNt.js → context-layers-DO0Eyq2E.js} +2 -2
- package/server/{control-settings-D4EFsRBd.js → control-settings-bxOCLsuE.js} +4 -4
- package/server/{conversation-compaction-BCggyih4.js → conversation-compaction-Dq6MfZdL.js} +8 -8
- package/server/{conversation-compaction-kHVfVRg3.js → conversation-compaction-lSlUb-cU.js} +1 -1
- package/server/{conversation-service-BTzObqGi.js → conversation-service-BVt4MQ1_.js} +1 -1
- package/server/{conversation-service-B8LFQQm1.js → conversation-service-TZsQjkjT.js} +6 -6
- package/server/{conversations-B-lcHv-5.js → conversations-CxOWHNzv.js} +4 -4
- package/server/{conversations-BM7zlXjr.js → conversations-DaF6elGK.js} +1 -1
- package/server/{cost-BcpRQ-7o.js → cost-Dlh0IEiv.js} +3 -3
- package/server/{cost-D9kPIY_5.js → cost-oinpUqvE.js} +2 -2
- package/server/{cost-sync-DF6odxK9.js → cost-sync-CVIAsrhB.js} +3 -3
- package/server/{dag-DKI3sOmX.js → dag-ClFr7Bah.js} +7 -243
- package/server/{dangerous-git-ops-Bn18PEcN.js → dangerous-git-ops-q5OPtXMd.js} +1 -1
- package/server/dashboard-db-worker.js +6 -6
- package/server/{deacon-DONuopff.js → deacon-B8ygB3e8.js} +3 -3
- package/server/{deacon-DdARMjZq.js → deacon-D2-xTesT.js} +233 -162
- package/server/{deacon-nudge-log-B-naf89q.js → deacon-nudge-log-ilDfxrhK.js} +1 -1
- package/server/deacon-swarm-1vPLuj_l.js +2 -0
- package/server/{deacon-swarm-BNGkmYR_.js → deacon-swarm-yWKQhxiX.js} +298 -72
- package/server/deacon.js +14 -7
- package/server/{devcontainer-renderer-C-34Sxyz.js → devcontainer-renderer-xPhZHCrx.js} +3 -3
- package/server/{dist-BMXvKiZP.js → dist-BwlEiLCU.js} +1 -1
- package/server/dist-Bx4KkgYL.js +3 -0
- package/server/{dist-src-BgGUblXg.js → dist-src-BE0Denfs.js} +1 -1
- package/server/{docker-apZ9pBYw.js → docker-DPEglAwA.js} +2 -2
- package/server/{ensure-devcontainer-Bqi1EF1P.js → ensure-devcontainer-SzSvEdKq.js} +4 -4
- package/server/{ensure-devcontainer-Dq3KoOIl.js → ensure-devcontainer-wU3ym1b5.js} +1 -1
- package/server/{esm-shims-BEjvINX3.js → esm-shims-Cso7IGBC.js} +1 -1
- package/server/{event-store-CqDgfbAs.js → event-store-BZoXexYS.js} +1 -1
- package/server/{event-store-D89fMfXS.js → event-store-D4s6eQ6o.js} +3 -3
- package/server/{events-rIGncmP1.js → events-Bn-wdUBF.js} +1 -1
- package/server/{events-S_C0pvl6.js → events-D1hMLl2a.js} +3 -3
- package/server/{factory-DV18m0rc.js → factory-ltWnu0V_.js} +20 -17
- package/server/{feature-registry-population-CqZSnqQi.js → feature-registry-population-xj-J1Wm7.js} +4 -4
- package/server/{feature-registry-storage-BeXmNBwK.js → feature-registry-storage-CQZukiLm.js} +2 -2
- package/server/{features-u5XeMaOK.js → features-Dyqi6N8f.js} +2 -2
- package/server/{feedback-target-DDG1PWl3.js → feedback-target-Ba0zhSYI.js} +1 -1
- package/server/{feedback-target-CwyWf0Dg.js → feedback-target-Chd5dm-Q.js} +9 -7
- package/server/{feedback-writer-BsJiw5aT.js → feedback-writer-BtaoJGl2.js} +1 -1
- package/server/{feedback-writer-D20HSXre.js → feedback-writer-BujzReaQ.js} +4 -4
- package/server/{flywheel-Dczmgchd.js → flywheel-FTInS73X.js} +15 -28
- package/server/{flywheel-RCnHAgc4.js → flywheel-bTImiVrk.js} +1 -1
- package/server/{flywheel-merge-order-CtCYsFJP.js → flywheel-merge-order-DuenRJLZ.js} +6 -6
- package/server/{flywheel-merge-order-DEtEd3aK.js → flywheel-merge-order-O5Zu8iPw.js} +1 -1
- package/server/{flywheel-9Y1X7IM-.js → flywheel-rmYbW-lh.js} +13 -13
- package/server/{forge-DFDThFil.js → forge-OWm99lie.js} +22 -12
- package/server/forge-x5lszTd0.js +2 -0
- package/server/{from-NSJypkI8.js → from-B2tOYhYV.js} +1 -1
- package/server/{fts-db-C5A_TTOM.js → fts-db-BRfS5ukG.js} +2 -2
- package/server/{fts-operations-DvCSimfU.js → fts-operations-L5sNLoHl.js} +2 -2
- package/server/{git-utils-C0neHvQx.js → git-utils-BIEzv2Zp.js} +1 -1
- package/server/{git-utils-Dr0L7mFk.js → git-utils-CP-bg-aM.js} +2 -2
- package/server/{github-app-u9-SX7Gc.js → github-app-CRUIvHuM.js} +8 -3
- package/server/{github-app-Bwt9lK4A.js → github-app-Dtn4ib6M.js} +1 -1
- package/server/{github-client-Btyy3uan.js → github-client-CWEFlCqL.js} +3 -3
- package/server/{github-client-Do3k-N1W.js → github-client-DSVv6wX8.js} +1 -1
- package/server/{github-pr-lookup-DOF1U2WW.js → github-pr-lookup-D6CS9vtG.js} +2 -2
- package/server/{harness-resolve-C6g2R0Cd.js → harness-resolve-ScD6rV47.js} +3 -3
- package/server/{health-events-Bos3sk5g.js → health-events-DbcJmYmd.js} +1 -1
- package/server/{health-events-B4u-2a9m.js → health-events-Dm1Vcvqe.js} +2 -2
- package/server/{hooks-uEr8WTx_.js → hooks-B6gaI6Kg.js} +1 -1
- package/server/{hooks-BCoOjL_R.js → hooks-VXuCnzCv.js} +3 -3
- package/server/hume-B4seN95Y.js +3 -0
- package/server/{hume-BqxYKbUf.js → hume-BRhNKyXQ.js} +2 -2
- package/server/{idle-stack-reaper-H0W6XtHh.js → idle-stack-reaper-Gv32ZCrQ.js} +1 -1
- package/server/{idle-stack-reaper-DbZ8ukMd.js → idle-stack-reaper-po700Lfg.js} +2 -2
- package/server/{infra-Ba9mS6e6.js → infra-DYwIXlK5.js} +9 -4
- package/server/{injection-C1DKXeIZ.js → injection-CTfFnpsG.js} +1 -1
- package/server/{injection-yrMBxzVq.js → injection-DPsUoCJp.js} +7 -7
- package/server/inspect-agent-B25IP-0O.js +2 -0
- package/server/{inspect-agent-B-mnb4uh.js → inspect-agent-CLkwfLRx.js} +35 -67
- package/server/{internal-token-BtqSbKTx.js → internal-token--50JhWP7.js} +2 -2
- package/server/{internal-token-BPYEaXFh.js → internal-token-BOgxXMGy.js} +1 -1
- package/server/{io-VEGSAqsd.js → io-Cv9xQTks.js} +36 -43
- package/server/{issue-closed-BxcePXL-.js → issue-closed-CyqtoFUj.js} +41 -6
- package/server/{issue-lifecycle-CdMUauyb.js → issue-lifecycle-Cm7ydBGK.js} +1 -1
- package/server/{issue-lifecycle--8MRxrG1.js → issue-lifecycle-DR6n40bh.js} +22 -37
- package/server/{issue-service-singleton-MZsDhAob.js → issue-service-singleton--LQ5c2zT.js} +1 -1
- package/server/{issue-service-singleton-CkTUI-eu.js → issue-service-singleton-DKKPneH4.js} +29 -29
- package/server/{issues-CBAsuoAO.js → issues-Cr-BLFLO.js} +2 -2
- package/server/{jsonl-parser-BUW5_sSK.js → jsonl-parser-Bp_xCkX4.js} +3 -3
- package/server/{label-cleanup-htK6fBRU.js → label-cleanup-BbLy2FZe.js} +3 -3
- package/server/{state-home-CEvD_v5F.js → launcher-generator-C-FU4PNT.js} +7 -127
- package/server/{layers-jjL16At6.js → layers-C-6lBDUE.js} +2 -2
- package/server/lifecycle-Bmw8yU_A.js +12 -0
- package/server/{lifecycle-io-DXv8Utct.js → lifecycle-io-B150XprC.js} +1 -1
- package/server/{lifecycle-io-IehcRt2v.js → lifecycle-io-Dcu-_ktz.js} +4 -4
- package/server/{linear-client-D9cSQfvD.js → linear-client-BHjs0luk.js} +3 -3
- package/server/{linear-client-By7hjwuN.js → linear-client-s65LNmlG.js} +1 -1
- package/server/memory-fts-worker.js +1 -1
- package/server/{merge-BLcEZNXz.js → merge-CM8swd2V.js} +1 -1
- package/server/{merge-BN8FGJ2q.js → merge-CS0b-E3u.js} +3 -3
- package/server/{merge-agent-B3u2szOL.js → merge-agent-Bu1hw9cz.js} +64 -51
- package/server/{merge-agent-ejC7Wos8.js → merge-agent-D6LRIW63.js} +1 -1
- package/server/{merge-batch-DyqlgYGp.js → merge-batch-Bv6Z5K2H.js} +1 -1
- package/server/{merge-blockers-cq-aS2KG.js → merge-blockers-Dt43hJiW.js} +2 -2
- package/server/merge-ops-DwYi3U_x.js +2 -0
- package/server/{merge-rebase-Dl7yIxtV.js → merge-rebase-B3vQcTq1.js} +2 -2
- package/server/{merge-set-Dy0D0r3i.js → merge-set-BMEGEKQg.js} +1 -1
- package/server/{merge-set-CZ9Nbay0.js → merge-set-Pe3spe8k.js} +3 -3
- package/server/{merge-sync-CG9kDCdT.js → merge-sync-CpxFRIQ7.js} +1 -1
- package/server/{merge-sync-D7jWLgCC.js → merge-sync-STpg1hk3.js} +2 -2
- package/server/{merge-train-CH33XJOH.js → merge-train-DLw2hDk0.js} +3 -3
- package/server/{merge-train-deps-JoVdGnOg.js → merge-train-deps-BlCGLqwy.js} +4 -4
- package/server/{merge-verification-D4wTChdX.js → merge-verification-C4WMP40D.js} +4 -4
- package/server/{multipart-parser-Csn8U-K9.js → multipart-parser-9DhuAkPd.js} +2 -2
- package/server/node_modules/.package-lock.json +11 -11
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +3 -3
- package/server/node_modules/toml/README.md +54 -0
- package/server/node_modules/toml/index.d.ts +42 -1
- package/server/node_modules/toml/index.js +3 -3
- package/server/node_modules/toml/lib/compiler.js +35 -3
- package/server/node_modules/toml/lib/parser.js +224 -143
- package/server/node_modules/toml/package.json +3 -1
- package/server/node_modules/ws/lib/receiver.js +15 -32
- package/server/node_modules/ws/lib/websocket-server.js +4 -4
- package/server/node_modules/ws/lib/websocket.js +4 -4
- package/server/node_modules/ws/package.json +5 -1
- package/server/{orphan-proposed-reconciler-BIcNu4tl.js → orphan-proposed-reconciler-eetUXmmt.js} +1 -1
- package/server/{orphan-proposed-reconciler-DI_IS1p_.js → orphan-proposed-reconciler-k9eydM1E.js} +14 -24
- package/server/package-lock.json +12 -12
- package/server/package.json +1 -1
- package/server/{pan-dir-CQIfKG8c.js → pan-dir-D3vABXMs.js} +4 -4
- package/server/{paths-Blj6A9AJ.js → paths-DIoslfsu.js} +2 -2
- package/server/{pipeline-notifier-BH4PAi-w.js → pipeline-notifier-Bgidcelx.js} +1 -1
- package/server/{pipeline-notifier-D_WYtEwl.js → pipeline-notifier-CuBONomU.js} +2 -2
- package/server/{project-pipelines-jMTitpeO.js → project-pipelines-B9b_JVTS.js} +2 -2
- package/server/projects-DxMUi2eI.js +3 -0
- package/server/{prompts-B3njaImU.js → prompts-CY1xnHS-.js} +2 -2
- package/server/{providers-DnPxkHoG.js → providers-B7BNcK_j.js} +1 -1
- package/server/{providers-BbEyFhPX.js → providers-CAlK2If5.js} +7 -7
- package/server/public/assets/{chunk-BO2N2NFS-3qh9TUJi.js → chunk-BO2N2NFS-DzKZyoKY.js} +4 -4
- package/server/public/assets/{diagram-OG6HWLK6-D8UVTPj7.js → diagram-OG6HWLK6-Cx8mWUb8.js} +1 -1
- package/server/public/assets/{dist-BvLLn1YC.js → dist-BqccLhaw.js} +3 -3
- package/server/public/assets/{dist-CyubL7Wj.js → dist-rC3nAs_O.js} +1 -1
- package/server/public/assets/{ganttDiagram-6RSMTGT7-BI4E1LbQ.js → ganttDiagram-6RSMTGT7-DLYPLf5T.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-D_bapWkF.js → highlighted-body-OFNGDK62-D4DqixbV.js} +1 -1
- package/server/public/assets/index-CPcysUHk.js +796 -0
- package/server/public/assets/index-H5M0yhM4.css +1 -0
- package/server/public/assets/{linear-CEdobObr.js → linear-yqcXkDfj.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-CWdZ_heB.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-DT79L01f.js → pieDiagram-4H26LBE5-DhraIOaV.js} +1 -1
- package/server/public/assets/{prod-CR_K2DFV.js → prod-DKUunUdN.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-BEkKXXrL.js → quadrantDiagram-W4KKPZXB-DPiRcToa.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-BxSCqn-j.js → sankeyDiagram-5OEKKPKP-3An5HNkZ.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-DicwJGG_.js → xychartDiagram-2RQKCTM6-lbEOjfqQ.js} +1 -1
- package/server/public/index.html +2 -2
- package/server/{pull-requests-43LPDfM8.js → pull-requests-Cs4VLxiY.js} +1 -1
- package/server/{pull-requests-DyUkQl4W.js → pull-requests-CxfrQiWX.js} +3 -3
- package/server/{agents-B9GwfCyp.js → queries-srgusoi8.js} +710 -325
- package/server/{rally-BtWjybOa.js → rally-AKkjuGdi.js} +3 -3
- package/server/rally-BOza5j3_.js +3 -0
- package/server/{rally-api-B-osULNL.js → rally-api-BGxATnyr.js} +2 -2
- package/server/{rally-api-B-YA_oXx.js → rally-api-Dbqw1YW9.js} +1 -1
- package/server/{rally-client-CzFymP7P.js → rally-client-B1U5ewpO.js} +1 -1
- package/server/{rally-client-sErNQBO0.js → rally-client-D8h73ei_.js} +5 -5
- package/server/{reap-terminal-sessions-DnDQ7pf9.js → reap-terminal-sessions-BR39qflC.js} +1 -1
- package/server/{reap-terminal-sessions-2s-fvilz.js → reap-terminal-sessions-CFkuquQj.js} +1 -1
- package/server/{rebuild-stack-CoU-HqZj.js → rebuild-stack-BYdtwS6f.js} +5 -5
- package/server/{rebuild-stack-nGD_nPZo.js → rebuild-stack-Dsm9WjKv.js} +1 -1
- package/server/{reconstruct-cache-Wj8GrYB0.js → reconstruct-cache-D7oM1lNv.js} +6 -6
- package/server/record-BeXdn9Ue.js +3 -0
- package/server/record-update-Cb_pPM-F.js +168 -0
- package/server/record-update-KFiISAmu.js +3 -0
- package/server/recovery-trip-DwbsONZf.js +44 -0
- package/server/{release-engine-CBLQXDlH.js → release-engine-CAai5W0V.js} +5 -5
- package/server/{release-set-BNiqi7hy.js → release-set-vNEAfyDH.js} +3 -3
- package/server/{remote-DW_TWQnr.js → remote-8HlOfuF1.js} +3 -3
- package/server/{remote-DcO9An_f.js → remote-RQMKOL_R.js} +3 -3
- package/server/{remote-agents-C4cyxHQS.js → remote-agents-C4a4DdTj.js} +6 -33
- package/server/{remote-agents-Cv-U-_V8.js → remote-agents-_Z1SAaSK.js} +1 -1
- package/server/{remote-completion-PhXGGFQy.js → remote-completion-CH3igKY8.js} +13 -13
- package/server/resume-Cr34JAXO.js +3 -0
- package/server/{review-agent-Dn-yn7Zj.js → review-agent-CQ7oRh_G.js} +31 -23
- package/server/{review-agent-u5q3ip7H.js → review-agent-CUVj54v0.js} +1 -1
- package/server/{review-artifacts-D4T04aYI.js → review-artifacts-CC3yGv7o.js} +5 -19
- package/server/{review-context-Rc0VDLG_.js → review-context-BuxaAgAd.js} +8 -8
- package/server/{review-monitor-BC--miCO.js → review-monitor-uogOppaW.js} +2 -2
- package/server/{review-status-CG0iDuWa.js → review-status-BoJdyvUQ.js} +1 -1
- package/server/{review-status-Dc1l4dVz.js → review-status-By86XA6Z.js} +38 -62
- package/server/{review-status-enrichment-C1a1OG_1.js → review-status-enrichment-CRQAO27G.js} +3 -3
- package/server/{review-status-sync-CfSixhhX.js → review-status-sync-BI4WhUkF.js} +1 -1
- package/server/{review-status-sync-CAr-hfnJ.js → review-status-sync-DUQmrLkK.js} +2 -2
- package/server/{review-verdict-feedback-CVDbIDBe.js → review-verdict-feedback-BNcGkBRD.js} +8 -8
- package/server/{review-verdict-feedback-D2Q960wX.js → review-verdict-feedback-CWz9_9Kp.js} +1 -1
- package/server/{rollup-CakjztPl.js → rollup-B-K6PCbm.js} +1 -1
- package/server/{rollup-DctoIu-A.js → rollup-CqiFgtBp.js} +8 -8
- package/server/{scanner-BTM1jc_u.js → scanner-BZmDUjyD.js} +7 -7
- package/server/{sequence-io-pnoIDGv4.js → sequence-io-BuUx1ZAY.js} +4 -4
- package/server/{sequencer-agent-9Soi-WL-.js → sequencer-agent-2uWOA_BC.js} +6 -17
- package/server/server.js +4700 -4096
- package/server/{service-DfTVoqJg.js → service-COB19Uhm.js} +116 -90
- package/server/{session-fork-C4jAFHj8.js → session-fork-D18TscUZ.js} +2 -2
- package/server/{session-history-DanhhiCw.js → session-history-DbWnzfo-.js} +4 -4
- package/server/settings-C3w2std9.js +2 -0
- package/server/{settings-Cuc12oP_.js → settings-CFEdfovT.js} +2 -2
- package/server/{settings-DfT3f86D.js → settings-DNPAf2X_.js} +3 -3
- package/server/{shadow-engineering-bKuKTCn-.js → shadow-engineering-D8xTtraU.js} +3 -3
- package/server/{shadow-state-DJz6_pb_.js → shadow-state-CTgub0ME.js} +2 -2
- package/server/{shadow-state-CVHpRWlb.js → shadow-state-fRDYhcyx.js} +1 -1
- package/server/shadow-utils-DqMLnRgQ.js +39 -0
- package/server/{ship-log-CwqPFfqx.js → ship-log-BRQQi2lU.js} +1 -1
- package/server/{smart-compaction-B4KlpZGN.js → smart-compaction-CL6yaFpc.js} +1 -1
- package/server/{smart-compaction-CiWfGfRZ.js → smart-compaction-CsJDKM-N.js} +7 -7
- package/server/{spawn-planning-session-D5N3RuLG.js → spawn-planning-session-C_wIQ-Zg.js} +1 -1
- package/server/{spawn-planning-session-CU-DwyDl.js → spawn-planning-session-D0-NlNK1.js} +16 -16
- package/server/{specialist-completion-CJcv-NXH.js → specialist-completion-pJtESo7m.js} +1 -1
- package/server/{specialist-context-B2HlbNxS.js → specialist-context-DXj5Itg8.js} +5 -5
- package/server/{specialist-handoff-logger-CQyF1ygu.js → specialist-handoff-logger-BFH-IB0n.js} +2 -2
- package/server/{specialist-logs-CdcUpfjj.js → specialist-logs-B-rldhNg.js} +3 -3
- package/server/{specialists-CFgw_0Q6.js → specialists-C6-b3YZb.js} +161 -448
- package/server/{specialists-D7AcFi1u.js → specialists-CI_eqHAz.js} +1 -1
- package/server/{specialists-CwzFdapR.js → specialists-Dp8ABxVh.js} +18 -18
- package/server/{specialists-k22_Btaq.js → specialists-Hq3EojmD.js} +1 -1
- package/server/specs-DPGNVh51.js +3 -0
- package/server/{src-B4TTzNSr.js → src-By3D85Ry.js} +6 -1
- package/server/{src-BvpMg4EB.js → src-CqyFg52C.js} +5 -5
- package/server/{src-D4YUZrwR.js → src-DhxM-eCb.js} +6 -6
- package/server/{stack-health-DVN7zRnL.js → stack-health-Bxt-oGE6.js} +1 -1
- package/server/{stack-health-CSgcYcr8.js → stack-health-FtNYSTCS.js} +2 -2
- package/server/stale-task-claims-DnCHCATD.js +69 -0
- package/server/state-home-BzzKVh_C.js +213 -0
- package/server/{state-mapping-C13UaCL7.js → state-mapping-Ci0pkac4.js} +1 -1
- package/server/state-migrate-BS4IybIS.js +362 -0
- package/server/{stuck-remediation-nTIvhGOR.js → stuck-remediation-CTNT4LUC.js} +1 -1
- package/server/{stuck-remediation-CxsyxwFO.js → stuck-remediation-DbwhGg3g.js} +36 -41
- package/server/{summary-fork-CnRMPCYd.js → summary-fork-CloCB8dV.js} +2 -2
- package/server/{summary-fork-gKSoFAnK.js → summary-fork-DaCs0tCq.js} +8 -8
- package/server/supervisor/{paths-3R6b989k.js → paths-C1yU0jq4.js} +5 -3
- package/server/supervisor/pty-supervisor.js +2 -2
- package/server/supervisor/{pty-token-CScQ32Rj.js → pty-token-CSryb8Mb.js} +2 -2
- package/server/{supervisor-CZMs8s0M.js → supervisor-CRED6PD6.js} +2 -2
- package/server/supervisor-DHwuClN_.js +2 -0
- package/server/{swarm-readiness-h6-pwY8w.js → swarm-readiness-CEOrP9rE.js} +3 -3
- package/server/{system-prerequisites-DZZTi2G6.js → system-prerequisites-Bz6KdkFJ.js} +1 -13
- package/server/{teardown-workspace-B4D-oCVg.js → teardown-workspace-Ckn7HGhp.js} +14 -71
- package/server/{test-agent-queue-CnuYku4B.js → test-agent-queue-C8lE8r2j.js} +5 -5
- package/server/{tldr-daemon-CgZQ3jmZ.js → tldr-daemon-BE5rqR90.js} +1 -1
- package/server/{tldr-daemon-CuA8hz21.js → tldr-daemon-CGwDr28O.js} +2 -2
- package/server/{tmux-C3g9VFcg.js → tmux-C3X2XmV0.js} +92 -4
- package/server/tmux-DNaD06Gc.js +3 -0
- package/server/{token-g_sJ19g3.js → token-Dsa-i36o.js} +2 -2
- package/server/{token-util-DiwnnbJo.js → token-util-BWNpH96m.js} +1 -1
- package/server/token-util-DRt0j2nQ.js +3 -0
- package/server/{tracker-config-dQxC15vH.js → tracker-config-5Cabf1MU.js} +2 -2
- package/server/{tracker-utils--z8FLSWn.js → tracker-utils-Cl-Eaqrv.js} +2 -2
- package/server/{tracker-utils-DkKyRT0H.js → tracker-utils-FexeJhyf.js} +1 -1
- package/server/{tunnel-CN2px87h.js → tunnel-D4px7sKc.js} +1 -1
- package/server/{tunnel-BpWZs0Jy.js → tunnel-KId6Z59z.js} +3 -3
- package/server/typed-errors-CH4roFIj.js +3 -0
- package/server/{typed-errors-sLpGfegz.js → typed-errors-n_Tnb4Fh.js} +3 -4
- package/server/{types-BLS_Zbmd.js → types-DOjWNv3Z.js} +1 -1
- package/server/{types-tlXf80x3.js → types-DXBMm4mX.js} +1 -1
- package/server/{uat-train-BRo6DM7p.js → uat-train-B16skN7L.js} +24 -25
- package/server/{uat-train-utGVmqdm.js → uat-train-BBMrnecu.js} +1 -1
- package/server/validation-Zc4kAmqa.js +3 -0
- package/server/{validation-CsPVsoA0.js → validation-xAD7y5vW.js} +70 -23
- package/server/verification-artifact-DK1xb1zG.js +56 -0
- package/server/verification-artifact-JD_edpZ9.js +2 -0
- package/server/{verification-runner-CMT5WRMS.js → verification-runner-32y8NRfL.js} +338 -58
- package/server/verification-runner-DAat1p1u.js +2 -0
- package/server/{vtt-parser-C_XPlifj.js → vtt-parser-QnRfcjiU.js} +1 -1
- package/server/{work-agent-prompt-ZTAb2Hyf.js → work-agent-prompt-S3Fe1kpV.js} +12 -88
- package/server/{workflows-CXRwhw_o.js → workflows-BNvk5gbE.js} +17 -24
- package/server/workflows-Cw2-a_hn.js +2 -0
- package/server/{workspace-CNfuj1-5.js → workspace-BhUnCpcq.js} +3 -3
- package/server/{workspace-9UEsKuiP.js → workspace-C-gP6JAz.js} +1 -1
- package/server/{workspace-config-ChWOECy0.js → workspace-config-C77NKnsV.js} +1 -1
- package/server/{workspace-manager-D8AByFIT.js → workspace-manager-BKiMmb0c.js} +23 -48
- package/server/{workspace-manager-BO-6k3sP.js → workspace-manager-DD6PDqV8.js} +1 -1
- package/server/{workspace-metadata-CvC268MN.js → workspace-metadata-Cnq0snrf.js} +2 -2
- package/server/{workspace-metadata-DZiJtnuF.js → workspace-metadata-D5gNR61G.js} +1 -1
- package/server/{workspaces-D-uIoqbg.js → workspaces-DiAwBsb9.js} +182 -152
- package/sync-sources/hooks/codex-notify-hook +64 -8
- package/sync-sources/hooks/record-cost-event.js +1110 -37
- package/sync-sources/hooks/record-cost-event.js.map +1 -1
- package/sync-sources/hooks/statusline.sh +2 -2
- package/sync-sources/hooks/work-agent-stop-hook +1 -2
- package/server/acceptance-criteria-BZ_nQS1f.js +0 -33
- package/server/agent-state-lGvgPP4m.js +0 -3
- package/server/agents-CEcaxSkR.js +0 -3
- package/server/auto-commit-IW-eik_b.js +0 -3
- package/server/bd-process-lock-XAXAet9O.js +0 -390
- package/server/beads-B1u04n3o.js +0 -2
- package/server/beads-BeSMEjGT.js +0 -649
- package/server/beads-query-Dl4FhT8J.js +0 -95
- package/server/beads-restore-BUItPOjI.js +0 -23
- package/server/cli-D9cUTbBr.js +0 -3
- package/server/codex-BYPz6ZdF.js +0 -3
- package/server/compact-beads-CyJtoXJi.js +0 -94
- package/server/compact-beads-N00E4EVa.js +0 -3
- package/server/deacon-swarm-CvdFekIO.js +0 -2
- package/server/dist-BNwrgsUO.js +0 -3
- package/server/export-BJHSVwKP.js +0 -87
- package/server/forge-8y6aEPTB.js +0 -2
- package/server/hume-CerGi2RH.js +0 -3
- package/server/inspect-agent-CWkeAB7J.js +0 -2
- package/server/lifecycle-Ck2UR27D.js +0 -14
- package/server/merge-ops-CFkQtXEj.js +0 -2
- package/server/projects-CrBE6IhN.js +0 -3
- package/server/public/assets/index-BAZxZ-8I.js +0 -796
- package/server/public/assets/index-FBG3JBfq.css +0 -1
- package/server/public/assets/mermaid-GHXKKRXX-BYP8MI37.js +0 -1
- package/server/rally-oggyp4cs.js +0 -3
- package/server/record-lEYK__LD.js +0 -3
- package/server/recovery-trip-BT7nb9OV.js +0 -98
- package/server/resolver-C7dLn8OK.js +0 -158
- package/server/resume-BYZBIab-.js +0 -3
- package/server/settings-Cy7SCFO9.js +0 -2
- package/server/specs-RzcDgozr.js +0 -3
- package/server/supervisor-CfX192ma.js +0 -2
- package/server/tmux-By8E_Yv_.js +0 -3
- package/server/token-util-C9u4An3K.js +0 -3
- package/server/tracker-config-BzfVj41Z.js +0 -3
- package/server/typed-errors-CrN1AByg.js +0 -3
- package/server/validation-Dq_wwcw3.js +0 -3
- package/server/verification-runner-D0Uh-9jc.js +0 -2
- package/server/workflows-BLwxUMP7.js +0 -2
- package/server/writer-BUweuRPx.js +0 -3
- package/server/writer-CrP2xuBn.js +0 -251
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as postUatGenerationStackPayload, c as startUatTrainReconciler, i as postUatGenerationPromotePayload, l as stopUatTrainReconciler, n as getUatCandidatePayload, o as resolveUatProjectRoot, r as getUatGenerationsPayload, s as runUatTrainReconcile, t as canStartUatTrainReconciler } from "./uat-train-
|
|
1
|
+
import { a as postUatGenerationStackPayload, c as startUatTrainReconciler, i as postUatGenerationPromotePayload, l as stopUatTrainReconciler, n as getUatCandidatePayload, o as resolveUatProjectRoot, r as getUatGenerationsPayload, s as runUatTrainReconcile, t as canStartUatTrainReconciler } from "./uat-train-B16skN7L.js";
|
|
2
2
|
export { canStartUatTrainReconciler, getUatCandidatePayload, getUatGenerationsPayload, postUatGenerationPromotePayload, postUatGenerationStackPayload, resolveUatProjectRoot, runUatTrainReconcile, startUatTrainReconciler, stopUatTrainReconciler };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import { f as init_config, m as loadConfigSync } from "./config-
|
|
4
|
-
import { n as init_workspace_config, r as replacePlaceholdersSync } from "./workspace-config-
|
|
2
|
+
import { Sr as init_errors } from "./config-yaml-BQs6GbD_.js";
|
|
3
|
+
import { f as init_config, m as loadConfigSync } from "./config-Cntj_tFu.js";
|
|
4
|
+
import { n as init_workspace_config, r as replacePlaceholdersSync } from "./workspace-config-C77NKnsV.js";
|
|
5
5
|
import { Effect } from "effect";
|
|
6
6
|
import "fs";
|
|
7
7
|
import { join } from "path";
|
|
@@ -25,6 +25,32 @@ function buildQualityGateEnv(gateEnv) {
|
|
|
25
25
|
...gateEnv
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
|
+
function registerGateProcessGroup(pid) {
|
|
29
|
+
if (!pid || process.platform === "win32") return void 0;
|
|
30
|
+
const watchdog = setTimeout(() => {
|
|
31
|
+
console.warn(`[quality-gate] process group ${pid} exceeded timeout+grace — killing group (PAN-2669)`);
|
|
32
|
+
killGateProcessGroup(pid);
|
|
33
|
+
}, GATE_TIMEOUT_MS + GATE_WATCHDOG_GRACE_MS);
|
|
34
|
+
watchdog.unref();
|
|
35
|
+
activeGateProcessGroups.set(pid, watchdog);
|
|
36
|
+
return pid;
|
|
37
|
+
}
|
|
38
|
+
function killGateProcessGroup(pgid) {
|
|
39
|
+
if (!pgid) return;
|
|
40
|
+
const watchdog = activeGateProcessGroups.get(pgid);
|
|
41
|
+
if (watchdog) clearTimeout(watchdog);
|
|
42
|
+
activeGateProcessGroups.delete(pgid);
|
|
43
|
+
try {
|
|
44
|
+
process.kill(-pgid, "SIGKILL");
|
|
45
|
+
} catch {}
|
|
46
|
+
}
|
|
47
|
+
/** PAN-2669: reap every live gate process group — called on server shutdown so
|
|
48
|
+
* restarts never orphan vitest/build trees. */
|
|
49
|
+
function killAllGateProcessGroups() {
|
|
50
|
+
const count = activeGateProcessGroups.size;
|
|
51
|
+
for (const pgid of [...activeGateProcessGroups.keys()]) killGateProcessGroup(pgid);
|
|
52
|
+
return count;
|
|
53
|
+
}
|
|
28
54
|
async function runQualityGatesPromise(gates, projectPath, phase = "pre_push", opts = {}) {
|
|
29
55
|
if (opts.isRemote && !opts.vmName) throw new Error("Remote workspace requires vmName");
|
|
30
56
|
if (opts.isRemote && opts.vmName) {
|
|
@@ -38,10 +64,12 @@ async function runQualityGatesPromise(gates, projectPath, phase = "pre_push", op
|
|
|
38
64
|
const cwd = gate.path ? join(projectPath, gate.path) : projectPath;
|
|
39
65
|
console.log(`[quality-gate] Running "${name}" (${required ? "required" : "optional"}) in ${cwd}`);
|
|
40
66
|
opts.onLog?.(`Running gate "${name}"${required ? "" : " (optional)"}…`);
|
|
67
|
+
opts.onGateStart?.(name);
|
|
41
68
|
const startTime = Date.now();
|
|
42
69
|
if (gate.type === "http_health") {
|
|
43
70
|
const result = await runHttpHealthGate(name, gate, required);
|
|
44
71
|
results.push(result);
|
|
72
|
+
opts.onGateResult?.(result);
|
|
45
73
|
if (!result.passed && required) {
|
|
46
74
|
console.log(`[quality-gate] ✗ Required gate "${name}" failed — stopping`);
|
|
47
75
|
break;
|
|
@@ -71,6 +99,7 @@ async function runQualityGatesPromise(gates, projectPath, phase = "pre_push", op
|
|
|
71
99
|
error: `container ${containerName} is not running`,
|
|
72
100
|
infraUnavailable: true
|
|
73
101
|
});
|
|
102
|
+
opts.onGateResult?.(results[results.length - 1]);
|
|
74
103
|
if (required) break;
|
|
75
104
|
continue;
|
|
76
105
|
}
|
|
@@ -84,6 +113,7 @@ async function runQualityGatesPromise(gates, projectPath, phase = "pre_push", op
|
|
|
84
113
|
error: "docker daemon unreachable",
|
|
85
114
|
infraUnavailable: true
|
|
86
115
|
});
|
|
116
|
+
opts.onGateResult?.(results[results.length - 1]);
|
|
87
117
|
if (required) break;
|
|
88
118
|
continue;
|
|
89
119
|
}
|
|
@@ -96,23 +126,35 @@ async function runQualityGatesPromise(gates, projectPath, phase = "pre_push", op
|
|
|
96
126
|
let lastError = null;
|
|
97
127
|
let passedGate = false;
|
|
98
128
|
let passOutput = "";
|
|
99
|
-
for (let attempt = 1; attempt <= maxAttempts; attempt++)
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
129
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
130
|
+
let gatePgid;
|
|
131
|
+
try {
|
|
132
|
+
const useHostCwd = !isRemote && !(gate.container && gate.container_name);
|
|
133
|
+
const env = buildQualityGateEnv(gate.env);
|
|
134
|
+
const execPromise = execAsync(resolvedCommand, {
|
|
135
|
+
cwd: useHostCwd ? cwd : void 0,
|
|
136
|
+
env,
|
|
137
|
+
maxBuffer: 10 * 1024 * 1024,
|
|
138
|
+
timeout: GATE_TIMEOUT_MS,
|
|
139
|
+
...process.platform !== "win32" ? { detached: true } : {}
|
|
140
|
+
});
|
|
141
|
+
gatePgid = registerGateProcessGroup(execPromise.child.pid);
|
|
142
|
+
if (opts.onGateOutput) {
|
|
143
|
+
execPromise.child.stdout?.on("data", (chunk) => opts.onGateOutput(name, String(chunk)));
|
|
144
|
+
execPromise.child.stderr?.on("data", (chunk) => opts.onGateOutput(name, String(chunk)));
|
|
145
|
+
}
|
|
146
|
+
const { stdout, stderr } = await execPromise;
|
|
147
|
+
killGateProcessGroup(gatePgid);
|
|
148
|
+
passedGate = true;
|
|
149
|
+
passOutput = (stdout + stderr).slice(-2e3);
|
|
150
|
+
break;
|
|
151
|
+
} catch (error) {
|
|
152
|
+
killGateProcessGroup(gatePgid);
|
|
153
|
+
lastError = error;
|
|
154
|
+
if (attempt < maxAttempts) {
|
|
155
|
+
console.log(`[quality-gate] ✗ "${name}" failed attempt ${attempt}/${maxAttempts} — retrying (gate declares retry: ${gate.retry})`);
|
|
156
|
+
opts.onLog?.(`↻ ${name} failed attempt ${attempt}/${maxAttempts} — retrying`);
|
|
157
|
+
}
|
|
116
158
|
}
|
|
117
159
|
}
|
|
118
160
|
if (passedGate) {
|
|
@@ -126,6 +168,7 @@ async function runQualityGatesPromise(gates, projectPath, phase = "pre_push", op
|
|
|
126
168
|
output: passOutput,
|
|
127
169
|
durationMs
|
|
128
170
|
});
|
|
171
|
+
opts.onGateResult?.(results[results.length - 1]);
|
|
129
172
|
} else {
|
|
130
173
|
const error = lastError;
|
|
131
174
|
const durationMs = Date.now() - startTime;
|
|
@@ -140,6 +183,7 @@ async function runQualityGatesPromise(gates, projectPath, phase = "pre_push", op
|
|
|
140
183
|
durationMs,
|
|
141
184
|
error: error.message?.slice(0, 500)
|
|
142
185
|
});
|
|
186
|
+
opts.onGateResult?.(results[results.length - 1]);
|
|
143
187
|
if (required) {
|
|
144
188
|
console.log(`[quality-gate] ✗ Required gate "${name}" failed — stopping`);
|
|
145
189
|
break;
|
|
@@ -194,7 +238,7 @@ async function runHttpHealthGate(name, gate, required) {
|
|
|
194
238
|
};
|
|
195
239
|
}
|
|
196
240
|
}
|
|
197
|
-
var execAsync, DASHBOARD_RUNTIME_ENV_KEYS, DEFAULT_GATES, runQualityGates;
|
|
241
|
+
var execAsync, DASHBOARD_RUNTIME_ENV_KEYS, GATE_TIMEOUT_MS, GATE_WATCHDOG_GRACE_MS, activeGateProcessGroups, DEFAULT_GATES, runQualityGates;
|
|
198
242
|
var init_validation = __esmMin((() => {
|
|
199
243
|
init_workspace_config();
|
|
200
244
|
init_config();
|
|
@@ -205,6 +249,9 @@ var init_validation = __esmMin((() => {
|
|
|
205
249
|
"PORT",
|
|
206
250
|
"DASHBOARD_URL"
|
|
207
251
|
];
|
|
252
|
+
GATE_TIMEOUT_MS = 1200 * 1e3;
|
|
253
|
+
GATE_WATCHDOG_GRACE_MS = 3e4;
|
|
254
|
+
activeGateProcessGroups = /* @__PURE__ */ new Map();
|
|
208
255
|
DEFAULT_GATES = {
|
|
209
256
|
typecheck: { command: "npm run typecheck 2>&1" },
|
|
210
257
|
lint: { command: "npm run lint 2>&1" },
|
|
@@ -213,6 +260,6 @@ var init_validation = __esmMin((() => {
|
|
|
213
260
|
runQualityGates = (gates, projectPath, phase = "pre_push", opts = {}) => Effect.promise(() => runQualityGatesPromise(gates, projectPath, phase, opts));
|
|
214
261
|
}));
|
|
215
262
|
//#endregion
|
|
216
|
-
export { init_validation as n,
|
|
263
|
+
export { runQualityGates as i, init_validation as n, killAllGateProcessGroups as r, DEFAULT_GATES as t };
|
|
217
264
|
|
|
218
|
-
//# sourceMappingURL=validation-
|
|
265
|
+
//# sourceMappingURL=validation-xAD7y5vW.js.map
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
3
|
+
//#region ../../lib/cloister/verification-artifact.ts
|
|
4
|
+
/**
|
|
5
|
+
* Verification gate artifact — the durable record of the most recent
|
|
6
|
+
* quality-gate run for a workspace, written by the verification runner and
|
|
7
|
+
* served to the dashboard's issue-tree Lint node.
|
|
8
|
+
*
|
|
9
|
+
* Lives at `<workspace>/.overdeck/verification-latest.json` (workspace runtime
|
|
10
|
+
* plane, gitignored alongside continue.json). Each run overwrites the previous
|
|
11
|
+
* artifact; history is not kept here — review-status history remains the
|
|
12
|
+
* canonical timeline.
|
|
13
|
+
*/
|
|
14
|
+
const ARTIFACT_RELATIVE_PATH = join(".overdeck", "verification-latest.json");
|
|
15
|
+
function verificationArtifactPath(workspacePath) {
|
|
16
|
+
return join(workspacePath, ARTIFACT_RELATIVE_PATH);
|
|
17
|
+
}
|
|
18
|
+
function writeVerificationArtifact(workspacePath, issueId, gateResults, progress) {
|
|
19
|
+
const failed = gateResults.find((r) => !r.passed && r.required !== false);
|
|
20
|
+
const running = progress !== void 0;
|
|
21
|
+
const artifact = {
|
|
22
|
+
issueId,
|
|
23
|
+
ranAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
24
|
+
outcome: running ? "running" : failed ? "failed" : "passed",
|
|
25
|
+
...running && progress.currentGate ? { currentGate: progress.currentGate } : {},
|
|
26
|
+
...running && progress.currentGateOutput ? { currentGateOutput: progress.currentGateOutput } : {},
|
|
27
|
+
...!running && failed ? { failedCheck: failed.name } : {},
|
|
28
|
+
gates: gateResults.map((r) => ({
|
|
29
|
+
name: r.name,
|
|
30
|
+
passed: r.passed,
|
|
31
|
+
required: r.required !== false,
|
|
32
|
+
durationMs: r.durationMs,
|
|
33
|
+
...r.passed ? {} : { output: r.output },
|
|
34
|
+
...r.error ? { error: r.error } : {}
|
|
35
|
+
}))
|
|
36
|
+
};
|
|
37
|
+
const path = verificationArtifactPath(workspacePath);
|
|
38
|
+
mkdirSync(join(workspacePath, ".overdeck"), { recursive: true });
|
|
39
|
+
writeFileSync(path, JSON.stringify(artifact, null, 2));
|
|
40
|
+
return artifact;
|
|
41
|
+
}
|
|
42
|
+
function readVerificationArtifact(workspacePath) {
|
|
43
|
+
const path = verificationArtifactPath(workspacePath);
|
|
44
|
+
if (!existsSync(path)) return null;
|
|
45
|
+
try {
|
|
46
|
+
const parsed = JSON.parse(readFileSync(path, "utf-8"));
|
|
47
|
+
if (!parsed || !Array.isArray(parsed.gates)) return null;
|
|
48
|
+
return parsed;
|
|
49
|
+
} catch {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
export { verificationArtifactPath as n, writeVerificationArtifact as r, readVerificationArtifact as t };
|
|
55
|
+
|
|
56
|
+
//# sourceMappingURL=verification-artifact-DK1xb1zG.js.map
|