@optave/codegraph 3.8.1 → 3.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -7
- package/dist/ast-analysis/engine.d.ts.map +1 -1
- package/dist/ast-analysis/engine.js +43 -0
- package/dist/ast-analysis/engine.js.map +1 -1
- package/dist/ast-analysis/visitors/complexity-visitor.d.ts.map +1 -1
- package/dist/ast-analysis/visitors/complexity-visitor.js +50 -1
- package/dist/ast-analysis/visitors/complexity-visitor.js.map +1 -1
- package/dist/cli/commands/branch-compare.d.ts.map +1 -1
- package/dist/cli/commands/branch-compare.js +4 -0
- package/dist/cli/commands/branch-compare.js.map +1 -1
- package/dist/cli/commands/diff-impact.d.ts.map +1 -1
- package/dist/cli/commands/diff-impact.js +2 -1
- package/dist/cli/commands/diff-impact.js.map +1 -1
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +3 -2
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/db/repository/base.d.ts +6 -0
- package/dist/db/repository/base.d.ts.map +1 -1
- package/dist/db/repository/base.js +14 -0
- package/dist/db/repository/base.js.map +1 -1
- package/dist/db/repository/native-repository.d.ts +1 -0
- package/dist/db/repository/native-repository.d.ts.map +1 -1
- package/dist/db/repository/native-repository.js +23 -0
- package/dist/db/repository/native-repository.js.map +1 -1
- package/dist/db/repository/sqlite-repository.d.ts +1 -0
- package/dist/db/repository/sqlite-repository.d.ts.map +1 -1
- package/dist/db/repository/sqlite-repository.js +25 -0
- package/dist/db/repository/sqlite-repository.js.map +1 -1
- package/dist/domain/analysis/dependencies.d.ts.map +1 -1
- package/dist/domain/analysis/dependencies.js +12 -8
- package/dist/domain/analysis/dependencies.js.map +1 -1
- package/dist/domain/graph/builder/pipeline.d.ts.map +1 -1
- package/dist/domain/graph/builder/pipeline.js +154 -59
- 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 +27 -1
- package/dist/domain/graph/builder/stages/build-edges.js.map +1 -1
- package/dist/domain/parser.d.ts +4 -0
- package/dist/domain/parser.d.ts.map +1 -1
- package/dist/domain/parser.js +128 -61
- package/dist/domain/parser.js.map +1 -1
- package/dist/domain/search/models.d.ts.map +1 -1
- package/dist/domain/search/models.js +7 -5
- package/dist/domain/search/models.js.map +1 -1
- package/dist/extractors/javascript.js +19 -9
- package/dist/extractors/javascript.js.map +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/grammars/tree-sitter-erlang.wasm +0 -0
- package/grammars/tree-sitter-gleam.wasm +0 -0
- package/package.json +9 -9
- package/src/ast-analysis/engine.ts +51 -0
- package/src/ast-analysis/visitors/complexity-visitor.ts +55 -1
- package/src/cli/commands/branch-compare.ts +4 -0
- package/src/cli/commands/diff-impact.ts +2 -1
- package/src/cli/commands/info.ts +3 -2
- package/src/db/repository/base.ts +14 -0
- package/src/db/repository/native-repository.ts +25 -0
- package/src/db/repository/sqlite-repository.ts +26 -0
- package/src/domain/analysis/dependencies.ts +11 -6
- package/src/domain/graph/builder/pipeline.ts +185 -64
- package/src/domain/graph/builder/stages/build-edges.ts +23 -1
- package/src/domain/parser.ts +129 -63
- package/src/domain/search/models.ts +11 -5
- package/src/extractors/javascript.ts +21 -8
- package/src/types.ts +2 -1
package/README.md
CHANGED
|
@@ -588,16 +588,20 @@ Codegraph also extracts symbols from common callback patterns: Commander `.comma
|
|
|
588
588
|
|
|
589
589
|
Self-measured on every release via CI ([build benchmarks](generated/benchmarks/BUILD-BENCHMARKS.md) | [embedding benchmarks](generated/benchmarks/EMBEDDING-BENCHMARKS.md) | [query benchmarks](generated/benchmarks/QUERY-BENCHMARKS.md) | [incremental benchmarks](generated/benchmarks/INCREMENTAL-BENCHMARKS.md) | [resolution precision/recall](tests/benchmarks/resolution/)):
|
|
590
590
|
|
|
591
|
+
*Last updated: v3.9.0 (2026-04-04)*
|
|
592
|
+
|
|
591
593
|
| Metric | Latest |
|
|
592
594
|
|---|---|
|
|
593
|
-
| Build speed (native) | **
|
|
594
|
-
| Build speed (WASM) | **
|
|
595
|
-
| Query time | **
|
|
595
|
+
| Build speed (native) | **13.3 ms/file** |
|
|
596
|
+
| Build speed (WASM) | **13.6 ms/file** |
|
|
597
|
+
| Query time | **29ms** |
|
|
596
598
|
| No-op rebuild (native) | **8ms** |
|
|
597
|
-
| 1-file rebuild (native) | **
|
|
598
|
-
| Query: fn-deps | **2.
|
|
599
|
-
| Query: path | **2.
|
|
600
|
-
| ~50,000 files (est.) | **~
|
|
599
|
+
| 1-file rebuild (native) | **42ms** |
|
|
600
|
+
| Query: fn-deps | **2.2ms** |
|
|
601
|
+
| Query: path | **2.2ms** |
|
|
602
|
+
| ~50,000 files (est.) | **~665.0s build** |
|
|
603
|
+
| Resolution precision | **100.0%** |
|
|
604
|
+
| Resolution recall | **64.5%** |
|
|
601
605
|
|
|
602
606
|
Metrics are normalized per file for cross-version comparability. Times above are for a full initial build — incremental rebuilds only re-parse changed files.
|
|
603
607
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/ast-analysis/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AASH,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EAEd,qBAAqB,EAKrB,UAAU,EACV,eAAe,EAQhB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/ast-analysis/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AASH,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EAEd,qBAAqB,EAKrB,UAAU,EACV,eAAe,EAQhB,MAAM,aAAa,CAAC;AA8lBrB,wBAAsB,WAAW,CAC/B,EAAE,EAAE,qBAAqB,EACzB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,EACzC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,YAAY,EAClB,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,cAAc,CAAC,CAoEzB"}
|
|
@@ -148,6 +148,12 @@ function storeNativeComplexityResults(results, defs) {
|
|
|
148
148
|
maxNesting: c.maxNesting,
|
|
149
149
|
halstead: c.halstead
|
|
150
150
|
? {
|
|
151
|
+
n1: c.halstead.n1,
|
|
152
|
+
n2: c.halstead.n2,
|
|
153
|
+
bigN1: c.halstead.bigN1,
|
|
154
|
+
bigN2: c.halstead.bigN2,
|
|
155
|
+
vocabulary: c.halstead.vocabulary,
|
|
156
|
+
length: c.halstead.length,
|
|
151
157
|
volume: c.halstead.volume,
|
|
152
158
|
difficulty: c.halstead.difficulty,
|
|
153
159
|
effort: c.halstead.effort,
|
|
@@ -206,6 +212,35 @@ function storeNativeCfgResults(results, defs) {
|
|
|
206
212
|
}
|
|
207
213
|
}
|
|
208
214
|
}
|
|
215
|
+
// ─── CFG cyclomatic reconciliation ──────────────────────────────────────
|
|
216
|
+
/**
|
|
217
|
+
* Apply CFG-derived cyclomatic override for definitions that already have both
|
|
218
|
+
* `complexity` and `cfg` with blocks/edges but whose cyclomatic was never
|
|
219
|
+
* overridden (e.g., native extractors provide both fields inline, so the
|
|
220
|
+
* normal override path in storeNativeCfgResults / storeCfgResults is skipped).
|
|
221
|
+
*/
|
|
222
|
+
/** Type guard for cfg objects with blocks and edges arrays. */
|
|
223
|
+
function hasCfgBlocksAndEdges(cfg) {
|
|
224
|
+
return (cfg != null &&
|
|
225
|
+
typeof cfg === 'object' &&
|
|
226
|
+
Array.isArray(cfg.blocks) &&
|
|
227
|
+
Array.isArray(cfg.edges));
|
|
228
|
+
}
|
|
229
|
+
function reconcileCfgCyclomatic(fileSymbols) {
|
|
230
|
+
for (const [, symbols] of fileSymbols) {
|
|
231
|
+
const defs = symbols.definitions || [];
|
|
232
|
+
for (const def of defs) {
|
|
233
|
+
if ((def.kind === 'function' || def.kind === 'method') &&
|
|
234
|
+
def.complexity &&
|
|
235
|
+
hasCfgBlocksAndEdges(def.cfg)) {
|
|
236
|
+
const cfgCyclomatic = Math.max(def.cfg.edges.length - def.cfg.blocks.length + 2, 1);
|
|
237
|
+
if (cfgCyclomatic !== def.complexity.cyclomatic) {
|
|
238
|
+
overrideCyclomaticFromCfg(def, cfgCyclomatic);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
209
244
|
// ─── WASM pre-parse ─────────────────────────────────────────────────────
|
|
210
245
|
async function ensureWasmTreesIfNeeded(fileSymbols, opts, rootDir) {
|
|
211
246
|
const doAst = opts.ast !== false;
|
|
@@ -486,6 +521,14 @@ export async function runAnalyses(db, fileSymbols, rootDir, opts, engineOpts) {
|
|
|
486
521
|
symbols.dataflow = results.dataflow;
|
|
487
522
|
}
|
|
488
523
|
timing._unifiedWalkMs = performance.now() - t0walk;
|
|
524
|
+
// Reconcile: apply CFG-derived cyclomatic override for any definitions that have
|
|
525
|
+
// both precomputed complexity and CFG data but whose cyclomatic was never overridden.
|
|
526
|
+
// This closes a parity gap where native extractors provide both fields inline but
|
|
527
|
+
// the override step (storeNativeCfgResults / storeCfgResults) is skipped because
|
|
528
|
+
// detectNativeNeeds sees both as already present.
|
|
529
|
+
if (doComplexity && doCfg) {
|
|
530
|
+
reconcileCfgCyclomatic(fileSymbols);
|
|
531
|
+
}
|
|
489
532
|
// Delegate to buildXxx functions for DB writes + native fallback
|
|
490
533
|
await delegateToBuildFunctions(db, fileSymbols, rootDir, opts, engineOpts, timing);
|
|
491
534
|
return timing;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/ast-analysis/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/ast-analysis/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complexity-visitor.d.ts","sourceRoot":"","sources":["../../../src/ast-analysis/visitors/complexity-visitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmC,OAAO,EAAkB,MAAM,gBAAgB,CAAC;AAO/F,KAAK,QAAQ,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"complexity-visitor.d.ts","sourceRoot":"","sources":["../../../src/ast-analysis/visitors/complexity-visitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmC,OAAO,EAAkB,MAAM,gBAAgB,CAAC;AAO/F,KAAK,QAAQ,GAAG,GAAG,CAAC;AAsMpB,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,QAAQ,EAChB,MAAM,CAAC,EAAE,QAAQ,GAAG,IAAI,EACxB,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAChE,OAAO,CA0FT"}
|
|
@@ -18,6 +18,29 @@ function classifyHalstead(node, hRules, acc) {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Detect whether a branch node is an else-if that the DFS walk would NOT
|
|
23
|
+
* increment nesting for. Returns true for:
|
|
24
|
+
* - Pattern A (JS/C#/Rust): if_statement whose parent is else_clause
|
|
25
|
+
* - Pattern C (Go/Java): if_statement that is the alternative of parent if
|
|
26
|
+
*
|
|
27
|
+
* Pattern B (Python elif_clause) is not an issue because elif_clause is
|
|
28
|
+
* never in nestingNodes.
|
|
29
|
+
*/
|
|
30
|
+
function isElseIfNonNesting(node, type, cRules) {
|
|
31
|
+
if (type !== cRules.ifNodeType)
|
|
32
|
+
return false;
|
|
33
|
+
if (cRules.elseViaAlternative) {
|
|
34
|
+
// Pattern C
|
|
35
|
+
return (node.parent?.type === cRules.ifNodeType &&
|
|
36
|
+
node.parent?.childForFieldName('alternative')?.id === node.id);
|
|
37
|
+
}
|
|
38
|
+
if (cRules.elseNodeType) {
|
|
39
|
+
// Pattern A
|
|
40
|
+
return node.parent?.type === cRules.elseNodeType;
|
|
41
|
+
}
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
21
44
|
function classifyBranchNode(node, type, nestingLevel, cRules, acc) {
|
|
22
45
|
if (cRules.elseNodeType && type === cRules.elseNodeType) {
|
|
23
46
|
const firstChild = node.namedChild(0);
|
|
@@ -124,6 +147,12 @@ export function createComplexityVisitor(cRules, hRules, options = {}) {
|
|
|
124
147
|
let activeFuncName = null;
|
|
125
148
|
let funcDepth = 0;
|
|
126
149
|
const results = [];
|
|
150
|
+
// The walker increments context.nestingLevel for ALL nodes in nestingNodeTypes
|
|
151
|
+
// (including if_statement). But the DFS engine does NOT increment nesting for
|
|
152
|
+
// else-if if_statement nodes. Track a correction counter so children of else-if
|
|
153
|
+
// nodes see the correct (non-inflated) nesting level.
|
|
154
|
+
let nestingAdjust = 0;
|
|
155
|
+
const adjustNodeIds = new Set();
|
|
127
156
|
return {
|
|
128
157
|
name: 'complexity',
|
|
129
158
|
functionNodeTypes: cRules.functionNodes,
|
|
@@ -133,6 +162,8 @@ export function createComplexityVisitor(cRules, hRules, options = {}) {
|
|
|
133
162
|
activeFuncNode = funcNode;
|
|
134
163
|
activeFuncName = funcName;
|
|
135
164
|
funcDepth = 0;
|
|
165
|
+
nestingAdjust = 0;
|
|
166
|
+
adjustNodeIds.clear();
|
|
136
167
|
}
|
|
137
168
|
else {
|
|
138
169
|
funcDepth++;
|
|
@@ -155,10 +186,28 @@ export function createComplexityVisitor(cRules, hRules, options = {}) {
|
|
|
155
186
|
enterNode(node, context) {
|
|
156
187
|
if (fileLevelWalk && !activeFuncNode)
|
|
157
188
|
return;
|
|
158
|
-
|
|
189
|
+
// In file-level mode, funcDepth starts at 0 for the active function.
|
|
190
|
+
// In function-level mode, funcDepth starts at 1 for the root function
|
|
191
|
+
// (since enterFunction always increments it). Nested functions add +1
|
|
192
|
+
// each level — subtract 1 so the root function contributes 0 nesting
|
|
193
|
+
// and each nested level adds +1, matching the Rust engine's behavior.
|
|
194
|
+
const funcNesting = fileLevelWalk ? funcDepth : Math.max(0, funcDepth - 1);
|
|
195
|
+
const nestingLevel = context.nestingLevel + funcNesting - nestingAdjust;
|
|
159
196
|
classifyNode(node, nestingLevel, cRules, hRules, acc);
|
|
197
|
+
// If this is an else-if if_statement that the walker will treat as a
|
|
198
|
+
// nesting node (incrementing context.nestingLevel for children), but
|
|
199
|
+
// the DFS walk would NOT increment nesting for, compensate by bumping
|
|
200
|
+
// nestingAdjust so children see the correct level.
|
|
201
|
+
if (cRules.nestingNodes.has(node.type) && isElseIfNonNesting(node, node.type, cRules)) {
|
|
202
|
+
nestingAdjust++;
|
|
203
|
+
adjustNodeIds.add(node.id);
|
|
204
|
+
}
|
|
160
205
|
},
|
|
161
206
|
exitNode(node) {
|
|
207
|
+
if (adjustNodeIds.has(node.id)) {
|
|
208
|
+
nestingAdjust--;
|
|
209
|
+
adjustNodeIds.delete(node.id);
|
|
210
|
+
}
|
|
162
211
|
if (hRules?.skipTypes.has(node.type))
|
|
163
212
|
acc.halsteadSkipDepth--;
|
|
164
213
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complexity-visitor.js","sourceRoot":"","sources":["../../../src/ast-analysis/visitors/complexity-visitor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"complexity-visitor.js","sourceRoot":"","sources":["../../../src/ast-analysis/visitors/complexity-visitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-compare.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/branch-compare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,eAAO,MAAM,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"branch-compare.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/branch-compare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,eAAO,MAAM,OAAO,EAAE,iBAwBrB,CAAC"}
|
|
@@ -3,6 +3,7 @@ export const command = {
|
|
|
3
3
|
description: 'Compare code structure between two branches/refs',
|
|
4
4
|
options: [
|
|
5
5
|
['--depth <n>', 'Max transitive caller depth', '3'],
|
|
6
|
+
['-d, --db <path>', 'Path to graph.db'],
|
|
6
7
|
['-T, --no-tests', 'Exclude test/spec files'],
|
|
7
8
|
['--include-tests', 'Include test/spec files (overrides excludeTests config)'],
|
|
8
9
|
['-j, --json', 'Output as JSON'],
|
|
@@ -10,12 +11,15 @@ export const command = {
|
|
|
10
11
|
],
|
|
11
12
|
async execute([base, target], opts, ctx) {
|
|
12
13
|
const { branchCompare } = await import('../../presentation/branch-compare.js');
|
|
14
|
+
const path = await import('node:path');
|
|
15
|
+
const repoRoot = opts.db ? path.resolve(path.dirname(opts.db), '..') : undefined;
|
|
13
16
|
await branchCompare(base, target, {
|
|
14
17
|
engine: ctx.program.opts().engine,
|
|
15
18
|
depth: parseInt(opts.depth, 10),
|
|
16
19
|
noTests: ctx.resolveNoTests(opts),
|
|
17
20
|
json: opts.json,
|
|
18
21
|
format: opts.format,
|
|
22
|
+
repoRoot,
|
|
19
23
|
});
|
|
20
24
|
},
|
|
21
25
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-compare.js","sourceRoot":"","sources":["../../../src/cli/commands/branch-compare.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAsB;IACxC,IAAI,EAAE,gCAAgC;IACtC,WAAW,EAAE,kDAAkD;IAC/D,OAAO,EAAE;QACP,CAAC,aAAa,EAAE,6BAA6B,EAAE,GAAG,CAAC;QACnD,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;QAC7C,CAAC,iBAAiB,EAAE,yDAAyD,CAAC;QAC9E,CAAC,YAAY,EAAE,gBAAgB,CAAC;QAChC,CAAC,uBAAuB,EAAE,oCAAoC,EAAE,MAAM,CAAC;KACxE;IACD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG;QACrC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,sCAAsC,CAAC,CAAC;QAC/E,MAAM,aAAa,CAAC,IAAK,EAAE,MAAO,EAAE;YAClC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM;YACjC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAe,EAAE,EAAE,CAAC;YACzC,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC;YACjC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"branch-compare.js","sourceRoot":"","sources":["../../../src/cli/commands/branch-compare.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAsB;IACxC,IAAI,EAAE,gCAAgC;IACtC,WAAW,EAAE,kDAAkD;IAC/D,OAAO,EAAE;QACP,CAAC,aAAa,EAAE,6BAA6B,EAAE,GAAG,CAAC;QACnD,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;QACvC,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;QAC7C,CAAC,iBAAiB,EAAE,yDAAyD,CAAC;QAC9E,CAAC,YAAY,EAAE,gBAAgB,CAAC;QAChC,CAAC,uBAAuB,EAAE,oCAAoC,EAAE,MAAM,CAAC;KACxE;IACD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG;QACrC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,sCAAsC,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAY,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3F,MAAM,aAAa,CAAC,IAAK,EAAE,MAAO,EAAE;YAClC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM;YACjC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAe,EAAE,EAAE,CAAC;YACzC,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC;YACjC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff-impact.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/diff-impact.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,eAAO,MAAM,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"diff-impact.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/diff-impact.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,eAAO,MAAM,OAAO,EAAE,iBA0BrB,CAAC"}
|
|
@@ -11,6 +11,7 @@ export const command = {
|
|
|
11
11
|
['--ndjson', 'Newline-delimited JSON output'],
|
|
12
12
|
['--staged', 'Analyze staged changes instead of unstaged'],
|
|
13
13
|
['--depth <n>', 'Max transitive caller depth', '3'],
|
|
14
|
+
['-j, --json', 'Output as JSON (shorthand for -f json)'],
|
|
14
15
|
['-f, --format <format>', 'Output format: text, mermaid, json', 'text'],
|
|
15
16
|
['--no-implementations', 'Exclude interface/trait implementors from blast radius'],
|
|
16
17
|
],
|
|
@@ -19,7 +20,7 @@ export const command = {
|
|
|
19
20
|
ref,
|
|
20
21
|
staged: opts.staged,
|
|
21
22
|
depth: parseInt(opts.depth, 10),
|
|
22
|
-
format: opts.format,
|
|
23
|
+
format: opts.json ? 'json' : opts.format,
|
|
23
24
|
includeImplementors: opts.implementations !== false,
|
|
24
25
|
...ctx.resolveQueryOpts(opts),
|
|
25
26
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff-impact.js","sourceRoot":"","sources":["../../../src/cli/commands/diff-impact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAG/D,MAAM,CAAC,MAAM,OAAO,GAAsB;IACxC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,4DAA4D;IACzE,OAAO,EAAE;QACP,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;QACvC,CAAC,gBAAgB,EAAE,sCAAsC,CAAC;QAC1D,CAAC,iBAAiB,EAAE,yDAAyD,CAAC;QAC9E,CAAC,kBAAkB,EAAE,uBAAuB,CAAC;QAC7C,CAAC,mBAAmB,EAAE,6BAA6B,CAAC;QACpD,CAAC,UAAU,EAAE,+BAA+B,CAAC;QAC7C,CAAC,UAAU,EAAE,4CAA4C,CAAC;QAC1D,CAAC,aAAa,EAAE,6BAA6B,EAAE,GAAG,CAAC;QACnD,CAAC,uBAAuB,EAAE,oCAAoC,EAAE,MAAM,CAAC;QACvE,CAAC,sBAAsB,EAAE,wDAAwD,CAAC;KACnF;IACD,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG;QACtB,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE;YAClB,GAAG;YACH,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAe,EAAE,EAAE,CAAC;YACzC,MAAM,EAAE,IAAI,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"diff-impact.js","sourceRoot":"","sources":["../../../src/cli/commands/diff-impact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAG/D,MAAM,CAAC,MAAM,OAAO,GAAsB;IACxC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,4DAA4D;IACzE,OAAO,EAAE;QACP,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;QACvC,CAAC,gBAAgB,EAAE,sCAAsC,CAAC;QAC1D,CAAC,iBAAiB,EAAE,yDAAyD,CAAC;QAC9E,CAAC,kBAAkB,EAAE,uBAAuB,CAAC;QAC7C,CAAC,mBAAmB,EAAE,6BAA6B,CAAC;QACpD,CAAC,UAAU,EAAE,+BAA+B,CAAC;QAC7C,CAAC,UAAU,EAAE,4CAA4C,CAAC;QAC1D,CAAC,aAAa,EAAE,6BAA6B,EAAE,GAAG,CAAC;QACnD,CAAC,YAAY,EAAE,wCAAwC,CAAC;QACxD,CAAC,uBAAuB,EAAE,oCAAoC,EAAE,MAAM,CAAC;QACvE,CAAC,sBAAsB,EAAE,wDAAwD,CAAC;KACnF;IACD,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG;QACtB,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE;YAClB,GAAG;YACH,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAe,EAAE,EAAE,CAAC;YACzC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;YACxC,mBAAmB,EAAE,IAAI,CAAC,eAAe,KAAK,KAAK;YACnD,GAAG,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,eAAO,MAAM,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,eAAO,MAAM,OAAO,EAAE,iBA4ErB,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export const command = {
|
|
2
2
|
name: 'info',
|
|
3
3
|
description: 'Show codegraph engine info and diagnostics',
|
|
4
|
-
|
|
4
|
+
options: [['-d, --db <path>', 'Path to graph.db']],
|
|
5
|
+
async execute(_args, opts, ctx) {
|
|
5
6
|
const { getNativePackageVersion, isNativeAvailable, loadNative } = await import('../../infrastructure/native.js');
|
|
6
7
|
const { getActiveEngine } = await import('../../domain/parser.js');
|
|
7
8
|
const engine = ctx.program.opts().engine;
|
|
@@ -31,7 +32,7 @@ export const command = {
|
|
|
31
32
|
try {
|
|
32
33
|
const { findDbPath, getBuildMeta } = await import('../../db/index.js');
|
|
33
34
|
const Database = (await import('better-sqlite3')).default;
|
|
34
|
-
const dbPath = findDbPath();
|
|
35
|
+
const dbPath = findDbPath(opts.db);
|
|
35
36
|
const fs = await import('node:fs');
|
|
36
37
|
if (fs.existsSync(dbPath)) {
|
|
37
38
|
const db = new Database(dbPath, { readonly: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/cli/commands/info.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAsB;IACxC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,4CAA4C;IACzD,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/cli/commands/info.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,12 @@ export declare class Repository implements IRepository {
|
|
|
26
26
|
findNodesForTriage(_opts?: TriageQueryOpts): TriageNodeRow[];
|
|
27
27
|
findCallees(_nodeId: number): RelatedNodeRow[];
|
|
28
28
|
findCallers(_nodeId: number): RelatedNodeRow[];
|
|
29
|
+
/**
|
|
30
|
+
* Batch version of findCallers — returns callers for multiple node IDs in a
|
|
31
|
+
* single query. Default implementation loops; subclasses override with SQL
|
|
32
|
+
* `IN (...)` for efficiency.
|
|
33
|
+
*/
|
|
34
|
+
findCallersBatch(nodeIds: number[]): Map<number, RelatedNodeRow[]>;
|
|
29
35
|
findDistinctCallers(_nodeId: number): RelatedNodeRow[];
|
|
30
36
|
findAllOutgoingEdges(_nodeId: number): AdjacentEdgeRow[];
|
|
31
37
|
findAllIncomingEdges(_nodeId: number): AdjacentEdgeRow[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/db/repository/base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/db/repository/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,6 +61,20 @@ export class Repository {
|
|
|
61
61
|
findCallers(_nodeId) {
|
|
62
62
|
throw new Error('not implemented');
|
|
63
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Batch version of findCallers — returns callers for multiple node IDs in a
|
|
66
|
+
* single query. Default implementation loops; subclasses override with SQL
|
|
67
|
+
* `IN (...)` for efficiency.
|
|
68
|
+
*/
|
|
69
|
+
findCallersBatch(nodeIds) {
|
|
70
|
+
const result = new Map();
|
|
71
|
+
for (const id of nodeIds) {
|
|
72
|
+
const callers = this.findCallers(id);
|
|
73
|
+
if (callers.length > 0)
|
|
74
|
+
result.set(id, callers);
|
|
75
|
+
}
|
|
76
|
+
return result;
|
|
77
|
+
}
|
|
64
78
|
findDistinctCallers(_nodeId) {
|
|
65
79
|
throw new Error('not implemented');
|
|
66
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/db/repository/base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/db/repository/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,7 @@ export declare class NativeRepository extends Repository {
|
|
|
34
34
|
findNodesForTriage(opts?: TriageQueryOpts): TriageNodeRow[];
|
|
35
35
|
findCallees(nodeId: number): RelatedNodeRow[];
|
|
36
36
|
findCallers(nodeId: number): RelatedNodeRow[];
|
|
37
|
+
findCallersBatch(nodeIds: number[]): Map<number, RelatedNodeRow[]>;
|
|
37
38
|
findDistinctCallers(nodeId: number): RelatedNodeRow[];
|
|
38
39
|
findAllOutgoingEdges(nodeId: number): AdjacentEdgeRow[];
|
|
39
40
|
findAllIncomingEdges(nodeId: number): AdjacentEdgeRow[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-repository.d.ts","sourceRoot":"","sources":["../../../src/db/repository/native-repository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"native-repository.d.ts","sourceRoot":"","sources":["../../../src/db/repository/native-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -213,6 +213,29 @@ export class NativeRepository extends Repository {
|
|
|
213
213
|
findCallers(nodeId) {
|
|
214
214
|
return this.#ndb.findCallers(nodeId).map(toRelatedNodeRow);
|
|
215
215
|
}
|
|
216
|
+
findCallersBatch(nodeIds) {
|
|
217
|
+
if (nodeIds.length === 0)
|
|
218
|
+
return new Map();
|
|
219
|
+
const placeholders = nodeIds.map(() => '?').join(',');
|
|
220
|
+
const rows = this.#ndb.queryAll(`SELECT e.target_id AS queried_id, n.id, n.name, n.kind, n.file, n.line, n.end_line
|
|
221
|
+
FROM edges e JOIN nodes n ON e.source_id = n.id
|
|
222
|
+
WHERE e.target_id IN (${placeholders}) AND e.kind = 'calls'`, nodeIds);
|
|
223
|
+
const result = new Map();
|
|
224
|
+
for (const row of rows) {
|
|
225
|
+
const qid = row.queried_id;
|
|
226
|
+
if (!result.has(qid))
|
|
227
|
+
result.set(qid, []);
|
|
228
|
+
result.get(qid).push({
|
|
229
|
+
id: row.id,
|
|
230
|
+
name: row.name,
|
|
231
|
+
kind: row.kind,
|
|
232
|
+
file: row.file,
|
|
233
|
+
line: row.line,
|
|
234
|
+
end_line: row.end_line ?? null,
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
return result;
|
|
238
|
+
}
|
|
216
239
|
findDistinctCallers(nodeId) {
|
|
217
240
|
return this.#ndb.findDistinctCallers(nodeId).map(toRelatedNodeRow);
|
|
218
241
|
}
|