@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.
- package/README.md +76 -43
- package/dist/hyde/index.d.ts +47 -0
- package/dist/hyde/index.d.ts.map +1 -0
- package/dist/hyde/index.js +203 -0
- package/dist/hyde/index.js.map +1 -0
- package/dist/reranker/index.d.ts +76 -0
- package/dist/reranker/index.d.ts.map +1 -0
- package/dist/reranker/index.js +199 -0
- package/dist/reranker/index.js.map +1 -0
- package/dist/server/index.d.ts +25 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +103 -14
- package/dist/server/index.js.map +1 -1
- package/dist/server/schemas.d.ts +21 -100
- package/dist/server/schemas.d.ts.map +1 -1
- package/dist/server/schemas.js +3 -3
- package/dist/server/schemas.js.map +1 -1
- package/dist/utils/config-parsers.d.ts +14 -0
- package/dist/utils/config-parsers.d.ts.map +1 -1
- package/dist/utils/config-parsers.js +26 -0
- package/dist/utils/config-parsers.js.map +1 -1
- package/dist/utils/config.d.ts +23 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +39 -1
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/file-utils.d.ts.map +1 -1
- package/dist/utils/file-utils.js +17 -1
- package/dist/utils/file-utils.js.map +1 -1
- package/dist/vectordb/index.d.ts +33 -7
- package/dist/vectordb/index.d.ts.map +1 -1
- package/dist/vectordb/index.js +161 -47
- package/dist/vectordb/index.js.map +1 -1
- package/package.json +8 -7
- package/skills/rag-vault/SKILL.md +3 -3
- package/skills/rag-vault/references/html-ingestion.md +1 -1
- package/web-ui/dist/assets/{CollectionsPage-CjLs8_5j.js → CollectionsPage-wbfgYFTw.js} +1 -1
- package/web-ui/dist/assets/{FilesPage-Bw9x9aMr.js → FilesPage-D6TlldaR.js} +1 -1
- package/web-ui/dist/assets/{ReaderPage-JPNiOF-x.js → ReaderPage-Sgy0vMZ6.js} +1 -1
- package/web-ui/dist/assets/{ReaderSettingsContext-BLFJnEne.js → ReaderSettingsContext-DsvLXuaf.js} +1 -1
- package/web-ui/dist/assets/{SearchPage-D3_Vtbdw.js → SearchPage-mPKXZEyq.js} +1 -1
- package/web-ui/dist/assets/{SettingsPage-BAxB2264.js → SettingsPage-DXeWwfvd.js} +1 -1
- package/web-ui/dist/assets/{StatusPage-CzJZW8Gs.js → StatusPage-AirpfsGF.js} +1 -1
- package/web-ui/dist/assets/{UploadPage-DW8OujeJ.js → UploadPage-Cob25kDa.js} +1 -1
- package/web-ui/dist/assets/index-BZMzEssr.js +6 -0
- package/web-ui/dist/assets/motion-DdHBXDWx.js +9 -0
- package/web-ui/dist/assets/query-DbAD_nLW.js +1 -0
- package/web-ui/dist/assets/{vendor-DSXQOR6A.js → vendor-DNJ-hWNb.js} +1 -1
- package/web-ui/dist/index.html +3 -3
- package/web-ui/dist/assets/index-ANt8Xo4z.js +0 -6
- package/web-ui/dist/assets/motion-Brxs0UET.js +0 -9
- package/web-ui/dist/assets/query-DPt-uCb6.js +0 -1
package/dist/server/schemas.d.ts
CHANGED
|
@@ -6,28 +6,14 @@ declare const QueryDocumentsSchema: z.ZodObject<{
|
|
|
6
6
|
query: z.ZodString;
|
|
7
7
|
limit: z.ZodOptional<z.ZodNumber>;
|
|
8
8
|
explain: z.ZodOptional<z.ZodBoolean>;
|
|
9
|
-
},
|
|
10
|
-
query: string;
|
|
11
|
-
limit?: number | undefined;
|
|
12
|
-
explain?: boolean | undefined;
|
|
13
|
-
}, {
|
|
14
|
-
query: string;
|
|
15
|
-
limit?: number | undefined;
|
|
16
|
-
explain?: boolean | undefined;
|
|
17
|
-
}>;
|
|
9
|
+
}, z.core.$strip>;
|
|
18
10
|
/**
|
|
19
11
|
* ingest_file tool input schema
|
|
20
12
|
*/
|
|
21
13
|
declare const IngestFileSchema: z.ZodObject<{
|
|
22
14
|
filePath: z.ZodString;
|
|
23
15
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
24
|
-
},
|
|
25
|
-
filePath: string;
|
|
26
|
-
metadata?: Record<string, string> | undefined;
|
|
27
|
-
}, {
|
|
28
|
-
filePath: string;
|
|
29
|
-
metadata?: Record<string, string> | undefined;
|
|
30
|
-
}>;
|
|
16
|
+
}, z.core.$strip>;
|
|
31
17
|
/**
|
|
32
18
|
* ingest_data tool input schema
|
|
33
19
|
*/
|
|
@@ -35,51 +21,21 @@ declare const IngestDataSchema: z.ZodObject<{
|
|
|
35
21
|
content: z.ZodString;
|
|
36
22
|
metadata: z.ZodObject<{
|
|
37
23
|
source: z.ZodString;
|
|
38
|
-
format: z.ZodEnum<
|
|
24
|
+
format: z.ZodEnum<{
|
|
25
|
+
text: "text";
|
|
26
|
+
html: "html";
|
|
27
|
+
markdown: "markdown";
|
|
28
|
+
}>;
|
|
39
29
|
custom: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
40
|
-
},
|
|
41
|
-
|
|
42
|
-
format: "text" | "html" | "markdown";
|
|
43
|
-
custom?: Record<string, string> | undefined;
|
|
44
|
-
}, {
|
|
45
|
-
source: string;
|
|
46
|
-
format: "text" | "html" | "markdown";
|
|
47
|
-
custom?: Record<string, string> | undefined;
|
|
48
|
-
}>;
|
|
49
|
-
}, "strip", z.ZodTypeAny, {
|
|
50
|
-
content: string;
|
|
51
|
-
metadata: {
|
|
52
|
-
source: string;
|
|
53
|
-
format: "text" | "html" | "markdown";
|
|
54
|
-
custom?: Record<string, string> | undefined;
|
|
55
|
-
};
|
|
56
|
-
}, {
|
|
57
|
-
content: string;
|
|
58
|
-
metadata: {
|
|
59
|
-
source: string;
|
|
60
|
-
format: "text" | "html" | "markdown";
|
|
61
|
-
custom?: Record<string, string> | undefined;
|
|
62
|
-
};
|
|
63
|
-
}>;
|
|
30
|
+
}, z.core.$strip>;
|
|
31
|
+
}, z.core.$strip>;
|
|
64
32
|
/**
|
|
65
33
|
* delete_file tool input schema
|
|
66
34
|
*/
|
|
67
|
-
export declare const DeleteFileSchema: z.
|
|
35
|
+
export declare const DeleteFileSchema: z.ZodObject<{
|
|
68
36
|
filePath: z.ZodOptional<z.ZodString>;
|
|
69
37
|
source: z.ZodOptional<z.ZodString>;
|
|
70
|
-
},
|
|
71
|
-
source?: string | undefined;
|
|
72
|
-
filePath?: string | undefined;
|
|
73
|
-
}, {
|
|
74
|
-
source?: string | undefined;
|
|
75
|
-
filePath?: string | undefined;
|
|
76
|
-
}>, {
|
|
77
|
-
source?: string | undefined;
|
|
78
|
-
filePath?: string | undefined;
|
|
79
|
-
}, {
|
|
80
|
-
source?: string | undefined;
|
|
81
|
-
filePath?: string | undefined;
|
|
82
|
-
}>;
|
|
38
|
+
}, z.core.$strip>;
|
|
83
39
|
export type QueryDocumentsInput = z.infer<typeof QueryDocumentsSchema>;
|
|
84
40
|
export type IngestFileInput = z.infer<typeof IngestFileSchema>;
|
|
85
41
|
export type IngestDataInput = z.infer<typeof IngestDataSchema>;
|
|
@@ -127,7 +83,7 @@ export interface StatusOutput {
|
|
|
127
83
|
memoryUsage: number;
|
|
128
84
|
uptime: number;
|
|
129
85
|
ftsIndexEnabled: boolean;
|
|
130
|
-
searchMode: 'hybrid' | 'vector-only';
|
|
86
|
+
searchMode: 'hybrid' | 'vector-only' | 'hybrid-rrf' | 'vector-rrf';
|
|
131
87
|
}
|
|
132
88
|
/**
|
|
133
89
|
* Schema for validating status response from RAG server
|
|
@@ -138,22 +94,13 @@ export declare const StatusResponseSchema: z.ZodObject<{
|
|
|
138
94
|
memoryUsage: z.ZodNumber;
|
|
139
95
|
uptime: z.ZodNumber;
|
|
140
96
|
ftsIndexEnabled: z.ZodBoolean;
|
|
141
|
-
searchMode: z.ZodEnum<
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
uptime: number;
|
|
149
|
-
}, {
|
|
150
|
-
documentCount: number;
|
|
151
|
-
chunkCount: number;
|
|
152
|
-
memoryUsage: number;
|
|
153
|
-
ftsIndexEnabled: boolean;
|
|
154
|
-
searchMode: "hybrid" | "vector-only";
|
|
155
|
-
uptime: number;
|
|
156
|
-
}>;
|
|
97
|
+
searchMode: z.ZodEnum<{
|
|
98
|
+
hybrid: "hybrid";
|
|
99
|
+
"vector-only": "vector-only";
|
|
100
|
+
"hybrid-rrf": "hybrid-rrf";
|
|
101
|
+
"vector-rrf": "vector-rrf";
|
|
102
|
+
}>;
|
|
103
|
+
}, z.core.$strip>;
|
|
157
104
|
/**
|
|
158
105
|
* Schema for validating recent databases file structure
|
|
159
106
|
*/
|
|
@@ -164,33 +111,7 @@ export declare const RecentDatabasesFileSchema: z.ZodObject<{
|
|
|
164
111
|
name: z.ZodString;
|
|
165
112
|
lastAccessed: z.ZodString;
|
|
166
113
|
modelName: z.ZodOptional<z.ZodString>;
|
|
167
|
-
},
|
|
168
|
-
|
|
169
|
-
path: string;
|
|
170
|
-
lastAccessed: string;
|
|
171
|
-
modelName?: string | undefined;
|
|
172
|
-
}, {
|
|
173
|
-
name: string;
|
|
174
|
-
path: string;
|
|
175
|
-
lastAccessed: string;
|
|
176
|
-
modelName?: string | undefined;
|
|
177
|
-
}>, "many">;
|
|
178
|
-
}, "strip", z.ZodTypeAny, {
|
|
179
|
-
version: number;
|
|
180
|
-
databases: {
|
|
181
|
-
name: string;
|
|
182
|
-
path: string;
|
|
183
|
-
lastAccessed: string;
|
|
184
|
-
modelName?: string | undefined;
|
|
185
|
-
}[];
|
|
186
|
-
}, {
|
|
187
|
-
version: number;
|
|
188
|
-
databases: {
|
|
189
|
-
name: string;
|
|
190
|
-
path: string;
|
|
191
|
-
lastAccessed: string;
|
|
192
|
-
modelName?: string | undefined;
|
|
193
|
-
}[];
|
|
194
|
-
}>;
|
|
114
|
+
}, z.core.$strip>>;
|
|
115
|
+
}, z.core.$strip>;
|
|
195
116
|
export {};
|
|
196
117
|
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/server/schemas.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAOvB;;GAEG;AACH,QAAA,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/server/schemas.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAOvB;;GAEG;AACH,QAAA,MAAM,oBAAoB;;;;iBAkBxB,CAAA;AAgBF;;GAEG;AACH,QAAA,MAAM,gBAAgB;;;iBAMpB,CAAA;AAgBF;;GAEG;AACH,QAAA,MAAM,gBAAgB;;;;;;;;;;;iBAMpB,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;iBAiBzB,CAAA;AAMJ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AACtE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAM9D;;GAEG;AACH,UAAU,sBAAsB;IAC9B,+CAA+C;IAC/C,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,iEAAiE;IACjE,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,4BAA4B;IAC5B,WAAW,EAAE,UAAU,GAAG,cAAc,GAAG,eAAe,GAAG,iBAAiB,CAAA;CAC/E;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,8EAA8E;IAC9E,WAAW,CAAC,EAAE,sBAAsB,CAAA;CACrC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,OAAO,CAAA;IACxB,UAAU,EAAE,QAAQ,GAAG,aAAa,GAAG,YAAY,GAAG,YAAY,CAAA;CACnE;AAMD;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;iBAO/B,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;iBAUpC,CAAA"}
|
package/dist/server/schemas.js
CHANGED
|
@@ -23,7 +23,7 @@ const QueryDocumentsSchema = z.object({
|
|
|
23
23
|
explain: z
|
|
24
24
|
.boolean()
|
|
25
25
|
.optional()
|
|
26
|
-
.describe('
|
|
26
|
+
.describe('Show why each result matched (shared keywords, phrases, match type).'),
|
|
27
27
|
});
|
|
28
28
|
/**
|
|
29
29
|
* Custom metadata schema for ingestion
|
|
@@ -40,7 +40,7 @@ const IngestFileSchema = z.object({
|
|
|
40
40
|
filePath: z
|
|
41
41
|
.string()
|
|
42
42
|
.min(1, 'File path cannot be empty')
|
|
43
|
-
.describe('
|
|
43
|
+
.describe('Full path to the file. Example: "/Users/user/documents/manual.pdf"'),
|
|
44
44
|
metadata: CustomMetadataSchema,
|
|
45
45
|
});
|
|
46
46
|
/**
|
|
@@ -93,7 +93,7 @@ export const StatusResponseSchema = z.object({
|
|
|
93
93
|
memoryUsage: z.number(),
|
|
94
94
|
uptime: z.number(),
|
|
95
95
|
ftsIndexEnabled: z.boolean(),
|
|
96
|
-
searchMode: z.enum(['hybrid', 'vector-only']),
|
|
96
|
+
searchMode: z.enum(['hybrid', 'vector-only', 'hybrid-rrf', 'vector-rrf']),
|
|
97
97
|
});
|
|
98
98
|
/**
|
|
99
99
|
* Schema for validating recent databases file structure
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/server/schemas.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,kDAAkD;AAElD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;GAEG;AACH,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;AAEhE;;GAEG;AACH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;SAC/B,QAAQ,CAAC,iEAAiE,CAAC;IAC9E,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,GAAG,CAAC,EAAE,EAAE,wBAAwB,CAAC;SACjC,QAAQ,EAAE;SACV,QAAQ,CACP,qIAAqI,CACtI;IACH,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/server/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,4 +11,18 @@ export declare function parseMaxDistance(value: string | undefined): number | un
|
|
|
11
11
|
* Parse hybrid weight from environment variable
|
|
12
12
|
*/
|
|
13
13
|
export declare function parseHybridWeight(value: string | undefined): number | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Search mode: how vector and BM25 results are combined
|
|
16
|
+
* - 'rrf': Reciprocal Rank Fusion (recommended, treats channels as independent voters)
|
|
17
|
+
* - 'boost': Legacy mode (BM25 multiplicatively boosts vector distances)
|
|
18
|
+
*/
|
|
19
|
+
export type SearchMode = 'rrf' | 'boost';
|
|
20
|
+
/**
|
|
21
|
+
* Parse search mode from environment variable
|
|
22
|
+
*/
|
|
23
|
+
export declare function parseSearchMode(value: string | undefined): SearchMode | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Parse RRF K constant from environment variable
|
|
26
|
+
*/
|
|
27
|
+
export declare function parseRrfK(value: string | undefined): number | undefined;
|
|
14
28
|
//# sourceMappingURL=config-parsers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-parsers.d.ts","sourceRoot":"","sources":["../../src/utils/config-parsers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAUrF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAQ9E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAU/E"}
|
|
1
|
+
{"version":3,"file":"config-parsers.d.ts","sourceRoot":"","sources":["../../src/utils/config-parsers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAExD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAUrF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAQ9E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAU/E;AAED;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,OAAO,CAAA;AAExC;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAUjF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAUvE"}
|
|
@@ -39,4 +39,30 @@ export function parseHybridWeight(value) {
|
|
|
39
39
|
}
|
|
40
40
|
return parsed;
|
|
41
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Parse search mode from environment variable
|
|
44
|
+
*/
|
|
45
|
+
export function parseSearchMode(value) {
|
|
46
|
+
if (!value)
|
|
47
|
+
return undefined;
|
|
48
|
+
const normalized = value.toLowerCase().trim();
|
|
49
|
+
if (normalized === 'rrf' || normalized === 'boost') {
|
|
50
|
+
return normalized;
|
|
51
|
+
}
|
|
52
|
+
console.error(`Invalid RAG_SEARCH_MODE value: "${value}". Expected "rrf" or "boost". Using default ("boost").`);
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Parse RRF K constant from environment variable
|
|
57
|
+
*/
|
|
58
|
+
export function parseRrfK(value) {
|
|
59
|
+
if (!value)
|
|
60
|
+
return undefined;
|
|
61
|
+
const parsed = Number.parseInt(value, 10);
|
|
62
|
+
if (Number.isNaN(parsed) || parsed < 1) {
|
|
63
|
+
console.error(`Invalid RAG_RRF_K value: "${value}". Expected positive integer. Using default (60).`);
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
return parsed;
|
|
67
|
+
}
|
|
42
68
|
//# sourceMappingURL=config-parsers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-parsers.js","sourceRoot":"","sources":["../../src/utils/config-parsers.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,2EAA2E;AAI3E;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAyB;IACzD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAA;IAC7C,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACzD,OAAO,UAAU,CAAA;IACnB,CAAC;IACD,OAAO,CAAC,KAAK,CACX,gCAAgC,KAAK,+CAA+C,CACrF,CAAA;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACvC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,oCAAoC,KAAK,wCAAwC,CAAC,CAAA;QAChG,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAyB;IACzD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACvC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,OAAO,CAAC,KAAK,CACX,qCAAqC,KAAK,2CAA2C,CACtF,CAAA;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"config-parsers.js","sourceRoot":"","sources":["../../src/utils/config-parsers.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,2EAA2E;AAI3E;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAyB;IACzD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAA;IAC7C,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACzD,OAAO,UAAU,CAAA;IACnB,CAAC;IACD,OAAO,CAAC,KAAK,CACX,gCAAgC,KAAK,+CAA+C,CACrF,CAAA;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACvC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,KAAK,CAAC,oCAAoC,KAAK,wCAAwC,CAAC,CAAA;QAChG,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAyB;IACzD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACvC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,OAAO,CAAC,KAAK,CACX,qCAAqC,KAAK,2CAA2C,CACtF,CAAA;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AASD;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAyB;IACvD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAA;IAC7C,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QACnD,OAAO,UAAU,CAAA;IACnB,CAAC;IACD,OAAO,CAAC,KAAK,CACX,mCAAmC,KAAK,wDAAwD,CACjG,CAAA;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,KAAyB;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACzC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,KAAK,CACX,6BAA6B,KAAK,mDAAmD,CACtF,CAAA;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/dist/utils/config.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { GroupingMode } from '../vectordb/index.js';
|
|
2
|
+
import { type SearchMode } from './config-parsers.js';
|
|
2
3
|
/**
|
|
3
4
|
* RAG server configuration (matches RAGServerConfig in server/index.ts)
|
|
4
5
|
*/
|
|
@@ -19,6 +20,28 @@ export interface RAGConfig {
|
|
|
19
20
|
grouping?: GroupingMode;
|
|
20
21
|
/** Hybrid search weight for BM25 (0.0 = vector only, 1.0 = BM25 only) */
|
|
21
22
|
hybridWeight?: number;
|
|
23
|
+
/** Search mode: 'rrf' (Reciprocal Rank Fusion) or 'boost' (legacy keyword boost) */
|
|
24
|
+
searchMode?: SearchMode;
|
|
25
|
+
/** RRF K constant (smoothing factor, default: 60) */
|
|
26
|
+
rrfK?: number;
|
|
27
|
+
/** Enable cross-encoder reranking */
|
|
28
|
+
rerankerEnabled?: boolean;
|
|
29
|
+
/** Cross-encoder model name */
|
|
30
|
+
rerankerModel?: string;
|
|
31
|
+
/** Reranker candidate multiplier (rerank limit * this many candidates) */
|
|
32
|
+
rerankerCandidateMultiplier?: number;
|
|
33
|
+
/** Enable HyDE query expansion */
|
|
34
|
+
hydeEnabled?: boolean;
|
|
35
|
+
/** HyDE backend: 'rule-based' or 'api' */
|
|
36
|
+
hydeBackend?: string;
|
|
37
|
+
/** Number of HyDE expansions to generate */
|
|
38
|
+
hydeExpansions?: number;
|
|
39
|
+
/** API key for HyDE API backend (optional, only used when hydeBackend='api') */
|
|
40
|
+
hydeApiKey?: string;
|
|
41
|
+
/** API base URL for HyDE API backend (optional, default: https://api.anthropic.com) */
|
|
42
|
+
hydeApiBaseUrl?: string;
|
|
43
|
+
/** API model for HyDE API backend (optional) */
|
|
44
|
+
hydeApiModel?: string;
|
|
22
45
|
}
|
|
23
46
|
/**
|
|
24
47
|
* Build RAG server configuration from environment variables
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EACL,KAAK,UAAU,EAMhB,MAAM,qBAAqB,CAAA;AAe5B;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,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,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,oFAAoF;IACpF,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qCAAqC;IACrC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,0EAA0E;IAC1E,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,kCAAkC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,uFAAuF;IACvF,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAYD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAqExE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwDzD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAqBnD"}
|
package/dist/utils/config.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Used by both MCP server (src/index.ts) and Web server (src/web/index.ts)
|
|
3
3
|
import { existsSync } from 'node:fs';
|
|
4
4
|
import path from 'node:path';
|
|
5
|
-
import { parseGroupingMode, parseHybridWeight, parseMaxDistance } from './config-parsers.js';
|
|
5
|
+
import { parseGroupingMode, parseHybridWeight, parseMaxDistance, parseRrfK, parseSearchMode, } from './config-parsers.js';
|
|
6
6
|
/**
|
|
7
7
|
* Configuration validation error (internal use only)
|
|
8
8
|
*/
|
|
@@ -57,6 +57,44 @@ export function buildRAGConfig(overrides) {
|
|
|
57
57
|
if (hybridWeight !== undefined) {
|
|
58
58
|
config.hybridWeight = hybridWeight;
|
|
59
59
|
}
|
|
60
|
+
// Advanced RAG settings
|
|
61
|
+
const searchMode = parseSearchMode(process.env['RAG_SEARCH_MODE']) ?? overrides?.searchMode;
|
|
62
|
+
const rrfK = parseRrfK(process.env['RAG_RRF_K']) ?? overrides?.rrfK;
|
|
63
|
+
if (searchMode !== undefined) {
|
|
64
|
+
config.searchMode = searchMode;
|
|
65
|
+
}
|
|
66
|
+
if (rrfK !== undefined) {
|
|
67
|
+
config.rrfK = rrfK;
|
|
68
|
+
}
|
|
69
|
+
// Reranker settings
|
|
70
|
+
config.rerankerEnabled =
|
|
71
|
+
process.env['RAG_RERANKER_ENABLED']?.toLowerCase() === 'true' ||
|
|
72
|
+
overrides?.rerankerEnabled ||
|
|
73
|
+
false;
|
|
74
|
+
config.rerankerModel =
|
|
75
|
+
process.env['RAG_RERANKER_MODEL'] || overrides?.rerankerModel || 'Xenova/ms-marco-MiniLM-L-6-v2';
|
|
76
|
+
const rerankerMult = Number.parseFloat(process.env['RAG_RERANKER_CANDIDATE_MULTIPLIER'] || '');
|
|
77
|
+
config.rerankerCandidateMultiplier =
|
|
78
|
+
!Number.isNaN(rerankerMult) && rerankerMult > 0
|
|
79
|
+
? rerankerMult
|
|
80
|
+
: (overrides?.rerankerCandidateMultiplier ?? 2);
|
|
81
|
+
// HyDE settings
|
|
82
|
+
config.hydeEnabled =
|
|
83
|
+
process.env['RAG_HYDE_ENABLED']?.toLowerCase() === 'true' || overrides?.hydeEnabled || false;
|
|
84
|
+
config.hydeBackend = process.env['RAG_HYDE_BACKEND'] || overrides?.hydeBackend || 'rule-based';
|
|
85
|
+
const hydeExp = Number.parseInt(process.env['RAG_HYDE_EXPANSIONS'] || '', 10);
|
|
86
|
+
config.hydeExpansions =
|
|
87
|
+
!Number.isNaN(hydeExp) && hydeExp > 0 ? hydeExp : (overrides?.hydeExpansions ?? 2);
|
|
88
|
+
// HyDE API settings (only relevant when hydeBackend='api')
|
|
89
|
+
const hydeApiKey = process.env['RAG_HYDE_API_KEY'] || overrides?.hydeApiKey;
|
|
90
|
+
const hydeApiBaseUrl = process.env['RAG_HYDE_API_BASE_URL'] || overrides?.hydeApiBaseUrl;
|
|
91
|
+
const hydeApiModel = process.env['RAG_HYDE_API_MODEL'] || overrides?.hydeApiModel;
|
|
92
|
+
if (hydeApiKey)
|
|
93
|
+
config.hydeApiKey = hydeApiKey;
|
|
94
|
+
if (hydeApiBaseUrl)
|
|
95
|
+
config.hydeApiBaseUrl = hydeApiBaseUrl;
|
|
96
|
+
if (hydeApiModel)
|
|
97
|
+
config.hydeApiModel = hydeApiModel;
|
|
60
98
|
return config;
|
|
61
99
|
}
|
|
62
100
|
/**
|
package/dist/utils/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,2EAA2E;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-utils.d.ts","sourceRoot":"","sources":["../../src/utils/file-utils.ts"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"file-utils.d.ts","sourceRoot":"","sources":["../../src/utils/file-utils.ts"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCtF"}
|
package/dist/utils/file-utils.js
CHANGED
|
@@ -19,7 +19,23 @@ export async function atomicWriteFile(filePath, content) {
|
|
|
19
19
|
const tempPath = `${filePath}.${randomUUID()}.tmp`;
|
|
20
20
|
try {
|
|
21
21
|
await writeFile(tempPath, content, 'utf-8');
|
|
22
|
-
|
|
22
|
+
// Retry rename on Windows EPERM (file handle contention)
|
|
23
|
+
const maxRetries = process.platform === 'win32' ? 3 : 0;
|
|
24
|
+
for (let attempt = 0;; attempt++) {
|
|
25
|
+
try {
|
|
26
|
+
await rename(tempPath, filePath);
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
const isRetryable = attempt < maxRetries &&
|
|
31
|
+
err instanceof Error &&
|
|
32
|
+
'code' in err &&
|
|
33
|
+
err.code === 'EPERM';
|
|
34
|
+
if (!isRetryable)
|
|
35
|
+
throw err;
|
|
36
|
+
await new Promise((r) => setTimeout(r, 50 * (attempt + 1)));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
23
39
|
}
|
|
24
40
|
catch (error) {
|
|
25
41
|
// Clean up temp file on failure
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../../src/utils/file-utils.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,OAAe;IACrE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACvC,CAAC;IAED,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,UAAU,EAAE,MAAM,CAAA;IAClD,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAC3C,MAAM,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../../src/utils/file-utils.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,OAAe;IACrE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACvC,CAAC;IAED,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,UAAU,EAAE,MAAM,CAAA;IAClD,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAC3C,yDAAyD;QACzD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACvD,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;gBAChC,MAAK;YACP,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,WAAW,GACf,OAAO,GAAG,UAAU;oBACpB,GAAG,YAAY,KAAK;oBACpB,MAAM,IAAI,GAAG;oBACZ,GAA6B,CAAC,IAAI,KAAK,OAAO,CAAA;gBACjD,IAAI,CAAC,WAAW;oBAAE,MAAM,GAAG,CAAA;gBAC3B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gCAAgC;QAChC,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC"}
|
package/dist/vectordb/index.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
export { DatabaseError } from '../errors/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Search mode: 'rrf' uses Reciprocal Rank Fusion, 'boost' uses legacy keyword boost.
|
|
4
|
+
* Configure via RAG_SEARCH_MODE environment variable.
|
|
5
|
+
*/
|
|
6
|
+
type SearchMode = 'rrf' | 'boost';
|
|
2
7
|
/**
|
|
3
8
|
* Validate file path to prevent SQL injection and path traversal attacks.
|
|
4
9
|
* @param filePath - The file path to validate
|
|
@@ -34,6 +39,19 @@ interface VectorStoreConfig {
|
|
|
34
39
|
* Default: 0.6
|
|
35
40
|
*/
|
|
36
41
|
hybridWeight?: number;
|
|
42
|
+
/**
|
|
43
|
+
* Search mode: how vector and BM25 results are combined.
|
|
44
|
+
* - 'rrf': Reciprocal Rank Fusion (opt-in, treats channels as independent voters)
|
|
45
|
+
* - 'boost': Legacy mode (default, BM25 multiplicatively boosts vector distances)
|
|
46
|
+
* Overrides RAG_SEARCH_MODE environment variable when set.
|
|
47
|
+
*/
|
|
48
|
+
searchMode?: SearchMode;
|
|
49
|
+
/**
|
|
50
|
+
* RRF K constant (smoothing factor for Reciprocal Rank Fusion).
|
|
51
|
+
* Higher values reduce the impact of rank differences. Default: 60.
|
|
52
|
+
* Overrides RAG_RRF_K environment variable when set.
|
|
53
|
+
*/
|
|
54
|
+
rrfK?: number;
|
|
37
55
|
}
|
|
38
56
|
/**
|
|
39
57
|
* Document metadata
|
|
@@ -107,6 +125,7 @@ export declare class VectorStore {
|
|
|
107
125
|
private db;
|
|
108
126
|
private table;
|
|
109
127
|
private readonly config;
|
|
128
|
+
private rrfMaxDistanceWarned;
|
|
110
129
|
private ftsEnabled;
|
|
111
130
|
private ftsFailureCount;
|
|
112
131
|
private ftsLastFailure;
|
|
@@ -218,18 +237,25 @@ export declare class VectorStore {
|
|
|
218
237
|
private applyGrouping;
|
|
219
238
|
/**
|
|
220
239
|
* Execute vector search with quality filtering
|
|
221
|
-
* Architecture: Semantic search → Filter (maxDistance, grouping) → Keyword boost
|
|
222
240
|
*
|
|
223
|
-
*
|
|
224
|
-
* -
|
|
225
|
-
*
|
|
241
|
+
* Supports two search modes (configured via RAG_SEARCH_MODE):
|
|
242
|
+
* - 'rrf': Reciprocal Rank Fusion — vector and BM25 are independent voters,
|
|
243
|
+
* results are fused by rank position. Recommended for most use cases.
|
|
244
|
+
* - 'boost': Legacy mode — BM25 multiplicatively boosts vector distances.
|
|
245
|
+
*
|
|
246
|
+
* Architecture (RRF mode): Vector search + FTS search → RRF fusion → Grouping → Limit
|
|
247
|
+
* Architecture (Boost mode): Vector search → Grouping → Keyword boost → Limit
|
|
226
248
|
*
|
|
227
249
|
* @param queryVector - Query vector (dimension depends on model)
|
|
228
|
-
* @param queryText - Optional query text for keyword
|
|
250
|
+
* @param queryText - Optional query text for keyword matching (BM25)
|
|
229
251
|
* @param limit - Number of results to retrieve (default 10)
|
|
252
|
+
* @param additionalVectors - Optional additional query vectors with weights (for HyDE)
|
|
230
253
|
* @returns Array of search results (sorted by distance ascending, filtered by quality settings)
|
|
231
254
|
*/
|
|
232
|
-
search(queryVector: number[], queryText?: string, limit?: number
|
|
255
|
+
search(queryVector: number[], queryText?: string, limit?: number, additionalVectors?: {
|
|
256
|
+
vector: number[];
|
|
257
|
+
weight: number;
|
|
258
|
+
}[]): Promise<SearchResult[]>;
|
|
233
259
|
/**
|
|
234
260
|
* Apply keyword boost to rerank vector search results
|
|
235
261
|
* Uses multiplicative formula: final_distance = distance / (1 + keyword_normalized * weight)
|
|
@@ -299,7 +325,7 @@ export declare class VectorStore {
|
|
|
299
325
|
memoryUsage: number;
|
|
300
326
|
uptime: number;
|
|
301
327
|
ftsIndexEnabled: boolean;
|
|
302
|
-
searchMode: 'hybrid' | 'vector-only';
|
|
328
|
+
searchMode: 'hybrid' | 'vector-only' | 'hybrid-rrf' | 'vector-rrf';
|
|
303
329
|
}>;
|
|
304
330
|
}
|
|
305
331
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vectordb/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vectordb/index.ts"],"names":[],"mappings":"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"}
|