@overdeck/desktop 0.45.16 → 0.45.18

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 (365) hide show
  1. package/dist-electron/main.js +149 -158
  2. package/dist-electron/main.js.map +1 -1
  3. package/dist-electron/preload.js +17 -2
  4. package/dist-electron/preload.js.map +1 -1
  5. package/package.json +5 -4
  6. package/server/acceptance-criteria-aQFKQf-J.js +62 -0
  7. package/server/{advancing-selfheal-DJYAvGv-.js → advancing-selfheal-DgwQgm4D.js} +6 -6
  8. package/server/{agent-gc-D0wDIeV1.js → agent-gc-kpzxqT7P.js} +3 -3
  9. package/server/agent-state-C_6TG-Ad.js +3 -0
  10. package/server/{agent-state-service-CZrayD_G.js → agent-state-service-BUfovFfB.js} +1 -1
  11. package/server/{agent-state-service-DFslS5go.js → agent-state-service-nUD3qfob.js} +5 -5
  12. package/server/agents-BA15AQqo.js +3 -0
  13. package/server/{briefing-freshness-DESTCWo-.js → agents-BHBxr8c9.js} +5 -131
  14. package/server/{archive-planning-CbghE9-o.js → archive-planning-CzCW9Ifl.js} +5 -10
  15. package/server/{archive-planning-CoyIbgGK.js → archive-planning-D-QsBufn.js} +1 -1
  16. package/server/{artifact-index-jobs-CcSrUoSE.js → artifact-index-jobs-qqa51B2Z.js} +2 -2
  17. package/server/{backlog-auto-trigger-BfgDsII0.js → backlog-auto-trigger-B7Bi0bvY.js} +2 -2
  18. package/server/{behavior-BTpYbAv4.js → behavior-CWqNMqE5.js} +2 -2
  19. package/server/briefing-freshness-DuxIE1yr.js +131 -0
  20. package/server/{checkpoint-manager-BwFdegJF.js → checkpoint-manager-DF6hb9Jw.js} +3 -3
  21. package/server/{checkpoint-manager-DWSXooZV.js → checkpoint-manager-DixkLus7.js} +1 -1
  22. package/server/checkpoint-worker.js +1 -1
  23. package/server/{checkpoints-fjadfOKF.js → checkpoints-B1Z42tJE.js} +1 -1
  24. package/server/{checkpoints-BtUonbs3.js → checkpoints-BiviJqei.js} +2 -2
  25. package/server/{claude-hooks-provision-DiK62u0k.js → claude-hooks-provision-BeMGi4ty.js} +1 -1
  26. package/server/{claude-hooks-provision-DAtxutOs.js → claude-hooks-provision-Du_PkMsp.js} +2 -2
  27. package/server/{claude-permissions-CThLgf8d.js → claude-permissions-BB6agcOZ.js} +2 -2
  28. package/server/{claude-settings-overlay-BF9MPIwx.js → claude-settings-overlay-CAq2oFSK.js} +2 -2
  29. package/server/{claude-settings-overlay-Dx_Uqcmv.js → claude-settings-overlay-DUWWLd6M.js} +1 -1
  30. package/server/cli-BFgrSWKV.js +3 -0
  31. package/server/{cli-ByKIIMfT.js → cli-C33xPZNm.js} +9 -9
  32. package/server/{cliproxy-C_GuT5DU.js → cliproxy-BQX1TL6N.js} +1 -1
  33. package/server/{cliproxy-B4c1BUvs.js → cliproxy-CGBA1GzA.js} +2 -2
  34. package/server/{close-issue-BOuLKr6e.js → close-issue-DNv8npc1.js} +5 -5
  35. package/server/{closed-issue-reaper-CksfuiFD.js → closed-issue-reaper-DrqgBJlr.js} +1 -1
  36. package/server/{closed-issue-reaper-DCAYzNXW.js → closed-issue-reaper-LoMnnjtJ.js} +9 -9
  37. package/server/codex-DxLivxri.js +3 -0
  38. package/server/{codex-parser-mFYZh8vR.js → codex-parser-DboQnEXN.js} +2 -2
  39. package/server/{codex-BbqIRZjd.js → codex-sgWVCGUd.js} +43 -18
  40. package/server/{config-Dj6N8EP9.js → config-6MCHOZ2N.js} +1 -1
  41. package/server/{config-DVLdmnMJ.js → config-DfaUXr6r.js} +2 -2
  42. package/server/{config-yaml-cNOZcEww.js → config-yaml-CqaAyn8y.js} +74 -74
  43. package/server/{conflict-gate-BMKm_5DV.js → conflict-gate-BF_zhcmb.js} +3 -3
  44. package/server/{conflict-gate-CuXUv-bP.js → conflict-gate-BubJprtD.js} +1 -1
  45. package/server/{context-layers-c0JqYHcS.js → context-layers-BFrxfl0l.js} +17 -3
  46. package/server/{context-layers-CeAwSYNt.js → context-layers-DWL_8HhY.js} +2 -2
  47. package/server/{control-settings-D4EFsRBd.js → control-settings-BguNQ1F_.js} +4 -4
  48. package/server/{conversation-compaction-kHVfVRg3.js → conversation-compaction-CRKAf2qP.js} +1 -1
  49. package/server/{conversation-compaction-BCggyih4.js → conversation-compaction-DxSXl0pT.js} +8 -8
  50. package/server/{conversation-service-BTzObqGi.js → conversation-service-DzuY9qoH.js} +1 -1
  51. package/server/{conversation-service-B8LFQQm1.js → conversation-service-mFVFdDQK.js} +6 -6
  52. package/server/{conversations-B-lcHv-5.js → conversations-BX5aD-6F.js} +4 -4
  53. package/server/{conversations-BM7zlXjr.js → conversations-BajHQ60c.js} +1 -1
  54. package/server/{cost-D9kPIY_5.js → cost-BoqD1Pxz.js} +2 -2
  55. package/server/{cost-BcpRQ-7o.js → cost-DuZ5vlv-.js} +3 -3
  56. package/server/{cost-sync-DF6odxK9.js → cost-sync-BYnmnMkY.js} +3 -3
  57. package/server/{dag-DKI3sOmX.js → dag-C6kYyF17.js} +7 -243
  58. package/server/{dangerous-git-ops-Bn18PEcN.js → dangerous-git-ops-q5OPtXMd.js} +1 -1
  59. package/server/dashboard-db-worker.js +6 -6
  60. package/server/{deacon-DONuopff.js → deacon-CwCiNuEZ.js} +3 -3
  61. package/server/{deacon-DdARMjZq.js → deacon-Dru5onpk.js} +233 -162
  62. package/server/{deacon-nudge-log-B-naf89q.js → deacon-nudge-log-ilDfxrhK.js} +1 -1
  63. package/server/{deacon-swarm-BNGkmYR_.js → deacon-swarm-BPmBmSoU.js} +298 -72
  64. package/server/deacon-swarm-CKyGJng1.js +2 -0
  65. package/server/deacon.js +14 -7
  66. package/server/{devcontainer-renderer-C-34Sxyz.js → devcontainer-renderer-BqGNCzvN.js} +3 -3
  67. package/server/{dist-BMXvKiZP.js → dist-BwlEiLCU.js} +1 -1
  68. package/server/dist-Bx4KkgYL.js +3 -0
  69. package/server/{dist-src-BgGUblXg.js → dist-src-BE0Denfs.js} +1 -1
  70. package/server/{docker-apZ9pBYw.js → docker-CNjXS72x.js} +2 -2
  71. package/server/{ensure-devcontainer-Bqi1EF1P.js → ensure-devcontainer-5e9xOve4.js} +4 -4
  72. package/server/{ensure-devcontainer-Dq3KoOIl.js → ensure-devcontainer-C6gyUQdE.js} +1 -1
  73. package/server/{esm-shims-BEjvINX3.js → esm-shims-Cso7IGBC.js} +1 -1
  74. package/server/{event-store-CqDgfbAs.js → event-store-D9UhQyMS.js} +1 -1
  75. package/server/{event-store-D89fMfXS.js → event-store-KZnWUKWh.js} +3 -3
  76. package/server/{events-S_C0pvl6.js → events-2eFUPdqz.js} +3 -3
  77. package/server/{events-rIGncmP1.js → events-BYbvqZky.js} +1 -1
  78. package/server/{factory-DV18m0rc.js → factory-BtaRsHFC.js} +20 -17
  79. package/server/{feature-registry-population-CqZSnqQi.js → feature-registry-population-Ca2UaV0U.js} +4 -4
  80. package/server/{feature-registry-storage-BeXmNBwK.js → feature-registry-storage-DaP-bQxO.js} +2 -2
  81. package/server/{features-u5XeMaOK.js → features-DqvaoQoa.js} +2 -2
  82. package/server/{feedback-target-CwyWf0Dg.js → feedback-target-BXWdOiYI.js} +9 -7
  83. package/server/{feedback-target-DDG1PWl3.js → feedback-target-BblmMe9P.js} +1 -1
  84. package/server/{feedback-writer-BsJiw5aT.js → feedback-writer-CULeOOY4.js} +1 -1
  85. package/server/{feedback-writer-D20HSXre.js → feedback-writer-Dn8o9ZyE.js} +4 -4
  86. package/server/{flywheel-RCnHAgc4.js → flywheel-BUWdcfhq.js} +1 -1
  87. package/server/{flywheel-Dczmgchd.js → flywheel-CqkO3cDj.js} +15 -28
  88. package/server/{flywheel-9Y1X7IM-.js → flywheel-D9r1mw2U.js} +13 -13
  89. package/server/{flywheel-merge-order-DEtEd3aK.js → flywheel-merge-order-LDzQDwSg.js} +1 -1
  90. package/server/{flywheel-merge-order-CtCYsFJP.js → flywheel-merge-order-VtjUweEb.js} +6 -6
  91. package/server/forge-DJy3Zx4s.js +2 -0
  92. package/server/{forge-DFDThFil.js → forge-wEollMCi.js} +22 -12
  93. package/server/{from-NSJypkI8.js → from-B2tOYhYV.js} +1 -1
  94. package/server/{fts-db-C5A_TTOM.js → fts-db-Bgzn2RO7.js} +2 -2
  95. package/server/{fts-operations-DvCSimfU.js → fts-operations-Bj8yutnR.js} +2 -2
  96. package/server/{git-utils-Dr0L7mFk.js → git-utils-GxlL0tmt.js} +2 -2
  97. package/server/{git-utils-C0neHvQx.js → git-utils-q8jNoBts.js} +1 -1
  98. package/server/{github-app-Bwt9lK4A.js → github-app-BrYwK_Gb.js} +1 -1
  99. package/server/{github-app-u9-SX7Gc.js → github-app-tUbb8Ldr.js} +8 -3
  100. package/server/{github-client-Btyy3uan.js → github-client-BwBU41jK.js} +3 -3
  101. package/server/{github-client-Do3k-N1W.js → github-client-D6CNsftm.js} +1 -1
  102. package/server/{github-pr-lookup-DOF1U2WW.js → github-pr-lookup-BS5PqkJb.js} +2 -2
  103. package/server/{harness-resolve-C6g2R0Cd.js → harness-resolve-Dx8hUsvC.js} +3 -3
  104. package/server/{health-events-B4u-2a9m.js → health-events-2DLp-5Xp.js} +2 -2
  105. package/server/{health-events-Bos3sk5g.js → health-events-B0mj6Iae.js} +1 -1
  106. package/server/{hooks-uEr8WTx_.js → hooks-BDcQJDUe.js} +1 -1
  107. package/server/{hooks-BCoOjL_R.js → hooks-BS_JrvYP.js} +3 -3
  108. package/server/hume-B4seN95Y.js +3 -0
  109. package/server/{hume-BqxYKbUf.js → hume-BRhNKyXQ.js} +2 -2
  110. package/server/{idle-stack-reaper-DbZ8ukMd.js → idle-stack-reaper-BCITXNW5.js} +2 -2
  111. package/server/{idle-stack-reaper-H0W6XtHh.js → idle-stack-reaper-C1ymihno.js} +1 -1
  112. package/server/{infra-Ba9mS6e6.js → infra-_Kx1m9pm.js} +9 -4
  113. package/server/{injection-C1DKXeIZ.js → injection-Bvhyg_MV.js} +1 -1
  114. package/server/{injection-yrMBxzVq.js → injection-CCaYkofq.js} +7 -7
  115. package/server/{inspect-agent-B-mnb4uh.js → inspect-agent-BqyZ4pCo.js} +35 -67
  116. package/server/inspect-agent-DCJQm9Wu.js +2 -0
  117. package/server/{internal-token-BtqSbKTx.js → internal-token-Cl-1IxaE.js} +2 -2
  118. package/server/{internal-token-BPYEaXFh.js → internal-token-D-t28de5.js} +1 -1
  119. package/server/{io-VEGSAqsd.js → io-DkC4sFSy.js} +36 -43
  120. package/server/{issue-closed-BxcePXL-.js → issue-closed-Cpl4VDUM.js} +41 -6
  121. package/server/{issue-lifecycle--8MRxrG1.js → issue-lifecycle-CFR8TJ22.js} +22 -37
  122. package/server/{issue-lifecycle-CdMUauyb.js → issue-lifecycle-YNTy3OT3.js} +1 -1
  123. package/server/{issue-service-singleton-MZsDhAob.js → issue-service-singleton-D81mCts_.js} +1 -1
  124. package/server/{issue-service-singleton-CkTUI-eu.js → issue-service-singleton-ldvUUXi3.js} +29 -29
  125. package/server/{issues-CBAsuoAO.js → issues-DIEHt9sq.js} +2 -2
  126. package/server/{jsonl-parser-BUW5_sSK.js → jsonl-parser-Cd5jIqh7.js} +3 -3
  127. package/server/{label-cleanup-htK6fBRU.js → label-cleanup-Btny6Gyo.js} +3 -3
  128. package/server/{state-home-CEvD_v5F.js → launcher-generator-BXLM9f4b.js} +7 -127
  129. package/server/{layers-jjL16At6.js → layers-gCJlK62m.js} +2 -2
  130. package/server/lifecycle-D7aQUnTO.js +12 -0
  131. package/server/{lifecycle-io-DXv8Utct.js → lifecycle-io-DQBF-GHO.js} +1 -1
  132. package/server/{lifecycle-io-IehcRt2v.js → lifecycle-io-FfPUtz-y.js} +4 -4
  133. package/server/{linear-client-D9cSQfvD.js → linear-client-CDH2D6Qy.js} +3 -3
  134. package/server/{linear-client-By7hjwuN.js → linear-client-WrYrUIAH.js} +1 -1
  135. package/server/memory-fts-worker.js +1 -1
  136. package/server/{merge-BN8FGJ2q.js → merge-BsDgUxFz.js} +3 -3
  137. package/server/{merge-BLcEZNXz.js → merge-Dervs4BF.js} +1 -1
  138. package/server/{merge-agent-B3u2szOL.js → merge-agent-D6DNhe9j.js} +64 -51
  139. package/server/{merge-agent-ejC7Wos8.js → merge-agent-DMQTJMP0.js} +1 -1
  140. package/server/{merge-batch-DyqlgYGp.js → merge-batch-Bv6Z5K2H.js} +1 -1
  141. package/server/{merge-blockers-cq-aS2KG.js → merge-blockers-WWWi6Ur2.js} +2 -2
  142. package/server/merge-ops-h9OCnIVz.js +2 -0
  143. package/server/{merge-rebase-Dl7yIxtV.js → merge-rebase-Czth9ggm.js} +2 -2
  144. package/server/{merge-set-CZ9Nbay0.js → merge-set-DNc4zBqd.js} +3 -3
  145. package/server/{merge-set-Dy0D0r3i.js → merge-set-vuE3MEVt.js} +1 -1
  146. package/server/{merge-sync-D7jWLgCC.js → merge-sync-B2KSk54U.js} +2 -2
  147. package/server/{merge-sync-CG9kDCdT.js → merge-sync-B9nHdUGx.js} +1 -1
  148. package/server/{merge-train-CH33XJOH.js → merge-train-DJgr81tF.js} +3 -3
  149. package/server/{merge-train-deps-JoVdGnOg.js → merge-train-deps-B2OWS0k9.js} +4 -4
  150. package/server/{merge-verification-D4wTChdX.js → merge-verification-BBIXUEqa.js} +4 -4
  151. package/server/{multipart-parser-Csn8U-K9.js → multipart-parser-9DhuAkPd.js} +2 -2
  152. package/server/node_modules/.package-lock.json +11 -11
  153. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +3 -3
  154. package/server/node_modules/toml/README.md +54 -0
  155. package/server/node_modules/toml/index.d.ts +42 -1
  156. package/server/node_modules/toml/index.js +3 -3
  157. package/server/node_modules/toml/lib/compiler.js +35 -3
  158. package/server/node_modules/toml/lib/parser.js +224 -143
  159. package/server/node_modules/toml/package.json +3 -1
  160. package/server/node_modules/ws/lib/receiver.js +15 -32
  161. package/server/node_modules/ws/lib/websocket-server.js +4 -4
  162. package/server/node_modules/ws/lib/websocket.js +4 -4
  163. package/server/node_modules/ws/package.json +5 -1
  164. package/server/{orphan-proposed-reconciler-DI_IS1p_.js → orphan-proposed-reconciler-B8H41C4a.js} +14 -24
  165. package/server/{orphan-proposed-reconciler-BIcNu4tl.js → orphan-proposed-reconciler-DbTmT7qy.js} +1 -1
  166. package/server/package-lock.json +12 -12
  167. package/server/package.json +1 -1
  168. package/server/{pan-dir-CQIfKG8c.js → pan-dir-BTw4MdSe.js} +4 -4
  169. package/server/{paths-Blj6A9AJ.js → paths-Btkc8mzp.js} +2 -2
  170. package/server/{pipeline-notifier-BH4PAi-w.js → pipeline-notifier-3frIvSi3.js} +1 -1
  171. package/server/{pipeline-notifier-D_WYtEwl.js → pipeline-notifier-DTd19f18.js} +2 -2
  172. package/server/{project-pipelines-jMTitpeO.js → project-pipelines-B95fcAek.js} +2 -2
  173. package/server/projects-Dc9aoVoG.js +3 -0
  174. package/server/{prompts-B3njaImU.js → prompts-CIVmjHxn.js} +2 -2
  175. package/server/{providers-DnPxkHoG.js → providers-BLLk5IIb.js} +1 -1
  176. package/server/{providers-BbEyFhPX.js → providers-C-yWibCk.js} +7 -7
  177. package/server/public/assets/{chunk-BO2N2NFS-3qh9TUJi.js → chunk-BO2N2NFS-DzKZyoKY.js} +4 -4
  178. package/server/public/assets/{diagram-OG6HWLK6-D8UVTPj7.js → diagram-OG6HWLK6-Cx8mWUb8.js} +1 -1
  179. package/server/public/assets/{dist-BvLLn1YC.js → dist-BqccLhaw.js} +3 -3
  180. package/server/public/assets/{dist-CyubL7Wj.js → dist-rC3nAs_O.js} +1 -1
  181. package/server/public/assets/{ganttDiagram-6RSMTGT7-BI4E1LbQ.js → ganttDiagram-6RSMTGT7-DLYPLf5T.js} +1 -1
  182. package/server/public/assets/{highlighted-body-OFNGDK62-D_bapWkF.js → highlighted-body-OFNGDK62-D4DqixbV.js} +1 -1
  183. package/server/public/assets/index-CPcysUHk.js +796 -0
  184. package/server/public/assets/index-H5M0yhM4.css +1 -0
  185. package/server/public/assets/{linear-CEdobObr.js → linear-yqcXkDfj.js} +1 -1
  186. package/server/public/assets/mermaid-GHXKKRXX-CWdZ_heB.js +1 -0
  187. package/server/public/assets/{pieDiagram-4H26LBE5-DT79L01f.js → pieDiagram-4H26LBE5-DhraIOaV.js} +1 -1
  188. package/server/public/assets/{prod-CR_K2DFV.js → prod-DKUunUdN.js} +4 -4
  189. package/server/public/assets/{quadrantDiagram-W4KKPZXB-BEkKXXrL.js → quadrantDiagram-W4KKPZXB-DPiRcToa.js} +1 -1
  190. package/server/public/assets/{sankeyDiagram-5OEKKPKP-BxSCqn-j.js → sankeyDiagram-5OEKKPKP-3An5HNkZ.js} +1 -1
  191. package/server/public/assets/{xychartDiagram-2RQKCTM6-DicwJGG_.js → xychartDiagram-2RQKCTM6-lbEOjfqQ.js} +1 -1
  192. package/server/public/index.html +2 -2
  193. package/server/{pull-requests-43LPDfM8.js → pull-requests-D7AL5woD.js} +1 -1
  194. package/server/{pull-requests-DyUkQl4W.js → pull-requests-NDDNtqNq.js} +3 -3
  195. package/server/{agents-B9GwfCyp.js → queries-C0LCGG21.js} +710 -325
  196. package/server/{rally-BtWjybOa.js → rally-4oKvnxLG.js} +3 -3
  197. package/server/rally-DF5a3ioP.js +3 -0
  198. package/server/{rally-api-B-osULNL.js → rally-api-41tT6ikZ.js} +2 -2
  199. package/server/{rally-api-B-YA_oXx.js → rally-api-BsaQ8Vnz.js} +1 -1
  200. package/server/{rally-client-sErNQBO0.js → rally-client-Bo4hNcCZ.js} +5 -5
  201. package/server/{rally-client-CzFymP7P.js → rally-client-b5PT1x5L.js} +1 -1
  202. package/server/{reap-terminal-sessions-DnDQ7pf9.js → reap-terminal-sessions-BR39qflC.js} +1 -1
  203. package/server/{reap-terminal-sessions-2s-fvilz.js → reap-terminal-sessions-CFkuquQj.js} +1 -1
  204. package/server/{rebuild-stack-nGD_nPZo.js → rebuild-stack-C7JPUom6.js} +1 -1
  205. package/server/{rebuild-stack-CoU-HqZj.js → rebuild-stack-Ddv6W017.js} +5 -5
  206. package/server/{reconstruct-cache-Wj8GrYB0.js → reconstruct-cache-Gqhm---K.js} +6 -6
  207. package/server/record-DLOqfbkI.js +3 -0
  208. package/server/record-update-BltEmPge.js +168 -0
  209. package/server/record-update-CDp7aTaT.js +3 -0
  210. package/server/recovery-trip-Cn7KJVkS.js +44 -0
  211. package/server/{release-engine-CBLQXDlH.js → release-engine-BYzmIBf9.js} +5 -5
  212. package/server/{release-set-BNiqi7hy.js → release-set-7pnxFOWR.js} +3 -3
  213. package/server/{remote-DW_TWQnr.js → remote-Cvu4CSDk.js} +3 -3
  214. package/server/{remote-agents-C4cyxHQS.js → remote-agents-C2C6z9tj.js} +6 -33
  215. package/server/{remote-agents-Cv-U-_V8.js → remote-agents-DYY5fFpd.js} +1 -1
  216. package/server/{remote-completion-PhXGGFQy.js → remote-completion-2Kb4IDg_.js} +13 -13
  217. package/server/{remote-DcO9An_f.js → remote-rN0ecjHE.js} +3 -3
  218. package/server/resume-BFLl-yLn.js +3 -0
  219. package/server/{review-agent-Dn-yn7Zj.js → review-agent-BZvk0N5G.js} +31 -23
  220. package/server/{review-agent-u5q3ip7H.js → review-agent-CpSHLzed.js} +1 -1
  221. package/server/{review-artifacts-D4T04aYI.js → review-artifacts-PCo53YMn.js} +5 -19
  222. package/server/{review-context-Rc0VDLG_.js → review-context-M7QtJlJq.js} +8 -8
  223. package/server/{review-monitor-BC--miCO.js → review-monitor-BLC5mTTg.js} +2 -2
  224. package/server/{review-status-CG0iDuWa.js → review-status-77N3PoZr.js} +1 -1
  225. package/server/{review-status-Dc1l4dVz.js → review-status-DANr0t-v.js} +32 -58
  226. package/server/{review-status-enrichment-C1a1OG_1.js → review-status-enrichment-DwOg4UfL.js} +3 -3
  227. package/server/{review-status-sync-CfSixhhX.js → review-status-sync-Bd08OOFA.js} +1 -1
  228. package/server/{review-status-sync-CAr-hfnJ.js → review-status-sync-BjTUJ5fx.js} +2 -2
  229. package/server/{review-verdict-feedback-D2Q960wX.js → review-verdict-feedback-BsFLjN_6.js} +1 -1
  230. package/server/{review-verdict-feedback-CVDbIDBe.js → review-verdict-feedback-CBf-J_wS.js} +8 -8
  231. package/server/{rollup-DctoIu-A.js → rollup-Bu0f2EyN.js} +8 -8
  232. package/server/{rollup-CakjztPl.js → rollup-DTCCdEy4.js} +1 -1
  233. package/server/{scanner-BTM1jc_u.js → scanner-BlZ2vB7j.js} +7 -7
  234. package/server/{sequence-io-pnoIDGv4.js → sequence-io-ylyDtz2J.js} +4 -4
  235. package/server/{sequencer-agent-9Soi-WL-.js → sequencer-agent-DsWQ-87H.js} +6 -17
  236. package/server/server.js +4695 -4093
  237. package/server/{service-DfTVoqJg.js → service-CLVBC_1Y.js} +116 -90
  238. package/server/{session-fork-C4jAFHj8.js → session-fork-DlEIAhRy.js} +2 -2
  239. package/server/{session-history-DanhhiCw.js → session-history-bnOFKMwf.js} +4 -4
  240. package/server/settings-CP3GGon2.js +2 -0
  241. package/server/{settings-Cuc12oP_.js → settings-Cqa-8nyj.js} +2 -2
  242. package/server/{settings-DfT3f86D.js → settings-gJrdLZy2.js} +3 -3
  243. package/server/{shadow-engineering-bKuKTCn-.js → shadow-engineering-fq1YEKV3.js} +3 -3
  244. package/server/{shadow-state-CVHpRWlb.js → shadow-state-BqeFAygK.js} +1 -1
  245. package/server/{shadow-state-DJz6_pb_.js → shadow-state-RptE9Cau.js} +2 -2
  246. package/server/shadow-utils-BMWr5tRT.js +39 -0
  247. package/server/{ship-log-CwqPFfqx.js → ship-log-BRQQi2lU.js} +1 -1
  248. package/server/{smart-compaction-CiWfGfRZ.js → smart-compaction-CmoXpjeU.js} +7 -7
  249. package/server/{smart-compaction-B4KlpZGN.js → smart-compaction-DldUel4B.js} +1 -1
  250. package/server/{spawn-planning-session-CU-DwyDl.js → spawn-planning-session-CoS6LTc6.js} +16 -16
  251. package/server/{spawn-planning-session-D5N3RuLG.js → spawn-planning-session-DT2tSMxo.js} +1 -1
  252. package/server/{specialist-completion-CJcv-NXH.js → specialist-completion-pJtESo7m.js} +1 -1
  253. package/server/{specialist-context-B2HlbNxS.js → specialist-context-CspI4Eog.js} +5 -5
  254. package/server/{specialist-handoff-logger-CQyF1ygu.js → specialist-handoff-logger-Duz9RGvk.js} +2 -2
  255. package/server/{specialist-logs-CdcUpfjj.js → specialist-logs-DtSkPJZK.js} +3 -3
  256. package/server/{specialists-D7AcFi1u.js → specialists-CywEMwxk.js} +1 -1
  257. package/server/{specialists-k22_Btaq.js → specialists-D9-dMUtI.js} +1 -1
  258. package/server/{specialists-CFgw_0Q6.js → specialists-Dax7tqXC.js} +161 -448
  259. package/server/{specialists-CwzFdapR.js → specialists-GF42OOqd.js} +18 -18
  260. package/server/specs-VwcFtEDi.js +3 -0
  261. package/server/{src-B4TTzNSr.js → src-By3D85Ry.js} +6 -1
  262. package/server/{src-BvpMg4EB.js → src-CqyFg52C.js} +5 -5
  263. package/server/{src-D4YUZrwR.js → src-DhxM-eCb.js} +6 -6
  264. package/server/{stack-health-DVN7zRnL.js → stack-health-BsEVrJZ6.js} +1 -1
  265. package/server/{stack-health-CSgcYcr8.js → stack-health-C-SnpRHh.js} +2 -2
  266. package/server/stale-task-claims-vTxmRzLi.js +69 -0
  267. package/server/state-home-Bur1y4oH.js +213 -0
  268. package/server/{state-mapping-C13UaCL7.js → state-mapping-Ci0pkac4.js} +1 -1
  269. package/server/state-migrate-D3VveYfO.js +362 -0
  270. package/server/{stuck-remediation-CxsyxwFO.js → stuck-remediation-B699-p8v.js} +36 -41
  271. package/server/{stuck-remediation-nTIvhGOR.js → stuck-remediation-CaFYYTQW.js} +1 -1
  272. package/server/{summary-fork-CnRMPCYd.js → summary-fork-BxnF8Xh0.js} +2 -2
  273. package/server/{summary-fork-gKSoFAnK.js → summary-fork-COqYpVa3.js} +8 -8
  274. package/server/supervisor/{paths-3R6b989k.js → paths-Bk6hJRH9.js} +4 -3
  275. package/server/supervisor/pty-supervisor.js +2 -2
  276. package/server/supervisor/{pty-token-CScQ32Rj.js → pty-token-BZS5GYdG.js} +2 -2
  277. package/server/supervisor-eWAAmXKu.js +2 -0
  278. package/server/{supervisor-CZMs8s0M.js → supervisor-liMgIPDF.js} +2 -2
  279. package/server/{swarm-readiness-h6-pwY8w.js → swarm-readiness-sXB1vhzo.js} +3 -3
  280. package/server/{system-prerequisites-DZZTi2G6.js → system-prerequisites-Bz6KdkFJ.js} +1 -13
  281. package/server/{teardown-workspace-B4D-oCVg.js → teardown-workspace-DvzqnmUF.js} +14 -71
  282. package/server/{test-agent-queue-CnuYku4B.js → test-agent-queue-hAU1Ah08.js} +5 -5
  283. package/server/{tldr-daemon-CuA8hz21.js → tldr-daemon-Bam7Xhoo.js} +2 -2
  284. package/server/{tldr-daemon-CgZQ3jmZ.js → tldr-daemon-DhGwd88s.js} +1 -1
  285. package/server/tmux-C-rgxRDA.js +3 -0
  286. package/server/{tmux-C3g9VFcg.js → tmux-U55cNGFG.js} +92 -4
  287. package/server/{token-g_sJ19g3.js → token-Dsa-i36o.js} +2 -2
  288. package/server/{token-util-DiwnnbJo.js → token-util-BWNpH96m.js} +1 -1
  289. package/server/token-util-DRt0j2nQ.js +3 -0
  290. package/server/{tracker-config-dQxC15vH.js → tracker-config-OkdbaUCm.js} +2 -2
  291. package/server/{tracker-utils--z8FLSWn.js → tracker-utils-CghXMF3q.js} +2 -2
  292. package/server/{tracker-utils-DkKyRT0H.js → tracker-utils-DdzUiPNU.js} +1 -1
  293. package/server/{tunnel-BpWZs0Jy.js → tunnel-D1YxesBL.js} +3 -3
  294. package/server/{tunnel-CN2px87h.js → tunnel-DjlzgTl3.js} +1 -1
  295. package/server/typed-errors-CH4roFIj.js +3 -0
  296. package/server/{typed-errors-sLpGfegz.js → typed-errors-n_Tnb4Fh.js} +3 -4
  297. package/server/{types-BLS_Zbmd.js → types-DOjWNv3Z.js} +1 -1
  298. package/server/{types-tlXf80x3.js → types-DXBMm4mX.js} +1 -1
  299. package/server/{uat-train-utGVmqdm.js → uat-train-CaaWs9Rp.js} +1 -1
  300. package/server/{uat-train-BRo6DM7p.js → uat-train-CqN34zFx.js} +24 -25
  301. package/server/{validation-CsPVsoA0.js → validation-4-z2Cw4z.js} +70 -23
  302. package/server/validation-DpTNakM6.js +3 -0
  303. package/server/verification-artifact-DK1xb1zG.js +56 -0
  304. package/server/verification-artifact-JD_edpZ9.js +2 -0
  305. package/server/{verification-runner-CMT5WRMS.js → verification-runner-BjHN80pJ.js} +338 -58
  306. package/server/verification-runner-ShYu5Ph3.js +2 -0
  307. package/server/{vtt-parser-C_XPlifj.js → vtt-parser-QnRfcjiU.js} +1 -1
  308. package/server/{work-agent-prompt-ZTAb2Hyf.js → work-agent-prompt-BiJ43Der.js} +12 -88
  309. package/server/workflows-B4C3lY9E.js +2 -0
  310. package/server/{workflows-CXRwhw_o.js → workflows-DkTotz_m.js} +17 -24
  311. package/server/{workspace-CNfuj1-5.js → workspace-CuN0ev4Z.js} +3 -3
  312. package/server/{workspace-9UEsKuiP.js → workspace-DQ4vVivd.js} +1 -1
  313. package/server/{workspace-config-ChWOECy0.js → workspace-config-C77NKnsV.js} +1 -1
  314. package/server/{workspace-manager-BO-6k3sP.js → workspace-manager-B1mYn0lN.js} +1 -1
  315. package/server/{workspace-manager-D8AByFIT.js → workspace-manager-Beeo2aKF.js} +23 -48
  316. package/server/{workspace-metadata-CvC268MN.js → workspace-metadata-BZC5BmoP.js} +2 -2
  317. package/server/{workspace-metadata-DZiJtnuF.js → workspace-metadata-Cy7_ZACL.js} +1 -1
  318. package/server/{workspaces-D-uIoqbg.js → workspaces-CGuzW1Ia.js} +182 -152
  319. package/sync-sources/hooks/codex-notify-hook +64 -8
  320. package/sync-sources/hooks/record-cost-event.js +1109 -36
  321. package/sync-sources/hooks/record-cost-event.js.map +1 -1
  322. package/sync-sources/hooks/statusline.sh +2 -2
  323. package/sync-sources/hooks/work-agent-stop-hook +1 -2
  324. package/server/acceptance-criteria-BZ_nQS1f.js +0 -33
  325. package/server/agent-state-lGvgPP4m.js +0 -3
  326. package/server/agents-CEcaxSkR.js +0 -3
  327. package/server/auto-commit-IW-eik_b.js +0 -3
  328. package/server/bd-process-lock-XAXAet9O.js +0 -390
  329. package/server/beads-B1u04n3o.js +0 -2
  330. package/server/beads-BeSMEjGT.js +0 -649
  331. package/server/beads-query-Dl4FhT8J.js +0 -95
  332. package/server/beads-restore-BUItPOjI.js +0 -23
  333. package/server/cli-D9cUTbBr.js +0 -3
  334. package/server/codex-BYPz6ZdF.js +0 -3
  335. package/server/compact-beads-CyJtoXJi.js +0 -94
  336. package/server/compact-beads-N00E4EVa.js +0 -3
  337. package/server/deacon-swarm-CvdFekIO.js +0 -2
  338. package/server/dist-BNwrgsUO.js +0 -3
  339. package/server/export-BJHSVwKP.js +0 -87
  340. package/server/forge-8y6aEPTB.js +0 -2
  341. package/server/hume-CerGi2RH.js +0 -3
  342. package/server/inspect-agent-CWkeAB7J.js +0 -2
  343. package/server/lifecycle-Ck2UR27D.js +0 -14
  344. package/server/merge-ops-CFkQtXEj.js +0 -2
  345. package/server/projects-CrBE6IhN.js +0 -3
  346. package/server/public/assets/index-BAZxZ-8I.js +0 -796
  347. package/server/public/assets/index-FBG3JBfq.css +0 -1
  348. package/server/public/assets/mermaid-GHXKKRXX-BYP8MI37.js +0 -1
  349. package/server/rally-oggyp4cs.js +0 -3
  350. package/server/record-lEYK__LD.js +0 -3
  351. package/server/recovery-trip-BT7nb9OV.js +0 -98
  352. package/server/resolver-C7dLn8OK.js +0 -158
  353. package/server/resume-BYZBIab-.js +0 -3
  354. package/server/settings-Cy7SCFO9.js +0 -2
  355. package/server/specs-RzcDgozr.js +0 -3
  356. package/server/supervisor-CfX192ma.js +0 -2
  357. package/server/tmux-By8E_Yv_.js +0 -3
  358. package/server/token-util-C9u4An3K.js +0 -3
  359. package/server/tracker-config-BzfVj41Z.js +0 -3
  360. package/server/typed-errors-CrN1AByg.js +0 -3
  361. package/server/validation-Dq_wwcw3.js +0 -3
  362. package/server/verification-runner-D0Uh-9jc.js +0 -2
  363. package/server/workflows-BLwxUMP7.js +0 -2
  364. package/server/writer-BUweuRPx.js +0 -3
  365. package/server/writer-CrP2xuBn.js +0 -251
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { T as init_specs } from "./io-VEGSAqsd.js";
3
- import { c as groupItemsByWave, i as compileGlob, l as hasFileOverlap, s as getDispatchableItems, u as init_dag } from "./dag-DKI3sOmX.js";
2
+ import { C as init_specs } from "./io-DkC4sFSy.js";
3
+ import { c as hasFileOverlap, l as init_dag, o as getDispatchableItems, r as compileGlob, s as groupItemsByWave } from "./dag-C6kYyF17.js";
4
4
  import "effect";
5
5
  //#region ../../lib/vbrief/swarm-readiness.ts
6
6
  function computeIssueFootprint(doc) {
@@ -112,4 +112,4 @@ var init_swarm_readiness = __esmMin((() => {
112
112
  //#endregion
113
113
  export { computeIssueFootprint as n, init_swarm_readiness as r, analyzeSwarmReadiness as t };
114
114
 
115
- //# sourceMappingURL=swarm-readiness-h6-pwY8w.js.map
115
+ //# sourceMappingURL=swarm-readiness-sXB1vhzo.js.map
@@ -90,18 +90,6 @@ const PREREQUISITES = [
90
90
  win: "winget install GitHub.cli"
91
91
  }
92
92
  },
93
- {
94
- id: "bd",
95
- name: "beads",
96
- required: false,
97
- purpose: "Git-backed issue tracking used by the work pipeline",
98
- versionArgs: ["--version"],
99
- install: {
100
- linux: "curl -sSL https://raw.githubusercontent.com/gastownhall/beads/main/scripts/install.sh | bash",
101
- mac: "brew install gastownhall/beads/bd",
102
- win: "Use WSL2 — inside your distro, run the beads install script"
103
- }
104
- },
105
93
  {
106
94
  id: "bun",
107
95
  name: "Bun",
@@ -175,4 +163,4 @@ async function checkSystemPrerequisites(probe = defaultProbe) {
175
163
  //#endregion
176
164
  export { checkSystemPrerequisites };
177
165
 
178
- //# sourceMappingURL=system-prerequisites-DZZTi2G6.js.map
166
+ //# sourceMappingURL=system-prerequisites-Bz6KdkFJ.js.map
@@ -1,12 +1,9 @@
1
- import { Jr as init_paths, Sr as AGENTS_DIR } from "./config-yaml-cNOZcEww.js";
2
- import { L as sessionExists, O as listSessionNames, w as killSession, x as init_tmux } from "./tmux-C3g9VFcg.js";
3
- import { n as init_resolver, t as createBeadsResolver } from "./resolver-C7dLn8OK.js";
4
- import { n as getContainersReferencingWorkspacePath, r as init_workspace_manager } from "./workspace-manager-D8AByFIT.js";
5
- import { r as init_devcontainer_renderer, t as DEVCONTAINER_DIRNAME } from "./devcontainer-renderer-C-34Sxyz.js";
6
- import { i as findWorkspacePath, o as init_archive_planning, r as findAllWorkspacePaths } from "./archive-planning-CbghE9-o.js";
7
- import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed } from "./types-tlXf80x3.js";
8
- import { n as init_export, t as exportBeadsJsonl } from "./export-BJHSVwKP.js";
9
- import { n as init_writer, r as runMutationBatch } from "./writer-CrP2xuBn.js";
1
+ import { Cr as AGENTS_DIR, Yr as init_paths } from "./config-yaml-CqaAyn8y.js";
2
+ import { R as sessionExists, S as init_tmux, T as killSession, k as listSessionNames } from "./tmux-U55cNGFG.js";
3
+ import { n as getContainersReferencingWorkspacePath, r as init_workspace_manager } from "./workspace-manager-Beeo2aKF.js";
4
+ import { r as init_devcontainer_renderer, t as DEVCONTAINER_DIRNAME } from "./devcontainer-renderer-BqGNCzvN.js";
5
+ import { i as findWorkspacePath, o as init_archive_planning, r as findAllWorkspacePaths } from "./archive-planning-CzCW9Ifl.js";
6
+ import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed } from "./types-DXBMm4mX.js";
10
7
  import { Effect } from "effect";
11
8
  import { existsSync } from "fs";
12
9
  import { basename, join } from "path";
@@ -31,9 +28,6 @@ init_types();
31
28
  init_archive_planning();
32
29
  init_workspace_manager();
33
30
  init_devcontainer_renderer();
34
- init_export();
35
- init_resolver();
36
- init_writer();
37
31
  const execAsync = promisify(exec);
38
32
  /**
39
33
  * Kill tmux sessions associated with an issue.
@@ -89,7 +83,7 @@ async function stopTldrDaemonImpl(workspacePath) {
89
83
  const venvPath = join(workspacePath, ".venv");
90
84
  if (!existsSync(venvPath)) return stepSkipped(step, ["No .venv found"]);
91
85
  try {
92
- const { getTldrDaemonServiceSync } = await import("./tldr-daemon-CgZQ3jmZ.js");
86
+ const { getTldrDaemonServiceSync } = await import("./tldr-daemon-DhGwd88s.js");
93
87
  await getTldrDaemonServiceSync(workspacePath, venvPath).stop();
94
88
  return stepOk(step, ["Stopped TLDR daemon"]);
95
89
  } catch {
@@ -108,7 +102,7 @@ function stopDocker(workspacePath, issueLower) {
108
102
  async function stopDockerImpl(workspacePath, issueLower) {
109
103
  const step = "teardown:docker";
110
104
  try {
111
- const { stopWorkspaceDocker } = await import("./workspace-manager-BO-6k3sP.js");
105
+ const { stopWorkspaceDocker } = await import("./workspace-manager-B1mYn0lN.js");
112
106
  await Effect.runPromise(stopWorkspaceDocker(workspacePath, issueLower));
113
107
  return stepOk(step, ["Stopped Docker containers"]);
114
108
  } catch {
@@ -161,55 +155,6 @@ async function killOrphanedProcessesImpl(workspacePath) {
161
155
  }
162
156
  }
163
157
  /**
164
- * Sync workspace beads to the project-root beads database before workspace deletion.
165
- */
166
- function syncWorkspaceBeads(projectPath, workspacePath, issueLower) {
167
- return Effect.tryPromise({
168
- try: () => syncWorkspaceBeadsImpl(projectPath, workspacePath, issueLower),
169
- catch: (err) => err
170
- }).pipe(Effect.catch((err) => Effect.succeed(stepFailed("teardown:sync-beads", `Failed to sync workspace beads: ${err.message}`))));
171
- }
172
- async function syncWorkspaceBeadsImpl(_projectPath, workspacePath, issueLower) {
173
- const step = "teardown:sync-beads";
174
- if (!existsSync(join(workspacePath, ".beads"))) return stepSkipped(step, ["No .beads directory in workspace"]);
175
- try {
176
- return stepOk(step, [`Validated ${(await exportBeadsJsonl(workspacePath)).state.recordCount} canonical beads records for ${issueLower}`]);
177
- } catch (err) {
178
- return stepFailed(step, `Failed to sync workspace beads: ${err.message}`);
179
- }
180
- }
181
- /**
182
- * Clear beads for this issue from the project-root .beads/issues.jsonl.
183
- */
184
- function clearProjectBeads(projectPath, issueLower) {
185
- return Effect.tryPromise({
186
- try: () => clearProjectBeadsImpl(projectPath, issueLower),
187
- catch: (err) => err
188
- }).pipe(Effect.catch((err) => Effect.succeed(stepFailed("teardown:clear-beads", `Failed to clear beads: ${err.message}`))));
189
- }
190
- async function clearProjectBeadsImpl(projectPath, issueLower) {
191
- const step = "teardown:clear-beads";
192
- try {
193
- const read = await createBeadsResolver(projectPath).getBeadsForIssue(issueLower);
194
- if (!read.ok) return stepFailed(step, read.reason);
195
- if (read.value.length === 0) return stepSkipped(step, [`No canonical beads found for ${issueLower}`]);
196
- const result = await runMutationBatch({
197
- project: { workspacePath: projectPath },
198
- reason: `clear beads for ${issueLower}`
199
- }, async (bd) => {
200
- for (const bead of read.value) await bd.mutate([
201
- "delete",
202
- bead.id,
203
- "--yes"
204
- ]);
205
- return read.value.length;
206
- });
207
- return result.ok ? stepOk(step, [`Deleted ${result.value} canonical beads for ${issueLower}`]) : stepFailed(step, result.message);
208
- } catch (err) {
209
- return stepFailed(step, `Failed to clear beads: ${err.message}`);
210
- }
211
- }
212
- /**
213
158
  * Remove git worktree for the workspace.
214
159
  */
215
160
  function removeWorktree(projectPath, workspacePath) {
@@ -465,7 +410,7 @@ function clearShadowState(issueId) {
465
410
  async function clearShadowStateImpl(issueId) {
466
411
  const step = "teardown:shadow-state";
467
412
  try {
468
- const { removeShadowState } = await import("./shadow-state-CVHpRWlb.js");
413
+ const { removeShadowState } = await import("./shadow-state-BqeFAygK.js");
469
414
  if (removeShadowState(issueId).success) return stepOk(step, [`Cleared shadow state for ${issueId}`]);
470
415
  return stepSkipped(step, ["No shadow state found"]);
471
416
  } catch {
@@ -515,7 +460,7 @@ function buildPlaceholders(ctx, opts, workspacePath) {
515
460
  function removeTunnelConfig(tunnelConfig, placeholders) {
516
461
  return Effect.tryPromise({
517
462
  try: async () => {
518
- const { removeTunnelIngress } = await import("./tunnel-CN2px87h.js");
463
+ const { removeTunnelIngress } = await import("./tunnel-DjlzgTl3.js");
519
464
  return stepOk("teardown:tunnel", (await Effect.runPromise(removeTunnelIngress(tunnelConfig, placeholders))).steps || ["Removed tunnel ingress"]);
520
465
  },
521
466
  catch: (err) => err
@@ -527,7 +472,7 @@ function removeTunnelConfig(tunnelConfig, placeholders) {
527
472
  function removeHumeEviConfig(humeConfig, placeholders) {
528
473
  return Effect.tryPromise({
529
474
  try: async () => {
530
- const { deleteHumeConfig } = await import("./hume-CerGi2RH.js");
475
+ const { deleteHumeConfig } = await import("./hume-B4seN95Y.js");
531
476
  return stepOk("teardown:hume", (await Effect.runPromise(deleteHumeConfig(humeConfig, placeholders))).steps || ["Removed Hume EVI config"]);
532
477
  },
533
478
  catch: (err) => err
@@ -549,8 +494,6 @@ function teardownWorkspace(ctx, opts = {}) {
549
494
  if (shouldDeleteWorkspace) results.push(yield* stopTldrDaemon(workspacePath));
550
495
  if (shouldDeleteWorkspace && !opts.skipDocker) results.push(yield* stopDocker(workspacePath, issueLower));
551
496
  if (shouldDeleteWorkspace) results.push(yield* killOrphanedProcesses(workspacePath));
552
- if (opts.clearBeads) results.push(yield* clearProjectBeads(ctx.projectPath, issueLower));
553
- else if (shouldDeleteWorkspace) results.push(yield* syncWorkspaceBeads(ctx.projectPath, workspacePath, issueLower));
554
497
  if (shouldDeleteWorkspace && (opts.workspaceConfig?.tunnel || opts.workspaceConfig?.hume)) {
555
498
  const placeholders = buildPlaceholders(ctx, opts, workspacePath);
556
499
  if (opts.workspaceConfig.tunnel) results.push(yield* removeTunnelConfig(opts.workspaceConfig.tunnel, placeholders));
@@ -574,7 +517,7 @@ function pruneSpecialistRegistry(issueId) {
574
517
  return Effect.tryPromise({
575
518
  try: async () => {
576
519
  const step = "teardown:specialist-registry";
577
- const { pruneSpecialistRegistryEntriesForIssue } = await import("./specialists-k22_Btaq.js");
520
+ const { pruneSpecialistRegistryEntriesForIssue } = await import("./specialists-D9-dMUtI.js");
578
521
  const removed = pruneSpecialistRegistryEntriesForIssue(issueId);
579
522
  return removed > 0 ? stepOk(step, [`Pruned ${removed} specialist registry entr${removed === 1 ? "y" : "ies"} for ${issueId}`]) : stepSkipped(step, [`No specialist registry entries for ${issueId}`]);
580
523
  },
@@ -585,7 +528,7 @@ function pruneCheckpointRefs(projectPath, issueLower) {
585
528
  return Effect.tryPromise({
586
529
  try: async () => {
587
530
  const step = "teardown:checkpoint-refs";
588
- const { pruneCheckpointRefsForAgents } = await import("./checkpoint-manager-DWSXooZV.js");
531
+ const { pruneCheckpointRefsForAgents } = await import("./checkpoint-manager-DixkLus7.js");
589
532
  const agentIds = [
590
533
  `agent-${issueLower}`,
591
534
  `planning-${issueLower}`,
@@ -599,4 +542,4 @@ function pruneCheckpointRefs(projectPath, issueLower) {
599
542
  //#endregion
600
543
  export { teardownWorkspace as t };
601
544
 
602
- //# sourceMappingURL=teardown-workspace-B4D-oCVg.js.map
545
+ //# sourceMappingURL=teardown-workspace-DvzqnmUF.js.map
@@ -1,7 +1,7 @@
1
- import { Fn as init_projects, qn as resolveProjectFromIssueSync } from "./config-yaml-cNOZcEww.js";
2
- import { c as init_review_status, y as setReviewStatusSync } from "./review-status-Dc1l4dVz.js";
3
- import { W as spawnRun, t as init_agents } from "./agents-B9GwfCyp.js";
4
- import { n as shouldSkipDispatchAsMerged, t as init_merge_verification } from "./merge-verification-D4wTChdX.js";
1
+ import { Fn as init_projects, qn as resolveProjectFromIssueSync } from "./config-yaml-CqaAyn8y.js";
2
+ import { c as init_review_status, y as setReviewStatusSync } from "./review-status-DANr0t-v.js";
3
+ import { X as spawnRun, s as init_agents } from "./queries-C0LCGG21.js";
4
+ import { n as shouldSkipDispatchAsMerged, t as init_merge_verification } from "./merge-verification-BBIXUEqa.js";
5
5
  import { r as init_test_verdict, t as clearTestVerdictArtifact } from "./test-verdict-CXMLATGc.js";
6
6
  import { Data, Effect } from "effect";
7
7
  //#region ../../lib/cloister/test-agent-queue.ts
@@ -163,4 +163,4 @@ const dispatchTestAgentAndNotify = (issueId, workspace, branch, notifyAgent) =>
163
163
  //#endregion
164
164
  export { buildTestRolePrompt, dispatchTestAgentAndNotify };
165
165
 
166
- //# sourceMappingURL=test-agent-queue-CnuYku4B.js.map
166
+ //# sourceMappingURL=test-agent-queue-hAU1Ah08.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { xr as init_errors } from "./config-yaml-cNOZcEww.js";
2
+ import { Sr as init_errors } from "./config-yaml-CqaAyn8y.js";
3
3
  import "effect";
4
4
  import { existsSync, readFileSync, statSync } from "fs";
5
5
  import { join } from "path";
@@ -221,4 +221,4 @@ var init_tldr_daemon = __esmMin((() => {
221
221
  //#endregion
222
222
  export { getTldrDaemonServiceSync as n, init_tldr_daemon as r, TldrDaemonService as t };
223
223
 
224
- //# sourceMappingURL=tldr-daemon-CuA8hz21.js.map
224
+ //# sourceMappingURL=tldr-daemon-Bam7Xhoo.js.map
@@ -1,3 +1,3 @@
1
- import { n as getTldrDaemonServiceSync, r as init_tldr_daemon } from "./tldr-daemon-CuA8hz21.js";
1
+ import { n as getTldrDaemonServiceSync, r as init_tldr_daemon } from "./tldr-daemon-Bam7Xhoo.js";
2
2
  init_tldr_daemon();
3
3
  export { getTldrDaemonServiceSync };
@@ -0,0 +1,3 @@
1
+ import { R as sessionExists, S as init_tmux, T as killSession, k as listSessionNames, w as isPaneDead } from "./tmux-U55cNGFG.js";
2
+ init_tmux();
3
+ export { isPaneDead, killSession, listSessionNames, sessionExists };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Jr as init_paths, f as loadConfigSync, qr as getOverdeckHome, t as init_config_yaml, vr as TmuxError, xr as init_errors } from "./config-yaml-cNOZcEww.js";
2
+ import { Jr as getOverdeckHome, Sr as init_errors, Yr as init_paths, f as loadConfigSync, t as init_config_yaml, yr as TmuxError } from "./config-yaml-CqaAyn8y.js";
3
3
  import { Effect } from "effect";
4
4
  import { appendFileSync, chmodSync, existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "fs";
5
5
  import { join } from "path";
@@ -755,6 +755,37 @@ async function isHarnessProcessAlive(sessionName) {
755
755
  }
756
756
  return paneTreeHasHarnessProcess(panePids, psTable);
757
757
  }
758
+ /**
759
+ * Scan a captured tmux pane for terminal upstream-API failures.
760
+ * Returns the first match, or null if none. Safe to call frequently — pure
761
+ * regex, no I/O.
762
+ *
763
+ * Why we collapse whitespace: real tmux captures wrap long error messages at
764
+ * the pane width, so a phrase like "usage limit for this billing cycle" can
765
+ * land across two or three lines. Matching against the raw capture would miss
766
+ * those. We normalize a copy to a single-spaced string for matching, then
767
+ * preserve the original for the `raw` diagnostics field.
768
+ */
769
+ function detectTerminalApiErrorSync(paneOutput) {
770
+ if (!paneOutput) return null;
771
+ const normalized = paneOutput.replace(/\s+/g, " ");
772
+ for (const entry of TERMINAL_API_ERROR_PATTERNS) {
773
+ const match = normalized.match(entry.re);
774
+ if (match) {
775
+ const matchedText = match[0];
776
+ const rawIdx = paneOutput.indexOf(matchedText.split(" ")[0] ?? matchedText);
777
+ const lineStart = rawIdx >= 0 ? paneOutput.lastIndexOf("\n", rawIdx) + 1 : 0;
778
+ const lineEnd = rawIdx >= 0 ? paneOutput.indexOf("\n", rawIdx) : -1;
779
+ const raw = paneOutput.slice(lineStart, lineEnd === -1 ? void 0 : lineEnd).trim().slice(0, 240);
780
+ return {
781
+ kind: entry.kind,
782
+ summary: entry.summary,
783
+ raw
784
+ };
785
+ }
786
+ }
787
+ return null;
788
+ }
758
789
  async function sendKeysAsync(sessionName, key, caller) {
759
790
  validateSessionName(sessionName);
760
791
  const target = exactPaneTarget(sessionName);
@@ -780,7 +811,7 @@ async function sendEscapeKeyAsync(sessionName, times = 1) {
780
811
  if (i < times - 1) await new Promise((resolve) => setTimeout(resolve, 250));
781
812
  }
782
813
  }
783
- var execFileAsync, VALID_SESSION_NAME_RE, DEFAULT_TMUX_WINDOW_COLS, DEFAULT_TMUX_WINDOW_ROWS, MANAGED_TMUX_SERVER_UNIT, SERVER_ALIVE_POLL_MS, SERVER_ALIVE_TIMEOUT_MS, MANAGED_TMUX_CONFIG_CONTENT, tmuxContextPrepared, warnedManagedServerTmuxSpawnScope, warnedManagedServerDirtyCmdline, MessageDeliveryFailed, KEEPALIVE_FOREGROUND_COMMANDS, toTmuxError, ensureManagedTmuxContextOnce, listSessions, listSessionNames, getWindowDimensions, sessionExists, createSession, killSession, setOption, resizeWindow, sendRawKeystroke, sendKeys, capturePane, listPaneValues, isPaneDead, getAgentSessions;
814
+ var execFileAsync, VALID_SESSION_NAME_RE, DEFAULT_TMUX_WINDOW_COLS, DEFAULT_TMUX_WINDOW_ROWS, MANAGED_TMUX_SERVER_UNIT, SERVER_ALIVE_POLL_MS, SERVER_ALIVE_TIMEOUT_MS, MANAGED_TMUX_CONFIG_CONTENT, tmuxContextPrepared, warnedManagedServerTmuxSpawnScope, warnedManagedServerDirtyCmdline, MessageDeliveryFailed, KEEPALIVE_FOREGROUND_COMMANDS, TERMINAL_API_ERROR_PATTERNS, toTmuxError, ensureManagedTmuxContextOnce, listSessions, listSessionNames, getWindowDimensions, sessionExists, createSession, killSession, setOption, resizeWindow, sendRawKeystroke, sendKeys, capturePane, listPaneValues, isPaneDead, getAgentSessions;
784
815
  var init_tmux = __esmMin((() => {
785
816
  init_paths();
786
817
  init_config_yaml();
@@ -828,6 +859,63 @@ var init_tmux = __esmMin((() => {
828
859
  "zsh",
829
860
  "ash"
830
861
  ]);
862
+ TERMINAL_API_ERROR_PATTERNS = [
863
+ {
864
+ re: /usage limit for this billing cycle/i,
865
+ kind: "quota_exhausted",
866
+ summary: "Provider quota exhausted (billing cycle limit reached)"
867
+ },
868
+ {
869
+ re: /reached your usage limit/i,
870
+ kind: "quota_exhausted",
871
+ summary: "Provider quota exhausted (usage limit reached)"
872
+ },
873
+ {
874
+ re: /(?:^|[^a-z])quota[^a-z].{0,40}(?:exceeded|exhausted|reached)/i,
875
+ kind: "quota_exhausted",
876
+ summary: "Provider quota exhausted"
877
+ },
878
+ {
879
+ re: /You've hit your limit/i,
880
+ kind: "quota_exhausted",
881
+ summary: "Provider usage limit reached"
882
+ },
883
+ {
884
+ re: /credit balance is too low/i,
885
+ kind: "quota_exhausted",
886
+ summary: "Provider credit balance too low"
887
+ },
888
+ {
889
+ re: /Please run \/login/i,
890
+ kind: "login_required",
891
+ summary: "Provider login required"
892
+ },
893
+ {
894
+ re: /authentication_error/i,
895
+ kind: "auth_failed",
896
+ summary: "Provider authentication failed"
897
+ },
898
+ {
899
+ re: /API Error:\s*401\b/i,
900
+ kind: "auth_failed",
901
+ summary: "Provider rejected request (401 unauthorized)"
902
+ },
903
+ {
904
+ re: /API Error:\s*402\b|unable to verify your membership benefits/i,
905
+ kind: "permission_denied",
906
+ summary: "Provider rejected request (402 account or membership required)"
907
+ },
908
+ {
909
+ re: /permission_error/i,
910
+ kind: "permission_denied",
911
+ summary: "Provider returned permission_error"
912
+ },
913
+ {
914
+ re: /API Error:\s*403\b/i,
915
+ kind: "permission_denied",
916
+ summary: "Provider rejected request (403 forbidden)"
917
+ }
918
+ ];
831
919
  toTmuxError = (op, cause) => new TmuxError({
832
920
  command: op,
833
921
  message: cause instanceof Error ? cause.message : String(cause),
@@ -1096,6 +1184,6 @@ var init_tmux = __esmMin((() => {
1096
1184
  getAgentSessions = () => listSessions().pipe(Effect.map((sessions) => sessions.filter((s) => s.name.startsWith("agent-"))));
1097
1185
  }));
1098
1186
  //#endregion
1099
- export { listSessionsSync as A, colorFgBgForTheme as B, isPaneDead as C, listPaneValuesSync as D, listPaneValues as E, sendKeysAsync as F, buildChildEnvSync as G, init_ui_theme as H, sendRawKeystroke as I, buildChildEnvWithoutTmuxSync as K, sessionExists as L, resizeWindow as M, sendEscapeKeyAsync as N, listSessionNames as O, sendKeys as P, sessionExistsSync as R, isHarnessProcessAlive as S, killSessionSync as T, setUiTheme as U, getUiThemeSync as V, BLANKED_PROVIDER_ENV as W, getTmuxBaseArgs as _, capturePaneSync as a, getWindowDimensions as b, ensureManagedTmuxContextOnce as c, exactPaneTarget as d, exactSession as f, getManagedTmuxSocketName as g, getManagedTmuxConfigPath as h, capturePane as i, paneTreeHasHarnessProcess as j, listSessions as k, ensureOverdeckTmuxServerAsync as l, getAgentSessions as m, buildTmuxArgs as n, createSession as o, findManagedServerPidSync as p, init_child_env as q, buildTmuxCommandString as r, createSessionSync as s, MessageDeliveryFailed as t, ensureOverdeckTmuxServerSync as u, getTmuxCommand as v, killSession as w, init_tmux as x, getTmuxConfigMode as y, setOption as z };
1187
+ export { listSessions as A, setOption as B, isHarnessProcessAlive as C, listPaneValues as D, killSessionSync as E, sendKeys as F, BLANKED_PROVIDER_ENV as G, getUiThemeSync as H, sendKeysAsync as I, init_child_env as J, buildChildEnvSync as K, sendRawKeystroke as L, paneTreeHasHarnessProcess as M, resizeWindow as N, listPaneValuesSync as O, sendEscapeKeyAsync as P, sessionExists as R, init_tmux as S, killSession as T, init_ui_theme as U, colorFgBgForTheme as V, setUiTheme as W, getManagedTmuxSocketName as _, capturePaneSync as a, getTmuxConfigMode as b, detectTerminalApiErrorSync as c, ensureOverdeckTmuxServerSync as d, exactPaneTarget as f, getManagedTmuxConfigPath as g, getAgentSessions as h, capturePane as i, listSessionsSync as j, listSessionNames as k, ensureManagedTmuxContextOnce as l, findManagedServerPidSync as m, buildTmuxArgs as n, createSession as o, exactSession as p, buildChildEnvWithoutTmuxSync as q, buildTmuxCommandString as r, createSessionSync as s, MessageDeliveryFailed as t, ensureOverdeckTmuxServerAsync as u, getTmuxBaseArgs as v, isPaneDead as w, getWindowDimensions as x, getTmuxCommand as y, sessionExistsSync as z };
1100
1188
 
1101
- //# sourceMappingURL=tmux-C3g9VFcg.js.map
1189
+ //# sourceMappingURL=tmux-U55cNGFG.js.map
@@ -1,5 +1,5 @@
1
1
  import { t as __commonJSMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { r as require_token_error, t as require_token_util } from "./token-util-DiwnnbJo.js";
2
+ import { r as require_token_error, t as require_token_util } from "./token-util-BWNpH96m.js";
3
3
  //#region ../../../node_modules/.bun/@vercel+oidc@3.2.0/node_modules/@vercel/oidc/dist/token.js
4
4
  var require_token = /* @__PURE__ */ __commonJSMin(((exports, module) => {
5
5
  var __defProp = Object.defineProperty;
@@ -54,4 +54,4 @@ var require_token = /* @__PURE__ */ __commonJSMin(((exports, module) => {
54
54
  export default require_token();
55
55
  export {};
56
56
 
57
- //# sourceMappingURL=token-g_sJ19g3.js.map
57
+ //# sourceMappingURL=token-Dsa-i36o.js.map
@@ -432,4 +432,4 @@ var require_token_util = /* @__PURE__ */ __commonJSMin(((exports, module) => {
432
432
  //#endregion
433
433
  export { require_auth_errors as n, require_token_error as r, require_token_util as t };
434
434
 
435
- //# sourceMappingURL=token-util-DiwnnbJo.js.map
435
+ //# sourceMappingURL=token-util-BWNpH96m.js.map
@@ -0,0 +1,3 @@
1
+ import { t as require_token_util } from "./token-util-BWNpH96m.js";
2
+ export default require_token_util();
3
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { En as getIssuePrefix, Fn as init_projects, Vn as loadProjectsConfigSync, f as loadConfigSync, t as init_config_yaml } from "./config-yaml-cNOZcEww.js";
2
+ import { En as getIssuePrefix, Fn as init_projects, Vn as loadProjectsConfigSync, f as loadConfigSync, t as init_config_yaml } from "./config-yaml-CqaAyn8y.js";
3
3
  import { existsSync } from "fs";
4
4
  import { join } from "path";
5
5
  import { homedir } from "os";
@@ -142,4 +142,4 @@ var init_tracker_config = __esmMin((() => {
142
142
  //#endregion
143
143
  export { init_tracker_config as a, initTrackerConfigCache as i, getLinearApiKey as n, validateRallyConfig as o, getRallyConfig as r, getGitHubConfig as t };
144
144
 
145
- //# sourceMappingURL=tracker-config-dQxC15vH.js.map
145
+ //# sourceMappingURL=tracker-config-OkdbaUCm.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { En as getIssuePrefix, Fn as init_projects, Vn as loadProjectsConfigSync, er as extractNumberSync, ir as parseIssueIdSync, nr as init_issue_id, tr as extractPrefixSync, xr as init_errors } from "./config-yaml-cNOZcEww.js";
2
+ import { En as getIssuePrefix, Fn as init_projects, Sr as init_errors, Vn as loadProjectsConfigSync, ar as parseIssueIdSync, nr as extractPrefixSync, rr as init_issue_id, tr as extractNumberSync } from "./config-yaml-CqaAyn8y.js";
3
3
  import "effect";
4
4
  import { existsSync, readFileSync } from "fs";
5
5
  import { join } from "path";
@@ -120,4 +120,4 @@ var init_tracker_utils = __esmMin((() => {
120
120
  //#endregion
121
121
  export { resolveTrackerTypeSync as a, resolveGitHubIssueSync as i, init_tracker_utils as n, parseGitHubReposSync as r, extractIssuePrefix as t };
122
122
 
123
- //# sourceMappingURL=tracker-utils--z8FLSWn.js.map
123
+ //# sourceMappingURL=tracker-utils-CghXMF3q.js.map
@@ -1,3 +1,3 @@
1
- import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils--z8FLSWn.js";
1
+ import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-CghXMF3q.js";
2
2
  init_tracker_utils();
3
3
  export { resolveGitHubIssueSync };
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { xr as init_errors, yr as TrackerError } from "./config-yaml-cNOZcEww.js";
3
- import { n as init_workspace_config, r as replacePlaceholdersSync } from "./workspace-config-ChWOECy0.js";
2
+ import { Sr as init_errors, br as TrackerError } from "./config-yaml-CqaAyn8y.js";
3
+ import { n as init_workspace_config, r as replacePlaceholdersSync } from "./workspace-config-C77NKnsV.js";
4
4
  import { Effect } from "effect";
5
5
  import { readFileSync } from "fs";
6
6
  import { resolve } from "path";
@@ -217,4 +217,4 @@ var init_tunnel = __esmMin((() => {
217
217
  //#endregion
218
218
  export { init_tunnel as n, removeTunnelIngress as r, addTunnelIngress as t };
219
219
 
220
- //# sourceMappingURL=tunnel-BpWZs0Jy.js.map
220
+ //# sourceMappingURL=tunnel-D1YxesBL.js.map
@@ -1,3 +1,3 @@
1
- import { n as init_tunnel, r as removeTunnelIngress } from "./tunnel-BpWZs0Jy.js";
1
+ import { n as init_tunnel, r as removeTunnelIngress } from "./tunnel-D1YxesBL.js";
2
2
  init_tunnel();
3
3
  export { removeTunnelIngress };
@@ -0,0 +1,3 @@
1
+ import { a as RateLimited, c as WorkspaceCreateError, i as PlanEmpty, l as WorkspaceNotFound, n as AgentStartError, o as TrackerApiError, r as IssueNotFound, s as TrackerNotConfigured, t as AgentAlreadyRunning, u as init_typed_errors } from "./typed-errors-n_Tnb4Fh.js";
2
+ init_typed_errors();
3
+ export { AgentAlreadyRunning, AgentStartError, IssueNotFound, PlanEmpty, RateLimited, TrackerApiError, TrackerNotConfigured, WorkspaceCreateError, WorkspaceNotFound };
@@ -7,7 +7,7 @@ import { Data } from "effect";
7
7
  * All service errors use Data.TaggedError for type-safe error channels.
8
8
  * Route handlers can match on specific error tags with Effect.catchTag.
9
9
  */
10
- var TrackerNotConfigured, IssueNotFound, RateLimited, TrackerApiError, WorkspaceNotFound, WorkspaceCreateError, AgentAlreadyRunning, BeadsNotInitialized, PlanEmpty, AgentStartError;
10
+ var TrackerNotConfigured, IssueNotFound, RateLimited, TrackerApiError, WorkspaceNotFound, WorkspaceCreateError, AgentAlreadyRunning, PlanEmpty, AgentStartError;
11
11
  var init_typed_errors = __esmMin((() => {
12
12
  TrackerNotConfigured = class extends Data.TaggedError("TrackerNotConfigured") {};
13
13
  IssueNotFound = class extends Data.TaggedError("IssueNotFound") {};
@@ -16,11 +16,10 @@ var init_typed_errors = __esmMin((() => {
16
16
  WorkspaceNotFound = class extends Data.TaggedError("WorkspaceNotFound") {};
17
17
  WorkspaceCreateError = class extends Data.TaggedError("WorkspaceCreateError") {};
18
18
  AgentAlreadyRunning = class extends Data.TaggedError("AgentAlreadyRunning") {};
19
- BeadsNotInitialized = class extends Data.TaggedError("BeadsNotInitialized") {};
20
19
  PlanEmpty = class extends Data.TaggedError("PlanEmpty") {};
21
20
  AgentStartError = class extends Data.TaggedError("AgentStartError") {};
22
21
  }));
23
22
  //#endregion
24
- export { PlanEmpty as a, TrackerNotConfigured as c, init_typed_errors as d, IssueNotFound as i, WorkspaceCreateError as l, AgentStartError as n, RateLimited as o, BeadsNotInitialized as r, TrackerApiError as s, AgentAlreadyRunning as t, WorkspaceNotFound as u };
23
+ export { RateLimited as a, WorkspaceCreateError as c, PlanEmpty as i, WorkspaceNotFound as l, AgentStartError as n, TrackerApiError as o, IssueNotFound as r, TrackerNotConfigured as s, AgentAlreadyRunning as t, init_typed_errors as u };
25
24
 
26
- //# sourceMappingURL=typed-errors-sLpGfegz.js.map
25
+ //# sourceMappingURL=typed-errors-n_Tnb4Fh.js.map
@@ -36,4 +36,4 @@ var init_types = __esmMin((() => {
36
36
  //#endregion
37
37
  export { PAN_DIRNAME as a, PAN_SESSIONS_FILENAME as c, WORKSPACE_RUNTIME_DIRNAME as d, asPanSpecDocument as f, PAN_CONTINUE_FILENAME as i, PAN_SPECS_DIRNAME as l, isPanSpecStatus as m, PAN_CONTEXT_FILENAME as n, PAN_DRAFTS_DIRNAME as o, init_types as p, PAN_CONTINUES_DIRNAME as r, PAN_FEEDBACK_DIRNAME as s, LEGACY_WORKSPACE_RUNTIME_DIRNAME as t, PAN_SPEC_FILENAME as u };
38
38
 
39
- //# sourceMappingURL=types-BLS_Zbmd.js.map
39
+ //# sourceMappingURL=types-DOjWNv3Z.js.map
@@ -59,4 +59,4 @@ var init_types = __esmMin((() => {}));
59
59
  //#endregion
60
60
  export { stepSkipped as a, stepOk as i, init_types as n, stepFailed as r, getLinearApiKey as t };
61
61
 
62
- //# sourceMappingURL=types-tlXf80x3.js.map
62
+ //# sourceMappingURL=types-DXBMm4mX.js.map
@@ -1,2 +1,2 @@
1
- import { a as postUatGenerationStackPayload, c as startUatTrainReconciler, i as postUatGenerationPromotePayload, l as stopUatTrainReconciler, n as getUatCandidatePayload, o as resolveUatProjectRoot, r as getUatGenerationsPayload, s as runUatTrainReconcile, t as canStartUatTrainReconciler } from "./uat-train-BRo6DM7p.js";
1
+ import { a as postUatGenerationStackPayload, c as startUatTrainReconciler, i as postUatGenerationPromotePayload, l as stopUatTrainReconciler, n as getUatCandidatePayload, o as resolveUatProjectRoot, r as getUatGenerationsPayload, s as runUatTrainReconcile, t as canStartUatTrainReconciler } from "./uat-train-CqN34zFx.js";
2
2
  export { canStartUatTrainReconciler, getUatCandidatePayload, getUatGenerationsPayload, postUatGenerationPromotePayload, postUatGenerationStackPayload, resolveUatProjectRoot, runUatTrainReconcile, startUatTrainReconciler, stopUatTrainReconciler };