@overdeck/desktop 0.45.22 → 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-BH7ac_1G.js → acceptance-criteria-DDCnXF58.js} +5 -5
- package/server/{advancing-selfheal-cSvXNZLZ.js → advancing-selfheal-BVwW4qRn.js} +6 -6
- package/server/{agent-gc-Dj2gncak.js → agent-gc-CHcnvonI.js} +4 -4
- package/server/agent-state-Bc3tzUC8.js +3 -0
- package/server/{agent-state-service-DistflNn.js → agent-state-service-BsgWxZuB.js} +5 -5
- package/server/{agent-state-service-CsQ07Pxe.js → agent-state-service-D5UGKIJL.js} +1 -1
- package/server/{agents-DXdHmRTC.js → agents-EbI0zCJl.js} +4 -4
- package/server/agents-wi9NWzs2.js +3 -0
- package/server/{archive-planning-Cp_DC1j-.js → archive-planning-BZDgzoEj.js} +1 -1
- package/server/{archive-planning-BvDuWNMo.js → archive-planning-Du25Jtst.js} +30 -6
- package/server/{artifact-index-jobs-CDBFL4OU.js → artifact-index-jobs-CbEDfCDu.js} +2 -2
- package/server/assemble-J2ZZ2C15.js +339 -0
- package/server/{backlog-auto-trigger-DmA1IbYf.js → backlog-auto-trigger-2R2jog7n.js} +3 -3
- package/server/{behavior-CGj16clS.js → behavior-B3exJ42O.js} +2 -2
- package/server/{briefing-freshness-C12WgkaB.js → briefing-freshness-D1wzUIWv.js} +2 -2
- package/server/{build-info-BRpqQvNd.js → build-info-CZk_TITh.js} +1 -1
- package/server/{build-info-NU3KbXYw.js → build-info-Ie_D0_BT.js} +3 -3
- package/server/{checkpoint-manager-CTPjAmtH.js → checkpoint-manager-BI1Wxoku.js} +2 -2
- package/server/{checkpoint-manager-rOgT98WY.js → checkpoint-manager-DwbQoqrC.js} +1 -1
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-B5jFNi2G.js → checkpoints-BJIs5QIA.js} +1 -1
- package/server/{checkpoints-BJum14fs.js → checkpoints-CQB1h765.js} +2 -2
- package/server/{claude-hooks-provision-BhwWK-TQ.js → claude-hooks-provision-8Ngo8TpT.js} +1 -1
- package/server/{claude-hooks-provision-D7p5WcKZ.js → claude-hooks-provision-D8GXF3_s.js} +2 -2
- package/server/{claude-permissions-nSFKH78M.js → claude-permissions-DNWEVV6z.js} +2 -2
- package/server/{claude-settings-overlay-BI_UIke0.js → claude-settings-overlay-CEdaqpWI.js} +2 -2
- package/server/{claude-settings-overlay-DHBwjS1X.js → claude-settings-overlay-DWy-Bb4Y.js} +1 -1
- package/server/cli-B86rejVV.js +3 -0
- package/server/{cli-CbKNkFE5.js → cli-RoOx5DUf.js} +9 -9
- package/server/{cliproxy-Brf_5MuG.js → cliproxy-C8a1vtTU.js} +2 -2
- package/server/{cliproxy-bONZDBbC.js → cliproxy-fHfIeiGd.js} +1 -1
- package/server/{close-issue-CxReRxIc.js → close-issue-DoOifFIK.js} +5 -5
- package/server/{closed-issue-reaper-CQ3kqha7.js → closed-issue-reaper-Bk3SU4RC.js} +9 -9
- package/server/{closed-issue-reaper-DXP2Xyv3.js → closed-issue-reaper-CktPXo8m.js} +1 -1
- package/server/{codex-CbmztVcc.js → codex-BZXGhUVB.js} +27 -8
- package/server/codex-GcHuUF-k.js +3 -0
- package/server/{codex-parser-jl8AeAmB.js → codex-parser-CFZ1_1Jl.js} +2 -2
- package/server/{config-q4Gvd8dq.js → config-BZ0sHTju.js} +2 -2
- package/server/{config-DeTsoZdR.js → config-CKxYiCmX.js} +2 -2
- package/server/{config-BJKocXKd.js → config-DzV30TOm.js} +1 -1
- package/server/{config-yaml-ig8Nwtiw.js → config-yaml-DySPNmKN.js} +77 -194
- package/server/{conflict-gate-CFqPVxEg.js → conflict-gate-BaCVrH-N.js} +3 -3
- package/server/{conflict-gate-CHU9K1vU.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-D_odMIaC.js → control-settings-BQp7_4uD.js} +4 -4
- package/server/{conversation-compaction-B6YSRLda.js → conversation-compaction-CgrR8YYp.js} +8 -8
- package/server/{conversation-compaction-CN4-5YYt.js → conversation-compaction-eQB5CkOe.js} +1 -1
- package/server/{conversation-service-Dq33SYEj.js → conversation-service-BLd3MYsG.js} +1 -1
- package/server/{conversation-service-C3avRVEr.js → conversation-service-DPJ71F33.js} +329 -19
- package/server/{conversations-bYpM9-kZ.js → conversations-6AfUfbwc.js} +5 -5
- package/server/{conversations-H9if0bCQ.js → conversations-CAsJF9kh.js} +1 -1
- package/server/{cost-Codk1pc2.js → cost-B2ddP6wq.js} +18 -2
- package/server/{cost-wH46-WsJ.js → cost-R-m6Yi-W.js} +3 -3
- package/server/{cost-sync-D_cre6WM.js → cost-sync-BsN6ER0n.js} +3 -3
- package/server/{dag-CJpgf9A3.js → dag-B1ucnjDU.js} +9 -9
- package/server/{dangerous-git-ops-D6AF-Hg_.js → dangerous-git-ops-BXqeWVSf.js} +1 -1
- package/server/dashboard-db-worker.js +7 -7
- package/server/{deacon-CkT_kznS.js → deacon-CU_cAYSR.js} +406 -607
- package/server/{deacon-B8HbQdqU.js → deacon-kiQrb4ZT.js} +3 -3
- package/server/{deacon-nudge-log-D6K9K-rE.js → deacon-nudge-log-6wVqAaqz.js} +3 -3
- package/server/{deacon-swarm-BryRr6AO.js → deacon-swarm-BXZZ1Z2-.js} +17 -17
- package/server/deacon-swarm-C-GwfjJy.js +2 -0
- package/server/deacon.js +8 -8
- package/server/{deploy-patrol-1IrZxicY.js → deploy-patrol-AiFoP8dw.js} +136 -19
- package/server/{deploy-window-wDf4UgHt.js → deploy-window-C3F-tihF.js} +77 -10
- package/server/{deploy-window-7ZYHh7Zp.js → deploy-window-DkZraDyj.js} +1 -1
- package/server/{dev-supervisor-C7p9kEpc.js → dev-supervisor-bcOWqdQE.js} +2 -2
- package/server/{devcontainer-renderer-CNmQy0pL.js → devcontainer-renderer-_d6XhyND.js} +3 -3
- package/server/dist-Bzy0y69j.js +3 -0
- package/server/{dist-D-Ed5yVw.js → dist-Cb_0uvpS.js} +1 -1
- package/server/{docker-BCZ89M9X.js → docker-DcMTFTUC.js} +2 -2
- package/server/{dod-DbJLYcHv.js → dod-C6n9RV3G.js} +1 -1
- package/server/{ensure-devcontainer-Cs6W9Yzj.js → ensure-devcontainer-BZgOhRo7.js} +1 -1
- package/server/{ensure-devcontainer-V5JWaAva.js → ensure-devcontainer-DNi-ono3.js} +4 -4
- package/server/{esm-shims-dTeNdq7X.js → esm-shims-OSHAYaS1.js} +1 -1
- package/server/{event-store-TnWdydfB.js → event-store-CQL6NeqB.js} +3 -3
- package/server/{event-store-CpBGsO6_.js → event-store-EV2cMiXj.js} +1 -1
- package/server/{events-Dsuv6qyB.js → events-BTdrdEq8.js} +1 -1
- package/server/{events-DSUdR-04.js → events-DTfAe4My.js} +3 -3
- package/server/{factory-BMrK4TrE.js → factory-CFibJuaw.js} +50 -13
- package/server/{feature-registry-population-B-CI9hgE.js → feature-registry-population-DKZFMbFt.js} +4 -4
- package/server/{feature-registry-storage-B972ph_A.js → feature-registry-storage-BdPuLcBX.js} +2 -2
- package/server/{features-Bc-Bmiye.js → features-ez2271oH.js} +2 -2
- package/server/{feedback-target-DZ-iAnAa.js → feedback-target-7mqqwrX6.js} +7 -7
- package/server/{feedback-target-DS6NUuSs.js → feedback-target-CoFDHiM8.js} +1 -1
- package/server/{feedback-writer-BXP6g75N.js → feedback-writer-CY5L1lB7.js} +6 -5
- package/server/{feedback-writer-Bx5z11mF.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-CTgHeg-W.js → flywheel-merge-order-UU0tiUld.js} +10 -9
- package/server/{flywheel-merge-order-CNKAY489.js → flywheel-merge-order-UUcsCDb6.js} +1 -1
- package/server/{forge-B1S_KZv4.js → forge-CNFnyqps.js} +2 -2
- package/server/forge-DXnS_YFH.js +2 -0
- package/server/{from-DpwQ-sc3.js → from-kNxT0bZC.js} +1 -1
- package/server/{fts-db-DmAcuCkV.js → fts-db-CE46vDkZ.js} +2 -2
- package/server/{fts-operations-7d_RkmWp.js → fts-operations-CqY6zl-i.js} +2 -2
- package/server/{git-utils-Cc3FHDKd.js → git-utils-CRw2zLPC.js} +68 -3
- package/server/git-utils-D0_yhCgF.js +3 -0
- package/server/{github-app-CDPtGF7J.js → github-app-C3QrAUd0.js} +27 -8
- package/server/{github-app-CU14oYzP.js → github-app-ClZ2lk8D.js} +1 -1
- package/server/{github-client-XjTJbBm7.js → github-client-BnIsSrEN.js} +2 -2
- package/server/{github-client-CwBZZ3t7.js → github-client-DfQYVUaw.js} +1 -1
- package/server/{github-pr-lookup-CFGeVhqv.js → github-pr-lookup-D16NGsSO.js} +2 -2
- package/server/{harness-binary-B2CTcD84.js → harness-binary-DPUi-Pv8.js} +32 -6
- package/server/{harness-resolve-D5FVQTmy.js → harness-resolve-3lNZkyT4.js} +18 -9
- package/server/{health-events-DREeevle.js → health-events-BBcTYQKU.js} +2 -2
- package/server/{health-events-C1whmd58.js → health-events-BDOHby5Q.js} +1 -1
- package/server/{hooks-yxRsjk-z.js → hooks-CKZgXlJb.js} +2 -2
- package/server/{hooks-B-HItBiS.js → hooks-DPVX1rwQ.js} +1 -1
- package/server/{hume-Dz_OymXE.js → hume-Cz8igP9E.js} +2 -2
- package/server/hume-ccTf4wTX.js +3 -0
- package/server/{idle-stack-reaper-DrCv0OAG.js → idle-stack-reaper-CuLF0j2H.js} +1 -1
- package/server/{idle-stack-reaper-Yf34xXxY.js → idle-stack-reaper-DDIRwxUY.js} +2 -2
- package/server/{in-flight-guard-BoWm66Kh.js → in-flight-guard-CAAkqPLu.js} +2 -2
- package/server/{infra-D4iNWMA5.js → infra-BEqFxlJc.js} +14 -4
- package/server/{injection-D7T75Pye.js → injection-C8aiVJrF.js} +191 -183
- package/server/{injection-BVNa4MQW.js → injection-CPUIqNhI.js} +1 -1
- package/server/{inspect-agent-BXCgNeZ4.js → inspect-agent-BLuJ1AkT.js} +137 -81
- package/server/inspect-agent-Brtz0URj.js +2 -0
- package/server/{internal-token-C9DdEOKY.js → internal-token-BrcU6qfe.js} +1 -1
- package/server/{internal-token-CXsfxslp.js → internal-token-s0-oKybJ.js} +2 -2
- package/server/{io-DQR9PMgS.js → io-C9kF1wtJ.js} +160 -184
- package/server/{issue-closed-DtmJM0D0.js → issue-closed-CDJk4pIp.js} +7 -7
- package/server/{issue-lifecycle-8PSS9Anq.js → issue-lifecycle-B8sZHVHh.js} +1 -1
- package/server/{issue-lifecycle-CeyW_HoD.js → issue-lifecycle-ojZAzDBP.js} +22 -22
- package/server/{issue-service-singleton-DBZabEl7.js → issue-service-singleton-BvJ09SaR.js} +1 -1
- package/server/{issue-service-singleton-D_RVYBuL.js → issue-service-singleton-Yx5DdmVJ.js} +8 -8
- package/server/{issues-pDW9VUNz.js → issues-BMmP_77e.js} +2 -2
- package/server/{jsonl-parser-C3HVNR5d.js → jsonl-parser-BXSlHwEh.js} +3 -3
- package/server/{label-cleanup-DPwiZlWo.js → label-cleanup-B0UJwnv5.js} +3 -3
- package/server/{label-reconciler-Df1ZduPH.js → label-reconciler-B4iOAjlC.js} +4 -4
- package/server/{launcher-generator-COgR2By1.js → launcher-generator-BBWG_SiS.js} +105 -10
- package/server/{lifecycle-io-taIb0PoH.js → lifecycle-io-BREGpnLk.js} +37 -37
- package/server/lifecycle-io-DPo7x11I.js +3 -0
- package/server/{lifecycle-CtPDcZ9u.js → lifecycle-xmBfK2GJ.js} +6 -6
- package/server/lifecycle-yPd___5E.js +121 -0
- package/server/{linear-client-DsFkIxee.js → linear-client-BsuUvkdA.js} +2 -2
- package/server/{linear-client-YwZMDIwQ.js → linear-client-CTskEeT_.js} +1 -1
- package/server/memory-fts-worker.js +1 -1
- package/server/{merge-BwsyNRJV.js → merge-B1DiziGU.js} +1 -1
- package/server/{merge-C1t-bspg.js → merge-CefQNAnq.js} +3 -3
- package/server/{merge-agent-DDiIjzk-.js → merge-agent-4WOWlSYA.js} +28 -28
- package/server/{merge-agent-B-SnXOoc.js → merge-agent-CKkgIBPB.js} +1 -1
- package/server/{merge-batch-Byt-QnEl.js → merge-batch-ClFn2T-y.js} +1 -1
- package/server/merge-ops-CR44oU9-.js +2 -0
- package/server/{merge-rebase-Cm6fXaZN.js → merge-rebase-BfaTyXsw.js} +2 -2
- package/server/merge-set-DJ8-UErs.js +83 -0
- package/server/{merge-set-6LEglm6o.js → merge-set-bUqbm3yc.js} +1 -1
- package/server/{merge-sync-B95_4in_.js → merge-sync-BJYeOODr.js} +1 -1
- package/server/{merge-sync-Do8_q32h.js → merge-sync-VPV28g0g.js} +2 -2
- package/server/{merge-train-CKana8EH.js → merge-train-CHopycP0.js} +3 -3
- package/server/{merge-train-deps-BgmqwIfA.js → merge-train-deps-D1cOZzy2.js} +4 -4
- package/server/{merge-verification-CqnUzGEK.js → merge-verification-BkaOqPsw.js} +4 -4
- package/server/{multipart-parser-tdOQDJ3o.js → multipart-parser-duPAfSBw.js} +2 -2
- package/server/{no-resume-mode-BWOSZjWd.js → no-resume-mode-Nw29vaFb.js} +11 -8
- 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-xklgvNA7.js → orphan-proposed-reconciler-BvKkWMJQ.js} +15 -13
- package/server/{orphan-proposed-reconciler-DSvsJ5M7.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-DOcf6ug3.js → pan-dir-B0c3w0Ya.js} +78 -58
- package/server/{paths-DooHpt9p.js → paths-D-xWGHdh.js} +2 -2
- package/server/{pickup-CaskQ7j6.js → pickup-DUCLWrJY.js} +17 -16
- package/server/{pipeline-membership-1LGRjo-k.js → pipeline-membership-mY3GprlK.js} +186 -67
- package/server/{pipeline-notifier-CZsrU_nj.js → pipeline-notifier-BJr8gQX6.js} +1 -1
- package/server/{pipeline-notifier-B6FVsYF9.js → pipeline-notifier-BXkJzDC4.js} +2 -2
- package/server/{project-pipelines-CtNG_rvs.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-vjjcmiN8.js +3 -0
- package/server/{prompts-EvhMeeHG.js → prompts-DxzFXuLl.js} +2 -2
- package/server/{providers-BDDPULlp.js → providers-qQAwGQDW.js} +7 -7
- package/server/{providers-DNSQqy2V.js → providers-u4Ga0jOr.js} +1 -1
- package/server/public/assets/{chunk-BO2N2NFS-sym_ufXe.js → chunk-BO2N2NFS-BamJdinX.js} +4 -4
- package/server/public/assets/{diagram-OG6HWLK6-CQJPBNBu.js → diagram-OG6HWLK6-DfOB8-w4.js} +1 -1
- package/server/public/assets/{dist-DukGS2YZ.js → dist-ByIuzMQW.js} +3 -3
- package/server/public/assets/{dist-Bio7THQU.js → dist-D7zYSEA6.js} +1 -1
- package/server/public/assets/{ganttDiagram-6RSMTGT7-D4lWwte3.js → ganttDiagram-6RSMTGT7-EdmRyXL3.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-CaLboCt5.js → highlighted-body-OFNGDK62-MerOfTX8.js} +1 -1
- package/server/public/assets/{index-Bwejq-5s.js → index-CWeMerGO.js} +147 -144
- package/server/public/assets/index-CenuJ3Cw.css +1 -0
- package/server/public/assets/{linear-qUWmMZ-c.js → linear-BBbArIcK.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-CpPWAFwE.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-C4zYulEm.js → pieDiagram-4H26LBE5-BKIddiJN.js} +1 -1
- package/server/public/assets/{prod-C8VtLuWC.js → prod-B8vYiu52.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-qP04zyZC.js → quadrantDiagram-W4KKPZXB-D6RtoULk.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-eMPTX_cG.js → sankeyDiagram-5OEKKPKP-CLrCedZX.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-Dme1PIt6.js → xychartDiagram-2RQKCTM6-hznR8DYl.js} +1 -1
- package/server/public/index.html +2 -2
- package/server/{pull-requests-By_BteaL.js → pull-requests-7N8WKseP.js} +1 -1
- package/server/{pull-requests-8z2N1UOV.js → pull-requests-_lHueOHW.js} +13 -11
- package/server/{queries-ZABd5aXP.js → queries-CjNIf-Ub.js} +1200 -201
- package/server/{rally-i_goYmiA.js → rally-CyWT_lNO.js} +3 -3
- package/server/{rally-api-DqKqIMNR.js → rally-api-C8e_1JRi.js} +2 -2
- package/server/{rally-api-xHazRk0d.js → rally-api-ClOSd-Tt.js} +1 -1
- package/server/{rally-client-COYz1vYR.js → rally-client-lc-nokqr.js} +4 -4
- package/server/{rally-client-CGWEHaPd.js → rally-client-sgtVqzNU.js} +1 -1
- package/server/rally-zhhtXuDP.js +3 -0
- package/server/{reap-terminal-sessions-CaMkFOIH.js → reap-terminal-sessions-7KeHv1R1.js} +1 -1
- package/server/{reap-terminal-sessions-DG9eiMVz.js → reap-terminal-sessions-BtHPo6Xc.js} +1 -1
- package/server/rebuild-stack-CFvcBHsS.js +4 -0
- package/server/{rebuild-stack-JUm0jqYP.js → rebuild-stack-lwtsW0GO.js} +26 -35
- package/server/{reconstruct-cache-wU79aCee.js → reconstruct-cache-C3Ui7ojV.js} +6 -6
- package/server/record-CN0pj4_5.js +3 -0
- package/server/{record-update-D3N6WMFR.js → record-update-bLJxAXH4.js} +1 -1
- package/server/record-update-dE1Aw83j.js +310 -0
- package/server/{recovery-trip-DkzJSej9.js → recovery-trip-BvRWfUXM.js} +2 -2
- package/server/{release-engine-DMINVN8S.js → release-engine-Cx48W7z8.js} +5 -5
- package/server/{release-set-DeUSOEHy.js → release-set-CQfuN9-v.js} +3 -3
- package/server/{remote-b-c5bOce.js → remote-C_2hasl7.js} +3 -3
- package/server/{remote-Dr5kGYSZ.js → remote-ChgimyYa.js} +3 -3
- package/server/{remote-agents-Ct_WOyke.js → remote-agents-By1ige5O.js} +6 -6
- package/server/{remote-agents-D6O_zETW.js → remote-agents-CA3Ihlxj.js} +1 -1
- package/server/{remote-completion-Dca3hAaa.js → remote-completion-fVe9e_3u.js} +12 -12
- package/server/resume-BFv1PGpA.js +3 -0
- package/server/{review-agent-CThvgK2r.js → review-agent-CIGOQYBD.js} +29 -25
- package/server/{review-agent-CCum8sGe.js → review-agent-DNboMyW4.js} +1 -1
- package/server/{review-artifacts-CXywD0F2.js → review-artifacts-nRDPuMxd.js} +5 -5
- package/server/{review-context-OYfKUprb.js → review-context-2uj-YQ8J.js} +70 -26
- package/server/review-status-btEYlaxA.js +3 -0
- package/server/{review-status-enrichment-crNAtIpL.js → review-status-enrichment-Dci-ZwEt.js} +3 -3
- package/server/{review-status-DFRjDFef.js → review-status-kZj_KyCk.js} +77 -28
- package/server/{review-status-sync-DpAMD_WO.js → review-status-sync-BTOpxtTC.js} +10 -5
- package/server/{review-status-sync-D60PJWNL.js → review-status-sync-DSDK3OMy.js} +1 -1
- package/server/{review-verdict-feedback-CpUZl5aE.js → review-verdict-feedback-CCjVA7Uk.js} +6 -6
- package/server/{review-verdict-feedback-JImjut0z.js → review-verdict-feedback-CTd4QMBu.js} +1 -1
- package/server/{rollup-CZ02qgxk.js → rollup-BKQC7jp4.js} +1 -1
- package/server/{rollup-SyuF09e4.js → rollup-FGsKki9R.js} +8 -8
- package/server/{scanner-Br0Z5S6R.js → scanner-CnqEZeDy.js} +45 -14
- package/server/{sequence-io-fxU0DlwW.js → sequence-io-D909zgeH.js} +4 -4
- package/server/{sequencer-agent-B5YC5XVP.js → sequencer-agent-CzkcK6P5.js} +5 -5
- package/server/server.js +2961 -919
- package/server/{service-Bagb90KZ.js → service-CLeAoU6G.js} +55 -54
- package/server/{session-fork-BqQxd-V6.js → session-fork-CHI1XvL9.js} +2 -2
- package/server/{session-history-XdS0JKp3.js → session-history-BT3IvqhC.js} +4 -4
- package/server/settings-66A6uvIA.js +2 -0
- package/server/{settings-BNbocWOg.js → settings-BTMvpNFU.js} +3 -3
- package/server/{settings-uLc6DEYI.js → settings-C0zgxOGf.js} +2 -2
- package/server/{shadow-engineering-D4X_s3fA.js → shadow-engineering-BJfgm-hX.js} +2 -2
- package/server/{shadow-state-C_NkP-sa.js → shadow-state-7a-524T8.js} +2 -2
- package/server/{shadow-state-CbvsN3qG.js → shadow-state-DnDyjujH.js} +1 -1
- package/server/{shadow-utils-CYMRPeRT.js → shadow-utils-Db3oroFG.js} +2 -2
- package/server/{ship-log-__QtAFXG.js → ship-log-D9MlVzYU.js} +1 -1
- package/server/{smart-compaction-jdMkG1vo.js → smart-compaction-CV2ukKND.js} +1 -1
- package/server/{smart-compaction-CLZOWin1.js → smart-compaction-KCYScAU1.js} +7 -7
- package/server/{spawn-planning-session-D5OXo8pT.js → spawn-planning-session-DKpdFyOC.js} +35 -27
- package/server/{spawn-planning-session-8D6mE033.js → spawn-planning-session-qUC2VWu3.js} +1 -1
- package/server/{specialist-completion-CqmduO92.js → specialist-completion-Ky9wCDpb.js} +1 -1
- package/server/{specialist-context-CJ-QjFR-.js → specialist-context-Bn3dCGS2.js} +5 -5
- package/server/{specialist-handoff-logger-Dnjlwt7g.js → specialist-handoff-logger-CMEwYxa2.js} +2 -2
- package/server/{specialist-logs-CQnKzuZs.js → specialist-logs-C5p8G7tx.js} +3 -3
- package/server/{specialists-Bg9v4z3F.js → specialists-CC4r-c2s.js} +1015 -460
- package/server/{specialists-D0gGXMZx.js → specialists-CShuVGWT.js} +1 -1
- package/server/specialists-DM6bWjsi.js +3 -0
- package/server/{specialists-CwZHb5cb.js → specialists-jiuuyVkp.js} +66 -74
- package/server/specs-C8Wsn2XO.js +3 -0
- package/server/{src-BMMoA_ba.js → src-CXmtj0im.js} +6 -6
- package/server/{src-Bqdtd6po.js → src-CdmnTM2m.js} +5 -5
- package/server/{src-k039WVYY.js → src-DtcUOZCq.js} +112 -18
- package/server/stack-health-Bn3o8FBX.js +3 -0
- package/server/{stack-health-C-ifC7b0.js → stack-health-DxSdG9cW.js} +63 -9
- package/server/{stale-task-claims-L7pJkQFL.js → stale-task-claims-KJKxxiiQ.js} +4 -4
- package/server/{staleness-_Tr-GwdA.js → staleness-CT34nwr9.js} +1 -1
- package/server/{staleness-BID1BKdr.js → staleness-DPm7ClwA.js} +15 -3
- package/server/{state-home-CONQvZR0.js → state-home-Cn_Qu8IX.js} +96 -44
- package/server/{state-migrate-BeBW0KXA.js → state-migrate-BGg2ZaOt.js} +12 -3
- package/server/{stuck-remediation-CKnIryGT.js → stuck-remediation-DYuPRYYw.js} +307 -26
- package/server/{stuck-remediation-CsGD5Ksb.js → stuck-remediation-s9_2qfi6.js} +1 -1
- package/server/{substrate-bug-weights-service-CpIZILj9.js → substrate-bug-weights-service-B-FwCs5V.js} +3 -3
- package/server/{summary-fork-bX6ax6X7.js → summary-fork-D1RAk9rJ.js} +78 -12
- package/server/{summary-fork-agEMsPSo.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-Ctt4eRYz.js → supervisor-wM4ooB5O.js} +3 -3
- package/server/{swarm-readiness-DdmJVX7y.js → swarm-readiness-DlP_UjHq.js} +4 -4
- package/server/{system-prerequisites-DSXBvffY.js → system-prerequisites-DUDj1YHf.js} +56 -29
- package/server/{teardown-workspace-DDCf5n-a.js → teardown-workspace-DeTTImn-.js} +15 -15
- package/server/{test-agent-queue-BJZ9Nfcc.js → test-agent-queue-MbxX5vqq.js} +7 -7
- package/server/{test-verdict-Cp5tljlJ.js → test-verdict-bWYBtqBg.js} +1 -1
- package/server/{test-verdict-D_-sXIz_.js → test-verdict-gscuksPv.js} +1 -1
- package/server/{tldr-daemon-B8_oT5gx.js → tldr-daemon-BYFkts95.js} +1 -1
- package/server/{tldr-daemon-BQFmmFp0.js → tldr-daemon-C-69c3OI.js} +2 -2
- package/server/tmux-B6z7h_vZ.js +3 -0
- package/server/{tmux-L5LgvGLp.js → tmux-R7N7y-Mh.js} +76 -44
- package/server/{token-BkQLy4yS.js → token-BK6t8BIT.js} +2 -2
- package/server/token-util-DuPuNriz.js +3 -0
- package/server/{token-util-DI8sGlmF.js → token-util-DxXu-vd1.js} +1 -1
- package/server/{tracker-config-DdT-nUAM.js → tracker-config-G6latr8C.js} +2 -2
- package/server/{tracker-utils-DV3h1FYG.js → tracker-utils-B4ylXZQK.js} +1 -1
- package/server/{tracker-utils-CawsPSS2.js → tracker-utils-DHv5pSDT.js} +2 -2
- package/server/{traefik-connect-C6mJckNs.js → traefik-connect-Df2uXPsQ.js} +1 -1
- package/server/{tunnel-IdK1iTHx.js → tunnel-CDVKJpRv.js} +3 -3
- package/server/{tunnel-BIFl98rc.js → tunnel-DGdUkGoZ.js} +1 -1
- package/server/{types-7-GnJn0t.js → types-5M0lupud.js} +1 -1
- package/server/{uat-train-0Ujk8GCv.js → uat-train-B05BWkp-.js} +1 -1
- package/server/{uat-train-j0cPeMSj.js → uat-train-DDSrSoV1.js} +28 -28
- package/server/validate-IfDGkaVR.js +177 -0
- package/server/{validation-DcAgXTQp.js → validation-CC9OPqJZ.js} +1 -1
- package/server/{validation-CabEISJT.js → validation-Dw1pzDzr.js} +259 -9
- package/server/{verification-artifact-Ck1tefmz.js → verification-artifact-B3itKTxu.js} +1 -1
- package/server/{verification-artifact-BuTA1QbL.js → verification-artifact-TVFSz_q1.js} +1 -1
- package/server/{verification-runner-DlJezzef.js → verification-runner-BW4HOKAz.js} +1 -1
- package/server/{verification-runner-FiuAZ-H2.js → verification-runner-CkgX6EtI.js} +174 -124
- package/server/{vtt-parser-BnRsYzcz.js → vtt-parser-DYPbKcIJ.js} +1 -1
- package/server/{work-agent-prompt-DLthEPAq.js → work-agent-prompt-Du8Vh2aJ.js} +13 -13
- package/server/workflows-BQu4RFQ-.js +2 -0
- package/server/{workflows-BZNNYkGC.js → workflows-mbQzh6mQ.js} +39 -77
- package/server/{workspace-3IC-UkAi.js → workspace--8tnhDI0.js} +1 -1
- package/server/{workspace-D9ppycdg.js → workspace-BPUws1-_.js} +3 -3
- package/server/{workspace-config-Bigl_-Lk.js → workspace-config-CIVWZOQr.js} +1 -1
- package/server/{workspace-manager-ClkCIWTe.js → workspace-manager-CBhNdzE4.js} +76 -18
- package/server/workspace-manager-CWT55qeI.js +3 -0
- package/server/{workspace-metadata-BE0efUv_.js → workspace-metadata-BzHnwwX4.js} +1 -1
- package/server/{workspace-metadata-tiSRIWJP.js → workspace-metadata-_WygnyoX.js} +2 -2
- package/server/{workspaces-CFPcL0vl.js → workspaces-Do_9J0LQ.js} +309 -124
- package/sync-sources/agents/pan-inspect-agent.md +1 -1
- package/sync-sources/agents/pan-merge-agent.md +1 -1
- package/sync-sources/agents/pan-planning-agent.md +4 -4
- package/sync-sources/agents/pan-work-agent.md +1 -1
- package/sync-sources/dev-skills/pan-commit/SKILL.md +1 -1
- package/sync-sources/dev-skills/test-specialist-workflow/SKILL.md +1 -1
- package/sync-sources/hooks/record-cost-event.js +369 -75
- package/sync-sources/hooks/session-start-hook +7 -0
- package/sync-sources/hooks/work-agent-stop-hook +1 -1
- package/sync-sources/rules/per-bead-durability.md +1 -1
- package/sync-sources/rules/prd-authoring.md +1 -1
- package/sync-sources/skills/feature-work/SKILL.md +1 -1
- package/sync-sources/skills/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/SKILL.md +2 -2
- package/sync-sources/skills/pan-admin-config/SKILL.md +1 -0
- package/sync-sources/skills/pan-approve/SKILL.md +1 -1
- package/sync-sources/skills/pan-close/SKILL.md +1 -1
- package/sync-sources/skills/pan-doctor/SKILL.md +1 -1
- package/sync-sources/skills/pan-flywheel/SKILL.md +18 -1
- package/sync-sources/skills/pan-knowledge/SKILL.md +10 -0
- package/sync-sources/skills/pan-new-project/SKILL.md +9 -11
- package/sync-sources/skills/pan-orders/SKILL.md +33 -0
- package/sync-sources/skills/pan-oversee/SKILL.md +5 -5
- package/sync-sources/skills/pan-plan/SKILL.md +6 -6
- package/sync-sources/skills/pan-quickstart/SKILL.md +1 -1
- package/sync-sources/skills/pan-recap/SKILL.md +2 -2
- package/sync-sources/skills/pan-review/SKILL.md +1 -1
- package/sync-sources/skills/pan-start/SKILL.md +7 -3
- package/sync-sources/skills/pan-swarm/SKILL.md +1 -1
- package/sync-sources/skills/pan-sync/SKILL.md +1 -1
- package/sync-sources/skills/pan-task/SKILL.md +2 -2
- package/sync-sources/skills/pan-wipe/SKILL.md +2 -2
- package/sync-sources/skills/pipeline-list/SKILL.md +1 -1
- package/sync-sources/skills/pipeline-status/SKILL.md +2 -2
- package/sync-sources/skills/plan/SKILL.md +11 -11
- package/sync-sources/skills/write-vbrief/SKILL.md +7 -282
- package/sync-sources/skills/write-xbrief/SKILL.md +295 -0
- package/sync-sources/templates/claude-md/sections/warnings.md +1 -1
- package/sync-sources/templates/traefik/dynamic/overdeck.yml.template +10 -0
- package/server/agent-state-Co5Sy2Fw.js +0 -3
- package/server/agents-DyHKlq1I.js +0 -3
- package/server/cli-BRORS9qY.js +0 -3
- package/server/codex-DNyiQDKW.js +0 -3
- package/server/context-layers-15gDOk20.js +0 -165
- package/server/context-layers-DlQKkHH2.js +0 -4
- package/server/deacon-swarm-CV54eNmU.js +0 -2
- package/server/dist-j64RzSrQ.js +0 -3
- package/server/flywheel-6WHU4O7A.js +0 -207
- package/server/flywheel-COR0mbRI.js +0 -522
- package/server/flywheel-Ctr5uuvo.js +0 -2
- package/server/forge-B0_opi-V.js +0 -2
- package/server/git-utils-CsKGnzFA.js +0 -3
- package/server/hume-BmhvfVbV.js +0 -3
- package/server/inspect-agent-Dq0z1k3H.js +0 -2
- package/server/layers-Cp1To4L8.js +0 -93
- package/server/lifecycle-io-DmY2qwCn.js +0 -3
- package/server/merge-blockers-BYjeXrVN.js +0 -41
- package/server/merge-ops-DwWCkSgo.js +0 -2
- package/server/merge-set-DiISXcC-.js +0 -139
- package/server/projects-BKkwpH6q.js +0 -3
- package/server/public/assets/index-Bdc4V9ba.css +0 -1
- package/server/public/assets/mermaid-GHXKKRXX-B5v_r7cI.js +0 -1
- package/server/rally-OSJXdiHK.js +0 -3
- package/server/rebuild-stack-CKjJAI8L.js +0 -3
- package/server/record-rwK-nKv_.js +0 -3
- package/server/record-update-Crz74r-6.js +0 -168
- package/server/resume-wZZsWtzz.js +0 -3
- package/server/review-status-Bnh-rdkY.js +0 -3
- package/server/settings-BlUsVaUc.js +0 -2
- package/server/specialists-Dqe6_HE5.js +0 -3
- package/server/specs-BhOKBzqk.js +0 -3
- package/server/stack-health-Bd06frFn.js +0 -3
- package/server/supervisor-COVHrBTg.js +0 -2
- package/server/tmux-BAvtac_u.js +0 -3
- package/server/token-util-BArZLN6w.js +0 -3
- package/server/workflows-C4mR0Reb.js +0 -2
- package/server/workspace-manager-B1WOfKvB.js +0 -3
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Et as getIssueWorkspacePath, Nt as readIssueRecordSync, Ot as init_record, Tn as init_projects, fn as findProjectByPathSync, jt as readIssueRecord, nn as init_state_read_home, rn as resolveStateReadHomeSync, yn as getProjectSync, zn as resolveProjectFromIssueSync } from "./config-yaml-DySPNmKN.js";
|
|
3
3
|
import { a as init_activity_logger, n as emitActivityEntrySync, r as emitActivityTtsSync } from "./activity-logger-DDlOIAML.js";
|
|
4
|
-
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-
|
|
5
|
-
import { n as updateIssueRecord, t as init_record_update } from "./record-update-
|
|
6
|
-
import { d as init_cost_sync, i as getCostBreakdownByStageAndModelSync, o as getCostForIssueSync } from "./cost-sync-
|
|
7
|
-
import { r as notifyPipelineSync, t as init_pipeline_notifier } from "./pipeline-notifier-
|
|
8
|
-
import { c as init_review_status_sync, d as init_review_status_normalize, f as normalizeReviewStatusSync, l as markWorkspaceStuck$1, n as deleteReviewStatus, o as getReviewStatusFromDbSync, r as getAllReviewStatusesFromDb, s as getReviewStatusesFromDb, u as upsertReviewStatusSync } from "./review-status-sync-
|
|
4
|
+
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-BEqFxlJc.js";
|
|
5
|
+
import { n as updateIssueRecord, t as init_record_update } from "./record-update-dE1Aw83j.js";
|
|
6
|
+
import { d as init_cost_sync, i as getCostBreakdownByStageAndModelSync, o as getCostForIssueSync } from "./cost-sync-BsN6ER0n.js";
|
|
7
|
+
import { r as notifyPipelineSync, t as init_pipeline_notifier } from "./pipeline-notifier-BXkJzDC4.js";
|
|
8
|
+
import { c as init_review_status_sync, d as init_review_status_normalize, f as normalizeReviewStatusSync, l as markWorkspaceStuck$1, n as deleteReviewStatus, o as getReviewStatusFromDbSync, r as getAllReviewStatusesFromDb, s as getReviewStatusesFromDb, t as clearWorkspaceStuck$1, u as upsertReviewStatusSync } from "./review-status-sync-BTOpxtTC.js";
|
|
9
9
|
import { a as registerReviewStatusMapReader, n as init_review_status_source } from "./review-status-source-CxuEjLGg.js";
|
|
10
10
|
import { a as PAN_DIRNAME, p as init_types, r as PAN_CONTINUES_DIRNAME } from "./types-hraoaQIp.js";
|
|
11
|
-
import { i as init_merge_set, r as getMergeSetSync } from "./merge-set-
|
|
11
|
+
import { i as init_merge_set, r as getMergeSetSync } from "./merge-set-DJ8-UErs.js";
|
|
12
|
+
import { o as init_lifecycle, r as XBRIEF_FILENAME_SUFFIX, t as LEGACY_VBRIEF_FILENAME_SUFFIX } from "./lifecycle-yPd___5E.js";
|
|
12
13
|
import { dirname, join } from "node:path";
|
|
13
14
|
import { Data, Effect } from "effect";
|
|
14
15
|
import { join as join$1 } from "path";
|
|
@@ -270,6 +271,8 @@ function projectPipeline(issueId, status, existing) {
|
|
|
270
271
|
strikeReadyAt: status.strikeReadyAt,
|
|
271
272
|
strikeLandingState: status.strikeLandingState,
|
|
272
273
|
strikeRecoveryCount: status.strikeRecoveryCount,
|
|
274
|
+
strikeTransportRetryCount: status.strikeTransportRetryCount,
|
|
275
|
+
strikeNextAttemptAt: status.strikeNextAttemptAt,
|
|
273
276
|
strikeLandingAttempts: status.strikeLandingAttempts
|
|
274
277
|
};
|
|
275
278
|
}
|
|
@@ -289,10 +292,21 @@ function projectMerges(issueId) {
|
|
|
289
292
|
if (!mergeSet) return [];
|
|
290
293
|
return mergeSet.repos.map((r) => r.artifactUrl).filter((url) => typeof url === "string" && url.length > 0);
|
|
291
294
|
}
|
|
295
|
+
function resolveContinuePath(projectRoot, issueId) {
|
|
296
|
+
const stateHome = resolveStateReadHomeSync(findProjectByPathSync(projectRoot) ?? {
|
|
297
|
+
name: projectRoot,
|
|
298
|
+
path: projectRoot
|
|
299
|
+
});
|
|
300
|
+
const basePath = join(stateHome.migrated ? join(stateHome.root, PAN_CONTINUES_DIRNAME) : join(stateHome.root, PAN_DIRNAME, PAN_CONTINUES_DIRNAME), issueId.toLowerCase());
|
|
301
|
+
const canonicalPath = `${basePath}${XBRIEF_FILENAME_SUFFIX}`;
|
|
302
|
+
const legacyPath = `${basePath}${LEGACY_VBRIEF_FILENAME_SUFFIX}`;
|
|
303
|
+
if (existsSync(canonicalPath)) return canonicalPath;
|
|
304
|
+
if (existsSync(legacyPath)) return legacyPath;
|
|
305
|
+
return canonicalPath;
|
|
306
|
+
}
|
|
292
307
|
async function readLegacyContinueText(projectRoot, issueId) {
|
|
293
|
-
const path = join(projectRoot, PAN_DIRNAME, PAN_CONTINUES_DIRNAME, `${issueId.toLowerCase()}.vbrief.json`);
|
|
294
308
|
try {
|
|
295
|
-
return await promises.readFile(
|
|
309
|
+
return await promises.readFile(resolveContinuePath(projectRoot, issueId), "utf-8");
|
|
296
310
|
} catch {
|
|
297
311
|
return null;
|
|
298
312
|
}
|
|
@@ -407,6 +421,8 @@ var init_records = __esmMin((() => {
|
|
|
407
421
|
init_cost_sync();
|
|
408
422
|
init_merge_set();
|
|
409
423
|
init_projects();
|
|
424
|
+
init_state_read_home();
|
|
425
|
+
init_lifecycle();
|
|
410
426
|
init_agent_state_sync();
|
|
411
427
|
init_record();
|
|
412
428
|
init_record_update();
|
|
@@ -487,6 +503,8 @@ function durableSubset(p) {
|
|
|
487
503
|
strikeReadyAt: p.strikeReadyAt,
|
|
488
504
|
strikeLandingState: p.strikeLandingState,
|
|
489
505
|
strikeRecoveryCount: p.strikeRecoveryCount,
|
|
506
|
+
strikeTransportRetryCount: p.strikeTransportRetryCount,
|
|
507
|
+
strikeNextAttemptAt: p.strikeNextAttemptAt,
|
|
490
508
|
strikeLandingAttempts: p.strikeLandingAttempts,
|
|
491
509
|
closedOut: p.closedOut,
|
|
492
510
|
closedOutAt: p.closedOutAt
|
|
@@ -509,10 +527,12 @@ function writeWorkspaceVerdictFallbackSync(issueId, status) {
|
|
|
509
527
|
return;
|
|
510
528
|
}
|
|
511
529
|
mkdirSync(dirname(path), { recursive: true });
|
|
530
|
+
const clearedFields = FALLBACK_CLEARABLE_FIELDS.filter((field) => status[field] === void 0);
|
|
512
531
|
const payload = {
|
|
513
532
|
issueId: issueId.toUpperCase(),
|
|
514
533
|
updatedAt: status.updatedAt ?? (/* @__PURE__ */ new Date()).toISOString(),
|
|
515
|
-
pipeline: durableSubset(status)
|
|
534
|
+
pipeline: durableSubset(status),
|
|
535
|
+
...clearedFields.length > 0 ? { clearedFields } : {}
|
|
516
536
|
};
|
|
517
537
|
writeFileSync(path, JSON.stringify(payload, null, 2));
|
|
518
538
|
console.warn(`[review-status] journal write failed for ${issueId} — durable verdict written to workspace fallback ${path}; the host sweeps it on the next status read (PAN-2583)`);
|
|
@@ -526,7 +546,11 @@ function readWorkspaceVerdictFallbackSync(issueId) {
|
|
|
526
546
|
if (!path || !existsSync(path)) return null;
|
|
527
547
|
const parsed = JSON.parse(readFileSync(path, "utf-8"));
|
|
528
548
|
if (!parsed?.updatedAt || !parsed.pipeline) return null;
|
|
529
|
-
|
|
549
|
+
const clearedFields = Array.isArray(parsed.clearedFields) ? parsed.clearedFields.filter((field) => typeof field === "string" && FALLBACK_CLEARABLE_FIELDS.includes(field)) : [];
|
|
550
|
+
return {
|
|
551
|
+
...parsed,
|
|
552
|
+
clearedFields
|
|
553
|
+
};
|
|
530
554
|
} catch {
|
|
531
555
|
return null;
|
|
532
556
|
}
|
|
@@ -554,12 +578,15 @@ function readJournalStatusSync(issueId) {
|
|
|
554
578
|
if (fallback && fallbackNewer) {
|
|
555
579
|
const base = p ? durableSubset(p) : {};
|
|
556
580
|
const overlay = Object.fromEntries(Object.entries(fallback.pipeline).filter(([, value]) => value !== void 0));
|
|
581
|
+
const durable = {
|
|
582
|
+
...base,
|
|
583
|
+
...overlay
|
|
584
|
+
};
|
|
585
|
+
for (const field of fallback.clearedFields ?? []) delete durable[field];
|
|
557
586
|
return {
|
|
558
587
|
updatedAt: fallback.updatedAt,
|
|
559
|
-
durable
|
|
560
|
-
|
|
561
|
-
...overlay
|
|
562
|
-
}
|
|
588
|
+
durable,
|
|
589
|
+
...fallback.clearedFields?.length ? { clearedFields: fallback.clearedFields } : {}
|
|
563
590
|
};
|
|
564
591
|
}
|
|
565
592
|
if (!p) return null;
|
|
@@ -568,12 +595,13 @@ function readJournalStatusSync(issueId) {
|
|
|
568
595
|
durable: durableSubset(p)
|
|
569
596
|
};
|
|
570
597
|
}
|
|
571
|
-
var pendingJournalWrites;
|
|
598
|
+
var pendingJournalWrites, FALLBACK_CLEARABLE_FIELDS;
|
|
572
599
|
var init_review_status_record_sync = __esmMin((() => {
|
|
573
600
|
init_records();
|
|
574
601
|
init_record();
|
|
575
602
|
init_projects();
|
|
576
603
|
pendingJournalWrites = /* @__PURE__ */ new Set();
|
|
604
|
+
FALLBACK_CLEARABLE_FIELDS = ["strikeTransportRetryCount", "strikeNextAttemptAt"];
|
|
577
605
|
}));
|
|
578
606
|
//#endregion
|
|
579
607
|
//#region ../../lib/review-dispatch-decision.ts
|
|
@@ -686,6 +714,7 @@ function loadReadyForMergeFlags(issueIds) {
|
|
|
686
714
|
readyForMerge: false
|
|
687
715
|
} };
|
|
688
716
|
for (const [key, value] of Object.entries(journal.durable)) if (value !== void 0) merged[key] = value;
|
|
717
|
+
for (const key of journal.clearedFields ?? []) delete merged[key];
|
|
689
718
|
merged.issueId = issueId;
|
|
690
719
|
merged.updatedAt = journal.updatedAt;
|
|
691
720
|
merged.readyForMerge = (merged.blockerReasons?.length ?? 0) > 0 ? false : reviewGatesPassedSync(merged);
|
|
@@ -788,7 +817,7 @@ function setReviewStatusSync(issueId, update, existing) {
|
|
|
788
817
|
});
|
|
789
818
|
if (readyForMerge && !status.readyForMerge && updated.prUrl) (async () => {
|
|
790
819
|
try {
|
|
791
|
-
const { isGitHubAppConfigured, reportCommitStatus } = await import("./github-app-
|
|
820
|
+
const { isGitHubAppConfigured, reportCommitStatus } = await import("./github-app-ClZ2lk8D.js");
|
|
792
821
|
if (!isGitHubAppConfigured()) return;
|
|
793
822
|
const prMatch = updated.prUrl.match(/github\.com\/([^/]+)\/([^/]+)\/pull/);
|
|
794
823
|
if (!prMatch) return;
|
|
@@ -1071,7 +1100,7 @@ function resetPipelineVerdictsForWorkStartSync(issueId, options = {}) {
|
|
|
1071
1100
|
*/
|
|
1072
1101
|
async function deliverReviewVerdictFeedbackHostSide(issueId, status) {
|
|
1073
1102
|
try {
|
|
1074
|
-
const { deliverReviewVerdictFeedback } = await import("./review-verdict-feedback-
|
|
1103
|
+
const { deliverReviewVerdictFeedback } = await import("./review-verdict-feedback-CTd4QMBu.js");
|
|
1075
1104
|
if ((await Effect.runPromise(deliverReviewVerdictFeedback({
|
|
1076
1105
|
issueId,
|
|
1077
1106
|
verdict: status.reviewStatus === "failed" ? "failed" : "blocked",
|
|
@@ -1104,7 +1133,7 @@ function maybeAutoDispatchReviewHostSide(issueId, status) {
|
|
|
1104
1133
|
}
|
|
1105
1134
|
async function dispatchReviewHostSide(issueId, prUrl) {
|
|
1106
1135
|
try {
|
|
1107
|
-
const { resolveProjectFromIssueSync } = await import("./projects-
|
|
1136
|
+
const { resolveProjectFromIssueSync } = await import("./projects-vjjcmiN8.js");
|
|
1108
1137
|
const resolved = resolveProjectFromIssueSync(issueId);
|
|
1109
1138
|
if (!resolved) return;
|
|
1110
1139
|
const { existsSync } = await import("fs");
|
|
@@ -1120,7 +1149,7 @@ async function dispatchReviewHostSide(issueId, prUrl) {
|
|
|
1120
1149
|
});
|
|
1121
1150
|
branch = stdout.trim() || branch;
|
|
1122
1151
|
} catch {}
|
|
1123
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
1152
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-DNboMyW4.js");
|
|
1124
1153
|
const result = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
1125
1154
|
issueId,
|
|
1126
1155
|
workspace,
|
|
@@ -1144,13 +1173,13 @@ function maybeRecoverTestVerdictHostSide(issueId, status) {
|
|
|
1144
1173
|
}
|
|
1145
1174
|
async function recoverTestVerdictHostSide(issueId) {
|
|
1146
1175
|
try {
|
|
1147
|
-
const { resolveProjectFromIssueSync } = await import("./projects-
|
|
1176
|
+
const { resolveProjectFromIssueSync } = await import("./projects-vjjcmiN8.js");
|
|
1148
1177
|
const resolved = resolveProjectFromIssueSync(issueId);
|
|
1149
1178
|
if (!resolved) return;
|
|
1150
1179
|
const { existsSync } = await import("fs");
|
|
1151
1180
|
const workspace = join$1(resolved.projectPath, "workspaces", `feature-${issueId.toLowerCase()}`);
|
|
1152
1181
|
if (!existsSync(workspace)) return;
|
|
1153
|
-
const { readTestVerdictArtifact } = await import("./test-verdict-
|
|
1182
|
+
const { readTestVerdictArtifact } = await import("./test-verdict-gscuksPv.js");
|
|
1154
1183
|
const artifact = readTestVerdictArtifact(workspace);
|
|
1155
1184
|
if (!artifact) return;
|
|
1156
1185
|
setReviewStatusSync(issueId, {
|
|
@@ -1164,13 +1193,13 @@ async function recoverTestVerdictHostSide(issueId) {
|
|
|
1164
1193
|
}
|
|
1165
1194
|
async function deliverTestFailureToWorkAgentHostSide(issueId, status) {
|
|
1166
1195
|
try {
|
|
1167
|
-
const { resolveProjectFromIssueSync } = await import("./projects-
|
|
1196
|
+
const { resolveProjectFromIssueSync } = await import("./projects-vjjcmiN8.js");
|
|
1168
1197
|
const resolved = resolveProjectFromIssueSync(issueId);
|
|
1169
1198
|
const workspace = resolved ? join$1(resolved.projectPath, "workspaces", `feature-${issueId.toLowerCase()}`) : void 0;
|
|
1170
1199
|
const notes = status.testNotes;
|
|
1171
1200
|
let feedbackPath;
|
|
1172
1201
|
try {
|
|
1173
|
-
const { writeFeedbackFile } = await import("./feedback-writer-
|
|
1202
|
+
const { writeFeedbackFile } = await import("./feedback-writer-D3a22RCd.js");
|
|
1174
1203
|
const r = await Effect.runPromise(writeFeedbackFile({
|
|
1175
1204
|
issueId,
|
|
1176
1205
|
workspacePath: workspace,
|
|
@@ -1182,10 +1211,10 @@ async function deliverTestFailureToWorkAgentHostSide(issueId, status) {
|
|
|
1182
1211
|
if (r.success) feedbackPath = r.filePath;
|
|
1183
1212
|
} catch {}
|
|
1184
1213
|
const message = `SPECIALIST FEEDBACK: test-agent reported FAILED for ${issueId}.\n\n${feedbackPath ? `MUST READ: ${feedbackPath}\n\n` : ""}${notes ? `${notes.slice(0, 400)}\n\n` : ""}Fix the failing tests, commit and push, then re-run pan done ${issueId}. Do NOT stop at the prompt.`;
|
|
1185
|
-
const { resolveIssueFeedbackTarget, surfaceIssueFeedbackNeedsYou } = await import("./feedback-target-
|
|
1214
|
+
const { resolveIssueFeedbackTarget, surfaceIssueFeedbackNeedsYou } = await import("./feedback-target-CoFDHiM8.js");
|
|
1186
1215
|
const target = await resolveIssueFeedbackTarget(issueId);
|
|
1187
1216
|
if ("agentId" in target) {
|
|
1188
|
-
const { messageAgent } = await import("./agents-
|
|
1217
|
+
const { messageAgent } = await import("./agents-wi9NWzs2.js");
|
|
1189
1218
|
await messageAgent(target.agentId, message, "internal", { owesRework: true });
|
|
1190
1219
|
console.log(`[review-status] delivered test failure to ${target.agentId} for ${issueId} (host-side)`);
|
|
1191
1220
|
} else await surfaceIssueFeedbackNeedsYou(issueId, target.reason, {
|
|
@@ -1215,6 +1244,7 @@ function getReviewStatusSync(issueId) {
|
|
|
1215
1244
|
readyForMerge: false
|
|
1216
1245
|
} };
|
|
1217
1246
|
for (const [key, value] of Object.entries(journal.durable)) if (value !== void 0) merged[key] = value;
|
|
1247
|
+
for (const key of journal.clearedFields ?? []) delete merged[key];
|
|
1218
1248
|
merged.issueId = issueId;
|
|
1219
1249
|
merged.updatedAt = journal.updatedAt;
|
|
1220
1250
|
merged.readyForMerge = (merged.blockerReasons?.length ?? 0) > 0 ? false : reviewGatesPassedSync(merged);
|
|
@@ -1343,6 +1373,25 @@ function markWorkspaceStuck(issueId, reason, details) {
|
|
|
1343
1373
|
}
|
|
1344
1374
|
}
|
|
1345
1375
|
/**
|
|
1376
|
+
* Clear the stuck flag for a workspace.
|
|
1377
|
+
* Called when the human clicks "Unstick" in the dashboard.
|
|
1378
|
+
* Re-enables Deacon patrol for this workspace.
|
|
1379
|
+
*/
|
|
1380
|
+
function clearWorkspaceStuck(issueId) {
|
|
1381
|
+
try {
|
|
1382
|
+
clearWorkspaceStuck$1(issueId);
|
|
1383
|
+
console.log(`[review-status] Cleared stuck state for ${issueId}`);
|
|
1384
|
+
const updated = getReviewStatusSync(issueId);
|
|
1385
|
+
if (updated) notifyPipelineSync({
|
|
1386
|
+
type: "status_changed",
|
|
1387
|
+
issueId,
|
|
1388
|
+
status: updated
|
|
1389
|
+
});
|
|
1390
|
+
} catch (err) {
|
|
1391
|
+
console.error(`[review-status] Failed to clear stuck state for ${issueId}:`, err);
|
|
1392
|
+
}
|
|
1393
|
+
}
|
|
1394
|
+
/**
|
|
1346
1395
|
* Set or clear the operator-requested deacon-ignore flag. When set, Deacon
|
|
1347
1396
|
* patrol skips the issue entirely on every cycle. Distinct from `stuck`, which
|
|
1348
1397
|
* is a system-set failure marker that also suppresses patrol.
|
|
@@ -1416,6 +1465,6 @@ var init_review_status = __esmMin((() => {
|
|
|
1416
1465
|
});
|
|
1417
1466
|
}));
|
|
1418
1467
|
//#endregion
|
|
1419
|
-
export {
|
|
1468
|
+
export { needsReviewDispatch as C, listOverdeckAgentStatesSync as D, init_agent_state_sync as E, saveOverdeckAgentStateSync as O, init_review_dispatch_decision as S, getOverdeckAgentStateSync as T, setAutoMerge as _, fixStuckCommentedReviews as a, setReviewStatusSync as b, getReviewStatusSync as c, loadReviewStatuses as d, loadReviewStatusesForIssues as f, reviewGatesPassedSync as g, resetPipelineVerdictsForWorkStartSync as h, clearWorkspaceStuck as i, stateToOverdeckParamsForDb as k, init_review_status as l, mergeGateEligibility as m, clearReviewStatus as n, fixStuckReadyForMerge as o, markWorkspaceStuck as p, clearStuckMergeStatuses as r, getReviewStatus as s, ReviewStatusError as t, loadReadyForMergeFlags as u, setDeaconIgnored as v, AGENT_COLUMNS_FOR_DB as w, verificationSatisfied as x, setReviewStatus as y };
|
|
1420
1469
|
|
|
1421
|
-
//# sourceMappingURL=review-status-
|
|
1470
|
+
//# sourceMappingURL=review-status-kZj_KyCk.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-
|
|
2
|
+
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-BEqFxlJc.js";
|
|
3
3
|
import { Effect } from "effect";
|
|
4
4
|
//#region ../../lib/review-status-normalize.ts
|
|
5
5
|
function normalizeReviewStatusSync(status) {
|
|
@@ -81,6 +81,8 @@ function rowToReviewStatus(row, history) {
|
|
|
81
81
|
strikeReadyAt: msToIso(row.strike_ready_at),
|
|
82
82
|
strikeLandingState: row.strike_landing_state ?? void 0,
|
|
83
83
|
strikeRecoveryCount: row.strike_recovery_count ?? void 0,
|
|
84
|
+
strikeTransportRetryCount: row.strike_transport_retry_count ?? void 0,
|
|
85
|
+
strikeNextAttemptAt: msToIso(row.strike_next_attempt_at),
|
|
84
86
|
strikeLandingAttempts: row.strike_landing_attempts ? JSON.parse(row.strike_landing_attempts) : void 0,
|
|
85
87
|
history: history.length > 0 ? history : void 0
|
|
86
88
|
});
|
|
@@ -117,9 +119,10 @@ function upsertReviewStatusSync(status) {
|
|
|
117
119
|
deacon_ignored, deacon_ignored_at, deacon_ignored_reason,
|
|
118
120
|
blocker_reasons, last_verified_commit, merge_step, auto_merge,
|
|
119
121
|
strike_ready_head, strike_ready_at, strike_landing_state,
|
|
120
|
-
strike_recovery_count,
|
|
122
|
+
strike_recovery_count, strike_transport_retry_count,
|
|
123
|
+
strike_next_attempt_at, strike_landing_attempts
|
|
121
124
|
) VALUES (
|
|
122
|
-
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?
|
|
125
|
+
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?
|
|
123
126
|
)
|
|
124
127
|
ON CONFLICT(issue_id) DO UPDATE SET
|
|
125
128
|
review_status = excluded.review_status,
|
|
@@ -167,8 +170,10 @@ function upsertReviewStatusSync(status) {
|
|
|
167
170
|
strike_ready_at = excluded.strike_ready_at,
|
|
168
171
|
strike_landing_state = excluded.strike_landing_state,
|
|
169
172
|
strike_recovery_count = excluded.strike_recovery_count,
|
|
173
|
+
strike_transport_retry_count = excluded.strike_transport_retry_count,
|
|
174
|
+
strike_next_attempt_at = excluded.strike_next_attempt_at,
|
|
170
175
|
strike_landing_attempts = excluded.strike_landing_attempts
|
|
171
|
-
`).run(s.issueId, s.reviewStatus, s.testStatus, s.mergeStatus ?? null, s.inspectStatus ?? null, null, isoToMs(s.inspectStartedAt), s.inspectBeadId ?? null, s.inspectOwnerSession ?? null, s.verificationStatus ?? null, null, s.verificationCycleCount ?? null, s.verificationMaxCycles ?? null, null, null, null, s.releaseStatus ?? null, s.releaseNotes ?? null, isoToMs(s.updatedAt) ?? Date.now(), s.readyForMerge ? 1 : 0, s.autoRequeueCount ?? null, s.mergeRetryCount ?? null, s.prUrl ?? null, s.prHeadSha ?? null, s.prNumber ?? null, s.stuck ? 1 : 0, s.stuckReason ?? null, isoToMs(s.stuckAt), s.stuckDetails ?? null, s.reviewedAtCommit ?? null, isoToMs(s.reviewSpawnedAt), isoToMs(s.conflictResolutionDispatchedAt), s.testRetryCount ?? null, s.reviewRetryCount ?? null, isoToMs(s.recoveryStartedAt), s.deaconIgnored ? 1 : 0, isoToMs(s.deaconIgnoredAt), s.deaconIgnoredReason ?? null, s.blockerReasons ? JSON.stringify(s.blockerReasons) : null, s.lastVerifiedCommit ?? null, s.mergeStep ?? null, s.autoMerge === void 0 ? null : s.autoMerge ? 1 : 0, s.strikeReadyHead ?? null, isoToMs(s.strikeReadyAt), s.strikeLandingState ?? null, s.strikeRecoveryCount ?? null, s.strikeLandingAttempts ? JSON.stringify(s.strikeLandingAttempts) : null);
|
|
176
|
+
`).run(s.issueId, s.reviewStatus, s.testStatus, s.mergeStatus ?? null, s.inspectStatus ?? null, null, isoToMs(s.inspectStartedAt), s.inspectBeadId ?? null, s.inspectOwnerSession ?? null, s.verificationStatus ?? null, null, s.verificationCycleCount ?? null, s.verificationMaxCycles ?? null, null, null, null, s.releaseStatus ?? null, s.releaseNotes ?? null, isoToMs(s.updatedAt) ?? Date.now(), s.readyForMerge ? 1 : 0, s.autoRequeueCount ?? null, s.mergeRetryCount ?? null, s.prUrl ?? null, s.prHeadSha ?? null, s.prNumber ?? null, s.stuck ? 1 : 0, s.stuckReason ?? null, isoToMs(s.stuckAt), s.stuckDetails ?? null, s.reviewedAtCommit ?? null, isoToMs(s.reviewSpawnedAt), isoToMs(s.conflictResolutionDispatchedAt), s.testRetryCount ?? null, s.reviewRetryCount ?? null, isoToMs(s.recoveryStartedAt), s.deaconIgnored ? 1 : 0, isoToMs(s.deaconIgnoredAt), s.deaconIgnoredReason ?? null, s.blockerReasons ? JSON.stringify(s.blockerReasons) : null, s.lastVerifiedCommit ?? null, s.mergeStep ?? null, s.autoMerge === void 0 ? null : s.autoMerge ? 1 : 0, s.strikeReadyHead ?? null, isoToMs(s.strikeReadyAt), s.strikeLandingState ?? null, s.strikeRecoveryCount ?? null, s.strikeTransportRetryCount ?? null, isoToMs(s.strikeNextAttemptAt), s.strikeLandingAttempts ? JSON.stringify(s.strikeLandingAttempts) : null);
|
|
172
177
|
if (s.history && s.history.length > 0) {
|
|
173
178
|
const insertHistory = db.prepare(`INSERT OR IGNORE INTO status_history (issue_id, type, status, timestamp, notes)
|
|
174
179
|
VALUES (?, ?, ?, ?, ?)`);
|
|
@@ -291,4 +296,4 @@ var init_review_status_sync = __esmMin((() => {
|
|
|
291
296
|
//#endregion
|
|
292
297
|
export { getMergeBlockerReconcileCandidatesSync as a, init_review_status_sync as c, init_review_status_normalize as d, normalizeReviewStatusSync as f, getMergeBlockerReconcileCandidates as i, markWorkspaceStuck as l, deleteReviewStatus as n, getReviewStatusFromDbSync as o, getAllReviewStatusesFromDb as r, getReviewStatusesFromDb as s, clearWorkspaceStuck as t, upsertReviewStatusSync as u };
|
|
293
298
|
|
|
294
|
-
//# sourceMappingURL=review-status-sync-
|
|
299
|
+
//# sourceMappingURL=review-status-sync-BTOpxtTC.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { c as init_review_status_sync, t as clearWorkspaceStuck } from "./review-status-sync-
|
|
1
|
+
import { c as init_review_status_sync, t as clearWorkspaceStuck } from "./review-status-sync-BTOpxtTC.js";
|
|
2
2
|
init_review_status_sync();
|
|
3
3
|
export { clearWorkspaceStuck };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import { c as
|
|
4
|
-
import {
|
|
2
|
+
import { Tn as init_projects, zn as resolveProjectFromIssueSync } from "./config-yaml-DySPNmKN.js";
|
|
3
|
+
import { c as getReviewStatusSync, l as init_review_status } from "./review-status-kZj_KyCk.js";
|
|
4
|
+
import { X as messageAgent, b as init_agents } from "./queries-CjNIf-Ub.js";
|
|
5
5
|
import { a as PAN_DIRNAME, p as init_types } from "./types-hraoaQIp.js";
|
|
6
|
-
import { a as writeFeedbackFile, i as init_feedback_writer } from "./feedback-writer-
|
|
7
|
-
import { n as resolveIssueFeedbackTarget, r as surfaceIssueFeedbackNeedsYou, t as init_feedback_target } from "./feedback-target-
|
|
6
|
+
import { a as writeFeedbackFile, i as init_feedback_writer } from "./feedback-writer-CY5L1lB7.js";
|
|
7
|
+
import { n as resolveIssueFeedbackTarget, r as surfaceIssueFeedbackNeedsYou, t as init_feedback_target } from "./feedback-target-7mqqwrX6.js";
|
|
8
8
|
import { join } from "node:path";
|
|
9
9
|
import { Effect } from "effect";
|
|
10
10
|
import { existsSync } from "node:fs";
|
|
@@ -144,4 +144,4 @@ var init_review_verdict_feedback = __esmMin((() => {
|
|
|
144
144
|
//#endregion
|
|
145
145
|
export { init_review_verdict_feedback as n, postPrComment as r, deliverReviewVerdictFeedback as t };
|
|
146
146
|
|
|
147
|
-
//# sourceMappingURL=review-verdict-feedback-
|
|
147
|
+
//# sourceMappingURL=review-verdict-feedback-CCjVA7Uk.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as init_review_verdict_feedback, t as deliverReviewVerdictFeedback } from "./review-verdict-feedback-
|
|
1
|
+
import { n as init_review_verdict_feedback, t as deliverReviewVerdictFeedback } from "./review-verdict-feedback-CCjVA7Uk.js";
|
|
2
2
|
init_review_verdict_feedback();
|
|
3
3
|
export { deliverReviewVerdictFeedback };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as commitStatusRollup, r as init_rollup, s as synthesizeStatusRollup } from "./rollup-
|
|
1
|
+
import { n as commitStatusRollup, r as init_rollup, s as synthesizeStatusRollup } from "./rollup-FGsKki9R.js";
|
|
2
2
|
init_rollup();
|
|
3
3
|
export { commitStatusRollup, synthesizeStatusRollup };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import { a as resolveArchiveDir, f as resolveStatusFile, i as init_paths, l as resolveObservationsFile, n as ensureDir, r as ensureParentDir, u as resolvePendingDir } from "./paths-
|
|
4
|
-
import { i as init_settings, n as getMemoryRollupPendingThreshold } from "./settings-
|
|
5
|
-
import { i as updateMemoryHealth, n as extractWithProviderPolicy, r as init_health, t as init_providers } from "./providers-
|
|
2
|
+
import { O as MemoryStatus, t as init_src } from "./src-DtcUOZCq.js";
|
|
3
|
+
import { a as resolveArchiveDir, f as resolveStatusFile, i as init_paths, l as resolveObservationsFile, n as ensureDir, r as ensureParentDir, u as resolvePendingDir } from "./paths-D-xWGHdh.js";
|
|
4
|
+
import { i as init_settings, n as getMemoryRollupPendingThreshold } from "./settings-BTMvpNFU.js";
|
|
5
|
+
import { i as updateMemoryHealth, n as extractWithProviderPolicy, r as init_health, t as init_providers } from "./providers-qQAwGQDW.js";
|
|
6
6
|
import { Result, Schema } from "effect";
|
|
7
7
|
import { dirname } from "path";
|
|
8
8
|
import { randomUUID } from "crypto";
|
|
@@ -98,8 +98,8 @@ async function enqueueStatusRollupEvent(job) {
|
|
|
98
98
|
await configuredStatusRollupProcessor(job);
|
|
99
99
|
return;
|
|
100
100
|
}
|
|
101
|
-
const { initEventStore } = await import("./event-store-
|
|
102
|
-
const { synthesizeStatusRollup, commitStatusRollup } = await import("./rollup-
|
|
101
|
+
const { initEventStore } = await import("./event-store-EV2cMiXj.js");
|
|
102
|
+
const { synthesizeStatusRollup, commitStatusRollup } = await import("./rollup-BKQC7jp4.js");
|
|
103
103
|
await (await initEventStore()).appendAsync({
|
|
104
104
|
type: "memory.rollup_triggered",
|
|
105
105
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -295,7 +295,7 @@ async function clearPendingTurns(projectId, issueId, pendingTurns) {
|
|
|
295
295
|
return cleared;
|
|
296
296
|
}
|
|
297
297
|
async function emitStatusUpdatedEvent(event) {
|
|
298
|
-
const { initEventStore } = await import("./event-store-
|
|
298
|
+
const { initEventStore } = await import("./event-store-EV2cMiXj.js");
|
|
299
299
|
await (await initEventStore()).appendAsync({
|
|
300
300
|
type: "memory.status_updated",
|
|
301
301
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -446,4 +446,4 @@ var init_rollup = __esmMin((() => {
|
|
|
446
446
|
//#endregion
|
|
447
447
|
export { readCurrentStatus as a, init_pending as c, readArchivedStatuses as i, maybeTriggerStatusRollup as l, commitStatusRollup as n, readRecentObservations as o, init_rollup as r, synthesizeStatusRollup as s, buildStatusRollupPrompt as t, writePendingTurn as u };
|
|
448
448
|
|
|
449
|
-
//# sourceMappingURL=rollup-
|
|
449
|
+
//# sourceMappingURL=rollup-FGsKki9R.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { B as getProviderEnvSync, H as init_providers,
|
|
2
|
-
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-
|
|
3
|
-
import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-
|
|
4
|
-
import { Ct as searchFtsSessions, Et as upsertDiscoveredSession, St as markEnrichmentFailed, Tt as updateEnrichment, bt as insertEmbedding, ct as countDiscoveredSessions, dt as findDiscoveredSessionIds, ft as findDiscoveredSessions, ht as getDiscoveredSessionByJsonlPath, lt as countFtsSessions, mt as getDiscoveredSessionById, pt as findEnrichedSessionIdsMissingEmbedding, st as buildFilterSql, ut as ensureDiscoveredSessionsSchema, vt as getEmbedding, wt as topKCosine, xt as loadEmbeddings, yt as init_discovered_sessions } from "./conversations-
|
|
5
|
-
import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-
|
|
6
|
-
import { n as recordBackgroundAiCost, t as init_cost$1 } from "./cost-
|
|
1
|
+
import { B as getProviderEnvSync, Gr as sessionFilePath, H as init_providers, Nr as encodeClaudeProjectDir, Tn as init_projects, V as getProviderForModelSync, Vr as init_paths, a as getConversationsConfigSync, f as loadConfigSync, ir as FsError, it as getModelCapabilitySync, kn as listProjectsSync, lt as resolveModelIdSync, mr as init_errors, rr as ConfigError, st as init_model_capabilities, t as init_config_yaml } from "./config-yaml-DySPNmKN.js";
|
|
2
|
+
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-BEqFxlJc.js";
|
|
3
|
+
import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-B2ddP6wq.js";
|
|
4
|
+
import { Ct as searchFtsSessions, Et as upsertDiscoveredSession, St as markEnrichmentFailed, Tt as updateEnrichment, bt as insertEmbedding, ct as countDiscoveredSessions, dt as findDiscoveredSessionIds, ft as findDiscoveredSessions, ht as getDiscoveredSessionByJsonlPath, lt as countFtsSessions, mt as getDiscoveredSessionById, pt as findEnrichedSessionIdsMissingEmbedding, st as buildFilterSql, ut as ensureDiscoveredSessionsSchema, vt as getEmbedding, wt as topKCosine, xt as loadEmbeddings, yt as init_discovered_sessions } from "./conversations-6AfUfbwc.js";
|
|
5
|
+
import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-ez2271oH.js";
|
|
6
|
+
import { n as recordBackgroundAiCost, t as init_cost$1 } from "./cost-R-m6Yi-W.js";
|
|
7
7
|
import { Data, Duration, Effect, FileSystem } from "effect";
|
|
8
8
|
import { createReadStream, promises } from "fs";
|
|
9
9
|
import { basename, join, relative, resolve } from "path";
|
|
@@ -500,6 +500,8 @@ const MODEL_PROVIDERS = {
|
|
|
500
500
|
"gemini-3-pro-preview": "google",
|
|
501
501
|
"gemini-2.5-pro": "google",
|
|
502
502
|
"gemini-2.5-flash": "google",
|
|
503
|
+
"k3": "kimi",
|
|
504
|
+
"k3[1m]": "kimi",
|
|
503
505
|
"kimi-k2.7-code": "kimi",
|
|
504
506
|
"kimi-k2.6": "kimi",
|
|
505
507
|
"kimi-k2.5": "kimi",
|
|
@@ -555,6 +557,8 @@ const FALLBACK_MAP = {
|
|
|
555
557
|
"gemini-3-pro-preview": "claude-sonnet-5",
|
|
556
558
|
"gemini-2.5-pro": "claude-sonnet-5",
|
|
557
559
|
"gemini-2.5-flash": "claude-haiku-4-5",
|
|
560
|
+
"k3": "claude-sonnet-5",
|
|
561
|
+
"k3[1m]": "claude-sonnet-5",
|
|
558
562
|
"kimi-k2.7-code": "claude-sonnet-5",
|
|
559
563
|
"kimi-k2.6": "claude-sonnet-5",
|
|
560
564
|
"kimi-k2.5": "claude-sonnet-5",
|
|
@@ -2454,12 +2458,12 @@ async function collectAgentDirFiles(root, warnings = []) {
|
|
|
2454
2458
|
const agentHarness = await readAgentHarness(agentDir);
|
|
2455
2459
|
const piHarness = agentHarness === "pi" || agentHarness === "ohmypi" ? agentHarness : "ohmypi";
|
|
2456
2460
|
result.push(...await collectPiFamilyRoot(join(agentDir, "sessions"), piHarness, warnings));
|
|
2457
|
-
await
|
|
2461
|
+
await collectAgentRootFiles(agentDir, piHarness, warnings, result);
|
|
2458
2462
|
await collectJsonlFiles(join(agentDir, "codex-home", "sessions"), join(agentDir, "codex-home", "sessions"), "codex", warnings, result);
|
|
2459
2463
|
}
|
|
2460
2464
|
return result;
|
|
2461
2465
|
}
|
|
2462
|
-
async function
|
|
2466
|
+
async function collectAgentRootFiles(agentDir, piHarness, warnings, result) {
|
|
2463
2467
|
let entries;
|
|
2464
2468
|
try {
|
|
2465
2469
|
entries = await promises.readdir(agentDir, { withFileTypes: true });
|
|
@@ -2469,10 +2473,16 @@ async function collectAgentRootPiFiles(agentDir, harness, warnings, result) {
|
|
|
2469
2473
|
}
|
|
2470
2474
|
for (const entry of entries) {
|
|
2471
2475
|
const name = String(entry.name);
|
|
2472
|
-
if (entry.isFile()
|
|
2476
|
+
if (!entry.isFile()) continue;
|
|
2477
|
+
if (name === "acp-session.jsonl") result.push({
|
|
2473
2478
|
projectDir: agentDir,
|
|
2474
2479
|
jsonlPath: join(agentDir, name),
|
|
2475
|
-
harness
|
|
2480
|
+
harness: "acp"
|
|
2481
|
+
});
|
|
2482
|
+
else if (isPiWorkAgentJsonl(name)) result.push({
|
|
2483
|
+
projectDir: agentDir,
|
|
2484
|
+
jsonlPath: join(agentDir, name),
|
|
2485
|
+
harness: piHarness
|
|
2476
2486
|
});
|
|
2477
2487
|
}
|
|
2478
2488
|
}
|
|
@@ -2611,6 +2621,23 @@ async function parsePiSessionMetadata(filePath) {
|
|
|
2611
2621
|
result.filesTouched = [...filesSet];
|
|
2612
2622
|
return result;
|
|
2613
2623
|
}
|
|
2624
|
+
async function parseAcpSessionMetadata(filePath) {
|
|
2625
|
+
const result = emptySessionMetadata();
|
|
2626
|
+
const toolsSet = /* @__PURE__ */ new Set();
|
|
2627
|
+
await readJsonl(filePath, (entry) => {
|
|
2628
|
+
const acpEntry = entry;
|
|
2629
|
+
if (typeof acpEntry.timestamp !== "string" || typeof acpEntry.content !== "string" || !isAcpTranscriptRole(acpEntry.role)) return;
|
|
2630
|
+
result.messageCount++;
|
|
2631
|
+
recordTimestamp(result, acpEntry.timestamp);
|
|
2632
|
+
if (!result.sessionId && typeof acpEntry.sessionId === "string" && acpEntry.sessionId.length > 0) result.sessionId = acpEntry.sessionId;
|
|
2633
|
+
if (Array.isArray(acpEntry.toolCalls)) for (const toolCall of acpEntry.toolCalls) {
|
|
2634
|
+
const name = toolCall.title?.trim() || toolCall.kind?.trim();
|
|
2635
|
+
if (name) toolsSet.add(name);
|
|
2636
|
+
}
|
|
2637
|
+
});
|
|
2638
|
+
result.toolsUsed = [...toolsSet];
|
|
2639
|
+
return result;
|
|
2640
|
+
}
|
|
2614
2641
|
async function parseCodexSessionMetadata(filePath) {
|
|
2615
2642
|
const result = emptySessionMetadata();
|
|
2616
2643
|
const modelCounts = {};
|
|
@@ -2713,6 +2740,9 @@ function recordTimestamp(result, ts) {
|
|
|
2713
2740
|
if (result.firstTs === null) result.firstTs = ts;
|
|
2714
2741
|
result.lastTs = ts;
|
|
2715
2742
|
}
|
|
2743
|
+
function isAcpTranscriptRole(role) {
|
|
2744
|
+
return role === "user" || role === "assistant" || role === "tool" || role === "system";
|
|
2745
|
+
}
|
|
2716
2746
|
function normalizeModel(provider, model) {
|
|
2717
2747
|
if (typeof model !== "string" || model.length === 0) return null;
|
|
2718
2748
|
if (typeof provider === "string" && provider.length > 0 && !model.includes("/")) return `${provider}/${model}`;
|
|
@@ -2764,6 +2794,7 @@ async function scan(opts) {
|
|
|
2764
2794
|
const parseMetadata = (file) => {
|
|
2765
2795
|
if (file.harness === "pi" || file.harness === "ohmypi") return parsePiSessionMetadata(file.jsonlPath);
|
|
2766
2796
|
if (file.harness === "codex") return parseCodexSessionMetadata(file.jsonlPath);
|
|
2797
|
+
if (file.harness === "acp") return parseAcpSessionMetadata(file.jsonlPath);
|
|
2767
2798
|
return parseJsonl(file.jsonlPath);
|
|
2768
2799
|
};
|
|
2769
2800
|
const resolveWorkspace = async (file, cwdFromFirstMessage) => {
|
|
@@ -2773,8 +2804,8 @@ async function scan(opts) {
|
|
|
2773
2804
|
workspaceHash: null,
|
|
2774
2805
|
warning: null
|
|
2775
2806
|
};
|
|
2776
|
-
if (file.harness === "codex") return {
|
|
2777
|
-
workspacePath:
|
|
2807
|
+
if (file.harness === "codex" || file.harness === "acp") return {
|
|
2808
|
+
workspacePath: resolveAgentWorkspace(file.jsonlPath),
|
|
2778
2809
|
workspaceHash: null,
|
|
2779
2810
|
warning: null
|
|
2780
2811
|
};
|
|
@@ -2947,7 +2978,7 @@ function combineCorrelation(base, sessionId, locatorCorrelationMap) {
|
|
|
2947
2978
|
const byLocator = locatorCorrelationMap.get(sessionId);
|
|
2948
2979
|
return byLocator ? mergeCorrelation(fallback, byLocator) : fallback;
|
|
2949
2980
|
}
|
|
2950
|
-
function
|
|
2981
|
+
function resolveAgentWorkspace(jsonlPath) {
|
|
2951
2982
|
const agentId = jsonlPath.replace(/\\/g, "/").match(/\/\.overdeck\/agents\/([^/]+)\//)?.[1];
|
|
2952
2983
|
if (!agentId) return null;
|
|
2953
2984
|
return getOverdeckDatabaseSync().prepare(`SELECT workspace FROM agents WHERE id = ?`).get(agentId)?.workspace ?? null;
|
|
@@ -2997,4 +3028,4 @@ function normalizeDir(dir) {
|
|
|
2997
3028
|
//#endregion
|
|
2998
3029
|
export { enrichSessions as a, searchSessions as c, CostThresholdError as i, embed as l, getSessionsFeedFacets as n, embedSessions as o, listSessionsFeed as r, parseRelativeTime as s, scan as t };
|
|
2999
3030
|
|
|
3000
|
-
//# sourceMappingURL=scanner-
|
|
3031
|
+
//# sourceMappingURL=scanner-CnqEZeDy.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import { c as
|
|
4
|
-
import { C as init_specs, S as getProjectPanPaths } from "./io-
|
|
2
|
+
import { Ut as init_auto_commit, Wt as queueAutoCommit } from "./config-yaml-DySPNmKN.js";
|
|
3
|
+
import { c as getReviewStatusSync, l as init_review_status } from "./review-status-kZj_KyCk.js";
|
|
4
|
+
import { C as init_specs, S as getProjectPanPaths } from "./io-C9kF1wtJ.js";
|
|
5
5
|
import { dirname, join } from "node:path";
|
|
6
6
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
7
7
|
//#region ../../lib/backlog/types.ts
|
|
@@ -275,4 +275,4 @@ var init_sequence_io = __esmMin((() => {
|
|
|
275
275
|
//#endregion
|
|
276
276
|
export { parseSequenceMd as n, writeSequenceMd as r, init_sequence_io as t };
|
|
277
277
|
|
|
278
|
-
//# sourceMappingURL=sequence-io-
|
|
278
|
+
//# sourceMappingURL=sequence-io-D909zgeH.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { a as __toCommonJS, n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { c as
|
|
3
|
-
import {
|
|
4
|
-
import { n as init_issue_service_singleton, r as issue_service_singleton_exports } from "./issue-service-singleton-
|
|
5
|
-
import { n as parseSequenceMd, t as init_sequence_io } from "./sequence-io-
|
|
2
|
+
import { c as getReviewStatusSync, l as init_review_status } from "./review-status-kZj_KyCk.js";
|
|
3
|
+
import { Or as getAgentRuntimeStateSync, Sn as determineModel, Yn as getAgentStateSync, a as listRunningAgentsSync, b as init_agents, ft as stopAgent, ut as spawnRun } from "./queries-CjNIf-Ub.js";
|
|
4
|
+
import { n as init_issue_service_singleton, r as issue_service_singleton_exports } from "./issue-service-singleton-Yx5DdmVJ.js";
|
|
5
|
+
import { n as parseSequenceMd, t as init_sequence_io } from "./sequence-io-D909zgeH.js";
|
|
6
6
|
import { dirname, join } from "node:path";
|
|
7
7
|
import { Effect } from "effect";
|
|
8
8
|
import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
|
|
@@ -324,4 +324,4 @@ var init_sequencer_agent = __esmMin((() => {
|
|
|
324
324
|
//#endregion
|
|
325
325
|
export { spawnSequencerAgent as a, init_sequencer_agent as i, clearFinishedSequencerRun as n, getSequencerRunStatus as r, SEQUENCER_AGENT_ID as t };
|
|
326
326
|
|
|
327
|
-
//# sourceMappingURL=sequencer-agent-
|
|
327
|
+
//# sourceMappingURL=sequencer-agent-CzkcK6P5.js.map
|