@overdeck/desktop 0.49.1 → 0.50.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 (545) hide show
  1. package/drizzle/overdeck/0000_overdeck_init.sql +1 -0
  2. package/package.json +1 -1
  3. package/server/{acceptance-criteria-Crw-xSJ3.js → acceptance-criteria-B_maCGZv.js} +2 -2
  4. package/server/{active-dashboard-bundle-CLwfD-Om.js → active-dashboard-bundle-CCqpFWiz.js} +2 -2
  5. package/server/activity-logger-B0X2JJwM.js +3 -0
  6. package/server/{activity-logger-BAVLrkR7.js → activity-logger-SlTXYCVf.js} +22 -4
  7. package/server/{advancing-selfheal-BQiJ7mIH.js → advancing-selfheal-BJAfiY-C.js} +12 -7
  8. package/server/{agent-gc-5E0lgxI1.js → agent-gc-bhikjoJ_.js} +11 -11
  9. package/server/agent-idle-D-UQ7gDv.js +745 -0
  10. package/server/agent-state-BrUPf_7Z.js +3 -0
  11. package/server/{agent-state-Bb3UUxQm.js → agent-state-FABw8neJ.js} +682 -454
  12. package/server/{agent-state-service-keg-x1bT.js → agent-state-service-BAQApt97.js} +1 -1
  13. package/server/{agent-state-service-BFbttwRA.js → agent-state-service-rDenYSlD.js} +5 -5
  14. package/server/agents-DixZjXWm.js +3 -0
  15. package/server/{agents-CqQJW75N.js → agents-DzpQidT8.js} +8 -8
  16. package/server/{archive-planning-BwEhu9Oq.js → archive-planning-BL1ABtW0.js} +20 -135
  17. package/server/archive-planning-D3gw32U9.js +2 -0
  18. package/server/{artifact-index-jobs-C6Lg2rKm.js → artifact-index-jobs-Cjdme0jS.js} +3 -3
  19. package/server/{assemble-DyTp2gSB.js → assemble-B_JgnCbG.js} +28 -9
  20. package/server/{auto-spawn-consent-BDfe4qz0.js → auto-spawn-consent-BesWchEi.js} +8 -7
  21. package/server/{backlog-auto-trigger-DuOGpdDW.js → backlog-auto-trigger-COLq639j.js} +3 -3
  22. package/server/{behavior-Bitko0mD.js → behavior-DCg8CIWC.js} +3 -3
  23. package/server/{bridge-pool-patrol-DiHEd13O.js → bridge-pool-patrol-BDohuMRt.js} +2 -2
  24. package/server/{briefing-freshness-CDJcmHHZ.js → briefing-freshness-ENa_hW_V.js} +2 -2
  25. package/server/build-info-Dx2qrVhb.js +2 -0
  26. package/server/{build-info-DTX8JwVP.js → build-info-WuZT6xyi.js} +3 -3
  27. package/server/{checkpoint-manager-BlOOdzLF.js → checkpoint-manager-CSZ7aVQF.js} +26 -9
  28. package/server/{checkpoint-manager-CKg1tn34.js → checkpoint-manager-DXhGRvg4.js} +1 -1
  29. package/server/checkpoint-worker.js +1 -1
  30. package/server/{checkpoints-BGfl0cHM.js → checkpoints-DUkUsPVS.js} +2 -2
  31. package/server/{checkpoints-DRALkfDS.js → checkpoints-tm_w6Y4V.js} +1 -1
  32. package/server/{claude-hooks-provision-B_tv3wzE.js → claude-hooks-provision-CTh9zxEi.js} +1 -1
  33. package/server/{claude-hooks-provision-BlGv6twJ.js → claude-hooks-provision-fRofvhTN.js} +2 -2
  34. package/server/{claude-permissions-aHgDcZi5.js → claude-permissions-DLrb9ovz.js} +18 -3
  35. package/server/{claude-settings-overlay-T2LWLteV.js → claude-settings-overlay-BYnXaTVc.js} +2 -2
  36. package/server/{claude-settings-overlay-CYOvFE3A.js → claude-settings-overlay-CMS5Jab5.js} +1 -1
  37. package/server/cli-BflmtEFM.js +2 -0
  38. package/server/{cli-Do8UpLoI.js → cli-CoQou1t_.js} +11 -11
  39. package/server/{cliproxy-CX6jHRDP.js → cliproxy-DXDQcR3I.js} +52 -17
  40. package/server/cliproxy-DdhFpcXU.js +3 -0
  41. package/server/{close-issue-J0_eWYT1.js → close-issue-CpQ0BWg-.js} +5 -5
  42. package/server/{closed-issue-reaper-bFppuk6F.js → closed-issue-reaper-CdcJRvUx.js} +13 -12
  43. package/server/{closed-issue-reaper-Cl2h9AfT.js → closed-issue-reaper-TymtZM37.js} +1 -1
  44. package/server/{codex-icapA4om.js → codex-BValsmtK.js} +1 -1
  45. package/server/{codex-OOea7lXs.js → codex-DYyZL8JD.js} +16 -10
  46. package/server/{compaction-continuation-D5voR1ME.js → compaction-continuation-CVjbdGKt.js} +3 -3
  47. package/server/{config-Cjleh3_U.js → config-CvKH7r7W.js} +1 -1
  48. package/server/{config-tucKBCCc.js → config-NxI9Yl2f.js} +2 -2
  49. package/server/{config-DC75T4Mr.js → config-_qaa1UXH.js} +2 -2
  50. package/server/{config-yaml-BwOEANMr.js → config-yaml-D60AnTIu.js} +55 -15
  51. package/server/{conflict-gate-DlpWCMd7.js → conflict-gate-0dD1kxjN.js} +1 -1
  52. package/server/{conflict-gate-D2L1kZeL.js → conflict-gate-hAUCL-un.js} +5 -5
  53. package/server/{context-layers-CSPGc2Hb.js → context-layers-CdpabJj0.js} +3 -3
  54. package/server/context-layers-Ds1MnEFI.js +4 -0
  55. package/server/{continue-U3Af0jUq.js → continue-CnvrUfxw.js} +3 -3
  56. package/server/{control-settings-5k6ixdFW.js → control-settings-Db0uXgVM.js} +310 -7
  57. package/server/{conversation-compaction-CSpVpxN6.js → conversation-compaction-B-1KETG9.js} +8 -8
  58. package/server/{conversation-compaction-Ciit9O6k.js → conversation-compaction-DzMXGRiJ.js} +1 -1
  59. package/server/{conversation-service-BxrB5lUT.js → conversation-service-BL-asWPX.js} +1 -1
  60. package/server/{conversation-service-BteE4ELK.js → conversation-service-BxIOd5ay.js} +21 -7
  61. package/server/conversations-CEMfwMt-.js +3 -0
  62. package/server/{conversations-DhwxsOru.js → conversations-nS6QgYpD.js} +12 -7
  63. package/server/cost-3FyqKK56.js +838 -0
  64. package/server/{cost-Bnf9NUC5.js → cost-Cctc-Q9M.js} +3 -3
  65. package/server/{cost-CQKI6OCu.js → cost-DTuIRE4y.js} +2 -2
  66. package/server/{cost-sync-B-ADeXKY.js → cost-sync-DfmvLT9L.js} +3 -3
  67. package/server/{dag-DI9LaK_q.js → dag-o-dUpw1L.js} +6 -19
  68. package/server/{dangerous-git-ops-akhA3iyF.js → dangerous-git-ops-BOtXCFkT.js} +1 -1
  69. package/server/dashboard-db-worker.js +61 -11
  70. package/server/{deacon-TPYssFYt.js → deacon-CsisLmPt.js} +1735 -172
  71. package/server/{deacon-canonical-state-DFYymrDw.js → deacon-canonical-state-DkdkQS5p.js} +3 -3
  72. package/server/deacon-e6py3jkM.js +4 -0
  73. package/server/{deacon-event-client-Te5v10-b.js → deacon-event-client-BCjHiGAY.js} +1 -1
  74. package/server/{deacon-event-client-BKOL4AcL.js → deacon-event-client-CMQswEHX.js} +2 -2
  75. package/server/{deacon-nudge-log-BtlTWgWu.js → deacon-nudge-log-pcliw8Dr.js} +1 -1
  76. package/server/{deacon-pending-lifecycle-DVHjOLje.js → deacon-pending-lifecycle-BzaE76Xo.js} +3 -3
  77. package/server/deacon.js +11 -11
  78. package/server/{dead-end-trip-P0IF1O0E.js → dead-end-trip-Bs3hxIn6.js} +3 -3
  79. package/server/dead-end-trip-DUbiRMtT.js +2 -0
  80. package/server/delivery-DhZGRShH.js +3 -0
  81. package/server/{deploy-patrol-BXjlvoV3.js → deploy-patrol-B8sKkA8h.js} +8 -8
  82. package/server/deploy-queue--smqHLhe.js +2 -0
  83. package/server/{deploy-queue-o7shYg1j.js → deploy-queue-CCGWXFkp.js} +2 -2
  84. package/server/{deploy-window-CNT6fOff.js → deploy-window-YuJewzmC.js} +4 -4
  85. package/server/{deploy-window-BMk5_oX6.js → deploy-window-hgsvZ3UZ.js} +1 -1
  86. package/server/{dev-supervisor-SR1CLOAK.js → dev-supervisor-4SBloJHV.js} +2 -2
  87. package/server/{devcontainer-renderer-enMmNDFa.js → devcontainer-renderer-BiJhwFNi.js} +3 -3
  88. package/server/{dist-CPTO_zMR.js → dist-CoR2sivG.js} +1 -1
  89. package/server/dist-FHv1s5ez.js +3 -0
  90. package/server/{docker-B7qUZptz.js → docker-CWO7dcIP.js} +3 -3
  91. package/server/{docker-KR3zSFKY.js → docker-DQzyMXkd.js} +1 -1
  92. package/server/{dod-gK835UMf.js → dod-BAk5arLF.js} +1 -1
  93. package/server/{done-preflight-CksRvh49.js → done-preflight-CGFA0M1b.js} +1 -1
  94. package/server/{done-preflight-Bk8aExAL.js → done-preflight-Cx9JGznT.js} +5 -5
  95. package/server/{driver-CmsY2RLl.js → driver-BtcFz-qu.js} +14 -3
  96. package/server/durable-review-pipeline-BOEZ0chh.js +3 -0
  97. package/server/{durable-review-pipeline-DgYHucN2.js → durable-review-pipeline-Djx_lvFd.js} +11 -2
  98. package/server/{ensure-devcontainer-BQ4YizSH.js → ensure-devcontainer-Dk6ZMOUC.js} +1 -1
  99. package/server/{ensure-devcontainer-ojerEqQg.js → ensure-devcontainer-DzYBBwnM.js} +4 -4
  100. package/server/{esm-shims-1htPASWs.js → esm-shims-deFq5Hhl.js} +1 -1
  101. package/server/{event-store-BgEjNsvk.js → event-store-C50Qt-f1.js} +1 -1
  102. package/server/{event-store-D7qcJXuZ.js → event-store-DTns2XZP.js} +5 -5
  103. package/server/{event-store-provider-BKvk2rDj.js → event-store-provider-Bu1Qrg6v.js} +1 -1
  104. package/server/{events-BIKGJZOT.js → events-B6xW8Cpm.js} +3 -3
  105. package/server/{dist-src-BM9eudEd.js → factory-CWVKwKFE.js} +714 -2
  106. package/server/{feature-registry-storage-ewNSIVsQ.js → feature-registry-storage-vaxRN3WO.js} +3 -3
  107. package/server/{features-CGopJXdU.js → features-DXWwktJB.js} +2 -2
  108. package/server/{feedback-stuck-retirement-B8-fX7NA.js → feedback-stuck-retirement-CXAYe2rU.js} +2 -2
  109. package/server/{feedback-target-CkyLYohm.js → feedback-target-DSVpi0gT.js} +1 -1
  110. package/server/{feedback-target-Ci6N5p4G.js → feedback-target-yPD_wclF.js} +10 -10
  111. package/server/{feedback-writer-DfuVjvH0.js → feedback-writer-BzN4qvaP.js} +1 -1
  112. package/server/{feedback-writer-D4ULO4qG.js → feedback-writer-Ds1Wjsz4.js} +5 -5
  113. package/server/{flywheel-DXI_WITn.js → flywheel-BCZS-FlW.js} +1 -1
  114. package/server/{flywheel-BwYPDlhK.js → flywheel-CC4gE_rx.js} +15 -15
  115. package/server/{flywheel-C7yek87O.js → flywheel-DWKd7bMc.js} +79 -29
  116. package/server/{flywheel-merge-order-C5m5bYBc.js → flywheel-merge-order-DDT3i57u.js} +1 -1
  117. package/server/{flywheel-merge-order-CXfU4M6l.js → flywheel-merge-order-DJwH2KpL.js} +17 -15
  118. package/server/forge-4VVCRcF7.js +2 -0
  119. package/server/{forge-DYX9sKzG.js → forge-CHADjOFs.js} +2 -2
  120. package/server/{from-DAdMxC29.js → from-C3dzmjSO.js} +1 -1
  121. package/server/{fs-lock-cw25uO_E.js → fs-lock-DQ_gUxfq.js} +2 -2
  122. package/server/{fts-operations-D_rzLxX5.js → fts-operations-asZo2fh1.js} +3 -3
  123. package/server/git-info-DMOSfJ9I.js +148 -0
  124. package/server/{git-utils-Y0zG25ez.js → git-utils-BAMwn9Nf.js} +1 -1
  125. package/server/{git-utils-DV4B9TRl.js → git-utils-BdHk8y7g.js} +4 -4
  126. package/server/{github-app-C33lDk9Z.js → github-app-BWziYCf3.js} +1 -1
  127. package/server/{github-app-4UX8VIr8.js → github-app-BlMSzSTw.js} +2 -2
  128. package/server/{github-client-nPj5ckZO.js → github-client-OK24qpol.js} +1 -1
  129. package/server/{github-client-DkJVR908.js → github-client-w6j5nVlz.js} +3 -3
  130. package/server/{github-pr-lookup-C9Vokb0W.js → github-pr-lookup-bGcsEvLE.js} +2 -2
  131. package/server/{harness-binary-BgXYDo2Z.js → harness-binary-DChiynaB.js} +2 -2
  132. package/server/{harness-resolve-1NZcVx7n.js → harness-resolve-BplBEbwn.js} +4 -4
  133. package/server/{health-events-jMfxrElt.js → health-events-BTqsmunw.js} +1 -1
  134. package/server/{health-events-DlX_FVAB.js → health-events-Bk3LjaJ9.js} +2 -2
  135. package/server/{hooks-NQ19vvlB.js → hooks-DJR1yR9w.js} +2 -2
  136. package/server/{hooks-W3REcb3h.js → hooks-EndRNrx9.js} +1 -1
  137. package/server/{hume-BFkid2PO.js → hume-1FJmNDTq.js} +2 -2
  138. package/server/hume-gXLmRhmN.js +3 -0
  139. package/server/{identity-Bwh6VGeL.js → identity-C3s8lyp0.js} +3 -3
  140. package/server/{idle-stack-reaper-CHtCNpvd.js → idle-stack-reaper-CBelVOE3.js} +1 -1
  141. package/server/{idle-stack-reaper-BeU_KxWx.js → idle-stack-reaper-DtoI4al6.js} +4 -4
  142. package/server/{in-flight-guard-pcwXKLGz.js → in-flight-guard-B7khcBdQ.js} +1 -1
  143. package/server/{infra-KTp9KV9u.js → infra-CJRi_5Wu.js} +36 -7
  144. package/server/{injection-67YyU6SC.js → injection-ADWQ3D0s.js} +8 -8
  145. package/server/{injection-BxbZKPDh.js → injection-BWsgHvrL.js} +1 -1
  146. package/server/{inspect-agent-VHSihlb7.js → inspect-agent-CCfNJjKr.js} +12 -12
  147. package/server/inspect-agent-Dhp3hCGp.js +2 -0
  148. package/server/{internal-token-B-z-sGBH.js → internal-token-BCTEqUCX.js} +1 -1
  149. package/server/{internal-token-zY75jrRJ.js → internal-token-BeIWG_kT.js} +2 -2
  150. package/server/{io-DfvO2xyh.js → io-BCtZoXHo.js} +5 -5
  151. package/server/{issue-closed-dvEWKO7Q.js → issue-closed-CiYAa6bX.js} +7 -7
  152. package/server/{issue-lifecycle-3N8XF7lP.js → issue-lifecycle-BETNVVLq.js} +206 -29
  153. package/server/{issue-lifecycle-BI6jAfp8.js → issue-lifecycle-DaKN57sx.js} +1 -1
  154. package/server/{issue-service-singleton-CL6hESX2.js → issue-service-singleton-1Q0ER8Yc.js} +1 -1
  155. package/server/{issue-service-singleton-BN_2MXp4.js → issue-service-singleton-C_sZ0HjP.js} +124 -11
  156. package/server/issue-title-fallback-B91iD66g.js +120 -0
  157. package/server/{issues-CkvUoAnq.js → issues-RGHQUKhB.js} +2 -2
  158. package/server/{jsonl-parser-CrEb2PWr.js → jsonl-parser-Dfs1dlYE.js} +3 -3
  159. package/server/jsonl-resolver-bFtftCDd.js +324 -0
  160. package/server/{kimi-code-DoMoGqIu.js → kimi-code-BxkDgaj4.js} +1 -1
  161. package/server/{kimi-code-C26gmGxM.js → kimi-code-CNYRA8Dd.js} +14 -12
  162. package/server/{kimi-parser-Dmhy3UlR.js → kimi-parser-OcWwmOqF.js} +2 -2
  163. package/server/{label-cleanup-X2lWfghH.js → label-cleanup-CefxK9tL.js} +3 -3
  164. package/server/{lifecycle-B0rL38D3.js → lifecycle-DDZ7w-BY.js} +6 -6
  165. package/server/{lifecycle-Bg44O-9x.js → lifecycle-DVXyUil2.js} +2 -2
  166. package/server/{lifecycle-io-DQDU0apV.js → lifecycle-io-D1oBiMce.js} +1 -1
  167. package/server/{lifecycle-io-CCBpRv5m.js → lifecycle-io-D7N0vQNj.js} +5 -5
  168. package/server/{linear-client-B0cIkTs4.js → linear-client-DUN7zCeb.js} +3 -3
  169. package/server/{linear-client-6V2E-DSa.js → linear-client-TL32snOy.js} +1 -1
  170. package/server/{linear-mcp-auth-LCo9AWUd.js → linear-mcp-auth-CtRKSHy5.js} +1 -1
  171. package/server/{linear-mcp-auth-Dsu9Io9r.js → linear-mcp-auth-bB0CPyjh.js} +5 -5
  172. package/server/memory-fts-worker.js +1 -1
  173. package/server/{memory-governor-A4O6vI9d.js → memory-governor-Cvv_9K0M.js} +88 -22
  174. package/server/{memory-pressure-patrol-BWlWywmA.js → memory-pressure-patrol-C6DJJQRA.js} +38 -14
  175. package/server/{merge-BGWcBxku.js → merge-DOCR6pHi.js} +1 -1
  176. package/server/{merge-vz80RvSE.js → merge-FTk4LsnM.js} +3 -3
  177. package/server/{merge-agent-GWhmnxFk.js → merge-agent-C-dsN9se.js} +37 -33
  178. package/server/{merge-agent-BRSz26Oh.js → merge-agent-D-4_iQgy.js} +2 -2
  179. package/server/{merge-batch-CFMEtTxv.js → merge-batch-BJjzUUL7.js} +1 -1
  180. package/server/{merge-completeness-CP347umA.js → merge-completeness-BOtBUwTU.js} +4 -4
  181. package/server/{merge-completeness-7ajHAIR-.js → merge-completeness-CoLJxfUY.js} +1 -1
  182. package/server/merge-eligibility-C4rTS97F.js +3 -0
  183. package/server/merge-eligibility-D7wRnJbj.js +51 -0
  184. package/server/merge-ops-Cf02szJ5.js +2 -0
  185. package/server/merge-rebase-Bj7eJAG4.js +2 -0
  186. package/server/{merge-rebase-C5htyEEH.js → merge-rebase-KBw4rdh3.js} +2 -2
  187. package/server/{merge-set-DsGW8fmc.js → merge-set-CVfEM57p.js} +1 -1
  188. package/server/{merge-set-eiE2nC6C.js → merge-set-CyW-xSn4.js} +4 -4
  189. package/server/{merge-sync-CM2-myXu.js → merge-sync-CYGsJy0u.js} +1 -1
  190. package/server/{merge-sync-Ct0-cxMX.js → merge-sync-YLvOPAry.js} +2 -2
  191. package/server/{merge-train-BOu3fN7O.js → merge-train-VxLn8Ms4.js} +4 -4
  192. package/server/{merge-train-deps-LXHGK61n.js → merge-train-deps-D0y4hBB9.js} +4 -4
  193. package/server/{merge-verification-BRp08IzI.js → merge-verification-BfJRNMiD.js} +6 -6
  194. package/server/{merged-docker-cleanup-worker-CwldDjHV.js → merged-docker-cleanup-worker-Bh5fKG_b.js} +4 -4
  195. package/server/{merged-docker-cleanup-worker-C8eGn78a.js → merged-docker-cleanup-worker-Ci9oeFAe.js} +1 -1
  196. package/server/messaging-Dfbhgjd6.js +3 -0
  197. package/server/{multipart-parser-OAuW7824.js → multipart-parser-BYwfKOVU.js} +2 -2
  198. package/server/{no-resume-mode-MWI6pnrK.js → no-resume-mode-DjMQRkId.js} +1 -1
  199. package/server/node_modules/.package-lock.json +24 -24
  200. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/AGENTS.md +14 -0
  201. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/CLAUDE.md +14 -0
  202. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/README.md +10 -3
  203. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/package.json +2 -2
  204. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/40_sql/10_basics.ts +175 -0
  205. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/40_sql/index.md +6 -0
  206. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/10_basics.ts +3 -1
  207. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/20_testing.ts +100 -0
  208. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/fixtures/api/Users.ts +30 -14
  209. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/fixtures/domain/User.ts +15 -6
  210. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/fixtures/server/Authorization.ts +11 -10
  211. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/fixtures/server/Users/http.ts +41 -32
  212. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/fixtures/server/Users.ts +141 -20
  213. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/70_cli/10_basics.ts +31 -5
  214. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.d.ts.map +1 -1
  215. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js +10 -9
  216. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js.map +1 -1
  217. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeClusterSocket.d.ts.map +1 -1
  218. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeClusterSocket.js +12 -9
  219. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeClusterSocket.js.map +1 -1
  220. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeSocket.js +1 -1
  221. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeSocket.js.map +1 -1
  222. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeSocketServer.js +4 -4
  223. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeSocketServer.js.map +1 -1
  224. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeStream.d.ts.map +1 -1
  225. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeStream.js +10 -4
  226. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeStream.js.map +1 -1
  227. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/internal/nodeChildProcessSpawner.d.ts +4 -0
  228. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/internal/nodeChildProcessSpawner.d.ts.map +1 -0
  229. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/internal/nodeChildProcessSpawner.js +10 -0
  230. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/internal/nodeChildProcessSpawner.js.map +1 -0
  231. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +7 -7
  232. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeChildProcessSpawner.ts +16 -11
  233. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeClusterSocket.ts +15 -12
  234. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeSocket.ts +1 -1
  235. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeSocketServer.ts +4 -4
  236. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeStream.ts +10 -4
  237. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/internal/nodeChildProcessSpawner.ts +16 -0
  238. package/server/node_modules/@types/node/README.md +1 -1
  239. package/server/node_modules/@types/node/buffer.buffer.d.ts +5 -5
  240. package/server/node_modules/@types/node/crypto.d.ts +2 -2
  241. package/server/node_modules/@types/node/http.d.ts +16 -0
  242. package/server/node_modules/@types/node/http2.d.ts +10 -2
  243. package/server/node_modules/@types/node/package.json +2 -2
  244. package/server/node_modules/@types/node/process.d.ts +52 -0
  245. package/server/node_modules/@types/node/quic.d.ts +210 -28
  246. package/server/node_modules/@types/node/sqlite.d.ts +6 -2
  247. package/server/node_modules/@types/node/test.d.ts +36 -0
  248. package/server/node_modules/ansi-regex/index.js +3 -2
  249. package/server/node_modules/ansi-regex/package.json +1 -1
  250. package/server/node_modules/effect/node_modules/uuid/README.md +19 -19
  251. package/server/node_modules/effect/node_modules/uuid/dist/v1.js +7 -3
  252. package/server/node_modules/effect/node_modules/uuid/dist/v7.js +5 -2
  253. package/server/node_modules/effect/node_modules/uuid/dist-node/v1.js +7 -3
  254. package/server/node_modules/effect/node_modules/uuid/dist-node/v7.js +5 -2
  255. package/server/node_modules/effect/node_modules/uuid/package.json +4 -3
  256. package/server/node_modules/gaxios/build/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  257. package/server/node_modules/gaxios/build/esm/tsconfig.tsbuildinfo +1 -1
  258. package/server/node_modules/gaxios/package.json +3 -3
  259. package/server/node_modules/msgpackr/dist/index-no-eval.cjs +11 -5
  260. package/server/node_modules/msgpackr/dist/index-no-eval.cjs.map +1 -1
  261. package/server/node_modules/msgpackr/dist/index-no-eval.min.js +1 -1
  262. package/server/node_modules/msgpackr/dist/index-no-eval.min.js.map +1 -1
  263. package/server/node_modules/msgpackr/dist/index.js +11 -5
  264. package/server/node_modules/msgpackr/dist/index.js.map +1 -1
  265. package/server/node_modules/msgpackr/dist/index.min.js +1 -1
  266. package/server/node_modules/msgpackr/dist/index.min.js.map +1 -1
  267. package/server/node_modules/msgpackr/dist/node.cjs +11 -5
  268. package/server/node_modules/msgpackr/dist/node.cjs.map +1 -1
  269. package/server/node_modules/msgpackr/dist/test.js +11 -5
  270. package/server/node_modules/msgpackr/dist/test.js.map +1 -1
  271. package/server/node_modules/msgpackr/dist/unpack-no-eval.cjs +11 -5
  272. package/server/node_modules/msgpackr/dist/unpack-no-eval.cjs.map +1 -1
  273. package/server/node_modules/msgpackr/package.json +1 -1
  274. package/server/node_modules/msgpackr/unpack.js +11 -5
  275. package/server/node_modules/picomatch/lib/parse.js +10 -1
  276. package/server/node_modules/picomatch/lib/scan.js +30 -18
  277. package/server/node_modules/picomatch/package.json +1 -1
  278. package/server/{orphan-proposed-reconciler-BAE5AZ_e.js → orphan-proposed-reconciler-CnP0K2v3.js} +2 -2
  279. package/server/{orphan-proposed-reconciler-cV3URUqk.js → orphan-proposed-reconciler-nFUlquZt.js} +24 -23
  280. package/server/package-lock.json +25 -25
  281. package/server/package.json +1 -1
  282. package/server/{pan-dir-DDd91kMb.js → pan-dir-B4NfzOf3.js} +5 -5
  283. package/server/{deacon-merge-BOGFEV8_.js → parked-residue-8WbU0y1z.js} +188 -69
  284. package/server/{paths-CRLnDgcI.js → paths-rETQhTF2.js} +2 -2
  285. package/server/{pending-lifecycle-claim-CYgMiDAP.js → pending-lifecycle-claim-yAwDuGS4.js} +2 -2
  286. package/server/{pickup-BjJsSX12.js → pickup-Dle6k9Xt.js} +1 -1
  287. package/server/{pipeline-agent-reader-BLc43dVJ.js → pipeline-agent-reader-CeWhQzXC.js} +5 -5
  288. package/server/{pipeline-membership-BHZp_ShY.js → pipeline-membership-BV4hdkHm.js} +1 -1
  289. package/server/{pipeline-membership-5qlRz5Qg.js → pipeline-membership-C9ykcjsn.js} +1 -1
  290. package/server/{pipeline-membership-gather-CGFY1v-y.js → pipeline-membership-gather-Ba0wJNCR.js} +17 -12
  291. package/server/{pipeline-membership-gather-WhRc1yke.js → pipeline-membership-gather-C9E22B2W.js} +1 -1
  292. package/server/{pipeline-notifier-C4fZ2ito.js → pipeline-notifier-B5DPXvnr.js} +1 -1
  293. package/server/{pipeline-notifier-BmsLWM_2.js → pipeline-notifier-p190L97e.js} +2 -2
  294. package/server/{post-merge-lifecycle-worker-KK1RTKRE.js → post-merge-lifecycle-worker-OQoK8Ckg.js} +3 -3
  295. package/server/{post-merge-state-_Lj3LDLh.js → post-merge-state-DFaf7OI1.js} +4 -4
  296. package/server/prd-locations-F2oLSAhy.js +124 -0
  297. package/server/{project-pipelines-CCkebHOu.js → project-pipelines-CUsa6U59.js} +2 -2
  298. package/server/project-repos-BVdi9-ch.js +3 -0
  299. package/server/{project-repos-B4MK48j4.js → project-repos-CsfvLtmr.js} +29 -3
  300. package/server/project-resource-refresh-queue-BehrH4Ai.js +865 -0
  301. package/server/project-resource-refresh-queue-D2110Guc.js +2 -0
  302. package/server/{projects-DvPEAP18.js → projects-BMuEf14J.js} +1 -1
  303. package/server/{prompts-BiS5I2tZ.js → prompts-CKpDt8Jn.js} +2 -2
  304. package/server/providers-Buv2wmFU.js +3 -0
  305. package/server/{providers-DrfK0Ip8.js → providers-CxPKmyif.js} +7 -7
  306. package/server/public/assets/{chunk-BO2N2NFS-GtVe_o56.js → chunk-BO2N2NFS-DZOQVqV1.js} +4 -4
  307. package/server/public/assets/{diagram-OG6HWLK6-BvhcYYHc.js → diagram-OG6HWLK6-oKeXcbO1.js} +1 -1
  308. package/server/public/assets/{dist-CSmUXazd.js → dist-2qPmeRzT.js} +3 -3
  309. package/server/public/assets/{dist-D0ryefak.js → dist-ClBlE-Nm.js} +1 -1
  310. package/server/public/assets/{ganttDiagram-6RSMTGT7-BXA51DzM.js → ganttDiagram-6RSMTGT7-BwdG9fQv.js} +1 -1
  311. package/server/public/assets/{highlighted-body-OFNGDK62-mlV4EpWt.js → highlighted-body-OFNGDK62-BzGNdskQ.js} +1 -1
  312. package/server/public/assets/index-CdPveU3M.css +1 -0
  313. package/server/public/assets/index-Cg6tdZoY.js +860 -0
  314. package/server/public/assets/{linear-BPE7oswm.js → linear-DpEt1TJb.js} +1 -1
  315. package/server/public/assets/mermaid-GHXKKRXX-6KBD_3T_.js +1 -0
  316. package/server/public/assets/{pieDiagram-4H26LBE5-BguGGV3S.js → pieDiagram-4H26LBE5-9BpM4oRJ.js} +1 -1
  317. package/server/public/assets/{prod-aKDYUrXQ.js → prod-CzJiNNEG.js} +4 -4
  318. package/server/public/assets/{quadrantDiagram-W4KKPZXB-Bx3i4B6H.js → quadrantDiagram-W4KKPZXB-BXWVAoZx.js} +1 -1
  319. package/server/public/assets/{sankeyDiagram-5OEKKPKP-B5vuLjA4.js → sankeyDiagram-5OEKKPKP-5oxodGEw.js} +1 -1
  320. package/server/public/assets/{xychartDiagram-2RQKCTM6-HPlpkqsN.js → xychartDiagram-2RQKCTM6-BChDrHxZ.js} +1 -1
  321. package/server/public/index.html +2 -2
  322. package/server/pull-requests-CmlandI7.js +2 -0
  323. package/server/{pull-requests-BcHIsFJv.js → pull-requests-T0OV0Vn4.js} +3 -3
  324. package/server/{rally-B1OMtzch.js → rally-CUqj2oIN.js} +3 -3
  325. package/server/rally-DYIn9R2U.js +3 -0
  326. package/server/{rally-api-ShZ4kvn0.js → rally-api-BFPb2oSq.js} +2 -2
  327. package/server/{rally-api-u_vkr5c_.js → rally-api-BoucQG1u.js} +1 -1
  328. package/server/{rally-client-D6Feq1Ka.js → rally-client-16iObny7.js} +5 -5
  329. package/server/{rally-client-DgZvUZqX.js → rally-client-CsqLjLLa.js} +1 -1
  330. package/server/{reap-terminal-sessions-CRfiXLY0.js → reap-terminal-sessions-BaDSNR-k.js} +2 -2
  331. package/server/{reap-terminal-sessions-D7f3zSE9.js → reap-terminal-sessions-DgEIKMhH.js} +2 -2
  332. package/server/{rebuild-stack-CCwKHZb6.js → rebuild-stack-BcBVFJp3.js} +2 -2
  333. package/server/{rebuild-stack-DKxOnkpE.js → rebuild-stack-CyXMrj6K.js} +7 -7
  334. package/server/reconciler-caYiRnPy.js +657 -0
  335. package/server/{reconstruct-cache-BP8UIKt7.js → reconstruct-cache-3JzPOune.js} +7 -7
  336. package/server/{record-By-wp6pg.js → record-DYOg97Iv.js} +1 -1
  337. package/server/{record-update-D23jPU6b.js → record-update-BPqpBu3O.js} +9 -7
  338. package/server/{record-update-ByGtIlUK.js → record-update-CDPEX7BH.js} +1 -1
  339. package/server/{recovery-trip-C4dTl8DO.js → recovery-trip-CpfW6LCJ.js} +43 -10
  340. package/server/{recovery-trip-qloOYOFz.js → recovery-trip-xqKC07Gy.js} +1 -1
  341. package/server/{release-engine-Crc0Tjx-.js → release-engine-C_OOhCaK.js} +5 -5
  342. package/server/{release-set-DDXwbIK7.js → release-set-DOIDz2vw.js} +3 -3
  343. package/server/{remote-oEMfXlwT.js → remote-BTh-sjpX.js} +3 -3
  344. package/server/{remote-agents-Bgtc2nOO.js → remote-agents-DbbN7vSm.js} +6 -6
  345. package/server/{remote-agents-DQVGZVQ9.js → remote-agents-MuXx2gWm.js} +1 -1
  346. package/server/{remote-completion-DxUJ5HKR.js → remote-completion-LcWCpAm2.js} +13 -13
  347. package/server/{remote-CBpLi4Yy.js → remote-xY0B43Ho.js} +3 -3
  348. package/server/{resolver-CuAULbLs.js → resolver-C2QKOf09.js} +2 -2
  349. package/server/{resolver-C8rooxoz.js → resolver-D4nsxfGo.js} +31 -8
  350. package/server/resume-ByUrJUNX.js +3 -0
  351. package/server/{review-agent-7C2w5CzU.js → review-agent-BRBTm1qE.js} +43 -55
  352. package/server/review-agent-Caodi0PX.js +3 -0
  353. package/server/{review-artifacts-BJeEfm2r.js → review-artifacts-DgaDlbO4.js} +6 -6
  354. package/server/{review-convoy-liveness-DfF9eXjI.js → review-convoy-liveness-BBvyuRLC.js} +20 -11
  355. package/server/{review-run-recovery-ZjuDTNhZ.js → review-run-recovery-DCzWMMvE.js} +1 -1
  356. package/server/{review-run-recovery-7BKt2Es0.js → review-run-recovery-THHMKlXJ.js} +3 -3
  357. package/server/{review-status-CUnjjOUu.js → review-status-Bge_3XTR.js} +1 -1
  358. package/server/{review-status-DBnR5t4z.js → review-status-DpniqzPT.js} +113 -44
  359. package/server/{review-status-emit-Cg4tOb8U.js → review-status-emit-D7sM720S.js} +3 -3
  360. package/server/{review-status-enrichment-D-rQshu6.js → review-status-enrichment-PDI4-faj.js} +3 -3
  361. package/server/{review-status-source-DSn0glLa.js → review-status-source-D2PCWS6E.js} +1 -1
  362. package/server/{review-status-source-Ct912fv_.js → review-status-source-Jq0BXmn3.js} +1 -1
  363. package/server/{review-status-sync-B7V_Gg51.js → review-status-sync-C6ZKTI8f.js} +11 -8
  364. package/server/{review-status-sync-YthpOH_q.js → review-status-sync-CvpHWyvR.js} +1 -1
  365. package/server/{review-verdict-feedback-C-dBon_-.js → review-verdict-feedback-B2ojHFH5.js} +8 -8
  366. package/server/{review-verdict-feedback-DqXTuJk8.js → review-verdict-feedback-tyMoLT2L.js} +1 -1
  367. package/server/{review-verdict-writer-CKaJWp75.js → review-verdict-writer-Cy_1pnIj.js} +7 -7
  368. package/server/{review-verdict-writer-jldSh3Bm.js → review-verdict-writer-DjrJ64eS.js} +1 -1
  369. package/server/{rollup-DZwH4CLs.js → rollup-Cp0KEoOu.js} +1 -1
  370. package/server/{rollup-QCwYcBdP.js → rollup-DU3xBQu2.js} +8 -8
  371. package/server/{scanner-2aHeLC3W.js → scanner-BFKG3Gxv.js} +8 -8
  372. package/server/{search-DwHYaj66.js → search-DhtKwbBC.js} +2 -2
  373. package/server/{secret-redaction-B5G1xZ3k.js → secret-redaction-DLZ-VqHq.js} +1 -1
  374. package/server/{sequence-io-POKWdusG.js → sequence-io-C-Q19Jez.js} +4 -4
  375. package/server/{sequencer-agent-DS00KHVm.js → sequencer-agent-eN2P2lDz.js} +6 -6
  376. package/server/server.js +1499 -1350
  377. package/server/{service-BLb_CyPL.js → service-CThO0Sar.js} +80 -774
  378. package/server/{session-fork-DcTzVwex.js → session-fork-ZYTHtpBh.js} +2 -2
  379. package/server/settings-ByDRfuuE.js +2 -0
  380. package/server/{settings-Clw8UVNs.js → settings-CTywpFw5.js} +2 -2
  381. package/server/{settings-B9-H2K_E.js → settings-nAT-eK56.js} +3 -3
  382. package/server/{shadow-engineering-C6oO_PiR.js → shadow-engineering-BHZKPJhq.js} +3 -3
  383. package/server/{shadow-state-CEGrrECe.js → shadow-state-BTLi4Axs.js} +2 -2
  384. package/server/{shadow-state-e7250VUx.js → shadow-state-CZ_LnPsi.js} +1 -1
  385. package/server/{shadow-utils-xFk2Wusb.js → shadow-utils-CPLlPHdn.js} +2 -2
  386. package/server/{ship-log-7BnQHuKU.js → ship-log-D-CphNZx.js} +1 -1
  387. package/server/{ship-record-CwUX6Afo.js → ship-record-BaBla0l_.js} +7 -7
  388. package/server/{ship-record-BgUPnpT0.js → ship-record-BlvX8-xv.js} +1 -1
  389. package/server/{ship-status-Ce3_3edi.js → ship-status-rQbPQBsF.js} +2 -2
  390. package/server/{smart-compaction-BmfIi3oL.js → smart-compaction-CUXn8mfX.js} +1 -1
  391. package/server/{smart-compaction-Dy0gw1VH.js → smart-compaction-D1CNGdZx.js} +7 -7
  392. package/server/{spawn-planning-session-nH3b4Drz.js → spawn-planning-session-DCmO6COk.js} +19 -19
  393. package/server/{spawn-planning-session-CfhxRJoY.js → spawn-planning-session-DfEWyrVV.js} +2 -2
  394. package/server/{specialist-completion-CC1XJbTx.js → specialist-completion-BMv3K54P.js} +1 -1
  395. package/server/{specialist-context-cHwpcXSh.js → specialist-context-C1-CfYQb.js} +5 -5
  396. package/server/{specialist-handoff-logger-GqnGSYoJ.js → specialist-handoff-logger-BDKoz5Z9.js} +2 -2
  397. package/server/{specialist-logs-5OTnrV91.js → specialist-logs-BJQFkpdG.js} +3 -3
  398. package/server/specialists-CYt1U3Zm.js +4 -0
  399. package/server/{specialists-8LcQi9Np.js → specialists-D6MUU31Q.js} +21 -272
  400. package/server/{specialists-DocAK-7A.js → specialists-DhS79T9v.js} +369 -691
  401. package/server/{specialists-xXcJHAyg.js → specialists-Dx0zRTxX.js} +1 -1
  402. package/server/specialists-registry-BRLCi61y.js +3 -0
  403. package/server/specialists-registry-Bng0OFGH.js +277 -0
  404. package/server/specs-oRGyfz6C.js +3 -0
  405. package/server/{src-C2TAxwki.js → src-C7gGe4KU.js} +6 -6
  406. package/server/{src-DudQNYVw.js → src-CdwN6WY6.js} +344 -7
  407. package/server/{src-DUVvEA8Q.js → src-DMosbuSJ.js} +3 -3
  408. package/server/{stack-health-DKT4ySnA.js → stack-health-BKfNaqMm.js} +3 -3
  409. package/server/{stack-health-CbyiYS9H.js → stack-health-Bz711z1Y.js} +1 -1
  410. package/server/{stale-task-claims-PzFee70R.js → stale-task-claims-DMRLb5R2.js} +5 -5
  411. package/server/{staleness-D8UTEXV5.js → staleness-CxZaIhrn.js} +1 -1
  412. package/server/{staleness-BjOAq9-d.js → staleness-r_dkMyMG.js} +1 -1
  413. package/server/{stall-sweeper-DOyIfeLR.js → stall-sweeper-CBWqSWV2.js} +8 -8
  414. package/server/{state-home-DhAZlk5k.js → state-home-DhsMqg8W.js} +2 -2
  415. package/server/{state-mapping-BVSs84bO.js → state-mapping-D2yC81Vy.js} +1 -1
  416. package/server/{state-migrate-CJKEwpB0.js → state-migrate-C2Ouyd6e.js} +6 -6
  417. package/server/{state-mirror-Do7pag7W.js → state-mirror-BPXciz84.js} +3 -3
  418. package/server/stuck-remediation-DALieAkx.js +2 -0
  419. package/server/stuck-remediation-kta3KN7c.js +774 -0
  420. package/server/{substrate-bug-weights-service-BTNjHBnl.js → substrate-bug-weights-service-D_ICP7TI.js} +3 -3
  421. package/server/{summary-fork-CvB7Oyq9.js → summary-fork-CojrFKb6.js} +2 -2
  422. package/server/{summary-fork-CZ88rhVx.js → summary-fork-DhhaFhxZ.js} +113 -30
  423. package/server/supervisor/{pane-composer-BaLLspSj.js → pane-composer-CoiVkGIt.js} +8 -1
  424. package/server/supervisor/{paths-D6XUcR_g.js → paths-DTGbtcaP.js} +8 -4
  425. package/server/supervisor/pty-supervisor.js +3 -3
  426. package/server/supervisor/{pty-token-DjjHxoCq.js → pty-token-GVqnvU3U.js} +2 -2
  427. package/server/supervisor-DSSWo4M2.js +2 -0
  428. package/server/{supervisor-D4v0WfiQ.js → supervisor-DqH-laVL.js} +4 -4
  429. package/server/{swarm-readiness-D8R-LWX5.js → swarm-readiness-LF8ZF_hc.js} +3 -3
  430. package/server/{synthesis-verdict-N5Z11pg7.js → synthesis-verdict-CGFF8uQI.js} +2 -2
  431. package/server/{synthesis-verdict-B6wvLGcA.js → synthesis-verdict-DSoOFUIV.js} +1 -1
  432. package/server/{system-prerequisites-BbGZ_WHF.js → system-prerequisites-Lsx0jUUV.js} +2 -2
  433. package/server/{teardown-workspace-CYend-KY.js → teardown-workspace-DMwomEG1.js} +16 -16
  434. package/server/{test-agent-queue-BUtWhNcc.js → test-agent-queue-Cu0D6BYe.js} +6 -6
  435. package/server/{test-verdict-BWm3hgDj.js → test-verdict-9mvl7pQn.js} +1 -1
  436. package/server/{test-verdict-BWtRmdiR.js → test-verdict-oNSv1rVr.js} +2 -2
  437. package/server/{tldr-daemon-CneJ24eL.js → tldr-daemon-CRSAkhBx.js} +1 -1
  438. package/server/{tldr-daemon-CMVBT4kT.js → tldr-daemon-McqCk2X7.js} +2 -2
  439. package/server/tmux-CYucGrTl.js +4 -0
  440. package/server/{tmux-BqXzRuaH.js → tmux-wnT_hg-s.js} +91 -19
  441. package/server/{token-CO3INKbh.js → token-BdfZLRg1.js} +2 -2
  442. package/server/{token-util-DyJJyX_B.js → token-util-Crcay9j_.js} +1 -1
  443. package/server/token-util-DfUS3Lpp.js +3 -0
  444. package/server/{tracker-config-DVzhaUxO.js → tracker-config-tfAOWgng.js} +2 -2
  445. package/server/{tracker-utils-xnVJVrrO.js → tracker-utils-Dbg_pVZg.js} +2 -2
  446. package/server/{traefik-connect-A5k54mCv.js → traefik-connect-DoQvQ6oJ.js} +1 -1
  447. package/server/{tunnel-DauSR-rs.js → tunnel-B1MNIgkL.js} +1 -1
  448. package/server/{tunnel-CwOnS-PB.js → tunnel-skW68j9B.js} +3 -3
  449. package/server/{typed-errors-B-gfU2RB.js → typed-errors-CZ3GFBvo.js} +1 -1
  450. package/server/{typed-errors-DzC4zXbI.js → typed-errors-DXqf3RnP.js} +1 -1
  451. package/server/{types-DjpLVpsj.js → types-PW4zkxCM.js} +1 -1
  452. package/server/{types-DbxY2QB6.js → types-pLpbsNto.js} +1 -1
  453. package/server/{uat-failure-feedback-BVqsWlrr.js → uat-failure-feedback-ly8ZwtfC.js} +5 -5
  454. package/server/{uat-promote-verification-DmG097QS.js → uat-promote-verification-BBaMwfdc.js} +5 -5
  455. package/server/{uat-train-DVUNW03P.js → uat-train-BBEiYSep.js} +0 -0
  456. package/server/{uat-train-COSy-vEX.js → uat-train-D7Ran2FB.js} +1 -1
  457. package/server/{validate-Dvv83iBx.js → validate-BYcBcBwg.js} +3 -3
  458. package/server/{validation-DlHafKzu.js → validation-BfG2jW5C.js} +9 -6
  459. package/server/{validation-BdCjzWLN.js → validation-nSrYiYvA.js} +1 -1
  460. package/server/{verification-artifact-CaSbxUVg.js → verification-artifact-Cmhgq4b_.js} +1 -1
  461. package/server/{verification-artifact-0Zku8N-W.js → verification-artifact-DglwaHke.js} +1 -1
  462. package/server/{verification-runner-DwP2fUEF.js → verification-runner-BEq5ZF-h.js} +53 -27
  463. package/server/{verification-runner-C6wdZda2.js → verification-runner-CFjAuv9u.js} +1 -1
  464. package/server/{vtt-parser-luerJpYT.js → vtt-parser-Va--tv27.js} +1 -1
  465. package/server/work-agent-prompt-BnhKNAg7.js +3 -0
  466. package/server/{work-agent-prompt--9AWNYwZ.js → work-agent-prompt-CaD2ue8m.js} +14 -14
  467. package/server/{work-agent-start-BNQO65W7.js → work-agent-start-0nJ-6UeA.js} +2 -2
  468. package/server/{work-agent-start-DkzseQFl.js → work-agent-start-D8NEN5KD.js} +1 -1
  469. package/server/workflows-BtHRlFIm.js +2 -0
  470. package/server/{workflows-BYwR2aIN.js → workflows-C7mxM1qc.js} +114 -41
  471. package/server/{workspace-iTnTycOB.js → workspace-BAhMgMaO.js} +3 -3
  472. package/server/{workspace-B-QJa3Ps.js → workspace-Dbqv9ehn.js} +1 -1
  473. package/server/{workspace-anchor-drift-CHiGg8iu.js → workspace-anchor-drift-B_3kyyxJ.js} +4 -4
  474. package/server/{workspace-anchor-drift-DTt6h2Em.js → workspace-anchor-drift-Bpa3xoni.js} +1 -1
  475. package/server/{workspace-config-D0CavVtz.js → workspace-config-D-bNq2CF.js} +1 -1
  476. package/server/{workspace-manager-5BKPV6SY.js → workspace-manager-BrbX90Rm.js} +1 -1
  477. package/server/{workspace-manager-W1OnbvU5.js → workspace-manager-CM8RCrSc.js} +17 -17
  478. package/server/{workspace-metadata-tbbevEmP.js → workspace-metadata-BEOwJSdK.js} +1 -1
  479. package/server/{workspace-metadata-dJhXvZGQ.js → workspace-metadata-Cu6yfxBS.js} +2 -2
  480. package/server/{workspaces-BlpbOPZ7.js → workspaces-C7LAuZfe.js} +140 -709
  481. package/sync-sources/dev-skills/pan-style-guide/SKILL.md +90 -15
  482. package/sync-sources/hooks/linear-mcp-auth-hook +6 -1
  483. package/sync-sources/rules/agent-message-delivery.md +21 -14
  484. package/sync-sources/rules/handoff-isolate-cwd.md +4 -4
  485. package/sync-sources/rules/pan-handoff-focus-limit.md +14 -5
  486. package/sync-sources/rules/ste-writing.md +17 -0
  487. package/sync-sources/rules/work-agents-via-pan.md +2 -1
  488. package/sync-sources/rules/writing-style.md +3 -2
  489. package/sync-sources/skills/{skill-creator → claude-skill-creator}/SKILL.md +1 -1
  490. package/sync-sources/skills/{skill-creator → claude-skill-creator}/scripts/init_skill.py +1 -1
  491. package/sync-sources/skills/{skill-creator → claude-skill-creator}/scripts/package_skill.py +1 -1
  492. package/sync-sources/skills/pan-gauntlet-loop/SKILL.md +230 -0
  493. package/sync-sources/skills/pan-gauntlet-loop/assets/PROMPT.template.md +92 -0
  494. package/sync-sources/skills/pan-gauntlet-loop/assets/REFERENCE-BAR.template.md +53 -0
  495. package/sync-sources/skills/pan-gauntlet-loop/assets/STYLE.template.md +41 -0
  496. package/sync-sources/skills/pan-gauntlet-loop/assets/gauntlet-index.html +237 -0
  497. package/sync-sources/skills/pan-gauntlet-loop/references/domains.md +106 -0
  498. package/sync-sources/skills/pan-handoff/SKILL.md +24 -6
  499. package/sync-sources/skills/pan-help/SKILL.md +1 -1
  500. package/sync-sources/skills/pan-peer-review/SKILL.md +3 -3
  501. package/sync-sources/skills/pan-restart/SKILL.md +6 -3
  502. package/sync-sources/skills/pan-start/SKILL.md +3 -0
  503. package/sync-sources/skills/pan-swarm/SKILL.md +32 -44
  504. package/sync-sources/skills/pan-sync/SKILL.md +1 -1
  505. package/server/activity-logger-BejO16Am.js +0 -3
  506. package/server/agent-state-DH_-Jkua.js +0 -3
  507. package/server/agents-megfmQHM.js +0 -3
  508. package/server/archive-planning-C-H9cM_J.js +0 -2
  509. package/server/build-info-PQlh_Rhb.js +0 -2
  510. package/server/cli-TaZspPHS.js +0 -2
  511. package/server/cliproxy-36ncAXlu.js +0 -3
  512. package/server/context-layers-CF6zHws4.js +0 -4
  513. package/server/conversations-AnGJ5rtX.js +0 -3
  514. package/server/deacon-BEH-IY0v.js +0 -5
  515. package/server/deacon-swarm-BHX-kR1b.js +0 -2
  516. package/server/deacon-swarm-BiLfNm_v.js +0 -1522
  517. package/server/dead-end-trip-BWpDg1Qd.js +0 -2
  518. package/server/delivery-cJM6zRjJ.js +0 -3
  519. package/server/deploy-queue-CmVBZEja.js +0 -2
  520. package/server/dist-VKBfkdi7.js +0 -3
  521. package/server/durable-review-pipeline-DgcVCYDL.js +0 -3
  522. package/server/factory-D4V2wd_V.js +0 -717
  523. package/server/forge-CrP1L3i6.js +0 -2
  524. package/server/hume-1ubD_6O7.js +0 -3
  525. package/server/inspect-agent-CfxERkNt.js +0 -2
  526. package/server/merge-ops-DtHx17Vd.js +0 -2
  527. package/server/merge-rebase-BvB4UuNS.js +0 -2
  528. package/server/project-repos-BJiShUsN.js +0 -3
  529. package/server/providers-CStNGwze.js +0 -3
  530. package/server/public/assets/index-BFEwfmqX.js +0 -860
  531. package/server/public/assets/index-_USwyTAT.css +0 -1
  532. package/server/public/assets/mermaid-GHXKKRXX-Dsln95SK.js +0 -1
  533. package/server/pull-requests-C1Cqp2yo.js +0 -2
  534. package/server/rally-CjayjUIl.js +0 -3
  535. package/server/resume-D7JuMCRQ.js +0 -3
  536. package/server/review-agent-BUNTVJK2.js +0 -2
  537. package/server/settings-DBWB1gsG.js +0 -2
  538. package/server/specialists-D8gsOCwh.js +0 -3
  539. package/server/specs-BqkrRnU9.js +0 -3
  540. package/server/stuck-remediation-Di5JYkoo.js +0 -1164
  541. package/server/stuck-remediation-TNM1VhZb.js +0 -2
  542. package/server/supervisor-DX8VsPnb.js +0 -2
  543. package/server/tmux-CqNapnrr.js +0 -4
  544. package/server/token-util-Bu8bPF9f.js +0 -3
  545. package/server/workflows-Cf4LAnhg.js +0 -2
@@ -1,4 +1,4 @@
1
- import { Xr as GitError, ei as MergeConflictError, oi as init_errors } from "./config-yaml-BwOEANMr.js";
1
+ import { $r as GitError, li as init_errors, ri as MergeConflictError } from "./config-yaml-D60AnTIu.js";
2
2
  import { Effect } from "effect";
3
3
  import { existsSync } from "fs";
4
4
  import { join } from "path";
@@ -131,4 +131,4 @@ function rebaseFeatureBranch(workspacePath, featureBranch, baseBranch, issueId)
131
131
  //#endregion
132
132
  export { rebaseFeatureBranch as t };
133
133
 
134
- //# sourceMappingURL=merge-rebase-C5htyEEH.js.map
134
+ //# sourceMappingURL=merge-rebase-KBw4rdh3.js.map
@@ -1,3 +1,3 @@
1
- import { c as withRepoArtifactUrlSync, i as init_merge_set, l as withRepoStateSync, n as ensureMergeSetForIssueSync, r as getMergeSetSync, s as upsertMergeSetSync } from "./merge-set-eiE2nC6C.js";
1
+ import { c as withRepoArtifactUrlSync, i as init_merge_set, l as withRepoStateSync, n as ensureMergeSetForIssueSync, r as getMergeSetSync, s as upsertMergeSetSync } from "./merge-set-CyW-xSn4.js";
2
2
  init_merge_set();
3
3
  export { ensureMergeSetForIssueSync, getMergeSetSync, upsertMergeSetSync, withRepoArtifactUrlSync, withRepoStateSync };
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Gn as init_issue_id, On as resolveProjectFromIssueSync, Yn as resolveIssueIdSync, fn as init_projects } from "./config-yaml-BwOEANMr.js";
3
- import { E as upsertMergeSet, b as patchMergeSetRepos, c as init_merge_sync, s as getMergeSetFromDb, y as patchMergeSetRepo } from "./merge-sync-Ct0-cxMX.js";
4
- import { i as init_project_repos, l as resolveProjectReposFromResolvedIssueSync } from "./project-repos-B4MK48j4.js";
2
+ import { On as resolveProjectFromIssueSync, Zn as resolveIssueIdSync, fn as init_projects, qn as init_issue_id } from "./config-yaml-D60AnTIu.js";
3
+ import { i as init_project_repos, l as resolveProjectReposFromResolvedIssueSync } from "./project-repos-CsfvLtmr.js";
4
+ import { E as upsertMergeSet, b as patchMergeSetRepos, c as init_merge_sync, s as getMergeSetFromDb, y as patchMergeSetRepo } from "./merge-sync-YLvOPAry.js";
5
5
  import "effect";
6
6
  //#region ../../lib/merge-set.ts
7
7
  function upsertMergeSetSync(mergeSet) {
@@ -86,4 +86,4 @@ var init_merge_set = __esmMin((() => {
86
86
  //#endregion
87
87
  export { patchMergeSetRepoSync as a, withRepoArtifactUrlSync as c, init_merge_set as i, withRepoStateSync as l, ensureMergeSetForIssueSync as n, patchMergeSetReposSync as o, getMergeSetSync as r, upsertMergeSetSync as s, buildMergeSetForIssueSync as t };
88
88
 
89
- //# sourceMappingURL=merge-set-eiE2nC6C.js.map
89
+ //# sourceMappingURL=merge-set-CyW-xSn4.js.map
@@ -1,3 +1,3 @@
1
- import { A as listUatGenerationNamesSync, C as resetProcessingToQueued, D as getUatGenerationSync, E as upsertMergeSet, F as updateUatGenerationStatusSync, I as updateUatGenerationSync, M as listUatGenerationsWithStacksSync, N as markUatGenerationRepoPromotedSync, O as hasUncleanedTerminalUatGenerationSync, P as setUatGenerationStackStartedAtSync, S as requeueToPending, T as transitionToMerging, _ as markMerged, a as getAllActiveQueues, b as patchMergeSetRepos, c as init_merge_sync, d as isMergeTrainEnabledForProject, f as listActiveAutoMerges, g as markFailed, h as markBlocked, i as getActionableAutoMerge, j as listUatGenerationsSync, k as insertUatGenerationSync, l as isFlywheelGloballyPaused, m as listProblemAutoMerges, n as countActionableAutoMerges, o as getAllMergeSetsFromDb, p as listDuePendingAutoMerges, r as deleteMergeSet, s as getMergeSetFromDb, t as cancelPending, u as isMergeTrainEnabled, v as markMergingBlocked, w as scheduleAutoMergeWithResult, x as requeueOrphanedMergingAutoMerges, y as patchMergeSetRepo } from "./merge-sync-Ct0-cxMX.js";
1
+ import { A as listUatGenerationNamesSync, C as resetProcessingToQueued, D as getUatGenerationSync, E as upsertMergeSet, F as updateUatGenerationStatusSync, I as updateUatGenerationSync, M as listUatGenerationsWithStacksSync, N as markUatGenerationRepoPromotedSync, O as hasUncleanedTerminalUatGenerationSync, P as setUatGenerationStackStartedAtSync, S as requeueToPending, T as transitionToMerging, _ as markMerged, a as getAllActiveQueues, b as patchMergeSetRepos, c as init_merge_sync, d as isMergeTrainEnabledForProject, f as listActiveAutoMerges, g as markFailed, h as markBlocked, i as getActionableAutoMerge, j as listUatGenerationsSync, k as insertUatGenerationSync, l as isFlywheelGloballyPaused, m as listProblemAutoMerges, n as countActionableAutoMerges, o as getAllMergeSetsFromDb, p as listDuePendingAutoMerges, r as deleteMergeSet, s as getMergeSetFromDb, t as cancelPending, u as isMergeTrainEnabled, v as markMergingBlocked, w as scheduleAutoMergeWithResult, x as requeueOrphanedMergingAutoMerges, y as patchMergeSetRepo } from "./merge-sync-YLvOPAry.js";
2
2
  init_merge_sync();
3
3
  export { cancelPending, countActionableAutoMerges, deleteMergeSet, getActionableAutoMerge, getAllActiveQueues, getAllMergeSetsFromDb, getMergeSetFromDb, getUatGenerationSync, hasUncleanedTerminalUatGenerationSync, insertUatGenerationSync, isFlywheelGloballyPaused, isMergeTrainEnabled, isMergeTrainEnabledForProject, listActiveAutoMerges, listDuePendingAutoMerges, listProblemAutoMerges, listUatGenerationNamesSync, listUatGenerationsSync, listUatGenerationsWithStacksSync, markBlocked, markFailed, markMerged, markMergingBlocked, markUatGenerationRepoPromotedSync, patchMergeSetRepo, patchMergeSetRepos, requeueOrphanedMergingAutoMerges, requeueToPending, resetProcessingToQueued, scheduleAutoMergeWithResult, setUatGenerationStackStartedAtSync, transitionToMerging, updateUatGenerationStatusSync, updateUatGenerationSync, upsertMergeSet };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-KTp9KV9u.js";
2
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-CJRi_5Wu.js";
3
3
  //#region ../../lib/overdeck/merge-sync-time.ts
4
4
  /**
5
5
  * merge-sync-time.ts — timestamp conversion shared by the merge-domain sync
@@ -673,4 +673,4 @@ var init_merge_sync = __esmMin((() => {
673
673
  //#endregion
674
674
  export { listUatGenerationNamesSync as A, resetProcessingToQueued as C, getUatGenerationSync as D, upsertMergeSet as E, updateUatGenerationStatusSync as F, updateUatGenerationSync as I, listUatGenerationsWithStacksSync as M, markUatGenerationRepoPromotedSync as N, hasUncleanedTerminalUatGenerationSync as O, setUatGenerationStackStartedAtSync as P, requeueToPending as S, transitionToMerging as T, markMerged as _, getAllActiveQueues as a, patchMergeSetRepos as b, init_merge_sync as c, isMergeTrainEnabledForProject as d, listActiveAutoMerges as f, markFailed as g, markBlocked as h, getActionableAutoMerge as i, listUatGenerationsSync as j, insertUatGenerationSync as k, isFlywheelGloballyPaused as l, listProblemAutoMerges as m, countActionableAutoMerges as n, getAllMergeSetsFromDb as o, listDuePendingAutoMerges as p, deleteMergeSet as r, getMergeSetFromDb as s, cancelPending as t, isMergeTrainEnabled as u, markMergingBlocked as v, scheduleAutoMergeWithResult as w, requeueOrphanedMergingAutoMerges as x, patchMergeSetRepo as y };
675
675
 
676
- //# sourceMappingURL=merge-sync-Ct0-cxMX.js.map
676
+ //# sourceMappingURL=merge-sync-YLvOPAry.js.map
@@ -1,5 +1,5 @@
1
- import { On as resolveProjectFromIssueSync, fn as init_projects, on as getProjectSync } from "./config-yaml-BwOEANMr.js";
2
- import { c as init_merge_sync, d as isMergeTrainEnabledForProject } from "./merge-sync-Ct0-cxMX.js";
1
+ import { On as resolveProjectFromIssueSync, fn as init_projects, on as getProjectSync } from "./config-yaml-D60AnTIu.js";
2
+ import { c as init_merge_sync, d as isMergeTrainEnabledForProject } from "./merge-sync-YLvOPAry.js";
3
3
  //#region ../../lib/cloister/merge-train-reconciler.ts
4
4
  init_projects();
5
5
  init_merge_sync();
@@ -72,9 +72,9 @@ async function runMergeTrainReconcile(mergedIssueId, opts = {}) {
72
72
  if (!config) return false;
73
73
  return isMergeTrainEnabledForProject(config);
74
74
  }))()) return [];
75
- return reconcileStaleSiblings(mergedIssueId, opts.deps ?? (await import("./merge-train-deps-LXHGK61n.js")).buildRealReconcileDeps());
75
+ return reconcileStaleSiblings(mergedIssueId, opts.deps ?? (await import("./merge-train-deps-D0y4hBB9.js")).buildRealReconcileDeps());
76
76
  }
77
77
  //#endregion
78
78
  export { runMergeTrainReconcile };
79
79
 
80
- //# sourceMappingURL=merge-train-BOu3fN7O.js.map
80
+ //# sourceMappingURL=merge-train-VxLn8Ms4.js.map
@@ -1,6 +1,6 @@
1
- import { On as resolveProjectFromIssueSync, fn as init_projects } from "./config-yaml-BwOEANMr.js";
2
- import { G as init_agents, en as spawnRun } from "./agent-state-Bb3UUxQm.js";
3
- import { i as getAllReviewStatusesFromDb, l as init_review_status_sync } from "./review-status-sync-B7V_Gg51.js";
1
+ import { On as resolveProjectFromIssueSync, fn as init_projects } from "./config-yaml-D60AnTIu.js";
2
+ import { q as init_agents, sn as spawnRun } from "./agent-state-FABw8neJ.js";
3
+ import { i as getAllReviewStatusesFromDb, l as init_review_status_sync } from "./review-status-sync-C6ZKTI8f.js";
4
4
  import { join } from "path";
5
5
  import { exec } from "child_process";
6
6
  import { promisify } from "util";
@@ -72,4 +72,4 @@ function buildRealReconcileDeps() {
72
72
  //#endregion
73
73
  export { buildRealReconcileDeps };
74
74
 
75
- //# sourceMappingURL=merge-train-deps-LXHGK61n.js.map
75
+ //# sourceMappingURL=merge-train-deps-D0y4hBB9.js.map
@@ -1,8 +1,8 @@
1
- import { On as resolveProjectFromIssueSync, fn as init_projects } from "./config-yaml-BwOEANMr.js";
2
- import { n as resolveGitHubIssueSync, t as init_tracker_utils } from "./tracker-utils-xnVJVrrO.js";
3
- import { i as init_merge_set, r as getMergeSetSync } from "./merge-set-eiE2nC6C.js";
4
- import { f as init_github_app, p as isGitHubAppConfigured, v as listPullRequestsForHead } from "./github-app-4UX8VIr8.js";
5
- import { r as hasPositiveMergedEvidence, t as assessMergeCompleteness } from "./merge-completeness-CP347umA.js";
1
+ import { On as resolveProjectFromIssueSync, fn as init_projects } from "./config-yaml-D60AnTIu.js";
2
+ import { n as resolveGitHubIssueSync, t as init_tracker_utils } from "./tracker-utils-Dbg_pVZg.js";
3
+ import { i as init_merge_set, r as getMergeSetSync } from "./merge-set-CyW-xSn4.js";
4
+ import { f as init_github_app, p as isGitHubAppConfigured, v as listPullRequestsForHead } from "./github-app-BlMSzSTw.js";
5
+ import { r as hasPositiveMergedEvidence, t as assessMergeCompleteness } from "./merge-completeness-BOtBUwTU.js";
6
6
  import { Effect } from "effect";
7
7
  import { exec } from "node:child_process";
8
8
  import { promisify } from "node:util";
@@ -231,4 +231,4 @@ async function shouldSkipDispatchAsMerged(issueId, deps = {}) {
231
231
  //#endregion
232
232
  export { shouldSkipDispatchAsMerged as n, verifyMergedBeforeLifecycle as r, handlePostRebaseVerificationDeferral as t };
233
233
 
234
- //# sourceMappingURL=merge-verification-BRp08IzI.js.map
234
+ //# sourceMappingURL=merge-verification-BfJRNMiD.js.map
@@ -1,5 +1,5 @@
1
- import { a as emitActivityEntrySync, c as init_activity_logger } from "./activity-logger-BAVLrkR7.js";
2
- import { n as init_review_status_source, s as resolveCanonicalReviewStatus } from "./review-status-source-Ct912fv_.js";
1
+ import { l as init_activity_logger, o as emitActivityEntrySync } from "./activity-logger-SlTXYCVf.js";
2
+ import { n as init_review_status_source, s as resolveCanonicalReviewStatus } from "./review-status-source-Jq0BXmn3.js";
3
3
  //#region ../../lib/cloister/merged-docker-cleanup-worker.ts
4
4
  init_activity_logger();
5
5
  init_review_status_source();
@@ -35,7 +35,7 @@ function recordFailure(entry, reason) {
35
35
  console.warn(`[deacon] Merged-issue Docker cleanup failed for ${entry.issueId}; retry ${entry.attempts} after ${new Date(entry.nextAttemptAt).toISOString()}: ${reason}`);
36
36
  }
37
37
  async function drainQueue() {
38
- const { teardownWorkspaceDockerByNamePromise } = await import("./docker-KR3zSFKY.js");
38
+ const { teardownWorkspaceDockerByNamePromise } = await import("./docker-DQzyMXkd.js");
39
39
  for (let entry = nextEligibleEntry(); entry; entry = nextEligibleEntry()) {
40
40
  entry.running = true;
41
41
  const eligibility = resolveCanonicalReviewStatus(entry.issueId);
@@ -100,4 +100,4 @@ function enqueueMergedDockerCleanup(issueId, options) {
100
100
  //#endregion
101
101
  export { reconcileMergedDockerCleanupQueue as n, enqueueMergedDockerCleanup as t };
102
102
 
103
- //# sourceMappingURL=merged-docker-cleanup-worker-CwldDjHV.js.map
103
+ //# sourceMappingURL=merged-docker-cleanup-worker-Bh5fKG_b.js.map
@@ -1,2 +1,2 @@
1
- import { n as reconcileMergedDockerCleanupQueue } from "./merged-docker-cleanup-worker-CwldDjHV.js";
1
+ import { n as reconcileMergedDockerCleanupQueue } from "./merged-docker-cleanup-worker-Bh5fKG_b.js";
2
2
  export { reconcileMergedDockerCleanupQueue };
@@ -0,0 +1,3 @@
1
+ import { Ht as init_messaging, Ut as messageAgent } from "./agent-state-FABw8neJ.js";
2
+ init_messaging();
3
+ export { messageAgent };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { a as File, i as init_esm_min, n as FormData, t as init_from } from "./from-DAdMxC29.js";
2
+ import { a as File, i as init_esm_min, n as FormData, t as init_from } from "./from-C3dzmjSO.js";
3
3
  //#region ../../../node_modules/.bun/node-fetch@3.3.2/node_modules/node-fetch/src/utils/multipart-parser.js
4
4
  function _fileName(headerValue) {
5
5
  const m = headerValue.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);
@@ -293,4 +293,4 @@ __esmMin((() => {
293
293
  }))();
294
294
  export { toFormData };
295
295
 
296
- //# sourceMappingURL=multipart-parser-OAuW7824.js.map
296
+ //# sourceMappingURL=multipart-parser-BYwfKOVU.js.map
@@ -81,4 +81,4 @@ function isExplicitNoResumeRequest(env = process.env) {
81
81
  //#endregion
82
82
  export { resolveBootGates as i, isNoResumeValueEnabled as n, formatBootGateState as r, isExplicitNoResumeRequest as t };
83
83
 
84
- //# sourceMappingURL=no-resume-mode-MWI6pnrK.js.map
84
+ //# sourceMappingURL=no-resume-mode-DjMQRkId.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@overdeck/desktop-server",
3
- "version": "0.49.1",
3
+ "version": "0.50.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
@@ -23,19 +23,19 @@
23
23
  }
24
24
  },
25
25
  "node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared": {
26
- "version": "4.0.0-beta.106",
27
- "resolved": "https://registry.npmjs.org/@effect/platform-node-shared/-/platform-node-shared-4.0.0-beta.106.tgz",
28
- "integrity": "sha512-TRTzLmhCwVM8G7dXz16lI3wE2vZFSs1jNs/+3WhnuOZgOUeJz9vzBK/KKlGRbbi0QbtEqmW4rAy1y9Fj4MZfsw==",
26
+ "version": "4.0.0-rc.112",
27
+ "resolved": "https://registry.npmjs.org/@effect/platform-node-shared/-/platform-node-shared-4.0.0-rc.112.tgz",
28
+ "integrity": "sha512-ttjz0xKamFN7vL8pNDYVwddJLjZvqKePc05djlz2VcdaKbLsnYbtMnL1rbOfHgEnIUSHGh7FkjaN4DM1Ov81sQ==",
29
29
  "license": "MIT",
30
30
  "dependencies": {
31
31
  "@types/ws": "^8.18.1",
32
- "ws": "^8.21.0"
32
+ "ws": "^8.21.3"
33
33
  },
34
34
  "engines": {
35
35
  "node": ">=18.0.0"
36
36
  },
37
37
  "peerDependencies": {
38
- "effect": "^4.0.0-beta.106"
38
+ "effect": "^4.0.0-rc.112"
39
39
  }
40
40
  },
41
41
  "node_modules/@google-cloud/common": {
@@ -359,9 +359,9 @@
359
359
  }
360
360
  },
361
361
  "node_modules/@types/node": {
362
- "version": "26.2.0",
363
- "resolved": "https://registry.npmjs.org/@types/node/-/node-26.2.0.tgz",
364
- "integrity": "sha512-5IviulTZeRNp2vAJ514cc/HUlY5nZ9fCbq9DMyC52BrhFZACo3nI0R7qBxhQmo/d27NFe96ur/b7Wwxklda+kg==",
362
+ "version": "26.3.0",
363
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-26.3.0.tgz",
364
+ "integrity": "sha512-L3fgrnchriRC2ExBflb8j4uZZURHZfQsmQeyVzhjcHW4kkwVyo8/0h1B2MVzMTrYUJYu6G7EWs14hW/L9putqw==",
365
365
  "license": "MIT",
366
366
  "dependencies": {
367
367
  "undici-types": "~8.3.0"
@@ -396,9 +396,9 @@
396
396
  }
397
397
  },
398
398
  "node_modules/ansi-regex": {
399
- "version": "6.2.2",
400
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
401
- "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
399
+ "version": "6.3.0",
400
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.3.0.tgz",
401
+ "integrity": "sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ==",
402
402
  "license": "MIT",
403
403
  "engines": {
404
404
  "node": ">=12"
@@ -823,9 +823,9 @@
823
823
  }
824
824
  },
825
825
  "node_modules/effect/node_modules/uuid": {
826
- "version": "14.0.1",
827
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.1.tgz",
828
- "integrity": "sha512-6ZxzVpzDXDa3bJWaHilVayA+BH/1zmxCJoVgvmqJnid/gPoKHxUrS/aC/T6LGQtNHT+XHG9fXPJB4d+IrU30Ew==",
826
+ "version": "14.0.2",
827
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.2.tgz",
828
+ "integrity": "sha512-xZe/16rV4aa+HGSOCiY2YeLT1OybRLrrkL/Rqaq7p7GMVXjFh+6wN4oMYgjFmnSnhY8t6Xpdl2l9qmnHYuMHwQ==",
829
829
  "funding": [
830
830
  "https://github.com/sponsors/broofa",
831
831
  "https://github.com/sponsors/ctavan"
@@ -945,9 +945,9 @@
945
945
  }
946
946
  },
947
947
  "node_modules/gaxios": {
948
- "version": "7.3.0",
949
- "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.3.0.tgz",
950
- "integrity": "sha512-RB5vLV+vvQeoFPCX4QMK6/hjVkbIamPp1QSUD0CiZcnj12qbpiL+pLbYtgD+oZkWl0tl9z+o2Utp+MpM3QRhBA==",
948
+ "version": "7.3.1",
949
+ "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.3.1.tgz",
950
+ "integrity": "sha512-kB3rzJV7d9juLZh8/56QTXCwQfxyhdOMdyYk1HdQKFtF8TJTDTZQJtixWIwXdE9Jji91mC41DUNpjleo4L4eAQ==",
951
951
  "license": "Apache-2.0",
952
952
  "dependencies": {
953
953
  "extend": "^3.0.2",
@@ -1322,9 +1322,9 @@
1322
1322
  "license": "MIT"
1323
1323
  },
1324
1324
  "node_modules/msgpackr": {
1325
- "version": "2.0.5",
1326
- "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-2.0.5.tgz",
1327
- "integrity": "sha512-cef05H/dSYpLpqp3sj/qyZh5vhUYCalnaLO7j1yOmpsR0y/XwLVtK7r5gn+U/F7CTEfMowcGhlUQJDLcLf7jcA==",
1325
+ "version": "2.0.6",
1326
+ "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-2.0.6.tgz",
1327
+ "integrity": "sha512-plGul/tqjt9vqWFR9zyqyLZls6gb5KTLvnsRO2B9+TZ8tNiXiVI/CR8LiDWlAX4IUeVkQ9gsmzKA6voC2QOciw==",
1328
1328
  "license": "MIT",
1329
1329
  "optionalDependencies": {
1330
1330
  "msgpackr-extract": "^3.0.4"
@@ -1467,9 +1467,9 @@
1467
1467
  }
1468
1468
  },
1469
1469
  "node_modules/picomatch": {
1470
- "version": "4.0.5",
1471
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz",
1472
- "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==",
1470
+ "version": "4.0.7",
1471
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz",
1472
+ "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==",
1473
1473
  "license": "MIT",
1474
1474
  "engines": {
1475
1475
  "node": ">=12"
@@ -327,6 +327,17 @@ if (Predicate.isObject(thing)) {
327
327
  }
328
328
  ```
329
329
 
330
+ ## Working with SQL databases
331
+
332
+ Use the `effect/unstable/sql` modules together with a driver package such as
333
+ `@effect/sql-sqlite-node` to access SQL databases. Define domain models with
334
+ `Model.Class` to derive schemas for the database and JSON boundaries, run
335
+ migrations, and write type-safe queries.
336
+
337
+ - **[Getting started with SQL](./ai-docs/src/40_sql/10_basics.ts)**:
338
+ Define a schema-backed domain model, run migrations against a SQLite
339
+ database, and expose a derived repository through a service.
340
+
330
341
  ## Effect HttpClient
331
342
 
332
343
  Build http clients with the `HttpClient` module.
@@ -340,6 +351,9 @@ Build http clients with the `HttpClient` module.
340
351
  - **[Getting started with HttpApi](./ai-docs/src/51_http-server/10_basics.ts)**:
341
352
  Define a schema-first API, implement handlers, secure endpoints with
342
353
  middleware, serve it over HTTP, and call it using a generated typed client.
354
+ - **[Testing HttpApi implementations](./ai-docs/src/51_http-server/20_testing.ts)**:
355
+ Test handlers through an in-memory typed client with `HttpApiTest`, without
356
+ starting an HTTP server or touching a real database.
343
357
 
344
358
  ## Working with child processes
345
359
 
@@ -327,6 +327,17 @@ if (Predicate.isObject(thing)) {
327
327
  }
328
328
  ```
329
329
 
330
+ ## Working with SQL databases
331
+
332
+ Use the `effect/unstable/sql` modules together with a driver package such as
333
+ `@effect/sql-sqlite-node` to access SQL databases. Define domain models with
334
+ `Model.Class` to derive schemas for the database and JSON boundaries, run
335
+ migrations, and write type-safe queries.
336
+
337
+ - **[Getting started with SQL](./ai-docs/src/40_sql/10_basics.ts)**:
338
+ Define a schema-backed domain model, run migrations against a SQLite
339
+ database, and expose a derived repository through a service.
340
+
330
341
  ## Effect HttpClient
331
342
 
332
343
  Build http clients with the `HttpClient` module.
@@ -340,6 +351,9 @@ Build http clients with the `HttpClient` module.
340
351
  - **[Getting started with HttpApi](./ai-docs/src/51_http-server/10_basics.ts)**:
341
352
  Define a schema-first API, implement handlers, secure endpoints with
342
353
  middleware, serve it over HTTP, and call it using a generated typed client.
354
+ - **[Testing HttpApi implementations](./ai-docs/src/51_http-server/20_testing.ts)**:
355
+ Test handlers through an in-memory typed client with `HttpApiTest`, without
356
+ starting an HTTP server or touching a real database.
343
357
 
344
358
  ## Working with child processes
345
359
 
@@ -1,7 +1,14 @@
1
- # `@effect/platform-node-shared`
1
+ # @effect/platform-node-shared
2
2
 
3
- Provides shared Node.js-compatible implementations used by the Effect Node.js and Bun platform packages.
3
+ Effect platform services shared between Node.js-compatible runtimes. Used internally by `@effect/platform-node`, `@effect/platform-bun`, and `@effect/platform-deno`.
4
+
5
+ ## Installation
6
+
7
+ ```sh
8
+ npm install effect@rc @effect/platform-node-shared@rc
9
+ ```
4
10
 
5
11
  ## Documentation
6
12
 
7
- - **API Reference**: [View the full documentation](https://effect-ts.github.io/effect/docs/platform-node-shared).
13
+ - [Effect website](https://effect.website)
14
+ - [API reference](https://effect.website/docs/v4/api/platform-node-shared)
@@ -27,8 +27,8 @@
27
27
  "@effect/sql-sqlite-wasm": "workspace:*",
28
28
  "@effect/vitest": "workspace:*",
29
29
  "effect": "workspace:*",
30
- "hono": "^4.12.28",
31
- "nodemailer": "^9.0.3"
30
+ "hono": "^4.13.3",
31
+ "nodemailer": "^9.0.5"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/nodemailer": "^8.0.1"
@@ -0,0 +1,175 @@
1
+ /**
2
+ * @title Getting started with SQL
3
+ *
4
+ * Define a schema-backed domain model, run migrations against a SQLite
5
+ * database, and expose a derived repository through a service.
6
+ */
7
+ import { NodeRuntime } from "@effect/platform-node"
8
+ import { SqliteClient, SqliteMigrator } from "@effect/sql-sqlite-node"
9
+ import { Context, Effect, Layer, Schema } from "effect"
10
+ import { Model } from "effect/unstable/schema"
11
+ import { SqlClient, SqlModel, SqlSchema } from "effect/unstable/sql"
12
+
13
+ // Use a branded string for the group id, so it cannot be mixed up with other
14
+ // string ids in the application.
15
+ export const GroupId = Schema.String.pipe(Schema.brand("GroupId"))
16
+ export type GroupId = typeof GroupId.Type
17
+
18
+ // `Model.Class` defines a domain model with variants for the database and JSON
19
+ // boundaries. The single field declaration is the source of truth, and each
20
+ // variant only contains the fields that make sense for that operation:
21
+ //
22
+ // - `Group` / `Group.insert` / `Group.update` for the database
23
+ // - `Group.json` / `Group.jsonCreate` / `Group.jsonUpdate` for JSON APIs
24
+ export class Group extends Model.Class<Group>("Group")({
25
+ // A UUID v4 primary key that is generated by the application on insert
26
+ id: Model.UuidV4Insert(GroupId),
27
+ name: Schema.NonEmptyString,
28
+ // `Model.FieldExcept` removes a field from the given variants. The slug is
29
+ // chosen when the group is created and is immutable afterwards, so it is
30
+ // removed from the update variants.
31
+ slug: Schema.NonEmptyString.pipe(Model.FieldExcept(["update", "jsonUpdate"])),
32
+ // `Model.FieldOnly` keeps a field in only the given variants. Internal notes
33
+ // live in the database and are never exposed through the JSON variants.
34
+ notes: Schema.NullOr(Schema.String).pipe(Model.FieldOnly(["select", "insert"])),
35
+ // `Model.Field` gives full control over the individual variants. The member
36
+ // count is maintained by the database, so the application can read it but
37
+ // never writes it.
38
+ memberCount: Model.Field({
39
+ select: Schema.Int,
40
+ json: Schema.Int
41
+ }),
42
+ // `createdAt` is set to the current time on insert, and `updatedAt` is
43
+ // refreshed on every update. Both are stored as strings, which suits SQLite.
44
+ createdAt: Model.DateTimeInsert,
45
+ updatedAt: Model.DateTimeUpdate
46
+ }) {}
47
+
48
+ export class GroupNotFound extends Schema.TaggedError<GroupNotFound>()("GroupNotFound", {
49
+ id: GroupId
50
+ }) {}
51
+
52
+ // The SqlClient layer determines which database you are talking to. Swap this
53
+ // layer for `@effect/sql-pg`, `@effect/sql-mysql2` etc. to target another
54
+ // database without changing the rest of the code.
55
+ const SqlLayer = SqliteClient.layer({ filename: ":memory:" })
56
+
57
+ // Migrations are effects keyed by `<id>_<name>` that run once, in id order. A
58
+ // real application would keep each migration in its own file and load them
59
+ // with `SqliteMigrator.fromFileSystem` instead of an inline record.
60
+ const MigratorLayer = SqliteMigrator.layer({
61
+ loader: SqliteMigrator.fromRecord({
62
+ "0001_create_groups": Effect.gen(function*() {
63
+ const sql = yield* SqlClient.SqlClient
64
+ yield* sql`
65
+ CREATE TABLE groups (
66
+ id TEXT PRIMARY KEY,
67
+ name TEXT NOT NULL,
68
+ slug TEXT NOT NULL,
69
+ notes TEXT,
70
+ memberCount INTEGER NOT NULL DEFAULT 0,
71
+ createdAt TEXT NOT NULL,
72
+ updatedAt TEXT NOT NULL
73
+ )
74
+ `
75
+ })
76
+ })
77
+ })
78
+
79
+ // Combine the database client with the migrations, so anything built on top of
80
+ // `SqlLive` sees a fully migrated database.
81
+ const SqlLive = MigratorLayer.pipe(Layer.provideMerge(SqlLayer))
82
+
83
+ // Wrap data access in a service, so the rest of the application depends on
84
+ // `Groups` instead of the database directly.
85
+ export class Groups extends Context.Service<Groups, {
86
+ create(name: string, slug: string): Effect.Effect<Group>
87
+ rename(id: GroupId, name: string): Effect.Effect<Group, GroupNotFound>
88
+ findById(id: GroupId): Effect.Effect<Group, GroupNotFound>
89
+ readonly list: Effect.Effect<Array<Group>>
90
+ }>()("app/Groups") {
91
+ static readonly layer = Layer.effect(
92
+ Groups,
93
+ Effect.gen(function*() {
94
+ const sql = yield* SqlClient.SqlClient
95
+
96
+ // `SqlModel.makeRepository` derives insert / update / findById / delete
97
+ // operations from the model, using the matching variant schema for each
98
+ // operation.
99
+ const repo = yield* SqlModel.makeRepository(Group, {
100
+ tableName: "groups",
101
+ spanPrefix: "Groups",
102
+ idColumn: "id"
103
+ })
104
+
105
+ // For queries the repository does not cover, combine the `sql` tag with
106
+ // `SqlSchema` to decode the rows using the model schema.
107
+ const listAll = SqlSchema.findAll({
108
+ Request: Schema.Void,
109
+ Result: Group,
110
+ execute: () => sql`SELECT * FROM groups ORDER BY createdAt`
111
+ })
112
+
113
+ // Use `Effect.fn` to give each method a named span for observability.
114
+ const create = Effect.fn("Groups.create")((name: string, slug: string) =>
115
+ // `Group.insert.makeEffect` fills in the generated id and timestamps
116
+ // using the Effect clock, so tests can control them with `TestClock`.
117
+ Group.insert.makeEffect({ name, slug, notes: null }).pipe(
118
+ Effect.flatMap(repo.insert),
119
+ // Database and encoding failures are unexpected here, so treat
120
+ // them as defects to keep the service interface focused on domain
121
+ // errors.
122
+ Effect.orDie
123
+ )
124
+ )
125
+
126
+ const rename = Effect.fn("Groups.rename")((id: GroupId, name: string) =>
127
+ Group.update.makeEffect({ id, name }).pipe(
128
+ Effect.flatMap(repo.update),
129
+ Effect.orDie
130
+ )
131
+ )
132
+
133
+ const findById = Effect.fn("Groups.findById")((id: GroupId) =>
134
+ repo.findById(id).pipe(
135
+ Effect.catchTags({
136
+ NoSuchElementError: () => new GroupNotFound({ id }),
137
+ SchemaError: Effect.die,
138
+ SqlError: Effect.die
139
+ })
140
+ )
141
+ )
142
+
143
+ const list = listAll().pipe(
144
+ Effect.orDie,
145
+ Effect.withSpan("Groups.list")
146
+ )
147
+
148
+ return Groups.of({ create, rename, findById, list })
149
+ })
150
+ ).pipe(
151
+ // Provide the layers locally, so lots of messy wiring doesn't need to
152
+ // happen in the "main" entrypoint of the application.
153
+ Layer.provide(SqlLive)
154
+ )
155
+ }
156
+
157
+ const program = Effect.gen(function*() {
158
+ const groups = yield* Groups
159
+
160
+ const engineering = yield* groups.create("Engineering", "engineering")
161
+ const design = yield* groups.create("Design", "design")
162
+
163
+ yield* groups.rename(design.id, "Product Design")
164
+
165
+ const found = yield* groups.findById(engineering.id)
166
+ yield* Effect.log("found group", found)
167
+
168
+ const all = yield* groups.list
169
+ yield* Effect.log(`total groups: ${all.length}`)
170
+ })
171
+
172
+ program.pipe(
173
+ Effect.provide(Groups.layer),
174
+ NodeRuntime.runMain
175
+ )
@@ -0,0 +1,6 @@
1
+ ## Working with SQL databases
2
+
3
+ Use the `effect/unstable/sql` modules together with a driver package such as
4
+ `@effect/sql-sqlite-node` to access SQL databases. Define domain models with
5
+ `Model.Class` to derive schemas for the database and JSON boundaries, run
6
+ migrations, and write type-safe queries.
@@ -24,7 +24,9 @@ const SystemApiHandlers = HttpApiBuilder.group(
24
24
  Api,
25
25
  "system",
26
26
  Effect.fn(function*(handlers) {
27
- return handlers.handle("health", () => Effect.void)
27
+ return handlers.handleAll({
28
+ health: () => Effect.void
29
+ })
28
30
  })
29
31
  )
30
32