@hazeljs/rag 0.2.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/README.md +379 -0
  2. package/dist/agentic/agentic-rag.service.d.ts +49 -0
  3. package/dist/agentic/agentic-rag.service.d.ts.map +1 -0
  4. package/dist/agentic/agentic-rag.service.js +149 -0
  5. package/dist/agentic/agentic-rag.service.js.map +1 -0
  6. package/dist/agentic/decorators/active-learning.decorator.d.ts +19 -0
  7. package/dist/agentic/decorators/active-learning.decorator.d.ts.map +1 -0
  8. package/dist/agentic/decorators/active-learning.decorator.js +98 -0
  9. package/dist/agentic/decorators/active-learning.decorator.js.map +1 -0
  10. package/dist/agentic/decorators/adaptive-retrieval.decorator.d.ts +16 -0
  11. package/dist/agentic/decorators/adaptive-retrieval.decorator.d.ts.map +1 -0
  12. package/dist/agentic/decorators/adaptive-retrieval.decorator.js +114 -0
  13. package/dist/agentic/decorators/adaptive-retrieval.decorator.js.map +1 -0
  14. package/dist/agentic/decorators/cached.decorator.d.ts +18 -0
  15. package/dist/agentic/decorators/cached.decorator.d.ts.map +1 -0
  16. package/dist/agentic/decorators/cached.decorator.js +93 -0
  17. package/dist/agentic/decorators/cached.decorator.js.map +1 -0
  18. package/dist/agentic/decorators/context-aware.decorator.d.ts +16 -0
  19. package/dist/agentic/decorators/context-aware.decorator.d.ts.map +1 -0
  20. package/dist/agentic/decorators/context-aware.decorator.js +169 -0
  21. package/dist/agentic/decorators/context-aware.decorator.js.map +1 -0
  22. package/dist/agentic/decorators/corrective-rag.decorator.d.ts +15 -0
  23. package/dist/agentic/decorators/corrective-rag.decorator.d.ts.map +1 -0
  24. package/dist/agentic/decorators/corrective-rag.decorator.js +146 -0
  25. package/dist/agentic/decorators/corrective-rag.decorator.js.map +1 -0
  26. package/dist/agentic/decorators/hyde.decorator.d.ts +14 -0
  27. package/dist/agentic/decorators/hyde.decorator.d.ts.map +1 -0
  28. package/dist/agentic/decorators/hyde.decorator.js +90 -0
  29. package/dist/agentic/decorators/hyde.decorator.js.map +1 -0
  30. package/dist/agentic/decorators/index.d.ts +16 -0
  31. package/dist/agentic/decorators/index.d.ts.map +1 -0
  32. package/dist/agentic/decorators/index.js +32 -0
  33. package/dist/agentic/decorators/index.js.map +1 -0
  34. package/dist/agentic/decorators/multi-hop.decorator.d.ts +14 -0
  35. package/dist/agentic/decorators/multi-hop.decorator.d.ts.map +1 -0
  36. package/dist/agentic/decorators/multi-hop.decorator.js +120 -0
  37. package/dist/agentic/decorators/multi-hop.decorator.js.map +1 -0
  38. package/dist/agentic/decorators/query-planner.decorator.d.ts +19 -0
  39. package/dist/agentic/decorators/query-planner.decorator.d.ts.map +1 -0
  40. package/dist/agentic/decorators/query-planner.decorator.js +227 -0
  41. package/dist/agentic/decorators/query-planner.decorator.js.map +1 -0
  42. package/dist/agentic/decorators/query-rewriter.decorator.d.ts +15 -0
  43. package/dist/agentic/decorators/query-rewriter.decorator.d.ts.map +1 -0
  44. package/dist/agentic/decorators/query-rewriter.decorator.js +140 -0
  45. package/dist/agentic/decorators/query-rewriter.decorator.js.map +1 -0
  46. package/dist/agentic/decorators/self-reflective.decorator.d.ts +18 -0
  47. package/dist/agentic/decorators/self-reflective.decorator.d.ts.map +1 -0
  48. package/dist/agentic/decorators/self-reflective.decorator.js +210 -0
  49. package/dist/agentic/decorators/self-reflective.decorator.js.map +1 -0
  50. package/dist/agentic/decorators/source-verification.decorator.d.ts +15 -0
  51. package/dist/agentic/decorators/source-verification.decorator.d.ts.map +1 -0
  52. package/dist/agentic/decorators/source-verification.decorator.js +121 -0
  53. package/dist/agentic/decorators/source-verification.decorator.js.map +1 -0
  54. package/dist/agentic/index.d.ts +9 -0
  55. package/dist/agentic/index.d.ts.map +1 -0
  56. package/dist/agentic/index.js +25 -0
  57. package/dist/agentic/index.js.map +1 -0
  58. package/dist/agentic/types.d.ts +209 -0
  59. package/dist/agentic/types.d.ts.map +1 -0
  60. package/dist/agentic/types.js +7 -0
  61. package/dist/agentic/types.js.map +1 -0
  62. package/dist/decorators/embeddable.decorator.d.ts +31 -0
  63. package/dist/decorators/embeddable.decorator.d.ts.map +1 -0
  64. package/dist/decorators/embeddable.decorator.js +44 -0
  65. package/dist/decorators/embeddable.decorator.js.map +1 -0
  66. package/dist/decorators/rag.decorator.d.ts +58 -0
  67. package/dist/decorators/rag.decorator.d.ts.map +1 -0
  68. package/dist/decorators/rag.decorator.js +78 -0
  69. package/dist/decorators/rag.decorator.js.map +1 -0
  70. package/dist/decorators/semantic-search.decorator.d.ts +69 -0
  71. package/dist/decorators/semantic-search.decorator.d.ts.map +1 -0
  72. package/dist/decorators/semantic-search.decorator.js +116 -0
  73. package/dist/decorators/semantic-search.decorator.js.map +1 -0
  74. package/dist/embeddings/cohere-embeddings.d.ts +33 -0
  75. package/dist/embeddings/cohere-embeddings.d.ts.map +1 -0
  76. package/dist/embeddings/cohere-embeddings.js +91 -0
  77. package/dist/embeddings/cohere-embeddings.js.map +1 -0
  78. package/dist/embeddings/openai-embeddings.d.ts +21 -0
  79. package/dist/embeddings/openai-embeddings.d.ts.map +1 -0
  80. package/dist/embeddings/openai-embeddings.js +53 -0
  81. package/dist/embeddings/openai-embeddings.js.map +1 -0
  82. package/dist/index.d.ts +27 -0
  83. package/dist/index.d.ts.map +1 -0
  84. package/dist/index.js +54 -0
  85. package/dist/index.js.map +1 -0
  86. package/dist/memory/index.d.ts +11 -0
  87. package/dist/memory/index.d.ts.map +1 -0
  88. package/dist/memory/index.js +31 -0
  89. package/dist/memory/index.js.map +1 -0
  90. package/dist/memory/memory-manager.d.ts +96 -0
  91. package/dist/memory/memory-manager.d.ts.map +1 -0
  92. package/dist/memory/memory-manager.js +369 -0
  93. package/dist/memory/memory-manager.js.map +1 -0
  94. package/dist/memory/memory-store.interface.d.ts +73 -0
  95. package/dist/memory/memory-store.interface.d.ts.map +1 -0
  96. package/dist/memory/memory-store.interface.js +6 -0
  97. package/dist/memory/memory-store.interface.js.map +1 -0
  98. package/dist/memory/stores/buffer-memory.d.ts +47 -0
  99. package/dist/memory/stores/buffer-memory.d.ts.map +1 -0
  100. package/dist/memory/stores/buffer-memory.js +280 -0
  101. package/dist/memory/stores/buffer-memory.js.map +1 -0
  102. package/dist/memory/stores/hybrid-memory.d.ts +49 -0
  103. package/dist/memory/stores/hybrid-memory.d.ts.map +1 -0
  104. package/dist/memory/stores/hybrid-memory.js +194 -0
  105. package/dist/memory/stores/hybrid-memory.js.map +1 -0
  106. package/dist/memory/stores/vector-memory.d.ts +48 -0
  107. package/dist/memory/stores/vector-memory.d.ts.map +1 -0
  108. package/dist/memory/stores/vector-memory.js +312 -0
  109. package/dist/memory/stores/vector-memory.js.map +1 -0
  110. package/dist/memory/types.d.ts +119 -0
  111. package/dist/memory/types.d.ts.map +1 -0
  112. package/dist/memory/types.js +18 -0
  113. package/dist/memory/types.js.map +1 -0
  114. package/dist/rag-pipeline-with-memory.d.ts +68 -0
  115. package/dist/rag-pipeline-with-memory.d.ts.map +1 -0
  116. package/dist/rag-pipeline-with-memory.js +186 -0
  117. package/dist/rag-pipeline-with-memory.js.map +1 -0
  118. package/dist/rag-pipeline.d.ts +59 -0
  119. package/dist/rag-pipeline.d.ts.map +1 -0
  120. package/dist/rag-pipeline.js +181 -0
  121. package/dist/rag-pipeline.js.map +1 -0
  122. package/dist/rag.module.d.ts +26 -0
  123. package/dist/rag.module.d.ts.map +1 -0
  124. package/dist/rag.module.js +40 -0
  125. package/dist/rag.module.js.map +1 -0
  126. package/dist/rag.service.d.ts +95 -0
  127. package/dist/rag.service.d.ts.map +1 -0
  128. package/dist/rag.service.js +174 -0
  129. package/dist/rag.service.js.map +1 -0
  130. package/dist/retrieval/bm25.d.ts +57 -0
  131. package/dist/retrieval/bm25.d.ts.map +1 -0
  132. package/dist/retrieval/bm25.js +106 -0
  133. package/dist/retrieval/bm25.js.map +1 -0
  134. package/dist/retrieval/hybrid-search.d.ts +48 -0
  135. package/dist/retrieval/hybrid-search.d.ts.map +1 -0
  136. package/dist/retrieval/hybrid-search.js +123 -0
  137. package/dist/retrieval/hybrid-search.js.map +1 -0
  138. package/dist/retrieval/multi-query.d.ts +38 -0
  139. package/dist/retrieval/multi-query.d.ts.map +1 -0
  140. package/dist/retrieval/multi-query.js +135 -0
  141. package/dist/retrieval/multi-query.js.map +1 -0
  142. package/dist/text-splitters/recursive-text-splitter.d.ts +21 -0
  143. package/dist/text-splitters/recursive-text-splitter.d.ts.map +1 -0
  144. package/dist/text-splitters/recursive-text-splitter.js +95 -0
  145. package/dist/text-splitters/recursive-text-splitter.js.map +1 -0
  146. package/dist/types/index.d.ts +144 -0
  147. package/dist/types/index.d.ts.map +1 -0
  148. package/dist/types/index.js +16 -0
  149. package/dist/types/index.js.map +1 -0
  150. package/dist/utils/similarity.d.ts +16 -0
  151. package/dist/utils/similarity.d.ts.map +1 -0
  152. package/dist/utils/similarity.js +58 -0
  153. package/dist/utils/similarity.js.map +1 -0
  154. package/dist/vector-stores/chroma.store.d.ts +42 -0
  155. package/dist/vector-stores/chroma.store.d.ts.map +1 -0
  156. package/dist/vector-stores/chroma.store.js +242 -0
  157. package/dist/vector-stores/chroma.store.js.map +1 -0
  158. package/dist/vector-stores/memory-vector-store.d.ts +20 -0
  159. package/dist/vector-stores/memory-vector-store.d.ts.map +1 -0
  160. package/dist/vector-stores/memory-vector-store.js +94 -0
  161. package/dist/vector-stores/memory-vector-store.js.map +1 -0
  162. package/dist/vector-stores/pinecone.store.d.ts +34 -0
  163. package/dist/vector-stores/pinecone.store.d.ts.map +1 -0
  164. package/dist/vector-stores/pinecone.store.js +146 -0
  165. package/dist/vector-stores/pinecone.store.js.map +1 -0
  166. package/dist/vector-stores/qdrant.store.d.ts +31 -0
  167. package/dist/vector-stores/qdrant.store.d.ts.map +1 -0
  168. package/dist/vector-stores/qdrant.store.js +173 -0
  169. package/dist/vector-stores/qdrant.store.js.map +1 -0
  170. package/dist/vector-stores/weaviate.store.d.ts +37 -0
  171. package/dist/vector-stores/weaviate.store.d.ts.map +1 -0
  172. package/dist/vector-stores/weaviate.store.js +226 -0
  173. package/dist/vector-stores/weaviate.store.js.map +1 -0
  174. package/package.json +87 -0
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+ /**
3
+ * ChromaDB Vector Store
4
+ * Lightweight, embedded vector database
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ChromaVectorStore = void 0;
8
+ class ChromaVectorStore {
9
+ constructor(embeddingProvider, config) {
10
+ this.collection = null;
11
+ this.initialized = false;
12
+ this.embeddingProvider = embeddingProvider;
13
+ this.collectionName = config.collectionName;
14
+ // Initialize ChromaDB client
15
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
16
+ const { ChromaClient } = require('chromadb');
17
+ const clientConfig = {};
18
+ if (config.url) {
19
+ clientConfig.path = config.url;
20
+ }
21
+ if (config.auth) {
22
+ clientConfig.auth = config.auth;
23
+ }
24
+ this.client = new ChromaClient(clientConfig);
25
+ }
26
+ async initialize() {
27
+ try {
28
+ // Get or create collection
29
+ this.collection = await this.client.getOrCreateCollection({
30
+ name: this.collectionName,
31
+ metadata: { 'hnsw:space': 'cosine' }, // Use cosine similarity
32
+ });
33
+ this.initialized = true;
34
+ }
35
+ catch (error) {
36
+ throw new Error(`Failed to initialize ChromaDB collection: ${error}`);
37
+ }
38
+ }
39
+ async addDocuments(documents) {
40
+ if (!this.collection) {
41
+ throw new Error('Collection not initialized');
42
+ }
43
+ const ids = [];
44
+ const embeddings = [];
45
+ const metadatas = [];
46
+ const documentsTexts = [];
47
+ // Generate embeddings for all documents
48
+ const texts = documents.map((doc) => doc.content);
49
+ const generatedEmbeddings = await this.embeddingProvider.embedBatch(texts);
50
+ for (let i = 0; i < documents.length; i++) {
51
+ const doc = documents[i];
52
+ const id = doc.id || this.generateId();
53
+ ids.push(id);
54
+ embeddings.push(generatedEmbeddings[i]);
55
+ documentsTexts.push(doc.content);
56
+ metadatas.push(doc.metadata || {});
57
+ }
58
+ // Add to ChromaDB
59
+ await this.collection.add({
60
+ ids,
61
+ embeddings,
62
+ documents: documentsTexts,
63
+ metadatas,
64
+ });
65
+ return ids;
66
+ }
67
+ async search(query, options) {
68
+ // Generate embedding for query
69
+ const queryEmbedding = await this.embeddingProvider.embed(query);
70
+ return this.searchByVector(queryEmbedding, options);
71
+ }
72
+ async searchByVector(embedding, options) {
73
+ if (!this.collection) {
74
+ throw new Error('Collection not initialized');
75
+ }
76
+ const topK = options?.topK || 5;
77
+ const minScore = options?.minScore;
78
+ const filter = options?.filter;
79
+ try {
80
+ // Build query
81
+ const queryParams = {
82
+ queryEmbeddings: [embedding],
83
+ nResults: topK,
84
+ };
85
+ // Add metadata filter if provided
86
+ if (filter) {
87
+ queryParams.where = filter;
88
+ }
89
+ const response = await this.collection.query(queryParams);
90
+ // Transform results
91
+ const results = [];
92
+ if (response.ids && response.ids[0]) {
93
+ for (let i = 0; i < response.ids[0].length; i++) {
94
+ // ChromaDB returns distances, convert to similarity scores
95
+ // For cosine distance: similarity = 1 - distance
96
+ const distance = response.distances?.[0]?.[i] || 0;
97
+ const score = 1 - distance;
98
+ // Apply minimum score filter
99
+ if (minScore && score < minScore) {
100
+ continue;
101
+ }
102
+ results.push({
103
+ id: response.ids[0][i],
104
+ content: response.documents?.[0]?.[i] || '',
105
+ metadata: response.metadatas?.[0]?.[i] || {},
106
+ score,
107
+ });
108
+ }
109
+ }
110
+ return results;
111
+ }
112
+ catch (error) {
113
+ throw new Error(`ChromaDB search failed: ${error}`);
114
+ }
115
+ }
116
+ async deleteDocuments(ids) {
117
+ if (!this.collection) {
118
+ throw new Error('Collection not initialized');
119
+ }
120
+ try {
121
+ await this.collection.delete({
122
+ ids,
123
+ });
124
+ }
125
+ catch (error) {
126
+ throw new Error(`Failed to delete documents: ${error}`);
127
+ }
128
+ }
129
+ async updateDocument(id, document) {
130
+ if (!this.collection) {
131
+ throw new Error('Collection not initialized');
132
+ }
133
+ try {
134
+ // Get existing document
135
+ const existing = await this.getDocument(id);
136
+ if (!existing) {
137
+ throw new Error(`Document with id ${id} not found`);
138
+ }
139
+ // Merge updates
140
+ const updated = { ...existing, ...document };
141
+ // Generate new embedding if content changed
142
+ let embedding = existing.embedding;
143
+ if (document.content && document.content !== existing.content) {
144
+ embedding = await this.embeddingProvider.embed(document.content);
145
+ }
146
+ // Update in ChromaDB (delete and re-add)
147
+ await this.collection.delete({ ids: [id] });
148
+ await this.collection.add({
149
+ ids: [id],
150
+ embeddings: [embedding],
151
+ documents: [updated.content],
152
+ metadatas: [updated.metadata || {}],
153
+ });
154
+ }
155
+ catch (error) {
156
+ throw new Error(`Failed to update document: ${error}`);
157
+ }
158
+ }
159
+ async getDocument(id) {
160
+ if (!this.collection) {
161
+ throw new Error('Collection not initialized');
162
+ }
163
+ try {
164
+ const response = await this.collection.get({
165
+ ids: [id],
166
+ include: ['embeddings', 'documents', 'metadatas'],
167
+ });
168
+ if (!response.ids || response.ids.length === 0) {
169
+ return null;
170
+ }
171
+ return {
172
+ id: response.ids[0],
173
+ content: response.documents?.[0] || '',
174
+ metadata: response.metadatas?.[0] || {},
175
+ embedding: response.embeddings?.[0],
176
+ };
177
+ }
178
+ catch {
179
+ return null;
180
+ }
181
+ }
182
+ async clear() {
183
+ if (!this.collection) {
184
+ throw new Error('Collection not initialized');
185
+ }
186
+ try {
187
+ // Delete the collection
188
+ await this.client.deleteCollection({ name: this.collectionName });
189
+ // Recreate it
190
+ await this.initialize();
191
+ }
192
+ catch (error) {
193
+ throw new Error(`Failed to clear vector store: ${error}`);
194
+ }
195
+ }
196
+ /**
197
+ * Get collection statistics
198
+ */
199
+ async getStats() {
200
+ if (!this.collection) {
201
+ throw new Error('Collection not initialized');
202
+ }
203
+ try {
204
+ const count = await this.collection.count();
205
+ return { count };
206
+ }
207
+ catch (error) {
208
+ throw new Error(`Failed to get stats: ${error}`);
209
+ }
210
+ }
211
+ /**
212
+ * Peek at first N documents
213
+ */
214
+ async peek(limit = 10) {
215
+ if (!this.collection) {
216
+ throw new Error('Collection not initialized');
217
+ }
218
+ try {
219
+ const response = await this.collection.peek({ limit });
220
+ const documents = [];
221
+ if (response.ids) {
222
+ for (let i = 0; i < response.ids.length; i++) {
223
+ documents.push({
224
+ id: response.ids[i],
225
+ content: response.documents?.[i] || '',
226
+ metadata: response.metadatas?.[i] || {},
227
+ embedding: response.embeddings?.[i],
228
+ });
229
+ }
230
+ }
231
+ return documents;
232
+ }
233
+ catch (error) {
234
+ throw new Error(`Failed to peek documents: ${error}`);
235
+ }
236
+ }
237
+ generateId() {
238
+ return `chroma_${Date.now()}_${Math.random().toString(36).substring(2, 15)}`;
239
+ }
240
+ }
241
+ exports.ChromaVectorStore = ChromaVectorStore;
242
+ //# sourceMappingURL=chroma.store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chroma.store.js","sourceRoot":"","sources":["../../src/vector-stores/chroma.store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * In-Memory Vector Store
3
+ * Useful for development and testing
4
+ */
5
+ import { VectorStore, Document, SearchResult, QueryOptions, EmbeddingProvider } from '../types';
6
+ export declare class MemoryVectorStore implements VectorStore {
7
+ private documents;
8
+ private embeddingProvider;
9
+ constructor(embeddingProvider: EmbeddingProvider);
10
+ initialize(): Promise<void>;
11
+ addDocuments(documents: Document[]): Promise<string[]>;
12
+ search(query: string, options?: QueryOptions): Promise<SearchResult[]>;
13
+ searchByVector(embedding: number[], options?: QueryOptions): Promise<SearchResult[]>;
14
+ deleteDocuments(ids: string[]): Promise<void>;
15
+ updateDocument(id: string, document: Partial<Document>): Promise<void>;
16
+ getDocument(id: string): Promise<Document | null>;
17
+ clear(): Promise<void>;
18
+ private generateId;
19
+ }
20
+ //# sourceMappingURL=memory-vector-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-vector-store.d.ts","sourceRoot":"","sources":["../../src/vector-stores/memory-vector-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGhG,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,iBAAiB,CAAoB;gBAEjC,iBAAiB,EAAE,iBAAiB;IAI1C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAwBtD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAK1E,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAwCxF,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7C,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBtE,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAIjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,OAAO,CAAC,UAAU;CAGnB"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ /**
3
+ * In-Memory Vector Store
4
+ * Useful for development and testing
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.MemoryVectorStore = void 0;
8
+ const similarity_1 = require("../utils/similarity");
9
+ class MemoryVectorStore {
10
+ constructor(embeddingProvider) {
11
+ this.documents = new Map();
12
+ this.embeddingProvider = embeddingProvider;
13
+ }
14
+ async initialize() {
15
+ // No initialization needed for memory store
16
+ }
17
+ async addDocuments(documents) {
18
+ const ids = [];
19
+ // Generate embeddings for documents
20
+ const texts = documents.map((doc) => doc.content);
21
+ const embeddings = await this.embeddingProvider.embedBatch(texts);
22
+ for (let i = 0; i < documents.length; i++) {
23
+ const doc = documents[i];
24
+ const id = doc.id || this.generateId();
25
+ const embedding = embeddings[i];
26
+ this.documents.set(id, {
27
+ ...doc,
28
+ id,
29
+ embedding,
30
+ });
31
+ ids.push(id);
32
+ }
33
+ return ids;
34
+ }
35
+ async search(query, options = {}) {
36
+ const queryEmbedding = await this.embeddingProvider.embed(query);
37
+ return this.searchByVector(queryEmbedding, options);
38
+ }
39
+ async searchByVector(embedding, options = {}) {
40
+ const { topK = 5, filter = {}, includeMetadata = true, includeEmbedding = false, minScore = 0, } = options;
41
+ const results = [];
42
+ for (const [id, doc] of this.documents.entries()) {
43
+ if (!doc.embedding)
44
+ continue;
45
+ // Apply metadata filters
46
+ if (Object.keys(filter).length > 0) {
47
+ const matchesFilter = Object.entries(filter).every(([key, value]) => doc.metadata?.[key] === value);
48
+ if (!matchesFilter)
49
+ continue;
50
+ }
51
+ // Calculate similarity
52
+ const score = (0, similarity_1.cosineSimilarity)(embedding, doc.embedding);
53
+ if (score >= minScore) {
54
+ results.push({
55
+ id,
56
+ content: doc.content,
57
+ metadata: includeMetadata ? doc.metadata : undefined,
58
+ embedding: includeEmbedding ? doc.embedding : undefined,
59
+ score,
60
+ });
61
+ }
62
+ }
63
+ // Sort by score descending and return top K
64
+ return results.sort((a, b) => b.score - a.score).slice(0, topK);
65
+ }
66
+ async deleteDocuments(ids) {
67
+ for (const id of ids) {
68
+ this.documents.delete(id);
69
+ }
70
+ }
71
+ async updateDocument(id, document) {
72
+ const existing = this.documents.get(id);
73
+ if (!existing) {
74
+ throw new Error(`Document with id ${id} not found`);
75
+ }
76
+ const updated = { ...existing, ...document };
77
+ // Re-generate embedding if content changed
78
+ if (document.content && document.content !== existing.content) {
79
+ updated.embedding = await this.embeddingProvider.embed(document.content);
80
+ }
81
+ this.documents.set(id, updated);
82
+ }
83
+ async getDocument(id) {
84
+ return this.documents.get(id) || null;
85
+ }
86
+ async clear() {
87
+ this.documents.clear();
88
+ }
89
+ generateId() {
90
+ return `doc_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;
91
+ }
92
+ }
93
+ exports.MemoryVectorStore = MemoryVectorStore;
94
+ //# sourceMappingURL=memory-vector-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-vector-store.js","sourceRoot":"","sources":["../../src/vector-stores/memory-vector-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Pinecone Vector Store
3
+ * Production-ready vector database integration
4
+ */
5
+ import { VectorStore, Document, SearchResult, QueryOptions } from '../types';
6
+ import { EmbeddingProvider } from '../types';
7
+ export interface PineconeConfig {
8
+ apiKey: string;
9
+ environment: string;
10
+ indexName: string;
11
+ namespace?: string;
12
+ textKey?: string;
13
+ metadataKey?: string;
14
+ }
15
+ export declare class PineconeVectorStore implements VectorStore {
16
+ private client;
17
+ private index;
18
+ private embeddingProvider;
19
+ private namespace;
20
+ private textKey;
21
+ private metadataKey;
22
+ private initialized;
23
+ constructor(embeddingProvider: EmbeddingProvider, config: PineconeConfig);
24
+ initialize(): Promise<void>;
25
+ addDocuments(documents: Document[]): Promise<string[]>;
26
+ search(query: string, options?: QueryOptions): Promise<SearchResult[]>;
27
+ searchByVector(embedding: number[], options?: QueryOptions): Promise<SearchResult[]>;
28
+ deleteDocuments(ids: string[]): Promise<void>;
29
+ updateDocument(id: string, document: Partial<Document>): Promise<void>;
30
+ getDocument(id: string): Promise<Document | null>;
31
+ clear(): Promise<void>;
32
+ private generateId;
33
+ }
34
+ //# sourceMappingURL=pinecone.store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pinecone.store.d.ts","sourceRoot":"","sources":["../../src/vector-stores/pinecone.store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAQ7C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAkB;gBAEzB,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc;IAiBlE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAW3B,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAgCtD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAOtE,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAgCpF,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BtE,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAoBjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,OAAO,CAAC,UAAU;CAGnB"}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ /**
3
+ * Pinecone Vector Store
4
+ * Production-ready vector database integration
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.PineconeVectorStore = void 0;
8
+ class PineconeVectorStore {
9
+ constructor(embeddingProvider, config) {
10
+ this.initialized = false;
11
+ this.embeddingProvider = embeddingProvider;
12
+ this.namespace = config.namespace || '';
13
+ this.textKey = config.textKey || 'text';
14
+ this.metadataKey = config.metadataKey || 'metadata';
15
+ // Initialize Pinecone client
16
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
17
+ const { Pinecone } = require('@pinecone-database/pinecone');
18
+ this.client = new Pinecone({
19
+ apiKey: config.apiKey,
20
+ environment: config.environment,
21
+ });
22
+ this.index = this.client.index(config.indexName);
23
+ }
24
+ async initialize() {
25
+ // Pinecone doesn't require explicit initialization
26
+ // but we can verify the index exists
27
+ try {
28
+ await this.index.describeIndexStats();
29
+ this.initialized = true;
30
+ }
31
+ catch (error) {
32
+ throw new Error(`Failed to initialize Pinecone index: ${error}`);
33
+ }
34
+ }
35
+ async addDocuments(documents) {
36
+ const ids = [];
37
+ // Generate embeddings for all documents
38
+ const texts = documents.map((doc) => doc.content);
39
+ const embeddings = await this.embeddingProvider.embedBatch(texts);
40
+ // Prepare vectors for upsert
41
+ const vectors = documents.map((doc, idx) => {
42
+ const id = this.generateId();
43
+ ids.push(id);
44
+ return {
45
+ id,
46
+ values: embeddings[idx],
47
+ metadata: {
48
+ [this.textKey]: doc.content,
49
+ [this.metadataKey]: doc.metadata || {},
50
+ },
51
+ };
52
+ });
53
+ // Upsert to Pinecone in batches
54
+ const batchSize = 100;
55
+ for (let i = 0; i < vectors.length; i += batchSize) {
56
+ const batch = vectors.slice(i, i + batchSize);
57
+ await this.index.namespace(this.namespace).upsert(batch);
58
+ }
59
+ return ids;
60
+ }
61
+ async search(query, options) {
62
+ // Generate embedding for query
63
+ const queryEmbedding = await this.embeddingProvider.embed(query);
64
+ return this.searchByVector(queryEmbedding, options);
65
+ }
66
+ async searchByVector(embedding, options) {
67
+ const topK = options?.topK || 5;
68
+ const minScore = options?.minScore;
69
+ const filter = options?.filter;
70
+ // Query Pinecone
71
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
72
+ const queryOptions = {
73
+ vector: embedding,
74
+ topK,
75
+ includeMetadata: true,
76
+ };
77
+ if (filter && Object.keys(filter).length > 0) {
78
+ queryOptions.filter = filter;
79
+ }
80
+ const queryResponse = await this.index.namespace(this.namespace).query(queryOptions);
81
+ // Transform results
82
+ const results = queryResponse.matches
83
+ .filter((match) => !minScore || (match.score ?? 0) >= minScore)
84
+ .map((match) => ({
85
+ id: match.id,
86
+ content: match.metadata[this.textKey],
87
+ metadata: match.metadata[this.metadataKey],
88
+ score: match.score,
89
+ }));
90
+ return results;
91
+ }
92
+ async deleteDocuments(ids) {
93
+ await this.index.namespace(this.namespace).deleteMany(ids);
94
+ }
95
+ async updateDocument(id, document) {
96
+ // Get existing document
97
+ const existing = await this.getDocument(id);
98
+ if (!existing) {
99
+ throw new Error(`Document with id ${id} not found`);
100
+ }
101
+ // Merge updates
102
+ const updated = { ...existing, ...document };
103
+ // Generate new embedding if content changed
104
+ let embedding = existing.embedding;
105
+ if (document.content && document.content !== existing.content) {
106
+ embedding = await this.embeddingProvider.embed(document.content);
107
+ }
108
+ // Upsert updated document
109
+ await this.index.namespace(this.namespace).upsert([
110
+ {
111
+ id,
112
+ values: embedding,
113
+ metadata: {
114
+ [this.textKey]: updated.content,
115
+ [this.metadataKey]: updated.metadata || {},
116
+ },
117
+ },
118
+ ]);
119
+ }
120
+ async getDocument(id) {
121
+ try {
122
+ const response = await this.index.namespace(this.namespace).fetch([id]);
123
+ const vector = response.vectors[id];
124
+ if (!vector) {
125
+ return null;
126
+ }
127
+ return {
128
+ id,
129
+ content: vector.metadata[this.textKey],
130
+ metadata: vector.metadata[this.metadataKey],
131
+ embedding: vector.values,
132
+ };
133
+ }
134
+ catch {
135
+ return null;
136
+ }
137
+ }
138
+ async clear() {
139
+ await this.index.namespace(this.namespace).deleteAll();
140
+ }
141
+ generateId() {
142
+ return `doc_${Date.now()}_${Math.random().toString(36).substring(2, 15)}`;
143
+ }
144
+ }
145
+ exports.PineconeVectorStore = PineconeVectorStore;
146
+ //# sourceMappingURL=pinecone.store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pinecone.store.js","sourceRoot":"","sources":["../../src/vector-stores/pinecone.store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Qdrant Vector Store
3
+ * High-performance Rust-based vector database integration
4
+ */
5
+ import { VectorStore, Document, SearchResult, QueryOptions } from '../types';
6
+ import { EmbeddingProvider } from '../types';
7
+ export interface QdrantConfig {
8
+ url: string;
9
+ apiKey?: string;
10
+ collectionName: string;
11
+ vectorSize?: number;
12
+ }
13
+ export declare class QdrantVectorStore implements VectorStore {
14
+ private client;
15
+ private embeddingProvider;
16
+ private collectionName;
17
+ private vectorSize;
18
+ private initialized;
19
+ constructor(embeddingProvider: EmbeddingProvider, config: QdrantConfig);
20
+ initialize(): Promise<void>;
21
+ addDocuments(documents: Document[]): Promise<string[]>;
22
+ search(query: string, options?: QueryOptions): Promise<SearchResult[]>;
23
+ searchByVector(embedding: number[], options?: QueryOptions): Promise<SearchResult[]>;
24
+ deleteDocuments(ids: string[]): Promise<void>;
25
+ updateDocument(id: string, document: Partial<Document>): Promise<void>;
26
+ getDocument(id: string): Promise<Document | null>;
27
+ clear(): Promise<void>;
28
+ private buildFilter;
29
+ private generateId;
30
+ }
31
+ //# sourceMappingURL=qdrant.store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qdrant.store.d.ts","sourceRoot":"","sources":["../../src/vector-stores/qdrant.store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAM7C,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAkB;gBAEzB,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY;IAchE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB3B,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA+BtD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAOtE,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAmCpF,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7C,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCtE,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAwBjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,UAAU;CAGnB"}