abb-opencode-local-rag 0.1.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 (233) hide show
  1. package/LICENSE +21 -0
  2. package/README.de.md +416 -0
  3. package/README.es.md +416 -0
  4. package/README.fr.md +416 -0
  5. package/README.md +491 -0
  6. package/README.pt-BR.md +416 -0
  7. package/README.zh-CN.md +416 -0
  8. package/dist/bin/install-skills.d.ts +20 -0
  9. package/dist/bin/install-skills.d.ts.map +1 -0
  10. package/dist/bin/install-skills.js +195 -0
  11. package/dist/bin/install-skills.js.map +1 -0
  12. package/dist/chunker/index.d.ts +24 -0
  13. package/dist/chunker/index.d.ts.map +1 -0
  14. package/dist/chunker/index.js +2 -0
  15. package/dist/chunker/index.js.map +1 -0
  16. package/dist/chunker/semantic-chunker.d.ts +97 -0
  17. package/dist/chunker/semantic-chunker.d.ts.map +1 -0
  18. package/dist/chunker/semantic-chunker.js +294 -0
  19. package/dist/chunker/semantic-chunker.js.map +1 -0
  20. package/dist/chunker/sentence-splitter.d.ts +28 -0
  21. package/dist/chunker/sentence-splitter.d.ts.map +1 -0
  22. package/dist/chunker/sentence-splitter.js +219 -0
  23. package/dist/chunker/sentence-splitter.js.map +1 -0
  24. package/dist/cli/common.d.ts +65 -0
  25. package/dist/cli/common.d.ts.map +1 -0
  26. package/dist/cli/common.js +138 -0
  27. package/dist/cli/common.js.map +1 -0
  28. package/dist/cli/delete.d.ts +8 -0
  29. package/dist/cli/delete.d.ts.map +1 -0
  30. package/dist/cli/delete.js +173 -0
  31. package/dist/cli/delete.js.map +1 -0
  32. package/dist/cli/file-collection.d.ts +2 -0
  33. package/dist/cli/file-collection.d.ts.map +1 -0
  34. package/dist/cli/file-collection.js +53 -0
  35. package/dist/cli/file-collection.js.map +1 -0
  36. package/dist/cli/ingest.d.ts +100 -0
  37. package/dist/cli/ingest.d.ts.map +1 -0
  38. package/dist/cli/ingest.js +363 -0
  39. package/dist/cli/ingest.js.map +1 -0
  40. package/dist/cli/list.d.ts +35 -0
  41. package/dist/cli/list.d.ts.map +1 -0
  42. package/dist/cli/list.js +210 -0
  43. package/dist/cli/list.js.map +1 -0
  44. package/dist/cli/options.d.ts +100 -0
  45. package/dist/cli/options.d.ts.map +1 -0
  46. package/dist/cli/options.js +241 -0
  47. package/dist/cli/options.js.map +1 -0
  48. package/dist/cli/query.d.ts +24 -0
  49. package/dist/cli/query.d.ts.map +1 -0
  50. package/dist/cli/query.js +191 -0
  51. package/dist/cli/query.js.map +1 -0
  52. package/dist/cli/read-neighbors.d.ts +11 -0
  53. package/dist/cli/read-neighbors.d.ts.map +1 -0
  54. package/dist/cli/read-neighbors.js +224 -0
  55. package/dist/cli/read-neighbors.js.map +1 -0
  56. package/dist/cli/status.d.ts +8 -0
  57. package/dist/cli/status.d.ts.map +1 -0
  58. package/dist/cli/status.js +80 -0
  59. package/dist/cli/status.js.map +1 -0
  60. package/dist/cli/sync.d.ts +8 -0
  61. package/dist/cli/sync.d.ts.map +1 -0
  62. package/dist/cli/sync.js +244 -0
  63. package/dist/cli/sync.js.map +1 -0
  64. package/dist/cli-main.d.ts +12 -0
  65. package/dist/cli-main.d.ts.map +1 -0
  66. package/dist/cli-main.js +63 -0
  67. package/dist/cli-main.js.map +1 -0
  68. package/dist/embedder/index.d.ts +85 -0
  69. package/dist/embedder/index.d.ts.map +1 -0
  70. package/dist/embedder/index.js +284 -0
  71. package/dist/embedder/index.js.map +1 -0
  72. package/dist/features/list.d.ts +37 -0
  73. package/dist/features/list.d.ts.map +1 -0
  74. package/dist/features/list.js +40 -0
  75. package/dist/features/list.js.map +1 -0
  76. package/dist/features/sync.d.ts +207 -0
  77. package/dist/features/sync.d.ts.map +1 -0
  78. package/dist/features/sync.js +380 -0
  79. package/dist/features/sync.js.map +1 -0
  80. package/dist/index.d.ts +3 -0
  81. package/dist/index.d.ts.map +1 -0
  82. package/dist/index.js +53 -0
  83. package/dist/index.js.map +1 -0
  84. package/dist/ingest/compute.d.ts +86 -0
  85. package/dist/ingest/compute.d.ts.map +1 -0
  86. package/dist/ingest/compute.js +177 -0
  87. package/dist/ingest/compute.js.map +1 -0
  88. package/dist/ingest/file.d.ts +27 -0
  89. package/dist/ingest/file.d.ts.map +1 -0
  90. package/dist/ingest/file.js +67 -0
  91. package/dist/ingest/file.js.map +1 -0
  92. package/dist/ingest/visual.d.ts +45 -0
  93. package/dist/ingest/visual.d.ts.map +1 -0
  94. package/dist/ingest/visual.js +234 -0
  95. package/dist/ingest/visual.js.map +1 -0
  96. package/dist/parser/docx-parser.d.ts +12 -0
  97. package/dist/parser/docx-parser.d.ts.map +1 -0
  98. package/dist/parser/docx-parser.js +328 -0
  99. package/dist/parser/docx-parser.js.map +1 -0
  100. package/dist/parser/html-parser.d.ts +18 -0
  101. package/dist/parser/html-parser.d.ts.map +1 -0
  102. package/dist/parser/html-parser.js +102 -0
  103. package/dist/parser/html-parser.js.map +1 -0
  104. package/dist/parser/index.d.ts +214 -0
  105. package/dist/parser/index.d.ts.map +1 -0
  106. package/dist/parser/index.js +454 -0
  107. package/dist/parser/index.js.map +1 -0
  108. package/dist/parser/pdf-extract.d.ts +81 -0
  109. package/dist/parser/pdf-extract.d.ts.map +1 -0
  110. package/dist/parser/pdf-extract.js +112 -0
  111. package/dist/parser/pdf-extract.js.map +1 -0
  112. package/dist/parser/pdf-filter.d.ts +117 -0
  113. package/dist/parser/pdf-filter.d.ts.map +1 -0
  114. package/dist/parser/pdf-filter.js +528 -0
  115. package/dist/parser/pdf-filter.js.map +1 -0
  116. package/dist/parser/title-extractor.d.ts +69 -0
  117. package/dist/parser/title-extractor.d.ts.map +1 -0
  118. package/dist/parser/title-extractor.js +145 -0
  119. package/dist/parser/title-extractor.js.map +1 -0
  120. package/dist/pdf-visual/captioner.d.ts +16 -0
  121. package/dist/pdf-visual/captioner.d.ts.map +1 -0
  122. package/dist/pdf-visual/captioner.js +63 -0
  123. package/dist/pdf-visual/captioner.js.map +1 -0
  124. package/dist/pdf-visual/captioners/fast.d.ts +7 -0
  125. package/dist/pdf-visual/captioners/fast.d.ts.map +1 -0
  126. package/dist/pdf-visual/captioners/fast.js +103 -0
  127. package/dist/pdf-visual/captioners/fast.js.map +1 -0
  128. package/dist/pdf-visual/captioners/quality.d.ts +7 -0
  129. package/dist/pdf-visual/captioners/quality.d.ts.map +1 -0
  130. package/dist/pdf-visual/captioners/quality.js +127 -0
  131. package/dist/pdf-visual/captioners/quality.js.map +1 -0
  132. package/dist/pdf-visual/captioners/shared.d.ts +44 -0
  133. package/dist/pdf-visual/captioners/shared.d.ts.map +1 -0
  134. package/dist/pdf-visual/captioners/shared.js +104 -0
  135. package/dist/pdf-visual/captioners/shared.js.map +1 -0
  136. package/dist/pdf-visual/detector.d.ts +9 -0
  137. package/dist/pdf-visual/detector.d.ts.map +1 -0
  138. package/dist/pdf-visual/detector.js +234 -0
  139. package/dist/pdf-visual/detector.js.map +1 -0
  140. package/dist/pdf-visual/index.d.ts +13 -0
  141. package/dist/pdf-visual/index.d.ts.map +1 -0
  142. package/dist/pdf-visual/index.js +45 -0
  143. package/dist/pdf-visual/index.js.map +1 -0
  144. package/dist/pdf-visual/renderer.d.ts +9 -0
  145. package/dist/pdf-visual/renderer.d.ts.map +1 -0
  146. package/dist/pdf-visual/renderer.js +177 -0
  147. package/dist/pdf-visual/renderer.js.map +1 -0
  148. package/dist/pdf-visual/types.d.ts +62 -0
  149. package/dist/pdf-visual/types.d.ts.map +1 -0
  150. package/dist/pdf-visual/types.js +32 -0
  151. package/dist/pdf-visual/types.js.map +1 -0
  152. package/dist/server/error-utils.d.ts +79 -0
  153. package/dist/server/error-utils.d.ts.map +1 -0
  154. package/dist/server/error-utils.js +148 -0
  155. package/dist/server/error-utils.js.map +1 -0
  156. package/dist/server/index.d.ts +258 -0
  157. package/dist/server/index.d.ts.map +1 -0
  158. package/dist/server/index.js +1104 -0
  159. package/dist/server/index.js.map +1 -0
  160. package/dist/server/list-scanner.d.ts +52 -0
  161. package/dist/server/list-scanner.d.ts.map +1 -0
  162. package/dist/server/list-scanner.js +72 -0
  163. package/dist/server/list-scanner.js.map +1 -0
  164. package/dist/server/tool-definitions.d.ts +8 -0
  165. package/dist/server/tool-definitions.d.ts.map +1 -0
  166. package/dist/server/tool-definitions.js +181 -0
  167. package/dist/server/tool-definitions.js.map +1 -0
  168. package/dist/server/tool-input.d.ts +37 -0
  169. package/dist/server/tool-input.d.ts.map +1 -0
  170. package/dist/server/tool-input.js +216 -0
  171. package/dist/server/tool-input.js.map +1 -0
  172. package/dist/server/types.d.ts +331 -0
  173. package/dist/server/types.d.ts.map +1 -0
  174. package/dist/server/types.js +3 -0
  175. package/dist/server/types.js.map +1 -0
  176. package/dist/server-main.d.ts +46 -0
  177. package/dist/server-main.d.ts.map +1 -0
  178. package/dist/server-main.js +242 -0
  179. package/dist/server-main.js.map +1 -0
  180. package/dist/utils/base-dirs.d.ts +212 -0
  181. package/dist/utils/base-dirs.d.ts.map +1 -0
  182. package/dist/utils/base-dirs.js +422 -0
  183. package/dist/utils/base-dirs.js.map +1 -0
  184. package/dist/utils/errors.d.ts +24 -0
  185. package/dist/utils/errors.d.ts.map +1 -0
  186. package/dist/utils/errors.js +53 -0
  187. package/dist/utils/errors.js.map +1 -0
  188. package/dist/utils/limits.d.ts +26 -0
  189. package/dist/utils/limits.d.ts.map +1 -0
  190. package/dist/utils/limits.js +28 -0
  191. package/dist/utils/limits.js.map +1 -0
  192. package/dist/utils/list-sources.d.ts +47 -0
  193. package/dist/utils/list-sources.d.ts.map +1 -0
  194. package/dist/utils/list-sources.js +50 -0
  195. package/dist/utils/list-sources.js.map +1 -0
  196. package/dist/utils/raw-data-utils.d.ts +131 -0
  197. package/dist/utils/raw-data-utils.d.ts.map +1 -0
  198. package/dist/utils/raw-data-utils.js +255 -0
  199. package/dist/utils/raw-data-utils.js.map +1 -0
  200. package/dist/utils/scan.d.ts +126 -0
  201. package/dist/utils/scan.d.ts.map +1 -0
  202. package/dist/utils/scan.js +221 -0
  203. package/dist/utils/scan.js.map +1 -0
  204. package/dist/utils/scope-match.d.ts +43 -0
  205. package/dist/utils/scope-match.d.ts.map +1 -0
  206. package/dist/utils/scope-match.js +87 -0
  207. package/dist/utils/scope-match.js.map +1 -0
  208. package/dist/utils/sensitive-path.d.ts +23 -0
  209. package/dist/utils/sensitive-path.d.ts.map +1 -0
  210. package/dist/utils/sensitive-path.js +91 -0
  211. package/dist/utils/sensitive-path.js.map +1 -0
  212. package/dist/utils/sync-path-key.d.ts +20 -0
  213. package/dist/utils/sync-path-key.d.ts.map +1 -0
  214. package/dist/utils/sync-path-key.js +33 -0
  215. package/dist/utils/sync-path-key.js.map +1 -0
  216. package/dist/vectordb/index.d.ts +168 -0
  217. package/dist/vectordb/index.d.ts.map +1 -0
  218. package/dist/vectordb/index.js +619 -0
  219. package/dist/vectordb/index.js.map +1 -0
  220. package/dist/vectordb/search-filters.d.ts +39 -0
  221. package/dist/vectordb/search-filters.d.ts.map +1 -0
  222. package/dist/vectordb/search-filters.js +136 -0
  223. package/dist/vectordb/search-filters.js.map +1 -0
  224. package/dist/vectordb/types.d.ts +196 -0
  225. package/dist/vectordb/types.d.ts.map +1 -0
  226. package/dist/vectordb/types.js +224 -0
  227. package/dist/vectordb/types.js.map +1 -0
  228. package/package.json +105 -0
  229. package/skills/mcp-local-rag/SKILL.md +308 -0
  230. package/skills/mcp-local-rag/references/cli-reference.md +175 -0
  231. package/skills/mcp-local-rag/references/html-ingestion.md +78 -0
  232. package/skills/mcp-local-rag/references/query-optimization.md +57 -0
  233. package/skills/mcp-local-rag/references/result-refinement.md +56 -0
@@ -0,0 +1,168 @@
1
+ import { type AttachmentHydrationResult, type ChunkRow, type SearchOptions, type SearchResult, type VectorChunk, type VectorStoreConfig } from './types.js';
2
+ export type { AttachmentHydrationResult, GroupingMode, HydratedChunkAttachments, SearchResult, VectorChunk, VisualAttachment, } from './types.js';
3
+ /**
4
+ * Vector storage class using LanceDB
5
+ *
6
+ * Responsibilities:
7
+ * - LanceDB operations (insert, delete, search)
8
+ * - Transaction handling (atomicity of delete→insert)
9
+ * - Metadata management
10
+ */
11
+ export declare class VectorStore {
12
+ private db;
13
+ private table;
14
+ private readonly config;
15
+ private ftsEnabled;
16
+ constructor(config: VectorStoreConfig);
17
+ /**
18
+ * Initialize LanceDB and create table
19
+ */
20
+ initialize(): Promise<void>;
21
+ /**
22
+ * Delete all chunks for specified file path
23
+ *
24
+ * @param filePath - File path (absolute)
25
+ * @returns Number of chunks removed (0 when nothing matched)
26
+ */
27
+ deleteChunks(filePath: string): Promise<number>;
28
+ /**
29
+ * Return chunk rows for a single file whose chunkIndex is within the
30
+ * inclusive [minIdx, maxIdx] range, sorted ascending by chunkIndex.
31
+ *
32
+ * This is a feature-agnostic primitive: it knows nothing
33
+ * about before/after/isTarget semantics — those live in the handler.
34
+ * Ascending sort by chunkIndex is a contract, not incidental storage
35
+ * order.
36
+ *
37
+ * Lazy-table null returns [] (mirrors search, listFiles, deleteChunks).
38
+ * LanceDB errors are wrapped as DatabaseError with the original error
39
+ * preserved as cause.
40
+ *
41
+ * @param filePath - File path (absolute)
42
+ * @param minIdx - Minimum chunk index (inclusive)
43
+ * @param maxIdx - Maximum chunk index (inclusive)
44
+ * @returns Array of chunk rows sorted ascending by chunkIndex
45
+ */
46
+ getChunksByRange(filePath: string, minIdx: number, maxIdx: number): Promise<ChunkRow[]>;
47
+ /**
48
+ * Return every stored chunk for a file as a full {@link VectorChunk},
49
+ * including the real embedding vector — suitable for re-insertion via
50
+ * {@link insertChunks}. Used by the ingest handler to back up existing data
51
+ * before a destructive re-ingest so a failure can be rolled back without
52
+ * data loss or vector corruption.
53
+ *
54
+ * Lazy-table null returns `[]`. LanceDB errors are wrapped as DatabaseError.
55
+ *
56
+ * @param filePath - File path (absolute)
57
+ */
58
+ getChunksByFilePath(filePath: string): Promise<VectorChunk[]>;
59
+ /**
60
+ * Batch insert vector chunks
61
+ *
62
+ * @param chunks - Array of vector chunks
63
+ */
64
+ insertChunks(chunks: VectorChunk[]): Promise<void>;
65
+ /**
66
+ * Ensure FTS index exists for hybrid search
67
+ * Creates ngram-based index if it doesn't exist, drops old versions
68
+ * @throws DatabaseError if index creation fails (Fail-Fast principle)
69
+ */
70
+ private ensureFtsIndex;
71
+ /**
72
+ * Ensure schema is up to date by adding missing columns.
73
+ * Uses table.addColumns() API for top-level column additions.
74
+ * Idempotent: checks for column existence before adding.
75
+ */
76
+ private ensureSchemaVersion;
77
+ /**
78
+ * Optimize table: compact fragments, update FTS index, and clean up old versions.
79
+ * LanceDB OSS requires explicit optimize() call to update FTS index.
80
+ *
81
+ * Callers are responsible for deciding when to invoke this (e.g., once per
82
+ * ingest rather than after every insert/delete) to avoid O(n²) overhead
83
+ * during bulk operations.
84
+ */
85
+ optimize(): Promise<void>;
86
+ /**
87
+ * Execute vector search with quality filtering
88
+ * Architecture: Semantic search → Filter (maxDistance, grouping) → Keyword boost → File filter (maxFiles)
89
+ *
90
+ * This "prefetch then rerank" approach ensures:
91
+ * - maxDistance and grouping work on meaningful vector distances
92
+ * - Keyword matching acts as a boost, not a replacement for semantic similarity
93
+ *
94
+ * @param queryVector - Query vector (dimension depends on model)
95
+ * @param options - Optional search options (queryText for keyword boost,
96
+ * limit, and scope path-prefix prefilter)
97
+ * @returns Array of search results (sorted by distance ascending, filtered by quality settings)
98
+ */
99
+ search(queryVector: number[], options?: SearchOptions): Promise<SearchResult[]>;
100
+ /**
101
+ * Load and validate attachments for the ordered unique final search identities.
102
+ * Candidate retrieval and ranking are deliberately complete before this one
103
+ * projected batch query runs.
104
+ */
105
+ hydrateVisualAttachments(results: readonly {
106
+ id: string;
107
+ }[]): Promise<AttachmentHydrationResult>;
108
+ /**
109
+ * Build a LanceDB `.where()` predicate restricting `filePath` to the
110
+ * exact-or-descendant set of the given prefixes (OR'd): `filePath = P OR
111
+ * filePath LIKE 'D%'`, where the separator boundary in D stops `/a/b` from
112
+ * matching `/a/bc`. Consumed by the vector branch only — the FTS branch
113
+ * inherits scope via its own `filePath IN (...)` over the scoped hits.
114
+ */
115
+ private buildScopePredicate;
116
+ /** Build the exact-or-descendant predicate for a single prefix. */
117
+ private buildPrefixPredicate;
118
+ /** Escape single quotes for a SQL string literal (mirrors deleteChunks). */
119
+ private escapeQuotes;
120
+ /** Escape for a LIKE term with `ESCAPE '\'`: backslash first (else it double-escapes), then `%`, `_`, then quotes. */
121
+ private escapeLike;
122
+ /**
123
+ * Per-chunk `(filePath, contentHash)` projection used by incremental sync.
124
+ *
125
+ * One entry per stored row rather than one per file, because a file whose
126
+ * rows disagree on the hash (or carry none) must be detectable as dirty.
127
+ * `filePath` is the verbatim stored spelling, since that is what
128
+ * {@link deleteChunks} matches. An empty-string hash — the value the
129
+ * create-path seeds for Arrow schema inference — is normalized to `null` so a
130
+ * hashless row can never read as a real hash, mirroring `toVectorChunk`.
131
+ *
132
+ * Projects only the two convergence columns so a manifest load does not
133
+ * materialize embedding vectors or attachment payloads. Lazy-table null
134
+ * returns `[]` (mirrors {@link listFiles}).
135
+ */
136
+ listChunkHashes(): Promise<{
137
+ filePath: string;
138
+ contentHash: string | null;
139
+ }[]>;
140
+ /**
141
+ * Get list of ingested files
142
+ *
143
+ * @returns Array of file information
144
+ */
145
+ listFiles(): Promise<{
146
+ filePath: string;
147
+ chunkCount: number;
148
+ timestamp: string;
149
+ }[]>;
150
+ /**
151
+ * Get system status
152
+ *
153
+ * @returns System status information
154
+ */
155
+ getStatus(): Promise<{
156
+ documentCount: number;
157
+ chunkCount: number;
158
+ memoryUsage: number;
159
+ uptime: number;
160
+ ftsIndexEnabled: boolean;
161
+ searchMode: 'hybrid' | 'vector-only';
162
+ }>;
163
+ /**
164
+ * Close the database connection
165
+ */
166
+ close(): Promise<void>;
167
+ }
168
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vectordb/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,QAAQ,EAQb,KAAK,aAAa,EAClB,KAAK,YAAY,EAIjB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAA;AAGnB,YAAY,EACV,yBAAyB,EACzB,YAAY,EACZ,wBAAwB,EACxB,YAAY,EACZ,WAAW,EACX,gBAAgB,GACjB,MAAM,YAAY,CAAA;AAMnB;;;;;;;GAOG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,UAAU,CAAQ;IAE1B,YAAY,MAAM,EAAE,iBAAiB,EAEpC;IAED;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAgChC;IAED;;;;;OAKG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA4BpD;IAED;;;;;;;;;;;;;;;;;OAiBG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CA0B5F;IAED;;;;;;;;;;OAUG;IACG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAYlE;IAED;;;;OAIG;IACG,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8CvD;IAED;;;;OAIG;YACW,cAAc;IAyC5B;;;;OAIG;YACW,mBAAmB;IAyBjC;;;;;;;OAOG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAO9B;IAED;;;;;;;;;;;;OAYG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAkGxF;IAED;;;;OAIG;IACG,wBAAwB,CAC5B,OAAO,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,GACjC,OAAO,CAAC,yBAAyB,CAAC,CA+CpC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAI3B,mEAAmE;IACnE,OAAO,CAAC,oBAAoB;IAO5B,4EAA4E;IAC5E,OAAO,CAAC,YAAY;IAIpB,sHAAsH;IACtH,OAAO,CAAC,UAAU;IAQlB;;;;;;;;;;;;;OAaG;IACG,eAAe,IAAI,OAAO,CAC9B;QACE,QAAQ,EAAE,MAAM,CAAA;QAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAC3B,EAAE,CACJ,CA2BA;IAED;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CA6CxF;IAED;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC;QACzB,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,WAAW,EAAE,MAAM,CAAA;QACnB,MAAM,EAAE,MAAM,CAAA;QACd,eAAe,EAAE,OAAO,CAAA;QACxB,UAAU,EAAE,QAAQ,GAAG,aAAa,CAAA;KACrC,CAAC,CA+CD;IAED;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAS3B;CACF"}