panopticon-cli 0.6.5 → 0.6.6
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/README.md +2 -2
- package/dist/{agents-DfYify9s.js → agents-CfFDs52G.js} +14 -14
- package/dist/{agents-DfYify9s.js.map → agents-CfFDs52G.js.map} +1 -1
- package/dist/{agents-BKsVoIc9.js → agents-D_2oRFVf.js} +1 -1
- package/dist/{archive-planning-BJrZ3tmN.js → archive-planning-D97ziGec.js} +3 -3
- package/dist/{archive-planning-BJrZ3tmN.js.map → archive-planning-D97ziGec.js.map} +1 -1
- package/dist/{archive-planning-C3m3hfa5.js → archive-planning-DK90wn9Q.js} +1 -1
- package/dist/{browser-Cvdznzc0.js → browser-CX7jXfXX.js} +1 -1
- package/dist/{browser-Cvdznzc0.js.map → browser-CX7jXfXX.js.map} +1 -1
- package/dist/{clean-planning-DvhZAUv4.js → clean-planning-D_lz4aQq.js} +2 -2
- package/dist/{clean-planning-DvhZAUv4.js.map → clean-planning-D_lz4aQq.js.map} +1 -1
- package/dist/clean-planning-x1S-JdmO.js +2 -0
- package/dist/cli/index.js +291 -760
- package/dist/cli/index.js.map +1 -1
- package/dist/{close-issue-Dr7yZmrr.js → close-issue-CaFE0stN.js} +11 -7
- package/dist/close-issue-CaFE0stN.js.map +1 -0
- package/dist/close-issue-CjcfZI9s.js +2 -0
- package/dist/compact-beads-B0_qE1w3.js +2 -0
- package/dist/{compact-beads-BCOtIIRl.js → compact-beads-CjFkteSU.js} +2 -2
- package/dist/{compact-beads-BCOtIIRl.js.map → compact-beads-CjFkteSU.js.map} +1 -1
- package/dist/{config-CRzMQRgA.js → config-BQNKsi9G.js} +2 -2
- package/dist/{config-CRzMQRgA.js.map → config-BQNKsi9G.js.map} +1 -1
- package/dist/{config-BYgUzQ21.js → config-agyKgF5C.js} +1 -1
- package/dist/{config-yaml-BgOACZAB.js → config-yaml-DGbLSMCa.js} +1 -1
- package/dist/{config-yaml-BgOACZAB.js.map → config-yaml-DGbLSMCa.js.map} +1 -1
- package/dist/{config-yaml-fdyvyL0S.js → config-yaml-Dqt4FWQH.js} +1 -1
- package/dist/dashboard/{acceptance-criteria-e5iiHlRx.js → acceptance-criteria-Dk9hhiYj.js} +1 -1
- package/dist/dashboard/{acceptance-criteria-e5iiHlRx.js.map → acceptance-criteria-Dk9hhiYj.js.map} +1 -1
- package/dist/dashboard/{agent-enrichment-C67LJBgD.js → agent-enrichment-DdO7ZqjI.js} +11 -7
- package/dist/dashboard/agent-enrichment-DdO7ZqjI.js.map +1 -0
- package/dist/dashboard/{agent-enrichment-Cq0P1cNZ.js → agent-enrichment-dLeGE1fX.js} +1 -1
- package/dist/dashboard/{agents-YyO6t5Xa.js → agents-DCpQQ_W5.js} +14 -14
- package/dist/dashboard/{agents-YyO6t5Xa.js.map → agents-DCpQQ_W5.js.map} +1 -1
- package/dist/dashboard/{agents-BVBVCyat.js → agents-Dgh2TjSp.js} +1 -1
- package/dist/dashboard/{archive-planning-h-hAjk0P.js → archive-planning-BmW9UDTr.js} +3 -3
- package/dist/dashboard/{archive-planning-h-hAjk0P.js.map → archive-planning-BmW9UDTr.js.map} +1 -1
- package/dist/dashboard/{archive-planning-CScs1MOC.js → archive-planning-C3Ebf9yC.js} +1 -1
- package/dist/dashboard/{beads-qNB0yAHV.js → beads-Bv-AdX7G.js} +3 -3
- package/dist/dashboard/{beads-qNB0yAHV.js.map → beads-Bv-AdX7G.js.map} +1 -1
- package/dist/dashboard/{beads-D_FRedEJ.js → beads-By6-X07V.js} +1 -1
- package/dist/dashboard/clean-planning-D60L8rPY.js +2 -0
- package/dist/dashboard/{clean-planning-qafw99vY.js → clean-planning-VEJu5suh.js} +2 -2
- package/dist/dashboard/{clean-planning-qafw99vY.js.map → clean-planning-VEJu5suh.js.map} +1 -1
- package/dist/dashboard/close-issue-C2KeSKKJ.js +2 -0
- package/dist/dashboard/{close-issue-DfIggeZD.js → close-issue-DtKdsSTm.js} +11 -7
- package/dist/dashboard/close-issue-DtKdsSTm.js.map +1 -0
- package/dist/dashboard/compact-beads-C7BN5N11.js +2 -0
- package/dist/dashboard/{compact-beads-Dt0qTqsC.js → compact-beads-D8Vt3qyv.js} +2 -2
- package/dist/dashboard/{compact-beads-Dt0qTqsC.js.map → compact-beads-D8Vt3qyv.js.map} +1 -1
- package/dist/dashboard/{config-CUREjHP7.js → config-CDkGjnwy.js} +2 -2
- package/dist/dashboard/{config-CUREjHP7.js.map → config-CDkGjnwy.js.map} +1 -1
- package/dist/dashboard/{config-BeI3uy-8.js → config-CTXkBATQ.js} +1 -1
- package/dist/dashboard/{database-CozA13Wy.js → database-DhqASALP.js} +1 -1
- package/dist/dashboard/{database-C0y0hXBx.js → database-cxmQryoh.js} +2 -2
- package/dist/dashboard/{database-C0y0hXBx.js.map → database-cxmQryoh.js.map} +1 -1
- package/dist/dashboard/{dist-src-oG2iHzgI.js → dist-src-DTm11oQr.js} +1 -1
- package/dist/dashboard/{dist-src-oG2iHzgI.js.map → dist-src-DTm11oQr.js.map} +1 -1
- package/dist/dashboard/{event-store-D7kLBd07.js → event-store-VWWUmOfn.js} +1 -1
- package/dist/dashboard/{event-store-O9q0Gweh.js → event-store-vSmAA3Zp.js} +9 -4
- package/dist/dashboard/event-store-vSmAA3Zp.js.map +1 -0
- package/dist/dashboard/{factory-BnLdiQW-.js → factory-C8nhLGHB.js} +3 -3
- package/dist/dashboard/{factory-BnLdiQW-.js.map → factory-C8nhLGHB.js.map} +1 -1
- package/dist/dashboard/{feedback-writer-DyovUANg.js → feedback-writer-CudSe1WK.js} +2 -2
- package/dist/dashboard/{feedback-writer-DyovUANg.js.map → feedback-writer-CudSe1WK.js.map} +1 -1
- package/dist/dashboard/{feedback-writer-gSUv_W0h.js → feedback-writer-Wgv1cd1r.js} +1 -1
- package/dist/dashboard/{git-utils-BJRioREj.js → git-utils-C1m4SwAe.js} +1 -1
- package/dist/dashboard/{git-utils-BJRioREj.js.map → git-utils-C1m4SwAe.js.map} +1 -1
- package/dist/dashboard/{git-utils-BtCRddq3.js → git-utils-DQI8EYoj.js} +1 -1
- package/dist/dashboard/{github-app-XO-LBUGk.js → github-app-DClWjjHr.js} +1 -1
- package/dist/dashboard/{github-app-XO-LBUGk.js.map → github-app-DClWjjHr.js.map} +1 -1
- package/dist/dashboard/{health-events-db-584nYgJB.js → health-events-db-BMXQfInV.js} +1 -1
- package/dist/dashboard/{health-events-db-B3ChzN65.js → health-events-db-Do4NrOhC.js} +2 -2
- package/dist/dashboard/{health-events-db-B3ChzN65.js.map → health-events-db-Do4NrOhC.js.map} +1 -1
- package/dist/dashboard/{hooks-CKhs3N68.js → hooks-CB4T47NC.js} +1 -1
- package/dist/dashboard/{hooks-CErbP8Oq.js → hooks-CjqXOlNb.js} +2 -2
- package/dist/dashboard/{hooks-CErbP8Oq.js.map → hooks-CjqXOlNb.js.map} +1 -1
- package/dist/dashboard/hume-CA2pftu_.js +3 -0
- package/dist/dashboard/{hume-CX_U3Qha.js → hume-JsAlMOJC.js} +2 -2
- package/dist/dashboard/{hume-CX_U3Qha.js.map → hume-JsAlMOJC.js.map} +1 -1
- package/dist/dashboard/{inspect-agent-B57kGDUV.js → inspect-agent-7eour7EA.js} +3 -3
- package/dist/dashboard/{inspect-agent-B57kGDUV.js.map → inspect-agent-7eour7EA.js.map} +1 -1
- package/dist/dashboard/{io-yGovuG4U.js → io-CWlFW78i.js} +1 -1
- package/dist/dashboard/{io-AJg-mzFi.js → io-DKS6359z.js} +1 -1
- package/dist/dashboard/{io-AJg-mzFi.js.map → io-DKS6359z.js.map} +1 -1
- package/dist/dashboard/issue-id-vwYJdsf8.js +62 -0
- package/dist/dashboard/issue-id-vwYJdsf8.js.map +1 -0
- package/dist/dashboard/{issue-service-singleton-DQK42EqH.js → issue-service-singleton-Co__-6kL.js} +1 -1
- package/dist/dashboard/{issue-service-singleton-sb2HkB9f.js → issue-service-singleton-Wv4xBm3y.js} +7 -7
- package/dist/dashboard/{issue-service-singleton-sb2HkB9f.js.map → issue-service-singleton-Wv4xBm3y.js.map} +1 -1
- package/dist/dashboard/{label-cleanup-CZEsbtq9.js → label-cleanup-nVKTmIIW.js} +7 -4
- package/dist/dashboard/label-cleanup-nVKTmIIW.js.map +1 -0
- package/dist/dashboard/lifecycle-BcUmtkR4.js +7 -0
- package/dist/dashboard/{merge-agent-GLtMEsTu.js → merge-agent-CGN3TT0a.js} +1 -1
- package/dist/dashboard/{merge-agent-twroFuAh.js → merge-agent-yudQOPZc.js} +148 -46
- package/dist/dashboard/merge-agent-yudQOPZc.js.map +1 -0
- package/dist/dashboard/{paths-COdEvoXR.js → paths-BDyJ7BiV.js} +19 -2
- package/dist/dashboard/{paths-COdEvoXR.js.map → paths-BDyJ7BiV.js.map} +1 -1
- package/dist/dashboard/{pipeline-notifier-DM5AHG5Q.js → pipeline-notifier-CCSN-jar.js} +1 -1
- package/dist/dashboard/{pipeline-notifier-DM5AHG5Q.js.map → pipeline-notifier-CCSN-jar.js.map} +1 -1
- package/dist/dashboard/{plan-utils-BkCIhn3B.js → plan-utils-Bkcsqr_s.js} +3 -3
- package/dist/dashboard/{plan-utils-BkCIhn3B.js.map → plan-utils-Bkcsqr_s.js.map} +1 -1
- package/dist/dashboard/{prd-draft-D09Afalc.js → prd-draft-BD8oMkZ1.js} +2 -2
- package/dist/dashboard/{prd-draft-D09Afalc.js.map → prd-draft-BD8oMkZ1.js.map} +1 -1
- package/dist/dashboard/{projection-cache-DQ9zegkK.js → projection-cache-C0EL8s8h.js} +1 -1
- package/dist/dashboard/{projection-cache-DQ9zegkK.js.map → projection-cache-C0EL8s8h.js.map} +1 -1
- package/dist/dashboard/{projects-DyT3vSy-.js → projects-C5ozxjwP.js} +1 -1
- package/dist/dashboard/{projects-Cq3TWdPS.js → projects-CFVl4oHn.js} +25 -13
- package/dist/dashboard/projects-CFVl4oHn.js.map +1 -0
- package/dist/dashboard/{providers-Ck2sQd_F.js → providers-B5Y4H2Mg.js} +4 -4
- package/dist/dashboard/providers-B5Y4H2Mg.js.map +1 -0
- package/dist/dashboard/{providers-DVQnDekG.js → providers-csVZVPkE.js} +1 -1
- package/dist/dashboard/public/assets/{dist-CCJbQrSB.js → dist-BaQPC-c6.js} +1 -1
- package/dist/dashboard/public/assets/index-ByLmYGhW.js +212 -0
- package/dist/dashboard/public/assets/index-OEEbThNN.css +1 -0
- package/dist/dashboard/public/index.html +2 -2
- package/dist/dashboard/rally-6McpKKRa.js +3 -0
- package/dist/dashboard/{rally-Cwuae-4C.js → rally-YjFRxIiC.js} +2 -2
- package/dist/dashboard/{rally-Cwuae-4C.js.map → rally-YjFRxIiC.js.map} +1 -1
- package/dist/dashboard/{rally-api-DSUxm7EO.js → rally-api-C0WqCSkT.js} +1 -1
- package/dist/dashboard/{rally-api-DSUxm7EO.js.map → rally-api-C0WqCSkT.js.map} +1 -1
- package/dist/dashboard/{rally-api-CEH5KZi4.js → rally-api-DNttdCW4.js} +1 -1
- package/dist/dashboard/{remote-BHTTMpJJ.js → remote-Cigqjj3f.js} +2 -2
- package/dist/dashboard/{remote-BXo_iIku.js → remote-ObpNZ7hF.js} +2 -2
- package/dist/dashboard/{remote-BXo_iIku.js.map → remote-ObpNZ7hF.js.map} +1 -1
- package/dist/dashboard/{remote-agents-CTKVhFFY.js → remote-agents-Bf3GuM7t.js} +1 -1
- package/dist/dashboard/{remote-agents-C0_0LLNd.js → remote-agents-DFyjT1Le.js} +1 -1
- package/dist/dashboard/{remote-agents-C0_0LLNd.js.map → remote-agents-DFyjT1Le.js.map} +1 -1
- package/dist/dashboard/{review-status-CK3eBGyb.js → review-status-BtXqWBhS.js} +1 -1
- package/dist/dashboard/{review-status-CV55Tl-n.js → review-status-Bymwzh2i.js} +44 -4
- package/dist/dashboard/{review-status-CV55Tl-n.js.map → review-status-Bymwzh2i.js.map} +1 -1
- package/dist/dashboard/server.js +559 -253
- package/dist/dashboard/server.js.map +1 -1
- package/dist/dashboard/{settings-CuHV-wcv.js → settings-BHlDG7TK.js} +2 -2
- package/dist/dashboard/settings-BHlDG7TK.js.map +1 -0
- package/dist/dashboard/settings-XWvDcj-D.js +2 -0
- package/dist/dashboard/{shadow-engineering-BUeZunaE.js → shadow-engineering-lIn1W_95.js} +1 -1
- package/dist/dashboard/{shadow-engineering-BUeZunaE.js.map → shadow-engineering-lIn1W_95.js.map} +1 -1
- package/dist/dashboard/{shadow-state-DHQ-kASN.js → shadow-state-BIexcxkv.js} +1 -1
- package/dist/dashboard/{shadow-state-DHQ-kASN.js.map → shadow-state-BIexcxkv.js.map} +1 -1
- package/dist/dashboard/{spawn-planning-session-8FFAqLdK.js → spawn-planning-session-33Jf-d5T.js} +6 -6
- package/dist/dashboard/{spawn-planning-session-8FFAqLdK.js.map → spawn-planning-session-33Jf-d5T.js.map} +1 -1
- package/dist/dashboard/{spawn-planning-session-U0Lqpjen.js → spawn-planning-session-D5hrVdWM.js} +1 -1
- package/dist/dashboard/{specialist-context-ColzlmGE.js → specialist-context-DGukHSn8.js} +6 -6
- package/dist/dashboard/{specialist-context-ColzlmGE.js.map → specialist-context-DGukHSn8.js.map} +1 -1
- package/dist/dashboard/{specialist-logs-BhmDpFIq.js → specialist-logs-CIw4qfTy.js} +1 -1
- package/dist/dashboard/{specialists-C6s3U6tX.js → specialists-B_zrayaP.js} +37 -36
- package/dist/dashboard/specialists-B_zrayaP.js.map +1 -0
- package/dist/dashboard/{specialists-Cny632-T.js → specialists-Cp-PgspS.js} +1 -1
- package/dist/dashboard/{test-agent-queue-tqI4VDsu.js → test-agent-queue-ypF_ecHo.js} +4 -4
- package/dist/dashboard/{test-agent-queue-tqI4VDsu.js.map → test-agent-queue-ypF_ecHo.js.map} +1 -1
- package/dist/dashboard/{tldr-daemon-BNFyS7W_.js → tldr-daemon-B_oLRD8z.js} +2 -2
- package/dist/dashboard/{tldr-daemon-BNFyS7W_.js.map → tldr-daemon-B_oLRD8z.js.map} +1 -1
- package/dist/dashboard/{tldr-daemon-A6JqC59u.js → tldr-daemon-Cfs0bXTi.js} +1 -1
- package/dist/dashboard/{tmux-DYGAVJfb.js → tmux-BzxdKItf.js} +1 -1
- package/dist/dashboard/{tmux-IlN1Slv-.js → tmux-LwG0tHhU.js} +2 -2
- package/dist/dashboard/{tmux-IlN1Slv-.js.map → tmux-LwG0tHhU.js.map} +1 -1
- package/dist/dashboard/{tracker-config-BzNLnmcE.js → tracker-config-BP59uH4V.js} +1 -1
- package/dist/dashboard/{tracker-config-CNM_5rEf.js → tracker-config-e7ph1QqT.js} +2 -2
- package/dist/dashboard/{tracker-config-CNM_5rEf.js.map → tracker-config-e7ph1QqT.js.map} +1 -1
- package/dist/dashboard/{tunnel-D2BkwU7k.js → tunnel-0RzzuXPf.js} +1 -1
- package/dist/dashboard/{tunnel-Dub2hiAA.js → tunnel-DldbBPWL.js} +2 -2
- package/dist/dashboard/{tunnel-Dub2hiAA.js.map → tunnel-DldbBPWL.js.map} +1 -1
- package/dist/dashboard/{types-CWA-o4UN.js → types-RKZjGE5N.js} +1 -1
- package/dist/dashboard/{types-CWA-o4UN.js.map → types-RKZjGE5N.js.map} +1 -1
- package/dist/dashboard/{vtt-parser-BAXygRf0.js → vtt-parser-99vFekRQ.js} +1 -1
- package/dist/dashboard/{vtt-parser-BAXygRf0.js.map → vtt-parser-99vFekRQ.js.map} +1 -1
- package/dist/dashboard/{work-agent-prompt-JYq_OugP.js → work-agent-prompt-fCg67nyo.js} +65 -10
- package/dist/dashboard/{work-agent-prompt-JYq_OugP.js.map → work-agent-prompt-fCg67nyo.js.map} +1 -1
- package/dist/dashboard/{work-type-router-Cxp8_ur2.js → work-type-router-CWVW2Wk_.js} +1 -1
- package/dist/dashboard/{work-type-router-Cxp8_ur2.js.map → work-type-router-CWVW2Wk_.js.map} +1 -1
- package/dist/dashboard/{work-type-router-Com2amST.js → work-type-router-Di5gCQwh.js} +1 -1
- package/dist/dashboard/{workflows-N1UTipYl.js → workflows-BSMipN07.js} +35 -17
- package/dist/dashboard/workflows-BSMipN07.js.map +1 -0
- package/dist/dashboard/workflows-DaYWQIS2.js +2 -0
- package/dist/dashboard/{workspace-config-cmp5_ipD.js → workspace-config-DVDR-Ukh.js} +1 -1
- package/dist/dashboard/workspace-config-DVDR-Ukh.js.map +1 -0
- package/dist/dashboard/{workspace-manager-CjpWPgzL.js → workspace-manager-BYfzs_t2.js} +1 -1
- package/dist/dashboard/{workspace-manager-D_y9ZmW_.js → workspace-manager-C7OfT62A.js} +44 -24
- package/dist/dashboard/workspace-manager-C7OfT62A.js.map +1 -0
- package/dist/{dns-BKzHm-2q.js → dns-D_aKQJjb.js} +1 -1
- package/dist/{dns-DZwOWvVO.js → dns-Yxq4NNS7.js} +1 -1
- package/dist/{dns-DZwOWvVO.js.map → dns-Yxq4NNS7.js.map} +1 -1
- package/dist/{factory-DFu3IT4r.js → factory-BRBGw6OB.js} +1 -1
- package/dist/{factory-DfzczxN1.js → factory-DzsOiZVc.js} +3 -3
- package/dist/{factory-DfzczxN1.js.map → factory-DzsOiZVc.js.map} +1 -1
- package/dist/{feedback-writer-CwdnOkPO.js → feedback-writer-ygXN5F9N.js} +2 -2
- package/dist/{feedback-writer-CwdnOkPO.js.map → feedback-writer-ygXN5F9N.js.map} +1 -1
- package/dist/{github-app-CHKwxOeQ.js → github-app-DykduJ0X.js} +1 -1
- package/dist/{github-app-CHKwxOeQ.js.map → github-app-DykduJ0X.js.map} +1 -1
- package/dist/hume-9nv1VmMV.js +3 -0
- package/dist/{hume-DnV-tDsh.js → hume-DoCbph2h.js} +2 -2
- package/dist/{hume-DnV-tDsh.js.map → hume-DoCbph2h.js.map} +1 -1
- package/dist/index.d.ts +17 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -7
- package/dist/issue-id-CAcekoIw.js +62 -0
- package/dist/issue-id-CAcekoIw.js.map +1 -0
- package/dist/{label-cleanup-31ElPqqv.js → label-cleanup-C8R9Rspn.js} +7 -4
- package/dist/label-cleanup-C8R9Rspn.js.map +1 -0
- package/dist/{manifest-DL0oDbpv.js → manifest-B4ghOD-V.js} +1 -1
- package/dist/{manifest-DL0oDbpv.js.map → manifest-B4ghOD-V.js.map} +1 -1
- package/dist/{merge-agent-VQH9z9t8.js → merge-agent-DlUiUanN.js} +86 -33
- package/dist/merge-agent-DlUiUanN.js.map +1 -0
- package/dist/{paths-lMaxrYtT.js → paths-CDJ_HsbN.js} +19 -2
- package/dist/{paths-lMaxrYtT.js.map → paths-CDJ_HsbN.js.map} +1 -1
- package/dist/{pipeline-notifier-OJ-d3Y60.js → pipeline-notifier-XgDdCdvT.js} +1 -1
- package/dist/{pipeline-notifier-OJ-d3Y60.js.map → pipeline-notifier-XgDdCdvT.js.map} +1 -1
- package/dist/{projects-CvLepaxC.js → projects-Bk-5QhFQ.js} +25 -13
- package/dist/projects-Bk-5QhFQ.js.map +1 -0
- package/dist/{projects-DMWmPeIU.js → projects-DhU7rAVN.js} +1 -1
- package/dist/{providers-DcCPZ5K4.js → providers-DSU1vfQF.js} +4 -4
- package/dist/providers-DSU1vfQF.js.map +1 -0
- package/dist/rally-DdPvGa-w.js +3 -0
- package/dist/{rally-uUUZXp1h.js → rally-Dy00NElU.js} +1 -1
- package/dist/{rally-uUUZXp1h.js.map → rally-Dy00NElU.js.map} +1 -1
- package/dist/{remote-CkLBqLJc.js → remote-CYiOJg0q.js} +2 -2
- package/dist/{remote-CkLBqLJc.js.map → remote-CYiOJg0q.js.map} +1 -1
- package/dist/{remote-agents-C5Bd2fgt.js → remote-agents-CZXrUF4f.js} +1 -1
- package/dist/{remote-agents-C5Bd2fgt.js.map → remote-agents-CZXrUF4f.js.map} +1 -1
- package/dist/{remote-agents-BTzD-wMQ.js → remote-agents-ycHHVsgf.js} +1 -1
- package/dist/{remote-workspace-Dxghqiti.js → remote-workspace-CA33UuVI.js} +4 -4
- package/dist/{remote-workspace-Dxghqiti.js.map → remote-workspace-CA33UuVI.js.map} +1 -1
- package/dist/{review-status-2TdtHNcs.js → review-status-D6H2WOw8.js} +1 -1
- package/dist/{review-status-Bm1bWNEa.js → review-status-DEDvCKMP.js} +44 -4
- package/dist/{review-status-Bm1bWNEa.js.map → review-status-DEDvCKMP.js.map} +1 -1
- package/dist/{tracker-C_62ukEq.js → settings-BcWPTrua.js} +7 -199
- package/dist/settings-BcWPTrua.js.map +1 -0
- package/dist/shadow-state-BZzxfEGw.js +2 -0
- package/dist/{shadow-state-CFFHf05M.js → shadow-state-CE3dQfll.js} +1 -1
- package/dist/{shadow-state-CFFHf05M.js.map → shadow-state-CE3dQfll.js.map} +1 -1
- package/dist/{specialist-context-BdNFsfMG.js → specialist-context-BAUWL1Fl.js} +6 -6
- package/dist/{specialist-context-BdNFsfMG.js.map → specialist-context-BAUWL1Fl.js.map} +1 -1
- package/dist/{specialist-logs-CLztE_bE.js → specialist-logs-DQKKQV9B.js} +1 -1
- package/dist/{specialists-aUoUVWsN.js → specialists-Bfb9ATzw.js} +1 -1
- package/dist/{specialists-DEKqgkxp.js → specialists-D7Kj5o6s.js} +35 -34
- package/dist/specialists-D7Kj5o6s.js.map +1 -0
- package/dist/sync-DMfgd389.js +693 -0
- package/dist/sync-DMfgd389.js.map +1 -0
- package/dist/sync-TL6y-8K6.js +2 -0
- package/dist/{tldr-daemon-BCEFPItr.js → tldr-daemon-CFx4LXAl.js} +2 -2
- package/dist/{tldr-daemon-BCEFPItr.js.map → tldr-daemon-CFx4LXAl.js.map} +1 -1
- package/dist/{tldr-daemon-xBAx4cBE.js → tldr-daemon-D_EooADG.js} +1 -1
- package/dist/{tmux-DN6H886Y.js → tmux-CBtui_Cl.js} +1 -1
- package/dist/{tmux-CKdNxxJx.js → tmux-D6Ah4I8z.js} +2 -2
- package/dist/{tmux-CKdNxxJx.js.map → tmux-D6Ah4I8z.js.map} +1 -1
- package/dist/tracker-BhYYvU3p.js +198 -0
- package/dist/tracker-BhYYvU3p.js.map +1 -0
- package/dist/{tracker-utils-CVU2W1sX.js → tracker-utils-ChQyut8w.js} +34 -12
- package/dist/tracker-utils-ChQyut8w.js.map +1 -0
- package/dist/{traefik-DHgBoWXX.js → traefik-C80EbDu_.js} +4 -4
- package/dist/{traefik-DHgBoWXX.js.map → traefik-C80EbDu_.js.map} +1 -1
- package/dist/{traefik-BR-edbZv.js → traefik-CgHl7Bge.js} +1 -1
- package/dist/{tunnel-BZO9Q5oe.js → tunnel-DXOJ1wMM.js} +1 -1
- package/dist/{tunnel-Bl1qNSyQ.js → tunnel-DzXEPwIc.js} +2 -2
- package/dist/{tunnel-Bl1qNSyQ.js.map → tunnel-DzXEPwIc.js.map} +1 -1
- package/dist/{types-DewGdaIP.js → types-BhJj1SP1.js} +1 -1
- package/dist/{types-DewGdaIP.js.map → types-BhJj1SP1.js.map} +1 -1
- package/dist/{work-type-router-CS2BB1vS.js → work-type-router-CHjciPyS.js} +3 -3
- package/dist/{work-type-router-CS2BB1vS.js.map → work-type-router-CHjciPyS.js.map} +1 -1
- package/dist/{workspace-config-CNXOpKuj.js → workspace-config-fUafvYMp.js} +1 -1
- package/dist/workspace-config-fUafvYMp.js.map +1 -0
- package/dist/workspace-manager-B9jS4Dsq.js +3 -0
- package/dist/{workspace-manager-CncdZkIy.js → workspace-manager-DuLhnzJV.js} +112 -27
- package/dist/workspace-manager-DuLhnzJV.js.map +1 -0
- package/package.json +2 -1
- package/scripts/post-merge-deploy.sh +25 -5
- package/scripts/record-cost-event.js +57 -7
- package/scripts/record-cost-event.js.map +1 -1
- package/skills/pan-help/SKILL.md +1 -1
- package/skills/pan-sync/SKILL.md +6 -6
- package/skills/workspace-add-repo/skill.md +46 -0
- package/templates/claude-md/sections/warnings.md +15 -2
- package/dist/clean-planning-sZXvy3Y5.js +0 -2
- package/dist/close-issue-Dml437qV.js +0 -2
- package/dist/close-issue-Dr7yZmrr.js.map +0 -1
- package/dist/compact-beads-iu218JcO.js +0 -2
- package/dist/dashboard/agent-enrichment-C67LJBgD.js.map +0 -1
- package/dist/dashboard/clean-planning-DCu3cOTu.js +0 -2
- package/dist/dashboard/close-issue-DfIggeZD.js.map +0 -1
- package/dist/dashboard/close-issue-DwdwYtar.js +0 -2
- package/dist/dashboard/compact-beads-DXY2fK2s.js +0 -2
- package/dist/dashboard/event-store-O9q0Gweh.js.map +0 -1
- package/dist/dashboard/hume-MZndNDVU.js +0 -3
- package/dist/dashboard/label-cleanup-CZEsbtq9.js.map +0 -1
- package/dist/dashboard/lifecycle-ZTYdrr2O.js +0 -7
- package/dist/dashboard/merge-agent-twroFuAh.js.map +0 -1
- package/dist/dashboard/projects-Cq3TWdPS.js.map +0 -1
- package/dist/dashboard/providers-Ck2sQd_F.js.map +0 -1
- package/dist/dashboard/public/assets/index-CpSmB2ts.css +0 -1
- package/dist/dashboard/public/assets/index-yarWhi0M.js +0 -214
- package/dist/dashboard/rally-CQ1OBJrJ.js +0 -3
- package/dist/dashboard/settings-CuHV-wcv.js.map +0 -1
- package/dist/dashboard/settings-DMeGBRsk.js +0 -2
- package/dist/dashboard/specialists-C6s3U6tX.js.map +0 -1
- package/dist/dashboard/workflows-B2ARUpOa.js +0 -2
- package/dist/dashboard/workflows-N1UTipYl.js.map +0 -1
- package/dist/dashboard/workspace-config-cmp5_ipD.js.map +0 -1
- package/dist/dashboard/workspace-manager-D_y9ZmW_.js.map +0 -1
- package/dist/hume-BjmwmJ9E.js +0 -3
- package/dist/label-cleanup-31ElPqqv.js.map +0 -1
- package/dist/merge-agent-VQH9z9t8.js.map +0 -1
- package/dist/projects-CvLepaxC.js.map +0 -1
- package/dist/providers-DcCPZ5K4.js.map +0 -1
- package/dist/rally-DR9x8--6.js +0 -3
- package/dist/shadow-state-p3jpGRPJ.js +0 -2
- package/dist/specialists-DEKqgkxp.js.map +0 -1
- package/dist/tracker-C_62ukEq.js.map +0 -1
- package/dist/tracker-utils-CVU2W1sX.js.map +0 -1
- package/dist/workspace-config-CNXOpKuj.js.map +0 -1
- package/dist/workspace-manager-CncdZkIy.js.map +0 -1
- package/dist/workspace-manager-Cx0r2Jnv.js +0 -3
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
1
|
+
import { _ as init_paths, s as PANOPTICON_HOME } from "./paths-BDyJ7BiV.js";
|
|
2
|
+
import { n as getEventStore } from "./event-store-vSmAA3Zp.js";
|
|
3
|
+
import { i as parseIssueId, n as extractPrefix, r as init_issue_id, t as extractNumber } from "./issue-id-vwYJdsf8.js";
|
|
4
|
+
import { g as loadProjectsConfig, p as init_projects, s as getIssuePrefix, y as resolveProjectFromIssue } from "./projects-CFVl4oHn.js";
|
|
5
|
+
import { H as recordWake, I as isRunning, O as getTmuxSessionName, Y as spawnEphemeralSpecialist, j as init_specialists, rt as wakeSpecialist } from "./specialists-B_zrayaP.js";
|
|
6
|
+
import { n as init_workspace_config, r as replacePlaceholders } from "./workspace-config-DVDR-Ukh.js";
|
|
7
|
+
import { l as sendKeysAsync, o as init_tmux, u as sessionExists } from "./tmux-LwG0tHhU.js";
|
|
8
|
+
import { a as init_config, o as loadConfig } from "./config-CDkGjnwy.js";
|
|
9
|
+
import { t as cleanupStaleLocks } from "./git-utils-C1m4SwAe.js";
|
|
8
10
|
import { appendFileSync, existsSync, mkdirSync, readFileSync } from "fs";
|
|
9
11
|
import { basename, dirname, join, relative } from "path";
|
|
10
12
|
import { homedir } from "os";
|
|
11
13
|
import { fileURLToPath } from "url";
|
|
14
|
+
import { randomUUID } from "crypto";
|
|
12
15
|
import { exec, spawn } from "child_process";
|
|
13
16
|
import { promisify } from "util";
|
|
14
17
|
import { writeFile } from "fs/promises";
|
|
@@ -20,6 +23,7 @@ import { writeFile } from "fs/promises";
|
|
|
20
23
|
* Eliminates hardcoded prefix checks like `issueId.startsWith('PAN-')`.
|
|
21
24
|
*/
|
|
22
25
|
init_projects();
|
|
26
|
+
init_issue_id();
|
|
23
27
|
/**
|
|
24
28
|
* Parse GitHub repos from GITHUB_REPOS env var and projects.yaml.
|
|
25
29
|
* Priority: GITHUB_REPOS env var first, then auto-derive from projects.yaml.
|
|
@@ -55,10 +59,12 @@ function parseGitHubRepos() {
|
|
|
55
59
|
return repos;
|
|
56
60
|
}
|
|
57
61
|
/**
|
|
58
|
-
* Extract the prefix from an issue ID (e.g., "CLI" from "CLI-1", "PAN" from "PAN-42").
|
|
62
|
+
* Extract the prefix from an issue ID (e.g., "CLI" from "CLI-1", "PAN" from "PAN-42", "F" from "F29698").
|
|
63
|
+
* Uses unified parser to support standard, Rally, and custom formats.
|
|
64
|
+
* @deprecated Use extractPrefix from issue-id.ts for unified parsing
|
|
59
65
|
*/
|
|
60
66
|
function extractIssuePrefix(issueId) {
|
|
61
|
-
return issueId.split("-")[0].toUpperCase();
|
|
67
|
+
return extractPrefix(issueId) ?? issueId.split("-")[0].toUpperCase();
|
|
62
68
|
}
|
|
63
69
|
/**
|
|
64
70
|
* Resolve an issue ID to its GitHub repo config, or determine it's not a GitHub issue.
|
|
@@ -70,8 +76,8 @@ function resolveGitHubIssue(issueId) {
|
|
|
70
76
|
const prefix = extractIssuePrefix(issueId);
|
|
71
77
|
const repos = parseGitHubRepos();
|
|
72
78
|
for (const repoConfig of repos) if (repoConfig.prefix === prefix) {
|
|
73
|
-
const number =
|
|
74
|
-
if (
|
|
79
|
+
const number = extractNumber(issueId);
|
|
80
|
+
if (number !== null) return {
|
|
75
81
|
isGitHub: true,
|
|
76
82
|
...repoConfig,
|
|
77
83
|
number
|
|
@@ -84,23 +90,120 @@ function resolveGitHubIssue(issueId) {
|
|
|
84
90
|
*
|
|
85
91
|
* Resolution order:
|
|
86
92
|
* 1. GitHub — prefix matches a configured github_repo project
|
|
87
|
-
* 2. Rally — prefix matches a project with rally_project
|
|
93
|
+
* 2. Rally — prefix matches a project with rally_project or tracker: 'rally'
|
|
88
94
|
* 3. Linear — fallback (matches linear_team or unknown prefix)
|
|
89
95
|
*/
|
|
90
96
|
function resolveTrackerType(issueId) {
|
|
91
97
|
if (resolveGitHubIssue(issueId).isGitHub) return "github";
|
|
92
|
-
const
|
|
98
|
+
const parsed = parseIssueId(issueId);
|
|
99
|
+
if (!parsed) return "linear";
|
|
93
100
|
try {
|
|
94
101
|
const { projects } = loadProjectsConfig();
|
|
95
|
-
for (const [key, project] of Object.entries(projects))
|
|
96
|
-
|
|
97
|
-
if (
|
|
98
|
-
|
|
102
|
+
for (const [key, project] of Object.entries(projects)) {
|
|
103
|
+
const singlePrefix = getIssuePrefix(project);
|
|
104
|
+
if (singlePrefix?.toUpperCase() === parsed.prefix) {
|
|
105
|
+
if (project.tracker) return project.tracker;
|
|
106
|
+
if (project.github_repo) return "github";
|
|
107
|
+
if (project.rally_project) return "rally";
|
|
108
|
+
return "linear";
|
|
109
|
+
}
|
|
110
|
+
if (project.issue_prefixes?.some((p) => p.toUpperCase() === parsed.prefix)) {
|
|
111
|
+
if (project.tracker) return project.tracker;
|
|
112
|
+
if (project.rally_project) return "rally";
|
|
113
|
+
return "linear";
|
|
114
|
+
}
|
|
115
|
+
if (!singlePrefix && !project.issue_prefixes) {
|
|
116
|
+
if (key.toUpperCase().replace(/-/g, "") === parsed.prefix) {
|
|
117
|
+
if (project.tracker) return project.tracker;
|
|
118
|
+
if (project.github_repo) return "github";
|
|
119
|
+
if (project.rally_project) return "rally";
|
|
120
|
+
return "linear";
|
|
121
|
+
}
|
|
122
|
+
}
|
|
99
123
|
}
|
|
100
124
|
} catch {}
|
|
101
125
|
return "linear";
|
|
102
126
|
}
|
|
103
127
|
//#endregion
|
|
128
|
+
//#region ../../lib/activity-logger.ts
|
|
129
|
+
/**
|
|
130
|
+
* Shared activity logger — emits activity.entry events to the SQLite event store.
|
|
131
|
+
*
|
|
132
|
+
* Replaces flat-file logActivity() in merge-agent.ts and provides a unified
|
|
133
|
+
* activity logging API for all Panopticon components (merge-agent, cloister,
|
|
134
|
+
* specialists, dashboard).
|
|
135
|
+
*
|
|
136
|
+
* Activity entries are persisted to the event store and flow through:
|
|
137
|
+
* event store → PubSub → WebSocket → EventRouter → Zustand store → ActivityPanel
|
|
138
|
+
*
|
|
139
|
+
* Usage:
|
|
140
|
+
* import { emitActivityEntry } from '../lib/activity-logger.js';
|
|
141
|
+
* emitActivityEntry({ source: 'merge-agent', level: 'info', message: '...', issueId: 'PAN-123' });
|
|
142
|
+
*/
|
|
143
|
+
/**
|
|
144
|
+
* Emit an activity.entry domain event to the SQLite event store.
|
|
145
|
+
* Non-blocking — throws silently if event store is not yet initialized.
|
|
146
|
+
*
|
|
147
|
+
* The event is persisted to SQLite immediately and PubSub notifies all
|
|
148
|
+
* WebSocket subscribers so the ActivityPanel updates in real-time.
|
|
149
|
+
*/
|
|
150
|
+
function emitActivityEntry(options) {
|
|
151
|
+
try {
|
|
152
|
+
const store = getEventStore();
|
|
153
|
+
const entry = {
|
|
154
|
+
type: "activity.entry",
|
|
155
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
156
|
+
payload: {
|
|
157
|
+
id: randomUUID(),
|
|
158
|
+
source: options.source,
|
|
159
|
+
level: options.level,
|
|
160
|
+
message: options.message,
|
|
161
|
+
details: options.details ?? null,
|
|
162
|
+
issueId: options.issueId ?? null
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
store.append(entry);
|
|
166
|
+
} catch {}
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Emit a dashboard lifecycle event (started, completed, failed).
|
|
170
|
+
* Used by pending-lifecycle.ts and merge-agent.ts.
|
|
171
|
+
*/
|
|
172
|
+
function emitDashboardLifecycle(status, options) {
|
|
173
|
+
try {
|
|
174
|
+
const store = getEventStore();
|
|
175
|
+
let event;
|
|
176
|
+
if (status === "started") event = {
|
|
177
|
+
type: "dashboard.lifecycle_started",
|
|
178
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
179
|
+
payload: {
|
|
180
|
+
reason: options.reason,
|
|
181
|
+
issueId: options.issueId ?? null,
|
|
182
|
+
trigger: options.trigger ?? "unknown"
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
else if (status === "completed") event = {
|
|
186
|
+
type: "dashboard.lifecycle_completed",
|
|
187
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
188
|
+
payload: {
|
|
189
|
+
reason: options.reason,
|
|
190
|
+
issueId: options.issueId ?? null,
|
|
191
|
+
durationMs: options.durationMs ?? 0
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
else event = {
|
|
195
|
+
type: "dashboard.lifecycle_failed",
|
|
196
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
197
|
+
payload: {
|
|
198
|
+
reason: options.reason,
|
|
199
|
+
issueId: options.issueId ?? null,
|
|
200
|
+
error: options.error ?? "unknown error"
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
store.append(event);
|
|
204
|
+
} catch {}
|
|
205
|
+
}
|
|
206
|
+
//#endregion
|
|
104
207
|
//#region ../../lib/cloister/validation.ts
|
|
105
208
|
/**
|
|
106
209
|
* Merge Validation - Validation utilities for merge completeness
|
|
@@ -469,7 +572,7 @@ async function notifyTldrDaemon(projectPath, sourceBranch) {
|
|
|
469
572
|
return;
|
|
470
573
|
}
|
|
471
574
|
console.log(`[merge-agent] Found ${changedFiles.length} changed source files to reindex`);
|
|
472
|
-
const { getTldrDaemonService } = await import("./tldr-daemon-
|
|
575
|
+
const { getTldrDaemonService } = await import("./tldr-daemon-Cfs0bXTi.js");
|
|
473
576
|
const tldrService = getTldrDaemonService(projectPath, venvPath);
|
|
474
577
|
if (!(await tldrService.getStatus()).running) {
|
|
475
578
|
console.log(`[merge-agent] TLDR daemon not running, skipping notification`);
|
|
@@ -512,14 +615,17 @@ async function postMergeLifecycle(issueId, projectPath, sourceBranch, options) {
|
|
|
512
615
|
issueId,
|
|
513
616
|
projectPath,
|
|
514
617
|
sourceBranch: sourceBranch ?? "",
|
|
515
|
-
timestamp: Date.now()
|
|
618
|
+
timestamp: Date.now(),
|
|
619
|
+
reason: "post-merge",
|
|
620
|
+
trigger: "merge-agent"
|
|
516
621
|
}), "utf-8");
|
|
517
622
|
console.log(`[merge-agent] Wrote pending lifecycle file: ${pendingFile}`);
|
|
518
623
|
const child = spawn(deployScript, [
|
|
519
624
|
repoRoot,
|
|
520
625
|
issueId,
|
|
521
626
|
projectPath,
|
|
522
|
-
sourceBranch ?? ""
|
|
627
|
+
sourceBranch ?? "",
|
|
628
|
+
"post-merge"
|
|
523
629
|
], {
|
|
524
630
|
detached: true,
|
|
525
631
|
stdio: "ignore"
|
|
@@ -533,7 +639,7 @@ async function postMergeLifecycle(issueId, projectPath, sourceBranch, options) {
|
|
|
533
639
|
}
|
|
534
640
|
console.log(`[merge-agent] Running post-merge cleanup for ${issueId}`);
|
|
535
641
|
try {
|
|
536
|
-
const { movePrd } = await import("./archive-planning-
|
|
642
|
+
const { movePrd } = await import("./archive-planning-C3Ebf9yC.js");
|
|
537
643
|
const prdResult = await movePrd({
|
|
538
644
|
issueId,
|
|
539
645
|
projectPath
|
|
@@ -547,7 +653,7 @@ async function postMergeLifecycle(issueId, projectPath, sourceBranch, options) {
|
|
|
547
653
|
console.warn(`[merge-agent] Could not move PRD: ${err}`);
|
|
548
654
|
}
|
|
549
655
|
try {
|
|
550
|
-
const { cleanPlanningArtifacts } = await import("./clean-planning-
|
|
656
|
+
const { cleanPlanningArtifacts } = await import("./clean-planning-D60L8rPY.js");
|
|
551
657
|
const cleanResult = await cleanPlanningArtifacts({
|
|
552
658
|
issueId,
|
|
553
659
|
projectPath
|
|
@@ -561,7 +667,7 @@ async function postMergeLifecycle(issueId, projectPath, sourceBranch, options) {
|
|
|
561
667
|
console.warn(`[merge-agent] Could not clean planning artifacts: ${err}`);
|
|
562
668
|
}
|
|
563
669
|
try {
|
|
564
|
-
const { cleanupMergedLabels } = await import("./label-cleanup-
|
|
670
|
+
const { cleanupMergedLabels } = await import("./label-cleanup-nVKTmIIW.js");
|
|
565
671
|
const ghResolved = resolveGitHubIssue(issueId);
|
|
566
672
|
const labelResult = await cleanupMergedLabels(ghResolved.isGitHub ? {
|
|
567
673
|
issueId,
|
|
@@ -585,7 +691,7 @@ async function postMergeLifecycle(issueId, projectPath, sourceBranch, options) {
|
|
|
585
691
|
}
|
|
586
692
|
closeIssueWithCircuitBreaker(issueId, projectPath);
|
|
587
693
|
try {
|
|
588
|
-
const { compactBeads } = await import("./compact-beads-
|
|
694
|
+
const { compactBeads } = await import("./compact-beads-C7BN5N11.js");
|
|
589
695
|
const beadsResult = await compactBeads({
|
|
590
696
|
issueId,
|
|
591
697
|
projectPath
|
|
@@ -598,8 +704,8 @@ async function postMergeLifecycle(issueId, projectPath, sourceBranch, options) {
|
|
|
598
704
|
console.warn(`[merge-agent] Beads compaction failed: ${err}`);
|
|
599
705
|
}
|
|
600
706
|
try {
|
|
601
|
-
const { getAgentState, saveAgentState } = await import("./agents-
|
|
602
|
-
const { killSession, sessionExists } = await import("./tmux-
|
|
707
|
+
const { getAgentState, saveAgentState } = await import("./agents-Dgh2TjSp.js");
|
|
708
|
+
const { killSession, sessionExists } = await import("./tmux-BzxdKItf.js");
|
|
603
709
|
const agentId = `agent-${issueId.toLowerCase()}`;
|
|
604
710
|
const agentState = getAgentState(agentId);
|
|
605
711
|
if (agentState && sessionExists(agentId)) {
|
|
@@ -618,8 +724,8 @@ async function postMergeLifecycle(issueId, projectPath, sourceBranch, options) {
|
|
|
618
724
|
console.warn(`[merge-agent] Could not kill agent sessions: ${err}`);
|
|
619
725
|
}
|
|
620
726
|
try {
|
|
621
|
-
const { findWorkspacePath } = await import("./archive-planning-
|
|
622
|
-
const { stopWorkspaceDocker } = await import("./workspace-manager-
|
|
727
|
+
const { findWorkspacePath } = await import("./archive-planning-C3Ebf9yC.js");
|
|
728
|
+
const { stopWorkspaceDocker } = await import("./workspace-manager-BYfzs_t2.js");
|
|
623
729
|
const issueLower = issueId.toLowerCase();
|
|
624
730
|
const workspacePath = findWorkspacePath(projectPath, issueLower);
|
|
625
731
|
if (workspacePath) {
|
|
@@ -649,7 +755,7 @@ function closeIssueWithCircuitBreaker(issueId, projectPath) {
|
|
|
649
755
|
}
|
|
650
756
|
(async () => {
|
|
651
757
|
try {
|
|
652
|
-
const { closeIssue } = await import("./close-issue-
|
|
758
|
+
const { closeIssue } = await import("./close-issue-C2KeSKKJ.js");
|
|
653
759
|
const ghResolved = resolveGitHubIssue(issueId);
|
|
654
760
|
const results = await closeIssue(ghResolved.isGitHub ? {
|
|
655
761
|
issueId,
|
|
@@ -822,19 +928,15 @@ function logMergeHistory(context, result, sessionId) {
|
|
|
822
928
|
appendFileSync(MERGE_HISTORY_FILE, JSON.stringify(entry) + "\n", "utf-8");
|
|
823
929
|
}
|
|
824
930
|
/**
|
|
825
|
-
* Log activity to the dashboard activity log
|
|
931
|
+
* Log activity to the dashboard activity log (event-sourced via emitActivityEntry)
|
|
826
932
|
*/
|
|
827
|
-
function logActivity(action, details) {
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
details
|
|
835
|
-
};
|
|
836
|
-
appendFileSync(ACTIVITY_LOG, JSON.stringify(entry) + "\n");
|
|
837
|
-
} catch {}
|
|
933
|
+
function logActivity(action, details, issueId) {
|
|
934
|
+
emitActivityEntry({
|
|
935
|
+
source: "merge-agent",
|
|
936
|
+
level: action.includes("fail") || action.includes("error") ? "error" : action.includes("warn") ? "warn" : "success",
|
|
937
|
+
message: `[merge-agent] ${action}: ${details}`,
|
|
938
|
+
issueId
|
|
939
|
+
});
|
|
838
940
|
}
|
|
839
941
|
/**
|
|
840
942
|
* Capture tmux output and look for result markers (async)
|
|
@@ -1049,7 +1151,7 @@ async function spawnMergeAgentForBranches(projectPath, sourceBranch, targetBranc
|
|
|
1049
1151
|
const message = `Branch ${sourceBranch} is not pushed to remote.`;
|
|
1050
1152
|
console.error(`[merge-agent] ${message}`);
|
|
1051
1153
|
logActivity("merge_blocked", message);
|
|
1052
|
-
const { writeFeedbackFile } = await import("./feedback-writer-
|
|
1154
|
+
const { writeFeedbackFile } = await import("./feedback-writer-Wgv1cd1r.js");
|
|
1053
1155
|
const blockMsg = `# Merge Blocked\n\nBranch "${sourceBranch}" is not pushed to remote.\n\n## Required Action\n\nRun: \`git push -u origin ${sourceBranch}\``;
|
|
1054
1156
|
const fileResult = await writeFeedbackFile({
|
|
1055
1157
|
issueId,
|
|
@@ -1228,7 +1330,7 @@ Report any issues or conflicts you encountered.`;
|
|
|
1228
1330
|
const mergeSession = getTmuxSessionName("merge-agent", mergeProjectKey ?? void 0);
|
|
1229
1331
|
if (!resolvedProject) console.warn(`[merge-agent] Could not resolve project for ${issueId} — falling back to global specialist. Check projects.yaml configuration.`);
|
|
1230
1332
|
if (mergeProjectKey) {
|
|
1231
|
-
const { getAgentRuntimeState, saveAgentRuntimeState } = await import("./agents-
|
|
1333
|
+
const { getAgentRuntimeState, saveAgentRuntimeState } = await import("./agents-Dgh2TjSp.js");
|
|
1232
1334
|
const IDLE_POLL_INTERVAL = 3e3;
|
|
1233
1335
|
const IDLE_MAX_WAIT = 36e4;
|
|
1234
1336
|
const idleStart = Date.now();
|
|
@@ -1528,7 +1630,7 @@ CRITICAL: Success means the PR is MERGED on GitHub. Rebase alone is NOT success.
|
|
|
1528
1630
|
const mergeSession = getTmuxSessionName("merge-agent", mergeProjectKey ?? void 0);
|
|
1529
1631
|
if (!resolvedProject) console.warn(`[merge-agent] Could not resolve project for ${issueId} — using global specialist`);
|
|
1530
1632
|
if (mergeProjectKey) {
|
|
1531
|
-
const { getAgentRuntimeState, saveAgentRuntimeState } = await import("./agents-
|
|
1633
|
+
const { getAgentRuntimeState, saveAgentRuntimeState } = await import("./agents-Dgh2TjSp.js");
|
|
1532
1634
|
const IDLE_POLL_INTERVAL = 3e3;
|
|
1533
1635
|
const IDLE_MAX_WAIT = 36e4;
|
|
1534
1636
|
const idleStart = Date.now();
|
|
@@ -1989,6 +2091,6 @@ async function runProjectQualityGates(projectPath, phase) {
|
|
|
1989
2091
|
}
|
|
1990
2092
|
}
|
|
1991
2093
|
//#endregion
|
|
1992
|
-
export { scanForConflictMarkers as a, spawnRebaseAgentForBranch as c, runQualityGates as d,
|
|
2094
|
+
export { scanForConflictMarkers as a, spawnRebaseAgentForBranch as c, runQualityGates as d, emitDashboardLifecycle as f, runProjectQualityGates as i, syncMainIntoWorkspace as l, resolveTrackerType as m, postMergeLifecycle as n, spawnMergeAgent as o, resolveGitHubIssue as p, resetPostMergeState as r, spawnMergeAgentForBranches as s, notifyTldrDaemon as t, DEFAULT_GATES as u };
|
|
1993
2095
|
|
|
1994
|
-
//# sourceMappingURL=merge-agent-
|
|
2096
|
+
//# sourceMappingURL=merge-agent-yudQOPZc.js.map
|