@nahisaho/musubix-codegraph 2.3.0 → 2.3.2
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.
- package/README.md +45 -23
- package/dist/parser/ast-parser.d.ts +29 -1
- package/dist/parser/ast-parser.d.ts.map +1 -1
- package/dist/parser/ast-parser.js +142 -19
- package/dist/parser/ast-parser.js.map +1 -1
- package/dist/parser/extractors/base-extractor.d.ts +252 -0
- package/dist/parser/extractors/base-extractor.d.ts.map +1 -0
- package/dist/parser/extractors/base-extractor.js +267 -0
- package/dist/parser/extractors/base-extractor.js.map +1 -0
- package/dist/parser/extractors/c-cpp.d.ts +38 -0
- package/dist/parser/extractors/c-cpp.d.ts.map +1 -0
- package/dist/parser/extractors/c-cpp.js +411 -0
- package/dist/parser/extractors/c-cpp.js.map +1 -0
- package/dist/parser/extractors/csharp.d.ts +28 -0
- package/dist/parser/extractors/csharp.d.ts.map +1 -0
- package/dist/parser/extractors/csharp.js +283 -0
- package/dist/parser/extractors/csharp.js.map +1 -0
- package/dist/parser/extractors/go.d.ts +25 -0
- package/dist/parser/extractors/go.d.ts.map +1 -0
- package/dist/parser/extractors/go.js +247 -0
- package/dist/parser/extractors/go.js.map +1 -0
- package/dist/parser/extractors/hcl.d.ts +22 -0
- package/dist/parser/extractors/hcl.d.ts.map +1 -0
- package/dist/parser/extractors/hcl.js +155 -0
- package/dist/parser/extractors/hcl.js.map +1 -0
- package/dist/parser/extractors/index.d.ts +68 -0
- package/dist/parser/extractors/index.d.ts.map +1 -0
- package/dist/parser/extractors/index.js +187 -0
- package/dist/parser/extractors/index.js.map +1 -0
- package/dist/parser/extractors/java.d.ts +28 -0
- package/dist/parser/extractors/java.d.ts.map +1 -0
- package/dist/parser/extractors/java.js +294 -0
- package/dist/parser/extractors/java.js.map +1 -0
- package/dist/parser/extractors/kotlin.d.ts +27 -0
- package/dist/parser/extractors/kotlin.d.ts.map +1 -0
- package/dist/parser/extractors/kotlin.js +269 -0
- package/dist/parser/extractors/kotlin.js.map +1 -0
- package/dist/parser/extractors/lua.d.ts +26 -0
- package/dist/parser/extractors/lua.d.ts.map +1 -0
- package/dist/parser/extractors/lua.js +244 -0
- package/dist/parser/extractors/lua.js.map +1 -0
- package/dist/parser/extractors/php.d.ts +27 -0
- package/dist/parser/extractors/php.d.ts.map +1 -0
- package/dist/parser/extractors/php.js +270 -0
- package/dist/parser/extractors/php.js.map +1 -0
- package/dist/parser/extractors/python.d.ts +22 -0
- package/dist/parser/extractors/python.d.ts.map +1 -0
- package/dist/parser/extractors/python.js +184 -0
- package/dist/parser/extractors/python.js.map +1 -0
- package/dist/parser/extractors/ruby.d.ts +25 -0
- package/dist/parser/extractors/ruby.d.ts.map +1 -0
- package/dist/parser/extractors/ruby.js +193 -0
- package/dist/parser/extractors/ruby.js.map +1 -0
- package/dist/parser/extractors/rust.d.ts +27 -0
- package/dist/parser/extractors/rust.d.ts.map +1 -0
- package/dist/parser/extractors/rust.js +262 -0
- package/dist/parser/extractors/rust.js.map +1 -0
- package/dist/parser/extractors/scala.d.ts +27 -0
- package/dist/parser/extractors/scala.d.ts.map +1 -0
- package/dist/parser/extractors/scala.js +265 -0
- package/dist/parser/extractors/scala.js.map +1 -0
- package/dist/parser/extractors/swift.d.ts +30 -0
- package/dist/parser/extractors/swift.d.ts.map +1 -0
- package/dist/parser/extractors/swift.js +326 -0
- package/dist/parser/extractors/swift.js.map +1 -0
- package/dist/parser/extractors/typescript.d.ts +30 -0
- package/dist/parser/extractors/typescript.d.ts.map +1 -0
- package/dist/parser/extractors/typescript.js +230 -0
- package/dist/parser/extractors/typescript.js.map +1 -0
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +17 -2
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
`@nahisaho/musubix-codegraph` is a high-performance code graph analysis library that provides:
|
|
11
11
|
|
|
12
|
-
- **AST Parsing**: Tree-sitter based multi-language code parsing (16 languages)
|
|
12
|
+
- **AST Parsing**: Tree-sitter based multi-language code parsing (**16 languages** in v2.3.2)
|
|
13
13
|
- **Graph Engine**: Code entity and relationship graph construction
|
|
14
14
|
- **GraphRAG**: Graph-based Retrieval Augmented Generation for code search
|
|
15
15
|
- **YATA Integration**: Seamless integration with YATA knowledge graph
|
|
@@ -66,22 +66,35 @@ const search = new GraphRAGSearch(graph);
|
|
|
66
66
|
const communities = await search.detectCommunities();
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
## Supported Languages
|
|
70
|
-
|
|
71
|
-
| Language | Extensions | Status |
|
|
72
|
-
|
|
73
|
-
| TypeScript | `.ts`, `.tsx` | ✅ |
|
|
74
|
-
| JavaScript | `.js`, `.jsx`, `.mjs` | ✅ |
|
|
75
|
-
| Python | `.py` | ✅ |
|
|
76
|
-
| Rust | `.rs` | ✅ |
|
|
77
|
-
| Go | `.go` | ✅ |
|
|
78
|
-
| Java | `.java` | ✅ |
|
|
79
|
-
| PHP | `.php` | ✅ |
|
|
80
|
-
| C# | `.cs` | ✅ |
|
|
81
|
-
| C | `.c`, `.h` | ✅ |
|
|
82
|
-
| C++ | `.cpp`, `.hpp`, `.cc` | ✅ |
|
|
83
|
-
| Ruby | `.rb` | ✅ |
|
|
84
|
-
| HCL | `.tf`, `.hcl` | ✅ |
|
|
69
|
+
## Supported Languages (16 languages - v2.3.2)
|
|
70
|
+
|
|
71
|
+
| Priority | Language | Extensions | Status |
|
|
72
|
+
|----------|----------|-----------|--------|
|
|
73
|
+
| **Existing** | TypeScript | `.ts`, `.tsx` | ✅ Full Support |
|
|
74
|
+
| **Existing** | JavaScript | `.js`, `.jsx`, `.mjs` | ✅ Full Support |
|
|
75
|
+
| **Existing** | Python | `.py`, `.pyw` | ✅ Full Support |
|
|
76
|
+
| **P0** | Rust | `.rs` | ✅ Full Support |
|
|
77
|
+
| **P0** | Go | `.go` | ✅ Full Support |
|
|
78
|
+
| **P0** | Java | `.java` | ✅ Full Support |
|
|
79
|
+
| **P1** | PHP | `.php` | ✅ Full Support |
|
|
80
|
+
| **P1** | C# | `.cs` | ✅ Full Support |
|
|
81
|
+
| **P1** | C | `.c`, `.h` | ✅ Full Support |
|
|
82
|
+
| **P1** | C++ | `.cpp`, `.hpp`, `.cc`, `.hh` | ✅ Full Support |
|
|
83
|
+
| **P1** | Ruby | `.rb` | ✅ Full Support |
|
|
84
|
+
| **P2** | HCL/Terraform | `.tf`, `.hcl` | ✅ Full Support |
|
|
85
|
+
| **P2** | Kotlin | `.kt`, `.kts` | ✅ Full Support |
|
|
86
|
+
| **P2** | Swift | `.swift` | ✅ Full Support |
|
|
87
|
+
| **P2** | Scala | `.scala`, `.sc` | ✅ Full Support |
|
|
88
|
+
| **P2** | Lua | `.lua` | ✅ Full Support |
|
|
89
|
+
|
|
90
|
+
**Entity Types Extracted:**
|
|
91
|
+
- Functions, Methods, Constructors
|
|
92
|
+
- Classes, Interfaces, Traits, Protocols
|
|
93
|
+
- Structs, Enums, Records, Unions
|
|
94
|
+
- Modules, Packages, Namespaces
|
|
95
|
+
- Variables, Constants, Properties
|
|
96
|
+
- Type Definitions, Templates
|
|
97
|
+
- Language-specific constructs (Terraform resources, Swift extensions, etc.)
|
|
85
98
|
|
|
86
99
|
## API Reference
|
|
87
100
|
|
|
@@ -147,19 +160,28 @@ When used with MUSUBIX CLI:
|
|
|
147
160
|
|
|
148
161
|
```bash
|
|
149
162
|
# Index repository
|
|
150
|
-
musubix
|
|
163
|
+
musubix cg index /path/to/repo
|
|
151
164
|
|
|
152
165
|
# Query graph
|
|
153
|
-
musubix
|
|
166
|
+
musubix cg query "UserService"
|
|
154
167
|
|
|
155
168
|
# Find dependencies
|
|
156
|
-
musubix
|
|
169
|
+
musubix cg deps UserService
|
|
170
|
+
|
|
171
|
+
# Find callers/callees
|
|
172
|
+
musubix cg callers functionName
|
|
173
|
+
musubix cg callees functionName
|
|
174
|
+
|
|
175
|
+
# Semantic search
|
|
176
|
+
musubix cg search "authentication flow"
|
|
157
177
|
|
|
158
178
|
# Show statistics
|
|
159
|
-
musubix
|
|
179
|
+
musubix cg stats
|
|
160
180
|
|
|
161
|
-
#
|
|
162
|
-
musubix
|
|
181
|
+
# Show supported languages (v2.3.2)
|
|
182
|
+
musubix cg languages # Table format
|
|
183
|
+
musubix cg languages --json # JSON format
|
|
184
|
+
musubix cg langs # Alias
|
|
163
185
|
```
|
|
164
186
|
|
|
165
187
|
## Performance
|
|
@@ -2,35 +2,54 @@
|
|
|
2
2
|
* @nahisaho/musubix-codegraph - AST Parser
|
|
3
3
|
*
|
|
4
4
|
* Tree-sitter based AST parser for code entity extraction
|
|
5
|
+
* Enhanced with ExtractorRegistry for 16-language support (v2.3.2)
|
|
5
6
|
*
|
|
6
7
|
* @see REQ-CG-AST-001 - Multi-language support
|
|
7
8
|
* @see REQ-CG-AST-002 - Entity extraction
|
|
8
9
|
* @see REQ-CG-AST-003 - Relation extraction
|
|
10
|
+
* @see REQ-CG-MULTILANG-001 to REQ-CG-MULTILANG-013 (v2.3.2)
|
|
9
11
|
* @see DES-CG-002
|
|
10
|
-
* @see TSK-CG-010
|
|
12
|
+
* @see TSK-CG-003, TSK-CG-010
|
|
11
13
|
*/
|
|
12
14
|
import type { Language, ParseResult, ParserOptions } from '../types.js';
|
|
13
15
|
/**
|
|
14
16
|
* AST Parser using Tree-sitter
|
|
17
|
+
* Enhanced with ExtractorRegistry for multi-language support (v2.3.2)
|
|
15
18
|
*/
|
|
16
19
|
export declare class ASTParser {
|
|
17
20
|
private options;
|
|
18
21
|
private parser;
|
|
19
22
|
private languages;
|
|
20
23
|
private initialized;
|
|
24
|
+
private useExtractors;
|
|
21
25
|
constructor(options?: Partial<ParserOptions>);
|
|
22
26
|
/**
|
|
23
27
|
* Initialize tree-sitter and load language grammars
|
|
28
|
+
* Now supports 16 languages via ExtractorRegistry
|
|
24
29
|
*/
|
|
25
30
|
private ensureInitialized;
|
|
31
|
+
/**
|
|
32
|
+
* Load grammar for a specific language
|
|
33
|
+
*/
|
|
34
|
+
private loadGrammar;
|
|
35
|
+
/**
|
|
36
|
+
* Load all available grammars
|
|
37
|
+
*/
|
|
38
|
+
private loadAvailableGrammars;
|
|
26
39
|
/**
|
|
27
40
|
* Parse a source file
|
|
28
41
|
*/
|
|
29
42
|
parseFile(filePath: string): Promise<ParseResult>;
|
|
30
43
|
/**
|
|
31
44
|
* Parse source code content
|
|
45
|
+
* Enhanced to use ExtractorRegistry for 16-language support
|
|
32
46
|
*/
|
|
33
47
|
parseContent(content: string, language: Language, filePath?: string): Promise<ParseResult>;
|
|
48
|
+
/**
|
|
49
|
+
* Parse using ExtractorRegistry (v2.3.2)
|
|
50
|
+
* Supports 16 languages with unified interface
|
|
51
|
+
*/
|
|
52
|
+
private parseWithExtractor;
|
|
34
53
|
/**
|
|
35
54
|
* Parse using tree-sitter
|
|
36
55
|
*/
|
|
@@ -73,7 +92,16 @@ export declare class ASTParser {
|
|
|
73
92
|
private parseWithRegex;
|
|
74
93
|
/**
|
|
75
94
|
* Get supported languages
|
|
95
|
+
* Now returns all 16 supported languages (v2.3.2)
|
|
76
96
|
*/
|
|
77
97
|
getSupportedLanguages(): Language[];
|
|
98
|
+
/**
|
|
99
|
+
* Check if a language is supported
|
|
100
|
+
*/
|
|
101
|
+
isLanguageSupported(language: Language): boolean;
|
|
102
|
+
/**
|
|
103
|
+
* Preload all extractors for faster parsing
|
|
104
|
+
*/
|
|
105
|
+
preloadExtractors(): Promise<void>;
|
|
78
106
|
}
|
|
79
107
|
//# sourceMappingURL=ast-parser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-parser.d.ts","sourceRoot":"","sources":["../../src/parser/ast-parser.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ast-parser.d.ts","sourceRoot":"","sources":["../../src/parser/ast-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,QAAQ,EAGR,WAAW,EACX,aAAa,EAEd,MAAM,aAAa,CAAC;AAgCrB;;;GAGG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAQ;gBAEjB,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM;IAQhD;;;OAGG;YACW,iBAAiB;IAkB/B;;OAEG;YACW,WAAW;IA8CzB;;OAEG;YACW,qBAAqB;IAmBnC;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAsCvD;;;OAGG;IACG,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,QAAQ,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,WAAW,CAAC;IAoCvB;;;OAGG;YACW,kBAAkB;IAgChC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0C3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBvB;;OAEG;IACH,OAAO,CAAC,aAAa;IA4CrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAuBpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAetB;;OAEG;IACH,OAAO,CAAC,aAAa;IAgDrB;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgDxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAyBxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAgItB;;;OAGG;IACH,qBAAqB,IAAI,QAAQ,EAAE;IAanC;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAIhD;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;CAGzC"}
|
|
@@ -2,24 +2,29 @@
|
|
|
2
2
|
* @nahisaho/musubix-codegraph - AST Parser
|
|
3
3
|
*
|
|
4
4
|
* Tree-sitter based AST parser for code entity extraction
|
|
5
|
+
* Enhanced with ExtractorRegistry for 16-language support (v2.3.2)
|
|
5
6
|
*
|
|
6
7
|
* @see REQ-CG-AST-001 - Multi-language support
|
|
7
8
|
* @see REQ-CG-AST-002 - Entity extraction
|
|
8
9
|
* @see REQ-CG-AST-003 - Relation extraction
|
|
10
|
+
* @see REQ-CG-MULTILANG-001 to REQ-CG-MULTILANG-013 (v2.3.2)
|
|
9
11
|
* @see DES-CG-002
|
|
10
|
-
* @see TSK-CG-010
|
|
12
|
+
* @see TSK-CG-003, TSK-CG-010
|
|
11
13
|
*/
|
|
12
14
|
import { getLanguageFromExtension, generateEntityId, generateRelationId, LANGUAGE_EXTENSIONS, } from '../types.js';
|
|
15
|
+
import { extractorRegistry } from './extractors/index.js';
|
|
13
16
|
import * as fs from 'fs/promises';
|
|
14
17
|
import * as path from 'path';
|
|
15
18
|
/**
|
|
16
19
|
* AST Parser using Tree-sitter
|
|
20
|
+
* Enhanced with ExtractorRegistry for multi-language support (v2.3.2)
|
|
17
21
|
*/
|
|
18
22
|
export class ASTParser {
|
|
19
23
|
options;
|
|
20
24
|
parser = null;
|
|
21
25
|
languages = new Map();
|
|
22
26
|
initialized = false;
|
|
27
|
+
useExtractors = true; // Use new extractor system by default
|
|
23
28
|
constructor(options = {}) {
|
|
24
29
|
this.options = {
|
|
25
30
|
languages: options.languages ?? ['typescript', 'javascript', 'python'],
|
|
@@ -29,6 +34,7 @@ export class ASTParser {
|
|
|
29
34
|
}
|
|
30
35
|
/**
|
|
31
36
|
* Initialize tree-sitter and load language grammars
|
|
37
|
+
* Now supports 16 languages via ExtractorRegistry
|
|
32
38
|
*/
|
|
33
39
|
async ensureInitialized() {
|
|
34
40
|
if (this.initialized)
|
|
@@ -37,23 +43,8 @@ export class ASTParser {
|
|
|
37
43
|
// Dynamic import of tree-sitter
|
|
38
44
|
const Parser = (await import('tree-sitter')).default;
|
|
39
45
|
this.parser = new Parser();
|
|
40
|
-
// Load
|
|
41
|
-
|
|
42
|
-
const TypeScript = (await import('tree-sitter-typescript')).default;
|
|
43
|
-
this.languages.set('typescript', TypeScript.typescript);
|
|
44
|
-
this.languages.set('javascript', TypeScript.typescript);
|
|
45
|
-
}
|
|
46
|
-
catch {
|
|
47
|
-
// TypeScript grammar not available
|
|
48
|
-
}
|
|
49
|
-
// Load Python grammar
|
|
50
|
-
try {
|
|
51
|
-
const Python = (await import('tree-sitter-python')).default;
|
|
52
|
-
this.languages.set('python', Python);
|
|
53
|
-
}
|
|
54
|
-
catch {
|
|
55
|
-
// Python grammar not available
|
|
56
|
-
}
|
|
46
|
+
// Load grammars dynamically based on available extractors
|
|
47
|
+
await this.loadAvailableGrammars();
|
|
57
48
|
this.initialized = true;
|
|
58
49
|
}
|
|
59
50
|
catch {
|
|
@@ -61,6 +52,77 @@ export class ASTParser {
|
|
|
61
52
|
this.initialized = true;
|
|
62
53
|
}
|
|
63
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Load grammar for a specific language
|
|
57
|
+
*/
|
|
58
|
+
async loadGrammar(language) {
|
|
59
|
+
if (this.languages.has(language))
|
|
60
|
+
return true;
|
|
61
|
+
const grammarMap = {
|
|
62
|
+
typescript: 'tree-sitter-typescript',
|
|
63
|
+
javascript: 'tree-sitter-typescript',
|
|
64
|
+
python: 'tree-sitter-python',
|
|
65
|
+
rust: 'tree-sitter-rust',
|
|
66
|
+
go: 'tree-sitter-go',
|
|
67
|
+
java: 'tree-sitter-java',
|
|
68
|
+
php: 'tree-sitter-php',
|
|
69
|
+
csharp: 'tree-sitter-c-sharp',
|
|
70
|
+
c: 'tree-sitter-c',
|
|
71
|
+
cpp: 'tree-sitter-cpp',
|
|
72
|
+
ruby: 'tree-sitter-ruby',
|
|
73
|
+
hcl: 'tree-sitter-hcl',
|
|
74
|
+
kotlin: 'tree-sitter-kotlin',
|
|
75
|
+
swift: 'tree-sitter-swift',
|
|
76
|
+
scala: 'tree-sitter-scala',
|
|
77
|
+
lua: 'tree-sitter-lua',
|
|
78
|
+
};
|
|
79
|
+
const grammarModule = grammarMap[language];
|
|
80
|
+
if (!grammarModule)
|
|
81
|
+
return false;
|
|
82
|
+
try {
|
|
83
|
+
const mod = await import(grammarModule);
|
|
84
|
+
const grammar = mod.default;
|
|
85
|
+
// Handle TypeScript/JavaScript special case
|
|
86
|
+
if (language === 'typescript' || language === 'javascript') {
|
|
87
|
+
if (grammar.typescript) {
|
|
88
|
+
this.languages.set('typescript', grammar.typescript);
|
|
89
|
+
this.languages.set('javascript', grammar.typescript);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
this.languages.set(language, grammar);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
this.languages.set(language, grammar);
|
|
97
|
+
}
|
|
98
|
+
return true;
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Load all available grammars
|
|
106
|
+
*/
|
|
107
|
+
async loadAvailableGrammars() {
|
|
108
|
+
// Load TypeScript/JavaScript grammar (commonly available)
|
|
109
|
+
try {
|
|
110
|
+
const TypeScript = (await import('tree-sitter-typescript')).default;
|
|
111
|
+
this.languages.set('typescript', TypeScript.typescript);
|
|
112
|
+
this.languages.set('javascript', TypeScript.typescript);
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
// TypeScript grammar not available
|
|
116
|
+
}
|
|
117
|
+
// Load Python grammar (commonly available)
|
|
118
|
+
try {
|
|
119
|
+
const Python = (await import('tree-sitter-python')).default;
|
|
120
|
+
this.languages.set('python', Python);
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
// Python grammar not available
|
|
124
|
+
}
|
|
125
|
+
}
|
|
64
126
|
/**
|
|
65
127
|
* Parse a source file
|
|
66
128
|
*/
|
|
@@ -100,12 +162,22 @@ export class ASTParser {
|
|
|
100
162
|
}
|
|
101
163
|
/**
|
|
102
164
|
* Parse source code content
|
|
165
|
+
* Enhanced to use ExtractorRegistry for 16-language support
|
|
103
166
|
*/
|
|
104
167
|
async parseContent(content, language, filePath) {
|
|
105
168
|
await this.ensureInitialized();
|
|
106
169
|
const startTime = Date.now();
|
|
107
170
|
const lines = content.split('\n');
|
|
108
|
-
// Try
|
|
171
|
+
// Try using ExtractorRegistry-based parsing first (v2.3.2)
|
|
172
|
+
if (this.useExtractors && extractorRegistry.hasExtractor(language)) {
|
|
173
|
+
try {
|
|
174
|
+
return await this.parseWithExtractor(content, language, filePath);
|
|
175
|
+
}
|
|
176
|
+
catch {
|
|
177
|
+
// Fall back to legacy parsing
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
// Try tree-sitter parsing
|
|
109
181
|
if (this.parser && this.languages.has(language)) {
|
|
110
182
|
try {
|
|
111
183
|
return this.parseWithTreeSitter(content, language, filePath, lines.length);
|
|
@@ -114,9 +186,41 @@ export class ASTParser {
|
|
|
114
186
|
// Fall back to regex parsing
|
|
115
187
|
}
|
|
116
188
|
}
|
|
189
|
+
// Try to load grammar on-demand
|
|
190
|
+
if (this.parser && await this.loadGrammar(language)) {
|
|
191
|
+
try {
|
|
192
|
+
return this.parseWithTreeSitter(content, language, filePath, lines.length);
|
|
193
|
+
}
|
|
194
|
+
catch {
|
|
195
|
+
// Fall back to regex parsing
|
|
196
|
+
}
|
|
197
|
+
}
|
|
117
198
|
// Fallback: regex-based parsing
|
|
118
199
|
return this.parseWithRegex(content, language, filePath, lines.length, startTime);
|
|
119
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* Parse using ExtractorRegistry (v2.3.2)
|
|
203
|
+
* Supports 16 languages with unified interface
|
|
204
|
+
*/
|
|
205
|
+
async parseWithExtractor(content, language, filePath) {
|
|
206
|
+
const extractor = await extractorRegistry.getExtractor(language);
|
|
207
|
+
if (!extractor) {
|
|
208
|
+
throw new Error(`No extractor for language: ${language}`);
|
|
209
|
+
}
|
|
210
|
+
// Get grammar for tree-sitter
|
|
211
|
+
let grammar = this.languages.get(language);
|
|
212
|
+
if (!grammar) {
|
|
213
|
+
await this.loadGrammar(language);
|
|
214
|
+
grammar = this.languages.get(language);
|
|
215
|
+
}
|
|
216
|
+
if (!grammar || !this.parser) {
|
|
217
|
+
throw new Error(`Grammar not available for: ${language}`);
|
|
218
|
+
}
|
|
219
|
+
this.parser.setLanguage(grammar);
|
|
220
|
+
const tree = this.parser.parse(content);
|
|
221
|
+
// Use extractor to parse - cast tree to proper type expected by extractor
|
|
222
|
+
return extractor.extract(tree, filePath || 'unknown', content);
|
|
223
|
+
}
|
|
120
224
|
/**
|
|
121
225
|
* Parse using tree-sitter
|
|
122
226
|
*/
|
|
@@ -481,9 +585,28 @@ export class ASTParser {
|
|
|
481
585
|
}
|
|
482
586
|
/**
|
|
483
587
|
* Get supported languages
|
|
588
|
+
* Now returns all 16 supported languages (v2.3.2)
|
|
484
589
|
*/
|
|
485
590
|
getSupportedLanguages() {
|
|
591
|
+
// Get languages from ExtractorRegistry (16 languages)
|
|
592
|
+
const registryLanguages = extractorRegistry.getRegisteredLanguages();
|
|
593
|
+
if (registryLanguages.length > 0) {
|
|
594
|
+
return registryLanguages;
|
|
595
|
+
}
|
|
596
|
+
// Fallback to LANGUAGE_EXTENSIONS
|
|
486
597
|
return Object.values(LANGUAGE_EXTENSIONS).filter((v, i, a) => a.indexOf(v) === i);
|
|
487
598
|
}
|
|
599
|
+
/**
|
|
600
|
+
* Check if a language is supported
|
|
601
|
+
*/
|
|
602
|
+
isLanguageSupported(language) {
|
|
603
|
+
return extractorRegistry.hasExtractor(language);
|
|
604
|
+
}
|
|
605
|
+
/**
|
|
606
|
+
* Preload all extractors for faster parsing
|
|
607
|
+
*/
|
|
608
|
+
async preloadExtractors() {
|
|
609
|
+
await extractorRegistry.preloadAll();
|
|
610
|
+
}
|
|
488
611
|
}
|
|
489
612
|
//# sourceMappingURL=ast-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-parser.js","sourceRoot":"","sources":["../../src/parser/ast-parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ast-parser.js","sourceRoot":"","sources":["../../src/parser/ast-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAUH,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAuB7B;;;GAGG;AACH,MAAM,OAAO,SAAS;IACZ,OAAO,CAA0B;IACjC,MAAM,GAAkB,IAAI,CAAC;IAC7B,SAAS,GAAG,IAAI,GAAG,EAAqB,CAAC;IACzC,WAAW,GAAG,KAAK,CAAC;IACpB,aAAa,GAAG,IAAI,CAAC,CAAC,sCAAsC;IAEpE,YAAY,UAAkC,EAAE;QAC9C,IAAI,CAAC,OAAO,GAAG;YACb,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC;YACtE,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;YAChD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,IAAI;SACrD,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB;QAC7B,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAE7B,IAAI,CAAC;YACH,gCAAgC;YAChC,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;YACrD,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YAE3B,0DAA0D;YAC1D,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAEnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;YACvD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,QAAkB;QAC1C,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAE9C,MAAM,UAAU,GAA6B;YAC3C,UAAU,EAAE,wBAAwB;YACpC,UAAU,EAAE,wBAAwB;YACpC,MAAM,EAAE,oBAAoB;YAC5B,IAAI,EAAE,kBAAkB;YACxB,EAAE,EAAE,gBAAgB;YACpB,IAAI,EAAE,kBAAkB;YACxB,GAAG,EAAE,iBAAiB;YACtB,MAAM,EAAE,qBAAqB;YAC7B,CAAC,EAAE,eAAe;YAClB,GAAG,EAAE,iBAAiB;YACtB,IAAI,EAAE,kBAAkB;YACxB,GAAG,EAAE,iBAAiB;YACtB,MAAM,EAAE,oBAAoB;YAC5B,KAAK,EAAE,mBAAmB;YAC1B,KAAK,EAAE,mBAAmB;YAC1B,GAAG,EAAE,iBAAiB;SACvB,CAAC;QAEF,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QAEjC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YACxC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAE5B,4CAA4C;YAC5C,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;gBAC3D,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;oBACvB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;oBACrD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;gBACvD,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB;QACjC,0DAA0D;QAC1D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,CAAC,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,OAAO,CAAC;YACpE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;QAED,2CAA2C;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC;YAC5D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,cAAc;QAE/C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAErD,IAAI,OAAO,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;gBACjC,OAAO;oBACL,QAAQ,EAAE,EAAE;oBACZ,SAAS,EAAE,EAAE;oBACb,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;oBAC9C,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE;iBAC/D,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;YACpD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO;oBACL,QAAQ,EAAE,EAAE;oBACZ,SAAS,EAAE,EAAE;oBACb,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,0BAA0B,QAAQ,EAAE,EAAE,CAAC;oBAC3D,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE;iBAC/D,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO;gBACL,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,EAAE;gBACb,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,wBAAwB,OAAO,EAAE,EAAE,CAAC;gBACxD,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE;aAC/D,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAChB,OAAe,EACf,QAAkB,EAClB,QAAiB;QAEjB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElC,2DAA2D;QAC3D,IAAI,IAAI,CAAC,aAAa,IAAI,iBAAiB,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACpE,CAAC;YAAC,MAAM,CAAC;gBACP,8BAA8B;YAChC,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7E,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7E,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnF,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,kBAAkB,CAC9B,OAAe,EACf,QAAkB,EAClB,QAAiB;QAEjB,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACjE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,8BAA8B;QAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACjC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAExC,0EAA0E;QAC1E,OAAO,SAAS,CAAC,OAAO,CACtB,IAA0D,EAC1D,QAAQ,IAAI,SAAS,EACrB,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,mBAAmB,CACzB,OAAe,EACf,QAAkB,EAClB,QAA4B,EAC5B,SAAiB;QAEjB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAe,EAAE,CAAC;QAEjC,kBAAkB;QAClB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;YAC9B,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACpD,QAAQ;YACR,QAAQ;YACR,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC,CAAC;QAEJ,4BAA4B;QAC5B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEtF,OAAO;YACL,QAAQ;YACR,SAAS;YACT,MAAM,EAAE,EAAE;YACV,KAAK,EAAE;gBACL,WAAW,EAAE,SAAS;gBACtB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACpC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,eAAe,CACrB,IAAgB,EAChB,QAAkB,EAClB,SAAqB,EACrB,QAAkB,EAClB,QAA4B,EAC5B,OAAe;QAEf,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxE,IAAI,SAAS,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAChC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa,CACnB,IAAgB,EAChB,QAAkB,EAClB,QAA4B,EAC5B,OAAe;QAEf,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAExE,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;YAC/B,IAAI,EAAE,UAAU;YAChB,IAAI;YACJ,QAAQ;YACR,QAAQ;YACR,SAAS;YACT,OAAO;YACP,UAAU;SACX,CAAC,CAAC;QAEH,oBAAoB;QACpB,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACjE,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAEnE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,MAQpB;QACC,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvE,OAAO;YACL,EAAE;YACF,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,cAAc,CACpB,QAAgB,EAChB,QAAgB,EAChB,IAAiE;QAEjE,OAAO;YACL,EAAE,EAAE,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC;YAChD,QAAQ;YACR,QAAQ;YACR,IAAI;YACJ,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,QAAgB,EAAE,QAAkB;QACxD,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC3D,QAAQ,QAAQ,EAAE,CAAC;gBACjB,KAAK,mBAAmB,CAAC;gBACzB,KAAK,OAAO;oBACV,OAAO,OAAO,CAAC;gBACjB,KAAK,uBAAuB;oBAC1B,OAAO,WAAW,CAAC;gBACrB,KAAK,sBAAsB,CAAC;gBAC5B,KAAK,gBAAgB,CAAC;gBACtB,KAAK,UAAU;oBACb,OAAO,UAAU,CAAC;gBACpB,KAAK,mBAAmB;oBACtB,OAAO,QAAQ,CAAC;gBAClB,KAAK,qBAAqB;oBACxB,OAAO,UAAU,CAAC;gBACpB,KAAK,qBAAqB;oBACxB,OAAO,UAAU,CAAC;gBACpB,KAAK,wBAAwB;oBAC3B,OAAO,MAAM,CAAC;gBAChB,KAAK,kBAAkB;oBACrB,OAAO,MAAM,CAAC;gBAChB,KAAK,kBAAkB;oBACrB,OAAO,QAAQ,CAAC;gBAClB,KAAK,kBAAkB;oBACrB,OAAO,QAAQ,CAAC;gBAClB,KAAK,uBAAuB;oBAC1B,OAAO,WAAW,CAAC;YACvB,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,QAAQ,QAAQ,EAAE,CAAC;gBACjB,KAAK,kBAAkB;oBACrB,OAAO,OAAO,CAAC;gBACjB,KAAK,qBAAqB;oBACxB,OAAO,UAAU,CAAC;gBACpB,KAAK,YAAY;oBACf,OAAO,UAAU,CAAC;gBACpB,KAAK,kBAAkB,CAAC;gBACxB,KAAK,uBAAuB;oBAC1B,OAAO,QAAQ,CAAC;YACpB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,IAAgB;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAE9B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACpE,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,IAAgB,EAAE,QAAkB,EAAE,OAAe;QAC5E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;QAEzC,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC3D,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,MAAM,SAAS,GAAa,EAAE,CAAC;gBAC/B,KAAK,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBACxB,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBACxB,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;4BAChC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;4BAChC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;4BAC3B,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gCAC1D,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAC9B,CAAC;wBACH,CAAC;wBACD,MAAM;oBACR,CAAC;oBACD,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBACxC,SAAS;oBACX,CAAC;oBACD,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC3B,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;wBAC7C,IAAI,UAAU,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;4BAC/C,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;gCACjD,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oCAChC,OAAO,SAAS,CAAC,IAAI,CAAC;gCACxB,CAAC;4BACH,CAAC;wBACH,CAAC;wBACD,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,IAAgB,EAAE,QAAgB,EAAE,QAAkB;QAC7E,MAAM,SAAS,GAAe,EAAE,CAAC;QAEjC,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC3D,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAC3D,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC;gBACrC,IAAI,SAAS,EAAE,CAAC;oBACd,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC;YACpF,IAAI,cAAc,EAAE,CAAC;gBACnB,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,aAAa,EAAE,CAAC;oBACjD,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;wBACrC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;oBAC1E,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,cAAc,CACpB,OAAe,EACf,QAAkB,EAClB,QAA4B,EAC5B,SAAiB,EACjB,SAAiB;QAEjB,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAe,EAAE,CAAC;QAEjC,kBAAkB;QAClB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;YAC9B,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACpD,QAAQ;YACR,QAAQ;YACR,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC,CAAC;QAEJ,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC3D,MAAM,UAAU,GAAG,+CAA+C,CAAC;YACnE,IAAI,KAAK,CAAC;YACV,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACnD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBACrE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;oBAC9B,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;oBACd,QAAQ;oBACR,QAAQ;oBACR,SAAS,EAAE,OAAO;oBAClB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC,CAAC;YACN,CAAC;YAED,MAAM,SAAS,GAAG,+CAA+C,CAAC;YAClE,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAClD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBACrE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;oBAC9B,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;oBACd,QAAQ;oBACR,QAAQ;oBACR,SAAS,EAAE,OAAO;oBAClB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC,CAAC;YACN,CAAC;YAED,MAAM,cAAc,GAAG,qCAAqC,CAAC;YAC7D,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACvD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBACrE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;oBAC9B,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;oBACd,QAAQ;oBACR,QAAQ;oBACR,SAAS,EAAE,OAAO;oBAClB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC,CAAC;YACN,CAAC;YAED,MAAM,SAAS,GAAG,gCAAgC,CAAC;YACnD,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAClD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBACrE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;oBAC9B,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;oBACd,QAAQ;oBACR,QAAQ;oBACR,SAAS,EAAE,OAAO;oBAClB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC,CAAC;YACN,CAAC;YAED,MAAM,SAAS,GAAG,gCAAgC,CAAC;YACnD,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAClD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBACrE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;oBAC9B,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;oBACd,QAAQ;oBACR,QAAQ;oBACR,SAAS,EAAE,OAAO;oBAClB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,kBAAkB,CAAC;YACtC,IAAI,KAAK,CAAC;YACV,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACnD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBACrE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;oBAC9B,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;oBACd,QAAQ;oBACR,QAAQ;oBACR,SAAS,EAAE,OAAO;oBAClB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC,CAAC;YACN,CAAC;YAED,MAAM,SAAS,GAAG,gBAAgB,CAAC;YACnC,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAClD,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBACrE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;oBAC9B,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;oBACd,QAAQ;oBACR,QAAQ;oBACR,SAAS,EAAE,OAAO;oBAClB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ;YACR,SAAS;YACT,MAAM,EAAE,EAAE;YACV,KAAK,EAAE;gBACL,WAAW,EAAE,SAAS;gBACtB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACpC;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,qBAAqB;QACnB,sDAAsD;QACtD,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;QACrE,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QAED,kCAAkC;QAClC,OAAO,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAClB,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,QAAkB;QACpC,OAAO,iBAAiB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACrB,MAAM,iBAAiB,CAAC,UAAU,EAAE,CAAC;IACvC,CAAC;CACF"}
|