@cleocode/nexus 2026.9.8 → 2026.9.10

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 (68) hide show
  1. package/dist/src/code/parser.d.ts +19 -1
  2. package/dist/src/code/parser.d.ts.map +1 -1
  3. package/dist/src/code/parser.js +61 -1
  4. package/dist/src/code/parser.js.map +1 -1
  5. package/dist/src/intelligence/impact.d.ts +9 -0
  6. package/dist/src/intelligence/impact.d.ts.map +1 -1
  7. package/dist/src/intelligence/impact.js +25 -13
  8. package/dist/src/intelligence/impact.js.map +1 -1
  9. package/dist/src/pipeline/call-processor.d.ts +4 -1
  10. package/dist/src/pipeline/call-processor.d.ts.map +1 -1
  11. package/dist/src/pipeline/call-processor.js +43 -3
  12. package/dist/src/pipeline/call-processor.js.map +1 -1
  13. package/dist/src/pipeline/community-processor.d.ts.map +1 -1
  14. package/dist/src/pipeline/community-processor.js +6 -27
  15. package/dist/src/pipeline/community-processor.js.map +1 -1
  16. package/dist/src/pipeline/extractors/typescript-extractor.d.ts +27 -35
  17. package/dist/src/pipeline/extractors/typescript-extractor.d.ts.map +1 -1
  18. package/dist/src/pipeline/extractors/typescript-extractor.js +100 -213
  19. package/dist/src/pipeline/extractors/typescript-extractor.js.map +1 -1
  20. package/dist/src/pipeline/filesystem-walker.d.ts +9 -5
  21. package/dist/src/pipeline/filesystem-walker.d.ts.map +1 -1
  22. package/dist/src/pipeline/filesystem-walker.js +154 -79
  23. package/dist/src/pipeline/filesystem-walker.js.map +1 -1
  24. package/dist/src/pipeline/heritage-processor.d.ts.map +1 -1
  25. package/dist/src/pipeline/heritage-processor.js +29 -4
  26. package/dist/src/pipeline/heritage-processor.js.map +1 -1
  27. package/dist/src/pipeline/import-processor.d.ts +28 -6
  28. package/dist/src/pipeline/import-processor.d.ts.map +1 -1
  29. package/dist/src/pipeline/import-processor.js +68 -45
  30. package/dist/src/pipeline/import-processor.js.map +1 -1
  31. package/dist/src/pipeline/index.d.ts +32 -20
  32. package/dist/src/pipeline/index.d.ts.map +1 -1
  33. package/dist/src/pipeline/index.js +173 -148
  34. package/dist/src/pipeline/index.js.map +1 -1
  35. package/dist/src/pipeline/knowledge-graph.d.ts +3 -1
  36. package/dist/src/pipeline/knowledge-graph.d.ts.map +1 -1
  37. package/dist/src/pipeline/knowledge-graph.js +36 -2
  38. package/dist/src/pipeline/knowledge-graph.js.map +1 -1
  39. package/dist/src/pipeline/lexical-scope.d.ts +60 -0
  40. package/dist/src/pipeline/lexical-scope.d.ts.map +1 -0
  41. package/dist/src/pipeline/lexical-scope.js +362 -0
  42. package/dist/src/pipeline/lexical-scope.js.map +1 -0
  43. package/dist/src/pipeline/parse-loop.d.ts +49 -2
  44. package/dist/src/pipeline/parse-loop.d.ts.map +1 -1
  45. package/dist/src/pipeline/parse-loop.js +346 -144
  46. package/dist/src/pipeline/parse-loop.js.map +1 -1
  47. package/dist/src/pipeline/processors/access-processor.d.ts +27 -14
  48. package/dist/src/pipeline/processors/access-processor.d.ts.map +1 -1
  49. package/dist/src/pipeline/processors/access-processor.js +106 -27
  50. package/dist/src/pipeline/processors/access-processor.js.map +1 -1
  51. package/dist/src/pipeline/structure-processor.d.ts.map +1 -1
  52. package/dist/src/pipeline/structure-processor.js +1 -0
  53. package/dist/src/pipeline/structure-processor.js.map +1 -1
  54. package/dist/src/pipeline/symbol-table.d.ts +41 -3
  55. package/dist/src/pipeline/symbol-table.d.ts.map +1 -1
  56. package/dist/src/pipeline/symbol-table.js +104 -2
  57. package/dist/src/pipeline/symbol-table.js.map +1 -1
  58. package/dist/src/pipeline/workers/parse-worker.d.ts +29 -92
  59. package/dist/src/pipeline/workers/parse-worker.d.ts.map +1 -1
  60. package/dist/src/pipeline/workers/parse-worker.js +49 -1110
  61. package/dist/src/pipeline/workers/parse-worker.js.map +1 -1
  62. package/dist/src/pipeline/workers/worker-pool.d.ts +6 -4
  63. package/dist/src/pipeline/workers/worker-pool.d.ts.map +1 -1
  64. package/dist/src/pipeline/workers/worker-pool.js +112 -22
  65. package/dist/src/pipeline/workers/worker-pool.js.map +1 -1
  66. package/dist/tsconfig.build.tsbuildinfo +1 -1
  67. package/dist/tsconfig.tsbuildinfo +1 -1
  68. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"typescript-extractor.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/extractors/typescript-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescript-extractor.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/extractors/typescript-extractor.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,8 @@
24
24
  * @task T534
25
25
  * @module pipeline/extractors/typescript-extractor
26
26
  */
27
+ import { createHash } from 'node:crypto';
28
+ import { buildLexicalScopeModel } from '../lexical-scope.js';
27
29
  // ---------------------------------------------------------------------------
28
30
  // Helpers
29
31
  // ---------------------------------------------------------------------------
@@ -112,7 +114,7 @@ const EXPORTABLE_DECLARATION_TYPES = new Set([
112
114
  'variable_declaration',
113
115
  ]);
114
116
  /**
115
- * Walk the AST to extract all top-level definitions.
117
+ * Walk the AST to extract documentary/type declarations; the lexical model supplies callables.
116
118
  *
117
119
  * @param node - Current AST node
118
120
  * @param filePath - File path relative to repo root
@@ -121,20 +123,6 @@ const EXPORTABLE_DECLARATION_TYPES = new Set([
121
123
  */
122
124
  function walkDefinitions(node, filePath, language, results) {
123
125
  switch (node.type) {
124
- case 'function_declaration':
125
- case 'generator_function_declaration': {
126
- const fn = buildFunctionNode(node, filePath, language);
127
- if (fn)
128
- results.push(fn);
129
- break;
130
- }
131
- case 'class_declaration':
132
- case 'abstract_class_declaration': {
133
- const classNodes = buildClassNodes(node, filePath, language);
134
- for (const n of classNodes)
135
- results.push(n);
136
- break;
137
- }
138
126
  case 'interface_declaration': {
139
127
  for (const n of buildInterfaceNodes(node, filePath, language))
140
128
  results.push(n);
@@ -162,41 +150,6 @@ function walkDefinitions(node, filePath, language, results) {
162
150
  }
163
151
  break;
164
152
  }
165
- case 'lexical_declaration':
166
- case 'variable_declaration': {
167
- // Detect `const foo = () => {}` and `const foo = function() {}` patterns
168
- for (let i = 0; i < node.namedChildCount; i++) {
169
- const declarator = node.namedChild(i);
170
- if (!declarator || declarator.type !== 'variable_declarator')
171
- continue;
172
- const nameNode = declarator.childForFieldName('name');
173
- const valueNode = declarator.childForFieldName('value');
174
- if (!nameNode || !valueNode)
175
- continue;
176
- if (valueNode.type !== 'arrow_function' && valueNode.type !== 'function_expression')
177
- continue;
178
- const name = nameNode.text;
179
- if (!name)
180
- continue;
181
- const paramsNode = valueNode.childForFieldName('parameters') ??
182
- valueNode.childForFieldName('formal_parameters');
183
- const parameters = paramsNode ? extractParamNames(paramsNode) : [];
184
- results.push({
185
- id: nodeId(filePath, name),
186
- kind: 'function',
187
- name,
188
- filePath,
189
- startLine: toLine(node.startPosition.row),
190
- endLine: toLine(node.endPosition.row),
191
- language,
192
- exported: isExported(node),
193
- parameters,
194
- returnType: extractReturnType(valueNode),
195
- docSummary: extractDocSummary(node),
196
- });
197
- }
198
- break;
199
- }
200
153
  default:
201
154
  break;
202
155
  }
@@ -209,30 +162,6 @@ function walkDefinitions(node, filePath, language, results) {
209
162
  }
210
163
  }
211
164
  }
212
- /** Build a GraphNode for a function_declaration. */
213
- function buildFunctionNode(node, filePath, language) {
214
- const nameNode = node.childForFieldName('name');
215
- if (!nameNode)
216
- return null;
217
- const name = nameNode.text;
218
- if (!name)
219
- return null;
220
- const paramsNode = node.childForFieldName('parameters') ?? node.childForFieldName('formal_parameters');
221
- const parameters = paramsNode ? extractParamNames(paramsNode) : [];
222
- return {
223
- id: nodeId(filePath, name),
224
- kind: 'function',
225
- name,
226
- filePath,
227
- startLine: toLine(node.startPosition.row),
228
- endLine: toLine(node.endPosition.row),
229
- language,
230
- exported: isExported(node),
231
- parameters,
232
- returnType: extractReturnType(node),
233
- docSummary: extractDocSummary(node),
234
- };
235
- }
236
165
  /** Build GraphNodes for a class_declaration (class + methods + fields). */
237
166
  function buildClassNodes(node, filePath, language) {
238
167
  const nameNode = node.childForFieldName('name');
@@ -698,18 +627,6 @@ export function extractHeritage(root, filePath) {
698
627
  walkForHeritage(root);
699
628
  return results;
700
629
  }
701
- /**
702
- * AST node types that begin a function/method definition boundary.
703
- * Used to track the enclosing function when walking call expressions.
704
- */
705
- const ENCLOSING_FUNCTION_TYPES = new Set([
706
- 'function_declaration',
707
- 'function_expression',
708
- 'arrow_function',
709
- 'generator_function_declaration',
710
- 'generator_function',
711
- 'method_definition',
712
- ]);
713
630
  /**
714
631
  * Count the direct argument nodes inside a `arguments` node.
715
632
  * Spread elements (e.g., `...args`) are included in the count.
@@ -720,136 +637,53 @@ function countArgs(argsNode) {
720
637
  return argsNode.namedChildCount;
721
638
  }
722
639
  /**
723
- * Build a stable source node ID for the call site.
724
- *
725
- * Walks up the AST to find the nearest enclosing function/method and returns
726
- * its node ID (matching the format used during definition extraction:
727
- * `<filePath>::<qualifiedName>`). Falls back to `<filePath>::<file>` for
728
- * module-level calls.
640
+ * Retain every call expression with shared lexical ownership and binding evidence.
641
+ * @param root - Original native AST root.
642
+ * @param filePath - Repository-relative source identity.
643
+ * @param model - Shared model, or a standalone TS/JS model when omitted.
644
+ * @returns Static call records, including explicit dynamic expressions.
645
+ * @remarks Lexical identity does not prove runtime dispatch or invocation.
646
+ * @example
647
+ * ```ts
648
+ * const calls = extractCalls(tree.rootNode, 'src/auth.ts', model);
649
+ * ```
729
650
  */
730
- function buildSourceId(callNode, filePath) {
731
- let current = callNode.parent;
732
- while (current) {
733
- if (ENCLOSING_FUNCTION_TYPES.has(current.type)) {
734
- // method_definition: look for a name child
735
- if (current.type === 'method_definition') {
736
- const nameNode = current.childForFieldName('name');
737
- if (nameNode?.text) {
738
- // Try to find the enclosing class name for qualified ID
739
- const classBody = current.parent; // class_body
740
- const classDecl = classBody?.parent; // class_declaration
741
- if (classDecl &&
742
- (classDecl.type === 'class_declaration' ||
743
- classDecl.type === 'abstract_class_declaration')) {
744
- const classNameNode = classDecl.childForFieldName('name');
745
- if (classNameNode?.text) {
746
- return `${filePath}::${classNameNode.text}.${nameNode.text}`;
747
- }
748
- }
749
- return `${filePath}::${nameNode.text}`;
750
- }
751
- }
752
- // function_declaration and generator_function_declaration: named function
753
- if (current.type === 'function_declaration' ||
754
- current.type === 'generator_function_declaration') {
755
- const nameNode = current.childForFieldName('name');
756
- if (nameNode?.text) {
757
- return `${filePath}::${nameNode.text}`;
758
- }
759
- }
760
- // function_expression / arrow_function: look at parent variable_declarator
761
- if (current.type === 'function_expression' || current.type === 'arrow_function') {
762
- const parent = current.parent;
763
- if (parent?.type === 'variable_declarator') {
764
- const nameNode = parent.childForFieldName('name');
765
- if (nameNode?.text) {
766
- return `${filePath}::${nameNode.text}`;
767
- }
768
- }
769
- }
770
- }
771
- current = current.parent;
772
- }
773
- // Top-level (module scope) — use file pseudo-node ID
774
- return `${filePath}::__file__`;
775
- }
776
- /**
777
- * Walk the full AST of a file and collect all call expressions.
778
- *
779
- * Extracted call forms:
780
- * - `call_expression` with an `identifier` callee → `free` call
781
- * - `call_expression` with a `member_expression` callee → `member` call
782
- * - `new_expression` → `constructor` call
783
- *
784
- * Ignores calls where the callee is not a simple name (e.g. IIFEs, dynamic
785
- * expressions). These cannot be resolved without type inference.
786
- *
787
- * @param root - AST root node (program node)
788
- * @param filePath - File path relative to repo root
789
- * @returns Array of extracted call records
790
- */
791
- export function extractCalls(root, filePath) {
651
+ export function extractCalls(root, filePath, model = buildLexicalScopeModel(root, filePath, createHash('sha256').update(root.text).digest('hex'), 'typescript')) {
792
652
  const results = [];
793
653
  function walk(node) {
794
- if (node.type === 'call_expression') {
795
- const functionNode = node.childForFieldName('function');
796
- const argsNode = node.childForFieldName('arguments');
797
- if (functionNode) {
798
- if (functionNode.type === 'identifier') {
799
- // Free call: foo(args)
800
- const calledName = functionNode.text;
801
- if (calledName) {
802
- results.push({
803
- filePath,
804
- calledName,
805
- sourceId: buildSourceId(node, filePath),
806
- argCount: argsNode ? countArgs(argsNode) : undefined,
807
- callForm: 'free',
808
- });
809
- }
810
- }
811
- else if (functionNode.type === 'member_expression') {
812
- // Member call: obj.method(args)
813
- const propNode = functionNode.childForFieldName('property');
814
- const objNode = functionNode.childForFieldName('object');
815
- if (propNode?.text) {
816
- const calledName = propNode.text;
817
- const receiverName = objNode?.type === 'identifier' ? objNode.text : undefined;
818
- results.push({
819
- filePath,
820
- calledName,
821
- sourceId: buildSourceId(node, filePath),
822
- argCount: argsNode ? countArgs(argsNode) : undefined,
823
- callForm: 'member',
824
- receiverName,
825
- });
826
- }
827
- }
828
- }
829
- }
830
- else if (node.type === 'new_expression') {
831
- // Constructor call: new Foo(args)
832
- const constructorNode = node.childForFieldName('constructor');
833
- const argsNode = node.childForFieldName('arguments');
834
- if (constructorNode?.type === 'identifier') {
835
- const calledName = constructorNode.text;
836
- if (calledName) {
837
- results.push({
838
- filePath,
839
- calledName,
840
- sourceId: buildSourceId(node, filePath),
841
- argCount: argsNode ? countArgs(argsNode) : undefined,
842
- callForm: 'constructor',
843
- });
844
- }
654
+ if (node.type === 'call_expression' || node.type === 'new_expression') {
655
+ const isConstructor = node.type === 'new_expression';
656
+ const callee = node.childForFieldName(isConstructor ? 'constructor' : 'function');
657
+ const args = node.childForFieldName('arguments');
658
+ if (callee) {
659
+ const member = callee.type === 'member_expression';
660
+ const receiver = member ? callee.childForFieldName('object') : null;
661
+ const property = member ? callee.childForFieldName('property') : null;
662
+ const receiverName = receiver?.type === 'identifier' || receiver?.type === 'this' ? receiver.text : undefined;
663
+ const named = callee.type === 'identifier' || (member && property?.type === 'property_identifier');
664
+ const calledName = member && property ? property.text : callee.text;
665
+ const bindingName = member
666
+ ? receiverName
667
+ : callee.type === 'identifier'
668
+ ? calledName
669
+ : undefined;
670
+ results.push({
671
+ filePath,
672
+ calledName,
673
+ sourceId: model.ownerAt(node.startIndex),
674
+ argCount: args ? countArgs(args) : undefined,
675
+ callForm: isConstructor ? 'constructor' : member ? 'member' : 'free',
676
+ receiverName,
677
+ span: model.spanOf(node),
678
+ generation: model.generation,
679
+ publicationGeneration: model.publicationGeneration,
680
+ lexical: bindingName ? model.resolve(bindingName, node.startIndex) : undefined,
681
+ dynamic: !named || (member && !receiverName),
682
+ });
845
683
  }
846
684
  }
847
- // Recurse into all children
848
- for (let i = 0; i < node.namedChildCount; i++) {
849
- const child = node.namedChild(i);
850
- if (child)
851
- walk(child);
852
- }
685
+ for (const child of node.namedChildren)
686
+ walk(child);
853
687
  }
854
688
  walk(root);
855
689
  return results;
@@ -864,9 +698,10 @@ export function extractCalls(root, filePath) {
864
698
  * @param rootNode - The root (program) node of the parsed AST
865
699
  * @param filePath - File path relative to the repository root
866
700
  * @param language - Language string (`typescript` or `javascript`)
701
+ * @param model - One shared original-source scope model, reused by access extraction.
867
702
  * @returns Full extraction result for the file
868
703
  */
869
- export function extractTypeScript(rootNode, filePath, language) {
704
+ export function extractTypeScript(rootNode, filePath, language, model = buildLexicalScopeModel(rootNode, filePath, createHash('sha256').update(rootNode.text).digest('hex'), language)) {
870
705
  const definitions = [];
871
706
  // Walk top-level children for definitions
872
707
  for (let i = 0; i < rootNode.namedChildCount; i++) {
@@ -874,9 +709,61 @@ export function extractTypeScript(rootNode, filePath, language) {
874
709
  if (child)
875
710
  walkDefinitions(child, filePath, language, definitions);
876
711
  }
712
+ // Preserve documentary/type declarations. Callable identities come exclusively
713
+ // from the shared model, including nested functions and object callbacks.
714
+ const scopeOwners = new Map(model.scopes.map((scope) => [scope.id, scope.ownerId]));
715
+ const parametersByOwner = new Map();
716
+ for (const binding of model.bindings) {
717
+ if (binding.kind !== 'parameter')
718
+ continue;
719
+ const owner = scopeOwners.get(binding.scopeId);
720
+ if (!owner)
721
+ continue;
722
+ const parameters = parametersByOwner.get(owner) ?? [];
723
+ parameters.push(binding.name);
724
+ parametersByOwner.set(owner, parameters);
725
+ }
726
+ for (const declaration of model.declarations) {
727
+ const node = declaration.node;
728
+ let exportNode = node;
729
+ while (exportNode.parent &&
730
+ ['variable_declarator', 'lexical_declaration', 'variable_declaration'].includes(exportNode.parent.type))
731
+ exportNode = exportNode.parent;
732
+ const parameters = parametersByOwner.get(declaration.id) ?? [];
733
+ definitions.push({
734
+ id: declaration.id,
735
+ name: declaration.name,
736
+ kind: declaration.kind === 'method' && declaration.name === 'constructor'
737
+ ? 'constructor'
738
+ : declaration.kind,
739
+ filePath,
740
+ language,
741
+ startLine: declaration.span.startLine,
742
+ endLine: declaration.span.endLine,
743
+ exported: declaration.parentId === undefined && isExported(exportNode),
744
+ parent: declaration.parentId,
745
+ parameters: declaration.kind === 'class' ? undefined : parameters,
746
+ returnType: extractReturnType(node),
747
+ docSummary: extractDocSummary(exportNode),
748
+ meta: {
749
+ lexicalCapability: 'typescript-javascript',
750
+ sourceGeneration: model.generation,
751
+ publicationGeneration: model.publicationGeneration,
752
+ sourceSpan: declaration.span,
753
+ },
754
+ });
755
+ if (declaration.kind === 'class') {
756
+ for (const field of buildClassNodes(node, filePath, language).filter((item) => item.kind === 'property'))
757
+ definitions.push({
758
+ ...field,
759
+ id: `${declaration.id}.${field.name}`,
760
+ parent: declaration.id,
761
+ });
762
+ }
763
+ }
877
764
  const imports = extractImports(rootNode, filePath);
878
765
  const heritage = extractHeritage(rootNode, filePath);
879
- const calls = extractCalls(rootNode, filePath);
766
+ const calls = extractCalls(rootNode, filePath, model);
880
767
  const reExports = extractReExports(rootNode, filePath);
881
768
  return { definitions, imports, heritage, calls, reExports };
882
769
  }
@@ -1 +1 @@
1
- {"version":3,"file":"typescript-extractor.js","sourceRoot":"","sources":["../../../../src/pipeline/extractors/typescript-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescript-extractor.js","sourceRoot":"","sources":["../../../../src/pipeline/extractors/typescript-extractor.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Scans the repository using Node's native `fs.glob` (Node 22+), stats each
5
5
  * file to filter large files, and returns a lightweight `ScannedFile[]` list
6
- * with paths and sizes. No file content is loaded into memory during this phase.
6
+ * with paths and sizes. Source hashes are streamed through bounded file batches during this phase.
7
7
  *
8
8
  * Memory footprint: approximately 10 MB for 100 K files (paths + sizes only).
9
9
  *
@@ -12,24 +12,28 @@
12
12
  *
13
13
  * Key adaptations:
14
14
  * - Replaces `glob` npm package with Node 24 native `fs.promises.glob`
15
- * - Replaces `ignore-service` with a minimal built-in gitignore reader
15
+ * - Uses Git-compatible ignore rules, including nested files and escaped patterns
16
16
  * - Adds `.cleo/` to the default exclude list for CLEO projects
17
17
  * - Language field added to `ScannedFile` (detected from extension)
18
18
  *
19
19
  * @task T532
20
20
  * @module pipeline/filesystem-walker
21
21
  */
22
+ import type { GraphIndexFileReport } from '@cleocode/contracts';
22
23
  /**
23
24
  * A single file entry produced by the filesystem walker.
24
25
  *
25
- * Contains only path and size metadata — content is never loaded during
26
- * Phase 1 to keep memory usage bounded.
26
+ * Contains path, size and content fingerprints. Files are read in bounded batches.
27
27
  */
28
28
  export interface ScannedFile {
29
29
  /** File path relative to the repository root, using forward slashes. */
30
30
  path: string;
31
31
  /** File size in bytes. */
32
32
  size: number;
33
+ /** Filesystem modification time captured before parsing. */
34
+ mtimeMs?: number;
35
+ /** SHA-256 digest of the scanned source bytes. */
36
+ contentHash?: string;
33
37
  /**
34
38
  * Canonical language name detected from the file extension, or null
35
39
  * for unrecognized extensions.
@@ -47,5 +51,5 @@ export interface ScannedFile {
47
51
  * @param onProgress - Optional progress callback invoked for each processed file
48
52
  * @returns Array of scanned file entries sorted by relative path
49
53
  */
50
- export declare function walkRepositoryPaths(repoPath: string, onProgress?: (current: number, total: number, filePath: string) => void): Promise<ScannedFile[]>;
54
+ export declare function walkRepositoryPaths(repoPath: string, onProgress?: (current: number, total: number, filePath: string) => void, onFileReport?: (report: GraphIndexFileReport) => void, includedRepositories?: readonly string[]): Promise<ScannedFile[]>;
51
55
  //# sourceMappingURL=filesystem-walker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem-walker.d.ts","sourceRoot":"","sources":["../../../src/pipeline/filesystem-walker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAyDH;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AA8ED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,GACtE,OAAO,CAAC,WAAW,EAAE,CAAC,CAgFxB"}
1
+ {"version":3,"file":"filesystem-walker.d.ts","sourceRoot":"","sources":["../../../src/pipeline/filesystem-walker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAuDhE;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAyDD;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,EACvE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,EACrD,oBAAoB,GAAE,SAAS,MAAM,EAAO,GAC3C,OAAO,CAAC,WAAW,EAAE,CAAC,CAuKxB"}