@soulcraft/brainy 0.47.0 → 0.49.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 (52) hide show
  1. package/README.md +268 -554
  2. package/dist/brainyData.d.ts +83 -2
  3. package/dist/brainyData.js +536 -66
  4. package/dist/brainyData.js.map +1 -1
  5. package/dist/coreTypes.d.ts +74 -12
  6. package/dist/distributed/configManager.d.ts +9 -0
  7. package/dist/distributed/configManager.js +129 -10
  8. package/dist/distributed/configManager.js.map +1 -1
  9. package/dist/hnsw/hnswIndex.d.ts +2 -2
  10. package/dist/hnsw/hnswIndex.js +48 -29
  11. package/dist/hnsw/hnswIndex.js.map +1 -1
  12. package/dist/hnsw/optimizedHNSWIndex.d.ts +1 -1
  13. package/dist/hnsw/optimizedHNSWIndex.js +3 -3
  14. package/dist/hnsw/optimizedHNSWIndex.js.map +1 -1
  15. package/dist/storage/adapters/baseStorageAdapter.d.ts +18 -2
  16. package/dist/storage/adapters/baseStorageAdapter.js +69 -4
  17. package/dist/storage/adapters/baseStorageAdapter.js.map +1 -1
  18. package/dist/storage/adapters/fileSystemStorage.d.ts +14 -8
  19. package/dist/storage/adapters/fileSystemStorage.js +90 -22
  20. package/dist/storage/adapters/fileSystemStorage.js.map +1 -1
  21. package/dist/storage/adapters/memoryStorage.d.ts +0 -8
  22. package/dist/storage/adapters/memoryStorage.js +26 -45
  23. package/dist/storage/adapters/memoryStorage.js.map +1 -1
  24. package/dist/storage/adapters/opfsStorage.d.ts +40 -8
  25. package/dist/storage/adapters/opfsStorage.js +195 -44
  26. package/dist/storage/adapters/opfsStorage.js.map +1 -1
  27. package/dist/storage/adapters/optimizedS3Search.js +4 -3
  28. package/dist/storage/adapters/optimizedS3Search.js.map +1 -1
  29. package/dist/storage/adapters/s3CompatibleStorage.d.ts +3 -10
  30. package/dist/storage/adapters/s3CompatibleStorage.js +41 -44
  31. package/dist/storage/adapters/s3CompatibleStorage.js.map +1 -1
  32. package/dist/storage/backwardCompatibility.d.ts +84 -0
  33. package/dist/storage/backwardCompatibility.js +141 -0
  34. package/dist/storage/backwardCompatibility.js.map +1 -0
  35. package/dist/storage/baseStorage.d.ts +33 -19
  36. package/dist/storage/baseStorage.js +116 -195
  37. package/dist/storage/baseStorage.js.map +1 -1
  38. package/dist/utils/distance.d.ts +4 -4
  39. package/dist/utils/distance.js +4 -4
  40. package/dist/utils/embedding.d.ts +10 -0
  41. package/dist/utils/embedding.js +81 -9
  42. package/dist/utils/embedding.js.map +1 -1
  43. package/dist/utils/metadataFilter.d.ts +79 -0
  44. package/dist/utils/metadataFilter.js +229 -0
  45. package/dist/utils/metadataFilter.js.map +1 -0
  46. package/dist/utils/metadataIndex.d.ts +148 -0
  47. package/dist/utils/metadataIndex.js +639 -0
  48. package/dist/utils/metadataIndex.js.map +1 -0
  49. package/dist/utils/metadataIndexCache.d.ts +60 -0
  50. package/dist/utils/metadataIndexCache.js +119 -0
  51. package/dist/utils/metadataIndexCache.js.map +1 -0
  52. package/package.json +4 -4
@@ -63,7 +63,7 @@ export class OptimizedHNSWIndex extends HNSWIndex {
63
63
  /**
64
64
  * Optimized search with dynamic parameter adjustment
65
65
  */
66
- async search(queryVector, k = 10) {
66
+ async search(queryVector, k = 10, filter) {
67
67
  const startTime = Date.now();
68
68
  // Adjust efSearch dynamically based on k and performance history
69
69
  if (this.optimizedConfig.adaptiveEfSearch) {
@@ -85,11 +85,11 @@ export class OptimizedHNSWIndex extends HNSWIndex {
85
85
  try {
86
86
  // This is a simplified approach - in practice, we'd need to modify
87
87
  // the parent class to accept runtime parameter changes
88
- results = await super.search(queryVector, k);
88
+ results = await super.search(queryVector, k, filter);
89
89
  }
90
90
  catch (error) {
91
91
  console.error('Optimized search failed, falling back to default:', error);
92
- results = await super.search(queryVector, k);
92
+ results = await super.search(queryVector, k, filter);
93
93
  }
94
94
  // Record performance metrics
95
95
  const searchTime = Date.now() - startTime;
@@ -1 +1 @@
1
- {"version":3,"file":"optimizedHNSWIndex.js","sourceRoot":"","sources":["../../src/hnsw/optimizedHNSWIndex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"optimizedHNSWIndex.js","sourceRoot":"","sources":["../../src/hnsw/optimizedHNSWIndex.ts"],"names":[],"mappings":"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"}
@@ -10,12 +10,10 @@ export declare abstract class BaseStorageAdapter implements StorageAdapter {
10
10
  abstract init(): Promise<void>;
11
11
  abstract saveNoun(noun: any): Promise<void>;
12
12
  abstract getNoun(id: string): Promise<any | null>;
13
- abstract getAllNouns(): Promise<any[]>;
14
13
  abstract getNounsByNounType(nounType: string): Promise<any[]>;
15
14
  abstract deleteNoun(id: string): Promise<void>;
16
15
  abstract saveVerb(verb: any): Promise<void>;
17
16
  abstract getVerb(id: string): Promise<any | null>;
18
- abstract getAllVerbs(): Promise<any[]>;
19
17
  abstract getVerbsBySource(sourceId: string): Promise<any[]>;
20
18
  abstract getVerbsByTarget(targetId: string): Promise<any[]>;
21
19
  abstract getVerbsByType(type: string): Promise<any[]>;
@@ -31,6 +29,18 @@ export declare abstract class BaseStorageAdapter implements StorageAdapter {
31
29
  quota: number | null;
32
30
  details?: Record<string, any>;
33
31
  }>;
32
+ /**
33
+ * Get all nouns from storage
34
+ * @returns Promise that resolves to an array of all nouns
35
+ * @deprecated This method loads all data into memory and may cause performance issues. Use getNouns() with pagination instead.
36
+ */
37
+ abstract getAllNouns(): Promise<any[]>;
38
+ /**
39
+ * Get all verbs from storage
40
+ * @returns Promise that resolves to an array of all HNSWVerbs
41
+ * @deprecated This method loads all data into memory and may cause performance issues. Use getVerbs() with pagination instead.
42
+ */
43
+ abstract getAllVerbs(): Promise<any[]>;
34
44
  /**
35
45
  * Get nouns with pagination and filtering
36
46
  * @param options Pagination and filtering options
@@ -110,6 +120,12 @@ export declare abstract class BaseStorageAdapter implements StorageAdapter {
110
120
  * @param amount The amount to increment by (default: 1)
111
121
  */
112
122
  incrementStatistic(type: 'noun' | 'verb' | 'metadata', service: string, amount?: number): Promise<void>;
123
+ /**
124
+ * Track service activity (first/last activity, operation counts)
125
+ * @param service The service name
126
+ * @param operation The operation type
127
+ */
128
+ protected trackServiceActivity(service: string, operation: 'add' | 'update' | 'delete'): void;
113
129
  /**
114
130
  * Decrement a statistic counter
115
131
  * @param type The type of statistic to decrement ('noun', 'verb', 'metadata')
@@ -32,7 +32,15 @@ export class BaseStorageAdapter {
32
32
  verbCount: { ...statistics.verbCount },
33
33
  metadataCount: { ...statistics.metadataCount },
34
34
  hnswIndexSize: statistics.hnswIndexSize,
35
- lastUpdated: statistics.lastUpdated
35
+ lastUpdated: statistics.lastUpdated,
36
+ // Include serviceActivity if present
37
+ ...(statistics.serviceActivity && {
38
+ serviceActivity: Object.fromEntries(Object.entries(statistics.serviceActivity).map(([k, v]) => [k, { ...v }]))
39
+ }),
40
+ // Include services if present
41
+ ...(statistics.services && {
42
+ services: statistics.services.map(s => ({ ...s }))
43
+ })
36
44
  };
37
45
  // Schedule a batch update instead of saving immediately
38
46
  this.scheduleBatchUpdate();
@@ -137,7 +145,15 @@ export class BaseStorageAdapter {
137
145
  verbCount: { ...statistics.verbCount },
138
146
  metadataCount: { ...statistics.metadataCount },
139
147
  hnswIndexSize: statistics.hnswIndexSize,
140
- lastUpdated: statistics.lastUpdated
148
+ lastUpdated: statistics.lastUpdated,
149
+ // Include serviceActivity if present
150
+ ...(statistics.serviceActivity && {
151
+ serviceActivity: Object.fromEntries(Object.entries(statistics.serviceActivity).map(([k, v]) => [k, { ...v }]))
152
+ }),
153
+ // Include services if present
154
+ ...(statistics.services && {
155
+ services: statistics.services.map(s => ({ ...s }))
156
+ })
141
157
  };
142
158
  }
143
159
  // Increment the appropriate counter
@@ -148,11 +164,42 @@ export class BaseStorageAdapter {
148
164
  };
149
165
  const counter = counterMap[type];
150
166
  counter[service] = (counter[service] || 0) + amount;
167
+ // Track service activity
168
+ this.trackServiceActivity(service, 'add');
151
169
  // Update timestamp
152
170
  this.statisticsCache.lastUpdated = new Date().toISOString();
153
171
  // Schedule a batch update instead of saving immediately
154
172
  this.scheduleBatchUpdate();
155
173
  }
174
+ /**
175
+ * Track service activity (first/last activity, operation counts)
176
+ * @param service The service name
177
+ * @param operation The operation type
178
+ */
179
+ trackServiceActivity(service, operation) {
180
+ if (!this.statisticsCache) {
181
+ return;
182
+ }
183
+ // Initialize serviceActivity if it doesn't exist
184
+ if (!this.statisticsCache.serviceActivity) {
185
+ this.statisticsCache.serviceActivity = {};
186
+ }
187
+ const now = new Date().toISOString();
188
+ const activity = this.statisticsCache.serviceActivity[service];
189
+ if (!activity) {
190
+ // First activity for this service
191
+ this.statisticsCache.serviceActivity[service] = {
192
+ firstActivity: now,
193
+ lastActivity: now,
194
+ totalOperations: 1
195
+ };
196
+ }
197
+ else {
198
+ // Update existing activity
199
+ activity.lastActivity = now;
200
+ activity.totalOperations++;
201
+ }
202
+ }
156
203
  /**
157
204
  * Decrement a statistic counter
158
205
  * @param type The type of statistic to decrement ('noun', 'verb', 'metadata')
@@ -173,7 +220,15 @@ export class BaseStorageAdapter {
173
220
  verbCount: { ...statistics.verbCount },
174
221
  metadataCount: { ...statistics.metadataCount },
175
222
  hnswIndexSize: statistics.hnswIndexSize,
176
- lastUpdated: statistics.lastUpdated
223
+ lastUpdated: statistics.lastUpdated,
224
+ // Include serviceActivity if present
225
+ ...(statistics.serviceActivity && {
226
+ serviceActivity: Object.fromEntries(Object.entries(statistics.serviceActivity).map(([k, v]) => [k, { ...v }]))
227
+ }),
228
+ // Include services if present
229
+ ...(statistics.services && {
230
+ services: statistics.services.map(s => ({ ...s }))
231
+ })
177
232
  };
178
233
  }
179
234
  // Decrement the appropriate counter
@@ -184,6 +239,8 @@ export class BaseStorageAdapter {
184
239
  };
185
240
  const counter = counterMap[type];
186
241
  counter[service] = Math.max(0, (counter[service] || 0) - amount);
242
+ // Track service activity
243
+ this.trackServiceActivity(service, 'delete');
187
244
  // Update timestamp
188
245
  this.statisticsCache.lastUpdated = new Date().toISOString();
189
246
  // Schedule a batch update instead of saving immediately
@@ -207,7 +264,15 @@ export class BaseStorageAdapter {
207
264
  verbCount: { ...statistics.verbCount },
208
265
  metadataCount: { ...statistics.metadataCount },
209
266
  hnswIndexSize: statistics.hnswIndexSize,
210
- lastUpdated: statistics.lastUpdated
267
+ lastUpdated: statistics.lastUpdated,
268
+ // Include serviceActivity if present
269
+ ...(statistics.serviceActivity && {
270
+ serviceActivity: Object.fromEntries(Object.entries(statistics.serviceActivity).map(([k, v]) => [k, { ...v }]))
271
+ }),
272
+ // Include services if present
273
+ ...(statistics.services && {
274
+ services: statistics.services.map(s => ({ ...s }))
275
+ })
211
276
  };
212
277
  }
213
278
  // Update HNSW index size
@@ -1 +1 @@
1
- {"version":3,"file":"baseStorageAdapter.js","sourceRoot":"","sources":["../../../src/storage/adapters/baseStorageAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseStorageAdapter.js","sourceRoot":"","sources":["../../../src/storage/adapters/baseStorageAdapter.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,9 @@ export declare class FileSystemStorage extends BaseStorage {
18
18
  private nounMetadataDir;
19
19
  private verbMetadataDir;
20
20
  private indexDir;
21
+ private systemDir;
21
22
  private lockDir;
23
+ private useDualWrite;
22
24
  private activeLocks;
23
25
  /**
24
26
  * Initialize the storage adapter
@@ -29,6 +31,10 @@ export declare class FileSystemStorage extends BaseStorage {
29
31
  * Initialize the storage adapter
30
32
  */
31
33
  init(): Promise<void>;
34
+ /**
35
+ * Check if a directory exists
36
+ */
37
+ private directoryExists;
32
38
  /**
33
39
  * Ensure a directory exists, creating it if necessary
34
40
  */
@@ -131,10 +137,6 @@ export declare class FileSystemStorage extends BaseStorage {
131
137
  * Get a noun from storage
132
138
  */
133
139
  protected getNoun_internal(id: string): Promise<HNSWNoun | null>;
134
- /**
135
- * Get all nouns from storage
136
- */
137
- protected getAllNouns_internal(): Promise<HNSWNoun[]>;
138
140
  /**
139
141
  * Get nouns by noun type
140
142
  */
@@ -151,10 +153,6 @@ export declare class FileSystemStorage extends BaseStorage {
151
153
  * Get a verb from storage
152
154
  */
153
155
  protected getVerb_internal(id: string): Promise<HNSWVerb | null>;
154
- /**
155
- * Get all verbs from storage
156
- */
157
- protected getAllVerbs_internal(): Promise<HNSWVerb[]>;
158
156
  /**
159
157
  * Get verbs by source
160
158
  */
@@ -197,5 +195,13 @@ export declare class FileSystemStorage extends BaseStorage {
197
195
  * Get statistics data from storage
198
196
  */
199
197
  protected getStatisticsData(): Promise<StatisticsData | null>;
198
+ /**
199
+ * Save statistics with backward compatibility (dual write)
200
+ */
201
+ private saveStatisticsWithBackwardCompat;
202
+ /**
203
+ * Get statistics with backward compatibility (dual read)
204
+ */
205
+ private getStatisticsWithBackwardCompat;
200
206
  }
201
207
  export {};
@@ -2,7 +2,8 @@
2
2
  * File System Storage Adapter
3
3
  * File system storage adapter for Node.js environments
4
4
  */
5
- import { BaseStorage, NOUNS_DIR, VERBS_DIR, METADATA_DIR, NOUN_METADATA_DIR, VERB_METADATA_DIR, INDEX_DIR, STATISTICS_KEY } from '../baseStorage.js';
5
+ import { BaseStorage, NOUNS_DIR, VERBS_DIR, METADATA_DIR, NOUN_METADATA_DIR, VERB_METADATA_DIR, INDEX_DIR, SYSTEM_DIR, STATISTICS_KEY } from '../baseStorage.js';
6
+ import { StorageCompatibilityLayer } from '../backwardCompatibility.js';
6
7
  // Node.js modules - dynamically imported to avoid issues in browser environments
7
8
  let fs;
8
9
  let path;
@@ -36,6 +37,7 @@ export class FileSystemStorage extends BaseStorage {
36
37
  */
37
38
  constructor(rootDirectory) {
38
39
  super();
40
+ this.useDualWrite = true; // Write to both locations during migration
39
41
  this.activeLocks = new Set();
40
42
  this.rootDir = rootDirectory;
41
43
  // Defer path operations until init() when path module is guaranteed to be loaded
@@ -67,7 +69,8 @@ export class FileSystemStorage extends BaseStorage {
67
69
  this.metadataDir = path.join(this.rootDir, METADATA_DIR);
68
70
  this.nounMetadataDir = path.join(this.rootDir, NOUN_METADATA_DIR);
69
71
  this.verbMetadataDir = path.join(this.rootDir, VERB_METADATA_DIR);
70
- this.indexDir = path.join(this.rootDir, INDEX_DIR);
72
+ this.indexDir = path.join(this.rootDir, INDEX_DIR); // Legacy
73
+ this.systemDir = path.join(this.rootDir, SYSTEM_DIR); // New
71
74
  this.lockDir = path.join(this.rootDir, 'locks');
72
75
  // Create the root directory if it doesn't exist
73
76
  await this.ensureDirectoryExists(this.rootDir);
@@ -81,8 +84,12 @@ export class FileSystemStorage extends BaseStorage {
81
84
  await this.ensureDirectoryExists(this.nounMetadataDir);
82
85
  // Create the verb metadata directory if it doesn't exist
83
86
  await this.ensureDirectoryExists(this.verbMetadataDir);
84
- // Create the index directory if it doesn't exist
85
- await this.ensureDirectoryExists(this.indexDir);
87
+ // Create both directories for backward compatibility
88
+ await this.ensureDirectoryExists(this.systemDir);
89
+ // Only create legacy directory if it exists (don't create new legacy dirs)
90
+ if (await this.directoryExists(this.indexDir)) {
91
+ await this.ensureDirectoryExists(this.indexDir);
92
+ }
86
93
  // Create the locks directory if it doesn't exist
87
94
  await this.ensureDirectoryExists(this.lockDir);
88
95
  this.isInitialized = true;
@@ -92,6 +99,18 @@ export class FileSystemStorage extends BaseStorage {
92
99
  throw error;
93
100
  }
94
101
  }
102
+ /**
103
+ * Check if a directory exists
104
+ */
105
+ async directoryExists(dirPath) {
106
+ try {
107
+ const stats = await fs.promises.stat(dirPath);
108
+ return stats.isDirectory();
109
+ }
110
+ catch (error) {
111
+ return false;
112
+ }
113
+ }
95
114
  /**
96
115
  * Ensure a directory exists, creating it if necessary
97
116
  */
@@ -472,8 +491,11 @@ export class FileSystemStorage extends BaseStorage {
472
491
  await removeDirectoryContents(this.nounMetadataDir);
473
492
  // Remove all files in the verb metadata directory
474
493
  await removeDirectoryContents(this.verbMetadataDir);
475
- // Remove all files in the index directory
476
- await removeDirectoryContents(this.indexDir);
494
+ // Remove all files in both system directories
495
+ await removeDirectoryContents(this.systemDir);
496
+ if (await this.directoryExists(this.indexDir)) {
497
+ await removeDirectoryContents(this.indexDir);
498
+ }
477
499
  // Clear the statistics cache
478
500
  this.statisticsCache = null;
479
501
  this.statisticsModified = false;
@@ -600,12 +622,6 @@ export class FileSystemStorage extends BaseStorage {
600
622
  async getNoun_internal(id) {
601
623
  return this.getNode(id);
602
624
  }
603
- /**
604
- * Get all nouns from storage
605
- */
606
- async getAllNouns_internal() {
607
- return this.getAllNodes();
608
- }
609
625
  /**
610
626
  * Get nouns by noun type
611
627
  */
@@ -630,12 +646,6 @@ export class FileSystemStorage extends BaseStorage {
630
646
  async getVerb_internal(id) {
631
647
  return this.getEdge(id);
632
648
  }
633
- /**
634
- * Get all verbs from storage
635
- */
636
- async getAllVerbs_internal() {
637
- return this.getAllEdges();
638
- }
639
649
  /**
640
650
  * Get verbs by source
641
651
  */
@@ -805,7 +815,7 @@ export class FileSystemStorage extends BaseStorage {
805
815
  }
806
816
  try {
807
817
  // Get existing statistics to merge with new data
808
- const existingStats = (await this.getMetadata(STATISTICS_KEY));
818
+ const existingStats = await this.getStatisticsWithBackwardCompat();
809
819
  if (existingStats) {
810
820
  // Merge statistics data
811
821
  const mergedStats = {
@@ -819,7 +829,7 @@ export class FileSystemStorage extends BaseStorage {
819
829
  // Always update lastUpdated to current time
820
830
  lastUpdated: new Date().toISOString()
821
831
  };
822
- await this.saveMetadata(STATISTICS_KEY, mergedStats);
832
+ await this.saveStatisticsWithBackwardCompat(mergedStats);
823
833
  }
824
834
  else {
825
835
  // No existing statistics, save new ones
@@ -827,7 +837,7 @@ export class FileSystemStorage extends BaseStorage {
827
837
  ...statistics,
828
838
  lastUpdated: new Date().toISOString()
829
839
  };
830
- await this.saveMetadata(STATISTICS_KEY, newStats);
840
+ await this.saveStatisticsWithBackwardCompat(newStats);
831
841
  }
832
842
  }
833
843
  finally {
@@ -840,7 +850,65 @@ export class FileSystemStorage extends BaseStorage {
840
850
  * Get statistics data from storage
841
851
  */
842
852
  async getStatisticsData() {
843
- return this.getMetadata(STATISTICS_KEY);
853
+ return this.getStatisticsWithBackwardCompat();
854
+ }
855
+ /**
856
+ * Save statistics with backward compatibility (dual write)
857
+ */
858
+ async saveStatisticsWithBackwardCompat(statistics) {
859
+ // Always write to new location
860
+ const newPath = path.join(this.systemDir, `${STATISTICS_KEY}.json`);
861
+ await this.ensureDirectoryExists(this.systemDir);
862
+ await fs.promises.writeFile(newPath, JSON.stringify(statistics, null, 2));
863
+ // During migration period, also write to old location if it exists
864
+ if (this.useDualWrite && await this.directoryExists(this.indexDir)) {
865
+ const oldPath = path.join(this.indexDir, `${STATISTICS_KEY}.json`);
866
+ try {
867
+ await fs.promises.writeFile(oldPath, JSON.stringify(statistics, null, 2));
868
+ }
869
+ catch (error) {
870
+ // Log but don't fail if old location write fails
871
+ StorageCompatibilityLayer.logMigrationEvent('Failed to write to legacy location', { path: oldPath, error });
872
+ }
873
+ }
874
+ }
875
+ /**
876
+ * Get statistics with backward compatibility (dual read)
877
+ */
878
+ async getStatisticsWithBackwardCompat() {
879
+ let newStats = null;
880
+ let oldStats = null;
881
+ // Try to read from new location first
882
+ try {
883
+ const newPath = path.join(this.systemDir, `${STATISTICS_KEY}.json`);
884
+ const data = await fs.promises.readFile(newPath, 'utf-8');
885
+ newStats = JSON.parse(data);
886
+ }
887
+ catch (error) {
888
+ if (error.code !== 'ENOENT') {
889
+ console.error('Error reading statistics from new location:', error);
890
+ }
891
+ }
892
+ // Try to read from old location as fallback
893
+ if (!newStats && await this.directoryExists(this.indexDir)) {
894
+ try {
895
+ const oldPath = path.join(this.indexDir, `${STATISTICS_KEY}.json`);
896
+ const data = await fs.promises.readFile(oldPath, 'utf-8');
897
+ oldStats = JSON.parse(data);
898
+ // If we found data in old location but not new, migrate it
899
+ if (oldStats && !newStats) {
900
+ StorageCompatibilityLayer.logMigrationEvent('Migrating statistics from legacy location');
901
+ await this.saveStatisticsWithBackwardCompat(oldStats);
902
+ }
903
+ }
904
+ catch (error) {
905
+ if (error.code !== 'ENOENT') {
906
+ console.error('Error reading statistics from old location:', error);
907
+ }
908
+ }
909
+ }
910
+ // Merge statistics from both locations
911
+ return StorageCompatibilityLayer.mergeStatistics(newStats, oldStats);
844
912
  }
845
913
  }
846
914
  //# sourceMappingURL=fileSystemStorage.js.map