@colbymchenry/codegraph 0.3.1 → 0.5.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 (118) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +647 -641
  3. package/dist/bin/codegraph.d.ts +7 -2
  4. package/dist/bin/codegraph.d.ts.map +1 -1
  5. package/dist/bin/codegraph.js +360 -140
  6. package/dist/bin/codegraph.js.map +1 -1
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +43 -10
  9. package/dist/config.js.map +1 -1
  10. package/dist/context/index.d.ts +17 -4
  11. package/dist/context/index.d.ts.map +1 -1
  12. package/dist/context/index.js +182 -15
  13. package/dist/context/index.js.map +1 -1
  14. package/dist/db/index.d.ts.map +1 -1
  15. package/dist/db/index.js +21 -0
  16. package/dist/db/index.js.map +1 -1
  17. package/dist/db/migrations.d.ts +1 -1
  18. package/dist/db/migrations.d.ts.map +1 -1
  19. package/dist/db/migrations.js +19 -12
  20. package/dist/db/migrations.js.map +1 -1
  21. package/dist/db/queries.d.ts +32 -1
  22. package/dist/db/queries.d.ts.map +1 -1
  23. package/dist/db/queries.js +271 -118
  24. package/dist/db/queries.js.map +1 -1
  25. package/dist/db/schema.sql +163 -149
  26. package/dist/directory.d.ts +13 -1
  27. package/dist/directory.d.ts.map +1 -1
  28. package/dist/directory.js +85 -19
  29. package/dist/directory.js.map +1 -1
  30. package/dist/errors.d.ts +1 -1
  31. package/dist/errors.d.ts.map +1 -1
  32. package/dist/errors.js +7 -1
  33. package/dist/errors.js.map +1 -1
  34. package/dist/extraction/grammars.d.ts +9 -4
  35. package/dist/extraction/grammars.d.ts.map +1 -1
  36. package/dist/extraction/grammars.js +133 -65
  37. package/dist/extraction/grammars.js.map +1 -1
  38. package/dist/extraction/index.d.ts +6 -0
  39. package/dist/extraction/index.d.ts.map +1 -1
  40. package/dist/extraction/index.js +209 -44
  41. package/dist/extraction/index.js.map +1 -1
  42. package/dist/extraction/tree-sitter.d.ts +67 -0
  43. package/dist/extraction/tree-sitter.d.ts.map +1 -1
  44. package/dist/extraction/tree-sitter.js +980 -38
  45. package/dist/extraction/tree-sitter.js.map +1 -1
  46. package/dist/graph/traversal.d.ts.map +1 -1
  47. package/dist/graph/traversal.js +6 -2
  48. package/dist/graph/traversal.js.map +1 -1
  49. package/dist/index.d.ts +6 -38
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +91 -73
  52. package/dist/index.js.map +1 -1
  53. package/dist/installer/banner.js +7 -7
  54. package/dist/installer/claude-md-template.js +32 -32
  55. package/dist/installer/config-writer.d.ts +9 -0
  56. package/dist/installer/config-writer.d.ts.map +1 -1
  57. package/dist/installer/config-writer.js +126 -17
  58. package/dist/installer/config-writer.js.map +1 -1
  59. package/dist/installer/index.d.ts.map +1 -1
  60. package/dist/installer/index.js +11 -9
  61. package/dist/installer/index.js.map +1 -1
  62. package/dist/mcp/index.d.ts +14 -3
  63. package/dist/mcp/index.d.ts.map +1 -1
  64. package/dist/mcp/index.js +109 -29
  65. package/dist/mcp/index.js.map +1 -1
  66. package/dist/mcp/tools.d.ts +66 -1
  67. package/dist/mcp/tools.d.ts.map +1 -1
  68. package/dist/mcp/tools.js +442 -49
  69. package/dist/mcp/tools.js.map +1 -1
  70. package/dist/mcp/transport.d.ts.map +1 -1
  71. package/dist/mcp/transport.js +2 -0
  72. package/dist/mcp/transport.js.map +1 -1
  73. package/dist/resolution/frameworks/index.d.ts +1 -0
  74. package/dist/resolution/frameworks/index.d.ts.map +1 -1
  75. package/dist/resolution/frameworks/index.js +5 -1
  76. package/dist/resolution/frameworks/index.js.map +1 -1
  77. package/dist/resolution/frameworks/svelte.d.ts +9 -0
  78. package/dist/resolution/frameworks/svelte.d.ts.map +1 -0
  79. package/dist/resolution/frameworks/svelte.js +268 -0
  80. package/dist/resolution/frameworks/svelte.js.map +1 -0
  81. package/dist/resolution/index.d.ts +11 -2
  82. package/dist/resolution/index.d.ts.map +1 -1
  83. package/dist/resolution/index.js +94 -13
  84. package/dist/resolution/index.js.map +1 -1
  85. package/dist/search/query-utils.d.ts +25 -0
  86. package/dist/search/query-utils.d.ts.map +1 -0
  87. package/dist/search/query-utils.js +124 -0
  88. package/dist/search/query-utils.js.map +1 -0
  89. package/dist/sentry.d.ts +22 -0
  90. package/dist/sentry.d.ts.map +1 -0
  91. package/dist/sentry.js +159 -0
  92. package/dist/sentry.js.map +1 -0
  93. package/dist/sync/index.d.ts +4 -2
  94. package/dist/sync/index.d.ts.map +1 -1
  95. package/dist/sync/index.js +3 -5
  96. package/dist/sync/index.js.map +1 -1
  97. package/dist/types.d.ts +7 -1
  98. package/dist/types.d.ts.map +1 -1
  99. package/dist/types.js +13 -0
  100. package/dist/types.js.map +1 -1
  101. package/dist/utils.d.ts +89 -2
  102. package/dist/utils.d.ts.map +1 -1
  103. package/dist/utils.js +252 -3
  104. package/dist/utils.js.map +1 -1
  105. package/dist/vectors/embedder.d.ts +1 -1
  106. package/dist/vectors/embedder.d.ts.map +1 -1
  107. package/dist/vectors/embedder.js +2 -2
  108. package/dist/vectors/embedder.js.map +1 -1
  109. package/dist/vectors/search.d.ts.map +1 -1
  110. package/dist/vectors/search.js +33 -32
  111. package/dist/vectors/search.js.map +1 -1
  112. package/package.json +74 -67
  113. package/scripts/patch-tree-sitter-dart.js +112 -0
  114. package/scripts/postinstall.js +71 -68
  115. package/dist/sync/git-hooks.d.ts +0 -66
  116. package/dist/sync/git-hooks.d.ts.map +0 -1
  117. package/dist/sync/git-hooks.js +0 -281
  118. package/dist/sync/git-hooks.js.map +0 -1
@@ -1 +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"}
1
+ {"version":3,"file":"grammars.d.ts","sourceRoot":"","sources":["../../src/extraction/grammars.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AA8EpC;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CA6BlD,CAAC;AAwCF;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAc3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAGzD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAK/D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,EAAE,CAIlD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAM/E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAuBjE"}
@@ -2,7 +2,8 @@
2
2
  /**
3
3
  * Grammar Loading and Caching
4
4
  *
5
- * Manages tree-sitter language grammars.
5
+ * Uses lazy per-language loading so one missing native grammar does not
6
+ * break extraction for all other languages.
6
7
  */
7
8
  var __importDefault = (this && this.__importDefault) || function (mod) {
8
9
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -14,59 +15,80 @@ exports.detectLanguage = detectLanguage;
14
15
  exports.isLanguageSupported = isLanguageSupported;
15
16
  exports.getSupportedLanguages = getSupportedLanguages;
16
17
  exports.clearParserCache = clearParserCache;
18
+ exports.getUnavailableGrammarErrors = getUnavailableGrammarErrors;
17
19
  exports.getLanguageDisplayName = getLanguageDisplayName;
18
20
  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
21
  /**
51
- * Mapping of Language to tree-sitter grammar
22
+ * Lazy grammar loaders each language's native binding is only loaded
23
+ * on first use, so a failure in one grammar doesn't affect others.
52
24
  */
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
25
+ const grammarLoaders = {
26
+ typescript: () => {
27
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
28
+ return require('tree-sitter-typescript').typescript;
29
+ },
30
+ tsx: () => {
31
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
32
+ return require('tree-sitter-typescript').tsx;
33
+ },
34
+ javascript: () => {
35
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
36
+ return require('tree-sitter-javascript');
37
+ },
38
+ jsx: () => {
39
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
40
+ return require('tree-sitter-javascript');
41
+ },
42
+ python: () => {
43
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
44
+ return require('tree-sitter-python');
45
+ },
46
+ go: () => {
47
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
48
+ return require('tree-sitter-go');
49
+ },
50
+ rust: () => {
51
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
52
+ return require('tree-sitter-rust');
53
+ },
54
+ java: () => {
55
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
56
+ return require('tree-sitter-java');
57
+ },
58
+ c: () => {
59
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
60
+ return require('tree-sitter-c');
61
+ },
62
+ cpp: () => {
63
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
64
+ return require('tree-sitter-cpp');
65
+ },
66
+ csharp: () => {
67
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
68
+ return require('tree-sitter-c-sharp');
69
+ },
70
+ php: () => {
71
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
72
+ return require('tree-sitter-php').php;
73
+ },
74
+ ruby: () => {
75
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
76
+ return require('tree-sitter-ruby');
77
+ },
78
+ swift: () => {
79
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
80
+ return require('tree-sitter-swift');
81
+ },
82
+ kotlin: () => {
83
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
84
+ return require('tree-sitter-kotlin');
85
+ },
86
+ dart: () => {
87
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
88
+ return require('@sengac/tree-sitter-dart');
89
+ },
90
+ // Note: tree-sitter-liquid has ABI compatibility issues with tree-sitter 0.22+
91
+ // Liquid extraction is handled separately via regex in tree-sitter.ts
70
92
  };
71
93
  /**
72
94
  * File extension to Language mapping
@@ -97,26 +119,56 @@ exports.EXTENSION_MAP = {
97
119
  '.swift': 'swift',
98
120
  '.kt': 'kotlin',
99
121
  '.kts': 'kotlin',
122
+ '.dart': 'dart',
100
123
  '.liquid': 'liquid',
124
+ '.svelte': 'svelte',
101
125
  };
102
126
  /**
103
- * Cache for initialized parsers
127
+ * Caches for loaded grammars and parsers
104
128
  */
105
129
  const parserCache = new Map();
130
+ const grammarCache = new Map();
131
+ const unavailableGrammarErrors = new Map();
132
+ /**
133
+ * Load a grammar on demand, caching the result.
134
+ * Returns null if the grammar is not available on this platform.
135
+ */
136
+ function loadGrammar(language) {
137
+ if (grammarCache.has(language)) {
138
+ return grammarCache.get(language) ?? null;
139
+ }
140
+ const loader = grammarLoaders[language];
141
+ if (!loader) {
142
+ grammarCache.set(language, null);
143
+ return null;
144
+ }
145
+ try {
146
+ const grammar = loader();
147
+ if (!grammar) {
148
+ throw new Error(`Grammar loader returned empty value for ${language}`);
149
+ }
150
+ grammarCache.set(language, grammar);
151
+ return grammar;
152
+ }
153
+ catch (error) {
154
+ const message = error instanceof Error ? error.message : String(error);
155
+ console.warn(`[CodeGraph] Failed to load ${language} grammar — parsing will be unavailable: ${message}`);
156
+ unavailableGrammarErrors.set(language, message);
157
+ grammarCache.set(language, null);
158
+ return null;
159
+ }
160
+ }
106
161
  /**
107
162
  * Get a parser for the specified language
108
163
  */
109
164
  function getParser(language) {
110
- // Check cache first
111
165
  if (parserCache.has(language)) {
112
166
  return parserCache.get(language);
113
167
  }
114
- // Get grammar for language
115
- const grammar = GRAMMAR_MAP[language];
168
+ const grammar = loadGrammar(language);
116
169
  if (!grammar) {
117
170
  return null;
118
171
  }
119
- // Create and cache parser
120
172
  const parser = new tree_sitter_1.default();
121
173
  parser.setLanguage(grammar);
122
174
  parserCache.set(language, parser);
@@ -130,28 +182,42 @@ function detectLanguage(filePath) {
130
182
  return exports.EXTENSION_MAP[ext] || 'unknown';
131
183
  }
132
184
  /**
133
- * Check if a language is supported
185
+ * Check if a language is supported by currently available parsers.
134
186
  */
135
187
  function isLanguageSupported(language) {
136
- // Liquid uses custom regex-based extraction, not tree-sitter
188
+ if (language === 'svelte')
189
+ return true; // custom extractor (script block delegation)
137
190
  if (language === 'liquid')
138
- return true;
139
- return language !== 'unknown' && language in GRAMMAR_MAP;
191
+ return true; // custom regex extractor
192
+ if (language === 'unknown')
193
+ return false;
194
+ return loadGrammar(language) !== null;
140
195
  }
141
196
  /**
142
- * Get all supported languages
197
+ * Get all currently supported languages.
143
198
  */
144
199
  function getSupportedLanguages() {
145
- const languages = Object.keys(GRAMMAR_MAP);
146
- // Add Liquid which uses custom extraction
147
- languages.push('liquid');
148
- return languages;
200
+ const available = Object.keys(grammarLoaders)
201
+ .filter((language) => loadGrammar(language) !== null);
202
+ return [...available, 'svelte', 'liquid'];
149
203
  }
150
204
  /**
151
- * Clear the parser cache (useful for testing)
205
+ * Clear parser/grammar caches (useful for testing)
152
206
  */
153
207
  function clearParserCache() {
154
208
  parserCache.clear();
209
+ grammarCache.clear();
210
+ unavailableGrammarErrors.clear();
211
+ }
212
+ /**
213
+ * Report grammars that failed to load.
214
+ */
215
+ function getUnavailableGrammarErrors() {
216
+ const out = {};
217
+ for (const [language, message] of unavailableGrammarErrors.entries()) {
218
+ out[language] = message;
219
+ }
220
+ return out;
155
221
  }
156
222
  /**
157
223
  * Get language display name
@@ -173,6 +239,8 @@ function getLanguageDisplayName(language) {
173
239
  ruby: 'Ruby',
174
240
  swift: 'Swift',
175
241
  kotlin: 'Kotlin',
242
+ dart: 'Dart',
243
+ svelte: 'Svelte',
176
244
  liquid: 'Liquid',
177
245
  unknown: 'Unknown',
178
246
  };
@@ -1 +1 @@
1
- {"version":3,"file":"grammars.js","sourceRoot":"","sources":["../../src/extraction/grammars.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grammars.js","sourceRoot":"","sources":["../../src/extraction/grammars.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  *
4
4
  * Coordinates file scanning, parsing, and database storage.
5
5
  */
6
+ import * as fs from 'fs';
6
7
  import { ExtractionResult, ExtractionError, CodeGraphConfig } from '../types';
7
8
  import { QueryBuilder } from '../db/queries';
8
9
  /**
@@ -69,6 +70,11 @@ export declare class ExtractionOrchestrator {
69
70
  * Index a single file
70
71
  */
71
72
  indexFile(relativePath: string): Promise<ExtractionResult>;
73
+ /**
74
+ * Index a single file with pre-read content and stats.
75
+ * Used by the parallel batch reader to avoid redundant file I/O.
76
+ */
77
+ indexFileWithContent(relativePath: string, content: string, stats: fs.Stats): Promise<ExtractionResult>;
72
78
  /**
73
79
  * Store extraction result in database
74
80
  */
@@ -1 +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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extraction/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAKzB,OAAO,EAGL,gBAAgB,EAChB,eAAe,EACf,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAc7C;;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;AAUD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,eAAe,GACtB,OAAO,CAgBT;AAgCD;;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,CA+GV;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;IA2IvB;;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;IAsChE;;;OAGG;IACG,oBAAoB,CACxB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,EAAE,CAAC,KAAK,GACd,OAAO,CAAC,gBAAgB,CAAC;IAqD5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAsD7B;;OAEG;IACG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAkF/E;;OAEG;IACH,eAAe,IAAI;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE;CAuC9E;AAGD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}