@soulcraft/brainy 0.41.0 → 0.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/README.md +605 -194
  2. package/dist/augmentations/conduitAugmentations.js +1158 -0
  3. package/dist/augmentations/conduitAugmentations.js.map +1 -0
  4. package/dist/augmentations/memoryAugmentations.d.ts +2 -0
  5. package/dist/augmentations/memoryAugmentations.d.ts.map +1 -1
  6. package/dist/augmentations/memoryAugmentations.js +270 -0
  7. package/dist/augmentations/memoryAugmentations.js.map +1 -0
  8. package/dist/augmentations/serverSearchAugmentations.js +531 -0
  9. package/dist/augmentations/serverSearchAugmentations.js.map +1 -0
  10. package/dist/browserFramework.d.ts +15 -0
  11. package/dist/demo.d.ts +106 -0
  12. package/dist/examples/basicUsage.js +118 -0
  13. package/dist/examples/basicUsage.js.map +1 -0
  14. package/dist/hnsw/distributedSearch.js +452 -0
  15. package/dist/hnsw/distributedSearch.js.map +1 -0
  16. package/dist/hnsw/hnswIndex.js +602 -0
  17. package/dist/hnsw/hnswIndex.js.map +1 -0
  18. package/dist/hnsw/hnswIndexOptimized.js +471 -0
  19. package/dist/hnsw/hnswIndexOptimized.js.map +1 -0
  20. package/dist/hnsw/optimizedHNSWIndex.js +313 -0
  21. package/dist/hnsw/optimizedHNSWIndex.js.map +1 -0
  22. package/dist/hnsw/partitionedHNSWIndex.js +304 -0
  23. package/dist/hnsw/partitionedHNSWIndex.js.map +1 -0
  24. package/dist/hnsw/scaledHNSWSystem.js +559 -0
  25. package/dist/hnsw/scaledHNSWSystem.js.map +1 -0
  26. package/dist/index.d.ts +3 -2
  27. package/dist/index.js +81 -0
  28. package/dist/mcp/brainyMCPAdapter.js +142 -0
  29. package/dist/mcp/brainyMCPAdapter.js.map +1 -0
  30. package/dist/mcp/brainyMCPService.js +248 -0
  31. package/dist/mcp/brainyMCPService.js.map +1 -0
  32. package/dist/mcp/index.js +17 -0
  33. package/dist/mcp/index.js.map +1 -0
  34. package/dist/mcp/mcpAugmentationToolset.js +180 -0
  35. package/dist/mcp/mcpAugmentationToolset.js.map +1 -0
  36. package/dist/storage/adapters/baseStorageAdapter.js +349 -0
  37. package/dist/storage/adapters/baseStorageAdapter.js.map +1 -0
  38. package/dist/storage/adapters/batchS3Operations.js +287 -0
  39. package/dist/storage/adapters/batchS3Operations.js.map +1 -0
  40. package/dist/storage/adapters/fileSystemStorage.js +846 -0
  41. package/dist/storage/adapters/fileSystemStorage.js.map +1 -0
  42. package/dist/storage/adapters/memoryStorage.js +532 -0
  43. package/dist/storage/adapters/memoryStorage.js.map +1 -0
  44. package/dist/storage/adapters/opfsStorage.d.ts.map +1 -1
  45. package/dist/storage/adapters/opfsStorage.js +1118 -0
  46. package/dist/storage/adapters/opfsStorage.js.map +1 -0
  47. package/dist/storage/adapters/optimizedS3Search.js +248 -0
  48. package/dist/storage/adapters/optimizedS3Search.js.map +1 -0
  49. package/dist/storage/adapters/s3CompatibleStorage.js +2026 -0
  50. package/dist/storage/adapters/s3CompatibleStorage.js.map +1 -0
  51. package/dist/storage/baseStorage.js +603 -0
  52. package/dist/storage/baseStorage.js.map +1 -0
  53. package/dist/storage/cacheManager.js +1306 -0
  54. package/dist/storage/cacheManager.js.map +1 -0
  55. package/dist/storage/enhancedCacheManager.js +520 -0
  56. package/dist/storage/enhancedCacheManager.js.map +1 -0
  57. package/dist/storage/readOnlyOptimizations.js +425 -0
  58. package/dist/storage/readOnlyOptimizations.js.map +1 -0
  59. package/dist/storage/storageFactory.d.ts +0 -1
  60. package/dist/storage/storageFactory.d.ts.map +1 -1
  61. package/dist/storage/storageFactory.js +227 -0
  62. package/dist/storage/storageFactory.js.map +1 -0
  63. package/dist/types/augmentations.js +16 -0
  64. package/dist/types/augmentations.js.map +1 -0
  65. package/dist/types/brainyDataInterface.js +8 -0
  66. package/dist/types/brainyDataInterface.js.map +1 -0
  67. package/dist/types/distributedTypes.js +6 -0
  68. package/dist/types/distributedTypes.js.map +1 -0
  69. package/dist/types/fileSystemTypes.js +8 -0
  70. package/dist/types/fileSystemTypes.js.map +1 -0
  71. package/dist/types/graphTypes.js +247 -0
  72. package/dist/types/graphTypes.js.map +1 -0
  73. package/dist/types/mcpTypes.js +22 -0
  74. package/dist/types/mcpTypes.js.map +1 -0
  75. package/dist/types/paginationTypes.js +5 -0
  76. package/dist/types/paginationTypes.js.map +1 -0
  77. package/dist/types/pipelineTypes.js +7 -0
  78. package/dist/types/pipelineTypes.js.map +1 -0
  79. package/dist/types/tensorflowTypes.js +6 -0
  80. package/dist/types/tensorflowTypes.js.map +1 -0
  81. package/dist/unified.js +52 -128251
  82. package/dist/utils/autoConfiguration.js +341 -0
  83. package/dist/utils/autoConfiguration.js.map +1 -0
  84. package/dist/utils/cacheAutoConfig.js +261 -0
  85. package/dist/utils/cacheAutoConfig.js.map +1 -0
  86. package/dist/utils/crypto.js +45 -0
  87. package/dist/utils/crypto.js.map +1 -0
  88. package/dist/utils/distance.js +239 -0
  89. package/dist/utils/distance.js.map +1 -0
  90. package/dist/utils/embedding.d.ts.map +1 -1
  91. package/dist/utils/embedding.js +702 -0
  92. package/dist/utils/embedding.js.map +1 -0
  93. package/dist/utils/environment.js +75 -0
  94. package/dist/utils/environment.js.map +1 -0
  95. package/dist/utils/fieldNameTracking.js +90 -0
  96. package/dist/utils/fieldNameTracking.js.map +1 -0
  97. package/dist/utils/index.d.ts +1 -0
  98. package/dist/utils/index.d.ts.map +1 -1
  99. package/dist/utils/index.js +8 -0
  100. package/dist/utils/index.js.map +1 -0
  101. package/dist/utils/jsonProcessing.js +179 -0
  102. package/dist/utils/jsonProcessing.js.map +1 -0
  103. package/dist/utils/logger.js +129 -0
  104. package/dist/utils/logger.js.map +1 -0
  105. package/dist/utils/operationUtils.js +126 -0
  106. package/dist/utils/operationUtils.js.map +1 -0
  107. package/dist/utils/robustModelLoader.d.ts +14 -0
  108. package/dist/utils/robustModelLoader.d.ts.map +1 -1
  109. package/dist/utils/robustModelLoader.js +537 -0
  110. package/dist/utils/robustModelLoader.js.map +1 -0
  111. package/dist/utils/searchCache.js +248 -0
  112. package/dist/utils/searchCache.js.map +1 -0
  113. package/dist/utils/statistics.js +25 -0
  114. package/dist/utils/statistics.js.map +1 -0
  115. package/dist/utils/statisticsCollector.js +224 -0
  116. package/dist/utils/statisticsCollector.js.map +1 -0
  117. package/dist/utils/textEncoding.js +309 -0
  118. package/dist/utils/textEncoding.js.map +1 -0
  119. package/dist/utils/typeUtils.js +40 -0
  120. package/dist/utils/typeUtils.js.map +1 -0
  121. package/dist/utils/version.d.ts +15 -3
  122. package/dist/utils/version.d.ts.map +1 -1
  123. package/dist/utils/version.js +24 -0
  124. package/dist/utils/version.js.map +1 -0
  125. package/dist/utils/workerUtils.js +458 -0
  126. package/dist/utils/workerUtils.js.map +1 -0
  127. package/package.json +23 -18
  128. package/dist/brainy.js +0 -90220
  129. package/dist/brainy.min.js +0 -12511
  130. package/dist/patched-platform-node.d.ts +0 -17
  131. package/dist/statistics/statisticsManager.d.ts +0 -121
  132. package/dist/storage/fileSystemStorage.d.ts +0 -73
  133. package/dist/storage/fileSystemStorage.d.ts.map +0 -1
  134. package/dist/storage/opfsStorage.d.ts +0 -236
  135. package/dist/storage/opfsStorage.d.ts.map +0 -1
  136. package/dist/storage/s3CompatibleStorage.d.ts +0 -157
  137. package/dist/storage/s3CompatibleStorage.d.ts.map +0 -1
  138. package/dist/testing/prettyReporter.d.ts +0 -23
  139. package/dist/testing/prettySummaryReporter.d.ts +0 -22
  140. package/dist/unified.min.js +0 -16153
  141. package/dist/utils/environmentDetection.d.ts +0 -47
  142. package/dist/utils/environmentDetection.d.ts.map +0 -1
  143. package/dist/utils/tensorflowUtils.d.ts +0 -17
  144. package/dist/utils/tensorflowUtils.d.ts.map +0 -1
@@ -0,0 +1,425 @@
1
+ /**
2
+ * Read-Only Storage Optimizations for Production Deployments
3
+ * Implements compression, memory-mapping, and pre-built index segments
4
+ */
5
+ // Compression types supported
6
+ var CompressionType;
7
+ (function (CompressionType) {
8
+ CompressionType["NONE"] = "none";
9
+ CompressionType["GZIP"] = "gzip";
10
+ CompressionType["BROTLI"] = "brotli";
11
+ CompressionType["QUANTIZATION"] = "quantization";
12
+ CompressionType["HYBRID"] = "hybrid";
13
+ })(CompressionType || (CompressionType = {}));
14
+ // Vector quantization methods
15
+ var QuantizationType;
16
+ (function (QuantizationType) {
17
+ QuantizationType["SCALAR"] = "scalar";
18
+ QuantizationType["PRODUCT"] = "product";
19
+ QuantizationType["BINARY"] = "binary"; // Binary quantization
20
+ })(QuantizationType || (QuantizationType = {}));
21
+ /**
22
+ * Read-only storage optimizations for high-performance production deployments
23
+ */
24
+ export class ReadOnlyOptimizations {
25
+ constructor(config = {}) {
26
+ this.segments = new Map();
27
+ this.compressionStats = {
28
+ originalSize: 0,
29
+ compressedSize: 0,
30
+ compressionRatio: 0,
31
+ decompressionTime: 0
32
+ };
33
+ // Quantization codebooks for vector compression
34
+ this.quantizationCodebooks = new Map();
35
+ // Memory-mapped buffers for large datasets
36
+ this.memoryMappedBuffers = new Map();
37
+ this.config = {
38
+ prebuiltIndexPath: '',
39
+ memoryMapped: true,
40
+ compression: {
41
+ vectorCompression: CompressionType.QUANTIZATION,
42
+ metadataCompression: CompressionType.GZIP,
43
+ quantizationType: QuantizationType.SCALAR,
44
+ quantizationBits: 8,
45
+ compressionLevel: 6
46
+ },
47
+ segmentSize: 10000, // 10k nodes per segment
48
+ prefetchSegments: 3,
49
+ cacheIndexInMemory: false,
50
+ ...config
51
+ };
52
+ if (config.compression) {
53
+ this.config.compression = { ...this.config.compression, ...config.compression };
54
+ }
55
+ }
56
+ /**
57
+ * Compress vector data using specified compression method
58
+ */
59
+ async compressVector(vector, segmentId) {
60
+ const startTime = Date.now();
61
+ let compressedData;
62
+ switch (this.config.compression.vectorCompression) {
63
+ case CompressionType.QUANTIZATION:
64
+ compressedData = await this.quantizeVector(vector, segmentId);
65
+ break;
66
+ case CompressionType.GZIP:
67
+ const gzipBuffer = new Float32Array(vector).buffer;
68
+ compressedData = await this.gzipCompress(gzipBuffer.slice(0));
69
+ break;
70
+ case CompressionType.BROTLI:
71
+ const brotliBuffer = new Float32Array(vector).buffer;
72
+ compressedData = await this.brotliCompress(brotliBuffer.slice(0));
73
+ break;
74
+ case CompressionType.HYBRID:
75
+ // First quantize, then compress
76
+ const quantized = await this.quantizeVector(vector, segmentId);
77
+ compressedData = await this.gzipCompress(quantized);
78
+ break;
79
+ default:
80
+ const defaultBuffer = new Float32Array(vector).buffer;
81
+ compressedData = defaultBuffer.slice(0);
82
+ break;
83
+ }
84
+ // Update compression statistics
85
+ const originalSize = vector.length * 4; // 4 bytes per float32
86
+ this.compressionStats.originalSize += originalSize;
87
+ this.compressionStats.compressedSize += compressedData.byteLength;
88
+ this.compressionStats.decompressionTime += Date.now() - startTime;
89
+ this.updateCompressionRatio();
90
+ return compressedData;
91
+ }
92
+ /**
93
+ * Decompress vector data
94
+ */
95
+ async decompressVector(compressedData, segmentId, originalDimension) {
96
+ switch (this.config.compression.vectorCompression) {
97
+ case CompressionType.QUANTIZATION:
98
+ return this.dequantizeVector(compressedData, segmentId, originalDimension);
99
+ case CompressionType.GZIP:
100
+ const gzipDecompressed = await this.gzipDecompress(compressedData);
101
+ return Array.from(new Float32Array(gzipDecompressed));
102
+ case CompressionType.BROTLI:
103
+ const brotliDecompressed = await this.brotliDecompress(compressedData);
104
+ return Array.from(new Float32Array(brotliDecompressed));
105
+ case CompressionType.HYBRID:
106
+ const gzipStage = await this.gzipDecompress(compressedData);
107
+ return this.dequantizeVector(gzipStage, segmentId, originalDimension);
108
+ default:
109
+ return Array.from(new Float32Array(compressedData));
110
+ }
111
+ }
112
+ /**
113
+ * Scalar quantization of vectors to 8-bit integers
114
+ */
115
+ async quantizeVector(vector, segmentId) {
116
+ let codebook = this.quantizationCodebooks.get(segmentId);
117
+ if (!codebook) {
118
+ // Create codebook (min/max values for scaling)
119
+ const min = Math.min(...vector);
120
+ const max = Math.max(...vector);
121
+ codebook = new Float32Array([min, max]);
122
+ this.quantizationCodebooks.set(segmentId, codebook);
123
+ }
124
+ const [min, max] = codebook;
125
+ const scale = (max - min) / 255; // 8-bit quantization
126
+ const quantized = new Uint8Array(vector.length);
127
+ for (let i = 0; i < vector.length; i++) {
128
+ quantized[i] = Math.round((vector[i] - min) / scale);
129
+ }
130
+ // Store codebook with quantized data
131
+ const result = new ArrayBuffer(quantized.byteLength + codebook.byteLength);
132
+ const resultView = new Uint8Array(result);
133
+ // First 8 bytes: codebook (min, max as float32)
134
+ resultView.set(new Uint8Array(codebook.buffer), 0);
135
+ // Remaining bytes: quantized vector
136
+ resultView.set(quantized, codebook.byteLength);
137
+ return result;
138
+ }
139
+ /**
140
+ * Dequantize 8-bit vectors back to float32
141
+ */
142
+ dequantizeVector(quantizedData, segmentId, dimension) {
143
+ const dataView = new Uint8Array(quantizedData);
144
+ // Extract codebook (first 8 bytes)
145
+ const codebookBytes = dataView.slice(0, 8);
146
+ const codebook = new Float32Array(codebookBytes.buffer);
147
+ const [min, max] = codebook;
148
+ // Extract quantized vector
149
+ const quantized = dataView.slice(8);
150
+ const scale = (max - min) / 255;
151
+ const result = [];
152
+ for (let i = 0; i < dimension; i++) {
153
+ result[i] = min + quantized[i] * scale;
154
+ }
155
+ return result;
156
+ }
157
+ /**
158
+ * GZIP compression using browser/Node.js APIs
159
+ */
160
+ async gzipCompress(data) {
161
+ if (typeof CompressionStream !== 'undefined') {
162
+ // Browser environment
163
+ const stream = new CompressionStream('gzip');
164
+ const writer = stream.writable.getWriter();
165
+ const reader = stream.readable.getReader();
166
+ writer.write(new Uint8Array(data));
167
+ writer.close();
168
+ const chunks = [];
169
+ let result = await reader.read();
170
+ while (!result.done) {
171
+ chunks.push(result.value);
172
+ result = await reader.read();
173
+ }
174
+ // Combine chunks
175
+ const totalLength = chunks.reduce((sum, chunk) => sum + chunk.length, 0);
176
+ const combined = new Uint8Array(totalLength);
177
+ let offset = 0;
178
+ for (const chunk of chunks) {
179
+ combined.set(chunk, offset);
180
+ offset += chunk.length;
181
+ }
182
+ return combined.buffer;
183
+ }
184
+ else {
185
+ // Node.js environment - would use zlib
186
+ console.warn('GZIP compression not available, returning original data');
187
+ return data;
188
+ }
189
+ }
190
+ /**
191
+ * GZIP decompression
192
+ */
193
+ async gzipDecompress(compressedData) {
194
+ if (typeof DecompressionStream !== 'undefined') {
195
+ // Browser environment
196
+ const stream = new DecompressionStream('gzip');
197
+ const writer = stream.writable.getWriter();
198
+ const reader = stream.readable.getReader();
199
+ writer.write(new Uint8Array(compressedData));
200
+ writer.close();
201
+ const chunks = [];
202
+ let result = await reader.read();
203
+ while (!result.done) {
204
+ chunks.push(result.value);
205
+ result = await reader.read();
206
+ }
207
+ // Combine chunks
208
+ const totalLength = chunks.reduce((sum, chunk) => sum + chunk.length, 0);
209
+ const combined = new Uint8Array(totalLength);
210
+ let offset = 0;
211
+ for (const chunk of chunks) {
212
+ combined.set(chunk, offset);
213
+ offset += chunk.length;
214
+ }
215
+ return combined.buffer;
216
+ }
217
+ else {
218
+ console.warn('GZIP decompression not available, returning original data');
219
+ return compressedData;
220
+ }
221
+ }
222
+ /**
223
+ * Brotli compression (placeholder - similar to GZIP)
224
+ */
225
+ async brotliCompress(data) {
226
+ // Would implement Brotli compression here
227
+ console.warn('Brotli compression not implemented, falling back to GZIP');
228
+ return this.gzipCompress(data);
229
+ }
230
+ /**
231
+ * Brotli decompression (placeholder)
232
+ */
233
+ async brotliDecompress(compressedData) {
234
+ console.warn('Brotli decompression not implemented, falling back to GZIP');
235
+ return this.gzipDecompress(compressedData);
236
+ }
237
+ /**
238
+ * Create prebuilt index segments for faster loading
239
+ */
240
+ async createPrebuiltSegments(nodes, outputPath) {
241
+ const segments = [];
242
+ const segmentSize = this.config.segmentSize;
243
+ console.log(`Creating ${Math.ceil(nodes.length / segmentSize)} prebuilt segments`);
244
+ for (let i = 0; i < nodes.length; i += segmentSize) {
245
+ const segmentNodes = nodes.slice(i, i + segmentSize);
246
+ const segmentId = `segment_${Math.floor(i / segmentSize)}`;
247
+ const segment = {
248
+ id: segmentId,
249
+ nodeCount: segmentNodes.length,
250
+ vectorDimension: segmentNodes[0]?.vector.length || 0,
251
+ compression: this.config.compression.vectorCompression,
252
+ localPath: `${outputPath}/${segmentId}.dat`,
253
+ loadedInMemory: false,
254
+ lastAccessed: 0
255
+ };
256
+ // Compress and serialize segment data
257
+ const compressedData = await this.compressSegment(segmentNodes);
258
+ // In a real implementation, you would write this to disk/S3
259
+ console.log(`Created segment ${segmentId} with ${compressedData.byteLength} bytes`);
260
+ segments.push(segment);
261
+ this.segments.set(segmentId, segment);
262
+ }
263
+ return segments;
264
+ }
265
+ /**
266
+ * Compress an entire segment of nodes
267
+ */
268
+ async compressSegment(nodes) {
269
+ const serialized = JSON.stringify(nodes.map(node => ({
270
+ id: node.id,
271
+ vector: node.vector,
272
+ connections: this.serializeConnections(node.connections)
273
+ })));
274
+ const encoder = new TextEncoder();
275
+ const data = encoder.encode(serialized);
276
+ // Apply metadata compression
277
+ switch (this.config.compression.metadataCompression) {
278
+ case CompressionType.GZIP:
279
+ return this.gzipCompress(data.buffer.slice(0));
280
+ case CompressionType.BROTLI:
281
+ return this.brotliCompress(data.buffer.slice(0));
282
+ default:
283
+ return data.buffer.slice(0);
284
+ }
285
+ }
286
+ /**
287
+ * Load a segment from storage with caching
288
+ */
289
+ async loadSegment(segmentId) {
290
+ const segment = this.segments.get(segmentId);
291
+ if (!segment) {
292
+ throw new Error(`Segment ${segmentId} not found`);
293
+ }
294
+ segment.lastAccessed = Date.now();
295
+ // Check if segment is already loaded in memory
296
+ if (segment.loadedInMemory && this.memoryMappedBuffers.has(segmentId)) {
297
+ return this.deserializeSegment(this.memoryMappedBuffers.get(segmentId));
298
+ }
299
+ // Load from storage (S3, disk, etc.)
300
+ const compressedData = await this.loadSegmentFromStorage(segment);
301
+ // Cache in memory if configured
302
+ if (this.config.cacheIndexInMemory) {
303
+ this.memoryMappedBuffers.set(segmentId, compressedData);
304
+ segment.loadedInMemory = true;
305
+ }
306
+ return this.deserializeSegment(compressedData);
307
+ }
308
+ /**
309
+ * Load segment data from storage
310
+ */
311
+ async loadSegmentFromStorage(segment) {
312
+ // This would integrate with your S3 storage adapter
313
+ // For now, return a placeholder
314
+ console.log(`Loading segment ${segment.id} from storage`);
315
+ return new ArrayBuffer(0);
316
+ }
317
+ /**
318
+ * Deserialize and decompress segment data
319
+ */
320
+ async deserializeSegment(compressedData) {
321
+ // Decompress metadata
322
+ let decompressed;
323
+ switch (this.config.compression.metadataCompression) {
324
+ case CompressionType.GZIP:
325
+ decompressed = await this.gzipDecompress(compressedData);
326
+ break;
327
+ case CompressionType.BROTLI:
328
+ decompressed = await this.brotliDecompress(compressedData);
329
+ break;
330
+ default:
331
+ decompressed = compressedData;
332
+ break;
333
+ }
334
+ // Parse JSON
335
+ const decoder = new TextDecoder();
336
+ const jsonStr = decoder.decode(decompressed);
337
+ const parsed = JSON.parse(jsonStr);
338
+ // Reconstruct HNSWNoun objects
339
+ return parsed.map((item) => ({
340
+ id: item.id,
341
+ vector: item.vector,
342
+ connections: this.deserializeConnections(item.connections)
343
+ }));
344
+ }
345
+ /**
346
+ * Serialize connections Map for storage
347
+ */
348
+ serializeConnections(connections) {
349
+ const result = {};
350
+ for (const [level, nodeIds] of connections.entries()) {
351
+ result[level.toString()] = Array.from(nodeIds);
352
+ }
353
+ return result;
354
+ }
355
+ /**
356
+ * Deserialize connections from storage format
357
+ */
358
+ deserializeConnections(serialized) {
359
+ const result = new Map();
360
+ for (const [levelStr, nodeIds] of Object.entries(serialized)) {
361
+ result.set(parseInt(levelStr), new Set(nodeIds));
362
+ }
363
+ return result;
364
+ }
365
+ /**
366
+ * Prefetch segments based on access patterns
367
+ */
368
+ async prefetchSegments(currentSegmentId) {
369
+ const segment = this.segments.get(currentSegmentId);
370
+ if (!segment)
371
+ return;
372
+ // Simple prefetching strategy - load adjacent segments
373
+ const segmentNumber = parseInt(currentSegmentId.split('_')[1]);
374
+ const toPrefetch = [];
375
+ for (let i = 1; i <= this.config.prefetchSegments; i++) {
376
+ const nextId = `segment_${segmentNumber + i}`;
377
+ const prevId = `segment_${segmentNumber - i}`;
378
+ if (this.segments.has(nextId) && !this.memoryMappedBuffers.has(nextId)) {
379
+ toPrefetch.push(nextId);
380
+ }
381
+ if (this.segments.has(prevId) && !this.memoryMappedBuffers.has(prevId)) {
382
+ toPrefetch.push(prevId);
383
+ }
384
+ }
385
+ // Prefetch in background
386
+ for (const segmentId of toPrefetch) {
387
+ this.loadSegment(segmentId).catch(error => {
388
+ console.warn(`Failed to prefetch segment ${segmentId}:`, error);
389
+ });
390
+ }
391
+ }
392
+ /**
393
+ * Update compression statistics
394
+ */
395
+ updateCompressionRatio() {
396
+ if (this.compressionStats.originalSize > 0) {
397
+ this.compressionStats.compressionRatio =
398
+ this.compressionStats.compressedSize / this.compressionStats.originalSize;
399
+ }
400
+ }
401
+ /**
402
+ * Get compression statistics
403
+ */
404
+ getCompressionStats() {
405
+ const memoryUsage = Array.from(this.memoryMappedBuffers.values())
406
+ .reduce((sum, buffer) => sum + buffer.byteLength, 0);
407
+ return {
408
+ ...this.compressionStats,
409
+ segmentCount: this.segments.size,
410
+ memoryUsage
411
+ };
412
+ }
413
+ /**
414
+ * Cleanup memory-mapped buffers
415
+ */
416
+ cleanup() {
417
+ this.memoryMappedBuffers.clear();
418
+ this.quantizationCodebooks.clear();
419
+ // Mark all segments as not loaded
420
+ for (const segment of this.segments.values()) {
421
+ segment.loadedInMemory = false;
422
+ }
423
+ }
424
+ }
425
+ //# sourceMappingURL=readOnlyOptimizations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readOnlyOptimizations.js","sourceRoot":"","sources":["../../src/storage/readOnlyOptimizations.ts"],"names":[],"mappings":"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"}
@@ -197,4 +197,3 @@ export declare function createStorage(options?: StorageOptions): Promise<Storage
197
197
  * Export storage adapters
198
198
  */
199
199
  export { MemoryStorage, OPFSStorage, S3CompatibleStorage, R2Storage };
200
- export { FileSystemStorage } from './adapters/fileSystemStorage.js';
@@ -1 +1 @@
1
- {"version":3,"file":"storageFactory.d.ts","sourceRoot":"","sources":["../../src/storage/storageFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storageFactory.d.ts","sourceRoot":"","sources":["../../src/storage/storageFactory.ts"],"names":[],"mappings":"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"}