@overdeck/desktop 0.47.0 → 0.47.1

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 (343) hide show
  1. package/package.json +1 -1
  2. package/server/{acceptance-criteria-10Ur5Dne.js → acceptance-criteria-Cd7ZGZCq.js} +2 -2
  3. package/server/{advancing-selfheal-BNwqxseD.js → advancing-selfheal-DieFp3qi.js} +5 -5
  4. package/server/{agent-gc-C3h9Or3a.js → agent-gc-BMcgTDl7.js} +4 -4
  5. package/server/{agent-state-CYXJVG72.js → agent-state-DyZJia9f.js} +1 -1
  6. package/server/{agent-state-service-Ds6OeFvo.js → agent-state-service-BOzQhLjU.js} +4 -4
  7. package/server/{agent-state-service-C63p_ftq.js → agent-state-service-DFO6qvHp.js} +1 -1
  8. package/server/agent-state-source-Ca_zCaII.js +21 -0
  9. package/server/{agents-J5mEnekq.js → agents-CtACUuVG.js} +3 -3
  10. package/server/{agents-ePFVoZbu.js → agents-Dnn4XgdB.js} +1 -1
  11. package/server/archive-planning-BHCd_eL5.js +2 -0
  12. package/server/{archive-planning-BwhxeP7C.js → archive-planning-Binfb99i.js} +4 -4
  13. package/server/{artifact-index-jobs-D1q_vR3V.js → artifact-index-jobs-Jn7BGOtV.js} +1 -1
  14. package/server/{assemble-Bgwqv-Ro.js → assemble-DsqK9OAq.js} +1 -1
  15. package/server/{auto-spawn-consent-CQ9Bi9q6.js → auto-spawn-consent-BooqhC3L.js} +3 -3
  16. package/server/{backlog-auto-trigger-n1lzPgN4.js → backlog-auto-trigger-BADGPxov.js} +3 -3
  17. package/server/{behavior-td6-xhQk.js → behavior-B7biGtFT.js} +1 -1
  18. package/server/{boot-reconciled-stop-events-C7gGe3oB.js → boot-reconciled-stop-events-bQUzU8ns.js} +1 -1
  19. package/server/{bridge-pool-patrol-CYH2OLb5.js → bridge-pool-patrol-DsPj6F7t.js} +1 -1
  20. package/server/{briefing-freshness-DRqZ8lAz.js → briefing-freshness-CUerZqWd.js} +1 -1
  21. package/server/{build-info-7yiEpl6u.js → build-info-D0q_i8WM.js} +3 -3
  22. package/server/{build-info-CpG__c63.js → build-info-Du74MKiP.js} +1 -1
  23. package/server/{checkpoint-manager-CkKmB0wZ.js → checkpoint-manager-Cu-R5Uzg.js} +1 -1
  24. package/server/{checkpoint-manager-DBcyNR8w.js → checkpoint-manager-R5tnaxEY.js} +1 -1
  25. package/server/checkpoint-worker.js +1 -1
  26. package/server/{checkpoints-D95apurL.js → checkpoints-DYtLu-PB.js} +1 -1
  27. package/server/{checkpoints-Wm963lm8.js → checkpoints-wF84ubZ8.js} +1 -1
  28. package/server/{claude-hooks-provision-Bjitl9aI.js → claude-hooks-provision-DXI3Wqlm.js} +1 -1
  29. package/server/{claude-hooks-provision-4RPxNkE8.js → claude-hooks-provision-UKxCeOyj.js} +1 -1
  30. package/server/{claude-permissions-CpbpvUQ2.js → claude-permissions-DYVLnX9t.js} +1 -1
  31. package/server/{claude-settings-overlay-_H9Yrzab.js → claude-settings-overlay-DsbpIq2d.js} +1 -1
  32. package/server/{claude-settings-overlay-BzkHYDwR.js → claude-settings-overlay-DxP2F_gY.js} +1 -1
  33. package/server/cli-D6mRfUE6.js +3 -0
  34. package/server/{cli-Cte9ZFGn.js → cli-DzRKxxP_.js} +7 -7
  35. package/server/{cliproxy-C5fMJ7rY.js → cliproxy-CG4meRFc.js} +1 -1
  36. package/server/{cliproxy-DaAbWMjC.js → cliproxy-Cwzw39yN.js} +1 -1
  37. package/server/{close-issue-BPh1ARCF.js → close-issue-BX1bATJy.js} +4 -4
  38. package/server/{closed-issue-reaper-DHRfRMrp.js → closed-issue-reaper-DvnTSN6a.js} +1 -1
  39. package/server/{closed-issue-reaper-DoOZqGFK.js → closed-issue-reaper-hLt0W86J.js} +9 -9
  40. package/server/{codex-BzGDW_d3.js → codex-BYwi1uyW.js} +4 -4
  41. package/server/{codex-parser-Dt-ycU8L.js → codex-parser-Poyz29GE.js} +2 -2
  42. package/server/{codex-o8FJwzmy.js → codex-rnJN3v3_.js} +1 -1
  43. package/server/{compaction-continuation-CvXpbZ4w.js → compaction-continuation-DtMfHN0f.js} +2 -2
  44. package/server/{config-BvLe652W.js → config-CX4vk1CV.js} +1 -1
  45. package/server/{config-CL3Gyvja.js → config-R793W0yA.js} +1 -1
  46. package/server/{config-Bi3u1VK7.js → config-ktAVnp4s.js} +1 -1
  47. package/server/{conflict-gate-E4nt7ZeS.js → conflict-gate-BNv6UolH.js} +3 -3
  48. package/server/{conflict-gate-CX80JYYS.js → conflict-gate-BSTlwCtF.js} +1 -1
  49. package/server/{context-layers-DAG83UZt.js → context-layers-DCdaGsRG.js} +2 -2
  50. package/server/{context-layers-C_IIysnm.js → context-layers-DlWsDiRF.js} +2 -2
  51. package/server/{control-settings-CiqGxXnc.js → control-settings-qYYHrIqy.js} +2 -2
  52. package/server/{conversation-compaction-BE3CNtHF.js → conversation-compaction-BxUKObHb.js} +1 -1
  53. package/server/{conversation-compaction-D6-yLtqt.js → conversation-compaction-CXQrN3I_.js} +6 -6
  54. package/server/{conversation-service-D_TS2b1r.js → conversation-service-CDnQ3ayN.js} +1 -1
  55. package/server/{conversation-service-DBxoYMDl.js → conversation-service-CZiUE8Uw.js} +4 -4
  56. package/server/{conversations-D0UEdLtk.js → conversations-D7lR670u.js} +1 -1
  57. package/server/{conversations-BKDVpB-3.js → conversations-DXl5YTf4.js} +1 -1
  58. package/server/{cost-DpgYmYqR.js → cost-Aat8HfO_.js} +1 -1
  59. package/server/{cost-DS1s0DbG.js → cost-CWvN9FP2.js} +3 -3
  60. package/server/{cost-sync-tOCCGnEt.js → cost-sync-DiUBXwl6.js} +1 -1
  61. package/server/{dag-BtkgLeqY.js → dag-5QlmH0oC.js} +2 -2
  62. package/server/{dangerous-git-ops-CFLykHWt.js → dangerous-git-ops-DWX6Og8c.js} +1 -1
  63. package/server/dashboard-db-worker.js +7 -7
  64. package/server/{deacon-pLRLbPvR.js → deacon-B1LD5cJU.js} +318 -160
  65. package/server/{deacon-BIblC-WX.js → deacon-PW_bg4uL.js} +2 -2
  66. package/server/{deacon-nudge-log-B08gF0mh.js → deacon-nudge-log-DPHsO14z.js} +2 -2
  67. package/server/{deacon-pending-lifecycle-B-Io84AP.js → deacon-pending-lifecycle-2ZflPxgo.js} +3 -3
  68. package/server/deacon-swarm-BkKR7SXu.js +2 -0
  69. package/server/{deacon-swarm-v5PMun-m.js → deacon-swarm-DwGUgSVp.js} +10 -10
  70. package/server/deacon.js +7 -7
  71. package/server/{dead-end-trip-D8A3msX9.js → dead-end-trip-B06RFIr2.js} +2 -2
  72. package/server/{delivery-BX9HR4wQ.js → delivery-C2M73sBg.js} +1 -1
  73. package/server/{deploy-patrol-sYgOxLeb.js → deploy-patrol-BNjeCL8u.js} +7 -7
  74. package/server/{deploy-queue-VfohaPN_.js → deploy-queue-CKT_Ia9p.js} +1 -1
  75. package/server/{deploy-queue-gHJBycaF.js → deploy-queue-DMMYhFC8.js} +1 -1
  76. package/server/{deploy-window-D4DQb8VP.js → deploy-window-DC8lze3d.js} +4 -4
  77. package/server/{deploy-window-CFRZ0-kt.js → deploy-window-D_AimdNN.js} +1 -1
  78. package/server/{dev-supervisor-DiOBDM1c.js → dev-supervisor-C4F0vbno.js} +1 -1
  79. package/server/{devcontainer-renderer-BUOIlfgD.js → devcontainer-renderer-66sqMQIi.js} +2 -2
  80. package/server/{dist-C3A8B8wM.js → dist-C5FT9lTG.js} +1 -1
  81. package/server/dist-qcf9gAP0.js +3 -0
  82. package/server/{dist-src-C0adpegX.js → dist-src-B-AlGWSl.js} +1 -1
  83. package/server/{docker-Y3PElJb0.js → docker-BxrFhTZ_.js} +1 -1
  84. package/server/{docker-BJzlkqYB.js → docker-CoAT8R0J.js} +2 -2
  85. package/server/{dod-DlNtcH6n.js → dod-Bg6wsKTV.js} +1 -1
  86. package/server/{durable-review-pipeline-DP6bIcOY.js → durable-review-pipeline-D_DcfIGP.js} +1 -1
  87. package/server/{durable-review-pipeline-Cibps-Rg.js → durable-review-pipeline-HkAgnx0L.js} +1 -1
  88. package/server/{ensure-devcontainer-DMAbWqtQ.js → ensure-devcontainer-Bg5HJAcO.js} +1 -1
  89. package/server/{ensure-devcontainer-BAofzBPv.js → ensure-devcontainer-DTxChVuA.js} +3 -3
  90. package/server/{esm-shims-BeObUkaw.js → esm-shims-CaBWIR7f.js} +1 -1
  91. package/server/{events-CF8QDbuV.js → events-ChEFB7Jp.js} +1 -1
  92. package/server/{events-BNrvchBg.js → events-DhRN-6vM.js} +2 -2
  93. package/server/{factory-Cmm9Hsho.js → factory-BezSPaTd.js} +4 -4
  94. package/server/{feature-registry-population-B6HpNWRy.js → feature-registry-population-DhswNiXx.js} +3 -3
  95. package/server/{feature-registry-storage-DJEFx1Pf.js → feature-registry-storage-CUVNpAso.js} +1 -1
  96. package/server/{features-D5km80UI.js → features-B2CfNPFw.js} +1 -1
  97. package/server/{feedback-target-BJ5ZADsu.js → feedback-target-CMrEAoeA.js} +1 -1
  98. package/server/{feedback-target-DSxEL6lP.js → feedback-target-VBr9gKgX.js} +15 -4
  99. package/server/{feedback-writer-CoB9Z6aU.js → feedback-writer-CY91ckuw.js} +1 -1
  100. package/server/{feedback-writer-C27Hak8a.js → feedback-writer-xpFgU632.js} +4 -4
  101. package/server/{flywheel-BHx8XuMr.js → flywheel-CTVY3yCG.js} +12 -12
  102. package/server/{flywheel-f662Q-y2.js → flywheel-DQqsSm7P.js} +11 -11
  103. package/server/{flywheel-DZZdtiOL.js → flywheel-DsICCjTR.js} +1 -1
  104. package/server/{flywheel-merge-order-Dil0LmdN.js → flywheel-merge-order-C-TI4JGu.js} +1 -1
  105. package/server/{flywheel-merge-order-D_xLMbJU.js → flywheel-merge-order-CMGz-imq.js} +6 -6
  106. package/server/forge-D647IMNa.js +3 -0
  107. package/server/{forge-BaKGCya6.js → forge-RTNqJe6a.js} +2 -2
  108. package/server/{from-B3tZbB55.js → from-DxGcivc9.js} +1 -1
  109. package/server/{fts-db-IVc4_M3f.js → fts-db-wROfFfje.js} +2 -2
  110. package/server/{fts-operations-B9jG8wa3.js → fts-operations-BuTdlZFA.js} +2 -2
  111. package/server/{git-utils-Xg4PFN45.js → git-utils-CedsVume.js} +1 -1
  112. package/server/{git-utils-CsvYfJU3.js → git-utils-DtdoEXJk.js} +3 -3
  113. package/server/{github-app-Bmg4R9mv.js → github-app-DIE8BkHI.js} +1 -1
  114. package/server/{github-app-CmNk0zLU.js → github-app-gVnZcP9B.js} +1 -1
  115. package/server/{github-client-qazkPrg0.js → github-client-BrAC6ELh.js} +3 -3
  116. package/server/{github-client-B6KM9_wA.js → github-client-CBOkvBUl.js} +1 -1
  117. package/server/{github-pr-lookup-DAcVeRLK.js → github-pr-lookup-CgMULTPf.js} +2 -2
  118. package/server/{harness-binary-BSpiXaLw.js → harness-binary-CnBHpd57.js} +1 -1
  119. package/server/{harness-resolve-BAJu5MX8.js → harness-resolve-BVj6sI8m.js} +3 -3
  120. package/server/{health-events-BwX32k8d.js → health-events-BBWO_Dh9.js} +1 -1
  121. package/server/{health-events-2Z6Wa9SM.js → health-events-Der6bOkm.js} +1 -1
  122. package/server/{hooks-D1g1jKLI.js → hooks-BJNal-bs.js} +1 -1
  123. package/server/{hooks-DbtbimEf.js → hooks-BOavco-e.js} +1 -1
  124. package/server/{hume-DXNiu6nQ.js → hume-DBocJFkA.js} +2 -2
  125. package/server/hume-DtWN8oV5.js +3 -0
  126. package/server/{idle-stack-reaper-CRA1e0jr.js → idle-stack-reaper-CyGxXOfC.js} +1 -1
  127. package/server/{idle-stack-reaper-Cy-dQzW4.js → idle-stack-reaper-DQFh8rDh.js} +1 -1
  128. package/server/{in-flight-guard-D-sSkADM.js → in-flight-guard-nXEKoxI7.js} +1 -1
  129. package/server/{injection-6AGnXxlj.js → injection-CCopdUKz.js} +6 -6
  130. package/server/{injection-Bl8d_jHZ.js → injection-DfFFEMKL.js} +1 -1
  131. package/server/inspect-agent-CPqXI81t.js +2 -0
  132. package/server/{inspect-agent-nXdIptyh.js → inspect-agent-FCDlNT_i.js} +10 -10
  133. package/server/{internal-token-DzK385vD.js → internal-token-BG6yQKNL.js} +1 -1
  134. package/server/{internal-token-Ias7N8Kg.js → internal-token-BJZa40Ld.js} +1 -1
  135. package/server/{io-B00PBNku.js → io-C0NV7y6C.js} +3 -3
  136. package/server/{issue-closed-BehTG1be.js → issue-closed-CNNGbhWm.js} +6 -6
  137. package/server/{issue-lifecycle-Birk-ifu.js → issue-lifecycle-BXfzxFCD.js} +18 -18
  138. package/server/{issue-lifecycle-BqSuQvbn.js → issue-lifecycle-DSH0GpWC.js} +1 -1
  139. package/server/{issue-service-singleton-C6ZduvuY.js → issue-service-singleton-F3A5VP6M.js} +8 -8
  140. package/server/{issue-service-singleton-B2wXiIlw.js → issue-service-singleton-lwFJ4dHk.js} +1 -1
  141. package/server/{issues-DQ5-LatB.js → issues-DA-U_MpR.js} +1 -1
  142. package/server/{jsonl-parser-BDpnGFCl.js → jsonl-parser-BXiGANOh.js} +2 -2
  143. package/server/{label-cleanup-Dwnky8FG.js → label-cleanup-BnxRk0Eo.js} +2 -2
  144. package/server/{lifecycle-B4Xdb4cY.js → lifecycle-DOgGnpIv.js} +1 -1
  145. package/server/{lifecycle-B3s4sM1G.js → lifecycle-Di48-w4x.js} +6 -6
  146. package/server/{lifecycle-io-DCo6s6ks.js → lifecycle-io-1XSeczTr.js} +4 -4
  147. package/server/{lifecycle-io-CzTHEooc.js → lifecycle-io-eVG6v_8-.js} +1 -1
  148. package/server/{linear-client-9uq7fhiV.js → linear-client-CYZRrcjp.js} +3 -3
  149. package/server/{linear-client-CnbtHiic.js → linear-client-CvGo9n7M.js} +1 -1
  150. package/server/{linear-mcp-auth-BxUOzswy.js → linear-mcp-auth-Cp0XaP96.js} +4 -4
  151. package/server/{linear-mcp-auth-D46fBCLf.js → linear-mcp-auth-DoJnjdPZ.js} +1 -1
  152. package/server/memory-fts-worker.js +1 -1
  153. package/server/{merge-DiW9RdSB.js → merge-DO14mOr3.js} +2 -2
  154. package/server/{merge-sr8Nrnmi.js → merge-ZF99ig6A.js} +1 -1
  155. package/server/{merge-agent-DQTXZk8z.js → merge-agent-C1-9zbP_.js} +1 -1
  156. package/server/{merge-agent-BLUgRsz3.js → merge-agent-gpiRkcvj.js} +25 -25
  157. package/server/{merge-batch-Cp_j9BGk.js → merge-batch-C11ocNkO.js} +1 -1
  158. package/server/{merge-completeness-B46KqhtY.js → merge-completeness-BUzPZy0E.js} +4 -4
  159. package/server/{merge-completeness-BLbB5-6n.js → merge-completeness-CghMbyX7.js} +1 -1
  160. package/server/merge-ops-7QqziXAh.js +2 -0
  161. package/server/merge-rebase-B4pgzvQJ.js +2 -0
  162. package/server/{merge-rebase-DIkBjgwq.js → merge-rebase-iwlUzZjr.js} +1 -1
  163. package/server/{merge-set-DeUxFsC3.js → merge-set-BymrheTj.js} +1 -1
  164. package/server/{merge-set-CBgHfwM0.js → merge-set-Dbnx4chw.js} +3 -3
  165. package/server/{merge-sync-kr4vqyjM.js → merge-sync-CM978zez.js} +1 -1
  166. package/server/{merge-sync-CpGmk6Ch.js → merge-sync-CqEtqjI2.js} +1 -1
  167. package/server/{merge-train-Dmrcus12.js → merge-train-DvLcAn1G.js} +3 -3
  168. package/server/{merge-train-deps-D_uGX91G.js → merge-train-deps-Cl_kcRbO.js} +3 -3
  169. package/server/{merge-verification-NvaAd8CZ.js → merge-verification-c9Y9mllw.js} +5 -5
  170. package/server/{merged-docker-cleanup-worker-Y1R06TEl.js → merged-docker-cleanup-worker-CGiDOdv8.js} +3 -3
  171. package/server/{merged-docker-cleanup-worker-DH_hrGPI.js → merged-docker-cleanup-worker-DgsLOx3E.js} +1 -1
  172. package/server/{multipart-parser-R-oC8dQg.js → multipart-parser-D0twwRjz.js} +2 -2
  173. package/server/{no-resume-mode-BgD0JUmM.js → no-resume-mode-DZvP0M_S.js} +1 -1
  174. package/server/node_modules/.package-lock.json +1 -1
  175. package/server/{orphan-proposed-reconciler-DcgTPPFY.js → orphan-proposed-reconciler-6r2OEfYd.js} +1 -1
  176. package/server/{orphan-proposed-reconciler-B6vJHxtX.js → orphan-proposed-reconciler-DtQP6oE_.js} +17 -17
  177. package/server/package-lock.json +2 -2
  178. package/server/package.json +1 -1
  179. package/server/{pan-dir-DMzF5wne.js → pan-dir-DAOb1V2-.js} +3 -3
  180. package/server/{paths-sJBSb7Ul.js → paths-DuATV5iE.js} +1 -1
  181. package/server/{pending-lifecycle-claim-DilzGfgk.js → pending-lifecycle-claim-DQUHIDfX.js} +2 -2
  182. package/server/{persistent-logger-H_VjuOu7.js → persistent-logger-CBj016pT.js} +1 -1
  183. package/server/{pickup-DWhqzliO.js → pickup-zXZl5lQI.js} +1 -1
  184. package/server/{pipeline-membership-D9SBvItj.js → pipeline-membership-B2yUcBz7.js} +1 -1
  185. package/server/{pipeline-membership-C88VBnhJ.js → pipeline-membership-DHOXmvba.js} +1 -1
  186. package/server/{pipeline-membership-gather-CeVGnNJ2.js → pipeline-membership-gather-BIcJ-N0W.js} +7 -7
  187. package/server/{pipeline-membership-gather-4eR-7Tqy.js → pipeline-membership-gather-OkLXuvxR.js} +1 -1
  188. package/server/{pipeline-notifier-DT6xLFao.js → pipeline-notifier-BmwrVKsO.js} +1 -1
  189. package/server/{pipeline-notifier-D0ALV6Nw.js → pipeline-notifier-CxMes51i.js} +2 -2
  190. package/server/{post-merge-lifecycle-worker-8HIeS_J6.js → post-merge-lifecycle-worker-3u_rA4R0.js} +3 -3
  191. package/server/{project-pipelines-9SKt2bEc.js → project-pipelines-C3SPFJ38.js} +1 -1
  192. package/server/{project-repos-B5pIphKg.js → project-repos-BOpBzkO6.js} +1 -1
  193. package/server/{project-repos-DPjOdfPa.js → project-repos-BgW4lcIa.js} +1 -1
  194. package/server/{prompts-CgzMBvQF.js → prompts-B0TtboFm.js} +1 -1
  195. package/server/{providers-BJQSnAAp.js → providers-O2smCvSz.js} +6 -6
  196. package/server/{pull-requests-7BgLDsIo.js → pull-requests-BonZ4WVG.js} +3 -3
  197. package/server/{pull-requests-Dq0y6IxE.js → pull-requests-DNcJUVWA.js} +1 -1
  198. package/server/{queries-C-MUZaIy.js → queries-DCX27GRr.js} +64 -64
  199. package/server/{rally-CPysR4T_.js → rally-Cxe7lKYX.js} +2 -2
  200. package/server/{rally-api-CgosKdKL.js → rally-api-Cp50exEi.js} +1 -1
  201. package/server/{rally-api-8Ptlp2os.js → rally-api-CzkKenoi.js} +1 -1
  202. package/server/{rally-client-CCX0hADj.js → rally-client-Bu3Cekkw.js} +1 -1
  203. package/server/{rally-client-iYMHWQD7.js → rally-client-CyBBEDHu.js} +5 -5
  204. package/server/rally-x6ztTQo4.js +3 -0
  205. package/server/{reap-terminal-sessions-Qf-9LVQc.js → reap-terminal-sessions-CtAhr6L0.js} +2 -2
  206. package/server/{reap-terminal-sessions-4Xg9NGA8.js → reap-terminal-sessions-DvFqQUnq.js} +2 -2
  207. package/server/{rebuild-stack-DqcOVmJO.js → rebuild-stack-BKYpIPDL.js} +2 -2
  208. package/server/{rebuild-stack-CMdgaylx.js → rebuild-stack-hCQtprWC.js} +6 -6
  209. package/server/{reconstruct-cache-CMZJ_Vjq.js → reconstruct-cache-CF2avArx.js} +6 -6
  210. package/server/{recovery-trip-DDH-02ng.js → recovery-trip-D-wM9EfB.js} +1 -1
  211. package/server/{release-engine-B2X9AfFC.js → release-engine-_eO3VFth.js} +4 -4
  212. package/server/{release-set-G4XKyQ8K.js → release-set-vxgZwwZV.js} +1 -1
  213. package/server/{remote-BXarMvqf.js → remote-BienmcrZ.js} +3 -3
  214. package/server/{remote-CUhyqjXk.js → remote-CVPCc7Vy.js} +3 -3
  215. package/server/{remote-agents-CLZB3Coc.js → remote-agents-kwsEZvXu.js} +1 -1
  216. package/server/{remote-agents-Bba-MgSA.js → remote-agents-kxraOCGT.js} +4 -4
  217. package/server/{remote-completion-CwAp79EC.js → remote-completion-BtmZ42aP.js} +12 -12
  218. package/server/resume-DXIIfJNk.js +3 -0
  219. package/server/{review-agent--pOptAEV.js → review-agent-CIRr0yYt.js} +25 -25
  220. package/server/{review-agent-BTCNkq2h.js → review-agent-UpAM4DmT.js} +1 -1
  221. package/server/{review-artifacts-BNmw8dWE.js → review-artifacts-BCODM9ww.js} +4 -4
  222. package/server/{review-context-DFxYOOJW.js → review-context-BBsNrDri.js} +8 -8
  223. package/server/{review-convoy-liveness-BgU_1jJf.js → review-convoy-liveness-l06_LYCt.js} +1 -1
  224. package/server/{review-status-Dma9SFaN.js → review-status-CacDM78F.js} +1 -1
  225. package/server/{review-status-CGvlA4o_.js → review-status-CwhA9wmd.js} +22 -19
  226. package/server/{review-status-emit-DURrmGYX.js → review-status-emit-BPJwYcRy.js} +3 -3
  227. package/server/{review-status-enrichment-8NiNXi5W.js → review-status-enrichment-DvyZAbGR.js} +1 -1
  228. package/server/{review-status-source-BLx_1siH.js → review-status-source-B70ekARK.js} +1 -1
  229. package/server/{review-status-source-DIk1JSow.js → review-status-source-DWnFE0b6.js} +1 -1
  230. package/server/{review-status-sync-muT-EBp2.js → review-status-sync-B0IS6Beh.js} +1 -1
  231. package/server/{review-status-sync-0GxOqeqF.js → review-status-sync-h2CJX6ju.js} +1 -1
  232. package/server/{review-verdict-feedback-HwF6ODFy.js → review-verdict-feedback-qRohbFG2.js} +1 -1
  233. package/server/{review-verdict-feedback-xJNdqBnX.js → review-verdict-feedback-yrrmgps_.js} +74 -12
  234. package/server/{rollup-BQaol5TX.js → rollup-CUoav0Op.js} +5 -5
  235. package/server/{rollup-BR4t_wck.js → rollup-DxCjJaAM.js} +1 -1
  236. package/server/{scanner-C-D2cFdX.js → scanner-ChURu_b-.js} +5 -5
  237. package/server/{sequence-io-Bmf1EZM5.js → sequence-io-D9ITDxzq.js} +3 -3
  238. package/server/{sequencer-agent-CigMyKh2.js → sequencer-agent-m7gmaakW.js} +5 -5
  239. package/server/server.js +180 -180
  240. package/server/{service-CD0DvFvD.js → service-BzFG0Us_.js} +51 -51
  241. package/server/{session-fork-B6cQ5eya.js → session-fork-KBq4HIHF.js} +1 -1
  242. package/server/{session-history-3ON_IJjm.js → session-history-C_EMhIIF.js} +3 -3
  243. package/server/settings-9jSGHBPY.js +2 -0
  244. package/server/{settings-VN0qOh4U.js → settings-BLbcDqUp.js} +2 -2
  245. package/server/{settings-PilbFZAM.js → settings-DejgzzLs.js} +1 -1
  246. package/server/{shadow-engineering-DXvx77oE.js → shadow-engineering-D8R9I8Yl.js} +3 -3
  247. package/server/{shadow-state-CZBp7pwq.js → shadow-state-C0Af4clN.js} +1 -1
  248. package/server/{shadow-state-BBk_zacw.js → shadow-state-fzIqIMDD.js} +1 -1
  249. package/server/{shadow-utils-DdZ05AJS.js → shadow-utils-Ugca_9ND.js} +1 -1
  250. package/server/{ship-log-7kJfjUX2.js → ship-log-VAv-lHrF.js} +1 -1
  251. package/server/{smart-compaction-ByhL9cRS.js → smart-compaction-B2Xu5XEb.js} +5 -5
  252. package/server/{smart-compaction-8fA5k5XN.js → smart-compaction-BcYY_Suf.js} +1 -1
  253. package/server/{spawn-planning-session-pcF-YeFE.js → spawn-planning-session-DhCoBPct.js} +14 -14
  254. package/server/{spawn-planning-session-vLUJoFjy.js → spawn-planning-session-Dsv-350T.js} +2 -2
  255. package/server/{specialist-completion-B07XjWD2.js → specialist-completion-z6v3ZqJE.js} +1 -1
  256. package/server/{specialist-context-DJ-zFyL3.js → specialist-context-CrA5azkJ.js} +4 -4
  257. package/server/{specialist-handoff-logger-aKSxbIgD.js → specialist-handoff-logger-CmpZYJMB.js} +1 -1
  258. package/server/{specialist-logs-Dae-n52_.js → specialist-logs-BorrIu0x.js} +2 -2
  259. package/server/{specialists-6PWdtWcg.js → specialists-2yLmqph9.js} +86 -86
  260. package/server/{specialists-Bz-wFT7R.js → specialists-CH6ah6D-.js} +1 -1
  261. package/server/{specialists-DUiExaxb.js → specialists-Dfx9_Wzb.js} +15 -15
  262. package/server/{specialists-KR3pKulN.js → specialists-ZdrifiKx.js} +1 -1
  263. package/server/specs-DKV3jIEs.js +3 -0
  264. package/server/{src-rac0Mepv.js → src-B2e5rGu2.js} +6 -6
  265. package/server/{src-vHy2-oCv.js → src-Dm_NV7f6.js} +3 -3
  266. package/server/{stack-health-DqLTiEu4.js → stack-health-Bf2WdG4E.js} +1 -1
  267. package/server/{stack-health-BikqHSjn.js → stack-health-CoWAhA99.js} +1 -1
  268. package/server/{stale-task-claims-Cab_Fo_Z.js → stale-task-claims-D1Ll8fI5.js} +2 -2
  269. package/server/{staleness-C-a5rBxF.js → staleness-45qZ_a60.js} +1 -1
  270. package/server/{staleness-CGTZyp6V.js → staleness-CuED1Psm.js} +1 -1
  271. package/server/{state-home-722Dkx92.js → state-home-B4EWfIxF.js} +1 -1
  272. package/server/{state-mapping-CybR81Uf.js → state-mapping-BEONzr8P.js} +1 -1
  273. package/server/{state-migrate-2u8wIpoL.js → state-migrate-Cd8BH33U.js} +3 -3
  274. package/server/{stuck-remediation-r1TJu68G.js → stuck-remediation-ChcooZuk.js} +1 -1
  275. package/server/{stuck-remediation-CC6q3eqQ.js → stuck-remediation-DmY5UJLg.js} +16 -16
  276. package/server/{substrate-bug-weights-service-CzIyyWFT.js → substrate-bug-weights-service-BvTWrFUz.js} +1 -1
  277. package/server/{summary-fork-BqgmgPDt.js → summary-fork--Jr8duYh.js} +2 -2
  278. package/server/{summary-fork-Df2WFijM.js → summary-fork-Ct514_Jl.js} +7 -7
  279. package/server/supervisor/{injection-budget-Cg_KIb3o.js → injection-budget-B3UyEONL.js} +1 -1
  280. package/server/supervisor/pty-supervisor.js +2 -2
  281. package/server/supervisor/{pty-token-BbjwEUUM.js → pty-token-CWRffcCa.js} +1 -1
  282. package/server/{supervisor-BxqSpjcN.js → supervisor-B7BHGcNA.js} +2 -2
  283. package/server/supervisor-CyR_mW5B.js +2 -0
  284. package/server/{swarm-readiness-DfFxa9-n.js → swarm-readiness-MNE5O8hn.js} +3 -3
  285. package/server/{system-prerequisites-ICLSkhhZ.js → system-prerequisites-Cin9ZgDx.js} +2 -2
  286. package/server/{teardown-workspace-DRdi_CPa.js → teardown-workspace-CvBpvc85.js} +13 -13
  287. package/server/{test-agent-queue-A_-p-i0I.js → test-agent-queue-DmSIqays.js} +5 -5
  288. package/server/{test-verdict-BHgTAwIG.js → test-verdict-BieVDAV1.js} +1 -1
  289. package/server/{test-verdict-C4i9aqEP.js → test-verdict-Cy2jJGTe.js} +1 -1
  290. package/server/{tldr-daemon-CvWXBhX1.js → tldr-daemon-Ca0eovh3.js} +1 -1
  291. package/server/{tldr-daemon-wvsU6bKv.js → tldr-daemon-IOssGwg7.js} +1 -1
  292. package/server/{token-DrxwytsZ.js → token-B10VFNOD.js} +2 -2
  293. package/server/{token-util-B48BlCba.js → token-util-CZ8WPtdk.js} +1 -1
  294. package/server/token-util-CrfQ2FKf.js +3 -0
  295. package/server/{tracker-config-BcPMElRB.js → tracker-config-CHbrjg6m.js} +1 -1
  296. package/server/{tracker-utils-CJ6BHjcD.js → tracker-utils-DZZq_C0R.js} +1 -1
  297. package/server/{traefik-connect-DZ6nMYMj.js → traefik-connect-GHomyBaD.js} +1 -1
  298. package/server/{tunnel-DUbUPElU.js → tunnel-Bdyb-sNq.js} +2 -2
  299. package/server/{tunnel-Bp-dRHZz.js → tunnel-Dz7y434T.js} +1 -1
  300. package/server/{typed-errors-CKeoDdU3.js → typed-errors-BR_RmPS_.js} +1 -1
  301. package/server/{typed-errors-DyjseiB6.js → typed-errors-Bn_2WRU7.js} +1 -1
  302. package/server/{types-Cm5ASJbq.js → types-D2ETIB8T.js} +1 -1
  303. package/server/{types-Di8wdakq.js → types-Dh6RI5Vj.js} +1 -1
  304. package/server/{uat-promote-verification-CoJuh7XO.js → uat-promote-verification-DyvQXvIn.js} +4 -4
  305. package/server/{uat-train-4Q0k06CQ.js → uat-train-Dv0Bxer7.js} +0 -0
  306. package/server/{uat-train-Dewoatps.js → uat-train-diX_7shd.js} +1 -1
  307. package/server/{validate-B0C8p66t.js → validate-606KcYZC.js} +3 -3
  308. package/server/{validation-hVOwQk8T.js → validation-Cf7aaV5A.js} +1 -1
  309. package/server/{validation-B_kIRfNe.js → validation-CnrDul1x.js} +3 -3
  310. package/server/{verification-artifact-D70AtckY.js → verification-artifact-D4b-bio9.js} +1 -1
  311. package/server/{verification-artifact-BxlxTiYK.js → verification-artifact-GOaj8u2s.js} +1 -1
  312. package/server/{verification-runner-KZTz6u72.js → verification-runner-B5MVxDvU.js} +18 -18
  313. package/server/{verification-runner-Bc3cJvpC.js → verification-runner-DiPaUP-C.js} +1 -1
  314. package/server/{vtt-parser-CE_i3Bcw.js → vtt-parser-CMU5EZ5R.js} +1 -1
  315. package/server/{work-agent-prompt-ByrPAzOy.js → work-agent-prompt-Csb3fbVR.js} +8 -8
  316. package/server/{workflows-D0vP1WrK.js → workflows-D87ajwV6.js} +20 -20
  317. package/server/workflows-DN6NyVGd.js +2 -0
  318. package/server/{workspace-COWvdibH.js → workspace-AIOM7n00.js} +1 -1
  319. package/server/{workspace-anchor-drift-pwz23TI1.js → workspace-anchor-drift-19cJ1bH5.js} +1 -1
  320. package/server/{workspace-anchor-drift-DXYIAHzr.js → workspace-anchor-drift-C3mK5wNI.js} +3 -3
  321. package/server/{workspace-config-BdZM4PvZ.js → workspace-config-CJ7RqQiP.js} +1 -1
  322. package/server/{workspace-DQkRPLlQ.js → workspace-iD8oULqu.js} +2 -2
  323. package/server/{workspace-manager-C1F3XsnS.js → workspace-manager-B38rFWA1.js} +1 -1
  324. package/server/{workspace-manager-BPgTrG66.js → workspace-manager-CXfrw4rR.js} +12 -12
  325. package/server/{workspace-metadata-CdjzAP8x.js → workspace-metadata-BuMRco5P.js} +1 -1
  326. package/server/{workspace-metadata-DkO_iTLo.js → workspace-metadata-eHSj_NsP.js} +1 -1
  327. package/server/{workspaces-CRBJikLp.js → workspaces-DbtMX2TM.js} +96 -96
  328. package/server/archive-planning-B2XplFzT.js +0 -2
  329. package/server/cli-CjOCSnfj.js +0 -3
  330. package/server/deacon-swarm-B1XkIvfr.js +0 -2
  331. package/server/dist-B3YPQa5A.js +0 -3
  332. package/server/forge-B5o319qI.js +0 -3
  333. package/server/hume-VUCNbTgn.js +0 -3
  334. package/server/inspect-agent-CUwVmr2h.js +0 -2
  335. package/server/merge-ops-1abz6O_P.js +0 -2
  336. package/server/merge-rebase-CJJVAJuz.js +0 -2
  337. package/server/rally-D_VW4bJv.js +0 -3
  338. package/server/resume-mOREjlYu.js +0 -3
  339. package/server/settings-CVmWiJ-r.js +0 -2
  340. package/server/specs--enInima.js +0 -3
  341. package/server/supervisor-B4anCCSm.js +0 -2
  342. package/server/token-util-D411CAq9.js +0 -3
  343. package/server/workflows-DtDX08ed.js +0 -2
@@ -5,42 +5,42 @@ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-BDQDRopn.
5
5
  import { B as sendKeysAsync, D as killSession, H as sessionExists, J as init_pane_choice_menu, M as listSessionNames, N as listSessions, T as isHarnessProcessAlive, U as sessionExistsSync, V as sendRawKeystroke, W as setOption, X as paneHasBlockingChoiceMenu, at as buildChildEnvWithoutTmuxSync, g as findManagedServerPidSync, i as capturePane, m as exactPaneTarget, o as capturePaneText, ot as init_child_env, rt as BLANKED_PROVIDER_ENV, s as createSession, w as init_tmux } from "./tmux-CfDHob9M.js";
6
6
  import { a as init_event_store, n as getEventStore } from "./event-store-CrHcVC5_.js";
7
7
  import { N as normalizeChannelReplyPayload, T as DomainEvent, n as COMPOSER_COMMAND_MANIFEST, s as getHarnessBehavior, t as init_src } from "./src-B948bGVR.js";
8
- import { C as setReviewStatusSync, Q as stateToOverdeckParamsForDb, Y as init_agent_state_sync, d as getReviewStatusSync, h as loadReviewStatuses, o as clearWorkspaceStuck, p as init_review_status, q as AGENT_COLUMNS_FOR_DB } from "./review-status-CGvlA4o_.js";
9
- import { a as EventStoreService, c as ReadModelService, d as getClosedIssueIdsForReadSource, f as init_read_model, i as init_issue_lifecycle, s as init_domain_services, t as IssueLifecycle } from "./issue-lifecycle-Birk-ifu.js";
10
- import { n as logAgentLifecycleSync, t as init_persistent_logger } from "./persistent-logger-H_VjuOu7.js";
11
- import { d as isTerminalIssueStage, o as init_agents, u as getIssueStageSync } from "./agents-J5mEnekq.js";
12
- import { n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-DRqZ8lAz.js";
13
- import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-DpgYmYqR.js";
14
- import { $ as operatorInterventionEvent, $n as getAgentDir, An as getProviderExportsForModel, Ar as resolvePtySupervisorScriptPath, Bn as dismissDevChannelsDialog, Br as saveAgentRuntimeState, Dr as init_pty_token, Er as init_resume_contract, F as init_tier_escalation, G as resumeAgent, Gr as init_codex_auth, Gt as assertWorkspaceStackHealthyForSpawn, H as restartAgent, Ht as BRIDGE_TOKEN_HEADER, Ir as waitForReadySignal, Jt as init_spawn_prep, Lr as getAgentRuntimeState, Mn as init_provider_health, Mt as deliverAgentMessage, Nn as validateProviderHealth, Nr as normalizeAgentId, Nt as deliverAgentPermissionDecision, On as determineModel, Or as writePtyToken, P as decideEscalation, Q as init_operator_interventions, Qt as init_staffing, Rr as getAgentRuntimeStateSync, Rt as setAgentDeliveryMethod, Sr as writeAgentStateJsonSync, Tr as buildResumeContract, Un as writeChannelsBridgeMcpConfig, Ut as init_bridge_token, V as recoverAgent, Wr as checkCodexAuthStatus, Wt as writeBridgeTokenSync, X as messageAgent, Xt as transitionIssueToInProgress, Yn as clearAgentTroubled, _r as saveAgentStateSync, b as init_agents$1, bn as init_ohmypi_fifo, cn as getAgentRuntimeBaseCommand, dn as getProviderAuthMode, gn as waitForAcpHostReady, gr as saveAgentState, i as listRunningAgents, it as getSessionId, jr as clearReadySignal, kr as init_pty_supervisor_locate, nn as resolveStaffing, nt as getLatestSessionId, ot as saveSessionId, pn as init_runtime_command, pt as stopAgent, qn as clearAgentPaused, r as listAgentStates, rr as getAgentStateSync, rt as getLatestSessionIdSync, sn as getAcpLauncherFields, tn as resolveIssueWorkModel, tr as getAgentState, tt as getActivity, ur as markAgentStoppedState, vn as init_pi_fifo, vr as setAgentPaused, xn as ohmypiFifoPaths, xr as wipeAgentStateDirs, yn as piFifoPaths } from "./queries-C-MUZaIy.js";
15
- import { a as performHandoff, i as checkAllTriggers, s as getAgentHealth, t as getCloisterService } from "./service-CD0DvFvD.js";
16
- import { t as init_behavior } from "./behavior-td6-xhQk.js";
17
- import { a as init_tracker_config, t as getGitHubConfig } from "./tracker-config-BcPMElRB.js";
18
- import { n as init_issue_service_singleton, r as issue_service_singleton_exports } from "./issue-service-singleton-C6ZduvuY.js";
19
- import { o as getInternalTokenSync, s as init_internal_token } from "./internal-token-DzK385vD.js";
20
- import { a as PAN_DIRNAME, i as PAN_CONTINUE_FILENAME, p as init_types } from "./types-Cm5ASJbq.js";
21
- import { l as resolveWorkspaceRepoRootsSync, o as resolvePrimaryWorkspaceRepoDirSync, r as init_project_repos } from "./project-repos-B5pIphKg.js";
22
- import { a as generateXBriefFilename, o as init_lifecycle } from "./lifecycle-B4Xdb4cY.js";
23
- import { f as readTierOverrides, g as serializeXBriefDocument, h as recordTierPromotion, m as readWorkspacePlanSync, o as init_io, r as findPlan, u as readPlan } from "./io-B00PBNku.js";
24
- import { B as removeFavorite, E as hasOtherActiveConversationOnTmuxSession, F as markConversationEnded, G as setConversationHarness, K as setConversationModel, M as listConversations, P as markConversationActive, Q as updateConversationDeliveryMethod, S as getConversationByName, W as setConversationEffort, g as backfillConversationModel, h as archiveConversation, k as init_conversations, nt as updateLastAttached, rt as updateSpawnError, x as getConversationById, y as createConversation } from "./conversations-D0UEdLtk.js";
25
- import { n as recordFeatureRegistryLifecycle, t as init_feature_registry_population } from "./feature-registry-population-B6HpNWRy.js";
26
- import { C as init_launcher_generator, D as requireModelOverrideSync, E as normalizeModelOverrideSync, S as generateLauncherScriptSync, T as init_model_validation, w as MODEL_ID_PATTERN, x as normalizeFlywheelRunId, y as init_provenance } from "./auto-spawn-consent-CQ9Bi9q6.js";
27
- import { a as init_claude_permissions, o as resolvePermissionModeSync, r as getClaudePermissionFlagsStringSync, t as BYPASS_PERMISSION_MODE } from "./claude-permissions-CpbpvUQ2.js";
28
- import { E as init_layers, I as workspaceContextFile, k as piGlobalContextFile } from "./assemble-Bgwqv-Ro.js";
29
- import { i as prepareHarnessLaunch, r as init_harness_binary } from "./harness-binary-BSpiXaLw.js";
30
- import { a as getWorkspaceStackHealth, s as init_stack_health } from "./stack-health-DqLTiEu4.js";
31
- import { l as init_dag, o as getDispatchableItems } from "./dag-BtkgLeqY.js";
32
- import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-BAJu5MX8.js";
33
- import { a as loadCloisterConfigSync, r as init_config } from "./config-Bi3u1VK7.js";
34
- import { c as isStateMigrated, o as init_state_home } from "./state-home-722Dkx92.js";
35
- import { a as init_lifecycle_io, c as updatePlanStatus, s as transitionXBriefOnMain } from "./lifecycle-io-DCo6s6ks.js";
36
- import { _ as init_codex_conversation_parser, b as parseAcpConversationMessages, c as parseEntireConversation, d as init_pi_conversation_parser, g as parseOhmypiConversationMessages, m as init_ohmypi_conversation_parser, p as parsePiConversationMessages, t as init_conversation_service, v as parseCodexConversationMessages, y as init_acp_conversation_parser } from "./conversation-service-DBxoYMDl.js";
37
- import { _ as normalizeAwaitingInputPrompt, d as getAgentPendingQuestions$1, f as getAgentWorkspace$1, h as detectAwaitingInputForAgent, m as scanPendingInputsPromise, o as getRuntimeForAgent, p as isBlockedOnPendingInput, s as computeAgentEnrichment, u as getAgentJsonlPath$1, v as parseCodexApprovalPrompt } from "./stuck-remediation-CC6q3eqQ.js";
38
- import { B as getBook, H as liveOrderIssueLookup, T as resolveLiveFlywheelRunId, w as readFlywheelLaunchMetadata, y as getFlywheelRunDir, z as computeBookProgress } from "./flywheel-BHx8XuMr.js";
39
- import { At as classifyMemoryPressure, Lt as getResourceConfig, zt as getSystemHealthSnapshot } from "./deacon-pLRLbPvR.js";
40
- import { o as stopWorkspaceDocker, r as init_workspace_manager } from "./workspace-manager-BPgTrG66.js";
41
- import { a as init_jsonl_parser, o as normalizeModelName } from "./jsonl-parser-BDpnGFCl.js";
42
- import { r as init_in_flight_guard, t as createInFlightGuard } from "./in-flight-guard-D-sSkADM.js";
43
- import { a as loadWorkspaceMetadataSync } from "./workspace-metadata-DkO_iTLo.js";
8
+ import { C as setReviewStatusSync, Q as stateToOverdeckParamsForDb, Y as init_agent_state_sync, d as getReviewStatusSync, h as loadReviewStatuses, o as clearWorkspaceStuck, p as init_review_status, q as AGENT_COLUMNS_FOR_DB } from "./review-status-CwhA9wmd.js";
9
+ import { a as EventStoreService, c as ReadModelService, d as getClosedIssueIdsForReadSource, f as init_read_model, i as init_issue_lifecycle, s as init_domain_services, t as IssueLifecycle } from "./issue-lifecycle-BXfzxFCD.js";
10
+ import { n as logAgentLifecycleSync, t as init_persistent_logger } from "./persistent-logger-CBj016pT.js";
11
+ import { d as isTerminalIssueStage, o as init_agents, u as getIssueStageSync } from "./agents-CtACUuVG.js";
12
+ import { n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-CUerZqWd.js";
13
+ import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-Aat8HfO_.js";
14
+ import { $ as operatorInterventionEvent, $n as getAgentDir, An as getProviderExportsForModel, Ar as resolvePtySupervisorScriptPath, Bn as dismissDevChannelsDialog, Br as saveAgentRuntimeState, Dr as init_pty_token, Er as init_resume_contract, F as init_tier_escalation, G as resumeAgent, Gr as init_codex_auth, Gt as assertWorkspaceStackHealthyForSpawn, H as restartAgent, Ht as BRIDGE_TOKEN_HEADER, Ir as waitForReadySignal, Jt as init_spawn_prep, Lr as getAgentRuntimeState, Mn as init_provider_health, Mt as deliverAgentMessage, Nn as validateProviderHealth, Nr as normalizeAgentId, Nt as deliverAgentPermissionDecision, On as determineModel, Or as writePtyToken, P as decideEscalation, Q as init_operator_interventions, Qt as init_staffing, Rr as getAgentRuntimeStateSync, Rt as setAgentDeliveryMethod, Sr as writeAgentStateJsonSync, Tr as buildResumeContract, Un as writeChannelsBridgeMcpConfig, Ut as init_bridge_token, V as recoverAgent, Wr as checkCodexAuthStatus, Wt as writeBridgeTokenSync, X as messageAgent, Xt as transitionIssueToInProgress, Yn as clearAgentTroubled, _r as saveAgentStateSync, b as init_agents$1, bn as init_ohmypi_fifo, cn as getAgentRuntimeBaseCommand, dn as getProviderAuthMode, gn as waitForAcpHostReady, gr as saveAgentState, i as listRunningAgents, it as getSessionId, jr as clearReadySignal, kr as init_pty_supervisor_locate, nn as resolveStaffing, nt as getLatestSessionId, ot as saveSessionId, pn as init_runtime_command, pt as stopAgent, qn as clearAgentPaused, r as listAgentStates, rr as getAgentStateSync, rt as getLatestSessionIdSync, sn as getAcpLauncherFields, tn as resolveIssueWorkModel, tr as getAgentState, tt as getActivity, ur as markAgentStoppedState, vn as init_pi_fifo, vr as setAgentPaused, xn as ohmypiFifoPaths, xr as wipeAgentStateDirs, yn as piFifoPaths } from "./queries-DCX27GRr.js";
15
+ import { a as performHandoff, i as checkAllTriggers, s as getAgentHealth, t as getCloisterService } from "./service-BzFG0Us_.js";
16
+ import { t as init_behavior } from "./behavior-B7biGtFT.js";
17
+ import { a as init_tracker_config, t as getGitHubConfig } from "./tracker-config-CHbrjg6m.js";
18
+ import { n as init_issue_service_singleton, r as issue_service_singleton_exports } from "./issue-service-singleton-F3A5VP6M.js";
19
+ import { o as getInternalTokenSync, s as init_internal_token } from "./internal-token-BG6yQKNL.js";
20
+ import { a as PAN_DIRNAME, i as PAN_CONTINUE_FILENAME, p as init_types } from "./types-D2ETIB8T.js";
21
+ import { l as resolveWorkspaceRepoRootsSync, o as resolvePrimaryWorkspaceRepoDirSync, r as init_project_repos } from "./project-repos-BOpBzkO6.js";
22
+ import { a as generateXBriefFilename, o as init_lifecycle } from "./lifecycle-DOgGnpIv.js";
23
+ import { f as readTierOverrides, g as serializeXBriefDocument, h as recordTierPromotion, m as readWorkspacePlanSync, o as init_io, r as findPlan, u as readPlan } from "./io-C0NV7y6C.js";
24
+ import { B as removeFavorite, E as hasOtherActiveConversationOnTmuxSession, F as markConversationEnded, G as setConversationHarness, K as setConversationModel, M as listConversations, P as markConversationActive, Q as updateConversationDeliveryMethod, S as getConversationByName, W as setConversationEffort, g as backfillConversationModel, h as archiveConversation, k as init_conversations, nt as updateLastAttached, rt as updateSpawnError, x as getConversationById, y as createConversation } from "./conversations-D7lR670u.js";
25
+ import { n as recordFeatureRegistryLifecycle, t as init_feature_registry_population } from "./feature-registry-population-DhswNiXx.js";
26
+ import { C as init_launcher_generator, D as requireModelOverrideSync, E as normalizeModelOverrideSync, S as generateLauncherScriptSync, T as init_model_validation, w as MODEL_ID_PATTERN, x as normalizeFlywheelRunId, y as init_provenance } from "./auto-spawn-consent-BooqhC3L.js";
27
+ import { a as init_claude_permissions, o as resolvePermissionModeSync, r as getClaudePermissionFlagsStringSync, t as BYPASS_PERMISSION_MODE } from "./claude-permissions-DYVLnX9t.js";
28
+ import { E as init_layers, I as workspaceContextFile, k as piGlobalContextFile } from "./assemble-DsqK9OAq.js";
29
+ import { i as prepareHarnessLaunch, r as init_harness_binary } from "./harness-binary-CnBHpd57.js";
30
+ import { a as getWorkspaceStackHealth, s as init_stack_health } from "./stack-health-Bf2WdG4E.js";
31
+ import { l as init_dag, o as getDispatchableItems } from "./dag-5QlmH0oC.js";
32
+ import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-BVj6sI8m.js";
33
+ import { a as loadCloisterConfigSync, r as init_config } from "./config-ktAVnp4s.js";
34
+ import { c as isStateMigrated, o as init_state_home } from "./state-home-B4EWfIxF.js";
35
+ import { a as init_lifecycle_io, c as updatePlanStatus, s as transitionXBriefOnMain } from "./lifecycle-io-1XSeczTr.js";
36
+ import { _ as init_codex_conversation_parser, b as parseAcpConversationMessages, c as parseEntireConversation, d as init_pi_conversation_parser, g as parseOhmypiConversationMessages, m as init_ohmypi_conversation_parser, p as parsePiConversationMessages, t as init_conversation_service, v as parseCodexConversationMessages, y as init_acp_conversation_parser } from "./conversation-service-CZiUE8Uw.js";
37
+ import { _ as normalizeAwaitingInputPrompt, d as getAgentPendingQuestions$1, f as getAgentWorkspace$1, h as detectAwaitingInputForAgent, m as scanPendingInputsPromise, o as getRuntimeForAgent, p as isBlockedOnPendingInput, s as computeAgentEnrichment, u as getAgentJsonlPath$1, v as parseCodexApprovalPrompt } from "./stuck-remediation-DmY5UJLg.js";
38
+ import { B as getBook, H as liveOrderIssueLookup, T as resolveLiveFlywheelRunId, w as readFlywheelLaunchMetadata, y as getFlywheelRunDir, z as computeBookProgress } from "./flywheel-CTVY3yCG.js";
39
+ import { Bt as getSystemHealthSnapshot, Rt as getResourceConfig, jt as classifyMemoryPressure } from "./deacon-B1LD5cJU.js";
40
+ import { o as stopWorkspaceDocker, r as init_workspace_manager } from "./workspace-manager-CXfrw4rR.js";
41
+ import { a as init_jsonl_parser, o as normalizeModelName } from "./jsonl-parser-BXiGANOh.js";
42
+ import { r as init_in_flight_guard, t as createInFlightGuard } from "./in-flight-guard-nXEKoxI7.js";
43
+ import { a as loadWorkspaceMetadataSync } from "./workspace-metadata-eHSj_NsP.js";
44
44
  import { basename, delimiter, dirname, isAbsolute, join, resolve } from "node:path";
45
45
  import { Cause, Data, Effect, Layer, Option, Schema, Stream } from "effect";
46
46
  import { join as join$1 } from "path";
@@ -830,7 +830,7 @@ async function resolveCodexRolloutPath(agentId, opts = {}) {
830
830
  const agentDir = join(opts.agentsDirOverride ?? join(getOverdeckHome(), "agents"), agentId);
831
831
  const codexHome = join(agentDir, "codex-home");
832
832
  if (!await pathExists$1(codexHome)) return null;
833
- const { findRolloutPath, findLatestRollout } = await import("./codex-o8FJwzmy.js");
833
+ const { findRolloutPath, findLatestRollout } = await import("./codex-rnJN3v3_.js");
834
834
  const threadId = (await readOptional(join(agentDir, "codex-thread-id")))?.trim();
835
835
  if (threadId) {
836
836
  const rollout = findRolloutPath(codexHome, threadId);
@@ -2255,7 +2255,7 @@ const getAgentOutputRoute = HttpRouter.add("GET", "/api/agents/:id/output", http
2255
2255
  } catch {}
2256
2256
  let stdout;
2257
2257
  if (isRemote && vmName) {
2258
- const { getRemoteAgentOutput } = await import("./remote-agents-CLZB3Coc.js");
2258
+ const { getRemoteAgentOutput } = await import("./remote-agents-kwsEZvXu.js");
2259
2259
  stdout = await getRemoteAgentOutput(id, vmName, parseInt(String(lines), 10) || 100);
2260
2260
  } else stdout = await Effect.runPromise(capturePane(id, parseInt(String(lines), 10) || 100));
2261
2261
  if (!stdout || stdout.trim() === "" || stdout.trim() === "Session not found") {
@@ -3086,7 +3086,7 @@ async function cleanupConversationAttachments(name) {
3086
3086
  * sessions that the lifecycle poller missed. */
3087
3087
  async function cleanupOrphanedConversationAttachments() {
3088
3088
  try {
3089
- const { listConversations } = await import("./conversations-BKDVpB-3.js");
3089
+ const { listConversations } = await import("./conversations-DXl5YTf4.js");
3090
3090
  const convNames = new Set(listConversations().map((c) => c.name));
3091
3091
  const root = getConversationAttachmentsRoot();
3092
3092
  await runInBatches((await readdir(root, { withFileTypes: true })).filter((entry) => entry.isDirectory() && !convNames.has(entry.name)).map((entry) => join(root, entry.name)), 10, (path) => rm(path, {
@@ -3696,7 +3696,7 @@ async function spawnConversationSession(tmuxSession, cwd, claudeSessionId, model
3696
3696
  const codexApprovalPolicy = codexPermMode === "full-access" ? "never" : "on-request";
3697
3697
  const codexSandboxMode = codexPermMode === "full-access" ? "danger-full-access" : codexPermMode === "read-only" ? "read-only" : "workspace-write";
3698
3698
  const codexApprovalsReviewer = codexPermMode === "auto-review" ? "auto_review" : void 0;
3699
- const { initCodexHome, extractThreadIdFromRollout } = await import("./codex-o8FJwzmy.js");
3699
+ const { initCodexHome, extractThreadIdFromRollout } = await import("./codex-rnJN3v3_.js");
3700
3700
  initCodexHome(codexHome, {
3701
3701
  trustedDir: cwd,
3702
3702
  approvalPolicy: codexApprovalPolicy,
@@ -3765,7 +3765,7 @@ async function spawnConversationSession(tmuxSession, cwd, claudeSessionId, model
3765
3765
  } catch {}
3766
3766
  console.log(`[claude-invoke] purpose=conversation-session | model=${model || "default"} | source=conversations.ts:spawnConversationSession | session=${tmuxSession} | resume=${resume} | command="${runtimeCommand}"`);
3767
3767
  try {
3768
- const { preTrustDirectory } = await import("./workspace-manager-C1F3XsnS.js");
3768
+ const { preTrustDirectory } = await import("./workspace-manager-B38rFWA1.js");
3769
3769
  preTrustDirectory(cwd);
3770
3770
  } catch {}
3771
3771
  try {
@@ -3782,7 +3782,7 @@ async function spawnConversationSession(tmuxSession, cwd, claudeSessionId, model
3782
3782
  const codexHomeDir = codexFields.codexHome;
3783
3783
  (async () => {
3784
3784
  try {
3785
- const { waitForCodexRollout, extractThreadIdFromRollout, writeThreadId } = await import("./codex-o8FJwzmy.js");
3785
+ const { waitForCodexRollout, extractThreadIdFromRollout, writeThreadId } = await import("./codex-rnJN3v3_.js");
3786
3786
  const rollout = await waitForCodexRollout(codexHomeDir, 12e4);
3787
3787
  if (rollout) {
3788
3788
  const threadId = extractThreadIdFromRollout(rollout);
@@ -4681,7 +4681,7 @@ const postInternalAgentPermissionRequestRoute = HttpRouter.add("POST", "/api/int
4681
4681
  error: "missing agent id"
4682
4682
  }, { status: 400 });
4683
4683
  const request = yield* HttpServerRequest.HttpServerRequest;
4684
- const { INTERNAL_TOKEN_HEADER, getInternalTokenSync } = yield* Effect.promise(() => import("./internal-token-Ias7N8Kg.js"));
4684
+ const { INTERNAL_TOKEN_HEADER, getInternalTokenSync } = yield* Effect.promise(() => import("./internal-token-BJZa40Ld.js"));
4685
4685
  const expected = getInternalTokenSync();
4686
4686
  if (!expected) return jsonResponse({
4687
4687
  ok: false,
@@ -4968,7 +4968,7 @@ const getAgentHealthHistoryRoute = HttpRouter.add("GET", "/api/agents/:id/health
4968
4968
  const request = yield* HttpServerRequest.HttpServerRequest;
4969
4969
  const urlOpt = HttpServerRequest.toURL(request);
4970
4970
  const hours = Option.isSome(urlOpt) ? urlOpt.value.searchParams.get("hours") ?? "24" : "24";
4971
- const { getHealthHistory } = yield* Effect.promise(() => import("./health-events-2Z6Wa9SM.js"));
4971
+ const { getHealthHistory } = yield* Effect.promise(() => import("./health-events-Der6bOkm.js"));
4972
4972
  const endTime = /* @__PURE__ */ new Date();
4973
4973
  const startTime = /* @__PURE__ */ new Date(endTime.getTime() - parseInt(hours) * 60 * 60 * 1e3);
4974
4974
  const events = getHealthHistory(id, startTime.toISOString(), endTime.toISOString());
@@ -4983,7 +4983,7 @@ function emitAgentRuntimeEvent(id, body, timestamp) {
4983
4983
  return Effect.gen(function* () {
4984
4984
  let eventBody = body;
4985
4985
  if (body["kind"] === "linear_mcp_auth_required" || body["kind"] === "linear_mcp_auth_healthy") {
4986
- const { AgentStateService } = yield* Effect.promise(() => import("./agent-state-service-C63p_ftq.js"));
4986
+ const { AgentStateService } = yield* Effect.promise(() => import("./agent-state-service-DFO6qvHp.js"));
4987
4987
  const snapshot = yield* (yield* AgentStateService).get(id);
4988
4988
  eventBody = {
4989
4989
  ...body,
@@ -5018,7 +5018,7 @@ function emitAgentRuntimeEvent(id, body, timestamp) {
5018
5018
  detail: String(decoded.failure)
5019
5019
  }, { status: 400 })
5020
5020
  };
5021
- const { AgentStateService } = yield* Effect.promise(() => import("./agent-state-service-C63p_ftq.js"));
5021
+ const { AgentStateService } = yield* Effect.promise(() => import("./agent-state-service-DFO6qvHp.js"));
5022
5022
  yield* (yield* AgentStateService).emit(decoded.success);
5023
5023
  return {
5024
5024
  ok: true,
@@ -5100,7 +5100,7 @@ const getAgentRuntimeRoute = HttpRouter.add("GET", "/api/agents/:id/runtime", ht
5100
5100
  success: false,
5101
5101
  error: "missing agent id"
5102
5102
  }, { status: 400 });
5103
- const { AgentStateService } = yield* Effect.promise(() => import("./agent-state-service-C63p_ftq.js"));
5103
+ const { AgentStateService } = yield* Effect.promise(() => import("./agent-state-service-DFO6qvHp.js"));
5104
5104
  const snapshot = yield* (yield* AgentStateService).get(id);
5105
5105
  if (!snapshot) return jsonResponse({
5106
5106
  success: false,
@@ -5286,7 +5286,7 @@ function createAgentStopHandler(lifecycleEvent) {
5286
5286
  if (stateBeforeStop?.issueId) yield* Effect.promise(async () => {
5287
5287
  try {
5288
5288
  const { resolveProjectFromIssueSync } = await import("./projects-_n3Zui6K.js");
5289
- const { findWorkspacePath } = await import("./archive-planning-B2XplFzT.js");
5289
+ const { findWorkspacePath } = await import("./archive-planning-BHCd_eL5.js");
5290
5290
  const issueLower = stateBeforeStop.issueId.toLowerCase();
5291
5291
  const workspacePath = findWorkspacePath(resolveProjectFromIssueSync(stateBeforeStop.issueId)?.projectPath ?? process.cwd(), issueLower);
5292
5292
  if (workspacePath) {
@@ -5426,7 +5426,7 @@ const postAgentUnpauseRoute = HttpRouter.add("POST", "/api/agents/:id/unpause",
5426
5426
  if ((yield* getWorkAgentLifecycleState(id)).canResumeSession && updatedState.troubled !== true) {
5427
5427
  resumeTriggered = true;
5428
5428
  yield* Effect.promise(() => appendAgentLifecycleLog(id, "agent.unpause_immediate_resume_triggered"));
5429
- import("./resume-mOREjlYu.js").then(({ resumeAgent }) => resumeAgent(id)).then((result) => {
5429
+ import("./resume-DXIIfJNk.js").then(({ resumeAgent }) => resumeAgent(id)).then((result) => {
5430
5430
  if (!result.success) console.warn(`[agents] immediate resume after unpause failed for ${id}: ${result.error}`);
5431
5431
  }).catch((err) => console.warn(`[agents] immediate resume after unpause errored for ${id}:`, err));
5432
5432
  }
@@ -6770,15 +6770,15 @@ async function requestWorkStartAfterContainers(input) {
6770
6770
  function handleRemoteAgentSpawn(input) {
6771
6771
  return Effect.gen(function* () {
6772
6772
  const { issueId, workspacePath, workspaceMetadata, spawnModel, startedBy, autoSpawnConsentRequired, projectPath, spawnGuardrails, lifecycle } = input;
6773
- const { spawnRemoteAgent, checkRemoteSpendCap } = yield* Effect.promise(() => import("./remote-agents-CLZB3Coc.js"));
6774
- const { createFlyProviderFromConfig } = yield* Effect.promise(() => import("./remote-CUhyqjXk.js"));
6775
- const { loadConfigSync: loadPanConfig } = yield* Effect.promise(() => import("./config-CL3Gyvja.js"));
6773
+ const { spawnRemoteAgent, checkRemoteSpendCap } = yield* Effect.promise(() => import("./remote-agents-kwsEZvXu.js"));
6774
+ const { createFlyProviderFromConfig } = yield* Effect.promise(() => import("./remote-CVPCc7Vy.js"));
6775
+ const { loadConfigSync: loadPanConfig } = yield* Effect.promise(() => import("./config-R793W0yA.js"));
6776
6776
  const panConfig = loadPanConfig();
6777
6777
  const spendCap = checkRemoteSpendCap(panConfig);
6778
6778
  if (!spendCap.allowed) return jsonResponse({ error: spendCap.message }, { status: 429 });
6779
6779
  const fly = createFlyProviderFromConfig(panConfig.remote);
6780
6780
  yield* Effect.promise(() => fly.syncAllCredentials(workspaceMetadata.vmName));
6781
- const { buildWorkAgentPrompt, getTrackerContext } = yield* Effect.promise(() => import("./work-agent-prompt-ByrPAzOy.js"));
6781
+ const { buildWorkAgentPrompt, getTrackerContext } = yield* Effect.promise(() => import("./work-agent-prompt-Csb3fbVR.js"));
6782
6782
  const trackerContext = yield* Effect.promise(() => getTrackerContext(issueId, workspacePath));
6783
6783
  const agentPrompt = yield* Effect.promise(() => buildWorkAgentPrompt({
6784
6784
  issueId,
@@ -7965,14 +7965,14 @@ function firePostMergeLifecycle(issueId, options) {
7965
7965
  const normalizedIssueId = parsedIssueId.normalized.toUpperCase();
7966
7966
  const started = postMergeGuard.run(normalizedIssueId, async () => {
7967
7967
  const projectPath = getProjectPathForIssue(parsedIssueId.prefix);
7968
- const { postMergeLifecycle } = await import("./merge-agent-DQTXZk8z.js");
7968
+ const { postMergeLifecycle } = await import("./merge-agent-C1-9zbP_.js");
7969
7969
  const lifecycleOptions = {
7970
7970
  ...options?.verifiedMergedRef ? { verifiedMergedRef: options.verifiedMergedRef } : {},
7971
7971
  ...options?.verifiedMergedRepos?.length ? { verifiedMergedRepos: options.verifiedMergedRepos } : {}
7972
7972
  };
7973
7973
  await postMergeLifecycle(normalizedIssueId, projectPath, options?.sourceBranch, Object.keys(lifecycleOptions).length > 0 ? lifecycleOptions : void 0);
7974
7974
  console.log(`[merge] post-merge lifecycle completed for ${normalizedIssueId}`);
7975
- const { runMergeTrainReconcile } = await import("./merge-train-Dmrcus12.js");
7975
+ const { runMergeTrainReconcile } = await import("./merge-train-DvLcAn1G.js");
7976
7976
  const outcomes = await runMergeTrainReconcile(normalizedIssueId);
7977
7977
  if (outcomes.length > 0) console.log(`[merge-train] reconciled ${outcomes.length} sibling(s) after ${normalizedIssueId}: ` + outcomes.map((o) => `${o.issueId}=${o.result}`).join(", "));
7978
7978
  }, (err) => console.error(`[merge] post-merge lifecycle failed for ${normalizedIssueId}:`, err));
@@ -7993,15 +7993,15 @@ init_io();
7993
7993
  init_domain_services();
7994
7994
  init_tmux();
7995
7995
  const getSpecialistsRoute = HttpRouter.add("GET", "/api/specialists", httpHandler(Effect.gen(function* () {
7996
- const { getAllSpecialistStatus, getAllProjectSpecialistStatuses } = yield* Effect.promise(() => import("./specialists-Bz-wFT7R.js"));
7996
+ const { getAllSpecialistStatus, getAllProjectSpecialistStatuses } = yield* Effect.promise(() => import("./specialists-CH6ah6D-.js"));
7997
7997
  return jsonResponse({
7998
7998
  specialists: yield* Effect.promise(() => getAllSpecialistStatus()),
7999
7999
  projects: yield* Effect.promise(() => getAllProjectSpecialistStatuses())
8000
8000
  });
8001
8001
  })));
8002
8002
  const postSpecialistsResetAllRoute = HttpRouter.add("POST", "/api/specialists/reset-all", httpHandler(Effect.gen(function* () {
8003
- const { getAllSpecialists, isRunning, getTmuxSessionName } = yield* Effect.promise(() => import("./specialists-Bz-wFT7R.js"));
8004
- const { clearHookSync } = yield* Effect.promise(() => import("./hooks-D1g1jKLI.js"));
8003
+ const { getAllSpecialists, isRunning, getTmuxSessionName } = yield* Effect.promise(() => import("./specialists-CH6ah6D-.js"));
8004
+ const { clearHookSync } = yield* Effect.promise(() => import("./hooks-BJNal-bs.js"));
8005
8005
  const specialists = getAllSpecialists();
8006
8006
  const results = [];
8007
8007
  for (const specialist of specialists) {
@@ -8057,7 +8057,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
8057
8057
  }
8058
8058
  console.log(`[specialists/done] ${specialist} signaling ${status} for ${normalizedIssueId}`);
8059
8059
  if (specialist === "merge") {
8060
- const { reportSpecialistCompletion } = yield* Effect.promise(() => import("./specialist-completion-B07XjWD2.js"));
8060
+ const { reportSpecialistCompletion } = yield* Effect.promise(() => import("./specialist-completion-z6v3ZqJE.js"));
8061
8061
  if (yield* reportSpecialistCompletion(normalizedIssueId, {
8062
8062
  status,
8063
8063
  notes
@@ -8110,7 +8110,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
8110
8110
  if (project && failedItemId) {
8111
8111
  const workspacePath = join(project.projectPath, "workspaces", `feature-${normalizedIssueId.toLowerCase()}`);
8112
8112
  if (existsSync(workspacePath)) {
8113
- const { onInspectComplete } = await import("./inspect-agent-CUwVmr2h.js");
8113
+ const { onInspectComplete } = await import("./inspect-agent-CPqXI81t.js");
8114
8114
  await Effect.runPromise(onInspectComplete(project.projectKey, normalizedIssueId, failedItemId, "failed", workspacePath, notes));
8115
8115
  }
8116
8116
  }
@@ -8121,7 +8121,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
8121
8121
  }
8122
8122
  yield* Effect.promise(async () => {
8123
8123
  try {
8124
- const { getTmuxSessionName, updateRunMetadata, makeSpecialistRegistryKey } = await import("./specialists-Bz-wFT7R.js");
8124
+ const { getTmuxSessionName, updateRunMetadata, makeSpecialistRegistryKey } = await import("./specialists-CH6ah6D-.js");
8125
8125
  const projectKey = resolveProjectFromIssueSync(normalizedIssueId)?.projectKey;
8126
8126
  const tmuxSession = projectKey ? getTmuxSessionName(`${specialist}-agent`, projectKey, normalizedIssueId) : getTmuxSessionName(`${specialist}-agent`);
8127
8127
  saveAgentRuntimeState(tmuxSession, {
@@ -8140,7 +8140,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
8140
8140
  });
8141
8141
  console.log(`[specialists/done] Cleared registry lock for ${registryKey} (${projectKey})`);
8142
8142
  }
8143
- const { updateSpecialistHandoffStatus } = await import("./specialist-handoff-logger-aKSxbIgD.js");
8143
+ const { updateSpecialistHandoffStatus } = await import("./specialist-handoff-logger-CmpZYJMB.js");
8144
8144
  if (await Effect.runPromise(updateSpecialistHandoffStatus(normalizedIssueId, `${specialist}-agent`, status === "passed" ? "completed" : "failed", status === "passed" ? "success" : "failure"))) console.log(`[specialists/done] Updated handoff log: ${specialist}-agent ${normalizedIssueId} → ${status}`);
8145
8145
  } catch (err) {
8146
8146
  console.error(`[specialists/done] Error managing specialist state:`, err);
@@ -8152,7 +8152,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
8152
8152
  if (project) {
8153
8153
  const workspacePath = join(project.projectPath, "workspaces", `feature-${normalizedIssueId.toLowerCase()}`);
8154
8154
  if (existsSync(workspacePath)) {
8155
- const { formatAnchorShort, snapshotWorkspaceHeadsPromise } = await import("./git-utils-Xg4PFN45.js");
8155
+ const { formatAnchorShort, snapshotWorkspaceHeadsPromise } = await import("./git-utils-CedsVume.js");
8156
8156
  const headAnchor = await snapshotWorkspaceHeadsPromise(normalizedIssueId, workspacePath);
8157
8157
  if (headAnchor) {
8158
8158
  setReviewStatusSync(normalizedIssueId, { reviewedAtCommit: headAnchor });
@@ -8166,7 +8166,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
8166
8166
  });
8167
8167
  if (specialist === "inspect" && status === "passed") yield* Effect.promise(async () => {
8168
8168
  try {
8169
- const { onInspectComplete } = await import("./inspect-agent-CUwVmr2h.js");
8169
+ const { onInspectComplete } = await import("./inspect-agent-CPqXI81t.js");
8170
8170
  const project = resolveProjectFromIssueSync(normalizedIssueId);
8171
8171
  if (project) {
8172
8172
  const workspacePath = join(project.projectPath, "workspaces", `feature-${normalizedIssueId.toLowerCase()}`);
@@ -8236,7 +8236,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
8236
8236
  try {
8237
8237
  const workAgentId = `agent-${normalizedIssueId.toLowerCase()}`;
8238
8238
  const { sessionExists } = await import("./tmux-Ctk6RV5l.js");
8239
- const { messageAgent, spawnAgent, getAgentStateSync } = await import("./agents-ePFVoZbu.js");
8239
+ const { messageAgent, spawnAgent, getAgentStateSync } = await import("./agents-Dnn4XgdB.js");
8240
8240
  if (await Effect.runPromise(sessionExists(workAgentId))) {
8241
8241
  await messageAgent(workAgentId, `MERGE CONFLICT: The merge-agent could not rebase your branch onto main due to conflicts. Please fix this now:\n\n1. git fetch origin main\n2. git rebase origin/main\n3. Resolve any conflicts (git add <file> && git rebase --continue)\n4. git push --force-with-lease\n5. Resubmit: curl -s -X POST http://localhost:3011/api/review/${normalizedIssueId}/request -H "Content-Type: application/json" -d "{}"\n\nConflict details: ${notes}`);
8242
8242
  console.log(`[specialists/done] Sent rebase instructions to ${workAgentId}`);
@@ -8250,7 +8250,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
8250
8250
  try {
8251
8251
  const project = resolveProjectFromIssueSync(normalizedIssueId);
8252
8252
  const workspacePath = project ? join(project.projectPath, "workspaces", `feature-${normalizedIssueId.toLowerCase()}`) : void 0;
8253
- const { deliverReviewVerdictFeedback } = await import("./review-verdict-feedback-HwF6ODFy.js");
8253
+ const { deliverReviewVerdictFeedback } = await import("./review-verdict-feedback-qRohbFG2.js");
8254
8254
  const result = await Effect.runPromise(deliverReviewVerdictFeedback({
8255
8255
  issueId: normalizedIssueId,
8256
8256
  verdict: status === "failed" ? "failed" : "blocked",
@@ -8270,7 +8270,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
8270
8270
  if (project) {
8271
8271
  const workspacePath = join(project.projectPath, "workspaces", `feature-${normalizedIssueId.toLowerCase()}`);
8272
8272
  if (existsSync(workspacePath)) {
8273
- const { formatAnchorShort, snapshotWorkspaceHeadsPromise } = await import("./git-utils-Xg4PFN45.js");
8273
+ const { formatAnchorShort, snapshotWorkspaceHeadsPromise } = await import("./git-utils-CedsVume.js");
8274
8274
  const reviewedAtCommit = await snapshotWorkspaceHeadsPromise(normalizedIssueId, workspacePath);
8275
8275
  if (reviewedAtCommit) {
8276
8276
  setReviewStatusSync(normalizedIssueId, { reviewedAtCommit });
@@ -8310,7 +8310,7 @@ const postSpecialistsDoneRoute = HttpRouter.add("POST", "/api/specialists/done",
8310
8310
  });
8311
8311
  })));
8312
8312
  const postSpecialistsLogsCleanupAllRoute = HttpRouter.add("POST", "/api/specialists/logs/cleanup-all", httpHandler(Effect.gen(function* () {
8313
- const { cleanupAllLogsSync } = yield* Effect.promise(() => import("./specialist-logs-Dae-n52_.js"));
8313
+ const { cleanupAllLogsSync } = yield* Effect.promise(() => import("./specialist-logs-BorrIu0x.js"));
8314
8314
  const results = cleanupAllLogsSync();
8315
8315
  return jsonResponse({
8316
8316
  success: true,
@@ -8320,7 +8320,7 @@ const postSpecialistsLogsCleanupAllRoute = HttpRouter.add("POST", "/api/speciali
8320
8320
  });
8321
8321
  })));
8322
8322
  const getSpecialistsProjectsRoute = HttpRouter.add("GET", "/api/specialists/projects", httpHandler(Effect.gen(function* () {
8323
- const { getAllProjectSpecialistStatuses } = yield* Effect.promise(() => import("./specialists-Bz-wFT7R.js"));
8323
+ const { getAllProjectSpecialistStatuses } = yield* Effect.promise(() => import("./specialists-CH6ah6D-.js"));
8324
8324
  return jsonResponse(yield* Effect.promise(() => getAllProjectSpecialistStatuses()));
8325
8325
  })));
8326
8326
  const postSpecialistWakeRoute = HttpRouter.add("POST", "/api/specialists/:name/wake", httpHandler(Effect.gen(function* () {
@@ -8364,7 +8364,7 @@ const postSpecialistReportStatusRoute = HttpRouter.add("POST", "/api/specialists
8364
8364
  "blocked",
8365
8365
  "failed"
8366
8366
  ].includes(status)) {
8367
- const { getTmuxSessionName } = yield* Effect.promise(() => import("./specialists-Bz-wFT7R.js"));
8367
+ const { getTmuxSessionName } = yield* Effect.promise(() => import("./specialists-CH6ah6D-.js"));
8368
8368
  saveAgentRuntimeState(getTmuxSessionName(name), {
8369
8369
  state: "idle",
8370
8370
  lastActivity: (/* @__PURE__ */ new Date()).toISOString()
@@ -8486,7 +8486,7 @@ const postProjectSpecialistKillRoute = HttpRouter.add("POST", "/api/specialists/
8486
8486
  const issueId = params["issueId"];
8487
8487
  const type = params["type"];
8488
8488
  if (!validateSpecialistAgentName(type)) return jsonResponse({ error: "Invalid specialist type. Must be review-agent, test-agent, or merge-agent" }, { status: 400 });
8489
- const { getTmuxSessionName, makeSpecialistRegistryKey, getRunMetadata } = yield* Effect.promise(() => import("./specialists-Bz-wFT7R.js"));
8489
+ const { getTmuxSessionName, makeSpecialistRegistryKey, getRunMetadata } = yield* Effect.promise(() => import("./specialists-CH6ah6D-.js"));
8490
8490
  const tmuxSession = getRunMetadata(project, makeSpecialistRegistryKey(type, issueId)).tmuxSession ?? getTmuxSessionName(type, project, issueId);
8491
8491
  yield* Effect.promise(() => Effect.runPromise(killSession(tmuxSession)).catch(() => {}));
8492
8492
  saveAgentRuntimeState(tmuxSession, {
@@ -8513,7 +8513,7 @@ const getProjectSpecialistRunsRoute = HttpRouter.add("GET", "/api/specialists/:p
8513
8513
  if (limitParam) limit = parseInt(limitParam, 10);
8514
8514
  if (offsetParam) offset = parseInt(offsetParam, 10);
8515
8515
  }
8516
- const { listRunLogsSync } = yield* Effect.promise(() => import("./specialist-logs-Dae-n52_.js"));
8516
+ const { listRunLogsSync } = yield* Effect.promise(() => import("./specialist-logs-BorrIu0x.js"));
8517
8517
  return jsonResponse(listRunLogsSync(project, type, {
8518
8518
  limit,
8519
8519
  offset
@@ -8524,7 +8524,7 @@ const getProjectSpecialistRunStreamRoute = HttpRouter.add("GET", "/api/specialis
8524
8524
  const project = params["project"];
8525
8525
  const type = params["type"];
8526
8526
  const runId = params["runId"];
8527
- const { getRunLogPath, isRunLogActive } = yield* Effect.promise(() => import("./specialist-logs-Dae-n52_.js"));
8527
+ const { getRunLogPath, isRunLogActive } = yield* Effect.promise(() => import("./specialist-logs-BorrIu0x.js"));
8528
8528
  const logPath = getRunLogPath(project, type, runId);
8529
8529
  if (!existsSync(logPath)) return jsonResponse({ error: "Run log not found" }, { status: 404 });
8530
8530
  const encoder = new TextEncoder();
@@ -8583,7 +8583,7 @@ const getProjectSpecialistRunRoute = HttpRouter.add("GET", "/api/specialists/:pr
8583
8583
  const project = params["project"];
8584
8584
  const type = params["type"];
8585
8585
  const runId = params["runId"];
8586
- const { getRunLogSync, parseLogMetadata } = yield* Effect.promise(() => import("./specialist-logs-Dae-n52_.js"));
8586
+ const { getRunLogSync, parseLogMetadata } = yield* Effect.promise(() => import("./specialist-logs-BorrIu0x.js"));
8587
8587
  const content = getRunLogSync(project, type, runId);
8588
8588
  if (!content) return jsonResponse({ error: "Run log not found" }, { status: 404 });
8589
8589
  return jsonResponse({
@@ -8597,7 +8597,7 @@ const postProjectSpecialistRunTerminateRoute = HttpRouter.add("POST", "/api/spec
8597
8597
  const project = params["project"];
8598
8598
  const type = params["type"];
8599
8599
  if (!validateSpecialistAgentName(type)) return jsonResponse({ error: "Invalid specialist type. Must be review-agent, test-agent, or merge-agent" }, { status: 400 });
8600
- const { terminateSpecialist } = yield* Effect.promise(() => import("./specialists-Bz-wFT7R.js"));
8600
+ const { terminateSpecialist } = yield* Effect.promise(() => import("./specialists-CH6ah6D-.js"));
8601
8601
  yield* Effect.promise(() => terminateSpecialist(project, type));
8602
8602
  return jsonResponse({
8603
8603
  success: true,
@@ -8609,7 +8609,7 @@ const postProjectSpecialistGracePauseRoute = HttpRouter.add("POST", "/api/specia
8609
8609
  const project = params["project"];
8610
8610
  const type = params["type"];
8611
8611
  if (!validateSpecialistAgentName(type)) return jsonResponse({ error: "Invalid specialist type. Must be review-agent, test-agent, or merge-agent" }, { status: 400 });
8612
- const { pauseGracePeriod } = yield* Effect.promise(() => import("./specialists-Bz-wFT7R.js"));
8612
+ const { pauseGracePeriod } = yield* Effect.promise(() => import("./specialists-CH6ah6D-.js"));
8613
8613
  if (pauseGracePeriod(project, type)) return jsonResponse({
8614
8614
  success: true,
8615
8615
  message: "Grace period paused"
@@ -8621,7 +8621,7 @@ const postProjectSpecialistGraceResumeRoute = HttpRouter.add("POST", "/api/speci
8621
8621
  const project = params["project"];
8622
8622
  const type = params["type"];
8623
8623
  if (!validateSpecialistAgentName(type)) return jsonResponse({ error: "Invalid specialist type. Must be review-agent, test-agent, or merge-agent" }, { status: 400 });
8624
- const { resumeGracePeriod } = yield* Effect.promise(() => import("./specialists-Bz-wFT7R.js"));
8624
+ const { resumeGracePeriod } = yield* Effect.promise(() => import("./specialists-CH6ah6D-.js"));
8625
8625
  if (resumeGracePeriod(project, type)) return jsonResponse({
8626
8626
  success: true,
8627
8627
  message: "Grace period resumed"
@@ -8633,7 +8633,7 @@ const postProjectSpecialistGraceExitRoute = HttpRouter.add("POST", "/api/special
8633
8633
  const project = params["project"];
8634
8634
  const type = params["type"];
8635
8635
  if (!validateSpecialistAgentName(type)) return jsonResponse({ error: "Invalid specialist type. Must be review-agent, test-agent, or merge-agent" }, { status: 400 });
8636
- const { exitGracePeriod } = yield* Effect.promise(() => import("./specialists-Bz-wFT7R.js"));
8636
+ const { exitGracePeriod } = yield* Effect.promise(() => import("./specialists-CH6ah6D-.js"));
8637
8637
  exitGracePeriod(project, type);
8638
8638
  return jsonResponse({
8639
8639
  success: true,
@@ -8645,7 +8645,7 @@ const getProjectSpecialistGraceRoute = HttpRouter.add("GET", "/api/specialists/:
8645
8645
  const project = params["project"];
8646
8646
  const type = params["type"];
8647
8647
  if (!validateSpecialistAgentName(type)) return jsonResponse({ error: "Invalid specialist type. Must be review-agent, test-agent, or merge-agent" }, { status: 400 });
8648
- const { getGracePeriodState } = yield* Effect.promise(() => import("./specialists-Bz-wFT7R.js"));
8648
+ const { getGracePeriodState } = yield* Effect.promise(() => import("./specialists-CH6ah6D-.js"));
8649
8649
  const state = getGracePeriodState(project, type);
8650
8650
  if (state) return jsonResponse(state);
8651
8651
  else return jsonResponse({ error: "No active grace period" }, { status: 404 });
@@ -8654,7 +8654,7 @@ const getProjectSpecialistContextRoute = HttpRouter.add("GET", "/api/specialists
8654
8654
  const params = yield* HttpRouter.params;
8655
8655
  const project = params["project"];
8656
8656
  const type = params["type"];
8657
- const { loadContextDigest } = yield* Effect.promise(() => import("./specialist-context-DJ-zFyL3.js"));
8657
+ const { loadContextDigest } = yield* Effect.promise(() => import("./specialist-context-CrA5azkJ.js"));
8658
8658
  const digest = loadContextDigest(project, type);
8659
8659
  if (digest) return jsonResponse({ digest });
8660
8660
  else return jsonResponse({ error: "No context digest found" }, { status: 404 });
@@ -8663,7 +8663,7 @@ const postProjectSpecialistContextRegenerateRoute = HttpRouter.add("POST", "/api
8663
8663
  const params = yield* HttpRouter.params;
8664
8664
  const project = params["project"];
8665
8665
  const type = params["type"];
8666
- const { regenerateContextDigest } = yield* Effect.promise(() => import("./specialist-context-DJ-zFyL3.js"));
8666
+ const { regenerateContextDigest } = yield* Effect.promise(() => import("./specialist-context-CrA5azkJ.js"));
8667
8667
  const digest = yield* Effect.promise(() => regenerateContextDigest(project, type));
8668
8668
  if (digest) return jsonResponse({
8669
8669
  digest,
@@ -8682,7 +8682,7 @@ const postProjectSpecialistCompleteRoute = HttpRouter.add("POST", "/api/speciali
8682
8682
  "blocked"
8683
8683
  ].includes(status)) return jsonResponse({ error: "Valid status (passed/failed/blocked) is required" }, { status: 400 });
8684
8684
  if (!validateSpecialistAgentName(type)) return jsonResponse({ error: "Invalid specialist type. Must be review-agent, test-agent, or merge-agent" }, { status: 400 });
8685
- const { signalSpecialistCompletion } = yield* Effect.promise(() => import("./specialists-Bz-wFT7R.js"));
8685
+ const { signalSpecialistCompletion } = yield* Effect.promise(() => import("./specialists-CH6ah6D-.js"));
8686
8686
  signalSpecialistCompletion(project, type, {
8687
8687
  status,
8688
8688
  notes
@@ -8716,7 +8716,7 @@ const postProjectSpecialistLogsCleanupRoute = HttpRouter.add("POST", "/api/speci
8716
8716
  const params = yield* HttpRouter.params;
8717
8717
  const project = params["project"];
8718
8718
  const type = params["type"];
8719
- const { cleanupOldLogsSync } = yield* Effect.promise(() => import("./specialist-logs-Dae-n52_.js"));
8719
+ const { cleanupOldLogsSync } = yield* Effect.promise(() => import("./specialist-logs-BorrIu0x.js"));
8720
8720
  const { getSpecialistRetention } = yield* Effect.promise(() => import("./projects-_n3Zui6K.js"));
8721
8721
  const retention = getSpecialistRetention(project);
8722
8722
  const deleted = cleanupOldLogsSync(project, type, {
@@ -8738,7 +8738,7 @@ const postProjectReviewRestartRoute = HttpRouter.add("POST", "/api/specialists/:
8738
8738
  const project = params["project"];
8739
8739
  const issueId = params["issueId"];
8740
8740
  const { model, harness } = yield* readJsonBody;
8741
- const { killAllReviewerSessions } = yield* Effect.promise(() => import("./review-agent-BTCNkq2h.js"));
8741
+ const { killAllReviewerSessions } = yield* Effect.promise(() => import("./review-agent-UpAM4DmT.js"));
8742
8742
  const killResult = yield* killAllReviewerSessions(project, issueId);
8743
8743
  const projectConfig = resolveProjectFromIssueSync(issueId);
8744
8744
  if (!projectConfig) return jsonResponse({ error: `Cannot resolve project for ${issueId}` }, { status: 404 });
@@ -8754,7 +8754,7 @@ const postProjectReviewRestartRoute = HttpRouter.add("POST", "/api/specialists/:
8754
8754
  }));
8755
8755
  branch = stdout.trim() || primaryRepo.sourceBranch;
8756
8756
  } catch {}
8757
- const { spawnReviewRoleForIssue } = yield* Effect.promise(() => import("./review-agent-BTCNkq2h.js"));
8757
+ const { spawnReviewRoleForIssue } = yield* Effect.promise(() => import("./review-agent-UpAM4DmT.js"));
8758
8758
  const prUrl = getReviewStatusSync(issueId)?.prUrl;
8759
8759
  const result = yield* spawnReviewRoleForIssue({
8760
8760
  issueId,
@@ -8905,4 +8905,4 @@ const specialistsRouteLayer = Layer.mergeAll(specialistsLegacyRouteLayer, specia
8905
8905
  //#endregion
8906
8906
  export { composerCommandConfirmationFromBody as $, resolveAllowedHarness as A, jsonResponse as At, cleanupUnreferencedConversationAttachments as B, handleConversationCreate as C, waitForSessionRespawn as Ct, handleConversationStop as D, validateOriginHeaders as Dt, handleConversationResume as E, validateOrigin as Et, tmuxSessionExists as F, isManagedConversationAttachmentPath as G, extractConversationAttachmentPaths as H, waitForPiTuiReady as I, composerCommandResultHttpStatus as J, removeConversationAttachment as K, waitForTmuxSession as L, spawnConversationSession as M, startConversationModelBackfill as N, handleConversationSwitchModel as O, httpHandler as Ot, stopConversationRuntime as P, ComposerCommandConfirmationError as Q, cleanupConversationAttachments as R, conversationSessionAliveFromState as S, isRespawnPending as St, handleConversationRestartAll as T, isTrustedOriginForHost as Tt, getConversationAttachmentsRoot as U, ensureConversationAttachmentDir as V, hasConversationAttachment as W, resolvePolicy as X, handleComposerCommandMessage as Y, ComposerCommandParseError as Z, isPiControlChannelHarness as _, dashboardSessionCookieHeader as _t, agentsRouteLayer as a, resolveConversationGitInfo as at, validateConversationControlAckOrigin as b, rejectUnauthorizedDashboardSessionMintRequest as bt, codexConversationPendingInput as c, spawnPanCli as ct, handleConversationCodexApproval as d, resolveAgentHarness as dt, evaluateSpawnGuardrails as et, handleConversationCompact as f, resolveClaudeSessionId as ft, handleConversationThinkingLevel as g, dashboardCsrfToken as gt, handleConversationPlanAction as h, resolvePiSessionPath as ht, validateSpecialistAutoCompleteMetadata as i, resolveAgentGitInfo as it, shouldReportUnresolvedLiveSession as j, jsonStringResponse as jt, isInsideGitWorkTree as k, getDefaultCwd as kt, deliverConversationViaControlChannel as l, readLauncherPinnedSessionId as lt, handleConversationDeliveryMethod as m, resolveJsonlPath as mt, _serverManagedMerges as n, isInternalAgentRequest as nt, saveAgentStateAndEmitEvent as o, getWorkAgentLifecycleStateSync as ot, handleConversationControlAck as p, resolveCodexRolloutPath as pt, runInBatches as q, firePostMergeLifecycle as r, resolveRequestedStartedBy as rt, saveAgentStateAndEmitEventProgram as s, panCliInvocation as st, specialistsRouteLayer as t, invalidateAgentsCache as tt, handleConversationAbort as u, resolveAcpTranscriptPath as ut, pickDeliverAs as v, hasDashboardInternalToken as vt, handleConversationDelete as w, getHeaderFromMap as wt, conversationNeedsRunningRepair as x, rejectUnsafeDashboardMutationRequest as xt, resolveConversationDeliveryMethod as y, rejectUnauthorizedDashboardRequest as yt, cleanupOrphanedConversationAttachments as z };
8907
8907
 
8908
- //# sourceMappingURL=specialists-6PWdtWcg.js.map
8908
+ //# sourceMappingURL=specialists-2yLmqph9.js.map
@@ -1,3 +1,3 @@
1
- import { $ as updateSpecialistMetadata, A as findSessionFile, B as getProjectSpecialistDir, C as listSpecialistsForProject, D as updateRunMetadata, E as updateProjectSpecialistMetadata, F as isInitialized, G as isProjectSpecialistActivelyRunning, H as getSpecialistMetadata, I as isRunning, J as parseReviewerSessionName, K as loadRegistry, L as REVIEWER_ROLES, M as getSpecialistState, N as getSpecialistStatus, O as updateRunStatus, P as initializeEnabledSpecialists, Q as saveRegistry, R as ensureProjectSpecialistDir, S as listProjectsWithSpecialists, T as updateContextTokens, U as getTmuxSessionName, V as getReviewerSessionName, W as initSpecialistsDirectory, X as pruneSpecialistRegistryEntriesForIssue, Y as parseSpecialistRegistryKey, Z as recordWake, _ as getEnabledSpecialists, a as sendFeedbackToAgent, b as incrementProjectRunCount, c as getGracePeriodState, d as signalSpecialistCompletion, et as buildSpecialistBaseCommand, f as startGracePeriod, g as getAllProjectSpecialistStatuses, h as enableSpecialist, i as getPendingFeedback, j as getAllSpecialistStatus, k as countContextTokens, l as pauseGracePeriod, m as disableSpecialist, o as exitGracePeriod, p as terminateSpecialist, q as makeSpecialistRegistryKey, r as getFeedbackStats, s as findActiveRegistryKey, t as init_specialists, tt as buildSpecialistCavemanExports, u as resumeGracePeriod, v as getProjectSpecialistMetadata, w as setCurrentRun, x as isEnabled, y as getRunMetadata, z as getAllSpecialists } from "./specialists-DUiExaxb.js";
1
+ import { $ as updateSpecialistMetadata, A as findSessionFile, B as getProjectSpecialistDir, C as listSpecialistsForProject, D as updateRunMetadata, E as updateProjectSpecialistMetadata, F as isInitialized, G as isProjectSpecialistActivelyRunning, H as getSpecialistMetadata, I as isRunning, J as parseReviewerSessionName, K as loadRegistry, L as REVIEWER_ROLES, M as getSpecialistState, N as getSpecialistStatus, O as updateRunStatus, P as initializeEnabledSpecialists, Q as saveRegistry, R as ensureProjectSpecialistDir, S as listProjectsWithSpecialists, T as updateContextTokens, U as getTmuxSessionName, V as getReviewerSessionName, W as initSpecialistsDirectory, X as pruneSpecialistRegistryEntriesForIssue, Y as parseSpecialistRegistryKey, Z as recordWake, _ as getEnabledSpecialists, a as sendFeedbackToAgent, b as incrementProjectRunCount, c as getGracePeriodState, d as signalSpecialistCompletion, et as buildSpecialistBaseCommand, f as startGracePeriod, g as getAllProjectSpecialistStatuses, h as enableSpecialist, i as getPendingFeedback, j as getAllSpecialistStatus, k as countContextTokens, l as pauseGracePeriod, m as disableSpecialist, o as exitGracePeriod, p as terminateSpecialist, q as makeSpecialistRegistryKey, r as getFeedbackStats, s as findActiveRegistryKey, t as init_specialists, tt as buildSpecialistCavemanExports, u as resumeGracePeriod, v as getProjectSpecialistMetadata, w as setCurrentRun, x as isEnabled, y as getRunMetadata, z as getAllSpecialists } from "./specialists-Dfx9_Wzb.js";
2
2
  init_specialists();
3
3
  export { REVIEWER_ROLES, buildSpecialistBaseCommand, buildSpecialistCavemanExports, countContextTokens, disableSpecialist, enableSpecialist, ensureProjectSpecialistDir, exitGracePeriod, findActiveRegistryKey, findSessionFile, getAllProjectSpecialistStatuses, getAllSpecialistStatus, getAllSpecialists, getEnabledSpecialists, getFeedbackStats, getGracePeriodState, getPendingFeedback, getProjectSpecialistDir, getProjectSpecialistMetadata, getReviewerSessionName, getRunMetadata, getSpecialistMetadata, getSpecialistState, getSpecialistStatus, getTmuxSessionName, incrementProjectRunCount, initSpecialistsDirectory, initializeEnabledSpecialists, isEnabled, isInitialized, isProjectSpecialistActivelyRunning, isRunning, listProjectsWithSpecialists, listSpecialistsForProject, loadRegistry, makeSpecialistRegistryKey, parseReviewerSessionName, parseSpecialistRegistryKey, pauseGracePeriod, pruneSpecialistRegistryEntriesForIssue, recordWake, resumeGracePeriod, saveRegistry, sendFeedbackToAgent, setCurrentRun, signalSpecialistCompletion, startGracePeriod, terminateSpecialist, updateContextTokens, updateProjectSpecialistMetadata, updateRunMetadata, updateRunStatus, updateSpecialistMetadata };