@overdeck/desktop 0.49.1 → 0.49.2
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/package.json +1 -1
- package/server/{acceptance-criteria-Crw-xSJ3.js → acceptance-criteria-CHtDkHEL.js} +2 -2
- package/server/{active-dashboard-bundle-CLwfD-Om.js → active-dashboard-bundle-Byh6sP-q.js} +2 -2
- package/server/{activity-logger-BAVLrkR7.js → activity-logger-BWZhVphb.js} +22 -4
- package/server/activity-logger-Ck8qoluj.js +3 -0
- package/server/{advancing-selfheal-BQiJ7mIH.js → advancing-selfheal-65W4yUQi.js} +6 -6
- package/server/{agent-gc-5E0lgxI1.js → agent-gc-BNUudFnt.js} +10 -10
- package/server/agent-idle-ONBssBN_.js +745 -0
- package/server/{agent-state-Bb3UUxQm.js → agent-state-BJhGIJZe.js} +421 -135
- package/server/agent-state-CM8iVw5B.js +3 -0
- package/server/{agent-state-service-BFbttwRA.js → agent-state-service-CiIuwzIs.js} +5 -5
- package/server/{agent-state-service-keg-x1bT.js → agent-state-service-CzHfoqKQ.js} +1 -1
- package/server/agents-DpCuoF65.js +3 -0
- package/server/{agents-CqQJW75N.js → agents-jXgqpHca.js} +8 -8
- package/server/archive-planning-BW4MKNI7.js +2 -0
- package/server/{archive-planning-BwEhu9Oq.js → archive-planning-CGkU6UeL.js} +20 -135
- package/server/{artifact-index-jobs-C6Lg2rKm.js → artifact-index-jobs-Ck4NRRkY.js} +3 -3
- package/server/{assemble-DyTp2gSB.js → assemble-CyvEBmmq.js} +28 -9
- package/server/{auto-spawn-consent-BDfe4qz0.js → auto-spawn-consent-Dc4mtM-B.js} +8 -7
- package/server/{backlog-auto-trigger-DuOGpdDW.js → backlog-auto-trigger-CCEpr4YT.js} +3 -3
- package/server/{behavior-Bitko0mD.js → behavior-BiCQzqyT.js} +3 -3
- package/server/{bridge-pool-patrol-DiHEd13O.js → bridge-pool-patrol-Ce8rNPym.js} +2 -2
- package/server/{briefing-freshness-CDJcmHHZ.js → briefing-freshness-e_OEYZEe.js} +2 -2
- package/server/{build-info-DTX8JwVP.js → build-info-BRw4QlYO.js} +3 -3
- package/server/build-info-Bj2vQEMh.js +2 -0
- package/server/{checkpoint-manager-CKg1tn34.js → checkpoint-manager-CKr42Usw.js} +1 -1
- package/server/{checkpoint-manager-BlOOdzLF.js → checkpoint-manager-DOwRGFff.js} +26 -9
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-DRALkfDS.js → checkpoints-Cb6CWT4S.js} +1 -1
- package/server/{checkpoints-BGfl0cHM.js → checkpoints-Cszp_0Np.js} +2 -2
- package/server/{claude-hooks-provision-B_tv3wzE.js → claude-hooks-provision-C5JHpxTS.js} +1 -1
- package/server/{claude-hooks-provision-BlGv6twJ.js → claude-hooks-provision-Cer2eFfj.js} +2 -2
- package/server/{claude-permissions-aHgDcZi5.js → claude-permissions-Bc5kjX1q.js} +2 -2
- package/server/{claude-settings-overlay-CYOvFE3A.js → claude-settings-overlay-C7rWsnya.js} +1 -1
- package/server/{claude-settings-overlay-T2LWLteV.js → claude-settings-overlay-m-VVZej1.js} +2 -2
- package/server/cli-BRuzUT_I.js +2 -0
- package/server/{cli-Do8UpLoI.js → cli-BmczsfD6.js} +11 -11
- package/server/{cliproxy-CX6jHRDP.js → cliproxy-BpYpkogS.js} +52 -17
- package/server/cliproxy-_yUU0HRY.js +3 -0
- package/server/{close-issue-J0_eWYT1.js → close-issue-CxvRD0UI.js} +5 -5
- package/server/{closed-issue-reaper-bFppuk6F.js → closed-issue-reaper-nMLRi5de.js} +13 -12
- package/server/{closed-issue-reaper-Cl2h9AfT.js → closed-issue-reaper-omOcUDBl.js} +1 -1
- package/server/{codex-icapA4om.js → codex-DZhFfcWu.js} +1 -1
- package/server/{codex-OOea7lXs.js → codex-KaSKE-R3.js} +16 -10
- package/server/{compaction-continuation-D5voR1ME.js → compaction-continuation-Bjfi70G-.js} +3 -3
- package/server/{config-Cjleh3_U.js → config-CH1AqqIQ.js} +1 -1
- package/server/{config-DC75T4Mr.js → config-Doq_tF-f.js} +2 -2
- package/server/{config-tucKBCCc.js → config-ZGjvuR6J.js} +2 -2
- package/server/{config-yaml-BwOEANMr.js → config-yaml-D9nfpEx1.js} +33 -8
- package/server/{conflict-gate-DlpWCMd7.js → conflict-gate-D4XCtrm2.js} +1 -1
- package/server/{conflict-gate-D2L1kZeL.js → conflict-gate-DcUTY4Gb.js} +4 -4
- package/server/{context-layers-CSPGc2Hb.js → context-layers-BBTKP-Y4.js} +3 -3
- package/server/context-layers-BGj2Y9l3.js +4 -0
- package/server/{continue-U3Af0jUq.js → continue-i7Revg8D.js} +3 -3
- package/server/{control-settings-5k6ixdFW.js → control-settings-BMoDHY1G.js} +6 -6
- package/server/{conversation-compaction-CSpVpxN6.js → conversation-compaction-D4VOmF7p.js} +8 -8
- package/server/{conversation-compaction-Ciit9O6k.js → conversation-compaction-DzIjYMfg.js} +1 -1
- package/server/{conversation-service-BxrB5lUT.js → conversation-service-CzZUJFEx.js} +1 -1
- package/server/{conversation-service-BteE4ELK.js → conversation-service-tQCIbBVZ.js} +6 -6
- package/server/{conversations-DhwxsOru.js → conversations-C75EFFjf.js} +12 -7
- package/server/conversations-bFDaD5YN.js +3 -0
- package/server/{cost-Bnf9NUC5.js → cost-BCWEkvro.js} +3 -3
- package/server/{cost-CQKI6OCu.js → cost-CiIwxH1D.js} +2 -2
- package/server/{cost-sync-B-ADeXKY.js → cost-sync-DOkdE_yB.js} +3 -3
- package/server/{dag-DI9LaK_q.js → dag-BPc74hwj.js} +6 -19
- package/server/{dangerous-git-ops-akhA3iyF.js → dangerous-git-ops-By9iguTP.js} +1 -1
- package/server/dashboard-db-worker.js +7 -7
- package/server/{deacon-TPYssFYt.js → deacon-B24dNzr8.js} +1774 -171
- package/server/deacon-CzSZMtb-.js +4 -0
- package/server/{deacon-canonical-state-DFYymrDw.js → deacon-canonical-state-CkvxRPck.js} +3 -3
- package/server/{deacon-event-client-Te5v10-b.js → deacon-event-client-BYIQBu0T.js} +1 -1
- package/server/{deacon-event-client-BKOL4AcL.js → deacon-event-client-Do6Z2gKl.js} +2 -2
- package/server/{deacon-nudge-log-BtlTWgWu.js → deacon-nudge-log-CzM9JA9t.js} +1 -1
- package/server/{deacon-pending-lifecycle-DVHjOLje.js → deacon-pending-lifecycle-BObEdT-L.js} +3 -3
- package/server/deacon.js +11 -11
- package/server/dead-end-trip-6V_CwveT.js +2 -0
- package/server/{dead-end-trip-P0IF1O0E.js → dead-end-trip-CnVmjnya.js} +3 -3
- package/server/delivery-gyce0vQ7.js +3 -0
- package/server/{deploy-patrol-BXjlvoV3.js → deploy-patrol-CEwwEYDM.js} +8 -8
- package/server/deploy-queue-CjLErpgw.js +2 -0
- package/server/{deploy-queue-o7shYg1j.js → deploy-queue-r96ojDI3.js} +2 -2
- package/server/{deploy-window-CNT6fOff.js → deploy-window-D_3hhfxt.js} +4 -4
- package/server/{deploy-window-BMk5_oX6.js → deploy-window-DeJK8mTK.js} +1 -1
- package/server/{dev-supervisor-SR1CLOAK.js → dev-supervisor-DZWwpENk.js} +2 -2
- package/server/{devcontainer-renderer-enMmNDFa.js → devcontainer-renderer-d-9dCV_2.js} +3 -3
- package/server/{dist-CPTO_zMR.js → dist-DsLAsFSh.js} +1 -1
- package/server/dist-fCA6y2bH.js +3 -0
- package/server/{docker-B7qUZptz.js → docker-B2mUBzGk.js} +3 -3
- package/server/{docker-KR3zSFKY.js → docker-CRPHBylA.js} +1 -1
- package/server/{dod-gK835UMf.js → dod-DWtilRLx.js} +1 -1
- package/server/{done-preflight-CksRvh49.js → done-preflight-BDVdWed5.js} +1 -1
- package/server/{done-preflight-Bk8aExAL.js → done-preflight-D4ukUf-S.js} +5 -5
- package/server/{driver-CmsY2RLl.js → driver-BtcFz-qu.js} +14 -3
- package/server/{durable-review-pipeline-DgYHucN2.js → durable-review-pipeline-B3OS2_He.js} +11 -2
- package/server/durable-review-pipeline-CaCbEJSt.js +3 -0
- package/server/{ensure-devcontainer-ojerEqQg.js → ensure-devcontainer-BUeBRjmm.js} +4 -4
- package/server/{ensure-devcontainer-BQ4YizSH.js → ensure-devcontainer-rGSh0JHK.js} +1 -1
- package/server/{esm-shims-1htPASWs.js → esm-shims-oAaKIa-a.js} +1 -1
- package/server/{event-store-D7qcJXuZ.js → event-store-BCSgMubf.js} +5 -5
- package/server/{event-store-BgEjNsvk.js → event-store-Db4w4YIY.js} +1 -1
- package/server/{event-store-provider-BKvk2rDj.js → event-store-provider-DlSQND3V.js} +1 -1
- package/server/{events-BIKGJZOT.js → events-B6zioJA_.js} +3 -3
- package/server/{dist-src-BM9eudEd.js → factory-BrdqXBeK.js} +714 -2
- package/server/{feature-registry-storage-ewNSIVsQ.js → feature-registry-storage-zh3ZXW6f.js} +3 -3
- package/server/{features-CGopJXdU.js → features-BGntOWdy.js} +2 -2
- package/server/{feedback-stuck-retirement-B8-fX7NA.js → feedback-stuck-retirement-DpA5u1kt.js} +2 -2
- package/server/{feedback-target-Ci6N5p4G.js → feedback-target-D7GxdUYG.js} +10 -10
- package/server/{feedback-target-CkyLYohm.js → feedback-target-Ddqk93NF.js} +1 -1
- package/server/{feedback-writer-D4ULO4qG.js → feedback-writer-C1gCLFmp.js} +5 -5
- package/server/{feedback-writer-DfuVjvH0.js → feedback-writer-CH2846DP.js} +1 -1
- package/server/{flywheel-C7yek87O.js → flywheel-CjW2L7BS.js} +79 -29
- package/server/{flywheel-DXI_WITn.js → flywheel-HJt7QdWP.js} +1 -1
- package/server/{flywheel-merge-order-C5m5bYBc.js → flywheel-merge-order-4fNRN2F2.js} +1 -1
- package/server/{flywheel-merge-order-CXfU4M6l.js → flywheel-merge-order-D_yyAlND.js} +7 -7
- package/server/{flywheel-BwYPDlhK.js → flywheel-v1cCOBx-.js} +14 -14
- package/server/{forge-DYX9sKzG.js → forge-RVTCK_5X.js} +2 -2
- package/server/forge-bvak6vXJ.js +2 -0
- package/server/{from-DAdMxC29.js → from-BnLgKYvw.js} +1 -1
- package/server/{fs-lock-cw25uO_E.js → fs-lock-C7J-ugIf.js} +2 -2
- package/server/{fts-operations-D_rzLxX5.js → fts-operations-CU0B5WUx.js} +3 -3
- package/server/git-info-BSrI9owC.js +148 -0
- package/server/{git-utils-Y0zG25ez.js → git-utils-CsKV0Dis.js} +1 -1
- package/server/{git-utils-DV4B9TRl.js → git-utils-DW8-jIUJ.js} +4 -4
- package/server/{github-app-4UX8VIr8.js → github-app-7ywLhuZO.js} +2 -2
- package/server/{github-app-C33lDk9Z.js → github-app-Oi5hdn1n.js} +1 -1
- package/server/{github-client-nPj5ckZO.js → github-client-Cy0fSj1a.js} +1 -1
- package/server/{github-client-DkJVR908.js → github-client-DAbuXLuk.js} +3 -3
- package/server/{github-pr-lookup-C9Vokb0W.js → github-pr-lookup-Dhh3ec1V.js} +2 -2
- package/server/{harness-binary-BgXYDo2Z.js → harness-binary-tMmgJfC1.js} +2 -2
- package/server/{harness-resolve-1NZcVx7n.js → harness-resolve-DusNpVEe.js} +4 -4
- package/server/{health-events-jMfxrElt.js → health-events-BYDZ9n2i.js} +1 -1
- package/server/{health-events-DlX_FVAB.js → health-events-DNw9Mzw9.js} +2 -2
- package/server/{hooks-W3REcb3h.js → hooks-B4wj32l2.js} +1 -1
- package/server/{hooks-NQ19vvlB.js → hooks-BjBjxqNh.js} +2 -2
- package/server/{hume-BFkid2PO.js → hume-BP9YbxaE.js} +2 -2
- package/server/hume-TYTb6fDU.js +3 -0
- package/server/{identity-Bwh6VGeL.js → identity-C23uY8dZ.js} +3 -3
- package/server/{idle-stack-reaper-BeU_KxWx.js → idle-stack-reaper-BSxb1bln.js} +4 -4
- package/server/{idle-stack-reaper-CHtCNpvd.js → idle-stack-reaper-Bw0rU9GC.js} +1 -1
- package/server/{in-flight-guard-pcwXKLGz.js → in-flight-guard-DuxabAHT.js} +1 -1
- package/server/{infra-KTp9KV9u.js → infra-CHIvOb9q.js} +30 -7
- package/server/{injection-67YyU6SC.js → injection-BYUt8ml1.js} +8 -8
- package/server/{injection-BxbZKPDh.js → injection-BviePcm3.js} +1 -1
- package/server/inspect-agent-JFEaYTRa.js +2 -0
- package/server/{inspect-agent-VHSihlb7.js → inspect-agent-sV_19NxZ.js} +12 -12
- package/server/{internal-token-B-z-sGBH.js → internal-token-BOtIRJU7.js} +1 -1
- package/server/{internal-token-zY75jrRJ.js → internal-token-DoVzb4b7.js} +2 -2
- package/server/{io-DfvO2xyh.js → io-DKrWd3gX.js} +5 -5
- package/server/{issue-closed-dvEWKO7Q.js → issue-closed-6RQsAjDX.js} +7 -7
- package/server/{issue-lifecycle-3N8XF7lP.js → issue-lifecycle-D9nLErvS.js} +206 -29
- package/server/{issue-lifecycle-BI6jAfp8.js → issue-lifecycle-DOPVv7xz.js} +1 -1
- package/server/{issue-service-singleton-BN_2MXp4.js → issue-service-singleton-B2xy-IS9.js} +124 -11
- package/server/{issue-service-singleton-CL6hESX2.js → issue-service-singleton-CvgNAWqK.js} +1 -1
- package/server/issue-title-fallback-DTSCQVu0.js +120 -0
- package/server/{issues-CkvUoAnq.js → issues-e_Ck1Ln2.js} +2 -2
- package/server/{jsonl-parser-CrEb2PWr.js → jsonl-parser-DqxVCZ1k.js} +3 -3
- package/server/jsonl-resolver-07OS3qOr.js +324 -0
- package/server/{kimi-code-C26gmGxM.js → kimi-code-BjtAHIz1.js} +14 -12
- package/server/{kimi-code-DoMoGqIu.js → kimi-code-vtXl2DR5.js} +1 -1
- package/server/{kimi-parser-Dmhy3UlR.js → kimi-parser-B1lgy2Vt.js} +2 -2
- package/server/{label-cleanup-X2lWfghH.js → label-cleanup-D2zUMasf.js} +3 -3
- package/server/{lifecycle-Bg44O-9x.js → lifecycle-0NOEzomy.js} +2 -2
- package/server/{lifecycle-B0rL38D3.js → lifecycle-DaCovZwn.js} +6 -6
- package/server/{lifecycle-io-CCBpRv5m.js → lifecycle-io-6WL46dsB.js} +5 -5
- package/server/{lifecycle-io-DQDU0apV.js → lifecycle-io-BBMTaP7S.js} +1 -1
- package/server/{linear-client-B0cIkTs4.js → linear-client-7fQThJTc.js} +3 -3
- package/server/{linear-client-6V2E-DSa.js → linear-client-BTGApNLo.js} +1 -1
- package/server/{linear-mcp-auth-LCo9AWUd.js → linear-mcp-auth-B8pYRsiU.js} +1 -1
- package/server/{linear-mcp-auth-Dsu9Io9r.js → linear-mcp-auth-Nk5s3L9M.js} +5 -5
- package/server/memory-fts-worker.js +1 -1
- package/server/{memory-governor-A4O6vI9d.js → memory-governor-Cqvbusr4.js} +14 -14
- package/server/{memory-pressure-patrol-BWlWywmA.js → memory-pressure-patrol-DPb8foam.js} +5 -5
- package/server/{merge-BGWcBxku.js → merge-BB_bjJ9a.js} +1 -1
- package/server/{merge-vz80RvSE.js → merge-FZ78_cEz.js} +3 -3
- package/server/{merge-agent-GWhmnxFk.js → merge-agent-B3jRrlS1.js} +37 -33
- package/server/{merge-agent-BRSz26Oh.js → merge-agent-BuoC_PRZ.js} +2 -2
- package/server/{merge-batch-CFMEtTxv.js → merge-batch-B8bVjFWS.js} +1 -1
- package/server/{merge-completeness-CP347umA.js → merge-completeness-DQt7Qa7i.js} +4 -4
- package/server/{merge-completeness-7ajHAIR-.js → merge-completeness-DkdabVch.js} +1 -1
- package/server/merge-ops-DabXHp2i.js +2 -0
- package/server/merge-rebase-CXq0qsgR.js +2 -0
- package/server/{merge-rebase-C5htyEEH.js → merge-rebase-qq40s91P.js} +2 -2
- package/server/{merge-set-DsGW8fmc.js → merge-set-BTNYvxM3.js} +1 -1
- package/server/{merge-set-eiE2nC6C.js → merge-set-BmRRflt0.js} +4 -4
- package/server/{merge-sync-CM2-myXu.js → merge-sync-0m2Q087q.js} +1 -1
- package/server/{merge-sync-Ct0-cxMX.js → merge-sync-CJpOa0cZ.js} +2 -2
- package/server/{merge-train-deps-LXHGK61n.js → merge-train-deps-CH5Mr3vN.js} +4 -4
- package/server/{merge-train-BOu3fN7O.js → merge-train-iwKqjtCF.js} +4 -4
- package/server/{merge-verification-BRp08IzI.js → merge-verification-JJc5GC2t.js} +6 -6
- package/server/{merged-docker-cleanup-worker-CwldDjHV.js → merged-docker-cleanup-worker-BOqWA373.js} +4 -4
- package/server/{merged-docker-cleanup-worker-C8eGn78a.js → merged-docker-cleanup-worker-CrhTdxZV.js} +1 -1
- package/server/messaging-nuwStbdQ.js +3 -0
- package/server/{multipart-parser-OAuW7824.js → multipart-parser-DxuW_rZV.js} +2 -2
- package/server/{no-resume-mode-MWI6pnrK.js → no-resume-mode-xuYLFhLw.js} +1 -1
- package/server/node_modules/.package-lock.json +11 -11
- 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/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 +27 -3
- 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/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 +4 -4
- 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/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/ansi-regex/index.js +3 -2
- package/server/node_modules/ansi-regex/package.json +1 -1
- 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/{orphan-proposed-reconciler-cV3URUqk.js → orphan-proposed-reconciler-Dmk0kO_p.js} +24 -23
- package/server/{orphan-proposed-reconciler-BAE5AZ_e.js → orphan-proposed-reconciler-gf4TxfZb.js} +2 -2
- package/server/package-lock.json +12 -12
- package/server/package.json +1 -1
- package/server/{pan-dir-DDd91kMb.js → pan-dir-BMda7tQj.js} +5 -5
- package/server/{deacon-merge-BOGFEV8_.js → parked-residue-BiHb8cD7.js} +150 -35
- package/server/{paths-CRLnDgcI.js → paths-DEe9j-kw.js} +2 -2
- package/server/{pending-lifecycle-claim-CYgMiDAP.js → pending-lifecycle-claim-J5uIIJPu.js} +2 -2
- package/server/{pickup-BjJsSX12.js → pickup-D1UbSDPd.js} +1 -1
- package/server/{pipeline-agent-reader-BLc43dVJ.js → pipeline-agent-reader-D-6okryb.js} +5 -5
- package/server/{pipeline-membership-5qlRz5Qg.js → pipeline-membership-CCbgBzNC.js} +1 -1
- package/server/{pipeline-membership-BHZp_ShY.js → pipeline-membership-PGX3Pe8V.js} +1 -1
- package/server/{pipeline-membership-gather-CGFY1v-y.js → pipeline-membership-gather-BK4dzh0X.js} +17 -12
- package/server/{pipeline-membership-gather-WhRc1yke.js → pipeline-membership-gather-BRhU7XPx.js} +1 -1
- package/server/{pipeline-notifier-BmsLWM_2.js → pipeline-notifier-BNAV9kpa.js} +2 -2
- package/server/{pipeline-notifier-C4fZ2ito.js → pipeline-notifier-DvHLaXKb.js} +1 -1
- package/server/{post-merge-lifecycle-worker-KK1RTKRE.js → post-merge-lifecycle-worker-DAWgzXQA.js} +3 -3
- package/server/{post-merge-state-_Lj3LDLh.js → post-merge-state-DC2_0t12.js} +4 -4
- package/server/prd-locations-BbAvqQmT.js +124 -0
- package/server/{project-pipelines-CCkebHOu.js → project-pipelines-By_5WcT4.js} +2 -2
- package/server/{project-repos-B4MK48j4.js → project-repos--QeCg7yQ.js} +29 -3
- package/server/project-repos-3bI6t4fO.js +3 -0
- package/server/project-resource-refresh-queue-BaZC79S3.js +2 -0
- package/server/project-resource-refresh-queue-x-K9mvpP.js +865 -0
- package/server/{projects-DvPEAP18.js → projects-LftaVK99.js} +1 -1
- package/server/{prompts-BiS5I2tZ.js → prompts-BotGu-6W.js} +2 -2
- package/server/{providers-DrfK0Ip8.js → providers-BL1I66sM.js} +7 -7
- package/server/providers-Dqgz3MY5.js +3 -0
- package/server/public/assets/{chunk-BO2N2NFS-GtVe_o56.js → chunk-BO2N2NFS-D5Fz5jND.js} +4 -4
- package/server/public/assets/{diagram-OG6HWLK6-BvhcYYHc.js → diagram-OG6HWLK6-Eux0gWFq.js} +1 -1
- package/server/public/assets/{dist-D0ryefak.js → dist-C3zShwhA.js} +1 -1
- package/server/public/assets/{dist-CSmUXazd.js → dist-D-JX_u7m.js} +3 -3
- package/server/public/assets/{ganttDiagram-6RSMTGT7-BXA51DzM.js → ganttDiagram-6RSMTGT7-UH3aweia.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-mlV4EpWt.js → highlighted-body-OFNGDK62-ccIQ-WXS.js} +1 -1
- package/server/public/assets/index-2wV4ipy_.css +1 -0
- package/server/public/assets/index-BTVcdPve.js +860 -0
- package/server/public/assets/{linear-BPE7oswm.js → linear-Cnnu4YQy.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-Bjto8iJh.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-BguGGV3S.js → pieDiagram-4H26LBE5-BD8-Tye6.js} +1 -1
- package/server/public/assets/{prod-aKDYUrXQ.js → prod-Ca6aKMts.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-Bx3i4B6H.js → quadrantDiagram-W4KKPZXB-BmSrVyFD.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-B5vuLjA4.js → sankeyDiagram-5OEKKPKP-CEGy8Das.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-HPlpkqsN.js → xychartDiagram-2RQKCTM6-VnQ8iY8s.js} +1 -1
- package/server/public/index.html +2 -2
- package/server/{pull-requests-BcHIsFJv.js → pull-requests-Cp_FDT8-.js} +3 -3
- package/server/pull-requests-jVGcVq5G.js +2 -0
- package/server/rally-CxhVgIQ6.js +3 -0
- package/server/{rally-api-ShZ4kvn0.js → rally-api-CqAIJ8RX.js} +2 -2
- package/server/{rally-api-u_vkr5c_.js → rally-api-Ij1Zt0NI.js} +1 -1
- package/server/{rally-B1OMtzch.js → rally-bQpBzUNf.js} +3 -3
- package/server/{rally-client-DgZvUZqX.js → rally-client-CN5vh4Ac.js} +1 -1
- package/server/{rally-client-D6Feq1Ka.js → rally-client-qKbCNRVW.js} +5 -5
- 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-DKxOnkpE.js → rebuild-stack-BNOMVh7C.js} +7 -7
- package/server/{rebuild-stack-CCwKHZb6.js → rebuild-stack-DrMyA_mA.js} +2 -2
- package/server/{reconstruct-cache-BP8UIKt7.js → reconstruct-cache-mxIYCnqs.js} +7 -7
- package/server/{record-By-wp6pg.js → record-Ug18Cp4V.js} +1 -1
- package/server/{record-update-ByGtIlUK.js → record-update-WyhsREoH.js} +1 -1
- package/server/{record-update-D23jPU6b.js → record-update-dBGxL9OC.js} +8 -6
- package/server/{recovery-trip-C4dTl8DO.js → recovery-trip-BKLrL6NX.js} +43 -10
- package/server/{recovery-trip-qloOYOFz.js → recovery-trip-wFAixKsg.js} +1 -1
- package/server/{release-engine-Crc0Tjx-.js → release-engine-D9gaCBn9.js} +5 -5
- package/server/{release-set-DDXwbIK7.js → release-set-DPHHzEGx.js} +3 -3
- package/server/{remote-CBpLi4Yy.js → remote-BU6ONLpv.js} +3 -3
- package/server/{remote-oEMfXlwT.js → remote-BUEeUic6.js} +3 -3
- package/server/{remote-agents-DQVGZVQ9.js → remote-agents-BVtASiOF.js} +1 -1
- package/server/{remote-agents-Bgtc2nOO.js → remote-agents-CSaTLi3u.js} +6 -6
- package/server/{remote-completion-DxUJ5HKR.js → remote-completion-CBV3b9TI.js} +13 -13
- package/server/{resolver-C8rooxoz.js → resolver-DvSMXty7.js} +31 -8
- package/server/{resolver-CuAULbLs.js → resolver-gxv97jsQ.js} +2 -2
- package/server/resume-DvHuF-bm.js +3 -0
- package/server/review-agent-DgkUPRx0.js +3 -0
- package/server/{review-agent-7C2w5CzU.js → review-agent-esZ0QXdY.js} +43 -55
- package/server/{review-artifacts-BJeEfm2r.js → review-artifacts-DGGEobLp.js} +6 -6
- package/server/{review-convoy-liveness-DfF9eXjI.js → review-convoy-liveness-DmO8dIBH.js} +20 -11
- package/server/{review-run-recovery-7BKt2Es0.js → review-run-recovery-Ct0q7FkE.js} +3 -3
- package/server/{review-run-recovery-ZjuDTNhZ.js → review-run-recovery-DHiiw7d8.js} +1 -1
- package/server/{review-status-CUnjjOUu.js → review-status-C_kQeeX0.js} +1 -1
- package/server/{review-status-emit-Cg4tOb8U.js → review-status-emit-BZz1Y_22.js} +3 -3
- package/server/{review-status-enrichment-D-rQshu6.js → review-status-enrichment-BWH0XW_m.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-2C9lk85r.js} +2 -2
- package/server/{review-status-sync-YthpOH_q.js → review-status-sync-Bq00Loey.js} +1 -1
- package/server/{review-status-DBnR5t4z.js → review-status-yOGD2MuK.js} +86 -27
- package/server/{review-verdict-feedback-DqXTuJk8.js → review-verdict-feedback-Brjaxoda.js} +1 -1
- package/server/{review-verdict-feedback-C-dBon_-.js → review-verdict-feedback-CE_tr2iQ.js} +8 -8
- package/server/{review-verdict-writer-jldSh3Bm.js → review-verdict-writer-CD-4kDVx.js} +1 -1
- package/server/{review-verdict-writer-CKaJWp75.js → review-verdict-writer-Ca2V7QSY.js} +7 -7
- package/server/{rollup-DZwH4CLs.js → rollup--g9ik1XQ.js} +1 -1
- package/server/{rollup-QCwYcBdP.js → rollup-B6g9Nr6L.js} +8 -8
- package/server/{scanner-2aHeLC3W.js → scanner-YxIv-fG1.js} +8 -8
- package/server/{search-DwHYaj66.js → search-DqMN4__-.js} +2 -2
- package/server/{secret-redaction-B5G1xZ3k.js → secret-redaction-DLZ-VqHq.js} +1 -1
- package/server/{sequence-io-POKWdusG.js → sequence-io--b3_PsWq.js} +4 -4
- package/server/{sequencer-agent-DS00KHVm.js → sequencer-agent-CqouKVZG.js} +6 -6
- package/server/server.js +1115 -1269
- package/server/{service-BLb_CyPL.js → service-CEp-3iow.js} +64 -63
- package/server/{session-fork-DcTzVwex.js → session-fork-GtoeCh2H.js} +2 -2
- package/server/{settings-Clw8UVNs.js → settings-CLQcdkoD.js} +2 -2
- package/server/{settings-B9-H2K_E.js → settings-Ch2pCVtt.js} +3 -3
- package/server/settings-DhtPDmmI.js +2 -0
- package/server/{shadow-engineering-C6oO_PiR.js → shadow-engineering-BxiFrIKv.js} +3 -3
- package/server/{shadow-state-CEGrrECe.js → shadow-state-CSA1vtxr.js} +2 -2
- package/server/{shadow-state-e7250VUx.js → shadow-state-nGhCNXT2.js} +1 -1
- package/server/{shadow-utils-xFk2Wusb.js → shadow-utils-7q5QDmMj.js} +2 -2
- package/server/{ship-log-7BnQHuKU.js → ship-log-ie0A_SqV.js} +1 -1
- package/server/{ship-record-CwUX6Afo.js → ship-record-BM3oVvnL.js} +7 -7
- package/server/{ship-record-BgUPnpT0.js → ship-record-DHWH1hLz.js} +1 -1
- package/server/{ship-status-Ce3_3edi.js → ship-status-BEkddXMT.js} +2 -2
- package/server/{smart-compaction-BmfIi3oL.js → smart-compaction-BkzjVpWL.js} +1 -1
- package/server/{smart-compaction-Dy0gw1VH.js → smart-compaction-D0TE1lBD.js} +7 -7
- package/server/{spawn-planning-session-nH3b4Drz.js → spawn-planning-session-CkGweSCC.js} +19 -19
- package/server/{spawn-planning-session-CfhxRJoY.js → spawn-planning-session-s406rw1N.js} +2 -2
- package/server/{specialist-completion-CC1XJbTx.js → specialist-completion-CTAjwH5j.js} +1 -1
- package/server/{specialist-context-cHwpcXSh.js → specialist-context-CKasRfYu.js} +5 -5
- package/server/{specialist-handoff-logger-GqnGSYoJ.js → specialist-handoff-logger-DrjrOmmn.js} +2 -2
- package/server/{specialist-logs-5OTnrV91.js → specialist-logs-Du6quZ0_.js} +3 -3
- package/server/{specialists-xXcJHAyg.js → specialists-B-4zyE4Y.js} +1 -1
- package/server/{specialists-8LcQi9Np.js → specialists-CuDWiNdB.js} +21 -272
- package/server/{specialists-DocAK-7A.js → specialists-b0dMMjWq.js} +148 -685
- package/server/specialists-registry-1y6Rt_F1.js +3 -0
- package/server/specialists-registry-BYjs04iK.js +277 -0
- package/server/specialists-x-kPMhrL.js +4 -0
- package/server/specs-IYsFlM-L.js +3 -0
- package/server/{src-DudQNYVw.js → src-CY2Wl8IX.js} +337 -6
- package/server/{src-C2TAxwki.js → src-CZsPs61V.js} +6 -6
- package/server/{src-DUVvEA8Q.js → src-DeQwpuh6.js} +3 -3
- package/server/{stack-health-DKT4ySnA.js → stack-health-BQFSJc0l.js} +3 -3
- package/server/{stack-health-CbyiYS9H.js → stack-health-ypIKtkbE.js} +1 -1
- package/server/{stale-task-claims-PzFee70R.js → stale-task-claims-C2e1zdMT.js} +5 -5
- package/server/{staleness-BjOAq9-d.js → staleness-CRDK6LFG.js} +1 -1
- package/server/{staleness-D8UTEXV5.js → staleness-Fzx_3_Hr.js} +1 -1
- package/server/{stall-sweeper-DOyIfeLR.js → stall-sweeper-QNk4h9m6.js} +8 -8
- package/server/{state-home-DhAZlk5k.js → state-home-DdG8erBI.js} +2 -2
- package/server/{state-mapping-BVSs84bO.js → state-mapping-D2yC81Vy.js} +1 -1
- package/server/{state-migrate-CJKEwpB0.js → state-migrate-C6H3jfHE.js} +6 -6
- package/server/{state-mirror-Do7pag7W.js → state-mirror-DF4Lfxm0.js} +3 -3
- package/server/stuck-remediation-BDa_tXgB.js +774 -0
- package/server/stuck-remediation-BVNd9txd.js +2 -0
- package/server/{substrate-bug-weights-service-BTNjHBnl.js → substrate-bug-weights-service-BbbCZEtJ.js} +3 -3
- package/server/{summary-fork-CZ88rhVx.js → summary-fork-BvcW6bq0.js} +113 -30
- package/server/{summary-fork-CvB7Oyq9.js → summary-fork-DIQmtOuV.js} +2 -2
- 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-D4v0WfiQ.js → supervisor-D3jC2c7A.js} +4 -4
- package/server/supervisor-v0cYN2Vp.js +2 -0
- package/server/{swarm-readiness-D8R-LWX5.js → swarm-readiness-CMWAQuWM.js} +3 -3
- package/server/{synthesis-verdict-B6wvLGcA.js → synthesis-verdict-C-pJOPsn.js} +1 -1
- package/server/{synthesis-verdict-N5Z11pg7.js → synthesis-verdict-DVlrLF9A.js} +2 -2
- package/server/{system-prerequisites-BbGZ_WHF.js → system-prerequisites-QKtIYXI2.js} +2 -2
- package/server/{teardown-workspace-CYend-KY.js → teardown-workspace-cJea1OLo.js} +16 -16
- package/server/{test-agent-queue-BUtWhNcc.js → test-agent-queue-C5DI_gWX.js} +6 -6
- package/server/{test-verdict-BWm3hgDj.js → test-verdict-C7kmd2_Y.js} +1 -1
- package/server/{test-verdict-BWtRmdiR.js → test-verdict-DUbDHqeD.js} +2 -2
- package/server/{tldr-daemon-CneJ24eL.js → tldr-daemon-BNQHwblU.js} +1 -1
- package/server/{tldr-daemon-CMVBT4kT.js → tldr-daemon-CO08YlfQ.js} +2 -2
- package/server/tmux-B8zsqD_6.js +4 -0
- package/server/{tmux-BqXzRuaH.js → tmux-DWEc4Ld9.js} +91 -19
- package/server/{token-CO3INKbh.js → token-Bez-qCB2.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-CJzPhSHv.js} +2 -2
- package/server/{tracker-utils-xnVJVrrO.js → tracker-utils-DJAOAuMN.js} +2 -2
- package/server/{traefik-connect-A5k54mCv.js → traefik-connect-D3H5I6b9.js} +1 -1
- package/server/{tunnel-DauSR-rs.js → tunnel-BSdKnW0U.js} +1 -1
- package/server/{tunnel-CwOnS-PB.js → tunnel-Cr3ctqxp.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-fzBp9cYi.js} +1 -1
- package/server/{types-DbxY2QB6.js → types-pLpbsNto.js} +1 -1
- package/server/{uat-failure-feedback-BVqsWlrr.js → uat-failure-feedback-IZQ-J8jt.js} +5 -5
- package/server/{uat-promote-verification-DmG097QS.js → uat-promote-verification-DXApKcc2.js} +5 -5
- package/server/{uat-train-COSy-vEX.js → uat-train-CycEzpbE.js} +1 -1
- package/server/{uat-train-DVUNW03P.js → uat-train-IIZlz7r3.js} +0 -0
- package/server/{validate-Dvv83iBx.js → validate-Ur4xH5bN.js} +3 -3
- package/server/{validation-BdCjzWLN.js → validation-CHovCoTT.js} +1 -1
- package/server/{validation-DlHafKzu.js → validation-Dr6V4PXx.js} +9 -6
- package/server/{verification-artifact-CaSbxUVg.js → verification-artifact-D3viYe_t.js} +1 -1
- package/server/{verification-artifact-0Zku8N-W.js → verification-artifact-k5Ftpg0c.js} +1 -1
- package/server/{verification-runner-C6wdZda2.js → verification-runner-BuqGwm2t.js} +1 -1
- package/server/{verification-runner-DwP2fUEF.js → verification-runner-Dl13mmsI.js} +53 -27
- package/server/{vtt-parser-luerJpYT.js → vtt-parser-BSnAB-Og.js} +1 -1
- package/server/work-agent-prompt-CJJ4tXci.js +3 -0
- package/server/{work-agent-prompt--9AWNYwZ.js → work-agent-prompt-CioeOuM4.js} +14 -14
- package/server/{work-agent-start-BNQO65W7.js → work-agent-start-B65Gqn9N.js} +2 -2
- package/server/{work-agent-start-DkzseQFl.js → work-agent-start-Ct1HVh6z.js} +1 -1
- package/server/{workflows-BYwR2aIN.js → workflows-AgFul1xc.js} +114 -41
- package/server/workflows-CfHm8lVd.js +2 -0
- package/server/{workspace-B-QJa3Ps.js → workspace-Cu3XlMXt.js} +1 -1
- package/server/{workspace-iTnTycOB.js → workspace-Cy4sDd3q.js} +3 -3
- package/server/{workspace-anchor-drift-DTt6h2Em.js → workspace-anchor-drift-BI0Hz6zI.js} +1 -1
- package/server/{workspace-anchor-drift-CHiGg8iu.js → workspace-anchor-drift-CMaqvizr.js} +4 -4
- package/server/{workspace-config-D0CavVtz.js → workspace-config-DRYDO7Zr.js} +1 -1
- package/server/{workspace-manager-W1OnbvU5.js → workspace-manager-CgovxDrO.js} +17 -17
- package/server/{workspace-manager-5BKPV6SY.js → workspace-manager-jfkKAEuO.js} +1 -1
- package/server/{workspace-metadata-tbbevEmP.js → workspace-metadata-BDqXzGGK.js} +1 -1
- package/server/{workspace-metadata-dJhXvZGQ.js → workspace-metadata-BNzODIv6.js} +2 -2
- package/server/{workspaces-BlpbOPZ7.js → workspaces-BJdPqx_J.js} +131 -127
- 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/handoff-isolate-cwd.md +4 -4
- package/sync-sources/rules/pan-handoff-focus-limit.md +12 -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 +182 -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-gauntlet-loop/references/lessons.md +60 -0
- package/sync-sources/skills/pan-handoff/SKILL.md +13 -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,11 +1,11 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Ai as getCanonicalOverdeckHome, Li as getOverdeckHome, Ri as init_paths, ai as TmuxError, ci as init_errors, p as loadConfigSync, ri as MessageDeliveryFailed, t as init_config_yaml } from "./config-yaml-D9nfpEx1.js";
|
|
3
3
|
import { Effect } from "effect";
|
|
4
4
|
import { appendFileSync, chmodSync, existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "fs";
|
|
5
|
-
import { join } from "path";
|
|
6
|
-
import { tmpdir } from "os";
|
|
5
|
+
import { join, resolve } from "path";
|
|
6
|
+
import { homedir, tmpdir } from "os";
|
|
7
7
|
import { mkdir, readFile, unlink, writeFile } from "fs/promises";
|
|
8
|
-
import { randomUUID } from "node:crypto";
|
|
8
|
+
import { createHash, randomUUID } from "node:crypto";
|
|
9
9
|
import { execFile, execFileSync, execSync } from "child_process";
|
|
10
10
|
import { promisify } from "util";
|
|
11
11
|
//#region ../../lib/child-env.ts
|
|
@@ -338,6 +338,13 @@ function deliveryVerifyLine(content) {
|
|
|
338
338
|
const lines = content.split("\n");
|
|
339
339
|
return ([...lines].reverse().find((line) => line.trim().length >= 3) ?? lines[lines.length - 1])?.trim() ?? "";
|
|
340
340
|
}
|
|
341
|
+
/**
|
|
342
|
+
* The cursor-anchored active-composer region of a pane: the rows between the
|
|
343
|
+
* composer's top border (if any) and the cursor row, ANSI-stripped. Returns
|
|
344
|
+
* null when the composer cannot be anchored (blank pane or unreadable cursor).
|
|
345
|
+
* Exported so delivery-verification callers can match against the composer
|
|
346
|
+
* only — never the transcript scrollback above it.
|
|
347
|
+
*/
|
|
341
348
|
function activeComposerRegion(viewport) {
|
|
342
349
|
const lines = viewport.text.replace(PANE_ANSI_PATTERN, "").split("\n").map((line) => line.replace(/\s+$/g, ""));
|
|
343
350
|
if (lines.every((line) => line.trim() === "")) return null;
|
|
@@ -384,8 +391,23 @@ function getTmuxDir() {
|
|
|
384
391
|
function getManagedTmuxConfigPath() {
|
|
385
392
|
return join(getTmuxDir(), "overdeck.tmux.conf");
|
|
386
393
|
}
|
|
394
|
+
/**
|
|
395
|
+
* PAN-3673: a process whose OVERDECK_HOME is not the default home is a separate
|
|
396
|
+
* Overdeck instance (an isolated verification dashboard, a scratch home). If it
|
|
397
|
+
* drives the shared 'overdeck' socket, its PAN-1798 sanitizer pins race the real
|
|
398
|
+
* stack's pins in the server global env, and whichever pinned last at the instant
|
|
399
|
+
* of `new-session` wins — real sessions then capture the wrong OVERDECK_HOME
|
|
400
|
+
* (PAN-3668 incident, 2026-08-13: the review orchestrator's app-server wrote its
|
|
401
|
+
* socket under a /tmp home and the readiness check never saw it). Derive a
|
|
402
|
+
* deterministic per-home socket instead so a non-default stack can never touch
|
|
403
|
+
* the shared server. An explicit OVERDECK_TMUX_SOCKET_NAME still wins (per-test
|
|
404
|
+
* isolation, PAN-1808).
|
|
405
|
+
*/
|
|
387
406
|
function getManagedTmuxSocketName() {
|
|
388
|
-
|
|
407
|
+
if (process.env.OVERDECK_TMUX_SOCKET_NAME) return process.env.OVERDECK_TMUX_SOCKET_NAME;
|
|
408
|
+
const home = resolve(getOverdeckHome());
|
|
409
|
+
if (home === resolve(join(homedir(), ".overdeck"))) return DEFAULT_MANAGED_TMUX_SOCKET;
|
|
410
|
+
return `${DEFAULT_MANAGED_TMUX_SOCKET}-${createHash("sha1").update(home).digest("hex").slice(0, 8)}`;
|
|
389
411
|
}
|
|
390
412
|
function ensureLogDir() {
|
|
391
413
|
const logDir = join(getOverdeckHome(), "logs");
|
|
@@ -512,17 +534,27 @@ function warnIfServerCmdlineIsDirtySync() {
|
|
|
512
534
|
* HOME and drop into the onboarding/login screen.
|
|
513
535
|
*
|
|
514
536
|
* Detecting this and only warning (the old behaviour) left the poison in place.
|
|
515
|
-
* Since `ensureOverdeckTmuxServer*` runs before every `new-session`,
|
|
516
|
-
*
|
|
517
|
-
*
|
|
518
|
-
*
|
|
519
|
-
* sessions keep their captured env; only future sessions change.
|
|
537
|
+
* Since `ensureOverdeckTmuxServer*` runs before every `new-session`, always pin
|
|
538
|
+
* canonical HOME/OVERDECK_HOME on the shared socket. Isolated sockets instead get
|
|
539
|
+
* the caller's resolved values. Non-destructive: existing sessions keep their
|
|
540
|
+
* captured env; only future sessions change.
|
|
520
541
|
*/
|
|
542
|
+
/** @internal Exported only for focused sanitizer tests. */
|
|
521
543
|
function sanitizeManagedServerGlobalEnvSync(cleanEnv) {
|
|
522
544
|
const sock = getManagedTmuxSocketName();
|
|
545
|
+
const canonicalOverdeckHome = getCanonicalOverdeckHome();
|
|
546
|
+
const sharedSocket = sock === DEFAULT_MANAGED_TMUX_SOCKET;
|
|
547
|
+
const callerOverdeckHome = getOverdeckHome();
|
|
548
|
+
const pinnedEnv = sharedSocket ? {
|
|
549
|
+
HOME: homedir(),
|
|
550
|
+
OVERDECK_HOME: canonicalOverdeckHome
|
|
551
|
+
} : {
|
|
552
|
+
HOME: cleanEnv.HOME ?? homedir(),
|
|
553
|
+
OVERDECK_HOME: callerOverdeckHome
|
|
554
|
+
};
|
|
555
|
+
if (sharedSocket && resolve(callerOverdeckHome) !== resolve(canonicalOverdeckHome)) console.warn(`[tmux] WARNING (PAN-3671): refusing to pin non-canonical OVERDECK_HOME '${callerOverdeckHome}' on shared socket '${sock}'. Set OVERDECK_TMUX_SOCKET_NAME to isolate this Overdeck instance.`);
|
|
523
556
|
for (const key of ["HOME", "OVERDECK_HOME"]) {
|
|
524
|
-
const value =
|
|
525
|
-
if (!value) continue;
|
|
557
|
+
const value = pinnedEnv[key];
|
|
526
558
|
try {
|
|
527
559
|
execFileSync("tmux", [
|
|
528
560
|
"-L",
|
|
@@ -575,7 +607,8 @@ function ensureOverdeckTmuxServerSync(cleanEnv) {
|
|
|
575
607
|
getManagedTmuxConfigPath(),
|
|
576
608
|
"start-server"
|
|
577
609
|
];
|
|
578
|
-
|
|
610
|
+
const useManagedUnit = getManagedTmuxSocketName() === DEFAULT_MANAGED_TMUX_SOCKET;
|
|
611
|
+
if (!(!useManagedUnit ? false : (() => {
|
|
579
612
|
try {
|
|
580
613
|
execFileSync("systemd-run", [
|
|
581
614
|
"--user",
|
|
@@ -596,7 +629,7 @@ function ensureOverdeckTmuxServerSync(cleanEnv) {
|
|
|
596
629
|
} catch {
|
|
597
630
|
return false;
|
|
598
631
|
}
|
|
599
|
-
})()) {
|
|
632
|
+
})())) {
|
|
600
633
|
let daemonized = false;
|
|
601
634
|
try {
|
|
602
635
|
execFileSync("setsid", ["tmux", ...args], {
|
|
@@ -609,7 +642,7 @@ function ensureOverdeckTmuxServerSync(cleanEnv) {
|
|
|
609
642
|
stdio: "ignore",
|
|
610
643
|
env: cleanEnv
|
|
611
644
|
});
|
|
612
|
-
console.warn(`[tmux] WARNING (PAN-1798): could not start '${MANAGED_TMUX_SERVER_UNIT}' via systemd-run. Shared tmux server is running without systemd scope isolation; killing the founding process tree may still destroy the server.`);
|
|
645
|
+
if (useManagedUnit) console.warn(`[tmux] WARNING (PAN-1798): could not start '${MANAGED_TMUX_SERVER_UNIT}' via systemd-run. Shared tmux server is running without systemd scope isolation; killing the founding process tree may still destroy the server.`);
|
|
613
646
|
}
|
|
614
647
|
const deadline = Date.now() + SERVER_ALIVE_TIMEOUT_MS;
|
|
615
648
|
while (Date.now() < deadline) {
|
|
@@ -761,7 +794,12 @@ function buildNewSessionArgs(name, cwd, initialCommand, options) {
|
|
|
761
794
|
"-y",
|
|
762
795
|
String(height)
|
|
763
796
|
];
|
|
764
|
-
|
|
797
|
+
const env = {
|
|
798
|
+
HOME: process.env.HOME ?? homedir(),
|
|
799
|
+
OVERDECK_HOME: getOverdeckHome(),
|
|
800
|
+
...options?.env
|
|
801
|
+
};
|
|
802
|
+
for (const [key, value] of Object.entries(env)) args.push("-e", `${key}=${value}`);
|
|
765
803
|
if (initialCommand) args.push(initialCommand);
|
|
766
804
|
return args;
|
|
767
805
|
}
|
|
@@ -803,6 +841,9 @@ function listSessionsSync() {
|
|
|
803
841
|
return [];
|
|
804
842
|
}
|
|
805
843
|
}
|
|
844
|
+
function listSessionNamesSync() {
|
|
845
|
+
return listSessionsSync().map((session) => session.name);
|
|
846
|
+
}
|
|
806
847
|
/**
|
|
807
848
|
* tmux target-session syntax: a bare name is matched as a *prefix* against
|
|
808
849
|
* existing session names. That means `has-session -t agent-pan-977` returns
|
|
@@ -949,6 +990,36 @@ async function capturePaneText(sessionName, lines = 50, options) {
|
|
|
949
990
|
return "";
|
|
950
991
|
}
|
|
951
992
|
}
|
|
993
|
+
/**
|
|
994
|
+
* Capture the visible pane plus its cursor row as a PaneViewport for
|
|
995
|
+
* cursor-anchored composer detection (pane-composer.ts). Returns null when
|
|
996
|
+
* the pane or cursor position is unreadable.
|
|
997
|
+
*/
|
|
998
|
+
async function capturePaneViewport(sessionName) {
|
|
999
|
+
try {
|
|
1000
|
+
const target = exactPaneTarget(sessionName);
|
|
1001
|
+
const [pane, cursor] = await Promise.all([tmuxExecAsync([
|
|
1002
|
+
"capture-pane",
|
|
1003
|
+
"-t",
|
|
1004
|
+
target,
|
|
1005
|
+
"-p"
|
|
1006
|
+
], { encoding: "utf-8" }), tmuxExecAsync([
|
|
1007
|
+
"display-message",
|
|
1008
|
+
"-p",
|
|
1009
|
+
"-t",
|
|
1010
|
+
target,
|
|
1011
|
+
"#{cursor_y}"
|
|
1012
|
+
], { encoding: "utf-8" })]);
|
|
1013
|
+
const cursorY = Number.parseInt(String(cursor.stdout).trim(), 10);
|
|
1014
|
+
if (!Number.isInteger(cursorY)) return null;
|
|
1015
|
+
return {
|
|
1016
|
+
text: String(pane.stdout),
|
|
1017
|
+
cursorY
|
|
1018
|
+
};
|
|
1019
|
+
} catch {
|
|
1020
|
+
return null;
|
|
1021
|
+
}
|
|
1022
|
+
}
|
|
952
1023
|
function listPaneValuesSync(target, format) {
|
|
953
1024
|
try {
|
|
954
1025
|
return tmuxExecSync([
|
|
@@ -1073,7 +1144,7 @@ async function sendEscapeKeyAsync(sessionName, times = 1) {
|
|
|
1073
1144
|
if (i < times - 1) await new Promise((resolve) => setTimeout(resolve, 250));
|
|
1074
1145
|
}
|
|
1075
1146
|
}
|
|
1076
|
-
var execFileAsync, VALID_SESSION_NAME_RE, DEFAULT_TMUX_WINDOW_COLS, DEFAULT_TMUX_WINDOW_ROWS, MANAGED_TMUX_SERVER_UNIT, SERVER_ALIVE_POLL_MS, SERVER_ALIVE_TIMEOUT_MS, MANAGED_TMUX_CONFIG_CONTENT, tmuxContextPrepared, warnedManagedServerTmuxSpawnScope, warnedManagedServerDirtyCmdline, TERMINAL_API_ERROR_PATTERNS, toTmuxError, ensureManagedTmuxContextOnce, listSessions, listSessionNames, listAllPaneRecords, getWindowDimensions, sessionExists, createSession, killSession, setOption, resizeWindow, sendRawKeystroke, sendKeys, capturePane, listPaneValues, isPaneDead, getAgentSessions;
|
|
1147
|
+
var execFileAsync, VALID_SESSION_NAME_RE, DEFAULT_TMUX_WINDOW_COLS, DEFAULT_TMUX_WINDOW_ROWS, MANAGED_TMUX_SERVER_UNIT, SERVER_ALIVE_POLL_MS, SERVER_ALIVE_TIMEOUT_MS, MANAGED_TMUX_CONFIG_CONTENT, tmuxContextPrepared, DEFAULT_MANAGED_TMUX_SOCKET, warnedManagedServerTmuxSpawnScope, warnedManagedServerDirtyCmdline, TERMINAL_API_ERROR_PATTERNS, toTmuxError, ensureManagedTmuxContextOnce, listSessions, listSessionNames, listAllPaneRecords, getWindowDimensions, sessionExists, createSession, killSession, setOption, resizeWindow, sendRawKeystroke, sendKeys, capturePane, listPaneValues, isPaneDead, getAgentSessions;
|
|
1077
1148
|
var init_tmux = __esmMin((() => {
|
|
1078
1149
|
init_paths();
|
|
1079
1150
|
init_config_yaml();
|
|
@@ -1106,6 +1177,7 @@ var init_tmux = __esmMin((() => {
|
|
|
1106
1177
|
""
|
|
1107
1178
|
].join("\n");
|
|
1108
1179
|
tmuxContextPrepared = false;
|
|
1180
|
+
DEFAULT_MANAGED_TMUX_SOCKET = "overdeck";
|
|
1109
1181
|
warnedManagedServerTmuxSpawnScope = false;
|
|
1110
1182
|
warnedManagedServerDirtyCmdline = false;
|
|
1111
1183
|
TERMINAL_API_ERROR_PATTERNS = [
|
|
@@ -1446,6 +1518,6 @@ var init_tmux = __esmMin((() => {
|
|
|
1446
1518
|
getAgentSessions = () => listSessions().pipe(Effect.map((sessions) => sessions.filter((s) => s.name.startsWith("agent-"))));
|
|
1447
1519
|
}));
|
|
1448
1520
|
//#endregion
|
|
1449
|
-
export {
|
|
1521
|
+
export { init_pane_choice_menu as $, listPaneValuesSync as A, sendKeys as B, init_tmux as C, killSessionSync as D, killSession as E, parseTmuxPaneRecords as F, setOption as G, sendRawKeystroke as H, querySessionSync as I, activeComposerPayloadPresence as J, tmuxExecAsync as K, resizeWindow as L, listSessionNamesSync as M, listSessions as N, listAllPaneRecords as O, listSessionsSync as P, buildChoiceKeystrokes as Q, sanitizeManagedServerGlobalEnvSync as R, getWindowDimensions as S, isPaneDead as T, sessionExists as U, sendKeysAsync as V, sessionExistsSync as W, deliveryVerifyLine as X, activeComposerRegion as Y, init_pane_composer as Z, getManagedTmuxConfigPath as _, capturePaneText as a, getUiThemeSync as at, getTmuxCommand as b, createSessionSync as c, BLANKED_PROVIDER_ENV as ct, ensureOverdeckTmuxServerAsync as d, init_child_env as dt, paneChoiceMenuSignature as et, ensureOverdeckTmuxServerSync as f, getAgentSessions as g, findManagedServerPidSync as h, capturePaneSync as i, colorFgBgForTheme as it, listSessionNames as j, listPaneValues as k, detectTerminalApiErrorSync as l, buildChildEnvSync as lt, exactSession as m, buildTmuxCommandString as n, parsePaneChoiceMenu as nt, capturePaneViewport as o, init_ui_theme as ot, exactPaneTarget as p, validateSessionName as q, capturePane as r, paneTreeHasHarnessProcess as rt, createSession as s, setUiTheme as st, buildTmuxArgs as t, paneHasBlockingChoiceMenu as tt, ensureManagedTmuxContextOnce as u, buildChildEnvWithoutTmuxSync as ut, getManagedTmuxSocketName as v, isHarnessProcessAlive as w, getTmuxConfigMode as x, getTmuxBaseArgs as y, sendEscapeKeyAsync as z };
|
|
1450
1522
|
|
|
1451
|
-
//# sourceMappingURL=tmux-
|
|
1523
|
+
//# sourceMappingURL=tmux-DWEc4Ld9.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as __commonJSMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { r as require_token_error, t as require_token_util } from "./token-util-
|
|
2
|
+
import { r as require_token_error, t as require_token_util } from "./token-util-Crcay9j_.js";
|
|
3
3
|
//#region ../../../node_modules/.bun/@vercel+oidc@3.2.0/node_modules/@vercel/oidc/dist/token.js
|
|
4
4
|
var require_token = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
5
5
|
var __defProp = Object.defineProperty;
|
|
@@ -54,4 +54,4 @@ var require_token = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
54
54
|
export default require_token();
|
|
55
55
|
export {};
|
|
56
56
|
|
|
57
|
-
//# sourceMappingURL=token-
|
|
57
|
+
//# sourceMappingURL=token-Bez-qCB2.js.map
|
|
@@ -432,4 +432,4 @@ var require_token_util = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
432
432
|
//#endregion
|
|
433
433
|
export { require_auth_errors as n, require_token_error as r, require_token_util as t };
|
|
434
434
|
|
|
435
|
-
//# sourceMappingURL=token-util-
|
|
435
|
+
//# sourceMappingURL=token-util-Crcay9j_.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { bn as loadProjectsConfigSync, fn as init_projects, p as loadConfigSync, rn as getIssuePrefix, t as init_config_yaml } from "./config-yaml-
|
|
2
|
+
import { bn as loadProjectsConfigSync, fn as init_projects, p as loadConfigSync, rn as getIssuePrefix, t as init_config_yaml } from "./config-yaml-D9nfpEx1.js";
|
|
3
3
|
import { existsSync } from "fs";
|
|
4
4
|
import { join } from "path";
|
|
5
5
|
import { homedir } from "os";
|
|
@@ -142,4 +142,4 @@ var init_tracker_config = __esmMin((() => {
|
|
|
142
142
|
//#endregion
|
|
143
143
|
export { init_tracker_config as a, initTrackerConfigCache as i, getLinearApiKey as n, validateRallyConfig as o, getRallyConfig as r, getGitHubConfig as t };
|
|
144
144
|
|
|
145
|
-
//# sourceMappingURL=tracker-config-
|
|
145
|
+
//# sourceMappingURL=tracker-config-CJzPhSHv.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { Gn as
|
|
2
|
+
import { Gn as extractNumberSync, Kn as extractPrefixSync, Yn as parseIssueIdSync, bn as loadProjectsConfigSync, ci as init_errors, fn as init_projects, qn as init_issue_id, rn as getIssuePrefix } from "./config-yaml-D9nfpEx1.js";
|
|
3
3
|
import "effect";
|
|
4
4
|
import { existsSync, readFileSync } from "fs";
|
|
5
5
|
import { join } from "path";
|
|
@@ -120,4 +120,4 @@ var init_tracker_utils = __esmMin((() => {
|
|
|
120
120
|
//#endregion
|
|
121
121
|
export { resolveGitHubIssueSync as n, resolveTrackerTypeSync as r, init_tracker_utils as t };
|
|
122
122
|
|
|
123
|
-
//# sourceMappingURL=tracker-utils-
|
|
123
|
+
//# sourceMappingURL=tracker-utils-DJAOAuMN.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import {
|
|
3
|
-
import { n as init_workspace_config, r as replacePlaceholdersSync } from "./workspace-config-
|
|
2
|
+
import { ci as init_errors, oi as TrackerError } from "./config-yaml-D9nfpEx1.js";
|
|
3
|
+
import { n as init_workspace_config, r as replacePlaceholdersSync } from "./workspace-config-DRYDO7Zr.js";
|
|
4
4
|
import { Effect } from "effect";
|
|
5
5
|
import { readFileSync } from "fs";
|
|
6
6
|
import { resolve } from "path";
|
|
@@ -217,4 +217,4 @@ var init_tunnel = __esmMin((() => {
|
|
|
217
217
|
//#endregion
|
|
218
218
|
export { init_tunnel as n, removeTunnelIngress as r, addTunnelIngress as t };
|
|
219
219
|
|
|
220
|
-
//# sourceMappingURL=tunnel-
|
|
220
|
+
//# sourceMappingURL=tunnel-Cr3ctqxp.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as RateLimited, c as TrackerNotConfigured, i as PlanEmpty, l as WorkspaceCreateError, n as AgentStartError, o as TasksNotInitialized, r as IssueNotFound, s as TrackerApiError, t as AgentAlreadyRunning, u as WorkspaceNotFound } from "./typed-errors-
|
|
1
|
+
import { a as RateLimited, c as TrackerNotConfigured, i as PlanEmpty, l as WorkspaceCreateError, n as AgentStartError, o as TasksNotInitialized, r as IssueNotFound, s as TrackerApiError, t as AgentAlreadyRunning, u as WorkspaceNotFound } from "./typed-errors-DXqf3RnP.js";
|
|
2
2
|
export { AgentAlreadyRunning, AgentStartError, IssueNotFound, PlanEmpty, RateLimited, TasksNotInitialized, TrackerApiError, TrackerNotConfigured, WorkspaceCreateError, WorkspaceNotFound };
|
|
@@ -29,4 +29,4 @@ var AgentStartError = class extends Data.TaggedError("AgentStartError") {};
|
|
|
29
29
|
//#endregion
|
|
30
30
|
export { RateLimited as a, TrackerNotConfigured as c, PlanEmpty as i, WorkspaceCreateError as l, AgentStartError as n, TasksNotInitialized as o, IssueNotFound as r, TrackerApiError as s, AgentAlreadyRunning as t, WorkspaceNotFound as u };
|
|
31
31
|
|
|
32
|
-
//# sourceMappingURL=typed-errors-
|
|
32
|
+
//# sourceMappingURL=typed-errors-DXqf3RnP.js.map
|
|
@@ -37,4 +37,4 @@ var init_types = __esmMin((() => {
|
|
|
37
37
|
//#endregion
|
|
38
38
|
export { PAN_DIRNAME as a, PAN_SESSIONS_FILENAME as c, PENDING_PROMOTION_FILENAME as d, WORKSPACE_RUNTIME_DIRNAME as f, isPanSpecStatus as h, PAN_CONTINUE_FILENAME as i, PAN_SPECS_DIRNAME as l, init_types as m, PAN_CONTEXT_FILENAME as n, PAN_DRAFTS_DIRNAME as o, asPanSpecDocument as p, PAN_CONTINUES_DIRNAME as r, PAN_FEEDBACK_DIRNAME as s, LEGACY_WORKSPACE_RUNTIME_DIRNAME as t, PAN_SPEC_FILENAME as u };
|
|
39
39
|
|
|
40
|
-
//# sourceMappingURL=types-
|
|
40
|
+
//# sourceMappingURL=types-pLpbsNto.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { On as resolveProjectFromIssueSync, fn as init_projects } from "./config-yaml-
|
|
3
|
-
import {
|
|
4
|
-
import { a as writeFeedbackFile, i as init_feedback_writer } from "./feedback-writer-
|
|
5
|
-
import { n as resolveIssueFeedbackTarget, r as surfaceIssueFeedbackNeedsYou, t as init_feedback_target } from "./feedback-target-
|
|
2
|
+
import { On as resolveProjectFromIssueSync, fn as init_projects } from "./config-yaml-D9nfpEx1.js";
|
|
3
|
+
import { Ht as init_messaging, Ut as messageAgent } from "./agent-state-BJhGIJZe.js";
|
|
4
|
+
import { a as writeFeedbackFile, i as init_feedback_writer } from "./feedback-writer-C1gCLFmp.js";
|
|
5
|
+
import { n as resolveIssueFeedbackTarget, r as surfaceIssueFeedbackNeedsYou, t as init_feedback_target } from "./feedback-target-D7GxdUYG.js";
|
|
6
6
|
import { join } from "node:path";
|
|
7
7
|
import { Effect } from "effect";
|
|
8
8
|
//#region ../../lib/cloister/uat-failure-feedback.ts
|
|
@@ -133,4 +133,4 @@ __esmMin((() => {
|
|
|
133
133
|
}))();
|
|
134
134
|
export { clearUatFailureFeedbackAnchor, relayUatFailureFeedbackPromise };
|
|
135
135
|
|
|
136
|
-
//# sourceMappingURL=uat-failure-feedback-
|
|
136
|
+
//# sourceMappingURL=uat-failure-feedback-IZQ-J8jt.js.map
|
package/server/{uat-promote-verification-DmG097QS.js → uat-promote-verification-DXApKcc2.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { On as resolveProjectFromIssueSync, fn as init_projects } from "./config-yaml-
|
|
2
|
-
import { a as init_git_utils, c as rehydrateHeadAnchor } from "./git-utils-
|
|
3
|
-
import { c as init_merge_sync, j as listUatGenerationsSync } from "./merge-sync-
|
|
4
|
-
import { d as getReviewStatusSync, p as init_review_status, w as setReviewStatusSync } from "./review-status-
|
|
1
|
+
import { On as resolveProjectFromIssueSync, fn as init_projects } from "./config-yaml-D9nfpEx1.js";
|
|
2
|
+
import { a as init_git_utils, c as rehydrateHeadAnchor } from "./git-utils-DW8-jIUJ.js";
|
|
3
|
+
import { c as init_merge_sync, j as listUatGenerationsSync } from "./merge-sync-CJpOa0cZ.js";
|
|
4
|
+
import { d as getReviewStatusSync, p as init_review_status, w as setReviewStatusSync } from "./review-status-yOGD2MuK.js";
|
|
5
5
|
import { execFile } from "node:child_process";
|
|
6
6
|
import { promisify } from "node:util";
|
|
7
7
|
//#region ../../lib/cloister/uat-promote-verification.ts
|
|
@@ -89,4 +89,4 @@ async function healUatPromotionVerification(issueId, deps = DEFAULT_HEAL_DEPS) {
|
|
|
89
89
|
//#endregion
|
|
90
90
|
export { buildUatPromotionStamp, healUatPromotionVerification, recordUatPromotionVerdicts };
|
|
91
91
|
|
|
92
|
-
//# sourceMappingURL=uat-promote-verification-
|
|
92
|
+
//# sourceMappingURL=uat-promote-verification-DXApKcc2.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as postUatGenerationStackPayload, c as runUatTrainReconcileAllProjects, i as postUatGenerationPromotePayload, l as startUatTrainReconciler, n as getUatCandidatePayload, o as resolveUatProjectRoot, r as getUatGenerationsPayload, s as runUatTrainReconcile, t as canStartUatTrainReconciler, u as stopUatTrainReconciler } from "./uat-train-
|
|
1
|
+
import { a as postUatGenerationStackPayload, c as runUatTrainReconcileAllProjects, i as postUatGenerationPromotePayload, l as startUatTrainReconciler, n as getUatCandidatePayload, o as resolveUatProjectRoot, r as getUatGenerationsPayload, s as runUatTrainReconcile, t as canStartUatTrainReconciler, u as stopUatTrainReconciler } from "./uat-train-IIZlz7r3.js";
|
|
2
2
|
export { canStartUatTrainReconciler, getUatCandidatePayload, getUatGenerationsPayload, postUatGenerationPromotePayload, postUatGenerationStackPayload, resolveUatProjectRoot, runUatTrainReconcile, runUatTrainReconcileAllProjects, startUatTrainReconciler, stopUatTrainReconciler };
|
|
Binary file
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { i as getAllReviewStatusesFromDb, l as init_review_status_sync } from "./review-status-sync-
|
|
2
|
-
import { G as liveOrderIssueLookup,
|
|
1
|
+
import { i as getAllReviewStatusesFromDb, l as init_review_status_sync } from "./review-status-sync-2C9lk85r.js";
|
|
2
|
+
import { G as liveOrderIssueLookup, W as listBooks, q as orderIssueStoreStatus } from "./flywheel-CjW2L7BS.js";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { existsSync, readdirSync, statSync } from "node:fs";
|
|
5
5
|
//#region ../../lib/cloister/merge-blockers.ts
|
|
@@ -183,4 +183,4 @@ function validateBookForStart(stateRoot, book, options = {}) {
|
|
|
183
183
|
//#endregion
|
|
184
184
|
export { getMergeBlockersPayload as i, hasOrderIssuePrd as n, validateBookForStart as r, createOrderPrdLookup as t };
|
|
185
185
|
|
|
186
|
-
//# sourceMappingURL=validate-
|
|
186
|
+
//# sourceMappingURL=validate-Ur4xH5bN.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as killAllGateProcessGroups, r as runQualityGates } from "./validation-
|
|
1
|
+
import { n as killAllGateProcessGroups, r as runQualityGates } from "./validation-Dr6V4PXx.js";
|
|
2
2
|
export { killAllGateProcessGroups, runQualityGates };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { h as loadConfigSync, p as init_config } from "./config-
|
|
3
|
-
import { n as init_workspace_config, r as replacePlaceholdersSync } from "./workspace-config-
|
|
1
|
+
import { Li as getOverdeckHome, Ri as init_paths, ci as init_errors } from "./config-yaml-D9nfpEx1.js";
|
|
2
|
+
import { h as loadConfigSync, p as init_config } from "./config-ZGjvuR6J.js";
|
|
3
|
+
import { n as init_workspace_config, r as replacePlaceholdersSync } from "./workspace-config-DRYDO7Zr.js";
|
|
4
4
|
import { join } from "node:path";
|
|
5
5
|
import { Effect } from "effect";
|
|
6
6
|
import "fs";
|
|
@@ -237,9 +237,12 @@ function clipGateStream(stream, limit) {
|
|
|
237
237
|
const tailLength = limit - headLength;
|
|
238
238
|
return `${signal.slice(0, headLength)}\n…(${signal.length - limit} chars elided)…\n${signal.slice(-tailLength)}`;
|
|
239
239
|
}
|
|
240
|
-
function
|
|
240
|
+
function formatGatePreview(stdout, stderr) {
|
|
241
241
|
return [clipGateStream(stdout, 4e3), clipGateStream(stderr, 2e3)].filter(Boolean).join("\n--- stderr ---\n");
|
|
242
242
|
}
|
|
243
|
+
function formatGateOutput(stdout, stderr) {
|
|
244
|
+
return [stdout, stderr].filter(Boolean).join("\n--- stderr ---\n");
|
|
245
|
+
}
|
|
243
246
|
function buildQualityGateEnv(gateEnv) {
|
|
244
247
|
const env = { ...process.env };
|
|
245
248
|
for (const key of DASHBOARD_RUNTIME_ENV_KEYS) if (!Object.prototype.hasOwnProperty.call(gateEnv ?? {}, key)) delete env[key];
|
|
@@ -417,7 +420,7 @@ async function runQualityGatesPromise(gates, projectPath, phase = "pre_push", op
|
|
|
417
420
|
}
|
|
418
421
|
const { stdout, stderr } = await execPromise;
|
|
419
422
|
passedGate = true;
|
|
420
|
-
passOutput =
|
|
423
|
+
passOutput = formatGatePreview(stdout, stderr);
|
|
421
424
|
} catch (error) {
|
|
422
425
|
lastError = error;
|
|
423
426
|
if (attempt < maxAttempts) {
|
|
@@ -524,4 +527,4 @@ const runQualityGates = (gates, projectPath, phase = "pre_push", opts = {}) => E
|
|
|
524
527
|
//#endregion
|
|
525
528
|
export { killAllGateProcessGroups as n, runQualityGates as r, DEFAULT_GATES as t };
|
|
526
529
|
|
|
527
|
-
//# sourceMappingURL=validation-
|
|
530
|
+
//# sourceMappingURL=validation-Dr6V4PXx.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as readVerificationArtifact } from "./verification-artifact-
|
|
1
|
+
import { t as readVerificationArtifact } from "./verification-artifact-k5Ftpg0c.js";
|
|
2
2
|
export { readVerificationArtifact };
|
|
@@ -53,4 +53,4 @@ function readVerificationArtifact(workspacePath) {
|
|
|
53
53
|
//#endregion
|
|
54
54
|
export { verificationArtifactPath as n, writeVerificationArtifact as r, readVerificationArtifact as t };
|
|
55
55
|
|
|
56
|
-
//# sourceMappingURL=verification-artifact-
|
|
56
|
+
//# sourceMappingURL=verification-artifact-k5Ftpg0c.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as reconcileInterruptedVerifications, r as runVerificationForIssue } from "./verification-runner-
|
|
1
|
+
import { n as reconcileInterruptedVerifications, r as runVerificationForIssue } from "./verification-runner-Dl13mmsI.js";
|
|
2
2
|
export { reconcileInterruptedVerifications, runVerificationForIssue };
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { $t as findProjectByPathSync,
|
|
2
|
-
import {
|
|
3
|
-
import { i as readReviewStatusMap, n as init_review_status_source } from "./review-status-source-
|
|
4
|
-
import { o as init_lifecycle, s as isXBriefFilename } from "./lifecycle-
|
|
5
|
-
import { s as init_io, t as XBriefMergeConflictError } from "./io-
|
|
6
|
-
import {
|
|
7
|
-
import { H as init_review_status_reconcile, O as capturePipelineStageForIssue, V as MERGED_VERIFICATION_REASON, _ as markWorkspaceStuck, d as getReviewStatusSync, k as init_pipeline, p as init_review_status, w as setReviewStatusSync } from "./review-status-
|
|
8
|
-
import { a as writeFeedbackFile, i as init_feedback_writer } from "./feedback-writer-
|
|
9
|
-
import { n as resolveIssueFeedbackTarget, r as surfaceIssueFeedbackNeedsYou, t as init_feedback_target } from "./feedback-target-
|
|
10
|
-
import { r as runQualityGates, t as DEFAULT_GATES } from "./validation-
|
|
11
|
-
import { r as writeVerificationArtifact, t as readVerificationArtifact } from "./verification-artifact-
|
|
12
|
-
import { n as getXBriefACStatusSync } from "./acceptance-criteria-
|
|
13
|
-
import { n as checkIncompletePlanItemsPromise } from "./done-preflight-
|
|
1
|
+
import { $t as findProjectByPathSync, Li as getOverdeckHome, On as resolveProjectFromIssueSync, Ri as init_paths, Vi as packageRoot, fn as init_projects } from "./config-yaml-D9nfpEx1.js";
|
|
2
|
+
import { Ut as messageAgent, j as setAgentPaused, pn as stopAgent, q as init_agents } from "./agent-state-BJhGIJZe.js";
|
|
3
|
+
import { i as readReviewStatusMap, n as init_review_status_source } from "./review-status-source-Jq0BXmn3.js";
|
|
4
|
+
import { o as init_lifecycle, s as isXBriefFilename } from "./lifecycle-0NOEzomy.js";
|
|
5
|
+
import { s as init_io, t as XBriefMergeConflictError } from "./io-DKrWd3gX.js";
|
|
6
|
+
import { d as resolveWorkspaceRepoRootsSync, i as init_project_repos } from "./project-repos--QeCg7yQ.js";
|
|
7
|
+
import { H as init_review_status_reconcile, O as capturePipelineStageForIssue, V as MERGED_VERIFICATION_REASON, _ as markWorkspaceStuck, d as getReviewStatusSync, k as init_pipeline, p as init_review_status, w as setReviewStatusSync } from "./review-status-yOGD2MuK.js";
|
|
8
|
+
import { a as writeFeedbackFile, i as init_feedback_writer } from "./feedback-writer-C1gCLFmp.js";
|
|
9
|
+
import { n as resolveIssueFeedbackTarget, r as surfaceIssueFeedbackNeedsYou, t as init_feedback_target } from "./feedback-target-D7GxdUYG.js";
|
|
10
|
+
import { r as runQualityGates, t as DEFAULT_GATES } from "./validation-Dr6V4PXx.js";
|
|
11
|
+
import { n as verificationArtifactPath, r as writeVerificationArtifact, t as readVerificationArtifact } from "./verification-artifact-k5Ftpg0c.js";
|
|
12
|
+
import { n as getXBriefACStatusSync } from "./acceptance-criteria-CHtDkHEL.js";
|
|
13
|
+
import { n as checkIncompletePlanItemsPromise } from "./done-preflight-D4ukUf-S.js";
|
|
14
14
|
import { join } from "node:path";
|
|
15
15
|
import { Effect } from "effect";
|
|
16
16
|
import { basename as basename$1, dirname as dirname$1, join as join$1 } from "path";
|
|
@@ -54,6 +54,25 @@ function isProcessAlive(pid) {
|
|
|
54
54
|
return false;
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Kill an expired worker and its gate children. The worker is spawned
|
|
59
|
+
* detached, so it leads its own process group — signal the group first so a
|
|
60
|
+
* mid-gate `npm`/`bun` child dies with it, falling back to the bare pid.
|
|
61
|
+
* Best-effort and async; callers never block on the outcome.
|
|
62
|
+
*/
|
|
63
|
+
async function killWorkerProcessGroup(pid) {
|
|
64
|
+
for (const signal of ["SIGTERM", "SIGKILL"]) {
|
|
65
|
+
try {
|
|
66
|
+
process.kill(-pid, signal);
|
|
67
|
+
} catch {
|
|
68
|
+
try {
|
|
69
|
+
process.kill(pid, signal);
|
|
70
|
+
} catch {}
|
|
71
|
+
}
|
|
72
|
+
if (!isProcessAlive(pid)) return;
|
|
73
|
+
await new Promise((resolve) => setTimeout(resolve, 1e3));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
57
76
|
function readVerificationWorkerState(issueId) {
|
|
58
77
|
try {
|
|
59
78
|
const parsed = JSON.parse(readFileSync(statePath(issueId), "utf8"));
|
|
@@ -106,18 +125,26 @@ async function waitForResult(state) {
|
|
|
106
125
|
message: `Verification worker ${state.pid} exited before writing a result`
|
|
107
126
|
};
|
|
108
127
|
const deadline = verificationWorkerDeadline(readVerificationWorkerState(state.issueId) ?? state);
|
|
109
|
-
if (deadline !== null && Date.now() >= deadline)
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
128
|
+
if (deadline !== null && Date.now() >= deadline) {
|
|
129
|
+
killWorkerProcessGroup(state.pid);
|
|
130
|
+
return {
|
|
131
|
+
outcome: "error",
|
|
132
|
+
message: `Verification worker ${state.pid} exceeded ${MAX_RUN_MS}ms after CPU admission`
|
|
133
|
+
};
|
|
134
|
+
}
|
|
113
135
|
await new Promise((resolve) => setTimeout(resolve, POLL_MS));
|
|
114
136
|
}
|
|
115
137
|
}
|
|
116
138
|
async function runSupervisedVerification(issueId, workspacePath, workspaceInfo, logPrefix, options = {}) {
|
|
117
139
|
const existing = readVerificationWorkerState(issueId);
|
|
118
140
|
if (existing && existing.workspacePath === workspacePath && isProcessAlive(existing.pid) && !existsSync(existing.resultPath)) {
|
|
119
|
-
|
|
120
|
-
|
|
141
|
+
const existingDeadline = verificationWorkerDeadline(existing);
|
|
142
|
+
if (existingDeadline === null || Date.now() < existingDeadline) {
|
|
143
|
+
console.log(`[${logPrefix}] Joining live verification worker ${existing.pid} for ${issueId}`);
|
|
144
|
+
return waitForResult(existing);
|
|
145
|
+
}
|
|
146
|
+
console.warn(`[${logPrefix}] Verification worker ${existing.pid} for ${issueId} is past its deadline — killing it and starting fresh`);
|
|
147
|
+
await killWorkerProcessGroup(existing.pid);
|
|
121
148
|
}
|
|
122
149
|
const dir = workerDir(issueId);
|
|
123
150
|
mkdirSync(dir, { recursive: true });
|
|
@@ -610,7 +637,7 @@ async function runVerificationForIssuePromise(issueId, workspacePath, workspaceI
|
|
|
610
637
|
verificationNotes: `Verification deferred: ${failedGate.error}. Workspace stack rebuild triggered; verification re-runs on the next cycle.`
|
|
611
638
|
});
|
|
612
639
|
try {
|
|
613
|
-
const { rebuildWorkspaceStack } = await import("./rebuild-stack-
|
|
640
|
+
const { rebuildWorkspaceStack } = await import("./rebuild-stack-DrMyA_mA.js");
|
|
614
641
|
const rebuildResult = await Effect.runPromise(rebuildWorkspaceStack(issueId, { onProgress: (m) => console.log(`[${logPrefix}] ${issueId} stack rebuild: ${m}`) }));
|
|
615
642
|
if (!rebuildResult.success) console.warn(`[${logPrefix}] Stack rebuild for ${issueId} failed: ${rebuildResult.error}`);
|
|
616
643
|
} catch (err) {
|
|
@@ -631,9 +658,8 @@ async function runVerificationForIssuePromise(issueId, workspacePath, workspaceI
|
|
|
631
658
|
if (failedGate) {
|
|
632
659
|
const newCycleCount = currentCycles + 1;
|
|
633
660
|
const failedCheck = failedGate.name;
|
|
634
|
-
const
|
|
635
|
-
const
|
|
636
|
-
const summary = `Verification FAILED at ${failedCheck} (${failedGate.durationMs}ms):\n\n${truncatedOutput}`;
|
|
661
|
+
const fullOutputPath = verificationArtifactPath(workspacePath);
|
|
662
|
+
const summary = `Verification FAILED at ${failedCheck} (${failedGate.durationMs}ms).\n\nFull gate output: ${fullOutputPath}`;
|
|
637
663
|
setReviewStatusSync(issueId, {
|
|
638
664
|
reviewStatus: "pending",
|
|
639
665
|
verificationStatus: "failed",
|
|
@@ -643,7 +669,7 @@ async function runVerificationForIssuePromise(issueId, workspacePath, workspaceI
|
|
|
643
669
|
});
|
|
644
670
|
const shouldEscalate = shouldEscalateVerificationFailure(currentStatus, failedCheck, newCycleCount);
|
|
645
671
|
if (shouldEscalate) await escalateVerificationStuck(issueId, failedCheck, newCycleCount, summary, logPrefix);
|
|
646
|
-
const feedbackBody = shouldEscalate ? `VERIFICATION STUCK for ${issueId} (attempt ${newCycleCount}/3):\n\nFailed check: ${failedCheck}\n\n${summary}\n\n${buildFinalFailureInstructions(issueId)}` : `VERIFICATION FAILED for ${issueId} (attempt ${newCycleCount}/3):\n\nFailed check: ${failedCheck}\n\n${summary}\n\n## REQUIRED: Fix the failing check, push, and request a new review\n\n1. Read the
|
|
672
|
+
const feedbackBody = shouldEscalate ? `VERIFICATION STUCK for ${issueId} (attempt ${newCycleCount}/3):\n\nFailed check: ${failedCheck}\n\n${summary}\n\n${buildFinalFailureInstructions(issueId)}` : `VERIFICATION FAILED for ${issueId} (attempt ${newCycleCount}/3):\n\nFailed check: ${failedCheck}\n\n${summary}\n\n## REQUIRED: Fix the failing check, push, and request a new review\n\n1. Read the complete gate output at \`${fullOutputPath}\` carefully\n2. Fix the code causing the failure\n3. Run the failing check locally to verify it passes\n4. Commit every change\n5. Invoke the /rebase-and-submit skill for ${issueId} — this is an atomic task. Because verification already ran once (a PR exists), the skill will push your branch and run \`pan review request ${issueId} -m "Fixed ${failedCheck}"\` for you. NEVER curl \`/api/review/...\` or any dashboard endpoint — \`pan review request\` is the only supported re-entry point.\n\nThe command can run for several minutes. A yielded exec result or background-terminal notice means it is still running, not that it succeeded. Poll the same terminal until it exits, inspect the real exit code, then confirm \`pan show ${issueId}\` or \`pan review pending\` shows the issue re-entered review. Do NOT stop between steps or after pushing; stop only after exit code 0 and the observed pipeline state change.`;
|
|
647
673
|
try {
|
|
648
674
|
const fileResult = await Effect.runPromise(writeFeedbackFile({
|
|
649
675
|
issueId,
|
|
@@ -806,7 +832,7 @@ async function runVerificationForIssuePromise(issueId, workspacePath, workspaceI
|
|
|
806
832
|
if (changesetHasContent === void 0) console.warn(`[${logPrefix}] empty-changeset guard skipped (one or more repo diffs failed)`);
|
|
807
833
|
let lastVerifiedCommit;
|
|
808
834
|
try {
|
|
809
|
-
const { snapshotWorkspaceHeadsPromise } = await import("./git-utils-
|
|
835
|
+
const { snapshotWorkspaceHeadsPromise } = await import("./git-utils-CsKV0Dis.js");
|
|
810
836
|
lastVerifiedCommit = await snapshotWorkspaceHeadsPromise(issueId, workspacePath);
|
|
811
837
|
} catch {}
|
|
812
838
|
const prePassMergedOutcome = skipMergedVerification(issueId, logPrefix);
|
|
@@ -823,7 +849,7 @@ async function runVerificationForIssuePromise(issueId, workspacePath, workspaceI
|
|
|
823
849
|
const repo = findProjectByPathSync(workspacePath)?.github_repo;
|
|
824
850
|
if (!repo || !repo.includes("/")) return;
|
|
825
851
|
const [owner, name] = repo.split("/");
|
|
826
|
-
const { postOverdeckTestsStatus } = await import("./github-app-
|
|
852
|
+
const { postOverdeckTestsStatus } = await import("./github-app-Oi5hdn1n.js");
|
|
827
853
|
await postOverdeckTestsStatus(workspacePath, owner, name, "success", "Verification gate passed");
|
|
828
854
|
} catch (err) {
|
|
829
855
|
console.warn(`[${logPrefix}] Failed to post overdeck/tests status: ${err.message}`);
|
|
@@ -861,4 +887,4 @@ function runVerificationForIssueInProcess(issueId, workspacePath, workspaceInfo,
|
|
|
861
887
|
//#endregion
|
|
862
888
|
export { workspaceChangesetHasContent as a, runVerificationForIssueInProcess as i, reconcileInterruptedVerifications as n, runVerificationForIssue as r, changesetHasNoContent as t };
|
|
863
889
|
|
|
864
|
-
//# sourceMappingURL=verification-runner-
|
|
890
|
+
//# sourceMappingURL=verification-runner-Dl13mmsI.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { a as init_work_agent_prompt, c as writeStoryFeatureContext, i as getTrackerContext, n as buildWorkAgentPrompt, o as readFeatureContext, r as extractStitchDesigns, s as readPlanningContext, t as buildPolyrepoContext } from "./work-agent-prompt-CioeOuM4.js";
|
|
2
|
+
init_work_agent_prompt();
|
|
3
|
+
export { buildPolyrepoContext, buildWorkAgentPrompt, extractStitchDesigns, getTrackerContext, readFeatureContext, readPlanningContext, writeStoryFeatureContext };
|