@ruso-0/nreki 11.0.2 → 11.2.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 (54) hide show
  1. package/CHANGELOG.md +179 -0
  2. package/dist/bm25-engine.d.ts +102 -0
  3. package/dist/bm25-engine.d.ts.map +1 -0
  4. package/dist/bm25-engine.js +246 -0
  5. package/dist/bm25-engine.js.map +1 -0
  6. package/dist/compressor-foveal.d.ts.map +1 -1
  7. package/dist/compressor-foveal.js +27 -0
  8. package/dist/compressor-foveal.js.map +1 -1
  9. package/dist/engine/indexer.d.ts.map +1 -1
  10. package/dist/engine/indexer.js +11 -0
  11. package/dist/engine/indexer.js.map +1 -1
  12. package/dist/engine-types.d.ts +8 -0
  13. package/dist/engine-types.d.ts.map +1 -1
  14. package/dist/engine.d.ts +26 -0
  15. package/dist/engine.d.ts.map +1 -1
  16. package/dist/engine.js +112 -4
  17. package/dist/engine.js.map +1 -1
  18. package/dist/handlers/navigate.d.ts +15 -0
  19. package/dist/handlers/navigate.d.ts.map +1 -1
  20. package/dist/handlers/navigate.js +131 -8
  21. package/dist/handlers/navigate.js.map +1 -1
  22. package/dist/hybrid-engine.d.ts +92 -0
  23. package/dist/hybrid-engine.d.ts.map +1 -0
  24. package/dist/hybrid-engine.js +197 -0
  25. package/dist/hybrid-engine.js.map +1 -0
  26. package/dist/index.js +27 -5
  27. package/dist/index.js.map +1 -1
  28. package/dist/repo-map.d.ts.map +1 -1
  29. package/dist/repo-map.js +7 -0
  30. package/dist/repo-map.js.map +1 -1
  31. package/dist/router.d.ts +2 -1
  32. package/dist/router.d.ts.map +1 -1
  33. package/dist/router.js +6 -2
  34. package/dist/router.js.map +1 -1
  35. package/dist/utils/token-estimator.d.ts +4 -4
  36. package/dist/utils/token-estimator.d.ts.map +1 -1
  37. package/dist/utils/token-estimator.js +34 -6
  38. package/dist/utils/token-estimator.js.map +1 -1
  39. package/package.json +1 -1
  40. package/src/.nreki/repo-map.json +1 -0
  41. package/src/bm25-engine.ts +295 -0
  42. package/src/compressor-foveal.ts +28 -0
  43. package/src/engine/indexer.ts +10 -0
  44. package/src/engine-types.ts +8 -0
  45. package/src/engine.ts +156 -45
  46. package/src/handlers/navigate.ts +162 -16
  47. package/src/hybrid-engine.ts +282 -0
  48. package/src/index.ts +38 -12
  49. package/src/repo-map.ts +34 -28
  50. package/src/router.ts +4 -2
  51. package/src/utils/token-estimator.ts +43 -15
  52. package/templates/AGENTS.md +17 -37
  53. package/templates/CLAUDE.md +22 -36
  54. package/templates/SKILL.md +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../src/engine/indexer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,qBAAa,aAAa;IAElB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;gBAHR,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC9B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAGnC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;YAwBhD,sBAAsB;YAmBtB,cAAc;IA8DtB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IA6BpG,OAAO,CAAC,aAAa;CA4BxB"}
1
+ {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../src/engine/indexer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,qBAAa,aAAa;IAElB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;gBAHR,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC9B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAGnC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;YAwBhD,sBAAsB;YAmBtB,cAAc;IA8DtB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IA6BpG,OAAO,CAAC,aAAa;CAsCxB"}
@@ -150,6 +150,17 @@ export class IndexPipeline {
150
150
  const fullPath = path.join(dir, entry.name);
151
151
  const relativePath = path.relative(dirPath, fullPath).replace(/\\/g, "/");
152
152
  if (entry.isDirectory()) {
153
+ // v11.2.1: skip dot-prefixed directories (mirrors
154
+ // BM25Engine.walkSourceFiles policy at bm25-engine.ts:281).
155
+ // Covers .git, .next, .venv*, .eval-phase5-cache, .turbo,
156
+ // .cache, .parcel-cache, .pytest_cache, .mypy_cache,
157
+ // .ruff_cache, .idea, .vscode, .ipynb_checkpoints, .nreki,
158
+ // .nreki-runtime without enumeration. Pre-v11.2.1 these
159
+ // were walked synchronously by fs.readdirSync, blocking the
160
+ // MCP event loop for tens of seconds on heavy dot-dirs and
161
+ // surfacing to Claude Code as a tools/call EOF.
162
+ if (entry.name.startsWith("."))
163
+ continue;
153
164
  if (!isIgnored(entry.name) && !isIgnored(relativePath) && !isIgnored(relativePath + "/")) {
154
165
  walk(fullPath);
155
166
  }
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../src/engine/indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../src/engine/indexer.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,14 @@ export interface SessionReport {
71
71
  originalTokens: number;
72
72
  ratio: number;
73
73
  }>;
74
+ /** Per-file-size breakdown (Phase 5.5.1 empirical verify). */
75
+ bySize: Array<{
76
+ bucket: string;
77
+ count: number;
78
+ tokensSaved: number;
79
+ originalTokens: number;
80
+ ratio: number;
81
+ }>;
74
82
  /** Number of auto-context injections in this session */
75
83
  autoContextInjections: number;
76
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"engine-types.d.ts","sourceRoot":"","sources":["../src/engine-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE;QACP,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;QAC3C,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,OAAO,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,UAAU,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;CACL;AAED,MAAM,WAAW,UAAU;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC1B,mCAAmC;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,gBAAgB,EAAE,MAAM,CAAC;IACzB,uCAAuC;IACvC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,UAAU,EAAE,KAAK,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,wDAAwD;IACxD,qBAAqB,EAAE,MAAM,CAAC;CACjC"}
1
+ {"version":3,"file":"engine-types.d.ts","sourceRoot":"","sources":["../src/engine-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE;QACP,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;QAC3C,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,OAAO,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,UAAU,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;CACL;AAED,MAAM,WAAW,UAAU;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC1B,mCAAmC;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,gBAAgB,EAAE,MAAM,CAAC;IACzB,uCAAuC;IACvC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,UAAU,EAAE,KAAK,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,8DAA8D;IAC9D,MAAM,EAAE,KAAK,CAAC;QACV,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,wDAAwD;IACxD,qBAAqB,EAAE,MAAM,CAAC;CACjC"}
package/dist/engine.d.ts CHANGED
@@ -46,6 +46,9 @@ export declare class NrekiEngine {
46
46
  private cachedGraph;
47
47
  /** Cryptographic tickets for in-flight internal edits (expected disk hash). */
48
48
  private expectedInternalHashes;
49
+ /** Phase 5.5.2: lazy-loaded hybrid retrieval stack (BM25 + RRF + foveal). */
50
+ private cachedHybridEngine;
51
+ private cachedBM25Engine;
49
52
  constructor(config?: EngineConfig);
50
53
  /**
51
54
  * Initialization: SQLite + Tree-sitter. Completes in ~100ms.
@@ -58,7 +61,30 @@ export declare class NrekiEngine {
58
61
  skipped: number;
59
62
  errors: number;
60
63
  }>;
64
+ /**
65
+ * v11.2.1: kick off a full project index in the background and return
66
+ * immediately. MCP tool handlers call this on first request so they
67
+ * can respond inside Claude Code's tool-call timeout window instead
68
+ * of blocking on a multi-minute walk that surfaces as "connection
69
+ * closed: EOF" on large repos. Concurrent calls coalesce on the
70
+ * single in-flight promise; once it settles the next call kicks a
71
+ * fresh pass (so newly-added trees are eventually picked up).
72
+ */
73
+ private backgroundIndexPromise;
74
+ ensureIndexedBackground(): boolean;
61
75
  search(query: string, limit?: number): Promise<import("./engine-types.js").SearchResult[]>;
76
+ /**
77
+ * Lazy-construct the HybridEngine (NREKI semantic + BM25 lexical via RRF).
78
+ * The BM25 index walks the project root on first access; subsequent
79
+ * calls reuse the cached index until invalidateHybridIndex() fires.
80
+ *
81
+ * Async because hybrid-engine + bm25-engine modules are loaded lazily
82
+ * via dynamic import() to avoid a top-of-file cycle (hybrid-engine
83
+ * imports the NrekiEngine type).
84
+ */
85
+ getHybridEngine(): Promise<import("./hybrid-engine.js").HybridEngine>;
86
+ /** Drop the cached BM25 index (call when files mutate on disk). */
87
+ invalidateHybridIndex(): void;
62
88
  /** Compress a file for token-efficient reading. */
63
89
  compressFile(filePath: string, tier?: 1 | 2 | 3, focusQuery?: string): Promise<CompressionResult>;
64
90
  /** Compress a file using the advanced LLMLingua-2-inspired pipeline. */
@@ -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
@@ -13,6 +13,7 @@
13
13
  import fs from "fs";
14
14
  import path from "path";
15
15
  import chokidar from "chokidar";
16
+ import picomatch from "picomatch";
16
17
  import { NrekiDB } from "./database.js";
17
18
  import { estimateTokens } from "./utils/token-estimator.js";
18
19
  import { ASTParser } from "./parser.js";
@@ -64,9 +65,10 @@ class SessionTracker {
64
65
  totalTokensSaved = 0;
65
66
  totalOriginalTokens = 0;
66
67
  compressionsByType = new Map();
68
+ compressionsBySize = new Map();
67
69
  startTime = Date.now();
68
70
  autoContextInjections = 0;
69
- recordCompression(ext, originalTokens, savedTokens) {
71
+ recordCompression(ext, originalTokens, savedTokens, lineCount = 0) {
70
72
  this.totalTokensSaved += savedTokens;
71
73
  this.totalOriginalTokens += originalTokens;
72
74
  const entry = this.compressionsByType.get(ext) ?? { count: 0, saved: 0, original: 0 };
@@ -74,6 +76,14 @@ class SessionTracker {
74
76
  entry.saved += savedTokens;
75
77
  entry.original += originalTokens;
76
78
  this.compressionsByType.set(ext, entry);
79
+ const sizeBucket = lineCount < 100 ? "<100L" :
80
+ lineCount < 300 ? "100-299L" :
81
+ lineCount < 1000 ? "300-999L" : "≥1000L";
82
+ const sizeEntry = this.compressionsBySize.get(sizeBucket) ?? { count: 0, saved: 0, original: 0 };
83
+ sizeEntry.count++;
84
+ sizeEntry.saved += savedTokens;
85
+ sizeEntry.original += originalTokens;
86
+ this.compressionsBySize.set(sizeBucket, sizeEntry);
77
87
  }
78
88
  incrementAutoContext() {
79
89
  this.autoContextInjections++;
@@ -94,6 +104,20 @@ class SessionTracker {
94
104
  });
95
105
  }
96
106
  byFileType.sort((a, b) => b.tokensSaved - a.tokensSaved);
107
+ const bySize = [];
108
+ for (const [bucket, data] of this.compressionsBySize) {
109
+ bySize.push({
110
+ bucket,
111
+ count: data.count,
112
+ tokensSaved: data.saved,
113
+ originalTokens: data.original,
114
+ ratio: data.original > 0 ? 1 - (data.original - data.saved) / data.original : 0,
115
+ });
116
+ }
117
+ bySize.sort((a, b) => {
118
+ const order = ["<100L", "100-299L", "300-999L", "≥1000L"];
119
+ return order.indexOf(a.bucket) - order.indexOf(b.bucket);
120
+ });
97
121
  return {
98
122
  durationMinutes: Math.round(durationMinutes * 10) / 10,
99
123
  totalTokensSaved: totalSaved,
@@ -102,6 +126,7 @@ class SessionTracker {
102
126
  savedUsdSonnet: (totalSaved / 1_000_000) * 3,
103
127
  savedUsdOpus: (totalSaved / 1_000_000) * 15,
104
128
  byFileType,
129
+ bySize,
105
130
  autoContextInjections: this.autoContextInjections,
106
131
  };
107
132
  }
@@ -136,6 +161,9 @@ export class NrekiEngine {
136
161
  cachedGraph = null;
137
162
  /** Cryptographic tickets for in-flight internal edits (expected disk hash). */
138
163
  expectedInternalHashes = new Map();
164
+ /** Phase 5.5.2: lazy-loaded hybrid retrieval stack (BM25 + RRF + foveal). */
165
+ cachedHybridEngine = null;
166
+ cachedBM25Engine = null;
139
167
  constructor(config = {}) {
140
168
  this.config = {
141
169
  dbPath: config.dbPath ?? ".nreki.db",
@@ -201,19 +229,75 @@ export class NrekiEngine {
201
229
  this.fgCache.tombstoneByPath(filePath);
202
230
  const rows = this.db.exportChunksByPath(filePath);
203
231
  this.fgCache.appendChunks(rows);
232
+ // Phase 5.5.2: invalidate BM25 since file content changed.
233
+ this.invalidateHybridIndex();
204
234
  return result;
205
235
  }
206
236
  async indexDirectory(dirPath) {
207
237
  await this.initialize();
208
238
  const result = await this.indexer.indexDirectory(dirPath);
209
239
  this.fgCache.populateFromDatabase(this.db);
240
+ // Phase 5.5.2: invalidate BM25 since corpus mutated.
241
+ this.invalidateHybridIndex();
210
242
  return result;
211
243
  }
244
+ /**
245
+ * v11.2.1: kick off a full project index in the background and return
246
+ * immediately. MCP tool handlers call this on first request so they
247
+ * can respond inside Claude Code's tool-call timeout window instead
248
+ * of blocking on a multi-minute walk that surfaces as "connection
249
+ * closed: EOF" on large repos. Concurrent calls coalesce on the
250
+ * single in-flight promise; once it settles the next call kicks a
251
+ * fresh pass (so newly-added trees are eventually picked up).
252
+ */
253
+ backgroundIndexPromise = null;
254
+ ensureIndexedBackground() {
255
+ if (this.backgroundIndexPromise)
256
+ return false;
257
+ if (this.hasIndexedFiles())
258
+ return false;
259
+ this.backgroundIndexPromise = this.indexDirectory(this.getProjectRoot())
260
+ .then((stats) => {
261
+ logger.info(`Background index complete: ${stats.indexed} indexed, ${stats.skipped} skipped, ${stats.errors} errors.`);
262
+ })
263
+ .catch((err) => {
264
+ logger.error(`Background indexing failed: ${err.message}`);
265
+ })
266
+ .finally(() => {
267
+ this.backgroundIndexPromise = null;
268
+ });
269
+ return true;
270
+ }
212
271
  // ─── Search (delegated to SearchEngine) ─────────────────────────
213
272
  async search(query, limit = 10) {
214
273
  await this.initialize();
215
274
  return this.searcher.search(query, limit);
216
275
  }
276
+ // ─── Hybrid retrieval (Phase 5.5.2) ─────────────────────────────
277
+ /**
278
+ * Lazy-construct the HybridEngine (NREKI semantic + BM25 lexical via RRF).
279
+ * The BM25 index walks the project root on first access; subsequent
280
+ * calls reuse the cached index until invalidateHybridIndex() fires.
281
+ *
282
+ * Async because hybrid-engine + bm25-engine modules are loaded lazily
283
+ * via dynamic import() to avoid a top-of-file cycle (hybrid-engine
284
+ * imports the NrekiEngine type).
285
+ */
286
+ async getHybridEngine() {
287
+ if (this.cachedHybridEngine)
288
+ return this.cachedHybridEngine;
289
+ const [{ BM25Engine }, { HybridEngine }] = await Promise.all([
290
+ import("./bm25-engine.js"),
291
+ import("./hybrid-engine.js"),
292
+ ]);
293
+ this.cachedBM25Engine = new BM25Engine(this.getProjectRoot());
294
+ this.cachedHybridEngine = new HybridEngine(this, this.cachedBM25Engine);
295
+ return this.cachedHybridEngine;
296
+ }
297
+ /** Drop the cached BM25 index (call when files mutate on disk). */
298
+ invalidateHybridIndex() {
299
+ this.cachedBM25Engine?.invalidate();
300
+ }
217
301
  // ─── Compression ───────────────────────────────────────────────
218
302
  /** Compress a file for token-efficient reading. */
219
303
  async compressFile(filePath, tier = 1, focusQuery) {
@@ -255,9 +339,10 @@ export class NrekiEngine {
255
339
  }
256
340
  const content = preloadedContent ?? readSource(filePath);
257
341
  const result = await this.advancedCompressor.compress(filePath, content, level);
258
- // Track session savings
342
+ // Track session savings (Phase 5.5.1: +lineCount for bySize tracking)
259
343
  const ext = path.extname(filePath).toLowerCase() || ".unknown";
260
- this.sessionTracker.recordCompression(ext, estimateTokens(content), result.tokensSaved);
344
+ const lineCount = content.split("\n").length;
345
+ this.sessionTracker.recordCompression(ext, estimateTokens(content), result.tokensSaved, lineCount);
261
346
  return result;
262
347
  }
263
348
  /**
@@ -460,8 +545,31 @@ export class NrekiEngine {
460
545
  if (this.watcher)
461
546
  return this.watcherReady ?? Promise.resolve();
462
547
  const shouldWatchFile = (fp) => this.config.extensions.includes(path.extname(fp).toLowerCase());
548
+ // v11.2.1: combine the configured globs with a dot-prefix predicate so
549
+ // chokidar's initial scan does not enumerate heavy dot-directories
550
+ // (.venv*, .eval-phase5-cache, .turbo, .cache, .parcel-cache,
551
+ // .pytest_cache, .nreki-runtime, etc.) Pre-v11.2.1 the watcher walked
552
+ // these synchronously during scan, holding the event loop and surfacing
553
+ // to MCP tool callers as an EOF crash.
554
+ const ignoredGlobs = this.config.ignorePaths;
555
+ const ignoredMatcher = (filePath) => {
556
+ const base = path.basename(filePath);
557
+ if (base.startsWith(".")) {
558
+ // Always allow the project root itself even if it sits inside
559
+ // a dot-path the user explicitly chose to watch.
560
+ const isWatchRoot = this.config.watchPaths.some(w => path.resolve(w) === path.resolve(filePath));
561
+ if (!isWatchRoot)
562
+ return true;
563
+ }
564
+ // Defer to the configured glob list for the remaining ignores.
565
+ for (const g of ignoredGlobs) {
566
+ if (picomatch.isMatch(filePath, g))
567
+ return true;
568
+ }
569
+ return false;
570
+ };
463
571
  this.watcher = chokidar.watch(this.config.watchPaths, {
464
- ignored: this.config.ignorePaths,
572
+ ignored: ignoredMatcher,
465
573
  persistent: true,
466
574
  ignoreInitial: true, // prevent race with handler bootstrap
467
575
  });
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,21 @@ export declare function handleMap(params: NavigateParams, deps: RouterDependenci
14
14
  export declare function handlePrepareRefactor(params: NavigateParams, deps: RouterDependencies): Promise<McpToolResponse>;
15
15
  export declare function handleOrphanOracle(_params: NavigateParams, deps: RouterDependencies): Promise<McpToolResponse>;
16
16
  export declare function handleTypeShape(params: NavigateParams, deps: RouterDependencies): Promise<McpToolResponse>;
17
+ /**
18
+ * hybrid_search: NREKI Type Ledger semantic + BM25 lexical fused via
19
+ * Reciprocal Rank Fusion at file level. Reto 5 architectural integration
20
+ * applies foveal compression to BM25-only files so token cost stays
21
+ * close to NREKI-standalone while accuracy reaches the empirical
22
+ * Sprint 6.4 ceiling (FHR 0.566 vs 0.414 NREKI vs 0.374 BM25).
23
+ *
24
+ * When to choose vs action="search":
25
+ * - hybrid_search: accuracy-critical retrieval (lexical signal helps
26
+ * when symbol names appear verbatim in the query / issue body).
27
+ * Token cost ~3-5x action="search" empirically (Sprint 6.4 N=99).
28
+ * - search: pure topological queries / when lexical noise hurts
29
+ * (call by Type Ledger consumes/produces edges).
30
+ */
31
+ export declare function handleHybridSearch(params: NavigateParams, deps: RouterDependencies): Promise<McpToolResponse>;
17
32
  /**
18
33
  * fast_grep: Ultra-fast exact substring match returning AST-aware coordinates.
19
34
  * Uses SQLite INSTR over the chunks.raw_code column. Each hit is reported with
@@ -1 +1 @@
1
- {"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../../src/handlers/navigate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAmBxF,wBAAsB,YAAY,CAC9B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CA6F1B;AAID,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAoF1B;AAID,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAiD1B;AAgDD,wBAAsB,aAAa,CAC/B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAuL1B;AAID,wBAAsB,SAAS,CAC3B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAgC1B;AAmCD,wBAAsB,qBAAqB,CACvC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CA8H1B;AAID,wBAAsB,kBAAkB,CACpC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAgH1B;AAID,wBAAsB,eAAe,CACjC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAiD1B;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAChC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CA+F1B"}
1
+ {"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../../src/handlers/navigate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAmBxF,wBAAsB,YAAY,CAC9B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CA2G1B;AAID,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAoF1B;AAID,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAiD1B;AAgDD,wBAAsB,aAAa,CAC/B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAuL1B;AAID,wBAAsB,SAAS,CAC3B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAkC1B;AAmCD,wBAAsB,qBAAqB,CACvC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CA8H1B;AAID,wBAAsB,kBAAkB,CACpC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAkH1B;AAID,wBAAsB,eAAe,CACjC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAiD1B;AAID;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACpC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CA2G1B;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAChC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CA+F1B"}