@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.
- package/README.md +38 -31
- package/dist/ast-analysis/engine.d.ts.map +1 -1
- package/dist/ast-analysis/engine.js +91 -60
- package/dist/ast-analysis/engine.js.map +1 -1
- package/dist/ast-analysis/visitor-utils.d.ts +3 -0
- package/dist/ast-analysis/visitor-utils.d.ts.map +1 -1
- package/dist/ast-analysis/visitor-utils.js +83 -49
- package/dist/ast-analysis/visitor-utils.js.map +1 -1
- package/dist/ast-analysis/visitors/ast-store-visitor.d.ts.map +1 -1
- package/dist/ast-analysis/visitors/ast-store-visitor.js +78 -62
- package/dist/ast-analysis/visitors/ast-store-visitor.js.map +1 -1
- package/dist/ast-analysis/visitors/dataflow-visitor.d.ts.map +1 -1
- package/dist/ast-analysis/visitors/dataflow-visitor.js +61 -42
- package/dist/ast-analysis/visitors/dataflow-visitor.js.map +1 -1
- package/dist/cli/commands/embed.d.ts.map +1 -1
- package/dist/cli/commands/embed.js +49 -4
- package/dist/cli/commands/embed.js.map +1 -1
- package/dist/domain/analysis/dependencies.d.ts.map +1 -1
- package/dist/domain/analysis/dependencies.js +106 -80
- package/dist/domain/analysis/dependencies.js.map +1 -1
- package/dist/domain/analysis/fn-impact.d.ts.map +1 -1
- package/dist/domain/analysis/fn-impact.js +77 -52
- package/dist/domain/analysis/fn-impact.js.map +1 -1
- package/dist/domain/analysis/module-map.d.ts.map +1 -1
- package/dist/domain/analysis/module-map.js +132 -121
- package/dist/domain/analysis/module-map.js.map +1 -1
- package/dist/domain/graph/builder/call-resolver.d.ts +71 -0
- package/dist/domain/graph/builder/call-resolver.d.ts.map +1 -0
- package/dist/domain/graph/builder/call-resolver.js +130 -0
- package/dist/domain/graph/builder/call-resolver.js.map +1 -0
- package/dist/domain/graph/builder/helpers.d.ts +4 -4
- package/dist/domain/graph/builder/helpers.d.ts.map +1 -1
- package/dist/domain/graph/builder/helpers.js +47 -33
- package/dist/domain/graph/builder/helpers.js.map +1 -1
- package/dist/domain/graph/builder/incremental.d.ts +6 -0
- package/dist/domain/graph/builder/incremental.d.ts.map +1 -1
- package/dist/domain/graph/builder/incremental.js +214 -127
- package/dist/domain/graph/builder/incremental.js.map +1 -1
- package/dist/domain/graph/builder/pipeline.d.ts +1 -44
- package/dist/domain/graph/builder/pipeline.d.ts.map +1 -1
- package/dist/domain/graph/builder/pipeline.js +10 -766
- package/dist/domain/graph/builder/pipeline.js.map +1 -1
- package/dist/domain/graph/builder/stages/build-edges.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/build-edges.js +151 -192
- package/dist/domain/graph/builder/stages/build-edges.js.map +1 -1
- package/dist/domain/graph/builder/stages/build-structure.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/build-structure.js +82 -65
- package/dist/domain/graph/builder/stages/build-structure.js.map +1 -1
- package/dist/domain/graph/builder/stages/detect-changes.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/detect-changes.js +84 -56
- package/dist/domain/graph/builder/stages/detect-changes.js.map +1 -1
- package/dist/domain/graph/builder/stages/finalize.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/finalize.js +60 -51
- package/dist/domain/graph/builder/stages/finalize.js.map +1 -1
- package/dist/domain/graph/builder/stages/insert-nodes.d.ts +8 -6
- package/dist/domain/graph/builder/stages/insert-nodes.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/insert-nodes.js +107 -122
- package/dist/domain/graph/builder/stages/insert-nodes.js.map +1 -1
- package/dist/domain/graph/builder/stages/native-db-lifecycle.d.ts +14 -0
- package/dist/domain/graph/builder/stages/native-db-lifecycle.d.ts.map +1 -0
- package/dist/domain/graph/builder/stages/native-db-lifecycle.js +77 -0
- package/dist/domain/graph/builder/stages/native-db-lifecycle.js.map +1 -0
- package/dist/domain/graph/builder/stages/native-orchestrator.d.ts +62 -0
- package/dist/domain/graph/builder/stages/native-orchestrator.d.ts.map +1 -0
- package/dist/domain/graph/builder/stages/native-orchestrator.js +747 -0
- package/dist/domain/graph/builder/stages/native-orchestrator.js.map +1 -0
- package/dist/domain/graph/cycles.d.ts +6 -4
- package/dist/domain/graph/cycles.d.ts.map +1 -1
- package/dist/domain/graph/cycles.js +50 -55
- package/dist/domain/graph/cycles.js.map +1 -1
- package/dist/domain/graph/journal.d.ts.map +1 -1
- package/dist/domain/graph/journal.js +89 -70
- package/dist/domain/graph/journal.js.map +1 -1
- package/dist/domain/graph/watcher.d.ts.map +1 -1
- package/dist/domain/graph/watcher.js +10 -4
- package/dist/domain/graph/watcher.js.map +1 -1
- package/dist/domain/parser.d.ts +12 -23
- package/dist/domain/parser.d.ts.map +1 -1
- package/dist/domain/parser.js +126 -79
- package/dist/domain/parser.js.map +1 -1
- package/dist/domain/search/generator.d.ts +3 -1
- package/dist/domain/search/generator.d.ts.map +1 -1
- package/dist/domain/search/generator.js +68 -45
- package/dist/domain/search/generator.js.map +1 -1
- package/dist/domain/search/models.d.ts +2 -0
- package/dist/domain/search/models.d.ts.map +1 -1
- package/dist/domain/search/models.js +37 -3
- package/dist/domain/search/models.js.map +1 -1
- package/dist/domain/search/search/hybrid.d.ts.map +1 -1
- package/dist/domain/search/search/hybrid.js +49 -40
- package/dist/domain/search/search/hybrid.js.map +1 -1
- package/dist/domain/search/search/semantic.d.ts.map +1 -1
- package/dist/domain/search/search/semantic.js +69 -49
- package/dist/domain/search/search/semantic.js.map +1 -1
- package/dist/domain/wasm-worker-entry.js +201 -136
- package/dist/domain/wasm-worker-entry.js.map +1 -1
- package/dist/extractors/elixir.js +95 -71
- package/dist/extractors/elixir.js.map +1 -1
- package/dist/extractors/gleam.d.ts.map +1 -1
- package/dist/extractors/gleam.js +23 -31
- package/dist/extractors/gleam.js.map +1 -1
- package/dist/extractors/helpers.d.ts +79 -1
- package/dist/extractors/helpers.d.ts.map +1 -1
- package/dist/extractors/helpers.js +137 -0
- package/dist/extractors/helpers.js.map +1 -1
- package/dist/extractors/java.d.ts.map +1 -1
- package/dist/extractors/java.js +37 -49
- package/dist/extractors/java.js.map +1 -1
- package/dist/extractors/javascript.d.ts.map +1 -1
- package/dist/extractors/javascript.js +44 -44
- package/dist/extractors/javascript.js.map +1 -1
- package/dist/extractors/julia.js +27 -34
- package/dist/extractors/julia.js.map +1 -1
- package/dist/extractors/r.d.ts.map +1 -1
- package/dist/extractors/r.js +33 -58
- package/dist/extractors/r.js.map +1 -1
- package/dist/extractors/solidity.d.ts.map +1 -1
- package/dist/extractors/solidity.js +38 -61
- package/dist/extractors/solidity.js.map +1 -1
- package/dist/features/boundaries.d.ts.map +1 -1
- package/dist/features/boundaries.js +49 -39
- package/dist/features/boundaries.js.map +1 -1
- package/dist/features/cfg.d.ts.map +1 -1
- package/dist/features/cfg.js +90 -63
- package/dist/features/cfg.js.map +1 -1
- package/dist/features/check.d.ts.map +1 -1
- package/dist/features/check.js +43 -34
- package/dist/features/check.js.map +1 -1
- package/dist/features/cochange.d.ts.map +1 -1
- package/dist/features/cochange.js +68 -56
- package/dist/features/cochange.js.map +1 -1
- package/dist/features/complexity.d.ts.map +1 -1
- package/dist/features/complexity.js +105 -75
- package/dist/features/complexity.js.map +1 -1
- package/dist/features/dataflow.d.ts.map +1 -1
- package/dist/features/dataflow.js +37 -29
- package/dist/features/dataflow.js.map +1 -1
- package/dist/features/flow.d.ts.map +1 -1
- package/dist/features/flow.js +31 -22
- package/dist/features/flow.js.map +1 -1
- package/dist/features/graph-enrichment.d.ts.map +1 -1
- package/dist/features/graph-enrichment.js +77 -70
- package/dist/features/graph-enrichment.js.map +1 -1
- package/dist/features/owners.d.ts +17 -26
- package/dist/features/owners.d.ts.map +1 -1
- package/dist/features/owners.js +120 -109
- package/dist/features/owners.js.map +1 -1
- package/dist/features/sequence.d.ts.map +1 -1
- package/dist/features/sequence.js +59 -54
- package/dist/features/sequence.js.map +1 -1
- package/dist/features/structure-query.d.ts.map +1 -1
- package/dist/features/structure-query.js +60 -60
- package/dist/features/structure-query.js.map +1 -1
- package/dist/features/structure.d.ts.map +1 -1
- package/dist/features/structure.js +149 -52
- package/dist/features/structure.js.map +1 -1
- package/dist/graph/algorithms/leiden/optimiser.d.ts.map +1 -1
- package/dist/graph/algorithms/leiden/optimiser.js +100 -69
- package/dist/graph/algorithms/leiden/optimiser.js.map +1 -1
- package/dist/graph/classifiers/roles.d.ts.map +1 -1
- package/dist/graph/classifiers/roles.js +63 -59
- package/dist/graph/classifiers/roles.js.map +1 -1
- package/dist/infrastructure/config.d.ts +1 -1
- package/dist/infrastructure/config.d.ts.map +1 -1
- package/dist/infrastructure/config.js +1 -1
- package/dist/infrastructure/config.js.map +1 -1
- package/dist/presentation/cfg.d.ts.map +1 -1
- package/dist/presentation/cfg.js +44 -29
- package/dist/presentation/cfg.js.map +1 -1
- package/dist/presentation/flow.d.ts.map +1 -1
- package/dist/presentation/flow.js +58 -38
- package/dist/presentation/flow.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/grammars/tree-sitter-erlang.wasm +0 -0
- package/package.json +9 -9
- package/src/ast-analysis/engine.ts +145 -61
- package/src/ast-analysis/visitor-utils.ts +86 -46
- package/src/ast-analysis/visitors/ast-store-visitor.ts +104 -69
- package/src/ast-analysis/visitors/dataflow-visitor.ts +86 -47
- package/src/cli/commands/embed.ts +54 -4
- package/src/domain/analysis/dependencies.ts +166 -85
- package/src/domain/analysis/fn-impact.ts +120 -50
- package/src/domain/analysis/module-map.ts +175 -140
- package/src/domain/graph/builder/call-resolver.ts +181 -0
- package/src/domain/graph/builder/helpers.ts +85 -76
- package/src/domain/graph/builder/incremental.ts +321 -152
- package/src/domain/graph/builder/pipeline.ts +19 -957
- package/src/domain/graph/builder/stages/build-edges.ts +229 -275
- package/src/domain/graph/builder/stages/build-structure.ts +115 -82
- package/src/domain/graph/builder/stages/detect-changes.ts +107 -64
- package/src/domain/graph/builder/stages/finalize.ts +72 -70
- package/src/domain/graph/builder/stages/insert-nodes.ts +154 -120
- package/src/domain/graph/builder/stages/native-db-lifecycle.ts +74 -0
- package/src/domain/graph/builder/stages/native-orchestrator.ts +942 -0
- package/src/domain/graph/cycles.ts +51 -49
- package/src/domain/graph/journal.ts +84 -69
- package/src/domain/graph/watcher.ts +12 -4
- package/src/domain/parser.ts +143 -66
- package/src/domain/search/generator.ts +132 -74
- package/src/domain/search/models.ts +39 -3
- package/src/domain/search/search/hybrid.ts +53 -42
- package/src/domain/search/search/semantic.ts +105 -65
- package/src/domain/wasm-worker-entry.ts +235 -152
- package/src/extractors/elixir.ts +91 -64
- package/src/extractors/gleam.ts +33 -37
- package/src/extractors/helpers.ts +205 -1
- package/src/extractors/java.ts +42 -45
- package/src/extractors/javascript.ts +44 -43
- package/src/extractors/julia.ts +28 -35
- package/src/extractors/r.ts +38 -56
- package/src/extractors/solidity.ts +43 -71
- package/src/features/boundaries.ts +64 -46
- package/src/features/cfg.ts +145 -74
- package/src/features/check.ts +60 -43
- package/src/features/cochange.ts +95 -72
- package/src/features/complexity.ts +134 -79
- package/src/features/dataflow.ts +57 -34
- package/src/features/flow.ts +48 -24
- package/src/features/graph-enrichment.ts +105 -70
- package/src/features/owners.ts +186 -146
- package/src/features/sequence.ts +99 -69
- package/src/features/structure-query.ts +94 -79
- package/src/features/structure.ts +199 -79
- package/src/graph/algorithms/leiden/optimiser.ts +142 -87
- package/src/graph/classifiers/roles.ts +64 -54
- package/src/infrastructure/config.ts +1 -1
- package/src/presentation/cfg.ts +48 -32
- package/src/presentation/flow.ts +100 -52
- package/src/types.ts +1 -1
|
@@ -166,25 +166,12 @@ function computeQualityMetrics(db, testFilter, fpThreshold = FALSE_POSITIVE_CALL
|
|
|
166
166
|
.prepare("SELECT COUNT(*) as c FROM edges WHERE kind = 'calls' AND confidence >= 0.7")
|
|
167
167
|
.get().c;
|
|
168
168
|
const callConfidence = totalCallEdges > 0 ? highConfCallEdges / totalCallEdges : 0;
|
|
169
|
-
const
|
|
170
|
-
.prepare(`
|
|
171
|
-
SELECT n.name, n.file, n.line, COUNT(e.source_id) as caller_count
|
|
172
|
-
FROM nodes n
|
|
173
|
-
LEFT JOIN edges e ON n.id = e.target_id AND e.kind = 'calls'
|
|
174
|
-
WHERE n.kind IN ('function', 'method')
|
|
175
|
-
GROUP BY n.id
|
|
176
|
-
HAVING caller_count > ?
|
|
177
|
-
ORDER BY caller_count DESC
|
|
178
|
-
`)
|
|
179
|
-
.all(fpThreshold);
|
|
180
|
-
const falsePositiveWarnings = fpRows
|
|
181
|
-
.filter((r) => FALSE_POSITIVE_NAMES.has(r.name.includes('.') ? r.name.split('.').pop() : r.name))
|
|
182
|
-
.map((r) => ({ name: r.name, file: r.file, line: r.line, callerCount: r.caller_count }));
|
|
169
|
+
const falsePositiveWarnings = buildFalsePositiveWarnings(queryFalsePositiveRows(db, fpThreshold));
|
|
183
170
|
let fpEdgeCount = 0;
|
|
184
171
|
for (const fp of falsePositiveWarnings)
|
|
185
172
|
fpEdgeCount += fp.callerCount;
|
|
186
173
|
const falsePositiveRatio = totalCallEdges > 0 ? fpEdgeCount / totalCallEdges : 0;
|
|
187
|
-
const score =
|
|
174
|
+
const score = computeQualityScore(callerCoverage, callConfidence, falsePositiveRatio);
|
|
188
175
|
return {
|
|
189
176
|
score,
|
|
190
177
|
callerCoverage: {
|
|
@@ -287,119 +274,143 @@ export function moduleMapData(customDbPath, limit = 20, opts = {}) {
|
|
|
287
274
|
db.close();
|
|
288
275
|
}
|
|
289
276
|
}
|
|
277
|
+
/** SQL query for false-positive caller counts above a threshold (shared by native and JS paths). */
|
|
278
|
+
function queryFalsePositiveRows(db, fpThreshold) {
|
|
279
|
+
return db
|
|
280
|
+
.prepare(`
|
|
281
|
+
SELECT n.name, n.file, n.line, COUNT(e.source_id) as caller_count
|
|
282
|
+
FROM nodes n
|
|
283
|
+
LEFT JOIN edges e ON n.id = e.target_id AND e.kind = 'calls'
|
|
284
|
+
WHERE n.kind IN ('function', 'method')
|
|
285
|
+
GROUP BY n.id
|
|
286
|
+
HAVING caller_count > ?
|
|
287
|
+
ORDER BY caller_count DESC
|
|
288
|
+
`)
|
|
289
|
+
.all(fpThreshold);
|
|
290
|
+
}
|
|
291
|
+
/** Filter false-positive rows by the configured name set and shape them for the report. */
|
|
292
|
+
function buildFalsePositiveWarnings(rows) {
|
|
293
|
+
return rows
|
|
294
|
+
.filter((r) => FALSE_POSITIVE_NAMES.has(r.name.includes('.') ? r.name.split('.').pop() : r.name))
|
|
295
|
+
.map((r) => ({ name: r.name, file: r.file, line: r.line, callerCount: r.caller_count }));
|
|
296
|
+
}
|
|
297
|
+
/** Compute the composite quality score (0-100) from coverage, confidence, and FP ratio. */
|
|
298
|
+
function computeQualityScore(callerCoverage, callConfidence, falsePositiveRatio) {
|
|
299
|
+
return Math.round(callerCoverage * 40 + callConfidence * 40 + (1 - falsePositiveRatio) * 20);
|
|
300
|
+
}
|
|
301
|
+
/** Aggregate role counts and derive the `dead` total. */
|
|
302
|
+
function aggregateRolesFromNative(roleCounts) {
|
|
303
|
+
const roles = {};
|
|
304
|
+
let deadTotal = 0;
|
|
305
|
+
for (const r of roleCounts) {
|
|
306
|
+
roles[r.role] = r.count;
|
|
307
|
+
if (r.role.startsWith(DEAD_ROLE_PREFIX))
|
|
308
|
+
deadTotal += r.count;
|
|
309
|
+
}
|
|
310
|
+
if (deadTotal > 0)
|
|
311
|
+
roles.dead = deadTotal;
|
|
312
|
+
return roles;
|
|
313
|
+
}
|
|
314
|
+
/** Build the native fast-path stats result by combining native aggregations with JS-only sections. */
|
|
315
|
+
function buildStatsFromNative(db, nativeStats, config, jsSections) {
|
|
316
|
+
const s = nativeStats;
|
|
317
|
+
const nodesByKind = {};
|
|
318
|
+
for (const k of s.nodesByKind)
|
|
319
|
+
nodesByKind[k.kind] = k.count;
|
|
320
|
+
const edgesByKind = {};
|
|
321
|
+
for (const k of s.edgesByKind)
|
|
322
|
+
edgesByKind[k.kind] = k.count;
|
|
323
|
+
const roles = aggregateRolesFromNative(s.roleCounts);
|
|
324
|
+
const callerCoverage = s.quality.callableTotal > 0 ? s.quality.callableWithCallers / s.quality.callableTotal : 0;
|
|
325
|
+
const callConfidence = s.quality.callEdges > 0 ? s.quality.highConfCallEdges / s.quality.callEdges : 0;
|
|
326
|
+
// False-positive analysis still uses JS (needs FALSE_POSITIVE_NAMES set)
|
|
327
|
+
const fpThreshold = config.analysis?.falsePositiveCallers ?? FALSE_POSITIVE_CALLER_THRESHOLD;
|
|
328
|
+
const falsePositiveWarnings = buildFalsePositiveWarnings(queryFalsePositiveRows(db, fpThreshold));
|
|
329
|
+
let fpEdgeCount = 0;
|
|
330
|
+
for (const fp of falsePositiveWarnings)
|
|
331
|
+
fpEdgeCount += fp.callerCount;
|
|
332
|
+
const falsePositiveRatio = s.quality.callEdges > 0 ? fpEdgeCount / s.quality.callEdges : 0;
|
|
333
|
+
const score = computeQualityScore(callerCoverage, callConfidence, falsePositiveRatio);
|
|
334
|
+
return {
|
|
335
|
+
nodes: { total: s.totalNodes, byKind: nodesByKind },
|
|
336
|
+
edges: { total: s.totalEdges, byKind: edgesByKind },
|
|
337
|
+
files: jsSections.files,
|
|
338
|
+
cycles: { fileLevel: jsSections.fileCycles.length, functionLevel: jsSections.fnCycles.length },
|
|
339
|
+
hotspots: s.hotspots.map((h) => ({ file: h.file, fanIn: h.fanIn, fanOut: h.fanOut })),
|
|
340
|
+
embeddings: s.embeddings
|
|
341
|
+
? {
|
|
342
|
+
count: s.embeddings.count,
|
|
343
|
+
model: s.embeddings.model,
|
|
344
|
+
dim: s.embeddings.dim,
|
|
345
|
+
builtAt: s.embeddings.builtAt,
|
|
346
|
+
}
|
|
347
|
+
: null,
|
|
348
|
+
quality: {
|
|
349
|
+
score,
|
|
350
|
+
callerCoverage: {
|
|
351
|
+
ratio: callerCoverage,
|
|
352
|
+
covered: s.quality.callableWithCallers,
|
|
353
|
+
total: s.quality.callableTotal,
|
|
354
|
+
},
|
|
355
|
+
callConfidence: {
|
|
356
|
+
ratio: callConfidence,
|
|
357
|
+
highConf: s.quality.highConfCallEdges,
|
|
358
|
+
total: s.quality.callEdges,
|
|
359
|
+
},
|
|
360
|
+
falsePositiveWarnings,
|
|
361
|
+
},
|
|
362
|
+
roles,
|
|
363
|
+
complexity: s.complexity
|
|
364
|
+
? {
|
|
365
|
+
analyzed: s.complexity.analyzed,
|
|
366
|
+
avgCognitive: s.complexity.avgCognitive,
|
|
367
|
+
avgCyclomatic: s.complexity.avgCyclomatic,
|
|
368
|
+
maxCognitive: s.complexity.maxCognitive,
|
|
369
|
+
maxCyclomatic: s.complexity.maxCyclomatic,
|
|
370
|
+
avgMI: s.complexity.avgMi,
|
|
371
|
+
minMI: s.complexity.minMi,
|
|
372
|
+
}
|
|
373
|
+
: null,
|
|
374
|
+
};
|
|
375
|
+
}
|
|
376
|
+
/** Build the JS-fallback stats result using SQL aggregations from the helpers above. */
|
|
377
|
+
function buildStatsFromJs(db, noTests, config, jsSections) {
|
|
378
|
+
const testFilter = testFilterSQL('n.file', noTests);
|
|
379
|
+
const { total: totalNodes, byKind: nodesByKind } = countNodesByKind(db, noTests);
|
|
380
|
+
const { total: totalEdges, byKind: edgesByKind } = countEdgesByKind(db, noTests);
|
|
381
|
+
const hotspots = findHotspots(db, noTests, 5);
|
|
382
|
+
const embeddings = getEmbeddingsInfo(db);
|
|
383
|
+
const fpThreshold = config.analysis?.falsePositiveCallers ?? FALSE_POSITIVE_CALLER_THRESHOLD;
|
|
384
|
+
const quality = computeQualityMetrics(db, testFilter, fpThreshold);
|
|
385
|
+
const roles = countRoles(db, noTests);
|
|
386
|
+
const complexity = getComplexitySummary(db, testFilter);
|
|
387
|
+
return {
|
|
388
|
+
nodes: { total: totalNodes, byKind: nodesByKind },
|
|
389
|
+
edges: { total: totalEdges, byKind: edgesByKind },
|
|
390
|
+
files: jsSections.files,
|
|
391
|
+
cycles: { fileLevel: jsSections.fileCycles.length, functionLevel: jsSections.fnCycles.length },
|
|
392
|
+
hotspots,
|
|
393
|
+
embeddings,
|
|
394
|
+
quality,
|
|
395
|
+
roles,
|
|
396
|
+
complexity,
|
|
397
|
+
};
|
|
398
|
+
}
|
|
290
399
|
export function statsData(customDbPath, opts = {}) {
|
|
291
400
|
const { db, nativeDb, close } = openReadonlyWithNative(customDbPath);
|
|
292
401
|
try {
|
|
293
402
|
const noTests = opts.noTests || false;
|
|
294
403
|
const config = opts.config || loadConfig();
|
|
295
404
|
// These always need JS (non-SQL logic)
|
|
296
|
-
const
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
if (nativeDb?.getGraphStats) {
|
|
301
|
-
const s = nativeDb.getGraphStats(noTests);
|
|
302
|
-
const nodesByKind = {};
|
|
303
|
-
for (const k of s.nodesByKind)
|
|
304
|
-
nodesByKind[k.kind] = k.count;
|
|
305
|
-
const edgesByKind = {};
|
|
306
|
-
for (const k of s.edgesByKind)
|
|
307
|
-
edgesByKind[k.kind] = k.count;
|
|
308
|
-
const roles = {};
|
|
309
|
-
let deadTotal = 0;
|
|
310
|
-
for (const r of s.roleCounts) {
|
|
311
|
-
roles[r.role] = r.count;
|
|
312
|
-
if (r.role.startsWith(DEAD_ROLE_PREFIX))
|
|
313
|
-
deadTotal += r.count;
|
|
314
|
-
}
|
|
315
|
-
if (deadTotal > 0)
|
|
316
|
-
roles.dead = deadTotal;
|
|
317
|
-
const callerCoverage = s.quality.callableTotal > 0 ? s.quality.callableWithCallers / s.quality.callableTotal : 0;
|
|
318
|
-
const callConfidence = s.quality.callEdges > 0 ? s.quality.highConfCallEdges / s.quality.callEdges : 0;
|
|
319
|
-
// False-positive analysis still uses JS (needs FALSE_POSITIVE_NAMES set)
|
|
320
|
-
const fpThreshold = config.analysis?.falsePositiveCallers ?? FALSE_POSITIVE_CALLER_THRESHOLD;
|
|
321
|
-
const fpRows = db
|
|
322
|
-
.prepare(`
|
|
323
|
-
SELECT n.name, n.file, n.line, COUNT(e.source_id) as caller_count
|
|
324
|
-
FROM nodes n
|
|
325
|
-
LEFT JOIN edges e ON n.id = e.target_id AND e.kind = 'calls'
|
|
326
|
-
WHERE n.kind IN ('function', 'method')
|
|
327
|
-
GROUP BY n.id
|
|
328
|
-
HAVING caller_count > ?
|
|
329
|
-
ORDER BY caller_count DESC
|
|
330
|
-
`)
|
|
331
|
-
.all(fpThreshold);
|
|
332
|
-
const falsePositiveWarnings = fpRows
|
|
333
|
-
.filter((r) => FALSE_POSITIVE_NAMES.has(r.name.includes('.') ? r.name.split('.').pop() : r.name))
|
|
334
|
-
.map((r) => ({ name: r.name, file: r.file, line: r.line, callerCount: r.caller_count }));
|
|
335
|
-
let fpEdgeCount = 0;
|
|
336
|
-
for (const fp of falsePositiveWarnings)
|
|
337
|
-
fpEdgeCount += fp.callerCount;
|
|
338
|
-
const falsePositiveRatio = s.quality.callEdges > 0 ? fpEdgeCount / s.quality.callEdges : 0;
|
|
339
|
-
const score = Math.round(callerCoverage * 40 + callConfidence * 40 + (1 - falsePositiveRatio) * 20);
|
|
340
|
-
return {
|
|
341
|
-
nodes: { total: s.totalNodes, byKind: nodesByKind },
|
|
342
|
-
edges: { total: s.totalEdges, byKind: edgesByKind },
|
|
343
|
-
files,
|
|
344
|
-
cycles: { fileLevel: fileCycles.length, functionLevel: fnCycles.length },
|
|
345
|
-
hotspots: s.hotspots.map((h) => ({ file: h.file, fanIn: h.fanIn, fanOut: h.fanOut })),
|
|
346
|
-
embeddings: s.embeddings
|
|
347
|
-
? {
|
|
348
|
-
count: s.embeddings.count,
|
|
349
|
-
model: s.embeddings.model,
|
|
350
|
-
dim: s.embeddings.dim,
|
|
351
|
-
builtAt: s.embeddings.builtAt,
|
|
352
|
-
}
|
|
353
|
-
: null,
|
|
354
|
-
quality: {
|
|
355
|
-
score,
|
|
356
|
-
callerCoverage: {
|
|
357
|
-
ratio: callerCoverage,
|
|
358
|
-
covered: s.quality.callableWithCallers,
|
|
359
|
-
total: s.quality.callableTotal,
|
|
360
|
-
},
|
|
361
|
-
callConfidence: {
|
|
362
|
-
ratio: callConfidence,
|
|
363
|
-
highConf: s.quality.highConfCallEdges,
|
|
364
|
-
total: s.quality.callEdges,
|
|
365
|
-
},
|
|
366
|
-
falsePositiveWarnings,
|
|
367
|
-
},
|
|
368
|
-
roles,
|
|
369
|
-
complexity: s.complexity
|
|
370
|
-
? {
|
|
371
|
-
analyzed: s.complexity.analyzed,
|
|
372
|
-
avgCognitive: s.complexity.avgCognitive,
|
|
373
|
-
avgCyclomatic: s.complexity.avgCyclomatic,
|
|
374
|
-
maxCognitive: s.complexity.maxCognitive,
|
|
375
|
-
maxCyclomatic: s.complexity.maxCyclomatic,
|
|
376
|
-
avgMI: s.complexity.avgMi,
|
|
377
|
-
minMI: s.complexity.minMi,
|
|
378
|
-
}
|
|
379
|
-
: null,
|
|
380
|
-
};
|
|
381
|
-
}
|
|
382
|
-
// ── JS fallback ───────────────────────────────────────────────────
|
|
383
|
-
const testFilter = testFilterSQL('n.file', noTests);
|
|
384
|
-
const { total: totalNodes, byKind: nodesByKind } = countNodesByKind(db, noTests);
|
|
385
|
-
const { total: totalEdges, byKind: edgesByKind } = countEdgesByKind(db, noTests);
|
|
386
|
-
const hotspots = findHotspots(db, noTests, 5);
|
|
387
|
-
const embeddings = getEmbeddingsInfo(db);
|
|
388
|
-
const fpThreshold = config.analysis?.falsePositiveCallers ?? FALSE_POSITIVE_CALLER_THRESHOLD;
|
|
389
|
-
const quality = computeQualityMetrics(db, testFilter, fpThreshold);
|
|
390
|
-
const roles = countRoles(db, noTests);
|
|
391
|
-
const complexity = getComplexitySummary(db, testFilter);
|
|
392
|
-
return {
|
|
393
|
-
nodes: { total: totalNodes, byKind: nodesByKind },
|
|
394
|
-
edges: { total: totalEdges, byKind: edgesByKind },
|
|
395
|
-
files,
|
|
396
|
-
cycles: { fileLevel: fileCycles.length, functionLevel: fnCycles.length },
|
|
397
|
-
hotspots,
|
|
398
|
-
embeddings,
|
|
399
|
-
quality,
|
|
400
|
-
roles,
|
|
401
|
-
complexity,
|
|
405
|
+
const jsSections = {
|
|
406
|
+
files: countFilesByLanguage(db, noTests),
|
|
407
|
+
fileCycles: findCycles(db, { fileLevel: true, noTests }),
|
|
408
|
+
fnCycles: findCycles(db, { fileLevel: false, noTests }),
|
|
402
409
|
};
|
|
410
|
+
const nativeStats = nativeDb?.getGraphStats?.(noTests);
|
|
411
|
+
return nativeStats
|
|
412
|
+
? buildStatsFromNative(db, nativeStats, config, jsSections)
|
|
413
|
+
: buildStatsFromJs(db, noTests, config, jsSections);
|
|
403
414
|
}
|
|
404
415
|
finally {
|
|
405
416
|
close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-map.js","sourceRoot":"","sources":["../../../src/domain/analysis/module-map.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"module-map.js","sourceRoot":"","sources":["../../../src/domain/analysis/module-map.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export interface CallNodeLookup {
|
|
2
|
+
byNameAndFile(name: string, file: string): ReadonlyArray<{
|
|
3
|
+
id: number;
|
|
4
|
+
file: string;
|
|
5
|
+
kind?: string;
|
|
6
|
+
}>;
|
|
7
|
+
byName(name: string): ReadonlyArray<{
|
|
8
|
+
id: number;
|
|
9
|
+
file: string;
|
|
10
|
+
kind?: string;
|
|
11
|
+
}>;
|
|
12
|
+
isBarrel(file: string): boolean;
|
|
13
|
+
resolveBarrel(barrelFile: string, symbolName: string): string | null;
|
|
14
|
+
nodeId(name: string, kind: string, file: string, line: number): {
|
|
15
|
+
id: number;
|
|
16
|
+
} | undefined;
|
|
17
|
+
}
|
|
18
|
+
export declare const RECEIVER_KINDS: Set<string>;
|
|
19
|
+
export declare function findCaller(lookup: CallNodeLookup, call: {
|
|
20
|
+
line: number;
|
|
21
|
+
}, definitions: ReadonlyArray<{
|
|
22
|
+
name: string;
|
|
23
|
+
kind: string;
|
|
24
|
+
line: number;
|
|
25
|
+
endLine?: number | null;
|
|
26
|
+
}>, relPath: string, fileNodeRow: {
|
|
27
|
+
id: number;
|
|
28
|
+
}): {
|
|
29
|
+
id: number;
|
|
30
|
+
};
|
|
31
|
+
export declare function resolveByMethodOrGlobal(lookup: CallNodeLookup, call: {
|
|
32
|
+
name: string;
|
|
33
|
+
receiver?: string | null;
|
|
34
|
+
}, relPath: string, typeMap: Map<string, unknown>): ReadonlyArray<{
|
|
35
|
+
id: number;
|
|
36
|
+
file: string;
|
|
37
|
+
}>;
|
|
38
|
+
export declare function resolveCallTargets(lookup: CallNodeLookup, call: {
|
|
39
|
+
name: string;
|
|
40
|
+
receiver?: string | null;
|
|
41
|
+
}, relPath: string, importedNames: Map<string, string>, typeMap: Map<string, unknown>): {
|
|
42
|
+
targets: Array<{
|
|
43
|
+
id: number;
|
|
44
|
+
file: string;
|
|
45
|
+
}>;
|
|
46
|
+
importedFrom: string | undefined;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Resolve the receiver-type edge for a call site.
|
|
50
|
+
* Returns the edge tuple to insert, or null if nothing matched or the edge
|
|
51
|
+
* was already seen. Callers are responsible for the actual DB/array insert.
|
|
52
|
+
*
|
|
53
|
+
* Receiver resolution collects all same-file candidates first (no kind
|
|
54
|
+
* filter), falls back to global candidates only when the same-file set is
|
|
55
|
+
* entirely empty, then filters the chosen set by RECEIVER_KINDS. This
|
|
56
|
+
* matches the native Rust build path: if a file imports a name that happens
|
|
57
|
+
* to be emitted as `kind='function'` in the importer, the same-file set is
|
|
58
|
+
* non-empty and blocks the global fallback, so no receiver edge is emitted.
|
|
59
|
+
* Keeping this behaviour identical to the Rust path maintains engine parity.
|
|
60
|
+
*/
|
|
61
|
+
export declare function resolveReceiverEdge(lookup: CallNodeLookup, call: {
|
|
62
|
+
name: string;
|
|
63
|
+
receiver: string;
|
|
64
|
+
}, caller: {
|
|
65
|
+
id: number;
|
|
66
|
+
}, relPath: string, typeMap: Map<string, unknown>, seenCallEdges: Set<string>): {
|
|
67
|
+
callerId: number;
|
|
68
|
+
receiverId: number;
|
|
69
|
+
confidence: number;
|
|
70
|
+
} | null;
|
|
71
|
+
//# sourceMappingURL=call-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-resolver.d.ts","sourceRoot":"","sources":["../../../../src/domain/graph/builder/call-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared call-edge resolution — used by both the full build pipeline
|
|
3
|
+
* (build-edges.ts) and the incremental watch path (incremental.ts).
|
|
4
|
+
*
|
|
5
|
+
* Both callers supply a `CallNodeLookup` adapter that abstracts their
|
|
6
|
+
* node-lookup mechanism (pre-loaded Maps vs. per-query SQLite statements).
|
|
7
|
+
* The resolution logic lives here exactly once.
|
|
8
|
+
*/
|
|
9
|
+
import { computeConfidence } from '../resolve.js';
|
|
10
|
+
export const RECEIVER_KINDS = new Set(['class', 'struct', 'interface', 'type', 'module']);
|
|
11
|
+
// ── Shared resolution functions ──────────────────────────────────────────
|
|
12
|
+
export function findCaller(lookup, call, definitions, relPath, fileNodeRow) {
|
|
13
|
+
let caller = null;
|
|
14
|
+
let callerSpan = Infinity;
|
|
15
|
+
for (const def of definitions) {
|
|
16
|
+
if (def.line <= call.line) {
|
|
17
|
+
const end = def.endLine || Infinity;
|
|
18
|
+
if (call.line <= end) {
|
|
19
|
+
const span = end - def.line;
|
|
20
|
+
if (span < callerSpan) {
|
|
21
|
+
const row = lookup.nodeId(def.name, def.kind, relPath, def.line);
|
|
22
|
+
if (row) {
|
|
23
|
+
caller = row;
|
|
24
|
+
callerSpan = span;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return caller ?? fileNodeRow;
|
|
31
|
+
}
|
|
32
|
+
export function resolveByMethodOrGlobal(lookup, call, relPath, typeMap) {
|
|
33
|
+
if (call.receiver) {
|
|
34
|
+
const typeEntry = typeMap.get(call.receiver);
|
|
35
|
+
const typeName = typeEntry
|
|
36
|
+
? typeof typeEntry === 'string'
|
|
37
|
+
? typeEntry
|
|
38
|
+
: typeEntry.type
|
|
39
|
+
: null;
|
|
40
|
+
if (typeName) {
|
|
41
|
+
const typed = lookup.byName(`${typeName}.${call.name}`).filter((n) => n.kind === 'method');
|
|
42
|
+
if (typed.length > 0)
|
|
43
|
+
return typed;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (!call.receiver ||
|
|
47
|
+
call.receiver === 'this' ||
|
|
48
|
+
call.receiver === 'self' ||
|
|
49
|
+
call.receiver === 'super') {
|
|
50
|
+
return lookup.byName(call.name).filter((t) => computeConfidence(relPath, t.file, null) >= 0.5);
|
|
51
|
+
}
|
|
52
|
+
return [];
|
|
53
|
+
}
|
|
54
|
+
export function resolveCallTargets(lookup, call, relPath, importedNames, typeMap) {
|
|
55
|
+
const importedFrom = importedNames.get(call.name);
|
|
56
|
+
let targets;
|
|
57
|
+
if (importedFrom) {
|
|
58
|
+
targets = lookup.byNameAndFile(call.name, importedFrom);
|
|
59
|
+
if (targets.length === 0 && lookup.isBarrel(importedFrom)) {
|
|
60
|
+
const actualSource = lookup.resolveBarrel(importedFrom, call.name);
|
|
61
|
+
if (actualSource) {
|
|
62
|
+
targets = lookup.byNameAndFile(call.name, actualSource);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (!targets || targets.length === 0) {
|
|
67
|
+
targets = lookup.byNameAndFile(call.name, relPath);
|
|
68
|
+
if (targets.length === 0) {
|
|
69
|
+
targets = resolveByMethodOrGlobal(lookup, call, relPath, typeMap);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const resolved = [...(targets ?? [])];
|
|
73
|
+
if (resolved.length > 1) {
|
|
74
|
+
resolved.sort((a, b) => {
|
|
75
|
+
const confA = computeConfidence(relPath, a.file, importedFrom ?? null);
|
|
76
|
+
const confB = computeConfidence(relPath, b.file, importedFrom ?? null);
|
|
77
|
+
return confB - confA;
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
return { targets: resolved, importedFrom };
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Resolve the receiver-type edge for a call site.
|
|
84
|
+
* Returns the edge tuple to insert, or null if nothing matched or the edge
|
|
85
|
+
* was already seen. Callers are responsible for the actual DB/array insert.
|
|
86
|
+
*
|
|
87
|
+
* Receiver resolution collects all same-file candidates first (no kind
|
|
88
|
+
* filter), falls back to global candidates only when the same-file set is
|
|
89
|
+
* entirely empty, then filters the chosen set by RECEIVER_KINDS. This
|
|
90
|
+
* matches the native Rust build path: if a file imports a name that happens
|
|
91
|
+
* to be emitted as `kind='function'` in the importer, the same-file set is
|
|
92
|
+
* non-empty and blocks the global fallback, so no receiver edge is emitted.
|
|
93
|
+
* Keeping this behaviour identical to the Rust path maintains engine parity.
|
|
94
|
+
*/
|
|
95
|
+
export function resolveReceiverEdge(lookup, call, caller, relPath, typeMap, seenCallEdges) {
|
|
96
|
+
const typeEntry = typeMap.get(call.receiver);
|
|
97
|
+
const typeName = typeEntry
|
|
98
|
+
? typeof typeEntry === 'string'
|
|
99
|
+
? typeEntry
|
|
100
|
+
: (typeEntry.type ?? null)
|
|
101
|
+
: null;
|
|
102
|
+
const typeConfidence = typeEntry && typeof typeEntry !== 'string'
|
|
103
|
+
? (typeEntry.confidence ?? null)
|
|
104
|
+
: null;
|
|
105
|
+
const effectiveReceiver = typeName || call.receiver;
|
|
106
|
+
// Filter-before: apply RECEIVER_KINDS to same-file candidates first, then
|
|
107
|
+
// fall back to global candidates (also filtered) only when same-file yields
|
|
108
|
+
// nothing. This prevents an imported name emitted as kind='function' in the
|
|
109
|
+
// importing file from blocking the fallback to the actual class/struct/etc.
|
|
110
|
+
// node in the defining file.
|
|
111
|
+
const sameFileCandidates = lookup
|
|
112
|
+
.byNameAndFile(effectiveReceiver, relPath)
|
|
113
|
+
.filter((n) => RECEIVER_KINDS.has(n.kind ?? ''));
|
|
114
|
+
const candidates = sameFileCandidates.length > 0
|
|
115
|
+
? sameFileCandidates
|
|
116
|
+
: lookup.byName(effectiveReceiver).filter((n) => RECEIVER_KINDS.has(n.kind ?? ''));
|
|
117
|
+
if (candidates.length === 0)
|
|
118
|
+
return null;
|
|
119
|
+
const recvTarget = candidates[0];
|
|
120
|
+
const recvKey = `recv|${caller.id}|${recvTarget.id}`;
|
|
121
|
+
if (seenCallEdges.has(recvKey))
|
|
122
|
+
return null;
|
|
123
|
+
seenCallEdges.add(recvKey);
|
|
124
|
+
return {
|
|
125
|
+
callerId: caller.id,
|
|
126
|
+
receiverId: recvTarget.id,
|
|
127
|
+
confidence: typeConfidence ?? (typeName ? 0.9 : 0.7),
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=call-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-resolver.js","sourceRoot":"","sources":["../../../../src/domain/graph/builder/call-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,14 +12,14 @@ export declare function passesIncludeExclude(relPath: string, includeRegexes: re
|
|
|
12
12
|
* Recursively collect all source files under `dir`.
|
|
13
13
|
* When `directories` is a Set, also tracks which directories contain files.
|
|
14
14
|
*
|
|
15
|
-
*
|
|
16
|
-
* `config.
|
|
15
|
+
* `dir` establishes the project root against which `config.include` /
|
|
16
|
+
* `config.exclude` globs are matched.
|
|
17
17
|
*/
|
|
18
|
-
export declare function collectFiles(dir: string, files: string[], config: Partial<CodegraphConfig>, directories: Set<string
|
|
18
|
+
export declare function collectFiles(dir: string, files: string[], config: Partial<CodegraphConfig>, directories: Set<string>): {
|
|
19
19
|
files: string[];
|
|
20
20
|
directories: Set<string>;
|
|
21
21
|
};
|
|
22
|
-
export declare function collectFiles(dir: string, files?: string[], config?: Partial<CodegraphConfig>, directories?: null
|
|
22
|
+
export declare function collectFiles(dir: string, files?: string[], config?: Partial<CodegraphConfig>, directories?: null): string[];
|
|
23
23
|
/**
|
|
24
24
|
* Load path aliases from tsconfig.json / jsconfig.json.
|
|
25
25
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/graph/builder/helpers.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,WAAW,EAEZ,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,iBAAiB,EAAE,GAAG,CAAC,MAAM,CA6BxC,CAAC;AAaH;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,cAAc,EAAE,SAAS,MAAM,EAAE,GAChC,OAAO,CAIT;
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/graph/builder/helpers.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,WAAW,EAEZ,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,iBAAiB,EAAE,GAAG,CAAC,MAAM,CA6BxC,CAAC;AAaH;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,cAAc,EAAE,SAAS,MAAM,EAAE,GAChC,OAAO,CAIT;AA0ED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,EAChC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GACvB;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC;AACjD,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,EAAE,EAChB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,EACjC,WAAW,CAAC,EAAE,IAAI,GACjB,MAAM,EAAE,CAAC;AAwBZ;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CA4B5D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAOjF;AAQD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,MAAU,GAAG,MAAM,CAa1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,qBAAqB,EACzB,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,IAAI,CAGN;AA6CD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,IAAI,CAanF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,IAAI,CAanF"}
|