@optave/codegraph 3.9.5 → 3.10.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.
Files changed (108) hide show
  1. package/README.md +30 -16
  2. package/dist/ast-analysis/engine.d.ts.map +1 -1
  3. package/dist/ast-analysis/engine.js +4 -3
  4. package/dist/ast-analysis/engine.js.map +1 -1
  5. package/dist/ast-analysis/rules/csharp.d.ts.map +1 -1
  6. package/dist/ast-analysis/rules/csharp.js +8 -1
  7. package/dist/ast-analysis/rules/csharp.js.map +1 -1
  8. package/dist/ast-analysis/rules/go.d.ts.map +1 -1
  9. package/dist/ast-analysis/rules/go.js +4 -1
  10. package/dist/ast-analysis/rules/go.js.map +1 -1
  11. package/dist/ast-analysis/rules/index.d.ts +6 -0
  12. package/dist/ast-analysis/rules/index.d.ts.map +1 -1
  13. package/dist/ast-analysis/rules/index.js +151 -4
  14. package/dist/ast-analysis/rules/index.js.map +1 -1
  15. package/dist/ast-analysis/rules/java.d.ts.map +1 -1
  16. package/dist/ast-analysis/rules/java.js +5 -1
  17. package/dist/ast-analysis/rules/java.js.map +1 -1
  18. package/dist/ast-analysis/rules/php.d.ts.map +1 -1
  19. package/dist/ast-analysis/rules/php.js +6 -1
  20. package/dist/ast-analysis/rules/php.js.map +1 -1
  21. package/dist/ast-analysis/rules/python.d.ts.map +1 -1
  22. package/dist/ast-analysis/rules/python.js +5 -1
  23. package/dist/ast-analysis/rules/python.js.map +1 -1
  24. package/dist/ast-analysis/rules/ruby.d.ts.map +1 -1
  25. package/dist/ast-analysis/rules/ruby.js +4 -1
  26. package/dist/ast-analysis/rules/ruby.js.map +1 -1
  27. package/dist/ast-analysis/rules/rust.d.ts.map +1 -1
  28. package/dist/ast-analysis/rules/rust.js +5 -1
  29. package/dist/ast-analysis/rules/rust.js.map +1 -1
  30. package/dist/ast-analysis/visitors/ast-store-visitor.d.ts +2 -1
  31. package/dist/ast-analysis/visitors/ast-store-visitor.d.ts.map +1 -1
  32. package/dist/ast-analysis/visitors/ast-store-visitor.js +171 -37
  33. package/dist/ast-analysis/visitors/ast-store-visitor.js.map +1 -1
  34. package/dist/domain/graph/builder/context.d.ts +10 -0
  35. package/dist/domain/graph/builder/context.d.ts.map +1 -1
  36. package/dist/domain/graph/builder/context.js +10 -0
  37. package/dist/domain/graph/builder/context.js.map +1 -1
  38. package/dist/domain/graph/builder/helpers.d.ts +7 -2
  39. package/dist/domain/graph/builder/helpers.d.ts.map +1 -1
  40. package/dist/domain/graph/builder/helpers.js +7 -2
  41. package/dist/domain/graph/builder/helpers.js.map +1 -1
  42. package/dist/domain/graph/builder/pipeline.d.ts.map +1 -1
  43. package/dist/domain/graph/builder/pipeline.js +210 -34
  44. package/dist/domain/graph/builder/pipeline.js.map +1 -1
  45. package/dist/domain/graph/builder/stages/collect-files.d.ts.map +1 -1
  46. package/dist/domain/graph/builder/stages/collect-files.js +8 -0
  47. package/dist/domain/graph/builder/stages/collect-files.js.map +1 -1
  48. package/dist/domain/graph/builder/stages/detect-changes.d.ts +24 -0
  49. package/dist/domain/graph/builder/stages/detect-changes.d.ts.map +1 -1
  50. package/dist/domain/graph/builder/stages/detect-changes.js +117 -3
  51. package/dist/domain/graph/builder/stages/detect-changes.js.map +1 -1
  52. package/dist/domain/graph/builder/stages/finalize.d.ts.map +1 -1
  53. package/dist/domain/graph/builder/stages/finalize.js +9 -6
  54. package/dist/domain/graph/builder/stages/finalize.js.map +1 -1
  55. package/dist/domain/graph/builder/stages/insert-nodes.d.ts +30 -0
  56. package/dist/domain/graph/builder/stages/insert-nodes.d.ts.map +1 -1
  57. package/dist/domain/graph/builder/stages/insert-nodes.js +36 -13
  58. package/dist/domain/graph/builder/stages/insert-nodes.js.map +1 -1
  59. package/dist/domain/parser.d.ts +54 -1
  60. package/dist/domain/parser.d.ts.map +1 -1
  61. package/dist/domain/parser.js +181 -10
  62. package/dist/domain/parser.js.map +1 -1
  63. package/dist/domain/search/models.js +2 -2
  64. package/dist/domain/wasm-worker-entry.js +15 -14
  65. package/dist/domain/wasm-worker-entry.js.map +1 -1
  66. package/dist/features/ast.d.ts.map +1 -1
  67. package/dist/features/ast.js +11 -9
  68. package/dist/features/ast.js.map +1 -1
  69. package/dist/infrastructure/config.d.ts +1 -0
  70. package/dist/infrastructure/config.d.ts.map +1 -1
  71. package/dist/infrastructure/config.js +1 -0
  72. package/dist/infrastructure/config.js.map +1 -1
  73. package/dist/mcp/server.d.ts.map +1 -1
  74. package/dist/mcp/server.js +14 -8
  75. package/dist/mcp/server.js.map +1 -1
  76. package/dist/mcp/tool-registry.d.ts +1 -1
  77. package/dist/mcp/tool-registry.d.ts.map +1 -1
  78. package/dist/mcp/tool-registry.js +19 -5
  79. package/dist/mcp/tool-registry.js.map +1 -1
  80. package/dist/types.d.ts +1 -0
  81. package/dist/types.d.ts.map +1 -1
  82. package/grammars/tree-sitter-erlang.wasm +0 -0
  83. package/package.json +8 -7
  84. package/src/ast-analysis/engine.ts +14 -2
  85. package/src/ast-analysis/rules/csharp.ts +8 -1
  86. package/src/ast-analysis/rules/go.ts +4 -1
  87. package/src/ast-analysis/rules/index.ts +181 -4
  88. package/src/ast-analysis/rules/java.ts +5 -1
  89. package/src/ast-analysis/rules/php.ts +6 -1
  90. package/src/ast-analysis/rules/python.ts +5 -1
  91. package/src/ast-analysis/rules/ruby.ts +4 -1
  92. package/src/ast-analysis/rules/rust.ts +5 -1
  93. package/src/ast-analysis/visitors/ast-store-visitor.ts +165 -34
  94. package/src/domain/graph/builder/context.ts +10 -0
  95. package/src/domain/graph/builder/helpers.ts +8 -3
  96. package/src/domain/graph/builder/pipeline.ts +234 -36
  97. package/src/domain/graph/builder/stages/collect-files.ts +9 -0
  98. package/src/domain/graph/builder/stages/detect-changes.ts +130 -4
  99. package/src/domain/graph/builder/stages/finalize.ts +9 -6
  100. package/src/domain/graph/builder/stages/insert-nodes.ts +38 -14
  101. package/src/domain/parser.ts +205 -9
  102. package/src/domain/search/models.ts +2 -2
  103. package/src/domain/wasm-worker-entry.ts +23 -13
  104. package/src/features/ast.ts +22 -9
  105. package/src/infrastructure/config.ts +1 -0
  106. package/src/mcp/server.ts +16 -9
  107. package/src/mcp/tool-registry.ts +23 -5
  108. package/src/types.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/domain/parser.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,MAAM,EAAS,MAAM,iBAAiB,CAAC;AAI1D,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EAEf,qBAAqB,EAEtB,MAAM,aAAa,CAAC;AAqBrB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAgEhC,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEzD,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AA8GD;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAWzE;AAmBD,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAepD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK9F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAuBf;AAuCD;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAIzC;AAWD,wBAAgB,0BAA0B,IAAI,GAAG,CAAC,MAAM,CAAC,CAUxD;AAkGD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,qBAAqB,EAsPpD,CAAC;AASF,eAAO,MAAM,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAA8B,CAAC;AA2E5E;;GAEG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAuBjC;AAkED;;GAEG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAkDvC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,GAAE,eAAoB,GAAG;IAC3D,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAiBA;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,GAAG,CAI1C;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAgBjC"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/domain/parser.ts"],"names":[],"mappings":"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"}
@@ -202,8 +202,13 @@ export function getParser(parsers, filePath) {
202
202
  *
203
203
  * Name is preserved for caller compatibility; the function now ensures
204
204
  * *analysis data* rather than *trees*.
205
+ *
206
+ * `needsFn` (optional): when provided, only files for which it returns true are
207
+ * re-parsed. Without it the function falls back to "any WASM-parseable file
208
+ * without _tree", which was the source of #1036 — a single file missing one
209
+ * analysis triggered a full-build re-parse of every WASM-parseable file.
205
210
  */
206
- export async function ensureWasmTrees(fileSymbols, rootDir) {
211
+ export async function ensureWasmTrees(fileSymbols, rootDir, needsFn) {
207
212
  // Collect files that still need analysis data and are parseable by WASM.
208
213
  const pending = [];
209
214
  for (const [relPath, symbols] of fileSymbols) {
@@ -211,6 +216,8 @@ export async function ensureWasmTrees(fileSymbols, rootDir) {
211
216
  continue; // legacy path — leave existing trees alone
212
217
  if (!_extToLang.has(path.extname(relPath).toLowerCase()))
213
218
  continue;
219
+ if (needsFn && !needsFn(relPath, symbols))
220
+ continue;
214
221
  pending.push({ relPath, absPath: path.join(rootDir, relPath), symbols });
215
222
  }
216
223
  if (pending.length === 0)
@@ -303,6 +310,110 @@ export function getInstalledWasmExtensions() {
303
310
  _installedWasmExts = exts;
304
311
  return exts;
305
312
  }
313
+ /**
314
+ * Lowercase file extensions covered by the native Rust addon.
315
+ *
316
+ * Mirrors `LanguageKind::from_extension` in
317
+ * `crates/codegraph-core/src/parser_registry.rs`. Used to classify why the
318
+ * native orchestrator dropped a file: extensions outside this set are a
319
+ * legitimate parser limit (no Rust extractor exists), while extensions inside
320
+ * it indicate a real native bug (parse/read/extract failure).
321
+ *
322
+ * Keep this list in sync with the Rust enum — the native addon is a separate
323
+ * npm package, so JS has no runtime way to discover its language coverage.
324
+ */
325
+ export const NATIVE_SUPPORTED_EXTENSIONS = new Set([
326
+ '.js',
327
+ '.jsx',
328
+ '.mjs',
329
+ '.cjs',
330
+ '.ts',
331
+ '.tsx',
332
+ '.py',
333
+ '.pyi',
334
+ '.tf',
335
+ '.hcl',
336
+ '.go',
337
+ '.rs',
338
+ '.java',
339
+ '.cs',
340
+ '.rb',
341
+ '.rake',
342
+ '.gemspec',
343
+ '.php',
344
+ '.phtml',
345
+ '.c',
346
+ '.h',
347
+ '.cpp',
348
+ '.cc',
349
+ '.cxx',
350
+ '.hpp',
351
+ '.kt',
352
+ '.kts',
353
+ '.swift',
354
+ '.scala',
355
+ '.sh',
356
+ '.bash',
357
+ '.ex',
358
+ '.exs',
359
+ '.lua',
360
+ '.dart',
361
+ '.zig',
362
+ '.hs',
363
+ '.ml',
364
+ '.mli',
365
+ ]);
366
+ /**
367
+ * Group the missing files (relative paths) by drop reason and extension so the
368
+ * caller can log per-extension counts and a sample path. Pure function — no
369
+ * I/O, safe to unit-test independently of the build pipeline.
370
+ */
371
+ export function classifyNativeDrops(relPaths) {
372
+ const byReason = {
373
+ 'unsupported-by-native': new Map(),
374
+ 'native-extractor-failure': new Map(),
375
+ };
376
+ const totals = {
377
+ 'unsupported-by-native': 0,
378
+ 'native-extractor-failure': 0,
379
+ };
380
+ for (const rel of relPaths) {
381
+ const ext = path.extname(rel).toLowerCase();
382
+ const reason = NATIVE_SUPPORTED_EXTENSIONS.has(ext)
383
+ ? 'native-extractor-failure'
384
+ : 'unsupported-by-native';
385
+ const bucket = byReason[reason];
386
+ let list = bucket.get(ext);
387
+ if (!list) {
388
+ list = [];
389
+ bucket.set(ext, list);
390
+ }
391
+ list.push(rel);
392
+ totals[reason]++;
393
+ }
394
+ return { byReason, totals };
395
+ }
396
+ /**
397
+ * Render `{ ext → paths[] }` as `ext (n: sample.ext, ...)` slices for log lines.
398
+ * Caps at 3 sample paths per extension and 6 extensions total to keep warnings
399
+ * readable when many languages are dropped at once. Extensions are sorted by
400
+ * descending file count so the loudest offender shows up first; ties keep
401
+ * insertion order. Pure function — safe to unit-test independently.
402
+ */
403
+ export function formatDropExtensionSummary(buckets) {
404
+ const MAX_EXTS = 6;
405
+ const MAX_SAMPLES = 3;
406
+ const entries = Array.from(buckets.entries()).sort((a, b) => b[1].length - a[1].length);
407
+ const shown = entries.slice(0, MAX_EXTS).map(([ext, paths]) => {
408
+ const sample = paths.slice(0, MAX_SAMPLES).join(', ');
409
+ const more = paths.length > MAX_SAMPLES ? `, +${paths.length - MAX_SAMPLES} more` : '';
410
+ return `${ext} (${paths.length}: ${sample}${more})`;
411
+ });
412
+ if (entries.length > MAX_EXTS) {
413
+ shown.push(`+${entries.length - MAX_EXTS} more extension(s)`);
414
+ }
415
+ return shown.join('; ');
416
+ }
306
417
  // ── Unified API ──────────────────────────────────────────────────────────────
307
418
  function resolveEngine(opts = {}) {
308
419
  const pref = opts.engine || 'auto';
@@ -823,6 +934,66 @@ async function parseFilesWasm(filePaths, rootDir) {
823
934
  }
824
935
  return result;
825
936
  }
937
+ /**
938
+ * Files at or below this count use the inline parse path (no worker spawn).
939
+ *
940
+ * Sized for typical engine-parity drops: a handful of fixture files in one
941
+ * or two languages (the recurring HCL case is 4 files). Above this, the
942
+ * worker-pool's IPC + crash-isolation cost (#965) is amortized over enough
943
+ * parse work to be worth paying; below it, the ~1–2s cold-start dominates.
944
+ */
945
+ const INLINE_BACKFILL_THRESHOLD = 16;
946
+ /**
947
+ * Inline WASM parse (no worker) for small file batches.
948
+ *
949
+ * Used by the engine-parity backfill path when the native engine drops a
950
+ * handful of files (typically test fixtures). The worker pool's per-call
951
+ * IPC + grammar-init overhead can cost 1–2s on slow CI runners — for a
952
+ * 4-file backfill, that dwarfs the ~10ms of actual parse work.
953
+ *
954
+ * Returns symbols with `_tree` set so `runAnalyses` can run AST/CFG/dataflow
955
+ * visitors via the unified walker (mirrors how WASM-engine results behaved
956
+ * before the worker pool was introduced).
957
+ */
958
+ async function parseFilesWasmInline(filePaths, rootDir) {
959
+ const result = new Map();
960
+ if (filePaths.length === 0)
961
+ return result;
962
+ const parsers = await ensureParsersForFiles(filePaths);
963
+ for (const filePath of filePaths) {
964
+ if (!_extToLang.has(path.extname(filePath).toLowerCase()))
965
+ continue;
966
+ let code;
967
+ try {
968
+ code = fs.readFileSync(filePath, 'utf-8');
969
+ }
970
+ catch (err) {
971
+ warn(`Skipping ${path.relative(rootDir, filePath)}: ${err.message}`);
972
+ continue;
973
+ }
974
+ const extracted = wasmExtractSymbols(parsers, filePath, code);
975
+ if (!extracted)
976
+ continue;
977
+ const relPath = path.relative(rootDir, filePath).split(path.sep).join('/');
978
+ const symbols = extracted.symbols;
979
+ symbols._tree = extracted.tree;
980
+ symbols._langId = extracted.langId;
981
+ result.set(relPath, symbols);
982
+ }
983
+ return result;
984
+ }
985
+ /**
986
+ * Backfill helper: small batches use the inline (main-thread) path; larger
987
+ * batches keep the worker-pool isolation against tree-sitter WASM crashes
988
+ * (#965). Threshold matches typical engine-parity drop sizes (a few fixture
989
+ * files in one or two languages).
990
+ */
991
+ export async function parseFilesWasmForBackfill(filePaths, rootDir) {
992
+ if (filePaths.length <= INLINE_BACKFILL_THRESHOLD) {
993
+ return parseFilesWasmInline(filePaths, rootDir);
994
+ }
995
+ return parseFilesWasm(filePaths, rootDir);
996
+ }
826
997
  /**
827
998
  * Parse multiple files in bulk and return a Map<relPath, symbols>.
828
999
  */
@@ -866,7 +1037,7 @@ export async function parseFilesAuto(filePaths, rootDir, opts = {}) {
866
1037
  const dropped = filePaths.filter((f) => !nativeParsed.has(f) && installedExts.has(path.extname(f).toLowerCase()));
867
1038
  if (dropped.length > 0) {
868
1039
  warn(`Native engine dropped ${dropped.length} file(s); falling back to WASM for parity`);
869
- const wasmResults = await parseFilesWasm(dropped, rootDir);
1040
+ const wasmResults = await parseFilesWasmForBackfill(dropped, rootDir);
870
1041
  for (const [relPath, symbols] of wasmResults) {
871
1042
  result.set(relPath, symbols);
872
1043
  }
@@ -878,13 +1049,13 @@ export async function parseFilesAuto(filePaths, rootDir, opts = {}) {
878
1049
  */
879
1050
  export function getActiveEngine(opts = {}) {
880
1051
  const { name, native } = resolveEngine(opts);
881
- let version = native
882
- ? typeof native.engineVersion === 'function'
883
- ? native.engineVersion()
884
- : null
885
- : null;
886
- // Prefer platform package.json version over binary-embedded version
887
- // to handle stale binaries that weren't recompiled during a release
1052
+ const binaryVersion = native && typeof native.engineVersion === 'function' ? native.engineVersion() : null;
1053
+ // The display version prefers the platform package.json so the "Using native
1054
+ // engine (vX)" log matches the npm release the user installed. The Rust
1055
+ // orchestrator's check_version_mismatch compares against CARGO_PKG_VERSION
1056
+ // (the binary's own value), so build_meta writes must use `binaryVersion`,
1057
+ // not this display value — see pipeline.ts and finalize.ts (#1066).
1058
+ let version = binaryVersion;
888
1059
  if (native) {
889
1060
  try {
890
1061
  version = getNativePackageVersion() ?? version;
@@ -893,7 +1064,7 @@ export function getActiveEngine(opts = {}) {
893
1064
  debug(`getNativePackageVersion failed: ${e.message}`);
894
1065
  }
895
1066
  }
896
- return { name, version };
1067
+ return { name, version, binaryVersion };
897
1068
  }
898
1069
  /**
899
1070
  * Create a native ParseTreeCache for incremental parsing.
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/domain/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/domain/parser.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ export const MODELS = {
29
29
  quantized: false,
30
30
  },
31
31
  'jina-code': {
32
- name: 'Xenova/jina-embeddings-v2-base-code',
32
+ name: 'jinaai/jina-embeddings-v2-base-code',
33
33
  dim: 768,
34
34
  contextWindow: 8192,
35
35
  desc: 'Code-aware (~137MB). Trained on code+text, best for code search.',
@@ -209,7 +209,7 @@ export async function embed(texts, modelKey) {
209
209
  results.push(vec);
210
210
  }
211
211
  if (texts.length > batchSize) {
212
- process.stdout.write(` Embedded ${Math.min(i + batchSize, texts.length)}/${texts.length}\r`);
212
+ process.stderr.write(` Embedded ${Math.min(i + batchSize, texts.length)}/${texts.length}\r`);
213
213
  }
214
214
  }
215
215
  return { vectors: results, dim };
@@ -25,7 +25,7 @@ import { fileURLToPath } from 'node:url';
25
25
  import { parentPort } from 'node:worker_threads';
26
26
  import { Language, Parser, Query } from 'web-tree-sitter';
27
27
  import { computeLOCMetrics, computeMaintainabilityIndex } from '../ast-analysis/metrics.js';
28
- import { AST_TYPE_MAPS, CFG_RULES, COMPLEXITY_RULES, DATAFLOW_RULES, HALSTEAD_RULES, } from '../ast-analysis/rules/index.js';
28
+ import { AST_STRING_CONFIGS, AST_TYPE_MAPS, astStopRecurseKinds, CFG_RULES, COMPLEXITY_RULES, DATAFLOW_RULES, HALSTEAD_RULES, } from '../ast-analysis/rules/index.js';
29
29
  import { walkWithVisitors } from '../ast-analysis/visitor.js';
30
30
  import { functionName as getFuncName } from '../ast-analysis/visitor-utils.js';
31
31
  import { createAstStoreVisitor } from '../ast-analysis/visitors/ast-store-visitor.js';
@@ -456,7 +456,8 @@ function setupVisitorsLocal(symbols, relPath, langId, opts) {
456
456
  if (opts.ast) {
457
457
  const astTypeMap = AST_TYPE_MAPS.get(langId);
458
458
  if (astTypeMap) {
459
- astVisitor = createAstStoreVisitor(astTypeMap, defs, relPath, new Map());
459
+ const stringConfig = AST_STRING_CONFIGS.get(langId);
460
+ astVisitor = createAstStoreVisitor(astTypeMap, defs, relPath, new Map(), stringConfig, astStopRecurseKinds(langId));
460
461
  visitors.push(astVisitor);
461
462
  }
462
463
  }
@@ -555,18 +556,18 @@ async function handleParse(msg) {
555
556
  const defs = symbols.definitions || [];
556
557
  if (astVisitor) {
557
558
  const astRows = (results['ast-store'] || []);
558
- if (astRows.length > 0) {
559
- // Strip `file` and `parentNodeId` main thread re-resolves parent IDs
560
- // against its DB in features/ast.ts::collectFileAstRows, and `file` is
561
- // known from the map key.
562
- serializedAstNodes = astRows.map((n) => ({
563
- line: n.line,
564
- kind: n.kind,
565
- name: n.name ?? '',
566
- text: n.text ?? undefined,
567
- receiver: n.receiver ?? undefined,
568
- }));
569
- }
559
+ // Always set an array (even empty) — leaving astNodes undefined makes
560
+ // engine.ts::fileNeedsWasmTree treat the file as un-walked and trigger
561
+ // a full ensureWasmTrees re-parse of every WASM-parseable file (#1036).
562
+ // Strip `file` and `parentNodeId` — main thread re-resolves both in
563
+ // features/ast.ts::collectFileAstRows.
564
+ serializedAstNodes = astRows.map((n) => ({
565
+ line: n.line,
566
+ kind: n.kind,
567
+ name: n.name ?? '',
568
+ text: n.text ?? undefined,
569
+ receiver: n.receiver ?? undefined,
570
+ }));
570
571
  }
571
572
  if (complexityVisitor)
572
573
  storeComplexityResults(results, defs, entry.id);
@@ -1 +1 @@
1
- {"version":3,"file":"wasm-worker-entry.js","sourceRoot":"","sources":["../../src/domain/wasm-worker-entry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wasm-worker-entry.js","sourceRoot":"","sources":["../../src/domain/wasm-worker-entry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/features/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/features/ast.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import path from 'node:path';
2
- import { AST_TYPE_MAPS } from '../ast-analysis/rules/index.js';
2
+ import { AST_STRING_CONFIGS, AST_TYPE_MAPS, astStopRecurseKinds, } from '../ast-analysis/rules/index.js';
3
3
  import { buildExtensionSet } from '../ast-analysis/shared.js';
4
4
  import { walkWithVisitors } from '../ast-analysis/visitor.js';
5
5
  import { createAstStoreVisitor } from '../ast-analysis/visitors/ast-store-visitor.js';
@@ -17,7 +17,6 @@ const KIND_ICONS = {
17
17
  throw: '\u2191', // ↑
18
18
  await: '\u22B3', // ⊳
19
19
  };
20
- const JS_TS_AST_TYPES = AST_TYPE_MAPS.get('javascript');
21
20
  const WALK_EXTENSIONS = buildExtensionSet(AST_TYPE_MAPS);
22
21
  function findParentDef(defs, line) {
23
22
  let best = null;
@@ -98,9 +97,10 @@ function collectFileAstRows(db, relPath, symbols) {
98
97
  }
99
98
  // WASM fallback — walk tree if available
100
99
  const ext = path.extname(relPath).toLowerCase();
101
- if (WALK_EXTENSIONS.has(ext) && symbols._tree) {
100
+ const langId = symbols._langId || '';
101
+ if ((WALK_EXTENSIONS.has(ext) || AST_TYPE_MAPS.has(langId)) && symbols._tree) {
102
102
  const rows = [];
103
- walkAst(symbols._tree.rootNode, defs, relPath, rows, nodeIdMap);
103
+ walkAst(symbols._tree.rootNode, defs, relPath, rows, nodeIdMap, langId);
104
104
  return rows;
105
105
  }
106
106
  return [];
@@ -133,13 +133,15 @@ export async function buildAstNodes(db, fileSymbols, _rootDir, engineOpts) {
133
133
  }
134
134
  debug(`AST extraction: ${allRows.length} nodes stored`);
135
135
  }
136
- function walkAst(rootNode, defs, relPath, rows, nodeIdMap) {
137
- if (!JS_TS_AST_TYPES) {
138
- debug('ast-store: JS_TS_AST_TYPES not available — skipping walk');
136
+ function walkAst(rootNode, defs, relPath, rows, nodeIdMap, langId) {
137
+ const astTypeMap = AST_TYPE_MAPS.get(langId);
138
+ if (!astTypeMap) {
139
+ debug(`ast-store: no astTypes for langId=${langId} — skipping walk`);
139
140
  return;
140
141
  }
141
- const visitor = createAstStoreVisitor(JS_TS_AST_TYPES, defs, relPath, nodeIdMap);
142
- const results = walkWithVisitors(rootNode, [visitor], 'javascript');
142
+ const stringConfig = AST_STRING_CONFIGS.get(langId);
143
+ const visitor = createAstStoreVisitor(astTypeMap, defs, relPath, nodeIdMap, stringConfig, astStopRecurseKinds(langId));
144
+ const results = walkWithVisitors(rootNode, [visitor], langId);
143
145
  const collected = (results['ast-store'] || []);
144
146
  rows.push(...collected);
145
147
  }