@overdeck/desktop 0.45.23 → 0.46.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 (549) hide show
  1. package/drizzle/overdeck/0000_overdeck_init.sql +34 -0
  2. package/package.json +1 -1
  3. package/server/{acceptance-criteria-DOA0KgXx.js → acceptance-criteria-CCwFGICj.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-BBu6DSNm.js → advancing-selfheal-De1L-Sb4.js} +6 -6
  7. package/server/{agent-gc-BV1q_2EV.js → agent-gc-CBULruzm.js} +5 -5
  8. package/server/agent-state-VQk8fY9F.js +3 -0
  9. package/server/{agent-state-service-HoK8U4jW.js → agent-state-service-BlnSkRFA.js} +5 -5
  10. package/server/{agent-state-service-CnzFKSAQ.js → agent-state-service-hZpxIw1E.js} +1 -1
  11. package/server/agents-BKKkxKgK.js +3 -0
  12. package/server/{agents-B4Bjbkfv.js → agents-C5rWYhb6.js} +4 -4
  13. package/server/archive-planning-0FJ6Xd3b.js +2 -0
  14. package/server/{archive-planning-DYrYojxl.js → archive-planning-C0lAbNB_.js} +16 -24
  15. package/server/{artifact-index-jobs-C-xy7Z5v.js → artifact-index-jobs-ug6ZxIP5.js} +2 -2
  16. package/server/assemble-DnffNpOo.js +339 -0
  17. package/server/{backlog-auto-trigger-GtG71X8H.js → backlog-auto-trigger-Dh-i9PQf.js} +3 -3
  18. package/server/{behavior-B_-4EKF3.js → behavior-CfIg6pKp.js} +2 -2
  19. package/server/bridge-pool-patrol-CUFmjVDN.js +136 -0
  20. package/server/{briefing-freshness-DWdW7vUm.js → briefing-freshness-DHmCSLar.js} +2 -2
  21. package/server/{build-info-DgTqZkL5.js → build-info-BP160gU7.js} +1 -1
  22. package/server/{build-info-BT096lEl.js → build-info-CuFfxZxp.js} +5 -3
  23. package/server/{checkpoint-manager-DDqcGyu8.js → checkpoint-manager-DEWD82qK.js} +2 -2
  24. package/server/{checkpoint-manager-B7Bt29J0.js → checkpoint-manager-Dxh0FYsv.js} +1 -1
  25. package/server/checkpoint-worker.js +1 -1
  26. package/server/{checkpoints-C-AXLfYT.js → checkpoints-CZvbtLnr.js} +2 -2
  27. package/server/{checkpoints-CpgCjAlN.js → checkpoints-DMTgXuLG.js} +1 -1
  28. package/server/{claude-hooks-provision-C8wdRnN1.js → claude-hooks-provision-CN-xo-do.js} +1 -1
  29. package/server/{claude-hooks-provision-but-_qGY.js → claude-hooks-provision-fvy4RD2b.js} +13 -2
  30. package/server/{claude-permissions-H_5wHQZQ.js → claude-permissions-CN0cSCPp.js} +2 -2
  31. package/server/{claude-settings-overlay-CbSz0Dvb.js → claude-settings-overlay-CJn35FHQ.js} +2 -2
  32. package/server/{claude-settings-overlay-BTENVmYf.js → claude-settings-overlay-Dabi9slj.js} +1 -1
  33. package/server/cli-DmXETsw-.js +3 -0
  34. package/server/{cli-vBeXbPrq.js → cli-oCWYA1pE.js} +9 -9
  35. package/server/{cliproxy-Bgb2XCqi.js → cliproxy-C8mB3KuB.js} +2 -2
  36. package/server/{cliproxy-DW0V86F8.js → cliproxy-PGwTX_o8.js} +1 -1
  37. package/server/{close-issue-Dn_4c4G8.js → close-issue-D5MF5GqF.js} +5 -5
  38. package/server/{closed-issue-reaper-CWpY2uBw.js → closed-issue-reaper-CJ24u0Zt.js} +1 -1
  39. package/server/{closed-issue-reaper-hANY_ehE.js → closed-issue-reaper-Cltx86x5.js} +37 -16
  40. package/server/{codex-Dg7Is5yb.js → codex-BdEsUFWh.js} +1 -1
  41. package/server/{codex-TmSi-yTv.js → codex-Drlf5Xhf.js} +37 -8
  42. package/server/{codex-parser-C4gSH-IR.js → codex-parser-DpB89Vqa.js} +2 -2
  43. package/server/compaction-continuation-K2AxQX4H.js +200 -0
  44. package/server/{config-DjLOdbgT.js → config-B2IMcBxx.js} +4 -3
  45. package/server/{config-DUIhMN_T.js → config-DV-grfQc.js} +1 -1
  46. package/server/{config-CCvjQf27.js → config-Dr3pW6w6.js} +2 -2
  47. package/server/{config-yaml-DvyMuOle.js → config-yaml-CmOPzmBb.js} +290 -22
  48. package/server/{conflict-gate-CmrYpa47.js → conflict-gate-B9cN3SBi.js} +4 -4
  49. package/server/{conflict-gate-BSJkNTdp.js → conflict-gate-Dh754uyA.js} +1 -1
  50. package/server/context-layers-D6LZo3l1.js +4 -0
  51. package/server/context-layers-dR5YxHYB.js +37 -0
  52. package/server/{control-settings-aP1ANIlI.js → control-settings-C7DUehE1.js} +49 -19
  53. package/server/{conversation-compaction-CNbTLB86.js → conversation-compaction-BoqdDXWF.js} +8 -8
  54. package/server/{conversation-compaction-DiG5zWQq.js → conversation-compaction-Dj4FAKoZ.js} +1 -1
  55. package/server/{conversation-service-Du-MTNpJ.js → conversation-service-5aCnq1zR.js} +331 -20
  56. package/server/conversation-service-BCxl4f8Z.js +3 -0
  57. package/server/{conversations-DbOs1e9Q.js → conversations-BUpYsOZg.js} +5 -5
  58. package/server/{conversations-6mPANqvL.js → conversations-C34dyIb9.js} +1 -1
  59. package/server/{cost-Ca0YTWDw.js → cost-Bgcub5kW.js} +12 -2
  60. package/server/{cost-CW4WSe72.js → cost-CvxRrucd.js} +3 -3
  61. package/server/{cost-sync-C0VdGme1.js → cost-sync-Dv3LUaNW.js} +3 -3
  62. package/server/{dag-CdOjJVDT.js → dag-ombYYt4s.js} +2 -2
  63. package/server/{dangerous-git-ops-CT-IypG3.js → dangerous-git-ops-BcJPC5Rr.js} +1 -1
  64. package/server/dashboard-db-worker.js +7 -7
  65. package/server/deacon-DrXqT9LQ.js +4 -0
  66. package/server/{deacon-pRnyD5w9.js → deacon-hi9KLPLT.js} +2998 -2659
  67. package/server/{deacon-nudge-log-Bjg8U4Y9.js → deacon-nudge-log-BNBebzeL.js} +3 -3
  68. package/server/deacon-pending-lifecycle-Cpk0k7Hi.js +33 -0
  69. package/server/{deacon-swarm-DftYRDo8.js → deacon-swarm-DBxUaO-A.js} +13 -13
  70. package/server/deacon-swarm-I2JfX5Tg.js +2 -0
  71. package/server/deacon.js +14 -19
  72. package/server/dead-end-trip-CQcP70ND.js +13 -0
  73. package/server/delivery-Da0zEMY4.js +3 -0
  74. package/server/{deploy-patrol-Bjsho_ha.js → deploy-patrol-Df-Tmaq0.js} +69 -18
  75. package/server/deploy-queue-9SrhZR63.js +3 -0
  76. package/server/deploy-queue-UjKGYsDe.js +169 -0
  77. package/server/deploy-window-jOiPRHL0.js +3 -0
  78. package/server/{deploy-window-DeP_OIRk.js → deploy-window-rpqpWqHA.js} +40 -16
  79. package/server/{dev-supervisor-BpMoHlkR.js → dev-supervisor-CC46Ig8q.js} +2 -2
  80. package/server/{devcontainer-renderer-CtUgrVKW.js → devcontainer-renderer-68CSCRnu.js} +3 -3
  81. package/server/{dist-DyRx4cI7.js → dist-CJy72uEg.js} +1 -1
  82. package/server/dist-DSlxIU1H.js +3 -0
  83. package/server/{dist-src-BSoS7mkd.js → dist-src-Bik83hFi.js} +1 -1
  84. package/server/docker-BMVTSFL5.js +3 -0
  85. package/server/{docker-BK7HIcBj.js → docker-Dam7mbIB.js} +2 -2
  86. package/server/{dod-BrSfUHm0.js → dod-Dar-yheg.js} +8 -4
  87. package/server/durable-review-pipeline-CGZ5QBxh.js +17 -0
  88. package/server/durable-review-pipeline-jpgCJZFp.js +3 -0
  89. package/server/{ensure-devcontainer-DseivYEy.js → ensure-devcontainer-B057YA81.js} +4 -4
  90. package/server/{ensure-devcontainer-DRqaAkBR.js → ensure-devcontainer-C98V8yW-.js} +1 -1
  91. package/server/{esm-shims-CbI3BVkl.js → esm-shims-Br9BPdkR.js} +1 -1
  92. package/server/{event-store-Cr5PQwFC.js → event-store-ELqkVOn0.js} +1 -1
  93. package/server/{event-store-tdiY5eDZ.js → event-store-zY5MJHgF.js} +23 -4
  94. package/server/{events-CvvGK6LT.js → events-D6pyqhzM.js} +1 -1
  95. package/server/{events-CC1dgUpx.js → events-D9PR1IC0.js} +3 -3
  96. package/server/{factory-CynerjXO.js → factory-CRoOpGsF.js} +5 -5
  97. package/server/{feature-registry-population-B0pmAz0a.js → feature-registry-population--YUXU999.js} +4 -4
  98. package/server/{feature-registry-storage-_wUBRD3J.js → feature-registry-storage-BORBTo0y.js} +2 -2
  99. package/server/{features-Dhxz-wLc.js → features--nFkJY8v.js} +2 -2
  100. package/server/{feedback-target-iygZwmMc.js → feedback-target-C0ZzyHvU.js} +1 -1
  101. package/server/{feedback-target-CPS15Vte.js → feedback-target-Dt9BsapX.js} +8 -8
  102. package/server/{feedback-writer-C9b6ccN1.js → feedback-writer-BG0RUZiu.js} +5 -5
  103. package/server/{feedback-writer-qmiMbqTZ.js → feedback-writer-D1fm-5Z8.js} +1 -1
  104. package/server/flywheel-BekukH4i.js +2 -0
  105. package/server/flywheel-BiT3odRb.js +1092 -0
  106. package/server/flywheel-CLVB55Be.js +478 -0
  107. package/server/flywheel-merge-order-BJv1DZz1.js +462 -0
  108. package/server/flywheel-merge-order-BKw9o6ku.js +2 -0
  109. package/server/forge-CZbSg6Ds.js +383 -0
  110. package/server/forge-DK3blQb_.js +3 -0
  111. package/server/{from-CJ_aH5jD.js → from-D_4_dk7i.js} +1 -1
  112. package/server/{fts-db-CKgg0VKg.js → fts-db-BeOomFa-.js} +2 -2
  113. package/server/{fts-operations-BrL_VTRr.js → fts-operations-BdewJ_g9.js} +2 -2
  114. package/server/git-utils-CI6cwyyC.js +3 -0
  115. package/server/{git-utils-BVa07a4a.js → git-utils-ameCgDdy.js} +93 -3
  116. package/server/{github-app-CMBdIFBQ.js → github-app-CQ1Lo6LA.js} +19 -8
  117. package/server/{github-app-CPfoFAdV.js → github-app-DtAsvwzK.js} +1 -1
  118. package/server/{github-client--XVlDpwM.js → github-client-BfyDxuRN.js} +2 -2
  119. package/server/{github-client-B4QsdE-X.js → github-client-Cj0yl_07.js} +1 -1
  120. package/server/github-pr-lookup-BDq6Wznz.js +58 -0
  121. package/server/{harness-binary-CVio2m-u.js → harness-binary-DqkftwTb.js} +32 -6
  122. package/server/{harness-resolve-qHJBhy3Z.js → harness-resolve-CqMqM1Mb.js} +18 -9
  123. package/server/{health-events-C9B8y1Hm.js → health-events-CazRxJUS.js} +2 -2
  124. package/server/{health-events-CpfvuVmm.js → health-events-_xfTaOUs.js} +1 -1
  125. package/server/{hooks-DUXw8A0-.js → hooks-BO3QT1sn.js} +2 -2
  126. package/server/{hooks-ltecuFqZ.js → hooks-BnJsxlSq.js} +1 -1
  127. package/server/{hume-BEq0bUDg.js → hume-CDYJxqx-.js} +2 -2
  128. package/server/hume-Dq--7rOQ.js +3 -0
  129. package/server/{idle-stack-reaper-D7w9t3fE.js → idle-stack-reaper-BYqERdkE.js} +1 -1
  130. package/server/{idle-stack-reaper-w1ISSlhs.js → idle-stack-reaper-CnGx_PO_.js} +99 -6
  131. package/server/in-flight-guard-Bq3epG58.js +45 -0
  132. package/server/{infra-CzaSOgul.js → infra-BjuxvjdS.js} +80 -5
  133. package/server/{injection-oNZeoDhL.js → injection-DZxlV2al.js} +1 -1
  134. package/server/{injection-DZ0PfYa4.js → injection-UCf8EsjX.js} +191 -183
  135. package/server/{inspect-agent-DJKLWcVT.js → inspect-agent-6kylZnrm.js} +139 -82
  136. package/server/inspect-agent-BVwDrVrz.js +2 -0
  137. package/server/{internal-token-Bb4XeV2x.js → internal-token-DvMTQSOS.js} +2 -2
  138. package/server/{internal-token-DXdfprGr.js → internal-token-M9omeXM1.js} +1 -1
  139. package/server/{io-B3_AHDfr.js → io-VHvc0Ssp.js} +43 -26
  140. package/server/{issue-closed-zhdvQicO.js → issue-closed-B6KJkmHZ.js} +7 -7
  141. package/server/{issue-lifecycle-Dy4vd0Oa.js → issue-lifecycle-9gk3fnXN.js} +1 -1
  142. package/server/{issue-lifecycle-CreaCkjW.js → issue-lifecycle-C4Zj0WmE.js} +34 -28
  143. package/server/{issue-service-singleton-B5ushCvE.js → issue-service-singleton-DmCh7EHj.js} +10 -10
  144. package/server/{issue-service-singleton-DabvBWUp.js → issue-service-singleton-PMx8F1jr.js} +1 -1
  145. package/server/{issues-B6ToV6x1.js → issues-CgnQ1OGQ.js} +2 -2
  146. package/server/{jsonl-parser-Dhflo1SH.js → jsonl-parser-DJOH_O-w.js} +5 -4
  147. package/server/{label-cleanup-BKPJm4Hv.js → label-cleanup-Dv7AV_R1.js} +3 -3
  148. package/server/{label-reconciler-DdWbHEBu.js → label-reconciler--F85rufp.js} +4 -4
  149. package/server/{lifecycle-DfeyBDwA.js → lifecycle-CTdOWYMi.js} +2 -2
  150. package/server/{lifecycle-sycO16hj.js → lifecycle-DDN8ApVY.js} +6 -7
  151. package/server/{lifecycle-io-D8iNBcux.js → lifecycle-io-D-lGdzK3.js} +5 -5
  152. package/server/{lifecycle-io-Bsnr2K4F.js → lifecycle-io-D_zTLvP1.js} +1 -1
  153. package/server/{linear-client-D4zqMnX7.js → linear-client-BQU36QqE.js} +2 -2
  154. package/server/{linear-client-DqhDQO9k.js → linear-client-CY4O_Tu3.js} +1 -1
  155. package/server/linear-mcp-auth-BnU4TYfY.js +280 -0
  156. package/server/linear-mcp-auth-NYBq_oHZ.js +2 -0
  157. package/server/memory-fts-worker.js +1 -1
  158. package/server/{merge-C_ZEhbqI.js → merge-Bpx4jjht.js} +13 -11
  159. package/server/{merge-agent-XrB80vfT.js → merge-agent-DdMVSV2Y.js} +233 -83
  160. package/server/{merge-agent-BQM3a8z5.js → merge-agent-DrXa1CpW.js} +1 -1
  161. package/server/{merge-batch-Bwoyr8Je.js → merge-batch-C5q1c1GX.js} +1 -1
  162. package/server/merge-completeness-BMm8tMyZ.js +277 -0
  163. package/server/merge-completeness-D0ljXbk3.js +3 -0
  164. package/server/{merge-DK23JEdS.js → merge-idOG--29.js} +1 -1
  165. package/server/merge-ops-DdpTiEMt.js +2 -0
  166. package/server/merge-rebase-DGQpYJU3.js +2 -0
  167. package/server/{merge-rebase-C1KIVr0s.js → merge-rebase-xLnMlw5h.js} +3 -3
  168. package/server/merge-set-DH7ot3yz.js +89 -0
  169. package/server/merge-set-DzsOTBg5.js +3 -0
  170. package/server/{merge-sync-DZ9dojJn.js → merge-sync-CQ-LgZ1_.js} +406 -153
  171. package/server/merge-sync-Ca7F5JnQ.js +3 -0
  172. package/server/{merge-train-DxDfBTjr.js → merge-train-DTEMyIu4.js} +18 -8
  173. package/server/{merge-train-deps-CyYQUksx.js → merge-train-deps-CNPJzepw.js} +4 -4
  174. package/server/merge-verification-x3JO8Dtz.js +220 -0
  175. package/server/merged-docker-cleanup-worker-CTpC27Bs.js +107 -0
  176. package/server/merged-docker-cleanup-worker-Cdi9apm-.js +3 -0
  177. package/server/{multipart-parser-Dt8YPN5S.js → multipart-parser-IMSBfePV.js} +2 -2
  178. package/server/{no-resume-mode-Cx3K0hHi.js → no-resume-mode-C5ULAXwO.js} +1 -1
  179. package/server/node_modules/.package-lock.json +27 -27
  180. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +3 -3
  181. package/server/node_modules/@google-cloud/common/package.json +2 -2
  182. package/server/node_modules/gaxios/build/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  183. package/server/node_modules/gaxios/build/esm/tsconfig.tsbuildinfo +1 -1
  184. package/server/node_modules/gaxios/package.json +1 -1
  185. package/server/node_modules/google-auth-library/build/src/auth/googleauth.js +24 -19
  186. package/server/node_modules/google-auth-library/package.json +1 -1
  187. package/server/node_modules/google-gax/build/protos/google/api/auth.proto +2 -1
  188. package/server/node_modules/google-gax/build/protos/google/api/backend.proto +12 -1
  189. package/server/node_modules/google-gax/build/protos/google/api/billing.proto +1 -1
  190. package/server/node_modules/google-gax/build/protos/google/api/client.proto +165 -53
  191. package/server/node_modules/google-gax/build/protos/google/api/cloudquotas/v1/resources.proto +1 -1
  192. package/server/node_modules/google-gax/build/protos/google/api/cloudquotas/v1beta/quota_adjuster_settings.proto +7 -3
  193. package/server/node_modules/google-gax/build/protos/google/api/cloudquotas/v1beta/resources.proto +1 -1
  194. package/server/node_modules/google-gax/build/protos/google/api/config_change.proto +1 -1
  195. package/server/node_modules/google-gax/build/protos/google/api/context.proto +1 -1
  196. package/server/node_modules/google-gax/build/protos/google/api/control.proto +3 -3
  197. package/server/node_modules/google-gax/build/protos/google/api/distribution.proto +1 -1
  198. package/server/node_modules/google-gax/build/protos/google/api/documentation.proto +1 -1
  199. package/server/node_modules/google-gax/build/protos/google/api/endpoint.proto +1 -1
  200. package/server/node_modules/google-gax/build/protos/google/api/error_reason.proto +186 -1
  201. package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/checked.proto +31 -3
  202. package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/eval.proto +8 -9
  203. package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/explain.proto +1 -2
  204. package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/syntax.proto +20 -22
  205. package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/value.proto +2 -3
  206. package/server/node_modules/google-gax/build/protos/google/api/field_behavior.proto +1 -1
  207. package/server/node_modules/google-gax/build/protos/google/api/field_info.proto +1 -1
  208. package/server/node_modules/google-gax/build/protos/google/api/http.proto +1 -1
  209. package/server/node_modules/google-gax/build/protos/google/api/httpbody.proto +1 -1
  210. package/server/node_modules/google-gax/build/protos/google/api/label.proto +1 -1
  211. package/server/node_modules/google-gax/build/protos/google/api/launch_stage.proto +1 -1
  212. package/server/node_modules/google-gax/build/protos/google/api/log.proto +1 -1
  213. package/server/node_modules/google-gax/build/protos/google/api/logging.proto +1 -1
  214. package/server/node_modules/google-gax/build/protos/google/api/metric.proto +1 -1
  215. package/server/node_modules/google-gax/build/protos/google/api/monitored_resource.proto +1 -1
  216. package/server/node_modules/google-gax/build/protos/google/api/monitoring.proto +1 -1
  217. package/server/node_modules/google-gax/build/protos/google/api/policy.proto +1 -1
  218. package/server/node_modules/google-gax/build/protos/google/api/quota.proto +1 -1
  219. package/server/node_modules/google-gax/build/protos/google/api/resource.proto +1 -1
  220. package/server/node_modules/google-gax/build/protos/google/api/routing.proto +8 -4
  221. package/server/node_modules/google-gax/build/protos/google/api/service.proto +2 -3
  222. package/server/node_modules/google-gax/build/protos/google/api/source_info.proto +1 -1
  223. package/server/node_modules/google-gax/build/protos/google/api/system_parameter.proto +1 -1
  224. package/server/node_modules/google-gax/build/protos/google/api/usage.proto +7 -27
  225. package/server/node_modules/google-gax/build/protos/google/api/visibility.proto +1 -1
  226. package/server/node_modules/google-gax/build/protos/google/longrunning/operations.proto +20 -1
  227. package/server/node_modules/google-gax/build/protos/google/protobuf/any.proto +52 -108
  228. package/server/node_modules/google-gax/build/protos/google/protobuf/compiler/ruby/ruby_generated_code.proto +2 -0
  229. package/server/node_modules/google-gax/build/protos/google/protobuf/cpp_features.proto +21 -1
  230. package/server/node_modules/google-gax/build/protos/google/protobuf/cpp_file_options.proto +24 -0
  231. package/server/node_modules/google-gax/build/protos/google/protobuf/cpp_options.proto +15 -0
  232. package/server/node_modules/google-gax/build/protos/google/protobuf/descriptor.proto +118 -30
  233. package/server/node_modules/google-gax/build/protos/google/protobuf/field_mask.proto +16 -18
  234. package/server/node_modules/google-gax/build/protos/google/protobuf/internal_options.proto +8 -1
  235. package/server/node_modules/google-gax/build/protos/google/protobuf/json/json_enumval_custom_string.proto +26 -0
  236. package/server/node_modules/google-gax/build/protos/google/protobuf/json_enumvalue_options.proto +29 -0
  237. package/server/node_modules/google-gax/build/protos/google/protobuf/json_options.proto +14 -0
  238. package/server/node_modules/google-gax/build/protos/google/protobuf/struct.proto +38 -22
  239. package/server/node_modules/google-gax/build/protos/google/protobuf/test_protos/forced_micro_string.proto +3 -0
  240. package/server/node_modules/google-gax/build/protos/google/protobuf/test_protos/repeated_field_proxy_import_message.proto +14 -0
  241. package/server/node_modules/google-gax/build/protos/google/protobuf/timestamp.proto +9 -8
  242. package/server/node_modules/google-gax/build/protos/google/protobuf/util/json_format_proto3.proto +18 -0
  243. package/server/node_modules/google-gax/build/protos/google/rpc/code.proto +1 -1
  244. package/server/node_modules/google-gax/build/protos/google/rpc/context/attribute_context.proto +7 -2
  245. package/server/node_modules/google-gax/build/protos/google/rpc/context/audit_context.proto +1 -1
  246. package/server/node_modules/google-gax/build/protos/google/rpc/error_details.proto +5 -5
  247. package/server/node_modules/google-gax/build/protos/google/rpc/http.proto +1 -1
  248. package/server/node_modules/google-gax/build/protos/google/rpc/status.proto +1 -2
  249. package/server/node_modules/google-gax/build/protos/google/type/calendar_period.proto +1 -1
  250. package/server/node_modules/google-gax/build/protos/google/type/color.proto +9 -10
  251. package/server/node_modules/google-gax/build/protos/google/type/date.proto +11 -9
  252. package/server/node_modules/google-gax/build/protos/google/type/datetime.proto +17 -17
  253. package/server/node_modules/google-gax/build/protos/google/type/dayofweek.proto +1 -1
  254. package/server/node_modules/google-gax/build/protos/google/type/decimal.proto +11 -13
  255. package/server/node_modules/google-gax/build/protos/google/type/expr.proto +1 -1
  256. package/server/node_modules/google-gax/build/protos/google/type/fraction.proto +1 -1
  257. package/server/node_modules/google-gax/build/protos/google/type/interval.proto +1 -2
  258. package/server/node_modules/google-gax/build/protos/google/type/latlng.proto +4 -5
  259. package/server/node_modules/google-gax/build/protos/google/type/localized_text.proto +3 -3
  260. package/server/node_modules/google-gax/build/protos/google/type/money.proto +1 -2
  261. package/server/node_modules/google-gax/build/protos/google/type/month.proto +1 -1
  262. package/server/node_modules/google-gax/build/protos/google/type/phone_number.proto +20 -15
  263. package/server/node_modules/google-gax/build/protos/google/type/postal_address.proto +39 -39
  264. package/server/node_modules/google-gax/build/protos/google/type/quaternion.proto +4 -4
  265. package/server/node_modules/google-gax/build/protos/google/type/timeofday.proto +11 -8
  266. package/server/node_modules/google-gax/package.json +5 -5
  267. package/server/node_modules/retry-request/package.json +4 -4
  268. package/server/node_modules/teeny-request/package.json +5 -5
  269. package/server/node_modules/undici/README.md +5 -0
  270. package/server/node_modules/undici/docs/docs/api/Client.md +4 -0
  271. package/server/node_modules/undici/docs/docs/api/Dispatcher.md +6 -0
  272. package/server/node_modules/undici/docs/docs/api/Interceptors.md +59 -0
  273. package/server/node_modules/undici/docs/docs/api/MockAgent.md +27 -0
  274. package/server/node_modules/undici/docs/docs/api/MockPool.md +28 -1
  275. package/server/node_modules/undici/docs/docs/index.md +5 -0
  276. package/server/node_modules/undici/lib/cache/memory-cache-store.js +54 -9
  277. package/server/node_modules/undici/lib/cache/sqlite-cache-store.js +7 -1
  278. package/server/node_modules/undici/lib/core/request.js +13 -2
  279. package/server/node_modules/undici/lib/core/util.js +6 -1
  280. package/server/node_modules/undici/lib/dispatcher/agent.js +3 -3
  281. package/server/node_modules/undici/lib/dispatcher/client-h1.js +42 -8
  282. package/server/node_modules/undici/lib/dispatcher/client-h2.js +34 -43
  283. package/server/node_modules/undici/lib/global.js +36 -16
  284. package/server/node_modules/undici/lib/handler/cache-handler.js +269 -61
  285. package/server/node_modules/undici/lib/handler/cache-revalidation-handler.js +13 -3
  286. package/server/node_modules/undici/lib/handler/redirect-handler.js +5 -2
  287. package/server/node_modules/undici/lib/handler/retry-handler.js +30 -4
  288. package/server/node_modules/undici/lib/interceptor/cache.js +159 -52
  289. package/server/node_modules/undici/lib/interceptor/decompress.js +9 -2
  290. package/server/node_modules/undici/lib/mock/mock-interceptor.js +25 -7
  291. package/server/node_modules/undici/lib/mock/mock-utils.js +39 -10
  292. package/server/node_modules/undici/lib/util/cache.js +372 -68
  293. package/server/node_modules/undici/lib/util/date.js +23 -6
  294. package/server/node_modules/undici/lib/web/cookies/util.js +78 -8
  295. package/server/node_modules/undici/lib/web/fetch/body.js +2 -1
  296. package/server/node_modules/undici/lib/web/fetch/response.js +1 -3
  297. package/server/node_modules/undici/package.json +2 -2
  298. package/server/node_modules/undici/types/client.d.ts +2 -2
  299. package/server/node_modules/undici/types/dispatcher.d.ts +3 -3
  300. package/server/node_modules/undici/types/mock-interceptor.d.ts +5 -1
  301. package/server/{orphan-proposed-reconciler-BTkDrl4R.js → orphan-proposed-reconciler-CWmOdM9-.js} +1 -1
  302. package/server/{orphan-proposed-reconciler-neK8dHQk.js → orphan-proposed-reconciler-Dg6U4ADZ.js} +24 -15
  303. package/server/package-lock.json +28 -28
  304. package/server/package.json +1 -1
  305. package/server/{pan-dir-DeVUgwA7.js → pan-dir-ubraCiUg.js} +24 -10
  306. package/server/{paths-_zEts6wc.js → paths-cXmOwSbh.js} +2 -2
  307. package/server/pending-lifecycle-claim-DEteYdS9.js +110 -0
  308. package/server/{pickup-Dd0Znxxy.js → pickup-D8xtG1J2.js} +17 -16
  309. package/server/pipeline-membership-BGSvkT2M.js +3 -0
  310. package/server/pipeline-membership-CrAPLYtf.js +57 -0
  311. package/server/{pipeline-membership-0HaEGDlH.js → pipeline-membership-gather-CET40frr.js} +177 -109
  312. package/server/pipeline-membership-gather-DTfcgxLl.js +3 -0
  313. package/server/{pipeline-notifier-D0ykk59O.js → pipeline-notifier-BuQ0e4hF.js} +2 -2
  314. package/server/{pipeline-notifier-6iCJplFZ.js → pipeline-notifier-ImNXknf0.js} +1 -1
  315. package/server/post-merge-lifecycle-worker-DbO10pum.js +50 -0
  316. package/server/{project-pipelines-2sK1apsO.js → project-pipelines-Bim6bThI.js} +2 -2
  317. package/server/project-repos-C0nuoBGv.js +98 -0
  318. package/server/project-repos-CRE6Ykow.js +3 -0
  319. package/server/projects-B03Wr-xc.js +3 -0
  320. package/server/{prompts-Dp4Tpk39.js → prompts-BEx08AIu.js} +2 -2
  321. package/server/{providers-DKkBXhxU.js → providers-D7IluJe0.js} +1 -1
  322. package/server/{providers-DV7ec8l7.js → providers-evXhiQeg.js} +7 -7
  323. package/server/public/assets/{chunk-BO2N2NFS-CltymLRg.js → chunk-BO2N2NFS-D1s4-Sqp.js} +4 -4
  324. package/server/public/assets/{diagram-OG6HWLK6-D2f6pjgA.js → diagram-OG6HWLK6-1gdMoSF7.js} +1 -1
  325. package/server/public/assets/{dist-BWR4qFiV.js → dist-CxAOHbil.js} +1 -1
  326. package/server/public/assets/{dist-DEmlBBNQ.js → dist-DqDRYW6P.js} +3 -3
  327. package/server/public/assets/{ganttDiagram-6RSMTGT7-DnfiViPK.js → ganttDiagram-6RSMTGT7-BYex-Ec7.js} +1 -1
  328. package/server/public/assets/{highlighted-body-OFNGDK62-B8Wrmj9H.js → highlighted-body-OFNGDK62-DlVkiG0S.js} +1 -1
  329. package/server/public/assets/index-Cc7cnFC4.css +1 -0
  330. package/server/public/assets/index-K0hAYCgV.js +807 -0
  331. package/server/public/assets/{linear-C9zFQpkX.js → linear-B4cuEFmO.js} +1 -1
  332. package/server/public/assets/mermaid-GHXKKRXX-DyDHFXHV.js +1 -0
  333. package/server/public/assets/{pieDiagram-4H26LBE5-lR8H7Yjd.js → pieDiagram-4H26LBE5-CBHNBIJQ.js} +1 -1
  334. package/server/public/assets/{prod-B1jCQihw.js → prod-CN2nHBvX.js} +4 -4
  335. package/server/public/assets/{quadrantDiagram-W4KKPZXB-CVQ2guem.js → quadrantDiagram-W4KKPZXB-Bom87VOQ.js} +1 -1
  336. package/server/public/assets/{sankeyDiagram-5OEKKPKP-eD1RB4gm.js → sankeyDiagram-5OEKKPKP-UrBeyLxk.js} +1 -1
  337. package/server/public/assets/{xychartDiagram-2RQKCTM6-ChEC6dQn.js → xychartDiagram-2RQKCTM6-DhkbrIxR.js} +1 -1
  338. package/server/public/index.html +2 -2
  339. package/server/{pull-requests--Ib2jTgy.js → pull-requests-Cv7LxzUN.js} +1 -1
  340. package/server/{pull-requests-CXIhdCYD.js → pull-requests-DHWiKxo7.js} +19 -10
  341. package/server/{queries-6d7Cdtm7.js → queries-DHJm7bTd.js} +1134 -203
  342. package/server/{rally-B708-nZn.js → rally-B71M9f4o.js} +3 -3
  343. package/server/rally-YDjU513q.js +3 -0
  344. package/server/{rally-api-yjQ0TfHd.js → rally-api-D5uXN08-.js} +1 -1
  345. package/server/{rally-api-nY0ZANw3.js → rally-api-Dkqmok65.js} +2 -2
  346. package/server/{rally-client-B1EJhfV0.js → rally-client-Bfqm6XI4.js} +4 -4
  347. package/server/{rally-client-CULK2XAY.js → rally-client-CxsA6ExK.js} +1 -1
  348. package/server/{reap-terminal-sessions-MWnqdLCJ.js → reap-terminal-sessions-BQ23nriz.js} +2 -2
  349. package/server/{reap-terminal-sessions-N3BTkmX_.js → reap-terminal-sessions-CvmwaqKv.js} +2 -2
  350. package/server/{rebuild-stack-Dp4eLkt4.js → rebuild-stack-0EEYReVZ.js} +36 -36
  351. package/server/rebuild-stack-qeRqHZxH.js +4 -0
  352. package/server/{reconstruct-cache-uWbZfjms.js → reconstruct-cache-BbYFsqLa.js} +7 -6
  353. package/server/record-CtroO946.js +3 -0
  354. package/server/record-update-DH6dLJID.js +3 -0
  355. package/server/{record-update-Dq0t2uBG.js → record-update-Z0QCxmMp.js} +124 -34
  356. package/server/{recovery-trip-BJtIQuag.js → recovery-trip-eJe26h-f.js} +2 -2
  357. package/server/{release-engine-DZpmGGzb.js → release-engine-lPUp-MTd.js} +5 -5
  358. package/server/{release-set-hnXd_kga.js → release-set-BwGeyZKX.js} +3 -3
  359. package/server/{remote-Br-ZWVIP.js → remote-BCd02Es1.js} +3 -3
  360. package/server/{remote-4tiENDaI.js → remote-CVGUhXMV.js} +3 -3
  361. package/server/{remote-agents-CRCg1L4H.js → remote-agents-C1bssi41.js} +2 -2
  362. package/server/{remote-agents-nmty1mLu.js → remote-agents-C_VxssLU.js} +300 -46
  363. package/server/{remote-completion-BbWNd10K.js → remote-completion-DAB0P706.js} +12 -12
  364. package/server/resume-u9byntrq.js +3 -0
  365. package/server/{review-agent-DJRO8EG8.js → review-agent-CD4RCI0Y.js} +1 -1
  366. package/server/{review-agent-sKkE1FEL.js → review-agent-CHhI66UP.js} +61 -44
  367. package/server/{review-artifacts-BLbSC4ke.js → review-artifacts-DSMRIfuJ.js} +7 -6
  368. package/server/{review-context-BgX3lcCx.js → review-context-oFuBbiEE.js} +69 -25
  369. package/server/{in-flight-guard-aQ1IxeI3.js → review-convoy-liveness-CpzrcJ5F.js} +3 -44
  370. package/server/review-status-BZH8h-6W.js +3 -0
  371. package/server/review-status-emit-CUExtHd5.js +50 -0
  372. package/server/{review-status-enrichment-tbOn_A_u.js → review-status-enrichment-QV_hQkgS.js} +4 -4
  373. package/server/{review-status-source-CxuEjLGg.js → review-status-source-CpvJnvnQ.js} +24 -3
  374. package/server/review-status-source-ylw5QZUR.js +3 -0
  375. package/server/{review-status-sync-BhSQ0d0l.js → review-status-sync-483sujRo.js} +10 -5
  376. package/server/{review-status-sync-To3-iS-N.js → review-status-sync-NaWvI9Xf.js} +1 -1
  377. package/server/review-status-yljtTd-q.js +7521 -0
  378. package/server/{review-verdict-feedback-C1Kg8n7t.js → review-verdict-feedback-BPDn4li_.js} +1 -1
  379. package/server/{review-verdict-feedback-CTRNtzXO.js → review-verdict-feedback-CELeUinh.js} +48 -8
  380. package/server/{rollup-WA0VD-Rr.js → rollup-DTNvelz9.js} +8 -8
  381. package/server/{rollup-B53Y81xK.js → rollup-DYZfq1c4.js} +1 -1
  382. package/server/{scanner-D2743cp8.js → scanner-CV35oSn4.js} +42 -14
  383. package/server/{sequence-io-Cg0zYj_E.js → sequence-io-DF_8iuhV.js} +4 -4
  384. package/server/{sequencer-agent-BGY8gjg-.js → sequencer-agent-B2WeCtGi.js} +5 -5
  385. package/server/server.js +3899 -672
  386. package/server/{service-DCpB_SGd.js → service-Br9rpBNA.js} +83 -65
  387. package/server/{session-fork-BQ8_6H32.js → session-fork-D0LY152N.js} +2 -2
  388. package/server/{session-history-CVZDpS3c.js → session-history-BUyK29eq.js} +4 -4
  389. package/server/{settings-BZ5m1UCl.js → settings-Bse1Pdcj.js} +3 -3
  390. package/server/settings-CdvIF84R.js +2 -0
  391. package/server/{settings-ylxwqwQG.js → settings-CvVGqNEs.js} +3 -2
  392. package/server/{shadow-engineering-BlxG6Xye.js → shadow-engineering-BWLa8ODz.js} +2 -2
  393. package/server/{shadow-state-Dh-HzF2J.js → shadow-state-B4fpKxOO.js} +2 -2
  394. package/server/{shadow-state-C2_epgx2.js → shadow-state-FV6PHfEW.js} +1 -1
  395. package/server/{shadow-utils-4bvjn9b3.js → shadow-utils-D7asqxOZ.js} +2 -2
  396. package/server/{ship-log-ClSMIzZX.js → ship-log-xplJ8t75.js} +1 -1
  397. package/server/{smart-compaction-CHIxLr_d.js → smart-compaction-CPp2Ykf6.js} +1 -1
  398. package/server/{smart-compaction-r4pHQBIr.js → smart-compaction-D3U_79f-.js} +8 -7
  399. package/server/{spawn-planning-session-KC_UduxD.js → spawn-planning-session-1nFi3gfk.js} +1 -1
  400. package/server/{spawn-planning-session-DWAorh2B.js → spawn-planning-session-DGfZ5B8D.js} +30 -23
  401. package/server/{specialist-completion-BXhav38U.js → specialist-completion-Br48eiDP.js} +1 -1
  402. package/server/{specialist-context-DtrYvGJ-.js → specialist-context-cVbGnTa3.js} +5 -5
  403. package/server/{specialist-handoff-logger-C45ouoZ6.js → specialist-handoff-logger-DK-GTz4s.js} +2 -2
  404. package/server/{specialist-logs-DJ3RzKxW.js → specialist-logs-Cl5-hqT8.js} +3 -3
  405. package/server/{specialists-JVO00bs7.js → specialists-CNfYO3G2.js} +1634 -457
  406. package/server/{specialists-DyFeedjn.js → specialists-Cicieuzu.js} +21 -19
  407. package/server/{specialists-D5fRZXmN.js → specialists-JHsdU3pA.js} +1 -1
  408. package/server/{specialists-DVj0hvaL.js → specialists-Tdezg_6N.js} +1 -1
  409. package/server/specs-Bt7WJDoC.js +3 -0
  410. package/server/src-CRmCHlma.js +11408 -0
  411. package/server/{src-CG9mCkP6.js → src-Ck028hjO.js} +6 -6
  412. package/server/{src-CMTQGyCK.js → src-UWcGe0Ix.js} +5 -5
  413. package/server/stack-health-CJLMrLBl.js +3 -0
  414. package/server/{stack-health-puygdaMd.js → stack-health-DqSqx0zv.js} +68 -12
  415. package/server/{stale-task-claims-BbFwCTb0.js → stale-task-claims-CYFOUNlT.js} +4 -4
  416. package/server/{staleness-Cbl_w4Bw.js → staleness-BQ-0gMYK.js} +1 -1
  417. package/server/{staleness-Bpy41ngS.js → staleness-D47CUJok.js} +1 -1
  418. package/server/{state-home-CIGjwNfJ.js → state-home-BYV7qZTW.js} +2 -2
  419. package/server/{state-mapping-BL_-3Yt8.js → state-mapping-BVldLhBf.js} +1 -1
  420. package/server/{state-migrate-Dkzaxvny.js → state-migrate-CvvBtS0Y.js} +4 -4
  421. package/server/{stuck-remediation-sY_MHHgQ.js → stuck-remediation-Wt0UVvu1.js} +1 -1
  422. package/server/{stuck-remediation-CzEov_fq.js → stuck-remediation-mkLC6G_t.js} +360 -26
  423. package/server/{substrate-bug-weights-service-BH66lhm7.js → substrate-bug-weights-service-XfLAKnmK.js} +3 -3
  424. package/server/{summary-fork-D8bXjCr7.js → summary-fork-CD7GOts0.js} +2 -2
  425. package/server/{summary-fork-DHhJIsAL.js → summary-fork-xiXBnWG9.js} +78 -12
  426. package/server/supervisor/{injection-budget-C1iPirFS.js → injection-budget-B5SbvDx2.js} +2 -41
  427. package/server/supervisor/{paths-DehGY2Fj.js → paths-K3noE4N_.js} +1 -1
  428. package/server/supervisor/pty-supervisor.js +49 -2
  429. package/server/supervisor/pty-token-B7lp0ElT.js +43 -0
  430. package/server/{supervisor-BO-Zk_h-.js → supervisor-DL788vos.js} +3 -3
  431. package/server/supervisor-UWiQNK-y.js +2 -0
  432. package/server/{swarm-readiness-CQ_fwUWF.js → swarm-readiness-BV14DF5N.js} +3 -3
  433. package/server/{system-prerequisites-Bza0ffAh.js → system-prerequisites-pdWG6ZQs.js} +56 -29
  434. package/server/{teardown-workspace-CEgauF4U.js → teardown-workspace-l2F4_zim.js} +15 -16
  435. package/server/{test-agent-queue-DXDt0Xa-.js → test-agent-queue-qakFIIGz.js} +6 -6
  436. package/server/{test-verdict-CmUBK5cT.js → test-verdict-BJYDggMm.js} +1 -1
  437. package/server/{test-verdict-DFjjIHR5.js → test-verdict-Gw-btEfb.js} +1 -1
  438. package/server/{tldr-daemon-DL566HbH.js → tldr-daemon-BKOYB616.js} +1 -1
  439. package/server/{tldr-daemon-BDtLOIlO.js → tldr-daemon-CBaWkV9k.js} +2 -2
  440. package/server/{tmux-ftABRAmc.js → tmux-B1Wbxz5o.js} +3 -3
  441. package/server/{tmux-DoThH6aj.js → tmux-DQ6jB76i.js} +1 -1
  442. package/server/tmux-dedup-DbN6MGzM.js +892 -0
  443. package/server/{token-CsOhvw42.js → token-Cxbk023d.js} +2 -2
  444. package/server/{token-util-CTmczIfW.js → token-util-CLq2MmQt.js} +1 -1
  445. package/server/token-util-zlz9U0ki.js +3 -0
  446. package/server/{tracker-config-B4itFzDo.js → tracker-config-DZ8Zn2nQ.js} +2 -2
  447. package/server/{tracker-utils-tnxxqROg.js → tracker-utils-L0FKtjq2.js} +3 -3
  448. package/server/{traefik-connect-m73vGebA.js → traefik-connect-bNX6jKkb.js} +1 -1
  449. package/server/{tunnel-B2vxjx_b.js → tunnel-BAm1XgjG.js} +3 -3
  450. package/server/{tunnel-Cgj-IGIl.js → tunnel-CjSnHdTc.js} +1 -1
  451. package/server/{types-BBNjPcqU.js → types-q67TYYg5.js} +1 -1
  452. package/server/uat-promote-verification-CKB9ZrKC.js +92 -0
  453. package/server/uat-train-Cu-4nvbf.js +2 -0
  454. package/server/uat-train-D5UjcyAa.js +0 -0
  455. package/server/validate-Cxsx5Uz1.js +179 -0
  456. package/server/{validation-CIi6pnI2.js → validation-DEaTZafj.js} +1 -1
  457. package/server/{validation-B5JxoPUS.js → validation-VZgJxmqc.js} +4 -4
  458. package/server/{verification-artifact-C-lIHfUa.js → verification-artifact-C85cRTc_.js} +1 -1
  459. package/server/{verification-artifact-BcnIbigL.js → verification-artifact-g3yuxQDL.js} +1 -1
  460. package/server/{verification-runner-CDj4lD4t.js → verification-runner-DlZI8yhw.js} +1 -1
  461. package/server/{verification-runner-Br0S_Ous.js → verification-runner-KDZIsBj4.js} +114 -107
  462. package/server/{vtt-parser-DKpNNW5i.js → vtt-parser-Jr94BF3Y.js} +1 -1
  463. package/server/{work-agent-prompt-Yb2bd3Fq.js → work-agent-prompt-C-vuP3_J.js} +20 -9
  464. package/server/workflows-CHrx_hcW.js +2 -0
  465. package/server/{workflows-C9WmILql.js → workflows-D0oip4eV.js} +161 -78
  466. package/server/{workspace-DuUdndHe.js → workspace-BqFg__wH.js} +1 -1
  467. package/server/{workspace-BVl4rihN.js → workspace-C0fH3aek.js} +3 -3
  468. package/server/workspace-anchor-drift-B4gMRHl4.js +3 -0
  469. package/server/workspace-anchor-drift-CZKofakh.js +224 -0
  470. package/server/{workspace-config-cEGcO6UT.js → workspace-config-B123aZl-.js} +1 -1
  471. package/server/workspace-manager-CDTKjjdU.js +3 -0
  472. package/server/{workspace-manager-hLUv3ADC.js → workspace-manager-CwO-Hek7.js} +206 -116
  473. package/server/{workspace-metadata-CskwzzhL.js → workspace-metadata-CQv00QwK.js} +2 -2
  474. package/server/{workspace-metadata-DNpMixRq.js → workspace-metadata-D4M8BM4W.js} +1 -1
  475. package/server/{workspaces-hWvy9eKs.js → workspaces-j1e_6aAT.js} +736 -290
  476. package/sync-sources/dev-skills/pan-dashboard-restart/SKILL.md +34 -10
  477. package/sync-sources/hooks/linear-mcp-auth-hook +97 -0
  478. package/sync-sources/hooks/record-cost-event.js +6 -4
  479. package/sync-sources/rules/ask-user-question-self-contained.md +9 -0
  480. package/sync-sources/skills/okf/README.md +11 -3
  481. package/sync-sources/skills/okf/SKILL.md +12 -1
  482. package/sync-sources/skills/okf/docs/USAGE.md +15 -0
  483. package/sync-sources/skills/okf/references/overdeck.md +28 -0
  484. package/sync-sources/skills/pan-close/SKILL.md +5 -3
  485. package/sync-sources/skills/pan-flywheel/SKILL.md +18 -1
  486. package/sync-sources/skills/pan-knowledge/SKILL.md +10 -0
  487. package/sync-sources/skills/pan-orders/SKILL.md +33 -0
  488. package/sync-sources/skills/pan-peer-review/SKILL.md +195 -0
  489. package/sync-sources/skills/pan-reload/SKILL.md +3 -3
  490. package/sync-sources/skills/pan-restart/SKILL.md +5 -4
  491. package/sync-sources/skills/pan-review/SKILL.md +7 -1
  492. package/sync-sources/skills/pan-start/SKILL.md +4 -0
  493. package/sync-sources/skills/pan-sync-main/SKILL.md +9 -8
  494. package/sync-sources/skills/pipeline-status/SKILL.md +10 -1
  495. package/sync-sources/skills/workspace-add-repo/SKILL.md +16 -1
  496. package/sync-sources/templates/traefik/dynamic/overdeck.yml.template +10 -0
  497. package/server/activity-logger-OEUBdfZ8.js +0 -3
  498. package/server/agent-state-Bg0lhqwj.js +0 -3
  499. package/server/agents-FlIgQ3ql.js +0 -3
  500. package/server/archive-planning-zkJb3BeM.js +0 -3
  501. package/server/cli-BsVIHwzC.js +0 -3
  502. package/server/context-layers-B3Nt58jl.js +0 -4
  503. package/server/context-layers-ZYFcWiyc.js +0 -165
  504. package/server/conversation-service-Up7FEzIC.js +0 -3
  505. package/server/deacon-DYSEJb48.js +0 -4
  506. package/server/deacon-swarm-9jRLS5Ke.js +0 -2
  507. package/server/deploy-window-CM6W1-c6.js +0 -3
  508. package/server/dist-Bd3vn0Hw.js +0 -3
  509. package/server/flywheel-DMCUzDWg.js +0 -2
  510. package/server/flywheel-DSSpWmqF.js +0 -522
  511. package/server/flywheel-DcBkQvgE.js +0 -207
  512. package/server/flywheel-merge-order-C-6zRLvM.js +0 -2
  513. package/server/flywheel-merge-order-DxbQKE1d.js +0 -244
  514. package/server/forge-B-ZWyTRm.js +0 -2
  515. package/server/forge-Ch9gCFod.js +0 -270
  516. package/server/git-utils-Dry_Ka_D.js +0 -3
  517. package/server/github-pr-lookup-BRbDW-qk.js +0 -44
  518. package/server/hume-B_DbflNM.js +0 -3
  519. package/server/inspect-agent-ch-F-5Ci.js +0 -2
  520. package/server/launcher-generator-CHVm7bGT.js +0 -379
  521. package/server/layers-DzxSTGNA.js +0 -93
  522. package/server/merge-blockers-BsFjGrQ8.js +0 -41
  523. package/server/merge-ops-DlB1IM0Y.js +0 -2
  524. package/server/merge-set-DLz0MkGT.js +0 -139
  525. package/server/merge-set-DnSYdBEp.js +0 -3
  526. package/server/merge-sync-SSv3E-pl.js +0 -3
  527. package/server/merge-verification-CSizH3HY.js +0 -124
  528. package/server/projects-9SkRpES9.js +0 -3
  529. package/server/public/assets/index-CUr1xv8w.css +0 -1
  530. package/server/public/assets/index-CsSuZQBI.js +0 -802
  531. package/server/public/assets/mermaid-GHXKKRXX-BUAB8hqt.js +0 -1
  532. package/server/rally-njs_mJrt.js +0 -3
  533. package/server/rebuild-stack-kA7XngID.js +0 -3
  534. package/server/record-t6V-3Dcj.js +0 -3
  535. package/server/record-update-DACtKh6_.js +0 -3
  536. package/server/resume-CcKqnTvE.js +0 -3
  537. package/server/review-status-A7quS5KJ.js +0 -1454
  538. package/server/review-status-C6n6-9f_.js +0 -3
  539. package/server/settings-D0OSwos5.js +0 -2
  540. package/server/specs-nN45DG2X.js +0 -3
  541. package/server/src-U7_kTPEE.js +0 -4733
  542. package/server/stack-health-Df0YEZKa.js +0 -3
  543. package/server/supervisor-BPy-o1A8.js +0 -2
  544. package/server/token-util-DrHg8abn.js +0 -3
  545. package/server/tracker-utils-BePq_oj-.js +0 -3
  546. package/server/uat-train-CuEn0t9M.js +0 -2152
  547. package/server/uat-train-cKfM-_WW.js +0 -2
  548. package/server/workflows-D90rMOya.js +0 -2
  549. package/server/workspace-manager-ZTdJAy9M.js +0 -3
@@ -1,3 +1,3 @@
1
- import { n as init_claude_settings_overlay, r as injectOverdeckInfraDeny } from "./claude-settings-overlay-CbSz0Dvb.js";
1
+ import { n as init_claude_settings_overlay, r as injectOverdeckInfraDeny } from "./claude-settings-overlay-CJn35FHQ.js";
2
2
  init_claude_settings_overlay();
3
3
  export { injectOverdeckInfraDeny };
@@ -0,0 +1,3 @@
1
+ import { r as init_cli, t as createResetMarker } from "./cli-oCWYA1pE.js";
2
+ init_cli();
3
+ export { createResetMarker };
@@ -1,11 +1,11 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Vr as init_paths } from "./config-yaml-DvyMuOle.js";
3
- import { c as resolveMemoryRoot, i as init_paths$1, l as resolveObservationsFile, p as resolveSummariesDir, r as ensureParentDir } from "./paths-_zEts6wc.js";
4
- import { b as init_agents } from "./queries-6d7Cdtm7.js";
5
- import { i as init_settings } from "./settings-BZ5m1UCl.js";
6
- import { r as init_health, t as init_providers } from "./providers-DV7ec8l7.js";
7
- import { a as withMemoryFtsDatabase, i as runMemoryFtsTransaction, n as init_fts_db } from "./fts-db-CKgg0VKg.js";
8
- import { r as init_rollup } from "./rollup-WA0VD-Rr.js";
2
+ import { ci as init_paths } from "./config-yaml-CmOPzmBb.js";
3
+ import { c as resolveMemoryRoot, i as init_paths$1, l as resolveObservationsFile, p as resolveSummariesDir, r as ensureParentDir } from "./paths-cXmOwSbh.js";
4
+ import { b as init_agents } from "./queries-DHJm7bTd.js";
5
+ import { i as init_settings } from "./settings-Bse1Pdcj.js";
6
+ import { r as init_health, t as init_providers } from "./providers-evXhiQeg.js";
7
+ import { a as withMemoryFtsDatabase, i as runMemoryFtsTransaction, n as init_fts_db } from "./fts-db-BeOomFa-.js";
8
+ import { r as init_rollup } from "./rollup-DTNvelz9.js";
9
9
  import { dirname, join } from "path";
10
10
  import { randomUUID } from "crypto";
11
11
  import { readFile, rename, writeFile } from "fs/promises";
@@ -194,7 +194,7 @@ async function writeResetMarkerToFtsDb(projectId, marker) {
194
194
  });
195
195
  }
196
196
  async function emitResetMarkerCreated(marker, timestamp) {
197
- const { initEventStore } = await import("./event-store-Cr5PQwFC.js");
197
+ const { initEventStore } = await import("./event-store-ELqkVOn0.js");
198
198
  await (await initEventStore()).appendAsync({
199
199
  type: "memory.reset_marker_created",
200
200
  timestamp,
@@ -221,4 +221,4 @@ var init_cli = __esmMin((() => {
221
221
  //#endregion
222
222
  export { generateDailySummary as n, init_cli as r, createResetMarker as t };
223
223
 
224
- //# sourceMappingURL=cli-vBeXbPrq.js.map
224
+ //# sourceMappingURL=cli-oCWYA1pE.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Vr as init_paths, _r as BIN_DIR, ir as FsError, mr as init_errors, ur as ProcessSpawnError, wr as OVERDECK_HOME } from "./config-yaml-DvyMuOle.js";
2
+ import { Fr as init_errors, Gr as OVERDECK_HOME, Rr as BIN_DIR, Tr as FsError, ci as init_paths, jr as ProcessSpawnError } from "./config-yaml-CmOPzmBb.js";
3
3
  import { Data, Effect } from "effect";
4
4
  import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from "fs";
5
5
  import { join } from "path";
@@ -496,4 +496,4 @@ var init_cliproxy = __esmMin((() => {
496
496
  //#endregion
497
497
  export { restartCliproxy as C, readPidFile as S, stopCliproxy as T, getCliproxyPidPath as _, CliproxyError as a, isCliproxyInstalled as b, bridgeGeminiAuthToCliproxy as c, getCliproxyAuthDir as d, getCliproxyBinary as f, getCliproxyLogPath as g, getCliproxyDir as h, CLIPROXY_PORT as i, decodeJwtPayload as l, getCliproxyConfigPath as m, CLIPROXY_BASE_URL as n, bridgeCodexAuthToCliproxy as o, getCliproxyClientEnv as p, CLIPROXY_HOST as r, bridgeCodexAuthToCliproxySync as s, CLIPROXY_AUTH_TOKEN as t, detectPlatformAsset as u, init_cliproxy as v, startCliproxy as w, isCliproxyRunning as x, installCliproxy as y };
498
498
 
499
- //# sourceMappingURL=cliproxy-Bgb2XCqi.js.map
499
+ //# sourceMappingURL=cliproxy-C8mB3KuB.js.map
@@ -1,3 +1,3 @@
1
- import { v as init_cliproxy, x as isCliproxyRunning } from "./cliproxy-Bgb2XCqi.js";
1
+ import { v as init_cliproxy, x as isCliproxyRunning } from "./cliproxy-C8mB3KuB.js";
2
2
  init_cliproxy();
3
3
  export { isCliproxyRunning };
@@ -1,6 +1,6 @@
1
- import { Jn as extractPrefixSync, Xn as normalizeIssueIdSync, Yn as init_issue_id, qn as extractNumberSync } from "./config-yaml-DvyMuOle.js";
2
- import { Hn as getAgentState, Zn as markAgentStoppedState, b as init_agents, rr as saveAgentState } from "./queries-6d7Cdtm7.js";
3
- import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed, t as getLinearApiKey } from "./types-BBNjPcqU.js";
1
+ import { _r as normalizeIssueIdSync, gr as init_issue_id, hr as extractPrefixSync, mr as extractNumberSync } from "./config-yaml-CmOPzmBb.js";
2
+ import { b as init_agents, gr as saveAgentState, tr as getAgentState, ur as markAgentStoppedState } from "./queries-DHJm7bTd.js";
3
+ import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed, t as getLinearApiKey } from "./types-q67TYYg5.js";
4
4
  import { Effect } from "effect";
5
5
  import { exec } from "child_process";
6
6
  import { promisify } from "util";
@@ -227,7 +227,7 @@ function closeRallyDirect(ctx) {
227
227
  async function closeRallyDirectImpl(ctx) {
228
228
  const step = "close-issue:transition";
229
229
  if (!ctx.rally) return stepFailed(step, "Rally config not provided");
230
- const { RallyTracker } = await import("./rally-njs_mJrt.js");
230
+ const { RallyTracker } = await import("./rally-YDjU513q.js");
231
231
  const tracker = new RallyTracker({
232
232
  apiKey: ctx.rally.apiKey,
233
233
  server: ctx.rally.server,
@@ -327,4 +327,4 @@ async function applyLabelLinearImpl(ctx, apiKey) {
327
327
  //#endregion
328
328
  export { closeIssue as t };
329
329
 
330
- //# sourceMappingURL=close-issue-Dn_4c4G8.js.map
330
+ //# sourceMappingURL=close-issue-D5MF5GqF.js.map
@@ -1,2 +1,2 @@
1
- import { t as handleIssueStatusChangedClosed } from "./closed-issue-reaper-hANY_ehE.js";
1
+ import { t as handleIssueStatusChangedClosed } from "./closed-issue-reaper-Cltx86x5.js";
2
2
  export { handleIssueStatusChangedClosed };
@@ -1,12 +1,12 @@
1
- import { Ft as resolveProjectForIssue, Ot as init_record, Tn as init_projects, Vr as init_paths, Yn as init_issue_id, hr as AGENTS_DIR, kn as listProjectsSync } from "./config-yaml-DvyMuOle.js";
2
- import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-DDlOIAML.js";
3
- import { D as killSession, M as listSessionNames, w as init_tmux } from "./tmux-ftABRAmc.js";
4
- import { d as loadReviewStatuses, l as init_review_status } from "./review-status-A7quS5KJ.js";
5
- import { b as init_agents, ft as stopAgent, i as listRunningAgents } from "./queries-6d7Cdtm7.js";
6
- import { i as teardownWorkspaceDockerByNamePromise, n as init_docker } from "./docker-BK7HIcBj.js";
7
- import { l as init_prd_locations, o as init_archive_planning } from "./archive-planning-DYrYojxl.js";
8
- import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-zhdvQicO.js";
9
- import "./close-issue-Dn_4c4G8.js";
1
+ import { Gn as init_projects, Ir as AGENTS_DIR, Pt as init_record, Vt as resolveProjectForIssue, Yn as listProjectsSync, ci as init_paths, gr as init_issue_id } from "./config-yaml-CmOPzmBb.js";
2
+ import { o as init_activity_logger, r as emitActivityEntrySync } from "./activity-logger-CyteR4JO.js";
3
+ import { D as killSession, M as listSessionNames, w as init_tmux } from "./tmux-B1Wbxz5o.js";
4
+ import { f as init_review_status, m as loadReviewStatuses } from "./review-status-yljtTd-q.js";
5
+ import { b as init_agents, i as listRunningAgents, pt as stopAgent } from "./queries-DHJm7bTd.js";
6
+ import { i as teardownWorkspaceDockerByNamePromise, n as init_docker } from "./docker-Dam7mbIB.js";
7
+ import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-B6KJkmHZ.js";
8
+ import "./archive-planning-C0lAbNB_.js";
9
+ import "./close-issue-D5MF5GqF.js";
10
10
  import { join } from "node:path";
11
11
  import { Data, Effect } from "effect";
12
12
  import "fs";
@@ -23,10 +23,8 @@ init_record();
23
23
  init_agents();
24
24
  init_issue_closed();
25
25
  init_paths();
26
- init_prd_locations();
27
26
  init_tmux();
28
27
  init_review_status();
29
- init_archive_planning();
30
28
  init_docker();
31
29
  init_issue_id();
32
30
  const execAsync$2 = promisify$1(exec$1);
@@ -268,6 +266,7 @@ function issueIdFromAgentDir(entryName) {
268
266
  return match ? match[1].toUpperCase() : null;
269
267
  }
270
268
  const execAsync = promisify(exec);
269
+ const DEVNET_CLOSURE_CHECK_CONCURRENCY = 4;
271
270
  async function listFeatureDevnetIssueIds() {
272
271
  try {
273
272
  const { stdout } = await execAsync(`docker network ls --format '{{.Name}}'`, {
@@ -281,7 +280,7 @@ async function listFeatureDevnetIssueIds() {
281
280
  }
282
281
  return [...issueIds];
283
282
  } catch {
284
- return [];
283
+ return null;
285
284
  }
286
285
  }
287
286
  async function isClosedIssue(issueId, closedChecks) {
@@ -405,13 +404,35 @@ async function reconcileClosedIssueAgents() {
405
404
  if (!await isClosedIssue(issueId, closedChecks)) continue;
406
405
  await reapResolvedIssueResidue(issueId, actions, reapedIssueKeys);
407
406
  }
408
- for (const issueId of await listFeatureDevnetIssueIds()) {
409
- if (!await isClosedIssue(issueId, closedChecks)) continue;
410
- await reapResolvedIssueResidue(issueId, actions, reapedIssueKeys);
407
+ const devnetIssueIds = await listFeatureDevnetIssueIds();
408
+ const openDevnetIssueIds = [];
409
+ if (devnetIssueIds) for (let offset = 0; offset < devnetIssueIds.length; offset += DEVNET_CLOSURE_CHECK_CONCURRENCY) {
410
+ const batch = devnetIssueIds.slice(offset, offset + DEVNET_CLOSURE_CHECK_CONCURRENCY);
411
+ const closureResults = await Promise.all(batch.map(async (issueId) => ({
412
+ issueId,
413
+ closed: await isClosedIssue(issueId, closedChecks)
414
+ })));
415
+ for (const { issueId, closed } of closureResults) if (closed) await reapResolvedIssueResidue(issueId, actions, reapedIssueKeys);
416
+ else openDevnetIssueIds.push(issueId);
417
+ }
418
+ let mergedIssueIds = devnetIssueIds ? [] : null;
419
+ if (openDevnetIssueIds.length > 0) try {
420
+ const { getReviewStatusesSync } = await import("./review-status-BZH8h-6W.js");
421
+ const statuses = getReviewStatusesSync(openDevnetIssueIds);
422
+ mergedIssueIds = openDevnetIssueIds.filter((issueId) => statuses[issueId]?.mergeStatus === "merged");
423
+ } catch (error) {
424
+ mergedIssueIds = null;
425
+ actions.push(`Failed to resolve merged-issue Docker cleanup status: ${error}`);
426
+ }
427
+ if (mergedIssueIds) try {
428
+ const { reconcileMergedDockerCleanupQueue } = await import("./merged-docker-cleanup-worker-Cdi9apm-.js");
429
+ actions.push(...reconcileMergedDockerCleanupQueue(mergedIssueIds));
430
+ } catch (error) {
431
+ actions.push(`Failed to reconcile merged-issue Docker cleanup queue: ${error}`);
411
432
  }
412
433
  return actions;
413
434
  }
414
435
  //#endregion
415
436
  export { reconcileClosedIssueAgents as n, handleIssueStatusChangedClosed as t };
416
437
 
417
- //# sourceMappingURL=closed-issue-reaper-hANY_ehE.js.map
438
+ //# sourceMappingURL=closed-issue-reaper-Cltx86x5.js.map
@@ -1,3 +1,3 @@
1
- import { a as extractThreadIdFromRollout, c as initCodexHome, l as init_codex, m as writeThreadId, o as findLatestRollout, p as waitForCodexRollout, s as findRolloutPath } from "./codex-TmSi-yTv.js";
1
+ import { a as extractThreadIdFromRollout, c as initCodexHome, l as init_codex, m as writeThreadId, o as findLatestRollout, p as waitForCodexRollout, s as findRolloutPath } from "./codex-Drlf5Xhf.js";
2
2
  init_codex();
3
3
  export { extractThreadIdFromRollout, findLatestRollout, findRolloutPath, initCodexHome, waitForCodexRollout, writeThreadId };
@@ -1,16 +1,38 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { h as jsYaml, m as init_js_yaml, mr as init_errors } from "./config-yaml-DvyMuOle.js";
3
- import { i as CODEX_BEHAVIOR } from "./src-U7_kTPEE.js";
4
- import { r as parseCodexSessionSync, t as init_codex_parser } from "./codex-parser-C4gSH-IR.js";
5
- import { t as init_behavior } from "./behavior-B_-4EKF3.js";
6
- import { n as init_harness_binary, r as prepareHarnessLaunch } from "./harness-binary-CVio2m-u.js";
2
+ import { Fr as init_errors, h as jsYaml, m as init_js_yaml } from "./config-yaml-CmOPzmBb.js";
3
+ import { a as CODEX_BEHAVIOR } from "./src-CRmCHlma.js";
4
+ import { r as parseCodexSessionSync, t as init_codex_parser } from "./codex-parser-DpB89Vqa.js";
5
+ import { t as init_behavior } from "./behavior-CfIg6pKp.js";
6
+ import { i as prepareHarnessLaunch, r as init_harness_binary } from "./harness-binary-DqkftwTb.js";
7
7
  import { basename, dirname, join } from "node:path";
8
8
  import "effect";
9
9
  import { homedir } from "node:os";
10
- import { closeSync, copyFileSync, existsSync, lstatSync, mkdirSync, openSync, readFileSync, readSync, readdirSync, readlinkSync, statSync, symlinkSync, unlinkSync, writeFileSync } from "node:fs";
10
+ import { closeSync, copyFileSync, cpSync, existsSync, lstatSync, mkdirSync, openSync, readFileSync, readSync, readdirSync, readlinkSync, statSync, symlinkSync, unlinkSync, writeFileSync } from "node:fs";
11
11
  import { exec } from "node:child_process";
12
12
  import { promisify } from "node:util";
13
13
  import { request } from "node:http";
14
+ //#region ../../lib/runtimes/codex-skills.ts
15
+ /**
16
+ * Copy globally-synced Agent Skills into an isolated managed CODEX_HOME.
17
+ * Top-level destination-only skills are preserved so agent-specific additions
18
+ * survive resume; source-owned skill directories are recursively refreshed.
19
+ */
20
+ function syncCodexSkillsIntoHome(sourceDir, destinationDir) {
21
+ if (!existsSync(sourceDir)) return;
22
+ mkdirSync(destinationDir, {
23
+ recursive: true,
24
+ mode: 448
25
+ });
26
+ for (const entry of readdirSync(sourceDir, { withFileTypes: true })) {
27
+ if (!entry.isDirectory()) continue;
28
+ cpSync(join(sourceDir, entry.name), join(destinationDir, entry.name), {
29
+ recursive: true,
30
+ force: true
31
+ });
32
+ }
33
+ }
34
+ var init_codex_skills = __esmMin((() => {}));
35
+ //#endregion
14
36
  //#region ../../lib/runtimes/tmux-cli.ts
15
37
  function shellQuote$1(value) {
16
38
  return `'${value.replace(/'/g, `'\\''`)}'`;
@@ -50,6 +72,11 @@ var init_tmux_cli = __esmMin((() => {
50
72
  * getSessionCost are stubs in this bead — they throw NotImplementedError
51
73
  * and will be filled in by downstream beads (spawn-agent, send-message,
52
74
  * kill-agent, cost-parser, notify-heartbeat).
75
+ *
76
+ * Skill discovery checkpoint (Codex CLI 0.144.4, 2026-07-24): running
77
+ * `codex debug prompt-input` with an isolated CODEX_HOME listed a probe skill
78
+ * from `$CODEX_HOME/skills/<name>/SKILL.md`, confirming this is the supported
79
+ * per-home discovery location.
53
80
  */
54
81
  function shellQuote(value) {
55
82
  return `'${value.replace(/'/g, `'\\''`)}'`;
@@ -284,6 +311,7 @@ function initCodexHome(codexHomeDir, opts = {}) {
284
311
  const globalCodexHome = join(homedir(), ".codex");
285
312
  seedCodexAuthSymlink(join(codexHomeDir, "auth.json"), join(globalCodexHome, "auth.json"));
286
313
  seedCodexRulesSymlink(join(codexHomeDir, "rules"), join(globalCodexHome, "rules"));
314
+ syncCodexSkillsIntoHome(join(homedir(), ".agents", "skills"), join(codexHomeDir, "skills"));
287
315
  const agentsMdPath = join(codexHomeDir, "AGENTS.md");
288
316
  if (!existsSync(agentsMdPath)) {
289
317
  const globalCodexContext = join(homedir(), ".overdeck", "context", "codex-global.md");
@@ -524,6 +552,7 @@ var execAsync, rolloutPathCache, SPAWN_READY_TIMEOUT_MS, CodexSpawnTimeout, Code
524
552
  var init_codex = __esmMin((() => {
525
553
  init_js_yaml();
526
554
  init_behavior();
555
+ init_codex_skills();
527
556
  init_tmux_cli();
528
557
  init_errors();
529
558
  init_harness_binary();
@@ -684,6 +713,6 @@ var init_codex = __esmMin((() => {
684
713
  };
685
714
  }));
686
715
  //#endregion
687
- export { extractThreadIdFromRollout as a, initCodexHome as c, seedCodexRulesSymlink as d, toCodexSandboxValue as f, createCodexRuntimeSync as i, init_codex as l, writeThreadId as m, CodexSpawnTimeout as n, findLatestRollout as o, waitForCodexRollout as p, codexHome as r, findRolloutPath as s, CodexRuntimeSync as t, seedCodexAuthSymlink as u };
716
+ export { tmuxKillSession as _, extractThreadIdFromRollout as a, initCodexHome as c, seedCodexRulesSymlink as d, toCodexSandboxValue as f, tmuxCreateSession as g, init_tmux_cli as h, createCodexRuntimeSync as i, init_codex as l, writeThreadId as m, CodexSpawnTimeout as n, findLatestRollout as o, waitForCodexRollout as p, codexHome as r, findRolloutPath as s, CodexRuntimeSync as t, seedCodexAuthSymlink as u, tmuxSessionExists as v };
688
717
 
689
- //# sourceMappingURL=codex-TmSi-yTv.js.map
718
+ //# sourceMappingURL=codex-Drlf5Xhf.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { o as getPricingSync, s as init_cost } from "./cost-Ca0YTWDw.js";
2
+ import { o as getPricingSync, s as init_cost } from "./cost-Bgcub5kW.js";
3
3
  import { existsSync, readFileSync } from "node:fs";
4
4
  //#region ../../lib/cost-parsers/codex-parser.ts
5
5
  /**
@@ -244,4 +244,4 @@ var init_codex_parser = __esmMin((() => {
244
244
  //#endregion
245
245
  export { parseCodexSessionCostEventsSync as n, parseCodexSessionSync as r, init_codex_parser as t };
246
246
 
247
- //# sourceMappingURL=codex-parser-C4gSH-IR.js.map
247
+ //# sourceMappingURL=codex-parser-DpB89Vqa.js.map
@@ -0,0 +1,200 @@
1
+ import { ci as init_paths, fi as sessionFilePath } from "./config-yaml-CmOPzmBb.js";
2
+ import { Hn as init_supervisor_channels, Ir as getAgentRuntimeStateSync, Lr as init_runtime_state, Vn as hasCompletionMarkerForAgent, ir as init_agent_state, rr as getAgentStateSync } from "./queries-DHJm7bTd.js";
3
+ import { join } from "node:path";
4
+ import { homedir } from "node:os";
5
+ import { existsSync, readdirSync } from "node:fs";
6
+ import { open, stat as stat$1 } from "node:fs/promises";
7
+ //#region ../../lib/conversations/transcript-path.ts
8
+ init_runtime_state();
9
+ init_agent_state();
10
+ init_supervisor_channels();
11
+ init_paths();
12
+ function resolveConversationTranscript(cwd, claudeSessionId) {
13
+ if (!claudeSessionId) return {
14
+ path: null,
15
+ status: "unknown"
16
+ };
17
+ const derived = sessionFilePath(cwd ?? "", claudeSessionId);
18
+ if (existsSync(derived)) return {
19
+ path: derived,
20
+ status: "ok"
21
+ };
22
+ const fallback = findClaudeProjectSessionFile(claudeSessionId);
23
+ if (fallback) return {
24
+ path: fallback,
25
+ status: "ok"
26
+ };
27
+ return {
28
+ path: derived,
29
+ status: "expired"
30
+ };
31
+ }
32
+ function findClaudeProjectSessionFile(sessionId) {
33
+ const projectsDir = join(homedir(), ".claude", "projects");
34
+ if (!existsSync(projectsDir)) return null;
35
+ for (const projectDir of readdirSync(projectsDir, { withFileTypes: true }).filter((entry) => entry.isDirectory()).map((entry) => entry.name).sort()) {
36
+ const candidate = join(projectsDir, projectDir, `${sessionId}.jsonl`);
37
+ if (existsSync(candidate)) return candidate;
38
+ }
39
+ return null;
40
+ }
41
+ /**
42
+ * Cap on the bytes scanned after the compact boundary. The tail holds the
43
+ * summary plus replayed file attachments, so it can be large; we only need to
44
+ * know whether a model turn happened, and that entry lands early.
45
+ */
46
+ const MAX_TAIL_SCAN_BYTES = 4 * 1024 * 1024;
47
+ const lastContinuationAt = /* @__PURE__ */ new Map();
48
+ /**
49
+ * Does this transcript end at a compaction that no model turn followed?
50
+ *
51
+ * "Model turn" means a real `assistant` entry. Claude Code writes synthetic
52
+ * assistant entries (`model: "<synthetic>"`, zero tokens) for meta messages it
53
+ * answers itself — those are not evidence the agent did anything. Everything
54
+ * else Claude writes after a compaction (the summary user message, replayed file
55
+ * attachments, hook results) is bookkeeping, not work.
56
+ *
57
+ * A non-meta user message after the boundary also counts as "someone already
58
+ * prompted it": the agent is mid-turn or has just been nudged, so we stay out.
59
+ */
60
+ async function transcriptStalledAfterCompaction(transcriptPath, findBoundary) {
61
+ let boundaryOffset = 0;
62
+ try {
63
+ boundaryOffset = await findBoundary(transcriptPath);
64
+ } catch {
65
+ return {
66
+ stalledAfterCompaction: false,
67
+ boundaryOffset: 0
68
+ };
69
+ }
70
+ if (boundaryOffset <= 0) return {
71
+ stalledAfterCompaction: false,
72
+ boundaryOffset: 0
73
+ };
74
+ let size = 0;
75
+ try {
76
+ size = (await stat$1(transcriptPath)).size;
77
+ } catch {
78
+ return {
79
+ stalledAfterCompaction: false,
80
+ boundaryOffset
81
+ };
82
+ }
83
+ if (size <= boundaryOffset) return {
84
+ stalledAfterCompaction: true,
85
+ boundaryOffset
86
+ };
87
+ const toRead = Math.min(size - boundaryOffset, MAX_TAIL_SCAN_BYTES);
88
+ let tail = "";
89
+ const fh = await open(transcriptPath, "r").catch(() => null);
90
+ if (!fh) return {
91
+ stalledAfterCompaction: false,
92
+ boundaryOffset
93
+ };
94
+ try {
95
+ const buf = Buffer.alloc(toRead);
96
+ const { bytesRead } = await fh.read(buf, 0, toRead, boundaryOffset);
97
+ tail = buf.subarray(0, bytesRead).toString("utf-8");
98
+ } catch {
99
+ return {
100
+ stalledAfterCompaction: false,
101
+ boundaryOffset
102
+ };
103
+ } finally {
104
+ await fh.close().catch(() => {});
105
+ }
106
+ const lines = tail.split("\n");
107
+ if (!tail.endsWith("\n")) lines.pop();
108
+ for (const line of lines) {
109
+ if (!line.trim()) continue;
110
+ let entry;
111
+ try {
112
+ entry = JSON.parse(line);
113
+ } catch {
114
+ continue;
115
+ }
116
+ const type = entry["type"];
117
+ const message = entry["message"];
118
+ if (type === "assistant") {
119
+ if (message?.model && message.model !== "<synthetic>") return {
120
+ stalledAfterCompaction: false,
121
+ boundaryOffset
122
+ };
123
+ continue;
124
+ }
125
+ if (type === "user" && entry["isMeta"] !== true && entry["isCompactSummary"] !== true) {
126
+ const content = message?.role === "user" ? entry["message"].content : void 0;
127
+ const text = typeof content === "string" ? content : "";
128
+ if (!text.startsWith("<local-command-") && !text.startsWith("<command-")) return {
129
+ stalledAfterCompaction: false,
130
+ boundaryOffset
131
+ };
132
+ }
133
+ }
134
+ return {
135
+ stalledAfterCompaction: true,
136
+ boundaryOffset
137
+ };
138
+ }
139
+ /**
140
+ * Should this agent be re-driven at all?
141
+ *
142
+ * Mirrors `buildResumeContinueMessage`'s phase-awareness: an agent whose work is
143
+ * already handed off (completed marker) must never be told to "continue" — that
144
+ * is how PAN-2974 had a resumed agent re-run verification and fire review
145
+ * commands while the operator was mid-UAT. Gated agents stay gated.
146
+ */
147
+ function shouldContinueAfterCompaction(state) {
148
+ if (state.paused === true) return {
149
+ ok: false,
150
+ reason: "paused"
151
+ };
152
+ if (state.troubled === true) return {
153
+ ok: false,
154
+ reason: "troubled"
155
+ };
156
+ if (state.stoppedByUser === true) return {
157
+ ok: false,
158
+ reason: "stopped-by-user"
159
+ };
160
+ if (state.status !== "running") return {
161
+ ok: false,
162
+ reason: `status=${state.status}`
163
+ };
164
+ if (hasCompletionMarkerForAgent(state)) return {
165
+ ok: false,
166
+ reason: "handed-off (completed marker)"
167
+ };
168
+ return { ok: true };
169
+ }
170
+ function buildCompactionContinueMessage(state) {
171
+ const issueId = state.issueId;
172
+ if (state.role === "work") return `Your context was compacted and the turn ended, so you stopped mid-task on ${issueId}. Continue from the compacted summary now: re-read your current xBRIEF item (\`pan task show\`) and your latest .pan/feedback/ file if you need them, then resume work. Do not start over and do not wait for further input.`;
173
+ return `Your context was compacted and the turn ended, so you stopped mid-task on ${issueId}. Continue from the compacted summary now, finish the task you were on, and signal the result through your normal lifecycle command. Do not start over and do not wait for further input.`;
174
+ }
175
+ /**
176
+ * Nudge an agent that compacted and stopped. Returns an action string when a
177
+ * nudge was delivered, or null when nothing was owed.
178
+ */
179
+ async function maybeContinueCompactedAgent(args) {
180
+ const now = args.now ?? Date.now();
181
+ const readState = args.readState ?? getAgentStateSync;
182
+ if (!args.tmuxOutput.includes("❯")) return null;
183
+ const last = lastContinuationAt.get(args.agentId);
184
+ if (last !== void 0 && now - last < 6e5) return null;
185
+ const state = readState(args.agentId);
186
+ if (!state) return null;
187
+ if (!shouldContinueAfterCompaction(state).ok) return null;
188
+ const sessionId = state.sessionId ?? getAgentRuntimeStateSync(args.agentId)?.claudeSessionId;
189
+ if (!sessionId || !state.workspace) return null;
190
+ const transcript = resolveConversationTranscript(state.workspace, sessionId);
191
+ if (!transcript.path || transcript.status !== "ok") return null;
192
+ if (!(await transcriptStalledAfterCompaction(transcript.path, args.findBoundary)).stalledAfterCompaction) return null;
193
+ await args.send(args.agentId, buildCompactionContinueMessage(state));
194
+ lastContinuationAt.set(args.agentId, now);
195
+ return `Compaction continuation: nudged ${args.agentId} — compacted and idle with no turn after the boundary`;
196
+ }
197
+ //#endregion
198
+ export { maybeContinueCompactedAgent };
199
+
200
+ //# sourceMappingURL=compaction-continuation-K2AxQX4H.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Vr as init_paths, ir as FsError, mr as init_errors, rr as ConfigError, wr as OVERDECK_HOME } from "./config-yaml-DvyMuOle.js";
2
+ import { Fr as init_errors, Gr as OVERDECK_HOME, Tr as FsError, ci as init_paths, wr as ConfigError } from "./config-yaml-CmOPzmBb.js";
3
3
  import { t as require_toml } from "./toml-CeLDATih.js";
4
4
  import { Effect } from "effect";
5
5
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
@@ -121,7 +121,8 @@ var init_config = __esmMin((() => {
121
121
  },
122
122
  deploy: {
123
123
  auto_deploy: true,
124
- debounce_minutes: 5
124
+ debounce_minutes: 5,
125
+ queue_deadline_minutes: 30
125
126
  },
126
127
  concurrency: {
127
128
  max_work_agents: 6,
@@ -289,4 +290,4 @@ var init_config = __esmMin((() => {
289
290
  //#endregion
290
291
  export { loadCloisterConfigSync as a, loadCloisterConfig as i, getHealthThresholdsMs as n, saveCloisterConfigSync as o, init_config as r, shouldAutoStart as s, DEFAULT_CLOISTER_CONFIG as t };
291
292
 
292
- //# sourceMappingURL=config-DjLOdbgT.js.map
293
+ //# sourceMappingURL=config-B2IMcBxx.js.map
@@ -1,3 +1,3 @@
1
- import { _ as saveConfigSync, a as getConversationsConfigSync, c as getDefaultConfig, d as getDevrootPathSync, f as init_config, g as saveConfig, h as normalizeRemoteConfig, i as getConversationsConfig, l as getDefaultConfigSync, m as loadConfigSync, n as findDevrootForProject, o as getDashboardApiUrl, p as loadConfig, r as findDevrootForProjectSync, s as getDashboardApiUrlSync, t as checkDevrootDeprecation, u as getDevrootPath } from "./config-CCvjQf27.js";
1
+ import { _ as saveConfigSync, a as getConversationsConfigSync, c as getDefaultConfig, d as getDevrootPathSync, f as init_config, g as saveConfig, h as normalizeRemoteConfig, i as getConversationsConfig, l as getDefaultConfigSync, m as loadConfigSync, n as findDevrootForProject, o as getDashboardApiUrl, p as loadConfig, r as findDevrootForProjectSync, s as getDashboardApiUrlSync, t as checkDevrootDeprecation, u as getDevrootPath } from "./config-Dr3pW6w6.js";
2
2
  init_config();
3
3
  export { checkDevrootDeprecation, findDevrootForProject, findDevrootForProjectSync, getConversationsConfig, getConversationsConfigSync, getDashboardApiUrl, getDashboardApiUrlSync, getDefaultConfig, getDefaultConfigSync, getDevrootPath, getDevrootPathSync, loadConfig, loadConfigSync, normalizeRemoteConfig, saveConfig, saveConfigSync };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Vr as init_paths, f as loadConfigSync$1, ir as FsError, mr as init_errors, t as init_config_yaml, xr as CONFIG_FILE } from "./config-yaml-DvyMuOle.js";
2
+ import { Fr as init_errors, Hr as CONFIG_FILE, Tr as FsError, ci as init_paths, f as loadConfigSync$1, t as init_config_yaml } from "./config-yaml-CmOPzmBb.js";
3
3
  import { t as require_toml } from "./toml-CeLDATih.js";
4
4
  import { Effect } from "effect";
5
5
  import { existsSync, promises, readFileSync, writeFileSync } from "fs";
@@ -253,4 +253,4 @@ var init_config = __esmMin((() => {
253
253
  //#endregion
254
254
  export { saveConfigSync as _, getConversationsConfigSync as a, getDefaultConfig as c, getDevrootPathSync as d, init_config as f, saveConfig as g, normalizeRemoteConfig as h, getConversationsConfig as i, getDefaultConfigSync as l, loadConfigSync as m, findDevrootForProject as n, getDashboardApiUrl as o, loadConfig as p, findDevrootForProjectSync as r, getDashboardApiUrlSync as s, checkDevrootDeprecation as t, getDevrootPath as u };
255
255
 
256
- //# sourceMappingURL=config-CCvjQf27.js.map
256
+ //# sourceMappingURL=config-Dr3pW6w6.js.map