@ruso-0/nreki 10.15.0 → 10.16.1

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 (42) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/dist/ast-navigator.d.ts +3 -2
  3. package/dist/ast-navigator.d.ts.map +1 -1
  4. package/dist/ast-navigator.js +119 -14
  5. package/dist/ast-navigator.js.map +1 -1
  6. package/dist/database.d.ts +17 -0
  7. package/dist/database.d.ts.map +1 -1
  8. package/dist/database.js +28 -0
  9. package/dist/database.js.map +1 -1
  10. package/dist/engine.d.ts +6 -1
  11. package/dist/engine.d.ts.map +1 -1
  12. package/dist/engine.js +8 -0
  13. package/dist/engine.js.map +1 -1
  14. package/dist/handlers/navigate.d.ts +10 -0
  15. package/dist/handlers/navigate.d.ts.map +1 -1
  16. package/dist/handlers/navigate.js +89 -0
  17. package/dist/handlers/navigate.js.map +1 -1
  18. package/dist/index.js +112 -6
  19. package/dist/index.js.map +1 -1
  20. package/dist/router.d.ts.map +1 -1
  21. package/dist/router.js +4 -1
  22. package/dist/router.js.map +1 -1
  23. package/package.json +1 -1
  24. package/templates/AGENTS.md +46 -0
  25. package/templates/CLAUDE.md +36 -33
  26. package/templates/SKILL.md +52 -0
  27. package/dist/compressor-advanced.d.ts +0 -79
  28. package/dist/compressor-advanced.d.ts.map +0 -1
  29. package/dist/compressor-advanced.js +0 -548
  30. package/dist/compressor-advanced.js.map +0 -1
  31. package/dist/hooks/preToolUse.d.ts +0 -63
  32. package/dist/hooks/preToolUse.d.ts.map +0 -1
  33. package/dist/hooks/preToolUse.js +0 -103
  34. package/dist/hooks/preToolUse.js.map +0 -1
  35. package/dist/kernel/backends/typescript-strada.d.ts +0 -114
  36. package/dist/kernel/backends/typescript-strada.d.ts.map +0 -1
  37. package/dist/kernel/backends/typescript-strada.js +0 -582
  38. package/dist/kernel/backends/typescript-strada.js.map +0 -1
  39. package/dist/kernel/language-backend.d.ts +0 -163
  40. package/dist/kernel/language-backend.d.ts.map +0 -1
  41. package/dist/kernel/language-backend.js +0 -13
  42. package/dist/kernel/language-backend.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,62 @@
2
2
 
3
3
  All notable changes to NREKI will be documented in this file.
4
4
 
5
+ ## [10.16.1] - 2026-04-24
6
+
7
+ ### Multi-agent manifest completion
8
+
9
+ - `nreki init` now also generates `SKILL.md` (completes the CLAUDE.md + AGENTS.md + SKILL.md trio). SKILL.md uses YAML frontmatter (`name: nreki-optimizer`) for Claude Code Skills system auto-discovery.
10
+ - All three manifest files share the same IMMUNE SYSTEM operational rules: 80L Guillotine, Multi-patching ACID, Anti-Sweep Shield, TTRD Shield with CFI, Engrams with ASSERT prefix.
11
+ - Cleanup: removed legacy `skills/SKILL.md` (orphan from pre-v10.12 era).
12
+
13
+ ### Note on v10.16.0
14
+
15
+ v10.16.0 was tagged in git (`c08e61a`) but never published to npm. v10.16.1 is the first release of the v10.16.x line to reach the npm registry. Consumers should use 10.16.1 or later.
16
+
17
+ ## [10.16.0] - 2026-04-24
18
+
19
+ ### ⚡ Performance
20
+
21
+ - **fast_grep zero-allocation rewrite**: `handleFastGrep` now uses O(L) pointer walking with `indexOf()` (V8's memchr SIMD internally) instead of per-hit `substring()+split()` allocations.
22
+ - **FFI diet SELECT**: `NrekiDB.fastGrep` now reads only 4 columns (path, raw_code, start_line, symbol_name) instead of 10, reducing WASM-to-JS decoding overhead by ~13%.
23
+
24
+ Combined benchmark delta on NREKI src/ (10 iter, median):
25
+ - `export` (156 hits): 11.24ms → 5.22ms (−54%)
26
+ - `findDefinition`: 2.98ms → 2.26ms (−24%)
27
+ - `chronosMemory`: 2.16ms → 1.73ms (−20%)
28
+ - `[OK]`: 1.81ms → 1.52ms (−16%)
29
+
30
+ Raw data: `scripts/benchmark-fastgrep-AFTER-patch.json`. Reproducible with `npx tsx scripts/benchmark-fastgrep.ts`.
31
+
32
+ ### ⚠️ BREAKING CHANGES
33
+
34
+ - `NrekiDB.fastGrep()` return type changed from `ChunkRecord[]` (10 columns) to `FastGrepHit[]` (4 columns: path, raw_code, start_line, symbol_name). The legacy method has been removed.
35
+ - Consumers relying on the full 10-column result (shorthand, node_type, defect_tags, external_refs, etc.) must use `NrekiDB.getChunkById()` or similar lookups for those fields.
36
+
37
+ ### 📦 Multi-agent manifest
38
+
39
+ - `nreki init` now generates `CLAUDE.md` + `AGENTS.md` templates, enabling compatibility with Claude Code, Codex, Gemini, and other MCP-capable agents.
40
+ - Templates reflect current NREKI features: 80L Guillotine, Multi-patching ACID, Anti-Sweep Shield, TTRD Shield with CFI, Engrams with ASSERT prefix, Go/Python LSP sidecars.
41
+
42
+ ## [10.15.1] — 2026-04-24
43
+
44
+ ### Multi-Agent Manifest
45
+
46
+ Docs-only patch. Rewrites the `nreki init` templates to reflect v10.15.0 features and adds an AGENTS.md template for non-Claude agent runtimes.
47
+
48
+ ### Added
49
+
50
+ - **AGENTS.md template**: new `templates/AGENTS.md`, generated by `nreki init` alongside CLAUDE.md. Same body, header targeted at AI coding agents consuming NREKI via MCP (Codex, Gemini, others). `nreki deinit` cleans it.
51
+ - **getAgentsMdContent()** helper + mirrored init/deinit blocks in src/index.ts. AGENTS.md is appended if the file exists without the NREKI marker, created fresh otherwise.
52
+
53
+ ### Changed
54
+
55
+ - **CLAUDE.md template** rewritten as "NREKI ACTIVE (IMMUNE SYSTEM)" manifest with v10.15.0 features: `fast_grep` as the default exact-search tool, 80L guillotine for batch_edit payload decomposition, patch mode mandate for symbols >40 lines, ACID rules for multi-patching, TTRD (Type Discipline) bounties, engram memory anchoring.
56
+
57
+ ### Notes
58
+
59
+ - No code/runtime behavior changes. Safe patch bump from v10.15.0. 845/845 tests pass unchanged.
60
+
5
61
  ## [10.15.0] — 2026-04-24
6
62
 
7
63
  ### Fast Path Navigator + Semantic Grep
@@ -6,6 +6,7 @@
6
6
  * Typical latency: 3-50ms vs 900ms+ for embedding-based search.
7
7
  */
8
8
  import { ASTParser } from "./parser.js";
9
+ import type { NrekiEngine } from "./engine.js";
9
10
  export interface DefinitionResult {
10
11
  filePath: string;
11
12
  name: string;
@@ -23,7 +24,7 @@ export interface ReferenceResult {
23
24
  context: string;
24
25
  }
25
26
  export type SymbolKind = "function" | "class" | "interface" | "type" | "variable" | "enum" | "method" | "any";
26
- export declare function findDefinition(projectRoot: string, parser: ASTParser, symbolName: string, kind?: SymbolKind): Promise<DefinitionResult[]>;
27
- export declare function findReferences(projectRoot: string, parser: ASTParser, symbolName: string): Promise<ReferenceResult[]>;
27
+ export declare function findDefinition(projectRoot: string, parser: ASTParser, symbolName: string, kind?: SymbolKind, engine?: NrekiEngine): Promise<DefinitionResult[]>;
28
+ export declare function findReferences(projectRoot: string, parser: ASTParser, symbolName: string, engine?: NrekiEngine): Promise<ReferenceResult[]>;
28
29
  export declare function getFileSymbols(filePath: string, parser: ASTParser, projectRoot?: string): Promise<DefinitionResult[]>;
29
30
  //# sourceMappingURL=ast-navigator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast-navigator.d.ts","sourceRoot":"","sources":["../src/ast-navigator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,SAAS,EAAoB,MAAM,aAAa,CAAC;AAM1D,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAuK9G,wBAAsB,cAAc,CAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,UAAkB,GACzB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAoD7B;AAED,wBAAsB,cAAc,CAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,eAAe,EAAE,CAAC,CAuC5B;AAED,wBAAsB,cAAc,CAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,EACjB,WAAW,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA6B7B"}
1
+ {"version":3,"file":"ast-navigator.d.ts","sourceRoot":"","sources":["../src/ast-navigator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,SAAS,EAAoB,MAAM,aAAa,CAAC;AAI1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK/C,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AA4N9G,wBAAsB,cAAc,CAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,UAAkB,EACxB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAiF7B;AAED,wBAAsB,cAAc,CAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,eAAe,EAAE,CAAC,CA0D5B;AAED,wBAAsB,cAAc,CAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,EACjB,WAAW,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA6B7B"}
@@ -9,6 +9,7 @@ import fs from "fs";
9
9
  import path from "path";
10
10
  import { shouldProcess } from "./utils/file-filter.js";
11
11
  import { readSource } from "./utils/read-source.js";
12
+ import { escapeRegExp } from "./utils/imports.js";
12
13
  // ─── Constants ──────────────────────────────────────────────────────
13
14
  const SUPPORTED_EXTENSIONS = new Set([".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs", ".mts", ".cts", ".py", ".go", ".css", ".json", ".html"]);
14
15
  const IGNORE_DIRS = new Set([
@@ -165,8 +166,92 @@ function getExportStatus(rawCode, contentLines, startLine) {
165
166
  }
166
167
  return null;
167
168
  }
169
+ /**
170
+ * Replace contents of string literals and comments with spaces, preserving
171
+ * line and column geometry of the source. Used by findReferences AST-light
172
+ * filter to avoid matching inside strings/comments without shifting line/column.
173
+ *
174
+ * ORDER IS CRITICAL: strings are neutralized FIRST. If comments were processed
175
+ * first, "//" inside a string like "http://api.com" would eat the rest of the
176
+ * line and break the string regex.
177
+ */
178
+ function stripCommentsAndStringsPreservingGeometry(code) {
179
+ return code
180
+ .replace(/(["\u0027`])(?:\\.|(?!\1)[^\\])*\1/g, (m) => m.replace(/[^\n]/g, " "))
181
+ .replace(/\/\*[\s\S]*?\*\//g, (m) => m.replace(/[^\n]/g, " "))
182
+ .replace(/\/\/[^\n]*/g, (m) => " ".repeat(m.length));
183
+ }
184
+ /** Convert a ChunkRecord (SQLite) to a DefinitionResult. Re-reads file only if export status is ambiguous. */
185
+ function chunkRecordToDefinition(chunk, projectRoot, symbolName) {
186
+ const chunkKind = NODE_TYPE_TO_KIND[chunk.node_type] || chunk.node_type;
187
+ const relPath = path.relative(projectRoot, path.resolve(projectRoot, chunk.path)).replace(/\\/g, "/");
188
+ const trimmed = chunk.raw_code.trim();
189
+ let exportedAs = null;
190
+ if (trimmed.startsWith("export default "))
191
+ exportedAs = "default";
192
+ else if (trimmed.startsWith("export "))
193
+ exportedAs = "named";
194
+ else {
195
+ // Inner AST node (e.g. interface/type/enum without export wrapper). Re-read source line.
196
+ try {
197
+ const absPath = path.resolve(projectRoot, chunk.path);
198
+ const content = readSource(absPath);
199
+ const lineText = content.split("\n")[chunk.start_line - 1];
200
+ if (lineText) {
201
+ const lt = lineText.trim();
202
+ if (lt.startsWith("export default "))
203
+ exportedAs = "default";
204
+ else if (lt.startsWith("export "))
205
+ exportedAs = "named";
206
+ }
207
+ }
208
+ catch { /* non-fatal: leave exportedAs null */ }
209
+ }
210
+ return {
211
+ filePath: relPath,
212
+ name: chunk.symbol_name || symbolName,
213
+ kind: chunkKind,
214
+ signature: extractSignature(chunk.raw_code),
215
+ body: chunk.raw_code,
216
+ startLine: chunk.start_line,
217
+ endLine: chunk.end_line,
218
+ exportedAs,
219
+ };
220
+ }
168
221
  // ─── Core Navigation Functions ──────────────────────────────────────
169
- export async function findDefinition(projectRoot, parser, symbolName, kind = "any") {
222
+ export async function findDefinition(projectRoot, parser, symbolName, kind = "any", engine) {
223
+ if (!symbolName.trim())
224
+ return [];
225
+ // Fast path: SQLite lookup if engine provided
226
+ if (engine) {
227
+ try {
228
+ let chunks = await engine.getChunksBySymbolExact(symbolName, true);
229
+ if (chunks.length === 0) {
230
+ chunks = await engine.getChunksBySymbolExact(symbolName, false);
231
+ }
232
+ if (chunks.length > 0) {
233
+ const exactFast = [];
234
+ const partialFast = [];
235
+ const lowerSymbolFast = symbolName.toLowerCase();
236
+ for (const chunk of chunks) {
237
+ const chunkKind = NODE_TYPE_TO_KIND[chunk.node_type] || chunk.node_type;
238
+ if (kind !== "any" && chunkKind !== kind)
239
+ continue;
240
+ const def = chunkRecordToDefinition(chunk, projectRoot, symbolName);
241
+ if (chunk.symbol_name === symbolName)
242
+ exactFast.push(def);
243
+ else if ((chunk.symbol_name || "").toLowerCase() === lowerSymbolFast)
244
+ partialFast.push(def);
245
+ }
246
+ if (exactFast.length > 0 || partialFast.length > 0) {
247
+ return [...exactFast, ...partialFast];
248
+ }
249
+ // Fast path returned chunks but none passed kind filter: fall through to slow path
250
+ }
251
+ }
252
+ catch { /* SQLite unavailable — fall through to slow path */ }
253
+ }
254
+ // Slow path: walk disk (original behavior, backward-compatible)
170
255
  await parser.initialize();
171
256
  const files = walkFiles(projectRoot);
172
257
  const exact = [];
@@ -215,13 +300,30 @@ export async function findDefinition(projectRoot, parser, symbolName, kind = "an
215
300
  // Exact matches first, then case-insensitive matches
216
301
  return [...exact, ...partial];
217
302
  }
218
- export async function findReferences(projectRoot, parser, symbolName) {
219
- await parser.initialize();
220
- const files = walkFiles(projectRoot);
303
+ export async function findReferences(projectRoot, parser, symbolName, engine) {
304
+ if (!symbolName.trim())
305
+ return [];
306
+ // escapeRegExp from utils is blinded-tested and avoids the fragile inline character class
307
+ const symbolRe = new RegExp(`\\b${escapeRegExp(symbolName)}\\b`, "g");
221
308
  const results = [];
222
- // Word boundary regex for the symbol
223
- const symbolRe = new RegExp(`\\b${symbolName.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}\\b`, "g");
224
- for (const filePath of files) {
309
+ // Candidate file selection: SQLite inverted index if engine available, else walk disk
310
+ let candidatePaths = [];
311
+ let usedFastPath = false;
312
+ if (engine) {
313
+ try {
314
+ const relCandidates = await engine.searchFilesBySymbol(symbolName);
315
+ if (relCandidates.length > 0) {
316
+ candidatePaths = relCandidates.map((rel) => path.resolve(projectRoot, rel));
317
+ usedFastPath = true;
318
+ }
319
+ }
320
+ catch { /* SQLite unavailable — fall through */ }
321
+ }
322
+ if (!usedFastPath) {
323
+ await parser.initialize();
324
+ candidatePaths = walkFiles(projectRoot);
325
+ }
326
+ for (const filePath of candidatePaths) {
225
327
  let content;
226
328
  try {
227
329
  content = readSource(filePath);
@@ -229,20 +331,23 @@ export async function findReferences(projectRoot, parser, symbolName) {
229
331
  catch {
230
332
  continue;
231
333
  }
232
- const lines = content.split("\n");
334
+ // AST-light: zero out string/comment content (preserves line/column geometry)
335
+ const cleanContent = stripCommentsAndStringsPreservingGeometry(content);
336
+ const cleanLines = cleanContent.split("\n");
337
+ const rawLines = content.split("\n");
233
338
  const relPath = path.relative(projectRoot, filePath).replace(/\\/g, "/");
234
- for (let i = 0; i < lines.length; i++) {
339
+ for (let i = 0; i < cleanLines.length; i++) {
235
340
  symbolRe.lastIndex = 0;
236
- const match = symbolRe.exec(lines[i]);
341
+ const match = symbolRe.exec(cleanLines[i]);
237
342
  if (!match)
238
343
  continue;
239
- // Build context: line + 1 line above and below
344
+ // Context: 1 line above and below from RAW content (not cleaned)
240
345
  const ctxStart = Math.max(0, i - 1);
241
- const ctxEnd = Math.min(lines.length - 1, i + 1);
242
- const context = lines.slice(ctxStart, ctxEnd + 1).join("\n");
346
+ const ctxEnd = Math.min(rawLines.length - 1, i + 1);
347
+ const context = rawLines.slice(ctxStart, ctxEnd + 1).join("\n");
243
348
  results.push({
244
349
  filePath: relPath,
245
- line: i + 1, // 1-indexed
350
+ line: i + 1,
246
351
  column: match.index + 1,
247
352
  context,
248
353
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ast-navigator.js","sourceRoot":"","sources":["../src/ast-navigator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast-navigator.js","sourceRoot":"","sources":["../src/ast-navigator.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,16 @@ export interface ChunkRecord {
29
29
  end_index: number;
30
30
  symbol_name: string;
31
31
  }
32
+ /**
33
+ * Shape returned by fastGrep(): the 4 columns handleFastGrep consumes.
34
+ * Avoids sql.js WASM overhead of serializing unused columns per row.
35
+ */
36
+ export interface FastGrepHit {
37
+ path: string;
38
+ raw_code: string;
39
+ start_line: number;
40
+ symbol_name: string;
41
+ }
32
42
  export interface HybridSearchResult {
33
43
  id: number;
34
44
  path: string;
@@ -184,6 +194,13 @@ export declare class NrekiDB {
184
194
  * Returns chunks whose raw_code contains the query as substring. LIMIT-bounded.
185
195
  */
186
196
  searchRawCodeLike(queryText: string, limit?: number): ChunkRecord[];
197
+ /**
198
+ * Exact substring search for the nreki_navigate fast_grep action.
199
+ * Uses SQLite INSTR (no wildcard interpretation — safe for arbitrary queries)
200
+ * and SELECTs only the 4 columns handleFastGrep consumes to minimize
201
+ * sql.js WASM row-serialization cost.
202
+ */
203
+ fastGrep(queryText: string, limit?: number): FastGrepHit[];
187
204
  close(): void;
188
205
  }
189
206
  export { fastSimilarity };
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
package/dist/database.js CHANGED
@@ -783,6 +783,34 @@ export class NrekiDB {
783
783
  }
784
784
  return results;
785
785
  }
786
+ /**
787
+ * Exact substring search for the nreki_navigate fast_grep action.
788
+ * Uses SQLite INSTR (no wildcard interpretation — safe for arbitrary queries)
789
+ * and SELECTs only the 4 columns handleFastGrep consumes to minimize
790
+ * sql.js WASM row-serialization cost.
791
+ */
792
+ fastGrep(queryText, limit = 50) {
793
+ if (!this._ready)
794
+ return [];
795
+ const stmt = this.db.prepare("SELECT path, raw_code, start_line, symbol_name FROM chunks WHERE INSTR(raw_code, ?) > 0 LIMIT ?");
796
+ const results = [];
797
+ try {
798
+ stmt.bind([queryText, limit]);
799
+ while (stmt.step()) {
800
+ const row = stmt.getAsObject();
801
+ results.push({
802
+ path: row.path,
803
+ raw_code: row.raw_code,
804
+ start_line: row.start_line,
805
+ symbol_name: row.symbol_name ?? "",
806
+ });
807
+ }
808
+ }
809
+ finally {
810
+ stmt.free();
811
+ }
812
+ return results;
813
+ }
786
814
  close() {
787
815
  if (!this.db)
788
816
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,SAA6C,MAAM,QAAQ,CAAC;AACnE,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,uDAAuD;AACvD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AA6CzD,wEAAwE;AAExE,MAAM,OAAO,OAAO;IACR,EAAE,CAAiB;IACnB,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;IAC7B,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;IACrC,0FAA0F;IAClF,eAAe,GAAG,IAAI,GAAG,EAAuB,CAAC;IACjD,eAAe,GAAG,KAAK,CAAC;IACxB,MAAM,CAAS;IACf,OAAO,CAAS;IAChB,WAAW,GAAyB,IAAI,CAAC;IACzC,MAAM,GAAG,KAAK,CAAC;IAEvB,YAAY,SAAiB,WAAW;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,UAAU;QACZ,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACpC,CAAC;QACD,MAAM,IAAI,CAAC,WAAW,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,KAAK;QACf,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAE9B,sCAAsC;QACtC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACD,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChD,IAAI,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC,CAAC;gBACxF,IAAI,CAAC;oBAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;wBAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;gBAC1G,IAAI,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjC,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjC,CAAC;QAED,0EAA0E;QAC1E,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,yDAAyD;QACzD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3E,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAClE,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,gEAAgE;IAExD,WAAW;QACf,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAoDf,CAAC,CAAC;QAEC,yDAAyD;QACzD,MAAM,gBAAgB,GAAG;YACrB,sEAAsE;YACtE,oEAAoE;YACpE,oEAAoE;SACvE,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACjC,IAAI,CAAC;gBAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;QACnE,CAAC;IACL,CAAC;IAED,oEAAoE;IAC5D,mBAAmB;QACvB,kFAAkF;QAClF,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QACjE,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAuC,CAAC;gBACpE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC;IACL,CAAC;IAED,iFAAiF;IACzE,sBAAsB;QAC1B,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QACjC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;QAClE,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAwC,CAAC;gBACrE,IAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAChD,IAAI,CAAC,MAAM,EAAE,CAAC;oBAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;oBAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAAC,CAAC;gBAChF,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBAChE,IAAI,OAAO;oBAAE,KAAK,MAAM,CAAC,IAAI,OAAO;wBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,uEAAuE;IAC/D,YAAY,CAAC,QAAgB,EAAE,OAAe;QAClD,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,mCAAmC;QACrF,IAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAAC,CAAC;QAChF,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC3D,IAAI,OAAO;YAAE,KAAK,MAAM,CAAC,IAAI,OAAO;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,gEAAgE;IAEhE,wDAAwD;IACxD,WAAW,CAAC,GAAW;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;QACzE,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACjB,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACd,OAAQ,IAAI,CAAC,WAAW,EAAwB,CAAC,KAAK,CAAC;YAC3D,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC;IACL,CAAC;IAED,gDAAgD;IAChD,WAAW,CAAC,GAAW,EAAE,KAAa;QAClC,IAAI,CAAC,EAAE,CAAC,GAAG,CACP,4DAA4D,EAC5D,CAAC,GAAG,EAAE,KAAK,CAAC,CACf,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,uBAAuB,CAAC,SAAiB;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAEpD,IAAI,SAAS,IAAI,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,gCAAgC,SAAS,OAAO,SAAS,oBAAoB,CAAC,CAAC;YAC3F,oBAAoB;YACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,oDAAoD;YACpD,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACjC,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;YAClC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,gEAAgE;IAEhE,YAAY,CAAC,QAAgB,EAAE,UAAkB,EAAE,OAAe,EAAE,OAAe;QAC/E,IAAI,CAAC,EAAE,CAAC,GAAG,CACP,2FAA2F,EAC3F,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAC3C,CAAC;QACF,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,iBAAiB,CAAC,QAAgB;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mEAAmE,CAAC,CAAC;QAClG,MAAM,MAAM,GAAG,IAAI,GAAG,EAAgD,CAAC;QACvE,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAgE,CAAC;gBAC7F,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACjF,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,YAAY,CAAC,QAAgB,EAAE,UAAkB;QAC7C,IAAI,CAAC,EAAE,CAAC,GAAG,CACP,wDAAwD,EACxD,CAAC,QAAQ,EAAE,UAAU,CAAC,CACzB,CAAC;QACF,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,iDAAiD;IACjD,IAAI;QACA,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO;QACrB,iDAAiD;QACjD,uDAAuD;QACvD,qDAAqD;QACrD,2DAA2D;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,sDAAsD;QACtD,qEAAqE;QACrE,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QAC5E,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAChC,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAElC,2DAA2D;QAC3D,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC1C,kDAAkD;YAClD,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YAC9E,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAClC,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;IAED,gEAAgE;IAEhE,eAAe,CAAC,QAAgB,EAAE,OAAe;QAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;QACtE,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACd,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAsB,CAAC;gBACnD,OAAO,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC;YAChC,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC;IACL,CAAC;IAED,WAAW,CAAC,OAAe;QACvB,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrE,CAAC;IAED,UAAU,CAAC,QAAgB,EAAE,IAAY;QACrC,IAAI,CAAC,EAAE,CAAC,GAAG,CACP,sFAAsF,EACtF,CAAC,QAAQ,EAAE,IAAI,CAAC,CACnB,CAAC;IACN,CAAC;IAED,WAAW,CAAC,QAAgB;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;QACrE,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAoB,CAAC;gBACjD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrB,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,IAAI,CAAC,eAAe;gBAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,mCAAmC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,qEAAqE;QACrE,qEAAqE;QACrE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,kCAAkC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,gEAAgE;IAEhE,WAAW,CACP,QAAgB,EAChB,SAAiB,EACjB,OAAe,EACf,QAAgB,EAChB,SAAiB,EACjB,OAAe,EACf,SAAuB,EACvB,aAAqB,CAAC,EACtB,WAAmB,CAAC,EACpB,aAAqB,EAAE;QAEvB,IAAI,CAAC,EAAE,CAAC,GAAG,CACP;0CAC8B,EAC9B,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CACjG,CAAC;QAEF,MAAM,KAAK,GAAI,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC;aAC7D,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAY,CAAC;QAE7B,uEAAuE;QACvE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,iBAAiB,CACb,MAWE;QAEF,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,8DAA8D;QAC9D,8DAA8D;QAC9D,yDAAyD;QACzD,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACzB,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CACvB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,UAAU,IAAI,CAAC,EACrB,KAAK,CAAC,QAAQ,IAAI,CAAC,EACnB,KAAK,CAAC,UAAU,IAAI,EAAE,CACzB,CAAC;gBACF,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxB,+CAA+C;YAC/C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YACrC,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC;IAED,iEAAiE;IAEjE,4EAA4E;IACpE,YAAY,CAAC,QAAgB;QACjC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9D,IAAI,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAAE,OAAO,GAAG,CAAC;QACtD,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,GAAG,CAAC;QAChF,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,GAAG,CAAC;QAC/E,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,GAAG,CAAC;QAC7C,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,GAAG,CAAC;QAC9E,OAAO,GAAG,CAAC;IACf,CAAC;IAED,kEAAkE;IAElE;;;OAGG;IACK,eAAe,CAAC,GAAa;QACjC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QACzC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC;QACpC,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACxB,4CAA4C,YAAY,GAAG,CAC9D,CAAC;QACF,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAkC,CAAC;gBAC/D,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACK,gBAAgB,CAAC,GAAa;QAClC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC9C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC;QACpC,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACxB;wCAC4B,YAAY,GAAG,CAC9C,CAAC;QACF,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAqC,CAAC;gBAClE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAY,EAAE;oBACzB,EAAE,EAAE,GAAG,CAAC,EAAY;oBACpB,IAAI,EAAE,GAAG,CAAC,IAAc;oBACxB,SAAS,EAAE,GAAG,CAAC,SAAmB;oBAClC,QAAQ,EAAE,GAAG,CAAC,QAAkB;oBAChC,SAAS,EAAE,GAAG,CAAC,SAAmB;oBAClC,UAAU,EAAE,GAAG,CAAC,UAAoB;oBACpC,QAAQ,EAAE,GAAG,CAAC,QAAkB;oBAChC,WAAW,EAAG,GAAG,CAAC,WAAsB,IAAI,CAAC;oBAC7C,SAAS,EAAG,GAAG,CAAC,SAAoB,IAAI,CAAC;oBACzC,WAAW,EAAG,GAAG,CAAC,WAAsB,IAAI,EAAE;iBACjD,CAAC,CAAC;YACP,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,gEAAgE;IAEhE;;;;;;;OAOG;IACH,YAAY,CACR,cAA4B,EAC5B,SAAiB,EACjB,QAAgB,EAAE;QAElB,iDAAiD;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC3C,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAE3D,oDAAoD;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAEzD,iDAAiD;QACjD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;QAClD,MAAM,MAAM,GAAuC,EAAE,CAAC;QAEtD,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,GAAG,GACH,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEvC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjC,IAAI,QAAQ,EAAE,CAAC;gBACX,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACvC,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAEtC,yCAAyC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAyB,EAAE,CAAC;QACzC,KAAK,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,MAAM,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7B,IAAI,GAAG,EAAE,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS;oBACpD,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS;oBAChD,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBAClD,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS;oBACtD,WAAW,EAAE,GAAG,CAAC,WAAW;oBAC5B,SAAS,EAAE,GAAG;iBACjB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,iBAAiB,CACb,SAAiB,EACjB,QAAgB,EAAE;QAElB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC5D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEtC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACpE,MAAM,OAAO,GAAyB,EAAE,CAAC;QAEzC,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,SAAS,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACzD,OAAO,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS;oBACpD,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS;oBAChD,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBAClD,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS;oBACtD,WAAW,EAAE,GAAG,CAAC,WAAW;oBAC5B,SAAS,EAAE,YAAY;iBAC1B,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;QAClD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,uBAAuB,CACnB,IAAiD,EACjD,YAAoB,GAAG;QAEvB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEjD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,OAAO,GAAyC,EAAE,CAAC;QACzD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QAEtC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAS;YAC1C,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,SAAS;gBAAE,MAAM;YAEjD,2DAA2D;YAC3D,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9D,MAAM,SAAS,GAAG,SAAS;gBACvB,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,SAAS,EAAE;gBAC9B,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YAEjB,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAElD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClB,kEAAkE;gBAClE,sDAAsD;gBACtD,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM,UAAU,GAAG,IAAI,MAAM,CACzB,qBAAqB,OAAO,sBAAsB,CACrD,CAAC;gBAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACrB,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;wBACjC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;wBACrD,MAAM;oBACV,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,YAAY,CACR,cAA4B,EAC5B,QAAgB,EAAE;QAElB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAC/D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,MAAM,OAAO,GAAyB,EAAE,CAAC;QAEzC,KAAK,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,UAAU,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,GAAG,EAAE,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS;oBACpD,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS;oBAChD,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBAClD,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS;oBACtD,WAAW,EAAE,GAAG,CAAC,WAAW;oBAC5B,SAAS,EAAE,CAAC,GAAG,QAAQ;iBAC1B,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,gEAAgE;IAEhE,QAAQ,CACJ,QAAgB,EAChB,WAAmB,EACnB,YAAoB,EACpB,WAAmB;QAEnB,IAAI,CAAC,EAAE,CAAC,GAAG,CACP;2BACe,EACf,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CACrD,CAAC;IACN,CAAC;IAED,aAAa,CAAC,KAAc;QAMxB,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEpC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACxB;;;;;uBAKW,WAAW,EAAE,CAC3B,CAAC;QAEF,IAAI,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEzC,IAAI,MAAM,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;YAChF,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACd,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAA4B,CAAC;gBACzD,MAAM,GAAG;oBACL,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,CAAC;oBACjC,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,CAAC;oBACnC,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,CAAC;oBACjC,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,CAAC;iBAClC,CAAC;YACN,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,QAAgB,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;SAM5B,CAAC,CAAC;QACH,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAEnB,MAAM,OAAO,GAAsD,EAAE,CAAC;YACtE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAA2C,CAAC;gBACxE,OAAO,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC;iBACrD,CAAC,CAAC;YACP,CAAC;YACD,OAAO,OAAO,CAAC;QACnB,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC;IACL,CAAC;IAED,gEAAgE;IAEhE,QAAQ;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;KAO7B,CAAC,CAAC;QAEC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnD,OAAO;gBACH,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,CAAC;gBACd,gBAAgB,EAAE,CAAC;gBACnB,sBAAsB,EAAE,CAAC;gBACzB,iBAAiB,EAAE,CAAC;aACvB,CAAC;QACN,CAAC;QAED,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,sBAAsB,CAAC,GACvE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAa,CAAC;QAElC,OAAO;YACH,YAAY;YACZ,WAAW;YACX,gBAAgB;YAChB,sBAAsB;YACtB,iBAAiB,EACb,gBAAgB,GAAG,CAAC;gBAChB,CAAC,CAAC,CAAC,GAAG,sBAAsB,GAAG,gBAAgB;gBAC/C,CAAC,CAAC,CAAC;SACd,CAAC;IACN,CAAC;IAED,YAAY;QACR,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACjE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAW,CAAC;IAC1C,CAAC;IAED,cAAc;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED;;;;;;;;OAQG;IACH,aAAa,CAAC,UAAkB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACpD,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAAC,CAAC;QAC3D,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,sBAAsB,CAAC,UAAkB,EAAE,QAAiB,IAAI;QAC5D,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,KAAK;YACb,CAAC,CAAC,8IAA8I;YAChJ,CAAC,CAAC,6JAA6J,CAAC;QACpK,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAA6B,CAAC;gBAC1D,OAAO,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,GAAG,CAAC,EAAY;oBACpB,IAAI,EAAE,GAAG,CAAC,IAAc;oBACxB,SAAS,EAAE,GAAG,CAAC,SAAmB;oBAClC,QAAQ,EAAE,GAAG,CAAC,QAAkB;oBAChC,SAAS,EAAE,GAAG,CAAC,SAAmB;oBAClC,UAAU,EAAE,GAAG,CAAC,UAAoB;oBACpC,QAAQ,EAAE,GAAG,CAAC,QAAkB;oBAChC,WAAW,EAAG,GAAG,CAAC,WAAsB,IAAI,CAAC;oBAC7C,SAAS,EAAG,GAAG,CAAC,SAAoB,IAAI,CAAC;oBACzC,WAAW,EAAG,GAAG,CAAC,WAAsB,IAAI,EAAE;iBACjD,CAAC,CAAC;YACP,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,SAAiB,EAAE,QAAgB,EAAE;QACnD,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACxB,sJAAsJ,CACzJ,CAAC;QACF,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,SAAS,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAA6B,CAAC;gBAC1D,OAAO,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,GAAG,CAAC,EAAY;oBACpB,IAAI,EAAE,GAAG,CAAC,IAAc;oBACxB,SAAS,EAAE,GAAG,CAAC,SAAmB;oBAClC,QAAQ,EAAE,GAAG,CAAC,QAAkB;oBAChC,SAAS,EAAE,GAAG,CAAC,SAAmB;oBAClC,UAAU,EAAE,GAAG,CAAC,UAAoB;oBACpC,QAAQ,EAAE,GAAG,CAAC,QAAkB;oBAChC,WAAW,EAAG,GAAG,CAAC,WAAsB,IAAI,CAAC;oBAC7C,SAAS,EAAG,GAAG,CAAC,SAAoB,IAAI,CAAC;oBACzC,WAAW,EAAG,GAAG,CAAC,WAAsB,IAAI,EAAE;iBACjD,CAAC,CAAC;YACP,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO;QACrB,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;CACJ;AAED,wBAAwB;AACxB,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
package/dist/engine.d.ts CHANGED
@@ -11,7 +11,7 @@
11
11
  *
12
12
  * All processing is local. Zero cloud dependencies.
13
13
  */
14
- import { type ChunkRecord } from "./database.js";
14
+ import { type ChunkRecord, type FastGrepHit } from "./database.js";
15
15
  import { ASTParser, type ParseResult } from "./parser.js";
16
16
  import { type CompressionResult } from "./compressor.js";
17
17
  import { type CompressionLevel, type AdvancedCompressionResult } from "./compressor.js";
@@ -131,6 +131,11 @@ export declare class NrekiEngine {
131
131
  * Fast raw_code substring search via SQLite. Used by nreki_navigate fast_grep.
132
132
  */
133
133
  searchRawCodeLike(queryText: string, limit?: number): Promise<ChunkRecord[]>;
134
+ /**
135
+ * Exact substring search via SQLite INSTR. Returns only (path, raw_code,
136
+ * start_line, symbol_name). Used by the nreki_navigate fast_grep handler.
137
+ */
138
+ fastGrep(queryText: string, limit?: number): Promise<FastGrepHit[]>;
134
139
  /** Find all files that import the given file path (relative). */
135
140
  findDependents(filePath: string): Promise<string[]>;
136
141
  startWatcher(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/engine.js CHANGED
@@ -347,6 +347,14 @@ export class NrekiEngine {
347
347
  await this.initialize();
348
348
  return this.db.searchRawCodeLike(queryText, limit);
349
349
  }
350
+ /**
351
+ * Exact substring search via SQLite INSTR. Returns only (path, raw_code,
352
+ * start_line, symbol_name). Used by the nreki_navigate fast_grep handler.
353
+ */
354
+ async fastGrep(queryText, limit = 50) {
355
+ await this.initialize();
356
+ return this.db.fastGrep(queryText, limit);
357
+ }
350
358
  /** Find all files that import the given file path (relative). */
351
359
  async findDependents(filePath) {
352
360
  const graph = await this.getDependencyGraph();