@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,9 +1,9 @@
|
|
|
1
1
|
import { n as __esmMin, r as __exportAll } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { a as readCavemanVariant, n as init_workspace } from "./workspace-
|
|
5
|
-
import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-
|
|
6
|
-
import { a as init_jsonl_parser, n as getAllSessionFilesSync, s as parseClaudeSessionSync } from "./jsonl-parser-
|
|
2
|
+
import { Cr as AGENTS_DIR, Mr as OVERDECK_HOME, Yr as init_paths } from "./config-yaml-CqaAyn8y.js";
|
|
3
|
+
import { D as listPaneValues, R as sessionExists, S as init_tmux, T as killSession } from "./tmux-U55cNGFG.js";
|
|
4
|
+
import { a as readCavemanVariant, n as init_workspace } from "./workspace-CuN0ev4Z.js";
|
|
5
|
+
import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-Dx8hUsvC.js";
|
|
6
|
+
import { a as init_jsonl_parser, n as getAllSessionFilesSync, s as parseClaudeSessionSync } from "./jsonl-parser-Cd5jIqh7.js";
|
|
7
7
|
import { Effect } from "effect";
|
|
8
8
|
import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
9
9
|
import { basename, join } from "path";
|
|
@@ -89,7 +89,7 @@ function roleForSpecialistModel(specialistType) {
|
|
|
89
89
|
return { role: "work" };
|
|
90
90
|
}
|
|
91
91
|
async function buildSpecialistBaseCommand(specialistType, model, sessionName) {
|
|
92
|
-
const { getAgentRuntimeBaseCommand } = await import("./agents-
|
|
92
|
+
const { getAgentRuntimeBaseCommand } = await import("./agents-BA15AQqo.js");
|
|
93
93
|
const role = roleForSpecialistModel(specialistType).role;
|
|
94
94
|
const harness = await resolveHarness({
|
|
95
95
|
model,
|
|
@@ -488,7 +488,7 @@ async function signalSpecialistCompletion(projectKey, specialistType, result, is
|
|
|
488
488
|
const resolvedTmuxSession = metadata.tmuxSession ?? getTmuxSessionName(specialistType, projectKey, issueId);
|
|
489
489
|
updateRunStatus(projectKey, registryKey, result.status);
|
|
490
490
|
if (metadata.currentRun) try {
|
|
491
|
-
const { finalizeRunLogSync } = await import("./specialist-logs-
|
|
491
|
+
const { finalizeRunLogSync } = await import("./specialist-logs-DtSkPJZK.js");
|
|
492
492
|
finalizeRunLogSync(projectKey, specialistType, metadata.currentRun, {
|
|
493
493
|
status: result.status,
|
|
494
494
|
notes: result.notes
|
|
@@ -498,7 +498,7 @@ async function signalSpecialistCompletion(projectKey, specialistType, result, is
|
|
|
498
498
|
}
|
|
499
499
|
setCurrentRun(projectKey, registryKey, null);
|
|
500
500
|
updateRunMetadata(projectKey, registryKey, { currentActivity: null });
|
|
501
|
-
import("./agents-
|
|
501
|
+
import("./agents-BA15AQqo.js").then(({ saveAgentRuntimeState }) => {
|
|
502
502
|
saveAgentRuntimeState(resolvedTmuxSession, {
|
|
503
503
|
state: "idle",
|
|
504
504
|
lastActivity: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -529,7 +529,7 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
|
|
|
529
529
|
console.error(`[specialist] Failed to kill tmux session ${tmuxSession}:`, error);
|
|
530
530
|
}
|
|
531
531
|
if (metadata.currentRun) {
|
|
532
|
-
const { finalizeRunLogSync } = await import("./specialist-logs-
|
|
532
|
+
const { finalizeRunLogSync } = await import("./specialist-logs-DtSkPJZK.js");
|
|
533
533
|
try {
|
|
534
534
|
finalizeRunLogSync(projectKey, specialistType, metadata.currentRun, {
|
|
535
535
|
status: metadata.lastRunStatus || "incomplete",
|
|
@@ -543,12 +543,12 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
|
|
|
543
543
|
updateRunMetadata(projectKey, registryKey, { currentActivity: null });
|
|
544
544
|
const key = `${projectKey}-${specialistType}`;
|
|
545
545
|
gracePeriodStates.delete(key);
|
|
546
|
-
const { saveAgentRuntimeState } = await import("./agents-
|
|
546
|
+
const { saveAgentRuntimeState } = await import("./agents-BA15AQqo.js");
|
|
547
547
|
saveAgentRuntimeState(tmuxSession, {
|
|
548
548
|
state: "suspended",
|
|
549
549
|
lastActivity: (/* @__PURE__ */ new Date()).toISOString()
|
|
550
550
|
});
|
|
551
|
-
const { scheduleDigestGeneration } = await import("./specialist-context-
|
|
551
|
+
const { scheduleDigestGeneration } = await import("./specialist-context-CspI4Eog.js");
|
|
552
552
|
scheduleDigestGeneration(projectKey, specialistType);
|
|
553
553
|
scheduleLogCleanup(projectKey, specialistType);
|
|
554
554
|
}
|
|
@@ -561,8 +561,8 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
|
|
|
561
561
|
function scheduleLogCleanup(projectKey, specialistType) {
|
|
562
562
|
Promise.resolve().then(async () => {
|
|
563
563
|
try {
|
|
564
|
-
const { cleanupOldLogsSync } = await import("./specialist-logs-
|
|
565
|
-
const { getSpecialistRetention } = await import("./projects-
|
|
564
|
+
const { cleanupOldLogsSync } = await import("./specialist-logs-DtSkPJZK.js");
|
|
565
|
+
const { getSpecialistRetention } = await import("./projects-Dc9aoVoG.js");
|
|
566
566
|
const retention = getSpecialistRetention(projectKey);
|
|
567
567
|
const deleted = cleanupOldLogsSync(projectKey, specialistType, {
|
|
568
568
|
maxDays: retention.max_days,
|
|
@@ -716,7 +716,7 @@ function listSpecialistsForProject(projectKey) {
|
|
|
716
716
|
*/
|
|
717
717
|
async function getAllProjectSpecialistStatuses() {
|
|
718
718
|
const registry = loadRegistry();
|
|
719
|
-
const { getAgentRuntimeStateSync } = await import("./agents-
|
|
719
|
+
const { getAgentRuntimeStateSync } = await import("./agents-BA15AQqo.js");
|
|
720
720
|
const results = [];
|
|
721
721
|
for (const [projectKey, specialists] of Object.entries(registry.projects)) for (const [registryKey, metadata] of Object.entries(specialists)) {
|
|
722
722
|
const { specialistType, issueId, role } = parseSpecialistRegistryKey(registryKey);
|
|
@@ -853,7 +853,7 @@ async function getSpecialistStatus(name, projectKey) {
|
|
|
853
853
|
const sessionId = readRecordedClaudeSessionId(getTmuxSessionName(name, projectKey));
|
|
854
854
|
const running = await isRunning(name, projectKey);
|
|
855
855
|
const contextTokens = countContextTokens(name);
|
|
856
|
-
const { getAgentRuntimeStateSync } = await import("./agents-
|
|
856
|
+
const { getAgentRuntimeStateSync } = await import("./agents-BA15AQqo.js");
|
|
857
857
|
const runtimeState = getAgentRuntimeStateSync(getTmuxSessionName(name, projectKey));
|
|
858
858
|
let state;
|
|
859
859
|
if (runtimeState) switch (runtimeState.state) {
|
|
@@ -933,7 +933,7 @@ async function sendFeedbackToAgent(feedback) {
|
|
|
933
933
|
}
|
|
934
934
|
const agentSession = `agent-${toIssueId.toLowerCase()}`;
|
|
935
935
|
const feedbackMessage = formatFeedbackForAgent(fullFeedback);
|
|
936
|
-
const { writeFeedbackFile } = await import("./feedback-writer-
|
|
936
|
+
const { writeFeedbackFile } = await import("./feedback-writer-CULeOOY4.js");
|
|
937
937
|
const specialist = {
|
|
938
938
|
"review-agent": "review-agent",
|
|
939
939
|
"test-agent": "test-agent",
|
|
@@ -952,7 +952,7 @@ async function sendFeedbackToAgent(feedback) {
|
|
|
952
952
|
return false;
|
|
953
953
|
}
|
|
954
954
|
try {
|
|
955
|
-
const { messageAgent } = await import("./agents-
|
|
955
|
+
const { messageAgent } = await import("./agents-BA15AQqo.js");
|
|
956
956
|
await messageAgent(agentSession, `SPECIALIST FEEDBACK: ${fromSpecialist} reported ${feedback.feedbackType.toUpperCase()} for ${toIssueId}.\n\nMUST READ: ${fileResult.filePath}\n\nUse your Read tool to open this file, read every line, then address the feedback and continue working. Do NOT stop at the prompt.`);
|
|
957
957
|
console.log(`[specialist] Sent feedback from ${fromSpecialist} to ${agentSession} (file: ${fileResult.filePath})`);
|
|
958
958
|
return true;
|
|
@@ -1071,4 +1071,4 @@ var init_specialists = __esmMin((() => {
|
|
|
1071
1071
|
//#endregion
|
|
1072
1072
|
export { updateRunMetadata as $, isEnabled as A, pauseGracePeriod as B, getSpecialistState as C, initSpecialistsDirectory as D, incrementProjectRunCount as E, listSpecialistsForProject as F, sendFeedbackToAgent as G, recordWake as H, loadRegistry as I, specialists_exports as J, setCurrentRun as K, makeSpecialistRegistryKey as L, isProjectSpecialistActivelyRunning as M, isRunning as N, init_specialists as O, listProjectsWithSpecialists as P, updateProjectSpecialistMetadata as Q, parseReviewerSessionName as R, getSpecialistMetadata as S, getTmuxSessionName as T, resumeGracePeriod as U, pruneSpecialistRegistryEntriesForIssue as V, saveRegistry as W, terminateSpecialist as X, startGracePeriod as Y, updateContextTokens as Z, getPendingFeedback as _, disableSpecialist as a, getReviewerSessionName as b, exitGracePeriod as c, getAllProjectSpecialistStatuses as d, updateRunStatus as et, getAllSpecialistStatus as f, getGracePeriodState as g, getFeedbackStats as h, countContextTokens as i, isInitialized as j, initializeEnabledSpecialists as k, findActiveRegistryKey as l, getEnabledSpecialists as m, buildSpecialistBaseCommand as n, enableSpecialist as o, getAllSpecialists as p, signalSpecialistCompletion as q, buildSpecialistCavemanExports as r, ensureProjectSpecialistDir as s, REVIEWER_ROLES as t, updateSpecialistMetadata as tt, findSessionFile as u, getProjectSpecialistDir as v, getSpecialistStatus as w, getRunMetadata as x, getProjectSpecialistMetadata as y, parseSpecialistRegistryKey as z };
|
|
1073
1073
|
|
|
1074
|
-
//# sourceMappingURL=specialists-
|
|
1074
|
+
//# sourceMappingURL=specialists-GF42OOqd.js.map
|
|
@@ -413,6 +413,7 @@ var init_types = __esmMin((() => {
|
|
|
413
413
|
"work",
|
|
414
414
|
"knowledge",
|
|
415
415
|
"strike",
|
|
416
|
+
"lint",
|
|
416
417
|
"review",
|
|
417
418
|
"reviewer",
|
|
418
419
|
"test",
|
|
@@ -4365,6 +4366,9 @@ var init_hygiene = __esmMin((() => {
|
|
|
4365
4366
|
});
|
|
4366
4367
|
}));
|
|
4367
4368
|
//#endregion
|
|
4369
|
+
//#region ../../../packages/contracts/src/update.ts
|
|
4370
|
+
var init_update = __esmMin((() => {}));
|
|
4371
|
+
//#endregion
|
|
4368
4372
|
//#region ../../../packages/contracts/src/index.ts
|
|
4369
4373
|
var init_src = __esmMin((() => {
|
|
4370
4374
|
init_types();
|
|
@@ -4380,8 +4384,9 @@ var init_src = __esmMin((() => {
|
|
|
4380
4384
|
init_feature_registry();
|
|
4381
4385
|
init_harness_behavior();
|
|
4382
4386
|
init_hygiene();
|
|
4387
|
+
init_update();
|
|
4383
4388
|
}));
|
|
4384
4389
|
//#endregion
|
|
4385
4390
|
export { normalizeChannelReplyPayload as C, MemoryStatus as S, FlywheelRunId as _, getHarnessBehavior as a, DomainEvent as b, FlywheelStats as c, getMaxTurnDiffSummariesPerAgent as d, isTerminalTurnDiffSummaryStatus as f, WS_METHODS as g, PanRpcGroup as h, OHMYPI_BEHAVIOR as i, INITIAL_READ_MODEL_STATE as l, PanRpcError as m, CLAUDE_CODE_BEHAVIOR as n, ContextLayerSaveRequest as o, trimTurnDiffSummaries as p, CODEX_BEHAVIOR as r, ContextPreviewRequest as s, init_src as t, applyEvent as u, FlywheelStatus as v, MemoryObservation as x, EDITORS as y };
|
|
4386
4391
|
|
|
4387
|
-
//# sourceMappingURL=src-
|
|
4392
|
+
//# sourceMappingURL=src-By3D85Ry.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { i as init_esm_min, n as FormData, o as Blob, r as formDataToBlob, s as init_fetch_blob, t as init_from } from "./from-
|
|
2
|
+
import { i as init_esm_min, n as FormData, o as Blob, r as formDataToBlob, s as init_fetch_blob, t as init_from } from "./from-B2tOYhYV.js";
|
|
3
3
|
import { deprecate, promisify, types } from "node:util";
|
|
4
|
-
import { Buffer as Buffer$1 } from "node:buffer";
|
|
5
|
-
import Stream, { PassThrough, pipeline } from "node:stream";
|
|
6
4
|
import { format } from "node:url";
|
|
7
5
|
import http from "node:http";
|
|
6
|
+
import { Buffer as Buffer$1 } from "node:buffer";
|
|
7
|
+
import Stream, { PassThrough, pipeline } from "node:stream";
|
|
8
8
|
import { isIP } from "node:net";
|
|
9
9
|
import zlib from "node:zlib";
|
|
10
10
|
import https from "node:https";
|
|
@@ -209,7 +209,7 @@ var init_body = __esmMin((() => {
|
|
|
209
209
|
for (const [name, value] of parameters) formData.append(name, value);
|
|
210
210
|
return formData;
|
|
211
211
|
}
|
|
212
|
-
const { toFormData } = await import("./multipart-parser-
|
|
212
|
+
const { toFormData } = await import("./multipart-parser-9DhuAkPd.js");
|
|
213
213
|
return toFormData(this.body, ct);
|
|
214
214
|
}
|
|
215
215
|
/**
|
|
@@ -1176,4 +1176,4 @@ __esmMin((() => {
|
|
|
1176
1176
|
}))();
|
|
1177
1177
|
export { fetch as default };
|
|
1178
1178
|
|
|
1179
|
-
//# sourceMappingURL=src-
|
|
1179
|
+
//# sourceMappingURL=src-CqyFg52C.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { i as __require, o as __toESM, t as __commonJSMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { r as init_esm_shims, t as __dirname } from "./esm-shims-
|
|
3
|
-
import { n as require_dist$1, r as require_src$14, t as require_dist$2 } from "./dist-
|
|
2
|
+
import { r as init_esm_shims, t as __dirname } from "./esm-shims-Cso7IGBC.js";
|
|
3
|
+
import { n as require_dist$1, r as require_src$14, t as require_dist$2 } from "./dist-BwlEiLCU.js";
|
|
4
4
|
//#region ../../../node_modules/.bun/@google-cloud+promisify@4.1.0/node_modules/@google-cloud/promisify/build/src/index.js
|
|
5
5
|
var require_src$13 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1198,12 +1198,12 @@ var require_gaxios = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
1198
1198
|
* @returns A proxy agent
|
|
1199
1199
|
*/
|
|
1200
1200
|
static async #getProxyAgent() {
|
|
1201
|
-
this.#proxyAgent ||= (await import("./dist-
|
|
1201
|
+
this.#proxyAgent ||= (await import("./dist-Bx4KkgYL.js").then((m) => /* @__PURE__ */ __toESM(m.default))).HttpsProxyAgent;
|
|
1202
1202
|
return this.#proxyAgent;
|
|
1203
1203
|
}
|
|
1204
1204
|
static async #getFetch() {
|
|
1205
1205
|
const hasWindow = typeof window !== "undefined" && !!window;
|
|
1206
|
-
this.#fetch ||= hasWindow ? window.fetch : (await import("./src-
|
|
1206
|
+
this.#fetch ||= hasWindow ? window.fetch : (await import("./src-CqyFg52C.js")).default;
|
|
1207
1207
|
return this.#fetch;
|
|
1208
1208
|
}
|
|
1209
1209
|
/**
|
|
@@ -10601,7 +10601,7 @@ var require_src$7 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
10601
10601
|
const TeenyStatistics_1 = require_TeenyStatistics();
|
|
10602
10602
|
const crypto_1 = __require("crypto");
|
|
10603
10603
|
const streamEvents = require_stream_events();
|
|
10604
|
-
const fetch = (...args) => import("./src-
|
|
10604
|
+
const fetch = (...args) => import("./src-CqyFg52C.js").then(({ default: fetch }) => fetch(...args));
|
|
10605
10605
|
var RequestError = class extends Error {
|
|
10606
10606
|
code;
|
|
10607
10607
|
};
|
|
@@ -133656,4 +133656,4 @@ var require_src = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
133656
133656
|
export default require_src();
|
|
133657
133657
|
export {};
|
|
133658
133658
|
|
|
133659
|
-
//# sourceMappingURL=src-
|
|
133659
|
+
//# sourceMappingURL=src-DhxM-eCb.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { Fn as init_projects,
|
|
2
|
+
import { Fn as init_projects, ar as parseIssueIdSync, kn as getProjectSync, qn as resolveProjectFromIssueSync, rr as init_issue_id } from "./config-yaml-CqaAyn8y.js";
|
|
3
3
|
import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-pcbf-e30.js";
|
|
4
4
|
import { join } from "node:path";
|
|
5
5
|
import { Duration, Effect, Schedule, Stream } from "effect";
|
|
@@ -352,4 +352,4 @@ var init_stack_health = __esmMin((() => {
|
|
|
352
352
|
//#endregion
|
|
353
353
|
export { init_stack_health as a, init_docker_stats as c, getWorkspaceStackHealth as i, recordDockerContainerLifecycleSnapshot as l, collectDockerContainerLifecycleSnapshot as n, recordWorkspaceStackHealthTransition as o, evaluateWorkspaceStackHealth as r, DockerStatsCollector as s, DEFAULT_STUCK_CREATED_THRESHOLD_MS as t };
|
|
354
354
|
|
|
355
|
-
//# sourceMappingURL=stack-health-
|
|
355
|
+
//# sourceMappingURL=stack-health-C-SnpRHh.js.map
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Fn as init_projects, Pt as readIssueRecordSync, Tt as getIssueRecordPath, kt as init_record, zn as listProjectsSync } from "./config-yaml-CqaAyn8y.js";
|
|
2
|
+
import { a as isPidDead, i as init_fs_lock, n as updateIssueRecord, t as init_record_update } from "./record-update-BltEmPge.js";
|
|
3
|
+
import { c as listAllAgentsSync, o as init_agents } from "./agents-BHBxr8c9.js";
|
|
4
|
+
import { dirname } from "node:path";
|
|
5
|
+
import { hostname } from "node:os";
|
|
6
|
+
import { readdirSync } from "node:fs";
|
|
7
|
+
//#region ../../lib/cloister/stale-task-claims.ts
|
|
8
|
+
/** Deacon patrol for releasing task claims whose local owner has died. */
|
|
9
|
+
init_projects();
|
|
10
|
+
init_agents();
|
|
11
|
+
init_fs_lock();
|
|
12
|
+
init_record();
|
|
13
|
+
init_record_update();
|
|
14
|
+
async function releaseStaleTaskClaims(projects, runningAgentIds, localHost = hostname(), now = /* @__PURE__ */ new Date()) {
|
|
15
|
+
const actions = [];
|
|
16
|
+
for (const { project, issueIds } of projects) for (const issueId of issueIds) {
|
|
17
|
+
const snapshot = readIssueRecordSync(project, issueId);
|
|
18
|
+
if (!snapshot?.tasks) continue;
|
|
19
|
+
const candidates = Object.entries(snapshot.tasks.claims).filter(([, claim]) => claim.host === localHost && isPidDead(claim.pid) && (!claim.agentId || !runningAgentIds.has(claim.agentId)));
|
|
20
|
+
if (candidates.length === 0) continue;
|
|
21
|
+
await updateIssueRecord(project, issueId, (record) => {
|
|
22
|
+
if (!record.tasks) return record;
|
|
23
|
+
for (const [itemId] of candidates) {
|
|
24
|
+
const claim = record.tasks.claims[itemId];
|
|
25
|
+
if (!claim || claim.host !== localHost || !isPidDead(claim.pid) || claim.agentId && runningAgentIds.has(claim.agentId)) continue;
|
|
26
|
+
const reason = `stale claim released (${claim.writerId} dead)`;
|
|
27
|
+
record.statusOverrides = {
|
|
28
|
+
...record.statusOverrides ?? {},
|
|
29
|
+
[itemId]: "pending"
|
|
30
|
+
};
|
|
31
|
+
record.tasks.claimHistory = [...record.tasks.claimHistory ?? [], {
|
|
32
|
+
...claim,
|
|
33
|
+
itemId,
|
|
34
|
+
outcome: "released",
|
|
35
|
+
reason,
|
|
36
|
+
releasedAt: now.toISOString()
|
|
37
|
+
}].slice(-50);
|
|
38
|
+
record.tasks.statusReasons = {
|
|
39
|
+
...record.tasks.statusReasons ?? {},
|
|
40
|
+
[itemId]: {
|
|
41
|
+
reason,
|
|
42
|
+
updatedAt: now.toISOString()
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
delete record.tasks.claims[itemId];
|
|
46
|
+
record.tasks.sequence += 1;
|
|
47
|
+
actions.push(`[deacon] released stale task claim ${issueId.toUpperCase()}/${itemId} (${claim.writerId} dead)`);
|
|
48
|
+
}
|
|
49
|
+
return record;
|
|
50
|
+
}, { writerId: "deacon-stale-claim-patrol" });
|
|
51
|
+
}
|
|
52
|
+
return actions;
|
|
53
|
+
}
|
|
54
|
+
async function patrolStaleTaskClaims() {
|
|
55
|
+
return releaseStaleTaskClaims(listProjectsSync().map(({ config }) => {
|
|
56
|
+
let issueIds = [];
|
|
57
|
+
try {
|
|
58
|
+
issueIds = readdirSync(dirname(getIssueRecordPath(config, "_"))).filter((name) => name.endsWith(".json")).map((name) => name.slice(0, -5).toUpperCase());
|
|
59
|
+
} catch {}
|
|
60
|
+
return {
|
|
61
|
+
project: config,
|
|
62
|
+
issueIds
|
|
63
|
+
};
|
|
64
|
+
}), new Set(listAllAgentsSync().filter((agent) => agent.status === "running" || agent.status === "starting").map((agent) => agent.id)));
|
|
65
|
+
}
|
|
66
|
+
//#endregion
|
|
67
|
+
export { patrolStaleTaskClaims };
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=stale-task-claims-vTxmRzLi.js.map
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
+
import { Fn as init_projects, Gn as resolveInfraRepo, Jr as getOverdeckHome, Yr as init_paths, _n as projectKey, an as STATE_BRANCH_PATHS, cn as init_state_plane, gn as init_project_key } from "./config-yaml-CqaAyn8y.js";
|
|
3
|
+
import { dirname, join } from "node:path";
|
|
4
|
+
import { existsSync } from "node:fs";
|
|
5
|
+
import { mkdir, rm } from "node:fs/promises";
|
|
6
|
+
import { execFile } from "node:child_process";
|
|
7
|
+
import { promisify } from "node:util";
|
|
8
|
+
//#region ../../lib/state-home.ts
|
|
9
|
+
/**
|
|
10
|
+
* State-home resolver and dedicated overdeck-state worktree manager (PAN-2541).
|
|
11
|
+
*
|
|
12
|
+
* Migration is complete only when the tip of origin/overdeck-state contains a
|
|
13
|
+
* valid migration-complete.json whose stateBranchSha is an ancestor of the tip.
|
|
14
|
+
* An unmarked branch is an in-progress migration and continues using legacy
|
|
15
|
+
* project-root state paths.
|
|
16
|
+
*/
|
|
17
|
+
async function git(repoPath, args) {
|
|
18
|
+
const { stdout } = await execFileAsync("git", args, {
|
|
19
|
+
cwd: repoPath,
|
|
20
|
+
encoding: "utf8",
|
|
21
|
+
maxBuffer: 16 * 1024 * 1024,
|
|
22
|
+
timeout: 15e3,
|
|
23
|
+
killSignal: "SIGTERM"
|
|
24
|
+
});
|
|
25
|
+
return stdout.trim();
|
|
26
|
+
}
|
|
27
|
+
function stateWorktreePath(project, options = {}) {
|
|
28
|
+
return join(getOverdeckHome(), "state", projectKey(project, options.projectKey));
|
|
29
|
+
}
|
|
30
|
+
function isSha(value) {
|
|
31
|
+
return typeof value === "string" && /^[0-9a-f]{40}$/i.test(value);
|
|
32
|
+
}
|
|
33
|
+
function parseMigrationCompleteMarker(value) {
|
|
34
|
+
if (!value || typeof value !== "object") return null;
|
|
35
|
+
const marker = value;
|
|
36
|
+
if (!isSha(marker.sourceMainSha) || !isSha(marker.stateBranchSha)) return null;
|
|
37
|
+
if (typeof marker.completedAt !== "string" || !Number.isFinite(Date.parse(marker.completedAt))) return null;
|
|
38
|
+
if (!Number.isInteger(marker.version) || (marker.version ?? 0) < 1) return null;
|
|
39
|
+
return marker;
|
|
40
|
+
}
|
|
41
|
+
async function remoteStateTip(repoPath) {
|
|
42
|
+
const sha = (await git(repoPath, [
|
|
43
|
+
"ls-remote",
|
|
44
|
+
"--heads",
|
|
45
|
+
"origin",
|
|
46
|
+
`refs/heads/${STATE_BRANCH}`
|
|
47
|
+
])).split(/\s+/)[0];
|
|
48
|
+
return isSha(sha) ? sha : null;
|
|
49
|
+
}
|
|
50
|
+
async function markerAtRemoteTip(repoPath, tip) {
|
|
51
|
+
await git(repoPath, [
|
|
52
|
+
"fetch",
|
|
53
|
+
"--quiet",
|
|
54
|
+
"origin",
|
|
55
|
+
`refs/heads/${STATE_BRANCH}:refs/remotes/origin/${STATE_BRANCH}`
|
|
56
|
+
]);
|
|
57
|
+
if (await git(repoPath, ["rev-parse", `refs/remotes/origin/overdeck-state`]) !== tip) return null;
|
|
58
|
+
let raw;
|
|
59
|
+
try {
|
|
60
|
+
raw = await git(repoPath, ["show", `${tip}:${MIGRATION_COMPLETE_MARKER}`]);
|
|
61
|
+
} catch {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
let marker;
|
|
65
|
+
try {
|
|
66
|
+
marker = parseMigrationCompleteMarker(JSON.parse(raw));
|
|
67
|
+
} catch {
|
|
68
|
+
marker = null;
|
|
69
|
+
}
|
|
70
|
+
if (!marker) return null;
|
|
71
|
+
return await git(repoPath, [
|
|
72
|
+
"merge-base",
|
|
73
|
+
"--is-ancestor",
|
|
74
|
+
marker.stateBranchSha,
|
|
75
|
+
tip
|
|
76
|
+
]).then(() => true).catch(() => false) ? marker : null;
|
|
77
|
+
}
|
|
78
|
+
async function inspectStateMigration(project) {
|
|
79
|
+
const { repoPath } = resolveInfraRepo(project);
|
|
80
|
+
let tip;
|
|
81
|
+
try {
|
|
82
|
+
tip = await remoteStateTip(repoPath);
|
|
83
|
+
} catch {
|
|
84
|
+
return {
|
|
85
|
+
migrated: false,
|
|
86
|
+
migrationInProgress: false,
|
|
87
|
+
remoteTip: null
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
const cached = migrationCache.get(repoPath);
|
|
91
|
+
if (cached?.remoteTip === tip) return {
|
|
92
|
+
migrated: cached.migrated,
|
|
93
|
+
migrationInProgress: tip !== null && !cached.migrated,
|
|
94
|
+
remoteTip: tip
|
|
95
|
+
};
|
|
96
|
+
const migrated = tip !== null && await markerAtRemoteTip(repoPath, tip) !== null;
|
|
97
|
+
migrationCache.set(repoPath, {
|
|
98
|
+
remoteTip: tip,
|
|
99
|
+
migrated
|
|
100
|
+
});
|
|
101
|
+
return {
|
|
102
|
+
migrated,
|
|
103
|
+
migrationInProgress: tip !== null && !migrated,
|
|
104
|
+
remoteTip: tip
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
async function isStateMigrated(project) {
|
|
108
|
+
return (await inspectStateMigration(project)).migrated;
|
|
109
|
+
}
|
|
110
|
+
async function findRecreatedLegacyStatePaths(project) {
|
|
111
|
+
if (!await isStateMigrated(project)) return [];
|
|
112
|
+
const legacyStateRoot = project.path;
|
|
113
|
+
return STATE_BRANCH_PATHS.map((statePath) => join(legacyStateRoot, ".pan", statePath.slice(0, -1))).filter(existsSync);
|
|
114
|
+
}
|
|
115
|
+
async function addStateWorktree(repoPath, path) {
|
|
116
|
+
await mkdir(dirname(path), { recursive: true });
|
|
117
|
+
await git(repoPath, await git(repoPath, [
|
|
118
|
+
"show-ref",
|
|
119
|
+
"--verify",
|
|
120
|
+
"--quiet",
|
|
121
|
+
`refs/heads/overdeck-state`
|
|
122
|
+
]).then(() => true, () => false) ? [
|
|
123
|
+
"worktree",
|
|
124
|
+
"add",
|
|
125
|
+
path,
|
|
126
|
+
STATE_BRANCH
|
|
127
|
+
] : [
|
|
128
|
+
"worktree",
|
|
129
|
+
"add",
|
|
130
|
+
"--track",
|
|
131
|
+
"-b",
|
|
132
|
+
STATE_BRANCH,
|
|
133
|
+
path,
|
|
134
|
+
`origin/${STATE_BRANCH}`
|
|
135
|
+
]);
|
|
136
|
+
}
|
|
137
|
+
async function ensureStateWorktree(project, options = {}) {
|
|
138
|
+
const migration = await inspectStateMigration(project);
|
|
139
|
+
const path = stateWorktreePath(project, options);
|
|
140
|
+
if (!migration.migrated) return {
|
|
141
|
+
status: "legacy",
|
|
142
|
+
path
|
|
143
|
+
};
|
|
144
|
+
const { repoPath } = resolveInfraRepo(project);
|
|
145
|
+
if (!existsSync(path)) {
|
|
146
|
+
await addStateWorktree(repoPath, path);
|
|
147
|
+
return {
|
|
148
|
+
status: "created",
|
|
149
|
+
path
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
let branch;
|
|
153
|
+
let dirty;
|
|
154
|
+
try {
|
|
155
|
+
branch = await git(path, ["branch", "--show-current"]);
|
|
156
|
+
dirty = await git(path, ["status", "--porcelain"]);
|
|
157
|
+
} catch (error) {
|
|
158
|
+
return {
|
|
159
|
+
status: "error",
|
|
160
|
+
path,
|
|
161
|
+
detail: error instanceof Error ? error.message : String(error)
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
if (dirty) return {
|
|
165
|
+
status: "dirty",
|
|
166
|
+
path,
|
|
167
|
+
detail: "state worktree has uncommitted changes; refusing destructive repair"
|
|
168
|
+
};
|
|
169
|
+
if (branch === "overdeck-state") return {
|
|
170
|
+
status: "healthy",
|
|
171
|
+
path
|
|
172
|
+
};
|
|
173
|
+
try {
|
|
174
|
+
await git(repoPath, [
|
|
175
|
+
"worktree",
|
|
176
|
+
"remove",
|
|
177
|
+
path
|
|
178
|
+
]);
|
|
179
|
+
await rm(path, {
|
|
180
|
+
recursive: true,
|
|
181
|
+
force: true
|
|
182
|
+
});
|
|
183
|
+
await addStateWorktree(repoPath, path);
|
|
184
|
+
return {
|
|
185
|
+
status: "recreated",
|
|
186
|
+
path
|
|
187
|
+
};
|
|
188
|
+
} catch (error) {
|
|
189
|
+
return {
|
|
190
|
+
status: "error",
|
|
191
|
+
path,
|
|
192
|
+
detail: error instanceof Error ? error.message : String(error)
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
function clearStateMigrationCache() {
|
|
197
|
+
migrationCache.clear();
|
|
198
|
+
}
|
|
199
|
+
var execFileAsync, STATE_BRANCH, MIGRATION_COMPLETE_MARKER, migrationCache;
|
|
200
|
+
var init_state_home = __esmMin((() => {
|
|
201
|
+
init_paths();
|
|
202
|
+
init_projects();
|
|
203
|
+
init_project_key();
|
|
204
|
+
init_state_plane();
|
|
205
|
+
execFileAsync = promisify(execFile);
|
|
206
|
+
STATE_BRANCH = "overdeck-state";
|
|
207
|
+
MIGRATION_COMPLETE_MARKER = "migration-complete.json";
|
|
208
|
+
migrationCache = /* @__PURE__ */ new Map();
|
|
209
|
+
}));
|
|
210
|
+
//#endregion
|
|
211
|
+
export { findRecreatedLegacyStatePaths as a, isStateMigrated as c, ensureStateWorktree as i, stateWorktreePath as l, STATE_BRANCH as n, init_state_home as o, clearStateMigrationCache as r, inspectStateMigration as s, MIGRATION_COMPLETE_MARKER as t };
|
|
212
|
+
|
|
213
|
+
//# sourceMappingURL=state-home-Bur1y4oH.js.map
|