@overdeck/desktop 0.45.23 → 0.45.24

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 (388) hide show
  1. package/drizzle/overdeck/0000_overdeck_init.sql +2 -0
  2. package/package.json +1 -1
  3. package/server/{acceptance-criteria-DOA0KgXx.js → acceptance-criteria-DDCnXF58.js} +2 -2
  4. package/server/{advancing-selfheal-BBu6DSNm.js → advancing-selfheal-BVwW4qRn.js} +6 -6
  5. package/server/{agent-gc-BV1q_2EV.js → agent-gc-CHcnvonI.js} +4 -4
  6. package/server/agent-state-Bc3tzUC8.js +3 -0
  7. package/server/{agent-state-service-HoK8U4jW.js → agent-state-service-BsgWxZuB.js} +5 -5
  8. package/server/{agent-state-service-CnzFKSAQ.js → agent-state-service-D5UGKIJL.js} +1 -1
  9. package/server/{agents-B4Bjbkfv.js → agents-EbI0zCJl.js} +4 -4
  10. package/server/agents-wi9NWzs2.js +3 -0
  11. package/server/{archive-planning-zkJb3BeM.js → archive-planning-BZDgzoEj.js} +1 -1
  12. package/server/{archive-planning-DYrYojxl.js → archive-planning-Du25Jtst.js} +4 -4
  13. package/server/{artifact-index-jobs-C-xy7Z5v.js → artifact-index-jobs-CbEDfCDu.js} +2 -2
  14. package/server/assemble-J2ZZ2C15.js +339 -0
  15. package/server/{backlog-auto-trigger-GtG71X8H.js → backlog-auto-trigger-2R2jog7n.js} +3 -3
  16. package/server/{behavior-B_-4EKF3.js → behavior-B3exJ42O.js} +2 -2
  17. package/server/{briefing-freshness-DWdW7vUm.js → briefing-freshness-D1wzUIWv.js} +2 -2
  18. package/server/{build-info-DgTqZkL5.js → build-info-CZk_TITh.js} +1 -1
  19. package/server/{build-info-BT096lEl.js → build-info-Ie_D0_BT.js} +3 -3
  20. package/server/{checkpoint-manager-DDqcGyu8.js → checkpoint-manager-BI1Wxoku.js} +2 -2
  21. package/server/{checkpoint-manager-B7Bt29J0.js → checkpoint-manager-DwbQoqrC.js} +1 -1
  22. package/server/checkpoint-worker.js +1 -1
  23. package/server/{checkpoints-CpgCjAlN.js → checkpoints-BJIs5QIA.js} +1 -1
  24. package/server/{checkpoints-C-AXLfYT.js → checkpoints-CQB1h765.js} +2 -2
  25. package/server/{claude-hooks-provision-C8wdRnN1.js → claude-hooks-provision-8Ngo8TpT.js} +1 -1
  26. package/server/{claude-hooks-provision-but-_qGY.js → claude-hooks-provision-D8GXF3_s.js} +2 -2
  27. package/server/{claude-permissions-H_5wHQZQ.js → claude-permissions-DNWEVV6z.js} +2 -2
  28. package/server/{claude-settings-overlay-CbSz0Dvb.js → claude-settings-overlay-CEdaqpWI.js} +2 -2
  29. package/server/{claude-settings-overlay-BTENVmYf.js → claude-settings-overlay-DWy-Bb4Y.js} +1 -1
  30. package/server/cli-B86rejVV.js +3 -0
  31. package/server/{cli-vBeXbPrq.js → cli-RoOx5DUf.js} +9 -9
  32. package/server/{cliproxy-Bgb2XCqi.js → cliproxy-C8a1vtTU.js} +2 -2
  33. package/server/{cliproxy-DW0V86F8.js → cliproxy-fHfIeiGd.js} +1 -1
  34. package/server/{close-issue-Dn_4c4G8.js → close-issue-DoOifFIK.js} +5 -5
  35. package/server/{closed-issue-reaper-hANY_ehE.js → closed-issue-reaper-Bk3SU4RC.js} +9 -9
  36. package/server/{closed-issue-reaper-CWpY2uBw.js → closed-issue-reaper-CktPXo8m.js} +1 -1
  37. package/server/{codex-TmSi-yTv.js → codex-BZXGhUVB.js} +7 -7
  38. package/server/{codex-Dg7Is5yb.js → codex-GcHuUF-k.js} +1 -1
  39. package/server/{codex-parser-C4gSH-IR.js → codex-parser-CFZ1_1Jl.js} +2 -2
  40. package/server/{config-CCvjQf27.js → config-BZ0sHTju.js} +2 -2
  41. package/server/{config-DjLOdbgT.js → config-CKxYiCmX.js} +2 -2
  42. package/server/{config-DUIhMN_T.js → config-DzV30TOm.js} +1 -1
  43. package/server/{config-yaml-DvyMuOle.js → config-yaml-DySPNmKN.js} +23 -9
  44. package/server/{conflict-gate-CmrYpa47.js → conflict-gate-BaCVrH-N.js} +3 -3
  45. package/server/{conflict-gate-BSJkNTdp.js → conflict-gate-BhAY7TUd.js} +1 -1
  46. package/server/context-layers-BrPmE__h.js +4 -0
  47. package/server/context-layers-igZ4FI4_.js +37 -0
  48. package/server/{control-settings-aP1ANIlI.js → control-settings-BQp7_4uD.js} +4 -4
  49. package/server/{conversation-compaction-CNbTLB86.js → conversation-compaction-CgrR8YYp.js} +8 -8
  50. package/server/{conversation-compaction-DiG5zWQq.js → conversation-compaction-eQB5CkOe.js} +1 -1
  51. package/server/{conversation-service-Up7FEzIC.js → conversation-service-BLd3MYsG.js} +1 -1
  52. package/server/{conversation-service-Du-MTNpJ.js → conversation-service-DPJ71F33.js} +329 -19
  53. package/server/{conversations-DbOs1e9Q.js → conversations-6AfUfbwc.js} +5 -5
  54. package/server/{conversations-6mPANqvL.js → conversations-CAsJF9kh.js} +1 -1
  55. package/server/{cost-Ca0YTWDw.js → cost-B2ddP6wq.js} +2 -2
  56. package/server/{cost-CW4WSe72.js → cost-R-m6Yi-W.js} +3 -3
  57. package/server/{cost-sync-C0VdGme1.js → cost-sync-BsN6ER0n.js} +3 -3
  58. package/server/{dag-CdOjJVDT.js → dag-B1ucnjDU.js} +2 -2
  59. package/server/{dangerous-git-ops-CT-IypG3.js → dangerous-git-ops-BXqeWVSf.js} +1 -1
  60. package/server/dashboard-db-worker.js +7 -7
  61. package/server/{deacon-pRnyD5w9.js → deacon-CU_cAYSR.js} +254 -144
  62. package/server/{deacon-DYSEJb48.js → deacon-kiQrb4ZT.js} +3 -3
  63. package/server/{deacon-nudge-log-Bjg8U4Y9.js → deacon-nudge-log-6wVqAaqz.js} +3 -3
  64. package/server/{deacon-swarm-DftYRDo8.js → deacon-swarm-BXZZ1Z2-.js} +13 -13
  65. package/server/deacon-swarm-C-GwfjJy.js +2 -0
  66. package/server/deacon.js +8 -8
  67. package/server/{deploy-patrol-Bjsho_ha.js → deploy-patrol-AiFoP8dw.js} +6 -6
  68. package/server/{deploy-window-DeP_OIRk.js → deploy-window-C3F-tihF.js} +6 -6
  69. package/server/{deploy-window-CM6W1-c6.js → deploy-window-DkZraDyj.js} +1 -1
  70. package/server/{dev-supervisor-BpMoHlkR.js → dev-supervisor-bcOWqdQE.js} +2 -2
  71. package/server/{devcontainer-renderer-CtUgrVKW.js → devcontainer-renderer-_d6XhyND.js} +3 -3
  72. package/server/dist-Bzy0y69j.js +3 -0
  73. package/server/{dist-DyRx4cI7.js → dist-Cb_0uvpS.js} +1 -1
  74. package/server/{docker-BK7HIcBj.js → docker-DcMTFTUC.js} +2 -2
  75. package/server/{dod-BrSfUHm0.js → dod-C6n9RV3G.js} +1 -1
  76. package/server/{ensure-devcontainer-DRqaAkBR.js → ensure-devcontainer-BZgOhRo7.js} +1 -1
  77. package/server/{ensure-devcontainer-DseivYEy.js → ensure-devcontainer-DNi-ono3.js} +4 -4
  78. package/server/{esm-shims-CbI3BVkl.js → esm-shims-OSHAYaS1.js} +1 -1
  79. package/server/{event-store-tdiY5eDZ.js → event-store-CQL6NeqB.js} +3 -3
  80. package/server/{event-store-Cr5PQwFC.js → event-store-EV2cMiXj.js} +1 -1
  81. package/server/{events-CvvGK6LT.js → events-BTdrdEq8.js} +1 -1
  82. package/server/{events-CC1dgUpx.js → events-DTfAe4My.js} +3 -3
  83. package/server/{factory-CynerjXO.js → factory-CFibJuaw.js} +4 -4
  84. package/server/{feature-registry-population-B0pmAz0a.js → feature-registry-population-DKZFMbFt.js} +4 -4
  85. package/server/{feature-registry-storage-_wUBRD3J.js → feature-registry-storage-BdPuLcBX.js} +2 -2
  86. package/server/{features-Dhxz-wLc.js → features-ez2271oH.js} +2 -2
  87. package/server/{feedback-target-CPS15Vte.js → feedback-target-7mqqwrX6.js} +7 -7
  88. package/server/{feedback-target-iygZwmMc.js → feedback-target-CoFDHiM8.js} +1 -1
  89. package/server/{feedback-writer-C9b6ccN1.js → feedback-writer-CY5L1lB7.js} +5 -5
  90. package/server/{feedback-writer-qmiMbqTZ.js → feedback-writer-D3a22RCd.js} +1 -1
  91. package/server/flywheel-DHrgCphM.js +1084 -0
  92. package/server/flywheel-DzGtWnJ1.js +477 -0
  93. package/server/flywheel-SVF02Jpq.js +2 -0
  94. package/server/{flywheel-merge-order-DxbQKE1d.js → flywheel-merge-order-UU0tiUld.js} +9 -8
  95. package/server/{flywheel-merge-order-C-6zRLvM.js → flywheel-merge-order-UUcsCDb6.js} +1 -1
  96. package/server/{forge-Ch9gCFod.js → forge-CNFnyqps.js} +2 -2
  97. package/server/forge-DXnS_YFH.js +2 -0
  98. package/server/{from-CJ_aH5jD.js → from-kNxT0bZC.js} +1 -1
  99. package/server/{fts-db-CKgg0VKg.js → fts-db-CE46vDkZ.js} +2 -2
  100. package/server/{fts-operations-BrL_VTRr.js → fts-operations-CqY6zl-i.js} +2 -2
  101. package/server/{git-utils-BVa07a4a.js → git-utils-CRw2zLPC.js} +68 -3
  102. package/server/git-utils-D0_yhCgF.js +3 -0
  103. package/server/{github-app-CMBdIFBQ.js → github-app-C3QrAUd0.js} +18 -7
  104. package/server/{github-app-CPfoFAdV.js → github-app-ClZ2lk8D.js} +1 -1
  105. package/server/{github-client--XVlDpwM.js → github-client-BnIsSrEN.js} +2 -2
  106. package/server/{github-client-B4QsdE-X.js → github-client-DfQYVUaw.js} +1 -1
  107. package/server/{github-pr-lookup-BRbDW-qk.js → github-pr-lookup-D16NGsSO.js} +2 -2
  108. package/server/{harness-binary-CVio2m-u.js → harness-binary-DPUi-Pv8.js} +32 -6
  109. package/server/{harness-resolve-qHJBhy3Z.js → harness-resolve-3lNZkyT4.js} +18 -9
  110. package/server/{health-events-C9B8y1Hm.js → health-events-BBcTYQKU.js} +2 -2
  111. package/server/{health-events-CpfvuVmm.js → health-events-BDOHby5Q.js} +1 -1
  112. package/server/{hooks-DUXw8A0-.js → hooks-CKZgXlJb.js} +2 -2
  113. package/server/{hooks-ltecuFqZ.js → hooks-DPVX1rwQ.js} +1 -1
  114. package/server/{hume-BEq0bUDg.js → hume-Cz8igP9E.js} +2 -2
  115. package/server/hume-ccTf4wTX.js +3 -0
  116. package/server/{idle-stack-reaper-D7w9t3fE.js → idle-stack-reaper-CuLF0j2H.js} +1 -1
  117. package/server/{idle-stack-reaper-w1ISSlhs.js → idle-stack-reaper-DDIRwxUY.js} +2 -2
  118. package/server/{in-flight-guard-aQ1IxeI3.js → in-flight-guard-CAAkqPLu.js} +2 -2
  119. package/server/{infra-CzaSOgul.js → infra-BEqFxlJc.js} +14 -4
  120. package/server/{injection-DZ0PfYa4.js → injection-C8aiVJrF.js} +191 -183
  121. package/server/{injection-oNZeoDhL.js → injection-CPUIqNhI.js} +1 -1
  122. package/server/{inspect-agent-DJKLWcVT.js → inspect-agent-BLuJ1AkT.js} +135 -79
  123. package/server/inspect-agent-Brtz0URj.js +2 -0
  124. package/server/{internal-token-DXdfprGr.js → internal-token-BrcU6qfe.js} +1 -1
  125. package/server/{internal-token-Bb4XeV2x.js → internal-token-s0-oKybJ.js} +2 -2
  126. package/server/{io-B3_AHDfr.js → io-C9kF1wtJ.js} +3 -3
  127. package/server/{issue-closed-zhdvQicO.js → issue-closed-CDJk4pIp.js} +7 -7
  128. package/server/{issue-lifecycle-Dy4vd0Oa.js → issue-lifecycle-B8sZHVHh.js} +1 -1
  129. package/server/{issue-lifecycle-CreaCkjW.js → issue-lifecycle-ojZAzDBP.js} +21 -21
  130. package/server/{issue-service-singleton-DabvBWUp.js → issue-service-singleton-BvJ09SaR.js} +1 -1
  131. package/server/{issue-service-singleton-B5ushCvE.js → issue-service-singleton-Yx5DdmVJ.js} +8 -8
  132. package/server/{issues-B6ToV6x1.js → issues-BMmP_77e.js} +2 -2
  133. package/server/{jsonl-parser-Dhflo1SH.js → jsonl-parser-BXSlHwEh.js} +3 -3
  134. package/server/{label-cleanup-BKPJm4Hv.js → label-cleanup-B0UJwnv5.js} +3 -3
  135. package/server/{label-reconciler-DdWbHEBu.js → label-reconciler-B4iOAjlC.js} +4 -4
  136. package/server/{launcher-generator-CHVm7bGT.js → launcher-generator-BBWG_SiS.js} +101 -7
  137. package/server/{lifecycle-io-D8iNBcux.js → lifecycle-io-BREGpnLk.js} +5 -5
  138. package/server/{lifecycle-io-Bsnr2K4F.js → lifecycle-io-DPo7x11I.js} +1 -1
  139. package/server/{lifecycle-sycO16hj.js → lifecycle-xmBfK2GJ.js} +6 -6
  140. package/server/{lifecycle-DfeyBDwA.js → lifecycle-yPd___5E.js} +2 -2
  141. package/server/{linear-client-D4zqMnX7.js → linear-client-BsuUvkdA.js} +2 -2
  142. package/server/{linear-client-DqhDQO9k.js → linear-client-CTskEeT_.js} +1 -1
  143. package/server/memory-fts-worker.js +1 -1
  144. package/server/{merge-DK23JEdS.js → merge-B1DiziGU.js} +1 -1
  145. package/server/{merge-C_ZEhbqI.js → merge-CefQNAnq.js} +3 -3
  146. package/server/{merge-agent-XrB80vfT.js → merge-agent-4WOWlSYA.js} +28 -28
  147. package/server/{merge-agent-BQM3a8z5.js → merge-agent-CKkgIBPB.js} +1 -1
  148. package/server/{merge-batch-Bwoyr8Je.js → merge-batch-ClFn2T-y.js} +1 -1
  149. package/server/merge-ops-CR44oU9-.js +2 -0
  150. package/server/{merge-rebase-C1KIVr0s.js → merge-rebase-BfaTyXsw.js} +2 -2
  151. package/server/merge-set-DJ8-UErs.js +83 -0
  152. package/server/{merge-set-DnSYdBEp.js → merge-set-bUqbm3yc.js} +1 -1
  153. package/server/{merge-sync-SSv3E-pl.js → merge-sync-BJYeOODr.js} +1 -1
  154. package/server/{merge-sync-DZ9dojJn.js → merge-sync-VPV28g0g.js} +2 -2
  155. package/server/{merge-train-DxDfBTjr.js → merge-train-CHopycP0.js} +3 -3
  156. package/server/{merge-train-deps-CyYQUksx.js → merge-train-deps-D1cOZzy2.js} +4 -4
  157. package/server/{merge-verification-CSizH3HY.js → merge-verification-BkaOqPsw.js} +4 -4
  158. package/server/{multipart-parser-Dt8YPN5S.js → multipart-parser-duPAfSBw.js} +2 -2
  159. package/server/{no-resume-mode-Cx3K0hHi.js → no-resume-mode-Nw29vaFb.js} +1 -1
  160. package/server/node_modules/.package-lock.json +8 -8
  161. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +3 -3
  162. package/server/node_modules/undici/README.md +5 -0
  163. package/server/node_modules/undici/docs/docs/api/Client.md +4 -0
  164. package/server/node_modules/undici/docs/docs/api/Dispatcher.md +6 -0
  165. package/server/node_modules/undici/docs/docs/api/Interceptors.md +59 -0
  166. package/server/node_modules/undici/docs/docs/api/MockAgent.md +27 -0
  167. package/server/node_modules/undici/docs/docs/api/MockPool.md +28 -1
  168. package/server/node_modules/undici/docs/docs/index.md +5 -0
  169. package/server/node_modules/undici/lib/core/request.js +1 -1
  170. package/server/node_modules/undici/lib/core/util.js +6 -1
  171. package/server/node_modules/undici/lib/dispatcher/agent.js +3 -3
  172. package/server/node_modules/undici/lib/dispatcher/client-h1.js +31 -6
  173. package/server/node_modules/undici/lib/dispatcher/client-h2.js +34 -43
  174. package/server/node_modules/undici/lib/handler/cache-handler.js +93 -5
  175. package/server/node_modules/undici/lib/handler/cache-revalidation-handler.js +10 -0
  176. package/server/node_modules/undici/lib/handler/redirect-handler.js +5 -2
  177. package/server/node_modules/undici/lib/handler/retry-handler.js +6 -4
  178. package/server/node_modules/undici/lib/interceptor/cache.js +21 -4
  179. package/server/node_modules/undici/lib/interceptor/decompress.js +4 -0
  180. package/server/node_modules/undici/lib/mock/mock-interceptor.js +25 -7
  181. package/server/node_modules/undici/lib/mock/mock-utils.js +39 -10
  182. package/server/node_modules/undici/lib/util/cache.js +49 -7
  183. package/server/node_modules/undici/lib/web/fetch/body.js +2 -1
  184. package/server/node_modules/undici/lib/web/fetch/response.js +1 -3
  185. package/server/node_modules/undici/package.json +2 -2
  186. package/server/node_modules/undici/types/client.d.ts +2 -2
  187. package/server/node_modules/undici/types/dispatcher.d.ts +3 -3
  188. package/server/node_modules/undici/types/mock-interceptor.d.ts +5 -1
  189. package/server/{orphan-proposed-reconciler-neK8dHQk.js → orphan-proposed-reconciler-BvKkWMJQ.js} +12 -12
  190. package/server/{orphan-proposed-reconciler-BTkDrl4R.js → orphan-proposed-reconciler-CTSGcK8p.js} +1 -1
  191. package/server/package-lock.json +9 -9
  192. package/server/package.json +1 -1
  193. package/server/{pan-dir-DeVUgwA7.js → pan-dir-B0c3w0Ya.js} +3 -3
  194. package/server/{paths-_zEts6wc.js → paths-D-xWGHdh.js} +2 -2
  195. package/server/{pickup-Dd0Znxxy.js → pickup-DUCLWrJY.js} +17 -16
  196. package/server/{pipeline-membership-0HaEGDlH.js → pipeline-membership-mY3GprlK.js} +7 -7
  197. package/server/{pipeline-notifier-6iCJplFZ.js → pipeline-notifier-BJr8gQX6.js} +1 -1
  198. package/server/{pipeline-notifier-D0ykk59O.js → pipeline-notifier-BXkJzDC4.js} +2 -2
  199. package/server/{project-pipelines-2sK1apsO.js → project-pipelines-C0MWUeCU.js} +2 -2
  200. package/server/project-repos-B6GycDh9.js +94 -0
  201. package/server/project-repos-DXKQsc_m.js +3 -0
  202. package/server/{projects-9SkRpES9.js → projects-vjjcmiN8.js} +1 -1
  203. package/server/{prompts-Dp4Tpk39.js → prompts-DxzFXuLl.js} +2 -2
  204. package/server/{providers-DV7ec8l7.js → providers-qQAwGQDW.js} +7 -7
  205. package/server/{providers-DKkBXhxU.js → providers-u4Ga0jOr.js} +1 -1
  206. package/server/public/assets/{chunk-BO2N2NFS-CltymLRg.js → chunk-BO2N2NFS-BamJdinX.js} +4 -4
  207. package/server/public/assets/{diagram-OG6HWLK6-D2f6pjgA.js → diagram-OG6HWLK6-DfOB8-w4.js} +1 -1
  208. package/server/public/assets/{dist-DEmlBBNQ.js → dist-ByIuzMQW.js} +3 -3
  209. package/server/public/assets/{dist-BWR4qFiV.js → dist-D7zYSEA6.js} +1 -1
  210. package/server/public/assets/{ganttDiagram-6RSMTGT7-DnfiViPK.js → ganttDiagram-6RSMTGT7-EdmRyXL3.js} +1 -1
  211. package/server/public/assets/{highlighted-body-OFNGDK62-B8Wrmj9H.js → highlighted-body-OFNGDK62-MerOfTX8.js} +1 -1
  212. package/server/public/assets/{index-CsSuZQBI.js → index-CWeMerGO.js} +146 -144
  213. package/server/public/assets/{index-CUr1xv8w.css → index-CenuJ3Cw.css} +1 -1
  214. package/server/public/assets/{linear-C9zFQpkX.js → linear-BBbArIcK.js} +1 -1
  215. package/server/public/assets/mermaid-GHXKKRXX-CpPWAFwE.js +1 -0
  216. package/server/public/assets/{pieDiagram-4H26LBE5-lR8H7Yjd.js → pieDiagram-4H26LBE5-BKIddiJN.js} +1 -1
  217. package/server/public/assets/{prod-B1jCQihw.js → prod-B8vYiu52.js} +4 -4
  218. package/server/public/assets/{quadrantDiagram-W4KKPZXB-CVQ2guem.js → quadrantDiagram-W4KKPZXB-D6RtoULk.js} +1 -1
  219. package/server/public/assets/{sankeyDiagram-5OEKKPKP-eD1RB4gm.js → sankeyDiagram-5OEKKPKP-CLrCedZX.js} +1 -1
  220. package/server/public/assets/{xychartDiagram-2RQKCTM6-ChEC6dQn.js → xychartDiagram-2RQKCTM6-hznR8DYl.js} +1 -1
  221. package/server/public/index.html +2 -2
  222. package/server/{pull-requests--Ib2jTgy.js → pull-requests-7N8WKseP.js} +1 -1
  223. package/server/{pull-requests-CXIhdCYD.js → pull-requests-_lHueOHW.js} +3 -3
  224. package/server/{queries-6d7Cdtm7.js → queries-CjNIf-Ub.js} +576 -166
  225. package/server/{rally-B708-nZn.js → rally-CyWT_lNO.js} +3 -3
  226. package/server/{rally-api-nY0ZANw3.js → rally-api-C8e_1JRi.js} +2 -2
  227. package/server/{rally-api-yjQ0TfHd.js → rally-api-ClOSd-Tt.js} +1 -1
  228. package/server/{rally-client-B1EJhfV0.js → rally-client-lc-nokqr.js} +4 -4
  229. package/server/{rally-client-CULK2XAY.js → rally-client-sgtVqzNU.js} +1 -1
  230. package/server/rally-zhhtXuDP.js +3 -0
  231. package/server/{reap-terminal-sessions-MWnqdLCJ.js → reap-terminal-sessions-7KeHv1R1.js} +1 -1
  232. package/server/{reap-terminal-sessions-N3BTkmX_.js → reap-terminal-sessions-BtHPo6Xc.js} +1 -1
  233. package/server/rebuild-stack-CFvcBHsS.js +4 -0
  234. package/server/{rebuild-stack-Dp4eLkt4.js → rebuild-stack-lwtsW0GO.js} +26 -35
  235. package/server/{reconstruct-cache-uWbZfjms.js → reconstruct-cache-C3Ui7ojV.js} +6 -6
  236. package/server/{record-t6V-3Dcj.js → record-CN0pj4_5.js} +1 -1
  237. package/server/{record-update-DACtKh6_.js → record-update-bLJxAXH4.js} +1 -1
  238. package/server/{record-update-Dq0t2uBG.js → record-update-dE1Aw83j.js} +2 -2
  239. package/server/{recovery-trip-BJtIQuag.js → recovery-trip-BvRWfUXM.js} +2 -2
  240. package/server/{release-engine-DZpmGGzb.js → release-engine-Cx48W7z8.js} +5 -5
  241. package/server/{release-set-hnXd_kga.js → release-set-CQfuN9-v.js} +3 -3
  242. package/server/{remote-Br-ZWVIP.js → remote-C_2hasl7.js} +3 -3
  243. package/server/{remote-4tiENDaI.js → remote-ChgimyYa.js} +3 -3
  244. package/server/{remote-agents-nmty1mLu.js → remote-agents-By1ige5O.js} +6 -6
  245. package/server/{remote-agents-CRCg1L4H.js → remote-agents-CA3Ihlxj.js} +1 -1
  246. package/server/{remote-completion-BbWNd10K.js → remote-completion-fVe9e_3u.js} +12 -12
  247. package/server/resume-BFv1PGpA.js +3 -0
  248. package/server/{review-agent-sKkE1FEL.js → review-agent-CIGOQYBD.js} +29 -25
  249. package/server/{review-agent-DJRO8EG8.js → review-agent-DNboMyW4.js} +1 -1
  250. package/server/{review-artifacts-BLbSC4ke.js → review-artifacts-nRDPuMxd.js} +5 -5
  251. package/server/{review-context-BgX3lcCx.js → review-context-2uj-YQ8J.js} +69 -25
  252. package/server/{review-status-C6n6-9f_.js → review-status-btEYlaxA.js} +1 -1
  253. package/server/{review-status-enrichment-tbOn_A_u.js → review-status-enrichment-Dci-ZwEt.js} +3 -3
  254. package/server/{review-status-A7quS5KJ.js → review-status-kZj_KyCk.js} +42 -26
  255. package/server/{review-status-sync-BhSQ0d0l.js → review-status-sync-BTOpxtTC.js} +10 -5
  256. package/server/{review-status-sync-To3-iS-N.js → review-status-sync-DSDK3OMy.js} +1 -1
  257. package/server/{review-verdict-feedback-CTRNtzXO.js → review-verdict-feedback-CCjVA7Uk.js} +6 -6
  258. package/server/{review-verdict-feedback-C1Kg8n7t.js → review-verdict-feedback-CTd4QMBu.js} +1 -1
  259. package/server/{rollup-B53Y81xK.js → rollup-BKQC7jp4.js} +1 -1
  260. package/server/{rollup-WA0VD-Rr.js → rollup-FGsKki9R.js} +8 -8
  261. package/server/{scanner-D2743cp8.js → scanner-CnqEZeDy.js} +41 -14
  262. package/server/{sequence-io-Cg0zYj_E.js → sequence-io-D909zgeH.js} +4 -4
  263. package/server/{sequencer-agent-BGY8gjg-.js → sequencer-agent-CzkcK6P5.js} +5 -5
  264. package/server/server.js +2194 -341
  265. package/server/{service-DCpB_SGd.js → service-CLeAoU6G.js} +51 -50
  266. package/server/{session-fork-BQ8_6H32.js → session-fork-CHI1XvL9.js} +2 -2
  267. package/server/{session-history-CVZDpS3c.js → session-history-BT3IvqhC.js} +4 -4
  268. package/server/settings-66A6uvIA.js +2 -0
  269. package/server/{settings-BZ5m1UCl.js → settings-BTMvpNFU.js} +3 -3
  270. package/server/{settings-ylxwqwQG.js → settings-C0zgxOGf.js} +2 -2
  271. package/server/{shadow-engineering-BlxG6Xye.js → shadow-engineering-BJfgm-hX.js} +2 -2
  272. package/server/{shadow-state-Dh-HzF2J.js → shadow-state-7a-524T8.js} +2 -2
  273. package/server/{shadow-state-C2_epgx2.js → shadow-state-DnDyjujH.js} +1 -1
  274. package/server/{shadow-utils-4bvjn9b3.js → shadow-utils-Db3oroFG.js} +2 -2
  275. package/server/{ship-log-ClSMIzZX.js → ship-log-D9MlVzYU.js} +1 -1
  276. package/server/{smart-compaction-CHIxLr_d.js → smart-compaction-CV2ukKND.js} +1 -1
  277. package/server/{smart-compaction-r4pHQBIr.js → smart-compaction-KCYScAU1.js} +7 -7
  278. package/server/{spawn-planning-session-DWAorh2B.js → spawn-planning-session-DKpdFyOC.js} +30 -23
  279. package/server/{spawn-planning-session-KC_UduxD.js → spawn-planning-session-qUC2VWu3.js} +1 -1
  280. package/server/{specialist-completion-BXhav38U.js → specialist-completion-Ky9wCDpb.js} +1 -1
  281. package/server/{specialist-context-DtrYvGJ-.js → specialist-context-Bn3dCGS2.js} +5 -5
  282. package/server/{specialist-handoff-logger-C45ouoZ6.js → specialist-handoff-logger-CMEwYxa2.js} +2 -2
  283. package/server/{specialist-logs-DJ3RzKxW.js → specialist-logs-C5p8G7tx.js} +3 -3
  284. package/server/{specialists-JVO00bs7.js → specialists-CC4r-c2s.js} +776 -347
  285. package/server/{specialists-D5fRZXmN.js → specialists-CShuVGWT.js} +1 -1
  286. package/server/{specialists-DVj0hvaL.js → specialists-DM6bWjsi.js} +1 -1
  287. package/server/{specialists-DyFeedjn.js → specialists-jiuuyVkp.js} +21 -19
  288. package/server/specs-C8Wsn2XO.js +3 -0
  289. package/server/{src-CG9mCkP6.js → src-CXmtj0im.js} +6 -6
  290. package/server/{src-CMTQGyCK.js → src-CdmnTM2m.js} +5 -5
  291. package/server/{src-U7_kTPEE.js → src-DtcUOZCq.js} +111 -18
  292. package/server/stack-health-Bn3o8FBX.js +3 -0
  293. package/server/{stack-health-puygdaMd.js → stack-health-DxSdG9cW.js} +63 -9
  294. package/server/{stale-task-claims-BbFwCTb0.js → stale-task-claims-KJKxxiiQ.js} +4 -4
  295. package/server/{staleness-Cbl_w4Bw.js → staleness-CT34nwr9.js} +1 -1
  296. package/server/{staleness-Bpy41ngS.js → staleness-DPm7ClwA.js} +1 -1
  297. package/server/{state-home-CIGjwNfJ.js → state-home-Cn_Qu8IX.js} +2 -2
  298. package/server/{state-migrate-Dkzaxvny.js → state-migrate-BGg2ZaOt.js} +4 -4
  299. package/server/{stuck-remediation-CzEov_fq.js → stuck-remediation-DYuPRYYw.js} +300 -23
  300. package/server/{stuck-remediation-sY_MHHgQ.js → stuck-remediation-s9_2qfi6.js} +1 -1
  301. package/server/{substrate-bug-weights-service-BH66lhm7.js → substrate-bug-weights-service-B-FwCs5V.js} +3 -3
  302. package/server/{summary-fork-DHhJIsAL.js → summary-fork-D1RAk9rJ.js} +78 -12
  303. package/server/{summary-fork-D8bXjCr7.js → summary-fork-DpcxN9tf.js} +2 -2
  304. package/server/supervisor/{injection-budget-C1iPirFS.js → injection-budget-Csw5tqfJ.js} +2 -41
  305. package/server/supervisor/pty-supervisor.js +2 -1
  306. package/server/supervisor/pty-token-x-ea28Us.js +43 -0
  307. package/server/supervisor-FTJAIsAK.js +2 -0
  308. package/server/{supervisor-BO-Zk_h-.js → supervisor-wM4ooB5O.js} +3 -3
  309. package/server/{swarm-readiness-CQ_fwUWF.js → swarm-readiness-DlP_UjHq.js} +3 -3
  310. package/server/{system-prerequisites-Bza0ffAh.js → system-prerequisites-DUDj1YHf.js} +56 -29
  311. package/server/{teardown-workspace-CEgauF4U.js → teardown-workspace-DeTTImn-.js} +15 -15
  312. package/server/{test-agent-queue-DXDt0Xa-.js → test-agent-queue-MbxX5vqq.js} +6 -6
  313. package/server/{test-verdict-CmUBK5cT.js → test-verdict-bWYBtqBg.js} +1 -1
  314. package/server/{test-verdict-DFjjIHR5.js → test-verdict-gscuksPv.js} +1 -1
  315. package/server/{tldr-daemon-DL566HbH.js → tldr-daemon-BYFkts95.js} +1 -1
  316. package/server/{tldr-daemon-BDtLOIlO.js → tldr-daemon-C-69c3OI.js} +2 -2
  317. package/server/{tmux-DoThH6aj.js → tmux-B6z7h_vZ.js} +1 -1
  318. package/server/{tmux-ftABRAmc.js → tmux-R7N7y-Mh.js} +2 -2
  319. package/server/{token-CsOhvw42.js → token-BK6t8BIT.js} +2 -2
  320. package/server/token-util-DuPuNriz.js +3 -0
  321. package/server/{token-util-CTmczIfW.js → token-util-DxXu-vd1.js} +1 -1
  322. package/server/{tracker-config-B4itFzDo.js → tracker-config-G6latr8C.js} +2 -2
  323. package/server/{tracker-utils-BePq_oj-.js → tracker-utils-B4ylXZQK.js} +1 -1
  324. package/server/{tracker-utils-tnxxqROg.js → tracker-utils-DHv5pSDT.js} +2 -2
  325. package/server/{traefik-connect-m73vGebA.js → traefik-connect-Df2uXPsQ.js} +1 -1
  326. package/server/{tunnel-B2vxjx_b.js → tunnel-CDVKJpRv.js} +3 -3
  327. package/server/{tunnel-Cgj-IGIl.js → tunnel-DGdUkGoZ.js} +1 -1
  328. package/server/{types-BBNjPcqU.js → types-5M0lupud.js} +1 -1
  329. package/server/{uat-train-cKfM-_WW.js → uat-train-B05BWkp-.js} +1 -1
  330. package/server/{uat-train-CuEn0t9M.js → uat-train-DDSrSoV1.js} +25 -25
  331. package/server/validate-IfDGkaVR.js +177 -0
  332. package/server/{validation-CIi6pnI2.js → validation-CC9OPqJZ.js} +1 -1
  333. package/server/{validation-B5JxoPUS.js → validation-Dw1pzDzr.js} +4 -4
  334. package/server/{verification-artifact-C-lIHfUa.js → verification-artifact-B3itKTxu.js} +1 -1
  335. package/server/{verification-artifact-BcnIbigL.js → verification-artifact-TVFSz_q1.js} +1 -1
  336. package/server/{verification-runner-CDj4lD4t.js → verification-runner-BW4HOKAz.js} +1 -1
  337. package/server/{verification-runner-Br0S_Ous.js → verification-runner-CkgX6EtI.js} +91 -106
  338. package/server/{vtt-parser-DKpNNW5i.js → vtt-parser-DYPbKcIJ.js} +1 -1
  339. package/server/{work-agent-prompt-Yb2bd3Fq.js → work-agent-prompt-Du8Vh2aJ.js} +9 -9
  340. package/server/workflows-BQu4RFQ-.js +2 -0
  341. package/server/{workflows-C9WmILql.js → workflows-mbQzh6mQ.js} +18 -18
  342. package/server/{workspace-DuUdndHe.js → workspace--8tnhDI0.js} +1 -1
  343. package/server/{workspace-BVl4rihN.js → workspace-BPUws1-_.js} +3 -3
  344. package/server/{workspace-config-cEGcO6UT.js → workspace-config-CIVWZOQr.js} +1 -1
  345. package/server/{workspace-manager-hLUv3ADC.js → workspace-manager-CBhNdzE4.js} +66 -15
  346. package/server/workspace-manager-CWT55qeI.js +3 -0
  347. package/server/{workspace-metadata-DNpMixRq.js → workspace-metadata-BzHnwwX4.js} +1 -1
  348. package/server/{workspace-metadata-CskwzzhL.js → workspace-metadata-_WygnyoX.js} +2 -2
  349. package/server/{workspaces-hWvy9eKs.js → workspaces-Do_9J0LQ.js} +130 -111
  350. package/sync-sources/hooks/record-cost-event.js +6 -4
  351. package/sync-sources/skills/okf/README.md +11 -3
  352. package/sync-sources/skills/okf/SKILL.md +12 -1
  353. package/sync-sources/skills/okf/docs/USAGE.md +15 -0
  354. package/sync-sources/skills/okf/references/overdeck.md +28 -0
  355. package/sync-sources/skills/pan-flywheel/SKILL.md +18 -1
  356. package/sync-sources/skills/pan-knowledge/SKILL.md +10 -0
  357. package/sync-sources/skills/pan-orders/SKILL.md +33 -0
  358. package/sync-sources/skills/pan-start/SKILL.md +4 -0
  359. package/sync-sources/templates/traefik/dynamic/overdeck.yml.template +10 -0
  360. package/server/agent-state-Bg0lhqwj.js +0 -3
  361. package/server/agents-FlIgQ3ql.js +0 -3
  362. package/server/cli-BsVIHwzC.js +0 -3
  363. package/server/context-layers-B3Nt58jl.js +0 -4
  364. package/server/context-layers-ZYFcWiyc.js +0 -165
  365. package/server/deacon-swarm-9jRLS5Ke.js +0 -2
  366. package/server/dist-Bd3vn0Hw.js +0 -3
  367. package/server/flywheel-DMCUzDWg.js +0 -2
  368. package/server/flywheel-DSSpWmqF.js +0 -522
  369. package/server/flywheel-DcBkQvgE.js +0 -207
  370. package/server/forge-B-ZWyTRm.js +0 -2
  371. package/server/git-utils-Dry_Ka_D.js +0 -3
  372. package/server/hume-B_DbflNM.js +0 -3
  373. package/server/inspect-agent-ch-F-5Ci.js +0 -2
  374. package/server/layers-DzxSTGNA.js +0 -93
  375. package/server/merge-blockers-BsFjGrQ8.js +0 -41
  376. package/server/merge-ops-DlB1IM0Y.js +0 -2
  377. package/server/merge-set-DLz0MkGT.js +0 -139
  378. package/server/public/assets/mermaid-GHXKKRXX-BUAB8hqt.js +0 -1
  379. package/server/rally-njs_mJrt.js +0 -3
  380. package/server/rebuild-stack-kA7XngID.js +0 -3
  381. package/server/resume-CcKqnTvE.js +0 -3
  382. package/server/settings-D0OSwos5.js +0 -2
  383. package/server/specs-nN45DG2X.js +0 -3
  384. package/server/stack-health-Df0YEZKa.js +0 -3
  385. package/server/supervisor-BPy-o1A8.js +0 -2
  386. package/server/token-util-DrHg8abn.js +0 -3
  387. package/server/workflows-D90rMOya.js +0 -2
  388. package/server/workspace-manager-ZTdJAy9M.js +0 -3
@@ -1,207 +0,0 @@
1
- import { t as init_config_yaml } from "./config-yaml-DvyMuOle.js";
2
- import { H as sessionExists, w as init_tmux } from "./tmux-ftABRAmc.js";
3
- import { l as FlywheelStats, t as init_src, y as FlywheelStatus } from "./src-U7_kTPEE.js";
4
- import { b as init_agents } from "./queries-6d7Cdtm7.js";
5
- import { s as init_internal_token } from "./internal-token-Bb4XeV2x.js";
6
- import { i as getFlywheelActiveRunId, s as init_control_settings } from "./control-settings-aP1ANIlI.js";
7
- import { t as init_harness_resolve } from "./harness-resolve-qHJBhy3Z.js";
8
- import { f as init_github_app } from "./github-app-CMBdIFBQ.js";
9
- import "./substrate-bug-weights-service-BH66lhm7.js";
10
- import { f as clearFlywheelGate, g as listFlywheelRuns, m as getFlywheelRunDir, p as getFlywheelRunDetail } from "./flywheel-DSSpWmqF.js";
11
- import { t as init_sequence_io } from "./sequence-io-Cg0zYj_E.js";
12
- import { r as computeMergeQueue } from "./flywheel-merge-order-DxbQKE1d.js";
13
- import "./merge-blockers-BsFjGrQ8.js";
14
- import { join } from "node:path";
15
- import { Effect, Schema } from "effect";
16
- import "node:os";
17
- import "node:fs";
18
- import { writeFile } from "node:fs/promises";
19
- import { exec, execFile } from "node:child_process";
20
- import { promisify } from "node:util";
21
- import { layer } from "@effect/platform-node/NodeServices";
22
- //#region ../../lib/flywheel-start.ts
23
- init_config_yaml();
24
- init_tmux();
25
- init_src();
26
- init_internal_token();
27
- init_control_settings();
28
- init_harness_resolve();
29
- init_agents();
30
- promisify(exec);
31
- //#endregion
32
- //#region ../../cli/commands/flywheel-merge-backend.ts
33
- init_github_app();
34
- //#endregion
35
- //#region ../../cli/commands/flywheel-surfaces.ts
36
- init_sequence_io();
37
- init_github_app();
38
- promisify(exec);
39
- promisify(execFile);
40
- //#endregion
41
- //#region ../../cli/commands/flywheel.ts
42
- init_control_settings();
43
- Schema.decodeUnknownSync(FlywheelStatus);
44
- Schema.decodeUnknownSync(FlywheelStats);
45
- const execAsync = promisify(exec);
46
- function runNumberFromRunId(runId) {
47
- const match = /^RUN-(\d+)$/.exec(runId);
48
- if (!match) throw new Error(`Invalid Flywheel run id for report: ${runId}`);
49
- return Number(match[1]);
50
- }
51
- function reportDate(status) {
52
- return status.lastTickAt.slice(0, 10);
53
- }
54
- function tableCell(value) {
55
- return String(value ?? "").replace(/\|/g, "\\|").replace(/\n/g, " ");
56
- }
57
- function formatFlywheelStateReport(status, mergeQueue = []) {
58
- const runNumber = runNumberFromRunId(status.runId);
59
- const suggestionRows = status.suggestions.length > 0 ? status.suggestions.map((suggestion) => `| ${tableCell(suggestion.priority)} | ${tableCell(suggestion.action)} | ${tableCell(suggestion.issueId)} | ${tableCell(suggestion.rationale)} |`).join("\n") : "No suggestions emitted this run.";
60
- const activePipelineRows = status.activePipeline.length > 0 ? status.activePipeline.map((item) => `| ${tableCell(item.issueId)} | ${tableCell(item.verb)} | ${tableCell(item.status)} | ${tableCell(item.title)} | ${tableCell(item.progressPercent)} | ${tableCell(item.pr)} |`).join("\n") : "| _None_ | | | | | |";
61
- const substrateRows = status.substrateBugs.length > 0 ? status.substrateBugs.map((bug) => `| ${tableCell(bug.issueId)} | ${tableCell(bug.status)} | ${tableCell(bug.title)} | ${tableCell(bug.commitSha?.slice(0, 10))} |`).join("\n") : "| _None_ | | | |";
62
- const patternLines = status.parked.length > 0 ? status.parked.map((item) => `- **${item.issueId}** (${item.reason}) — ${item.title}`).join("\n") : "- None recorded this run.";
63
- const questionLines = status.openQuestions.length > 0 ? status.openQuestions.map((question) => `- ${question}`).join("\n") : "- None.";
64
- const mergeQueueSection = mergeQueue.length > 0 ? `## Merge Queue
65
-
66
- Merge ship-ready PRs in this order to avoid rebase conflicts. Branches with overlapping file changes must be merged in sequence; non-overlapping branches can be merged in any order.
67
-
68
- | # | Issue | PR | Conflicts With |
69
- |---|---|---|---|
70
- ${mergeQueue.map((item) => {
71
- const prCell = item.pr != null ? `#${item.pr}` : "—";
72
- const conflictsCell = item.conflictsWith.length > 0 ? item.conflictsWith.join(", ") : "—";
73
- return `| ${item.mergeOrder} | ${item.issueId} | ${prCell} | ${conflictsCell} |`;
74
- }).join("\n")}
75
-
76
- ---
77
-
78
- ` : "";
79
- return `# Flywheel Run ${runNumber} Report — ${reportDate(status)}
80
-
81
- Per-run report derived from the last \`FlywheelStatus\` snapshot. Durable cumulative memory across runs lives in \`docs/FLYWHEEL-STATE.md\`.
82
-
83
- **Run window:** ${status.startedAt} → ${status.lastTickAt} (${status.orchestrator.harness}, ${status.orchestrator.model}, ${status.orchestrator.effort})
84
-
85
- **Headline result:** ${status.headline.bugsFixed} substrate bugs fixed; ${status.headline.swarmItemsMerged}/${status.headline.swarmItemsTotal} SWARM items merged; ${status.headline.prsMerged} PRs merged; ${status.headline.awaitingUat} awaiting UAT.
86
-
87
- **Run counters:** ticks ${status.ticks}; last tick ${status.lastTickAt}; orchestrator context ${status.orchestrator.ctxPercent}%.
88
-
89
- ---
90
-
91
- ${mergeQueueSection}## Suggestions
92
-
93
- ${status.suggestions.length > 0 ? `| Priority | Action | Issue | Rationale |
94
- |---|---|---|---|
95
- ${suggestionRows}` : suggestionRows}
96
-
97
- ---
98
-
99
- ## Active Pipeline
100
-
101
- | Issue | Verb | Status | Title | Progress | PR |
102
- |---|---|---|---|---:|---:|
103
- ${activePipelineRows}
104
-
105
- ---
106
-
107
- ## Cycling Alerts
108
-
109
- ${questionLines}
110
-
111
- ---
112
-
113
- ## Infrastructure Gaps
114
-
115
- | Issue | Status | Notes | Commit |
116
- |---|---|---|---|
117
- ${substrateRows}
118
-
119
- ---
120
-
121
- ## Pattern Ledger
122
-
123
- ${patternLines}
124
-
125
- ---
126
-
127
- ## Skill Gaps
128
-
129
- - Keep \`pan flywheel report\` in the closeout path so run summaries stay archived under the run directory.
130
- `;
131
- }
132
- async function isFlywheelStateDirty(cwd) {
133
- try {
134
- const { stdout } = await execAsync("git status --porcelain docs/FLYWHEEL-STATE.md", {
135
- cwd,
136
- encoding: "utf8"
137
- });
138
- return stdout.trim().length > 0;
139
- } catch {
140
- return false;
141
- }
142
- }
143
- async function loadReportFlywheelStatus() {
144
- const activeRunId = getFlywheelActiveRunId();
145
- if (activeRunId) {
146
- const activeDetail = await getFlywheelRunDetail(activeRunId);
147
- if (activeDetail?.latest) return activeDetail.latest;
148
- }
149
- const runs = await listFlywheelRuns();
150
- const run = runs.find((candidate) => candidate.status === "running") ?? runs[0];
151
- if (!run) return null;
152
- return (await getFlywheelRunDetail(run.id))?.latest ?? null;
153
- }
154
- async function gitOutput(command, cwd) {
155
- const { stdout } = await execAsync(command, {
156
- cwd,
157
- encoding: "utf8"
158
- });
159
- return stdout.trim();
160
- }
161
- async function commitFlywheelStateChanges(cwd, runNumber) {
162
- const subject = `docs(flywheel): run ${runNumber}`;
163
- await execAsync("git add docs/FLYWHEEL-STATE.md", { cwd });
164
- await execAsync(await gitOutput("git log -1 --format=%s", cwd).catch(() => "") === subject ? `git commit --amend -m ${JSON.stringify(subject)}` : `git commit -m ${JSON.stringify(subject)}`, {
165
- cwd,
166
- encoding: "utf8"
167
- });
168
- }
169
- function clearFlywheelRunGate(runId) {
170
- if (getFlywheelActiveRunId() === runId) clearFlywheelGate();
171
- }
172
- async function flywheelReportCommand(options = {}) {
173
- try {
174
- const cwd = options.cwd ?? process.cwd();
175
- if (!options.force && await Effect.runPromise(sessionExists("flywheel-orchestrator"))) {
176
- console.error("Refusing to write report — flywheel orchestrator session is still alive.");
177
- console.error("This command finalizes the run (writes report.md and clears the active-run gate).");
178
- console.error("Run `pan flywheel pause` (or `pan flywheel abort`) first, or pass --force to override.");
179
- process.exitCode = 1;
180
- return;
181
- }
182
- const status = await loadReportFlywheelStatus();
183
- if (!status) {
184
- console.error("no flywheel run to report");
185
- process.exitCode = 1;
186
- return;
187
- }
188
- const runNumber = runNumberFromRunId(status.runId);
189
- const runReport = formatFlywheelStateReport(status, await Effect.runPromise(computeMergeQueue(status.activePipeline, cwd).pipe(Effect.provide(layer))));
190
- await writeFile(join(getFlywheelRunDir(status.runId), "report.md"), runReport, "utf8");
191
- try {
192
- if (await isFlywheelStateDirty(cwd)) {
193
- await commitFlywheelStateChanges(cwd, runNumber);
194
- console.log(`Wrote per-run report and committed FLYWHEEL-STATE.md changes for run ${runNumber}.`);
195
- } else console.log(`Wrote per-run report for run ${runNumber}. No FLYWHEEL-STATE.md changes to commit.`);
196
- } finally {
197
- clearFlywheelRunGate(status.runId);
198
- }
199
- } catch (error) {
200
- console.error(error instanceof Error ? error.message : String(error));
201
- process.exitCode = 1;
202
- }
203
- }
204
- //#endregion
205
- export { flywheelReportCommand };
206
-
207
- //# sourceMappingURL=flywheel-DcBkQvgE.js.map
@@ -1,2 +0,0 @@
1
- import { n as getForgeAdapter } from "./forge-Ch9gCFod.js";
2
- export { getForgeAdapter };
@@ -1,3 +0,0 @@
1
- import { i as init_git_utils, n as getWorkspaceGitInfo, r as hasStaleLocks, t as cleanupStaleLocks } from "./git-utils-BVa07a4a.js";
2
- init_git_utils();
3
- export { cleanupStaleLocks, getWorkspaceGitInfo, hasStaleLocks };
@@ -1,3 +0,0 @@
1
- import { i as init_hume, r as deleteHumeConfig } from "./hume-BEq0bUDg.js";
2
- init_hume();
3
- export { deleteHumeConfig };
@@ -1,2 +0,0 @@
1
- import { n as onInspectComplete } from "./inspect-agent-DJKLWcVT.js";
2
- export { onInspectComplete };
@@ -1,93 +0,0 @@
1
- import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-DvyMuOle.js";
3
- import { existsSync, mkdirSync, writeFileSync } from "fs";
4
- import { join } from "path";
5
- //#region ../../lib/context-layers/layers.ts
6
- /**
7
- * Context layer model (PAN-1201).
8
- *
9
- * Three layers of context compose at sync time:
10
- *
11
- * global — ~/.overdeck/context/global.md (+ global/{skills,agents}/)
12
- * Applies to every harness invocation, everywhere.
13
- * project — <projectRoot>/.overdeck/context/project.md
14
- * Applies when CWD is under a registered project. Committed.
15
- * workspace — <workspace>/.overdeck/context/workspace.md
16
- * Auto-assembled by Overdeck at spawn time. Gitignored.
17
- *
18
- * The global layer lives under ~/.overdeck (per-machine). Project and
19
- * Project and workspace context live outside the permanent state plane under
20
- * `.overdeck/`. Reads retain a `.pan/context/` compatibility fallback.
21
- */
22
- /** `~/.overdeck/context` — the global layer directory. */
23
- function globalContextDir() {
24
- return join(getOverdeckHome(), "context");
25
- }
26
- /** `~/.overdeck/context/global.md` — the global layer's canonical source. */
27
- function globalContextFile() {
28
- return join(globalContextDir(), "global.md");
29
- }
30
- /** `<projectRoot>/.overdeck/context` — a registered project's layer directory. */
31
- function projectContextDir(projectRoot) {
32
- return join(projectRoot, ".overdeck", "context");
33
- }
34
- /** `<projectRoot>/.overdeck/context/project.md` — a project's canonical source. */
35
- function projectContextFile(projectRoot) {
36
- return join(projectContextDir(projectRoot), "project.md");
37
- }
38
- function legacyProjectContextFile(projectRoot) {
39
- return join(projectRoot, ".pan", "context", "project.md");
40
- }
41
- function resolveProjectContextFile(projectRoot) {
42
- const canonical = projectContextFile(projectRoot);
43
- return existsSync(canonical) ? canonical : legacyProjectContextFile(projectRoot);
44
- }
45
- /** `<workspace>/.overdeck/context` — a workspace's layer directory. */
46
- function workspaceContextDir(workspacePath) {
47
- return join(workspacePath, ".overdeck", "context");
48
- }
49
- /** `<workspace>/.pan/context/workspace.md` — the auto-assembled bundle. */
50
- function workspaceContextFile(workspacePath) {
51
- return join(workspaceContextDir(workspacePath), "workspace.md");
52
- }
53
- function legacyWorkspaceContextFile(workspacePath) {
54
- return join(workspacePath, ".pan", "context", "workspace.md");
55
- }
56
- function resolveWorkspaceContextFile(workspacePath) {
57
- const canonical = workspaceContextFile(workspacePath);
58
- return existsSync(canonical) ? canonical : legacyWorkspaceContextFile(workspacePath);
59
- }
60
- /** `~/.overdeck/context/pi-global.md` — the rendered global layer for Pi. */
61
- function piGlobalContextFile() {
62
- return join(getOverdeckHome(), "context", "pi-global.md");
63
- }
64
- /** `~/.overdeck/context/codex-global.md` — the rendered global layer for Codex. */
65
- function codexGlobalContextFile() {
66
- return join(getOverdeckHome(), "context", "codex-global.md");
67
- }
68
- /**
69
- * Ensure a project's layer dir exists with a stub `project.md`. Idempotent.
70
- * Returns true when a file was created. Called by `pan projects add`.
71
- */
72
- function ensureProjectLayer(projectRoot) {
73
- const file = projectContextFile(projectRoot);
74
- if (existsSync(file)) return false;
75
- mkdirSync(projectContextDir(projectRoot), { recursive: true });
76
- writeFileSync(file, PROJECT_STARTER, "utf-8");
77
- return true;
78
- }
79
- var PROJECT_STARTER;
80
- var init_layers = __esmMin((() => {
81
- init_paths();
82
- PROJECT_STARTER = `# Project Context
83
-
84
- Context for this project specifically. \`pan sync\` renders it into the
85
- project's CLAUDE.md (and equivalents) when CWD is under this project.
86
-
87
- This file is committed to the repo; \`workspace.md\` is not.
88
- `;
89
- }));
90
- //#endregion
91
- export { globalContextFile as a, legacyWorkspaceContextFile as c, projectContextFile as d, resolveProjectContextFile as f, workspaceContextFile as h, globalContextDir as i, piGlobalContextFile as l, workspaceContextDir as m, codexGlobalContextFile as n, init_layers as o, resolveWorkspaceContextFile as p, ensureProjectLayer as r, legacyProjectContextFile as s, PROJECT_STARTER as t, projectContextDir as u };
92
-
93
- //# sourceMappingURL=layers-DzxSTGNA.js.map
@@ -1,41 +0,0 @@
1
- import { c as init_review_status_sync, r as getAllReviewStatusesFromDb } from "./review-status-sync-BhSQ0d0l.js";
2
- //#region ../../lib/cloister/merge-blockers.ts
3
- init_review_status_sync();
4
- /**
5
- * PRs that passed review but cannot merge for a GitHub-native reason (PAN-1620):
6
- * merge_conflict / failing_checks / not_mergeable. These sit forever unless rebased.
7
- *
8
- * Reads `review_status` directly from SQLite — NO HTTP — so it works inside a
9
- * network-sandboxed harness (e.g. codex's bwrap sandbox) where a `curl` to the
10
- * dashboard's `/api/flywheel/merge-blockers` cannot reach `127.0.0.1:3011`.
11
- * Shared by the dashboard route and the `pan flywheel merge-blockers` CLI so the
12
- * two surfaces can never disagree.
13
- */
14
- const MERGE_BLOCKER_TYPES = new Set([
15
- "merge_conflict",
16
- "failing_checks",
17
- "not_mergeable"
18
- ]);
19
- function getMergeBlockersPayload() {
20
- const statuses = getAllReviewStatusesFromDb();
21
- const out = [];
22
- for (const [issueId, status] of Object.entries(statuses)) {
23
- if (status.reviewStatus !== "passed") continue;
24
- if (status.mergeStatus === "merged") continue;
25
- const reasons = (status.blockerReasons ?? []).filter((b) => MERGE_BLOCKER_TYPES.has(b.type));
26
- if (reasons.length === 0) continue;
27
- out.push({
28
- issueId,
29
- prUrl: status.prUrl,
30
- reasons: reasons.map((b) => ({
31
- type: b.type,
32
- summary: b.summary
33
- }))
34
- });
35
- }
36
- return out;
37
- }
38
- //#endregion
39
- export { getMergeBlockersPayload as t };
40
-
41
- //# sourceMappingURL=merge-blockers-BsFjGrQ8.js.map
@@ -1,2 +0,0 @@
1
- import { c as triggerMerge } from "./workspaces-hWvy9eKs.js";
2
- export { triggerMerge };
@@ -1,139 +0,0 @@
1
- import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { $n as resolveIssueIdSync, Tn as init_projects, Yn as init_issue_id, yn as getProjectSync, zn as resolveProjectFromIssueSync } from "./config-yaml-DvyMuOle.js";
3
- import { T as upsertMergeSet, i as getMergeSetFromDb, o as init_merge_sync } from "./merge-sync-DZ9dojJn.js";
4
- import "effect";
5
- import { join } from "path";
6
- //#region ../../lib/project-repos.ts
7
- function normalizeForgeSync(value) {
8
- if (!value) return null;
9
- const normalized = value.trim().toLowerCase();
10
- if (normalized === "github" || normalized.includes("github.com")) return "github";
11
- if (normalized === "gitlab" || normalized.includes("gitlab.com")) return "gitlab";
12
- return null;
13
- }
14
- function inferProjectForgeSync(projectConfig) {
15
- if (projectConfig.github_repo && !projectConfig.gitlab_repo) return "github";
16
- if (projectConfig.gitlab_repo && !projectConfig.github_repo) return "gitlab";
17
- return null;
18
- }
19
- function getRepoSourceBranch(repo, issueId) {
20
- return `${repo?.branch_prefix || "feature/"}${issueId.toLowerCase()}`;
21
- }
22
- function getRepoTargetBranch(repo, projectConfig) {
23
- return repo?.pr_target || projectConfig.workspace?.pr_target || repo?.default_branch || projectConfig.workspace?.default_branch || "main";
24
- }
25
- function getRepoForge(repo, projectConfig) {
26
- return normalizeForgeSync(repo?.forge) || normalizeForgeSync(repo?.remote) || inferProjectForgeSync(projectConfig) || "github";
27
- }
28
- function resolveConfiguredReposSync(projectKey, projectPath, projectConfig, issueId) {
29
- const repos = projectConfig.workspace?.repos;
30
- if (!repos || repos.length === 0) return [{
31
- projectKey,
32
- projectPath,
33
- repoKey: projectKey,
34
- repoPath: projectPath,
35
- forge: inferProjectForgeSync(projectConfig) || "github",
36
- sourceBranch: `feature/${issueId.toLowerCase()}`,
37
- targetBranch: projectConfig.workspace?.pr_target || projectConfig.workspace?.default_branch || "main",
38
- mergeOrder: 0,
39
- required: true
40
- }];
41
- return repos.map((repo, index) => ({
42
- projectKey,
43
- projectPath,
44
- repoKey: repo.name,
45
- repoPath: join(projectPath, repo.path),
46
- forge: getRepoForge(repo, projectConfig),
47
- sourceBranch: getRepoSourceBranch(repo, issueId),
48
- targetBranch: getRepoTargetBranch(repo, projectConfig),
49
- mergeOrder: index,
50
- required: repo.readonly !== true
51
- }));
52
- }
53
- function resolveProjectReposFromResolvedIssueSync(issueId, resolvedProject) {
54
- const projectConfig = getProjectSync(resolvedProject.projectKey);
55
- if (!projectConfig) return null;
56
- return resolveConfiguredReposSync(resolvedProject.projectKey, resolvedProject.projectPath, projectConfig, issueId);
57
- }
58
- var init_project_repos = __esmMin((() => {
59
- init_projects();
60
- }));
61
- //#endregion
62
- //#region ../../lib/merge-set.ts
63
- function upsertMergeSetSync(mergeSet) {
64
- upsertMergeSet({
65
- ...mergeSet,
66
- issueId: resolveIssueIdSync(mergeSet.issueId)
67
- });
68
- }
69
- function getMergeSetSync(issueId) {
70
- return getMergeSetFromDb(resolveIssueIdSync(issueId));
71
- }
72
- function buildMergeSetForIssueSync(issueId, labels = []) {
73
- const resolved = resolveProjectFromIssueSync(issueId, labels);
74
- if (!resolved) return null;
75
- const repos = resolveProjectReposFromResolvedIssueSync(issueId, resolved);
76
- if (!repos) return null;
77
- const now = (/* @__PURE__ */ new Date()).toISOString();
78
- return {
79
- issueId,
80
- projectKey: resolved.projectKey,
81
- projectPath: resolved.projectPath,
82
- workspaceType: repos.length > 1 ? "polyrepo" : "monorepo",
83
- status: "draft",
84
- createdAt: now,
85
- updatedAt: now,
86
- repos: repos.map((repo) => ({
87
- repoKey: repo.repoKey,
88
- repoPath: repo.repoPath,
89
- forge: repo.forge,
90
- sourceBranch: repo.sourceBranch,
91
- targetBranch: repo.targetBranch,
92
- reviewStatus: "pending",
93
- testStatus: "pending",
94
- rebaseStatus: "pending",
95
- verificationStatus: "pending",
96
- mergeStatus: "pending",
97
- mergeOrder: repo.mergeOrder,
98
- required: repo.required
99
- }))
100
- };
101
- }
102
- function ensureMergeSetForIssueSync(issueId, labels = []) {
103
- const existing = getMergeSetSync(issueId);
104
- if (existing) return existing;
105
- const built = buildMergeSetForIssueSync(issueId, labels);
106
- if (built) upsertMergeSetSync(built);
107
- return built;
108
- }
109
- function withRepoArtifactUrlSync(mergeSet, repoKey, artifactUrl, artifactId) {
110
- return {
111
- ...mergeSet,
112
- updatedAt: (/* @__PURE__ */ new Date()).toISOString(),
113
- repos: mergeSet.repos.map((repo) => repo.repoKey === repoKey ? {
114
- ...repo,
115
- artifactUrl,
116
- artifactId
117
- } : repo)
118
- };
119
- }
120
- function withRepoStateSync(mergeSet, repoKey, patch) {
121
- return {
122
- ...mergeSet,
123
- updatedAt: (/* @__PURE__ */ new Date()).toISOString(),
124
- repos: mergeSet.repos.map((repo) => repo.repoKey === repoKey ? {
125
- ...repo,
126
- ...patch
127
- } : repo)
128
- };
129
- }
130
- var init_merge_set = __esmMin((() => {
131
- init_merge_sync();
132
- init_projects();
133
- init_project_repos();
134
- init_issue_id();
135
- }));
136
- //#endregion
137
- export { upsertMergeSetSync as a, init_merge_set as i, ensureMergeSetForIssueSync as n, withRepoArtifactUrlSync as o, getMergeSetSync as r, withRepoStateSync as s, buildMergeSetForIssueSync as t };
138
-
139
- //# sourceMappingURL=merge-set-DLz0MkGT.js.map
@@ -1 +0,0 @@
1
- import{C as e}from"./chunk-BO2N2NFS-CltymLRg.js";export{e as Mermaid};
@@ -1,3 +0,0 @@
1
- import { n as init_rally, t as RallyTracker } from "./rally-B708-nZn.js";
2
- init_rally();
3
- export { RallyTracker };
@@ -1,3 +0,0 @@
1
- import { n as init_rebuild_stack, r as rebuildWorkspaceStack } from "./rebuild-stack-Dp4eLkt4.js";
2
- init_rebuild_stack();
3
- export { rebuildWorkspaceStack };
@@ -1,3 +0,0 @@
1
- import { G as resumeAgent, W as init_resume } from "./queries-6d7Cdtm7.js";
2
- init_resume();
3
- export { resumeAgent };
@@ -1,2 +0,0 @@
1
- import { t as getAgentCommandSync } from "./settings-ylxwqwQG.js";
2
- export { getAgentCommandSync };
@@ -1,3 +0,0 @@
1
- import { C as init_specs, x as findSpecByIssue } from "./io-B3_AHDfr.js";
2
- init_specs();
3
- export { findSpecByIssue };
@@ -1,3 +0,0 @@
1
- import { a as init_stack_health, i as getWorkspaceStackHealth } from "./stack-health-puygdaMd.js";
2
- init_stack_health();
3
- export { getWorkspaceStackHealth };
@@ -1,2 +0,0 @@
1
- import { n as getSupervisorUrlSync } from "./supervisor-BO-Zk_h-.js";
2
- export { getSupervisorUrlSync };
@@ -1,3 +0,0 @@
1
- import { t as require_token_util } from "./token-util-CTmczIfW.js";
2
- export default require_token_util();
3
- export {};
@@ -1,2 +0,0 @@
1
- import { a as deepWipe, i as closeOut } from "./workflows-C9WmILql.js";
2
- export { closeOut, deepWipe };
@@ -1,3 +0,0 @@
1
- import { a as removeWorkspace, d as copyOverdeckSettingsToWorkspaceSync, i as preTrustDirectory, o as stopWorkspaceDocker, r as init_workspace_manager, s as preTrustDirectorySync, t as createWorkspace } from "./workspace-manager-hLUv3ADC.js";
2
- init_workspace_manager();
3
- export { copyOverdeckSettingsToWorkspaceSync, createWorkspace, preTrustDirectory, preTrustDirectorySync, removeWorkspace, stopWorkspaceDocker };