@overdeck/desktop 0.49.2 → 0.50.1
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-CHtDkHEL.js → acceptance-criteria-DFyrgxW5.js} +2 -2
- package/server/{active-dashboard-bundle-Byh6sP-q.js → active-dashboard-bundle-DbfgP8TS.js} +2 -2
- package/server/{activity-logger-Ck8qoluj.js → activity-logger-DtdKxzPh.js} +1 -1
- package/server/{activity-logger-BWZhVphb.js → activity-logger-ru8ggv-d.js} +3 -3
- package/server/{advancing-selfheal-65W4yUQi.js → advancing-selfheal-BdZ1iFJf.js} +11 -6
- package/server/{agent-gc-BNUudFnt.js → agent-gc-DBMg1vIc.js} +11 -11
- package/server/{agent-idle-ONBssBN_.js → agent-idle-CQlwmcRR.js} +11 -11
- package/server/{agent-state-CM8iVw5B.js → agent-state-B0v3fvGI.js} +1 -1
- package/server/{agent-state-BJhGIJZe.js → agent-state-BnyNoDWQ.js} +345 -402
- package/server/{agent-state-service-CiIuwzIs.js → agent-state-service-D95wBjA3.js} +5 -5
- package/server/{agent-state-service-CzHfoqKQ.js → agent-state-service-GK2Uy8zc.js} +1 -1
- package/server/{agents-DpCuoF65.js → agents-BdkVgjxC.js} +1 -1
- package/server/{agents-jXgqpHca.js → agents-DMs1aLRU.js} +4 -4
- package/server/{archive-planning-CGkU6UeL.js → archive-planning-CFf5FVHQ.js} +5 -5
- package/server/archive-planning-CNSWQPvz.js +2 -0
- package/server/{artifact-index-jobs-Ck4NRRkY.js → artifact-index-jobs-BdeB5RIY.js} +2 -2
- package/server/{assemble-CyvEBmmq.js → assemble-D88iFkP-.js} +2 -2
- package/server/{auto-spawn-consent-Dc4mtM-B.js → auto-spawn-consent-C1avLtkk.js} +7 -7
- package/server/{backlog-auto-trigger-CCEpr4YT.js → backlog-auto-trigger-oKIGNBzZ.js} +3 -3
- package/server/{behavior-BiCQzqyT.js → behavior-CPX0E2Fj.js} +49 -7
- package/server/{bridge-pool-patrol-Ce8rNPym.js → bridge-pool-patrol-DstxbANA.js} +2 -2
- package/server/{briefing-freshness-e_OEYZEe.js → briefing-freshness-FF0WLPMc.js} +2 -2
- package/server/build-info-Df2tkRrB.js +2 -0
- package/server/{build-info-BRw4QlYO.js → build-info-DiA6h4T6.js} +3 -3
- package/server/{checkpoint-manager-DOwRGFff.js → checkpoint-manager-CkXA-F6Z.js} +2 -2
- package/server/{checkpoint-manager-CKr42Usw.js → checkpoint-manager-D74ueYZp.js} +1 -1
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-Cszp_0Np.js → checkpoints-Ds83fUb1.js} +2 -2
- package/server/{checkpoints-Cb6CWT4S.js → checkpoints-JIKy0UFv.js} +1 -1
- package/server/{claude-hooks-provision-C5JHpxTS.js → claude-hooks-provision-BJ8LNIAe.js} +1 -1
- package/server/{claude-hooks-provision-Cer2eFfj.js → claude-hooks-provision-D7Z8kANm.js} +2 -2
- package/server/{claude-permissions-Bc5kjX1q.js → claude-permissions-Bn53HCXr.js} +18 -3
- package/server/{claude-settings-overlay-m-VVZej1.js → claude-settings-overlay-CqJZjFqv.js} +2 -2
- package/server/{claude-settings-overlay-C7rWsnya.js → claude-settings-overlay-QByq1SQa.js} +1 -1
- package/server/{cli-BmczsfD6.js → cli-BXmAb7vN.js} +11 -11
- package/server/cli-BjznnCC3.js +2 -0
- package/server/{cliproxy-BpYpkogS.js → cliproxy-L_2OxNJf.js} +2 -2
- package/server/{cliproxy-_yUU0HRY.js → cliproxy-ltFu5xfR.js} +1 -1
- package/server/{close-issue-CxvRD0UI.js → close-issue-BZAf0Ii-.js} +5 -5
- package/server/{closed-issue-reaper-nMLRi5de.js → closed-issue-reaper-BJa8SbvQ.js} +13 -13
- package/server/{closed-issue-reaper-omOcUDBl.js → closed-issue-reaper-DVtyOI4C.js} +1 -1
- package/server/{codex-DZhFfcWu.js → codex-BqLZKVNm.js} +1 -1
- package/server/{codex-KaSKE-R3.js → codex-DSs-3aOm.js} +6 -6
- package/server/{compaction-continuation-Bjfi70G-.js → compaction-continuation-TG0HYkOq.js} +3 -3
- package/server/{config-ZGjvuR6J.js → config-Cx3N6gWz.js} +2 -2
- package/server/{config-Doq_tF-f.js → config-DP0VV7rX.js} +2 -2
- package/server/{config-CH1AqqIQ.js → config-DURnId0k.js} +1 -1
- package/server/{config-yaml-D9nfpEx1.js → config-yaml-OoH-ZpTb.js} +48 -9
- package/server/{conflict-gate-DcUTY4Gb.js → conflict-gate-SgOELW84.js} +5 -5
- package/server/{conflict-gate-D4XCtrm2.js → conflict-gate-pMfhBEVB.js} +1 -1
- package/server/{context-layers-BGj2Y9l3.js → context-layers-D0QBOPJJ.js} +2 -2
- package/server/{context-layers-BBTKP-Y4.js → context-layers-LY5zt0da.js} +3 -3
- package/server/{continue-i7Revg8D.js → continue-Cmzd6leL.js} +2 -2
- package/server/{control-settings-BMoDHY1G.js → control-settings-Bdud_B1j.js} +308 -5
- package/server/{conversation-compaction-DzIjYMfg.js → conversation-compaction-BX9UR8nl.js} +1 -1
- package/server/{conversation-compaction-D4VOmF7p.js → conversation-compaction-dFx_2wpa.js} +8 -8
- package/server/{conversation-service-CzZUJFEx.js → conversation-service-B3h1erHm.js} +1 -1
- package/server/{conversation-service-tQCIbBVZ.js → conversation-service-zgLM2g2D.js} +37 -13
- package/server/{conversations-bFDaD5YN.js → conversations-Ch7UGi0F.js} +1 -1
- package/server/{conversations-C75EFFjf.js → conversations-JyrMSeOh.js} +5 -5
- package/server/{cost-CiIwxH1D.js → cost-CxXv7ei-.js} +10 -2
- package/server/cost-DR57uJFP.js +838 -0
- package/server/{cost-BCWEkvro.js → cost-MZ7EZFDc.js} +3 -3
- package/server/{cost-sync-DOkdE_yB.js → cost-sync-Bq_dyq9k.js} +3 -3
- package/server/{dag-BPc74hwj.js → dag-CKUsr8wB.js} +2 -2
- package/server/{dangerous-git-ops-By9iguTP.js → dangerous-git-ops-BOtXCFkT.js} +1 -1
- package/server/dashboard-db-worker.js +61 -11
- package/server/{deacon-CzSZMtb-.js → deacon-BUOpTnmQ.js} +3 -3
- package/server/{deacon-B24dNzr8.js → deacon-C7qZxRuW.js} +125 -165
- package/server/{deacon-canonical-state-CkvxRPck.js → deacon-canonical-state-hcaZgjoT.js} +2 -2
- package/server/{deacon-event-client-Do6Z2gKl.js → deacon-event-client-Coiopt4u.js} +2 -2
- package/server/{deacon-event-client-BYIQBu0T.js → deacon-event-client-DJ71Tifg.js} +1 -1
- package/server/{deacon-nudge-log-CzM9JA9t.js → deacon-nudge-log-pcliw8Dr.js} +1 -1
- package/server/{deacon-pending-lifecycle-BObEdT-L.js → deacon-pending-lifecycle-Dv0-8bZG.js} +3 -3
- package/server/deacon.js +11 -11
- package/server/dead-end-trip-B91w2PGV.js +2 -0
- package/server/{dead-end-trip-CnVmjnya.js → dead-end-trip-DH_hA7yS.js} +3 -3
- package/server/{delivery-gyce0vQ7.js → delivery-zJM4aIkf.js} +1 -1
- package/server/{deploy-patrol-CEwwEYDM.js → deploy-patrol-Cv96N0s6.js} +8 -8
- package/server/deploy-queue-2cN86Lg4.js +2 -0
- package/server/{deploy-queue-r96ojDI3.js → deploy-queue-EcksuKE2.js} +2 -2
- package/server/{deploy-window-D_3hhfxt.js → deploy-window-BXbzS0zN.js} +4 -4
- package/server/{deploy-window-DeJK8mTK.js → deploy-window-CHgL_TTN.js} +1 -1
- package/server/{dev-supervisor-DZWwpENk.js → dev-supervisor-lNaYB136.js} +2 -2
- package/server/{devcontainer-renderer-d-9dCV_2.js → devcontainer-renderer-q8q9aXRd.js} +3 -3
- package/server/{dist-DsLAsFSh.js → dist-CoR2sivG.js} +1 -1
- package/server/dist-FHv1s5ez.js +3 -0
- package/server/{docker-CRPHBylA.js → docker-BNd0tMdS.js} +1 -1
- package/server/{docker-B2mUBzGk.js → docker-Dk-shfga.js} +3 -3
- package/server/{dod-DWtilRLx.js → dod-BAk5arLF.js} +1 -1
- package/server/{done-preflight-BDVdWed5.js → done-preflight-AiXnYYAy.js} +1 -1
- package/server/{done-preflight-D4ukUf-S.js → done-preflight-CukR3Br8.js} +5 -5
- package/server/{durable-review-pipeline-CaCbEJSt.js → durable-review-pipeline-BOEZ0chh.js} +1 -1
- package/server/{durable-review-pipeline-B3OS2_He.js → durable-review-pipeline-Djx_lvFd.js} +1 -1
- package/server/{ensure-devcontainer-rGSh0JHK.js → ensure-devcontainer-BjMV_gdX.js} +1 -1
- package/server/{ensure-devcontainer-BUeBRjmm.js → ensure-devcontainer-YXncXZ5Q.js} +4 -4
- package/server/{esm-shims-oAaKIa-a.js → esm-shims-deFq5Hhl.js} +1 -1
- package/server/{event-store-Db4w4YIY.js → event-store-CFnLP8w-.js} +1 -1
- package/server/{event-store-BCSgMubf.js → event-store-DbjldlXW.js} +5 -5
- package/server/{event-store-provider-DlSQND3V.js → event-store-provider-Bu1Qrg6v.js} +1 -1
- package/server/{events-B6zioJA_.js → events-Bb2x5ijT.js} +3 -3
- package/server/{factory-BrdqXBeK.js → factory-DfIQG-qW.js} +4 -4
- package/server/{feature-registry-storage-zh3ZXW6f.js → feature-registry-storage-BzAGS4DA.js} +2 -2
- package/server/{features-BGntOWdy.js → features-KxOILHX8.js} +2 -2
- package/server/{feedback-stuck-retirement-DpA5u1kt.js → feedback-stuck-retirement-BqTHm-1Z.js} +2 -2
- package/server/{feedback-target-D7GxdUYG.js → feedback-target-BjLidX0M.js} +10 -10
- package/server/{feedback-target-Ddqk93NF.js → feedback-target-D2CIZFwc.js} +1 -1
- package/server/{feedback-writer-CH2846DP.js → feedback-writer-BrSQ4fC-.js} +1 -1
- package/server/{feedback-writer-C1gCLFmp.js → feedback-writer-Dgrma-L1.js} +5 -5
- package/server/{flywheel-CjW2L7BS.js → flywheel-D5FchYg4.js} +16 -16
- package/server/{flywheel-HJt7QdWP.js → flywheel-Ds0eOd1P.js} +1 -1
- package/server/{flywheel-v1cCOBx-.js → flywheel-X6kvGnf2.js} +15 -15
- package/server/{flywheel-merge-order-D_yyAlND.js → flywheel-merge-order-BTY73Efv.js} +17 -15
- package/server/{flywheel-merge-order-4fNRN2F2.js → flywheel-merge-order-PTHnouQS.js} +1 -1
- package/server/{forge-RVTCK_5X.js → forge-B08cRXEb.js} +2 -2
- package/server/forge-egNLsjVi.js +2 -0
- package/server/{from-BnLgKYvw.js → from-C3dzmjSO.js} +1 -1
- package/server/{fs-lock-C7J-ugIf.js → fs-lock-DfiYlr5u.js} +2 -2
- package/server/{fts-operations-CU0B5WUx.js → fts-operations-Do1SP0w4.js} +2 -2
- package/server/{git-info-BSrI9owC.js → git-info-DMOSfJ9I.js} +1 -1
- package/server/{git-utils-DW8-jIUJ.js → git-utils-DfpFkvwk.js} +4 -4
- package/server/{git-utils-CsKV0Dis.js → git-utils-fcK3ZRNj.js} +1 -1
- package/server/{github-app-7ywLhuZO.js → github-app-Co8ZhyUJ.js} +2 -2
- package/server/{github-app-Oi5hdn1n.js → github-app-HAqQZZRD.js} +1 -1
- package/server/{github-client-Cy0fSj1a.js → github-client-C7MUxFzX.js} +1 -1
- package/server/{github-client-DAbuXLuk.js → github-client-wqbDCmlL.js} +2 -2
- package/server/{github-pr-lookup-Dhh3ec1V.js → github-pr-lookup-DdLCDdu9.js} +2 -2
- package/server/{harness-binary-tMmgJfC1.js → harness-binary-BuakhXkB.js} +2 -2
- package/server/{harness-resolve-DusNpVEe.js → harness-resolve-CISjc9FR.js} +4 -4
- package/server/{health-events-BYDZ9n2i.js → health-events-9RhRGZK1.js} +1 -1
- package/server/{health-events-DNw9Mzw9.js → health-events-CIE7gy34.js} +2 -2
- package/server/{hooks-B4wj32l2.js → hooks-CmL3TXla.js} +1 -1
- package/server/{hooks-BjBjxqNh.js → hooks-D55VTdQS.js} +2 -2
- package/server/{hume-BP9YbxaE.js → hume-1FJmNDTq.js} +2 -2
- package/server/hume-gXLmRhmN.js +3 -0
- package/server/{identity-C23uY8dZ.js → identity-CZbJ0xpl.js} +3 -3
- package/server/{idle-stack-reaper-BSxb1bln.js → idle-stack-reaper-CjovDCet.js} +4 -4
- package/server/{idle-stack-reaper-Bw0rU9GC.js → idle-stack-reaper-DhbFdkWv.js} +1 -1
- package/server/{in-flight-guard-DuxabAHT.js → in-flight-guard-B7khcBdQ.js} +1 -1
- package/server/{infra-CHIvOb9q.js → infra-BbSWNOpH.js} +10 -4
- package/server/{injection-BYUt8ml1.js → injection-BSnn_10a.js} +8 -8
- package/server/{injection-BviePcm3.js → injection-DsQDBSEi.js} +1 -1
- package/server/inspect-agent-BuSYgRQs.js +2 -0
- package/server/{inspect-agent-sV_19NxZ.js → inspect-agent-DS8j2v6U.js} +12 -12
- package/server/{internal-token-DoVzb4b7.js → internal-token-CUKcTWSG.js} +2 -2
- package/server/{internal-token-BOtIRJU7.js → internal-token-CkrMLCLU.js} +1 -1
- package/server/{io-DKrWd3gX.js → io-BgzG56av.js} +4 -4
- package/server/{issue-closed-6RQsAjDX.js → issue-closed-DZEwD3ol.js} +7 -7
- package/server/{issue-lifecycle-DOPVv7xz.js → issue-lifecycle-Bnfbpkmk.js} +1 -1
- package/server/{issue-lifecycle-D9nLErvS.js → issue-lifecycle-LgYeE1o2.js} +25 -25
- package/server/{issue-service-singleton-B2xy-IS9.js → issue-service-singleton-Bsb0GaY8.js} +10 -10
- package/server/{issue-service-singleton-CvgNAWqK.js → issue-service-singleton-COEqWNKE.js} +1 -1
- package/server/{issue-title-fallback-DTSCQVu0.js → issue-title-fallback-D4_b2XwP.js} +3 -3
- package/server/{issues-e_Ck1Ln2.js → issues-DYAEUW45.js} +2 -2
- package/server/{jsonl-parser-DqxVCZ1k.js → jsonl-parser-1IqHI9Yb.js} +3 -3
- package/server/{jsonl-resolver-07OS3qOr.js → jsonl-resolver-BJ8Hg-yD.js} +8 -8
- package/server/{kimi-code-vtXl2DR5.js → kimi-code-Cdkk9vRU.js} +1 -1
- package/server/{kimi-code-BjtAHIz1.js → kimi-code-DwqLCWFw.js} +11 -11
- package/server/{kimi-parser-B1lgy2Vt.js → kimi-parser-DFsZQArz.js} +2 -2
- package/server/{label-cleanup-D2zUMasf.js → label-cleanup-Bej6xDZK.js} +3 -3
- package/server/{lifecycle-0NOEzomy.js → lifecycle-BibLMHBH.js} +2 -2
- package/server/{lifecycle-DaCovZwn.js → lifecycle-CMpSB9sn.js} +6 -6
- package/server/{lifecycle-io-6WL46dsB.js → lifecycle-io-CCCAMefe.js} +5 -5
- package/server/{lifecycle-io-BBMTaP7S.js → lifecycle-io-CLWwYZaR.js} +1 -1
- package/server/{linear-client-BTGApNLo.js → linear-client-BtYl16Cy.js} +1 -1
- package/server/{linear-client-7fQThJTc.js → linear-client-fpL-qJEa.js} +2 -2
- package/server/{linear-mcp-auth-B8pYRsiU.js → linear-mcp-auth-CQ7ROT1X.js} +1 -1
- package/server/{linear-mcp-auth-Nk5s3L9M.js → linear-mcp-auth-nAYWoUbH.js} +5 -5
- package/server/memory-fts-worker.js +1 -1
- package/server/{memory-governor-Cqvbusr4.js → memory-governor-Mi5zF5zw.js} +87 -21
- package/server/{memory-pressure-patrol-DPb8foam.js → memory-pressure-patrol-CDeDh46A.js} +38 -14
- package/server/{merge-BB_bjJ9a.js → merge-DCuDLiy9.js} +1 -1
- package/server/{merge-FZ78_cEz.js → merge-_XIivhkq.js} +3 -3
- package/server/{merge-agent-BuoC_PRZ.js → merge-agent-svBDRWB6.js} +2 -2
- package/server/{merge-agent-B3jRrlS1.js → merge-agent-zF9vqWqY.js} +31 -31
- package/server/{merge-batch-B8bVjFWS.js → merge-batch-BJjzUUL7.js} +1 -1
- package/server/{merge-completeness-DQt7Qa7i.js → merge-completeness-CQPqu-pI.js} +4 -4
- package/server/{merge-completeness-DkdabVch.js → merge-completeness-CeQheehh.js} +1 -1
- package/server/merge-eligibility-CJrBhQQe.js +3 -0
- package/server/merge-eligibility-DhxVE8qU.js +51 -0
- package/server/merge-ops-CUzpOPtO.js +2 -0
- package/server/{merge-rebase-qq40s91P.js → merge-rebase-Bjo45m3k.js} +2 -2
- package/server/merge-rebase-DkfcUT60.js +2 -0
- package/server/{merge-set-BmRRflt0.js → merge-set-COZvz2nx.js} +4 -4
- package/server/{merge-set-BTNYvxM3.js → merge-set-ChxZgjBB.js} +1 -1
- package/server/{merge-sync-CJpOa0cZ.js → merge-sync-CCi1Esdx.js} +2 -2
- package/server/{merge-sync-0m2Q087q.js → merge-sync-DuJ6Vkl3.js} +1 -1
- package/server/{merge-train-iwKqjtCF.js → merge-train-DTJXF8ph.js} +4 -4
- package/server/{merge-train-deps-CH5Mr3vN.js → merge-train-deps-C0P0qGKe.js} +4 -4
- package/server/{merge-verification-JJc5GC2t.js → merge-verification-C5FexOBZ.js} +6 -6
- package/server/{merged-docker-cleanup-worker-CrhTdxZV.js → merged-docker-cleanup-worker-0SEDG3Ao.js} +1 -1
- package/server/{merged-docker-cleanup-worker-BOqWA373.js → merged-docker-cleanup-worker-C-kSp_jw.js} +3 -3
- package/server/{messaging-nuwStbdQ.js → messaging-DQi-WEFB.js} +1 -1
- package/server/{multipart-parser-DxuW_rZV.js → multipart-parser-BYwfKOVU.js} +2 -2
- package/server/{no-resume-mode-xuYLFhLw.js → no-resume-mode-DjMQRkId.js} +1 -1
- package/server/node_modules/.package-lock.json +28 -28
- 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/70_cli/10_basics.ts +4 -2
- 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/package.json +6 -6
- 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/@types/node/README.md +1 -1
- package/server/node_modules/@types/node/buffer.buffer.d.ts +10 -5
- package/server/node_modules/@types/node/buffer.d.ts +1 -0
- package/server/node_modules/@types/node/crypto.d.ts +2 -4
- package/server/node_modules/@types/node/dgram.d.ts +119 -4
- package/server/node_modules/@types/node/diagnostics_channel.d.ts +4 -4
- package/server/node_modules/@types/node/ffi.d.ts +1 -1
- package/server/node_modules/@types/node/fs/promises.d.ts +61 -65
- package/server/node_modules/@types/node/fs.d.ts +86 -76
- package/server/node_modules/@types/node/http.d.ts +18 -2
- package/server/node_modules/@types/node/http2.d.ts +12 -4
- package/server/node_modules/@types/node/index.d.ts +1 -0
- package/server/node_modules/@types/node/inspector.d.ts +2 -1
- package/server/node_modules/@types/node/net.d.ts +108 -16
- package/server/node_modules/@types/node/package.json +3 -3
- package/server/node_modules/@types/node/perf_hooks.d.ts +31 -19
- package/server/node_modules/@types/node/process.d.ts +52 -0
- package/server/node_modules/@types/node/quic.d.ts +252 -42
- package/server/node_modules/@types/node/sqlite.d.ts +6 -2
- package/server/node_modules/@types/node/stream/iter.d.ts +4 -4
- package/server/node_modules/@types/node/stream/web.d.ts +20 -0
- package/server/node_modules/@types/node/test.d.ts +36 -0
- package/server/node_modules/@types/node/tls.d.ts +50 -15
- package/server/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +5 -0
- package/server/node_modules/@types/node/ts5.6/index.d.ts +1 -0
- package/server/node_modules/@types/node/ts5.7/index.d.ts +1 -0
- package/server/node_modules/@types/node/tty.d.ts +4 -3
- package/server/node_modules/@types/node/vfs.d.ts +211 -0
- package/server/node_modules/@types/node/vm.d.ts +1 -1
- package/server/node_modules/@types/node/zlib.d.ts +17 -0
- 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/msgpackr/README.md +1 -0
- package/server/node_modules/msgpackr/dist/index-no-eval.cjs +13 -7
- 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 +13 -7
- 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 +13 -7
- package/server/node_modules/msgpackr/dist/node.cjs.map +1 -1
- package/server/node_modules/msgpackr/dist/test.js +63 -7
- 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/index.d.cts +1 -0
- package/server/node_modules/msgpackr/index.d.ts +1 -0
- package/server/node_modules/msgpackr/pack.js +2 -2
- 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/node_modules/protobufjs/dist/light/protobuf.js +59 -6
- package/server/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
- package/server/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
- package/server/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
- package/server/node_modules/protobufjs/dist/minimal/protobuf.js +22 -2
- package/server/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
- package/server/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
- package/server/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
- package/server/node_modules/protobufjs/dist/protobuf.js +59 -6
- package/server/node_modules/protobufjs/dist/protobuf.js.map +1 -1
- package/server/node_modules/protobufjs/dist/protobuf.min.js +3 -3
- package/server/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
- package/server/node_modules/protobufjs/package.json +1 -1
- package/server/node_modules/protobufjs/src/decoder.js +32 -3
- package/server/node_modules/protobufjs/src/reader.js +20 -0
- package/server/node_modules/protobufjs/src/wrappers.js +5 -1
- package/server/node_modules/undici/docs/docs/api/Client.md +4 -0
- package/server/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +3 -2
- package/server/node_modules/undici/docs/docs/api/EventSource.md +4 -0
- package/server/node_modules/undici/docs/docs/api/Interceptors.md +7 -3
- package/server/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +7 -1
- package/server/node_modules/undici/lib/cache/memory-cache-store.js +2 -2
- package/server/node_modules/undici/lib/core/symbols.js +2 -0
- package/server/node_modules/undici/lib/dispatcher/agent.js +7 -2
- package/server/node_modules/undici/lib/dispatcher/balanced-pool.js +7 -4
- package/server/node_modules/undici/lib/dispatcher/client-h1.js +12 -4
- package/server/node_modules/undici/lib/dispatcher/client-h2.js +43 -3
- package/server/node_modules/undici/lib/dispatcher/client.js +3 -2
- package/server/node_modules/undici/lib/dispatcher/dispatcher-base.js +13 -1
- package/server/node_modules/undici/lib/dispatcher/dispatcher.js +15 -1
- package/server/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +3 -0
- package/server/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +10 -3
- package/server/node_modules/undici/lib/dispatcher/proxy-agent.js +18 -1
- package/server/node_modules/undici/lib/dispatcher/retry-agent.js +3 -0
- package/server/node_modules/undici/lib/dispatcher/round-robin-pool.js +1 -1
- package/server/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +91 -21
- package/server/node_modules/undici/lib/handler/cache-handler.js +29 -5
- package/server/node_modules/undici/lib/handler/decorator-handler.js +7 -1
- package/server/node_modules/undici/lib/handler/deduplication-handler.js +12 -6
- package/server/node_modules/undici/lib/handler/redirect-handler.js +21 -4
- package/server/node_modules/undici/lib/handler/retry-handler.js +148 -30
- package/server/node_modules/undici/lib/interceptor/cache.js +65 -12
- package/server/node_modules/undici/lib/interceptor/decompress.js +115 -13
- package/server/node_modules/undici/lib/interceptor/deduplicate.js +5 -4
- package/server/node_modules/undici/lib/interceptor/dns.js +7 -0
- package/server/node_modules/undici/lib/interceptor/dump.js +10 -23
- package/server/node_modules/undici/lib/mock/mock-agent.js +13 -1
- package/server/node_modules/undici/lib/mock/mock-utils.js +11 -10
- package/server/node_modules/undici/lib/util/cache.js +45 -3
- package/server/node_modules/undici/lib/web/cookies/parse.js +150 -147
- package/server/node_modules/undici/lib/web/eventsource/eventsource-stream.js +28 -1
- package/server/node_modules/undici/lib/web/eventsource/eventsource.js +13 -3
- package/server/node_modules/undici/lib/web/fetch/index.js +6 -0
- package/server/node_modules/undici/lib/web/fetch/request.js +2 -3
- package/server/node_modules/undici/lib/web/fetch/util.js +6 -1
- package/server/node_modules/undici/lib/web/webidl/index.js +3 -3
- package/server/node_modules/undici/lib/web/websocket/connection.js +1 -1
- package/server/node_modules/undici/lib/web/websocket/permessage-deflate.js +5 -0
- package/server/node_modules/undici/lib/web/websocket/stream/websocketstream.js +8 -10
- package/server/node_modules/undici/package.json +3 -3
- package/server/node_modules/undici/types/client.d.ts +10 -0
- package/server/node_modules/undici/types/interceptors.d.ts +2 -0
- package/server/node_modules/undici/types/mock-agent.d.ts +11 -10
- package/server/node_modules/undici/types/socks5-proxy-agent.d.ts +2 -0
- package/server/node_modules/undici-types/client.d.ts +8 -3
- package/server/node_modules/undici-types/connector.d.ts +1 -0
- package/server/node_modules/undici-types/cookies.d.ts +1 -1
- package/server/node_modules/undici-types/dispatcher.d.ts +3 -3
- package/server/node_modules/undici-types/errors.d.ts +10 -0
- package/server/node_modules/undici-types/fetch.d.ts +5 -1
- package/server/node_modules/undici-types/handlers.d.ts +2 -0
- package/server/node_modules/undici-types/interceptors.d.ts +1 -1
- package/server/node_modules/undici-types/mock-interceptor.d.ts +5 -1
- package/server/node_modules/undici-types/package.json +1 -1
- package/server/node_modules/undici-types/proxy-agent.d.ts +7 -0
- package/server/{orphan-proposed-reconciler-gf4TxfZb.js → orphan-proposed-reconciler--V8GIzmY.js} +2 -2
- package/server/{orphan-proposed-reconciler-Dmk0kO_p.js → orphan-proposed-reconciler-BSsKWmsB.js} +21 -21
- package/server/package-lock.json +29 -29
- package/server/package.json +1 -1
- package/server/{pan-dir-BMda7tQj.js → pan-dir-COaYhZel.js} +4 -4
- package/server/{parked-residue-BiHb8cD7.js → parked-residue-Dvr4W9P6.js} +68 -64
- package/server/{paths-DEe9j-kw.js → paths-Cm1Q7Old.js} +2 -2
- package/server/{pending-lifecycle-claim-J5uIIJPu.js → pending-lifecycle-claim-yAwDuGS4.js} +1 -1
- package/server/{pickup-D1UbSDPd.js → pickup-Dle6k9Xt.js} +1 -1
- package/server/{pipeline-agent-reader-D-6okryb.js → pipeline-agent-reader-DCCwbUj8.js} +3 -3
- package/server/{pipeline-membership-PGX3Pe8V.js → pipeline-membership-BV4hdkHm.js} +1 -1
- package/server/{pipeline-membership-CCbgBzNC.js → pipeline-membership-C9ykcjsn.js} +1 -1
- package/server/{pipeline-membership-gather-BRhU7XPx.js → pipeline-membership-gather-DGoDOfKO.js} +1 -1
- package/server/{pipeline-membership-gather-BK4dzh0X.js → pipeline-membership-gather-UN7kHpCD.js} +10 -10
- package/server/{pipeline-notifier-BNAV9kpa.js → pipeline-notifier-DfH2i_zP.js} +2 -2
- package/server/{pipeline-notifier-DvHLaXKb.js → pipeline-notifier-DsCfxoSU.js} +1 -1
- package/server/{post-merge-lifecycle-worker-DAWgzXQA.js → post-merge-lifecycle-worker-V51p8tSm.js} +2 -2
- package/server/{post-merge-state-DC2_0t12.js → post-merge-state-Cym5NVlB.js} +4 -4
- package/server/{prd-locations-BbAvqQmT.js → prd-locations-CPuMD55x.js} +3 -3
- package/server/{project-pipelines-By_5WcT4.js → project-pipelines-DdDKdXrG.js} +2 -2
- package/server/{project-repos-3bI6t4fO.js → project-repos-CNrLxJDg.js} +1 -1
- package/server/{project-repos--QeCg7yQ.js → project-repos-DqAT7YV6.js} +2 -2
- package/server/{project-resource-refresh-queue-BaZC79S3.js → project-resource-refresh-queue-C-umDazS.js} +1 -1
- package/server/{project-resource-refresh-queue-x-K9mvpP.js → project-resource-refresh-queue-Dh8k2SB7.js} +17 -17
- package/server/{projects-LftaVK99.js → projects-Crur9uCa.js} +1 -1
- package/server/{prompts-BotGu-6W.js → prompts-CvtVJUpG.js} +2 -2
- package/server/{providers-BL1I66sM.js → providers-1BlEh5x1.js} +7 -7
- package/server/{providers-Dqgz3MY5.js → providers-Bun8zer5.js} +1 -1
- package/server/public/assets/{chunk-BO2N2NFS-D5Fz5jND.js → chunk-BO2N2NFS-DzUNVdeo.js} +4 -4
- package/server/public/assets/{diagram-OG6HWLK6-Eux0gWFq.js → diagram-OG6HWLK6-D5iThVwA.js} +1 -1
- package/server/public/assets/{dist-D-JX_u7m.js → dist-BLq-IR2D.js} +3 -3
- package/server/public/assets/{dist-C3zShwhA.js → dist-RyrOs5EF.js} +1 -1
- package/server/public/assets/{ganttDiagram-6RSMTGT7-UH3aweia.js → ganttDiagram-6RSMTGT7-n8bUPXAS.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-ccIQ-WXS.js → highlighted-body-OFNGDK62-1npo3yiG.js} +1 -1
- package/server/public/assets/{index-BTVcdPve.js → index-BvN8bWpz.js} +149 -149
- package/server/public/assets/index-DgoS288w.css +1 -0
- package/server/public/assets/{linear-Cnnu4YQy.js → linear-Dd96gky1.js} +1 -1
- package/server/public/assets/mermaid-GHXKKRXX-fP93Za-W.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-BD8-Tye6.js → pieDiagram-4H26LBE5-CynZvpYP.js} +1 -1
- package/server/public/assets/{prod-Ca6aKMts.js → prod-DBuCX9g-.js} +4 -4
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-BmSrVyFD.js → quadrantDiagram-W4KKPZXB-BNlEKLKN.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-CEGy8Das.js → sankeyDiagram-5OEKKPKP-Cq0AMnkD.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-VnQ8iY8s.js → xychartDiagram-2RQKCTM6-D7GXcBy2.js} +1 -1
- package/server/public/index.html +2 -2
- package/server/pull-requests-DV_rJ-1u.js +2 -0
- package/server/{pull-requests-Cp_FDT8-.js → pull-requests-DrhWU9MW.js} +3 -3
- package/server/{rally-bQpBzUNf.js → rally-D5QkIZeb.js} +3 -3
- package/server/rally-DlXjOIAG.js +3 -0
- package/server/{rally-api-Ij1Zt0NI.js → rally-api-BdNfpNGk.js} +1 -1
- package/server/{rally-api-CqAIJ8RX.js → rally-api-CNlcoTFM.js} +2 -2
- package/server/{rally-client-CN5vh4Ac.js → rally-client-BCU7mVWE.js} +1 -1
- package/server/{rally-client-qKbCNRVW.js → rally-client-C3eB9TM-.js} +4 -4
- package/server/{rebuild-stack-DrMyA_mA.js → rebuild-stack-BupKggo5.js} +2 -2
- package/server/{rebuild-stack-BNOMVh7C.js → rebuild-stack-CNknXJHL.js} +6 -6
- package/server/reconciler-ComAOr_F.js +657 -0
- package/server/{reconstruct-cache-mxIYCnqs.js → reconstruct-cache-DbjgwKRi.js} +7 -7
- package/server/{record-Ug18Cp4V.js → record-C4JJCL2f.js} +1 -1
- package/server/{record-update-WyhsREoH.js → record-update-CWwZsp9Y.js} +1 -1
- package/server/{record-update-dBGxL9OC.js → record-update-Cl56NqoQ.js} +5 -5
- package/server/{recovery-trip-BKLrL6NX.js → recovery-trip-DA7tCXbp.js} +3 -3
- package/server/{recovery-trip-wFAixKsg.js → recovery-trip-DFtSA8h5.js} +1 -1
- package/server/{release-engine-D9gaCBn9.js → release-engine-Dk99C48O.js} +5 -5
- package/server/{release-set-DPHHzEGx.js → release-set-x8KH3nrE.js} +3 -3
- package/server/{remote-BUEeUic6.js → remote-BMZmJC5E.js} +3 -3
- package/server/{remote-BU6ONLpv.js → remote-DyZIg94K.js} +3 -3
- package/server/{remote-agents-CSaTLi3u.js → remote-agents-Blb0vO_M.js} +6 -6
- package/server/{remote-agents-BVtASiOF.js → remote-agents-MbWzm5Fh.js} +1 -1
- package/server/{remote-completion-CBV3b9TI.js → remote-completion-Bcd13o-J.js} +12 -12
- package/server/{resolver-DvSMXty7.js → resolver-CZVWKCx0.js} +7 -7
- package/server/{resolver-gxv97jsQ.js → resolver-tJeEkPK5.js} +2 -2
- package/server/{resume-DvHuF-bm.js → resume-DmF2andq.js} +1 -1
- package/server/{review-agent-esZ0QXdY.js → review-agent-CmJeQc0K.js} +30 -30
- package/server/{review-agent-DgkUPRx0.js → review-agent-DM9S22BL.js} +2 -2
- package/server/{review-artifacts-DGGEobLp.js → review-artifacts-DCiaejJK.js} +6 -6
- package/server/{review-convoy-liveness-DmO8dIBH.js → review-convoy-liveness-C9F1Q1LN.js} +8 -8
- package/server/{review-run-recovery-Ct0q7FkE.js → review-run-recovery-C5TEICtx.js} +2 -2
- package/server/{review-run-recovery-DHiiw7d8.js → review-run-recovery-CRGBh7xs.js} +1 -1
- package/server/{review-status-yOGD2MuK.js → review-status-C3PJkfjv.js} +55 -45
- package/server/{review-status-C_kQeeX0.js → review-status-CDs0jQV6.js} +1 -1
- package/server/{review-status-emit-BZz1Y_22.js → review-status-emit-De6PF3ZH.js} +3 -3
- package/server/{review-status-enrichment-BWH0XW_m.js → review-status-enrichment-CclcG8jk.js} +3 -3
- package/server/{review-status-sync-Bq00Loey.js → review-status-sync-B3GKewT_.js} +1 -1
- package/server/{review-status-sync-2C9lk85r.js → review-status-sync-wvgdR1yZ.js} +11 -8
- package/server/{review-verdict-feedback-CE_tr2iQ.js → review-verdict-feedback-20s9pG0w.js} +7 -7
- package/server/{review-verdict-feedback-Brjaxoda.js → review-verdict-feedback-DkMx_cKj.js} +1 -1
- package/server/{review-verdict-writer-Ca2V7QSY.js → review-verdict-writer-BcG5RBWF.js} +7 -7
- package/server/{review-verdict-writer-CD-4kDVx.js → review-verdict-writer-CaJPCD-q.js} +1 -1
- package/server/{rollup-B6g9Nr6L.js → rollup-C-GXHbTG.js} +8 -8
- package/server/{rollup--g9ik1XQ.js → rollup-DR250WyW.js} +1 -1
- package/server/{scanner-YxIv-fG1.js → scanner-BEAzmMNs.js} +18 -11
- package/server/{search-DqMN4__-.js → search-BN0MYpZW.js} +2 -2
- package/server/{sequence-io--b3_PsWq.js → sequence-io-BmVO0K-_.js} +4 -4
- package/server/{sequencer-agent-CqouKVZG.js → sequencer-agent-CuA9PA_R.js} +6 -6
- package/server/server.js +599 -290
- package/server/{service-CEp-3iow.js → service-D1SZCxH8.js} +77 -772
- package/server/{session-fork-GtoeCh2H.js → session-fork--SMYFKVu.js} +2 -2
- package/server/{settings-Ch2pCVtt.js → settings-CETdzCl6.js} +3 -3
- package/server/{settings-CLQcdkoD.js → settings-CFi7CdJo.js} +2 -2
- package/server/settings-EGNbGKpP.js +2 -0
- package/server/{shadow-engineering-BxiFrIKv.js → shadow-engineering-CNTXaC9O.js} +2 -2
- package/server/{shadow-state-nGhCNXT2.js → shadow-state-6jSyeXQ7.js} +1 -1
- package/server/{shadow-state-CSA1vtxr.js → shadow-state-CtYJGNXt.js} +2 -2
- package/server/{shadow-utils-7q5QDmMj.js → shadow-utils-Cq5eMfwI.js} +2 -2
- package/server/{ship-log-ie0A_SqV.js → ship-log-D-CphNZx.js} +1 -1
- package/server/{ship-record-BM3oVvnL.js → ship-record-STA0P11l.js} +5 -5
- package/server/{ship-record-DHWH1hLz.js → ship-record-neN0oUI9.js} +1 -1
- package/server/{ship-status-BEkddXMT.js → ship-status-DzDpufmj.js} +2 -2
- package/server/{smart-compaction-BkzjVpWL.js → smart-compaction-CdtKIcDk.js} +1 -1
- package/server/{smart-compaction-D0TE1lBD.js → smart-compaction-tndAhwoc.js} +7 -7
- package/server/{spawn-planning-session-s406rw1N.js → spawn-planning-session-1XLgDLjR.js} +2 -2
- package/server/{spawn-planning-session-CkGweSCC.js → spawn-planning-session-CAncCBLX.js} +17 -17
- package/server/{specialist-completion-CTAjwH5j.js → specialist-completion-BMv3K54P.js} +1 -1
- package/server/{specialist-context-CKasRfYu.js → specialist-context-B054OP_a.js} +5 -5
- package/server/{specialist-handoff-logger-DrjrOmmn.js → specialist-handoff-logger-B7jzypoX.js} +2 -2
- package/server/{specialist-logs-Du6quZ0_.js → specialist-logs-DVhOLpwy.js} +3 -3
- package/server/{specialists-x-kPMhrL.js → specialists-8Pc--yZI.js} +2 -2
- package/server/{specialists-B-4zyE4Y.js → specialists-BVBIMc4L.js} +1 -1
- package/server/{specialists-b0dMMjWq.js → specialists-CC_Mnc47.js} +333 -118
- package/server/{specialists-CuDWiNdB.js → specialists-ChvCD2a-.js} +19 -19
- package/server/{specialists-registry-BYjs04iK.js → specialists-registry-Cim1fPcM.js} +2 -2
- package/server/{specialists-registry-1y6Rt_F1.js → specialists-registry-CoPNlhud.js} +1 -1
- package/server/specs-Dvq4sOy6.js +3 -0
- package/server/{src-CZsPs61V.js → src-C7gGe4KU.js} +6 -6
- package/server/{src-CY2Wl8IX.js → src-CdwN6WY6.js} +8 -2
- package/server/{src-DeQwpuh6.js → src-DMosbuSJ.js} +3 -3
- package/server/{stack-health-ypIKtkbE.js → stack-health-CvdnSVBV.js} +1 -1
- package/server/{stack-health-BQFSJc0l.js → stack-health-DPXaoAus.js} +3 -3
- package/server/{stale-task-claims-C2e1zdMT.js → stale-task-claims-UoNLemTn.js} +5 -5
- package/server/{staleness-Fzx_3_Hr.js → staleness-CxZaIhrn.js} +1 -1
- package/server/{staleness-CRDK6LFG.js → staleness-r_dkMyMG.js} +1 -1
- package/server/{stall-sweeper-QNk4h9m6.js → stall-sweeper-C9S8FYKz.js} +8 -8
- package/server/{state-home-DdG8erBI.js → state-home-BhI8O5lU.js} +2 -2
- package/server/{state-migrate-C6H3jfHE.js → state-migrate-DtFHcOVZ.js} +6 -6
- package/server/{state-mirror-DF4Lfxm0.js → state-mirror-CpuHFxHb.js} +3 -3
- package/server/{stuck-remediation-BDa_tXgB.js → stuck-remediation-B4nKm7B2.js} +13 -13
- package/server/{stuck-remediation-BVNd9txd.js → stuck-remediation-hSOOYB9B.js} +1 -1
- package/server/{substrate-bug-weights-service-BbbCZEtJ.js → substrate-bug-weights-service-B9f0063E.js} +3 -3
- package/server/{summary-fork-BvcW6bq0.js → summary-fork-CUyEqFyc.js} +14 -15
- package/server/{summary-fork-DIQmtOuV.js → summary-fork-DZcsOvDD.js} +2 -2
- package/server/{supervisor-D3jC2c7A.js → supervisor-CGtOs9Em.js} +4 -4
- package/server/supervisor-DoJpD33i.js +2 -0
- package/server/{swarm-readiness-CMWAQuWM.js → swarm-readiness-0N2p9d2C.js} +3 -3
- package/server/{synthesis-verdict-C-pJOPsn.js → synthesis-verdict-CJdseCuz.js} +1 -1
- package/server/{synthesis-verdict-DVlrLF9A.js → synthesis-verdict-CQdLbK1-.js} +2 -2
- package/server/{system-prerequisites-QKtIYXI2.js → system-prerequisites-DkDOEjQP.js} +2 -2
- package/server/{teardown-workspace-cJea1OLo.js → teardown-workspace-BxFMcWu7.js} +16 -16
- package/server/{test-agent-queue-C5DI_gWX.js → test-agent-queue-Dxeae55k.js} +6 -6
- package/server/{test-verdict-C7kmd2_Y.js → test-verdict-CJ-to_Hc.js} +1 -1
- package/server/{test-verdict-DUbDHqeD.js → test-verdict-hW5kILg7.js} +2 -2
- package/server/{tldr-daemon-BNQHwblU.js → tldr-daemon-DKCumqHU.js} +1 -1
- package/server/{tldr-daemon-CO08YlfQ.js → tldr-daemon-caxXegkF.js} +2 -2
- package/server/{tmux-B8zsqD_6.js → tmux-C-hxv71f.js} +2 -2
- package/server/{tmux-DWEc4Ld9.js → tmux-CvAEO9yo.js} +2 -2
- package/server/{token-Bez-qCB2.js → token-BdfZLRg1.js} +1 -1
- package/server/{tracker-config-CJzPhSHv.js → tracker-config-BjqwtkcT.js} +2 -2
- package/server/{tracker-utils-DJAOAuMN.js → tracker-utils-0cDe6yil.js} +2 -2
- package/server/{traefik-connect-D3H5I6b9.js → traefik-connect-DoQvQ6oJ.js} +1 -1
- package/server/{tunnel-BSdKnW0U.js → tunnel-BEM7-jgE.js} +1 -1
- package/server/{tunnel-Cr3ctqxp.js → tunnel-SgALz_Pi.js} +3 -3
- package/server/{types-fzBp9cYi.js → types-PW4zkxCM.js} +1 -1
- package/server/{uat-failure-feedback-IZQ-J8jt.js → uat-failure-feedback-BQzpUFQ6.js} +5 -5
- package/server/{uat-promote-verification-DXApKcc2.js → uat-promote-verification-BUltWC-b.js} +5 -5
- package/server/{uat-train-CycEzpbE.js → uat-train-B71QG16n.js} +1 -1
- package/server/{uat-train-IIZlz7r3.js → uat-train-BLJ0AAIc.js} +0 -0
- package/server/{validate-Ur4xH5bN.js → validate-DqEp2Yb9.js} +3 -3
- package/server/{validation-Dr6V4PXx.js → validation-DHEsL3RP.js} +4 -4
- package/server/{validation-CHovCoTT.js → validation-k4EpMHm0.js} +1 -1
- package/server/{verification-artifact-D3viYe_t.js → verification-artifact-Cmhgq4b_.js} +1 -1
- package/server/{verification-artifact-k5Ftpg0c.js → verification-artifact-DglwaHke.js} +1 -1
- package/server/{verification-runner-Dl13mmsI.js → verification-runner-BC_zNOq5.js} +16 -16
- package/server/{verification-runner-BuqGwm2t.js → verification-runner-Bbc-8BbR.js} +1 -1
- package/server/{vtt-parser-BSnAB-Og.js → vtt-parser-Va--tv27.js} +1 -1
- package/server/{work-agent-prompt-CJJ4tXci.js → work-agent-prompt-CQWlmw_y.js} +1 -1
- package/server/{work-agent-prompt-CioeOuM4.js → work-agent-prompt-DM3uza0_.js} +10 -10
- package/server/{work-agent-start-Ct1HVh6z.js → work-agent-start-BColr1oI.js} +1 -1
- package/server/{work-agent-start-B65Gqn9N.js → work-agent-start-cKf7rly8.js} +2 -2
- package/server/workflows-CLrEiTds.js +2 -0
- package/server/{workflows-AgFul1xc.js → workflows-DrC85n8j.js} +28 -28
- package/server/{workspace-Cy4sDd3q.js → workspace-ChRFy_F9.js} +3 -3
- package/server/{workspace-Cu3XlMXt.js → workspace-G3Cus8e9.js} +1 -1
- package/server/{workspace-anchor-drift-BI0Hz6zI.js → workspace-anchor-drift-DBbyK_Mf.js} +1 -1
- package/server/{workspace-anchor-drift-CMaqvizr.js → workspace-anchor-drift-z7TjOORC.js} +4 -4
- package/server/{workspace-config-DRYDO7Zr.js → workspace-config-D-bNq2CF.js} +1 -1
- package/server/{workspace-manager-CgovxDrO.js → workspace-manager-Db3pCmr7.js} +16 -16
- package/server/{workspace-manager-jfkKAEuO.js → workspace-manager-gz9Amovn.js} +1 -1
- package/server/{workspace-metadata-BNzODIv6.js → workspace-metadata-C5Ie2FMZ.js} +2 -2
- package/server/{workspace-metadata-BDqXzGGK.js → workspace-metadata-Do-L6GFP.js} +1 -1
- package/server/{workspaces-BJdPqx_J.js → workspaces-D0MWw7Mx.js} +123 -696
- package/sync-sources/rules/agent-message-delivery.md +21 -14
- package/sync-sources/rules/pan-handoff-focus-limit.md +3 -1
- package/sync-sources/skills/pan-gauntlet-loop/SKILL.md +94 -46
- package/sync-sources/skills/pan-handoff/SKILL.md +13 -2
- package/server/archive-planning-BW4MKNI7.js +0 -2
- package/server/build-info-Bj2vQEMh.js +0 -2
- package/server/cli-BRuzUT_I.js +0 -2
- package/server/dead-end-trip-6V_CwveT.js +0 -2
- package/server/deploy-queue-CjLErpgw.js +0 -2
- package/server/dist-fCA6y2bH.js +0 -3
- package/server/forge-bvak6vXJ.js +0 -2
- package/server/hume-TYTb6fDU.js +0 -3
- package/server/inspect-agent-JFEaYTRa.js +0 -2
- package/server/merge-ops-DabXHp2i.js +0 -2
- package/server/merge-rebase-CXq0qsgR.js +0 -2
- package/server/public/assets/index-2wV4ipy_.css +0 -1
- package/server/public/assets/mermaid-GHXKKRXX-Bjto8iJh.js +0 -1
- package/server/pull-requests-jVGcVq5G.js +0 -2
- package/server/rally-CxhVgIQ6.js +0 -3
- package/server/settings-DhtPDmmI.js +0 -2
- package/server/specs-IYsFlM-L.js +0 -3
- package/server/supervisor-v0cYN2Vp.js +0 -2
- package/server/workflows-CfHm8lVd.js +0 -2
- package/sync-sources/skills/pan-gauntlet-loop/references/lessons.md +0 -60
|
@@ -1,49 +1,48 @@
|
|
|
1
1
|
import { n as __esmMin, o as __toESM } from "./rolldown-runtime-DNCzzKnI.js";
|
|
2
|
-
import { $t as findProjectByPathSync,
|
|
3
|
-
import { h as loadConfigSync$1, p as init_config } from "./config-
|
|
4
|
-
import { l as init_activity_logger, o as emitActivityEntrySync, s as emitActivityTtsSync } from "./activity-logger-
|
|
5
|
-
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-
|
|
6
|
-
import { n as init_fs_lock, s as withRecordFsLock } from "./fs-lock-
|
|
7
|
-
import { i as init_record_update, n as clearRecordPipelineClosedOut } from "./record-update-
|
|
8
|
-
import { $ as init_pane_choice_menu, B as sendKeys, C as init_tmux, D as killSessionSync, E as killSession, G as setOption, H as sendRawKeystroke, P as listSessionsSync, Q as buildChoiceKeystrokes, T as isPaneDead, U as sessionExists, W as sessionExistsSync, a as capturePaneText, c as createSessionSync, ct as BLANKED_PROVIDER_ENV, dt as init_child_env, et as paneChoiceMenuSignature, i as capturePaneSync, k as listPaneValues, nt as parsePaneChoiceMenu, p as exactPaneTarget, r as capturePane, s as createSession, v as getManagedTmuxSocketName, z as sendEscapeKeyAsync } from "./tmux-
|
|
9
|
-
import { a as getWorkspaceForIssue, o as init_resolver } from "./resolver-
|
|
10
|
-
import { a as init_event_store, i as initEventStore } from "./event-store-
|
|
11
|
-
import { o as OHMYPI_BEHAVIOR, s as getHarnessBehavior } from "./src-
|
|
12
|
-
import { a as readVerdictPreservationStatus, d as getOverdeckAgentStateSync, f as init_agent_state_sync, i as init_work_start_verdicts, l as resetWorkStartPipelineVerdicts, m as saveOverdeckAgentStateSync, o as refreshWorkStartReviewedAnchor, p as listOverdeckAgentStatesSync, r as registerPipelineTelemetryAgentReader, t as init_pipeline_agent_reader } from "./pipeline-agent-reader-
|
|
13
|
-
import { a as countAgentsByStatus, c as init_agents$2, g as logAgentLifecycleSync, h as init_persistent_logger } from "./agents-
|
|
14
|
-
import { n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import { b as init_cliproxy, c as bridgeGeminiAuthToCliproxy, h as getCliproxyClientEnv, l as decodeJwtPayload$1, p as getCliproxyAuthDir, s as bridgeCodexAuthToCliproxySync, v as getCliproxyLogPath } from "./cliproxy-
|
|
19
|
-
import { a as init_feature_registry_population, i as resetPostMergeState, n as init_post_merge_state, o as recordFeatureRegistryLifecycle } from "./post-merge-state-
|
|
20
|
-
import { i as ensureInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-
|
|
21
|
-
import { A as init_conversations, B as reactivateConversationForSpawn, C as getConversationByName, b as createConversation, z as normalizeHarness } from "./conversations-
|
|
22
|
-
import { n as readActiveDashboardBundleSync, t as init_active_dashboard_bundle } from "./active-dashboard-bundle-
|
|
23
|
-
import { a as readCavemanVariant, n as init_workspace } from "./workspace-
|
|
24
|
-
import { C as generateLauncherScriptSync, D as normalizeModelOverrideSync, E as init_model_validation, O as requireModelOverrideSync, S as normalizeFlywheelRunId, _ as init_tmux_dedup, b as init_provenance, f as completeKeyedSubmit, i as init_auto_spawn_consent, k as shellQuoteModelIdSync, s as withAutoSpawnConsentClaim, w as init_launcher_generator, x as isOperatorStartedBy, y as sendKeysDedup } from "./auto-spawn-consent-
|
|
25
|
-
import { a as init_claude_permissions, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-
|
|
26
|
-
import { D as init_layers, F as resolveWorkspaceContextFile, L as workspaceContextFile, b as renderForHarness, d as renderProjectLayer, i as workspaceContextWithoutProjectLayer, l as init_render, r as init_assemble, u as renderGlobalLayer, y as init_harness } from "./assemble-
|
|
27
|
-
import { a as extractThreadIdFromRollout, c as initCodexHome, l as init_codex, o as findLatestRollout } from "./codex-
|
|
28
|
-
import { i as prepareHarnessLaunch, r as init_harness_binary } from "./harness-binary-
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import { c as init_stack_health, o as getWorkspaceStackHealth } from "./stack-health-BQFSJc0l.js";
|
|
2
|
+
import { $t as findProjectByPathSync, Ai as encodeClaudeProjectDir, Br as OPENROUTER_MODEL_CONTEXT_WINDOWS, C as DEFAULT_TIERED_EXECUTION_CONFIG, Dr as init_roles, Dt as queueAutoCommit, E as init_tier_table, Et as pushPendingStateCommits, Gr as init_percent, Gt as shouldCommitLegacyWorkspaceArtifacts, Hi as packageRoot, Ht as init_state_read_home, Ir as resolveModelIdSync, Kn as extractPrefixSync, Lr as CLIPROXY_GPT56_CONTEXT_WINDOW, Nr as hasModelCapabilitySync, O as resolveTieredExecutionEnabled, On as resolveProjectFromIssueSync, Or as resolveModel, Ot as reconcileStatePlaneDrift, Pr as init_model_capabilities, Qr as FsError, Ri as getOverdeckHome, Rr as CLIPROXY_GPT56_LONG_CONTEXT_WINDOW, Tt as init_auto_commit, Ui as resolveOhmypiExtensionPath, Ur as fmix32, Vi as isDevMode, Wi as sessionFilePath, Wr as fnv1a32, Wt as resolveStateReadHomeSync, Xn as resolveBareNumericIdSync, Xr as ClaudeCredentialParseError, Y as init_record, _r as setupCredentialFileAuthSync, an as getProjectSwarmHotspots, at as writeAgentHarnessModelSync, br as init_openai_compatible_proxy, cr as clearCredentialFileAuthSync, d as isTldrEnabledSync, dr as getProviderEnvSync, er as require_dist, et as readIssueRecordForWorkspaceSync, fn as init_projects, fr as getProviderForModelSync, gr as resolveKimiCodeModelAlias, jr as getModelCapabilitySync, k as resolveTieredExecutionEnabledForIssue, ki as claudeSessionTranscriptExists, li as init_errors, lr as getBuiltInDefaultHarness, oi as TmuxError, on as getProjectSync, p as loadConfigSync, pr as init_providers, qn as init_issue_id, rn as getIssuePrefix, rt as resolveProjectForIssue, t as init_config_yaml, tt as readIssueRecordSync, u as isClaudeCodeChannelsMcpEnabled, ui as AGENTS_DIR, vr as ensureOpenAICompatibleProxyRunning, w as TIERED_EXECUTION_DIFFICULTIES, wt as flushAutoCommits, zi as init_paths, zr as GPT56_LONG_CONTEXT_VARIANTS } from "./config-yaml-OoH-ZpTb.js";
|
|
3
|
+
import { h as loadConfigSync$1, p as init_config } from "./config-Cx3N6gWz.js";
|
|
4
|
+
import { l as init_activity_logger, o as emitActivityEntrySync, s as emitActivityTtsSync } from "./activity-logger-ru8ggv-d.js";
|
|
5
|
+
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-BbSWNOpH.js";
|
|
6
|
+
import { n as init_fs_lock, s as withRecordFsLock } from "./fs-lock-DfiYlr5u.js";
|
|
7
|
+
import { c as withStateGitLock, i as init_record_update, n as clearRecordPipelineClosedOut, s as init_state_git_lock } from "./record-update-Cl56NqoQ.js";
|
|
8
|
+
import { $ as init_pane_choice_menu, B as sendKeys, C as init_tmux, D as killSessionSync, E as killSession, G as setOption, H as sendRawKeystroke, P as listSessionsSync, Q as buildChoiceKeystrokes, T as isPaneDead, U as sessionExists, W as sessionExistsSync, a as capturePaneText, c as createSessionSync, ct as BLANKED_PROVIDER_ENV, dt as init_child_env, et as paneChoiceMenuSignature, i as capturePaneSync, k as listPaneValues, nt as parsePaneChoiceMenu, p as exactPaneTarget, r as capturePane, s as createSession, v as getManagedTmuxSocketName, z as sendEscapeKeyAsync } from "./tmux-CvAEO9yo.js";
|
|
9
|
+
import { a as getWorkspaceForIssue, o as init_resolver } from "./resolver-tJeEkPK5.js";
|
|
10
|
+
import { a as init_event_store, i as initEventStore } from "./event-store-DbjldlXW.js";
|
|
11
|
+
import { o as OHMYPI_BEHAVIOR, s as getHarnessBehavior } from "./src-CdwN6WY6.js";
|
|
12
|
+
import { a as readVerdictPreservationStatus, d as getOverdeckAgentStateSync, f as init_agent_state_sync, i as init_work_start_verdicts, l as resetWorkStartPipelineVerdicts, m as saveOverdeckAgentStateSync, o as refreshWorkStartReviewedAnchor, p as listOverdeckAgentStatesSync, r as registerPipelineTelemetryAgentReader, t as init_pipeline_agent_reader } from "./pipeline-agent-reader-DCCwbUj8.js";
|
|
13
|
+
import { a as countAgentsByStatus, c as init_agents$2, g as logAgentLifecycleSync, h as init_persistent_logger } from "./agents-DMs1aLRU.js";
|
|
14
|
+
import { n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-FF0WLPMc.js";
|
|
15
|
+
import { a as getFlywheelActiveRunIdSync, c as init_control_settings, j as parseOhmypiSessionSync, k as init_ohmypi_parser } from "./control-settings-Bdud_B1j.js";
|
|
16
|
+
import { _ as init_tier_metrics, g as estimateFeedDeliveryTokens, v as recordTierFeedDelivery } from "./cost-sync-Bq_dyq9k.js";
|
|
17
|
+
import { t as init_behavior } from "./behavior-CPX0E2Fj.js";
|
|
18
|
+
import { b as init_cliproxy, c as bridgeGeminiAuthToCliproxy, h as getCliproxyClientEnv, l as decodeJwtPayload$1, p as getCliproxyAuthDir, s as bridgeCodexAuthToCliproxySync, v as getCliproxyLogPath } from "./cliproxy-L_2OxNJf.js";
|
|
19
|
+
import { a as init_feature_registry_population, i as resetPostMergeState, n as init_post_merge_state, o as recordFeatureRegistryLifecycle } from "./post-merge-state-Cym5NVlB.js";
|
|
20
|
+
import { i as ensureInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-CUKcTWSG.js";
|
|
21
|
+
import { A as init_conversations, B as reactivateConversationForSpawn, C as getConversationByName, b as createConversation, z as normalizeHarness } from "./conversations-JyrMSeOh.js";
|
|
22
|
+
import { n as readActiveDashboardBundleSync, t as init_active_dashboard_bundle } from "./active-dashboard-bundle-DbfgP8TS.js";
|
|
23
|
+
import { a as readCavemanVariant, n as init_workspace } from "./workspace-ChRFy_F9.js";
|
|
24
|
+
import { C as generateLauncherScriptSync, D as normalizeModelOverrideSync, E as init_model_validation, O as requireModelOverrideSync, S as normalizeFlywheelRunId, _ as init_tmux_dedup, b as init_provenance, f as completeKeyedSubmit, i as init_auto_spawn_consent, k as shellQuoteModelIdSync, s as withAutoSpawnConsentClaim, w as init_launcher_generator, x as isOperatorStartedBy, y as sendKeysDedup } from "./auto-spawn-consent-C1avLtkk.js";
|
|
25
|
+
import { a as init_claude_permissions, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-Bn53HCXr.js";
|
|
26
|
+
import { D as init_layers, F as resolveWorkspaceContextFile, L as workspaceContextFile, b as renderForHarness, d as renderProjectLayer, i as workspaceContextWithoutProjectLayer, l as init_render, r as init_assemble, u as renderGlobalLayer, y as init_harness } from "./assemble-D88iFkP-.js";
|
|
27
|
+
import { a as extractThreadIdFromRollout, c as initCodexHome, l as init_codex, o as findLatestRollout } from "./codex-DSs-3aOm.js";
|
|
28
|
+
import { i as prepareHarnessLaunch, r as init_harness_binary } from "./harness-binary-BuakhXkB.js";
|
|
29
|
+
import { n as createTrackerFromConfig, r as init_factory, t as createTracker } from "./factory-DfIQG-qW.js";
|
|
30
|
+
import { c as init_stack_health, o as getWorkspaceStackHealth } from "./stack-health-DPXaoAus.js";
|
|
32
31
|
import { i as readReviewStatusMap, n as init_review_status_source, r as isRoleTerminal, s as resolveCanonicalReviewStatus } from "./review-status-source-Jq0BXmn3.js";
|
|
33
|
-
import { N as getProjectPanPaths, P as init_paths$1, h as readWorkspacePlanSync, s as init_io } from "./io-
|
|
34
|
-
import { a as getDispatchableItems, c as init_dag, o as groupItemsByWave, r as createActiveSlice } from "./dag-
|
|
35
|
-
import { c as generateFixedPointPromptSync, f as initHookSync, n as checkHookSync, p as init_hooks } from "./hooks-
|
|
36
|
-
import { a as init_git_utils, l as renderWorkspaceGitShowPromise } from "./git-utils-
|
|
37
|
-
import { n as init_workspace_anchor_drift, t as evaluateWorkspaceAnchorDrift } from "./workspace-anchor-drift-
|
|
38
|
-
import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-
|
|
39
|
-
import { a as loadCloisterConfigSync, r as init_config$1 } from "./config-
|
|
32
|
+
import { N as getProjectPanPaths, P as init_paths$1, h as readWorkspacePlanSync, s as init_io } from "./io-BgzG56av.js";
|
|
33
|
+
import { a as getDispatchableItems, c as init_dag, o as groupItemsByWave, r as createActiveSlice } from "./dag-CKUsr8wB.js";
|
|
34
|
+
import { c as generateFixedPointPromptSync, f as initHookSync, n as checkHookSync, p as init_hooks } from "./hooks-D55VTdQS.js";
|
|
35
|
+
import { a as init_git_utils, l as renderWorkspaceGitShowPromise } from "./git-utils-DfpFkvwk.js";
|
|
36
|
+
import { n as init_workspace_anchor_drift, t as evaluateWorkspaceAnchorDrift } from "./workspace-anchor-drift-z7TjOORC.js";
|
|
37
|
+
import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-CISjc9FR.js";
|
|
38
|
+
import { a as loadCloisterConfigSync, r as init_config$1 } from "./config-DP0VV7rX.js";
|
|
40
39
|
import { t as init_reap_terminal_sessions } from "./reap-terminal-sessions-BaDSNR-k.js";
|
|
41
|
-
import { a as init_state_home, c as isStateMigrated } from "./state-home-
|
|
42
|
-
import { n as provisionClaudeHooks, t as init_claude_hooks_provision } from "./claude-hooks-provision-
|
|
43
|
-
import { d as resolveWorkspaceRepoRootsSync, i as init_project_repos } from "./project-repos
|
|
44
|
-
import { a as init_lifecycle_io, t as appendContinueSessionEntryForIssue } from "./lifecycle-io-
|
|
45
|
-
import { a as init_tracker_config, t as getGitHubConfig } from "./tracker-config-
|
|
46
|
-
import { r as init_swarm_readiness, t as analyzeSwarmReadiness } from "./swarm-readiness-
|
|
40
|
+
import { a as init_state_home, c as isStateMigrated } from "./state-home-BhI8O5lU.js";
|
|
41
|
+
import { n as provisionClaudeHooks, t as init_claude_hooks_provision } from "./claude-hooks-provision-D7Z8kANm.js";
|
|
42
|
+
import { d as resolveWorkspaceRepoRootsSync, i as init_project_repos } from "./project-repos-DqAT7YV6.js";
|
|
43
|
+
import { a as init_lifecycle_io, t as appendContinueSessionEntryForIssue } from "./lifecycle-io-CCCAMefe.js";
|
|
44
|
+
import { a as init_tracker_config, t as getGitHubConfig } from "./tracker-config-BjqwtkcT.js";
|
|
45
|
+
import { r as init_swarm_readiness, t as analyzeSwarmReadiness } from "./swarm-readiness-0N2p9d2C.js";
|
|
47
46
|
import { createRequire } from "node:module";
|
|
48
47
|
import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
49
48
|
import { Data, Duration, Effect, FileSystem } from "effect";
|
|
@@ -66,307 +65,6 @@ import { fileURLToPath } from "node:url";
|
|
|
66
65
|
import { request } from "node:http";
|
|
67
66
|
import { ChildProcessSpawner as ChildProcessSpawner$1 } from "effect/unstable/process/ChildProcessSpawner";
|
|
68
67
|
import { layer } from "@effect/platform-node/NodeServices";
|
|
69
|
-
//#region ../../lib/cost-parsers/ohmypi-parser.ts
|
|
70
|
-
/**
|
|
71
|
-
* oh-my-pi (omp) JSONL parser (PAN-1989). Forked from pi-parser.ts (PAN-636).
|
|
72
|
-
*
|
|
73
|
-
* omp sessions live at:
|
|
74
|
-
* ~/.omp/agent/sessions/<encoded-cwd>/<timestamp>_<session-id>.jsonl
|
|
75
|
-
*
|
|
76
|
-
* Format (omp v3 — same as Pi v3):
|
|
77
|
-
* - First line: { type: "session", version: 3, id, timestamp, cwd }
|
|
78
|
-
* - Subsequent: every entry has an opaque `id` and a `parentId`. parentId
|
|
79
|
-
* is null for the first non-session entry.
|
|
80
|
-
* - The graph is a tree (omp supports forking/branching), not a list.
|
|
81
|
-
*
|
|
82
|
-
* To compute usage for the *active* branch we walk leaf -> root via parentId
|
|
83
|
-
* from the latest leaf (max timestamp among entries that have no children).
|
|
84
|
-
* omp assistant messages report per-call usage — input/output tokens are NOT
|
|
85
|
-
* cumulative across the conversation — so summing along the active branch is
|
|
86
|
-
* correct without subtracting pre-compaction input.
|
|
87
|
-
*
|
|
88
|
-
* SessionUsage shape comes from jsonl-parser.ts (the Claude Code parser); we
|
|
89
|
-
* map into it unchanged so all upstream consumers keep working.
|
|
90
|
-
*/
|
|
91
|
-
function isMessage(entry) {
|
|
92
|
-
return entry.type === "message";
|
|
93
|
-
}
|
|
94
|
-
function isAssistantMessage(entry) {
|
|
95
|
-
return isMessage(entry) && entry.message?.role === "assistant";
|
|
96
|
-
}
|
|
97
|
-
function pricingProviderFor(provider, model) {
|
|
98
|
-
const lowerProvider = provider?.toLowerCase() ?? "";
|
|
99
|
-
const lowerModel = model.toLowerCase();
|
|
100
|
-
if (lowerProvider === "openai" || lowerProvider === "openai-codex" || lowerModel.includes("gpt")) return "openai";
|
|
101
|
-
if (lowerProvider === "google" || lowerModel.includes("gemini")) return "google";
|
|
102
|
-
if (lowerProvider === "anthropic" || lowerModel.includes("claude")) return "anthropic";
|
|
103
|
-
if (lowerProvider === "kimi" || lowerProvider === "minimax" || lowerProvider === "zai" || lowerProvider === "zhipu" || lowerProvider === "custom" || lowerModel.includes("kimi") || lowerModel.includes("minimax") || lowerModel.includes("glm")) return "custom";
|
|
104
|
-
return null;
|
|
105
|
-
}
|
|
106
|
-
function computeCostFromPricing(provider, model, usage) {
|
|
107
|
-
const pricingProvider = pricingProviderFor(provider, model);
|
|
108
|
-
if (!pricingProvider) return {
|
|
109
|
-
cost: 0,
|
|
110
|
-
reason: "unknown-provider"
|
|
111
|
-
};
|
|
112
|
-
const pricing = getPricingSync(pricingProvider, model);
|
|
113
|
-
if (!pricing) return {
|
|
114
|
-
cost: 0,
|
|
115
|
-
reason: "unpriced-model"
|
|
116
|
-
};
|
|
117
|
-
return { cost: usage.inputTokens / 1e3 * pricing.inputPer1k + usage.outputTokens / 1e3 * pricing.outputPer1k + (usage.cacheReadTokens ?? 0) / 1e3 * (pricing.cacheReadPer1k ?? 0) + (usage.cacheWriteTokens ?? 0) / 1e3 * (pricing.cacheWrite5mPer1k ?? 0) };
|
|
118
|
-
}
|
|
119
|
-
function tsMs(timestamp) {
|
|
120
|
-
if (!timestamp) return 0;
|
|
121
|
-
const t = Date.parse(timestamp);
|
|
122
|
-
return Number.isFinite(t) ? t : 0;
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Parse a Pi session JSONL file into a SessionUsage record.
|
|
126
|
-
*
|
|
127
|
-
* Returns null if the file does not exist, is empty, or is unparseable. Errors
|
|
128
|
-
* during line parsing are tolerated (the line is skipped); we never throw.
|
|
129
|
-
*/
|
|
130
|
-
function parseOhmypiSessionSync(filePath) {
|
|
131
|
-
if (!existsSync(filePath)) return null;
|
|
132
|
-
const result = parseOhmypiSessionContent(readFileSync(filePath, "utf8"), filePath);
|
|
133
|
-
return result.ok ? result.usage : null;
|
|
134
|
-
}
|
|
135
|
-
function parseOhmypiSessionCostResultSync(filePath) {
|
|
136
|
-
if (!existsSync(filePath)) return {
|
|
137
|
-
ok: false,
|
|
138
|
-
reason: "unreadable"
|
|
139
|
-
};
|
|
140
|
-
try {
|
|
141
|
-
return parseOhmypiSessionContent(readFileSync(filePath, "utf8"), filePath);
|
|
142
|
-
} catch {
|
|
143
|
-
return {
|
|
144
|
-
ok: false,
|
|
145
|
-
reason: "unreadable"
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Parse Pi session JSONL content. Exposed for tests and callers that already
|
|
151
|
-
* have the file content in memory.
|
|
152
|
-
*/
|
|
153
|
-
function parseOhmypiSessionContent(content, filePath = "<inline>") {
|
|
154
|
-
const lines = content.split("\n").filter((l) => l.trim().length > 0);
|
|
155
|
-
if (lines.length === 0) return {
|
|
156
|
-
ok: false,
|
|
157
|
-
reason: "empty"
|
|
158
|
-
};
|
|
159
|
-
let root = null;
|
|
160
|
-
const entriesById = /* @__PURE__ */ new Map();
|
|
161
|
-
const childrenOf = /* @__PURE__ */ new Map();
|
|
162
|
-
const unknownTypesSeen = /* @__PURE__ */ new Set();
|
|
163
|
-
for (const line of lines) {
|
|
164
|
-
let parsed;
|
|
165
|
-
try {
|
|
166
|
-
parsed = JSON.parse(line);
|
|
167
|
-
} catch {
|
|
168
|
-
continue;
|
|
169
|
-
}
|
|
170
|
-
if (!parsed || typeof parsed !== "object") continue;
|
|
171
|
-
const entry = parsed;
|
|
172
|
-
if (entry.type === "session") {
|
|
173
|
-
root = entry;
|
|
174
|
-
continue;
|
|
175
|
-
}
|
|
176
|
-
if (!entry.id) continue;
|
|
177
|
-
if (!KNOWN_TYPES.has(entry.type)) {
|
|
178
|
-
if (!unknownTypesSeen.has(entry.type)) {
|
|
179
|
-
unknownTypesSeen.add(entry.type);
|
|
180
|
-
console.debug(`[ohmypi-parser] unknown entry type "${entry.type}" in ${filePath} — ignoring`);
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
entriesById.set(entry.id, entry);
|
|
184
|
-
const list = childrenOf.get(entry.parentId ?? null);
|
|
185
|
-
if (list) list.push(entry.id);
|
|
186
|
-
else childrenOf.set(entry.parentId ?? null, [entry.id]);
|
|
187
|
-
}
|
|
188
|
-
if (!root) return {
|
|
189
|
-
ok: false,
|
|
190
|
-
reason: "missing-session-root"
|
|
191
|
-
};
|
|
192
|
-
if (entriesById.size === 0) return {
|
|
193
|
-
ok: true,
|
|
194
|
-
usage: emptyUsage(filePath, root)
|
|
195
|
-
};
|
|
196
|
-
const leaves = [];
|
|
197
|
-
for (const entry of entriesById.values()) {
|
|
198
|
-
const kids = childrenOf.get(entry.id);
|
|
199
|
-
if (!kids || kids.length === 0) leaves.push(entry);
|
|
200
|
-
}
|
|
201
|
-
if (leaves.length === 0) leaves.push(...entriesById.values());
|
|
202
|
-
let latestLeaf = leaves[0];
|
|
203
|
-
for (const leaf of leaves) if (tsMs(leaf.timestamp) > tsMs(latestLeaf.timestamp)) latestLeaf = leaf;
|
|
204
|
-
const branch = [];
|
|
205
|
-
const visited = /* @__PURE__ */ new Set();
|
|
206
|
-
let cursor = latestLeaf;
|
|
207
|
-
while (cursor) {
|
|
208
|
-
if (visited.has(cursor.id)) break;
|
|
209
|
-
visited.add(cursor.id);
|
|
210
|
-
branch.push(cursor);
|
|
211
|
-
if (!cursor.parentId) break;
|
|
212
|
-
cursor = entriesById.get(cursor.parentId);
|
|
213
|
-
}
|
|
214
|
-
branch.reverse();
|
|
215
|
-
const totals = {
|
|
216
|
-
inputTokens: 0,
|
|
217
|
-
outputTokens: 0,
|
|
218
|
-
cacheReadTokens: 0,
|
|
219
|
-
cacheWriteTokens: 0
|
|
220
|
-
};
|
|
221
|
-
let costV2 = 0;
|
|
222
|
-
let messageCount = 0;
|
|
223
|
-
let costRecomputedFromTokens = 0;
|
|
224
|
-
const modelBreakdown = {};
|
|
225
|
-
const usageEvents = [];
|
|
226
|
-
const unpricedModels = [];
|
|
227
|
-
const modelsInOrder = [];
|
|
228
|
-
let compactionCount = 0;
|
|
229
|
-
let firstTs = null;
|
|
230
|
-
let lastTs = null;
|
|
231
|
-
for (const entry of branch) {
|
|
232
|
-
if (entry.type === "compaction_start" || entry.type === "session_compact") compactionCount += 1;
|
|
233
|
-
if (!firstTs && entry.timestamp) firstTs = entry.timestamp;
|
|
234
|
-
if (entry.timestamp) lastTs = entry.timestamp;
|
|
235
|
-
if (!isAssistantMessage(entry)) continue;
|
|
236
|
-
const usage = entry.message.usage;
|
|
237
|
-
if (!usage) continue;
|
|
238
|
-
const model = entry.message.model || "unknown";
|
|
239
|
-
const provider = typeof entry.message.provider === "string" ? entry.message.provider : null;
|
|
240
|
-
const input = usage.input ?? 0;
|
|
241
|
-
const output = usage.output ?? 0;
|
|
242
|
-
const cacheRead = usage.cacheRead ?? 0;
|
|
243
|
-
const cacheWrite = usage.cacheWrite ?? 0;
|
|
244
|
-
const tokenUsage = {
|
|
245
|
-
inputTokens: input,
|
|
246
|
-
outputTokens: output,
|
|
247
|
-
cacheReadTokens: cacheRead,
|
|
248
|
-
cacheWriteTokens: cacheWrite
|
|
249
|
-
};
|
|
250
|
-
const hasInlineCost = usage.cost?.total !== void 0;
|
|
251
|
-
let cost = usage.cost?.total ?? 0;
|
|
252
|
-
let warning;
|
|
253
|
-
if (!hasInlineCost && input + output + cacheRead + cacheWrite > 0) {
|
|
254
|
-
const computed = computeCostFromPricing(provider, model, tokenUsage);
|
|
255
|
-
cost = computed.cost;
|
|
256
|
-
if (computed.reason) {
|
|
257
|
-
unpricedModels.push({
|
|
258
|
-
provider,
|
|
259
|
-
model,
|
|
260
|
-
reason: computed.reason
|
|
261
|
-
});
|
|
262
|
-
warning = [{
|
|
263
|
-
type: "unpriced-model",
|
|
264
|
-
provider,
|
|
265
|
-
model,
|
|
266
|
-
reason: computed.reason
|
|
267
|
-
}];
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
const localComputed = hasInlineCost ? (usage.cost?.input ?? 0) + (usage.cost?.output ?? 0) + (usage.cost?.cacheRead ?? 0) + (usage.cost?.cacheWrite ?? 0) : cost;
|
|
271
|
-
totals.inputTokens += input;
|
|
272
|
-
totals.outputTokens += output;
|
|
273
|
-
totals.cacheReadTokens = (totals.cacheReadTokens ?? 0) + cacheRead;
|
|
274
|
-
totals.cacheWriteTokens = (totals.cacheWriteTokens ?? 0) + cacheWrite;
|
|
275
|
-
costV2 += cost;
|
|
276
|
-
costRecomputedFromTokens += localComputed;
|
|
277
|
-
messageCount += 1;
|
|
278
|
-
if (!modelBreakdown[model]) {
|
|
279
|
-
modelBreakdown[model] = {
|
|
280
|
-
cost: 0,
|
|
281
|
-
inputTokens: 0,
|
|
282
|
-
outputTokens: 0,
|
|
283
|
-
messageCount: 0,
|
|
284
|
-
cacheReadTokens: 0,
|
|
285
|
-
cacheWriteTokens: 0
|
|
286
|
-
};
|
|
287
|
-
modelsInOrder.push(model);
|
|
288
|
-
}
|
|
289
|
-
const slot = modelBreakdown[model];
|
|
290
|
-
slot.cost += cost;
|
|
291
|
-
slot.inputTokens += input;
|
|
292
|
-
slot.outputTokens += output;
|
|
293
|
-
slot.messageCount += 1;
|
|
294
|
-
slot.cacheReadTokens = (slot.cacheReadTokens ?? 0) + cacheRead;
|
|
295
|
-
slot.cacheWriteTokens = (slot.cacheWriteTokens ?? 0) + cacheWrite;
|
|
296
|
-
usageEvents.push({
|
|
297
|
-
requestId: `ohmypi:${root.id}:${entry.id}`,
|
|
298
|
-
timestamp: entry.timestamp || root.timestamp,
|
|
299
|
-
sessionId: root.id,
|
|
300
|
-
sessionFile: filePath,
|
|
301
|
-
provider,
|
|
302
|
-
model,
|
|
303
|
-
input,
|
|
304
|
-
output,
|
|
305
|
-
cacheRead,
|
|
306
|
-
cacheWrite,
|
|
307
|
-
cost,
|
|
308
|
-
...warning ? { warnings: warning } : {}
|
|
309
|
-
});
|
|
310
|
-
}
|
|
311
|
-
if (Math.abs(costV2 - costRecomputedFromTokens) > 1e-9) console.debug(`[ohmypi-parser] inline cost vs sum-of-line-items delta=${(costV2 - costRecomputedFromTokens).toFixed(6)} in ${filePath}`);
|
|
312
|
-
if (compactionCount > 0) console.debug(`[ohmypi-parser] active branch in ${filePath} has ${compactionCount} compaction event(s) — usage summed per-message (no double-count)`);
|
|
313
|
-
const display = modelsInOrder.length === 0 ? "unknown" : modelsInOrder.length === 1 ? modelsInOrder[0] : modelsInOrder.join(" → ");
|
|
314
|
-
return {
|
|
315
|
-
ok: true,
|
|
316
|
-
usage: {
|
|
317
|
-
sessionId: root.id,
|
|
318
|
-
sessionFile: filePath,
|
|
319
|
-
startTime: firstTs ?? root.timestamp,
|
|
320
|
-
endTime: lastTs ?? root.timestamp,
|
|
321
|
-
model: display,
|
|
322
|
-
usage: totals,
|
|
323
|
-
cost: costV2,
|
|
324
|
-
cost_v2: costV2,
|
|
325
|
-
messageCount,
|
|
326
|
-
modelBreakdown
|
|
327
|
-
},
|
|
328
|
-
usageEvents,
|
|
329
|
-
unpricedModels
|
|
330
|
-
};
|
|
331
|
-
}
|
|
332
|
-
function emptyUsage(filePath, root) {
|
|
333
|
-
return {
|
|
334
|
-
sessionId: root.id,
|
|
335
|
-
sessionFile: filePath,
|
|
336
|
-
startTime: root.timestamp,
|
|
337
|
-
endTime: root.timestamp,
|
|
338
|
-
model: "unknown",
|
|
339
|
-
usage: {
|
|
340
|
-
inputTokens: 0,
|
|
341
|
-
outputTokens: 0,
|
|
342
|
-
cacheReadTokens: 0,
|
|
343
|
-
cacheWriteTokens: 0
|
|
344
|
-
},
|
|
345
|
-
cost: 0,
|
|
346
|
-
cost_v2: 0,
|
|
347
|
-
messageCount: 0,
|
|
348
|
-
modelBreakdown: {}
|
|
349
|
-
};
|
|
350
|
-
}
|
|
351
|
-
var KNOWN_TYPES;
|
|
352
|
-
var init_ohmypi_parser = __esmMin((() => {
|
|
353
|
-
init_cost();
|
|
354
|
-
init_errors();
|
|
355
|
-
KNOWN_TYPES = new Set([
|
|
356
|
-
"session",
|
|
357
|
-
"message",
|
|
358
|
-
"model_change",
|
|
359
|
-
"thinking_level_change",
|
|
360
|
-
"compaction_start",
|
|
361
|
-
"compaction_end",
|
|
362
|
-
"session_before_compact",
|
|
363
|
-
"session_compact",
|
|
364
|
-
"session_before_switch",
|
|
365
|
-
"session_before_fork",
|
|
366
|
-
"session_start"
|
|
367
|
-
]);
|
|
368
|
-
}));
|
|
369
|
-
//#endregion
|
|
370
68
|
//#region ../../lib/agent-runtime-mirror.ts
|
|
371
69
|
/**
|
|
372
70
|
* PAN-800 — in-process mirror of AgentStateService's canonical ref.
|
|
@@ -546,6 +244,133 @@ function writeAgentPlaneRecordAtomicSync(path, record) {
|
|
|
546
244
|
}
|
|
547
245
|
parseAgentPlaneRecord(readFileSync$1(path, "utf-8"), path);
|
|
548
246
|
}
|
|
247
|
+
function gitFailureMessage(error) {
|
|
248
|
+
if (error && typeof error === "object") {
|
|
249
|
+
const failure = error;
|
|
250
|
+
return failure.stderr?.trim() || failure.stdout?.trim() || failure.message;
|
|
251
|
+
}
|
|
252
|
+
return String(error);
|
|
253
|
+
}
|
|
254
|
+
function isRemoteRefRaceError(message) {
|
|
255
|
+
return /non-fast-forward|fetch first|stale info|cannot lock ref.*expected|failed to update ref|failed to push some refs/i.test(message);
|
|
256
|
+
}
|
|
257
|
+
async function git(root, args) {
|
|
258
|
+
return (await execFileAsync$6("git", args, {
|
|
259
|
+
cwd: root,
|
|
260
|
+
encoding: "utf8",
|
|
261
|
+
timeout: 3e4,
|
|
262
|
+
maxBuffer: 16 * 1024 * 1024,
|
|
263
|
+
env: {
|
|
264
|
+
...process.env,
|
|
265
|
+
HUSKY: "0"
|
|
266
|
+
}
|
|
267
|
+
})).stdout.trim();
|
|
268
|
+
}
|
|
269
|
+
function appendMissing(remote, local) {
|
|
270
|
+
const known = new Set(remote.map((entry) => JSON.stringify(entry)));
|
|
271
|
+
return [...remote, ...local.filter((entry) => !known.has(JSON.stringify(entry)))];
|
|
272
|
+
}
|
|
273
|
+
function mergeAgentPlaneRecords(remote, local) {
|
|
274
|
+
if (!remote) return local;
|
|
275
|
+
if (remote.agentId !== local.agentId || remote.issueId !== local.issueId || remote.projectKey !== local.projectKey || remote.origin.machineId !== local.origin.machineId) throw new Error(`Refusing to reconcile incompatible durable agent record ${local.agentId}`);
|
|
276
|
+
return {
|
|
277
|
+
...remote,
|
|
278
|
+
sessions: appendMissing(remote.sessions, local.sessions),
|
|
279
|
+
lifecycle: appendMissing(remote.lifecycle, local.lifecycle),
|
|
280
|
+
archiveRef: local.archiveRef ?? remote.archiveRef,
|
|
281
|
+
recovered: remote.recovered || local.recovered
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
async function abortAgentPlaneMerge(root) {
|
|
285
|
+
await git(root, ["merge", "--abort"]).catch(() => void 0);
|
|
286
|
+
}
|
|
287
|
+
async function reconcileAgentPlanePush(context, desired) {
|
|
288
|
+
const relativePath = relative(context.root, context.path).replace(/\\/g, "/");
|
|
289
|
+
try {
|
|
290
|
+
for (let attempt = 0; attempt < MAX_AGENT_PUSH_RECONCILIATIONS; attempt += 1) {
|
|
291
|
+
if (await git(context.root, ["status", "--porcelain"])) return {
|
|
292
|
+
committed: true,
|
|
293
|
+
pushed: false,
|
|
294
|
+
reason: "agent-plane reconciliation blocked by dirty state worktree"
|
|
295
|
+
};
|
|
296
|
+
await git(context.root, [
|
|
297
|
+
"fetch",
|
|
298
|
+
"origin",
|
|
299
|
+
"overdeck-state"
|
|
300
|
+
]);
|
|
301
|
+
try {
|
|
302
|
+
await git(context.root, [
|
|
303
|
+
"merge",
|
|
304
|
+
"--no-edit",
|
|
305
|
+
"origin/overdeck-state"
|
|
306
|
+
]);
|
|
307
|
+
} catch (mergeError) {
|
|
308
|
+
const conflicts = (await git(context.root, [
|
|
309
|
+
"diff",
|
|
310
|
+
"--name-only",
|
|
311
|
+
"--diff-filter=U"
|
|
312
|
+
])).split("\n").map((path) => path.trim()).filter(Boolean);
|
|
313
|
+
if (conflicts.length !== 1 || conflicts[0] !== relativePath) {
|
|
314
|
+
await abortAgentPlaneMerge(context.root);
|
|
315
|
+
return {
|
|
316
|
+
committed: true,
|
|
317
|
+
pushed: false,
|
|
318
|
+
reason: `agent-plane reconciliation conflicted outside ${relativePath}: ${conflicts.join(", ") || gitFailureMessage(mergeError)}`
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
await git(context.root, [
|
|
322
|
+
"checkout",
|
|
323
|
+
"--theirs",
|
|
324
|
+
"--",
|
|
325
|
+
relativePath
|
|
326
|
+
]);
|
|
327
|
+
const remote = readAgentPlaneRecordAtPath(context.path);
|
|
328
|
+
writeAgentPlaneRecordAtomicSync(context.path, mergeAgentPlaneRecords(remote, desired));
|
|
329
|
+
await git(context.root, [
|
|
330
|
+
"add",
|
|
331
|
+
"--",
|
|
332
|
+
relativePath
|
|
333
|
+
]);
|
|
334
|
+
await git(context.root, [
|
|
335
|
+
"-c",
|
|
336
|
+
"core.editor=true",
|
|
337
|
+
"commit",
|
|
338
|
+
"--no-edit"
|
|
339
|
+
]);
|
|
340
|
+
}
|
|
341
|
+
try {
|
|
342
|
+
await git(context.root, [
|
|
343
|
+
"push",
|
|
344
|
+
"origin",
|
|
345
|
+
"overdeck-state"
|
|
346
|
+
]);
|
|
347
|
+
return {
|
|
348
|
+
committed: true,
|
|
349
|
+
pushed: true
|
|
350
|
+
};
|
|
351
|
+
} catch (pushError) {
|
|
352
|
+
const message = gitFailureMessage(pushError);
|
|
353
|
+
if (!isRemoteRefRaceError(message)) return {
|
|
354
|
+
committed: true,
|
|
355
|
+
pushed: false,
|
|
356
|
+
reason: `agent-plane reconciled push failed: ${message}`
|
|
357
|
+
};
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
return {
|
|
361
|
+
committed: true,
|
|
362
|
+
pushed: false,
|
|
363
|
+
reason: `agent-plane push lost ${MAX_AGENT_PUSH_RECONCILIATIONS} consecutive remote ref races`
|
|
364
|
+
};
|
|
365
|
+
} catch (error) {
|
|
366
|
+
await abortAgentPlaneMerge(context.root);
|
|
367
|
+
return {
|
|
368
|
+
committed: true,
|
|
369
|
+
pushed: false,
|
|
370
|
+
reason: `agent-plane reconciliation failed: ${gitFailureMessage(error)}`
|
|
371
|
+
};
|
|
372
|
+
}
|
|
373
|
+
}
|
|
549
374
|
function makeAgentPlaneRecord(state, projectKey) {
|
|
550
375
|
return {
|
|
551
376
|
version: 1,
|
|
@@ -649,38 +474,50 @@ function appendAgentPlaneSession(state, entry) {
|
|
|
649
474
|
};
|
|
650
475
|
});
|
|
651
476
|
}
|
|
652
|
-
function appendAgentPlaneLifecycle(state, entry) {
|
|
477
|
+
function appendAgentPlaneLifecycle(state, entry, options = {}) {
|
|
653
478
|
return updateAgentPlaneRecord(state, `${entry.event} lifecycle append`, (current) => ({
|
|
654
479
|
...current,
|
|
655
480
|
lifecycle: [...current.lifecycle, entry]
|
|
656
|
-
}));
|
|
481
|
+
}), options.deferCommit);
|
|
657
482
|
}
|
|
658
483
|
async function flushAgentPlaneWrites(issueId, agentId) {
|
|
659
484
|
const context = resolveAgentPlaneContext(issueId, agentId, "flush");
|
|
660
485
|
if (!context || !existsSync$1(context.root)) return null;
|
|
661
|
-
const
|
|
662
|
-
if (
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
committed
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
committed
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
486
|
+
const desired = readAgentPlaneRecordAtPath(context.path);
|
|
487
|
+
if (!desired) return null;
|
|
488
|
+
return withStateGitLock(context.root, `agent-plane-flush:${safeAgentId(agentId)}`, context.path, async () => {
|
|
489
|
+
const flushed = await Effect.runPromise(flushAutoCommits(context.project.path));
|
|
490
|
+
if (flushed.errored) return flushed;
|
|
491
|
+
if (flushed.committed && flushed.pushed !== true) {
|
|
492
|
+
if (!isRemoteRefRaceError(flushed.reason ?? "")) return flushed;
|
|
493
|
+
return reconcileAgentPlanePush(context, desired);
|
|
494
|
+
}
|
|
495
|
+
const reconciled = await Effect.runPromise(reconcileStatePlaneDrift(context.project.path));
|
|
496
|
+
if (reconciled.errored || reconciled.committed && reconciled.pushed !== true) return reconciled;
|
|
497
|
+
if (flushed.committed || reconciled.committed) return {
|
|
498
|
+
committed: true,
|
|
499
|
+
pushed: true
|
|
500
|
+
};
|
|
501
|
+
const push = await Effect.runPromise(pushPendingStateCommits(context.project.path));
|
|
502
|
+
if (push?.pushed === false && isRemoteRefRaceError(push.reason ?? "")) return reconcileAgentPlanePush(context, desired);
|
|
503
|
+
return {
|
|
504
|
+
committed: false,
|
|
505
|
+
pushed: push?.pushed,
|
|
506
|
+
reason: push?.reason ?? reconciled.reason ?? flushed.reason
|
|
507
|
+
};
|
|
508
|
+
});
|
|
675
509
|
}
|
|
676
|
-
var AGENT_PLANE_DIRNAME, AgentPlaneOwnershipError;
|
|
510
|
+
var AGENT_PLANE_DIRNAME, execFileAsync$6, MAX_AGENT_PUSH_RECONCILIATIONS, AgentPlaneOwnershipError;
|
|
677
511
|
var init_agents$1 = __esmMin((() => {
|
|
678
512
|
init_paths();
|
|
679
513
|
init_projects();
|
|
680
514
|
init_state_read_home();
|
|
681
515
|
init_auto_commit();
|
|
682
516
|
init_fs_lock();
|
|
517
|
+
init_state_git_lock();
|
|
683
518
|
AGENT_PLANE_DIRNAME = "agents";
|
|
519
|
+
execFileAsync$6 = promisify(execFile);
|
|
520
|
+
MAX_AGENT_PUSH_RECONCILIATIONS = 3;
|
|
684
521
|
AgentPlaneOwnershipError = class extends Error {
|
|
685
522
|
constructor(agentId, ownerMachine, writerMachine) {
|
|
686
523
|
super(`Refusing to write durable agent ${agentId}: origin machine is ${ownerMachine}, current machine is ${writerMachine}.`);
|
|
@@ -1606,8 +1443,17 @@ async function getProviderEnvForModel(model, harness) {
|
|
|
1606
1443
|
throw new Error(`No API key configured for ${provider.displayName}. Configure it in Settings before using model "${model}".`);
|
|
1607
1444
|
}
|
|
1608
1445
|
function getClaudeCodeContextPolicyForModel(model) {
|
|
1609
|
-
|
|
1446
|
+
const provider = getProviderForModelSync(model);
|
|
1447
|
+
if (provider.name === "anthropic") return {};
|
|
1610
1448
|
const resolvedModel = resolveModelIdSync(model);
|
|
1449
|
+
if (provider.name === "openrouter") {
|
|
1450
|
+
const openrouterWindow = OPENROUTER_MODEL_CONTEXT_WINDOWS[resolvedModel];
|
|
1451
|
+
if (openrouterWindow !== void 0) return {
|
|
1452
|
+
autoCompactWindow: openrouterWindow,
|
|
1453
|
+
maxContextTokens: openrouterWindow
|
|
1454
|
+
};
|
|
1455
|
+
return {};
|
|
1456
|
+
}
|
|
1611
1457
|
if (GPT_56_LONG_MODELS.has(resolvedModel)) return {
|
|
1612
1458
|
autoCompactWindow: CLIPROXY_GPT56_LONG_CONTEXT_WINDOW,
|
|
1613
1459
|
maxContextTokens: CLIPROXY_GPT56_LONG_CONTEXT_WINDOW
|
|
@@ -1737,6 +1583,7 @@ var init_provider_env = __esmMin((() => {
|
|
|
1737
1583
|
"QUANTUMLLAMA_API_KEY"
|
|
1738
1584
|
];
|
|
1739
1585
|
GPT_56_MODELS = new Set([
|
|
1586
|
+
"gpt-6-astra",
|
|
1740
1587
|
"gpt-5.6-sol",
|
|
1741
1588
|
"gpt-5.6-terra",
|
|
1742
1589
|
"gpt-5.6-luna"
|
|
@@ -2050,12 +1897,12 @@ async function claudeSystemPromptFiles(workspace, harness) {
|
|
|
2050
1897
|
}
|
|
2051
1898
|
files.push(await ensureSessionContextBriefingFile());
|
|
2052
1899
|
if (behavior.contextLayerKind === "pi") {
|
|
2053
|
-
const { piGlobalContextFile } = await import("./context-layers-
|
|
1900
|
+
const { piGlobalContextFile } = await import("./context-layers-D0QBOPJJ.js");
|
|
2054
1901
|
const globalFile = piGlobalContextFile();
|
|
2055
1902
|
if (existsSync(globalFile)) files.unshift(globalFile);
|
|
2056
1903
|
}
|
|
2057
1904
|
if (behavior.contextLayerKind === "codex") {
|
|
2058
|
-
const { codexGlobalContextFile } = await import("./context-layers-
|
|
1905
|
+
const { codexGlobalContextFile } = await import("./context-layers-D0QBOPJJ.js");
|
|
2059
1906
|
const globalFile = codexGlobalContextFile();
|
|
2060
1907
|
if (existsSync(globalFile)) files.unshift(globalFile);
|
|
2061
1908
|
}
|
|
@@ -2384,7 +2231,7 @@ async function injectPiPromptTimeMemory(agentId, prompt) {
|
|
|
2384
2231
|
agentRole: agentState.role ?? "work",
|
|
2385
2232
|
agentHarness: agentState.harness ?? "claude-code"
|
|
2386
2233
|
};
|
|
2387
|
-
const { injectPromptTimeMemory } = await import("./injection-
|
|
2234
|
+
const { injectPromptTimeMemory } = await import("./injection-DsQDBSEi.js");
|
|
2388
2235
|
const result = await injectPromptTimeMemory({
|
|
2389
2236
|
prompt,
|
|
2390
2237
|
identity,
|
|
@@ -2418,7 +2265,7 @@ async function injectPiConversationMemory(opts, prompt) {
|
|
|
2418
2265
|
agentRole: "work",
|
|
2419
2266
|
agentHarness: "ohmypi"
|
|
2420
2267
|
};
|
|
2421
|
-
const { injectPromptTimeMemory } = await import("./injection-
|
|
2268
|
+
const { injectPromptTimeMemory } = await import("./injection-DsQDBSEi.js");
|
|
2422
2269
|
const result = await injectPromptTimeMemory({
|
|
2423
2270
|
prompt,
|
|
2424
2271
|
identity,
|
|
@@ -2984,7 +2831,7 @@ async function transitionIssueToInReview(issueId, workspacePath) {
|
|
|
2984
2831
|
async function buildAgentLaunchConfig(opts) {
|
|
2985
2832
|
const model = requireModelOverrideSync(opts.model);
|
|
2986
2833
|
try {
|
|
2987
|
-
const { injectOverdeckInfraDeny } = await import("./claude-settings-overlay-
|
|
2834
|
+
const { injectOverdeckInfraDeny } = await import("./claude-settings-overlay-QByq1SQa.js");
|
|
2988
2835
|
await Effect.runPromise(injectOverdeckInfraDeny(opts.workspace));
|
|
2989
2836
|
} catch (err) {
|
|
2990
2837
|
console.warn(`[agents] injectOverdeckInfraDeny failed for ${opts.agentId} (non-fatal): ${err instanceof Error ? err.message : err}`);
|
|
@@ -3077,7 +2924,7 @@ async function retrieveSpawnTimeMemoryContext(input) {
|
|
|
3077
2924
|
agentRole: input.role,
|
|
3078
2925
|
agentHarness: input.harness
|
|
3079
2926
|
};
|
|
3080
|
-
const { injectPromptTimeMemory } = await import("./injection-
|
|
2927
|
+
const { injectPromptTimeMemory } = await import("./injection-DsQDBSEi.js");
|
|
3081
2928
|
return (await injectPromptTimeMemory({
|
|
3082
2929
|
prompt: input.prompt,
|
|
3083
2930
|
identity,
|
|
@@ -3177,7 +3024,7 @@ async function assertWorkspaceStackHealthyForSpawn(issueId, role, allowHost = fa
|
|
|
3177
3024
|
record.attempts += 1;
|
|
3178
3025
|
spawnStackRebuildState.set(normalizedIssue, record);
|
|
3179
3026
|
console.log(`[agents] Workspace stack for ${normalizedIssue} unhealthy (${details}) — rebuilding before spawn (attempt ${record.attempts}/${SPAWN_STACK_REBUILD_MAX_ATTEMPTS})`);
|
|
3180
|
-
const { rebuildWorkspaceStack } = await import("./rebuild-stack-
|
|
3027
|
+
const { rebuildWorkspaceStack } = await import("./rebuild-stack-BupKggo5.js");
|
|
3181
3028
|
const result = await Effect.runPromise(rebuildWorkspaceStack(issueId, { onProgress: (m) => console.log(`[agents] ${normalizedIssue} stack rebuild: ${m}`) })).catch((err) => ({
|
|
3182
3029
|
success: false,
|
|
3183
3030
|
error: err instanceof Error ? err.message : String(err)
|
|
@@ -5552,7 +5399,7 @@ var init_runtime_census = __esmMin((() => {
|
|
|
5552
5399
|
]);
|
|
5553
5400
|
runtimeCensusService = createRuntimeCensusService({
|
|
5554
5401
|
listPanes: async () => {
|
|
5555
|
-
const { listAllPaneRecords } = await import("./tmux-
|
|
5402
|
+
const { listAllPaneRecords } = await import("./tmux-C-hxv71f.js");
|
|
5556
5403
|
return Effect.runPromise(listAllPaneRecords());
|
|
5557
5404
|
},
|
|
5558
5405
|
readProcesses: readRuntimeProcessTable
|
|
@@ -6284,7 +6131,7 @@ async function spawnRunWithoutConsentClaim(issueId, role, options, acceptConsent
|
|
|
6284
6131
|
let reapWarmIdle = false;
|
|
6285
6132
|
const advancing = role === "review" || role === "test" || role === "ship";
|
|
6286
6133
|
try {
|
|
6287
|
-
const { isPaneDead } = await import("./tmux-
|
|
6134
|
+
const { isPaneDead } = await import("./tmux-C-hxv71f.js");
|
|
6288
6135
|
if (await Effect.runPromise(isPaneDead(agentId))) reapWarmIdle = true;
|
|
6289
6136
|
else if (advancing) {
|
|
6290
6137
|
const { status } = resolveCanonicalReviewStatus(issueId);
|
|
@@ -6293,7 +6140,7 @@ async function spawnRunWithoutConsentClaim(issueId, role, options, acceptConsent
|
|
|
6293
6140
|
} catch {}
|
|
6294
6141
|
if (!reapWarmIdle) throw new Error(`Role run ${agentId} already running. Use 'pan tell' to message it.`);
|
|
6295
6142
|
console.log(`[spawn] ${agentId} is warm-idle from the previous cycle — reaping it for the new ${role} dispatch (PAN-2579)`);
|
|
6296
|
-
const { killSession } = await import("./tmux-
|
|
6143
|
+
const { killSession } = await import("./tmux-C-hxv71f.js");
|
|
6297
6144
|
await Effect.runPromise(killSession(agentId)).catch(() => {});
|
|
6298
6145
|
}
|
|
6299
6146
|
await prepareWorkspaceForAgentSpawn(issueId, role, options.allowHost, workspace);
|
|
@@ -6308,7 +6155,7 @@ async function spawnRunWithoutConsentClaim(issueId, role, options, acceptConsent
|
|
|
6308
6155
|
assertCodexNativeAuthForSpawn(resolvedHarness, listAgentStates());
|
|
6309
6156
|
await ensureLifecycleHooksBeforeLaunch(agentId, resolvedHarness);
|
|
6310
6157
|
if (getProviderForModelSync(selectedModel).name === "openai" && await getProviderAuthMode(selectedModel) === "subscription") {
|
|
6311
|
-
const { isCliproxyRunning } = await import("./cliproxy-
|
|
6158
|
+
const { isCliproxyRunning } = await import("./cliproxy-ltFu5xfR.js");
|
|
6312
6159
|
if (!await Effect.runPromise(isCliproxyRunning())) throw new Error("CLIProxyAPI sidecar is not running. GPT subscription role runs route through a local cliproxy process managed by `pan up`. Run `pan up` (or restart the dashboard) before spawning a GPT role run.");
|
|
6313
6160
|
}
|
|
6314
6161
|
const state = {
|
|
@@ -6435,7 +6282,7 @@ async function spawnRunWithoutConsentClaim(issueId, role, options, acceptConsent
|
|
|
6435
6282
|
const claudeCmd = `bash ${launcherScript}`;
|
|
6436
6283
|
console.log(`[claude-invoke] purpose=role-run | role=${role} | model=${state.model} | source=agents.ts:spawnRun | session=${agentId} | command="${claudeCmd}"`);
|
|
6437
6284
|
try {
|
|
6438
|
-
const { preTrustDirectory } = await import("./workspace-manager-
|
|
6285
|
+
const { preTrustDirectory } = await import("./workspace-manager-gz9Amovn.js");
|
|
6439
6286
|
preTrustDirectory(workspace);
|
|
6440
6287
|
} catch {}
|
|
6441
6288
|
clearReadySignal(agentId);
|
|
@@ -6501,7 +6348,7 @@ async function spawnRunWithoutConsentClaim(issueId, role, options, acceptConsent
|
|
|
6501
6348
|
}
|
|
6502
6349
|
markAgentRunning(state);
|
|
6503
6350
|
try {
|
|
6504
|
-
const { snapshotWorkspaceHeadsPromise } = await import("./git-utils-
|
|
6351
|
+
const { snapshotWorkspaceHeadsPromise } = await import("./git-utils-fcK3ZRNj.js");
|
|
6505
6352
|
const headAnchor = await snapshotWorkspaceHeadsPromise(issueId, workspace);
|
|
6506
6353
|
if (headAnchor) state.roleRunHead = headAnchor;
|
|
6507
6354
|
} catch {}
|
|
@@ -6543,7 +6390,7 @@ async function spawnAgentWithoutConsentClaim(options, acceptConsent) {
|
|
|
6543
6390
|
});
|
|
6544
6391
|
console.log(`[DEBUG] Selected model: ${selectedModel}`);
|
|
6545
6392
|
if (getProviderForModelSync(selectedModel).name === "openai" && await getProviderAuthMode(selectedModel) === "subscription") {
|
|
6546
|
-
const { isCliproxyRunning } = await import("./cliproxy-
|
|
6393
|
+
const { isCliproxyRunning } = await import("./cliproxy-ltFu5xfR.js");
|
|
6547
6394
|
if (!await Effect.runPromise(isCliproxyRunning())) throw new Error("CLIProxyAPI sidecar is not running. GPT subscription agents route through a local cliproxy process managed by `pan up`. Run `pan up` (or restart the dashboard) before spawning a GPT agent.");
|
|
6548
6395
|
}
|
|
6549
6396
|
const resolvedHarness = await resolveHarness({
|
|
@@ -6593,7 +6440,7 @@ async function spawnAgentWithoutConsentClaim(options, acceptConsent) {
|
|
|
6593
6440
|
});
|
|
6594
6441
|
}
|
|
6595
6442
|
if (role === "work") try {
|
|
6596
|
-
const { writeStoryFeatureContext } = await import("./work-agent-prompt-
|
|
6443
|
+
const { writeStoryFeatureContext } = await import("./work-agent-prompt-CQWlmw_y.js");
|
|
6597
6444
|
await writeStoryFeatureContext(options.workspace, options.issueId);
|
|
6598
6445
|
} catch (ctxErr) {
|
|
6599
6446
|
console.warn(`[agents] Could not write story feature context for ${options.issueId}: ${ctxErr.message}`);
|
|
@@ -6640,7 +6487,7 @@ async function spawnAgentWithoutConsentClaim(options, acceptConsent) {
|
|
|
6640
6487
|
try {
|
|
6641
6488
|
const venvPath = join$1(options.workspace, ".venv");
|
|
6642
6489
|
if (isTldrEnabledSync() && existsSync(venvPath)) {
|
|
6643
|
-
const { getTldrDaemonServiceSync } = await import("./tldr-daemon-
|
|
6490
|
+
const { getTldrDaemonServiceSync } = await import("./tldr-daemon-DKCumqHU.js");
|
|
6644
6491
|
const tldrService = getTldrDaemonServiceSync(options.workspace, venvPath);
|
|
6645
6492
|
if (!(await tldrService.getStatus()).running) {
|
|
6646
6493
|
await tldrService.start(true);
|
|
@@ -6680,13 +6527,13 @@ async function spawnAgentWithoutConsentClaim(options, acceptConsent) {
|
|
|
6680
6527
|
const claudeCmd = `bash ${launcherScript}`;
|
|
6681
6528
|
console.log(`[claude-invoke] purpose=work-agent | model=${state.model} | source=agents.ts:spawnAgent | session=${agentId} | command="${claudeCmd}"`);
|
|
6682
6529
|
try {
|
|
6683
|
-
const { preTrustDirectory } = await import("./workspace-manager-
|
|
6530
|
+
const { preTrustDirectory } = await import("./workspace-manager-gz9Amovn.js");
|
|
6684
6531
|
preTrustDirectory(options.workspace);
|
|
6685
6532
|
} catch {}
|
|
6686
6533
|
try {
|
|
6687
|
-
const { isGitHubAppConfigured, generateInstallationToken, configureWorkspaceForBot } = await import("./github-app-
|
|
6534
|
+
const { isGitHubAppConfigured, generateInstallationToken, configureWorkspaceForBot } = await import("./github-app-HAqQZZRD.js");
|
|
6688
6535
|
if (isGitHubAppConfigured()) {
|
|
6689
|
-
const { findProjectByPathSync } = await import("./projects-
|
|
6536
|
+
const { findProjectByPathSync } = await import("./projects-Crur9uCa.js");
|
|
6690
6537
|
const ghRepo = findProjectByPathSync(resolve$1(options.workspace, "..", ".."))?.github_repo;
|
|
6691
6538
|
if (ghRepo) {
|
|
6692
6539
|
const [owner, repo] = ghRepo.split("/");
|
|
@@ -6702,7 +6549,7 @@ async function spawnAgentWithoutConsentClaim(options, acceptConsent) {
|
|
|
6702
6549
|
const launchAndCaptureKimiSession = async () => {
|
|
6703
6550
|
let kimiExistingSessionsBefore;
|
|
6704
6551
|
if (resolvedHarness === "kimi-code") try {
|
|
6705
|
-
const { kimiSessionsRoot } = await import("./kimi-code-
|
|
6552
|
+
const { kimiSessionsRoot } = await import("./kimi-code-Cdkk9vRU.js");
|
|
6706
6553
|
kimiExistingSessionsBefore = new Set(await readdir$1(kimiSessionsRoot(join$1(homedir(), ".kimi-code"), options.workspace)));
|
|
6707
6554
|
} catch {
|
|
6708
6555
|
kimiExistingSessionsBefore = /* @__PURE__ */ new Set();
|
|
@@ -6720,14 +6567,14 @@ async function spawnAgentWithoutConsentClaim(options, acceptConsent) {
|
|
|
6720
6567
|
...providerEnv
|
|
6721
6568
|
} }));
|
|
6722
6569
|
if (kimiExistingSessionsBefore) {
|
|
6723
|
-
const { waitForNewKimiSessionAsync, writeKimiSessionId } = await import("./kimi-code-
|
|
6570
|
+
const { waitForNewKimiSessionAsync, writeKimiSessionId } = await import("./kimi-code-Cdkk9vRU.js");
|
|
6724
6571
|
const sessionId = await waitForNewKimiSessionAsync(join$1(homedir(), ".kimi-code"), options.workspace, kimiExistingSessionsBefore);
|
|
6725
6572
|
if (sessionId) writeKimiSessionId(agentId, sessionId);
|
|
6726
6573
|
else throw new Error(`kimi-code session capture timed out for ${agentId} — no new session directory appeared under the workspace bucket`);
|
|
6727
6574
|
}
|
|
6728
6575
|
};
|
|
6729
6576
|
if (resolvedHarness === "kimi-code") {
|
|
6730
|
-
const { withKimiSessionCaptureLock } = await import("./kimi-code-
|
|
6577
|
+
const { withKimiSessionCaptureLock } = await import("./kimi-code-Cdkk9vRU.js");
|
|
6731
6578
|
try {
|
|
6732
6579
|
await withKimiSessionCaptureLock(join$1(homedir(), ".kimi-code"), options.workspace, launchAndCaptureKimiSession);
|
|
6733
6580
|
} catch (err) {
|
|
@@ -6790,7 +6637,7 @@ async function spawnAgentWithoutConsentClaim(options, acceptConsent) {
|
|
|
6790
6637
|
const codexHomeForAgent = join$1(homedir(), ".overdeck", "agents", agentId, "codex-home");
|
|
6791
6638
|
(async () => {
|
|
6792
6639
|
try {
|
|
6793
|
-
const { waitForCodexRollout, extractThreadIdFromRollout, writeThreadId } = await import("./codex-
|
|
6640
|
+
const { waitForCodexRollout, extractThreadIdFromRollout, writeThreadId } = await import("./codex-BqLZKVNm.js");
|
|
6794
6641
|
const rollout = await waitForCodexRollout(codexHomeForAgent, 12e4);
|
|
6795
6642
|
if (rollout) {
|
|
6796
6643
|
const threadId = extractThreadIdFromRollout(rollout);
|
|
@@ -7792,7 +7639,7 @@ function deliverWithOptionalKey(normalizedId, message, caller, deliveryMethod, d
|
|
|
7792
7639
|
* at-most-once across the whole replay window.
|
|
7793
7640
|
*/
|
|
7794
7641
|
async function resumeThenDeliverKeyed(normalizedId, message, caller, agentState, dedupKey) {
|
|
7795
|
-
const { resumeAgent } = await import("./agents-
|
|
7642
|
+
const { resumeAgent } = await import("./agents-BdkVgjxC.js");
|
|
7796
7643
|
const result = await resumeAgent(normalizedId);
|
|
7797
7644
|
if (!result.success) throw new Error(`Failed to auto-resume agent: ${result.error}`);
|
|
7798
7645
|
const delivery = await deliverAgentMessage(normalizedId, message, `messageAgent:${caller}`, resolveAgentDeliveryMethod(agentState), { dedupKey });
|
|
@@ -7847,7 +7694,7 @@ async function messageAgent(agentId, message, caller = "internal", opts = {}) {
|
|
|
7847
7694
|
}
|
|
7848
7695
|
console.log(`[agents] Auto-resuming suspended agent ${normalizedId} to deliver message`);
|
|
7849
7696
|
if (opts.dedupKey !== void 0) return resumeThenDeliverKeyed(normalizedId, message, caller, agentState, opts.dedupKey);
|
|
7850
|
-
const { resumeAgent } = await import("./agents-
|
|
7697
|
+
const { resumeAgent } = await import("./agents-BdkVgjxC.js");
|
|
7851
7698
|
const result = await resumeAgent(normalizedId, message);
|
|
7852
7699
|
if (!result.success) throw new Error(`Failed to auto-resume agent: ${result.error}`);
|
|
7853
7700
|
if (result.messageDelivered === false) throw new Error(`Agent resumed but ready signal did not fire — message not delivered. Feedback is in the mail queue.`);
|
|
@@ -7872,7 +7719,7 @@ async function messageAgent(agentId, message, caller = "internal", opts = {}) {
|
|
|
7872
7719
|
}
|
|
7873
7720
|
console.log(`[agents] Auto-resuming stopped agent ${normalizedId} to deliver feedback (session exists: ${await Effect.runPromise(sessionExists(normalizedId))})`);
|
|
7874
7721
|
if (opts.dedupKey !== void 0) return resumeThenDeliverKeyed(normalizedId, message, caller, agentState, opts.dedupKey);
|
|
7875
|
-
const { resumeAgent } = await import("./agents-
|
|
7722
|
+
const { resumeAgent } = await import("./agents-BdkVgjxC.js");
|
|
7876
7723
|
const resumeResult = await resumeAgent(normalizedId, message);
|
|
7877
7724
|
queueAgentMail(normalizedId, message);
|
|
7878
7725
|
if (resumeResult.success && resumeResult.messageDelivered !== false) {
|
|
@@ -7916,7 +7763,7 @@ async function messageAgent(agentId, message, caller = "internal", opts = {}) {
|
|
|
7916
7763
|
const resumeModel = agentState.model || "claude-sonnet-4-6";
|
|
7917
7764
|
const fallbackHarness = agentState.harness ?? "claude-code";
|
|
7918
7765
|
const harnessLaunch = await prepareHarnessLaunch(fallbackHarness);
|
|
7919
|
-
const { assertWorkspaceStackHealthyForSpawn } = await import("./agents-
|
|
7766
|
+
const { assertWorkspaceStackHealthyForSpawn } = await import("./agents-BdkVgjxC.js");
|
|
7920
7767
|
await assertWorkspaceStackHealthyForSpawn(agentState.issueId || normalizedId.replace(/^agent-/, "").toUpperCase(), resumeRole, agentState.hostOverride === true, agentState.workspace);
|
|
7921
7768
|
const fallbackPiFields = fallbackHarness === "ohmypi" ? await getOhmypiLauncherFields(normalizedId, resumeModel) : {};
|
|
7922
7769
|
const fallbackCodexFields = fallbackHarness === "codex" ? getCodexLauncherFields(normalizedId, resumeModel, agentState.workspace, resumeRole) : {};
|
|
@@ -7999,12 +7846,12 @@ async function messageAgent(agentId, message, caller = "internal", opts = {}) {
|
|
|
7999
7846
|
...reason ? { reason } : {}
|
|
8000
7847
|
};
|
|
8001
7848
|
}
|
|
8002
|
-
const { loadRemoteAgentState, sendToRemoteAgent } = await import("./remote-agents-
|
|
7849
|
+
const { loadRemoteAgentState, sendToRemoteAgent } = await import("./remote-agents-MbWzm5Fh.js");
|
|
8003
7850
|
const remoteState = loadRemoteAgentState(normalizedId);
|
|
8004
7851
|
if (remoteState && remoteState.vmName) {
|
|
8005
7852
|
console.log(`[agents] Sending message to remote agent ${normalizedId} on ${remoteState.vmName}`);
|
|
8006
7853
|
if (opts.dedupKey !== void 0) {
|
|
8007
|
-
const { sendToRemoteAgentKeyed } = await import("./remote-agents-
|
|
7854
|
+
const { sendToRemoteAgentKeyed } = await import("./remote-agents-MbWzm5Fh.js");
|
|
8008
7855
|
const remoteOutcome = await sendToRemoteAgentKeyed(normalizedId, remoteState.vmName, message, opts.dedupKey);
|
|
8009
7856
|
queueAgentMail(normalizedId, message, "delivered", opts.dedupKey);
|
|
8010
7857
|
await appendTellInterventionForUserSource(normalizedId, caller);
|
|
@@ -8068,7 +7915,7 @@ async function messageAgent(agentId, message, caller = "internal", opts = {}) {
|
|
|
8068
7915
|
if (panePids.length > 0 && !await hasAgentRuntimeInSubtree(panePids[0], expectedHarness)) {
|
|
8069
7916
|
console.warn(`[agents] ${normalizedId} tmux session is a zombie (no ${expectedHarness} runtime) — attempting resume`);
|
|
8070
7917
|
if (opts.dedupKey !== void 0) return resumeThenDeliverKeyed(normalizedId, message, caller, agentState, opts.dedupKey);
|
|
8071
|
-
const { resumeAgent } = await import("./agents-
|
|
7918
|
+
const { resumeAgent } = await import("./agents-BdkVgjxC.js");
|
|
8072
7919
|
const resumeResult = await resumeAgent(normalizedId, message);
|
|
8073
7920
|
if (resumeResult.success) {
|
|
8074
7921
|
const delivered = resumeResult.messageDelivered !== false;
|
|
@@ -8468,7 +8315,7 @@ async function buildCompactRecoverySeed(agentId) {
|
|
|
8468
8315
|
if (agentState?.workspace && sessionId) {
|
|
8469
8316
|
const sessionFile = sessionFilePath(agentState.workspace, sessionId);
|
|
8470
8317
|
try {
|
|
8471
|
-
const [{ getConversationCompactionSettings }, { generateSmartSummary }] = await Promise.all([import("./conversation-compaction-
|
|
8318
|
+
const [{ getConversationCompactionSettings }, { generateSmartSummary }] = await Promise.all([import("./conversation-compaction-BX9UR8nl.js"), import("./smart-compaction-CdtKIcDk.js")]);
|
|
8472
8319
|
const settings = getConversationCompactionSettings();
|
|
8473
8320
|
summary = (await Effect.runPromise(generateSmartSummary({
|
|
8474
8321
|
jsonlPath: sessionFile,
|
|
@@ -8479,7 +8326,7 @@ async function buildCompactRecoverySeed(agentId) {
|
|
|
8479
8326
|
} catch (err) {
|
|
8480
8327
|
logAgentLifecycleSync(normalizedId, `compact-recovery smart summary failed (${err instanceof Error ? err.message : String(err)}); trying heuristic fallback`);
|
|
8481
8328
|
try {
|
|
8482
|
-
const { generateFallbackSummary } = await import("./summary-fork-
|
|
8329
|
+
const { generateFallbackSummary } = await import("./summary-fork-DZcsOvDD.js");
|
|
8483
8330
|
summary = await Effect.runPromise(generateFallbackSummary(sessionFile));
|
|
8484
8331
|
} catch (fallbackErr) {
|
|
8485
8332
|
logAgentLifecycleSync(normalizedId, `compact-recovery fallback summary failed (${fallbackErr instanceof Error ? fallbackErr.message : String(fallbackErr)}); seeding with reseed instructions only`);
|
|
@@ -9001,6 +8848,25 @@ function looksLikeGenericConfirmation(line) {
|
|
|
9001
8848
|
function looksLikePiPermission(text) {
|
|
9002
8849
|
return /(?:permission|approval|approve|allow).{0,80}(?:required|request|prompt|action|command)/i.test(text) || /(?:allow|approve|run|execute)\s+(?:this\s+)?(?:command|tool|action)/i.test(text);
|
|
9003
8850
|
}
|
|
8851
|
+
/**
|
|
8852
|
+
* PAN-3766 — ohmypi `ask` modal footer. Pi renders a blocking multiple-choice
|
|
8853
|
+
* question in a box-drawn frame whose footer hint reads "Enter select · n note
|
|
8854
|
+
* · ↑/↓ move · Esc cancel". The modal sits at the bottom of the pane while open
|
|
8855
|
+
* and disappears when answered. The JSONL scan (scanPendingInputsPromise)
|
|
8856
|
+
* carries the question payload for conversations; this pane signal covers
|
|
8857
|
+
* sessions whose transcript is not wired into that scan (pi work agents).
|
|
8858
|
+
*/
|
|
8859
|
+
function looksLikePiAskFooter(line) {
|
|
8860
|
+
return /Enter\s+select\b/i.test(line) && /Esc\s+cancel/i.test(line);
|
|
8861
|
+
}
|
|
8862
|
+
/** Box-drawing chrome lines that may follow the ask modal's footer (╰───╯). */
|
|
8863
|
+
function looksLikePiBoxChrome(line) {
|
|
8864
|
+
return /^[\s╰╯╭╮─│├┤┌┐└┘┬┴┼]*$/.test(line);
|
|
8865
|
+
}
|
|
8866
|
+
/** The modal's header line: plain ("Ask 1 questions") or boxed ("╭─ Ask ─╮"). */
|
|
8867
|
+
function looksLikePiAskHeader(line) {
|
|
8868
|
+
return /^\s*(?:╭\s*─*\s*)?Ask\b/.test(line);
|
|
8869
|
+
}
|
|
9004
8870
|
function looksLikePlanningDone(text) {
|
|
9005
8871
|
return /planning finalized\s*[—-]\s*click done/i.test(text) || /click Done in the dashboard/i.test(text) || /planning (?:is )?complete.{0,120}(?:click|press|select) Done/i.test(text);
|
|
9006
8872
|
}
|
|
@@ -9063,6 +8929,21 @@ function detectAwaitingInputFromPaneSync(pane, options = {}) {
|
|
|
9063
8929
|
prompt: snippet
|
|
9064
8930
|
};
|
|
9065
8931
|
}
|
|
8932
|
+
const piAskIndex = lastIndexMatching(lines, looksLikePiAskFooter);
|
|
8933
|
+
if (piAskIndex >= 0 && isRecentPromptIndex(lines, piAskIndex)) {
|
|
8934
|
+
const trailing = lines.slice(piAskIndex + 1);
|
|
8935
|
+
if (trailing.length <= 3 && trailing.every(looksLikePiBoxChrome)) {
|
|
8936
|
+
let headerIndex = -1;
|
|
8937
|
+
for (let i = piAskIndex - 1; i >= 0 && i >= piAskIndex - 30; i--) if (looksLikePiAskHeader(lines[i])) {
|
|
8938
|
+
headerIndex = i;
|
|
8939
|
+
break;
|
|
8940
|
+
}
|
|
8941
|
+
return {
|
|
8942
|
+
reason: "user_question",
|
|
8943
|
+
prompt: snippetAround(lines, headerIndex >= 0 ? headerIndex : piAskIndex, 0, 12)
|
|
8944
|
+
};
|
|
8945
|
+
}
|
|
8946
|
+
}
|
|
9066
8947
|
if (options.isPlanning && looksLikePlanningDone(recentText)) {
|
|
9067
8948
|
const doneIndex = lastIndexMatching(lines, (line) => /done|planning/i.test(line));
|
|
9068
8949
|
return {
|
|
@@ -9410,6 +9291,60 @@ function isUserTextEntry(entry) {
|
|
|
9410
9291
|
});
|
|
9411
9292
|
return false;
|
|
9412
9293
|
}
|
|
9294
|
+
function isPiMessageEntry(entry) {
|
|
9295
|
+
if (!entry || typeof entry !== "object") return false;
|
|
9296
|
+
const e = entry;
|
|
9297
|
+
return e.type === "message" && typeof e.message?.role === "string";
|
|
9298
|
+
}
|
|
9299
|
+
function piAskQuestions(raw) {
|
|
9300
|
+
if (!Array.isArray(raw)) return [];
|
|
9301
|
+
const questions = [];
|
|
9302
|
+
for (const q of raw) {
|
|
9303
|
+
if (!q || typeof q !== "object") continue;
|
|
9304
|
+
const r = q;
|
|
9305
|
+
const options = Array.isArray(r["options"]) ? r["options"].filter((o) => !!o && typeof o === "object").map((o) => ({
|
|
9306
|
+
label: typeof o["label"] === "string" ? o["label"] : "",
|
|
9307
|
+
description: typeof o["description"] === "string" ? o["description"] : ""
|
|
9308
|
+
})) : [];
|
|
9309
|
+
questions.push({
|
|
9310
|
+
question: typeof r["question"] === "string" ? r["question"] : "",
|
|
9311
|
+
header: typeof r["header"] === "string" ? r["header"] : "",
|
|
9312
|
+
options,
|
|
9313
|
+
multiSelect: r["multiSelect"] === true
|
|
9314
|
+
});
|
|
9315
|
+
}
|
|
9316
|
+
return questions;
|
|
9317
|
+
}
|
|
9318
|
+
function scanPiEntry(entry, state) {
|
|
9319
|
+
const e = entry;
|
|
9320
|
+
const message = e.message;
|
|
9321
|
+
if (!message) return;
|
|
9322
|
+
const timestamp = typeof e.timestamp === "string" ? e.timestamp : (/* @__PURE__ */ new Date()).toISOString();
|
|
9323
|
+
if (message.role === "assistant" && Array.isArray(message.content)) {
|
|
9324
|
+
for (const item of message.content) {
|
|
9325
|
+
if (!item || typeof item !== "object") continue;
|
|
9326
|
+
const c = item;
|
|
9327
|
+
if (c.type === "toolCall" && c.name === "ask" && typeof c.id === "string") state.askToolCalls.set(c.id, {
|
|
9328
|
+
toolId: c.id,
|
|
9329
|
+
timestamp,
|
|
9330
|
+
questions: piAskQuestions(c.arguments?.questions)
|
|
9331
|
+
});
|
|
9332
|
+
}
|
|
9333
|
+
return;
|
|
9334
|
+
}
|
|
9335
|
+
if (message.role === "toolResult" && typeof message.toolCallId === "string") {
|
|
9336
|
+
if (state.askToolCalls.has(message.toolCallId)) {
|
|
9337
|
+
state.askAnswered.add(message.toolCallId);
|
|
9338
|
+
state.askDeniedAwaitingUser.delete(message.toolCallId);
|
|
9339
|
+
}
|
|
9340
|
+
}
|
|
9341
|
+
}
|
|
9342
|
+
/**
|
|
9343
|
+
* Scan a session transcript for inputs waiting on the operator: outstanding
|
|
9344
|
+
* AskUserQuestion tool calls (claude) or `ask` tool calls (ohmypi, PAN-3766),
|
|
9345
|
+
* and claude plan-mode state. Format is detected per line, so a transcript
|
|
9346
|
+
* resolves correctly even when the recorded harness is stale.
|
|
9347
|
+
*/
|
|
9413
9348
|
async function scanPendingInputsPromise(jsonlPath) {
|
|
9414
9349
|
if (!existsSync(jsonlPath)) return {
|
|
9415
9350
|
askUserQuestions: [],
|
|
@@ -9429,6 +9364,14 @@ async function scanPendingInputsPromise(jsonlPath) {
|
|
|
9429
9364
|
const exitPlanModeFiredAfterEnter = /* @__PURE__ */ new Set();
|
|
9430
9365
|
for (const line of lines) try {
|
|
9431
9366
|
const entry = JSON.parse(line);
|
|
9367
|
+
if (isPiMessageEntry(entry)) {
|
|
9368
|
+
scanPiEntry(entry, {
|
|
9369
|
+
askToolCalls,
|
|
9370
|
+
askAnswered,
|
|
9371
|
+
askDeniedAwaitingUser
|
|
9372
|
+
});
|
|
9373
|
+
continue;
|
|
9374
|
+
}
|
|
9432
9375
|
if (isUserTextEntry(entry)) {
|
|
9433
9376
|
for (const id of askDeniedAwaitingUser) askAnswered.add(id);
|
|
9434
9377
|
askDeniedAwaitingUser.clear();
|
|
@@ -9787,7 +9730,7 @@ async function restartAgent(agentId, opts = {}, deps = {}) {
|
|
|
9787
9730
|
unlinkSync(join$1(getAgentDir(normalizedId), "kimi-session-id"));
|
|
9788
9731
|
} catch {}
|
|
9789
9732
|
try {
|
|
9790
|
-
const { kimiSessionsRoot } = await import("./kimi-code-
|
|
9733
|
+
const { kimiSessionsRoot } = await import("./kimi-code-Cdkk9vRU.js");
|
|
9791
9734
|
kimiExistingSessionsBefore = new Set(await readdir$1(kimiSessionsRoot(join$1(homedir(), ".kimi-code"), agentState.workspace)));
|
|
9792
9735
|
} catch {
|
|
9793
9736
|
kimiExistingSessionsBefore = /* @__PURE__ */ new Set();
|
|
@@ -9804,14 +9747,14 @@ async function restartAgent(agentId, opts = {}, deps = {}) {
|
|
|
9804
9747
|
...providerEnv
|
|
9805
9748
|
} }));
|
|
9806
9749
|
if (kimiExistingSessionsBefore) {
|
|
9807
|
-
const { waitForNewKimiSessionAsync, writeKimiSessionId } = await import("./kimi-code-
|
|
9750
|
+
const { waitForNewKimiSessionAsync, writeKimiSessionId } = await import("./kimi-code-Cdkk9vRU.js");
|
|
9808
9751
|
const sessionId = await waitForNewKimiSessionAsync(join$1(homedir(), ".kimi-code"), agentState.workspace, kimiExistingSessionsBefore);
|
|
9809
9752
|
if (!sessionId) throw new Error(`kimi-code session capture timed out after fresh relaunch for ${normalizedId} — no new session directory appeared under the workspace bucket`);
|
|
9810
9753
|
writeKimiSessionId(normalizedId, sessionId);
|
|
9811
9754
|
}
|
|
9812
9755
|
};
|
|
9813
9756
|
if (effectiveHarness === "kimi-code") {
|
|
9814
|
-
const { withKimiSessionCaptureLock } = await import("./kimi-code-
|
|
9757
|
+
const { withKimiSessionCaptureLock } = await import("./kimi-code-Cdkk9vRU.js");
|
|
9815
9758
|
await withKimiSessionCaptureLock(join$1(homedir(), ".kimi-code"), agentState.workspace, launchAndCaptureKimiSession);
|
|
9816
9759
|
} else await launchAndCaptureKimiSession();
|
|
9817
9760
|
const prompt = message || buildResumeContinueMessage(agentState);
|
|
@@ -10041,7 +9984,7 @@ async function recoverAgent(agentId, opts = {}) {
|
|
|
10041
9984
|
const launchAndCaptureKimiSession = async () => {
|
|
10042
9985
|
let kimiExistingSessionsBefore;
|
|
10043
9986
|
if (!resumeSessionId) try {
|
|
10044
|
-
const { kimiSessionsRoot } = await import("./kimi-code-
|
|
9987
|
+
const { kimiSessionsRoot } = await import("./kimi-code-Cdkk9vRU.js");
|
|
10045
9988
|
kimiExistingSessionsBefore = new Set(await readdir$1(kimiSessionsRoot(join$1(homedir(), ".kimi-code"), state.workspace)));
|
|
10046
9989
|
} catch {
|
|
10047
9990
|
kimiExistingSessionsBefore = /* @__PURE__ */ new Set();
|
|
@@ -10055,13 +9998,13 @@ async function recoverAgent(agentId, opts = {}) {
|
|
|
10055
9998
|
...kimiProviderEnv
|
|
10056
9999
|
} }));
|
|
10057
10000
|
if (kimiExistingSessionsBefore) {
|
|
10058
|
-
const { waitForNewKimiSessionAsync, writeKimiSessionId } = await import("./kimi-code-
|
|
10001
|
+
const { waitForNewKimiSessionAsync, writeKimiSessionId } = await import("./kimi-code-Cdkk9vRU.js");
|
|
10059
10002
|
const sessionId = await waitForNewKimiSessionAsync(join$1(homedir(), ".kimi-code"), state.workspace, kimiExistingSessionsBefore);
|
|
10060
10003
|
if (sessionId) writeKimiSessionId(normalizedId, sessionId);
|
|
10061
10004
|
else throw new Error(`kimi-code session capture timed out after fresh relaunch for ${normalizedId} — no new session directory appeared under the workspace bucket`);
|
|
10062
10005
|
}
|
|
10063
10006
|
};
|
|
10064
|
-
const { withKimiSessionCaptureLock } = await import("./kimi-code-
|
|
10007
|
+
const { withKimiSessionCaptureLock } = await import("./kimi-code-Cdkk9vRU.js");
|
|
10065
10008
|
try {
|
|
10066
10009
|
await withKimiSessionCaptureLock(join$1(homedir(), ".kimi-code"), state.workspace, launchAndCaptureKimiSession);
|
|
10067
10010
|
} catch (err) {
|
|
@@ -11985,6 +11928,6 @@ var init_agent_state = __esmMin((() => {
|
|
|
11985
11928
|
};
|
|
11986
11929
|
}));
|
|
11987
11930
|
//#endregion
|
|
11988
|
-
export { deliverCommitForReview as $, isTerminalSwarmSlotAgent as $n, piFifoPaths as $r, init_activity as $t, saveAgentStateSync as A, getAgentRuntimeSnapshot as Ai, init_runtime_census as An, transitionIssueToInReview as Ar, init_agent_input_detection as At, resolveAgentTargetSync as B, markAgentStateServiceInProcess as Bi, countRunningAgents as Bn, getAgentRuntimeBaseCommand as Br, isContextOverflowError as Bt, markAgentTroubled as C, writeChannelsBridgeMcpConfig as Ci, init_state_dir_removal as Cn, paneShowsCodexAuthBurn as Cr, getAgentWorkspace as Ct, recordStartupSessionExit as D, writePtyToken as Di, descendantPidsForSession as Dn, init_spawn_prep as Dr, scanPendingInputsPromise as Dt, recordAgentFailureSync as E, init_pty_token as Ei, removeAgentStateDir as En, defaultRunWorkspace as Er, isInteractiveRoleAgent as Et, writeAgentStateJsonSync as F, init_agents$1 as Fi, init_collector as Fn, init_resolve_tier as Fr, resumeAgent as Ft, init_runtime_state as G, init_concurrency as Gn, getRoleRuntimeBaseCommand as Gr, resolveAgentDeliveryMethod as Gt, waitForReadySignal as H,
|
|
11931
|
+
export { deliverCommitForReview as $, isTerminalSwarmSlotAgent as $n, piFifoPaths as $r, init_activity as $t, saveAgentStateSync as A, getAgentRuntimeSnapshot as Ai, init_runtime_census as An, transitionIssueToInReview as Ar, init_agent_input_detection as At, resolveAgentTargetSync as B, markAgentStateServiceInProcess as Bi, countRunningAgents as Bn, getAgentRuntimeBaseCommand as Br, isContextOverflowError as Bt, markAgentTroubled as C, writeChannelsBridgeMcpConfig as Ci, init_state_dir_removal as Cn, paneShowsCodexAuthBurn as Cr, getAgentWorkspace as Ct, recordStartupSessionExit as D, writePtyToken as Di, descendantPidsForSession as Dn, init_spawn_prep as Dr, scanPendingInputsPromise as Dt, recordAgentFailureSync as E, init_pty_token as Ei, removeAgentStateDir as En, defaultRunWorkspace as Er, isInteractiveRoleAgent as Et, writeAgentStateJsonSync as F, init_agents$1 as Fi, init_collector as Fn, init_resolve_tier as Fr, resumeAgent as Ft, init_runtime_state as G, init_concurrency as Gn, getRoleRuntimeBaseCommand as Gr, resolveAgentDeliveryMethod as Gt, waitForReadySignal as H, describeRunningAgents as Hn, getKimiCodeLauncherFields as Hr, init_messaging as Ht, isRole as I, init_agent_record_sync as Ii, LINUX_MEMORY_PRESSURE_DEFAULTS as In, resolveTier as Ir, answerSessionPaneChoice as It, compactAtTierRunBoundary as J, resetPatrolDispatchBudget as Jn, injectPiConversationMemory as Jr, appendActivity as Jt, saveAgentRuntimeState as K, releaseAdvancingSlot as Kn, hasAgentRuntimeInSubtree as Kr, init_operator_interventions as Kt, clearReadySignal as L, readAgentHarnessModelRecordSync as Li, init_linux as Ln, OHMYPI_AGENT_READY_TIMEOUT_SECONDS as Lr, captureSessionPaneChoice as Lt, setAgentPausedSync as M, appendAgentPlaneLifecycle as Mi, refreshRuntimeCensus as Mn, resolveImplicitStaffing as Mr, parseCodexApprovalPrompt as Mt, setAgentYieldedSync as N, appendAgentPlaneSession as Ni, runtimeCensusHasHarnessProcess as Nn, resolveIssueWorkModel as Nr, buildCompactRecoverySeed as Nt, resetAgentFailureCount as O, init_pty_supervisor_locate as Oi, getRuntimeCensus as On, retrieveSpawnTimeMemoryContext as Or, detectAwaitingInputForAgent as Ot, wipeAgentStateDirs as P, flushAgentPlaneWrites as Pi, createHostHealthCollector as Pn, resolveStaffing as Pr, init_resume as Pt, shouldReplayCompactAtTierRunBoundary as Q, init_swarm_slot_lifecycle as Qn, init_pi_fifo as Qr, getSessionId as Qt, isQualifiedAgentId as R, getRuntimeSnapshot as Ri, DARWIN_MEMORY_PRESSURE_DEFAULTS as Rn, describeOhmypiSpawnFailure as Rr, init_session_pane_choice as Rt, markAgentStoppedState as S, init_supervisor_channels as Si, hasRetainedTranscriptsMarker as Sn, isCodexAuthRouted as Sr, getAgentPendingQuestions as St, recordAgentFailure as T, init_resume_contract as Ti, markRetainedTranscripts as Tn, buildAgentLaunchConfig as Tr, isBlockedOnPendingInput as Tt, getAgentRuntimeState as U, emergencyBrake as Un, getOhmypiLauncherFields as Ur, messageAgent as Ut, waitForAgentIdle as V, setAgentRuntimeMirror as Vi, countRunningSwarmSlotsForIssue as Vn, getCodexLauncherFields as Vr, isContextOverflowTail as Vt, getAgentRuntimeStateSync as W, getConcurrencyLimits as Wn, getProviderAuthMode as Wr, messageAgentWithOutcome as Wt, replayCrashedStandingAgent as X, tryReserveSwarmSlot as Xn, waitForAcpHostReady as Xr, getLatestSessionId as Xt, contextWindowForModel as Y, tryReserveAdvancingSlot as Yn, roleAgentDefinitionPath as Yr, getActivity as Yt, replayStandingAgent as Z, workResumeSlotsAvailable as Zn, waitForPromptReady as Zr, getLatestSessionIdSync as Zt, init_agent_state as _, buildResumeContinueMessage as _i, listAgentStates as _n, init_bridge_token as _r, init_pending_decision_gate as _t, clearAgentOperatorGatesForIssuesSync as a, init_claude_auth as ai, init_spawn as an, deliverAgentMessage as ar, broadcastCommit as at, markAgentRunning as b, dismissDevChannelsDialog as bi, warnOnBareNumericIssueIds as bn, checkCodexAuthStatus as br, getAgentJsonlMtime as bt, clearAgentTroubled as c, determineModel as ci, ensureRegisteredSlotWorktree as cn, deliverResumeMessageWithTranscriptConfirmation as cr, init_tier_escalation as ct, decideResumeGate as d, getProviderTmuxFlags as di, init_session_history as dn, resilientDeliveryMethod as dr, reconcileSlotState as dt, init_ohmypi_fifo as ei, resolveLatestSessionIdSync as en, getCachedMemoryVerdict as er, init_tier_supervisor as et, getAgentDir as f, init_provider_health as fi, init_termination as fn, setAgentDeliveryMethod as fr, autoRecoverAgents as ft, getAgentStateSync as g, buildDefaultResumeContinueMessage as gi, init_queries as gn, BRIDGE_TOKEN_HEADER as gr, detectPendingOperatorDecision as gt, getAgentStateFilePath as h, init_openai_auth as hi, dropLegacyAgentStatesMissingRoleAsync as hn, probeTranscriptSince as hr, restartAgent as ht, clearAgentOperatorGatesForIssueSync as i, getClaudeAuthStatus as ii, init_ohmypi as in, SocketPostStatusError as ir, supervisorAgentId as it, setAgentPaused as j, init_agent_runtime as ji, panePidsForSession as jn, init_staffing as jr, normalizeAwaitingInputPrompt as jt, saveAgentState as k, resolvePtySupervisorScriptPath as ki, getRuntimeCensusSnapshot as kn, transitionIssueToInProgress as kr, detectAwaitingInputFromPaneSync as kt, clearAgentTroubledSync as l, getProviderEnvForModel as li, init_registered_slot_spawn as ln, init_delivery as lr, init_slot_reconcile as lt, getAgentState as m, getOpenAIAuthStatus as mi, stopAgentSync as mn, init_transcript_landing as mr, recoverAgent as mt, SESSION_EXITED_BEFORE_KICKOFF as n, init_context as ni, init_event_reads as nn, setCachedMemoryVerdict as nr, shouldSupervise as nt, clearAgentPaused as o, buildCavemanExports as oi, spawnAgent as on, deliverAgentPermissionDecision as or, init_tier_feed as ot, getAgentResumeGateBlockReason as p, validateProviderHealth as pi, stopAgent as pn, captureTranscriptUserRecordSnapshot as pr, detectCrashedAgents as pt, init_agents as q, releaseSwarmSlot as qn, init_runtime_command as qr, operatorInterventionEvent as qt, __testInternals as r, materializeAcpContextFile as ri, createOhmypiRuntimeSync as rn, AmbiguousKeyedDeliveryError as rr, spawnTierSupervisor as rt, clearAgentPausedSync as s, buildSpawnEnvForModel as si, spawnRun as sn, deliverInitialPromptWithRetry as sr, decideEscalation as st, GOVERNOR_SLOT_PAUSE_REASON_PREFIX as t, ohmypiFifoPaths as ti, saveSessionId as tn, init_memory_verdict_cache as tr, loadPrdDraft as tt, clearYieldForResumeSync as u, getProviderExportsForModel as ui, appendSessionIdToHistory as un, keyedSupervisorFailureKind as ur, listSlotAssignments as ut, isAgentPaused as v, decideChannelsForWorkAgent as vi, listRunningAgents as vn, writeBridgeTokenSync as vr, computeAgentEnrichment as vt, recordAgentActivitySync as w, buildResumeContract as wi, listAgentStateFilesForRemoval as wn, assertWorkspaceStackHealthyForSpawn as wr, init_agent_enrichment as wt, markAgentRunningState as x, hasCompletionMarkerForAgent as xi, RETAINED_TRANSCRIPTS_MARKER as xn, init_codex_auth as xr, getAgentJsonlPath as xt, isAgentTroubled as y, decideSupervisorForWorkAgent as yi, listRunningAgentsSync as yn, applyCodexAuthBurnFlag as yr, countPendingAskUserQuestionsForAgent as yt, normalizeAgentId as z, init_agent_runtime_mirror as zi, init_darwin as zn, getAcpLauncherFields as zr, init_context_overflow as zt };
|
|
11989
11932
|
|
|
11990
|
-
//# sourceMappingURL=agent-state-
|
|
11933
|
+
//# sourceMappingURL=agent-state-BnyNoDWQ.js.map
|