@retrivora-ai/rag-engine 0.3.4 → 0.3.5

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 (33) hide show
  1. package/dist/{ChromaDBProvider-T7TK3ONZ.mjs → ChromaDBProvider-6JWXHZAE.mjs} +2 -2
  2. package/dist/{MilvusProvider-Y5FV5EAE.mjs → MilvusProvider-MJQVHU4B.mjs} +2 -2
  3. package/dist/{MongoDBProvider-KGO6N23T.mjs → MongoDBProvider-XS3QR47H.mjs} +2 -2
  4. package/dist/{PineconeProvider-A47MRRYJ.mjs → PineconeProvider-QZTC7QAP.mjs} +2 -2
  5. package/dist/{PostgreSQLProvider-ILWADFAP.mjs → PostgreSQLProvider-CNO72UP6.mjs} +2 -2
  6. package/dist/{QdrantProvider-OLPJK7CY.mjs → QdrantProvider-6OBJKUIP.mjs} +2 -2
  7. package/dist/{RedisProvider-ANEJ3BHR.mjs → RedisProvider-FF5BNQPB.mjs} +2 -2
  8. package/dist/{UniversalVectorProvider-QJIV2AJJ.mjs → UniversalVectorProvider-CAVX5VSQ.mjs} +2 -2
  9. package/dist/{WeaviateProvider-WIK2QN23.mjs → WeaviateProvider-DIYYBTEF.mjs} +2 -2
  10. package/dist/{chunk-RUKZC3ON.mjs → chunk-7XL3QSQ7.mjs} +1 -1
  11. package/dist/{chunk-VEJNRS4B.mjs → chunk-ENEUABSO.mjs} +1 -1
  12. package/dist/{chunk-IFPISZ2S.mjs → chunk-KGW2YHV2.mjs} +2 -8
  13. package/dist/{chunk-6GSARSCP.mjs → chunk-L54WODRW.mjs} +2 -8
  14. package/dist/{chunk-BMHJTWSU.mjs → chunk-M3AZTD7F.mjs} +3 -2
  15. package/dist/{chunk-HOMXEE3M.mjs → chunk-N2L5CFGM.mjs} +1 -1
  16. package/dist/{chunk-VKE5ZW7Y.mjs → chunk-Q2QDQ5SQ.mjs} +1 -1
  17. package/dist/{chunk-VV2ML6TM.mjs → chunk-R3GPRETL.mjs} +3 -2
  18. package/dist/{chunk-GE4AVGA5.mjs → chunk-TOKEXP3M.mjs} +9 -9
  19. package/dist/{chunk-W2PQR3UK.mjs → chunk-ULX4EF74.mjs} +1 -1
  20. package/dist/chunk-YVTGOFNV.mjs +23 -0
  21. package/dist/handlers/index.js +18 -16
  22. package/dist/handlers/index.mjs +1 -1
  23. package/dist/server.d.mts +5 -0
  24. package/dist/server.d.ts +5 -0
  25. package/dist/server.js +18 -16
  26. package/dist/server.mjs +11 -11
  27. package/package.json +1 -1
  28. package/src/providers/vectordb/BaseVectorProvider.ts +13 -0
  29. package/src/providers/vectordb/MongoDBProvider.ts +1 -9
  30. package/src/providers/vectordb/PineconeProvider.ts +2 -1
  31. package/src/providers/vectordb/PostgreSQLProvider.ts +1 -9
  32. package/src/providers/vectordb/UniversalVectorProvider.ts +2 -1
  33. package/dist/chunk-VOIWNO5O.mjs +0 -11
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ChromaDBProvider
3
- } from "./chunk-VKE5ZW7Y.mjs";
4
- import "./chunk-VOIWNO5O.mjs";
3
+ } from "./chunk-Q2QDQ5SQ.mjs";
4
+ import "./chunk-YVTGOFNV.mjs";
5
5
  import "./chunk-FWCSY2DS.mjs";
6
6
  export {
7
7
  ChromaDBProvider
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  MilvusProvider
3
- } from "./chunk-VEJNRS4B.mjs";
4
- import "./chunk-VOIWNO5O.mjs";
3
+ } from "./chunk-ENEUABSO.mjs";
4
+ import "./chunk-YVTGOFNV.mjs";
5
5
  import "./chunk-FWCSY2DS.mjs";
6
6
  export {
7
7
  MilvusProvider
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  MongoDBProvider
3
- } from "./chunk-IFPISZ2S.mjs";
4
- import "./chunk-VOIWNO5O.mjs";
3
+ } from "./chunk-KGW2YHV2.mjs";
4
+ import "./chunk-YVTGOFNV.mjs";
5
5
  import "./chunk-FWCSY2DS.mjs";
6
6
  export {
7
7
  MongoDBProvider
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  PineconeProvider
3
- } from "./chunk-BMHJTWSU.mjs";
4
- import "./chunk-VOIWNO5O.mjs";
3
+ } from "./chunk-M3AZTD7F.mjs";
4
+ import "./chunk-YVTGOFNV.mjs";
5
5
  import "./chunk-FWCSY2DS.mjs";
6
6
  export {
7
7
  PineconeProvider
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  PostgreSQLProvider
3
- } from "./chunk-6GSARSCP.mjs";
4
- import "./chunk-VOIWNO5O.mjs";
3
+ } from "./chunk-L54WODRW.mjs";
4
+ import "./chunk-YVTGOFNV.mjs";
5
5
  import "./chunk-FWCSY2DS.mjs";
6
6
  export {
7
7
  PostgreSQLProvider
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  QdrantProvider
3
- } from "./chunk-W2PQR3UK.mjs";
4
- import "./chunk-VOIWNO5O.mjs";
3
+ } from "./chunk-ULX4EF74.mjs";
4
+ import "./chunk-YVTGOFNV.mjs";
5
5
  import "./chunk-FWCSY2DS.mjs";
6
6
  export {
7
7
  QdrantProvider
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  RedisProvider
3
- } from "./chunk-HOMXEE3M.mjs";
4
- import "./chunk-VOIWNO5O.mjs";
3
+ } from "./chunk-N2L5CFGM.mjs";
4
+ import "./chunk-YVTGOFNV.mjs";
5
5
  import "./chunk-FWCSY2DS.mjs";
6
6
  export {
7
7
  RedisProvider
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  UniversalVectorProvider
3
- } from "./chunk-VV2ML6TM.mjs";
3
+ } from "./chunk-R3GPRETL.mjs";
4
4
  import "./chunk-EDLTMSNY.mjs";
5
- import "./chunk-VOIWNO5O.mjs";
5
+ import "./chunk-YVTGOFNV.mjs";
6
6
  import "./chunk-FWCSY2DS.mjs";
7
7
  export {
8
8
  UniversalVectorProvider
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  WeaviateProvider
3
- } from "./chunk-RUKZC3ON.mjs";
4
- import "./chunk-VOIWNO5O.mjs";
3
+ } from "./chunk-7XL3QSQ7.mjs";
4
+ import "./chunk-YVTGOFNV.mjs";
5
5
  import "./chunk-FWCSY2DS.mjs";
6
6
  export {
7
7
  WeaviateProvider
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BaseVectorProvider
3
- } from "./chunk-VOIWNO5O.mjs";
3
+ } from "./chunk-YVTGOFNV.mjs";
4
4
  import {
5
5
  __spreadValues
6
6
  } from "./chunk-FWCSY2DS.mjs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BaseVectorProvider
3
- } from "./chunk-VOIWNO5O.mjs";
3
+ } from "./chunk-YVTGOFNV.mjs";
4
4
  import {
5
5
  __spreadValues
6
6
  } from "./chunk-FWCSY2DS.mjs";
@@ -1,18 +1,12 @@
1
1
  import {
2
2
  BaseVectorProvider
3
- } from "./chunk-VOIWNO5O.mjs";
3
+ } from "./chunk-YVTGOFNV.mjs";
4
4
  import {
5
5
  __spreadValues
6
6
  } from "./chunk-FWCSY2DS.mjs";
7
7
 
8
8
  // src/providers/vectordb/MongoDBProvider.ts
9
9
  import { MongoClient } from "mongodb";
10
- function stripInternalFilterKeys(filter) {
11
- if (!filter) return {};
12
- return Object.fromEntries(
13
- Object.entries(filter).filter(([key]) => !key.startsWith("__"))
14
- );
15
- }
16
10
  var MongoDBProvider = class extends BaseVectorProvider {
17
11
  constructor(config) {
18
12
  super(config);
@@ -58,7 +52,7 @@ var MongoDBProvider = class extends BaseVectorProvider {
58
52
  await this.collection.bulkWrite(operations);
59
53
  }
60
54
  async query(vector, topK, namespace, filter) {
61
- const publicFilter = stripInternalFilterKeys(filter);
55
+ const publicFilter = this.sanitizeFilter(filter);
62
56
  const pipeline = [
63
57
  {
64
58
  $vectorSearch: __spreadValues({
@@ -1,15 +1,9 @@
1
1
  import {
2
2
  BaseVectorProvider
3
- } from "./chunk-VOIWNO5O.mjs";
3
+ } from "./chunk-YVTGOFNV.mjs";
4
4
 
5
5
  // src/providers/vectordb/PostgreSQLProvider.ts
6
6
  import { Pool } from "pg";
7
- function stripInternalFilterKeys(filter) {
8
- if (!filter) return {};
9
- return Object.fromEntries(
10
- Object.entries(filter).filter(([key]) => !key.startsWith("__"))
11
- );
12
- }
13
7
  var PostgreSQLProvider = class extends BaseVectorProvider {
14
8
  constructor(config) {
15
9
  var _a;
@@ -96,7 +90,7 @@ var PostgreSQLProvider = class extends BaseVectorProvider {
96
90
  let whereClause = namespace ? `WHERE namespace = $3` : "";
97
91
  const params = [vectorLiteral, topK];
98
92
  if (namespace) params.push(namespace);
99
- const publicFilter = stripInternalFilterKeys(filter);
93
+ const publicFilter = this.sanitizeFilter(filter);
100
94
  if (Object.keys(publicFilter).length > 0) {
101
95
  const filterConditions = Object.entries(publicFilter).map(([key, val]) => {
102
96
  const paramIdx = params.length + 1;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BaseVectorProvider
3
- } from "./chunk-VOIWNO5O.mjs";
3
+ } from "./chunk-YVTGOFNV.mjs";
4
4
  import {
5
5
  __spreadValues
6
6
  } from "./chunk-FWCSY2DS.mjs";
@@ -55,11 +55,12 @@ var PineconeProvider = class extends BaseVectorProvider {
55
55
  }
56
56
  async query(vector, topK, namespace, filter) {
57
57
  var _a;
58
+ const pineconeFilter = this.sanitizeFilter(filter);
58
59
  const result = await this.index(namespace).query(__spreadValues({
59
60
  vector,
60
61
  topK,
61
62
  includeMetadata: true
62
- }, filter ? { filter } : {}));
63
+ }, Object.keys(pineconeFilter).length > 0 ? { filter: pineconeFilter } : {}));
63
64
  return ((_a = result.matches) != null ? _a : []).map((m) => {
64
65
  var _a2, _b;
65
66
  return {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BaseVectorProvider
3
- } from "./chunk-VOIWNO5O.mjs";
3
+ } from "./chunk-YVTGOFNV.mjs";
4
4
  import {
5
5
  __spreadValues
6
6
  } from "./chunk-FWCSY2DS.mjs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BaseVectorProvider
3
- } from "./chunk-VOIWNO5O.mjs";
3
+ } from "./chunk-YVTGOFNV.mjs";
4
4
  import {
5
5
  __spreadValues
6
6
  } from "./chunk-FWCSY2DS.mjs";
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-EDLTMSNY.mjs";
5
5
  import {
6
6
  BaseVectorProvider
7
- } from "./chunk-VOIWNO5O.mjs";
7
+ } from "./chunk-YVTGOFNV.mjs";
8
8
  import {
9
9
  __spreadValues
10
10
  } from "./chunk-FWCSY2DS.mjs";
@@ -75,11 +75,12 @@ var UniversalVectorProvider = class extends BaseVectorProvider {
75
75
  namespace: "{{namespace}}",
76
76
  filter: "{{filter}}"
77
77
  });
78
+ const sanitizedFilter = this.sanitizeFilter(filter);
78
79
  const payload = buildPayload(template, {
79
80
  vector,
80
81
  topK,
81
82
  namespace: namespace != null ? namespace : this.indexName,
82
- filter: filter != null ? filter : {}
83
+ filter: sanitizedFilter
83
84
  });
84
85
  try {
85
86
  const response = await this.http.post(endpoint, payload);
@@ -1370,41 +1370,41 @@ var ProviderRegistry = class {
1370
1370
  }
1371
1371
  switch (provider) {
1372
1372
  case "pinecone": {
1373
- const { PineconeProvider } = await import("./PineconeProvider-A47MRRYJ.mjs");
1373
+ const { PineconeProvider } = await import("./PineconeProvider-QZTC7QAP.mjs");
1374
1374
  return new PineconeProvider(config);
1375
1375
  }
1376
1376
  case "pgvector":
1377
1377
  case "postgresql": {
1378
- const { PostgreSQLProvider } = await import("./PostgreSQLProvider-ILWADFAP.mjs");
1378
+ const { PostgreSQLProvider } = await import("./PostgreSQLProvider-CNO72UP6.mjs");
1379
1379
  return new PostgreSQLProvider(config);
1380
1380
  }
1381
1381
  case "mongodb": {
1382
- const { MongoDBProvider } = await import("./MongoDBProvider-KGO6N23T.mjs");
1382
+ const { MongoDBProvider } = await import("./MongoDBProvider-XS3QR47H.mjs");
1383
1383
  return new MongoDBProvider(config);
1384
1384
  }
1385
1385
  case "milvus": {
1386
- const { MilvusProvider } = await import("./MilvusProvider-Y5FV5EAE.mjs");
1386
+ const { MilvusProvider } = await import("./MilvusProvider-MJQVHU4B.mjs");
1387
1387
  return new MilvusProvider(config);
1388
1388
  }
1389
1389
  case "qdrant": {
1390
- const { QdrantProvider } = await import("./QdrantProvider-OLPJK7CY.mjs");
1390
+ const { QdrantProvider } = await import("./QdrantProvider-6OBJKUIP.mjs");
1391
1391
  return new QdrantProvider(config);
1392
1392
  }
1393
1393
  case "chromadb": {
1394
- const { ChromaDBProvider } = await import("./ChromaDBProvider-T7TK3ONZ.mjs");
1394
+ const { ChromaDBProvider } = await import("./ChromaDBProvider-6JWXHZAE.mjs");
1395
1395
  return new ChromaDBProvider(config);
1396
1396
  }
1397
1397
  case "redis": {
1398
- const { RedisProvider } = await import("./RedisProvider-ANEJ3BHR.mjs");
1398
+ const { RedisProvider } = await import("./RedisProvider-FF5BNQPB.mjs");
1399
1399
  return new RedisProvider(config);
1400
1400
  }
1401
1401
  case "weaviate": {
1402
- const { WeaviateProvider } = await import("./WeaviateProvider-WIK2QN23.mjs");
1402
+ const { WeaviateProvider } = await import("./WeaviateProvider-DIYYBTEF.mjs");
1403
1403
  return new WeaviateProvider(config);
1404
1404
  }
1405
1405
  case "universal_rest":
1406
1406
  case "rest": {
1407
- const { UniversalVectorProvider } = await import("./UniversalVectorProvider-QJIV2AJJ.mjs");
1407
+ const { UniversalVectorProvider } = await import("./UniversalVectorProvider-CAVX5VSQ.mjs");
1408
1408
  return new UniversalVectorProvider(config);
1409
1409
  }
1410
1410
  default:
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BaseVectorProvider
3
- } from "./chunk-VOIWNO5O.mjs";
3
+ } from "./chunk-YVTGOFNV.mjs";
4
4
  import {
5
5
  __spreadValues
6
6
  } from "./chunk-FWCSY2DS.mjs";
@@ -0,0 +1,23 @@
1
+ // src/providers/vectordb/BaseVectorProvider.ts
2
+ var BaseVectorProvider = class {
3
+ constructor(config) {
4
+ this.config = config;
5
+ this.indexName = config.indexName || "default";
6
+ }
7
+ /**
8
+ * Remove internal keys (starting with __) and queryText from a filter object
9
+ * before passing it to an external provider that might not support them.
10
+ */
11
+ sanitizeFilter(filter) {
12
+ if (!filter) return {};
13
+ return Object.fromEntries(
14
+ Object.entries(filter).filter(
15
+ ([key]) => !key.startsWith("__") && key !== "queryText"
16
+ )
17
+ );
18
+ }
19
+ };
20
+
21
+ export {
22
+ BaseVectorProvider
23
+ };
@@ -102,6 +102,18 @@ var init_BaseVectorProvider = __esm({
102
102
  this.config = config;
103
103
  this.indexName = config.indexName || "default";
104
104
  }
105
+ /**
106
+ * Remove internal keys (starting with __) and queryText from a filter object
107
+ * before passing it to an external provider that might not support them.
108
+ */
109
+ sanitizeFilter(filter) {
110
+ if (!filter) return {};
111
+ return Object.fromEntries(
112
+ Object.entries(filter).filter(
113
+ ([key]) => !key.startsWith("__") && key !== "queryText"
114
+ )
115
+ );
116
+ }
105
117
  };
106
118
  }
107
119
  });
@@ -165,11 +177,12 @@ var init_PineconeProvider = __esm({
165
177
  }
166
178
  async query(vector, topK, namespace, filter) {
167
179
  var _a;
180
+ const pineconeFilter = this.sanitizeFilter(filter);
168
181
  const result = await this.index(namespace).query(__spreadValues({
169
182
  vector,
170
183
  topK,
171
184
  includeMetadata: true
172
- }, filter ? { filter } : {}));
185
+ }, Object.keys(pineconeFilter).length > 0 ? { filter: pineconeFilter } : {}));
173
186
  return ((_a = result.matches) != null ? _a : []).map((m) => {
174
187
  var _a2, _b;
175
188
  return {
@@ -205,12 +218,6 @@ var PostgreSQLProvider_exports = {};
205
218
  __export(PostgreSQLProvider_exports, {
206
219
  PostgreSQLProvider: () => PostgreSQLProvider
207
220
  });
208
- function stripInternalFilterKeys(filter) {
209
- if (!filter) return {};
210
- return Object.fromEntries(
211
- Object.entries(filter).filter(([key]) => !key.startsWith("__"))
212
- );
213
- }
214
221
  var import_pg, PostgreSQLProvider;
215
222
  var init_PostgreSQLProvider = __esm({
216
223
  "src/providers/vectordb/PostgreSQLProvider.ts"() {
@@ -303,7 +310,7 @@ var init_PostgreSQLProvider = __esm({
303
310
  let whereClause = namespace ? `WHERE namespace = $3` : "";
304
311
  const params = [vectorLiteral, topK];
305
312
  if (namespace) params.push(namespace);
306
- const publicFilter = stripInternalFilterKeys(filter);
313
+ const publicFilter = this.sanitizeFilter(filter);
307
314
  if (Object.keys(publicFilter).length > 0) {
308
315
  const filterConditions = Object.entries(publicFilter).map(([key, val]) => {
309
316
  const paramIdx = params.length + 1;
@@ -355,12 +362,6 @@ var MongoDBProvider_exports = {};
355
362
  __export(MongoDBProvider_exports, {
356
363
  MongoDBProvider: () => MongoDBProvider
357
364
  });
358
- function stripInternalFilterKeys2(filter) {
359
- if (!filter) return {};
360
- return Object.fromEntries(
361
- Object.entries(filter).filter(([key]) => !key.startsWith("__"))
362
- );
363
- }
364
365
  var import_mongodb, MongoDBProvider;
365
366
  var init_MongoDBProvider = __esm({
366
367
  "src/providers/vectordb/MongoDBProvider.ts"() {
@@ -412,7 +413,7 @@ var init_MongoDBProvider = __esm({
412
413
  await this.collection.bulkWrite(operations);
413
414
  }
414
415
  async query(vector, topK, namespace, filter) {
415
- const publicFilter = stripInternalFilterKeys2(filter);
416
+ const publicFilter = this.sanitizeFilter(filter);
416
417
  const pipeline = [
417
418
  {
418
419
  $vectorSearch: __spreadValues({
@@ -1087,11 +1088,12 @@ var init_UniversalVectorProvider = __esm({
1087
1088
  namespace: "{{namespace}}",
1088
1089
  filter: "{{filter}}"
1089
1090
  });
1091
+ const sanitizedFilter = this.sanitizeFilter(filter);
1090
1092
  const payload = buildPayload(template, {
1091
1093
  vector,
1092
1094
  topK,
1093
1095
  namespace: namespace != null ? namespace : this.indexName,
1094
- filter: filter != null ? filter : {}
1096
+ filter: sanitizedFilter
1095
1097
  });
1096
1098
  try {
1097
1099
  const response = await this.http.post(endpoint, payload);
@@ -3,7 +3,7 @@ import {
3
3
  createHealthHandler,
4
4
  createIngestHandler,
5
5
  createUploadHandler
6
- } from "../chunk-GE4AVGA5.mjs";
6
+ } from "../chunk-TOKEXP3M.mjs";
7
7
  import "../chunk-EDLTMSNY.mjs";
8
8
  import "../chunk-FWCSY2DS.mjs";
9
9
  export {
package/dist/server.d.mts CHANGED
@@ -307,6 +307,11 @@ declare abstract class BaseVectorProvider {
307
307
  * Gracefully close the connection.
308
308
  */
309
309
  abstract disconnect(): Promise<void>;
310
+ /**
311
+ * Remove internal keys (starting with __) and queryText from a filter object
312
+ * before passing it to an external provider that might not support them.
313
+ */
314
+ protected sanitizeFilter(filter?: Record<string, unknown>): Record<string, unknown>;
310
315
  }
311
316
 
312
317
  /**
package/dist/server.d.ts CHANGED
@@ -307,6 +307,11 @@ declare abstract class BaseVectorProvider {
307
307
  * Gracefully close the connection.
308
308
  */
309
309
  abstract disconnect(): Promise<void>;
310
+ /**
311
+ * Remove internal keys (starting with __) and queryText from a filter object
312
+ * before passing it to an external provider that might not support them.
313
+ */
314
+ protected sanitizeFilter(filter?: Record<string, unknown>): Record<string, unknown>;
310
315
  }
311
316
 
312
317
  /**
package/dist/server.js CHANGED
@@ -114,6 +114,18 @@ var init_BaseVectorProvider = __esm({
114
114
  this.config = config;
115
115
  this.indexName = config.indexName || "default";
116
116
  }
117
+ /**
118
+ * Remove internal keys (starting with __) and queryText from a filter object
119
+ * before passing it to an external provider that might not support them.
120
+ */
121
+ sanitizeFilter(filter) {
122
+ if (!filter) return {};
123
+ return Object.fromEntries(
124
+ Object.entries(filter).filter(
125
+ ([key]) => !key.startsWith("__") && key !== "queryText"
126
+ )
127
+ );
128
+ }
117
129
  };
118
130
  }
119
131
  });
@@ -177,11 +189,12 @@ var init_PineconeProvider = __esm({
177
189
  }
178
190
  async query(vector, topK, namespace, filter) {
179
191
  var _a;
192
+ const pineconeFilter = this.sanitizeFilter(filter);
180
193
  const result = await this.index(namespace).query(__spreadValues({
181
194
  vector,
182
195
  topK,
183
196
  includeMetadata: true
184
- }, filter ? { filter } : {}));
197
+ }, Object.keys(pineconeFilter).length > 0 ? { filter: pineconeFilter } : {}));
185
198
  return ((_a = result.matches) != null ? _a : []).map((m) => {
186
199
  var _a2, _b;
187
200
  return {
@@ -217,12 +230,6 @@ var PostgreSQLProvider_exports = {};
217
230
  __export(PostgreSQLProvider_exports, {
218
231
  PostgreSQLProvider: () => PostgreSQLProvider
219
232
  });
220
- function stripInternalFilterKeys(filter) {
221
- if (!filter) return {};
222
- return Object.fromEntries(
223
- Object.entries(filter).filter(([key]) => !key.startsWith("__"))
224
- );
225
- }
226
233
  var import_pg, PostgreSQLProvider;
227
234
  var init_PostgreSQLProvider = __esm({
228
235
  "src/providers/vectordb/PostgreSQLProvider.ts"() {
@@ -315,7 +322,7 @@ var init_PostgreSQLProvider = __esm({
315
322
  let whereClause = namespace ? `WHERE namespace = $3` : "";
316
323
  const params = [vectorLiteral, topK];
317
324
  if (namespace) params.push(namespace);
318
- const publicFilter = stripInternalFilterKeys(filter);
325
+ const publicFilter = this.sanitizeFilter(filter);
319
326
  if (Object.keys(publicFilter).length > 0) {
320
327
  const filterConditions = Object.entries(publicFilter).map(([key, val]) => {
321
328
  const paramIdx = params.length + 1;
@@ -367,12 +374,6 @@ var MongoDBProvider_exports = {};
367
374
  __export(MongoDBProvider_exports, {
368
375
  MongoDBProvider: () => MongoDBProvider
369
376
  });
370
- function stripInternalFilterKeys2(filter) {
371
- if (!filter) return {};
372
- return Object.fromEntries(
373
- Object.entries(filter).filter(([key]) => !key.startsWith("__"))
374
- );
375
- }
376
377
  var import_mongodb, MongoDBProvider;
377
378
  var init_MongoDBProvider = __esm({
378
379
  "src/providers/vectordb/MongoDBProvider.ts"() {
@@ -424,7 +425,7 @@ var init_MongoDBProvider = __esm({
424
425
  await this.collection.bulkWrite(operations);
425
426
  }
426
427
  async query(vector, topK, namespace, filter) {
427
- const publicFilter = stripInternalFilterKeys2(filter);
428
+ const publicFilter = this.sanitizeFilter(filter);
428
429
  const pipeline = [
429
430
  {
430
431
  $vectorSearch: __spreadValues({
@@ -1099,11 +1100,12 @@ var init_UniversalVectorProvider = __esm({
1099
1100
  namespace: "{{namespace}}",
1100
1101
  filter: "{{filter}}"
1101
1102
  });
1103
+ const sanitizedFilter = this.sanitizeFilter(filter);
1102
1104
  const payload = buildPayload(template, {
1103
1105
  vector,
1104
1106
  topK,
1105
1107
  namespace: namespace != null ? namespace : this.indexName,
1106
- filter: filter != null ? filter : {}
1108
+ filter: sanitizedFilter
1107
1109
  });
1108
1110
  try {
1109
1111
  const response = await this.http.post(endpoint, payload);
package/dist/server.mjs CHANGED
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  ChromaDBProvider
3
- } from "./chunk-VKE5ZW7Y.mjs";
3
+ } from "./chunk-Q2QDQ5SQ.mjs";
4
4
  import {
5
5
  RedisProvider
6
- } from "./chunk-HOMXEE3M.mjs";
6
+ } from "./chunk-N2L5CFGM.mjs";
7
7
  import {
8
8
  WeaviateProvider
9
- } from "./chunk-RUKZC3ON.mjs";
9
+ } from "./chunk-7XL3QSQ7.mjs";
10
10
  import {
11
11
  UniversalVectorProvider
12
- } from "./chunk-VV2ML6TM.mjs";
12
+ } from "./chunk-R3GPRETL.mjs";
13
13
  import {
14
14
  AnthropicProvider,
15
15
  BatchProcessor,
@@ -34,26 +34,26 @@ import {
34
34
  createIngestHandler,
35
35
  createUploadHandler,
36
36
  getRagConfig
37
- } from "./chunk-GE4AVGA5.mjs";
37
+ } from "./chunk-TOKEXP3M.mjs";
38
38
  import "./chunk-EDLTMSNY.mjs";
39
39
  import {
40
40
  PineconeProvider
41
- } from "./chunk-BMHJTWSU.mjs";
41
+ } from "./chunk-M3AZTD7F.mjs";
42
42
  import {
43
43
  PostgreSQLProvider
44
- } from "./chunk-6GSARSCP.mjs";
44
+ } from "./chunk-L54WODRW.mjs";
45
45
  import {
46
46
  MongoDBProvider
47
- } from "./chunk-IFPISZ2S.mjs";
47
+ } from "./chunk-KGW2YHV2.mjs";
48
48
  import {
49
49
  MilvusProvider
50
- } from "./chunk-VEJNRS4B.mjs";
50
+ } from "./chunk-ENEUABSO.mjs";
51
51
  import {
52
52
  QdrantProvider
53
- } from "./chunk-W2PQR3UK.mjs";
53
+ } from "./chunk-ULX4EF74.mjs";
54
54
  import {
55
55
  BaseVectorProvider
56
- } from "./chunk-VOIWNO5O.mjs";
56
+ } from "./chunk-YVTGOFNV.mjs";
57
57
  import {
58
58
  __objRest,
59
59
  __spreadProps,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@retrivora-ai/rag-engine",
3
- "version": "0.3.4",
3
+ "version": "0.3.5",
4
4
  "description": "Retrivora AI is a plug-and-play AI engine for RAG chat experiences — generic vector DB + LLM provider, embeddable or standalone.",
5
5
  "author": "Abhinav Alkuchi",
6
6
  "license": "MIT",
@@ -58,4 +58,17 @@ export abstract class BaseVectorProvider {
58
58
  * Gracefully close the connection.
59
59
  */
60
60
  abstract disconnect(): Promise<void>;
61
+
62
+ /**
63
+ * Remove internal keys (starting with __) and queryText from a filter object
64
+ * before passing it to an external provider that might not support them.
65
+ */
66
+ protected sanitizeFilter(filter?: Record<string, unknown>): Record<string, unknown> {
67
+ if (!filter) return {};
68
+ return Object.fromEntries(
69
+ Object.entries(filter).filter(
70
+ ([key]) => !key.startsWith('__') && key !== 'queryText'
71
+ )
72
+ );
73
+ }
61
74
  }
@@ -3,14 +3,6 @@ import { VectorDBConfig } from '../../config/RagConfig';
3
3
  import { BaseVectorProvider } from './BaseVectorProvider';
4
4
  import { VectorMatch, UpsertDocument } from '../../types';
5
5
 
6
- function stripInternalFilterKeys(filter?: Record<string, unknown>): Record<string, unknown> {
7
- if (!filter) return {};
8
-
9
- return Object.fromEntries(
10
- Object.entries(filter).filter(([key]) => !key.startsWith('__'))
11
- );
12
- }
13
-
14
6
  /**
15
7
  * MongoDBProvider — MongoDB Atlas Vector Search implementation.
16
8
  */
@@ -75,7 +67,7 @@ export class MongoDBProvider extends BaseVectorProvider {
75
67
  }
76
68
 
77
69
  async query(vector: number[], topK: number, namespace?: string, filter?: Record<string, unknown>): Promise<VectorMatch[]> {
78
- const publicFilter = stripInternalFilterKeys(filter);
70
+ const publicFilter = this.sanitizeFilter(filter);
79
71
  const pipeline: Record<string, unknown>[] = [
80
72
  {
81
73
  $vectorSearch: {
@@ -66,11 +66,12 @@ export class PineconeProvider extends BaseVectorProvider {
66
66
  namespace?: string,
67
67
  filter?: Record<string, unknown>
68
68
  ): Promise<VectorMatch[]> {
69
+ const pineconeFilter = this.sanitizeFilter(filter);
69
70
  const result = await this.index(namespace).query({
70
71
  vector,
71
72
  topK,
72
73
  includeMetadata: true,
73
- ...(filter ? { filter } : {}),
74
+ ...(Object.keys(pineconeFilter).length > 0 ? { filter: pineconeFilter as any } : {}),
74
75
  });
75
76
  return (result.matches ?? []).map((m) => ({
76
77
  id: m.id,
@@ -3,14 +3,6 @@ import { VectorDBConfig } from '../../config/RagConfig';
3
3
  import { BaseVectorProvider } from './BaseVectorProvider';
4
4
  import { VectorMatch, UpsertDocument } from '../../types';
5
5
 
6
- function stripInternalFilterKeys(filter?: Record<string, unknown>): Record<string, unknown> {
7
- if (!filter) return {};
8
-
9
- return Object.fromEntries(
10
- Object.entries(filter).filter(([key]) => !key.startsWith('__'))
11
- );
12
- }
13
-
14
6
  /**
15
7
  * PostgreSQLProvider — PostgreSQL implementation using the pgvector extension.
16
8
  */
@@ -111,7 +103,7 @@ export class PostgreSQLProvider extends BaseVectorProvider {
111
103
  const params: unknown[] = [vectorLiteral, topK];
112
104
  if (namespace) params.push(namespace);
113
105
 
114
- const publicFilter = stripInternalFilterKeys(filter);
106
+ const publicFilter = this.sanitizeFilter(filter);
115
107
  if (Object.keys(publicFilter).length > 0) {
116
108
  const filterConditions = Object.entries(publicFilter)
117
109
  .map(([key, val]) => {
@@ -132,11 +132,12 @@ export class UniversalVectorProvider extends BaseVectorProvider {
132
132
  filter: '{{filter}}',
133
133
  });
134
134
 
135
+ const sanitizedFilter = this.sanitizeFilter(filter);
135
136
  const payload = buildPayload(template, {
136
137
  vector,
137
138
  topK,
138
139
  namespace: namespace ?? this.indexName,
139
- filter: filter ?? {},
140
+ filter: sanitizedFilter,
140
141
  });
141
142
 
142
143
  try {
@@ -1,11 +0,0 @@
1
- // src/providers/vectordb/BaseVectorProvider.ts
2
- var BaseVectorProvider = class {
3
- constructor(config) {
4
- this.config = config;
5
- this.indexName = config.indexName || "default";
6
- }
7
- };
8
-
9
- export {
10
- BaseVectorProvider
11
- };