@overdeck/desktop 0.47.0 → 0.48.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 (444) hide show
  1. package/drizzle/overdeck/0000_overdeck_init.sql +59 -0
  2. package/package.json +1 -1
  3. package/server/{acceptance-criteria-10Ur5Dne.js → acceptance-criteria-DmtLDbtt.js} +2 -2
  4. package/server/{activity-logger-CyteR4JO.js → activity-logger-Co5qljIj.js} +55 -4
  5. package/server/activity-logger-K7FYGF_z.js +3 -0
  6. package/server/{advancing-selfheal-BNwqxseD.js → advancing-selfheal-8AR68Asf.js} +6 -6
  7. package/server/{agent-gc-C3h9Or3a.js → agent-gc-BmYeT6eH.js} +5 -5
  8. package/server/agent-state-Dq3s84-P.js +3 -0
  9. package/server/{agent-state-service-C63p_ftq.js → agent-state-service-DK1Vay1E.js} +1 -1
  10. package/server/{agent-state-service-Ds6OeFvo.js → agent-state-service-rjnzpHDx.js} +6 -6
  11. package/server/agent-state-source-Ds968-j6.js +21 -0
  12. package/server/{agents-J5mEnekq.js → agents-Dls7tfJH.js} +5 -5
  13. package/server/agents-IPSa5kzn.js +3 -0
  14. package/server/{archive-planning-BwhxeP7C.js → archive-planning-Cq7cyinS.js} +51 -24
  15. package/server/archive-planning-MbkGCBIY.js +2 -0
  16. package/server/{artifact-index-jobs-D1q_vR3V.js → artifact-index-jobs-Dj_8kpTd.js} +3 -3
  17. package/server/{assemble-Bgwqv-Ro.js → assemble-BTCmbcfH.js} +20 -13
  18. package/server/{auto-spawn-consent-CQ9Bi9q6.js → auto-spawn-consent-lXqRJ1Dr.js} +304 -121
  19. package/server/{backlog-auto-trigger-n1lzPgN4.js → backlog-auto-trigger-Dn-amzt6.js} +3 -3
  20. package/server/{behavior-td6-xhQk.js → behavior-DIMQMRzs.js} +2 -2
  21. package/server/{boot-reconciled-stop-events-C7gGe3oB.js → boot-reconciled-stop-events-D6SeUTIr.js} +1 -1
  22. package/server/{bridge-pool-patrol-CYH2OLb5.js → bridge-pool-patrol-BEjt-xF3.js} +2 -2
  23. package/server/{briefing-freshness-DRqZ8lAz.js → briefing-freshness-3PNmL_p3.js} +2 -2
  24. package/server/{build-info-7yiEpl6u.js → build-info-CJg813Hm.js} +3 -3
  25. package/server/{build-info-CpG__c63.js → build-info-CXyeFsXu.js} +1 -1
  26. package/server/{checkpoint-manager-CkKmB0wZ.js → checkpoint-manager-9t7G5c1V.js} +1 -1
  27. package/server/{checkpoint-manager-DBcyNR8w.js → checkpoint-manager-B2G38R3p.js} +3 -3
  28. package/server/checkpoint-worker.js +1 -1
  29. package/server/{checkpoints-Wm963lm8.js → checkpoints-CuBgiXO-.js} +1 -1
  30. package/server/{checkpoints-D95apurL.js → checkpoints-VTZMd4Qm.js} +2 -2
  31. package/server/{claude-hooks-provision-Bjitl9aI.js → claude-hooks-provision-55SyQaPz.js} +2 -2
  32. package/server/{claude-hooks-provision-4RPxNkE8.js → claude-hooks-provision-CEUT-CZd.js} +1 -1
  33. package/server/{claude-permissions-CpbpvUQ2.js → claude-permissions-Cn0dIu2i.js} +2 -2
  34. package/server/{claude-settings-overlay-BzkHYDwR.js → claude-settings-overlay-B19hdzSA.js} +1 -1
  35. package/server/{claude-settings-overlay-_H9Yrzab.js → claude-settings-overlay-Yg_ANh81.js} +2 -2
  36. package/server/{cli-Cte9ZFGn.js → cli-C9S84iTy.js} +79 -22
  37. package/server/cli-M1cwZ__d.js +3 -0
  38. package/server/{cliproxy-C5fMJ7rY.js → cliproxy-CJq3KXU6.js} +2 -2
  39. package/server/{cliproxy-DaAbWMjC.js → cliproxy-DgEZlr7Y.js} +1 -1
  40. package/server/{close-issue-BPh1ARCF.js → close-issue-DPxRddGR.js} +5 -5
  41. package/server/{closed-issue-reaper-DoOZqGFK.js → closed-issue-reaper-C5Zn4GRS.js} +13 -13
  42. package/server/{closed-issue-reaper-DHRfRMrp.js → closed-issue-reaper-D-2B48Ri.js} +1 -1
  43. package/server/{codex-o8FJwzmy.js → codex-B3n_rkwn.js} +1 -1
  44. package/server/{codex-BzGDW_d3.js → codex-CjkD1PJu.js} +6 -6
  45. package/server/{codex-parser-Dt-ycU8L.js → codex-parser-DpB1Il-P.js} +2 -2
  46. package/server/{compaction-continuation-CvXpbZ4w.js → compaction-continuation-DZD9ukSE.js} +3 -3
  47. package/server/{config-CL3Gyvja.js → config-C5saf4Ja.js} +1 -1
  48. package/server/{config-BvLe652W.js → config-DnLJATZk.js} +2 -2
  49. package/server/{config-Bi3u1VK7.js → config-DvM8jtQK.js} +2 -2
  50. package/server/{config-yaml-CxdwhAIA.js → config-yaml-BSCqwmX0.js} +11299 -10972
  51. package/server/{conflict-gate-CX80JYYS.js → conflict-gate-DXa_L28t.js} +1 -1
  52. package/server/{conflict-gate-E4nt7ZeS.js → conflict-gate-WfVqgalf.js} +4 -4
  53. package/server/{context-layers-DAG83UZt.js → context-layers-D7UqH9Ab.js} +2 -2
  54. package/server/{context-layers-C_IIysnm.js → context-layers-Dpz3Vd6d.js} +3 -3
  55. package/server/{control-settings-CiqGxXnc.js → control-settings-DVf6pKyv.js} +4 -4
  56. package/server/{conversation-compaction-BE3CNtHF.js → conversation-compaction-5XuH6OBn.js} +1 -1
  57. package/server/{conversation-compaction-D6-yLtqt.js → conversation-compaction-COrbnX1J.js} +8 -8
  58. package/server/{conversation-service-DBxoYMDl.js → conversation-service-BufdtnZF.js} +169 -10
  59. package/server/{conversation-service-D_TS2b1r.js → conversation-service-DnUyIiLb.js} +1 -1
  60. package/server/{conversations-D0UEdLtk.js → conversations-B4rxz-Wl.js} +17 -10
  61. package/server/{conversations-BKDVpB-3.js → conversations-D1bwxQMy.js} +1 -1
  62. package/server/{cost-DpgYmYqR.js → cost-CpFDrJUS.js} +46 -2
  63. package/server/{cost-DS1s0DbG.js → cost-KLuwKCW9.js} +3 -3
  64. package/server/{cost-sync-tOCCGnEt.js → cost-sync-cesi9dp8.js} +3 -3
  65. package/server/{dag-BtkgLeqY.js → dag-BYiFMqpU.js} +2 -2
  66. package/server/{dangerous-git-ops-CFLykHWt.js → dangerous-git-ops-BKvd3-Hk.js} +1 -1
  67. package/server/dashboard-db-worker.js +7 -7
  68. package/server/{deacon-BIblC-WX.js → deacon-BbsWw8a6.js} +3 -3
  69. package/server/{deacon-pLRLbPvR.js → deacon-HdEh0Esp.js} +863 -214
  70. package/server/deacon-event-client-C93rvOT7.js +237 -0
  71. package/server/deacon-event-client-Ck5Ei7Mn.js +3 -0
  72. package/server/{deacon-nudge-log-B08gF0mh.js → deacon-nudge-log-BND_97Wo.js} +4 -3
  73. package/server/{deacon-pending-lifecycle-B-Io84AP.js → deacon-pending-lifecycle-CD3YsiQK.js} +3 -3
  74. package/server/deacon-swarm-DgWADWd_.js +2 -0
  75. package/server/{deacon-swarm-v5PMun-m.js → deacon-swarm-rqrl4TMs.js} +39 -18
  76. package/server/deacon.js +12 -210
  77. package/server/{dead-end-trip-D8A3msX9.js → dead-end-trip-DSF23CLX.js} +4 -3
  78. package/server/dead-end-trip-zKlS4v6f.js +2 -0
  79. package/server/delivery-CsbQdZkS.js +3 -0
  80. package/server/{deploy-patrol-sYgOxLeb.js → deploy-patrol-kARAkji4.js} +17 -21
  81. package/server/{deploy-queue-VfohaPN_.js → deploy-queue-Bj0HJT1i.js} +2 -2
  82. package/server/{deploy-queue-gHJBycaF.js → deploy-queue-rjTUy1RM.js} +1 -1
  83. package/server/{deploy-window-D4DQb8VP.js → deploy-window-B2IM-9G5.js} +10 -44
  84. package/server/{deploy-window-CFRZ0-kt.js → deploy-window-BNFWnA8D.js} +1 -1
  85. package/server/{dev-supervisor-DiOBDM1c.js → dev-supervisor-B1mZYXz4.js} +2 -2
  86. package/server/{devcontainer-renderer-BUOIlfgD.js → devcontainer-renderer-B-o68Z5B.js} +3 -3
  87. package/server/{dist-C3A8B8wM.js → dist-3W--cGMa.js} +1 -1
  88. package/server/dist-BR0QtwmS.js +3 -0
  89. package/server/{dist-src-C0adpegX.js → dist-src-C-Vk2jNk.js} +1 -1
  90. package/server/{docker-Y3PElJb0.js → docker-DH3jUYg1.js} +1 -1
  91. package/server/{docker-BJzlkqYB.js → docker-meuLKLzV.js} +27 -20
  92. package/server/{dod-DlNtcH6n.js → dod-D7-9dCOD.js} +1 -1
  93. package/server/{driver-CKVGi51s.js → driver-CmsY2RLl.js} +1 -1
  94. package/server/{durable-review-pipeline-DP6bIcOY.js → durable-review-pipeline-CStTgOAf.js} +1 -1
  95. package/server/{durable-review-pipeline-Cibps-Rg.js → durable-review-pipeline-Chq0lzjL.js} +1 -1
  96. package/server/{ensure-devcontainer-DMAbWqtQ.js → ensure-devcontainer-BE3llBWP.js} +1 -1
  97. package/server/{ensure-devcontainer-BAofzBPv.js → ensure-devcontainer-BXrY7C2Z.js} +4 -4
  98. package/server/{esm-shims-BeObUkaw.js → esm-shims-Bzy4ZzNU.js} +1 -1
  99. package/server/event-store-COd2tOx8.js +3 -0
  100. package/server/{event-store-CrHcVC5_.js → event-store-D_AR-Y78.js} +184 -11
  101. package/server/{events-CF8QDbuV.js → events-CCkFWa7X.js} +1 -1
  102. package/server/{events-BNrvchBg.js → events-zjDQozet.js} +3 -3
  103. package/server/{factory-Cmm9Hsho.js → factory-DhavwKVc.js} +5 -5
  104. package/server/{feature-registry-population-B6HpNWRy.js → feature-registry-population-DWGBKyWd.js} +4 -4
  105. package/server/{feature-registry-storage-DJEFx1Pf.js → feature-registry-storage-C5DkXmCM.js} +3 -3
  106. package/server/{features-D5km80UI.js → features-CC47YcCX.js} +2 -2
  107. package/server/{feedback-target-BJ5ZADsu.js → feedback-target-D9Tex35_.js} +1 -1
  108. package/server/{feedback-target-DSxEL6lP.js → feedback-target-DoRCR3L-.js} +18 -7
  109. package/server/{feedback-writer-CoB9Z6aU.js → feedback-writer-CTSuA6lw.js} +1 -1
  110. package/server/{feedback-writer-C27Hak8a.js → feedback-writer-DdsBdtNL.js} +5 -5
  111. package/server/{flywheel-DZZdtiOL.js → flywheel-DHWHzaYK.js} +1 -1
  112. package/server/{flywheel-f662Q-y2.js → flywheel-DJQa9az8.js} +14 -14
  113. package/server/{flywheel-BHx8XuMr.js → flywheel-TacAI9MA.js} +21 -17
  114. package/server/{flywheel-merge-order-Dil0LmdN.js → flywheel-merge-order-D2foPh88.js} +1 -1
  115. package/server/{flywheel-merge-order-D_xLMbJU.js → flywheel-merge-order-DRtex2Dt.js} +7 -7
  116. package/server/forge-CdlCG9aS.js +3 -0
  117. package/server/{forge-BaKGCya6.js → forge-c8LeC-tw.js} +2 -2
  118. package/server/{from-B3tZbB55.js → from-BogSwvr2.js} +1 -1
  119. package/server/{fs-lock-Bre3sGoz.js → fs-lock-D_GeJtXl.js} +3 -3
  120. package/server/{fts-operations-B9jG8wa3.js → fts-operations-DP9R-8Q3.js} +3 -3
  121. package/server/{git-utils-Xg4PFN45.js → git-utils-C31x1lpE.js} +1 -1
  122. package/server/{git-utils-CsvYfJU3.js → git-utils-xQ74FoSn.js} +5 -4
  123. package/server/{github-app-Bmg4R9mv.js → github-app-CpQSDlv8.js} +1 -1
  124. package/server/{github-app-CmNk0zLU.js → github-app-D2QuvZ3j.js} +3 -3
  125. package/server/{github-client-qazkPrg0.js → github-client-D9YvJX5D.js} +3 -3
  126. package/server/{github-client-B6KM9_wA.js → github-client-Tpi3PmKX.js} +1 -1
  127. package/server/{github-pr-lookup-DAcVeRLK.js → github-pr-lookup-DvBMv-IW.js} +2 -2
  128. package/server/{harness-binary-BSpiXaLw.js → harness-binary-BHxWf_sX.js} +7 -6
  129. package/server/{harness-resolve-BAJu5MX8.js → harness-resolve-bj9WMABA.js} +4 -4
  130. package/server/{health-events-BwX32k8d.js → health-events-bCDPn59Z.js} +2 -2
  131. package/server/{health-events-2Z6Wa9SM.js → health-events-qo7Ss34U.js} +1 -1
  132. package/server/{hooks-DbtbimEf.js → hooks-Dyxtg5fk.js} +2 -2
  133. package/server/{hooks-D1g1jKLI.js → hooks-X2XHBB2b.js} +1 -1
  134. package/server/{hume-DXNiu6nQ.js → hume-DrZEGpqc.js} +2 -2
  135. package/server/hume-YPsy4UA8.js +3 -0
  136. package/server/{idle-stack-reaper-Cy-dQzW4.js → idle-stack-reaper-CJ1ygW0p.js} +37 -7
  137. package/server/{idle-stack-reaper-CRA1e0jr.js → idle-stack-reaper-uJGOb-vu.js} +1 -1
  138. package/server/{in-flight-guard-D-sSkADM.js → in-flight-guard-CG2Eo-rr.js} +1 -1
  139. package/server/{infra-BDQDRopn.js → infra-CTrmVqc_.js} +111 -6
  140. package/server/{injection-Bl8d_jHZ.js → injection-BisQ0lpX.js} +1 -1
  141. package/server/{injection-6AGnXxlj.js → injection-C9sxqbc2.js} +73 -193
  142. package/server/{inspect-agent-nXdIptyh.js → inspect-agent-BoSO51YC.js} +12 -12
  143. package/server/inspect-agent-BykeOH4a.js +2 -0
  144. package/server/{internal-token-DzK385vD.js → internal-token-AvXePaQT.js} +2 -2
  145. package/server/{internal-token-Ias7N8Kg.js → internal-token-Djkj-yqK.js} +1 -1
  146. package/server/{io-B00PBNku.js → io-mxOWMZ7I.js} +6 -6
  147. package/server/{issue-closed-BehTG1be.js → issue-closed-Bj_bCv_0.js} +7 -7
  148. package/server/{issue-lifecycle-BqSuQvbn.js → issue-lifecycle-A5YIpDZE.js} +1 -1
  149. package/server/{issue-lifecycle-Birk-ifu.js → issue-lifecycle-BXUqaHzF.js} +32 -28
  150. package/server/{issue-service-singleton-C6ZduvuY.js → issue-service-singleton-BPNEXczv.js} +11 -11
  151. package/server/{issue-service-singleton-B2wXiIlw.js → issue-service-singleton-CcaHjKPR.js} +1 -1
  152. package/server/{issues-DQ5-LatB.js → issues-AX-YBeAQ.js} +2 -2
  153. package/server/{jsonl-parser-BDpnGFCl.js → jsonl-parser-CgYWQ20q.js} +7 -3
  154. package/server/kimi-code-BYbme0aV.js +579 -0
  155. package/server/kimi-code-D_Ppt82c.js +3 -0
  156. package/server/kimi-parser-B-JBg3Pv.js +147 -0
  157. package/server/{label-cleanup-Dwnky8FG.js → label-cleanup-sXUlgdM0.js} +3 -3
  158. package/server/{lifecycle-B4Xdb4cY.js → lifecycle-D2X3al0D.js} +2 -2
  159. package/server/{lifecycle-B3s4sM1G.js → lifecycle-DjlljAZ1.js} +6 -6
  160. package/server/{lifecycle-io-CzTHEooc.js → lifecycle-io-C5nVk55o.js} +1 -1
  161. package/server/{lifecycle-io-DCo6s6ks.js → lifecycle-io-NPm1YtIG.js} +5 -5
  162. package/server/{linear-client-CnbtHiic.js → linear-client--luYwCZg.js} +1 -1
  163. package/server/{linear-client-9uq7fhiV.js → linear-client-B8pLegW1.js} +3 -3
  164. package/server/{linear-mcp-auth-BxUOzswy.js → linear-mcp-auth-BQVWV0I3.js} +6 -6
  165. package/server/{linear-mcp-auth-D46fBCLf.js → linear-mcp-auth-Dx81Zl4G.js} +1 -1
  166. package/server/memory-fts-worker.js +1 -1
  167. package/server/{merge-DiW9RdSB.js → merge-Bx5Bh9pi.js} +3 -3
  168. package/server/{merge-sr8Nrnmi.js → merge-Dqmh_zja.js} +1 -1
  169. package/server/{merge-agent-BLUgRsz3.js → merge-agent-DP9AUY29.js} +33 -33
  170. package/server/{merge-agent-DQTXZk8z.js → merge-agent-DWd0KfiS.js} +1 -1
  171. package/server/{merge-batch-Cp_j9BGk.js → merge-batch-BdmvTEAC.js} +1 -1
  172. package/server/{merge-completeness-BLbB5-6n.js → merge-completeness-BfRwFjRx.js} +1 -1
  173. package/server/{merge-completeness-B46KqhtY.js → merge-completeness-C1FevcDT.js} +4 -4
  174. package/server/merge-ops-B98tKc1e.js +2 -0
  175. package/server/merge-rebase-BLykMwPO.js +2 -0
  176. package/server/{merge-rebase-DIkBjgwq.js → merge-rebase-BX1xKsrE.js} +2 -2
  177. package/server/{merge-set-CBgHfwM0.js → merge-set-DsLjjLEV.js} +4 -4
  178. package/server/{merge-set-DeUxFsC3.js → merge-set-H6epHOsw.js} +1 -1
  179. package/server/{merge-sync-kr4vqyjM.js → merge-sync-BEdfsQV4.js} +2 -2
  180. package/server/{merge-sync-CpGmk6Ch.js → merge-sync-BebcWWGA.js} +1 -1
  181. package/server/{merge-train-Dmrcus12.js → merge-train-D1I0lNOT.js} +4 -4
  182. package/server/{merge-train-deps-D_uGX91G.js → merge-train-deps-D_-C0Pk2.js} +4 -4
  183. package/server/{merge-verification-NvaAd8CZ.js → merge-verification-DN1Ov9bU.js} +6 -6
  184. package/server/{merged-docker-cleanup-worker-Y1R06TEl.js → merged-docker-cleanup-worker-CfXSr2pA.js} +4 -4
  185. package/server/{merged-docker-cleanup-worker-DH_hrGPI.js → merged-docker-cleanup-worker-ybsPyHjB.js} +1 -1
  186. package/server/{multipart-parser-R-oC8dQg.js → multipart-parser-CL5QG8iv.js} +2 -2
  187. package/server/{no-resume-mode-BgD0JUmM.js → no-resume-mode-DUR7Hi98.js} +1 -1
  188. package/server/node_modules/.package-lock.json +7 -7
  189. package/server/node_modules/brace-expansion/README.md +23 -1
  190. package/server/node_modules/brace-expansion/index.js +206 -85
  191. package/server/node_modules/brace-expansion/package.json +1 -1
  192. package/server/node_modules/msgpackr/dist/index-no-eval.cjs +34 -28
  193. package/server/node_modules/msgpackr/dist/index-no-eval.cjs.map +1 -1
  194. package/server/node_modules/msgpackr/dist/index-no-eval.min.js +1 -1
  195. package/server/node_modules/msgpackr/dist/index-no-eval.min.js.map +1 -1
  196. package/server/node_modules/msgpackr/dist/index.js +34 -28
  197. package/server/node_modules/msgpackr/dist/index.js.map +1 -1
  198. package/server/node_modules/msgpackr/dist/index.min.js +1 -1
  199. package/server/node_modules/msgpackr/dist/index.min.js.map +1 -1
  200. package/server/node_modules/msgpackr/dist/node.cjs +36 -29
  201. package/server/node_modules/msgpackr/dist/node.cjs.map +1 -1
  202. package/server/node_modules/msgpackr/dist/test.js +63 -32
  203. package/server/node_modules/msgpackr/dist/test.js.map +1 -1
  204. package/server/node_modules/msgpackr/dist/unpack-no-eval.cjs +34 -28
  205. package/server/node_modules/msgpackr/dist/unpack-no-eval.cjs.map +1 -1
  206. package/server/node_modules/msgpackr/package.json +1 -1
  207. package/server/node_modules/msgpackr/unpack.js +34 -28
  208. package/server/{orphan-proposed-reconciler-DcgTPPFY.js → orphan-proposed-reconciler-CEW1maPl.js} +1 -1
  209. package/server/{orphan-proposed-reconciler-B6vJHxtX.js → orphan-proposed-reconciler-DfqHZftT.js} +23 -22
  210. package/server/package-lock.json +8 -8
  211. package/server/package.json +1 -1
  212. package/server/{pan-dir-DMzF5wne.js → pan-dir-DhgKfO86.js} +21 -6
  213. package/server/{paths-sJBSb7Ul.js → paths-BUuhi6jM.js} +17 -17
  214. package/server/{pending-lifecycle-claim-DilzGfgk.js → pending-lifecycle-claim-DJlA1rTR.js} +2 -2
  215. package/server/{persistent-logger-H_VjuOu7.js → persistent-logger-s8cbpFNV.js} +2 -2
  216. package/server/{pickup-DWhqzliO.js → pickup-2AxtB3dW.js} +1 -1
  217. package/server/{pipeline-membership-C88VBnhJ.js → pipeline-membership-2_okL5bm.js} +1 -1
  218. package/server/{pipeline-membership-D9SBvItj.js → pipeline-membership-Dqv6_0ig.js} +1 -1
  219. package/server/{pipeline-membership-gather-4eR-7Tqy.js → pipeline-membership-gather-4F1-tXKI.js} +1 -1
  220. package/server/{pipeline-membership-gather-CeVGnNJ2.js → pipeline-membership-gather-CtJ_7aGf.js} +149 -17
  221. package/server/{pipeline-notifier-DT6xLFao.js → pipeline-notifier-CO9rxJgB.js} +1 -1
  222. package/server/{pipeline-notifier-D0ALV6Nw.js → pipeline-notifier-DDfVBJhJ.js} +2 -2
  223. package/server/{post-merge-lifecycle-worker-8HIeS_J6.js → post-merge-lifecycle-worker-DmSOkeNp.js} +3 -3
  224. package/server/{project-pipelines-9SKt2bEc.js → project-pipelines-72WE8GVK.js} +2 -2
  225. package/server/{project-repos-B5pIphKg.js → project-repos-BAqDwtvi.js} +16 -11
  226. package/server/project-repos-Df90Zw7Y.js +3 -0
  227. package/server/projects-WqMWCdpa.js +3 -0
  228. package/server/{prompts-CgzMBvQF.js → prompts-XkL10m8M.js} +2 -2
  229. package/server/{providers-BJQSnAAp.js → providers-ClGPGkQ8.js} +15 -12
  230. package/server/providers-DFUOed8u.js +3 -0
  231. package/server/public/assets/{chunk-BO2N2NFS-D_pGACYN.js → chunk-BO2N2NFS-CeQUdPxr.js} +4 -4
  232. package/server/public/assets/{diagram-OG6HWLK6-BO6fe3hH.js → diagram-OG6HWLK6-B7rgk4yT.js} +1 -1
  233. package/server/public/assets/{dist-5zingMiA.js → dist-2RPazfXY.js} +3 -3
  234. package/server/public/assets/{dist-CVxhbI2E.js → dist-B9NInrVZ.js} +1 -1
  235. package/server/public/assets/{ganttDiagram-6RSMTGT7-Bgj4A7kp.js → ganttDiagram-6RSMTGT7-Bxp0gV14.js} +1 -1
  236. package/server/public/assets/{highlighted-body-OFNGDK62-DNPK7_cm.js → highlighted-body-OFNGDK62-CzoRTVlC.js} +1 -1
  237. package/server/public/assets/index-Cml-kHo6.css +1 -0
  238. package/server/public/assets/{index-DEpY-D1O.js → index-CvN8cEgs.js} +216 -215
  239. package/server/public/assets/{linear-BB0jQT16.js → linear-CFEEl3ND.js} +1 -1
  240. package/server/public/assets/mermaid-GHXKKRXX-CpV7nCBM.js +1 -0
  241. package/server/public/assets/{pieDiagram-4H26LBE5-DeGIzzpZ.js → pieDiagram-4H26LBE5-BeR8R0cr.js} +1 -1
  242. package/server/public/assets/{prod-XBLvikex.js → prod-CYjzjCrn.js} +4 -4
  243. package/server/public/assets/{quadrantDiagram-W4KKPZXB-BV9SLeWz.js → quadrantDiagram-W4KKPZXB-BpcTkFuW.js} +1 -1
  244. package/server/public/assets/{sankeyDiagram-5OEKKPKP-Dwja0gj8.js → sankeyDiagram-5OEKKPKP-Bx2ETEV5.js} +1 -1
  245. package/server/public/assets/{xychartDiagram-2RQKCTM6-DCB4qvfw.js → xychartDiagram-2RQKCTM6-BKgEAFaj.js} +1 -1
  246. package/server/public/index.html +2 -2
  247. package/server/{pull-requests-7BgLDsIo.js → pull-requests-B-KrUph5.js} +3 -3
  248. package/server/{pull-requests-Dq0y6IxE.js → pull-requests-DK5k92B4.js} +1 -1
  249. package/server/{queries-C-MUZaIy.js → queries-DVpl1vsU.js} +1212 -193
  250. package/server/{rally-CPysR4T_.js → rally-DbE561hD.js} +3 -3
  251. package/server/rally-O_st_X7n.js +3 -0
  252. package/server/{rally-api-8Ptlp2os.js → rally-api-CZLeEd2C.js} +2 -2
  253. package/server/{rally-api-CgosKdKL.js → rally-api-DaHtn5QN.js} +1 -1
  254. package/server/{rally-client-CCX0hADj.js → rally-client-C-MAl8ur.js} +1 -1
  255. package/server/{rally-client-iYMHWQD7.js → rally-client-Ch3zRsBX.js} +5 -5
  256. package/server/{reap-terminal-sessions-Qf-9LVQc.js → reap-terminal-sessions-C1n0ALRb.js} +2 -2
  257. package/server/{reap-terminal-sessions-4Xg9NGA8.js → reap-terminal-sessions-DegFS2p1.js} +2 -2
  258. package/server/{rebuild-stack-CMdgaylx.js → rebuild-stack-C9Li44A3.js} +20 -10
  259. package/server/{rebuild-stack-DqcOVmJO.js → rebuild-stack-qC0jCNm6.js} +2 -2
  260. package/server/{reconstruct-cache-CMZJ_Vjq.js → reconstruct-cache-BHyiAg02.js} +7 -7
  261. package/server/record-aVzu-LGm.js +3 -0
  262. package/server/record-update-CZh46a2f.js +617 -0
  263. package/server/{record-update-DhI7eySG.js → record-update-DtdJK2Iw.js} +1 -1
  264. package/server/recovery-trip-CSNWSLDn.js +77 -0
  265. package/server/recovery-trip-_16hFKv4.js +3 -0
  266. package/server/{release-engine-B2X9AfFC.js → release-engine-Be5MX5GP.js} +5 -5
  267. package/server/{release-set-G4XKyQ8K.js → release-set-DJv_O6PS.js} +3 -3
  268. package/server/{remote-BXarMvqf.js → remote-BMM3uH2J.js} +3 -3
  269. package/server/{remote-CUhyqjXk.js → remote-C0xVTHA5.js} +3 -3
  270. package/server/{remote-agents-CLZB3Coc.js → remote-agents-BIIoc5pD.js} +1 -1
  271. package/server/{remote-agents-Bba-MgSA.js → remote-agents-EUiZ26bj.js} +7 -7
  272. package/server/{remote-completion-CwAp79EC.js → remote-completion-BS4tJUn8.js} +13 -13
  273. package/server/resolver-BvHd6RE4.js +163 -0
  274. package/server/resume-9thEqAQR.js +3 -0
  275. package/server/{review-agent--pOptAEV.js → review-agent-BHGaBoBu.js} +29 -29
  276. package/server/{review-agent-BTCNkq2h.js → review-agent-CD3RQ-tc.js} +1 -1
  277. package/server/{review-artifacts-BNmw8dWE.js → review-artifacts-DyhajWso.js} +6 -6
  278. package/server/{review-context-DFxYOOJW.js → review-context-B-dlsPnx.js} +9 -9
  279. package/server/{review-convoy-liveness-BgU_1jJf.js → review-convoy-liveness-D7M-s_nS.js} +2 -2
  280. package/server/{review-status-Dma9SFaN.js → review-status-B6wYcOtP.js} +1 -1
  281. package/server/{review-status-CGvlA4o_.js → review-status-CKLk5aZ-.js} +308 -58
  282. package/server/{review-status-emit-DURrmGYX.js → review-status-emit-CJ7UmEVU.js} +3 -3
  283. package/server/{review-status-enrichment-8NiNXi5W.js → review-status-enrichment-DJRgGX7-.js} +3 -3
  284. package/server/review-status-limits-4EJDCGHO.js +7 -0
  285. package/server/{review-status-source-DIk1JSow.js → review-status-source-7nU3Z2wL.js} +1 -1
  286. package/server/{review-status-source-BLx_1siH.js → review-status-source-BsDYGfyv.js} +1 -1
  287. package/server/{review-status-sync-muT-EBp2.js → review-status-sync-BLssMTEW.js} +1 -1
  288. package/server/{review-status-sync-0GxOqeqF.js → review-status-sync-BxBeHRde.js} +35 -11
  289. package/server/{review-verdict-feedback-xJNdqBnX.js → review-verdict-feedback-5jWuzgpc.js} +90 -16
  290. package/server/{review-verdict-feedback-HwF6ODFy.js → review-verdict-feedback-HRY9P4bN.js} +1 -1
  291. package/server/{rollup-BQaol5TX.js → rollup-BGIrCEkU.js} +79 -44
  292. package/server/rollup-CZB4UL9q.js +3 -0
  293. package/server/{scanner-C-D2cFdX.js → scanner-DydjXPrz.js} +16 -9
  294. package/server/search-DdtIjAiu.js +395 -0
  295. package/server/{sequence-io-Bmf1EZM5.js → sequence-io-Fw-cLyDs.js} +4 -4
  296. package/server/{sequencer-agent-CigMyKh2.js → sequencer-agent-BcpGMt5x.js} +15 -10
  297. package/server/server.js +1258 -438
  298. package/server/{service-CD0DvFvD.js → service-BFFkGsG4.js} +58 -58
  299. package/server/{session-fork-B6cQ5eya.js → session-fork-D0V-3e5P.js} +2 -2
  300. package/server/{session-history-3ON_IJjm.js → session-history-Bta5l9jY.js} +5 -5
  301. package/server/{settings-PilbFZAM.js → settings-Ce8B1daF.js} +2 -2
  302. package/server/{settings-VN0qOh4U.js → settings-E3FnEIUx.js} +3 -3
  303. package/server/settings-eOOJpxi_.js +2 -0
  304. package/server/{shadow-engineering-DXvx77oE.js → shadow-engineering-Mt9nJO4i.js} +3 -3
  305. package/server/{shadow-state-CZBp7pwq.js → shadow-state-Bzj_AZCV.js} +1 -1
  306. package/server/{shadow-state-BBk_zacw.js → shadow-state-DrkhoVSx.js} +2 -2
  307. package/server/{shadow-utils-DdZ05AJS.js → shadow-utils-H1GfqP06.js} +2 -2
  308. package/server/{ship-log-7kJfjUX2.js → ship-log-CFUIo4PR.js} +1 -1
  309. package/server/{smart-compaction-8fA5k5XN.js → smart-compaction-DSTq-Wua.js} +1 -1
  310. package/server/{smart-compaction-ByhL9cRS.js → smart-compaction-Hzp3KCJX.js} +7 -7
  311. package/server/{spawn-planning-session-vLUJoFjy.js → spawn-planning-session-C0uSA2SL.js} +2 -2
  312. package/server/{spawn-planning-session-pcF-YeFE.js → spawn-planning-session-DN4son31.js} +23 -21
  313. package/server/{specialist-completion-B07XjWD2.js → specialist-completion-Cf6tpIh1.js} +1 -1
  314. package/server/{specialist-context-DJ-zFyL3.js → specialist-context-DEUEkjIQ.js} +5 -5
  315. package/server/{specialist-handoff-logger-aKSxbIgD.js → specialist-handoff-logger-D_LmQDj3.js} +2 -2
  316. package/server/{specialist-logs-Dae-n52_.js → specialist-logs-7Ynue0R7.js} +3 -3
  317. package/server/{specialists-KR3pKulN.js → specialists-CQwBEGlD.js} +1 -1
  318. package/server/{specialists-6PWdtWcg.js → specialists-DAjPgYs_.js} +504 -238
  319. package/server/{specialists-DUiExaxb.js → specialists-Hr6iW9fU.js} +18 -18
  320. package/server/{specialists-Bz-wFT7R.js → specialists-MOoeB4A8.js} +1 -1
  321. package/server/specs-Dl88cbKY.js +3 -0
  322. package/server/{src-B948bGVR.js → src-BYdwL_n-.js} +668 -64
  323. package/server/{src-vHy2-oCv.js → src-DQnkPN2i.js} +3 -3
  324. package/server/{src-rac0Mepv.js → src-DhfDV0o4.js} +6 -6
  325. package/server/{stack-health-DqLTiEu4.js → stack-health-D_iKwNRg.js} +107 -16
  326. package/server/stack-health-deVSdDwn.js +3 -0
  327. package/server/{stale-task-claims-Cab_Fo_Z.js → stale-task-claims-BYJGqhLI.js} +5 -5
  328. package/server/{staleness-CGTZyp6V.js → staleness-CopBDKnA.js} +1 -1
  329. package/server/{staleness-C-a5rBxF.js → staleness-D8WeMUHd.js} +1 -1
  330. package/server/{state-home-722Dkx92.js → state-home-DjN8qduI.js} +24 -3
  331. package/server/{state-mapping-CybR81Uf.js → state-mapping-DlM7OYRW.js} +1 -1
  332. package/server/{state-migrate-2u8wIpoL.js → state-migrate-a2p1gtD7.js} +4 -4
  333. package/server/state-mirror-Cv_XgvT5.js +121 -0
  334. package/server/{stuck-remediation-r1TJu68G.js → stuck-remediation-CXJX_kki.js} +1 -1
  335. package/server/{stuck-remediation-CC6q3eqQ.js → stuck-remediation-CbCRSz1v.js} +31 -732
  336. package/server/{substrate-bug-weights-service-CzIyyWFT.js → substrate-bug-weights-service-DxpopNd9.js} +3 -3
  337. package/server/{summary-fork-BqgmgPDt.js → summary-fork-B61fjRJn.js} +2 -2
  338. package/server/{summary-fork-Df2WFijM.js → summary-fork-B9pszUJN.js} +91 -10
  339. package/server/supervisor/{injection-budget-Cg_KIb3o.js → injection-budget-Ar7hgyJq.js} +1 -1
  340. package/server/supervisor/pty-supervisor.js +12 -3
  341. package/server/supervisor/{pty-token-BbjwEUUM.js → pty-token-CXCFU0Z8.js} +1 -1
  342. package/server/{supervisor-BxqSpjcN.js → supervisor-BvnxbuuF.js} +6 -4
  343. package/server/supervisor-C69kpqvd.js +2 -0
  344. package/server/{swarm-readiness-DfFxa9-n.js → swarm-readiness-vTw1kqGa.js} +3 -3
  345. package/server/{system-prerequisites-ICLSkhhZ.js → system-prerequisites-LLzTEqsK.js} +3 -3
  346. package/server/{teardown-workspace-DRdi_CPa.js → teardown-workspace-CqKKVJr1.js} +15 -15
  347. package/server/{test-agent-queue-A_-p-i0I.js → test-agent-queue-CWMq7oyG.js} +8 -7
  348. package/server/{test-verdict-BHgTAwIG.js → test-verdict-NdtgRBuA.js} +1 -1
  349. package/server/{test-verdict-C4i9aqEP.js → test-verdict-diIWE6hz.js} +15 -3
  350. package/server/{tldr-daemon-CvWXBhX1.js → tldr-daemon-B1Jhrtc8.js} +1 -1
  351. package/server/{tldr-daemon-wvsU6bKv.js → tldr-daemon-Bpls1CJB.js} +2 -2
  352. package/server/{tmux-CfDHob9M.js → tmux-CImZaX4q.js} +10 -16
  353. package/server/tmux-Cjpx8L8u.js +4 -0
  354. package/server/{token-DrxwytsZ.js → token-Bgpjo3tE.js} +2 -2
  355. package/server/token-util-BsjFll-k.js +3 -0
  356. package/server/{token-util-B48BlCba.js → token-util-BymbpkJp.js} +1 -1
  357. package/server/{tracker-config-BcPMElRB.js → tracker-config-4DaKVTfc.js} +2 -2
  358. package/server/{tracker-utils-CJ6BHjcD.js → tracker-utils-BDeAXC-q.js} +2 -2
  359. package/server/{traefik-connect-DZ6nMYMj.js → traefik-connect-CC5FyxYj.js} +1 -1
  360. package/server/{tunnel-Bp-dRHZz.js → tunnel-CDWkeceJ.js} +1 -1
  361. package/server/{tunnel-DUbUPElU.js → tunnel-CPf5M-Pc.js} +3 -3
  362. package/server/{typed-errors-DyjseiB6.js → typed-errors-9K7Dq_Vn.js} +1 -1
  363. package/server/{typed-errors-CKeoDdU3.js → typed-errors-DrS5fb5z.js} +1 -1
  364. package/server/{types-Cm5ASJbq.js → types-DzlUKiuf.js} +4 -3
  365. package/server/{types-Di8wdakq.js → types-kI9ik8XO.js} +1 -1
  366. package/server/{uat-promote-verification-CoJuh7XO.js → uat-promote-verification-c_pxoxEc.js} +5 -5
  367. package/server/{uat-train-4Q0k06CQ.js → uat-train-CWGxBdJO.js} +0 -0
  368. package/server/{uat-train-Dewoatps.js → uat-train-CfCYd2ve.js} +1 -1
  369. package/server/{validate-B0C8p66t.js → validate-f3ItVCfm.js} +3 -3
  370. package/server/{validation-hVOwQk8T.js → validation-5G_wQtea.js} +1 -1
  371. package/server/{validation-B_kIRfNe.js → validation-7tSiCM82.js} +4 -4
  372. package/server/{verification-artifact-BxlxTiYK.js → verification-artifact-9h9dH8uX.js} +1 -1
  373. package/server/{verification-artifact-D70AtckY.js → verification-artifact-C_4WJnf6.js} +1 -1
  374. package/server/{verification-runner-Bc3cJvpC.js → verification-runner-BV5F6wrA.js} +1 -1
  375. package/server/{verification-runner-KZTz6u72.js → verification-runner-D58KmBhK.js} +18 -38
  376. package/server/{vtt-parser-CE_i3Bcw.js → vtt-parser-2iT9OHa9.js} +1 -1
  377. package/server/{work-agent-prompt-ByrPAzOy.js → work-agent-prompt-D03s4DD1.js} +9 -9
  378. package/server/{workflows-D0vP1WrK.js → workflows-BMBwLYPV.js} +281 -98
  379. package/server/workflows-BOmWGpIh.js +2 -0
  380. package/server/{workspace-DQkRPLlQ.js → workspace-BgflNCH0.js} +3 -3
  381. package/server/{workspace-COWvdibH.js → workspace-Cn9ywfSW.js} +1 -1
  382. package/server/{workspace-anchor-drift-pwz23TI1.js → workspace-anchor-drift-C8Fy3shi.js} +1 -1
  383. package/server/{workspace-anchor-drift-DXYIAHzr.js → workspace-anchor-drift-CMiNncwq.js} +5 -8
  384. package/server/{workspace-config-BdZM4PvZ.js → workspace-config-aUc2nIz6.js} +1 -1
  385. package/server/{workspace-manager-BPgTrG66.js → workspace-manager-Bem7ZBs9.js} +521 -292
  386. package/server/workspace-manager-C0CpNh3t.js +3 -0
  387. package/server/{workspace-metadata-CdjzAP8x.js → workspace-metadata-C5iSlPRo.js} +1 -1
  388. package/server/{workspace-metadata-DkO_iTLo.js → workspace-metadata-UKmTYmDQ.js} +2 -2
  389. package/server/{workspaces-CRBJikLp.js → workspaces-DqxgwDZ8.js} +143 -113
  390. package/sync-sources/hooks/notification-hook +12 -1
  391. package/sync-sources/hooks/pan-hook-lib.sh +226 -0
  392. package/sync-sources/hooks/session-start-hook +31 -4
  393. package/sync-sources/hooks/work-agent-stop-hook +23 -1
  394. package/sync-sources/skills/pan-memory/SKILL.md +19 -3
  395. package/sync-sources/skills/pan-projects/SKILL.md +9 -0
  396. package/sync-sources/skills/pan-restart/SKILL.md +26 -7
  397. package/sync-sources/skills/pan-workspace/SKILL.md +77 -0
  398. package/server/activity-logger-CMthG6Vd.js +0 -3
  399. package/server/agent-state-CYXJVG72.js +0 -3
  400. package/server/agents-ePFVoZbu.js +0 -3
  401. package/server/archive-planning-B2XplFzT.js +0 -2
  402. package/server/cli-CjOCSnfj.js +0 -3
  403. package/server/deacon-swarm-B1XkIvfr.js +0 -2
  404. package/server/delivery-BX9HR4wQ.js +0 -3
  405. package/server/dist-B3YPQa5A.js +0 -3
  406. package/server/event-store-5UKzh9Jf.js +0 -3
  407. package/server/forge-B5o319qI.js +0 -3
  408. package/server/fts-db-IVc4_M3f.js +0 -146
  409. package/server/hume-VUCNbTgn.js +0 -3
  410. package/server/inspect-agent-CUwVmr2h.js +0 -2
  411. package/server/merge-ops-1abz6O_P.js +0 -2
  412. package/server/merge-rebase-CJJVAJuz.js +0 -2
  413. package/server/node_modules/brace-expansion/.tap/coverage/8b906b8c-e21f-40b5-8c0d-214d8c2682c5.json +0 -757
  414. package/server/node_modules/brace-expansion/.tap/processinfo/8b906b8c-e21f-40b5-8c0d-214d8c2682c5.json +0 -719
  415. package/server/node_modules/brace-expansion/ADVISORY-CVE-2026-14257.md +0 -107
  416. package/server/node_modules/brace-expansion/dist/commonjs/index.d.ts +0 -8
  417. package/server/node_modules/brace-expansion/dist/commonjs/index.d.ts.map +0 -1
  418. package/server/node_modules/brace-expansion/dist/commonjs/index.js +0 -263
  419. package/server/node_modules/brace-expansion/dist/commonjs/index.js.map +0 -1
  420. package/server/node_modules/brace-expansion/dist/commonjs/package.json +0 -3
  421. package/server/node_modules/brace-expansion/dist/esm/index.d.ts +0 -8
  422. package/server/node_modules/brace-expansion/dist/esm/index.d.ts.map +0 -1
  423. package/server/node_modules/brace-expansion/dist/esm/index.js +0 -259
  424. package/server/node_modules/brace-expansion/dist/esm/index.js.map +0 -1
  425. package/server/node_modules/brace-expansion/dist/esm/package.json +0 -3
  426. package/server/project-repos-DPjOdfPa.js +0 -3
  427. package/server/projects-_n3Zui6K.js +0 -3
  428. package/server/providers-BI1mOBQ4.js +0 -3
  429. package/server/public/assets/index-Ddkcz3WT.css +0 -1
  430. package/server/public/assets/mermaid-GHXKKRXX-BzPfaQJ1.js +0 -1
  431. package/server/rally-D_VW4bJv.js +0 -3
  432. package/server/record-BTwWhtBb.js +0 -3
  433. package/server/record-update-DaOKS7Wb.js +0 -277
  434. package/server/recovery-trip-DDH-02ng.js +0 -44
  435. package/server/resume-mOREjlYu.js +0 -3
  436. package/server/rollup-BR4t_wck.js +0 -3
  437. package/server/settings-CVmWiJ-r.js +0 -2
  438. package/server/specs--enInima.js +0 -3
  439. package/server/stack-health-BikqHSjn.js +0 -3
  440. package/server/supervisor-B4anCCSm.js +0 -2
  441. package/server/tmux-Ctk6RV5l.js +0 -3
  442. package/server/token-util-D411CAq9.js +0 -3
  443. package/server/workflows-DtDX08ed.js +0 -2
  444. package/server/workspace-manager-C1F3XsnS.js +0 -3
@@ -1,9 +1,9 @@
1
- import { Gn as init_projects, Mn as findProjectByPathSync, Rn as getProjectSwarmHotspots, ar as resolveProjectFromIssueSync } from "./config-yaml-CxdwhAIA.js";
2
- import { d as getReviewStatusSync, h as loadReviewStatuses, p as init_review_status, v as mergeGateEligibility } from "./review-status-CGvlA4o_.js";
3
- import { n as resolveGitHubIssueSync, t as init_tracker_utils } from "./tracker-utils-CJ6BHjcD.js";
4
- import { l as init_dag, r as compileGlob } from "./dag-BtkgLeqY.js";
5
- import { n as computeIssueFootprint, r as init_swarm_readiness } from "./swarm-readiness-DfFxa9-n.js";
6
- import { g as isAutoPickable, h as init_pickup, l as classifyIssue } from "./pickup-DWhqzliO.js";
1
+ import { Sn as resolveProjectFromIssueSync, Yt as findProjectByPathSync, cn as init_projects, tn as getProjectSwarmHotspots } from "./config-yaml-BSCqwmX0.js";
2
+ import { d as getReviewStatusSync, h as loadReviewStatuses, p as init_review_status, v as mergeGateEligibility } from "./review-status-CKLk5aZ-.js";
3
+ import { n as resolveGitHubIssueSync, t as init_tracker_utils } from "./tracker-utils-BDeAXC-q.js";
4
+ import { l as init_dag, r as compileGlob } from "./dag-BYiFMqpU.js";
5
+ import { n as computeIssueFootprint, r as init_swarm_readiness } from "./swarm-readiness-vTw1kqGa.js";
6
+ import { g as isAutoPickable, h as init_pickup, l as classifyIssue } from "./pickup-2AxtB3dW.js";
7
7
  import { Effect } from "effect";
8
8
  import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
9
9
  //#region ../../lib/flywheel-merge-order.ts
@@ -459,4 +459,4 @@ function pickFromSequence(nodes, opts) {
459
459
  //#endregion
460
460
  export { computePredictedConflictSignals as a, orderMergeCandidates as c, planUatCandidate as d, resolveMergeQueuePrUrl as f, computePolyrepoMergeQueueFromCandidates as i, pickFromSequence as l, changedFilesVsMain as n, declaredIssueFootprint as o, reviewRecordEligibility as p, computeMergeQueueFromCandidates as r, listEligibleCandidatesByProject as s, MERGE_QUEUE_GIT_CONCURRENCY as t, planMergeTrain as u };
461
461
 
462
- //# sourceMappingURL=flywheel-merge-order-D_xLMbJU.js.map
462
+ //# sourceMappingURL=flywheel-merge-order-DRtex2Dt.js.map
@@ -0,0 +1,3 @@
1
+ import { n as getForgeAdapter, r as init_forge } from "./forge-c8LeC-tw.js";
2
+ init_forge();
3
+ export { getForgeAdapter };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { S as parsePullRequestRef, d as getPullRequestState, f as init_github_app, p as isGitHubAppConfigured, v as listPullRequestsForHead, x as mergePullRequestWithApp } from "./github-app-CmNk0zLU.js";
2
+ import { S as parsePullRequestRef, d as getPullRequestState, f as init_github_app, p as isGitHubAppConfigured, v as listPullRequestsForHead, x as mergePullRequestWithApp } from "./github-app-D2QuvZ3j.js";
3
3
  import { join } from "node:path";
4
4
  import { Data, Effect } from "effect";
5
5
  import { tmpdir } from "node:os";
@@ -380,4 +380,4 @@ var init_forge = __esmMin((() => {
380
380
  //#endregion
381
381
  export { parseArtifactRef as i, getForgeAdapter as n, init_forge as r, GITHUB_MERGE_TIMEOUT_MS as t };
382
382
 
383
- //# sourceMappingURL=forge-BaKGCya6.js.map
383
+ //# sourceMappingURL=forge-c8LeC-tw.js.map
@@ -3841,4 +3841,4 @@ var init_from = __esmMin((() => {
3841
3841
  //#endregion
3842
3842
  export { File as a, init_esm_min as i, FormData as n, Blob as o, formDataToBlob as r, init_fetch_blob as s, init_from as t };
3843
3843
 
3844
- //# sourceMappingURL=from-B3tZbB55.js.map
3844
+ //# sourceMappingURL=from-BogSwvr2.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Gn as init_projects, Yn as listProjectsSync, ci as getOverdeckHome, li as init_paths } from "./config-yaml-CxdwhAIA.js";
2
+ import { cn as init_projects, fn as listProjectsSync, hi as init_paths, mi as getOverdeckHome } from "./config-yaml-BSCqwmX0.js";
3
3
  import { dirname, join } from "node:path";
4
4
  import { mkdir, readFile, readdir, rm, writeFile } from "node:fs/promises";
5
5
  //#region ../../lib/pan-dir/fs-lock.ts
@@ -125,6 +125,6 @@ var init_fs_lock = __esmMin((() => {
125
125
  };
126
126
  }));
127
127
  //#endregion
128
- export { withRecordFsLock as a, releaseRecordLock as i, init_fs_lock as n, isPidDead as r, acquireRecordLock as t };
128
+ export { recordLockPath as a, readOwner as i, init_fs_lock as n, releaseRecordLock as o, isPidDead as r, withRecordFsLock as s, acquireRecordLock as t };
129
129
 
130
- //# sourceMappingURL=fs-lock-Bre3sGoz.js.map
130
+ //# sourceMappingURL=fs-lock-D_GeJtXl.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { n as openDatabase, t as init_driver } from "./driver-CKVGi51s.js";
3
- import { i as init_paths, o as resolveFtsDbPath } from "./paths-sJBSb7Ul.js";
2
+ import { n as openDatabase, t as init_driver } from "./driver-CmsY2RLl.js";
3
+ import { i as init_paths, o as resolveFtsDbPath } from "./paths-BUuhi6jM.js";
4
4
  import { dirname } from "node:path";
5
5
  import { mkdirSync } from "node:fs";
6
6
  //#region ../../lib/memory/fts-operations.ts
@@ -131,4 +131,4 @@ var init_fts_operations = __esmMin((() => {
131
131
  //#endregion
132
132
  export { runMemoryFtsTransactionSync as a, runMemoryFtsStatementSync as i, getMemoryFtsDatabaseSync as n, init_fts_operations as r, closeMemoryFtsDatabasesInProcess as t };
133
133
 
134
- //# sourceMappingURL=fts-operations-B9jG8wa3.js.map
134
+ //# sourceMappingURL=fts-operations-DP9R-8Q3.js.map
@@ -1,3 +1,3 @@
1
- import { a as init_git_utils, c as rehydrateHeadAnchor, i as hasStaleLocks, l as renderWorkspaceGitShowPromise, n as formatAnchorShort, o as parseCompositeSnapshot, r as getWorkspaceGitInfo, s as parseWorkspaceHeadAnchor, t as cleanupStaleLocks, u as snapshotWorkspaceHeadsPromise } from "./git-utils-CsvYfJU3.js";
1
+ import { a as init_git_utils, c as rehydrateHeadAnchor, i as hasStaleLocks, l as renderWorkspaceGitShowPromise, n as formatAnchorShort, o as parseCompositeSnapshot, r as getWorkspaceGitInfo, s as parseWorkspaceHeadAnchor, t as cleanupStaleLocks, u as snapshotWorkspaceHeadsPromise } from "./git-utils-xQ74FoSn.js";
2
2
  init_git_utils();
3
3
  export { cleanupStaleLocks, formatAnchorShort, getWorkspaceGitInfo, hasStaleLocks, parseCompositeSnapshot, parseWorkspaceHeadAnchor, rehydrateHeadAnchor, renderWorkspaceGitShowPromise, snapshotWorkspaceHeadsPromise };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Er as GitError, Fr as init_errors, Tr as FsError } from "./config-yaml-CxdwhAIA.js";
2
+ import { Ar as FsError, Vr as init_errors, jr as GitError } from "./config-yaml-BSCqwmX0.js";
3
3
  import { Effect } from "effect";
4
4
  import { existsSync, readdirSync, unlinkSync } from "fs";
5
5
  import { join } from "path";
@@ -171,7 +171,7 @@ async function renderWorkspaceGitShowPromise(issueId, workspacePath, anchor, arg
171
171
  const entries = parseWorkspaceHeadAnchor(anchor);
172
172
  if (!entries) return gitShow(workspacePath, anchor.trim(), args);
173
173
  if (!issueId) throw new Error(`Cannot resolve composite workspace head anchor '${anchor}' without an issue id`);
174
- const { resolveWorkspaceRepoRootsSync } = await import("./project-repos-DPjOdfPa.js");
174
+ const { resolveWorkspaceRepoRootsSync } = await import("./project-repos-Df90Zw7Y.js");
175
175
  const rootsByKey = new Map(resolveWorkspaceRepoRootsSync(issueId, workspacePath).map((root) => [root.repoKey, root]));
176
176
  return (await Promise.all(entries.map(async ({ repoKey, sha }) => {
177
177
  const root = rootsByKey.get(repoKey);
@@ -229,8 +229,9 @@ function formatAnchorShort(anchor) {
229
229
  * through rehydrateHeadAnchor at an explicitly documented storage boundary.
230
230
  */
231
231
  async function snapshotWorkspaceHeadsPromise(issueId, workspacePath) {
232
- const { resolveWorkspaceRepoRootsSync } = await import("./project-repos-DPjOdfPa.js");
232
+ const { resolveWorkspaceRepoRootsSync } = await import("./project-repos-Df90Zw7Y.js");
233
233
  const roots = resolveWorkspaceRepoRootsSync(issueId, workspacePath);
234
+ if (roots.some((root) => root.degradedPolyrepo)) return void 0;
234
235
  const isPolyrepo = roots.some((root) => root.isPolyrepo);
235
236
  const heads = [];
236
237
  for (const root of roots) try {
@@ -285,4 +286,4 @@ var init_git_utils = __esmMin((() => {
285
286
  //#endregion
286
287
  export { init_git_utils as a, rehydrateHeadAnchor as c, hasStaleLocks as i, renderWorkspaceGitShowPromise as l, formatAnchorShort as n, parseCompositeSnapshot as o, getWorkspaceGitInfo as r, parseWorkspaceHeadAnchor as s, cleanupStaleLocks as t, snapshotWorkspaceHeadsPromise as u };
287
288
 
288
- //# sourceMappingURL=git-utils-CsvYfJU3.js.map
289
+ //# sourceMappingURL=git-utils-xQ74FoSn.js.map
@@ -1,3 +1,3 @@
1
- import { C as postOverdeckTestsStatus, E as verifyAppCanMerge, S as parsePullRequestRef, T as reportCommitStatus, _ as listOpenIssuesWithLabelsPromise, a as getCiCheckRunsState, b as loadGitHubAppConfig, c as getIssueStatePromise, d as getPullRequestState, f as init_github_app, g as listOpenIssuesWithLabels, h as listIssuesWithAnyLabelPromise, i as getBotIdentity, l as getMergeBackendStatus, m as isIntegrationPermissionError, n as generateInstallationToken, o as getCiCheckRunsStatePromise, p as isGitHubAppConfigured, r as getAppStatus, s as getIssueState, t as configureWorkspaceForBot, u as getPullRequestHeadState, v as listPullRequestsForHead, w as refreshWorkspaceToken, x as mergePullRequestWithApp, y as listPullRequestsForHeadPromise } from "./github-app-CmNk0zLU.js";
1
+ import { C as postOverdeckTestsStatus, E as verifyAppCanMerge, S as parsePullRequestRef, T as reportCommitStatus, _ as listOpenIssuesWithLabelsPromise, a as getCiCheckRunsState, b as loadGitHubAppConfig, c as getIssueStatePromise, d as getPullRequestState, f as init_github_app, g as listOpenIssuesWithLabels, h as listIssuesWithAnyLabelPromise, i as getBotIdentity, l as getMergeBackendStatus, m as isIntegrationPermissionError, n as generateInstallationToken, o as getCiCheckRunsStatePromise, p as isGitHubAppConfigured, r as getAppStatus, s as getIssueState, t as configureWorkspaceForBot, u as getPullRequestHeadState, v as listPullRequestsForHead, w as refreshWorkspaceToken, x as mergePullRequestWithApp, y as listPullRequestsForHeadPromise } from "./github-app-D2QuvZ3j.js";
2
2
  init_github_app();
3
3
  export { configureWorkspaceForBot, generateInstallationToken, getAppStatus, getBotIdentity, getCiCheckRunsState, getCiCheckRunsStatePromise, getIssueState, getIssueStatePromise, getMergeBackendStatus, getPullRequestHeadState, getPullRequestState, isGitHubAppConfigured, isIntegrationPermissionError, listIssuesWithAnyLabelPromise, listOpenIssuesWithLabels, listOpenIssuesWithLabelsPromise, listPullRequestsForHead, listPullRequestsForHeadPromise, loadGitHubAppConfig, mergePullRequestWithApp, parsePullRequestRef, postOverdeckTestsStatus, refreshWorkspaceToken, reportCommitStatus, verifyAppCanMerge };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Dr as GitHubApiError, Fr as init_errors, Tr as FsError, wr as ConfigError } from "./config-yaml-CxdwhAIA.js";
2
+ import { Ar as FsError, Mr as GitHubApiError, Vr as init_errors, kr as ConfigError } from "./config-yaml-BSCqwmX0.js";
3
3
  import { Effect } from "effect";
4
4
  import { existsSync, readFileSync } from "fs";
5
5
  import { join } from "path";
@@ -39,7 +39,7 @@ function withConcurrencyLimitPromise(tasks, max) {
39
39
  });
40
40
  }
41
41
  /** Cache settled values for a TTL while preserving single-flight for pending work regardless of age. */
42
- function createSettledTtlPromiseCache(ttlMs, now = Date.now) {
42
+ function createSettledTtlPromiseCache(ttlMs, now = () => Date.now()) {
43
43
  const entries = /* @__PURE__ */ new Map();
44
44
  const get = (key, load) => {
45
45
  const cached = entries.get(key);
@@ -664,4 +664,4 @@ var init_github_app = __esmMin((() => {
664
664
  //#endregion
665
665
  export { createSettledTtlPromiseCache as A, postOverdeckTestsStatus as C, init_advisory_checks as D, verifyAppCanMerge as E, withConcurrencyLimit as M, withConcurrencyLimitPromise as N, isAdvisoryCheckName as O, parsePullRequestRef as S, reportCommitStatus as T, listOpenIssuesWithLabelsPromise as _, getCiCheckRunsState as a, loadGitHubAppConfig as b, getIssueStatePromise as c, getPullRequestState as d, init_github_app as f, listOpenIssuesWithLabels as g, listIssuesWithAnyLabelPromise as h, getBotIdentity as i, init_concurrency as j, createPromiseConcurrencyLimiter as k, getMergeBackendStatus as l, isIntegrationPermissionError as m, generateInstallationToken as n, getCiCheckRunsStatePromise as o, isGitHubAppConfigured as p, getAppStatus as r, getIssueState as s, configureWorkspaceForBot as t, getPullRequestHeadState as u, listPullRequestsForHead as v, refreshWorkspaceToken as w, mergePullRequestWithApp as x, listPullRequestsForHeadPromise as y };
666
666
 
667
- //# sourceMappingURL=github-app-CmNk0zLU.js.map
667
+ //# sourceMappingURL=github-app-D2QuvZ3j.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { a as init_tracker_config, t as getGitHubConfig } from "./tracker-config-BcPMElRB.js";
3
- import { a as RateLimited, c as TrackerNotConfigured, d as init_typed_errors, r as IssueNotFound, s as TrackerApiError } from "./typed-errors-DyjseiB6.js";
2
+ import { a as init_tracker_config, t as getGitHubConfig } from "./tracker-config-4DaKVTfc.js";
3
+ import { a as RateLimited, c as TrackerNotConfigured, d as init_typed_errors, r as IssueNotFound, s as TrackerApiError } from "./typed-errors-9K7Dq_Vn.js";
4
4
  import { Context, Effect, Layer } from "effect";
5
5
  //#region services/github-client.ts
6
6
  /**
@@ -241,4 +241,4 @@ var init_github_client = __esmMin((() => {
241
241
  //#endregion
242
242
  export { init_github_client as i, GitHubClientLive as n, GitHubClientOptionalLive as r, GitHubClient as t };
243
243
 
244
- //# sourceMappingURL=github-client-qazkPrg0.js.map
244
+ //# sourceMappingURL=github-client-D9YvJX5D.js.map
@@ -1,3 +1,3 @@
1
- import { i as init_github_client, n as GitHubClientLive, r as GitHubClientOptionalLive, t as GitHubClient } from "./github-client-qazkPrg0.js";
1
+ import { i as init_github_client, n as GitHubClientLive, r as GitHubClientOptionalLive, t as GitHubClient } from "./github-client-D9YvJX5D.js";
2
2
  init_github_client();
3
3
  export { GitHubClient, GitHubClientLive, GitHubClientOptionalLive };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { f as init_github_app, p as isGitHubAppConfigured, v as listPullRequestsForHead } from "./github-app-CmNk0zLU.js";
2
+ import { f as init_github_app, p as isGitHubAppConfigured, v as listPullRequestsForHead } from "./github-app-D2QuvZ3j.js";
3
3
  import { Effect } from "effect";
4
4
  import { execFile } from "node:child_process";
5
5
  import { promisify } from "node:util";
@@ -55,4 +55,4 @@ var init_github_pr_lookup = __esmMin((() => {
55
55
  //#endregion
56
56
  export { lookupPullRequestNumberForBranch as i, init_github_pr_lookup as n, lookupPullRequestForBranch as r, githubPrLookupSource as t };
57
57
 
58
- //# sourceMappingURL=github-pr-lookup-DAcVeRLK.js.map
58
+ //# sourceMappingURL=github-pr-lookup-DvBMv-IW.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-CxdwhAIA.js";
2
+ import { f as loadConfigSync, t as init_config_yaml } from "./config-yaml-BSCqwmX0.js";
3
3
  import { delimiter, dirname, isAbsolute, join, resolve } from "node:path";
4
4
  import { homedir } from "node:os";
5
5
  import { constants } from "node:fs";
@@ -71,8 +71,8 @@ function harnessBinaryName(harness) {
71
71
  return HARNESS_BINARY_BY_RUNTIME[harness];
72
72
  }
73
73
  function configuredHarnessBinaryPath(harness) {
74
- if (harness !== "acp") return void 0;
75
- return loadConfigSync().config.acp?.kimi?.binaryPath;
74
+ if (harness === "acp") return loadConfigSync().config.acp?.kimi?.binaryPath;
75
+ if (harness === "kimi-code") return loadConfigSync().config.kimiCode?.binaryPath;
76
76
  }
77
77
  function withConfiguredExecutable(harness, options = {}) {
78
78
  if (options.executablePath !== void 0) return options;
@@ -90,7 +90,7 @@ async function requireHarnessBinary(harness, options) {
90
90
  const effectiveOptions = withConfiguredExecutable(harness, options);
91
91
  const resolved = await resolveExecutable(binary, effectiveOptions);
92
92
  if (resolved) return resolved;
93
- const harnessName = harness === "claude-code" ? "Claude Code" : harness === "ohmypi" ? "OhMyPi" : harness === "codex" ? "Codex CLI" : "Kimi Code CLI";
93
+ const harnessName = harness === "claude-code" ? "Claude Code" : harness === "ohmypi" ? "OhMyPi" : harness === "codex" ? "Codex CLI" : harness === "kimi-code" ? "Kimi Code CLI" : "Kimi Code CLI";
94
94
  if (effectiveOptions.executablePath) throw new Error(`${harnessName} configured executable "${effectiveOptions.executablePath}" was not found or is not executable. Fix its configured path, then restart Overdeck. No terminal session was created.`);
95
95
  throw new Error(`${harnessName} executable "${binary}" was not found. Install ${harnessName} or add its installation directory to PATH, then restart Overdeck. No terminal session was created.`);
96
96
  }
@@ -116,7 +116,8 @@ var init_harness_binary = __esmMin((() => {
116
116
  "claude-code": "claude",
117
117
  ohmypi: "omp",
118
118
  codex: "codex",
119
- acp: "kimi"
119
+ acp: "kimi",
120
+ "kimi-code": "kimi"
120
121
  };
121
122
  defaultRunCommand = async (command, args) => {
122
123
  const { stdout } = await execFileAsync(command, args, {
@@ -129,4 +130,4 @@ var init_harness_binary = __esmMin((() => {
129
130
  //#endregion
130
131
  export { resolveExecutable as a, prepareHarnessLaunch as i, harnessBinaryName as n, resolveHarnessBinary as o, init_harness_binary as r, configuredHarnessBinaryPath as t };
131
132
 
132
- //# sourceMappingURL=harness-binary-BSpiXaLw.js.map
133
+ //# sourceMappingURL=harness-binary-BHxWf_sX.js.map
@@ -1,9 +1,9 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { A as canUseHarnessSync, H as init_providers, M as init_harness_policy, R as getBuiltInDefaultHarness, V as getProviderForModelSync, f as loadConfigSync, j as canUseModelWithAuthSync, t as init_config_yaml } from "./config-yaml-CxdwhAIA.js";
3
- import { n as harnessBinaryName, o as resolveHarnessBinary, r as init_harness_binary, t as configuredHarnessBinaryPath } from "./harness-binary-BSpiXaLw.js";
2
+ import { Bn as canUseModelWithAuthSync, Vn as init_harness_policy, Xn as getProviderForModelSync, Zn as init_providers, f as loadConfigSync, qn as getBuiltInDefaultHarness, t as init_config_yaml, zn as canUseHarnessSync } from "./config-yaml-BSCqwmX0.js";
3
+ import { n as harnessBinaryName, o as resolveHarnessBinary, r as init_harness_binary, t as configuredHarnessBinaryPath } from "./harness-binary-BHxWf_sX.js";
4
4
  //#region ../../lib/harness-resolve.ts
5
5
  async function getProviderAuthModeForModel(model) {
6
- const { getProviderAuthMode } = await import("./agents-ePFVoZbu.js");
6
+ const { getProviderAuthMode } = await import("./agents-IPSa5kzn.js");
7
7
  return getProviderAuthMode(model);
8
8
  }
9
9
  function assertHarnessProviderSupported(harness, provider) {
@@ -72,4 +72,4 @@ var init_harness_resolve = __esmMin((() => {
72
72
  //#endregion
73
73
  export { resolveHarness as n, init_harness_resolve as t };
74
74
 
75
- //# sourceMappingURL=harness-resolve-BAJu5MX8.js.map
75
+ //# sourceMappingURL=harness-resolve-bj9WMABA.js.map
@@ -1,4 +1,4 @@
1
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-BDQDRopn.js";
1
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-CTrmVqc_.js";
2
2
  //#region ../../lib/overdeck/health-events.ts
3
3
  init_infra();
4
4
  function parseMetadata(row) {
@@ -66,4 +66,4 @@ function getHealthHistory(agentId, startTime, endTime) {
66
66
  //#endregion
67
67
  export { getLatestHealthEvent as n, writeHealthEvent as r, getHealthHistory as t };
68
68
 
69
- //# sourceMappingURL=health-events-BwX32k8d.js.map
69
+ //# sourceMappingURL=health-events-bCDPn59Z.js.map
@@ -1,2 +1,2 @@
1
- import { n as getLatestHealthEvent, r as writeHealthEvent, t as getHealthHistory } from "./health-events-BwX32k8d.js";
1
+ import { n as getLatestHealthEvent, r as writeHealthEvent, t as getHealthHistory } from "./health-events-bCDPn59Z.js";
2
2
  export { getHealthHistory, getLatestHealthEvent, writeHealthEvent };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Fr as init_errors, Ir as AGENTS_DIR, Tr as FsError, li as init_paths } from "./config-yaml-CxdwhAIA.js";
2
+ import { Ar as FsError, Hr as AGENTS_DIR, Vr as init_errors, hi as init_paths } from "./config-yaml-BSCqwmX0.js";
3
3
  import { Effect } from "effect";
4
4
  import { existsSync, mkdirSync, readFileSync, readdirSync, unlinkSync, writeFileSync } from "fs";
5
5
  import { join } from "path";
@@ -294,4 +294,4 @@ var init_hooks = __esmMin((() => {
294
294
  //#endregion
295
295
  export { pushToHookSync as _, collectMail as a, sendMail as b, generateFixedPointPromptSync as c, initHook as d, initHookSync as f, pushToHook as g, popFromHookSync as h, clearHookSync as i, getHook as l, popFromHook as m, checkHookSync as n, collectMailSync as o, init_hooks as p, clearHook as r, generateFixedPointPrompt as s, checkHook as t, getHookSync as u, reorderHookItems as v, sendMailSync as x, reorderHookItemsSync as y };
296
296
 
297
- //# sourceMappingURL=hooks-DbtbimEf.js.map
297
+ //# sourceMappingURL=hooks-Dyxtg5fk.js.map
@@ -1,3 +1,3 @@
1
- import { _ as pushToHookSync, a as collectMail, b as sendMail, c as generateFixedPointPromptSync, d as initHook, f as initHookSync, g as pushToHook, h as popFromHookSync, i as clearHookSync, l as getHook, m as popFromHook, n as checkHookSync, o as collectMailSync, p as init_hooks, r as clearHook, s as generateFixedPointPrompt, t as checkHook, u as getHookSync, v as reorderHookItems, x as sendMailSync, y as reorderHookItemsSync } from "./hooks-DbtbimEf.js";
1
+ import { _ as pushToHookSync, a as collectMail, b as sendMail, c as generateFixedPointPromptSync, d as initHook, f as initHookSync, g as pushToHook, h as popFromHookSync, i as clearHookSync, l as getHook, m as popFromHook, n as checkHookSync, o as collectMailSync, p as init_hooks, r as clearHook, s as generateFixedPointPrompt, t as checkHook, u as getHookSync, v as reorderHookItems, x as sendMailSync, y as reorderHookItemsSync } from "./hooks-Dyxtg5fk.js";
2
2
  init_hooks();
3
3
  export { checkHook, checkHookSync, clearHook, clearHookSync, collectMail, collectMailSync, generateFixedPointPrompt, generateFixedPointPromptSync, getHook, getHookSync, initHook, initHookSync, popFromHook, popFromHookSync, pushToHook, pushToHookSync, reorderHookItems, reorderHookItemsSync, sendMail, sendMailSync };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { n as init_workspace_config, r as replacePlaceholdersSync } from "./workspace-config-BdZM4PvZ.js";
2
+ import { n as init_workspace_config, r as replacePlaceholdersSync } from "./workspace-config-aUc2nIz6.js";
3
3
  import { Data, Effect } from "effect";
4
4
  //#region ../../lib/hume.ts
5
5
  /**
@@ -189,4 +189,4 @@ var init_hume = __esmMin((() => {
189
189
  //#endregion
190
190
  export { init_hume as i, createHumeConfig as n, deleteHumeConfig as r, HumeApiError as t };
191
191
 
192
- //# sourceMappingURL=hume-DXNiu6nQ.js.map
192
+ //# sourceMappingURL=hume-DrZEGpqc.js.map
@@ -0,0 +1,3 @@
1
+ import { i as init_hume, r as deleteHumeConfig } from "./hume-DrZEGpqc.js";
2
+ init_hume();
3
+ export { deleteHumeConfig };
@@ -1,11 +1,13 @@
1
- import { o as init_activity_logger, r as emitActivityEntrySync } from "./activity-logger-CyteR4JO.js";
2
- import { M as listSessionNames, w as init_tmux } from "./tmux-CfDHob9M.js";
1
+ import { a as emitActivityEntrySync, c as init_activity_logger } from "./activity-logger-Co5qljIj.js";
2
+ import { C as init_tmux, j as listSessionNames } from "./tmux-CImZaX4q.js";
3
+ import { l as listWorkspaces, o as init_resolver } from "./resolver-BvHd6RE4.js";
3
4
  import { Effect } from "effect";
4
5
  import { exec } from "child_process";
5
6
  import { promisify } from "util";
6
7
  //#region ../../lib/cloister/idle-stack-reaper.ts
7
8
  init_activity_logger();
8
9
  init_tmux();
10
+ init_resolver();
9
11
  const execAsync = promisify(exec);
10
12
  /**
11
13
  * Idle workspace-stack reaper (PAN-1817).
@@ -45,8 +47,16 @@ const GRACE_MS = 600 * 1e3;
45
47
  * that forces scheduler yields (MIN-858/MIN-891 yielded under it, 2026-07-25).
46
48
  */
47
49
  const FULL_STACK_GRACE_MS = 7200 * 1e3;
48
- /** `overdeck-feature-<issue>-server-1` / `-frontend-1`. */
49
- const UI_CONTAINER_RE = /^overdeck-feature-([a-z0-9]+-\d+)-(server|frontend)-1$/i;
50
+ /**
51
+ * `<any-prefix>feature-<issue>-server-1` / `-frontend-1` — prefix-agnostic
52
+ * (PAN-3049) so a `myn-feature-*` UI container is matched the same as the
53
+ * `overdeck-feature-*` default, since the compose project name comes from
54
+ * whatever the workspace declares (see composeProjectNameForWorkspace). The
55
+ * prefix itself is unconstrained (any length, any separator) — only the
56
+ * `feature-<issue>-(server|frontend)-1` suffix, preceded by start-of-string
57
+ * or a separator, has to match. Mirrors FEATURE_PROJECT_RE's approach below.
58
+ */
59
+ const UI_CONTAINER_RE = /(?:^|[-_.])feature-([a-z0-9]+-\d+)-(server|frontend)-1$/i;
50
60
  /** Compose project names end in `feature-<issue>` by construction (stack-health). */
51
61
  const FEATURE_PROJECT_RE = /(?:^|[-_])feature-([a-z0-9]+-\d+)$/i;
52
62
  /** Never stop the `dev` container — it is the operator's VS Code attach target. */
@@ -57,6 +67,26 @@ const DEV_CONTAINER_RE = /-dev-1$/i;
57
67
  * stops (a normal stop→start restart clears before the grace elapses).
58
68
  */
59
69
  const firstIdleAt = /* @__PURE__ */ new Map();
70
+ /**
71
+ * HAZARD H8 (PAN-1990): a kind='main' workspace sits on the project's own
72
+ * primary path, never a `feature-<issue>` worktree, so it cannot match
73
+ * UI_CONTAINER_RE / FEATURE_PROJECT_RE today — the exclusion is incidental,
74
+ * not a deliberate rule. This is the explicit, structural guard: before
75
+ * reaping any candidate, confirm no registered main workspace's own path
76
+ * basename produces the same issueLower/project string. Never throws — a
77
+ * resolver failure (e.g. table not yet seeded) must not block the reaper's
78
+ * primary safety net, only skip this extra check.
79
+ */
80
+ function isMainWorkspaceIssue(issueLower) {
81
+ try {
82
+ return listWorkspaces({ kind: "main" }).some((ws) => {
83
+ const base = ws.path.split("/").pop()?.toLowerCase() ?? "";
84
+ return base === issueLower || base === `feature-${issueLower}`;
85
+ });
86
+ } catch {
87
+ return false;
88
+ }
89
+ }
60
90
  function issueLowerFromAgentId(agentId) {
61
91
  const match = agentId.match(/^agent-([a-z0-9]+-\d+)/i);
62
92
  return match ? match[1].toLowerCase() : null;
@@ -135,7 +165,7 @@ async function reconcileIdleWorkspaceStacks(deps = {}) {
135
165
  const sessionBlob = (await d.listSessions().catch(() => [])).join("\n").toLowerCase();
136
166
  const nowMs = d.now();
137
167
  for (const [issueLower, names] of byIssue) {
138
- if (sessionBlob.includes(issueLower)) {
168
+ if (sessionBlob.includes(issueLower) || isMainWorkspaceIssue(issueLower)) {
139
169
  firstIdleAt.delete(issueLower);
140
170
  continue;
141
171
  }
@@ -187,7 +217,7 @@ async function reconcileIdleWorkspaceStacks(deps = {}) {
187
217
  }
188
218
  for (const [project, { issueLower, names }] of byProject) {
189
219
  const clockKey = `full:${project}`;
190
- if (sessionBlob.includes(issueLower)) {
220
+ if (sessionBlob.includes(issueLower) || isMainWorkspaceIssue(issueLower)) {
191
221
  firstIdleAt.delete(clockKey);
192
222
  continue;
193
223
  }
@@ -225,4 +255,4 @@ async function reconcileIdleWorkspaceStacks(deps = {}) {
225
255
  //#endregion
226
256
  export { reconcileIdleWorkspaceStacks as n, handleAgentLifecycleEventForIdleStack as t };
227
257
 
228
- //# sourceMappingURL=idle-stack-reaper-Cy-dQzW4.js.map
258
+ //# sourceMappingURL=idle-stack-reaper-CJ1ygW0p.js.map
@@ -1,2 +1,2 @@
1
- import { t as handleAgentLifecycleEventForIdleStack } from "./idle-stack-reaper-Cy-dQzW4.js";
1
+ import { t as handleAgentLifecycleEventForIdleStack } from "./idle-stack-reaper-CJ1ygW0p.js";
2
2
  export { handleAgentLifecycleEventForIdleStack };
@@ -42,4 +42,4 @@ var init_in_flight_guard = __esmMin((() => {}));
42
42
  //#endregion
43
43
  export { createPromiseCoalescer as n, init_in_flight_guard as r, createInFlightGuard as t };
44
44
 
45
- //# sourceMappingURL=in-flight-guard-D-sSkADM.js.map
45
+ //# sourceMappingURL=in-flight-guard-CG2Eo-rr.js.map
@@ -1,8 +1,8 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { At as getIssueRecordPath, Pt as init_record, ci as getOverdeckHome, di as packageRoot, li as init_paths$1, zt as readIssueRecordSync } from "./config-yaml-CxdwhAIA.js";
3
- import { n as openDatabase, t as init_driver$1 } from "./driver-CKVGi51s.js";
4
- import { i as updateIssueRecord, r as init_record_update } from "./record-update-DaOKS7Wb.js";
5
- import { D as killSession, H as sessionExists, _ as getAgentSessions, w as init_tmux } from "./tmux-CfDHob9M.js";
2
+ import { Q as readIssueRecordSync, U as getIssueRecordPath, _i as packageRoot, hi as init_paths$1, mi as getOverdeckHome, q as init_record } from "./config-yaml-BSCqwmX0.js";
3
+ import { n as openDatabase, t as init_driver$1 } from "./driver-CmsY2RLl.js";
4
+ import { i as updateIssueRecord, r as init_record_update } from "./record-update-CZh46a2f.js";
5
+ import { C as init_tmux, E as killSession, V as sessionExists, g as getAgentSessions } from "./tmux-CImZaX4q.js";
6
6
  import { dirname, isAbsolute, join } from "node:path";
7
7
  import { Context, Effect, Layer, Queue, Stream } from "effect";
8
8
  import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
@@ -4728,6 +4728,7 @@ function ensureRuntimeIndexesSync(db) {
4728
4728
  ensureReleaseSetTablesSync(db);
4729
4729
  ensureUatGenerationRepoTablesSync(db);
4730
4730
  runSchemaTopUp(db, "ALTER TABLE `flywheel_substrate_bugs` ADD COLUMN `affected_criteria` text");
4731
+ runSchemaTopUp(db, "CREATE TABLE IF NOT EXISTS `event_idempotency` (`key` text PRIMARY KEY NOT NULL, `sequence` integer NOT NULL, `created_at` integer NOT NULL)");
4731
4732
  runSchemaTopUp(db, "CREATE INDEX IF NOT EXISTS `cost_session_id_idx` ON `cost_events` (`session_id`)");
4732
4733
  runSchemaTopUp(db, "CREATE INDEX IF NOT EXISTS `idx_cost_agent_id` ON `cost_events` (`agent_id`, `ts`)");
4733
4734
  runSchemaTopUp(db, "CREATE INDEX IF NOT EXISTS `idx_cost_issue_upper` ON `cost_events` (UPPER(`issue_id`))");
@@ -4741,6 +4742,76 @@ function ensureRuntimeIndexesSync(db) {
4741
4742
  runSchemaTopUp(db, "ALTER TABLE `agents` ADD COLUMN `yielded_at` integer");
4742
4743
  runSchemaTopUp(db, "ALTER TABLE `agents` ADD COLUMN `last_yield_resume_at` integer");
4743
4744
  runSchemaTopUp(db, "ALTER TABLE `agents` ADD COLUMN `started_by` text");
4745
+ ensureWorkspaceTablesSync(db);
4746
+ }
4747
+ /**
4748
+ * Idempotent schema top-up for first-class projects/workspaces (PAN-1990).
4749
+ * A fresh overdeck.db predates these tables — the init migration only runs on
4750
+ * a brand-new database, so existing files need them added here.
4751
+ */
4752
+ function ensureWorkspaceTablesSync(db) {
4753
+ db.exec(`
4754
+ CREATE TABLE IF NOT EXISTS \`projects\` (
4755
+ \`id\` text PRIMARY KEY NOT NULL,
4756
+ \`name\` text NOT NULL,
4757
+ \`primary_path\` text NOT NULL,
4758
+ \`created_at\` integer NOT NULL,
4759
+ \`last_accessed_at\` integer NOT NULL,
4760
+ \`is_system\` integer DEFAULT 0 NOT NULL
4761
+ )
4762
+ `);
4763
+ db.exec("CREATE UNIQUE INDEX IF NOT EXISTS `projects_primary_path_idx` ON `projects` (`primary_path`)");
4764
+ db.exec(`
4765
+ CREATE TABLE IF NOT EXISTS \`workspaces\` (
4766
+ \`id\` text PRIMARY KEY NOT NULL,
4767
+ \`project_id\` text NOT NULL,
4768
+ \`kind\` text NOT NULL,
4769
+ \`name\` text NOT NULL,
4770
+ \`path\` text NOT NULL,
4771
+ \`branch_name\` text,
4772
+ \`parent_branch\` text,
4773
+ \`parent_branch_guessed\` integer DEFAULT 0 NOT NULL,
4774
+ \`is_git_repository\` integer DEFAULT 1 NOT NULL,
4775
+ \`issue_id\` text,
4776
+ \`layout_config\` text,
4777
+ \`is_favorite\` integer DEFAULT 0,
4778
+ \`is_archived\` integer DEFAULT 0,
4779
+ \`title\` text,
4780
+ \`created_at\` integer NOT NULL,
4781
+ \`last_accessed_at\` integer NOT NULL,
4782
+ CHECK (\`kind\` IN ('main','issue','scratch')),
4783
+ FOREIGN KEY (\`project_id\`) REFERENCES \`projects\`(\`id\`) ON UPDATE no action ON DELETE cascade
4784
+ )
4785
+ `);
4786
+ db.exec("CREATE INDEX IF NOT EXISTS `idx_workspace_project` ON `workspaces` (`project_id`)");
4787
+ db.exec("CREATE INDEX IF NOT EXISTS `idx_workspace_kind` ON `workspaces` (`kind`)");
4788
+ db.exec("CREATE INDEX IF NOT EXISTS `idx_workspace_last_accessed` ON `workspaces` (`last_accessed_at`)");
4789
+ db.exec(`
4790
+ CREATE TABLE IF NOT EXISTS \`project_targets\` (
4791
+ \`project_id\` text NOT NULL,
4792
+ \`path\` text NOT NULL,
4793
+ \`is_primary\` integer DEFAULT 0 NOT NULL,
4794
+ \`created_at\` integer NOT NULL,
4795
+ \`last_used_at\` integer NOT NULL,
4796
+ PRIMARY KEY(\`project_id\`, \`path\`),
4797
+ FOREIGN KEY (\`project_id\`) REFERENCES \`projects\`(\`id\`) ON UPDATE no action ON DELETE cascade
4798
+ )
4799
+ `);
4800
+ db.exec("CREATE UNIQUE INDEX IF NOT EXISTS `idx_project_targets_one_primary` ON `project_targets` (`project_id`) WHERE `is_primary` = 1");
4801
+ db.exec(`
4802
+ CREATE TABLE IF NOT EXISTS \`pinned_docs\` (
4803
+ \`id\` text PRIMARY KEY NOT NULL,
4804
+ \`scope\` text NOT NULL,
4805
+ \`scope_id\` text NOT NULL,
4806
+ \`doc_path\` text NOT NULL,
4807
+ \`created_at\` integer NOT NULL,
4808
+ CHECK (\`scope\` IN ('workspace','project')),
4809
+ UNIQUE(\`scope\`, \`scope_id\`, \`doc_path\`)
4810
+ )
4811
+ `);
4812
+ db.exec("CREATE INDEX IF NOT EXISTS `idx_pinned_docs_scope` ON `pinned_docs` (`scope`, `scope_id`)");
4813
+ runSchemaTopUp(db, "ALTER TABLE `conversations` ADD COLUMN `workspace_id` text");
4814
+ runSchemaTopUp(db, "ALTER TABLE `agents` ADD COLUMN `workspace_id` text");
4744
4815
  }
4745
4816
  /**
4746
4817
  * Idempotent schema top-up for release set tables (PAN-399). Existing overdeck.db
@@ -5049,6 +5120,34 @@ var init_infra = __esmMin((() => {
5049
5120
  {
5050
5121
  table: "uat_generation_resolutions",
5051
5122
  column: "note"
5123
+ },
5124
+ {
5125
+ table: "event_idempotency",
5126
+ column: "key"
5127
+ },
5128
+ {
5129
+ table: "projects",
5130
+ column: "id"
5131
+ },
5132
+ {
5133
+ table: "workspaces",
5134
+ column: "id"
5135
+ },
5136
+ {
5137
+ table: "project_targets",
5138
+ column: "project_id"
5139
+ },
5140
+ {
5141
+ table: "pinned_docs",
5142
+ column: "id"
5143
+ },
5144
+ {
5145
+ table: "conversations",
5146
+ column: "workspace_id"
5147
+ },
5148
+ {
5149
+ table: "agents",
5150
+ column: "workspace_id"
5052
5151
  }
5053
5152
  ],
5054
5153
  indexes: [
@@ -5060,7 +5159,13 @@ var init_infra = __esmMin((() => {
5060
5159
  "release_set_components_issue_order_idx",
5061
5160
  "uat_generation_repos_uat_order_idx",
5062
5161
  "uat_generation_member_repos_uat_idx",
5063
- "uat_generations_uncleaned_terminal_idx"
5162
+ "uat_generations_uncleaned_terminal_idx",
5163
+ "projects_primary_path_idx",
5164
+ "idx_workspace_project",
5165
+ "idx_workspace_kind",
5166
+ "idx_workspace_last_accessed",
5167
+ "idx_project_targets_one_primary",
5168
+ "idx_pinned_docs_scope"
5064
5169
  ]
5065
5170
  };
5066
5171
  overdeckEvents = sqliteTable("events", {
@@ -5179,4 +5284,4 @@ var init_infra = __esmMin((() => {
5179
5284
  //#endregion
5180
5285
  export { init_paths as A, inArray as C, sql as D, like as E, OVERDECK_MIGRATION_PATH as O, gte as S, isNull as T, integer as _, EventBus as a, and as b, Records as c, getOverdeckDatabaseSync as d, init_infra as f, real as g, text as h, DbLive as i, getOverdeckDatabasePath as k, Tmux as l, sqliteTable as m, CostArchiveLive as n, EventBusLive as o, init_sqlite_core as p, Db as r, Forge as s, CostArchive as t, TmuxLive as u, init_drizzle_orm as v, isNotNull as w, eq as x, desc as y };
5181
5286
 
5182
- //# sourceMappingURL=infra-BDQDRopn.js.map
5287
+ //# sourceMappingURL=infra-CTrmVqc_.js.map
@@ -1,3 +1,3 @@
1
- import { n as init_injection, r as injectPromptTimeMemory } from "./injection-6AGnXxlj.js";
1
+ import { n as init_injection, r as injectPromptTimeMemory } from "./injection-C9sxqbc2.js";
2
2
  init_injection();
3
3
  export { injectPromptTimeMemory };