scip-query 0.10.11 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +45 -0
- package/{vendor/scip/LICENSE.scip → LICENSE} +1 -0
- package/README.md +168 -55
- package/dist/augment-vue-worker.js +1 -1
- package/dist/chunk-2VSDXOG5.js +2 -0
- package/dist/chunk-343O6EVV.js +2 -0
- package/dist/chunk-3KDUITBE.js +7 -0
- package/dist/chunk-3T2FNHIU.js +2 -0
- package/dist/chunk-3V6JQQM5.js +2 -0
- package/dist/chunk-5AAAEZ2Z.js +2 -0
- package/dist/chunk-6Q6OFLFQ.js +8 -0
- package/dist/chunk-6XA4LDHY.js +2 -0
- package/dist/chunk-75X52JTA.js +2 -0
- package/dist/{chunk-54KGX7EX.js → chunk-7HB3CZFD.js} +2 -2
- package/dist/chunk-7JZRFDCU.js +2 -0
- package/dist/chunk-7XL7J7PT.js +3 -0
- package/dist/chunk-ALHNAPS2.js +2 -0
- package/dist/{chunk-JATUZIEH.js → chunk-BDRBPG7Y.js} +2 -2
- package/dist/chunk-BN5SXXQS.js +40 -0
- package/dist/chunk-C4ICAIJ4.js +3 -0
- package/dist/{chunk-LSET2TXH.js → chunk-CMHYBXJB.js} +2 -2
- package/dist/{chunk-YWYFU2V3.js → chunk-DRPAQAFM.js} +6 -6
- package/dist/chunk-FERAXG6Y.js +72 -0
- package/dist/chunk-FLJJLSGB.js +2 -0
- package/dist/chunk-FXG3PHVW.js +9 -0
- package/dist/chunk-GCN2P4EJ.js +2 -0
- package/dist/chunk-GHXRVCIY.js +21 -0
- package/dist/chunk-GNG622H3.js +3 -0
- package/dist/chunk-H4LUPLEJ.js +2 -0
- package/dist/{chunk-BASVXNY3.js → chunk-H56MGERE.js} +4 -4
- package/dist/chunk-H7NSJ7L2.js +5 -0
- package/dist/chunk-HINMXZ6J.js +2 -0
- package/dist/chunk-HXXMPYEF.js +2 -0
- package/dist/{chunk-Z3YYR4OS.js → chunk-HZKMEXA3.js} +2 -2
- package/dist/chunk-IFSX6YVU.js +4 -0
- package/dist/chunk-ISLWJ4PY.js +10 -0
- package/dist/chunk-J5WVNZ6O.js +2 -0
- package/dist/chunk-K2HYR5A7.js +3 -0
- package/dist/chunk-K6UI6EBZ.js +2 -0
- package/dist/chunk-KJCDEDQW.js +2 -0
- package/dist/{chunk-Z4HICZGY.js → chunk-KKMOB3OJ.js} +2 -2
- package/dist/{chunk-YWOOQ4FF.js → chunk-KMVGRIO2.js} +2 -2
- package/dist/chunk-LWOOTRHC.js +2 -0
- package/dist/{chunk-EY43NV4M.js → chunk-LZNLRE4X.js} +17 -8
- package/dist/chunk-M2YXL62V.js +23 -0
- package/dist/chunk-MNEJYEHW.js +3 -0
- package/dist/chunk-MTDBHTSF.js +2 -0
- package/dist/{chunk-ZQDIXAF5.js → chunk-N2Z3CU7X.js} +2 -2
- package/dist/chunk-N7PNFLGY.js +2 -0
- package/dist/chunk-NAH5EAZS.js +6 -0
- package/dist/chunk-NBXK32I6.js +2 -0
- package/dist/chunk-NJJ7AS4F.js +2 -0
- package/dist/{chunk-FDEQIPPK.js → chunk-NLMRJ7SI.js} +2 -2
- package/dist/chunk-ODVITBYU.js +26 -0
- package/dist/chunk-ORBRX2QJ.js +2 -0
- package/dist/chunk-P36UR5II.js +2 -0
- package/dist/chunk-PYZZBIEU.js +3 -0
- package/dist/chunk-PZS6J5YG.js +16 -0
- package/dist/{chunk-LM5SHAN4.js → chunk-QARYU7R3.js} +2 -2
- package/dist/chunk-QJ3FK4TB.js +38 -0
- package/dist/chunk-QXGTGE2C.js +35 -0
- package/dist/chunk-QZ4JVECJ.js +2 -0
- package/dist/chunk-R3JY4EZ4.js +102 -0
- package/dist/{chunk-VOYOYC5T.js → chunk-R5336VHZ.js} +2 -2
- package/dist/chunk-RJMXSHKM.js +2 -0
- package/dist/chunk-STBXCPKY.js +5 -0
- package/dist/chunk-T2FQ4GHD.js +9 -0
- package/dist/chunk-TFWDJDGO.js +2 -0
- package/dist/chunk-TG7QSYCJ.js +2 -0
- package/dist/{chunk-FKCGBZAC.js → chunk-TTS75UF2.js} +5 -5
- package/dist/{chunk-BVRS7RKQ.js → chunk-U7I373V4.js} +2 -2
- package/dist/chunk-UIKLA3F5.js +2 -0
- package/dist/{chunk-P753MDDE.js → chunk-UMPNL7T6.js} +2 -2
- package/dist/chunk-URSSPS5H.js +2 -0
- package/dist/chunk-VGMUFW3J.js +2 -0
- package/dist/chunk-VXTNADIW.js +18 -0
- package/dist/chunk-VYF5HA76.js +2 -0
- package/dist/chunk-WFGOH2UI.js +43 -0
- package/dist/chunk-WGA5BBTA.js +4 -0
- package/dist/chunk-WIBFXSYB.js +6 -0
- package/dist/chunk-WPSS37EW.js +2 -0
- package/dist/chunk-WQHWIVA7.js +3 -0
- package/dist/chunk-WS3Z6W3M.js +65 -0
- package/dist/chunk-WXVGNFAO.js +2 -0
- package/dist/{chunk-6LJHXREW.js → chunk-WZLPXFZU.js} +2 -2
- package/dist/chunk-X4O6K47U.js +2 -0
- package/dist/chunk-X6OGDTQH.js +2 -0
- package/dist/chunk-XEMQUN3Z.js +20 -0
- package/dist/{chunk-7B6LP46R.js → chunk-XHWLNQVZ.js} +2 -2
- package/dist/chunk-XMR747CP.js +2 -0
- package/dist/chunk-Y6L4LXPG.js +2 -0
- package/dist/chunk-YCPASUCX.js +2 -0
- package/dist/chunk-YZXV3CU3.js +60 -0
- package/dist/chunk-ZEKBR4OK.js +10 -0
- package/dist/chunk-ZMGBWSFZ.js +2 -0
- package/dist/cli.js +462 -274
- package/dist/{config-types-BDIWAYzr.d.ts → config-types-BrHl3Bge.d.ts} +61 -1
- package/dist/{db-Djj3Nqrb.d.ts → db-_Bdx0E1W.d.ts} +1 -1
- package/dist/diff-gate-types-CG2YQ_ei.d.ts +4 -0
- package/dist/{frontend-behavior-evidence-BxKpKWUu.d.ts → frontend-behavior-evidence-EfM4_9bc.d.ts} +1 -1
- package/dist/{health-D5J42g4D.d.ts → health-BEZ1Rt0S.d.ts} +54 -2
- package/dist/index.d.ts +10 -70
- package/dist/index.js +2 -2
- package/dist/postinstall.js +1 -4
- package/dist/queries/affected.d.ts +2 -2
- package/dist/queries/affected.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 +2 -2
- 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 +12 -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 +7 -3
- package/dist/queries/complexity-hotspots.js +1 -1
- package/dist/queries/complexity.d.ts +42 -4
- 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 +12 -3
- 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 +3 -3
- package/dist/queries/dead.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 +65 -8
- package/dist/queries/diff-gate.js +1 -1
- package/dist/queries/diff-impact.d.ts +21 -3
- package/dist/queries/diff-impact.js +1 -1
- package/dist/queries/doc-drift.d.ts +29 -2
- package/dist/queries/doc-drift.js +1 -1
- package/dist/queries/drift.d.ts +15 -3
- package/dist/queries/drift.js +1 -1
- package/dist/queries/duplicate-bodies.d.ts +55 -0
- package/dist/queries/duplicate-bodies.js +2 -0
- 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 +4 -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 +3 -2
- package/dist/queries/incomplete-migration.js +1 -1
- package/dist/queries/index.d.ts +12 -7
- 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 +2 -2
- package/dist/queries/methods.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 +11 -3
- package/dist/queries/passthrough-candidates.js +1 -1
- package/dist/queries/plan-context.d.ts +3 -2
- package/dist/queries/plan-context.js +1 -1
- package/dist/queries/react-component-duplicates.d.ts +7 -2
- package/dist/queries/react-component-duplicates.js +1 -1
- package/dist/queries/react-hook-candidates.d.ts +3 -3
- 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 +9 -4
- 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 +17 -10
- package/dist/queries/similar-signatures.js +1 -1
- package/dist/queries/similar.d.ts +85 -17
- 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/trace.d.ts +2 -2
- package/dist/queries/trace.js +1 -1
- package/dist/queries/twin-ab.d.ts +55 -0
- package/dist/queries/twin-ab.js +2 -0
- package/dist/queries/twin-drift.d.ts +97 -0
- package/dist/queries/twin-drift.js +2 -0
- 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 +7 -2
- package/dist/queries/vue-component-duplicates.js +1 -1
- package/dist/queries/vue-composable-candidates.d.ts +3 -3
- package/dist/queries/vue-composable-candidates.js +1 -1
- package/dist/queries/vue-large-view-pressure.d.ts +6 -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 +9 -9
- package/dist/reindex.d.ts +30 -4
- package/dist/reindex.js +19 -19
- package/dist/runtime.d.ts +12 -6
- package/dist/runtime.js +2 -2
- package/dist/{scip-cli-CnK9Va4O.d.ts → scip-cli-C7cg4ZHR.d.ts} +1 -1
- package/dist/symbol-types-DaoeXKUt.d.ts +66 -0
- package/docs/AGENT_GUIDE.md +20 -18
- package/docs/AI_FAILURE_MODES.md +36 -13
- package/docs/API.md +1 -1
- package/docs/COMMAND_REFERENCE.md +57 -14
- package/docs/DETECTOR_GUIDE.md +20 -3
- package/docs/REGEX_POLICY.md +34 -0
- package/docs/analyzer-inventory.md +48 -3
- package/docs/analyzer-validation-ledger.md +41 -6
- package/package.json +23 -7
- package/scripts/build-scip-windows.mjs +10 -7
- package/scripts/evidence-product-contract.mjs +197 -0
- package/skills/_shared/SKILL.md +243 -0
- package/skills/_shared/agents/openai.yaml +4 -0
- package/skills/scip-api-impact/SKILL.md +55 -71
- package/skills/scip-claim-audit/SKILL.md +105 -0
- package/skills/scip-claim-audit/agents/openai.yaml +4 -0
- package/skills/scip-cleanup-audit/SKILL.md +122 -0
- package/skills/scip-cleanup-audit/agents/openai.yaml +4 -0
- package/skills/scip-cleanup-improve/SKILL.md +84 -0
- package/skills/scip-cleanup-improve/agents/openai.yaml +4 -0
- package/skills/scip-concrete-plan/SKILL.md +181 -0
- package/skills/scip-concrete-plan/agents/openai.yaml +4 -0
- package/skills/scip-conductor/SKILL.md +133 -0
- package/skills/scip-conductor/agents/openai.yaml +4 -0
- package/skills/scip-debug/SKILL.md +60 -58
- package/skills/scip-diagram/SKILL.md +64 -94
- package/skills/scip-directory-architecture/SKILL.md +65 -107
- package/skills/scip-doc-reconcile/SKILL.md +56 -67
- package/skills/scip-explore/SKILL.md +78 -210
- package/skills/scip-hyper-optimization/SKILL.md +124 -198
- package/skills/scip-integrity-audit/SKILL.md +103 -0
- package/skills/scip-integrity-audit/agents/openai.yaml +4 -0
- package/skills/scip-language-playbook/SKILL.md +56 -326
- package/skills/scip-maintainability/SKILL.md +80 -219
- package/skills/scip-probe-reachability/SKILL.md +92 -0
- package/skills/scip-probe-reachability/agents/openai.yaml +4 -0
- package/skills/scip-query/SKILL.md +108 -124
- package/skills/scip-react-maintainability/SKILL.md +64 -82
- package/skills/scip-setup/SKILL.md +121 -0
- package/skills/scip-setup/agents/openai.yaml +4 -0
- package/skills/scip-tla-model-system/SKILL.md +138 -0
- package/skills/scip-tla-model-system/agents/openai.yaml +4 -0
- package/skills/scip-triage-issue/SKILL.md +53 -41
- package/skills/scip-twin-drift/SKILL.md +107 -0
- package/skills/scip-twin-drift/agents/openai.yaml +4 -0
- package/skills/scip-verify/SKILL.md +70 -88
- package/skills/scip-vue-maintainability/SKILL.md +67 -94
- package/dist/chunk-2KHTSEIL.js +0 -102
- package/dist/chunk-3VD3JMK2.js +0 -2
- package/dist/chunk-4UZO3XCV.js +0 -35
- package/dist/chunk-5GOLFJEO.js +0 -8
- package/dist/chunk-5OST6GYB.js +0 -2
- package/dist/chunk-65AU3HFZ.js +0 -2
- package/dist/chunk-6GN7FXCH.js +0 -2
- package/dist/chunk-6IR2AOBM.js +0 -7
- package/dist/chunk-6JRV4MY2.js +0 -23
- package/dist/chunk-6QSOCTZT.js +0 -18
- package/dist/chunk-72KY2ZFO.js +0 -2
- package/dist/chunk-7GO4EQF5.js +0 -2
- package/dist/chunk-7IVSJJZU.js +0 -7
- package/dist/chunk-7TWLSZK5.js +0 -2
- package/dist/chunk-A536TEU4.js +0 -3
- package/dist/chunk-AVWPHM2Q.js +0 -4
- package/dist/chunk-B32FX5KB.js +0 -2
- package/dist/chunk-B6MJ5VQV.js +0 -2
- package/dist/chunk-BFXPG2VN.js +0 -2
- package/dist/chunk-BSN22NRK.js +0 -9
- package/dist/chunk-BZ53S4ZN.js +0 -2
- package/dist/chunk-C5CTSJ6X.js +0 -6
- package/dist/chunk-CO5GJRP7.js +0 -2
- package/dist/chunk-CW5YFOCP.js +0 -5
- package/dist/chunk-DS6QEB3G.js +0 -5
- package/dist/chunk-E35O7UCB.js +0 -2
- package/dist/chunk-EXDQ35NN.js +0 -2
- package/dist/chunk-FAYI6KZ5.js +0 -2
- package/dist/chunk-FFVIFETB.js +0 -2
- package/dist/chunk-FG4NT6VY.js +0 -2
- package/dist/chunk-FXNWFMKW.js +0 -25
- package/dist/chunk-G5UPYQGL.js +0 -4
- package/dist/chunk-GQBMH2TQ.js +0 -2
- package/dist/chunk-GRJY65YT.js +0 -2
- package/dist/chunk-HF25DFSC.js +0 -3
- package/dist/chunk-HHN2B5KA.js +0 -2
- package/dist/chunk-IHUETYFW.js +0 -2
- package/dist/chunk-JCLDUKT6.js +0 -38
- package/dist/chunk-JGN2ZFJR.js +0 -2
- package/dist/chunk-JM72FNGA.js +0 -2
- package/dist/chunk-JME7OWD3.js +0 -2
- package/dist/chunk-KDFONWTW.js +0 -40
- package/dist/chunk-LPL4MA6R.js +0 -2
- package/dist/chunk-LZHUWKGD.js +0 -2
- package/dist/chunk-M4COR2H6.js +0 -2
- package/dist/chunk-NOJAM5ZV.js +0 -21
- package/dist/chunk-O6ZH6C6Y.js +0 -2
- package/dist/chunk-OBGRLXWF.js +0 -3
- package/dist/chunk-OLTESY4K.js +0 -3
- package/dist/chunk-ONPCQ2PM.js +0 -6
- package/dist/chunk-P4KYUPBD.js +0 -4
- package/dist/chunk-P5RYBRIO.js +0 -4
- package/dist/chunk-P7AL7Y37.js +0 -2
- package/dist/chunk-PFOCOG57.js +0 -2
- package/dist/chunk-QLAUCRDJ.js +0 -2
- package/dist/chunk-QPU7EXAW.js +0 -2
- package/dist/chunk-QYB5P7GL.js +0 -2
- package/dist/chunk-RNM6LMCF.js +0 -2
- package/dist/chunk-RVWSAMTT.js +0 -2
- package/dist/chunk-TK7O5ER5.js +0 -3
- package/dist/chunk-TQ5W2H3S.js +0 -4
- package/dist/chunk-USPV3T5K.js +0 -2
- package/dist/chunk-UUBMFL3F.js +0 -59
- package/dist/chunk-VCQYSG2M.js +0 -10
- package/dist/chunk-VUKC6F77.js +0 -20
- package/dist/chunk-W2CBNBEL.js +0 -71
- package/dist/chunk-W6BVEKYC.js +0 -3
- package/dist/chunk-WUCEKFQC.js +0 -3
- package/dist/chunk-XUGQU7PM.js +0 -41
- package/dist/chunk-Y5NBHMQX.js +0 -2
- package/dist/chunk-YCOFCT4B.js +0 -2
- package/dist/chunk-YZA6PPZL.js +0 -3
- package/skills/concrete-plan/SKILL.md +0 -372
- package/skills/concrete-plan/agents/openai.yaml +0 -4
- package/skills/scip-adoption/SKILL.md +0 -122
- package/skills/scip-adoption/agents/openai.yaml +0 -4
- package/skills/scip-ai-cleanup/SKILL.md +0 -153
- package/skills/scip-ai-cleanup/agents/openai.yaml +0 -4
- package/skills/scip-debloat/SKILL.md +0 -439
- package/skills/scip-debloat/agents/openai.yaml +0 -4
- package/skills/scip-health-audit/SKILL.md +0 -162
- package/skills/scip-health-audit/agents/openai.yaml +0 -4
- package/skills/scip-health-improve/SKILL.md +0 -155
- package/skills/scip-health-improve/agents/openai.yaml +0 -4
- package/skills/scip-query-setup/SKILL.md +0 -170
- package/skills/scip-query-setup/agents/openai.yaml +0 -3
- package/vendor/scip/README.md +0 -6
- package/vendor/scip/win32-arm64/scip.exe +0 -0
- package/vendor/scip/win32-x64/scip.exe +0 -0
|
@@ -8,7 +8,7 @@ interface InstallMethod {
|
|
|
8
8
|
/** Arguments for the command */
|
|
9
9
|
args: string[];
|
|
10
10
|
}
|
|
11
|
-
type SupportedLanguage = 'typescript' | 'javascript' | 'java' | 'scala' | 'kotlin' | 'rust' | 'python' | 'ruby' | 'go' | 'cpp' | 'c' | 'csharp' | 'vb' | 'dart' | 'php';
|
|
11
|
+
type SupportedLanguage = 'typescript' | 'javascript' | 'java' | 'scala' | 'kotlin' | 'rust' | 'python' | 'ruby' | 'go' | 'cpp' | 'c' | 'csharp' | 'vb' | 'dart' | 'php' | 'clojure';
|
|
12
12
|
type TypeScriptProjectMode = 'single' | 'workspace';
|
|
13
13
|
interface IndexerConfig {
|
|
14
14
|
language: SupportedLanguage;
|
|
@@ -27,6 +27,7 @@ interface IndexerConfig {
|
|
|
27
27
|
pnpmWorkspaces?: boolean;
|
|
28
28
|
indexerBinary: string;
|
|
29
29
|
projectPath?: string;
|
|
30
|
+
configPath?: string;
|
|
30
31
|
}) => {
|
|
31
32
|
binary: string;
|
|
32
33
|
args: string[];
|
|
@@ -66,6 +67,10 @@ interface ScipQueryConfig {
|
|
|
66
67
|
declaredCouplings?: DeclaredCouplingConfig[];
|
|
67
68
|
/** Optional analyzer configuration. */
|
|
68
69
|
locality?: LocalityConfig;
|
|
70
|
+
/** Enumeration-rot contracts: a declared key set that must track a ground-truth source. */
|
|
71
|
+
coverageContracts?: CoverageContractConfig[];
|
|
72
|
+
/** Documentation policy (snapshot-doc exemptions, ...). */
|
|
73
|
+
docs?: DocsConfig;
|
|
69
74
|
}
|
|
70
75
|
interface ProjectConfig {
|
|
71
76
|
/** Override which languages to index (default: auto-detect) */
|
|
@@ -74,6 +79,8 @@ interface ProjectConfig {
|
|
|
74
79
|
indexerConcurrency?: number;
|
|
75
80
|
/** Watch mode settings */
|
|
76
81
|
watch?: WatchConfig;
|
|
82
|
+
/** Agent hook behavior. */
|
|
83
|
+
hooks?: HookRuntimeConfig;
|
|
77
84
|
/** Per-language indexer overrides */
|
|
78
85
|
indexer?: Partial<Record<SupportedLanguage, IndexerOverrides>>;
|
|
79
86
|
/** Override the database storage path (default: ~/.cache/scip-query/<hash>/) */
|
|
@@ -88,11 +95,58 @@ interface ProjectConfig {
|
|
|
88
95
|
declaredCouplings?: DeclaredCouplingConfig[];
|
|
89
96
|
/** Optional locality analyzer configuration. */
|
|
90
97
|
locality?: LocalityConfig;
|
|
98
|
+
/** Enumeration-rot contracts: a declared key set that must track a ground-truth source. */
|
|
99
|
+
coverageContracts?: CoverageContractConfig[];
|
|
100
|
+
/** Documentation policy (snapshot-doc exemptions, ...). */
|
|
101
|
+
docs?: DocsConfig;
|
|
102
|
+
}
|
|
103
|
+
type CoverageContractKeySpec = {
|
|
104
|
+
type: 'object-literal-keys';
|
|
105
|
+
identifier: string;
|
|
106
|
+
} | {
|
|
107
|
+
type: 'string-array';
|
|
108
|
+
identifier: string;
|
|
109
|
+
} | {
|
|
110
|
+
type: 'markdown-list';
|
|
111
|
+
marker: string;
|
|
112
|
+
};
|
|
113
|
+
type CoverageContractSourceSpec = {
|
|
114
|
+
type: 'top-level-dirs';
|
|
115
|
+
path: string;
|
|
116
|
+
} | {
|
|
117
|
+
type: 'file-glob';
|
|
118
|
+
pattern: string;
|
|
119
|
+
} | {
|
|
120
|
+
type: 'registered-commands';
|
|
121
|
+
} | {
|
|
122
|
+
type: 'builtin-skills';
|
|
123
|
+
};
|
|
124
|
+
interface CoverageContractConfig {
|
|
125
|
+
/** Human-readable name for the contract, used in finding messages. */
|
|
126
|
+
name: string;
|
|
127
|
+
/** File the declared key set is extracted from. */
|
|
128
|
+
file: string;
|
|
129
|
+
/** How to extract the declared key set from `file`. */
|
|
130
|
+
keys: CoverageContractKeySpec;
|
|
131
|
+
/** The ground-truth source the declared key set must track. */
|
|
132
|
+
mustEqual: CoverageContractSourceSpec;
|
|
133
|
+
/** When false (the default), declared keys with no ground-truth match are also flagged. */
|
|
134
|
+
allowExtra?: boolean;
|
|
91
135
|
}
|
|
92
136
|
interface LocalityConfig {
|
|
93
137
|
/** Folder names that should be treated as architectural ownership boundaries. */
|
|
94
138
|
architecturalBoundarySegments?: string[];
|
|
95
139
|
}
|
|
140
|
+
interface DocsConfig {
|
|
141
|
+
/**
|
|
142
|
+
* Glob patterns (see src/analysis/glob-match.ts for supported syntax) for
|
|
143
|
+
* dated snapshot docs that intentionally cite code "as of" a moment in
|
|
144
|
+
* time — excluded from diff-gate's doc-reference check and doc-drift's
|
|
145
|
+
* default findings. A `<!-- scip-query: snapshot -->` marker inside a doc
|
|
146
|
+
* has the same effect regardless of its path.
|
|
147
|
+
*/
|
|
148
|
+
snapshotPaths?: string[];
|
|
149
|
+
}
|
|
96
150
|
interface DeclaredCouplingConfig {
|
|
97
151
|
/** Human-readable name for the maintenance unit. */
|
|
98
152
|
name: string;
|
|
@@ -144,6 +198,10 @@ interface WatchConfig {
|
|
|
144
198
|
/** Extra glob patterns to ignore beyond .gitignore */
|
|
145
199
|
ignore?: string[];
|
|
146
200
|
}
|
|
201
|
+
interface HookRuntimeConfig {
|
|
202
|
+
/** Prompt router mode for project-local hooks (default: single). */
|
|
203
|
+
router?: 'off' | 'single';
|
|
204
|
+
}
|
|
147
205
|
interface IndexerOverrides {
|
|
148
206
|
/** Enable pnpm workspace support (TypeScript) */
|
|
149
207
|
pnpmWorkspaces?: boolean;
|
|
@@ -151,6 +209,8 @@ interface IndexerOverrides {
|
|
|
151
209
|
projectMode?: TypeScriptProjectMode;
|
|
152
210
|
/** Explicit TypeScript project roots or tsconfig paths, relative to project root unless absolute */
|
|
153
211
|
projects?: string[];
|
|
212
|
+
/** Indexer-specific config file path, relative to project root */
|
|
213
|
+
configPath?: string;
|
|
154
214
|
}
|
|
155
215
|
|
|
156
216
|
export type { FindingSuppression as F, IndexerConfig as I, ProjectConfig as P, ScipQueryConfig as S, TypeScriptProjectMode as T, SupportedLanguage as a };
|
package/dist/{frontend-behavior-evidence-BxKpKWUu.d.ts → frontend-behavior-evidence-EfM4_9bc.d.ts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
type FrontendBehaviorEvidenceClass = 'domain-behavior' | 'generic-workflow-scaffolding' | 'mixed' | 'shared-abstraction';
|
|
2
2
|
type FrontendBehaviorActionTier = 'signal' | 'support';
|
|
3
3
|
|
|
4
|
-
export type {
|
|
4
|
+
export type { FrontendBehaviorEvidenceClass as F, FrontendBehaviorActionTier as a };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { S as ScipDatabase } from './db-
|
|
1
|
+
import { S as ScipDatabase } from './db-_Bdx0E1W.js';
|
|
2
2
|
import { stats } from './queries/stats.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -70,12 +70,39 @@ interface GitEvidenceSummary {
|
|
|
70
70
|
changes: number;
|
|
71
71
|
fixChanges: number;
|
|
72
72
|
}>;
|
|
73
|
+
commitsScanned: number;
|
|
73
74
|
}
|
|
74
75
|
interface SuppressionSummary {
|
|
75
76
|
total: number;
|
|
76
77
|
byCategory: Record<string, number>;
|
|
77
78
|
}
|
|
78
79
|
|
|
80
|
+
/**
|
|
81
|
+
* Pure finding-outcome ledger math. Closes the round-1 finding "the
|
|
82
|
+
* validation axis computes per-detector lift and feeds nothing": this
|
|
83
|
+
* module tracks, per finding identity, whether a detector's output is
|
|
84
|
+
* actually being acted on — and reports that, without changing which
|
|
85
|
+
* findings get emitted (downranking stays a human/config decision).
|
|
86
|
+
*
|
|
87
|
+
* Storage lives in src/storage/evidence-cache.ts (finding_outcome_ledger
|
|
88
|
+
* table); this module is the pure transition + stats core the storage
|
|
89
|
+
* layer's rows flow through. Clock is injected everywhere so tests never
|
|
90
|
+
* depend on wall time.
|
|
91
|
+
*/
|
|
92
|
+
|
|
93
|
+
interface DetectorPrecisionStats {
|
|
94
|
+
check: string;
|
|
95
|
+
/** Distinct finding identities ever recorded for this check. */
|
|
96
|
+
seen: number;
|
|
97
|
+
resolved: number;
|
|
98
|
+
suppressed: number;
|
|
99
|
+
stillOpen: number;
|
|
100
|
+
resolutionRate: number;
|
|
101
|
+
suppressionRate: number;
|
|
102
|
+
/** Age (days) of the oldest still-open finding; null when none are open. */
|
|
103
|
+
oldestOpenAgeDays: number | null;
|
|
104
|
+
}
|
|
105
|
+
|
|
79
106
|
type FindingEvidence = 'graph-fact' | 'heuristic' | 'change-graph';
|
|
80
107
|
interface HealthAction {
|
|
81
108
|
category: string;
|
|
@@ -155,6 +182,10 @@ interface HealthValidation {
|
|
|
155
182
|
fixDensity: number;
|
|
156
183
|
lift: number | null;
|
|
157
184
|
}>;
|
|
185
|
+
validationBasis: {
|
|
186
|
+
method: 'subject-regex';
|
|
187
|
+
commitsScanned: number;
|
|
188
|
+
};
|
|
158
189
|
}
|
|
159
190
|
interface HealthReport {
|
|
160
191
|
/** Headline = min(riskScore, hygieneScore); kept for compatibility. */
|
|
@@ -176,6 +207,10 @@ interface HealthReport {
|
|
|
176
207
|
isolatedLoc: number;
|
|
177
208
|
cycles: number;
|
|
178
209
|
similarPairs: number;
|
|
210
|
+
duplicateBodyGroups: number;
|
|
211
|
+
duplicateBodyLoc: number;
|
|
212
|
+
twinDriftGroups: number;
|
|
213
|
+
twinDriftLoc: number;
|
|
179
214
|
reactComponentDuplicatePairs: number;
|
|
180
215
|
reactHookCandidatePairs: number;
|
|
181
216
|
reactHookCandidateScoreCount: number;
|
|
@@ -193,6 +228,7 @@ interface HealthReport {
|
|
|
193
228
|
complexityHotspotCount: number;
|
|
194
229
|
hiddenCouplingPairs: number | null;
|
|
195
230
|
hiddenCouplingScoreCount: number | null;
|
|
231
|
+
coverageContractViolations: number;
|
|
196
232
|
};
|
|
197
233
|
axes: HealthAxes;
|
|
198
234
|
validation: HealthValidation | null;
|
|
@@ -208,9 +244,16 @@ interface HealthReport {
|
|
|
208
244
|
file?: string;
|
|
209
245
|
}>;
|
|
210
246
|
warnings?: string[];
|
|
247
|
+
/**
|
|
248
|
+
* Per-check finding-outcome stats from the finding_outcome_ledger
|
|
249
|
+
* (populated by `diff-gate --hook` runs) — resolution/suppression rate
|
|
250
|
+
* and open-finding age. Reports, never affects the score above. Empty
|
|
251
|
+
* until the ledger has data.
|
|
252
|
+
*/
|
|
253
|
+
detectorPrecision: DetectorPrecisionStats[];
|
|
211
254
|
}
|
|
212
255
|
|
|
213
|
-
declare const HEALTH_PHASES: readonly ["overview", "dead", "isolated", "cycles", "similar", "react-component-duplicates", "react-hook-candidates", "react-large-component-pressure", "vue-component-duplicates", "vue-composable-candidates", "vue-large-view-pressure", "extract-candidates", "wrapper-candidates", "passthrough-candidates", "stale-abstractions", "drift", "complexity-hotspots", "git-evidence", "suppressions"];
|
|
256
|
+
declare const HEALTH_PHASES: readonly ["overview", "dead", "isolated", "cycles", "similar", "duplicate-bodies", "twin-drift", "react-component-duplicates", "react-hook-candidates", "react-large-component-pressure", "vue-component-duplicates", "vue-composable-candidates", "vue-large-view-pressure", "extract-candidates", "wrapper-candidates", "passthrough-candidates", "stale-abstractions", "drift", "complexity-hotspots", "git-evidence", "suppressions", "coverage-contracts"];
|
|
214
257
|
type HealthPhaseName = (typeof HEALTH_PHASES)[number];
|
|
215
258
|
type HealthPhaseResult = {
|
|
216
259
|
phase: 'overview';
|
|
@@ -228,6 +271,12 @@ type HealthPhaseResult = {
|
|
|
228
271
|
} | {
|
|
229
272
|
phase: 'similar';
|
|
230
273
|
similarCount: number;
|
|
274
|
+
} | {
|
|
275
|
+
phase: 'duplicate-bodies';
|
|
276
|
+
duplicateBodies: CountLocSummary;
|
|
277
|
+
} | {
|
|
278
|
+
phase: 'twin-drift';
|
|
279
|
+
twinDrift: CountLocSummary;
|
|
231
280
|
} | {
|
|
232
281
|
phase: 'react-component-duplicates';
|
|
233
282
|
reactComponentDuplicates: CountLocSummary;
|
|
@@ -270,6 +319,9 @@ type HealthPhaseResult = {
|
|
|
270
319
|
} | {
|
|
271
320
|
phase: 'suppressions';
|
|
272
321
|
suppressions: SuppressionSummary;
|
|
322
|
+
} | {
|
|
323
|
+
phase: 'coverage-contracts';
|
|
324
|
+
coverageContracts: CountLocSummary;
|
|
273
325
|
};
|
|
274
326
|
/**
|
|
275
327
|
* Single composite health report that runs all de-bloat analyses
|
package/dist/index.d.ts
CHANGED
|
@@ -1,73 +1,9 @@
|
|
|
1
|
-
import { S as ScipDatabase } from './db-
|
|
2
|
-
export { c as createGitignoreFilter } from './db-
|
|
3
|
-
|
|
1
|
+
import { S as ScipDatabase } from './db-_Bdx0E1W.js';
|
|
2
|
+
export { c as createGitignoreFilter } from './db-_Bdx0E1W.js';
|
|
3
|
+
import { S as SymbolMatch, I as IndexedDefinition, a as ScipSymbol, b as ScipLocalSymbol } from './symbol-types-DaoeXKUt.js';
|
|
4
|
+
export { S as ScipQueryConfig } from './config-types-BrHl3Bge.js';
|
|
4
5
|
import 'better-sqlite3';
|
|
5
6
|
|
|
6
|
-
/**
|
|
7
|
-
* A symbol's location in the SCIP index. The minimum data needed to
|
|
8
|
-
* identify a definition: which document it lives in, which lines it
|
|
9
|
-
* spans, and the global symbol id. Used as a lightweight handle when
|
|
10
|
-
* the caller doesn't need the symbol's textual name or path.
|
|
11
|
-
*/
|
|
12
|
-
interface SymbolLocation {
|
|
13
|
-
documentId: number;
|
|
14
|
-
startLine: number;
|
|
15
|
-
endLine: number;
|
|
16
|
-
symbolId: number;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* A SymbolLocation plus the human-readable bits: the SCIP symbol string
|
|
20
|
-
* and the document's relative path. Returned by lookup helpers like
|
|
21
|
-
* `findFirstSymbolMatch` so callers don't have to round-trip through the
|
|
22
|
-
* documents table to get a path or symbol name.
|
|
23
|
-
*/
|
|
24
|
-
interface SymbolMatch extends SymbolLocation {
|
|
25
|
-
symbol: string;
|
|
26
|
-
relativePath: string;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* A full definition record: SymbolMatch plus per-symbol metadata
|
|
30
|
-
* (leaf name, parent type, kind, documentation, enclosing symbol).
|
|
31
|
-
* Used by the catalog APIs (`getDefinitionsForFile`, `getAllDefinitions`,
|
|
32
|
-
* `getScopedDefinitions`) so consumers don't have to re-derive any of
|
|
33
|
-
* these per-record.
|
|
34
|
-
*/
|
|
35
|
-
interface IndexedDefinition extends SymbolMatch {
|
|
36
|
-
leaf: string;
|
|
37
|
-
parentTypeName: string | null;
|
|
38
|
-
isFunctionLike: boolean;
|
|
39
|
-
isTypeLike: boolean;
|
|
40
|
-
kind: number | null;
|
|
41
|
-
documentation: string | null;
|
|
42
|
-
enclosingSymbol: string | null;
|
|
43
|
-
}
|
|
44
|
-
/** Parsed components of a SCIP symbol string */
|
|
45
|
-
interface ScipSymbol {
|
|
46
|
-
/** The indexer scheme (e.g. "scip-typescript", "scip-java", "rust-analyzer") */
|
|
47
|
-
scheme: string;
|
|
48
|
-
/** Package manager (e.g. "npm", "maven", "cargo") */
|
|
49
|
-
manager: string;
|
|
50
|
-
/** Package name (e.g. "@vega/api", "com.example/mylib") */
|
|
51
|
-
packageName: string;
|
|
52
|
-
/** Package version */
|
|
53
|
-
version: string;
|
|
54
|
-
/** Descriptor chain — the path to the symbol within the file */
|
|
55
|
-
descriptors: ScipDescriptor[];
|
|
56
|
-
/** The raw, unparsed symbol string */
|
|
57
|
-
raw: string;
|
|
58
|
-
}
|
|
59
|
-
interface ScipDescriptor {
|
|
60
|
-
name: string;
|
|
61
|
-
suffix: DescriptorSuffix;
|
|
62
|
-
}
|
|
63
|
-
type DescriptorSuffix = 'namespace' | 'type' | 'term' | 'method' | 'type-param' | 'parameter' | 'meta' | 'macro';
|
|
64
|
-
/** A local symbol (file-scoped, no cross-file identity) */
|
|
65
|
-
interface ScipLocalSymbol {
|
|
66
|
-
kind: 'local';
|
|
67
|
-
id: string;
|
|
68
|
-
raw: string;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
7
|
/**
|
|
72
8
|
* File classifier — one place to decide what role a source file plays.
|
|
73
9
|
*
|
|
@@ -128,7 +64,9 @@ declare function buildFileDepGraph(db: ScipDatabase, scope?: string): Map<string
|
|
|
128
64
|
declare function crossFileCallerEvidenceMap(db: ScipDatabase, definitions?: ReadonlyArray<SymbolMatch>, opts?: {
|
|
129
65
|
semantic?: boolean;
|
|
130
66
|
}): Map<number, Set<string>>;
|
|
131
|
-
declare function sourceFallbackCallerEvidenceMap(db: ScipDatabase, definitions: ReadonlyArray<IndexedDefinition
|
|
67
|
+
declare function sourceFallbackCallerEvidenceMap(db: ScipDatabase, definitions: ReadonlyArray<IndexedDefinition>, opts?: {
|
|
68
|
+
skipPath?: (relativePath: string) => boolean;
|
|
69
|
+
}): Map<number, Set<string>>;
|
|
132
70
|
|
|
133
71
|
type FrameworkSourceReferenceKind = 'cross-language-dispatch' | 'rust-attribute';
|
|
134
72
|
|
|
@@ -233,7 +171,9 @@ declare class ProjectIndex {
|
|
|
233
171
|
crossFileCallerMap(definitions?: ReadonlyArray<SymbolMatch>, opts?: {
|
|
234
172
|
semantic?: boolean;
|
|
235
173
|
}): ReturnType<typeof crossFileCallerEvidenceMap>;
|
|
236
|
-
sourceFallbackCallerFiles(definitions: ReadonlyArray<IndexedDefinition
|
|
174
|
+
sourceFallbackCallerFiles(definitions: ReadonlyArray<IndexedDefinition>, opts?: {
|
|
175
|
+
skipPath?: (relativePath: string) => boolean;
|
|
176
|
+
}): ReturnType<typeof sourceFallbackCallerEvidenceMap>;
|
|
237
177
|
callerFileMap(definitions: ReadonlyArray<IndexedDefinition>, opts?: {
|
|
238
178
|
semantic?: boolean;
|
|
239
179
|
sourceFallback?: boolean;
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as l}from"./chunk-
|
|
1
|
+
import{a as l}from"./chunk-YZXV3CU3.js";import{a as n}from"./chunk-X4O6K47U.js";import"./chunk-NAH5EAZS.js";import"./chunk-BGBBVSH4.js";import"./chunk-QJ3FK4TB.js";import"./chunk-WFGOH2UI.js";import"./chunk-C4ICAIJ4.js";import"./chunk-WQHWIVA7.js";import"./chunk-XEMQUN3Z.js";import"./chunk-MTDBHTSF.js";import"./chunk-R3JY4EZ4.js";import{b as o,d as s,e as i}from"./chunk-HXXMPYEF.js";import"./chunk-T2FQ4GHD.js";import"./chunk-ISLWJ4PY.js";import"./chunk-WS3Z6W3M.js";import"./chunk-GNG622H3.js";import"./chunk-64MNV6AB.js";import"./chunk-7S5E7KWT.js";import c from"better-sqlite3";var d=["node_modules",".git","dist","build","out","coverage","target",".next",".nuxt",".cache",".turbo",".nbb",".cpcache",".shadow-cljs",".scipquery-cache","__pycache__",".venv","venv"],r=class{db;config;pathFilter;statementCache=new Map;constructor(t,e){this.config=t,this.pathFilter=e??null,this.db=new c(t.dbPath,{readonly:!0}),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(t){return this.pathFilter?.isIgnored(t)??!1}get localSymbolPredicate(){return`(
|
|
2
2
|
EXISTS (
|
|
3
3
|
SELECT 1
|
|
4
4
|
FROM defn_enclosing_ranges local_der
|
|
@@ -16,5 +16,5 @@ import{a as l}from"./chunk-UUBMFL3F.js";import{a as n}from"./chunk-5OST6GYB.js";
|
|
|
16
16
|
${this.pathExclusionsFor("local_d").trimStart()}
|
|
17
17
|
)
|
|
18
18
|
)`}get pathExclusions(){return this.pathExclusionsFor("d")}get symbolNoise(){return this.symbolNoiseFor("gs")}pathExclusionsFor(...t){return t.flatMap(e=>d.flatMap(a=>[`AND ${e}.relative_path NOT LIKE '${a}/%'`,`AND ${e}.relative_path NOT LIKE '%/${a}/%'`])).join(`
|
|
19
|
-
`)}symbolNoiseFor(t){return`AND ${t}.symbol NOT LIKE '%().(%' AND ${t}.symbol NOT LIKE '%typeLiteral%'`}all(t,...e){return this.statement(t).all(...e)}get(t,...e){return this.statement(t).get(...e)}close(){this.statementCache.clear(),this.db.close()}statement(t){let e=this.statementCache.get(t);return e||(e=this.db.prepare(t),this.statementCache.set(t,e)),e}};export{n as ProjectIndex,r as ScipDatabase,l as createGitignoreFilter,
|
|
19
|
+
`)}symbolNoiseFor(t){return`AND ${t}.symbol NOT LIKE '%().(%' AND ${t}.symbol NOT LIKE '%typeLiteral%'`}all(t,...e){return this.statement(t).all(...e)}get(t,...e){return this.statement(t).get(...e)}close(){this.statementCache.clear(),this.db.close()}statement(t){let e=this.statementCache.get(t);return e||(e=this.db.prepare(t),this.statementCache.set(t,e)),e}};export{n as ProjectIndex,r as ScipDatabase,l as createGitignoreFilter,i as leafName,o as parseSymbol,s as shortenSymbol};
|
|
20
20
|
//# sourceMappingURL=index.js.map
|
package/dist/postinstall.js
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import
|
|
3
|
-
${i.installed.length} skill(s) installed, ${i.alreadyLinked.length} already linked.`),!g())console.log(`
|
|
4
|
-
scip CLI not found on PATH. Attempting auto-install...`),f(console.log)||m();else{let o=k();console.log(`
|
|
5
|
-
scip CLI: ${o??"installed"}`)}console.log("")}S();
|
|
2
|
+
import"./chunk-TFWDJDGO.js";import{existsSync as e,mkdirSync as n,symlinkSync as o,readlinkSync as r,unlinkSync as l,readdirSync as c}from"fs";import{join as p,dirname as u,resolve as d,relative as k,isAbsolute as g}from"path";import{homedir as f,platform as s}from"os";import{fileURLToPath as h}from"url";var S=s()==="win32";function i(){console.log("scip-query installed -- run 'scip-query setup' in a repo to enable skills, hooks, and the index.")}i();
|
|
6
3
|
//# sourceMappingURL=postinstall.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { S as ScipDatabase } from '../db-
|
|
1
|
+
import { S as ScipDatabase } from '../db-_Bdx0E1W.js';
|
|
2
2
|
import 'better-sqlite3';
|
|
3
|
-
import '../config-types-
|
|
3
|
+
import '../config-types-BrHl3Bge.js';
|
|
4
4
|
|
|
5
5
|
interface AffectedResult {
|
|
6
6
|
symbol: string;
|
package/dist/queries/affected.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-ZEKBR4OK.js";import"../chunk-QJ3FK4TB.js";import"../chunk-WFGOH2UI.js";import"../chunk-C4ICAIJ4.js";import"../chunk-WQHWIVA7.js";import"../chunk-XEMQUN3Z.js";import"../chunk-MTDBHTSF.js";import"../chunk-R3JY4EZ4.js";import"../chunk-HXXMPYEF.js";import"../chunk-T2FQ4GHD.js";import"../chunk-ISLWJ4PY.js";import"../chunk-WS3Z6W3M.js";import"../chunk-GNG622H3.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as affected};
|
|
2
2
|
//# sourceMappingURL=affected.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { S as ScipDatabase } from '../db-
|
|
1
|
+
import { S as ScipDatabase } from '../db-_Bdx0E1W.js';
|
|
2
2
|
import 'better-sqlite3';
|
|
3
|
-
import '../config-types-
|
|
3
|
+
import '../config-types-BrHl3Bge.js';
|
|
4
4
|
|
|
5
5
|
interface BottleneckResult {
|
|
6
6
|
symbol: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-X6OGDTQH.js";import"../chunk-B75HZHUP.js";import"../chunk-X4O6K47U.js";import"../chunk-NAH5EAZS.js";import"../chunk-BGBBVSH4.js";import"../chunk-QJ3FK4TB.js";import"../chunk-WFGOH2UI.js";import"../chunk-C4ICAIJ4.js";import"../chunk-WQHWIVA7.js";import"../chunk-XEMQUN3Z.js";import"../chunk-MTDBHTSF.js";import"../chunk-R3JY4EZ4.js";import"../chunk-HXXMPYEF.js";import"../chunk-T2FQ4GHD.js";import"../chunk-ISLWJ4PY.js";import"../chunk-WS3Z6W3M.js";import"../chunk-GNG622H3.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as bottlenecks};
|
|
2
2
|
//# sourceMappingURL=bottlenecks.js.map
|
package/dist/queries/by-kind.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a,b}from"../chunk-
|
|
1
|
+
import{a,b}from"../chunk-M2YXL62V.js";import"../chunk-MTDBHTSF.js";import"../chunk-R3JY4EZ4.js";import"../chunk-HXXMPYEF.js";import"../chunk-T2FQ4GHD.js";import"../chunk-ISLWJ4PY.js";import"../chunk-WS3Z6W3M.js";import"../chunk-GNG622H3.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as byKind,b as kindCounts};
|
|
2
2
|
//# sourceMappingURL=by-kind.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { S as ScipDatabase } from '../db-
|
|
1
|
+
import { S as ScipDatabase } from '../db-_Bdx0E1W.js';
|
|
2
2
|
import 'better-sqlite3';
|
|
3
|
-
import '../config-types-
|
|
3
|
+
import '../config-types-BrHl3Bge.js';
|
|
4
4
|
|
|
5
5
|
interface CallGraphResult {
|
|
6
6
|
symbol: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-3T2FNHIU.js";import"../chunk-B75HZHUP.js";import"../chunk-BGBBVSH4.js";import"../chunk-QJ3FK4TB.js";import"../chunk-WFGOH2UI.js";import"../chunk-C4ICAIJ4.js";import"../chunk-WQHWIVA7.js";import"../chunk-XEMQUN3Z.js";import"../chunk-MTDBHTSF.js";import"../chunk-R3JY4EZ4.js";import"../chunk-HXXMPYEF.js";import"../chunk-T2FQ4GHD.js";import"../chunk-ISLWJ4PY.js";import"../chunk-WS3Z6W3M.js";import"../chunk-GNG622H3.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as callGraph};
|
|
2
2
|
//# sourceMappingURL=call-graph.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { S as ScipDatabase } from '../db-
|
|
1
|
+
import { S as ScipDatabase } from '../db-_Bdx0E1W.js';
|
|
2
2
|
import 'better-sqlite3';
|
|
3
|
-
import '../config-types-
|
|
3
|
+
import '../config-types-BrHl3Bge.js';
|
|
4
4
|
|
|
5
5
|
interface ChangeSurfaceEntry {
|
|
6
6
|
symbol: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-KKMOB3OJ.js";import"../chunk-XHWLNQVZ.js";import"../chunk-X4O6K47U.js";import"../chunk-NAH5EAZS.js";import"../chunk-BGBBVSH4.js";import"../chunk-QJ3FK4TB.js";import"../chunk-WFGOH2UI.js";import"../chunk-C4ICAIJ4.js";import"../chunk-WQHWIVA7.js";import"../chunk-XEMQUN3Z.js";import"../chunk-MTDBHTSF.js";import"../chunk-R3JY4EZ4.js";import"../chunk-HXXMPYEF.js";import"../chunk-T2FQ4GHD.js";import"../chunk-ISLWJ4PY.js";import"../chunk-WS3Z6W3M.js";import"../chunk-GNG622H3.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as changeSurface};
|
|
2
2
|
//# sourceMappingURL=change-surface.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { S as ScipDatabase } from '../db-
|
|
1
|
+
import { S as ScipDatabase } from '../db-_Bdx0E1W.js';
|
|
2
2
|
import 'better-sqlite3';
|
|
3
|
-
import '../config-types-
|
|
3
|
+
import '../config-types-BrHl3Bge.js';
|
|
4
4
|
|
|
5
5
|
interface CleanupPlanEntry {
|
|
6
6
|
symbol: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a,b}from"../chunk-
|
|
1
|
+
import{a,b}from"../chunk-BDRBPG7Y.js";import"../chunk-343O6EVV.js";import"../chunk-B75HZHUP.js";import"../chunk-X4O6K47U.js";import"../chunk-NAH5EAZS.js";import"../chunk-BGBBVSH4.js";import"../chunk-QJ3FK4TB.js";import"../chunk-WFGOH2UI.js";import"../chunk-C4ICAIJ4.js";import"../chunk-WQHWIVA7.js";import"../chunk-XEMQUN3Z.js";import"../chunk-MTDBHTSF.js";import"../chunk-R3JY4EZ4.js";import"../chunk-HXXMPYEF.js";import"../chunk-T2FQ4GHD.js";import"../chunk-ISLWJ4PY.js";import"../chunk-WS3Z6W3M.js";import"../chunk-GNG622H3.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{b as RemovedRangeIndex,a as cleanupPlan};
|
|
2
2
|
//# sourceMappingURL=cleanup-plan.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { S as ScipDatabase } from '../db-
|
|
1
|
+
import { S as ScipDatabase } from '../db-_Bdx0E1W.js';
|
|
2
2
|
import { C as CoChangeCommitScope, a as CoChangeRecency, b as CoChangeSubjectContext } from '../git-history-Dao3_Pu9.js';
|
|
3
3
|
import 'better-sqlite3';
|
|
4
|
-
import '../config-types-
|
|
4
|
+
import '../config-types-BrHl3Bge.js';
|
|
5
5
|
|
|
6
6
|
type CoChangePartnerClass = 'doc-code' | 'config-code' | 'schema-script' | 'model-view' | 'test-code' | 'same-feature' | 'unknown';
|
|
7
7
|
interface CoChangePartnerClassification {
|
|
@@ -69,6 +69,16 @@ declare function coChange(db: ScipDatabase, file?: string, opts?: {
|
|
|
69
69
|
limit?: number;
|
|
70
70
|
includeLinked?: boolean;
|
|
71
71
|
maxFilesPerCommit?: number;
|
|
72
|
+
/**
|
|
73
|
+
* Caps how many of the (already together-count-sorted) candidate pairs
|
|
74
|
+
* get classified — the per-pair loop below does filesystem/graph lookups
|
|
75
|
+
* so its cost scales with candidate count on a large repo history. Set
|
|
76
|
+
* by the CLI's analysis-budget disclosure on large indexes; honoring it
|
|
77
|
+
* for real (rather than only disclosing it) keeps the disclosed budget
|
|
78
|
+
* truthful. Highest-`together` pairs are kept first since `coChangePairs`
|
|
79
|
+
* returns them pre-sorted by priority.
|
|
80
|
+
*/
|
|
81
|
+
scanLimit?: number;
|
|
72
82
|
}): CoChangeResult;
|
|
73
83
|
declare function classifyCoChangePartner(fileA: string, fileB: string): CoChangePartnerClassification;
|
|
74
84
|
declare function declaredCouplingSuggestionForPair(pair: CoChangePairEvidence, classification: CoChangePartnerClassification, structurallyLinked: boolean): DeclaredCouplingSuggestion | undefined;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a,b,c,d,e}from"../chunk-
|
|
1
|
+
import{a,b,c,d,e}from"../chunk-NJJ7AS4F.js";import"../chunk-FXG3PHVW.js";import"../chunk-NAH5EAZS.js";import"../chunk-XEMQUN3Z.js";import"../chunk-HXXMPYEF.js";import"../chunk-T2FQ4GHD.js";import"../chunk-ISLWJ4PY.js";import"../chunk-WS3Z6W3M.js";import"../chunk-GNG622H3.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{c as classifyCoChangePartner,b as coChange,e as coChangeStructuralLinkChecker,d as declaredCouplingSuggestionForPair,a as isCoChangeNoiseFile};
|
|
2
2
|
//# sourceMappingURL=co-change.js.map
|
package/dist/queries/code.d.ts
CHANGED
package/dist/queries/code.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-DRPAQAFM.js";import"../chunk-XHWLNQVZ.js";import"../chunk-WQHWIVA7.js";import"../chunk-R3JY4EZ4.js";import"../chunk-HXXMPYEF.js";import"../chunk-T2FQ4GHD.js";import"../chunk-ISLWJ4PY.js";import"../chunk-WS3Z6W3M.js";import"../chunk-GNG622H3.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as code};
|
|
2
2
|
//# sourceMappingURL=code.js.map
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { S as ScipDatabase } from '../db-
|
|
1
|
+
import { S as ScipDatabase } from '../db-_Bdx0E1W.js';
|
|
2
|
+
import { BranchEstimateBasis } from './complexity.js';
|
|
2
3
|
import 'better-sqlite3';
|
|
3
|
-
import '../config-types-
|
|
4
|
+
import '../config-types-BrHl3Bge.js';
|
|
5
|
+
import '../symbol-types-DaoeXKUt.js';
|
|
4
6
|
|
|
5
7
|
interface ComplexityHotspot {
|
|
6
8
|
symbol: string;
|
|
@@ -12,13 +14,15 @@ interface ComplexityHotspot {
|
|
|
12
14
|
fanIn: number;
|
|
13
15
|
fanOut: number;
|
|
14
16
|
calleeCount: number;
|
|
17
|
+
branches: number;
|
|
18
|
+
estimateBasis: BranchEstimateBasis;
|
|
15
19
|
score: number;
|
|
16
20
|
}
|
|
17
21
|
/**
|
|
18
22
|
* Find complexity hotspots: symbols with a composite score based on
|
|
19
23
|
* LOC, fan-in, fan-out, and callee count.
|
|
20
24
|
*
|
|
21
|
-
* Score = (loc / 50) * (fanIn / 5) * max(fanOut / 5, 1)
|
|
25
|
+
* Score = (loc / 50) * (fanIn / 5) * max(fanOut / 5, 1) * max(cyclomatic / 5, 1)
|
|
22
26
|
*
|
|
23
27
|
* Bulk fan-in/out via caller evidence + buildCalleeMap so we pay
|
|
24
28
|
* one SQL pass per kind regardless of how many definitions we score —
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-WGA5BBTA.js";import"../chunk-K6UI6EBZ.js";import"../chunk-PZS6J5YG.js";import"../chunk-B75HZHUP.js";import"../chunk-X4O6K47U.js";import"../chunk-NAH5EAZS.js";import"../chunk-BGBBVSH4.js";import"../chunk-QJ3FK4TB.js";import"../chunk-WFGOH2UI.js";import"../chunk-C4ICAIJ4.js";import"../chunk-WQHWIVA7.js";import"../chunk-XEMQUN3Z.js";import"../chunk-MTDBHTSF.js";import"../chunk-R3JY4EZ4.js";import"../chunk-HXXMPYEF.js";import"../chunk-T2FQ4GHD.js";import"../chunk-ISLWJ4PY.js";import"../chunk-WS3Z6W3M.js";import"../chunk-GNG622H3.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as complexityHotspots};
|
|
2
2
|
//# sourceMappingURL=complexity-hotspots.js.map
|