@nithin554/code-crawler 0.1.54 → 0.1.56

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.
@@ -1,5 +1,5 @@
1
1
  import type { GraphStore } from "./store.js";
2
- import type { EdgeKind, NodeKind } from "./schema.js";
2
+ import type { EdgeKind, GraphNode, NodeKind } from "./schema.js";
3
3
  /**
4
4
  * Traversal queries over the property graph.
5
5
  *
@@ -32,6 +32,9 @@ export interface FlowEdgeInfo {
32
32
  /** Compact source text of the enclosing conditions. */
33
33
  guards?: string[];
34
34
  }
35
+ export declare function nodeToRef(node: GraphNode): SymbolRef;
36
+ /** Resolve a node by exact id or by qualified name, favoring id. */
37
+ export declare function resolveNode(store: GraphStore, symbol: string): GraphNode | null;
35
38
  /** Options controlling which dynamic edges a traversal follows. */
36
39
  export interface DynamicEdgeOptions {
37
40
  /** Follow DYNAMIC_DISPATCH edges (virtual/interface call targets). */
@@ -41,6 +44,7 @@ export interface DynamicEdgeOptions {
41
44
  }
42
45
  /** Edge kinds a traversal should follow, ordered from most to least certain. */
43
46
  export declare function traversalEdgeKinds(opts?: DynamicEdgeOptions): EdgeKind[];
47
+ export declare function sqlKinds(kinds: EdgeKind[]): string;
44
48
  export interface CallerQueryOptions extends DynamicEdgeOptions {
45
49
  /** Include transitive callers (whole call graph above). Default true. */
46
50
  transitive?: boolean;
@@ -146,11 +150,14 @@ export interface SearchOptions {
146
150
  limit?: number;
147
151
  }
148
152
  /**
149
- * Fuzzy symbol lookup by short name or FQN. Matches a substring of the id or
150
- * qualified name only; metadata properties are never treated as symbol names.
151
- * Ranking happens in SQL before LIMIT so good matches cannot be truncated
152
- * away: exact qualified name, exact id, exact display name, then prefixes,
153
- * then substrings.
153
+ * Fuzzy symbol lookup by short name or FQN. Matches the id or qualified name
154
+ * only; metadata properties are never treated as symbol names.
155
+ *
156
+ * The FTS5 index answers the common case (token prefixes such as `place` or
157
+ * `com.acme.Ord`) in one index lookup, and the older substring scan is kept as
158
+ * a fallback so queries that start mid-token (`lace`) still work. Ranking
159
+ * happens in SQL before LIMIT, so good matches cannot be truncated away: exact
160
+ * qualified name, exact id, exact display name, then prefixes, then the rest.
154
161
  */
155
162
  export declare function searchSymbols(store: GraphStore, query: string, opts?: SearchOptions): SymbolRef[];
156
163
  /** Suggest similar symbols when an exact lookup fails. */
@@ -308,3 +315,13 @@ export interface ExternalDependency {
308
315
  export declare function externalDependencies(store: GraphStore, opts?: {
309
316
  limit?: number;
310
317
  }): ExternalDependency[];
318
+ export interface Row {
319
+ id: string;
320
+ qualified_name: string;
321
+ kind: NodeKind;
322
+ file_path: string | null;
323
+ properties: string;
324
+ depth?: number;
325
+ }
326
+ export declare function rowToRef(r: Row): SymbolRef;
327
+ export declare function edgeLine(props: string | undefined): number | undefined;
@@ -1,5 +1,5 @@
1
1
  import { annotationNodeId } from "./schema.js";
2
- function nodeToRef(node) {
2
+ export function nodeToRef(node) {
3
3
  return {
4
4
  id: node.id,
5
5
  qualifiedName: node.qualifiedName,
@@ -9,7 +9,7 @@ function nodeToRef(node) {
9
9
  };
10
10
  }
11
11
  /** Resolve a node by exact id or by qualified name, favoring id. */
12
- function resolveNode(store, symbol) {
12
+ export function resolveNode(store, symbol) {
13
13
  return store.getNode(symbol) ?? store.getNodeByQualifiedName(symbol);
14
14
  }
15
15
  /** Edge kinds a traversal should follow, ordered from most to least certain. */
@@ -21,7 +21,7 @@ export function traversalEdgeKinds(opts = {}) {
21
21
  kinds.push("ADVISES");
22
22
  return kinds;
23
23
  }
24
- function sqlKinds(kinds) {
24
+ export function sqlKinds(kinds) {
25
25
  return kinds.map((k) => `'${k}'`).join(",");
26
26
  }
27
27
  /**
@@ -55,24 +55,25 @@ export function getCallers(store, symbol, opts = {}) {
55
55
  })),
56
56
  };
57
57
  }
58
- const rows = store.raw(`WITH RECURSIVE callers(id, depth, path, edge_kind, edge_props) AS (
59
- SELECT e.source, 1, e.source || '/' || e.target, e.kind, e.properties
58
+ const rows = store.raw(`WITH RECURSIVE callers(id, depth, edge_kind, edge_props) AS (
59
+ SELECT e.source, 1, e.kind, e.properties
60
60
  FROM edges e
61
61
  WHERE e.target = ? AND e.kind IN (${sqlKinds(kinds)})
62
- UNION ALL
63
- SELECT e.source, c.depth + 1, c.path || '/' || e.source, e.kind, e.properties
62
+ UNION
63
+ SELECT e.source, c.depth + 1, e.kind, e.properties
64
64
  FROM edges e
65
65
  JOIN callers c ON e.target = c.id
66
66
  WHERE e.kind IN (${sqlKinds(kinds)})
67
67
  AND c.depth < ?
68
- AND instr('|' || c.path || '|', '|' || e.source || '|') = 0
69
68
  )
70
69
  SELECT n.id, n.qualified_name, n.kind, n.file_path, n.properties,
71
- c.depth, c.edge_kind, c.edge_props
70
+ MIN(c.depth) AS depth, c.edge_kind, c.edge_props
72
71
  FROM callers c
73
72
  JOIN nodes n ON n.id = c.id
74
- ORDER BY c.depth, n.id
75
- LIMIT ?`, target.id, maxDepth, limit);
73
+ WHERE c.id <> ?
74
+ GROUP BY c.id
75
+ ORDER BY depth, n.id
76
+ LIMIT ?`, target.id, maxDepth, target.id, limit);
76
77
  return {
77
78
  target: nodeToRef(target),
78
79
  callers: rows.map((r) => ({
@@ -114,24 +115,25 @@ export function getCallees(store, symbol, opts = {}) {
114
115
  })),
115
116
  };
116
117
  }
117
- const rows = store.raw(`WITH RECURSIVE callees(id, depth, path, edge_kind, edge_props) AS (
118
- SELECT e.target, 1, e.source || '/' || e.target, e.kind, e.properties
118
+ const rows = store.raw(`WITH RECURSIVE callees(id, depth, edge_kind, edge_props) AS (
119
+ SELECT e.target, 1, e.kind, e.properties
119
120
  FROM edges e
120
121
  WHERE e.source = ? AND e.kind IN (${sqlKinds(kinds)})
121
- UNION ALL
122
- SELECT e.target, c.depth + 1, c.path || '/' || e.target, e.kind, e.properties
122
+ UNION
123
+ SELECT e.target, c.depth + 1, e.kind, e.properties
123
124
  FROM edges e
124
125
  JOIN callees c ON e.source = c.id
125
126
  WHERE e.kind IN (${sqlKinds(kinds)})
126
127
  AND c.depth < ?
127
- AND instr('|' || c.path || '|', '|' || e.target || '|') = 0
128
128
  )
129
129
  SELECT n.id, n.qualified_name, n.kind, n.file_path, n.properties,
130
- c.depth, c.edge_kind, c.edge_props
130
+ MIN(c.depth) AS depth, c.edge_kind, c.edge_props
131
131
  FROM callees c
132
132
  JOIN nodes n ON n.id = c.id
133
- ORDER BY c.depth, n.id
134
- LIMIT ?`, source.id, maxDepth, limit);
133
+ WHERE c.id <> ?
134
+ GROUP BY c.id
135
+ ORDER BY depth, n.id
136
+ LIMIT ?`, source.id, maxDepth, source.id, limit);
135
137
  return {
136
138
  source: nodeToRef(source),
137
139
  callees: rows.map((r) => ({
@@ -329,23 +331,62 @@ export function getSubgraph(store, symbol, opts = {}) {
329
331
  };
330
332
  }
331
333
  /**
332
- * Fuzzy symbol lookup by short name or FQN. Matches a substring of the id or
333
- * qualified name only; metadata properties are never treated as symbol names.
334
- * Ranking happens in SQL before LIMIT so good matches cannot be truncated
335
- * away: exact qualified name, exact id, exact display name, then prefixes,
336
- * then substrings.
334
+ * Fuzzy symbol lookup by short name or FQN. Matches the id or qualified name
335
+ * only; metadata properties are never treated as symbol names.
336
+ *
337
+ * The FTS5 index answers the common case (token prefixes such as `place` or
338
+ * `com.acme.Ord`) in one index lookup, and the older substring scan is kept as
339
+ * a fallback so queries that start mid-token (`lace`) still work. Ranking
340
+ * happens in SQL before LIMIT, so good matches cannot be truncated away: exact
341
+ * qualified name, exact id, exact display name, then prefixes, then the rest.
337
342
  */
338
343
  export function searchSymbols(store, query, opts = {}) {
339
344
  const q = query.trim().toLowerCase();
340
345
  if (!q)
341
346
  return [];
342
347
  const limit = opts.limit ?? store.defaultLimit ?? 50;
348
+ const match = ftsPrefixQuery(q);
349
+ if (match) {
350
+ const rows = store.raw(`SELECT n.id, n.qualified_name, n.kind, n.file_path, n.properties
351
+ FROM nodes_fts JOIN nodes n ON n.rowid = nodes_fts.rowid
352
+ WHERE nodes_fts MATCH ?
353
+ ${opts.kind ? "AND n.kind = ?" : ""}
354
+ ORDER BY
355
+ CASE
356
+ WHEN LOWER(n.qualified_name) = ? THEN 0
357
+ WHEN LOWER(n.id) = ? THEN 1
358
+ WHEN LOWER(n.name) = ? THEN 2
359
+ WHEN LOWER(n.qualified_name) LIKE ? THEN 3
360
+ WHEN LOWER(n.id) LIKE ? THEN 4
361
+ ELSE 5
362
+ END,
363
+ bm25(nodes_fts),
364
+ LENGTH(n.qualified_name),
365
+ n.qualified_name,
366
+ n.id
367
+ LIMIT ?`, ...(opts.kind
368
+ ? [match, opts.kind, q, q, q, `${q}%`, `${q}%`, limit]
369
+ : [match, q, q, q, `${q}%`, `${q}%`, limit]));
370
+ if (rows.length > 0)
371
+ return rows.map((r) => rowToRef(r));
372
+ }
373
+ return searchBySubstring(store, q, opts.kind, limit);
374
+ }
375
+ /** Turn a free-text query into an FTS5 prefix expression, e.g. `"com"* AND "ord"*`. */
376
+ function ftsPrefixQuery(q) {
377
+ const tokens = q.split(/[^a-z0-9_]+/).filter(Boolean).slice(0, 8);
378
+ if (tokens.length === 0)
379
+ return null;
380
+ return tokens.map((t) => `"${t}"*`).join(" AND ");
381
+ }
382
+ /** Substring scan used when no FTS token matches. */
383
+ function searchBySubstring(store, q, kind, limit) {
343
384
  const like = `%${q}%`;
344
385
  const prefix = `${q}%`;
345
- const kindClause = opts.kind ? "AND n.kind = ?" : "";
386
+ const kindClause = kind ? "AND n.kind = ?" : "";
346
387
  const params = [like, like];
347
- if (opts.kind)
348
- params.push(opts.kind);
388
+ if (kind)
389
+ params.push(kind);
349
390
  params.push(q, q, q, prefix, prefix, limit);
350
391
  const rows = store.raw(`SELECT n.id, n.qualified_name, n.kind, n.file_path, n.properties
351
392
  FROM nodes n
@@ -386,25 +427,26 @@ export function findImplementations(store, symbol, opts = {}) {
386
427
  return null;
387
428
  const maxDepth = Math.max(1, opts.maxDepth ?? store.maxDepth ?? 10);
388
429
  const limit = opts.limit ?? 100;
389
- const rows = store.raw(`WITH RECURSIVE impl(id, depth, path, via) AS (
390
- SELECT e.source, 1, e.source || '/' || e.target, e.kind
430
+ const rows = store.raw(`WITH RECURSIVE impl(id, depth, via) AS (
431
+ SELECT e.source, 1, e.kind
391
432
  FROM edges e
392
433
  WHERE e.target = ? AND e.kind IN ('EXTENDS', 'IMPLEMENTS')
393
- UNION ALL
394
- SELECT e.source, i.depth + 1, i.path || '/' || e.source, e.kind
434
+ UNION
435
+ SELECT e.source, i.depth + 1, e.kind
395
436
  FROM edges e
396
437
  JOIN impl i ON e.target = i.id
397
438
  WHERE e.kind IN ('EXTENDS', 'IMPLEMENTS')
398
439
  AND i.depth < ?
399
- AND instr('|' || i.path || '|', '|' || e.source || '|') = 0
400
440
  )
401
441
  SELECT n.id, n.qualified_name, n.kind, n.file_path, n.properties,
402
- i.depth, i.via
442
+ MIN(i.depth) AS depth, i.via
403
443
  FROM impl i
404
444
  JOIN nodes n ON n.id = i.id
405
445
  WHERE n.kind IN ('class', 'interface', 'enum', 'aspect', 'annotation_type')
406
- ORDER BY i.depth, n.qualified_name
407
- LIMIT ?`, target.id, maxDepth, limit);
446
+ AND i.id <> ?
447
+ GROUP BY i.id
448
+ ORDER BY depth, n.qualified_name
449
+ LIMIT ?`, target.id, maxDepth, target.id, limit);
408
450
  return {
409
451
  target: nodeToRef(target),
410
452
  implementations: rows.map((r) => ({
@@ -545,21 +587,36 @@ export function hotspots(store, opts = {}) {
545
587
  const limit = opts.limit ?? store.defaultLimit ?? 50;
546
588
  const minFanIn = opts.minFanIn ?? 0;
547
589
  const kinds = sqlKinds(traversalEdgeKinds({ includeDynamic: opts.includeDynamic ?? true }));
548
- const rows = store.raw(`SELECT n.id, n.qualified_name, n.kind, n.file_path, n.properties,
549
- (SELECT COUNT(DISTINCT e.source) FROM edges e
550
- WHERE e.target = n.id AND e.kind IN (${kinds})) AS fan_in,
551
- (SELECT COUNT(DISTINCT e.target) FROM edges e
552
- WHERE e.source = n.id AND e.kind IN (${kinds})) AS fan_out,
553
- (SELECT COUNT(*) FROM edges e
554
- WHERE e.target = n.id AND e.kind = 'ADVISES') AS advice_count
590
+ // Pre-aggregate both directions in one scan each, then join the summaries to
591
+ // the callable nodes. The previous form ran three correlated subqueries per
592
+ // candidate row and had to over-fetch `limit * 4` rows because `minFanIn`
593
+ // was applied in JS.
594
+ const rows = store.raw(`WITH inbound AS (
595
+ SELECT e.target AS id,
596
+ COUNT(DISTINCT CASE WHEN e.kind IN (${kinds}) THEN e.source END) AS fan_in,
597
+ COUNT(CASE WHEN e.kind = 'ADVISES' THEN 1 END) AS advice_count
598
+ FROM edges e
599
+ WHERE e.kind IN (${kinds}, 'ADVISES')
600
+ GROUP BY e.target
601
+ ),
602
+ outbound AS (
603
+ SELECT e.source AS id, COUNT(DISTINCT e.target) AS fan_out
604
+ FROM edges e
605
+ WHERE e.kind IN (${kinds})
606
+ GROUP BY e.source
607
+ )
608
+ SELECT n.id, n.qualified_name, n.kind, n.file_path, n.properties,
609
+ COALESCE(i.fan_in, 0) AS fan_in,
610
+ COALESCE(o.fan_out, 0) AS fan_out,
611
+ COALESCE(i.advice_count, 0) AS advice_count
555
612
  FROM nodes n
613
+ LEFT JOIN inbound i ON i.id = n.id
614
+ LEFT JOIN outbound o ON o.id = n.id
556
615
  WHERE n.kind IN ('method', 'constructor')
616
+ AND COALESCE(i.fan_in, 0) >= ?
557
617
  ORDER BY fan_in DESC, fan_out DESC, n.qualified_name
558
- LIMIT ?`, limit * 4);
559
- return rows
560
- .filter((r) => r.fan_in >= minFanIn)
561
- .slice(0, limit)
562
- .map((r) => ({
618
+ LIMIT ?`, minFanIn, limit);
619
+ return rows.map((r) => ({
563
620
  symbol: rowToRef(r),
564
621
  fanIn: r.fan_in,
565
622
  fanOut: r.fan_out,
@@ -699,7 +756,7 @@ export function externalDependencies(store, opts = {}) {
699
756
  kinds: (r.kinds ?? "").split(",").filter((k) => k.length > 0),
700
757
  }));
701
758
  }
702
- function rowToRef(r) {
759
+ export function rowToRef(r) {
703
760
  return {
704
761
  id: r.id,
705
762
  qualifiedName: r.qualified_name,
@@ -708,7 +765,7 @@ function rowToRef(r) {
708
765
  name: JSON.parse(r.properties).name,
709
766
  };
710
767
  }
711
- function edgeLine(props) {
768
+ export function edgeLine(props) {
712
769
  if (!props)
713
770
  return undefined;
714
771
  const line = JSON.parse(props).line;
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/graph/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/graph/queries.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,16 @@ export interface StoreStats {
6
6
  files: number;
7
7
  lastCrawl: string | null;
8
8
  }
9
+ /** One row of the crawl manifest, used to skip unchanged files. */
10
+ export interface FileRecord {
11
+ path: string;
12
+ size: number;
13
+ mtimeMs: number;
14
+ sha256: string;
15
+ language: string;
16
+ /** Serialised `ParsedFile` (see `parser/cache.ts`), when one was stored. */
17
+ summary: string | null;
18
+ }
9
19
  export declare class GraphStore {
10
20
  readonly db: Database.Database;
11
21
  /** Default cap on transitive traversal depth (config override). */
@@ -55,6 +65,15 @@ export declare class GraphStore {
55
65
  * (cascade). Nodes referenced by the file but declared elsewhere survive.
56
66
  */
57
67
  removeFile(filePath: string): void;
68
+ /** Crawl manifest of every indexed file, keyed by absolute path. */
69
+ listFileRecords(): Map<string, FileRecord>;
70
+ putFileRecord(record: FileRecord): void;
71
+ /**
72
+ * Flag a symbol as a framework-invoked entry point without rewriting the
73
+ * rest of its properties. Used for symbols in files that were not re-parsed,
74
+ * whose persisted row still needs the cross-file route annotation.
75
+ */
76
+ markEntryPoint(id: string, kind: string, detail: string): boolean;
58
77
  /**
59
78
  * Delete file-less shared nodes (package, annotation, external symbol) that
60
79
  * no longer participate in any edge. Returns the number of nodes removed.