@overdeck/desktop 0.50.0 → 0.50.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/server/{acceptance-criteria-B_maCGZv.js → acceptance-criteria-D-OIjvuX.js} +2 -2
- package/server/{active-dashboard-bundle-CCqpFWiz.js → active-dashboard-bundle-C-Ars7eG.js} +2 -2
- package/server/{activity-logger-B0X2JJwM.js → activity-logger-BRASNITk.js} +1 -1
- package/server/{activity-logger-SlTXYCVf.js → activity-logger-DNYDzAOU.js} +3 -3
- package/server/{advancing-selfheal-BJAfiY-C.js → advancing-selfheal-Bq8V0QUa.js} +5 -5
- package/server/{agent-gc-bhikjoJ_.js → agent-gc-Coz8zQt_.js} +10 -10
- package/server/{agent-idle-D-UQ7gDv.js → agent-idle-CAwB-K6M.js} +182 -30
- package/server/{agent-state-BrUPf_7Z.js → agent-state-CbUEwUEQ.js} +1 -1
- package/server/{agent-state-FABw8neJ.js → agent-state-Ci6PhjOE.js} +1504 -245
- package/server/{agent-state-service-rDenYSlD.js → agent-state-service-D6IVrX3B.js} +5 -5
- package/server/{agent-state-service-BAQApt97.js → agent-state-service-DcN1j6eK.js} +1 -1
- package/server/agents-BVvL4o_4.js +3 -0
- package/server/{agents-DzpQidT8.js → agents-CkngXhQr.js} +4 -4
- package/server/archive-planning-CohTB7hg.js +2 -0
- package/server/{archive-planning-BL1ABtW0.js → archive-planning-CtdBSD1-.js} +5 -5
- package/server/{artifact-index-jobs-Cjdme0jS.js → artifact-index-jobs-9ZdXQ9zH.js} +2 -2
- package/server/{auto-spawn-consent-BesWchEi.js → auto-spawn-consent-CJeQM5e0.js} +281 -77
- package/server/{backlog-auto-trigger-COLq639j.js → backlog-auto-trigger-BuSBqG2V.js} +3 -3
- package/server/{behavior-DCg8CIWC.js → behavior-Bg3yC8jC.js} +93 -38
- package/server/{bridge-pool-patrol-BDohuMRt.js → bridge-pool-patrol-CkJ86c_r.js} +2 -2
- package/server/{briefing-freshness-ENa_hW_V.js → briefing-freshness-CEoe3yWS.js} +2 -2
- package/server/build-info-CYlxvZSQ.js +2 -0
- package/server/{build-info-WuZT6xyi.js → build-info-Cj3Y0K87.js} +3 -3
- package/server/{checkpoint-manager-CSZ7aVQF.js → checkpoint-manager-Bt4dnyyr.js} +2 -2
- package/server/{checkpoint-manager-DXhGRvg4.js → checkpoint-manager-C1-9CFcu.js} +1 -1
- package/server/checkpoint-worker.js +1 -1
- package/server/{checkpoints-DUkUsPVS.js → checkpoints-3pyv5ikj.js} +2 -2
- package/server/{checkpoints-tm_w6Y4V.js → checkpoints-Dgtp8549.js} +1 -1
- package/server/{claude-hooks-provision-fRofvhTN.js → claude-hooks-provision-DWrqkc3x.js} +2 -2
- package/server/{claude-hooks-provision-CTh9zxEi.js → claude-hooks-provision-DXac_UDF.js} +1 -1
- package/server/{claude-permissions-DLrb9ovz.js → claude-permissions-DX5BSnMH.js} +2 -2
- package/server/{claude-settings-overlay-CMS5Jab5.js → claude-settings-overlay-ALboy05V.js} +1 -1
- package/server/{claude-settings-overlay-BYnXaTVc.js → claude-settings-overlay-CTkJUUHw.js} +2 -2
- package/server/{cli-CoQou1t_.js → cli-DIhQieif.js} +11 -11
- package/server/cli-ZAS502uC.js +2 -0
- package/server/{cliproxy-DdhFpcXU.js → cliproxy-Dz_zq_4H.js} +1 -1
- package/server/{cliproxy-DXDQcR3I.js → cliproxy-QTm2vdgx.js} +2 -2
- package/server/{close-issue-CpQ0BWg-.js → close-issue-CRlmrE5g.js} +5 -5
- package/server/{closed-issue-reaper-TymtZM37.js → closed-issue-reaper-DWlw2EtL.js} +1 -1
- package/server/{closed-issue-reaper-CdcJRvUx.js → closed-issue-reaper-DrHyYgJR.js} +13 -13
- package/server/{codex-BValsmtK.js → codex-DzLXjzbf.js} +1 -1
- package/server/{codex-DYyZL8JD.js → codex-pffr8qaN.js} +25 -18
- package/server/{compaction-continuation-CVjbdGKt.js → compaction-continuation-DhYgsXmF.js} +3 -3
- package/server/{config-_qaa1UXH.js → config-B-MLcKSo.js} +2 -2
- package/server/{config-NxI9Yl2f.js → config-BUjU7GZQ.js} +2 -2
- package/server/{config-CvKH7r7W.js → config-DN8ETZvK.js} +1 -1
- package/server/{config-yaml-D60AnTIu.js → config-yaml-Dce9VUd6.js} +440 -71
- package/server/{conflict-gate-hAUCL-un.js → conflict-gate-Bt-lLgYf.js} +4 -4
- package/server/{conflict-gate-0dD1kxjN.js → conflict-gate-vczgdVTa.js} +1 -1
- package/server/{continue-CnvrUfxw.js → continue-DvNIJ-73.js} +2 -2
- package/server/{control-settings-Db0uXgVM.js → control-settings-BkaVFRdm.js} +5 -5
- package/server/{conversation-compaction-B-1KETG9.js → conversation-compaction-CsdCbcQB.js} +8 -8
- package/server/{conversation-compaction-DzMXGRiJ.js → conversation-compaction-D0zgWM1f.js} +1 -1
- package/server/{conversation-service-BxIOd5ay.js → conversation-service-6LaymUV-.js} +224 -76
- package/server/conversation-service-Dlks_hSS.js +3 -0
- package/server/conversations-BunNL58s.js +3 -0
- package/server/{conversations-nS6QgYpD.js → conversations-CPXMv_JQ.js} +11 -9
- package/server/{scanner-BFKG3Gxv.js → conversations-search-DnWUghbM.js} +407 -51
- package/server/{cost-3FyqKK56.js → cost-PJXEAirJ.js} +8 -8
- package/server/{cost-DTuIRE4y.js → cost-ShD-G0cS.js} +52 -2
- package/server/{cost-Cctc-Q9M.js → cost-eaAmJTX9.js} +3 -3
- package/server/{cost-sync-DfmvLT9L.js → cost-sync-EFEkMYWz.js} +26 -56
- package/server/{dag-o-dUpw1L.js → dag-Drz6Nrnf.js} +2 -2
- package/server/dashboard-db-worker.js +52 -10
- package/server/{deacon-CsisLmPt.js → deacon-CU47dU7U.js} +169 -131
- package/server/{deacon-e6py3jkM.js → deacon-DYsOa_ss.js} +3 -3
- package/server/{deacon-canonical-state-DkdkQS5p.js → deacon-canonical-state-wi63RApC.js} +3 -3
- package/server/{deacon-event-client-CMQswEHX.js → deacon-event-client-DY8U1EbU.js} +2 -2
- package/server/{deacon-event-client-BCjHiGAY.js → deacon-event-client-uaGapjPL.js} +1 -1
- package/server/{deacon-nudge-log-pcliw8Dr.js → deacon-nudge-log-ZirGPRn1.js} +1 -1
- package/server/{deacon-pending-lifecycle-BzaE76Xo.js → deacon-pending-lifecycle-ijGX8wLb.js} +2 -2
- package/server/deacon.js +11 -11
- package/server/{dead-end-trip-Bs3hxIn6.js → dead-end-trip-B-zvz8Rw.js} +3 -3
- package/server/dead-end-trip-Caz9bf1A.js +2 -0
- package/server/delivery-DMYxIE0J.js +3 -0
- package/server/{deploy-patrol-B8sKkA8h.js → deploy-patrol-C4eXco1S.js} +8 -8
- package/server/deploy-queue-C3KIJizG.js +2 -0
- package/server/{deploy-queue-CCGWXFkp.js → deploy-queue-TDZ2tzRF.js} +2 -2
- package/server/{deploy-window-YuJewzmC.js → deploy-window-CdInEAuR.js} +4 -4
- package/server/{deploy-window-hgsvZ3UZ.js → deploy-window-DkjV-Haz.js} +1 -1
- package/server/{dev-supervisor-4SBloJHV.js → dev-supervisor-CrYlJS2n.js} +2 -2
- package/server/{devcontainer-renderer-BiJhwFNi.js → devcontainer-renderer-DL8lfn0Y.js} +4 -4
- package/server/{docker-DQzyMXkd.js → docker-DLIwccCS.js} +1 -1
- package/server/{docker-CWO7dcIP.js → docker-fz7ELYZ8.js} +3 -3
- package/server/{dod-BAk5arLF.js → dod-C9m0JqhG.js} +1 -1
- package/server/{done-preflight-Cx9JGznT.js → done-preflight-CaILZ394.js} +5 -5
- package/server/{done-preflight-CGFA0M1b.js → done-preflight-DAufsWqY.js} +1 -1
- package/server/{durable-review-pipeline-Djx_lvFd.js → durable-review-pipeline-CIkgDTla.js} +1 -1
- package/server/{durable-review-pipeline-BOEZ0chh.js → durable-review-pipeline-CYcUvz1_.js} +1 -1
- package/server/{ensure-devcontainer-DzYBBwnM.js → ensure-devcontainer-C2rKQXgr.js} +4 -4
- package/server/{ensure-devcontainer-Dk6ZMOUC.js → ensure-devcontainer-IQ_dNjjV.js} +1 -1
- package/server/{esm-shims-deFq5Hhl.js → esm-shims-CVzRn1Sa.js} +1 -1
- package/server/{event-store-DTns2XZP.js → event-store-BYOh686E.js} +5 -5
- package/server/{event-store-C50Qt-f1.js → event-store-Bw3YDOZ5.js} +1 -1
- package/server/{event-store-provider-Bu1Qrg6v.js → event-store-provider-B2PMoaap.js} +1 -1
- package/server/{events-B6xW8Cpm.js → events-BCPdiWG9.js} +3 -3
- package/server/{factory-CWVKwKFE.js → factory-BC18rvHD.js} +4 -4
- package/server/{feature-registry-storage-vaxRN3WO.js → feature-registry-storage-CASMzD0N.js} +2 -2
- package/server/{features-DXWwktJB.js → features-B1O5F33h.js} +2 -2
- package/server/{feedback-stuck-retirement-CXAYe2rU.js → feedback-stuck-retirement-Dd5XNrMr.js} +2 -2
- package/server/{feedback-target-yPD_wclF.js → feedback-target-BcsA_GRV.js} +10 -10
- package/server/{feedback-target-DSVpi0gT.js → feedback-target-BzdJ2wIR.js} +1 -1
- package/server/{feedback-writer-BzN4qvaP.js → feedback-writer-DfMoEtQc.js} +1 -1
- package/server/{feedback-writer-Ds1Wjsz4.js → feedback-writer-lbXBFycU.js} +5 -5
- package/server/{flywheel-BCZS-FlW.js → flywheel-B34cdfbd.js} +1 -1
- package/server/{flywheel-CC4gE_rx.js → flywheel-D0guNqkh.js} +14 -14
- package/server/{flywheel-DWKd7bMc.js → flywheel-Is3w2lcT.js} +16 -16
- package/server/{flywheel-merge-order-DDT3i57u.js → flywheel-merge-order-6HiPR2WG.js} +1 -1
- package/server/{flywheel-merge-order-DJwH2KpL.js → flywheel-merge-order-BsNPMu0S.js} +8 -8
- package/server/forge-B1cpL4SY.js +2 -0
- package/server/{forge-CHADjOFs.js → forge-CEe3eFjh.js} +2 -2
- package/server/{fs-lock-DQ_gUxfq.js → fs-lock-VCGoXZI5.js} +2 -2
- package/server/{fts-operations-asZo2fh1.js → fts-operations-BNRxGCU_.js} +2 -2
- package/server/{git-info-DMOSfJ9I.js → git-info-BZYdINlU.js} +1 -1
- package/server/{git-utils-BdHk8y7g.js → git-utils-D96xW28f.js} +4 -4
- package/server/{git-utils-BAMwn9Nf.js → git-utils-DvcWLgGS.js} +1 -1
- package/server/{github-app-BlMSzSTw.js → github-app-BINlfWAA.js} +3 -2
- package/server/{github-app-BWziYCf3.js → github-app-BxM1U38q.js} +1 -1
- package/server/{github-client-w6j5nVlz.js → github-client-DJVl4iDm.js} +3 -3
- package/server/{github-client-OK24qpol.js → github-client-oJHo9dyA.js} +1 -1
- package/server/{github-pr-lookup-bGcsEvLE.js → github-pr-lookup-DQEtdiyR.js} +2 -2
- package/server/{harness-binary-DChiynaB.js → harness-binary-DnRGvN6T.js} +6 -3
- package/server/{harness-resolve-BplBEbwn.js → harness-resolve-CzTFVZ5l.js} +4 -4
- package/server/{health-events-Bk3LjaJ9.js → health-events-CF2WMNkI.js} +2 -2
- package/server/{health-events-BTqsmunw.js → health-events-Dv7rzyit.js} +1 -1
- package/server/{hooks-EndRNrx9.js → hooks-DKzqJ4HF.js} +1 -1
- package/server/{hooks-DJR1yR9w.js → hooks-lPAsUc20.js} +2 -2
- package/server/hume-51rYfjzX.js +3 -0
- package/server/{hume-1FJmNDTq.js → hume-CxfI2cg-.js} +2 -2
- package/server/{identity-C3s8lyp0.js → identity-Dc7rQLln.js} +3 -3
- package/server/{idle-stack-reaper-DtoI4al6.js → idle-stack-reaper-C0NYGCVq.js} +4 -4
- package/server/{idle-stack-reaper-CBelVOE3.js → idle-stack-reaper-CNLvCrg9.js} +1 -1
- package/server/{in-flight-guard-B7khcBdQ.js → in-flight-guard-HoToxzGt.js} +1 -1
- package/server/{infra-CJRi_5Wu.js → infra-B05o-e2g.js} +4 -4
- package/server/{injection-BWsgHvrL.js → injection-Bk_pw2Ei.js} +1 -1
- package/server/{injection-ADWQ3D0s.js → injection-DkaIMCnX.js} +8 -8
- package/server/{inspect-agent-CCfNJjKr.js → inspect-agent-CP7Bu47O.js} +14 -12
- package/server/inspect-agent-DTuSg95i.js +2 -0
- package/server/{internal-token-BCTEqUCX.js → internal-token-CWcdG-Kw.js} +1 -1
- package/server/{internal-token-BeIWG_kT.js → internal-token-Ci0LxMIq.js} +2 -2
- package/server/{io-BCtZoXHo.js → io-Cm4Sf_6P.js} +4 -4
- package/server/{issue-closed-CiYAa6bX.js → issue-closed-D7aMUeMq.js} +7 -7
- package/server/{issue-lifecycle-BETNVVLq.js → issue-lifecycle-BPbczKyy.js} +32 -30
- package/server/{issue-lifecycle-DaKN57sx.js → issue-lifecycle-FaugTi39.js} +1 -1
- package/server/{issue-service-singleton-C_sZ0HjP.js → issue-service-singleton-BrZQJLRI.js} +11 -11
- package/server/{issue-service-singleton-1Q0ER8Yc.js → issue-service-singleton-Dsad9NTt.js} +1 -1
- package/server/{issue-title-fallback-B91iD66g.js → issue-title-fallback-BDxHa3-u.js} +3 -3
- package/server/{issues-RGHQUKhB.js → issues-Q62MKOV_.js} +2 -2
- package/server/{jsonl-parser-Dfs1dlYE.js → jsonl-parser-DSJisyfy.js} +5 -4
- package/server/{jsonl-resolver-bFtftCDd.js → jsonl-resolver-DQEe0DHM.js} +12 -9
- package/server/kimi-code-Cx5YUJpS.js +3 -0
- package/server/{kimi-parser-OcWwmOqF.js → kimi-parser-5VpMzIDq.js} +2 -2
- package/server/{label-cleanup-CefxK9tL.js → label-cleanup-DjQGmcZQ.js} +3 -3
- package/server/{lifecycle-DVXyUil2.js → lifecycle-BSQIQ1Sq.js} +2 -2
- package/server/{lifecycle-DDZ7w-BY.js → lifecycle-DZFHmpGI.js} +6 -6
- package/server/{lifecycle-io-D1oBiMce.js → lifecycle-io-Bv4XQMRi.js} +1 -1
- package/server/{lifecycle-io-D7N0vQNj.js → lifecycle-io-CW__VX8s.js} +5 -5
- package/server/{linear-client-TL32snOy.js → linear-client-DnX3CcAL.js} +1 -1
- package/server/{linear-client-DUN7zCeb.js → linear-client-DrRZ3We7.js} +4 -7
- package/server/{linear-mcp-auth-bB0CPyjh.js → linear-mcp-auth-BFlpMvWh.js} +5 -5
- package/server/{linear-mcp-auth-CtRKSHy5.js → linear-mcp-auth-DylPJABZ.js} +1 -1
- package/server/memory-fts-worker.js +1 -1
- package/server/{memory-governor-Cvv_9K0M.js → memory-governor-B7uDWRo9.js} +29 -22
- package/server/{merge-FTk4LsnM.js → merge-BGozpxFt.js} +3 -3
- package/server/{merge-DOCR6pHi.js → merge-CphMVME2.js} +1 -1
- package/server/{merge-agent-D-4_iQgy.js → merge-agent-ddEcZDZD.js} +2 -2
- package/server/{merge-agent-C-dsN9se.js → merge-agent-ttRY053V.js} +32 -32
- package/server/{merge-batch-BJjzUUL7.js → merge-batch-CBQ2YYuy.js} +1 -1
- package/server/{merge-completeness-CoLJxfUY.js → merge-completeness-CsSvQJxw.js} +1 -1
- package/server/{merge-completeness-BOtBUwTU.js → merge-completeness-YQbhKLPk.js} +4 -4
- package/server/{merge-eligibility-C4rTS97F.js → merge-eligibility-BGqmx_bG.js} +1 -1
- package/server/{merge-eligibility-D7wRnJbj.js → merge-eligibility-CvQBc_9D.js} +4 -4
- package/server/merge-ops-Bgc-EScO.js +2 -0
- package/server/{merge-rebase-KBw4rdh3.js → merge-rebase-BbLnMyfQ.js} +2 -2
- package/server/merge-rebase-BgYoyMul.js +2 -0
- package/server/{merge-set-CyW-xSn4.js → merge-set-DRPWriK9.js} +4 -4
- package/server/{merge-set-CVfEM57p.js → merge-set-DaU9Ruxy.js} +1 -1
- package/server/{merge-sync-CYGsJy0u.js → merge-sync-BRKJM70R.js} +1 -1
- package/server/{merge-sync-YLvOPAry.js → merge-sync-CTGkR1_m.js} +2 -2
- package/server/{merge-train-deps-D0y4hBB9.js → merge-train-deps-GPlHOjK6.js} +4 -4
- package/server/{merge-train-VxLn8Ms4.js → merge-train-f_un38UJ.js} +4 -4
- package/server/{merge-verification-BfJRNMiD.js → merge-verification-BPBW3Hu3.js} +6 -6
- package/server/{merged-docker-cleanup-worker-Ci9oeFAe.js → merged-docker-cleanup-worker-By0YSsIP.js} +1 -1
- package/server/{merged-docker-cleanup-worker-Bh5fKG_b.js → merged-docker-cleanup-worker-zMzGriKp.js} +3 -3
- package/server/messaging-BasbftDu.js +3 -0
- package/server/muse-parser-CFchR2vh.js +89 -0
- package/server/muse-session-CrSRuauJ.js +56 -0
- package/server/{no-resume-mode-DjMQRkId.js → no-resume-mode-BsvYzqbB.js} +1 -1
- package/server/node_modules/.package-lock.json +17 -17
- package/server/node_modules/@types/node/README.md +3 -3
- package/server/node_modules/@types/node/assert/strict.d.ts +56 -13
- package/server/node_modules/@types/node/assert.d.ts +190 -189
- package/server/node_modules/@types/node/async_hooks.d.ts +43 -151
- package/server/node_modules/@types/node/buffer.buffer.d.ts +13 -7
- package/server/node_modules/@types/node/buffer.d.ts +237 -102
- package/server/node_modules/@types/node/child_process.d.ts +154 -39
- package/server/node_modules/@types/node/cluster.d.ts +384 -238
- package/server/node_modules/@types/node/compatibility/disposable.d.ts +14 -0
- package/server/node_modules/@types/node/compatibility/index.d.ts +9 -0
- package/server/node_modules/@types/node/compatibility/indexable.d.ts +20 -0
- package/server/node_modules/@types/node/compatibility/iterators.d.ts +20 -0
- package/server/node_modules/@types/node/console.d.ts +404 -45
- package/server/node_modules/@types/node/constants.d.ts +10 -3
- package/server/node_modules/@types/node/crypto.d.ts +1600 -1009
- package/server/node_modules/@types/node/dgram.d.ts +77 -14
- package/server/node_modules/@types/node/diagnostics_channel.d.ts +59 -277
- package/server/node_modules/@types/node/dns/promises.d.ts +15 -9
- package/server/node_modules/@types/node/dns.d.ts +183 -136
- package/server/node_modules/@types/node/domain.d.ts +32 -12
- package/server/node_modules/@types/node/events.d.ts +696 -728
- package/server/node_modules/@types/node/fs/promises.d.ts +21 -196
- package/server/node_modules/@types/node/fs.d.ts +450 -780
- package/server/node_modules/@types/node/globals.d.ts +34 -12
- package/server/node_modules/@types/node/globals.typedarray.d.ts +0 -63
- package/server/node_modules/@types/node/http.d.ts +310 -431
- package/server/node_modules/@types/node/http2.d.ts +889 -543
- package/server/node_modules/@types/node/https.d.ts +243 -64
- package/server/node_modules/@types/node/index.d.ts +7 -24
- package/server/node_modules/@types/node/inspector.d.ts +57 -68
- package/server/node_modules/@types/node/inspector.generated.d.ts +411 -765
- package/server/node_modules/@types/node/module.d.ts +219 -54
- package/server/node_modules/@types/node/net.d.ts +207 -101
- package/server/node_modules/@types/node/os.d.ts +49 -41
- package/server/node_modules/@types/node/package.json +3 -13
- package/server/node_modules/@types/node/path.d.ts +141 -119
- package/server/node_modules/@types/node/perf_hooks.d.ts +673 -310
- package/server/node_modules/@types/node/process.d.ts +205 -389
- package/server/node_modules/@types/node/punycode.d.ts +31 -3
- package/server/node_modules/@types/node/querystring.d.ts +16 -3
- package/server/node_modules/@types/node/readline/promises.d.ts +6 -3
- package/server/node_modules/@types/node/readline.d.ts +152 -66
- package/server/node_modules/@types/node/repl.d.ts +109 -101
- package/server/node_modules/@types/node/sea.d.ts +116 -1
- package/server/node_modules/@types/node/sqlite.d.ts +68 -486
- package/server/node_modules/@types/node/stream/consumers.d.ts +15 -91
- package/server/node_modules/@types/node/stream/promises.d.ts +15 -136
- package/server/node_modules/@types/node/stream/web.d.ts +456 -179
- package/server/node_modules/@types/node/stream.d.ts +491 -603
- package/server/node_modules/@types/node/string_decoder.d.ts +43 -3
- package/server/node_modules/@types/node/test.d.ts +292 -513
- package/server/node_modules/@types/node/timers/promises.d.ts +18 -3
- package/server/node_modules/@types/node/timers.d.ts +141 -3
- package/server/node_modules/@types/node/tls.d.ts +242 -116
- package/server/node_modules/@types/node/trace_events.d.ts +97 -3
- package/server/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +8 -2
- package/server/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -2
- package/server/node_modules/@types/node/ts5.6/index.d.ts +6 -25
- package/server/node_modules/@types/node/tty.d.ts +40 -57
- package/server/node_modules/@types/node/url.d.ts +584 -156
- package/server/node_modules/@types/node/util.d.ts +1110 -181
- package/server/node_modules/@types/node/v8.d.ts +36 -175
- package/server/node_modules/@types/node/vm.d.ts +209 -292
- package/server/node_modules/@types/node/wasi.d.ts +74 -24
- package/server/node_modules/@types/node/web-globals/abortcontroller.d.ts +2 -27
- package/server/node_modules/@types/node/web-globals/domexception.d.ts +0 -15
- package/server/node_modules/@types/node/web-globals/events.d.ts +0 -9
- package/server/node_modules/@types/node/web-globals/fetch.d.ts +0 -14
- package/server/node_modules/@types/node/web-globals/navigator.d.ts +0 -3
- package/server/node_modules/@types/node/web-globals/streams.d.ts +0 -93
- package/server/node_modules/@types/node/worker_threads.d.ts +407 -257
- package/server/node_modules/@types/node/zlib.d.ts +165 -7
- package/server/node_modules/msgpackr/README.md +1 -0
- package/server/node_modules/msgpackr/dist/index-no-eval.cjs +2 -2
- 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 +2 -2
- 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 +2 -2
- package/server/node_modules/msgpackr/dist/node.cjs.map +1 -1
- package/server/node_modules/msgpackr/dist/test.js +52 -2
- package/server/node_modules/msgpackr/dist/test.js.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/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/agent.d.ts +13 -12
- package/server/node_modules/undici-types/api.d.ts +26 -26
- package/server/node_modules/undici-types/balanced-pool.d.ts +12 -13
- package/server/node_modules/undici-types/client.d.ts +34 -55
- package/server/node_modules/undici-types/connector.d.ts +2 -4
- package/server/node_modules/undici-types/cookies.d.ts +0 -2
- package/server/node_modules/undici-types/diagnostics-channel.d.ts +10 -18
- package/server/node_modules/undici-types/dispatcher.d.ts +137 -134
- package/server/node_modules/undici-types/env-http-proxy-agent.d.ts +3 -4
- package/server/node_modules/undici-types/errors.d.ts +54 -82
- package/server/node_modules/undici-types/eventsource.d.ts +4 -9
- package/server/node_modules/undici-types/fetch.d.ts +24 -46
- package/server/node_modules/undici-types/file.d.ts +39 -0
- package/server/node_modules/undici-types/filereader.d.ts +54 -0
- package/server/node_modules/undici-types/formdata.d.ts +7 -7
- package/server/node_modules/undici-types/global-dispatcher.d.ts +4 -4
- package/server/node_modules/undici-types/global-origin.d.ts +5 -5
- package/server/node_modules/undici-types/handlers.d.ts +9 -8
- package/server/node_modules/undici-types/header.d.ts +1 -162
- package/server/node_modules/undici-types/index.d.ts +47 -69
- package/server/node_modules/undici-types/interceptors.d.ts +9 -72
- package/server/node_modules/undici-types/mock-agent.d.ts +18 -36
- package/server/node_modules/undici-types/mock-client.d.ts +4 -6
- package/server/node_modules/undici-types/mock-errors.d.ts +3 -3
- package/server/node_modules/undici-types/mock-interceptor.d.ts +20 -21
- package/server/node_modules/undici-types/mock-pool.d.ts +4 -6
- package/server/node_modules/undici-types/package.json +1 -1
- package/server/node_modules/undici-types/patch.d.ts +4 -0
- package/server/node_modules/undici-types/pool-stats.d.ts +8 -8
- package/server/node_modules/undici-types/pool.d.ts +14 -14
- package/server/node_modules/undici-types/proxy-agent.d.ts +6 -7
- package/server/node_modules/undici-types/readable.d.ts +16 -19
- package/server/node_modules/undici-types/retry-agent.d.ts +1 -1
- package/server/node_modules/undici-types/retry-handler.d.ts +10 -19
- package/server/node_modules/undici-types/util.d.ts +3 -3
- package/server/node_modules/undici-types/webidl.d.ts +30 -148
- package/server/node_modules/undici-types/websocket.d.ts +10 -48
- package/server/{orphan-proposed-reconciler-nFUlquZt.js → orphan-proposed-reconciler-DFHdQSEg.js} +21 -21
- package/server/{orphan-proposed-reconciler-CnP0K2v3.js → orphan-proposed-reconciler-DzAxrM99.js} +2 -2
- package/server/package-lock.json +18 -18
- package/server/package.json +1 -1
- package/server/{pan-dir-B4NfzOf3.js → pan-dir-Bs9fme2I.js} +4 -4
- package/server/{parked-residue-8WbU0y1z.js → parked-residue-DMtbxJml.js} +31 -31
- package/server/{paths-rETQhTF2.js → paths-eTg2jV4C.js} +2 -2
- package/server/{pickup-Dle6k9Xt.js → pickup-TwHZNJn4.js} +1 -1
- package/server/{pipeline-agent-reader-CeWhQzXC.js → pipeline-agent-reader-CHugmNSx.js} +3 -3
- package/server/{pipeline-membership-C9ykcjsn.js → pipeline-membership-BvkkuVml.js} +1 -1
- package/server/{pipeline-membership-BV4hdkHm.js → pipeline-membership-DxJOJOjn.js} +1 -1
- package/server/{pipeline-membership-gather-Ba0wJNCR.js → pipeline-membership-gather-QYMqf_Wf.js} +10 -10
- package/server/{pipeline-membership-gather-C9E22B2W.js → pipeline-membership-gather-fivITe13.js} +1 -1
- package/server/{pipeline-notifier-B5DPXvnr.js → pipeline-notifier-DUxiacft.js} +1 -1
- package/server/{pipeline-notifier-p190L97e.js → pipeline-notifier-vZqcB2Ts.js} +2 -2
- package/server/{post-merge-lifecycle-worker-OQoK8Ckg.js → post-merge-lifecycle-worker-jzN2g_EY.js} +2 -2
- package/server/{post-merge-state-DFaf7OI1.js → post-merge-state-DGlkiVIO.js} +4 -4
- package/server/{prd-locations-F2oLSAhy.js → prd-locations-Chcvxzle.js} +3 -3
- package/server/{project-pipelines-CUsa6U59.js → project-pipelines-BXB5FlFs.js} +2 -2
- package/server/{project-repos-BVdi9-ch.js → project-repos-BVSXziAz.js} +1 -1
- package/server/{project-repos-CsfvLtmr.js → project-repos-J6jc42uD.js} +2 -2
- package/server/{project-resource-refresh-queue-BehrH4Ai.js → project-resource-refresh-queue-DebwjPPA.js} +17 -17
- package/server/{project-resource-refresh-queue-D2110Guc.js → project-resource-refresh-queue-cqOeJ0fB.js} +1 -1
- package/server/{projects-BMuEf14J.js → projects-DXgHD2Xl.js} +1 -1
- package/server/{prompts-CKpDt8Jn.js → prompts-BJ8Twvtl.js} +2 -2
- package/server/{providers-Buv2wmFU.js → providers-Bx-PKo3d.js} +1 -1
- package/server/{providers-CxPKmyif.js → providers-DQogCKG0.js} +7 -7
- package/server/public/assets/{chunk-BO2N2NFS-DZOQVqV1.js → chunk-BO2N2NFS-CefmGH8f.js} +4 -4
- package/server/public/assets/{chunk-K2UTITRG-CopEAH22.js → chunk-K2UTITRG-DS0TExnd.js} +2 -2
- package/server/public/assets/codicon-ngg6Pgfi.ttf +0 -0
- package/server/public/assets/{diagram-OG6HWLK6-oKeXcbO1.js → diagram-OG6HWLK6-DYPEQqOy.js} +1 -1
- package/server/public/assets/{dist-ClBlE-Nm.js → dist-D0_QiSJD.js} +1 -1
- package/server/public/assets/{dist-2qPmeRzT.js → dist-DVcb72hI.js} +3 -3
- package/server/public/assets/editor.worker-Bd9IXS8d.js +26 -0
- package/server/public/assets/{ganttDiagram-6RSMTGT7-BwdG9fQv.js → ganttDiagram-6RSMTGT7-C0TVczXo.js} +1 -1
- package/server/public/assets/{highlighted-body-OFNGDK62-BzGNdskQ.js → highlighted-body-OFNGDK62-DqOVJX4H.js} +1 -1
- package/server/public/assets/image-GAAHSSAO-DQ2ivYhs.js +1 -0
- package/server/public/assets/index-CFZuwq0-.css +1 -0
- package/server/public/assets/index-CWCooHwg.js +1732 -0
- package/server/public/assets/{linear-DpEt1TJb.js → linear-45MX5LeL.js} +1 -1
- package/server/public/assets/markdown-Budfoo9I.js +1 -0
- package/server/public/assets/mermaid-GHXKKRXX-71HgceZK.js +1 -0
- package/server/public/assets/{pieDiagram-4H26LBE5-9BpM4oRJ.js → pieDiagram-4H26LBE5-BSyYJciD.js} +1 -1
- package/server/public/assets/{prod-CzJiNNEG.js → prod-CcWF3Ag1.js} +5 -5
- package/server/public/assets/{quadrantDiagram-W4KKPZXB-BXWVAoZx.js → quadrantDiagram-W4KKPZXB-DyPGNivi.js} +1 -1
- package/server/public/assets/{sankeyDiagram-5OEKKPKP-5oxodGEw.js → sankeyDiagram-5OEKKPKP-CdiSWvwI.js} +1 -1
- package/server/public/assets/{xychartDiagram-2RQKCTM6-BChDrHxZ.js → xychartDiagram-2RQKCTM6-BZeywmN2.js} +1 -1
- package/server/public/index.html +2 -2
- package/server/pull-requests-DLiyKC8q.js +2 -0
- package/server/{pull-requests-T0OV0Vn4.js → pull-requests-EBvcAtZO.js} +3 -3
- package/server/{rally-api-BFPb2oSq.js → rally-api-2KW2hJUT.js} +2 -2
- package/server/{rally-api-BoucQG1u.js → rally-api-BtWOXNna.js} +1 -1
- package/server/{rally-client-16iObny7.js → rally-client-CAQtSqJJ.js} +5 -5
- package/server/{rally-client-CsqLjLLa.js → rally-client-DK8Ac35q.js} +1 -1
- package/server/{rally-CUqj2oIN.js → rally-k5qOLHHK.js} +3 -3
- package/server/rally-vmQx9f0C.js +3 -0
- package/server/{rebuild-stack-BcBVFJp3.js → rebuild-stack-DSQSgPCI.js} +2 -2
- package/server/rebuild-stack-xdGFthJn.js +370 -0
- package/server/{reconciler-caYiRnPy.js → reconciler-xH7d13Wo.js} +6 -6
- package/server/{reconstruct-cache-3JzPOune.js → reconstruct-cache-Bb2Jg2DZ.js} +7 -7
- package/server/{record-DYOg97Iv.js → record-Dsceq536.js} +1 -1
- package/server/{record-update-CDPEX7BH.js → record-update-CLtgirnZ.js} +1 -1
- package/server/{record-update-BPqpBu3O.js → record-update-T3PMrwE-.js} +4 -4
- package/server/{recovery-trip-CpfW6LCJ.js → recovery-trip-7JFHFjeo.js} +3 -3
- package/server/{recovery-trip-xqKC07Gy.js → recovery-trip-B7UdNXjP.js} +1 -1
- package/server/{release-engine-C_OOhCaK.js → release-engine-78iCajIc.js} +5 -5
- package/server/{release-set-DOIDz2vw.js → release-set-B_sH_Mud.js} +3 -3
- package/server/{remote-xY0B43Ho.js → remote-C9eYHTqn.js} +3 -3
- package/server/{remote-agents-MuXx2gWm.js → remote-agents-CEOvYsvK.js} +1 -1
- package/server/{remote-agents-DbbN7vSm.js → remote-agents-CthcZHnO.js} +6 -6
- package/server/{remote-completion-LcWCpAm2.js → remote-completion-D5wzZCte.js} +12 -12
- package/server/{remote-BTh-sjpX.js → remote-gWXJyhJK.js} +3 -3
- package/server/{resolver-D4nsxfGo.js → resolver-BGZh3lXA.js} +7 -7
- package/server/{resolver-C2QKOf09.js → resolver-ChLZFIjB.js} +2 -2
- package/server/{memory-pressure-patrol-C6DJJQRA.js → resource-pressure-patrol-Bg23rPV-.js} +110 -9
- package/server/{resume-ByUrJUNX.js → resume-BKyB4hA1.js} +1 -1
- package/server/{review-agent-BRBTm1qE.js → review-agent-DHs-JngN.js} +52 -35
- package/server/{review-agent-Caodi0PX.js → review-agent-ZdP-HmwY.js} +2 -2
- package/server/{review-artifacts-DgaDlbO4.js → review-artifacts-DExSp5Lh.js} +6 -6
- package/server/{review-convoy-liveness-BBvyuRLC.js → review-convoy-liveness-BTMvU4CA.js} +8 -8
- package/server/{review-run-recovery-DCzWMMvE.js → review-run-recovery-BYalQzbh.js} +1 -1
- package/server/{review-run-recovery-THHMKlXJ.js → review-run-recovery-BvVG3oUr.js} +2 -2
- package/server/{review-status-DpniqzPT.js → review-status-BegAr86G.js} +33 -31
- package/server/{review-status-Bge_3XTR.js → review-status-DXTFzCmR.js} +1 -1
- package/server/{review-status-emit-D7sM720S.js → review-status-emit-C9YW6SQL.js} +3 -3
- package/server/{review-status-enrichment-PDI4-faj.js → review-status-enrichment-DRJKuIwU.js} +3 -3
- package/server/{review-status-sync-C6ZKTI8f.js → review-status-sync-CHt0oq_3.js} +2 -2
- package/server/{review-status-sync-CvpHWyvR.js → review-status-sync-DEGnJMfG.js} +1 -1
- package/server/{review-verdict-feedback-tyMoLT2L.js → review-verdict-feedback-Dp139Lmv.js} +1 -1
- package/server/{review-verdict-feedback-B2ojHFH5.js → review-verdict-feedback-qlVBi19-.js} +7 -7
- package/server/{review-verdict-writer-DjrJ64eS.js → review-verdict-writer-BVco3WoI.js} +1 -1
- package/server/{review-verdict-writer-Cy_1pnIj.js → review-verdict-writer-CJr_Ob0Y.js} +7 -7
- package/server/{rollup-DU3xBQu2.js → rollup-H2NWuNhX.js} +8 -8
- package/server/{rollup-Cp0KEoOu.js → rollup-iPhJvI-2.js} +1 -1
- package/server/{search-DhtKwbBC.js → search-BtgzCB2W.js} +2 -2
- package/server/{secret-redaction-DLZ-VqHq.js → secret-redaction-EqpTK7R6.js} +1 -1
- package/server/{sequence-io-C-Q19Jez.js → sequence-io-iljWlslY.js} +4 -4
- package/server/{sequencer-agent-eN2P2lDz.js → sequencer-agent-BGGVKxtw.js} +11 -6
- package/server/server.js +1536 -1244
- package/server/{service-CThO0Sar.js → service-kzhN0DLg.js} +58 -58
- package/server/{session-fork-ZYTHtpBh.js → session-fork-B3hkpes1.js} +2 -2
- package/server/{settings-nAT-eK56.js → settings-BpM0Ergn.js} +3 -3
- package/server/settings-CW_lAaJv.js +2 -0
- package/server/{settings-CTywpFw5.js → settings-aBz_GpBq.js} +9 -2
- package/server/{shadow-engineering-BHZKPJhq.js → shadow-engineering-C7kypoM-.js} +2 -2
- package/server/{shadow-state-CZ_LnPsi.js → shadow-state-Db5ExiBP.js} +1 -1
- package/server/{shadow-state-BTLi4Axs.js → shadow-state-IG8JSXgD.js} +2 -2
- package/server/{shadow-utils-CPLlPHdn.js → shadow-utils-DSDsJXLD.js} +2 -2
- package/server/{ship-record-BaBla0l_.js → ship-record-80n1CYp9.js} +6 -6
- package/server/{ship-record-BlvX8-xv.js → ship-record-DN8voLiQ.js} +1 -1
- package/server/{ship-status-rQbPQBsF.js → ship-status-CJvaa4QB.js} +2 -2
- package/server/{smart-compaction-D1CNGdZx.js → smart-compaction-C96F2aFQ.js} +7 -7
- package/server/{smart-compaction-CUXn8mfX.js → smart-compaction-owKHJDbL.js} +1 -1
- package/server/{spawn-planning-session-DfEWyrVV.js → spawn-planning-session-CiJdOHTD.js} +2 -2
- package/server/{spawn-planning-session-DCmO6COk.js → spawn-planning-session-FmJa6PCS.js} +41 -50
- package/server/{specialist-context-C1-CfYQb.js → specialist-context-_ootmzn2.js} +5 -5
- package/server/{specialist-handoff-logger-BDKoz5Z9.js → specialist-handoff-logger-4QCjIBPO.js} +2 -2
- package/server/{specialist-logs-BJQFkpdG.js → specialist-logs-BbAX221-.js} +3 -3
- package/server/{specialists-DhS79T9v.js → specialists-COZoYaiz.js} +266 -173
- package/server/{specialists-CYt1U3Zm.js → specialists-D8sYZnPb.js} +2 -2
- package/server/{specialists-Dx0zRTxX.js → specialists-DTAOVZpU.js} +1 -1
- package/server/{specialists-D6MUU31Q.js → specialists-RPLJnYc1.js} +19 -19
- package/server/{specialists-registry-Bng0OFGH.js → specialists-registry-CNbvfOcy.js} +2 -2
- package/server/{specialists-registry-BRLCi61y.js → specialists-registry-DqgQIxpu.js} +1 -1
- package/server/specs-ChqOBhAF.js +3 -0
- package/server/{src-C7gGe4KU.js → src-Cz63twgJ.js} +2 -2
- package/server/{src-CdwN6WY6.js → src-tnFSfiXX.js} +126 -18
- package/server/{stack-health-Bz711z1Y.js → stack-health-D0j1RhAj.js} +1 -1
- package/server/{stack-health-BKfNaqMm.js → stack-health-Y8O3UuPe.js} +3 -3
- package/server/{stale-task-claims-DMRLb5R2.js → stale-task-claims-Db6yxeFz.js} +5 -5
- package/server/{staleness-CxZaIhrn.js → staleness-CyM7ACHv.js} +1 -1
- package/server/{staleness-r_dkMyMG.js → staleness-akWxgpIu.js} +1 -1
- package/server/{stall-sweeper-CBWqSWV2.js → stall-sweeper-9bRBZhrQ.js} +8 -8
- package/server/{state-home-DhsMqg8W.js → state-home-CWu1dx9L.js} +2 -2
- package/server/{state-mapping-D2yC81Vy.js → state-mapping-CdvWOIhv.js} +1 -1
- package/server/{state-migrate-C2Ouyd6e.js → state-migrate-J3tFJnbd.js} +6 -6
- package/server/{state-mirror-BPXciz84.js → state-mirror-DQKpsskH.js} +3 -3
- package/server/{stuck-remediation-kta3KN7c.js → stuck-remediation-4Rf_xMEb.js} +13 -13
- package/server/{stuck-remediation-DALieAkx.js → stuck-remediation-BvTK_NYN.js} +1 -1
- package/server/{substrate-bug-weights-service-D_ICP7TI.js → substrate-bug-weights-service-9nrkZcaP.js} +3 -3
- package/server/{summary-fork-DhhaFhxZ.js → summary-fork-D-cylknJ.js} +54 -17
- package/server/{summary-fork-CojrFKb6.js → summary-fork-PLcckTRE.js} +2 -2
- package/server/supervisor/{injection-budget-BOH-EiFB.js → injection-budget-DfPSjiS7.js} +1 -1
- package/server/supervisor/pty-supervisor.js +1 -1
- package/server/{supervisor-DqH-laVL.js → supervisor-B2_uXxHQ.js} +4 -4
- package/server/supervisor-DSSr9_E4.js +2 -0
- package/server/{swarm-readiness-LF8ZF_hc.js → swarm-readiness-BkVvnCdr.js} +3 -3
- package/server/{synthesis-verdict-CGFF8uQI.js → synthesis-verdict-BtJAwMS3.js} +2 -2
- package/server/{synthesis-verdict-DSoOFUIV.js → synthesis-verdict-b1uY2m9Q.js} +1 -1
- package/server/{system-prerequisites-Lsx0jUUV.js → system-prerequisites-zlmZiJzn.js} +14 -2
- package/server/{teardown-workspace-DMwomEG1.js → teardown-workspace-CTL16rnG.js} +16 -16
- package/server/{test-agent-queue-Cu0D6BYe.js → test-agent-queue-CMgYZiR_.js} +6 -6
- package/server/{test-verdict-9mvl7pQn.js → test-verdict-BaiFCApG.js} +1 -1
- package/server/{test-verdict-oNSv1rVr.js → test-verdict-DhjFE4Go.js} +2 -2
- package/server/{tldr-daemon-CRSAkhBx.js → tldr-daemon-CW1MhBkM.js} +1 -1
- package/server/{tldr-daemon-McqCk2X7.js → tldr-daemon-CYr67NdC.js} +2 -2
- package/server/{tmux-CYucGrTl.js → tmux-aj9rscol.js} +2 -2
- package/server/{tmux-wnT_hg-s.js → tmux-l-yvNWhg.js} +2 -2
- package/server/{token-BdfZLRg1.js → token-BO7DAEyM.js} +2 -2
- package/server/{token-util-Crcay9j_.js → token-util-C_1EI72O.js} +1 -1
- package/server/token-util-msNwng7E.js +3 -0
- package/server/{tracker-config-tfAOWgng.js → tracker-config-Qq_kEwYh.js} +2 -2
- package/server/{tracker-utils-Dbg_pVZg.js → tracker-utils-McMENyKj.js} +2 -2
- package/server/{traefik-connect-DoQvQ6oJ.js → traefik-connect-BZWNRHOd.js} +1 -1
- package/server/{tunnel-B1MNIgkL.js → tunnel-BElVxdZw.js} +1 -1
- package/server/{tunnel-skW68j9B.js → tunnel-D01HhYX5.js} +3 -3
- package/server/{typed-errors-CZ3GFBvo.js → typed-errors-CKb5wNaG.js} +1 -1
- package/server/{typed-errors-DXqf3RnP.js → typed-errors-uJ-V6edU.js} +1 -1
- package/server/{types-PW4zkxCM.js → types-JR7ZOtpL.js} +1 -1
- package/server/{uat-failure-feedback-ly8ZwtfC.js → uat-failure-feedback-DS6W9X3I.js} +5 -5
- package/server/{uat-promote-verification-BBaMwfdc.js → uat-promote-verification-CRsIHE_q.js} +5 -5
- package/server/{uat-train-D7Ran2FB.js → uat-train-BoA9r6_I.js} +1 -1
- package/server/{uat-train-BBEiYSep.js → uat-train-Cd8CJeNe.js} +22 -22
- package/server/{validate-BYcBcBwg.js → validate-BdmvTIym.js} +3 -3
- package/server/{validation-nSrYiYvA.js → validation-ApKDjkLH.js} +1 -1
- package/server/{validation-BfG2jW5C.js → validation-Dxdai-37.js} +14 -4
- package/server/{verification-artifact-DglwaHke.js → verification-artifact-DhIkPgrP.js} +1 -1
- package/server/{verification-artifact-Cmhgq4b_.js → verification-artifact-olosZdZU.js} +1 -1
- package/server/{verification-runner-CFjAuv9u.js → verification-runner-BO0K3xNA.js} +1 -1
- package/server/{verification-runner-BEq5ZF-h.js → verification-runner-fEY1Qj-l.js} +31 -23
- package/server/{work-agent-prompt-CaD2ue8m.js → work-agent-prompt-BEpIuqw1.js} +10 -10
- package/server/{work-agent-prompt-BnhKNAg7.js → work-agent-prompt-Csr4vMbl.js} +1 -1
- package/server/{work-agent-start-0nJ-6UeA.js → work-agent-start-DA3P_ABv.js} +2 -2
- package/server/{work-agent-start-D8NEN5KD.js → work-agent-start-DWBmIRlg.js} +1 -1
- package/server/workflows-CgGNyl1z.js +2 -0
- package/server/{workflows-C7mxM1qc.js → workflows-CxVnygYU.js} +28 -28
- package/server/{workspace-Dbqv9ehn.js → workspace-BO8fIfW9.js} +1 -1
- package/server/{workspace-BAhMgMaO.js → workspace-BWYfzfPV.js} +3 -3
- package/server/{workspace-anchor-drift-Bpa3xoni.js → workspace-anchor-drift-BMSxf9wp.js} +1 -1
- package/server/{workspace-anchor-drift-B_3kyyxJ.js → workspace-anchor-drift-RJcMD1EV.js} +4 -4
- package/server/{workspace-config-D-bNq2CF.js → workspace-config-CoAaYx_w.js} +1 -1
- package/server/{workspace-manager-CM8RCrSc.js → workspace-manager-CnAyRh3v.js} +45 -380
- package/server/workspace-manager-D0jJ7StJ.js +4 -0
- package/server/{workspace-metadata-Cu6yfxBS.js → workspace-metadata-Copcoih9.js} +2 -2
- package/server/{workspace-metadata-BEOwJSdK.js → workspace-metadata-ILlbk8AX.js} +1 -1
- package/server/{workspaces-C7LAuZfe.js → workspaces-Cpz0xJWQ.js} +112 -112
- package/server/worktree-ops-CV-pRvyW.js +3 -0
- package/server/worktree-ops-Cnk1voFY.js +369 -0
- package/sync-sources/rules/context-nomenclature.md +4 -3
- package/sync-sources/rules/rule-authoring.md +3 -3
- package/sync-sources/skills/knowledge-capture/SKILL.md +13 -13
- package/sync-sources/skills/pan-new-project/SKILL.md +2 -2
- package/sync-sources/skills/pan-projects/SKILL.md +3 -3
- package/sync-sources/skills/pan-sync/SKILL.md +8 -10
- package/sync-sources/skills/refactor-radar/SKILL.md +12 -12
- package/server/agents-DixZjXWm.js +0 -3
- package/server/archive-planning-D3gw32U9.js +0 -2
- package/server/assemble-B_JgnCbG.js +0 -365
- package/server/build-info-Dx2qrVhb.js +0 -2
- package/server/cli-BflmtEFM.js +0 -2
- package/server/context-layers-CdpabJj0.js +0 -37
- package/server/context-layers-Ds1MnEFI.js +0 -4
- package/server/conversation-service-BL-asWPX.js +0 -3
- package/server/conversations-CEMfwMt-.js +0 -3
- package/server/dead-end-trip-DUbiRMtT.js +0 -2
- package/server/delivery-DhZGRShH.js +0 -3
- package/server/deploy-queue--smqHLhe.js +0 -2
- package/server/forge-4VVCRcF7.js +0 -2
- package/server/hume-gXLmRhmN.js +0 -3
- package/server/inspect-agent-Dhp3hCGp.js +0 -2
- package/server/kimi-code-BxkDgaj4.js +0 -3
- package/server/kimi-code-CNYRA8Dd.js +0 -581
- package/server/merge-ops-Cf02szJ5.js +0 -2
- package/server/merge-rebase-Bj7eJAG4.js +0 -2
- package/server/messaging-Dfbhgjd6.js +0 -3
- package/server/node_modules/@types/node/ffi.d.ts +0 -486
- package/server/node_modules/@types/node/inspector/promises.d.ts +0 -35
- package/server/node_modules/@types/node/path/posix.d.ts +0 -8
- package/server/node_modules/@types/node/path/win32.d.ts +0 -8
- package/server/node_modules/@types/node/quic.d.ts +0 -2125
- package/server/node_modules/@types/node/stream/iter.d.ts +0 -452
- package/server/node_modules/@types/node/test/reporters.d.ts +0 -59
- package/server/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +0 -71
- package/server/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +0 -72
- package/server/node_modules/@types/node/ts5.7/index.d.ts +0 -117
- package/server/node_modules/@types/node/util/types.d.ts +0 -558
- package/server/node_modules/@types/node/web-globals/blob.d.ts +0 -23
- package/server/node_modules/@types/node/web-globals/console.d.ts +0 -9
- package/server/node_modules/@types/node/web-globals/crypto.d.ts +0 -39
- package/server/node_modules/@types/node/web-globals/encoding.d.ts +0 -11
- package/server/node_modules/@types/node/web-globals/importmeta.d.ts +0 -13
- package/server/node_modules/@types/node/web-globals/messaging.d.ts +0 -23
- package/server/node_modules/@types/node/web-globals/performance.d.ts +0 -45
- package/server/node_modules/@types/node/web-globals/timers.d.ts +0 -44
- package/server/node_modules/@types/node/web-globals/url.d.ts +0 -24
- package/server/node_modules/@types/node/zlib/iter.d.ts +0 -131
- package/server/node_modules/undici-types/cache-interceptor.d.ts +0 -179
- package/server/node_modules/undici-types/client-stats.d.ts +0 -15
- package/server/node_modules/undici-types/dispatcher1-wrapper.d.ts +0 -7
- package/server/node_modules/undici-types/h2c-client.d.ts +0 -73
- package/server/node_modules/undici-types/mock-call-history.d.ts +0 -111
- package/server/node_modules/undici-types/round-robin-pool.d.ts +0 -39
- package/server/node_modules/undici-types/snapshot-agent.d.ts +0 -113
- package/server/node_modules/undici-types/socks5-proxy-agent.d.ts +0 -25
- package/server/node_modules/undici-types/utility.d.ts +0 -7
- package/server/public/assets/image-GAAHSSAO-rafcvWHh.js +0 -1
- package/server/public/assets/index-CdPveU3M.css +0 -1
- package/server/public/assets/index-Cg6tdZoY.js +0 -860
- package/server/public/assets/mermaid-GHXKKRXX-6KBD_3T_.js +0 -1
- package/server/pull-requests-CmlandI7.js +0 -2
- package/server/rally-DYIn9R2U.js +0 -3
- package/server/rebuild-stack-CyXMrj6K.js +0 -197
- package/server/settings-ByDRfuuE.js +0 -2
- package/server/specs-oRGyfz6C.js +0 -3
- package/server/supervisor-DSSWo4M2.js +0 -2
- package/server/token-util-DfUS3Lpp.js +0 -3
- package/server/workflows-BtHRlFIm.js +0 -2
- package/server/workspace-manager-BrbX90Rm.js +0 -3
- /package/server/public/assets/{pica-CgYEdS5s.js → pica-DPvnTcFS.js} +0 -0
- /package/server/public/assets/{wasm-DNrvLWf-.js → wasm-Ca_Unakq.js} +0 -0
|
@@ -1,15 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { n as
|
|
7
|
-
import {
|
|
1
|
+
import { $r as FsError, Ir as resolveModelIdSync, Pr as init_model_capabilities, Qr as ConfigError, Ri as init_paths, Ui as sessionFilePath, a as getConversationsConfigSync, dr as getProviderEnvSync, fn as init_projects, fr as getProviderForModelSync, jr as getModelCapabilitySync, ki as encodeClaudeProjectDir, p as loadConfigSync, pr as init_providers, t as init_config_yaml, ui as init_errors, vn as listProjectsSync } from "./config-yaml-Dce9VUd6.js";
|
|
2
|
+
import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-B05o-e2g.js";
|
|
3
|
+
import { n as openDatabase, t as init_driver } from "./driver-BtcFz-qu.js";
|
|
4
|
+
import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-ShD-G0cS.js";
|
|
5
|
+
import { o as init_codex_rollout_message, s as readCodexRolloutMessage } from "./behavior-Bg3yC8jC.js";
|
|
6
|
+
import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-B1O5F33h.js";
|
|
7
|
+
import { Ct as insertEmbedding, Dt as topKCosine, Et as searchFtsSessions, Ot as updateEnrichment, St as init_discovered_sessions, Tt as markEnrichmentFailed, _t as getDiscoveredSessionById, dt as countDiscoveredSessions, ft as countFtsSessions, gt as findEnrichedSessionIdsMissingEmbedding, ht as findDiscoveredSessions, kt as upsertDiscoveredSession, mt as findDiscoveredSessionIds, pt as ensureDiscoveredSessionsSchema, ut as buildFilterSql, vt as getDiscoveredSessionByJsonlPath, wt as loadEmbeddings, xt as getEmbedding } from "./conversations-CPXMv_JQ.js";
|
|
8
|
+
import { i as museSessionId, n as listMuseSessionPaths, t as init_muse_session } from "./muse-session-CrSRuauJ.js";
|
|
9
|
+
import { a as summarizeMuseRecords, n as museTimestamp, r as parseMuseRecords, t as init_muse_parser } from "./muse-parser-CFchR2vh.js";
|
|
10
|
+
import { n as recordBackgroundAiCost, t as init_cost$1 } from "./cost-eaAmJTX9.js";
|
|
11
|
+
import { t as redactSensitiveText } from "./secret-redaction-EqpTK7R6.js";
|
|
12
|
+
import { createRequire } from "node:module";
|
|
13
|
+
import { dirname } from "node:path";
|
|
8
14
|
import { Data, Duration, Effect, FileSystem } from "effect";
|
|
9
15
|
import { createReadStream, promises } from "fs";
|
|
10
|
-
import { basename, join, relative, resolve } from "path";
|
|
16
|
+
import { basename as basename$1, join as join$1, relative as relative$1, resolve as resolve$1 } from "path";
|
|
11
17
|
import { cpus, freemem, homedir, tmpdir } from "os";
|
|
12
18
|
import { platform as platform$1 } from "node:os";
|
|
19
|
+
import { existsSync as existsSync$1, mkdirSync as mkdirSync$1 } from "node:fs";
|
|
20
|
+
import { readFile } from "node:fs/promises";
|
|
13
21
|
import { ChildProcess } from "effect/unstable/process";
|
|
14
22
|
import { spawn } from "node:child_process";
|
|
15
23
|
import { ChildProcessSpawner as ChildProcessSpawner$1 } from "effect/unstable/process/ChildProcessSpawner";
|
|
@@ -18,6 +26,7 @@ import * as readline from "readline";
|
|
|
18
26
|
import { createInterface } from "readline";
|
|
19
27
|
//#region ../../lib/conversations/embeddings/providers.ts
|
|
20
28
|
init_paths();
|
|
29
|
+
init_driver();
|
|
21
30
|
init_infra();
|
|
22
31
|
init_discovered_sessions();
|
|
23
32
|
/**
|
|
@@ -471,6 +480,9 @@ init_cost$1();
|
|
|
471
480
|
* Map of model ID to provider
|
|
472
481
|
*/
|
|
473
482
|
const MODEL_PROVIDERS = {
|
|
483
|
+
"muse-spark-1.3": "meta",
|
|
484
|
+
"muse-spark-1.3-contributor": "meta",
|
|
485
|
+
"claude-fable-5-1": "anthropic",
|
|
474
486
|
"claude-fable-5": "anthropic",
|
|
475
487
|
"claude-opus-5": "anthropic",
|
|
476
488
|
"claude-opus-4-8": "anthropic",
|
|
@@ -480,6 +492,7 @@ const MODEL_PROVIDERS = {
|
|
|
480
492
|
"claude-sonnet-4-6": "anthropic",
|
|
481
493
|
"claude-sonnet-4-5": "anthropic",
|
|
482
494
|
"claude-haiku-4-5": "anthropic",
|
|
495
|
+
"gpt-6-astra": "openai",
|
|
483
496
|
"gpt-5.6-sol": "openai",
|
|
484
497
|
"gpt-5.6-terra": "openai",
|
|
485
498
|
"gpt-5.6-luna": "openai",
|
|
@@ -496,6 +509,8 @@ const MODEL_PROVIDERS = {
|
|
|
496
509
|
"o3-deep-research": "openai",
|
|
497
510
|
"gpt-4o": "openai",
|
|
498
511
|
"gpt-4o-mini": "openai",
|
|
512
|
+
"gemini-3.8-flash": "google",
|
|
513
|
+
"gemini-3.5-flash-lite": "google",
|
|
499
514
|
"gemini-3.1-pro-preview": "google",
|
|
500
515
|
"gemini-3-flash-preview": "google",
|
|
501
516
|
"gemini-3.1-flash-lite-preview": "google",
|
|
@@ -512,6 +527,7 @@ const MODEL_PROVIDERS = {
|
|
|
512
527
|
"minimax-m2.7": "minimax",
|
|
513
528
|
"minimax-m2.7-highspeed": "minimax",
|
|
514
529
|
"MiniMax-M3": "minimax",
|
|
530
|
+
"glm-5.3": "zai",
|
|
515
531
|
"glm-5.2": "zai",
|
|
516
532
|
"glm-5.1": "zai",
|
|
517
533
|
"glm-4.7": "zai",
|
|
@@ -523,6 +539,8 @@ const MODEL_PROVIDERS = {
|
|
|
523
539
|
"qwen3-coder-plus": "dashscope",
|
|
524
540
|
"qwen3-plus": "dashscope",
|
|
525
541
|
"qwen3.7-max": "dashscope",
|
|
542
|
+
"qwen3.7-plus": "dashscope",
|
|
543
|
+
"qwen3.8-flash": "dashscope",
|
|
526
544
|
"qwen3.8-max": "dashscope",
|
|
527
545
|
"grok-build-0.1": "xai",
|
|
528
546
|
"ql-reason-70b": "quantumllama",
|
|
@@ -541,6 +559,7 @@ const MODEL_PROVIDERS = {
|
|
|
541
559
|
* Users who want Opus can explicitly set it in their config.
|
|
542
560
|
*/
|
|
543
561
|
const FALLBACK_MAP = {
|
|
562
|
+
"gpt-6-astra": "claude-sonnet-5",
|
|
544
563
|
"gpt-5.6-sol": "claude-sonnet-5",
|
|
545
564
|
"gpt-5.6-terra": "claude-sonnet-5",
|
|
546
565
|
"gpt-5.6-luna": "claude-haiku-4-5",
|
|
@@ -599,6 +618,7 @@ const DEFAULT_FALLBACK = "claude-sonnet-5";
|
|
|
599
618
|
* Used for within-provider tier-aware fallback.
|
|
600
619
|
*/
|
|
601
620
|
const MODEL_TIER_RANK = {
|
|
621
|
+
"gpt-6-astra": 3,
|
|
602
622
|
"gpt-5.6-sol": 2,
|
|
603
623
|
"gpt-5.6-terra": 2,
|
|
604
624
|
"gpt-5.6-luna": 1,
|
|
@@ -628,12 +648,14 @@ const TIER_RANK = {
|
|
|
628
648
|
* This is distinct from all other providers which use simple identifiers without slashes.
|
|
629
649
|
*/
|
|
630
650
|
function isOpenRouterModelSync(modelId) {
|
|
631
|
-
return modelId.includes("/") && modelId !== "qwen/qwen3.6-plus";
|
|
651
|
+
return modelId.includes("/") && modelId !== "qwen/qwen3.6-plus" && !modelId.startsWith("opencode/") && !modelId.startsWith("opencode-go/");
|
|
632
652
|
}
|
|
633
653
|
/**
|
|
634
654
|
* Get the provider for a model ID
|
|
635
655
|
*/
|
|
636
656
|
function getModelProviderSync(modelId) {
|
|
657
|
+
if (modelId.startsWith("opencode/")) return "opencode";
|
|
658
|
+
if (modelId.startsWith("opencode-go/")) return "opencode-go";
|
|
637
659
|
if (isOpenRouterModelSync(modelId)) return "openrouter";
|
|
638
660
|
const direct = MODEL_PROVIDERS[modelId];
|
|
639
661
|
if (direct) return direct;
|
|
@@ -697,6 +719,10 @@ function getBestAnthropicAtTier(targetTier, originalModelId) {
|
|
|
697
719
|
*/
|
|
698
720
|
function applyTierAwareFallbackSync(modelId, enabledProviders, userTier) {
|
|
699
721
|
const provider = getModelProviderSync(modelId);
|
|
722
|
+
if (provider === "meta") {
|
|
723
|
+
if (!isProviderEnabled(provider, enabledProviders)) throw new Error("Meta (Muse) is disabled; enable it in Settings before selecting a Muse model");
|
|
724
|
+
return modelId;
|
|
725
|
+
}
|
|
700
726
|
if (!isProviderEnabled(provider, enabledProviders)) {
|
|
701
727
|
const fallback = getFallbackModelSync(modelId);
|
|
702
728
|
if (isProviderEnabled("anthropic", enabledProviders)) {
|
|
@@ -763,6 +789,7 @@ init_discovered_sessions();
|
|
|
763
789
|
init_config_yaml();
|
|
764
790
|
init_providers();
|
|
765
791
|
init_errors();
|
|
792
|
+
init_codex_rollout_message();
|
|
766
793
|
/** Coarse provider label from a model id, for cost-event tagging. */
|
|
767
794
|
function providerForModel(model) {
|
|
768
795
|
const m = model.toLowerCase();
|
|
@@ -931,9 +958,10 @@ function buildCodexExcerpt(lines, options = {}) {
|
|
|
931
958
|
const entry = JSON.parse(line);
|
|
932
959
|
const payload = entry.payload;
|
|
933
960
|
if (!payload || typeof payload !== "object") continue;
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
961
|
+
const rolloutMessage = entry.type === "event_msg" ? readCodexRolloutMessage(entry) : void 0;
|
|
962
|
+
if (rolloutMessage) {
|
|
963
|
+
const text = truncateText(redactSensitiveText(rolloutMessage.text), options);
|
|
964
|
+
if (text) parts.push(`[${rolloutMessage.role}]: ${text}`);
|
|
937
965
|
continue;
|
|
938
966
|
}
|
|
939
967
|
if (entry.type === "response_item" && (payload.type === "function_call" || payload.type === "custom_tool_call")) {
|
|
@@ -2137,7 +2165,7 @@ var HashResolver = class {
|
|
|
2137
2165
|
function extractHashFromJsonlPath(jsonlPath) {
|
|
2138
2166
|
const match = jsonlPath.match(/\.claude[/\\]projects[/\\]([^/\\]+)/);
|
|
2139
2167
|
if (match?.[1]) return match[1];
|
|
2140
|
-
return basename(jsonlPath.replace(/[/\\][^/\\]+$/, ""));
|
|
2168
|
+
return basename$1(jsonlPath.replace(/[/\\][^/\\]+$/, ""));
|
|
2141
2169
|
}
|
|
2142
2170
|
/**
|
|
2143
2171
|
* Collect candidate workspace paths by walking watchDirs one level deep.
|
|
@@ -2158,11 +2186,11 @@ function projectCandidateRoots() {
|
|
|
2158
2186
|
}
|
|
2159
2187
|
async function addCandidateRoot(candidates, dir) {
|
|
2160
2188
|
try {
|
|
2161
|
-
const resolved = dir.startsWith("~/") ? join(homedir(), dir.slice(2)) : dir;
|
|
2189
|
+
const resolved = dir.startsWith("~/") ? join$1(homedir(), dir.slice(2)) : dir;
|
|
2162
2190
|
if (!(await promises.stat(resolved).catch(() => null))?.isDirectory()) return;
|
|
2163
2191
|
candidates.add(resolved);
|
|
2164
2192
|
const entries = await promises.readdir(resolved, { withFileTypes: true }).catch(() => []);
|
|
2165
|
-
for (const entry of entries) if (entry.isDirectory() && !entry.name.startsWith(".")) candidates.add(join(resolved, entry.name));
|
|
2193
|
+
for (const entry of entries) if (entry.isDirectory() && !entry.name.startsWith(".")) candidates.add(join$1(resolved, entry.name));
|
|
2166
2194
|
} catch {}
|
|
2167
2195
|
}
|
|
2168
2196
|
//#endregion
|
|
@@ -2254,7 +2282,7 @@ const detectDriveType = Effect.gen(function* () {
|
|
|
2254
2282
|
/** Measure sequential read speed by reading a 10MB temp file. */
|
|
2255
2283
|
const measureDriveReadSpeed = Effect.gen(function* () {
|
|
2256
2284
|
const SAMPLE_SIZE_BYTES = 10 * 1024 * 1024;
|
|
2257
|
-
const tmpFile = join(tmpdir(), `pan-probe-${process.pid}.bin`);
|
|
2285
|
+
const tmpFile = join$1(tmpdir(), `pan-probe-${process.pid}.bin`);
|
|
2258
2286
|
const fs = yield* FileSystem.FileSystem;
|
|
2259
2287
|
return yield* Effect.gen(function* () {
|
|
2260
2288
|
const buf = new Uint8Array(SAMPLE_SIZE_BYTES);
|
|
@@ -2371,36 +2399,31 @@ function mergeCorrelation(base, override) {
|
|
|
2371
2399
|
}
|
|
2372
2400
|
//#endregion
|
|
2373
2401
|
//#region ../../lib/conversations/harness-discovery.ts
|
|
2374
|
-
|
|
2375
|
-
* Per-harness session discovery sources (PAN-2224).
|
|
2376
|
-
*
|
|
2377
|
-
* Enumerates JSONL session files without parsing metadata. Missing roots are
|
|
2378
|
-
* skipped silently; permission failures are reported through warnings.
|
|
2379
|
-
*/
|
|
2402
|
+
init_muse_session();
|
|
2380
2403
|
const discoverySources = [
|
|
2381
2404
|
{
|
|
2382
2405
|
harness: "claude-code",
|
|
2383
|
-
roots: () => [join(homedir(), ".claude", "projects")],
|
|
2406
|
+
roots: () => [join$1(homedir(), ".claude", "projects")],
|
|
2384
2407
|
collect: collectClaudeProjectFiles
|
|
2385
2408
|
},
|
|
2386
2409
|
{
|
|
2387
2410
|
harness: "pi",
|
|
2388
|
-
roots: () => [join(homedir(), ".pi", "agent", "sessions")],
|
|
2411
|
+
roots: () => [join$1(homedir(), ".pi", "agent", "sessions")],
|
|
2389
2412
|
collect: (root, warnings) => collectPiFamilyRoot(root, "pi", warnings)
|
|
2390
2413
|
},
|
|
2391
2414
|
{
|
|
2392
2415
|
harness: "ohmypi",
|
|
2393
|
-
roots: () => [join(homedir(), ".omp", "agent", "sessions")],
|
|
2416
|
+
roots: () => [join$1(homedir(), ".omp", "agent", "sessions")],
|
|
2394
2417
|
collect: (root, warnings) => collectPiFamilyRoot(root, "ohmypi", warnings)
|
|
2395
2418
|
},
|
|
2396
2419
|
{
|
|
2397
2420
|
harness: "codex",
|
|
2398
|
-
roots: () => [join(homedir(), ".codex", "sessions")],
|
|
2421
|
+
roots: () => [join$1(homedir(), ".codex", "sessions")],
|
|
2399
2422
|
collect: (root, warnings) => collectJsonlFiles(root, root, "codex", warnings ?? [])
|
|
2400
2423
|
},
|
|
2401
2424
|
{
|
|
2402
2425
|
harness: "agent-dirs",
|
|
2403
|
-
roots: () => [join(homedir(), ".overdeck", "agents")],
|
|
2426
|
+
roots: () => [join$1(homedir(), ".overdeck", "agents")],
|
|
2404
2427
|
collect: collectAgentDirFiles
|
|
2405
2428
|
}
|
|
2406
2429
|
];
|
|
@@ -2413,7 +2436,7 @@ async function collectClaudeProjectFiles(claudeProjectsDir, warnings = [], targe
|
|
|
2413
2436
|
const result = [];
|
|
2414
2437
|
let projectDirs;
|
|
2415
2438
|
try {
|
|
2416
|
-
projectDirs = (await promises.readdir(claudeProjectsDir, { withFileTypes: true })).filter((e) => e.isDirectory()).map((e) => join(claudeProjectsDir, e.name));
|
|
2439
|
+
projectDirs = (await promises.readdir(claudeProjectsDir, { withFileTypes: true })).filter((e) => e.isDirectory()).map((e) => join$1(claudeProjectsDir, e.name));
|
|
2417
2440
|
} catch (err) {
|
|
2418
2441
|
if (isMissingRoot(err)) return result;
|
|
2419
2442
|
if (isPermissionError(err)) warnings.push(`Permission denied while scanning ${claudeProjectsDir}`);
|
|
@@ -2437,7 +2460,7 @@ async function collectPiFamilyRoot(root, harness, warnings = []) {
|
|
|
2437
2460
|
}
|
|
2438
2461
|
for (const entry of entries) {
|
|
2439
2462
|
const name = String(entry.name);
|
|
2440
|
-
const fullPath = join(root, name);
|
|
2463
|
+
const fullPath = join$1(root, name);
|
|
2441
2464
|
if (entry.isFile() && name.endsWith(".jsonl")) result.push({
|
|
2442
2465
|
projectDir: root,
|
|
2443
2466
|
jsonlPath: fullPath,
|
|
@@ -2459,16 +2482,25 @@ async function collectAgentDirFiles(root, warnings = []) {
|
|
|
2459
2482
|
}
|
|
2460
2483
|
for (const entry of entries) {
|
|
2461
2484
|
if (!entry.isDirectory()) continue;
|
|
2462
|
-
const agentDir = join(root, entry.name);
|
|
2463
|
-
|
|
2485
|
+
const agentDir = join$1(root, entry.name);
|
|
2486
|
+
let agentHarness = await readAgentHarness(agentDir);
|
|
2487
|
+
if (!agentHarness && (entry.name.startsWith("conv-") || entry.name.startsWith("conversation-"))) {
|
|
2488
|
+
const { getConversationByTmuxSession } = await import("./conversations-BunNL58s.js");
|
|
2489
|
+
agentHarness = getConversationByTmuxSession(entry.name)?.harness ?? null;
|
|
2490
|
+
}
|
|
2464
2491
|
const piHarness = agentHarness === "pi" || agentHarness === "ohmypi" ? agentHarness : "ohmypi";
|
|
2465
|
-
result.push(...await collectPiFamilyRoot(join(agentDir, "sessions"), piHarness, warnings));
|
|
2466
|
-
await collectAgentRootFiles(agentDir, piHarness, warnings, result);
|
|
2467
|
-
await collectJsonlFiles(join(agentDir, "codex-home", "sessions"), join(agentDir, "codex-home", "sessions"), "codex", warnings, result);
|
|
2492
|
+
result.push(...await collectPiFamilyRoot(join$1(agentDir, "sessions"), piHarness, warnings));
|
|
2493
|
+
await collectAgentRootFiles(agentDir, piHarness, warnings, result, agentHarness === "opencode" ? "opencode" : "acp");
|
|
2494
|
+
await collectJsonlFiles(join$1(agentDir, "codex-home", "sessions"), join$1(agentDir, "codex-home", "sessions"), "codex", warnings, result);
|
|
2495
|
+
for (const jsonlPath of await listMuseSessionPaths(entry.name, root)) result.push({
|
|
2496
|
+
projectDir: agentDir,
|
|
2497
|
+
jsonlPath,
|
|
2498
|
+
harness: "muse"
|
|
2499
|
+
});
|
|
2468
2500
|
}
|
|
2469
2501
|
return result;
|
|
2470
2502
|
}
|
|
2471
|
-
async function collectAgentRootFiles(agentDir, piHarness, warnings, result) {
|
|
2503
|
+
async function collectAgentRootFiles(agentDir, piHarness, warnings, result, acpHarness) {
|
|
2472
2504
|
let entries;
|
|
2473
2505
|
try {
|
|
2474
2506
|
entries = await promises.readdir(agentDir, { withFileTypes: true });
|
|
@@ -2481,12 +2513,12 @@ async function collectAgentRootFiles(agentDir, piHarness, warnings, result) {
|
|
|
2481
2513
|
if (!entry.isFile()) continue;
|
|
2482
2514
|
if (name === "acp-session.jsonl") result.push({
|
|
2483
2515
|
projectDir: agentDir,
|
|
2484
|
-
jsonlPath: join(agentDir, name),
|
|
2485
|
-
harness:
|
|
2516
|
+
jsonlPath: join$1(agentDir, name),
|
|
2517
|
+
harness: acpHarness
|
|
2486
2518
|
});
|
|
2487
2519
|
else if (isPiWorkAgentJsonl(name)) result.push({
|
|
2488
2520
|
projectDir: agentDir,
|
|
2489
|
-
jsonlPath: join(agentDir, name),
|
|
2521
|
+
jsonlPath: join$1(agentDir, name),
|
|
2490
2522
|
harness: piHarness
|
|
2491
2523
|
});
|
|
2492
2524
|
}
|
|
@@ -2502,7 +2534,7 @@ async function collectJsonlFiles(projectDir, dir, harness, warnings = [], result
|
|
|
2502
2534
|
}
|
|
2503
2535
|
for (const entry of entries) {
|
|
2504
2536
|
const name = String(entry.name);
|
|
2505
|
-
const fullPath = join(dir, name);
|
|
2537
|
+
const fullPath = join$1(dir, name);
|
|
2506
2538
|
if (entry.isFile() && name.endsWith(".jsonl")) result.push({
|
|
2507
2539
|
projectDir,
|
|
2508
2540
|
jsonlPath: fullPath,
|
|
@@ -2514,7 +2546,7 @@ async function collectJsonlFiles(projectDir, dir, harness, warnings = [], result
|
|
|
2514
2546
|
}
|
|
2515
2547
|
async function readAgentHarness(agentDir) {
|
|
2516
2548
|
try {
|
|
2517
|
-
const raw = await promises.readFile(join(agentDir, "state.json"), "utf8");
|
|
2549
|
+
const raw = await promises.readFile(join$1(agentDir, "state.json"), "utf8");
|
|
2518
2550
|
const parsed = JSON.parse(raw);
|
|
2519
2551
|
return typeof parsed.harness === "string" ? parsed.harness : null;
|
|
2520
2552
|
} catch {
|
|
@@ -2525,7 +2557,7 @@ function isPiWorkAgentJsonl(name) {
|
|
|
2525
2557
|
return /^[^/]+_[^/]+\.jsonl$/.test(name);
|
|
2526
2558
|
}
|
|
2527
2559
|
function projectDirMatchesAnyTarget$1(projectDir, targetEncodings) {
|
|
2528
|
-
const hash = basename(projectDir);
|
|
2560
|
+
const hash = basename$1(projectDir);
|
|
2529
2561
|
return targetEncodings.some((enc) => hash === enc || hash.startsWith(enc + "-"));
|
|
2530
2562
|
}
|
|
2531
2563
|
function isMissingRoot(err) {
|
|
@@ -2540,6 +2572,9 @@ function isPermissionError(err) {
|
|
|
2540
2572
|
/**
|
|
2541
2573
|
* Harness-specific metadata parsers for discovered sessions (PAN-2224).
|
|
2542
2574
|
*/
|
|
2575
|
+
init_muse_session();
|
|
2576
|
+
init_muse_parser();
|
|
2577
|
+
init_codex_rollout_message();
|
|
2543
2578
|
const FILE_TOOLS = new Set([
|
|
2544
2579
|
"read",
|
|
2545
2580
|
"edit",
|
|
@@ -2665,7 +2700,7 @@ async function parseCodexSessionMetadata(filePath) {
|
|
|
2665
2700
|
return;
|
|
2666
2701
|
}
|
|
2667
2702
|
if (entry.type === "event_msg") {
|
|
2668
|
-
if (
|
|
2703
|
+
if (readCodexRolloutMessage(entry)) {
|
|
2669
2704
|
result.messageCount++;
|
|
2670
2705
|
if (currentModel) modelCounts[currentModel] = (modelCounts[currentModel] ?? 0) + 1;
|
|
2671
2706
|
return;
|
|
@@ -2764,6 +2799,28 @@ function extractFilePath(toolName, input) {
|
|
|
2764
2799
|
const path = input["file_path"] ?? input["path"] ?? input["file"];
|
|
2765
2800
|
return typeof path === "string" && path.length > 0 ? path : null;
|
|
2766
2801
|
}
|
|
2802
|
+
/** Native root events only; private reasoning/configuration never enter discovery metadata. */
|
|
2803
|
+
async function parseMuseSessionMetadata(filePath) {
|
|
2804
|
+
const result = emptySessionMetadata();
|
|
2805
|
+
const records = parseMuseRecords(await readFile(filePath, "utf8"));
|
|
2806
|
+
result.sessionId = museSessionId(filePath);
|
|
2807
|
+
for (const record of records) {
|
|
2808
|
+
if (record.payload_type === "runtime.session.metadata") {
|
|
2809
|
+
result.cwdFromFirstMessage = record.payload?.record?.workspace_root ?? result.cwdFromFirstMessage;
|
|
2810
|
+
result.primaryModel = record.payload?.record?.model_id ?? result.primaryModel;
|
|
2811
|
+
}
|
|
2812
|
+
const event = record.payload?.kind === "run" ? record.payload.event : void 0;
|
|
2813
|
+
if (event?.kind === "started" || event?.kind === "assistant_message_committed") {
|
|
2814
|
+
result.messageCount++;
|
|
2815
|
+
recordTimestamp(result, museTimestamp(record));
|
|
2816
|
+
}
|
|
2817
|
+
}
|
|
2818
|
+
const usage = summarizeMuseRecords(records, filePath);
|
|
2819
|
+
result.modelsUsed = result.primaryModel ? [result.primaryModel] : [];
|
|
2820
|
+
result.tokenInput = usage ? usage.usage.inputTokens + (usage.usage.cacheReadTokens ?? 0) : 0;
|
|
2821
|
+
result.tokenOutput = usage?.usage.outputTokens ?? 0;
|
|
2822
|
+
return result;
|
|
2823
|
+
}
|
|
2767
2824
|
//#endregion
|
|
2768
2825
|
//#region ../../lib/conversations/scanner.ts
|
|
2769
2826
|
/**
|
|
@@ -2799,7 +2856,8 @@ async function scan(opts) {
|
|
|
2799
2856
|
const parseMetadata = (file) => {
|
|
2800
2857
|
if (file.harness === "pi" || file.harness === "ohmypi") return parsePiSessionMetadata(file.jsonlPath);
|
|
2801
2858
|
if (file.harness === "codex") return parseCodexSessionMetadata(file.jsonlPath);
|
|
2802
|
-
if (file.harness === "
|
|
2859
|
+
if (file.harness === "muse") return parseMuseSessionMetadata(file.jsonlPath);
|
|
2860
|
+
if (file.harness === "acp" || file.harness === "opencode") return parseAcpSessionMetadata(file.jsonlPath);
|
|
2803
2861
|
return parseJsonl(file.jsonlPath);
|
|
2804
2862
|
};
|
|
2805
2863
|
const resolveWorkspace = async (file, cwdFromFirstMessage) => {
|
|
@@ -2809,7 +2867,7 @@ async function scan(opts) {
|
|
|
2809
2867
|
workspaceHash: null,
|
|
2810
2868
|
warning: null
|
|
2811
2869
|
};
|
|
2812
|
-
if (file.harness === "codex" || file.harness === "acp") return {
|
|
2870
|
+
if (file.harness === "codex" || file.harness === "acp" || file.harness === "opencode") return {
|
|
2813
2871
|
workspacePath: resolveAgentWorkspace(file.jsonlPath),
|
|
2814
2872
|
workspaceHash: null,
|
|
2815
2873
|
warning: null
|
|
@@ -3015,22 +3073,320 @@ function targetEncodingsForMode(opts) {
|
|
|
3015
3073
|
return (opts.mode === "targeted" ? opts.dirs ?? [] : opts.watchDirs ?? []).map(normalizeDir).map(encodeClaudeProjectDir);
|
|
3016
3074
|
}
|
|
3017
3075
|
function projectDirMatchesAnyTarget(projectDir, targetEncodings) {
|
|
3018
|
-
const hash = basename(projectDir);
|
|
3076
|
+
const hash = basename$1(projectDir);
|
|
3019
3077
|
return targetEncodings.some((enc) => hash === enc || hash.startsWith(enc + "-"));
|
|
3020
3078
|
}
|
|
3021
3079
|
function workspaceUnderAnyDir(workspacePath, dirs) {
|
|
3022
3080
|
if (!workspacePath) return false;
|
|
3023
|
-
const normalizedWorkspace = resolve(normalizeDir(workspacePath));
|
|
3024
|
-
return dirs.map((dir) => resolve(normalizeDir(dir))).some((dir) => {
|
|
3025
|
-
const rel = relative(dir, normalizedWorkspace);
|
|
3081
|
+
const normalizedWorkspace = resolve$1(normalizeDir(workspacePath));
|
|
3082
|
+
return dirs.map((dir) => resolve$1(normalizeDir(dir))).some((dir) => {
|
|
3083
|
+
const rel = relative$1(dir, normalizedWorkspace);
|
|
3026
3084
|
return rel === "" || !rel.startsWith("..") && !rel.startsWith("/") && rel !== "..";
|
|
3027
3085
|
});
|
|
3028
3086
|
}
|
|
3029
3087
|
function normalizeDir(dir) {
|
|
3030
|
-
if (dir.startsWith("~/")) return join(homedir(), dir.slice(2));
|
|
3088
|
+
if (dir.startsWith("~/")) return join$1(homedir(), dir.slice(2));
|
|
3031
3089
|
return dir;
|
|
3032
3090
|
}
|
|
3033
3091
|
//#endregion
|
|
3034
|
-
|
|
3092
|
+
//#region ../../lib/database/conversation-embeddings-db.ts
|
|
3093
|
+
/**
|
|
3094
|
+
* Conversation Embeddings Sidecar Database (PAN-1395)
|
|
3095
|
+
*
|
|
3096
|
+
* Manages ~/.overdeck/conversations/embeddings.db:
|
|
3097
|
+
* - chunks source table keyed by (session_id, byte_offset)
|
|
3098
|
+
* - FTS5 virtual table for BM25 keyword search
|
|
3099
|
+
* - sqlite-vec vec0 virtual table for cosine ANN search
|
|
3100
|
+
* - file_cursors for idempotent incremental indexing
|
|
3101
|
+
*
|
|
3102
|
+
* Only safe to call from the Node 22 dashboard server — uses the shared SQLite
|
|
3103
|
+
* adapter plus the sqlite-vec native extension.
|
|
3104
|
+
*
|
|
3105
|
+
* Fail-closed: if sqlite-vec cannot be loaded, open() returns { available: false }
|
|
3106
|
+
* and no embeddings or vector search are performed.
|
|
3107
|
+
*/
|
|
3108
|
+
const _require = createRequire(import.meta.url);
|
|
3109
|
+
const SCHEMA_VERSION = 1;
|
|
3110
|
+
function tableExists(db, tableName) {
|
|
3111
|
+
return db.prepare(`SELECT 1 FROM sqlite_master WHERE type IN ('table', 'virtual table') AND name = ?`).get(tableName) !== void 0;
|
|
3112
|
+
}
|
|
3113
|
+
function getConfigValue(db, key) {
|
|
3114
|
+
if (!tableExists(db, "db_config")) return void 0;
|
|
3115
|
+
return db.prepare("SELECT value FROM db_config WHERE key = ?").get(key)?.value;
|
|
3116
|
+
}
|
|
3117
|
+
function initSchema(db, dimensions) {
|
|
3118
|
+
db.exec(`
|
|
3119
|
+
-- Source of truth: one row per indexed chunk, rowid shared with FTS + vec
|
|
3120
|
+
CREATE TABLE IF NOT EXISTS chunks (
|
|
3121
|
+
rowid INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
3122
|
+
session_id TEXT NOT NULL,
|
|
3123
|
+
project_id TEXT NOT NULL,
|
|
3124
|
+
role TEXT NOT NULL,
|
|
3125
|
+
ts TEXT,
|
|
3126
|
+
byte_offset INTEGER NOT NULL,
|
|
3127
|
+
char_length INTEGER NOT NULL,
|
|
3128
|
+
text TEXT NOT NULL,
|
|
3129
|
+
token_count INTEGER NOT NULL DEFAULT 0,
|
|
3130
|
+
indexed_at TEXT NOT NULL,
|
|
3131
|
+
UNIQUE(session_id, byte_offset)
|
|
3132
|
+
);
|
|
3133
|
+
|
|
3134
|
+
-- FTS5 for BM25 keyword search; content= keeps text stored in chunks
|
|
3135
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS chunks_fts USING fts5(
|
|
3136
|
+
text,
|
|
3137
|
+
content='chunks',
|
|
3138
|
+
content_rowid='rowid',
|
|
3139
|
+
tokenize='porter ascii'
|
|
3140
|
+
);
|
|
3141
|
+
|
|
3142
|
+
-- Triggers to keep chunks_fts in sync with chunks
|
|
3143
|
+
CREATE TRIGGER IF NOT EXISTS chunks_ai AFTER INSERT ON chunks BEGIN
|
|
3144
|
+
INSERT INTO chunks_fts(rowid, text) VALUES (new.rowid, new.text);
|
|
3145
|
+
END;
|
|
3146
|
+
CREATE TRIGGER IF NOT EXISTS chunks_au AFTER UPDATE ON chunks BEGIN
|
|
3147
|
+
INSERT INTO chunks_fts(chunks_fts, rowid, text) VALUES ('delete', old.rowid, old.text);
|
|
3148
|
+
INSERT INTO chunks_fts(rowid, text) VALUES (new.rowid, new.text);
|
|
3149
|
+
END;
|
|
3150
|
+
CREATE TRIGGER IF NOT EXISTS chunks_ad AFTER DELETE ON chunks BEGIN
|
|
3151
|
+
INSERT INTO chunks_fts(chunks_fts, rowid, text) VALUES ('delete', old.rowid, old.text);
|
|
3152
|
+
END;
|
|
3153
|
+
|
|
3154
|
+
-- Incremental indexing cursors (one row per JSONL file)
|
|
3155
|
+
CREATE TABLE IF NOT EXISTS file_cursors (
|
|
3156
|
+
file_path TEXT PRIMARY KEY,
|
|
3157
|
+
byte_offset INTEGER NOT NULL DEFAULT 0,
|
|
3158
|
+
updated_at TEXT NOT NULL
|
|
3159
|
+
);
|
|
3160
|
+
|
|
3161
|
+
-- DB metadata (dimensions, schema version, etc.)
|
|
3162
|
+
CREATE TABLE IF NOT EXISTS db_config (
|
|
3163
|
+
key TEXT PRIMARY KEY,
|
|
3164
|
+
value TEXT NOT NULL
|
|
3165
|
+
);
|
|
3166
|
+
`);
|
|
3167
|
+
db.exec(`
|
|
3168
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS chunks_vec USING vec0(
|
|
3169
|
+
embedding float[${dimensions}]
|
|
3170
|
+
);
|
|
3171
|
+
`);
|
|
3172
|
+
db.prepare(`INSERT OR IGNORE INTO db_config(key, value) VALUES (?, ?)`).run("dimensions", String(dimensions));
|
|
3173
|
+
db.prepare(`INSERT OR REPLACE INTO db_config(key, value) VALUES (?, ?)`).run("schema_version", String(SCHEMA_VERSION));
|
|
3174
|
+
if (db.pragma("user_version", { simple: true }) < SCHEMA_VERSION) db.pragma(`user_version = ${SCHEMA_VERSION}`);
|
|
3175
|
+
}
|
|
3176
|
+
function prepareStmts(db) {
|
|
3177
|
+
return {
|
|
3178
|
+
upsertChunk: db.prepare(`
|
|
3179
|
+
INSERT INTO chunks(session_id, project_id, role, ts, byte_offset, char_length, text, token_count, indexed_at)
|
|
3180
|
+
VALUES (@sessionId, @projectId, @role, @ts, @byteOffset, @charLength, @text, @tokenCount, @indexedAt)
|
|
3181
|
+
ON CONFLICT(session_id, byte_offset) DO UPDATE SET
|
|
3182
|
+
project_id = excluded.project_id,
|
|
3183
|
+
role = excluded.role,
|
|
3184
|
+
ts = excluded.ts,
|
|
3185
|
+
char_length = excluded.char_length,
|
|
3186
|
+
text = excluded.text,
|
|
3187
|
+
token_count = excluded.token_count,
|
|
3188
|
+
indexed_at = excluded.indexed_at
|
|
3189
|
+
RETURNING rowid
|
|
3190
|
+
`),
|
|
3191
|
+
deleteEmbeddingByRowid: db.prepare(`
|
|
3192
|
+
DELETE FROM chunks_vec WHERE rowid = CAST(? AS INTEGER)
|
|
3193
|
+
`),
|
|
3194
|
+
upsertEmbedding: db.prepare(`
|
|
3195
|
+
INSERT INTO chunks_vec(rowid, embedding) VALUES (CAST(? AS INTEGER), ?)
|
|
3196
|
+
`),
|
|
3197
|
+
getCursor: db.prepare(`
|
|
3198
|
+
SELECT byte_offset FROM file_cursors WHERE file_path = ?
|
|
3199
|
+
`),
|
|
3200
|
+
setCursor: db.prepare(`
|
|
3201
|
+
INSERT INTO file_cursors(file_path, byte_offset, updated_at)
|
|
3202
|
+
VALUES (?, ?, ?)
|
|
3203
|
+
ON CONFLICT(file_path) DO UPDATE SET byte_offset = excluded.byte_offset, updated_at = excluded.updated_at
|
|
3204
|
+
`),
|
|
3205
|
+
deleteChunksBySession: db.prepare(`
|
|
3206
|
+
DELETE FROM chunks WHERE session_id = ?
|
|
3207
|
+
`),
|
|
3208
|
+
deleteEmbeddingsBySession: db.prepare(`
|
|
3209
|
+
DELETE FROM chunks_vec WHERE rowid IN (
|
|
3210
|
+
SELECT rowid FROM chunks WHERE session_id = ?
|
|
3211
|
+
)
|
|
3212
|
+
`),
|
|
3213
|
+
listFileCursors: db.prepare(`
|
|
3214
|
+
SELECT file_path FROM file_cursors
|
|
3215
|
+
`),
|
|
3216
|
+
deleteCursor: db.prepare(`
|
|
3217
|
+
DELETE FROM file_cursors WHERE file_path = ?
|
|
3218
|
+
`)
|
|
3219
|
+
};
|
|
3220
|
+
}
|
|
3221
|
+
function mapSearchRow(row) {
|
|
3222
|
+
return {
|
|
3223
|
+
rowid: row.rowid,
|
|
3224
|
+
sessionId: row.session_id,
|
|
3225
|
+
projectId: row.project_id,
|
|
3226
|
+
role: row.role,
|
|
3227
|
+
ts: row.ts,
|
|
3228
|
+
byteOffset: row.byte_offset,
|
|
3229
|
+
charLength: row.char_length,
|
|
3230
|
+
text: row.text,
|
|
3231
|
+
tokenCount: row.token_count,
|
|
3232
|
+
indexedAt: row.indexed_at,
|
|
3233
|
+
score: row.score
|
|
3234
|
+
};
|
|
3235
|
+
}
|
|
3236
|
+
/**
|
|
3237
|
+
* Open (or create) the conversation embeddings sidecar DB.
|
|
3238
|
+
*
|
|
3239
|
+
* @param dbPath Absolute path to the embeddings.db file.
|
|
3240
|
+
* @param dimensions Embedding vector size (must match what was used to create the DB).
|
|
3241
|
+
*/
|
|
3242
|
+
function openEmbeddingsDb(dbPath, dimensions, options = {}) {
|
|
3243
|
+
const unavailable = (reason) => ({
|
|
3244
|
+
available: false,
|
|
3245
|
+
unavailableReason: reason,
|
|
3246
|
+
dimensions,
|
|
3247
|
+
upsertChunk: () => {
|
|
3248
|
+
throw new Error(`EmbeddingsDb unavailable: ${reason}`);
|
|
3249
|
+
},
|
|
3250
|
+
upsertEmbedding: () => {
|
|
3251
|
+
throw new Error(`EmbeddingsDb unavailable: ${reason}`);
|
|
3252
|
+
},
|
|
3253
|
+
getCursor: () => 0,
|
|
3254
|
+
setCursor: () => {},
|
|
3255
|
+
searchBm25: () => {
|
|
3256
|
+
throw new Error(`EmbeddingsDb unavailable: ${reason}`);
|
|
3257
|
+
},
|
|
3258
|
+
searchVector: () => {
|
|
3259
|
+
throw new Error(`EmbeddingsDb unavailable: ${reason}`);
|
|
3260
|
+
},
|
|
3261
|
+
getStats: () => ({
|
|
3262
|
+
chunkCount: 0,
|
|
3263
|
+
indexedFileCount: 0,
|
|
3264
|
+
lastIndexedAt: null
|
|
3265
|
+
}),
|
|
3266
|
+
deleteSession: () => {},
|
|
3267
|
+
listFileCursors: () => [],
|
|
3268
|
+
deleteCursor: () => {},
|
|
3269
|
+
close: () => {}
|
|
3270
|
+
});
|
|
3271
|
+
if (!Number.isInteger(dimensions) || dimensions <= 0) return unavailable(`Invalid embedding dimensions: ${dimensions}`);
|
|
3272
|
+
let db;
|
|
3273
|
+
try {
|
|
3274
|
+
const dir = dirname(dbPath);
|
|
3275
|
+
if (!existsSync$1(dir)) mkdirSync$1(dir, { recursive: true });
|
|
3276
|
+
db = openDatabase(dbPath, { allowExtension: true });
|
|
3277
|
+
} catch (err) {
|
|
3278
|
+
return unavailable(`Failed to open DB at ${dbPath}: ${err instanceof Error ? err.message : String(err)}`);
|
|
3279
|
+
}
|
|
3280
|
+
try {
|
|
3281
|
+
const { getLoadablePath } = _require("sqlite-vec");
|
|
3282
|
+
db.loadExtension(options.sqliteVecPath ?? getLoadablePath());
|
|
3283
|
+
} catch (err) {
|
|
3284
|
+
db.close();
|
|
3285
|
+
return unavailable(`sqlite-vec extension failed to load: ${err instanceof Error ? err.message : String(err)}`);
|
|
3286
|
+
}
|
|
3287
|
+
try {
|
|
3288
|
+
db.pragma("journal_mode = WAL");
|
|
3289
|
+
db.pragma("synchronous = NORMAL");
|
|
3290
|
+
db.pragma("foreign_keys = ON");
|
|
3291
|
+
const existingDims = getConfigValue(db, "dimensions");
|
|
3292
|
+
if (existingDims !== void 0 && parseInt(existingDims, 10) !== dimensions) {
|
|
3293
|
+
db.close();
|
|
3294
|
+
return unavailable(`Embedding dimension mismatch: DB was created with ${existingDims} dimensions but config requests ${dimensions}. Delete ${dbPath} to reindex.`);
|
|
3295
|
+
}
|
|
3296
|
+
initSchema(db, dimensions);
|
|
3297
|
+
} catch (err) {
|
|
3298
|
+
db.close();
|
|
3299
|
+
return unavailable(`Schema init failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
3300
|
+
}
|
|
3301
|
+
const stmts = prepareStmts(db);
|
|
3302
|
+
return {
|
|
3303
|
+
available: true,
|
|
3304
|
+
dimensions,
|
|
3305
|
+
upsertChunk(chunk) {
|
|
3306
|
+
return stmts.upsertChunk.get({
|
|
3307
|
+
...chunk,
|
|
3308
|
+
ts: chunk.ts ?? null
|
|
3309
|
+
}).rowid;
|
|
3310
|
+
},
|
|
3311
|
+
upsertEmbedding(rowid, embedding) {
|
|
3312
|
+
if (embedding.length !== dimensions) throw new Error(`Embedding dimension mismatch: expected ${dimensions}, received ${embedding.length}`);
|
|
3313
|
+
stmts.deleteEmbeddingByRowid.run(rowid);
|
|
3314
|
+
stmts.upsertEmbedding.run(rowid, Buffer.from(embedding.buffer, embedding.byteOffset, embedding.byteLength));
|
|
3315
|
+
},
|
|
3316
|
+
getCursor(filePath) {
|
|
3317
|
+
return stmts.getCursor.get(filePath)?.byte_offset ?? 0;
|
|
3318
|
+
},
|
|
3319
|
+
setCursor(filePath, byteOffset) {
|
|
3320
|
+
stmts.setCursor.run(filePath, byteOffset, (/* @__PURE__ */ new Date()).toISOString());
|
|
3321
|
+
},
|
|
3322
|
+
searchBm25(query, limit) {
|
|
3323
|
+
return db.prepare(`
|
|
3324
|
+
SELECT c.rowid, c.session_id, c.project_id, c.role, c.ts, c.byte_offset, c.char_length, c.text, c.token_count, c.indexed_at,
|
|
3325
|
+
bm25(chunks_fts) AS score
|
|
3326
|
+
FROM chunks_fts
|
|
3327
|
+
JOIN chunks c ON c.rowid = chunks_fts.rowid
|
|
3328
|
+
WHERE chunks_fts MATCH ?
|
|
3329
|
+
ORDER BY bm25(chunks_fts) ASC
|
|
3330
|
+
LIMIT ?
|
|
3331
|
+
`).all(query, limit).map(mapSearchRow);
|
|
3332
|
+
},
|
|
3333
|
+
searchVector(embedding, limit) {
|
|
3334
|
+
const vector = Buffer.from(embedding.buffer, embedding.byteOffset, embedding.byteLength);
|
|
3335
|
+
return db.prepare(`
|
|
3336
|
+
SELECT c.rowid, c.session_id, c.project_id, c.role, c.ts, c.byte_offset, c.char_length, c.text, c.token_count, c.indexed_at,
|
|
3337
|
+
v.distance AS score
|
|
3338
|
+
FROM chunks_vec v
|
|
3339
|
+
JOIN chunks c ON c.rowid = v.rowid
|
|
3340
|
+
WHERE v.embedding MATCH ? AND k = ?
|
|
3341
|
+
ORDER BY v.distance ASC
|
|
3342
|
+
`).all(vector, limit).map(mapSearchRow);
|
|
3343
|
+
},
|
|
3344
|
+
getStats() {
|
|
3345
|
+
const chunks = db.prepare(`SELECT count(*) AS chunkCount, max(indexed_at) AS lastIndexedAt FROM chunks`).get();
|
|
3346
|
+
const cursors = db.prepare(`SELECT count(*) AS indexedFileCount FROM file_cursors WHERE byte_offset > 0`).get();
|
|
3347
|
+
return {
|
|
3348
|
+
chunkCount: chunks.chunkCount,
|
|
3349
|
+
indexedFileCount: cursors.indexedFileCount,
|
|
3350
|
+
lastIndexedAt: chunks.lastIndexedAt
|
|
3351
|
+
};
|
|
3352
|
+
},
|
|
3353
|
+
deleteSession(sessionId) {
|
|
3354
|
+
stmts.deleteEmbeddingsBySession.run(sessionId);
|
|
3355
|
+
stmts.deleteChunksBySession.run(sessionId);
|
|
3356
|
+
},
|
|
3357
|
+
listFileCursors() {
|
|
3358
|
+
return stmts.listFileCursors.all().map((row) => row.file_path);
|
|
3359
|
+
},
|
|
3360
|
+
deleteCursor(filePath) {
|
|
3361
|
+
stmts.deleteCursor.run(filePath);
|
|
3362
|
+
},
|
|
3363
|
+
close() {
|
|
3364
|
+
db.close();
|
|
3365
|
+
}
|
|
3366
|
+
};
|
|
3367
|
+
}
|
|
3368
|
+
/** Returns the standard embedding dimension for a known model, or a safe default. */
|
|
3369
|
+
function dimensionsForModel(model) {
|
|
3370
|
+
if (model.includes("3-large")) return 3072;
|
|
3371
|
+
if (model.includes("3-small")) return 1536;
|
|
3372
|
+
return 1536;
|
|
3373
|
+
}
|
|
3374
|
+
//#endregion
|
|
3375
|
+
//#region ../../lib/overdeck/conversations-search.ts
|
|
3376
|
+
/** Canonical counters/availability read; dashboard callers execute this in a DB worker. */
|
|
3377
|
+
function getConversationSearchStats(input) {
|
|
3378
|
+
const db = openEmbeddingsDb(input.dbPath, dimensionsForModel(input.model));
|
|
3379
|
+
try {
|
|
3380
|
+
return {
|
|
3381
|
+
available: db.available,
|
|
3382
|
+
unavailableReason: db.unavailableReason,
|
|
3383
|
+
...db.getStats()
|
|
3384
|
+
};
|
|
3385
|
+
} finally {
|
|
3386
|
+
db.close();
|
|
3387
|
+
}
|
|
3388
|
+
}
|
|
3389
|
+
//#endregion
|
|
3390
|
+
export { getSessionsFeedFacets as a, enrichSessions as c, searchSessions as d, embed as f, scan as i, embedSessions as l, dimensionsForModel as n, listSessionsFeed as o, openEmbeddingsDb as r, CostThresholdError as s, getConversationSearchStats as t, parseRelativeTime as u };
|
|
3035
3391
|
|
|
3036
|
-
//# sourceMappingURL=
|
|
3392
|
+
//# sourceMappingURL=conversations-search-DnWUghbM.js.map
|