@overdeck/desktop 0.45.12 → 0.45.15

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.
Files changed (355) hide show
  1. package/drizzle/overdeck/0000_overdeck_init.sql +33 -0
  2. package/package.json +7 -2
  3. package/server/{acceptance-criteria-1LHgD9vg.js → acceptance-criteria-DHZk2ceV.js} +2 -2
  4. package/server/{advancing-selfheal-BqsLWqEM.js → advancing-selfheal-CSuZ31bB.js} +5 -5
  5. package/server/{agent-gc-CUb52n7s.js → agent-gc-D_DxfBHR.js} +3 -3
  6. package/server/{agent-state-D-moNwhA.js → agent-state-EP2QFV9n.js} +1 -1
  7. package/server/{agent-state-service-BzESvLOf.js → agent-state-service-BZkvgQf4.js} +5 -5
  8. package/server/{agent-state-service-BaZH7sXJ.js → agent-state-service-C_2ZAQRP.js} +1 -1
  9. package/server/{agents-B5LfpLPv.js → agents-CsOzAmRg.js} +145 -78
  10. package/server/{agents-C4kZ8a2r.js → agents-DCvyTXNU.js} +1 -1
  11. package/server/{archive-planning-BbZe-8IK.js → archive-planning-CTILQRnV.js} +1 -1
  12. package/server/{archive-planning-oX1pj6nY.js → archive-planning-DkivCk1A.js} +4 -4
  13. package/server/{artifact-index-jobs-DGr6bxev.js → artifact-index-jobs-CmsvQ1ey.js} +2 -2
  14. package/server/auto-commit-QAfsu3Sb.js +3 -0
  15. package/server/{backlog-auto-trigger-BlJHikOm.js → backlog-auto-trigger-ueRaT8Dy.js} +2 -2
  16. package/server/{bd-process-lock-i3CYMS-B.js → bd-process-lock-D3S4T4o-.js} +32 -11
  17. package/server/{beads-DD7fYCl5.js → beads-BGGxrkZ5.js} +96 -196
  18. package/server/{beads-BNU-fb48.js → beads-CYsLiyIM.js} +1 -1
  19. package/server/{beads-query-e6oku4P5.js → beads-query-B1DlJVp9.js} +24 -99
  20. package/server/beads-restore-CyygSmmn.js +23 -0
  21. package/server/{behavior-CPf0pbOt.js → behavior-Cpj03N4v.js} +3 -3
  22. package/server/{briefing-freshness-B2FdLwIv.js → briefing-freshness-Kh5V8RTh.js} +4 -4
  23. package/server/{checkpoint-manager-eFgaMMu4.js → checkpoint-manager-CAFos8e1.js} +1 -1
  24. package/server/{checkpoint-manager-JryW6MpM.js → checkpoint-manager-fu9oVsR-.js} +2 -2
  25. package/server/checkpoint-worker.js +1 -1
  26. package/server/{checkpoints-qvOqvMuC.js → checkpoints-1BqOlS4q.js} +2 -2
  27. package/server/{checkpoints-BK17oicz.js → checkpoints-DvhGi8P_.js} +1 -1
  28. package/server/claude-hooks-provision-s_wdpeVj.js +360 -0
  29. package/server/{claude-permissions-B6bWGh9d.js → claude-permissions-CaWqysff.js} +2 -2
  30. package/server/{claude-settings-overlay-BPdhTPjo.js → claude-settings-overlay-BbA4FbVI.js} +1 -1
  31. package/server/{claude-settings-overlay-CRyyKKXQ.js → claude-settings-overlay-CcTf0xzG.js} +2 -2
  32. package/server/{cli-B75AieAM.js → cli-BwCvCUBK.js} +9 -9
  33. package/server/cli-ClIQwgMI.js +3 -0
  34. package/server/{cliproxy-CCzwuSNe.js → cliproxy-BsoNNDAj.js} +2 -2
  35. package/server/{cliproxy-DOQf66G9.js → cliproxy-C2xC-3vH.js} +1 -1
  36. package/server/{close-issue-_X3MXJyG.js → close-issue-BleIwP3f.js} +5 -5
  37. package/server/{closed-issue-reaper-CLR7ClsO.js → closed-issue-reaper-BwUUvjEW.js} +1 -1
  38. package/server/{closed-issue-reaper-BsUfBSjM.js → closed-issue-reaper-mC5pujeb.js} +102 -30
  39. package/server/{codex-CY-QRuU9.js → codex-B7DTpwEw.js} +1 -1
  40. package/server/{codex-B4KEpX5V.js → codex-DW60_5j2.js} +5 -5
  41. package/server/{compact-beads-cZds2MTr.js → compact-beads-CK_hHEnB.js} +1 -1
  42. package/server/{compact-beads-uEDccC76.js → compact-beads-DKL54y6j.js} +15 -8
  43. package/server/{config-DARrpYWA.js → config-BRNQJXhA.js} +1 -1
  44. package/server/{config-8sjaU6jZ.js → config-ZNnMpIlh.js} +2 -2
  45. package/server/{config-yaml-ClpGgrf6.js → config-yaml-Dcz-8uit.js} +29 -3
  46. package/server/{conflict-gate-Ds9_2yjd.js → conflict-gate-DGT8jCLp.js} +1 -1
  47. package/server/{conflict-gate-BtB_o-Vi.js → conflict-gate-DTje2Ll7.js} +3 -3
  48. package/server/{context-layers-r2ywnQYA.js → context-layers-BdUCQ-cl.js} +3 -3
  49. package/server/{context-layers-CRCk1QG7.js → context-layers-ByOWUjUg.js} +2 -2
  50. package/server/{control-settings-D1B3u6HP.js → control-settings-DwkAeooY.js} +4 -4
  51. package/server/{conversation-compaction-D86Zo2Ci.js → conversation-compaction-OTYgd6eg.js} +8 -8
  52. package/server/{conversation-compaction-CZRVk4hg.js → conversation-compaction-WYQZUVDm.js} +1 -1
  53. package/server/{conversation-service-CuTVU8dV.js → conversation-service-BR1OgvxO.js} +5 -5
  54. package/server/{conversation-service-CkL-6MuG.js → conversation-service-C_kNZPLx.js} +1 -1
  55. package/server/{conversations-DfJKBDwB.js → conversations-DG2M8WnT.js} +4 -4
  56. package/server/{conversations-BmWEluPL.js → conversations-izHvSoAR.js} +1 -1
  57. package/server/{cost-DAPYN6iA.js → cost-B2mj17iG.js} +3 -3
  58. package/server/{cost-CCnqa5xK.js → cost-DQ2ajr_m.js} +2 -2
  59. package/server/{cost-sync-BDL10Nwu.js → cost-sync-gTayEuWP.js} +3 -3
  60. package/server/{dag-Dv2r5bVD.js → dag-CqTehWpY.js} +3 -3
  61. package/server/{dangerous-git-ops-Dcw7PbYo.js → dangerous-git-ops-DDWQlPC3.js} +1 -1
  62. package/server/dashboard-db-worker.js +6 -6
  63. package/server/{deacon-DYnZH7kC.js → deacon-BqW9HMew.js} +3 -3
  64. package/server/{deacon-CM0MxbS8.js → deacon-DrKDBeJL.js} +161 -1594
  65. package/server/{deacon-nudge-log-B-naf89q.js → deacon-nudge-log-D1wEK6zF.js} +1 -1
  66. package/server/deacon-swarm-BY5hKNaU.js +2 -0
  67. package/server/{deacon-swarm-BstYoz8Q.js → deacon-swarm-CO_A7xyd.js} +12 -105
  68. package/server/deacon.js +7 -7
  69. package/server/{devcontainer-renderer-CaYOG9JN.js → devcontainer-renderer-BQolp_qZ.js} +3 -3
  70. package/server/{dist-BIC8spJ0.js → dist-Bc32rWJB.js} +1 -1
  71. package/server/dist-DGTwcZhI.js +3 -0
  72. package/server/{docker-DDI1shu3.js → docker-s-esqZ__.js} +67 -28
  73. package/server/{ensure-devcontainer-DCAg3ksz.js → ensure-devcontainer-DA4-jF6R.js} +4 -4
  74. package/server/{ensure-devcontainer-CbSXvN9W.js → ensure-devcontainer-pUVaT0h3.js} +1 -1
  75. package/server/{esm-shims-DiV9jHa_.js → esm-shims-CJHy8CZY.js} +1 -1
  76. package/server/{event-store-DU3HkZlN.js → event-store-CcJAhKCl.js} +1 -1
  77. package/server/{event-store-DCMqyI07.js → event-store-DRte2Rwt.js} +3 -3
  78. package/server/{events-BfiosVAn.js → events-Bej1w_k8.js} +3 -3
  79. package/server/{events-DLRxpSuV.js → events-CtsLScn8.js} +1 -1
  80. package/server/export-Dx_qJ3h8.js +87 -0
  81. package/server/{factory-BMtWV9iv.js → factory-FN727tWr.js} +4 -4
  82. package/server/{feature-registry-population-DA7bO6Zn.js → feature-registry-population-ie-yBcQC.js} +4 -4
  83. package/server/{feature-registry-storage-nAY1fbBt.js → feature-registry-storage-CkZTFSsn.js} +2 -2
  84. package/server/{features-DMu7eGmU.js → features-Dtm9ABuz.js} +2 -2
  85. package/server/{feedback-target-DHqcw3cN.js → feedback-target-BYtpyt1i.js} +6 -6
  86. package/server/{feedback-target-B2SEai8-.js → feedback-target-DVJQDiE4.js} +1 -1
  87. package/server/{feedback-writer-DMBdS_jL.js → feedback-writer-DOUhyIW2.js} +1 -1
  88. package/server/{feedback-writer-qvm7UON7.js → feedback-writer-fdE1BzeL.js} +4 -4
  89. package/server/{flywheel-k4FPtCQ_.js → flywheel-Bi82iiNl.js} +1 -1
  90. package/server/{flywheel-Dfpx4bIV.js → flywheel-Bv3wv2S6.js} +23 -15
  91. package/server/{flywheel-D2LdPSic.js → flywheel-CUErLAyN.js} +13 -13
  92. package/server/{flywheel-merge-order-CB4lbXeJ.js → flywheel-merge-order-BaEN3iyN.js} +7 -7
  93. package/server/{flywheel-merge-order-CttTazRY.js → flywheel-merge-order-DXjeBnJ1.js} +1 -1
  94. package/server/{forge-CoPFXFyl.js → forge-ButEdJ31.js} +2 -2
  95. package/server/forge-XlDgPQWs.js +2 -0
  96. package/server/{from-B0YoJl9-.js → from-CbtTxftl.js} +1 -1
  97. package/server/{fts-db-DAHW1yA_.js → fts-db-CBgBLZcL.js} +2 -2
  98. package/server/{fts-operations-DDXDBi0d.js → fts-operations-CI9Xuo_1.js} +2 -2
  99. package/server/{git-utils-DbfC0zls.js → git-utils-BCLRWQ-y.js} +1 -1
  100. package/server/{git-utils-B90Zjzfl.js → git-utils-ClfpP47N.js} +2 -2
  101. package/server/{github-app-C7lftMNj.js → github-app-DRD2woO0.js} +1 -1
  102. package/server/{github-app-BecAnXRX.js → github-app-DscZ0_B6.js} +2 -2
  103. package/server/{github-client-D21rCIXk.js → github-client-DpiZnxGH.js} +2 -2
  104. package/server/{github-client-BwtKZtM0.js → github-client-iFRw8f7e.js} +1 -1
  105. package/server/{github-pr-lookup-CzVWuysl.js → github-pr-lookup-D-EBexxC.js} +2 -2
  106. package/server/{harness-resolve-SkRJm4a7.js → harness-resolve-iMjyNUJ2.js} +3 -3
  107. package/server/{health-events-DA_JLpgZ.js → health-events-B_WsQyYm.js} +1 -1
  108. package/server/{health-events-BT0aAfeA.js → health-events-CRdxDFN2.js} +2 -2
  109. package/server/{hooks-BQxRXtRb.js → hooks-C1ScyVxP.js} +1 -1
  110. package/server/{hooks-DxEn2BoY.js → hooks-C9b7Vqpw.js} +2 -2
  111. package/server/hume-K1pi8jC4.js +3 -0
  112. package/server/{hume-DkVOs1Qi.js → hume-TQ5pvOZ_.js} +2 -2
  113. package/server/{idle-stack-reaper-DGy7tvC9.js → idle-stack-reaper-B1kG7B_X.js} +2 -2
  114. package/server/{idle-stack-reaper-C7fJL8jH.js → idle-stack-reaper-iFVOAoJy.js} +1 -1
  115. package/server/{infra-DE3C4PMr.js → infra-bpq1MHKU.js} +50 -3
  116. package/server/{injection-Dt22tGvS.js → injection-BLWfwTVZ.js} +1 -1
  117. package/server/{injection-Cc4Qt8LZ.js → injection-DJqWld1v.js} +7 -7
  118. package/server/inspect-agent-477VxQim.js +2 -0
  119. package/server/{inspect-agent-DOaCDkCF.js → inspect-agent-DytCsltn.js} +9 -9
  120. package/server/{internal-token-nobT6FhA.js → internal-token-CCaWaTwE.js} +1 -1
  121. package/server/{internal-token-B_1YLWLI.js → internal-token-CjlhdufS.js} +2 -2
  122. package/server/{io-A7ZuOBkz.js → io-BiQ2Cs3k.js} +2 -2
  123. package/server/{issue-closed-Da3DeomA.js → issue-closed-FApNiOOs.js} +4 -4
  124. package/server/{issue-lifecycle-Bd9XBJAQ.js → issue-lifecycle-BkFWNjlD.js} +1 -1
  125. package/server/{issue-lifecycle-543pQX9D.js → issue-lifecycle-C-K53ASY.js} +21 -21
  126. package/server/{issue-service-singleton-Brc3t0SV.js → issue-service-singleton-CuHGpJJP.js} +8 -8
  127. package/server/{issue-service-singleton-BC2JLZi7.js → issue-service-singleton-bG1WdSdQ.js} +1 -1
  128. package/server/{issues-D3kt9UWE.js → issues-CwQMphDH.js} +2 -2
  129. package/server/jsonl-parser-dNIjHgym.js +245 -0
  130. package/server/{label-cleanup-w9X_T3AQ.js → label-cleanup-DYvAZknd.js} +3 -3
  131. package/server/{layers-Cwe1J-9o.js → layers-CD6FysRU.js} +2 -2
  132. package/server/{lifecycle-f1GbDK33.js → lifecycle-C_73gi-C.js} +7 -7
  133. package/server/{lifecycle-io-D56q8zlO.js → lifecycle-io-C_Wu0_i-.js} +1 -1
  134. package/server/{lifecycle-io-Bqvj0m3i.js → lifecycle-io-CeYxP3cE.js} +4 -4
  135. package/server/{linear-client-Bh4T4S-c.js → linear-client-4qoKnuQu.js} +1 -1
  136. package/server/{linear-client-CfJMTAYd.js → linear-client-EtVyblVz.js} +2 -2
  137. package/server/memory-fts-worker.js +1 -1
  138. package/server/{merge-ZrXFM3jv.js → merge-7rqkTUm2.js} +3 -3
  139. package/server/merge-agent-36wfYm2u.js +3 -0
  140. package/server/{merge-agent-CHHs5S_0.js → merge-agent-4Zhlgvqp.js} +62 -27
  141. package/server/{merge-batch-BwhGdlh4.js → merge-batch-itfnwdsT.js} +1 -1
  142. package/server/{merge-blockers-BMhDpMl_.js → merge-blockers-Bto_Oe_o.js} +2 -2
  143. package/server/{merge-DRMPa8CQ.js → merge-brm721Es.js} +1 -1
  144. package/server/merge-ops-PzqsW69V.js +2 -0
  145. package/server/{merge-rebase-R7MfqpiE.js → merge-rebase-Czfqfe4q.js} +2 -2
  146. package/server/{merge-set-B3Breacq.js → merge-set-BIkGQL9j.js} +9 -5
  147. package/server/{merge-set-D-iXNP0I.js → merge-set-G1RHcu3D.js} +1 -1
  148. package/server/{merge-sync-DHWbGtjR.js → merge-sync-B43Dybea.js} +2 -2
  149. package/server/{merge-sync-bOOtfeXR.js → merge-sync-DIrmlZUr.js} +1 -1
  150. package/server/{merge-train-98ptZrPT.js → merge-train-DGqVuNZV.js} +3 -3
  151. package/server/{merge-train-deps-B5FWJTE2.js → merge-train-deps-q15XLnAS.js} +4 -4
  152. package/server/{merge-verification-BGiuiXAK.js → merge-verification-Cqfxx6bE.js} +4 -4
  153. package/server/{multipart-parser-D7mzNNDm.js → multipart-parser-CiPxxfUH.js} +2 -2
  154. package/server/node_modules/.package-lock.json +1 -1
  155. package/server/{orphan-proposed-reconciler-BSGCNJ6X.js → orphan-proposed-reconciler-BWWHn4Lr.js} +15 -39
  156. package/server/{orphan-proposed-reconciler-CSuxivr9.js → orphan-proposed-reconciler-DAD9FJtQ.js} +1 -1
  157. package/server/package-lock.json +2 -2
  158. package/server/package.json +1 -1
  159. package/server/{pan-dir-DoPtdHrp.js → pan-dir-Bj7Hy8iu.js} +3 -3
  160. package/server/{paths-CVDLPxXp.js → paths-C9DkhIOT.js} +2 -2
  161. package/server/{pickup-KLRUhThD.js → pickup-CKRuGDsB.js} +1 -1
  162. package/server/{pipeline-notifier-BtYHbBPl.js → pipeline-notifier-BkKbQ8ji.js} +1 -1
  163. package/server/{pipeline-notifier-WD2dnOsR.js → pipeline-notifier-CAurUste.js} +2 -2
  164. package/server/project-pipelines-BRWaGmI4.js +162 -0
  165. package/server/projects-KJ94e50I.js +3 -0
  166. package/server/{prompts-Cg7e9FPb.js → prompts-DfI5qbTW.js} +2 -2
  167. package/server/{providers-fLduChnX.js → providers-CWDXoaMA.js} +7 -7
  168. package/server/providers-D-5txBRc.js +3 -0
  169. package/server/public/assets/{chunk-BO2N2NFS-aNlsGDCu.js → chunk-BO2N2NFS-ClukPsZQ.js} +4 -4
  170. package/server/public/assets/{diagram-OG6HWLK6-CnjkrvT8.js → diagram-OG6HWLK6-Avtvq2qI.js} +1 -1
  171. package/server/public/assets/{dist-Bg3Sbsx4.js → dist-BEHQuasD.js} +3 -3
  172. package/server/public/assets/{dist-CGKBCieA.js → dist-BvmY-qb1.js} +1 -1
  173. package/server/public/assets/{ganttDiagram-6RSMTGT7-C8LLKj23.js → ganttDiagram-6RSMTGT7-7KhCd0fH.js} +1 -1
  174. package/server/public/assets/{highlighted-body-OFNGDK62-BSDEUvhW.js → highlighted-body-OFNGDK62-iQoBMTf0.js} +1 -1
  175. package/server/public/assets/index-DUFDmvmH.css +1 -0
  176. package/server/public/assets/index-DnTZ2QeN.js +796 -0
  177. package/server/public/assets/{linear-DEbYZoxg.js → linear-CiJHW9g5.js} +1 -1
  178. package/server/public/assets/mermaid-GHXKKRXX-DZJOwgBG.js +1 -0
  179. package/server/public/assets/{pieDiagram-4H26LBE5-BtZL5pXE.js → pieDiagram-4H26LBE5-BOhmvUhW.js} +1 -1
  180. package/server/public/assets/{prod-DYVvIyuh.js → prod-DmLBBqat.js} +4 -4
  181. package/server/public/assets/{quadrantDiagram-W4KKPZXB-a7vS8Jc8.js → quadrantDiagram-W4KKPZXB-Cjku660G.js} +1 -1
  182. package/server/public/assets/{sankeyDiagram-5OEKKPKP-Ckbq2SWH.js → sankeyDiagram-5OEKKPKP-D52w5oPh.js} +1 -1
  183. package/server/public/assets/{xychartDiagram-2RQKCTM6-DJyeNa99.js → xychartDiagram-2RQKCTM6-BTO07_Iv.js} +1 -1
  184. package/server/public/index.html +2 -2
  185. package/server/{pull-requests-1WXmTBlo.js → pull-requests-Bmre-Xlz.js} +3 -3
  186. package/server/{pull-requests-D2SjJIwY.js → pull-requests-CKZPWhjD.js} +1 -1
  187. package/server/{rally-8aQlLLVj.js → rally-BBd9tQ__.js} +3 -3
  188. package/server/rally-Dc2Wnxw2.js +3 -0
  189. package/server/{rally-api-BtvwdX6d.js → rally-api-DDc85HIz.js} +1 -1
  190. package/server/{rally-api-H5I2CBO0.js → rally-api-DxZFObI_.js} +2 -2
  191. package/server/{rally-client-Bt-qHiOh.js → rally-client-BADHn0m_.js} +1 -1
  192. package/server/{rally-client-33CYZYYu.js → rally-client-DvvLiAQP.js} +4 -4
  193. package/server/{reap-terminal-sessions-CAmURC2h.js → reap-terminal-sessions-D6JDJsqF.js} +1 -1
  194. package/server/{reap-terminal-sessions-BwJb2DLJ.js → reap-terminal-sessions-D_xvy-Mk.js} +1 -1
  195. package/server/{rebuild-stack-KHkkrGjx.js → rebuild-stack-D19i080j.js} +6 -6
  196. package/server/{rebuild-stack-CXSgAGPR.js → rebuild-stack-GOsWqXi3.js} +1 -1
  197. package/server/{reconstruct-cache-D_Ml65_6.js → reconstruct-cache-lQrG4xGg.js} +6 -6
  198. package/server/record-pyB6VA32.js +3 -0
  199. package/server/recovery-trip-Dfh1tNHn.js +98 -0
  200. package/server/release-engine-DxcMWRuK.js +306 -0
  201. package/server/release-set-BYsgX7o6.js +125 -0
  202. package/server/{remote-CGuognN3.js → remote-8W2Yhygw.js} +3 -3
  203. package/server/{remote-D0Old0Cv.js → remote-DmeL21dF.js} +3 -3
  204. package/server/{remote-agents-DfhMq6kQ.js → remote-agents-BfQBE6MN.js} +5 -5
  205. package/server/{remote-agents-UHoi4oGr.js → remote-agents-DlvbzO7m.js} +1 -1
  206. package/server/{remote-completion-RZYePR_0.js → remote-completion-BgkiSQmx.js} +12 -12
  207. package/server/resolver-dTpSSzaH.js +158 -0
  208. package/server/resume-DhcIqsTm.js +3 -0
  209. package/server/{review-agent-sZBCpEVv.js → review-agent-D025Wt7w.js} +22 -22
  210. package/server/{review-agent-uwVftH98.js → review-agent-Rub0OpZc.js} +1 -1
  211. package/server/{review-artifacts-C7a45b1_.js → review-artifacts-CX951jTU.js} +6 -6
  212. package/server/{review-context-CErbQpKL.js → review-context-DGGGR_w5.js} +7 -7
  213. package/server/{review-monitor-DHD9m_kh.js → review-monitor-0_qqMcnS.js} +2 -2
  214. package/server/{review-status-gPndPUBc.js → review-status-4qqLkRMu.js} +24 -17
  215. package/server/{review-status-JhQ3qlDS.js → review-status-Br6lAFGO.js} +1 -1
  216. package/server/{review-status-enrichment-qWvWckYN.js → review-status-enrichment-Cr8m3uVL.js} +3 -3
  217. package/server/{review-status-sync-B_GrEke8.js → review-status-sync-D3KUhsdA.js} +1 -1
  218. package/server/{review-status-sync-D3A9KX95.js → review-status-sync-OC-l1lNt.js} +9 -5
  219. package/server/{review-verdict-feedback-4WZ5ZdbC.js → review-verdict-feedback-DrWMuRaj.js} +6 -6
  220. package/server/{review-verdict-feedback-Zo0r_z4m.js → review-verdict-feedback-YOzmsq9G.js} +1 -1
  221. package/server/{rollup-BrUIKMv_.js → rollup-CnxbwaLH.js} +8 -8
  222. package/server/{rollup-Bmhn80tB.js → rollup-DmazRY0j.js} +1 -1
  223. package/server/{scanner-BIGumel_.js → scanner-DE1MqAaF.js} +7 -7
  224. package/server/{sequence-io-DA0akEQN.js → sequence-io-C0uoqfGx.js} +4 -4
  225. package/server/{sequencer-agent-DeflKafB.js → sequencer-agent-i-b2u4SJ.js} +10 -6
  226. package/server/server.js +1115 -297
  227. package/server/{service-V0sUK-OR.js → service-D0_gh2tl.js} +1668 -1408
  228. package/server/{session-fork-Yx3UcAQf.js → session-fork-DZ12vipL.js} +2 -2
  229. package/server/{settings-CFEeQRj2.js → settings-ByqjPtFO.js} +2 -2
  230. package/server/{settings-CxVate0h.js → settings-DCC4BAqj.js} +3 -3
  231. package/server/settings-yydgaqhv.js +2 -0
  232. package/server/{shadow-engineering-BRxnVSDk.js → shadow-engineering-BhnmtW5m.js} +2 -2
  233. package/server/{shadow-state-1aS8FijU.js → shadow-state-ByXZehsy.js} +1 -1
  234. package/server/{shadow-state-BiMwdyl1.js → shadow-state-CKm8xWX9.js} +2 -2
  235. package/server/{ship-log-CMWH3H5-.js → ship-log-DE_0Cv_i.js} +1 -1
  236. package/server/{smart-compaction-Bw1K_Sbl.js → smart-compaction-D5Zen3AA.js} +7 -7
  237. package/server/{smart-compaction-xblMyVpT.js → smart-compaction-h4_ca6Uk.js} +1 -1
  238. package/server/{spawn-planning-session-CzDFSKAQ.js → spawn-planning-session-Bgi7Ub02.js} +1 -1
  239. package/server/{spawn-planning-session-DxLxcM7m.js → spawn-planning-session-Dueit4WX.js} +15 -15
  240. package/server/{specialist-completion-BiEXUHfD.js → specialist-completion-BZ8M-WZ0.js} +1 -1
  241. package/server/{specialist-context-BfkTA81h.js → specialist-context-BMq83C58.js} +5 -5
  242. package/server/{specialist-handoff-logger-BiKuLtNm.js → specialist-handoff-logger-BxX1YefH.js} +2 -2
  243. package/server/{specialist-logs-CFJjGsLC.js → specialist-logs-BWZYcJ6P.js} +3 -3
  244. package/server/{specialists-DdvpFNt1.js → specialists-8ZAguXef.js} +1 -1
  245. package/server/{specialists-B4byf18k.js → specialists-BudKrjOu.js} +76 -76
  246. package/server/{specialists-DjHbwQ_p.js → specialists-DrPrC9Y9.js} +20 -256
  247. package/server/{specialists-BLIreoE7.js → specialists-ZkW4Mb7U.js} +1 -1
  248. package/server/specs-DwoAEGrW.js +3 -0
  249. package/server/{src-fgbU-jJ-.js → src-DHn4Rd2F.js} +25 -3
  250. package/server/{src-mK_M_ZIj.js → src-DNUUqkec.js} +6 -6
  251. package/server/{src-CALBEUMX.js → src-Dv6L03vW.js} +3 -3
  252. package/server/{stack-health-BFM8YlHw.js → stack-health-Dclm7_tu.js} +1 -1
  253. package/server/{stack-health-Qd7rPiVe.js → stack-health-DxsTx7II.js} +2 -2
  254. package/server/{state-home-C2Bicw9N.js → state-home-CRowbXqU.js} +6 -6
  255. package/server/stuck-remediation-CFWUP8_I.js +1491 -0
  256. package/server/stuck-remediation-CLHd-lrF.js +2 -0
  257. package/server/{summary-fork-EWWBvzgE.js → summary-fork-CKc01Our.js} +2 -2
  258. package/server/{summary-fork-DezPkJSm.js → summary-fork-CtCwBJ2Z.js} +8 -8
  259. package/server/{supervisor-D5GC5jUM.js → supervisor-BA5D72Qa.js} +2 -2
  260. package/server/supervisor-DHjumXlL.js +2 -0
  261. package/server/{swarm-readiness-Cf9mommA.js → swarm-readiness-CL5sM9B1.js} +3 -3
  262. package/server/{system-prerequisites-BsI9hxh9.js → system-prerequisites-DmFSXIE5.js} +13 -1
  263. package/server/{teardown-workspace-CWz1pbEK.js → teardown-workspace-DWmFJzTw.js} +37 -68
  264. package/server/{test-agent-queue-TiVXe3ZT.js → test-agent-queue-DjsQoV5X.js} +6 -6
  265. package/server/{test-verdict-CCDd25uN.js → test-verdict-BSqsQp3G.js} +1 -1
  266. package/server/{test-verdict-Bm4uv_AA.js → test-verdict-D1AmZ2c0.js} +1 -1
  267. package/server/{tldr-daemon-C_1frSDj.js → tldr-daemon-C-MGomL8.js} +2 -2
  268. package/server/{tldr-daemon-Big5IZ_M.js → tldr-daemon-DD9rI5gA.js} +1 -1
  269. package/server/{tmux-D57f-XNv.js → tmux-C_d-lSIq.js} +2 -2
  270. package/server/{tmux-DClqWwb8.js → tmux-x291Gjjb.js} +1 -1
  271. package/server/{token-_qujO3JZ.js → token-DfBf1bsd.js} +1 -1
  272. package/server/{tracker-config-BmdJU_w6.js → tracker-config-CNODpd11.js} +2 -2
  273. package/server/{tracker-config-B_Ubts1Z.js → tracker-config-DItsdelv.js} +1 -1
  274. package/server/{tracker-utils-Bg-Sevcv.js → tracker-utils-B9ZoVA9b.js} +1 -1
  275. package/server/{tracker-utils-CWFt6jjV.js → tracker-utils-Ch2_5GGf.js} +2 -2
  276. package/server/{traefik-connect-5EP1WS_Z.js → traefik-connect-BF4x_LUQ.js} +1 -1
  277. package/server/{tunnel-hOBNQbmF.js → tunnel-YD80_IHr.js} +1 -1
  278. package/server/{tunnel-UBf2vyAL.js → tunnel-r_5nHAI6.js} +3 -3
  279. package/server/{types-B5u3NxMl.js → types-33JEP4LZ.js} +1 -1
  280. package/server/{uat-train-DGkIkLxu.js → uat-train-DDI00aqD.js} +1 -1
  281. package/server/{uat-train-qNanv5hN.js → uat-train-DjkFWXge.js} +25 -25
  282. package/server/{validation-C4wegCvH.js → validation-DUTiJnyz.js} +4 -4
  283. package/server/{validation-B0QaLIHP.js → validation-ict8hnXk.js} +1 -1
  284. package/server/{verification-runner-DdleMNLq.js → verification-runner-ATaLbpr5.js} +1 -1
  285. package/server/{verification-runner-CntudBes.js → verification-runner-inLgeQux.js} +12 -12
  286. package/server/{vtt-parser-CKc-smWM.js → vtt-parser-QnRfcjiU.js} +1 -1
  287. package/server/{work-agent-prompt-CG5jFV9A.js → work-agent-prompt-fZljjA1_.js} +12 -12
  288. package/server/{workflows-BK2xs_a8.js → workflows-oBnJ7Tm0.js} +14 -14
  289. package/server/workflows-tU7KKxQi.js +2 -0
  290. package/server/{workspace-C9lC5o3E.js → workspace-B2WOW9Hw.js} +1 -1
  291. package/server/{workspace-CLrSIRCx.js → workspace-CNuW2j41.js} +3 -3
  292. package/server/{workspace-config-DA8U97k9.js → workspace-config-CBgMGhWs.js} +1 -1
  293. package/server/{workspace-manager-BJhW2sky.js → workspace-manager-CB-R07R3.js} +12 -12
  294. package/server/{workspace-manager-Cb2a7bg9.js → workspace-manager-DjUAJCSs.js} +1 -1
  295. package/server/{workspace-metadata-QQmo_Z0l.js → workspace-metadata-9Nn5kgRl.js} +2 -2
  296. package/server/{workspace-metadata-CTRnr323.js → workspace-metadata-Fd58uUQG.js} +1 -1
  297. package/server/{workspaces-Ca4zZs12.js → workspaces-BjWXntty.js} +106 -120
  298. package/server/writer-CQMGzEkw.js +3 -0
  299. package/server/writer-fe1-8iGc.js +251 -0
  300. package/sync-sources/hooks/ask-user-question-hook +87 -0
  301. package/sync-sources/hooks/auto-approve-hook +96 -0
  302. package/sync-sources/hooks/codex-notify-hook +62 -0
  303. package/sync-sources/hooks/gh-issue-trailer-hook +4 -0
  304. package/sync-sources/hooks/gh-issue-trailer-hook.d.ts +7 -0
  305. package/sync-sources/hooks/gh-issue-trailer-hook.d.ts.map +1 -0
  306. package/sync-sources/hooks/gh-issue-trailer-hook.js +239 -0
  307. package/sync-sources/hooks/gh-issue-trailer-hook.js.map +1 -0
  308. package/sync-sources/hooks/gh-issue-trailer-hook.ts +296 -0
  309. package/sync-sources/hooks/git-hooks/post-checkout +109 -0
  310. package/sync-sources/hooks/heartbeat-hook +113 -0
  311. package/sync-sources/hooks/notification-hook +70 -0
  312. package/sync-sources/hooks/notify-complete +79 -0
  313. package/sync-sources/hooks/pan-hook-lib.sh +153 -0
  314. package/sync-sources/hooks/permission-event-hook +24 -0
  315. package/sync-sources/hooks/post-compact-hook +25 -0
  316. package/sync-sources/hooks/pre-compact-hook +26 -0
  317. package/sync-sources/hooks/pre-tool-hook +35 -0
  318. package/sync-sources/hooks/record-cost-event.d.ts +1 -0
  319. package/sync-sources/hooks/record-cost-event.js +31859 -0
  320. package/sync-sources/hooks/record-cost-event.js.map +1 -0
  321. package/sync-sources/hooks/record-cost-event.ts +267 -0
  322. package/sync-sources/hooks/rtk-bash-filter +152 -0
  323. package/sync-sources/hooks/session-start-hook +80 -0
  324. package/sync-sources/hooks/specialist-stop-hook +106 -0
  325. package/sync-sources/hooks/statusline.sh +169 -0
  326. package/sync-sources/hooks/stop-hook +217 -0
  327. package/sync-sources/hooks/tldr-post-edit +72 -0
  328. package/sync-sources/hooks/tldr-read-enforcer +340 -0
  329. package/sync-sources/hooks/tmux-send-keys-guard +87 -0
  330. package/sync-sources/hooks/tsdown.config.ts +14 -0
  331. package/sync-sources/hooks/user-prompt-submit-hook +57 -0
  332. package/sync-sources/hooks/work-agent-stop-hook +424 -0
  333. package/server/auto-commit-CGQlb4rV.js +0 -3
  334. package/server/bd-mutex-BItGvLQ8.js +0 -35
  335. package/server/beads-restore-CMbDSB5R.js +0 -60
  336. package/server/cli-Ch_BWJB2.js +0 -3
  337. package/server/deacon-swarm-CSWGRfzr.js +0 -2
  338. package/server/dist-BUplB3Od.js +0 -3
  339. package/server/forge-IgLR0Ist.js +0 -2
  340. package/server/hume-x9voULey.js +0 -3
  341. package/server/inspect-agent-CYoWAeeB.js +0 -2
  342. package/server/merge-agent-CfohxFWM.js +0 -3
  343. package/server/merge-ops-Czke6UAp.js +0 -2
  344. package/server/projects-Bqfwuqet.js +0 -3
  345. package/server/providers-JjK6izqX.js +0 -3
  346. package/server/public/assets/index-CZiADHcL.css +0 -1
  347. package/server/public/assets/index-LQIfhmgI.js +0 -796
  348. package/server/public/assets/mermaid-GHXKKRXX-CZOsRYoT.js +0 -1
  349. package/server/rally-Ba9QoNYc.js +0 -3
  350. package/server/record-De2syxNB.js +0 -3
  351. package/server/resume-CmxF3Kjz.js +0 -3
  352. package/server/settings-DEhYpW0k.js +0 -2
  353. package/server/specs-CVH1kvz3.js +0 -3
  354. package/server/supervisor-DQMK2e3I.js +0 -2
  355. package/server/workflows-pKw9yRSV.js +0 -2
@@ -1,3 +1,3 @@
1
- import { a as writeFeedbackFile, i as init_feedback_writer, n as archiveFeedbackFiles, r as clearFeedbackFiles, t as FeedbackWriteError } from "./feedback-writer-qvm7UON7.js";
1
+ import { a as writeFeedbackFile, i as init_feedback_writer, n as archiveFeedbackFiles, r as clearFeedbackFiles, t as FeedbackWriteError } from "./feedback-writer-fdE1BzeL.js";
2
2
  init_feedback_writer();
3
3
  export { FeedbackWriteError, archiveFeedbackFiles, clearFeedbackFiles, writeFeedbackFile };
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Gn as resolveProjectFromIssueSync, Nn as init_projects } from "./config-yaml-ClpGgrf6.js";
3
- import { a as clearFeedback, o as readFeedback, s as writeFeedback, t as init_pan_dir, u as getWorkspacePanPaths } from "./pan-dir-DoPtdHrp.js";
4
- import { a as init_lifecycle_io, n as appendFeedbackEntryForIssue, o as readContinueStateForIssue, r as clearFeedbackForIssue, t as appendContinueSessionEntryForIssue } from "./lifecycle-io-Bqvj0m3i.js";
2
+ import { Kn as resolveProjectFromIssueSync, Pn as init_projects } from "./config-yaml-Dcz-8uit.js";
3
+ import { a as clearFeedback, o as readFeedback, s as writeFeedback, t as init_pan_dir, u as getWorkspacePanPaths } from "./pan-dir-Bj7Hy8iu.js";
4
+ import { a as init_lifecycle_io, n as appendFeedbackEntryForIssue, o as readContinueStateForIssue, r as clearFeedbackForIssue, t as appendContinueSessionEntryForIssue } from "./lifecycle-io-CeYxP3cE.js";
5
5
  import { Data, Effect } from "effect";
6
6
  import { existsSync } from "fs";
7
7
  import { join } from "path";
@@ -148,4 +148,4 @@ var init_feedback_writer = __esmMin((() => {
148
148
  //#endregion
149
149
  export { writeFeedbackFile as a, init_feedback_writer as i, archiveFeedbackFiles as n, clearFeedbackFiles as r, FeedbackWriteError as t };
150
150
 
151
- //# sourceMappingURL=feedback-writer-qvm7UON7.js.map
151
+ //# sourceMappingURL=feedback-writer-fdE1BzeL.js.map
@@ -1,2 +1,2 @@
1
- import { a as pauseFlywheel, o as resumeFlywheel } from "./flywheel-Dfpx4bIV.js";
1
+ import { a as pauseFlywheel, o as resumeFlywheel } from "./flywheel-Bv3wv2S6.js";
2
2
  export { pauseFlywheel, resumeFlywheel };
@@ -1,14 +1,15 @@
1
1
  import { a as __toCommonJS } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { En as getProjectSwarmHotspots, Nn as init_projects, bn as findProjectByPathSync } from "./config-yaml-ClpGgrf6.js";
3
- import { _ as FlywheelRunId, t as init_src, v as FlywheelStatus } from "./src-fgbU-jJ-.js";
4
- import { c as init_review_status, s as getReviewStatusSync } from "./review-status-gPndPUBc.js";
5
- import { d as init_agents, u as countAgentsByStatusRole } from "./briefing-freshness-B2FdLwIv.js";
6
- import { An as getAgentDir, K as stopAgent, W as spawnRun, t as init_agents$1 } from "./agents-B5LfpLPv.js";
7
- import { n as init_issue_service_singleton, r as issue_service_singleton_exports } from "./issue-service-singleton-Brc3t0SV.js";
8
- import { o as getInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-B_1YLWLI.js";
9
- import { d as isFlywheelAutoPickupBacklog, f as isFlywheelGloballyPaused, i as getFlywheelActiveRunId, p as isFlywheelRequireUatBeforeMerge, s as init_control_settings, x as setFlywheelGloballyPaused, y as setFlywheelActiveRunId } from "./control-settings-D1B3u6HP.js";
10
- import { n as parseSequenceMd, t as init_sequence_io } from "./sequence-io-DA0akEQN.js";
11
- import { a as declaredIssueFootprint, i as computePredictedConflictSignals, s as pickFromSequence } from "./flywheel-merge-order-CB4lbXeJ.js";
2
+ import { Dn as getProjectSwarmHotspots, Pn as init_projects, xn as findProjectByPathSync } from "./config-yaml-Dcz-8uit.js";
3
+ import { _ as FlywheelRunId, t as init_src, v as FlywheelStatus } from "./src-DHn4Rd2F.js";
4
+ import { c as init_review_status, s as getReviewStatusSync } from "./review-status-4qqLkRMu.js";
5
+ import { d as init_agents, u as countAgentsByStatusRole } from "./briefing-freshness-Kh5V8RTh.js";
6
+ import { An as getAgentDir, K as stopAgent, W as spawnRun, t as init_agents$1 } from "./agents-CsOzAmRg.js";
7
+ import { n as init_issue_service_singleton, r as issue_service_singleton_exports } from "./issue-service-singleton-CuHGpJJP.js";
8
+ import { o as getInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-CjlhdufS.js";
9
+ import { d as isFlywheelAutoPickupBacklog, f as isFlywheelGloballyPaused, i as getFlywheelActiveRunId, p as isFlywheelRequireUatBeforeMerge, s as init_control_settings, x as setFlywheelGloballyPaused, y as setFlywheelActiveRunId } from "./control-settings-DwkAeooY.js";
10
+ import { n as init_resolver, t as createBeadsResolver } from "./resolver-dTpSSzaH.js";
11
+ import { n as parseSequenceMd, t as init_sequence_io } from "./sequence-io-C0uoqfGx.js";
12
+ import { a as declaredIssueFootprint, i as computePredictedConflictSignals, s as pickFromSequence } from "./flywheel-merge-order-BaEN3iyN.js";
12
13
  import { dirname, join } from "node:path";
13
14
  import { Effect, Schema } from "effect";
14
15
  import { homedir } from "node:os";
@@ -18,6 +19,7 @@ import { mkdir, readFile, readdir, rename, stat as stat$1, writeFile } from "nod
18
19
  init_projects();
19
20
  init_internal_token();
20
21
  init_review_status();
22
+ init_resolver();
21
23
  init_agents$1();
22
24
  init_src();
23
25
  init_control_settings();
@@ -287,10 +289,14 @@ function buildClassifyLookups(projectRoot, opts) {
287
289
  if (m) specIssues.add(m[1].toUpperCase());
288
290
  }
289
291
  const workspacesDir = join(projectRoot, "workspaces");
290
- const beadsIssues = /* @__PURE__ */ new Set();
291
- if (existsSync(workspacesDir)) for (const dir of readdirSync(workspacesDir)) {
292
+ const beadsIssues = new Set(opts?.issuesWithBeads ?? []);
293
+ if (!opts?.issuesWithBeads && existsSync(workspacesDir)) for (const dir of readdirSync(workspacesDir)) {
292
294
  const m = /^feature-([a-z]+-\d+)$/i.exec(dir);
293
- if (m && existsSync(join(workspacesDir, dir, ".beads", "issues.jsonl"))) beadsIssues.add(m[1].toUpperCase());
295
+ if (m) {
296
+ const issueId = m[1].toUpperCase();
297
+ const result = createBeadsResolver(join(workspacesDir, dir)).getBeadsForIssueSync(issueId);
298
+ if (result.ok && result.value.length > 0) beadsIssues.add(issueId);
299
+ }
294
300
  }
295
301
  return {
296
302
  labels: opts?.labels ?? ((id) => labelsByIssue.get(id.toUpperCase()) ?? []),
@@ -306,6 +312,7 @@ function buildClassifyLookups(projectRoot, opts) {
306
312
  }
307
313
  //#endregion
308
314
  //#region ../../lib/cloister/flywheel.ts
315
+ init_resolver();
309
316
  init_control_settings();
310
317
  const FLYWHEEL_ORCHESTRATOR_AGENT_ID = "flywheel-orchestrator";
311
318
  const FlywheelRunIdSchema = Schema.String.check(Schema.isPattern(/^RUN-\d+$/));
@@ -388,7 +395,8 @@ async function flywheelRunConfigurationSection(options) {
388
395
  const predictedConflictSignals = computePredictedConflictSignals(declaredFootprints, { hotspots: getProjectSwarmHotspots(findProjectByPathSync(projectRoot)) });
389
396
  const isReadyOrHasPrd = (issueId) => {
390
397
  const id = issueId.toUpperCase();
391
- if (issuesWithSpecs.has(id) && existsSync(join(workspacesDir, `feature-${id.toLowerCase()}`, ".beads", "issues.jsonl"))) return true;
398
+ const beads = createBeadsResolver(join(workspacesDir, `feature-${id.toLowerCase()}`)).getBeadsForIssueSync(id);
399
+ if (issuesWithSpecs.has(id) && beads.ok && beads.value.length > 0) return true;
392
400
  return existsSync(join(projectRoot, ".pan", "drafts", `${id}.md`));
393
401
  };
394
402
  const isInPipeline = (issueId) => existsSync(join(workspacesDir, `feature-${issueId.toLowerCase()}`));
@@ -513,4 +521,4 @@ async function resumeFlywheel(options = {}) {
513
521
  //#endregion
514
522
  export { writeLatestFlywheelStatus as S, readCurrentLatestFlywheelStatus as _, pauseFlywheel as a, subscribeLatestFlywheelStatus as b, spawnFlywheelAgent as c, clearFlywheelGate as d, getFlywheelRunDetail as f, nextFlywheelRunId as g, listFlywheelRuns as h, loadResumeSessionId as i, buildClassifyLookups as l, isFlywheelRunId as m, buildFlywheelResumePrompt as n, resumeFlywheel as o, getFlywheelRunDir as p, isFlywheelDevcontainerRuntime as r, saveResumeSessionId as s, FLYWHEEL_ORCHESTRATOR_AGENT_ID as t, abortFlywheelRun as u, readFlywheelLaunchMetadata as v, writeFlywheelLaunchMetadata as x, resolveLiveFlywheelRunId as y };
515
523
 
516
- //# sourceMappingURL=flywheel-Dfpx4bIV.js.map
524
+ //# sourceMappingURL=flywheel-Bv3wv2S6.js.map
@@ -1,15 +1,15 @@
1
- import { t as init_config_yaml } from "./config-yaml-ClpGgrf6.js";
2
- import { L as sessionExists, x as init_tmux } from "./tmux-D57f-XNv.js";
3
- import { c as FlywheelStats, t as init_src, v as FlywheelStatus } from "./src-fgbU-jJ-.js";
4
- import { t as init_agents } from "./agents-B5LfpLPv.js";
5
- import { s as init_internal_token } from "./internal-token-B_1YLWLI.js";
6
- import { i as getFlywheelActiveRunId, s as init_control_settings } from "./control-settings-D1B3u6HP.js";
7
- import { t as init_harness_resolve } from "./harness-resolve-SkRJm4a7.js";
8
- import { d as clearFlywheelGate, f as getFlywheelRunDetail, h as listFlywheelRuns, p as getFlywheelRunDir } from "./flywheel-Dfpx4bIV.js";
9
- import { f as init_github_app } from "./github-app-BecAnXRX.js";
10
- import { t as init_sequence_io } from "./sequence-io-DA0akEQN.js";
11
- import { r as computeMergeQueue } from "./flywheel-merge-order-CB4lbXeJ.js";
12
- import "./merge-blockers-BMhDpMl_.js";
1
+ import { t as init_config_yaml } from "./config-yaml-Dcz-8uit.js";
2
+ import { L as sessionExists, x as init_tmux } from "./tmux-C_d-lSIq.js";
3
+ import { c as FlywheelStats, t as init_src, v as FlywheelStatus } from "./src-DHn4Rd2F.js";
4
+ import { t as init_agents } from "./agents-CsOzAmRg.js";
5
+ import { s as init_internal_token } from "./internal-token-CjlhdufS.js";
6
+ import { i as getFlywheelActiveRunId, s as init_control_settings } from "./control-settings-DwkAeooY.js";
7
+ import { t as init_harness_resolve } from "./harness-resolve-iMjyNUJ2.js";
8
+ import { d as clearFlywheelGate, f as getFlywheelRunDetail, h as listFlywheelRuns, p as getFlywheelRunDir } from "./flywheel-Bv3wv2S6.js";
9
+ import { f as init_github_app } from "./github-app-DscZ0_B6.js";
10
+ import { t as init_sequence_io } from "./sequence-io-C0uoqfGx.js";
11
+ import { r as computeMergeQueue } from "./flywheel-merge-order-BaEN3iyN.js";
12
+ import "./merge-blockers-Bto_Oe_o.js";
13
13
  import { join } from "node:path";
14
14
  import { Effect, Schema } from "effect";
15
15
  import "node:os";
@@ -203,4 +203,4 @@ async function flywheelReportCommand(options = {}) {
203
203
  //#endregion
204
204
  export { flywheelReportCommand };
205
205
 
206
- //# sourceMappingURL=flywheel-D2LdPSic.js.map
206
+ //# sourceMappingURL=flywheel-CUErLAyN.js.map
@@ -1,9 +1,9 @@
1
- import { En as getProjectSwarmHotspots, Nn as init_projects, bn as findProjectByPathSync } from "./config-yaml-ClpGgrf6.js";
2
- import { c as init_review_status, p as mergeGateEligibility, s as getReviewStatusSync } from "./review-status-gPndPUBc.js";
3
- import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-CWFt6jjV.js";
4
- import { i as compileGlob, u as init_dag } from "./dag-Dv2r5bVD.js";
5
- import { n as computeIssueFootprint, r as init_swarm_readiness } from "./swarm-readiness-Cf9mommA.js";
6
- import { p as isAutoPickable, s as classifyIssue } from "./pickup-KLRUhThD.js";
1
+ import { Dn as getProjectSwarmHotspots, Pn as init_projects, xn as findProjectByPathSync } from "./config-yaml-Dcz-8uit.js";
2
+ import { c as init_review_status, p as mergeGateEligibility, s as getReviewStatusSync } from "./review-status-4qqLkRMu.js";
3
+ import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-Ch2_5GGf.js";
4
+ import { i as compileGlob, u as init_dag } from "./dag-CqTehWpY.js";
5
+ import { n as computeIssueFootprint, r as init_swarm_readiness } from "./swarm-readiness-CL5sM9B1.js";
6
+ import { p as isAutoPickable, s as classifyIssue } from "./pickup-CKRuGDsB.js";
7
7
  import { Effect } from "effect";
8
8
  import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
9
9
  //#region ../../lib/flywheel-merge-order.ts
@@ -240,4 +240,4 @@ function pickFromSequence(nodes, opts) {
240
240
  //#endregion
241
241
  export { declaredIssueFootprint as a, resolveMergeQueuePrUrl as c, computePredictedConflictSignals as i, reviewRecordEligibility as l, changedFilesVsMain as n, orderMergeCandidates as o, computeMergeQueue as r, pickFromSequence as s, MERGE_GATE_VERBS as t };
242
242
 
243
- //# sourceMappingURL=flywheel-merge-order-CB4lbXeJ.js.map
243
+ //# sourceMappingURL=flywheel-merge-order-BaEN3iyN.js.map
@@ -1,2 +1,2 @@
1
- import { c as resolveMergeQueuePrUrl, l as reviewRecordEligibility, r as computeMergeQueue } from "./flywheel-merge-order-CB4lbXeJ.js";
1
+ import { c as resolveMergeQueuePrUrl, l as reviewRecordEligibility, r as computeMergeQueue } from "./flywheel-merge-order-BaEN3iyN.js";
2
2
  export { computeMergeQueue, resolveMergeQueuePrUrl, reviewRecordEligibility };
@@ -1,4 +1,4 @@
1
- import { _ as listPullRequestsForHead, b as mergePullRequestWithApp, d as getPullRequestState, f as init_github_app, p as isGitHubAppConfigured, x as parsePullRequestRef } from "./github-app-BecAnXRX.js";
1
+ import { _ as listPullRequestsForHead, b as mergePullRequestWithApp, d as getPullRequestState, f as init_github_app, p as isGitHubAppConfigured, x as parsePullRequestRef } from "./github-app-DscZ0_B6.js";
2
2
  import { join } from "node:path";
3
3
  import { Data, Effect } from "effect";
4
4
  import { tmpdir } from "node:os";
@@ -257,4 +257,4 @@ function getForgeAdapter(forge) {
257
257
  //#endregion
258
258
  export { getForgeAdapter as n, parseArtifactRef as r, GITHUB_MERGE_TIMEOUT_MS as t };
259
259
 
260
- //# sourceMappingURL=forge-CoPFXFyl.js.map
260
+ //# sourceMappingURL=forge-ButEdJ31.js.map
@@ -0,0 +1,2 @@
1
+ import { n as getForgeAdapter } from "./forge-ButEdJ31.js";
2
+ export { getForgeAdapter };
@@ -3841,4 +3841,4 @@ var init_from = __esmMin((() => {
3841
3841
  //#endregion
3842
3842
  export { File as a, init_esm_min as i, FormData as n, Blob as o, formDataToBlob as r, init_fetch_blob as s, init_from as t };
3843
3843
 
3844
- //# sourceMappingURL=from-B0YoJl9-.js.map
3844
+ //# sourceMappingURL=from-CbtTxftl.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { a as runMemoryFtsTransactionSync, i as runMemoryFtsStatementSync, n as getMemoryFtsDatabaseSync, r as init_fts_operations, t as closeMemoryFtsDatabasesInProcess } from "./fts-operations-DDXDBi0d.js";
2
+ import { a as runMemoryFtsTransactionSync, i as runMemoryFtsStatementSync, n as getMemoryFtsDatabaseSync, r as init_fts_operations, t as closeMemoryFtsDatabasesInProcess } from "./fts-operations-CI9Xuo_1.js";
3
3
  import { Worker } from "node:worker_threads";
4
4
  //#region ../../lib/memory/fts-db.ts
5
5
  async function getMemoryFtsDatabase(projectId) {
@@ -143,4 +143,4 @@ var init_fts_db = __esmMin((() => {
143
143
  //#endregion
144
144
  export { withMemoryFtsDatabase as a, runMemoryFtsTransaction as i, init_fts_db as n, runMemoryFtsStatement as r, closeMemoryFtsDatabases as t };
145
145
 
146
- //# sourceMappingURL=fts-db-DAHW1yA_.js.map
146
+ //# sourceMappingURL=fts-db-CBgBLZcL.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
2
  import { n as openDatabase, t as init_driver } from "./driver-D-HBOQa_.js";
3
- import { i as init_paths, o as resolveFtsDbPath } from "./paths-CVDLPxXp.js";
3
+ import { i as init_paths, o as resolveFtsDbPath } from "./paths-C9DkhIOT.js";
4
4
  import { dirname } from "node:path";
5
5
  import { mkdirSync } from "node:fs";
6
6
  //#region ../../lib/memory/fts-operations.ts
@@ -131,4 +131,4 @@ var init_fts_operations = __esmMin((() => {
131
131
  //#endregion
132
132
  export { runMemoryFtsTransactionSync as a, runMemoryFtsStatementSync as i, getMemoryFtsDatabaseSync as n, init_fts_operations as r, closeMemoryFtsDatabasesInProcess as t };
133
133
 
134
- //# sourceMappingURL=fts-operations-DDXDBi0d.js.map
134
+ //# sourceMappingURL=fts-operations-CI9Xuo_1.js.map
@@ -1,3 +1,3 @@
1
- import { i as init_git_utils, n as getWorkspaceGitInfo, r as hasStaleLocks, t as cleanupStaleLocks } from "./git-utils-B90Zjzfl.js";
1
+ import { i as init_git_utils, n as getWorkspaceGitInfo, r as hasStaleLocks, t as cleanupStaleLocks } from "./git-utils-ClfpP47N.js";
2
2
  init_git_utils();
3
3
  export { cleanupStaleLocks, getWorkspaceGitInfo, hasStaleLocks };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { cr as FsError, lr as GitError, vr as init_errors } from "./config-yaml-ClpGgrf6.js";
2
+ import { br as init_errors, dr as GitError, ur as FsError } from "./config-yaml-Dcz-8uit.js";
3
3
  import { Effect } from "effect";
4
4
  import { existsSync, readdirSync, unlinkSync } from "fs";
5
5
  import { join } from "path";
@@ -126,4 +126,4 @@ var init_git_utils = __esmMin((() => {
126
126
  //#endregion
127
127
  export { init_git_utils as i, getWorkspaceGitInfo as n, hasStaleLocks as r, cleanupStaleLocks as t };
128
128
 
129
- //# sourceMappingURL=git-utils-B90Zjzfl.js.map
129
+ //# sourceMappingURL=git-utils-ClfpP47N.js.map
@@ -1,3 +1,3 @@
1
- import { C as refreshWorkspaceToken, S as postOverdeckTestsStatus, T as verifyAppCanMerge, _ as listPullRequestsForHead, a as getCiCheckRunsState, b as mergePullRequestWithApp, c as getIssueStatePromise, d as getPullRequestState, f as init_github_app, g as listOpenIssuesWithLabelsPromise, h as listOpenIssuesWithLabels, i as getBotIdentity, l as getMergeBackendStatus, m as isIntegrationPermissionError, n as generateInstallationToken, o as getCiCheckRunsStatePromise, p as isGitHubAppConfigured, r as getAppStatus, s as getIssueState, t as configureWorkspaceForBot, u as getPullRequestHeadState, v as listPullRequestsForHeadPromise, w as reportCommitStatus, x as parsePullRequestRef, y as loadGitHubAppConfig } from "./github-app-BecAnXRX.js";
1
+ import { C as refreshWorkspaceToken, S as postOverdeckTestsStatus, T as verifyAppCanMerge, _ as listPullRequestsForHead, a as getCiCheckRunsState, b as mergePullRequestWithApp, c as getIssueStatePromise, d as getPullRequestState, f as init_github_app, g as listOpenIssuesWithLabelsPromise, h as listOpenIssuesWithLabels, i as getBotIdentity, l as getMergeBackendStatus, m as isIntegrationPermissionError, n as generateInstallationToken, o as getCiCheckRunsStatePromise, p as isGitHubAppConfigured, r as getAppStatus, s as getIssueState, t as configureWorkspaceForBot, u as getPullRequestHeadState, v as listPullRequestsForHeadPromise, w as reportCommitStatus, x as parsePullRequestRef, y as loadGitHubAppConfig } from "./github-app-DscZ0_B6.js";
2
2
  init_github_app();
3
3
  export { configureWorkspaceForBot, generateInstallationToken, getAppStatus, getBotIdentity, getCiCheckRunsState, getCiCheckRunsStatePromise, getIssueState, getIssueStatePromise, getMergeBackendStatus, getPullRequestHeadState, getPullRequestState, isGitHubAppConfigured, isIntegrationPermissionError, listOpenIssuesWithLabels, listOpenIssuesWithLabelsPromise, listPullRequestsForHead, listPullRequestsForHeadPromise, loadGitHubAppConfig, mergePullRequestWithApp, parsePullRequestRef, postOverdeckTestsStatus, refreshWorkspaceToken, reportCommitStatus, verifyAppCanMerge };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { cr as FsError, sr as ConfigError, ur as GitHubApiError, vr as init_errors } from "./config-yaml-ClpGgrf6.js";
2
+ import { br as init_errors, fr as GitHubApiError, lr as ConfigError, ur as FsError } from "./config-yaml-Dcz-8uit.js";
3
3
  import { Effect } from "effect";
4
4
  import { existsSync, readFileSync } from "fs";
5
5
  import { join } from "path";
@@ -553,4 +553,4 @@ var init_github_app = __esmMin((() => {
553
553
  //#endregion
554
554
  export { refreshWorkspaceToken as C, postOverdeckTestsStatus as S, verifyAppCanMerge as T, listPullRequestsForHead as _, getCiCheckRunsState as a, mergePullRequestWithApp as b, getIssueStatePromise as c, getPullRequestState as d, init_github_app as f, listOpenIssuesWithLabelsPromise as g, listOpenIssuesWithLabels as h, getBotIdentity as i, getMergeBackendStatus as l, isIntegrationPermissionError as m, generateInstallationToken as n, getCiCheckRunsStatePromise as o, isGitHubAppConfigured as p, getAppStatus as r, getIssueState as s, configureWorkspaceForBot as t, getPullRequestHeadState as u, listPullRequestsForHeadPromise as v, reportCommitStatus as w, parsePullRequestRef as x, loadGitHubAppConfig as y };
555
555
 
556
- //# sourceMappingURL=github-app-BecAnXRX.js.map
556
+ //# sourceMappingURL=github-app-DscZ0_B6.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { a as init_tracker_config, t as getGitHubConfig } from "./tracker-config-BmdJU_w6.js";
2
+ import { a as init_tracker_config, t as getGitHubConfig } from "./tracker-config-CNODpd11.js";
3
3
  import { c as TrackerNotConfigured, d as init_typed_errors, i as IssueNotFound, o as RateLimited, s as TrackerApiError } from "./typed-errors-BEJhbjJg.js";
4
4
  import { Context, Effect, Layer } from "effect";
5
5
  //#region services/github-client.ts
@@ -241,4 +241,4 @@ var init_github_client = __esmMin((() => {
241
241
  //#endregion
242
242
  export { init_github_client as i, GitHubClientLive as n, GitHubClientOptionalLive as r, GitHubClient as t };
243
243
 
244
- //# sourceMappingURL=github-client-D21rCIXk.js.map
244
+ //# sourceMappingURL=github-client-DpiZnxGH.js.map
@@ -1,3 +1,3 @@
1
- import { i as init_github_client, n as GitHubClientLive, r as GitHubClientOptionalLive, t as GitHubClient } from "./github-client-D21rCIXk.js";
1
+ import { i as init_github_client, n as GitHubClientLive, r as GitHubClientOptionalLive, t as GitHubClient } from "./github-client-DpiZnxGH.js";
2
2
  init_github_client();
3
3
  export { GitHubClient, GitHubClientLive, GitHubClientOptionalLive };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { _ as listPullRequestsForHead, f as init_github_app, p as isGitHubAppConfigured } from "./github-app-BecAnXRX.js";
2
+ import { _ as listPullRequestsForHead, f as init_github_app, p as isGitHubAppConfigured } from "./github-app-DscZ0_B6.js";
3
3
  import { Effect } from "effect";
4
4
  import { execFile } from "node:child_process";
5
5
  import { promisify } from "node:util";
@@ -41,4 +41,4 @@ var init_github_pr_lookup = __esmMin((() => {
41
41
  //#endregion
42
42
  export { init_github_pr_lookup as n, lookupPullRequestNumberForBranch as r, githubPrLookupSource as t };
43
43
 
44
- //# sourceMappingURL=github-pr-lookup-CzVWuysl.js.map
44
+ //# sourceMappingURL=github-pr-lookup-D-EBexxC.js.map
@@ -1,10 +1,10 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { D as canUseModelWithAuthSync, E as canUseHarnessSync, L as getProviderForModelSync, O as init_harness_policy, P as getBuiltInDefaultHarness, R as init_providers, f as loadConfigSync, t as init_config_yaml } from "./config-yaml-ClpGgrf6.js";
2
+ import { D as canUseHarnessSync, F as getBuiltInDefaultHarness, O as canUseModelWithAuthSync, R as getProviderForModelSync, f as loadConfigSync, k as init_harness_policy, t as init_config_yaml, z as init_providers } from "./config-yaml-Dcz-8uit.js";
3
3
  import { exec } from "child_process";
4
4
  import { promisify } from "util";
5
5
  //#region ../../lib/harness-resolve.ts
6
6
  async function getProviderAuthModeForModel(model) {
7
- const { getProviderAuthMode } = await import("./agents-C4kZ8a2r.js");
7
+ const { getProviderAuthMode } = await import("./agents-DCvyTXNU.js");
8
8
  return getProviderAuthMode(model);
9
9
  }
10
10
  async function hasHarnessBinary(harness) {
@@ -69,4 +69,4 @@ var init_harness_resolve = __esmMin((() => {
69
69
  //#endregion
70
70
  export { resolveHarness as n, init_harness_resolve as t };
71
71
 
72
- //# sourceMappingURL=harness-resolve-SkRJm4a7.js.map
72
+ //# sourceMappingURL=harness-resolve-iMjyNUJ2.js.map
@@ -1,2 +1,2 @@
1
- import { n as getLatestHealthEvent, r as writeHealthEvent, t as getHealthHistory } from "./health-events-BT0aAfeA.js";
1
+ import { n as getLatestHealthEvent, r as writeHealthEvent, t as getHealthHistory } from "./health-events-CRdxDFN2.js";
2
2
  export { getHealthHistory, getLatestHealthEvent, writeHealthEvent };
@@ -1,4 +1,4 @@
1
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-DE3C4PMr.js";
1
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-bpq1MHKU.js";
2
2
  //#region ../../lib/overdeck/health-events.ts
3
3
  init_infra();
4
4
  function parseMetadata(row) {
@@ -66,4 +66,4 @@ function getHealthHistory(agentId, startTime, endTime) {
66
66
  //#endregion
67
67
  export { getLatestHealthEvent as n, writeHealthEvent as r, getHealthHistory as t };
68
68
 
69
- //# sourceMappingURL=health-events-BT0aAfeA.js.map
69
+ //# sourceMappingURL=health-events-CRdxDFN2.js.map
@@ -1,3 +1,3 @@
1
- import { _ as pushToHookSync, a as collectMail, b as sendMail, c as generateFixedPointPromptSync, d as initHook, f as initHookSync, g as pushToHook, h as popFromHookSync, i as clearHookSync, l as getHook, m as popFromHook, n as checkHookSync, o as collectMailSync, p as init_hooks, r as clearHook, s as generateFixedPointPrompt, t as checkHook, u as getHookSync, v as reorderHookItems, x as sendMailSync, y as reorderHookItemsSync } from "./hooks-DxEn2BoY.js";
1
+ import { _ as pushToHookSync, a as collectMail, b as sendMail, c as generateFixedPointPromptSync, d as initHook, f as initHookSync, g as pushToHook, h as popFromHookSync, i as clearHookSync, l as getHook, m as popFromHook, n as checkHookSync, o as collectMailSync, p as init_hooks, r as clearHook, s as generateFixedPointPrompt, t as checkHook, u as getHookSync, v as reorderHookItems, x as sendMailSync, y as reorderHookItemsSync } from "./hooks-C9b7Vqpw.js";
2
2
  init_hooks();
3
3
  export { checkHook, checkHookSync, clearHook, clearHookSync, collectMail, collectMailSync, generateFixedPointPrompt, generateFixedPointPromptSync, getHook, getHookSync, initHook, initHookSync, popFromHook, popFromHookSync, pushToHook, pushToHookSync, reorderHookItems, reorderHookItemsSync, sendMail, sendMailSync };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Vr as init_paths, cr as FsError, vr as init_errors, yr as AGENTS_DIR } from "./config-yaml-ClpGgrf6.js";
2
+ import { br as init_errors, qr as init_paths, ur as FsError, xr as AGENTS_DIR } from "./config-yaml-Dcz-8uit.js";
3
3
  import { Effect } from "effect";
4
4
  import { existsSync, mkdirSync, readFileSync, readdirSync, unlinkSync, writeFileSync } from "fs";
5
5
  import { join } from "path";
@@ -294,4 +294,4 @@ var init_hooks = __esmMin((() => {
294
294
  //#endregion
295
295
  export { pushToHookSync as _, collectMail as a, sendMail as b, generateFixedPointPromptSync as c, initHook as d, initHookSync as f, pushToHook as g, popFromHookSync as h, clearHookSync as i, getHook as l, popFromHook as m, checkHookSync as n, collectMailSync as o, init_hooks as p, clearHook as r, generateFixedPointPrompt as s, checkHook as t, getHookSync as u, reorderHookItems as v, sendMailSync as x, reorderHookItemsSync as y };
296
296
 
297
- //# sourceMappingURL=hooks-DxEn2BoY.js.map
297
+ //# sourceMappingURL=hooks-C9b7Vqpw.js.map
@@ -0,0 +1,3 @@
1
+ import { i as init_hume, r as deleteHumeConfig } from "./hume-TQ5pvOZ_.js";
2
+ init_hume();
3
+ export { deleteHumeConfig };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { n as init_workspace_config, r as replacePlaceholdersSync } from "./workspace-config-DA8U97k9.js";
2
+ import { n as init_workspace_config, r as replacePlaceholdersSync } from "./workspace-config-CBgMGhWs.js";
3
3
  import { Data, Effect } from "effect";
4
4
  //#region ../../lib/hume.ts
5
5
  /**
@@ -189,4 +189,4 @@ var init_hume = __esmMin((() => {
189
189
  //#endregion
190
190
  export { init_hume as i, createHumeConfig as n, deleteHumeConfig as r, HumeApiError as t };
191
191
 
192
- //# sourceMappingURL=hume-DkVOs1Qi.js.map
192
+ //# sourceMappingURL=hume-TQ5pvOZ_.js.map
@@ -1,5 +1,5 @@
1
1
  import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-pcbf-e30.js";
2
- import { O as listSessionNames, x as init_tmux } from "./tmux-D57f-XNv.js";
2
+ import { O as listSessionNames, x as init_tmux } from "./tmux-C_d-lSIq.js";
3
3
  import { Effect } from "effect";
4
4
  import { exec } from "child_process";
5
5
  import { promisify } from "util";
@@ -132,4 +132,4 @@ async function reconcileIdleWorkspaceStacks(deps = {}) {
132
132
  //#endregion
133
133
  export { reconcileIdleWorkspaceStacks as n, handleAgentLifecycleEventForIdleStack as t };
134
134
 
135
- //# sourceMappingURL=idle-stack-reaper-DGy7tvC9.js.map
135
+ //# sourceMappingURL=idle-stack-reaper-B1kG7B_X.js.map
@@ -1,2 +1,2 @@
1
- import { t as handleAgentLifecycleEventForIdleStack } from "./idle-stack-reaper-DGy7tvC9.js";
1
+ import { t as handleAgentLifecycleEventForIdleStack } from "./idle-stack-reaper-B1kG7B_X.js";
2
2
  export { handleAgentLifecycleEventForIdleStack };
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Br as getOverdeckHome, Nt as readIssueRecordSync, Ot as init_record, Ur as packageRoot, Vr as init_paths$1, zt as writeIssueRecordSync } from "./config-yaml-ClpGgrf6.js";
2
+ import { Bt as writeIssueRecordSync, Kr as getOverdeckHome, Pt as readIssueRecordSync, Yr as packageRoot, kt as init_record, qr as init_paths$1 } from "./config-yaml-Dcz-8uit.js";
3
3
  import { n as openDatabase, t as init_driver$1 } from "./driver-D-HBOQa_.js";
4
- import { L as sessionExists, m as getAgentSessions, w as killSession, x as init_tmux } from "./tmux-D57f-XNv.js";
4
+ import { L as sessionExists, m as getAgentSessions, w as killSession, x as init_tmux } from "./tmux-C_d-lSIq.js";
5
5
  import { dirname, isAbsolute, join } from "node:path";
6
6
  import { Context, Effect, Layer, Queue, Stream } from "effect";
7
7
  import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
@@ -4597,6 +4597,13 @@ function ensureRuntimeIndexesSync(db) {
4597
4597
  try {
4598
4598
  db.exec("UPDATE `discovered_sessions` SET `harness` = 'claude-code' WHERE `harness` IS NULL");
4599
4599
  } catch {}
4600
+ try {
4601
+ db.exec("ALTER TABLE `review_status` ADD COLUMN `release_status` text");
4602
+ } catch {}
4603
+ try {
4604
+ db.exec("ALTER TABLE `review_status` ADD COLUMN `release_notes` text");
4605
+ } catch {}
4606
+ ensureReleaseSetTablesSync(db);
4600
4607
  db.exec("CREATE INDEX IF NOT EXISTS `cost_session_id_idx` ON `cost_events` (`session_id`)");
4601
4608
  try {
4602
4609
  db.exec("ALTER TABLE `agents` ADD COLUMN `yielded_by_scheduler` integer");
@@ -4626,6 +4633,46 @@ function ensureRuntimeIndexesSync(db) {
4626
4633
  db.exec("ALTER TABLE `agents` ADD COLUMN `last_yield_resume_at` integer");
4627
4634
  } catch {}
4628
4635
  }
4636
+ /**
4637
+ * Idempotent schema top-up for release set tables (PAN-399). Existing overdeck.db
4638
+ * files created before the release-set feature need these tables added without
4639
+ * requiring a full migration reset.
4640
+ */
4641
+ function ensureReleaseSetTablesSync(db) {
4642
+ db.exec(`
4643
+ CREATE TABLE IF NOT EXISTS \`release_sets\` (
4644
+ \`issue_id\` text PRIMARY KEY NOT NULL,
4645
+ \`project_key\` text NOT NULL,
4646
+ \`project_path\` text NOT NULL,
4647
+ \`workspace_type\` text NOT NULL,
4648
+ \`status\` text DEFAULT 'pending' NOT NULL,
4649
+ \`created_at\` integer NOT NULL,
4650
+ \`updated_at\` integer NOT NULL,
4651
+ FOREIGN KEY (\`issue_id\`) REFERENCES \`issues\`(\`id\`) ON UPDATE no action ON DELETE no action
4652
+ )
4653
+ `);
4654
+ db.exec("CREATE INDEX IF NOT EXISTS `release_sets_project_idx` ON `release_sets` (`project_key`,`updated_at`)");
4655
+ db.exec(`
4656
+ CREATE TABLE IF NOT EXISTS \`release_set_components\` (
4657
+ \`id\` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
4658
+ \`issue_id\` text NOT NULL,
4659
+ \`component_key\` text NOT NULL,
4660
+ \`provider\` text,
4661
+ \`trigger\` text NOT NULL,
4662
+ \`release_order\` integer DEFAULT 0 NOT NULL,
4663
+ \`required\` integer DEFAULT true NOT NULL,
4664
+ \`status\` text DEFAULT 'pending' NOT NULL,
4665
+ \`health_status\` text,
4666
+ \`version_status\` text,
4667
+ \`smoke_status\` text,
4668
+ \`rollback_status\` text,
4669
+ \`notes\` text,
4670
+ FOREIGN KEY (\`issue_id\`) REFERENCES \`release_sets\`(\`issue_id\`) ON UPDATE no action ON DELETE cascade
4671
+ )
4672
+ `);
4673
+ db.exec("CREATE UNIQUE INDEX IF NOT EXISTS `release_set_components_issue_component_idx` ON `release_set_components` (`issue_id`,`component_key`)");
4674
+ db.exec("CREATE INDEX IF NOT EXISTS `release_set_components_issue_order_idx` ON `release_set_components` (`issue_id`,`release_order`,`component_key`)");
4675
+ }
4629
4676
  function getOverdeckDatabaseSync(dbPath = getOverdeckDatabasePath()) {
4630
4677
  if (overdeckDbSync?.path === dbPath) return overdeckDbSync.db;
4631
4678
  if (overdeckDbSync) {
@@ -4838,4 +4885,4 @@ var init_infra = __esmMin((() => {
4838
4885
  //#endregion
4839
4886
  export { init_paths as A, inArray as C, sql as D, like as E, OVERDECK_MIGRATION_PATH as O, gte as S, isNull as T, integer as _, EventBus as a, and as b, Records as c, getOverdeckDatabaseSync as d, init_infra as f, real as g, text as h, DbLive as i, getOverdeckDatabasePath as k, Tmux as l, sqliteTable as m, CostArchiveLive as n, EventBusLive as o, init_sqlite_core as p, Db as r, Forge as s, CostArchive as t, TmuxLive as u, init_drizzle_orm as v, isNotNull as w, eq as x, desc as y };
4840
4887
 
4841
- //# sourceMappingURL=infra-DE3C4PMr.js.map
4888
+ //# sourceMappingURL=infra-bpq1MHKU.js.map
@@ -1,3 +1,3 @@
1
- import { n as init_injection, r as injectPromptTimeMemory } from "./injection-Cc4Qt8LZ.js";
1
+ import { n as init_injection, r as injectPromptTimeMemory } from "./injection-DJqWld1v.js";
2
2
  init_injection();
3
3
  export { injectPromptTimeMemory };
@@ -1,10 +1,10 @@
1
1
  import { n as __esmMin, o as __toESM } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Gn as resolveProjectFromIssueSync, Nn as init_projects, ir as require_dist, zn as loadProjectsConfigSync } from "./config-yaml-ClpGgrf6.js";
3
- import { d as resolveRagRunsFile, f as resolveStatusFile, i as init_paths, r as ensureParentDir } from "./paths-CVDLPxXp.js";
4
- import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-DMu7eGmU.js";
5
- import { a as isMemoryKnowledgeIndexEnabled, i as init_settings, o as isMemoryPromptTimeInjectionEnabled } from "./settings-CxVate0h.js";
6
- import { n as extractWithProviderPolicy, t as init_providers } from "./providers-fLduChnX.js";
7
- import { n as init_fts_db, r as runMemoryFtsStatement } from "./fts-db-DAHW1yA_.js";
2
+ import { Bn as loadProjectsConfigSync, Kn as resolveProjectFromIssueSync, Pn as init_projects, or as require_dist } from "./config-yaml-Dcz-8uit.js";
3
+ import { d as resolveRagRunsFile, f as resolveStatusFile, i as init_paths, r as ensureParentDir } from "./paths-C9DkhIOT.js";
4
+ import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-Dtm9ABuz.js";
5
+ import { a as isMemoryKnowledgeIndexEnabled, i as init_settings, o as isMemoryPromptTimeInjectionEnabled } from "./settings-DCC4BAqj.js";
6
+ import { n as extractWithProviderPolicy, t as init_providers } from "./providers-CWDXoaMA.js";
7
+ import { n as init_fts_db, r as runMemoryFtsStatement } from "./fts-db-CBgBLZcL.js";
8
8
  import { Result, Schema } from "effect";
9
9
  import { extname, isAbsolute, join, relative, resolve } from "path";
10
10
  import { createHash, randomUUID } from "crypto";
@@ -815,4 +815,4 @@ var init_injection = __esmMin((() => {
815
815
  //#endregion
816
816
  export { init_query_expansion as a, clearQueryExpansionCache as i, init_injection as n, buildMatchQuery as o, injectPromptTimeMemory as r, init_search as s, PROMPT_TIME_MEMORY_BUDGETS as t };
817
817
 
818
- //# sourceMappingURL=injection-Cc4Qt8LZ.js.map
818
+ //# sourceMappingURL=injection-DJqWld1v.js.map
@@ -0,0 +1,2 @@
1
+ import { n as onInspectComplete } from "./inspect-agent-DytCsltn.js";
2
+ export { onInspectComplete };
@@ -1,11 +1,11 @@
1
- import { C as resolveTieredExecutionEnabled, L as getProviderForModelSync, N as clearCredentialFileAuthSync, R as init_providers, S as init_tier_table, V as setupCredentialFileAuthSync, X as resolveModel, f as loadConfigSync, lr as GitError, mr as ProcessSpawnError, t as init_config_yaml, vr as init_errors } from "./config-yaml-ClpGgrf6.js";
2
- import { L as sessionExists, o as createSession, w as killSession, x as init_tmux } from "./tmux-D57f-XNv.js";
3
- import { c as init_review_status, y as setReviewStatusSync } from "./review-status-gPndPUBc.js";
4
- import { c as init_tier_supervisor, d as spawnTierSupervisor, f as supervisorAgentId, l as loadPrdDraft, ln as getProviderEnvForModel, qn as saveAgentState, s as deliverCommitForReview, t as init_agents, vr as saveAgentRuntimeState } from "./agents-B5LfpLPv.js";
5
- import { m as readWorkspacePlanSync, o as init_io } from "./io-A7ZuOBkz.js";
6
- import { a as init_launcher_generator, i as generateLauncherScriptSync } from "./state-home-C2Bicw9N.js";
7
- import { a as init_claude_permissions, i as getClaudePermissionFlagsSync } from "./claude-permissions-B6bWGh9d.js";
8
- import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-Da3DeomA.js";
1
+ import { C as init_tier_table, H as setupCredentialFileAuthSync, P as clearCredentialFileAuthSync, R as getProviderForModelSync, Z as resolveModel, br as init_errors, dr as GitError, f as loadConfigSync, gr as ProcessSpawnError, t as init_config_yaml, w as resolveTieredExecutionEnabled, z as init_providers } from "./config-yaml-Dcz-8uit.js";
2
+ import { L as sessionExists, o as createSession, w as killSession, x as init_tmux } from "./tmux-C_d-lSIq.js";
3
+ import { c as init_review_status, y as setReviewStatusSync } from "./review-status-4qqLkRMu.js";
4
+ import { c as init_tier_supervisor, d as spawnTierSupervisor, f as supervisorAgentId, l as loadPrdDraft, ln as getProviderEnvForModel, qn as saveAgentState, s as deliverCommitForReview, t as init_agents, vr as saveAgentRuntimeState } from "./agents-CsOzAmRg.js";
5
+ import { m as readWorkspacePlanSync, o as init_io } from "./io-BiQ2Cs3k.js";
6
+ import { a as init_launcher_generator, i as generateLauncherScriptSync } from "./state-home-CRowbXqU.js";
7
+ import { a as init_claude_permissions, i as getClaudePermissionFlagsSync } from "./claude-permissions-CaWqysff.js";
8
+ import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-FApNiOOs.js";
9
9
  import { Effect } from "effect";
10
10
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
11
11
  import { dirname, join } from "path";
@@ -367,4 +367,4 @@ function onInspectComplete(projectKey, issueId, beadId, status, workspacePath) {
367
367
  //#endregion
368
368
  export { onInspectComplete as n, spawnInspectAgent as r, buildInspectPrompt as t };
369
369
 
370
- //# sourceMappingURL=inspect-agent-DOaCDkCF.js.map
370
+ //# sourceMappingURL=inspect-agent-DytCsltn.js.map
@@ -1,3 +1,3 @@
1
- import { a as getInternalToken, i as ensureInternalTokenSync, n as _resetInternalTokenCacheForTests, o as getInternalTokenSync, r as ensureInternalToken, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-B_1YLWLI.js";
1
+ import { a as getInternalToken, i as ensureInternalTokenSync, n as _resetInternalTokenCacheForTests, o as getInternalTokenSync, r as ensureInternalToken, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-CjlhdufS.js";
2
2
  init_internal_token();
3
3
  export { INTERNAL_TOKEN_HEADER, _resetInternalTokenCacheForTests, ensureInternalToken, ensureInternalTokenSync, getInternalToken, getInternalTokenSync };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Br as getOverdeckHome, Vr as init_paths, cr as FsError, vr as init_errors } from "./config-yaml-ClpGgrf6.js";
2
+ import { Kr as getOverdeckHome, br as init_errors, qr as init_paths, ur as FsError } from "./config-yaml-Dcz-8uit.js";
3
3
  import { join } from "node:path";
4
4
  import { Effect } from "effect";
5
5
  import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
@@ -101,4 +101,4 @@ var init_internal_token = __esmMin((() => {
101
101
  //#endregion
102
102
  export { getInternalToken as a, ensureInternalTokenSync as i, _resetInternalTokenCacheForTests as n, getInternalTokenSync as o, ensureInternalToken as r, init_internal_token as s, INTERNAL_TOKEN_HEADER as t };
103
103
 
104
- //# sourceMappingURL=internal-token-B_1YLWLI.js.map
104
+ //# sourceMappingURL=internal-token-CjlhdufS.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Dt as getProjectConfigFromWorkspacePath, Ft as resolveProjectForIssue, Nn as init_projects, Nt as readIssueRecordSync, Ot as init_record, Qt as writeStatusOverrideSync, bn as findProjectByPathSync, cr as FsError, en as deriveProjectRoot, fn as init_state_read_home, in as queueAutoCommit, jt as readIssueRecord, pn as resolveStateReadHomeSync, rn as init_auto_commit, vr as init_errors } from "./config-yaml-ClpGgrf6.js";
2
+ import { $t as writeStatusOverrideSync, It as resolveProjectForIssue, Mt as readIssueRecord, Ot as getProjectConfigFromWorkspacePath, Pn as init_projects, Pt as readIssueRecordSync, an as queueAutoCommit, br as init_errors, in as init_auto_commit, kt as init_record, mn as resolveStateReadHomeSync, pn as init_state_read_home, tn as deriveProjectRoot, ur as FsError, xn as findProjectByPathSync } from "./config-yaml-Dcz-8uit.js";
3
3
  import { a as PAN_DIRNAME, f as asPanSpecDocument, l as PAN_SPECS_DIRNAME, m as isPanSpecStatus, o as PAN_DRAFTS_DIRNAME, p as init_types$1, r as PAN_CONTINUES_DIRNAME, u as PAN_SPEC_FILENAME } from "./types-CE1m_daD.js";
4
4
  import { Data, Effect, FileSystem } from "effect";
5
5
  import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "fs";
@@ -845,4 +845,4 @@ var init_io = __esmMin((() => {
845
845
  //#endregion
846
846
  export { findVBriefByIssue as A, slugify as B, findSpecByIssue as C, updateSpecStatus as D, readSpec as E, ensureVBriefDirsSync as F, generateVBriefFilename as I, init_lifecycle as L, invalidateVBriefIndex as M, readVBriefDocument as N, writeSpec as O, VBRIEF_LIFECYCLE_DIRS as P, parseVBriefFilename as R, ensurePanDirs as S, init_specs as T, updateItemStatus as _, findWorkspaceDraftPlan as a, init_types as b, mergeRecordStatusOverrides as c, readPlanSync as d, readTierOverrides as f, serializeVBriefDocument as g, recordTierPromotion as h, findPlanSync as i, init_vbrief_index as j, writeSpecForIssue as k, normalizeVBriefEnvelope as l, readWorkspacePlanSync as m, applyStatusOverrides as n, init_io as o, readWorkspacePlan as p, findPlan as r, isPlanningComplete as s, VBriefMergeConflictError as t, readPlan as u, updateSubItemStatus as v, getProjectPanPaths as w, subItemsOf as x, VBRIEF_INSPECTION_POLICIES as y, resolveVBriefDir as z };
847
847
 
848
- //# sourceMappingURL=io-A7ZuOBkz.js.map
848
+ //# sourceMappingURL=io-BiQ2Cs3k.js.map