@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
@@ -1,31 +1,33 @@
1
1
  import { a as __toCommonJS } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { $ as derefWorkhorse, Br as getOverdeckHome, Dt as getProjectConfigFromWorkspacePath, Ft as resolveProjectForIssue, Ot as init_record, Pt as readRecordContinueViewSync, Tn as init_projects, Vr as init_paths, f as loadConfigSync, hr as AGENTS_DIR, mr as init_errors, t as init_config_yaml, wr as OVERDECK_HOME, zn as resolveProjectFromIssueSync } from "./config-yaml-DySPNmKN.js";
3
- import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-DDlOIAML.js";
4
- import { D as sql, E as like, S as gte, _ as integer, a as EventBus, b as and, f as init_infra, g as real, h as text, i as DbLive, m as sqliteTable, n as CostArchiveLive, o as EventBusLive, p as init_sqlite_core, r as Db, t as CostArchive, v as init_drizzle_orm, x as eq, y as desc } from "./infra-BEqFxlJc.js";
5
- import { D as killSession, H as sessionExists, U as sessionExistsSync, m as exactPaneTarget, w as init_tmux } from "./tmux-R7N7y-Mh.js";
6
- import { b as setReviewStatusSync, d as loadReviewStatuses, l as init_review_status } from "./review-status-kZj_KyCk.js";
7
- import { n as init_issues, t as IssueId } from "./issues-BMmP_77e.js";
8
- import { a as getAllBudgetsSync, i as deleteBudgetSync, n as checkBudgetSync, r as createBudgetSync, s as init_cost } from "./cost-B2ddP6wq.js";
9
- import { Ar as saveAgentRuntimeState, Gn as getAgentDir, J as isContextOverflowTail, K as init_context_overflow, Lr as init_ohmypi_parser, Or as getAgentRuntimeStateSync, Rr as parseOhmypiSessionCostResultSync, Yn as getAgentStateSync, a as listRunningAgentsSync, b as init_agents, lr as saveAgentStateSync, lt as spawnAgent, pt as stopAgentSync, qn as getAgentState } from "./queries-CjNIf-Ub.js";
10
- import { n as parseCodexSessionCostEventsSync, r as parseCodexSessionSync, t as init_codex_parser } from "./codex-parser-CFZ1_1Jl.js";
11
- import { _ as init_tier_metrics, c as getDailyTrendsSync, d as init_cost_sync, h as deriveTieredAgentCostRole, t as getAgentDailyCostSync } from "./cost-sync-BsN6ER0n.js";
12
- import { n as init_issue_service_singleton, r as issue_service_singleton_exports } from "./issue-service-singleton-Yx5DdmVJ.js";
13
- import { r as isRoleTerminal } from "./review-status-source-CxuEjLGg.js";
14
- import { m as readWorkspacePlanSync, o as init_io } from "./io-C9kF1wtJ.js";
15
- import { i as init_model_validation, o as requireModelOverrideSync } from "./launcher-generator-BBWG_SiS.js";
16
- import { _ as setDeaconGloballyPaused, c as isCloisterSpawnsPausedSync, d as isFlywheelAutoPickupBacklog, g as setCloisterSpawnsPausedSync, s as init_control_settings, x as setFlywheelGloballyPaused } from "./control-settings-BQp7_4uD.js";
17
- import { n as checkHookSync, p as init_hooks } from "./hooks-CKZgXlJb.js";
18
- import { a as loadCloisterConfigSync, n as getHealthThresholdsMs, r as init_config } from "./config-CKxYiCmX.js";
19
- import { t as init_reap_terminal_sessions } from "./reap-terminal-sessions-BtHPo6Xc.js";
20
- import { o as getRuntimeForAgent } from "./stuck-remediation-DYuPRYYw.js";
21
- import { m as init_pickup, n as LEGACY_PARKED_LABELS } from "./pickup-DUCLWrJY.js";
22
- import "./flywheel-DHrgCphM.js";
23
- import { B as recordDeadEndNeedsYou, C as getLastPatrolResult, D as isDeaconRunning, N as runPatrol, R as startDeacon, S as getDeaconStatus, St as deliverOrchestratedCompact, n as assessDeaconPatrolFreshness, x as getDeaconLogs, z as stopDeacon } from "./deacon-CU_cAYSR.js";
24
- import { n as renderPrompt, t as init_prompts } from "./prompts-DxzFXuLl.js";
25
- import { U as getTmuxSessionName, t as init_specialists } from "./specialists-jiuuyVkp.js";
26
- import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-CDJk4pIp.js";
27
- import { n as shouldSkipDispatchAsMerged, t as init_merge_verification } from "./merge-verification-BkaOqPsw.js";
28
- import { r as writeHealthEvent } from "./health-events-BBcTYQKU.js";
2
+ import { $ as derefWorkhorse, Bt as readRecordContinueViewSync, Fr as init_errors, Gn as init_projects, Gr as OVERDECK_HOME, Ir as AGENTS_DIR, Nt as getProjectConfigFromWorkspacePath, Pt as init_record, Vt as resolveProjectForIssue, ar as resolveProjectFromIssueSync, ci as getOverdeckHome, f as loadConfigSync, li as init_paths, t as init_config_yaml } from "./config-yaml-CxdwhAIA.js";
3
+ import { o as init_activity_logger, r as emitActivityEntrySync } from "./activity-logger-CyteR4JO.js";
4
+ import { D as sql, E as like, S as gte, _ as integer, a as EventBus, b as and, f as init_infra, g as real, h as text, i as DbLive, m as sqliteTable, n as CostArchiveLive, o as EventBusLive, p as init_sqlite_core, r as Db, t as CostArchive, v as init_drizzle_orm, x as eq, y as desc } from "./infra-BDQDRopn.js";
5
+ import { D as killSession, H as sessionExists, U as sessionExistsSync, m as exactPaneTarget, w as init_tmux } from "./tmux-CfDHob9M.js";
6
+ import { C as setReviewStatusSync, h as loadReviewStatuses, p as init_review_status } from "./review-status-CGvlA4o_.js";
7
+ import { n as init_issues, t as IssueId } from "./issues-DQ5-LatB.js";
8
+ import { a as getAllBudgetsSync, i as deleteBudgetSync, n as checkBudgetSync, r as createBudgetSync, s as init_cost } from "./cost-DpgYmYqR.js";
9
+ import { $n as getAgentDir, Br as saveAgentRuntimeState, J as isContextOverflowTail, Jr as parseOhmypiSessionCostResultSync, K as init_context_overflow, Rr as getAgentRuntimeStateSync, _r as saveAgentStateSync, a as listRunningAgentsSync, b as init_agents, mt as stopAgentSync, qr as init_ohmypi_parser, rr as getAgentStateSync, tr as getAgentState, ut as spawnAgent } from "./queries-C-MUZaIy.js";
10
+ import { n as parseCodexSessionCostEventsSync, r as parseCodexSessionSync, t as init_codex_parser } from "./codex-parser-Dt-ycU8L.js";
11
+ import { _ as init_tier_metrics, c as getDailyTrendsSync, d as init_cost_sync, h as deriveTieredAgentCostRole, t as getAgentDailyCostSync } from "./cost-sync-tOCCGnEt.js";
12
+ import { n as init_issue_service_singleton, r as issue_service_singleton_exports } from "./issue-service-singleton-C6ZduvuY.js";
13
+ import { r as isRoleTerminal } from "./review-status-source-DIk1JSow.js";
14
+ import { m as readWorkspacePlanSync, o as init_io } from "./io-B00PBNku.js";
15
+ import { D as requireModelOverrideSync, T as init_model_validation } from "./auto-spawn-consent-CQ9Bi9q6.js";
16
+ import { C as setFlywheelGloballyPaused, c as init_control_settings, f as isFlywheelAutoPickupBacklog, l as isCloisterSpawnsPausedSync, v as setCloisterSpawnsPausedSync, y as setDeaconGloballyPaused } from "./control-settings-CiqGxXnc.js";
17
+ import { n as checkHookSync, p as init_hooks } from "./hooks-DbtbimEf.js";
18
+ import { a as loadCloisterConfigSync, n as getHealthThresholdsMs, r as init_config } from "./config-Bi3u1VK7.js";
19
+ import { t as init_reap_terminal_sessions } from "./reap-terminal-sessions-Qf-9LVQc.js";
20
+ import { o as getRuntimeForAgent } from "./stuck-remediation-CC6q3eqQ.js";
21
+ import { h as init_pickup, r as LEGACY_PARKED_LABELS } from "./pickup-DWhqzliO.js";
22
+ import "./flywheel-BHx8XuMr.js";
23
+ import { E as isDeaconRunning, L as startDeacon, M as runPatrol, R as stopDeacon, S as getLastPatrolResult, Tt as deliverOrchestratedCompact, b as getDeaconLogs, n as assessDeaconPatrolFreshness, x as getDeaconStatus } from "./deacon-pLRLbPvR.js";
24
+ import { n as renderPrompt, t as init_prompts } from "./prompts-CgzMBvQF.js";
25
+ import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-BehTG1be.js";
26
+ import { U as getTmuxSessionName, t as init_specialists } from "./specialists-DUiExaxb.js";
27
+ import { n as init_merge_verification, r as shouldSkipDispatchAsMerged } from "./merge-verification-NvaAd8CZ.js";
28
+ import { t as recordDeadEndNeedsYou } from "./dead-end-trip-D8A3msX9.js";
29
+ import { c as gatherAutonomousWorkDispatchInput, s as decideAutonomousWorkDispatch } from "./orphan-proposed-reconciler-B6vJHxtX.js";
30
+ import { r as writeHealthEvent } from "./health-events-BwX32k8d.js";
29
31
  import { join } from "node:path";
30
32
  import { Context, Data, Effect, Layer, Schema } from "effect";
31
33
  import { appendFileSync, existsSync, mkdirSync, readFileSync, readdirSync, renameSync, statSync, unlinkSync, writeFileSync } from "fs";
@@ -850,7 +852,7 @@ function getAgentsNeedingAttention(agentHealths) {
850
852
  * Captures and serializes agent context for handoffs between models.
851
853
  */
852
854
  init_prompts();
853
- const execAsync$3 = promisify$1(exec$1);
855
+ const execAsync$2 = promisify$1(exec$1);
854
856
  async function captureHandoffContextPromise(agentState, targetModel, reason) {
855
857
  const context = {
856
858
  issueId: agentState.issueId,
@@ -889,17 +891,17 @@ async function captureFiles(context, workspace, issueId) {
889
891
  */
890
892
  async function captureGitState(context, workspace) {
891
893
  try {
892
- const { stdout: branch } = await execAsync$3("git branch --show-current", {
894
+ const { stdout: branch } = await execAsync$2("git branch --show-current", {
893
895
  cwd: workspace,
894
896
  encoding: "utf-8"
895
897
  });
896
898
  context.gitBranch = branch.trim();
897
- const { stdout: status } = await execAsync$3("git status --porcelain", {
899
+ const { stdout: status } = await execAsync$2("git status --porcelain", {
898
900
  cwd: workspace,
899
901
  encoding: "utf-8"
900
902
  });
901
903
  context.uncommittedFiles = status.split("\n").filter((line) => line.trim()).map((line) => line.substring(3));
902
- const { stdout: lastCommit } = await execAsync$3("git log -1 --oneline", {
904
+ const { stdout: lastCommit } = await execAsync$2("git log -1 --oneline", {
903
905
  cwd: workspace,
904
906
  encoding: "utf-8"
905
907
  });
@@ -1125,7 +1127,8 @@ async function performKillAndSpawn(state, options) {
1125
1127
  model: options.targetModel,
1126
1128
  role: "work",
1127
1129
  prompt,
1128
- allowHost: state.hostOverride === true
1130
+ allowHost: state.hostOverride === true,
1131
+ startedBy: "handoff"
1129
1132
  });
1130
1133
  newState.costSoFar = state.costSoFar || 0;
1131
1134
  saveAgentStateSync(newState);
@@ -1455,7 +1458,6 @@ init_agents();
1455
1458
  init_tmux();
1456
1459
  init_issue_closed();
1457
1460
  init_merge_verification();
1458
- const execAsync$2 = promisify(exec);
1459
1461
  /** Return issues orphaned in reviewStatus='reviewing' with no active reviewer. */
1460
1462
  function identifyOrphanedReviewingIssues(statuses, activeReviewIssues) {
1461
1463
  const orphaned = [];
@@ -1543,10 +1545,10 @@ async function activeRoleRunExists(issueId, role, workspacePath) {
1543
1545
  if (stateRole === role && state.status === "starting" && !await Effect.runPromise(sessionExists(candidateId))) return isFreshStarting(state);
1544
1546
  if (!(stateRole === role && state.status !== "stopped" && state.status !== "error")) return false;
1545
1547
  if (workspacePath && state.roleRunHead) try {
1546
- const { stdout } = await execAsync$2("git rev-parse --short=8 HEAD", { cwd: workspacePath });
1547
- const currentHead = stdout.trim();
1548
+ const { formatAnchorShort, snapshotWorkspaceHeadsPromise } = await import("./git-utils-Xg4PFN45.js");
1549
+ const currentHead = await snapshotWorkspaceHeadsPromise(issueId, workspacePath);
1548
1550
  if (currentHead && currentHead !== state.roleRunHead) {
1549
- console.log(`[cloister] ${issueId}: ${role} session ${candidateId} is stale (ran against ${state.roleRunHead}, HEAD is now ${currentHead}) — not active`);
1551
+ console.log(`[cloister] ${issueId}: ${role} session ${candidateId} is stale (ran against ${formatAnchorShort(state.roleRunHead)}, HEAD is now ${formatAnchorShort(currentHead)}) — not active`);
1550
1552
  return false;
1551
1553
  }
1552
1554
  } catch {}
@@ -1596,7 +1598,7 @@ async function onIssueStateChangePromise(issueId, newState) {
1596
1598
  });
1597
1599
  return;
1598
1600
  }
1599
- const { getReviewStatusSync } = await import("./review-status-btEYlaxA.js");
1601
+ const { getReviewStatusSync } = await import("./review-status-Dma9SFaN.js");
1600
1602
  if (getReviewStatusSync(normalizedIssueId)?.mergeStatus === "merged") {
1601
1603
  const message = `${normalizedIssueId}: skipping ${role} dispatch — merge already landed (merge_status='merged' is terminal)`;
1602
1604
  console.log(`[cloister] ${message}`);
@@ -1663,7 +1665,7 @@ async function onIssueStateChangePromise(issueId, newState) {
1663
1665
  return;
1664
1666
  }
1665
1667
  const branch = `feature/${normalizedIssueId.toLowerCase()}`;
1666
- const { spawnReviewRoleForIssue } = await import("./review-agent-DNboMyW4.js");
1668
+ const { spawnReviewRoleForIssue } = await import("./review-agent-BTCNkq2h.js");
1667
1669
  const result = await Effect.runPromise(spawnReviewRoleForIssue({
1668
1670
  issueId: normalizedIssueId,
1669
1671
  workspace,
@@ -1681,7 +1683,7 @@ async function onIssueStateChangePromise(issueId, newState) {
1681
1683
  }
1682
1684
  if (role === "test") {
1683
1685
  const branch = `feature/${normalizedIssueId.toLowerCase()}`;
1684
- const { dispatchTestAgentAndNotify } = await import("./test-agent-queue-MbxX5vqq.js");
1686
+ const { dispatchTestAgentAndNotify } = await import("./test-agent-queue-A_-p-i0I.js");
1685
1687
  await Effect.runPromise(dispatchTestAgentAndNotify(normalizedIssueId, workspace ?? void 0, branch));
1686
1688
  const message = `${normalizedIssueId}: test role dispatched from lifecycle state '${newState}'`;
1687
1689
  console.log(`[cloister] ${message}`);
@@ -1693,7 +1695,7 @@ async function onIssueStateChangePromise(issueId, newState) {
1693
1695
  });
1694
1696
  return;
1695
1697
  }
1696
- const { spawnRun } = await import("./agents-wi9NWzs2.js");
1698
+ const { spawnRun } = await import("./agents-ePFVoZbu.js");
1697
1699
  if (role === "plan") {
1698
1700
  const decision = decideAutonomousPlanDispatch(await gatherAutonomousPlanDispatchInput(normalizedIssueId));
1699
1701
  if (!decision.allow) {
@@ -1710,7 +1712,8 @@ async function onIssueStateChangePromise(issueId, newState) {
1710
1712
  }
1711
1713
  const message = `${normalizedIssueId}: ${role} role started from lifecycle state '${newState}' as ${(await spawnRun(normalizedIssueId, "plan", {
1712
1714
  prompt: buildReactiveRolePrompt(normalizedIssueId, newState, "plan"),
1713
- model: decision.model
1715
+ model: decision.model,
1716
+ startedBy: "reactive-lifecycle"
1714
1717
  })).id}`;
1715
1718
  console.log(`[cloister] ${message}`);
1716
1719
  emitActivityEntrySync({
@@ -1721,7 +1724,28 @@ async function onIssueStateChangePromise(issueId, newState) {
1721
1724
  });
1722
1725
  return;
1723
1726
  }
1724
- const message = `${normalizedIssueId}: ${role} role started from lifecycle state '${newState}' as ${(await spawnRun(normalizedIssueId, role, { prompt: buildReactiveRolePrompt(normalizedIssueId, newState, role) })).id}`;
1727
+ let autoSpawnConsentRequired = false;
1728
+ if (role === "work") {
1729
+ const decision = decideAutonomousWorkDispatch(await gatherAutonomousWorkDispatchInput(normalizedIssueId));
1730
+ if (!decision.allow) {
1731
+ const message = `${normalizedIssueId}: ${decision.reason}`;
1732
+ console.log(`[cloister] ${message}`);
1733
+ emitActivityEntrySync({
1734
+ source: "cloister",
1735
+ level: "warn",
1736
+ message,
1737
+ issueId: normalizedIssueId
1738
+ });
1739
+ await recordDeadEndNeedsYou(normalizedIssueId, "reactive-work-dispatch-pickup-gate", newState, message);
1740
+ return;
1741
+ }
1742
+ autoSpawnConsentRequired = decision.releaseSource === "planning-consent";
1743
+ }
1744
+ const message = `${normalizedIssueId}: ${role} role started from lifecycle state '${newState}' as ${(await spawnRun(normalizedIssueId, role, {
1745
+ prompt: buildReactiveRolePrompt(normalizedIssueId, newState, role),
1746
+ startedBy: "reactive-lifecycle",
1747
+ ...role === "work" ? { autoSpawnConsentRequired } : {}
1748
+ })).id}`;
1725
1749
  console.log(`[cloister] ${message}`);
1726
1750
  emitActivityEntrySync({
1727
1751
  source: "cloister",
@@ -1795,30 +1819,35 @@ function issueStateChangeFromDomainEvent(event) {
1795
1819
  }
1796
1820
  }
1797
1821
  async function handleCloisterDomainEventPromise(event) {
1822
+ if (event.type === "linear_mcp_auth.healthy") {
1823
+ const { processLinearMcpAuthWake } = await import("./linear-mcp-auth-D46fBCLf.js");
1824
+ await processLinearMcpAuthWake();
1825
+ return;
1826
+ }
1798
1827
  if (event.type === "agent.stopped") {
1799
1828
  const agentId = event.payload?.agentId;
1800
1829
  if (agentId) {
1801
- const { handleAgentStoppedEvent, handleAgentStoppedForOrphanReviewerSessions } = await import("./deacon-kiQrb4ZT.js");
1802
- const { handleAgentLifecycleEventForIdleStack } = await import("./idle-stack-reaper-CuLF0j2H.js");
1830
+ const { handleAgentStoppedEvent, handleAgentStoppedForOrphanReviewerSessions } = await import("./deacon-BIblC-WX.js");
1831
+ const { handleAgentLifecycleEventForIdleStack } = await import("./idle-stack-reaper-CRA1e0jr.js");
1803
1832
  handleAgentLifecycleEventForIdleStack(agentId);
1804
1833
  const slotMatch = /^agent-(.+)-slot-\d+$/.exec(agentId);
1805
1834
  await Promise.all([
1806
1835
  handleAgentStoppedEvent(agentId),
1807
1836
  handleAgentStoppedForOrphanReviewerSessions(agentId),
1808
- slotMatch ? (await import("./deacon-swarm-C-GwfjJy.js")).coordinateSwarmSlots({ issueId: slotMatch[1].toUpperCase() }) : Promise.resolve([])
1837
+ slotMatch ? (await import("./deacon-swarm-B1XkIvfr.js")).coordinateSwarmSlots({ issueId: slotMatch[1].toUpperCase() }) : Promise.resolve([])
1809
1838
  ]);
1810
1839
  }
1811
1840
  return;
1812
1841
  }
1813
1842
  if (event.type === "agent.started") {
1814
1843
  const agentId = event.payload?.agentId;
1815
- if (agentId) (await import("./idle-stack-reaper-CuLF0j2H.js")).handleAgentLifecycleEventForIdleStack(agentId);
1844
+ if (agentId) (await import("./idle-stack-reaper-CRA1e0jr.js")).handleAgentLifecycleEventForIdleStack(agentId);
1816
1845
  return;
1817
1846
  }
1818
1847
  if (event.type === "agent.heartbeat_dead") {
1819
1848
  const agentId = event.payload?.agentId;
1820
1849
  if (agentId) {
1821
- const { handleAgentHeartbeatDeadEvent } = await import("./deacon-kiQrb4ZT.js");
1850
+ const { handleAgentHeartbeatDeadEvent } = await import("./deacon-BIblC-WX.js");
1822
1851
  await handleAgentHeartbeatDeadEvent(agentId, "event");
1823
1852
  }
1824
1853
  return;
@@ -1827,7 +1856,7 @@ async function handleCloisterDomainEventPromise(event) {
1827
1856
  const payload = event.payload;
1828
1857
  const issueId = payload?.issueId;
1829
1858
  if (issueId) {
1830
- const { handleReviewCoordinatorDied } = await import("./deacon-kiQrb4ZT.js");
1859
+ const { handleReviewCoordinatorDied } = await import("./deacon-BIblC-WX.js");
1831
1860
  await handleReviewCoordinatorDied(issueId, payload?.sessionName ?? "", payload?.reason ?? "");
1832
1861
  }
1833
1862
  return;
@@ -1835,7 +1864,7 @@ async function handleCloisterDomainEventPromise(event) {
1835
1864
  if (event.type === "work.completed") {
1836
1865
  const issueId = event.payload?.issueId;
1837
1866
  if (issueId) {
1838
- const { handleWorkCompleted } = await import("./deacon-kiQrb4ZT.js");
1867
+ const { handleWorkCompleted } = await import("./deacon-BIblC-WX.js");
1839
1868
  await handleWorkCompleted(issueId);
1840
1869
  }
1841
1870
  }
@@ -1846,12 +1875,12 @@ async function handleCloisterDomainEventPromise(event) {
1846
1875
  const status = payload?.status?.toLowerCase();
1847
1876
  if (issueId) {
1848
1877
  if (canonicalStatus === "closed" || status === "closed") {
1849
- const { handleIssueStatusChangedClosed } = await import("./closed-issue-reaper-CktPXo8m.js");
1878
+ const { handleIssueStatusChangedClosed } = await import("./closed-issue-reaper-DHRfRMrp.js");
1850
1879
  await handleIssueStatusChangedClosed(issueId);
1851
1880
  return;
1852
1881
  }
1853
1882
  if (canonicalStatus === "todo" || status === "planned" || status === "todo") {
1854
- const { handleOrphanProposedSpec } = await import("./orphan-proposed-reconciler-CTSGcK8p.js");
1883
+ const { handleOrphanProposedSpec } = await import("./orphan-proposed-reconciler-DcgTPPFY.js");
1855
1884
  await handleOrphanProposedSpec(issueId);
1856
1885
  }
1857
1886
  }
@@ -2549,7 +2578,7 @@ async function performHealthCheck(host) {
2549
2578
  for (const health of needsAttention) {
2550
2579
  const idleAgentState = getAgentStateSync(health.agentId);
2551
2580
  if (idleAgentState?.role === "sequencer") continue;
2552
- const { shouldSkipIdlePokeForAgent } = await import("./stuck-remediation-s9_2qfi6.js");
2581
+ const { shouldSkipIdlePokeForAgent } = await import("./stuck-remediation-r1TJu68G.js");
2553
2582
  if (shouldSkipIdlePokeForAgent(idleAgentState)) {
2554
2583
  host.pokeProgress.delete(health.agentId);
2555
2584
  continue;
@@ -2796,7 +2825,7 @@ async function checkCompletionMarkers(host) {
2796
2825
  if (retryCount === Infinity) host.processedCompletions.delete(dir.name);
2797
2826
  else if (retryCount >= 3) continue;
2798
2827
  const issueId = dir.name.replace("agent-", "").toUpperCase();
2799
- const { getReviewStatusSync } = await import("./review-status-btEYlaxA.js");
2828
+ const { getReviewStatusSync } = await import("./review-status-Dma9SFaN.js");
2800
2829
  const existingReview = getReviewStatusSync(issueId);
2801
2830
  if (existingReview && ["reviewing", "passed"].includes(existingReview.reviewStatus || "")) {
2802
2831
  console.log(`🔔 Cloister: Completion marker for ${issueId} — review already ${existingReview.reviewStatus}, marking processed`);
@@ -2917,11 +2946,16 @@ async function progressFingerprint(_host, agentId) {
2917
2946
  const state = getAgentStateSync(agentId);
2918
2947
  let head = "";
2919
2948
  if (state?.workspace) try {
2920
- const { stdout } = await execAsync("git rev-parse HEAD", {
2921
- cwd: state.workspace,
2922
- encoding: "utf-8"
2923
- });
2924
- head = stdout.trim();
2949
+ if (state.issueId) {
2950
+ const { snapshotWorkspaceHeadsPromise } = await import("./git-utils-Xg4PFN45.js");
2951
+ head = await snapshotWorkspaceHeadsPromise(state.issueId, state.workspace) ?? "";
2952
+ } else {
2953
+ const { stdout } = await execAsync("git rev-parse HEAD", {
2954
+ cwd: state.workspace,
2955
+ encoding: "utf-8"
2956
+ });
2957
+ head = stdout.trim();
2958
+ }
2925
2959
  } catch {}
2926
2960
  let pane = "";
2927
2961
  try {
@@ -2951,7 +2985,7 @@ async function pokeAgentWithEscalation(host, agentId) {
2951
2985
  ineffective
2952
2986
  });
2953
2987
  if (ineffective >= 4) {
2954
- const { setAgentPausedSync } = await import("./agent-state-Bc3tzUC8.js");
2988
+ const { setAgentPausedSync } = await import("./agent-state-CYXJVG72.js");
2955
2989
  try {
2956
2990
  setAgentPausedSync(agentId, `needs-you: idle-alive — no observable progress across ${ineffective + 1} pokes (idle-alive escalation)`);
2957
2991
  host.emit({
@@ -3042,7 +3076,7 @@ async function handleAgentCrash(host, agentId) {
3042
3076
  if (skipReason) {
3043
3077
  let recoverUnfinishedOneShot = false;
3044
3078
  if (ONE_SHOT_ROLES.has(agentState.role) && agentState.sessionId && agentState.issueId) try {
3045
- const { getReviewStatusSync } = await import("./review-status-btEYlaxA.js");
3079
+ const { getReviewStatusSync } = await import("./review-status-Dma9SFaN.js");
3046
3080
  const status = getReviewStatusSync(agentState.issueId);
3047
3081
  recoverUnfinishedOneShot = !(status ? isRoleTerminal(agentState.role, {
3048
3082
  reviewStatus: status.reviewStatus,
@@ -3126,11 +3160,16 @@ async function restartAgent(_host, agentId) {
3126
3160
  if (!agentState?.sessionId) throw new Error(`No session ID found for agent ${agentId}`);
3127
3161
  if (!agentState.workspace) throw new Error(`No workspace found for agent ${agentId}`);
3128
3162
  console.log(`🔔 Restarting ${agentId} with session ${agentState.sessionId.substring(0, 8)}...`);
3163
+ saveAgentStateSync({
3164
+ ...agentState,
3165
+ startedBy: "deacon:crash-respawn"
3166
+ });
3129
3167
  runtime.spawnAgent({
3130
3168
  agentId,
3131
3169
  workspace: agentState.workspace,
3132
3170
  sessionId: agentState.sessionId,
3133
- runtime: runtime.name
3171
+ runtime: runtime.name,
3172
+ env: { OVERDECK_AGENT_STARTED_BY: "deacon:crash-respawn" }
3134
3173
  });
3135
3174
  console.log(`🔔 Successfully restarted ${agentId}`);
3136
3175
  }
@@ -3478,7 +3517,7 @@ var CloisterService = class {
3478
3517
  let clearedSpecialistCount = 0;
3479
3518
  try {
3480
3519
  if (existsSync(AGENTS_DIR)) {
3481
- const { isRunning: isSpecialistRunning } = await import("./specialists-DM6bWjsi.js");
3520
+ const { isRunning: isSpecialistRunning } = await import("./specialists-Bz-wFT7R.js");
3482
3521
  const entries = readdirSync(AGENTS_DIR, { withFileTypes: true });
3483
3522
  for (const entry of entries) {
3484
3523
  if (!entry.isDirectory()) continue;
@@ -3513,8 +3552,8 @@ var CloisterService = class {
3513
3552
  }
3514
3553
  try {
3515
3554
  const reviewStatuses = loadReviewStatuses();
3516
- const { resolveProjectFromIssueSync } = await import("./projects-vjjcmiN8.js");
3517
- const { getTmuxSessionName, getAllProjectSpecialistStatuses } = await import("./specialists-DM6bWjsi.js");
3555
+ const { resolveProjectFromIssueSync } = await import("./projects-_n3Zui6K.js");
3556
+ const { getTmuxSessionName, getAllProjectSpecialistStatuses } = await import("./specialists-Bz-wFT7R.js");
3518
3557
  const activeReviewIssues = /* @__PURE__ */ new Set();
3519
3558
  try {
3520
3559
  const projSpecs = await getAllProjectSpecialistStatuses();
@@ -3525,7 +3564,7 @@ var CloisterService = class {
3525
3564
  }
3526
3565
  const globalRs = getAgentRuntimeStateSync(getTmuxSessionName("review-agent"));
3527
3566
  if (globalRs?.state === "active" && globalRs.currentIssue) activeReviewIssues.add(globalRs.currentIssue.toUpperCase());
3528
- const { listRunningAgents } = await import("./agents-wi9NWzs2.js");
3567
+ const { listRunningAgents } = await import("./agents-ePFVoZbu.js");
3529
3568
  const agents = await Effect.runPromise(listRunningAgents());
3530
3569
  for (const agent of agents) {
3531
3570
  if (agent.status === "stopped" || agent.status === "error") continue;
@@ -3568,7 +3607,7 @@ var CloisterService = class {
3568
3607
  continue;
3569
3608
  }
3570
3609
  const branch = `feature/${issueId.toLowerCase()}`;
3571
- const { spawnReviewRoleForIssue } = await import("./review-agent-DNboMyW4.js");
3610
+ const { spawnReviewRoleForIssue } = await import("./review-agent-BTCNkq2h.js");
3572
3611
  const dispatchResult = await Effect.runPromise(spawnReviewRoleForIssue({
3573
3612
  issueId,
3574
3613
  workspace,
@@ -3635,6 +3674,13 @@ var CloisterService = class {
3635
3674
  message: "Cloister agent watchdog started"
3636
3675
  });
3637
3676
  await this.subscribeToDomainEvents();
3677
+ try {
3678
+ const { processLinearMcpAuthWake } = await import("./linear-mcp-auth-D46fBCLf.js");
3679
+ await processLinearMcpAuthWake();
3680
+ console.log(" ✓ Reconciled pending Linear MCP auth wakes");
3681
+ } catch (error) {
3682
+ console.error(" ✗ Failed to recover pending Linear MCP auth wakes:", error);
3683
+ }
3638
3684
  this.startMonitoringLoop();
3639
3685
  }
3640
3686
  async subscribeToDomainEvents() {
@@ -3656,7 +3702,7 @@ var CloisterService = class {
3656
3702
  console.log(" ✓ Cloister event store provider installed");
3657
3703
  return;
3658
3704
  }
3659
- const { initEventStore } = await import("./event-store-EV2cMiXj.js");
3705
+ const { initEventStore } = await import("./event-store-5UKzh9Jf.js");
3660
3706
  const store = await initEventStore();
3661
3707
  this.eventStore = store;
3662
3708
  this.domainEventUnsubscribe = store.subscribe((event) => {
@@ -4006,4 +4052,4 @@ function getCloisterService() {
4006
4052
  //#endregion
4007
4053
  export { performHandoff as a, getAgentsNeedingAttention as c, CostResolverLive as d, CostWriter as f, checkAllTriggers as i, CostDoorLive as l, readCloisterStateFile as n, generateHealthSummary as o, setCloisterEventStoreProvider as r, getAgentHealth as s, getCloisterService as t, CostResolver as u };
4008
4054
 
4009
- //# sourceMappingURL=service-CLeAoU6G.js.map
4055
+ //# sourceMappingURL=service-CD0DvFvD.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Nr as encodeClaudeProjectDir, Vr as init_paths } from "./config-yaml-DySPNmKN.js";
2
+ import { li as init_paths, ti as encodeClaudeProjectDir } from "./config-yaml-CxdwhAIA.js";
3
3
  import { join } from "node:path";
4
4
  import { mkdir, readFile, writeFile } from "node:fs/promises";
5
5
  import { randomUUID } from "node:crypto";
@@ -96,4 +96,4 @@ __esmMin((() => {
96
96
  }))();
97
97
  export { copySessionForFork, reserveForkSession };
98
98
 
99
- //# sourceMappingURL=session-fork-CHI1XvL9.js.map
99
+ //# sourceMappingURL=session-fork-B6cQ5eya.js.map
@@ -1,12 +1,12 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-DySPNmKN.js";
3
- import { o as getHarnessBehavior } from "./src-DtcUOZCq.js";
4
- import { t as init_behavior } from "./behavior-B3exJ42O.js";
2
+ import { ci as getOverdeckHome, li as init_paths } from "./config-yaml-CxdwhAIA.js";
3
+ import { s as getHarnessBehavior } from "./src-B948bGVR.js";
4
+ import { n as logAgentLifecycleSync, t as init_persistent_logger } from "./persistent-logger-H_VjuOu7.js";
5
+ import { t as init_behavior } from "./behavior-td6-xhQk.js";
5
6
  import { Effect } from "effect";
6
- import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
7
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
7
8
  import { join } from "path";
8
9
  import { randomUUID } from "crypto";
9
- import "fs/promises";
10
10
  //#region ../../lib/agent-runtime-mirror.ts
11
11
  /**
12
12
  * PAN-800 — in-process mirror of AgentStateService's canonical ref.
@@ -39,54 +39,6 @@ var init_agent_runtime_mirror = __esmMin((() => {
39
39
  inProcessService = false;
40
40
  }));
41
41
  //#endregion
42
- //#region ../../lib/persistent-logger.ts
43
- /**
44
- * Append-only persistent logger for forensic audit trails.
45
- *
46
- * Complements the SQLite event store (activity-logger.ts) with flat-file logs
47
- * that survive event-store resets and are greppable from the shell.
48
- *
49
- * Files:
50
- * ~/.overdeck/logs/deacon.log — deacon startup recovery actions
51
- * ~/.overdeck/agents/<id>/lifecycle.log — per-agent state transitions
52
- */
53
- function logsDir() {
54
- return join(getOverdeckHome(), "logs");
55
- }
56
- function agentDir(agentId) {
57
- return join(getOverdeckHome(), "agents", agentId);
58
- }
59
- function ensureLogsDir() {
60
- try {
61
- mkdirSync(logsDir(), { recursive: true });
62
- } catch {}
63
- }
64
- function ensureAgentDir(agentId) {
65
- try {
66
- mkdirSync(agentDir(agentId), { recursive: true });
67
- } catch {}
68
- }
69
- function timestamp() {
70
- return (/* @__PURE__ */ new Date()).toISOString();
71
- }
72
- /** Append a line to ~/.overdeck/logs/deacon.log */
73
- function logDeaconEventSync(message) {
74
- ensureLogsDir();
75
- try {
76
- appendFileSync(join(logsDir(), "deacon.log"), `[${timestamp()}] ${message}\n`);
77
- } catch {}
78
- }
79
- /** Append a line to ~/.overdeck/agents/<agentId>/lifecycle.log */
80
- function logAgentLifecycleSync(agentId, message) {
81
- ensureAgentDir(agentId);
82
- try {
83
- appendFileSync(join(agentDir(agentId), "lifecycle.log"), `[${timestamp()}] ${message}\n`);
84
- } catch {}
85
- }
86
- var init_persistent_logger = __esmMin((() => {
87
- init_paths();
88
- }));
89
- //#endregion
90
42
  //#region ../../lib/session-history.ts
91
43
  /**
92
44
  * PAN-1989: durably record a Claude session id in the agent's append-only
@@ -163,6 +115,6 @@ var init_session_history = __esmMin((() => {
163
115
  init_persistent_logger();
164
116
  }));
165
117
  //#endregion
166
- export { persistCurrentSessionId as a, logDeaconEventSync as c, isAgentStateServiceInProcess as d, markAgentStateServiceInProcess as f, logLauncherSessionPinned as i, getRuntimeSnapshot as l, createFreshSessionIdentity as n, init_persistent_logger as o, setAgentRuntimeMirror as p, init_session_history as r, logAgentLifecycleSync as s, appendSessionIdToHistory as t, init_agent_runtime_mirror as u };
118
+ export { persistCurrentSessionId as a, isAgentStateServiceInProcess as c, logLauncherSessionPinned as i, markAgentStateServiceInProcess as l, createFreshSessionIdentity as n, getRuntimeSnapshot as o, init_session_history as r, init_agent_runtime_mirror as s, appendSessionIdToHistory as t, setAgentRuntimeMirror as u };
167
119
 
168
- //# sourceMappingURL=session-history-BT3IvqhC.js.map
120
+ //# sourceMappingURL=session-history-3ON_IJjm.js.map
@@ -0,0 +1,2 @@
1
+ import { t as getAgentCommandSync } from "./settings-PilbFZAM.js";
2
+ export { getAgentCommandSync };
@@ -1,4 +1,4 @@
1
- import { Vr as init_paths, mr as init_errors } from "./config-yaml-DySPNmKN.js";
1
+ import { Fr as init_errors, li as init_paths } from "./config-yaml-CxdwhAIA.js";
2
2
  import "effect";
3
3
  import "fs";
4
4
  //#region ../../lib/settings.ts
@@ -18,6 +18,7 @@ function isAnthropicModelSync(modelId) {
18
18
  function getClaudeModelFlagSync(modelId) {
19
19
  return {
20
20
  "claude-fable-5": "claude-fable-5",
21
+ "claude-opus-5": "claude-opus-5",
21
22
  "claude-opus-4-8": "opus",
22
23
  "claude-opus-4-7": "opus",
23
24
  "claude-opus-4-6": "opus",
@@ -45,4 +46,4 @@ function getAgentCommandSync(modelId) {
45
46
  //#endregion
46
47
  export { getClaudeModelFlagSync as n, isAnthropicModelSync as r, getAgentCommandSync as t };
47
48
 
48
- //# sourceMappingURL=settings-C0zgxOGf.js.map
49
+ //# sourceMappingURL=settings-PilbFZAM.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { h as jsYaml, m as init_js_yaml, o as getGlobalConfigPath, t as init_config_yaml } from "./config-yaml-DySPNmKN.js";
3
- import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-ez2271oH.js";
2
+ import { h as jsYaml, m as init_js_yaml, o as getGlobalConfigPath, t as init_config_yaml } from "./config-yaml-CxdwhAIA.js";
3
+ import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-D5km80UI.js";
4
4
  import { readFile } from "fs/promises";
5
5
  //#region ../../lib/memory/settings.ts
6
6
  async function loadMemorySettings(configPath = getGlobalConfigPath()) {
@@ -101,4 +101,4 @@ var init_settings = __esmMin((() => {
101
101
  //#endregion
102
102
  export { isMemoryKnowledgeIndexEnabled as a, init_settings as i, getMemoryRollupPendingThreshold as n, isMemoryPromptTimeInjectionEnabled as o, getMemoryWorkerConcurrency as r, loadMemorySettings as s, areMemoryObservationsEnabled as t };
103
103
 
104
- //# sourceMappingURL=settings-BTMvpNFU.js.map
104
+ //# sourceMappingURL=settings-VN0qOh4U.js.map
@@ -1,5 +1,5 @@
1
- import { a as PAN_DIRNAME } from "./types-hraoaQIp.js";
2
- import { t as init_pan_dir } from "./pan-dir-B0c3w0Ya.js";
1
+ import { a as PAN_DIRNAME } from "./types-Cm5ASJbq.js";
2
+ import { t as init_pan_dir } from "./pan-dir-DMzF5wne.js";
3
3
  import { Data, Effect } from "effect";
4
4
  import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "fs";
5
5
  import { join } from "path";
@@ -221,4 +221,4 @@ init_pan_dir();
221
221
  //#endregion
222
222
  export { gatherArtifacts, generateBasicInference, runObserverCycle, updateInferenceDocumentSync };
223
223
 
224
- //# sourceMappingURL=shadow-engineering-BJfgm-hX.js.map
224
+ //# sourceMappingURL=shadow-engineering-DXvx77oE.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-DySPNmKN.js";
2
+ import { ci as getOverdeckHome, li as init_paths } from "./config-yaml-CxdwhAIA.js";
3
3
  import { Data, Effect } from "effect";
4
4
  import { existsSync, mkdirSync, unlinkSync } from "fs";
5
5
  import { join } from "path";
@@ -287,4 +287,4 @@ var init_shadow_state = __esmMin((() => {
287
287
  //#endregion
288
288
  export { getShadowState as a, isShadowed as c, needsSync as d, removeShadowState as f, getPendingSyncCount as i, listShadowedIssues as l, updateTrackerStatusCache as m, createShadowState as n, getUnsyncedHistory as o, updateShadowState as p, getDisplayStatus as r, init_shadow_state as s, ShadowStateError as t, markAsSynced as u };
289
289
 
290
- //# sourceMappingURL=shadow-state-7a-524T8.js.map
290
+ //# sourceMappingURL=shadow-state-BBk_zacw.js.map
@@ -1,3 +1,3 @@
1
- import { a as getShadowState, c as isShadowed, d as needsSync, f as removeShadowState, i as getPendingSyncCount, l as listShadowedIssues, m as updateTrackerStatusCache, n as createShadowState, o as getUnsyncedHistory, p as updateShadowState, r as getDisplayStatus, s as init_shadow_state, t as ShadowStateError, u as markAsSynced } from "./shadow-state-7a-524T8.js";
1
+ import { a as getShadowState, c as isShadowed, d as needsSync, f as removeShadowState, i as getPendingSyncCount, l as listShadowedIssues, m as updateTrackerStatusCache, n as createShadowState, o as getUnsyncedHistory, p as updateShadowState, r as getDisplayStatus, s as init_shadow_state, t as ShadowStateError, u as markAsSynced } from "./shadow-state-BBk_zacw.js";
2
2
  init_shadow_state();
3
3
  export { ShadowStateError, createShadowState, getDisplayStatus, getPendingSyncCount, getShadowState, getUnsyncedHistory, isShadowed, listShadowedIssues, markAsSynced, needsSync, removeShadowState, updateShadowState, updateTrackerStatusCache };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { ir as FsError, mr as init_errors } from "./config-yaml-DySPNmKN.js";
2
+ import { Fr as init_errors, Tr as FsError } from "./config-yaml-CxdwhAIA.js";
3
3
  import { Effect } from "effect";
4
4
  import { existsSync, readFileSync } from "fs";
5
5
  import { join } from "path";
@@ -36,4 +36,4 @@ var init_shadow_utils = __esmMin((() => {
36
36
  //#endregion
37
37
  export { init_shadow_utils as n, getLinearApiKey as t };
38
38
 
39
- //# sourceMappingURL=shadow-utils-Db3oroFG.js.map
39
+ //# sourceMappingURL=shadow-utils-DdZ05AJS.js.map
@@ -36,4 +36,4 @@ function getShipLog(issueId) {
36
36
  //#endregion
37
37
  export { appendShipLog, beginShipLog, getShipLog };
38
38
 
39
- //# sourceMappingURL=ship-log-D9MlVzYU.js.map
39
+ //# sourceMappingURL=ship-log-7kJfjUX2.js.map
@@ -1,3 +1,3 @@
1
- import { a as runModelSummary, c as truncateHeadTail, i as parseEntries, n as generateSummaryFromPrompt, o as serializeConversation, r as init_smart_compaction, s as summarizeSerializedText, t as generateSmartSummary } from "./smart-compaction-KCYScAU1.js";
1
+ import { a as runModelSummary, c as truncateHeadTail, i as parseEntries, n as generateSummaryFromPrompt, o as serializeConversation, r as init_smart_compaction, s as summarizeSerializedText, t as generateSmartSummary } from "./smart-compaction-ByhL9cRS.js";
2
2
  init_smart_compaction();
3
3
  export { generateSmartSummary, generateSummaryFromPrompt, parseEntries, runModelSummary, serializeConversation, summarizeSerializedText, truncateHeadTail };