@optave/codegraph 3.11.1 → 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 CHANGED
@@ -624,17 +624,17 @@ Codegraph also extracts symbols from common callback patterns: Commander `.comma
624
624
 
625
625
  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/)):
626
626
 
627
- *Last updated: v3.11.0 (2026-05-25)*
627
+ *Last updated: v3.11.1 (2026-05-30)*
628
628
 
629
629
  | Metric | Native | WASM |
630
630
  |---|---|---|
631
- | Build speed | **3.2 ms/file** | **15.4 ms/file** |
632
- | Query time | **27ms** | **33ms** |
633
- | No-op rebuild | **19ms** | **18ms** |
634
- | 1-file rebuild | **70ms** | **53ms** |
635
- | Query: fn-deps | **2.1ms** | **1.8ms** |
636
- | Query: path | **2ms** | **1.8ms** |
637
- | ~50,000 files (est.) | **~160.0s build** | **~770.0s build** |
631
+ | Build speed | **3.7 ms/file** | **18.4 ms/file** |
632
+ | Query time | **34ms** | **46ms** |
633
+ | No-op rebuild | **24ms** | **20ms** |
634
+ | 1-file rebuild | **81ms** | **68ms** |
635
+ | Query: fn-deps | **2.5ms** | **2.3ms** |
636
+ | Query: path | **2.5ms** | **2.3ms** |
637
+ | ~50,000 files (est.) | **~185.0s build** | **~920.0s build** |
638
638
  | Resolution precision | **89.9%** | — |
639
639
  | Resolution recall | **42.3%** | — |
640
640
 
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"incremental.d.ts","sourceRoot":"","sources":["../../../../src/domain/graph/builder/incremental.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,qBAAqB,EACrB,UAAU,EAIX,MAAM,mBAAmB,CAAC;AAO3B,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,CAAA;KAAE,CAAC;IACvD,UAAU,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,CAAA;KAAE,CAAC;IACvD,SAAS,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAA;KAAE,CAAC;IACzE,UAAU,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK;YAAE,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAA;KAAE,CAAC;IACzE,UAAU,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK;YAAE,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAA;KAAE,CAAC;IACzE,WAAW,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,CAAA;KAAE,CAAC;IAC1D,cAAc,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,CAAA;KAAE,CAAC;IAC7D,cAAc,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,CAAA;KAAE,CAAC;CAC9D;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAulBD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,qBAAqB,EACzB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,gBAAgB,EACvB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAA;CAAO,GAC3E,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CA6E/B"}
1
+ {"version":3,"file":"incremental.d.ts","sourceRoot":"","sources":["../../../../src/domain/graph/builder/incremental.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,qBAAqB,EACrB,UAAU,EAIX,MAAM,mBAAmB,CAAC;AAa3B,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,CAAA;KAAE,CAAC;IACvD,UAAU,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,CAAA;KAAE,CAAC;IACvD,SAAS,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAA;KAAE,CAAC;IACzE,UAAU,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK;YAAE,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAA;KAAE,CAAC;IACzE,UAAU,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK;YAAE,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAA;KAAE,CAAC;IACzE,WAAW,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,CAAA;KAAE,CAAC;IAC1D,cAAc,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,CAAA;KAAE,CAAC;IAC7D,cAAc,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,CAAA;KAAE,CAAC;CAC9D;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA2nBD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,qBAAqB,EACzB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,gBAAgB,EACvB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAA;CAAO,GAC3E,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CA6E/B"}
@@ -14,6 +14,7 @@ import { debug, warn } from '../../../infrastructure/logger.js';
14
14
  import { normalizePath } from '../../../shared/constants.js';
15
15
  import { parseFileIncremental } from '../../parser.js';
16
16
  import { computeConfidence, resolveImportPath } from '../resolve.js';
17
+ import { findCaller, resolveCallTargets, resolveReceiverEdge, } from './call-resolver.js';
17
18
  import { BUILTIN_RECEIVERS, readFileSafe } from './helpers.js';
18
19
  // ── Node insertion ──────────────────────────────────────────────────────
19
20
  function insertFileNodes(stmts, relPath, symbols) {
@@ -109,8 +110,9 @@ function rebuildReverseDepEdges(db, rootDir, depRelPath, symbols, stmts, skipBar
109
110
  let edgesAdded = buildContainmentEdges(db, stmts, depRelPath, symbols);
110
111
  // Don't rebuild dir->file containment for reverse-deps (it was never deleted)
111
112
  edgesAdded += buildImportEdges(stmts, depRelPath, symbols, rootDir, fileNodeRow.id, aliases, skipBarrel ? null : db);
112
- const importedNames = buildImportedNamesMap(symbols, rootDir, depRelPath, aliases);
113
- edgesAdded += buildCallEdges(stmts, depRelPath, symbols, fileNodeRow, importedNames);
113
+ const importedNames = buildImportedNamesMap(symbols, rootDir, depRelPath, aliases, db);
114
+ edgesAdded += buildCallEdges(db, stmts, depRelPath, symbols, fileNodeRow, importedNames);
115
+ edgesAdded += buildClassHierarchyEdges(stmts, depRelPath, symbols);
114
116
  return edgesAdded;
115
117
  }
116
118
  // ── Directory containment edges ────────────────────────────────────────
@@ -228,7 +230,13 @@ function emitEdgesForImport(stmts, imp, fileNodeId, relPath, rootDir, aliases, d
228
230
  const targetRow = stmts.getNodeId.get(resolvedPath, 'file', resolvedPath, 0);
229
231
  if (!targetRow)
230
232
  return 0;
231
- const edgeKind = imp.reexport ? 'reexports' : imp.typeOnly ? 'imports-type' : 'imports';
233
+ const edgeKind = imp.reexport
234
+ ? 'reexports'
235
+ : imp.typeOnly
236
+ ? 'imports-type'
237
+ : imp.dynamicImport
238
+ ? 'dynamic-imports'
239
+ : 'imports';
232
240
  stmts.insertEdge.run(fileNodeId, targetRow.id, edgeKind, 1.0, 0);
233
241
  let edgesAdded = 1;
234
242
  if (imp.typeOnly) {
@@ -246,65 +254,62 @@ function buildImportEdges(stmts, relPath, symbols, rootDir, fileNodeId, aliases,
246
254
  }
247
255
  return edgesAdded;
248
256
  }
249
- function buildImportedNamesMap(symbols, rootDir, relPath, aliases) {
257
+ function buildImportedNamesMap(symbols, rootDir, relPath, aliases, db) {
250
258
  const importedNames = new Map();
251
259
  for (const imp of symbols.imports) {
252
260
  const resolvedPath = resolveImportPath(path.join(rootDir, relPath), imp.source, rootDir, aliases);
253
261
  for (const name of imp.names) {
254
- importedNames.set(name.replace(/^\*\s+as\s+/, ''), resolvedPath);
262
+ const cleanName = name.replace(/^\*\s+as\s+/, '');
263
+ // Mirror full-build's `buildImportedNamesMap`: follow barrel re-exports so
264
+ // `importedNames` maps to the *defining* file, not the barrel. This ensures
265
+ // `computeConfidence` gets `importedFrom === targetFile` and returns 1.0
266
+ // instead of the cross-directory fallback (0.3).
267
+ let targetFile = resolvedPath;
268
+ if (isBarrelFile(db, resolvedPath)) {
269
+ const actual = resolveBarrelTarget(db, resolvedPath, cleanName);
270
+ if (actual)
271
+ targetFile = actual;
272
+ }
273
+ importedNames.set(cleanName, targetFile);
255
274
  }
256
275
  }
257
276
  return importedNames;
258
277
  }
259
- // ── Call edge building ──────────────────────────────────────────────────
260
- function findCaller(call, definitions, relPath, stmts) {
261
- let caller = null;
262
- let callerSpan = Infinity;
263
- for (const def of definitions) {
264
- if (def.line <= call.line) {
265
- const end = def.endLine || Infinity;
266
- if (call.line <= end) {
267
- const span = end - def.line;
268
- if (span < callerSpan) {
269
- const row = stmts.getNodeId.get(def.name, def.kind, relPath, def.line);
270
- if (row) {
271
- caller = row;
272
- callerSpan = span;
273
- }
274
- }
278
+ const HIERARCHY_SOURCE_KINDS = new Set(['class', 'struct', 'record', 'enum']);
279
+ const EXTENDS_TARGET_KINDS = new Set(['class', 'struct', 'trait', 'record']);
280
+ const IMPLEMENTS_TARGET_KINDS = new Set(['interface', 'trait', 'class']);
281
+ function buildClassHierarchyEdges(stmts, relPath, symbols) {
282
+ let edgesAdded = 0;
283
+ for (const cls of symbols.classes) {
284
+ const sourceRow = stmts.findNodeInFile.all(cls.name, relPath).find((n) => HIERARCHY_SOURCE_KINDS.has(n.kind));
285
+ if (!sourceRow)
286
+ continue;
287
+ if (cls.extends) {
288
+ for (const t of stmts.findNodeByName.all(cls.extends).filter((n) => EXTENDS_TARGET_KINDS.has(n.kind))) {
289
+ stmts.insertEdge.run(sourceRow.id, t.id, 'extends', 1.0, 0);
290
+ edgesAdded++;
275
291
  }
276
292
  }
277
- }
278
- return caller;
279
- }
280
- function resolveCallTargets(stmts, call, relPath, importedNames, typeMap) {
281
- const importedFrom = importedNames.get(call.name);
282
- let targets;
283
- if (importedFrom) {
284
- targets = stmts.findNodeInFile.all(call.name, importedFrom);
285
- }
286
- if (!targets || targets.length === 0) {
287
- targets = stmts.findNodeInFile.all(call.name, relPath);
288
- if (targets.length === 0) {
289
- targets = stmts.findNodeByName.all(call.name);
290
- }
291
- }
292
- // Type-aware resolution: translate variable receiver to declared type
293
- if ((!targets || targets.length === 0) && call.receiver && typeMap) {
294
- const typeEntry = typeMap.get(call.receiver);
295
- const typeName = typeEntry
296
- ? typeof typeEntry === 'string'
297
- ? typeEntry
298
- : typeEntry.type
299
- : null;
300
- if (typeName) {
301
- const qualified = `${typeName}.${call.name}`;
302
- targets = stmts.findNodeByName.all(qualified);
293
+ if (cls.implements) {
294
+ for (const t of stmts.findNodeByName.all(cls.implements).filter((n) => IMPLEMENTS_TARGET_KINDS.has(n.kind))) {
295
+ stmts.insertEdge.run(sourceRow.id, t.id, 'implements', 1.0, 0);
296
+ edgesAdded++;
297
+ }
303
298
  }
304
299
  }
305
- return { targets: targets ?? [], importedFrom };
300
+ return edgesAdded;
306
301
  }
307
- function buildCallEdges(stmts, relPath, symbols, fileNodeRow, importedNames) {
302
+ // ── Call edge building ──────────────────────────────────────────────────
303
+ function makeIncrementalLookup(db, stmts) {
304
+ return {
305
+ byNameAndFile: (name, file) => stmts.findNodeInFile.all(name, file),
306
+ byName: (name) => stmts.findNodeByName.all(name),
307
+ isBarrel: (file) => isBarrelFile(db, file),
308
+ resolveBarrel: (barrelFile, symbolName) => resolveBarrelTarget(db, barrelFile, symbolName),
309
+ nodeId: (name, kind, file, line) => stmts.getNodeId.get(name, kind, file, line),
310
+ };
311
+ }
312
+ function buildCallEdges(db, stmts, relPath, symbols, fileNodeRow, importedNames) {
308
313
  const rawTM = symbols.typeMap;
309
314
  const typeMap = rawTM instanceof Map
310
315
  ? rawTM
@@ -314,19 +319,34 @@ function buildCallEdges(stmts, relPath, symbols, fileNodeRow, importedNames) {
314
319
  e.typeName ?? e.type ?? null,
315
320
  ]))
316
321
  : new Map();
322
+ const seenCallEdges = new Set();
323
+ const lookup = makeIncrementalLookup(db, stmts);
317
324
  let edgesAdded = 0;
318
325
  for (const call of symbols.calls) {
319
326
  if (call.receiver && BUILTIN_RECEIVERS.has(call.receiver))
320
327
  continue;
321
- const caller = findCaller(call, symbols.definitions, relPath, stmts) || fileNodeRow;
322
- const { targets, importedFrom } = resolveCallTargets(stmts, call, relPath, importedNames, typeMap);
328
+ const caller = findCaller(lookup, call, symbols.definitions, relPath, fileNodeRow);
329
+ const { targets, importedFrom } = resolveCallTargets(lookup, call, relPath, importedNames, typeMap);
323
330
  for (const t of targets) {
324
- if (t.id !== caller.id) {
331
+ const edgeKey = `${caller.id}|${t.id}`;
332
+ if (t.id !== caller.id && !seenCallEdges.has(edgeKey)) {
333
+ seenCallEdges.add(edgeKey);
325
334
  const confidence = computeConfidence(relPath, t.file, importedFrom ?? null);
326
335
  stmts.insertEdge.run(caller.id, t.id, 'calls', confidence, call.dynamic ? 1 : 0);
327
336
  edgesAdded++;
328
337
  }
329
338
  }
339
+ if (call.receiver &&
340
+ !BUILTIN_RECEIVERS.has(call.receiver) &&
341
+ call.receiver !== 'this' &&
342
+ call.receiver !== 'self' &&
343
+ call.receiver !== 'super') {
344
+ const recv = resolveReceiverEdge(lookup, { name: call.name, receiver: call.receiver }, caller, relPath, typeMap, seenCallEdges);
345
+ if (recv) {
346
+ stmts.insertEdge.run(recv.callerId, recv.receiverId, 'receiver', recv.confidence, 0);
347
+ edgesAdded++;
348
+ }
349
+ }
330
350
  }
331
351
  return edgesAdded;
332
352
  }
@@ -353,8 +373,9 @@ function rebuildEdgesForTargetFile(db, stmts, relPath, symbols, fileNodeRow, roo
353
373
  let edgesAdded = buildContainmentEdges(db, stmts, relPath, symbols);
354
374
  edgesAdded += rebuildDirContainment(db, stmts, relPath);
355
375
  edgesAdded += buildImportEdges(stmts, relPath, symbols, rootDir, fileNodeRow.id, aliases, db);
356
- const importedNames = buildImportedNamesMap(symbols, rootDir, relPath, aliases);
357
- edgesAdded += buildCallEdges(stmts, relPath, symbols, fileNodeRow, importedNames);
376
+ const importedNames = buildImportedNamesMap(symbols, rootDir, relPath, aliases, db);
377
+ edgesAdded += buildCallEdges(db, stmts, relPath, symbols, fileNodeRow, importedNames);
378
+ edgesAdded += buildClassHierarchyEdges(stmts, relPath, symbols);
358
379
  return edgesAdded;
359
380
  }
360
381
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"incremental.js","sourceRoot":"","sources":["../../../../src/domain/graph/builder/incremental.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"incremental.js","sourceRoot":"","sources":["../../../../src/domain/graph/builder/incremental.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"build-edges.d.ts","sourceRoot":"","sources":["../../../../../src/domain/graph/builder/stages/build-edges.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AA62BrD,wBAAsB,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAqGpE"}
1
+ {"version":3,"file":"build-edges.d.ts","sourceRoot":"","sources":["../../../../../src/domain/graph/builder/stages/build-edges.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AA+vBrD,wBAAsB,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAqGpE"}