@overdeck/desktop 0.47.0 → 0.48.0
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 +59 -0
- package/package.json +1 -1
- package/server/{acceptance-criteria-10Ur5Dne.js → acceptance-criteria-DmtLDbtt.js} +2 -2
- package/server/{activity-logger-CyteR4JO.js → activity-logger-Co5qljIj.js} +55 -4
- package/server/activity-logger-K7FYGF_z.js +3 -0
- package/server/{advancing-selfheal-BNwqxseD.js → advancing-selfheal-8AR68Asf.js} +6 -6
- package/server/{agent-gc-C3h9Or3a.js → agent-gc-BmYeT6eH.js} +5 -5
- package/server/agent-state-Dq3s84-P.js +3 -0
- package/server/{agent-state-service-C63p_ftq.js → agent-state-service-DK1Vay1E.js} +1 -1
- package/server/{agent-state-service-Ds6OeFvo.js → agent-state-service-rjnzpHDx.js} +6 -6
- package/server/agent-state-source-Ds968-j6.js +21 -0
- package/server/{agents-J5mEnekq.js → agents-Dls7tfJH.js} +5 -5
- package/server/agents-IPSa5kzn.js +3 -0
- package/server/{archive-planning-BwhxeP7C.js → archive-planning-Cq7cyinS.js} +51 -24
- package/server/archive-planning-MbkGCBIY.js +2 -0
- package/server/{artifact-index-jobs-D1q_vR3V.js → artifact-index-jobs-Dj_8kpTd.js} +3 -3
- package/server/{assemble-Bgwqv-Ro.js → assemble-BTCmbcfH.js} +20 -13
- package/server/{auto-spawn-consent-CQ9Bi9q6.js → auto-spawn-consent-lXqRJ1Dr.js} +304 -121
- package/server/{backlog-auto-trigger-n1lzPgN4.js → backlog-auto-trigger-Dn-amzt6.js} +3 -3
- package/server/{behavior-td6-xhQk.js → behavior-DIMQMRzs.js} +2 -2
- package/server/{boot-reconciled-stop-events-C7gGe3oB.js → boot-reconciled-stop-events-D6SeUTIr.js} +1 -1
- package/server/{bridge-pool-patrol-CYH2OLb5.js → bridge-pool-patrol-BEjt-xF3.js} +2 -2
- package/server/{briefing-freshness-DRqZ8lAz.js → briefing-freshness-3PNmL_p3.js} +2 -2
- package/server/{build-info-7yiEpl6u.js → build-info-CJg813Hm.js} +3 -3
- package/server/{build-info-CpG__c63.js → build-info-CXyeFsXu.js} +1 -1
- package/server/{checkpoint-manager-CkKmB0wZ.js → checkpoint-manager-9t7G5c1V.js} +1 -1
- package/server/{checkpoint-manager-DBcyNR8w.js → checkpoint-manager-B2G38R3p.js} +3 -3
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-Wm963lm8.js → checkpoints-CuBgiXO-.js} +1 -1
- package/server/{checkpoints-D95apurL.js → checkpoints-VTZMd4Qm.js} +2 -2
- package/server/{claude-hooks-provision-Bjitl9aI.js → claude-hooks-provision-55SyQaPz.js} +2 -2
- package/server/{claude-hooks-provision-4RPxNkE8.js → claude-hooks-provision-CEUT-CZd.js} +1 -1
- package/server/{claude-permissions-CpbpvUQ2.js → claude-permissions-Cn0dIu2i.js} +2 -2
- package/server/{claude-settings-overlay-BzkHYDwR.js → claude-settings-overlay-B19hdzSA.js} +1 -1
- package/server/{claude-settings-overlay-_H9Yrzab.js → claude-settings-overlay-Yg_ANh81.js} +2 -2
- package/server/{cli-Cte9ZFGn.js → cli-C9S84iTy.js} +79 -22
- package/server/cli-M1cwZ__d.js +3 -0
- package/server/{cliproxy-C5fMJ7rY.js → cliproxy-CJq3KXU6.js} +2 -2
- package/server/{cliproxy-DaAbWMjC.js → cliproxy-DgEZlr7Y.js} +1 -1
- package/server/{close-issue-BPh1ARCF.js → close-issue-DPxRddGR.js} +5 -5
- package/server/{closed-issue-reaper-DoOZqGFK.js → closed-issue-reaper-C5Zn4GRS.js} +13 -13
- package/server/{closed-issue-reaper-DHRfRMrp.js → closed-issue-reaper-D-2B48Ri.js} +1 -1
- package/server/{codex-o8FJwzmy.js → codex-B3n_rkwn.js} +1 -1
- package/server/{codex-BzGDW_d3.js → codex-CjkD1PJu.js} +6 -6
- package/server/{codex-parser-Dt-ycU8L.js → codex-parser-DpB1Il-P.js} +2 -2
- package/server/{compaction-continuation-CvXpbZ4w.js → compaction-continuation-DZD9ukSE.js} +3 -3
- package/server/{config-CL3Gyvja.js → config-C5saf4Ja.js} +1 -1
- package/server/{config-BvLe652W.js → config-DnLJATZk.js} +2 -2
- package/server/{config-Bi3u1VK7.js → config-DvM8jtQK.js} +2 -2
- package/server/{config-yaml-CxdwhAIA.js → config-yaml-BSCqwmX0.js} +11299 -10972
- package/server/{conflict-gate-CX80JYYS.js → conflict-gate-DXa_L28t.js} +1 -1
- package/server/{conflict-gate-E4nt7ZeS.js → conflict-gate-WfVqgalf.js} +4 -4
- package/server/{context-layers-DAG83UZt.js → context-layers-D7UqH9Ab.js} +2 -2
- package/server/{context-layers-C_IIysnm.js → context-layers-Dpz3Vd6d.js} +3 -3
- package/server/{control-settings-CiqGxXnc.js → control-settings-DVf6pKyv.js} +4 -4
- package/server/{conversation-compaction-BE3CNtHF.js → conversation-compaction-5XuH6OBn.js} +1 -1
- package/server/{conversation-compaction-D6-yLtqt.js → conversation-compaction-COrbnX1J.js} +8 -8
- package/server/{conversation-service-DBxoYMDl.js → conversation-service-BufdtnZF.js} +169 -10
- package/server/{conversation-service-D_TS2b1r.js → conversation-service-DnUyIiLb.js} +1 -1
- package/server/{conversations-D0UEdLtk.js → conversations-B4rxz-Wl.js} +17 -10
- package/server/{conversations-BKDVpB-3.js → conversations-D1bwxQMy.js} +1 -1
- package/server/{cost-DpgYmYqR.js → cost-CpFDrJUS.js} +46 -2
- package/server/{cost-DS1s0DbG.js → cost-KLuwKCW9.js} +3 -3
- package/server/{cost-sync-tOCCGnEt.js → cost-sync-cesi9dp8.js} +3 -3
- package/server/{dag-BtkgLeqY.js → dag-BYiFMqpU.js} +2 -2
- package/server/{dangerous-git-ops-CFLykHWt.js → dangerous-git-ops-BKvd3-Hk.js} +1 -1
- package/server/dashboard-db-worker.js +7 -7
- package/server/{deacon-BIblC-WX.js → deacon-BbsWw8a6.js} +3 -3
- package/server/{deacon-pLRLbPvR.js → deacon-HdEh0Esp.js} +863 -214
- package/server/deacon-event-client-C93rvOT7.js +237 -0
- package/server/deacon-event-client-Ck5Ei7Mn.js +3 -0
- package/server/{deacon-nudge-log-B08gF0mh.js → deacon-nudge-log-BND_97Wo.js} +4 -3
- package/server/{deacon-pending-lifecycle-B-Io84AP.js → deacon-pending-lifecycle-CD3YsiQK.js} +3 -3
- package/server/deacon-swarm-DgWADWd_.js +2 -0
- package/server/{deacon-swarm-v5PMun-m.js → deacon-swarm-rqrl4TMs.js} +39 -18
- package/server/deacon.js +12 -210
- package/server/{dead-end-trip-D8A3msX9.js → dead-end-trip-DSF23CLX.js} +4 -3
- package/server/dead-end-trip-zKlS4v6f.js +2 -0
- package/server/delivery-CsbQdZkS.js +3 -0
- package/server/{deploy-patrol-sYgOxLeb.js → deploy-patrol-kARAkji4.js} +17 -21
- package/server/{deploy-queue-VfohaPN_.js → deploy-queue-Bj0HJT1i.js} +2 -2
- package/server/{deploy-queue-gHJBycaF.js → deploy-queue-rjTUy1RM.js} +1 -1
- package/server/{deploy-window-D4DQb8VP.js → deploy-window-B2IM-9G5.js} +10 -44
- package/server/{deploy-window-CFRZ0-kt.js → deploy-window-BNFWnA8D.js} +1 -1
- package/server/{dev-supervisor-DiOBDM1c.js → dev-supervisor-B1mZYXz4.js} +2 -2
- package/server/{devcontainer-renderer-BUOIlfgD.js → devcontainer-renderer-B-o68Z5B.js} +3 -3
- package/server/{dist-C3A8B8wM.js → dist-3W--cGMa.js} +1 -1
- package/server/dist-BR0QtwmS.js +3 -0
- package/server/{dist-src-C0adpegX.js → dist-src-C-Vk2jNk.js} +1 -1
- package/server/{docker-Y3PElJb0.js → docker-DH3jUYg1.js} +1 -1
- package/server/{docker-BJzlkqYB.js → docker-meuLKLzV.js} +27 -20
- package/server/{dod-DlNtcH6n.js → dod-D7-9dCOD.js} +1 -1
- package/server/{driver-CKVGi51s.js → driver-CmsY2RLl.js} +1 -1
- package/server/{durable-review-pipeline-DP6bIcOY.js → durable-review-pipeline-CStTgOAf.js} +1 -1
- package/server/{durable-review-pipeline-Cibps-Rg.js → durable-review-pipeline-Chq0lzjL.js} +1 -1
- package/server/{ensure-devcontainer-DMAbWqtQ.js → ensure-devcontainer-BE3llBWP.js} +1 -1
- package/server/{ensure-devcontainer-BAofzBPv.js → ensure-devcontainer-BXrY7C2Z.js} +4 -4
- package/server/{esm-shims-BeObUkaw.js → esm-shims-Bzy4ZzNU.js} +1 -1
- package/server/event-store-COd2tOx8.js +3 -0
- package/server/{event-store-CrHcVC5_.js → event-store-D_AR-Y78.js} +184 -11
- package/server/{events-CF8QDbuV.js → events-CCkFWa7X.js} +1 -1
- package/server/{events-BNrvchBg.js → events-zjDQozet.js} +3 -3
- package/server/{factory-Cmm9Hsho.js → factory-DhavwKVc.js} +5 -5
- package/server/{feature-registry-population-B6HpNWRy.js → feature-registry-population-DWGBKyWd.js} +4 -4
- package/server/{feature-registry-storage-DJEFx1Pf.js → feature-registry-storage-C5DkXmCM.js} +3 -3
- package/server/{features-D5km80UI.js → features-CC47YcCX.js} +2 -2
- package/server/{feedback-target-BJ5ZADsu.js → feedback-target-D9Tex35_.js} +1 -1
- package/server/{feedback-target-DSxEL6lP.js → feedback-target-DoRCR3L-.js} +18 -7
- package/server/{feedback-writer-CoB9Z6aU.js → feedback-writer-CTSuA6lw.js} +1 -1
- package/server/{feedback-writer-C27Hak8a.js → feedback-writer-DdsBdtNL.js} +5 -5
- package/server/{flywheel-DZZdtiOL.js → flywheel-DHWHzaYK.js} +1 -1
- package/server/{flywheel-f662Q-y2.js → flywheel-DJQa9az8.js} +14 -14
- package/server/{flywheel-BHx8XuMr.js → flywheel-TacAI9MA.js} +21 -17
- package/server/{flywheel-merge-order-Dil0LmdN.js → flywheel-merge-order-D2foPh88.js} +1 -1
- package/server/{flywheel-merge-order-D_xLMbJU.js → flywheel-merge-order-DRtex2Dt.js} +7 -7
- package/server/forge-CdlCG9aS.js +3 -0
- package/server/{forge-BaKGCya6.js → forge-c8LeC-tw.js} +2 -2
- package/server/{from-B3tZbB55.js → from-BogSwvr2.js} +1 -1
- package/server/{fs-lock-Bre3sGoz.js → fs-lock-D_GeJtXl.js} +3 -3
- package/server/{fts-operations-B9jG8wa3.js → fts-operations-DP9R-8Q3.js} +3 -3
- package/server/{git-utils-Xg4PFN45.js → git-utils-C31x1lpE.js} +1 -1
- package/server/{git-utils-CsvYfJU3.js → git-utils-xQ74FoSn.js} +5 -4
- package/server/{github-app-Bmg4R9mv.js → github-app-CpQSDlv8.js} +1 -1
- package/server/{github-app-CmNk0zLU.js → github-app-D2QuvZ3j.js} +3 -3
- package/server/{github-client-qazkPrg0.js → github-client-D9YvJX5D.js} +3 -3
- package/server/{github-client-B6KM9_wA.js → github-client-Tpi3PmKX.js} +1 -1
- package/server/{github-pr-lookup-DAcVeRLK.js → github-pr-lookup-DvBMv-IW.js} +2 -2
- package/server/{harness-binary-BSpiXaLw.js → harness-binary-BHxWf_sX.js} +7 -6
- package/server/{harness-resolve-BAJu5MX8.js → harness-resolve-bj9WMABA.js} +4 -4
- package/server/{health-events-BwX32k8d.js → health-events-bCDPn59Z.js} +2 -2
- package/server/{health-events-2Z6Wa9SM.js → health-events-qo7Ss34U.js} +1 -1
- package/server/{hooks-DbtbimEf.js → hooks-Dyxtg5fk.js} +2 -2
- package/server/{hooks-D1g1jKLI.js → hooks-X2XHBB2b.js} +1 -1
- package/server/{hume-DXNiu6nQ.js → hume-DrZEGpqc.js} +2 -2
- package/server/hume-YPsy4UA8.js +3 -0
- package/server/{idle-stack-reaper-Cy-dQzW4.js → idle-stack-reaper-CJ1ygW0p.js} +37 -7
- package/server/{idle-stack-reaper-CRA1e0jr.js → idle-stack-reaper-uJGOb-vu.js} +1 -1
- package/server/{in-flight-guard-D-sSkADM.js → in-flight-guard-CG2Eo-rr.js} +1 -1
- package/server/{infra-BDQDRopn.js → infra-CTrmVqc_.js} +111 -6
- package/server/{injection-Bl8d_jHZ.js → injection-BisQ0lpX.js} +1 -1
- package/server/{injection-6AGnXxlj.js → injection-C9sxqbc2.js} +73 -193
- package/server/{inspect-agent-nXdIptyh.js → inspect-agent-BoSO51YC.js} +12 -12
- package/server/inspect-agent-BykeOH4a.js +2 -0
- package/server/{internal-token-DzK385vD.js → internal-token-AvXePaQT.js} +2 -2
- package/server/{internal-token-Ias7N8Kg.js → internal-token-Djkj-yqK.js} +1 -1
- package/server/{io-B00PBNku.js → io-mxOWMZ7I.js} +6 -6
- package/server/{issue-closed-BehTG1be.js → issue-closed-Bj_bCv_0.js} +7 -7
- package/server/{issue-lifecycle-BqSuQvbn.js → issue-lifecycle-A5YIpDZE.js} +1 -1
- package/server/{issue-lifecycle-Birk-ifu.js → issue-lifecycle-BXUqaHzF.js} +32 -28
- package/server/{issue-service-singleton-C6ZduvuY.js → issue-service-singleton-BPNEXczv.js} +11 -11
- package/server/{issue-service-singleton-B2wXiIlw.js → issue-service-singleton-CcaHjKPR.js} +1 -1
- package/server/{issues-DQ5-LatB.js → issues-AX-YBeAQ.js} +2 -2
- package/server/{jsonl-parser-BDpnGFCl.js → jsonl-parser-CgYWQ20q.js} +7 -3
- package/server/kimi-code-BYbme0aV.js +579 -0
- package/server/kimi-code-D_Ppt82c.js +3 -0
- package/server/kimi-parser-B-JBg3Pv.js +147 -0
- package/server/{label-cleanup-Dwnky8FG.js → label-cleanup-sXUlgdM0.js} +3 -3
- package/server/{lifecycle-B4Xdb4cY.js → lifecycle-D2X3al0D.js} +2 -2
- package/server/{lifecycle-B3s4sM1G.js → lifecycle-DjlljAZ1.js} +6 -6
- package/server/{lifecycle-io-CzTHEooc.js → lifecycle-io-C5nVk55o.js} +1 -1
- package/server/{lifecycle-io-DCo6s6ks.js → lifecycle-io-NPm1YtIG.js} +5 -5
- package/server/{linear-client-CnbtHiic.js → linear-client--luYwCZg.js} +1 -1
- package/server/{linear-client-9uq7fhiV.js → linear-client-B8pLegW1.js} +3 -3
- package/server/{linear-mcp-auth-BxUOzswy.js → linear-mcp-auth-BQVWV0I3.js} +6 -6
- package/server/{linear-mcp-auth-D46fBCLf.js → linear-mcp-auth-Dx81Zl4G.js} +1 -1
- package/server/memory-fts-worker.js +1 -1
- package/server/{merge-DiW9RdSB.js → merge-Bx5Bh9pi.js} +3 -3
- package/server/{merge-sr8Nrnmi.js → merge-Dqmh_zja.js} +1 -1
- package/server/{merge-agent-BLUgRsz3.js → merge-agent-DP9AUY29.js} +33 -33
- package/server/{merge-agent-DQTXZk8z.js → merge-agent-DWd0KfiS.js} +1 -1
- package/server/{merge-batch-Cp_j9BGk.js → merge-batch-BdmvTEAC.js} +1 -1
- package/server/{merge-completeness-BLbB5-6n.js → merge-completeness-BfRwFjRx.js} +1 -1
- package/server/{merge-completeness-B46KqhtY.js → merge-completeness-C1FevcDT.js} +4 -4
- package/server/merge-ops-B98tKc1e.js +2 -0
- package/server/merge-rebase-BLykMwPO.js +2 -0
- package/server/{merge-rebase-DIkBjgwq.js → merge-rebase-BX1xKsrE.js} +2 -2
- package/server/{merge-set-CBgHfwM0.js → merge-set-DsLjjLEV.js} +4 -4
- package/server/{merge-set-DeUxFsC3.js → merge-set-H6epHOsw.js} +1 -1
- package/server/{merge-sync-kr4vqyjM.js → merge-sync-BEdfsQV4.js} +2 -2
- package/server/{merge-sync-CpGmk6Ch.js → merge-sync-BebcWWGA.js} +1 -1
- package/server/{merge-train-Dmrcus12.js → merge-train-D1I0lNOT.js} +4 -4
- package/server/{merge-train-deps-D_uGX91G.js → merge-train-deps-D_-C0Pk2.js} +4 -4
- package/server/{merge-verification-NvaAd8CZ.js → merge-verification-DN1Ov9bU.js} +6 -6
- package/server/{merged-docker-cleanup-worker-Y1R06TEl.js → merged-docker-cleanup-worker-CfXSr2pA.js} +4 -4
- package/server/{merged-docker-cleanup-worker-DH_hrGPI.js → merged-docker-cleanup-worker-ybsPyHjB.js} +1 -1
- package/server/{multipart-parser-R-oC8dQg.js → multipart-parser-CL5QG8iv.js} +2 -2
- package/server/{no-resume-mode-BgD0JUmM.js → no-resume-mode-DUR7Hi98.js} +1 -1
- package/server/node_modules/.package-lock.json +7 -7
- package/server/node_modules/brace-expansion/README.md +23 -1
- package/server/node_modules/brace-expansion/index.js +206 -85
- package/server/node_modules/brace-expansion/package.json +1 -1
- package/server/node_modules/msgpackr/dist/index-no-eval.cjs +34 -28
- package/server/node_modules/msgpackr/dist/index-no-eval.cjs.map +1 -1
- package/server/node_modules/msgpackr/dist/index-no-eval.min.js +1 -1
- package/server/node_modules/msgpackr/dist/index-no-eval.min.js.map +1 -1
- package/server/node_modules/msgpackr/dist/index.js +34 -28
- package/server/node_modules/msgpackr/dist/index.js.map +1 -1
- package/server/node_modules/msgpackr/dist/index.min.js +1 -1
- package/server/node_modules/msgpackr/dist/index.min.js.map +1 -1
- package/server/node_modules/msgpackr/dist/node.cjs +36 -29
- package/server/node_modules/msgpackr/dist/node.cjs.map +1 -1
- package/server/node_modules/msgpackr/dist/test.js +63 -32
- package/server/node_modules/msgpackr/dist/test.js.map +1 -1
- package/server/node_modules/msgpackr/dist/unpack-no-eval.cjs +34 -28
- package/server/node_modules/msgpackr/dist/unpack-no-eval.cjs.map +1 -1
- package/server/node_modules/msgpackr/package.json +1 -1
- package/server/node_modules/msgpackr/unpack.js +34 -28
- package/server/{orphan-proposed-reconciler-DcgTPPFY.js → orphan-proposed-reconciler-CEW1maPl.js} +1 -1
- package/server/{orphan-proposed-reconciler-B6vJHxtX.js → orphan-proposed-reconciler-DfqHZftT.js} +23 -22
- package/server/package-lock.json +8 -8
- package/server/package.json +1 -1
- package/server/{pan-dir-DMzF5wne.js → pan-dir-DhgKfO86.js} +21 -6
- package/server/{paths-sJBSb7Ul.js → paths-BUuhi6jM.js} +17 -17
- package/server/{pending-lifecycle-claim-DilzGfgk.js → pending-lifecycle-claim-DJlA1rTR.js} +2 -2
- package/server/{persistent-logger-H_VjuOu7.js → persistent-logger-s8cbpFNV.js} +2 -2
- package/server/{pickup-DWhqzliO.js → pickup-2AxtB3dW.js} +1 -1
- package/server/{pipeline-membership-C88VBnhJ.js → pipeline-membership-2_okL5bm.js} +1 -1
- package/server/{pipeline-membership-D9SBvItj.js → pipeline-membership-Dqv6_0ig.js} +1 -1
- package/server/{pipeline-membership-gather-4eR-7Tqy.js → pipeline-membership-gather-4F1-tXKI.js} +1 -1
- package/server/{pipeline-membership-gather-CeVGnNJ2.js → pipeline-membership-gather-CtJ_7aGf.js} +149 -17
- package/server/{pipeline-notifier-DT6xLFao.js → pipeline-notifier-CO9rxJgB.js} +1 -1
- package/server/{pipeline-notifier-D0ALV6Nw.js → pipeline-notifier-DDfVBJhJ.js} +2 -2
- package/server/{post-merge-lifecycle-worker-8HIeS_J6.js → post-merge-lifecycle-worker-DmSOkeNp.js} +3 -3
- package/server/{project-pipelines-9SKt2bEc.js → project-pipelines-72WE8GVK.js} +2 -2
- package/server/{project-repos-B5pIphKg.js → project-repos-BAqDwtvi.js} +16 -11
- package/server/project-repos-Df90Zw7Y.js +3 -0
- package/server/projects-WqMWCdpa.js +3 -0
- package/server/{prompts-CgzMBvQF.js → prompts-XkL10m8M.js} +2 -2
- package/server/{providers-BJQSnAAp.js → providers-ClGPGkQ8.js} +15 -12
- package/server/providers-DFUOed8u.js +3 -0
- package/server/public/assets/{chunk-BO2N2NFS-D_pGACYN.js → chunk-BO2N2NFS-CeQUdPxr.js} +4 -4
- package/server/public/assets/{diagram-OG6HWLK6-BO6fe3hH.js → diagram-OG6HWLK6-B7rgk4yT.js} +1 -1
- package/server/public/assets/{dist-5zingMiA.js → dist-2RPazfXY.js} +3 -3
- package/server/public/assets/{dist-CVxhbI2E.js → dist-B9NInrVZ.js} +1 -1
- package/server/public/assets/{ganttDiagram-6RSMTGT7-Bgj4A7kp.js → ganttDiagram-6RSMTGT7-Bxp0gV14.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-DNPK7_cm.js → highlighted-body-OFNGDK62-CzoRTVlC.js} +1 -1
- package/server/public/assets/index-Cml-kHo6.css +1 -0
- package/server/public/assets/{index-DEpY-D1O.js → index-CvN8cEgs.js} +216 -215
- package/server/public/assets/{linear-BB0jQT16.js → linear-CFEEl3ND.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-CpV7nCBM.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-DeGIzzpZ.js → pieDiagram-4H26LBE5-BeR8R0cr.js} +1 -1
- package/server/public/assets/{prod-XBLvikex.js → prod-CYjzjCrn.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-BV9SLeWz.js → quadrantDiagram-W4KKPZXB-BpcTkFuW.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-Dwja0gj8.js → sankeyDiagram-5OEKKPKP-Bx2ETEV5.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-DCB4qvfw.js → xychartDiagram-2RQKCTM6-BKgEAFaj.js} +1 -1
- package/server/public/index.html +2 -2
- package/server/{pull-requests-7BgLDsIo.js → pull-requests-B-KrUph5.js} +3 -3
- package/server/{pull-requests-Dq0y6IxE.js → pull-requests-DK5k92B4.js} +1 -1
- package/server/{queries-C-MUZaIy.js → queries-DVpl1vsU.js} +1212 -193
- package/server/{rally-CPysR4T_.js → rally-DbE561hD.js} +3 -3
- package/server/rally-O_st_X7n.js +3 -0
- package/server/{rally-api-8Ptlp2os.js → rally-api-CZLeEd2C.js} +2 -2
- package/server/{rally-api-CgosKdKL.js → rally-api-DaHtn5QN.js} +1 -1
- package/server/{rally-client-CCX0hADj.js → rally-client-C-MAl8ur.js} +1 -1
- package/server/{rally-client-iYMHWQD7.js → rally-client-Ch3zRsBX.js} +5 -5
- package/server/{reap-terminal-sessions-Qf-9LVQc.js → reap-terminal-sessions-C1n0ALRb.js} +2 -2
- package/server/{reap-terminal-sessions-4Xg9NGA8.js → reap-terminal-sessions-DegFS2p1.js} +2 -2
- package/server/{rebuild-stack-CMdgaylx.js → rebuild-stack-C9Li44A3.js} +20 -10
- package/server/{rebuild-stack-DqcOVmJO.js → rebuild-stack-qC0jCNm6.js} +2 -2
- package/server/{reconstruct-cache-CMZJ_Vjq.js → reconstruct-cache-BHyiAg02.js} +7 -7
- package/server/record-aVzu-LGm.js +3 -0
- package/server/record-update-CZh46a2f.js +617 -0
- package/server/{record-update-DhI7eySG.js → record-update-DtdJK2Iw.js} +1 -1
- package/server/recovery-trip-CSNWSLDn.js +77 -0
- package/server/recovery-trip-_16hFKv4.js +3 -0
- package/server/{release-engine-B2X9AfFC.js → release-engine-Be5MX5GP.js} +5 -5
- package/server/{release-set-G4XKyQ8K.js → release-set-DJv_O6PS.js} +3 -3
- package/server/{remote-BXarMvqf.js → remote-BMM3uH2J.js} +3 -3
- package/server/{remote-CUhyqjXk.js → remote-C0xVTHA5.js} +3 -3
- package/server/{remote-agents-CLZB3Coc.js → remote-agents-BIIoc5pD.js} +1 -1
- package/server/{remote-agents-Bba-MgSA.js → remote-agents-EUiZ26bj.js} +7 -7
- package/server/{remote-completion-CwAp79EC.js → remote-completion-BS4tJUn8.js} +13 -13
- package/server/resolver-BvHd6RE4.js +163 -0
- package/server/resume-9thEqAQR.js +3 -0
- package/server/{review-agent--pOptAEV.js → review-agent-BHGaBoBu.js} +29 -29
- package/server/{review-agent-BTCNkq2h.js → review-agent-CD3RQ-tc.js} +1 -1
- package/server/{review-artifacts-BNmw8dWE.js → review-artifacts-DyhajWso.js} +6 -6
- package/server/{review-context-DFxYOOJW.js → review-context-B-dlsPnx.js} +9 -9
- package/server/{review-convoy-liveness-BgU_1jJf.js → review-convoy-liveness-D7M-s_nS.js} +2 -2
- package/server/{review-status-Dma9SFaN.js → review-status-B6wYcOtP.js} +1 -1
- package/server/{review-status-CGvlA4o_.js → review-status-CKLk5aZ-.js} +308 -58
- package/server/{review-status-emit-DURrmGYX.js → review-status-emit-CJ7UmEVU.js} +3 -3
- package/server/{review-status-enrichment-8NiNXi5W.js → review-status-enrichment-DJRgGX7-.js} +3 -3
- package/server/review-status-limits-4EJDCGHO.js +7 -0
- package/server/{review-status-source-DIk1JSow.js → review-status-source-7nU3Z2wL.js} +1 -1
- package/server/{review-status-source-BLx_1siH.js → review-status-source-BsDYGfyv.js} +1 -1
- package/server/{review-status-sync-muT-EBp2.js → review-status-sync-BLssMTEW.js} +1 -1
- package/server/{review-status-sync-0GxOqeqF.js → review-status-sync-BxBeHRde.js} +35 -11
- package/server/{review-verdict-feedback-xJNdqBnX.js → review-verdict-feedback-5jWuzgpc.js} +90 -16
- package/server/{review-verdict-feedback-HwF6ODFy.js → review-verdict-feedback-HRY9P4bN.js} +1 -1
- package/server/{rollup-BQaol5TX.js → rollup-BGIrCEkU.js} +79 -44
- package/server/rollup-CZB4UL9q.js +3 -0
- package/server/{scanner-C-D2cFdX.js → scanner-DydjXPrz.js} +16 -9
- package/server/search-DdtIjAiu.js +395 -0
- package/server/{sequence-io-Bmf1EZM5.js → sequence-io-Fw-cLyDs.js} +4 -4
- package/server/{sequencer-agent-CigMyKh2.js → sequencer-agent-BcpGMt5x.js} +15 -10
- package/server/server.js +1258 -438
- package/server/{service-CD0DvFvD.js → service-BFFkGsG4.js} +58 -58
- package/server/{session-fork-B6cQ5eya.js → session-fork-D0V-3e5P.js} +2 -2
- package/server/{session-history-3ON_IJjm.js → session-history-Bta5l9jY.js} +5 -5
- package/server/{settings-PilbFZAM.js → settings-Ce8B1daF.js} +2 -2
- package/server/{settings-VN0qOh4U.js → settings-E3FnEIUx.js} +3 -3
- package/server/settings-eOOJpxi_.js +2 -0
- package/server/{shadow-engineering-DXvx77oE.js → shadow-engineering-Mt9nJO4i.js} +3 -3
- package/server/{shadow-state-CZBp7pwq.js → shadow-state-Bzj_AZCV.js} +1 -1
- package/server/{shadow-state-BBk_zacw.js → shadow-state-DrkhoVSx.js} +2 -2
- package/server/{shadow-utils-DdZ05AJS.js → shadow-utils-H1GfqP06.js} +2 -2
- package/server/{ship-log-7kJfjUX2.js → ship-log-CFUIo4PR.js} +1 -1
- package/server/{smart-compaction-8fA5k5XN.js → smart-compaction-DSTq-Wua.js} +1 -1
- package/server/{smart-compaction-ByhL9cRS.js → smart-compaction-Hzp3KCJX.js} +7 -7
- package/server/{spawn-planning-session-vLUJoFjy.js → spawn-planning-session-C0uSA2SL.js} +2 -2
- package/server/{spawn-planning-session-pcF-YeFE.js → spawn-planning-session-DN4son31.js} +23 -21
- package/server/{specialist-completion-B07XjWD2.js → specialist-completion-Cf6tpIh1.js} +1 -1
- package/server/{specialist-context-DJ-zFyL3.js → specialist-context-DEUEkjIQ.js} +5 -5
- package/server/{specialist-handoff-logger-aKSxbIgD.js → specialist-handoff-logger-D_LmQDj3.js} +2 -2
- package/server/{specialist-logs-Dae-n52_.js → specialist-logs-7Ynue0R7.js} +3 -3
- package/server/{specialists-KR3pKulN.js → specialists-CQwBEGlD.js} +1 -1
- package/server/{specialists-6PWdtWcg.js → specialists-DAjPgYs_.js} +504 -238
- package/server/{specialists-DUiExaxb.js → specialists-Hr6iW9fU.js} +18 -18
- package/server/{specialists-Bz-wFT7R.js → specialists-MOoeB4A8.js} +1 -1
- package/server/specs-Dl88cbKY.js +3 -0
- package/server/{src-B948bGVR.js → src-BYdwL_n-.js} +668 -64
- package/server/{src-vHy2-oCv.js → src-DQnkPN2i.js} +3 -3
- package/server/{src-rac0Mepv.js → src-DhfDV0o4.js} +6 -6
- package/server/{stack-health-DqLTiEu4.js → stack-health-D_iKwNRg.js} +107 -16
- package/server/stack-health-deVSdDwn.js +3 -0
- package/server/{stale-task-claims-Cab_Fo_Z.js → stale-task-claims-BYJGqhLI.js} +5 -5
- package/server/{staleness-CGTZyp6V.js → staleness-CopBDKnA.js} +1 -1
- package/server/{staleness-C-a5rBxF.js → staleness-D8WeMUHd.js} +1 -1
- package/server/{state-home-722Dkx92.js → state-home-DjN8qduI.js} +24 -3
- package/server/{state-mapping-CybR81Uf.js → state-mapping-DlM7OYRW.js} +1 -1
- package/server/{state-migrate-2u8wIpoL.js → state-migrate-a2p1gtD7.js} +4 -4
- package/server/state-mirror-Cv_XgvT5.js +121 -0
- package/server/{stuck-remediation-r1TJu68G.js → stuck-remediation-CXJX_kki.js} +1 -1
- package/server/{stuck-remediation-CC6q3eqQ.js → stuck-remediation-CbCRSz1v.js} +31 -732
- package/server/{substrate-bug-weights-service-CzIyyWFT.js → substrate-bug-weights-service-DxpopNd9.js} +3 -3
- package/server/{summary-fork-BqgmgPDt.js → summary-fork-B61fjRJn.js} +2 -2
- package/server/{summary-fork-Df2WFijM.js → summary-fork-B9pszUJN.js} +91 -10
- package/server/supervisor/{injection-budget-Cg_KIb3o.js → injection-budget-Ar7hgyJq.js} +1 -1
- package/server/supervisor/pty-supervisor.js +12 -3
- package/server/supervisor/{pty-token-BbjwEUUM.js → pty-token-CXCFU0Z8.js} +1 -1
- package/server/{supervisor-BxqSpjcN.js → supervisor-BvnxbuuF.js} +6 -4
- package/server/supervisor-C69kpqvd.js +2 -0
- package/server/{swarm-readiness-DfFxa9-n.js → swarm-readiness-vTw1kqGa.js} +3 -3
- package/server/{system-prerequisites-ICLSkhhZ.js → system-prerequisites-LLzTEqsK.js} +3 -3
- package/server/{teardown-workspace-DRdi_CPa.js → teardown-workspace-CqKKVJr1.js} +15 -15
- package/server/{test-agent-queue-A_-p-i0I.js → test-agent-queue-CWMq7oyG.js} +8 -7
- package/server/{test-verdict-BHgTAwIG.js → test-verdict-NdtgRBuA.js} +1 -1
- package/server/{test-verdict-C4i9aqEP.js → test-verdict-diIWE6hz.js} +15 -3
- package/server/{tldr-daemon-CvWXBhX1.js → tldr-daemon-B1Jhrtc8.js} +1 -1
- package/server/{tldr-daemon-wvsU6bKv.js → tldr-daemon-Bpls1CJB.js} +2 -2
- package/server/{tmux-CfDHob9M.js → tmux-CImZaX4q.js} +10 -16
- package/server/tmux-Cjpx8L8u.js +4 -0
- package/server/{token-DrxwytsZ.js → token-Bgpjo3tE.js} +2 -2
- package/server/token-util-BsjFll-k.js +3 -0
- package/server/{token-util-B48BlCba.js → token-util-BymbpkJp.js} +1 -1
- package/server/{tracker-config-BcPMElRB.js → tracker-config-4DaKVTfc.js} +2 -2
- package/server/{tracker-utils-CJ6BHjcD.js → tracker-utils-BDeAXC-q.js} +2 -2
- package/server/{traefik-connect-DZ6nMYMj.js → traefik-connect-CC5FyxYj.js} +1 -1
- package/server/{tunnel-Bp-dRHZz.js → tunnel-CDWkeceJ.js} +1 -1
- package/server/{tunnel-DUbUPElU.js → tunnel-CPf5M-Pc.js} +3 -3
- package/server/{typed-errors-DyjseiB6.js → typed-errors-9K7Dq_Vn.js} +1 -1
- package/server/{typed-errors-CKeoDdU3.js → typed-errors-DrS5fb5z.js} +1 -1
- package/server/{types-Cm5ASJbq.js → types-DzlUKiuf.js} +4 -3
- package/server/{types-Di8wdakq.js → types-kI9ik8XO.js} +1 -1
- package/server/{uat-promote-verification-CoJuh7XO.js → uat-promote-verification-c_pxoxEc.js} +5 -5
- package/server/{uat-train-4Q0k06CQ.js → uat-train-CWGxBdJO.js} +0 -0
- package/server/{uat-train-Dewoatps.js → uat-train-CfCYd2ve.js} +1 -1
- package/server/{validate-B0C8p66t.js → validate-f3ItVCfm.js} +3 -3
- package/server/{validation-hVOwQk8T.js → validation-5G_wQtea.js} +1 -1
- package/server/{validation-B_kIRfNe.js → validation-7tSiCM82.js} +4 -4
- package/server/{verification-artifact-BxlxTiYK.js → verification-artifact-9h9dH8uX.js} +1 -1
- package/server/{verification-artifact-D70AtckY.js → verification-artifact-C_4WJnf6.js} +1 -1
- package/server/{verification-runner-Bc3cJvpC.js → verification-runner-BV5F6wrA.js} +1 -1
- package/server/{verification-runner-KZTz6u72.js → verification-runner-D58KmBhK.js} +18 -38
- package/server/{vtt-parser-CE_i3Bcw.js → vtt-parser-2iT9OHa9.js} +1 -1
- package/server/{work-agent-prompt-ByrPAzOy.js → work-agent-prompt-D03s4DD1.js} +9 -9
- package/server/{workflows-D0vP1WrK.js → workflows-BMBwLYPV.js} +281 -98
- package/server/workflows-BOmWGpIh.js +2 -0
- package/server/{workspace-DQkRPLlQ.js → workspace-BgflNCH0.js} +3 -3
- package/server/{workspace-COWvdibH.js → workspace-Cn9ywfSW.js} +1 -1
- package/server/{workspace-anchor-drift-pwz23TI1.js → workspace-anchor-drift-C8Fy3shi.js} +1 -1
- package/server/{workspace-anchor-drift-DXYIAHzr.js → workspace-anchor-drift-CMiNncwq.js} +5 -8
- package/server/{workspace-config-BdZM4PvZ.js → workspace-config-aUc2nIz6.js} +1 -1
- package/server/{workspace-manager-BPgTrG66.js → workspace-manager-Bem7ZBs9.js} +521 -292
- package/server/workspace-manager-C0CpNh3t.js +3 -0
- package/server/{workspace-metadata-CdjzAP8x.js → workspace-metadata-C5iSlPRo.js} +1 -1
- package/server/{workspace-metadata-DkO_iTLo.js → workspace-metadata-UKmTYmDQ.js} +2 -2
- package/server/{workspaces-CRBJikLp.js → workspaces-DqxgwDZ8.js} +143 -113
- package/sync-sources/hooks/notification-hook +12 -1
- package/sync-sources/hooks/pan-hook-lib.sh +226 -0
- package/sync-sources/hooks/session-start-hook +31 -4
- package/sync-sources/hooks/work-agent-stop-hook +23 -1
- package/sync-sources/skills/pan-memory/SKILL.md +19 -3
- package/sync-sources/skills/pan-projects/SKILL.md +9 -0
- package/sync-sources/skills/pan-restart/SKILL.md +26 -7
- package/sync-sources/skills/pan-workspace/SKILL.md +77 -0
- package/server/activity-logger-CMthG6Vd.js +0 -3
- package/server/agent-state-CYXJVG72.js +0 -3
- package/server/agents-ePFVoZbu.js +0 -3
- package/server/archive-planning-B2XplFzT.js +0 -2
- package/server/cli-CjOCSnfj.js +0 -3
- package/server/deacon-swarm-B1XkIvfr.js +0 -2
- package/server/delivery-BX9HR4wQ.js +0 -3
- package/server/dist-B3YPQa5A.js +0 -3
- package/server/event-store-5UKzh9Jf.js +0 -3
- package/server/forge-B5o319qI.js +0 -3
- package/server/fts-db-IVc4_M3f.js +0 -146
- package/server/hume-VUCNbTgn.js +0 -3
- package/server/inspect-agent-CUwVmr2h.js +0 -2
- package/server/merge-ops-1abz6O_P.js +0 -2
- package/server/merge-rebase-CJJVAJuz.js +0 -2
- package/server/node_modules/brace-expansion/.tap/coverage/8b906b8c-e21f-40b5-8c0d-214d8c2682c5.json +0 -757
- package/server/node_modules/brace-expansion/.tap/processinfo/8b906b8c-e21f-40b5-8c0d-214d8c2682c5.json +0 -719
- package/server/node_modules/brace-expansion/ADVISORY-CVE-2026-14257.md +0 -107
- package/server/node_modules/brace-expansion/dist/commonjs/index.d.ts +0 -8
- package/server/node_modules/brace-expansion/dist/commonjs/index.d.ts.map +0 -1
- package/server/node_modules/brace-expansion/dist/commonjs/index.js +0 -263
- package/server/node_modules/brace-expansion/dist/commonjs/index.js.map +0 -1
- package/server/node_modules/brace-expansion/dist/commonjs/package.json +0 -3
- package/server/node_modules/brace-expansion/dist/esm/index.d.ts +0 -8
- package/server/node_modules/brace-expansion/dist/esm/index.d.ts.map +0 -1
- package/server/node_modules/brace-expansion/dist/esm/index.js +0 -259
- package/server/node_modules/brace-expansion/dist/esm/index.js.map +0 -1
- package/server/node_modules/brace-expansion/dist/esm/package.json +0 -3
- package/server/project-repos-DPjOdfPa.js +0 -3
- package/server/projects-_n3Zui6K.js +0 -3
- package/server/providers-BI1mOBQ4.js +0 -3
- package/server/public/assets/index-Ddkcz3WT.css +0 -1
- package/server/public/assets/mermaid-GHXKKRXX-BzPfaQJ1.js +0 -1
- package/server/rally-D_VW4bJv.js +0 -3
- package/server/record-BTwWhtBb.js +0 -3
- package/server/record-update-DaOKS7Wb.js +0 -277
- package/server/recovery-trip-DDH-02ng.js +0 -44
- package/server/resume-mOREjlYu.js +0 -3
- package/server/rollup-BR4t_wck.js +0 -3
- package/server/settings-CVmWiJ-r.js +0 -2
- package/server/specs--enInima.js +0 -3
- package/server/stack-health-BikqHSjn.js +0 -3
- package/server/supervisor-B4anCCSm.js +0 -2
- package/server/tmux-Ctk6RV5l.js +0 -3
- package/server/token-util-D411CAq9.js +0 -3
- package/server/workflows-DtDX08ed.js +0 -2
- package/server/workspace-manager-C1F3XsnS.js +0 -3
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { _ as
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import { a as
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import { a as criticalPath, l as init_dag, t as actionableDoc } from "./dag-
|
|
25
|
-
import { E as verifyAppCanMerge, M as withConcurrencyLimit, f as init_github_app, j as init_concurrency, m as isIntegrationPermissionError } from "./github-app-
|
|
26
|
-
import { a as readEventsFromLineSync, i as init_events, l as init_wal, o as readEventsSync, r as getLastEventMetadataSync, t as appendCostEventSync } from "./events-
|
|
27
|
-
import { n as getContainersReferencingWorkspacePath, r as init_workspace_manager } from "./workspace-manager-
|
|
28
|
-
import { r as init_devcontainer_renderer, t as DEVCONTAINER_DIRNAME } from "./devcontainer-renderer-
|
|
29
|
-
import { a as init_jsonl_parser, t as getActiveSessionModelSync } from "./jsonl-parser-
|
|
30
|
-
import { i as findWorkspacePath } from "./archive-planning-
|
|
31
|
-
import { n as init_merge_verification, t as handlePostRebaseVerificationDeferral } from "./merge-verification-
|
|
32
|
-
import { i as init_conflict_gate, r as getCachedConflictGateMergeability } from "./conflict-gate-
|
|
33
|
-
import { r as init_in_flight_guard, t as createInFlightGuard } from "./in-flight-guard-
|
|
34
|
-
import { a as loadWorkspaceMetadataSync, i as listWorkspaceMetadataSync } from "./workspace-metadata-
|
|
35
|
-
import { n as enrichReviewStatusFromSessions } from "./review-status-enrichment-
|
|
36
|
-
import { n as generateDailySummary, r as init_cli } from "./cli-
|
|
37
|
-
import { a as getDiffStat, i as getDiffBase, o as init_review_context, r as getChangedFiles } from "./review-context-
|
|
38
|
-
import { n as getTldrDaemonServiceSync, r as init_tldr_daemon } from "./tldr-daemon-
|
|
39
|
-
import { C as init_operations, S as gitPush, T as listGitOperationsSync, a as init_merge_agent, w as init_git_activity, x as MainDivergedError, y as syncMainIntoWorkspace } from "./merge-agent-
|
|
40
|
-
import { F as enqueueMerge, I as getAllActiveQueues$1, L as getCurrentMerge, P as dequeueMerge, z as markMergeProcessing } from "./merge-
|
|
41
|
-
import { t as rebaseFeatureBranch } from "./merge-rebase-
|
|
42
|
-
import { n as init_release_set, t as getReleaseSetSync } from "./release-set-
|
|
43
|
-
import { r as runVerificationForIssue } from "./verification-runner-
|
|
44
|
-
import { n as init_durable_review_pipeline, r as registerDurableReviewPipelineHandler } from "./durable-review-pipeline-
|
|
45
|
-
import { t as teardownWorkspace } from "./teardown-workspace-
|
|
46
|
-
import { t as init_rebuild_stack } from "./rebuild-stack-
|
|
1
|
+
import { Ar as FsError, Fn as parseIssueIdSync, Ln as resolveIssueIdSync, Mn as extractPrefixSync, Nn as init_issue_id, Sn as resolveProjectFromIssueSync, Vr as init_errors, Zt as findProjectByTeamSync, cn as init_projects, dr as resolveModel, fn as listProjectsSync, hi as init_paths, jn as extractNumberSync, jr as GitError, jt as isOverdeckOwnedOnlyStatus, kt as init_state_plane, mi as getOverdeckHome, nn as getProjectSync, qt as extractTeamPrefix, si as encodeClaudeProjectDir, t as init_config_yaml } from "./config-yaml-BSCqwmX0.js";
|
|
2
|
+
import { Dt as getHeaderFromMap, Nt as jsonResponse, St as rejectUnauthorizedDashboardRequest, at as resolveRequestedStartedBy, ct as getWorkAgentLifecycleStateSync, it as isInternalAgentRequest, jt as httpHandler, n as _serverManagedMerges, ut as spawnPanCli, wt as rejectUnsafeDashboardMutationRequest } from "./specialists-DAjPgYs_.js";
|
|
3
|
+
import { f as init_config, m as loadConfigSync$1 } from "./config-DnLJATZk.js";
|
|
4
|
+
import { a as emitActivityEntrySync, c as init_activity_logger } from "./activity-logger-Co5qljIj.js";
|
|
5
|
+
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-CTrmVqc_.js";
|
|
6
|
+
import { C as init_tmux, V as sessionExists, at as init_child_env, it as buildChildEnvWithoutTmuxSync, j as listSessionNames, r as capturePane } from "./tmux-CImZaX4q.js";
|
|
7
|
+
import { a as init_event_store, n as getEventStore } from "./event-store-D_AR-Y78.js";
|
|
8
|
+
import { C as setReviewStatusSync, _ as markWorkspaceStuck, b as setAutoMerge, d as getReviewStatusSync, h as loadReviewStatuses, p as init_review_status, r as clearFeedbackDeliveryStuck, x as setDeaconIgnored } from "./review-status-CKLk5aZ-.js";
|
|
9
|
+
import { _ as findPositionInQueueSync, a as EventStoreService, g as computeQueuePositionFromStatusSync, s as init_domain_services, v as init_queue_position } from "./issue-lifecycle-BXUqaHzF.js";
|
|
10
|
+
import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-CpFDrJUS.js";
|
|
11
|
+
import { Pr as saveAgentStateSync, Tt as spawnAgent, _r as getAgentResumeGateBlockReason, b as init_agents, br as getAgentStateSync, ft as messageAgent, hr as decideResumeGate, i as listRunningAgents, mr as clearYieldForResumeSync, pn as transitionIssueToInReview, ri as saveAgentRuntimeState, ti as getAgentRuntimeStateSync, vr as getAgentState, xr as init_agent_state } from "./queries-DVpl1vsU.js";
|
|
12
|
+
import { f as CostWriter, l as CostDoorLive } from "./service-BFFkGsG4.js";
|
|
13
|
+
import { a as init_tracker_config, t as getGitHubConfig } from "./tracker-config-4DaKVTfc.js";
|
|
14
|
+
import { n as resolveGitHubIssueSync, t as init_tracker_utils } from "./tracker-utils-BDeAXC-q.js";
|
|
15
|
+
import { o as getInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-AvXePaQT.js";
|
|
16
|
+
import { r as notifyPipelineSync, t as init_pipeline_notifier } from "./pipeline-notifier-DDfVBJhJ.js";
|
|
17
|
+
import { a as PAN_DIRNAME, i as PAN_CONTINUE_FILENAME, m as init_types } from "./types-DzlUKiuf.js";
|
|
18
|
+
import { a as getAllActiveQueues, c as init_merge_sync } from "./merge-sync-BEdfsQV4.js";
|
|
19
|
+
import { i as init_project_repos, u as resolveWorkspaceRepoRootsSync } from "./project-repos-BAqDwtvi.js";
|
|
20
|
+
import { A as init_xbrief_index, M as readXBriefDocument, _ as serializeXBriefDocument, c as isPlanningComplete, d as readPlan, k as findXBriefByIssue, l as mergeRecordStatusOverrides, r as findPlan, s as init_io, v as XBRIEF_INSPECTION_POLICIES, y as init_types$1 } from "./io-mxOWMZ7I.js";
|
|
21
|
+
import { it as findConversationForCostSessionSync, k as init_conversations } from "./conversations-B4rxz-Wl.js";
|
|
22
|
+
import { D as normalizeModelOverrideSync, E as init_model_validation } from "./auto-spawn-consent-lXqRJ1Dr.js";
|
|
23
|
+
import { c as init_stack_health, n as collectDockerContainerLifecycleSnapshot, o as getWorkspaceStackHealth, r as composeProjectNameForWorkspace } from "./stack-health-D_iKwNRg.js";
|
|
24
|
+
import { a as criticalPath, l as init_dag, t as actionableDoc } from "./dag-BYiFMqpU.js";
|
|
25
|
+
import { E as verifyAppCanMerge, M as withConcurrencyLimit, f as init_github_app, j as init_concurrency, m as isIntegrationPermissionError } from "./github-app-D2QuvZ3j.js";
|
|
26
|
+
import { a as readEventsFromLineSync, i as init_events, l as init_wal, o as readEventsSync, r as getLastEventMetadataSync, t as appendCostEventSync } from "./events-zjDQozet.js";
|
|
27
|
+
import { n as getContainersReferencingWorkspacePath, r as init_workspace_manager } from "./workspace-manager-Bem7ZBs9.js";
|
|
28
|
+
import { r as init_devcontainer_renderer, t as DEVCONTAINER_DIRNAME } from "./devcontainer-renderer-B-o68Z5B.js";
|
|
29
|
+
import { a as init_jsonl_parser, t as getActiveSessionModelSync } from "./jsonl-parser-CgYWQ20q.js";
|
|
30
|
+
import { i as findWorkspacePath } from "./archive-planning-Cq7cyinS.js";
|
|
31
|
+
import { n as init_merge_verification, t as handlePostRebaseVerificationDeferral } from "./merge-verification-DN1Ov9bU.js";
|
|
32
|
+
import { i as init_conflict_gate, r as getCachedConflictGateMergeability } from "./conflict-gate-WfVqgalf.js";
|
|
33
|
+
import { r as init_in_flight_guard, t as createInFlightGuard } from "./in-flight-guard-CG2Eo-rr.js";
|
|
34
|
+
import { a as loadWorkspaceMetadataSync, i as listWorkspaceMetadataSync } from "./workspace-metadata-UKmTYmDQ.js";
|
|
35
|
+
import { n as enrichReviewStatusFromSessions } from "./review-status-enrichment-DJRgGX7-.js";
|
|
36
|
+
import { n as generateDailySummary, r as init_cli } from "./cli-C9S84iTy.js";
|
|
37
|
+
import { a as getDiffStat, i as getDiffBase, o as init_review_context, r as getChangedFiles } from "./review-context-B-dlsPnx.js";
|
|
38
|
+
import { n as getTldrDaemonServiceSync, r as init_tldr_daemon } from "./tldr-daemon-Bpls1CJB.js";
|
|
39
|
+
import { C as init_operations, S as gitPush, T as listGitOperationsSync, a as init_merge_agent, w as init_git_activity, x as MainDivergedError, y as syncMainIntoWorkspace } from "./merge-agent-DP9AUY29.js";
|
|
40
|
+
import { F as enqueueMerge, I as getAllActiveQueues$1, L as getCurrentMerge, P as dequeueMerge, z as markMergeProcessing } from "./merge-Bx5Bh9pi.js";
|
|
41
|
+
import { t as rebaseFeatureBranch } from "./merge-rebase-BX1xKsrE.js";
|
|
42
|
+
import { n as init_release_set, t as getReleaseSetSync } from "./release-set-DJv_O6PS.js";
|
|
43
|
+
import { r as runVerificationForIssue } from "./verification-runner-D58KmBhK.js";
|
|
44
|
+
import { n as init_durable_review_pipeline, r as registerDurableReviewPipelineHandler } from "./durable-review-pipeline-Chq0lzjL.js";
|
|
45
|
+
import { t as teardownWorkspace } from "./teardown-workspace-CqKKVJr1.js";
|
|
46
|
+
import { t as init_rebuild_stack } from "./rebuild-stack-C9Li44A3.js";
|
|
47
47
|
import { basename, dirname, join, resolve, sep } from "node:path";
|
|
48
48
|
import { Effect, Layer, Option, Stream } from "effect";
|
|
49
49
|
import { closeSync, existsSync, fstatSync, mkdirSync, openSync, readFileSync, readSync, readdirSync, renameSync, writeFileSync } from "fs";
|
|
@@ -102,7 +102,7 @@ async function captureInterestedAgent(state, agentId) {
|
|
|
102
102
|
try {
|
|
103
103
|
const remoteState = await readFile(join(homedir$1(), ".overdeck", "agents", agentId, "remote-state.json"), "utf-8").then((text) => JSON.parse(text)).catch(() => null);
|
|
104
104
|
if (remoteState?.location === "remote" && remoteState?.vmName) {
|
|
105
|
-
const { getRemoteAgentOutput } = await import("./remote-agents-
|
|
105
|
+
const { getRemoteAgentOutput } = await import("./remote-agents-BIIoc5pD.js");
|
|
106
106
|
stdout = await getRemoteAgentOutput(agentId, remoteState.vmName, 50);
|
|
107
107
|
} else stdout = await Effect.runPromise(capturePane(agentId, 50));
|
|
108
108
|
} catch {
|
|
@@ -936,7 +936,7 @@ const postWorkspaceContainerActionRoute = HttpRouter.add("POST", "/api/workspace
|
|
|
936
936
|
}
|
|
937
937
|
if (!workspacePath) return jsonResponse({ error: `Workspace not found for ${issueId}` }, { status: 404 });
|
|
938
938
|
if (!composeFile && ["start", "restart"].includes(action)) {
|
|
939
|
-
const { ensureDevcontainerSync } = yield* Effect.promise(() => import("./ensure-devcontainer-
|
|
939
|
+
const { ensureDevcontainerSync } = yield* Effect.promise(() => import("./ensure-devcontainer-BE3llBWP.js"));
|
|
940
940
|
if (ensureDevcontainerSync({
|
|
941
941
|
workspacePath,
|
|
942
942
|
issueId
|
|
@@ -2701,6 +2701,36 @@ const internalEventsRoute = HttpRouter.add("POST", "/api/internal/events", httpH
|
|
|
2701
2701
|
for (const event of events) yield* eventStore.append(event);
|
|
2702
2702
|
return jsonResponse({ appended: events.length });
|
|
2703
2703
|
})));
|
|
2704
|
+
/**
|
|
2705
|
+
* PAN-3092: at-most-once append for the Deacon child.
|
|
2706
|
+
*
|
|
2707
|
+
* The batching `/api/internal/events` path resolves before any HTTP request or
|
|
2708
|
+
* SQLite commit, so a caller there cannot know whether its event landed. This
|
|
2709
|
+
* route commits (or detects the duplicate) inside one transaction and answers
|
|
2710
|
+
* with the settled outcome, which is what an at-most-once operator warning
|
|
2711
|
+
* needs — the child awaits this rather than treating a local enqueue as
|
|
2712
|
+
* durability.
|
|
2713
|
+
*/
|
|
2714
|
+
const internalEventsAppendOnceRoute = HttpRouter.add("POST", "/api/internal/events/append-once", httpHandler(Effect.gen(function* () {
|
|
2715
|
+
const request = yield* HttpServerRequest.HttpServerRequest;
|
|
2716
|
+
const auth = validateInternalEventsHeaders(request.headers);
|
|
2717
|
+
if (!auth.ok) return jsonResponse({ error: auth.error }, { status: auth.status });
|
|
2718
|
+
const text = yield* request.text;
|
|
2719
|
+
let parsed = {};
|
|
2720
|
+
try {
|
|
2721
|
+
parsed = text ? JSON.parse(text) : {};
|
|
2722
|
+
} catch {
|
|
2723
|
+
return jsonResponse({ error: "invalid json" }, { status: 400 });
|
|
2724
|
+
}
|
|
2725
|
+
const body = parsed;
|
|
2726
|
+
const event = parseInternalEventsBody({ events: [body.event] })[0];
|
|
2727
|
+
if (!event || typeof body.idempotencyKey !== "string" || body.idempotencyKey.length === 0) return jsonResponse({ error: "event and idempotencyKey are required" }, { status: 400 });
|
|
2728
|
+
try {
|
|
2729
|
+
return jsonResponse(getEventStore().appendOnce(event, body.idempotencyKey));
|
|
2730
|
+
} catch (err) {
|
|
2731
|
+
return jsonResponse({ error: err instanceof Error ? err.message : "append failed" }, { status: 500 });
|
|
2732
|
+
}
|
|
2733
|
+
})));
|
|
2704
2734
|
const internalEventsLatestRoute = HttpRouter.add("GET", "/api/internal/events/latest", httpHandler(Effect.gen(function* () {
|
|
2705
2735
|
const auth = validateInternalEventsHeaders((yield* HttpServerRequest.HttpServerRequest).headers);
|
|
2706
2736
|
if (!auth.ok) return jsonResponse({ error: auth.error }, { status: auth.status });
|
|
@@ -2769,7 +2799,7 @@ const internalEventsStreamRoute = HttpRouter.add("GET", "/api/internal/events/st
|
|
|
2769
2799
|
"X-Accel-Buffering": "no"
|
|
2770
2800
|
} });
|
|
2771
2801
|
})));
|
|
2772
|
-
const internalEventsRouteLayer = Layer.mergeAll(internalEventsRoute, internalEventsLatestRoute, internalEventsStreamRoute);
|
|
2802
|
+
const internalEventsRouteLayer = Layer.mergeAll(internalEventsRoute, internalEventsAppendOnceRoute, internalEventsLatestRoute, internalEventsStreamRoute);
|
|
2773
2803
|
//#endregion
|
|
2774
2804
|
//#region routes/workspaces/merge-strike.ts
|
|
2775
2805
|
init_agents();
|
|
@@ -2790,9 +2820,9 @@ function mergeVerificationOptions(request) {
|
|
|
2790
2820
|
*/
|
|
2791
2821
|
async function recordCiGreenVerificationVerdict(issueId, workspacePath) {
|
|
2792
2822
|
try {
|
|
2793
|
-
const { snapshotWorkspaceHeadsPromise } = await import("./git-utils-
|
|
2823
|
+
const { snapshotWorkspaceHeadsPromise } = await import("./git-utils-C31x1lpE.js");
|
|
2794
2824
|
const verifiedAnchor = await snapshotWorkspaceHeadsPromise(issueId, workspacePath).catch(() => void 0);
|
|
2795
|
-
const { setReviewStatusSync } = await import("./review-status-
|
|
2825
|
+
const { setReviewStatusSync } = await import("./review-status-B6wYcOtP.js");
|
|
2796
2826
|
setReviewStatusSync(issueId, {
|
|
2797
2827
|
verificationStatus: "passed",
|
|
2798
2828
|
verificationNotes: "merge-verify: CI green on the merged tip (PAN-2487 local-gate skip)",
|
|
@@ -2811,7 +2841,7 @@ async function recordCiGreenVerificationVerdict(issueId, workspacePath) {
|
|
|
2811
2841
|
* the workspaces-route import cycle.
|
|
2812
2842
|
*/
|
|
2813
2843
|
async function prepareWorkAgentForRebase(opts) {
|
|
2814
|
-
const { appendShipLog } = await import("./ship-log-
|
|
2844
|
+
const { appendShipLog } = await import("./ship-log-CFUIo4PR.js");
|
|
2815
2845
|
opts.setStatus({
|
|
2816
2846
|
mergeStep: "preparing-work-agent",
|
|
2817
2847
|
mergeNotes: `Preparing work agent ${opts.agentId} to rebase ${opts.scopeNote}…`
|
|
@@ -3133,7 +3163,7 @@ init_tmux();
|
|
|
3133
3163
|
init_domain_services();
|
|
3134
3164
|
const execAsync$5 = promisify(exec);
|
|
3135
3165
|
const execFileAsync$4 = promisify(execFile);
|
|
3136
|
-
const shouldBlockApproveForDirtyStatus = (status) => status.trim() !== "" && !
|
|
3166
|
+
const shouldBlockApproveForDirtyStatus = (status) => status.trim() !== "" && !isOverdeckOwnedOnlyStatus(status);
|
|
3137
3167
|
/**
|
|
3138
3168
|
* Check whether origin/branchName already contains origin/targetBranch.
|
|
3139
3169
|
* If true, no rebase is needed — the branch is already up to date with target.
|
|
@@ -3196,7 +3226,7 @@ async function reconcileGitHubMergeStatus(issueId, status) {
|
|
|
3196
3226
|
const prRef = parseGitHubPullRequestUrl(status.prUrl);
|
|
3197
3227
|
if (!prRef) return false;
|
|
3198
3228
|
try {
|
|
3199
|
-
const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-
|
|
3229
|
+
const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-CpQSDlv8.js");
|
|
3200
3230
|
if (!isGitHubAppConfigured()) return false;
|
|
3201
3231
|
const prState = await Effect.runPromise(getPullRequestState(prRef.owner, prRef.repo, prRef.number));
|
|
3202
3232
|
console.log(`[merge] reconcileGitHubMergeStatus: ${issueId} PR #${prRef.number} merged=${prState.merged} state=${prState.state}`);
|
|
@@ -3466,8 +3496,8 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3466
3496
|
try {
|
|
3467
3497
|
if (request.kind === "normal" && workspaceInfo.isRemote && workspaceInfo.vmName) {
|
|
3468
3498
|
console.log(`[merge] Remote workspace detected for ${issueId}, using review artifact merge...`);
|
|
3469
|
-
const { getMergeSetSync, ensureMergeSetForIssueSync } = await import("./merge-set-
|
|
3470
|
-
const { getForgeAdapter } = await import("./forge-
|
|
3499
|
+
const { getMergeSetSync, ensureMergeSetForIssueSync } = await import("./merge-set-H6epHOsw.js");
|
|
3500
|
+
const { getForgeAdapter } = await import("./forge-CdlCG9aS.js");
|
|
3471
3501
|
const remotePrimaryRepo = (getMergeSetSync(issueId) || ensureMergeSetForIssueSync(issueId))?.repos[0];
|
|
3472
3502
|
const remoteTargetBranch = remotePrimaryRepo?.targetBranch || "main";
|
|
3473
3503
|
const remoteForge = remotePrimaryRepo?.forge || "github";
|
|
@@ -3503,7 +3533,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3503
3533
|
...mergeCompletionStatus(request)
|
|
3504
3534
|
});
|
|
3505
3535
|
completePendingOperation(issueId, null);
|
|
3506
|
-
const { postMergeLifecycle } = await import("./merge-agent-
|
|
3536
|
+
const { postMergeLifecycle } = await import("./merge-agent-DWd0KfiS.js");
|
|
3507
3537
|
await postMergeLifecycle(issueId, projectPath);
|
|
3508
3538
|
return {
|
|
3509
3539
|
success: true,
|
|
@@ -3548,11 +3578,11 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3548
3578
|
}
|
|
3549
3579
|
if (isPolyrepo && projectConfig?.workspace?.repos) {
|
|
3550
3580
|
console.log(`[merge] Polyrepo detected for ${issueId}, coordinating merge set...`);
|
|
3551
|
-
const { getMergeSetSync, ensureMergeSetForIssueSync, upsertMergeSetSync, withRepoStateSync } = await import("./merge-set-
|
|
3552
|
-
const { runQualityGates } = await import("./validation-
|
|
3553
|
-
const { reconcileStrandedRepos } = await import("./merge-completeness-
|
|
3554
|
-
const { getForgeAdapter } = await import("./forge-
|
|
3555
|
-
const { messageAgent } = await import("./agents-
|
|
3581
|
+
const { getMergeSetSync, ensureMergeSetForIssueSync, upsertMergeSetSync, withRepoStateSync } = await import("./merge-set-H6epHOsw.js");
|
|
3582
|
+
const { runQualityGates } = await import("./validation-5G_wQtea.js");
|
|
3583
|
+
const { reconcileStrandedRepos } = await import("./merge-completeness-BfRwFjRx.js");
|
|
3584
|
+
const { getForgeAdapter } = await import("./forge-CdlCG9aS.js");
|
|
3585
|
+
const { messageAgent } = await import("./agents-IPSa5kzn.js");
|
|
3556
3586
|
let mergeSet = getMergeSetSync(issueId) || ensureMergeSetForIssueSync(issueId);
|
|
3557
3587
|
if (!mergeSet) {
|
|
3558
3588
|
const error = `No merge set found for ${issueId}`;
|
|
@@ -3610,7 +3640,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3610
3640
|
...mergeCompletionStatus(request)
|
|
3611
3641
|
});
|
|
3612
3642
|
completePendingOperation(issueId, null);
|
|
3613
|
-
const { postMergeLifecycle } = await import("./merge-agent-
|
|
3643
|
+
const { postMergeLifecycle } = await import("./merge-agent-DWd0KfiS.js");
|
|
3614
3644
|
advanceQueue();
|
|
3615
3645
|
await postMergeLifecycle(issueId, projectPath);
|
|
3616
3646
|
return {
|
|
@@ -3864,7 +3894,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3864
3894
|
...mergeCompletionStatus(request)
|
|
3865
3895
|
});
|
|
3866
3896
|
completePendingOperation(issueId, null);
|
|
3867
|
-
const { postMergeLifecycle } = await import("./merge-agent-
|
|
3897
|
+
const { postMergeLifecycle } = await import("./merge-agent-DWd0KfiS.js");
|
|
3868
3898
|
advanceQueue();
|
|
3869
3899
|
await postMergeLifecycle(issueId, projectPath);
|
|
3870
3900
|
return {
|
|
@@ -3875,8 +3905,8 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3875
3905
|
repos: mergeResults
|
|
3876
3906
|
};
|
|
3877
3907
|
}
|
|
3878
|
-
const { getMergeSetSync, ensureMergeSetForIssueSync } = await import("./merge-set-
|
|
3879
|
-
const { getForgeAdapter } = await import("./forge-
|
|
3908
|
+
const { getMergeSetSync, ensureMergeSetForIssueSync } = await import("./merge-set-H6epHOsw.js");
|
|
3909
|
+
const { getForgeAdapter } = await import("./forge-CdlCG9aS.js");
|
|
3880
3910
|
const primaryRepo = (getMergeSetSync(issueId) || ensureMergeSetForIssueSync(issueId))?.repos[0];
|
|
3881
3911
|
const targetBranch = primaryRepo?.targetBranch || "main";
|
|
3882
3912
|
const primaryForge = primaryRepo?.forge || "github";
|
|
@@ -3919,7 +3949,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3919
3949
|
}
|
|
3920
3950
|
let preMergePrState;
|
|
3921
3951
|
if (githubPrRef) try {
|
|
3922
|
-
const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-
|
|
3952
|
+
const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-CpQSDlv8.js");
|
|
3923
3953
|
if (isGitHubAppConfigured()) {
|
|
3924
3954
|
const prState = await Effect.runPromise(getPullRequestState(githubPrRef.owner, githubPrRef.repo, githubPrRef.number));
|
|
3925
3955
|
preMergePrState = prState;
|
|
@@ -3982,7 +4012,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3982
4012
|
...mergeCompletionStatus(request)
|
|
3983
4013
|
});
|
|
3984
4014
|
completePendingOperation(issueId, null);
|
|
3985
|
-
const { postMergeLifecycle } = await import("./merge-agent-
|
|
4015
|
+
const { postMergeLifecycle } = await import("./merge-agent-DWd0KfiS.js");
|
|
3986
4016
|
await postMergeLifecycle(issueId, projectPath, branchName);
|
|
3987
4017
|
return {
|
|
3988
4018
|
success: true,
|
|
@@ -3996,8 +4026,8 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
3996
4026
|
} catch (prStateErr) {
|
|
3997
4027
|
console.warn(`[merge] Pre-merge PR state check failed for ${issueId}: ${prStateErr.message} — proceeding (check is best-effort)`);
|
|
3998
4028
|
}
|
|
3999
|
-
const { postMergeLifecycle } = await import("./merge-agent-
|
|
4000
|
-
const { beginShipLog, appendShipLog } = await import("./ship-log-
|
|
4029
|
+
const { postMergeLifecycle } = await import("./merge-agent-DWd0KfiS.js");
|
|
4030
|
+
const { beginShipLog, appendShipLog } = await import("./ship-log-CFUIo4PR.js");
|
|
4001
4031
|
let rebaseResult;
|
|
4002
4032
|
if (preMergePrState?.mergeable === true && preMergePrState.mergeableState === "clean" && !preMergePrState.checksFailed && !preMergePrState.checksPending && !preMergePrState.draft && !preMergePrState.merged) {
|
|
4003
4033
|
console.log(`[merge] PR is CLEAN — merging directly without rebase for ${issueId}`);
|
|
@@ -4106,7 +4136,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
4106
4136
|
});
|
|
4107
4137
|
let skipLocalVerification = false;
|
|
4108
4138
|
if (primaryForge === "github" && artifactUrl) try {
|
|
4109
|
-
const { parsePullRequestRef, getCiCheckRunsStatePromise, isGitHubAppConfigured } = await import("./github-app-
|
|
4139
|
+
const { parsePullRequestRef, getCiCheckRunsStatePromise, isGitHubAppConfigured } = await import("./github-app-CpQSDlv8.js");
|
|
4110
4140
|
if (isGitHubAppConfigured()) {
|
|
4111
4141
|
const ref = parsePullRequestRef({ url: artifactUrl });
|
|
4112
4142
|
if (ref) {
|
|
@@ -4131,7 +4161,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
4131
4161
|
const verifyResult = skipLocalVerification ? { outcome: "passed" } : await (async () => {
|
|
4132
4162
|
console.log(`[merge] Running post-rebase verification for ${issueId}...`);
|
|
4133
4163
|
appendShipLog(issueId, "Running post-rebase verification (full quality-gate suite)…", "verifying");
|
|
4134
|
-
const { runVerificationForIssue } = await import("./verification-runner-
|
|
4164
|
+
const { runVerificationForIssue } = await import("./verification-runner-BV5F6wrA.js");
|
|
4135
4165
|
return Effect.runPromise(runVerificationForIssue(issueId, workspacePath, { isRemote: false }, "merge-verify", {
|
|
4136
4166
|
...mergeVerificationOptions(request),
|
|
4137
4167
|
onGateLog: (line) => appendShipLog(issueId, line, "verifying")
|
|
@@ -4176,7 +4206,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
4176
4206
|
if (skipLocalVerification) await recordCiGreenVerificationVerdict(issueId, workspacePath);
|
|
4177
4207
|
setReviewStatus(issueId, { mergeStep: "reporting-statuses" });
|
|
4178
4208
|
try {
|
|
4179
|
-
const { getPullRequestState, isGitHubAppConfigured, reportCommitStatus } = await import("./github-app-
|
|
4209
|
+
const { getPullRequestState, isGitHubAppConfigured, reportCommitStatus } = await import("./github-app-CpQSDlv8.js");
|
|
4180
4210
|
if (githubPrRef && isGitHubAppConfigured()) {
|
|
4181
4211
|
const sha = (await Effect.runPromise(getPullRequestState(githubPrRef.owner, githubPrRef.repo, githubPrRef.number))).headSha.trim();
|
|
4182
4212
|
if (sha) {
|
|
@@ -4204,7 +4234,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
|
|
|
4204
4234
|
} catch (prMergeErr) {
|
|
4205
4235
|
console.error(`[merge] Review artifact merge threw for ${issueId}:`, prMergeErr);
|
|
4206
4236
|
try {
|
|
4207
|
-
const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-
|
|
4237
|
+
const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-CpQSDlv8.js");
|
|
4208
4238
|
if (githubPrRef && isGitHubAppConfigured()) {
|
|
4209
4239
|
artifactMerged = (await Effect.runPromise(getPullRequestState(githubPrRef.owner, githubPrRef.repo, githubPrRef.number))).merged;
|
|
4210
4240
|
if (artifactMerged) console.log(`[merge] Race-detected: PR #${githubPrRef.number} for ${issueId} was already merged despite thrown error; proceeding`);
|
|
@@ -4323,8 +4353,8 @@ const postForgeApproveRoute = HttpRouter.add("POST", "/api/issues/:issueId/forge
|
|
|
4323
4353
|
if (!parseIssueIdSync(issueId)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
|
|
4324
4354
|
if (!/^[A-Z]+-\d+$/i.test(issueId)) return jsonResponse({ error: "Invalid issue ID format" }, { status: 400 });
|
|
4325
4355
|
return yield* Effect.promise(async () => {
|
|
4326
|
-
const { getMergeSetSync, upsertMergeSetSync, withRepoArtifactUrlSync, withRepoStateSync } = await import("./merge-set-
|
|
4327
|
-
const { getForgeAdapter } = await import("./forge-
|
|
4356
|
+
const { getMergeSetSync, upsertMergeSetSync, withRepoArtifactUrlSync, withRepoStateSync } = await import("./merge-set-H6epHOsw.js");
|
|
4357
|
+
const { getForgeAdapter } = await import("./forge-CdlCG9aS.js");
|
|
4328
4358
|
let mergeSet = getMergeSetSync(issueId);
|
|
4329
4359
|
if (!mergeSet) return jsonResponse({ error: `No merge set found for ${issueId}` }, { status: 404 });
|
|
4330
4360
|
const results = [];
|
|
@@ -4385,7 +4415,7 @@ const postForgeApproveRoute = HttpRouter.add("POST", "/api/issues/:issueId/forge
|
|
|
4385
4415
|
}
|
|
4386
4416
|
}
|
|
4387
4417
|
if (results.filter((r) => r.approved).length > 0) {
|
|
4388
|
-
const { emitActivityEntrySync, emitActivityTtsSync } = await import("./activity-logger-
|
|
4418
|
+
const { emitActivityEntrySync, emitActivityTtsSync } = await import("./activity-logger-K7FYGF_z.js");
|
|
4389
4419
|
emitActivityEntrySync({
|
|
4390
4420
|
source: "dashboard",
|
|
4391
4421
|
level: "success",
|
|
@@ -4412,9 +4442,9 @@ const postForgeMergeRoute = HttpRouter.add("POST", "/api/issues/:issueId/forge-m
|
|
|
4412
4442
|
if (!parseIssueIdSync(issueId)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
|
|
4413
4443
|
if (!/^[A-Z]+-\d+$/i.test(issueId)) return jsonResponse({ error: "Invalid issue ID format" }, { status: 400 });
|
|
4414
4444
|
return yield* Effect.promise(async () => {
|
|
4415
|
-
const { getMergeSetSync, upsertMergeSetSync, withRepoArtifactUrlSync, withRepoStateSync } = await import("./merge-set-
|
|
4416
|
-
const { getForgeAdapter } = await import("./forge-
|
|
4417
|
-
const { assessRepoMergeCompleteness } = await import("./merge-completeness-
|
|
4445
|
+
const { getMergeSetSync, upsertMergeSetSync, withRepoArtifactUrlSync, withRepoStateSync } = await import("./merge-set-H6epHOsw.js");
|
|
4446
|
+
const { getForgeAdapter } = await import("./forge-CdlCG9aS.js");
|
|
4447
|
+
const { assessRepoMergeCompleteness } = await import("./merge-completeness-BfRwFjRx.js");
|
|
4418
4448
|
let mergeSet = getMergeSetSync(issueId);
|
|
4419
4449
|
if (!mergeSet) return jsonResponse({ error: `No merge set found for ${issueId}` }, { status: 404 });
|
|
4420
4450
|
const results = [];
|
|
@@ -4492,7 +4522,7 @@ const postForgeMergeRoute = HttpRouter.add("POST", "/api/issues/:issueId/forge-m
|
|
|
4492
4522
|
}
|
|
4493
4523
|
}
|
|
4494
4524
|
if (results.filter((r) => r.merged).length > 0) {
|
|
4495
|
-
const { emitActivityEntrySync, emitActivityTtsSync } = await import("./activity-logger-
|
|
4525
|
+
const { emitActivityEntrySync, emitActivityTtsSync } = await import("./activity-logger-K7FYGF_z.js");
|
|
4496
4526
|
emitActivityEntrySync({
|
|
4497
4527
|
source: "dashboard",
|
|
4498
4528
|
level: "success",
|
|
@@ -4617,7 +4647,7 @@ const postWorkspaceApproveRoute = HttpRouter.add("POST", "/api/issues/:issueId/a
|
|
|
4617
4647
|
console.log(`[approve] Starting role pipeline for ${issueId}...`);
|
|
4618
4648
|
let reviewResult;
|
|
4619
4649
|
try {
|
|
4620
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
4650
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-CD3RQ-tc.js");
|
|
4621
4651
|
reviewResult = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
4622
4652
|
issueId,
|
|
4623
4653
|
workspace: workspacePath,
|
|
@@ -4664,7 +4694,7 @@ const postWorkspaceApproveRoute = HttpRouter.add("POST", "/api/issues/:issueId/a
|
|
|
4664
4694
|
}
|
|
4665
4695
|
console.log(`[approve] Step 3/3: Running server-side rebase for ${issueId}...`);
|
|
4666
4696
|
try {
|
|
4667
|
-
const { rebaseFeatureBranch } = await import("./merge-rebase-
|
|
4697
|
+
const { rebaseFeatureBranch } = await import("./merge-rebase-BLykMwPO.js");
|
|
4668
4698
|
const workspacePathForRebase = join(projectPath, "workspaces", `feature-${issueId.toLowerCase()}`);
|
|
4669
4699
|
const rebaseResult = await Effect.runPromise(rebaseFeatureBranch(workspacePathForRebase, branchName, "main", issueId));
|
|
4670
4700
|
if (!rebaseResult.success) {
|
|
@@ -4684,7 +4714,7 @@ const postWorkspaceApproveRoute = HttpRouter.add("POST", "/api/issues/:issueId/a
|
|
|
4684
4714
|
completePendingOperation(issueId, pushResult.error);
|
|
4685
4715
|
return jsonResponse({ error: pushResult.error }, { status: pushResult.httpStatus });
|
|
4686
4716
|
}
|
|
4687
|
-
const { approve: lifecycleApprove } = await import("./lifecycle-
|
|
4717
|
+
const { approve: lifecycleApprove } = await import("./lifecycle-DjlljAZ1.js");
|
|
4688
4718
|
const ghResolved = resolveGitHubIssueSync(issueId);
|
|
4689
4719
|
const isGitHubIssueFlag = ghResolved.isGitHub;
|
|
4690
4720
|
const lifecycleCtx = {
|
|
@@ -4718,7 +4748,7 @@ const getMergeQueueRoute = HttpRouter.add("GET", "/api/merge-queue", httpHandler
|
|
|
4718
4748
|
})));
|
|
4719
4749
|
const postInternalPipelineNotifyRoute = HttpRouter.add("POST", "/api/internal/pipeline/notify", httpHandler(Effect.gen(function* () {
|
|
4720
4750
|
const request = yield* HttpServerRequest.HttpServerRequest;
|
|
4721
|
-
const { INTERNAL_TOKEN_HEADER, getInternalTokenSync } = yield* Effect.promise(() => import("./internal-token-
|
|
4751
|
+
const { INTERNAL_TOKEN_HEADER, getInternalTokenSync } = yield* Effect.promise(() => import("./internal-token-Djkj-yqK.js"));
|
|
4722
4752
|
const expected = getInternalTokenSync();
|
|
4723
4753
|
if (!expected) return jsonResponse({
|
|
4724
4754
|
ok: false,
|
|
@@ -4732,7 +4762,7 @@ const postInternalPipelineNotifyRoute = HttpRouter.add("POST", "/api/internal/pi
|
|
|
4732
4762
|
}, 403);
|
|
4733
4763
|
const event = yield* readJsonBody;
|
|
4734
4764
|
const type = event.type;
|
|
4735
|
-
const { notifyPipelineSync } = yield* Effect.promise(() => import("./pipeline-notifier-
|
|
4765
|
+
const { notifyPipelineSync } = yield* Effect.promise(() => import("./pipeline-notifier-CO9rxJgB.js"));
|
|
4736
4766
|
switch (type) {
|
|
4737
4767
|
case "status_changed": {
|
|
4738
4768
|
const issueId = event.issueId;
|
|
@@ -5507,7 +5537,7 @@ const patchWorkspaceTieredExecutionRoute = HttpRouter.add("PATCH", "/api/workspa
|
|
|
5507
5537
|
if (override !== "on" && override !== "off" && override !== null && override !== void 0) return jsonResponse({ error: "Invalid tiered-execution override" }, { status: 400 });
|
|
5508
5538
|
const project = getProjectSync(extractPrefixSync(issueId) ?? issueId.split("-")[0]);
|
|
5509
5539
|
if (!project) return jsonResponse({ error: "Project not found" }, { status: 404 });
|
|
5510
|
-
yield* Effect.promise(() => import("./record-
|
|
5540
|
+
yield* Effect.promise(() => import("./record-aVzu-LGm.js").then((m) => m.writeRecordTieredExecutionOverride(project, issueId, override)));
|
|
5511
5541
|
const projectPath = project.path;
|
|
5512
5542
|
const location = yield* resolvePlanLocation(projectPath, issueId);
|
|
5513
5543
|
if (!location) return jsonResponse({ error: "No xBRIEF plan found for this workspace" }, { status: 404 });
|
|
@@ -6013,7 +6043,7 @@ function shouldTreatAsRerun(status) {
|
|
|
6013
6043
|
return status.readyForMerge === true || status.reviewStatus === "passed" || status.testStatus === "passed" || status.mergeStatus === "failed";
|
|
6014
6044
|
}
|
|
6015
6045
|
function getDirtyWorkspaceErrorForReviewRequestStatus(status, workspacePath) {
|
|
6016
|
-
if (!status.trim() ||
|
|
6046
|
+
if (!status.trim() || isOverdeckOwnedOnlyStatus(status)) return null;
|
|
6017
6047
|
return `Workspace has uncommitted changes. Commit the changes, explicitly discard them, or surface them to the operator before requesting review:\ncd ${workspacePath}\ngit status`;
|
|
6018
6048
|
}
|
|
6019
6049
|
async function getDirtyWorkspaceErrorForReviewRequest(workspacePath, workspaceInfo) {
|
|
@@ -6124,7 +6154,7 @@ const postWorkspaceReviewRoute = HttpRouter.add("POST", "/api/review/:issueId/tr
|
|
|
6124
6154
|
console.log(`Feature branch push note: ${errorMessage(pushErr)}`);
|
|
6125
6155
|
}
|
|
6126
6156
|
try {
|
|
6127
|
-
const { createReviewArtifactsForIssue } = await import("./review-artifacts-
|
|
6157
|
+
const { createReviewArtifactsForIssue } = await import("./review-artifacts-DyhajWso.js");
|
|
6128
6158
|
const artifactResult = await Effect.runPromise(createReviewArtifactsForIssue(issueId, workspacePath));
|
|
6129
6159
|
const primaryArtifact = artifactResult.mergeSet?.repos.find((repo) => !!repo.artifactUrl);
|
|
6130
6160
|
artifactResult.mergeSet?.repos.find((repo) => repo.mergeStatus !== "skipped")?.targetBranch;
|
|
@@ -6184,7 +6214,7 @@ const postWorkspaceReviewRoute = HttpRouter.add("POST", "/api/review/:issueId/tr
|
|
|
6184
6214
|
completePendingOperation(issueId, verifyOutcome.reason);
|
|
6185
6215
|
return;
|
|
6186
6216
|
}
|
|
6187
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
6217
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-CD3RQ-tc.js");
|
|
6188
6218
|
const prUrl = getReviewStatusSync(issueId)?.prUrl;
|
|
6189
6219
|
const reviewResult = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
6190
6220
|
issueId,
|
|
@@ -6320,7 +6350,7 @@ const postWorkspaceRequestReviewRoute = HttpRouter.add("POST", "/api/review/:iss
|
|
|
6320
6350
|
console.log(`[request-review] Feature branch push note: ${errorMessage(pushErr)}`);
|
|
6321
6351
|
}
|
|
6322
6352
|
const prUrl = getReviewStatusSync(issueId)?.prUrl;
|
|
6323
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
6353
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-CD3RQ-tc.js");
|
|
6324
6354
|
const result = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
6325
6355
|
issueId,
|
|
6326
6356
|
workspace: workspacePathRerun,
|
|
@@ -6370,7 +6400,7 @@ const postWorkspaceRequestReviewRoute = HttpRouter.add("POST", "/api/review/:iss
|
|
|
6370
6400
|
});
|
|
6371
6401
|
} else {
|
|
6372
6402
|
const workspacePath = join(resolved.projectPath, "workspaces", `feature-${issueId.toLowerCase()}`);
|
|
6373
|
-
const { spawnRun } = yield* Effect.promise(() => import("./agents-
|
|
6403
|
+
const { spawnRun } = yield* Effect.promise(() => import("./agents-IPSa5kzn.js"));
|
|
6374
6404
|
try {
|
|
6375
6405
|
const testRun = yield* Effect.promise(() => spawnRun(issueId, "test", { workspace: workspacePath }));
|
|
6376
6406
|
setReviewStatus(issueId, { testStatus: "testing" });
|
|
@@ -6485,7 +6515,7 @@ const postWorkspaceRequestReviewRoute = HttpRouter.add("POST", "/api/review/:iss
|
|
|
6485
6515
|
testStatus: "pending",
|
|
6486
6516
|
reviewNotes
|
|
6487
6517
|
});
|
|
6488
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
6518
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-CD3RQ-tc.js");
|
|
6489
6519
|
const result = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
6490
6520
|
issueId,
|
|
6491
6521
|
workspace: workspacePath,
|
|
@@ -6821,7 +6851,7 @@ const postWorkspaceResetReviewRoute = HttpRouter.add("POST", "/api/review/:issue
|
|
|
6821
6851
|
const result = processResetReviewPipeline(issueId, resetWorkspace.exists);
|
|
6822
6852
|
if (result.httpStatus !== 200) return jsonResponse(result.body, { status: result.httpStatus });
|
|
6823
6853
|
try {
|
|
6824
|
-
const { resetPostMergeState } = yield* Effect.promise(() => import("./merge-agent-
|
|
6854
|
+
const { resetPostMergeState } = yield* Effect.promise(() => import("./merge-agent-DWd0KfiS.js"));
|
|
6825
6855
|
resetPostMergeState(issueId);
|
|
6826
6856
|
} catch (err) {
|
|
6827
6857
|
console.warn(`[reset-review] resetPostMergeState best-effort failed for ${issueId}:`, err);
|
|
@@ -6830,7 +6860,7 @@ const postWorkspaceResetReviewRoute = HttpRouter.add("POST", "/api/review/:issue
|
|
|
6830
6860
|
const rerun = body?.rerun === true;
|
|
6831
6861
|
if (rerun) try {
|
|
6832
6862
|
yield* Effect.promise(async () => {
|
|
6833
|
-
const { spawnReviewRoleForIssue } = await import("./review-agent-
|
|
6863
|
+
const { spawnReviewRoleForIssue } = await import("./review-agent-CD3RQ-tc.js");
|
|
6834
6864
|
const dispatchArgs = buildReviewRedispatchArgs(issueId, resetWorkspace, workspaceInfo, resolved);
|
|
6835
6865
|
if (dispatchArgs) {
|
|
6836
6866
|
const result = await Effect.runPromise(spawnReviewRoleForIssue({
|
|
@@ -6865,7 +6895,7 @@ const postReviewResyncRoute = HttpRouter.add("POST", "/api/review/:issueId/resyn
|
|
|
6865
6895
|
const postWorkspaceReviewPurgeRoute = HttpRouter.add("POST", "/api/review/:issueId/purge", httpHandler(Effect.gen(function* () {
|
|
6866
6896
|
const issueId = (yield* HttpRouter.params)["issueId"] ?? "";
|
|
6867
6897
|
if (!parseIssueIdSync(issueId)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
|
|
6868
|
-
const { purgeReviewAgentsForIssue } = yield* Effect.promise(() => import("./review-agent-
|
|
6898
|
+
const { purgeReviewAgentsForIssue } = yield* Effect.promise(() => import("./review-agent-CD3RQ-tc.js"));
|
|
6869
6899
|
const projectKey = resolveProjectFromIssueSync(issueId)?.projectKey;
|
|
6870
6900
|
const purge = yield* Effect.promise(() => purgeReviewAgentsForIssue(projectKey, issueId));
|
|
6871
6901
|
const workspaceInfo = getWorkspaceInfoForIssue(issueId);
|
|
@@ -6895,8 +6925,8 @@ const postWorkspaceAbortReviewRoute = HttpRouter.add("POST", "/api/review/:issue
|
|
|
6895
6925
|
success: false,
|
|
6896
6926
|
error: "Workspace does not exist"
|
|
6897
6927
|
}, { status: 400 });
|
|
6898
|
-
const { resolveProjectFromIssueSync } = yield* Effect.promise(() => import("./projects-
|
|
6899
|
-
const { killAllReviewerSessions } = yield* Effect.promise(() => import("./review-agent-
|
|
6928
|
+
const { resolveProjectFromIssueSync } = yield* Effect.promise(() => import("./projects-WqMWCdpa.js"));
|
|
6929
|
+
const { killAllReviewerSessions } = yield* Effect.promise(() => import("./review-agent-CD3RQ-tc.js"));
|
|
6900
6930
|
const { killed, failed } = yield* killAllReviewerSessions(resolveProjectFromIssueSync(issueId)?.projectKey, issueId);
|
|
6901
6931
|
setReviewStatus(issueId, {
|
|
6902
6932
|
reviewStatus: "pending",
|
|
@@ -6968,8 +6998,8 @@ const getReviewConfigRoute = HttpRouter.add("GET", "/api/review/:issueId/config"
|
|
|
6968
6998
|
const issueId = ((yield* HttpRouter.params)["issueId"] ?? "").toUpperCase();
|
|
6969
6999
|
if (!parseIssueIdSync(issueId)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
|
|
6970
7000
|
return jsonResponse(yield* Effect.promise(async () => {
|
|
6971
|
-
const { readIssueRecordSync, resolveProjectForIssue } = await import("./record-
|
|
6972
|
-
const { resolveReviewMode, resolveReReviewScope } = await import("./review-agent-
|
|
7001
|
+
const { readIssueRecordSync, resolveProjectForIssue } = await import("./record-aVzu-LGm.js");
|
|
7002
|
+
const { resolveReviewMode, resolveReReviewScope } = await import("./review-agent-CD3RQ-tc.js");
|
|
6973
7003
|
const project = resolveProjectForIssue(issueId);
|
|
6974
7004
|
const record = project ? readIssueRecordSync(project, issueId) : null;
|
|
6975
7005
|
return {
|
|
@@ -7004,9 +7034,9 @@ const postReviewConfigRoute = HttpRouter.add("POST", "/api/review/:issueId/confi
|
|
|
7004
7034
|
return jsonResponse({ error: error instanceof Error ? error.message : String(error) }, { status: 400 });
|
|
7005
7035
|
}
|
|
7006
7036
|
return jsonResponse(yield* Effect.promise(async () => {
|
|
7007
|
-
const { resolveProjectForIssue } = await import("./record-
|
|
7008
|
-
const { updateIssueRecord } = await import("./record-update-
|
|
7009
|
-
const { resolveReviewMode, resolveReReviewScope } = await import("./review-agent-
|
|
7037
|
+
const { resolveProjectForIssue } = await import("./record-aVzu-LGm.js");
|
|
7038
|
+
const { updateIssueRecord } = await import("./record-update-DtdJK2Iw.js");
|
|
7039
|
+
const { resolveReviewMode, resolveReReviewScope } = await import("./review-agent-CD3RQ-tc.js");
|
|
7010
7040
|
const record = await updateIssueRecord(resolveProjectForIssue(issueId), issueId, (current) => {
|
|
7011
7041
|
if (hasMode) if (body.reviewMode === null) delete current.reviewMode;
|
|
7012
7042
|
else current.reviewMode = body.reviewMode;
|
|
@@ -7439,7 +7469,7 @@ async function readWorkspacePlanningMarkdown(issueId, fileName) {
|
|
|
7439
7469
|
*/
|
|
7440
7470
|
async function readWorkspaceContinueFile(_projectPath, workspacePath, issueId) {
|
|
7441
7471
|
try {
|
|
7442
|
-
const { readRecordContinueViewSync, getProjectConfigFromWorkspacePath, resolveProjectForIssue } = await import("./record-
|
|
7472
|
+
const { readRecordContinueViewSync, getProjectConfigFromWorkspacePath, resolveProjectForIssue } = await import("./record-aVzu-LGm.js");
|
|
7443
7473
|
const recordView = readRecordContinueViewSync(resolveProjectForIssue(issueId) ?? getProjectConfigFromWorkspacePath(workspacePath), issueId);
|
|
7444
7474
|
return recordView ? JSON.stringify(recordView, null, 2) : null;
|
|
7445
7475
|
} catch {
|
|
@@ -8219,7 +8249,7 @@ const getWorkspaceReviewStatusRoute = HttpRouter.add("GET", "/api/review/:issueI
|
|
|
8219
8249
|
if (queuePosition === null) try {
|
|
8220
8250
|
const resolved = resolveProjectFromIssueSync(issueId);
|
|
8221
8251
|
if (resolved) {
|
|
8222
|
-
const { getQueueForProject } = yield* Effect.promise(() => import("./merge-
|
|
8252
|
+
const { getQueueForProject } = yield* Effect.promise(() => import("./merge-Dqmh_zja.js"));
|
|
8223
8253
|
const mergePos = findPositionInQueueSync(issueId, getQueueForProject(resolved.projectKey).map((e) => ({
|
|
8224
8254
|
id: String(e.id),
|
|
8225
8255
|
type: "task",
|
|
@@ -8257,7 +8287,7 @@ const postWorkspaceReviewStatusRoute = HttpRouter.add("POST", "/api/review/:issu
|
|
|
8257
8287
|
const workspaceInfo = getWorkspaceInfoForIssue(issueId);
|
|
8258
8288
|
if (workspaceInfo.exists && workspaceInfo.localPath) {
|
|
8259
8289
|
const localPath = workspaceInfo.localPath;
|
|
8260
|
-
const { snapshotWorkspaceHeadsPromise } = yield* Effect.promise(() => import("./git-utils-
|
|
8290
|
+
const { snapshotWorkspaceHeadsPromise } = yield* Effect.promise(() => import("./git-utils-C31x1lpE.js"));
|
|
8261
8291
|
try {
|
|
8262
8292
|
const headAnchor = yield* Effect.promise(() => snapshotWorkspaceHeadsPromise(issueId, localPath));
|
|
8263
8293
|
if (headAnchor) update.reviewedAtCommit = headAnchor;
|
|
@@ -8272,7 +8302,7 @@ const postWorkspaceReviewStatusRoute = HttpRouter.add("POST", "/api/review/:issu
|
|
|
8272
8302
|
if (verificationStatus) update.verificationStatus = verificationStatus;
|
|
8273
8303
|
if (readyForMerge !== void 0) update.readyForMerge = readyForMerge;
|
|
8274
8304
|
const status = setReviewStatus(issueId, update);
|
|
8275
|
-
const { getTmuxSessionName } = yield* Effect.promise(() => import("./specialists-
|
|
8305
|
+
const { getTmuxSessionName } = yield* Effect.promise(() => import("./specialists-MOoeB4A8.js"));
|
|
8276
8306
|
const projectKey = resolveProjectFromIssueSync(issueId)?.projectKey;
|
|
8277
8307
|
if (reviewStatus && [
|
|
8278
8308
|
"passed",
|
|
@@ -8290,7 +8320,7 @@ const postWorkspaceReviewStatusRoute = HttpRouter.add("POST", "/api/review/:issu
|
|
|
8290
8320
|
const agentId = `agent-${issueId.toLowerCase()}`;
|
|
8291
8321
|
const feedbackBody = `CODE REVIEW ${reviewStatus.toUpperCase()} for ${issueId}:\n\n${reviewNotes}\n\n## REQUIRED: Fix ALL issues above, then invoke the /rebase-and-submit skill\n\n1. Read each blocking issue carefully\n2. Fix the code for EVERY issue listed\n3. Run tests locally to verify your fixes\n4. Commit every change\n5. Invoke the /rebase-and-submit skill for ${issueId} — this is an atomic task that runs pan done (which handles rebase + push + re-submit internally)\n\nDo NOT stop between steps. Do NOT run git push manually — the skill handles it. Do NOT stop until pan done has completed successfully.`;
|
|
8292
8322
|
try {
|
|
8293
|
-
const { writeFeedbackFile } = yield* Effect.promise(() => import("./feedback-writer-
|
|
8323
|
+
const { writeFeedbackFile } = yield* Effect.promise(() => import("./feedback-writer-CTSuA6lw.js"));
|
|
8294
8324
|
const wsInfo = getWorkspaceInfoForIssue(issueId);
|
|
8295
8325
|
const fileResult = yield* Effect.promise(() => writeFeedbackFile({
|
|
8296
8326
|
issueId,
|
|
@@ -8354,7 +8384,7 @@ const postWorkspaceReviewStatusRoute = HttpRouter.add("POST", "/api/review/:issu
|
|
|
8354
8384
|
const agentId = `agent-${issueId.toLowerCase()}`;
|
|
8355
8385
|
const feedbackBody = `TESTS FAILED for ${issueId}:\n\n${testNotes}\n\n## REQUIRED: Fix ALL test failures, then invoke the /rebase-and-submit skill\n\n1. Read each test failure carefully\n2. Fix the code causing EVERY failure\n3. Run the test suite locally to verify your fixes pass\n4. Commit every change\n5. Invoke the /rebase-and-submit skill for ${issueId} — this is an atomic task that runs pan done (which handles rebase + push + re-submit internally)\n\nDo NOT stop between steps. Do NOT run git push manually — the skill handles it. Do NOT stop until pan done has completed successfully.`;
|
|
8356
8386
|
try {
|
|
8357
|
-
const { writeFeedbackFile } = yield* Effect.promise(() => import("./feedback-writer-
|
|
8387
|
+
const { writeFeedbackFile } = yield* Effect.promise(() => import("./feedback-writer-CTSuA6lw.js"));
|
|
8358
8388
|
const wsInfo = getWorkspaceInfoForIssue(issueId);
|
|
8359
8389
|
const fileResult = yield* Effect.promise(() => writeFeedbackFile({
|
|
8360
8390
|
issueId,
|
|
@@ -8387,14 +8417,14 @@ const postWorkspaceReviewStatusRoute = HttpRouter.add("POST", "/api/review/:issu
|
|
|
8387
8417
|
});
|
|
8388
8418
|
yield* Effect.promise(async () => {
|
|
8389
8419
|
try {
|
|
8390
|
-
const { resolveProjectFromIssueSync, getProjectSync } = await import("./projects-
|
|
8420
|
+
const { resolveProjectFromIssueSync, getProjectSync } = await import("./projects-WqMWCdpa.js");
|
|
8391
8421
|
const project = resolveProjectFromIssueSync(issueId);
|
|
8392
8422
|
const repo = (project ? getProjectSync(project.projectKey) : null)?.github_repo;
|
|
8393
8423
|
if (!repo || !repo.includes("/")) return;
|
|
8394
8424
|
const [owner, name] = repo.split("/");
|
|
8395
8425
|
const wsInfo = getWorkspaceInfoForIssue(issueId);
|
|
8396
8426
|
if (!wsInfo?.localPath) return;
|
|
8397
|
-
const { postOverdeckTestsStatus } = await import("./github-app-
|
|
8427
|
+
const { postOverdeckTestsStatus } = await import("./github-app-CpQSDlv8.js");
|
|
8398
8428
|
await postOverdeckTestsStatus(wsInfo.localPath, owner, name, "success", "Test specialist passed");
|
|
8399
8429
|
} catch (err) {
|
|
8400
8430
|
console.warn(`[review-status] Failed to post overdeck/tests for ${issueId}: ${err.message}`);
|
|
@@ -8436,7 +8466,7 @@ const postWorkspaceRefreshTokenRoute = HttpRouter.add("POST", "/api/workspaces/:
|
|
|
8436
8466
|
if (!parseIssueIdSync(issueId)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
|
|
8437
8467
|
const issueLower = issueId.toLowerCase();
|
|
8438
8468
|
const workspacePath = join(getProjectPath(void 0, extractPrefixSync(issueId) ?? issueId.split("-")[0]), "workspaces", `feature-${issueLower}`);
|
|
8439
|
-
const { refreshWorkspaceToken, isGitHubAppConfigured } = yield* Effect.promise(() => import("./github-app-
|
|
8469
|
+
const { refreshWorkspaceToken, isGitHubAppConfigured } = yield* Effect.promise(() => import("./github-app-CpQSDlv8.js"));
|
|
8440
8470
|
if (!isGitHubAppConfigured()) return jsonResponse({
|
|
8441
8471
|
success: false,
|
|
8442
8472
|
error: "GitHub App not configured"
|
|
@@ -8451,4 +8481,4 @@ const workspacesRouteLayer = Layer.mergeAll(workspaceDataRouteLayer, postWorkspa
|
|
|
8451
8481
|
//#endregion
|
|
8452
8482
|
export { getWorkspacePathForIssue as C, stopAgentOutputService as E, resolveIssueHeadlineCost as S, startAgentOutputService as T, getCostsForIssueSync as _, pushApproveMain as a, processPendingFeedbackDeliveries as b, triggerMerge as c, resumeQueuedMerges as d, syncWalFromAllProjects as f, migrateAllSessionsSync as g, reclassifyUnknownCostEventsSync as h, mergeOpsRouteLayer as i, internalEventsRouteLayer as l, reconcilePiTranscripts as m, buildRichPRBody as n, reconcileGitHubMergeStatus as o, reconcile as p, isBranchAlreadyRebased as r, shouldBlockApproveForDirtyStatus as s, workspacesRouteLayer as t, eventsRouteLayer as u, rebuildCacheSync as v, retainAgentOutputInterest as w, getCachedRunningAgents as x, syncCacheSync as y };
|
|
8453
8483
|
|
|
8454
|
-
//# sourceMappingURL=workspaces-
|
|
8484
|
+
//# sourceMappingURL=workspaces-DqxgwDZ8.js.map
|