@optave/codegraph 3.11.0 → 3.11.2

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 (230) hide show
  1. package/README.md +38 -31
  2. package/dist/ast-analysis/engine.d.ts.map +1 -1
  3. package/dist/ast-analysis/engine.js +91 -60
  4. package/dist/ast-analysis/engine.js.map +1 -1
  5. package/dist/ast-analysis/visitor-utils.d.ts +3 -0
  6. package/dist/ast-analysis/visitor-utils.d.ts.map +1 -1
  7. package/dist/ast-analysis/visitor-utils.js +83 -49
  8. package/dist/ast-analysis/visitor-utils.js.map +1 -1
  9. package/dist/ast-analysis/visitors/ast-store-visitor.d.ts.map +1 -1
  10. package/dist/ast-analysis/visitors/ast-store-visitor.js +78 -62
  11. package/dist/ast-analysis/visitors/ast-store-visitor.js.map +1 -1
  12. package/dist/ast-analysis/visitors/dataflow-visitor.d.ts.map +1 -1
  13. package/dist/ast-analysis/visitors/dataflow-visitor.js +61 -42
  14. package/dist/ast-analysis/visitors/dataflow-visitor.js.map +1 -1
  15. package/dist/cli/commands/embed.d.ts.map +1 -1
  16. package/dist/cli/commands/embed.js +49 -4
  17. package/dist/cli/commands/embed.js.map +1 -1
  18. package/dist/domain/analysis/dependencies.d.ts.map +1 -1
  19. package/dist/domain/analysis/dependencies.js +106 -80
  20. package/dist/domain/analysis/dependencies.js.map +1 -1
  21. package/dist/domain/analysis/fn-impact.d.ts.map +1 -1
  22. package/dist/domain/analysis/fn-impact.js +77 -52
  23. package/dist/domain/analysis/fn-impact.js.map +1 -1
  24. package/dist/domain/analysis/module-map.d.ts.map +1 -1
  25. package/dist/domain/analysis/module-map.js +132 -121
  26. package/dist/domain/analysis/module-map.js.map +1 -1
  27. package/dist/domain/graph/builder/call-resolver.d.ts +71 -0
  28. package/dist/domain/graph/builder/call-resolver.d.ts.map +1 -0
  29. package/dist/domain/graph/builder/call-resolver.js +130 -0
  30. package/dist/domain/graph/builder/call-resolver.js.map +1 -0
  31. package/dist/domain/graph/builder/helpers.d.ts +4 -4
  32. package/dist/domain/graph/builder/helpers.d.ts.map +1 -1
  33. package/dist/domain/graph/builder/helpers.js +47 -33
  34. package/dist/domain/graph/builder/helpers.js.map +1 -1
  35. package/dist/domain/graph/builder/incremental.d.ts +6 -0
  36. package/dist/domain/graph/builder/incremental.d.ts.map +1 -1
  37. package/dist/domain/graph/builder/incremental.js +214 -127
  38. package/dist/domain/graph/builder/incremental.js.map +1 -1
  39. package/dist/domain/graph/builder/pipeline.d.ts +1 -44
  40. package/dist/domain/graph/builder/pipeline.d.ts.map +1 -1
  41. package/dist/domain/graph/builder/pipeline.js +10 -766
  42. package/dist/domain/graph/builder/pipeline.js.map +1 -1
  43. package/dist/domain/graph/builder/stages/build-edges.d.ts.map +1 -1
  44. package/dist/domain/graph/builder/stages/build-edges.js +151 -192
  45. package/dist/domain/graph/builder/stages/build-edges.js.map +1 -1
  46. package/dist/domain/graph/builder/stages/build-structure.d.ts.map +1 -1
  47. package/dist/domain/graph/builder/stages/build-structure.js +82 -65
  48. package/dist/domain/graph/builder/stages/build-structure.js.map +1 -1
  49. package/dist/domain/graph/builder/stages/detect-changes.d.ts.map +1 -1
  50. package/dist/domain/graph/builder/stages/detect-changes.js +84 -56
  51. package/dist/domain/graph/builder/stages/detect-changes.js.map +1 -1
  52. package/dist/domain/graph/builder/stages/finalize.d.ts.map +1 -1
  53. package/dist/domain/graph/builder/stages/finalize.js +60 -51
  54. package/dist/domain/graph/builder/stages/finalize.js.map +1 -1
  55. package/dist/domain/graph/builder/stages/insert-nodes.d.ts +8 -6
  56. package/dist/domain/graph/builder/stages/insert-nodes.d.ts.map +1 -1
  57. package/dist/domain/graph/builder/stages/insert-nodes.js +107 -122
  58. package/dist/domain/graph/builder/stages/insert-nodes.js.map +1 -1
  59. package/dist/domain/graph/builder/stages/native-db-lifecycle.d.ts +14 -0
  60. package/dist/domain/graph/builder/stages/native-db-lifecycle.d.ts.map +1 -0
  61. package/dist/domain/graph/builder/stages/native-db-lifecycle.js +77 -0
  62. package/dist/domain/graph/builder/stages/native-db-lifecycle.js.map +1 -0
  63. package/dist/domain/graph/builder/stages/native-orchestrator.d.ts +62 -0
  64. package/dist/domain/graph/builder/stages/native-orchestrator.d.ts.map +1 -0
  65. package/dist/domain/graph/builder/stages/native-orchestrator.js +747 -0
  66. package/dist/domain/graph/builder/stages/native-orchestrator.js.map +1 -0
  67. package/dist/domain/graph/cycles.d.ts +6 -4
  68. package/dist/domain/graph/cycles.d.ts.map +1 -1
  69. package/dist/domain/graph/cycles.js +50 -55
  70. package/dist/domain/graph/cycles.js.map +1 -1
  71. package/dist/domain/graph/journal.d.ts.map +1 -1
  72. package/dist/domain/graph/journal.js +89 -70
  73. package/dist/domain/graph/journal.js.map +1 -1
  74. package/dist/domain/graph/watcher.d.ts.map +1 -1
  75. package/dist/domain/graph/watcher.js +10 -4
  76. package/dist/domain/graph/watcher.js.map +1 -1
  77. package/dist/domain/parser.d.ts +12 -23
  78. package/dist/domain/parser.d.ts.map +1 -1
  79. package/dist/domain/parser.js +126 -79
  80. package/dist/domain/parser.js.map +1 -1
  81. package/dist/domain/search/generator.d.ts +3 -1
  82. package/dist/domain/search/generator.d.ts.map +1 -1
  83. package/dist/domain/search/generator.js +68 -45
  84. package/dist/domain/search/generator.js.map +1 -1
  85. package/dist/domain/search/models.d.ts +2 -0
  86. package/dist/domain/search/models.d.ts.map +1 -1
  87. package/dist/domain/search/models.js +37 -3
  88. package/dist/domain/search/models.js.map +1 -1
  89. package/dist/domain/search/search/hybrid.d.ts.map +1 -1
  90. package/dist/domain/search/search/hybrid.js +49 -40
  91. package/dist/domain/search/search/hybrid.js.map +1 -1
  92. package/dist/domain/search/search/semantic.d.ts.map +1 -1
  93. package/dist/domain/search/search/semantic.js +69 -49
  94. package/dist/domain/search/search/semantic.js.map +1 -1
  95. package/dist/domain/wasm-worker-entry.js +201 -136
  96. package/dist/domain/wasm-worker-entry.js.map +1 -1
  97. package/dist/extractors/elixir.js +95 -71
  98. package/dist/extractors/elixir.js.map +1 -1
  99. package/dist/extractors/gleam.d.ts.map +1 -1
  100. package/dist/extractors/gleam.js +23 -31
  101. package/dist/extractors/gleam.js.map +1 -1
  102. package/dist/extractors/helpers.d.ts +79 -1
  103. package/dist/extractors/helpers.d.ts.map +1 -1
  104. package/dist/extractors/helpers.js +137 -0
  105. package/dist/extractors/helpers.js.map +1 -1
  106. package/dist/extractors/java.d.ts.map +1 -1
  107. package/dist/extractors/java.js +37 -49
  108. package/dist/extractors/java.js.map +1 -1
  109. package/dist/extractors/javascript.d.ts.map +1 -1
  110. package/dist/extractors/javascript.js +44 -44
  111. package/dist/extractors/javascript.js.map +1 -1
  112. package/dist/extractors/julia.js +27 -34
  113. package/dist/extractors/julia.js.map +1 -1
  114. package/dist/extractors/r.d.ts.map +1 -1
  115. package/dist/extractors/r.js +33 -58
  116. package/dist/extractors/r.js.map +1 -1
  117. package/dist/extractors/solidity.d.ts.map +1 -1
  118. package/dist/extractors/solidity.js +38 -61
  119. package/dist/extractors/solidity.js.map +1 -1
  120. package/dist/features/boundaries.d.ts.map +1 -1
  121. package/dist/features/boundaries.js +49 -39
  122. package/dist/features/boundaries.js.map +1 -1
  123. package/dist/features/cfg.d.ts.map +1 -1
  124. package/dist/features/cfg.js +90 -63
  125. package/dist/features/cfg.js.map +1 -1
  126. package/dist/features/check.d.ts.map +1 -1
  127. package/dist/features/check.js +43 -34
  128. package/dist/features/check.js.map +1 -1
  129. package/dist/features/cochange.d.ts.map +1 -1
  130. package/dist/features/cochange.js +68 -56
  131. package/dist/features/cochange.js.map +1 -1
  132. package/dist/features/complexity.d.ts.map +1 -1
  133. package/dist/features/complexity.js +105 -75
  134. package/dist/features/complexity.js.map +1 -1
  135. package/dist/features/dataflow.d.ts.map +1 -1
  136. package/dist/features/dataflow.js +37 -29
  137. package/dist/features/dataflow.js.map +1 -1
  138. package/dist/features/flow.d.ts.map +1 -1
  139. package/dist/features/flow.js +31 -22
  140. package/dist/features/flow.js.map +1 -1
  141. package/dist/features/graph-enrichment.d.ts.map +1 -1
  142. package/dist/features/graph-enrichment.js +77 -70
  143. package/dist/features/graph-enrichment.js.map +1 -1
  144. package/dist/features/owners.d.ts +17 -26
  145. package/dist/features/owners.d.ts.map +1 -1
  146. package/dist/features/owners.js +120 -109
  147. package/dist/features/owners.js.map +1 -1
  148. package/dist/features/sequence.d.ts.map +1 -1
  149. package/dist/features/sequence.js +59 -54
  150. package/dist/features/sequence.js.map +1 -1
  151. package/dist/features/structure-query.d.ts.map +1 -1
  152. package/dist/features/structure-query.js +60 -60
  153. package/dist/features/structure-query.js.map +1 -1
  154. package/dist/features/structure.d.ts.map +1 -1
  155. package/dist/features/structure.js +149 -52
  156. package/dist/features/structure.js.map +1 -1
  157. package/dist/graph/algorithms/leiden/optimiser.d.ts.map +1 -1
  158. package/dist/graph/algorithms/leiden/optimiser.js +100 -69
  159. package/dist/graph/algorithms/leiden/optimiser.js.map +1 -1
  160. package/dist/graph/classifiers/roles.d.ts.map +1 -1
  161. package/dist/graph/classifiers/roles.js +63 -59
  162. package/dist/graph/classifiers/roles.js.map +1 -1
  163. package/dist/infrastructure/config.d.ts +1 -1
  164. package/dist/infrastructure/config.d.ts.map +1 -1
  165. package/dist/infrastructure/config.js +1 -1
  166. package/dist/infrastructure/config.js.map +1 -1
  167. package/dist/presentation/cfg.d.ts.map +1 -1
  168. package/dist/presentation/cfg.js +44 -29
  169. package/dist/presentation/cfg.js.map +1 -1
  170. package/dist/presentation/flow.d.ts.map +1 -1
  171. package/dist/presentation/flow.js +58 -38
  172. package/dist/presentation/flow.js.map +1 -1
  173. package/dist/types.d.ts +1 -1
  174. package/dist/types.d.ts.map +1 -1
  175. package/grammars/tree-sitter-erlang.wasm +0 -0
  176. package/package.json +9 -9
  177. package/src/ast-analysis/engine.ts +145 -61
  178. package/src/ast-analysis/visitor-utils.ts +86 -46
  179. package/src/ast-analysis/visitors/ast-store-visitor.ts +104 -69
  180. package/src/ast-analysis/visitors/dataflow-visitor.ts +86 -47
  181. package/src/cli/commands/embed.ts +54 -4
  182. package/src/domain/analysis/dependencies.ts +166 -85
  183. package/src/domain/analysis/fn-impact.ts +120 -50
  184. package/src/domain/analysis/module-map.ts +175 -140
  185. package/src/domain/graph/builder/call-resolver.ts +181 -0
  186. package/src/domain/graph/builder/helpers.ts +85 -76
  187. package/src/domain/graph/builder/incremental.ts +321 -152
  188. package/src/domain/graph/builder/pipeline.ts +19 -957
  189. package/src/domain/graph/builder/stages/build-edges.ts +229 -275
  190. package/src/domain/graph/builder/stages/build-structure.ts +115 -82
  191. package/src/domain/graph/builder/stages/detect-changes.ts +107 -64
  192. package/src/domain/graph/builder/stages/finalize.ts +72 -70
  193. package/src/domain/graph/builder/stages/insert-nodes.ts +154 -120
  194. package/src/domain/graph/builder/stages/native-db-lifecycle.ts +74 -0
  195. package/src/domain/graph/builder/stages/native-orchestrator.ts +942 -0
  196. package/src/domain/graph/cycles.ts +51 -49
  197. package/src/domain/graph/journal.ts +84 -69
  198. package/src/domain/graph/watcher.ts +12 -4
  199. package/src/domain/parser.ts +143 -66
  200. package/src/domain/search/generator.ts +132 -74
  201. package/src/domain/search/models.ts +39 -3
  202. package/src/domain/search/search/hybrid.ts +53 -42
  203. package/src/domain/search/search/semantic.ts +105 -65
  204. package/src/domain/wasm-worker-entry.ts +235 -152
  205. package/src/extractors/elixir.ts +91 -64
  206. package/src/extractors/gleam.ts +33 -37
  207. package/src/extractors/helpers.ts +205 -1
  208. package/src/extractors/java.ts +42 -45
  209. package/src/extractors/javascript.ts +44 -43
  210. package/src/extractors/julia.ts +28 -35
  211. package/src/extractors/r.ts +38 -56
  212. package/src/extractors/solidity.ts +43 -71
  213. package/src/features/boundaries.ts +64 -46
  214. package/src/features/cfg.ts +145 -74
  215. package/src/features/check.ts +60 -43
  216. package/src/features/cochange.ts +95 -72
  217. package/src/features/complexity.ts +134 -79
  218. package/src/features/dataflow.ts +57 -34
  219. package/src/features/flow.ts +48 -24
  220. package/src/features/graph-enrichment.ts +105 -70
  221. package/src/features/owners.ts +186 -146
  222. package/src/features/sequence.ts +99 -69
  223. package/src/features/structure-query.ts +94 -79
  224. package/src/features/structure.ts +199 -79
  225. package/src/graph/algorithms/leiden/optimiser.ts +142 -87
  226. package/src/graph/classifiers/roles.ts +64 -54
  227. package/src/infrastructure/config.ts +1 -1
  228. package/src/presentation/cfg.ts +48 -32
  229. package/src/presentation/flow.ts +100 -52
  230. package/src/types.ts +1 -1
@@ -21,11 +21,9 @@ const CandidateStrategy = {
21
21
  };
22
22
  export function runLouvainUndirectedModularity(graph, optionsInput = {}) {
23
23
  const options = normalizeOptions(optionsInput);
24
- let currentGraph = graph;
25
- const levels = [];
26
24
  const rngSource = createRng(options.randomSeed);
27
25
  const random = () => rngSource.nextDouble();
28
- const baseGraphAdapter = makeGraphAdapter(currentGraph, {
26
+ const baseGraphAdapter = makeGraphAdapter(graph, {
29
27
  directed: options.directed,
30
28
  ...optionsInput,
31
29
  });
@@ -33,77 +31,19 @@ export function runLouvainUndirectedModularity(graph, optionsInput = {}) {
33
31
  const originalToCurrent = new Int32Array(origN);
34
32
  for (let i = 0; i < origN; i++)
35
33
  originalToCurrent[i] = i;
36
- let fixedNodeMask = null;
37
- if (options.fixedNodes) {
38
- const fixed = new Uint8Array(origN);
39
- const asSet = options.fixedNodes instanceof Set ? options.fixedNodes : new Set(options.fixedNodes);
40
- for (const id of asSet) {
41
- const idx = baseGraphAdapter.idToIndex.get(String(id));
42
- if (idx != null)
43
- fixed[idx] = 1;
44
- }
45
- fixedNodeMask = fixed;
46
- }
34
+ const fixedNodeMask = buildFixedNodeMask(baseGraphAdapter, options.fixedNodes);
35
+ const levels = [];
36
+ let currentGraph = graph;
47
37
  for (let level = 0; level < options.maxLevels; level++) {
48
38
  const graphAdapter = level === 0
49
39
  ? baseGraphAdapter
50
40
  : makeGraphAdapter(currentGraph, { directed: options.directed, ...optionsInput });
51
- const partition = makePartition(graphAdapter);
52
- partition.graph = graphAdapter;
53
- partition.initializeAggregates();
54
- const order = new Int32Array(graphAdapter.n);
55
- for (let i = 0; i < graphAdapter.n; i++)
56
- order[i] = i;
57
- let improved = true;
58
- let localPasses = 0;
59
- const strategyCode = options.candidateStrategyCode;
60
- while (improved) {
61
- improved = false;
62
- localPasses++;
63
- shuffleArrayInPlace(order, random);
64
- for (let idx = 0; idx < order.length; idx++) {
65
- const nodeIndex = order[idx];
66
- if (level === 0 && fixedNodeMask && fixedNodeMask[nodeIndex])
67
- continue;
68
- const candidateCount = partition.accumulateNeighborCommunityEdgeWeights(nodeIndex);
69
- const { bestCommunityId, bestGain } = findBestCommunityMove(partition, graphAdapter, nodeIndex, candidateCount, strategyCode, options, random);
70
- if (bestCommunityId !== partition.nodeCommunity[nodeIndex] && bestGain > GAIN_EPSILON) {
71
- partition.moveNodeToCommunity(nodeIndex, bestCommunityId);
72
- improved = true;
73
- }
74
- }
75
- if (localPasses >= options.maxLocalPasses)
76
- break;
77
- }
78
- renumberCommunities(partition, options.preserveLabels);
79
- let effectivePartition = partition;
80
- if (options.refine) {
81
- const refined = refineWithinCoarseCommunities(graphAdapter, partition, random, options, level === 0 ? fixedNodeMask : null);
82
- // Post-refinement: split any disconnected communities into their
83
- // connected components. This is the cheap O(V+E) alternative to
84
- // checking gamma-connectedness on every candidate during refinement.
85
- // A disconnected community violates even basic connectivity, so
86
- // splitting is always correct.
87
- splitDisconnectedCommunities(graphAdapter, refined);
88
- renumberCommunities(refined, options.preserveLabels);
89
- effectivePartition = refined;
90
- }
91
- levels.push({ graph: graphAdapter, partition: effectivePartition });
92
- const fineToCoarse = effectivePartition.nodeCommunity;
93
- for (let i = 0; i < originalToCurrent.length; i++) {
94
- originalToCurrent[i] = fineToCoarse[originalToCurrent[i]];
95
- }
96
- // Terminate when no further coarsening is possible. Check both the
97
- // move-phase partition (did the greedy phase find merges?) and the
98
- // effective partition that feeds buildCoarseGraph (would coarsening
99
- // actually reduce the graph?). When refine is enabled the refined
100
- // partition starts from singletons and may have more communities than
101
- // the move phase found, so checking only effectivePartition would
102
- // cause premature termination.
103
- if (partition.communityCount === graphAdapter.n &&
104
- effectivePartition.communityCount === graphAdapter.n)
41
+ const levelOutcome = runLevel(graphAdapter, options, random, level === 0 ? fixedNodeMask : null);
42
+ levels.push({ graph: graphAdapter, partition: levelOutcome.effectivePartition });
43
+ applyFineToCoarseMapping(originalToCurrent, levelOutcome.effectivePartition.nodeCommunity);
44
+ if (levelOutcome.terminate)
105
45
  break;
106
- currentGraph = buildCoarseGraph(graphAdapter, effectivePartition);
46
+ currentGraph = buildCoarseGraph(graphAdapter, levelOutcome.effectivePartition);
107
47
  }
108
48
  const last = levels[levels.length - 1];
109
49
  return {
@@ -115,6 +55,97 @@ export function runLouvainUndirectedModularity(graph, optionsInput = {}) {
115
55
  baseGraph: baseGraphAdapter,
116
56
  };
117
57
  }
58
+ /**
59
+ * Build a fixed-node mask aligned with the base graph adapter's node indices.
60
+ * Returns null when no fixed nodes are configured.
61
+ */
62
+ function buildFixedNodeMask(baseGraphAdapter, fixedNodes) {
63
+ if (!fixedNodes)
64
+ return null;
65
+ const mask = new Uint8Array(baseGraphAdapter.n);
66
+ const asSet = fixedNodes instanceof Set ? fixedNodes : new Set(fixedNodes);
67
+ for (const id of asSet) {
68
+ const idx = baseGraphAdapter.idToIndex.get(String(id));
69
+ if (idx != null)
70
+ mask[idx] = 1;
71
+ }
72
+ return mask;
73
+ }
74
+ /**
75
+ * Run one level of the Louvain/Leiden pipeline: greedy local-move phase,
76
+ * optional Leiden refinement, and a termination check. Returns the
77
+ * partition that feeds the next coarse graph plus a `terminate` flag set
78
+ * when no further coarsening is possible.
79
+ */
80
+ function runLevel(graphAdapter, options, random, fixedNodeMask) {
81
+ const partition = makePartition(graphAdapter);
82
+ partition.graph = graphAdapter;
83
+ partition.initializeAggregates();
84
+ runLocalMovePhase(graphAdapter, partition, options, random, fixedNodeMask);
85
+ renumberCommunities(partition, options.preserveLabels);
86
+ let effectivePartition = partition;
87
+ if (options.refine) {
88
+ const refined = refineWithinCoarseCommunities(graphAdapter, partition, random, options, fixedNodeMask);
89
+ // Post-refinement: split any disconnected communities into their
90
+ // connected components. This is the cheap O(V+E) alternative to
91
+ // checking gamma-connectedness on every candidate during refinement.
92
+ // A disconnected community violates even basic connectivity, so
93
+ // splitting is always correct.
94
+ splitDisconnectedCommunities(graphAdapter, refined);
95
+ renumberCommunities(refined, options.preserveLabels);
96
+ effectivePartition = refined;
97
+ }
98
+ // Terminate when no further coarsening is possible. Check both the
99
+ // move-phase partition (did the greedy phase find merges?) and the
100
+ // effective partition that feeds buildCoarseGraph (would coarsening
101
+ // actually reduce the graph?). When refine is enabled the refined
102
+ // partition starts from singletons and may have more communities than
103
+ // the move phase found, so checking only effectivePartition would
104
+ // cause premature termination.
105
+ const terminate = partition.communityCount === graphAdapter.n &&
106
+ effectivePartition.communityCount === graphAdapter.n;
107
+ return { effectivePartition, terminate };
108
+ }
109
+ /**
110
+ * Greedy local-move phase: iterate randomly over nodes, moving each to the
111
+ * best community among the candidate set. Loops until no improvement or
112
+ * `maxLocalPasses` is reached.
113
+ */
114
+ function runLocalMovePhase(graphAdapter, partition, options, random, fixedNodeMask) {
115
+ const order = new Int32Array(graphAdapter.n);
116
+ for (let i = 0; i < graphAdapter.n; i++)
117
+ order[i] = i;
118
+ const strategyCode = options.candidateStrategyCode;
119
+ let improved = true;
120
+ let localPasses = 0;
121
+ while (improved) {
122
+ improved = false;
123
+ localPasses++;
124
+ shuffleArrayInPlace(order, random);
125
+ for (let idx = 0; idx < order.length; idx++) {
126
+ const nodeIndex = order[idx];
127
+ if (fixedNodeMask?.[nodeIndex])
128
+ continue;
129
+ const candidateCount = partition.accumulateNeighborCommunityEdgeWeights(nodeIndex);
130
+ const { bestCommunityId, bestGain } = findBestCommunityMove(partition, graphAdapter, nodeIndex, candidateCount, strategyCode, options, random);
131
+ if (bestCommunityId !== partition.nodeCommunity[nodeIndex] && bestGain > GAIN_EPSILON) {
132
+ partition.moveNodeToCommunity(nodeIndex, bestCommunityId);
133
+ improved = true;
134
+ }
135
+ }
136
+ if (localPasses >= options.maxLocalPasses)
137
+ break;
138
+ }
139
+ }
140
+ /**
141
+ * Compose the running `originalToCurrent` mapping with this level's
142
+ * fine→coarse community labels, in place.
143
+ */
144
+ function applyFineToCoarseMapping(originalToCurrent, fineToCoarse) {
145
+ for (let i = 0; i < originalToCurrent.length; i++) {
146
+ originalToCurrent[i] = fineToCoarse[originalToCurrent[i]];
147
+ }
148
+ }
118
149
  /**
119
150
  * Evaluate all candidate communities for a node and return the best move.
120
151
  * Encapsulates the four candidate-selection strategies (All, RandomAny,
@@ -1 +1 @@
1
- {"version":3,"file":"optimiser.js","sourceRoot":"","sources":["../../../../src/graph/algorithms/leiden/optimiser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"optimiser.js","sourceRoot":"","sources":["../../../../src/graph/algorithms/leiden/optimiser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../../src/graph/classifiers/roles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAe,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAExD,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAAqC,CAAC;AAiB5F,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA0BD,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAI/C;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4HAA4H;IAC5H,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,sBAAsB,EAAE,EAC/B,eAAe,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClD,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CA8DnB"}
1
+ {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../../src/graph/classifiers/roles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAe,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAExD,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAAqC,CAAC;AAiB5F,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA0BD,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAI/C;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4HAA4H;IAC5H,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAgED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,sBAAsB,EAAE,EAC/B,eAAe,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClD,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAUnB"}
@@ -49,73 +49,77 @@ export function median(sorted) {
49
49
  const mid = Math.floor(sorted.length / 2);
50
50
  return sorted.length % 2 === 0 ? (sorted[mid - 1] + sorted[mid]) / 2 : sorted[mid];
51
51
  }
52
+ /**
53
+ * Compute median fan-in and fan-out across nodes with non-zero values.
54
+ * Used as thresholds for "high" fan-in/out classification.
55
+ */
56
+ function computeFanMedians(nodes) {
57
+ const nonZeroFanIn = nodes
58
+ .filter((n) => n.fanIn > 0)
59
+ .map((n) => n.fanIn)
60
+ .sort((a, b) => a - b);
61
+ const nonZeroFanOut = nodes
62
+ .filter((n) => n.fanOut > 0)
63
+ .map((n) => n.fanOut)
64
+ .sort((a, b) => a - b);
65
+ return { fanIn: median(nonZeroFanIn), fanOut: median(nonZeroFanOut) };
66
+ }
67
+ /**
68
+ * Classify a node with `fanIn === 0` that is not exported.
69
+ * Covers framework-active constants, test-only callables, and the dead-* family.
70
+ */
71
+ function classifyUnreferencedNode(node) {
72
+ if (node.kind === 'constant' && node.hasActiveFileSiblings) {
73
+ // Constants consumed via identifier reference (not calls) have no
74
+ // inbound call edges. If the same file has active callables, the
75
+ // constant is almost certainly used locally — classify as leaf.
76
+ return 'leaf';
77
+ }
78
+ if (node.testOnlyFanIn != null && node.testOnlyFanIn > 0)
79
+ return 'test-only';
80
+ return classifyDeadSubRole(node);
81
+ }
82
+ /**
83
+ * Pick a role from fan-in/fan-out shape: core/utility/adapter/leaf.
84
+ * Called after entry/test-only/dead cases have been ruled out.
85
+ */
86
+ function classifyByFanShape(highIn, highOut) {
87
+ if (highIn && !highOut)
88
+ return 'core';
89
+ if (highIn && highOut)
90
+ return 'utility';
91
+ if (!highIn && highOut)
92
+ return 'adapter';
93
+ return 'leaf';
94
+ }
95
+ /**
96
+ * Apply role-classification rules to a single node.
97
+ * Order matters — framework entries are tagged first, then dead/test cases,
98
+ * then the fan-in/fan-out shape decides among the structural roles.
99
+ */
100
+ function classifyNodeRole(node, medFanIn, medFanOut) {
101
+ if (FRAMEWORK_ENTRY_PREFIXES.some((p) => node.name.startsWith(p)))
102
+ return 'entry';
103
+ if (node.fanIn === 0) {
104
+ return node.isExported ? 'entry' : classifyUnreferencedNode(node);
105
+ }
106
+ const hasProdFanIn = typeof node.productionFanIn === 'number';
107
+ if (hasProdFanIn && node.productionFanIn === 0 && !node.isExported)
108
+ return 'test-only';
109
+ const highIn = node.fanIn >= medFanIn;
110
+ const highOut = node.fanOut >= medFanOut && node.fanOut > 0;
111
+ return classifyByFanShape(highIn, highOut);
112
+ }
52
113
  /**
53
114
  * Classify nodes into architectural roles based on fan-in/fan-out metrics.
54
115
  */
55
116
  export function classifyRoles(nodes, medianOverrides) {
56
117
  if (nodes.length === 0)
57
118
  return new Map();
58
- let medFanIn;
59
- let medFanOut;
60
- if (medianOverrides) {
61
- medFanIn = medianOverrides.fanIn;
62
- medFanOut = medianOverrides.fanOut;
63
- }
64
- else {
65
- const nonZeroFanIn = nodes
66
- .filter((n) => n.fanIn > 0)
67
- .map((n) => n.fanIn)
68
- .sort((a, b) => a - b);
69
- const nonZeroFanOut = nodes
70
- .filter((n) => n.fanOut > 0)
71
- .map((n) => n.fanOut)
72
- .sort((a, b) => a - b);
73
- medFanIn = median(nonZeroFanIn);
74
- medFanOut = median(nonZeroFanOut);
75
- }
119
+ const { fanIn: medFanIn, fanOut: medFanOut } = medianOverrides ?? computeFanMedians(nodes);
76
120
  const result = new Map();
77
121
  for (const node of nodes) {
78
- const highIn = node.fanIn >= medFanIn && node.fanIn > 0;
79
- const highOut = node.fanOut >= medFanOut && node.fanOut > 0;
80
- const hasProdFanIn = typeof node.productionFanIn === 'number';
81
- let role;
82
- const isFrameworkEntry = FRAMEWORK_ENTRY_PREFIXES.some((p) => node.name.startsWith(p));
83
- if (isFrameworkEntry) {
84
- role = 'entry';
85
- }
86
- else if (node.fanIn === 0 && !node.isExported) {
87
- if (node.kind === 'constant' && node.hasActiveFileSiblings) {
88
- // Constants consumed via identifier reference (not calls) have no
89
- // inbound call edges. If the same file has active callables, the
90
- // constant is almost certainly used locally — classify as leaf.
91
- role = 'leaf';
92
- }
93
- else {
94
- role =
95
- node.testOnlyFanIn != null && node.testOnlyFanIn > 0
96
- ? 'test-only'
97
- : classifyDeadSubRole(node);
98
- }
99
- }
100
- else if (node.fanIn === 0 && node.isExported) {
101
- role = 'entry';
102
- }
103
- else if (hasProdFanIn && node.fanIn > 0 && node.productionFanIn === 0 && !node.isExported) {
104
- role = 'test-only';
105
- }
106
- else if (highIn && !highOut) {
107
- role = 'core';
108
- }
109
- else if (highIn && highOut) {
110
- role = 'utility';
111
- }
112
- else if (!highIn && highOut) {
113
- role = 'adapter';
114
- }
115
- else {
116
- role = 'leaf';
117
- }
118
- result.set(node.id, role);
122
+ result.set(node.id, classifyNodeRole(node, medFanIn, medFanOut));
119
123
  }
120
124
  return result;
121
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/graph/classifiers/roles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/graph/classifiers/roles.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ export declare const DEFAULTS: {
19
19
  excludeTests: false;
20
20
  };
21
21
  embeddings: {
22
- model: string;
22
+ model: string | null;
23
23
  llmProvider: string | null;
24
24
  };
25
25
  llm: {
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/infrastructure/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAIzC,CAAC;AAEF,eAAO,MAAM,QAAQ;aACJ,MAAM,EAAE;aACR,MAAM,EAAE;gBACL,MAAM,EAAE;gBACR,MAAM,EAAE;aACX,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;;;;qBAYmB,MAAM,GAAG,IAAI;;;kBAEjD,MAAM,GAAG,IAAI;eAChB,MAAM,GAAG,IAAI;iBACX,MAAM,GAAG,IAAI;gBACd,MAAM,GAAG,IAAI;uBACN,MAAM,GAAG,IAAI;;;;;;;;;;yBAGc,MAAM,GAAG,IAAI;;;;;;;;;;;;;;;sBAMb,MAAM,GAAG,IAAI;;;sBAChC,MAAM,GAAG,IAAI;sBAAgB,MAAM,GAAG,IAAI;;;sBAC1C,MAAM,GAAG,IAAI;sBAAgB,MAAM,GAAG,IAAI;;;sBAC5C,MAAM,GAAG,IAAI;sBAAgB,MAAM,GAAG,IAAI;;;sBAC9C,MAAM,GAAG,IAAI;sBAAgB,MAAM,GAAG,IAAI;;;sBACzC,MAAM,GAAG,IAAI;sBAAgB,MAAM,GAAG,IAAI;;;sBACxC,MAAM,GAAG,IAAI;sBAAgB,MAAM,GAAG,IAAI;;;sBACxC,MAAM,GAAG,IAAI;sBAAgB,MAAM,GAAG,IAAI;;;oBAEpD,OAAO;;;;qBAIN,MAAM,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAmD7B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAsCN,MAAM,EAAE;;CAEN,CAAC;AAM5B;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,eAAe,CA6BxD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAQD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAQ1E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CA6BvE;AAwCD,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AA4HD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAc7E;AAED,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoBzB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/infrastructure/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAIzC,CAAC;AAEF,eAAO,MAAM,QAAQ;aACJ,MAAM,EAAE;aACR,MAAM,EAAE;gBACL,MAAM,EAAE;gBACR,MAAM,EAAE;aACX,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;;;eAYR,MAAM,GAAG,IAAI;qBAAuB,MAAM,GAAG,IAAI;;;kBAE1D,MAAM,GAAG,IAAI;eAChB,MAAM,GAAG,IAAI;iBACX,MAAM,GAAG,IAAI;gBACd,MAAM,GAAG,IAAI;uBACN,MAAM,GAAG,IAAI;;;;;;;;;;yBAGc,MAAM,GAAG,IAAI;;;;;;;;;;;;;;;sBAMb,MAAM,GAAG,IAAI;;;sBAChC,MAAM,GAAG,IAAI;sBAAgB,MAAM,GAAG,IAAI;;;sBAC1C,MAAM,GAAG,IAAI;sBAAgB,MAAM,GAAG,IAAI;;;sBAC5C,MAAM,GAAG,IAAI;sBAAgB,MAAM,GAAG,IAAI;;;sBAC9C,MAAM,GAAG,IAAI;sBAAgB,MAAM,GAAG,IAAI;;;sBACzC,MAAM,GAAG,IAAI;sBAAgB,MAAM,GAAG,IAAI;;;sBACxC,MAAM,GAAG,IAAI;sBAAgB,MAAM,GAAG,IAAI;;;sBACxC,MAAM,GAAG,IAAI;sBAAgB,MAAM,GAAG,IAAI;;;oBAEpD,OAAO;;;;qBAIN,MAAM,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAmD7B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAsCN,MAAM,EAAE;;CAEN,CAAC;AAM5B;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,eAAe,CA6BxD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAQD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CAQ1E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,CA6BvE;AAwCD,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AA4HD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAc7E;AAED,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoBzB"}
@@ -25,7 +25,7 @@ export const DEFAULTS = {
25
25
  defaultLimit: 20,
26
26
  excludeTests: false,
27
27
  },
28
- embeddings: { model: 'nomic-v1.5', llmProvider: null },
28
+ embeddings: { model: null, llmProvider: null },
29
29
  llm: {
30
30
  provider: null,
31
31
  model: null,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/infrastructure/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAI1C,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC7C,mBAAmB;IACnB,cAAc;IACd,uBAAuB;CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO,EAAE,EAAc;IACvB,OAAO,EAAE,EAAc;IACvB,UAAU,EAAE,EAAc;IAC1B,UAAU,EAAE,EAAc;IAC1B,OAAO,EAAE,EAA4B;IACrC,KAAK,EAAE;QACL,WAAW,EAAE,IAAI;QACjB,MAAM,EAAE,qBAAqB;QAC7B,cAAc,EAAE,GAAG;QACnB,mBAAmB,EAAE,CAAC;KACvB;IACD,KAAK,EAAE;QACL,YAAY,EAAE,CAAC;QACf,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,KAAK;KACpB;IACD,UAAU,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,IAAqB,EAAE;IACvE,GAAG,EAAE;QACH,QAAQ,EAAE,IAAqB;QAC/B,KAAK,EAAE,IAAqB;QAC5B,OAAO,EAAE,IAAqB;QAC9B,MAAM,EAAE,IAAqB;QAC7B,aAAa,EAAE,IAAqB;KACrC;IACD,MAAM,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE;IACnF,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAqB,EAAE;IACnE,SAAS,EAAE;QACT,KAAK,EAAE;YACL,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YACvB,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YACxB,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;YACvB,oBAAoB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAqB,EAAE;YAC/D,WAAW,EAAE,EAAE,IAAI,EAAE,IAAqB,EAAE,IAAI,EAAE,IAAqB,EAAE;YACzE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAqB,EAAE,IAAI,EAAE,IAAqB,EAAE;YACzE,SAAS,EAAE,EAAE,IAAI,EAAE,IAAqB,EAAE,IAAI,EAAE,IAAqB,EAAE;YACvE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAqB,EAAE,IAAI,EAAE,IAAqB,EAAE;YACnE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAqB,EAAE,IAAI,EAAE,IAAqB,EAAE;YACpE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAqB,EAAE,IAAI,EAAE,IAAqB,EAAE;YACtE,UAAU,EAAE,EAAE,IAAI,EAAE,IAAqB,EAAE,IAAI,EAAE,IAAqB,EAAE;SACzE;QACD,UAAU,EAAE,IAAe;KAC5B;IACD,KAAK,EAAE;QACL,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAqB;QAClC,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,CAAC;KACT;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,YAAY;QACnB,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,GAAG;QACf,iBAAiB,EAAE,EAAE;KACtB;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,CAAC;QACd,aAAa,EAAE,CAAC;QAChB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,EAAE;QACjB,oBAAoB,EAAE,EAAE;QACxB,gBAAgB,EAAE,CAAC;QACnB,kBAAkB,EAAE,CAAC;QACrB,oBAAoB,EAAE,EAAE;QACxB,sBAAsB,EAAE,CAAC;KAC1B;IACD,SAAS,EAAE;QACT,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,EAAE;QACb,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,GAAG;KACrB;IACD,SAAS,EAAE;QACT,iBAAiB,EAAE,GAAG;KACvB;IACD,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,GAAG;YACf,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,GAAG;SACR;QACD,WAAW,EAAE;YACX,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,GAAG;YACZ,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,GAAG;YACZ,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,GAAG;YAChB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,GAAG;YAChB,YAAY,EAAE,GAAG;YACjB,UAAU,EAAE,IAAI;YAChB,iBAAiB,EAAE,IAAI;SACE;QAC3B,iBAAiB,EAAE,GAAG;KACvB;IACD,OAAO,EAAE;QACP,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,GAAG;QACpB,iBAAiB,EAAE,EAAE;QACrB,kBAAkB,EAAE,EAAE;QACtB,oBAAoB,EAAE,CAAC;KACxB;IACD,GAAG,EAAE;QACH,QAAQ,EAAE;YACR,cAAc,EAAE,GAAG;YACnB,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,GAAG;YACf,YAAY,EAAE,GAAG;YACjB,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,EAAE;YACf,eAAe,EAAE,EAAE;YACnB,eAAe,EAAE,EAAE;YACnB,cAAc,EAAE,EAAE;YAClB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,EAAE;YACb,eAAe,EAAE,EAAE;YACnB,UAAU,EAAE,EAAE;SACf;QACD,aAAa,EAAE,EAAc;KAC9B;CACwB,CAAC;AAE5B,gFAAgF;AAChF,mEAAmE;AACnE,MAAM,YAAY,GAAG,IAAI,GAAG,EAA2B,CAAC;AAExD;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,GAAY;IACrC,GAAG,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,MAAM;QAAE,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;IAE3C,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC/B,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;gBACxC,MAAM,MAAM,GAAG,WAAW,CAAC,QAA8C,EAAE,MAAM,CAAC,CAAC;gBACnF,IAAI,cAAc,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,cAAc,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjF,MAAM,CAAC,KAAiC,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACxF,CAAC;gBACD,OAAO,MAAM,CAAC,YAAY,CAAC;gBAC3B,MAAM,MAAM,GAAG,cAAc,CAAC,iBAAiB,CAAC,MAAoC,CAAC,CAAC,CAAC;gBACvF,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/C,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,IAAI,GAAG,YAAY,WAAW;oBAAE,MAAM,GAAG,CAAC;gBAC1C,KAAK,CAAC,0BAA0B,QAAQ,KAAK,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,CAAC,iBAAiB,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;IACpE,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,YAAY,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,WAAW,GAA2B;IAC1C,sBAAsB,EAAE,UAAU;IAClC,qBAAqB,EAAE,QAAQ;IAC/B,mBAAmB,EAAE,OAAO;CAC7B,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,MAAuB;IACvD,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,MAAiC,CAAC,KAAK,SAAS,EAAE,CAAC;YAChE,MAAM,CAAC,GAA+B,CAAC,KAAK,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,MAAiC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAuB;IACpD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;IACrC,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,MAAM,CAAC;IAC/B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC;QACzD,MAAM,IAAI,WAAW,CACnB,gDAAgD,MAAM,KAAK;YACzD,mEAAmE;YACnE,+DAA+D,CAClE,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC;IAErC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,UAAW,EAAE,IAAI,EAAE;YAC7C,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,EAAE,GAAG,IAAI;YACpB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,MAAM,EAAE,CAAC;YACV,MAAM,CAAC,GAA+B,CAAC,MAAM,GAAG,MAAM,CAAC;QAC1D,CAAC;IACH,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAI,CAAC,yBAAyB,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,wEAAwE;AAExE;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,OAAe,EAAE,OAAe;IAC3D,oCAAoC;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,OAAO,OAAO;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;aACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,kCAAkC,OAAO,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzE,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,MAAc;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;IAC1B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,+BAA+B,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAOD;;;GAGG;AACH,SAAS,qBAAqB,CAAC,MAAc;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;QACxE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE5B,wEAAwE;QACxE,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,mBAAmB;QACnB,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,sBAAsB;QACtB,KAAK,MAAM,GAAG,IAAI;YAChB,UAAU;YACV,WAAW;YACX,UAAU;YACV,WAAW;YACX,cAAc;YACd,eAAe;YACf,cAAc;SACf,EAAE,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC5C,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;gBAAE,OAAO,SAAS,CAAC;QACjD,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,wDAAwD,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,mEAAmE;AACnE,SAAS,yBAAyB,CAAC,OAAe;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACvE,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC7E,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC3D,IAAI,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,0DAA0D,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,SAAS,wBAAwB,CAAC,OAAe;IAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC;QAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,OAAO,EAAE,CAAC;QACjC,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAC,QAAQ,CAAC;QACzD,OAAO,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,8DAA8D,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC,QAAQ,CAAC;QACzD,OAAO,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,iDAAiD,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5E,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,SAAS,uBAAuB,CAAC,QAAkB,EAAE,OAAe;IAClE,MAAM,UAAU,GAAG,IAAI,GAAG,EAA0B,CAAC;IACrD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,KAAK,MAAM,GAAG,IAAI,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;gBACxD,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,IAAI;oBAAE,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3C,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;gBAClD,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,IAAI;oBAAE,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,gEAAgE;IAChE,IAAI,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,QAAQ,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACxE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACjE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAE5C,MAAM,UAAU,GAAG,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE9D,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,YAAY,UAAU,CAAC,IAAI,wBAAwB,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,QAAiC,EACjC,SAAkC;IAElC,MAAM,MAAM,GAA4B,EAAE,GAAG,QAAQ,EAAE,CAAC;IACxD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACrB,QAAQ,CAAC,GAAG,CAAC;YACb,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,QAAQ;YACjC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAC7B,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CACvB,QAAQ,CAAC,GAAG,CAA4B,EACxC,KAAgC,CACjC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/infrastructure/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cfg.d.ts","sourceRoot":"","sources":["../../src/presentation/cfg.ts"],"names":[],"mappings":"AAGA,UAAU,UAAU;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA0BD,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,GAAE,UAAe,GAAG,IAAI,CAgD/F"}
1
+ {"version":3,"file":"cfg.d.ts","sourceRoot":"","sources":["../../src/presentation/cfg.ts"],"names":[],"mappings":"AAKA,UAAU,UAAU;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAqED,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,GAAE,UAAe,GAAG,IAAI,CAmB/F"}
@@ -1,47 +1,62 @@
1
1
  import { cfgData, cfgToDOT, cfgToMermaid } from '../features/cfg.js';
2
2
  import { outputResult } from '../infrastructure/result-formatter.js';
3
+ function renderBlockLocation(b) {
4
+ if (!b.startLine)
5
+ return '';
6
+ const endSuffix = b.endLine && b.endLine !== b.startLine ? `-${b.endLine}` : '';
7
+ return ` L${b.startLine}${endSuffix}`;
8
+ }
9
+ function printCfgBlocks(blocks) {
10
+ if (blocks.length === 0)
11
+ return;
12
+ console.log('\n Blocks:');
13
+ for (const b of blocks) {
14
+ const label = b.label ? ` (${b.label})` : '';
15
+ console.log(` [${b.index}] ${b.type}${label}${renderBlockLocation(b)}`);
16
+ }
17
+ }
18
+ function printCfgEdges(edges) {
19
+ if (edges.length === 0)
20
+ return;
21
+ console.log('\n Edges:');
22
+ for (const e of edges) {
23
+ console.log(` B${e.source} → B${e.target} [${e.kind}]`);
24
+ }
25
+ }
26
+ function printCfgEntry(r) {
27
+ console.log(`\n${r.kind} ${r.name} (${r.file}:${r.line})`);
28
+ console.log('─'.repeat(60));
29
+ console.log(` Blocks: ${r.summary.blockCount} Edges: ${r.summary.edgeCount}`);
30
+ printCfgBlocks(r.blocks);
31
+ printCfgEdges(r.edges);
32
+ }
33
+ function tryRenderGraphFormat(format, data) {
34
+ if (format === 'dot') {
35
+ console.log(cfgToDOT(data));
36
+ return true;
37
+ }
38
+ if (format === 'mermaid') {
39
+ console.log(cfgToMermaid(data));
40
+ return true;
41
+ }
42
+ return false;
43
+ }
3
44
  export function cfg(name, customDbPath, opts = {}) {
4
45
  const data = cfgData(name, customDbPath, opts);
5
46
  if (outputResult(data, 'results', opts))
6
47
  return;
7
48
  if (data.warning) {
8
- console.log(`\u26A0 ${data.warning}`);
49
+ console.log(`⚠ ${data.warning}`);
9
50
  return;
10
51
  }
11
52
  if (data.results.length === 0) {
12
53
  console.log(`No symbols matching "${name}".`);
13
54
  return;
14
55
  }
15
- const format = opts.format || 'text';
16
- if (format === 'dot') {
17
- console.log(cfgToDOT(data));
56
+ if (tryRenderGraphFormat(opts.format || 'text', data))
18
57
  return;
19
- }
20
- if (format === 'mermaid') {
21
- console.log(cfgToMermaid(data));
22
- return;
23
- }
24
- // Text format
25
58
  for (const r of data.results) {
26
- console.log(`\n${r.kind} ${r.name} (${r.file}:${r.line})`);
27
- console.log('\u2500'.repeat(60));
28
- console.log(` Blocks: ${r.summary.blockCount} Edges: ${r.summary.edgeCount}`);
29
- if (r.blocks.length > 0) {
30
- console.log('\n Blocks:');
31
- for (const b of r.blocks) {
32
- const loc = b.startLine
33
- ? ` L${b.startLine}${b.endLine && b.endLine !== b.startLine ? `-${b.endLine}` : ''}`
34
- : '';
35
- const label = b.label ? ` (${b.label})` : '';
36
- console.log(` [${b.index}] ${b.type}${label}${loc}`);
37
- }
38
- }
39
- if (r.edges.length > 0) {
40
- console.log('\n Edges:');
41
- for (const e of r.edges) {
42
- console.log(` B${e.source} \u2192 B${e.target} [${e.kind}]`);
43
- }
44
- }
59
+ printCfgEntry(r);
45
60
  }
46
61
  }
47
62
  //# sourceMappingURL=cfg.js.map