@soulcraft/brainy 0.40.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.
- package/README.md +605 -194
- package/dist/augmentations/conduitAugmentations.js +1158 -0
- package/dist/augmentations/conduitAugmentations.js.map +1 -0
- package/dist/augmentations/memoryAugmentations.d.ts +2 -0
- package/dist/augmentations/memoryAugmentations.d.ts.map +1 -1
- package/dist/augmentations/memoryAugmentations.js +270 -0
- package/dist/augmentations/memoryAugmentations.js.map +1 -0
- package/dist/augmentations/serverSearchAugmentations.js +531 -0
- package/dist/augmentations/serverSearchAugmentations.js.map +1 -0
- package/dist/browserFramework.d.ts +15 -0
- package/dist/demo.d.ts +106 -0
- package/dist/examples/basicUsage.js +118 -0
- package/dist/examples/basicUsage.js.map +1 -0
- package/dist/hnsw/distributedSearch.js +452 -0
- package/dist/hnsw/distributedSearch.js.map +1 -0
- package/dist/hnsw/hnswIndex.js +602 -0
- package/dist/hnsw/hnswIndex.js.map +1 -0
- package/dist/hnsw/hnswIndexOptimized.js +471 -0
- package/dist/hnsw/hnswIndexOptimized.js.map +1 -0
- package/dist/hnsw/optimizedHNSWIndex.js +313 -0
- package/dist/hnsw/optimizedHNSWIndex.js.map +1 -0
- package/dist/hnsw/partitionedHNSWIndex.js +304 -0
- package/dist/hnsw/partitionedHNSWIndex.js.map +1 -0
- package/dist/hnsw/scaledHNSWSystem.js +559 -0
- package/dist/hnsw/scaledHNSWSystem.js.map +1 -0
- package/dist/index.d.ts +5 -3
- package/dist/index.js +81 -0
- package/dist/mcp/brainyMCPAdapter.js +142 -0
- package/dist/mcp/brainyMCPAdapter.js.map +1 -0
- package/dist/mcp/brainyMCPService.js +248 -0
- package/dist/mcp/brainyMCPService.js.map +1 -0
- package/dist/mcp/index.js +17 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/mcpAugmentationToolset.js +180 -0
- package/dist/mcp/mcpAugmentationToolset.js.map +1 -0
- package/dist/storage/adapters/baseStorageAdapter.js +349 -0
- package/dist/storage/adapters/baseStorageAdapter.js.map +1 -0
- package/dist/storage/adapters/batchS3Operations.js +287 -0
- package/dist/storage/adapters/batchS3Operations.js.map +1 -0
- package/dist/storage/adapters/fileSystemStorage.js +846 -0
- package/dist/storage/adapters/fileSystemStorage.js.map +1 -0
- package/dist/storage/adapters/memoryStorage.js +532 -0
- package/dist/storage/adapters/memoryStorage.js.map +1 -0
- package/dist/storage/adapters/opfsStorage.d.ts.map +1 -1
- package/dist/storage/adapters/opfsStorage.js +1118 -0
- package/dist/storage/adapters/opfsStorage.js.map +1 -0
- package/dist/storage/adapters/optimizedS3Search.d.ts +79 -0
- package/dist/storage/adapters/optimizedS3Search.d.ts.map +1 -0
- package/dist/storage/adapters/optimizedS3Search.js +248 -0
- package/dist/storage/adapters/optimizedS3Search.js.map +1 -0
- package/dist/storage/adapters/s3CompatibleStorage.d.ts +21 -0
- package/dist/storage/adapters/s3CompatibleStorage.d.ts.map +1 -1
- package/dist/storage/adapters/s3CompatibleStorage.js +2026 -0
- package/dist/storage/adapters/s3CompatibleStorage.js.map +1 -0
- package/dist/storage/baseStorage.d.ts +1 -0
- package/dist/storage/baseStorage.d.ts.map +1 -1
- package/dist/storage/baseStorage.js +603 -0
- package/dist/storage/baseStorage.js.map +1 -0
- package/dist/storage/cacheManager.js +1306 -0
- package/dist/storage/cacheManager.js.map +1 -0
- package/dist/storage/enhancedCacheManager.js +520 -0
- package/dist/storage/enhancedCacheManager.js.map +1 -0
- package/dist/storage/readOnlyOptimizations.js +425 -0
- package/dist/storage/readOnlyOptimizations.js.map +1 -0
- package/dist/storage/storageFactory.d.ts +0 -1
- package/dist/storage/storageFactory.d.ts.map +1 -1
- package/dist/storage/storageFactory.js +227 -0
- package/dist/storage/storageFactory.js.map +1 -0
- package/dist/types/augmentations.js +16 -0
- package/dist/types/augmentations.js.map +1 -0
- package/dist/types/brainyDataInterface.js +8 -0
- package/dist/types/brainyDataInterface.js.map +1 -0
- package/dist/types/distributedTypes.js +6 -0
- package/dist/types/distributedTypes.js.map +1 -0
- package/dist/types/fileSystemTypes.js +8 -0
- package/dist/types/fileSystemTypes.js.map +1 -0
- package/dist/types/graphTypes.js +247 -0
- package/dist/types/graphTypes.js.map +1 -0
- package/dist/types/mcpTypes.js +22 -0
- package/dist/types/mcpTypes.js.map +1 -0
- package/dist/types/paginationTypes.js +5 -0
- package/dist/types/paginationTypes.js.map +1 -0
- package/dist/types/pipelineTypes.js +7 -0
- package/dist/types/pipelineTypes.js.map +1 -0
- package/dist/types/tensorflowTypes.js +6 -0
- package/dist/types/tensorflowTypes.js.map +1 -0
- package/dist/unified.js +52 -128048
- package/dist/utils/autoConfiguration.js +341 -0
- package/dist/utils/autoConfiguration.js.map +1 -0
- package/dist/utils/cacheAutoConfig.js +261 -0
- package/dist/utils/cacheAutoConfig.js.map +1 -0
- package/dist/utils/crypto.js +45 -0
- package/dist/utils/crypto.js.map +1 -0
- package/dist/utils/distance.js +239 -0
- package/dist/utils/distance.js.map +1 -0
- package/dist/utils/embedding.d.ts.map +1 -1
- package/dist/utils/embedding.js +702 -0
- package/dist/utils/embedding.js.map +1 -0
- package/dist/utils/environment.js +75 -0
- package/dist/utils/environment.js.map +1 -0
- package/dist/utils/fieldNameTracking.js +90 -0
- package/dist/utils/fieldNameTracking.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +8 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/jsonProcessing.js +179 -0
- package/dist/utils/jsonProcessing.js.map +1 -0
- package/dist/utils/logger.d.ts +45 -92
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +129 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/operationUtils.js +126 -0
- package/dist/utils/operationUtils.js.map +1 -0
- package/dist/utils/robustModelLoader.d.ts +14 -0
- package/dist/utils/robustModelLoader.d.ts.map +1 -1
- package/dist/utils/robustModelLoader.js +537 -0
- package/dist/utils/robustModelLoader.js.map +1 -0
- package/dist/utils/searchCache.js +248 -0
- package/dist/utils/searchCache.js.map +1 -0
- package/dist/utils/statistics.js +25 -0
- package/dist/utils/statistics.js.map +1 -0
- package/dist/utils/statisticsCollector.js +224 -0
- package/dist/utils/statisticsCollector.js.map +1 -0
- package/dist/utils/textEncoding.js +309 -0
- package/dist/utils/textEncoding.js.map +1 -0
- package/dist/utils/typeUtils.js +40 -0
- package/dist/utils/typeUtils.js.map +1 -0
- package/dist/utils/version.d.ts +15 -3
- package/dist/utils/version.d.ts.map +1 -1
- package/dist/utils/version.js +24 -0
- package/dist/utils/version.js.map +1 -0
- package/dist/utils/workerUtils.js +458 -0
- package/dist/utils/workerUtils.js.map +1 -0
- package/package.json +23 -15
- package/dist/brainy.js +0 -90220
- package/dist/brainy.min.js +0 -12511
- package/dist/patched-platform-node.d.ts +0 -17
- package/dist/statistics/statisticsManager.d.ts +0 -121
- package/dist/storage/fileSystemStorage.d.ts +0 -73
- package/dist/storage/fileSystemStorage.d.ts.map +0 -1
- package/dist/storage/opfsStorage.d.ts +0 -236
- package/dist/storage/opfsStorage.d.ts.map +0 -1
- package/dist/storage/s3CompatibleStorage.d.ts +0 -157
- package/dist/storage/s3CompatibleStorage.d.ts.map +0 -1
- package/dist/testing/prettyReporter.d.ts +0 -23
- package/dist/testing/prettySummaryReporter.d.ts +0 -22
- package/dist/unified.min.js +0 -16153
- package/dist/utils/environmentDetection.d.ts +0 -47
- package/dist/utils/environmentDetection.d.ts.map +0 -1
- package/dist/utils/tensorflowUtils.d.ts +0 -17
- package/dist/utils/tensorflowUtils.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conduitAugmentations.js","sourceRoot":"","sources":["../../src/augmentations/conduitAugmentations.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,7 +47,9 @@ export declare class MemoryStorageAugmentation extends BaseMemoryAugmentation {
|
|
|
47
47
|
export declare class FileSystemStorageAugmentation extends BaseMemoryAugmentation {
|
|
48
48
|
readonly description = "Memory augmentation that stores data in the file system";
|
|
49
49
|
enabled: boolean;
|
|
50
|
+
private rootDirectory;
|
|
50
51
|
constructor(name: string, rootDirectory?: string);
|
|
52
|
+
initialize(): Promise<void>;
|
|
51
53
|
getType(): AugmentationType;
|
|
52
54
|
}
|
|
53
55
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoryAugmentations.d.ts","sourceRoot":"","sources":["../../src/augmentations/memoryAugmentations.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACvB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAC,cAAc,EAAS,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"memoryAugmentations.d.ts","sourceRoot":"","sources":["../../src/augmentations/memoryAugmentations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
import { AugmentationType } from '../types/augmentations.js';
|
|
2
|
+
import { MemoryStorage, OPFSStorage } from '../storage/storageFactory.js';
|
|
3
|
+
// FileSystemStorage will be dynamically imported when needed to avoid fs imports in browser
|
|
4
|
+
import { cosineDistance } from '../utils/distance.js';
|
|
5
|
+
/**
|
|
6
|
+
* Base class for memory augmentations that wrap a StorageAdapter
|
|
7
|
+
*/
|
|
8
|
+
class BaseMemoryAugmentation {
|
|
9
|
+
constructor(name, storage) {
|
|
10
|
+
this.description = 'Base memory augmentation';
|
|
11
|
+
this.enabled = true;
|
|
12
|
+
this.isInitialized = false;
|
|
13
|
+
this.name = name;
|
|
14
|
+
this.storage = storage;
|
|
15
|
+
}
|
|
16
|
+
async initialize() {
|
|
17
|
+
if (this.isInitialized) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
await this.storage.init();
|
|
22
|
+
this.isInitialized = true;
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
console.error(`Failed to initialize ${this.name}:`, error);
|
|
26
|
+
throw new Error(`Failed to initialize ${this.name}: ${error}`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
async shutDown() {
|
|
30
|
+
this.isInitialized = false;
|
|
31
|
+
}
|
|
32
|
+
async getStatus() {
|
|
33
|
+
return this.isInitialized ? 'active' : 'inactive';
|
|
34
|
+
}
|
|
35
|
+
async storeData(key, data, options) {
|
|
36
|
+
await this.ensureInitialized();
|
|
37
|
+
try {
|
|
38
|
+
await this.storage.saveMetadata(key, data);
|
|
39
|
+
return { success: true, data: true };
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
console.error(`Failed to store data for key ${key}:`, error);
|
|
43
|
+
return {
|
|
44
|
+
success: false,
|
|
45
|
+
data: false,
|
|
46
|
+
error: `Failed to store data: ${error}`
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async retrieveData(key, options) {
|
|
51
|
+
await this.ensureInitialized();
|
|
52
|
+
try {
|
|
53
|
+
const data = await this.storage.getMetadata(key);
|
|
54
|
+
return {
|
|
55
|
+
success: true,
|
|
56
|
+
data
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
console.error(`Failed to retrieve data for key ${key}:`, error);
|
|
61
|
+
return {
|
|
62
|
+
success: false,
|
|
63
|
+
data: null,
|
|
64
|
+
error: `Failed to retrieve data: ${error}`
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
async updateData(key, data, options) {
|
|
69
|
+
await this.ensureInitialized();
|
|
70
|
+
try {
|
|
71
|
+
await this.storage.saveMetadata(key, data);
|
|
72
|
+
return { success: true, data: true };
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
console.error(`Failed to update data for key ${key}:`, error);
|
|
76
|
+
return {
|
|
77
|
+
success: false,
|
|
78
|
+
data: false,
|
|
79
|
+
error: `Failed to update data: ${error}`
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
async deleteData(key, options) {
|
|
84
|
+
await this.ensureInitialized();
|
|
85
|
+
try {
|
|
86
|
+
// There's no direct deleteMetadata method, so we save null
|
|
87
|
+
await this.storage.saveMetadata(key, null);
|
|
88
|
+
return { success: true, data: true };
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
console.error(`Failed to delete data for key ${key}:`, error);
|
|
92
|
+
return {
|
|
93
|
+
success: false,
|
|
94
|
+
data: false,
|
|
95
|
+
error: `Failed to delete data: ${error}`
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
async listDataKeys(pattern, options) {
|
|
100
|
+
// This is a limitation of the current StorageAdapter interface
|
|
101
|
+
// It doesn't provide a way to list all metadata keys
|
|
102
|
+
// We could implement this in the future by extending the StorageAdapter interface
|
|
103
|
+
return {
|
|
104
|
+
success: false,
|
|
105
|
+
data: [],
|
|
106
|
+
error: 'listDataKeys is not supported by this storage adapter'
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Searches for data in the storage using vector similarity.
|
|
111
|
+
* Implements the findNearest functionality by calculating distances client-side.
|
|
112
|
+
* @param query The query vector or data to search for
|
|
113
|
+
* @param k Number of results to return (default: 10)
|
|
114
|
+
* @param options Optional search options
|
|
115
|
+
*/
|
|
116
|
+
async search(query, k = 10, options) {
|
|
117
|
+
await this.ensureInitialized();
|
|
118
|
+
try {
|
|
119
|
+
// Check if query is a vector
|
|
120
|
+
let queryVector;
|
|
121
|
+
if (Array.isArray(query) && query.every(item => typeof item === 'number')) {
|
|
122
|
+
queryVector = query;
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
// If query is not a vector, we can't perform vector search
|
|
126
|
+
return {
|
|
127
|
+
success: false,
|
|
128
|
+
data: [],
|
|
129
|
+
error: 'Query must be a vector (array of numbers) for vector search'
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
// Get all nodes from storage
|
|
133
|
+
const nodes = await this.storage.getAllNouns();
|
|
134
|
+
// Calculate distances and prepare results
|
|
135
|
+
const results = [];
|
|
136
|
+
for (const node of nodes) {
|
|
137
|
+
// Skip nodes that don't have a vector
|
|
138
|
+
if (!node.vector || !Array.isArray(node.vector)) {
|
|
139
|
+
continue;
|
|
140
|
+
}
|
|
141
|
+
// Get metadata for the node
|
|
142
|
+
const metadata = await this.storage.getMetadata(node.id);
|
|
143
|
+
// Calculate distance between query vector and node vector
|
|
144
|
+
const distance = cosineDistance(queryVector, node.vector);
|
|
145
|
+
// Convert distance to similarity score (1 - distance for cosine)
|
|
146
|
+
// This way higher scores are better (more similar)
|
|
147
|
+
const score = 1 - distance;
|
|
148
|
+
results.push({
|
|
149
|
+
id: node.id,
|
|
150
|
+
score,
|
|
151
|
+
data: metadata
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
// Sort results by score (descending) and take top k
|
|
155
|
+
results.sort((a, b) => b.score - a.score);
|
|
156
|
+
const topResults = results.slice(0, k);
|
|
157
|
+
return {
|
|
158
|
+
success: true,
|
|
159
|
+
data: topResults
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
catch (error) {
|
|
163
|
+
console.error(`Failed to search in storage:`, error);
|
|
164
|
+
return {
|
|
165
|
+
success: false,
|
|
166
|
+
data: [],
|
|
167
|
+
error: `Failed to search in storage: ${error}`
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
async ensureInitialized() {
|
|
172
|
+
if (!this.isInitialized) {
|
|
173
|
+
await this.initialize();
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Memory augmentation that uses in-memory storage
|
|
179
|
+
*/
|
|
180
|
+
export class MemoryStorageAugmentation extends BaseMemoryAugmentation {
|
|
181
|
+
constructor(name) {
|
|
182
|
+
super(name, new MemoryStorage());
|
|
183
|
+
this.description = 'Memory augmentation that stores data in memory';
|
|
184
|
+
this.enabled = true;
|
|
185
|
+
}
|
|
186
|
+
getType() {
|
|
187
|
+
return AugmentationType.MEMORY;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Memory augmentation that uses file system storage
|
|
192
|
+
*/
|
|
193
|
+
export class FileSystemStorageAugmentation extends BaseMemoryAugmentation {
|
|
194
|
+
constructor(name, rootDirectory) {
|
|
195
|
+
// Temporarily use MemoryStorage, will be replaced in initialize()
|
|
196
|
+
super(name, new MemoryStorage());
|
|
197
|
+
this.description = 'Memory augmentation that stores data in the file system';
|
|
198
|
+
this.enabled = true;
|
|
199
|
+
this.rootDirectory = rootDirectory || '.';
|
|
200
|
+
}
|
|
201
|
+
async initialize() {
|
|
202
|
+
try {
|
|
203
|
+
// Dynamically import FileSystemStorage
|
|
204
|
+
const { FileSystemStorage } = await import('../storage/adapters/fileSystemStorage.js');
|
|
205
|
+
this.storage = new FileSystemStorage(this.rootDirectory);
|
|
206
|
+
await super.initialize();
|
|
207
|
+
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
console.error('Failed to load FileSystemStorage:', error);
|
|
210
|
+
throw new Error(`Failed to initialize FileSystemStorage: ${error}`);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
getType() {
|
|
214
|
+
return AugmentationType.MEMORY;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Memory augmentation that uses OPFS (Origin Private File System) storage
|
|
219
|
+
*/
|
|
220
|
+
export class OPFSStorageAugmentation extends BaseMemoryAugmentation {
|
|
221
|
+
constructor(name) {
|
|
222
|
+
super(name, new OPFSStorage());
|
|
223
|
+
this.description = 'Memory augmentation that stores data in the Origin Private File System';
|
|
224
|
+
this.enabled = true;
|
|
225
|
+
}
|
|
226
|
+
getType() {
|
|
227
|
+
return AugmentationType.MEMORY;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Factory function to create the appropriate memory augmentation based on the environment
|
|
232
|
+
*/
|
|
233
|
+
export async function createMemoryAugmentation(name, options = {}) {
|
|
234
|
+
// If a specific storage type is requested, use that
|
|
235
|
+
if (options.storageType) {
|
|
236
|
+
switch (options.storageType) {
|
|
237
|
+
case 'memory':
|
|
238
|
+
return new MemoryStorageAugmentation(name);
|
|
239
|
+
case 'filesystem':
|
|
240
|
+
return new FileSystemStorageAugmentation(name, options.rootDirectory);
|
|
241
|
+
case 'opfs':
|
|
242
|
+
return new OPFSStorageAugmentation(name);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
// Otherwise, select based on environment
|
|
246
|
+
// Use the global isNode variable from the environment detection
|
|
247
|
+
const isNodeEnv = globalThis.__ENV__?.isNode || (typeof process !== 'undefined' &&
|
|
248
|
+
process.versions != null &&
|
|
249
|
+
process.versions.node != null);
|
|
250
|
+
if (isNodeEnv) {
|
|
251
|
+
// In Node.js, use FileSystemStorage
|
|
252
|
+
return new FileSystemStorageAugmentation(name, options.rootDirectory);
|
|
253
|
+
}
|
|
254
|
+
else {
|
|
255
|
+
// In browser, try OPFS first
|
|
256
|
+
const opfsStorage = new OPFSStorage();
|
|
257
|
+
if (opfsStorage.isOPFSAvailable()) {
|
|
258
|
+
// Request persistent storage if specified
|
|
259
|
+
if (options.requestPersistentStorage) {
|
|
260
|
+
await opfsStorage.requestPersistentStorage();
|
|
261
|
+
}
|
|
262
|
+
return new OPFSStorageAugmentation(name);
|
|
263
|
+
}
|
|
264
|
+
else {
|
|
265
|
+
// Fall back to memory storage
|
|
266
|
+
return new MemoryStorageAugmentation(name);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
//# sourceMappingURL=memoryAugmentations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memoryAugmentations.js","sourceRoot":"","sources":["../../src/augmentations/memoryAugmentations.ts"],"names":[],"mappings":"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"}
|