@cmdoss/memwal-sdk 0.6.1 → 0.6.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 (82) hide show
  1. package/ARCHITECTURE.md +547 -547
  2. package/BENCHMARKS.md +238 -238
  3. package/README.md +181 -181
  4. package/dist/ai-sdk/PDWVectorStore.d.ts.map +1 -1
  5. package/dist/ai-sdk/PDWVectorStore.js +4 -1
  6. package/dist/ai-sdk/PDWVectorStore.js.map +1 -1
  7. package/dist/browser.d.ts +5 -6
  8. package/dist/browser.d.ts.map +1 -1
  9. package/dist/browser.js +7 -6
  10. package/dist/browser.js.map +1 -1
  11. package/dist/client/ClientMemoryManager.d.ts +1 -0
  12. package/dist/client/ClientMemoryManager.d.ts.map +1 -1
  13. package/dist/client/ClientMemoryManager.js +5 -1
  14. package/dist/client/ClientMemoryManager.js.map +1 -1
  15. package/dist/client/PersonalDataWallet.d.ts.map +1 -1
  16. package/dist/client/SimplePDWClient.d.ts +23 -0
  17. package/dist/client/SimplePDWClient.d.ts.map +1 -1
  18. package/dist/client/SimplePDWClient.js +15 -2
  19. package/dist/client/SimplePDWClient.js.map +1 -1
  20. package/dist/client/namespaces/IndexNamespace.d.ts +38 -9
  21. package/dist/client/namespaces/IndexNamespace.d.ts.map +1 -1
  22. package/dist/client/namespaces/IndexNamespace.js +77 -10
  23. package/dist/client/namespaces/IndexNamespace.js.map +1 -1
  24. package/dist/client/namespaces/SearchNamespace.d.ts.map +1 -1
  25. package/dist/client/namespaces/SearchNamespace.js +25 -14
  26. package/dist/client/namespaces/SearchNamespace.js.map +1 -1
  27. package/dist/client/namespaces/consolidated/BlockchainNamespace.d.ts.map +1 -1
  28. package/dist/client/namespaces/consolidated/BlockchainNamespace.js +49 -1
  29. package/dist/client/namespaces/consolidated/BlockchainNamespace.js.map +1 -1
  30. package/dist/client/namespaces/consolidated/StorageNamespace.d.ts +46 -0
  31. package/dist/client/namespaces/consolidated/StorageNamespace.d.ts.map +1 -1
  32. package/dist/client/namespaces/consolidated/StorageNamespace.js +34 -0
  33. package/dist/client/namespaces/consolidated/StorageNamespace.js.map +1 -1
  34. package/dist/graph/GraphService.js +1 -1
  35. package/dist/permissions/ConsentRepository.browser.d.ts +56 -0
  36. package/dist/permissions/ConsentRepository.browser.d.ts.map +1 -0
  37. package/dist/permissions/ConsentRepository.browser.js +198 -0
  38. package/dist/permissions/ConsentRepository.browser.js.map +1 -0
  39. package/dist/services/GeminiAIService.d.ts.map +1 -1
  40. package/dist/services/GeminiAIService.js +283 -27
  41. package/dist/services/GeminiAIService.js.map +1 -1
  42. package/dist/services/MemoryIndexService.d.ts +31 -2
  43. package/dist/services/MemoryIndexService.d.ts.map +1 -1
  44. package/dist/services/MemoryIndexService.js +75 -3
  45. package/dist/services/MemoryIndexService.js.map +1 -1
  46. package/dist/services/storage/QuiltBatchManager.d.ts +10 -3
  47. package/dist/services/storage/QuiltBatchManager.d.ts.map +1 -1
  48. package/dist/services/storage/QuiltBatchManager.js +49 -27
  49. package/dist/services/storage/QuiltBatchManager.js.map +1 -1
  50. package/dist/utils/rebuildIndexNode.d.ts.map +1 -1
  51. package/dist/utils/rebuildIndexNode.js +109 -35
  52. package/dist/utils/rebuildIndexNode.js.map +1 -1
  53. package/dist/vector/NodeHnswService.d.ts.map +1 -1
  54. package/dist/vector/NodeHnswService.js +26 -7
  55. package/dist/vector/NodeHnswService.js.map +1 -1
  56. package/package.json +1 -1
  57. package/src/access/index.ts +8 -8
  58. package/src/aggregation/index.ts +8 -8
  59. package/src/ai-sdk/PDWVectorStore.ts +4 -1
  60. package/src/browser.ts +15 -10
  61. package/src/client/ClientMemoryManager.ts +6 -1
  62. package/src/client/SimplePDWClient.ts +40 -2
  63. package/src/client/namespaces/IndexNamespace.ts +89 -11
  64. package/src/client/namespaces/SearchNamespace.ts +27 -14
  65. package/src/client/namespaces/consolidated/BlockchainNamespace.ts +55 -1
  66. package/src/client/namespaces/consolidated/StorageNamespace.ts +57 -0
  67. package/src/client/signers/DappKitSigner.ts +207 -207
  68. package/src/generated/pdw/capability.ts +319 -319
  69. package/src/generated/pdw/deps/sui/object.ts +12 -12
  70. package/src/generated/pdw/deps/sui/vec_map.ts +32 -32
  71. package/src/generated/pdw/memory.ts +1087 -1087
  72. package/src/generated/pdw/wallet.ts +123 -123
  73. package/src/generated/utils/index.ts +159 -159
  74. package/src/graph/GraphService.ts +1 -1
  75. package/src/permissions/ConsentRepository.browser.ts +249 -0
  76. package/src/permissions/index.ts +9 -9
  77. package/src/services/GeminiAIService.ts +283 -27
  78. package/src/services/MemoryIndexService.ts +85 -3
  79. package/src/services/storage/QuiltBatchManager.ts +55 -29
  80. package/src/utils/rebuildIndexNode.ts +126 -43
  81. package/src/vector/NodeHnswService.ts +29 -7
  82. package/src/wallet/index.ts +17 -17
@@ -129,48 +129,122 @@ export async function rebuildIndexNode(options) {
129
129
  duration: Date.now() - startTime
130
130
  };
131
131
  }
132
- // Process each memory
132
+ // Process memories grouped by blobId (for Quilt support)
133
+ // In a Quilt, multiple memories share the same blobId
134
+ const memoriesByBlobId = new Map();
135
+ for (const memory of memories) {
136
+ const list = memoriesByBlobId.get(memory.blobId) || [];
137
+ list.push(memory);
138
+ memoriesByBlobId.set(memory.blobId, list);
139
+ }
140
+ console.log(`[rebuildIndexNode] Unique blobIds: ${memoriesByBlobId.size} (${memoriesByBlobId.size < totalMemories ? 'Quilt detected' : 'individual blobs'})`);
133
141
  let indexedCount = 0;
134
142
  let failedCount = 0;
135
- for (let i = 0; i < memories.length; i++) {
136
- const memory = memories[i];
137
- const progress = `Memory ${i + 1}/${totalMemories}`;
138
- console.log(`[rebuildIndexNode] Processing ${progress}: ${memory.blobId.substring(0, 20)}...`);
139
- onProgress?.(i + 1, totalMemories, `Processing ${progress}...`);
143
+ let processedCount = 0;
144
+ // Cache for Quilt files to avoid re-fetching
145
+ const quiltFileCache = new Map();
146
+ for (const [blobId, memoriesInBlob] of memoriesByBlobId) {
147
+ console.log(`[rebuildIndexNode] Processing blobId ${blobId.substring(0, 20)}... (${memoriesInBlob.length} memories)`);
140
148
  try {
141
- // Download content from Walrus using SDK
142
- const blobContent = await walrusClient.walrus.readBlob({ blobId: memory.blobId });
143
- // Parse JSON content
144
- const textDecoder = new TextDecoder();
145
- const jsonString = textDecoder.decode(blobContent);
146
- const memoryData = JSON.parse(jsonString);
147
- // Extract embedding
148
- const embedding = memoryData.embedding;
149
- if (!embedding || embedding.length !== 3072) {
150
- throw new Error(`Invalid embedding: length=${embedding?.length || 0}`);
149
+ // Use getBlob().files() to correctly parse Quilt structure
150
+ // For regular blob: returns [singleFile]
151
+ // For Quilt: returns [file1, file2, ...] - all files in the quilt
152
+ let files;
153
+ if (quiltFileCache.has(blobId)) {
154
+ files = quiltFileCache.get(blobId);
155
+ console.log(`[rebuildIndexNode] ♻️ Using cached files (${files.length} files)`);
156
+ }
157
+ else {
158
+ const blob = await walrusClient.walrus.getBlob({ blobId });
159
+ files = await blob.files();
160
+ quiltFileCache.set(blobId, files);
161
+ console.log(`[rebuildIndexNode] 📥 Fetched ${files.length} file(s) from Walrus`);
162
+ }
163
+ // For each memory in this blobId
164
+ for (let i = 0; i < memoriesInBlob.length; i++) {
165
+ const memory = memoriesInBlob[i];
166
+ processedCount++;
167
+ const progress = `Memory ${processedCount}/${totalMemories}`;
168
+ console.log(`[rebuildIndexNode] Processing ${progress}: vectorId=${memory.vectorId}`);
169
+ onProgress?.(processedCount, totalMemories, `Processing ${progress}...`);
170
+ try {
171
+ // Determine which file to use
172
+ // For Quilt: match by index
173
+ // For single blob: use the only file
174
+ const fileIndex = files.length === 1 ? 0 : Math.min(i, files.length - 1);
175
+ const file = files[fileIndex];
176
+ if (!file) {
177
+ throw new Error(`No file found at index ${fileIndex}`);
178
+ }
179
+ // Get file content
180
+ const rawBytes = await file.bytes();
181
+ const rawText = new TextDecoder().decode(rawBytes);
182
+ const trimmedText = rawText.trim();
183
+ // Get file identifier and tags if available (for Quilts)
184
+ const identifier = await file.getIdentifier();
185
+ const tags = await file.getTags();
186
+ if (identifier) {
187
+ console.log(`[rebuildIndexNode] 📎 File identifier: ${identifier}`);
188
+ }
189
+ let content;
190
+ let embedding;
191
+ let metadata = {};
192
+ let timestamp = Date.now();
193
+ if (trimmedText.startsWith('{') && trimmedText.endsWith('}')) {
194
+ // JSON package format (correct format)
195
+ try {
196
+ const memoryData = JSON.parse(trimmedText);
197
+ content = memoryData.content;
198
+ embedding = memoryData.embedding;
199
+ metadata = memoryData.metadata || {};
200
+ timestamp = memoryData.timestamp || Date.now();
201
+ if (!embedding || embedding.length !== 3072) {
202
+ throw new Error(`Invalid embedding in JSON: length=${embedding?.length || 0}`);
203
+ }
204
+ console.log(`[rebuildIndexNode] 📦 Format: JSON package`);
205
+ }
206
+ catch (jsonError) {
207
+ throw new Error(`Invalid JSON structure: ${jsonError.message}`);
208
+ }
209
+ }
210
+ else if (trimmedText.length > 0 && !trimmedText.includes('\x00') && trimmedText.length < 10000) {
211
+ // Plain text format - cannot index without embedding
212
+ throw new Error('Plain text format detected but no embedding available - skip');
213
+ }
214
+ else {
215
+ throw new Error('Binary, encrypted, or empty content - cannot index');
216
+ }
217
+ // Add to HNSW index
218
+ await hnswService.addVector(userAddress, memory.vectorId, embedding, {
219
+ blobId: memory.blobId,
220
+ memoryObjectId: memory.id,
221
+ category: metadata.category || memory.category || tags?.['category'],
222
+ importance: metadata.importance || memory.importance || parseInt(tags?.['importance'] || '5'),
223
+ topic: metadata.topic || tags?.['topic'] || '',
224
+ timestamp,
225
+ content,
226
+ isEncrypted: false
227
+ });
228
+ indexedCount++;
229
+ console.log(`[rebuildIndexNode] ✓ Indexed: "${content.substring(0, 30)}..."`);
230
+ }
231
+ catch (error) {
232
+ failedCount++;
233
+ const errorMsg = error.message || String(error);
234
+ errors.push({ blobId: memory.blobId, error: errorMsg });
235
+ console.error(`[rebuildIndexNode] ✗ Failed: ${errorMsg}`);
236
+ }
151
237
  }
152
- // Add to HNSW index
153
- // Option A+: Store content in index for fast local retrieval (no Walrus fetch needed)
154
- // Note: Only for unencrypted content. If content was encrypted, it won't be parseable anyway.
155
- await hnswService.addVector(userAddress, memory.vectorId, embedding, {
156
- blobId: memory.blobId,
157
- memoryObjectId: memory.id,
158
- category: memory.category,
159
- importance: memory.importance,
160
- topic: memoryData.metadata?.topic || '',
161
- timestamp: memoryData.timestamp,
162
- // Option A+: Store content for fast retrieval (avoids Walrus fetch on search)
163
- content: memoryData.content,
164
- isEncrypted: false // If we can parse it, it's not encrypted
165
- });
166
- indexedCount++;
167
- console.log(`[rebuildIndexNode] ✓ Indexed: ${memory.blobId.substring(0, 20)}...`);
168
238
  }
169
239
  catch (error) {
170
- failedCount++;
240
+ // Failed to fetch files for this blobId
171
241
  const errorMsg = error.message || String(error);
172
- errors.push({ blobId: memory.blobId, error: errorMsg });
173
- console.error(`[rebuildIndexNode] ✗ Failed: ${errorMsg}`);
242
+ console.error(`[rebuildIndexNode] ✗ Failed to fetch blobId: ${errorMsg}`);
243
+ for (const memory of memoriesInBlob) {
244
+ processedCount++;
245
+ failedCount++;
246
+ errors.push({ blobId: memory.blobId, error: `Failed to fetch blob: ${errorMsg}` });
247
+ }
174
248
  }
175
249
  }
176
250
  // Force save index
@@ -1 +1 @@
1
- {"version":3,"file":"rebuildIndexNode.js","sourceRoot":"","sources":["../../src/utils/rebuildIndexNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rebuildIndexNode.js","sourceRoot":"","sources":["../../src/utils/rebuildIndexNode.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeHnswService.d.ts","sourceRoot":"","sources":["../../src/vector/NodeHnswService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EAEjB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EAEhB,MAAM,gBAAgB,CAAC;AAiBxB;;GAEG;AACH,qBAAa,eAAgB,YAAW,YAAY;IAClD,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;IACjE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IACzD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAqB;IACnD,OAAO,CAAC,cAAc,CAAC,CAAiC;IACxD,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,YAAY,CAA2D;IAE/E;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,UAAU,CAKhB;gBAEU,MAAM,GAAE,iBAAsB;IAmB1C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAYnB,aAAa;IA8B3B,aAAa,IAAI,OAAO;IAIxB,OAAO,CAAC,mBAAmB;YAMb,qBAAqB;IAYnC,OAAO,CAAC,YAAY;IAKpB;;;OAGG;YACW,YAAY;IAsB1B;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUpD,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0CpD,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC;IAsBV,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,qBAAqB,EAAE,CAAC;IA6C7B,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxE,aAAa,IAAI,eAAe;IAI1B,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC9C,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoD7C,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiEhD,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBrD;;;OAGG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAsF/D;;;OAGG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuF3E;;OAEG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKnD;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B,OAAO,IAAI,IAAI;CAUhB"}
1
+ {"version":3,"file":"NodeHnswService.d.ts","sourceRoot":"","sources":["../../src/vector/NodeHnswService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EAEjB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EAEhB,MAAM,gBAAgB,CAAC;AAiBxB;;GAEG;AACH,qBAAa,eAAgB,YAAW,YAAY;IAClD,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;IACjE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IACzD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAqB;IACnD,OAAO,CAAC,cAAc,CAAC,CAAiC;IACxD,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,YAAY,CAA2D;IAE/E;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,UAAU,CAKhB;gBAEU,MAAM,GAAE,iBAAsB;IAmB1C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAYnB,aAAa;IA8B3B,aAAa,IAAI,OAAO;IAIxB,OAAO,CAAC,mBAAmB;YAMb,qBAAqB;IAYnC,OAAO,CAAC,YAAY;IAKpB;;;OAGG;YACW,YAAY;IAsB1B;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUpD,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0CpD,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC;IAyBV,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,qBAAqB,EAAE,CAAC;IA6C7B,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxE,aAAa,IAAI,eAAe;IAI1B,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC9C,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgE7C,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiEhD,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBrD;;;OAGG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAsF/D;;;OAGG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuF3E;;OAEG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKnD;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B,OAAO,IAAI,IAAI;CAUhB"}
@@ -185,6 +185,7 @@ export class NodeHnswService {
185
185
  console.log(`[NodeHnswService] Created new index for ${userAddress}`);
186
186
  }
187
187
  async addVector(userAddress, vectorId, vector, metadata) {
188
+ console.log(`[NodeHnswService] addVector: userAddress=${userAddress.slice(0, 10)}..., vectorId=${vectorId}, dims=${vector.length}`);
188
189
  await this.getOrCreateIndex(userAddress);
189
190
  const entry = this.indexCache.get(userAddress);
190
191
  if (!entry) {
@@ -197,8 +198,10 @@ export class NodeHnswService {
197
198
  }
198
199
  entry.isDirty = true;
199
200
  this.batchStats.pendingJobs++;
201
+ console.log(`[NodeHnswService] addVector: Added to pending batch. Pending: ${entry.pendingVectors.size}, isDirty: ${entry.isDirty}`);
200
202
  // Flush if batch is large enough
201
203
  if (entry.pendingVectors.size >= 50) {
204
+ console.log(`[NodeHnswService] addVector: Batch size >= 50, auto-flushing...`);
202
205
  await this.flushBatch(userAddress);
203
206
  }
204
207
  }
@@ -261,8 +264,11 @@ export class NodeHnswService {
261
264
  }
262
265
  async flushBatch(userAddress) {
263
266
  const entry = this.indexCache.get(userAddress);
264
- if (!entry || entry.pendingVectors.size === 0)
267
+ if (!entry || entry.pendingVectors.size === 0) {
268
+ console.log(`[NodeHnswService] flushBatch: No pending vectors for ${userAddress.slice(0, 10)}..., skipping`);
265
269
  return;
270
+ }
271
+ console.log(`[NodeHnswService] flushBatch: Flushing ${entry.pendingVectors.size} vectors for ${userAddress.slice(0, 10)}...`);
266
272
  const startTime = Date.now();
267
273
  let processed = 0;
268
274
  try {
@@ -270,6 +276,7 @@ export class NodeHnswService {
270
276
  entry.index.addPoint(vector, vectorId);
271
277
  processed++;
272
278
  }
279
+ console.log(`[NodeHnswService] flushBatch: Added ${processed} points to index`);
273
280
  entry.pendingVectors.clear();
274
281
  entry.isDirty = true;
275
282
  entry.version++;
@@ -280,21 +287,27 @@ export class NodeHnswService {
280
287
  this.batchStats.averageProcessingTime =
281
288
  (this.batchStats.averageProcessingTime + processingTime) / 2;
282
289
  // Auto-save
290
+ console.log(`[NodeHnswService] flushBatch: Calling saveIndex()...`);
283
291
  await this.saveIndex(userAddress);
292
+ console.log(`[NodeHnswService] flushBatch: Complete in ${processingTime}ms`);
284
293
  }
285
294
  catch (error) {
286
295
  this.batchStats.failedJobs++;
287
- console.error('[NodeHnswService] Flush batch error:', error);
296
+ console.error('[NodeHnswService] flushBatch error:', error);
288
297
  throw error;
289
298
  }
290
299
  }
291
300
  async saveIndex(userAddress) {
292
301
  const entry = this.indexCache.get(userAddress);
293
- if (!entry)
302
+ if (!entry) {
303
+ console.log(`[NodeHnswService] saveIndex: No cache entry for ${userAddress}, skipping`);
294
304
  return;
305
+ }
295
306
  try {
296
307
  const indexPath = this.getIndexPath(userAddress);
308
+ console.log(`[NodeHnswService] saveIndex: Writing to ${indexPath}`);
297
309
  entry.index.writeIndex(indexPath);
310
+ console.log(`[NodeHnswService] saveIndex: writeIndex() complete`);
298
311
  // Save metadata separately
299
312
  const fs = await import('fs/promises');
300
313
  const metadataPath = indexPath + '.meta.json';
@@ -302,19 +315,25 @@ export class NodeHnswService {
302
315
  for (const [k, v] of entry.metadata) {
303
316
  metadataObj[k] = v;
304
317
  }
305
- // Preserve existing walrus blob ID if present
306
- const existingMeta = {};
318
+ // Preserve existing metadata and merge with in-memory metadata
319
+ // This prevents data loss when cache is cleared between requests
320
+ let existingMeta = {};
307
321
  try {
308
322
  const existingContent = await fs.readFile(metadataPath, 'utf-8');
309
- Object.assign(existingMeta, JSON.parse(existingContent));
323
+ existingMeta = JSON.parse(existingContent);
310
324
  }
311
325
  catch {
312
326
  // No existing metadata file
313
327
  }
328
+ // Merge: existing metadata + in-memory metadata (in-memory takes priority for same keys)
329
+ const mergedMetadata = {
330
+ ...(existingMeta.metadata || {}),
331
+ ...metadataObj
332
+ };
314
333
  await fs.writeFile(metadataPath, JSON.stringify({
315
334
  version: entry.version,
316
335
  dimensions: entry.dimensions,
317
- metadata: metadataObj,
336
+ metadata: mergedMetadata,
318
337
  walrusBlobId: existingMeta.walrusBlobId,
319
338
  walrusSyncTime: existingMeta.walrusSyncTime
320
339
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"NodeHnswService.js","sourceRoot":"","sources":["../../src/vector/NodeHnswService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeHnswService.js","sourceRoot":"","sources":["../../src/vector/NodeHnswService.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cmdoss/memwal-sdk",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
4
4
  "description": "TypeScript SDK for Personal Data Wallet - Decentralized memory system with AI embeddings, HNSW vector search, SEAL encryption and Walrus storage",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,8 +1,8 @@
1
- /**
2
- * Access Control Module
3
- *
4
- * OAuth-style permission management for cross-app data access.
5
- */
6
-
7
- export { PermissionService } from './PermissionService';
8
- export type { PermissionServiceConfig } from './PermissionService';
1
+ /**
2
+ * Access Control Module
3
+ *
4
+ * OAuth-style permission management for cross-app data access.
5
+ */
6
+
7
+ export { PermissionService } from './PermissionService';
8
+ export type { PermissionServiceConfig } from './PermissionService';
@@ -1,8 +1,8 @@
1
- /**
2
- * Aggregation Module
3
- *
4
- * Cross-app data query with permission filtering.
5
- */
6
-
7
- export { AggregationService } from './AggregationService';
8
- export type { AggregationServiceConfig } from './AggregationService';
1
+ /**
2
+ * Aggregation Module
3
+ *
4
+ * Cross-app data query with permission filtering.
5
+ */
6
+
7
+ export { AggregationService } from './AggregationService';
8
+ export type { AggregationServiceConfig } from './AggregationService';
@@ -27,7 +27,8 @@
27
27
 
28
28
  import { SuiClient, getFullnodeUrl } from '@mysten/sui/client';
29
29
  import { StorageService } from '../services/StorageService';
30
- import { createHnswService, isBrowser, isNode } from '../vector/createHnswService';
30
+ // Import environment detection from browser-safe file (no Node.js deps)
31
+ import { isBrowser, isNode } from '../vector/IHnswService';
31
32
  import type { IHnswService } from '../vector/IHnswService';
32
33
  import { GraphService } from '../graph/GraphService';
33
34
  import { EmbeddingService } from '../services/EmbeddingService';
@@ -146,8 +147,10 @@ export class PDWVectorStore {
146
147
  console.log('🚀 Initializing PDW Vector Store...');
147
148
 
148
149
  // Initialize HNSW service using factory (auto-detects environment)
150
+ // Dynamic import to avoid webpack bundling Node.js modules at build time
149
151
  const distanceMetric = this.config.distanceMetric === 'euclidean' ? 'l2' : (this.config.distanceMetric || 'cosine');
150
152
 
153
+ const { createHnswService } = await import('../vector/createHnswService');
151
154
  this.vectorServicePromise = createHnswService({
152
155
  indexConfig: {
153
156
  dimension: this.config.dimensions,
package/src/browser.ts CHANGED
@@ -32,9 +32,10 @@ export { EncryptionService } from './infrastructure/seal';
32
32
  export * from './core/interfaces';
33
33
 
34
34
  // ==================== UTILITIES (Browser-safe) ====================
35
- // Note: createHnswService excluded - imports hnswlib-node which requires fs
36
- export { VectorManager, isBrowser, isNode } from './vector';
37
- export type { IHnswService, IHnswSearchResultItem, IHnswSearchOptions, IHnswBatchStats } from './vector';
35
+ // Note: VectorManager excluded - depends on createHnswService which imports hnswlib-node
36
+ // Import directly from specific files to avoid loading Node.js dependencies
37
+ export { isBrowser, isNode } from './vector/IHnswService';
38
+ export type { IHnswService, IHnswSearchResultItem, IHnswSearchOptions, IHnswBatchStats } from './vector/IHnswService';
38
39
  export { BrowserHnswIndexService } from './vector/BrowserHnswIndexService';
39
40
  export { BatchManager, BatchingService, MemoryProcessingCache } from './batch';
40
41
  export { GraphService, KnowledgeGraphManager } from './graph';
@@ -65,10 +66,11 @@ export type {
65
66
  EmbeddingConfig
66
67
  } from './embedding/types';
67
68
 
69
+ // Import from embedding/types directly to avoid loading vector/index.ts
68
70
  export type {
69
71
  VectorSearchResult,
70
72
  HNSWIndexConfig
71
- } from './vector';
73
+ } from './embedding/types';
72
74
 
73
75
  export type {
74
76
  CacheConfig,
@@ -108,8 +110,11 @@ export const SDK_VERSION = '1.0.0';
108
110
  export const SDK_NAME = 'Personal Data Wallet SDK (Browser)';
109
111
 
110
112
  // Client-side memory management (without React)
111
- export { ClientMemoryManager } from './client/ClientMemoryManager';
113
+ // NOTE: ClientMemoryManager excluded from browser entry - it uses createHnswService
114
+ // which imports Node.js modules. Use SimplePDWClient for browser apps instead.
115
+ // export { ClientMemoryManager } from './client/ClientMemoryManager';
112
116
  export { PersonalDataWallet } from './client/PersonalDataWallet';
117
+ // Types can still be exported (no runtime code)
113
118
  export type {
114
119
  ClientMemoryManagerConfig,
115
120
  CreateMemoryOptions as ClientCreateMemoryOptions,
@@ -125,13 +130,13 @@ export { MainWalletService } from './wallet/MainWalletService';
125
130
  /** @deprecated Use ContextNamespace instead */
126
131
  export { ContextWalletService } from './wallet/ContextWalletService';
127
132
  export { PermissionService } from './access/PermissionService';
128
- export type { ConsentRepository } from './permissions/ConsentRepository';
129
- // Note: Only browser-safe consent repositories exported (InMemory and IndexedDB)
130
- // FileSystemConsentRepository is excluded - requires fs/promises
133
+ // Import from browser-safe file to avoid loading FileSystemConsentRepository with fs/promises
134
+ export type { ConsentRepository } from './permissions/ConsentRepository.browser';
131
135
  export {
132
136
  InMemoryConsentRepository,
133
- IndexedDBConsentRepository
134
- } from './permissions/ConsentRepository';
137
+ IndexedDBConsentRepository,
138
+ createBrowserConsentRepository
139
+ } from './permissions/ConsentRepository.browser';
135
140
  export { AggregationService } from './aggregation/AggregationService';
136
141
  export type {
137
142
  MainWallet,
@@ -39,7 +39,8 @@ import { WalrusClient } from '@mysten/walrus';
39
39
  import { Transaction } from '@mysten/sui/transactions';
40
40
  import { fromHex } from '@mysten/sui/utils';
41
41
  import type { SuiClient } from '@mysten/sui/client';
42
- import { createHnswService, isBrowser, isNode } from '../vector/createHnswService';
42
+ // Import environment detection from browser-safe file (no Node.js deps)
43
+ import { isBrowser, isNode } from '../vector/IHnswService';
43
44
  import type { IHnswService } from '../vector/IHnswService';
44
45
  import { EmbeddingService } from '../services/EmbeddingService';
45
46
  import { GeminiAIService } from '../services/GeminiAIService';
@@ -183,9 +184,13 @@ export class ClientMemoryManager {
183
184
 
184
185
  /**
185
186
  * Initialize HNSW service using factory (async)
187
+ * Uses dynamic import to avoid bundling Node.js modules in browser
186
188
  */
187
189
  private async initializeHnswService(): Promise<IHnswService> {
188
190
  try {
191
+ // Dynamic import to avoid webpack bundling Node.js modules at build time
192
+ const { createHnswService } = await import('../vector/createHnswService');
193
+
189
194
  const service = await createHnswService({
190
195
  indexConfig: {
191
196
  dimension: 3072,