@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.
- package/drizzle/overdeck/0000_overdeck_init.sql +1 -0
- package/package.json +1 -1
- package/server/{acceptance-criteria-Crw-xSJ3.js → acceptance-criteria-B_maCGZv.js} +2 -2
- package/server/{active-dashboard-bundle-CLwfD-Om.js → active-dashboard-bundle-CCqpFWiz.js} +2 -2
- package/server/activity-logger-B0X2JJwM.js +3 -0
- package/server/{activity-logger-BAVLrkR7.js → activity-logger-SlTXYCVf.js} +22 -4
- package/server/{advancing-selfheal-BQiJ7mIH.js → advancing-selfheal-BJAfiY-C.js} +12 -7
- package/server/{agent-gc-5E0lgxI1.js → agent-gc-bhikjoJ_.js} +11 -11
- package/server/agent-idle-D-UQ7gDv.js +745 -0
- package/server/agent-state-BrUPf_7Z.js +3 -0
- package/server/{agent-state-Bb3UUxQm.js → agent-state-FABw8neJ.js} +682 -454
- package/server/{agent-state-service-keg-x1bT.js → agent-state-service-BAQApt97.js} +1 -1
- package/server/{agent-state-service-BFbttwRA.js → agent-state-service-rDenYSlD.js} +5 -5
- package/server/agents-DixZjXWm.js +3 -0
- package/server/{agents-CqQJW75N.js → agents-DzpQidT8.js} +8 -8
- package/server/{archive-planning-BwEhu9Oq.js → archive-planning-BL1ABtW0.js} +20 -135
- package/server/archive-planning-D3gw32U9.js +2 -0
- package/server/{artifact-index-jobs-C6Lg2rKm.js → artifact-index-jobs-Cjdme0jS.js} +3 -3
- package/server/{assemble-DyTp2gSB.js → assemble-B_JgnCbG.js} +28 -9
- package/server/{auto-spawn-consent-BDfe4qz0.js → auto-spawn-consent-BesWchEi.js} +8 -7
- package/server/{backlog-auto-trigger-DuOGpdDW.js → backlog-auto-trigger-COLq639j.js} +3 -3
- package/server/{behavior-Bitko0mD.js → behavior-DCg8CIWC.js} +3 -3
- package/server/{bridge-pool-patrol-DiHEd13O.js → bridge-pool-patrol-BDohuMRt.js} +2 -2
- package/server/{briefing-freshness-CDJcmHHZ.js → briefing-freshness-ENa_hW_V.js} +2 -2
- package/server/build-info-Dx2qrVhb.js +2 -0
- package/server/{build-info-DTX8JwVP.js → build-info-WuZT6xyi.js} +3 -3
- package/server/{checkpoint-manager-BlOOdzLF.js → checkpoint-manager-CSZ7aVQF.js} +26 -9
- package/server/{checkpoint-manager-CKg1tn34.js → checkpoint-manager-DXhGRvg4.js} +1 -1
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-BGfl0cHM.js → checkpoints-DUkUsPVS.js} +2 -2
- package/server/{checkpoints-DRALkfDS.js → checkpoints-tm_w6Y4V.js} +1 -1
- package/server/{claude-hooks-provision-B_tv3wzE.js → claude-hooks-provision-CTh9zxEi.js} +1 -1
- package/server/{claude-hooks-provision-BlGv6twJ.js → claude-hooks-provision-fRofvhTN.js} +2 -2
- package/server/{claude-permissions-aHgDcZi5.js → claude-permissions-DLrb9ovz.js} +18 -3
- package/server/{claude-settings-overlay-T2LWLteV.js → claude-settings-overlay-BYnXaTVc.js} +2 -2
- package/server/{claude-settings-overlay-CYOvFE3A.js → claude-settings-overlay-CMS5Jab5.js} +1 -1
- package/server/cli-BflmtEFM.js +2 -0
- package/server/{cli-Do8UpLoI.js → cli-CoQou1t_.js} +11 -11
- package/server/{cliproxy-CX6jHRDP.js → cliproxy-DXDQcR3I.js} +52 -17
- package/server/cliproxy-DdhFpcXU.js +3 -0
- package/server/{close-issue-J0_eWYT1.js → close-issue-CpQ0BWg-.js} +5 -5
- package/server/{closed-issue-reaper-bFppuk6F.js → closed-issue-reaper-CdcJRvUx.js} +13 -12
- package/server/{closed-issue-reaper-Cl2h9AfT.js → closed-issue-reaper-TymtZM37.js} +1 -1
- package/server/{codex-icapA4om.js → codex-BValsmtK.js} +1 -1
- package/server/{codex-OOea7lXs.js → codex-DYyZL8JD.js} +16 -10
- package/server/{compaction-continuation-D5voR1ME.js → compaction-continuation-CVjbdGKt.js} +3 -3
- package/server/{config-Cjleh3_U.js → config-CvKH7r7W.js} +1 -1
- package/server/{config-tucKBCCc.js → config-NxI9Yl2f.js} +2 -2
- package/server/{config-DC75T4Mr.js → config-_qaa1UXH.js} +2 -2
- package/server/{config-yaml-BwOEANMr.js → config-yaml-D60AnTIu.js} +55 -15
- package/server/{conflict-gate-DlpWCMd7.js → conflict-gate-0dD1kxjN.js} +1 -1
- package/server/{conflict-gate-D2L1kZeL.js → conflict-gate-hAUCL-un.js} +5 -5
- package/server/{context-layers-CSPGc2Hb.js → context-layers-CdpabJj0.js} +3 -3
- package/server/context-layers-Ds1MnEFI.js +4 -0
- package/server/{continue-U3Af0jUq.js → continue-CnvrUfxw.js} +3 -3
- package/server/{control-settings-5k6ixdFW.js → control-settings-Db0uXgVM.js} +310 -7
- package/server/{conversation-compaction-CSpVpxN6.js → conversation-compaction-B-1KETG9.js} +8 -8
- package/server/{conversation-compaction-Ciit9O6k.js → conversation-compaction-DzMXGRiJ.js} +1 -1
- package/server/{conversation-service-BxrB5lUT.js → conversation-service-BL-asWPX.js} +1 -1
- package/server/{conversation-service-BteE4ELK.js → conversation-service-BxIOd5ay.js} +21 -7
- package/server/conversations-CEMfwMt-.js +3 -0
- package/server/{conversations-DhwxsOru.js → conversations-nS6QgYpD.js} +12 -7
- package/server/cost-3FyqKK56.js +838 -0
- package/server/{cost-Bnf9NUC5.js → cost-Cctc-Q9M.js} +3 -3
- package/server/{cost-CQKI6OCu.js → cost-DTuIRE4y.js} +2 -2
- package/server/{cost-sync-B-ADeXKY.js → cost-sync-DfmvLT9L.js} +3 -3
- package/server/{dag-DI9LaK_q.js → dag-o-dUpw1L.js} +6 -19
- package/server/{dangerous-git-ops-akhA3iyF.js → dangerous-git-ops-BOtXCFkT.js} +1 -1
- package/server/dashboard-db-worker.js +61 -11
- package/server/{deacon-TPYssFYt.js → deacon-CsisLmPt.js} +1735 -172
- package/server/{deacon-canonical-state-DFYymrDw.js → deacon-canonical-state-DkdkQS5p.js} +3 -3
- package/server/deacon-e6py3jkM.js +4 -0
- package/server/{deacon-event-client-Te5v10-b.js → deacon-event-client-BCjHiGAY.js} +1 -1
- package/server/{deacon-event-client-BKOL4AcL.js → deacon-event-client-CMQswEHX.js} +2 -2
- package/server/{deacon-nudge-log-BtlTWgWu.js → deacon-nudge-log-pcliw8Dr.js} +1 -1
- package/server/{deacon-pending-lifecycle-DVHjOLje.js → deacon-pending-lifecycle-BzaE76Xo.js} +3 -3
- package/server/deacon.js +11 -11
- package/server/{dead-end-trip-P0IF1O0E.js → dead-end-trip-Bs3hxIn6.js} +3 -3
- package/server/dead-end-trip-DUbiRMtT.js +2 -0
- package/server/delivery-DhZGRShH.js +3 -0
- package/server/{deploy-patrol-BXjlvoV3.js → deploy-patrol-B8sKkA8h.js} +8 -8
- package/server/deploy-queue--smqHLhe.js +2 -0
- package/server/{deploy-queue-o7shYg1j.js → deploy-queue-CCGWXFkp.js} +2 -2
- package/server/{deploy-window-CNT6fOff.js → deploy-window-YuJewzmC.js} +4 -4
- package/server/{deploy-window-BMk5_oX6.js → deploy-window-hgsvZ3UZ.js} +1 -1
- package/server/{dev-supervisor-SR1CLOAK.js → dev-supervisor-4SBloJHV.js} +2 -2
- package/server/{devcontainer-renderer-enMmNDFa.js → devcontainer-renderer-BiJhwFNi.js} +3 -3
- package/server/{dist-CPTO_zMR.js → dist-CoR2sivG.js} +1 -1
- package/server/dist-FHv1s5ez.js +3 -0
- package/server/{docker-B7qUZptz.js → docker-CWO7dcIP.js} +3 -3
- package/server/{docker-KR3zSFKY.js → docker-DQzyMXkd.js} +1 -1
- package/server/{dod-gK835UMf.js → dod-BAk5arLF.js} +1 -1
- package/server/{done-preflight-CksRvh49.js → done-preflight-CGFA0M1b.js} +1 -1
- package/server/{done-preflight-Bk8aExAL.js → done-preflight-Cx9JGznT.js} +5 -5
- package/server/{driver-CmsY2RLl.js → driver-BtcFz-qu.js} +14 -3
- package/server/durable-review-pipeline-BOEZ0chh.js +3 -0
- package/server/{durable-review-pipeline-DgYHucN2.js → durable-review-pipeline-Djx_lvFd.js} +11 -2
- package/server/{ensure-devcontainer-BQ4YizSH.js → ensure-devcontainer-Dk6ZMOUC.js} +1 -1
- package/server/{ensure-devcontainer-ojerEqQg.js → ensure-devcontainer-DzYBBwnM.js} +4 -4
- package/server/{esm-shims-1htPASWs.js → esm-shims-deFq5Hhl.js} +1 -1
- package/server/{event-store-BgEjNsvk.js → event-store-C50Qt-f1.js} +1 -1
- package/server/{event-store-D7qcJXuZ.js → event-store-DTns2XZP.js} +5 -5
- package/server/{event-store-provider-BKvk2rDj.js → event-store-provider-Bu1Qrg6v.js} +1 -1
- package/server/{events-BIKGJZOT.js → events-B6xW8Cpm.js} +3 -3
- package/server/{dist-src-BM9eudEd.js → factory-CWVKwKFE.js} +714 -2
- package/server/{feature-registry-storage-ewNSIVsQ.js → feature-registry-storage-vaxRN3WO.js} +3 -3
- package/server/{features-CGopJXdU.js → features-DXWwktJB.js} +2 -2
- package/server/{feedback-stuck-retirement-B8-fX7NA.js → feedback-stuck-retirement-CXAYe2rU.js} +2 -2
- package/server/{feedback-target-CkyLYohm.js → feedback-target-DSVpi0gT.js} +1 -1
- package/server/{feedback-target-Ci6N5p4G.js → feedback-target-yPD_wclF.js} +10 -10
- package/server/{feedback-writer-DfuVjvH0.js → feedback-writer-BzN4qvaP.js} +1 -1
- package/server/{feedback-writer-D4ULO4qG.js → feedback-writer-Ds1Wjsz4.js} +5 -5
- package/server/{flywheel-DXI_WITn.js → flywheel-BCZS-FlW.js} +1 -1
- package/server/{flywheel-BwYPDlhK.js → flywheel-CC4gE_rx.js} +15 -15
- package/server/{flywheel-C7yek87O.js → flywheel-DWKd7bMc.js} +79 -29
- package/server/{flywheel-merge-order-C5m5bYBc.js → flywheel-merge-order-DDT3i57u.js} +1 -1
- package/server/{flywheel-merge-order-CXfU4M6l.js → flywheel-merge-order-DJwH2KpL.js} +17 -15
- package/server/forge-4VVCRcF7.js +2 -0
- package/server/{forge-DYX9sKzG.js → forge-CHADjOFs.js} +2 -2
- package/server/{from-DAdMxC29.js → from-C3dzmjSO.js} +1 -1
- package/server/{fs-lock-cw25uO_E.js → fs-lock-DQ_gUxfq.js} +2 -2
- package/server/{fts-operations-D_rzLxX5.js → fts-operations-asZo2fh1.js} +3 -3
- package/server/git-info-DMOSfJ9I.js +148 -0
- package/server/{git-utils-Y0zG25ez.js → git-utils-BAMwn9Nf.js} +1 -1
- package/server/{git-utils-DV4B9TRl.js → git-utils-BdHk8y7g.js} +4 -4
- package/server/{github-app-C33lDk9Z.js → github-app-BWziYCf3.js} +1 -1
- package/server/{github-app-4UX8VIr8.js → github-app-BlMSzSTw.js} +2 -2
- package/server/{github-client-nPj5ckZO.js → github-client-OK24qpol.js} +1 -1
- package/server/{github-client-DkJVR908.js → github-client-w6j5nVlz.js} +3 -3
- package/server/{github-pr-lookup-C9Vokb0W.js → github-pr-lookup-bGcsEvLE.js} +2 -2
- package/server/{harness-binary-BgXYDo2Z.js → harness-binary-DChiynaB.js} +2 -2
- package/server/{harness-resolve-1NZcVx7n.js → harness-resolve-BplBEbwn.js} +4 -4
- package/server/{health-events-jMfxrElt.js → health-events-BTqsmunw.js} +1 -1
- package/server/{health-events-DlX_FVAB.js → health-events-Bk3LjaJ9.js} +2 -2
- package/server/{hooks-NQ19vvlB.js → hooks-DJR1yR9w.js} +2 -2
- package/server/{hooks-W3REcb3h.js → hooks-EndRNrx9.js} +1 -1
- package/server/{hume-BFkid2PO.js → hume-1FJmNDTq.js} +2 -2
- package/server/hume-gXLmRhmN.js +3 -0
- package/server/{identity-Bwh6VGeL.js → identity-C3s8lyp0.js} +3 -3
- package/server/{idle-stack-reaper-CHtCNpvd.js → idle-stack-reaper-CBelVOE3.js} +1 -1
- package/server/{idle-stack-reaper-BeU_KxWx.js → idle-stack-reaper-DtoI4al6.js} +4 -4
- package/server/{in-flight-guard-pcwXKLGz.js → in-flight-guard-B7khcBdQ.js} +1 -1
- package/server/{infra-KTp9KV9u.js → infra-CJRi_5Wu.js} +36 -7
- package/server/{injection-67YyU6SC.js → injection-ADWQ3D0s.js} +8 -8
- package/server/{injection-BxbZKPDh.js → injection-BWsgHvrL.js} +1 -1
- package/server/{inspect-agent-VHSihlb7.js → inspect-agent-CCfNJjKr.js} +12 -12
- package/server/inspect-agent-Dhp3hCGp.js +2 -0
- package/server/{internal-token-B-z-sGBH.js → internal-token-BCTEqUCX.js} +1 -1
- package/server/{internal-token-zY75jrRJ.js → internal-token-BeIWG_kT.js} +2 -2
- package/server/{io-DfvO2xyh.js → io-BCtZoXHo.js} +5 -5
- package/server/{issue-closed-dvEWKO7Q.js → issue-closed-CiYAa6bX.js} +7 -7
- package/server/{issue-lifecycle-3N8XF7lP.js → issue-lifecycle-BETNVVLq.js} +206 -29
- package/server/{issue-lifecycle-BI6jAfp8.js → issue-lifecycle-DaKN57sx.js} +1 -1
- package/server/{issue-service-singleton-CL6hESX2.js → issue-service-singleton-1Q0ER8Yc.js} +1 -1
- package/server/{issue-service-singleton-BN_2MXp4.js → issue-service-singleton-C_sZ0HjP.js} +124 -11
- package/server/issue-title-fallback-B91iD66g.js +120 -0
- package/server/{issues-CkvUoAnq.js → issues-RGHQUKhB.js} +2 -2
- package/server/{jsonl-parser-CrEb2PWr.js → jsonl-parser-Dfs1dlYE.js} +3 -3
- package/server/jsonl-resolver-bFtftCDd.js +324 -0
- package/server/{kimi-code-DoMoGqIu.js → kimi-code-BxkDgaj4.js} +1 -1
- package/server/{kimi-code-C26gmGxM.js → kimi-code-CNYRA8Dd.js} +14 -12
- package/server/{kimi-parser-Dmhy3UlR.js → kimi-parser-OcWwmOqF.js} +2 -2
- package/server/{label-cleanup-X2lWfghH.js → label-cleanup-CefxK9tL.js} +3 -3
- package/server/{lifecycle-B0rL38D3.js → lifecycle-DDZ7w-BY.js} +6 -6
- package/server/{lifecycle-Bg44O-9x.js → lifecycle-DVXyUil2.js} +2 -2
- package/server/{lifecycle-io-DQDU0apV.js → lifecycle-io-D1oBiMce.js} +1 -1
- package/server/{lifecycle-io-CCBpRv5m.js → lifecycle-io-D7N0vQNj.js} +5 -5
- package/server/{linear-client-B0cIkTs4.js → linear-client-DUN7zCeb.js} +3 -3
- package/server/{linear-client-6V2E-DSa.js → linear-client-TL32snOy.js} +1 -1
- package/server/{linear-mcp-auth-LCo9AWUd.js → linear-mcp-auth-CtRKSHy5.js} +1 -1
- package/server/{linear-mcp-auth-Dsu9Io9r.js → linear-mcp-auth-bB0CPyjh.js} +5 -5
- package/server/memory-fts-worker.js +1 -1
- package/server/{memory-governor-A4O6vI9d.js → memory-governor-Cvv_9K0M.js} +88 -22
- package/server/{memory-pressure-patrol-BWlWywmA.js → memory-pressure-patrol-C6DJJQRA.js} +38 -14
- package/server/{merge-BGWcBxku.js → merge-DOCR6pHi.js} +1 -1
- package/server/{merge-vz80RvSE.js → merge-FTk4LsnM.js} +3 -3
- package/server/{merge-agent-GWhmnxFk.js → merge-agent-C-dsN9se.js} +37 -33
- package/server/{merge-agent-BRSz26Oh.js → merge-agent-D-4_iQgy.js} +2 -2
- package/server/{merge-batch-CFMEtTxv.js → merge-batch-BJjzUUL7.js} +1 -1
- package/server/{merge-completeness-CP347umA.js → merge-completeness-BOtBUwTU.js} +4 -4
- package/server/{merge-completeness-7ajHAIR-.js → merge-completeness-CoLJxfUY.js} +1 -1
- package/server/merge-eligibility-C4rTS97F.js +3 -0
- package/server/merge-eligibility-D7wRnJbj.js +51 -0
- package/server/merge-ops-Cf02szJ5.js +2 -0
- package/server/merge-rebase-Bj7eJAG4.js +2 -0
- package/server/{merge-rebase-C5htyEEH.js → merge-rebase-KBw4rdh3.js} +2 -2
- package/server/{merge-set-DsGW8fmc.js → merge-set-CVfEM57p.js} +1 -1
- package/server/{merge-set-eiE2nC6C.js → merge-set-CyW-xSn4.js} +4 -4
- package/server/{merge-sync-CM2-myXu.js → merge-sync-CYGsJy0u.js} +1 -1
- package/server/{merge-sync-Ct0-cxMX.js → merge-sync-YLvOPAry.js} +2 -2
- package/server/{merge-train-BOu3fN7O.js → merge-train-VxLn8Ms4.js} +4 -4
- package/server/{merge-train-deps-LXHGK61n.js → merge-train-deps-D0y4hBB9.js} +4 -4
- package/server/{merge-verification-BRp08IzI.js → merge-verification-BfJRNMiD.js} +6 -6
- package/server/{merged-docker-cleanup-worker-CwldDjHV.js → merged-docker-cleanup-worker-Bh5fKG_b.js} +4 -4
- package/server/{merged-docker-cleanup-worker-C8eGn78a.js → merged-docker-cleanup-worker-Ci9oeFAe.js} +1 -1
- package/server/messaging-Dfbhgjd6.js +3 -0
- package/server/{multipart-parser-OAuW7824.js → multipart-parser-BYwfKOVU.js} +2 -2
- package/server/{no-resume-mode-MWI6pnrK.js → no-resume-mode-DjMQRkId.js} +1 -1
- package/server/node_modules/.package-lock.json +24 -24
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/AGENTS.md +14 -0
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/CLAUDE.md +14 -0
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/README.md +10 -3
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/package.json +2 -2
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/40_sql/10_basics.ts +175 -0
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/40_sql/index.md +6 -0
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/10_basics.ts +3 -1
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/20_testing.ts +100 -0
- 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
- 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
- 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
- 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
- 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
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/70_cli/10_basics.ts +31 -5
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.d.ts.map +1 -1
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js +10 -9
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js.map +1 -1
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeClusterSocket.d.ts.map +1 -1
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeClusterSocket.js +12 -9
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeClusterSocket.js.map +1 -1
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeSocket.js +1 -1
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeSocket.js.map +1 -1
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeSocketServer.js +4 -4
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeSocketServer.js.map +1 -1
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeStream.d.ts.map +1 -1
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeStream.js +10 -4
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeStream.js.map +1 -1
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/internal/nodeChildProcessSpawner.d.ts +4 -0
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/internal/nodeChildProcessSpawner.d.ts.map +1 -0
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/internal/nodeChildProcessSpawner.js +10 -0
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/internal/nodeChildProcessSpawner.js.map +1 -0
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +7 -7
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeChildProcessSpawner.ts +16 -11
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeClusterSocket.ts +15 -12
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeSocket.ts +1 -1
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeSocketServer.ts +4 -4
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeStream.ts +10 -4
- package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/internal/nodeChildProcessSpawner.ts +16 -0
- package/server/node_modules/@types/node/README.md +1 -1
- package/server/node_modules/@types/node/buffer.buffer.d.ts +5 -5
- package/server/node_modules/@types/node/crypto.d.ts +2 -2
- package/server/node_modules/@types/node/http.d.ts +16 -0
- package/server/node_modules/@types/node/http2.d.ts +10 -2
- package/server/node_modules/@types/node/package.json +2 -2
- package/server/node_modules/@types/node/process.d.ts +52 -0
- package/server/node_modules/@types/node/quic.d.ts +210 -28
- package/server/node_modules/@types/node/sqlite.d.ts +6 -2
- package/server/node_modules/@types/node/test.d.ts +36 -0
- package/server/node_modules/ansi-regex/index.js +3 -2
- package/server/node_modules/ansi-regex/package.json +1 -1
- package/server/node_modules/effect/node_modules/uuid/README.md +19 -19
- package/server/node_modules/effect/node_modules/uuid/dist/v1.js +7 -3
- package/server/node_modules/effect/node_modules/uuid/dist/v7.js +5 -2
- package/server/node_modules/effect/node_modules/uuid/dist-node/v1.js +7 -3
- package/server/node_modules/effect/node_modules/uuid/dist-node/v7.js +5 -2
- package/server/node_modules/effect/node_modules/uuid/package.json +4 -3
- package/server/node_modules/gaxios/build/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/server/node_modules/gaxios/build/esm/tsconfig.tsbuildinfo +1 -1
- package/server/node_modules/gaxios/package.json +3 -3
- package/server/node_modules/msgpackr/dist/index-no-eval.cjs +11 -5
- package/server/node_modules/msgpackr/dist/index-no-eval.cjs.map +1 -1
- package/server/node_modules/msgpackr/dist/index-no-eval.min.js +1 -1
- package/server/node_modules/msgpackr/dist/index-no-eval.min.js.map +1 -1
- package/server/node_modules/msgpackr/dist/index.js +11 -5
- package/server/node_modules/msgpackr/dist/index.js.map +1 -1
- package/server/node_modules/msgpackr/dist/index.min.js +1 -1
- package/server/node_modules/msgpackr/dist/index.min.js.map +1 -1
- package/server/node_modules/msgpackr/dist/node.cjs +11 -5
- package/server/node_modules/msgpackr/dist/node.cjs.map +1 -1
- package/server/node_modules/msgpackr/dist/test.js +11 -5
- package/server/node_modules/msgpackr/dist/test.js.map +1 -1
- package/server/node_modules/msgpackr/dist/unpack-no-eval.cjs +11 -5
- package/server/node_modules/msgpackr/dist/unpack-no-eval.cjs.map +1 -1
- package/server/node_modules/msgpackr/package.json +1 -1
- package/server/node_modules/msgpackr/unpack.js +11 -5
- package/server/node_modules/picomatch/lib/parse.js +10 -1
- package/server/node_modules/picomatch/lib/scan.js +30 -18
- package/server/node_modules/picomatch/package.json +1 -1
- package/server/{orphan-proposed-reconciler-BAE5AZ_e.js → orphan-proposed-reconciler-CnP0K2v3.js} +2 -2
- package/server/{orphan-proposed-reconciler-cV3URUqk.js → orphan-proposed-reconciler-nFUlquZt.js} +24 -23
- package/server/package-lock.json +25 -25
- package/server/package.json +1 -1
- package/server/{pan-dir-DDd91kMb.js → pan-dir-B4NfzOf3.js} +5 -5
- package/server/{deacon-merge-BOGFEV8_.js → parked-residue-8WbU0y1z.js} +188 -69
- package/server/{paths-CRLnDgcI.js → paths-rETQhTF2.js} +2 -2
- package/server/{pending-lifecycle-claim-CYgMiDAP.js → pending-lifecycle-claim-yAwDuGS4.js} +2 -2
- package/server/{pickup-BjJsSX12.js → pickup-Dle6k9Xt.js} +1 -1
- package/server/{pipeline-agent-reader-BLc43dVJ.js → pipeline-agent-reader-CeWhQzXC.js} +5 -5
- package/server/{pipeline-membership-BHZp_ShY.js → pipeline-membership-BV4hdkHm.js} +1 -1
- package/server/{pipeline-membership-5qlRz5Qg.js → pipeline-membership-C9ykcjsn.js} +1 -1
- package/server/{pipeline-membership-gather-CGFY1v-y.js → pipeline-membership-gather-Ba0wJNCR.js} +17 -12
- package/server/{pipeline-membership-gather-WhRc1yke.js → pipeline-membership-gather-C9E22B2W.js} +1 -1
- package/server/{pipeline-notifier-C4fZ2ito.js → pipeline-notifier-B5DPXvnr.js} +1 -1
- package/server/{pipeline-notifier-BmsLWM_2.js → pipeline-notifier-p190L97e.js} +2 -2
- package/server/{post-merge-lifecycle-worker-KK1RTKRE.js → post-merge-lifecycle-worker-OQoK8Ckg.js} +3 -3
- package/server/{post-merge-state-_Lj3LDLh.js → post-merge-state-DFaf7OI1.js} +4 -4
- package/server/prd-locations-F2oLSAhy.js +124 -0
- package/server/{project-pipelines-CCkebHOu.js → project-pipelines-CUsa6U59.js} +2 -2
- package/server/project-repos-BVdi9-ch.js +3 -0
- package/server/{project-repos-B4MK48j4.js → project-repos-CsfvLtmr.js} +29 -3
- package/server/project-resource-refresh-queue-BehrH4Ai.js +865 -0
- package/server/project-resource-refresh-queue-D2110Guc.js +2 -0
- package/server/{projects-DvPEAP18.js → projects-BMuEf14J.js} +1 -1
- package/server/{prompts-BiS5I2tZ.js → prompts-CKpDt8Jn.js} +2 -2
- package/server/providers-Buv2wmFU.js +3 -0
- package/server/{providers-DrfK0Ip8.js → providers-CxPKmyif.js} +7 -7
- package/server/public/assets/{chunk-BO2N2NFS-GtVe_o56.js → chunk-BO2N2NFS-DZOQVqV1.js} +4 -4
- package/server/public/assets/{diagram-OG6HWLK6-BvhcYYHc.js → diagram-OG6HWLK6-oKeXcbO1.js} +1 -1
- package/server/public/assets/{dist-CSmUXazd.js → dist-2qPmeRzT.js} +3 -3
- package/server/public/assets/{dist-D0ryefak.js → dist-ClBlE-Nm.js} +1 -1
- package/server/public/assets/{ganttDiagram-6RSMTGT7-BXA51DzM.js → ganttDiagram-6RSMTGT7-BwdG9fQv.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-mlV4EpWt.js → highlighted-body-OFNGDK62-BzGNdskQ.js} +1 -1
- package/server/public/assets/index-CdPveU3M.css +1 -0
- package/server/public/assets/index-Cg6tdZoY.js +860 -0
- package/server/public/assets/{linear-BPE7oswm.js → linear-DpEt1TJb.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-6KBD_3T_.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-BguGGV3S.js → pieDiagram-4H26LBE5-9BpM4oRJ.js} +1 -1
- package/server/public/assets/{prod-aKDYUrXQ.js → prod-CzJiNNEG.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-Bx3i4B6H.js → quadrantDiagram-W4KKPZXB-BXWVAoZx.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-B5vuLjA4.js → sankeyDiagram-5OEKKPKP-5oxodGEw.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-HPlpkqsN.js → xychartDiagram-2RQKCTM6-BChDrHxZ.js} +1 -1
- package/server/public/index.html +2 -2
- package/server/pull-requests-CmlandI7.js +2 -0
- package/server/{pull-requests-BcHIsFJv.js → pull-requests-T0OV0Vn4.js} +3 -3
- package/server/{rally-B1OMtzch.js → rally-CUqj2oIN.js} +3 -3
- package/server/rally-DYIn9R2U.js +3 -0
- package/server/{rally-api-ShZ4kvn0.js → rally-api-BFPb2oSq.js} +2 -2
- package/server/{rally-api-u_vkr5c_.js → rally-api-BoucQG1u.js} +1 -1
- package/server/{rally-client-D6Feq1Ka.js → rally-client-16iObny7.js} +5 -5
- package/server/{rally-client-DgZvUZqX.js → rally-client-CsqLjLLa.js} +1 -1
- package/server/{reap-terminal-sessions-CRfiXLY0.js → reap-terminal-sessions-BaDSNR-k.js} +2 -2
- package/server/{reap-terminal-sessions-D7f3zSE9.js → reap-terminal-sessions-DgEIKMhH.js} +2 -2
- package/server/{rebuild-stack-CCwKHZb6.js → rebuild-stack-BcBVFJp3.js} +2 -2
- package/server/{rebuild-stack-DKxOnkpE.js → rebuild-stack-CyXMrj6K.js} +7 -7
- package/server/reconciler-caYiRnPy.js +657 -0
- package/server/{reconstruct-cache-BP8UIKt7.js → reconstruct-cache-3JzPOune.js} +7 -7
- package/server/{record-By-wp6pg.js → record-DYOg97Iv.js} +1 -1
- package/server/{record-update-D23jPU6b.js → record-update-BPqpBu3O.js} +9 -7
- package/server/{record-update-ByGtIlUK.js → record-update-CDPEX7BH.js} +1 -1
- package/server/{recovery-trip-C4dTl8DO.js → recovery-trip-CpfW6LCJ.js} +43 -10
- package/server/{recovery-trip-qloOYOFz.js → recovery-trip-xqKC07Gy.js} +1 -1
- package/server/{release-engine-Crc0Tjx-.js → release-engine-C_OOhCaK.js} +5 -5
- package/server/{release-set-DDXwbIK7.js → release-set-DOIDz2vw.js} +3 -3
- package/server/{remote-oEMfXlwT.js → remote-BTh-sjpX.js} +3 -3
- package/server/{remote-agents-Bgtc2nOO.js → remote-agents-DbbN7vSm.js} +6 -6
- package/server/{remote-agents-DQVGZVQ9.js → remote-agents-MuXx2gWm.js} +1 -1
- package/server/{remote-completion-DxUJ5HKR.js → remote-completion-LcWCpAm2.js} +13 -13
- package/server/{remote-CBpLi4Yy.js → remote-xY0B43Ho.js} +3 -3
- package/server/{resolver-CuAULbLs.js → resolver-C2QKOf09.js} +2 -2
- package/server/{resolver-C8rooxoz.js → resolver-D4nsxfGo.js} +31 -8
- package/server/resume-ByUrJUNX.js +3 -0
- package/server/{review-agent-7C2w5CzU.js → review-agent-BRBTm1qE.js} +43 -55
- package/server/review-agent-Caodi0PX.js +3 -0
- package/server/{review-artifacts-BJeEfm2r.js → review-artifacts-DgaDlbO4.js} +6 -6
- package/server/{review-convoy-liveness-DfF9eXjI.js → review-convoy-liveness-BBvyuRLC.js} +20 -11
- package/server/{review-run-recovery-ZjuDTNhZ.js → review-run-recovery-DCzWMMvE.js} +1 -1
- package/server/{review-run-recovery-7BKt2Es0.js → review-run-recovery-THHMKlXJ.js} +3 -3
- package/server/{review-status-CUnjjOUu.js → review-status-Bge_3XTR.js} +1 -1
- package/server/{review-status-DBnR5t4z.js → review-status-DpniqzPT.js} +113 -44
- package/server/{review-status-emit-Cg4tOb8U.js → review-status-emit-D7sM720S.js} +3 -3
- package/server/{review-status-enrichment-D-rQshu6.js → review-status-enrichment-PDI4-faj.js} +3 -3
- package/server/{review-status-source-DSn0glLa.js → review-status-source-D2PCWS6E.js} +1 -1
- package/server/{review-status-source-Ct912fv_.js → review-status-source-Jq0BXmn3.js} +1 -1
- package/server/{review-status-sync-B7V_Gg51.js → review-status-sync-C6ZKTI8f.js} +11 -8
- package/server/{review-status-sync-YthpOH_q.js → review-status-sync-CvpHWyvR.js} +1 -1
- package/server/{review-verdict-feedback-C-dBon_-.js → review-verdict-feedback-B2ojHFH5.js} +8 -8
- package/server/{review-verdict-feedback-DqXTuJk8.js → review-verdict-feedback-tyMoLT2L.js} +1 -1
- package/server/{review-verdict-writer-CKaJWp75.js → review-verdict-writer-Cy_1pnIj.js} +7 -7
- package/server/{review-verdict-writer-jldSh3Bm.js → review-verdict-writer-DjrJ64eS.js} +1 -1
- package/server/{rollup-DZwH4CLs.js → rollup-Cp0KEoOu.js} +1 -1
- package/server/{rollup-QCwYcBdP.js → rollup-DU3xBQu2.js} +8 -8
- package/server/{scanner-2aHeLC3W.js → scanner-BFKG3Gxv.js} +8 -8
- package/server/{search-DwHYaj66.js → search-DhtKwbBC.js} +2 -2
- package/server/{secret-redaction-B5G1xZ3k.js → secret-redaction-DLZ-VqHq.js} +1 -1
- package/server/{sequence-io-POKWdusG.js → sequence-io-C-Q19Jez.js} +4 -4
- package/server/{sequencer-agent-DS00KHVm.js → sequencer-agent-eN2P2lDz.js} +6 -6
- package/server/server.js +1499 -1350
- package/server/{service-BLb_CyPL.js → service-CThO0Sar.js} +80 -774
- package/server/{session-fork-DcTzVwex.js → session-fork-ZYTHtpBh.js} +2 -2
- package/server/settings-ByDRfuuE.js +2 -0
- package/server/{settings-Clw8UVNs.js → settings-CTywpFw5.js} +2 -2
- package/server/{settings-B9-H2K_E.js → settings-nAT-eK56.js} +3 -3
- package/server/{shadow-engineering-C6oO_PiR.js → shadow-engineering-BHZKPJhq.js} +3 -3
- package/server/{shadow-state-CEGrrECe.js → shadow-state-BTLi4Axs.js} +2 -2
- package/server/{shadow-state-e7250VUx.js → shadow-state-CZ_LnPsi.js} +1 -1
- package/server/{shadow-utils-xFk2Wusb.js → shadow-utils-CPLlPHdn.js} +2 -2
- package/server/{ship-log-7BnQHuKU.js → ship-log-D-CphNZx.js} +1 -1
- package/server/{ship-record-CwUX6Afo.js → ship-record-BaBla0l_.js} +7 -7
- package/server/{ship-record-BgUPnpT0.js → ship-record-BlvX8-xv.js} +1 -1
- package/server/{ship-status-Ce3_3edi.js → ship-status-rQbPQBsF.js} +2 -2
- package/server/{smart-compaction-BmfIi3oL.js → smart-compaction-CUXn8mfX.js} +1 -1
- package/server/{smart-compaction-Dy0gw1VH.js → smart-compaction-D1CNGdZx.js} +7 -7
- package/server/{spawn-planning-session-nH3b4Drz.js → spawn-planning-session-DCmO6COk.js} +19 -19
- package/server/{spawn-planning-session-CfhxRJoY.js → spawn-planning-session-DfEWyrVV.js} +2 -2
- package/server/{specialist-completion-CC1XJbTx.js → specialist-completion-BMv3K54P.js} +1 -1
- package/server/{specialist-context-cHwpcXSh.js → specialist-context-C1-CfYQb.js} +5 -5
- package/server/{specialist-handoff-logger-GqnGSYoJ.js → specialist-handoff-logger-BDKoz5Z9.js} +2 -2
- package/server/{specialist-logs-5OTnrV91.js → specialist-logs-BJQFkpdG.js} +3 -3
- package/server/specialists-CYt1U3Zm.js +4 -0
- package/server/{specialists-8LcQi9Np.js → specialists-D6MUU31Q.js} +21 -272
- package/server/{specialists-DocAK-7A.js → specialists-DhS79T9v.js} +369 -691
- package/server/{specialists-xXcJHAyg.js → specialists-Dx0zRTxX.js} +1 -1
- package/server/specialists-registry-BRLCi61y.js +3 -0
- package/server/specialists-registry-Bng0OFGH.js +277 -0
- package/server/specs-oRGyfz6C.js +3 -0
- package/server/{src-C2TAxwki.js → src-C7gGe4KU.js} +6 -6
- package/server/{src-DudQNYVw.js → src-CdwN6WY6.js} +344 -7
- package/server/{src-DUVvEA8Q.js → src-DMosbuSJ.js} +3 -3
- package/server/{stack-health-DKT4ySnA.js → stack-health-BKfNaqMm.js} +3 -3
- package/server/{stack-health-CbyiYS9H.js → stack-health-Bz711z1Y.js} +1 -1
- package/server/{stale-task-claims-PzFee70R.js → stale-task-claims-DMRLb5R2.js} +5 -5
- package/server/{staleness-D8UTEXV5.js → staleness-CxZaIhrn.js} +1 -1
- package/server/{staleness-BjOAq9-d.js → staleness-r_dkMyMG.js} +1 -1
- package/server/{stall-sweeper-DOyIfeLR.js → stall-sweeper-CBWqSWV2.js} +8 -8
- package/server/{state-home-DhAZlk5k.js → state-home-DhsMqg8W.js} +2 -2
- package/server/{state-mapping-BVSs84bO.js → state-mapping-D2yC81Vy.js} +1 -1
- package/server/{state-migrate-CJKEwpB0.js → state-migrate-C2Ouyd6e.js} +6 -6
- package/server/{state-mirror-Do7pag7W.js → state-mirror-BPXciz84.js} +3 -3
- package/server/stuck-remediation-DALieAkx.js +2 -0
- package/server/stuck-remediation-kta3KN7c.js +774 -0
- package/server/{substrate-bug-weights-service-BTNjHBnl.js → substrate-bug-weights-service-D_ICP7TI.js} +3 -3
- package/server/{summary-fork-CvB7Oyq9.js → summary-fork-CojrFKb6.js} +2 -2
- package/server/{summary-fork-CZ88rhVx.js → summary-fork-DhhaFhxZ.js} +113 -30
- package/server/supervisor/{pane-composer-BaLLspSj.js → pane-composer-CoiVkGIt.js} +8 -1
- package/server/supervisor/{paths-D6XUcR_g.js → paths-DTGbtcaP.js} +8 -4
- package/server/supervisor/pty-supervisor.js +3 -3
- package/server/supervisor/{pty-token-DjjHxoCq.js → pty-token-GVqnvU3U.js} +2 -2
- package/server/supervisor-DSSWo4M2.js +2 -0
- package/server/{supervisor-D4v0WfiQ.js → supervisor-DqH-laVL.js} +4 -4
- package/server/{swarm-readiness-D8R-LWX5.js → swarm-readiness-LF8ZF_hc.js} +3 -3
- package/server/{synthesis-verdict-N5Z11pg7.js → synthesis-verdict-CGFF8uQI.js} +2 -2
- package/server/{synthesis-verdict-B6wvLGcA.js → synthesis-verdict-DSoOFUIV.js} +1 -1
- package/server/{system-prerequisites-BbGZ_WHF.js → system-prerequisites-Lsx0jUUV.js} +2 -2
- package/server/{teardown-workspace-CYend-KY.js → teardown-workspace-DMwomEG1.js} +16 -16
- package/server/{test-agent-queue-BUtWhNcc.js → test-agent-queue-Cu0D6BYe.js} +6 -6
- package/server/{test-verdict-BWm3hgDj.js → test-verdict-9mvl7pQn.js} +1 -1
- package/server/{test-verdict-BWtRmdiR.js → test-verdict-oNSv1rVr.js} +2 -2
- package/server/{tldr-daemon-CneJ24eL.js → tldr-daemon-CRSAkhBx.js} +1 -1
- package/server/{tldr-daemon-CMVBT4kT.js → tldr-daemon-McqCk2X7.js} +2 -2
- package/server/tmux-CYucGrTl.js +4 -0
- package/server/{tmux-BqXzRuaH.js → tmux-wnT_hg-s.js} +91 -19
- package/server/{token-CO3INKbh.js → token-BdfZLRg1.js} +2 -2
- package/server/{token-util-DyJJyX_B.js → token-util-Crcay9j_.js} +1 -1
- package/server/token-util-DfUS3Lpp.js +3 -0
- package/server/{tracker-config-DVzhaUxO.js → tracker-config-tfAOWgng.js} +2 -2
- package/server/{tracker-utils-xnVJVrrO.js → tracker-utils-Dbg_pVZg.js} +2 -2
- package/server/{traefik-connect-A5k54mCv.js → traefik-connect-DoQvQ6oJ.js} +1 -1
- package/server/{tunnel-DauSR-rs.js → tunnel-B1MNIgkL.js} +1 -1
- package/server/{tunnel-CwOnS-PB.js → tunnel-skW68j9B.js} +3 -3
- package/server/{typed-errors-B-gfU2RB.js → typed-errors-CZ3GFBvo.js} +1 -1
- package/server/{typed-errors-DzC4zXbI.js → typed-errors-DXqf3RnP.js} +1 -1
- package/server/{types-DjpLVpsj.js → types-PW4zkxCM.js} +1 -1
- package/server/{types-DbxY2QB6.js → types-pLpbsNto.js} +1 -1
- package/server/{uat-failure-feedback-BVqsWlrr.js → uat-failure-feedback-ly8ZwtfC.js} +5 -5
- package/server/{uat-promote-verification-DmG097QS.js → uat-promote-verification-BBaMwfdc.js} +5 -5
- package/server/{uat-train-DVUNW03P.js → uat-train-BBEiYSep.js} +0 -0
- package/server/{uat-train-COSy-vEX.js → uat-train-D7Ran2FB.js} +1 -1
- package/server/{validate-Dvv83iBx.js → validate-BYcBcBwg.js} +3 -3
- package/server/{validation-DlHafKzu.js → validation-BfG2jW5C.js} +9 -6
- package/server/{validation-BdCjzWLN.js → validation-nSrYiYvA.js} +1 -1
- package/server/{verification-artifact-CaSbxUVg.js → verification-artifact-Cmhgq4b_.js} +1 -1
- package/server/{verification-artifact-0Zku8N-W.js → verification-artifact-DglwaHke.js} +1 -1
- package/server/{verification-runner-DwP2fUEF.js → verification-runner-BEq5ZF-h.js} +53 -27
- package/server/{verification-runner-C6wdZda2.js → verification-runner-CFjAuv9u.js} +1 -1
- package/server/{vtt-parser-luerJpYT.js → vtt-parser-Va--tv27.js} +1 -1
- package/server/work-agent-prompt-BnhKNAg7.js +3 -0
- package/server/{work-agent-prompt--9AWNYwZ.js → work-agent-prompt-CaD2ue8m.js} +14 -14
- package/server/{work-agent-start-BNQO65W7.js → work-agent-start-0nJ-6UeA.js} +2 -2
- package/server/{work-agent-start-DkzseQFl.js → work-agent-start-D8NEN5KD.js} +1 -1
- package/server/workflows-BtHRlFIm.js +2 -0
- package/server/{workflows-BYwR2aIN.js → workflows-C7mxM1qc.js} +114 -41
- package/server/{workspace-iTnTycOB.js → workspace-BAhMgMaO.js} +3 -3
- package/server/{workspace-B-QJa3Ps.js → workspace-Dbqv9ehn.js} +1 -1
- package/server/{workspace-anchor-drift-CHiGg8iu.js → workspace-anchor-drift-B_3kyyxJ.js} +4 -4
- package/server/{workspace-anchor-drift-DTt6h2Em.js → workspace-anchor-drift-Bpa3xoni.js} +1 -1
- package/server/{workspace-config-D0CavVtz.js → workspace-config-D-bNq2CF.js} +1 -1
- package/server/{workspace-manager-5BKPV6SY.js → workspace-manager-BrbX90Rm.js} +1 -1
- package/server/{workspace-manager-W1OnbvU5.js → workspace-manager-CM8RCrSc.js} +17 -17
- package/server/{workspace-metadata-tbbevEmP.js → workspace-metadata-BEOwJSdK.js} +1 -1
- package/server/{workspace-metadata-dJhXvZGQ.js → workspace-metadata-Cu6yfxBS.js} +2 -2
- package/server/{workspaces-BlpbOPZ7.js → workspaces-C7LAuZfe.js} +140 -709
- package/sync-sources/dev-skills/pan-style-guide/SKILL.md +90 -15
- package/sync-sources/hooks/linear-mcp-auth-hook +6 -1
- package/sync-sources/rules/agent-message-delivery.md +21 -14
- package/sync-sources/rules/handoff-isolate-cwd.md +4 -4
- package/sync-sources/rules/pan-handoff-focus-limit.md +14 -5
- package/sync-sources/rules/ste-writing.md +17 -0
- package/sync-sources/rules/work-agents-via-pan.md +2 -1
- package/sync-sources/rules/writing-style.md +3 -2
- package/sync-sources/skills/{skill-creator → claude-skill-creator}/SKILL.md +1 -1
- package/sync-sources/skills/{skill-creator → claude-skill-creator}/scripts/init_skill.py +1 -1
- package/sync-sources/skills/{skill-creator → claude-skill-creator}/scripts/package_skill.py +1 -1
- package/sync-sources/skills/pan-gauntlet-loop/SKILL.md +230 -0
- package/sync-sources/skills/pan-gauntlet-loop/assets/PROMPT.template.md +92 -0
- package/sync-sources/skills/pan-gauntlet-loop/assets/REFERENCE-BAR.template.md +53 -0
- package/sync-sources/skills/pan-gauntlet-loop/assets/STYLE.template.md +41 -0
- package/sync-sources/skills/pan-gauntlet-loop/assets/gauntlet-index.html +237 -0
- package/sync-sources/skills/pan-gauntlet-loop/references/domains.md +106 -0
- package/sync-sources/skills/pan-handoff/SKILL.md +24 -6
- package/sync-sources/skills/pan-help/SKILL.md +1 -1
- package/sync-sources/skills/pan-peer-review/SKILL.md +3 -3
- package/sync-sources/skills/pan-restart/SKILL.md +6 -3
- package/sync-sources/skills/pan-start/SKILL.md +3 -0
- package/sync-sources/skills/pan-swarm/SKILL.md +32 -44
- package/sync-sources/skills/pan-sync/SKILL.md +1 -1
- package/server/activity-logger-BejO16Am.js +0 -3
- package/server/agent-state-DH_-Jkua.js +0 -3
- package/server/agents-megfmQHM.js +0 -3
- package/server/archive-planning-C-H9cM_J.js +0 -2
- package/server/build-info-PQlh_Rhb.js +0 -2
- package/server/cli-TaZspPHS.js +0 -2
- package/server/cliproxy-36ncAXlu.js +0 -3
- package/server/context-layers-CF6zHws4.js +0 -4
- package/server/conversations-AnGJ5rtX.js +0 -3
- package/server/deacon-BEH-IY0v.js +0 -5
- package/server/deacon-swarm-BHX-kR1b.js +0 -2
- package/server/deacon-swarm-BiLfNm_v.js +0 -1522
- package/server/dead-end-trip-BWpDg1Qd.js +0 -2
- package/server/delivery-cJM6zRjJ.js +0 -3
- package/server/deploy-queue-CmVBZEja.js +0 -2
- package/server/dist-VKBfkdi7.js +0 -3
- package/server/durable-review-pipeline-DgcVCYDL.js +0 -3
- package/server/factory-D4V2wd_V.js +0 -717
- package/server/forge-CrP1L3i6.js +0 -2
- package/server/hume-1ubD_6O7.js +0 -3
- package/server/inspect-agent-CfxERkNt.js +0 -2
- package/server/merge-ops-DtHx17Vd.js +0 -2
- package/server/merge-rebase-BvB4UuNS.js +0 -2
- package/server/project-repos-BJiShUsN.js +0 -3
- package/server/providers-CStNGwze.js +0 -3
- package/server/public/assets/index-BFEwfmqX.js +0 -860
- package/server/public/assets/index-_USwyTAT.css +0 -1
- package/server/public/assets/mermaid-GHXKKRXX-Dsln95SK.js +0 -1
- package/server/pull-requests-C1Cqp2yo.js +0 -2
- package/server/rally-CjayjUIl.js +0 -3
- package/server/resume-D7JuMCRQ.js +0 -3
- package/server/review-agent-BUNTVJK2.js +0 -2
- package/server/settings-DBWB1gsG.js +0 -2
- package/server/specialists-D8gsOCwh.js +0 -3
- package/server/specs-BqkrRnU9.js +0 -3
- package/server/stuck-remediation-Di5JYkoo.js +0 -1164
- package/server/stuck-remediation-TNM1VhZb.js +0 -2
- package/server/supervisor-DX8VsPnb.js +0 -2
- package/server/tmux-CqNapnrr.js +0 -4
- package/server/token-util-Bu8bPF9f.js +0 -3
- package/server/workflows-Cf4LAnhg.js +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
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-
|
|
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-
|
|
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 {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
2
|
-
import { c as init_merge_sync, d as isMergeTrainEnabledForProject } from "./merge-sync-
|
|
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-
|
|
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-
|
|
80
|
+
//# sourceMappingURL=merge-train-VxLn8Ms4.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { On as resolveProjectFromIssueSync, fn as init_projects } from "./config-yaml-
|
|
2
|
-
import {
|
|
3
|
-
import { i as getAllReviewStatusesFromDb, l as init_review_status_sync } from "./review-status-sync-
|
|
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-
|
|
75
|
+
//# sourceMappingURL=merge-train-deps-D0y4hBB9.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { On as resolveProjectFromIssueSync, fn as init_projects } from "./config-yaml-
|
|
2
|
-
import { n as resolveGitHubIssueSync, t as init_tracker_utils } from "./tracker-utils-
|
|
3
|
-
import { i as init_merge_set, r as getMergeSetSync } from "./merge-set-
|
|
4
|
-
import { f as init_github_app, p as isGitHubAppConfigured, v as listPullRequestsForHead } from "./github-app-
|
|
5
|
-
import { r as hasPositiveMergedEvidence, t as assessMergeCompleteness } from "./merge-completeness-
|
|
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-
|
|
234
|
+
//# sourceMappingURL=merge-verification-BfJRNMiD.js.map
|
package/server/{merged-docker-cleanup-worker-CwldDjHV.js → merged-docker-cleanup-worker-Bh5fKG_b.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as init_review_status_source, s as resolveCanonicalReviewStatus } from "./review-status-source-
|
|
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-
|
|
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-
|
|
103
|
+
//# sourceMappingURL=merged-docker-cleanup-worker-Bh5fKG_b.js.map
|
package/server/{merged-docker-cleanup-worker-C8eGn78a.js → merged-docker-cleanup-worker-Ci9oeFAe.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as reconcileMergedDockerCleanupQueue } from "./merged-docker-cleanup-worker-
|
|
1
|
+
import { n as reconcileMergedDockerCleanupQueue } from "./merged-docker-cleanup-worker-Bh5fKG_b.js";
|
|
2
2
|
export { reconcileMergedDockerCleanupQueue };
|
|
@@ -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-
|
|
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-
|
|
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-
|
|
84
|
+
//# sourceMappingURL=no-resume-mode-DjMQRkId.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@overdeck/desktop-server",
|
|
3
|
-
"version": "0.
|
|
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-
|
|
27
|
-
"resolved": "https://registry.npmjs.org/@effect/platform-node-shared/-/platform-node-shared-4.0.0-
|
|
28
|
-
"integrity": "sha512-
|
|
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.
|
|
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-
|
|
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.
|
|
363
|
-
"resolved": "https://registry.npmjs.org/@types/node/-/node-26.
|
|
364
|
-
"integrity": "sha512-
|
|
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.
|
|
400
|
-
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.
|
|
401
|
-
"integrity": "sha512-
|
|
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.
|
|
827
|
-
"resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.
|
|
828
|
-
"integrity": "sha512-
|
|
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.
|
|
949
|
-
"resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.3.
|
|
950
|
-
"integrity": "sha512-
|
|
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.
|
|
1326
|
-
"resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-2.0.
|
|
1327
|
-
"integrity": "sha512-
|
|
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.
|
|
1471
|
-
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.
|
|
1472
|
-
"integrity": "sha512-
|
|
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
|
-
#
|
|
1
|
+
# @effect/platform-node-shared
|
|
2
2
|
|
|
3
|
-
|
|
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
|
-
-
|
|
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.
|
|
31
|
-
"nodemailer": "^9.0.
|
|
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.
|