@overdeck/desktop 0.45.16 → 0.45.18
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-aQFKQf-J.js +62 -0
- package/server/{advancing-selfheal-DJYAvGv-.js → advancing-selfheal-DgwQgm4D.js} +6 -6
- package/server/{agent-gc-D0wDIeV1.js → agent-gc-kpzxqT7P.js} +3 -3
- package/server/agent-state-C_6TG-Ad.js +3 -0
- package/server/{agent-state-service-CZrayD_G.js → agent-state-service-BUfovFfB.js} +1 -1
- package/server/{agent-state-service-DFslS5go.js → agent-state-service-nUD3qfob.js} +5 -5
- package/server/agents-BA15AQqo.js +3 -0
- package/server/{briefing-freshness-DESTCWo-.js → agents-BHBxr8c9.js} +5 -131
- package/server/{archive-planning-CbghE9-o.js → archive-planning-CzCW9Ifl.js} +5 -10
- package/server/{archive-planning-CoyIbgGK.js → archive-planning-D-QsBufn.js} +1 -1
- package/server/{artifact-index-jobs-CcSrUoSE.js → artifact-index-jobs-qqa51B2Z.js} +2 -2
- package/server/{backlog-auto-trigger-BfgDsII0.js → backlog-auto-trigger-B7Bi0bvY.js} +2 -2
- package/server/{behavior-BTpYbAv4.js → behavior-CWqNMqE5.js} +2 -2
- package/server/briefing-freshness-DuxIE1yr.js +131 -0
- package/server/{checkpoint-manager-BwFdegJF.js → checkpoint-manager-DF6hb9Jw.js} +3 -3
- package/server/{checkpoint-manager-DWSXooZV.js → checkpoint-manager-DixkLus7.js} +1 -1
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-fjadfOKF.js → checkpoints-B1Z42tJE.js} +1 -1
- package/server/{checkpoints-BtUonbs3.js → checkpoints-BiviJqei.js} +2 -2
- package/server/{claude-hooks-provision-DiK62u0k.js → claude-hooks-provision-BeMGi4ty.js} +1 -1
- package/server/{claude-hooks-provision-DAtxutOs.js → claude-hooks-provision-Du_PkMsp.js} +2 -2
- package/server/{claude-permissions-CThLgf8d.js → claude-permissions-BB6agcOZ.js} +2 -2
- package/server/{claude-settings-overlay-BF9MPIwx.js → claude-settings-overlay-CAq2oFSK.js} +2 -2
- package/server/{claude-settings-overlay-Dx_Uqcmv.js → claude-settings-overlay-DUWWLd6M.js} +1 -1
- package/server/cli-BFgrSWKV.js +3 -0
- package/server/{cli-ByKIIMfT.js → cli-C33xPZNm.js} +9 -9
- package/server/{cliproxy-C_GuT5DU.js → cliproxy-BQX1TL6N.js} +1 -1
- package/server/{cliproxy-B4c1BUvs.js → cliproxy-CGBA1GzA.js} +2 -2
- package/server/{close-issue-BOuLKr6e.js → close-issue-DNv8npc1.js} +5 -5
- package/server/{closed-issue-reaper-CksfuiFD.js → closed-issue-reaper-DrqgBJlr.js} +1 -1
- package/server/{closed-issue-reaper-DCAYzNXW.js → closed-issue-reaper-LoMnnjtJ.js} +9 -9
- package/server/codex-DxLivxri.js +3 -0
- package/server/{codex-parser-mFYZh8vR.js → codex-parser-DboQnEXN.js} +2 -2
- package/server/{codex-BbqIRZjd.js → codex-sgWVCGUd.js} +43 -18
- package/server/{config-Dj6N8EP9.js → config-6MCHOZ2N.js} +1 -1
- package/server/{config-DVLdmnMJ.js → config-DfaUXr6r.js} +2 -2
- package/server/{config-yaml-cNOZcEww.js → config-yaml-CqaAyn8y.js} +74 -74
- package/server/{conflict-gate-BMKm_5DV.js → conflict-gate-BF_zhcmb.js} +3 -3
- package/server/{conflict-gate-CuXUv-bP.js → conflict-gate-BubJprtD.js} +1 -1
- package/server/{context-layers-c0JqYHcS.js → context-layers-BFrxfl0l.js} +17 -3
- package/server/{context-layers-CeAwSYNt.js → context-layers-DWL_8HhY.js} +2 -2
- package/server/{control-settings-D4EFsRBd.js → control-settings-BguNQ1F_.js} +4 -4
- package/server/{conversation-compaction-kHVfVRg3.js → conversation-compaction-CRKAf2qP.js} +1 -1
- package/server/{conversation-compaction-BCggyih4.js → conversation-compaction-DxSXl0pT.js} +8 -8
- package/server/{conversation-service-BTzObqGi.js → conversation-service-DzuY9qoH.js} +1 -1
- package/server/{conversation-service-B8LFQQm1.js → conversation-service-mFVFdDQK.js} +6 -6
- package/server/{conversations-B-lcHv-5.js → conversations-BX5aD-6F.js} +4 -4
- package/server/{conversations-BM7zlXjr.js → conversations-BajHQ60c.js} +1 -1
- package/server/{cost-D9kPIY_5.js → cost-BoqD1Pxz.js} +2 -2
- package/server/{cost-BcpRQ-7o.js → cost-DuZ5vlv-.js} +3 -3
- package/server/{cost-sync-DF6odxK9.js → cost-sync-BYnmnMkY.js} +3 -3
- package/server/{dag-DKI3sOmX.js → dag-C6kYyF17.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-CwCiNuEZ.js} +3 -3
- package/server/{deacon-DdARMjZq.js → deacon-Dru5onpk.js} +233 -162
- package/server/{deacon-nudge-log-B-naf89q.js → deacon-nudge-log-ilDfxrhK.js} +1 -1
- package/server/{deacon-swarm-BNGkmYR_.js → deacon-swarm-BPmBmSoU.js} +298 -72
- package/server/deacon-swarm-CKyGJng1.js +2 -0
- package/server/deacon.js +14 -7
- package/server/{devcontainer-renderer-C-34Sxyz.js → devcontainer-renderer-BqGNCzvN.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-CNjXS72x.js} +2 -2
- package/server/{ensure-devcontainer-Bqi1EF1P.js → ensure-devcontainer-5e9xOve4.js} +4 -4
- package/server/{ensure-devcontainer-Dq3KoOIl.js → ensure-devcontainer-C6gyUQdE.js} +1 -1
- package/server/{esm-shims-BEjvINX3.js → esm-shims-Cso7IGBC.js} +1 -1
- package/server/{event-store-CqDgfbAs.js → event-store-D9UhQyMS.js} +1 -1
- package/server/{event-store-D89fMfXS.js → event-store-KZnWUKWh.js} +3 -3
- package/server/{events-S_C0pvl6.js → events-2eFUPdqz.js} +3 -3
- package/server/{events-rIGncmP1.js → events-BYbvqZky.js} +1 -1
- package/server/{factory-DV18m0rc.js → factory-BtaRsHFC.js} +20 -17
- package/server/{feature-registry-population-CqZSnqQi.js → feature-registry-population-Ca2UaV0U.js} +4 -4
- package/server/{feature-registry-storage-BeXmNBwK.js → feature-registry-storage-DaP-bQxO.js} +2 -2
- package/server/{features-u5XeMaOK.js → features-DqvaoQoa.js} +2 -2
- package/server/{feedback-target-CwyWf0Dg.js → feedback-target-BXWdOiYI.js} +9 -7
- package/server/{feedback-target-DDG1PWl3.js → feedback-target-BblmMe9P.js} +1 -1
- package/server/{feedback-writer-BsJiw5aT.js → feedback-writer-CULeOOY4.js} +1 -1
- package/server/{feedback-writer-D20HSXre.js → feedback-writer-Dn8o9ZyE.js} +4 -4
- package/server/{flywheel-RCnHAgc4.js → flywheel-BUWdcfhq.js} +1 -1
- package/server/{flywheel-Dczmgchd.js → flywheel-CqkO3cDj.js} +15 -28
- package/server/{flywheel-9Y1X7IM-.js → flywheel-D9r1mw2U.js} +13 -13
- package/server/{flywheel-merge-order-DEtEd3aK.js → flywheel-merge-order-LDzQDwSg.js} +1 -1
- package/server/{flywheel-merge-order-CtCYsFJP.js → flywheel-merge-order-VtjUweEb.js} +6 -6
- package/server/forge-DJy3Zx4s.js +2 -0
- package/server/{forge-DFDThFil.js → forge-wEollMCi.js} +22 -12
- package/server/{from-NSJypkI8.js → from-B2tOYhYV.js} +1 -1
- package/server/{fts-db-C5A_TTOM.js → fts-db-Bgzn2RO7.js} +2 -2
- package/server/{fts-operations-DvCSimfU.js → fts-operations-Bj8yutnR.js} +2 -2
- package/server/{git-utils-Dr0L7mFk.js → git-utils-GxlL0tmt.js} +2 -2
- package/server/{git-utils-C0neHvQx.js → git-utils-q8jNoBts.js} +1 -1
- package/server/{github-app-Bwt9lK4A.js → github-app-BrYwK_Gb.js} +1 -1
- package/server/{github-app-u9-SX7Gc.js → github-app-tUbb8Ldr.js} +8 -3
- package/server/{github-client-Btyy3uan.js → github-client-BwBU41jK.js} +3 -3
- package/server/{github-client-Do3k-N1W.js → github-client-D6CNsftm.js} +1 -1
- package/server/{github-pr-lookup-DOF1U2WW.js → github-pr-lookup-BS5PqkJb.js} +2 -2
- package/server/{harness-resolve-C6g2R0Cd.js → harness-resolve-Dx8hUsvC.js} +3 -3
- package/server/{health-events-B4u-2a9m.js → health-events-2DLp-5Xp.js} +2 -2
- package/server/{health-events-Bos3sk5g.js → health-events-B0mj6Iae.js} +1 -1
- package/server/{hooks-uEr8WTx_.js → hooks-BDcQJDUe.js} +1 -1
- package/server/{hooks-BCoOjL_R.js → hooks-BS_JrvYP.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-DbZ8ukMd.js → idle-stack-reaper-BCITXNW5.js} +2 -2
- package/server/{idle-stack-reaper-H0W6XtHh.js → idle-stack-reaper-C1ymihno.js} +1 -1
- package/server/{infra-Ba9mS6e6.js → infra-_Kx1m9pm.js} +9 -4
- package/server/{injection-C1DKXeIZ.js → injection-Bvhyg_MV.js} +1 -1
- package/server/{injection-yrMBxzVq.js → injection-CCaYkofq.js} +7 -7
- package/server/{inspect-agent-B-mnb4uh.js → inspect-agent-BqyZ4pCo.js} +35 -67
- package/server/inspect-agent-DCJQm9Wu.js +2 -0
- package/server/{internal-token-BtqSbKTx.js → internal-token-Cl-1IxaE.js} +2 -2
- package/server/{internal-token-BPYEaXFh.js → internal-token-D-t28de5.js} +1 -1
- package/server/{io-VEGSAqsd.js → io-DkC4sFSy.js} +36 -43
- package/server/{issue-closed-BxcePXL-.js → issue-closed-Cpl4VDUM.js} +41 -6
- package/server/{issue-lifecycle--8MRxrG1.js → issue-lifecycle-CFR8TJ22.js} +22 -37
- package/server/{issue-lifecycle-CdMUauyb.js → issue-lifecycle-YNTy3OT3.js} +1 -1
- package/server/{issue-service-singleton-MZsDhAob.js → issue-service-singleton-D81mCts_.js} +1 -1
- package/server/{issue-service-singleton-CkTUI-eu.js → issue-service-singleton-ldvUUXi3.js} +29 -29
- package/server/{issues-CBAsuoAO.js → issues-DIEHt9sq.js} +2 -2
- package/server/{jsonl-parser-BUW5_sSK.js → jsonl-parser-Cd5jIqh7.js} +3 -3
- package/server/{label-cleanup-htK6fBRU.js → label-cleanup-Btny6Gyo.js} +3 -3
- package/server/{state-home-CEvD_v5F.js → launcher-generator-BXLM9f4b.js} +7 -127
- package/server/{layers-jjL16At6.js → layers-gCJlK62m.js} +2 -2
- package/server/lifecycle-D7aQUnTO.js +12 -0
- package/server/{lifecycle-io-DXv8Utct.js → lifecycle-io-DQBF-GHO.js} +1 -1
- package/server/{lifecycle-io-IehcRt2v.js → lifecycle-io-FfPUtz-y.js} +4 -4
- package/server/{linear-client-D9cSQfvD.js → linear-client-CDH2D6Qy.js} +3 -3
- package/server/{linear-client-By7hjwuN.js → linear-client-WrYrUIAH.js} +1 -1
- package/server/memory-fts-worker.js +1 -1
- package/server/{merge-BN8FGJ2q.js → merge-BsDgUxFz.js} +3 -3
- package/server/{merge-BLcEZNXz.js → merge-Dervs4BF.js} +1 -1
- package/server/{merge-agent-B3u2szOL.js → merge-agent-D6DNhe9j.js} +64 -51
- package/server/{merge-agent-ejC7Wos8.js → merge-agent-DMQTJMP0.js} +1 -1
- package/server/{merge-batch-DyqlgYGp.js → merge-batch-Bv6Z5K2H.js} +1 -1
- package/server/{merge-blockers-cq-aS2KG.js → merge-blockers-WWWi6Ur2.js} +2 -2
- package/server/merge-ops-h9OCnIVz.js +2 -0
- package/server/{merge-rebase-Dl7yIxtV.js → merge-rebase-Czth9ggm.js} +2 -2
- package/server/{merge-set-CZ9Nbay0.js → merge-set-DNc4zBqd.js} +3 -3
- package/server/{merge-set-Dy0D0r3i.js → merge-set-vuE3MEVt.js} +1 -1
- package/server/{merge-sync-D7jWLgCC.js → merge-sync-B2KSk54U.js} +2 -2
- package/server/{merge-sync-CG9kDCdT.js → merge-sync-B9nHdUGx.js} +1 -1
- package/server/{merge-train-CH33XJOH.js → merge-train-DJgr81tF.js} +3 -3
- package/server/{merge-train-deps-JoVdGnOg.js → merge-train-deps-B2OWS0k9.js} +4 -4
- package/server/{merge-verification-D4wTChdX.js → merge-verification-BBIXUEqa.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-DI_IS1p_.js → orphan-proposed-reconciler-B8H41C4a.js} +14 -24
- package/server/{orphan-proposed-reconciler-BIcNu4tl.js → orphan-proposed-reconciler-DbTmT7qy.js} +1 -1
- package/server/package-lock.json +12 -12
- package/server/package.json +1 -1
- package/server/{pan-dir-CQIfKG8c.js → pan-dir-BTw4MdSe.js} +4 -4
- package/server/{paths-Blj6A9AJ.js → paths-Btkc8mzp.js} +2 -2
- package/server/{pipeline-notifier-BH4PAi-w.js → pipeline-notifier-3frIvSi3.js} +1 -1
- package/server/{pipeline-notifier-D_WYtEwl.js → pipeline-notifier-DTd19f18.js} +2 -2
- package/server/{project-pipelines-jMTitpeO.js → project-pipelines-B95fcAek.js} +2 -2
- package/server/projects-Dc9aoVoG.js +3 -0
- package/server/{prompts-B3njaImU.js → prompts-CIVmjHxn.js} +2 -2
- package/server/{providers-DnPxkHoG.js → providers-BLLk5IIb.js} +1 -1
- package/server/{providers-BbEyFhPX.js → providers-C-yWibCk.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-D7AL5woD.js} +1 -1
- package/server/{pull-requests-DyUkQl4W.js → pull-requests-NDDNtqNq.js} +3 -3
- package/server/{agents-B9GwfCyp.js → queries-C0LCGG21.js} +710 -325
- package/server/{rally-BtWjybOa.js → rally-4oKvnxLG.js} +3 -3
- package/server/rally-DF5a3ioP.js +3 -0
- package/server/{rally-api-B-osULNL.js → rally-api-41tT6ikZ.js} +2 -2
- package/server/{rally-api-B-YA_oXx.js → rally-api-BsaQ8Vnz.js} +1 -1
- package/server/{rally-client-sErNQBO0.js → rally-client-Bo4hNcCZ.js} +5 -5
- package/server/{rally-client-CzFymP7P.js → rally-client-b5PT1x5L.js} +1 -1
- 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-nGD_nPZo.js → rebuild-stack-C7JPUom6.js} +1 -1
- package/server/{rebuild-stack-CoU-HqZj.js → rebuild-stack-Ddv6W017.js} +5 -5
- package/server/{reconstruct-cache-Wj8GrYB0.js → reconstruct-cache-Gqhm---K.js} +6 -6
- package/server/record-DLOqfbkI.js +3 -0
- package/server/record-update-BltEmPge.js +168 -0
- package/server/record-update-CDp7aTaT.js +3 -0
- package/server/recovery-trip-Cn7KJVkS.js +44 -0
- package/server/{release-engine-CBLQXDlH.js → release-engine-BYzmIBf9.js} +5 -5
- package/server/{release-set-BNiqi7hy.js → release-set-7pnxFOWR.js} +3 -3
- package/server/{remote-DW_TWQnr.js → remote-Cvu4CSDk.js} +3 -3
- package/server/{remote-agents-C4cyxHQS.js → remote-agents-C2C6z9tj.js} +6 -33
- package/server/{remote-agents-Cv-U-_V8.js → remote-agents-DYY5fFpd.js} +1 -1
- package/server/{remote-completion-PhXGGFQy.js → remote-completion-2Kb4IDg_.js} +13 -13
- package/server/{remote-DcO9An_f.js → remote-rN0ecjHE.js} +3 -3
- package/server/resume-BFLl-yLn.js +3 -0
- package/server/{review-agent-Dn-yn7Zj.js → review-agent-BZvk0N5G.js} +31 -23
- package/server/{review-agent-u5q3ip7H.js → review-agent-CpSHLzed.js} +1 -1
- package/server/{review-artifacts-D4T04aYI.js → review-artifacts-PCo53YMn.js} +5 -19
- package/server/{review-context-Rc0VDLG_.js → review-context-M7QtJlJq.js} +8 -8
- package/server/{review-monitor-BC--miCO.js → review-monitor-BLC5mTTg.js} +2 -2
- package/server/{review-status-CG0iDuWa.js → review-status-77N3PoZr.js} +1 -1
- package/server/{review-status-Dc1l4dVz.js → review-status-DANr0t-v.js} +32 -58
- package/server/{review-status-enrichment-C1a1OG_1.js → review-status-enrichment-DwOg4UfL.js} +3 -3
- package/server/{review-status-sync-CfSixhhX.js → review-status-sync-Bd08OOFA.js} +1 -1
- package/server/{review-status-sync-CAr-hfnJ.js → review-status-sync-BjTUJ5fx.js} +2 -2
- package/server/{review-verdict-feedback-D2Q960wX.js → review-verdict-feedback-BsFLjN_6.js} +1 -1
- package/server/{review-verdict-feedback-CVDbIDBe.js → review-verdict-feedback-CBf-J_wS.js} +8 -8
- package/server/{rollup-DctoIu-A.js → rollup-Bu0f2EyN.js} +8 -8
- package/server/{rollup-CakjztPl.js → rollup-DTCCdEy4.js} +1 -1
- package/server/{scanner-BTM1jc_u.js → scanner-BlZ2vB7j.js} +7 -7
- package/server/{sequence-io-pnoIDGv4.js → sequence-io-ylyDtz2J.js} +4 -4
- package/server/{sequencer-agent-9Soi-WL-.js → sequencer-agent-DsWQ-87H.js} +6 -17
- package/server/server.js +4695 -4093
- package/server/{service-DfTVoqJg.js → service-CLVBC_1Y.js} +116 -90
- package/server/{session-fork-C4jAFHj8.js → session-fork-DlEIAhRy.js} +2 -2
- package/server/{session-history-DanhhiCw.js → session-history-bnOFKMwf.js} +4 -4
- package/server/settings-CP3GGon2.js +2 -0
- package/server/{settings-Cuc12oP_.js → settings-Cqa-8nyj.js} +2 -2
- package/server/{settings-DfT3f86D.js → settings-gJrdLZy2.js} +3 -3
- package/server/{shadow-engineering-bKuKTCn-.js → shadow-engineering-fq1YEKV3.js} +3 -3
- package/server/{shadow-state-CVHpRWlb.js → shadow-state-BqeFAygK.js} +1 -1
- package/server/{shadow-state-DJz6_pb_.js → shadow-state-RptE9Cau.js} +2 -2
- package/server/shadow-utils-BMWr5tRT.js +39 -0
- package/server/{ship-log-CwqPFfqx.js → ship-log-BRQQi2lU.js} +1 -1
- package/server/{smart-compaction-CiWfGfRZ.js → smart-compaction-CmoXpjeU.js} +7 -7
- package/server/{smart-compaction-B4KlpZGN.js → smart-compaction-DldUel4B.js} +1 -1
- package/server/{spawn-planning-session-CU-DwyDl.js → spawn-planning-session-CoS6LTc6.js} +16 -16
- package/server/{spawn-planning-session-D5N3RuLG.js → spawn-planning-session-DT2tSMxo.js} +1 -1
- package/server/{specialist-completion-CJcv-NXH.js → specialist-completion-pJtESo7m.js} +1 -1
- package/server/{specialist-context-B2HlbNxS.js → specialist-context-CspI4Eog.js} +5 -5
- package/server/{specialist-handoff-logger-CQyF1ygu.js → specialist-handoff-logger-Duz9RGvk.js} +2 -2
- package/server/{specialist-logs-CdcUpfjj.js → specialist-logs-DtSkPJZK.js} +3 -3
- package/server/{specialists-D7AcFi1u.js → specialists-CywEMwxk.js} +1 -1
- package/server/{specialists-k22_Btaq.js → specialists-D9-dMUtI.js} +1 -1
- package/server/{specialists-CFgw_0Q6.js → specialists-Dax7tqXC.js} +161 -448
- package/server/{specialists-CwzFdapR.js → specialists-GF42OOqd.js} +18 -18
- package/server/specs-VwcFtEDi.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-BsEVrJZ6.js} +1 -1
- package/server/{stack-health-CSgcYcr8.js → stack-health-C-SnpRHh.js} +2 -2
- package/server/stale-task-claims-vTxmRzLi.js +69 -0
- package/server/state-home-Bur1y4oH.js +213 -0
- package/server/{state-mapping-C13UaCL7.js → state-mapping-Ci0pkac4.js} +1 -1
- package/server/state-migrate-D3VveYfO.js +362 -0
- package/server/{stuck-remediation-CxsyxwFO.js → stuck-remediation-B699-p8v.js} +36 -41
- package/server/{stuck-remediation-nTIvhGOR.js → stuck-remediation-CaFYYTQW.js} +1 -1
- package/server/{summary-fork-CnRMPCYd.js → summary-fork-BxnF8Xh0.js} +2 -2
- package/server/{summary-fork-gKSoFAnK.js → summary-fork-COqYpVa3.js} +8 -8
- package/server/supervisor/{paths-3R6b989k.js → paths-Bk6hJRH9.js} +4 -3
- package/server/supervisor/pty-supervisor.js +2 -2
- package/server/supervisor/{pty-token-CScQ32Rj.js → pty-token-BZS5GYdG.js} +2 -2
- package/server/supervisor-eWAAmXKu.js +2 -0
- package/server/{supervisor-CZMs8s0M.js → supervisor-liMgIPDF.js} +2 -2
- package/server/{swarm-readiness-h6-pwY8w.js → swarm-readiness-sXB1vhzo.js} +3 -3
- package/server/{system-prerequisites-DZZTi2G6.js → system-prerequisites-Bz6KdkFJ.js} +1 -13
- package/server/{teardown-workspace-B4D-oCVg.js → teardown-workspace-DvzqnmUF.js} +14 -71
- package/server/{test-agent-queue-CnuYku4B.js → test-agent-queue-hAU1Ah08.js} +5 -5
- package/server/{tldr-daemon-CuA8hz21.js → tldr-daemon-Bam7Xhoo.js} +2 -2
- package/server/{tldr-daemon-CgZQ3jmZ.js → tldr-daemon-DhGwd88s.js} +1 -1
- package/server/tmux-C-rgxRDA.js +3 -0
- package/server/{tmux-C3g9VFcg.js → tmux-U55cNGFG.js} +92 -4
- 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-OkdbaUCm.js} +2 -2
- package/server/{tracker-utils--z8FLSWn.js → tracker-utils-CghXMF3q.js} +2 -2
- package/server/{tracker-utils-DkKyRT0H.js → tracker-utils-DdzUiPNU.js} +1 -1
- package/server/{tunnel-BpWZs0Jy.js → tunnel-D1YxesBL.js} +3 -3
- package/server/{tunnel-CN2px87h.js → tunnel-DjlzgTl3.js} +1 -1
- 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-utGVmqdm.js → uat-train-CaaWs9Rp.js} +1 -1
- package/server/{uat-train-BRo6DM7p.js → uat-train-CqN34zFx.js} +24 -25
- package/server/{validation-CsPVsoA0.js → validation-4-z2Cw4z.js} +70 -23
- package/server/validation-DpTNakM6.js +3 -0
- 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-BjHN80pJ.js} +338 -58
- package/server/verification-runner-ShYu5Ph3.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-BiJ43Der.js} +12 -88
- package/server/workflows-B4C3lY9E.js +2 -0
- package/server/{workflows-CXRwhw_o.js → workflows-DkTotz_m.js} +17 -24
- package/server/{workspace-CNfuj1-5.js → workspace-CuN0ev4Z.js} +3 -3
- package/server/{workspace-9UEsKuiP.js → workspace-DQ4vVivd.js} +1 -1
- package/server/{workspace-config-ChWOECy0.js → workspace-config-C77NKnsV.js} +1 -1
- package/server/{workspace-manager-BO-6k3sP.js → workspace-manager-B1mYn0lN.js} +1 -1
- package/server/{workspace-manager-D8AByFIT.js → workspace-manager-Beeo2aKF.js} +23 -48
- package/server/{workspace-metadata-CvC268MN.js → workspace-metadata-BZC5BmoP.js} +2 -2
- package/server/{workspace-metadata-DZiJtnuF.js → workspace-metadata-Cy7_ZACL.js} +1 -1
- package/server/{workspaces-D-uIoqbg.js → workspaces-CGuzW1Ia.js} +182 -152
- package/sync-sources/hooks/codex-notify-hook +64 -8
- package/sync-sources/hooks/record-cost-event.js +1109 -36
- 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,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Sr as init_errors, dr as ConfigError, fr as FsError, mr as GitHubApiError } from "./config-yaml-CqaAyn8y.js";
|
|
3
3
|
import { Effect } from "effect";
|
|
4
4
|
import { existsSync, readFileSync } from "fs";
|
|
5
5
|
import { join } from "path";
|
|
@@ -382,6 +382,7 @@ async function configureWorkspaceForBot(workspacePath, owner, repo, token) {
|
|
|
382
382
|
const { exec } = await import("child_process");
|
|
383
383
|
const { promisify } = await import("util");
|
|
384
384
|
const { writeFileSync } = await import("fs");
|
|
385
|
+
const { resolve } = await import("path");
|
|
385
386
|
const execAsync = promisify(exec);
|
|
386
387
|
const { name, email } = getBotIdentity();
|
|
387
388
|
await execAsync(`git config user.name "${name}"`, {
|
|
@@ -392,7 +393,11 @@ async function configureWorkspaceForBot(workspacePath, owner, repo, token) {
|
|
|
392
393
|
cwd: workspacePath,
|
|
393
394
|
encoding: "utf-8"
|
|
394
395
|
});
|
|
395
|
-
const
|
|
396
|
+
const { stdout: gitDirOutput } = await execAsync("git rev-parse --git-dir", {
|
|
397
|
+
cwd: workspacePath,
|
|
398
|
+
encoding: "utf-8"
|
|
399
|
+
});
|
|
400
|
+
const credFile = join(resolve(workspacePath, gitDirOutput.trim()), "pan-credentials");
|
|
396
401
|
writeFileSync(credFile, `https://x-access-token:${token}@github.com\n`, { mode: 384 });
|
|
397
402
|
await execAsync(`git remote set-url origin "${`https://github.com/${owner}/${repo}.git`}"`, {
|
|
398
403
|
cwd: workspacePath,
|
|
@@ -553,4 +558,4 @@ var init_github_app = __esmMin((() => {
|
|
|
553
558
|
//#endregion
|
|
554
559
|
export { refreshWorkspaceToken as C, postOverdeckTestsStatus as S, verifyAppCanMerge as T, listPullRequestsForHead as _, getCiCheckRunsState as a, mergePullRequestWithApp as b, getIssueStatePromise as c, getPullRequestState as d, init_github_app as f, listOpenIssuesWithLabelsPromise as g, listOpenIssuesWithLabels as h, getBotIdentity as i, getMergeBackendStatus as l, isIntegrationPermissionError as m, generateInstallationToken as n, getCiCheckRunsStatePromise as o, isGitHubAppConfigured as p, getAppStatus as r, getIssueState as s, configureWorkspaceForBot as t, getPullRequestHeadState as u, listPullRequestsForHeadPromise as v, reportCommitStatus as w, parsePullRequestRef as x, loadGitHubAppConfig as y };
|
|
555
560
|
|
|
556
|
-
//# sourceMappingURL=github-app-
|
|
561
|
+
//# sourceMappingURL=github-app-tUbb8Ldr.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { a as init_tracker_config, t as getGitHubConfig } from "./tracker-config-
|
|
3
|
-
import {
|
|
2
|
+
import { a as init_tracker_config, t as getGitHubConfig } from "./tracker-config-OkdbaUCm.js";
|
|
3
|
+
import { a as RateLimited, o as TrackerApiError, r as IssueNotFound, s as TrackerNotConfigured, u as init_typed_errors } from "./typed-errors-n_Tnb4Fh.js";
|
|
4
4
|
import { Context, Effect, Layer } from "effect";
|
|
5
5
|
//#region services/github-client.ts
|
|
6
6
|
/**
|
|
@@ -241,4 +241,4 @@ var init_github_client = __esmMin((() => {
|
|
|
241
241
|
//#endregion
|
|
242
242
|
export { init_github_client as i, GitHubClientLive as n, GitHubClientOptionalLive as r, GitHubClient as t };
|
|
243
243
|
|
|
244
|
-
//# sourceMappingURL=github-client-
|
|
244
|
+
//# sourceMappingURL=github-client-BwBU41jK.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { i as init_github_client, n as GitHubClientLive, r as GitHubClientOptionalLive, t as GitHubClient } from "./github-client-
|
|
1
|
+
import { i as init_github_client, n as GitHubClientLive, r as GitHubClientOptionalLive, t as GitHubClient } from "./github-client-BwBU41jK.js";
|
|
2
2
|
init_github_client();
|
|
3
3
|
export { GitHubClient, GitHubClientLive, GitHubClientOptionalLive };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { _ as listPullRequestsForHead, f as init_github_app, p as isGitHubAppConfigured } from "./github-app-
|
|
2
|
+
import { _ as listPullRequestsForHead, f as init_github_app, p as isGitHubAppConfigured } from "./github-app-tUbb8Ldr.js";
|
|
3
3
|
import { Effect } from "effect";
|
|
4
4
|
import { execFile } from "node:child_process";
|
|
5
5
|
import { promisify } from "node:util";
|
|
@@ -41,4 +41,4 @@ var init_github_pr_lookup = __esmMin((() => {
|
|
|
41
41
|
//#endregion
|
|
42
42
|
export { init_github_pr_lookup as n, lookupPullRequestNumberForBranch as r, githubPrLookupSource as t };
|
|
43
43
|
|
|
44
|
-
//# sourceMappingURL=github-pr-lookup-
|
|
44
|
+
//# sourceMappingURL=github-pr-lookup-BS5PqkJb.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { D as canUseHarnessSync, F as getBuiltInDefaultHarness, O as canUseModelWithAuthSync, R as getProviderForModelSync, f as loadConfigSync, k as init_harness_policy, t as init_config_yaml, z as init_providers } from "./config-yaml-
|
|
2
|
+
import { D as canUseHarnessSync, F as getBuiltInDefaultHarness, O as canUseModelWithAuthSync, R as getProviderForModelSync, f as loadConfigSync, k as init_harness_policy, t as init_config_yaml, z as init_providers } from "./config-yaml-CqaAyn8y.js";
|
|
3
3
|
import { exec } from "child_process";
|
|
4
4
|
import { promisify } from "util";
|
|
5
5
|
//#region ../../lib/harness-resolve.ts
|
|
6
6
|
async function getProviderAuthModeForModel(model) {
|
|
7
|
-
const { getProviderAuthMode } = await import("./agents-
|
|
7
|
+
const { getProviderAuthMode } = await import("./agents-BA15AQqo.js");
|
|
8
8
|
return getProviderAuthMode(model);
|
|
9
9
|
}
|
|
10
10
|
async function hasHarnessBinary(harness) {
|
|
@@ -69,4 +69,4 @@ var init_harness_resolve = __esmMin((() => {
|
|
|
69
69
|
//#endregion
|
|
70
70
|
export { resolveHarness as n, init_harness_resolve as t };
|
|
71
71
|
|
|
72
|
-
//# sourceMappingURL=harness-resolve-
|
|
72
|
+
//# sourceMappingURL=harness-resolve-Dx8hUsvC.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-
|
|
1
|
+
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-_Kx1m9pm.js";
|
|
2
2
|
//#region ../../lib/overdeck/health-events.ts
|
|
3
3
|
init_infra();
|
|
4
4
|
function parseMetadata(row) {
|
|
@@ -66,4 +66,4 @@ function getHealthHistory(agentId, startTime, endTime) {
|
|
|
66
66
|
//#endregion
|
|
67
67
|
export { getLatestHealthEvent as n, writeHealthEvent as r, getHealthHistory as t };
|
|
68
68
|
|
|
69
|
-
//# sourceMappingURL=health-events-
|
|
69
|
+
//# sourceMappingURL=health-events-2DLp-5Xp.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as getLatestHealthEvent, r as writeHealthEvent, t as getHealthHistory } from "./health-events-
|
|
1
|
+
import { n as getLatestHealthEvent, r as writeHealthEvent, t as getHealthHistory } from "./health-events-2DLp-5Xp.js";
|
|
2
2
|
export { getHealthHistory, getLatestHealthEvent, writeHealthEvent };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { _ as pushToHookSync, a as collectMail, b as sendMail, c as generateFixedPointPromptSync, d as initHook, f as initHookSync, g as pushToHook, h as popFromHookSync, i as clearHookSync, l as getHook, m as popFromHook, n as checkHookSync, o as collectMailSync, p as init_hooks, r as clearHook, s as generateFixedPointPrompt, t as checkHook, u as getHookSync, v as reorderHookItems, x as sendMailSync, y as reorderHookItemsSync } from "./hooks-
|
|
1
|
+
import { _ as pushToHookSync, a as collectMail, b as sendMail, c as generateFixedPointPromptSync, d as initHook, f as initHookSync, g as pushToHook, h as popFromHookSync, i as clearHookSync, l as getHook, m as popFromHook, n as checkHookSync, o as collectMailSync, p as init_hooks, r as clearHook, s as generateFixedPointPrompt, t as checkHook, u as getHookSync, v as reorderHookItems, x as sendMailSync, y as reorderHookItemsSync } from "./hooks-BS_JrvYP.js";
|
|
2
2
|
init_hooks();
|
|
3
3
|
export { checkHook, checkHookSync, clearHook, clearHookSync, collectMail, collectMailSync, generateFixedPointPrompt, generateFixedPointPromptSync, getHook, getHookSync, initHook, initHookSync, popFromHook, popFromHookSync, pushToHook, pushToHookSync, reorderHookItems, reorderHookItemsSync, sendMail, sendMailSync };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Cr as AGENTS_DIR, Sr as init_errors, Yr as init_paths, fr as FsError } from "./config-yaml-CqaAyn8y.js";
|
|
3
3
|
import { Effect } from "effect";
|
|
4
4
|
import { existsSync, mkdirSync, readFileSync, readdirSync, unlinkSync, writeFileSync } from "fs";
|
|
5
5
|
import { join } from "path";
|
|
@@ -231,7 +231,7 @@ function generateFixedPointPromptSync(agentId) {
|
|
|
231
231
|
}
|
|
232
232
|
lines.push("---");
|
|
233
233
|
lines.push("");
|
|
234
|
-
lines.push("Execute these items in priority order
|
|
234
|
+
lines.push("Execute these items in priority order and record completion through the owning workflow.");
|
|
235
235
|
return lines.join("\n");
|
|
236
236
|
}
|
|
237
237
|
var initHook, getHook, pushToHook, checkHook, popFromHook, clearHook, reorderHookItems, sendMail, collectMail, generateFixedPointPrompt;
|
|
@@ -294,4 +294,4 @@ var init_hooks = __esmMin((() => {
|
|
|
294
294
|
//#endregion
|
|
295
295
|
export { pushToHookSync as _, collectMail as a, sendMail as b, generateFixedPointPromptSync as c, initHook as d, initHookSync as f, pushToHook as g, popFromHookSync as h, clearHookSync as i, getHook as l, popFromHook as m, checkHookSync as n, collectMailSync as o, init_hooks as p, clearHook as r, generateFixedPointPrompt as s, checkHook as t, getHookSync as u, reorderHookItems as v, sendMailSync as x, reorderHookItemsSync as y };
|
|
296
296
|
|
|
297
|
-
//# sourceMappingURL=hooks-
|
|
297
|
+
//# sourceMappingURL=hooks-BS_JrvYP.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { n as init_workspace_config, r as replacePlaceholdersSync } from "./workspace-config-
|
|
2
|
+
import { n as init_workspace_config, r as replacePlaceholdersSync } from "./workspace-config-C77NKnsV.js";
|
|
3
3
|
import { Data, Effect } from "effect";
|
|
4
4
|
//#region ../../lib/hume.ts
|
|
5
5
|
/**
|
|
@@ -189,4 +189,4 @@ var init_hume = __esmMin((() => {
|
|
|
189
189
|
//#endregion
|
|
190
190
|
export { init_hume as i, createHumeConfig as n, deleteHumeConfig as r, HumeApiError as t };
|
|
191
191
|
|
|
192
|
-
//# sourceMappingURL=hume-
|
|
192
|
+
//# sourceMappingURL=hume-BRhNKyXQ.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-pcbf-e30.js";
|
|
2
|
-
import {
|
|
2
|
+
import { S as init_tmux, k as listSessionNames } from "./tmux-U55cNGFG.js";
|
|
3
3
|
import { Effect } from "effect";
|
|
4
4
|
import { exec } from "child_process";
|
|
5
5
|
import { promisify } from "util";
|
|
@@ -132,4 +132,4 @@ async function reconcileIdleWorkspaceStacks(deps = {}) {
|
|
|
132
132
|
//#endregion
|
|
133
133
|
export { reconcileIdleWorkspaceStacks as n, handleAgentLifecycleEventForIdleStack as t };
|
|
134
134
|
|
|
135
|
-
//# sourceMappingURL=idle-stack-reaper-
|
|
135
|
+
//# sourceMappingURL=idle-stack-reaper-BCITXNW5.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as handleAgentLifecycleEventForIdleStack } from "./idle-stack-reaper-
|
|
1
|
+
import { t as handleAgentLifecycleEventForIdleStack } from "./idle-stack-reaper-BCITXNW5.js";
|
|
2
2
|
export { handleAgentLifecycleEventForIdleStack };
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Jr as getOverdeckHome, Pt as readIssueRecordSync, Tt as getIssueRecordPath, Yr as init_paths$1, Zr as packageRoot, kt as init_record } from "./config-yaml-CqaAyn8y.js";
|
|
3
3
|
import { n as openDatabase, t as init_driver$1 } from "./driver-D-HBOQa_.js";
|
|
4
|
-
import {
|
|
4
|
+
import { n as updateIssueRecord, t as init_record_update } from "./record-update-BltEmPge.js";
|
|
5
|
+
import { R as sessionExists, S as init_tmux, T as killSession, h as getAgentSessions } from "./tmux-U55cNGFG.js";
|
|
5
6
|
import { dirname, isAbsolute, join } from "node:path";
|
|
6
7
|
import { Context, Effect, Layer, Queue, Stream } from "effect";
|
|
7
8
|
import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
@@ -4769,6 +4770,7 @@ var init_infra = __esmMin((() => {
|
|
|
4769
4770
|
init_sqlite_core();
|
|
4770
4771
|
init_driver$1();
|
|
4771
4772
|
init_record();
|
|
4773
|
+
init_record_update();
|
|
4772
4774
|
init_paths$1();
|
|
4773
4775
|
init_tmux();
|
|
4774
4776
|
init_paths();
|
|
@@ -4825,7 +4827,10 @@ var init_infra = __esmMin((() => {
|
|
|
4825
4827
|
}));
|
|
4826
4828
|
Records = class extends Context.Service()("overdeck/Records") {};
|
|
4827
4829
|
Layer.succeed(Records, Records.of({
|
|
4828
|
-
writeIssue: (project, issueId, record) => Effect.
|
|
4830
|
+
writeIssue: (project, issueId, record) => Effect.promise(async () => {
|
|
4831
|
+
await updateIssueRecord(project, issueId, () => record);
|
|
4832
|
+
return getIssueRecordPath(project, issueId);
|
|
4833
|
+
}),
|
|
4829
4834
|
readIssue: (project, issueId) => Effect.sync(() => readIssueRecordSync(project, issueId)),
|
|
4830
4835
|
readSpec: (planRef) => Effect.sync(() => {
|
|
4831
4836
|
const path = isAbsolute(planRef) ? planRef : join(packageRoot, planRef);
|
|
@@ -4885,4 +4890,4 @@ var init_infra = __esmMin((() => {
|
|
|
4885
4890
|
//#endregion
|
|
4886
4891
|
export { init_paths as A, inArray as C, sql as D, like as E, OVERDECK_MIGRATION_PATH as O, gte as S, isNull as T, integer as _, EventBus as a, and as b, Records as c, getOverdeckDatabaseSync as d, init_infra as f, real as g, text as h, DbLive as i, getOverdeckDatabasePath as k, Tmux as l, sqliteTable as m, CostArchiveLive as n, EventBusLive as o, init_sqlite_core as p, Db as r, Forge as s, CostArchive as t, TmuxLive as u, init_drizzle_orm as v, isNotNull as w, eq as x, desc as y };
|
|
4887
4892
|
|
|
4888
|
-
//# sourceMappingURL=infra-
|
|
4893
|
+
//# sourceMappingURL=infra-_Kx1m9pm.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { n as __esmMin, o as __toESM } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { Fn as init_projects, Vn as loadProjectsConfigSync,
|
|
3
|
-
import { d as resolveRagRunsFile, f as resolveStatusFile, i as init_paths, r as ensureParentDir } from "./paths-
|
|
4
|
-
import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-
|
|
5
|
-
import { a as isMemoryKnowledgeIndexEnabled, i as init_settings, o as isMemoryPromptTimeInjectionEnabled } from "./settings-
|
|
6
|
-
import { n as extractWithProviderPolicy, t as init_providers } from "./providers-
|
|
7
|
-
import { n as init_fts_db, r as runMemoryFtsStatement } from "./fts-db-
|
|
2
|
+
import { Fn as init_projects, Vn as loadProjectsConfigSync, cr as require_dist, qn as resolveProjectFromIssueSync } from "./config-yaml-CqaAyn8y.js";
|
|
3
|
+
import { d as resolveRagRunsFile, f as resolveStatusFile, i as init_paths, r as ensureParentDir } from "./paths-Btkc8mzp.js";
|
|
4
|
+
import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-DqvaoQoa.js";
|
|
5
|
+
import { a as isMemoryKnowledgeIndexEnabled, i as init_settings, o as isMemoryPromptTimeInjectionEnabled } from "./settings-gJrdLZy2.js";
|
|
6
|
+
import { n as extractWithProviderPolicy, t as init_providers } from "./providers-C-yWibCk.js";
|
|
7
|
+
import { n as init_fts_db, r as runMemoryFtsStatement } from "./fts-db-Bgzn2RO7.js";
|
|
8
8
|
import { Result, Schema } from "effect";
|
|
9
9
|
import { extname, isAbsolute, join, relative, resolve } from "path";
|
|
10
10
|
import { createHash, randomUUID } from "crypto";
|
|
@@ -815,4 +815,4 @@ var init_injection = __esmMin((() => {
|
|
|
815
815
|
//#endregion
|
|
816
816
|
export { init_query_expansion as a, clearQueryExpansionCache as i, init_injection as n, buildMatchQuery as o, injectPromptTimeMemory as r, init_search as s, PROMPT_TIME_MEMORY_BUDGETS as t };
|
|
817
817
|
|
|
818
|
-
//# sourceMappingURL=injection-
|
|
818
|
+
//# sourceMappingURL=injection-CCaYkofq.js.map
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { C as init_tier_table, H as setupCredentialFileAuthSync, P as clearCredentialFileAuthSync, R as getProviderForModelSync,
|
|
2
|
-
import {
|
|
3
|
-
import { c as init_review_status, y as setReviewStatusSync } from "./review-status-
|
|
4
|
-
import {
|
|
5
|
-
import { m as readWorkspacePlanSync, o as init_io } from "./io-
|
|
6
|
-
import {
|
|
7
|
-
import { a as init_claude_permissions, i as getClaudePermissionFlagsSync } from "./claude-permissions-
|
|
8
|
-
import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-
|
|
1
|
+
import { C as init_tier_table, H as setupCredentialFileAuthSync, P as clearCredentialFileAuthSync, R as getProviderForModelSync, Sr as init_errors, Z as resolveModel, f as loadConfigSync, pr as GitError, t as init_config_yaml, vr as ProcessSpawnError, w as resolveTieredExecutionEnabled, z as init_providers } from "./config-yaml-CqaAyn8y.js";
|
|
2
|
+
import { R as sessionExists, S as init_tmux, T as killSession, o as createSession } from "./tmux-U55cNGFG.js";
|
|
3
|
+
import { c as init_review_status, y as setReviewStatusSync } from "./review-status-DANr0t-v.js";
|
|
4
|
+
import { Jn as saveAgentState, _ as spawnTierSupervisor, gr as saveAgentRuntimeState, h as loadPrdDraft, m as init_tier_supervisor, p as deliverCommitForReview, s as init_agents, un as getProviderEnvForModel, v as supervisorAgentId } from "./queries-C0LCGG21.js";
|
|
5
|
+
import { m as readWorkspacePlanSync, o as init_io } from "./io-DkC4sFSy.js";
|
|
6
|
+
import { n as init_launcher_generator, t as generateLauncherScriptSync } from "./launcher-generator-BXLM9f4b.js";
|
|
7
|
+
import { a as init_claude_permissions, i as getClaudePermissionFlagsSync } from "./claude-permissions-BB6agcOZ.js";
|
|
8
|
+
import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-Cpl4VDUM.js";
|
|
9
9
|
import { Effect } from "effect";
|
|
10
10
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
11
11
|
import { dirname, join } from "path";
|
|
12
12
|
import { homedir } from "os";
|
|
13
13
|
import { fileURLToPath } from "url";
|
|
14
14
|
import { randomUUID } from "crypto";
|
|
15
|
-
import { exec
|
|
15
|
+
import { exec } from "child_process";
|
|
16
16
|
import { promisify } from "util";
|
|
17
17
|
//#region ../../lib/cloister/inspect-checkpoints.ts
|
|
18
18
|
/**
|
|
@@ -52,7 +52,7 @@ function loadCheckpoints(projectKey, issueId) {
|
|
|
52
52
|
/**
|
|
53
53
|
* Save a new checkpoint after a successful inspection.
|
|
54
54
|
*/
|
|
55
|
-
function saveCheckpoint(projectKey, issueId,
|
|
55
|
+
function saveCheckpoint(projectKey, issueId, itemId, commitSha) {
|
|
56
56
|
const dir = getCheckpointDir(projectKey);
|
|
57
57
|
if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
|
|
58
58
|
const data = loadCheckpoints(projectKey, issueId) || {
|
|
@@ -60,7 +60,7 @@ function saveCheckpoint(projectKey, issueId, beadId, commitSha) {
|
|
|
60
60
|
checkpoints: []
|
|
61
61
|
};
|
|
62
62
|
const checkpoint = {
|
|
63
|
-
|
|
63
|
+
itemId,
|
|
64
64
|
commitSha,
|
|
65
65
|
passedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
66
66
|
};
|
|
@@ -140,9 +140,9 @@ function getCurrentHead(workspacePath) {
|
|
|
140
140
|
/**
|
|
141
141
|
* PAN-382: Inspect Agent — Per-step verification specialist.
|
|
142
142
|
*
|
|
143
|
-
* Spawns after each
|
|
143
|
+
* Spawns after each item completion to verify the implementation matches
|
|
144
144
|
* its specification and architectural constraints before the agent
|
|
145
|
-
* proceeds to the next
|
|
145
|
+
* proceeds to the next item.
|
|
146
146
|
*/
|
|
147
147
|
init_errors();
|
|
148
148
|
init_review_status();
|
|
@@ -157,50 +157,18 @@ init_io();
|
|
|
157
157
|
init_tier_table();
|
|
158
158
|
init_tier_supervisor();
|
|
159
159
|
promisify(exec);
|
|
160
|
-
const execFileAsync = promisify(execFile);
|
|
161
160
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
162
|
-
/**
|
|
163
|
-
* Read a bead's description using the bd CLI.
|
|
164
|
-
*/
|
|
165
|
-
async function getBeadDescription(beadId, workspacePath) {
|
|
166
|
-
try {
|
|
167
|
-
const { stdout } = await execFileAsync("bd", [
|
|
168
|
-
"show",
|
|
169
|
-
beadId,
|
|
170
|
-
"--json"
|
|
171
|
-
], {
|
|
172
|
-
cwd: workspacePath,
|
|
173
|
-
encoding: "utf-8"
|
|
174
|
-
});
|
|
175
|
-
const bead = JSON.parse(stdout);
|
|
176
|
-
const parts = [];
|
|
177
|
-
if (bead.title) parts.push(`**Title:** ${bead.title}`);
|
|
178
|
-
if (bead.description) parts.push(`**Description:** ${bead.description}`);
|
|
179
|
-
if (bead.acceptance) parts.push(`**Acceptance Criteria:** ${bead.acceptance}`);
|
|
180
|
-
if (bead.notes) parts.push(`**Notes:** ${bead.notes}`);
|
|
181
|
-
if (bead.labels?.length) parts.push(`**Labels:** ${bead.labels.join(", ")}`);
|
|
182
|
-
return parts.join("\n\n") || `Bead ${beadId} (no description available)`;
|
|
183
|
-
} catch {
|
|
184
|
-
try {
|
|
185
|
-
const { stdout } = await execFileAsync("bd", ["show", beadId], {
|
|
186
|
-
cwd: workspacePath,
|
|
187
|
-
encoding: "utf-8"
|
|
188
|
-
});
|
|
189
|
-
return stdout.trim() || `Bead ${beadId} (no description available)`;
|
|
190
|
-
} catch {
|
|
191
|
-
return `Bead ${beadId} (unable to read bead description)`;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
161
|
async function buildInspectPromptPromise(context) {
|
|
196
162
|
const templatePath = join(__dirname, "prompts", "inspect-agent.md");
|
|
197
163
|
if (!existsSync(templatePath)) throw new Error(`Inspect agent prompt template not found at ${templatePath}`);
|
|
198
164
|
const template = readFileSync(templatePath, "utf-8");
|
|
199
|
-
const
|
|
165
|
+
const item = readWorkspacePlanSync(context.workspace)?.plan.items.find((candidate) => candidate.id === context.itemId);
|
|
166
|
+
if (!item) throw new Error(`Item ${context.itemId} requires a readable vBRIEF entry in ${context.workspace}.`);
|
|
167
|
+
const itemDescription = `**Title:** ${item.title}\n\n**Action:** ${item.narrative?.Action ?? "No narrative provided."}`;
|
|
200
168
|
const diffBase = await Effect.runPromise(getDiffBase(context.projectKey, context.issueId, context.workspace));
|
|
201
169
|
const diffStats = await Effect.runPromise(getDiffStats(context.workspace, diffBase));
|
|
202
170
|
const apiUrl = process.env.OVERDECK_DASHBOARD_URL || process.env.DASHBOARD_URL || `http://localhost:${process.env.API_PORT || process.env.PORT || "3011"}`;
|
|
203
|
-
return `<!-- overdeck:orchestration-context-start -->\n${template.replace(/\{\{apiUrl\}\}/g, apiUrl).replace(/\{\{projectPath\}\}/g, context.projectPath).replace(/\{\{issueId\}\}/g, context.issueId).replace(/\{\{
|
|
171
|
+
return `<!-- overdeck:orchestration-context-start -->\n${template.replace(/\{\{apiUrl\}\}/g, apiUrl).replace(/\{\{projectPath\}\}/g, context.projectPath).replace(/\{\{issueId\}\}/g, context.issueId).replace(/\{\{itemId\}\}/g, context.itemId).replace(/\{\{workspacePath\}\}/g, context.workspace).replace(/\{\{checkpoint\}\}/g, diffBase.substring(0, 8)).replace(/\{\{diffBase\}\}/g, diffBase).replace(/\{\{diffStats\}\}/g, diffStats).replace(/\{\{itemDescription\}\}/g, itemDescription).replace(/\{\{resultStatus\}\}/g, "${RESULT_STATUS}").replace(/\{\{resultNotes\}\}/g, "${RESULT_NOTES}")}\n<!-- overdeck:orchestration-context-end -->`;
|
|
204
172
|
}
|
|
205
173
|
async function routeInspectToStandingSupervisorIfEnabled(context) {
|
|
206
174
|
const { config } = loadConfigSync();
|
|
@@ -208,15 +176,15 @@ async function routeInspectToStandingSupervisorIfEnabled(context) {
|
|
|
208
176
|
if (!tiered?.supervisor?.owns_inspection) return void 0;
|
|
209
177
|
const doc = readWorkspacePlanSync(context.workspace);
|
|
210
178
|
if (!resolveTieredExecutionEnabled(tiered, doc?.plan.metadata)) return void 0;
|
|
211
|
-
const item = doc?.plan.items.find((candidate) => candidate.id === context.
|
|
212
|
-
if (!doc || !item) throw new Error(`Standing supervisor inspection for ${context.issueId}
|
|
179
|
+
const item = doc?.plan.items.find((candidate) => candidate.id === context.itemId);
|
|
180
|
+
if (!doc || !item) throw new Error(`Standing supervisor inspection for ${context.issueId} item ${context.itemId} requires a readable vBRIEF item in ${context.workspace}.`);
|
|
213
181
|
const agentId = supervisorAgentId(context.issueId);
|
|
214
182
|
if (!await Effect.runPromise(sessionExists(agentId))) await spawnTierSupervisor(context.issueId, tiered.supervisor, { workspace: context.workspace });
|
|
215
183
|
setReviewStatusSync(context.issueId.toUpperCase(), {
|
|
216
184
|
inspectStatus: "inspecting",
|
|
217
|
-
inspectNotes: `Inspecting
|
|
185
|
+
inspectNotes: `Inspecting item ${context.itemId}`,
|
|
218
186
|
inspectStartedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
219
|
-
inspectBeadId: context.
|
|
187
|
+
inspectBeadId: context.itemId
|
|
220
188
|
});
|
|
221
189
|
const sha = await Effect.runPromise(getCurrentHead(context.workspace));
|
|
222
190
|
const prdMarkdown = await loadPrdDraft(context.projectPath, context.issueId);
|
|
@@ -226,18 +194,18 @@ async function routeInspectToStandingSupervisorIfEnabled(context) {
|
|
|
226
194
|
issueId: context.issueId,
|
|
227
195
|
item,
|
|
228
196
|
sha,
|
|
229
|
-
|
|
197
|
+
itemId: context.itemId,
|
|
230
198
|
prdMarkdown
|
|
231
199
|
});
|
|
232
200
|
return {
|
|
233
201
|
success: true,
|
|
234
202
|
tmuxSession: agentId,
|
|
235
|
-
message: `Routed inspect for ${context.issueId}
|
|
203
|
+
message: `Routed inspect for ${context.issueId} item ${context.itemId} to standing supervisor`
|
|
236
204
|
};
|
|
237
205
|
}
|
|
238
206
|
async function spawnInspectAgentPromise(context, opts = {}) {
|
|
239
207
|
const subRole = opts.deep ? "inspect-deep" : "inspect";
|
|
240
|
-
const tmuxSession = `inspect-${context.issueId.toLowerCase()}-${context.
|
|
208
|
+
const tmuxSession = `inspect-${context.issueId.toLowerCase()}-${context.itemId.replace(/[^a-z0-9-]/gi, "-").toLowerCase().slice(0, 24)}`;
|
|
241
209
|
try {
|
|
242
210
|
if (await isIssueClosed(context.issueId.toUpperCase())) {
|
|
243
211
|
const message = `${context.issueId.toUpperCase()}: skipping inspect dispatch — issue is closed`;
|
|
@@ -255,9 +223,9 @@ async function spawnInspectAgentPromise(context, opts = {}) {
|
|
|
255
223
|
const prompt = await Effect.runPromise(buildInspectPrompt(context));
|
|
256
224
|
setReviewStatusSync(context.issueId.toUpperCase(), {
|
|
257
225
|
inspectStatus: "inspecting",
|
|
258
|
-
inspectNotes: `Inspecting
|
|
226
|
+
inspectNotes: `Inspecting item ${context.itemId}`,
|
|
259
227
|
inspectStartedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
260
|
-
inspectBeadId: context.
|
|
228
|
+
inspectBeadId: context.itemId
|
|
261
229
|
});
|
|
262
230
|
const { config } = loadConfigSync();
|
|
263
231
|
const model = resolveModel("work", subRole, config);
|
|
@@ -315,7 +283,7 @@ async function spawnInspectAgentPromise(context, opts = {}) {
|
|
|
315
283
|
success: true,
|
|
316
284
|
runId: sessionId,
|
|
317
285
|
tmuxSession,
|
|
318
|
-
message: `Spawned ${subRole} for ${context.issueId}
|
|
286
|
+
message: `Spawned ${subRole} for ${context.issueId} item ${context.itemId}`
|
|
319
287
|
};
|
|
320
288
|
} catch (error) {
|
|
321
289
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -327,12 +295,12 @@ async function spawnInspectAgentPromise(context, opts = {}) {
|
|
|
327
295
|
};
|
|
328
296
|
}
|
|
329
297
|
}
|
|
330
|
-
async function onInspectCompletePromise(projectKey, issueId,
|
|
298
|
+
async function onInspectCompletePromise(projectKey, issueId, itemId, status, workspacePath) {
|
|
331
299
|
if (status === "passed") {
|
|
332
300
|
const commitSha = await Effect.runPromise(getCurrentHead(workspacePath));
|
|
333
|
-
saveCheckpoint(projectKey, issueId,
|
|
334
|
-
console.log(`[inspect] Checkpoint saved for ${issueId}
|
|
335
|
-
} else console.log(`[inspect]
|
|
301
|
+
saveCheckpoint(projectKey, issueId, itemId, commitSha);
|
|
302
|
+
console.log(`[inspect] Checkpoint saved for ${issueId} item ${itemId} at ${commitSha.substring(0, 8)}`);
|
|
303
|
+
} else console.log(`[inspect] Item ${itemId} blocked for ${issueId} — no checkpoint saved`);
|
|
336
304
|
}
|
|
337
305
|
/**
|
|
338
306
|
* Effect-typed variant of {@link buildInspectPrompt}.
|
|
@@ -345,7 +313,7 @@ function buildInspectPrompt(context) {
|
|
|
345
313
|
try: () => buildInspectPromptPromise(context),
|
|
346
314
|
catch: (cause) => new ProcessSpawnError({
|
|
347
315
|
command: "inspect-agent",
|
|
348
|
-
args: ["buildInspectPrompt", context.
|
|
316
|
+
args: ["buildInspectPrompt", context.itemId],
|
|
349
317
|
message: cause instanceof Error ? cause.message : String(cause),
|
|
350
318
|
cause
|
|
351
319
|
})
|
|
@@ -361,10 +329,10 @@ function spawnInspectAgent(context, opts = {}) {
|
|
|
361
329
|
/**
|
|
362
330
|
* Effect-typed variant of {@link onInspectComplete}. Never fails.
|
|
363
331
|
*/
|
|
364
|
-
function onInspectComplete(projectKey, issueId,
|
|
365
|
-
return Effect.promise(() => onInspectCompletePromise(projectKey, issueId,
|
|
332
|
+
function onInspectComplete(projectKey, issueId, itemId, status, workspacePath) {
|
|
333
|
+
return Effect.promise(() => onInspectCompletePromise(projectKey, issueId, itemId, status, workspacePath));
|
|
366
334
|
}
|
|
367
335
|
//#endregion
|
|
368
336
|
export { onInspectComplete as n, spawnInspectAgent as r, buildInspectPrompt as t };
|
|
369
337
|
|
|
370
|
-
//# sourceMappingURL=inspect-agent-
|
|
338
|
+
//# sourceMappingURL=inspect-agent-BqyZ4pCo.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { Jr as
|
|
2
|
+
import { Jr as getOverdeckHome, Sr as init_errors, Yr as init_paths, fr as FsError } from "./config-yaml-CqaAyn8y.js";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { Effect } from "effect";
|
|
5
5
|
import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
@@ -101,4 +101,4 @@ var init_internal_token = __esmMin((() => {
|
|
|
101
101
|
//#endregion
|
|
102
102
|
export { getInternalToken as a, ensureInternalTokenSync as i, _resetInternalTokenCacheForTests as n, getInternalTokenSync as o, ensureInternalToken as r, init_internal_token as s, INTERNAL_TOKEN_HEADER as t };
|
|
103
103
|
|
|
104
|
-
//# sourceMappingURL=internal-token-
|
|
104
|
+
//# sourceMappingURL=internal-token-Cl-1IxaE.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as getInternalToken, i as ensureInternalTokenSync, n as _resetInternalTokenCacheForTests, o as getInternalTokenSync, r as ensureInternalToken, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-
|
|
1
|
+
import { a as getInternalToken, i as ensureInternalTokenSync, n as _resetInternalTokenCacheForTests, o as getInternalTokenSync, r as ensureInternalToken, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-Cl-1IxaE.js";
|
|
2
2
|
init_internal_token();
|
|
3
3
|
export { INTERNAL_TOKEN_HEADER, _resetInternalTokenCacheForTests, ensureInternalToken, ensureInternalTokenSync, getInternalToken, getInternalTokenSync };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { $t as
|
|
3
|
-
import { a as PAN_DIRNAME, f as asPanSpecDocument, l as PAN_SPECS_DIRNAME, m as isPanSpecStatus, o as PAN_DRAFTS_DIRNAME, p as init_types$1, r as PAN_CONTINUES_DIRNAME, u as PAN_SPEC_FILENAME } from "./types-
|
|
2
|
+
import { $t as deriveProjectRoot, Fn as init_projects, It as resolveProjectForIssue, Mt as readIssueRecord, Ot as getProjectConfigFromWorkspacePath, Pt as readIssueRecordSync, Sn as findProjectByPathSync, Sr as init_errors, fr as FsError, kt as init_record, mn as resolveStateReadHomeSync, nn as init_auto_commit, pn as init_state_read_home, rn as queueAutoCommit, tn as flushAutoCommits } from "./config-yaml-CqaAyn8y.js";
|
|
3
|
+
import { a as PAN_DIRNAME, f as asPanSpecDocument, l as PAN_SPECS_DIRNAME, m as isPanSpecStatus, o as PAN_DRAFTS_DIRNAME, p as init_types$1, r as PAN_CONTINUES_DIRNAME, u as PAN_SPEC_FILENAME } from "./types-DOjWNv3Z.js";
|
|
4
4
|
import { Data, Effect, FileSystem } from "effect";
|
|
5
5
|
import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "fs";
|
|
6
6
|
import { basename, join, resolve } from "path";
|
|
@@ -404,7 +404,7 @@ function writeSpecForIssue(projectRoot, doc, status, filename) {
|
|
|
404
404
|
subject: `chore(state): update spec for ${doc.plan.id.toUpperCase()} (status=${status})`
|
|
405
405
|
});
|
|
406
406
|
const flushed = yield* flushAutoCommits(projectRoot);
|
|
407
|
-
if (flushed.pushed === false) return yield* Effect.fail(new FsError({
|
|
407
|
+
if (flushed.errored || flushed.pushed === false) return yield* Effect.fail(new FsError({
|
|
408
408
|
path,
|
|
409
409
|
operation: "pushSpec",
|
|
410
410
|
cause: new Error(flushed.reason ?? "spec commit was not pushed")
|
|
@@ -421,6 +421,33 @@ function writeSpecForIssue(projectRoot, doc, status, filename) {
|
|
|
421
421
|
};
|
|
422
422
|
});
|
|
423
423
|
}
|
|
424
|
+
/**
|
|
425
|
+
* Overwrite an existing spec file's full document and commit+push through the
|
|
426
|
+
* door. Use this — never bare `writeSpec` — when rewriting an existing spec at
|
|
427
|
+
* a known path (e.g. re-promoting a workspace plan). `writeSpec` only queues a
|
|
428
|
+
* deferred auto-commit; without the flush a short-lived process exits and
|
|
429
|
+
* strands the spec as a dirty state-worktree file (PAN-2677). Mirrors
|
|
430
|
+
* `writeSpecForIssue`/`updateSpecStatus`: fails loudly if a configured origin
|
|
431
|
+
* did not accept the push.
|
|
432
|
+
*/
|
|
433
|
+
function writeSpecDocument(projectRoot, path, doc) {
|
|
434
|
+
return Effect.gen(function* () {
|
|
435
|
+
yield* writeSpec(path, doc);
|
|
436
|
+
const issueId = doc.plan?.id ?? "unknown";
|
|
437
|
+
queueAutoCommit({
|
|
438
|
+
projectRoot,
|
|
439
|
+
paths: [path],
|
|
440
|
+
subject: `chore(state): update spec for ${String(issueId).toUpperCase()} (status=${doc.status})`
|
|
441
|
+
});
|
|
442
|
+
const flushed = yield* flushAutoCommits(projectRoot);
|
|
443
|
+
if (flushed.errored || flushed.pushed === false) return yield* Effect.fail(new FsError({
|
|
444
|
+
path,
|
|
445
|
+
operation: "pushSpec",
|
|
446
|
+
cause: new Error(flushed.reason ?? "spec commit was not pushed")
|
|
447
|
+
}));
|
|
448
|
+
invalidateVBriefIndex(projectRoot);
|
|
449
|
+
});
|
|
450
|
+
}
|
|
424
451
|
var init_specs = __esmMin((() => {
|
|
425
452
|
init_errors();
|
|
426
453
|
init_projects();
|
|
@@ -634,7 +661,7 @@ function readTierOverrides(workspacePath) {
|
|
|
634
661
|
return {};
|
|
635
662
|
}
|
|
636
663
|
}
|
|
637
|
-
function recordTierPromotion(workspacePath,
|
|
664
|
+
function recordTierPromotion(workspacePath, itemId, from, to, reason) {
|
|
638
665
|
const path = workspaceContinuePath(workspacePath);
|
|
639
666
|
let state = {};
|
|
640
667
|
try {
|
|
@@ -643,10 +670,10 @@ function recordTierPromotion(workspacePath, beadId, from, to, reason) {
|
|
|
643
670
|
state = {};
|
|
644
671
|
}
|
|
645
672
|
const current = state.tierOverrides && typeof state.tierOverrides === "object" ? state.tierOverrides : {};
|
|
646
|
-
const existing = current[
|
|
673
|
+
const existing = current[itemId];
|
|
647
674
|
const nextOverrides = {
|
|
648
675
|
...current,
|
|
649
|
-
[
|
|
676
|
+
[itemId]: {
|
|
650
677
|
effectiveDifficulty: to,
|
|
651
678
|
promotions: (existing?.promotions ?? 0) + 1,
|
|
652
679
|
history: [...existing?.history ?? [], {
|
|
@@ -672,7 +699,7 @@ function recordTierPromotion(workspacePath, beadId, from, to, reason) {
|
|
|
672
699
|
* PAN-2401: overlay the per-issue record's statusOverrides onto an
|
|
673
700
|
* already-loaded plan document. The single overlay door for read paths that
|
|
674
701
|
* resolve the spec themselves (e.g. the /plan API route) — without this, a
|
|
675
|
-
* merged
|
|
702
|
+
* merged task reads 'pending' forever in every display.
|
|
676
703
|
*/
|
|
677
704
|
function mergeRecordStatusOverrides(doc, workspacePath) {
|
|
678
705
|
const overrides = readStatusOverridesSync(workspacePath);
|
|
@@ -687,40 +714,6 @@ function readWorkspacePlanSync(workspacePath) {
|
|
|
687
714
|
if (overrides && Object.keys(overrides).length > 0) return applyStatusOverrides(doc, overrides);
|
|
688
715
|
return doc;
|
|
689
716
|
}
|
|
690
|
-
/**
|
|
691
|
-
* Updates the status of a specific item by writing to the per-issue record's
|
|
692
|
-
* `statusOverrides` map. Does NOT mutate the spec on main.
|
|
693
|
-
* No-ops gracefully if no plan exists for this workspace.
|
|
694
|
-
*/
|
|
695
|
-
function updateItemStatus(workspacePath, itemId, status) {
|
|
696
|
-
const planPath = findPlanSync(workspacePath);
|
|
697
|
-
if (!planPath) return;
|
|
698
|
-
if (!readPlanSync(planPath).plan.items.find((i) => i.id === itemId)) return;
|
|
699
|
-
const issueId = issueIdFromWorkspacePath(workspacePath);
|
|
700
|
-
if (!issueId) return;
|
|
701
|
-
const project = resolveProjectForWorkspace(workspacePath);
|
|
702
|
-
if (!project) return;
|
|
703
|
-
writeStatusOverrideSync(project, issueId, itemId, status);
|
|
704
|
-
}
|
|
705
|
-
/**
|
|
706
|
-
* Updates the status of a specific subItem by writing to the per-issue record's
|
|
707
|
-
* `statusOverrides` map. Uses `itemId.subItemId` as the key.
|
|
708
|
-
* Does NOT mutate the spec on main.
|
|
709
|
-
* No-ops gracefully if the file, item, or subItem doesn't exist.
|
|
710
|
-
*/
|
|
711
|
-
function updateSubItemStatus(workspacePath, itemId, subItemId, status) {
|
|
712
|
-
const planPath = findPlanSync(workspacePath);
|
|
713
|
-
if (!planPath) return;
|
|
714
|
-
const item = readPlanSync(planPath).plan.items.find((i) => i.id === itemId);
|
|
715
|
-
if (!item) return;
|
|
716
|
-
const fullSubId = subItemId.includes(".") ? subItemId : `${itemId}.${subItemId}`;
|
|
717
|
-
if (!subItemsOf(item).find((s) => s.id === subItemId || s.id === fullSubId)) return;
|
|
718
|
-
const issueId = issueIdFromWorkspacePath(workspacePath);
|
|
719
|
-
if (!issueId) return;
|
|
720
|
-
const project = resolveProjectForWorkspace(workspacePath);
|
|
721
|
-
if (!project) return;
|
|
722
|
-
writeStatusOverrideSync(project, issueId, fullSubId, status);
|
|
723
|
-
}
|
|
724
717
|
var VBriefMergeConflictTaggedError, VBriefInvalidFormatError, VBriefMergeConflictError, PLANNING_FINISHED_STATUSES, readPlan, findWorkspaceDraftPlan, findPlan, readWorkspacePlan, isPlanningComplete;
|
|
725
718
|
var init_io = __esmMin((() => {
|
|
726
719
|
init_specs();
|
|
@@ -836,6 +829,6 @@ var init_io = __esmMin((() => {
|
|
|
836
829
|
});
|
|
837
830
|
}));
|
|
838
831
|
//#endregion
|
|
839
|
-
export {
|
|
832
|
+
export { invalidateVBriefIndex as A, init_specs as C, writeSpecForIssue as D, writeSpecDocument as E, init_lifecycle as F, parseVBriefFilename as I, resolveVBriefDir as L, VBRIEF_LIFECYCLE_DIRS as M, ensureVBriefDirsSync as N, findVBriefByIssue as O, generateVBriefFilename as P, slugify as R, getProjectPanPaths as S, writeSpec as T, VBRIEF_INSPECTION_POLICIES as _, findWorkspaceDraftPlan as a, ensurePanDirs as b, mergeRecordStatusOverrides as c, readPlanSync as d, readTierOverrides as f, serializeVBriefDocument as g, recordTierPromotion as h, findPlanSync as i, readVBriefDocument as j, init_vbrief_index as k, normalizeVBriefEnvelope as l, readWorkspacePlanSync as m, applyStatusOverrides as n, init_io as o, readWorkspacePlan as p, findPlan as r, isPlanningComplete as s, VBriefMergeConflictError as t, readPlan as u, init_types as v, readSpec as w, findSpecByIssue as x, subItemsOf as y };
|
|
840
833
|
|
|
841
|
-
//# sourceMappingURL=io-
|
|
834
|
+
//# sourceMappingURL=io-DkC4sFSy.js.map
|