@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,9 +1,9 @@
1
1
  import { n as __esmMin, r as __exportAll } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Jr as init_paths, Sr as AGENTS_DIR, jr as OVERDECK_HOME } from "./config-yaml-cNOZcEww.js";
3
- import { E as listPaneValues, L as sessionExists, w as killSession, x as init_tmux } from "./tmux-C3g9VFcg.js";
4
- import { a as readCavemanVariant, n as init_workspace } from "./workspace-CNfuj1-5.js";
5
- import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-C6g2R0Cd.js";
6
- import { a as init_jsonl_parser, n as getAllSessionFilesSync, s as parseClaudeSessionSync } from "./jsonl-parser-BUW5_sSK.js";
2
+ import { Cr as AGENTS_DIR, Mr as OVERDECK_HOME, Yr as init_paths } from "./config-yaml-CqaAyn8y.js";
3
+ import { D as listPaneValues, R as sessionExists, S as init_tmux, T as killSession } from "./tmux-U55cNGFG.js";
4
+ import { a as readCavemanVariant, n as init_workspace } from "./workspace-CuN0ev4Z.js";
5
+ import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-Dx8hUsvC.js";
6
+ import { a as init_jsonl_parser, n as getAllSessionFilesSync, s as parseClaudeSessionSync } from "./jsonl-parser-Cd5jIqh7.js";
7
7
  import { Effect } from "effect";
8
8
  import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
9
9
  import { basename, join } from "path";
@@ -89,7 +89,7 @@ function roleForSpecialistModel(specialistType) {
89
89
  return { role: "work" };
90
90
  }
91
91
  async function buildSpecialistBaseCommand(specialistType, model, sessionName) {
92
- const { getAgentRuntimeBaseCommand } = await import("./agents-CEcaxSkR.js");
92
+ const { getAgentRuntimeBaseCommand } = await import("./agents-BA15AQqo.js");
93
93
  const role = roleForSpecialistModel(specialistType).role;
94
94
  const harness = await resolveHarness({
95
95
  model,
@@ -488,7 +488,7 @@ async function signalSpecialistCompletion(projectKey, specialistType, result, is
488
488
  const resolvedTmuxSession = metadata.tmuxSession ?? getTmuxSessionName(specialistType, projectKey, issueId);
489
489
  updateRunStatus(projectKey, registryKey, result.status);
490
490
  if (metadata.currentRun) try {
491
- const { finalizeRunLogSync } = await import("./specialist-logs-CdcUpfjj.js");
491
+ const { finalizeRunLogSync } = await import("./specialist-logs-DtSkPJZK.js");
492
492
  finalizeRunLogSync(projectKey, specialistType, metadata.currentRun, {
493
493
  status: result.status,
494
494
  notes: result.notes
@@ -498,7 +498,7 @@ async function signalSpecialistCompletion(projectKey, specialistType, result, is
498
498
  }
499
499
  setCurrentRun(projectKey, registryKey, null);
500
500
  updateRunMetadata(projectKey, registryKey, { currentActivity: null });
501
- import("./agents-CEcaxSkR.js").then(({ saveAgentRuntimeState }) => {
501
+ import("./agents-BA15AQqo.js").then(({ saveAgentRuntimeState }) => {
502
502
  saveAgentRuntimeState(resolvedTmuxSession, {
503
503
  state: "idle",
504
504
  lastActivity: (/* @__PURE__ */ new Date()).toISOString(),
@@ -529,7 +529,7 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
529
529
  console.error(`[specialist] Failed to kill tmux session ${tmuxSession}:`, error);
530
530
  }
531
531
  if (metadata.currentRun) {
532
- const { finalizeRunLogSync } = await import("./specialist-logs-CdcUpfjj.js");
532
+ const { finalizeRunLogSync } = await import("./specialist-logs-DtSkPJZK.js");
533
533
  try {
534
534
  finalizeRunLogSync(projectKey, specialistType, metadata.currentRun, {
535
535
  status: metadata.lastRunStatus || "incomplete",
@@ -543,12 +543,12 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
543
543
  updateRunMetadata(projectKey, registryKey, { currentActivity: null });
544
544
  const key = `${projectKey}-${specialistType}`;
545
545
  gracePeriodStates.delete(key);
546
- const { saveAgentRuntimeState } = await import("./agents-CEcaxSkR.js");
546
+ const { saveAgentRuntimeState } = await import("./agents-BA15AQqo.js");
547
547
  saveAgentRuntimeState(tmuxSession, {
548
548
  state: "suspended",
549
549
  lastActivity: (/* @__PURE__ */ new Date()).toISOString()
550
550
  });
551
- const { scheduleDigestGeneration } = await import("./specialist-context-B2HlbNxS.js");
551
+ const { scheduleDigestGeneration } = await import("./specialist-context-CspI4Eog.js");
552
552
  scheduleDigestGeneration(projectKey, specialistType);
553
553
  scheduleLogCleanup(projectKey, specialistType);
554
554
  }
@@ -561,8 +561,8 @@ async function terminateSpecialist(projectKey, specialistType, issueId) {
561
561
  function scheduleLogCleanup(projectKey, specialistType) {
562
562
  Promise.resolve().then(async () => {
563
563
  try {
564
- const { cleanupOldLogsSync } = await import("./specialist-logs-CdcUpfjj.js");
565
- const { getSpecialistRetention } = await import("./projects-CrBE6IhN.js");
564
+ const { cleanupOldLogsSync } = await import("./specialist-logs-DtSkPJZK.js");
565
+ const { getSpecialistRetention } = await import("./projects-Dc9aoVoG.js");
566
566
  const retention = getSpecialistRetention(projectKey);
567
567
  const deleted = cleanupOldLogsSync(projectKey, specialistType, {
568
568
  maxDays: retention.max_days,
@@ -716,7 +716,7 @@ function listSpecialistsForProject(projectKey) {
716
716
  */
717
717
  async function getAllProjectSpecialistStatuses() {
718
718
  const registry = loadRegistry();
719
- const { getAgentRuntimeStateSync } = await import("./agents-CEcaxSkR.js");
719
+ const { getAgentRuntimeStateSync } = await import("./agents-BA15AQqo.js");
720
720
  const results = [];
721
721
  for (const [projectKey, specialists] of Object.entries(registry.projects)) for (const [registryKey, metadata] of Object.entries(specialists)) {
722
722
  const { specialistType, issueId, role } = parseSpecialistRegistryKey(registryKey);
@@ -853,7 +853,7 @@ async function getSpecialistStatus(name, projectKey) {
853
853
  const sessionId = readRecordedClaudeSessionId(getTmuxSessionName(name, projectKey));
854
854
  const running = await isRunning(name, projectKey);
855
855
  const contextTokens = countContextTokens(name);
856
- const { getAgentRuntimeStateSync } = await import("./agents-CEcaxSkR.js");
856
+ const { getAgentRuntimeStateSync } = await import("./agents-BA15AQqo.js");
857
857
  const runtimeState = getAgentRuntimeStateSync(getTmuxSessionName(name, projectKey));
858
858
  let state;
859
859
  if (runtimeState) switch (runtimeState.state) {
@@ -933,7 +933,7 @@ async function sendFeedbackToAgent(feedback) {
933
933
  }
934
934
  const agentSession = `agent-${toIssueId.toLowerCase()}`;
935
935
  const feedbackMessage = formatFeedbackForAgent(fullFeedback);
936
- const { writeFeedbackFile } = await import("./feedback-writer-BsJiw5aT.js");
936
+ const { writeFeedbackFile } = await import("./feedback-writer-CULeOOY4.js");
937
937
  const specialist = {
938
938
  "review-agent": "review-agent",
939
939
  "test-agent": "test-agent",
@@ -952,7 +952,7 @@ async function sendFeedbackToAgent(feedback) {
952
952
  return false;
953
953
  }
954
954
  try {
955
- const { messageAgent } = await import("./agents-CEcaxSkR.js");
955
+ const { messageAgent } = await import("./agents-BA15AQqo.js");
956
956
  await messageAgent(agentSession, `SPECIALIST FEEDBACK: ${fromSpecialist} reported ${feedback.feedbackType.toUpperCase()} for ${toIssueId}.\n\nMUST READ: ${fileResult.filePath}\n\nUse your Read tool to open this file, read every line, then address the feedback and continue working. Do NOT stop at the prompt.`);
957
957
  console.log(`[specialist] Sent feedback from ${fromSpecialist} to ${agentSession} (file: ${fileResult.filePath})`);
958
958
  return true;
@@ -1071,4 +1071,4 @@ var init_specialists = __esmMin((() => {
1071
1071
  //#endregion
1072
1072
  export { updateRunMetadata as $, isEnabled as A, pauseGracePeriod as B, getSpecialistState as C, initSpecialistsDirectory as D, incrementProjectRunCount as E, listSpecialistsForProject as F, sendFeedbackToAgent as G, recordWake as H, loadRegistry as I, specialists_exports as J, setCurrentRun as K, makeSpecialistRegistryKey as L, isProjectSpecialistActivelyRunning as M, isRunning as N, init_specialists as O, listProjectsWithSpecialists as P, updateProjectSpecialistMetadata as Q, parseReviewerSessionName as R, getSpecialistMetadata as S, getTmuxSessionName as T, resumeGracePeriod as U, pruneSpecialistRegistryEntriesForIssue as V, saveRegistry as W, terminateSpecialist as X, startGracePeriod as Y, updateContextTokens as Z, getPendingFeedback as _, disableSpecialist as a, getReviewerSessionName as b, exitGracePeriod as c, getAllProjectSpecialistStatuses as d, updateRunStatus as et, getAllSpecialistStatus as f, getGracePeriodState as g, getFeedbackStats as h, countContextTokens as i, isInitialized as j, initializeEnabledSpecialists as k, findActiveRegistryKey as l, getEnabledSpecialists as m, buildSpecialistBaseCommand as n, enableSpecialist as o, getAllSpecialists as p, signalSpecialistCompletion as q, buildSpecialistCavemanExports as r, ensureProjectSpecialistDir as s, REVIEWER_ROLES as t, updateSpecialistMetadata as tt, findSessionFile as u, getProjectSpecialistDir as v, getSpecialistStatus as w, getRunMetadata as x, getProjectSpecialistMetadata as y, parseSpecialistRegistryKey as z };
1073
1073
 
1074
- //# sourceMappingURL=specialists-CwzFdapR.js.map
1074
+ //# sourceMappingURL=specialists-GF42OOqd.js.map
@@ -0,0 +1,3 @@
1
+ import { C as init_specs, x as findSpecByIssue } from "./io-DkC4sFSy.js";
2
+ init_specs();
3
+ export { findSpecByIssue };
@@ -413,6 +413,7 @@ var init_types = __esmMin((() => {
413
413
  "work",
414
414
  "knowledge",
415
415
  "strike",
416
+ "lint",
416
417
  "review",
417
418
  "reviewer",
418
419
  "test",
@@ -4365,6 +4366,9 @@ var init_hygiene = __esmMin((() => {
4365
4366
  });
4366
4367
  }));
4367
4368
  //#endregion
4369
+ //#region ../../../packages/contracts/src/update.ts
4370
+ var init_update = __esmMin((() => {}));
4371
+ //#endregion
4368
4372
  //#region ../../../packages/contracts/src/index.ts
4369
4373
  var init_src = __esmMin((() => {
4370
4374
  init_types();
@@ -4380,8 +4384,9 @@ var init_src = __esmMin((() => {
4380
4384
  init_feature_registry();
4381
4385
  init_harness_behavior();
4382
4386
  init_hygiene();
4387
+ init_update();
4383
4388
  }));
4384
4389
  //#endregion
4385
4390
  export { normalizeChannelReplyPayload as C, MemoryStatus as S, FlywheelRunId as _, getHarnessBehavior as a, DomainEvent as b, FlywheelStats as c, getMaxTurnDiffSummariesPerAgent as d, isTerminalTurnDiffSummaryStatus as f, WS_METHODS as g, PanRpcGroup as h, OHMYPI_BEHAVIOR as i, INITIAL_READ_MODEL_STATE as l, PanRpcError as m, CLAUDE_CODE_BEHAVIOR as n, ContextLayerSaveRequest as o, trimTurnDiffSummaries as p, CODEX_BEHAVIOR as r, ContextPreviewRequest as s, init_src as t, applyEvent as u, FlywheelStatus as v, MemoryObservation as x, EDITORS as y };
4386
4391
 
4387
- //# sourceMappingURL=src-B4TTzNSr.js.map
4392
+ //# sourceMappingURL=src-By3D85Ry.js.map
@@ -1,10 +1,10 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { i as init_esm_min, n as FormData, o as Blob, r as formDataToBlob, s as init_fetch_blob, t as init_from } from "./from-NSJypkI8.js";
2
+ import { i as init_esm_min, n as FormData, o as Blob, r as formDataToBlob, s as init_fetch_blob, t as init_from } from "./from-B2tOYhYV.js";
3
3
  import { deprecate, promisify, types } from "node:util";
4
- import { Buffer as Buffer$1 } from "node:buffer";
5
- import Stream, { PassThrough, pipeline } from "node:stream";
6
4
  import { format } from "node:url";
7
5
  import http from "node:http";
6
+ import { Buffer as Buffer$1 } from "node:buffer";
7
+ import Stream, { PassThrough, pipeline } from "node:stream";
8
8
  import { isIP } from "node:net";
9
9
  import zlib from "node:zlib";
10
10
  import https from "node:https";
@@ -209,7 +209,7 @@ var init_body = __esmMin((() => {
209
209
  for (const [name, value] of parameters) formData.append(name, value);
210
210
  return formData;
211
211
  }
212
- const { toFormData } = await import("./multipart-parser-Csn8U-K9.js");
212
+ const { toFormData } = await import("./multipart-parser-9DhuAkPd.js");
213
213
  return toFormData(this.body, ct);
214
214
  }
215
215
  /**
@@ -1176,4 +1176,4 @@ __esmMin((() => {
1176
1176
  }))();
1177
1177
  export { fetch as default };
1178
1178
 
1179
- //# sourceMappingURL=src-BvpMg4EB.js.map
1179
+ //# sourceMappingURL=src-CqyFg52C.js.map
@@ -1,6 +1,6 @@
1
1
  import { i as __require, o as __toESM, t as __commonJSMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { r as init_esm_shims, t as __dirname } from "./esm-shims-BEjvINX3.js";
3
- import { n as require_dist$1, r as require_src$14, t as require_dist$2 } from "./dist-BMXvKiZP.js";
2
+ import { r as init_esm_shims, t as __dirname } from "./esm-shims-Cso7IGBC.js";
3
+ import { n as require_dist$1, r as require_src$14, t as require_dist$2 } from "./dist-BwlEiLCU.js";
4
4
  //#region ../../../node_modules/.bun/@google-cloud+promisify@4.1.0/node_modules/@google-cloud/promisify/build/src/index.js
5
5
  var require_src$13 = /* @__PURE__ */ __commonJSMin(((exports) => {
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -1198,12 +1198,12 @@ var require_gaxios = /* @__PURE__ */ __commonJSMin(((exports) => {
1198
1198
  * @returns A proxy agent
1199
1199
  */
1200
1200
  static async #getProxyAgent() {
1201
- this.#proxyAgent ||= (await import("./dist-BNwrgsUO.js").then((m) => /* @__PURE__ */ __toESM(m.default))).HttpsProxyAgent;
1201
+ this.#proxyAgent ||= (await import("./dist-Bx4KkgYL.js").then((m) => /* @__PURE__ */ __toESM(m.default))).HttpsProxyAgent;
1202
1202
  return this.#proxyAgent;
1203
1203
  }
1204
1204
  static async #getFetch() {
1205
1205
  const hasWindow = typeof window !== "undefined" && !!window;
1206
- this.#fetch ||= hasWindow ? window.fetch : (await import("./src-BvpMg4EB.js")).default;
1206
+ this.#fetch ||= hasWindow ? window.fetch : (await import("./src-CqyFg52C.js")).default;
1207
1207
  return this.#fetch;
1208
1208
  }
1209
1209
  /**
@@ -10601,7 +10601,7 @@ var require_src$7 = /* @__PURE__ */ __commonJSMin(((exports) => {
10601
10601
  const TeenyStatistics_1 = require_TeenyStatistics();
10602
10602
  const crypto_1 = __require("crypto");
10603
10603
  const streamEvents = require_stream_events();
10604
- const fetch = (...args) => import("./src-BvpMg4EB.js").then(({ default: fetch }) => fetch(...args));
10604
+ const fetch = (...args) => import("./src-CqyFg52C.js").then(({ default: fetch }) => fetch(...args));
10605
10605
  var RequestError = class extends Error {
10606
10606
  code;
10607
10607
  };
@@ -133656,4 +133656,4 @@ var require_src = /* @__PURE__ */ __commonJSMin(((exports) => {
133656
133656
  export default require_src();
133657
133657
  export {};
133658
133658
 
133659
- //# sourceMappingURL=src-D4YUZrwR.js.map
133659
+ //# sourceMappingURL=src-DhxM-eCb.js.map
@@ -1,3 +1,3 @@
1
- import { a as init_stack_health, i as getWorkspaceStackHealth } from "./stack-health-CSgcYcr8.js";
1
+ import { a as init_stack_health, i as getWorkspaceStackHealth } from "./stack-health-C-SnpRHh.js";
2
2
  init_stack_health();
3
3
  export { getWorkspaceStackHealth };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Fn as init_projects, ir as parseIssueIdSync, kn as getProjectSync, nr as init_issue_id, qn as resolveProjectFromIssueSync } from "./config-yaml-cNOZcEww.js";
2
+ import { Fn as init_projects, ar as parseIssueIdSync, kn as getProjectSync, qn as resolveProjectFromIssueSync, rr as init_issue_id } from "./config-yaml-CqaAyn8y.js";
3
3
  import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-pcbf-e30.js";
4
4
  import { join } from "node:path";
5
5
  import { Duration, Effect, Schedule, Stream } from "effect";
@@ -352,4 +352,4 @@ var init_stack_health = __esmMin((() => {
352
352
  //#endregion
353
353
  export { init_stack_health as a, init_docker_stats as c, getWorkspaceStackHealth as i, recordDockerContainerLifecycleSnapshot as l, collectDockerContainerLifecycleSnapshot as n, recordWorkspaceStackHealthTransition as o, evaluateWorkspaceStackHealth as r, DockerStatsCollector as s, DEFAULT_STUCK_CREATED_THRESHOLD_MS as t };
354
354
 
355
- //# sourceMappingURL=stack-health-CSgcYcr8.js.map
355
+ //# sourceMappingURL=stack-health-C-SnpRHh.js.map
@@ -0,0 +1,69 @@
1
+ import { Fn as init_projects, Pt as readIssueRecordSync, Tt as getIssueRecordPath, kt as init_record, zn as listProjectsSync } from "./config-yaml-CqaAyn8y.js";
2
+ import { a as isPidDead, i as init_fs_lock, n as updateIssueRecord, t as init_record_update } from "./record-update-BltEmPge.js";
3
+ import { c as listAllAgentsSync, o as init_agents } from "./agents-BHBxr8c9.js";
4
+ import { dirname } from "node:path";
5
+ import { hostname } from "node:os";
6
+ import { readdirSync } from "node:fs";
7
+ //#region ../../lib/cloister/stale-task-claims.ts
8
+ /** Deacon patrol for releasing task claims whose local owner has died. */
9
+ init_projects();
10
+ init_agents();
11
+ init_fs_lock();
12
+ init_record();
13
+ init_record_update();
14
+ async function releaseStaleTaskClaims(projects, runningAgentIds, localHost = hostname(), now = /* @__PURE__ */ new Date()) {
15
+ const actions = [];
16
+ for (const { project, issueIds } of projects) for (const issueId of issueIds) {
17
+ const snapshot = readIssueRecordSync(project, issueId);
18
+ if (!snapshot?.tasks) continue;
19
+ const candidates = Object.entries(snapshot.tasks.claims).filter(([, claim]) => claim.host === localHost && isPidDead(claim.pid) && (!claim.agentId || !runningAgentIds.has(claim.agentId)));
20
+ if (candidates.length === 0) continue;
21
+ await updateIssueRecord(project, issueId, (record) => {
22
+ if (!record.tasks) return record;
23
+ for (const [itemId] of candidates) {
24
+ const claim = record.tasks.claims[itemId];
25
+ if (!claim || claim.host !== localHost || !isPidDead(claim.pid) || claim.agentId && runningAgentIds.has(claim.agentId)) continue;
26
+ const reason = `stale claim released (${claim.writerId} dead)`;
27
+ record.statusOverrides = {
28
+ ...record.statusOverrides ?? {},
29
+ [itemId]: "pending"
30
+ };
31
+ record.tasks.claimHistory = [...record.tasks.claimHistory ?? [], {
32
+ ...claim,
33
+ itemId,
34
+ outcome: "released",
35
+ reason,
36
+ releasedAt: now.toISOString()
37
+ }].slice(-50);
38
+ record.tasks.statusReasons = {
39
+ ...record.tasks.statusReasons ?? {},
40
+ [itemId]: {
41
+ reason,
42
+ updatedAt: now.toISOString()
43
+ }
44
+ };
45
+ delete record.tasks.claims[itemId];
46
+ record.tasks.sequence += 1;
47
+ actions.push(`[deacon] released stale task claim ${issueId.toUpperCase()}/${itemId} (${claim.writerId} dead)`);
48
+ }
49
+ return record;
50
+ }, { writerId: "deacon-stale-claim-patrol" });
51
+ }
52
+ return actions;
53
+ }
54
+ async function patrolStaleTaskClaims() {
55
+ return releaseStaleTaskClaims(listProjectsSync().map(({ config }) => {
56
+ let issueIds = [];
57
+ try {
58
+ issueIds = readdirSync(dirname(getIssueRecordPath(config, "_"))).filter((name) => name.endsWith(".json")).map((name) => name.slice(0, -5).toUpperCase());
59
+ } catch {}
60
+ return {
61
+ project: config,
62
+ issueIds
63
+ };
64
+ }), new Set(listAllAgentsSync().filter((agent) => agent.status === "running" || agent.status === "starting").map((agent) => agent.id)));
65
+ }
66
+ //#endregion
67
+ export { patrolStaleTaskClaims };
68
+
69
+ //# sourceMappingURL=stale-task-claims-vTxmRzLi.js.map
@@ -0,0 +1,213 @@
1
+ import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
+ import { Fn as init_projects, Gn as resolveInfraRepo, Jr as getOverdeckHome, Yr as init_paths, _n as projectKey, an as STATE_BRANCH_PATHS, cn as init_state_plane, gn as init_project_key } from "./config-yaml-CqaAyn8y.js";
3
+ import { dirname, join } from "node:path";
4
+ import { existsSync } from "node:fs";
5
+ import { mkdir, rm } from "node:fs/promises";
6
+ import { execFile } from "node:child_process";
7
+ import { promisify } from "node:util";
8
+ //#region ../../lib/state-home.ts
9
+ /**
10
+ * State-home resolver and dedicated overdeck-state worktree manager (PAN-2541).
11
+ *
12
+ * Migration is complete only when the tip of origin/overdeck-state contains a
13
+ * valid migration-complete.json whose stateBranchSha is an ancestor of the tip.
14
+ * An unmarked branch is an in-progress migration and continues using legacy
15
+ * project-root state paths.
16
+ */
17
+ async function git(repoPath, args) {
18
+ const { stdout } = await execFileAsync("git", args, {
19
+ cwd: repoPath,
20
+ encoding: "utf8",
21
+ maxBuffer: 16 * 1024 * 1024,
22
+ timeout: 15e3,
23
+ killSignal: "SIGTERM"
24
+ });
25
+ return stdout.trim();
26
+ }
27
+ function stateWorktreePath(project, options = {}) {
28
+ return join(getOverdeckHome(), "state", projectKey(project, options.projectKey));
29
+ }
30
+ function isSha(value) {
31
+ return typeof value === "string" && /^[0-9a-f]{40}$/i.test(value);
32
+ }
33
+ function parseMigrationCompleteMarker(value) {
34
+ if (!value || typeof value !== "object") return null;
35
+ const marker = value;
36
+ if (!isSha(marker.sourceMainSha) || !isSha(marker.stateBranchSha)) return null;
37
+ if (typeof marker.completedAt !== "string" || !Number.isFinite(Date.parse(marker.completedAt))) return null;
38
+ if (!Number.isInteger(marker.version) || (marker.version ?? 0) < 1) return null;
39
+ return marker;
40
+ }
41
+ async function remoteStateTip(repoPath) {
42
+ const sha = (await git(repoPath, [
43
+ "ls-remote",
44
+ "--heads",
45
+ "origin",
46
+ `refs/heads/${STATE_BRANCH}`
47
+ ])).split(/\s+/)[0];
48
+ return isSha(sha) ? sha : null;
49
+ }
50
+ async function markerAtRemoteTip(repoPath, tip) {
51
+ await git(repoPath, [
52
+ "fetch",
53
+ "--quiet",
54
+ "origin",
55
+ `refs/heads/${STATE_BRANCH}:refs/remotes/origin/${STATE_BRANCH}`
56
+ ]);
57
+ if (await git(repoPath, ["rev-parse", `refs/remotes/origin/overdeck-state`]) !== tip) return null;
58
+ let raw;
59
+ try {
60
+ raw = await git(repoPath, ["show", `${tip}:${MIGRATION_COMPLETE_MARKER}`]);
61
+ } catch {
62
+ return null;
63
+ }
64
+ let marker;
65
+ try {
66
+ marker = parseMigrationCompleteMarker(JSON.parse(raw));
67
+ } catch {
68
+ marker = null;
69
+ }
70
+ if (!marker) return null;
71
+ return await git(repoPath, [
72
+ "merge-base",
73
+ "--is-ancestor",
74
+ marker.stateBranchSha,
75
+ tip
76
+ ]).then(() => true).catch(() => false) ? marker : null;
77
+ }
78
+ async function inspectStateMigration(project) {
79
+ const { repoPath } = resolveInfraRepo(project);
80
+ let tip;
81
+ try {
82
+ tip = await remoteStateTip(repoPath);
83
+ } catch {
84
+ return {
85
+ migrated: false,
86
+ migrationInProgress: false,
87
+ remoteTip: null
88
+ };
89
+ }
90
+ const cached = migrationCache.get(repoPath);
91
+ if (cached?.remoteTip === tip) return {
92
+ migrated: cached.migrated,
93
+ migrationInProgress: tip !== null && !cached.migrated,
94
+ remoteTip: tip
95
+ };
96
+ const migrated = tip !== null && await markerAtRemoteTip(repoPath, tip) !== null;
97
+ migrationCache.set(repoPath, {
98
+ remoteTip: tip,
99
+ migrated
100
+ });
101
+ return {
102
+ migrated,
103
+ migrationInProgress: tip !== null && !migrated,
104
+ remoteTip: tip
105
+ };
106
+ }
107
+ async function isStateMigrated(project) {
108
+ return (await inspectStateMigration(project)).migrated;
109
+ }
110
+ async function findRecreatedLegacyStatePaths(project) {
111
+ if (!await isStateMigrated(project)) return [];
112
+ const legacyStateRoot = project.path;
113
+ return STATE_BRANCH_PATHS.map((statePath) => join(legacyStateRoot, ".pan", statePath.slice(0, -1))).filter(existsSync);
114
+ }
115
+ async function addStateWorktree(repoPath, path) {
116
+ await mkdir(dirname(path), { recursive: true });
117
+ await git(repoPath, await git(repoPath, [
118
+ "show-ref",
119
+ "--verify",
120
+ "--quiet",
121
+ `refs/heads/overdeck-state`
122
+ ]).then(() => true, () => false) ? [
123
+ "worktree",
124
+ "add",
125
+ path,
126
+ STATE_BRANCH
127
+ ] : [
128
+ "worktree",
129
+ "add",
130
+ "--track",
131
+ "-b",
132
+ STATE_BRANCH,
133
+ path,
134
+ `origin/${STATE_BRANCH}`
135
+ ]);
136
+ }
137
+ async function ensureStateWorktree(project, options = {}) {
138
+ const migration = await inspectStateMigration(project);
139
+ const path = stateWorktreePath(project, options);
140
+ if (!migration.migrated) return {
141
+ status: "legacy",
142
+ path
143
+ };
144
+ const { repoPath } = resolveInfraRepo(project);
145
+ if (!existsSync(path)) {
146
+ await addStateWorktree(repoPath, path);
147
+ return {
148
+ status: "created",
149
+ path
150
+ };
151
+ }
152
+ let branch;
153
+ let dirty;
154
+ try {
155
+ branch = await git(path, ["branch", "--show-current"]);
156
+ dirty = await git(path, ["status", "--porcelain"]);
157
+ } catch (error) {
158
+ return {
159
+ status: "error",
160
+ path,
161
+ detail: error instanceof Error ? error.message : String(error)
162
+ };
163
+ }
164
+ if (dirty) return {
165
+ status: "dirty",
166
+ path,
167
+ detail: "state worktree has uncommitted changes; refusing destructive repair"
168
+ };
169
+ if (branch === "overdeck-state") return {
170
+ status: "healthy",
171
+ path
172
+ };
173
+ try {
174
+ await git(repoPath, [
175
+ "worktree",
176
+ "remove",
177
+ path
178
+ ]);
179
+ await rm(path, {
180
+ recursive: true,
181
+ force: true
182
+ });
183
+ await addStateWorktree(repoPath, path);
184
+ return {
185
+ status: "recreated",
186
+ path
187
+ };
188
+ } catch (error) {
189
+ return {
190
+ status: "error",
191
+ path,
192
+ detail: error instanceof Error ? error.message : String(error)
193
+ };
194
+ }
195
+ }
196
+ function clearStateMigrationCache() {
197
+ migrationCache.clear();
198
+ }
199
+ var execFileAsync, STATE_BRANCH, MIGRATION_COMPLETE_MARKER, migrationCache;
200
+ var init_state_home = __esmMin((() => {
201
+ init_paths();
202
+ init_projects();
203
+ init_project_key();
204
+ init_state_plane();
205
+ execFileAsync = promisify(execFile);
206
+ STATE_BRANCH = "overdeck-state";
207
+ MIGRATION_COMPLETE_MARKER = "migration-complete.json";
208
+ migrationCache = /* @__PURE__ */ new Map();
209
+ }));
210
+ //#endregion
211
+ export { findRecreatedLegacyStatePaths as a, isStateMigrated as c, ensureStateWorktree as i, stateWorktreePath as l, STATE_BRANCH as n, init_state_home as o, clearStateMigrationCache as r, inspectStateMigration as s, MIGRATION_COMPLETE_MARKER as t };
212
+
213
+ //# sourceMappingURL=state-home-Bur1y4oH.js.map
@@ -29,4 +29,4 @@ var init_state_mapping = __esmMin((() => {}));
29
29
  //#endregion
30
30
  export { mapGitHubStateToCanonical as n, init_state_mapping as t };
31
31
 
32
- //# sourceMappingURL=state-mapping-C13UaCL7.js.map
32
+ //# sourceMappingURL=state-mapping-Ci0pkac4.js.map