@devilsdev/rag-connectors 3.8.0 → 3.8.2

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 (2) hide show
  1. package/dist/index.cjs +42 -24
  2. package/package.json +2 -2
package/dist/index.cjs CHANGED
@@ -1310,12 +1310,20 @@ var require_local_embedder = __commonJS({
1310
1310
  }
1311
1311
  });
1312
1312
 
1313
+ // scoped:@devilsdev/rag-core|retrieval/access-fields.js
1314
+ var require_access_fields = __commonJS({
1315
+ "scoped:@devilsdev/rag-core|retrieval/access-fields.js"(exports2, module2) {
1316
+ module2.exports = require("@devilsdev/rag-core")[Symbol.for("@devilsdev/rag-core/internal")]("retrieval/access-fields.js");
1317
+ }
1318
+ });
1319
+
1313
1320
  // src/retrieval/qdrant-retriever.js
1314
1321
  var require_qdrant_retriever = __commonJS({
1315
1322
  "src/retrieval/qdrant-retriever.js"(exports2, module2) {
1316
1323
  "use strict";
1317
1324
  var crypto = require("crypto");
1318
1325
  var { throwIfAborted } = require_connector_utils();
1326
+ var { accessFields } = require_access_fields();
1319
1327
  var COLLECTION = /^[A-Za-z0-9_-]{1,255}$/;
1320
1328
  var DEFAULT_COLLECTION = "rag_documents";
1321
1329
  var PAGE = 256;
@@ -1503,7 +1511,8 @@ var require_qdrant_retriever = __commonJS({
1503
1511
  payload: {
1504
1512
  rag_id: id,
1505
1513
  content: doc.content || "",
1506
- metadata: doc.metadata || {}
1514
+ metadata: doc.metadata || {},
1515
+ ...accessFields(doc)
1507
1516
  }
1508
1517
  };
1509
1518
  });
@@ -1545,7 +1554,8 @@ var require_qdrant_retriever = __commonJS({
1545
1554
  id: p.payload.rag_id,
1546
1555
  score: p.score,
1547
1556
  content: p.payload.content || "",
1548
- metadata: p.payload.metadata || {}
1557
+ metadata: p.payload.metadata || {},
1558
+ ...accessFields(p.payload)
1549
1559
  }));
1550
1560
  }
1551
1561
  /**
@@ -1621,7 +1631,8 @@ var require_qdrant_retriever = __commonJS({
1621
1631
  out.push({
1622
1632
  id: p.payload.rag_id,
1623
1633
  content: p.payload.content || "",
1624
- metadata: p.payload.metadata || {}
1634
+ metadata: p.payload.metadata || {},
1635
+ ...accessFields(p.payload)
1625
1636
  });
1626
1637
  }
1627
1638
  offset = result.next_page_offset;
@@ -1639,6 +1650,7 @@ var require_pinecone_retriever = __commonJS({
1639
1650
  "use strict";
1640
1651
  var crypto = require("crypto");
1641
1652
  var { throwIfAborted } = require_connector_utils();
1653
+ var { storedMetadata, readStoredMetadata } = require_access_fields();
1642
1654
  var API_VERSION = "2026-07";
1643
1655
  var CONTROL_PLANE = "https://api.pinecone.io";
1644
1656
  var DEFAULT_NAMESPACE = "rag_documents";
@@ -1669,16 +1681,18 @@ var require_pinecone_retriever = __commonJS({
1669
1681
  }
1670
1682
  function fromFields(fields, fallbackId) {
1671
1683
  const m = fields || {};
1672
- let metadata = {};
1684
+ let stored = {};
1673
1685
  try {
1674
- metadata = m.rag_metadata ? JSON.parse(m.rag_metadata) : {};
1686
+ stored = m.rag_metadata ? JSON.parse(m.rag_metadata) : {};
1675
1687
  } catch {
1676
- metadata = {};
1688
+ stored = {};
1677
1689
  }
1690
+ const { metadata, access } = readStoredMetadata(stored);
1678
1691
  return {
1679
1692
  id: m.rag_id !== void 0 ? String(m.rag_id) : fallbackId,
1680
1693
  content: m.rag_content || "",
1681
- metadata
1694
+ metadata,
1695
+ ...access
1682
1696
  };
1683
1697
  }
1684
1698
  function normalizeHost(host) {
@@ -2053,7 +2067,7 @@ var require_pinecone_retriever = __commonJS({
2053
2067
  fields: {
2054
2068
  rag_id: id,
2055
2069
  rag_content: doc.content || "",
2056
- rag_metadata: JSON.stringify(metadata),
2070
+ rag_metadata: JSON.stringify(storedMetadata(doc)),
2057
2071
  ...metadata.source !== void 0 && metadata.source !== null && {
2058
2072
  rag_source: String(metadata.source)
2059
2073
  }
@@ -2113,7 +2127,7 @@ var require_pinecone_retriever = __commonJS({
2113
2127
  [this._textField]: doc.content,
2114
2128
  rag_id: id,
2115
2129
  rag_content: doc.content,
2116
- rag_metadata: JSON.stringify(metadata),
2130
+ rag_metadata: JSON.stringify(storedMetadata(doc)),
2117
2131
  ...metadata.source !== void 0 && metadata.source !== null && {
2118
2132
  rag_source: String(metadata.source)
2119
2133
  }
@@ -2333,10 +2347,15 @@ var require_pgvector_retriever = __commonJS({
2333
2347
  "src/retrieval/pgvector-retriever.js"(exports2, module2) {
2334
2348
  "use strict";
2335
2349
  var { throwIfAborted, raceAbort } = require_connector_utils();
2350
+ var { storedMetadata, readStoredMetadata } = require_access_fields();
2336
2351
  var IDENTIFIER = /^[A-Za-z_][A-Za-z0-9_]{0,62}$/;
2337
2352
  var DEFAULT_TABLE = "rag_documents";
2338
2353
  var PG_DEFAULT_EF_SEARCH = 40;
2339
2354
  var MAX_BATCH = 1e3;
2355
+ function fromRow(row) {
2356
+ const { metadata, access } = readStoredMetadata(row.metadata || {});
2357
+ return { content: row.content, metadata, ...access };
2358
+ }
2340
2359
  function quoteTable(name) {
2341
2360
  const parts = String(name).split(".");
2342
2361
  if (parts.length > 2 || !parts.every((p) => IDENTIFIER.test(p))) {
@@ -2547,7 +2566,7 @@ var require_pgvector_retriever = __commonJS({
2547
2566
  return [
2548
2567
  id,
2549
2568
  doc.content || "",
2550
- JSON.stringify(doc.metadata || {}),
2569
+ JSON.stringify(storedMetadata(doc)),
2551
2570
  literal
2552
2571
  ];
2553
2572
  });
@@ -2603,8 +2622,7 @@ var require_pgvector_retriever = __commonJS({
2603
2622
  return rows.map((r) => ({
2604
2623
  id: r.id,
2605
2624
  score: Number(r.score),
2606
- content: r.content,
2607
- metadata: r.metadata || {}
2625
+ ...fromRow(r)
2608
2626
  }));
2609
2627
  }
2610
2628
  /**
@@ -2662,11 +2680,7 @@ var require_pgvector_retriever = __commonJS({
2662
2680
  `SELECT id, content, metadata FROM ${this.table} ORDER BY id${limit ? " LIMIT $1" : ""}`,
2663
2681
  limit ? [limit] : []
2664
2682
  );
2665
- return rows.map((r) => ({
2666
- id: r.id,
2667
- content: r.content,
2668
- metadata: r.metadata || {}
2669
- }));
2683
+ return rows.map((r) => ({ id: r.id, ...fromRow(r) }));
2670
2684
  }
2671
2685
  /** Closes the Pool this retriever created; a pool you passed in stays open. */
2672
2686
  async close() {
@@ -2687,6 +2701,7 @@ var require_weaviate_retriever = __commonJS({
2687
2701
  "use strict";
2688
2702
  var { throwIfAborted } = require_connector_utils();
2689
2703
  var { pointId } = require_qdrant_retriever();
2704
+ var { storedMetadata, readStoredMetadata } = require_access_fields();
2690
2705
  var COLLECTION = /^[A-Za-z][A-Za-z0-9_]{0,254}$/;
2691
2706
  var DEFAULT_COLLECTION = "RagDocuments";
2692
2707
  var PAGE = 256;
@@ -2733,13 +2748,16 @@ var require_weaviate_retriever = __commonJS({
2733
2748
  return url.slice(0, end);
2734
2749
  }
2735
2750
  function parseMetadata(text) {
2736
- if (!text) return {};
2751
+ let value = {};
2737
2752
  try {
2738
- const value = JSON.parse(text);
2739
- return value && typeof value === "object" ? value : {};
2753
+ value = text ? JSON.parse(text) : {};
2740
2754
  } catch {
2741
- return {};
2755
+ value = {};
2742
2756
  }
2757
+ const { metadata, access } = readStoredMetadata(
2758
+ value && typeof value === "object" ? value : {}
2759
+ );
2760
+ return { metadata, ...access };
2743
2761
  }
2744
2762
  function errorDetail(json) {
2745
2763
  const list = json && (json.error || json.errors) || [];
@@ -2962,7 +2980,7 @@ var require_weaviate_retriever = __commonJS({
2962
2980
  const properties = {
2963
2981
  rag_id: id,
2964
2982
  content: doc.content || "",
2965
- rag_metadata: JSON.stringify(metadata)
2983
+ rag_metadata: JSON.stringify(storedMetadata(doc))
2966
2984
  };
2967
2985
  if (metadata.source !== void 0 && metadata.source !== null) {
2968
2986
  properties.rag_source = String(metadata.source);
@@ -3032,7 +3050,7 @@ var require_weaviate_retriever = __commonJS({
3032
3050
  id: hit.rag_id,
3033
3051
  score: 1 - hit._additional.distance,
3034
3052
  content: hit.content || "",
3035
- metadata: parseMetadata(hit.rag_metadata)
3053
+ ...parseMetadata(hit.rag_metadata)
3036
3054
  }));
3037
3055
  }
3038
3056
  /**
@@ -3115,7 +3133,7 @@ var require_weaviate_retriever = __commonJS({
3115
3133
  out.push({
3116
3134
  id: p.rag_id,
3117
3135
  content: p.content || "",
3118
- metadata: parseMetadata(p.rag_metadata)
3136
+ ...parseMetadata(p.rag_metadata)
3119
3137
  });
3120
3138
  if (limit && out.length >= limit) return out;
3121
3139
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devilsdev/rag-connectors",
3
- "version": "3.8.0",
3
+ "version": "3.8.2",
4
4
  "description": "Embedders, LLMs and vector stores for @devilsdev/rag-core: OpenAI, Anthropic, Cohere, Ollama, the AI SDK, Qdrant, pgvector, Pinecone and Weaviate.",
5
5
  "keywords": [
6
6
  "rag",
@@ -45,7 +45,7 @@
45
45
  "access": "public"
46
46
  },
47
47
  "dependencies": {
48
- "@devilsdev/rag-core": "3.8.0",
48
+ "@devilsdev/rag-core": "3.8.2",
49
49
  "axios": "^1.21.0"
50
50
  },
51
51
  "peerDependencies": {