@mduenas/codegraph 0.4.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 (192) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +641 -0
  3. package/dist/bin/codegraph.d.ts +20 -0
  4. package/dist/bin/codegraph.d.ts.map +1 -0
  5. package/dist/bin/codegraph.js +704 -0
  6. package/dist/bin/codegraph.js.map +1 -0
  7. package/dist/config.d.ts +51 -0
  8. package/dist/config.d.ts.map +1 -0
  9. package/dist/config.js +291 -0
  10. package/dist/config.js.map +1 -0
  11. package/dist/context/formatter.d.ts +30 -0
  12. package/dist/context/formatter.d.ts.map +1 -0
  13. package/dist/context/formatter.js +244 -0
  14. package/dist/context/formatter.js.map +1 -0
  15. package/dist/context/index.d.ts +86 -0
  16. package/dist/context/index.d.ts.map +1 -0
  17. package/dist/context/index.js +402 -0
  18. package/dist/context/index.js.map +1 -0
  19. package/dist/db/index.d.ts +64 -0
  20. package/dist/db/index.d.ts.map +1 -0
  21. package/dist/db/index.js +170 -0
  22. package/dist/db/index.js.map +1 -0
  23. package/dist/db/migrations.d.ts +44 -0
  24. package/dist/db/migrations.d.ts.map +1 -0
  25. package/dist/db/migrations.js +105 -0
  26. package/dist/db/migrations.js.map +1 -0
  27. package/dist/db/queries.d.ts +148 -0
  28. package/dist/db/queries.d.ts.map +1 -0
  29. package/dist/db/queries.js +669 -0
  30. package/dist/db/queries.js.map +1 -0
  31. package/dist/directory.d.ts +45 -0
  32. package/dist/directory.d.ts.map +1 -0
  33. package/dist/directory.js +191 -0
  34. package/dist/directory.js.map +1 -0
  35. package/dist/errors.d.ts +136 -0
  36. package/dist/errors.d.ts.map +1 -0
  37. package/dist/errors.js +219 -0
  38. package/dist/errors.js.map +1 -0
  39. package/dist/extraction/grammars.d.ts +36 -0
  40. package/dist/extraction/grammars.d.ts.map +1 -0
  41. package/dist/extraction/grammars.js +181 -0
  42. package/dist/extraction/grammars.js.map +1 -0
  43. package/dist/extraction/index.d.ts +91 -0
  44. package/dist/extraction/index.d.ts.map +1 -0
  45. package/dist/extraction/index.js +493 -0
  46. package/dist/extraction/index.js.map +1 -0
  47. package/dist/extraction/tree-sitter.d.ts +176 -0
  48. package/dist/extraction/tree-sitter.d.ts.map +1 -0
  49. package/dist/extraction/tree-sitter.js +1798 -0
  50. package/dist/extraction/tree-sitter.js.map +1 -0
  51. package/dist/graph/index.d.ts +8 -0
  52. package/dist/graph/index.d.ts.map +1 -0
  53. package/dist/graph/index.js +13 -0
  54. package/dist/graph/index.js.map +1 -0
  55. package/dist/graph/queries.d.ts +106 -0
  56. package/dist/graph/queries.d.ts.map +1 -0
  57. package/dist/graph/queries.js +355 -0
  58. package/dist/graph/queries.js.map +1 -0
  59. package/dist/graph/traversal.d.ts +127 -0
  60. package/dist/graph/traversal.d.ts.map +1 -0
  61. package/dist/graph/traversal.js +465 -0
  62. package/dist/graph/traversal.js.map +1 -0
  63. package/dist/index.d.ts +496 -0
  64. package/dist/index.d.ts.map +1 -0
  65. package/dist/index.js +818 -0
  66. package/dist/index.js.map +1 -0
  67. package/dist/installer/banner.d.ts +40 -0
  68. package/dist/installer/banner.d.ts.map +1 -0
  69. package/dist/installer/banner.js +162 -0
  70. package/dist/installer/banner.js.map +1 -0
  71. package/dist/installer/claude-md-template.d.ts +10 -0
  72. package/dist/installer/claude-md-template.d.ts.map +1 -0
  73. package/dist/installer/claude-md-template.js +46 -0
  74. package/dist/installer/claude-md-template.js.map +1 -0
  75. package/dist/installer/config-writer.d.ts +36 -0
  76. package/dist/installer/config-writer.d.ts.map +1 -0
  77. package/dist/installer/config-writer.js +282 -0
  78. package/dist/installer/config-writer.js.map +1 -0
  79. package/dist/installer/index.d.ts +13 -0
  80. package/dist/installer/index.d.ts.map +1 -0
  81. package/dist/installer/index.js +155 -0
  82. package/dist/installer/index.js.map +1 -0
  83. package/dist/installer/prompts.d.ts +18 -0
  84. package/dist/installer/prompts.d.ts.map +1 -0
  85. package/dist/installer/prompts.js +113 -0
  86. package/dist/installer/prompts.js.map +1 -0
  87. package/dist/mcp/index.d.ts +64 -0
  88. package/dist/mcp/index.d.ts.map +1 -0
  89. package/dist/mcp/index.js +207 -0
  90. package/dist/mcp/index.js.map +1 -0
  91. package/dist/mcp/tools.d.ts +93 -0
  92. package/dist/mcp/tools.d.ts.map +1 -0
  93. package/dist/mcp/tools.js +442 -0
  94. package/dist/mcp/tools.js.map +1 -0
  95. package/dist/mcp/transport.d.ts +89 -0
  96. package/dist/mcp/transport.d.ts.map +1 -0
  97. package/dist/mcp/transport.js +170 -0
  98. package/dist/mcp/transport.js.map +1 -0
  99. package/dist/resolution/frameworks/csharp.d.ts +8 -0
  100. package/dist/resolution/frameworks/csharp.d.ts.map +1 -0
  101. package/dist/resolution/frameworks/csharp.js +274 -0
  102. package/dist/resolution/frameworks/csharp.js.map +1 -0
  103. package/dist/resolution/frameworks/express.d.ts +8 -0
  104. package/dist/resolution/frameworks/express.d.ts.map +1 -0
  105. package/dist/resolution/frameworks/express.js +208 -0
  106. package/dist/resolution/frameworks/express.js.map +1 -0
  107. package/dist/resolution/frameworks/go.d.ts +8 -0
  108. package/dist/resolution/frameworks/go.d.ts.map +1 -0
  109. package/dist/resolution/frameworks/go.js +225 -0
  110. package/dist/resolution/frameworks/go.js.map +1 -0
  111. package/dist/resolution/frameworks/index.d.ts +33 -0
  112. package/dist/resolution/frameworks/index.d.ts.map +1 -0
  113. package/dist/resolution/frameworks/index.js +113 -0
  114. package/dist/resolution/frameworks/index.js.map +1 -0
  115. package/dist/resolution/frameworks/java.d.ts +8 -0
  116. package/dist/resolution/frameworks/java.d.ts.map +1 -0
  117. package/dist/resolution/frameworks/java.js +239 -0
  118. package/dist/resolution/frameworks/java.js.map +1 -0
  119. package/dist/resolution/frameworks/laravel.d.ts +13 -0
  120. package/dist/resolution/frameworks/laravel.d.ts.map +1 -0
  121. package/dist/resolution/frameworks/laravel.js +198 -0
  122. package/dist/resolution/frameworks/laravel.js.map +1 -0
  123. package/dist/resolution/frameworks/python.d.ts +10 -0
  124. package/dist/resolution/frameworks/python.d.ts.map +1 -0
  125. package/dist/resolution/frameworks/python.js +331 -0
  126. package/dist/resolution/frameworks/python.js.map +1 -0
  127. package/dist/resolution/frameworks/react.d.ts +8 -0
  128. package/dist/resolution/frameworks/react.d.ts.map +1 -0
  129. package/dist/resolution/frameworks/react.js +294 -0
  130. package/dist/resolution/frameworks/react.js.map +1 -0
  131. package/dist/resolution/frameworks/ruby.d.ts +8 -0
  132. package/dist/resolution/frameworks/ruby.d.ts.map +1 -0
  133. package/dist/resolution/frameworks/ruby.js +262 -0
  134. package/dist/resolution/frameworks/ruby.js.map +1 -0
  135. package/dist/resolution/frameworks/rust.d.ts +8 -0
  136. package/dist/resolution/frameworks/rust.d.ts.map +1 -0
  137. package/dist/resolution/frameworks/rust.js +222 -0
  138. package/dist/resolution/frameworks/rust.js.map +1 -0
  139. package/dist/resolution/frameworks/swift.d.ts +10 -0
  140. package/dist/resolution/frameworks/swift.d.ts.map +1 -0
  141. package/dist/resolution/frameworks/swift.js +486 -0
  142. package/dist/resolution/frameworks/swift.js.map +1 -0
  143. package/dist/resolution/import-resolver.d.ts +20 -0
  144. package/dist/resolution/import-resolver.d.ts.map +1 -0
  145. package/dist/resolution/import-resolver.js +445 -0
  146. package/dist/resolution/import-resolver.js.map +1 -0
  147. package/dist/resolution/index.d.ts +72 -0
  148. package/dist/resolution/index.d.ts.map +1 -0
  149. package/dist/resolution/index.js +301 -0
  150. package/dist/resolution/index.js.map +1 -0
  151. package/dist/resolution/name-matcher.d.ts +27 -0
  152. package/dist/resolution/name-matcher.d.ts.map +1 -0
  153. package/dist/resolution/name-matcher.js +210 -0
  154. package/dist/resolution/name-matcher.js.map +1 -0
  155. package/dist/resolution/types.d.ts +108 -0
  156. package/dist/resolution/types.d.ts.map +1 -0
  157. package/dist/resolution/types.js +8 -0
  158. package/dist/resolution/types.js.map +1 -0
  159. package/dist/sync/git-hooks.d.ts +66 -0
  160. package/dist/sync/git-hooks.d.ts.map +1 -0
  161. package/dist/sync/git-hooks.js +281 -0
  162. package/dist/sync/git-hooks.js.map +1 -0
  163. package/dist/sync/index.d.ts +13 -0
  164. package/dist/sync/index.d.ts.map +1 -0
  165. package/dist/sync/index.js +18 -0
  166. package/dist/sync/index.js.map +1 -0
  167. package/dist/types.d.ts +410 -0
  168. package/dist/types.d.ts.map +1 -0
  169. package/dist/types.js +165 -0
  170. package/dist/types.js.map +1 -0
  171. package/dist/utils.d.ts +116 -0
  172. package/dist/utils.d.ts.map +1 -0
  173. package/dist/utils.js +295 -0
  174. package/dist/utils.js.map +1 -0
  175. package/dist/vectors/embedder.d.ts +140 -0
  176. package/dist/vectors/embedder.d.ts.map +1 -0
  177. package/dist/vectors/embedder.js +336 -0
  178. package/dist/vectors/embedder.js.map +1 -0
  179. package/dist/vectors/index.d.ts +9 -0
  180. package/dist/vectors/index.d.ts.map +1 -0
  181. package/dist/vectors/index.js +20 -0
  182. package/dist/vectors/index.js.map +1 -0
  183. package/dist/vectors/manager.d.ts +119 -0
  184. package/dist/vectors/manager.d.ts.map +1 -0
  185. package/dist/vectors/manager.js +274 -0
  186. package/dist/vectors/manager.js.map +1 -0
  187. package/dist/vectors/search.d.ts +134 -0
  188. package/dist/vectors/search.d.ts.map +1 -0
  189. package/dist/vectors/search.js +409 -0
  190. package/dist/vectors/search.js.map +1 -0
  191. package/package.json +67 -0
  192. package/scripts/postinstall.js +68 -0
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Grammar Loading and Caching
3
+ *
4
+ * Manages tree-sitter language grammars.
5
+ */
6
+ import Parser from 'tree-sitter';
7
+ import { Language } from '../types';
8
+ /**
9
+ * File extension to Language mapping
10
+ */
11
+ export declare const EXTENSION_MAP: Record<string, Language>;
12
+ /**
13
+ * Get a parser for the specified language
14
+ */
15
+ export declare function getParser(language: Language): Parser | null;
16
+ /**
17
+ * Detect language from file extension
18
+ */
19
+ export declare function detectLanguage(filePath: string): Language;
20
+ /**
21
+ * Check if a language is supported
22
+ */
23
+ export declare function isLanguageSupported(language: Language): boolean;
24
+ /**
25
+ * Get all supported languages
26
+ */
27
+ export declare function getSupportedLanguages(): Language[];
28
+ /**
29
+ * Clear the parser cache (useful for testing)
30
+ */
31
+ export declare function clearParserCache(): void;
32
+ /**
33
+ * Get language display name
34
+ */
35
+ export declare function getLanguageDisplayName(language: Language): string;
36
+ //# sourceMappingURL=grammars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grammars.d.ts","sourceRoot":"","sources":["../../src/extraction/grammars.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAwDpC;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CA2BlD,CAAC;AAOF;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAkB3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAGzD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAI/D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,EAAE,CAKlD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAqBjE"}
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ /**
3
+ * Grammar Loading and Caching
4
+ *
5
+ * Manages tree-sitter language grammars.
6
+ */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.EXTENSION_MAP = void 0;
12
+ exports.getParser = getParser;
13
+ exports.detectLanguage = detectLanguage;
14
+ exports.isLanguageSupported = isLanguageSupported;
15
+ exports.getSupportedLanguages = getSupportedLanguages;
16
+ exports.clearParserCache = clearParserCache;
17
+ exports.getLanguageDisplayName = getLanguageDisplayName;
18
+ const tree_sitter_1 = __importDefault(require("tree-sitter"));
19
+ // Grammar module imports
20
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
21
+ const TypeScript = require('tree-sitter-typescript').typescript;
22
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
23
+ const TSX = require('tree-sitter-typescript').tsx;
24
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
25
+ const JavaScript = require('tree-sitter-javascript');
26
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
27
+ const Python = require('tree-sitter-python');
28
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
29
+ const Go = require('tree-sitter-go');
30
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
31
+ const Rust = require('tree-sitter-rust');
32
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
33
+ const Java = require('tree-sitter-java');
34
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
35
+ const C = require('tree-sitter-c');
36
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
37
+ const Cpp = require('tree-sitter-cpp');
38
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
39
+ const CSharp = require('tree-sitter-c-sharp');
40
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
41
+ const PHP = require('tree-sitter-php').php;
42
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
43
+ const Ruby = require('tree-sitter-ruby');
44
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
45
+ const Swift = require('tree-sitter-swift');
46
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
47
+ const Kotlin = require('tree-sitter-kotlin');
48
+ // Note: tree-sitter-liquid has ABI compatibility issues with tree-sitter 0.22+
49
+ // Liquid extraction is handled separately via regex in tree-sitter.ts
50
+ /**
51
+ * Mapping of Language to tree-sitter grammar
52
+ */
53
+ const GRAMMAR_MAP = {
54
+ typescript: TypeScript,
55
+ tsx: TSX,
56
+ javascript: JavaScript,
57
+ jsx: JavaScript, // JSX uses the JavaScript grammar
58
+ python: Python,
59
+ go: Go,
60
+ rust: Rust,
61
+ java: Java,
62
+ c: C,
63
+ cpp: Cpp,
64
+ csharp: CSharp,
65
+ php: PHP,
66
+ ruby: Ruby,
67
+ swift: Swift,
68
+ kotlin: Kotlin,
69
+ // liquid: uses custom regex-based extraction, not tree-sitter
70
+ };
71
+ /**
72
+ * File extension to Language mapping
73
+ */
74
+ exports.EXTENSION_MAP = {
75
+ '.ts': 'typescript',
76
+ '.tsx': 'tsx',
77
+ '.js': 'javascript',
78
+ '.mjs': 'javascript',
79
+ '.cjs': 'javascript',
80
+ '.jsx': 'jsx',
81
+ '.py': 'python',
82
+ '.pyw': 'python',
83
+ '.go': 'go',
84
+ '.rs': 'rust',
85
+ '.java': 'java',
86
+ '.c': 'c',
87
+ '.h': 'c', // Could also be C++, defaulting to C
88
+ '.cpp': 'cpp',
89
+ '.cc': 'cpp',
90
+ '.cxx': 'cpp',
91
+ '.hpp': 'cpp',
92
+ '.hxx': 'cpp',
93
+ '.cs': 'csharp',
94
+ '.php': 'php',
95
+ '.rb': 'ruby',
96
+ '.rake': 'ruby',
97
+ '.swift': 'swift',
98
+ '.kt': 'kotlin',
99
+ '.kts': 'kotlin',
100
+ '.liquid': 'liquid',
101
+ };
102
+ /**
103
+ * Cache for initialized parsers
104
+ */
105
+ const parserCache = new Map();
106
+ /**
107
+ * Get a parser for the specified language
108
+ */
109
+ function getParser(language) {
110
+ // Check cache first
111
+ if (parserCache.has(language)) {
112
+ return parserCache.get(language);
113
+ }
114
+ // Get grammar for language
115
+ const grammar = GRAMMAR_MAP[language];
116
+ if (!grammar) {
117
+ return null;
118
+ }
119
+ // Create and cache parser
120
+ const parser = new tree_sitter_1.default();
121
+ parser.setLanguage(grammar);
122
+ parserCache.set(language, parser);
123
+ return parser;
124
+ }
125
+ /**
126
+ * Detect language from file extension
127
+ */
128
+ function detectLanguage(filePath) {
129
+ const ext = filePath.substring(filePath.lastIndexOf('.')).toLowerCase();
130
+ return exports.EXTENSION_MAP[ext] || 'unknown';
131
+ }
132
+ /**
133
+ * Check if a language is supported
134
+ */
135
+ function isLanguageSupported(language) {
136
+ // Liquid uses custom regex-based extraction, not tree-sitter
137
+ if (language === 'liquid')
138
+ return true;
139
+ return language !== 'unknown' && language in GRAMMAR_MAP;
140
+ }
141
+ /**
142
+ * Get all supported languages
143
+ */
144
+ function getSupportedLanguages() {
145
+ const languages = Object.keys(GRAMMAR_MAP);
146
+ // Add Liquid which uses custom extraction
147
+ languages.push('liquid');
148
+ return languages;
149
+ }
150
+ /**
151
+ * Clear the parser cache (useful for testing)
152
+ */
153
+ function clearParserCache() {
154
+ parserCache.clear();
155
+ }
156
+ /**
157
+ * Get language display name
158
+ */
159
+ function getLanguageDisplayName(language) {
160
+ const names = {
161
+ typescript: 'TypeScript',
162
+ javascript: 'JavaScript',
163
+ tsx: 'TypeScript (TSX)',
164
+ jsx: 'JavaScript (JSX)',
165
+ python: 'Python',
166
+ go: 'Go',
167
+ rust: 'Rust',
168
+ java: 'Java',
169
+ c: 'C',
170
+ cpp: 'C++',
171
+ csharp: 'C#',
172
+ php: 'PHP',
173
+ ruby: 'Ruby',
174
+ swift: 'Swift',
175
+ kotlin: 'Kotlin',
176
+ liquid: 'Liquid',
177
+ unknown: 'Unknown',
178
+ };
179
+ return names[language] || language;
180
+ }
181
+ //# sourceMappingURL=grammars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grammars.js","sourceRoot":"","sources":["../../src/extraction/grammars.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Extraction Orchestrator
3
+ *
4
+ * Coordinates file scanning, parsing, and database storage.
5
+ */
6
+ import { ExtractionResult, ExtractionError, CodeGraphConfig } from '../types';
7
+ import { QueryBuilder } from '../db/queries';
8
+ /**
9
+ * Progress callback for indexing operations
10
+ */
11
+ export interface IndexProgress {
12
+ phase: 'scanning' | 'parsing' | 'storing' | 'resolving';
13
+ current: number;
14
+ total: number;
15
+ currentFile?: string;
16
+ }
17
+ /**
18
+ * Result of an indexing operation
19
+ */
20
+ export interface IndexResult {
21
+ success: boolean;
22
+ filesIndexed: number;
23
+ filesSkipped: number;
24
+ nodesCreated: number;
25
+ edgesCreated: number;
26
+ errors: ExtractionError[];
27
+ durationMs: number;
28
+ }
29
+ /**
30
+ * Result of a sync operation
31
+ */
32
+ export interface SyncResult {
33
+ filesChecked: number;
34
+ filesAdded: number;
35
+ filesModified: number;
36
+ filesRemoved: number;
37
+ nodesUpdated: number;
38
+ durationMs: number;
39
+ }
40
+ /**
41
+ * Calculate SHA256 hash of file contents
42
+ */
43
+ export declare function hashContent(content: string): string;
44
+ /**
45
+ * Check if a file should be included based on config
46
+ */
47
+ export declare function shouldIncludeFile(filePath: string, config: CodeGraphConfig): boolean;
48
+ /**
49
+ * Recursively scan directory for source files
50
+ */
51
+ export declare function scanDirectory(rootDir: string, config: CodeGraphConfig, onProgress?: (current: number, file: string) => void): string[];
52
+ /**
53
+ * Extraction orchestrator
54
+ */
55
+ export declare class ExtractionOrchestrator {
56
+ private rootDir;
57
+ private config;
58
+ private queries;
59
+ constructor(rootDir: string, config: CodeGraphConfig, queries: QueryBuilder);
60
+ /**
61
+ * Index all files in the project
62
+ */
63
+ indexAll(onProgress?: (progress: IndexProgress) => void, signal?: AbortSignal): Promise<IndexResult>;
64
+ /**
65
+ * Index specific files
66
+ */
67
+ indexFiles(filePaths: string[]): Promise<IndexResult>;
68
+ /**
69
+ * Index a single file
70
+ */
71
+ indexFile(relativePath: string): Promise<ExtractionResult>;
72
+ /**
73
+ * Store extraction result in database
74
+ */
75
+ private storeExtractionResult;
76
+ /**
77
+ * Sync with current file state
78
+ */
79
+ sync(onProgress?: (progress: IndexProgress) => void): Promise<SyncResult>;
80
+ /**
81
+ * Get files that have changed since last index
82
+ */
83
+ getChangedFiles(): {
84
+ added: string[];
85
+ modified: string[];
86
+ removed: string[];
87
+ };
88
+ }
89
+ export { extractFromSource } from './tree-sitter';
90
+ export { detectLanguage, isLanguageSupported, getSupportedLanguages } from './grammars';
91
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extraction/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAGL,gBAAgB,EAChB,eAAe,EACf,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAK7C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AA4BD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,eAAe,GACtB,OAAO,CAgBT;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,eAAe,EACvB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GACnD,MAAM,EAAE,CA4CV;AAED;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,OAAO,CAAe;gBAElB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY;IAM3E;;OAEG;IACG,QAAQ,CACZ,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,EAC9C,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,WAAW,CAAC;IA+FvB;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAmC3D;;OAEG;IACG,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+DhE;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiD7B;;OAEG;IACG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAiF/E;;OAEG;IACH,eAAe,IAAI;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE;CAsC9E;AAGD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}