scip-query 0.10.12 → 0.12.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 +164 -49
- package/dist/augment-vue-worker.js +1 -1
- package/dist/{chunk-RUV5IY25.js → chunk-2LQWMYG4.js} +2 -2
- package/dist/{chunk-KZ4MG5NY.js → chunk-2QGE5AEP.js} +2 -2
- package/dist/chunk-4D54JIU3.js +2 -0
- package/dist/{chunk-2GLNBCHB.js → chunk-52Q4JFDW.js} +2 -2
- package/dist/chunk-5AAAEZ2Z.js +2 -0
- package/dist/chunk-64PRNLKP.js +2 -0
- package/dist/chunk-6XA4LDHY.js +2 -0
- package/dist/chunk-72MFTCU5.js +38 -0
- package/dist/chunk-75X52JTA.js +2 -0
- package/dist/{chunk-LEHVP4DY.js → chunk-7ITCOJGD.js} +2 -2
- package/dist/chunk-7JZRFDCU.js +2 -0
- package/dist/{chunk-XRUGSM76.js → chunk-AZLKLZ5S.js} +2 -2
- package/dist/chunk-B4VYXRCQ.js +26 -0
- package/dist/chunk-BCNT6ODA.js +5 -0
- package/dist/chunk-BP2NAIAZ.js +2 -0
- package/dist/chunk-BVNO67DB.js +2 -0
- package/dist/{chunk-XHMVZFA6.js → chunk-CW3KZ7UF.js} +2 -2
- package/dist/{chunk-6BN3EHQE.js → chunk-D64L53WX.js} +2 -2
- package/dist/{chunk-T3AEVJBG.js → chunk-D7J6GZAG.js} +2 -2
- package/dist/chunk-ECVXWZ4Q.js +3 -0
- package/dist/chunk-EDB7Y442.js +2 -0
- package/dist/{chunk-4ISHQ7UW.js → chunk-ETU2I5JM.js} +4 -4
- package/dist/chunk-EXKLAEB4.js +18 -0
- package/dist/chunk-EZ5WDZ2Q.js +3 -0
- package/dist/{chunk-S2MRVIJ5.js → chunk-F5BJSNU5.js} +6 -6
- package/dist/chunk-FBCOFKEC.js +2 -0
- package/dist/chunk-FERAXG6Y.js +72 -0
- package/dist/chunk-FXG3PHVW.js +9 -0
- package/dist/{chunk-XUCZ3RQ5.js → chunk-G2UBOONK.js} +4 -4
- package/dist/chunk-GNG622H3.js +3 -0
- package/dist/{chunk-JS6B76AQ.js → chunk-H2NMIZFD.js} +2 -2
- package/dist/chunk-H7NSJ7L2.js +5 -0
- package/dist/chunk-HSU3M25J.js +21 -0
- package/dist/chunk-HXXMPYEF.js +2 -0
- package/dist/chunk-IRJDYTNZ.js +3 -0
- package/dist/chunk-ISLWJ4PY.js +10 -0
- package/dist/chunk-J5WVNZ6O.js +2 -0
- package/dist/{chunk-UVPY3RUZ.js → chunk-K6UI6EBZ.js} +2 -2
- package/dist/{chunk-MNCQPMCH.js → chunk-KJCDEDQW.js} +2 -2
- package/dist/{chunk-ELC77ZDE.js → chunk-KMVGRIO2.js} +2 -2
- package/dist/chunk-KSUZS77X.js +16 -0
- package/dist/{chunk-A4UTLKHU.js → chunk-L2CX5GHZ.js} +2 -2
- package/dist/chunk-LFM3O5KX.js +2 -0
- package/dist/{chunk-ZUUNREKS.js → chunk-M72ZFN6E.js} +5 -5
- package/dist/chunk-MBKJ7GHT.js +102 -0
- package/dist/chunk-MJKJMWIM.js +2 -0
- package/dist/chunk-MKM7NBZK.js +43 -0
- package/dist/chunk-MTDBHTSF.js +2 -0
- package/dist/chunk-NAH5EAZS.js +6 -0
- package/dist/chunk-NJJ7AS4F.js +2 -0
- package/dist/{chunk-EOLGSSDR.js → chunk-NKT5EMEX.js} +2 -2
- package/dist/{chunk-ANUEY5WV.js → chunk-NLMRJ7SI.js} +2 -2
- package/dist/chunk-NQ75OVUU.js +40 -0
- package/dist/{chunk-TBCHRDAC.js → chunk-O3WDE26W.js} +2 -2
- package/dist/{chunk-VB2EZZPA.js → chunk-OPE5YXFE.js} +2 -2
- package/dist/chunk-ORBRX2QJ.js +2 -0
- package/dist/{chunk-OFXN2BCT.js → chunk-OSWF3HSF.js} +2 -2
- package/dist/{chunk-JJ5SAWBT.js → chunk-OVMUVXKQ.js} +2 -2
- package/dist/{chunk-NTSR6SRP.js → chunk-PH7ZFK6L.js} +2 -2
- package/dist/chunk-PXHPCWX5.js +2 -0
- package/dist/chunk-Q3B3FNCU.js +3 -0
- package/dist/{chunk-SQNHOOJ5.js → chunk-Q7S2DADC.js} +2 -2
- package/dist/{chunk-3XSNW5XB.js → chunk-QARYU7R3.js} +2 -2
- package/dist/chunk-QZ4JVECJ.js +2 -0
- package/dist/{chunk-FX6ULETZ.js → chunk-R5336VHZ.js} +2 -2
- package/dist/chunk-RA5MTIOO.js +2 -0
- package/dist/{chunk-RXINFVBN.js → chunk-RIQED5OU.js} +2 -2
- package/dist/chunk-T2FQ4GHD.js +9 -0
- package/dist/chunk-T6NGEV5I.js +2 -0
- package/dist/chunk-T7VQG55Q.js +2 -0
- package/dist/chunk-TFWDJDGO.js +2 -0
- package/dist/chunk-TG7QSYCJ.js +2 -0
- package/dist/{chunk-DQ6433ZG.js → chunk-TTMKELT7.js} +17 -8
- package/dist/{chunk-DDQONX6B.js → chunk-U7I373V4.js} +2 -2
- package/dist/chunk-UAHZ57BR.js +2 -0
- package/dist/chunk-URSSPS5H.js +2 -0
- package/dist/chunk-V3Z3IOWO.js +2 -0
- package/dist/{chunk-7C6JBBE4.js → chunk-V7CVBPWX.js} +2 -2
- package/dist/{chunk-PWAK75BU.js → chunk-VYF5HA76.js} +2 -2
- package/dist/chunk-WIBFXSYB.js +6 -0
- package/dist/chunk-WS3Z6W3M.js +65 -0
- package/dist/chunk-WXVGNFAO.js +2 -0
- package/dist/chunk-XEMQUN3Z.js +20 -0
- package/dist/chunk-YCPASUCX.js +2 -0
- package/dist/chunk-YDDGCJJG.js +3 -0
- package/dist/{chunk-2UVCH7CQ.js → chunk-YPKBZ77R.js} +2 -2
- package/dist/chunk-YZXV3CU3.js +60 -0
- package/dist/chunk-Z3IPJKJP.js +4 -0
- package/dist/chunk-ZMGBWSFZ.js +2 -0
- package/dist/{chunk-GKB4JJDU.js → chunk-ZOIPAYRP.js} +2 -2
- package/dist/chunk-ZRIOGL7F.js +8 -0
- package/dist/cli.js +446 -280
- package/dist/{config-types-dvHOz0zU.d.ts → config-types-BrHl3Bge.d.ts} +57 -0
- package/dist/{db-rMZO5JFK.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-CtTIGh6H.d.ts → health-BEZ1Rt0S.d.ts} +54 -2
- package/dist/index.d.ts +4 -68
- package/dist/index.js +1 -1
- 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 +4 -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 +17 -10
- package/dist/queries/similar-signatures.js +1 -1
- package/dist/queries/similar.d.ts +42 -3
- 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 +23 -4
- package/dist/reindex.js +19 -19
- package/dist/runtime.d.ts +11 -6
- package/dist/runtime.js +2 -2
- package/dist/{scip-cli-trnNvymv.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 +40 -3
- package/docs/analyzer-validation-ledger.md +34 -6
- package/package.json +39 -7
- package/scripts/build-scip-windows.mjs +10 -7
- 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 +150 -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-2DOW7QCA.js +0 -71
- package/dist/chunk-2FMFF4RI.js +0 -2
- package/dist/chunk-5GXTUANY.js +0 -2
- package/dist/chunk-5JHEN5VN.js +0 -25
- package/dist/chunk-62ULXMQ7.js +0 -18
- package/dist/chunk-63CI3IXR.js +0 -102
- package/dist/chunk-7EK7OSWS.js +0 -2
- package/dist/chunk-7IWIMNHI.js +0 -2
- package/dist/chunk-7XTO4YXB.js +0 -8
- package/dist/chunk-AOWFUGDL.js +0 -2
- package/dist/chunk-AREANYIA.js +0 -3
- package/dist/chunk-AZBELWZQ.js +0 -7
- package/dist/chunk-B32FX5KB.js +0 -2
- package/dist/chunk-B6MJ5VQV.js +0 -2
- package/dist/chunk-CXWCLVYL.js +0 -2
- package/dist/chunk-CYHIKTJN.js +0 -3
- package/dist/chunk-DFSEARAU.js +0 -2
- package/dist/chunk-DVFP6PZI.js +0 -2
- package/dist/chunk-E3ADDB43.js +0 -2
- package/dist/chunk-F6IXELII.js +0 -20
- package/dist/chunk-FMGVZBS2.js +0 -2
- package/dist/chunk-GG5LHT27.js +0 -2
- package/dist/chunk-H7JF2CKK.js +0 -2
- package/dist/chunk-HHOMJCP5.js +0 -4
- package/dist/chunk-HRDSU5FN.js +0 -9
- package/dist/chunk-HWVYTJOV.js +0 -2
- package/dist/chunk-JNMLBL36.js +0 -2
- package/dist/chunk-L446VQYQ.js +0 -2
- package/dist/chunk-LDJUB7XW.js +0 -2
- package/dist/chunk-MYTUWXHK.js +0 -4
- package/dist/chunk-N25HPUOK.js +0 -2
- package/dist/chunk-NABVR6B7.js +0 -2
- package/dist/chunk-NBNEVLRC.js +0 -3
- package/dist/chunk-ONPCQ2PM.js +0 -6
- package/dist/chunk-Q5P7NOVM.js +0 -2
- package/dist/chunk-RGKRYO22.js +0 -4
- package/dist/chunk-RM2WQ75T.js +0 -2
- package/dist/chunk-ROGZXWN2.js +0 -2
- package/dist/chunk-RSSXKJ6J.js +0 -38
- package/dist/chunk-RVGEZYMQ.js +0 -2
- package/dist/chunk-SA3DPTHT.js +0 -7
- package/dist/chunk-SGTKURU6.js +0 -52
- package/dist/chunk-T4N2ZRVY.js +0 -21
- package/dist/chunk-THB6AM3V.js +0 -11
- package/dist/chunk-ULHLDOD6.js +0 -4
- package/dist/chunk-UQ73QF5D.js +0 -43
- package/dist/chunk-UUBMFL3F.js +0 -59
- package/dist/chunk-V5FGK3DZ.js +0 -2
- package/dist/chunk-WTY5FERW.js +0 -2
- package/dist/chunk-WUOB4DHH.js +0 -6
- package/dist/chunk-YFQIKYOP.js +0 -2
- package/dist/chunk-Z2LDWIJV.js +0 -5
- package/dist/chunk-ZNWWVYQL.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
|
@@ -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 SimilarSymbolResult {
|
|
6
6
|
symbolA: string;
|
|
@@ -24,6 +24,29 @@ interface SimilarSymbolResult {
|
|
|
24
24
|
evidenceClassReasons: string[];
|
|
25
25
|
recommendation: string;
|
|
26
26
|
}
|
|
27
|
+
interface SimilarConsolidationPlan {
|
|
28
|
+
symbolA: {
|
|
29
|
+
symbol: string;
|
|
30
|
+
shortName: string;
|
|
31
|
+
file: string;
|
|
32
|
+
loc: number;
|
|
33
|
+
};
|
|
34
|
+
symbolB: {
|
|
35
|
+
symbol: string;
|
|
36
|
+
shortName: string;
|
|
37
|
+
file: string;
|
|
38
|
+
loc: number;
|
|
39
|
+
};
|
|
40
|
+
similarity: number;
|
|
41
|
+
similarityBasis: NonNullable<SimilarSymbolResult['similarityBasis']>;
|
|
42
|
+
sharedEvidence: string[];
|
|
43
|
+
uniqueToA: string[];
|
|
44
|
+
uniqueToB: string[];
|
|
45
|
+
evidenceClass: SimilarEvidenceClass;
|
|
46
|
+
actionTier: SimilarActionTier;
|
|
47
|
+
recommendation: string;
|
|
48
|
+
consolidationStrategy: string;
|
|
49
|
+
}
|
|
27
50
|
type SimilarEvidenceClass = 'access-query-scaffolding' | 'domain-behavior' | 'framework-scaffolding' | 'mixed' | 'structural-overlap';
|
|
28
51
|
type SimilarActionTier = 'direct' | 'signal';
|
|
29
52
|
interface SimilarEvidenceClassification {
|
|
@@ -54,7 +77,21 @@ declare function similar(db: ScipDatabase, symbolPattern: string, opts?: {
|
|
|
54
77
|
semantic?: boolean;
|
|
55
78
|
sourceCandidateMode?: SourceCandidateMode;
|
|
56
79
|
}): SimilarSymbolResult[];
|
|
80
|
+
declare function similarConsolidationPlan(db: ScipDatabase, symbolPatternA: string, symbolPatternB: string, opts?: {
|
|
81
|
+
semantic?: boolean;
|
|
82
|
+
scanLimit?: number;
|
|
83
|
+
}): SimilarConsolidationPlan | null;
|
|
57
84
|
declare function targetSpecificIdfWeights(target: SymbolFingerprint, index: Pick<CalleeFingerprintIndex, 'corpus' | 'docFreq'>): Map<string, number>;
|
|
85
|
+
interface ComparePairOptions {
|
|
86
|
+
minSimilarity: number;
|
|
87
|
+
/** Pair is dropped when significantShared.length < this AND sharedCount < requireSharedCount. */
|
|
88
|
+
requireSignificantShared: number;
|
|
89
|
+
requireSharedCount: number;
|
|
90
|
+
medianIdf?: number;
|
|
91
|
+
magnitudeA?: number;
|
|
92
|
+
magnitudeB?: number;
|
|
93
|
+
}
|
|
94
|
+
declare function comparePair(a: SymbolFingerprint, b: SymbolFingerprint, idfWeights: ReadonlyMap<string, number>, opts: ComparePairOptions): SimilarSymbolResult | null;
|
|
58
95
|
/**
|
|
59
96
|
* Find similar symbols across the entire codebase.
|
|
60
97
|
* Uses TF-IDF weighted similarity to filter out infrastructure noise.
|
|
@@ -142,7 +179,9 @@ declare function getCalleeFingerprintIndex(db: ScipDatabase, opts: CalleeFingerp
|
|
|
142
179
|
declare function similarityFingerprintProduct(db: ScipDatabase): SimilarityFingerprintProduct;
|
|
143
180
|
declare function buildCalleeFingerprintIndex(corpus: readonly SymbolFingerprint[]): CalleeFingerprintIndex;
|
|
144
181
|
declare function candidateFingerprintsForTarget(target: SymbolFingerprint, index: CalleeFingerprintIndex): SymbolFingerprint[];
|
|
182
|
+
declare const SAME_FILE_SIBLING_SATURATION_THRESHOLD = 5;
|
|
183
|
+
declare function trimSameFileSiblingSaturatedCallees(fingerprints: readonly SymbolFingerprint[]): SymbolFingerprint[];
|
|
145
184
|
declare function meaningfulCallees(callees: Iterable<string>): Set<string>;
|
|
146
185
|
declare function classifySimilarityEvidence(sharedEvidence: readonly string[], basis: NonNullable<SimilarSymbolResult['similarityBasis']>): SimilarEvidenceClassification;
|
|
147
186
|
|
|
148
|
-
export { type CalleeFingerprintCorpusOptions, type CalleeFingerprintIndex, type CalleeFingerprintIndexOptions, type RankedSimilarResult, type SimilarActionTier, type SimilarEvidenceClass, type SimilarEvidenceClassification, type SimilarSymbolResult, type SimilarityFingerprintProduct, type SourceCandidateMode, type SourceFingerprint, type SourceFingerprintCandidateOptions, type SourceFingerprintIndex, type SourceFingerprintOptions, type SymbolFingerprint, buildCalleeFingerprintIndex, candidateFingerprintsForTarget, classifySimilarityEvidence, getAllCalleeFingerprints, getCalleeFingerprintIndex, insertTopSimilarResult, meaningfulCallees, similar, similarAll, similarAllCount, similarityFingerprintProduct, targetSpecificIdfWeights };
|
|
187
|
+
export { type CalleeFingerprintCorpusOptions, type CalleeFingerprintIndex, type CalleeFingerprintIndexOptions, type RankedSimilarResult, SAME_FILE_SIBLING_SATURATION_THRESHOLD, type SimilarActionTier, type SimilarConsolidationPlan, type SimilarEvidenceClass, type SimilarEvidenceClassification, type SimilarSymbolResult, type SimilarityFingerprintProduct, type SourceCandidateMode, type SourceFingerprint, type SourceFingerprintCandidateOptions, type SourceFingerprintIndex, type SourceFingerprintOptions, type SymbolFingerprint, buildCalleeFingerprintIndex, candidateFingerprintsForTarget, classifySimilarityEvidence, comparePair, getAllCalleeFingerprints, getCalleeFingerprintIndex, insertTopSimilarResult, meaningfulCallees, similar, similarAll, similarAllCount, similarConsolidationPlan, similarityFingerprintProduct, targetSpecificIdfWeights, trimSameFileSiblingSaturatedCallees };
|
package/dist/queries/similar.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a,b,c,d,e,f,g,h,i,j,k,l}from"../chunk-
|
|
1
|
+
import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p}from"../chunk-BCNT6ODA.js";import"../chunk-KMVGRIO2.js";import"../chunk-B75HZHUP.js";import"../chunk-UAHZ57BR.js";import"../chunk-NAH5EAZS.js";import"../chunk-BGBBVSH4.js";import"../chunk-72MFTCU5.js";import"../chunk-MKM7NBZK.js";import"../chunk-YDDGCJJG.js";import"../chunk-ECVXWZ4Q.js";import"../chunk-XEMQUN3Z.js";import"../chunk-MTDBHTSF.js";import"../chunk-MBKJ7GHT.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{m as SAME_FILE_SIBLING_SATURATION_THRESHOLD,k as buildCalleeFingerprintIndex,l as candidateFingerprintsForTarget,p as classifySimilarityEvidence,d as comparePair,h as getAllCalleeFingerprints,i as getCalleeFingerprintIndex,g as insertTopSimilarResult,o as meaningfulCallees,a as similar,e as similarAll,f as similarAllCount,b as similarConsolidationPlan,j as similarityFingerprintProduct,c as targetSpecificIdfWeights,n as trimSameFileSiblingSaturatedCallees};
|
|
2
2
|
//# sourceMappingURL=similar.js.map
|
package/dist/queries/slice.d.ts
CHANGED
package/dist/queries/slice.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-T7VQG55Q.js";import"../chunk-UAHZ57BR.js";import"../chunk-NAH5EAZS.js";import"../chunk-BGBBVSH4.js";import"../chunk-72MFTCU5.js";import"../chunk-MKM7NBZK.js";import"../chunk-YDDGCJJG.js";import"../chunk-ECVXWZ4Q.js";import"../chunk-XEMQUN3Z.js";import"../chunk-MTDBHTSF.js";import"../chunk-MBKJ7GHT.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 slice};
|
|
2
2
|
//# sourceMappingURL=slice.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
|
type StaleAbstractionActionTier = 'direct' | 'signal';
|
|
6
6
|
type StalenessKind = 'unused-abstraction' | 'misplaced-single-consumer-type' | 'single-consumer-abstraction' | 'one-to-one-class-encapsulation';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-D7J6GZAG.js";import"../chunk-T6NGEV5I.js";import"../chunk-K6UI6EBZ.js";import"../chunk-B75HZHUP.js";import"../chunk-UAHZ57BR.js";import"../chunk-NAH5EAZS.js";import"../chunk-BGBBVSH4.js";import"../chunk-72MFTCU5.js";import"../chunk-MKM7NBZK.js";import"../chunk-YDDGCJJG.js";import"../chunk-ECVXWZ4Q.js";import"../chunk-XEMQUN3Z.js";import"../chunk-MTDBHTSF.js";import"../chunk-MBKJ7GHT.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 staleAbstractions};
|
|
2
2
|
//# sourceMappingURL=stale-abstractions.js.map
|
package/dist/queries/stats.d.ts
CHANGED
|
@@ -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 StatsResult {
|
|
6
6
|
documents: number;
|
|
@@ -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 SurfaceResult {
|
|
6
6
|
consumer: string;
|
package/dist/queries/surface.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-OPE5YXFE.js";import"../chunk-OSWF3HSF.js";import"../chunk-UAHZ57BR.js";import"../chunk-NAH5EAZS.js";import"../chunk-BGBBVSH4.js";import"../chunk-72MFTCU5.js";import"../chunk-MKM7NBZK.js";import"../chunk-YDDGCJJG.js";import"../chunk-ECVXWZ4Q.js";import"../chunk-XEMQUN3Z.js";import"../chunk-MTDBHTSF.js";import"../chunk-MBKJ7GHT.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 surface};
|
|
2
2
|
//# sourceMappingURL=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 SymbolResult {
|
|
6
6
|
startLine: number;
|
package/dist/queries/symbols.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-PXHPCWX5.js";import"../chunk-OSWF3HSF.js";import"../chunk-ECVXWZ4Q.js";import"../chunk-MBKJ7GHT.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 symbols};
|
|
2
2
|
//# sourceMappingURL=symbols.js.map
|
package/dist/queries/system.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { S as ScipDatabase } from '../db-
|
|
1
|
+
import { S as ScipDatabase } from '../db-_Bdx0E1W.js';
|
|
2
2
|
import { SymbolResult } from './symbols.js';
|
|
3
3
|
import 'better-sqlite3';
|
|
4
|
-
import '../config-types-
|
|
4
|
+
import '../config-types-BrHl3Bge.js';
|
|
5
5
|
|
|
6
6
|
interface SystemResult {
|
|
7
7
|
files: string[];
|
package/dist/queries/system.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-7ITCOJGD.js";import"../chunk-OSWF3HSF.js";import"../chunk-ECVXWZ4Q.js";import"../chunk-MBKJ7GHT.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 system};
|
|
2
2
|
//# sourceMappingURL=system.js.map
|
package/dist/queries/trace.d.ts
CHANGED
|
@@ -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 TraceResult {
|
|
6
6
|
definitions: Array<{
|
package/dist/queries/trace.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-52Q4JFDW.js";import"../chunk-MKM7NBZK.js";import"../chunk-YDDGCJJG.js";import"../chunk-ECVXWZ4Q.js";import"../chunk-MBKJ7GHT.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 trace};
|
|
2
2
|
//# sourceMappingURL=trace.js.map
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-_Bdx0E1W.js';
|
|
2
|
+
import 'better-sqlite3';
|
|
3
|
+
import '../config-types-BrHl3Bge.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* twin-ab (Q4): mechanical support for scip-integrity-audit drill 5
|
|
7
|
+
* ("cross-examine same-concept twins" — feed both the same input and
|
|
8
|
+
* require the same answer). v1 is a scaffold generator, not an executor:
|
|
9
|
+
* generating realistic inputs for arbitrary types is a rabbit hole, so this
|
|
10
|
+
* resolves both referents, verifies they are callable and importable, and
|
|
11
|
+
* emits a ready-to-fill vitest file — the agent fills the input table and
|
|
12
|
+
* runs it.
|
|
13
|
+
*/
|
|
14
|
+
interface TwinAbSymbol {
|
|
15
|
+
ref: string;
|
|
16
|
+
symbol: string;
|
|
17
|
+
shortName: string;
|
|
18
|
+
file: string;
|
|
19
|
+
startLine: number;
|
|
20
|
+
/** Cleaned SCIP signature text (e.g. `(value: string): string`); null when the index has none. */
|
|
21
|
+
signature: string | null;
|
|
22
|
+
/** Top-level parameter count parsed from `signature`; null when unparseable. */
|
|
23
|
+
paramCount: number | null;
|
|
24
|
+
}
|
|
25
|
+
interface TwinAbSuccess {
|
|
26
|
+
ok: true;
|
|
27
|
+
a: TwinAbSymbol;
|
|
28
|
+
b: TwinAbSymbol;
|
|
29
|
+
/** Null when either side's param count is unknown — compatibility cannot be judged. */
|
|
30
|
+
signatureCompatible: boolean | null;
|
|
31
|
+
testSource: string;
|
|
32
|
+
}
|
|
33
|
+
interface TwinAbRefusal {
|
|
34
|
+
ok: false;
|
|
35
|
+
reason: string;
|
|
36
|
+
}
|
|
37
|
+
type TwinAbOutcome = TwinAbSuccess | TwinAbRefusal;
|
|
38
|
+
/**
|
|
39
|
+
* Project-root-relative default `--out` path when the caller doesn't pass
|
|
40
|
+
* one — a deterministic, ref-derived path under a dedicated generated-
|
|
41
|
+
* artifacts directory, mirroring `tla scaffold`'s convention of a fixed
|
|
42
|
+
* project-relative directory (`specs/<moduleName>`) rather than an OS tmp
|
|
43
|
+
* dir. Derived from the raw ref strings (not the resolved symbols) so the
|
|
44
|
+
* caller can compute it before resolution — `twinAb` needs the output path
|
|
45
|
+
* up front to compute import specifiers.
|
|
46
|
+
*/
|
|
47
|
+
declare function defaultTwinAbOutPath(refA: string, refB: string): string;
|
|
48
|
+
/**
|
|
49
|
+
* `outFile` is the absolute path the caller intends to write the generated
|
|
50
|
+
* vitest file to — needed up front so the generated `import` specifiers are
|
|
51
|
+
* correct relative paths, not just the twin's own file paths.
|
|
52
|
+
*/
|
|
53
|
+
declare function twinAb(db: ScipDatabase, refA: string, refB: string, outFile: string): TwinAbOutcome;
|
|
54
|
+
|
|
55
|
+
export { type TwinAbOutcome, type TwinAbRefusal, type TwinAbSuccess, type TwinAbSymbol, defaultTwinAbOutPath, twinAb };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a,b}from"../chunk-NQ75OVUU.js";import"../chunk-EZ5WDZ2Q.js";import"../chunk-QARYU7R3.js";import"../chunk-K6UI6EBZ.js";import"../chunk-B75HZHUP.js";import"../chunk-UAHZ57BR.js";import"../chunk-NAH5EAZS.js";import"../chunk-BGBBVSH4.js";import"../chunk-72MFTCU5.js";import"../chunk-MKM7NBZK.js";import"../chunk-YDDGCJJG.js";import"../chunk-ECVXWZ4Q.js";import"../chunk-XEMQUN3Z.js";import"../chunk-MTDBHTSF.js";import"../chunk-MBKJ7GHT.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 defaultTwinAbOutPath,b as twinAb};
|
|
2
|
+
//# sourceMappingURL=twin-ab.js.map
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-_Bdx0E1W.js';
|
|
2
|
+
import 'better-sqlite3';
|
|
3
|
+
import '../config-types-BrHl3Bge.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Twin-drift: same leaf name (or a near-name variant like escapeRegex vs
|
|
7
|
+
* escapeRegExp), used across two or more files, with bodies that have
|
|
8
|
+
* *diverged* rather than stayed identical or being unrelated homonyms.
|
|
9
|
+
*
|
|
10
|
+
* Distinct from the existing detectors:
|
|
11
|
+
* - duplicate-bodies requires byte-identical normalized bodies.
|
|
12
|
+
* - similar requires callee-set overlap (any names).
|
|
13
|
+
* - similar-signatures requires the same type shape (any names).
|
|
14
|
+
*
|
|
15
|
+
* This one is the missing "same concept, drifted implementation" case:
|
|
16
|
+
* React/Vue helper families with drifted thresholds, escapeRegex vs
|
|
17
|
+
* escapeRegExp, etc.
|
|
18
|
+
*/
|
|
19
|
+
type TwinRelationship = 'identical' | 'divergent' | 'homonym';
|
|
20
|
+
interface TwinMember {
|
|
21
|
+
symbol: string;
|
|
22
|
+
shortName: string;
|
|
23
|
+
file: string;
|
|
24
|
+
startLine: number;
|
|
25
|
+
endLine: number;
|
|
26
|
+
loc: number;
|
|
27
|
+
}
|
|
28
|
+
interface TwinGroup {
|
|
29
|
+
/** Representative leaf name for the near-name cluster. */
|
|
30
|
+
leaf: string;
|
|
31
|
+
relationship: TwinRelationship;
|
|
32
|
+
/** 1 - normalized-token Jaccard similarity of the closest cross-file pair, rounded to 3 decimals. */
|
|
33
|
+
maxDivergence: number;
|
|
34
|
+
members: TwinMember[];
|
|
35
|
+
/** First differing normalized token run between the closest divergent pair. Only set for 'divergent' groups. */
|
|
36
|
+
firstDivergentTokens?: string;
|
|
37
|
+
}
|
|
38
|
+
/** Pure input record — the seam `groupTwins` tests are written against. */
|
|
39
|
+
interface TwinDriftRecord {
|
|
40
|
+
leaf: string;
|
|
41
|
+
symbol: string;
|
|
42
|
+
shortName: string;
|
|
43
|
+
file: string;
|
|
44
|
+
startLine: number;
|
|
45
|
+
endLine: number;
|
|
46
|
+
loc: number;
|
|
47
|
+
normalizedBody: string;
|
|
48
|
+
tokens: readonly string[];
|
|
49
|
+
/**
|
|
50
|
+
* True when the body is (up to a short guard) nothing more than a single
|
|
51
|
+
* call expression, optionally `return`ed/`await`ed — the shape a thin
|
|
52
|
+
* controller/service/storage delegate has. Purely structural (source-text
|
|
53
|
+
* based); doesn't by itself mean the call target is the other twin — see
|
|
54
|
+
* `isDelegatePair`/`buildDelegationChecker` for that.
|
|
55
|
+
*/
|
|
56
|
+
isThinForwarder: boolean;
|
|
57
|
+
}
|
|
58
|
+
declare function twinDrift(db: ScipDatabase, opts?: {
|
|
59
|
+
scope?: string;
|
|
60
|
+
minSimilarity?: number;
|
|
61
|
+
includeHomonyms?: boolean;
|
|
62
|
+
limit?: number;
|
|
63
|
+
scanLimit?: number;
|
|
64
|
+
}): TwinGroup[];
|
|
65
|
+
/**
|
|
66
|
+
* Every classified twin group (identical, divergent, homonym) — including
|
|
67
|
+
* the 'identical' groups `twinDrift` always defers to duplicate-bodies.
|
|
68
|
+
* Internal consumers like diff-gate's twin-partner check need 'identical'
|
|
69
|
+
* groups too (a same-name pair that WAS byte-identical is exactly the kind
|
|
70
|
+
* of pair a one-sided edit should alarm on).
|
|
71
|
+
*/
|
|
72
|
+
declare function allTwinGroups(db: ScipDatabase, opts?: {
|
|
73
|
+
scope?: string;
|
|
74
|
+
minSimilarity?: number;
|
|
75
|
+
scanLimit?: number;
|
|
76
|
+
}): TwinGroup[];
|
|
77
|
+
/**
|
|
78
|
+
* Pure grouping core: cluster records by (near-)leaf name, then classify
|
|
79
|
+
* each cross-file cluster by its closest pair's body similarity.
|
|
80
|
+
* - every cross-file pair byte-identical after normalization -> 'identical' (defer to duplicate-bodies)
|
|
81
|
+
* - closest pair similarity in [minSimilarity, 1) -> 'divergent' (the finding)
|
|
82
|
+
* - closest pair similarity < minSimilarity -> 'homonym' (coincidental name reuse)
|
|
83
|
+
*/
|
|
84
|
+
declare function groupTwins(records: readonly TwinDriftRecord[], opts?: {
|
|
85
|
+
minSimilarity?: number;
|
|
86
|
+
/**
|
|
87
|
+
* Injected so this stays a pure/DB-free function for `groupTwins`'s unit
|
|
88
|
+
* tests: `isDelegatePair(from, to, clusterMembers)` answers "is `from` a
|
|
89
|
+
* thin forwarder whose call target resolves to `to` (directly, or by
|
|
90
|
+
* chaining through same-leaf-name delegates found in `clusterMembers`)?"
|
|
91
|
+
* `allTwinGroups` wires the real, source/import-backed implementation
|
|
92
|
+
* via `buildDelegationChecker`.
|
|
93
|
+
*/
|
|
94
|
+
isDelegatePair?: (from: TwinDriftRecord, to: TwinDriftRecord, clusterMembers: readonly TwinDriftRecord[]) => boolean;
|
|
95
|
+
}): TwinGroup[];
|
|
96
|
+
|
|
97
|
+
export { type TwinDriftRecord, type TwinGroup, type TwinMember, type TwinRelationship, allTwinGroups, groupTwins, twinDrift };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a,b,c}from"../chunk-EDB7Y442.js";import"../chunk-Q3B3FNCU.js";import"../chunk-FXG3PHVW.js";import"../chunk-B75HZHUP.js";import"../chunk-NAH5EAZS.js";import"../chunk-BGBBVSH4.js";import"../chunk-XEMQUN3Z.js";import"../chunk-MBKJ7GHT.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 allTwinGroups,c as groupTwins,a as twinDrift};
|
|
2
|
+
//# sourceMappingURL=twin-drift.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a,b,c}from"../chunk-
|
|
1
|
+
import{a,b,c}from"../chunk-ETU2I5JM.js";import"../chunk-OSWF3HSF.js";import"../chunk-YDDGCJJG.js";import"../chunk-ECVXWZ4Q.js";import"../chunk-MBKJ7GHT.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 importedBy,a as imports,c as unusedImports};
|
|
2
2
|
//# sourceMappingURL=unused-imports.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 UnusedParamsFinding {
|
|
6
6
|
symbol: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-CW3KZ7UF.js";import"../chunk-K6UI6EBZ.js";import"../chunk-B75HZHUP.js";import"../chunk-UAHZ57BR.js";import"../chunk-NAH5EAZS.js";import"../chunk-BGBBVSH4.js";import"../chunk-72MFTCU5.js";import"../chunk-MKM7NBZK.js";import"../chunk-YDDGCJJG.js";import"../chunk-ECVXWZ4Q.js";import"../chunk-XEMQUN3Z.js";import"../chunk-MTDBHTSF.js";import"../chunk-MBKJ7GHT.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 unusedParams};
|
|
2
2
|
//# sourceMappingURL=unused-params.js.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { S as ScipDatabase } from '../db-
|
|
1
|
+
import { S as ScipDatabase } from '../db-_Bdx0E1W.js';
|
|
2
|
+
import { F as FrontendBehaviorEvidenceClass, a as FrontendBehaviorActionTier } from '../frontend-behavior-evidence-EfM4_9bc.js';
|
|
2
3
|
import 'better-sqlite3';
|
|
3
|
-
import '../config-types-
|
|
4
|
+
import '../config-types-BrHl3Bge.js';
|
|
4
5
|
|
|
5
6
|
interface VueComponentDuplicateResult {
|
|
6
7
|
fileA: string;
|
|
@@ -13,6 +14,10 @@ interface VueComponentDuplicateResult {
|
|
|
13
14
|
sharedDirectives: string[];
|
|
14
15
|
sharedSlots: string[];
|
|
15
16
|
sharedIdentifiers: string[];
|
|
17
|
+
evidenceClass: FrontendBehaviorEvidenceClass;
|
|
18
|
+
actionTier: FrontendBehaviorActionTier;
|
|
19
|
+
evidenceClassReasons: string[];
|
|
20
|
+
recommendation: string;
|
|
16
21
|
uniqueToA: string[];
|
|
17
22
|
uniqueToB: string[];
|
|
18
23
|
locA: number;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-TG7QSYCJ.js";import"../chunk-KJCDEDQW.js";import"../chunk-6XA4LDHY.js";import"../chunk-KMVGRIO2.js";import"../chunk-ISLWJ4PY.js";import"../chunk-WS3Z6W3M.js";import"../chunk-GNG622H3.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as vueComponentDuplicates};
|
|
2
2
|
//# sourceMappingURL=vue-component-duplicates.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { S as ScipDatabase } from '../db-
|
|
2
|
-
import {
|
|
1
|
+
import { S as ScipDatabase } from '../db-_Bdx0E1W.js';
|
|
2
|
+
import { a as FrontendBehaviorActionTier, F as FrontendBehaviorEvidenceClass } from '../frontend-behavior-evidence-EfM4_9bc.js';
|
|
3
3
|
import 'better-sqlite3';
|
|
4
|
-
import '../config-types-
|
|
4
|
+
import '../config-types-BrHl3Bge.js';
|
|
5
5
|
|
|
6
6
|
type VueComposableEvidenceClass = FrontendBehaviorEvidenceClass;
|
|
7
7
|
type VueComposableActionTier = FrontendBehaviorActionTier;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-URSSPS5H.js";import"../chunk-KJCDEDQW.js";import"../chunk-6XA4LDHY.js";import"../chunk-KMVGRIO2.js";import"../chunk-ISLWJ4PY.js";import"../chunk-WS3Z6W3M.js";import"../chunk-GNG622H3.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as vueComposableCandidates};
|
|
2
2
|
//# sourceMappingURL=vue-composable-candidates.js.map
|
|
@@ -1,12 +1,13 @@
|
|
|
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
|
type VueLargeViewPressureAxis = 'template' | 'script' | 'style' | 'external-script' | 'custom-block' | 'total';
|
|
6
6
|
type VueLargeViewContextKind = 'component' | 'route-page';
|
|
7
7
|
type VueLargeViewRecommendationKind = 'custom-block-review' | 'external-script-boundary' | 'route-page-decomposition' | 'script-behavior-extraction' | 'style-decomposition' | 'template-decomposition' | 'total-size-review';
|
|
8
8
|
interface VueLargeViewPressureResult {
|
|
9
9
|
file: string;
|
|
10
|
+
/** Component/SFC + external-script lines, plus one hop of delegated `use*` composable LOC. */
|
|
10
11
|
totalLines: number;
|
|
11
12
|
sfcLines: number;
|
|
12
13
|
templateLines: number;
|
|
@@ -15,6 +16,9 @@ interface VueLargeViewPressureResult {
|
|
|
15
16
|
externalScriptLines: number;
|
|
16
17
|
externalScriptPaths: string[];
|
|
17
18
|
customBlockLines: number;
|
|
19
|
+
/** LOC of imported `use*` composables this view's script actually invokes (one hop, not recursed). */
|
|
20
|
+
delegatedComposableLines: number;
|
|
21
|
+
delegatedComposablePaths: string[];
|
|
18
22
|
dominantPressure: VueLargeViewPressureAxis;
|
|
19
23
|
pressureKinds: VueLargeViewPressureAxis[];
|
|
20
24
|
contextKind: VueLargeViewContextKind;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-7JZRFDCU.js";import"../chunk-6XA4LDHY.js";import"../chunk-KMVGRIO2.js";import"../chunk-ISLWJ4PY.js";import"../chunk-WS3Z6W3M.js";import"../chunk-GNG622H3.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as vueLargeViewPressure};
|
|
2
2
|
//# sourceMappingURL=vue-large-view-pressure.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
|
type WrapperActionTier = 'direct' | 'signal';
|
|
6
6
|
interface WrapperCandidate {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-2LQWMYG4.js";import"../chunk-QARYU7R3.js";import"../chunk-T6NGEV5I.js";import"../chunk-K6UI6EBZ.js";import"../chunk-B75HZHUP.js";import"../chunk-UAHZ57BR.js";import"../chunk-NAH5EAZS.js";import"../chunk-BGBBVSH4.js";import"../chunk-72MFTCU5.js";import"../chunk-MKM7NBZK.js";import"../chunk-YDDGCJJG.js";import"../chunk-ECVXWZ4Q.js";import"../chunk-XEMQUN3Z.js";import"../chunk-MTDBHTSF.js";import"../chunk-MBKJ7GHT.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 wrapperCandidates};
|
|
2
2
|
//# sourceMappingURL=wrapper-candidates.js.map
|