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.
Files changed (354) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/{vendor/scip/LICENSE.scip → LICENSE} +1 -0
  3. package/README.md +164 -49
  4. package/dist/augment-vue-worker.js +1 -1
  5. package/dist/{chunk-RUV5IY25.js → chunk-2LQWMYG4.js} +2 -2
  6. package/dist/{chunk-KZ4MG5NY.js → chunk-2QGE5AEP.js} +2 -2
  7. package/dist/chunk-4D54JIU3.js +2 -0
  8. package/dist/{chunk-2GLNBCHB.js → chunk-52Q4JFDW.js} +2 -2
  9. package/dist/chunk-5AAAEZ2Z.js +2 -0
  10. package/dist/chunk-64PRNLKP.js +2 -0
  11. package/dist/chunk-6XA4LDHY.js +2 -0
  12. package/dist/chunk-72MFTCU5.js +38 -0
  13. package/dist/chunk-75X52JTA.js +2 -0
  14. package/dist/{chunk-LEHVP4DY.js → chunk-7ITCOJGD.js} +2 -2
  15. package/dist/chunk-7JZRFDCU.js +2 -0
  16. package/dist/{chunk-XRUGSM76.js → chunk-AZLKLZ5S.js} +2 -2
  17. package/dist/chunk-B4VYXRCQ.js +26 -0
  18. package/dist/chunk-BCNT6ODA.js +5 -0
  19. package/dist/chunk-BP2NAIAZ.js +2 -0
  20. package/dist/chunk-BVNO67DB.js +2 -0
  21. package/dist/{chunk-XHMVZFA6.js → chunk-CW3KZ7UF.js} +2 -2
  22. package/dist/{chunk-6BN3EHQE.js → chunk-D64L53WX.js} +2 -2
  23. package/dist/{chunk-T3AEVJBG.js → chunk-D7J6GZAG.js} +2 -2
  24. package/dist/chunk-ECVXWZ4Q.js +3 -0
  25. package/dist/chunk-EDB7Y442.js +2 -0
  26. package/dist/{chunk-4ISHQ7UW.js → chunk-ETU2I5JM.js} +4 -4
  27. package/dist/chunk-EXKLAEB4.js +18 -0
  28. package/dist/chunk-EZ5WDZ2Q.js +3 -0
  29. package/dist/{chunk-S2MRVIJ5.js → chunk-F5BJSNU5.js} +6 -6
  30. package/dist/chunk-FBCOFKEC.js +2 -0
  31. package/dist/chunk-FERAXG6Y.js +72 -0
  32. package/dist/chunk-FXG3PHVW.js +9 -0
  33. package/dist/{chunk-XUCZ3RQ5.js → chunk-G2UBOONK.js} +4 -4
  34. package/dist/chunk-GNG622H3.js +3 -0
  35. package/dist/{chunk-JS6B76AQ.js → chunk-H2NMIZFD.js} +2 -2
  36. package/dist/chunk-H7NSJ7L2.js +5 -0
  37. package/dist/chunk-HSU3M25J.js +21 -0
  38. package/dist/chunk-HXXMPYEF.js +2 -0
  39. package/dist/chunk-IRJDYTNZ.js +3 -0
  40. package/dist/chunk-ISLWJ4PY.js +10 -0
  41. package/dist/chunk-J5WVNZ6O.js +2 -0
  42. package/dist/{chunk-UVPY3RUZ.js → chunk-K6UI6EBZ.js} +2 -2
  43. package/dist/{chunk-MNCQPMCH.js → chunk-KJCDEDQW.js} +2 -2
  44. package/dist/{chunk-ELC77ZDE.js → chunk-KMVGRIO2.js} +2 -2
  45. package/dist/chunk-KSUZS77X.js +16 -0
  46. package/dist/{chunk-A4UTLKHU.js → chunk-L2CX5GHZ.js} +2 -2
  47. package/dist/chunk-LFM3O5KX.js +2 -0
  48. package/dist/{chunk-ZUUNREKS.js → chunk-M72ZFN6E.js} +5 -5
  49. package/dist/chunk-MBKJ7GHT.js +102 -0
  50. package/dist/chunk-MJKJMWIM.js +2 -0
  51. package/dist/chunk-MKM7NBZK.js +43 -0
  52. package/dist/chunk-MTDBHTSF.js +2 -0
  53. package/dist/chunk-NAH5EAZS.js +6 -0
  54. package/dist/chunk-NJJ7AS4F.js +2 -0
  55. package/dist/{chunk-EOLGSSDR.js → chunk-NKT5EMEX.js} +2 -2
  56. package/dist/{chunk-ANUEY5WV.js → chunk-NLMRJ7SI.js} +2 -2
  57. package/dist/chunk-NQ75OVUU.js +40 -0
  58. package/dist/{chunk-TBCHRDAC.js → chunk-O3WDE26W.js} +2 -2
  59. package/dist/{chunk-VB2EZZPA.js → chunk-OPE5YXFE.js} +2 -2
  60. package/dist/chunk-ORBRX2QJ.js +2 -0
  61. package/dist/{chunk-OFXN2BCT.js → chunk-OSWF3HSF.js} +2 -2
  62. package/dist/{chunk-JJ5SAWBT.js → chunk-OVMUVXKQ.js} +2 -2
  63. package/dist/{chunk-NTSR6SRP.js → chunk-PH7ZFK6L.js} +2 -2
  64. package/dist/chunk-PXHPCWX5.js +2 -0
  65. package/dist/chunk-Q3B3FNCU.js +3 -0
  66. package/dist/{chunk-SQNHOOJ5.js → chunk-Q7S2DADC.js} +2 -2
  67. package/dist/{chunk-3XSNW5XB.js → chunk-QARYU7R3.js} +2 -2
  68. package/dist/chunk-QZ4JVECJ.js +2 -0
  69. package/dist/{chunk-FX6ULETZ.js → chunk-R5336VHZ.js} +2 -2
  70. package/dist/chunk-RA5MTIOO.js +2 -0
  71. package/dist/{chunk-RXINFVBN.js → chunk-RIQED5OU.js} +2 -2
  72. package/dist/chunk-T2FQ4GHD.js +9 -0
  73. package/dist/chunk-T6NGEV5I.js +2 -0
  74. package/dist/chunk-T7VQG55Q.js +2 -0
  75. package/dist/chunk-TFWDJDGO.js +2 -0
  76. package/dist/chunk-TG7QSYCJ.js +2 -0
  77. package/dist/{chunk-DQ6433ZG.js → chunk-TTMKELT7.js} +17 -8
  78. package/dist/{chunk-DDQONX6B.js → chunk-U7I373V4.js} +2 -2
  79. package/dist/chunk-UAHZ57BR.js +2 -0
  80. package/dist/chunk-URSSPS5H.js +2 -0
  81. package/dist/chunk-V3Z3IOWO.js +2 -0
  82. package/dist/{chunk-7C6JBBE4.js → chunk-V7CVBPWX.js} +2 -2
  83. package/dist/{chunk-PWAK75BU.js → chunk-VYF5HA76.js} +2 -2
  84. package/dist/chunk-WIBFXSYB.js +6 -0
  85. package/dist/chunk-WS3Z6W3M.js +65 -0
  86. package/dist/chunk-WXVGNFAO.js +2 -0
  87. package/dist/chunk-XEMQUN3Z.js +20 -0
  88. package/dist/chunk-YCPASUCX.js +2 -0
  89. package/dist/chunk-YDDGCJJG.js +3 -0
  90. package/dist/{chunk-2UVCH7CQ.js → chunk-YPKBZ77R.js} +2 -2
  91. package/dist/chunk-YZXV3CU3.js +60 -0
  92. package/dist/chunk-Z3IPJKJP.js +4 -0
  93. package/dist/chunk-ZMGBWSFZ.js +2 -0
  94. package/dist/{chunk-GKB4JJDU.js → chunk-ZOIPAYRP.js} +2 -2
  95. package/dist/chunk-ZRIOGL7F.js +8 -0
  96. package/dist/cli.js +446 -280
  97. package/dist/{config-types-dvHOz0zU.d.ts → config-types-BrHl3Bge.d.ts} +57 -0
  98. package/dist/{db-rMZO5JFK.d.ts → db-_Bdx0E1W.d.ts} +1 -1
  99. package/dist/diff-gate-types-CG2YQ_ei.d.ts +4 -0
  100. package/dist/{frontend-behavior-evidence-BxKpKWUu.d.ts → frontend-behavior-evidence-EfM4_9bc.d.ts} +1 -1
  101. package/dist/{health-CtTIGh6H.d.ts → health-BEZ1Rt0S.d.ts} +54 -2
  102. package/dist/index.d.ts +4 -68
  103. package/dist/index.js +1 -1
  104. package/dist/postinstall.js +1 -4
  105. package/dist/queries/affected.d.ts +2 -2
  106. package/dist/queries/affected.js +1 -1
  107. package/dist/queries/bottlenecks.d.ts +2 -2
  108. package/dist/queries/bottlenecks.js +1 -1
  109. package/dist/queries/by-kind.d.ts +2 -2
  110. package/dist/queries/by-kind.js +1 -1
  111. package/dist/queries/call-graph.d.ts +2 -2
  112. package/dist/queries/call-graph.js +1 -1
  113. package/dist/queries/change-surface.d.ts +2 -2
  114. package/dist/queries/change-surface.js +1 -1
  115. package/dist/queries/cleanup-plan.d.ts +2 -2
  116. package/dist/queries/cleanup-plan.js +1 -1
  117. package/dist/queries/co-change.d.ts +12 -2
  118. package/dist/queries/co-change.js +1 -1
  119. package/dist/queries/code.d.ts +2 -2
  120. package/dist/queries/code.js +1 -1
  121. package/dist/queries/complexity-hotspots.d.ts +7 -3
  122. package/dist/queries/complexity-hotspots.js +1 -1
  123. package/dist/queries/complexity.d.ts +42 -4
  124. package/dist/queries/complexity.js +1 -1
  125. package/dist/queries/convergence.d.ts +2 -2
  126. package/dist/queries/convergence.js +1 -1
  127. package/dist/queries/coupling.d.ts +2 -2
  128. package/dist/queries/coupling.js +1 -1
  129. package/dist/queries/cycles.d.ts +12 -3
  130. package/dist/queries/cycles.js +1 -1
  131. package/dist/queries/dataflow.d.ts +2 -2
  132. package/dist/queries/dataflow.js +1 -1
  133. package/dist/queries/dead.d.ts +3 -3
  134. package/dist/queries/dead.js +1 -1
  135. package/dist/queries/deep-chains.d.ts +2 -2
  136. package/dist/queries/deep-chains.js +1 -1
  137. package/dist/queries/deps.d.ts +2 -2
  138. package/dist/queries/deps.js +1 -1
  139. package/dist/queries/diff-gate.d.ts +65 -8
  140. package/dist/queries/diff-gate.js +1 -1
  141. package/dist/queries/diff-impact.d.ts +21 -3
  142. package/dist/queries/diff-impact.js +1 -1
  143. package/dist/queries/doc-drift.d.ts +29 -2
  144. package/dist/queries/doc-drift.js +1 -1
  145. package/dist/queries/drift.d.ts +15 -3
  146. package/dist/queries/drift.js +1 -1
  147. package/dist/queries/duplicate-bodies.d.ts +55 -0
  148. package/dist/queries/duplicate-bodies.js +2 -0
  149. package/dist/queries/extract-candidates.d.ts +2 -2
  150. package/dist/queries/extract-candidates.js +1 -1
  151. package/dist/queries/fan.d.ts +2 -2
  152. package/dist/queries/fan.js +1 -1
  153. package/dist/queries/files.d.ts +4 -3
  154. package/dist/queries/files.js +1 -1
  155. package/dist/queries/health.d.ts +3 -3
  156. package/dist/queries/health.js +1 -1
  157. package/dist/queries/hierarchy.d.ts +2 -2
  158. package/dist/queries/hierarchy.js +1 -1
  159. package/dist/queries/hotspots.d.ts +2 -2
  160. package/dist/queries/hotspots.js +1 -1
  161. package/dist/queries/imports.d.ts +2 -2
  162. package/dist/queries/imports.js +1 -1
  163. package/dist/queries/incomplete-migration.d.ts +3 -2
  164. package/dist/queries/incomplete-migration.js +1 -1
  165. package/dist/queries/index.d.ts +12 -7
  166. package/dist/queries/index.js +1 -1
  167. package/dist/queries/isolated.d.ts +2 -2
  168. package/dist/queries/isolated.js +1 -1
  169. package/dist/queries/locality-candidates.d.ts +2 -2
  170. package/dist/queries/locality-candidates.js +1 -1
  171. package/dist/queries/members.d.ts +2 -2
  172. package/dist/queries/members.js +1 -1
  173. package/dist/queries/methods.d.ts +2 -2
  174. package/dist/queries/methods.js +1 -1
  175. package/dist/queries/outline.d.ts +2 -2
  176. package/dist/queries/outline.js +1 -1
  177. package/dist/queries/passthrough-candidates.d.ts +11 -3
  178. package/dist/queries/passthrough-candidates.js +1 -1
  179. package/dist/queries/plan-context.d.ts +3 -2
  180. package/dist/queries/plan-context.js +1 -1
  181. package/dist/queries/react-component-duplicates.d.ts +7 -2
  182. package/dist/queries/react-component-duplicates.js +1 -1
  183. package/dist/queries/react-hook-candidates.d.ts +3 -3
  184. package/dist/queries/react-hook-candidates.js +1 -1
  185. package/dist/queries/react-large-component-pressure.d.ts +2 -2
  186. package/dist/queries/react-large-component-pressure.js +1 -1
  187. package/dist/queries/recent-duplicates.d.ts +2 -2
  188. package/dist/queries/recent-duplicates.js +1 -1
  189. package/dist/queries/redundant-reexports.d.ts +2 -2
  190. package/dist/queries/redundant-reexports.js +1 -1
  191. package/dist/queries/refs.d.ts +2 -2
  192. package/dist/queries/refs.js +1 -1
  193. package/dist/queries/self-audit.d.ts +4 -2
  194. package/dist/queries/self-audit.js +1 -1
  195. package/dist/queries/similar-chains.d.ts +2 -2
  196. package/dist/queries/similar-chains.js +1 -1
  197. package/dist/queries/similar-files.d.ts +2 -2
  198. package/dist/queries/similar-files.js +1 -1
  199. package/dist/queries/similar-signatures.d.ts +17 -10
  200. package/dist/queries/similar-signatures.js +1 -1
  201. package/dist/queries/similar.d.ts +42 -3
  202. package/dist/queries/similar.js +1 -1
  203. package/dist/queries/slice.d.ts +2 -2
  204. package/dist/queries/slice.js +1 -1
  205. package/dist/queries/stale-abstractions.d.ts +2 -2
  206. package/dist/queries/stale-abstractions.js +1 -1
  207. package/dist/queries/stats.d.ts +2 -2
  208. package/dist/queries/surface.d.ts +2 -2
  209. package/dist/queries/surface.js +1 -1
  210. package/dist/queries/symbols.d.ts +2 -2
  211. package/dist/queries/symbols.js +1 -1
  212. package/dist/queries/system.d.ts +2 -2
  213. package/dist/queries/system.js +1 -1
  214. package/dist/queries/trace.d.ts +2 -2
  215. package/dist/queries/trace.js +1 -1
  216. package/dist/queries/twin-ab.d.ts +55 -0
  217. package/dist/queries/twin-ab.js +2 -0
  218. package/dist/queries/twin-drift.d.ts +97 -0
  219. package/dist/queries/twin-drift.js +2 -0
  220. package/dist/queries/unused-imports.d.ts +2 -2
  221. package/dist/queries/unused-imports.js +1 -1
  222. package/dist/queries/unused-params.d.ts +2 -2
  223. package/dist/queries/unused-params.js +1 -1
  224. package/dist/queries/vue-component-duplicates.d.ts +7 -2
  225. package/dist/queries/vue-component-duplicates.js +1 -1
  226. package/dist/queries/vue-composable-candidates.d.ts +3 -3
  227. package/dist/queries/vue-composable-candidates.js +1 -1
  228. package/dist/queries/vue-large-view-pressure.d.ts +6 -2
  229. package/dist/queries/vue-large-view-pressure.js +1 -1
  230. package/dist/queries/wrapper-candidates.d.ts +2 -2
  231. package/dist/queries/wrapper-candidates.js +1 -1
  232. package/dist/reindex-worker.js +9 -9
  233. package/dist/reindex.d.ts +23 -4
  234. package/dist/reindex.js +19 -19
  235. package/dist/runtime.d.ts +11 -6
  236. package/dist/runtime.js +2 -2
  237. package/dist/{scip-cli-trnNvymv.d.ts → scip-cli-C7cg4ZHR.d.ts} +1 -1
  238. package/dist/symbol-types-DaoeXKUt.d.ts +66 -0
  239. package/docs/AGENT_GUIDE.md +20 -18
  240. package/docs/AI_FAILURE_MODES.md +36 -13
  241. package/docs/API.md +1 -1
  242. package/docs/COMMAND_REFERENCE.md +57 -14
  243. package/docs/DETECTOR_GUIDE.md +20 -3
  244. package/docs/REGEX_POLICY.md +34 -0
  245. package/docs/analyzer-inventory.md +40 -3
  246. package/docs/analyzer-validation-ledger.md +34 -6
  247. package/package.json +39 -7
  248. package/scripts/build-scip-windows.mjs +10 -7
  249. package/skills/_shared/SKILL.md +243 -0
  250. package/skills/_shared/agents/openai.yaml +4 -0
  251. package/skills/scip-api-impact/SKILL.md +55 -71
  252. package/skills/scip-claim-audit/SKILL.md +105 -0
  253. package/skills/scip-claim-audit/agents/openai.yaml +4 -0
  254. package/skills/scip-cleanup-audit/SKILL.md +122 -0
  255. package/skills/scip-cleanup-audit/agents/openai.yaml +4 -0
  256. package/skills/scip-cleanup-improve/SKILL.md +84 -0
  257. package/skills/scip-cleanup-improve/agents/openai.yaml +4 -0
  258. package/skills/scip-concrete-plan/SKILL.md +181 -0
  259. package/skills/scip-concrete-plan/agents/openai.yaml +4 -0
  260. package/skills/scip-conductor/SKILL.md +133 -0
  261. package/skills/scip-conductor/agents/openai.yaml +4 -0
  262. package/skills/scip-debug/SKILL.md +60 -58
  263. package/skills/scip-diagram/SKILL.md +64 -94
  264. package/skills/scip-directory-architecture/SKILL.md +65 -107
  265. package/skills/scip-doc-reconcile/SKILL.md +56 -67
  266. package/skills/scip-explore/SKILL.md +78 -210
  267. package/skills/scip-hyper-optimization/SKILL.md +124 -198
  268. package/skills/scip-integrity-audit/SKILL.md +103 -0
  269. package/skills/scip-integrity-audit/agents/openai.yaml +4 -0
  270. package/skills/scip-language-playbook/SKILL.md +56 -326
  271. package/skills/scip-maintainability/SKILL.md +80 -219
  272. package/skills/scip-probe-reachability/SKILL.md +92 -0
  273. package/skills/scip-probe-reachability/agents/openai.yaml +4 -0
  274. package/skills/scip-query/SKILL.md +108 -124
  275. package/skills/scip-react-maintainability/SKILL.md +64 -82
  276. package/skills/scip-setup/SKILL.md +121 -0
  277. package/skills/scip-setup/agents/openai.yaml +4 -0
  278. package/skills/scip-tla-model-system/SKILL.md +150 -0
  279. package/skills/scip-tla-model-system/agents/openai.yaml +4 -0
  280. package/skills/scip-triage-issue/SKILL.md +53 -41
  281. package/skills/scip-twin-drift/SKILL.md +107 -0
  282. package/skills/scip-twin-drift/agents/openai.yaml +4 -0
  283. package/skills/scip-verify/SKILL.md +70 -88
  284. package/skills/scip-vue-maintainability/SKILL.md +67 -94
  285. package/dist/chunk-2DOW7QCA.js +0 -71
  286. package/dist/chunk-2FMFF4RI.js +0 -2
  287. package/dist/chunk-5GXTUANY.js +0 -2
  288. package/dist/chunk-5JHEN5VN.js +0 -25
  289. package/dist/chunk-62ULXMQ7.js +0 -18
  290. package/dist/chunk-63CI3IXR.js +0 -102
  291. package/dist/chunk-7EK7OSWS.js +0 -2
  292. package/dist/chunk-7IWIMNHI.js +0 -2
  293. package/dist/chunk-7XTO4YXB.js +0 -8
  294. package/dist/chunk-AOWFUGDL.js +0 -2
  295. package/dist/chunk-AREANYIA.js +0 -3
  296. package/dist/chunk-AZBELWZQ.js +0 -7
  297. package/dist/chunk-B32FX5KB.js +0 -2
  298. package/dist/chunk-B6MJ5VQV.js +0 -2
  299. package/dist/chunk-CXWCLVYL.js +0 -2
  300. package/dist/chunk-CYHIKTJN.js +0 -3
  301. package/dist/chunk-DFSEARAU.js +0 -2
  302. package/dist/chunk-DVFP6PZI.js +0 -2
  303. package/dist/chunk-E3ADDB43.js +0 -2
  304. package/dist/chunk-F6IXELII.js +0 -20
  305. package/dist/chunk-FMGVZBS2.js +0 -2
  306. package/dist/chunk-GG5LHT27.js +0 -2
  307. package/dist/chunk-H7JF2CKK.js +0 -2
  308. package/dist/chunk-HHOMJCP5.js +0 -4
  309. package/dist/chunk-HRDSU5FN.js +0 -9
  310. package/dist/chunk-HWVYTJOV.js +0 -2
  311. package/dist/chunk-JNMLBL36.js +0 -2
  312. package/dist/chunk-L446VQYQ.js +0 -2
  313. package/dist/chunk-LDJUB7XW.js +0 -2
  314. package/dist/chunk-MYTUWXHK.js +0 -4
  315. package/dist/chunk-N25HPUOK.js +0 -2
  316. package/dist/chunk-NABVR6B7.js +0 -2
  317. package/dist/chunk-NBNEVLRC.js +0 -3
  318. package/dist/chunk-ONPCQ2PM.js +0 -6
  319. package/dist/chunk-Q5P7NOVM.js +0 -2
  320. package/dist/chunk-RGKRYO22.js +0 -4
  321. package/dist/chunk-RM2WQ75T.js +0 -2
  322. package/dist/chunk-ROGZXWN2.js +0 -2
  323. package/dist/chunk-RSSXKJ6J.js +0 -38
  324. package/dist/chunk-RVGEZYMQ.js +0 -2
  325. package/dist/chunk-SA3DPTHT.js +0 -7
  326. package/dist/chunk-SGTKURU6.js +0 -52
  327. package/dist/chunk-T4N2ZRVY.js +0 -21
  328. package/dist/chunk-THB6AM3V.js +0 -11
  329. package/dist/chunk-ULHLDOD6.js +0 -4
  330. package/dist/chunk-UQ73QF5D.js +0 -43
  331. package/dist/chunk-UUBMFL3F.js +0 -59
  332. package/dist/chunk-V5FGK3DZ.js +0 -2
  333. package/dist/chunk-WTY5FERW.js +0 -2
  334. package/dist/chunk-WUOB4DHH.js +0 -6
  335. package/dist/chunk-YFQIKYOP.js +0 -2
  336. package/dist/chunk-Z2LDWIJV.js +0 -5
  337. package/dist/chunk-ZNWWVYQL.js +0 -3
  338. package/skills/concrete-plan/SKILL.md +0 -372
  339. package/skills/concrete-plan/agents/openai.yaml +0 -4
  340. package/skills/scip-adoption/SKILL.md +0 -122
  341. package/skills/scip-adoption/agents/openai.yaml +0 -4
  342. package/skills/scip-ai-cleanup/SKILL.md +0 -153
  343. package/skills/scip-ai-cleanup/agents/openai.yaml +0 -4
  344. package/skills/scip-debloat/SKILL.md +0 -439
  345. package/skills/scip-debloat/agents/openai.yaml +0 -4
  346. package/skills/scip-health-audit/SKILL.md +0 -162
  347. package/skills/scip-health-audit/agents/openai.yaml +0 -4
  348. package/skills/scip-health-improve/SKILL.md +0 -155
  349. package/skills/scip-health-improve/agents/openai.yaml +0 -4
  350. package/skills/scip-query-setup/SKILL.md +0 -170
  351. package/skills/scip-query-setup/agents/openai.yaml +0 -3
  352. package/vendor/scip/README.md +0 -6
  353. package/vendor/scip/win32-arm64/scip.exe +0 -0
  354. package/vendor/scip/win32-x64/scip.exe +0 -0
@@ -1,6 +1,6 @@
1
- import { S as ScipDatabase } from '../db-rMZO5JFK.js';
1
+ import { S as ScipDatabase } from '../db-_Bdx0E1W.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-dvHOz0zU.js';
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 };
@@ -1,2 +1,2 @@
1
- import{a,b,c,d,e,f,g,h,i,j,k,l}from"../chunk-Z2LDWIJV.js";import"../chunk-ELC77ZDE.js";import"../chunk-B75HZHUP.js";import"../chunk-RM2WQ75T.js";import"../chunk-WUOB4DHH.js";import"../chunk-BGBBVSH4.js";import"../chunk-L446VQYQ.js";import"../chunk-RSSXKJ6J.js";import"../chunk-UQ73QF5D.js";import"../chunk-CYHIKTJN.js";import"../chunk-NBNEVLRC.js";import"../chunk-F6IXELII.js";import"../chunk-ULHLDOD6.js";import"../chunk-DVFP6PZI.js";import"../chunk-63CI3IXR.js";import"../chunk-NABVR6B7.js";import"../chunk-THB6AM3V.js";import"../chunk-SA3DPTHT.js";import"../chunk-SGTKURU6.js";import"../chunk-AREANYIA.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{i as buildCalleeFingerprintIndex,j as candidateFingerprintsForTarget,l as classifySimilarityEvidence,f as getAllCalleeFingerprints,g as getCalleeFingerprintIndex,e as insertTopSimilarResult,k as meaningfulCallees,a as similar,c as similarAll,d as similarAllCount,h as similarityFingerprintProduct,b as targetSpecificIdfWeights};
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
@@ -1,6 +1,6 @@
1
- import { S as ScipDatabase } from '../db-rMZO5JFK.js';
1
+ import { S as ScipDatabase } from '../db-_Bdx0E1W.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-dvHOz0zU.js';
3
+ import '../config-types-BrHl3Bge.js';
4
4
 
5
5
  interface SliceResult {
6
6
  symbol: string;
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-CXWCLVYL.js";import"../chunk-RM2WQ75T.js";import"../chunk-WUOB4DHH.js";import"../chunk-BGBBVSH4.js";import"../chunk-L446VQYQ.js";import"../chunk-RSSXKJ6J.js";import"../chunk-UQ73QF5D.js";import"../chunk-CYHIKTJN.js";import"../chunk-NBNEVLRC.js";import"../chunk-F6IXELII.js";import"../chunk-ULHLDOD6.js";import"../chunk-DVFP6PZI.js";import"../chunk-63CI3IXR.js";import"../chunk-NABVR6B7.js";import"../chunk-THB6AM3V.js";import"../chunk-SA3DPTHT.js";import"../chunk-SGTKURU6.js";import"../chunk-AREANYIA.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as slice};
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-rMZO5JFK.js';
1
+ import { S as ScipDatabase } from '../db-_Bdx0E1W.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-dvHOz0zU.js';
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-T3AEVJBG.js";import"../chunk-2FMFF4RI.js";import"../chunk-UVPY3RUZ.js";import"../chunk-B75HZHUP.js";import"../chunk-RM2WQ75T.js";import"../chunk-WUOB4DHH.js";import"../chunk-BGBBVSH4.js";import"../chunk-L446VQYQ.js";import"../chunk-RSSXKJ6J.js";import"../chunk-UQ73QF5D.js";import"../chunk-CYHIKTJN.js";import"../chunk-NBNEVLRC.js";import"../chunk-F6IXELII.js";import"../chunk-ULHLDOD6.js";import"../chunk-DVFP6PZI.js";import"../chunk-63CI3IXR.js";import"../chunk-NABVR6B7.js";import"../chunk-THB6AM3V.js";import"../chunk-SA3DPTHT.js";import"../chunk-SGTKURU6.js";import"../chunk-AREANYIA.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as staleAbstractions};
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
@@ -1,6 +1,6 @@
1
- import { S as ScipDatabase } from '../db-rMZO5JFK.js';
1
+ import { S as ScipDatabase } from '../db-_Bdx0E1W.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-dvHOz0zU.js';
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-rMZO5JFK.js';
1
+ import { S as ScipDatabase } from '../db-_Bdx0E1W.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-dvHOz0zU.js';
3
+ import '../config-types-BrHl3Bge.js';
4
4
 
5
5
  interface SurfaceResult {
6
6
  consumer: string;
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-VB2EZZPA.js";import"../chunk-OFXN2BCT.js";import"../chunk-RM2WQ75T.js";import"../chunk-WUOB4DHH.js";import"../chunk-BGBBVSH4.js";import"../chunk-L446VQYQ.js";import"../chunk-RSSXKJ6J.js";import"../chunk-UQ73QF5D.js";import"../chunk-CYHIKTJN.js";import"../chunk-NBNEVLRC.js";import"../chunk-F6IXELII.js";import"../chunk-ULHLDOD6.js";import"../chunk-DVFP6PZI.js";import"../chunk-63CI3IXR.js";import"../chunk-NABVR6B7.js";import"../chunk-THB6AM3V.js";import"../chunk-SA3DPTHT.js";import"../chunk-SGTKURU6.js";import"../chunk-AREANYIA.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as surface};
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-rMZO5JFK.js';
1
+ import { S as ScipDatabase } from '../db-_Bdx0E1W.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-dvHOz0zU.js';
3
+ import '../config-types-BrHl3Bge.js';
4
4
 
5
5
  interface SymbolResult {
6
6
  startLine: number;
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-AOWFUGDL.js";import"../chunk-OFXN2BCT.js";import"../chunk-NBNEVLRC.js";import"../chunk-63CI3IXR.js";import"../chunk-NABVR6B7.js";import"../chunk-THB6AM3V.js";import"../chunk-SA3DPTHT.js";import"../chunk-SGTKURU6.js";import"../chunk-AREANYIA.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as symbols};
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
@@ -1,7 +1,7 @@
1
- import { S as ScipDatabase } from '../db-rMZO5JFK.js';
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-dvHOz0zU.js';
4
+ import '../config-types-BrHl3Bge.js';
5
5
 
6
6
  interface SystemResult {
7
7
  files: string[];
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-LEHVP4DY.js";import"../chunk-OFXN2BCT.js";import"../chunk-NBNEVLRC.js";import"../chunk-63CI3IXR.js";import"../chunk-NABVR6B7.js";import"../chunk-THB6AM3V.js";import"../chunk-SA3DPTHT.js";import"../chunk-SGTKURU6.js";import"../chunk-AREANYIA.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as system};
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
@@ -1,6 +1,6 @@
1
- import { S as ScipDatabase } from '../db-rMZO5JFK.js';
1
+ import { S as ScipDatabase } from '../db-_Bdx0E1W.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-dvHOz0zU.js';
3
+ import '../config-types-BrHl3Bge.js';
4
4
 
5
5
  interface TraceResult {
6
6
  definitions: Array<{
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-2GLNBCHB.js";import"../chunk-UQ73QF5D.js";import"../chunk-CYHIKTJN.js";import"../chunk-NBNEVLRC.js";import"../chunk-ULHLDOD6.js";import"../chunk-63CI3IXR.js";import"../chunk-NABVR6B7.js";import"../chunk-THB6AM3V.js";import"../chunk-SA3DPTHT.js";import"../chunk-SGTKURU6.js";import"../chunk-AREANYIA.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as trace};
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,4 +1,4 @@
1
- import '../db-rMZO5JFK.js';
1
+ import '../db-_Bdx0E1W.js';
2
2
  export { ImportResult, UnusedImportResult, importedBy, imports, unusedImports } from './imports.js';
3
3
  import 'better-sqlite3';
4
- import '../config-types-dvHOz0zU.js';
4
+ import '../config-types-BrHl3Bge.js';
@@ -1,2 +1,2 @@
1
- import{a,b,c}from"../chunk-4ISHQ7UW.js";import"../chunk-OFXN2BCT.js";import"../chunk-CYHIKTJN.js";import"../chunk-NBNEVLRC.js";import"../chunk-ULHLDOD6.js";import"../chunk-63CI3IXR.js";import"../chunk-NABVR6B7.js";import"../chunk-THB6AM3V.js";import"../chunk-SA3DPTHT.js";import"../chunk-SGTKURU6.js";import"../chunk-AREANYIA.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{b as importedBy,a as imports,c as unusedImports};
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-rMZO5JFK.js';
1
+ import { S as ScipDatabase } from '../db-_Bdx0E1W.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-dvHOz0zU.js';
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-XHMVZFA6.js";import"../chunk-UVPY3RUZ.js";import"../chunk-B75HZHUP.js";import"../chunk-RM2WQ75T.js";import"../chunk-WUOB4DHH.js";import"../chunk-BGBBVSH4.js";import"../chunk-L446VQYQ.js";import"../chunk-RSSXKJ6J.js";import"../chunk-UQ73QF5D.js";import"../chunk-CYHIKTJN.js";import"../chunk-NBNEVLRC.js";import"../chunk-F6IXELII.js";import"../chunk-ULHLDOD6.js";import"../chunk-DVFP6PZI.js";import"../chunk-63CI3IXR.js";import"../chunk-NABVR6B7.js";import"../chunk-THB6AM3V.js";import"../chunk-SA3DPTHT.js";import"../chunk-SGTKURU6.js";import"../chunk-AREANYIA.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as unusedParams};
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-rMZO5JFK.js';
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-dvHOz0zU.js';
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-JNMLBL36.js";import"../chunk-HWVYTJOV.js";import"../chunk-MNCQPMCH.js";import"../chunk-ELC77ZDE.js";import"../chunk-ULHLDOD6.js";import"../chunk-SA3DPTHT.js";import"../chunk-SGTKURU6.js";import"../chunk-AREANYIA.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as vueComponentDuplicates};
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-rMZO5JFK.js';
2
- import { F as FrontendBehaviorActionTier, a as FrontendBehaviorEvidenceClass } from '../frontend-behavior-evidence-BxKpKWUu.js';
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-dvHOz0zU.js';
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-7IWIMNHI.js";import"../chunk-HWVYTJOV.js";import"../chunk-MNCQPMCH.js";import"../chunk-ELC77ZDE.js";import"../chunk-ULHLDOD6.js";import"../chunk-SA3DPTHT.js";import"../chunk-SGTKURU6.js";import"../chunk-AREANYIA.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as vueComposableCandidates};
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-rMZO5JFK.js';
1
+ import { S as ScipDatabase } from '../db-_Bdx0E1W.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-dvHOz0zU.js';
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-N25HPUOK.js";import"../chunk-SA3DPTHT.js";import"../chunk-SGTKURU6.js";import"../chunk-AREANYIA.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as vueLargeViewPressure};
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-rMZO5JFK.js';
1
+ import { S as ScipDatabase } from '../db-_Bdx0E1W.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-dvHOz0zU.js';
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-RUV5IY25.js";import"../chunk-2FMFF4RI.js";import"../chunk-3XSNW5XB.js";import"../chunk-UVPY3RUZ.js";import"../chunk-B75HZHUP.js";import"../chunk-RM2WQ75T.js";import"../chunk-WUOB4DHH.js";import"../chunk-BGBBVSH4.js";import"../chunk-L446VQYQ.js";import"../chunk-RSSXKJ6J.js";import"../chunk-UQ73QF5D.js";import"../chunk-CYHIKTJN.js";import"../chunk-NBNEVLRC.js";import"../chunk-F6IXELII.js";import"../chunk-ULHLDOD6.js";import"../chunk-DVFP6PZI.js";import"../chunk-63CI3IXR.js";import"../chunk-NABVR6B7.js";import"../chunk-THB6AM3V.js";import"../chunk-SA3DPTHT.js";import"../chunk-SGTKURU6.js";import"../chunk-AREANYIA.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as wrapperCandidates};
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