@overdeck/core 0.45.10 → 0.45.11

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 (219) hide show
  1. package/dist/{agent-state-KVbJEG5f.js → agent-state-RLhS7ckO.js} +1 -1
  2. package/dist/{agents-pp8FO7Uj.js → agents-By3u_fQ8.js} +1 -1
  3. package/dist/{agents-CQHK0CSA.js → agents-CgVr77Qq.js} +12 -12
  4. package/dist/{agents-CQHK0CSA.js.map → agents-CgVr77Qq.js.map} +1 -1
  5. package/dist/{backlog-auto-trigger-CyuoS0nl.js → backlog-auto-trigger-B_-1tk4e.js} +5 -5
  6. package/dist/{backlog-auto-trigger-CyuoS0nl.js.map → backlog-auto-trigger-B_-1tk4e.js.map} +1 -1
  7. package/dist/cli/index.js +45 -45
  8. package/dist/{cli-Cewlu3yU.js → cli-DGeSW85B.js} +2 -2
  9. package/dist/{cli-Cewlu3yU.js.map → cli-DGeSW85B.js.map} +1 -1
  10. package/dist/cli-MTB9IOoR.js +3 -0
  11. package/dist/{close-issue-BJGX9_z7.js → close-issue-Djajb6Sv.js} +2 -2
  12. package/dist/{close-issue-BJGX9_z7.js.map → close-issue-Djajb6Sv.js.map} +1 -1
  13. package/dist/{concurrency-Ca-fC7tA.js → concurrency-4rzjHAQA.js} +1 -1
  14. package/dist/{conversation-compaction-B_6s9EvM.js → conversation-compaction-BQvZh09I.js} +4 -4
  15. package/dist/{conversation-compaction-B_6s9EvM.js.map → conversation-compaction-BQvZh09I.js.map} +1 -1
  16. package/dist/dashboard/{advancing-selfheal-CMlGznKv.js → advancing-selfheal-BezNfM3P.js} +3 -3
  17. package/dist/dashboard/{advancing-selfheal-CMlGznKv.js.map → advancing-selfheal-BezNfM3P.js.map} +1 -1
  18. package/dist/dashboard/{agent-state-xk_G8t90.js → agent-state-BUANcaA7.js} +1 -1
  19. package/dist/dashboard/{agent-state-service-C1iUF9Ft.js → agent-state-service-DmFpIMbP.js} +1 -1
  20. package/dist/dashboard/{agent-state-service-5ge9xxhx.js → agent-state-service-tXUdp6UF.js} +2 -2
  21. package/dist/dashboard/{agent-state-service-5ge9xxhx.js.map → agent-state-service-tXUdp6UF.js.map} +1 -1
  22. package/dist/dashboard/{agents-BIggLvi_.js → agents-C-vqmKDi.js} +1 -1
  23. package/dist/dashboard/{agents-DHvsjsuP.js → agents-C7V4odQ6.js} +11 -11
  24. package/dist/dashboard/{agents-DHvsjsuP.js.map → agents-C7V4odQ6.js.map} +1 -1
  25. package/dist/dashboard/{backlog-auto-trigger-COm_R96V.js → backlog-auto-trigger-Cb8PR-5w.js} +2 -2
  26. package/dist/dashboard/{backlog-auto-trigger-COm_R96V.js.map → backlog-auto-trigger-Cb8PR-5w.js.map} +1 -1
  27. package/dist/dashboard/{cli-CvK9xuSS.js → cli-BgzbB6h3.js} +2 -2
  28. package/dist/dashboard/{cli-CvK9xuSS.js.map → cli-BgzbB6h3.js.map} +1 -1
  29. package/dist/dashboard/cli-DCqy_wFa.js +3 -0
  30. package/dist/dashboard/{close-issue-BnpErnD1.js → close-issue-BWf3pxn4.js} +2 -2
  31. package/dist/dashboard/{close-issue-BnpErnD1.js.map → close-issue-BWf3pxn4.js.map} +1 -1
  32. package/dist/dashboard/{closed-issue-reaper-DRqK5k39.js → closed-issue-reaper-D7XPq5pY.js} +4 -4
  33. package/dist/dashboard/{closed-issue-reaper-DRqK5k39.js.map → closed-issue-reaper-D7XPq5pY.js.map} +1 -1
  34. package/dist/dashboard/{closed-issue-reaper-BLCQwTpF.js → closed-issue-reaper-VSTSTROK.js} +1 -1
  35. package/dist/dashboard/{conflict-gate-JdFuhKuF.js → conflict-gate-DwOslTij.js} +1 -1
  36. package/dist/dashboard/{conflict-gate-BhKvrPxn.js → conflict-gate-FFEvTDVA.js} +3 -3
  37. package/dist/dashboard/{conflict-gate-BhKvrPxn.js.map → conflict-gate-FFEvTDVA.js.map} +1 -1
  38. package/dist/dashboard/{conversation-compaction-C5o_eKEm.js → conversation-compaction-CCqN4hWk.js} +4 -4
  39. package/dist/dashboard/{conversation-compaction-C5o_eKEm.js.map → conversation-compaction-CCqN4hWk.js.map} +1 -1
  40. package/dist/dashboard/{conversation-compaction-Ba5aZdrb.js → conversation-compaction-CL5Ti4j4.js} +1 -1
  41. package/dist/dashboard/{deacon-j3qSZ7--.js → deacon-CGHl90eC.js} +107 -50
  42. package/dist/dashboard/{deacon-j3qSZ7--.js.map → deacon-CGHl90eC.js.map} +1 -1
  43. package/dist/dashboard/{deacon-Cv2RMfHs.js → deacon-DMPh40Im.js} +2 -2
  44. package/dist/dashboard/deacon-swarm-CVTiNL0N.js +2 -0
  45. package/dist/dashboard/{deacon-swarm-DadWNi5J.js → deacon-swarm-aMMJTq6t.js} +4 -4
  46. package/dist/dashboard/{deacon-swarm-DadWNi5J.js.map → deacon-swarm-aMMJTq6t.js.map} +1 -1
  47. package/dist/dashboard/deacon.js +4 -4
  48. package/dist/dashboard/{feedback-target-oE4-Esxl.js → feedback-target-dJjFfITP.js} +4 -4
  49. package/dist/dashboard/{feedback-target-oE4-Esxl.js.map → feedback-target-dJjFfITP.js.map} +1 -1
  50. package/dist/dashboard/{feedback-target-C4DaDSZ8.js → feedback-target-nQSM6ygL.js} +1 -1
  51. package/dist/dashboard/{flywheel-ClMjGW_u.js → flywheel-BLoVNtJV.js} +6 -6
  52. package/dist/dashboard/{flywheel-ClMjGW_u.js.map → flywheel-BLoVNtJV.js.map} +1 -1
  53. package/dist/dashboard/{flywheel-DefHRzY4.js → flywheel-Cqf8vu7N.js} +6 -6
  54. package/dist/dashboard/{flywheel-DefHRzY4.js.map → flywheel-Cqf8vu7N.js.map} +1 -1
  55. package/dist/dashboard/{flywheel-BqDdGvrQ.js → flywheel-PJsbrXNY.js} +1 -1
  56. package/dist/dashboard/{flywheel-merge-order-CuDcqTRJ.js → flywheel-merge-order-B7BH8mZ3.js} +2 -2
  57. package/dist/dashboard/{flywheel-merge-order-CuDcqTRJ.js.map → flywheel-merge-order-B7BH8mZ3.js.map} +1 -1
  58. package/dist/dashboard/{flywheel-merge-order-B6YDSElh.js → flywheel-merge-order-CCwF60b-.js} +1 -1
  59. package/dist/dashboard/{harness-resolve-DKeSVsJL.js → harness-resolve-B3f9G1Kp.js} +2 -2
  60. package/dist/dashboard/{harness-resolve-DKeSVsJL.js.map → harness-resolve-B3f9G1Kp.js.map} +1 -1
  61. package/dist/dashboard/{inspect-agent-BKKc0XnB.js → inspect-agent-CKF5-SJr.js} +3 -3
  62. package/dist/dashboard/{inspect-agent-BKKc0XnB.js.map → inspect-agent-CKF5-SJr.js.map} +1 -1
  63. package/dist/dashboard/inspect-agent-CqpEWGWy.js +2 -0
  64. package/dist/dashboard/{issue-lifecycle-DnhQgddB.js → issue-lifecycle-5LbOcATP.js} +7 -7
  65. package/dist/dashboard/{issue-lifecycle-DnhQgddB.js.map → issue-lifecycle-5LbOcATP.js.map} +1 -1
  66. package/dist/dashboard/{issue-lifecycle-nY4esZn8.js → issue-lifecycle-CjYqQ669.js} +1 -1
  67. package/dist/dashboard/{issue-service-singleton-Bnqv1uaa.js → issue-service-singleton-B8iu_TKV.js} +1 -1
  68. package/dist/dashboard/{issue-service-singleton-_AquSBTl.js → issue-service-singleton-CDGt__oQ.js} +2 -2
  69. package/dist/dashboard/{issue-service-singleton-_AquSBTl.js.map → issue-service-singleton-CDGt__oQ.js.map} +1 -1
  70. package/dist/dashboard/{lifecycle-CGKm7doE.js → lifecycle-CEg4sHZH.js} +4 -4
  71. package/dist/dashboard/{lifecycle-CGKm7doE.js.map → lifecycle-CEg4sHZH.js.map} +1 -1
  72. package/dist/dashboard/{merge-agent-Dh8Y9PDO.js → merge-agent-7nBiCytp.js} +1 -1
  73. package/dist/dashboard/{merge-agent-BcgAYStl.js → merge-agent-C81xPIGd.js} +6 -6
  74. package/dist/dashboard/{merge-agent-BcgAYStl.js.map → merge-agent-C81xPIGd.js.map} +1 -1
  75. package/dist/dashboard/merge-ops-DE_6CnmZ.js +2 -0
  76. package/dist/dashboard/{merge-train-DmxlYbEo.js → merge-train-D3qzRccL.js} +2 -2
  77. package/dist/dashboard/{merge-train-DmxlYbEo.js.map → merge-train-D3qzRccL.js.map} +1 -1
  78. package/dist/dashboard/{merge-train-deps-DBHsOWt9.js → merge-train-deps-Be5ElC_P.js} +2 -2
  79. package/dist/dashboard/{merge-train-deps-DBHsOWt9.js.map → merge-train-deps-Be5ElC_P.js.map} +1 -1
  80. package/dist/dashboard/{orphan-proposed-reconciler-Db8tUhce.js → orphan-proposed-reconciler-Boq_XaRe.js} +3 -3
  81. package/dist/dashboard/{orphan-proposed-reconciler-Db8tUhce.js.map → orphan-proposed-reconciler-Boq_XaRe.js.map} +1 -1
  82. package/dist/dashboard/{orphan-proposed-reconciler-mXV--tcB.js → orphan-proposed-reconciler-C0sPnDq_.js} +1 -1
  83. package/dist/dashboard/{reconstruct-cache-_tDZ2D72.js → reconstruct-cache-C2pCltOq.js} +3 -3
  84. package/dist/dashboard/{reconstruct-cache-_tDZ2D72.js.map → reconstruct-cache-C2pCltOq.js.map} +1 -1
  85. package/dist/dashboard/{remote-completion-Bklh6loJ.js → remote-completion-BmxD5UMQ.js} +3 -3
  86. package/dist/dashboard/{remote-completion-Bklh6loJ.js.map → remote-completion-BmxD5UMQ.js.map} +1 -1
  87. package/dist/dashboard/resume-C-nxu9Y4.js +3 -0
  88. package/dist/dashboard/{review-agent-phzqNqIs.js → review-agent-D6P6d3pz.js} +26 -17
  89. package/dist/dashboard/review-agent-D6P6d3pz.js.map +1 -0
  90. package/dist/dashboard/review-agent-DTINEffB.js +3 -0
  91. package/dist/dashboard/{review-context-CCq56O_Y.js → review-context-Dyo0tsBa.js} +2 -2
  92. package/dist/dashboard/{review-context-CCq56O_Y.js.map → review-context-Dyo0tsBa.js.map} +1 -1
  93. package/dist/dashboard/{review-status-BQjqQXZG.js → review-status-B5ZASOo4.js} +18 -5
  94. package/dist/dashboard/review-status-B5ZASOo4.js.map +1 -0
  95. package/dist/dashboard/{review-status-bBkqUj5i.js → review-status-h7BXIA4z.js} +1 -1
  96. package/dist/dashboard/{review-verdict-feedback-wqnikhMK.js → review-verdict-feedback-B70VbfRL.js} +4 -4
  97. package/dist/dashboard/{review-verdict-feedback-wqnikhMK.js.map → review-verdict-feedback-B70VbfRL.js.map} +1 -1
  98. package/dist/dashboard/{review-verdict-feedback-cZh9Wi9G.js → review-verdict-feedback-CorgH49f.js} +1 -1
  99. package/dist/dashboard/{sequence-io-B2GmilSI.js → sequence-io-6YP8fVpH.js} +2 -2
  100. package/dist/dashboard/{sequence-io-B2GmilSI.js.map → sequence-io-6YP8fVpH.js.map} +1 -1
  101. package/dist/dashboard/{sequencer-agent-D8pW2aU_.js → sequencer-agent-ja-nkEc1.js} +5 -5
  102. package/dist/dashboard/{sequencer-agent-D8pW2aU_.js.map → sequencer-agent-ja-nkEc1.js.map} +1 -1
  103. package/dist/dashboard/server.js +66 -55
  104. package/dist/dashboard/server.js.map +1 -1
  105. package/dist/dashboard/{service-CILd-uOt.js → service-HKDrIy0h.js} +24 -24
  106. package/dist/dashboard/{service-CILd-uOt.js.map → service-HKDrIy0h.js.map} +1 -1
  107. package/dist/dashboard/{smart-compaction-Bgp_gwcA.js → smart-compaction-L0LSnF0_.js} +1 -1
  108. package/dist/dashboard/{smart-compaction-CrP90OFE.js → smart-compaction-uke1npUz.js} +2 -2
  109. package/dist/dashboard/{smart-compaction-CrP90OFE.js.map → smart-compaction-uke1npUz.js.map} +1 -1
  110. package/dist/dashboard/{spawn-planning-session-D15KbPOy.js → spawn-planning-session-CSMWco8B.js} +1 -1
  111. package/dist/dashboard/{spawn-planning-session-BmJWHSCu.js → spawn-planning-session-CXc0NkwV.js} +3 -3
  112. package/dist/dashboard/{spawn-planning-session-BmJWHSCu.js.map → spawn-planning-session-CXc0NkwV.js.map} +1 -1
  113. package/dist/dashboard/{specialist-context-CwKkcXL9.js → specialist-context-BGCJ24LH.js} +3 -3
  114. package/dist/dashboard/{specialist-context-CwKkcXL9.js.map → specialist-context-BGCJ24LH.js.map} +1 -1
  115. package/dist/dashboard/{specialist-logs-CvDxquV_.js → specialist-logs--Uz-r8ia.js} +2 -2
  116. package/dist/dashboard/{specialist-logs-CvDxquV_.js.map → specialist-logs--Uz-r8ia.js.map} +1 -1
  117. package/dist/dashboard/{specialists-BCjcG4uE.js → specialists-Ca9XSBCS.js} +1 -1
  118. package/dist/dashboard/{specialists-D07ybnam.js → specialists-DEfrAbWs.js} +36 -36
  119. package/dist/dashboard/{specialists-D07ybnam.js.map → specialists-DEfrAbWs.js.map} +1 -1
  120. package/dist/dashboard/{specialists-F2uMO4QS.js → specialists-DeZx9xom.js} +1 -1
  121. package/dist/dashboard/{specialists-BYi0k8CZ.js → specialists-nZ0mRwpZ.js} +12 -12
  122. package/dist/dashboard/{specialists-BYi0k8CZ.js.map → specialists-nZ0mRwpZ.js.map} +1 -1
  123. package/dist/dashboard/{summary-fork-DedqguZb.js → summary-fork-2a1L2DIU.js} +2 -2
  124. package/dist/dashboard/{summary-fork-EjvOkEPl.js → summary-fork-Xn0QUNmb.js} +3 -3
  125. package/dist/dashboard/{summary-fork-EjvOkEPl.js.map → summary-fork-Xn0QUNmb.js.map} +1 -1
  126. package/dist/dashboard/{teardown-workspace-5LCVbjfq.js → teardown-workspace-DhA6oAIK.js} +2 -2
  127. package/dist/dashboard/{teardown-workspace-5LCVbjfq.js.map → teardown-workspace-DhA6oAIK.js.map} +1 -1
  128. package/dist/dashboard/{test-agent-queue-qfsq6uaC.js → test-agent-queue-B_ukPyIK.js} +3 -3
  129. package/dist/dashboard/{test-agent-queue-qfsq6uaC.js.map → test-agent-queue-B_ukPyIK.js.map} +1 -1
  130. package/dist/dashboard/{uat-train-CtNGgXxj.js → uat-train-BLBAbJ8Y.js} +10 -10
  131. package/dist/dashboard/{uat-train-CtNGgXxj.js.map → uat-train-BLBAbJ8Y.js.map} +1 -1
  132. package/dist/dashboard/{uat-train-C3hWXtip.js → uat-train-DPfGR9_I.js} +1 -1
  133. package/dist/dashboard/{verification-runner-DuZRHjPU.js → verification-runner-KTGTNugM.js} +1 -1
  134. package/dist/dashboard/{verification-runner-BPAhPWR7.js → verification-runner-R2-4XgMO.js} +4 -4
  135. package/dist/dashboard/{verification-runner-BPAhPWR7.js.map → verification-runner-R2-4XgMO.js.map} +1 -1
  136. package/dist/dashboard/{workflows-H-COJ84X.js → workflows-CSKX5MhC.js} +7 -7
  137. package/dist/dashboard/{workflows-H-COJ84X.js.map → workflows-CSKX5MhC.js.map} +1 -1
  138. package/dist/dashboard/workflows-DVwXauef.js +2 -0
  139. package/dist/dashboard/{workspaces-CRU9_vRn.js → workspaces-DXLDgXo2.js} +32 -32
  140. package/dist/dashboard/{workspaces-CRU9_vRn.js.map → workspaces-DXLDgXo2.js.map} +1 -1
  141. package/dist/docs-index.sqlite +0 -0
  142. package/dist/{feedback-target-DTGAhFkM.js → feedback-target-BsKN4Tr_.js} +4 -4
  143. package/dist/{feedback-target-DTGAhFkM.js.map → feedback-target-BsKN4Tr_.js.map} +1 -1
  144. package/dist/{feedback-target-DutF088V.js → feedback-target-DM1WzOKy.js} +1 -1
  145. package/dist/{harness-resolve-Bz1prk6B.js → harness-resolve-B-YDNwNW.js} +2 -2
  146. package/dist/{harness-resolve-Bz1prk6B.js.map → harness-resolve-B-YDNwNW.js.map} +1 -1
  147. package/dist/{issue-lifecycle-fVqvCdKM.js → issue-lifecycle-Bc1l3U9f.js} +7 -7
  148. package/dist/{issue-lifecycle-fVqvCdKM.js.map → issue-lifecycle-Bc1l3U9f.js.map} +1 -1
  149. package/dist/{issue-service-singleton-CZm8p6Rj.js → issue-service-singleton-D-8Q6tdT.js} +1 -1
  150. package/dist/{issue-service-singleton-Cr73JAaR.js → issue-service-singleton-D1433I7n.js} +2 -2
  151. package/dist/{issue-service-singleton-Cr73JAaR.js.map → issue-service-singleton-D1433I7n.js.map} +1 -1
  152. package/dist/{lifecycle-CR6tZfl1.js → lifecycle-SmrqysDf.js} +7 -7
  153. package/dist/{lifecycle-CR6tZfl1.js.map → lifecycle-SmrqysDf.js.map} +1 -1
  154. package/dist/{lifecycle-D_EWiUjk.js → lifecycle-mRMyiIXs.js} +2 -2
  155. package/dist/{merge-agent-LM4avOtA.js → merge-agent-B9hIZ6Z0.js} +6 -6
  156. package/dist/{merge-agent-LM4avOtA.js.map → merge-agent-B9hIZ6Z0.js.map} +1 -1
  157. package/dist/{merge-agent-Bj046HE1.js → merge-agent-DUj22cXL.js} +1 -1
  158. package/dist/{merge-fulfillment-DrnC1Kmg.js → merge-fulfillment-__P4WE-T.js} +3 -3
  159. package/dist/{merge-fulfillment-DrnC1Kmg.js.map → merge-fulfillment-__P4WE-T.js.map} +1 -1
  160. package/dist/{reconstruct-cache-NPqoAUg-.js → reconstruct-cache-9SWp82SQ.js} +3 -3
  161. package/dist/{reconstruct-cache-NPqoAUg-.js.map → reconstruct-cache-9SWp82SQ.js.map} +1 -1
  162. package/dist/{records-BIkN1LQ4.js → records-CTmvuRzz.js} +14 -1
  163. package/dist/{records-BIkN1LQ4.js.map → records-CTmvuRzz.js.map} +1 -1
  164. package/dist/records-backfill-BQcmTmwF.js +2 -0
  165. package/dist/{records-backfill-HM0Pln6N.js → records-backfill-BrNsv_zT.js} +2 -2
  166. package/dist/{records-backfill-HM0Pln6N.js.map → records-backfill-BrNsv_zT.js.map} +1 -1
  167. package/dist/resume-Bn4kDk9x.js +3 -0
  168. package/dist/{review-agent-DFosQzCG.js → review-agent-PhqOhpx3.js} +24 -16
  169. package/dist/{review-agent-DFosQzCG.js.map → review-agent-PhqOhpx3.js.map} +1 -1
  170. package/dist/review-agent-hLbRRxZF.js +3 -0
  171. package/dist/{review-status-iJwfEoNX.js → review-status-B_XXomV0.js} +6 -6
  172. package/dist/{review-status-iJwfEoNX.js.map → review-status-B_XXomV0.js.map} +1 -1
  173. package/dist/{review-status-BbNVlXh1.js → review-status-Bo-EFVKh.js} +1 -1
  174. package/dist/{review-verdict-feedback-BGPw3z1X.js → review-verdict-feedback-CXHkoiKZ.js} +1 -1
  175. package/dist/{review-verdict-feedback-CCZ05atV.js → review-verdict-feedback-DGV13LDb.js} +4 -4
  176. package/dist/{review-verdict-feedback-CCZ05atV.js.map → review-verdict-feedback-DGV13LDb.js.map} +1 -1
  177. package/dist/{sequence-io-CcxZNHcD.js → sequence-io-Cg4NHAco.js} +1 -1
  178. package/dist/{sequence-io-Cx1usxG3.js → sequence-io-CyxvNHfA.js} +2 -2
  179. package/dist/{sequence-io-Cx1usxG3.js.map → sequence-io-CyxvNHfA.js.map} +1 -1
  180. package/dist/{smart-compaction-ByUEgQkF.js → smart-compaction-ByKXTQNy.js} +2 -2
  181. package/dist/{smart-compaction-ByUEgQkF.js.map → smart-compaction-ByKXTQNy.js.map} +1 -1
  182. package/dist/{smart-compaction-DfLe_CtH.js → smart-compaction-U6e_uB1E.js} +1 -1
  183. package/dist/{specialist-context-McuGkaeR.js → specialist-context-BUTadO-U.js} +3 -3
  184. package/dist/{specialist-context-McuGkaeR.js.map → specialist-context-BUTadO-U.js.map} +1 -1
  185. package/dist/{specialist-logs-CUUJ4eiB.js → specialist-logs-pEMCTtGZ.js} +2 -2
  186. package/dist/{specialist-logs-CUUJ4eiB.js.map → specialist-logs-pEMCTtGZ.js.map} +1 -1
  187. package/dist/{specialists-BSrylD1S.js → specialists-BGFnrQ8n.js} +1 -1
  188. package/dist/{specialists-B0elgInc.js → specialists-DeTkkp8b.js} +12 -12
  189. package/dist/{specialists-B0elgInc.js.map → specialists-DeTkkp8b.js.map} +1 -1
  190. package/dist/{summary-fork-DskMRnyb.js → summary-fork-CgzThE2-.js} +2 -2
  191. package/dist/{summary-fork-CPUTKcAT.js → summary-fork-Dx1RMuvU.js} +3 -3
  192. package/dist/{summary-fork-CPUTKcAT.js.map → summary-fork-Dx1RMuvU.js.map} +1 -1
  193. package/dist/{sync-BiNVQHBf.js → sync-Bsww9tuj.js} +2 -2
  194. package/dist/{sync-BiNVQHBf.js.map → sync-Bsww9tuj.js.map} +1 -1
  195. package/dist/sync-CylE_SjB.js +2 -0
  196. package/dist/{verdict-restore-DQiV7_fe.js → verdict-restore-DGpX0ZOJ.js} +5 -5
  197. package/dist/{verdict-restore-DQiV7_fe.js.map → verdict-restore-DGpX0ZOJ.js.map} +1 -1
  198. package/dist/{webhook-handlers-DHBSEDEm.js → webhook-handlers-BjsfIL7u.js} +3 -3
  199. package/dist/{webhook-handlers-DHBSEDEm.js.map → webhook-handlers-BjsfIL7u.js.map} +1 -1
  200. package/dist/{workspace-migrate-duUsWNpd.js → workspace-migrate-BBQ8nAnP.js} +2 -2
  201. package/dist/{workspace-migrate-duUsWNpd.js.map → workspace-migrate-BBQ8nAnP.js.map} +1 -1
  202. package/dist/{workspace-reap-DLCIoJmn.js → workspace-reap-12O9354k.js} +2 -2
  203. package/dist/{workspace-reap-DLCIoJmn.js.map → workspace-reap-12O9354k.js.map} +1 -1
  204. package/package.json +1 -1
  205. package/scripts/file-size-baseline.txt +1 -1
  206. package/dist/cli-DBWG12XK.js +0 -3
  207. package/dist/dashboard/cli-CJDWXE_Y.js +0 -3
  208. package/dist/dashboard/deacon-swarm-D1iAUX-P.js +0 -2
  209. package/dist/dashboard/inspect-agent-vm88mLYr.js +0 -2
  210. package/dist/dashboard/merge-ops-QdBiQ8XB.js +0 -2
  211. package/dist/dashboard/resume-DnIsmIgC.js +0 -3
  212. package/dist/dashboard/review-agent-DgySDb-G.js +0 -3
  213. package/dist/dashboard/review-agent-phzqNqIs.js.map +0 -1
  214. package/dist/dashboard/review-status-BQjqQXZG.js.map +0 -1
  215. package/dist/dashboard/workflows-Cz8OtiB4.js +0 -2
  216. package/dist/records-backfill-DEgtRyKL.js +0 -2
  217. package/dist/resume-DGymuXZM.js +0 -3
  218. package/dist/review-agent-DjVadURa.js +0 -3
  219. package/dist/sync-4jqukkxz.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"agent-state-service-5ge9xxhx.js","names":["getMirrorSnapshot","applyReducerEvent"],"sources":["../../src/lib/session-history.ts","../../src/dashboard/server/services/agent-state-service.ts"],"sourcesContent":["import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';\nimport { join } from 'path';\nimport { getOverdeckHome } from './paths.js';\n\n/**\n * PAN-1989: durably record a Claude session id in the agent's append-only\n * sessions.json the moment the system learns it.\n *\n * Background: a work agent's resumable session id was only durable if the\n * PostToolUse heartbeat hook had written sessions.json (first tool call) or\n * auto-suspend had written session.id. A session that boots but is stopped\n * before its first tool — kickoff never delivered, or a reboot mid-run — left\n * the id only in the EPHEMERAL in-memory runtime snapshot, which a dashboard\n * restart or reboot rebuilds from sources (state.json + tmux) that don't carry\n * the session id. The agent then resolves to \"No saved session ID found\" and\n * goes troubled even though its JSONL transcript is intact on disk.\n *\n * Calling this from the AgentStateService event sink (the single convergence\n * point for every model_set event, hook-emitted or server-emitted) makes the\n * pointer durable from the moment it is learned. The append-only list may\n * accumulate aborted/empty ids; the resolver picks the freshest id with a real\n * transcript, so empties never shadow the truth. De-dupes; never throws.\n *\n * Lives in its own module (not agents.ts) so the dashboard event sink can import\n * it without pulling the whole agents.ts graph — avoids an ESM import cycle.\n */\nexport function appendSessionIdToHistory(agentId: string, sessionId: string): void {\n if (!sessionId || !sessionId.trim()) return;\n try {\n const dir = join(getOverdeckHome(), 'agents', agentId);\n mkdirSync(dir, { recursive: true });\n const file = join(dir, 'sessions.json');\n let list: string[] = [];\n if (existsSync(file)) {\n const parsed: unknown = JSON.parse(readFileSync(file, 'utf8'));\n if (Array.isArray(parsed)) list = parsed.filter((v): v is string => typeof v === 'string');\n }\n if (list.includes(sessionId)) return;\n list.push(sessionId);\n writeFileSync(file, JSON.stringify(list));\n } catch {\n /* non-fatal — bookkeeping only */\n }\n}\n","/**\n * AgentStateService — canonical in-memory runtime state for all agents (PAN-800)\n *\n * Source of truth: SubscriptionRef<Record<AgentId, AgentRuntimeSnapshot>> derived\n * from folding agent.* runtime events out of the append-only event store.\n *\n * writers canonical state readers\n * ------- --------------- -------\n * hooks → POST /api/agents/:id/heartbeat\n * specialists → emit() EventStore.appendAsync .get(id) / .changes\n * ↓ subscribe → route handlers\n * SubscriptionRef deacon, UI\n *\n * Invariants:\n * - The Record inside the ref is only ever mutated via the shared reducer\n * (packages/contracts/src/event-reducers.ts). Never set directly.\n * - `emit()` MUST route through `appendAsync`, never `emitOnly`. emitOnly\n * assigns sequence=-1 which would regress `updatedAtSequence` and break the\n * Math.max(state.sequence, event.sequence) invariant in the shared reducer.\n * - `readFileSync` is forbidden — bootstrap uses `fs.promises.readFile` for\n * the one-time runtime.json migration fallback.\n */\n\nimport { Effect, Layer, Context, Stream, SubscriptionRef } from 'effect';\nimport {\n applyEvent as applyReducerEvent,\n INITIAL_READ_MODEL_STATE,\n} from '@overdeck/contracts';\nimport type {\n AgentRuntimeSnapshot,\n DomainEvent,\n} from '@overdeck/contracts';\nimport { initEventStore } from '../event-store.js';\nimport type { StoredEvent } from '../event-store.js';\nimport { setAgentRuntimeMirror, getRuntimeSnapshot as getMirrorSnapshot, markAgentStateServiceInProcess } from '../../../lib/agent-runtime-mirror.js';\nimport { appendSessionIdToHistory } from '../../../lib/session-history.js';\n\n// ─── Event filtering ──────────────────────────────────────────────────────────\n\n/**\n * Event types that affect AgentRuntimeSnapshot. Keep in sync with\n * `packages/contracts/src/event-reducers.ts` — every case that writes\n * `agentRuntimeById` must appear here.\n */\nconst RUNTIME_EVENT_TYPES: ReadonlySet<string> = new Set([\n 'agent.activity_changed',\n 'agent.thinking_started',\n 'agent.thinking_stopped',\n 'agent.waiting_started',\n 'agent.waiting_cleared',\n 'agent.message_received',\n 'agent.model_set',\n 'agent.current_issue_set',\n 'agent.resolution_changed',\n 'agent.context_saturation_changed',\n 'agent.state_restored',\n // Lifecycle event: pan kill bypasses the Stop hook, so the reducer folds\n // agent.stopped into the runtime snapshot to prevent \"idle forever\" ghosts.\n 'agent.stopped',\n]);\n\nfunction isRuntimeEvent(e: { type: string }): boolean {\n return RUNTIME_EVENT_TYPES.has(e.type);\n}\n\n// ─── Service interface ────────────────────────────────────────────────────────\n\nexport interface AgentStateServiceShape {\n /** Latest snapshot for a single agent, or undefined if unknown. */\n readonly get: (id: string) => Effect.Effect<AgentRuntimeSnapshot | undefined>;\n /** Full map of agent → snapshot. */\n readonly getAll: Effect.Effect<Record<string, AgentRuntimeSnapshot>>;\n /** Stream of every new snapshot map. Emits whenever any agent updates. */\n readonly changes: Stream.Stream<Record<string, AgentRuntimeSnapshot>>;\n /**\n * Emit a runtime event. Routes through EventStore.appendAsync — the event\n * becomes durable before the returned Effect completes. Never blocks the\n * event loop; hooks that POST through this path stay non-blocking.\n */\n readonly emit: (\n event: Omit<DomainEvent, 'sequence'>,\n ) => Effect.Effect<void>;\n}\n\nexport class AgentStateService extends Context.Service<\n AgentStateService,\n AgentStateServiceShape\n>()('overdeck/dashboard/AgentStateService') {}\n\n// ─── Live implementation ──────────────────────────────────────────────────────\n\n// Re-export the cross-process-safe mirror accessor.\nexport const getRuntimeSnapshot = getMirrorSnapshot;\n\nexport const AgentStateServiceLive = Layer.effect(\n AgentStateService,\n Effect.gen(function* () {\n // Flag lib-side adapters to prefer the in-process mirror over HTTP.\n // Without this, agent-enrichment / ReadModel bootstrap would fetch() our\n // own HTTP server before it finished listening — a circular deadlock.\n yield* markAgentStateServiceInProcess();\n const store = yield* Effect.promise(() => initEventStore());\n const ref = yield* SubscriptionRef.make<Record<string, AgentRuntimeSnapshot>>({});\n\n // ── Bootstrap from sources (PAN-1920) ───────────────────────────────────\n // Reconstruct runtime snapshots from state.json + tmux in a background fork\n // so the dashboard port binds fast. The merge keeps any live events that\n // arrived during the fork (they have a higher sequence than reconstruction).\n const seedFromSources = Effect.gen(function* () {\n const { reconstructCacheAuto } = yield* Effect.promise(() =>\n import('../../../lib/reconstruct/reconstruct-cache.js'),\n );\n const result = yield* Effect.promise(() => reconstructCacheAuto());\n const seeded = result.agentRuntimeById;\n if (Object.keys(seeded).length > 0) {\n yield* SubscriptionRef.update(ref, (current) =>\n mergeRuntimeBySequence(current, seeded),\n );\n yield* setAgentRuntimeMirror(yield* SubscriptionRef.get(ref));\n console.log(\n `[AgentStateService] Bootstrapped ${Object.keys(seeded).length} runtime snapshot(s) from sources`,\n );\n }\n });\n yield* Effect.forkDetach(seedFromSources);\n\n // ── Subscribe forward ────────────────────────────────────────────────────\n // No unsubscribe — the service lives for the whole dashboard process.\n store.subscribe((ev) => {\n if (!isRuntimeEvent(ev)) return;\n // PAN-1989: durably mirror a newly-learned Claude session id to the\n // agent's sessions.json. This is the single convergence point — every\n // model_set, hook-emitted or server-emitted, flows through here — so the\n // resume pointer is persisted to disk the instant it is known, instead of\n // living only in the in-memory snapshot that a restart/reboot discards.\n if (ev.type === 'agent.model_set') {\n const payload = (ev as { payload?: { agentId?: string; claudeSessionId?: string } }).payload;\n if (payload?.agentId && payload.claudeSessionId) {\n appendSessionIdToHistory(payload.agentId, payload.claudeSessionId);\n }\n }\n Effect.runFork(applyEventToRef(ref, ev));\n });\n\n return {\n get: (id) =>\n SubscriptionRef.get(ref).pipe(Effect.map((m) => m[id])),\n getAll: SubscriptionRef.get(ref),\n changes: SubscriptionRef.changes(ref),\n emit: (event) =>\n Effect.promise(() =>\n store.appendAsync(event as Omit<DomainEvent, 'sequence'>),\n ).pipe(Effect.asVoid),\n };\n }),\n);\n\n// ─── Internals ────────────────────────────────────────────────────────────────\n\nfunction mergeRuntimeBySequence(\n current: Record<string, AgentRuntimeSnapshot>,\n reconstructed: Record<string, AgentRuntimeSnapshot>,\n): Record<string, AgentRuntimeSnapshot> {\n const merged: Record<string, AgentRuntimeSnapshot> = { ...reconstructed };\n for (const [id, snap] of Object.entries(current)) {\n const recon = reconstructed[id];\n if (!recon) {\n merged[id] = snap;\n continue;\n }\n const currentSeq = snap.updatedAtSequence ?? -1;\n const reconSeq = recon.updatedAtSequence ?? 0;\n if (currentSeq >= reconSeq) {\n merged[id] = snap;\n }\n }\n return merged;\n}\n\nfunction applyEventToRef(\n ref: SubscriptionRef.SubscriptionRef<Record<string, AgentRuntimeSnapshot>>,\n ev: StoredEvent,\n): Effect.Effect<void> {\n return SubscriptionRef.update(ref, (current) => {\n const fakeState = {\n ...INITIAL_READ_MODEL_STATE,\n agentRuntimeById: current,\n };\n const nextState = applyReducerEvent(fakeState, ev as unknown as DomainEvent);\n const next = nextState.agentRuntimeById;\n\n Effect.runSync(setAgentRuntimeMirror(next));\n return next;\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,SAAA,yBAAA,SAAA,WAAA;AACE,KAAA,CAAA,aAAA,CAAA,UAAA,MAAA,CAAA;AACA,KAAA;;AAEE,YAAA,KAAA,EAAA,WAAA,MAAA,CAAA;;;AAGA,MAAA,WAAA,KAAA,EAAA;;AAEE,OAAA,MAAA,QAAA,OAAA,CAAA,QAAA,OAAA,QAAA,MAAA,OAAA,MAAA,SAAA;;AAEF,MAAA,KAAA,SAAA,UAAA,CAAA;AACA,OAAA,KAAA,UAAA;AACA,gBAAA,MAAA,KAAA,UAAA,KAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACKJ,MAAM,sBAA2C,IAAI,IAAI;CACvD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAGA;CACD,CAAC;AAEF,SAAS,eAAe,GAA8B;AACpD,QAAO,oBAAoB,IAAI,EAAE,KAAK;;AAsBxC,IAAa,oBAAb,cAAuC,QAAQ,SAG5C,CAAC,uCAAuC,CAAC;AAK5C,MAAa,qBAAqBA;AAElC,MAAa,wBAAwB,MAAM,OACzC,mBACA,OAAO,IAAI,aAAa;AAItB,QAAO,gCAAgC;CACvC,MAAM,QAAQ,OAAO,OAAO,cAAc,gBAAgB,CAAC;CAC3D,MAAM,MAAM,OAAO,gBAAgB,KAA2C,EAAE,CAAC;CAMjF,MAAM,kBAAkB,OAAO,IAAI,aAAa;EAC9C,MAAM,EAAE,yBAAyB,OAAO,OAAO,cAC7C,OAAO,mCACR;EAED,MAAM,UAAS,OADO,OAAO,cAAc,sBAAsB,CAAC,EAC5C;AACtB,MAAI,OAAO,KAAK,OAAO,CAAC,SAAS,GAAG;AAClC,UAAO,gBAAgB,OAAO,MAAM,YAClC,uBAAuB,SAAS,OAAO,CACxC;AACD,UAAO,sBAAsB,OAAO,gBAAgB,IAAI,IAAI,CAAC;AAC7D,WAAQ,IACN,oCAAoC,OAAO,KAAK,OAAO,CAAC,OAAO,mCAChE;;GAEH;AACF,QAAO,OAAO,WAAW,gBAAgB;AAIzC,OAAM,WAAW,OAAO;AACtB,MAAI,CAAC,eAAe,GAAG,CAAE;AAMzB,MAAI,GAAG,SAAS,mBAAmB;GACjC,MAAM,UAAW,GAAoE;AACrF,OAAI,SAAS,WAAW,QAAQ,gBAC9B,0BAAyB,QAAQ,SAAS,QAAQ,gBAAgB;;AAGtE,SAAO,QAAQ,gBAAgB,KAAK,GAAG,CAAC;GACxC;AAEF,QAAO;EACL,MAAM,OACJ,gBAAgB,IAAI,IAAI,CAAC,KAAK,OAAO,KAAK,MAAM,EAAE,IAAI,CAAC;EACzD,QAAQ,gBAAgB,IAAI,IAAI;EAChC,SAAS,gBAAgB,QAAQ,IAAI;EACrC,OAAO,UACL,OAAO,cACL,MAAM,YAAY,MAAuC,CAC1D,CAAC,KAAK,OAAO,OAAO;EACxB;EACD,CACH;AAID,SAAS,uBACP,SACA,eACsC;CACtC,MAAM,SAA+C,EAAE,GAAG,eAAe;AACzE,MAAK,MAAM,CAAC,IAAI,SAAS,OAAO,QAAQ,QAAQ,EAAE;EAChD,MAAM,QAAQ,cAAc;AAC5B,MAAI,CAAC,OAAO;AACV,UAAO,MAAM;AACb;;AAIF,OAFmB,KAAK,qBAAqB,QAC5B,MAAM,qBAAqB,GAE1C,QAAO,MAAM;;AAGjB,QAAO;;AAGT,SAAS,gBACP,KACA,IACqB;AACrB,QAAO,gBAAgB,OAAO,MAAM,YAAY;EAM9C,MAAM,OADYC,WAAkB;GAHlC,GAAG;GACH,kBAAkB;GAEyB,EAAE,GACzB,CAAC;AAEvB,SAAO,QAAQ,sBAAsB,KAAK,CAAC;AAC3C,SAAO;GACP"}
1
+ {"version":3,"file":"agent-state-service-tXUdp6UF.js","names":["getMirrorSnapshot","applyReducerEvent"],"sources":["../../src/lib/session-history.ts","../../src/dashboard/server/services/agent-state-service.ts"],"sourcesContent":["import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';\nimport { join } from 'path';\nimport { getOverdeckHome } from './paths.js';\n\n/**\n * PAN-1989: durably record a Claude session id in the agent's append-only\n * sessions.json the moment the system learns it.\n *\n * Background: a work agent's resumable session id was only durable if the\n * PostToolUse heartbeat hook had written sessions.json (first tool call) or\n * auto-suspend had written session.id. A session that boots but is stopped\n * before its first tool — kickoff never delivered, or a reboot mid-run — left\n * the id only in the EPHEMERAL in-memory runtime snapshot, which a dashboard\n * restart or reboot rebuilds from sources (state.json + tmux) that don't carry\n * the session id. The agent then resolves to \"No saved session ID found\" and\n * goes troubled even though its JSONL transcript is intact on disk.\n *\n * Calling this from the AgentStateService event sink (the single convergence\n * point for every model_set event, hook-emitted or server-emitted) makes the\n * pointer durable from the moment it is learned. The append-only list may\n * accumulate aborted/empty ids; the resolver picks the freshest id with a real\n * transcript, so empties never shadow the truth. De-dupes; never throws.\n *\n * Lives in its own module (not agents.ts) so the dashboard event sink can import\n * it without pulling the whole agents.ts graph — avoids an ESM import cycle.\n */\nexport function appendSessionIdToHistory(agentId: string, sessionId: string): void {\n if (!sessionId || !sessionId.trim()) return;\n try {\n const dir = join(getOverdeckHome(), 'agents', agentId);\n mkdirSync(dir, { recursive: true });\n const file = join(dir, 'sessions.json');\n let list: string[] = [];\n if (existsSync(file)) {\n const parsed: unknown = JSON.parse(readFileSync(file, 'utf8'));\n if (Array.isArray(parsed)) list = parsed.filter((v): v is string => typeof v === 'string');\n }\n if (list.includes(sessionId)) return;\n list.push(sessionId);\n writeFileSync(file, JSON.stringify(list));\n } catch {\n /* non-fatal — bookkeeping only */\n }\n}\n","/**\n * AgentStateService — canonical in-memory runtime state for all agents (PAN-800)\n *\n * Source of truth: SubscriptionRef<Record<AgentId, AgentRuntimeSnapshot>> derived\n * from folding agent.* runtime events out of the append-only event store.\n *\n * writers canonical state readers\n * ------- --------------- -------\n * hooks → POST /api/agents/:id/heartbeat\n * specialists → emit() EventStore.appendAsync .get(id) / .changes\n * ↓ subscribe → route handlers\n * SubscriptionRef deacon, UI\n *\n * Invariants:\n * - The Record inside the ref is only ever mutated via the shared reducer\n * (packages/contracts/src/event-reducers.ts). Never set directly.\n * - `emit()` MUST route through `appendAsync`, never `emitOnly`. emitOnly\n * assigns sequence=-1 which would regress `updatedAtSequence` and break the\n * Math.max(state.sequence, event.sequence) invariant in the shared reducer.\n * - `readFileSync` is forbidden — bootstrap uses `fs.promises.readFile` for\n * the one-time runtime.json migration fallback.\n */\n\nimport { Effect, Layer, Context, Stream, SubscriptionRef } from 'effect';\nimport {\n applyEvent as applyReducerEvent,\n INITIAL_READ_MODEL_STATE,\n} from '@overdeck/contracts';\nimport type {\n AgentRuntimeSnapshot,\n DomainEvent,\n} from '@overdeck/contracts';\nimport { initEventStore } from '../event-store.js';\nimport type { StoredEvent } from '../event-store.js';\nimport { setAgentRuntimeMirror, getRuntimeSnapshot as getMirrorSnapshot, markAgentStateServiceInProcess } from '../../../lib/agent-runtime-mirror.js';\nimport { appendSessionIdToHistory } from '../../../lib/session-history.js';\n\n// ─── Event filtering ──────────────────────────────────────────────────────────\n\n/**\n * Event types that affect AgentRuntimeSnapshot. Keep in sync with\n * `packages/contracts/src/event-reducers.ts` — every case that writes\n * `agentRuntimeById` must appear here.\n */\nconst RUNTIME_EVENT_TYPES: ReadonlySet<string> = new Set([\n 'agent.activity_changed',\n 'agent.thinking_started',\n 'agent.thinking_stopped',\n 'agent.waiting_started',\n 'agent.waiting_cleared',\n 'agent.message_received',\n 'agent.model_set',\n 'agent.current_issue_set',\n 'agent.resolution_changed',\n 'agent.context_saturation_changed',\n 'agent.state_restored',\n // Lifecycle event: pan kill bypasses the Stop hook, so the reducer folds\n // agent.stopped into the runtime snapshot to prevent \"idle forever\" ghosts.\n 'agent.stopped',\n]);\n\nfunction isRuntimeEvent(e: { type: string }): boolean {\n return RUNTIME_EVENT_TYPES.has(e.type);\n}\n\n// ─── Service interface ────────────────────────────────────────────────────────\n\nexport interface AgentStateServiceShape {\n /** Latest snapshot for a single agent, or undefined if unknown. */\n readonly get: (id: string) => Effect.Effect<AgentRuntimeSnapshot | undefined>;\n /** Full map of agent → snapshot. */\n readonly getAll: Effect.Effect<Record<string, AgentRuntimeSnapshot>>;\n /** Stream of every new snapshot map. Emits whenever any agent updates. */\n readonly changes: Stream.Stream<Record<string, AgentRuntimeSnapshot>>;\n /**\n * Emit a runtime event. Routes through EventStore.appendAsync — the event\n * becomes durable before the returned Effect completes. Never blocks the\n * event loop; hooks that POST through this path stay non-blocking.\n */\n readonly emit: (\n event: Omit<DomainEvent, 'sequence'>,\n ) => Effect.Effect<void>;\n}\n\nexport class AgentStateService extends Context.Service<\n AgentStateService,\n AgentStateServiceShape\n>()('overdeck/dashboard/AgentStateService') {}\n\n// ─── Live implementation ──────────────────────────────────────────────────────\n\n// Re-export the cross-process-safe mirror accessor.\nexport const getRuntimeSnapshot = getMirrorSnapshot;\n\nexport const AgentStateServiceLive = Layer.effect(\n AgentStateService,\n Effect.gen(function* () {\n // Flag lib-side adapters to prefer the in-process mirror over HTTP.\n // Without this, agent-enrichment / ReadModel bootstrap would fetch() our\n // own HTTP server before it finished listening — a circular deadlock.\n yield* markAgentStateServiceInProcess();\n const store = yield* Effect.promise(() => initEventStore());\n const ref = yield* SubscriptionRef.make<Record<string, AgentRuntimeSnapshot>>({});\n\n // ── Bootstrap from sources (PAN-1920) ───────────────────────────────────\n // Reconstruct runtime snapshots from state.json + tmux in a background fork\n // so the dashboard port binds fast. The merge keeps any live events that\n // arrived during the fork (they have a higher sequence than reconstruction).\n const seedFromSources = Effect.gen(function* () {\n const { reconstructCacheAuto } = yield* Effect.promise(() =>\n import('../../../lib/reconstruct/reconstruct-cache.js'),\n );\n const result = yield* Effect.promise(() => reconstructCacheAuto());\n const seeded = result.agentRuntimeById;\n if (Object.keys(seeded).length > 0) {\n yield* SubscriptionRef.update(ref, (current) =>\n mergeRuntimeBySequence(current, seeded),\n );\n yield* setAgentRuntimeMirror(yield* SubscriptionRef.get(ref));\n console.log(\n `[AgentStateService] Bootstrapped ${Object.keys(seeded).length} runtime snapshot(s) from sources`,\n );\n }\n });\n yield* Effect.forkDetach(seedFromSources);\n\n // ── Subscribe forward ────────────────────────────────────────────────────\n // No unsubscribe — the service lives for the whole dashboard process.\n store.subscribe((ev) => {\n if (!isRuntimeEvent(ev)) return;\n // PAN-1989: durably mirror a newly-learned Claude session id to the\n // agent's sessions.json. This is the single convergence point — every\n // model_set, hook-emitted or server-emitted, flows through here — so the\n // resume pointer is persisted to disk the instant it is known, instead of\n // living only in the in-memory snapshot that a restart/reboot discards.\n if (ev.type === 'agent.model_set') {\n const payload = (ev as { payload?: { agentId?: string; claudeSessionId?: string } }).payload;\n if (payload?.agentId && payload.claudeSessionId) {\n appendSessionIdToHistory(payload.agentId, payload.claudeSessionId);\n }\n }\n Effect.runFork(applyEventToRef(ref, ev));\n });\n\n return {\n get: (id) =>\n SubscriptionRef.get(ref).pipe(Effect.map((m) => m[id])),\n getAll: SubscriptionRef.get(ref),\n changes: SubscriptionRef.changes(ref),\n emit: (event) =>\n Effect.promise(() =>\n store.appendAsync(event as Omit<DomainEvent, 'sequence'>),\n ).pipe(Effect.asVoid),\n };\n }),\n);\n\n// ─── Internals ────────────────────────────────────────────────────────────────\n\nfunction mergeRuntimeBySequence(\n current: Record<string, AgentRuntimeSnapshot>,\n reconstructed: Record<string, AgentRuntimeSnapshot>,\n): Record<string, AgentRuntimeSnapshot> {\n const merged: Record<string, AgentRuntimeSnapshot> = { ...reconstructed };\n for (const [id, snap] of Object.entries(current)) {\n const recon = reconstructed[id];\n if (!recon) {\n merged[id] = snap;\n continue;\n }\n const currentSeq = snap.updatedAtSequence ?? -1;\n const reconSeq = recon.updatedAtSequence ?? 0;\n if (currentSeq >= reconSeq) {\n merged[id] = snap;\n }\n }\n return merged;\n}\n\nfunction applyEventToRef(\n ref: SubscriptionRef.SubscriptionRef<Record<string, AgentRuntimeSnapshot>>,\n ev: StoredEvent,\n): Effect.Effect<void> {\n return SubscriptionRef.update(ref, (current) => {\n const fakeState = {\n ...INITIAL_READ_MODEL_STATE,\n agentRuntimeById: current,\n };\n const nextState = applyReducerEvent(fakeState, ev as unknown as DomainEvent);\n const next = nextState.agentRuntimeById;\n\n Effect.runSync(setAgentRuntimeMirror(next));\n return next;\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,SAAA,yBAAA,SAAA,WAAA;AACE,KAAA,CAAA,aAAA,CAAA,UAAA,MAAA,CAAA;AACA,KAAA;;AAEE,YAAA,KAAA,EAAA,WAAA,MAAA,CAAA;;;AAGA,MAAA,WAAA,KAAA,EAAA;;AAEE,OAAA,MAAA,QAAA,OAAA,CAAA,QAAA,OAAA,QAAA,MAAA,OAAA,MAAA,SAAA;;AAEF,MAAA,KAAA,SAAA,UAAA,CAAA;AACA,OAAA,KAAA,UAAA;AACA,gBAAA,MAAA,KAAA,UAAA,KAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACKJ,MAAM,sBAA2C,IAAI,IAAI;CACvD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAGA;CACD,CAAC;AAEF,SAAS,eAAe,GAA8B;AACpD,QAAO,oBAAoB,IAAI,EAAE,KAAK;;AAsBxC,IAAa,oBAAb,cAAuC,QAAQ,SAG5C,CAAC,uCAAuC,CAAC;AAK5C,MAAa,qBAAqBA;AAElC,MAAa,wBAAwB,MAAM,OACzC,mBACA,OAAO,IAAI,aAAa;AAItB,QAAO,gCAAgC;CACvC,MAAM,QAAQ,OAAO,OAAO,cAAc,gBAAgB,CAAC;CAC3D,MAAM,MAAM,OAAO,gBAAgB,KAA2C,EAAE,CAAC;CAMjF,MAAM,kBAAkB,OAAO,IAAI,aAAa;EAC9C,MAAM,EAAE,yBAAyB,OAAO,OAAO,cAC7C,OAAO,mCACR;EAED,MAAM,UAAS,OADO,OAAO,cAAc,sBAAsB,CAAC,EAC5C;AACtB,MAAI,OAAO,KAAK,OAAO,CAAC,SAAS,GAAG;AAClC,UAAO,gBAAgB,OAAO,MAAM,YAClC,uBAAuB,SAAS,OAAO,CACxC;AACD,UAAO,sBAAsB,OAAO,gBAAgB,IAAI,IAAI,CAAC;AAC7D,WAAQ,IACN,oCAAoC,OAAO,KAAK,OAAO,CAAC,OAAO,mCAChE;;GAEH;AACF,QAAO,OAAO,WAAW,gBAAgB;AAIzC,OAAM,WAAW,OAAO;AACtB,MAAI,CAAC,eAAe,GAAG,CAAE;AAMzB,MAAI,GAAG,SAAS,mBAAmB;GACjC,MAAM,UAAW,GAAoE;AACrF,OAAI,SAAS,WAAW,QAAQ,gBAC9B,0BAAyB,QAAQ,SAAS,QAAQ,gBAAgB;;AAGtE,SAAO,QAAQ,gBAAgB,KAAK,GAAG,CAAC;GACxC;AAEF,QAAO;EACL,MAAM,OACJ,gBAAgB,IAAI,IAAI,CAAC,KAAK,OAAO,KAAK,MAAM,EAAE,IAAI,CAAC;EACzD,QAAQ,gBAAgB,IAAI,IAAI;EAChC,SAAS,gBAAgB,QAAQ,IAAI;EACrC,OAAO,UACL,OAAO,cACL,MAAM,YAAY,MAAuC,CAC1D,CAAC,KAAK,OAAO,OAAO;EACxB;EACD,CACH;AAID,SAAS,uBACP,SACA,eACsC;CACtC,MAAM,SAA+C,EAAE,GAAG,eAAe;AACzE,MAAK,MAAM,CAAC,IAAI,SAAS,OAAO,QAAQ,QAAQ,EAAE;EAChD,MAAM,QAAQ,cAAc;AAC5B,MAAI,CAAC,OAAO;AACV,UAAO,MAAM;AACb;;AAIF,OAFmB,KAAK,qBAAqB,QAC5B,MAAM,qBAAqB,GAE1C,QAAO,MAAM;;AAGjB,QAAO;;AAGT,SAAS,gBACP,KACA,IACqB;AACrB,QAAO,gBAAgB,OAAO,MAAM,YAAY;EAM9C,MAAM,OADYC,WAAkB;GAHlC,GAAG;GACH,kBAAkB;GAEyB,EAAE,GACzB,CAAC;AAEvB,SAAO,QAAQ,sBAAsB,KAAK,CAAC;AAC3C,SAAO;GACP"}
@@ -1,3 +1,3 @@
1
- import { $ as warnOnBareNumericIssueIds, $n as writeAgentStateJsonSync, $t as waitForPromptReady, An as getAgentDir, Bn as markAgentRunningState, C as restartAgent, Cn as __testInternals, Ct as deliverAgentPermissionDecision, Dn as clearAgentTroubledSync, E as resumeAgent, En as clearAgentTroubled, Et as setAgentDeliveryMethod, F as getActivity, Gt as getAgentRuntimeBaseCommand, Hn as markAgentTroubled, I as getLatestSessionId, In as isAgentPaused, It as retrieveSpawnTimeMemoryContext, J as dropLegacyAgentStatesMissingRoleAsync, Jn as saveAgentStateSync, Jt as getProviderAuthMode, K as stopAgent, Kn as resetAgentFailureCount, L as getLatestSessionIdSync, Ln as isAgentTroubled, Lt as transitionIssueToInProgress, Mn as getAgentState, Mt as assertWorkspaceStackHealthyForSpawn, Nn as getAgentStateFilePath, Nt as buildAgentLaunchConfig, On as clearYieldForResumeSync, P as appendActivity, Pn as getAgentStateSync, Q as listRunningAgentsSync, Qn as wipeAgentStateDirs, Qt as roleAgentDefinitionPath, R as getSessionId, Rn as isRole, Rt as transitionIssueToInReview, S as recoverAgent, Sn as SESSION_EXITED_BEFORE_KICKOFF, St as deliverAgentMessage, Tn as clearAgentPausedSync, Tt as deliverResumeMessageWithTranscriptConfirmation, U as spawnAgent, Un as recordAgentFailure, Ut as OHMYPI_AGENT_READY_TIMEOUT_SECONDS, Vn as markAgentStoppedState, W as spawnRun, Wn as recordAgentFailureSync, Wt as describeOhmypiSpawnFailure, X as listAgentStates, Xn as setAgentPausedSync, Yn as setAgentPaused, Yt as getRoleRuntimeBaseCommand, Z as listRunningAgents, Zn as setAgentYieldedSync, Zt as injectPiConversationMemory, _n as decideChannelsForWorkAgent, a as replayStandingAgent, b as autoRecoverAgents, bn as writeChannelsBridgeMcpConfig, cn as determineModel, cr as isQualifiedAgentId, dn as getProviderTmuxFlags, dr as waitForAgentIdle, fr as waitForReadySignal, gn as buildDefaultResumeContinueMessage, gr as saveAgentRuntimeState, i as replayCrashedStandingAgent, j as messageAgent, ln as getProviderEnvForModel, lr as normalizeAgentId, mr as getAgentRuntimeStateSync, n as compactAtTierRunBoundary, o as shouldReplayCompactAtTierRunBoundary, on as buildCavemanExports, pr as getAgentRuntimeState, q as stopAgentSync, qn as saveAgentState, r as contextWindowForModel, sn as buildSpawnEnvForModel, sr as clearReadySignal, t as init_agents, un as getProviderExportsForModel, ur as resolveAgentTargetSync, vn as decideSupervisorForWorkAgent, w as buildCompactRecoverySeed, wn as clearAgentPaused, wt as deliverInitialPromptWithRetry, x as detectCrashedAgents, xn as GOVERNOR_SLOT_PAUSE_REASON_PREFIX, yn as dismissDevChannelsDialog, z as saveSessionId } from "./agents-DHvsjsuP.js";
1
+ import { $ as warnOnBareNumericIssueIds, $n as writeAgentStateJsonSync, $t as waitForPromptReady, An as getAgentDir, Bn as markAgentRunningState, C as restartAgent, Cn as __testInternals, Ct as deliverAgentPermissionDecision, Dn as clearAgentTroubledSync, E as resumeAgent, En as clearAgentTroubled, Et as setAgentDeliveryMethod, F as getActivity, Gt as getAgentRuntimeBaseCommand, Hn as markAgentTroubled, I as getLatestSessionId, In as isAgentPaused, It as retrieveSpawnTimeMemoryContext, J as dropLegacyAgentStatesMissingRoleAsync, Jn as saveAgentStateSync, Jt as getProviderAuthMode, K as stopAgent, Kn as resetAgentFailureCount, L as getLatestSessionIdSync, Ln as isAgentTroubled, Lt as transitionIssueToInProgress, Mn as getAgentState, Mt as assertWorkspaceStackHealthyForSpawn, Nn as getAgentStateFilePath, Nt as buildAgentLaunchConfig, On as clearYieldForResumeSync, P as appendActivity, Pn as getAgentStateSync, Q as listRunningAgentsSync, Qn as wipeAgentStateDirs, Qt as roleAgentDefinitionPath, R as getSessionId, Rn as isRole, Rt as transitionIssueToInReview, S as recoverAgent, Sn as SESSION_EXITED_BEFORE_KICKOFF, St as deliverAgentMessage, Tn as clearAgentPausedSync, Tt as deliverResumeMessageWithTranscriptConfirmation, U as spawnAgent, Un as recordAgentFailure, Ut as OHMYPI_AGENT_READY_TIMEOUT_SECONDS, Vn as markAgentStoppedState, W as spawnRun, Wn as recordAgentFailureSync, Wt as describeOhmypiSpawnFailure, X as listAgentStates, Xn as setAgentPausedSync, Yn as setAgentPaused, Yt as getRoleRuntimeBaseCommand, Z as listRunningAgents, Zn as setAgentYieldedSync, Zt as injectPiConversationMemory, _n as decideChannelsForWorkAgent, a as replayStandingAgent, b as autoRecoverAgents, bn as writeChannelsBridgeMcpConfig, cn as determineModel, cr as isQualifiedAgentId, dn as getProviderTmuxFlags, dr as waitForAgentIdle, fr as waitForReadySignal, gn as buildDefaultResumeContinueMessage, gr as saveAgentRuntimeState, i as replayCrashedStandingAgent, j as messageAgent, ln as getProviderEnvForModel, lr as normalizeAgentId, mr as getAgentRuntimeStateSync, n as compactAtTierRunBoundary, o as shouldReplayCompactAtTierRunBoundary, on as buildCavemanExports, pr as getAgentRuntimeState, q as stopAgentSync, qn as saveAgentState, r as contextWindowForModel, sn as buildSpawnEnvForModel, sr as clearReadySignal, t as init_agents, un as getProviderExportsForModel, ur as resolveAgentTargetSync, vn as decideSupervisorForWorkAgent, w as buildCompactRecoverySeed, wn as clearAgentPaused, wt as deliverInitialPromptWithRetry, x as detectCrashedAgents, xn as GOVERNOR_SLOT_PAUSE_REASON_PREFIX, yn as dismissDevChannelsDialog, z as saveSessionId } from "./agents-C7V4odQ6.js";
2
2
  init_agents();
3
3
  export { GOVERNOR_SLOT_PAUSE_REASON_PREFIX, OHMYPI_AGENT_READY_TIMEOUT_SECONDS, SESSION_EXITED_BEFORE_KICKOFF, __testInternals, appendActivity, assertWorkspaceStackHealthyForSpawn, autoRecoverAgents, buildAgentLaunchConfig, buildCavemanExports, buildCompactRecoverySeed, buildDefaultResumeContinueMessage, buildSpawnEnvForModel, clearAgentPaused, clearAgentPausedSync, clearAgentTroubled, clearAgentTroubledSync, clearReadySignal, clearYieldForResumeSync, compactAtTierRunBoundary, contextWindowForModel, decideChannelsForWorkAgent, decideSupervisorForWorkAgent, deliverAgentMessage, deliverAgentPermissionDecision, deliverInitialPromptWithRetry, deliverResumeMessageWithTranscriptConfirmation, describeOhmypiSpawnFailure, detectCrashedAgents, determineModel, dismissDevChannelsDialog, dropLegacyAgentStatesMissingRoleAsync, getActivity, getAgentDir, getAgentRuntimeBaseCommand, getAgentRuntimeState, getAgentRuntimeStateSync, getAgentState, getAgentStateFilePath, getAgentStateSync, getLatestSessionId, getLatestSessionIdSync, getProviderAuthMode, getProviderEnvForModel, getProviderExportsForModel, getProviderTmuxFlags, getRoleRuntimeBaseCommand, getSessionId, injectPiConversationMemory, isAgentPaused, isAgentTroubled, isQualifiedAgentId, isRole, listAgentStates, listRunningAgents, listRunningAgentsSync, markAgentRunningState, markAgentStoppedState, markAgentTroubled, messageAgent, normalizeAgentId, recordAgentFailure, recordAgentFailureSync, recoverAgent, replayCrashedStandingAgent, replayStandingAgent, resetAgentFailureCount, resolveAgentTargetSync, restartAgent, resumeAgent, retrieveSpawnTimeMemoryContext, roleAgentDefinitionPath, saveAgentRuntimeState, saveAgentState, saveAgentStateSync, saveSessionId, setAgentDeliveryMethod, setAgentPaused, setAgentPausedSync, setAgentYieldedSync, shouldReplayCompactAtTierRunBoundary, spawnAgent, spawnRun, stopAgent, stopAgentSync, transitionIssueToInProgress, transitionIssueToInReview, waitForAgentIdle, waitForPromptReady, waitForReadySignal, warnOnBareNumericIssueIds, wipeAgentStateDirs, writeAgentStateJsonSync, writeChannelsBridgeMcpConfig };
@@ -6,7 +6,7 @@ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-CpKlYZA9.
6
6
  import { A as listSessionsSync, C as isPaneDead, E as listPaneValues, I as sendRawKeystroke, L as sessionExists, N as sendEscapeKeyAsync, P as sendKeys, R as sessionExistsSync, T as killSessionSync, W as BLANKED_PROVIDER_ENV, a as capturePaneSync, d as exactPaneTarget, i as capturePane, k as listSessions, o as createSession, q as init_child_env, s as createSessionSync, w as killSession, x as init_tmux, z as setOption } from "./tmux-ePNhMIMU.js";
7
7
  import { a as init_event_store, i as initEventStore } from "./event-store-DTJXZjCl.js";
8
8
  import { a as getHarnessBehavior, i as OHMYPI_BEHAVIOR } from "./src-fgbU-jJ-.js";
9
- import { A as listOverdeckAgentStatesSync, E as readReviewStatusMap, O as getOverdeckAgentStateSync, T as init_review_status_source, c as init_review_status, j as saveOverdeckAgentStateSync, k as init_agent_state_sync, m as resetPipelineVerdictsForWorkStartSync } from "./review-status-BQjqQXZG.js";
9
+ import { A as listOverdeckAgentStatesSync, E as readReviewStatusMap, O as getOverdeckAgentStateSync, T as init_review_status_source, c as init_review_status, j as saveOverdeckAgentStateSync, k as init_agent_state_sync, m as resetPipelineVerdictsForWorkStartSync } from "./review-status-B5ZASOo4.js";
10
10
  import { d as init_agents$1, l as countAgentsByStatus, n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-CXhZdnB8.js";
11
11
  import { o as getPricingSync, s as init_cost } from "./cost-C2CuA66z.js";
12
12
  import { t as init_behavior } from "./behavior-By-2Wipv.js";
@@ -30,7 +30,7 @@ import { a as createActiveSlice, c as groupItemsByWave, s as getDispatchableItem
30
30
  import { n as init_bd_process_lock, t as BdTransientFailure } from "./bd-process-lock-CJkoG7hW.js";
31
31
  import { n as assertIssueHasBeads, r as init_beads_query, t as BeadsMissingError } from "./beads-query-BrVNWoSL.js";
32
32
  import { c as generateFixedPointPromptSync, f as initHookSync, n as checkHookSync, p as init_hooks } from "./hooks-CmHFSj_Z.js";
33
- import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-DKeSVsJL.js";
33
+ import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-B3f9G1Kp.js";
34
34
  import { r as isRoleTerminal, t as init_reap_terminal_sessions } from "./reap-terminal-sessions-CAmURC2h.js";
35
35
  import { a as init_lifecycle_io, t as appendContinueSessionEntryForIssue } from "./lifecycle-io-DSrv9xGh.js";
36
36
  import { r as init_swarm_readiness, t as analyzeSwarmReadiness } from "./swarm-readiness-OBgamRql.js";
@@ -4791,7 +4791,7 @@ async function spawnRun(issueId, role, options = {}) {
4791
4791
  const { isPaneDead } = await import("./tmux-CeDD14p1.js");
4792
4792
  if (await Effect.runPromise(isPaneDead(agentId))) reapWarmIdle = true;
4793
4793
  else if (advancing) {
4794
- const { getReviewStatusSync } = await import("./review-status-bBkqUj5i.js");
4794
+ const { getReviewStatusSync } = await import("./review-status-h7BXIA4z.js");
4795
4795
  const { isRoleTerminal } = await import("./reap-terminal-sessions-BwJb2DLJ.js");
4796
4796
  const status = getReviewStatusSync(issueId);
4797
4797
  reapWarmIdle = !!status && isRoleTerminal(role, status);
@@ -5033,7 +5033,7 @@ async function spawnAgent(options) {
5033
5033
  if (role === "work") {
5034
5034
  try {
5035
5035
  if (resetPipelineVerdictsForWorkStartSync(options.issueId)) {
5036
- const { resetPostMergeState } = await import("./merge-agent-Dh8Y9PDO.js");
5036
+ const { resetPostMergeState } = await import("./merge-agent-7nBiCytp.js");
5037
5037
  resetPostMergeState(options.issueId);
5038
5038
  }
5039
5039
  } catch (err) {
@@ -5983,7 +5983,7 @@ async function messageAgent(agentId, message, caller = "internal") {
5983
5983
  return;
5984
5984
  }
5985
5985
  console.log(`[agents] Auto-resuming suspended agent ${normalizedId} to deliver message`);
5986
- const { resumeAgent } = await import("./agents-BIggLvi_.js");
5986
+ const { resumeAgent } = await import("./agents-C-vqmKDi.js");
5987
5987
  const result = await resumeAgent(normalizedId, message);
5988
5988
  if (!result.success) throw new Error(`Failed to auto-resume agent: ${result.error}`);
5989
5989
  if (result.messageDelivered === false) throw new Error(`Agent resumed but ready signal did not fire — message not delivered. Feedback is in the mail queue.`);
@@ -5999,7 +5999,7 @@ async function messageAgent(agentId, message, caller = "internal") {
5999
5999
  return;
6000
6000
  }
6001
6001
  console.log(`[agents] Auto-resuming stopped agent ${normalizedId} to deliver feedback (session exists: ${await Effect.runPromise(sessionExists(normalizedId))})`);
6002
- const { resumeAgent } = await import("./agents-BIggLvi_.js");
6002
+ const { resumeAgent } = await import("./agents-C-vqmKDi.js");
6003
6003
  const resumeResult = await resumeAgent(normalizedId, message);
6004
6004
  queueAgentMail(normalizedId, message);
6005
6005
  if (resumeResult.success && resumeResult.messageDelivered !== false) {
@@ -6035,7 +6035,7 @@ async function messageAgent(agentId, message, caller = "internal") {
6035
6035
  const resumeRole = agentState.role ?? "work";
6036
6036
  const resumeModel = agentState.model || "claude-sonnet-4-6";
6037
6037
  const fallbackHarness = agentState.harness ?? "claude-code";
6038
- const { assertWorkspaceStackHealthyForSpawn } = await import("./agents-BIggLvi_.js");
6038
+ const { assertWorkspaceStackHealthyForSpawn } = await import("./agents-C-vqmKDi.js");
6039
6039
  await assertWorkspaceStackHealthyForSpawn(agentState.issueId || normalizedId.replace(/^agent-/, "").toUpperCase(), resumeRole, agentState.hostOverride === true, agentState.workspace);
6040
6040
  const fallbackPiFields = fallbackHarness === "ohmypi" ? await getOhmypiLauncherFields(normalizedId, resumeModel) : {};
6041
6041
  const fallbackCodexFields = fallbackHarness === "codex" ? getCodexLauncherFields(normalizedId, resumeModel, agentState.workspace) : {};
@@ -6112,7 +6112,7 @@ async function messageAgent(agentId, message, caller = "internal") {
6112
6112
  const expectedHarness = agentState?.harness ?? "claude-code";
6113
6113
  if (panePids.length > 0 && !await hasAgentRuntimeInSubtree(panePids[0], expectedHarness)) {
6114
6114
  console.warn(`[agents] ${normalizedId} tmux session is a zombie (no ${expectedHarness} runtime) — attempting resume`);
6115
- const { resumeAgent } = await import("./agents-BIggLvi_.js");
6115
+ const { resumeAgent } = await import("./agents-C-vqmKDi.js");
6116
6116
  const resumeResult = await resumeAgent(normalizedId, message);
6117
6117
  if (resumeResult.success) {
6118
6118
  if (resumeResult.messageDelivered !== false) await appendTellInterventionForUserSource(normalizedId, caller);
@@ -6224,7 +6224,7 @@ async function buildCompactRecoverySeed(agentId) {
6224
6224
  if (agentState?.workspace && sessionId) {
6225
6225
  const sessionFile = sessionFilePath(agentState.workspace, sessionId);
6226
6226
  try {
6227
- const [{ getConversationCompactionSettings }, { generateSmartSummary }] = await Promise.all([import("./conversation-compaction-Ba5aZdrb.js"), import("./smart-compaction-Bgp_gwcA.js")]);
6227
+ const [{ getConversationCompactionSettings }, { generateSmartSummary }] = await Promise.all([import("./conversation-compaction-CL5Ti4j4.js"), import("./smart-compaction-L0LSnF0_.js")]);
6228
6228
  const settings = getConversationCompactionSettings();
6229
6229
  summary = (await Effect.runPromise(generateSmartSummary({
6230
6230
  jsonlPath: sessionFile,
@@ -6235,7 +6235,7 @@ async function buildCompactRecoverySeed(agentId) {
6235
6235
  } catch (err) {
6236
6236
  logAgentLifecycleSync(normalizedId, `compact-recovery smart summary failed (${err instanceof Error ? err.message : String(err)}); trying heuristic fallback`);
6237
6237
  try {
6238
- const { generateFallbackSummary } = await import("./summary-fork-DedqguZb.js");
6238
+ const { generateFallbackSummary } = await import("./summary-fork-2a1L2DIU.js");
6239
6239
  summary = await Effect.runPromise(generateFallbackSummary(sessionFile));
6240
6240
  } catch (fallbackErr) {
6241
6241
  logAgentLifecycleSync(normalizedId, `compact-recovery fallback summary failed (${fallbackErr instanceof Error ? fallbackErr.message : String(fallbackErr)}); seeding with reseed instructions only`);
@@ -7779,4 +7779,4 @@ var init_agents = __esmMin((() => {
7779
7779
  //#endregion
7780
7780
  export { warnOnBareNumericIssueIds as $, writeAgentStateJsonSync as $n, waitForPromptReady as $t, init_messaging as A, getAgentDir as An, init_bridge_token as At, createOhmypiRuntimeSync as B, markAgentRunningState as Bn, resolveStaffing as Bt, restartAgent as C, __testInternals as Cn, deliverAgentPermissionDecision as Ct, init_context_overflow as D, clearAgentTroubledSync as Dn, captureTranscriptUserRecordSnapshot as Dt, resumeAgent as E, clearAgentTroubled as En, setAgentDeliveryMethod as Et, getActivity as F, init_agent_state as Fn, init_spawn_prep as Ft, init_termination as G, recordStartupSessionExit as Gn, getAgentRuntimeBaseCommand as Gt, init_spawn as H, markAgentTroubled as Hn, resolveTier as Ht, getLatestSessionId as I, isAgentPaused as In, retrieveSpawnTimeMemoryContext as It, dropLegacyAgentStatesMissingRoleAsync as J, saveAgentStateSync as Jn, getProviderAuthMode as Jt, stopAgent as K, resetAgentFailureCount as Kn, getCodexLauncherFields as Kt, getLatestSessionIdSync as L, isAgentTroubled as Ln, transitionIssueToInProgress as Lt, init_operator_interventions as M, getAgentState as Mn, assertWorkspaceStackHealthyForSpawn as Mt, operatorInterventionEvent as N, getAgentStateFilePath as Nn, buildAgentLaunchConfig as Nt, isContextOverflowError as O, clearYieldForResumeSync as On, init_transcript_landing as Ot, appendActivity as P, getAgentStateSync as Pn, defaultRunWorkspace as Pt, listRunningAgentsSync as Q, wipeAgentStateDirs as Qn, roleAgentDefinitionPath as Qt, getSessionId as R, isRole as Rn, transitionIssueToInReview as Rt, recoverAgent as S, SESSION_EXITED_BEFORE_KICKOFF as Sn, deliverAgentMessage as St, init_resume as T, clearAgentPausedSync as Tn, deliverResumeMessageWithTranscriptConfirmation as Tt, spawnAgent as U, recordAgentFailure as Un, OHMYPI_AGENT_READY_TIMEOUT_SECONDS as Ut, init_ohmypi as V, markAgentStoppedState as Vn, init_resolve_tier as Vt, spawnRun as W, recordAgentFailureSync as Wn, describeOhmypiSpawnFailure as Wt, listAgentStates as X, setAgentPausedSync as Xn, init_runtime_command as Xt, init_queries as Y, setAgentPaused as Yn, getRoleRuntimeBaseCommand as Yt, listRunningAgents as Z, setAgentYieldedSync as Zn, injectPiConversationMemory as Zt, init_slot_reconcile as _, decideChannelsForWorkAgent as _n, getAgentRuntimeSnapshot as _r, init_config as _t, replayStandingAgent as a, init_claude_auth as an, init_pty_token as ar, init_concurrency as at, autoRecoverAgents as b, writeChannelsBridgeMcpConfig as bn, parseOhmypiSessionCostResultSync as br, saveCloisterConfigSync as bt, init_tier_supervisor as c, determineModel as cn, isQualifiedAgentId as cr, resetPatrolDispatchBudget as ct, spawnTierSupervisor as d, getProviderTmuxFlags as dn, waitForAgentIdle as dr, workResumeSlotsAvailable as dt, init_pi_fifo as en, init_persistent_logger as er, countRunningAgents as et, supervisorAgentId as f, init_provider_health as fn, waitForReadySignal as fr, getCachedMemoryVerdict as ft, init_tier_escalation as g, buildDefaultResumeContinueMessage as gn, saveAgentRuntimeState as gr, getHealthThresholdsMs as gt, decideEscalation as h, init_openai_auth as hn, init_runtime_state as hr, DEFAULT_CLOISTER_CONFIG as ht, replayCrashedStandingAgent as i, getClaudeAuthStatus as in, readAgentHarnessModelRecordSync as ir, getConcurrencyLimits as it, messageAgent as j, getAgentResumeGateBlockReason as jn, writeBridgeTokenSync as jt, isContextOverflowTail as k, decideResumeGate as kn, probeTranscriptSince as kt, loadPrdDraft as l, getProviderEnvForModel as ln, normalizeAgentId as lr, tryReserveAdvancingSlot as lt, init_tier_feed as m, getOpenAIAuthStatus as mn, getAgentRuntimeStateSync as mr, setCachedMemoryVerdict as mt, compactAtTierRunBoundary as n, init_ohmypi_fifo as nn, logDeaconEventSync as nr, describeRunningAgents as nt, shouldReplayCompactAtTierRunBoundary as o, buildCavemanExports as on, writePtyToken as or, releaseAdvancingSlot as ot, broadcastCommit as p, validateProviderHealth as pn, getAgentRuntimeState as pr, init_memory_verdict_cache as pt, stopAgentSync as q, saveAgentState as qn, getOhmypiLauncherFields as qt, contextWindowForModel as r, ohmypiFifoPaths as rn, init_agent_record_sync as rr, emergencyBrake as rt, deliverCommitForReview as s, buildSpawnEnvForModel as sn, clearReadySignal as sr, releaseSwarmSlot as st, init_agents as t, piFifoPaths as tn, logAgentLifecycleSync as tr, countRunningSwarmSlotsForIssue as tt, shouldSupervise as u, getProviderExportsForModel as un, resolveAgentTargetSync as ur, tryReserveSwarmSlot as ut, listSlotAssignments as v, decideSupervisorForWorkAgent as vn, init_agent_runtime as vr, loadCloisterConfig as vt, buildCompactRecoverySeed as w, clearAgentPaused as wn, deliverInitialPromptWithRetry as wt, detectCrashedAgents as x, GOVERNOR_SLOT_PAUSE_REASON_PREFIX as xn, shouldAutoStart as xt, reconcileSlotState as y, dismissDevChannelsDialog as yn, init_ohmypi_parser as yr, loadCloisterConfigSync as yt, saveSessionId as z, markAgentRunning as zn, init_staffing as zt };
7781
7781
 
7782
- //# sourceMappingURL=agents-DHvsjsuP.js.map
7782
+ //# sourceMappingURL=agents-C7V4odQ6.js.map