@robthepcguy/rag-vault 1.8.0 → 1.9.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 (51) hide show
  1. package/README.md +76 -43
  2. package/dist/hyde/index.d.ts +47 -0
  3. package/dist/hyde/index.d.ts.map +1 -0
  4. package/dist/hyde/index.js +203 -0
  5. package/dist/hyde/index.js.map +1 -0
  6. package/dist/reranker/index.d.ts +76 -0
  7. package/dist/reranker/index.d.ts.map +1 -0
  8. package/dist/reranker/index.js +199 -0
  9. package/dist/reranker/index.js.map +1 -0
  10. package/dist/server/index.d.ts +25 -0
  11. package/dist/server/index.d.ts.map +1 -1
  12. package/dist/server/index.js +103 -14
  13. package/dist/server/index.js.map +1 -1
  14. package/dist/server/schemas.d.ts +21 -100
  15. package/dist/server/schemas.d.ts.map +1 -1
  16. package/dist/server/schemas.js +3 -3
  17. package/dist/server/schemas.js.map +1 -1
  18. package/dist/utils/config-parsers.d.ts +14 -0
  19. package/dist/utils/config-parsers.d.ts.map +1 -1
  20. package/dist/utils/config-parsers.js +26 -0
  21. package/dist/utils/config-parsers.js.map +1 -1
  22. package/dist/utils/config.d.ts +23 -0
  23. package/dist/utils/config.d.ts.map +1 -1
  24. package/dist/utils/config.js +39 -1
  25. package/dist/utils/config.js.map +1 -1
  26. package/dist/utils/file-utils.d.ts.map +1 -1
  27. package/dist/utils/file-utils.js +17 -1
  28. package/dist/utils/file-utils.js.map +1 -1
  29. package/dist/vectordb/index.d.ts +33 -7
  30. package/dist/vectordb/index.d.ts.map +1 -1
  31. package/dist/vectordb/index.js +161 -47
  32. package/dist/vectordb/index.js.map +1 -1
  33. package/package.json +8 -7
  34. package/skills/rag-vault/SKILL.md +3 -3
  35. package/skills/rag-vault/references/html-ingestion.md +1 -1
  36. package/web-ui/dist/assets/{CollectionsPage-CjLs8_5j.js → CollectionsPage-wbfgYFTw.js} +1 -1
  37. package/web-ui/dist/assets/{FilesPage-Bw9x9aMr.js → FilesPage-D6TlldaR.js} +1 -1
  38. package/web-ui/dist/assets/{ReaderPage-JPNiOF-x.js → ReaderPage-Sgy0vMZ6.js} +1 -1
  39. package/web-ui/dist/assets/{ReaderSettingsContext-BLFJnEne.js → ReaderSettingsContext-DsvLXuaf.js} +1 -1
  40. package/web-ui/dist/assets/{SearchPage-D3_Vtbdw.js → SearchPage-mPKXZEyq.js} +1 -1
  41. package/web-ui/dist/assets/{SettingsPage-BAxB2264.js → SettingsPage-DXeWwfvd.js} +1 -1
  42. package/web-ui/dist/assets/{StatusPage-CzJZW8Gs.js → StatusPage-AirpfsGF.js} +1 -1
  43. package/web-ui/dist/assets/{UploadPage-DW8OujeJ.js → UploadPage-Cob25kDa.js} +1 -1
  44. package/web-ui/dist/assets/index-BZMzEssr.js +6 -0
  45. package/web-ui/dist/assets/motion-DdHBXDWx.js +9 -0
  46. package/web-ui/dist/assets/query-DbAD_nLW.js +1 -0
  47. package/web-ui/dist/assets/{vendor-DSXQOR6A.js → vendor-DNJ-hWNb.js} +1 -1
  48. package/web-ui/dist/index.html +3 -3
  49. package/web-ui/dist/assets/index-ANt8Xo4z.js +0 -6
  50. package/web-ui/dist/assets/motion-Brxs0UET.js +0 -9
  51. package/web-ui/dist/assets/query-DPt-uCb6.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reranker/index.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAA;CACd;AAuDD;;;;;;;;GAQG;AACH,qBAAa,QAAQ;IAEnB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;gBAE3B,MAAM,EAAE,cAAc;IAIlC;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,OAAO,CAAC,aAAa;IAerB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAM/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAoDjC;;OAEG;YACW,iBAAiB;IAuB/B;;;;;;OAMG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;CA6C3E"}
@@ -0,0 +1,199 @@
1
+ // Cross-encoder reranker implementation with Transformers.js
2
+ import { mkdir } from 'node:fs/promises';
3
+ import path from 'node:path';
4
+ import { pipeline } from '@huggingface/transformers';
5
+ const SUPPORTED_DEVICES = [
6
+ 'auto',
7
+ 'gpu',
8
+ 'cpu',
9
+ 'wasm',
10
+ 'webgpu',
11
+ 'cuda',
12
+ 'dml',
13
+ 'webnn',
14
+ 'webnn-npu',
15
+ 'webnn-gpu',
16
+ 'webnn-cpu',
17
+ ];
18
+ const SUPPORTED_DEVICE_SET = new Set(SUPPORTED_DEVICES);
19
+ /** Default init timeout: 10 minutes */
20
+ const DEFAULT_INIT_TIMEOUT_MS = 10 * 60 * 1000;
21
+ function getInitTimeoutMs(configValue) {
22
+ if (configValue !== undefined && configValue > 0)
23
+ return configValue;
24
+ const envValue = process.env['RERANKER_INIT_TIMEOUT_MS'];
25
+ if (envValue) {
26
+ const parsed = Number.parseInt(envValue, 10);
27
+ if (!Number.isNaN(parsed) && parsed > 0)
28
+ return parsed;
29
+ }
30
+ return DEFAULT_INIT_TIMEOUT_MS;
31
+ }
32
+ function withTimeout(promise, ms, label) {
33
+ return new Promise((resolve, reject) => {
34
+ const timer = setTimeout(() => reject(new Error(`${label} timed out after ${Math.round(ms / 1000)}s`)), ms);
35
+ promise.then((value) => {
36
+ clearTimeout(timer);
37
+ resolve(value);
38
+ }, (error) => {
39
+ clearTimeout(timer);
40
+ reject(error);
41
+ });
42
+ });
43
+ }
44
+ // ============================================
45
+ // Reranker Class
46
+ // ============================================
47
+ /**
48
+ * Cross-encoder reranker using Transformers.js
49
+ *
50
+ * Scores (query, passage) pairs for relevance using a cross-encoder model.
51
+ * Unlike bi-encoders, cross-encoders jointly encode both texts, producing
52
+ * more accurate relevance judgments at the cost of speed.
53
+ *
54
+ * Default model: Xenova/ms-marco-MiniLM-L-6-v2 (~23MB ONNX)
55
+ */
56
+ export class Reranker {
57
+ // Using unknown to avoid TS2590 (union type too complex with @types/jsdom)
58
+ model = null;
59
+ initPromise = null;
60
+ config;
61
+ constructor(config) {
62
+ this.config = config;
63
+ }
64
+ /**
65
+ * Get the model name/path
66
+ */
67
+ getModelName() {
68
+ return this.config.modelPath;
69
+ }
70
+ /**
71
+ * Resolve the device to use for inference
72
+ */
73
+ resolveDevice() {
74
+ // Check config first
75
+ if (this.config.device && SUPPORTED_DEVICE_SET.has(this.config.device)) {
76
+ return this.config.device;
77
+ }
78
+ // Check environment variable
79
+ const envDevice = process.env['RAG_RERANKER_DEVICE'] || process.env['RAG_EMBEDDING_DEVICE'];
80
+ if (envDevice && SUPPORTED_DEVICE_SET.has(envDevice.toLowerCase())) {
81
+ return envDevice.toLowerCase();
82
+ }
83
+ return 'auto';
84
+ }
85
+ /**
86
+ * Get a recovery cache directory for corrupted model caches
87
+ */
88
+ getRecoveryCacheDir() {
89
+ return path.join(this.config.cacheDir, '.recovery-reranker');
90
+ }
91
+ /**
92
+ * Check if an error is recoverable by using a fresh cache
93
+ */
94
+ isRecoverableCacheError(error) {
95
+ if (!(error instanceof Error))
96
+ return false;
97
+ const msg = error.message.toLowerCase();
98
+ return msg.includes('protobuf') || msg.includes('parsing failed') || msg.includes('corrupt');
99
+ }
100
+ /**
101
+ * Initialize Transformers.js cross-encoder model
102
+ */
103
+ async initialize() {
104
+ if (this.model)
105
+ return;
106
+ try {
107
+ const device = this.resolveDevice();
108
+ const timeoutMs = getInitTimeoutMs(this.config.initTimeoutMs);
109
+ console.error(`Reranker: Using device preference "${device}"`);
110
+ console.error(`Reranker: Loading model "${this.config.modelPath}" (timeout: ${Math.round(timeoutMs / 1000)}s)...`);
111
+ this.model = await withTimeout(pipeline('text-classification', this.config.modelPath, {
112
+ device,
113
+ cache_dir: this.config.cacheDir,
114
+ }), timeoutMs, 'Reranker model initialization');
115
+ console.error('Reranker: Model loaded successfully');
116
+ }
117
+ catch (error) {
118
+ if (this.isRecoverableCacheError(error)) {
119
+ const recoveryCacheDir = this.getRecoveryCacheDir();
120
+ console.error(`Reranker: Detected corrupted cache. Retrying with isolated cache: "${recoveryCacheDir}"`);
121
+ try {
122
+ await mkdir(recoveryCacheDir, { recursive: true });
123
+ const device = this.resolveDevice();
124
+ this.model = await withTimeout(pipeline('text-classification', this.config.modelPath, {
125
+ device,
126
+ cache_dir: recoveryCacheDir,
127
+ }), getInitTimeoutMs(this.config.initTimeoutMs), 'Reranker model initialization (recovery)');
128
+ console.error('Reranker: Model loaded successfully via recovery cache');
129
+ return;
130
+ }
131
+ catch (recoveryError) {
132
+ throw new Error(`Failed to initialize Reranker after cache recovery: ${recoveryError.message}`);
133
+ }
134
+ }
135
+ throw new Error(`Failed to initialize Reranker: ${error.message}`);
136
+ }
137
+ }
138
+ /**
139
+ * Ensure model is initialized (lazy initialization)
140
+ */
141
+ async ensureInitialized() {
142
+ if (this.model)
143
+ return;
144
+ if (this.initPromise) {
145
+ await this.initPromise;
146
+ return;
147
+ }
148
+ console.error('Reranker: First use detected. Initializing model (downloading ~23MB, may take a moment)...');
149
+ const initWork = this.initialize().catch((error) => {
150
+ this.initPromise = null;
151
+ throw new Error(`Failed to initialize reranker on first use: ${error.message}\n\nPossible causes:\n • Network connectivity issues during model download\n • Insufficient disk space\n • Corrupted model cache\n\nRecommended actions:\n 1. Check your internet connection and try again\n 2. Delete cache: ${this.config.cacheDir}\n 3. Retry your query\n`);
152
+ });
153
+ this.initPromise = initWork;
154
+ await this.initPromise;
155
+ }
156
+ /**
157
+ * Rerank passages by relevance to a query using cross-encoder scoring.
158
+ *
159
+ * @param query - The search query
160
+ * @param passages - Array of passage texts to score
161
+ * @returns Array of {index, score} sorted by score descending (most relevant first)
162
+ */
163
+ async rerank(query, passages) {
164
+ if (passages.length === 0)
165
+ return [];
166
+ await this.ensureInitialized();
167
+ try {
168
+ // Runtime check: model must be a callable pipeline
169
+ if (typeof this.model !== 'function') {
170
+ throw new Error('Reranker model is not initialized or not callable');
171
+ }
172
+ // Cross-encoder expects pairs of (text_a, text_b)
173
+ // For ms-marco models, we use the text_pair approach
174
+ const modelCall = this.model;
175
+ // Prepare inputs: query repeated for each passage
176
+ const queries = passages.map(() => query);
177
+ const rawOutputs = await modelCall(queries, { text_pair: passages });
178
+ // Validate output shape at runtime
179
+ if (!Array.isArray(rawOutputs)) {
180
+ throw new Error(`Reranker returned non-array output: ${typeof rawOutputs}`);
181
+ }
182
+ // Map results back with original indices
183
+ const results = rawOutputs.map((output, index) => {
184
+ const outputObj = output;
185
+ const rawScore = outputObj && typeof outputObj === 'object' ? Number(outputObj['score']) : 0;
186
+ return { index, score: Number.isFinite(rawScore) ? rawScore : 0 };
187
+ });
188
+ // Sort by score descending (most relevant first)
189
+ results.sort((a, b) => b.score - a.score);
190
+ return results;
191
+ }
192
+ catch (error) {
193
+ console.error(`Reranker: Scoring failed: ${error.message}`);
194
+ // Return original order on failure (graceful degradation)
195
+ return passages.map((_, index) => ({ index, score: 0 }));
196
+ }
197
+ }
198
+ }
199
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reranker/index.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,28 @@ export interface RAGServerConfig {
21
21
  grouping?: GroupingMode;
22
22
  /** Hybrid search weight for BM25 (0.0 = vector only, 1.0 = BM25 only, default 0.6) */
23
23
  hybridWeight?: number;
24
+ /** Enable cross-encoder reranking */
25
+ rerankerEnabled?: boolean;
26
+ /** Cross-encoder model name (default: Xenova/ms-marco-MiniLM-L-6-v2) */
27
+ rerankerModel?: string;
28
+ /** Reranker candidate multiplier (default: 2) */
29
+ rerankerCandidateMultiplier?: number;
30
+ /** Enable HyDE query expansion */
31
+ hydeEnabled?: boolean;
32
+ /** HyDE backend: 'rule-based' or 'api' */
33
+ hydeBackend?: string;
34
+ /** Number of HyDE expansions (default: 2) */
35
+ hydeExpansions?: number;
36
+ /** API key for HyDE API backend (only used when hydeBackend='api') */
37
+ hydeApiKey?: string;
38
+ /** API base URL for HyDE API backend */
39
+ hydeApiBaseUrl?: string;
40
+ /** API model for HyDE API backend */
41
+ hydeApiModel?: string;
42
+ /** Search mode: 'rrf' or 'boost' */
43
+ searchMode?: string;
44
+ /** RRF K constant (smoothing factor, default: 60) */
45
+ rrfK?: number;
24
46
  }
25
47
  /**
26
48
  * RAG server compliant with MCP Protocol
@@ -35,6 +57,9 @@ export declare class RAGServer {
35
57
  private readonly server;
36
58
  private readonly vectorStore;
37
59
  private readonly embedder;
60
+ private readonly reranker;
61
+ private readonly rerankerCandidateMultiplier;
62
+ private readonly hydeExpander;
38
63
  private readonly chunker;
39
64
  private readonly parser;
40
65
  private readonly dbPath;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAWnE,OAAO,EAAE,KAAK,YAAY,EAAiC,MAAM,sBAAsB,CAAA;AAQvF,OAAO,EACL,KAAK,eAAe,EAIpB,KAAK,eAAe,EACpB,KAAK,eAAe,EAEpB,KAAK,mBAAmB,EAGzB,MAAM,cAAc,CAAA;AAyCrB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,sFAAsF;IACtF,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAMD;;;;;;;;GAQG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;gBAEnB,MAAM,EAAE,eAAe;IAqCnC;;;OAGG;IACH,aAAa,IAAI,SAAS;IAM1B;;;OAGG;IACH,OAAO,CAAC,aAAa;IA2MrB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IASjC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B;;OAEG;IACH,SAAS,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAOlD;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIrC;;;;;;;;;OASG;YACW,qBAAqB;IAgFnC;;OAEG;IACG,oBAAoB,CACxB,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAiBzD;;OAEG;YACW,iBAAiB;IA8E/B;;OAEG;IACG,gBAAgB,CACpB,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAkBzD;;OAEG;YACW,iBAAiB;IAgD/B;;OAEG;IACG,gBAAgB,CACpB,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAkBzD;;OAEG;YACW,gBAAgB;IAe9B;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAiB/E;;OAEG;YACW,aAAa;IAI3B;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAiB5E;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmC1B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAmC9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;OAEG;YACW,iBAAiB;IAyC/B;;OAEG;IACG,gBAAgB,CACpB,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAkBzD;;OAEG;IACG,uBAAuB,CAC3B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IA8BzD;;OAEG;IACG,uBAAuB,CAC3B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,EACd,mBAAmB,CAAC,EAAE,OAAO,GAC5B,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAmCzD;;OAEG;IACG,4BAA4B,CAChC,MAAM,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,EACvD,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IA2CzD;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAS3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAanE,OAAO,EAAE,KAAK,YAAY,EAAiC,MAAM,sBAAsB,CAAA;AAQvF,OAAO,EACL,KAAK,eAAe,EAIpB,KAAK,eAAe,EACpB,KAAK,eAAe,EAEpB,KAAK,mBAAmB,EAGzB,MAAM,cAAc,CAAA;AAyCrB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,sFAAsF;IACtF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,qCAAqC;IACrC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iDAAiD;IACjD,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,kCAAkC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wCAAwC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAMD;;;;;;;;GAQG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAQ;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;gBAEnB,MAAM,EAAE,eAAe;IA6EnC;;;OAGG;IACH,aAAa,IAAI,SAAS;IAM1B;;;OAGG;IACH,OAAO,CAAC,aAAa;IA2MrB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IASjC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B;;OAEG;IACH,SAAS,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAOlD;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIrC;;;;;;;;;OASG;YACW,qBAAqB;IA0InC;;OAEG;IACG,oBAAoB,CACxB,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAiBzD;;OAEG;YACW,iBAAiB;IA8E/B;;OAEG;IACG,gBAAgB,CACpB,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAkBzD;;OAEG;YACW,iBAAiB;IAgD/B;;OAEG;IACG,gBAAgB,CACpB,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAkBzD;;OAEG;YACW,gBAAgB;IAe9B;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAiB/E;;OAEG;YACW,aAAa;IAI3B;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAiB5E;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmC1B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAmC9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;OAEG;YACW,iBAAiB;IAyC/B;;OAEG;IACG,gBAAgB,CACpB,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAkBzD;;OAEG;IACG,uBAAuB,CAC3B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IA8BzD;;OAEG;IACG,uBAAuB,CAC3B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,EACd,mBAAmB,CAAC,EAAE,OAAO,GAC5B,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAmCzD;;OAEG;IACG,4BAA4B,CAChC,MAAM,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,EACvD,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IA2CzD;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAS3B"}
@@ -6,6 +6,8 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
6
6
  import { z } from 'zod';
7
7
  import { SemanticChunker } from '../chunker/index.js';
8
8
  import { Embedder } from '../embedder/index.js';
9
+ import { HyDEExpander } from '../hyde/index.js';
10
+ import { Reranker } from '../reranker/index.js';
9
11
  import { getErrorMessage } from '../errors/index.js';
10
12
  import { explainChunkSimilarity } from '../explainability/keywords.js';
11
13
  import { getFeedbackStore } from '../flywheel/feedback.js';
@@ -53,6 +55,9 @@ export class RAGServer {
53
55
  server;
54
56
  vectorStore;
55
57
  embedder;
58
+ reranker;
59
+ rerankerCandidateMultiplier;
60
+ hydeExpander;
56
61
  chunker;
57
62
  parser;
58
63
  dbPath;
@@ -77,12 +82,53 @@ export class RAGServer {
77
82
  if (config.hybridWeight !== undefined) {
78
83
  vectorStoreConfig.hybridWeight = config.hybridWeight;
79
84
  }
85
+ if (config.searchMode !== undefined) {
86
+ vectorStoreConfig.searchMode = config.searchMode;
87
+ }
88
+ if (config.rrfK !== undefined) {
89
+ vectorStoreConfig.rrfK = config.rrfK;
90
+ }
80
91
  this.vectorStore = new VectorStore(vectorStoreConfig);
81
92
  this.embedder = new Embedder({
82
93
  modelPath: config.modelName,
83
94
  batchSize: 16,
84
95
  cacheDir: config.cacheDir,
85
96
  });
97
+ // Cross-encoder reranker (opt-in)
98
+ if (config.rerankerEnabled) {
99
+ this.reranker = new Reranker({
100
+ modelPath: config.rerankerModel || 'Xenova/ms-marco-MiniLM-L-6-v2',
101
+ cacheDir: config.cacheDir,
102
+ });
103
+ }
104
+ else {
105
+ this.reranker = null;
106
+ }
107
+ this.rerankerCandidateMultiplier = config.rerankerCandidateMultiplier ?? 2;
108
+ // HyDE query expansion (opt-in)
109
+ if (config.hydeEnabled) {
110
+ const hydeConfig = {
111
+ enabled: true,
112
+ backend: (config.hydeBackend === 'api' ? 'api' : 'rule-based'),
113
+ numExpansions: config.hydeExpansions ?? 2,
114
+ };
115
+ if (config.hydeApiKey)
116
+ hydeConfig.apiKey = config.hydeApiKey;
117
+ if (config.hydeApiBaseUrl)
118
+ hydeConfig.apiBaseUrl = config.hydeApiBaseUrl;
119
+ if (config.hydeApiModel)
120
+ hydeConfig.apiModel = config.hydeApiModel;
121
+ this.hydeExpander = new HyDEExpander(hydeConfig);
122
+ if (config.hydeBackend === 'api' && config.hydeApiKey) {
123
+ console.error('WARNING: HyDE API backend is enabled. Queries will be sent to an external LLM endpoint ' +
124
+ `(${config.hydeApiBaseUrl || 'https://api.anthropic.com'}). ` +
125
+ 'This breaks the "Zero cloud" privacy guarantee. ' +
126
+ 'Set RAG_HYDE_BACKEND=rule-based to use local-only query expansion.');
127
+ }
128
+ }
129
+ else {
130
+ this.hydeExpander = null;
131
+ }
86
132
  this.chunker = new SemanticChunker();
87
133
  this.parser = new DocumentParser({
88
134
  baseDir: config.baseDir,
@@ -105,13 +151,13 @@ export class RAGServer {
105
151
  */
106
152
  setupHandlers(target = this.server) {
107
153
  // query_documents tool
108
- target.tool('query_documents', `Search ingested documents using hybrid semantic + keyword search. Advanced syntax supported:
154
+ target.tool('query_documents', `Search your documents using both meaning and exact keyword matching. You can also use advanced syntax:
109
155
  - "exact phrase" → Match phrase exactly
110
156
  - field:value → Filter by custom metadata (e.g., domain:legal, author:john)
111
157
  - term1 AND term2 → Both terms required (default)
112
158
  - term1 OR term2 → Either term matches
113
159
  - -term → Exclude results containing term
114
- Results include score (0 = most relevant, higher = less relevant). Set explain=true to see why each result matched.`, {
160
+ Results include a score (0 = best match, higher = less relevant). Set explain=true to see why each result matched.`, {
115
161
  query: z.string(),
116
162
  limit: z.number().optional(),
117
163
  explain: z.boolean().optional(),
@@ -122,9 +168,9 @@ Results include score (0 = most relevant, higher = less relevant). Set explain=t
122
168
  };
123
169
  });
124
170
  // ingest_file tool
125
- target.tool('ingest_file', 'Ingest a document file (PDF, DOCX, TXT, MD, JSON, JSONL) into the vector database for semantic search. File path must be an absolute path. Supports re-ingestion to update existing documents. Optional metadata can include author, domain, tags, etc.', {
171
+ target.tool('ingest_file', 'Add a document (PDF, DOCX, TXT, MD, JSON, JSONL) to your knowledge base so you can search it. Use the full file path. If you ingest the same file again, it replaces the old version. You can tag it with metadata like author, domain, or tags.', {
126
172
  filePath: z.string(),
127
- metadata: z.record(z.string()).optional(),
173
+ metadata: z.record(z.string(), z.string()).optional(),
128
174
  }, async (args) => {
129
175
  const result = await this.executeIngestFile(args);
130
176
  return {
@@ -132,12 +178,12 @@ Results include score (0 = most relevant, higher = less relevant). Set explain=t
132
178
  };
133
179
  });
134
180
  // ingest_data tool
135
- target.tool('ingest_data', 'Ingest content as a string, not from a file. Use for: fetched web pages (format: html), copied text (format: text), or markdown strings (format: markdown). The source identifier enables re-ingestion to update existing content. Optional custom metadata can include author, domain, tags, etc. For files on disk, use ingest_file instead.', {
181
+ target.tool('ingest_data', 'Add text content directly instead of from a file. Good for: fetched web pages (format: html), copied text (format: text), or markdown strings (format: markdown). The source identifier lets you update the content later by re-ingesting with the same source. You can add custom metadata too. For files on disk, use ingest_file instead.', {
136
182
  content: z.string(),
137
183
  metadata: z.object({
138
184
  source: z.string(),
139
185
  format: z.enum(['text', 'html', 'markdown']),
140
- custom: z.record(z.string()).optional(),
186
+ custom: z.record(z.string(), z.string()).optional(),
141
187
  }),
142
188
  }, async (args) => {
143
189
  const result = await this.executeIngestData(args);
@@ -146,7 +192,7 @@ Results include score (0 = most relevant, higher = less relevant). Set explain=t
146
192
  };
147
193
  });
148
194
  // delete_file tool (uses .refine(), so handle validation in handler)
149
- target.tool('delete_file', 'Delete a previously ingested file or data from the vector database. Use filePath for files ingested via ingest_file, or source for data ingested via ingest_data. Either filePath or source must be provided.', {
195
+ target.tool('delete_file', 'Remove a document from your knowledge base. Use filePath for files you added with ingest_file, or source for content you added with ingest_data. You need to provide one or the other.', {
150
196
  filePath: z.string().optional(),
151
197
  source: z.string().optional(),
152
198
  }, async (args) => {
@@ -161,21 +207,21 @@ Results include score (0 = most relevant, higher = less relevant). Set explain=t
161
207
  };
162
208
  });
163
209
  // list_files tool
164
- target.tool('list_files', 'List all ingested files in the vector database. Returns file paths and chunk counts for each document.', {}, async () => {
210
+ target.tool('list_files', 'Show all documents in your knowledge base, with file paths and how many chunks each one has.', {}, async () => {
165
211
  const files = await this.executeListFiles();
166
212
  return {
167
213
  content: [{ type: 'text', text: JSON.stringify(files, null, 2) }],
168
214
  };
169
215
  });
170
216
  // status tool
171
- target.tool('status', 'Get system status including total documents, total chunks, database size, and configuration information.', {}, async () => {
217
+ target.tool('status', 'Check how many documents and chunks you have, the database size, and current settings.', {}, async () => {
172
218
  const status = await this.executeStatus();
173
219
  return {
174
220
  content: [{ type: 'text', text: JSON.stringify(status, null, 2) }],
175
221
  };
176
222
  });
177
223
  // feedback_pin tool
178
- target.tool('feedback_pin', 'Pin a search result as relevant for a query. Pinned results will be boosted in future searches. Use when a result was particularly helpful.', {
224
+ target.tool('feedback_pin', 'Mark a search result as relevant for a query. Pinned results get boosted in future searches. Use this when a result was helpful.', {
179
225
  sourceQuery: z.string().describe('The query that returned this result'),
180
226
  targetFilePath: z.string().describe('File path of the result to pin'),
181
227
  targetChunkIndex: z.number().describe('Chunk index of the result to pin'),
@@ -203,7 +249,7 @@ Results include score (0 = most relevant, higher = less relevant). Set explain=t
203
249
  }
204
250
  });
205
251
  // feedback_dismiss tool
206
- target.tool('feedback_dismiss', 'Dismiss a search result as irrelevant for a query. Dismissed results will be penalized in future searches. Use when a result was unhelpful.', {
252
+ target.tool('feedback_dismiss', "Mark a search result as irrelevant for a query. Dismissed results get pushed down in future searches. Use this when a result wasn't helpful.", {
207
253
  sourceQuery: z.string().describe('The query that returned this result'),
208
254
  targetFilePath: z.string().describe('File path of the result to dismiss'),
209
255
  targetChunkIndex: z.number().describe('Chunk index of the result to dismiss'),
@@ -231,7 +277,7 @@ Results include score (0 = most relevant, higher = less relevant). Set explain=t
231
277
  }
232
278
  });
233
279
  // feedback_stats tool
234
- target.tool('feedback_stats', 'Get feedback statistics including total events, pinned pairs, and dismissed pairs.', {}, async () => {
280
+ target.tool('feedback_stats', "See your feedback stats: total events, how many results you've pinned, and how many you've dismissed.", {}, async () => {
235
281
  try {
236
282
  const stats = this.executeFeedbackStats();
237
283
  return {
@@ -304,12 +350,55 @@ Results include score (0 = most relevant, higher = less relevant). Set explain=t
304
350
  const semanticQuery = toSemanticQuery(parsed);
305
351
  // Generate query embedding from semantic terms
306
352
  const queryVector = await this.embedder.embed(semanticQuery || args.query);
353
+ // HyDE: expand query into hypothetical documents and embed them
354
+ let additionalVectors;
355
+ if (this.hydeExpander) {
356
+ try {
357
+ const expandedQueries = await this.hydeExpander.expandQuery(args.query);
358
+ // Skip first item (original query, already embedded above)
359
+ const expansions = expandedQueries.slice(1);
360
+ if (expansions.length > 0) {
361
+ additionalVectors = [];
362
+ for (const expansion of expansions) {
363
+ const expansionVector = await this.embedder.embed(expansion.text);
364
+ additionalVectors.push({ vector: expansionVector, weight: expansion.weight });
365
+ }
366
+ }
367
+ }
368
+ catch (hydeError) {
369
+ console.error(`HyDE expansion failed, using original query only: ${hydeError.message}`);
370
+ }
371
+ }
307
372
  // Request extra results to account for post-filtering (capped at 20)
308
373
  const userLimit = args.limit || 10;
309
374
  const hasFilters = parsed.excludeTerms.length > 0 || parsed.filters.length > 0;
310
375
  const requestLimit = hasFilters ? Math.min(userLimit * 2, 20) : userLimit;
311
- // Hybrid search (vector + BM25 keyword matching)
312
- let searchResults = await this.vectorStore.search(queryVector, args.query, requestLimit);
376
+ // Expand request limit for reranking if enabled
377
+ const rerankerActive = this.reranker !== null;
378
+ const rerankerLimit = rerankerActive
379
+ ? Math.min(requestLimit * this.rerankerCandidateMultiplier, 20)
380
+ : requestLimit;
381
+ // Hybrid search (vector + BM25 keyword matching, with RRF fusion if enabled)
382
+ let searchResults = await this.vectorStore.search(queryVector, args.query, rerankerLimit, additionalVectors);
383
+ // Cross-encoder reranking: re-score top candidates for better relevance
384
+ if (rerankerActive && this.reranker && searchResults.length > 0) {
385
+ try {
386
+ const reranked = await this.reranker.rerank(args.query, searchResults.map((r) => r.text));
387
+ // Reorder results by cross-encoder score, convert to pseudo-distance
388
+ const reorderedResults = reranked.map(({ index, score }) => ({
389
+ ...searchResults[index],
390
+ // Convert cross-encoder score to distance-like metric (lower = better)
391
+ // Cross-encoder scores can be negative, so we use: 1 / (1 + exp(score))
392
+ // This produces values in (0, 1) where lower = more relevant
393
+ score: 1 / (1 + Math.exp(score)),
394
+ }));
395
+ searchResults = reorderedResults.slice(0, requestLimit);
396
+ }
397
+ catch (rerankerError) {
398
+ console.error(`Reranker failed, using original ordering: ${rerankerError.message}`);
399
+ searchResults = searchResults.slice(0, requestLimit);
400
+ }
401
+ }
313
402
  // Apply flywheel reranking based on user feedback
314
403
  const feedbackStore = getFeedbackStore();
315
404
  const sourceRef = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}