@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
@@ -1,4 +1,5 @@
1
- import { Cr as BIN_DIR, Lr as SYNC_SOURCES, qr as init_paths } from "./config-yaml-Dcz-8uit.js";
1
+ import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
+ import { Tr as BIN_DIR, Yr as init_paths, zr as SYNC_SOURCES } from "./config-yaml-CqaAyn8y.js";
2
3
  import { join } from "node:path";
3
4
  import { copyFileSync, existsSync, mkdirSync, readdirSync, renameSync, unlinkSync, writeFileSync } from "fs";
4
5
  import { basename as basename$1, dirname as dirname$1, join as join$1 } from "path";
@@ -23,115 +24,6 @@ import { promisify } from "node:util";
23
24
  * stale pre-rebrand `panopticon/bin` twins are pruned (PAN-2530).
24
25
  */
25
26
  /**
26
- * Hook scripts copied from sync-sources/hooks/ to ~/.overdeck/bin/.
27
- * (Comments preserved from the original setupHooksCommand list.)
28
- */
29
- const HOOK_SCRIPT_NAMES = [
30
- "pan-hook-lib.sh",
31
- "pre-tool-hook",
32
- "ask-user-question-hook",
33
- "auto-approve-hook",
34
- "heartbeat-hook",
35
- "stop-hook",
36
- "notification-hook",
37
- "specialist-stop-hook",
38
- "work-agent-stop-hook",
39
- "session-start-hook",
40
- "user-prompt-submit-hook",
41
- "pre-compact-hook",
42
- "post-compact-hook",
43
- "record-cost-event.js",
44
- "gh-issue-trailer-hook",
45
- "gh-issue-trailer-hook.js",
46
- "tldr-read-enforcer",
47
- "tldr-post-edit",
48
- "rtk-bash-filter",
49
- "permission-event-hook",
50
- "tmux-send-keys-guard"
51
- ];
52
- /**
53
- * The settings.json registration table. Order matters only for readability;
54
- * see setupHooksCommand for the per-entry rationale comments (PAN-1402,
55
- * PAN-1024, PAN-1084, PAN-1520).
56
- */
57
- const OVERDECK_HOOK_REGISTRATIONS = [
58
- {
59
- hookType: "PreToolUse",
60
- scriptName: "pre-tool-hook"
61
- },
62
- {
63
- hookType: "PreToolUse",
64
- scriptName: "auto-approve-hook"
65
- },
66
- {
67
- hookType: "PreToolUse",
68
- scriptName: "gh-issue-trailer-hook",
69
- matcher: "Bash"
70
- },
71
- {
72
- hookType: "PreToolUse",
73
- scriptName: "tmux-send-keys-guard",
74
- matcher: "Bash"
75
- },
76
- {
77
- hookType: "PreToolUse",
78
- scriptName: "ask-user-question-hook",
79
- matcher: "AskUserQuestion"
80
- },
81
- {
82
- hookType: "PostToolUse",
83
- scriptName: "heartbeat-hook"
84
- },
85
- {
86
- hookType: "PostToolUse",
87
- scriptName: "permission-event-hook"
88
- },
89
- {
90
- hookType: "Stop",
91
- scriptName: "stop-hook"
92
- },
93
- {
94
- hookType: "Stop",
95
- scriptName: "permission-event-hook"
96
- },
97
- {
98
- hookType: "SessionStart",
99
- scriptName: "session-start-hook"
100
- },
101
- {
102
- hookType: "Notification",
103
- scriptName: "notification-hook"
104
- },
105
- {
106
- hookType: "UserPromptSubmit",
107
- scriptName: "user-prompt-submit-hook"
108
- },
109
- {
110
- hookType: "PreCompact",
111
- scriptName: "pre-compact-hook"
112
- },
113
- {
114
- hookType: "PostCompact",
115
- scriptName: "post-compact-hook"
116
- },
117
- {
118
- hookType: "PermissionRequest",
119
- scriptName: "permission-event-hook"
120
- },
121
- {
122
- hookType: "PreToolUse",
123
- scriptName: "tldr-read-enforcer",
124
- matcher: "Read",
125
- requiresPython3: true
126
- },
127
- {
128
- hookType: "PostToolUse",
129
- scriptName: "tldr-post-edit",
130
- matcher: "Edit|Write",
131
- requiresPython3: true
132
- }
133
- ];
134
- /**
135
27
  * Per-hook-type detection of whether a Overdeck hook is already registered.
136
28
  * PAN-800: rewritten from an all-or-nothing short-circuit to a delta-install
137
29
  * check so users with older installs still get SessionStart/Notification/etc.
@@ -206,6 +98,126 @@ function applyOverdeckHookRegistrations(settings, binDir, opts) {
206
98
  removed
207
99
  };
208
100
  }
101
+ var HOOK_SCRIPT_NAMES, OVERDECK_HOOK_REGISTRATIONS;
102
+ var init_claude_hooks_registration = __esmMin((() => {
103
+ HOOK_SCRIPT_NAMES = [
104
+ "pan-hook-lib.sh",
105
+ "pre-tool-hook",
106
+ "ask-user-question-hook",
107
+ "auto-approve-hook",
108
+ "heartbeat-hook",
109
+ "stop-hook",
110
+ "notification-hook",
111
+ "specialist-stop-hook",
112
+ "work-agent-stop-hook",
113
+ "session-start-hook",
114
+ "user-prompt-submit-hook",
115
+ "pre-compact-hook",
116
+ "post-compact-hook",
117
+ "record-cost-event.js",
118
+ "gh-issue-trailer-hook",
119
+ "gh-issue-trailer-hook.js",
120
+ "tldr-read-enforcer",
121
+ "tldr-post-edit",
122
+ "rtk-bash-filter",
123
+ "permission-event-hook",
124
+ "tmux-send-keys-guard"
125
+ ];
126
+ OVERDECK_HOOK_REGISTRATIONS = [
127
+ {
128
+ hookType: "PreToolUse",
129
+ scriptName: "pre-tool-hook"
130
+ },
131
+ {
132
+ hookType: "PreToolUse",
133
+ scriptName: "auto-approve-hook"
134
+ },
135
+ {
136
+ hookType: "PreToolUse",
137
+ scriptName: "gh-issue-trailer-hook",
138
+ matcher: "Bash"
139
+ },
140
+ {
141
+ hookType: "PreToolUse",
142
+ scriptName: "tmux-send-keys-guard",
143
+ matcher: "Bash"
144
+ },
145
+ {
146
+ hookType: "PreToolUse",
147
+ scriptName: "ask-user-question-hook",
148
+ matcher: "AskUserQuestion"
149
+ },
150
+ {
151
+ hookType: "PostToolUse",
152
+ scriptName: "heartbeat-hook"
153
+ },
154
+ {
155
+ hookType: "PostToolUse",
156
+ scriptName: "permission-event-hook"
157
+ },
158
+ {
159
+ hookType: "Stop",
160
+ scriptName: "stop-hook"
161
+ },
162
+ {
163
+ hookType: "Stop",
164
+ scriptName: "permission-event-hook"
165
+ },
166
+ {
167
+ hookType: "SessionStart",
168
+ scriptName: "session-start-hook"
169
+ },
170
+ {
171
+ hookType: "Notification",
172
+ scriptName: "notification-hook"
173
+ },
174
+ {
175
+ hookType: "UserPromptSubmit",
176
+ scriptName: "user-prompt-submit-hook"
177
+ },
178
+ {
179
+ hookType: "PreCompact",
180
+ scriptName: "pre-compact-hook"
181
+ },
182
+ {
183
+ hookType: "PostCompact",
184
+ scriptName: "post-compact-hook"
185
+ },
186
+ {
187
+ hookType: "PermissionRequest",
188
+ scriptName: "permission-event-hook"
189
+ },
190
+ {
191
+ hookType: "PreToolUse",
192
+ scriptName: "tldr-read-enforcer",
193
+ matcher: "Read",
194
+ requiresPython3: true
195
+ },
196
+ {
197
+ hookType: "PostToolUse",
198
+ scriptName: "tldr-post-edit",
199
+ matcher: "Edit|Write",
200
+ requiresPython3: true
201
+ }
202
+ ];
203
+ }));
204
+ //#endregion
205
+ //#region ../../lib/claude-settings-file.ts
206
+ /**
207
+ * Pure file primitives for safe ~/.claude/settings.json writes — the
208
+ * dependency-light core of src/cli/commands/setup/safe-settings.ts, moved to
209
+ * lib so the desktop boot provisioner (PAN-2595) can share them without
210
+ * importing CLI modules. The PAN-1137 guarantees hold here:
211
+ *
212
+ * 1. Every write is preceded by a timestamped backup, bounded to the most
213
+ * recent five.
214
+ * 2. Writes are atomic: tmpfile in the same directory + rename (sidesteps
215
+ * EXDEV when /tmp is on a different filesystem than $HOME).
216
+ *
217
+ * Guarantee 3 (parse failures abort, never reset to `{}`) is caller policy:
218
+ * the CLI's readSettingsOrAbortSync exits the process; the boot provisioner
219
+ * skips provisioning instead. Both refuse to write over an unparseable file.
220
+ */
209
221
  /**
210
222
  * Copy the file to `<path>.pan-backup-<iso>` adjacent to the original.
211
223
  * Returns the backup path, or null if the file did not exist.
@@ -255,6 +267,7 @@ function atomicWriteJsonSync(path, value) {
255
267
  writeFileSync(tmpPath, `${JSON.stringify(value, null, 2)}\n`, "utf-8");
256
268
  renameSync(tmpPath, path);
257
269
  }
270
+ var init_claude_settings_file = __esmMin((() => {}));
258
271
  //#endregion
259
272
  //#region ../../lib/claude-hooks-provision.ts
260
273
  /**
@@ -273,8 +286,6 @@ function atomicWriteJsonSync(path, value) {
273
286
  * Never throws; returns a result the caller can log. Runs async probes only
274
287
  * (no execSync — this is server-boot-reachable code).
275
288
  */
276
- init_paths();
277
- const execFileAsync = promisify(execFile);
278
289
  async function commandAvailable(cmd, args) {
279
290
  try {
280
291
  await execFileAsync(cmd, args, { timeout: 1e4 });
@@ -354,7 +365,14 @@ async function provisionClaudeHooks(options = {}) {
354
365
  };
355
366
  }
356
367
  }
368
+ var execFileAsync;
369
+ var init_claude_hooks_provision = __esmMin((() => {
370
+ init_claude_hooks_registration();
371
+ init_claude_settings_file();
372
+ init_paths();
373
+ execFileAsync = promisify(execFile);
374
+ }));
357
375
  //#endregion
358
- export { provisionClaudeHooks };
376
+ export { provisionClaudeHooks as n, init_claude_hooks_provision as t };
359
377
 
360
- //# sourceMappingURL=claude-hooks-provision-s_wdpeVj.js.map
378
+ //# sourceMappingURL=claude-hooks-provision-Du_PkMsp.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { f as loadConfigSync, t as init_config_yaml } from "./config-yaml-Dcz-8uit.js";
2
+ import { f as loadConfigSync, t as init_config_yaml } from "./config-yaml-CqaAyn8y.js";
3
3
  import "effect";
4
4
  //#region ../../lib/claude-permissions.ts
5
5
  /** Read PAN_YOLO from the current process env. Returns the implied mode, or undefined if unset/unparseable. */
@@ -94,4 +94,4 @@ var init_claude_permissions = __esmMin((() => {
94
94
  //#endregion
95
95
  export { init_claude_permissions as a, getClaudePermissionFlagsSync as i, buildClaudeUserSettingsSync as n, resolvePermissionModeSync as o, getClaudePermissionFlagsStringSync as r, BYPASS_PERMISSION_MODE as t };
96
96
 
97
- //# sourceMappingURL=claude-permissions-CaWqysff.js.map
97
+ //# sourceMappingURL=claude-permissions-BB6agcOZ.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { br as init_errors, ur as FsError } from "./config-yaml-Dcz-8uit.js";
2
+ import { Sr as init_errors, fr as FsError } from "./config-yaml-CqaAyn8y.js";
3
3
  import { Effect, FileSystem } from "effect";
4
4
  import { join } from "path";
5
5
  import { homedir, tmpdir } from "os";
@@ -142,4 +142,4 @@ var init_claude_settings_overlay = __esmMin((() => {
142
142
  //#endregion
143
143
  export { init_claude_settings_overlay as n, injectOverdeckInfraDeny as r, detectProviderEnvConflicts as t };
144
144
 
145
- //# sourceMappingURL=claude-settings-overlay-CcTf0xzG.js.map
145
+ //# sourceMappingURL=claude-settings-overlay-CAq2oFSK.js.map
@@ -1,3 +1,3 @@
1
- import { n as init_claude_settings_overlay, r as injectOverdeckInfraDeny } from "./claude-settings-overlay-CcTf0xzG.js";
1
+ import { n as init_claude_settings_overlay, r as injectOverdeckInfraDeny } from "./claude-settings-overlay-CAq2oFSK.js";
2
2
  init_claude_settings_overlay();
3
3
  export { injectOverdeckInfraDeny };
@@ -0,0 +1,3 @@
1
+ import { r as init_cli, t as createResetMarker } from "./cli-C33xPZNm.js";
2
+ init_cli();
3
+ export { createResetMarker };
@@ -1,11 +1,11 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { qr as init_paths } from "./config-yaml-Dcz-8uit.js";
3
- import { c as resolveMemoryRoot, i as init_paths$1, l as resolveObservationsFile, p as resolveSummariesDir, r as ensureParentDir } from "./paths-C9DkhIOT.js";
4
- import { t as init_agents } from "./agents-CsOzAmRg.js";
5
- import { i as init_settings } from "./settings-DCC4BAqj.js";
6
- import { r as init_health, t as init_providers } from "./providers-CWDXoaMA.js";
7
- import { a as withMemoryFtsDatabase, i as runMemoryFtsTransaction, n as init_fts_db } from "./fts-db-CBgBLZcL.js";
8
- import { r as init_rollup } from "./rollup-CnxbwaLH.js";
2
+ import { Yr as init_paths } from "./config-yaml-CqaAyn8y.js";
3
+ import { c as resolveMemoryRoot, i as init_paths$1, l as resolveObservationsFile, p as resolveSummariesDir, r as ensureParentDir } from "./paths-Btkc8mzp.js";
4
+ import { s as init_agents } from "./queries-C0LCGG21.js";
5
+ import { i as init_settings } from "./settings-gJrdLZy2.js";
6
+ import { r as init_health, t as init_providers } from "./providers-C-yWibCk.js";
7
+ import { a as withMemoryFtsDatabase, i as runMemoryFtsTransaction, n as init_fts_db } from "./fts-db-Bgzn2RO7.js";
8
+ import { r as init_rollup } from "./rollup-Bu0f2EyN.js";
9
9
  import { dirname, join } from "path";
10
10
  import { randomUUID } from "crypto";
11
11
  import { readFile, rename, writeFile } from "fs/promises";
@@ -194,7 +194,7 @@ async function writeResetMarkerToFtsDb(projectId, marker) {
194
194
  });
195
195
  }
196
196
  async function emitResetMarkerCreated(marker, timestamp) {
197
- const { initEventStore } = await import("./event-store-CcJAhKCl.js");
197
+ const { initEventStore } = await import("./event-store-D9UhQyMS.js");
198
198
  await (await initEventStore()).appendAsync({
199
199
  type: "memory.reset_marker_created",
200
200
  timestamp,
@@ -221,4 +221,4 @@ var init_cli = __esmMin((() => {
221
221
  //#endregion
222
222
  export { generateDailySummary as n, init_cli as r, createResetMarker as t };
223
223
 
224
- //# sourceMappingURL=cli-BwCvCUBK.js.map
224
+ //# sourceMappingURL=cli-C33xPZNm.js.map
@@ -1,3 +1,3 @@
1
- import { v as init_cliproxy, x as isCliproxyRunning } from "./cliproxy-BsoNNDAj.js";
1
+ import { v as init_cliproxy, x as isCliproxyRunning } from "./cliproxy-CGBA1GzA.js";
2
2
  init_cliproxy();
3
3
  export { isCliproxyRunning };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Ar as OVERDECK_HOME, Cr as BIN_DIR, br as init_errors, gr as ProcessSpawnError, qr as init_paths, ur as FsError } from "./config-yaml-Dcz-8uit.js";
2
+ import { Mr as OVERDECK_HOME, Sr as init_errors, Tr as BIN_DIR, Yr as init_paths, fr as FsError, vr as ProcessSpawnError } from "./config-yaml-CqaAyn8y.js";
3
3
  import { Data, Effect } from "effect";
4
4
  import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from "fs";
5
5
  import { join } from "path";
@@ -496,4 +496,4 @@ var init_cliproxy = __esmMin((() => {
496
496
  //#endregion
497
497
  export { restartCliproxy as C, readPidFile as S, stopCliproxy as T, getCliproxyPidPath as _, CliproxyError as a, isCliproxyInstalled as b, bridgeGeminiAuthToCliproxy as c, getCliproxyAuthDir as d, getCliproxyBinary as f, getCliproxyLogPath as g, getCliproxyDir as h, CLIPROXY_PORT as i, decodeJwtPayload as l, getCliproxyConfigPath as m, CLIPROXY_BASE_URL as n, bridgeCodexAuthToCliproxy as o, getCliproxyClientEnv as p, CLIPROXY_HOST as r, bridgeCodexAuthToCliproxySync as s, CLIPROXY_AUTH_TOKEN as t, detectPlatformAsset as u, init_cliproxy as v, startCliproxy as w, isCliproxyRunning as x, installCliproxy as y };
498
498
 
499
- //# sourceMappingURL=cliproxy-BsoNNDAj.js.map
499
+ //# sourceMappingURL=cliproxy-CGBA1GzA.js.map
@@ -1,6 +1,6 @@
1
- import { $n as extractNumberSync, er as extractPrefixSync, nr as normalizeIssueIdSync, tr as init_issue_id } from "./config-yaml-Dcz-8uit.js";
2
- import { Mn as getAgentState, Vn as markAgentStoppedState, qn as saveAgentState, t as init_agents } from "./agents-CsOzAmRg.js";
3
- import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed, t as getLinearApiKey } from "./types-33JEP4LZ.js";
1
+ import { ir as normalizeIssueIdSync, nr as extractPrefixSync, rr as init_issue_id, tr as extractNumberSync } from "./config-yaml-CqaAyn8y.js";
2
+ import { Hn as markAgentStoppedState, Jn as saveAgentState, Nn as getAgentState, s as init_agents } from "./queries-C0LCGG21.js";
3
+ import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed, t as getLinearApiKey } from "./types-DXBMm4mX.js";
4
4
  import { Effect } from "effect";
5
5
  import { exec } from "child_process";
6
6
  import { promisify } from "util";
@@ -227,7 +227,7 @@ function closeRallyDirect(ctx) {
227
227
  async function closeRallyDirectImpl(ctx) {
228
228
  const step = "close-issue:transition";
229
229
  if (!ctx.rally) return stepFailed(step, "Rally config not provided");
230
- const { RallyTracker } = await import("./rally-Dc2Wnxw2.js");
230
+ const { RallyTracker } = await import("./rally-DF5a3ioP.js");
231
231
  const tracker = new RallyTracker({
232
232
  apiKey: ctx.rally.apiKey,
233
233
  server: ctx.rally.server,
@@ -327,4 +327,4 @@ async function applyLabelLinearImpl(ctx, apiKey) {
327
327
  //#endregion
328
328
  export { closeIssue as t };
329
329
 
330
- //# sourceMappingURL=close-issue-BleIwP3f.js.map
330
+ //# sourceMappingURL=close-issue-DNv8npc1.js.map
@@ -1,2 +1,2 @@
1
- import { t as handleIssueStatusChangedClosed } from "./closed-issue-reaper-mC5pujeb.js";
1
+ import { t as handleIssueStatusChangedClosed } from "./closed-issue-reaper-LoMnnjtJ.js";
2
2
  export { handleIssueStatusChangedClosed };
@@ -1,12 +1,12 @@
1
- import { It as resolveProjectForIssue, Pn as init_projects, Rn as listProjectsSync, kt as init_record, qr as init_paths, tr as init_issue_id, xr as AGENTS_DIR } from "./config-yaml-Dcz-8uit.js";
1
+ import { Cr as AGENTS_DIR, Fn as init_projects, It as resolveProjectForIssue, Yr as init_paths, kt as init_record, rr as init_issue_id, zn as listProjectsSync } from "./config-yaml-CqaAyn8y.js";
2
2
  import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-pcbf-e30.js";
3
- import { O as listSessionNames, w as killSession, x as init_tmux } from "./tmux-C_d-lSIq.js";
4
- import { c as init_review_status, u as loadReviewStatuses } from "./review-status-4qqLkRMu.js";
5
- import { K as stopAgent, Z as listRunningAgents, t as init_agents } from "./agents-CsOzAmRg.js";
6
- import { i as teardownWorkspaceDockerByNamePromise, n as init_docker } from "./docker-s-esqZ__.js";
7
- import { l as init_prd_locations, o as init_archive_planning } from "./archive-planning-DkivCk1A.js";
8
- import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-FApNiOOs.js";
9
- import "./close-issue-BleIwP3f.js";
3
+ import { S as init_tmux, T as killSession, k as listSessionNames } from "./tmux-U55cNGFG.js";
4
+ import { c as init_review_status, u as loadReviewStatuses } from "./review-status-DANr0t-v.js";
5
+ import { Q as stopAgent, i as listRunningAgents, s as init_agents } from "./queries-C0LCGG21.js";
6
+ import { i as teardownWorkspaceDockerByNamePromise, n as init_docker } from "./docker-CNjXS72x.js";
7
+ import { l as init_prd_locations, o as init_archive_planning } from "./archive-planning-CzCW9Ifl.js";
8
+ import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-Cpl4VDUM.js";
9
+ import "./close-issue-DNv8npc1.js";
10
10
  import { join } from "node:path";
11
11
  import { Data, Effect } from "effect";
12
12
  import "fs";
@@ -414,4 +414,4 @@ async function reconcileClosedIssueAgents() {
414
414
  //#endregion
415
415
  export { reconcileClosedIssueAgents as n, handleIssueStatusChangedClosed as t };
416
416
 
417
- //# sourceMappingURL=closed-issue-reaper-mC5pujeb.js.map
417
+ //# sourceMappingURL=closed-issue-reaper-LoMnnjtJ.js.map
@@ -0,0 +1,3 @@
1
+ import { a as extractThreadIdFromRollout, c as initCodexHome, f as waitForCodexRollout, l as init_codex, o as findLatestRollout, p as writeThreadId, s as findRolloutPath } from "./codex-sgWVCGUd.js";
2
+ init_codex();
3
+ export { extractThreadIdFromRollout, findLatestRollout, findRolloutPath, initCodexHome, waitForCodexRollout, writeThreadId };
@@ -1,6 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { t as init_src } from "./src-DHn4Rd2F.js";
3
- import { o as getPricingSync, s as init_cost } from "./cost-DQ2ajr_m.js";
2
+ import { o as getPricingSync, s as init_cost } from "./cost-BoqD1Pxz.js";
4
3
  import { existsSync, readFileSync } from "node:fs";
5
4
  //#region ../../lib/cost-parsers/codex-parser.ts
6
5
  /**
@@ -243,11 +242,6 @@ var init_codex_parser = __esmMin((() => {
243
242
  init_cost();
244
243
  }));
245
244
  //#endregion
246
- //#region ../../lib/runtimes/behavior.ts
247
- var init_behavior = __esmMin((() => {
248
- init_src();
249
- }));
250
- //#endregion
251
- export { parseCodexSessionSync as i, init_codex_parser as n, parseCodexSessionCostEventsSync as r, init_behavior as t };
245
+ export { parseCodexSessionCostEventsSync as n, parseCodexSessionSync as r, init_codex_parser as t };
252
246
 
253
- //# sourceMappingURL=behavior-Cpj03N4v.js.map
247
+ //# sourceMappingURL=codex-parser-DboQnEXN.js.map
@@ -1,12 +1,13 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { br as init_errors } from "./config-yaml-Dcz-8uit.js";
3
- import { A as listSessionsSync, L as sessionExists, o as createSession, w as killSession, x as init_tmux } from "./tmux-C_d-lSIq.js";
4
- import { r as CODEX_BEHAVIOR } from "./src-DHn4Rd2F.js";
5
- import { i as parseCodexSessionSync, n as init_codex_parser, t as init_behavior } from "./behavior-Cpj03N4v.js";
2
+ import { Sr as init_errors } from "./config-yaml-CqaAyn8y.js";
3
+ import { R as sessionExists, S as init_tmux, T as killSession, j as listSessionsSync, o as createSession } from "./tmux-U55cNGFG.js";
4
+ import { r as CODEX_BEHAVIOR } from "./src-By3D85Ry.js";
5
+ import { r as parseCodexSessionSync, t as init_codex_parser } from "./codex-parser-DboQnEXN.js";
6
+ import { t as init_behavior } from "./behavior-CWqNMqE5.js";
6
7
  import { basename, join } from "node:path";
7
8
  import { Effect } from "effect";
8
9
  import { homedir } from "node:os";
9
- import { chmodSync, closeSync, copyFileSync, existsSync, mkdirSync, openSync, readFileSync, readSync, readdirSync, statSync, writeFileSync } from "node:fs";
10
+ import { closeSync, copyFileSync, existsSync, lstatSync, mkdirSync, openSync, readFileSync, readSync, readdirSync, readlinkSync, statSync, symlinkSync, unlinkSync, writeFileSync } from "node:fs";
10
11
  import { exec } from "node:child_process";
11
12
  import { promisify } from "node:util";
12
13
  //#region ../../lib/runtimes/codex.ts
@@ -134,16 +135,7 @@ function initCodexHome(codexHomeDir, opts = {}) {
134
135
  lines.push("");
135
136
  writeFileSync(configPath, lines.join("\n"), { mode: 384 });
136
137
  }
137
- const homeAuthPath = join(codexHomeDir, "auth.json");
138
- if (!existsSync(homeAuthPath)) {
139
- const globalAuthPath = join(homedir(), ".codex", "auth.json");
140
- if (existsSync(globalAuthPath)) {
141
- copyFileSync(globalAuthPath, homeAuthPath);
142
- try {
143
- chmodSync(homeAuthPath, 384);
144
- } catch {}
145
- }
146
- }
138
+ seedCodexAuthSymlink(join(codexHomeDir, "auth.json"), join(homedir(), ".codex", "auth.json"));
147
139
  const agentsMdPath = join(codexHomeDir, "AGENTS.md");
148
140
  if (!existsSync(agentsMdPath)) {
149
141
  const globalCodexContext = join(homedir(), ".overdeck", "context", "codex-global.md");
@@ -152,6 +144,40 @@ function initCodexHome(codexHomeDir, opts = {}) {
152
144
  }
153
145
  }
154
146
  /**
147
+ * Point a per-agent CODEX_HOME/auth.json at the global ~/.codex/auth.json via a
148
+ * symlink so every agent shares one OAuth refresh-token family (PAN-2285).
149
+ *
150
+ * Idempotent and migration-safe:
151
+ * - global auth.json missing → do nothing (onboarding prompts, as before)
152
+ * - home auth.json already the right → nothing
153
+ * symlink to global
154
+ * - home auth.json a regular-file → remove the stale disposable copy and
155
+ * copy or a wrong symlink replace it with the symlink (this is the
156
+ * in-place migration for already-deployed
157
+ * homes; removing a per-agent copy loses
158
+ * nothing — the global file is the source
159
+ * of truth)
160
+ *
161
+ * Exported for unit testing over temp dirs. Privacy: a symlink's permissions
162
+ * follow its target (the global file is 0600), so no chmod is needed here.
163
+ */
164
+ function seedCodexAuthSymlink(homeAuthPath, globalAuthPath) {
165
+ if (!existsSync(globalAuthPath)) return;
166
+ let currentLink = null;
167
+ try {
168
+ if (lstatSync(homeAuthPath).isSymbolicLink()) currentLink = readlinkSync(homeAuthPath);
169
+ } catch {
170
+ currentLink = null;
171
+ }
172
+ if (currentLink === globalAuthPath) return;
173
+ try {
174
+ if (existsSync(homeAuthPath) || currentLink !== null) unlinkSync(homeAuthPath);
175
+ } catch {}
176
+ try {
177
+ symlinkSync(globalAuthPath, homeAuthPath);
178
+ } catch {}
179
+ }
180
+ /**
155
181
  * Translate Overdeck's abstract sandbox mode token into a value the codex
156
182
  * CLI actually accepts. Overdeck config uses 'workspace' as its mode name
157
183
  * (see config-yaml.ts permission modes); codex only accepts read-only,
@@ -496,6 +522,6 @@ var init_codex = __esmMin((() => {
496
522
  };
497
523
  }));
498
524
  //#endregion
499
- export { extractThreadIdFromRollout as a, initCodexHome as c, waitForCodexRollout as d, writeThreadId as f, createCodexRuntimeSync as i, init_codex as l, CodexSpawnTimeout as n, findLatestRollout as o, codexHome as r, findRolloutPath as s, CodexRuntimeSync as t, toCodexSandboxValue as u };
525
+ export { extractThreadIdFromRollout as a, initCodexHome as c, toCodexSandboxValue as d, waitForCodexRollout as f, createCodexRuntimeSync as i, init_codex as l, CodexSpawnTimeout as n, findLatestRollout as o, writeThreadId as p, codexHome as r, findRolloutPath as s, CodexRuntimeSync as t, seedCodexAuthSymlink as u };
500
526
 
501
- //# sourceMappingURL=codex-DW60_5j2.js.map
527
+ //# sourceMappingURL=codex-sgWVCGUd.js.map
@@ -1,3 +1,3 @@
1
- import { _ as saveConfigSync, a as getConversationsConfigSync, c as getDefaultConfig, d as getDevrootPathSync, f as init_config, g as saveConfig, h as normalizeRemoteConfig, i as getConversationsConfig, l as getDefaultConfigSync, m as loadConfigSync, n as findDevrootForProject, o as getDashboardApiUrl, p as loadConfig, r as findDevrootForProjectSync, s as getDashboardApiUrlSync, t as checkDevrootDeprecation, u as getDevrootPath } from "./config-ZNnMpIlh.js";
1
+ import { _ as saveConfigSync, a as getConversationsConfigSync, c as getDefaultConfig, d as getDevrootPathSync, f as init_config, g as saveConfig, h as normalizeRemoteConfig, i as getConversationsConfig, l as getDefaultConfigSync, m as loadConfigSync, n as findDevrootForProject, o as getDashboardApiUrl, p as loadConfig, r as findDevrootForProjectSync, s as getDashboardApiUrlSync, t as checkDevrootDeprecation, u as getDevrootPath } from "./config-DfaUXr6r.js";
2
2
  init_config();
3
3
  export { checkDevrootDeprecation, findDevrootForProject, findDevrootForProjectSync, getConversationsConfig, getConversationsConfigSync, getDashboardApiUrl, getDashboardApiUrlSync, getDefaultConfig, getDefaultConfigSync, getDevrootPath, getDevrootPathSync, loadConfig, loadConfigSync, normalizeRemoteConfig, saveConfig, saveConfigSync };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Dr as CONFIG_FILE, br as init_errors, f as loadConfigSync$1, qr as init_paths, t as init_config_yaml, ur as FsError } from "./config-yaml-Dcz-8uit.js";
2
+ import { Sr as init_errors, Yr as init_paths, f as loadConfigSync$1, fr as FsError, kr as CONFIG_FILE, t as init_config_yaml } from "./config-yaml-CqaAyn8y.js";
3
3
  import { t as require_toml } from "./toml-CeLDATih.js";
4
4
  import { Effect } from "effect";
5
5
  import { existsSync, promises, readFileSync, writeFileSync } from "fs";
@@ -253,4 +253,4 @@ var init_config = __esmMin((() => {
253
253
  //#endregion
254
254
  export { saveConfigSync as _, getConversationsConfigSync as a, getDefaultConfig as c, getDevrootPathSync as d, init_config as f, saveConfig as g, normalizeRemoteConfig as h, getConversationsConfig as i, getDefaultConfigSync as l, loadConfigSync as m, findDevrootForProject as n, getDashboardApiUrl as o, loadConfig as p, findDevrootForProjectSync as r, getDashboardApiUrlSync as s, checkDevrootDeprecation as t, getDevrootPath as u };
255
255
 
256
- //# sourceMappingURL=config-ZNnMpIlh.js.map
256
+ //# sourceMappingURL=config-DfaUXr6r.js.map