@overdeck/desktop 0.45.23 → 0.45.24
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/drizzle/overdeck/0000_overdeck_init.sql +2 -0
- package/package.json +1 -1
- package/server/{acceptance-criteria-DOA0KgXx.js → acceptance-criteria-DDCnXF58.js} +2 -2
- package/server/{advancing-selfheal-BBu6DSNm.js → advancing-selfheal-BVwW4qRn.js} +6 -6
- package/server/{agent-gc-BV1q_2EV.js → agent-gc-CHcnvonI.js} +4 -4
- package/server/agent-state-Bc3tzUC8.js +3 -0
- package/server/{agent-state-service-HoK8U4jW.js → agent-state-service-BsgWxZuB.js} +5 -5
- package/server/{agent-state-service-CnzFKSAQ.js → agent-state-service-D5UGKIJL.js} +1 -1
- package/server/{agents-B4Bjbkfv.js → agents-EbI0zCJl.js} +4 -4
- package/server/agents-wi9NWzs2.js +3 -0
- package/server/{archive-planning-zkJb3BeM.js → archive-planning-BZDgzoEj.js} +1 -1
- package/server/{archive-planning-DYrYojxl.js → archive-planning-Du25Jtst.js} +4 -4
- package/server/{artifact-index-jobs-C-xy7Z5v.js → artifact-index-jobs-CbEDfCDu.js} +2 -2
- package/server/assemble-J2ZZ2C15.js +339 -0
- package/server/{backlog-auto-trigger-GtG71X8H.js → backlog-auto-trigger-2R2jog7n.js} +3 -3
- package/server/{behavior-B_-4EKF3.js → behavior-B3exJ42O.js} +2 -2
- package/server/{briefing-freshness-DWdW7vUm.js → briefing-freshness-D1wzUIWv.js} +2 -2
- package/server/{build-info-DgTqZkL5.js → build-info-CZk_TITh.js} +1 -1
- package/server/{build-info-BT096lEl.js → build-info-Ie_D0_BT.js} +3 -3
- package/server/{checkpoint-manager-DDqcGyu8.js → checkpoint-manager-BI1Wxoku.js} +2 -2
- package/server/{checkpoint-manager-B7Bt29J0.js → checkpoint-manager-DwbQoqrC.js} +1 -1
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-CpgCjAlN.js → checkpoints-BJIs5QIA.js} +1 -1
- package/server/{checkpoints-C-AXLfYT.js → checkpoints-CQB1h765.js} +2 -2
- package/server/{claude-hooks-provision-C8wdRnN1.js → claude-hooks-provision-8Ngo8TpT.js} +1 -1
- package/server/{claude-hooks-provision-but-_qGY.js → claude-hooks-provision-D8GXF3_s.js} +2 -2
- package/server/{claude-permissions-H_5wHQZQ.js → claude-permissions-DNWEVV6z.js} +2 -2
- package/server/{claude-settings-overlay-CbSz0Dvb.js → claude-settings-overlay-CEdaqpWI.js} +2 -2
- package/server/{claude-settings-overlay-BTENVmYf.js → claude-settings-overlay-DWy-Bb4Y.js} +1 -1
- package/server/cli-B86rejVV.js +3 -0
- package/server/{cli-vBeXbPrq.js → cli-RoOx5DUf.js} +9 -9
- package/server/{cliproxy-Bgb2XCqi.js → cliproxy-C8a1vtTU.js} +2 -2
- package/server/{cliproxy-DW0V86F8.js → cliproxy-fHfIeiGd.js} +1 -1
- package/server/{close-issue-Dn_4c4G8.js → close-issue-DoOifFIK.js} +5 -5
- package/server/{closed-issue-reaper-hANY_ehE.js → closed-issue-reaper-Bk3SU4RC.js} +9 -9
- package/server/{closed-issue-reaper-CWpY2uBw.js → closed-issue-reaper-CktPXo8m.js} +1 -1
- package/server/{codex-TmSi-yTv.js → codex-BZXGhUVB.js} +7 -7
- package/server/{codex-Dg7Is5yb.js → codex-GcHuUF-k.js} +1 -1
- package/server/{codex-parser-C4gSH-IR.js → codex-parser-CFZ1_1Jl.js} +2 -2
- package/server/{config-CCvjQf27.js → config-BZ0sHTju.js} +2 -2
- package/server/{config-DjLOdbgT.js → config-CKxYiCmX.js} +2 -2
- package/server/{config-DUIhMN_T.js → config-DzV30TOm.js} +1 -1
- package/server/{config-yaml-DvyMuOle.js → config-yaml-DySPNmKN.js} +23 -9
- package/server/{conflict-gate-CmrYpa47.js → conflict-gate-BaCVrH-N.js} +3 -3
- package/server/{conflict-gate-BSJkNTdp.js → conflict-gate-BhAY7TUd.js} +1 -1
- package/server/context-layers-BrPmE__h.js +4 -0
- package/server/context-layers-igZ4FI4_.js +37 -0
- package/server/{control-settings-aP1ANIlI.js → control-settings-BQp7_4uD.js} +4 -4
- package/server/{conversation-compaction-CNbTLB86.js → conversation-compaction-CgrR8YYp.js} +8 -8
- package/server/{conversation-compaction-DiG5zWQq.js → conversation-compaction-eQB5CkOe.js} +1 -1
- package/server/{conversation-service-Up7FEzIC.js → conversation-service-BLd3MYsG.js} +1 -1
- package/server/{conversation-service-Du-MTNpJ.js → conversation-service-DPJ71F33.js} +329 -19
- package/server/{conversations-DbOs1e9Q.js → conversations-6AfUfbwc.js} +5 -5
- package/server/{conversations-6mPANqvL.js → conversations-CAsJF9kh.js} +1 -1
- package/server/{cost-Ca0YTWDw.js → cost-B2ddP6wq.js} +2 -2
- package/server/{cost-CW4WSe72.js → cost-R-m6Yi-W.js} +3 -3
- package/server/{cost-sync-C0VdGme1.js → cost-sync-BsN6ER0n.js} +3 -3
- package/server/{dag-CdOjJVDT.js → dag-B1ucnjDU.js} +2 -2
- package/server/{dangerous-git-ops-CT-IypG3.js → dangerous-git-ops-BXqeWVSf.js} +1 -1
- package/server/dashboard-db-worker.js +7 -7
- package/server/{deacon-pRnyD5w9.js → deacon-CU_cAYSR.js} +254 -144
- package/server/{deacon-DYSEJb48.js → deacon-kiQrb4ZT.js} +3 -3
- package/server/{deacon-nudge-log-Bjg8U4Y9.js → deacon-nudge-log-6wVqAaqz.js} +3 -3
- package/server/{deacon-swarm-DftYRDo8.js → deacon-swarm-BXZZ1Z2-.js} +13 -13
- package/server/deacon-swarm-C-GwfjJy.js +2 -0
- package/server/deacon.js +8 -8
- package/server/{deploy-patrol-Bjsho_ha.js → deploy-patrol-AiFoP8dw.js} +6 -6
- package/server/{deploy-window-DeP_OIRk.js → deploy-window-C3F-tihF.js} +6 -6
- package/server/{deploy-window-CM6W1-c6.js → deploy-window-DkZraDyj.js} +1 -1
- package/server/{dev-supervisor-BpMoHlkR.js → dev-supervisor-bcOWqdQE.js} +2 -2
- package/server/{devcontainer-renderer-CtUgrVKW.js → devcontainer-renderer-_d6XhyND.js} +3 -3
- package/server/dist-Bzy0y69j.js +3 -0
- package/server/{dist-DyRx4cI7.js → dist-Cb_0uvpS.js} +1 -1
- package/server/{docker-BK7HIcBj.js → docker-DcMTFTUC.js} +2 -2
- package/server/{dod-BrSfUHm0.js → dod-C6n9RV3G.js} +1 -1
- package/server/{ensure-devcontainer-DRqaAkBR.js → ensure-devcontainer-BZgOhRo7.js} +1 -1
- package/server/{ensure-devcontainer-DseivYEy.js → ensure-devcontainer-DNi-ono3.js} +4 -4
- package/server/{esm-shims-CbI3BVkl.js → esm-shims-OSHAYaS1.js} +1 -1
- package/server/{event-store-tdiY5eDZ.js → event-store-CQL6NeqB.js} +3 -3
- package/server/{event-store-Cr5PQwFC.js → event-store-EV2cMiXj.js} +1 -1
- package/server/{events-CvvGK6LT.js → events-BTdrdEq8.js} +1 -1
- package/server/{events-CC1dgUpx.js → events-DTfAe4My.js} +3 -3
- package/server/{factory-CynerjXO.js → factory-CFibJuaw.js} +4 -4
- package/server/{feature-registry-population-B0pmAz0a.js → feature-registry-population-DKZFMbFt.js} +4 -4
- package/server/{feature-registry-storage-_wUBRD3J.js → feature-registry-storage-BdPuLcBX.js} +2 -2
- package/server/{features-Dhxz-wLc.js → features-ez2271oH.js} +2 -2
- package/server/{feedback-target-CPS15Vte.js → feedback-target-7mqqwrX6.js} +7 -7
- package/server/{feedback-target-iygZwmMc.js → feedback-target-CoFDHiM8.js} +1 -1
- package/server/{feedback-writer-C9b6ccN1.js → feedback-writer-CY5L1lB7.js} +5 -5
- package/server/{feedback-writer-qmiMbqTZ.js → feedback-writer-D3a22RCd.js} +1 -1
- package/server/flywheel-DHrgCphM.js +1084 -0
- package/server/flywheel-DzGtWnJ1.js +477 -0
- package/server/flywheel-SVF02Jpq.js +2 -0
- package/server/{flywheel-merge-order-DxbQKE1d.js → flywheel-merge-order-UU0tiUld.js} +9 -8
- package/server/{flywheel-merge-order-C-6zRLvM.js → flywheel-merge-order-UUcsCDb6.js} +1 -1
- package/server/{forge-Ch9gCFod.js → forge-CNFnyqps.js} +2 -2
- package/server/forge-DXnS_YFH.js +2 -0
- package/server/{from-CJ_aH5jD.js → from-kNxT0bZC.js} +1 -1
- package/server/{fts-db-CKgg0VKg.js → fts-db-CE46vDkZ.js} +2 -2
- package/server/{fts-operations-BrL_VTRr.js → fts-operations-CqY6zl-i.js} +2 -2
- package/server/{git-utils-BVa07a4a.js → git-utils-CRw2zLPC.js} +68 -3
- package/server/git-utils-D0_yhCgF.js +3 -0
- package/server/{github-app-CMBdIFBQ.js → github-app-C3QrAUd0.js} +18 -7
- package/server/{github-app-CPfoFAdV.js → github-app-ClZ2lk8D.js} +1 -1
- package/server/{github-client--XVlDpwM.js → github-client-BnIsSrEN.js} +2 -2
- package/server/{github-client-B4QsdE-X.js → github-client-DfQYVUaw.js} +1 -1
- package/server/{github-pr-lookup-BRbDW-qk.js → github-pr-lookup-D16NGsSO.js} +2 -2
- package/server/{harness-binary-CVio2m-u.js → harness-binary-DPUi-Pv8.js} +32 -6
- package/server/{harness-resolve-qHJBhy3Z.js → harness-resolve-3lNZkyT4.js} +18 -9
- package/server/{health-events-C9B8y1Hm.js → health-events-BBcTYQKU.js} +2 -2
- package/server/{health-events-CpfvuVmm.js → health-events-BDOHby5Q.js} +1 -1
- package/server/{hooks-DUXw8A0-.js → hooks-CKZgXlJb.js} +2 -2
- package/server/{hooks-ltecuFqZ.js → hooks-DPVX1rwQ.js} +1 -1
- package/server/{hume-BEq0bUDg.js → hume-Cz8igP9E.js} +2 -2
- package/server/hume-ccTf4wTX.js +3 -0
- package/server/{idle-stack-reaper-D7w9t3fE.js → idle-stack-reaper-CuLF0j2H.js} +1 -1
- package/server/{idle-stack-reaper-w1ISSlhs.js → idle-stack-reaper-DDIRwxUY.js} +2 -2
- package/server/{in-flight-guard-aQ1IxeI3.js → in-flight-guard-CAAkqPLu.js} +2 -2
- package/server/{infra-CzaSOgul.js → infra-BEqFxlJc.js} +14 -4
- package/server/{injection-DZ0PfYa4.js → injection-C8aiVJrF.js} +191 -183
- package/server/{injection-oNZeoDhL.js → injection-CPUIqNhI.js} +1 -1
- package/server/{inspect-agent-DJKLWcVT.js → inspect-agent-BLuJ1AkT.js} +135 -79
- package/server/inspect-agent-Brtz0URj.js +2 -0
- package/server/{internal-token-DXdfprGr.js → internal-token-BrcU6qfe.js} +1 -1
- package/server/{internal-token-Bb4XeV2x.js → internal-token-s0-oKybJ.js} +2 -2
- package/server/{io-B3_AHDfr.js → io-C9kF1wtJ.js} +3 -3
- package/server/{issue-closed-zhdvQicO.js → issue-closed-CDJk4pIp.js} +7 -7
- package/server/{issue-lifecycle-Dy4vd0Oa.js → issue-lifecycle-B8sZHVHh.js} +1 -1
- package/server/{issue-lifecycle-CreaCkjW.js → issue-lifecycle-ojZAzDBP.js} +21 -21
- package/server/{issue-service-singleton-DabvBWUp.js → issue-service-singleton-BvJ09SaR.js} +1 -1
- package/server/{issue-service-singleton-B5ushCvE.js → issue-service-singleton-Yx5DdmVJ.js} +8 -8
- package/server/{issues-B6ToV6x1.js → issues-BMmP_77e.js} +2 -2
- package/server/{jsonl-parser-Dhflo1SH.js → jsonl-parser-BXSlHwEh.js} +3 -3
- package/server/{label-cleanup-BKPJm4Hv.js → label-cleanup-B0UJwnv5.js} +3 -3
- package/server/{label-reconciler-DdWbHEBu.js → label-reconciler-B4iOAjlC.js} +4 -4
- package/server/{launcher-generator-CHVm7bGT.js → launcher-generator-BBWG_SiS.js} +101 -7
- package/server/{lifecycle-io-D8iNBcux.js → lifecycle-io-BREGpnLk.js} +5 -5
- package/server/{lifecycle-io-Bsnr2K4F.js → lifecycle-io-DPo7x11I.js} +1 -1
- package/server/{lifecycle-sycO16hj.js → lifecycle-xmBfK2GJ.js} +6 -6
- package/server/{lifecycle-DfeyBDwA.js → lifecycle-yPd___5E.js} +2 -2
- package/server/{linear-client-D4zqMnX7.js → linear-client-BsuUvkdA.js} +2 -2
- package/server/{linear-client-DqhDQO9k.js → linear-client-CTskEeT_.js} +1 -1
- package/server/memory-fts-worker.js +1 -1
- package/server/{merge-DK23JEdS.js → merge-B1DiziGU.js} +1 -1
- package/server/{merge-C_ZEhbqI.js → merge-CefQNAnq.js} +3 -3
- package/server/{merge-agent-XrB80vfT.js → merge-agent-4WOWlSYA.js} +28 -28
- package/server/{merge-agent-BQM3a8z5.js → merge-agent-CKkgIBPB.js} +1 -1
- package/server/{merge-batch-Bwoyr8Je.js → merge-batch-ClFn2T-y.js} +1 -1
- package/server/merge-ops-CR44oU9-.js +2 -0
- package/server/{merge-rebase-C1KIVr0s.js → merge-rebase-BfaTyXsw.js} +2 -2
- package/server/merge-set-DJ8-UErs.js +83 -0
- package/server/{merge-set-DnSYdBEp.js → merge-set-bUqbm3yc.js} +1 -1
- package/server/{merge-sync-SSv3E-pl.js → merge-sync-BJYeOODr.js} +1 -1
- package/server/{merge-sync-DZ9dojJn.js → merge-sync-VPV28g0g.js} +2 -2
- package/server/{merge-train-DxDfBTjr.js → merge-train-CHopycP0.js} +3 -3
- package/server/{merge-train-deps-CyYQUksx.js → merge-train-deps-D1cOZzy2.js} +4 -4
- package/server/{merge-verification-CSizH3HY.js → merge-verification-BkaOqPsw.js} +4 -4
- package/server/{multipart-parser-Dt8YPN5S.js → multipart-parser-duPAfSBw.js} +2 -2
- package/server/{no-resume-mode-Cx3K0hHi.js → no-resume-mode-Nw29vaFb.js} +1 -1
- package/server/node_modules/.package-lock.json +8 -8
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +3 -3
- package/server/node_modules/undici/README.md +5 -0
- package/server/node_modules/undici/docs/docs/api/Client.md +4 -0
- package/server/node_modules/undici/docs/docs/api/Dispatcher.md +6 -0
- package/server/node_modules/undici/docs/docs/api/Interceptors.md +59 -0
- package/server/node_modules/undici/docs/docs/api/MockAgent.md +27 -0
- package/server/node_modules/undici/docs/docs/api/MockPool.md +28 -1
- package/server/node_modules/undici/docs/docs/index.md +5 -0
- package/server/node_modules/undici/lib/core/request.js +1 -1
- package/server/node_modules/undici/lib/core/util.js +6 -1
- package/server/node_modules/undici/lib/dispatcher/agent.js +3 -3
- package/server/node_modules/undici/lib/dispatcher/client-h1.js +31 -6
- package/server/node_modules/undici/lib/dispatcher/client-h2.js +34 -43
- package/server/node_modules/undici/lib/handler/cache-handler.js +93 -5
- package/server/node_modules/undici/lib/handler/cache-revalidation-handler.js +10 -0
- package/server/node_modules/undici/lib/handler/redirect-handler.js +5 -2
- package/server/node_modules/undici/lib/handler/retry-handler.js +6 -4
- package/server/node_modules/undici/lib/interceptor/cache.js +21 -4
- package/server/node_modules/undici/lib/interceptor/decompress.js +4 -0
- package/server/node_modules/undici/lib/mock/mock-interceptor.js +25 -7
- package/server/node_modules/undici/lib/mock/mock-utils.js +39 -10
- package/server/node_modules/undici/lib/util/cache.js +49 -7
- package/server/node_modules/undici/lib/web/fetch/body.js +2 -1
- package/server/node_modules/undici/lib/web/fetch/response.js +1 -3
- package/server/node_modules/undici/package.json +2 -2
- package/server/node_modules/undici/types/client.d.ts +2 -2
- package/server/node_modules/undici/types/dispatcher.d.ts +3 -3
- package/server/node_modules/undici/types/mock-interceptor.d.ts +5 -1
- package/server/{orphan-proposed-reconciler-neK8dHQk.js → orphan-proposed-reconciler-BvKkWMJQ.js} +12 -12
- package/server/{orphan-proposed-reconciler-BTkDrl4R.js → orphan-proposed-reconciler-CTSGcK8p.js} +1 -1
- package/server/package-lock.json +9 -9
- package/server/package.json +1 -1
- package/server/{pan-dir-DeVUgwA7.js → pan-dir-B0c3w0Ya.js} +3 -3
- package/server/{paths-_zEts6wc.js → paths-D-xWGHdh.js} +2 -2
- package/server/{pickup-Dd0Znxxy.js → pickup-DUCLWrJY.js} +17 -16
- package/server/{pipeline-membership-0HaEGDlH.js → pipeline-membership-mY3GprlK.js} +7 -7
- package/server/{pipeline-notifier-6iCJplFZ.js → pipeline-notifier-BJr8gQX6.js} +1 -1
- package/server/{pipeline-notifier-D0ykk59O.js → pipeline-notifier-BXkJzDC4.js} +2 -2
- package/server/{project-pipelines-2sK1apsO.js → project-pipelines-C0MWUeCU.js} +2 -2
- package/server/project-repos-B6GycDh9.js +94 -0
- package/server/project-repos-DXKQsc_m.js +3 -0
- package/server/{projects-9SkRpES9.js → projects-vjjcmiN8.js} +1 -1
- package/server/{prompts-Dp4Tpk39.js → prompts-DxzFXuLl.js} +2 -2
- package/server/{providers-DV7ec8l7.js → providers-qQAwGQDW.js} +7 -7
- package/server/{providers-DKkBXhxU.js → providers-u4Ga0jOr.js} +1 -1
- package/server/public/assets/{chunk-BO2N2NFS-CltymLRg.js → chunk-BO2N2NFS-BamJdinX.js} +4 -4
- package/server/public/assets/{diagram-OG6HWLK6-D2f6pjgA.js → diagram-OG6HWLK6-DfOB8-w4.js} +1 -1
- package/server/public/assets/{dist-DEmlBBNQ.js → dist-ByIuzMQW.js} +3 -3
- package/server/public/assets/{dist-BWR4qFiV.js → dist-D7zYSEA6.js} +1 -1
- package/server/public/assets/{ganttDiagram-6RSMTGT7-DnfiViPK.js → ganttDiagram-6RSMTGT7-EdmRyXL3.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-B8Wrmj9H.js → highlighted-body-OFNGDK62-MerOfTX8.js} +1 -1
- package/server/public/assets/{index-CsSuZQBI.js → index-CWeMerGO.js} +146 -144
- package/server/public/assets/{index-CUr1xv8w.css → index-CenuJ3Cw.css} +1 -1
- package/server/public/assets/{linear-C9zFQpkX.js → linear-BBbArIcK.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-CpPWAFwE.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-lR8H7Yjd.js → pieDiagram-4H26LBE5-BKIddiJN.js} +1 -1
- package/server/public/assets/{prod-B1jCQihw.js → prod-B8vYiu52.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-CVQ2guem.js → quadrantDiagram-W4KKPZXB-D6RtoULk.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-eD1RB4gm.js → sankeyDiagram-5OEKKPKP-CLrCedZX.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-ChEC6dQn.js → xychartDiagram-2RQKCTM6-hznR8DYl.js} +1 -1
- package/server/public/index.html +2 -2
- package/server/{pull-requests--Ib2jTgy.js → pull-requests-7N8WKseP.js} +1 -1
- package/server/{pull-requests-CXIhdCYD.js → pull-requests-_lHueOHW.js} +3 -3
- package/server/{queries-6d7Cdtm7.js → queries-CjNIf-Ub.js} +576 -166
- package/server/{rally-B708-nZn.js → rally-CyWT_lNO.js} +3 -3
- package/server/{rally-api-nY0ZANw3.js → rally-api-C8e_1JRi.js} +2 -2
- package/server/{rally-api-yjQ0TfHd.js → rally-api-ClOSd-Tt.js} +1 -1
- package/server/{rally-client-B1EJhfV0.js → rally-client-lc-nokqr.js} +4 -4
- package/server/{rally-client-CULK2XAY.js → rally-client-sgtVqzNU.js} +1 -1
- package/server/rally-zhhtXuDP.js +3 -0
- package/server/{reap-terminal-sessions-MWnqdLCJ.js → reap-terminal-sessions-7KeHv1R1.js} +1 -1
- package/server/{reap-terminal-sessions-N3BTkmX_.js → reap-terminal-sessions-BtHPo6Xc.js} +1 -1
- package/server/rebuild-stack-CFvcBHsS.js +4 -0
- package/server/{rebuild-stack-Dp4eLkt4.js → rebuild-stack-lwtsW0GO.js} +26 -35
- package/server/{reconstruct-cache-uWbZfjms.js → reconstruct-cache-C3Ui7ojV.js} +6 -6
- package/server/{record-t6V-3Dcj.js → record-CN0pj4_5.js} +1 -1
- package/server/{record-update-DACtKh6_.js → record-update-bLJxAXH4.js} +1 -1
- package/server/{record-update-Dq0t2uBG.js → record-update-dE1Aw83j.js} +2 -2
- package/server/{recovery-trip-BJtIQuag.js → recovery-trip-BvRWfUXM.js} +2 -2
- package/server/{release-engine-DZpmGGzb.js → release-engine-Cx48W7z8.js} +5 -5
- package/server/{release-set-hnXd_kga.js → release-set-CQfuN9-v.js} +3 -3
- package/server/{remote-Br-ZWVIP.js → remote-C_2hasl7.js} +3 -3
- package/server/{remote-4tiENDaI.js → remote-ChgimyYa.js} +3 -3
- package/server/{remote-agents-nmty1mLu.js → remote-agents-By1ige5O.js} +6 -6
- package/server/{remote-agents-CRCg1L4H.js → remote-agents-CA3Ihlxj.js} +1 -1
- package/server/{remote-completion-BbWNd10K.js → remote-completion-fVe9e_3u.js} +12 -12
- package/server/resume-BFv1PGpA.js +3 -0
- package/server/{review-agent-sKkE1FEL.js → review-agent-CIGOQYBD.js} +29 -25
- package/server/{review-agent-DJRO8EG8.js → review-agent-DNboMyW4.js} +1 -1
- package/server/{review-artifacts-BLbSC4ke.js → review-artifacts-nRDPuMxd.js} +5 -5
- package/server/{review-context-BgX3lcCx.js → review-context-2uj-YQ8J.js} +69 -25
- package/server/{review-status-C6n6-9f_.js → review-status-btEYlaxA.js} +1 -1
- package/server/{review-status-enrichment-tbOn_A_u.js → review-status-enrichment-Dci-ZwEt.js} +3 -3
- package/server/{review-status-A7quS5KJ.js → review-status-kZj_KyCk.js} +42 -26
- package/server/{review-status-sync-BhSQ0d0l.js → review-status-sync-BTOpxtTC.js} +10 -5
- package/server/{review-status-sync-To3-iS-N.js → review-status-sync-DSDK3OMy.js} +1 -1
- package/server/{review-verdict-feedback-CTRNtzXO.js → review-verdict-feedback-CCjVA7Uk.js} +6 -6
- package/server/{review-verdict-feedback-C1Kg8n7t.js → review-verdict-feedback-CTd4QMBu.js} +1 -1
- package/server/{rollup-B53Y81xK.js → rollup-BKQC7jp4.js} +1 -1
- package/server/{rollup-WA0VD-Rr.js → rollup-FGsKki9R.js} +8 -8
- package/server/{scanner-D2743cp8.js → scanner-CnqEZeDy.js} +41 -14
- package/server/{sequence-io-Cg0zYj_E.js → sequence-io-D909zgeH.js} +4 -4
- package/server/{sequencer-agent-BGY8gjg-.js → sequencer-agent-CzkcK6P5.js} +5 -5
- package/server/server.js +2194 -341
- package/server/{service-DCpB_SGd.js → service-CLeAoU6G.js} +51 -50
- package/server/{session-fork-BQ8_6H32.js → session-fork-CHI1XvL9.js} +2 -2
- package/server/{session-history-CVZDpS3c.js → session-history-BT3IvqhC.js} +4 -4
- package/server/settings-66A6uvIA.js +2 -0
- package/server/{settings-BZ5m1UCl.js → settings-BTMvpNFU.js} +3 -3
- package/server/{settings-ylxwqwQG.js → settings-C0zgxOGf.js} +2 -2
- package/server/{shadow-engineering-BlxG6Xye.js → shadow-engineering-BJfgm-hX.js} +2 -2
- package/server/{shadow-state-Dh-HzF2J.js → shadow-state-7a-524T8.js} +2 -2
- package/server/{shadow-state-C2_epgx2.js → shadow-state-DnDyjujH.js} +1 -1
- package/server/{shadow-utils-4bvjn9b3.js → shadow-utils-Db3oroFG.js} +2 -2
- package/server/{ship-log-ClSMIzZX.js → ship-log-D9MlVzYU.js} +1 -1
- package/server/{smart-compaction-CHIxLr_d.js → smart-compaction-CV2ukKND.js} +1 -1
- package/server/{smart-compaction-r4pHQBIr.js → smart-compaction-KCYScAU1.js} +7 -7
- package/server/{spawn-planning-session-DWAorh2B.js → spawn-planning-session-DKpdFyOC.js} +30 -23
- package/server/{spawn-planning-session-KC_UduxD.js → spawn-planning-session-qUC2VWu3.js} +1 -1
- package/server/{specialist-completion-BXhav38U.js → specialist-completion-Ky9wCDpb.js} +1 -1
- package/server/{specialist-context-DtrYvGJ-.js → specialist-context-Bn3dCGS2.js} +5 -5
- package/server/{specialist-handoff-logger-C45ouoZ6.js → specialist-handoff-logger-CMEwYxa2.js} +2 -2
- package/server/{specialist-logs-DJ3RzKxW.js → specialist-logs-C5p8G7tx.js} +3 -3
- package/server/{specialists-JVO00bs7.js → specialists-CC4r-c2s.js} +776 -347
- package/server/{specialists-D5fRZXmN.js → specialists-CShuVGWT.js} +1 -1
- package/server/{specialists-DVj0hvaL.js → specialists-DM6bWjsi.js} +1 -1
- package/server/{specialists-DyFeedjn.js → specialists-jiuuyVkp.js} +21 -19
- package/server/specs-C8Wsn2XO.js +3 -0
- package/server/{src-CG9mCkP6.js → src-CXmtj0im.js} +6 -6
- package/server/{src-CMTQGyCK.js → src-CdmnTM2m.js} +5 -5
- package/server/{src-U7_kTPEE.js → src-DtcUOZCq.js} +111 -18
- package/server/stack-health-Bn3o8FBX.js +3 -0
- package/server/{stack-health-puygdaMd.js → stack-health-DxSdG9cW.js} +63 -9
- package/server/{stale-task-claims-BbFwCTb0.js → stale-task-claims-KJKxxiiQ.js} +4 -4
- package/server/{staleness-Cbl_w4Bw.js → staleness-CT34nwr9.js} +1 -1
- package/server/{staleness-Bpy41ngS.js → staleness-DPm7ClwA.js} +1 -1
- package/server/{state-home-CIGjwNfJ.js → state-home-Cn_Qu8IX.js} +2 -2
- package/server/{state-migrate-Dkzaxvny.js → state-migrate-BGg2ZaOt.js} +4 -4
- package/server/{stuck-remediation-CzEov_fq.js → stuck-remediation-DYuPRYYw.js} +300 -23
- package/server/{stuck-remediation-sY_MHHgQ.js → stuck-remediation-s9_2qfi6.js} +1 -1
- package/server/{substrate-bug-weights-service-BH66lhm7.js → substrate-bug-weights-service-B-FwCs5V.js} +3 -3
- package/server/{summary-fork-DHhJIsAL.js → summary-fork-D1RAk9rJ.js} +78 -12
- package/server/{summary-fork-D8bXjCr7.js → summary-fork-DpcxN9tf.js} +2 -2
- package/server/supervisor/{injection-budget-C1iPirFS.js → injection-budget-Csw5tqfJ.js} +2 -41
- package/server/supervisor/pty-supervisor.js +2 -1
- package/server/supervisor/pty-token-x-ea28Us.js +43 -0
- package/server/supervisor-FTJAIsAK.js +2 -0
- package/server/{supervisor-BO-Zk_h-.js → supervisor-wM4ooB5O.js} +3 -3
- package/server/{swarm-readiness-CQ_fwUWF.js → swarm-readiness-DlP_UjHq.js} +3 -3
- package/server/{system-prerequisites-Bza0ffAh.js → system-prerequisites-DUDj1YHf.js} +56 -29
- package/server/{teardown-workspace-CEgauF4U.js → teardown-workspace-DeTTImn-.js} +15 -15
- package/server/{test-agent-queue-DXDt0Xa-.js → test-agent-queue-MbxX5vqq.js} +6 -6
- package/server/{test-verdict-CmUBK5cT.js → test-verdict-bWYBtqBg.js} +1 -1
- package/server/{test-verdict-DFjjIHR5.js → test-verdict-gscuksPv.js} +1 -1
- package/server/{tldr-daemon-DL566HbH.js → tldr-daemon-BYFkts95.js} +1 -1
- package/server/{tldr-daemon-BDtLOIlO.js → tldr-daemon-C-69c3OI.js} +2 -2
- package/server/{tmux-DoThH6aj.js → tmux-B6z7h_vZ.js} +1 -1
- package/server/{tmux-ftABRAmc.js → tmux-R7N7y-Mh.js} +2 -2
- package/server/{token-CsOhvw42.js → token-BK6t8BIT.js} +2 -2
- package/server/token-util-DuPuNriz.js +3 -0
- package/server/{token-util-CTmczIfW.js → token-util-DxXu-vd1.js} +1 -1
- package/server/{tracker-config-B4itFzDo.js → tracker-config-G6latr8C.js} +2 -2
- package/server/{tracker-utils-BePq_oj-.js → tracker-utils-B4ylXZQK.js} +1 -1
- package/server/{tracker-utils-tnxxqROg.js → tracker-utils-DHv5pSDT.js} +2 -2
- package/server/{traefik-connect-m73vGebA.js → traefik-connect-Df2uXPsQ.js} +1 -1
- package/server/{tunnel-B2vxjx_b.js → tunnel-CDVKJpRv.js} +3 -3
- package/server/{tunnel-Cgj-IGIl.js → tunnel-DGdUkGoZ.js} +1 -1
- package/server/{types-BBNjPcqU.js → types-5M0lupud.js} +1 -1
- package/server/{uat-train-cKfM-_WW.js → uat-train-B05BWkp-.js} +1 -1
- package/server/{uat-train-CuEn0t9M.js → uat-train-DDSrSoV1.js} +25 -25
- package/server/validate-IfDGkaVR.js +177 -0
- package/server/{validation-CIi6pnI2.js → validation-CC9OPqJZ.js} +1 -1
- package/server/{validation-B5JxoPUS.js → validation-Dw1pzDzr.js} +4 -4
- package/server/{verification-artifact-C-lIHfUa.js → verification-artifact-B3itKTxu.js} +1 -1
- package/server/{verification-artifact-BcnIbigL.js → verification-artifact-TVFSz_q1.js} +1 -1
- package/server/{verification-runner-CDj4lD4t.js → verification-runner-BW4HOKAz.js} +1 -1
- package/server/{verification-runner-Br0S_Ous.js → verification-runner-CkgX6EtI.js} +91 -106
- package/server/{vtt-parser-DKpNNW5i.js → vtt-parser-DYPbKcIJ.js} +1 -1
- package/server/{work-agent-prompt-Yb2bd3Fq.js → work-agent-prompt-Du8Vh2aJ.js} +9 -9
- package/server/workflows-BQu4RFQ-.js +2 -0
- package/server/{workflows-C9WmILql.js → workflows-mbQzh6mQ.js} +18 -18
- package/server/{workspace-DuUdndHe.js → workspace--8tnhDI0.js} +1 -1
- package/server/{workspace-BVl4rihN.js → workspace-BPUws1-_.js} +3 -3
- package/server/{workspace-config-cEGcO6UT.js → workspace-config-CIVWZOQr.js} +1 -1
- package/server/{workspace-manager-hLUv3ADC.js → workspace-manager-CBhNdzE4.js} +66 -15
- package/server/workspace-manager-CWT55qeI.js +3 -0
- package/server/{workspace-metadata-DNpMixRq.js → workspace-metadata-BzHnwwX4.js} +1 -1
- package/server/{workspace-metadata-CskwzzhL.js → workspace-metadata-_WygnyoX.js} +2 -2
- package/server/{workspaces-hWvy9eKs.js → workspaces-Do_9J0LQ.js} +130 -111
- package/sync-sources/hooks/record-cost-event.js +6 -4
- package/sync-sources/skills/okf/README.md +11 -3
- package/sync-sources/skills/okf/SKILL.md +12 -1
- package/sync-sources/skills/okf/docs/USAGE.md +15 -0
- package/sync-sources/skills/okf/references/overdeck.md +28 -0
- package/sync-sources/skills/pan-flywheel/SKILL.md +18 -1
- package/sync-sources/skills/pan-knowledge/SKILL.md +10 -0
- package/sync-sources/skills/pan-orders/SKILL.md +33 -0
- package/sync-sources/skills/pan-start/SKILL.md +4 -0
- package/sync-sources/templates/traefik/dynamic/overdeck.yml.template +10 -0
- package/server/agent-state-Bg0lhqwj.js +0 -3
- package/server/agents-FlIgQ3ql.js +0 -3
- package/server/cli-BsVIHwzC.js +0 -3
- package/server/context-layers-B3Nt58jl.js +0 -4
- package/server/context-layers-ZYFcWiyc.js +0 -165
- package/server/deacon-swarm-9jRLS5Ke.js +0 -2
- package/server/dist-Bd3vn0Hw.js +0 -3
- package/server/flywheel-DMCUzDWg.js +0 -2
- package/server/flywheel-DSSpWmqF.js +0 -522
- package/server/flywheel-DcBkQvgE.js +0 -207
- package/server/forge-B-ZWyTRm.js +0 -2
- package/server/git-utils-Dry_Ka_D.js +0 -3
- package/server/hume-B_DbflNM.js +0 -3
- package/server/inspect-agent-ch-F-5Ci.js +0 -2
- package/server/layers-DzxSTGNA.js +0 -93
- package/server/merge-blockers-BsFjGrQ8.js +0 -41
- package/server/merge-ops-DlB1IM0Y.js +0 -2
- package/server/merge-set-DLz0MkGT.js +0 -139
- package/server/public/assets/mermaid-GHXKKRXX-BUAB8hqt.js +0 -1
- package/server/rally-njs_mJrt.js +0 -3
- package/server/rebuild-stack-kA7XngID.js +0 -3
- package/server/resume-CcKqnTvE.js +0 -3
- package/server/settings-D0OSwos5.js +0 -2
- package/server/specs-nN45DG2X.js +0 -3
- package/server/stack-health-Df0YEZKa.js +0 -3
- package/server/supervisor-BPy-o1A8.js +0 -2
- package/server/token-util-DrHg8abn.js +0 -3
- package/server/workflows-D90rMOya.js +0 -2
- package/server/workspace-manager-ZTdJAy9M.js +0 -3
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as validateSpecialistAutoCompleteMetadata, n as _serverManagedMerges, r as firePostMergeLifecycle, t as specialistsRouteLayer } from "./specialists-
|
|
1
|
+
import { i as validateSpecialistAutoCompleteMetadata, n as _serverManagedMerges, r as firePostMergeLifecycle, t as specialistsRouteLayer } from "./specialists-CC4r-c2s.js";
|
|
2
2
|
export { _serverManagedMerges, specialistsRouteLayer as default, specialistsRouteLayer, firePostMergeLifecycle, validateSpecialistAutoCompleteMetadata };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { $ as updateSpecialistMetadata, A as findSessionFile, B as getProjectSpecialistDir, C as listSpecialistsForProject, D as updateRunMetadata, E as updateProjectSpecialistMetadata, F as isInitialized, G as isProjectSpecialistActivelyRunning, H as getSpecialistMetadata, I as isRunning, J as parseReviewerSessionName, K as loadRegistry, L as REVIEWER_ROLES, M as getSpecialistState, N as getSpecialistStatus, O as updateRunStatus, P as initializeEnabledSpecialists, Q as saveRegistry, R as ensureProjectSpecialistDir, S as listProjectsWithSpecialists, T as updateContextTokens, U as getTmuxSessionName, V as getReviewerSessionName, W as initSpecialistsDirectory, X as pruneSpecialistRegistryEntriesForIssue, Y as parseSpecialistRegistryKey, Z as recordWake, _ as getEnabledSpecialists, a as sendFeedbackToAgent, b as incrementProjectRunCount, c as getGracePeriodState, d as signalSpecialistCompletion, et as buildSpecialistBaseCommand, f as startGracePeriod, g as getAllProjectSpecialistStatuses, h as enableSpecialist, i as getPendingFeedback, j as getAllSpecialistStatus, k as countContextTokens, l as pauseGracePeriod, m as disableSpecialist, o as exitGracePeriod, p as terminateSpecialist, q as makeSpecialistRegistryKey, r as getFeedbackStats, s as findActiveRegistryKey, t as init_specialists, tt as buildSpecialistCavemanExports, u as resumeGracePeriod, v as getProjectSpecialistMetadata, w as setCurrentRun, x as isEnabled, y as getRunMetadata, z as getAllSpecialists } from "./specialists-
|
|
1
|
+
import { $ as updateSpecialistMetadata, A as findSessionFile, B as getProjectSpecialistDir, C as listSpecialistsForProject, D as updateRunMetadata, E as updateProjectSpecialistMetadata, F as isInitialized, G as isProjectSpecialistActivelyRunning, H as getSpecialistMetadata, I as isRunning, J as parseReviewerSessionName, K as loadRegistry, L as REVIEWER_ROLES, M as getSpecialistState, N as getSpecialistStatus, O as updateRunStatus, P as initializeEnabledSpecialists, Q as saveRegistry, R as ensureProjectSpecialistDir, S as listProjectsWithSpecialists, T as updateContextTokens, U as getTmuxSessionName, V as getReviewerSessionName, W as initSpecialistsDirectory, X as pruneSpecialistRegistryEntriesForIssue, Y as parseSpecialistRegistryKey, Z as recordWake, _ as getEnabledSpecialists, a as sendFeedbackToAgent, b as incrementProjectRunCount, c as getGracePeriodState, d as signalSpecialistCompletion, et as buildSpecialistBaseCommand, f as startGracePeriod, g as getAllProjectSpecialistStatuses, h as enableSpecialist, i as getPendingFeedback, j as getAllSpecialistStatus, k as countContextTokens, l as pauseGracePeriod, m as disableSpecialist, o as exitGracePeriod, p as terminateSpecialist, q as makeSpecialistRegistryKey, r as getFeedbackStats, s as findActiveRegistryKey, t as init_specialists, tt as buildSpecialistCavemanExports, u as resumeGracePeriod, v as getProjectSpecialistMetadata, w as setCurrentRun, x as isEnabled, y as getRunMetadata, z as getAllSpecialists } from "./specialists-jiuuyVkp.js";
|
|
2
2
|
init_specialists();
|
|
3
3
|
export { REVIEWER_ROLES, buildSpecialistBaseCommand, buildSpecialistCavemanExports, countContextTokens, disableSpecialist, enableSpecialist, ensureProjectSpecialistDir, exitGracePeriod, findActiveRegistryKey, findSessionFile, getAllProjectSpecialistStatuses, getAllSpecialistStatus, getAllSpecialists, getEnabledSpecialists, getFeedbackStats, getGracePeriodState, getPendingFeedback, getProjectSpecialistDir, getProjectSpecialistMetadata, getReviewerSessionName, getRunMetadata, getSpecialistMetadata, getSpecialistState, getSpecialistStatus, getTmuxSessionName, incrementProjectRunCount, initSpecialistsDirectory, initializeEnabledSpecialists, isEnabled, isInitialized, isProjectSpecialistActivelyRunning, isRunning, listProjectsWithSpecialists, listSpecialistsForProject, loadRegistry, makeSpecialistRegistryKey, parseReviewerSessionName, parseSpecialistRegistryKey, pauseGracePeriod, pruneSpecialistRegistryEntriesForIssue, recordWake, resumeGracePeriod, saveRegistry, sendFeedbackToAgent, setCurrentRun, signalSpecialistCompletion, startGracePeriod, terminateSpecialist, updateContextTokens, updateProjectSpecialistMetadata, updateRunMetadata, updateRunStatus, updateSpecialistMetadata };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { n as __esmMin, r as __exportAll } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { Vr as init_paths, hr as AGENTS_DIR, wr as OVERDECK_HOME } from "./config-yaml-
|
|
3
|
-
import { A as listPaneValues, D as killSession, H as sessionExists, w as init_tmux } from "./tmux-
|
|
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 { Vr as init_paths, hr as AGENTS_DIR, wr as OVERDECK_HOME } from "./config-yaml-DySPNmKN.js";
|
|
3
|
+
import { A as listPaneValues, D as killSession, H as sessionExists, w as init_tmux } from "./tmux-R7N7y-Mh.js";
|
|
4
|
+
import { a as readCavemanVariant, n as init_workspace } from "./workspace-BPUws1-_.js";
|
|
5
|
+
import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-3lNZkyT4.js";
|
|
6
|
+
import { a as init_jsonl_parser, n as getAllSessionFilesSync, s as parseClaudeSessionSync } from "./jsonl-parser-BXSlHwEh.js";
|
|
7
7
|
import { Effect } from "effect";
|
|
8
8
|
import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
9
9
|
import { basename, join } from "path";
|
|
@@ -11,6 +11,9 @@ import "crypto";
|
|
|
11
11
|
import { exec } from "child_process";
|
|
12
12
|
import { promisify } from "util";
|
|
13
13
|
//#region ../../lib/cloister/specialists-spawn.ts
|
|
14
|
+
/**
|
|
15
|
+
* Cloister specialist spawn command and environment helpers.
|
|
16
|
+
*/
|
|
14
17
|
function roleForSpecialistModel(specialistType) {
|
|
15
18
|
const normalized = specialistType.replace(/-agent$/, "");
|
|
16
19
|
if (normalized === "inspect") return {
|
|
@@ -28,7 +31,7 @@ function roleForSpecialistModel(specialistType) {
|
|
|
28
31
|
return { role: "work" };
|
|
29
32
|
}
|
|
30
33
|
async function buildSpecialistBaseCommand(specialistType, model, sessionName) {
|
|
31
|
-
const { getAgentRuntimeBaseCommand } = await import("./agents-
|
|
34
|
+
const { getAgentRuntimeBaseCommand } = await import("./agents-wi9NWzs2.js");
|
|
32
35
|
const role = roleForSpecialistModel(specialistType).role;
|
|
33
36
|
const harness = await resolveHarness({
|
|
34
37
|
model,
|
|
@@ -65,7 +68,6 @@ async function buildSpecialistCavemanExports(specialistType, workspacePath, conf
|
|
|
65
68
|
var init_specialists_spawn = __esmMin((() => {
|
|
66
69
|
init_workspace();
|
|
67
70
|
init_harness_resolve();
|
|
68
|
-
promisify(exec);
|
|
69
71
|
`${[
|
|
70
72
|
"ANTHROPIC_BASE_URL",
|
|
71
73
|
"ANTHROPIC_AUTH_TOKEN",
|
|
@@ -435,7 +437,7 @@ async function getSpecialistStatus(name, projectKey) {
|
|
|
435
437
|
const sessionId = readRecordedClaudeSessionId(getTmuxSessionName(name, projectKey));
|
|
436
438
|
const running = await isRunning(name, projectKey);
|
|
437
439
|
const contextTokens = countContextTokens(name);
|
|
438
|
-
const { getAgentRuntimeStateSync } = await import("./agents-
|
|
440
|
+
const { getAgentRuntimeStateSync } = await import("./agents-wi9NWzs2.js");
|
|
439
441
|
const runtimeState = getAgentRuntimeStateSync(getTmuxSessionName(name, projectKey));
|
|
440
442
|
let state;
|
|
441
443
|
if (runtimeState) switch (runtimeState.state) {
|
|
@@ -627,7 +629,7 @@ function listSpecialistsForProject(projectKey) {
|
|
|
627
629
|
*/
|
|
628
630
|
async function getAllProjectSpecialistStatuses() {
|
|
629
631
|
const registry = loadRegistry();
|
|
630
|
-
const { getAgentRuntimeStateSync } = await import("./agents-
|
|
632
|
+
const { getAgentRuntimeStateSync } = await import("./agents-wi9NWzs2.js");
|
|
631
633
|
const results = [];
|
|
632
634
|
for (const [projectKey, specialists] of Object.entries(registry.projects)) for (const [registryKey, metadata] of Object.entries(specialists)) {
|
|
633
635
|
const { specialistType, issueId, role } = parseSpecialistRegistryKey(registryKey);
|
|
@@ -824,7 +826,7 @@ async function signalSpecialistCompletion(projectKey, specialistType, result, is
|
|
|
824
826
|
const resolvedTmuxSession = metadata.tmuxSession ?? getTmuxSessionName(specialistType, projectKey, issueId);
|
|
825
827
|
updateRunStatus(projectKey, registryKey, result.status);
|
|
826
828
|
if (metadata.currentRun) try {
|
|
827
|
-
const { finalizeRunLogSync } = await import("./specialist-logs-
|
|
829
|
+
const { finalizeRunLogSync } = await import("./specialist-logs-C5p8G7tx.js");
|
|
828
830
|
finalizeRunLogSync(projectKey, specialistType, metadata.currentRun, {
|
|
829
831
|
status: result.status,
|
|
830
832
|
notes: result.notes
|
|
@@ -834,7 +836,7 @@ async function signalSpecialistCompletion(projectKey, specialistType, result, is
|
|
|
834
836
|
}
|
|
835
837
|
setCurrentRun(projectKey, registryKey, null);
|
|
836
838
|
updateRunMetadata(projectKey, registryKey, { currentActivity: null });
|
|
837
|
-
import("./agents-
|
|
839
|
+
import("./agents-wi9NWzs2.js").then(({ saveAgentRuntimeState }) => {
|
|
838
840
|
saveAgentRuntimeState(resolvedTmuxSession, {
|
|
839
841
|
state: "idle",
|
|
840
842
|
lastActivity: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -865,7 +867,7 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
|
|
|
865
867
|
console.error(`[specialist] Failed to kill tmux session ${tmuxSession}:`, error);
|
|
866
868
|
}
|
|
867
869
|
if (metadata.currentRun) {
|
|
868
|
-
const { finalizeRunLogSync } = await import("./specialist-logs-
|
|
870
|
+
const { finalizeRunLogSync } = await import("./specialist-logs-C5p8G7tx.js");
|
|
869
871
|
try {
|
|
870
872
|
finalizeRunLogSync(projectKey, specialistType, metadata.currentRun, {
|
|
871
873
|
status: metadata.lastRunStatus || "incomplete",
|
|
@@ -879,12 +881,12 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
|
|
|
879
881
|
updateRunMetadata(projectKey, registryKey, { currentActivity: null });
|
|
880
882
|
const key = `${projectKey}-${specialistType}`;
|
|
881
883
|
gracePeriodStates.delete(key);
|
|
882
|
-
const { saveAgentRuntimeState } = await import("./agents-
|
|
884
|
+
const { saveAgentRuntimeState } = await import("./agents-wi9NWzs2.js");
|
|
883
885
|
saveAgentRuntimeState(tmuxSession, {
|
|
884
886
|
state: "suspended",
|
|
885
887
|
lastActivity: (/* @__PURE__ */ new Date()).toISOString()
|
|
886
888
|
});
|
|
887
|
-
const { scheduleDigestGeneration } = await import("./specialist-context-
|
|
889
|
+
const { scheduleDigestGeneration } = await import("./specialist-context-Bn3dCGS2.js");
|
|
888
890
|
scheduleDigestGeneration(projectKey, specialistType);
|
|
889
891
|
scheduleLogCleanup(projectKey, specialistType);
|
|
890
892
|
}
|
|
@@ -897,8 +899,8 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
|
|
|
897
899
|
function scheduleLogCleanup(projectKey, specialistType) {
|
|
898
900
|
Promise.resolve().then(async () => {
|
|
899
901
|
try {
|
|
900
|
-
const { cleanupOldLogsSync } = await import("./specialist-logs-
|
|
901
|
-
const { getSpecialistRetention } = await import("./projects-
|
|
902
|
+
const { cleanupOldLogsSync } = await import("./specialist-logs-C5p8G7tx.js");
|
|
903
|
+
const { getSpecialistRetention } = await import("./projects-vjjcmiN8.js");
|
|
902
904
|
const retention = getSpecialistRetention(projectKey);
|
|
903
905
|
const deleted = cleanupOldLogsSync(projectKey, specialistType, {
|
|
904
906
|
maxDays: retention.max_days,
|
|
@@ -948,7 +950,7 @@ async function sendFeedbackToAgent(feedback) {
|
|
|
948
950
|
}
|
|
949
951
|
const agentSession = `agent-${toIssueId.toLowerCase()}`;
|
|
950
952
|
const feedbackMessage = formatFeedbackForAgent(fullFeedback);
|
|
951
|
-
const { writeFeedbackFile } = await import("./feedback-writer-
|
|
953
|
+
const { writeFeedbackFile } = await import("./feedback-writer-D3a22RCd.js");
|
|
952
954
|
const specialist = {
|
|
953
955
|
"review-agent": "review-agent",
|
|
954
956
|
"test-agent": "test-agent",
|
|
@@ -967,7 +969,7 @@ async function sendFeedbackToAgent(feedback) {
|
|
|
967
969
|
return false;
|
|
968
970
|
}
|
|
969
971
|
try {
|
|
970
|
-
const { messageAgent } = await import("./agents-
|
|
972
|
+
const { messageAgent } = await import("./agents-wi9NWzs2.js");
|
|
971
973
|
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.`);
|
|
972
974
|
console.log(`[specialist] Sent feedback from ${fromSpecialist} to ${agentSession} (file: ${fileResult.filePath})`);
|
|
973
975
|
return true;
|
|
@@ -1127,4 +1129,4 @@ var init_specialists = __esmMin((() => {
|
|
|
1127
1129
|
//#endregion
|
|
1128
1130
|
export { updateSpecialistMetadata as $, findSessionFile as A, getProjectSpecialistDir as B, listSpecialistsForProject as C, updateRunMetadata as D, updateProjectSpecialistMetadata as E, isInitialized as F, isProjectSpecialistActivelyRunning as G, getSpecialistMetadata as H, isRunning as I, parseReviewerSessionName as J, loadRegistry as K, REVIEWER_ROLES as L, getSpecialistState as M, getSpecialistStatus as N, updateRunStatus as O, initializeEnabledSpecialists as P, saveRegistry as Q, ensureProjectSpecialistDir as R, listProjectsWithSpecialists as S, updateContextTokens as T, getTmuxSessionName as U, getReviewerSessionName as V, initSpecialistsDirectory as W, pruneSpecialistRegistryEntriesForIssue as X, parseSpecialistRegistryKey as Y, recordWake as Z, getEnabledSpecialists as _, sendFeedbackToAgent as a, incrementProjectRunCount as b, getGracePeriodState as c, signalSpecialistCompletion as d, buildSpecialistBaseCommand as et, startGracePeriod as f, getAllProjectSpecialistStatuses as g, enableSpecialist as h, getPendingFeedback as i, getAllSpecialistStatus as j, countContextTokens as k, pauseGracePeriod as l, disableSpecialist as m, specialists_exports as n, exitGracePeriod as o, terminateSpecialist as p, makeSpecialistRegistryKey as q, getFeedbackStats as r, findActiveRegistryKey as s, init_specialists as t, buildSpecialistCavemanExports as tt, resumeGracePeriod as u, getProjectSpecialistMetadata as v, setCurrentRun as w, isEnabled as x, getRunMetadata as y, getAllSpecialists as z };
|
|
1129
1131
|
|
|
1130
|
-
//# sourceMappingURL=specialists-
|
|
1132
|
+
//# sourceMappingURL=specialists-jiuuyVkp.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-OSHAYaS1.js";
|
|
3
|
+
import { n as require_dist$1, r as require_src$14, t as require_dist$2 } from "./dist-Cb_0uvpS.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-Bzy0y69j.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-CdmnTM2m.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-CdmnTM2m.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-CXmtj0im.js.map
|
|
@@ -1,13 +1,13 @@
|
|
|
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-kNxT0bZC.js";
|
|
3
3
|
import { deprecate, promisify, types } from "node:util";
|
|
4
4
|
import { format } from "node:url";
|
|
5
5
|
import http from "node:http";
|
|
6
|
+
import https from "node:https";
|
|
7
|
+
import { isIP } from "node:net";
|
|
6
8
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
7
9
|
import Stream, { PassThrough, pipeline } from "node:stream";
|
|
8
|
-
import { isIP } from "node:net";
|
|
9
10
|
import zlib from "node:zlib";
|
|
10
|
-
import https from "node:https";
|
|
11
11
|
//#region ../../../node_modules/.bun/data-uri-to-buffer@4.0.1/node_modules/data-uri-to-buffer/dist/index.js
|
|
12
12
|
/**
|
|
13
13
|
* Returns a `Buffer` instance from the given data URI `uri`.
|
|
@@ -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-duPAfSBw.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-CdmnTM2m.js.map
|
|
@@ -1374,7 +1374,7 @@ var init_events = __esmMin((() => {
|
|
|
1374
1374
|
payload: Schema.Struct({
|
|
1375
1375
|
agentId: AgentId,
|
|
1376
1376
|
model: Schema.String,
|
|
1377
|
-
claudeSessionId: Schema.optional(Schema.String),
|
|
1377
|
+
claudeSessionId: Schema.optional(Schema.NullOr(Schema.String)),
|
|
1378
1378
|
sessionModel: Schema.optional(Schema.String),
|
|
1379
1379
|
sessionHarness: Schema.optional(Schema.String)
|
|
1380
1380
|
})
|
|
@@ -2301,7 +2301,7 @@ var init_editor = __esmMin((() => {
|
|
|
2301
2301
|
}));
|
|
2302
2302
|
//#endregion
|
|
2303
2303
|
//#region ../../../packages/contracts/src/flywheel.ts
|
|
2304
|
-
var FlywheelRunId, FlywheelHttpUrl, FlywheelHarness, FlywheelEffort, FlywheelOrchestrator, FlywheelHeadline, FlywheelPipelineVerb, FlywheelPipelineStatus, FlywheelPipelineItem, FlywheelSubstrateBugStatus, FlywheelSubstrateBug, FlywheelAgentStatus, FlywheelAgent, FlywheelParkedItem, FlywheelSuggestionAction, FlywheelSuggestionPriority, FlywheelSuggestion, FlywheelSystemStatus, FlywheelStatus;
|
|
2304
|
+
var FlywheelRunId, FlywheelHttpUrl, FlywheelHarness, FlywheelEffort, FlywheelOrchestrator, FlywheelHeadline, FlywheelPipelineVerb, FlywheelPipelineStatus, FlywheelPipelineItem, FlywheelSubstrateBugStatus, FlywheelSubstrateBug, FlywheelAgentStatus, FlywheelAgent, FlywheelParkedItem, FlywheelSuggestionAction, FlywheelSuggestionPriority, FlywheelSuggestion, FlywheelSystemStatus, FlywheelOrders, FlywheelStatus;
|
|
2305
2305
|
var init_flywheel = __esmMin((() => {
|
|
2306
2306
|
FlywheelRunId = Schema.String.check(Schema.isPattern(/^RUN-\d+$/));
|
|
2307
2307
|
FlywheelHttpUrl = Schema.String.check(Schema.isPattern(/^https?:\/\/\S+$/i));
|
|
@@ -2309,7 +2309,8 @@ var init_flywheel = __esmMin((() => {
|
|
|
2309
2309
|
"claude-code",
|
|
2310
2310
|
"pi",
|
|
2311
2311
|
"ohmypi",
|
|
2312
|
-
"codex"
|
|
2312
|
+
"codex",
|
|
2313
|
+
"acp"
|
|
2313
2314
|
]);
|
|
2314
2315
|
FlywheelEffort = Schema.Literals([
|
|
2315
2316
|
"low",
|
|
@@ -2432,6 +2433,15 @@ var init_flywheel = __esmMin((() => {
|
|
|
2432
2433
|
agentsActive: Schema.Number,
|
|
2433
2434
|
agentsCap: Schema.Number
|
|
2434
2435
|
});
|
|
2436
|
+
FlywheelOrders = Schema.Struct({
|
|
2437
|
+
bookId: Schema.String,
|
|
2438
|
+
bookName: Schema.String,
|
|
2439
|
+
landed: Schema.Number,
|
|
2440
|
+
total: Schema.Number,
|
|
2441
|
+
laneAInFlight: Schema.Array(Schema.String),
|
|
2442
|
+
laneBInFlight: Schema.optional(Schema.String),
|
|
2443
|
+
drained: Schema.Boolean
|
|
2444
|
+
});
|
|
2435
2445
|
FlywheelStatus = Schema.Struct({
|
|
2436
2446
|
runId: FlywheelRunId,
|
|
2437
2447
|
startedAt: Schema.String,
|
|
@@ -2445,6 +2455,7 @@ var init_flywheel = __esmMin((() => {
|
|
|
2445
2455
|
suggestions: Schema.Array(FlywheelSuggestion).pipe(Schema.withDecodingDefaultKey(Effect.succeed([]))),
|
|
2446
2456
|
system: FlywheelSystemStatus,
|
|
2447
2457
|
openQuestions: Schema.Array(Schema.String),
|
|
2458
|
+
orders: Schema.optional(FlywheelOrders),
|
|
2448
2459
|
ticks: Schema.Number,
|
|
2449
2460
|
lastTickAt: Schema.String
|
|
2450
2461
|
});
|
|
@@ -3790,28 +3801,26 @@ function applyEvent(state, event) {
|
|
|
3790
3801
|
case "agent.model_set": {
|
|
3791
3802
|
const { agentId, model, claudeSessionId, sessionModel, sessionHarness } = event.payload;
|
|
3792
3803
|
const prev = state.agentRuntimeById[agentId] ?? defaultRuntimeSnapshot(agentId, event.timestamp, event.sequence);
|
|
3804
|
+
const nextSessionId = claudeSessionId === null ? void 0 : claudeSessionId ?? prev.claudeSessionId;
|
|
3793
3805
|
const next = {
|
|
3794
3806
|
...prev,
|
|
3795
3807
|
model,
|
|
3796
|
-
claudeSessionId:
|
|
3808
|
+
claudeSessionId: nextSessionId,
|
|
3797
3809
|
sessionModel: sessionModel ?? prev.sessionModel,
|
|
3798
3810
|
sessionHarness: sessionHarness ?? prev.sessionHarness,
|
|
3799
3811
|
lastActivity: event.timestamp,
|
|
3800
3812
|
updatedAtSequence: event.sequence
|
|
3801
3813
|
};
|
|
3802
3814
|
let nextAgentIdBySessionId = state.agentIdBySessionId;
|
|
3803
|
-
if (claudeSessionId &&
|
|
3804
|
-
nextAgentIdBySessionId = {
|
|
3805
|
-
...state.agentIdBySessionId,
|
|
3806
|
-
[claudeSessionId]: agentId
|
|
3807
|
-
};
|
|
3815
|
+
if (claudeSessionId !== void 0 && nextSessionId !== prev.claudeSessionId) {
|
|
3808
3816
|
if (prev.claudeSessionId && state.agentIdBySessionId[prev.claudeSessionId] === agentId) {
|
|
3809
|
-
const { [prev.claudeSessionId]: _removed, ...rest } =
|
|
3810
|
-
nextAgentIdBySessionId =
|
|
3811
|
-
...rest,
|
|
3812
|
-
[claudeSessionId]: agentId
|
|
3813
|
-
};
|
|
3817
|
+
const { [prev.claudeSessionId]: _removed, ...rest } = nextAgentIdBySessionId;
|
|
3818
|
+
nextAgentIdBySessionId = rest;
|
|
3814
3819
|
}
|
|
3820
|
+
if (nextSessionId) nextAgentIdBySessionId = {
|
|
3821
|
+
...nextAgentIdBySessionId,
|
|
3822
|
+
[nextSessionId]: agentId
|
|
3823
|
+
};
|
|
3815
3824
|
}
|
|
3816
3825
|
return {
|
|
3817
3826
|
...state,
|
|
@@ -4252,6 +4261,55 @@ var init_flywheel_stats = __esmMin((() => {
|
|
|
4252
4261
|
});
|
|
4253
4262
|
Schema.decodeUnknownSync(FlywheelStats);
|
|
4254
4263
|
Schema.encodeSync(FlywheelStats);
|
|
4264
|
+
}));
|
|
4265
|
+
//#endregion
|
|
4266
|
+
//#region ../../../packages/contracts/src/orders.ts
|
|
4267
|
+
var OrderBookLane, OrderBookStatus, OrderBookPosture, OrderBookItem, OrderBookSettings, OrderBook, OrderBookIndexEntry;
|
|
4268
|
+
var init_orders = __esmMin((() => {
|
|
4269
|
+
OrderBookLane = Schema.Literals(["A", "B"]);
|
|
4270
|
+
OrderBookStatus = Schema.Literals([
|
|
4271
|
+
"draft",
|
|
4272
|
+
"ready",
|
|
4273
|
+
"running",
|
|
4274
|
+
"drained",
|
|
4275
|
+
"complete"
|
|
4276
|
+
]);
|
|
4277
|
+
OrderBookPosture = Schema.Literals(["open", "drain"]);
|
|
4278
|
+
OrderBookItem = Schema.Struct({
|
|
4279
|
+
issue: Schema.String,
|
|
4280
|
+
lane: OrderBookLane,
|
|
4281
|
+
order: Schema.Number,
|
|
4282
|
+
prereqs: Schema.Array(Schema.String),
|
|
4283
|
+
reVerify: Schema.Boolean,
|
|
4284
|
+
planAtPickup: Schema.optional(Schema.Boolean),
|
|
4285
|
+
addedAt: Schema.String,
|
|
4286
|
+
addedBy: Schema.String
|
|
4287
|
+
});
|
|
4288
|
+
OrderBookSettings = Schema.Struct({
|
|
4289
|
+
laneAConcurrency: Schema.Number,
|
|
4290
|
+
briefOverlay: Schema.optional(Schema.String),
|
|
4291
|
+
posture: OrderBookPosture,
|
|
4292
|
+
postureSetAt: Schema.optional(Schema.String),
|
|
4293
|
+
postureSetBy: Schema.optional(Schema.String),
|
|
4294
|
+
postureReason: Schema.optional(Schema.String)
|
|
4295
|
+
});
|
|
4296
|
+
OrderBook = Schema.Struct({
|
|
4297
|
+
id: Schema.String,
|
|
4298
|
+
name: Schema.String,
|
|
4299
|
+
status: OrderBookStatus,
|
|
4300
|
+
settings: OrderBookSettings,
|
|
4301
|
+
items: Schema.Array(OrderBookItem),
|
|
4302
|
+
runId: Schema.optional(Schema.String),
|
|
4303
|
+
createdAt: Schema.String,
|
|
4304
|
+
updatedAt: Schema.String
|
|
4305
|
+
});
|
|
4306
|
+
OrderBookIndexEntry = Schema.Struct({
|
|
4307
|
+
id: Schema.String,
|
|
4308
|
+
name: Schema.String,
|
|
4309
|
+
status: OrderBookStatus,
|
|
4310
|
+
runId: Schema.optional(Schema.String),
|
|
4311
|
+
updatedAt: Schema.String
|
|
4312
|
+
});
|
|
4255
4313
|
})), CONTEXT_LAYER_KINDS, CONTEXT_PREVIEW_HARNESSES, ContextPreviewHarness, ContextProjectSummary, ContextWorkspaceSummary, ContextLayerBase, GlobalContextLayerRecord, ProjectContextLayerRecord, WorkspaceContextLayerRecord, ContextEditableLayerRecord, GlobalContextLayerTarget, ProjectContextLayerTarget, WorkspaceContextLayerTarget, ContextLayerTarget, ContextLayerDraft, ContextSyncTarget, ContextPreviewRequest, ContextHarnessPreviews, ContextPreviewDiagnostic, ContextLayerSaveRequest;
|
|
4256
4314
|
var init_context_layers = __esmMin((() => {
|
|
4257
4315
|
CONTEXT_LAYER_KINDS = [
|
|
@@ -4262,7 +4320,8 @@ var init_context_layers = __esmMin((() => {
|
|
|
4262
4320
|
CONTEXT_PREVIEW_HARNESSES = [
|
|
4263
4321
|
"claude-code",
|
|
4264
4322
|
"ohmypi",
|
|
4265
|
-
"codex"
|
|
4323
|
+
"codex",
|
|
4324
|
+
"acp"
|
|
4266
4325
|
];
|
|
4267
4326
|
Schema.Literals(CONTEXT_LAYER_KINDS);
|
|
4268
4327
|
ContextPreviewHarness = Schema.Literals(CONTEXT_PREVIEW_HARNESSES);
|
|
@@ -4362,6 +4421,7 @@ var init_context_layers = __esmMin((() => {
|
|
|
4362
4421
|
"claude-code": Schema.String,
|
|
4363
4422
|
ohmypi: Schema.String,
|
|
4364
4423
|
codex: Schema.String,
|
|
4424
|
+
acp: Schema.String,
|
|
4365
4425
|
fullPrompt: Schema.String
|
|
4366
4426
|
});
|
|
4367
4427
|
ContextPreviewDiagnostic = Schema.Struct({
|
|
@@ -4416,6 +4476,7 @@ var init_artifacts = __esmMin((() => {
|
|
|
4416
4476
|
"pi",
|
|
4417
4477
|
"ohmypi",
|
|
4418
4478
|
"codex",
|
|
4479
|
+
"acp",
|
|
4419
4480
|
"user"
|
|
4420
4481
|
]);
|
|
4421
4482
|
ArtifactLifecycleState = Schema.Literals([
|
|
@@ -4544,9 +4605,13 @@ var init_feature_registry = __esmMin((() => {
|
|
|
4544
4605
|
function getHarnessBehavior(harness) {
|
|
4545
4606
|
if (harness === "ohmypi" || harness === "pi") return OHMYPI_BEHAVIOR;
|
|
4546
4607
|
if (harness === "codex") return CODEX_BEHAVIOR;
|
|
4608
|
+
if (harness === "acp") return ACP_BEHAVIOR;
|
|
4547
4609
|
return CLAUDE_CODE_BEHAVIOR;
|
|
4548
4610
|
}
|
|
4549
|
-
|
|
4611
|
+
function getRuntimeBehavior(runtime) {
|
|
4612
|
+
return BEHAVIORS[runtime];
|
|
4613
|
+
}
|
|
4614
|
+
var CLAUDE_CODE_BEHAVIOR, OHMYPI_BEHAVIOR, CODEX_BEHAVIOR, ACP_BEHAVIOR, BEHAVIORS;
|
|
4550
4615
|
var init_harness_behavior = __esmMin((() => {
|
|
4551
4616
|
CLAUDE_CODE_BEHAVIOR = {
|
|
4552
4617
|
displayName: "Claude Code",
|
|
@@ -4611,6 +4676,33 @@ var init_harness_behavior = __esmMin((() => {
|
|
|
4611
4676
|
workAgentMode: "codex-work-tui",
|
|
4612
4677
|
readyTimeoutSeconds: 30
|
|
4613
4678
|
};
|
|
4679
|
+
ACP_BEHAVIOR = {
|
|
4680
|
+
displayName: "ACP",
|
|
4681
|
+
executableName: "acp-host",
|
|
4682
|
+
processNames: ["acp-host", "kimi"],
|
|
4683
|
+
launchCommandKind: "acp-host",
|
|
4684
|
+
deliveryKind: "acp-host-rpc",
|
|
4685
|
+
readinessKind: "acp-host-ready",
|
|
4686
|
+
transcriptKind: "acp-jsonl",
|
|
4687
|
+
sessionIdSource: "acp-session-id",
|
|
4688
|
+
contextLayerKind: "acp",
|
|
4689
|
+
feedKind: "acp",
|
|
4690
|
+
supportsPtySupervisor: false,
|
|
4691
|
+
supportsChannelsBridge: false,
|
|
4692
|
+
supportsConversationStreaming: true,
|
|
4693
|
+
supportsPatchProjection: false,
|
|
4694
|
+
usesRpcFifo: false,
|
|
4695
|
+
usesCodexHome: false,
|
|
4696
|
+
injectsPromptTimeMemory: false,
|
|
4697
|
+
workAgentMode: "acp-host",
|
|
4698
|
+
readyTimeoutSeconds: 30
|
|
4699
|
+
};
|
|
4700
|
+
BEHAVIORS = {
|
|
4701
|
+
"claude-code": CLAUDE_CODE_BEHAVIOR,
|
|
4702
|
+
ohmypi: OHMYPI_BEHAVIOR,
|
|
4703
|
+
codex: CODEX_BEHAVIOR,
|
|
4704
|
+
acp: ACP_BEHAVIOR
|
|
4705
|
+
};
|
|
4614
4706
|
})), HygieneFinding, HygienePullRequest;
|
|
4615
4707
|
var init_hygiene = __esmMin((() => {
|
|
4616
4708
|
HygieneFinding = Schema.Struct({
|
|
@@ -4717,6 +4809,7 @@ var init_src = __esmMin((() => {
|
|
|
4717
4809
|
init_editor();
|
|
4718
4810
|
init_flywheel();
|
|
4719
4811
|
init_flywheel_stats();
|
|
4812
|
+
init_orders();
|
|
4720
4813
|
init_context_layers();
|
|
4721
4814
|
init_artifacts();
|
|
4722
4815
|
init_feature_registry();
|
|
@@ -4728,6 +4821,6 @@ var init_src = __esmMin((() => {
|
|
|
4728
4821
|
init_issue_sort();
|
|
4729
4822
|
}));
|
|
4730
4823
|
//#endregion
|
|
4731
|
-
export {
|
|
4824
|
+
export { AgentSnapshot as A, EDITORS as C, MemoryObservation as D, projectLegacySystemHealthSummary as E, normalizeChannelReplyPayload as M, MemoryStatus as O, FlywheelStatus as S, SystemHealthSnapshot as T, trimTurnDiffSummaries as _, OHMYPI_BEHAVIOR as a, WS_METHODS as b, ContextLayerSaveRequest as c, OrderBookIndexEntry as d, FlywheelStats as f, isTerminalTurnDiffSummaryStatus as g, getMaxTurnDiffSummariesPerAgent as h, CODEX_BEHAVIOR as i, ReviewStatusSnapshot as j, AgentRuntimeSnapshot as k, ContextPreviewRequest as l, applyEvent as m, compareIssueIds as n, getHarnessBehavior as o, INITIAL_READ_MODEL_STATE as p, CLAUDE_CODE_BEHAVIOR as r, getRuntimeBehavior as s, init_src as t, OrderBook as u, PanRpcError as v, DomainEvent as w, FlywheelRunId as x, PanRpcGroup as y };
|
|
4732
4825
|
|
|
4733
|
-
//# sourceMappingURL=src-
|
|
4826
|
+
//# sourceMappingURL=src-DtcUOZCq.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { Tn as init_projects, Yn as init_issue_id, Zn as parseIssueIdSync, yn as getProjectSync, zn as resolveProjectFromIssueSync } from "./config-yaml-
|
|
2
|
+
import { Tn as init_projects, Yn as init_issue_id, Zn as parseIssueIdSync, yn as getProjectSync, zn as resolveProjectFromIssueSync } from "./config-yaml-DySPNmKN.js";
|
|
3
3
|
import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-DDlOIAML.js";
|
|
4
4
|
import { join } from "node:path";
|
|
5
5
|
import { Duration, Effect, Schedule, Stream } from "effect";
|
|
6
|
-
import { existsSync } from "node:fs";
|
|
6
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
7
7
|
import { ChildProcess } from "effect/unstable/process";
|
|
8
8
|
import { execFile } from "node:child_process";
|
|
9
9
|
import { promisify } from "node:util";
|
|
@@ -177,6 +177,52 @@ var init_docker_stats = __esmMin((() => {
|
|
|
177
177
|
}));
|
|
178
178
|
//#endregion
|
|
179
179
|
//#region ../../lib/workspace/stack-health.ts
|
|
180
|
+
function declaredComposeProjectName(content, featureFolder) {
|
|
181
|
+
const templatedMatch = content.match(/COMPOSE_PROJECT_NAME="([^$"]*)\$\{FEATURE_FOLDER\}"/);
|
|
182
|
+
if (templatedMatch) return `${templatedMatch[1]}${featureFolder}`;
|
|
183
|
+
return content.match(/COMPOSE_PROJECT_NAME="([^"]+)"/)?.[1] ?? null;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Derive the canonical `COMPOSE_PROJECT_NAME` for a workspace. Throws when the
|
|
187
|
+
* workspace declares a name that does not end in the feature folder — a
|
|
188
|
+
* mismatch means `docker compose down` would target the wrong stack.
|
|
189
|
+
* (Lives here rather than in rebuild-stack so health checks can scope
|
|
190
|
+
* container matching without an import cycle.)
|
|
191
|
+
*/
|
|
192
|
+
function composeProjectNameForWorkspace(workspacePath, issueId) {
|
|
193
|
+
const featureFolder = `feature-${issueId.toLowerCase()}`;
|
|
194
|
+
const fallback = `overdeck-${featureFolder}`;
|
|
195
|
+
for (const devPath of [join(workspacePath, ".devcontainer", "dev"), join(workspacePath, "dev")]) {
|
|
196
|
+
if (!existsSync(devPath)) continue;
|
|
197
|
+
try {
|
|
198
|
+
const declared = declaredComposeProjectName(readFileSync(devPath, "utf-8"), featureFolder);
|
|
199
|
+
if (!declared) continue;
|
|
200
|
+
if (!declared.endsWith(featureFolder)) throw new Error(`Refusing workspace rebuild: ${devPath} declares COMPOSE_PROJECT_NAME=${declared}, expected a name ending in ${featureFolder}`);
|
|
201
|
+
return declared;
|
|
202
|
+
} catch (err) {
|
|
203
|
+
if (err instanceof Error && err.message.startsWith("Refusing workspace rebuild:")) throw err;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
return fallback;
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Best-effort canonical compose project for a workspace — null when the
|
|
210
|
+
* workspace (or its dev file) is missing or declares a conflicting name, in
|
|
211
|
+
* which case callers fall back to name-token matching.
|
|
212
|
+
*/
|
|
213
|
+
function tryComposeProjectNameForWorkspace(workspacePath, issueId) {
|
|
214
|
+
if (!workspacePath || !existsSync(workspacePath)) return null;
|
|
215
|
+
try {
|
|
216
|
+
return composeProjectNameForWorkspace(workspacePath, issueId);
|
|
217
|
+
} catch {
|
|
218
|
+
return null;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
/** Extract `com.docker.compose.project` from docker ps's comma-joined Labels. */
|
|
222
|
+
function parseComposeProjectLabel(labels) {
|
|
223
|
+
if (!labels) return void 0;
|
|
224
|
+
return /(?:^|,)com\.docker\.compose\.project=([^,]+)/.exec(labels)?.[1];
|
|
225
|
+
}
|
|
180
226
|
function normalizeIssue(issueId) {
|
|
181
227
|
if (!issueId) return "";
|
|
182
228
|
return parseIssueIdSync(issueId)?.normalized ?? issueId.toLowerCase();
|
|
@@ -203,9 +249,14 @@ function escapeRegExp(value) {
|
|
|
203
249
|
function hasNameToken(name, token) {
|
|
204
250
|
return new RegExp(`(^|[-_])${escapeRegExp(token)}($|[-_])`).test(name);
|
|
205
251
|
}
|
|
206
|
-
function isStackContainer(container, issueId) {
|
|
252
|
+
function isStackContainer(container, issueId, composeProjectName) {
|
|
253
|
+
if (composeProjectName && container.composeProject) return container.composeProject === composeProjectName;
|
|
254
|
+
return hasIssueToken(container.name, issueId);
|
|
255
|
+
}
|
|
256
|
+
/** Name-token match: does this container name belong to the issue's stack? */
|
|
257
|
+
function hasIssueToken(containerName, issueId) {
|
|
207
258
|
const normalized = normalizeIssue(issueId);
|
|
208
|
-
const name =
|
|
259
|
+
const name = containerName.toLowerCase();
|
|
209
260
|
return hasNameToken(name, `feature-${normalized}`) || hasNameToken(name, normalized);
|
|
210
261
|
}
|
|
211
262
|
function isSuccessfulOneShotContainer(name) {
|
|
@@ -236,7 +287,7 @@ function evaluateWorkspaceStackHealth(issueId, projectConfig, containers, option
|
|
|
236
287
|
lastObserved
|
|
237
288
|
};
|
|
238
289
|
const thresholdMs = options.stuckCreatedThresholdMs ?? 12e4;
|
|
239
|
-
const stackContainers = containers.filter((container) => isStackContainer(container, issueId));
|
|
290
|
+
const stackContainers = containers.filter((container) => isStackContainer(container, issueId, options.composeProjectName));
|
|
240
291
|
const reasons = [];
|
|
241
292
|
if (stackContainers.length === 0 && options.stackExpected !== false) reasons.push(`No Docker containers found for workspace stack ${normalizeIssue(issueId)}`);
|
|
242
293
|
for (const container of stackContainers) {
|
|
@@ -311,7 +362,8 @@ var init_stack_health = __esmMin((() => {
|
|
|
311
362
|
name,
|
|
312
363
|
status: raw.Status ?? "",
|
|
313
364
|
state: raw.State,
|
|
314
|
-
createdAt: raw.CreatedAt
|
|
365
|
+
createdAt: raw.CreatedAt,
|
|
366
|
+
composeProject: parseComposeProjectLabel(raw.Labels)
|
|
315
367
|
});
|
|
316
368
|
} catch {}
|
|
317
369
|
}
|
|
@@ -336,10 +388,12 @@ var init_stack_health = __esmMin((() => {
|
|
|
336
388
|
observedAt = observed.toISOString();
|
|
337
389
|
recordDockerContainerLifecycleSnapshot(containers, observedAt);
|
|
338
390
|
}
|
|
391
|
+
const workspacePath = options.workspacePath ?? defaultWorkspacePath(issueId, projectConfig);
|
|
339
392
|
const health = evaluateWorkspaceStackHealth(issueId, projectConfig, containers, {
|
|
340
393
|
now: options.now,
|
|
341
394
|
stuckCreatedThresholdMs: options.stuckCreatedThresholdMs,
|
|
342
|
-
stackExpected: options.stackExpected ?? isWorkspaceStackExpected(issueId, projectConfig, options.workspacePath)
|
|
395
|
+
stackExpected: options.stackExpected ?? isWorkspaceStackExpected(issueId, projectConfig, options.workspacePath),
|
|
396
|
+
composeProjectName: tryComposeProjectNameForWorkspace(workspacePath, issueId)
|
|
343
397
|
});
|
|
344
398
|
const observedHealth = observedAt && !options.now ? {
|
|
345
399
|
...health,
|
|
@@ -350,6 +404,6 @@ var init_stack_health = __esmMin((() => {
|
|
|
350
404
|
});
|
|
351
405
|
}));
|
|
352
406
|
//#endregion
|
|
353
|
-
export {
|
|
407
|
+
export { getWorkspaceStackHealth as a, recordWorkspaceStackHealthTransition as c, init_docker_stats as d, recordDockerContainerLifecycleSnapshot as f, evaluateWorkspaceStackHealth as i, tryComposeProjectNameForWorkspace as l, collectDockerContainerLifecycleSnapshot as n, hasIssueToken as o, composeProjectNameForWorkspace as r, init_stack_health as s, DEFAULT_STUCK_CREATED_THRESHOLD_MS as t, DockerStatsCollector as u };
|
|
354
408
|
|
|
355
|
-
//# sourceMappingURL=stack-health-
|
|
409
|
+
//# sourceMappingURL=stack-health-DxSdG9cW.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Nt as readIssueRecordSync, Ot as init_record, Tn as init_projects, kn as listProjectsSync, wt as getIssueRecordPath } from "./config-yaml-
|
|
2
|
-
import { a as isPidDead, i as init_fs_lock, n as updateIssueRecord, t as init_record_update } from "./record-update-
|
|
3
|
-
import { c as listAllAgentsSync, o as init_agents } from "./agents-
|
|
1
|
+
import { Nt as readIssueRecordSync, Ot as init_record, Tn as init_projects, kn as listProjectsSync, wt as getIssueRecordPath } from "./config-yaml-DySPNmKN.js";
|
|
2
|
+
import { a as isPidDead, i as init_fs_lock, n as updateIssueRecord, t as init_record_update } from "./record-update-dE1Aw83j.js";
|
|
3
|
+
import { c as listAllAgentsSync, o as init_agents } from "./agents-EbI0zCJl.js";
|
|
4
4
|
import { dirname } from "node:path";
|
|
5
5
|
import { hostname } from "node:os";
|
|
6
6
|
import { readdirSync } from "node:fs";
|
|
@@ -66,4 +66,4 @@ async function patrolStaleTaskClaims() {
|
|
|
66
66
|
//#endregion
|
|
67
67
|
export { patrolStaleTaskClaims };
|
|
68
68
|
|
|
69
|
-
//# sourceMappingURL=stale-task-claims-
|
|
69
|
+
//# sourceMappingURL=stale-task-claims-KJKxxiiQ.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { i as init_staleness, n as _resetForTests, r as computeBuildStaleness, t as BUILD_INPUT_PATHS } from "./staleness-
|
|
1
|
+
import { i as init_staleness, n as _resetForTests, r as computeBuildStaleness, t as BUILD_INPUT_PATHS } from "./staleness-DPm7ClwA.js";
|
|
2
2
|
init_staleness();
|
|
3
3
|
export { BUILD_INPUT_PATHS, _resetForTests, computeBuildStaleness };
|
|
@@ -141,4 +141,4 @@ var init_staleness = __esmMin((() => {
|
|
|
141
141
|
//#endregion
|
|
142
142
|
export { init_staleness as i, _resetForTests as n, computeBuildStaleness as r, BUILD_INPUT_PATHS as t };
|
|
143
143
|
|
|
144
|
-
//# sourceMappingURL=staleness-
|
|
144
|
+
//# sourceMappingURL=staleness-DPm7ClwA.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { Br as getOverdeckHome, Kt as STATE_BRANCH_PATHS, Ln as resolveInfraRepo, Tn as init_projects, Vr as init_paths, Yt as init_state_plane, an as init_project_key, on as projectKey } from "./config-yaml-
|
|
2
|
+
import { Br as getOverdeckHome, Kt as STATE_BRANCH_PATHS, Ln as resolveInfraRepo, Tn as init_projects, Vr as init_paths, Yt as init_state_plane, an as init_project_key, on as projectKey } from "./config-yaml-DySPNmKN.js";
|
|
3
3
|
import { dirname, join } from "node:path";
|
|
4
4
|
import { existsSync, readFileSync } from "node:fs";
|
|
5
5
|
import { mkdir, rm } from "node:fs/promises";
|
|
@@ -273,4 +273,4 @@ var init_state_home = __esmMin((() => {
|
|
|
273
273
|
//#endregion
|
|
274
274
|
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 };
|
|
275
275
|
|
|
276
|
-
//# sourceMappingURL=state-home-
|
|
276
|
+
//# sourceMappingURL=state-home-Cn_Qu8IX.js.map
|