@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,44 @@
1
+ /**
2
+ * Database Migrations
3
+ *
4
+ * Schema versioning and migration support.
5
+ */
6
+ import Database from 'better-sqlite3';
7
+ /**
8
+ * Current schema version
9
+ */
10
+ export declare const CURRENT_SCHEMA_VERSION = 1;
11
+ /**
12
+ * Migration definition
13
+ */
14
+ interface Migration {
15
+ version: number;
16
+ description: string;
17
+ up: (db: Database.Database) => void;
18
+ }
19
+ /**
20
+ * Get the current schema version from the database
21
+ */
22
+ export declare function getCurrentVersion(db: Database.Database): number;
23
+ /**
24
+ * Run all pending migrations
25
+ */
26
+ export declare function runMigrations(db: Database.Database, fromVersion: number): void;
27
+ /**
28
+ * Check if the database needs migration
29
+ */
30
+ export declare function needsMigration(db: Database.Database): boolean;
31
+ /**
32
+ * Get list of pending migrations
33
+ */
34
+ export declare function getPendingMigrations(db: Database.Database): Migration[];
35
+ /**
36
+ * Get migration history from database
37
+ */
38
+ export declare function getMigrationHistory(db: Database.Database): Array<{
39
+ version: number;
40
+ appliedAt: number;
41
+ description: string | null;
42
+ }>;
43
+ export {};
44
+ //# sourceMappingURL=migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;GAEG;AACH,UAAU,SAAS;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC;CACrC;AAsBD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAU/D;AAWD;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAiB9E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAG7D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,SAAS,EAAE,CAKvE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GACpB,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAU3E"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ /**
3
+ * Database Migrations
4
+ *
5
+ * Schema versioning and migration support.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.CURRENT_SCHEMA_VERSION = void 0;
9
+ exports.getCurrentVersion = getCurrentVersion;
10
+ exports.runMigrations = runMigrations;
11
+ exports.needsMigration = needsMigration;
12
+ exports.getPendingMigrations = getPendingMigrations;
13
+ exports.getMigrationHistory = getMigrationHistory;
14
+ /**
15
+ * Current schema version
16
+ */
17
+ exports.CURRENT_SCHEMA_VERSION = 1;
18
+ /**
19
+ * All migrations in order
20
+ *
21
+ * Note: Version 1 is the initial schema, handled by schema.sql
22
+ * Future migrations go here.
23
+ */
24
+ const migrations = [
25
+ // Example migration for version 2 (when needed):
26
+ // {
27
+ // version: 2,
28
+ // description: 'Add support for module resolution',
29
+ // up: (db) => {
30
+ // db.exec(`
31
+ // ALTER TABLE nodes ADD COLUMN module_path TEXT;
32
+ // CREATE INDEX idx_nodes_module_path ON nodes(module_path);
33
+ // `);
34
+ // },
35
+ // },
36
+ ];
37
+ /**
38
+ * Get the current schema version from the database
39
+ */
40
+ function getCurrentVersion(db) {
41
+ try {
42
+ const row = db
43
+ .prepare('SELECT MAX(version) as version FROM schema_versions')
44
+ .get();
45
+ return row?.version ?? 0;
46
+ }
47
+ catch {
48
+ // Table doesn't exist yet
49
+ return 0;
50
+ }
51
+ }
52
+ /**
53
+ * Record a migration as applied
54
+ */
55
+ function recordMigration(db, version, description) {
56
+ db.prepare('INSERT INTO schema_versions (version, applied_at, description) VALUES (?, ?, ?)').run(version, Date.now(), description);
57
+ }
58
+ /**
59
+ * Run all pending migrations
60
+ */
61
+ function runMigrations(db, fromVersion) {
62
+ const pending = migrations.filter((m) => m.version > fromVersion);
63
+ if (pending.length === 0) {
64
+ return;
65
+ }
66
+ // Sort by version
67
+ pending.sort((a, b) => a.version - b.version);
68
+ // Run each migration in a transaction
69
+ for (const migration of pending) {
70
+ db.transaction(() => {
71
+ migration.up(db);
72
+ recordMigration(db, migration.version, migration.description);
73
+ })();
74
+ }
75
+ }
76
+ /**
77
+ * Check if the database needs migration
78
+ */
79
+ function needsMigration(db) {
80
+ const current = getCurrentVersion(db);
81
+ return current < exports.CURRENT_SCHEMA_VERSION;
82
+ }
83
+ /**
84
+ * Get list of pending migrations
85
+ */
86
+ function getPendingMigrations(db) {
87
+ const current = getCurrentVersion(db);
88
+ return migrations
89
+ .filter((m) => m.version > current)
90
+ .sort((a, b) => a.version - b.version);
91
+ }
92
+ /**
93
+ * Get migration history from database
94
+ */
95
+ function getMigrationHistory(db) {
96
+ const rows = db
97
+ .prepare('SELECT version, applied_at, description FROM schema_versions ORDER BY version')
98
+ .all();
99
+ return rows.map((row) => ({
100
+ version: row.version,
101
+ appliedAt: row.applied_at,
102
+ description: row.description,
103
+ }));
104
+ }
105
+ //# sourceMappingURL=migrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,148 @@
1
+ /**
2
+ * Database Queries
3
+ *
4
+ * Prepared statements for CRUD operations on the knowledge graph.
5
+ */
6
+ import Database from 'better-sqlite3';
7
+ import { Node, Edge, FileRecord, UnresolvedReference, NodeKind, EdgeKind, GraphStats, SearchOptions, SearchResult } from '../types';
8
+ /**
9
+ * Query builder for the knowledge graph database
10
+ */
11
+ export declare class QueryBuilder {
12
+ private db;
13
+ private nodeCache;
14
+ private readonly maxCacheSize;
15
+ private stmts;
16
+ constructor(db: Database.Database);
17
+ /**
18
+ * Insert a new node
19
+ */
20
+ insertNode(node: Node): void;
21
+ /**
22
+ * Insert multiple nodes in a transaction
23
+ */
24
+ insertNodes(nodes: Node[]): void;
25
+ /**
26
+ * Update an existing node
27
+ */
28
+ updateNode(node: Node): void;
29
+ /**
30
+ * Delete a node by ID
31
+ */
32
+ deleteNode(id: string): void;
33
+ /**
34
+ * Delete all nodes for a file
35
+ */
36
+ deleteNodesByFile(filePath: string): void;
37
+ /**
38
+ * Get a node by ID
39
+ */
40
+ getNodeById(id: string): Node | null;
41
+ /**
42
+ * Add a node to the cache, evicting oldest if needed
43
+ */
44
+ private cacheNode;
45
+ /**
46
+ * Clear the node cache
47
+ */
48
+ clearCache(): void;
49
+ /**
50
+ * Get all nodes in a file
51
+ */
52
+ getNodesByFile(filePath: string): Node[];
53
+ /**
54
+ * Get all nodes of a specific kind
55
+ */
56
+ getNodesByKind(kind: NodeKind): Node[];
57
+ /**
58
+ * Search nodes by name using FTS with fallback to LIKE for better matching
59
+ *
60
+ * Search strategy:
61
+ * 1. Try FTS5 prefix match (query*) for word-start matching
62
+ * 2. If no results, try LIKE for substring matching (e.g., "signIn" finds "signInWithGoogle")
63
+ * 3. Score results based on match quality
64
+ */
65
+ searchNodes(query: string, options?: SearchOptions): SearchResult[];
66
+ /**
67
+ * FTS5 search with prefix matching
68
+ */
69
+ private searchNodesFTS;
70
+ /**
71
+ * LIKE-based substring search for cases where FTS doesn't match
72
+ * Useful for camelCase matching (e.g., "signIn" finds "signInWithGoogle")
73
+ */
74
+ private searchNodesLike;
75
+ /**
76
+ * Insert a new edge
77
+ */
78
+ insertEdge(edge: Edge): void;
79
+ /**
80
+ * Insert multiple edges in a transaction
81
+ */
82
+ insertEdges(edges: Edge[]): void;
83
+ /**
84
+ * Delete all edges from a source node
85
+ */
86
+ deleteEdgesBySource(sourceId: string): void;
87
+ /**
88
+ * Get outgoing edges from a node
89
+ */
90
+ getOutgoingEdges(sourceId: string, kinds?: EdgeKind[]): Edge[];
91
+ /**
92
+ * Get incoming edges to a node
93
+ */
94
+ getIncomingEdges(targetId: string, kinds?: EdgeKind[]): Edge[];
95
+ /**
96
+ * Insert or update a file record
97
+ */
98
+ upsertFile(file: FileRecord): void;
99
+ /**
100
+ * Delete a file record and its nodes
101
+ */
102
+ deleteFile(filePath: string): void;
103
+ /**
104
+ * Get a file record by path
105
+ */
106
+ getFileByPath(filePath: string): FileRecord | null;
107
+ /**
108
+ * Get all tracked files
109
+ */
110
+ getAllFiles(): FileRecord[];
111
+ /**
112
+ * Get files that need re-indexing (hash changed)
113
+ */
114
+ getStaleFiles(currentHashes: Map<string, string>): FileRecord[];
115
+ /**
116
+ * Insert an unresolved reference
117
+ */
118
+ insertUnresolvedRef(ref: UnresolvedReference): void;
119
+ /**
120
+ * Delete unresolved references from a node
121
+ */
122
+ deleteUnresolvedByNode(nodeId: string): void;
123
+ /**
124
+ * Get unresolved references by name (for resolution)
125
+ */
126
+ getUnresolvedByName(name: string): UnresolvedReference[];
127
+ /**
128
+ * Get all unresolved references
129
+ */
130
+ getUnresolvedReferences(): UnresolvedReference[];
131
+ /**
132
+ * Delete all unresolved references (after resolution)
133
+ */
134
+ clearUnresolvedReferences(): void;
135
+ /**
136
+ * Delete resolved references by their IDs
137
+ */
138
+ deleteResolvedReferences(fromNodeIds: string[]): void;
139
+ /**
140
+ * Get graph statistics
141
+ */
142
+ getStats(): GraphStats;
143
+ /**
144
+ * Clear all data from the database
145
+ */
146
+ clear(): void;
147
+ }
148
+ //# sourceMappingURL=queries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/db/queries.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EACL,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EAER,UAAU,EACV,aAAa,EACb,YAAY,EACb,MAAM,UAAU,CAAC;AAqHlB;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,EAAE,CAAoB;IAG9B,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IAGrC,OAAO,CAAC,KAAK,CAsBN;gBAEK,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAQjC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IA2C5B;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAQhC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAsD5B;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAS5B;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAazC;;OAEG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAuBpC;;OAEG;IACH,OAAO,CAAC,SAAS;IAWjB;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE;IAUxC;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE;IAQtC;;;;;;;OAOG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,YAAY,EAAE;IAcvE;;OAEG;IACH,OAAO,CAAC,cAAc;IAkDtB;;;OAGG;IACH,OAAO,CAAC,eAAe;IA4DvB;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAkB5B;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAQhC;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAO3C;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE;IAc9D;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE;IAkB9D;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IA4BlC;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAUlC;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAQlD;;OAEG;IACH,WAAW,IAAI,UAAU,EAAE;IAQ3B;;OAEG;IACH,aAAa,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,UAAU,EAAE;IAY/D;;OAEG;IACH,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI;IAkBnD;;OAEG;IACH,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAS5C;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAiBxD;;OAEG;IACH,uBAAuB,IAAI,mBAAmB,EAAE;IAYhD;;OAEG;IACH,yBAAyB,IAAI,IAAI;IAIjC;;OAEG;IACH,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI;IAUrD;;OAEG;IACH,QAAQ,IAAI,UAAU;IAiDtB;;OAEG;IACH,KAAK,IAAI,IAAI;CAUd"}