scip-query 0.5.0 → 0.6.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 (199) hide show
  1. package/dist/chunk-2DSS2NGF.js +10 -0
  2. package/dist/chunk-2RLP74AO.js +2 -0
  3. package/dist/chunk-4QJ7LVW5.js +2 -0
  4. package/dist/chunk-4TYGGOLO.js +5 -0
  5. package/dist/chunk-5IADAU5B.js +7 -0
  6. package/dist/chunk-7754WFFV.js +18 -0
  7. package/dist/chunk-7VOF4ZG6.js +2 -0
  8. package/dist/chunk-7Z4COVMC.js +2 -0
  9. package/dist/chunk-AJ5PWKD4.js +2 -0
  10. package/dist/chunk-BDBRZPX3.js +7 -0
  11. package/dist/chunk-BE6EQIWY.js +2 -0
  12. package/dist/chunk-BQ3INTYT.js +8 -0
  13. package/dist/chunk-D7KLLMPB.js +2 -0
  14. package/dist/chunk-D7YBWSON.js +29 -0
  15. package/dist/chunk-DE5ZBHMK.js +39 -0
  16. package/dist/chunk-DHYIJHXZ.js +33 -0
  17. package/dist/chunk-EEF3YEHW.js +2 -0
  18. package/dist/chunk-F2LLHRRZ.js +2 -0
  19. package/dist/chunk-FCC3XJTI.js +2 -0
  20. package/dist/chunk-GNXRLK5G.js +2 -0
  21. package/dist/chunk-GXVB36TG.js +62 -0
  22. package/dist/chunk-HMKJTAZD.js +2 -0
  23. package/dist/chunk-IBGBI3VU.js +2 -0
  24. package/dist/chunk-IYFZS4PV.js +84 -0
  25. package/dist/chunk-JH3A7HTU.js +2 -0
  26. package/dist/chunk-JS2RNIC7.js +2 -0
  27. package/dist/chunk-K5FQFCSN.js +41 -0
  28. package/dist/chunk-K6GBKEQE.js +6 -0
  29. package/dist/chunk-KO7YJRWP.js +12 -0
  30. package/dist/chunk-KYT47WU2.js +4 -0
  31. package/dist/chunk-LORWXBOO.js +2 -0
  32. package/dist/chunk-LX4H4LLG.js +89 -0
  33. package/dist/chunk-N3Z2SJCR.js +2 -0
  34. package/dist/chunk-NTDA4A2D.js +25 -0
  35. package/dist/chunk-NXMYYHDO.js +24 -0
  36. package/dist/chunk-PZ6ESKRH.js +7 -0
  37. package/dist/chunk-QXE6EDY2.js +6 -0
  38. package/dist/chunk-RJ7SPBJ5.js +5 -0
  39. package/dist/chunk-RWE6FHG3.js +3 -0
  40. package/dist/chunk-SDX6MDBL.js +2 -0
  41. package/dist/chunk-SG35Y7J2.js +2 -0
  42. package/dist/chunk-STOGKRJH.js +4 -0
  43. package/dist/chunk-TINPMWJK.js +2 -0
  44. package/dist/chunk-UJB62HV3.js +2 -0
  45. package/dist/chunk-VEUMRDHW.js +2 -0
  46. package/dist/chunk-WCDXJGYT.js +65 -0
  47. package/dist/chunk-WTSTDJZ7.js +6 -0
  48. package/dist/chunk-XAZTIDST.js +2 -0
  49. package/dist/chunk-XVDASCN7.js +35 -0
  50. package/dist/chunk-Y7H6D2EV.js +2 -0
  51. package/dist/chunk-Y7LOQSWY.js +2 -0
  52. package/dist/chunk-YIPCV7M7.js +70 -0
  53. package/dist/chunk-ZSRXMNMK.js +5 -0
  54. package/dist/chunk-ZXKURFVB.js +56 -0
  55. package/dist/cli.js +509 -8758
  56. package/dist/{db-6F9R9e_t.d.ts → db-BSTtBG_H.d.ts} +146 -1
  57. package/dist/index.d.ts +11 -2
  58. package/dist/index.js +13 -1616
  59. package/dist/postinstall.js +4 -100
  60. package/dist/queries/affected.d.ts +1 -1
  61. package/dist/queries/affected.js +1 -8
  62. package/dist/queries/bottlenecks.d.ts +1 -1
  63. package/dist/queries/bottlenecks.js +1 -8
  64. package/dist/queries/by-kind.d.ts +1 -4
  65. package/dist/queries/by-kind.js +1 -10
  66. package/dist/queries/call-graph.d.ts +1 -1
  67. package/dist/queries/call-graph.js +1 -8
  68. package/dist/queries/change-surface.d.ts +1 -1
  69. package/dist/queries/change-surface.js +1 -8
  70. package/dist/queries/code.d.ts +1 -1
  71. package/dist/queries/code.js +1 -8
  72. package/dist/queries/complexity-hotspots.d.ts +5 -10
  73. package/dist/queries/complexity-hotspots.js +1 -8
  74. package/dist/queries/complexity.d.ts +1 -1
  75. package/dist/queries/complexity.js +1 -8
  76. package/dist/queries/convergence.d.ts +1 -1
  77. package/dist/queries/convergence.js +1 -8
  78. package/dist/queries/coupling.d.ts +1 -1
  79. package/dist/queries/coupling.js +1 -10
  80. package/dist/queries/cycles.d.ts +1 -1
  81. package/dist/queries/cycles.js +1 -8
  82. package/dist/queries/dataflow.d.ts +1 -1
  83. package/dist/queries/dataflow.js +1 -8
  84. package/dist/queries/dead.d.ts +1 -1
  85. package/dist/queries/dead.js +1 -9
  86. package/dist/queries/deep-chains.d.ts +9 -1
  87. package/dist/queries/deep-chains.js +1 -8
  88. package/dist/queries/deps.d.ts +1 -1
  89. package/dist/queries/deps.js +1 -10
  90. package/dist/queries/diff-impact.d.ts +1 -1
  91. package/dist/queries/diff-impact.js +1 -7
  92. package/dist/queries/drift.d.ts +1 -1
  93. package/dist/queries/drift.js +1 -8
  94. package/dist/queries/extract-candidates.d.ts +1 -1
  95. package/dist/queries/extract-candidates.js +1 -8
  96. package/dist/queries/fan.d.ts +1 -1
  97. package/dist/queries/fan.js +1 -14
  98. package/dist/queries/files.d.ts +1 -1
  99. package/dist/queries/files.js +1 -6
  100. package/dist/queries/health.d.ts +1 -1
  101. package/dist/queries/health.js +1 -20
  102. package/dist/queries/hierarchy.d.ts +1 -1
  103. package/dist/queries/hierarchy.js +1 -8
  104. package/dist/queries/hotspots.d.ts +1 -1
  105. package/dist/queries/hotspots.js +1 -8
  106. package/dist/queries/imports.d.ts +1 -1
  107. package/dist/queries/imports.js +1 -12
  108. package/dist/queries/index.d.ts +1 -1
  109. package/dist/queries/index.js +1 -197
  110. package/dist/queries/isolated.d.ts +1 -1
  111. package/dist/queries/isolated.js +1 -9
  112. package/dist/queries/members.d.ts +1 -1
  113. package/dist/queries/members.js +1 -8
  114. package/dist/queries/methods.d.ts +1 -1
  115. package/dist/queries/methods.js +1 -8
  116. package/dist/queries/outline.d.ts +1 -1
  117. package/dist/queries/outline.js +1 -8
  118. package/dist/queries/passthrough-candidates.d.ts +1 -1
  119. package/dist/queries/passthrough-candidates.js +1 -8
  120. package/dist/queries/redundant-reexports.d.ts +1 -1
  121. package/dist/queries/redundant-reexports.js +1 -9
  122. package/dist/queries/refs.d.ts +1 -1
  123. package/dist/queries/refs.js +1 -8
  124. package/dist/queries/similar-chains.d.ts +1 -1
  125. package/dist/queries/similar-chains.js +1 -8
  126. package/dist/queries/similar-files.d.ts +1 -1
  127. package/dist/queries/similar-files.js +1 -8
  128. package/dist/queries/similar-signatures.d.ts +1 -1
  129. package/dist/queries/similar-signatures.js +1 -8
  130. package/dist/queries/similar.d.ts +1 -1
  131. package/dist/queries/similar.js +1 -10
  132. package/dist/queries/slice.d.ts +1 -1
  133. package/dist/queries/slice.js +1 -8
  134. package/dist/queries/stale-abstractions.d.ts +15 -5
  135. package/dist/queries/stale-abstractions.js +1 -8
  136. package/dist/queries/stats.d.ts +1 -1
  137. package/dist/queries/stats.js +1 -6
  138. package/dist/queries/surface.d.ts +1 -1
  139. package/dist/queries/surface.js +1 -8
  140. package/dist/queries/symbols.d.ts +1 -1
  141. package/dist/queries/symbols.js +1 -9
  142. package/dist/queries/system.d.ts +1 -1
  143. package/dist/queries/system.js +1 -9
  144. package/dist/queries/trace.d.ts +1 -1
  145. package/dist/queries/trace.js +1 -9
  146. package/dist/queries/wrapper-candidates.d.ts +1 -1
  147. package/dist/queries/wrapper-candidates.js +1 -8
  148. package/dist/reindex-worker.js +7 -672
  149. package/package.json +20 -2
  150. package/dist/chunk-2MQ5DPY6.js +0 -61
  151. package/dist/chunk-2QTYIOJ5.js +0 -165
  152. package/dist/chunk-3VI4YXCL.js +0 -172
  153. package/dist/chunk-3VV2G6U7.js +0 -34
  154. package/dist/chunk-44PFXVXG.js +0 -76
  155. package/dist/chunk-6SLFQR36.js +0 -64
  156. package/dist/chunk-74RFWB5T.js +0 -24
  157. package/dist/chunk-7DBPRGMS.js +0 -221
  158. package/dist/chunk-DTB724R3.js +0 -110
  159. package/dist/chunk-FLOYI6I4.js +0 -185
  160. package/dist/chunk-FO2CBB7U.js +0 -23
  161. package/dist/chunk-GJT3MO2T.js +0 -17
  162. package/dist/chunk-HAP4LJKX.js +0 -66
  163. package/dist/chunk-JCOJQ4I6.js +0 -93
  164. package/dist/chunk-JGQMOS4V.js +0 -59
  165. package/dist/chunk-JMD4WJ2Q.js +0 -213
  166. package/dist/chunk-JSQPZOPO.js +0 -64
  167. package/dist/chunk-JSXGC2EH.js +0 -151
  168. package/dist/chunk-JZN3DRCT.js +0 -59
  169. package/dist/chunk-KMWYB3CX.js +0 -71
  170. package/dist/chunk-MRM755FU.js +0 -37
  171. package/dist/chunk-N2XO3Z5F.js +0 -69
  172. package/dist/chunk-OLW5UL36.js +0 -76
  173. package/dist/chunk-OMCRXXDX.js +0 -2600
  174. package/dist/chunk-OWJOHUZE.js +0 -44
  175. package/dist/chunk-P3VCDYMJ.js +0 -269
  176. package/dist/chunk-PEDH3D4G.js +0 -53
  177. package/dist/chunk-POAN4SCR.js +0 -46
  178. package/dist/chunk-PTMGEBU3.js +0 -101
  179. package/dist/chunk-PU44HK7P.js +0 -87
  180. package/dist/chunk-QJI7EECA.js +0 -327
  181. package/dist/chunk-R5HICGMB.js +0 -110
  182. package/dist/chunk-RJ2D6YWQ.js +0 -49
  183. package/dist/chunk-RZ5GYPBP.js +0 -79
  184. package/dist/chunk-SRLQNO6O.js +0 -101
  185. package/dist/chunk-UGS7HJI4.js +0 -84
  186. package/dist/chunk-VKUUXOE7.js +0 -105
  187. package/dist/chunk-VPUJSJCI.js +0 -84
  188. package/dist/chunk-VRWVV3EP.js +0 -72
  189. package/dist/chunk-WJWQEU4A.js +0 -162
  190. package/dist/chunk-WJZHDUSB.js +0 -40
  191. package/dist/chunk-WWOCQ5W4.js +0 -34
  192. package/dist/chunk-X3Q2OVRL.js +0 -77
  193. package/dist/chunk-Y3P7QKKN.js +0 -27
  194. package/dist/chunk-Y6FAHY4N.js +0 -81
  195. package/dist/chunk-YMSJCSRG.js +0 -213
  196. package/dist/chunk-ZDL3U4W2.js +0 -124
  197. package/dist/chunk-ZXNX5JRE.js +0 -216
  198. package/dist/queries/clean-signature.d.ts +0 -17
  199. package/dist/queries/clean-signature.js +0 -9
@@ -1,102 +1,6 @@
1
1
  #!/usr/bin/env node
2
- import {
3
- getScipVersion,
4
- isScipInstalled,
5
- printScipInstallInstructions,
6
- tryInstallScipCli
7
- } from "./chunk-P3VCDYMJ.js";
8
-
9
- // src/setup.ts
10
- import {
11
- existsSync,
12
- mkdirSync,
13
- symlinkSync,
14
- readlinkSync,
15
- unlinkSync
16
- } from "fs";
17
- import { join, dirname, resolve } from "path";
18
- import { homedir, platform } from "os";
19
- import { fileURLToPath } from "url";
20
- var IS_WINDOWS = platform() === "win32";
21
- var BUILTIN_SKILLS = [
22
- "concrete-plan",
23
- "scip-explore",
24
- "scip-debloat",
25
- "scip-verify",
26
- "scip-language-playbook"
27
- ];
28
- function installSkills(opts = {}) {
29
- const log = opts.quiet ? () => {
30
- } : console.log;
31
- const thisFile = fileURLToPath(import.meta.url);
32
- const skillsSource = resolve(dirname(thisFile), "..", "skills");
33
- const targets = [
34
- join(homedir(), ".claude", "skills"),
35
- join(homedir(), ".codex", "skills")
36
- ];
37
- const result = {
38
- installed: [],
39
- skipped: [],
40
- alreadyLinked: []
41
- };
42
- for (const targetDir of targets) {
43
- const parentDir = dirname(targetDir);
44
- if (!existsSync(parentDir)) {
45
- continue;
46
- }
47
- mkdirSync(targetDir, { recursive: true });
48
- const toolName = targetDir.includes(".codex") ? "Codex" : "Claude";
49
- for (const skill of BUILTIN_SKILLS) {
50
- const source = join(skillsSource, skill);
51
- const target = join(targetDir, skill);
52
- if (!existsSync(source)) {
53
- result.skipped.push(`${toolName}/${skill}`);
54
- continue;
55
- }
56
- if (existsSync(target)) {
57
- try {
58
- const existing = readlinkSync(target);
59
- if (resolve(existing) === resolve(source)) {
60
- result.alreadyLinked.push(`${toolName}/${skill}`);
61
- log(` ok: ${skill} \u2192 ${toolName} (already linked)`);
62
- continue;
63
- }
64
- } catch {
65
- result.skipped.push(`${toolName}/${skill}`);
66
- log(` skip: ${skill} \u2192 ${toolName} (exists, not a symlink)`);
67
- continue;
68
- }
69
- unlinkSync(target);
70
- }
71
- symlinkSync(source, target, IS_WINDOWS ? "junction" : "dir");
72
- result.installed.push(`${toolName}/${skill}`);
73
- log(` done: ${skill} \u2192 ${toolName}`);
74
- }
75
- }
76
- return result;
77
- }
78
- function postinstall() {
79
- console.log("scip-query: installing skills...");
80
- const result = installSkills({ quiet: false });
81
- const total = result.installed.length + result.alreadyLinked.length;
82
- if (total > 0) {
83
- console.log(`
84
- ${result.installed.length} skill(s) installed, ${result.alreadyLinked.length} already linked.`);
85
- }
86
- if (!isScipInstalled()) {
87
- console.log("\nscip CLI not found on PATH. Attempting auto-install...");
88
- const installed = tryInstallScipCli(console.log);
89
- if (!installed) {
90
- printScipInstallInstructions();
91
- }
92
- } else {
93
- const version = getScipVersion();
94
- console.log(`
95
- scip CLI: ${version ?? "installed"}`);
96
- }
97
- console.log("");
98
- }
99
-
100
- // src/postinstall.ts
101
- postinstall();
2
+ import{a as u,b as k,c as f,d as g}from"./chunk-4TYGGOLO.js";import{existsSync as p,mkdirSync as L,symlinkSync as v,readlinkSync as C,unlinkSync as b}from"fs";import{join as c,dirname as m,resolve as d}from"path";import{homedir as S,platform as q}from"os";import{fileURLToPath as R}from"url";var D=q()==="win32",N=["concrete-plan","scip-explore","scip-debloat","scip-verify","scip-language-playbook"];function T(t={}){let i=t.quiet?()=>{}:console.log,e=R(import.meta.url),I=d(m(e),"..","skills"),$=[c(S(),".claude","skills"),c(S(),".codex","skills")],s={installed:[],skipped:[],alreadyLinked:[]};for(let o of $){let h=m(o);if(!p(h))continue;L(o,{recursive:!0});let n=o.includes(".codex")?"Codex":"Claude";for(let l of N){let a=c(I,l),r=c(o,l);if(!p(a)){s.skipped.push(`${n}/${l}`);continue}if(p(r)){try{let x=C(r);if(d(x)===d(a)){s.alreadyLinked.push(`${n}/${l}`),i(` ok: ${l} \u2192 ${n} (already linked)`);continue}}catch{s.skipped.push(`${n}/${l}`),i(` skip: ${l} \u2192 ${n} (exists, not a symlink)`);continue}b(r)}v(a,r,D?"junction":"dir"),s.installed.push(`${n}/${l}`),i(` done: ${l} \u2192 ${n}`)}}return s}function y(){console.log("scip-query: installing skills...");let t=T({quiet:!1});if(t.installed.length+t.alreadyLinked.length>0&&console.log(`
3
+ ${t.installed.length} skill(s) installed, ${t.alreadyLinked.length} already linked.`),!u())console.log(`
4
+ scip CLI not found on PATH. Attempting auto-install...`),g(console.log)||f();else{let e=k();console.log(`
5
+ scip CLI: ${e??"installed"}`)}console.log("")}y();
102
6
  //# sourceMappingURL=postinstall.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, A as AffectedResult } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, A as AffectedResult } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,9 +1,2 @@
1
- import {
2
- affected
3
- } from "../chunk-PU44HK7P.js";
4
- import "../chunk-OMCRXXDX.js";
5
- import "../chunk-YMSJCSRG.js";
6
- export {
7
- affected
8
- };
1
+ import{a}from"../chunk-D7KLLMPB.js";import"../chunk-WCDXJGYT.js";import"../chunk-BQ3INTYT.js";import"../chunk-LX4H4LLG.js";import"../chunk-IYFZS4PV.js";import"../chunk-TINPMWJK.js";export{a as affected};
9
2
  //# sourceMappingURL=affected.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, B as BottleneckResult } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, B as BottleneckResult } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,9 +1,2 @@
1
- import {
2
- bottlenecks
3
- } from "../chunk-RZ5GYPBP.js";
4
- import "../chunk-OMCRXXDX.js";
5
- import "../chunk-YMSJCSRG.js";
6
- export {
7
- bottlenecks
8
- };
1
+ import{a}from"../chunk-K5FQFCSN.js";import"../chunk-WCDXJGYT.js";import"../chunk-BQ3INTYT.js";import"../chunk-LX4H4LLG.js";import"../chunk-IYFZS4PV.js";import"../chunk-TINPMWJK.js";export{a as bottlenecks};
9
2
  //# sourceMappingURL=bottlenecks.js.map
@@ -1,9 +1,6 @@
1
- import { S as ScipDatabase, a as ByKindResult } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, a as ByKindResult } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
- /**
5
- * Find symbols by SCIP kind (class, interface, enum, function, etc.)
6
- */
7
4
  declare function byKind(db: ScipDatabase, kindQuery: string, opts?: {
8
5
  scope?: string;
9
6
  limit?: number;
@@ -1,11 +1,2 @@
1
- import {
2
- byKind,
3
- kindCounts
4
- } from "../chunk-ZXNX5JRE.js";
5
- import "../chunk-OMCRXXDX.js";
6
- import "../chunk-YMSJCSRG.js";
7
- export {
8
- byKind,
9
- kindCounts
10
- };
1
+ import{a,b}from"../chunk-SDX6MDBL.js";import"../chunk-IYFZS4PV.js";import"../chunk-TINPMWJK.js";export{a as byKind,b as kindCounts};
11
2
  //# sourceMappingURL=by-kind.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, C as CallGraphResult } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, C as CallGraphResult } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,9 +1,2 @@
1
- import {
2
- callGraph
3
- } from "../chunk-POAN4SCR.js";
4
- import "../chunk-OMCRXXDX.js";
5
- import "../chunk-YMSJCSRG.js";
6
- export {
7
- callGraph
8
- };
1
+ import{a}from"../chunk-FCC3XJTI.js";import"../chunk-WCDXJGYT.js";import"../chunk-BQ3INTYT.js";import"../chunk-LX4H4LLG.js";import"../chunk-IYFZS4PV.js";import"../chunk-TINPMWJK.js";export{a as callGraph};
9
2
  //# sourceMappingURL=call-graph.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, b as ChangeSurfaceResult } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, b as ChangeSurfaceResult } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,9 +1,2 @@
1
- import {
2
- changeSurface
3
- } from "../chunk-JSQPZOPO.js";
4
- import "../chunk-OMCRXXDX.js";
5
- import "../chunk-YMSJCSRG.js";
6
- export {
7
- changeSurface
8
- };
1
+ import{a}from"../chunk-2DSS2NGF.js";import"../chunk-WTSTDJZ7.js";import"../chunk-LX4H4LLG.js";import"../chunk-IYFZS4PV.js";import"../chunk-TINPMWJK.js";export{a as changeSurface};
9
2
  //# sourceMappingURL=change-surface.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, c as CodeResult } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, c as CodeResult } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,9 +1,2 @@
1
- import {
2
- code
3
- } from "../chunk-Y6FAHY4N.js";
4
- import "../chunk-OMCRXXDX.js";
5
- import "../chunk-YMSJCSRG.js";
6
- export {
7
- code
8
- };
1
+ import{a}from"../chunk-QXE6EDY2.js";import"../chunk-WTSTDJZ7.js";import"../chunk-LX4H4LLG.js";import"../chunk-IYFZS4PV.js";import"../chunk-TINPMWJK.js";export{a as code};
9
2
  //# sourceMappingURL=code.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, d as ComplexityHotspot } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, d as ComplexityHotspot } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -7,15 +7,10 @@ import 'better-sqlite3';
7
7
  *
8
8
  * Score = (loc / 50) * (fanIn / 5) * max(fanOut / 5, 1)
9
9
  *
10
- * High scores indicate symbols that are large, widely depended upon,
11
- * AND reach out to many other modules the riskiest code to change.
12
- *
13
- * Uses source-corrected definition ranges via getAllDefinitions so the
14
- * LOC/callee bounds match `scip symbols` output. Computing fan-in/out
15
- * through getCallerRowsForSymbol / getCalleeRowsForSymbol keeps the
16
- * bounds consistent with the corrected ranges instead of whatever raw
17
- * range the SCIP indexer emitted (which is sometimes too wide and
18
- * attributes mentions from an adjacent function).
10
+ * Bulk fan-in/out via buildCrossFileCallerMap + buildCalleeMap so we pay
11
+ * one SQL pass per kind regardless of how many definitions we score
12
+ * replaces the previous per-symbol getCaller/CalleeRowsForSymbol calls
13
+ * that were O(symbols × files) on large indexes.
19
14
  */
20
15
  declare function complexityHotspots(db: ScipDatabase, opts?: {
21
16
  scope?: string;
@@ -1,9 +1,2 @@
1
- import {
2
- complexityHotspots
3
- } from "../chunk-WJZHDUSB.js";
4
- import "../chunk-OMCRXXDX.js";
5
- import "../chunk-YMSJCSRG.js";
6
- export {
7
- complexityHotspots
8
- };
1
+ import{a}from"../chunk-Y7H6D2EV.js";import"../chunk-WCDXJGYT.js";import"../chunk-BQ3INTYT.js";import"../chunk-LX4H4LLG.js";import"../chunk-IYFZS4PV.js";import"../chunk-TINPMWJK.js";export{a as complexityHotspots};
9
2
  //# sourceMappingURL=complexity-hotspots.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, e as ComplexityResult } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, e as ComplexityResult } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,9 +1,2 @@
1
- import {
2
- complexity
3
- } from "../chunk-DTB724R3.js";
4
- import "../chunk-OMCRXXDX.js";
5
- import "../chunk-YMSJCSRG.js";
6
- export {
7
- complexity
8
- };
1
+ import{a}from"../chunk-BDBRZPX3.js";import"../chunk-WCDXJGYT.js";import"../chunk-BQ3INTYT.js";import"../chunk-LX4H4LLG.js";import"../chunk-IYFZS4PV.js";import"../chunk-TINPMWJK.js";export{a as complexity};
9
2
  //# sourceMappingURL=complexity.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, f as ConvergenceResult } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, f as ConvergenceResult } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,9 +1,2 @@
1
- import {
2
- convergence
3
- } from "../chunk-44PFXVXG.js";
4
- import "../chunk-OMCRXXDX.js";
5
- import "../chunk-YMSJCSRG.js";
6
- export {
7
- convergence
8
- };
1
+ import{a}from"../chunk-HMKJTAZD.js";import"../chunk-WCDXJGYT.js";import"../chunk-BQ3INTYT.js";import"../chunk-LX4H4LLG.js";import"../chunk-IYFZS4PV.js";import"../chunk-TINPMWJK.js";export{a as convergence};
9
2
  //# sourceMappingURL=convergence.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, g as CouplingResult } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, g as CouplingResult } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,11 +1,2 @@
1
- import {
2
- coupling,
3
- topCoupling
4
- } from "../chunk-VPUJSJCI.js";
5
- import "../chunk-OMCRXXDX.js";
6
- import "../chunk-YMSJCSRG.js";
7
- export {
8
- coupling,
9
- topCoupling
10
- };
1
+ import{a,b}from"../chunk-ZXKURFVB.js";import"../chunk-WTSTDJZ7.js";import"../chunk-LX4H4LLG.js";import"../chunk-IYFZS4PV.js";import"../chunk-TINPMWJK.js";export{a as coupling,b as topCoupling};
11
2
  //# sourceMappingURL=coupling.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, h as CycleResult } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, h as CycleResult } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,9 +1,2 @@
1
- import {
2
- cycles
3
- } from "../chunk-2MQ5DPY6.js";
4
- import "../chunk-OMCRXXDX.js";
5
- import "../chunk-YMSJCSRG.js";
6
- export {
7
- cycles
8
- };
1
+ import{a}from"../chunk-EEF3YEHW.js";import"../chunk-GNXRLK5G.js";import"../chunk-ZSRXMNMK.js";import"../chunk-WCDXJGYT.js";import"../chunk-BQ3INTYT.js";import"../chunk-LX4H4LLG.js";import"../chunk-IYFZS4PV.js";import"../chunk-TINPMWJK.js";export{a as cycles};
9
2
  //# sourceMappingURL=cycles.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, D as DataflowResult } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, D as DataflowResult } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,9 +1,2 @@
1
- import {
2
- dataflow
3
- } from "../chunk-HAP4LJKX.js";
4
- import "../chunk-OMCRXXDX.js";
5
- import "../chunk-YMSJCSRG.js";
6
- export {
7
- dataflow
8
- };
1
+ import{a}from"../chunk-SG35Y7J2.js";import"../chunk-VEUMRDHW.js";import"../chunk-ZSRXMNMK.js";import"../chunk-WCDXJGYT.js";import"../chunk-BQ3INTYT.js";import"../chunk-LX4H4LLG.js";import"../chunk-IYFZS4PV.js";import"../chunk-TINPMWJK.js";export{a as dataflow};
9
2
  //# sourceMappingURL=dataflow.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, i as DeadOptions, j as DeadSummary } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, i as DeadOptions, j as DeadSummary } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,10 +1,2 @@
1
- import {
2
- dead
3
- } from "../chunk-R5HICGMB.js";
4
- import "../chunk-UGS7HJI4.js";
5
- import "../chunk-OMCRXXDX.js";
6
- import "../chunk-YMSJCSRG.js";
7
- export {
8
- dead
9
- };
1
+ import{a}from"../chunk-KO7YJRWP.js";import"../chunk-GNXRLK5G.js";import"../chunk-VEUMRDHW.js";import"../chunk-ZSRXMNMK.js";import"../chunk-WCDXJGYT.js";import"../chunk-BQ3INTYT.js";import"../chunk-LX4H4LLG.js";import"../chunk-IYFZS4PV.js";import"../chunk-TINPMWJK.js";export{a as dead};
10
2
  //# sourceMappingURL=dead.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, k as DeepChainResult } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, k as DeepChainResult } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -6,6 +6,14 @@ import 'better-sqlite3';
6
6
  * A chain A → B → C → D means A depends on B, B on C, C on D.
7
7
  *
8
8
  * Long chains = high coupling depth = changes at the end ripple through many layers.
9
+ *
10
+ * Implementation: condense the graph into strongly-connected components
11
+ * (each cycle becomes one super-node), then run a single-pass longest-path
12
+ * DP over the resulting DAG via topological order. Linear in nodes+edges.
13
+ * For each starting node we record one representative longest chain;
14
+ * within a cycle we pick a canonical representative file. This avoids the
15
+ * exponential blow-up of enumerating every simple path (which OOMs on
16
+ * dense graphs with cycles, like cross-crate Rust workspaces).
9
17
  */
10
18
  declare function deepChains(db: ScipDatabase, opts?: {
11
19
  limit?: number;
@@ -1,9 +1,2 @@
1
- import {
2
- deepChains
3
- } from "../chunk-OWJOHUZE.js";
4
- import "../chunk-OMCRXXDX.js";
5
- import "../chunk-YMSJCSRG.js";
6
- export {
7
- deepChains
8
- };
1
+ import{a}from"../chunk-IBGBI3VU.js";import"../chunk-WCDXJGYT.js";import"../chunk-BQ3INTYT.js";import"../chunk-LX4H4LLG.js";import"../chunk-IYFZS4PV.js";import"../chunk-TINPMWJK.js";export{a as deepChains};
9
2
  //# sourceMappingURL=deep-chains.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, l as DepResult } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, l as DepResult } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /** What internal files does this file depend on? (forward dependencies) */
@@ -1,11 +1,2 @@
1
- import {
2
- deps,
3
- rdeps
4
- } from "../chunk-PEDH3D4G.js";
5
- import "../chunk-OMCRXXDX.js";
6
- import "../chunk-YMSJCSRG.js";
7
- export {
8
- deps,
9
- rdeps
10
- };
1
+ import{a,b}from"../chunk-DHYIJHXZ.js";import"../chunk-WTSTDJZ7.js";import"../chunk-LX4H4LLG.js";import"../chunk-IYFZS4PV.js";import"../chunk-TINPMWJK.js";export{a as deps,b as rdeps};
11
2
  //# sourceMappingURL=deps.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, m as DiffImpactResult } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, m as DiffImpactResult } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,8 +1,2 @@
1
- import {
2
- diffImpact
3
- } from "../chunk-JSXGC2EH.js";
4
- import "../chunk-YMSJCSRG.js";
5
- export {
6
- diffImpact
7
- };
1
+ import{a}from"../chunk-NXMYYHDO.js";import"../chunk-TINPMWJK.js";export{a as diffImpact};
8
2
  //# sourceMappingURL=diff-impact.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, n as DriftSummary } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, n as DriftSummary } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,9 +1,2 @@
1
- import {
2
- drift
3
- } from "../chunk-2QTYIOJ5.js";
4
- import "../chunk-OMCRXXDX.js";
5
- import "../chunk-YMSJCSRG.js";
6
- export {
7
- drift
8
- };
1
+ import{a}from"../chunk-7754WFFV.js";import"../chunk-WCDXJGYT.js";import"../chunk-BQ3INTYT.js";import"../chunk-LX4H4LLG.js";import"../chunk-IYFZS4PV.js";import"../chunk-TINPMWJK.js";export{a as drift};
9
2
  //# sourceMappingURL=drift.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, E as ExtractCandidate } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, E as ExtractCandidate } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,9 +1,2 @@
1
- import {
2
- extractCandidates
3
- } from "../chunk-PTMGEBU3.js";
4
- import "../chunk-OMCRXXDX.js";
5
- import "../chunk-YMSJCSRG.js";
6
- export {
7
- extractCandidates
8
- };
1
+ import{a}from"../chunk-F2LLHRRZ.js";import"../chunk-WCDXJGYT.js";import"../chunk-BQ3INTYT.js";import"../chunk-LX4H4LLG.js";import"../chunk-IYFZS4PV.js";import"../chunk-TINPMWJK.js";export{a as extractCandidates};
9
2
  //# sourceMappingURL=extract-candidates.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, F as FanResult } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, F as FanResult } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,15 +1,2 @@
1
- import {
2
- fanIn,
3
- fanOut,
4
- topFanIn,
5
- topFanOut
6
- } from "../chunk-ZDL3U4W2.js";
7
- import "../chunk-OMCRXXDX.js";
8
- import "../chunk-YMSJCSRG.js";
9
- export {
10
- fanIn,
11
- fanOut,
12
- topFanIn,
13
- topFanOut
14
- };
1
+ import{a,b,c,d}from"../chunk-GXVB36TG.js";import"../chunk-WTSTDJZ7.js";import"../chunk-WCDXJGYT.js";import"../chunk-BQ3INTYT.js";import"../chunk-LX4H4LLG.js";import"../chunk-IYFZS4PV.js";import"../chunk-TINPMWJK.js";export{a as fanIn,b as fanOut,c as topFanIn,d as topFanOut};
15
2
  //# sourceMappingURL=fan.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, o as FileResult } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, o as FileResult } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  declare function files(db: ScipDatabase, pattern: string): FileResult[];
@@ -1,7 +1,2 @@
1
- import {
2
- files
3
- } from "../chunk-FO2CBB7U.js";
4
- export {
5
- files
6
- };
1
+ import{a}from"../chunk-KYT47WU2.js";export{a as files};
7
2
  //# sourceMappingURL=files.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, H as HealthReport } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, H as HealthReport } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,21 +1,2 @@
1
- import {
2
- health
3
- } from "../chunk-7DBPRGMS.js";
4
- import "../chunk-74RFWB5T.js";
5
- import "../chunk-VKUUXOE7.js";
6
- import "../chunk-QJI7EECA.js";
7
- import "../chunk-6SLFQR36.js";
8
- import "../chunk-3VV2G6U7.js";
9
- import "../chunk-RJ2D6YWQ.js";
10
- import "../chunk-2QTYIOJ5.js";
11
- import "../chunk-PTMGEBU3.js";
12
- import "../chunk-WJZHDUSB.js";
13
- import "../chunk-2MQ5DPY6.js";
14
- import "../chunk-R5HICGMB.js";
15
- import "../chunk-UGS7HJI4.js";
16
- import "../chunk-OMCRXXDX.js";
17
- import "../chunk-YMSJCSRG.js";
18
- export {
19
- health
20
- };
1
+ import{a}from"../chunk-UJB62HV3.js";import"../chunk-5IADAU5B.js";import"../chunk-K6GBKEQE.js";import"../chunk-LORWXBOO.js";import"../chunk-RJ7SPBJ5.js";import"../chunk-N3Z2SJCR.js";import"../chunk-7Z4COVMC.js";import"../chunk-7VOF4ZG6.js";import"../chunk-7754WFFV.js";import"../chunk-F2LLHRRZ.js";import"../chunk-EEF3YEHW.js";import"../chunk-KO7YJRWP.js";import"../chunk-GNXRLK5G.js";import"../chunk-VEUMRDHW.js";import"../chunk-ZSRXMNMK.js";import"../chunk-Y7H6D2EV.js";import"../chunk-WCDXJGYT.js";import"../chunk-BQ3INTYT.js";import"../chunk-LX4H4LLG.js";import"../chunk-IYFZS4PV.js";import"../chunk-TINPMWJK.js";export{a as health};
21
2
  //# sourceMappingURL=health.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, p as HierarchyNode } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, p as HierarchyNode } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,9 +1,2 @@
1
- import {
2
- hierarchy
3
- } from "../chunk-N2XO3Z5F.js";
4
- import "../chunk-OMCRXXDX.js";
5
- import "../chunk-YMSJCSRG.js";
6
- export {
7
- hierarchy
8
- };
1
+ import{a}from"../chunk-RWE6FHG3.js";import"../chunk-LX4H4LLG.js";import"../chunk-IYFZS4PV.js";import"../chunk-TINPMWJK.js";export{a as hierarchy};
9
2
  //# sourceMappingURL=hierarchy.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, q as HotspotResult } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, q as HotspotResult } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,9 +1,2 @@
1
- import {
2
- hotspots
3
- } from "../chunk-JGQMOS4V.js";
4
- import "../chunk-OMCRXXDX.js";
5
- import "../chunk-YMSJCSRG.js";
6
- export {
7
- hotspots
8
- };
1
+ import{a}from"../chunk-NTDA4A2D.js";import"../chunk-WCDXJGYT.js";import"../chunk-BQ3INTYT.js";import"../chunk-LX4H4LLG.js";import"../chunk-IYFZS4PV.js";import"../chunk-TINPMWJK.js";export{a as hotspots};
9
2
  //# sourceMappingURL=hotspots.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, I as ImportResult, U as UnusedImportResult } from '../db-6F9R9e_t.js';
1
+ import { S as ScipDatabase, I as ImportResult, U as UnusedImportResult } from '../db-BSTtBG_H.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,13 +1,2 @@
1
- import {
2
- importedBy,
3
- imports,
4
- unusedImports
5
- } from "../chunk-3VI4YXCL.js";
6
- import "../chunk-OMCRXXDX.js";
7
- import "../chunk-YMSJCSRG.js";
8
- export {
9
- importedBy,
10
- imports,
11
- unusedImports
12
- };
1
+ import{a,b,c}from"../chunk-DE5ZBHMK.js";import"../chunk-WTSTDJZ7.js";import"../chunk-BQ3INTYT.js";import"../chunk-LX4H4LLG.js";import"../chunk-IYFZS4PV.js";import"../chunk-TINPMWJK.js";export{b as importedBy,a as imports,c as unusedImports};
13
2
  //# sourceMappingURL=imports.js.map