@overdeck/desktop 0.45.24 → 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 (528) hide show
  1. package/drizzle/overdeck/0000_overdeck_init.sql +36 -1
  2. package/package.json +1 -1
  3. package/server/{acceptance-criteria-DDCnXF58.js → acceptance-criteria-10Ur5Dne.js} +2 -2
  4. package/server/activity-logger-CMthG6Vd.js +3 -0
  5. package/server/{activity-logger-DDlOIAML.js → activity-logger-CyteR4JO.js} +24 -13
  6. package/server/{advancing-selfheal-BVwW4qRn.js → advancing-selfheal-BNwqxseD.js} +6 -6
  7. package/server/{agent-gc-CHcnvonI.js → agent-gc-C3h9Or3a.js} +5 -5
  8. package/server/agent-state-CYXJVG72.js +3 -0
  9. package/server/agent-state-service-C63p_ftq.js +2 -0
  10. package/server/{agent-state-service-BsgWxZuB.js → agent-state-service-Ds6OeFvo.js} +15 -9
  11. package/server/{agents-EbI0zCJl.js → agents-J5mEnekq.js} +23 -16
  12. package/server/agents-ePFVoZbu.js +3 -0
  13. package/server/archive-planning-B2XplFzT.js +2 -0
  14. package/server/{archive-planning-Du25Jtst.js → archive-planning-BwhxeP7C.js} +22 -26
  15. package/server/{artifact-index-jobs-CbEDfCDu.js → artifact-index-jobs-D1q_vR3V.js} +2 -2
  16. package/server/{assemble-J2ZZ2C15.js → assemble-Bgwqv-Ro.js} +2 -2
  17. package/server/auto-spawn-consent-CQ9Bi9q6.js +1141 -0
  18. package/server/{backlog-auto-trigger-2R2jog7n.js → backlog-auto-trigger-n1lzPgN4.js} +3 -3
  19. package/server/{behavior-B3exJ42O.js → behavior-td6-xhQk.js} +2 -2
  20. package/server/boot-reconciled-stop-events-C7gGe3oB.js +44 -0
  21. package/server/bridge-pool-patrol-CYH2OLb5.js +136 -0
  22. package/server/{briefing-freshness-D1wzUIWv.js → briefing-freshness-DRqZ8lAz.js} +2 -2
  23. package/server/{build-info-Ie_D0_BT.js → build-info-7yiEpl6u.js} +5 -3
  24. package/server/{build-info-CZk_TITh.js → build-info-CpG__c63.js} +1 -1
  25. package/server/{checkpoint-manager-DwbQoqrC.js → checkpoint-manager-CkKmB0wZ.js} +1 -1
  26. package/server/{checkpoint-manager-BI1Wxoku.js → checkpoint-manager-DBcyNR8w.js} +2 -2
  27. package/server/checkpoint-worker.js +1 -1
  28. package/server/{checkpoints-CQB1h765.js → checkpoints-D95apurL.js} +2 -2
  29. package/server/{checkpoints-BJIs5QIA.js → checkpoints-Wm963lm8.js} +1 -1
  30. package/server/{claude-hooks-provision-8Ngo8TpT.js → claude-hooks-provision-4RPxNkE8.js} +1 -1
  31. package/server/{claude-hooks-provision-D8GXF3_s.js → claude-hooks-provision-Bjitl9aI.js} +13 -2
  32. package/server/{claude-permissions-DNWEVV6z.js → claude-permissions-CpbpvUQ2.js} +2 -2
  33. package/server/{claude-settings-overlay-DWy-Bb4Y.js → claude-settings-overlay-BzkHYDwR.js} +1 -1
  34. package/server/{claude-settings-overlay-CEdaqpWI.js → claude-settings-overlay-_H9Yrzab.js} +2 -2
  35. package/server/cli-CjOCSnfj.js +3 -0
  36. package/server/{cli-RoOx5DUf.js → cli-Cte9ZFGn.js} +9 -9
  37. package/server/{cliproxy-C8a1vtTU.js → cliproxy-C5fMJ7rY.js} +2 -2
  38. package/server/{cliproxy-fHfIeiGd.js → cliproxy-DaAbWMjC.js} +1 -1
  39. package/server/{close-issue-DoOifFIK.js → close-issue-BPh1ARCF.js} +5 -5
  40. package/server/{closed-issue-reaper-CktPXo8m.js → closed-issue-reaper-DHRfRMrp.js} +1 -1
  41. package/server/{closed-issue-reaper-Bk3SU4RC.js → closed-issue-reaper-DoOZqGFK.js} +88 -17
  42. package/server/{codex-BZXGhUVB.js → codex-BzGDW_d3.js} +36 -7
  43. package/server/{codex-GcHuUF-k.js → codex-o8FJwzmy.js} +1 -1
  44. package/server/{codex-parser-CFZ1_1Jl.js → codex-parser-Dt-ycU8L.js} +2 -2
  45. package/server/compaction-continuation-CvXpbZ4w.js +200 -0
  46. package/server/{config-CKxYiCmX.js → config-Bi3u1VK7.js} +4 -3
  47. package/server/{config-BZ0sHTju.js → config-BvLe652W.js} +2 -2
  48. package/server/{config-DzV30TOm.js → config-CL3Gyvja.js} +1 -1
  49. package/server/{config-yaml-DySPNmKN.js → config-yaml-CxdwhAIA.js} +276 -14
  50. package/server/conflict-gate-CX80JYYS.js +3 -0
  51. package/server/{conflict-gate-BaCVrH-N.js → conflict-gate-E4nt7ZeS.js} +60 -14
  52. package/server/{context-layers-igZ4FI4_.js → context-layers-C_IIysnm.js} +3 -3
  53. package/server/{context-layers-BrPmE__h.js → context-layers-DAG83UZt.js} +2 -2
  54. package/server/{control-settings-BQp7_4uD.js → control-settings-CiqGxXnc.js} +56 -19
  55. package/server/{conversation-compaction-eQB5CkOe.js → conversation-compaction-BE3CNtHF.js} +1 -1
  56. package/server/{conversation-compaction-CgrR8YYp.js → conversation-compaction-D6-yLtqt.js} +8 -8
  57. package/server/{conversation-service-DPJ71F33.js → conversation-service-DBxoYMDl.js} +10 -8
  58. package/server/conversation-service-D_TS2b1r.js +3 -0
  59. package/server/{conversations-CAsJF9kh.js → conversations-BKDVpB-3.js} +1 -1
  60. package/server/{conversations-6AfUfbwc.js → conversations-D0UEdLtk.js} +4 -4
  61. package/server/{cost-R-m6Yi-W.js → cost-DS1s0DbG.js} +3 -3
  62. package/server/{cost-B2ddP6wq.js → cost-DpgYmYqR.js} +12 -2
  63. package/server/{cost-sync-BsN6ER0n.js → cost-sync-tOCCGnEt.js} +3 -3
  64. package/server/{dag-B1ucnjDU.js → dag-BtkgLeqY.js} +2 -2
  65. package/server/{dangerous-git-ops-BXqeWVSf.js → dangerous-git-ops-CFLykHWt.js} +1 -1
  66. package/server/dashboard-db-worker.js +7 -7
  67. package/server/deacon-BIblC-WX.js +4 -0
  68. package/server/{deacon-nudge-log-6wVqAaqz.js → deacon-nudge-log-B08gF0mh.js} +3 -3
  69. package/server/{deacon-CU_cAYSR.js → deacon-pLRLbPvR.js} +3308 -2707
  70. package/server/deacon-pending-lifecycle-B-Io84AP.js +33 -0
  71. package/server/deacon-swarm-B1XkIvfr.js +2 -0
  72. package/server/{deacon-swarm-BXZZ1Z2-.js → deacon-swarm-v5PMun-m.js} +15 -14
  73. package/server/deacon.js +14 -19
  74. package/server/dead-end-trip-D8A3msX9.js +13 -0
  75. package/server/delivery-BX9HR4wQ.js +3 -0
  76. package/server/{deploy-patrol-AiFoP8dw.js → deploy-patrol-sYgOxLeb.js} +69 -18
  77. package/server/deploy-queue-VfohaPN_.js +169 -0
  78. package/server/deploy-queue-gHJBycaF.js +3 -0
  79. package/server/deploy-window-CFRZ0-kt.js +3 -0
  80. package/server/{deploy-window-C3F-tihF.js → deploy-window-D4DQb8VP.js} +40 -16
  81. package/server/{dev-supervisor-bcOWqdQE.js → dev-supervisor-DiOBDM1c.js} +2 -2
  82. package/server/{devcontainer-renderer-_d6XhyND.js → devcontainer-renderer-BUOIlfgD.js} +3 -3
  83. package/server/dist-B3YPQa5A.js +3 -0
  84. package/server/{dist-Cb_0uvpS.js → dist-C3A8B8wM.js} +1 -1
  85. package/server/{dist-src-BSoS7mkd.js → dist-src-C0adpegX.js} +1 -1
  86. package/server/{docker-DcMTFTUC.js → docker-BJzlkqYB.js} +2 -2
  87. package/server/docker-Y3PElJb0.js +3 -0
  88. package/server/dod-DlNtcH6n.js +91 -0
  89. package/server/durable-review-pipeline-Cibps-Rg.js +20 -0
  90. package/server/durable-review-pipeline-DP6bIcOY.js +3 -0
  91. package/server/{ensure-devcontainer-DNi-ono3.js → ensure-devcontainer-BAofzBPv.js} +4 -4
  92. package/server/{ensure-devcontainer-BZgOhRo7.js → ensure-devcontainer-DMAbWqtQ.js} +1 -1
  93. package/server/{esm-shims-OSHAYaS1.js → esm-shims-BeObUkaw.js} +1 -1
  94. package/server/{event-store-EV2cMiXj.js → event-store-5UKzh9Jf.js} +1 -1
  95. package/server/{event-store-CQL6NeqB.js → event-store-CrHcVC5_.js} +23 -4
  96. package/server/{events-DTfAe4My.js → events-BNrvchBg.js} +3 -3
  97. package/server/{events-BTdrdEq8.js → events-CF8QDbuV.js} +1 -1
  98. package/server/{factory-CFibJuaw.js → factory-Cmm9Hsho.js} +5 -5
  99. package/server/{feature-registry-population-DKZFMbFt.js → feature-registry-population-B6HpNWRy.js} +4 -4
  100. package/server/{feature-registry-storage-BdPuLcBX.js → feature-registry-storage-DJEFx1Pf.js} +2 -2
  101. package/server/{features-ez2271oH.js → features-D5km80UI.js} +2 -2
  102. package/server/{feedback-target-CoFDHiM8.js → feedback-target-BJ5ZADsu.js} +1 -1
  103. package/server/{feedback-target-7mqqwrX6.js → feedback-target-DSxEL6lP.js} +8 -8
  104. package/server/{feedback-writer-CY5L1lB7.js → feedback-writer-C27Hak8a.js} +5 -5
  105. package/server/{feedback-writer-D3a22RCd.js → feedback-writer-CoB9Z6aU.js} +1 -1
  106. package/server/{flywheel-DHrgCphM.js → flywheel-BHx8XuMr.js} +47 -20
  107. package/server/{flywheel-SVF02Jpq.js → flywheel-DZZdtiOL.js} +1 -1
  108. package/server/{flywheel-DzGtWnJ1.js → flywheel-f662Q-y2.js} +16 -15
  109. package/server/flywheel-merge-order-D_xLMbJU.js +462 -0
  110. package/server/flywheel-merge-order-Dil0LmdN.js +2 -0
  111. package/server/forge-B5o319qI.js +3 -0
  112. package/server/forge-BaKGCya6.js +383 -0
  113. package/server/{from-kNxT0bZC.js → from-B3tZbB55.js} +1 -1
  114. package/server/fs-lock-Bre3sGoz.js +130 -0
  115. package/server/{fts-db-CE46vDkZ.js → fts-db-IVc4_M3f.js} +2 -2
  116. package/server/{fts-operations-CqY6zl-i.js → fts-operations-B9jG8wa3.js} +2 -2
  117. package/server/{git-utils-CRw2zLPC.js → git-utils-CsvYfJU3.js} +30 -5
  118. package/server/git-utils-Xg4PFN45.js +3 -0
  119. package/server/{github-app-ClZ2lk8D.js → github-app-Bmg4R9mv.js} +1 -1
  120. package/server/{github-app-C3QrAUd0.js → github-app-CmNk0zLU.js} +3 -3
  121. package/server/{github-client-DfQYVUaw.js → github-client-B6KM9_wA.js} +1 -1
  122. package/server/{github-client-BnIsSrEN.js → github-client-qazkPrg0.js} +3 -3
  123. package/server/github-pr-lookup-DAcVeRLK.js +58 -0
  124. package/server/{harness-binary-DPUi-Pv8.js → harness-binary-BSpiXaLw.js} +2 -2
  125. package/server/{harness-resolve-3lNZkyT4.js → harness-resolve-BAJu5MX8.js} +4 -4
  126. package/server/{health-events-BDOHby5Q.js → health-events-2Z6Wa9SM.js} +1 -1
  127. package/server/{health-events-BBcTYQKU.js → health-events-BwX32k8d.js} +2 -2
  128. package/server/{hooks-DPVX1rwQ.js → hooks-D1g1jKLI.js} +1 -1
  129. package/server/{hooks-CKZgXlJb.js → hooks-DbtbimEf.js} +2 -2
  130. package/server/{hume-Cz8igP9E.js → hume-DXNiu6nQ.js} +2 -2
  131. package/server/hume-VUCNbTgn.js +3 -0
  132. package/server/{idle-stack-reaper-CuLF0j2H.js → idle-stack-reaper-CRA1e0jr.js} +1 -1
  133. package/server/{idle-stack-reaper-DDIRwxUY.js → idle-stack-reaper-Cy-dQzW4.js} +99 -6
  134. package/server/in-flight-guard-D-sSkADM.js +45 -0
  135. package/server/{infra-BEqFxlJc.js → infra-BDQDRopn.js} +81 -5
  136. package/server/{injection-C8aiVJrF.js → injection-6AGnXxlj.js} +7 -7
  137. package/server/{injection-CPUIqNhI.js → injection-Bl8d_jHZ.js} +1 -1
  138. package/server/inspect-agent-CUwVmr2h.js +2 -0
  139. package/server/{inspect-agent-BLuJ1AkT.js → inspect-agent-nXdIptyh.js} +26 -25
  140. package/server/{internal-token-s0-oKybJ.js → internal-token-DzK385vD.js} +2 -2
  141. package/server/{internal-token-BrcU6qfe.js → internal-token-Ias7N8Kg.js} +1 -1
  142. package/server/{io-C9kF1wtJ.js → io-B00PBNku.js} +44 -27
  143. package/server/{issue-closed-CDJk4pIp.js → issue-closed-BehTG1be.js} +8 -8
  144. package/server/{issue-lifecycle-ojZAzDBP.js → issue-lifecycle-Birk-ifu.js} +42 -30
  145. package/server/{issue-lifecycle-B8sZHVHh.js → issue-lifecycle-BqSuQvbn.js} +1 -1
  146. package/server/{issue-service-singleton-BvJ09SaR.js → issue-service-singleton-B2wXiIlw.js} +1 -1
  147. package/server/{issue-service-singleton-Yx5DdmVJ.js → issue-service-singleton-C6ZduvuY.js} +10 -10
  148. package/server/{issues-BMmP_77e.js → issues-DQ5-LatB.js} +2 -2
  149. package/server/{jsonl-parser-BXSlHwEh.js → jsonl-parser-BDpnGFCl.js} +5 -4
  150. package/server/{label-cleanup-B0UJwnv5.js → label-cleanup-Dwnky8FG.js} +3 -3
  151. package/server/{lifecycle-xmBfK2GJ.js → lifecycle-B3s4sM1G.js} +6 -7
  152. package/server/{lifecycle-yPd___5E.js → lifecycle-B4Xdb4cY.js} +2 -2
  153. package/server/{lifecycle-io-DPo7x11I.js → lifecycle-io-CzTHEooc.js} +1 -1
  154. package/server/{lifecycle-io-BREGpnLk.js → lifecycle-io-DCo6s6ks.js} +5 -5
  155. package/server/{linear-client-BsuUvkdA.js → linear-client-9uq7fhiV.js} +3 -3
  156. package/server/{linear-client-CTskEeT_.js → linear-client-CnbtHiic.js} +1 -1
  157. package/server/linear-mcp-auth-BxUOzswy.js +280 -0
  158. package/server/linear-mcp-auth-D46fBCLf.js +2 -0
  159. package/server/memory-fts-worker.js +1 -1
  160. package/server/{merge-CefQNAnq.js → merge-DiW9RdSB.js} +13 -11
  161. package/server/{merge-agent-4WOWlSYA.js → merge-agent-BLUgRsz3.js} +234 -84
  162. package/server/{merge-agent-CKkgIBPB.js → merge-agent-DQTXZk8z.js} +1 -1
  163. package/server/{merge-batch-ClFn2T-y.js → merge-batch-Cp_j9BGk.js} +1 -1
  164. package/server/merge-completeness-B46KqhtY.js +277 -0
  165. package/server/merge-completeness-BLbB5-6n.js +3 -0
  166. package/server/merge-ops-1abz6O_P.js +2 -0
  167. package/server/merge-rebase-CJJVAJuz.js +2 -0
  168. package/server/{merge-rebase-BfaTyXsw.js → merge-rebase-DIkBjgwq.js} +3 -3
  169. package/server/{merge-set-DJ8-UErs.js → merge-set-CBgHfwM0.js} +11 -5
  170. package/server/merge-set-DeUxFsC3.js +3 -0
  171. package/server/{merge-B1DiziGU.js → merge-sr8Nrnmi.js} +1 -1
  172. package/server/merge-sync-CpGmk6Ch.js +3 -0
  173. package/server/{merge-sync-VPV28g0g.js → merge-sync-kr4vqyjM.js} +409 -153
  174. package/server/{merge-train-CHopycP0.js → merge-train-Dmrcus12.js} +18 -8
  175. package/server/{merge-train-deps-D1cOZzy2.js → merge-train-deps-D_uGX91G.js} +21 -15
  176. package/server/merge-verification-NvaAd8CZ.js +220 -0
  177. package/server/merged-docker-cleanup-worker-DH_hrGPI.js +3 -0
  178. package/server/merged-docker-cleanup-worker-Y1R06TEl.js +107 -0
  179. package/server/{multipart-parser-duPAfSBw.js → multipart-parser-R-oC8dQg.js} +2 -2
  180. package/server/{no-resume-mode-Nw29vaFb.js → no-resume-mode-BgD0JUmM.js} +1 -1
  181. package/server/node_modules/.package-lock.json +30 -30
  182. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +3 -3
  183. package/server/node_modules/@google-cloud/common/package.json +2 -2
  184. package/server/node_modules/@types/node/README.md +1 -1
  185. package/server/node_modules/@types/node/crypto.d.ts +1 -1
  186. package/server/node_modules/@types/node/package.json +2 -2
  187. package/server/node_modules/gaxios/build/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  188. package/server/node_modules/gaxios/build/esm/tsconfig.tsbuildinfo +1 -1
  189. package/server/node_modules/gaxios/package.json +1 -1
  190. package/server/node_modules/google-auth-library/build/src/auth/googleauth.js +24 -19
  191. package/server/node_modules/google-auth-library/package.json +1 -1
  192. package/server/node_modules/google-gax/build/protos/google/api/auth.proto +2 -1
  193. package/server/node_modules/google-gax/build/protos/google/api/backend.proto +12 -1
  194. package/server/node_modules/google-gax/build/protos/google/api/billing.proto +1 -1
  195. package/server/node_modules/google-gax/build/protos/google/api/client.proto +165 -53
  196. package/server/node_modules/google-gax/build/protos/google/api/cloudquotas/v1/resources.proto +1 -1
  197. package/server/node_modules/google-gax/build/protos/google/api/cloudquotas/v1beta/quota_adjuster_settings.proto +7 -3
  198. package/server/node_modules/google-gax/build/protos/google/api/cloudquotas/v1beta/resources.proto +1 -1
  199. package/server/node_modules/google-gax/build/protos/google/api/config_change.proto +1 -1
  200. package/server/node_modules/google-gax/build/protos/google/api/context.proto +1 -1
  201. package/server/node_modules/google-gax/build/protos/google/api/control.proto +3 -3
  202. package/server/node_modules/google-gax/build/protos/google/api/distribution.proto +1 -1
  203. package/server/node_modules/google-gax/build/protos/google/api/documentation.proto +1 -1
  204. package/server/node_modules/google-gax/build/protos/google/api/endpoint.proto +1 -1
  205. package/server/node_modules/google-gax/build/protos/google/api/error_reason.proto +186 -1
  206. package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/checked.proto +31 -3
  207. package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/eval.proto +8 -9
  208. package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/explain.proto +1 -2
  209. package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/syntax.proto +20 -22
  210. package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/value.proto +2 -3
  211. package/server/node_modules/google-gax/build/protos/google/api/field_behavior.proto +1 -1
  212. package/server/node_modules/google-gax/build/protos/google/api/field_info.proto +1 -1
  213. package/server/node_modules/google-gax/build/protos/google/api/http.proto +1 -1
  214. package/server/node_modules/google-gax/build/protos/google/api/httpbody.proto +1 -1
  215. package/server/node_modules/google-gax/build/protos/google/api/label.proto +1 -1
  216. package/server/node_modules/google-gax/build/protos/google/api/launch_stage.proto +1 -1
  217. package/server/node_modules/google-gax/build/protos/google/api/log.proto +1 -1
  218. package/server/node_modules/google-gax/build/protos/google/api/logging.proto +1 -1
  219. package/server/node_modules/google-gax/build/protos/google/api/metric.proto +1 -1
  220. package/server/node_modules/google-gax/build/protos/google/api/monitored_resource.proto +1 -1
  221. package/server/node_modules/google-gax/build/protos/google/api/monitoring.proto +1 -1
  222. package/server/node_modules/google-gax/build/protos/google/api/policy.proto +1 -1
  223. package/server/node_modules/google-gax/build/protos/google/api/quota.proto +1 -1
  224. package/server/node_modules/google-gax/build/protos/google/api/resource.proto +1 -1
  225. package/server/node_modules/google-gax/build/protos/google/api/routing.proto +8 -4
  226. package/server/node_modules/google-gax/build/protos/google/api/service.proto +2 -3
  227. package/server/node_modules/google-gax/build/protos/google/api/source_info.proto +1 -1
  228. package/server/node_modules/google-gax/build/protos/google/api/system_parameter.proto +1 -1
  229. package/server/node_modules/google-gax/build/protos/google/api/usage.proto +7 -27
  230. package/server/node_modules/google-gax/build/protos/google/api/visibility.proto +1 -1
  231. package/server/node_modules/google-gax/build/protos/google/longrunning/operations.proto +20 -1
  232. package/server/node_modules/google-gax/build/protos/google/protobuf/any.proto +52 -108
  233. package/server/node_modules/google-gax/build/protos/google/protobuf/compiler/ruby/ruby_generated_code.proto +2 -0
  234. package/server/node_modules/google-gax/build/protos/google/protobuf/cpp_features.proto +21 -1
  235. package/server/node_modules/google-gax/build/protos/google/protobuf/cpp_file_options.proto +24 -0
  236. package/server/node_modules/google-gax/build/protos/google/protobuf/cpp_options.proto +15 -0
  237. package/server/node_modules/google-gax/build/protos/google/protobuf/descriptor.proto +118 -30
  238. package/server/node_modules/google-gax/build/protos/google/protobuf/field_mask.proto +16 -18
  239. package/server/node_modules/google-gax/build/protos/google/protobuf/internal_options.proto +8 -1
  240. package/server/node_modules/google-gax/build/protos/google/protobuf/json/json_enumval_custom_string.proto +26 -0
  241. package/server/node_modules/google-gax/build/protos/google/protobuf/json_enumvalue_options.proto +29 -0
  242. package/server/node_modules/google-gax/build/protos/google/protobuf/json_options.proto +14 -0
  243. package/server/node_modules/google-gax/build/protos/google/protobuf/struct.proto +38 -22
  244. package/server/node_modules/google-gax/build/protos/google/protobuf/test_protos/forced_micro_string.proto +3 -0
  245. package/server/node_modules/google-gax/build/protos/google/protobuf/test_protos/repeated_field_proxy_import_message.proto +14 -0
  246. package/server/node_modules/google-gax/build/protos/google/protobuf/timestamp.proto +9 -8
  247. package/server/node_modules/google-gax/build/protos/google/protobuf/util/json_format_proto3.proto +18 -0
  248. package/server/node_modules/google-gax/build/protos/google/rpc/code.proto +1 -1
  249. package/server/node_modules/google-gax/build/protos/google/rpc/context/attribute_context.proto +7 -2
  250. package/server/node_modules/google-gax/build/protos/google/rpc/context/audit_context.proto +1 -1
  251. package/server/node_modules/google-gax/build/protos/google/rpc/error_details.proto +5 -5
  252. package/server/node_modules/google-gax/build/protos/google/rpc/http.proto +1 -1
  253. package/server/node_modules/google-gax/build/protos/google/rpc/status.proto +1 -2
  254. package/server/node_modules/google-gax/build/protos/google/type/calendar_period.proto +1 -1
  255. package/server/node_modules/google-gax/build/protos/google/type/color.proto +9 -10
  256. package/server/node_modules/google-gax/build/protos/google/type/date.proto +11 -9
  257. package/server/node_modules/google-gax/build/protos/google/type/datetime.proto +17 -17
  258. package/server/node_modules/google-gax/build/protos/google/type/dayofweek.proto +1 -1
  259. package/server/node_modules/google-gax/build/protos/google/type/decimal.proto +11 -13
  260. package/server/node_modules/google-gax/build/protos/google/type/expr.proto +1 -1
  261. package/server/node_modules/google-gax/build/protos/google/type/fraction.proto +1 -1
  262. package/server/node_modules/google-gax/build/protos/google/type/interval.proto +1 -2
  263. package/server/node_modules/google-gax/build/protos/google/type/latlng.proto +4 -5
  264. package/server/node_modules/google-gax/build/protos/google/type/localized_text.proto +3 -3
  265. package/server/node_modules/google-gax/build/protos/google/type/money.proto +1 -2
  266. package/server/node_modules/google-gax/build/protos/google/type/month.proto +1 -1
  267. package/server/node_modules/google-gax/build/protos/google/type/phone_number.proto +20 -15
  268. package/server/node_modules/google-gax/build/protos/google/type/postal_address.proto +39 -39
  269. package/server/node_modules/google-gax/build/protos/google/type/quaternion.proto +4 -4
  270. package/server/node_modules/google-gax/build/protos/google/type/timeofday.proto +11 -8
  271. package/server/node_modules/google-gax/package.json +5 -5
  272. package/server/node_modules/retry-request/package.json +4 -4
  273. package/server/node_modules/teeny-request/package.json +5 -5
  274. package/server/node_modules/undici/lib/cache/memory-cache-store.js +54 -9
  275. package/server/node_modules/undici/lib/cache/sqlite-cache-store.js +7 -1
  276. package/server/node_modules/undici/lib/core/request.js +12 -1
  277. package/server/node_modules/undici/lib/dispatcher/client-h1.js +11 -2
  278. package/server/node_modules/undici/lib/global.js +36 -16
  279. package/server/node_modules/undici/lib/handler/cache-handler.js +236 -116
  280. package/server/node_modules/undici/lib/handler/cache-revalidation-handler.js +3 -3
  281. package/server/node_modules/undici/lib/handler/retry-handler.js +24 -0
  282. package/server/node_modules/undici/lib/interceptor/cache.js +152 -62
  283. package/server/node_modules/undici/lib/interceptor/decompress.js +5 -2
  284. package/server/node_modules/undici/lib/util/cache.js +328 -66
  285. package/server/node_modules/undici/lib/util/date.js +23 -6
  286. package/server/node_modules/undici/lib/web/cookies/util.js +78 -8
  287. package/server/node_modules/undici/package.json +1 -1
  288. package/server/{orphan-proposed-reconciler-BvKkWMJQ.js → orphan-proposed-reconciler-B6vJHxtX.js} +242 -34
  289. package/server/{orphan-proposed-reconciler-CTSGcK8p.js → orphan-proposed-reconciler-DcgTPPFY.js} +1 -1
  290. package/server/package-lock.json +31 -31
  291. package/server/package.json +1 -1
  292. package/server/{pan-dir-B0c3w0Ya.js → pan-dir-DMzF5wne.js} +25 -11
  293. package/server/{paths-D-xWGHdh.js → paths-sJBSb7Ul.js} +2 -2
  294. package/server/pending-lifecycle-claim-DilzGfgk.js +110 -0
  295. package/server/persistent-logger-H_VjuOu7.js +57 -0
  296. package/server/{pickup-DUCLWrJY.js → pickup-DWhqzliO.js} +4 -3
  297. package/server/pipeline-membership-C88VBnhJ.js +3 -0
  298. package/server/pipeline-membership-D9SBvItj.js +57 -0
  299. package/server/pipeline-membership-gather-4eR-7Tqy.js +3 -0
  300. package/server/pipeline-membership-gather-CeVGnNJ2.js +593 -0
  301. package/server/{pipeline-notifier-BXkJzDC4.js → pipeline-notifier-D0ALV6Nw.js} +2 -2
  302. package/server/{pipeline-notifier-BJr8gQX6.js → pipeline-notifier-DT6xLFao.js} +1 -1
  303. package/server/post-merge-lifecycle-worker-8HIeS_J6.js +50 -0
  304. package/server/{project-pipelines-C0MWUeCU.js → project-pipelines-9SKt2bEc.js} +2 -2
  305. package/server/{project-repos-B6GycDh9.js → project-repos-B5pIphKg.js} +7 -3
  306. package/server/project-repos-DPjOdfPa.js +3 -0
  307. package/server/projects-_n3Zui6K.js +3 -0
  308. package/server/{prompts-DxzFXuLl.js → prompts-CgzMBvQF.js} +2 -2
  309. package/server/{providers-u4Ga0jOr.js → providers-BI1mOBQ4.js} +1 -1
  310. package/server/{providers-qQAwGQDW.js → providers-BJQSnAAp.js} +7 -7
  311. package/server/public/assets/{chunk-BO2N2NFS-BamJdinX.js → chunk-BO2N2NFS-D_pGACYN.js} +4 -4
  312. package/server/public/assets/{diagram-OG6HWLK6-DfOB8-w4.js → diagram-OG6HWLK6-BO6fe3hH.js} +1 -1
  313. package/server/public/assets/{dist-ByIuzMQW.js → dist-5zingMiA.js} +3 -3
  314. package/server/public/assets/{dist-D7zYSEA6.js → dist-CVxhbI2E.js} +1 -1
  315. package/server/public/assets/{ganttDiagram-6RSMTGT7-EdmRyXL3.js → ganttDiagram-6RSMTGT7-Bgj4A7kp.js} +1 -1
  316. package/server/public/assets/{highlighted-body-OFNGDK62-MerOfTX8.js → highlighted-body-OFNGDK62-DNPK7_cm.js} +1 -1
  317. package/server/public/assets/index-DEpY-D1O.js +807 -0
  318. package/server/public/assets/index-Ddkcz3WT.css +1 -0
  319. package/server/public/assets/{linear-BBbArIcK.js → linear-BB0jQT16.js} +1 -1
  320. package/server/public/assets/mermaid-GHXKKRXX-BzPfaQJ1.js +1 -0
  321. package/server/public/assets/{pieDiagram-4H26LBE5-BKIddiJN.js → pieDiagram-4H26LBE5-DeGIzzpZ.js} +1 -1
  322. package/server/public/assets/{prod-B8vYiu52.js → prod-XBLvikex.js} +4 -4
  323. package/server/public/assets/{quadrantDiagram-W4KKPZXB-D6RtoULk.js → quadrantDiagram-W4KKPZXB-BV9SLeWz.js} +1 -1
  324. package/server/public/assets/{sankeyDiagram-5OEKKPKP-CLrCedZX.js → sankeyDiagram-5OEKKPKP-Dwja0gj8.js} +1 -1
  325. package/server/public/assets/{xychartDiagram-2RQKCTM6-hznR8DYl.js → xychartDiagram-2RQKCTM6-DCB4qvfw.js} +1 -1
  326. package/server/public/index.html +2 -2
  327. package/server/{pull-requests-_lHueOHW.js → pull-requests-7BgLDsIo.js} +19 -10
  328. package/server/{pull-requests-7N8WKseP.js → pull-requests-Dq0y6IxE.js} +1 -1
  329. package/server/{queries-CjNIf-Ub.js → queries-C-MUZaIy.js} +824 -192
  330. package/server/{rally-CyWT_lNO.js → rally-CPysR4T_.js} +3 -3
  331. package/server/rally-D_VW4bJv.js +3 -0
  332. package/server/{rally-api-C8e_1JRi.js → rally-api-8Ptlp2os.js} +2 -2
  333. package/server/{rally-api-ClOSd-Tt.js → rally-api-CgosKdKL.js} +1 -1
  334. package/server/{rally-client-sgtVqzNU.js → rally-client-CCX0hADj.js} +1 -1
  335. package/server/{rally-client-lc-nokqr.js → rally-client-iYMHWQD7.js} +5 -5
  336. package/server/{reap-terminal-sessions-7KeHv1R1.js → reap-terminal-sessions-4Xg9NGA8.js} +2 -2
  337. package/server/{reap-terminal-sessions-BtHPo6Xc.js → reap-terminal-sessions-Qf-9LVQc.js} +2 -2
  338. package/server/{rebuild-stack-lwtsW0GO.js → rebuild-stack-CMdgaylx.js} +16 -7
  339. package/server/{rebuild-stack-CFvcBHsS.js → rebuild-stack-DqcOVmJO.js} +2 -2
  340. package/server/{reconstruct-cache-C3Ui7ojV.js → reconstruct-cache-CMZJ_Vjq.js} +9 -7
  341. package/server/record-BTwWhtBb.js +3 -0
  342. package/server/{record-update-dE1Aw83j.js → record-update-DaOKS7Wb.js} +124 -157
  343. package/server/record-update-DhI7eySG.js +3 -0
  344. package/server/{recovery-trip-BvRWfUXM.js → recovery-trip-DDH-02ng.js} +2 -2
  345. package/server/{release-engine-Cx48W7z8.js → release-engine-B2X9AfFC.js} +5 -5
  346. package/server/{release-set-CQfuN9-v.js → release-set-G4XKyQ8K.js} +3 -3
  347. package/server/{remote-C_2hasl7.js → remote-BXarMvqf.js} +3 -3
  348. package/server/{remote-ChgimyYa.js → remote-CUhyqjXk.js} +3 -3
  349. package/server/{remote-agents-By1ige5O.js → remote-agents-Bba-MgSA.js} +311 -48
  350. package/server/{remote-agents-CA3Ihlxj.js → remote-agents-CLZB3Coc.js} +2 -2
  351. package/server/{remote-completion-fVe9e_3u.js → remote-completion-CwAp79EC.js} +13 -13
  352. package/server/resume-mOREjlYu.js +3 -0
  353. package/server/{review-agent-CIGOQYBD.js → review-agent--pOptAEV.js} +65 -50
  354. package/server/{review-agent-DNboMyW4.js → review-agent-BTCNkq2h.js} +1 -1
  355. package/server/{review-artifacts-nRDPuMxd.js → review-artifacts-BNmw8dWE.js} +7 -6
  356. package/server/{review-context-2uj-YQ8J.js → review-context-DFxYOOJW.js} +9 -9
  357. package/server/{in-flight-guard-CAAkqPLu.js → review-convoy-liveness-BgU_1jJf.js} +3 -44
  358. package/server/review-status-CGvlA4o_.js +7737 -0
  359. package/server/review-status-Dma9SFaN.js +3 -0
  360. package/server/review-status-emit-DURrmGYX.js +50 -0
  361. package/server/{review-status-enrichment-Dci-ZwEt.js → review-status-enrichment-8NiNXi5W.js} +4 -4
  362. package/server/review-status-source-BLx_1siH.js +3 -0
  363. package/server/{review-status-source-CxuEjLGg.js → review-status-source-DIk1JSow.js} +24 -3
  364. package/server/{review-status-sync-BTOpxtTC.js → review-status-sync-0GxOqeqF.js} +11 -6
  365. package/server/{review-status-sync-DSDK3OMy.js → review-status-sync-muT-EBp2.js} +1 -1
  366. package/server/{review-verdict-feedback-CTd4QMBu.js → review-verdict-feedback-HwF6ODFy.js} +1 -1
  367. package/server/{review-verdict-feedback-CCjVA7Uk.js → review-verdict-feedback-xJNdqBnX.js} +65 -11
  368. package/server/{rollup-FGsKki9R.js → rollup-BQaol5TX.js} +8 -8
  369. package/server/{rollup-BKQC7jp4.js → rollup-BR4t_wck.js} +1 -1
  370. package/server/{scanner-CnqEZeDy.js → scanner-C-D2cFdX.js} +8 -7
  371. package/server/{sequence-io-D909zgeH.js → sequence-io-Bmf1EZM5.js} +4 -4
  372. package/server/{sequencer-agent-CzkcK6P5.js → sequencer-agent-CigMyKh2.js} +7 -6
  373. package/server/server.js +2005 -614
  374. package/server/{service-CLeAoU6G.js → service-CD0DvFvD.js} +114 -68
  375. package/server/{session-fork-CHI1XvL9.js → session-fork-B6cQ5eya.js} +2 -2
  376. package/server/{session-history-BT3IvqhC.js → session-history-3ON_IJjm.js} +7 -55
  377. package/server/settings-CVmWiJ-r.js +2 -0
  378. package/server/{settings-C0zgxOGf.js → settings-PilbFZAM.js} +3 -2
  379. package/server/{settings-BTMvpNFU.js → settings-VN0qOh4U.js} +3 -3
  380. package/server/{shadow-engineering-BJfgm-hX.js → shadow-engineering-DXvx77oE.js} +3 -3
  381. package/server/{shadow-state-7a-524T8.js → shadow-state-BBk_zacw.js} +2 -2
  382. package/server/{shadow-state-DnDyjujH.js → shadow-state-CZBp7pwq.js} +1 -1
  383. package/server/{shadow-utils-Db3oroFG.js → shadow-utils-DdZ05AJS.js} +2 -2
  384. package/server/{ship-log-D9MlVzYU.js → ship-log-7kJfjUX2.js} +1 -1
  385. package/server/{smart-compaction-CV2ukKND.js → smart-compaction-8fA5k5XN.js} +1 -1
  386. package/server/{smart-compaction-KCYScAU1.js → smart-compaction-ByhL9cRS.js} +8 -7
  387. package/server/{spawn-planning-session-DKpdFyOC.js → spawn-planning-session-pcF-YeFE.js} +38 -50
  388. package/server/spawn-planning-session-vLUJoFjy.js +3 -0
  389. package/server/{specialist-completion-Ky9wCDpb.js → specialist-completion-B07XjWD2.js} +1 -1
  390. package/server/{specialist-context-Bn3dCGS2.js → specialist-context-DJ-zFyL3.js} +5 -5
  391. package/server/{specialist-handoff-logger-CMEwYxa2.js → specialist-handoff-logger-aKSxbIgD.js} +2 -2
  392. package/server/{specialist-logs-C5p8G7tx.js → specialist-logs-Dae-n52_.js} +3 -3
  393. package/server/{specialists-CC4r-c2s.js → specialists-6PWdtWcg.js} +1177 -311
  394. package/server/{specialists-DM6bWjsi.js → specialists-Bz-wFT7R.js} +1 -1
  395. package/server/{specialists-jiuuyVkp.js → specialists-DUiExaxb.js} +18 -18
  396. package/server/{specialists-CShuVGWT.js → specialists-KR3pKulN.js} +1 -1
  397. package/server/specs--enInima.js +3 -0
  398. package/server/src-B948bGVR.js +11452 -0
  399. package/server/{src-CXmtj0im.js → src-rac0Mepv.js} +6 -6
  400. package/server/{src-CdmnTM2m.js → src-vHy2-oCv.js} +3 -3
  401. package/server/{stack-health-Bn3o8FBX.js → stack-health-BikqHSjn.js} +1 -1
  402. package/server/{stack-health-DxSdG9cW.js → stack-health-DqLTiEu4.js} +7 -5
  403. package/server/{stale-task-claims-KJKxxiiQ.js → stale-task-claims-Cab_Fo_Z.js} +5 -4
  404. package/server/{staleness-DPm7ClwA.js → staleness-C-a5rBxF.js} +1 -1
  405. package/server/{staleness-CT34nwr9.js → staleness-CGTZyp6V.js} +1 -1
  406. package/server/{state-home-Cn_Qu8IX.js → state-home-722Dkx92.js} +2 -2
  407. package/server/{state-mapping-BL_-3Yt8.js → state-mapping-CybR81Uf.js} +1 -1
  408. package/server/{state-migrate-BGg2ZaOt.js → state-migrate-2u8wIpoL.js} +4 -4
  409. package/server/{stuck-remediation-DYuPRYYw.js → stuck-remediation-CC6q3eqQ.js} +84 -26
  410. package/server/{stuck-remediation-s9_2qfi6.js → stuck-remediation-r1TJu68G.js} +1 -1
  411. package/server/{substrate-bug-weights-service-B-FwCs5V.js → substrate-bug-weights-service-CzIyyWFT.js} +3 -3
  412. package/server/{summary-fork-DpcxN9tf.js → summary-fork-BqgmgPDt.js} +2 -2
  413. package/server/{summary-fork-D1RAk9rJ.js → summary-fork-Df2WFijM.js} +8 -8
  414. package/server/supervisor/{injection-budget-Csw5tqfJ.js → injection-budget-Cg_KIb3o.js} +1 -1
  415. package/server/supervisor/{paths-DehGY2Fj.js → paths-BBOnCYlO.js} +10 -2
  416. package/server/supervisor/pty-supervisor.js +50 -4
  417. package/server/supervisor/{pty-token-x-ea28Us.js → pty-token-BbjwEUUM.js} +3 -3
  418. package/server/supervisor-B4anCCSm.js +2 -0
  419. package/server/{supervisor-wM4ooB5O.js → supervisor-BxqSpjcN.js} +3 -3
  420. package/server/{swarm-readiness-DlP_UjHq.js → swarm-readiness-DfFxa9-n.js} +3 -3
  421. package/server/{system-prerequisites-DUDj1YHf.js → system-prerequisites-ICLSkhhZ.js} +2 -2
  422. package/server/{teardown-workspace-DeTTImn-.js → teardown-workspace-DRdi_CPa.js} +15 -16
  423. package/server/{test-agent-queue-MbxX5vqq.js → test-agent-queue-A_-p-i0I.js} +8 -7
  424. package/server/{test-verdict-gscuksPv.js → test-verdict-BHgTAwIG.js} +1 -1
  425. package/server/{test-verdict-bWYBtqBg.js → test-verdict-C4i9aqEP.js} +1 -1
  426. package/server/{tldr-daemon-BYFkts95.js → tldr-daemon-CvWXBhX1.js} +1 -1
  427. package/server/{tldr-daemon-C-69c3OI.js → tldr-daemon-wvsU6bKv.js} +2 -2
  428. package/server/{tmux-R7N7y-Mh.js → tmux-CfDHob9M.js} +174 -4
  429. package/server/{tmux-B6z7h_vZ.js → tmux-Ctk6RV5l.js} +1 -1
  430. package/server/{token-BK6t8BIT.js → token-DrxwytsZ.js} +2 -2
  431. package/server/{token-util-DxXu-vd1.js → token-util-B48BlCba.js} +1 -1
  432. package/server/token-util-D411CAq9.js +3 -0
  433. package/server/{tracker-config-G6latr8C.js → tracker-config-BcPMElRB.js} +2 -2
  434. package/server/{tracker-utils-DHv5pSDT.js → tracker-utils-CJ6BHjcD.js} +3 -3
  435. package/server/{traefik-connect-Df2uXPsQ.js → traefik-connect-DZ6nMYMj.js} +1 -1
  436. package/server/{tunnel-DGdUkGoZ.js → tunnel-Bp-dRHZz.js} +1 -1
  437. package/server/{tunnel-CDVKJpRv.js → tunnel-DUbUPElU.js} +3 -3
  438. package/server/{typed-errors-BHhE85Ul.js → typed-errors-CKeoDdU3.js} +1 -1
  439. package/server/{typed-errors-2BTMxkZq.js → typed-errors-DyjseiB6.js} +1 -1
  440. package/server/{types-hraoaQIp.js → types-Cm5ASJbq.js} +1 -1
  441. package/server/{types-5M0lupud.js → types-Di8wdakq.js} +1 -1
  442. package/server/uat-promote-verification-CoJuh7XO.js +92 -0
  443. package/server/uat-train-4Q0k06CQ.js +0 -0
  444. package/server/uat-train-Dewoatps.js +2 -0
  445. package/server/{validate-IfDGkaVR.js → validate-B0C8p66t.js} +8 -6
  446. package/server/{validation-Dw1pzDzr.js → validation-B_kIRfNe.js} +4 -4
  447. package/server/{validation-CC9OPqJZ.js → validation-hVOwQk8T.js} +1 -1
  448. package/server/{verification-artifact-B3itKTxu.js → verification-artifact-BxlxTiYK.js} +1 -1
  449. package/server/{verification-artifact-TVFSz_q1.js → verification-artifact-D70AtckY.js} +1 -1
  450. package/server/{verification-runner-BW4HOKAz.js → verification-runner-Bc3cJvpC.js} +1 -1
  451. package/server/{verification-runner-CkgX6EtI.js → verification-runner-KZTz6u72.js} +40 -18
  452. package/server/{vtt-parser-DYPbKcIJ.js → vtt-parser-CE_i3Bcw.js} +1 -1
  453. package/server/{work-agent-prompt-Du8Vh2aJ.js → work-agent-prompt-ByrPAzOy.js} +20 -9
  454. package/server/{workflows-mbQzh6mQ.js → workflows-D0vP1WrK.js} +252 -99
  455. package/server/workflows-DtDX08ed.js +2 -0
  456. package/server/{workspace--8tnhDI0.js → workspace-COWvdibH.js} +1 -1
  457. package/server/{workspace-BPUws1-_.js → workspace-DQkRPLlQ.js} +3 -3
  458. package/server/workspace-anchor-drift-DXYIAHzr.js +224 -0
  459. package/server/workspace-anchor-drift-pwz23TI1.js +3 -0
  460. package/server/{workspace-config-CIVWZOQr.js → workspace-config-BdZM4PvZ.js} +1 -1
  461. package/server/{workspace-manager-CBhNdzE4.js → workspace-manager-BPgTrG66.js} +157 -118
  462. package/server/workspace-manager-C1F3XsnS.js +3 -0
  463. package/server/{workspace-metadata-BzHnwwX4.js → workspace-metadata-CdjzAP8x.js} +1 -1
  464. package/server/{workspace-metadata-_WygnyoX.js → workspace-metadata-DkO_iTLo.js} +2 -2
  465. package/server/{workspaces-Do_9J0LQ.js → workspaces-CRBJikLp.js} +749 -299
  466. package/sync-sources/dev-skills/pan-dashboard-restart/SKILL.md +34 -10
  467. package/sync-sources/hooks/linear-mcp-auth-hook +97 -0
  468. package/sync-sources/rules/ask-user-question-self-contained.md +9 -0
  469. package/sync-sources/skills/pan-close/SKILL.md +5 -3
  470. package/sync-sources/skills/pan-merge/SKILL.md +7 -5
  471. package/sync-sources/skills/pan-peer-review/SKILL.md +195 -0
  472. package/sync-sources/skills/pan-release/SKILL.md +57 -0
  473. package/sync-sources/skills/pan-reload/SKILL.md +3 -3
  474. package/sync-sources/skills/pan-restart/SKILL.md +5 -4
  475. package/sync-sources/skills/pan-review/SKILL.md +7 -1
  476. package/sync-sources/skills/pan-sync-main/SKILL.md +9 -8
  477. package/sync-sources/skills/pipeline-status/SKILL.md +10 -1
  478. package/sync-sources/skills/workspace-add-repo/SKILL.md +16 -1
  479. package/server/activity-logger-OEUBdfZ8.js +0 -3
  480. package/server/agent-state-Bc3tzUC8.js +0 -3
  481. package/server/agent-state-service-D5UGKIJL.js +0 -2
  482. package/server/agents-wi9NWzs2.js +0 -3
  483. package/server/archive-planning-BZDgzoEj.js +0 -3
  484. package/server/cli-B86rejVV.js +0 -3
  485. package/server/conflict-gate-BhAY7TUd.js +0 -3
  486. package/server/conversation-service-BLd3MYsG.js +0 -3
  487. package/server/deacon-kiQrb4ZT.js +0 -4
  488. package/server/deacon-swarm-C-GwfjJy.js +0 -2
  489. package/server/deploy-window-DkZraDyj.js +0 -3
  490. package/server/dist-Bzy0y69j.js +0 -3
  491. package/server/dod-C6n9RV3G.js +0 -66
  492. package/server/flywheel-merge-order-UU0tiUld.js +0 -245
  493. package/server/flywheel-merge-order-UUcsCDb6.js +0 -2
  494. package/server/forge-CNFnyqps.js +0 -270
  495. package/server/forge-DXnS_YFH.js +0 -2
  496. package/server/git-utils-D0_yhCgF.js +0 -3
  497. package/server/github-pr-lookup-D16NGsSO.js +0 -44
  498. package/server/hume-ccTf4wTX.js +0 -3
  499. package/server/inspect-agent-Brtz0URj.js +0 -2
  500. package/server/label-reconciler-B4iOAjlC.js +0 -113
  501. package/server/launcher-generator-BBWG_SiS.js +0 -473
  502. package/server/merge-ops-CR44oU9-.js +0 -2
  503. package/server/merge-set-bUqbm3yc.js +0 -3
  504. package/server/merge-sync-BJYeOODr.js +0 -3
  505. package/server/merge-verification-BkaOqPsw.js +0 -124
  506. package/server/pipeline-membership-mY3GprlK.js +0 -420
  507. package/server/project-repos-DXKQsc_m.js +0 -3
  508. package/server/projects-vjjcmiN8.js +0 -3
  509. package/server/public/assets/index-CWeMerGO.js +0 -804
  510. package/server/public/assets/index-CenuJ3Cw.css +0 -1
  511. package/server/public/assets/mermaid-GHXKKRXX-CpPWAFwE.js +0 -1
  512. package/server/rally-zhhtXuDP.js +0 -3
  513. package/server/record-CN0pj4_5.js +0 -3
  514. package/server/record-update-bLJxAXH4.js +0 -3
  515. package/server/resume-BFv1PGpA.js +0 -3
  516. package/server/review-status-btEYlaxA.js +0 -3
  517. package/server/review-status-kZj_KyCk.js +0 -1470
  518. package/server/settings-66A6uvIA.js +0 -2
  519. package/server/spawn-planning-session-qUC2VWu3.js +0 -2
  520. package/server/specs-C8Wsn2XO.js +0 -3
  521. package/server/src-DtcUOZCq.js +0 -4826
  522. package/server/supervisor-FTJAIsAK.js +0 -2
  523. package/server/token-util-DuPuNriz.js +0 -3
  524. package/server/tracker-utils-B4ylXZQK.js +0 -3
  525. package/server/uat-train-B05BWkp-.js +0 -2
  526. package/server/uat-train-DDSrSoV1.js +0 -2152
  527. package/server/workflows-BQu4RFQ-.js +0 -2
  528. package/server/workspace-manager-CWT55qeI.js +0 -3
@@ -124,6 +124,14 @@ function sessionFilePath(cwd, sessionId) {
124
124
  const encodedCwd = encodeClaudeProjectDir(cwd);
125
125
  return join$1(homedir(), ".claude", "projects", encodedCwd, `${sessionId}.jsonl`);
126
126
  }
127
+ /**
128
+ * Single existence check every Claude resume probe must use. Mirrors the
129
+ * JSONL resolver's `jsonl-missing` detection so stale session IDs are never
130
+ * treated as resumable (PAN-3194).
131
+ */
132
+ function claudeSessionTranscriptExists(cwd, sessionId) {
133
+ return existsSync(sessionFilePath(cwd, sessionId));
134
+ }
127
135
  var OVERDECK_HOME, CONFIG_DIR, SKILLS_DIR, AGENTS_DIR, BIN_DIR, COSTS_DIR, ARCHIVES_DIR, LOGS_DIR, TRAEFIK_DIR, CONFIG_FILE, CLAUDE_DIR, TEMPLATES_DIR, currentDir, packageRoot, SYNC_SOURCES_ROOT, SYNC_SOURCES, CACHE_AGENTS_DIR, CACHE_RULES_DIR, DOCS_DIR, PRDS_DIR, PROJECT_DOCS_SUBDIR, PROJECT_PRDS_SUBDIR, PROJECT_PRDS_ACTIVE_SUBDIR, PROJECT_PRDS_PLANNED_SUBDIR, PROJECT_PRDS_COMPLETED_SUBDIR;
128
136
  var init_paths = __esmMin((() => {
129
137
  OVERDECK_HOME = process.env.OVERDECK_HOME || join$1(homedir(), ".overdeck");
@@ -186,7 +194,19 @@ var init_paths = __esmMin((() => {
186
194
  var init_errors = __esmMin((() => {
187
195
  VcsError = class extends Data.TaggedError("VcsError") {};
188
196
  Data.TaggedError("VcsTimeoutError");
189
- FsError = class extends Data.TaggedError("FsError") {};
197
+ FsError = class extends Data.TaggedError("FsError") {
198
+ /**
199
+ * `Data.TaggedError` only populates `message` when the payload declares one,
200
+ * and this payload does not — so every operator-facing surface that renders
201
+ * `error.message` printed an empty string (PAN-3042: "PRD draft promotion
202
+ * failed for MIN-902: " with nothing after the colon). Derive the message
203
+ * from the fields the payload does carry.
204
+ */
205
+ get message() {
206
+ const detail = this.cause instanceof Error ? this.cause.message : this.cause === void 0 || this.cause === null ? "" : String(this.cause);
207
+ return detail ? `${this.operation} failed for ${this.path}: ${detail}` : `${this.operation} failed for ${this.path}`;
208
+ }
209
+ };
190
210
  Data.TaggedError("FsNotFoundError");
191
211
  GitError = class extends Data.TaggedError("GitError") {};
192
212
  MergeConflictError = class extends Data.TaggedError("MergeConflictError") {};
@@ -6982,6 +7002,7 @@ var projects_exports = /* @__PURE__ */ __exportAll({
6982
7002
  saveProjectsConfig: () => saveProjectsConfig,
6983
7003
  saveProjectsConfigSync: () => saveProjectsConfigSync,
6984
7004
  setProjectAutoMergeDefaultSync: () => setProjectAutoMergeDefaultSync,
7005
+ setProjectMergeTrainSync: () => setProjectMergeTrainSync,
6985
7006
  setProjectSwarmPolicySync: () => setProjectSwarmPolicySync,
6986
7007
  unregisterProject: () => unregisterProject,
6987
7008
  unregisterProjectSync: () => unregisterProjectSync
@@ -7100,6 +7121,18 @@ function setProjectSwarmPolicySync(key, value) {
7100
7121
  registerProjectSync(key, updated);
7101
7122
  }
7102
7123
  /**
7124
+ * PAN-1696: Set or clear the per-project merge-train override.
7125
+ * Pass 'enabled' or 'disabled' to override the global flag, or null to use the global setting.
7126
+ */
7127
+ function setProjectMergeTrainSync(key, value) {
7128
+ const config = getProjectSync(key);
7129
+ if (!config) throw new Error(`Unknown project: ${key}`);
7130
+ const updated = { ...config };
7131
+ if (value === null) delete updated.merge_train;
7132
+ else updated.merge_train = value;
7133
+ registerProjectSync(key, updated);
7134
+ }
7135
+ /**
7103
7136
  * Remove a project from the registry
7104
7137
  */
7105
7138
  function unregisterProjectSync(key) {
@@ -8443,6 +8476,27 @@ function writeIssueRecordSync(project, issueId, record) {
8443
8476
  });
8444
8477
  return path;
8445
8478
  }
8479
+ /**
8480
+ * Workspace-scoped synchronous whole-record writer. Keep this call atomic: async
8481
+ * read-modify-write flows must take `withIssueRecordLock` before reading and
8482
+ * must not split this write behind an await.
8483
+ */
8484
+ function writeIssueRecordForWorkspaceSync(workspacePath, issueId, record) {
8485
+ const resolvedProject = resolveProjectForIssue(issueId);
8486
+ const path = getIssueRecordPathForWorkspace(workspacePath, issueId);
8487
+ const dir = dirname(path);
8488
+ if (!existsSync$1(dir)) mkdirSync$1(dir, { recursive: true });
8489
+ const now = (/* @__PURE__ */ new Date()).toISOString();
8490
+ writeRecordFileAtomicSync(path, {
8491
+ ...preserveCloseOutSync(path, record),
8492
+ issueId: issueId.toUpperCase(),
8493
+ schemaVersion: 2,
8494
+ created: record.created || now,
8495
+ updated: now
8496
+ });
8497
+ if (resolvedProject) queueIssueRecordCommit(resolvedProject, issueId, path);
8498
+ return path;
8499
+ }
8446
8500
  async function readIssueRecord(project, issueId) {
8447
8501
  const path = getIssueRecordPath(project, issueId);
8448
8502
  try {
@@ -8480,6 +8534,48 @@ function queueIssueRecordCommit(project, issueId, recordPath) {
8480
8534
  });
8481
8535
  return basePath;
8482
8536
  }
8537
+ /** Build this node's owner URI: pan://host[:port]. */
8538
+ function buildOwnUri() {
8539
+ const port = process.env.OVERDECK_PORT ? `:${process.env.OVERDECK_PORT}` : "";
8540
+ return `pan://${hostname()}${port}`;
8541
+ }
8542
+ async function claimIssueOwner(project, issueId, ownUri = buildOwnUri()) {
8543
+ const record = await readIssueRecord(project, issueId) ?? {
8544
+ issueId,
8545
+ schemaVersion: 2,
8546
+ pipeline: {
8547
+ issueId,
8548
+ reviewStatus: "pending",
8549
+ testStatus: "pending",
8550
+ readyForMerge: false,
8551
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString()
8552
+ },
8553
+ closeOut: {
8554
+ usage: {
8555
+ byStage: {},
8556
+ totals: {}
8557
+ },
8558
+ merges: [],
8559
+ ranOn: hostname()
8560
+ }
8561
+ };
8562
+ if (record.owner && record.owner !== ownUri) return {
8563
+ ok: false,
8564
+ owner: record.owner
8565
+ };
8566
+ record.owner = ownUri;
8567
+ queueIssueRecordCommit(project, issueId, writeIssueRecordSync(project, issueId, record));
8568
+ return {
8569
+ ok: true,
8570
+ owner: ownUri
8571
+ };
8572
+ }
8573
+ async function clearIssueOwner(project, issueId) {
8574
+ const record = await readIssueRecord(project, issueId);
8575
+ if (!record) return;
8576
+ delete record.owner;
8577
+ queueIssueRecordCommit(project, issueId, writeIssueRecordSync(project, issueId, record));
8578
+ }
8483
8579
  /** Ensure a base record exists for an issue. */
8484
8580
  async function ensureIssueRecord(project, issueId) {
8485
8581
  const existing = await readIssueRecord(project, issueId);
@@ -8507,6 +8603,43 @@ async function ensureIssueRecord(project, issueId) {
8507
8603
  }
8508
8604
  };
8509
8605
  }
8606
+ /** Write a single status override into the per-issue record. */
8607
+ async function writeStatusOverride(project, issueId, key, status, opts = {}) {
8608
+ const existing = await readIssueRecord(project, issueId);
8609
+ if (existing?.statusOverrides?.[key] === status) return;
8610
+ const record = existing ?? await ensureIssueRecord(project, issueId);
8611
+ record.statusOverrides = {
8612
+ ...record.statusOverrides ?? {},
8613
+ [key]: status
8614
+ };
8615
+ const recordPath = writeIssueRecordSync(project, issueId, record);
8616
+ if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8617
+ }
8618
+ /** Synchronous variant for legacy CLI call sites. */
8619
+ function writeStatusOverrideSync(project, issueId, key, status, opts = {}) {
8620
+ const existing = readIssueRecordSync(project, issueId);
8621
+ if (existing?.statusOverrides?.[key] === status) return;
8622
+ const record = existing ?? ensureIssueRecordSync(project, issueId);
8623
+ record.statusOverrides = {
8624
+ ...record.statusOverrides ?? {},
8625
+ [key]: status
8626
+ };
8627
+ const recordPath = writeIssueRecordSync(project, issueId, record);
8628
+ if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8629
+ }
8630
+ /** Synchronous variant that writes many overrides at once. */
8631
+ function writeStatusOverridesSync(project, issueId, overrides, opts = {}) {
8632
+ const existing = readIssueRecordSync(project, issueId);
8633
+ const nextOverrides = {
8634
+ ...existing?.statusOverrides ?? {},
8635
+ ...overrides
8636
+ };
8637
+ if (existing && JSON.stringify(existing.statusOverrides) === JSON.stringify(nextOverrides)) return;
8638
+ const record = existing ?? ensureIssueRecordSync(project, issueId);
8639
+ record.statusOverrides = nextOverrides;
8640
+ const recordPath = writeIssueRecordSync(project, issueId, record);
8641
+ if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8642
+ }
8510
8643
  /** Synchronous variant of ensureIssueRecord. */
8511
8644
  function ensureIssueRecordSync(project, issueId) {
8512
8645
  const path = getIssueRecordPath(project, issueId);
@@ -8545,6 +8678,23 @@ async function appendSessionEntry(project, issueId, entry, opts = {}) {
8545
8678
  const recordPath = writeIssueRecordSync(project, issueId, record);
8546
8679
  if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8547
8680
  }
8681
+ /** Append a feedback entry to the per-issue record. */
8682
+ async function appendFeedbackEntry(project, issueId, entry, opts = {}) {
8683
+ const record = await ensureIssueRecord(project, issueId);
8684
+ record.feedback = [...record.feedback ?? [], entry];
8685
+ const recordPath = writeIssueRecordSync(project, issueId, record);
8686
+ if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8687
+ }
8688
+ /** Store harness + model in the per-issue record. */
8689
+ async function writeAgentHarnessModel(project, issueId, harness, model, opts = {}) {
8690
+ const existing = await readIssueRecord(project, issueId);
8691
+ if (existing?.harness === harness && existing?.model === model) return;
8692
+ const record = existing ?? await ensureIssueRecord(project, issueId);
8693
+ record.harness = harness;
8694
+ record.model = model;
8695
+ const recordPath = writeIssueRecordSync(project, issueId, record);
8696
+ if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8697
+ }
8548
8698
  /** Synchronous variant for legacy CLI spawn paths. */
8549
8699
  function writeAgentHarnessModelSync(project, issueId, harness, model, opts = {}) {
8550
8700
  const existing = readIssueRecordSync(project, issueId);
@@ -8585,6 +8735,19 @@ function clearRecordFeedbackSync(project, issueId) {
8585
8735
  record.feedback = [];
8586
8736
  queueIssueRecordCommit(project, issueId, writeIssueRecordSync(project, issueId, record));
8587
8737
  }
8738
+ /** Record advisory scope prediction drift in the per-issue record (sync). */
8739
+ function writeRecordScopeDriftSync(project, issueId, scopeDrift) {
8740
+ const record = ensureIssueRecordSync(project, issueId);
8741
+ record.scopeDrift = scopeDrift;
8742
+ queueIssueRecordCommit(project, issueId, writeIssueRecordSync(project, issueId, record));
8743
+ }
8744
+ /** Write tiered execution override into the per-issue record (sync). Passing null clears the override. */
8745
+ function writeRecordTieredExecutionOverrideSync(project, issueId, override) {
8746
+ const record = ensureIssueRecordSync(project, issueId);
8747
+ if (override === null) delete record.tieredExecutionOverride;
8748
+ else record.tieredExecutionOverride = override;
8749
+ queueIssueRecordCommit(project, issueId, writeIssueRecordSync(project, issueId, record));
8750
+ }
8588
8751
  /** Write tiered execution override into the per-issue record (async). Passing null clears the override. */
8589
8752
  async function writeRecordTieredExecutionOverride(project, issueId, override) {
8590
8753
  const record = await ensureIssueRecord(project, issueId);
@@ -8604,6 +8767,12 @@ function markRecordPipelineClosedOutSync(project, issueId) {
8604
8767
  record.pipeline.updatedAt = now;
8605
8768
  queueIssueRecordCommit(project, issueId, writeIssueRecordSync(project, issueId, record));
8606
8769
  }
8770
+ /** Persist the completed Definition-of-Done gate through the issue record write door. */
8771
+ function writeCloseOutDodGateSync(project, issueId, dodGate) {
8772
+ const record = ensureIssueRecordSync(project, issueId);
8773
+ record.closeOut.dodGate = dodGate;
8774
+ queueIssueRecordCommit(project, issueId, writeIssueRecordSync(project, issueId, record));
8775
+ }
8607
8776
  async function writeCloseOutDodGate(project, issueId, dodGate) {
8608
8777
  const recordPath = getIssueRecordPath(project, issueId);
8609
8778
  const record = await readIssueRecord(project, issueId);
@@ -8629,6 +8798,48 @@ async function writeCloseOutDodGate(project, issueId, dodGate) {
8629
8798
  JSON.parse(await promises$1.readFile(recordPath, "utf-8"));
8630
8799
  queueIssueRecordCommit(project, issueId, recordPath);
8631
8800
  }
8801
+ /** Write decisions into the per-issue record (sync). */
8802
+ function writeRecordDecisionsSync(project, issueId, decisions, opts = {}) {
8803
+ const record = ensureIssueRecordSync(project, issueId);
8804
+ record.decisions = decisions;
8805
+ const recordPath = writeIssueRecordSync(project, issueId, record);
8806
+ if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8807
+ }
8808
+ /** Write decisions into the per-issue record (async). */
8809
+ async function writeRecordDecisions(project, issueId, decisions, opts = {}) {
8810
+ const record = await ensureIssueRecord(project, issueId);
8811
+ record.decisions = decisions;
8812
+ const recordPath = writeIssueRecordSync(project, issueId, record);
8813
+ if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8814
+ }
8815
+ /** Write hazards into the per-issue record (sync). */
8816
+ function writeRecordHazardsSync(project, issueId, hazards, opts = {}) {
8817
+ const record = ensureIssueRecordSync(project, issueId);
8818
+ record.hazards = hazards;
8819
+ const recordPath = writeIssueRecordSync(project, issueId, record);
8820
+ if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8821
+ }
8822
+ /** Write hazards into the per-issue record (async). */
8823
+ async function writeRecordHazards(project, issueId, hazards, opts = {}) {
8824
+ const record = await ensureIssueRecord(project, issueId);
8825
+ record.hazards = hazards;
8826
+ const recordPath = writeIssueRecordSync(project, issueId, record);
8827
+ if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8828
+ }
8829
+ /** Write resumePoint into the per-issue record (sync). */
8830
+ function writeRecordResumePointSync(project, issueId, resumePoint, opts = {}) {
8831
+ const record = ensureIssueRecordSync(project, issueId);
8832
+ record.resumePoint = resumePoint;
8833
+ const recordPath = writeIssueRecordSync(project, issueId, record);
8834
+ if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8835
+ }
8836
+ /** Write resumePoint into the per-issue record (async). */
8837
+ async function writeRecordResumePoint(project, issueId, resumePoint, opts = {}) {
8838
+ const record = await ensureIssueRecord(project, issueId);
8839
+ record.resumePoint = resumePoint;
8840
+ const recordPath = writeIssueRecordSync(project, issueId, record);
8841
+ if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8842
+ }
8632
8843
  /** Infer a minimal ProjectConfig from a workspace path (tests / fallback).
8633
8844
  *
8634
8845
  * Returns a config whose `path` is the workspace directory itself so that
@@ -8646,11 +8857,12 @@ function resolveProjectForIssue(issueId) {
8646
8857
  if (!resolved) return null;
8647
8858
  return getProjectSync(resolved.projectKey);
8648
8859
  }
8649
- var RECORD_DIRNAME;
8860
+ var RECORD_SCHEMA_VERSION, RECORD_DIRNAME;
8650
8861
  var init_record = __esmMin((() => {
8651
8862
  init_auto_commit();
8652
8863
  init_state_read_home();
8653
8864
  init_projects();
8865
+ RECORD_SCHEMA_VERSION = 2;
8654
8866
  RECORD_DIRNAME = "records";
8655
8867
  }));
8656
8868
  //#endregion
@@ -8772,6 +8984,13 @@ function representativeModelRef(entries) {
8772
8984
  }
8773
8985
  var init_percent = __esmMin((() => {}));
8774
8986
  //#endregion
8987
+ //#region ../../lib/model-context-windows.ts
8988
+ var CLIPROXY_CODEX_CONTEXT_WINDOW, CLIPROXY_GPT56_CONTEXT_WINDOW;
8989
+ var init_model_context_windows = __esmMin((() => {
8990
+ CLIPROXY_CODEX_CONTEXT_WINDOW = 15e4;
8991
+ CLIPROXY_GPT56_CONTEXT_WINDOW = 372e3;
8992
+ }));
8993
+ //#endregion
8775
8994
  //#region ../../lib/model-capabilities.ts
8776
8995
  /**
8777
8996
  * Resolve a model ID to its current version
@@ -8814,8 +9033,9 @@ function getModelEffortLevelsSync(model) {
8814
9033
  function modelSupportsImagesSync(model) {
8815
9034
  return MODEL_CAPABILITIES[resolveModelIdSync(String(model))]?.supportsImages !== false;
8816
9035
  }
8817
- var MODEL_DEPRECATIONS, CLIPROXY_CODEX_CONTEXT_WINDOW, MODEL_CAPABILITIES;
9036
+ var MODEL_DEPRECATIONS, MODEL_CAPABILITIES;
8818
9037
  var init_model_capabilities = __esmMin((() => {
9038
+ init_model_context_windows();
8819
9039
  MODEL_DEPRECATIONS = {
8820
9040
  "claude-opus-4-5": "claude-opus-4-7",
8821
9041
  "claude-sonnet-4-5": "claude-sonnet-4-6",
@@ -8838,7 +9058,6 @@ var init_model_capabilities = __esmMin((() => {
8838
9058
  "glm-4.7": "glm-5.1",
8839
9059
  "glm-4.7-flash": "glm-5.1"
8840
9060
  };
8841
- CLIPROXY_CODEX_CONTEXT_WINDOW = 15e4;
8842
9061
  MODEL_CAPABILITIES = {
8843
9062
  "claude-fable-5": {
8844
9063
  model: "claude-fable-5",
@@ -8868,6 +9087,34 @@ var init_model_capabilities = __esmMin((() => {
8868
9087
  ],
8869
9088
  notes: "Mythos-class flagship (June 2026). Tuned for long-horizon autonomous work spanning millions of tokens. Beats Opus 4.8 across effort levels; same effort set (high is the default, xhigh between high and max). Adaptive thinking always on. Premium pricing (~2× Opus 4.8) — opt-in for the most demanding planning/coding."
8870
9089
  },
9090
+ "claude-opus-5": {
9091
+ model: "claude-opus-5",
9092
+ provider: "anthropic",
9093
+ displayName: "Claude Opus 5",
9094
+ costPer1MTokens: 45,
9095
+ contextWindow: 1e6,
9096
+ skills: {
9097
+ "code-generation": 99,
9098
+ "code-review": 99,
9099
+ debugging: 99,
9100
+ planning: 99,
9101
+ documentation: 97,
9102
+ testing: 96,
9103
+ security: 99,
9104
+ performance: 94,
9105
+ synthesis: 99,
9106
+ speed: 45,
9107
+ "context-length": 100
9108
+ },
9109
+ effortLevels: [
9110
+ "low",
9111
+ "medium",
9112
+ "high",
9113
+ "xhigh",
9114
+ "max"
9115
+ ],
9116
+ notes: "Opus generation released 2026-07-24. Near-Fable-5 capability at half the cost ($5/$25 per MTok, same as Opus 4.8). Adaptive thinking on by default; full effort range with stronger low/medium than 4.8; disabling thinking is capped at effort high. 1M context, 128K max output, May 2026 knowledge cutoff. Scores provisional — verify against benchmarks."
9117
+ },
8871
9118
  "claude-opus-4-8": {
8872
9119
  model: "claude-opus-4-8",
8873
9120
  provider: "anthropic",
@@ -9160,7 +9407,7 @@ var init_model_capabilities = __esmMin((() => {
9160
9407
  provider: "openai",
9161
9408
  displayName: "GPT-5.6 Sol",
9162
9409
  costPer1MTokens: 17.5,
9163
- contextWindow: CLIPROXY_CODEX_CONTEXT_WINDOW,
9410
+ contextWindow: CLIPROXY_GPT56_CONTEXT_WINDOW,
9164
9411
  minTier: "plus",
9165
9412
  skills: {
9166
9413
  "code-generation": 98,
@@ -9175,14 +9422,14 @@ var init_model_capabilities = __esmMin((() => {
9175
9422
  speed: 65,
9176
9423
  "context-length": 95
9177
9424
  },
9178
- notes: "OpenAI flagship (July 2026). New default. Successor to GPT-5.5 with improved agentic/shell coding. Effective Claude Code/CLIProxy ceiling is 150K (CLIPROXY_CODEX_CONTEXT_WINDOW), 1M marketing context."
9425
+ notes: "OpenAI flagship (July 2026). New default. Successor to GPT-5.5 with improved agentic/shell coding. Effective Claude Code/CLIProxy ceiling is 372K (CLIPROXY_GPT56_CONTEXT_WINDOW), 1M marketing context."
9179
9426
  },
9180
9427
  "gpt-5.6-terra": {
9181
9428
  model: "gpt-5.6-terra",
9182
9429
  provider: "openai",
9183
9430
  displayName: "GPT-5.6 Terra",
9184
9431
  costPer1MTokens: 8.75,
9185
- contextWindow: CLIPROXY_CODEX_CONTEXT_WINDOW,
9432
+ contextWindow: CLIPROXY_GPT56_CONTEXT_WINDOW,
9186
9433
  minTier: "plus",
9187
9434
  skills: {
9188
9435
  "code-generation": 97,
@@ -9197,14 +9444,14 @@ var init_model_capabilities = __esmMin((() => {
9197
9444
  speed: 70,
9198
9445
  "context-length": 95
9199
9446
  },
9200
- notes: "OpenAI balanced tier (July 2026). GPT-5.5-competitive at roughly half the cost. Effective Claude Code/CLIProxy ceiling is 150K (CLIPROXY_CODEX_CONTEXT_WINDOW), 1M marketing context."
9447
+ notes: "OpenAI balanced tier (July 2026). GPT-5.5-competitive at roughly half the cost. Effective Claude Code/CLIProxy ceiling is 372K (CLIPROXY_GPT56_CONTEXT_WINDOW), 1M marketing context."
9201
9448
  },
9202
9449
  "gpt-5.6-luna": {
9203
9450
  model: "gpt-5.6-luna",
9204
9451
  provider: "openai",
9205
9452
  displayName: "GPT-5.6 Luna",
9206
9453
  costPer1MTokens: 3.5,
9207
- contextWindow: CLIPROXY_CODEX_CONTEXT_WINDOW,
9454
+ contextWindow: CLIPROXY_GPT56_CONTEXT_WINDOW,
9208
9455
  minTier: "plus",
9209
9456
  skills: {
9210
9457
  "code-generation": 82,
@@ -9219,7 +9466,7 @@ var init_model_capabilities = __esmMin((() => {
9219
9466
  speed: 90,
9220
9467
  "context-length": 90
9221
9468
  },
9222
- notes: "OpenAI fastest/cheapest tier (July 2026). Successor to GPT-5.4 Mini's market position. Effective Claude Code/CLIProxy ceiling is 150K (CLIPROXY_CODEX_CONTEXT_WINDOW), 1M marketing context."
9469
+ notes: "OpenAI fastest/cheapest tier (July 2026). Successor to GPT-5.4 Mini's market position. Effective Claude Code/CLIProxy ceiling is 372K (CLIPROXY_GPT56_CONTEXT_WINDOW), 1M marketing context."
9223
9470
  },
9224
9471
  "gpt-5.5": {
9225
9472
  model: "gpt-5.5",
@@ -10628,6 +10875,7 @@ function getProviderForModelSync(modelId) {
10628
10875
  if (modelId.includes("/")) return PROVIDERS.openrouter;
10629
10876
  if ([
10630
10877
  "claude-fable-5",
10878
+ "claude-opus-5",
10631
10879
  "claude-opus-4-8",
10632
10880
  "claude-opus-4-7",
10633
10881
  "claude-opus-4-6",
@@ -10823,6 +11071,7 @@ var init_providers = __esmMin((() => {
10823
11071
  defaultHarness: "claude-code",
10824
11072
  models: [
10825
11073
  "claude-fable-5",
11074
+ "claude-opus-5",
10826
11075
  "claude-opus-4-8",
10827
11076
  "claude-opus-4-7",
10828
11077
  "claude-opus-4-6",
@@ -11629,9 +11878,13 @@ var init_defaults = __esmMin((() => {
11629
11878
  governorRecoveryReserveGb: GOVERNOR_RESERVE_DEFAULTS_GB.recovery,
11630
11879
  governorFootprintDefaultWorkGb: 2,
11631
11880
  governorFootprintDefaultReviewGb: 1,
11632
- governorFootprintDefaultTestGb: 1
11881
+ governorFootprintDefaultTestGb: 1,
11882
+ governorSwapSoftFreePercent: 25,
11883
+ governorSwapRecoveryFreePercent: 50,
11884
+ governorPsiFullShedAvg10: 1
11633
11885
  },
11634
11886
  issues: { closedWindowDays: 14 },
11887
+ telemetry: { enabled: true },
11635
11888
  experimental: {
11636
11889
  experimentalFeatures: false,
11637
11890
  claudeCodeChannels: false,
@@ -11952,9 +12205,13 @@ function mergeConfigs(...configs) {
11952
12205
  governorRecoveryReserveGb: DEFAULT_CONFIG.resources.governorRecoveryReserveGb,
11953
12206
  governorFootprintDefaultWorkGb: DEFAULT_CONFIG.resources.governorFootprintDefaultWorkGb,
11954
12207
  governorFootprintDefaultReviewGb: DEFAULT_CONFIG.resources.governorFootprintDefaultReviewGb,
11955
- governorFootprintDefaultTestGb: DEFAULT_CONFIG.resources.governorFootprintDefaultTestGb
12208
+ governorFootprintDefaultTestGb: DEFAULT_CONFIG.resources.governorFootprintDefaultTestGb,
12209
+ governorSwapSoftFreePercent: DEFAULT_CONFIG.resources.governorSwapSoftFreePercent,
12210
+ governorSwapRecoveryFreePercent: DEFAULT_CONFIG.resources.governorSwapRecoveryFreePercent,
12211
+ governorPsiFullShedAvg10: DEFAULT_CONFIG.resources.governorPsiFullShedAvg10
11956
12212
  },
11957
12213
  issues: { closedWindowDays: DEFAULT_CONFIG.issues.closedWindowDays },
12214
+ telemetry: { enabled: DEFAULT_CONFIG.telemetry.enabled },
11958
12215
  experimental: {
11959
12216
  experimentalFeatures: DEFAULT_CONFIG.experimental.experimentalFeatures,
11960
12217
  claudeCodeChannels: DEFAULT_CONFIG.experimental.claudeCodeChannels,
@@ -12188,8 +12445,13 @@ function mergeConfigs(...configs) {
12188
12445
  if (typeof config.resources.governor_footprint_default_work_gb === "number") result.resources.governorFootprintDefaultWorkGb = config.resources.governor_footprint_default_work_gb;
12189
12446
  if (typeof config.resources.governor_footprint_default_review_gb === "number") result.resources.governorFootprintDefaultReviewGb = config.resources.governor_footprint_default_review_gb;
12190
12447
  if (typeof config.resources.governor_footprint_default_test_gb === "number") result.resources.governorFootprintDefaultTestGb = config.resources.governor_footprint_default_test_gb;
12448
+ if (typeof config.resources.governor_swap_soft_free_percent === "number") result.resources.governorSwapSoftFreePercent = config.resources.governor_swap_soft_free_percent;
12449
+ if (typeof config.resources.governor_swap_recovery_free_percent === "number") result.resources.governorSwapRecoveryFreePercent = config.resources.governor_swap_recovery_free_percent;
12450
+ if (typeof config.resources.governor_psi_full_shed_avg10 === "number") result.resources.governorPsiFullShedAvg10 = config.resources.governor_psi_full_shed_avg10;
12191
12451
  if (result.resources.governorRecoveryReserveGb <= result.resources.governorSoftReserveGb) result.resources.governorRecoveryReserveGb = result.resources.governorSoftReserveGb + 1;
12452
+ if (result.resources.governorSwapRecoveryFreePercent <= result.resources.governorSwapSoftFreePercent) result.resources.governorSwapRecoveryFreePercent = Math.min(result.resources.governorSwapSoftFreePercent + 10, 100);
12192
12453
  }
12454
+ if (typeof config.telemetry?.enabled === "boolean") result.telemetry.enabled = config.telemetry.enabled;
12193
12455
  if (config.issues) {
12194
12456
  if (typeof config.issues.closed_window_days === "number") result.issues.closedWindowDays = config.issues.closed_window_days;
12195
12457
  }
@@ -14713,6 +14975,6 @@ var init_config_yaml = __esmMin((() => {
14713
14975
  init_load();
14714
14976
  }));
14715
14977
  //#endregion
14716
- export { derefWorkhorse as $, resolveIssueIdSync as $n, acquireStateMigrationLock as $t, canUseHarnessSync as A, loadProjectsConfig as An, SKILLS_DIR as Ar, queueIssueRecordCommit as At, getProviderEnvSync as B, resolveProjectPath as Bn, getOverdeckHome as Br, deriveProjectRoot as Bt, TIERED_EXECUTION_DIFFICULTIES as C, hasProjects as Cn, LOGS_DIR as Cr, getIssueRecordBasePath as Ct, resolveTieredExecutionEnabled as D, initializeProjectsConfigSync as Dn, PROJECT_PRDS_COMPLETED_SUBDIR as Dr, getProjectConfigFromWorkspacePath as Dt, resolveTieredExecutionBlock as E, initializeProjectsConfig as En, PROJECT_PRDS_ACTIVE_SUBDIR as Er, getIssueWorkspacePath as Et, PROVIDERS as F, renameProject as Fn, getDocsDisableStatePath as Fr, resolveProjectForIssue as Ft, setupCredentialFileAuthSync as G, unregisterProject as Gn, sessionFilePath as Gr, reconcileStatePlaneDrift as Gt, init_providers as H, saveProjectsConfigSync as Hn, isDevMode as Hr, flushAutoCommits as Ht, UnknownModelError as I, renameProjectSync as In, getDocsIndexPath as Ir, writeAgentHarnessModelSync as It, defaultBackgroundAiFeatures as J, extractPrefixSync as Jn, getMainDivergence as Jt, ensureOpenAICompatibleProxyRunning as K, unregisterProjectSync as Kn, STATE_BRANCH_PATHS as Kt, clearCredentialFileAuthSync as L, resolveInfraRepo as Ln, getDocsTelemetryPath as Lr, writeCloseOutDodGate as Lt, init_harness_policy as M, projects_exports as Mn, TRAEFIK_DIR as Mr, readIssueRecordForWorkspaceSync as Mt, KIMI_CODING_BASE_URL as N, registerProject as Nn, encodeClaudeProjectDir as Nr, readIssueRecordSync as Nt, resolveTieredExecutionEnabledForIssue as O, listProjects as On, PROJECT_PRDS_PLANNED_SUBDIR as Or, init_record as Ot, KIMI_PLATFORM_BASE_URL as P, registerProjectSync as Pn, getDocsBudgetStatePath as Pr, readRecordContinueViewSync as Pt, computeModelOrigin as Q, resolveBareNumericIdSync as Qn, parsePorcelainStatusPaths as Qt, getBuiltInDefaultHarness as R, resolveProjectFromIssue as Rn, getHandoffsDir as Rr, writeIssueRecordSync as Rt, DEFAULT_TIERED_EXECUTION_CONFIG as S, getSpecialistRetention as Sn, COSTS_DIR as Sr, ensureIssueRecordSync as St, init_tier_table as T, init_projects as Tn, PROJECT_DOCS_SUBDIR as Tr, getIssueRecordPathForWorkspace as Tt, piProviderForModel as U, setProjectAutoMergeDefaultSync as Un, packageRoot as Ur, init_auto_commit as Ut, getProviderForModelSync as V, saveProjectsConfig as Vn, init_paths as Vr, flushAllPendingAutoCommits as Vt, qualifyPiModel as W, setProjectSwarmPolicySync as Wn, resolveOhmypiExtensionPath as Wr, queueAutoCommit as Wt, DEFAULT_ROLES as X, normalizeIssueIdSync as Xn, isStatePlaneOnlyStatus as Xt, init_registry as Y, init_issue_id as Yn, init_state_plane as Yt, DEFAULT_WORKHORSES as Z, parseIssueIdSync as Zn, isStatePlanePath as Zt, getDefaultDocsConfig as _, getProject as _n, BIN_DIR as _r, appendFeedbackEntrySync as _t, getConversationsConfigSync as a, init_project_key as an, GitError as ar, getModelEffortLevelsSync as at, DEFAULT_CONFIG as b, getSpecialistConfig as bn, CLAUDE_DIR as br, clearRecordFeedbackSync as bt, isClaudeCodeChannelsEnabled as c, ProjectRenameError as cn, LinearApiError as cr, modelSupportsImagesSync as ct, loadConfigNoMigration as d, findProjectByPath as dn, TmuxError as dr, fnv1a32 as dt, init_state_migration_lock as en, require_dist as er, init_roles as et, loadConfigSync as f, findProjectByPathSync as fn, TrackerError as fr, init_percent as ft, mergeConfigs as g, getIssuePrefix as gn, ARCHIVES_DIR as gr, RECORD_DIRNAME as gt, jsYaml as h, findProjectsByRallyProject as hn, AGENTS_DIR as hr, ROLE_EFFORTS as ht, getConversationsConfig as i, shouldCommitLegacyWorkspaceArtifacts as in, FsError as ir, getModelCapabilitySync as it, canUseModelWithAuthSync as j, loadProjectsConfigSync as jn, SYNC_SOURCES as jr, readIssueRecord as jt, validateTieredExecutionConfig as k, listProjectsSync as kn, PROJECT_PRDS_SUBDIR as kr, markRecordPipelineClosedOutSync as kt, isClaudeCodeChannelsMcpEnabled as l, createDefaultProjectsConfig as ln, MergeConflictError as lr, resolveModelIdSync as lt, init_js_yaml as m, findProjectByTeamSync as mn, init_errors as mr, PARENT_MODEL_REF as mt, clearConfigCache as n, init_state_read_home as nn, ClaudeCredentialParseError as nr, MODEL_CAPABILITIES as nt, getGlobalConfigPath as o, projectKey as on, GitHubApiError as or, hasModelCapabilitySync as ot, updateConversationsConfig as p, findProjectByTeam as pn, VcsError as pr, COMPLIANCE_MODES as pt, init_openai_compatible_proxy as q, extractNumberSync as qn, STATE_PLANE_PATHS as qt, getConversationSearchConfigSync as r, resolveStateReadHomeSync as rn, ConfigError as rr, MODEL_DEPRECATIONS as rt, init_load as s, PROJECTS_CONFIG_FILE as sn, InvalidAgentIdError as sr, init_model_capabilities as st, init_config_yaml as t, STATE_BRANCH as tn, CheckpointError as tr, resolveModel as tt, isTldrEnabledSync as u, extractTeamPrefix as un, ProcessSpawnError as ur, fmix32 as ut, getDefaultTtsDaemonConfig as v, getProjectSwarmHotspots as vn, CACHE_AGENTS_DIR as vr, appendSessionEntry as vt, TieredExecutionConfigError as w, hasProjectsSync as wn, OVERDECK_HOME as wr, getIssueRecordPath as wt, init_defaults as x, getSpecialistPromptOverride as xn, CONFIG_FILE as xr, ensureIssueRecord as xt, mergeTtsDaemonConfigs as y, getProjectSync as yn, CACHE_RULES_DIR as yr, appendSessionEntrySync as yt, getKimiAnthropicBaseUrl as z, resolveProjectFromIssueSync as zn, getLegacyHome as zr, writeRecordTieredExecutionOverride as zt };
14978
+ export { derefWorkhorse as $, registerProject as $n, TRAEFIK_DIR as $r, writeRecordResumePointSync as $t, canUseHarnessSync as A, extractTeamPrefix as An, MergeConflictError as Ar, getIssueRecordPath as At, getProviderEnvSync as B, getSpecialistConfig as Bn, CACHE_RULES_DIR as Br, readRecordContinueViewSync as Bt, TIERED_EXECUTION_DIFFICULTIES as C, resolveStateReadHomeSync as Cn, ClaudeCredentialParseError as Cr, buildOwnUri as Ct, resolveTieredExecutionEnabled as D, PROJECTS_CONFIG_FILE as Dn, GitHubApiError as Dr, ensureIssueRecord as Dt, resolveTieredExecutionBlock as E, projectKey as En, GitError as Er, clearRecordFeedbackSync as Et, PROVIDERS as F, findProjectsByRallyProject as Fn, init_errors as Fr, markRecordPipelineClosedOutSync as Ft, setupCredentialFileAuthSync as G, init_projects as Gn, OVERDECK_HOME as Gr, writeCloseOutDodGateSync as Gt, init_providers as H, getSpecialistRetention as Hn, CONFIG_FILE as Hr, writeAgentHarnessModel as Ht, UnknownModelError as I, getIssuePrefix as In, AGENTS_DIR as Ir, queueIssueRecordCommit as It, defaultBackgroundAiFeatures as J, listProjects as Jn, PROJECT_PRDS_COMPLETED_SUBDIR as Jr, writeRecordDecisions as Jt, ensureOpenAICompatibleProxyRunning as K, initializeProjectsConfig as Kn, PROJECT_DOCS_SUBDIR as Kr, writeIssueRecordForWorkspaceSync as Kt, clearCredentialFileAuthSync as L, getProject as Ln, ARCHIVES_DIR as Lr, readIssueRecord as Lt, init_harness_policy as M, findProjectByPathSync as Mn, TmuxError as Mr, getIssueWorkspacePath as Mt, KIMI_CODING_BASE_URL as N, findProjectByTeam as Nn, TrackerError as Nr, getProjectConfigFromWorkspacePath as Nt, resolveTieredExecutionEnabledForIssue as O, ProjectRenameError as On, InvalidAgentIdError as Or, ensureIssueRecordSync as Ot, KIMI_PLATFORM_BASE_URL as P, findProjectByTeamSync as Pn, VcsError as Pr, init_record as Pt, computeModelOrigin as Q, projects_exports as Qn, SYNC_SOURCES as Qr, writeRecordResumePoint as Qt, getBuiltInDefaultHarness as R, getProjectSwarmHotspots as Rn, BIN_DIR as Rr, readIssueRecordForWorkspaceSync as Rt, DEFAULT_TIERED_EXECUTION_CONFIG as S, init_state_read_home as Sn, CheckpointError as Sr, appendSessionEntrySync as St, init_tier_table as T, init_project_key as Tn, FsError as Tr, clearIssueOwner as Tt, piProviderForModel as U, hasProjects as Un, COSTS_DIR as Ur, writeAgentHarnessModelSync as Ut, getProviderForModelSync as V, getSpecialistPromptOverride as Vn, CLAUDE_DIR as Vr, resolveProjectForIssue as Vt, qualifyPiModel as W, hasProjectsSync as Wn, LOGS_DIR as Wr, writeCloseOutDodGate as Wt, DEFAULT_ROLES as X, loadProjectsConfig as Xn, PROJECT_PRDS_SUBDIR as Xr, writeRecordHazards as Xt, init_registry as Y, listProjectsSync as Yn, PROJECT_PRDS_PLANNED_SUBDIR as Yr, writeRecordDecisionsSync as Yt, DEFAULT_WORKHORSES as Z, loadProjectsConfigSync as Zn, SKILLS_DIR as Zr, writeRecordHazardsSync as Zt, getDefaultDocsConfig as _, isStatePlanePath as _n, normalizeIssueIdSync as _r, RECORD_DIRNAME as _t, getConversationsConfigSync as a, getDocsTelemetryPath as ai, writeStatusOverridesSync as an, resolveProjectFromIssueSync as ar, getModelEffortLevelsSync as at, DEFAULT_CONFIG as b, init_state_migration_lock as bn, resolveIssueIdSync as br, appendFeedbackEntrySync as bt, isClaudeCodeChannelsEnabled as c, getOverdeckHome as ci, flushAutoCommits as cn, saveProjectsConfigSync as cr, modelSupportsImagesSync as ct, loadConfigNoMigration as d, packageRoot as di, reconcileStatePlaneDrift as dn, setProjectSwarmPolicySync as dr, fmix32 as dt, claudeSessionTranscriptExists as ei, writeRecordScopeDriftSync as en, registerProjectSync as er, init_roles as et, loadConfigSync as f, resolveOhmypiExtensionPath as fi, STATE_BRANCH_PATHS as fn, unregisterProject as fr, fnv1a32 as ft, mergeConfigs as g, isStatePlaneOnlyStatus as gn, init_issue_id as gr, ROLE_EFFORTS as gt, jsYaml as h, init_state_plane as hn, extractPrefixSync as hr, PARENT_MODEL_REF as ht, getConversationsConfig as i, getDocsIndexPath as ii, writeStatusOverrideSync as in, resolveProjectFromIssue as ir, getModelCapabilitySync as it, canUseModelWithAuthSync as j, findProjectByPath as jn, ProcessSpawnError as jr, getIssueRecordPathForWorkspace as jt, validateTieredExecutionConfig as k, createDefaultProjectsConfig as kn, LinearApiError as kr, getIssueRecordBasePath as kt, isClaudeCodeChannelsMcpEnabled as l, init_paths as li, init_auto_commit as ln, setProjectAutoMergeDefaultSync as lr, resolveModelIdSync as lt, init_js_yaml as m, getMainDivergence as mn, extractNumberSync as mr, COMPLIANCE_MODES as mt, clearConfigCache as n, getDocsBudgetStatePath as ni, writeRecordTieredExecutionOverrideSync as nn, renameProjectSync as nr, MODEL_CAPABILITIES as nt, getGlobalConfigPath as o, getHandoffsDir as oi, deriveProjectRoot as on, resolveProjectPath as or, hasModelCapabilitySync as ot, updateConversationsConfig as p, sessionFilePath as pi, STATE_PLANE_PATHS as pn, unregisterProjectSync as pr, init_percent as pt, init_openai_compatible_proxy as q, initializeProjectsConfigSync as qn, PROJECT_PRDS_ACTIVE_SUBDIR as qr, writeIssueRecordSync as qt, getConversationSearchConfigSync as r, getDocsDisableStatePath as ri, writeStatusOverride as rn, resolveInfraRepo as rr, MODEL_DEPRECATIONS as rt, init_load as s, getLegacyHome as si, flushAllPendingAutoCommits as sn, saveProjectsConfig as sr, init_model_capabilities as st, init_config_yaml as t, encodeClaudeProjectDir as ti, writeRecordTieredExecutionOverride as tn, renameProject as tr, resolveModel as tt, isTldrEnabledSync as u, isDevMode as ui, queueAutoCommit as un, setProjectMergeTrainSync as ur, CLIPROXY_GPT56_CONTEXT_WINDOW as ut, getDefaultTtsDaemonConfig as v, parsePorcelainStatusPaths as vn, parseIssueIdSync as vr, RECORD_SCHEMA_VERSION as vt, TieredExecutionConfigError as w, shouldCommitLegacyWorkspaceArtifacts as wn, ConfigError as wr, claimIssueOwner as wt, init_defaults as x, STATE_BRANCH as xn, require_dist as xr, appendSessionEntry as xt, mergeTtsDaemonConfigs as y, acquireStateMigrationLock as yn, resolveBareNumericIdSync as yr, appendFeedbackEntry as yt, getKimiAnthropicBaseUrl as z, getProjectSync as zn, CACHE_AGENTS_DIR as zr, readIssueRecordSync as zt };
14717
14979
 
14718
- //# sourceMappingURL=config-yaml-DySPNmKN.js.map
14980
+ //# sourceMappingURL=config-yaml-CxdwhAIA.js.map
@@ -0,0 +1,3 @@
1
+ import { i as init_conflict_gate, s as resolveConflictGate, t as buildRealConflictGateDeps } from "./conflict-gate-E4nt7ZeS.js";
2
+ init_conflict_gate();
3
+ export { buildRealConflictGateDeps, resolveConflictGate };
@@ -1,16 +1,16 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-DDlOIAML.js";
3
- import { b as setReviewStatusSync, c as getReviewStatusSync, l as init_review_status } from "./review-status-kZj_KyCk.js";
4
- import { X as messageAgent, b as init_agents, ut as spawnRun } from "./queries-CjNIf-Ub.js";
2
+ import { o as init_activity_logger, r as emitActivityEntrySync } from "./activity-logger-CyteR4JO.js";
3
+ import { C as setReviewStatusSync, d as getReviewStatusSync, p as init_review_status } from "./review-status-CGvlA4o_.js";
4
+ import { X as messageAgent, b as init_agents, dt as spawnRun } from "./queries-C-MUZaIy.js";
5
5
  import { exec } from "node:child_process";
6
6
  import { promisify } from "node:util";
7
7
  //#region ../../lib/cloister/conflict-gate.ts
8
8
  /**
9
- * Non-destructively checks whether HEAD can merge with origin/<targetBranch>.
10
- * Uses git merge-tree only — never git merge — so HEAD, the index, and the
11
- * working tree are left untouched.
9
+ * Non-destructively checks whether HEAD can merge with origin/<targetBranch>,
10
+ * returning the conflicting paths (if any). Uses git merge-tree only — never
11
+ * git merge — so HEAD, the index, and the working tree are left untouched.
12
12
  */
13
- async function checkBranchMergeability(workspacePath, targetBranch, deps = {}) {
13
+ async function probeBranchConflictPaths(workspacePath, targetBranch, deps = {}) {
14
14
  const run = deps.exec ?? execAsync;
15
15
  const options = {
16
16
  cwd: workspacePath,
@@ -21,14 +21,54 @@ async function checkBranchMergeability(workspacePath, targetBranch, deps = {}) {
21
21
  try {
22
22
  await run(`git fetch origin ${shellQuote(targetBranch)}`, options);
23
23
  } catch {
24
- return "unknown";
24
+ return {
25
+ mergeability: "unknown",
26
+ paths: []
27
+ };
25
28
  }
26
29
  try {
27
30
  const result = await run(`git merge-tree --write-tree --name-only HEAD ${shellQuote(`origin/${targetBranch}`)}`, options);
28
- return outputHasConflictMarker(result.stdout, result.stderr) ? "conflicts" : "clean";
31
+ if (outputHasConflictMarker(result.stdout, result.stderr)) return {
32
+ mergeability: "conflicts",
33
+ paths: parseMergeTreeNameOnly(toText(result.stdout))
34
+ };
35
+ return {
36
+ mergeability: "clean",
37
+ paths: []
38
+ };
29
39
  } catch (err) {
30
- return mergeTreeFailureIndicatesConflict(err) ? "conflicts" : "unknown";
40
+ if (mergeTreeFailureIndicatesConflict(err)) return {
41
+ mergeability: "conflicts",
42
+ paths: parseMergeTreeNameOnly(toText(err.stdout))
43
+ };
44
+ return {
45
+ mergeability: "unknown",
46
+ paths: []
47
+ };
48
+ }
49
+ }
50
+ /**
51
+ * Non-destructively checks whether HEAD can merge with origin/<targetBranch>.
52
+ * Thin wrapper over probeBranchConflictPaths — kept for callers that only
53
+ * need the tri-state result.
54
+ */
55
+ async function checkBranchMergeability(workspacePath, targetBranch, deps = {}) {
56
+ return (await probeBranchConflictPaths(workspacePath, targetBranch, deps)).mergeability;
57
+ }
58
+ /**
59
+ * Parses `git merge-tree --write-tree --name-only` stdout. Line 1 is the
60
+ * tree OID; subsequent lines up to (not including) the first blank line are
61
+ * the conflicting paths.
62
+ */
63
+ function parseMergeTreeNameOnly(stdout) {
64
+ const lines = stdout.split("\n");
65
+ const paths = [];
66
+ for (let i = 1; i < lines.length; i += 1) {
67
+ const line = lines[i];
68
+ if (line === "") break;
69
+ paths.push(line);
31
70
  }
71
+ return paths;
32
72
  }
33
73
  function buildRealConflictGateDeps(overrides = {}) {
34
74
  const runSpawn = overrides.spawnRun ?? spawnRun;
@@ -47,7 +87,10 @@ function buildRealConflictGateDeps(overrides = {}) {
47
87
  const prompt = buildConflictResolverPrompt(input);
48
88
  let dispatchState = "dispatched";
49
89
  try {
50
- await runSpawn(input.issueId, "work", { prompt });
90
+ await runSpawn(input.issueId, "work", {
91
+ prompt,
92
+ startedBy: "conflict-gate"
93
+ });
51
94
  } catch (err) {
52
95
  if (isAlreadyRunningError(err)) {
53
96
  await deliverMessage(`agent-${input.issueId.toLowerCase()}`, prompt, "conflict-gate");
@@ -77,7 +120,10 @@ async function resolveConflictGate(issueId, workspacePath, targetBranch, deps) {
77
120
  const mergeability = await getCachedMergeability(issueId, checkedAtMs, workspacePath, targetBranch, deps);
78
121
  if (mergeability === "clean") {
79
122
  const remainingBlockers = (status.blockerReasons ?? []).filter((blocker) => !isMergeBlocker(blocker));
80
- await deps.setReviewStatus(issueId, { blockerReasons: remainingBlockers.length > 0 ? remainingBlockers : void 0 }, status);
123
+ await deps.setReviewStatus(issueId, {
124
+ blockerReasons: remainingBlockers.length > 0 ? remainingBlockers : void 0,
125
+ conflictsSince: void 0
126
+ }, status);
81
127
  deps.log?.(`[conflict-gate] ${issueId}: cleared stale merge blocker; review can proceed`);
82
128
  return {
83
129
  gated: false,
@@ -228,6 +274,6 @@ var init_conflict_gate = __esmMin((() => {
228
274
  probeInFlight = /* @__PURE__ */ new Map();
229
275
  }));
230
276
  //#endregion
231
- export { resolveConflictGate as a, init_conflict_gate as i, checkBranchMergeability as n, getCachedConflictGateMergeability as r, buildRealConflictGateDeps as t };
277
+ export { parseMergeTreeNameOnly as a, init_conflict_gate as i, checkBranchMergeability as n, probeBranchConflictPaths as o, getCachedConflictGateMergeability as r, resolveConflictGate as s, buildRealConflictGateDeps as t };
232
278
 
233
- //# sourceMappingURL=conflict-gate-BaCVrH-N.js.map
279
+ //# sourceMappingURL=conflict-gate-E4nt7ZeS.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Vr as init_paths, mr as init_errors } from "./config-yaml-DySPNmKN.js";
3
- import { E as init_layers, c as init_render, f as init_rules, r as init_assemble } from "./assemble-J2ZZ2C15.js";
2
+ import { Fr as init_errors, li as init_paths } from "./config-yaml-CxdwhAIA.js";
3
+ import { E as init_layers, c as init_render, f as init_rules, r as init_assemble } from "./assemble-Bgwqv-Ro.js";
4
4
  import "effect";
5
5
  import "fs";
6
6
  import "path";
@@ -34,4 +34,4 @@ var init_context_layers = __esmMin((() => {
34
34
  //#endregion
35
35
  export { init_context_layers as t };
36
36
 
37
- //# sourceMappingURL=context-layers-igZ4FI4_.js.map
37
+ //# sourceMappingURL=context-layers-C_IIysnm.js.map
@@ -1,4 +1,4 @@
1
- import { S as codexGlobalContextFile, k as piGlobalContextFile } from "./assemble-J2ZZ2C15.js";
2
- import { t as init_context_layers } from "./context-layers-igZ4FI4_.js";
1
+ import { S as codexGlobalContextFile, k as piGlobalContextFile } from "./assemble-Bgwqv-Ro.js";
2
+ import { t as init_context_layers } from "./context-layers-C_IIysnm.js";
3
3
  init_context_layers();
4
4
  export { codexGlobalContextFile, piGlobalContextFile };