scip-query 0.19.6 → 0.19.10
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/CHANGELOG.md +116 -0
- package/README.md +156 -44
- package/dist/augment-vue-worker.js +1 -1
- package/dist/chunk-26QA6FAI.js +8 -0
- package/dist/{chunk-J7VT2CRB.js → chunk-2HPVVXM5.js} +2 -2
- package/dist/chunk-2KAZEZ6M.js +2 -0
- package/dist/chunk-32LVLCLN.js +40 -0
- package/dist/{chunk-2CVXCGL4.js → chunk-3CLX5EOX.js} +2 -2
- package/dist/{chunk-5OC3HWP5.js → chunk-3G66UZBH.js} +2 -2
- package/dist/{chunk-S2GP3CU3.js → chunk-3ORVDL3H.js} +2 -2
- package/dist/chunk-46XGSFNI.js +2 -0
- package/dist/chunk-4MAK2HOY.js +6 -0
- package/dist/chunk-4TURLRL5.js +16 -0
- package/dist/chunk-4UQVNCQE.js +2 -0
- package/dist/chunk-55Q3WLZX.js +2 -0
- package/dist/{chunk-OQ2A4G2G.js → chunk-5E4WNAVD.js} +2 -2
- package/dist/{chunk-YGQN3XGZ.js → chunk-5I5G2QOX.js} +2 -2
- package/dist/chunk-6LDJQXAH.js +2 -0
- package/dist/{chunk-WXAAURU7.js → chunk-6O5TICIZ.js} +2 -2
- package/dist/{chunk-OBKDTVZ3.js → chunk-6SHPK5ZE.js} +2 -2
- package/dist/chunk-7BAVHKMJ.js +49 -0
- package/dist/chunk-7O5IKBTZ.js +16 -0
- package/dist/chunk-7PIO7NKH.js +60 -0
- package/dist/chunk-7S5E7KWT.js +2 -0
- package/dist/{chunk-GK3GRUJX.js → chunk-7SQQWSY3.js} +2 -2
- package/dist/chunk-7WPLAODU.js +5 -0
- package/dist/chunk-A73XVBCR.js +20 -0
- package/dist/chunk-AFHORGLH.js +42 -0
- package/dist/chunk-AIE7TFJW.js +9 -0
- package/dist/chunk-AQOFWNQJ.js +1 -0
- package/dist/{chunk-MGBJHRFB.js → chunk-AZJQQKDD.js} +2 -2
- package/dist/{chunk-IYAOX36F.js → chunk-B2PX5I6M.js} +2 -2
- package/dist/{chunk-EVOC5I5I.js → chunk-B7PBSLZN.js} +2 -2
- package/dist/{chunk-ZLJLE6LK.js → chunk-BBW6JFHN.js} +2 -2
- package/dist/{chunk-NBRUH7OE.js → chunk-BDCC2NPY.js} +2 -2
- package/dist/{chunk-DD5BOU5I.js → chunk-BNXCIFVY.js} +2 -2
- package/dist/{chunk-FHCTEANE.js → chunk-BPAPWKP6.js} +2 -2
- package/dist/chunk-BS2NMXQZ.js +4 -0
- package/dist/chunk-C3KV2II6.js +2 -0
- package/dist/chunk-C43RDDP4.js +20 -0
- package/dist/{chunk-QBYYWGAT.js → chunk-CJST5ETY.js} +2 -2
- package/dist/chunk-DAFAHMNB.js +42 -0
- package/dist/chunk-DHEQMPLW.js +2 -0
- package/dist/{chunk-336DC5NJ.js → chunk-DQGFVPUV.js} +2 -2
- package/dist/chunk-DQLPXMH6.js +8 -0
- package/dist/chunk-EKZTZXHZ.js +117 -0
- package/dist/{chunk-KLVJABXA.js → chunk-EN3O7VJA.js} +2 -2
- package/dist/{chunk-U5CNPPTZ.js → chunk-EW2NTSFA.js} +2 -2
- package/dist/chunk-F3Z4OUDS.js +8 -0
- package/dist/chunk-FJH2NW7J.js +66 -0
- package/dist/{chunk-3OIKRYU5.js → chunk-FKSELJQF.js} +2 -2
- package/dist/chunk-FTFP6O3L.js +11 -0
- package/dist/chunk-FYLK2DEJ.js +2 -0
- package/dist/chunk-GH74ASD6.js +11 -0
- package/dist/{chunk-NQLSSVOB.js → chunk-GMXWZP2B.js} +2 -2
- package/dist/chunk-GOUBFH5O.js +3 -0
- package/dist/{chunk-RJHCPSZ7.js → chunk-HLF2TX6R.js} +2 -2
- package/dist/{chunk-PC44K7RF.js → chunk-HX4GQPZP.js} +2 -2
- package/dist/chunk-HX7M4BDI.js +30 -0
- package/dist/chunk-HZ72SESS.js +128 -0
- package/dist/{chunk-YTUD45PU.js → chunk-IB2N4FIY.js} +2 -2
- package/dist/chunk-ILMHV3KM.js +2 -0
- package/dist/chunk-IZYYAFN5.js +2 -0
- package/dist/{chunk-A43URCQ3.js → chunk-JAYYFEQY.js} +2 -2
- package/dist/{chunk-RWRLUZ6U.js → chunk-JDOEX4E6.js} +2 -2
- package/dist/chunk-JFGGXWQF.js +947 -0
- package/dist/chunk-JN4NMBEX.js +8 -0
- package/dist/{chunk-JELJLXEE.js → chunk-JVYA47YU.js} +2 -2
- package/dist/{chunk-F42A3AKG.js → chunk-JW56N3KI.js} +2 -2
- package/dist/{chunk-FQTPPXNA.js → chunk-JZ2OXNWB.js} +2 -2
- package/dist/chunk-KFZNKUNT.js +2 -0
- package/dist/chunk-KMKTIO2G.js +8 -0
- package/dist/chunk-L5GJNV2T.js +8 -0
- package/dist/{chunk-RBFFD4V2.js → chunk-L7AW2QB5.js} +2 -2
- package/dist/chunk-L7JDSCDF.js +4 -0
- package/dist/chunk-LU47HG23.js +14 -0
- package/dist/chunk-LVY7NPF7.js +2 -0
- package/dist/chunk-LY4WC4AD.js +74 -0
- package/dist/{chunk-MLGTCX56.js → chunk-MKCDWWGV.js} +2 -2
- package/dist/chunk-MNE7YG56.js +2 -0
- package/dist/{chunk-YWB2EBNB.js → chunk-MRXBEXSY.js} +2 -2
- package/dist/chunk-MV7OWDUX.js +2 -0
- package/dist/{chunk-2GSQR6YA.js → chunk-N5W4YZMK.js} +2 -2
- package/dist/chunk-NGEXCJJW.js +11 -0
- package/dist/{chunk-CYJM7CYF.js → chunk-NIW6JDC5.js} +2 -2
- package/dist/{chunk-YHXBD52M.js → chunk-O64IZ6UX.js} +2 -2
- package/dist/chunk-PBUQFCNB.js +16 -0
- package/dist/{chunk-UQK5CRUK.js → chunk-POAVPHH7.js} +2 -2
- package/dist/{chunk-TYQ76QHQ.js → chunk-PQCI4SQX.js} +2 -2
- package/dist/chunk-PXY7F6Y4.js +5 -0
- package/dist/chunk-RDO52JGY.js +2 -0
- package/dist/chunk-RJT3TUUZ.js +2 -0
- package/dist/{chunk-OHWZKLVA.js → chunk-RUJURYSV.js} +2 -2
- package/dist/{chunk-CSTYYXKC.js → chunk-RVLDN63O.js} +2 -2
- package/dist/chunk-RXOXSKY3.js +2 -0
- package/dist/chunk-S7OYBOCK.js +2 -0
- package/dist/chunk-SMNXQT5Z.js +3 -0
- package/dist/{chunk-QQWOFXNW.js → chunk-SRAFT254.js} +2 -2
- package/dist/{chunk-6XHTISLI.js → chunk-SXP2MBJH.js} +2 -2
- package/dist/chunk-T7YQSHPQ.js +3 -0
- package/dist/{chunk-2EZSOTSY.js → chunk-TFRAYKN6.js} +2 -2
- package/dist/{chunk-XVJ3V7LM.js → chunk-UJCOIXDY.js} +2 -2
- package/dist/{chunk-7LABSJSR.js → chunk-UJPRPGCO.js} +5 -5
- package/dist/chunk-W4ETQAXM.js +2 -0
- package/dist/chunk-WCCFZ7V7.js +113 -0
- package/dist/chunk-WUPW3UN3.js +3 -0
- package/dist/{chunk-VP542C25.js → chunk-WXZLAAWK.js} +2 -2
- package/dist/{chunk-LMFVTUW2.js → chunk-X54AGLVX.js} +2 -2
- package/dist/chunk-XKWKXZKW.js +20 -0
- package/dist/{chunk-OP3MTFJR.js → chunk-XSRF6Q77.js} +2 -2
- package/dist/chunk-Y2MVPNKY.js +5 -0
- package/dist/{chunk-6XFC7PQ5.js → chunk-YKUU5AIC.js} +2 -2
- package/dist/chunk-YLCJLTPL.js +2 -0
- package/dist/{chunk-47X75ZKH.js → chunk-YTQVETEO.js} +2 -2
- package/dist/chunk-Z4N3MZYA.js +38 -0
- package/dist/chunk-ZHXX42OH.js +18 -0
- package/dist/chunk-ZJOOT3BG.js +2 -0
- package/dist/chunk-ZK26BAQL.js +2 -0
- package/dist/{chunk-UUJBLG6J.js → chunk-ZTETIQ35.js} +2 -2
- package/dist/cli.js +3 -3
- package/dist/command-descriptors-4A4HWV4F.js +642 -0
- package/dist/{config-types-BWQ5xPGI.d.ts → config-types-jVM3D7MA.d.ts} +72 -2
- package/dist/{db-B0r1o7Vt.d.ts → db-B5PM5yNk.d.ts} +20 -2
- package/dist/{diff-gate-types-C9BoYwYD.d.ts → diff-gate-types-B0QYpDv1.d.ts} +2 -1
- package/dist/direct-navigation-6YHV6IB5.js +3 -0
- package/dist/{health-CFnlCiTz.d.ts → health-Do5TKSJI.d.ts} +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/postinstall.js +1 -1
- package/dist/queries/affected.d.ts +2 -2
- package/dist/queries/affected.js +1 -1
- package/dist/queries/architecture.d.ts +2 -2
- package/dist/queries/architecture.js +1 -1
- package/dist/queries/bottlenecks.d.ts +2 -2
- package/dist/queries/bottlenecks.js +1 -1
- package/dist/queries/by-kind.d.ts +2 -2
- package/dist/queries/by-kind.js +1 -1
- package/dist/queries/call-graph.d.ts +2 -2
- package/dist/queries/call-graph.js +1 -1
- package/dist/queries/change-surface.d.ts +22 -3
- package/dist/queries/change-surface.js +1 -1
- package/dist/queries/cleanup-plan.d.ts +2 -2
- package/dist/queries/cleanup-plan.js +1 -1
- package/dist/queries/co-change.d.ts +2 -2
- package/dist/queries/co-change.js +1 -1
- package/dist/queries/code.d.ts +2 -2
- package/dist/queries/code.js +1 -1
- package/dist/queries/complexity-hotspots.d.ts +3 -3
- package/dist/queries/complexity-hotspots.js +1 -1
- package/dist/queries/complexity.d.ts +3 -3
- package/dist/queries/complexity.js +1 -1
- package/dist/queries/convergence.d.ts +2 -2
- package/dist/queries/convergence.js +1 -1
- package/dist/queries/coupling.d.ts +2 -2
- package/dist/queries/coupling.js +1 -1
- package/dist/queries/cycles.d.ts +2 -2
- package/dist/queries/cycles.js +1 -1
- package/dist/queries/dataflow.d.ts +2 -2
- package/dist/queries/dataflow.js +1 -1
- package/dist/queries/dead.d.ts +2 -2
- package/dist/queries/dead.js +1 -1
- package/dist/queries/decorative-checkers.d.ts +2 -2
- package/dist/queries/decorative-checkers.js +1 -1
- package/dist/queries/deep-chains.d.ts +2 -2
- package/dist/queries/deep-chains.js +1 -1
- package/dist/queries/deps.d.ts +2 -2
- package/dist/queries/deps.js +1 -1
- package/dist/queries/diff-gate.d.ts +40 -7
- package/dist/queries/diff-gate.js +1 -1
- package/dist/queries/diff-impact.d.ts +84 -6
- package/dist/queries/diff-impact.js +1 -1
- package/dist/queries/doc-drift.d.ts +3 -3
- package/dist/queries/doc-drift.js +1 -1
- package/dist/queries/drift.d.ts +2 -2
- package/dist/queries/drift.js +1 -1
- package/dist/queries/duplicate-bodies.d.ts +3 -3
- package/dist/queries/duplicate-bodies.js +1 -1
- package/dist/queries/extract-candidates.d.ts +2 -2
- package/dist/queries/extract-candidates.js +1 -1
- package/dist/queries/fan.d.ts +2 -2
- package/dist/queries/fan.js +1 -1
- package/dist/queries/files.d.ts +12 -3
- package/dist/queries/files.js +1 -1
- package/dist/queries/health.d.ts +3 -3
- package/dist/queries/health.js +1 -1
- package/dist/queries/hierarchy.d.ts +2 -2
- package/dist/queries/hierarchy.js +1 -1
- package/dist/queries/hotspots.d.ts +2 -2
- package/dist/queries/hotspots.js +1 -1
- package/dist/queries/imports.d.ts +2 -2
- package/dist/queries/imports.js +1 -1
- package/dist/queries/incomplete-migration.d.ts +8 -6
- package/dist/queries/incomplete-migration.js +1 -1
- package/dist/queries/index.d.ts +141 -10
- package/dist/queries/index.js +1 -1
- package/dist/queries/isolated.d.ts +2 -2
- package/dist/queries/isolated.js +1 -1
- package/dist/queries/locality-candidates.d.ts +2 -2
- package/dist/queries/locality-candidates.js +1 -1
- package/dist/queries/members.d.ts +2 -2
- package/dist/queries/members.js +1 -1
- package/dist/queries/methods.d.ts +34 -3
- package/dist/queries/methods.js +1 -1
- package/dist/queries/not-implemented.d.ts +2 -2
- package/dist/queries/not-implemented.js +1 -1
- package/dist/queries/outline.d.ts +2 -2
- package/dist/queries/outline.js +1 -1
- package/dist/queries/passthrough-candidates.d.ts +3 -3
- package/dist/queries/passthrough-candidates.js +1 -1
- package/dist/queries/plan-context.d.ts +3 -3
- package/dist/queries/plan-context.js +1 -1
- package/dist/queries/react-component-duplicates.d.ts +2 -2
- package/dist/queries/react-component-duplicates.js +1 -1
- package/dist/queries/react-hook-candidates.d.ts +2 -2
- package/dist/queries/react-hook-candidates.js +1 -1
- package/dist/queries/react-large-component-pressure.d.ts +2 -2
- package/dist/queries/react-large-component-pressure.js +1 -1
- package/dist/queries/recent-duplicates.d.ts +2 -2
- package/dist/queries/recent-duplicates.js +1 -1
- package/dist/queries/redundant-reexports.d.ts +2 -2
- package/dist/queries/redundant-reexports.js +1 -1
- package/dist/queries/refs.d.ts +2 -2
- package/dist/queries/refs.js +1 -1
- package/dist/queries/self-audit.d.ts +2 -2
- package/dist/queries/self-audit.js +1 -1
- package/dist/queries/similar-chains.d.ts +2 -2
- package/dist/queries/similar-chains.js +1 -1
- package/dist/queries/similar-files.d.ts +2 -2
- package/dist/queries/similar-files.js +1 -1
- package/dist/queries/similar-signatures.d.ts +2 -2
- package/dist/queries/similar-signatures.js +1 -1
- package/dist/queries/similar.d.ts +2 -2
- package/dist/queries/similar.js +1 -1
- package/dist/queries/slice.d.ts +2 -2
- package/dist/queries/slice.js +1 -1
- package/dist/queries/stale-abstractions.d.ts +2 -2
- package/dist/queries/stale-abstractions.js +1 -1
- package/dist/queries/stats.d.ts +2 -2
- package/dist/queries/surface.d.ts +2 -2
- package/dist/queries/surface.js +1 -1
- package/dist/queries/symbols.d.ts +2 -2
- package/dist/queries/symbols.js +1 -1
- package/dist/queries/system.d.ts +2 -2
- package/dist/queries/system.js +1 -1
- package/dist/queries/test-quality.d.ts +2 -2
- package/dist/queries/test-quality.js +1 -1
- package/dist/queries/trace.d.ts +2 -2
- package/dist/queries/trace.js +1 -1
- package/dist/queries/twin-ab.d.ts +14 -3
- package/dist/queries/twin-ab.js +1 -1
- package/dist/queries/twin-drift.d.ts +2 -2
- package/dist/queries/twin-drift.js +1 -1
- package/dist/queries/unused-imports.d.ts +2 -2
- package/dist/queries/unused-imports.js +1 -1
- package/dist/queries/unused-params.d.ts +2 -2
- package/dist/queries/unused-params.js +1 -1
- package/dist/queries/vue-component-duplicates.d.ts +2 -2
- package/dist/queries/vue-component-duplicates.js +1 -1
- package/dist/queries/vue-composable-candidates.d.ts +2 -2
- package/dist/queries/vue-composable-candidates.js +1 -1
- package/dist/queries/vue-large-view-pressure.d.ts +2 -2
- package/dist/queries/vue-large-view-pressure.js +1 -1
- package/dist/queries/wrapper-candidates.d.ts +2 -2
- package/dist/queries/wrapper-candidates.js +1 -1
- package/dist/reindex-worker.js +26 -25
- package/dist/reindex.d.ts +7 -3
- package/dist/reindex.js +34 -33
- package/dist/runtime.d.ts +5 -10
- package/dist/runtime.js +3 -3
- package/dist/rust-semantic-session-server.js +1 -1
- package/dist/rust-semantic-session-worker.js +1 -1
- package/dist/rust-semantic-worker.js +1 -1
- package/dist/{scip-cli-DCvnlZCu.d.ts → scip-cli-BnEwZRLJ.d.ts} +2 -2
- package/dist/{symbol-types-BgWU6lhL.d.ts → symbol-types-BIQwfoAx.d.ts} +7 -1
- package/dist/typescript-mailbox-worker.js +2 -0
- package/dist/watch-server.js +2 -42
- package/docs/AGENT_GUIDE.md +28 -5
- package/docs/CLI_JSON_OUTPUT.md +176 -3
- package/docs/COMMAND_REFERENCE.md +89 -87
- package/docs/COMMITTED_RECORD_COMPATIBILITY.md +55 -18
- package/docs/DURABILITY.md +88 -38
- package/docs/INDEX_GENERATIONS.md +65 -19
- package/docs/MAILBOX_LIFECYCLE.md +28 -1
- package/docs/REINDEX_METADATA_COMPATIBILITY.md +18 -8
- package/docs/SECURITY_MODEL.md +146 -0
- package/docs/TELEMETRY_RETENTION.md +16 -4
- package/docs/WATCH_REFRESH_REQUESTS.md +34 -21
- package/docs/WINDOWS_SIDECAR_RELEASE.md +9 -4
- package/docs/analyzer-inventory.md +31 -22
- package/docs/analyzer-validation-ledger.md +8 -0
- package/docs/schemas/cli-output-page.schema.json +104 -0
- package/docs/schemas/outcome-event-record.schema.json +57 -1
- package/docs/schemas/project-config.schema.json +82 -1
- package/docs/schemas/suppression-record.schema.json +84 -3
- package/package.json +9 -8
- package/skills/_shared/SKILL.md +5 -3
- package/skills/_shared/references/agent-contract-catalog.md +1 -1
- package/skills/_shared/references/detector-precision-and-diffgate.md +1 -1
- package/skills/scip-audit/SKILL.md +9 -8
- package/skills/scip-audit/references/claims.md +1 -1
- package/skills/scip-audit/references/cleanup.md +19 -20
- package/skills/scip-audit/references/directory.md +4 -4
- package/skills/scip-audit/references/frontend.md +10 -10
- package/skills/scip-audit/references/twin-drift.md +2 -2
- package/skills/scip-diagnose/references/debug.md +8 -8
- package/skills/scip-diagnose/references/root-cause.md +3 -3
- package/skills/scip-diagnose/references/triage.md +10 -10
- package/skills/scip-explore/SKILL.md +4 -4
- package/skills/scip-improve/SKILL.md +10 -10
- package/skills/scip-improve/references/cleanup-batches.md +3 -3
- package/skills/scip-improve/references/directory-moves.md +3 -3
- package/skills/scip-improve/references/doc-reconcile.md +1 -1
- package/skills/scip-improve/references/frontend-extraction.md +2 -2
- package/skills/scip-improve/references/twin-drift.md +3 -3
- package/skills/scip-plan/SKILL.md +3 -3
- package/skills/scip-plan/references/api-impact.md +5 -5
- package/skills/scip-plan/references/conductor.md +2 -2
- package/skills/scip-plan/references/hyper-optimization.md +1 -1
- package/skills/scip-query/SKILL.md +15 -5
- package/skills/scip-setup/references/bootstrap-workflow.md +7 -8
- package/skills/scip-setup/references/language-verification.md +2 -2
- package/skills/scip-setup/references/per-repo-triage.md +1 -1
- package/skills/scip-verify/SKILL.md +16 -11
- package/skills/scip-verify/references/calibrate-detectors.md +7 -7
- package/dist/chunk-24QNP7MN.js +0 -2
- package/dist/chunk-26X7KCJR.js +0 -5
- package/dist/chunk-273W2U4Y.js +0 -40
- package/dist/chunk-2OXVAGGT.js +0 -3
- package/dist/chunk-2ZOCHAL2.js +0 -8
- package/dist/chunk-35SQLYCQ.js +0 -2
- package/dist/chunk-4CGVLUDP.js +0 -18
- package/dist/chunk-4RI4BJGT.js +0 -8
- package/dist/chunk-52HQTTPB.js +0 -2
- package/dist/chunk-64MNV6AB.js +0 -8
- package/dist/chunk-7E3TH5ZN.js +0 -33
- package/dist/chunk-7Q6VYYCH.js +0 -2
- package/dist/chunk-A63U2W3P.js +0 -3
- package/dist/chunk-ADFSIJP2.js +0 -16
- package/dist/chunk-AOLE4DYM.js +0 -6
- package/dist/chunk-APMMR5Y2.js +0 -2
- package/dist/chunk-B5MHCHP3.js +0 -107
- package/dist/chunk-DGAGY7RJ.js +0 -60
- package/dist/chunk-DGMCFMPG.js +0 -11
- package/dist/chunk-E2ZXPB7J.js +0 -38
- package/dist/chunk-FKGN4A4E.js +0 -61
- package/dist/chunk-G4UQL4CP.js +0 -2
- package/dist/chunk-GA64UPMI.js +0 -6
- package/dist/chunk-HEBAY673.js +0 -2
- package/dist/chunk-HELS7KFF.js +0 -2
- package/dist/chunk-IPDCSB6N.js +0 -6
- package/dist/chunk-JERWGHQT.js +0 -16
- package/dist/chunk-JJJCO4QC.js +0 -945
- package/dist/chunk-JZNLMHWY.js +0 -56
- package/dist/chunk-K42M2KWT.js +0 -2
- package/dist/chunk-KP4KBDVF.js +0 -3
- package/dist/chunk-LRTP3DKL.js +0 -3
- package/dist/chunk-N3SE646F.js +0 -2
- package/dist/chunk-NN4ZIRPK.js +0 -8
- package/dist/chunk-P6HBYNBE.js +0 -5
- package/dist/chunk-QHKUY4FW.js +0 -2
- package/dist/chunk-QHRL4LKM.js +0 -2
- package/dist/chunk-SHKZ7OVJ.js +0 -35
- package/dist/chunk-TFUU5MQQ.js +0 -2
- package/dist/chunk-UXP636P5.js +0 -144
- package/dist/chunk-VEVBIAOJ.js +0 -16
- package/dist/chunk-VKRQDBW5.js +0 -9
- package/dist/chunk-VOQFGC2W.js +0 -67
- package/dist/chunk-WMXRRBII.js +0 -8
- package/dist/chunk-X3NLZHPA.js +0 -20
- package/dist/chunk-XF3KLXN3.js +0 -11
- package/dist/chunk-YCPASUCX.js +0 -2
- package/dist/chunk-YLVE3SXZ.js +0 -20
- package/dist/chunk-Z2LHPIOM.js +0 -2
- package/dist/chunk-Z5QQPJ3U.js +0 -30
- package/dist/chunk-ZTTISZ7J.js +0 -112
- package/dist/command-descriptors-SJDZ7QGR.js +0 -617
- package/dist/direct-navigation-HTKOZEOM.js +0 -3
package/dist/chunk-VKRQDBW5.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import{a as T}from"./chunk-APMMR5Y2.js";import{execFileSync as he}from"child_process";import{readFileSync as Pe}from"fs";import{platform as Le}from"os";var Fe=new Set(["aix","android","darwin","freebsd","haiku","linux","openbsd","sunos","win32","cygwin","netbsd"]);function h(t){if(!t||typeof t!="object"||Array.isArray(t))return null;let e=t;return e.version!==1||typeof e.pid!="number"||!Number.isSafeInteger(e.pid)||e.pid<=0||typeof e.platform!="string"||!Fe.has(e.platform)||typeof e.startToken!="string"||e.startToken.trim()===""?null:{version:1,pid:e.pid,platform:e.platform,startToken:e.startToken}}function g(t,e){return t.version===e.version&&t.pid===e.pid&&t.platform===e.platform&&t.startToken===e.startToken}var Ae=1e3,Re=16*1024;function ne(t,e=ve){if(!Number.isSafeInteger(t)||t<=0)return null;try{let n=Se(t,e);return n?{version:1,pid:t,platform:e.platform,startToken:n}:null}catch{return null}}function Se(t,e){if(e.platform==="linux"||e.platform==="android")return Ee(e.readFile(`/proc/${t}/stat`));if(e.platform==="win32"){let n=`([DateTimeOffset](Get-Process -Id ${t} -ErrorAction Stop).StartTime).ToUnixTimeMilliseconds()`;return te(e.run("powershell.exe",["-NoProfile","-NonInteractive","-Command",n]))}return e.platform==="darwin"||e.platform==="freebsd"||e.platform==="openbsd"||e.platform==="netbsd"?te(e.run("ps",["-p",String(t),"-o","lstart="])):null}function Ee(t){let e=t.lastIndexOf(")");if(e<0)return null;let r=t.slice(e+1).trim().split(/\s+/)[19];return r&&/^\d+$/.test(r)?r:null}function te(t){let e=t.trim();return e===""?null:e}var ve={platform:Le(),readFile(t){return Pe(t,"utf8")},run(t,e){return he(t,[...e],{encoding:"utf8",timeout:Ae,maxBuffer:Re,env:{...process.env,LC_ALL:"C",LANG:"C"},stdio:["ignore","pipe","ignore"]})}};function re(t){try{return process.kill(t,0),!0}catch(e){return typeof e=="object"&&e!==null&&"code"in e&&e.code==="EPERM"}}import{randomUUID as Be}from"crypto";import{closeSync as De,fsyncSync as Oe,linkSync as Ne,mkdirSync as Te,openSync as Ce,readFileSync as _e,statSync as $e,unlinkSync as qe,writeSync as Je}from"fs";import{dirname as J}from"path";function P(t,e,n,r){let i=0;for(;i<e.length;){let o=n.writeFile(t,e,i,e.length-i);if(!Number.isSafeInteger(o)||o<=0||o>e.length-i)throw new Error(`${r} write did not make valid forward progress`);i+=o}}function w(t,e){if(e!=="win32")return!1;let n=t.code;return n==="EACCES"||n==="EBADF"||n==="EINVAL"||n==="EISDIR"||n==="EPERM"}var _="scip-query-process-lock",$=1;var v=Object.freeze({wallNow:()=>Date.now(),isProcessAlive:re,readProcessIdentity:ne,randomToken:()=>Be(),makeDirectory:t=>Te(t,{recursive:!0}),openFile:(t,e,n)=>Ce(t,e,n),writeFile:(t,e,n,r)=>Je(t,e,n,r),syncFile:t=>Oe(t),closeFile:t=>De(t),linkFile:(t,e)=>Ne(t,e),readFile:t=>_e(t,"utf8"),statFile:t=>{let e=$e(t);return{dev:e.dev,ino:e.ino,size:e.size,mtimeMs:e.mtimeMs}},removeFile:t=>qe(t)});function vt(t,e){let n=e.runtime??v;n.makeDirectory(J(t));let r;for(let i=0;i<2;i+=1)try{return{kind:"acquired",lock:oe(t,e,n),...r?{reclaimed:r}:{}}}catch(o){if(o.code!=="EEXIST")throw o;let s=M(t,{parseLegacy:e.parseLegacy,runtime:n});if(i===0&&Ke(t,s,{creationGraceMs:e.creationGraceMs,parseLegacy:e.parseLegacy,runtime:n})){r=s;continue}return{kind:"contended",observation:s}}return{kind:"contended",observation:M(t,{parseLegacy:e.parseLegacy,runtime:n})}}function M(t,e={}){let n=e.runtime??v,r,i;try{r=n.statFile(t),i=n.readFile(t)}catch(c){return c.code==="ENOENT"?{state:"missing"}:{state:"malformed"}}let o;try{o=JSON.parse(i)}catch{return{state:"malformed",raw:i,identity:r}}let s=je(o);if(s)return{state:"valid",raw:i,identity:r,record:s,owner:ze(s),parsed:o};let d=e.parseLegacy?.(o)??null;return d?{state:"legacy",raw:i,identity:r,owner:d,parsed:o}:{state:"malformed",raw:i,identity:r,parsed:o}}function je(t){if(!t||typeof t!="object"||Array.isArray(t))return null;let e=t;if(e.protocol!==_||e.version!==$||typeof e.kind!="string"||e.kind.trim()===""||typeof e.pid!="number"||!Number.isSafeInteger(e.pid)||e.pid<=0||typeof e.token!="string"||e.token.trim()===""||typeof e.startedAt!="string"||!Number.isFinite(Date.parse(e.startedAt))||e.detail!==void 0&&(typeof e.detail!="object"||e.detail===null||Array.isArray(e.detail)))return null;let n=e.processIdentity===void 0?null:h(e.processIdentity);return e.processIdentity!==void 0&&(!n||n.pid!==e.pid)?null:{protocol:_,version:$,kind:e.kind,pid:e.pid,token:e.token,...n?{processIdentity:n}:{},startedAt:e.startedAt,...e.detail?{detail:e.detail}:{}}}function Ke(t,e,n={}){let r=n.runtime??v;if(!q(e,r))return!1;let i=Ue(`${t}.reclaim`,r);if(!i)return!1;try{let o=M(t,{parseLegacy:n.parseLegacy,runtime:r});return!se(e,o)||!q(o,r)?!1:j(t,r)}finally{i.release()}}function oe(t,e,n){let r=e.pid??process.pid,i=n.randomToken(),o=e.processIdentity===void 0?n.readProcessIdentity(r):e.processIdentity,s={protocol:_,version:$,kind:e.kind,pid:r,token:i,...o?{processIdentity:o}:{},startedAt:new Date(n.wallNow()).toISOString(),...e.detail?{detail:e.detail}:{}},d=`${t}.${i}.candidate`,c=n.openFile(d,"wx",384),a;try{P(c,Buffer.from(`${JSON.stringify(s)}
|
|
2
|
-
`),n,"process lock"),n.syncFile(c)}catch(m){a=m}try{n.closeFile(c)}catch(m){a??=m}if(a!==void 0)throw C(d,n),a;try{n.linkFile(d,t)}catch(m){throw C(d,n),m}C(d,n);try{ae(J(t),n)}catch(m){throw ie(t,s,n),m}let l=!1;return{path:t,record:s,release:()=>l?!1:(l=!0,ie(t,s,n))}}function ie(t,e,n=v){let r=M(t,{runtime:n});return r.state!=="valid"||!r.record||r.record.pid!==e.pid||r.record.token!==e.token||e.processIdentity&&(!r.record.processIdentity||!g(e.processIdentity,r.record.processIdentity))?!1:j(t,n)}function Ue(t,e){for(let n=0;n<2;n+=1)try{return oe(t,{kind:"reclaim-guard",runtime:e},e)}catch(r){if(r.code!=="EEXIST")return null;let i=M(t,{runtime:e});if(n>0||!q(i,e))return null;let o=M(t,{runtime:e});if(!se(i,o)||!j(t,e))return null}return null}function q(t,e){if(t.state==="missing")return!1;if(t.owner){if(!e.isProcessAlive(t.owner.pid))return!0;if(!t.owner.processIdentity)return!1;let n=e.readProcessIdentity(t.owner.pid);return n!==null&&!g(t.owner.processIdentity,n)}return!1}function se(t,e){return t.state===e.state&&t.raw===e.raw&&t.identity!==void 0&&e.identity!==void 0&&t.identity.dev===e.identity.dev&&t.identity.ino===e.identity.ino&&t.identity.size===e.identity.size&&t.identity.mtimeMs===e.identity.mtimeMs}function ze(t){return{pid:t.pid,...t.processIdentity?{processIdentity:t.processIdentity}:{}}}function ae(t,e){let n;try{n=e.openFile(t,"r")}catch(r){if(w(r,process.platform))return;throw r}try{e.syncFile(n)}catch(r){if(!w(r,process.platform))throw r}finally{e.closeFile(n)}}function j(t,e){try{return e.removeFile(t),ae(J(t),e),!0}catch{return!1}}function C(t,e){try{e.removeFile(t)}catch{}}import{randomUUID as We}from"crypto";import{closeSync as Xe,fsyncSync as Ve,linkSync as Ge,mkdirSync as He,openSync as Ye,renameSync as Qe,unlinkSync as Ze,writeSync as et}from"fs";import{dirname as ce}from"path";var K=Object.freeze({platform:process.platform,randomToken:()=>We(),makeDirectory:t=>He(t,{recursive:!0}),openFile:(t,e,n)=>Ye(t,e,n),writeFile:(t,e,n,r)=>et(t,e,n,r),syncFile:t=>Ve(t),closeFile:t=>Xe(t),renameFile:(t,e)=>Qe(t,e),linkFile:(t,e)=>Ge(t,e),removeFile:t=>Ze(t)});function U(t,e,n={}){let r=n.durability??"visibility",i=n.runtime??K,o=ce(t);i.makeDirectory(o);let s=`${t}.tmp-${i.randomToken()}`,d=typeof e=="string"?Buffer.from(e):e,c,a=!1;try{return c=i.openFile(s,"wx",n.mode??384),a=!0,P(c,d,i,"atomic file"),r==="durable"&&i.syncFile(c),i.closeFile(c),c=void 0,i.renameFile(s,t),a=!1,{durability:r,directorySync:r==="durable"?f(o,i):"not-requested"}}finally{if(c!==void 0)try{i.closeFile(c)}catch{}if(a)try{i.removeFile(s)}catch{}}}function B(t,e,n={}){let r=n.durability??"visibility",i=n.runtime??K;if(!i.linkFile)throw new Error("Exclusive atomic file publication requires hard-link support.");let o=ce(t);i.makeDirectory(o);let s=`${t}.tmp-${i.randomToken()}`,d=typeof e=="string"?Buffer.from(e):e,c,a=!1;try{return c=i.openFile(s,"wx",n.mode??384),a=!0,P(c,d,i,"exclusive atomic file"),r==="durable"&&i.syncFile(c),i.closeFile(c),c=void 0,i.linkFile(s,t),i.removeFile(s),a=!1,{durability:r,directorySync:r==="durable"?f(o,i):"not-requested"}}finally{if(c!==void 0)try{i.closeFile(c)}catch{}if(a)try{i.removeFile(s)}catch{}}}function f(t,e=K){let n;try{n=e.openFile(t,"r")}catch(r){if(w(r,e.platform))return"unsupported";throw r}try{return e.syncFile(n),"synced"}catch(r){if(w(r,e.platform))return"unsupported";throw r}finally{e.closeFile(n)}}function $t(t,e,n={}){U(t,de(e,n),{durability:"visibility",runtime:n.runtime})}function z(t,e,n={}){return U(t,de(e,n),{durability:"durable",runtime:n.runtime})}function de(t,e){let n=JSON.stringify(t,null,e.spacing);return e.trailingNewline?`${n}
|
|
3
|
-
`:n}import{createHash as W,randomUUID as ye}from"crypto";import{existsSync as b,lstatSync as F,mkdirSync as be,readFileSync as I,readdirSync as k,renameSync as X,rmSync as p}from"fs";import{basename as L,dirname as V,join as u}from"path";function D(t){return Array.isArray(t)?`[${t.map(D).join(",")}]`:t&&typeof t=="object"?`{${Object.entries(t).sort(([e],[n])=>e.localeCompare(n)).map(([e,n])=>`${JSON.stringify(e)}:${D(n)}`).join(",")}}`:JSON.stringify(t)}var G=1,tt=Object.freeze({maxItems:1024,maxBytes:512*1024*1024,maxItemBytes:64*1024*1024,maxBatch:16,claimLeaseMs:5*6e4,responseRetentionMs:10*6e4,deadLetterRetentionMs:1440*6e4,temporaryRetentionMs:6e4,cleanupBatch:64}),y=class extends Error{constructor(n,r,i,o){let s=n==="item-too-large"?`request is ${o} bytes; per-item limit is ${i.maxItemBytes}`:n==="item-capacity"?`mailbox has ${r.totalItems} retained items; limit is ${i.maxItems}`:n==="byte-capacity"?`mailbox retains ${r.totalBytes} bytes and the request adds ${o}; limit is ${i.maxBytes}`:"another writer held the admission coordinator through the bounded wait";super(`Mailbox backpressure: ${s}. Retry after the service drains or expires retained work.`);this.code=n;this.status=r;this.limits=i;this.attemptedBytes=o;this.name="MailboxBackpressureError"}code;status;limits;attemptedBytes},ge=".owner.json",xe={isProcessAlive:()=>!0,readProcessIdentity:()=>null};function Ht(t){return{rootDir:t,pendingDir:u(t,"pending"),inflightDir:u(t,"inflight"),responseDir:u(t,"responses"),deadLetterDir:u(t,"dead-letter"),legacyRequestDir:u(t,"requests")}}function A(t={}){let e={...tt,...t};for(let[n,r]of Object.entries(e))if(!Number.isFinite(r)||r<=0||!Number.isInteger(r))throw new Error(`Mailbox limit ${n} must be a positive integer.`);return e}function H(t){for(let e of[t.pendingDir,t.inflightDir,t.responseDir,t.deadLetterDir,t.legacyRequestDir])be(e,{recursive:!0})}function Yt(t,e){return W("sha256").update(D({namespace:t,payload:e})).digest("hex")}function nt(t){if(!/^[a-f0-9]{64}$/.test(t))throw new Error("Mailbox operation keys must be lowercase SHA-256 identities.");return`op-${t}`}function Qt(t,e,n={}){let r=A(n.limits),i=n.nowMs??Date.now();return H(t),ut(e),Me(t,r,n.admissionLockTimeoutMs??2e3,n.monotonicNow??T,()=>{we(t,i,r);let o=u(t.pendingDir,`${e.id}.json`),s=u(t.responseDir,`${e.id}.json`),d=le(t,e.id);if(d){let m=ue(d,e.operationKey,e.id);return{disposition:"duplicate",requestId:e.id,responsePath:s,authoritativeDeadlineAtMs:m.deadlineAtMs??e.deadlineAtMs}}let c=`${JSON.stringify(e)}
|
|
4
|
-
`,a=Buffer.byteLength(c),l=N(t);if(a>r.maxItemBytes)throw new y("item-too-large",l,r,a);if(l.totalItems+1>r.maxItems)throw new y("item-capacity",l,r,a);if(l.totalBytes+a>r.maxBytes)throw new y("byte-capacity",l,r,a);n.onBeforePublish?.();try{return B(o,c,{durability:"durable"}),{disposition:"accepted",requestId:e.id,responsePath:s,authoritativeDeadlineAtMs:e.deadlineAtMs}}catch(m){if(m.code!=="EEXIST")throw m;let S=le(t,e.id);if(!S)throw m;let E=ue(S,e.operationKey,e.id);return{disposition:"duplicate",requestId:e.id,responsePath:s,authoritativeDeadlineAtMs:E.deadlineAtMs??e.deadlineAtMs}}})}function Zt(t,e){if(!e.ownerId.trim())throw new Error("Mailbox claim owner identity is required.");if(e.owner&&(!Number.isSafeInteger(e.owner.pid)||e.owner.pid<=0||e.owner.processIdentity!==void 0&&e.owner.processIdentity.pid!==e.owner.pid))throw new Error("Mailbox claim process identity is invalid.");let n=e.nowMs??Date.now(),r=A(e.limits);H(t);try{return Me(t,r,2e3,e.monotonicNow??T,()=>rt(t,e.ownerId,n,r,e.liveness??xe,e.owner??{pid:process.pid}))}catch(i){if(i instanceof y&&i.code==="admission-busy")return[];throw i}}function rt(t,e,n,r,i,o){we(t,n,r,i);let s=u(t.inflightDir,O(e)),d=[...me(t.pendingDir,!1),...me(t.legacyRequestDir,!0)].sort((a,l)=>a.orderAtMs-l.orderAtMs||a.header.id.localeCompare(l.header.id)||a.path.localeCompare(l.path));d.length>0&&(be(s,{recursive:!0}),dt(s,e,o));let c=[];for(let a of d){if(c.length>=r.maxBatch)break;let l=u(t.responseDir,`${a.header.id}.json`);if(b(l)){p(a.path,{force:!0});continue}let m=Math.max(n+r.claimLeaseMs,(a.header.deadlineAtMs??n)+5e3),S=`${O(a.originalFile)}.${m}.claim`,E=u(s,S);try{X(a.path,E)}catch(Z){let ee=Z.code;if(ee==="ENOENT"||ee==="EEXIST")continue;throw Z}f(V(a.path)),f(s),c.push({requestId:a.header.id,ownerId:e,path:E,originalFile:a.originalFile,claimedAtMs:n,claimExpiresAtMs:m,byteLength:a.byteLength,...a.header.operationKey?{operationKey:a.header.operationKey}:{},...a.header.clientId?{clientId:a.header.clientId}:{},...a.header.enqueuedAtMs===void 0?{}:{enqueuedAtMs:a.header.enqueuedAtMs},...a.header.deadlineAtMs===void 0?{}:{deadlineAtMs:a.header.deadlineAtMs},legacy:a.legacy})}return c}function en(t,e={}){let n=A(e);if(t.byteLength>n.maxItemBytes)throw new y("item-too-large",{pending:0,inflight:1,responses:0,deadLetters:0,invalid:0,totalItems:1,totalBytes:t.byteLength},n,t.byteLength);return I(t.path,"utf8")}function it(t,e,n,r={}){let i=r.nowMs??Date.now(),o=A(r.limits),s={...n,mailboxVersion:G,operationKey:e.operationKey??`legacy-${e.requestId}`,clientId:e.clientId??"legacy",...e.deadlineAtMs===void 0?{}:{deadlineAtMs:e.deadlineAtMs},completedAtMs:i,expiresAtMs:i+o.responseRetentionMs},d=Buffer.byteLength(`${JSON.stringify(s)}
|
|
5
|
-
`),c=N(t);if(d>o.maxItemBytes)throw new y("item-too-large",c,o,d);let a=Math.max(0,c.totalBytes-e.byteLength)+d;if(a>o.maxBytes&&a>c.totalBytes)throw new y("byte-capacity",c,o,d);ot(t,e,s),r.onAfterResponsePublished?.(),p(e.path,{force:!0});let l=V(e.path);f(b(l)?l:t.inflightDir)}function tn(t,e,n,r,i={}){let o=i.nowMs??Date.now(),s=A(i.limits);if(it(t,e,n,{...i,nowMs:o,limits:s}),!b(e.path)){let d=u(t.deadLetterDir,`${yt(e.requestId)}.${o}.${W("sha256").update(r).digest("hex").slice(0,12)}.json`),c={mailboxVersion:G,requestId:e.requestId,ownerId:e.ownerId,rejectedAtMs:o,reason:r,originalFile:e.originalFile},a=Buffer.byteLength(`${JSON.stringify(c,null,2)}
|
|
6
|
-
`),l=N(t);l.totalItems<s.maxItems&&l.totalBytes+a<=s.maxBytes&&z(d,c,{spacing:2,trailingNewline:!0})}}function we(t,e,n,r=xe){let i={reclaimed:0,completedClaimsRemoved:0,responsesRemoved:0,deadLettersRemoved:0,temporaryFilesRemoved:0},o=n.cleanupBatch;for(let s of Q(t.inflightDir)){if(o<=0)break;let d=u(t.responseDir,`${s.requestId}.json`);if(b(d)){p(s.path,{force:!0}),i.completedClaimsRemoved++,o--;continue}if(s.claimExpiresAtMs>e||lt(t,s.ownerId,r)!=="dead")continue;let c=u(t.pendingDir,s.originalFile);try{X(s.path,c),i.reclaimed++}catch(a){if(a.code!=="EEXIST")throw a;p(s.path,{force:!0})}f(V(s.path)),f(t.pendingDir),o--}o=fe(t.responseDir,o,(s,d)=>mt(s)??d+n.responseRetentionMs,e,()=>{i.responsesRemoved++}),o=fe(t.deadLetterDir,o,(s,d)=>d+n.deadLetterRetentionMs,e,()=>{i.deadLettersRemoved++});for(let s of[t.pendingDir,t.inflightDir,t.responseDir,t.deadLetterDir,t.legacyRequestDir]){if(o<=0)break;for(let d of ke(s)){if(o<=0)break;L(d).includes(".tmp-")&&(F(d).mtimeMs+n.temporaryRetentionMs>e||(p(d,{force:!0}),i.temporaryFilesRemoved++,o--))}}return ft(t.inflightDir),i}function N(t){H(t);let e=[...x(t.pendingDir).map(c=>({path:c,pending:!0})),...x(t.legacyRequestDir).map(c=>({path:c,pending:!0}))],n=Q(t.inflightDir).map(c=>({path:c.path,pending:!1})),r=x(t.responseDir).map(c=>({path:c,pending:!1})),i=x(t.deadLetterDir).map(c=>({path:c,pending:!1})),o=[...e,...n,...r,...i],s=0,d;for(let c of e){let a=R(c.path);if(!a){s++;continue}let l=a.enqueuedAtMs??F(c.path).mtimeMs;d=d===void 0?l:Math.min(d,l)}return{pending:e.length,inflight:n.length,responses:r.length,deadLetters:i.length,invalid:s,totalItems:o.length,totalBytes:o.reduce((c,a)=>c+pt(a.path),0),...d===void 0?{}:{oldestPendingAt:new Date(d).toISOString()}}}function ot(t,e,n){let r=u(t.responseDir,`${e.requestId}.json`),i=`${JSON.stringify(n)}
|
|
7
|
-
`;try{B(r,i,{durability:"durable"})}catch(o){if(o.code!=="EEXIST")throw o;let s=R(r),d=e.operationKey??`legacy-${e.requestId}`;if(s?.operationKey!==d)throw new Error(`Mailbox completion ${e.requestId} conflicts with an existing operation.`,{cause:o})}}function Me(t,e,n,r,i){let o=u(t.rootDir,".admission.lock"),s=`${process.pid}-${ye()}`,d=r()+Math.max(0,n);for(;!st(t.rootDir,o,s);){if(at(o),r()>=d)throw new y("admission-busy",N(t),e,0);Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,5)}try{return i()}finally{try{Y(o).ownerToken===s&&(p(o,{recursive:!0,force:!0}),f(t.rootDir))}catch{}}}function st(t,e,n){let r=`${JSON.stringify({ownerToken:n,pid:process.pid,acquiredAtMs:Date.now()})}
|
|
8
|
-
`;try{return B(e,r,{durability:"durable"}),!0}catch(i){if(i.code==="EEXIST")return!1;try{Y(e).ownerToken===n&&(p(e,{force:!0}),f(t))}catch{}throw i}}function at(t){let e=null;try{let r=Y(t);typeof r.ownerToken=="string"&&Number.isSafeInteger(r.pid)&&Number(r.pid)>0&&(e=Number(r.pid))}catch{}if(e===null||ct(e))return;let n=`${t}.stale-${ye()}`;try{X(t,n)}catch(r){let i=r.code;if(i==="ENOENT"||i==="EEXIST")return;throw r}p(n,{recursive:!0,force:!0})}function Y(t){try{return JSON.parse(I(t,"utf8"))}catch(e){if(e.code!=="EISDIR")throw e;return JSON.parse(I(u(t,"owner.json"),"utf8"))}}function ct(t){try{return process.kill(t,0),!0}catch(e){let n=e.code;return n==="EPERM"||n!=="ESRCH"}}function dt(t,e,n){let r=u(t,ge),i=n.processIdentity,o=Ie(r);if(!(o&&o.ownerId===e&&o.pid===n.pid&&(!o.processIdentity&&!i||o.processIdentity&&i&&g(o.processIdentity,i)))){if(x(t).some(s=>s.endsWith(".claim")))throw new Error(`Mailbox owner identity ${e} collides with retained work from another process instance.`);z(r,{version:1,ownerId:e,pid:n.pid,...i?{processIdentity:i}:{}})}}function lt(t,e,n){let r=Ie(u(t.inflightDir,O(e),ge));if(!r)return"unknown";if(!n.isProcessAlive(r.pid))return"dead";if(!r.processIdentity)return"live";let i=n.readProcessIdentity(r.pid);return i?g(r.processIdentity,i)?"live":"dead":"unknown"}function Ie(t){try{let e=JSON.parse(I(t,"utf8"));if(e.version!==1||typeof e.ownerId!="string"||!e.ownerId||typeof e.pid!="number"||!Number.isSafeInteger(e.pid)||e.pid<=0)return null;let n=e.processIdentity===void 0?null:h(e.processIdentity);return e.processIdentity!==void 0&&(!n||n.pid!==e.pid)?null:{version:1,ownerId:e.ownerId,pid:e.pid,...n?{processIdentity:n}:{}}}catch{return null}}function le(t,e){for(let n of[u(t.pendingDir,`${e}.json`),u(t.legacyRequestDir,`${e}.json`),u(t.responseDir,`${e}.json`)])if(b(n))return n;for(let n of Q(t.inflightDir))if(n.requestId===e)return n.path;return null}function ue(t,e,n){let r=R(t);if(!r||r.operationKey!==e)throw new Error(`Mailbox operation ${n} conflicts with an existing retained record.`);return r}function ut(t){if(t.mailboxVersion!==G||t.id!==nt(t.operationKey)||!t.clientId.trim()||!Number.isFinite(t.enqueuedAtMs)||!Number.isFinite(t.deadlineAtMs)||t.deadlineAtMs<t.enqueuedAtMs)throw new Error("Mailbox request has an invalid lifecycle identity.")}function me(t,e){return x(t).filter(n=>n.endsWith(".json")).map(n=>{let r=F(n),i=L(n,".json"),o=R(n)??{id:i};return{path:n,originalFile:L(n),header:o,byteLength:r.size,orderAtMs:o.enqueuedAtMs??r.mtimeMs,legacy:e}})}function Q(t){if(!b(t))return[];let e=[];for(let n of k(t,{withFileTypes:!0})){if(!n.isDirectory())continue;let r=pe(n.name);if(r===null)continue;let i=u(t,n.name);for(let o of k(i,{withFileTypes:!0})){if(!o.isFile()||!o.name.endsWith(".claim"))continue;let s=/^(.*)\.(\d+)\.claim$/.exec(o.name);if(!s)continue;let d=pe(s[1]),c=Number(s[2]);if(d===null||L(d)!==d||!d.endsWith(".json")||!Number.isSafeInteger(c))continue;let a=u(i,o.name),l=R(a)??{id:L(d,".json")},m=F(a);e.push({requestId:l.id,ownerId:r,path:a,originalFile:d,claimedAtMs:m.mtimeMs,claimExpiresAtMs:c,byteLength:m.size,...l.operationKey?{operationKey:l.operationKey}:{},...l.clientId?{clientId:l.clientId}:{},...l.enqueuedAtMs===void 0?{}:{enqueuedAtMs:l.enqueuedAtMs},...l.deadlineAtMs===void 0?{}:{deadlineAtMs:l.deadlineAtMs},legacy:l.operationKey===void 0})}}return e.sort((n,r)=>n.claimedAtMs-r.claimedAtMs||n.path.localeCompare(r.path))}function R(t){try{let e=JSON.parse(I(t,"utf8"));return typeof e.id!="string"||!e.id?null:{id:e.id,...typeof e.operationKey=="string"?{operationKey:e.operationKey}:{},...typeof e.clientId=="string"?{clientId:e.clientId}:{},...typeof e.enqueuedAtMs=="number"?{enqueuedAtMs:e.enqueuedAtMs}:{},...typeof e.deadlineAtMs=="number"?{deadlineAtMs:e.deadlineAtMs}:{}}}catch{return null}}function mt(t){try{let e=JSON.parse(I(t,"utf8"));return typeof e.expiresAtMs=="number"&&Number.isFinite(e.expiresAtMs)?e.expiresAtMs:null}catch{return null}}function fe(t,e,n,r,i){for(let o of x(t)){if(e<=0)break;let s=F(o);n(o,s.mtimeMs)>r||(p(o,{force:!0}),i(),e--)}return e}function x(t){return b(t)?k(t,{withFileTypes:!0}).filter(e=>e.isFile()).map(e=>u(t,e.name)).sort():[]}function ke(t){if(!b(t))return[];let e=[];for(let n of k(t,{withFileTypes:!0})){let r=u(t,n.name);n.isFile()?e.push(r):n.isDirectory()&&e.push(...ke(r))}return e.sort()}function ft(t){if(b(t))for(let e of k(t,{withFileTypes:!0})){if(!e.isDirectory())continue;let n=u(t,e.name);k(n).some(r=>r.endsWith(".claim"))||p(n,{recursive:!0,force:!0})}}function pt(t){try{return F(t).size}catch{return 0}}function O(t){return Buffer.from(t,"utf8").toString("base64url")}function pe(t){try{let e=Buffer.from(t,"base64url").toString("utf8");return O(e)===t?e:null}catch{return null}}function yt(t){return/^[a-z0-9][a-z0-9-]{0,127}$/i.test(t)?t:`invalid-${W("sha256").update(t).digest("hex")}`}function bt(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function rn(t){return typeof t=="string"&&Number.isFinite(Date.parse(t))}function on(t){return bt(t)&&Object.values(t).every(e=>typeof e=="string"||e===null)}function sn(t){return typeof t=="number"&&Number.isSafeInteger(t)&&t>=0}function an(t){return typeof t=="number"&&Number.isSafeInteger(t)&&t>0}function cn(t){return typeof t=="number"&&Number.isFinite(t)&&t>=0}export{bt as a,rn as b,on as c,sn as d,an as e,cn as f,h as g,g as h,ne as i,re as j,v as k,vt as l,M as m,Ke as n,f as o,$t as p,z as q,D as r,G as s,Ht as t,H as u,Yt as v,nt as w,Qt as x,Zt as y,en as z,it as A,tn as B,N as C};
|
|
9
|
-
//# sourceMappingURL=chunk-VKRQDBW5.js.map
|
package/dist/chunk-VOQFGC2W.js
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
function V(e,t){let n=e.split("/").at(-1)??e;if(P.has(n)||n===".scipquery.json"||/^tsconfig(?:\..+)?\.json$/.test(n))return"config";if(/\.d\.(?:ts|mts|cts)$/.test(e.toLowerCase()))return"ambient";let o=e.includes(".")?`.${e.split(".").at(-1).toLowerCase()}`:"";return t.some(i=>(S[i]??[]).includes(o))?"source":"other"}function j(e,t,n){let o=e.split("/").at(-1)??e;if(n?.includes(e)||n?.includes(o)||P.has(o))return!0;let i=e.includes(".")?`.${e.split(".").at(-1).toLowerCase()}`:"";return(S[t]??[]).includes(i)}function ce(e){if(typeof e!="object"||e===null)return null;let t=e;return typeof t.version!="number"||!y(t.languages)||typeof t.pnpmWorkspaces!="boolean"||typeof t.typescriptProjectMode!="string"||!y(t.typescriptProjects)||t.clojureConfigPath!==void 0&&typeof t.clojureConfigPath!="string"||!Array.isArray(t.files)||!t.files.every(M)?null:t}function le(e,t){let n=new Map((e?.files??[]).map(a=>[a.path,a])),o=new Map(t.files.map(a=>[a.path,a])),i=new Set([...n.keys(),...o.keys()]),r=[];for(let a of[...i].sort()){let c=n.get(a),l=o.get(a),p=V(a,t.languages);!c&&l?r.push({kind:"added",path:a,inputKind:p,after:l}):c&&!l?r.push({kind:"deleted",path:a,inputKind:p,before:c}):c&&l&&(c.hash!==l.hash||c.size!==l.size)&&r.push({kind:"modified",path:a,inputKind:p,before:c,after:l})}let s=new Set;return e||s.add("prior-snapshot-unavailable"),e&&e.version!==t.version&&s.add("snapshot-version-changed"),(b(e?.files??[])||b(t.files))&&s.add("duplicate-input-path"),[...e?.files??[],...t.files].some(A)&&s.add("unreadable-input"),{version:1,changes:r,projectIdentityChanged:e?!L(e,t):!0,uncertainty:[...s].sort()}}function y(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function b(e){return new Set(e.map(t=>t.path)).size!==e.length}function M(e){if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.path=="string"&&typeof t.size=="number"&&Number.isFinite(t.size)&&typeof t.hash=="string"}function A(e){return e.hash==="unreadable"||e.size<0}function L(e,t){return m(e.languages,t.languages)&&e.pnpmWorkspaces===t.pnpmWorkspaces&&e.typescriptProjectMode===t.typescriptProjectMode&&m(e.typescriptProjects,t.typescriptProjects)&&e.clojureConfigPath===t.clojureConfigPath}function m(e,t){if(e.length!==t.length)return!1;let n=[...e].sort(),o=[...t].sort();return n.every((i,r)=>i===o[r])}var P=new Set(["package.json","package-lock.json","pnpm-lock.yaml","yarn.lock","bun.lockb","tsconfig.json","tsconfig.base.json","pyproject.toml","setup.py","setup.cfg","Cargo.toml","Cargo.lock","go.mod","go.sum","pom.xml","build.gradle","build.gradle.kts","build.sbt","compile_commands.json","CMakeLists.txt","Makefile","Gemfile","Gemfile.lock","composer.json","composer.lock","pubspec.yaml","pubspec.lock","deps.edn","project.clj","bb.edn","shadow-cljs.edn"]),S={typescript:[".ts",".tsx",".mts",".cts"],javascript:[".js",".jsx",".mjs",".cjs"],java:[".java"],scala:[".scala"],kotlin:[".kt",".kts"],rust:[".rs"],python:[".py",".pyi"],ruby:[".rb"],go:[".go"],cpp:[".cc",".cpp",".cxx",".hpp",".hh",".hxx"],c:[".c",".h"],csharp:[".cs"],vb:[".vb"],dart:[".dart"],php:[".php"],clojure:[".clj",".cljs",".cljc"]};import{execFileSync as _}from"child_process";import{createHash as C}from"crypto";import{lstatSync as W,readdirSync as G,readFileSync as O,readlinkSync as E,realpathSync as F}from"fs";import{isAbsolute as K,join as x,relative as $,sep as T}from"path";function z(e){return[...new Set((e??[]).map(t=>t.trim()).filter(Boolean))].sort((t,n)=>t.localeCompare(n))}function R(e){return(U(e)??q(e)).filter(t=>t&&!k(t)).sort()}function N(e,t={}){let n=R(e).filter(i=>!t.language||j(i,t.language,t.markerFiles)).filter(i=>!t.includePath||t.includePath(i)),o=F(e);return n.map(i=>{let r=x(e,i);try{if(W(r).isSymbolicLink()){let a=F(r),c=$(o,a);if(c===".."||c.startsWith(`..${T}`)||K(c))throw new Error("external symlink");let l=E(r);return{path:i,size:Buffer.byteLength(l),hash:C("sha256").update("symlink\0").update(l).digest("hex")}}let s=O(r);return{path:i,size:s.byteLength,hash:C("sha256").update(s).digest("hex")}}catch{return{path:i,size:-1,hash:"unreadable"}}})}function ye(e,t,n){return{version:2,languages:[...t].sort(),pnpmWorkspaces:n.typescriptProjectMode!=="workspace"&&n.pnpmWorkspaces===!0,typescriptProjectMode:n.typescriptProjectMode??"single",typescriptProjects:z(n.typescriptProjects),clojureConfigPath:B(n.clojureConfigPath),files:N(e)}}function B(e){return e?.trim()||void 0}function U(e){try{return _("git",["-C",e,"ls-files","-co","--exclude-standard","--","."],{encoding:"utf-8",maxBuffer:50*1024*1024,stdio:["ignore","pipe","ignore"],timeout:3e4,killSignal:"SIGKILL"}).split(`
|
|
2
|
-
`).filter(Boolean)}catch{return null}}function q(e){let t=[],n=[""];for(;n.length>0;){let o=n.pop(),i=o?x(e,o):e,r;try{r=G(i,{withFileTypes:!0})}catch{continue}for(let s of r){let a=o?`${o}/${s.name}`:s.name;if(s.isDirectory()){k(a)||n.push(a);continue}t.push(a)}}return t}function k(e){let t=e.split("/");return e==="meta.json"||t.some(n=>H.has(n))||e.endsWith(".db")||e.endsWith(".db-wal")||e.endsWith(".db-shm")||e.endsWith(".scip")}var H=new Set([".git","node_modules",".scipquery-cache",".scipquery-generations",".stryker-tmp","dist","build","coverage",".next",".nuxt","target"]);import J from"ignore";import{readFileSync as X,existsSync as v,readdirSync as Y}from"fs";import{dirname as g,isAbsolute as D,join as u,relative as Q,resolve as Z}from"path";function Se(e){let t=J();return ee(e,t)||t.add(re),{isIgnored:o=>f(t,e,o),filter:o=>o.filter(i=>!f(t,e,i))}}function ee(e,t){let n=new Set,o=(s,a)=>{if(!(n.has(s)||!v(s)))try{let c=X(s,"utf-8");t.add(a?te(c,a):c),n.add(s)}catch{}},i=g(e),r=0;for(;i!==g(i)&&r<5&&(o(u(i,".gitignore"),""),!v(u(i,".git")));)i=g(i),r++;return I(e,"",t,o),n.size>0}function I(e,t,n,o){let i=t?u(e,t):e;o(u(i,".gitignore"),t);let r;try{r=Y(i,{withFileTypes:!0})}catch{return}for(let s of r){if(!s.isDirectory()||s.name===".git")continue;let a=t?`${t}/${s.name}`:s.name;f(n,e,`${a}/`)||I(e,a,n,o)}}function te(e,t){let n=t.replaceAll("\\","/").replace(/\/+$/,"");return e.split(/\r?\n/).map(o=>ne(o,n)).join(`
|
|
3
|
-
`)}function ne(e,t){let n=e.trimStart();if(!n||n.startsWith("#"))return e;let o=e.slice(0,e.length-n.length),i=n.startsWith("!"),r=i?n.slice(1):n;if(!r||r.startsWith("#"))return e;let s=r.startsWith("/"),a=s?r.slice(1):r,p=(a.endsWith("/")?a.slice(0,-1):a).includes("/")||s?`${t}/${a}`:`${t}/**/${a}`;return`${o}${i?"!":""}${p}`}var re=`
|
|
4
|
-
# Dependencies
|
|
5
|
-
node_modules/
|
|
6
|
-
vendor/
|
|
7
|
-
.bundle/
|
|
8
|
-
|
|
9
|
-
# Build output
|
|
10
|
-
dist/
|
|
11
|
-
build/
|
|
12
|
-
out/
|
|
13
|
-
target/
|
|
14
|
-
bin/
|
|
15
|
-
obj/
|
|
16
|
-
|
|
17
|
-
# Python
|
|
18
|
-
__pycache__/
|
|
19
|
-
*.pyc
|
|
20
|
-
*.pyo
|
|
21
|
-
.venv/
|
|
22
|
-
venv/
|
|
23
|
-
.env/
|
|
24
|
-
env/
|
|
25
|
-
*.egg-info/
|
|
26
|
-
|
|
27
|
-
# Rust
|
|
28
|
-
target/
|
|
29
|
-
|
|
30
|
-
# Java / Kotlin / Scala
|
|
31
|
-
*.class
|
|
32
|
-
.gradle/
|
|
33
|
-
.mvn/
|
|
34
|
-
|
|
35
|
-
# C# / .NET
|
|
36
|
-
bin/
|
|
37
|
-
obj/
|
|
38
|
-
packages/
|
|
39
|
-
|
|
40
|
-
# Go
|
|
41
|
-
vendor/
|
|
42
|
-
|
|
43
|
-
# Dart
|
|
44
|
-
.dart_tool/
|
|
45
|
-
build/
|
|
46
|
-
|
|
47
|
-
# PHP
|
|
48
|
-
vendor/
|
|
49
|
-
|
|
50
|
-
# IDE / OS
|
|
51
|
-
.idea/
|
|
52
|
-
.vscode/
|
|
53
|
-
*.swp
|
|
54
|
-
*.swo
|
|
55
|
-
.DS_Store
|
|
56
|
-
Thumbs.db
|
|
57
|
-
|
|
58
|
-
# Type definitions (often noise in queries)
|
|
59
|
-
*.d.ts
|
|
60
|
-
`;function f(e,t,n){let o=ie(t,n);if(!o)return!1;try{return e.ignores(o)}catch{return!1}}function ie(e,t){if(!t||t===".")return null;if(!D(t)&&!t.startsWith(".."))return t.replaceAll("\\","/");let n=D(t)?t:Z(e,t),o=Q(e,n).replaceAll("\\","/");return!o||o==="."||o.startsWith("..")?null:o}var oe=[];function d(e){e.groups.length>0&&oe.push(e)}function w(){let e=new WeakMap;return{cache:e,ensure(t){let n=e.get(t);return n||(n=new Map,e.set(t,n)),n}}}function ke(e,t){let{cache:n,ensure:o}=w(),i={get(r,s,a){let c=o(r);if(c.has(s))return c.get(s);let l=a();return c.set(s,l),l},invalidate(r,s){n.get(r)?.delete(s)},invalidateAll(r){n.delete(r)},size(r){return n.get(r)?.size??0}};return d({name:e,groups:t.clearGroups,clearAll:r=>i.invalidateAll(r),clearFile:(r,s)=>i.invalidate(r,s)}),i}function ve(e,t){let n=new WeakMap,o={get(i,r){let s=n.get(i);if(s)return s.value;let a=r();return n.set(i,{value:a}),a},invalidate(i){n.delete(i)},has(i){return n.has(i)}};return d({name:e,groups:t.clearGroups,clearAll:i=>o.invalidate(i)}),o}var se={clearGroups:["whole-project","source-file"]};function De(e){return ae(e,se)}function ae(e,t){let{cache:n,ensure:o}=w(),i={get(r,s,a,c){let l=o(r),p=l.get(s);if(p&&p.source===a)return p.value;let h=c();return l.set(s,{source:a,value:h}),h},invalidate(r,s){n.get(r)?.delete(s)},invalidateAll(r){n.delete(r)}};return d({name:e,groups:t.clearGroups,clearAll:r=>i.invalidateAll(r),clearFile:(r,s)=>i.invalidate(r,s)}),i}function we(e,t={}){let n=t.scope?"AND relative_path LIKE ?":"",o=t.like?"AND relative_path LIKE ?":"",i=[...t.scope?[`%${t.scope}%`]:[],...t.like?[t.like]:[]],r=e.all(`SELECT relative_path
|
|
61
|
-
FROM documents
|
|
62
|
-
WHERE 1 = 1
|
|
63
|
-
${e.pathExclusionsFor("documents")}
|
|
64
|
-
${n}
|
|
65
|
-
${o}
|
|
66
|
-
ORDER BY relative_path`,...i).map(a=>a.relative_path),s=t.extensions?r.filter(a=>t.extensions.some(c=>a.toLowerCase().endsWith(c.toLowerCase()))):r;return t.includeIgnored===!1?s.filter(a=>!e.isIgnored(a)):s}export{V as a,ce as b,le as c,M as d,z as e,N as f,ye as g,d as h,ke as i,ve as j,De as k,ae as l,we as m,Se as n};
|
|
67
|
-
//# sourceMappingURL=chunk-VOQFGC2W.js.map
|
package/dist/chunk-WMXRRBII.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import{a as k}from"./chunk-YLVE3SXZ.js";import{a as T,e as x,s as R}from"./chunk-ZTTISZ7J.js";import{o as w}from"./chunk-7LABSJSR.js";import{b as l}from"./chunk-DGMCFMPG.js";import{I as _,m as g}from"./chunk-B5MHCHP3.js";import{a as S}from"./chunk-64MNV6AB.js";import{existsSync as d,readFileSync as B,readdirSync as $}from"fs";import{join as p}from"path";var H={files:new Set,pathPrefixes:[]},y=/^(?:dist|build|lib|out|output|esm|cjs|umd)\//,K=/\.(?:d\.ts|d\.mts|d\.cts|ts|tsx|mts|cts|js|jsx|mjs|cjs)$/,A=[".ts",".tsx",".mts",".cts",".js",".jsx",".mjs",".cjs"],Y=new Set([".git",".next",".turbo","build","coverage","dist","node_modules","out"]),q=4,J=g("package-surface",{clearGroups:["whole-project"]});function Q(t){return J.get(t,()=>Z(t.config.projectRoot))}function E(t,e){let r=Q(t);return r.files.has(e)?!0:r.pathPrefixes.some(s=>e.startsWith(s))}function Z(t){let e=new Set,r=[];for(let{manifest:s,packageRoot:i}of z(t))for(let n of tt(s))et(t,i,n,e,r);return e.size===0&&r.length===0?H:{files:e,pathPrefixes:r}}function z(t){let e=[],r=O(t,"");return r&&e.push({manifest:r,packageRoot:""}),D(t,"",e,0),e}function D(t,e,r,s){if(s>=q)return;let i=p(t,e);if(d(i))for(let n of $(i,{withFileTypes:!0})){if(!n.isDirectory()||Y.has(n.name))continue;let a=e?`${e}/${n.name}`:n.name,o=O(t,a);o&&r.push({manifest:o,packageRoot:a}),D(t,a,r,s+1)}}function O(t,e){try{let r=B(p(t,e,"package.json"),"utf-8"),s=JSON.parse(r);return s&&typeof s=="object"?s:null}catch{return null}}function tt(t){let e=[];for(let s of["main","module","types","browser"])typeof t[s]=="string"&&e.push(t[s]);let r=t.bin;if(typeof r=="string")e.push(r);else if(r&&typeof r=="object")for(let s of Object.values(r))typeof s=="string"&&e.push(s);return F(t.exports,e),e}function F(t,e){if(typeof t=="string"){e.push(t);return}if(!(!t||typeof t!="object"))for(let r of Object.values(t))F(r,e)}function et(t,e,r,s,i){let n=r.replace(/\\/g,"/").replace(/^\.\//,"");if(n===""||n.startsWith(".."))return;let a=n.indexOf("*");if(a>=0){let c=n.slice(0,a);for(let u of j(c))u!==""&&i.push(f(e,u));return}let o=n.replace(K,"");for(let c of j(o)){c===o&&c===n&&s.add(f(e,n));for(let u of A)rt(t,s,e,c+u)}s.add(f(e,n))}function j(t){let e=[t];return y.test(t)&&(e.push(t.replace(y,"src/")),e.push(t.replace(y,""))),e}function rt(t,e,r,s){let i=f(r,s);if(e.add(i),!s.startsWith("src/")||d(p(t,i)))return;let n=A.find(P=>s.endsWith(P));if(!n)return;let a=s.slice(0,-n.length);st(t,e,r,a,n);let o=a.lastIndexOf("/");if(o<=4)return;let c=a.slice(0,o),u=a.slice(o+1);for(let P of N(t,r,c,`${u}${n}`))e.add(P)}function st(t,e,r,s,i){let n=f(r,`${s}/index${i}`);d(p(t,n))&&e.add(n)}function N(t,e,r,s){let i=p(t,e,r);if(!d(i))return[];let n=[];for(let a of $(i,{withFileTypes:!0})){let o=`${r}/${a.name}`;a.isDirectory()?n.push(...N(t,e,o,s)):a.isFile()&&a.name===s&&n.push(f(e,o))}return n}function f(t,e){return t?`${t}/${e}`:e}import{existsSync as h,readFileSync as nt,readdirSync as it}from"fs";import{dirname as at,join as b}from"path";var ot={rootFiles:new Set,sourcePrefixes:[]},ct=new Set([".git",".scipquery","node_modules","target"]),ut=6,ft=g("rust-library-surface",{clearGroups:["whole-project"]});function L(t,e,r){if(!r.endsWith(".rs")||!pt(lt(t),r))return!1;let s=R(t,r).find(i=>i.symbol===e);return s?St(_(t,r)[s.startLine]??""):!1}function lt(t){return ft.get(t,()=>gt(t.config.projectRoot))}function gt(t){let e=new Set,r=new Set;for(let s of dt(t)){let i=b(t,s,"Cargo.toml"),n=nt(i,"utf8"),a=ht(n),o=f(s,"src/lib.rs"),c=a?f(s,a):!bt(n)&&h(b(t,o))?o:null;if(!c)continue;e.add(c);let u=at(c).replaceAll("\\","/");r.add(u==="."?"":`${u}/`)}return e.size===0?ot:{rootFiles:e,sourcePrefixes:[...r].sort()}}function pt(t,e){return e.endsWith(".rs")?t.rootFiles.has(e)?!0:mt(e)?!1:t.sourcePrefixes.some(r=>e.startsWith(r)):!1}function St(t){return/^\s*pub\s+(?!\()/.test(t)}function dt(t){if(!h(t))return[];let e=[];return C(t,"",e,0),e}function C(t,e,r,s){let i=b(t,e);if(h(i)&&(h(b(i,"Cargo.toml"))&&r.push(e),!(s>=ut)))for(let n of it(i,{withFileTypes:!0})){if(!n.isDirectory()||ct.has(n.name))continue;let a=e?`${e}/${n.name}`:n.name;C(t,a,r,s+1)}}function ht(t){let e=!1;for(let r of t.split(`
|
|
2
|
-
`)){let s=r.replace(/\s+#.*$/,"").trim(),i=/^\[([^\]]+)\]$/.exec(s);if(i){e=i[1]==="lib";continue}if(!e)continue;let n=/^path\s*=\s*["']([^"']+)["']/.exec(s)?.[1];if(n)return n.replaceAll("\\","/").replace(/^\.\//,"")}return null}function bt(t){let e=!1;for(let r of t.split(`
|
|
3
|
-
`)){let s=r.replace(/\s+#.*$/,"").trim(),i=/^\[([^\]]+)\]$/.exec(s);if(i){e=i[1]==="package";continue}if(e&&/^autolib\s*=\s*false\b/.test(s))return!0}return!1}function mt(t){return/(?:^|\/)src\/main\.rs$/.test(t)||/(?:^|\/)src\/bin\//.test(t)||/(?:^|\/)(?:examples|tests|benches)\//.test(t)}function m(t){let e=l(t);return Mt(e)?"test":It(e)?"worker":vt(e)?"entry":Vt(e)?"barrel":"source"}function Pt(t){return m(t)==="barrel"}function I(t){return xt.get(t,()=>{let r=S(t,{includeIgnored:!1}).filter(a=>{let o=m(a);return o==="entry"||o==="worker"});if(r.length===0)return new Set;let s=k(t),i=new Set,n=new Set;for(;r.length>0;){let a=r.shift();if(!i.has(a)){i.add(a),m(a)==="barrel"&&n.add(a);for(let o of s.get(a)??[])i.has(o)||r.push(o)}}return n})}var xt=g("live-barrels",{clearGroups:["whole-project"]});function yt(t,e){return I(t).has(l(e))}function ce(t){let e=I(t);return S(t,{includeIgnored:!1}).filter(r=>Pt(r)&&!e.has(r)&&!Et(t,r))}function Et(t,e){let r=l(e),s=T(t).forFile(r,{facts:!0}).facts?.callables;return s&&s.length>0?!0:(t.get(`SELECT COUNT(*) AS n
|
|
4
|
-
FROM defn_enclosing_ranges der
|
|
5
|
-
JOIN documents d ON d.id = der.document_id
|
|
6
|
-
WHERE d.relative_path = ?
|
|
7
|
-
AND der.end_line - der.start_line >= 2`,r)?.n??0)>0}function ue(t,e){let r=l(e),s=m(e);return s==="entry"||s==="worker"||Nt(r)||yt(t,r)}function fe(t,e,r){let s=l(r);if(E(t,s)||wt(t,e,s)||L(t,e,s)||Ft(e,s))return!0;let i=t.config.entryRoots;return i?!!(i.files?.some(n=>l(n)===s)||i.pathPrefixes?.some(n=>s.startsWith(l(n)))||i.qualifiedVars?.some(n=>Xt(e,n))||i.symbolPatterns?.some(n=>{try{return new RegExp(n).test(e)}catch{return!1}})):!1}var _t=g("package-surface-reachability",{clearGroups:["whole-project"]});function wt(t,e,r){let s=kt(t).get(r);return s===void 0?!1:s===null||s.has(x(e))}function kt(t){return _t.get(t,()=>{let e=new Map,r=[];for(let s of S(t,{includeIgnored:!1}))E(t,s)&&(e.set(s,null),r.push(s));for(;r.length>0;){let s=r.shift(),i=e.get(s);if(i!==void 0)for(let n of w(t,s)){if(!n.sourcePath||t.isIgnored(n.sourcePath))continue;let a=Tt(i,n);a!==void 0&&Rt(e,n.sourcePath,a)&&r.push(n.sourcePath)}}return e})}function Tt(t,e){if(t===null)return e.kind==="named"?new Set(e.names):null;if(e.kind==="star")return new Set(t);if(e.kind==="star-as")return;let r=e.names.filter(s=>t.has(s));return r.length>0?new Set(r):void 0}function Rt(t,e,r){if(!t.has(e))return t.set(e,r),!0;let s=t.get(e);if(s===void 0)return!1;if(s===null||r===null)return s===null?!1:(t.set(e,null),!0);let i=!1;for(let n of r)s.has(n)||(s.add(n),i=!0);return i}var v=new Set(["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS"]),jt=new Set(["default","generateMetadata","generateStaticParams"]),$t=new Set(["default","getStaticProps","getServerSideProps","getStaticPaths","config"]),At=new Set(["default","loader","action","clientLoader","clientAction","headers","links","meta","shouldRevalidate","ErrorBoundary","HydrateFallback"]),Dt=new Set(["load","actions","entries",...v]),Ot=new Set(["default"]);function Ft(t,e){let r=x(t);return r===""?!1:V(e)?v.has(r):X(e)?jt.has(r):W(e)?$t.has(r):G(e)?At.has(r):U(e)?Dt.has(r):Ct(e)?Ot.has(r):!1}function Nt(t){return V(t)||X(t)||W(t)||Lt(t)||G(t)||U(t)}function V(t){return/(?:^|\/)app(?:\/[^/]+)*\/route\.(?:ts|tsx|js|jsx|mjs|cjs)$/.test(t)}function X(t){return/(?:^|\/)app(?:\/[^/]+)*\/(?:page|layout|template|loading|error|not-found|global-error|head|default)\.(?:ts|tsx|js|jsx|mjs|cjs)$/.test(t)}function W(t){return/(?:^|\/)pages\/.+\.(?:ts|tsx|js|jsx|mjs|cjs)$/.test(t)}function Lt(t){let e="(?:middleware|proxy|instrumentation)\\.(?:ts|js|mts|mjs)";return new RegExp(`^(?:src/)?${e}$`).test(t)||new RegExp(`(?:^|/)src/${e}$`).test(t)||new RegExp(`(?:^|/)(?:apps|services|packages)/[^/]+/(?:src/)?${e}$`).test(t)}function G(t){return/(?:^|\/)app\/routes\/.+\.(?:ts|tsx|js|jsx|mjs|cjs)$/.test(t)}function U(t){return/(?:^|\/)src\/routes\/(?:.*\/)?\+(?:page|page\.server|layout|layout\.server|server)\.(?:ts|js)$/.test(t)}function Ct(t){return/(?:^|\/)src\/(?:pages|views|routes)\/.+\.(?:ts|tsx|js|jsx|vue)$/.test(t)}function Mt(t){return!!(/\.(?:test|spec)\.[a-z0-9]+$/i.test(t)||/(?:^|\/)(?:_)?test_[^/]+$/i.test(t)||/(?:^|\/)spec_[^/]+$/i.test(t)||/(?:^|\/)[^/]+_test\.[a-z0-9]+$/i.test(t)||/(?:^|\/)[^/]+_tests\.rs$/i.test(t)||/(?:^|\/)tests\.rs$/i.test(t)||/(?:^|\/)[^/]+_spec\.[a-z0-9]+$/i.test(t)||/(?:^|\/)__tests__\//i.test(t)||/(?:^|\/)test\//i.test(t)||/(?:^|\/)tests\//i.test(t)||/(?:^|\/)__fixtures__\//i.test(t)||/(?:^|\/)__mocks__\//i.test(t)||/(?:^|\/)test-support\//i.test(t)||/(?:^|\/)test-utils\//i.test(t)||/(?:^|\/)testing\//i.test(t))}function It(t){return/(?:^|\/)[^/]*worker\.(?:ts|tsx|js|mjs|cjs|rs|py|go)$/.test(t)}function vt(t){let e=t.split("/"),r=e[e.length-1]??t;return r==="cli.ts"||r==="cli.js"||r==="postinstall.ts"||r==="postinstall.js"||r==="main.ts"||r==="main.js"||r==="main.rs"||r==="main.go"||r==="main.py"||r==="build.rs"||r==="lib.rs"||/\bsrc\/bin\/[^/]+\.rs$/.test(t)||/(?:^|\/)examples\/[^/]+\.rs$/.test(t)||/(?:^|\/)tests\/[^/]+\.rs$/.test(t)||/(?:^|\/)benches\/[^/]+\.rs$/.test(t)?!0:r==="index.ts"||r==="index.js"?/(?:^|\/)(?:apps|services)\/[^/]+\/src\/index\.(?:ts|js)$/.test(t)?!0:e.length<=2:!1}function Vt(t){return t==="index.ts"||t==="index.js"||t.endsWith("/index.ts")||t.endsWith("/index.js")||t.endsWith("/mod.rs")||t.endsWith("/__init__.py")}function Xt(t,e){let r=e.lastIndexOf("/");if(r<0)return!1;let s=e.slice(0,r),i=e.slice(r+1);return t.includes(M(s)+"/")&&t.includes(M(i)+".")}function M(t){return/^[A-Za-z0-9_$+-]+$/.test(t)?t:"`"+t.replace(/`/g,"``")+"`"}export{E as a,m as b,Pt as c,yt as d,ce as e,ue as f,fe as g};
|
|
8
|
-
//# sourceMappingURL=chunk-WMXRRBII.js.map
|
package/dist/chunk-X3NLZHPA.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import{i as o,k as r}from"./chunk-GA64UPMI.js";import l from"better-sqlite3";var c=["node_modules",".git","dist","build","out","coverage","target",".next",".nuxt",".cache",".turbo",".nbb",".cpcache",".shadow-cljs",".scipquery-cache","__pycache__",".venv","venv"],s=class{db;config;generation;pathFilter;statementCache=new Map;constructor(e,t){this.config=e,this.pathFilter=t??null;let a=d(e);this.generation=a.generation,this.db=a.db,this.db.pragma("busy_timeout = 5000"),this.db.pragma("query_only = ON"),this.db.pragma("temp_store = MEMORY"),this.db.pragma("cache_size = -64000"),this.db.pragma("mmap_size = 268435456")}isIgnored(e){return this.pathFilter?.isIgnored(e)??!1}get localSymbolPredicate(){return`(
|
|
2
|
-
EXISTS (
|
|
3
|
-
SELECT 1
|
|
4
|
-
FROM defn_enclosing_ranges local_der
|
|
5
|
-
JOIN documents local_d ON local_der.document_id = local_d.id
|
|
6
|
-
WHERE local_der.symbol_id = gs.id
|
|
7
|
-
${this.pathExclusionsFor("local_d").trimStart()}
|
|
8
|
-
)
|
|
9
|
-
OR EXISTS (
|
|
10
|
-
SELECT 1
|
|
11
|
-
FROM mentions local_m
|
|
12
|
-
JOIN chunks local_c ON local_m.chunk_id = local_c.id
|
|
13
|
-
JOIN documents local_d ON local_c.document_id = local_d.id
|
|
14
|
-
WHERE local_m.symbol_id = gs.id
|
|
15
|
-
AND local_m.role = 1
|
|
16
|
-
${this.pathExclusionsFor("local_d").trimStart()}
|
|
17
|
-
)
|
|
18
|
-
)`}get pathExclusions(){return this.pathExclusionsFor("d")}get symbolNoise(){return this.symbolNoiseFor("gs")}pathExclusionsFor(...e){return e.flatMap(t=>c.flatMap(a=>[`AND ${t}.relative_path NOT LIKE '${a}/%'`,`AND ${t}.relative_path NOT LIKE '%/${a}/%'`])).join(`
|
|
19
|
-
`)}symbolNoiseFor(e){return`AND ${e}.symbol NOT LIKE '%().(%' AND ${e}.symbol NOT LIKE '%typeLiteral%'`}all(e,...t){return this.statement(e).all(...t)}get(e,...t){return this.statement(e).get(...t)}close(){this.statementCache.clear(),this.db.close()}statement(e){let t=this.statementCache.get(e);return t||(t=this.db.prepare(e),this.statementCache.set(e,t)),t}};function d(i){for(let e=0;e<4;e+=1){let t=o(i),a=new l(t.databasePath,{readonly:!0,fileMustExist:!0});if(t.source==="immutable")return{db:a,generation:t};try{let n=o(i);if(t.databaseFileIdentity===r(t.databasePath)&&n.source==="legacy"&&n.identity===t.identity&&n.databaseFileIdentity===t.databaseFileIdentity&&n.metadataRaw===t.metadataRaw)return{db:a,generation:t}}catch(n){throw a.close(),n}a.close()}throw new Error("SQLite index publication changed repeatedly while opening a coherent generation.")}export{s as a};
|
|
20
|
-
//# sourceMappingURL=chunk-X3NLZHPA.js.map
|
package/dist/chunk-XF3KLXN3.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import{a as f}from"./chunk-N3SE646F.js";import{c as d}from"./chunk-XVJ3V7LM.js";import{l as c}from"./chunk-Z5QQPJ3U.js";import{d as u}from"./chunk-ZTTISZ7J.js";function L(e,n,i={}){let t=f(e,n);if(!t)return null;let r=h(e,t);if(!r||e.isIgnored(r.relative_path))return null;let s=[],m=0,l=g(e,r.relative_path),p=i.semantic===!1?new Map:c(e,l);for(let o of l){let a=S(e,r,o,p.get(o.symbolId)??new Set);m+=a,s.push({symbol:o.symbol,shortName:u(o.symbol),startLine:o.startLine,endLine:o.endLine,externalConsumers:a,riskLevel:b(a)})}return{file:r.relative_path,symbols:s,totalExternalConsumers:m}}function h(e,n){return e.get(`SELECT id, relative_path FROM documents
|
|
2
|
-
WHERE relative_path = ?
|
|
3
|
-
${e.pathExclusionsFor("documents")}
|
|
4
|
-
LIMIT 1`,n)??null}function g(e,n){return new d(e).definitionsForFile(n).sort((i,t)=>i.startLine-t.startLine||i.endLine-t.endLine)}function S(e,n,i,t){let r=e.all(`SELECT DISTINCT consumer_d.relative_path
|
|
5
|
-
FROM mentions m
|
|
6
|
-
JOIN chunks c ON m.chunk_id = c.id
|
|
7
|
-
JOIN documents consumer_d ON consumer_d.id = c.document_id
|
|
8
|
-
WHERE m.symbol_id = ?
|
|
9
|
-
AND m.role != 1
|
|
10
|
-
AND c.document_id != ?`,i.symbolId,n.id);return new Set([...r.map(s=>s.relative_path),...[...t].filter(s=>s!==n.relative_path)]).size}function b(e){return e>10?"high":e>0?"medium":"low"}export{L as a};
|
|
11
|
-
//# sourceMappingURL=chunk-XF3KLXN3.js.map
|
package/dist/chunk-YCPASUCX.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as t}from"./chunk-64MNV6AB.js";function l(e){return/[*?]/.test(e)?e.replace(/\*\*/g,"%").replace(/\*/g,"%").replace(/\?/g,"_"):`%${e}%`}function g(e,r){let i=l(r);return t(e,{like:i,includeIgnored:!1}).filter(n=>o(r,n)).map(n=>({relativePath:n}))}function o(e,r){if(!/[*?]/.test(e))return r.includes(e);let i=e.includes("/")?e:`**/${e}`;return s(i.split("/"),r.split("/"))}function s(e,r){if(e.length===0)return r.length===0;let[i,...n]=e;return i==="**"?s(n,r)||r.length>0&&s(e,r.slice(1)):r.length===0||!c(i??"",r[0]??"")?!1:s(n,r.slice(1))}function c(e,r){let i="^";for(let n of e)n==="*"?i+="[^/]*":n==="?"?i+="[^/]":i+=f(n);return i+="$",new RegExp(i).test(r)}function f(e){return/[\\^$.*+?()[\]{}|]/.test(e)?`\\${e}`:e}export{g as a,o as b};
|
|
2
|
-
//# sourceMappingURL=chunk-YCPASUCX.js.map
|
package/dist/chunk-YLVE3SXZ.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import{o as O,p as A}from"./chunk-7LABSJSR.js";import{B as y,F as C,G as N,l as F,p as S,r as _}from"./chunk-B5MHCHP3.js";import{a as P}from"./chunk-64MNV6AB.js";var G=C({kind:"file-dependency-graph",invalidation:N("file-dependency-graph"),serialize:e=>JSON.stringify(e),deserialize:k}),I=F("file-dep-graph",{clearGroups:["whole-project"]});function W(e,n,t={}){let s=t.scipEdges??"all-references",i=t.sourceEdges??"imports-only",o=v(n,s,i);return I.get(e,o,()=>{let d=new Set(P(e,{includeIgnored:!1})),c=_(e),p=0,l=0,m=null,E=!1,a=0,h=0;return y("file-dep-graph.product",()=>{if(c){let r=G.read(e,o,c);if(r){E=!0;let f=R(r);return p=r.sourceFileCount,l=r.sourceEdgeCount,a=r.scipEdgeCount,h=f.size,m=r.sourceDependencyFingerprint,f}}let g=y("file-dep-graph.source-imports",()=>{let r=M(e,d,n,i);return p=r.files.length,l=r.edges.length,m=r.fingerprint,r},()=>({scope:n??null,sourceEdges:i,files:p,edges:l})),u=new Map,D=(r,f)=>j(e,u,d,r,f);y("file-dep-graph.scip-edges",()=>{for(let r of $(e,n,s))a+=1,D(r.from_file,r.to_file)},()=>({scope:n??null,edges:a}));for(let r of g.edges)D(r.fromFile,r.toFile);return h=u.size,c&&G.write(e,o,c,{sourceDependencyFingerprint:g.fingerprint,sourceFileCount:g.files.length,sourceEdgeCount:g.edges.length,scipEdgeCount:a,graph:w(u)}),u},()=>({scope:n??null,available:c!==null,hit:E,files:p,sourceEdges:l,sourceEdgeMode:i,scipEdges:a,graphFiles:h,sourceDependencyFingerprint:m}))})}function M(e,n,t,s){let i=[],o=[];for(let d of n)if(!(t&&!d.includes(t))){i.push(d);for(let c of A(e,d))c.sourcePath&&o.push({fromFile:d,toFile:c.sourcePath});if(s==="imports-and-reexports")for(let c of O(e,d))c.sourcePath&&o.push({fromFile:d,toFile:c.sourcePath})}return{files:i,edges:o,fingerprint:b(i,o)}}function b(e,n){let t=n.map(s=>`${s.fromFile}\0${s.toFile}`).sort();return S(JSON.stringify({files:e,edges:t}))}function v(e,n,t){return`edge-mode-v3:${n}:${t}:${e??"<all>"}`}function w(e){return[...e].map(([n,t])=>[n,[...t]])}function R(e){return new Map(e.graph.map(([n,t])=>[n,new Set(t)]))}function k(e){let n=JSON.parse(e);return x(n)?n:null}function x(e){if(!e||typeof e!="object")return!1;let n=e;return typeof n.sourceDependencyFingerprint=="string"&&typeof n.sourceFileCount=="number"&&typeof n.sourceEdgeCount=="number"&&typeof n.scipEdgeCount=="number"&&Array.isArray(n.graph)&&n.graph.every(J)}function J(e){return Array.isArray(e)&&e.length===2&&typeof e[0]=="string"&&Array.isArray(e[1])&&e[1].every(n=>typeof n=="string")}function $(e,n,t){let s=n?"AND d1.relative_path LIKE ?":"",i=n?[`%${n}%`]:[],o=t==="imports-only"?"AND m.role = 2":"AND m.role != 1";return e.all(`SELECT DISTINCT
|
|
2
|
-
d1.relative_path AS from_file,
|
|
3
|
-
d2.relative_path AS to_file
|
|
4
|
-
FROM mentions m
|
|
5
|
-
JOIN chunks c ON m.chunk_id = c.id
|
|
6
|
-
JOIN documents d1 ON c.document_id = d1.id
|
|
7
|
-
JOIN global_symbols gs ON m.symbol_id = gs.id
|
|
8
|
-
JOIN (
|
|
9
|
-
SELECT m2.symbol_id, c2.document_id
|
|
10
|
-
FROM mentions m2
|
|
11
|
-
JOIN chunks c2 ON m2.chunk_id = c2.id
|
|
12
|
-
WHERE m2.role = 1
|
|
13
|
-
GROUP BY m2.symbol_id
|
|
14
|
-
) sym_def ON sym_def.symbol_id = gs.id
|
|
15
|
-
JOIN documents d2 ON sym_def.document_id = d2.id
|
|
16
|
-
WHERE d1.id != d2.id
|
|
17
|
-
${o}
|
|
18
|
-
${e.pathExclusionsFor("d1","d2")}
|
|
19
|
-
${s}`,...i)}function j(e,n,t,s,i){if(s===i||e.isIgnored(s)||e.isIgnored(i)||!t.has(i))return;let o=n.get(s);o||(o=new Set,n.set(s,o)),o.add(i)}export{W as a};
|
|
20
|
-
//# sourceMappingURL=chunk-YLVE3SXZ.js.map
|
package/dist/chunk-Z2LHPIOM.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as d}from"./chunk-XVJ3V7LM.js";import{b as g}from"./chunk-B75HZHUP.js";import{a as p,b as u}from"./chunk-E2ZXPB7J.js";import{n as b}from"./chunk-JERWGHQT.js";import{d as f}from"./chunk-ZTTISZ7J.js";function F(i,t={}){let{limit:l=20,scope:a,minFanIn:s=2,minFanOut:m=2,scanLimit:o}=t,r=new d(i);return g(r.productionCallableDefinitions({scope:a,requireCallableSymbol:!0,includeSuppressed:!0,sortByLocDesc:typeof o=="number"&&o>0}),o).map(e=>h(i,e,t.semantic!==!1)).filter(e=>e.fanIn>=s&&e.fanOut>=m).sort((e,y)=>y.score-e.score||y.fanIn-e.fanIn).slice(0,l)}function h(i,t,l){let a=[...new Set(u(i,t,{limit:500,semantic:l,semanticEvidence:b}).map(n=>n.file))].sort(),s=new Map;for(let n of p(i,t,{limit:500,semantic:l,semanticEvidence:b})){if(n.file===t.relativePath)continue;let e=`${n.symbol}|${n.file}`;s.has(e)||s.set(e,{symbol:n.symbol,shortName:f(n.symbol),file:n.file})}let m=[...s.values()].sort((n,e)=>n.file.localeCompare(e.file)||n.symbol.localeCompare(e.symbol)),o=a.length,r=m.length,c=o*r;return{symbol:t.symbol,shortName:f(t.symbol),fanIn:o,fanOut:r,callerFiles:a,externalCallees:m,score:c,definedIn:t.relativePath,actionTier:"signal",riskKind:"coordination-hotspot",evidenceReasons:[`${o} incoming file(s) reference this symbol`,`${r} distinct cross-file callee symbol(s) are reached from it`,`centrality score is ${c} (fan-in * fan-out)`],recommendation:"Review ownership, API stability, and caller groups before changing this central symbol; do not refactor solely from graph centrality."}}export{F as a};
|
|
2
|
-
//# sourceMappingURL=chunk-Z2LHPIOM.js.map
|
package/dist/chunk-Z5QQPJ3U.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import{a as Q}from"./chunk-P5XHIJHI.js";import{B as at,D as ct,E as rn,F as Ee,G as ee,H as ut,I as ft,J as Pe,K as pt,M as on,O as sn,P as an,l as it,r as ot,s as fe,v as H,w as Te,x as Z,y as X,z as we}from"./chunk-GA64UPMI.js";import{d as xe,e as st,f as Ce,g as ke,h as q,q as lt}from"./chunk-A63U2W3P.js";import{b as tt,e as K,f as De,h as rt,j as ue,s as W,t as ve}from"./chunk-ZTTISZ7J.js";import{a as le,f as Me,n as et,p as nt}from"./chunk-7LABSJSR.js";import{B as Zn,E as Xn,e as Jn,f as Gn,s as en}from"./chunk-DGMCFMPG.js";import{A as Qn,B as w,D as Ie,E as nn,F as tn,G as ce,j as Kn,l as Hn,m as $n,p as Ze,r as Xe,t as Vn,v as Yn,z as _}from"./chunk-B5MHCHP3.js";import{a as he}from"./chunk-64MNV6AB.js";import{a as ae,c as O}from"./chunk-35SQLYCQ.js";function dt(n){let e=new Map,t=Or(n),r=new Map;return i=>{let o=Lr(i),s=r.get(o);if(s!==void 0)return s;if(!t.has(i.file))return r.set(o,i.symbol),i.symbol;let a=e.get(i.file);a||(a=Ur(W(n,i.file)),e.set(i.file,a));let c=qr(a,i);return r.set(o,c),c}}function Lr(n){return`${n.file}\0${n.symbol}\0${n.line}`}function Or(n){return new Set(n.all("SELECT relative_path FROM documents").map(e=>e.relative_path))}function Ur(n){let e=new Map,t=new Map;for(let r of n){let i=e.get(r.leaf);i?i.push(r):e.set(r.leaf,[r]);let o=t.get(r.startLine);o?o.push(r):t.set(r.startLine,[r])}return{definitions:n,byLeaf:e,byStartLine:t}}function qr(n,e){if(n.definitions.length===0)return e.symbol;let t=Wr(e.symbol),r=Br(n.byLeaf,t),i=jr(r,e.line);if(i)return i.symbol;let o=n.byStartLine.get(e.line)??[];return o.length===1?o[0].symbol:e.symbol}function Br(n,e){let t=[],r=new Set;for(let i of e)for(let o of n.get(i)??[])r.has(o.symbolId)||(r.add(o.symbolId),t.push(o));return t}function jr(n,e){let t=null;for(let r of n)if(!(r.startLine>e||r.endLine<e)){if(r.startLine===e)return r;(!t||r.endLine-r.startLine<t.endLine-t.startLine)&&(t=r)}return t}function Wr(n){let e=new Set([n]),r=n.split(/::|\.|#/).filter(Boolean).at(-1);return r&&e.add(r),e}function mt(n,e){let r=nt(n,e).map(i=>Kr(e,i));return{usage:r,positions:Hr(n,e,r)}}function yt(n,e){return{importUsage(t){let r=n.importUsageFacts(t);if(!e||r.positions.length===0)return r.usage;let i=e.importDefinitionsForFile(t,r.positions);return i.available?zr(r.usage,i.sourcePaths):r.usage}}}function zr(n,e){return n.map((t,r)=>{let i=e.get(String(r));return i?{...t,sourcePath:i}:t})}function Kr(n,e){let t=e.isTypeOnly===!0,r=e.kind==="side-effect"||t||e.used;return{importer:n,sourcePath:e.sourcePath,importedName:e.importedName,localName:e.localName,kind:e.kind,isTypeOnly:t,isUsed:r,isTypeUsed:t,isValueUsed:e.kind==="side-effect"||!t&&e.used,references:[]}}function Hr(n,e,t){let r=Xn(n,e);if(!r)return[];let i=$r(r.rootNode),o=new Map;for(let a of i){let c=o.get(ln(a.importedName,a.localName));c?c.push(a.position):o.set(ln(a.importedName,a.localName),[a.position])}let s=[];return t.forEach((a,c)=>{let u=o.get(ln(a.importedName,a.localName??a.importedName))?.shift();u&&s.push({...u,id:String(c),file:e})}),s}function $r(n){let e=[];for(let t of n.descendantsOfType("use_declaration")){let r=t.namedChildren.find(i=>i.type!=="visibility_modifier");r&&e.push(...Fe(r,""))}return e.filter(t=>t.importedName!=="*")}function Fe(n,e){switch(n.type){case"identifier":case"super":case"self":case"crate":return[{importedName:n.text,localName:n.text,position:cn(n,n.text)}];case"scoped_identifier":{let t=n.text.split("::").pop()??n.text;return[{importedName:t,localName:t,position:cn(n,t)}]}case"scoped_use_list":{let t=n.namedChild(0),r=n.namedChild(1);if(!t||!r)return[];let i=et(e,t.text);return r.namedChildren.flatMap(o=>Fe(o,i))}case"use_list":return n.namedChildren.flatMap(t=>Fe(t,e));case"use_as_clause":{let t=n.namedChild(0),r=n.namedChild(1);return!t||!r?[]:Fe(t,e).map(i=>({...i,localName:r.text}))}case"use_wildcard":{let t=n.namedChild(0),r="*";return[{importedName:r,localName:r,position:cn(t??n,r)}]}default:return[]}}function cn(n,e){let t=Math.max(0,n.text.lastIndexOf(e));return{id:"",file:"",line:n.startPosition.row,column:n.startPosition.column+t+Vr(e)}}function Vr(n){return Math.max(0,Math.min(n.length-1,1))}function ln(n,e){return`${n}\0${e}`}import{spawnSync as hn}from"child_process";import{existsSync as In}from"fs";import{fileURLToPath as Ki}from"url";function Ae(n){let e=ot(it,n),t=e.runnable;return{available:t,dependencyAvailable:t,resolvedBinary:e.resolvedBinary??void 0,reason:t?"rust-analyzer semantic reference queries are enabled.":"rust-analyzer is not runnable; Rust semantic checks will use SCIP/source evidence only."}}import{existsSync as ki,mkdtempSync as Ot,readFileSync as Ut,rmSync as yn}from"fs";import{tmpdir as qt}from"os";import{join as Sn}from"path";import{fileURLToPath as We,pathToFileURL as Ti}from"url";import{SHARE_ENV as wi,Worker as Ei}from"worker_threads";function z(n,e,t=new Set){let r=new Map;for(let i of n)t.has(i.symbolId)||r.set(i.symbolId,e.get(i.symbolId)??[]);return r}function $(n,e,t){let r=Q(process.env.SCIP_RUST_SEMANTIC_BATCH_TIMEOUT_MS)??0;if(r>0)return r;let i=Math.max(1,Math.ceil(n/Math.max(1,t)));return Math.max(12e4,3e4+i*e)}import{spawn as di}from"child_process";import{createHash as mi,randomUUID as yi}from"crypto";import{existsSync as Et,readFileSync as qe,realpathSync as Si,rmSync as gi}from"fs";import{tmpdir as Ri}from"os";import{resolve as te}from"path";import{execFileSync as ti}from"child_process";import{existsSync as Yr,readFileSync as Jr}from"fs";import{deserializeSCIP as Gr,SymbolRole as Qr}from"@c4312/scip";import{existsSync as ks,readFileSync as Ts}from"fs";import{relative as Es,resolve as Ps,sep as Fs}from"path";import{fileURLToPath as Ns,pathToFileURL as _s}from"url";function Ne(n){let e=new Map;for(let t of n)e.set(`${t.file}\0${t.line}\0${t.column}`,t);return[...e.values()].sort((t,r)=>{let i=t.file.localeCompare(r.file);return i!==0?i:t.line!==r.line?t.line-r.line:t.column-r.column})}var un=new WeakMap,Zr="SCIP_RUST_SCIP_OCCURRENCE_REFERENCE_MODE";function St(n,e){let t=new Map,r=_e(),i=e.filter(s=>bt(s,r));if(i.length===0)return t;let o=ht(n);if(!o)return t;for(let s of i){let a=Rt(o,s);a!==null&&t.set(s.symbolId,a)}return t}function gt(n,e){if(!bt(e,_e()))return null;let t=ht(n);return t?Rt(t,e):null}function Rt(n,e){return n.referencesBySymbol.get(e.symbol)??[]}function bt(n,e="safe"){if(!n.symbol.startsWith("rust-analyzer ")||!n.relativePath.endsWith(".rs")||ue(n.symbol)||/impl#\[[^\]]+\]\[Default\]default\(\)\.$/.test(n.symbol))return!1;if(e==="all")return!0;let t=De(n.symbol);if(t==="method")return!0;if(t!=="term")return!1;let r=tt(n.symbol);return"kind"in r?!1:!Xr(r)}function Xr(n){for(let e=0;e<n.descriptors.length-1;e+=1)if(n.descriptors[e]?.suffix==="type")return!0;return!1}function ht(n){if(un.has(n))return un.get(n)??null;let e=ei(n);return un.set(n,e),e}function ei(n){if(!n.generation.indexPath||!Yr(n.generation.indexPath))return null;try{let e=Gr(Jr(n.generation.indexPath)),t=new Map;for(let r of e.documents??[]){let i=r.relativePath;if(!(!i||n.isIgnored(i)))for(let o of r.occurrences??[]){if(!o.symbol||(o.symbolRoles&Qr.Definition)!==0)continue;let s=ni(i,o.range);if(!s)continue;let a=t.get(o.symbol)??[];a.push(s),t.set(o.symbol,a)}}for(let[r,i]of t)t.set(r,Ne(i));return{referencesBySymbol:t}}catch{return null}}function ni(n,e){if(e.length<3)return null;let t=e[0],r=e[1];return!Number.isInteger(t)||!Number.isInteger(r)?null:{file:n,line:t,column:r}}function _e(){return process.env[Zr]==="all"?"all":"safe"}var It=new Map;function fn(n){let t=Ae(n).resolvedBinary??null;return{engine:"rust-analyzer",resolvedBinary:t,version:t?ri(n,t):"unavailable"}}function pn(n){return{...fn(n),scipOccurrenceReferenceMode:_e()}}function ri(n,e){let t=`${n}\0${e}`,r=It.get(t);if(r)return r;let i;try{i=ti(e,["--version"],{cwd:n,encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:2e3}).trim()}catch{i="unknown"}return It.set(t,i),i}import{createHash as ii}from"crypto";var oi=new Set(["Cargo.lock","Cargo.toml","rust-project.json","rust-toolchain","rust-toolchain.toml"]);function Mt(n){let e=at(n,{includePath:si});return ii("sha256").update(JSON.stringify(e)).digest("hex")}function si(n){let e=n.replaceAll("\\","/"),t=e.split("/").at(-1)??e;return e.endsWith(".rs")||oi.has(t)?!0:e===".cargo/config"||e===".cargo/config.toml"||e.endsWith("/.cargo/config")||e.endsWith("/.cargo/config.toml")}import{createHash as ai}from"crypto";import{resolve as ci}from"path";var ne=3;function mn(n){return ai("sha256").update(fe({kind:"scip-query-durable-rust-mailbox",protocolVersion:ne,sessionDir:ci(n)})).digest("hex")}function xt(n,e){return ae(n)?n.protocolVersion!==ne?vt(n.protocolVersion===void 0?"helper wrote a prior uncorrelated response protocol":`helper wrote unsupported response protocol ${String(n.protocolVersion)}`):n.mailboxVersion!==H||n.id!==e.requestId||n.operationKey!==e.operationKey||n.sessionIdentity!==e.sessionIdentity||n.deadlineAtMs!==e.deadlineAtMs?vt("helper wrote an incompatible response identity"):typeof n.completedAtMs!="number"||!Number.isFinite(n.completedAtMs)||n.completedAtMs>e.deadlineAtMs||e.nowMs>e.deadlineAtMs?{ok:!1,code:"expired-request",error:"helper response arrived after the durable request deadline"}:n.ok===!1?typeof n.error!="string"||!pi(n.errorCode)?dn("helper wrote an invalid rejection response"):{ok:!1,code:n.errorCode,error:n.error}:n.ok!==!0||n.session!=="created"&&n.session!=="reused"&&n.session!=="invalidated"||!li(n.response,e.requestKind)?dn("helper wrote an invalid success response"):{ok:!0,session:n.session,response:n.response}:dn("helper wrote an invalid response object")}function li(n,e){return!ae(n)||typeof n.available!="boolean"||n.reason!==void 0&&typeof n.reason!="string"?!1:e==="import-definitions"?Array.isArray(n.sourcePaths)&&n.sourcePaths.every(t=>Array.isArray(t)&&t.length===2&&typeof t[0]=="string"&&(t[1]===null||typeof t[1]=="string")):Dt(n.references,ui)&&(n.incompleteReferenceSymbolIds===void 0||Array.isArray(n.incompleteReferenceSymbolIds)&&n.incompleteReferenceSymbolIds.every(t=>Number.isSafeInteger(t)))&&(n.callees===void 0||Dt(n.callees,fi))&&(n.signatures===void 0||Array.isArray(n.signatures)&&n.signatures.every(t=>Array.isArray(t)&&t.length===2&&Number.isSafeInteger(t[0])&&(t[1]===null||typeof t[1]=="string")))}function Dt(n,e){return Array.isArray(n)&&n.every(t=>Array.isArray(t)&&t.length===2&&Number.isSafeInteger(t[0])&&Array.isArray(t[1])&&t[1].every(e))}function ui(n){return ae(n)&&typeof n.file=="string"&&O(n.line)&&O(n.column)}function fi(n){return ae(n)&&typeof n.symbol=="string"&&typeof n.file=="string"&&O(n.line)}function pi(n){return n==="unsupported-protocol"||n==="malformed-request"||n==="expired-request"||n==="handler-error"}function dn(n){return{ok:!1,code:"malformed-response",error:n}}function vt(n){return{ok:!1,code:"incompatible-response",error:n}}var bi=5e3,Pt=10,hi=3e4;function Ct(n,e,t,r=Lt){let i=r.engineIdentity(n),o={protocolVersion:ne,projectRoot:r.canonicalProjectRoot(n),projectFingerprint:r.projectFingerprint(n),engine:{engine:i.engine,resolvedBinary:i.resolvedBinary,version:i.version},workerFingerprint:r.fileFingerprint(e),environment:At(r.environment())};return{key:Ue(fe(o)),...o}}function Le(n,e,t,r){if(n.protocolVersion!==ne||!t(n.pid))return!1;if(!n.processIdentity)return!0;let i=r?.(n.pid);return i!=null&&Ce(n.processIdentity,i)}function Ft(n,e,t){let r;try{r=Ue(qe(e))}catch{r="missing"}let i=Ue(fe({projectRoot:te(n),serverPath:te(e),serverFingerprint:r})).slice(0,20);return te(t,`scip-query-rust-session-${i}`)}function kt(n){let e=n===void 0?Number.NaN:Number(n);return Number.isInteger(e)&&e>=0?e:0}function At(n){return Object.fromEntries(Object.entries(n).filter(([e])=>_t(e)).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>[e,t??null]))}function Nt(n,e){let t=e.runtime??Ci,r=e.identityRuntime??Lt,i=Ft(n,e.serverPath,e.tempRoot??Ri()),o=!1,s=(a,c)=>{if(o)throw new Error("Durable Rust semantic session was already disposed.");return Mi(i,e.serverPath,e.semanticWorkerPath,a,c,t,e.mailboxLimits)};return{requestSemantic(a,c){let u=Ct(n,e.semanticWorkerPath,a,r),{readinessDeadlineMs:f,...l}=a;return s({kind:"semantic",identityKey:u.key,workerEnvironment:wt(),request:{...l,referenceRetryTimeoutMs:Ii(process.env.SCIP_RUST_SEMANTIC_REFERENCE_RETRY_TIMEOUT_MS,a.referenceRetryTimeoutMs),settleDelayMs:process.env.SCIP_RUST_SEMANTIC_SETTLE_MS===void 0?a.settleDelayMs:kt(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS)},timeoutMs:c},c)},requestImportDefinitions(a,c){let u=Ct(n,e.semanticWorkerPath,a,r),{readinessDeadlineMs:f,...l}=a;return s({kind:"import-definitions",identityKey:u.key,workerEnvironment:wt(),request:{...l,settleDelayMs:process.env.SCIP_RUST_SEMANTIC_SETTLE_MS===void 0?a.settleDelayMs:kt(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS)},timeoutMs:c},c)},shutdown(){o=!0}}}function Ii(n,e){return e!==void 0?e:n===void 0?hi:void 0}function Mi(n,e,t,r,i,o,s={}){let a=o.now(),c=a+i,u=(o.monotonicNow??q)(),f=u+i,l=Z("rust-semantic-v3",r),p=X(l),d=Te(n),S=mn(n),h=we(d,{mailboxVersion:H,protocolVersion:ne,id:p,operationKey:l,clientId:o.randomId(),enqueuedAtMs:a,deadlineAtMs:c,sessionIdentity:S,request:r},{nowMs:a,limits:s});for(Tt(n,e,t,f,o);(o.monotonicNow??q)()<=f;){if(Et(h.responsePath)){let y=Di(qe(h.responsePath,"utf8"),{requestId:p,operationKey:l,sessionIdentity:S,deadlineAtMs:h.authoritativeDeadlineAtMs,requestKind:r.kind,nowMs:o.now()});if(!y.ok)throw new Error(y.error);return _()&&Ie({type:"span",name:"rust.semantic.durable-session.request",durationMs:(o.monotonicNow??q)()-u,ok:!0,session:y.session,kind:r.kind}),y.response}let g=Oe(n);(!g||!Le(g,o.now(),o.isProcessAlive,o.readProcessIdentity))&&Tt(n,e,t,f,o),o.sleep(Pt)}throw new Error(`Durable Rust semantic session timed out after ${(i/1e3).toFixed(0)}s.`)}function Tt(n,e,t,r,i){let o=Oe(n);if(o&&Le(o,i.now(),i.isProcessAlive,i.readProcessIdentity))return;gi(te(n,"server.json"),{force:!0}),i.spawnServer(e,n,t);let s=i.monotonicNow??q,a=Math.min(r,s()+bi);for(;s()<=a;){let c=Oe(n);if(c&&Le(c,i.now(),i.isProcessAlive,i.readProcessIdentity))return;i.sleep(Pt)}throw new Error("Durable Rust semantic session helper did not become ready within 5s.")}function Oe(n){try{let e=JSON.parse(qe(te(n,"server.json"),"utf8"));if(typeof e.protocolVersion!="number"||e.sessionIdentity!==void 0&&(typeof e.sessionIdentity!="string"||e.sessionIdentity!==mn(n))||typeof e.pid!="number"||typeof e.heartbeatAtMs!="number"||e.busyUntilMs!==void 0&&typeof e.busyUntilMs!="number"||e.mailbox!==void 0&&!vi(e.mailbox))return null;let t=e.processIdentity===void 0?null:st(e.processIdentity);return e.processIdentity!==void 0&&(!t||t.pid!==e.pid)?null:{protocolVersion:e.protocolVersion,...e.sessionIdentity===void 0?{}:{sessionIdentity:e.sessionIdentity},pid:e.pid,...t?{processIdentity:t}:{},heartbeatAtMs:e.heartbeatAtMs,...e.busyUntilMs===void 0?{}:{busyUntilMs:e.busyUntilMs},...e.mailbox===void 0?{}:{mailbox:e.mailbox}}}catch{return null}}function Di(n,e){try{return xt(JSON.parse(n),e)}catch(t){return{ok:!1,code:"malformed-response",error:`helper wrote malformed JSON: ${t instanceof Error?t.message:String(t)}`}}}function vi(n){if(!n||typeof n!="object")return!1;let e=n;return O(e.pending)&&O(e.inflight)&&O(e.responses)&&O(e.deadLetters)&&O(e.invalid)&&O(e.totalItems)&&typeof e.totalBytes=="number"&&Number.isFinite(e.totalBytes)&&e.totalBytes>=0&&(e.oldestPendingAt===void 0||Number.isFinite(Date.parse(e.oldestPendingAt)))}function wt(){return Object.fromEntries(Object.entries(process.env).filter(([n])=>xi(n)).sort(([n],[e])=>n.localeCompare(e)).map(([n,e])=>[n,e??null]))}function _t(n){return n==="HOME"||n==="PATH"||n.startsWith("CARGO_")||n.startsWith("RA_")||n.startsWith("RUST")}function xi(n){return _t(n)||n.startsWith("SCIP_RUST_")||n==="SCIP_QUERY_PROFILE"||n==="SCIP_QUERY_PROFILE_CACHE_STATE"||n==="SCIP_QUERY_PROFILE_COMMAND"||n==="SCIP_QUERY_PROFILE_OUT"||n==="SCIP_QUERY_PROFILE_RUN_ID"||n==="SCIP_QUERY_PROFILE_WORKLOAD_IDENTITY"||n==="SCIP_QUERY_PROFILE_WORKLOAD_IDENTITY_KIND"||n==="SCIP_QUERY_PROFILE_MIN_MS"}var Lt={canonicalProjectRoot(n){try{return Si(n)}catch{return te(n)}},projectFingerprint(n){return Mt(n)},engineIdentity:fn,fileFingerprint(n){return Ue(qe(n))},environment(){return At(process.env)}},Ci={now:Date.now,monotonicNow:q,randomId:yi,isProcessAlive:xe,readProcessIdentity:ke,spawnServer(n,e,t){if(!Et(n))throw new Error(`Durable Rust semantic session helper was not found at ${n}. Run npm run build first.`);di(process.execPath,[n,e,t],{detached:!0,stdio:"ignore"}).unref()},sleep(n){let e=new Int32Array(new SharedArrayBuffer(4));Atomics.wait(e,0,0,n)}};function Ue(n){return mi("sha256").update(n).digest("hex")}var Bt=15e3,jt=8,zt=5e3,Pi=64,Fi=96,Rn=class{constructor(e,t,r={}){this.projectRoot=e;this.status=t;this.opts=r;this.requester=r.requester??Li(e,process.env.SCIP_RUST_SEMANTIC_DURABLE_SESSION)}projectRoot;status;opts;requester;referencesForDefinitions(e){let t=this.status(this.projectRoot);if(!t.available||!t.resolvedBinary)return{available:!1,resolvedBinary:t.resolvedBinary,reason:t.reason,references:pe(e)};try{let r=this.requestSession(t.resolvedBinary,e,{includeReferences:!0});return{available:r.available,resolvedBinary:t.resolvedBinary,reason:r.reason,references:z(e,new Map(r.references),new Set(r.incompleteReferenceSymbolIds??[]))}}catch(r){return this.opts.fallbackReferenceResolver?.referencesForDefinitions(e)??{available:!1,resolvedBinary:t.resolvedBinary,reason:r instanceof Error?r.message:String(r),references:pe(e)}}}calleesForDefinitions(e){let t=this.status(this.projectRoot);if(!t.available||!t.resolvedBinary)return{available:!1,resolvedBinary:t.resolvedBinary,reason:t.reason,callees:de(e)};try{let r=this.requestSession(t.resolvedBinary,e,{includeReferences:!1,includeCallees:!0});return{available:r.available,resolvedBinary:t.resolvedBinary,reason:r.reason,callees:gn(e,new Map(r.callees??[]))}}catch(r){return this.opts.fallbackCalleeResolver?.calleesForDefinitions(e)??{available:!1,resolvedBinary:t.resolvedBinary,reason:r instanceof Error?r.message:String(r),callees:de(e)}}}referencesAndCalleesForDefinitions(e,t){let r=this.status(this.projectRoot);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:r.reason,references:pe(e),callees:de(t)};let i=[...e,...t];try{let o=this.requestSession(r.resolvedBinary,i,{includeReferences:e.length>0,includeCallees:t.length>0,referenceDefinitions:e,calleeDefinitions:t});return{available:o.available,resolvedBinary:r.resolvedBinary,reason:o.reason,references:z(e,new Map(o.references),new Set(o.incompleteReferenceSymbolIds??[])),callees:gn(t,new Map(o.callees??[]))}}catch(o){return this.fallbackReferencesAndCallees(r,e,t,o)}}signaturesForDefinitions(e){let t=this.status(this.projectRoot);if(!t.available||!t.resolvedBinary)return{available:!1,resolvedBinary:t.resolvedBinary,reason:t.reason,signatures:Wt(e)};try{let r=this.requestSession(t.resolvedBinary,e,{includeReferences:!1,includeCallees:!1,includeSignatures:!0});return{available:r.available,resolvedBinary:t.resolvedBinary,reason:r.reason,signatures:ji(e,new Map(r.signatures??[]))}}catch(r){return this.opts.fallbackSignatureResolver?.signaturesForDefinitions(e)??{available:!1,resolvedBinary:t.resolvedBinary,reason:r instanceof Error?r.message:String(r),signatures:Wt(e)}}}importDefinitionsForFile(e,t){let r=this.status(this.projectRoot);if(t.length===0)return{available:r.available,resolvedBinary:r.resolvedBinary,reason:r.reason,sourcePaths:new Map};if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:r.reason,sourcePaths:new Map(t.map(i=>[i.id,null]))};try{let i=this.requestImportDefinitions(r.resolvedBinary,e,t);return{available:i.available,resolvedBinary:r.resolvedBinary,reason:i.reason,sourcePaths:new Map(i.sourcePaths)}}catch(i){return{available:!1,resolvedBinary:r.resolvedBinary,reason:i instanceof Error?i.message:String(i),sourcePaths:new Map(t.map(o=>[o.id,null]))}}}dispose(){this.requester.shutdown()}requestSession(e,t,r){let i=Be(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,Bt),o=je(process.env.SCIP_RUST_SEMANTIC_REFERENCE_RETRY_TIMEOUT_MS,0),s=Be(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,jt),a=je(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(i,1e4)),c=r.referenceDefinitions?[...r.referenceDefinitions]:void 0,u=r.calleeDefinitions?[...r.calleeDefinitions]:void 0,f=r.signatureDefinitions?[...r.signatureDefinitions]:void 0,l=me(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:t.length,...r}),p={projectRoot:this.projectRoot,rustAnalyzerBinary:e,definitions:[...t],...c?{referenceDefinitions:c}:{},...u?{calleeDefinitions:u}:{},...f?{signatureDefinitions:f}:{},requestTimeoutMs:i,...r.includeReferences!==!1&&o>0?{referenceRetryTimeoutMs:o}:{},diagnosticsTimeoutMs:a,settleDelayMs:l,concurrency:s,includeReferences:r.includeReferences,includeCallees:r.includeCallees,includeSignatures:r.includeSignatures},d=Wi(p);return w("rust.semantic.session.request",()=>this.requester.requestSemantic(p,$(d,bn(i,p.referenceRetryTimeoutMs),s)),()=>({definitions:t.length,operationDefinitions:d,referenceDefinitions:p.referenceDefinitions?.length,calleeDefinitions:p.calleeDefinitions?.length,signatureDefinitions:p.signatureDefinitions?.length,references:p.includeReferences!==!1,callees:p.includeCallees===!0,signatures:p.includeSignatures===!0,referenceRetryTimeoutMs:p.referenceRetryTimeoutMs}))}fallbackReferencesAndCallees(e,t,r,i){let o=t.length===0?{available:!0,references:pe(t)}:this.opts.fallbackReferenceResolver?.referencesForDefinitions(t),s=r.length===0?{available:!0,callees:de(r)}:this.opts.fallbackCalleeResolver?.calleesForDefinitions(r);return o&&s?{available:o.available&&s.available,resolvedBinary:o.resolvedBinary??s.resolvedBinary??e.resolvedBinary,reason:o.reason??s.reason,references:z(t,o.references),callees:gn(r,s.callees)}:{available:!1,resolvedBinary:e.resolvedBinary,reason:i instanceof Error?i.message:String(i),references:pe(t),callees:de(r)}}requestImportDefinitions(e,t,r){let i=Be(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,Bt),o=Be(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,jt),s=je(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(i,1e4)),a=je(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,zt),c={projectRoot:this.projectRoot,rustAnalyzerBinary:e,file:t,positions:[...r],requestTimeoutMs:i,diagnosticsTimeoutMs:s,settleDelayMs:a,concurrency:o};return w("rust.semantic.import-definitions.session.request",()=>this.requester.requestImportDefinitions(c,$(r.length,i,o)),()=>({file:t,positions:r.length}))}};function Kt(n,e,t={}){return new Rn(n,e,t)}function me(n,e){let t=$t(n);if(t!==null)return t;let r=e.includeReferences!==!1;return r&&e.includeCallees!==!0&&e.includeSignatures!==!0&&e.definitionCount<=Pi||r&&e.includeCallees===!0&&e.includeSignatures!==!0&&e.definitionCount<=Fi?0:zt}function Ai(n){let e=n?.trim().toLowerCase(),t=e==="0"||e==="false"||e==="off"||e==="worker",r=e==="1"||e==="true"||e==="on"||e==="durable",i=e===void 0||e==="";return{transport:t||!i&&!r?"worker":"durable",source:i?"default":"environment",fallback:"worker",valid:i||t||r,optOut:"SCIP_RUST_SEMANTIC_DURABLE_SESSION=0"}}function Ni(n){return Ai(n).transport}function _i(n,e){let t=null,r=!1,i=!1,o=!1,s=()=>t??=e(),a=()=>{i||(n.shutdown(),i=!0)},c=(f,l,p)=>{let d=Bi(f);r=!0;try{a()}catch{}_()&&Ie({type:"span",name:"rust.semantic.durable-session.request",durationMs:p,ok:!1,kind:l,session:"worker-fallback",reason:d})},u=(f,l,p)=>{if(o)throw new Error("Rust semantic failover session was already disposed.");if(r)return p(s());let d=performance.now();try{return l(n)}catch(S){c(S,f,performance.now()-d)}return p(s())};return{requestSemantic(f,l){return u("semantic",p=>p.requestSemantic(f,l),p=>p.requestSemantic(f,l))},requestImportDefinitions(f,l){return u("import-definitions",p=>p.requestImportDefinitions(f,l),p=>p.requestImportDefinitions(f,l))},shutdown(){if(o)return;o=!0;let f=[];try{a()}catch(l){f.push(l)}try{t?.shutdown()}catch(l){f.push(l)}if(f.length>0)throw f[0]}}}function Li(n,e,t={worker:()=>Oi(),durable:()=>Nt(n,{serverPath:We(zi()),semanticWorkerPath:We(Ht())})}){return Ni(e)==="durable"?_i(t.durable(),t.worker):t.worker()}function Oi(n={}){let e=null,t=null,r=1,i=!1,o=()=>{t&&(yn(t,{recursive:!0,force:!0}),t=null)},s=()=>{let u=e;e=null,u&&u.terminate(),o()},a=()=>{if(e)return e;let u=n.semanticWorkerPath?Ti(n.semanticWorkerPath):Ht();if(!ki(We(u)))throw new Error(`Rust semantic session worker was not found at ${We(u)}. Run npm run build before using built semantic Rust queries.`);return t=Ot(Sn(qt(),"scip-query-rust-session-")),e=new Ei(u,n.shareEnvironment?{env:wi}:void 0),e.unref(),e},c=()=>{let u=t??Ot(Sn(qt(),"scip-query-rust-session-"));return t=u,Sn(u,`${r++}.json`)};return{requestSemantic(u,f){if(i)throw new Error("Rust semantic session was already disposed.");let l=a(),p=c(),d=new SharedArrayBuffer(4),S=new Int32Array(d);if(l.postMessage({kind:"semantic",request:u,responsePath:p,sharedBuffer:d}),Atomics.wait(S,0,0,f)==="timed-out")throw s(),new Error(`Rust semantic session worker timed out after ${(f/1e3).toFixed(0)}s`);try{let g=Ui(Ut(p,"utf8"));if(!g.ok)throw new Error(g.error);return g.response}finally{yn(p,{force:!0})}},requestImportDefinitions(u,f){if(i)throw new Error("Rust semantic session was already disposed.");let l=a(),p=c(),d=new SharedArrayBuffer(4),S=new Int32Array(d);if(l.postMessage({kind:"import-definitions",request:u,responsePath:p,sharedBuffer:d}),Atomics.wait(S,0,0,f)==="timed-out")throw s(),new Error(`Rust semantic import-definition session worker timed out after ${(f/1e3).toFixed(0)}s`);try{let g=qi(Ut(p,"utf8"));if(!g.ok)throw new Error(g.error);return g.response}finally{yn(p,{force:!0})}},shutdown(){if(i)return;if(i=!0,!e){o();return}let u=c(),f=new SharedArrayBuffer(4),l=new Int32Array(f);e.postMessage({kind:"shutdown",responsePath:u,sharedBuffer:f}),Atomics.wait(l,0,0,5e3),s()}}}function Ui(n){let e=JSON.parse(n);if(!e||typeof e!="object")return{ok:!1,error:"Rust semantic session worker wrote a non-object response."};let t=e;return t.ok===!0&&"response"in t?{ok:!0,response:t.response}:{ok:!1,error:typeof e.error=="string"?e.error:"Rust semantic session worker failed."}}function qi(n){let e=JSON.parse(n);if(!e||typeof e!="object")return{ok:!1,error:"Rust semantic session worker wrote a non-object response."};let t=e;return t.ok===!0&&"response"in t?{ok:!0,response:t.response}:{ok:!1,error:typeof e.error=="string"?e.error:"Rust semantic session worker failed."}}function Bi(n){let e=n instanceof Error?`${n.name} ${n.message}`.toLowerCase():String(n).toLowerCase();return e.includes("readiness")?"readiness":e.includes("timeout")||e.includes("timed out")?"timeout":e.includes("helper")?"helper":"request"}function pe(n){return new Map(n.map(e=>[e.symbolId,[]]))}function de(n){return new Map(n.map(e=>[e.symbolId,[]]))}function Wt(n){return new Map(n.map(e=>[e.symbolId,null]))}function gn(n,e){return new Map(n.map(t=>[t.symbolId,e.get(t.symbolId)??[]]))}function ji(n,e){return new Map(n.map(t=>[t.symbolId,e.get(t.symbolId)??null]))}function Wi(n){let e=0;return n.includeReferences!==!1&&(e+=(n.referenceDefinitions??n.definitions).length),n.includeCallees===!0&&(e+=(n.calleeDefinitions??n.definitions).length),n.includeSignatures===!0&&(e+=(n.signatureDefinitions??n.definitions).length),Math.max(1,e)}function bn(n,e){return e&&e>0?Math.max(n,e):n}function Ht(){return new URL("./rust-semantic-session-worker.js",import.meta.url)}function zi(){return new URL("./rust-semantic-session-server.js",import.meta.url)}function Be(n,e){return Q(n)??e}function je(n,e){return $t(n)??e}function $t(n){if(!n)return null;let e=Number(n);return Number.isInteger(e)&&e>=0?e:null}var Mn=15e3,Dn=8;function Gt(n,e={}){let t=e.status??Ae,r=Vi(n,t),i=Yi(n,t),o=Ji(n,t),s=e.referenceResolver||e.calleeResolver||e.signatureResolver||!Hi(e)?null:Kt(n,t,{fallbackReferenceResolver:r,fallbackCalleeResolver:i,fallbackSignatureResolver:o}),a=e.referenceResolver??s??r,c=e.calleeResolver??s??i,u=e.signatureResolver??s??o,f=e.importUsageResolver??yt(e.sourceImportUsageResolver??$i(),e.importDefinitionResolver??s),l=e.calleeSymbolResolver,p=e.sourceZeroCalleeOracle,d=e.scipOccurrenceCalleeOracle,S=new Map,h=new Map,g=null,y=null,T=()=>(g??=t(n),g),P=()=>{let R=T();return R.dependencyAvailable?y??R:R},I=R=>{if(R.length===0)return new Map;let m=ye(R);try{let b=a.referencesForDefinitions(m),k=T();return y={...k,available:b.available,resolvedBinary:b.resolvedBinary??k.resolvedBinary,reason:b.reason??k.reason},b.available?new Map(b.references):z(m,b.references)}catch(b){return y={...T(),available:!1,reason:b instanceof Error?b.message:String(b)},V(m)}},C=R=>{if(R.length===0)return new Map;let m=ye(R),b=m.filter(Vt);if(b.length===0)return Y(m);let k=new Map,j=Jt(b,d),A=[];for(let D of b)h.has(D.symbolId)?k.set(D.symbolId,h.get(D.symbolId)??[]):j.has(D.symbolId)?k.set(D.symbolId,j.get(D.symbolId)??[]):Yt(D,p)?k.set(D.symbolId,[]):A.push(D);if(A.length===0)return re(m,k,void 0);try{let D=c.calleesForDefinitions(A),N=T();y={...N,available:D.available,resolvedBinary:D.resolvedBinary??N.resolvedBinary,reason:D.reason??N.reason};let E=re(A,D.callees,l);for(let[G,Je]of E)k.set(G,Je);return re(m,k,void 0)}catch(D){return y={...T(),available:!1,reason:D instanceof Error?D.message:String(D)},Y(m)}},x=(R,m)=>{let b=ye(R),k=ye(m),j=k.filter(Vt),A=new Map,D=Jt(j,d),N=[];for(let E of j)D.has(E.symbolId)?A.set(E.symbolId,D.get(E.symbolId)??[]):Yt(E,p)?A.set(E.symbolId,[]):N.push(E);if(b.length===0&&N.length===0)return{references:V(b),callees:re(k,A,void 0)};try{let E=s?s.referencesAndCalleesForDefinitions(b,N):Xi(a,c,{referenceDefinitions:b,calleeDefinitions:N}),G=T();y={...G,available:E.available,resolvedBinary:E.resolvedBinary??G.resolvedBinary,reason:E.reason??G.reason};let Je=E.available?new Map(E.references):z(b,E.references);for(let[Ge,Qe]of E.callees)A.set(Ge,Qe);let zn=re(k,A,l);for(let[Ge,Qe]of zn)h.set(Ge,Qe);return{references:Je,callees:zn}}catch(E){return y={...T(),available:!1,reason:E instanceof Error?E.message:String(E)},{references:V(b),callees:Y(k)}}},M=R=>{if(R.length===0)return new Map;let m=ye(R);try{let b=u.signaturesForDefinitions(m),k=T();return y={...k,available:b.available,resolvedBinary:b.resolvedBinary??k.resolvedBinary,reason:b.reason??k.reason},Qt(m,b.signatures)}catch(b){return y={...T(),available:!1,reason:b instanceof Error?b.message:String(b)},ze(m)}};return{language:"rust",availability:P,dispose:()=>{s?.dispose()},importUsage:R=>{let m=S.get(R);if(m)return m;try{let b=f.importUsage(R);return S.set(R,b),b}catch(b){return y={...T(),available:!1,reason:b instanceof Error?b.message:String(b)},[]}},referencesFor:R=>I([R]).get(R.symbolId)??[],referencesForDefinitions:I,referencesAndCalleesForDefinitions:x,calleesFor:R=>C([R]).get(R.symbolId)??[],calleesForDefinitions:C,signatureFor:R=>M([R]).get(R.symbolId)??null}}function Hi(n){if(n.usePersistentSession!==void 0)return n.usePersistentSession;let e=process.env.SCIP_RUST_SEMANTIC_SESSION;return e!=="0"&&e!=="false"}function $i(){return{importUsageFacts:()=>({usage:[],positions:[]})}}function ye(n){return n.map(e=>{let t=e;return{...e,leaf:typeof t.leaf=="string"?t.leaf:K(e.symbol),parentTypeName:t.parentTypeName??null,isFunctionLike:typeof t.isFunctionLike=="boolean"?t.isFunctionLike:rt(e.symbol),isTypeLike:t.isTypeLike??!1,kind:t.kind??null,documentation:t.documentation??null,enclosingSymbol:t.enclosingSymbol??null}})}function Vt(n){return n.isFunctionLike}function Yt(n,e){if(!e)return!1;try{return e(n)}catch{return!1}}function Jt(n,e){if(!e||n.length===0)return new Map;try{return e(n)}catch{return new Map}}function Vi(n,e){return{referencesForDefinitions:t=>Gi(n,e,t)}}function Yi(n,e){return{calleesForDefinitions:t=>Qi(n,e,t)}}function Ji(n,e){return{signaturesForDefinitions:t=>Zi(n,e,t)}}function Gi(n,e,t){let r=e(n);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:r.reason,references:V(t)};let i=vn();if(!In(i))return{available:!1,resolvedBinary:r.resolvedBinary,reason:`Rust semantic worker was not found at ${i}. Run npm run build before using built semantic Rust queries.`,references:V(t)};let o=ie(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,Mn),s=Ke(process.env.SCIP_RUST_SEMANTIC_REFERENCE_RETRY_TIMEOUT_MS,0),a=ie(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,Dn),c=Ke(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(o,1e4)),u=me(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:t.length,includeReferences:!0}),f={projectRoot:n,rustAnalyzerBinary:r.resolvedBinary,definitions:[...t],requestTimeoutMs:o,...s>0?{referenceRetryTimeoutMs:s}:{},diagnosticsTimeoutMs:c,settleDelayMs:u,concurrency:a},l=hn(process.execPath,[i],{cwd:n,input:JSON.stringify(f),encoding:"utf8",maxBuffer:50*1024*1024,timeout:$(t.length,bn(o,f.referenceRetryTimeoutMs),a)}),p=xn(l.stdout);if(p)return{available:p.available,resolvedBinary:r.resolvedBinary,reason:p.reason,references:z(t,new Map(p.references),new Set(p.incompleteReferenceSymbolIds??[]))};let d=l.error instanceof Error?l.error.message:l.stderr.trim()||`Rust semantic worker exited with status ${l.status??"unknown"}.`;return{available:!1,resolvedBinary:r.resolvedBinary,reason:d,references:V(t)}}function Qi(n,e,t){let r=e(n);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:r.reason,callees:Y(t)};let i=vn();if(!In(i))return{available:!1,resolvedBinary:r.resolvedBinary,reason:`Rust semantic worker was not found at ${i}. Run npm run build before using built semantic Rust queries.`,callees:Y(t)};let o=ie(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,Mn),s=ie(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,Dn),a=Ke(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(o,1e4)),c=me(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:t.length,includeReferences:!1,includeCallees:!0}),u={projectRoot:n,rustAnalyzerBinary:r.resolvedBinary,definitions:[...t],requestTimeoutMs:o,diagnosticsTimeoutMs:a,settleDelayMs:c,concurrency:s,includeReferences:!1,includeCallees:!0},f=hn(process.execPath,[i],{cwd:n,input:JSON.stringify(u),encoding:"utf8",maxBuffer:50*1024*1024,timeout:$(t.length,o,s)}),l=xn(f.stdout);if(l)return{available:l.available,resolvedBinary:r.resolvedBinary,reason:l.reason,callees:re(t,new Map(l.callees??[]),void 0)};let p=f.error instanceof Error?f.error.message:f.stderr.trim()||`Rust semantic worker exited with status ${f.status??"unknown"}.`;return{available:!1,resolvedBinary:r.resolvedBinary,reason:p,callees:Y(t)}}function Zi(n,e,t){let r=e(n);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:r.reason,signatures:ze(t)};let i=vn();if(!In(i))return{available:!1,resolvedBinary:r.resolvedBinary,reason:`Rust semantic worker was not found at ${i}. Run npm run build before using built semantic Rust queries.`,signatures:ze(t)};let o=ie(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,Mn),s=ie(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,Dn),a=Ke(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(o,1e4)),c=me(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:t.length,includeReferences:!1,includeCallees:!1,includeSignatures:!0}),u={projectRoot:n,rustAnalyzerBinary:r.resolvedBinary,definitions:[...t],requestTimeoutMs:o,diagnosticsTimeoutMs:a,settleDelayMs:c,concurrency:s,includeReferences:!1,includeCallees:!1,includeSignatures:!0},f=hn(process.execPath,[i],{cwd:n,input:JSON.stringify(u),encoding:"utf8",maxBuffer:50*1024*1024,timeout:$(t.length,o,s)}),l=xn(f.stdout);if(l)return{available:l.available,resolvedBinary:r.resolvedBinary,reason:l.reason,signatures:Qt(t,new Map(l.signatures??[]))};let p=f.error instanceof Error?f.error.message:f.stderr.trim()||`Rust semantic worker exited with status ${f.status??"unknown"}.`;return{available:!1,resolvedBinary:r.resolvedBinary,reason:p,signatures:ze(t)}}function Xi(n,e,t){let r=t.referenceDefinitions.length>0?n.referencesForDefinitions(t.referenceDefinitions):{available:!0,references:V(t.referenceDefinitions)},i=t.calleeDefinitions.length>0?e.calleesForDefinitions(t.calleeDefinitions):{available:!0,callees:Y(t.calleeDefinitions)};return{available:r.available&&i.available,resolvedBinary:r.resolvedBinary??i.resolvedBinary,reason:r.reason??i.reason,references:r.references,callees:i.callees}}function V(n){return new Map(n.map(e=>[e.symbolId,[]]))}function Y(n){return new Map(n.map(e=>[e.symbolId,[]]))}function ze(n){return new Map(n.map(e=>[e.symbolId,null]))}function re(n,e,t){let r=0,i=0;return w("rust.semantic.callees.complete-map",()=>{let o=new Map;for(let s of n){let a=e.get(s.symbolId)??[];a.length>0&&(r+=1),i+=a.length,o.set(s.symbolId,a.map(c=>({...c,symbol:t?t(c):c.symbol})))}return o},()=>({definitions:n.length,rows:r,callees:i,resolveSymbols:!!t}))}function Qt(n,e){return new Map(n.map(t=>[t.symbolId,e.get(t.symbolId)??null]))}function vn(){return Ki(new URL("./rust-semantic-worker.js",import.meta.url))}function xn(n){try{let e=JSON.parse(n);if(!e||typeof e!="object")return null;let t=e;return typeof t.available!="boolean"||!Array.isArray(t.references)?null:{available:t.available,reason:typeof t.reason=="string"?t.reason:void 0,references:t.references,incompleteReferenceSymbolIds:Array.isArray(t.incompleteReferenceSymbolIds)?t.incompleteReferenceSymbolIds.filter(r=>typeof r=="number"):void 0,callees:Array.isArray(t.callees)?t.callees:void 0,signatures:Array.isArray(t.signatures)?t.signatures:void 0}}catch{return null}}function ie(n,e){return Q(n)??e}function Ke(n,e){if(!n)return e;let t=Number(n);return Number.isInteger(t)&&t>=0?t:e}import{existsSync as eo,readFileSync as no}from"fs";import{deserializeSCIP as to,SymbolRole as ro}from"@c4312/scip";var Cn=new WeakMap;function Xt(n,e){let t=e.filter(io);if(t.length===0)return new Map;let r=!1,i=0,o=0;return w("rust.scip-occurrence.callees",()=>{let s=ao(n);if(r=!!s,!s)return new Map;let a=new Map;for(let c of t){let u=oo(n,s,c);u!==null&&(a.set(c.symbolId,u),i+=1,o+=u.length)}return a},()=>({definitions:e.length,candidates:t.length,indexAvailable:r,resolvedDefinitions:i,resolvedCallees:o}))}function io(n){return!(!n.symbol.startsWith("rust-analyzer ")||!n.relativePath.endsWith(".rs")||!n.isFunctionLike||n.leaf==="main"||ue(n.symbol))}function oo(n,e,t){let r=Me(n,t.relativePath);if(!r||r.language!=="rust")return null;let i=r.callables.find(u=>u.startLine!==t.startLine||u.endLine!==t.endLine?!1:u.name===t.leaf||t.leaf.endsWith(u.name)||u.name.endsWith(t.leaf));if(!i)return null;let o=r.callSites.filter(u=>u.line>=i.startLine&&u.line<=i.endLine);if(o.length===0)return null;let s=(e.occurrencesByFile.get(t.relativePath)??[]).filter(u=>u.line>=i.startLine&&u.line<=i.endLine&&u.callee.symbol!==t.symbol);if(s.some(u=>u.traitImplMember)||!so(o,s))return null;let a=[],c=new Set;for(let u of s){let f=`${u.callee.symbol}\0${u.callee.file}\0${u.callee.line}`;c.has(f)||(c.add(f),a.push(u.callee))}return a}function so(n,e){let t=Zt(n),r=Zt(e);if(t.size!==r.size)return!1;for(let[i,o]of t)if(r.get(i)!==o)return!1;return!0}function Zt(n){let e=new Map;for(let t of n){let r=t.calleeLeaf??t.leaf;if(!r)continue;let i=`${t.line}\0${r}`;e.set(i,(e.get(i)??0)+1)}return e}function ao(n){if(Cn.has(n))return Cn.get(n)??null;let e=co(n);return Cn.set(n,e),e}function co(n){if(!n.generation.indexPath||!eo(n.generation.indexPath))return null;try{let e=ve(n).filter(o=>o.symbol.startsWith("rust-analyzer ")&&o.relativePath.endsWith(".rs")&&o.isFunctionLike),t=new Map(e.map(o=>[o.symbol,o])),r=to(no(n.generation.indexPath)),i=new Map;for(let o of r.documents??[]){let s=o.relativePath;if(!s||!s.endsWith(".rs")||n.isIgnored(s))continue;let a=[];for(let c of o.occurrences??[]){if(!c.symbol||(c.symbolRoles&ro.Definition)!==0)continue;let u=t.get(c.symbol);if(!u)continue;let f=c.range?.[0];Number.isInteger(f)&&a.push({line:f,leaf:u.leaf,traitImplMember:ue(u.symbol),callee:{symbol:u.symbol,file:u.relativePath,line:u.startLine}})}i.set(s,a)}return{occurrencesByFile:i}}catch{return null}}var He=class{sessions=new WeakMap;getOrCreate(e,t,r){let i=lo(e,t),o=this.sessions.get(e);o||(o=new Map,this.sessions.set(e,o));let s=o.get(i);if(s)return s.hits+=1,s.lastUsedAtMs=Date.now(),s.provider;let a=Date.now(),c=r();return o.set(i,{key:i,language:t,projectRoot:e.config.projectRoot,provider:c,createdAtMs:a,lastUsedAtMs:a,hits:1}),c}sessionsFor(e){return[...this.sessions.get(e)?.values()??[]]}clear(e){let t=this.sessions.get(e);if(t)for(let r of t.values())r.provider.dispose?.();this.sessions.delete(e)}};function lo(n,e){return`${n.config.projectRoot}:${e}-workspace`}import{randomUUID as _o}from"crypto";import{existsSync as Lo,readFileSync as Oo}from"fs";import{dirname as Uo}from"path";import{performance as v}from"perf_hooks";function L(n,e,t){if(n.has(e))return n.get(e);let r=t();return n.set(e,r),r}import er from"path";function uo(n,e){return n.getReferences().map(t=>{let r=t.getNode();return $e(r,e)})}function fo(n){let e=n;return typeof e.findReferences=="function"?e.findReferences():[]}function nr(n,e,t,r){let i=[];for(let o of fo(n))for(let s of uo(o,r))s.file===e.relativePath&&s.line>=e.startLine&&s.line<=e.endLine||i.push(s);for(let o of t)i.push(o);return oe(i)}function tr(n,e,t,r){let i=[],o=t?.getStart();for(let s of n.getReferences()){let a=s.getNode();se(r,a.getSourceFile().getFilePath())===e&&(o!==void 0&&a.getStart()===o||i.push({location:$e(a,r),node:a}))}return i}function $e(n,e){let t=n.getSourceFile(),r=t.getLineAndColumnAtPos(n.getStart());return{file:se(e,t.getFilePath())??t.getBaseName(),line:r.line-1,column:r.column-1}}function rr(n,e,t){let r=n.getSourceFile(),i=Tn(r,n),o=n.getText(),s=new RegExp(`\\b${le(o)}\\b`,"g"),a=r.getFullText().split(`
|
|
2
|
-
`),c=[];for(let u=0;u<a.length;u++){if(u===i)continue;let f=a[u]??"";s.lastIndex=0;let l;for(;(l=s.exec(f))!==null;)c.push({file:e,line:u,column:l.index})}return oe(c.filter(u=>se(t,er.join(t,u.file))===e))}function kn(n){for(let e=n;e;e=e.getParent()){let t=e.getKindName();if(t.includes("Type")||t==="InterfaceDeclaration"||t==="TypeAliasDeclaration")return!0;if(t==="CallExpression"||t==="NewExpression"||t==="ExpressionStatement")return!1}return!1}function Tn(n,e){return n.getLineAndColumnAtPos(e.getStart()).line-1}function oe(n){let e=new Set,t=[];for(let r of n){let i=`${r.file}:${r.line}:${r.column}`;e.has(i)||(e.add(i),t.push(r))}return t}function se(n,e){let t=er.relative(n||process.cwd(),e).replace(/\\/g,"/");return!t||t.startsWith("..")?null:t}function ir(n,e,t,r){let i=po(e,r);return i.size===0?new Map:mo(n,t,i)}function po(n,e){let t=new Map;for(let r of W(n,e)){let i=K(r.symbol)??r.leaf;if(!i)continue;let o=t.get(i);o||(o=[],t.set(i,o)),o.push(r)}return t}function mo(n,e,t){let r=new Map,i=new Map;return e.forEachDescendant(o=>{for(let s of yo(n,o)){let a=t.get(s);if(!a)continue;let c=Tn(e,o);for(let u of a){if(c<u.startLine-1||c>u.endLine+1)continue;let f=Math.abs(c-u.startLine),l=i.get(u.symbolId);l!==void 0&&l<=f||(i.set(u.symbolId,f),r.set(u.symbolId,o))}}}),r}function yo(n,e){let t=[],r=i=>{i&&!t.includes(i)&&t.push(i)};if("getNameNode"in e&&typeof e.getNameNode=="function"){let i=e.getNameNode();r(i?.getText())}if("getName"in e&&typeof e.getName=="function"){let i=e.getName();r(i)}return n.Node.isIdentifier(e)&&r(e.getText()),t}var So=Hn("ts-definition-leaf-candidates",{clearGroups:["definition-catalog"]});function or(n,e,t,r){let i=Pn(n,e),o=wn(i.get(r)??[],t);if(o)return o;let s=[];for(let a of i.values())for(let c of a)((c.leaf||K(c.symbol)||"").includes(r)||c.symbol.includes(r))&&s.push(c);return wn(s,t)}function En(n,e,t,r){return wn(Pn(n,e).get(r)??[],t)}function sr(n,e){let t=new Map;for(let[r,i]of Pn(n,e)){let o=i[0];o&&t.set(r,o)}return t}function Pn(n,e){return So.get(n,e,()=>{let t=new Map;for(let r of W(n,e)){let i=r.leaf||K(r.symbol);if(!i)continue;let o=t.get(i);o||(o=[],t.set(i,o)),o.push({...r,leaf:i})}for(let r of t.values())r.sort((i,o)=>i.startLine-o.startLine||i.endLine-o.endLine||i.symbolId-o.symbolId);return t})}function wn(n,e){let t=null,r=Number.POSITIVE_INFINITY;for(let i of n){let o=Math.abs(i.startLine-e);(o<r||o===r&&t&&i.startLine<t.startLine)&&(t=i,r=o)}return t}import Fn from"path";function ar(n,e){let t=new Map,r=null,i=null,o=()=>(i??=he(n,{extensions:Ee}),i),s=()=>(r??=w("typescript.source-file-index",()=>go(n.config.projectRoot,e,o()),()=>({projects:e.length,indexedDocuments:o().length})),r),a=c=>ee(c)?L(t,c,()=>{let u=Se(Fn.resolve(n.config.projectRoot,c));for(let{project:f,sourceFiles:l}of s()){let p=l.get(u)??null;if(p||(p=f.addSourceFileAtPathIfExists(u)??null,p&&l.set(Se(p.getFilePath()),p)),p)return{project:f,sourceFile:p}}return null}):null;return{sourceFile:c=>a(c)?.sourceFile??null,sourceFileMatch:a,indexedTypeScriptLikeDocuments:o}}function go(n,e,t){let r=e.map(({project:i})=>({project:i,sourceFiles:new Map(i.getSourceFiles().map(o=>[Se(o.getFilePath()),o]))}));for(let i of t){let o=Se(Fn.resolve(n,i));for(let s of r){if(s.sourceFiles.has(o))break;let a=s.project.addSourceFileAtPathIfExists(o)??null;if(a){s.sourceFiles.set(Se(a.getFilePath()),a);break}}}return r}function Se(n){return Fn.resolve(n)}function An(n,e){for(let t of n)if(e===t.name||e.startsWith(`${t.name}/`))return t.name;return null}function cr(n){let e=`${n.relativeDir}/src`;return[`${e}/index.ts`,`${e}/index.tsx`,`${e}/index.mts`,`${e}/index.cts`]}import{existsSync as ge,readFileSync as Ro}from"fs";import F from"path";var Nn=["tsconfig.json","tsconfig.app.json","tsconfig.node.json","tsconfig.base.json"];function _n(n,e){let r=e?F.dirname(F.join(n,e)):n,i=F.resolve(n);for(;r.startsWith(i);){for(let s of Nn){let a=F.join(r,s);if(ge(a))return a}let o=F.dirname(r);if(o===r)break;r=o}for(let o of Nn){let s=F.join(n,o);if(ge(s))return s}return null}function lr(n){let e=n.config.projectRoot,t=new Set(bo(e,n.config.semantic?.typescript?.tsconfigs)),r=he(n,{includeIgnored:!1,extensions:Ee});for(let i of r){let o=_n(e,i);o&&t.add(F.resolve(o))}if(t.size===0){let i=_n(e);i&&t.add(F.resolve(i))}return[...t].filter(i=>!ur(e,i)).sort((i,o)=>i.localeCompare(o))}function bo(n,e=[]){let t=new Set;for(let r of e){let i=F.isAbsolute(r)?r:F.join(n,r);ge(i)&&t.add(F.resolve(i))}for(let r of ho(n))for(let i of Nn){let o=F.join(r,i);ge(o)&&t.add(F.resolve(o))}if(t.size===0){let r=_n(n);r&&t.add(F.resolve(r))}return[...t].filter(r=>!ur(n,r)).sort((r,i)=>r.localeCompare(i))}function ho(n){let e=F.join(n,"package.json");if(!ge(e))return[];let t;try{t=JSON.parse(Ro(e,"utf8"))}catch{return[]}return(Array.isArray(t.workspaces)?t.workspaces:t.workspaces?.packages??[]).flatMap(i=>Gn(n,i))}function ur(n,e){let t=F.relative(n,e).replace(/\\/g,"/");return t.startsWith("..")||t.includes("/node_modules/")||t.startsWith("node_modules/")||t.includes("/dist/")||t.startsWith("dist/")}var Io=32;function Sr(n,e){let t=w("typescript.provider.load",()=>ut());if(!t)return Pe("ts-morph is not installed");let r=w("typescript.provider.tsconfig-discovery",()=>lr(n));if(r.length===0)return Pe("no tsconfig found");try{let i=w("typescript.provider.project-bundles",()=>ft(t,r),()=>({tsconfigs:r.length}));return Mo(n,t,i)}catch(i){return Pe(i instanceof Error?i.message:String(i),r[0],r)}}function Mo(n,e,t,r={}){return w("typescript.provider.construct",()=>new On(n,e,t),()=>({tsconfigs:t.length,reusedProjects:r.reusedProjects===!0}))}var On=class{constructor(e,t,r){this.db=e;this.tsMorph=t;this.projects=r;this.workspacePackages=Jn(e.config.projectRoot),this.sourceFiles=ar(e,r)}db;tsMorph;projects;language="typescript";importUsageCache=new Map;referencesCache=new Map;calleesCache=new Map;fileCalleesCache=new Map;signatureCache=new Map;definitionNodeCache=new Map;fileDefinitionNodeCache=new Map;indexedDefinitionLeafCache=new Map;compilerCheckerCache=new WeakMap;packageImportReferenceIndex=null;packageExportIndex=null;workspacePackages;sourceFiles;availability(){return{available:!0,tsconfigPath:this.projects[0]?.tsconfigPath,tsconfigPaths:this.projects.map(e=>e.tsconfigPath)}}importUsage(e){return L(this.importUsageCache,e,()=>{let t=this.sourceFiles.sourceFile(e);if(!t)return[];let r=vo();return w("typescript.import-usage.file",()=>this.importUsageForSourceFile(e,t,r),()=>({file:e,...r}))})}referencesFor(e){return L(this.referencesCache,e.symbolId,()=>{let t=this.nodeForDefinition(e);return this.referencesForDefinitionNode(e,t)})}referencesForDefinitions(e,t={}){let r=new Map,i=_(),o=[];for(let f of e){let l=this.referencesCache.get(f.symbolId);l?r.set(f.symbolId,l):o.push(f)}if(o.length===0)return r;let s=o,a=t.exact?[]:o.filter(f=>!pr(f));if(a.length>=Io){let f=this.referencesForDefinitionsBySymbolScan(a);for(let l of a){let p=f.get(l.symbolId)??[];this.referencesCache.set(l.symbolId,p),r.set(l.symbolId,p)}if(s=o.filter(l=>pr(l)),s.length===0)return r}let c=new Map;for(let f of s){let l=c.get(f.relativePath);l?l.push(f):c.set(f.relativePath,[f])}let u=[];for(let[f,l]of c){let p=dr();w("typescript.references-map.file",()=>{let d=this.definitionNodesForFile(f);for(let S of l){i&&(p.cacheMisses+=1);let h=d.get(S.symbolId)??null;i&&(h?p.nodeHits+=1:p.nodeMisses+=1);try{let g=this.referencesForDefinitionNode(S,h,i?p:void 0);this.referencesCache.set(S.symbolId,g),r.set(S.symbolId,g)}catch{p.preciseSearchFailures+=1,u.push(S)}}},()=>({relativePath:f,definitions:l.length,...mr(p)}))}if(u.length>0){let f=this.referencesForDefinitionsBySymbolScan(u);for(let l of u){let p=f.get(l.symbolId)??[];this.referencesCache.set(l.symbolId,p),r.set(l.symbolId,p)}}return r}referenceFragmentsForFiles(e){let t=ve(this.db).filter(o=>ee(o.relativePath)),r=e.filter(o=>this.sourceFiles.sourceFile(o)!==null),i=this.referencesForDefinitionsBySymbolScan(t,r);return pt(t,i,r)}referencesForDefinitionsBySymbolScan(e,t){let r=_(),i=dr(),o=new Map,s=new Set(e.map(c=>c.symbolId)),a=new Map(e.map(c=>[c.symbolId,c]));for(let c of e)o.set(c.symbolId,[]);return w("typescript.references-map.inverted-scan",()=>{let c=r?v.now():0,u=t?this.packageImportReferencesForFiles(t):this.packageImportReferences();for(let g of e){let y=u.get(g.symbolId)??[];if(y.length>0){let T=o.get(g.symbolId)??[];T.push(...y),o.set(g.symbolId,T)}r&&(i.packageReferenceCount+=y.length)}r&&(i.packageRefsMs+=v.now()-c);let f=new Map,l=new Map,p=this.hierarchyTargetsForDefinitions(e),d=new Set(e.map(g=>g.leaf).filter(Boolean)),S=r?v.now():0;for(let g of t??this.sourceFiles.indexedTypeScriptLikeDocuments()){if(this.db.isIgnored(g))continue;let y=this.sourceFiles.sourceFile(g);y&&(r&&(i.scanFiles+=1),this.addReferencesFromSourceFileScan(y,g,s,a,p,d,f,l,o,r?i:void 0))}r&&(i.scanMs+=v.now()-S);let h=r?v.now():0;this.addHierarchyMemberReferences(e,o,r?i:void 0),r&&(i.hierarchyMs+=v.now()-h);for(let[g,y]of o){let T=oe(y);o.set(g,T),r&&(i.referenceCount+=T.length)}},()=>({definitions:e.length,...mr(i)})),o}addReferencesFromSourceFileScan(e,t,r,i,o,s,a,c,u,f){let l=this.compilerCheckerForSourceFile(e),p=e.compilerNode,d=ko(e),S=h=>{if(this.tsMorph.ts.isIdentifier(h)){if(f&&(f.identifiers+=1),!s.has(h.text)&&!d.has(h.text)){this.tsMorph.ts.forEachChild(h,S);return}let g=this.compilerReferenceSymbol(l,h,f);if(g){let y;a.has(g)?y=a.get(g)??null:(y=this.referenceDefinitionFromCompilerSymbol(g),a.set(g,y)),f&&(y?f.targetHits+=1:f.targetMisses+=1);let T=L(c,g,()=>this.compilerSymbolKeys(g)),P=null,I=null,C=y&&r.has(y.symbolId)?i.get(y.symbolId):void 0;if(C&&(P=Ln(p,h),!fr(C,t,P))){let x=p.getLineAndCharacterOfPosition(h.getStart(p));I={file:t,line:x.line,column:x.character};let M=u.get(C.symbolId)??[];M.push(I),u.set(C.symbolId,M),f&&(f.requestedHits+=1)}for(let x of T)for(let M of o.get(x)?.values()??[]){if(P??=Ln(p,h),fr(M,t,P))continue;if(!I){let m=p.getLineAndCharacterOfPosition(h.getStart(p));I={file:t,line:m.line,column:m.character}}let R=u.get(M.symbolId)??[];R.push(I),u.set(M.symbolId,R),f&&(f.requestedHits+=1)}}}this.tsMorph.ts.forEachChild(h,S)};S(p)}hierarchyTargetsForDefinitions(e){let t=new Map;for(let r of e){let i=this.nodeForDefinition(r),o=i?.compilerNode;if(!o||!this.isHierarchyMethod(o))continue;let s=o.parent;if(!this.isHierarchyContainer(s))continue;let a=this.compilerCheckerForSourceFile(i.getSourceFile()),c=a.getSymbolAtLocation(o.name);if(c)for(let u of this.hierarchyMemberSymbols(a,s,c))for(let f of this.compilerSymbolKeys(u)){let l=t.get(f)??new Map;l.set(r.symbolId,r),t.set(f,l)}}return t}hierarchyMemberSymbols(e,t,r){let i=new Set,o=new Set,s=(a,c,u)=>{if(!o.has(a)){o.add(a),i.add(c);for(let f of u){let l=f.getProperty(r.name);l&&s(f,l,this.hierarchyAncestorTypesForType(e,f))}}};return s(e.getTypeAtLocation(t),r,this.hierarchyAncestorTypes(e,t)),i}addHierarchyMemberReferences(e,t,r){let i=new Map;for(let o of e){let s=this.nodeForDefinition(o),a=s?.compilerNode;if(!a||!this.isHierarchyMethod(a))continue;let c=a.parent;if(!this.isHierarchyContainer(c))continue;let u=this.compilerCheckerForSourceFile(s.getSourceFile()),f=u.getSymbolAtLocation(a.name);if(!f)continue;let l=a.getSourceFile(),p=l.getLineAndCharacterOfPosition(a.name.getStart(l)),d={definition:o,location:{file:o.relativePath,line:p.line,column:p.character}},S=t.get(o.symbolId)??[];for(let g of this.hierarchyMemberSymbols(u,c,f))if(g!==f)for(let y of this.compilerSymbolLocations(g))S.push(y),r&&(r.hierarchyReferences+=1);t.set(o.symbolId,S);let h=this.hierarchyRootMemberSymbols(u,c,f);for(let g of h){let y=i.get(g)??new Map;y.set(o.symbolId,d),i.set(g,y)}r&&(r.hierarchyDefinitions+=1)}for(let o of i.values())if(!(o.size<2)){r&&(r.hierarchyFamilies+=1);for(let{definition:s}of o.values()){let a=t.get(s.symbolId)??[];for(let c of o.values())c.definition.symbolId!==s.symbolId&&(a.push(c.location),r&&(r.hierarchyReferences+=1));t.set(s.symbolId,a)}}}hierarchyRootMemberSymbols(e,t,r){let i=new Set,o=new Set,s=(a,c,u)=>{if(o.has(a))return;o.add(a);let f=!1;for(let l of u){let p=l.getProperty(r.name);p&&(f=!0,s(l,p,this.hierarchyAncestorTypesForType(e,l)))}if(!f)for(let l of this.compilerSymbolKeys(c))i.add(l)};return s(e.getTypeAtLocation(t),r,this.hierarchyAncestorTypes(e,t)),i}compilerSymbolKeys(e){return(e.declarations??[]).map(t=>{let r=t.getSourceFile();return`${r.fileName}\0${t.getStart(r)}\0${e.name}`})}compilerSymbolLocations(e){let t=[];for(let r of e.declarations??[]){let i=r.getSourceFile(),o=se(this.db.config.projectRoot,i.fileName);if(!o)continue;let s=r.name,a=i.getLineAndCharacterOfPosition((s??r).getStart(i));t.push({file:o,line:a.line,column:a.character})}return t}baseTypes(e,t){try{return e.getBaseTypes(t)??[]}catch{return[]}}hierarchyAncestorTypes(e,t){let r=new Set(this.hierarchyAncestorTypesForType(e,e.getTypeAtLocation(t)));for(let i of t.heritageClauses??[])for(let o of i.types)r.add(e.getTypeAtLocation(o));return[...r]}hierarchyAncestorTypesForType(e,t){let r=new Set(this.baseTypes(e,t));for(let i of t.getSymbol()?.declarations??[])if(this.isHierarchyContainer(i))for(let o of i.heritageClauses??[])for(let s of o.types)r.add(e.getTypeAtLocation(s));return[...r]}isHierarchyMethod(e){return this.tsMorph.ts.isMethodDeclaration(e)||this.tsMorph.ts.isMethodSignature(e)}isHierarchyContainer(e){return this.tsMorph.ts.isClassDeclaration(e)||this.tsMorph.ts.isClassExpression(e)||this.tsMorph.ts.isInterfaceDeclaration(e)}compilerReferenceSymbol(e,t,r){r&&(r.symbolLookups+=1);let i=e.getSymbolAtLocation(t);if(i){if((i.flags&this.tsMorph.ts.SymbolFlags.Alias)===0)return i;try{return r&&(r.aliasResolutions+=1),e.getAliasedSymbol(i)}catch{return i}}}calleesFor(e){return L(this.calleesCache,e.symbolId,()=>L(this.fileCalleesCache,e.relativePath,()=>this.calleeMapForFile(e.relativePath)).get(e.symbolId)??[])}calleesForDefinitions(e){let t=new Map,r=new Map;for(let i of e){let o=r.get(i.relativePath);o?o.push(i):r.set(i.relativePath,[i])}for(let[i,o]of r){let s=this.fileCalleesCache.get(i),a=new Set(o.map(u=>u.symbolId)),c=s??this.calleeMapForFile(i,a);for(let u of o){let f=c.get(u.symbolId)??[];this.calleesCache.set(u.symbolId,f),t.set(u.symbolId,f)}}return t}referencesForDefinitionNode(e,t,r){let i=r?v.now():0,o=this.packageImportReferencesForDefinition(e);if(r&&(r.packageRefsMs+=v.now()-i,r.packageReferenceCount+=o.length),!t)return o;let s=r?v.now():0,a=nr(t,e,o,this.db.config.projectRoot);return r&&(r.semanticRefsMs+=v.now()-s,r.referenceCount+=a.length),a}signatureFor(e){return L(this.signatureCache,e.symbolId,()=>{let t=this.nodeForDefinition(e);if(!t||!this.tsMorph.Node.isFunctionDeclaration(t)&&!this.tsMorph.Node.isMethodDeclaration(t)&&!this.tsMorph.Node.isArrowFunction(t)&&!this.tsMorph.Node.isFunctionExpression(t)&&!this.tsMorph.Node.isConstructorDeclaration(t))return null;let r=t.getType().getCallSignatures()[0];if(!r)return null;let i=r.getParameters().map(s=>{let a=s.getDeclarations()[0],c=a?s.getTypeAtLocation(a).getText(a):s.getValueDeclaration()?.getType().getText()??"unknown";return yr(c)}),o=r.getReturnType().getText(t);return`(${i.join(",")})=>${yr(o)}`})}importUsageForSourceFile(e,t,r){let i=[],o=new Map;for(let s of t.getImportDeclarations()){r.declarations+=1;let a=en(this.db,e,s.getModuleSpecifierValue()),c=s.getImportClause()?.isTypeOnly()??!1;for(let u of Un(s)){r.entries+=1;let f=c?null:u.identifier?.getSymbol()?.compilerSymbol??null;!c&&u.identifier&&(f?r.bindingSymbols+=1:r.missingBindingSymbols+=1);let l={sourcePath:a,entry:u,typeOnlyDeclaration:c,bindingSymbol:f,references:[]};if(i.push(l),c||!u.localName||!f)continue;let p=o.get(u.localName);p?p.push(l):o.set(u.localName,[l])}}return o.size>0&&t.forEachDescendant(s=>{if(s.getKindName()!=="Identifier")return;let a=o.get(s.getText());if(!a||xo(s))return;r.scannedIdentifiers+=1;let c=s.getSymbol()?.compilerSymbol;if(r.symbolLookups+=1,!!c){for(let u of a)if(u.bindingSymbol===c){u.references.push({location:$e(s,this.db.config.projectRoot),node:s}),r.matchedReferences+=1;break}}}),i.map(s=>s.typeOnlyDeclaration?Do(e,s.sourcePath,s.entry):s.entry.identifier&&!s.bindingSymbol?(r.fallbackEntries+=1,this.valueImportUsageForEntry(e,s.sourcePath,s.entry)):this.valueImportUsageFromLocations(e,s.sourcePath,s.entry,s.references))}valueImportUsageForEntry(e,t,r){let i=r.identifier?r.identifier.findReferences():[],o=[];for(let s of i)for(let a of tr(s,e,r.identifier,this.db.config.projectRoot))o.push(a);return this.valueImportUsageFromLocations(e,t,r,o)}valueImportUsageFromLocations(e,t,r,i){let o=i.some(c=>!kn(c.node)),s=i.some(c=>kn(c.node)),a=r.isTypeOnly;return{importer:e,sourcePath:t,importedName:r.importedName,localName:r.localName,kind:r.kind,isTypeOnly:a,isUsed:a||i.length>0,isTypeUsed:a||s,isValueUsed:o,references:i.map(c=>c.location)}}packageImportReferencesForDefinition(e){return this.packageImportReferences().get(e.symbolId)??[]}packageImportReferencesForFiles(e){let t=new Map,r=new Set;for(let o of e){let s=this.sourceFiles.sourceFile(o);if(s)for(let a of s.getImportDeclarations()){let c=An(this.workspacePackages,a.getModuleSpecifierValue());c&&r.add(c)}}if(r.size===0)return t;let i=this.packageExportsForNames(r);for(let o of e)this.addPackageImportReferencesForDocument(t,i,o);for(let[o,s]of t)t.set(o,oe(s));return t}packageImportReferences(){if(this.packageImportReferenceIndex)return this.packageImportReferenceIndex;let e=new Map,t=this.packageExports();for(let r of this.sourceFiles.indexedTypeScriptLikeDocuments())this.addPackageImportReferencesForDocument(e,t,r);for(let[r,i]of e)e.set(r,oe(i));return this.packageImportReferenceIndex=e,e}addPackageImportReferencesForDocument(e,t,r){if(this.db.isIgnored(r))return;let i=this.sourceFiles.sourceFileMatch(r);if(i)for(let o of i.sourceFile.getImportDeclarations())this.addPackageImportReferencesForDeclaration(e,t,r,o)}addPackageImportReferencesForDeclaration(e,t,r,i){let o=An(this.workspacePackages,i.getModuleSpecifierValue());if(!o)return;let s=t.get(o);if(s)for(let a of Un(i)){if(a.kind!=="named"||!a.identifier)continue;let c=s.get(a.importedName);if(!c||c.size===0)continue;let u=rr(a.identifier,r,this.db.config.projectRoot);u.length>0&&Po(e,c,u)}}packageExports(){return this.packageExportIndex?this.packageExportIndex:(this.packageExportIndex=this.packageExportsForNames(new Set(this.workspacePackages.map(e=>e.name))),this.packageExportIndex)}packageExportsForNames(e){let t=new Map;for(let r of this.workspacePackages){if(!e.has(r.name))continue;let i=new Map;for(let o of cr(r))this.collectPackageExports(r,o,i,new Set);i.size>0&&t.set(r.name,i)}return t}collectPackageExports(e,t,r,i){if(i.has(t))return;i.add(t);let o=this.sourceFiles.sourceFile(t);if(o)for(let s of o.getExportDeclarations()){let a=s.getModuleSpecifierValue(),c=a?en(this.db,t,a):t;if(!c||!c.startsWith(`${e.relativeDir}/src/`))continue;let u=s.getNamedExports();if(u.length===0){if(s.isNamespaceExport())continue;this.collectPackageExports(e,c,r,i);continue}for(let f of u){let l=f.getNameNode().getText(),p=f.getAliasNode()?.getText()??l,d=this.indexedDefinitionByLeaf(c,l);if(!d)continue;let S=r.get(p);S||(S=new Set,r.set(p,S)),S.add(d.symbolId)}}}indexedDefinitionByLeaf(e,t){return L(this.indexedDefinitionLeafCache,e,()=>sr(this.db,e)).get(t)??null}nodeForDefinition(e){return L(this.definitionNodeCache,e.symbolId,()=>this.definitionNodesForFile(e.relativePath).get(e.symbolId)??null)}definitionNodesForFile(e){return L(this.fileDefinitionNodeCache,e,()=>{let t=this.sourceFiles.sourceFile(e);return t?ir(this.tsMorph,this.db,t,e):new Map})}referenceDefinitionFromCompilerSymbol(e){return this.definitionFromCompilerSymbol(e,void 0,!0)}definitionFromCompilerSymbol(e,t,r=!1){let i=e.name,o=t?v.now():0,s=e.declarations??[];t&&(t.declarationsMs+=v.now()-o,t.declarationChecks+=s.length);for(let a of s){let c=t?v.now():0,u=a.getSourceFile(),f=se(this.db.config.projectRoot,u.fileName),l=u.getLineAndCharacterOfPosition(a.getStart(u)).line;if(t&&(t.declarationLocationMs+=v.now()-c),!f||this.db.isIgnored(f))continue;let p=t?v.now():0,d=this.compilerDeclarationName(a),S=r?En(this.db,f,l,i)??(d&&d!==i?En(this.db,f,l,d):null):or(this.db,f,l,i);if(t&&(t.indexedLookupMs+=v.now()-p),S)return{symbolId:S.symbolId,symbol:S.symbol,file:S.relativePath,line:S.startLine}}return null}compilerDeclarationName(e){let t=e.name;return t&&this.tsMorph.ts.isIdentifier(t)?t.text:null}calleeMapForFile(e,t){let r=_(),i=0,o=0,s=0,a=0,c=0,u=0,f=0,l=0,p=r?wo():void 0;return w("typescript.callee-map.file",()=>{let d=r?v.now():0,S=this.sourceFiles.sourceFile(e);if(r&&(c=Math.round(v.now()-d)),!S)return new Map;let h=r?v.now():0,g=W(this.db,e).sort((R,m)=>R.startLine-m.startLine||m.endLine-R.endLine);if(r&&(u=Math.round(v.now()-h)),i=g.length,g.length===0)return new Map;let y=new Map,T=r?v.now():0,P=this.compilerCheckerForSourceFile(S),I=S.compilerNode;r&&(f=Math.round(v.now()-T));let C=new Map,x=R=>{if(this.tsMorph.ts.isCallExpression(R)||this.tsMorph.ts.isNewExpression(R)){r&&(o+=1);let m=this.semanticCalleeForCallNode(P,I,g,R,C,t,p);m&&(r&&(s+=1),Co(y,m.callerId,m.target))}this.tsMorph.ts.forEachChild(R,x)},M=r?v.now():0;x(I),r&&(l=Math.round(v.now()-M));for(let[R,m]of y)y.set(R,Fo(m));return a=y.size,y},()=>({relativePath:e,definitions:i,callNodes:o,resolvedCallees:s,outputRows:a,requestedDefinitions:t?.size??i,sourceFileLookupMs:c,definitionsLoadMs:u,checkerLookupMs:f,traversalMs:l,...p?Eo(p):{}}))}semanticCalleeForCallNode(e,t,r,i,o,s,a){let c=a?v.now():0,u=To(r,Ln(t,i));if(a&&(a.callerLookupMs+=v.now()-c),!u)return null;if(s&&!s.has(u.symbolId))return a&&(a.skippedUnrequestedCallers+=1),null;let f=i.expression,l=this.compilerSymbolForExpression(e,f,a),p=null;if(l)if(a&&(a.targetSymbolHits+=1),o.has(l))a&&(a.compilerSymbolCacheHits+=1),p=o.get(l)??null;else{a&&(a.compilerSymbolCacheMisses+=1);let d=a?v.now():0;p=this.definitionFromCompilerSymbol(l,a),a&&(a.targetLookupMs+=v.now()-d),o.set(l,p)}else a&&(a.targetMisses+=1);return p?{callerId:u.symbolId,target:{symbol:p.symbol,file:p.file,line:p.line}}:null}compilerSymbolForExpression(e,t,r){let i=r?v.now():0,o=e.getSymbolAtLocation(t);if(r&&(r.expressionSymbolMs+=v.now()-i),o)return o;r&&(r.typeFallbacks+=1);let s=r?v.now():0,a=e.getTypeAtLocation(t).getSymbol();return r&&(r.typeSymbolMs+=v.now()-s),a}compilerCheckerForSourceFile(e){let t=e.getProject(),r=this.compilerCheckerCache.get(t);return r||(r=t.getTypeChecker().compilerObject,this.compilerCheckerCache.set(t,r)),r}};function Un(n){let e=[],t=n.getDefaultImport();t&&e.push({identifier:t,importedName:"default",localName:t.getText(),kind:"default",isTypeOnly:n.getImportClause()?.isTypeOnly()??!1});let r=n.getNamespaceImport();r&&e.push({identifier:r,importedName:"*",localName:r.getText(),kind:"namespace",isTypeOnly:n.getImportClause()?.isTypeOnly()??!1});for(let i of n.getNamedImports()){let o=i.getNameNode(),a=i.getAliasNode()??(o.getKindName()==="Identifier"?o:null);e.push({identifier:a,importedName:o.getText(),localName:a?.getText()??o.getText(),kind:"named",isTypeOnly:i.isTypeOnly()||(n.getImportClause()?.isTypeOnly()??!1)})}return e.length===0&&e.push({identifier:null,importedName:"*",localName:null,kind:"side-effect",isTypeOnly:!1}),e}function Do(n,e,t){return{importer:n,sourcePath:e,importedName:t.importedName,localName:t.localName,kind:t.kind,isTypeOnly:!0,isUsed:!0,isTypeUsed:!0,isValueUsed:!1,references:[]}}function vo(){return{declarations:0,entries:0,bindingSymbols:0,missingBindingSymbols:0,scannedIdentifiers:0,symbolLookups:0,matchedReferences:0,fallbackEntries:0}}function xo(n){for(let e=n;e;e=e.getParent())if(e.getKindName()==="ImportDeclaration")return!0;return!1}function Co(n,e,t){let r=n.get(e);r||(r=[],n.set(e,r)),r.push(t)}function ko(n){let e=new Set;for(let t of n.getImportDeclarations())for(let r of Un(t))r.localName&&e.add(r.localName);return e}function To(n,e){let t=null;for(let r of n)e<r.startLine||e>r.endLine||(!t||r.startLine>=t.startLine)&&(t=r);return t}function Ln(n,e){return n.getLineAndCharacterOfPosition(e.getStart(n)).line}function fr(n,e,t){return e===n.relativePath&&t>=n.startLine&&t<=n.endLine}function pr(n){return n.symbol.includes("#")?De(n.symbol)==="type"&&n.relativePath.endsWith(".d.ts"):!1}function wo(){return{callerLookupMs:0,expressionSymbolMs:0,typeSymbolMs:0,targetLookupMs:0,declarationsMs:0,declarationLocationMs:0,indexedLookupMs:0,compilerSymbolCacheHits:0,compilerSymbolCacheMisses:0,targetSymbolHits:0,targetMisses:0,typeFallbacks:0,declarationChecks:0,skippedUnrequestedCallers:0}}function Eo(n){return{...n,callerLookupMs:Math.round(n.callerLookupMs),expressionSymbolMs:Math.round(n.expressionSymbolMs),typeSymbolMs:Math.round(n.typeSymbolMs),targetLookupMs:Math.round(n.targetLookupMs),declarationsMs:Math.round(n.declarationsMs),declarationLocationMs:Math.round(n.declarationLocationMs),indexedLookupMs:Math.round(n.indexedLookupMs)}}function dr(){return{cacheHits:0,cacheMisses:0,nodeHits:0,nodeMisses:0,scanFiles:0,identifiers:0,symbolLookups:0,aliasResolutions:0,targetHits:0,targetMisses:0,requestedHits:0,scanMs:0,packageRefsMs:0,semanticRefsMs:0,packageReferenceCount:0,referenceCount:0,preciseSearchFailures:0,hierarchyDefinitions:0,hierarchyFamilies:0,hierarchyReferences:0,hierarchyMs:0}}function mr(n){return{...n,scanMs:Math.round(n.scanMs),packageRefsMs:Math.round(n.packageRefsMs),semanticRefsMs:Math.round(n.semanticRefsMs),hierarchyMs:Math.round(n.hierarchyMs)}}function Po(n,e,t){for(let r of e){let i=n.get(r)??[];i.push(...t),n.set(r,i)}}function Fo(n){let e=new Set,t=[];for(let r of n){let i=`${r.symbol}|${r.file}|${r.line}`;e.has(i)||(e.add(i),t.push(r))}return t}function yr(n){return n.replace(/\s+/g," ").replace(/\bimport\("[^"]+"\)\./g,"").trim()}import{join as Ao}from"path";var Ve=3;var No="typescript-semantic";function gr(n){let e=Ao(n,No),t=Te(e);return{...t,requestDir:t.legacyRequestDir}}var qo=12e4,Bo=5;function hr(n,e,t={}){let r=new qn(n,t),i=null,o=null,s=process.env.SCIP_QUERY_SKIP_WATCH_SERVICE==="1",a=()=>(i??=Sr(n,e),i),c=(l,p,d)=>{if(s)return d();try{return p(r.request(l))}catch{return s=!0,d()}},u=(l,p)=>c({kind:"references",definitions:[...l],...p?.exact?{exact:!0}:{}},d=>br(d),()=>a().referencesForDefinitions?.(l,p)??new Map(l.map(d=>[d.symbolId,a().referencesFor(d)]))),f=l=>c({kind:"callees",definitions:[...l]},p=>br(p),()=>a().calleesForDefinitions?.(l)??new Map(l.map(p=>[p.symbolId,a().calleesFor(p)])));return{language:"typescript",availability:()=>(o??=c({kind:"availability"},zo,()=>a().availability()),o),importUsage:l=>c({kind:"import-usage",file:l},p=>p,()=>a().importUsage(l)),referencesFor:l=>u([l]).get(l.symbolId)??[],referencesForDefinitions:u,referenceFragmentsForFiles:l=>c({kind:"reference-fragments",files:[...l]},p=>Wo(p),()=>a().referenceFragmentsForFiles?.(l)??new Map),calleesFor:l=>f([l]).get(l.symbolId)??[],calleesForDefinitions:f,signatureFor:l=>c({kind:"signature",definition:l},Ko,()=>a().signatureFor(l)),dispose:()=>i?.dispose?.()}}var qn=class{constructor(e,t={}){this.db=e;this.runtime=t.runtime??$o,this.timeoutMs=t.timeoutMs??Ho(),this.mailboxLimits=t.mailboxLimits??{},this.cacheDir=Uo(e.config.dbPath),this.projectRoot=lt(e.config.projectRoot)}db;runtime;timeoutMs;cacheDir;projectRoot;mailboxLimits;request(e){let t=ct(this.cacheDir),r=gr(this.cacheDir),i=rn(t.statePath);if(!Rr(i,this.projectRoot,this.runtime))throw new Error("Compatible TypeScript semantic service is not running.");let o=this.db.generation.identity;if(!o)throw new Error("Published TypeScript generation identity is unavailable.");let s=this.runtime.now(),a=s+this.timeoutMs,c=(this.runtime.monotonicNow??q)()+this.timeoutMs,u=Qn(),f=Z("typescript-semantic-v3",{generation:o,profileEnvironment:u,request:e}),l=X(f),p=we(r,{mailboxVersion:H,operationKey:f,clientId:this.runtime.randomId(),enqueuedAtMs:s,deadlineAtMs:a,protocolVersion:Ve,id:l,generation:o,profileEnvironment:u,request:e},{nowMs:s,limits:this.mailboxLimits});for(;(this.runtime.monotonicNow??q)()<=c;){if(Lo(p.responsePath))return jo(Oo(p.responsePath,"utf8"),l,o,f);let d=rn(t.statePath);if(!Rr(d,this.projectRoot,this.runtime))throw new Error("TypeScript semantic service stopped while processing a request.");this.runtime.sleep(Bo)}throw new Error(`TypeScript semantic service timed out after ${this.timeoutMs}ms.`)}};function Rr(n,e,t){let r=n?.processIdentity?t.readProcessIdentity?.(n.pid):null;return n!==null&&n.projectRoot===e&&n.typescriptSemantic?.protocolVersion===Ve&&t.isProcessAlive(n.pid)&&(!n.processIdentity||r!=null&&Ce(n.processIdentity,r))}function jo(n,e,t,r){let i=JSON.parse(n);if(i.protocolVersion!==Ve||i.id!==e||i.operationKey!==r||i.ok===!0&&i.generation!==t)throw new Error("TypeScript semantic service wrote an incompatible response.");if(i.ok===!0)return i.response;throw new Error(typeof i.error=="string"?i.error:"TypeScript semantic service request failed.")}function br(n){if(!Array.isArray(n))throw new Error("TypeScript semantic service wrote an invalid numeric map.");return new Map(n)}function Wo(n){if(!Array.isArray(n))throw new Error("TypeScript semantic service wrote an invalid string map.");return new Map(n)}function zo(n){if(!n||typeof n!="object"||typeof n.available!="boolean")throw new Error("TypeScript semantic service wrote invalid availability.");return n}function Ko(n){if(n!==null&&typeof n!="string")throw new Error("TypeScript semantic service wrote an invalid signature.");return n}function Ho(){let n=Number(process.env.SCIP_TYPESCRIPT_SEMANTIC_TIMEOUT_MS);return Number.isInteger(n)&&n>0?n:qo}var $o={now:Date.now,monotonicNow:q,randomId:_o,sleep(n){let e=new Int32Array(new SharedArrayBuffer(4));Atomics.wait(e,0,0,n)},isProcessAlive:xe,readProcessIdentity:ke};var Ir=new He;Kn({name:"semantic-provider",groups:["semantic-provider"],clearAll:n=>Ir.clear(n)});function J(n,e){let t=U(e)??"typescript";return Ir.getOrCreate(n,t,()=>t==="rust"?Gt(n.config.projectRoot,{sourceImportUsageResolver:{importUsageFacts:r=>mt(n,r)},calleeSymbolResolver:dt(n),sourceZeroCalleeOracle:r=>Vo(n,r),scipOccurrenceCalleeOracle:r=>Xt(n,r)}):hr(n,e))}function U(n){return n?Zn(n)==="rust"?"rust":ee(n)?"typescript":null:"typescript"}function Vo(n,e){let t=Me(n,e.relativePath);if(!t||t.language!=="rust")return!1;let r=t.callables.find(i=>i.startLine===e.startLine&&i.endLine===e.endLine&&i.name===e.leaf)??t.callables.find(i=>i.startLine===e.startLine&&i.endLine===e.endLine);return r?!t.callSites.some(i=>i.line>=r.startLine&&i.line<=r.endLine):!1}import{existsSync as Yo,readFileSync as Jo}from"fs";import{resolve as Go}from"path";function ul(n,e){return Ye(n,e,t=>{let r=t?`AND m.symbol_id IN (${t.map(()=>"?").join(",")})`:"";return n.all(`SELECT
|
|
3
|
-
m.symbol_id,
|
|
4
|
-
d.relative_path,
|
|
5
|
-
COUNT(*) AS ref_count
|
|
6
|
-
FROM mentions m
|
|
7
|
-
JOIN chunks c ON m.chunk_id = c.id
|
|
8
|
-
JOIN documents d ON c.document_id = d.id
|
|
9
|
-
WHERE m.role != 1
|
|
10
|
-
${r}
|
|
11
|
-
${n.pathExclusionsFor("d")}
|
|
12
|
-
GROUP BY m.symbol_id, d.relative_path`,...t??[])})}function fl(n,e){return Ye(n,e,t=>{let r=t?`AND m.symbol_id IN (${t.map(()=>"?").join(",")})`:"";return n.all(`SELECT DISTINCT m.symbol_id, d.relative_path
|
|
13
|
-
FROM mentions m
|
|
14
|
-
JOIN chunks c ON m.chunk_id = c.id
|
|
15
|
-
JOIN documents d ON c.document_id = d.id
|
|
16
|
-
WHERE m.role != 1
|
|
17
|
-
${r}
|
|
18
|
-
${n.pathExclusionsFor("d")}`,...t??[])}).filter(t=>t.symbol_id!==null)}function pl(n,e){return Ye(n,e,t=>{let r=t?`AND m.symbol_id IN (${t.map(()=>"?").join(",")})`:"";return n.all(`SELECT DISTINCT m.symbol_id
|
|
19
|
-
FROM mentions m
|
|
20
|
-
WHERE m.role != 1
|
|
21
|
-
${r}`,...t??[])}).filter(t=>t.symbol_id!==null)}function Mr(n,e){return Ye(n,e,t=>{let r=t?`AND m.symbol_id IN (${t.map(()=>"?").join(",")})`:"";return n.all(`SELECT DISTINCT m.symbol_id, d.relative_path, c.document_id,
|
|
22
|
-
c.start_line AS chunk_start, c.end_line AS chunk_end
|
|
23
|
-
FROM mentions m
|
|
24
|
-
JOIN chunks c ON m.chunk_id = c.id
|
|
25
|
-
JOIN documents d ON c.document_id = d.id
|
|
26
|
-
WHERE m.role != 1
|
|
27
|
-
${r}
|
|
28
|
-
${n.pathExclusionsFor("d")}
|
|
29
|
-
ORDER BY d.relative_path, c.start_line`,...t??[])})}function Ye(n,e,t){if(!e)return t();if(e.length===0)return[];let r=[];for(let i=0;i<e.length;i+=750)r.push(...t(e.slice(i,i+750)));return r}var Qo=/^[A-Za-z_][A-Za-z0-9_]*$/,Dr=/\bDefault::default\b/g,Zo=/^\.\.\s*Default::default\b/;function vr(n,e){let t=new Map,r=new Map;for(let i of e){let o=Bn(n,i,r);o!==null&&t.set(i.symbolId,o)}return t}function Bn(n,e,t=new Map){let r=es(e.symbol);if(!r)return null;let i=Mr(n,[e.symbolId]);if(i.length===0)return null;let o=new RegExp(`(^|[^A-Za-z0-9_])${le(r)}::default\\b`,"g"),s=new RegExp(`(^|[^A-Za-z0-9_])${le(r)}\\s*$`),a=Xo(n,e.symbolId),c=[];for(let u of i){let f=ns(n,u.relative_path,t);if(f===null)return null;let l=f.split(/\r?\n/),p=0,d=[],S=0;for(let h=u.chunk_start;h<=u.chunk_end&&h<l.length;h+=1){let y=l[h]??"",T=new Set;o.lastIndex=0;let P;for(;P=o.exec(y);)c.push({file:u.relative_path,line:h,column:P.index+P[1].length+r.length+2}),S+=1;for(let I=0;I<y.length;I+=1){let C=Zo.exec(y.slice(I));if(C){if(a&&d.includes(p)){let M=I+C[0].lastIndexOf("default");c.push({file:u.relative_path,line:h,column:M}),T.add(M),S+=1}I+=C[0].length-1;continue}let x=y[I];if(x==="{"){let M=s.test(y.slice(0,I));p+=1,M&&d.push(p);continue}if(x==="}")for(p=Math.max(0,p-1);d.length>0&&d[d.length-1]>p;)d.pop()}for(Dr.lastIndex=0;P=Dr.exec(y);){let I=P.index+9;if(!T.has(I))return null}}if(S===0)return null}return Ne(c)}function Xo(n,e){return n.get("SELECT 1 AS present FROM mentions WHERE symbol_id = ? AND role = 1 LIMIT 1",e)?.present===1}function es(n){let e=/impl#\[([^\]]+)\]\[Default\]default\(\)\./.exec(n)?.[1]??null;return!e||!Qo.test(e)?null:e}function ns(n,e,t){if(t.has(e))return t.get(e)??null;let r=n.get("SELECT text FROM documents WHERE relative_path = ?",e),i=typeof r?.text=="string"?r.text:ts(n,e);return t.set(e,i),i}function ts(n,e){let t=Go(n.config.projectRoot,e);if(!Yo(t))return null;try{return Jo(t,"utf8")}catch{return null}}function xr(n){let e=new Map;for(let t of n){let r=e.get(t.relativePath)??[];r.push(t),e.set(t.relativePath,r)}return e}var rs="typescript-import-usage-v1",is="typescript-signatures-v1",jn=$n("semantic-prefetched-callees",{clearGroups:["whole-project","source-file","semantic-provider"]}),Cr=tn({kind:"semantic-import-usage",invalidation:ce("semantic-import-usage"),serialize:n=>JSON.stringify(n),deserialize:Nr}),kr=tn({kind:"semantic-signatures",invalidation:ce("semantic-signatures"),serialize:n=>JSON.stringify(n),deserialize:ms}),Tr=nn({kind:"typescript-import-usage",invalidation:ce("typescript-import-usage"),serialize:n=>JSON.stringify(n),deserialize:Nr}),wr=nn({kind:"typescript-signatures",invalidation:ce("typescript-signatures"),serialize:n=>JSON.stringify(n),deserialize:ys});function be(n){let e=new Map,t=new Set;return{capability:(r,i)=>_r(n,r,i),importUsage:r=>ss(n,r),references:r=>Pr(n,r),materializeReferences:(r,i)=>Fr(n,r,e,t,i),callerMap:r=>as(n,r,e,t),calleeMap:r=>fs(n,r),signature:r=>ps(n,r)}}function os(n,e){if(e.size===0)return;let t=jn.get(n,()=>new Map);for(let[r,i]of e)t.set(r,[...i])}function Fl(n,e){if(!jn.has(n))return{hits:[],misses:[...e]};let t=jn.get(n,()=>new Map),r=[],i=[];for(let o of e)t.has(o.symbolId)?r.push({definition:o,callees:t.get(o.symbolId)??[]}):i.push(o);return{hits:r,misses:i}}function Al(n,e){return be(n).importUsage(e)}function ss(n,e){if(U(e)==="typescript"){let o="fallback",s=0,a=0,c=0,u=0;return w("typescript.import-usage.materialize",()=>{let f=on(n,e,rs);if(f?.key){s=1;let p=Tr.read(n,e,f.key);if(p)return o="hit",a=1,p;c=1;let d=B(n,e);if(!d)return o="unavailable",[];let S=d.importUsage(e);return Tr.write(n,e,f.key,S),o="computed",S}u=1;let l=B(n,e);return l?(o="direct-fallback",l.importUsage(e)):(o="unavailable",[])},()=>({state:o,eligible:s,cacheHits:a,cacheMisses:c,fallbacks:u}))}let t=Ar(n,"semantic-import-usage",e);if(t){let o=Cr.read(n,e,t);if(o)return o}let r=B(n,e);if(!r)return[];let i=r.importUsage(e);return t&&Cr.write(n,e,t,i),i}function Nl(n,e){return be(n).references(e)}function Pr(n,e){let t=Bn(n,e);if(t)return t;let r=gt(n,e);if(r)return r;let i=B(n,e.relativePath);return i?i.referencesFor(e):[]}function _l(n,e){return be(n).callerMap(e)}function Ll(n,e){let t=new Map,r=new Map;for(let i of e){if(U(i.relativePath)==="typescript"){let o=B(n,i.relativePath);if(!o)continue;let s=r.get(o)??[];s.push(i),r.set(o,s);continue}Wn(n,t,i,Pr(n,i))}for(let[i,o]of r){let s=an(n,o,c=>J(n,c)),a=s?.references??(i.referencesForDefinitions?i.referencesForDefinitions(o,{exact:!0}):new Map(o.map(c=>[c.symbolId,i.referencesFor(c)])));!s&&_()&&sn(n,o,a,c=>J(n,c));for(let c of o)Wn(n,t,c,a.get(c.symbolId)??[])}return t}function as(n,e,t=new Map,r=new Set){let i=new Map,o=Fr(n,e,t,r),s=0;return w("semantic.callers.from-references",()=>{for(let a of e)s+=Wn(n,i,a,t.get(a.symbolId)??[])},()=>({definitions:e.length,materialized:o.definitions,inMemoryHits:o.inMemoryHits,incompleteInMemoryHits:o.incompleteInMemoryHits,resultRows:i.size,callerFiles:s})),i}function Fr(n,e,t,r,i={}){let o=Xe(n),s=[],a=[],c=[],u=0,f=0,l=0,p=0,d=0,S=0,h=0,g=0,y=0,T=0,P=0,I=0,C=[],x=new Map,M=e.filter(m=>U(m.relativePath)==="typescript"&&!t.has(m.symbolId)&&!r.has(m.symbolId)),R=an(n,M,m=>J(n,m));if(R){y=M.length,T=R.cacheHits,P=R.cacheMisses,I=R.computedFiles;for(let m of M)t.set(m.symbolId,R.references.get(m.symbolId)??[])}if(w("semantic.references.cache-scan",()=>{for(let[m,b]of xr(e)){let k=[];for(let D of b)t.has(D.symbolId)?f+=1:r.has(D.symbolId)?g+=1:k.push(D);if(k.length===0){h+=1;continue}let j=cs(n,o,m);if(!j){for(let D of k)U(D.relativePath)||(u+=1),c.push(D);continue}S+=1;let A=Vn(n,m,j);for(let D of k){let N=A.get(D.symbol)??null;if(N!==null){let E=us(N);if(E){l+=1,t.set(D.symbolId,E);continue}p+=1}a.push({definition:D,cacheFingerprint:j})}}},()=>({definitions:e.length,skippedUnsupportedLanguage:u,cacheHits:l,parseFailures:p,misses:a.length,unkeyed:c.length,inMemoryHits:f,incompleteInMemoryHits:g,fullyInMemoryFiles:h,cacheReadFiles:S})),a.length>0||c.length>0){C=[...c,...a.map(m=>m.definition)],x=w("semantic.references.compute-misses",()=>{let m=ls(n,C,i);return d=m.size,m},()=>({definitions:C.length,misses:a.length,unkeyed:c.length,rows:d}));for(let m of C)x.has(m.symbolId)?(t.set(m.symbolId,x.get(m.symbolId)??[]),r.delete(m.symbolId)):r.add(m.symbolId);for(let{definition:m,cacheFingerprint:b}of a)x.has(m.symbolId)&&_r(n,"semantic-references",m.relativePath).available&&s.push({relativePath:m.relativePath,symbol:m.symbol,projectFingerprint:b,payload:JSON.stringify(x.get(m.symbolId)??[])})}return s.length>0&&w("semantic.references.cache-write",()=>Yn(n,s),()=>({entries:s.length})),x.size>0&&sn(n,C,x,m=>J(n,m)),{definitions:e.length,inMemoryHits:f,incompleteInMemoryHits:g,cacheHits:l,misses:a.length,unkeyed:c.length,skippedUnsupportedLanguage:u,parseFailures:p,computed:d,incomplete:r.size,cacheWrites:s.length,fragmentDefinitions:y,fragmentCacheHits:T,fragmentCacheMisses:P,fragmentComputedFiles:I}}function cs(n,e,t){if(!e)return null;let r=U(t);return r==="typescript"?e:r==="rust"?Ze(JSON.stringify({kind:"semantic-references",language:r,engine:pn(n.config.projectRoot),projectFingerprint:e})):null}function ls(n,e,t={}){let r=_(),i=new Map,o=0,s=0,a=0,c=0,u=0,f=0,l=0,p=0,d=0;return w("semantic.references.provider-loop",()=>{let S=vr(n,e),h=St(n,e),g=new Map,y=t.prefetchCallees?new Map:null,T=[];for(let I of e){let C,x=()=>(C??=B(n,I.relativePath),C);if(y){let b=x();if(b?.referencesAndCalleesForDefinitions){let k=y.get(b);k?k.push(I):y.set(b,[I]),d+=1}}let M=S.get(I.symbolId);if(M){a+=1,c+=M.length,Re(i,I.symbolId,M,r,b=>{l+=1,p+=b});continue}let R=h.get(I.symbolId);if(R){u+=1,f+=R.length,Re(i,I.symbolId,R,r,b=>{l+=1,p+=b});continue}let m=x();if(!m){r&&(s+=1);continue}if(r&&(o+=1),m.referencesForDefinitions){let b=g.get(m);b?b.push(I):g.set(m,[I])}else T.push({provider:m,definition:I})}let P=new Set;if(y)for(let[I,C]of y){if(!I.referencesAndCalleesForDefinitions)continue;let x=g.get(I)??[],M=I.referencesAndCalleesForDefinitions(x,C);P.add(I),os(n,M.callees);for(let R of x){if(!M.references.has(R.symbolId))continue;let m=M.references.get(R.symbolId)??[];Re(i,R.symbolId,m,r,b=>{l+=1,p+=b})}}for(let[I,C]of g){if(P.has(I))continue;let x=I.referencesForDefinitions(C);for(let M of C){if(!x.has(M.symbolId))continue;let R=x.get(M.symbolId)??[];Re(i,M.symbolId,R,r,m=>{l+=1,p+=m})}}for(let{provider:I,definition:C}of T){let x=I.referencesFor(C);Re(i,C.symbolId,x,r,M=>{l+=1,p+=M})}return i},()=>({definitions:e.length,providerHits:o,providerMisses:s,rustDefaultFastPathRows:a,rustDefaultFastPathReferences:c,rustScipOccurrenceFastPathRows:u,rustScipOccurrenceFastPathReferences:f,prefetchCalleeDefinitions:d,definitionsWithReferences:l,referenceCount:p,rows:i.size}))}function Re(n,e,t,r,i){n.set(e,t),r&&t.length>0&&i(t.length)}function Wn(n,e,t,r){let i=0;for(let o of r){if(o.file===t.relativePath||n.isIgnored(o.file))continue;let s=e.get(t.symbolId);s||(s=new Set,e.set(t.symbolId,s));let a=s.size;s.add(o.file),s.size!==a&&(i+=1)}return i}function us(n){try{return JSON.parse(n)}catch{return null}}function Ol(n,e){return be(n).calleeMap(e)}function fs(n,e){let t=_(),r=new Map,i=0,o=0,s=0,a=0;return w("semantic.callees.provider-loop",()=>{let c=new Map,u=[];for(let f of e){let l=B(n,f.relativePath);if(!l){t&&(o+=1);continue}t&&(i+=1);let p=f;if(l.calleesForDefinitions){let d=c.get(l);d?d.push(p):c.set(l,[p])}else u.push({provider:l,definition:p})}for(let[f,l]of c){let p=f.calleesForDefinitions(l);for(let d of l){let S=p.get(d.symbolId)??[];Er(r,d.symbolId,S,t,h=>{s+=1,a+=h})}}for(let{provider:f,definition:l}of u){let p=f.calleesFor(l);Er(r,l.symbolId,p,t,d=>{s+=1,a+=d})}return r},()=>({definitions:e.length,providerHits:i,providerMisses:o,definitionsWithCallees:s,calleeCount:a,rows:r.size}))}function Er(n,e,t,r,i){t.length>0&&(n.set(e,t),r&&i(t.length))}function Ul(n,e){return be(n).signature(e)}function ps(n,e){if(U(e.relativePath)==="typescript"){let s="fallback",a=0,c=0,u=0,f=0;return w("typescript.signature.materialize",()=>{let l=on(n,e.relativePath,is);if(l?.key){a=1;let d=wr.read(n,e.relativePath,l.key)??{};if(Object.prototype.hasOwnProperty.call(d,e.symbol))return s="hit",c=1,d[e.symbol]??null;u=1;let S=B(n,e.relativePath);if(!S)return s="unavailable",null;let h=S.signatureFor(e);return wr.write(n,e.relativePath,l.key,{...d,[e.symbol]:h}),s="computed",h}f=1;let p=B(n,e.relativePath);return p?(s="direct-fallback",p.signatureFor(e)):(s="unavailable",null)},()=>({state:s,eligible:a,cacheHits:c,cacheMisses:u,fallbacks:f}))}let t=Ar(n,"semantic-signatures",e.relativePath),r=ds(e);if(t){let s=kr.read(n,r,t);if(s)return s.signature}let i=B(n,e.relativePath);if(!i)return null;let o=i.signatureFor(e);return t&&kr.write(n,r,t,{signature:o}),o}function Ar(n,e,t){let r=Xe(n);if(!r)return null;let i=U(t);return i!=="rust"?null:Ze(JSON.stringify({kind:e,language:i,engine:pn(n.config.projectRoot),projectFingerprint:r}))}function ds(n){return`${n.relativePath}\0${n.symbol}`}function Nr(n){try{let e=JSON.parse(n);return Array.isArray(e)?e:null}catch{return null}}function ms(n){try{let e=JSON.parse(n);if(!e||typeof e!="object")return null;let t=e.signature;return t!==null&&typeof t!="string"?null:{signature:t}}catch{return null}}function ys(n){try{let e=JSON.parse(n);if(!e||typeof e!="object"||Array.isArray(e))return null;for(let t of Object.values(e))if(t!==null&&typeof t!="string")return null;return e}catch{return null}}function _r(n,e,t){let r=U(t);if(!r)return{slot:e,language:"typescript",available:!1,reason:"semantic evidence is only available for TypeScript or Rust files"};try{return{slot:e,language:r,...J(n,t).availability()}}catch(i){return{slot:e,language:r,available:!1,reason:i instanceof Error?i.message:String(i)}}}function B(n,e){if(!U(e))return null;let t=J(n,e);return t.availability().available?t:null}export{ul as a,fl as b,pl as c,Mr as d,xr as e,pn as f,U as g,be as h,Fl as i,Al as j,Nl as k,_l as l,Ll as m,ls as n,Ol as o,Ul as p};
|
|
30
|
-
//# sourceMappingURL=chunk-Z5QQPJ3U.js.map
|