@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
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
+
import { r as init_factory, t as createTracker } from "./factory-CWVKwKFE.js";
|
|
3
|
+
import { n as resolveGitHubIssueSync, r as resolveTrackerTypeSync, t as init_tracker_utils } from "./tracker-utils-Dbg_pVZg.js";
|
|
4
|
+
import { Effect } from "effect";
|
|
5
|
+
//#region services/issue-title-fallback.ts
|
|
6
|
+
/**
|
|
7
|
+
* Fallback resolution for issues that have aged out of the tracker sync
|
|
8
|
+
* window.
|
|
9
|
+
*
|
|
10
|
+
* The resource tree surfaces any issue that still owns local resources
|
|
11
|
+
* (workspaces, agent sessions, records, planning artifacts) — including
|
|
12
|
+
* issues closed long ago, which the shared issue service no longer syncs.
|
|
13
|
+
* Without a tracker row, discovery falls back to the bare identifier as the
|
|
14
|
+
* row title, so the tree renders "MIN-852 — MIN-852" (PAN-3337). The issue
|
|
15
|
+
* view (drawer/cockpit) has the same hole: its header reads the read-model
|
|
16
|
+
* issue list, which drops closed issues older than `closedWindowDays`, so
|
|
17
|
+
* the header falls back to "Issue details" (PAN-3659).
|
|
18
|
+
*
|
|
19
|
+
* Resolve those issues per issue on demand through the tracker's own
|
|
20
|
+
* getIssue door. Successes are memoized for the process lifetime (rows of
|
|
21
|
+
* closed issues do not churn); failures are memoized briefly so a broken or
|
|
22
|
+
* unconfigured tracker cannot be hammered by the discovery refresh loop.
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* Build a tracker bound to the repo/project the issue belongs to.
|
|
26
|
+
* createTracker({ type }) alone is not enough for trackers whose config is
|
|
27
|
+
* per-repo: GitHub needs owner/repo (resolved from the issue prefix), and
|
|
28
|
+
* without them the factory throws — which silently broke this fallback for
|
|
29
|
+
* every GitHub-tracked issue (PAN-3659).
|
|
30
|
+
*/
|
|
31
|
+
function trackerForIssue(issueId) {
|
|
32
|
+
const trackerType = resolveTrackerTypeSync(issueId);
|
|
33
|
+
if (!trackerType) return null;
|
|
34
|
+
if (trackerType === "github") {
|
|
35
|
+
const resolution = resolveGitHubIssueSync(issueId);
|
|
36
|
+
if (!resolution.isGitHub) return null;
|
|
37
|
+
return createTracker({
|
|
38
|
+
type: "github",
|
|
39
|
+
owner: resolution.owner,
|
|
40
|
+
repo: resolution.repo
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
return createTracker({ type: trackerType });
|
|
44
|
+
}
|
|
45
|
+
async function lookupIssue(issueId) {
|
|
46
|
+
const tracker = trackerForIssue(issueId);
|
|
47
|
+
if (!tracker) return null;
|
|
48
|
+
return Effect.runPromise(tracker.getIssue(issueId).pipe(Effect.timeout(LOOKUP_TIMEOUT)));
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Resolve one issue through its tracker door, memoized: successes for the
|
|
52
|
+
* process lifetime, failures for FAILURE_RETRY_MS, concurrent callers share
|
|
53
|
+
* one in-flight request. Returns null when the issue cannot be resolved.
|
|
54
|
+
*/
|
|
55
|
+
async function resolveMissingIssue(issueId) {
|
|
56
|
+
const key = issueId.toUpperCase();
|
|
57
|
+
const memoized = resolvedIssues.get(key);
|
|
58
|
+
if (memoized) return memoized;
|
|
59
|
+
const failedAt = failedLookupsAt.get(key);
|
|
60
|
+
if (failedAt !== void 0 && Date.now() - failedAt < FAILURE_RETRY_MS) return null;
|
|
61
|
+
let pending = inFlight.get(key);
|
|
62
|
+
if (!pending) {
|
|
63
|
+
pending = lookupIssue(key).catch(() => null).finally(() => inFlight.delete(key));
|
|
64
|
+
inFlight.set(key, pending);
|
|
65
|
+
}
|
|
66
|
+
const issue = await pending;
|
|
67
|
+
if (issue) {
|
|
68
|
+
resolvedIssues.set(key, issue);
|
|
69
|
+
failedLookupsAt.delete(key);
|
|
70
|
+
return issue;
|
|
71
|
+
}
|
|
72
|
+
failedLookupsAt.set(key, Date.now());
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
function usableTitle(issue, issueId) {
|
|
76
|
+
const title = issue.title?.trim();
|
|
77
|
+
return title && title.toUpperCase() !== issueId.toUpperCase() ? title : null;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Resolve titles for issues the tracker snapshot missed. Returns only the
|
|
81
|
+
* identifiers that resolved to a real title (memoized or freshly fetched).
|
|
82
|
+
*/
|
|
83
|
+
async function resolveMissingIssueTitles(issueIds) {
|
|
84
|
+
const result = /* @__PURE__ */ new Map();
|
|
85
|
+
const toFetch = [];
|
|
86
|
+
const now = Date.now();
|
|
87
|
+
for (const raw of issueIds) {
|
|
88
|
+
const issueId = raw.toUpperCase();
|
|
89
|
+
const memoized = resolvedIssues.get(issueId);
|
|
90
|
+
if (memoized) {
|
|
91
|
+
const title = usableTitle(memoized, issueId);
|
|
92
|
+
if (title) result.set(issueId, title);
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
const failedAt = failedLookupsAt.get(issueId);
|
|
96
|
+
if (failedAt !== void 0 && now - failedAt < FAILURE_RETRY_MS) continue;
|
|
97
|
+
if (toFetch.length < MAX_LOOKUPS_PER_PASS) toFetch.push(issueId);
|
|
98
|
+
}
|
|
99
|
+
await Promise.all(toFetch.map(async (issueId) => {
|
|
100
|
+
const issue = await resolveMissingIssue(issueId);
|
|
101
|
+
const title = issue ? usableTitle(issue, issueId) : null;
|
|
102
|
+
if (title) result.set(issueId, title);
|
|
103
|
+
}));
|
|
104
|
+
return result;
|
|
105
|
+
}
|
|
106
|
+
var FAILURE_RETRY_MS, LOOKUP_TIMEOUT, MAX_LOOKUPS_PER_PASS, resolvedIssues, failedLookupsAt, inFlight;
|
|
107
|
+
var init_issue_title_fallback = __esmMin((() => {
|
|
108
|
+
init_tracker_utils();
|
|
109
|
+
init_factory();
|
|
110
|
+
FAILURE_RETRY_MS = 600 * 1e3;
|
|
111
|
+
LOOKUP_TIMEOUT = "10 seconds";
|
|
112
|
+
MAX_LOOKUPS_PER_PASS = 8;
|
|
113
|
+
resolvedIssues = /* @__PURE__ */ new Map();
|
|
114
|
+
failedLookupsAt = /* @__PURE__ */ new Map();
|
|
115
|
+
inFlight = /* @__PURE__ */ new Map();
|
|
116
|
+
}));
|
|
117
|
+
//#endregion
|
|
118
|
+
export { resolveMissingIssue as n, resolveMissingIssueTitles as r, init_issue_title_fallback as t };
|
|
119
|
+
|
|
120
|
+
//# sourceMappingURL=issue-title-fallback-B91iD66g.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { _ as integer, a as EventBus, c as Records, f as init_infra, h as text, m as sqliteTable, p as init_sqlite_core, r as Db, v as init_drizzle_orm, x as eq } from "./infra-
|
|
2
|
+
import { _ as integer, a as EventBus, c as Records, f as init_infra, h as text, m as sqliteTable, p as init_sqlite_core, r as Db, v as init_drizzle_orm, x as eq } from "./infra-CJRi_5Wu.js";
|
|
3
3
|
import { Context, Effect, Layer, Schema } from "effect";
|
|
4
4
|
import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
|
|
5
5
|
//#region ../../lib/overdeck/issues.ts
|
|
@@ -350,4 +350,4 @@ var init_issues = __esmMin((() => {
|
|
|
350
350
|
//#endregion
|
|
351
351
|
export { init_issues as n, IssueId as t };
|
|
352
352
|
|
|
353
|
-
//# sourceMappingURL=issues-
|
|
353
|
+
//# sourceMappingURL=issues-RGHQUKhB.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-
|
|
2
|
+
import { Ai as encodeClaudeProjectDir, li as init_errors, zi as init_paths } from "./config-yaml-D60AnTIu.js";
|
|
3
|
+
import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-DTuIRE4y.js";
|
|
4
4
|
import "effect";
|
|
5
5
|
import { existsSync, readFileSync, readdirSync, statSync } from "fs";
|
|
6
6
|
import { basename, join } from "path";
|
|
@@ -247,4 +247,4 @@ var init_jsonl_parser = __esmMin((() => {
|
|
|
247
247
|
//#endregion
|
|
248
248
|
export { init_jsonl_parser as a, getSessionFilesSync as i, getAllSessionFilesSync as n, normalizeModelName as o, getProjectDirsSync as r, parseClaudeSessionSync as s, getActiveSessionModelSync as t };
|
|
249
249
|
|
|
250
|
-
//# sourceMappingURL=jsonl-parser-
|
|
250
|
+
//# sourceMappingURL=jsonl-parser-Dfs1dlYE.js.map
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
+
import { Ai as encodeClaudeProjectDir, Ri as getOverdeckHome, zi as init_paths } from "./config-yaml-D60AnTIu.js";
|
|
3
|
+
import { s as getHarnessBehavior } from "./src-CdwN6WY6.js";
|
|
4
|
+
import { g as logAgentLifecycleSync, h as init_persistent_logger } from "./agents-DzpQidT8.js";
|
|
5
|
+
import { t as init_behavior } from "./behavior-DCg8CIWC.js";
|
|
6
|
+
import { Ct as getAgentWorkspace, U as getAgentRuntimeState, g as getAgentStateSync, q as init_agents, wt as init_agent_enrichment } from "./agent-state-FABw8neJ.js";
|
|
7
|
+
import { join } from "node:path";
|
|
8
|
+
import { Effect } from "effect";
|
|
9
|
+
import { homedir } from "node:os";
|
|
10
|
+
import { access, readFile, readdir, stat } from "node:fs/promises";
|
|
11
|
+
//#region routes/jsonl-resolver.ts
|
|
12
|
+
/**
|
|
13
|
+
* JSONL transcript resolver for the Command Deck (PAN-830).
|
|
14
|
+
*
|
|
15
|
+
* Maps an agent ID (e.g. `agent-pan-830`, `planning-pan-830`, or a canonical
|
|
16
|
+
* specialist tmux session name) to the agent's JSONL transcript file on disk.
|
|
17
|
+
*
|
|
18
|
+
* Codex agents (PAN-1805) write rollout JSONLs under the per-agent
|
|
19
|
+
* `codex-home/sessions/` tree — resolution dispatches on the harness recorded
|
|
20
|
+
* in state.json (thread-id fast path, then latest-rollout fallback).
|
|
21
|
+
*
|
|
22
|
+
* For claude-code agents the JSONL filename is the *Claude session ID* (a UUID
|
|
23
|
+
* written by Claude Code itself), NOT the agent/tmux name. Lookup order:
|
|
24
|
+
* 1. session.id — UUID pinned before fresh work-agent launch and updated
|
|
25
|
+
* by auto-suspend/resume flows
|
|
26
|
+
* 2. sessions.json — array of UUIDs the agent has used; the heartbeat hook
|
|
27
|
+
* APPENDS new IDs and dedupes, so once a session has been
|
|
28
|
+
* seen its array index never moves. After a `pan resume`
|
|
29
|
+
* brings an older session back as the live one, the array
|
|
30
|
+
* order no longer reflects time-recency. We disambiguate
|
|
31
|
+
* across all listed IDs by JSONL mtime.
|
|
32
|
+
* 3. runtime state — in-process mirror, populated by hooks
|
|
33
|
+
* 4. agents registry — the DB row's session_id recorded at spawn; survives
|
|
34
|
+
* janitor removal of the agent directory
|
|
35
|
+
*
|
|
36
|
+
* Async-only (fs/promises) because this code path runs inside the dashboard
|
|
37
|
+
* server's event loop.
|
|
38
|
+
*/
|
|
39
|
+
function logTranscriptResolution(agentId, signature, message, opts) {
|
|
40
|
+
const signatureKey = `${agentId}:${opts.agentsDirOverride ?? "live"}`;
|
|
41
|
+
if (transcriptResolutionSignatures.get(signatureKey) === signature) return;
|
|
42
|
+
transcriptResolutionSignatures.set(signatureKey, signature);
|
|
43
|
+
(opts.logDiagnostic ?? (opts.agentsDirOverride ? void 0 : logAgentLifecycleSync))?.(agentId, `transcript resolution: ${message}`);
|
|
44
|
+
}
|
|
45
|
+
async function pathExists(p) {
|
|
46
|
+
return access(p).then(() => true, () => false);
|
|
47
|
+
}
|
|
48
|
+
async function readOptional(p) {
|
|
49
|
+
return readFile(p, "utf-8").catch(() => null);
|
|
50
|
+
}
|
|
51
|
+
function behaviorForHarness(harness) {
|
|
52
|
+
return getHarnessBehavior(harness);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Pick the candidate UUID whose JSONL transcript has the most recent mtime.
|
|
56
|
+
*
|
|
57
|
+
* The heartbeat hook appends to sessions.json and dedupes — so once an ID is
|
|
58
|
+
* recorded, its array index never moves even if a later resume makes it the
|
|
59
|
+
* current session again. Choosing by JSONL mtime is the only reliable signal
|
|
60
|
+
* for "which session is actually live right now."
|
|
61
|
+
*
|
|
62
|
+
* Returns null if no candidate has a corresponding JSONL on disk. Falls back
|
|
63
|
+
* to scanning every project dir if the workspace path can't be resolved
|
|
64
|
+
* (covers specialist sessions whose workspace lives elsewhere).
|
|
65
|
+
*/
|
|
66
|
+
async function pickFreshestSessionId(candidates, agentId, opts) {
|
|
67
|
+
if (candidates.length === 0) return null;
|
|
68
|
+
if (candidates.length === 1) return candidates[0];
|
|
69
|
+
const projectsRoot = opts.claudeProjectsDirOverride ?? join(homedir(), ".claude", "projects");
|
|
70
|
+
let candidatePaths = [];
|
|
71
|
+
try {
|
|
72
|
+
const workspace = await Effect.runPromise(getAgentWorkspace(agentId));
|
|
73
|
+
if (workspace) {
|
|
74
|
+
const projectDir = join(projectsRoot, encodeClaudeProjectDir(workspace));
|
|
75
|
+
candidatePaths = candidates.map((id) => ({
|
|
76
|
+
id,
|
|
77
|
+
path: join(projectDir, `${id}.jsonl`)
|
|
78
|
+
}));
|
|
79
|
+
}
|
|
80
|
+
} catch {}
|
|
81
|
+
if (candidatePaths.length === 0) try {
|
|
82
|
+
const dirs = await readdir(projectsRoot);
|
|
83
|
+
const SAFE_DIR = /^[a-zA-Z0-9_.-]+$/;
|
|
84
|
+
for (const id of candidates) for (const dir of dirs) {
|
|
85
|
+
if (!SAFE_DIR.test(dir)) continue;
|
|
86
|
+
candidatePaths.push({
|
|
87
|
+
id,
|
|
88
|
+
path: join(projectsRoot, dir, `${id}.jsonl`)
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
} catch {}
|
|
92
|
+
let best = null;
|
|
93
|
+
for (const { id, path } of candidatePaths) try {
|
|
94
|
+
const s = await stat(path);
|
|
95
|
+
if (!best || s.mtimeMs > best.mtimeMs) best = {
|
|
96
|
+
id,
|
|
97
|
+
mtimeMs: s.mtimeMs
|
|
98
|
+
};
|
|
99
|
+
} catch {}
|
|
100
|
+
return best ? best.id : candidates[candidates.length - 1] ?? null;
|
|
101
|
+
}
|
|
102
|
+
/** Async equivalent of getLatestSessionId from lib/agents.ts. */
|
|
103
|
+
async function resolveClaudeSessionId(agentId, opts = {}) {
|
|
104
|
+
const agentDir = join(opts.agentsDirOverride ?? join(getOverdeckHome(), "agents"), agentId);
|
|
105
|
+
const sessionIdTrimmed = (await readOptional(join(agentDir, "session.id")))?.trim();
|
|
106
|
+
if (sessionIdTrimmed) return sessionIdTrimmed;
|
|
107
|
+
const sessionsRaw = await readOptional(join(agentDir, "sessions.json"));
|
|
108
|
+
if (sessionsRaw) try {
|
|
109
|
+
const parsed = JSON.parse(sessionsRaw);
|
|
110
|
+
if (Array.isArray(parsed)) {
|
|
111
|
+
const fresh = await pickFreshestSessionId(parsed.filter((v) => typeof v === "string" && v.trim().length > 0), agentId, opts);
|
|
112
|
+
if (fresh) return fresh;
|
|
113
|
+
}
|
|
114
|
+
} catch {}
|
|
115
|
+
try {
|
|
116
|
+
const runtimeState = await (opts.getRuntimeStateAsync ?? ((id) => Effect.runPromise(getAgentRuntimeState(id))))(agentId);
|
|
117
|
+
if (runtimeState?.claudeSessionId) return runtimeState.claudeSessionId;
|
|
118
|
+
} catch {}
|
|
119
|
+
if (!opts.agentsDirOverride) {
|
|
120
|
+
const registrySessionId = getAgentStateSync(agentId)?.sessionId?.trim();
|
|
121
|
+
if (registrySessionId) return registrySessionId;
|
|
122
|
+
}
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
async function readLauncherPinnedSessionId(tmuxSession, opts = {}) {
|
|
126
|
+
const home = opts.overdeckHomeOverride ?? getOverdeckHome();
|
|
127
|
+
const candidates = [join(home, "conversations", tmuxSession, "launcher.sh"), join(home, "agents", tmuxSession, "launcher.sh")];
|
|
128
|
+
for (const path of candidates) {
|
|
129
|
+
const text = await readOptional(path);
|
|
130
|
+
if (!text) continue;
|
|
131
|
+
const match = LAUNCHER_SESSION_ID_RE.exec(text) ?? LAUNCHER_RESUME_RE.exec(text);
|
|
132
|
+
if (match) return match[1];
|
|
133
|
+
}
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Read the harness + workspace recorded for an agent, honoring the test
|
|
138
|
+
* override dir. Used by resolveAgentHarness / agentHasClaudeTranscript so the
|
|
139
|
+
* stale-harness self-correction runs identically in prod and under test.
|
|
140
|
+
*/
|
|
141
|
+
async function readRecordedState(agentId, opts) {
|
|
142
|
+
if (opts.agentsDirOverride) try {
|
|
143
|
+
const raw = await readFile(join(opts.agentsDirOverride, agentId, "state.json"), "utf8");
|
|
144
|
+
const s = JSON.parse(raw);
|
|
145
|
+
return {
|
|
146
|
+
harness: typeof s.harness === "string" ? s.harness : null,
|
|
147
|
+
workspace: typeof s.workspace === "string" ? s.workspace : void 0
|
|
148
|
+
};
|
|
149
|
+
} catch {
|
|
150
|
+
return { harness: null };
|
|
151
|
+
}
|
|
152
|
+
const st = getAgentStateSync(agentId);
|
|
153
|
+
return {
|
|
154
|
+
harness: st?.harness ?? null,
|
|
155
|
+
workspace: st?.workspace
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Resolve the harness for transcript routing. Reads state.json, then
|
|
160
|
+
* self-corrects when the recorded value is stale.
|
|
161
|
+
*
|
|
162
|
+
* Trust an explicit non-default harness (codex / pi / ohmypi / acp) — it was chosen
|
|
163
|
+
* by resolveHarness at spawn time and is not the generic fallback. The
|
|
164
|
+
* 'claude-code' default, however, goes stale in one observed case: a
|
|
165
|
+
* wipe-and-respawn that changed the provider-default harness left state.json
|
|
166
|
+
* carrying the pre-respawn 'claude-code' while the fresh launch was
|
|
167
|
+
* codex/ohmypi. The resolver then took the claude-code branch, found no
|
|
168
|
+
* claudeSessionId, and the dashboard showed "No conversation data available"
|
|
169
|
+
* for a live agent whose real transcript sat untouched under codex-home.
|
|
170
|
+
*
|
|
171
|
+
* Self-correction (claude-code/null recorded only): if the agent has NO
|
|
172
|
+
* claude-code transcript on disk but DOES have a codex rollout / pi session,
|
|
173
|
+
* the on-disk runtime wins — those artifacts are written only by that runtime,
|
|
174
|
+
* so this cannot surface a wrong transcript. When a claude-code transcript IS
|
|
175
|
+
* present it always wins, so a past codex run's codex-home can't shadow a
|
|
176
|
+
* current claude-code session.
|
|
177
|
+
*/
|
|
178
|
+
async function resolveAgentHarness(agentId, opts = {}) {
|
|
179
|
+
const recorded = (await readRecordedState(agentId, opts)).harness;
|
|
180
|
+
if (recorded === "codex" || recorded === "pi" || recorded === "ohmypi" || recorded === "acp" || recorded === "kimi-code") return recorded;
|
|
181
|
+
if (await agentHasClaudeTranscript(agentId, opts)) return recorded ?? "claude-code";
|
|
182
|
+
if (await resolveAcpTranscriptPath(agentId, opts)) return "acp";
|
|
183
|
+
if (await resolveCodexRolloutPath(agentId, opts)) return "codex";
|
|
184
|
+
if (await resolvePiSessionPath(agentId, opts)) return "ohmypi";
|
|
185
|
+
if (await resolveKimiWirePath(agentId, opts)) return "kimi-code";
|
|
186
|
+
return recorded;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Whether the agent has a resolvable claude-code transcript on disk. Used by
|
|
190
|
+
* resolveAgentHarness to decide if a claude-code recording is still live
|
|
191
|
+
* (vs. a stale default that should be corrected to codex/ohmypi).
|
|
192
|
+
*/
|
|
193
|
+
async function agentHasClaudeTranscript(agentId, opts = {}) {
|
|
194
|
+
const sessionId = await resolveClaudeSessionId(agentId, opts);
|
|
195
|
+
if (!sessionId) return false;
|
|
196
|
+
const workspace = (await readRecordedState(agentId, opts)).workspace;
|
|
197
|
+
if (!workspace) return false;
|
|
198
|
+
return pathExists(join(opts.claudeProjectsDirOverride ?? join(homedir(), ".claude", "projects"), encodeClaudeProjectDir(workspace), `${sessionId}.jsonl`));
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Resolve the Codex rollout JSONL for a codex-harness agent (PAN-1805).
|
|
202
|
+
*
|
|
203
|
+
* Fast path: the persisted codex-thread-id maps directly to its rollout file.
|
|
204
|
+
* Lazy fallback (same shape as the conversation panel's PAN-1690 fix): codex
|
|
205
|
+
* writes the rollout only on the first turn, so a spawn-time thread-id capture
|
|
206
|
+
* can miss it — the per-agent CODEX_HOME holds only this agent's rollouts, so
|
|
207
|
+
* the newest one is its current thread.
|
|
208
|
+
*/
|
|
209
|
+
async function resolveCodexRolloutPath(agentId, opts = {}) {
|
|
210
|
+
const agentDir = join(opts.agentsDirOverride ?? join(getOverdeckHome(), "agents"), agentId);
|
|
211
|
+
const codexHome = join(agentDir, "codex-home");
|
|
212
|
+
if (!await pathExists(codexHome)) return null;
|
|
213
|
+
const { findRolloutPath, findLatestRollout } = await import("./codex-BValsmtK.js");
|
|
214
|
+
const threadId = (await readOptional(join(agentDir, "codex-thread-id")))?.trim();
|
|
215
|
+
if (threadId) {
|
|
216
|
+
const rollout = findRolloutPath(codexHome, threadId);
|
|
217
|
+
if (rollout) return rollout;
|
|
218
|
+
}
|
|
219
|
+
return findLatestRollout(codexHome);
|
|
220
|
+
}
|
|
221
|
+
/** Resolve the normalized transcript written by the persistent ACP host. */
|
|
222
|
+
async function resolveAcpTranscriptPath(agentId, opts = {}) {
|
|
223
|
+
const transcriptPath = join(opts.agentsDirOverride ?? join(getOverdeckHome(), "agents"), agentId, "acp-session.jsonl");
|
|
224
|
+
return await pathExists(transcriptPath) ? transcriptPath : null;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Resolve the native Kimi Code CLI wire.jsonl for a kimi-code-harness agent
|
|
228
|
+
* (PAN-1837 wi8a). Fast path: the per-agent kimi-session-id (persisted by
|
|
229
|
+
* wi5's spawnAgent) maps directly to
|
|
230
|
+
* `<kimiHome>/sessions/<workDirKey>/<sessionId>/agents/main/wire.jsonl`.
|
|
231
|
+
* Fallback (no captured id): the newest session directory by wire.jsonl mtime
|
|
232
|
+
* under the workspace's workDirKey bucket — same shape as the codex/pi lazy
|
|
233
|
+
* fallbacks above, since Kimi may not have finished writing its first turn
|
|
234
|
+
* when the id was captured.
|
|
235
|
+
*/
|
|
236
|
+
async function resolveKimiWirePath(agentId, opts = {}) {
|
|
237
|
+
const workspace = opts.workspaceOverride ?? (await readRecordedState(agentId, opts)).workspace;
|
|
238
|
+
if (!workspace) return null;
|
|
239
|
+
const sessionId = (await readOptional(join(opts.agentsDirOverride ?? join(getOverdeckHome(), "agents"), agentId, "kimi-session-id")))?.trim() || null;
|
|
240
|
+
const kimiHome = opts.kimiHomeOverride ?? join(homedir(), ".kimi-code");
|
|
241
|
+
const { findKimiWirePathAsync } = await import("./kimi-code-BxkDgaj4.js");
|
|
242
|
+
return findKimiWirePathAsync(kimiHome, workspace, sessionId);
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Resolve the pi/kimi session JSONL (PAN-1908). Pi writes its session transcript
|
|
246
|
+
* as `<iso-ts>_<session-id>.jsonl` either in the agent dir's `sessions/` subdir
|
|
247
|
+
* (conversations) OR in the agent dir root (work agents) — so check both. The dir
|
|
248
|
+
* also holds `cost-events.jsonl` / `activity.jsonl`, which are NOT transcripts.
|
|
249
|
+
* Return the freshest transcript by mtime, or null if pi hasn't written one yet.
|
|
250
|
+
*/
|
|
251
|
+
async function resolvePiSessionPath(agentId, opts = {}) {
|
|
252
|
+
const agentDir = join(opts.agentsDirOverride ?? join(getOverdeckHome(), "agents"), agentId);
|
|
253
|
+
const NON_TRANSCRIPT = new Set([
|
|
254
|
+
"acp-session.jsonl",
|
|
255
|
+
"cost-events.jsonl",
|
|
256
|
+
"activity.jsonl",
|
|
257
|
+
"pending-events.jsonl"
|
|
258
|
+
]);
|
|
259
|
+
let best = null;
|
|
260
|
+
for (const dir of [join(agentDir, "sessions"), agentDir]) {
|
|
261
|
+
let entries;
|
|
262
|
+
try {
|
|
263
|
+
entries = await readdir(dir);
|
|
264
|
+
} catch {
|
|
265
|
+
continue;
|
|
266
|
+
}
|
|
267
|
+
for (const name of entries) {
|
|
268
|
+
if (!name.endsWith(".jsonl") || NON_TRANSCRIPT.has(name)) continue;
|
|
269
|
+
const p = join(dir, name);
|
|
270
|
+
try {
|
|
271
|
+
const m = (await stat(p)).mtimeMs;
|
|
272
|
+
if (!best || m > best.mtime) best = {
|
|
273
|
+
path: p,
|
|
274
|
+
mtime: m
|
|
275
|
+
};
|
|
276
|
+
} catch {}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
return best?.path ?? null;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Resolve the JSONL transcript for an agent.
|
|
283
|
+
*
|
|
284
|
+
* Codex agents resolve to their rollout JSONL (PAN-1805). For claude-code
|
|
285
|
+
* agents, returns the absolute path if both the claudeSessionId is known AND
|
|
286
|
+
* the corresponding JSONL file exists; otherwise null.
|
|
287
|
+
*/
|
|
288
|
+
async function resolveJsonlPath(agentId, workspacePath, opts = {}) {
|
|
289
|
+
const harness = await resolveAgentHarness(agentId, opts);
|
|
290
|
+
const behavior = behaviorForHarness(harness);
|
|
291
|
+
if (behavior.transcriptKind === "codex-rollout-jsonl") return resolveCodexRolloutPath(agentId, opts);
|
|
292
|
+
if (behavior.transcriptKind === "ohmypi-jsonl") return resolvePiSessionPath(agentId, opts);
|
|
293
|
+
if (behavior.transcriptKind === "acp-jsonl") return resolveAcpTranscriptPath(agentId, opts);
|
|
294
|
+
if (behavior.transcriptKind === "kimi-wire-jsonl") return resolveKimiWirePath(agentId, opts);
|
|
295
|
+
const claudeSessionId = await resolveClaudeSessionId(agentId, opts);
|
|
296
|
+
if (!claudeSessionId) {
|
|
297
|
+
logTranscriptResolution(agentId, `missing-session-id:${harness ?? "unknown"}`, `failed harness=${harness ?? "unknown"} reason=no-session-id checked=session.id,sessions.json,runtime-state`, opts);
|
|
298
|
+
return null;
|
|
299
|
+
}
|
|
300
|
+
const effectiveWorkspacePath = (await readRecordedState(agentId, opts)).workspace ?? workspacePath;
|
|
301
|
+
const jsonlPath = join(opts.claudeProjectsDirOverride ?? join(homedir(), ".claude", "projects"), encodeClaudeProjectDir(effectiveWorkspacePath), `${claudeSessionId}.jsonl`);
|
|
302
|
+
if (await pathExists(jsonlPath)) {
|
|
303
|
+
logTranscriptResolution(agentId, `resolved:${jsonlPath}`, `resolved harness=${harness ?? "claude-code"} sessionId=${claudeSessionId} path=${jsonlPath}`, opts);
|
|
304
|
+
return jsonlPath;
|
|
305
|
+
}
|
|
306
|
+
logTranscriptResolution(agentId, `missing-jsonl:${jsonlPath}`, `failed harness=${harness ?? "claude-code"} reason=jsonl-missing sessionId=${claudeSessionId} workspace=${effectiveWorkspacePath} expectedPath=${jsonlPath}`, opts);
|
|
307
|
+
return null;
|
|
308
|
+
}
|
|
309
|
+
var transcriptResolutionSignatures, LAUNCHER_UUID, LAUNCHER_SESSION_ID_RE, LAUNCHER_RESUME_RE;
|
|
310
|
+
var init_jsonl_resolver = __esmMin((() => {
|
|
311
|
+
init_agents();
|
|
312
|
+
init_paths();
|
|
313
|
+
init_agent_enrichment();
|
|
314
|
+
init_behavior();
|
|
315
|
+
init_persistent_logger();
|
|
316
|
+
transcriptResolutionSignatures = /* @__PURE__ */ new Map();
|
|
317
|
+
LAUNCHER_UUID = "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}";
|
|
318
|
+
LAUNCHER_SESSION_ID_RE = new RegExp(`--session-id\\s+'?(${LAUNCHER_UUID})'?`);
|
|
319
|
+
LAUNCHER_RESUME_RE = new RegExp(`--resume\\s+'?(${LAUNCHER_UUID})'?`);
|
|
320
|
+
}));
|
|
321
|
+
//#endregion
|
|
322
|
+
export { resolveClaudeSessionId as a, resolveKimiWirePath as c, resolveAgentHarness as i, resolvePiSessionPath as l, readLauncherPinnedSessionId as n, resolveCodexRolloutPath as o, resolveAcpTranscriptPath as r, resolveJsonlPath as s, init_jsonl_resolver as t };
|
|
323
|
+
|
|
324
|
+
//# sourceMappingURL=jsonl-resolver-bFtftCDd.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { d as kimiSessionsRoot, g as writeKimiSessionId, h as withKimiSessionCaptureLock, l as init_kimi_code, m as waitForNewKimiSessionAsync, o as findKimiWirePathAsync } from "./kimi-code-
|
|
1
|
+
import { d as kimiSessionsRoot, g as writeKimiSessionId, h as withKimiSessionCaptureLock, l as init_kimi_code, m as waitForNewKimiSessionAsync, o as findKimiWirePathAsync } from "./kimi-code-CNYRA8Dd.js";
|
|
2
2
|
init_kimi_code();
|
|
3
3
|
export { findKimiWirePathAsync, kimiSessionsRoot, waitForNewKimiSessionAsync, withKimiSessionCaptureLock, writeKimiSessionId };
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import { n as init_fs_lock, r as isPidDead } from "./fs-lock-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { t as init_behavior } from "./behavior-
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
2
|
+
import { Ri as getOverdeckHome, zi as init_paths } from "./config-yaml-D60AnTIu.js";
|
|
3
|
+
import { n as init_fs_lock, r as isPidDead } from "./fs-lock-DQ_gUxfq.js";
|
|
4
|
+
import { C as init_tmux, v as getManagedTmuxSocketName } from "./tmux-wnT_hg-s.js";
|
|
5
|
+
import { c as getRuntimeBehavior } from "./src-CdwN6WY6.js";
|
|
6
|
+
import { t as init_behavior } from "./behavior-DCg8CIWC.js";
|
|
7
|
+
import { A as saveAgentStateSync, Di as writePtyToken, Ei as init_pty_token, Oi as init_pty_supervisor_locate, _ as init_agent_state, _n as listAgentStates, ar as deliverAgentMessage, g as getAgentStateSync, gn as init_queries, ki as resolvePtySupervisorScriptPath, lr as init_delivery } from "./agent-state-FABw8neJ.js";
|
|
8
|
+
import { C as generateLauncherScriptSync, w as init_launcher_generator } from "./auto-spawn-consent-BesWchEi.js";
|
|
9
|
+
import { _ as tmuxKillSession, g as tmuxCreateSession, h as init_tmux_cli, v as tmuxSessionExists } from "./codex-DYyZL8JD.js";
|
|
10
|
+
import { i as prepareHarnessLaunch, r as init_harness_binary } from "./harness-binary-DChiynaB.js";
|
|
11
|
+
import { n as parseKimiSessionSync, t as init_kimi_parser } from "./kimi-parser-OcWwmOqF.js";
|
|
11
12
|
import { basename, dirname, join } from "node:path";
|
|
12
13
|
import { homedir } from "node:os";
|
|
13
14
|
import { existsSync, mkdirSync, readFileSync, readdirSync, statSync, writeFileSync } from "node:fs";
|
|
@@ -337,6 +338,7 @@ function createKimiCodeRuntimeSync(options = {}) {
|
|
|
337
338
|
}
|
|
338
339
|
var execAsync, SPAWN_READY_TIMEOUT_MS, POLL_INTERVAL_MS, KimiCodeSpawnTimeout, KIMI_CAPTURE_LOCK_POLL_MS, KIMI_CAPTURE_LOCK_MAX_WAIT_MS, KIMI_CAPTURE_LOCK_STALE_AGE_MS, KimiCaptureLockTimeoutError, KimiCodeRuntimeSync;
|
|
339
340
|
var init_kimi_code = __esmMin((() => {
|
|
341
|
+
init_tmux();
|
|
340
342
|
init_agent_state();
|
|
341
343
|
init_queries();
|
|
342
344
|
init_delivery();
|
|
@@ -440,12 +442,12 @@ var init_kimi_code = __esmMin((() => {
|
|
|
440
442
|
}
|
|
441
443
|
async killAgent(agentId) {
|
|
442
444
|
try {
|
|
443
|
-
await this.execCommand(`tmux -L
|
|
445
|
+
await this.execCommand(`tmux -L ${shellQuote(getManagedTmuxSocketName())} send-keys -t ${shellQuote(agentId)} C-c 2>/dev/null || true`);
|
|
444
446
|
} catch {}
|
|
445
447
|
if (await pollUntilSessionGone(agentId, 2e3)) return;
|
|
446
448
|
let panePid = null;
|
|
447
449
|
try {
|
|
448
|
-
const { stdout } = await this.execCommand(`tmux -L
|
|
450
|
+
const { stdout } = await this.execCommand(`tmux -L ${shellQuote(getManagedTmuxSocketName())} list-panes -t ${shellQuote(agentId)} -F '#{pane_pid}' 2>/dev/null`);
|
|
449
451
|
panePid = stdout.trim() || null;
|
|
450
452
|
if (panePid) await this.execCommand(`kill -TERM -- -${panePid} 2>/dev/null || kill -TERM ${panePid} 2>/dev/null || true`);
|
|
451
453
|
} catch {}
|
|
@@ -576,4 +578,4 @@ var init_kimi_code = __esmMin((() => {
|
|
|
576
578
|
//#endregion
|
|
577
579
|
export { findKimiWirePath as a, findLatestKimiSessionAsync as c, kimiSessionsRoot as d, kimiWorkDirKey as f, writeKimiSessionId as g, withKimiSessionCaptureLock as h, createKimiCodeRuntimeSync as i, init_kimi_code as l, waitForNewKimiSessionAsync as m, KimiCodeRuntimeSync as n, findKimiWirePathAsync as o, waitForNewKimiSession as p, KimiCodeSpawnTimeout as r, findLatestKimiSession as s, KimiCaptureLockTimeoutError as t, kimiCaptureLockPath as u };
|
|
578
580
|
|
|
579
|
-
//# sourceMappingURL=kimi-code-
|
|
581
|
+
//# sourceMappingURL=kimi-code-CNYRA8Dd.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { o as getPricingSync, s as init_cost } from "./cost-
|
|
2
|
+
import { o as getPricingSync, s as init_cost } from "./cost-DTuIRE4y.js";
|
|
3
3
|
import { basename, dirname } from "node:path";
|
|
4
4
|
import { existsSync, readFileSync } from "node:fs";
|
|
5
5
|
//#region ../../lib/cost-parsers/kimi-parser.ts
|
|
@@ -144,4 +144,4 @@ var init_kimi_parser = __esmMin((() => {
|
|
|
144
144
|
//#endregion
|
|
145
145
|
export { parseKimiSessionSync as n, summarizeKimiEntries as r, init_kimi_parser as t };
|
|
146
146
|
|
|
147
|
-
//# sourceMappingURL=kimi-parser-
|
|
147
|
+
//# sourceMappingURL=kimi-parser-OcWwmOqF.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Gn as
|
|
2
|
-
import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed, t as getLinearApiKey } from "./types-
|
|
1
|
+
import { Gn as extractNumberSync, Kn as extractPrefixSync, qn as init_issue_id } from "./config-yaml-D60AnTIu.js";
|
|
2
|
+
import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed, t as getLinearApiKey } from "./types-PW4zkxCM.js";
|
|
3
3
|
import { Effect } from "effect";
|
|
4
4
|
import { exec } from "child_process";
|
|
5
5
|
import { promisify } from "util";
|
|
@@ -102,4 +102,4 @@ async function cleanupLabelsLinear(ctx, apiKey) {
|
|
|
102
102
|
//#endregion
|
|
103
103
|
export { cleanupMergedLabels };
|
|
104
104
|
|
|
105
|
-
//# sourceMappingURL=label-cleanup-
|
|
105
|
+
//# sourceMappingURL=label-cleanup-CefxK9tL.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { t as closeIssue } from "./close-issue-
|
|
4
|
-
import { t as teardownWorkspace } from "./teardown-workspace-
|
|
5
|
-
import { a as deepWipe, i as closeOut, n as cancelIssueWorkflow, o as resetToTodo, r as close, t as approve } from "./workflows-
|
|
1
|
+
import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed } from "./types-PW4zkxCM.js";
|
|
2
|
+
import { t as archivePlanning } from "./archive-planning-BL1ABtW0.js";
|
|
3
|
+
import { t as closeIssue } from "./close-issue-CpQ0BWg-.js";
|
|
4
|
+
import { t as teardownWorkspace } from "./teardown-workspace-DMwomEG1.js";
|
|
5
|
+
import { a as deepWipe, i as closeOut, n as cancelIssueWorkflow, o as resetToTodo, r as close, t as approve } from "./workflows-C7mxM1qc.js";
|
|
6
6
|
//#region ../../lib/lifecycle/index.ts
|
|
7
7
|
init_types();
|
|
8
8
|
//#endregion
|
|
9
9
|
export { approve, archivePlanning, cancelIssueWorkflow, close, closeIssue, closeOut, deepWipe, resetToTodo, stepFailed, stepOk, stepSkipped, teardownWorkspace };
|
|
10
10
|
|
|
11
|
-
//# sourceMappingURL=lifecycle-
|
|
11
|
+
//# sourceMappingURL=lifecycle-DDZ7w-BY.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { li as init_errors } from "./config-yaml-D60AnTIu.js";
|
|
3
3
|
import "effect";
|
|
4
4
|
import { mkdirSync } from "fs";
|
|
5
5
|
import { join } from "path";
|
|
@@ -118,4 +118,4 @@ var init_lifecycle = __esmMin((() => {
|
|
|
118
118
|
//#endregion
|
|
119
119
|
export { generateXBriefFilename as a, parseXBriefFilename as c, ensureXBriefDirsSync as i, resolveXBriefDir as l, LEGACY_VBRIEF_LIFECYCLE_DIRS as n, init_lifecycle as o, XBRIEF_FILENAME_SUFFIX as r, isXBriefFilename as s, LEGACY_VBRIEF_FILENAME_SUFFIX as t, slugify as u };
|
|
120
120
|
|
|
121
|
-
//# sourceMappingURL=lifecycle-
|
|
121
|
+
//# sourceMappingURL=lifecycle-DVXyUil2.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { Dt as queueAutoCommit, I as appendSessionEntrySync, P as appendFeedbackEntrySync, Tt as init_auto_commit, V as clearRecordFeedbackSync, Y as init_record,
|
|
3
|
-
import { a as generateXBriefFilename, c as parseXBriefFilename, i as ensureXBriefDirsSync, l as resolveXBriefDir, n as LEGACY_VBRIEF_LIFECYCLE_DIRS, o as init_lifecycle, u as slugify } from "./lifecycle-
|
|
4
|
-
import { A as init_xbrief_index, C as init_specs, N as getProjectPanPaths, _ as serializeXBriefDocument, f as readPlanSync, j as invalidateXBriefIndex, s as init_io, u as normalizeXBriefEnvelope } from "./io-
|
|
5
|
-
import { t as init_pan_dir } from "./pan-dir-
|
|
2
|
+
import { Dt as queueAutoCommit, I as appendSessionEntrySync, P as appendFeedbackEntrySync, Qr as FsError, Tt as init_auto_commit, V as clearRecordFeedbackSync, Y as init_record, li as init_errors, nt as readRecordContinueViewSync, wt as flushAutoCommits } from "./config-yaml-D60AnTIu.js";
|
|
3
|
+
import { a as generateXBriefFilename, c as parseXBriefFilename, i as ensureXBriefDirsSync, l as resolveXBriefDir, n as LEGACY_VBRIEF_LIFECYCLE_DIRS, o as init_lifecycle, u as slugify } from "./lifecycle-DVXyUil2.js";
|
|
4
|
+
import { A as init_xbrief_index, C as init_specs, N as getProjectPanPaths, _ as serializeXBriefDocument, f as readPlanSync, j as invalidateXBriefIndex, s as init_io, u as normalizeXBriefEnvelope } from "./io-BCtZoXHo.js";
|
|
5
|
+
import { t as init_pan_dir } from "./pan-dir-B4NfzOf3.js";
|
|
6
6
|
import { Effect } from "effect";
|
|
7
7
|
import { existsSync, mkdirSync, readFileSync, readdirSync, renameSync, unlinkSync, writeFileSync } from "fs";
|
|
8
8
|
import { basename, join } from "path";
|
|
@@ -264,4 +264,4 @@ var init_lifecycle_io = __esmMin((() => {
|
|
|
264
264
|
//#endregion
|
|
265
265
|
export { init_lifecycle_io as a, updatePlanStatus as c, findXBriefByIssueSync as i, appendFeedbackEntryForIssue as n, readContinueStateForIssue as o, clearFeedbackForIssue as r, transitionXBriefOnMain as s, appendContinueSessionEntryForIssue as t };
|
|
266
266
|
|
|
267
|
-
//# sourceMappingURL=lifecycle-io-
|
|
267
|
+
//# sourceMappingURL=lifecycle-io-D7N0vQNj.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as init_tracker_config, n as getLinearApiKey } from "./tracker-config-
|
|
2
|
-
import { a as RateLimited, c as TrackerNotConfigured, r as IssueNotFound, s as TrackerApiError } from "./typed-errors-
|
|
1
|
+
import { a as init_tracker_config, n as getLinearApiKey } from "./tracker-config-tfAOWgng.js";
|
|
2
|
+
import { a as RateLimited, c as TrackerNotConfigured, r as IssueNotFound, s as TrackerApiError } from "./typed-errors-DXqf3RnP.js";
|
|
3
3
|
import { Context, Duration, Effect, Layer, Schedule } from "effect";
|
|
4
4
|
import { LinearClient } from "@linear/sdk";
|
|
5
5
|
//#region services/linear-client.ts
|
|
@@ -195,4 +195,4 @@ const LinearClientOptionalLive = Layer.effect(LinearClient$1, Effect.succeed({
|
|
|
195
195
|
//#endregion
|
|
196
196
|
export { LinearClientLive as n, LinearClientOptionalLive as r, LinearClient$1 as t };
|
|
197
197
|
|
|
198
|
-
//# sourceMappingURL=linear-client-
|
|
198
|
+
//# sourceMappingURL=linear-client-DUN7zCeb.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as LinearClientLive, r as LinearClientOptionalLive, t as LinearClient } from "./linear-client-
|
|
1
|
+
import { n as LinearClientLive, r as LinearClientOptionalLive, t as LinearClient } from "./linear-client-DUN7zCeb.js";
|
|
2
2
|
export { LinearClient, LinearClientLive, LinearClientOptionalLive };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { l as processLinearMcpAuthWake } from "./linear-mcp-auth-
|
|
1
|
+
import { l as processLinearMcpAuthWake } from "./linear-mcp-auth-bB0CPyjh.js";
|
|
2
2
|
export { processLinearMcpAuthWake };
|