@overdeck/desktop 0.46.0 → 0.47.0

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 (387) hide show
  1. package/drizzle/overdeck/0000_overdeck_init.sql +4 -1
  2. package/package.json +1 -1
  3. package/server/{acceptance-criteria-CCwFGICj.js → acceptance-criteria-10Ur5Dne.js} +2 -2
  4. package/server/{advancing-selfheal-De1L-Sb4.js → advancing-selfheal-BNwqxseD.js} +6 -6
  5. package/server/{agent-gc-CBULruzm.js → agent-gc-C3h9Or3a.js} +5 -5
  6. package/server/{agent-state-VQk8fY9F.js → agent-state-CYXJVG72.js} +1 -1
  7. package/server/agent-state-service-C63p_ftq.js +2 -0
  8. package/server/{agent-state-service-BlnSkRFA.js → agent-state-service-Ds6OeFvo.js} +15 -9
  9. package/server/{agents-C5rWYhb6.js → agents-J5mEnekq.js} +23 -16
  10. package/server/{agents-BKKkxKgK.js → agents-ePFVoZbu.js} +1 -1
  11. package/server/archive-planning-B2XplFzT.js +2 -0
  12. package/server/{archive-planning-C0lAbNB_.js → archive-planning-BwhxeP7C.js} +10 -6
  13. package/server/{artifact-index-jobs-ug6ZxIP5.js → artifact-index-jobs-D1q_vR3V.js} +2 -2
  14. package/server/{assemble-DnffNpOo.js → assemble-Bgwqv-Ro.js} +2 -2
  15. package/server/{tmux-dedup-DbN6MGzM.js → auto-spawn-consent-CQ9Bi9q6.js} +262 -13
  16. package/server/{backlog-auto-trigger-Dh-i9PQf.js → backlog-auto-trigger-n1lzPgN4.js} +3 -3
  17. package/server/{behavior-CfIg6pKp.js → behavior-td6-xhQk.js} +2 -2
  18. package/server/boot-reconciled-stop-events-C7gGe3oB.js +44 -0
  19. package/server/{bridge-pool-patrol-CUFmjVDN.js → bridge-pool-patrol-CYH2OLb5.js} +1 -1
  20. package/server/{briefing-freshness-DHmCSLar.js → briefing-freshness-DRqZ8lAz.js} +2 -2
  21. package/server/{build-info-CuFfxZxp.js → build-info-7yiEpl6u.js} +3 -3
  22. package/server/{build-info-BP160gU7.js → build-info-CpG__c63.js} +1 -1
  23. package/server/{checkpoint-manager-Dxh0FYsv.js → checkpoint-manager-CkKmB0wZ.js} +1 -1
  24. package/server/{checkpoint-manager-DEWD82qK.js → checkpoint-manager-DBcyNR8w.js} +2 -2
  25. package/server/checkpoint-worker.js +1 -1
  26. package/server/{checkpoints-CZvbtLnr.js → checkpoints-D95apurL.js} +2 -2
  27. package/server/{checkpoints-DMTgXuLG.js → checkpoints-Wm963lm8.js} +1 -1
  28. package/server/{claude-hooks-provision-CN-xo-do.js → claude-hooks-provision-4RPxNkE8.js} +1 -1
  29. package/server/{claude-hooks-provision-fvy4RD2b.js → claude-hooks-provision-Bjitl9aI.js} +2 -2
  30. package/server/{claude-permissions-CN0cSCPp.js → claude-permissions-CpbpvUQ2.js} +2 -2
  31. package/server/{claude-settings-overlay-Dabi9slj.js → claude-settings-overlay-BzkHYDwR.js} +1 -1
  32. package/server/{claude-settings-overlay-CJn35FHQ.js → claude-settings-overlay-_H9Yrzab.js} +2 -2
  33. package/server/cli-CjOCSnfj.js +3 -0
  34. package/server/{cli-oCWYA1pE.js → cli-Cte9ZFGn.js} +9 -9
  35. package/server/{cliproxy-C8mB3KuB.js → cliproxy-C5fMJ7rY.js} +2 -2
  36. package/server/{cliproxy-PGwTX_o8.js → cliproxy-DaAbWMjC.js} +1 -1
  37. package/server/{close-issue-D5MF5GqF.js → close-issue-BPh1ARCF.js} +5 -5
  38. package/server/{closed-issue-reaper-CJ24u0Zt.js → closed-issue-reaper-DHRfRMrp.js} +1 -1
  39. package/server/{closed-issue-reaper-Cltx86x5.js → closed-issue-reaper-DoOZqGFK.js} +62 -12
  40. package/server/{codex-Drlf5Xhf.js → codex-BzGDW_d3.js} +6 -6
  41. package/server/{codex-BdEsUFWh.js → codex-o8FJwzmy.js} +1 -1
  42. package/server/{codex-parser-DpB89Vqa.js → codex-parser-Dt-ycU8L.js} +2 -2
  43. package/server/{compaction-continuation-K2AxQX4H.js → compaction-continuation-CvXpbZ4w.js} +3 -3
  44. package/server/{config-B2IMcBxx.js → config-Bi3u1VK7.js} +2 -2
  45. package/server/{config-Dr3pW6w6.js → config-BvLe652W.js} +2 -2
  46. package/server/{config-DV-grfQc.js → config-CL3Gyvja.js} +1 -1
  47. package/server/{config-yaml-CmOPzmBb.js → config-yaml-CxdwhAIA.js} +10 -2
  48. package/server/conflict-gate-CX80JYYS.js +3 -0
  49. package/server/{conflict-gate-B9cN3SBi.js → conflict-gate-E4nt7ZeS.js} +59 -13
  50. package/server/{context-layers-dR5YxHYB.js → context-layers-C_IIysnm.js} +3 -3
  51. package/server/{context-layers-D6LZo3l1.js → context-layers-DAG83UZt.js} +2 -2
  52. package/server/{control-settings-C7DUehE1.js → control-settings-CiqGxXnc.js} +13 -6
  53. package/server/{conversation-compaction-Dj4FAKoZ.js → conversation-compaction-BE3CNtHF.js} +1 -1
  54. package/server/{conversation-compaction-BoqdDXWF.js → conversation-compaction-D6-yLtqt.js} +8 -8
  55. package/server/{conversation-service-5aCnq1zR.js → conversation-service-DBxoYMDl.js} +8 -7
  56. package/server/{conversation-service-BCxl4f8Z.js → conversation-service-D_TS2b1r.js} +1 -1
  57. package/server/{conversations-C34dyIb9.js → conversations-BKDVpB-3.js} +1 -1
  58. package/server/{conversations-BUpYsOZg.js → conversations-D0UEdLtk.js} +4 -4
  59. package/server/{cost-CvxRrucd.js → cost-DS1s0DbG.js} +3 -3
  60. package/server/{cost-Bgcub5kW.js → cost-DpgYmYqR.js} +2 -2
  61. package/server/{cost-sync-Dv3LUaNW.js → cost-sync-tOCCGnEt.js} +3 -3
  62. package/server/{dag-ombYYt4s.js → dag-BtkgLeqY.js} +2 -2
  63. package/server/{dangerous-git-ops-BcJPC5Rr.js → dangerous-git-ops-CFLykHWt.js} +1 -1
  64. package/server/dashboard-db-worker.js +7 -7
  65. package/server/{deacon-DrXqT9LQ.js → deacon-BIblC-WX.js} +3 -3
  66. package/server/{deacon-nudge-log-BNBebzeL.js → deacon-nudge-log-B08gF0mh.js} +3 -3
  67. package/server/{deacon-hi9KLPLT.js → deacon-pLRLbPvR.js} +548 -176
  68. package/server/{deacon-pending-lifecycle-Cpk0k7Hi.js → deacon-pending-lifecycle-B-Io84AP.js} +3 -3
  69. package/server/deacon-swarm-B1XkIvfr.js +2 -0
  70. package/server/{deacon-swarm-DBxUaO-A.js → deacon-swarm-v5PMun-m.js} +15 -14
  71. package/server/deacon.js +8 -8
  72. package/server/{dead-end-trip-CQcP70ND.js → dead-end-trip-D8A3msX9.js} +3 -3
  73. package/server/{delivery-Da0zEMY4.js → delivery-BX9HR4wQ.js} +1 -1
  74. package/server/{deploy-patrol-Df-Tmaq0.js → deploy-patrol-sYgOxLeb.js} +8 -8
  75. package/server/{deploy-queue-UjKGYsDe.js → deploy-queue-VfohaPN_.js} +2 -2
  76. package/server/{deploy-queue-9SrhZR63.js → deploy-queue-gHJBycaF.js} +1 -1
  77. package/server/{deploy-window-jOiPRHL0.js → deploy-window-CFRZ0-kt.js} +1 -1
  78. package/server/{deploy-window-rpqpWqHA.js → deploy-window-D4DQb8VP.js} +6 -6
  79. package/server/{dev-supervisor-CC46Ig8q.js → dev-supervisor-DiOBDM1c.js} +2 -2
  80. package/server/{devcontainer-renderer-68CSCRnu.js → devcontainer-renderer-BUOIlfgD.js} +3 -3
  81. package/server/dist-B3YPQa5A.js +3 -0
  82. package/server/{dist-CJy72uEg.js → dist-C3A8B8wM.js} +1 -1
  83. package/server/{dist-src-Bik83hFi.js → dist-src-C0adpegX.js} +1 -1
  84. package/server/{docker-Dam7mbIB.js → docker-BJzlkqYB.js} +2 -2
  85. package/server/{docker-BMVTSFL5.js → docker-Y3PElJb0.js} +1 -1
  86. package/server/{dod-Dar-yheg.js → dod-DlNtcH6n.js} +26 -5
  87. package/server/{durable-review-pipeline-CGZ5QBxh.js → durable-review-pipeline-Cibps-Rg.js} +5 -2
  88. package/server/durable-review-pipeline-DP6bIcOY.js +3 -0
  89. package/server/{ensure-devcontainer-B057YA81.js → ensure-devcontainer-BAofzBPv.js} +4 -4
  90. package/server/{ensure-devcontainer-C98V8yW-.js → ensure-devcontainer-DMAbWqtQ.js} +1 -1
  91. package/server/{esm-shims-Br9BPdkR.js → esm-shims-BeObUkaw.js} +1 -1
  92. package/server/{event-store-ELqkVOn0.js → event-store-5UKzh9Jf.js} +1 -1
  93. package/server/{event-store-zY5MJHgF.js → event-store-CrHcVC5_.js} +3 -3
  94. package/server/{events-D9PR1IC0.js → events-BNrvchBg.js} +3 -3
  95. package/server/{events-D6pyqhzM.js → events-CF8QDbuV.js} +1 -1
  96. package/server/{factory-CRoOpGsF.js → factory-Cmm9Hsho.js} +5 -5
  97. package/server/{feature-registry-population--YUXU999.js → feature-registry-population-B6HpNWRy.js} +4 -4
  98. package/server/{feature-registry-storage-BORBTo0y.js → feature-registry-storage-DJEFx1Pf.js} +2 -2
  99. package/server/{features--nFkJY8v.js → features-D5km80UI.js} +2 -2
  100. package/server/{feedback-target-C0ZzyHvU.js → feedback-target-BJ5ZADsu.js} +1 -1
  101. package/server/{feedback-target-Dt9BsapX.js → feedback-target-DSxEL6lP.js} +7 -7
  102. package/server/{feedback-writer-BG0RUZiu.js → feedback-writer-C27Hak8a.js} +5 -5
  103. package/server/{feedback-writer-D1fm-5Z8.js → feedback-writer-CoB9Z6aU.js} +1 -1
  104. package/server/{flywheel-BiT3odRb.js → flywheel-BHx8XuMr.js} +38 -19
  105. package/server/{flywheel-BekukH4i.js → flywheel-DZZdtiOL.js} +1 -1
  106. package/server/{flywheel-CLVB55Be.js → flywheel-f662Q-y2.js} +14 -14
  107. package/server/{flywheel-merge-order-BJv1DZz1.js → flywheel-merge-order-D_xLMbJU.js} +7 -7
  108. package/server/{flywheel-merge-order-BKw9o6ku.js → flywheel-merge-order-Dil0LmdN.js} +1 -1
  109. package/server/forge-B5o319qI.js +3 -0
  110. package/server/{forge-CZbSg6Ds.js → forge-BaKGCya6.js} +2 -2
  111. package/server/{from-D_4_dk7i.js → from-B3tZbB55.js} +1 -1
  112. package/server/fs-lock-Bre3sGoz.js +130 -0
  113. package/server/{fts-db-BeOomFa-.js → fts-db-IVc4_M3f.js} +2 -2
  114. package/server/{fts-operations-BdewJ_g9.js → fts-operations-B9jG8wa3.js} +2 -2
  115. package/server/{git-utils-ameCgDdy.js → git-utils-CsvYfJU3.js} +4 -4
  116. package/server/{git-utils-CI6cwyyC.js → git-utils-Xg4PFN45.js} +1 -1
  117. package/server/{github-app-DtAsvwzK.js → github-app-Bmg4R9mv.js} +1 -1
  118. package/server/{github-app-CQ1Lo6LA.js → github-app-CmNk0zLU.js} +2 -2
  119. package/server/{github-client-Cj0yl_07.js → github-client-B6KM9_wA.js} +1 -1
  120. package/server/{github-client-BfyDxuRN.js → github-client-qazkPrg0.js} +3 -3
  121. package/server/{github-pr-lookup-BDq6Wznz.js → github-pr-lookup-DAcVeRLK.js} +2 -2
  122. package/server/{harness-binary-DqkftwTb.js → harness-binary-BSpiXaLw.js} +2 -2
  123. package/server/{harness-resolve-CqMqM1Mb.js → harness-resolve-BAJu5MX8.js} +4 -4
  124. package/server/{health-events-_xfTaOUs.js → health-events-2Z6Wa9SM.js} +1 -1
  125. package/server/{health-events-CazRxJUS.js → health-events-BwX32k8d.js} +2 -2
  126. package/server/{hooks-BnJsxlSq.js → hooks-D1g1jKLI.js} +1 -1
  127. package/server/{hooks-BO3QT1sn.js → hooks-DbtbimEf.js} +2 -2
  128. package/server/{hume-CDYJxqx-.js → hume-DXNiu6nQ.js} +2 -2
  129. package/server/hume-VUCNbTgn.js +3 -0
  130. package/server/{idle-stack-reaper-BYqERdkE.js → idle-stack-reaper-CRA1e0jr.js} +1 -1
  131. package/server/{idle-stack-reaper-CnGx_PO_.js → idle-stack-reaper-Cy-dQzW4.js} +2 -2
  132. package/server/{in-flight-guard-Bq3epG58.js → in-flight-guard-D-sSkADM.js} +1 -1
  133. package/server/{infra-BjuxvjdS.js → infra-BDQDRopn.js} +15 -4
  134. package/server/{injection-UCf8EsjX.js → injection-6AGnXxlj.js} +7 -7
  135. package/server/{injection-DZxlV2al.js → injection-Bl8d_jHZ.js} +1 -1
  136. package/server/inspect-agent-CUwVmr2h.js +2 -0
  137. package/server/{inspect-agent-6kylZnrm.js → inspect-agent-nXdIptyh.js} +12 -12
  138. package/server/{internal-token-DvMTQSOS.js → internal-token-DzK385vD.js} +2 -2
  139. package/server/{internal-token-M9omeXM1.js → internal-token-Ias7N8Kg.js} +1 -1
  140. package/server/{io-VHvc0Ssp.js → io-B00PBNku.js} +4 -4
  141. package/server/{issue-closed-B6KJkmHZ.js → issue-closed-BehTG1be.js} +8 -8
  142. package/server/{issue-lifecycle-C4Zj0WmE.js → issue-lifecycle-Birk-ifu.js} +29 -23
  143. package/server/{issue-lifecycle-9gk3fnXN.js → issue-lifecycle-BqSuQvbn.js} +1 -1
  144. package/server/{issue-service-singleton-PMx8F1jr.js → issue-service-singleton-B2wXiIlw.js} +1 -1
  145. package/server/{issue-service-singleton-DmCh7EHj.js → issue-service-singleton-C6ZduvuY.js} +10 -10
  146. package/server/{issues-CgnQ1OGQ.js → issues-DQ5-LatB.js} +2 -2
  147. package/server/{jsonl-parser-DJOH_O-w.js → jsonl-parser-BDpnGFCl.js} +3 -3
  148. package/server/{label-cleanup-Dv7AV_R1.js → label-cleanup-Dwnky8FG.js} +3 -3
  149. package/server/{lifecycle-DDN8ApVY.js → lifecycle-B3s4sM1G.js} +6 -6
  150. package/server/{lifecycle-CTdOWYMi.js → lifecycle-B4Xdb4cY.js} +2 -2
  151. package/server/{lifecycle-io-D_zTLvP1.js → lifecycle-io-CzTHEooc.js} +1 -1
  152. package/server/{lifecycle-io-D-lGdzK3.js → lifecycle-io-DCo6s6ks.js} +5 -5
  153. package/server/{linear-client-BQU36QqE.js → linear-client-9uq7fhiV.js} +3 -3
  154. package/server/{linear-client-CY4O_Tu3.js → linear-client-CnbtHiic.js} +1 -1
  155. package/server/{linear-mcp-auth-BnU4TYfY.js → linear-mcp-auth-BxUOzswy.js} +5 -5
  156. package/server/{linear-mcp-auth-NYBq_oHZ.js → linear-mcp-auth-D46fBCLf.js} +1 -1
  157. package/server/memory-fts-worker.js +1 -1
  158. package/server/{merge-Bpx4jjht.js → merge-DiW9RdSB.js} +3 -3
  159. package/server/{merge-agent-DdMVSV2Y.js → merge-agent-BLUgRsz3.js} +31 -31
  160. package/server/{merge-agent-DrXa1CpW.js → merge-agent-DQTXZk8z.js} +1 -1
  161. package/server/{merge-batch-C5q1c1GX.js → merge-batch-Cp_j9BGk.js} +1 -1
  162. package/server/{merge-completeness-BMm8tMyZ.js → merge-completeness-B46KqhtY.js} +4 -4
  163. package/server/{merge-completeness-D0ljXbk3.js → merge-completeness-BLbB5-6n.js} +1 -1
  164. package/server/merge-ops-1abz6O_P.js +2 -0
  165. package/server/merge-rebase-CJJVAJuz.js +2 -0
  166. package/server/{merge-rebase-xLnMlw5h.js → merge-rebase-DIkBjgwq.js} +2 -2
  167. package/server/{merge-set-DH7ot3yz.js → merge-set-CBgHfwM0.js} +4 -4
  168. package/server/{merge-set-DzsOTBg5.js → merge-set-DeUxFsC3.js} +1 -1
  169. package/server/{merge-idOG--29.js → merge-sr8Nrnmi.js} +1 -1
  170. package/server/merge-sync-CpGmk6Ch.js +3 -0
  171. package/server/{merge-sync-CQ-LgZ1_.js → merge-sync-kr4vqyjM.js} +7 -4
  172. package/server/{merge-train-DTEMyIu4.js → merge-train-Dmrcus12.js} +4 -4
  173. package/server/{merge-train-deps-CNPJzepw.js → merge-train-deps-D_uGX91G.js} +21 -15
  174. package/server/{merge-verification-x3JO8Dtz.js → merge-verification-NvaAd8CZ.js} +6 -6
  175. package/server/{merged-docker-cleanup-worker-Cdi9apm-.js → merged-docker-cleanup-worker-DH_hrGPI.js} +1 -1
  176. package/server/{merged-docker-cleanup-worker-CTpC27Bs.js → merged-docker-cleanup-worker-Y1R06TEl.js} +3 -3
  177. package/server/{multipart-parser-IMSBfePV.js → multipart-parser-R-oC8dQg.js} +2 -2
  178. package/server/{no-resume-mode-C5ULAXwO.js → no-resume-mode-BgD0JUmM.js} +1 -1
  179. package/server/node_modules/.package-lock.json +4 -4
  180. package/server/node_modules/@types/node/README.md +1 -1
  181. package/server/node_modules/@types/node/crypto.d.ts +1 -1
  182. package/server/node_modules/@types/node/package.json +2 -2
  183. package/server/{orphan-proposed-reconciler-Dg6U4ADZ.js → orphan-proposed-reconciler-B6vJHxtX.js} +230 -31
  184. package/server/{orphan-proposed-reconciler-CWmOdM9-.js → orphan-proposed-reconciler-DcgTPPFY.js} +1 -1
  185. package/server/package-lock.json +5 -5
  186. package/server/package.json +1 -1
  187. package/server/{pan-dir-ubraCiUg.js → pan-dir-DMzF5wne.js} +4 -4
  188. package/server/{paths-cXmOwSbh.js → paths-sJBSb7Ul.js} +2 -2
  189. package/server/{pending-lifecycle-claim-DEteYdS9.js → pending-lifecycle-claim-DilzGfgk.js} +2 -2
  190. package/server/persistent-logger-H_VjuOu7.js +57 -0
  191. package/server/{pickup-D8xtG1J2.js → pickup-DWhqzliO.js} +4 -3
  192. package/server/{pipeline-membership-BGSvkT2M.js → pipeline-membership-C88VBnhJ.js} +1 -1
  193. package/server/{pipeline-membership-CrAPLYtf.js → pipeline-membership-D9SBvItj.js} +1 -1
  194. package/server/{pipeline-membership-gather-DTfcgxLl.js → pipeline-membership-gather-4eR-7Tqy.js} +1 -1
  195. package/server/{pipeline-membership-gather-CET40frr.js → pipeline-membership-gather-CeVGnNJ2.js} +114 -9
  196. package/server/{pipeline-notifier-BuQ0e4hF.js → pipeline-notifier-D0ALV6Nw.js} +2 -2
  197. package/server/{pipeline-notifier-ImNXknf0.js → pipeline-notifier-DT6xLFao.js} +1 -1
  198. package/server/{post-merge-lifecycle-worker-DbO10pum.js → post-merge-lifecycle-worker-8HIeS_J6.js} +3 -3
  199. package/server/{project-pipelines-Bim6bThI.js → project-pipelines-9SKt2bEc.js} +2 -2
  200. package/server/{project-repos-C0nuoBGv.js → project-repos-B5pIphKg.js} +2 -2
  201. package/server/{project-repos-CRE6Ykow.js → project-repos-DPjOdfPa.js} +1 -1
  202. package/server/{projects-B03Wr-xc.js → projects-_n3Zui6K.js} +1 -1
  203. package/server/{prompts-BEx08AIu.js → prompts-CgzMBvQF.js} +2 -2
  204. package/server/{providers-D7IluJe0.js → providers-BI1mOBQ4.js} +1 -1
  205. package/server/{providers-evXhiQeg.js → providers-BJQSnAAp.js} +7 -7
  206. package/server/public/assets/{chunk-BO2N2NFS-D1s4-Sqp.js → chunk-BO2N2NFS-D_pGACYN.js} +4 -4
  207. package/server/public/assets/{diagram-OG6HWLK6-1gdMoSF7.js → diagram-OG6HWLK6-BO6fe3hH.js} +1 -1
  208. package/server/public/assets/{dist-DqDRYW6P.js → dist-5zingMiA.js} +3 -3
  209. package/server/public/assets/{dist-CxAOHbil.js → dist-CVxhbI2E.js} +1 -1
  210. package/server/public/assets/{ganttDiagram-6RSMTGT7-BYex-Ec7.js → ganttDiagram-6RSMTGT7-Bgj4A7kp.js} +1 -1
  211. package/server/public/assets/{highlighted-body-OFNGDK62-DlVkiG0S.js → highlighted-body-OFNGDK62-DNPK7_cm.js} +1 -1
  212. package/server/public/assets/{index-K0hAYCgV.js → index-DEpY-D1O.js} +148 -148
  213. package/server/public/assets/index-Ddkcz3WT.css +1 -0
  214. package/server/public/assets/{linear-B4cuEFmO.js → linear-BB0jQT16.js} +1 -1
  215. package/server/public/assets/mermaid-GHXKKRXX-BzPfaQJ1.js +1 -0
  216. package/server/public/assets/{pieDiagram-4H26LBE5-CBHNBIJQ.js → pieDiagram-4H26LBE5-DeGIzzpZ.js} +1 -1
  217. package/server/public/assets/{prod-CN2nHBvX.js → prod-XBLvikex.js} +4 -4
  218. package/server/public/assets/{quadrantDiagram-W4KKPZXB-Bom87VOQ.js → quadrantDiagram-W4KKPZXB-BV9SLeWz.js} +1 -1
  219. package/server/public/assets/{sankeyDiagram-5OEKKPKP-UrBeyLxk.js → sankeyDiagram-5OEKKPKP-Dwja0gj8.js} +1 -1
  220. package/server/public/assets/{xychartDiagram-2RQKCTM6-DhkbrIxR.js → xychartDiagram-2RQKCTM6-DCB4qvfw.js} +1 -1
  221. package/server/public/index.html +2 -2
  222. package/server/{pull-requests-DHWiKxo7.js → pull-requests-7BgLDsIo.js} +3 -3
  223. package/server/{pull-requests-Cv7LxzUN.js → pull-requests-Dq0y6IxE.js} +1 -1
  224. package/server/{queries-DHJm7bTd.js → queries-C-MUZaIy.js} +266 -155
  225. package/server/{rally-B71M9f4o.js → rally-CPysR4T_.js} +3 -3
  226. package/server/rally-D_VW4bJv.js +3 -0
  227. package/server/{rally-api-Dkqmok65.js → rally-api-8Ptlp2os.js} +2 -2
  228. package/server/{rally-api-D5uXN08-.js → rally-api-CgosKdKL.js} +1 -1
  229. package/server/{rally-client-CxsA6ExK.js → rally-client-CCX0hADj.js} +1 -1
  230. package/server/{rally-client-Bfqm6XI4.js → rally-client-iYMHWQD7.js} +5 -5
  231. package/server/{reap-terminal-sessions-BQ23nriz.js → reap-terminal-sessions-4Xg9NGA8.js} +2 -2
  232. package/server/{reap-terminal-sessions-CvmwaqKv.js → reap-terminal-sessions-Qf-9LVQc.js} +2 -2
  233. package/server/{rebuild-stack-0EEYReVZ.js → rebuild-stack-CMdgaylx.js} +7 -7
  234. package/server/{rebuild-stack-qeRqHZxH.js → rebuild-stack-DqcOVmJO.js} +2 -2
  235. package/server/{reconstruct-cache-BbYFsqLa.js → reconstruct-cache-CMZJ_Vjq.js} +9 -8
  236. package/server/{record-CtroO946.js → record-BTwWhtBb.js} +1 -1
  237. package/server/{record-update-Z0QCxmMp.js → record-update-DaOKS7Wb.js} +5 -128
  238. package/server/{record-update-DH6dLJID.js → record-update-DhI7eySG.js} +1 -1
  239. package/server/{recovery-trip-eJe26h-f.js → recovery-trip-DDH-02ng.js} +2 -2
  240. package/server/{release-engine-lPUp-MTd.js → release-engine-B2X9AfFC.js} +5 -5
  241. package/server/{release-set-BwGeyZKX.js → release-set-G4XKyQ8K.js} +3 -3
  242. package/server/{remote-BCd02Es1.js → remote-BXarMvqf.js} +3 -3
  243. package/server/{remote-CVGUhXMV.js → remote-CUhyqjXk.js} +3 -3
  244. package/server/{remote-agents-C_VxssLU.js → remote-agents-Bba-MgSA.js} +17 -8
  245. package/server/{remote-agents-C1bssi41.js → remote-agents-CLZB3Coc.js} +1 -1
  246. package/server/{remote-completion-DAB0P706.js → remote-completion-CwAp79EC.js} +13 -13
  247. package/server/resume-mOREjlYu.js +3 -0
  248. package/server/{review-agent-CHhI66UP.js → review-agent--pOptAEV.js} +31 -29
  249. package/server/{review-agent-CD4RCI0Y.js → review-agent-BTCNkq2h.js} +1 -1
  250. package/server/{review-artifacts-DSMRIfuJ.js → review-artifacts-BNmw8dWE.js} +5 -5
  251. package/server/{review-context-oFuBbiEE.js → review-context-DFxYOOJW.js} +9 -9
  252. package/server/{review-convoy-liveness-CpzrcJ5F.js → review-convoy-liveness-BgU_1jJf.js} +2 -2
  253. package/server/{review-status-yljtTd-q.js → review-status-CGvlA4o_.js} +326 -110
  254. package/server/review-status-Dma9SFaN.js +3 -0
  255. package/server/{review-status-emit-CUExtHd5.js → review-status-emit-DURrmGYX.js} +3 -3
  256. package/server/{review-status-enrichment-QV_hQkgS.js → review-status-enrichment-8NiNXi5W.js} +3 -3
  257. package/server/{review-status-source-ylw5QZUR.js → review-status-source-BLx_1siH.js} +1 -1
  258. package/server/{review-status-source-CpvJnvnQ.js → review-status-source-DIk1JSow.js} +1 -1
  259. package/server/{review-status-sync-483sujRo.js → review-status-sync-0GxOqeqF.js} +11 -6
  260. package/server/{review-status-sync-NaWvI9Xf.js → review-status-sync-muT-EBp2.js} +1 -1
  261. package/server/{review-verdict-feedback-BPDn4li_.js → review-verdict-feedback-HwF6ODFy.js} +1 -1
  262. package/server/{review-verdict-feedback-CELeUinh.js → review-verdict-feedback-xJNdqBnX.js} +23 -9
  263. package/server/{rollup-DTNvelz9.js → rollup-BQaol5TX.js} +8 -8
  264. package/server/{rollup-DYZfq1c4.js → rollup-BR4t_wck.js} +1 -1
  265. package/server/{scanner-CV35oSn4.js → scanner-C-D2cFdX.js} +7 -7
  266. package/server/{sequence-io-DF_8iuhV.js → sequence-io-Bmf1EZM5.js} +4 -4
  267. package/server/{sequencer-agent-B2WeCtGi.js → sequencer-agent-CigMyKh2.js} +7 -6
  268. package/server/server.js +435 -418
  269. package/server/{service-Br9rpBNA.js → service-CD0DvFvD.js} +88 -59
  270. package/server/{session-fork-D0LY152N.js → session-fork-B6cQ5eya.js} +2 -2
  271. package/server/{session-history-BUyK29eq.js → session-history-3ON_IJjm.js} +7 -55
  272. package/server/settings-CVmWiJ-r.js +2 -0
  273. package/server/{settings-CvVGqNEs.js → settings-PilbFZAM.js} +2 -2
  274. package/server/{settings-Bse1Pdcj.js → settings-VN0qOh4U.js} +3 -3
  275. package/server/{shadow-engineering-BWLa8ODz.js → shadow-engineering-DXvx77oE.js} +3 -3
  276. package/server/{shadow-state-B4fpKxOO.js → shadow-state-BBk_zacw.js} +2 -2
  277. package/server/{shadow-state-FV6PHfEW.js → shadow-state-CZBp7pwq.js} +1 -1
  278. package/server/{shadow-utils-D7asqxOZ.js → shadow-utils-DdZ05AJS.js} +2 -2
  279. package/server/{ship-log-xplJ8t75.js → ship-log-7kJfjUX2.js} +1 -1
  280. package/server/{smart-compaction-CPp2Ykf6.js → smart-compaction-8fA5k5XN.js} +1 -1
  281. package/server/{smart-compaction-D3U_79f-.js → smart-compaction-ByhL9cRS.js} +7 -7
  282. package/server/{spawn-planning-session-DGfZ5B8D.js → spawn-planning-session-pcF-YeFE.js} +38 -50
  283. package/server/spawn-planning-session-vLUJoFjy.js +3 -0
  284. package/server/{specialist-completion-Br48eiDP.js → specialist-completion-B07XjWD2.js} +1 -1
  285. package/server/{specialist-context-cVbGnTa3.js → specialist-context-DJ-zFyL3.js} +5 -5
  286. package/server/{specialist-handoff-logger-DK-GTz4s.js → specialist-handoff-logger-aKSxbIgD.js} +2 -2
  287. package/server/{specialist-logs-Cl5-hqT8.js → specialist-logs-Dae-n52_.js} +3 -3
  288. package/server/{specialists-CNfYO3G2.js → specialists-6PWdtWcg.js} +298 -180
  289. package/server/{specialists-Tdezg_6N.js → specialists-Bz-wFT7R.js} +1 -1
  290. package/server/{specialists-Cicieuzu.js → specialists-DUiExaxb.js} +18 -18
  291. package/server/{specialists-JHsdU3pA.js → specialists-KR3pKulN.js} +1 -1
  292. package/server/specs--enInima.js +3 -0
  293. package/server/{src-CRmCHlma.js → src-B948bGVR.js} +57 -13
  294. package/server/{src-Ck028hjO.js → src-rac0Mepv.js} +6 -6
  295. package/server/{src-UWcGe0Ix.js → src-vHy2-oCv.js} +3 -3
  296. package/server/{stack-health-CJLMrLBl.js → stack-health-BikqHSjn.js} +1 -1
  297. package/server/{stack-health-DqSqx0zv.js → stack-health-DqLTiEu4.js} +2 -2
  298. package/server/{stale-task-claims-CYFOUNlT.js → stale-task-claims-Cab_Fo_Z.js} +5 -4
  299. package/server/{staleness-D47CUJok.js → staleness-C-a5rBxF.js} +1 -1
  300. package/server/{staleness-BQ-0gMYK.js → staleness-CGTZyp6V.js} +1 -1
  301. package/server/{state-home-BYV7qZTW.js → state-home-722Dkx92.js} +2 -2
  302. package/server/{state-mapping-BVldLhBf.js → state-mapping-CybR81Uf.js} +1 -1
  303. package/server/{state-migrate-CvvBtS0Y.js → state-migrate-2u8wIpoL.js} +4 -4
  304. package/server/{stuck-remediation-mkLC6G_t.js → stuck-remediation-CC6q3eqQ.js} +24 -23
  305. package/server/{stuck-remediation-Wt0UVvu1.js → stuck-remediation-r1TJu68G.js} +1 -1
  306. package/server/{substrate-bug-weights-service-XfLAKnmK.js → substrate-bug-weights-service-CzIyyWFT.js} +3 -3
  307. package/server/{summary-fork-CD7GOts0.js → summary-fork-BqgmgPDt.js} +2 -2
  308. package/server/{summary-fork-xiXBnWG9.js → summary-fork-Df2WFijM.js} +8 -8
  309. package/server/supervisor/{injection-budget-B5SbvDx2.js → injection-budget-Cg_KIb3o.js} +1 -1
  310. package/server/supervisor/{paths-K3noE4N_.js → paths-BBOnCYlO.js} +10 -2
  311. package/server/supervisor/pty-supervisor.js +4 -4
  312. package/server/supervisor/{pty-token-B7lp0ElT.js → pty-token-BbjwEUUM.js} +3 -3
  313. package/server/supervisor-B4anCCSm.js +2 -0
  314. package/server/{supervisor-DL788vos.js → supervisor-BxqSpjcN.js} +3 -3
  315. package/server/{swarm-readiness-BV14DF5N.js → swarm-readiness-DfFxa9-n.js} +3 -3
  316. package/server/{system-prerequisites-pdWG6ZQs.js → system-prerequisites-ICLSkhhZ.js} +2 -2
  317. package/server/{teardown-workspace-l2F4_zim.js → teardown-workspace-DRdi_CPa.js} +15 -15
  318. package/server/{test-agent-queue-qakFIIGz.js → test-agent-queue-A_-p-i0I.js} +8 -7
  319. package/server/{test-verdict-Gw-btEfb.js → test-verdict-BHgTAwIG.js} +1 -1
  320. package/server/{test-verdict-BJYDggMm.js → test-verdict-C4i9aqEP.js} +1 -1
  321. package/server/{tldr-daemon-BKOYB616.js → tldr-daemon-CvWXBhX1.js} +1 -1
  322. package/server/{tldr-daemon-CBaWkV9k.js → tldr-daemon-wvsU6bKv.js} +2 -2
  323. package/server/{tmux-B1Wbxz5o.js → tmux-CfDHob9M.js} +174 -4
  324. package/server/{tmux-DQ6jB76i.js → tmux-Ctk6RV5l.js} +1 -1
  325. package/server/{token-Cxbk023d.js → token-DrxwytsZ.js} +2 -2
  326. package/server/{token-util-CLq2MmQt.js → token-util-B48BlCba.js} +1 -1
  327. package/server/token-util-D411CAq9.js +3 -0
  328. package/server/{tracker-config-DZ8Zn2nQ.js → tracker-config-BcPMElRB.js} +2 -2
  329. package/server/{tracker-utils-L0FKtjq2.js → tracker-utils-CJ6BHjcD.js} +2 -2
  330. package/server/{traefik-connect-bNX6jKkb.js → traefik-connect-DZ6nMYMj.js} +1 -1
  331. package/server/{tunnel-CjSnHdTc.js → tunnel-Bp-dRHZz.js} +1 -1
  332. package/server/{tunnel-BAm1XgjG.js → tunnel-DUbUPElU.js} +3 -3
  333. package/server/{typed-errors-BHhE85Ul.js → typed-errors-CKeoDdU3.js} +1 -1
  334. package/server/{typed-errors-2BTMxkZq.js → typed-errors-DyjseiB6.js} +1 -1
  335. package/server/{types-hraoaQIp.js → types-Cm5ASJbq.js} +1 -1
  336. package/server/{types-q67TYYg5.js → types-Di8wdakq.js} +1 -1
  337. package/server/{uat-promote-verification-CKB9ZrKC.js → uat-promote-verification-CoJuh7XO.js} +5 -5
  338. package/server/{uat-train-D5UjcyAa.js → uat-train-4Q0k06CQ.js} +0 -0
  339. package/server/{uat-train-Cu-4nvbf.js → uat-train-Dewoatps.js} +1 -1
  340. package/server/{validate-Cxsx5Uz1.js → validate-B0C8p66t.js} +3 -3
  341. package/server/{validation-VZgJxmqc.js → validation-B_kIRfNe.js} +4 -4
  342. package/server/{validation-DEaTZafj.js → validation-hVOwQk8T.js} +1 -1
  343. package/server/{verification-artifact-C85cRTc_.js → verification-artifact-BxlxTiYK.js} +1 -1
  344. package/server/{verification-artifact-g3yuxQDL.js → verification-artifact-D70AtckY.js} +1 -1
  345. package/server/{verification-runner-DlZI8yhw.js → verification-runner-Bc3cJvpC.js} +1 -1
  346. package/server/{verification-runner-KDZIsBj4.js → verification-runner-KZTz6u72.js} +19 -19
  347. package/server/{vtt-parser-Jr94BF3Y.js → vtt-parser-CE_i3Bcw.js} +1 -1
  348. package/server/{work-agent-prompt-C-vuP3_J.js → work-agent-prompt-ByrPAzOy.js} +9 -9
  349. package/server/{workflows-D0oip4eV.js → workflows-D0vP1WrK.js} +113 -43
  350. package/server/workflows-DtDX08ed.js +2 -0
  351. package/server/{workspace-BqFg__wH.js → workspace-COWvdibH.js} +1 -1
  352. package/server/{workspace-C0fH3aek.js → workspace-DQkRPLlQ.js} +3 -3
  353. package/server/{workspace-anchor-drift-CZKofakh.js → workspace-anchor-drift-DXYIAHzr.js} +4 -4
  354. package/server/{workspace-anchor-drift-B4gMRHl4.js → workspace-anchor-drift-pwz23TI1.js} +1 -1
  355. package/server/{workspace-config-B123aZl-.js → workspace-config-BdZM4PvZ.js} +1 -1
  356. package/server/{workspace-manager-CwO-Hek7.js → workspace-manager-BPgTrG66.js} +13 -13
  357. package/server/{workspace-manager-CDTKjjdU.js → workspace-manager-C1F3XsnS.js} +1 -1
  358. package/server/{workspace-metadata-D4M8BM4W.js → workspace-metadata-CdjzAP8x.js} +1 -1
  359. package/server/{workspace-metadata-CQv00QwK.js → workspace-metadata-DkO_iTLo.js} +2 -2
  360. package/server/{workspaces-j1e_6aAT.js → workspaces-CRBJikLp.js} +136 -113
  361. package/sync-sources/skills/pan-merge/SKILL.md +7 -5
  362. package/sync-sources/skills/pan-release/SKILL.md +57 -0
  363. package/server/agent-state-service-hZpxIw1E.js +0 -2
  364. package/server/archive-planning-0FJ6Xd3b.js +0 -2
  365. package/server/cli-DmXETsw-.js +0 -3
  366. package/server/conflict-gate-Dh754uyA.js +0 -3
  367. package/server/deacon-swarm-I2JfX5Tg.js +0 -2
  368. package/server/dist-DSlxIU1H.js +0 -3
  369. package/server/durable-review-pipeline-jpgCJZFp.js +0 -3
  370. package/server/forge-DK3blQb_.js +0 -3
  371. package/server/hume-Dq--7rOQ.js +0 -3
  372. package/server/inspect-agent-BVwDrVrz.js +0 -2
  373. package/server/label-reconciler--F85rufp.js +0 -113
  374. package/server/merge-ops-DdpTiEMt.js +0 -2
  375. package/server/merge-rebase-DGQpYJU3.js +0 -2
  376. package/server/merge-sync-Ca7F5JnQ.js +0 -3
  377. package/server/public/assets/index-Cc7cnFC4.css +0 -1
  378. package/server/public/assets/mermaid-GHXKKRXX-DyDHFXHV.js +0 -1
  379. package/server/rally-YDjU513q.js +0 -3
  380. package/server/resume-u9byntrq.js +0 -3
  381. package/server/review-status-BZH8h-6W.js +0 -3
  382. package/server/settings-CdvIF84R.js +0 -2
  383. package/server/spawn-planning-session-1nFi3gfk.js +0 -2
  384. package/server/specs-Bt7WJDoC.js +0 -3
  385. package/server/supervisor-UWiQNK-y.js +0 -2
  386. package/server/token-util-zlz9U0ki.js +0 -3
  387. package/server/workflows-CHrx_hcW.js +0 -2
@@ -1,14 +1,18 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { H as init_providers, W as qualifyPiModel, ci as init_paths, si as getOverdeckHome, ui as packageRoot } from "./config-yaml-CmOPzmBb.js";
3
- import { G as tmuxExecAsync, J as colorFgBgForTheme, K as validateSessionName, X as init_ui_theme, Y as getUiThemeSync, w as init_tmux } from "./tmux-B1Wbxz5o.js";
4
- import { s as getHarnessBehavior } from "./src-CRmCHlma.js";
5
- import { t as init_behavior } from "./behavior-CfIg6pKp.js";
6
- import { f as toCodexSandboxValue, l as init_codex } from "./codex-Drlf5Xhf.js";
2
+ import { H as init_providers, W as qualifyPiModel, ci as getOverdeckHome$1, di as packageRoot, li as init_paths } from "./config-yaml-CxdwhAIA.js";
3
+ import { i as releaseRecordLock, n as init_fs_lock, t as acquireRecordLock } from "./fs-lock-Bre3sGoz.js";
4
+ import { $ as colorFgBgForTheme, G as tmuxExecAsync, K as validateSessionName, et as getUiThemeSync, tt as init_ui_theme, w as init_tmux } from "./tmux-CfDHob9M.js";
5
+ import { s as getHarnessBehavior } from "./src-B948bGVR.js";
6
+ import { t as init_behavior } from "./behavior-td6-xhQk.js";
7
+ import { f as toCodexSandboxValue, l as init_codex } from "./codex-BzGDW_d3.js";
7
8
  import { dirname, join } from "node:path";
8
9
  import { Data } from "effect";
9
10
  import { join as join$1 } from "path";
10
11
  import { tmpdir } from "os";
11
- import { unlink, writeFile } from "fs/promises";
12
+ import { homedir as homedir$1 } from "node:os";
13
+ import "node:fs";
14
+ import { mkdir, readFile, rename, rm, writeFile } from "node:fs/promises";
15
+ import { unlink as unlink$1, writeFile as writeFile$1 } from "fs/promises";
12
16
  import { randomUUID } from "node:crypto";
13
17
  //#region ../../lib/model-validation.ts
14
18
  function normalizeModelOverrideSync(value) {
@@ -34,19 +38,54 @@ var init_model_validation = __esmMin((() => {
34
38
  }));
35
39
  //#endregion
36
40
  //#region ../../lib/launcher-git-guard.ts
41
+ /**
42
+ * Per-agent `git` shim installed on the agent's PATH by its launcher.
43
+ *
44
+ * The shim blocks the three history-moving commands agents must never run
45
+ * against their own worktree (`rebase`, state-moving `stash`, `reset --hard`)
46
+ * and passes everything else through to the real git.
47
+ *
48
+ * Two scoping rules keep the guard honest (PAN-3189):
49
+ *
50
+ * 1. It only fires when the git invocation targets the agent's own worktree
51
+ * (`guardRoot`). A `git rebase` inside a test fixture's temp repo is not
52
+ * the behavior this guard exists to prevent, and blocking it made the
53
+ * workspace test suite untrustworthy — which pushed agents onto weaker
54
+ * gates, or onto stripping the guard entirely.
55
+ * 2. The launcher drops any *other* agent's guard directory from PATH before
56
+ * prepending its own, so a Flywheel-spawned agent never runs behind the
57
+ * orchestrator's shim inherited through the environment.
58
+ */
37
59
  function shellQuote$1(value) {
38
60
  return `'${value.replace(/'/g, `'\\''`)}'`;
39
61
  }
40
- function buildGitGuardLines(agentId) {
41
- const guardDir = join(getOverdeckHome(), "agents", agentId, "git-guard");
62
+ /**
63
+ * Emit the launcher lines that materialize and install the per-agent git guard.
64
+ *
65
+ * @param agentId Owning agent id — the guard lives in `~/.overdeck/agents/<id>/git-guard`.
66
+ * @param guardRoot The agent's worktree. Only git commands targeting this
67
+ * directory (or a descendant) are guarded.
68
+ */
69
+ function buildGitGuardLines(agentId, guardRoot) {
70
+ const guardDir = join(getOverdeckHome$1(), "agents", agentId, "git-guard");
42
71
  const guardPath = join(guardDir, "git");
43
72
  const pathForDoubleQuotes = guardDir.replace(/([\\"$`])/g, "\\$1");
44
73
  return [
74
+ "IFS=':' read -r -a _overdeck_path_segments <<< \"$PATH\"",
75
+ "_overdeck_kept_path=()",
76
+ "for _overdeck_path_segment in \"${_overdeck_path_segments[@]}\"; do",
77
+ " [[ \"$_overdeck_path_segment\" == */git-guard ]] || _overdeck_kept_path+=(\"$_overdeck_path_segment\")",
78
+ "done",
79
+ "PATH=\"$(IFS=':'; echo \"${_overdeck_kept_path[*]}\")\"",
80
+ "unset _overdeck_path_segments _overdeck_kept_path _overdeck_path_segment",
45
81
  "_OVERDECK_REAL_GIT=\"$(command -v git)\"",
82
+ `_OVERDECK_GUARD_ROOT="$(cd ${shellQuote$1(guardRoot)} 2>/dev/null && pwd -P)"`,
83
+ `[ -n "$_OVERDECK_GUARD_ROOT" ] || _OVERDECK_GUARD_ROOT=${shellQuote$1(guardRoot)}`,
46
84
  `mkdir -p ${shellQuote$1(guardDir)}`,
47
85
  `cat > ${shellQuote$1(guardPath)} <<EOF`,
48
86
  "#!/bin/sh",
49
87
  "_OVERDECK_REAL_GIT=\"$_OVERDECK_REAL_GIT\"",
88
+ "_OVERDECK_GUARD_ROOT=\"$_OVERDECK_GUARD_ROOT\"",
50
89
  "if [ \"\\$OVERDECK_PAN_GIT_OP\" = \"1\" ]; then",
51
90
  " exec \"\\$_OVERDECK_REAL_GIT\" \"\\$@\"",
52
91
  "fi",
@@ -75,8 +114,62 @@ function buildGitGuardLines(agentId) {
75
114
  " done",
76
115
  " [ \"\\$#\" -gt 0 ] && printf \"%s\\n\" \"\\$1\"",
77
116
  "}",
117
+ "_overdeck_git_target_dir() {",
118
+ " _overdeck_dir=\"\\$(pwd -P 2>/dev/null || pwd)\"",
119
+ " while [ \"\\$#\" -gt 0 ]; do",
120
+ " case \"\\$1\" in",
121
+ " -C)",
122
+ " shift",
123
+ " [ \"\\$#\" -gt 0 ] || break",
124
+ " case \"\\$1\" in",
125
+ " /*) _overdeck_dir=\"\\$1\" ;;",
126
+ " *) _overdeck_dir=\"\\$_overdeck_dir/\\$1\" ;;",
127
+ " esac",
128
+ " shift",
129
+ " ;;",
130
+ " -C?*)",
131
+ " _overdeck_c_value=\"\\${1#-C}\"",
132
+ " case \"\\$_overdeck_c_value\" in",
133
+ " /*) _overdeck_dir=\"\\$_overdeck_c_value\" ;;",
134
+ " *) _overdeck_dir=\"\\$_overdeck_dir/\\$_overdeck_c_value\" ;;",
135
+ " esac",
136
+ " shift",
137
+ " ;;",
138
+ " -c|--git-dir|--work-tree|--namespace|--config-env|--super-prefix|--attr-source)",
139
+ " shift",
140
+ " [ \"\\$#\" -gt 0 ] && shift",
141
+ " ;;",
142
+ " -c?*|--git-dir=*|--work-tree=*|--namespace=*|--config-env=*|--super-prefix=*|--attr-source=*)",
143
+ " shift",
144
+ " ;;",
145
+ " --)",
146
+ " break",
147
+ " ;;",
148
+ " -*)",
149
+ " shift",
150
+ " ;;",
151
+ " *)",
152
+ " break",
153
+ " ;;",
154
+ " esac",
155
+ " done",
156
+ " if [ -d \"\\$_overdeck_dir\" ]; then",
157
+ " (cd \"\\$_overdeck_dir\" 2>/dev/null && pwd -P) || printf \"%s\\n\" \"\\$_overdeck_dir\"",
158
+ " else",
159
+ " printf \"%s\\n\" \"\\$_overdeck_dir\"",
160
+ " fi",
161
+ "}",
78
162
  "_overdeck_git_command=\"\\$(_overdeck_git_find_command \"\\$@\")\"",
79
163
  "case \"\\$_overdeck_git_command\" in",
164
+ " rebase|stash|reset) ;;",
165
+ " *) exec \"\\$_OVERDECK_REAL_GIT\" \"\\$@\" ;;",
166
+ "esac",
167
+ "_overdeck_git_target=\"\\$(_overdeck_git_target_dir \"\\$@\")\"",
168
+ "case \"\\$_overdeck_git_target\" in",
169
+ " \"\\$_OVERDECK_GUARD_ROOT\"|\"\\$_OVERDECK_GUARD_ROOT\"/*) ;;",
170
+ " *) exec \"\\$_OVERDECK_REAL_GIT\" \"\\$@\" ;;",
171
+ "esac",
172
+ "case \"\\$_overdeck_git_command\" in",
80
173
  " rebase)",
81
174
  " echo \"Overdeck agents must not run git rebase directly. Use pan sync-main to sync main or pan done to submit.\" >&2",
82
175
  " exit 1",
@@ -190,7 +283,7 @@ function generateLauncherScriptSync(config) {
190
283
  explicitlySetOverdeckKeys.add("OVERDECK_SESSION_TYPE");
191
284
  }
192
285
  }
193
- if (config.overdeckEnv?.agentId && config.spawnMode !== "conversation") lines.push(...buildGitGuardLines(config.overdeckEnv.agentId));
286
+ if (config.overdeckEnv?.agentId && config.spawnMode !== "conversation") lines.push(...buildGitGuardLines(config.overdeckEnv.agentId, config.workingDir));
194
287
  if (config.extraEnvExports) for (const expr of config.extraEnvExports) lines.push(expr);
195
288
  if (config.codexHome) lines.push(`export CODEX_HOME=${shellQuote(config.codexHome)}`);
196
289
  if (config.changeDir !== false) lines.push(`cd -- ${shellQuote(config.workingDir)}`);
@@ -497,6 +590,17 @@ var init_launcher_generator = __esmMin((() => {
497
590
  ];
498
591
  }));
499
592
  //#endregion
593
+ //#region ../../lib/agents/provenance.ts
594
+ function normalizeFlywheelRunId(runId) {
595
+ if (!runId) return void 0;
596
+ const trimmed = runId.trim();
597
+ return /^RUN-\d+$/.test(trimmed) ? trimmed : void 0;
598
+ }
599
+ function isOperatorStartedBy(startedBy) {
600
+ return startedBy.startsWith("operator:") || startedBy === "dashboard:agent-spawner";
601
+ }
602
+ var init_provenance = __esmMin((() => {}));
603
+ //#endregion
500
604
  //#region ../../lib/tmux-dedup.ts
501
605
  /**
502
606
  * Keyed, crash-safe tmux delivery (PAN-2997).
@@ -707,7 +811,7 @@ async function sendKeysDedup(sessionName, keys, dedupKey, caller, deps = {}) {
707
811
  const tmpFile = join$1(tmpdir(), `pan-sendkeys-${sendId}.txt`);
708
812
  const bufferName = `pan-${sendId}`;
709
813
  try {
710
- await writeFile(tmpFile, keys, "utf-8");
814
+ await writeFile$1(tmpFile, keys, "utf-8");
711
815
  await tmuxExecAsync([
712
816
  "load-buffer",
713
817
  "-b",
@@ -749,7 +853,7 @@ async function sendKeysDedup(sessionName, keys, dedupKey, caller, deps = {}) {
749
853
  }
750
854
  throw new Error(`Keyed tmux paste for ${sessionName} did not land and no dedup marker was recorded` + (caller ? ` (caller: ${caller})` : ""));
751
855
  } finally {
752
- await unlink(tmpFile).catch(() => {});
856
+ await unlink$1(tmpFile).catch(() => {});
753
857
  await tmuxExecAsync([
754
858
  "delete-buffer",
755
859
  "-b",
@@ -887,6 +991,151 @@ var init_tmux_dedup = __esmMin((() => {
887
991
  };
888
992
  }));
889
993
  //#endregion
890
- export { shellQuoteModelIdSync as _, dedupPendingOptionName as a, dedupTerminalOptionName as c, generateLauncherScriptSync as d, init_launcher_generator as f, requireModelOverrideSync as g, normalizeModelOverrideSync as h, completeKeyedSubmit as i, init_tmux_dedup as l, init_model_validation as m, KeyedSubmitTargetDeadError as n, dedupPoisonOptionName as o, MODEL_ID_PATTERN as p, assertValidDedupKey as r, dedupTargetOptionName as s, KeyedMarkerVerificationError as t, sendKeysDedup as u };
994
+ //#region ../../lib/planning/auto-spawn-consent.ts
995
+ function getOverdeckHome() {
996
+ return process.env["OVERDECK_HOME"] ?? join(homedir$1(), ".overdeck");
997
+ }
998
+ function autoSpawnOnFinalizeFlagPath(issueId) {
999
+ return join(getOverdeckHome(), "agents", `planning-${issueId.toLowerCase()}`, "auto-spawn-on-finalize.json");
1000
+ }
1001
+ function autoSpawnConsentLockPath(issueId) {
1002
+ return join(getOverdeckHome(), "locks", "auto-spawn-consent", `${issueId.toLowerCase()}.lock`);
1003
+ }
1004
+ function parseConsentRecord(raw) {
1005
+ const value = JSON.parse(raw);
1006
+ if (value.version === 2 && typeof value.generation === "string" && (value.status === "granted" || value.status === "claimed" || value.status === "spent")) return value;
1007
+ if (typeof value.autoSpawnOnFinalize === "boolean") return {
1008
+ version: 2,
1009
+ generation: "legacy",
1010
+ status: value.autoSpawnOnFinalize ? "granted" : "spent",
1011
+ updatedAt: (/* @__PURE__ */ new Date(0)).toISOString()
1012
+ };
1013
+ return null;
1014
+ }
1015
+ async function readConsentRecord(issueId) {
1016
+ try {
1017
+ return parseConsentRecord(await readFile(autoSpawnOnFinalizeFlagPath(issueId), "utf8"));
1018
+ } catch {
1019
+ return null;
1020
+ }
1021
+ }
1022
+ async function readConsentRecordForTransition(issueId) {
1023
+ try {
1024
+ const record = parseConsentRecord(await readFile(autoSpawnOnFinalizeFlagPath(issueId), "utf8"));
1025
+ if (!record) throw new Error(`Invalid auto-start consent state for ${issueId.toUpperCase()}`);
1026
+ return record;
1027
+ } catch (error) {
1028
+ if (error.code === "ENOENT") return null;
1029
+ throw error;
1030
+ }
1031
+ }
1032
+ async function writeConsentRecord(issueId, record) {
1033
+ const path = autoSpawnOnFinalizeFlagPath(issueId);
1034
+ const temporaryPath = `${path}.${process.pid}.${randomUUID()}.tmp`;
1035
+ await mkdir(dirname(path), { recursive: true });
1036
+ try {
1037
+ await writeFile(temporaryPath, JSON.stringify(record), { mode: 384 });
1038
+ await rename(temporaryPath, path);
1039
+ } catch (error) {
1040
+ await rm(temporaryPath, { force: true }).catch(() => void 0);
1041
+ throw error;
1042
+ }
1043
+ }
1044
+ async function withConsentLock(issueId, writerId, operation) {
1045
+ const lockPath = autoSpawnConsentLockPath(issueId);
1046
+ await acquireRecordLock(lockPath, {
1047
+ writerId,
1048
+ recordPath: autoSpawnOnFinalizeFlagPath(issueId)
1049
+ });
1050
+ try {
1051
+ return await operation();
1052
+ } finally {
1053
+ await releaseRecordLock(lockPath);
1054
+ }
1055
+ }
1056
+ async function readAutoSpawnOnFinalizeFlagAsync(issueId) {
1057
+ return (await readConsentRecord(issueId))?.status === "granted";
1058
+ }
1059
+ async function writeAutoSpawnOnFinalizeFlag(issueId, enabled) {
1060
+ await withConsentLock(issueId, "planning-consent:new-cycle", async () => {
1061
+ await writeConsentRecord(issueId, {
1062
+ version: 2,
1063
+ generation: randomUUID(),
1064
+ status: enabled ? "granted" : "spent",
1065
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString()
1066
+ });
1067
+ });
1068
+ }
1069
+ async function claimAutoSpawnConsentForWorkStart(issueId) {
1070
+ return withConsentLock(issueId, "planning-consent:claim", async () => {
1071
+ const current = await readConsentRecordForTransition(issueId);
1072
+ if (!current) return null;
1073
+ if (current.status !== "granted") throw new Error(`Auto-start consent for ${issueId.toUpperCase()} is unavailable because the current generation is ${current.status}`);
1074
+ const claimId = randomUUID();
1075
+ await writeConsentRecord(issueId, {
1076
+ ...current,
1077
+ status: "claimed",
1078
+ claimId,
1079
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString()
1080
+ });
1081
+ return {
1082
+ issueId: issueId.toUpperCase(),
1083
+ generation: current.generation,
1084
+ claimId
1085
+ };
1086
+ });
1087
+ }
1088
+ async function transitionClaim(claim, status, writerId) {
1089
+ await withConsentLock(claim.issueId, writerId, async () => {
1090
+ const current = await readConsentRecordForTransition(claim.issueId);
1091
+ if (!current || current.generation !== claim.generation || current.status !== "claimed" || current.claimId !== claim.claimId) return;
1092
+ await writeConsentRecord(claim.issueId, {
1093
+ ...current,
1094
+ status,
1095
+ claimId: void 0,
1096
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString()
1097
+ });
1098
+ });
1099
+ }
1100
+ async function completeAutoSpawnConsentClaim(claim) {
1101
+ await transitionClaim(claim, "spent", "planning-consent:complete");
1102
+ }
1103
+ async function releaseAutoSpawnConsentClaim(claim) {
1104
+ await transitionClaim(claim, "granted", "planning-consent:release");
1105
+ }
1106
+ async function withAutoSpawnConsentClaim(issueId, operation, options = {}) {
1107
+ const claim = await claimAutoSpawnConsentForWorkStart(issueId);
1108
+ if (!claim) throw new Error(`Auto-start consent for ${issueId.toUpperCase()} is required but no current generation exists`);
1109
+ let accepted = false;
1110
+ const accept = async () => {
1111
+ if (accepted) return;
1112
+ accepted = true;
1113
+ try {
1114
+ await completeAutoSpawnConsentClaim(claim);
1115
+ } catch (error) {
1116
+ const message = error instanceof Error ? error.message : String(error);
1117
+ (options.logWarning ?? console.warn)(`[planning] Work start for ${issueId.toUpperCase()} succeeded; consent remains durably claimed because completion persistence failed: ${message}`);
1118
+ }
1119
+ };
1120
+ try {
1121
+ const result = await operation(accept);
1122
+ if (!accepted) if ((options.isAccepted ?? (() => true))(result)) await accept();
1123
+ else await releaseAutoSpawnConsentClaim(claim);
1124
+ return result;
1125
+ } catch (error) {
1126
+ if (!accepted) try {
1127
+ await releaseAutoSpawnConsentClaim(claim);
1128
+ } catch (releaseError) {
1129
+ const message = releaseError instanceof Error ? releaseError.message : String(releaseError);
1130
+ (options.logWarning ?? console.warn)(`[planning] Work start for ${issueId.toUpperCase()} failed; consent remains fail-closed because claim release failed: ${message}`);
1131
+ }
1132
+ throw error;
1133
+ }
1134
+ }
1135
+ var init_auto_spawn_consent = __esmMin((() => {
1136
+ init_fs_lock();
1137
+ }));
1138
+ //#endregion
1139
+ export { init_launcher_generator as C, requireModelOverrideSync as D, normalizeModelOverrideSync as E, shellQuoteModelIdSync as O, generateLauncherScriptSync as S, init_model_validation as T, init_tmux_dedup as _, readAutoSpawnOnFinalizeFlagAsync as a, isOperatorStartedBy as b, writeAutoSpawnOnFinalizeFlag as c, assertValidDedupKey as d, completeKeyedSubmit as f, dedupTerminalOptionName as g, dedupTargetOptionName as h, init_auto_spawn_consent as i, KeyedMarkerVerificationError as l, dedupPoisonOptionName as m, claimAutoSpawnConsentForWorkStart as n, releaseAutoSpawnConsentClaim as o, dedupPendingOptionName as p, completeAutoSpawnConsentClaim as r, withAutoSpawnConsentClaim as s, autoSpawnOnFinalizeFlagPath as t, KeyedSubmitTargetDeadError as u, sendKeysDedup as v, MODEL_ID_PATTERN as w, normalizeFlywheelRunId as x, init_provenance as y };
891
1140
 
892
- //# sourceMappingURL=tmux-dedup-DbN6MGzM.js.map
1141
+ //# sourceMappingURL=auto-spawn-consent-CQ9Bi9q6.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { r as isNoResumeValueEnabled, t as init_no_resume_mode } from "./no-resume-mode-C5ULAXwO.js";
3
- import { a as spawnSequencerAgent, i as init_sequencer_agent } from "./sequencer-agent-B2WeCtGi.js";
2
+ import { r as isNoResumeValueEnabled, t as init_no_resume_mode } from "./no-resume-mode-BgD0JUmM.js";
3
+ import { a as spawnSequencerAgent, i as init_sequencer_agent } from "./sequencer-agent-CigMyKh2.js";
4
4
  //#region ../../lib/backlog/backlog-auto-trigger.ts
5
5
  /**
6
6
  * PAN-2396: --no-resume is the operator's full-quiescence escape hatch —
@@ -37,4 +37,4 @@ __esmMin((() => {
37
37
  }))();
38
38
  export { triggerDebouncedIncrementalPass };
39
39
 
40
- //# sourceMappingURL=backlog-auto-trigger-Dh-i9PQf.js.map
40
+ //# sourceMappingURL=backlog-auto-trigger-n1lzPgN4.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { t as init_src } from "./src-CRmCHlma.js";
2
+ import { t as init_src } from "./src-B948bGVR.js";
3
3
  //#region ../../lib/runtimes/behavior.ts
4
4
  var init_behavior = __esmMin((() => {
5
5
  init_src();
@@ -7,4 +7,4 @@ var init_behavior = __esmMin((() => {
7
7
  //#endregion
8
8
  export { init_behavior as t };
9
9
 
10
- //# sourceMappingURL=behavior-CfIg6pKp.js.map
10
+ //# sourceMappingURL=behavior-td6-xhQk.js.map
@@ -0,0 +1,44 @@
1
+ import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
+ //#region services/boot-reconciled-stop-events.ts
3
+ async function appendStopOnce(store, stop, errorMessage) {
4
+ const pendingByKey = appendByStore.get(store) ?? /* @__PURE__ */ new Map();
5
+ appendByStore.set(store, pendingByKey);
6
+ const key = `${stop.id}:${stop.previousStatus}`;
7
+ const existing = pendingByKey.get(key);
8
+ if (existing && await existing) return;
9
+ const pending = (async () => {
10
+ try {
11
+ const sequence = await store.appendAsync({
12
+ type: "agent.status_changed",
13
+ timestamp: (/* @__PURE__ */ new Date()).toISOString(),
14
+ payload: {
15
+ agentId: stop.id,
16
+ status: "stopped",
17
+ previousStatus: stop.previousStatus,
18
+ hasLiveTmuxSession: false
19
+ }
20
+ });
21
+ if (sequence <= 0) throw new Error(`Event append returned invalid sequence ${sequence}`);
22
+ return true;
23
+ } catch (err) {
24
+ console.error(errorMessage, err);
25
+ return false;
26
+ }
27
+ })();
28
+ pendingByKey.set(key, pending);
29
+ if (!await pending && pendingByKey.get(key) === pending) pendingByKey.delete(key);
30
+ }
31
+ async function emitBootReconciledStopEvents(store, stopped, presentAgents, errorMessage) {
32
+ for (const stop of stopped) {
33
+ if (!presentAgents[stop.id]) continue;
34
+ await appendStopOnce(store, stop, errorMessage);
35
+ }
36
+ }
37
+ var appendByStore;
38
+ var init_boot_reconciled_stop_events = __esmMin((() => {
39
+ appendByStore = /* @__PURE__ */ new WeakMap();
40
+ }));
41
+ //#endregion
42
+ export { init_boot_reconciled_stop_events as n, emitBootReconciledStopEvents as t };
43
+
44
+ //# sourceMappingURL=boot-reconciled-stop-events-C7gGe3oB.js.map
@@ -133,4 +133,4 @@ async function patrolDockerBridgePool(deps = {}) {
133
133
  //#endregion
134
134
  export { patrolDockerBridgePool };
135
135
 
136
- //# sourceMappingURL=bridge-pool-patrol-CUFmjVDN.js.map
136
+ //# sourceMappingURL=bridge-pool-patrol-CYH2OLb5.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { ci as init_paths, si as getOverdeckHome } from "./config-yaml-CmOPzmBb.js";
2
+ import { ci as getOverdeckHome, li as init_paths } from "./config-yaml-CxdwhAIA.js";
3
3
  import { dirname, join } from "path";
4
4
  import { randomUUID } from "crypto";
5
5
  import { mkdir, readFile, rename, stat, writeFile } from "fs/promises";
@@ -128,4 +128,4 @@ var init_briefing_freshness = __esmMin((() => {
128
128
  //#endregion
129
129
  export { resolveSessionContextBriefingPath as a, recordBriefingSessionStart as i, ensureSessionContextBriefingFile as n, init_briefing_freshness as r, appendFreshBriefingUpdate as t };
130
130
 
131
- //# sourceMappingURL=briefing-freshness-DHmCSLar.js.map
131
+ //# sourceMappingURL=briefing-freshness-DRqZ8lAz.js.map
@@ -2,8 +2,8 @@ import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
2
  //#region ../../lib/deploy/build-info.ts
3
3
  function getBuildInfo() {
4
4
  return {
5
- buildCommit: "5d0b41f1bfcdabdec46ca1212b17f0d4b6edb14a",
6
- builtAt: "2026-07-27T02:12:59.776Z",
5
+ buildCommit: "3eff6973c550a453f51d6c294df9154365f76528",
6
+ builtAt: "2026-07-27T19:06:18.015Z",
7
7
  buildDirty: false,
8
8
  buildBranch: null
9
9
  };
@@ -12,4 +12,4 @@ var init_build_info = __esmMin((() => {}));
12
12
  //#endregion
13
13
  export { init_build_info as n, getBuildInfo as t };
14
14
 
15
- //# sourceMappingURL=build-info-CuFfxZxp.js.map
15
+ //# sourceMappingURL=build-info-7yiEpl6u.js.map
@@ -1,3 +1,3 @@
1
- import { n as init_build_info, t as getBuildInfo } from "./build-info-CuFfxZxp.js";
1
+ import { n as init_build_info, t as getBuildInfo } from "./build-info-7yiEpl6u.js";
2
2
  init_build_info();
3
3
  export { getBuildInfo };
@@ -1,3 +1,3 @@
1
- import { _ as pruneStaleCheckpointRefs, g as pruneCheckpointRefsForAgents, h as listCheckpoints, i as deleteLegacyCheckpointRefs, m as init_checkpoint_manager, p as getCheckpointTimestamp, s as diffCheckpointFiles } from "./checkpoint-manager-DEWD82qK.js";
1
+ import { _ as pruneStaleCheckpointRefs, g as pruneCheckpointRefsForAgents, h as listCheckpoints, i as deleteLegacyCheckpointRefs, m as init_checkpoint_manager, p as getCheckpointTimestamp, s as diffCheckpointFiles } from "./checkpoint-manager-DBcyNR8w.js";
2
2
  init_checkpoint_manager();
3
3
  export { deleteLegacyCheckpointRefs, diffCheckpointFiles, getCheckpointTimestamp, listCheckpoints, pruneCheckpointRefsForAgents, pruneStaleCheckpointRefs };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Fr as init_errors, Or as InvalidAgentIdError, Pr as VcsError, Sr as CheckpointError, fn as STATE_BRANCH_PATHS, hn as init_state_plane } from "./config-yaml-CmOPzmBb.js";
2
+ import { Fr as init_errors, Or as InvalidAgentIdError, Pr as VcsError, Sr as CheckpointError, fn as STATE_BRANCH_PATHS, hn as init_state_plane } from "./config-yaml-CxdwhAIA.js";
3
3
  import { Effect, Layer } from "effect";
4
4
  import { join } from "path";
5
5
  import { tmpdir } from "os";
@@ -663,4 +663,4 @@ var init_checkpoint_manager = __esmMin((() => {
663
663
  //#endregion
664
664
  export { pruneStaleCheckpointRefs as _, diffAgainstMain as a, diffCheckpoints as c, diffPatchSinceCommit as d, findCommitAtTime as f, pruneCheckpointRefsForAgents as g, listCheckpoints as h, deleteLegacyCheckpointRefs as i, diffFilesAgainstHead as l, init_checkpoint_manager as m, checkpointStateExclusions as n, diffAgainstMainFiles as o, getCheckpointTimestamp as p, deleteCheckpoint as r, diffCheckpointFiles as s, captureCheckpoint as t, diffPatchFilesAgainstHead as u };
665
665
 
666
- //# sourceMappingURL=checkpoint-manager-DEWD82qK.js.map
666
+ //# sourceMappingURL=checkpoint-manager-DBcyNR8w.js.map
@@ -1,4 +1,4 @@
1
- import { a as releaseTranscriptRange, i as listTranscriptCheckpoints, n as commitTranscriptRange, r as getTranscriptCheckpoint, t as claimTranscriptRange } from "./checkpoints-CZvbtLnr.js";
1
+ import { a as releaseTranscriptRange, i as listTranscriptCheckpoints, n as commitTranscriptRange, r as getTranscriptCheckpoint, t as claimTranscriptRange } from "./checkpoints-D95apurL.js";
2
2
  import { parentPort } from "node:worker_threads";
3
3
  //#region ../../lib/memory/checkpoint-worker.ts
4
4
  function runOperation(operation, payload) {
@@ -1,4 +1,4 @@
1
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-BjuxvjdS.js";
1
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-BDQDRopn.js";
2
2
  import { randomUUID } from "node:crypto";
3
3
  //#region ../../lib/overdeck/transcript-checkpoint-sync.ts
4
4
  /**
@@ -195,4 +195,4 @@ function getTranscriptCheckpoint(sessionId) {
195
195
  //#endregion
196
196
  export { releaseTranscriptRange as a, listTranscriptCheckpoints as i, commitTranscriptRange as n, getTranscriptCheckpoint as r, claimTranscriptRange as t };
197
197
 
198
- //# sourceMappingURL=checkpoints-CZvbtLnr.js.map
198
+ //# sourceMappingURL=checkpoints-D95apurL.js.map
@@ -1,2 +1,2 @@
1
- import { a as releaseTranscriptRange, i as listTranscriptCheckpoints, n as commitTranscriptRange, r as getTranscriptCheckpoint, t as claimTranscriptRange } from "./checkpoints-CZvbtLnr.js";
1
+ import { a as releaseTranscriptRange, i as listTranscriptCheckpoints, n as commitTranscriptRange, r as getTranscriptCheckpoint, t as claimTranscriptRange } from "./checkpoints-D95apurL.js";
2
2
  export { claimTranscriptRange, commitTranscriptRange, getTranscriptCheckpoint, listTranscriptCheckpoints, releaseTranscriptRange };
@@ -1,3 +1,3 @@
1
- import { n as provisionClaudeHooks, t as init_claude_hooks_provision } from "./claude-hooks-provision-fvy4RD2b.js";
1
+ import { n as provisionClaudeHooks, t as init_claude_hooks_provision } from "./claude-hooks-provision-Bjitl9aI.js";
2
2
  init_claude_hooks_provision();
3
3
  export { provisionClaudeHooks };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Qr as SYNC_SOURCES, Rr as BIN_DIR, ci as init_paths } from "./config-yaml-CmOPzmBb.js";
2
+ import { Qr as SYNC_SOURCES, Rr as BIN_DIR, li as init_paths } from "./config-yaml-CxdwhAIA.js";
3
3
  import { join } from "node:path";
4
4
  import { copyFileSync, existsSync, mkdirSync, readdirSync, renameSync, unlinkSync, writeFileSync } from "fs";
5
5
  import { basename as basename$1, dirname as dirname$1, join as join$1 } from "path";
@@ -386,4 +386,4 @@ var init_claude_hooks_provision = __esmMin((() => {
386
386
  //#endregion
387
387
  export { provisionClaudeHooks as n, init_claude_hooks_provision as t };
388
388
 
389
- //# sourceMappingURL=claude-hooks-provision-fvy4RD2b.js.map
389
+ //# sourceMappingURL=claude-hooks-provision-Bjitl9aI.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-CmOPzmBb.js";
2
+ import { f as loadConfigSync, t as init_config_yaml } from "./config-yaml-CxdwhAIA.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-CN0cSCPp.js.map
97
+ //# sourceMappingURL=claude-permissions-CpbpvUQ2.js.map
@@ -1,3 +1,3 @@
1
- import { n as init_claude_settings_overlay, r as injectOverdeckInfraDeny } from "./claude-settings-overlay-CJn35FHQ.js";
1
+ import { n as init_claude_settings_overlay, r as injectOverdeckInfraDeny } from "./claude-settings-overlay-_H9Yrzab.js";
2
2
  init_claude_settings_overlay();
3
3
  export { injectOverdeckInfraDeny };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Fr as init_errors, Tr as FsError } from "./config-yaml-CmOPzmBb.js";
2
+ import { Fr as init_errors, Tr as FsError } from "./config-yaml-CxdwhAIA.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-CJn35FHQ.js.map
145
+ //# sourceMappingURL=claude-settings-overlay-_H9Yrzab.js.map
@@ -0,0 +1,3 @@
1
+ import { r as init_cli, t as createResetMarker } from "./cli-Cte9ZFGn.js";
2
+ init_cli();
3
+ export { createResetMarker };
@@ -1,11 +1,11 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { ci as init_paths } from "./config-yaml-CmOPzmBb.js";
3
- import { c as resolveMemoryRoot, i as init_paths$1, l as resolveObservationsFile, p as resolveSummariesDir, r as ensureParentDir } from "./paths-cXmOwSbh.js";
4
- import { b as init_agents } from "./queries-DHJm7bTd.js";
5
- import { i as init_settings } from "./settings-Bse1Pdcj.js";
6
- import { r as init_health, t as init_providers } from "./providers-evXhiQeg.js";
7
- import { a as withMemoryFtsDatabase, i as runMemoryFtsTransaction, n as init_fts_db } from "./fts-db-BeOomFa-.js";
8
- import { r as init_rollup } from "./rollup-DTNvelz9.js";
2
+ import { li as init_paths } from "./config-yaml-CxdwhAIA.js";
3
+ import { c as resolveMemoryRoot, i as init_paths$1, l as resolveObservationsFile, p as resolveSummariesDir, r as ensureParentDir } from "./paths-sJBSb7Ul.js";
4
+ import { b as init_agents } from "./queries-C-MUZaIy.js";
5
+ import { i as init_settings } from "./settings-VN0qOh4U.js";
6
+ import { r as init_health, t as init_providers } from "./providers-BJQSnAAp.js";
7
+ import { a as withMemoryFtsDatabase, i as runMemoryFtsTransaction, n as init_fts_db } from "./fts-db-IVc4_M3f.js";
8
+ import { r as init_rollup } from "./rollup-BQaol5TX.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-ELqkVOn0.js");
197
+ const { initEventStore } = await import("./event-store-5UKzh9Jf.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-oCWYA1pE.js.map
224
+ //# sourceMappingURL=cli-Cte9ZFGn.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Fr as init_errors, Gr as OVERDECK_HOME, Rr as BIN_DIR, Tr as FsError, ci as init_paths, jr as ProcessSpawnError } from "./config-yaml-CmOPzmBb.js";
2
+ import { Fr as init_errors, Gr as OVERDECK_HOME, Rr as BIN_DIR, Tr as FsError, jr as ProcessSpawnError, li as init_paths } from "./config-yaml-CxdwhAIA.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-C8mB3KuB.js.map
499
+ //# sourceMappingURL=cliproxy-C5fMJ7rY.js.map
@@ -1,3 +1,3 @@
1
- import { v as init_cliproxy, x as isCliproxyRunning } from "./cliproxy-C8mB3KuB.js";
1
+ import { v as init_cliproxy, x as isCliproxyRunning } from "./cliproxy-C5fMJ7rY.js";
2
2
  init_cliproxy();
3
3
  export { isCliproxyRunning };