@overdeck/desktop 0.45.15 → 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 (372) 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-CSuZ31bB.js → advancing-selfheal-DgwQgm4D.js} +6 -5
  8. package/server/{agent-gc-D_DxfBHR.js → agent-gc-kpzxqT7P.js} +3 -3
  9. package/server/agent-state-C_6TG-Ad.js +3 -0
  10. package/server/{agent-state-service-C_2ZAQRP.js → agent-state-service-BUfovFfB.js} +1 -1
  11. package/server/{agent-state-service-BZkvgQf4.js → agent-state-service-nUD3qfob.js} +9 -52
  12. package/server/agents-BA15AQqo.js +3 -0
  13. package/server/{briefing-freshness-Kh5V8RTh.js → agents-BHBxr8c9.js} +5 -131
  14. package/server/{archive-planning-DkivCk1A.js → archive-planning-CzCW9Ifl.js} +5 -10
  15. package/server/{archive-planning-CTILQRnV.js → archive-planning-D-QsBufn.js} +1 -1
  16. package/server/{artifact-index-jobs-CmsvQ1ey.js → artifact-index-jobs-qqa51B2Z.js} +2 -2
  17. package/server/{backlog-auto-trigger-ueRaT8Dy.js → backlog-auto-trigger-B7Bi0bvY.js} +3 -3
  18. package/server/behavior-CWqNMqE5.js +10 -0
  19. package/server/briefing-freshness-DuxIE1yr.js +131 -0
  20. package/server/{checkpoint-manager-fu9oVsR-.js → checkpoint-manager-DF6hb9Jw.js} +3 -3
  21. package/server/{checkpoint-manager-CAFos8e1.js → checkpoint-manager-DixkLus7.js} +1 -1
  22. package/server/checkpoint-worker.js +1 -1
  23. package/server/{checkpoints-DvhGi8P_.js → checkpoints-B1Z42tJE.js} +1 -1
  24. package/server/{checkpoints-1BqOlS4q.js → checkpoints-BiviJqei.js} +2 -2
  25. package/server/claude-hooks-provision-BeMGi4ty.js +3 -0
  26. package/server/{claude-hooks-provision-s_wdpeVj.js → claude-hooks-provision-Du_PkMsp.js} +132 -114
  27. package/server/{claude-permissions-CaWqysff.js → claude-permissions-BB6agcOZ.js} +2 -2
  28. package/server/{claude-settings-overlay-CcTf0xzG.js → claude-settings-overlay-CAq2oFSK.js} +2 -2
  29. package/server/{claude-settings-overlay-BbA4FbVI.js → claude-settings-overlay-DUWWLd6M.js} +1 -1
  30. package/server/cli-BFgrSWKV.js +3 -0
  31. package/server/{cli-BwCvCUBK.js → cli-C33xPZNm.js} +9 -9
  32. package/server/{cliproxy-C2xC-3vH.js → cliproxy-BQX1TL6N.js} +1 -1
  33. package/server/{cliproxy-BsoNNDAj.js → cliproxy-CGBA1GzA.js} +2 -2
  34. package/server/{close-issue-BleIwP3f.js → close-issue-DNv8npc1.js} +5 -5
  35. package/server/{closed-issue-reaper-BwUUvjEW.js → closed-issue-reaper-DrqgBJlr.js} +1 -1
  36. package/server/{closed-issue-reaper-mC5pujeb.js → closed-issue-reaper-LoMnnjtJ.js} +9 -9
  37. package/server/codex-DxLivxri.js +3 -0
  38. package/server/{behavior-Cpj03N4v.js → codex-parser-DboQnEXN.js} +3 -9
  39. package/server/{codex-DW60_5j2.js → codex-sgWVCGUd.js} +43 -17
  40. package/server/{config-BRNQJXhA.js → config-6MCHOZ2N.js} +1 -1
  41. package/server/{config-ZNnMpIlh.js → config-DfaUXr6r.js} +2 -2
  42. package/server/{config-yaml-Dcz-8uit.js → config-yaml-CqaAyn8y.js} +149 -80
  43. package/server/{conflict-gate-DTje2Ll7.js → conflict-gate-BF_zhcmb.js} +3 -3
  44. package/server/{conflict-gate-DGT8jCLp.js → conflict-gate-BubJprtD.js} +1 -1
  45. package/server/{context-layers-BdUCQ-cl.js → context-layers-BFrxfl0l.js} +17 -3
  46. package/server/{context-layers-ByOWUjUg.js → context-layers-DWL_8HhY.js} +2 -2
  47. package/server/{control-settings-DwkAeooY.js → control-settings-BguNQ1F_.js} +4 -4
  48. package/server/{conversation-compaction-WYQZUVDm.js → conversation-compaction-CRKAf2qP.js} +1 -1
  49. package/server/{conversation-compaction-OTYgd6eg.js → conversation-compaction-DxSXl0pT.js} +8 -8
  50. package/server/{conversation-service-C_kNZPLx.js → conversation-service-DzuY9qoH.js} +1 -1
  51. package/server/{conversation-service-BR1OgvxO.js → conversation-service-mFVFdDQK.js} +6 -5
  52. package/server/{conversations-DG2M8WnT.js → conversations-BX5aD-6F.js} +4 -4
  53. package/server/{conversations-izHvSoAR.js → conversations-BajHQ60c.js} +1 -1
  54. package/server/{cost-DQ2ajr_m.js → cost-BoqD1Pxz.js} +2 -2
  55. package/server/{cost-B2mj17iG.js → cost-DuZ5vlv-.js} +3 -3
  56. package/server/{cost-sync-gTayEuWP.js → cost-sync-BYnmnMkY.js} +3 -3
  57. package/server/{dag-CqTehWpY.js → dag-C6kYyF17.js} +7 -243
  58. package/server/{dangerous-git-ops-DDWQlPC3.js → dangerous-git-ops-q5OPtXMd.js} +1 -1
  59. package/server/dashboard-db-worker.js +6 -6
  60. package/server/{deacon-BqW9HMew.js → deacon-CwCiNuEZ.js} +3 -3
  61. package/server/{deacon-DrKDBeJL.js → deacon-Dru5onpk.js} +258 -167
  62. package/server/{deacon-nudge-log-D1wEK6zF.js → deacon-nudge-log-ilDfxrhK.js} +1 -1
  63. package/server/{deacon-swarm-CO_A7xyd.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-BQolp_qZ.js → devcontainer-renderer-BqGNCzvN.js} +3 -3
  67. package/server/{dist-Bc32rWJB.js → dist-BwlEiLCU.js} +1 -1
  68. package/server/dist-Bx4KkgYL.js +3 -0
  69. package/server/{dist-src-Byxt1ifL.js → dist-src-BE0Denfs.js} +1 -1
  70. package/server/{docker-s-esqZ__.js → docker-CNjXS72x.js} +2 -2
  71. package/server/{ensure-devcontainer-DA4-jF6R.js → ensure-devcontainer-5e9xOve4.js} +4 -4
  72. package/server/{ensure-devcontainer-pUVaT0h3.js → ensure-devcontainer-C6gyUQdE.js} +1 -1
  73. package/server/{esm-shims-CJHy8CZY.js → esm-shims-Cso7IGBC.js} +1 -1
  74. package/server/{event-store-CcJAhKCl.js → event-store-D9UhQyMS.js} +1 -1
  75. package/server/{event-store-DRte2Rwt.js → event-store-KZnWUKWh.js} +3 -3
  76. package/server/{events-Bej1w_k8.js → events-2eFUPdqz.js} +3 -3
  77. package/server/{events-CtsLScn8.js → events-BYbvqZky.js} +1 -1
  78. package/server/{factory-FN727tWr.js → factory-BtaRsHFC.js} +20 -17
  79. package/server/{feature-registry-population-ie-yBcQC.js → feature-registry-population-Ca2UaV0U.js} +4 -4
  80. package/server/{feature-registry-storage-CkZTFSsn.js → feature-registry-storage-DaP-bQxO.js} +2 -2
  81. package/server/{features-Dtm9ABuz.js → features-DqvaoQoa.js} +2 -2
  82. package/server/{feedback-target-BYtpyt1i.js → feedback-target-BXWdOiYI.js} +9 -7
  83. package/server/{feedback-target-DVJQDiE4.js → feedback-target-BblmMe9P.js} +1 -1
  84. package/server/{feedback-writer-DOUhyIW2.js → feedback-writer-CULeOOY4.js} +1 -1
  85. package/server/{feedback-writer-fdE1BzeL.js → feedback-writer-Dn8o9ZyE.js} +4 -4
  86. package/server/{flywheel-Bi82iiNl.js → flywheel-BUWdcfhq.js} +1 -1
  87. package/server/{flywheel-Bv3wv2S6.js → flywheel-CqkO3cDj.js} +15 -28
  88. package/server/{flywheel-CUErLAyN.js → flywheel-D9r1mw2U.js} +13 -13
  89. package/server/{flywheel-merge-order-DXjeBnJ1.js → flywheel-merge-order-LDzQDwSg.js} +1 -1
  90. package/server/{flywheel-merge-order-BaEN3iyN.js → flywheel-merge-order-VtjUweEb.js} +7 -7
  91. package/server/forge-DJy3Zx4s.js +2 -0
  92. package/server/{forge-ButEdJ31.js → forge-wEollMCi.js} +22 -12
  93. package/server/{from-CbtTxftl.js → from-B2tOYhYV.js} +1 -1
  94. package/server/{fts-db-CBgBLZcL.js → fts-db-Bgzn2RO7.js} +2 -2
  95. package/server/{fts-operations-CI9Xuo_1.js → fts-operations-Bj8yutnR.js} +2 -2
  96. package/server/{git-utils-ClfpP47N.js → git-utils-GxlL0tmt.js} +2 -2
  97. package/server/{git-utils-BCLRWQ-y.js → git-utils-q8jNoBts.js} +1 -1
  98. package/server/{github-app-DRD2woO0.js → github-app-BrYwK_Gb.js} +1 -1
  99. package/server/{github-app-DscZ0_B6.js → github-app-tUbb8Ldr.js} +8 -3
  100. package/server/{github-client-DpiZnxGH.js → github-client-BwBU41jK.js} +3 -3
  101. package/server/{github-client-iFRw8f7e.js → github-client-D6CNsftm.js} +1 -1
  102. package/server/{github-pr-lookup-D-EBexxC.js → github-pr-lookup-BS5PqkJb.js} +2 -2
  103. package/server/{harness-resolve-iMjyNUJ2.js → harness-resolve-Dx8hUsvC.js} +3 -3
  104. package/server/{health-events-CRdxDFN2.js → health-events-2DLp-5Xp.js} +2 -2
  105. package/server/{health-events-B_WsQyYm.js → health-events-B0mj6Iae.js} +1 -1
  106. package/server/{hooks-C1ScyVxP.js → hooks-BDcQJDUe.js} +1 -1
  107. package/server/{hooks-C9b7Vqpw.js → hooks-BS_JrvYP.js} +3 -3
  108. package/server/hume-B4seN95Y.js +3 -0
  109. package/server/{hume-TQ5pvOZ_.js → hume-BRhNKyXQ.js} +2 -2
  110. package/server/{idle-stack-reaper-B1kG7B_X.js → idle-stack-reaper-BCITXNW5.js} +2 -2
  111. package/server/{idle-stack-reaper-iFVOAoJy.js → idle-stack-reaper-C1ymihno.js} +1 -1
  112. package/server/{infra-bpq1MHKU.js → infra-_Kx1m9pm.js} +9 -4
  113. package/server/{injection-BLWfwTVZ.js → injection-Bvhyg_MV.js} +1 -1
  114. package/server/{injection-DJqWld1v.js → injection-CCaYkofq.js} +7 -7
  115. package/server/{inspect-agent-DytCsltn.js → inspect-agent-BqyZ4pCo.js} +35 -67
  116. package/server/inspect-agent-DCJQm9Wu.js +2 -0
  117. package/server/{internal-token-CjlhdufS.js → internal-token-Cl-1IxaE.js} +2 -2
  118. package/server/{internal-token-CCaWaTwE.js → internal-token-D-t28de5.js} +1 -1
  119. package/server/{io-BiQ2Cs3k.js → io-DkC4sFSy.js} +42 -56
  120. package/server/{issue-closed-FApNiOOs.js → issue-closed-Cpl4VDUM.js} +41 -6
  121. package/server/{issue-lifecycle-C-K53ASY.js → issue-lifecycle-CFR8TJ22.js} +22 -37
  122. package/server/{issue-lifecycle-BkFWNjlD.js → issue-lifecycle-YNTy3OT3.js} +1 -1
  123. package/server/{issue-service-singleton-bG1WdSdQ.js → issue-service-singleton-D81mCts_.js} +1 -1
  124. package/server/{issue-service-singleton-CuHGpJJP.js → issue-service-singleton-ldvUUXi3.js} +29 -29
  125. package/server/{issues-CwQMphDH.js → issues-DIEHt9sq.js} +2 -2
  126. package/server/{jsonl-parser-dNIjHgym.js → jsonl-parser-Cd5jIqh7.js} +3 -3
  127. package/server/{label-cleanup-DYvAZknd.js → label-cleanup-Btny6Gyo.js} +3 -3
  128. package/server/{state-home-CRowbXqU.js → launcher-generator-BXLM9f4b.js} +7 -127
  129. package/server/{layers-CD6FysRU.js → layers-gCJlK62m.js} +2 -2
  130. package/server/lifecycle-D7aQUnTO.js +12 -0
  131. package/server/{lifecycle-io-C_Wu0_i-.js → lifecycle-io-DQBF-GHO.js} +1 -1
  132. package/server/{lifecycle-io-CeYxP3cE.js → lifecycle-io-FfPUtz-y.js} +36 -47
  133. package/server/{linear-client-EtVyblVz.js → linear-client-CDH2D6Qy.js} +3 -3
  134. package/server/{linear-client-4qoKnuQu.js → linear-client-WrYrUIAH.js} +1 -1
  135. package/server/memory-fts-worker.js +1 -1
  136. package/server/{merge-7rqkTUm2.js → merge-BsDgUxFz.js} +3 -3
  137. package/server/{merge-brm721Es.js → merge-Dervs4BF.js} +1 -1
  138. package/server/{merge-agent-4Zhlgvqp.js → merge-agent-D6DNhe9j.js} +64 -51
  139. package/server/{merge-agent-36wfYm2u.js → merge-agent-DMQTJMP0.js} +1 -1
  140. package/server/{merge-batch-itfnwdsT.js → merge-batch-Bv6Z5K2H.js} +1 -1
  141. package/server/{merge-blockers-Bto_Oe_o.js → merge-blockers-WWWi6Ur2.js} +2 -2
  142. package/server/merge-ops-h9OCnIVz.js +2 -0
  143. package/server/{merge-rebase-Czfqfe4q.js → merge-rebase-Czth9ggm.js} +2 -2
  144. package/server/{merge-set-BIkGQL9j.js → merge-set-DNc4zBqd.js} +3 -3
  145. package/server/{merge-set-G1RHcu3D.js → merge-set-vuE3MEVt.js} +1 -1
  146. package/server/{merge-sync-B43Dybea.js → merge-sync-B2KSk54U.js} +2 -2
  147. package/server/{merge-sync-DIrmlZUr.js → merge-sync-B9nHdUGx.js} +1 -1
  148. package/server/{merge-train-DGqVuNZV.js → merge-train-DJgr81tF.js} +3 -3
  149. package/server/{merge-train-deps-q15XLnAS.js → merge-train-deps-B2OWS0k9.js} +4 -4
  150. package/server/{merge-verification-Cqfxx6bE.js → merge-verification-BBIXUEqa.js} +4 -4
  151. package/server/{multipart-parser-CiPxxfUH.js → multipart-parser-9DhuAkPd.js} +2 -2
  152. package/server/{no-resume-mode-yrPEQ_pC.js → no-resume-mode-Gh5R_YLF.js} +1 -1
  153. package/server/node_modules/.package-lock.json +11 -11
  154. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +3 -3
  155. package/server/node_modules/toml/README.md +54 -0
  156. package/server/node_modules/toml/index.d.ts +42 -1
  157. package/server/node_modules/toml/index.js +3 -3
  158. package/server/node_modules/toml/lib/compiler.js +35 -3
  159. package/server/node_modules/toml/lib/parser.js +224 -143
  160. package/server/node_modules/toml/package.json +3 -1
  161. package/server/node_modules/ws/lib/receiver.js +15 -32
  162. package/server/node_modules/ws/lib/websocket-server.js +4 -4
  163. package/server/node_modules/ws/lib/websocket.js +4 -4
  164. package/server/node_modules/ws/package.json +5 -1
  165. package/server/{orphan-proposed-reconciler-BWWHn4Lr.js → orphan-proposed-reconciler-B8H41C4a.js} +14 -24
  166. package/server/{orphan-proposed-reconciler-DAD9FJtQ.js → orphan-proposed-reconciler-DbTmT7qy.js} +1 -1
  167. package/server/package-lock.json +12 -12
  168. package/server/package.json +1 -1
  169. package/server/{pan-dir-Bj7Hy8iu.js → pan-dir-BTw4MdSe.js} +4 -4
  170. package/server/{paths-C9DkhIOT.js → paths-Btkc8mzp.js} +2 -2
  171. package/server/{pickup-CKRuGDsB.js → pickup-BtvRBbvI.js} +1 -1
  172. package/server/{pipeline-notifier-BkKbQ8ji.js → pipeline-notifier-3frIvSi3.js} +1 -1
  173. package/server/{pipeline-notifier-CAurUste.js → pipeline-notifier-DTd19f18.js} +2 -2
  174. package/server/{project-pipelines-BRWaGmI4.js → project-pipelines-B95fcAek.js} +2 -2
  175. package/server/projects-Dc9aoVoG.js +3 -0
  176. package/server/{prompts-DfI5qbTW.js → prompts-CIVmjHxn.js} +2 -2
  177. package/server/{providers-D-5txBRc.js → providers-BLLk5IIb.js} +1 -1
  178. package/server/{providers-CWDXoaMA.js → providers-C-yWibCk.js} +7 -7
  179. package/server/public/assets/chunk-BO2N2NFS-DzKZyoKY.js +103 -0
  180. package/server/public/assets/{diagram-OG6HWLK6-Avtvq2qI.js → diagram-OG6HWLK6-Cx8mWUb8.js} +1 -1
  181. package/server/public/assets/{dist-BEHQuasD.js → dist-BqccLhaw.js} +3 -3
  182. package/server/public/assets/{dist-BvmY-qb1.js → dist-rC3nAs_O.js} +1 -1
  183. package/server/public/assets/{ganttDiagram-6RSMTGT7-7KhCd0fH.js → ganttDiagram-6RSMTGT7-DLYPLf5T.js} +1 -1
  184. package/server/public/assets/{highlighted-body-OFNGDK62-iQoBMTf0.js → highlighted-body-OFNGDK62-D4DqixbV.js} +1 -1
  185. package/server/public/assets/index-CPcysUHk.js +796 -0
  186. package/server/public/assets/index-H5M0yhM4.css +1 -0
  187. package/server/public/assets/{linear-CiJHW9g5.js → linear-yqcXkDfj.js} +1 -1
  188. package/server/public/assets/mermaid-GHXKKRXX-CWdZ_heB.js +1 -0
  189. package/server/public/assets/{pieDiagram-4H26LBE5-BOhmvUhW.js → pieDiagram-4H26LBE5-DhraIOaV.js} +1 -1
  190. package/server/public/assets/{prod-DmLBBqat.js → prod-DKUunUdN.js} +4 -4
  191. package/server/public/assets/{quadrantDiagram-W4KKPZXB-Cjku660G.js → quadrantDiagram-W4KKPZXB-DPiRcToa.js} +1 -1
  192. package/server/public/assets/{sankeyDiagram-5OEKKPKP-D52w5oPh.js → sankeyDiagram-5OEKKPKP-3An5HNkZ.js} +1 -1
  193. package/server/public/assets/{xychartDiagram-2RQKCTM6-BTO07_Iv.js → xychartDiagram-2RQKCTM6-lbEOjfqQ.js} +1 -1
  194. package/server/public/index.html +2 -2
  195. package/server/{pull-requests-CKZPWhjD.js → pull-requests-D7AL5woD.js} +1 -1
  196. package/server/{pull-requests-Bmre-Xlz.js → pull-requests-NDDNtqNq.js} +3 -3
  197. package/server/{agents-CsOzAmRg.js → queries-C0LCGG21.js} +743 -399
  198. package/server/{rally-BBd9tQ__.js → rally-4oKvnxLG.js} +3 -3
  199. package/server/rally-DF5a3ioP.js +3 -0
  200. package/server/{rally-api-DxZFObI_.js → rally-api-41tT6ikZ.js} +2 -2
  201. package/server/{rally-api-DDc85HIz.js → rally-api-BsaQ8Vnz.js} +1 -1
  202. package/server/{rally-client-DvvLiAQP.js → rally-client-Bo4hNcCZ.js} +5 -5
  203. package/server/{rally-client-BADHn0m_.js → rally-client-b5PT1x5L.js} +1 -1
  204. package/server/{reap-terminal-sessions-D_xvy-Mk.js → reap-terminal-sessions-BR39qflC.js} +1 -1
  205. package/server/{reap-terminal-sessions-D6JDJsqF.js → reap-terminal-sessions-CFkuquQj.js} +1 -1
  206. package/server/{rebuild-stack-GOsWqXi3.js → rebuild-stack-C7JPUom6.js} +1 -1
  207. package/server/{rebuild-stack-D19i080j.js → rebuild-stack-Ddv6W017.js} +6 -6
  208. package/server/{reconstruct-cache-lQrG4xGg.js → reconstruct-cache-Gqhm---K.js} +6 -6
  209. package/server/record-DLOqfbkI.js +3 -0
  210. package/server/record-update-BltEmPge.js +168 -0
  211. package/server/record-update-CDp7aTaT.js +3 -0
  212. package/server/recovery-trip-Cn7KJVkS.js +44 -0
  213. package/server/{release-engine-DxcMWRuK.js → release-engine-BYzmIBf9.js} +5 -5
  214. package/server/{release-set-BYsgX7o6.js → release-set-7pnxFOWR.js} +3 -3
  215. package/server/{remote-DmeL21dF.js → remote-Cvu4CSDk.js} +3 -3
  216. package/server/{remote-agents-BfQBE6MN.js → remote-agents-C2C6z9tj.js} +6 -33
  217. package/server/{remote-agents-DlvbzO7m.js → remote-agents-DYY5fFpd.js} +1 -1
  218. package/server/{remote-completion-BgkiSQmx.js → remote-completion-2Kb4IDg_.js} +13 -13
  219. package/server/{remote-8W2Yhygw.js → remote-rN0ecjHE.js} +3 -3
  220. package/server/resume-BFLl-yLn.js +3 -0
  221. package/server/{review-agent-D025Wt7w.js → review-agent-BZvk0N5G.js} +31 -23
  222. package/server/{review-agent-Rub0OpZc.js → review-agent-CpSHLzed.js} +1 -1
  223. package/server/{review-artifacts-CX951jTU.js → review-artifacts-PCo53YMn.js} +5 -19
  224. package/server/{review-context-DGGGR_w5.js → review-context-M7QtJlJq.js} +8 -8
  225. package/server/{review-monitor-0_qqMcnS.js → review-monitor-BLC5mTTg.js} +2 -2
  226. package/server/{review-status-Br6lAFGO.js → review-status-77N3PoZr.js} +1 -1
  227. package/server/{review-status-4qqLkRMu.js → review-status-DANr0t-v.js} +33 -59
  228. package/server/{review-status-enrichment-Cr8m3uVL.js → review-status-enrichment-DwOg4UfL.js} +3 -3
  229. package/server/{review-status-sync-D3KUhsdA.js → review-status-sync-Bd08OOFA.js} +1 -1
  230. package/server/{review-status-sync-OC-l1lNt.js → review-status-sync-BjTUJ5fx.js} +2 -2
  231. package/server/{review-verdict-feedback-YOzmsq9G.js → review-verdict-feedback-BsFLjN_6.js} +1 -1
  232. package/server/{review-verdict-feedback-DrWMuRaj.js → review-verdict-feedback-CBf-J_wS.js} +8 -8
  233. package/server/{rollup-CnxbwaLH.js → rollup-Bu0f2EyN.js} +8 -8
  234. package/server/{rollup-DmazRY0j.js → rollup-DTCCdEy4.js} +1 -1
  235. package/server/{scanner-DE1MqAaF.js → scanner-BlZ2vB7j.js} +7 -7
  236. package/server/{sequence-io-C0uoqfGx.js → sequence-io-ylyDtz2J.js} +4 -4
  237. package/server/{sequencer-agent-i-b2u4SJ.js → sequencer-agent-DsWQ-87H.js} +6 -17
  238. package/server/server.js +5670 -6392
  239. package/server/{service-D0_gh2tl.js → service-CLVBC_1Y.js} +116 -90
  240. package/server/{session-fork-DZ12vipL.js → session-fork-DlEIAhRy.js} +2 -2
  241. package/server/session-history-bnOFKMwf.js +168 -0
  242. package/server/settings-CP3GGon2.js +2 -0
  243. package/server/{settings-ByqjPtFO.js → settings-Cqa-8nyj.js} +2 -2
  244. package/server/{settings-DCC4BAqj.js → settings-gJrdLZy2.js} +3 -3
  245. package/server/{shadow-engineering-BhnmtW5m.js → shadow-engineering-fq1YEKV3.js} +3 -3
  246. package/server/{shadow-state-ByXZehsy.js → shadow-state-BqeFAygK.js} +1 -1
  247. package/server/{shadow-state-CKm8xWX9.js → shadow-state-RptE9Cau.js} +2 -2
  248. package/server/shadow-utils-BMWr5tRT.js +39 -0
  249. package/server/{ship-log-DE_0Cv_i.js → ship-log-BRQQi2lU.js} +1 -1
  250. package/server/{smart-compaction-D5Zen3AA.js → smart-compaction-CmoXpjeU.js} +7 -7
  251. package/server/{smart-compaction-h4_ca6Uk.js → smart-compaction-DldUel4B.js} +1 -1
  252. package/server/{spawn-planning-session-Dueit4WX.js → spawn-planning-session-CoS6LTc6.js} +16 -16
  253. package/server/{spawn-planning-session-Bgi7Ub02.js → spawn-planning-session-DT2tSMxo.js} +1 -1
  254. package/server/{specialist-completion-BZ8M-WZ0.js → specialist-completion-pJtESo7m.js} +1 -1
  255. package/server/{specialist-context-BMq83C58.js → specialist-context-CspI4Eog.js} +5 -5
  256. package/server/{specialist-handoff-logger-BxX1YefH.js → specialist-handoff-logger-Duz9RGvk.js} +2 -2
  257. package/server/{specialist-logs-BWZYcJ6P.js → specialist-logs-DtSkPJZK.js} +3 -3
  258. package/server/{specialists-ZkW4Mb7U.js → specialists-CywEMwxk.js} +1 -1
  259. package/server/{specialists-8ZAguXef.js → specialists-D9-dMUtI.js} +1 -1
  260. package/server/{specialists-BudKrjOu.js → specialists-Dax7tqXC.js} +1817 -560
  261. package/server/{specialists-DrPrC9Y9.js → specialists-GF42OOqd.js} +18 -18
  262. package/server/specs-VwcFtEDi.js +3 -0
  263. package/server/{src-DHn4Rd2F.js → src-By3D85Ry.js} +77 -1
  264. package/server/{src-Dv6L03vW.js → src-CqyFg52C.js} +5 -5
  265. package/server/{src-DNUUqkec.js → src-DhxM-eCb.js} +6 -6
  266. package/server/{stack-health-Dclm7_tu.js → stack-health-BsEVrJZ6.js} +1 -1
  267. package/server/{stack-health-DxsTx7II.js → stack-health-C-SnpRHh.js} +2 -2
  268. package/server/stale-task-claims-vTxmRzLi.js +69 -0
  269. package/server/state-home-Bur1y4oH.js +213 -0
  270. package/server/{state-mapping-BvAgFK8n.js → state-mapping-Ci0pkac4.js} +1 -1
  271. package/server/state-migrate-D3VveYfO.js +362 -0
  272. package/server/{stuck-remediation-CFWUP8_I.js → stuck-remediation-B699-p8v.js} +63 -46
  273. package/server/{stuck-remediation-CLHd-lrF.js → stuck-remediation-CaFYYTQW.js} +1 -1
  274. package/server/{summary-fork-CKc01Our.js → summary-fork-BxnF8Xh0.js} +2 -2
  275. package/server/{summary-fork-CtCwBJ2Z.js → summary-fork-COqYpVa3.js} +8 -8
  276. package/server/supervisor/{paths-3R6b989k.js → paths-Bk6hJRH9.js} +4 -3
  277. package/server/supervisor/pty-supervisor.js +2 -2
  278. package/server/supervisor/{pty-token-CScQ32Rj.js → pty-token-BZS5GYdG.js} +2 -2
  279. package/server/supervisor-eWAAmXKu.js +2 -0
  280. package/server/{supervisor-BA5D72Qa.js → supervisor-liMgIPDF.js} +2 -2
  281. package/server/{swarm-readiness-CL5sM9B1.js → swarm-readiness-sXB1vhzo.js} +3 -3
  282. package/server/{system-prerequisites-DmFSXIE5.js → system-prerequisites-Bz6KdkFJ.js} +1 -13
  283. package/server/{teardown-workspace-DWmFJzTw.js → teardown-workspace-DvzqnmUF.js} +14 -71
  284. package/server/{test-agent-queue-DjsQoV5X.js → test-agent-queue-hAU1Ah08.js} +6 -6
  285. package/server/{test-verdict-BSqsQp3G.js → test-verdict-CRsPpByy.js} +1 -1
  286. package/server/{test-verdict-D1AmZ2c0.js → test-verdict-CXMLATGc.js} +1 -1
  287. package/server/{tldr-daemon-C-MGomL8.js → tldr-daemon-Bam7Xhoo.js} +2 -2
  288. package/server/{tldr-daemon-DD9rI5gA.js → tldr-daemon-DhGwd88s.js} +1 -1
  289. package/server/tmux-C-rgxRDA.js +3 -0
  290. package/server/{tmux-C_d-lSIq.js → tmux-U55cNGFG.js} +92 -4
  291. package/server/{token-DfBf1bsd.js → token-Dsa-i36o.js} +2 -2
  292. package/server/{token-util-CROoF5ic.js → token-util-BWNpH96m.js} +1 -1
  293. package/server/token-util-DRt0j2nQ.js +3 -0
  294. package/server/{tracker-config-CNODpd11.js → tracker-config-OkdbaUCm.js} +2 -2
  295. package/server/{tracker-utils-Ch2_5GGf.js → tracker-utils-CghXMF3q.js} +2 -2
  296. package/server/{tracker-utils-B9ZoVA9b.js → tracker-utils-DdzUiPNU.js} +1 -1
  297. package/server/{traefik-connect-BF4x_LUQ.js → traefik-connect-CZYB3dlm.js} +1 -1
  298. package/server/{tunnel-r_5nHAI6.js → tunnel-D1YxesBL.js} +3 -3
  299. package/server/{tunnel-YD80_IHr.js → tunnel-DjlzgTl3.js} +1 -1
  300. package/server/typed-errors-CH4roFIj.js +3 -0
  301. package/server/{typed-errors-BEJhbjJg.js → typed-errors-n_Tnb4Fh.js} +3 -4
  302. package/server/{types-CE1m_daD.js → types-DOjWNv3Z.js} +1 -1
  303. package/server/{types-33JEP4LZ.js → types-DXBMm4mX.js} +1 -1
  304. package/server/{uat-train-DDI00aqD.js → uat-train-CaaWs9Rp.js} +1 -1
  305. package/server/{uat-train-DjkFWXge.js → uat-train-CqN34zFx.js} +24 -25
  306. package/server/{validation-DUTiJnyz.js → validation-4-z2Cw4z.js} +70 -23
  307. package/server/validation-DpTNakM6.js +3 -0
  308. package/server/verification-artifact-DK1xb1zG.js +56 -0
  309. package/server/verification-artifact-JD_edpZ9.js +2 -0
  310. package/server/{verification-runner-inLgeQux.js → verification-runner-BjHN80pJ.js} +338 -58
  311. package/server/verification-runner-ShYu5Ph3.js +2 -0
  312. package/server/{work-agent-prompt-fZljjA1_.js → work-agent-prompt-BiJ43Der.js} +12 -88
  313. package/server/workflows-B4C3lY9E.js +2 -0
  314. package/server/{workflows-oBnJ7Tm0.js → workflows-DkTotz_m.js} +17 -24
  315. package/server/{workspace-CNuW2j41.js → workspace-CuN0ev4Z.js} +3 -3
  316. package/server/{workspace-B2WOW9Hw.js → workspace-DQ4vVivd.js} +1 -1
  317. package/server/{workspace-config-CBgMGhWs.js → workspace-config-C77NKnsV.js} +1 -1
  318. package/server/{workspace-manager-DjUAJCSs.js → workspace-manager-B1mYn0lN.js} +1 -1
  319. package/server/{workspace-manager-CB-R07R3.js → workspace-manager-Beeo2aKF.js} +23 -48
  320. package/server/{workspace-metadata-9Nn5kgRl.js → workspace-metadata-BZC5BmoP.js} +2 -2
  321. package/server/{workspace-metadata-Fd58uUQG.js → workspace-metadata-Cy7_ZACL.js} +1 -1
  322. package/server/{workspaces-BjWXntty.js → workspaces-CGuzW1Ia.js} +191 -153
  323. package/sync-sources/hooks/ask-user-question-hook +7 -1
  324. package/sync-sources/hooks/codex-notify-hook +64 -8
  325. package/sync-sources/hooks/record-cost-event.js +1109 -36
  326. package/sync-sources/hooks/record-cost-event.js.map +1 -1
  327. package/sync-sources/hooks/statusline.sh +2 -2
  328. package/sync-sources/hooks/work-agent-stop-hook +1 -2
  329. package/server/acceptance-criteria-DHZk2ceV.js +0 -33
  330. package/server/agent-runtime-mirror-DrWxopNA.js +0 -37
  331. package/server/agent-state-EP2QFV9n.js +0 -3
  332. package/server/agents-DCvyTXNU.js +0 -3
  333. package/server/auto-commit-QAfsu3Sb.js +0 -3
  334. package/server/bd-process-lock-D3S4T4o-.js +0 -390
  335. package/server/beads-BGGxrkZ5.js +0 -649
  336. package/server/beads-CYsLiyIM.js +0 -2
  337. package/server/beads-query-B1DlJVp9.js +0 -95
  338. package/server/beads-restore-CyygSmmn.js +0 -23
  339. package/server/cli-ClIQwgMI.js +0 -3
  340. package/server/codex-B7DTpwEw.js +0 -3
  341. package/server/compact-beads-CK_hHEnB.js +0 -3
  342. package/server/compact-beads-DKL54y6j.js +0 -94
  343. package/server/deacon-swarm-BY5hKNaU.js +0 -2
  344. package/server/dist-DGTwcZhI.js +0 -3
  345. package/server/export-Dx_qJ3h8.js +0 -87
  346. package/server/forge-XlDgPQWs.js +0 -2
  347. package/server/hume-K1pi8jC4.js +0 -3
  348. package/server/inspect-agent-477VxQim.js +0 -2
  349. package/server/lifecycle-C_73gi-C.js +0 -14
  350. package/server/merge-ops-PzqsW69V.js +0 -2
  351. package/server/projects-KJ94e50I.js +0 -3
  352. package/server/public/assets/chunk-BO2N2NFS-ClukPsZQ.js +0 -103
  353. package/server/public/assets/index-DUFDmvmH.css +0 -1
  354. package/server/public/assets/index-DnTZ2QeN.js +0 -796
  355. package/server/public/assets/mermaid-GHXKKRXX-DZJOwgBG.js +0 -1
  356. package/server/rally-Dc2Wnxw2.js +0 -3
  357. package/server/record-pyB6VA32.js +0 -3
  358. package/server/recovery-trip-Dfh1tNHn.js +0 -98
  359. package/server/resolver-dTpSSzaH.js +0 -158
  360. package/server/resume-DhcIqsTm.js +0 -3
  361. package/server/settings-yydgaqhv.js +0 -2
  362. package/server/specs-DwoAEGrW.js +0 -3
  363. package/server/supervisor-DHjumXlL.js +0 -2
  364. package/server/tmux-x291Gjjb.js +0 -3
  365. package/server/token-util-xNaV-00f.js +0 -3
  366. package/server/tracker-config-DItsdelv.js +0 -3
  367. package/server/typed-errors-DSPn_xWP.js +0 -3
  368. package/server/validation-ict8hnXk.js +0 -3
  369. package/server/verification-runner-ATaLbpr5.js +0 -2
  370. package/server/workflows-tU7KKxQi.js +0 -2
  371. package/server/writer-CQMGzEkw.js +0 -3
  372. package/server/writer-fe1-8iGc.js +0 -251
@@ -0,0 +1,168 @@
1
+ import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
+ import { Jr as getOverdeckHome, Yr as init_paths } from "./config-yaml-CqaAyn8y.js";
3
+ import { a as getHarnessBehavior } from "./src-By3D85Ry.js";
4
+ import { t as init_behavior } from "./behavior-CWqNMqE5.js";
5
+ import { Effect } from "effect";
6
+ import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
7
+ import { join } from "path";
8
+ import { randomUUID } from "crypto";
9
+ import "fs/promises";
10
+ //#region ../../lib/agent-runtime-mirror.ts
11
+ /**
12
+ * PAN-800 — in-process mirror of AgentStateService's canonical ref.
13
+ *
14
+ * The dashboard server writes into this mirror on every event fold so lib code
15
+ * running in the same process can read the latest AgentRuntimeSnapshot.
16
+ * CLI/out-of-process callers should prefer the async HTTP path in agent-runtime.ts.
17
+ *
18
+ * All exports are Effect-native (PAN-1249 wave-1 migration).
19
+ */
20
+ function markAgentStateServiceInProcess() {
21
+ return Effect.sync(() => {
22
+ inProcessService = true;
23
+ });
24
+ }
25
+ function isAgentStateServiceInProcess() {
26
+ return Effect.sync(() => inProcessService);
27
+ }
28
+ function setAgentRuntimeMirror(next) {
29
+ return Effect.sync(() => {
30
+ mirror = next;
31
+ });
32
+ }
33
+ function getRuntimeSnapshot(agentId) {
34
+ return Effect.sync(() => mirror[agentId] ?? null);
35
+ }
36
+ var mirror, inProcessService;
37
+ var init_agent_runtime_mirror = __esmMin((() => {
38
+ mirror = {};
39
+ inProcessService = false;
40
+ }));
41
+ //#endregion
42
+ //#region ../../lib/persistent-logger.ts
43
+ /**
44
+ * Append-only persistent logger for forensic audit trails.
45
+ *
46
+ * Complements the SQLite event store (activity-logger.ts) with flat-file logs
47
+ * that survive event-store resets and are greppable from the shell.
48
+ *
49
+ * Files:
50
+ * ~/.overdeck/logs/deacon.log — deacon startup recovery actions
51
+ * ~/.overdeck/agents/<id>/lifecycle.log — per-agent state transitions
52
+ */
53
+ function logsDir() {
54
+ return join(getOverdeckHome(), "logs");
55
+ }
56
+ function agentDir(agentId) {
57
+ return join(getOverdeckHome(), "agents", agentId);
58
+ }
59
+ function ensureLogsDir() {
60
+ try {
61
+ mkdirSync(logsDir(), { recursive: true });
62
+ } catch {}
63
+ }
64
+ function ensureAgentDir(agentId) {
65
+ try {
66
+ mkdirSync(agentDir(agentId), { recursive: true });
67
+ } catch {}
68
+ }
69
+ function timestamp() {
70
+ return (/* @__PURE__ */ new Date()).toISOString();
71
+ }
72
+ /** Append a line to ~/.overdeck/logs/deacon.log */
73
+ function logDeaconEventSync(message) {
74
+ ensureLogsDir();
75
+ try {
76
+ appendFileSync(join(logsDir(), "deacon.log"), `[${timestamp()}] ${message}\n`);
77
+ } catch {}
78
+ }
79
+ /** Append a line to ~/.overdeck/agents/<agentId>/lifecycle.log */
80
+ function logAgentLifecycleSync(agentId, message) {
81
+ ensureAgentDir(agentId);
82
+ try {
83
+ appendFileSync(join(agentDir(agentId), "lifecycle.log"), `[${timestamp()}] ${message}\n`);
84
+ } catch {}
85
+ }
86
+ var init_persistent_logger = __esmMin((() => {
87
+ init_paths();
88
+ }));
89
+ //#endregion
90
+ //#region ../../lib/session-history.ts
91
+ /**
92
+ * PAN-1989: durably record a Claude session id in the agent's append-only
93
+ * sessions.json the moment the system learns it.
94
+ *
95
+ * Background: a work agent's resumable session id was only durable if the
96
+ * PostToolUse heartbeat hook had written sessions.json (first tool call) or
97
+ * auto-suspend had written session.id. A session that boots but is stopped
98
+ * before its first tool — kickoff never delivered, or a reboot mid-run — left
99
+ * the id only in the EPHEMERAL in-memory runtime snapshot, which a dashboard
100
+ * restart or reboot rebuilds from sources (state.json + tmux) that don't carry
101
+ * the session id. The agent then resolves to "No saved session ID found" and
102
+ * goes troubled even though its JSONL transcript is intact on disk.
103
+ *
104
+ * Calling this from the AgentStateService event sink (the single convergence
105
+ * point for every model_set event, hook-emitted or server-emitted) makes the
106
+ * pointer durable from the moment it is learned. The append-only list may
107
+ * accumulate aborted/empty ids; the resolver picks the freshest id with a real
108
+ * transcript, so empties never shadow the truth. De-dupes; never throws.
109
+ *
110
+ * Lives in its own module (not agents.ts) so the dashboard event sink can import
111
+ * it without pulling the whole agents.ts graph — avoids an ESM import cycle.
112
+ */
113
+ function appendSessionIdToHistory(agentId, sessionId) {
114
+ if (!sessionId || !sessionId.trim()) return;
115
+ try {
116
+ const dir = join(getOverdeckHome(), "agents", agentId);
117
+ mkdirSync(dir, { recursive: true });
118
+ const file = join(dir, "sessions.json");
119
+ let list = [];
120
+ if (existsSync(file)) {
121
+ const parsed = JSON.parse(readFileSync(file, "utf8"));
122
+ if (Array.isArray(parsed)) list = parsed.filter((v) => typeof v === "string");
123
+ }
124
+ if (list.includes(sessionId)) return;
125
+ list.push(sessionId);
126
+ writeFileSync(file, JSON.stringify(list));
127
+ } catch {}
128
+ }
129
+ /**
130
+ * Persist the current Claude session pointer before launch.
131
+ *
132
+ * Fresh work agents know their Claude UUID before the process starts. Writing
133
+ * it here makes transcript discovery and resume independent of lifecycle hooks
134
+ * (and therefore independent of jq being installed on the host).
135
+ */
136
+ function persistCurrentSessionId(agentId, sessionId) {
137
+ if (!sessionId || !sessionId.trim()) return;
138
+ try {
139
+ const dir = join(getOverdeckHome(), "agents", agentId);
140
+ mkdirSync(dir, { recursive: true });
141
+ writeFileSync(join(dir, "session.id"), sessionId);
142
+ } catch {}
143
+ }
144
+ /**
145
+ * Allocate and durably record a fresh Claude work-agent UUID before launch.
146
+ * This makes transcript discovery independent of lifecycle hooks and jq.
147
+ */
148
+ function createFreshSessionIdentity(agentId, harness) {
149
+ if (getHarnessBehavior(harness).sessionIdSource !== "launcher-session-id") return void 0;
150
+ const sessionId = randomUUID();
151
+ persistCurrentSessionId(agentId, sessionId);
152
+ appendSessionIdToHistory(agentId, sessionId);
153
+ const dir = join(getOverdeckHome(), "agents", agentId);
154
+ logAgentLifecycleSync(agentId, `session identity allocated: harness=${harness} sessionId=${sessionId} pointerPersisted=${existsSync(join(dir, "session.id"))} historyPersisted=${existsSync(join(dir, "sessions.json"))}`);
155
+ return sessionId;
156
+ }
157
+ function logLauncherSessionPinned(agentId, sessionId, launcher) {
158
+ logAgentLifecycleSync(agentId, `launcher session pinned: sessionId=${sessionId} flag=--session-id launcher=${launcher}`);
159
+ }
160
+ var init_session_history = __esmMin((() => {
161
+ init_paths();
162
+ init_behavior();
163
+ init_persistent_logger();
164
+ }));
165
+ //#endregion
166
+ export { persistCurrentSessionId as a, logDeaconEventSync as c, isAgentStateServiceInProcess as d, markAgentStateServiceInProcess as f, logLauncherSessionPinned as i, getRuntimeSnapshot as l, createFreshSessionIdentity as n, init_persistent_logger as o, setAgentRuntimeMirror as p, init_session_history as r, logAgentLifecycleSync as s, appendSessionIdToHistory as t, init_agent_runtime_mirror as u };
167
+
168
+ //# sourceMappingURL=session-history-bnOFKMwf.js.map
@@ -0,0 +1,2 @@
1
+ import { t as getAgentCommandSync } from "./settings-Cqa-8nyj.js";
2
+ export { getAgentCommandSync };
@@ -1,4 +1,4 @@
1
- import { br as init_errors, qr as init_paths } from "./config-yaml-Dcz-8uit.js";
1
+ import { Sr as init_errors, Yr as init_paths } from "./config-yaml-CqaAyn8y.js";
2
2
  import "effect";
3
3
  import "fs";
4
4
  //#region ../../lib/settings.ts
@@ -45,4 +45,4 @@ function getAgentCommandSync(modelId) {
45
45
  //#endregion
46
46
  export { getClaudeModelFlagSync as n, isAnthropicModelSync as r, getAgentCommandSync as t };
47
47
 
48
- //# sourceMappingURL=settings-ByqjPtFO.js.map
48
+ //# sourceMappingURL=settings-Cqa-8nyj.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { h as jsYaml, m as init_js_yaml, o as getGlobalConfigPath, t as init_config_yaml } from "./config-yaml-Dcz-8uit.js";
3
- import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-Dtm9ABuz.js";
2
+ import { h as jsYaml, m as init_js_yaml, o as getGlobalConfigPath, t as init_config_yaml } from "./config-yaml-CqaAyn8y.js";
3
+ import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-DqvaoQoa.js";
4
4
  import { readFile } from "fs/promises";
5
5
  //#region ../../lib/memory/settings.ts
6
6
  async function loadMemorySettings(configPath = getGlobalConfigPath()) {
@@ -101,4 +101,4 @@ var init_settings = __esmMin((() => {
101
101
  //#endregion
102
102
  export { isMemoryKnowledgeIndexEnabled as a, init_settings as i, getMemoryRollupPendingThreshold as n, isMemoryPromptTimeInjectionEnabled as o, getMemoryWorkerConcurrency as r, loadMemorySettings as s, areMemoryObservationsEnabled as t };
103
103
 
104
- //# sourceMappingURL=settings-DCC4BAqj.js.map
104
+ //# sourceMappingURL=settings-gJrdLZy2.js.map
@@ -1,5 +1,5 @@
1
- import { a as PAN_DIRNAME } from "./types-CE1m_daD.js";
2
- import { t as init_pan_dir } from "./pan-dir-Bj7Hy8iu.js";
1
+ import { a as PAN_DIRNAME } from "./types-DOjWNv3Z.js";
2
+ import { t as init_pan_dir } from "./pan-dir-BTw4MdSe.js";
3
3
  import { Data, Effect } from "effect";
4
4
  import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "fs";
5
5
  import { join } from "path";
@@ -221,4 +221,4 @@ init_pan_dir();
221
221
  //#endregion
222
222
  export { gatherArtifacts, generateBasicInference, runObserverCycle, updateInferenceDocumentSync };
223
223
 
224
- //# sourceMappingURL=shadow-engineering-BhnmtW5m.js.map
224
+ //# sourceMappingURL=shadow-engineering-fq1YEKV3.js.map
@@ -1,3 +1,3 @@
1
- import { a as getShadowState, c as isShadowed, d as needsSync, f as removeShadowState, i as getPendingSyncCount, l as listShadowedIssues, m as updateTrackerStatusCache, n as createShadowState, o as getUnsyncedHistory, p as updateShadowState, r as getDisplayStatus, s as init_shadow_state, t as ShadowStateError, u as markAsSynced } from "./shadow-state-CKm8xWX9.js";
1
+ import { a as getShadowState, c as isShadowed, d as needsSync, f as removeShadowState, i as getPendingSyncCount, l as listShadowedIssues, m as updateTrackerStatusCache, n as createShadowState, o as getUnsyncedHistory, p as updateShadowState, r as getDisplayStatus, s as init_shadow_state, t as ShadowStateError, u as markAsSynced } from "./shadow-state-RptE9Cau.js";
2
2
  init_shadow_state();
3
3
  export { ShadowStateError, createShadowState, getDisplayStatus, getPendingSyncCount, getShadowState, getUnsyncedHistory, isShadowed, listShadowedIssues, markAsSynced, needsSync, removeShadowState, updateShadowState, updateTrackerStatusCache };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Kr as getOverdeckHome, qr as init_paths } from "./config-yaml-Dcz-8uit.js";
2
+ import { Jr as getOverdeckHome, Yr as init_paths } from "./config-yaml-CqaAyn8y.js";
3
3
  import { Data, Effect } from "effect";
4
4
  import { existsSync, mkdirSync, unlinkSync } from "fs";
5
5
  import { join } from "path";
@@ -287,4 +287,4 @@ var init_shadow_state = __esmMin((() => {
287
287
  //#endregion
288
288
  export { getShadowState as a, isShadowed as c, needsSync as d, removeShadowState as f, getPendingSyncCount as i, listShadowedIssues as l, updateTrackerStatusCache as m, createShadowState as n, getUnsyncedHistory as o, updateShadowState as p, getDisplayStatus as r, init_shadow_state as s, ShadowStateError as t, markAsSynced as u };
289
289
 
290
- //# sourceMappingURL=shadow-state-CKm8xWX9.js.map
290
+ //# sourceMappingURL=shadow-state-RptE9Cau.js.map
@@ -0,0 +1,39 @@
1
+ import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
+ import { Sr as init_errors, fr as FsError } from "./config-yaml-CqaAyn8y.js";
3
+ import { Effect } from "effect";
4
+ import { existsSync, readFileSync } from "fs";
5
+ import { join } from "path";
6
+ import { homedir } from "os";
7
+ //#region ../../lib/shadow-utils.ts
8
+ /**
9
+ * Shadow Mode Utilities
10
+ *
11
+ * Shared utility functions for shadow mode operations.
12
+ * Used by sync.ts, refresh.ts, shadow.ts and other commands.
13
+ */
14
+ /**
15
+ * Get Linear API key from environment or config file.
16
+ * Falls back to process.env.LINEAR_API_KEY if the config file is absent or unreadable.
17
+ */
18
+ function getLinearApiKey() {
19
+ const envFile = join(homedir(), ".overdeck.env");
20
+ if (!existsSync(envFile)) return Effect.succeed(process.env.LINEAR_API_KEY ?? null);
21
+ return Effect.try({
22
+ try: () => {
23
+ const match = readFileSync(envFile, "utf-8").match(/LINEAR_API_KEY=(.+)/);
24
+ return match ? match[1].trim() : process.env.LINEAR_API_KEY ?? null;
25
+ },
26
+ catch: (cause) => new FsError({
27
+ path: envFile,
28
+ operation: "read",
29
+ cause
30
+ })
31
+ }).pipe(Effect.catchTag("FsError", () => Effect.succeed(process.env.LINEAR_API_KEY ?? null)));
32
+ }
33
+ var init_shadow_utils = __esmMin((() => {
34
+ init_errors();
35
+ }));
36
+ //#endregion
37
+ export { init_shadow_utils as n, getLinearApiKey as t };
38
+
39
+ //# sourceMappingURL=shadow-utils-BMWr5tRT.js.map
@@ -36,4 +36,4 @@ function getShipLog(issueId) {
36
36
  //#endregion
37
37
  export { appendShipLog, beginShipLog, getShipLog };
38
38
 
39
- //# sourceMappingURL=ship-log-DE_0Cv_i.js.map
39
+ //# sourceMappingURL=ship-log-BRQQi2lU.js.map
@@ -1,10 +1,10 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { br as init_errors, gr as ProcessSpawnError, ur as FsError } from "./config-yaml-Dcz-8uit.js";
3
- import { a as getHarnessBehavior } from "./src-DHn4Rd2F.js";
4
- import { D as init_context_overflow, O as isContextOverflowError, ln as getProviderEnvForModel, sn as buildSpawnEnvForModel, t as init_agents } from "./agents-CsOzAmRg.js";
5
- import { t as init_behavior } from "./behavior-Cpj03N4v.js";
6
- import { a as init_claude_permissions, i as getClaudePermissionFlagsSync } from "./claude-permissions-CaWqysff.js";
7
- import { n as recordBackgroundAiCost, t as init_cost } from "./cost-B2mj17iG.js";
2
+ import { Sr as init_errors, fr as FsError, vr as ProcessSpawnError } from "./config-yaml-CqaAyn8y.js";
3
+ import { a as getHarnessBehavior } from "./src-By3D85Ry.js";
4
+ import { N as init_context_overflow, P as isContextOverflowError, cn as buildSpawnEnvForModel, s as init_agents, un as getProviderEnvForModel } from "./queries-C0LCGG21.js";
5
+ import { t as init_behavior } from "./behavior-CWqNMqE5.js";
6
+ import { a as init_claude_permissions, i as getClaudePermissionFlagsSync } from "./claude-permissions-BB6agcOZ.js";
7
+ import { n as recordBackgroundAiCost, t as init_cost } from "./cost-DuZ5vlv-.js";
8
8
  import { join } from "node:path";
9
9
  import { Effect } from "effect";
10
10
  import { tmpdir } from "node:os";
@@ -850,4 +850,4 @@ Be thorough. Preserve exact file paths, function names, error messages, and code
850
850
  //#endregion
851
851
  export { runModelSummary as a, truncateHeadTail as c, parseEntries as i, generateSummaryFromPrompt as n, serializeConversation as o, init_smart_compaction as r, summarizeSerializedText as s, generateSmartSummary as t };
852
852
 
853
- //# sourceMappingURL=smart-compaction-D5Zen3AA.js.map
853
+ //# sourceMappingURL=smart-compaction-CmoXpjeU.js.map
@@ -1,3 +1,3 @@
1
- import { a as runModelSummary, c as truncateHeadTail, i as parseEntries, n as generateSummaryFromPrompt, o as serializeConversation, r as init_smart_compaction, s as summarizeSerializedText, t as generateSmartSummary } from "./smart-compaction-D5Zen3AA.js";
1
+ import { a as runModelSummary, c as truncateHeadTail, i as parseEntries, n as generateSummaryFromPrompt, o as serializeConversation, r as init_smart_compaction, s as summarizeSerializedText, t as generateSmartSummary } from "./smart-compaction-CmoXpjeU.js";
2
2
  init_smart_compaction();
3
3
  export { generateSmartSummary, generateSummaryFromPrompt, parseEntries, runModelSummary, serializeConversation, summarizeSerializedText, truncateHeadTail };
@@ -1,15 +1,15 @@
1
- import { Cn as findProjectByTeamSync, It as resolveProjectForIssue, Ot as getProjectConfigFromWorkspacePath, Pn as init_projects, Tt as getIssueRecordPath, Z as resolveModel, _t as appendSessionEntrySync, f as loadConfigSync, kt as init_record, t as init_config_yaml, xn as findProjectByPathSync, yn as extractTeamPrefix } from "./config-yaml-Dcz-8uit.js";
2
- import { L as sessionExists, W as BLANKED_PROVIDER_ENV, d as exactPaneTarget, o as createSession, q as init_child_env, r as buildTmuxCommandString, w as killSession, x as init_tmux, z as setOption } from "./tmux-C_d-lSIq.js";
3
- import { a as getHarnessBehavior } from "./src-DHn4Rd2F.js";
4
- import { n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-Kh5V8RTh.js";
5
- import { Gt as getAgentRuntimeBaseCommand, It as retrieveSpawnTimeMemoryContext, Jn as saveAgentStateSync, Kt as getCodexLauncherFields, Pn as getAgentStateSync, Qt as roleAgentDefinitionPath, Xt as init_runtime_command, qt as getOhmypiLauncherFields, t as init_agents, un as getProviderExportsForModel, wt as deliverInitialPromptWithRetry } from "./agents-CsOzAmRg.js";
6
- import { t as init_behavior } from "./behavior-Cpj03N4v.js";
7
- import { a as init_launcher_generator, i as generateLauncherScriptSync } from "./state-home-CRowbXqU.js";
8
- import { h as workspaceContextFile, o as init_layers } from "./layers-CD6FysRU.js";
9
- import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-iMjyNUJ2.js";
10
- import { c as ensureWorkspacePanDir, r as writeWorkspaceContext, t as init_pan_dir } from "./pan-dir-Bj7Hy8iu.js";
11
- import { r as init_workspace_manager, t as createWorkspace } from "./workspace-manager-CB-R07R3.js";
12
- import { n as renderPrompt, t as init_prompts } from "./prompts-DfI5qbTW.js";
1
+ import { Fn as init_projects, It as resolveProjectForIssue, Ot as getProjectConfigFromWorkspacePath, Sn as findProjectByPathSync, Tt as getIssueRecordPath, Z as resolveModel, _t as appendSessionEntrySync, bn as extractTeamPrefix, f as loadConfigSync, kt as init_record, t as init_config_yaml, wn as findProjectByTeamSync } from "./config-yaml-CqaAyn8y.js";
2
+ import { B as setOption, G as BLANKED_PROVIDER_ENV, J as init_child_env, R as sessionExists, S as init_tmux, T as killSession, f as exactPaneTarget, o as createSession, r as buildTmuxCommandString } from "./tmux-U55cNGFG.js";
3
+ import { a as getHarnessBehavior } from "./src-By3D85Ry.js";
4
+ import { n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-DuxIE1yr.js";
5
+ import { $t as roleAgentDefinitionPath, Fn as getAgentStateSync, It as retrieveSpawnTimeMemoryContext, Jt as getOhmypiLauncherFields, Kt as getAgentRuntimeBaseCommand, Yn as saveAgentStateSync, Zt as init_runtime_command, dn as getProviderExportsForModel, qt as getCodexLauncherFields, s as init_agents, wt as deliverInitialPromptWithRetry } from "./queries-C0LCGG21.js";
6
+ import { t as init_behavior } from "./behavior-CWqNMqE5.js";
7
+ import { n as init_launcher_generator, t as generateLauncherScriptSync } from "./launcher-generator-BXLM9f4b.js";
8
+ import { h as workspaceContextFile, o as init_layers } from "./layers-gCJlK62m.js";
9
+ import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-Dx8hUsvC.js";
10
+ import { c as ensureWorkspacePanDir, r as writeWorkspaceContext, t as init_pan_dir } from "./pan-dir-BTw4MdSe.js";
11
+ import { r as init_workspace_manager, t as createWorkspace } from "./workspace-manager-Beeo2aKF.js";
12
+ import { n as renderPrompt, t as init_prompts } from "./prompts-CIVmjHxn.js";
13
13
  import { join, resolve } from "node:path";
14
14
  import { Effect } from "effect";
15
15
  import { homedir } from "node:os";
@@ -286,12 +286,12 @@ async function claudePlanningSystemPromptFiles(workspacePath, harness) {
286
286
  files.push(await ensureSessionContextBriefingFile());
287
287
  const behavior = getHarnessBehavior(harness);
288
288
  if (behavior.contextLayerKind === "pi") {
289
- const { piGlobalContextFile } = await import("./context-layers-ByOWUjUg.js");
289
+ const { piGlobalContextFile } = await import("./context-layers-DWL_8HhY.js");
290
290
  const globalFile = piGlobalContextFile();
291
291
  if (existsSync(globalFile)) files.unshift(globalFile);
292
292
  }
293
293
  if (behavior.contextLayerKind === "codex") {
294
- const { codexGlobalContextFile } = await import("./context-layers-ByOWUjUg.js");
294
+ const { codexGlobalContextFile } = await import("./context-layers-DWL_8HhY.js");
295
295
  const globalFile = codexGlobalContextFile();
296
296
  if (existsSync(globalFile)) files.unshift(globalFile);
297
297
  }
@@ -340,7 +340,7 @@ async function spawnPlanningSession(opts) {
340
340
  console.log(`[start-planning] Background setup starting for ${issue.identifier}`);
341
341
  progress(1, "Creating workspace", `${issueLower} on ${projectPath.split("/").pop() || "project"}`);
342
342
  let workspaceCreated = false;
343
- if (existsSync(workspacePath)) workspaceCreated = !(await readdir(workspacePath)).every((f) => f === ".pan" || f === ".beads");
343
+ if (existsSync(workspacePath)) workspaceCreated = !(await readdir(workspacePath)).every((f) => f === ".pan");
344
344
  if (!workspaceCreated) try {
345
345
  const projectConfig = findProjectByPathSync(projectPath) || findProjectByTeamSync(extractTeamPrefix(issue.identifier) || "");
346
346
  if (projectConfig?.workspace) {
@@ -541,4 +541,4 @@ async function spawnPlanningSession(opts) {
541
541
  //#endregion
542
542
  export { resolvePlanningSessionHarness as a, resolveAutoSpawnOnFinalize as i, buildPlanningPrompt as n, spawnPlanningSession as o, readAutoSpawnOnFinalizeFlag as r, writeFeatureContext as s, autoSpawnOnFinalizeFlagPath as t };
543
543
 
544
- //# sourceMappingURL=spawn-planning-session-Dueit4WX.js.map
544
+ //# sourceMappingURL=spawn-planning-session-CoS6LTc6.js.map
@@ -1,2 +1,2 @@
1
- import { o as spawnPlanningSession } from "./spawn-planning-session-Dueit4WX.js";
1
+ import { o as spawnPlanningSession } from "./spawn-planning-session-CoS6LTc6.js";
2
2
  export { spawnPlanningSession };
@@ -85,4 +85,4 @@ function cancelAllPendingCompletions() {
85
85
  //#endregion
86
86
  export { SpecialistCancelledError, SpecialistCompletionTimeoutError, SpecialistSupersededError, cancelAllPendingCompletions, hasPendingCompletion, reportSpecialistCompletion, waitForSpecialistCompletion };
87
87
 
88
- //# sourceMappingURL=specialist-completion-BZ8M-WZ0.js.map
88
+ //# sourceMappingURL=specialist-completion-pJtESo7m.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Kr as getOverdeckHome, On as getProjectSync, Pn as init_projects, Z as resolveModel, f as loadConfigSync, qr as init_paths, t as init_config_yaml } from "./config-yaml-Dcz-8uit.js";
3
- import { a as init_claude_permissions, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-CaWqysff.js";
2
+ import { Fn as init_projects, Jr as getOverdeckHome, Yr as init_paths, Z as resolveModel, f as loadConfigSync, kn as getProjectSync, t as init_config_yaml } from "./config-yaml-CqaAyn8y.js";
3
+ import { a as init_claude_permissions, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-BB6agcOZ.js";
4
4
  import { Effect } from "effect";
5
5
  import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "fs";
6
6
  import { join } from "path";
@@ -114,7 +114,7 @@ function getDigestModel(projectKey, specialistType) {
114
114
  async function generateContextDigestPromise(projectKey, specialistType, options = {}) {
115
115
  ensureContextDirectory(projectKey, specialistType);
116
116
  const runCount = options.runCount ?? getContextRunsCount(projectKey);
117
- const { getRecentRunLogs } = await import("./specialist-logs-BWZYcJ6P.js");
117
+ const { getRecentRunLogs } = await import("./specialist-logs-DtSkPJZK.js");
118
118
  const recentRuns = getRecentRunLogs(projectKey, specialistType, runCount);
119
119
  if (recentRuns.length === 0 && !options.force) {
120
120
  console.log(`[specialist-context] No recent runs for ${projectKey}/${specialistType}, skipping digest generation`);
@@ -128,7 +128,7 @@ async function generateContextDigestPromise(projectKey, specialistType, options
128
128
  if (!existsSync(tempDir)) mkdirSync(tempDir, { recursive: true });
129
129
  const promptFile = join(tempDir, `digest-prompt-${Date.now()}.md`);
130
130
  writeFileSync(promptFile, prompt, "utf-8");
131
- const { getProviderEnvForModel } = await import("./agents-DCvyTXNU.js");
131
+ const { getProviderEnvForModel } = await import("./agents-BA15AQqo.js");
132
132
  const providerEnv = await getProviderEnvForModel(model);
133
133
  const envPrefix = Object.entries(providerEnv).map(([k, v]) => `${k}="${v}"`).join(" ");
134
134
  const permissionFlags = getClaudePermissionFlagsStringSync();
@@ -283,4 +283,4 @@ __esmMin((() => {
283
283
  }))();
284
284
  export { deleteContextDigest, generateContextDigest, getContextDigestPath, getContextDirectory, hasContextDigest, loadContextDigest, regenerateContextDigest, scheduleDigestGeneration };
285
285
 
286
- //# sourceMappingURL=specialist-context-BMq83C58.js.map
286
+ //# sourceMappingURL=specialist-context-CspI4Eog.js.map
@@ -1,4 +1,4 @@
1
- import { Kr as getOverdeckHome, qr as init_paths } from "./config-yaml-Dcz-8uit.js";
1
+ import { Jr as getOverdeckHome, Yr as init_paths } from "./config-yaml-CqaAyn8y.js";
2
2
  import { Effect } from "effect";
3
3
  import { existsSync } from "fs";
4
4
  import { join } from "path";
@@ -52,4 +52,4 @@ const updateSpecialistHandoffStatus = (issueId, toSpecialist, status, result) =>
52
52
  //#endregion
53
53
  export { updateSpecialistHandoffStatus };
54
54
 
55
- //# sourceMappingURL=specialist-handoff-logger-BxX1YefH.js.map
55
+ //# sourceMappingURL=specialist-handoff-logger-Duz9RGvk.js.map
@@ -1,6 +1,6 @@
1
1
  import { a as __toCommonJS, n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Kr as getOverdeckHome, Pn as init_projects, Vn as projects_exports, qr as init_paths } from "./config-yaml-Dcz-8uit.js";
3
- import { J as specialists_exports, O as init_specialists } from "./specialists-DrPrC9Y9.js";
2
+ import { Fn as init_projects, Hn as projects_exports, Jr as getOverdeckHome, Yr as init_paths } from "./config-yaml-CqaAyn8y.js";
3
+ import { J as specialists_exports, O as init_specialists } from "./specialists-GF42OOqd.js";
4
4
  import { Data, Effect } from "effect";
5
5
  import { appendFileSync, existsSync, mkdirSync, readFileSync, readdirSync, statSync, unlinkSync, writeFileSync } from "fs";
6
6
  import { basename, join } from "path";
@@ -380,4 +380,4 @@ __esmMin((() => {
380
380
  }))();
381
381
  export { MAX_LOG_SIZE, SpecialistLogError, appendToRunLog, appendToRunLogSync, checkLogSizeLimit, cleanupAllLogs, cleanupAllLogsSync, cleanupOldLogs, cleanupOldLogsSync, createRunLog, createRunLogSync, finalizeRunLog, finalizeRunLogSync, generateRunId, getRecentRunLogs, getRunLog, getRunLogPath, getRunLogSize, getRunLogSync, getRunsDirectory, isRunLogActive, listRunLogs, listRunLogsSync, parseLogMetadata };
382
382
 
383
- //# sourceMappingURL=specialist-logs-BWZYcJ6P.js.map
383
+ //# sourceMappingURL=specialist-logs-DtSkPJZK.js.map
@@ -1,2 +1,2 @@
1
- import { i as validateSpecialistAutoCompleteMetadata, n as _serverManagedMerges, r as firePostMergeLifecycle, t as specialistsRouteLayer } from "./specialists-BudKrjOu.js";
1
+ import { i as validateSpecialistAutoCompleteMetadata, n as _serverManagedMerges, r as firePostMergeLifecycle, t as specialistsRouteLayer } from "./specialists-Dax7tqXC.js";
2
2
  export { _serverManagedMerges, specialistsRouteLayer as default, specialistsRouteLayer, firePostMergeLifecycle, validateSpecialistAutoCompleteMetadata };
@@ -1,3 +1,3 @@
1
- import { $ as updateRunMetadata, A as isEnabled, B as pauseGracePeriod, C as getSpecialistState, D as initSpecialistsDirectory, E as incrementProjectRunCount, F as listSpecialistsForProject, G as sendFeedbackToAgent, H as recordWake, I as loadRegistry, K as setCurrentRun, L as makeSpecialistRegistryKey, M as isProjectSpecialistActivelyRunning, N as isRunning, O as init_specialists, P as listProjectsWithSpecialists, Q as updateProjectSpecialistMetadata, R as parseReviewerSessionName, S as getSpecialistMetadata, T as getTmuxSessionName, U as resumeGracePeriod, V as pruneSpecialistRegistryEntriesForIssue, W as saveRegistry, X as terminateSpecialist, Y as startGracePeriod, Z as updateContextTokens, _ as getPendingFeedback, a as disableSpecialist, b as getReviewerSessionName, c as exitGracePeriod, d as getAllProjectSpecialistStatuses, et as updateRunStatus, f as getAllSpecialistStatus, g as getGracePeriodState, h as getFeedbackStats, i as countContextTokens, j as isInitialized, k as initializeEnabledSpecialists, l as findActiveRegistryKey, m as getEnabledSpecialists, n as buildSpecialistBaseCommand, o as enableSpecialist, p as getAllSpecialists, q as signalSpecialistCompletion, r as buildSpecialistCavemanExports, s as ensureProjectSpecialistDir, t as REVIEWER_ROLES, tt as updateSpecialistMetadata, u as findSessionFile, v as getProjectSpecialistDir, w as getSpecialistStatus, x as getRunMetadata, y as getProjectSpecialistMetadata, z as parseSpecialistRegistryKey } from "./specialists-DrPrC9Y9.js";
1
+ import { $ as updateRunMetadata, A as isEnabled, B as pauseGracePeriod, C as getSpecialistState, D as initSpecialistsDirectory, E as incrementProjectRunCount, F as listSpecialistsForProject, G as sendFeedbackToAgent, H as recordWake, I as loadRegistry, K as setCurrentRun, L as makeSpecialistRegistryKey, M as isProjectSpecialistActivelyRunning, N as isRunning, O as init_specialists, P as listProjectsWithSpecialists, Q as updateProjectSpecialistMetadata, R as parseReviewerSessionName, S as getSpecialistMetadata, T as getTmuxSessionName, U as resumeGracePeriod, V as pruneSpecialistRegistryEntriesForIssue, W as saveRegistry, X as terminateSpecialist, Y as startGracePeriod, Z as updateContextTokens, _ as getPendingFeedback, a as disableSpecialist, b as getReviewerSessionName, c as exitGracePeriod, d as getAllProjectSpecialistStatuses, et as updateRunStatus, f as getAllSpecialistStatus, g as getGracePeriodState, h as getFeedbackStats, i as countContextTokens, j as isInitialized, k as initializeEnabledSpecialists, l as findActiveRegistryKey, m as getEnabledSpecialists, n as buildSpecialistBaseCommand, o as enableSpecialist, p as getAllSpecialists, q as signalSpecialistCompletion, r as buildSpecialistCavemanExports, s as ensureProjectSpecialistDir, t as REVIEWER_ROLES, tt as updateSpecialistMetadata, u as findSessionFile, v as getProjectSpecialistDir, w as getSpecialistStatus, x as getRunMetadata, y as getProjectSpecialistMetadata, z as parseSpecialistRegistryKey } from "./specialists-GF42OOqd.js";
2
2
  init_specialists();
3
3
  export { REVIEWER_ROLES, buildSpecialistBaseCommand, buildSpecialistCavemanExports, countContextTokens, disableSpecialist, enableSpecialist, ensureProjectSpecialistDir, exitGracePeriod, findActiveRegistryKey, findSessionFile, getAllProjectSpecialistStatuses, getAllSpecialistStatus, getAllSpecialists, getEnabledSpecialists, getFeedbackStats, getGracePeriodState, getPendingFeedback, getProjectSpecialistDir, getProjectSpecialistMetadata, getReviewerSessionName, getRunMetadata, getSpecialistMetadata, getSpecialistState, getSpecialistStatus, getTmuxSessionName, incrementProjectRunCount, initSpecialistsDirectory, initializeEnabledSpecialists, isEnabled, isInitialized, isProjectSpecialistActivelyRunning, isRunning, listProjectsWithSpecialists, listSpecialistsForProject, loadRegistry, makeSpecialistRegistryKey, parseReviewerSessionName, parseSpecialistRegistryKey, pauseGracePeriod, pruneSpecialistRegistryEntriesForIssue, recordWake, resumeGracePeriod, saveRegistry, sendFeedbackToAgent, setCurrentRun, signalSpecialistCompletion, startGracePeriod, terminateSpecialist, updateContextTokens, updateProjectSpecialistMetadata, updateRunMetadata, updateRunStatus, updateSpecialistMetadata };