@overdeck/desktop 0.45.21 → 0.45.23
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/package.json +1 -1
- package/server/{acceptance-criteria-CJIFA8Vg.js → acceptance-criteria-DOA0KgXx.js} +5 -5
- package/server/{advancing-selfheal-CPOBO5ZS.js → advancing-selfheal-BBu6DSNm.js} +6 -6
- package/server/{agent-gc-D6PUckBB.js → agent-gc-BV1q_2EV.js} +4 -4
- package/server/agent-state-Bg0lhqwj.js +3 -0
- package/server/{agent-state-service-DHwemt96.js → agent-state-service-CnzFKSAQ.js} +1 -1
- package/server/{agent-state-service-6MFQqnFy.js → agent-state-service-HoK8U4jW.js} +5 -5
- package/server/{agents-DbrHWunF.js → agents-B4Bjbkfv.js} +4 -4
- package/server/agents-FlIgQ3ql.js +3 -0
- package/server/{archive-planning-BOnwJq8M.js → archive-planning-DYrYojxl.js} +31 -7
- package/server/{archive-planning-MPpvQJL4.js → archive-planning-zkJb3BeM.js} +1 -1
- package/server/{artifact-index-jobs-BOoySTKD.js → artifact-index-jobs-C-xy7Z5v.js} +2 -2
- package/server/{backlog-auto-trigger-BUaFI44J.js → backlog-auto-trigger-GtG71X8H.js} +3 -3
- package/server/{behavior-Dg-D8eBG.js → behavior-B_-4EKF3.js} +2 -2
- package/server/{briefing-freshness-OouGbJ7d.js → briefing-freshness-DWdW7vUm.js} +2 -2
- package/server/{build-info-27NlbKhV.js → build-info-BT096lEl.js} +3 -3
- package/server/{build-info-Cv6CI7Gu.js → build-info-DgTqZkL5.js} +1 -1
- package/server/{checkpoint-manager-C7mFCY_E.js → checkpoint-manager-B7Bt29J0.js} +1 -1
- package/server/{checkpoint-manager-D64fCC4p.js → checkpoint-manager-DDqcGyu8.js} +2 -2
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-Vh-J15ge.js → checkpoints-C-AXLfYT.js} +2 -2
- package/server/{checkpoints-DwZqT2qQ.js → checkpoints-CpgCjAlN.js} +1 -1
- package/server/{claude-hooks-provision-CS5W_dhI.js → claude-hooks-provision-C8wdRnN1.js} +1 -1
- package/server/{claude-hooks-provision-BVLGfHrv.js → claude-hooks-provision-but-_qGY.js} +2 -2
- package/server/{claude-permissions-C2OrLYKL.js → claude-permissions-H_5wHQZQ.js} +2 -2
- package/server/{claude-settings-overlay-DWXjafJh.js → claude-settings-overlay-BTENVmYf.js} +1 -1
- package/server/{claude-settings-overlay-DX-fMFpC.js → claude-settings-overlay-CbSz0Dvb.js} +2 -2
- package/server/cli-BsVIHwzC.js +3 -0
- package/server/{cli-mvpEOb3w.js → cli-vBeXbPrq.js} +9 -9
- package/server/{cliproxy-Dvsr4ZkW.js → cliproxy-Bgb2XCqi.js} +2 -2
- package/server/{cliproxy-7g1nObvB.js → cliproxy-DW0V86F8.js} +1 -1
- package/server/{close-issue-8F6uawYj.js → close-issue-Dn_4c4G8.js} +5 -5
- package/server/{closed-issue-reaper-BhV-r-tC.js → closed-issue-reaper-CWpY2uBw.js} +1 -1
- package/server/{closed-issue-reaper-BaYQYF6w.js → closed-issue-reaper-hANY_ehE.js} +9 -9
- package/server/codex-Dg7Is5yb.js +3 -0
- package/server/{codex-D_UBEOwL.js → codex-TmSi-yTv.js} +30 -8
- package/server/{codex-parser-BTzlOZiV.js → codex-parser-C4gSH-IR.js} +2 -2
- package/server/{config-CrduXs4a.js → config-CCvjQf27.js} +2 -2
- package/server/{config-nAB_F-Gp.js → config-DUIhMN_T.js} +1 -1
- package/server/{config-G1TOMJZA.js → config-DjLOdbgT.js} +2 -2
- package/server/{config-yaml-Ciyp2mYe.js → config-yaml-DvyMuOle.js} +177 -211
- package/server/{conflict-gate-BKalpcjL.js → conflict-gate-BSJkNTdp.js} +1 -1
- package/server/{conflict-gate-BLUNMs1i.js → conflict-gate-CmrYpa47.js} +3 -3
- package/server/{context-layers-YNpf6Q_I.js → context-layers-B3Nt58jl.js} +2 -2
- package/server/{context-layers-Cg9ZgVfx.js → context-layers-ZYFcWiyc.js} +3 -3
- package/server/{control-settings-D_79A6gp.js → control-settings-aP1ANIlI.js} +4 -4
- package/server/{conversation-compaction-DiuZbIUB.js → conversation-compaction-CNbTLB86.js} +8 -8
- package/server/{conversation-compaction-CMIeWW4_.js → conversation-compaction-DiG5zWQq.js} +1 -1
- package/server/{conversation-service-DQybSPUK.js → conversation-service-Du-MTNpJ.js} +6 -6
- package/server/{conversation-service-CWk8mEym.js → conversation-service-Up7FEzIC.js} +1 -1
- package/server/{conversations-BJ-t3BRm.js → conversations-6mPANqvL.js} +1 -1
- package/server/{conversations-BUgGvqVL.js → conversations-DbOs1e9Q.js} +4 -4
- package/server/{cost-jJ2cgDcG.js → cost-CW4WSe72.js} +3 -3
- package/server/{cost-Drm7qeD5.js → cost-Ca0YTWDw.js} +18 -2
- package/server/{cost-sync-DzHP6zaR.js → cost-sync-C0VdGme1.js} +3 -3
- package/server/{dag-DIji6O2b.js → dag-CdOjJVDT.js} +9 -9
- package/server/{dangerous-git-ops-BebB-61h.js → dangerous-git-ops-CT-IypG3.js} +1 -1
- package/server/dashboard-db-worker.js +7 -7
- package/server/{deacon-pleYrvIm.js → deacon-DYSEJb48.js} +3 -3
- package/server/{deacon-nudge-log-C5VCKtyi.js → deacon-nudge-log-Bjg8U4Y9.js} +3 -3
- package/server/{deacon-1s7bM5zn.js → deacon-pRnyD5w9.js} +1133 -474
- package/server/deacon-swarm-9jRLS5Ke.js +2 -0
- package/server/{deacon-swarm-DmA3rJ7k.js → deacon-swarm-DftYRDo8.js} +17 -17
- package/server/deacon.js +8 -8
- package/server/{deploy-patrol-DmM6F-yw.js → deploy-patrol-Bjsho_ha.js} +136 -19
- package/server/{deploy-window-ClLq1RYf.js → deploy-window-CM6W1-c6.js} +1 -1
- package/server/{deploy-window-jw4S_Y-c.js → deploy-window-DeP_OIRk.js} +77 -10
- package/server/{dev-supervisor-Do2Stz49.js → dev-supervisor-BpMoHlkR.js} +2 -2
- package/server/{devcontainer-renderer-D8ylupco.js → devcontainer-renderer-CtUgrVKW.js} +3 -3
- package/server/dist-Bd3vn0Hw.js +3 -0
- package/server/{dist-yfR7G1BL.js → dist-DyRx4cI7.js} +1 -1
- package/server/{docker-ClwPQaba.js → docker-BK7HIcBj.js} +2 -2
- package/server/{dod-BLphkhjs.js → dod-BrSfUHm0.js} +1 -1
- package/server/{ensure-devcontainer-BA3bICoY.js → ensure-devcontainer-DRqaAkBR.js} +1 -1
- package/server/{ensure-devcontainer-CFpQatOc.js → ensure-devcontainer-DseivYEy.js} +4 -4
- package/server/{esm-shims-BZw-fTQ6.js → esm-shims-CbI3BVkl.js} +1 -1
- package/server/{event-store-DABarGNz.js → event-store-Cr5PQwFC.js} +1 -1
- package/server/{event-store-BVnON3vf.js → event-store-tdiY5eDZ.js} +3 -3
- package/server/{events-CmERlnwn.js → events-CC1dgUpx.js} +3 -3
- package/server/{events-LGeUehYW.js → events-CvvGK6LT.js} +1 -1
- package/server/{factory-CQNprtHe.js → factory-CynerjXO.js} +50 -13
- package/server/{feature-registry-population-D9Z3tYSa.js → feature-registry-population-B0pmAz0a.js} +4 -4
- package/server/{feature-registry-storage-BWymOgXE.js → feature-registry-storage-_wUBRD3J.js} +2 -2
- package/server/{features--fOza5g5.js → features-Dhxz-wLc.js} +2 -2
- package/server/{feedback-target-Dqik2WTe.js → feedback-target-CPS15Vte.js} +7 -7
- package/server/{feedback-target-Dn9vfPpz.js → feedback-target-iygZwmMc.js} +1 -1
- package/server/{feedback-writer-Wlq5-qgS.js → feedback-writer-C9b6ccN1.js} +6 -5
- package/server/{feedback-writer-DDQNV8uc.js → feedback-writer-qmiMbqTZ.js} +1 -1
- package/server/{flywheel-Q-38YhZG.js → flywheel-DMCUzDWg.js} +1 -1
- package/server/{flywheel-1Wd8WDlh.js → flywheel-DSSpWmqF.js} +13 -13
- package/server/{flywheel-DPUc8r3V.js → flywheel-DcBkQvgE.js} +14 -14
- package/server/{flywheel-merge-order-CeBuX0EJ.js → flywheel-merge-order-C-6zRLvM.js} +1 -1
- package/server/{flywheel-merge-order-4SqOXFAr.js → flywheel-merge-order-DxbQKE1d.js} +8 -8
- package/server/forge-B-ZWyTRm.js +2 -0
- package/server/{forge-DBbDpiYc.js → forge-Ch9gCFod.js} +2 -2
- package/server/{from-hh6vTBGl.js → from-CJ_aH5jD.js} +1 -1
- package/server/{fts-db-6ponMie2.js → fts-db-CKgg0VKg.js} +2 -2
- package/server/{fts-operations-KIRK165y.js → fts-operations-BrL_VTRr.js} +2 -2
- package/server/git-utils-BVa07a4a.js +198 -0
- package/server/{git-utils-DmF5xkj8.js → git-utils-Dry_Ka_D.js} +1 -1
- package/server/{github-app-B3yfECo8.js → github-app-CMBdIFBQ.js} +11 -3
- package/server/{github-app-CeSVFL6C.js → github-app-CPfoFAdV.js} +1 -1
- package/server/{github-client-Dslipypz.js → github-client--XVlDpwM.js} +2 -2
- package/server/{github-client-4A6FgA8O.js → github-client-B4QsdE-X.js} +1 -1
- package/server/{github-pr-lookup-DBP0YHMr.js → github-pr-lookup-BRbDW-qk.js} +2 -2
- package/server/harness-binary-CVio2m-u.js +106 -0
- package/server/{harness-resolve-BGpO-OVM.js → harness-resolve-qHJBhy3Z.js} +9 -15
- package/server/{health-events-CZGZ5I-A.js → health-events-C9B8y1Hm.js} +2 -2
- package/server/{health-events-CnwV_SSz.js → health-events-CpfvuVmm.js} +1 -1
- package/server/{hooks-CoNscX84.js → hooks-DUXw8A0-.js} +2 -2
- package/server/{hooks-DvX33gY_.js → hooks-ltecuFqZ.js} +1 -1
- package/server/{hume-DSJt5eA_.js → hume-BEq0bUDg.js} +2 -2
- package/server/hume-B_DbflNM.js +3 -0
- package/server/{idle-stack-reaper-5DVRoY6P.js → idle-stack-reaper-D7w9t3fE.js} +1 -1
- package/server/{idle-stack-reaper-BfL8HqYy.js → idle-stack-reaper-w1ISSlhs.js} +2 -2
- package/server/{in-flight-guard-tVGiI5ee.js → in-flight-guard-aQ1IxeI3.js} +2 -2
- package/server/{infra-DN2wSxle.js → infra-CzaSOgul.js} +4 -4
- package/server/{injection-DtlT8Akv.js → injection-DZ0PfYa4.js} +7 -7
- package/server/{injection-DK9zh_HL.js → injection-oNZeoDhL.js} +1 -1
- package/server/{inspect-agent-DKByUS_F.js → inspect-agent-DJKLWcVT.js} +15 -11
- package/server/inspect-agent-ch-F-5Ci.js +2 -0
- package/server/{internal-token-DhfFiwW7.js → internal-token-Bb4XeV2x.js} +2 -2
- package/server/{internal-token-7bYL5v6K.js → internal-token-DXdfprGr.js} +1 -1
- package/server/{io-BiM-7Zsx.js → io-B3_AHDfr.js} +160 -184
- package/server/{issue-closed-Dfw3QDyZ.js → issue-closed-zhdvQicO.js} +7 -7
- package/server/{issue-lifecycle-B7HZWnTA.js → issue-lifecycle-CreaCkjW.js} +22 -22
- package/server/{issue-lifecycle-ytsEdDlK.js → issue-lifecycle-Dy4vd0Oa.js} +1 -1
- package/server/{issue-service-singleton-CPESc4Or.js → issue-service-singleton-B5ushCvE.js} +8 -8
- package/server/{issue-service-singleton-D5EB5eYr.js → issue-service-singleton-DabvBWUp.js} +1 -1
- package/server/{issues-XYtFMxrH.js → issues-B6ToV6x1.js} +2 -2
- package/server/{jsonl-parser-DJV2eZUP.js → jsonl-parser-Dhflo1SH.js} +3 -3
- package/server/{label-cleanup-CJ4m8iRU.js → label-cleanup-BKPJm4Hv.js} +3 -3
- package/server/{label-reconciler-CNf3Ylm3.js → label-reconciler-DdWbHEBu.js} +4 -4
- package/server/{launcher-generator-5DJRiovn.js → launcher-generator-CHVm7bGT.js} +10 -9
- package/server/{layers-cZx7ibtV.js → layers-DzxSTGNA.js} +2 -2
- package/server/lifecycle-DfeyBDwA.js +121 -0
- package/server/lifecycle-io-Bsnr2K4F.js +3 -0
- package/server/{lifecycle-io-DMurK4oM.js → lifecycle-io-D8iNBcux.js} +37 -37
- package/server/{lifecycle-CE7619Xw.js → lifecycle-sycO16hj.js} +6 -6
- package/server/{linear-client-BLyN-NiP.js → linear-client-D4zqMnX7.js} +2 -2
- package/server/{linear-client-Bj1l4FOA.js → linear-client-DqhDQO9k.js} +1 -1
- package/server/memory-fts-worker.js +1 -1
- package/server/{merge-hSC2BENe.js → merge-C_ZEhbqI.js} +3 -3
- package/server/{merge-CwX2_AWm.js → merge-DK23JEdS.js} +1 -1
- package/server/{merge-agent-CnORPiri.js → merge-agent-BQM3a8z5.js} +1 -1
- package/server/{merge-agent-DnBsms_V.js → merge-agent-XrB80vfT.js} +369 -213
- package/server/{merge-batch-C2w2U2eK.js → merge-batch-Bwoyr8Je.js} +1 -1
- package/server/{merge-blockers-DhRgh76x.js → merge-blockers-BsFjGrQ8.js} +2 -2
- package/server/merge-ops-DlB1IM0Y.js +2 -0
- package/server/{merge-rebase-CE-ZyOMY.js → merge-rebase-C1KIVr0s.js} +2 -2
- package/server/{merge-set-D7YNU1ZB.js → merge-set-DLz0MkGT.js} +3 -3
- package/server/{merge-set-DHkzPCJU.js → merge-set-DnSYdBEp.js} +1 -1
- package/server/{merge-sync-De1FYva5.js → merge-sync-DZ9dojJn.js} +2 -2
- package/server/{merge-sync-CpGA9Kg7.js → merge-sync-SSv3E-pl.js} +1 -1
- package/server/{merge-train-SvkRJZ-k.js → merge-train-DxDfBTjr.js} +3 -3
- package/server/{merge-train-deps-CECJTElu.js → merge-train-deps-CyYQUksx.js} +4 -4
- package/server/{merge-verification-B3meGcXF.js → merge-verification-CSizH3HY.js} +4 -4
- package/server/{multipart-parser-ByTMgYV5.js → multipart-parser-Dt8YPN5S.js} +2 -2
- package/server/{no-resume-mode-BnInAFKs.js → no-resume-mode-Cx3K0hHi.js} +11 -8
- package/server/node_modules/.package-lock.json +5 -5
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/README.md +3 -3
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.d.ts.map +1 -1
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js +2 -2
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js.map +1 -1
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +5 -5
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeChildProcessSpawner.ts +6 -8
- package/server/{orphan-proposed-reconciler-CAfuWTA1.js → orphan-proposed-reconciler-BTkDrl4R.js} +1 -1
- package/server/{orphan-proposed-reconciler-AxAGUouN.js → orphan-proposed-reconciler-neK8dHQk.js} +23 -14
- package/server/package-lock.json +6 -6
- package/server/package.json +1 -1
- package/server/{pan-dir-Rw17YjT1.js → pan-dir-DeVUgwA7.js} +78 -58
- package/server/{paths-FP8v3lTz.js → paths-_zEts6wc.js} +2 -2
- package/server/{pickup-xi3KTLaJ.js → pickup-Dd0Znxxy.js} +2 -2
- package/server/{pipeline-membership-BtKMNY7v.js → pipeline-membership-0HaEGDlH.js} +190 -68
- package/server/{pipeline-notifier-dQ-U4NSb.js → pipeline-notifier-6iCJplFZ.js} +1 -1
- package/server/{pipeline-notifier-BM2HLF7B.js → pipeline-notifier-D0ykk59O.js} +2 -2
- package/server/{project-pipelines-B59NfN44.js → project-pipelines-2sK1apsO.js} +2 -2
- package/server/projects-9SkRpES9.js +3 -0
- package/server/{prompts-CbqaVjbe.js → prompts-Dp4Tpk39.js} +2 -2
- package/server/providers-DKkBXhxU.js +3 -0
- package/server/{providers-d3pwXGVE.js → providers-DV7ec8l7.js} +7 -7
- package/server/public/assets/{chunk-BO2N2NFS-BxYSL7J-.js → chunk-BO2N2NFS-CltymLRg.js} +4 -4
- package/server/public/assets/{diagram-OG6HWLK6-C_F9Q2as.js → diagram-OG6HWLK6-D2f6pjgA.js} +1 -1
- package/server/public/assets/{dist-DQNg4CiF.js → dist-BWR4qFiV.js} +1 -1
- package/server/public/assets/{dist-CLSlc6cV.js → dist-DEmlBBNQ.js} +3 -3
- package/server/public/assets/{ganttDiagram-6RSMTGT7-Cq0my-0C.js → ganttDiagram-6RSMTGT7-DnfiViPK.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-eZC03dGh.js → highlighted-body-OFNGDK62-B8Wrmj9H.js} +1 -1
- package/server/public/assets/index-CUr1xv8w.css +1 -0
- package/server/public/assets/{index-SLYGA8AQ.js → index-CsSuZQBI.js} +148 -145
- package/server/public/assets/{linear-6Fi3qnGg.js → linear-C9zFQpkX.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-BUAB8hqt.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-Dpmc6xsv.js → pieDiagram-4H26LBE5-lR8H7Yjd.js} +1 -1
- package/server/public/assets/{prod-ojHllFvN.js → prod-B1jCQihw.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-Ulr9gON5.js → quadrantDiagram-W4KKPZXB-CVQ2guem.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-CwdHGXfL.js → sankeyDiagram-5OEKKPKP-eD1RB4gm.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-r-bEDzJh.js → xychartDiagram-2RQKCTM6-ChEC6dQn.js} +1 -1
- package/server/public/index.html +54 -10
- package/server/{pull-requests-D3N6HQzI.js → pull-requests--Ib2jTgy.js} +1 -1
- package/server/{pull-requests-CjjPj7v6.js → pull-requests-CXIhdCYD.js} +13 -11
- package/server/{queries-B5hl7lMQ.js → queries-6d7Cdtm7.js} +723 -110
- package/server/{rally-Dp0Gb1DN.js → rally-B708-nZn.js} +3 -3
- package/server/{rally-api-DGaFz5L5.js → rally-api-nY0ZANw3.js} +2 -2
- package/server/{rally-api-CKr0O4DJ.js → rally-api-yjQ0TfHd.js} +1 -1
- package/server/{rally-client-SVbjGvqj.js → rally-client-B1EJhfV0.js} +4 -4
- package/server/{rally-client-Cqf6EX_r.js → rally-client-CULK2XAY.js} +1 -1
- package/server/rally-njs_mJrt.js +3 -0
- package/server/reap-terminal-sessions-MWnqdLCJ.js +4 -0
- package/server/{reap-terminal-sessions-CjqRAGw7.js → reap-terminal-sessions-N3BTkmX_.js} +11 -28
- package/server/{rebuild-stack-DHqCLvLX.js → rebuild-stack-Dp4eLkt4.js} +6 -6
- package/server/{rebuild-stack-DjdpALr1.js → rebuild-stack-kA7XngID.js} +1 -1
- package/server/{reconstruct-cache-BqrCQt0o.js → reconstruct-cache-uWbZfjms.js} +6 -6
- package/server/record-t6V-3Dcj.js +3 -0
- package/server/{record-update-BlB8mpKO.js → record-update-DACtKh6_.js} +1 -1
- package/server/record-update-Dq0t2uBG.js +310 -0
- package/server/{recovery-trip-l1Hsi37x.js → recovery-trip-BJtIQuag.js} +2 -2
- package/server/{release-engine-CSI4K6Oj.js → release-engine-DZpmGGzb.js} +5 -5
- package/server/{release-set-BywwggrE.js → release-set-hnXd_kga.js} +3 -3
- package/server/{remote-DYziAkiZ.js → remote-4tiENDaI.js} +3 -3
- package/server/{remote-cnoeuDWn.js → remote-Br-ZWVIP.js} +3 -3
- package/server/{remote-agents-BNORDWAX.js → remote-agents-CRCg1L4H.js} +1 -1
- package/server/{remote-agents-CZ2rc8I0.js → remote-agents-nmty1mLu.js} +6 -6
- package/server/{remote-completion-W67FNQ-A.js → remote-completion-BbWNd10K.js} +13 -13
- package/server/resume-CcKqnTvE.js +3 -0
- package/server/{review-agent-CSswH985.js → review-agent-DJRO8EG8.js} +1 -1
- package/server/{review-agent-CqSqSHkU.js → review-agent-sKkE1FEL.js} +23 -23
- package/server/{review-artifacts-BBgnd5df.js → review-artifacts-BLbSC4ke.js} +5 -5
- package/server/{review-context-Ctp9BdNJ.js → review-context-BgX3lcCx.js} +9 -9
- package/server/{review-status-CCgPVK1h.js → review-status-A7quS5KJ.js} +56 -39
- package/server/review-status-C6n6-9f_.js +3 -0
- package/server/{review-status-enrichment-DtDRGpst.js → review-status-enrichment-tbOn_A_u.js} +3 -3
- package/server/review-status-source-CxuEjLGg.js +39 -0
- package/server/{review-status-sync-jnLgd04F.js → review-status-sync-BhSQ0d0l.js} +2 -2
- package/server/{review-status-sync-C792ksoJ.js → review-status-sync-To3-iS-N.js} +1 -1
- package/server/{review-verdict-feedback-D5lW0o3k.js → review-verdict-feedback-C1Kg8n7t.js} +1 -1
- package/server/{review-verdict-feedback-CMsIpTpy.js → review-verdict-feedback-CTRNtzXO.js} +7 -7
- package/server/{rollup-B3kQmNpl.js → rollup-B53Y81xK.js} +1 -1
- package/server/{rollup-CLj_AK9f.js → rollup-WA0VD-Rr.js} +8 -8
- package/server/{scanner-C4NeC4FE.js → scanner-D2743cp8.js} +11 -7
- package/server/{sequence-io-Ce-6grIY.js → sequence-io-Cg0zYj_E.js} +4 -4
- package/server/{sequencer-agent-Bpz0yGmG.js → sequencer-agent-BGY8gjg-.js} +5 -5
- package/server/server.js +1348 -963
- package/server/{service-CqAY8Kmk.js → service-DCpB_SGd.js} +154 -51
- package/server/{session-fork-uNo4rMRA.js → session-fork-BQ8_6H32.js} +2 -2
- package/server/{session-history-DUehL3KN.js → session-history-CVZDpS3c.js} +4 -4
- package/server/{settings-DP2OYLXL.js → settings-BZ5m1UCl.js} +3 -3
- package/server/settings-D0OSwos5.js +2 -0
- package/server/{settings-D9grjmaP.js → settings-ylxwqwQG.js} +2 -2
- package/server/{shadow-engineering-Bi_oIMtF.js → shadow-engineering-BlxG6Xye.js} +3 -3
- package/server/{shadow-state-CDxEuPlE.js → shadow-state-C2_epgx2.js} +1 -1
- package/server/{shadow-state-a_ztFBJe.js → shadow-state-Dh-HzF2J.js} +2 -2
- package/server/{shadow-utils-CyOg6_Xq.js → shadow-utils-4bvjn9b3.js} +2 -2
- package/server/{ship-log-DDcueaIR.js → ship-log-ClSMIzZX.js} +1 -1
- package/server/{smart-compaction-C1_VVLEd.js → smart-compaction-CHIxLr_d.js} +1 -1
- package/server/{smart-compaction--Oj65Uov.js → smart-compaction-r4pHQBIr.js} +7 -7
- package/server/{spawn-planning-session-AiUSsBnH.js → spawn-planning-session-DWAorh2B.js} +25 -20
- package/server/{spawn-planning-session-LFtK2QCE.js → spawn-planning-session-KC_UduxD.js} +1 -1
- package/server/{specialist-completion-qOgqdqXH.js → specialist-completion-BXhav38U.js} +1 -1
- package/server/{specialist-context-gjj8Z4Ii.js → specialist-context-DtrYvGJ-.js} +5 -5
- package/server/{specialist-handoff-logger-BsBNvVZv.js → specialist-handoff-logger-C45ouoZ6.js} +2 -2
- package/server/{specialist-logs-CSLtvPx6.js → specialist-logs-DJ3RzKxW.js} +3 -3
- package/server/{specialists-D0VBf8g_.js → specialists-D5fRZXmN.js} +1 -1
- package/server/specialists-DVj0hvaL.js +3 -0
- package/server/{specialists-CYRwELzc.js → specialists-DyFeedjn.js} +66 -76
- package/server/{specialists-DAegTvRt.js → specialists-JVO00bs7.js} +374 -220
- package/server/specs-nN45DG2X.js +3 -0
- package/server/{src-OLoJhUiJ.js → src-CG9mCkP6.js} +6 -6
- package/server/{src-BqTcrfO_.js → src-CMTQGyCK.js} +3 -3
- package/server/{src-Dpq1yFIl.js → src-U7_kTPEE.js} +338 -4
- package/server/{stack-health-I713ELld.js → stack-health-Df0YEZKa.js} +1 -1
- package/server/{stack-health-DV_f-lK0.js → stack-health-puygdaMd.js} +2 -2
- package/server/{stale-task-claims-CQSKZVq0.js → stale-task-claims-BbFwCTb0.js} +4 -4
- package/server/{staleness-BbsGxmF2.js → staleness-Bpy41ngS.js} +15 -3
- package/server/{staleness-zGp4P1hd.js → staleness-Cbl_w4Bw.js} +1 -1
- package/server/{state-home-DixkE-up.js → state-home-CIGjwNfJ.js} +119 -54
- package/server/state-migrate-Dkzaxvny.js +487 -0
- package/server/{stuck-remediation-BWkK_O7A.js → stuck-remediation-CzEov_fq.js} +27 -21
- package/server/{stuck-remediation-CTPRC2S5.js → stuck-remediation-sY_MHHgQ.js} +1 -1
- package/server/{substrate-bug-weights-service-DXd0ID83.js → substrate-bug-weights-service-BH66lhm7.js} +3 -3
- package/server/{summary-fork-CdLn8Chr.js → summary-fork-D8bXjCr7.js} +2 -2
- package/server/{summary-fork-f3DpgjXh.js → summary-fork-DHhJIsAL.js} +8 -8
- package/server/{supervisor-Ch8CDuoF.js → supervisor-BO-Zk_h-.js} +3 -3
- package/server/supervisor-BPy-o1A8.js +2 -0
- package/server/{swarm-readiness-C9P2iPap.js → swarm-readiness-CQ_fwUWF.js} +4 -4
- package/server/{system-prerequisites-DkoQBn1q.js → system-prerequisites-Bza0ffAh.js} +24 -44
- package/server/{teardown-workspace-D-5yMyit.js → teardown-workspace-CEgauF4U.js} +15 -15
- package/server/{test-agent-queue-BwpUpu-o.js → test-agent-queue-DXDt0Xa-.js} +7 -7
- package/server/{test-verdict-BRiSu7eW.js → test-verdict-CmUBK5cT.js} +1 -1
- package/server/{test-verdict-BQ1yx7d4.js → test-verdict-DFjjIHR5.js} +1 -1
- package/server/{tldr-daemon-DjxP5g6Y.js → tldr-daemon-BDtLOIlO.js} +2 -2
- package/server/{tldr-daemon-BJA7TkqS.js → tldr-daemon-DL566HbH.js} +1 -1
- package/server/tmux-DoThH6aj.js +3 -0
- package/server/{tmux-y1blSxks.js → tmux-ftABRAmc.js} +76 -44
- package/server/{token-LUrbM9sU.js → token-CsOhvw42.js} +2 -2
- package/server/{token-util-BZaDAQ8S.js → token-util-CTmczIfW.js} +1 -1
- package/server/token-util-DrHg8abn.js +3 -0
- package/server/{tracker-config-DSFZBdXP.js → tracker-config-B4itFzDo.js} +2 -2
- package/server/{tracker-utils-WtP_V-yn.js → tracker-utils-BePq_oj-.js} +1 -1
- package/server/{tracker-utils-DiceZN3a.js → tracker-utils-tnxxqROg.js} +2 -2
- package/server/{traefik-connect-BXqfOP4-.js → traefik-connect-m73vGebA.js} +1 -1
- package/server/{tunnel-DTng1rfQ.js → tunnel-B2vxjx_b.js} +3 -3
- package/server/{tunnel-WcJImbAC.js → tunnel-Cgj-IGIl.js} +1 -1
- package/server/{types-BjaZ1oqH.js → types-BBNjPcqU.js} +1 -1
- package/server/{types-DqeBMmJN.js → types-hraoaQIp.js} +1 -1
- package/server/{uat-train-BpLnp7Cx.js → uat-train-CuEn0t9M.js} +28 -28
- package/server/{uat-train-Wismge7h.js → uat-train-cKfM-_WW.js} +1 -1
- package/server/{validation-BA4e5EGm.js → validation-B5JxoPUS.js} +259 -9
- package/server/{validation-CUWamZ4X.js → validation-CIi6pnI2.js} +1 -1
- package/server/{verification-artifact-Dr_0g9nb.js → verification-artifact-BcnIbigL.js} +1 -1
- package/server/{verification-artifact-CrbI4tJE.js → verification-artifact-C-lIHfUa.js} +1 -1
- package/server/{verification-runner-gAzh3cVD.js → verification-runner-Br0S_Ous.js} +103 -37
- package/server/{verification-runner-Dcksl_P-.js → verification-runner-CDj4lD4t.js} +1 -1
- package/server/{vtt-parser-3VZKsmSm.js → vtt-parser-DKpNNW5i.js} +1 -1
- package/server/{work-agent-prompt-ULdcANl5.js → work-agent-prompt-Yb2bd3Fq.js} +16 -15
- package/server/{workflows-B8ROFlfw.js → workflows-C9WmILql.js} +39 -77
- package/server/workflows-D90rMOya.js +2 -0
- package/server/{workspace-DhTDA8nB.js → workspace-BVl4rihN.js} +3 -3
- package/server/{workspace-DSjUJaJN.js → workspace-DuUdndHe.js} +1 -1
- package/server/{workspace-config-BAAsAv-o.js → workspace-config-cEGcO6UT.js} +1 -1
- package/server/{workspace-manager-CcujONCR.js → workspace-manager-ZTdJAy9M.js} +1 -1
- package/server/{workspace-manager-DsN52IMG.js → workspace-manager-hLUv3ADC.js} +23 -16
- package/server/{workspace-metadata-DIL5_U4c.js → workspace-metadata-CskwzzhL.js} +2 -2
- package/server/{workspace-metadata-CftOpNLs.js → workspace-metadata-DNpMixRq.js} +1 -1
- package/server/{workspaces-Dmlh1YXm.js → workspaces-hWvy9eKs.js} +276 -110
- package/sync-sources/agents/pan-inspect-agent.md +1 -1
- package/sync-sources/agents/pan-merge-agent.md +1 -1
- package/sync-sources/agents/pan-planning-agent.md +4 -4
- package/sync-sources/agents/pan-work-agent.md +1 -1
- package/sync-sources/dev-skills/pan-commit/SKILL.md +1 -1
- package/sync-sources/dev-skills/test-specialist-workflow/SKILL.md +1 -1
- package/sync-sources/hooks/record-cost-event.js +363 -71
- package/sync-sources/hooks/session-start-hook +7 -0
- package/sync-sources/hooks/work-agent-stop-hook +1 -1
- package/sync-sources/rules/per-bead-durability.md +1 -1
- package/sync-sources/rules/prd-authoring.md +1 -1
- package/sync-sources/skills/feature-work/SKILL.md +1 -1
- package/sync-sources/skills/pan/SKILL.md +2 -2
- package/sync-sources/skills/pan-admin-config/SKILL.md +1 -0
- package/sync-sources/skills/pan-approve/SKILL.md +1 -1
- package/sync-sources/skills/pan-close/SKILL.md +1 -1
- package/sync-sources/skills/pan-doctor/SKILL.md +1 -1
- package/sync-sources/skills/pan-new-project/SKILL.md +9 -11
- package/sync-sources/skills/pan-oversee/SKILL.md +5 -5
- package/sync-sources/skills/pan-plan/SKILL.md +6 -6
- package/sync-sources/skills/pan-quickstart/SKILL.md +1 -1
- package/sync-sources/skills/pan-recap/SKILL.md +2 -2
- package/sync-sources/skills/pan-review/SKILL.md +1 -1
- package/sync-sources/skills/pan-start/SKILL.md +26 -3
- package/sync-sources/skills/pan-swarm/SKILL.md +1 -1
- package/sync-sources/skills/pan-sync/SKILL.md +1 -1
- package/sync-sources/skills/pan-task/SKILL.md +2 -2
- package/sync-sources/skills/pan-wipe/SKILL.md +2 -2
- package/sync-sources/skills/pipeline-list/SKILL.md +1 -1
- package/sync-sources/skills/pipeline-status/SKILL.md +2 -2
- package/sync-sources/skills/plan/SKILL.md +11 -11
- package/sync-sources/skills/write-vbrief/SKILL.md +7 -282
- package/sync-sources/skills/write-xbrief/SKILL.md +295 -0
- package/sync-sources/templates/claude-md/sections/warnings.md +1 -1
- package/server/agent-state-BV_6RHnO.js +0 -3
- package/server/agents-Czz6R57Z.js +0 -3
- package/server/cli-ChErG518.js +0 -3
- package/server/codex-BBeZ8c3s.js +0 -3
- package/server/deacon-swarm-uudlSCLM.js +0 -2
- package/server/dist-BEDL2alY.js +0 -3
- package/server/forge-DbhJyH6u.js +0 -2
- package/server/git-utils-Bkxzr1Xf.js +0 -129
- package/server/hume-BrA1tUuk.js +0 -3
- package/server/inspect-agent-CyXNo9fM.js +0 -2
- package/server/lifecycle-io-CUpsxG0p.js +0 -3
- package/server/merge-ops-BpTtuO8x.js +0 -2
- package/server/projects-IRHJIPYC.js +0 -3
- package/server/providers-BqCdTryq.js +0 -3
- package/server/public/assets/index-C6NLz_1S.css +0 -1
- package/server/public/assets/mermaid-GHXKKRXX-BNwFoQsf.js +0 -1
- package/server/rally-DGimSRBQ.js +0 -3
- package/server/reap-terminal-sessions-C1mfzoZo.js +0 -3
- package/server/record-update-RviRDSNs.js +0 -168
- package/server/record-us0YECMO.js +0 -3
- package/server/resume-OyN3dEXE.js +0 -3
- package/server/review-status-DXeqFpk5.js +0 -3
- package/server/settings-BaPXXJsT.js +0 -2
- package/server/specialists-C6WkeKFK.js +0 -3
- package/server/specs-BsNcum0h.js +0 -3
- package/server/state-migrate-_zJJ6XKE.js +0 -362
- package/server/supervisor-Qy1QecAs.js +0 -2
- package/server/tmux-HQLgwo_C.js +0 -3
- package/server/token-util-Cg-QnowA.js +0 -3
- package/server/workflows-C5c-RPsY.js +0 -2
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import { a as resolveTrackerTypeSync, i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-
|
|
4
|
-
import { a as init_linear, i as LinearTracker, r as init_factory, t as createTracker } from "./factory-
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
2
|
+
import { Tn as init_projects, zn as resolveProjectFromIssueSync } from "./config-yaml-DvyMuOle.js";
|
|
3
|
+
import { a as resolveTrackerTypeSync, i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-tnxxqROg.js";
|
|
4
|
+
import { a as init_linear, i as LinearTracker, r as init_factory, t as createTracker } from "./factory-CynerjXO.js";
|
|
5
|
+
import { f as init_github_app, p as isGitHubAppConfigured, s as getIssueState } from "./github-app-CMBdIFBQ.js";
|
|
6
|
+
import { a as getShadowState, s as init_shadow_state } from "./shadow-state-Dh-HzF2J.js";
|
|
7
|
+
import { n as init_shadow_utils, t as getLinearApiKey } from "./shadow-utils-4bvjn9b3.js";
|
|
8
8
|
import { Effect } from "effect";
|
|
9
9
|
import { execFile } from "child_process";
|
|
10
10
|
import { promisify } from "util";
|
|
@@ -112,4 +112,4 @@ var init_issue_closed = __esmMin((() => {
|
|
|
112
112
|
//#endregion
|
|
113
113
|
export { init_issue_closed as n, isIssueClosed as r, clearIssueClosedCache as t };
|
|
114
114
|
|
|
115
|
-
//# sourceMappingURL=issue-closed-
|
|
115
|
+
//# sourceMappingURL=issue-closed-zhdvQicO.js.map
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
2
|
import { a as init_activity_logger, t as emitActivityDetailedSync } from "./activity-logger-DDlOIAML.js";
|
|
3
|
-
import { a as init_event_store, i as initEventStore } from "./event-store-
|
|
4
|
-
import { d as
|
|
5
|
-
import { D as
|
|
6
|
-
import { o as init_agents, t as AgentsResolver } from "./agents-
|
|
7
|
-
import { f as resolveStatusFile, i as init_paths } from "./paths-
|
|
8
|
-
import { a as resolveSessionContextBriefingPath, r as init_briefing_freshness } from "./briefing-freshness-
|
|
9
|
-
import { n as listFeatureRegistryEntries, t as init_feature_registry_storage } from "./feature-registry-storage-
|
|
10
|
-
import { h as listCheckpoints, m as init_checkpoint_manager, s as diffCheckpointFiles, t as captureCheckpoint } from "./checkpoint-manager-
|
|
11
|
-
import { i as init_linear_client, r as LinearClientOptionalLive, t as LinearClient } from "./linear-client-
|
|
12
|
-
import { i as init_github_client, r as GitHubClientOptionalLive, t as GitHubClient } from "./github-client
|
|
13
|
-
import { i as init_rally_client, r as RallyClientOptionalLive, t as RallyClient } from "./rally-client-
|
|
14
|
-
import { a as resolveTrackerTypeSync, i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-
|
|
15
|
-
import { n as init_issue_service_singleton, t as getSharedIssueService } from "./issue-service-singleton-
|
|
3
|
+
import { a as init_event_store, i as initEventStore } from "./event-store-tdiY5eDZ.js";
|
|
4
|
+
import { d as applyEvent, f as getMaxTurnDiffSummariesPerAgent, m as trimTurnDiffSummaries, p as isTerminalTurnDiffSummaryStatus, t as init_src, u as INITIAL_READ_MODEL_STATE } from "./src-U7_kTPEE.js";
|
|
5
|
+
import { D as listOverdeckAgentStatesSync, E as init_agent_state_sync } from "./review-status-A7quS5KJ.js";
|
|
6
|
+
import { o as init_agents, t as AgentsResolver } from "./agents-B4Bjbkfv.js";
|
|
7
|
+
import { f as resolveStatusFile, i as init_paths } from "./paths-_zEts6wc.js";
|
|
8
|
+
import { a as resolveSessionContextBriefingPath, r as init_briefing_freshness } from "./briefing-freshness-DWdW7vUm.js";
|
|
9
|
+
import { n as listFeatureRegistryEntries, t as init_feature_registry_storage } from "./feature-registry-storage-_wUBRD3J.js";
|
|
10
|
+
import { h as listCheckpoints, m as init_checkpoint_manager, s as diffCheckpointFiles, t as captureCheckpoint } from "./checkpoint-manager-DDqcGyu8.js";
|
|
11
|
+
import { i as init_linear_client, r as LinearClientOptionalLive, t as LinearClient } from "./linear-client-D4zqMnX7.js";
|
|
12
|
+
import { i as init_github_client, r as GitHubClientOptionalLive, t as GitHubClient } from "./github-client--XVlDpwM.js";
|
|
13
|
+
import { i as init_rally_client, r as RallyClientOptionalLive, t as RallyClient } from "./rally-client-B1EJhfV0.js";
|
|
14
|
+
import { a as resolveTrackerTypeSync, i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-tnxxqROg.js";
|
|
15
|
+
import { n as init_issue_service_singleton, t as getSharedIssueService } from "./issue-service-singleton-B5ushCvE.js";
|
|
16
16
|
import { dirname } from "node:path";
|
|
17
17
|
import { Context, Effect, Layer, Option, Queue, Stream } from "effect";
|
|
18
18
|
import { basename as basename$1, dirname as dirname$1, join as join$1, resolve as resolve$1 } from "path";
|
|
@@ -293,7 +293,7 @@ var init_read_model = __esmMin((() => {
|
|
|
293
293
|
};
|
|
294
294
|
const getSnapshot = Effect.gen(function* () {
|
|
295
295
|
try {
|
|
296
|
-
const { getSharedIssueService } = yield* Effect.promise(() => import("./issue-service-singleton-
|
|
296
|
+
const { getSharedIssueService } = yield* Effect.promise(() => import("./issue-service-singleton-DabvBWUp.js"));
|
|
297
297
|
const currentIssues = cleanIssues(getSharedIssueService().getIssues());
|
|
298
298
|
if (currentIssues.length > 0 || state.issuesRaw.length === 0) state = {
|
|
299
299
|
...state,
|
|
@@ -318,13 +318,13 @@ var init_read_model = __esmMin((() => {
|
|
|
318
318
|
const getAgentIdBySessionId = (sessionId) => Effect.sync(() => state.agentIdBySessionId[sessionId] ?? null);
|
|
319
319
|
const agentsResolver = yield* AgentsResolver;
|
|
320
320
|
yield* Effect.gen(function* () {
|
|
321
|
-
const { reconstructCacheAuto } = yield* Effect.promise(() => import("./reconstruct-cache-
|
|
321
|
+
const { reconstructCacheAuto } = yield* Effect.promise(() => import("./reconstruct-cache-uWbZfjms.js"));
|
|
322
322
|
const [overdeckAgents, result] = yield* Effect.all([agentsResolver.list({}), Effect.promise(() => reconstructCacheAuto())]);
|
|
323
323
|
const agentsById = Object.fromEntries(overdeckAgents.map((a) => [a.id, agentSnapshotFromOverdeck(a)]));
|
|
324
324
|
let sequence = 0;
|
|
325
325
|
let recentActivity = [];
|
|
326
326
|
try {
|
|
327
|
-
const { getEventStore } = yield* Effect.promise(() => import("./event-store-
|
|
327
|
+
const { getEventStore } = yield* Effect.promise(() => import("./event-store-Cr5PQwFC.js"));
|
|
328
328
|
const eventStore = getEventStore();
|
|
329
329
|
sequence = eventStore.getLatestSequence();
|
|
330
330
|
recentActivity = activityEntriesFromStoredEvents(eventStore.queryByType("activity.entry", MAX_SNAPSHOT_ACTIVITY_ENTRIES));
|
|
@@ -340,7 +340,7 @@ var init_read_model = __esmMin((() => {
|
|
|
340
340
|
console.log(`[ReadModel] Bootstrapped from local database: ${Object.keys(agentsById).length} agents, ${Object.keys(result.reviewStatusByIssueId).length} review statuses, ${result.issuesEnumerated} in-flight issue(s), seq=${sequence}`);
|
|
341
341
|
(async () => {
|
|
342
342
|
try {
|
|
343
|
-
const { listCheckpoints, diffCheckpointFiles, getCheckpointTimestamp, deleteLegacyCheckpointRefs } = await import("./checkpoint-manager-
|
|
343
|
+
const { listCheckpoints, diffCheckpointFiles, getCheckpointTimestamp, deleteLegacyCheckpointRefs } = await import("./checkpoint-manager-B7Bt29J0.js");
|
|
344
344
|
const agents = Object.values(state.agentsById);
|
|
345
345
|
const firstAgentWithWorkspace = agents.find((a) => a.workspace);
|
|
346
346
|
if (firstAgentWithWorkspace?.workspace) {
|
|
@@ -397,7 +397,7 @@ var init_read_model = __esmMin((() => {
|
|
|
397
397
|
}
|
|
398
398
|
})();
|
|
399
399
|
try {
|
|
400
|
-
const { getSharedIssueService } = yield* Effect.promise(() => import("./issue-service-singleton-
|
|
400
|
+
const { getSharedIssueService } = yield* Effect.promise(() => import("./issue-service-singleton-DabvBWUp.js"));
|
|
401
401
|
const issueService = getSharedIssueService();
|
|
402
402
|
const mergeT0 = performance.now();
|
|
403
403
|
const currentIssues = cleanIssues(issueService.getIssues());
|
|
@@ -421,7 +421,7 @@ var init_read_model = __esmMin((() => {
|
|
|
421
421
|
issuesRaw: cleaned
|
|
422
422
|
};
|
|
423
423
|
try {
|
|
424
|
-
if (!_cachedEventStore) import("./event-store-
|
|
424
|
+
if (!_cachedEventStore) import("./event-store-Cr5PQwFC.js").then(({ getEventStore }) => {
|
|
425
425
|
_cachedEventStore = getEventStore();
|
|
426
426
|
try {
|
|
427
427
|
_cachedEventStore.emitOnly({
|
|
@@ -437,7 +437,7 @@ var init_read_model = __esmMin((() => {
|
|
|
437
437
|
payload: { issues: cleaned }
|
|
438
438
|
});
|
|
439
439
|
} catch {}
|
|
440
|
-
import("./backlog-auto-trigger-
|
|
440
|
+
import("./backlog-auto-trigger-GtG71X8H.js").then(({ triggerDebouncedIncrementalPass }) => {
|
|
441
441
|
triggerDebouncedIncrementalPass(process.cwd());
|
|
442
442
|
}).catch(() => {});
|
|
443
443
|
});
|
|
@@ -476,7 +476,7 @@ async function assembleLiveBriefingMarkdown(input = {}) {
|
|
|
476
476
|
"",
|
|
477
477
|
"- Persistent memory across sessions through observations, status updates, and rollups.",
|
|
478
478
|
"- Situational awareness from the live dashboard read model.",
|
|
479
|
-
"- Issue-scoped workspaces, beads,
|
|
479
|
+
"- Issue-scoped workspaces, beads, xBRIEF plans, and role handoffs for autonomous work.",
|
|
480
480
|
"- Cross-workspace reach through `pan memory search --all-workspaces` when sibling context is relevant.",
|
|
481
481
|
"- Searchable feature ownership through the Knowledge Registry.",
|
|
482
482
|
"",
|
|
@@ -1388,4 +1388,4 @@ var init_issue_lifecycle = __esmMin((() => {
|
|
|
1388
1388
|
//#endregion
|
|
1389
1389
|
export { init_queue_position as _, EventStoreService as a, ReadModelService as c, init_read_model as d, toAgentResolution as f, findPositionInQueueSync as g, computeQueuePositionFromStatusSync as h, init_issue_lifecycle as i, ReadModelServiceLive as l, toRole as m, IssueLifecycleLive as n, EventStoreServiceLive as o, toAgentStatus as p, IssueLifecycleWithClientLive as r, init_domain_services as s, IssueLifecycle as t, getClosedIssueIdsForReadSource as u };
|
|
1390
1390
|
|
|
1391
|
-
//# sourceMappingURL=issue-lifecycle-
|
|
1391
|
+
//# sourceMappingURL=issue-lifecycle-CreaCkjW.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { i as init_issue_lifecycle, n as IssueLifecycleLive, r as IssueLifecycleWithClientLive, t as IssueLifecycle } from "./issue-lifecycle-
|
|
1
|
+
import { i as init_issue_lifecycle, n as IssueLifecycleLive, r as IssueLifecycleWithClientLive, t as IssueLifecycle } from "./issue-lifecycle-CreaCkjW.js";
|
|
2
2
|
init_issue_lifecycle();
|
|
3
3
|
export { IssueLifecycle, IssueLifecycleLive, IssueLifecycleWithClientLive };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { n as __esmMin, r as __exportAll } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Tn as init_projects, f as loadConfigSync, t as init_config_yaml, zn as resolveProjectFromIssueSync } from "./config-yaml-DvyMuOle.js";
|
|
3
3
|
import { n as openDatabase, t as init_driver } from "./driver-CKVGi51s.js";
|
|
4
|
-
import {
|
|
5
|
-
import { a as init_tracker_config, n as getLinearApiKey, o as validateRallyConfig, r as getRallyConfig, t as getGitHubConfig } from "./tracker-config-
|
|
4
|
+
import { f as loadReviewStatusesForIssues, l as init_review_status } from "./review-status-A7quS5KJ.js";
|
|
5
|
+
import { a as init_tracker_config, n as getLinearApiKey, o as validateRallyConfig, r as getRallyConfig, t as getGitHubConfig } from "./tracker-config-B4itFzDo.js";
|
|
6
6
|
import { n as init_dist_src, t as Octokit } from "./dist-src-BSoS7mkd.js";
|
|
7
7
|
import { n as mapGitHubStateToCanonical, t as init_state_mapping } from "./state-mapping-BL_-3Yt8.js";
|
|
8
|
-
import { o as init_io, p as readWorkspacePlan, r as findPlan } from "./io-
|
|
8
|
+
import { o as init_io, p as readWorkspacePlan, r as findPlan } from "./io-B3_AHDfr.js";
|
|
9
9
|
import { Effect } from "effect";
|
|
10
10
|
import { existsSync } from "fs";
|
|
11
11
|
import { join } from "path";
|
|
@@ -865,7 +865,7 @@ var init_issue_data_service = __esmMin((() => {
|
|
|
865
865
|
async ensureShadowStateLoaded() {
|
|
866
866
|
if (this.shadowStateModule) return;
|
|
867
867
|
try {
|
|
868
|
-
this.shadowStateModule = await import("./shadow-state-
|
|
868
|
+
this.shadowStateModule = await import("./shadow-state-C2_epgx2.js");
|
|
869
869
|
await this.refreshShadowStatesCache();
|
|
870
870
|
} catch {}
|
|
871
871
|
}
|
|
@@ -1408,8 +1408,8 @@ var init_issue_data_service = __esmMin((() => {
|
|
|
1408
1408
|
}
|
|
1409
1409
|
if (!this.cache.isStale("rally", "issues") && this.trackers.rally.lastFetchedIssues.length > 0) return;
|
|
1410
1410
|
try {
|
|
1411
|
-
const { RallyTracker } = await import("./rally-
|
|
1412
|
-
const { findProjectsByRallyProject } = await import("./projects-
|
|
1411
|
+
const { RallyTracker } = await import("./rally-njs_mJrt.js");
|
|
1412
|
+
const { findProjectsByRallyProject } = await import("./projects-9SkRpES9.js");
|
|
1413
1413
|
const rallyProjects = findProjectsByRallyProject();
|
|
1414
1414
|
let allFormatted = [];
|
|
1415
1415
|
if (rallyProjects.length > 0) {
|
|
@@ -1504,4 +1504,4 @@ var init_issue_service_singleton = __esmMin((() => {
|
|
|
1504
1504
|
//#endregion
|
|
1505
1505
|
export { CacheService as a, startSharedIssueService as i, init_issue_service_singleton as n, init_cache_service as o, issue_service_singleton_exports as r, parseIntegerHeader as s, getSharedIssueService as t };
|
|
1506
1506
|
|
|
1507
|
-
//# sourceMappingURL=issue-service-singleton-
|
|
1507
|
+
//# sourceMappingURL=issue-service-singleton-B5ushCvE.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { i as startSharedIssueService, n as init_issue_service_singleton, t as getSharedIssueService } from "./issue-service-singleton-
|
|
1
|
+
import { i as startSharedIssueService, n as init_issue_service_singleton, t as getSharedIssueService } from "./issue-service-singleton-B5ushCvE.js";
|
|
2
2
|
init_issue_service_singleton();
|
|
3
3
|
export { getSharedIssueService, startSharedIssueService };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { _ as integer, a as EventBus, c as Records, f as init_infra, h as text, m as sqliteTable, p as init_sqlite_core, r as Db, v as init_drizzle_orm, x as eq } from "./infra-
|
|
2
|
+
import { _ as integer, a as EventBus, c as Records, f as init_infra, h as text, m as sqliteTable, p as init_sqlite_core, r as Db, v as init_drizzle_orm, x as eq } from "./infra-CzaSOgul.js";
|
|
3
3
|
import { Context, Effect, Layer, Schema } from "effect";
|
|
4
4
|
import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
|
|
5
5
|
//#region ../../lib/overdeck/issues.ts
|
|
@@ -350,4 +350,4 @@ var init_issues = __esmMin((() => {
|
|
|
350
350
|
//#endregion
|
|
351
351
|
export { init_issues as n, IssueId as t };
|
|
352
352
|
|
|
353
|
-
//# sourceMappingURL=issues-
|
|
353
|
+
//# sourceMappingURL=issues-B6ToV6x1.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-
|
|
2
|
+
import { Nr as encodeClaudeProjectDir, Vr as init_paths, mr as init_errors } from "./config-yaml-DvyMuOle.js";
|
|
3
|
+
import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-Ca0YTWDw.js";
|
|
4
4
|
import "effect";
|
|
5
5
|
import { existsSync, readFileSync, readdirSync, statSync } from "fs";
|
|
6
6
|
import { basename, join } from "path";
|
|
@@ -242,4 +242,4 @@ var init_jsonl_parser = __esmMin((() => {
|
|
|
242
242
|
//#endregion
|
|
243
243
|
export { init_jsonl_parser as a, getSessionFilesSync as i, getAllSessionFilesSync as n, normalizeModelName as o, getProjectDirsSync as r, parseClaudeSessionSync as s, getActiveSessionModelSync as t };
|
|
244
244
|
|
|
245
|
-
//# sourceMappingURL=jsonl-parser-
|
|
245
|
+
//# sourceMappingURL=jsonl-parser-Dhflo1SH.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed, t as getLinearApiKey } from "./types-
|
|
2
|
+
import { Jn as extractPrefixSync, Yn as init_issue_id, qn as extractNumberSync } from "./config-yaml-DvyMuOle.js";
|
|
3
|
+
import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed, t as getLinearApiKey } from "./types-BBNjPcqU.js";
|
|
4
4
|
import { Effect } from "effect";
|
|
5
5
|
import { exec } from "child_process";
|
|
6
6
|
import { promisify } from "util";
|
|
@@ -106,4 +106,4 @@ __esmMin((() => {
|
|
|
106
106
|
}))();
|
|
107
107
|
export { cleanupMergedLabels };
|
|
108
108
|
|
|
109
|
-
//# sourceMappingURL=label-cleanup-
|
|
109
|
+
//# sourceMappingURL=label-cleanup-BKPJm4Hv.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-
|
|
4
|
-
import { a as
|
|
2
|
+
import { Mt as readIssueRecordForWorkspaceSync, Ot as init_record, Tn as init_projects, gn as getIssuePrefix, kn as listProjectsSync } from "./config-yaml-DvyMuOle.js";
|
|
3
|
+
import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-tnxxqROg.js";
|
|
4
|
+
import { a as READY_LABEL, i as PARKED_LABEL, m as init_pickup, o as RELEASED_LABEL, r as OBJECTION_LABEL, s as VETOED_LABEL, t as BLOCKS_MAIN_LABEL } from "./pickup-Dd0Znxxy.js";
|
|
5
5
|
import { exec } from "node:child_process";
|
|
6
6
|
import { promisify } from "node:util";
|
|
7
7
|
//#region ../../lib/backlog/label-ops.ts
|
|
@@ -110,4 +110,4 @@ var init_label_reconciler = __esmMin((() => {
|
|
|
110
110
|
//#endregion
|
|
111
111
|
export { applyIssueObjectionLabel as a, applyIssueReleasedLabel as c, removeIssueBlocksMainLabel as d, removeIssueObjectionLabel as f, removeIssueVetoedLabel as g, removeIssueReleasedLabel as h, applyIssueBlocksMainLabel as i, applyIssueVetoedLabel as l, removeIssueReadyLabel as m, init_label_reconciler as n, applyIssueParkedLabel as o, removeIssueParkedLabel as p, reconcilePipelineLabelsPatrol as r, applyIssueReadyLabel as s, STALE_PIPELINE_LABELS as t, init_label_ops as u };
|
|
112
112
|
|
|
113
|
-
//# sourceMappingURL=label-reconciler-
|
|
113
|
+
//# sourceMappingURL=label-reconciler-DdWbHEBu.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { t as init_behavior } from "./behavior-
|
|
6
|
-
import {
|
|
2
|
+
import { H as init_providers, Ur as packageRoot, Vr as init_paths, W as qualifyPiModel } from "./config-yaml-DvyMuOle.js";
|
|
3
|
+
import { J as init_ui_theme, K as colorFgBgForTheme, q as getUiThemeSync } from "./tmux-ftABRAmc.js";
|
|
4
|
+
import { o as getHarnessBehavior } from "./src-U7_kTPEE.js";
|
|
5
|
+
import { t as init_behavior } from "./behavior-B_-4EKF3.js";
|
|
6
|
+
import { f as toCodexSandboxValue, l as init_codex } from "./codex-TmSi-yTv.js";
|
|
7
7
|
import { dirname, join } from "node:path";
|
|
8
8
|
import { Data } from "effect";
|
|
9
9
|
//#region ../../lib/model-validation.ts
|
|
@@ -12,7 +12,7 @@ function normalizeModelOverrideSync(value) {
|
|
|
12
12
|
if (typeof value !== "string") throw new Error("model must be a string.");
|
|
13
13
|
const trimmed = value.trim();
|
|
14
14
|
if (trimmed.length === 0) return void 0;
|
|
15
|
-
if (!MODEL_ID_PATTERN.test(trimmed)) throw new Error("model must match [A-Za-z0-9._:/@-]
|
|
15
|
+
if (!MODEL_ID_PATTERN.test(trimmed)) throw new Error("model must match [A-Za-z0-9._:/@-] plus square brackets, with 1-128 characters and no whitespace or shell metacharacters.");
|
|
16
16
|
return trimmed;
|
|
17
17
|
}
|
|
18
18
|
function requireModelOverrideSync(value) {
|
|
@@ -25,7 +25,7 @@ function shellQuoteModelIdSync(model) {
|
|
|
25
25
|
}
|
|
26
26
|
var MODEL_ID_PATTERN;
|
|
27
27
|
var init_model_validation = __esmMin((() => {
|
|
28
|
-
MODEL_ID_PATTERN = /^[A-Za-z0-9](?:[A-Za-z0-9._:/@-]{0,127}
|
|
28
|
+
MODEL_ID_PATTERN = /^[A-Za-z0-9](?:[A-Za-z0-9._:/@-]|\[|\]){0,127}$/;
|
|
29
29
|
Data.TaggedError("ModelValidationError");
|
|
30
30
|
}));
|
|
31
31
|
//#endregion
|
|
@@ -369,10 +369,11 @@ var init_launcher_generator = __esmMin((() => {
|
|
|
369
369
|
"GEMINI_API_KEY",
|
|
370
370
|
"API_TIMEOUT_MS",
|
|
371
371
|
"CLAUDE_CODE_API_KEY_HELPER_TTL_MS",
|
|
372
|
-
"CLAUDE_CODE_AUTO_COMPACT_WINDOW"
|
|
372
|
+
"CLAUDE_CODE_AUTO_COMPACT_WINDOW",
|
|
373
|
+
"CLAUDE_CODE_MAX_CONTEXT_TOKENS"
|
|
373
374
|
];
|
|
374
375
|
}));
|
|
375
376
|
//#endregion
|
|
376
377
|
export { requireModelOverrideSync as a, normalizeModelOverrideSync as i, init_launcher_generator as n, shellQuoteModelIdSync as o, init_model_validation as r, generateLauncherScriptSync as t };
|
|
377
378
|
|
|
378
|
-
//# sourceMappingURL=launcher-generator-
|
|
379
|
+
//# sourceMappingURL=launcher-generator-CHVm7bGT.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-DvyMuOle.js";
|
|
3
3
|
import { existsSync, mkdirSync, writeFileSync } from "fs";
|
|
4
4
|
import { join } from "path";
|
|
5
5
|
//#region ../../lib/context-layers/layers.ts
|
|
@@ -90,4 +90,4 @@ This file is committed to the repo; \`workspace.md\` is not.
|
|
|
90
90
|
//#endregion
|
|
91
91
|
export { globalContextFile as a, legacyWorkspaceContextFile as c, projectContextFile as d, resolveProjectContextFile as f, workspaceContextFile as h, globalContextDir as i, piGlobalContextFile as l, workspaceContextDir as m, codexGlobalContextFile as n, init_layers as o, resolveWorkspaceContextFile as p, ensureProjectLayer as r, legacyProjectContextFile as s, PROJECT_STARTER as t, projectContextDir as u };
|
|
92
92
|
|
|
93
|
-
//# sourceMappingURL=layers-
|
|
93
|
+
//# sourceMappingURL=layers-DzxSTGNA.js.map
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
+
import { mr as init_errors } from "./config-yaml-DvyMuOle.js";
|
|
3
|
+
import "effect";
|
|
4
|
+
import { mkdirSync } from "fs";
|
|
5
|
+
import { join } from "path";
|
|
6
|
+
import "fs/promises";
|
|
7
|
+
//#region ../../lib/xbrief/lifecycle.ts
|
|
8
|
+
/**
|
|
9
|
+
* xBRIEF Lifecycle Foundation
|
|
10
|
+
*
|
|
11
|
+
* Canonical xBRIEF documents live in `specs/` on `overdeck-state`, with
|
|
12
|
+
* lifecycle represented by `plan.status`. The `./vbrief/` directory helpers
|
|
13
|
+
* below remain only for legacy lifecycle compatibility:
|
|
14
|
+
*
|
|
15
|
+
* ./vbrief/proposed/
|
|
16
|
+
* ./vbrief/active/
|
|
17
|
+
* ./vbrief/completed/
|
|
18
|
+
* ./vbrief/cancelled/
|
|
19
|
+
*
|
|
20
|
+
* Canonical filenames are issue-keyed: `YYYY-MM-DD-<ISSUE-ID>-<slug>.xbrief.json`,
|
|
21
|
+
* where the date is the immutable creation date. Readers also accept the legacy
|
|
22
|
+
* `.vbrief.json` extension.
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* Slugify an arbitrary string for use in an xBRIEF filename. Lowercases,
|
|
26
|
+
* replaces non-alphanumeric runs with single dashes, trims leading/trailing
|
|
27
|
+
* dashes, and collapses repeats.
|
|
28
|
+
*/
|
|
29
|
+
function slugify(input) {
|
|
30
|
+
return input.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").replace(/-+/g, "-") || "plan";
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Format a JS Date (or ISO string / YYYY-MM-DD) as YYYY-MM-DD in UTC.
|
|
34
|
+
*/
|
|
35
|
+
function formatDate(value) {
|
|
36
|
+
const d = typeof value === "string" ? new Date(value) : value;
|
|
37
|
+
if (Number.isNaN(d.getTime())) throw new Error(`Invalid date: ${String(value)}`);
|
|
38
|
+
return `${d.getUTCFullYear().toString().padStart(4, "0")}-${(d.getUTCMonth() + 1).toString().padStart(2, "0")}-${d.getUTCDate().toString().padStart(2, "0")}`;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Generate the canonical xBRIEF filename for an issue.
|
|
42
|
+
*
|
|
43
|
+
* Format: `YYYY-MM-DD-<ISSUE-ID>-<slug>.xbrief.json`
|
|
44
|
+
* Example: `2026-05-03-PAN-946-xbrief-lifecycle.xbrief.json`
|
|
45
|
+
*
|
|
46
|
+
* @param issueId - Issue identifier in the form `PREFIX-NUMBER` (e.g. `PAN-946`).
|
|
47
|
+
* Normalized to uppercase in the filename — issue IDs are
|
|
48
|
+
* uppercase by convention, and case-preservation let a
|
|
49
|
+
* lowercased caller produce a duplicate, case-colliding
|
|
50
|
+
* spec file (PAN-1050).
|
|
51
|
+
* @param slug - Free-form slug (will be normalized via slugify).
|
|
52
|
+
* @param createdDate - Date or ISO string used for the YYYY-MM-DD prefix.
|
|
53
|
+
* Defaults to "now". Always interpreted in UTC so filenames
|
|
54
|
+
* are stable across timezones.
|
|
55
|
+
*/
|
|
56
|
+
function generateXBriefFilename(issueId, slug, createdDate = /* @__PURE__ */ new Date()) {
|
|
57
|
+
if (!/^[A-Za-z][A-Za-z0-9]*-\d+$/.test(issueId)) throw new Error(`Invalid issue ID for xBRIEF filename: ${issueId} (expected e.g. PAN-946)`);
|
|
58
|
+
const canonicalIssueId = issueId.toUpperCase();
|
|
59
|
+
return `${formatDate(createdDate)}-${canonicalIssueId}-${slugify(slug)}${XBRIEF_FILENAME_SUFFIX}`;
|
|
60
|
+
}
|
|
61
|
+
/** Return whether a filename uses a supported xBRIEF document extension. */
|
|
62
|
+
function isXBriefFilename(filename) {
|
|
63
|
+
return XBRIEF_FILENAME_SUFFIXES.some((suffix) => filename.endsWith(suffix));
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Parse a canonical xBRIEF filename back into its parts. Both the canonical
|
|
67
|
+
* `.xbrief.json` and legacy `.vbrief.json` extensions are accepted. Returns
|
|
68
|
+
* null if the filename doesn't match the convention so callers can ignore
|
|
69
|
+
* stray files.
|
|
70
|
+
*/
|
|
71
|
+
function parseXBriefFilename(filename) {
|
|
72
|
+
if (!isXBriefFilename(filename)) return null;
|
|
73
|
+
const suffix = XBRIEF_FILENAME_SUFFIXES.find((candidate) => filename.endsWith(candidate));
|
|
74
|
+
if (!suffix) return null;
|
|
75
|
+
const match = filename.slice(0, -suffix.length).match(FILENAME_STEM_RE);
|
|
76
|
+
if (!match) return null;
|
|
77
|
+
return {
|
|
78
|
+
date: match[1],
|
|
79
|
+
issueId: match[2],
|
|
80
|
+
slug: match[3]
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Resolve the absolute path of a specific lifecycle directory under a project's
|
|
85
|
+
* xBRIEF root. Pure path math — does not check existence or create dirs.
|
|
86
|
+
*
|
|
87
|
+
* @param legacyRootDirname - Override the default "vbrief" dirname (from projects.yaml `vbrief_dir`).
|
|
88
|
+
*/
|
|
89
|
+
function resolveXBriefDir(projectRoot, lifecycleDir, legacyRootDirname) {
|
|
90
|
+
return join(projectRoot, legacyRootDirname || "vbrief", lifecycleDir);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Ensure the xBRIEF lifecycle directories exist under the given project root.
|
|
94
|
+
* Returns the absolute path to the xBRIEF root. Idempotent.
|
|
95
|
+
*
|
|
96
|
+
* @param legacyRootDirname - Override the default "vbrief" dirname (from projects.yaml `vbrief_dir`).
|
|
97
|
+
*/
|
|
98
|
+
function ensureXBriefDirsSync(projectRoot, legacyRootDirname) {
|
|
99
|
+
const root = join(projectRoot, legacyRootDirname || "vbrief");
|
|
100
|
+
mkdirSync(root, { recursive: true });
|
|
101
|
+
for (const dir of LEGACY_VBRIEF_LIFECYCLE_DIRS) mkdirSync(join(root, dir), { recursive: true });
|
|
102
|
+
return root;
|
|
103
|
+
}
|
|
104
|
+
var LEGACY_VBRIEF_LIFECYCLE_DIRS, XBRIEF_FILENAME_SUFFIX, LEGACY_VBRIEF_FILENAME_SUFFIX, XBRIEF_FILENAME_SUFFIXES, FILENAME_STEM_RE;
|
|
105
|
+
var init_lifecycle = __esmMin((() => {
|
|
106
|
+
init_errors();
|
|
107
|
+
LEGACY_VBRIEF_LIFECYCLE_DIRS = [
|
|
108
|
+
"proposed",
|
|
109
|
+
"active",
|
|
110
|
+
"completed",
|
|
111
|
+
"cancelled"
|
|
112
|
+
];
|
|
113
|
+
XBRIEF_FILENAME_SUFFIX = ".xbrief.json";
|
|
114
|
+
LEGACY_VBRIEF_FILENAME_SUFFIX = ".vbrief.json";
|
|
115
|
+
XBRIEF_FILENAME_SUFFIXES = [XBRIEF_FILENAME_SUFFIX, LEGACY_VBRIEF_FILENAME_SUFFIX];
|
|
116
|
+
FILENAME_STEM_RE = /^(\d{4}-\d{2}-\d{2})-([A-Za-z][A-Za-z0-9]*-\d+)-([a-z0-9-]+)$/;
|
|
117
|
+
}));
|
|
118
|
+
//#endregion
|
|
119
|
+
export { generateXBriefFilename as a, parseXBriefFilename as c, ensureXBriefDirsSync as i, resolveXBriefDir as l, LEGACY_VBRIEF_LIFECYCLE_DIRS as n, init_lifecycle as o, XBRIEF_FILENAME_SUFFIX as r, isXBriefFilename as s, LEGACY_VBRIEF_FILENAME_SUFFIX as t, slugify as u };
|
|
120
|
+
|
|
121
|
+
//# sourceMappingURL=lifecycle-DfeyBDwA.js.map
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { Ht as flushAutoCommits, Ot as init_record, Pt as readRecordContinueViewSync, Ut as init_auto_commit, Wt as queueAutoCommit, _t as appendFeedbackEntrySync, bt as clearRecordFeedbackSync, ir as FsError, mr as init_errors, yt as appendSessionEntrySync } from "./config-yaml-DvyMuOle.js";
|
|
3
|
+
import { a as generateXBriefFilename, c as parseXBriefFilename, i as ensureXBriefDirsSync, l as resolveXBriefDir, n as LEGACY_VBRIEF_LIFECYCLE_DIRS, o as init_lifecycle, u as slugify } from "./lifecycle-DfeyBDwA.js";
|
|
4
|
+
import { A as init_xbrief_index, C as init_specs, S as getProjectPanPaths, d as readPlanSync, g as serializeXBriefDocument, j as invalidateXBriefIndex, l as normalizeXBriefEnvelope, o as init_io } from "./io-B3_AHDfr.js";
|
|
5
|
+
import { t as init_pan_dir } from "./pan-dir-DeVUgwA7.js";
|
|
5
6
|
import { Effect } from "effect";
|
|
6
7
|
import { existsSync, mkdirSync, readFileSync, readdirSync, renameSync, unlinkSync, writeFileSync } from "fs";
|
|
7
8
|
import { basename, join } from "path";
|
|
8
|
-
//#region ../../lib/
|
|
9
|
+
//#region ../../lib/xbrief/lifecycle-io.ts
|
|
9
10
|
/**
|
|
10
|
-
*
|
|
11
|
+
* xBRIEF Lifecycle IO
|
|
11
12
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* for legacy spec files only (no continue files — those are at `.pan/continues/`).
|
|
13
|
+
* Canonical scope specs and project-side continue files live in `specs/` and
|
|
14
|
+
* `continues/` on `overdeck-state`. Legacy `vbrief/<lifecycle>/` directories
|
|
15
|
+
* remain a read-only fallback for legacy spec files.
|
|
16
16
|
*/
|
|
17
17
|
function readSpecFileSync(path) {
|
|
18
18
|
if (!existsSync(path)) return null;
|
|
@@ -24,7 +24,7 @@ function readSpecFileSync(path) {
|
|
|
24
24
|
}
|
|
25
25
|
let parsed;
|
|
26
26
|
try {
|
|
27
|
-
parsed =
|
|
27
|
+
parsed = normalizeXBriefEnvelope(JSON.parse(raw));
|
|
28
28
|
} catch {
|
|
29
29
|
return null;
|
|
30
30
|
}
|
|
@@ -40,9 +40,9 @@ function updateSpecStatusSync(projectRoot, issueId, newStatus) {
|
|
|
40
40
|
status: newStatus
|
|
41
41
|
};
|
|
42
42
|
const tmp = `${existing.path}.tmp`;
|
|
43
|
-
writeFileSync(tmp,
|
|
43
|
+
writeFileSync(tmp, serializeXBriefDocument(nextDocument), "utf-8");
|
|
44
44
|
renameSync(tmp, existing.path);
|
|
45
|
-
|
|
45
|
+
invalidateXBriefIndex(projectRoot);
|
|
46
46
|
return {
|
|
47
47
|
...existing,
|
|
48
48
|
status: newStatus,
|
|
@@ -56,13 +56,13 @@ function writeSpecForIssueSync(projectRoot, doc, status, filename) {
|
|
|
56
56
|
...doc,
|
|
57
57
|
status
|
|
58
58
|
};
|
|
59
|
-
const nextFilename = filename ??
|
|
59
|
+
const nextFilename = filename ?? generateXBriefFilename(doc.plan.id, doc.plan.title);
|
|
60
60
|
const path = join(specsDir, nextFilename);
|
|
61
61
|
const tmp = `${path}.tmp`;
|
|
62
|
-
writeFileSync(tmp,
|
|
62
|
+
writeFileSync(tmp, serializeXBriefDocument(specDocument), "utf-8");
|
|
63
63
|
renameSync(tmp, path);
|
|
64
|
-
|
|
65
|
-
const parts =
|
|
64
|
+
invalidateXBriefIndex(projectRoot);
|
|
65
|
+
const parts = parseXBriefFilename(nextFilename);
|
|
66
66
|
return {
|
|
67
67
|
path,
|
|
68
68
|
filename: nextFilename,
|
|
@@ -85,7 +85,7 @@ function findSpecByIssueSync(projectRoot, issueId) {
|
|
|
85
85
|
}
|
|
86
86
|
filenames.sort();
|
|
87
87
|
for (const filename of filenames) {
|
|
88
|
-
const parts =
|
|
88
|
+
const parts = parseXBriefFilename(filename);
|
|
89
89
|
if (!parts) continue;
|
|
90
90
|
if (parts.issueId.toUpperCase() !== upperIssueId) continue;
|
|
91
91
|
const path = join(specsDir, filename);
|
|
@@ -117,9 +117,9 @@ function specEntryToFound(entry) {
|
|
|
117
117
|
date: entry.date
|
|
118
118
|
};
|
|
119
119
|
}
|
|
120
|
-
function
|
|
121
|
-
for (const lifecycleDir of
|
|
122
|
-
const dirPath =
|
|
120
|
+
function findLegacyXBriefByIssue(projectRoot, issueId) {
|
|
121
|
+
for (const lifecycleDir of LEGACY_VBRIEF_LIFECYCLE_DIRS) {
|
|
122
|
+
const dirPath = resolveXBriefDir(projectRoot, lifecycleDir);
|
|
123
123
|
if (!existsSync(dirPath)) continue;
|
|
124
124
|
let entries;
|
|
125
125
|
try {
|
|
@@ -128,7 +128,7 @@ function findLegacyVBriefByIssue(projectRoot, issueId) {
|
|
|
128
128
|
continue;
|
|
129
129
|
}
|
|
130
130
|
for (const entry of entries) {
|
|
131
|
-
const parts =
|
|
131
|
+
const parts = parseXBriefFilename(entry);
|
|
132
132
|
if (!parts || parts.issueId !== issueId) continue;
|
|
133
133
|
const path = join(dirPath, entry);
|
|
134
134
|
try {
|
|
@@ -145,10 +145,10 @@ function findLegacyVBriefByIssue(projectRoot, issueId) {
|
|
|
145
145
|
}
|
|
146
146
|
return null;
|
|
147
147
|
}
|
|
148
|
-
function
|
|
148
|
+
function findXBriefByIssueSync(projectRoot, issueId) {
|
|
149
149
|
const spec = findSpecByIssueSync(projectRoot, issueId);
|
|
150
150
|
if (spec) return specEntryToFound(spec);
|
|
151
|
-
return
|
|
151
|
+
return findLegacyXBriefByIssue(projectRoot, issueId);
|
|
152
152
|
}
|
|
153
153
|
function ensurePanSpecForIssue(projectRoot, found) {
|
|
154
154
|
const existingSpec = findSpecByIssueSync(projectRoot, found.issueId);
|
|
@@ -171,15 +171,15 @@ function updatePlanStatus(filePath, newStatus) {
|
|
|
171
171
|
doc.plan.status = newStatus;
|
|
172
172
|
doc.plan.sequence = (doc.plan.sequence ?? 0) + 1;
|
|
173
173
|
doc.plan.updated = now;
|
|
174
|
-
doc.
|
|
174
|
+
doc.xBRIEFInfo.updated = now;
|
|
175
175
|
const tmp = filePath + ".tmp";
|
|
176
|
-
writeFileSync(tmp,
|
|
176
|
+
writeFileSync(tmp, serializeXBriefDocument(doc), "utf-8");
|
|
177
177
|
renameSync(tmp, filePath);
|
|
178
178
|
}
|
|
179
|
-
async function
|
|
180
|
-
const found =
|
|
181
|
-
if (!found) throw new Error(`No
|
|
182
|
-
|
|
179
|
+
async function transitionXBriefOnMainPromise(projectRoot, issueId, targetDir, newStatus, commitMessage) {
|
|
180
|
+
const found = findXBriefByIssueSync(projectRoot, issueId);
|
|
181
|
+
if (!found) throw new Error(`No xBRIEF found for issue ${issueId} under ${projectRoot}`);
|
|
182
|
+
ensureXBriefDirsSync(projectRoot);
|
|
183
183
|
const ensured = ensurePanSpecForIssue(projectRoot, found);
|
|
184
184
|
const ensuredSpec = ensured.found;
|
|
185
185
|
const needsMove = ensuredSpec.lifecycleDir !== targetDir;
|
|
@@ -205,7 +205,7 @@ async function transitionVBriefOnMainPromise(projectRoot, issueId, targetDir, ne
|
|
|
205
205
|
committed = flushed.committed;
|
|
206
206
|
if (flushed.pushed === false) throw new Error(flushed.reason ?? `Spec transition for ${issueId} was committed but not pushed`);
|
|
207
207
|
}
|
|
208
|
-
if (changed)
|
|
208
|
+
if (changed) invalidateXBriefIndex(projectRoot);
|
|
209
209
|
return {
|
|
210
210
|
fromDir: found.lifecycleDir,
|
|
211
211
|
toDir: targetDir,
|
|
@@ -242,26 +242,26 @@ function clearFeedbackForIssue(projectRoot, issueId) {
|
|
|
242
242
|
path: projectRoot
|
|
243
243
|
}, issueId);
|
|
244
244
|
}
|
|
245
|
-
var
|
|
245
|
+
var transitionXBriefOnMain;
|
|
246
246
|
var init_lifecycle_io = __esmMin((() => {
|
|
247
247
|
init_pan_dir();
|
|
248
248
|
init_lifecycle();
|
|
249
249
|
init_io();
|
|
250
|
-
|
|
250
|
+
init_xbrief_index();
|
|
251
251
|
init_specs();
|
|
252
252
|
init_record();
|
|
253
253
|
init_errors();
|
|
254
254
|
init_auto_commit();
|
|
255
|
-
|
|
256
|
-
try: () =>
|
|
255
|
+
transitionXBriefOnMain = (projectRoot, issueId, targetDir, newStatus, commitMessage) => Effect.tryPromise({
|
|
256
|
+
try: () => transitionXBriefOnMainPromise(projectRoot, issueId, targetDir, newStatus, commitMessage),
|
|
257
257
|
catch: (cause) => new FsError({
|
|
258
258
|
path: projectRoot,
|
|
259
|
-
operation: "
|
|
259
|
+
operation: "transitionXBriefOnMain",
|
|
260
260
|
cause
|
|
261
261
|
})
|
|
262
262
|
});
|
|
263
263
|
}));
|
|
264
264
|
//#endregion
|
|
265
|
-
export { init_lifecycle_io as a, updatePlanStatus as c,
|
|
265
|
+
export { init_lifecycle_io as a, updatePlanStatus as c, findXBriefByIssueSync as i, appendFeedbackEntryForIssue as n, readContinueStateForIssue as o, clearFeedbackForIssue as r, transitionXBriefOnMain as s, appendContinueSessionEntryForIssue as t };
|
|
266
266
|
|
|
267
|
-
//# sourceMappingURL=lifecycle-io-
|
|
267
|
+
//# sourceMappingURL=lifecycle-io-D8iNBcux.js.map
|