@wgtechlabs/nuvex 0.1.1 → 0.2.1-dev.e91ecac
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 +19 -5
- package/dist/.tsbuildinfo +1 -1
- package/dist/cjs/core/client.js +57 -32
- package/dist/cjs/core/client.js.map +1 -1
- package/dist/cjs/core/database.js +11 -8
- package/dist/cjs/core/database.js.map +1 -1
- package/dist/cjs/core/engine.js +112 -63
- package/dist/cjs/core/engine.js.map +1 -1
- package/dist/cjs/layers/memory.js +13 -1
- package/dist/cjs/layers/memory.js.map +1 -1
- package/dist/cjs/layers/postgres.js +222 -19
- package/dist/cjs/layers/postgres.js.map +1 -1
- package/dist/cjs/layers/redis.js +78 -12
- package/dist/cjs/layers/redis.js.map +1 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/esm/core/client.js +57 -32
- package/dist/esm/core/client.js.map +1 -1
- package/dist/esm/core/database.js +11 -8
- package/dist/esm/core/database.js.map +1 -1
- package/dist/esm/core/engine.js +113 -64
- package/dist/esm/core/engine.js.map +1 -1
- package/dist/esm/layers/memory.js +13 -1
- package/dist/esm/layers/memory.js.map +1 -1
- package/dist/esm/layers/postgres.js +223 -20
- package/dist/esm/layers/postgres.js.map +1 -1
- package/dist/esm/layers/redis.js +78 -12
- package/dist/esm/layers/redis.js.map +1 -1
- package/dist/esm/types/index.js.map +1 -1
- package/dist/types/core/client.d.ts +3 -2
- package/dist/types/core/client.d.ts.map +1 -1
- package/dist/types/core/database.d.ts +5 -1
- package/dist/types/core/database.d.ts.map +1 -1
- package/dist/types/core/engine.d.ts +7 -1
- package/dist/types/core/engine.d.ts.map +1 -1
- package/dist/types/interfaces/index.d.ts +5 -0
- package/dist/types/interfaces/index.d.ts.map +1 -1
- package/dist/types/layers/memory.d.ts +1 -0
- package/dist/types/layers/memory.d.ts.map +1 -1
- package/dist/types/layers/postgres.d.ts +37 -3
- package/dist/types/layers/postgres.d.ts.map +1 -1
- package/dist/types/layers/redis.d.ts +5 -1
- package/dist/types/layers/redis.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +22 -3
- package/dist/types/types/index.d.ts.map +1 -1
- package/package.json +11 -14
package/dist/cjs/core/engine.js
CHANGED
|
@@ -151,7 +151,9 @@ class StorageEngine {
|
|
|
151
151
|
this.connected = false;
|
|
152
152
|
this.cleanupInterval = null;
|
|
153
153
|
// Logging setup
|
|
154
|
-
this.logger = config.logging?.enabled
|
|
154
|
+
this.logger = config.logging?.enabled
|
|
155
|
+
? config.logging.logger || null
|
|
156
|
+
: null;
|
|
155
157
|
// Layer 1: Memory storage with LRU eviction
|
|
156
158
|
const maxMemorySize = config.memory?.maxSize || 10000; // 10k entries default
|
|
157
159
|
this.l1Memory = new index_js_2.MemoryStorage(maxMemorySize, this.logger);
|
|
@@ -172,7 +174,7 @@ class StorageEngine {
|
|
|
172
174
|
postgresHits: 0,
|
|
173
175
|
postgresMisses: 0,
|
|
174
176
|
totalOperations: 0,
|
|
175
|
-
averageResponseTime: 0
|
|
177
|
+
averageResponseTime: 0,
|
|
176
178
|
};
|
|
177
179
|
// Start memory cleanup interval
|
|
178
180
|
this.startMemoryCleanup();
|
|
@@ -211,7 +213,7 @@ class StorageEngine {
|
|
|
211
213
|
}
|
|
212
214
|
catch (error) {
|
|
213
215
|
this.log('warn', 'Redis L2 not available, using Memory + PostgreSQL only', {
|
|
214
|
-
error: error instanceof Error ? error.message : String(error)
|
|
216
|
+
error: error instanceof Error ? error.message : String(error),
|
|
215
217
|
});
|
|
216
218
|
this.l2Redis = null;
|
|
217
219
|
}
|
|
@@ -231,7 +233,7 @@ class StorageEngine {
|
|
|
231
233
|
const err = error;
|
|
232
234
|
this.log('error', 'Nuvex StorageEngine connection failed', {
|
|
233
235
|
error: err.message,
|
|
234
|
-
stack: err.stack
|
|
236
|
+
stack: err.stack,
|
|
235
237
|
});
|
|
236
238
|
throw error;
|
|
237
239
|
}
|
|
@@ -348,7 +350,9 @@ class StorageEngine {
|
|
|
348
350
|
// Warm both L1 and L2 caches for future access
|
|
349
351
|
await Promise.allSettled([
|
|
350
352
|
this.l1Memory.set(key, data, defaultTTL),
|
|
351
|
-
this.l2Redis
|
|
353
|
+
this.l2Redis
|
|
354
|
+
? this.l2Redis.set(key, data, defaultTTL)
|
|
355
|
+
: Promise.resolve(),
|
|
352
356
|
]);
|
|
353
357
|
this.updateResponseTime(Date.now() - startTime);
|
|
354
358
|
return data;
|
|
@@ -364,7 +368,7 @@ class StorageEngine {
|
|
|
364
368
|
error: err.message,
|
|
365
369
|
stack: err.stack,
|
|
366
370
|
operation: 'get',
|
|
367
|
-
key
|
|
371
|
+
key,
|
|
368
372
|
});
|
|
369
373
|
this.updateResponseTime(Date.now() - startTime);
|
|
370
374
|
return null;
|
|
@@ -444,7 +448,7 @@ class StorageEngine {
|
|
|
444
448
|
stack: err.stack,
|
|
445
449
|
operation: 'set',
|
|
446
450
|
key,
|
|
447
|
-
layer: 'L3'
|
|
451
|
+
layer: 'L3',
|
|
448
452
|
});
|
|
449
453
|
this.updateResponseTime(Date.now() - startTime);
|
|
450
454
|
return false; // L3 failure is critical - abort operation
|
|
@@ -453,7 +457,7 @@ class StorageEngine {
|
|
|
453
457
|
// Best-effort cache warming - tolerate cache failures using Promise.allSettled
|
|
454
458
|
await Promise.allSettled([
|
|
455
459
|
this.l1Memory.set(key, value, ttl),
|
|
456
|
-
this.l2Redis ? this.l2Redis.set(key, value, ttl) : Promise.resolve()
|
|
460
|
+
this.l2Redis ? this.l2Redis.set(key, value, ttl) : Promise.resolve(),
|
|
457
461
|
]);
|
|
458
462
|
this.updateResponseTime(Date.now() - startTime);
|
|
459
463
|
return true;
|
|
@@ -464,7 +468,7 @@ class StorageEngine {
|
|
|
464
468
|
error: err.message,
|
|
465
469
|
stack: err.stack,
|
|
466
470
|
operation: 'set',
|
|
467
|
-
key
|
|
471
|
+
key,
|
|
468
472
|
});
|
|
469
473
|
this.updateResponseTime(Date.now() - startTime);
|
|
470
474
|
return false;
|
|
@@ -511,7 +515,7 @@ class StorageEngine {
|
|
|
511
515
|
await Promise.allSettled([
|
|
512
516
|
this.l1Memory.delete(key),
|
|
513
517
|
this.l2Redis ? this.l2Redis.delete(key) : Promise.resolve(),
|
|
514
|
-
this.l3Postgres ? this.l3Postgres.delete(key) : Promise.resolve()
|
|
518
|
+
this.l3Postgres ? this.l3Postgres.delete(key) : Promise.resolve(),
|
|
515
519
|
]);
|
|
516
520
|
this.updateResponseTime(Date.now() - startTime);
|
|
517
521
|
return true;
|
|
@@ -522,7 +526,7 @@ class StorageEngine {
|
|
|
522
526
|
error: err.message,
|
|
523
527
|
stack: err.stack,
|
|
524
528
|
operation: 'delete',
|
|
525
|
-
key
|
|
529
|
+
key,
|
|
526
530
|
});
|
|
527
531
|
this.updateResponseTime(Date.now() - startTime);
|
|
528
532
|
return false;
|
|
@@ -549,11 +553,11 @@ class StorageEngine {
|
|
|
549
553
|
return true;
|
|
550
554
|
}
|
|
551
555
|
// Check L2 (Redis)
|
|
552
|
-
if (this.l2Redis && await this.l2Redis.exists(key)) {
|
|
556
|
+
if (this.l2Redis && (await this.l2Redis.exists(key))) {
|
|
553
557
|
return true;
|
|
554
558
|
}
|
|
555
559
|
// Check L3 (PostgreSQL)
|
|
556
|
-
if (this.l3Postgres && await this.l3Postgres.exists(key)) {
|
|
560
|
+
if (this.l3Postgres && (await this.l3Postgres.exists(key))) {
|
|
557
561
|
return true;
|
|
558
562
|
}
|
|
559
563
|
return false;
|
|
@@ -564,7 +568,7 @@ class StorageEngine {
|
|
|
564
568
|
error: err.message,
|
|
565
569
|
stack: err.stack,
|
|
566
570
|
operation: 'exists',
|
|
567
|
-
key
|
|
571
|
+
key,
|
|
568
572
|
});
|
|
569
573
|
return false;
|
|
570
574
|
}
|
|
@@ -591,7 +595,7 @@ class StorageEngine {
|
|
|
591
595
|
error: err.message,
|
|
592
596
|
operation: 'expire',
|
|
593
597
|
key,
|
|
594
|
-
ttl
|
|
598
|
+
ttl,
|
|
595
599
|
});
|
|
596
600
|
return false;
|
|
597
601
|
}
|
|
@@ -674,7 +678,7 @@ class StorageEngine {
|
|
|
674
678
|
delta,
|
|
675
679
|
newValue,
|
|
676
680
|
duration,
|
|
677
|
-
success: true
|
|
681
|
+
success: true,
|
|
678
682
|
});
|
|
679
683
|
return newValue;
|
|
680
684
|
}
|
|
@@ -687,7 +691,7 @@ class StorageEngine {
|
|
|
687
691
|
key,
|
|
688
692
|
delta,
|
|
689
693
|
duration,
|
|
690
|
-
success: false
|
|
694
|
+
success: false,
|
|
691
695
|
});
|
|
692
696
|
throw error;
|
|
693
697
|
}
|
|
@@ -703,7 +707,11 @@ class StorageEngine {
|
|
|
703
707
|
}));
|
|
704
708
|
return settled.map((result, index) => result.status === 'fulfilled'
|
|
705
709
|
? result.value
|
|
706
|
-
: {
|
|
710
|
+
: {
|
|
711
|
+
key: operations[index].key,
|
|
712
|
+
success: false,
|
|
713
|
+
error: result.reason.message,
|
|
714
|
+
});
|
|
707
715
|
}
|
|
708
716
|
async getBatch(keys, options = {}) {
|
|
709
717
|
const settled = await Promise.allSettled(keys.map(async (key) => {
|
|
@@ -714,7 +722,11 @@ class StorageEngine {
|
|
|
714
722
|
}));
|
|
715
723
|
return settled.map((result, index) => result.status === 'fulfilled'
|
|
716
724
|
? result.value
|
|
717
|
-
: {
|
|
725
|
+
: {
|
|
726
|
+
key: keys[index],
|
|
727
|
+
success: false,
|
|
728
|
+
error: result.reason.message,
|
|
729
|
+
});
|
|
718
730
|
}
|
|
719
731
|
async deleteBatch(keys) {
|
|
720
732
|
const settled = await Promise.allSettled(keys.map(async (key) => {
|
|
@@ -727,7 +739,11 @@ class StorageEngine {
|
|
|
727
739
|
}));
|
|
728
740
|
return settled.map((result, index) => result.status === 'fulfilled'
|
|
729
741
|
? result.value
|
|
730
|
-
: {
|
|
742
|
+
: {
|
|
743
|
+
key: keys[index],
|
|
744
|
+
success: false,
|
|
745
|
+
error: result.reason.message,
|
|
746
|
+
});
|
|
731
747
|
}
|
|
732
748
|
// Query operations
|
|
733
749
|
async query(options) {
|
|
@@ -737,14 +753,13 @@ class StorageEngine {
|
|
|
737
753
|
for (const key of keys) {
|
|
738
754
|
const value = await this.get(key);
|
|
739
755
|
if (value !== null) {
|
|
756
|
+
const layerInfo = await this.getLayerInfo(key);
|
|
740
757
|
items.push({
|
|
741
758
|
key,
|
|
742
759
|
value,
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
layer: (await this.getLayerInfo(key))?.layer || index_js_1.StorageLayer.MEMORY
|
|
747
|
-
}
|
|
760
|
+
...(layerInfo
|
|
761
|
+
? { metadata: { layer: layerInfo.layer } }
|
|
762
|
+
: {}),
|
|
748
763
|
});
|
|
749
764
|
}
|
|
750
765
|
}
|
|
@@ -754,7 +769,7 @@ class StorageEngine {
|
|
|
754
769
|
return {
|
|
755
770
|
items: paginatedItems,
|
|
756
771
|
total: items.length,
|
|
757
|
-
hasMore: (options.offset || 0) + (options.limit || items.length) < items.length
|
|
772
|
+
hasMore: (options.offset || 0) + (options.limit || items.length) < items.length,
|
|
758
773
|
};
|
|
759
774
|
}
|
|
760
775
|
/**
|
|
@@ -781,7 +796,7 @@ class StorageEngine {
|
|
|
781
796
|
}
|
|
782
797
|
catch (error) {
|
|
783
798
|
this.log('warn', 'Error collecting keys from Memory L1', {
|
|
784
|
-
error: error instanceof Error ? error.message : String(error)
|
|
799
|
+
error: error instanceof Error ? error.message : String(error),
|
|
785
800
|
});
|
|
786
801
|
}
|
|
787
802
|
}
|
|
@@ -796,7 +811,7 @@ class StorageEngine {
|
|
|
796
811
|
}
|
|
797
812
|
catch (error) {
|
|
798
813
|
this.log('warn', 'Error collecting keys from Redis L2', {
|
|
799
|
-
error: error instanceof Error ? error.message : String(error)
|
|
814
|
+
error: error instanceof Error ? error.message : String(error),
|
|
800
815
|
});
|
|
801
816
|
}
|
|
802
817
|
}
|
|
@@ -811,7 +826,7 @@ class StorageEngine {
|
|
|
811
826
|
}
|
|
812
827
|
catch (error) {
|
|
813
828
|
this.log('warn', 'Error collecting keys from PostgreSQL L3', {
|
|
814
|
-
error: error instanceof Error ? error.message : String(error)
|
|
829
|
+
error: error instanceof Error ? error.message : String(error),
|
|
815
830
|
});
|
|
816
831
|
}
|
|
817
832
|
}
|
|
@@ -832,7 +847,7 @@ class StorageEngine {
|
|
|
832
847
|
}
|
|
833
848
|
catch (error) {
|
|
834
849
|
this.log('warn', 'Error clearing Redis L2', {
|
|
835
|
-
error: error instanceof Error ? error.message : String(error)
|
|
850
|
+
error: error instanceof Error ? error.message : String(error),
|
|
836
851
|
});
|
|
837
852
|
}
|
|
838
853
|
}
|
|
@@ -843,7 +858,7 @@ class StorageEngine {
|
|
|
843
858
|
}
|
|
844
859
|
catch (error) {
|
|
845
860
|
this.log('warn', 'Error clearing PostgreSQL L3', {
|
|
846
|
-
error: error instanceof Error ? error.message : String(error)
|
|
861
|
+
error: error instanceof Error ? error.message : String(error),
|
|
847
862
|
});
|
|
848
863
|
}
|
|
849
864
|
}
|
|
@@ -900,7 +915,7 @@ class StorageEngine {
|
|
|
900
915
|
...this.metrics,
|
|
901
916
|
memorySize: this.l1Memory.size(),
|
|
902
917
|
memoryMaxSize: this.l1Memory.getMaxSize(),
|
|
903
|
-
cacheHitRatio: this.calculateCacheHitRatio()
|
|
918
|
+
cacheHitRatio: this.calculateCacheHitRatio(),
|
|
904
919
|
};
|
|
905
920
|
}
|
|
906
921
|
// Normalize layers to an array
|
|
@@ -942,7 +957,7 @@ class StorageEngine {
|
|
|
942
957
|
postgresHits: 0,
|
|
943
958
|
postgresMisses: 0,
|
|
944
959
|
totalOperations: 0,
|
|
945
|
-
averageResponseTime: 0
|
|
960
|
+
averageResponseTime: 0,
|
|
946
961
|
};
|
|
947
962
|
}
|
|
948
963
|
/**
|
|
@@ -955,7 +970,7 @@ class StorageEngine {
|
|
|
955
970
|
* **Layer Health Checks:**
|
|
956
971
|
* - Memory (L1): Always healthy if app is running
|
|
957
972
|
* - Redis (L2): PING command verification
|
|
958
|
-
* - PostgreSQL (L3):
|
|
973
|
+
* - PostgreSQL (L3): Nuvex schema readiness verification
|
|
959
974
|
*
|
|
960
975
|
* @param layers - Optional layer(s) to check. If not provided, checks all layers.
|
|
961
976
|
* Can be a single layer string or array of layer strings.
|
|
@@ -1012,7 +1027,9 @@ class StorageEngine {
|
|
|
1012
1027
|
layerNames.push('redis');
|
|
1013
1028
|
break;
|
|
1014
1029
|
case 'postgres':
|
|
1015
|
-
promises.push(this.l3Postgres
|
|
1030
|
+
promises.push(this.l3Postgres
|
|
1031
|
+
? this.l3Postgres.isReady()
|
|
1032
|
+
: Promise.resolve(false));
|
|
1016
1033
|
layerNames.push('postgres');
|
|
1017
1034
|
break;
|
|
1018
1035
|
}
|
|
@@ -1022,7 +1039,8 @@ class StorageEngine {
|
|
|
1022
1039
|
const healthStatus = {};
|
|
1023
1040
|
for (let i = 0; i < layerNames.length; i++) {
|
|
1024
1041
|
const result = results[i];
|
|
1025
|
-
healthStatus[layerNames[i]] =
|
|
1042
|
+
healthStatus[layerNames[i]] =
|
|
1043
|
+
result.status === 'fulfilled' && result.value === true;
|
|
1026
1044
|
}
|
|
1027
1045
|
return healthStatus;
|
|
1028
1046
|
}
|
|
@@ -1054,7 +1072,7 @@ class StorageEngine {
|
|
|
1054
1072
|
}
|
|
1055
1073
|
catch (error) {
|
|
1056
1074
|
this.log('error', `Error promoting ${key} to ${targetLayer}`, {
|
|
1057
|
-
error: error instanceof Error ? error.message : String(error)
|
|
1075
|
+
error: error instanceof Error ? error.message : String(error),
|
|
1058
1076
|
});
|
|
1059
1077
|
return false;
|
|
1060
1078
|
}
|
|
@@ -1080,7 +1098,7 @@ class StorageEngine {
|
|
|
1080
1098
|
}
|
|
1081
1099
|
catch (error) {
|
|
1082
1100
|
this.log('error', `Error demoting ${key} to ${targetLayer}`, {
|
|
1083
|
-
error: error instanceof Error ? error.message : String(error)
|
|
1101
|
+
error: error instanceof Error ? error.message : String(error),
|
|
1084
1102
|
});
|
|
1085
1103
|
return false;
|
|
1086
1104
|
}
|
|
@@ -1088,13 +1106,47 @@ class StorageEngine {
|
|
|
1088
1106
|
async getLayerInfo(key) {
|
|
1089
1107
|
// Check which layer has the key (L1 → L2 → L3)
|
|
1090
1108
|
if (await this.l1Memory.exists(key)) {
|
|
1091
|
-
|
|
1109
|
+
const ttl = await this.l1Memory.getTtl?.(key);
|
|
1110
|
+
return ttl !== null
|
|
1111
|
+
? { layer: index_js_1.StorageLayer.MEMORY, ttl }
|
|
1112
|
+
: { layer: index_js_1.StorageLayer.MEMORY };
|
|
1092
1113
|
}
|
|
1093
|
-
if (this.l2Redis && await this.l2Redis.exists(key)) {
|
|
1094
|
-
|
|
1114
|
+
if (this.l2Redis && (await this.l2Redis.exists(key))) {
|
|
1115
|
+
const ttl = await this.l2Redis.getTtl?.(key);
|
|
1116
|
+
return ttl !== null
|
|
1117
|
+
? { layer: index_js_1.StorageLayer.REDIS, ttl }
|
|
1118
|
+
: { layer: index_js_1.StorageLayer.REDIS };
|
|
1095
1119
|
}
|
|
1096
|
-
if (this.l3Postgres && await this.l3Postgres.exists(key)) {
|
|
1097
|
-
|
|
1120
|
+
if (this.l3Postgres && (await this.l3Postgres.exists(key))) {
|
|
1121
|
+
const ttl = await this.l3Postgres.getTtl?.(key);
|
|
1122
|
+
return ttl !== null
|
|
1123
|
+
? { layer: index_js_1.StorageLayer.POSTGRES, ttl }
|
|
1124
|
+
: { layer: index_js_1.StorageLayer.POSTGRES };
|
|
1125
|
+
}
|
|
1126
|
+
return null;
|
|
1127
|
+
}
|
|
1128
|
+
async getBackupSnapshotEntry(key) {
|
|
1129
|
+
const sources = [
|
|
1130
|
+
{ layer: index_js_1.StorageLayer.POSTGRES, storage: this.l3Postgres },
|
|
1131
|
+
{ layer: index_js_1.StorageLayer.REDIS, storage: this.l2Redis },
|
|
1132
|
+
{ layer: index_js_1.StorageLayer.MEMORY, storage: this.l1Memory },
|
|
1133
|
+
];
|
|
1134
|
+
for (const source of sources) {
|
|
1135
|
+
if (!source.storage) {
|
|
1136
|
+
continue;
|
|
1137
|
+
}
|
|
1138
|
+
const value = await source.storage.get(key);
|
|
1139
|
+
if (value === null) {
|
|
1140
|
+
continue;
|
|
1141
|
+
}
|
|
1142
|
+
const ttl = await source.storage.getTtl?.(key);
|
|
1143
|
+
return {
|
|
1144
|
+
layer: source.layer,
|
|
1145
|
+
value: value,
|
|
1146
|
+
...(ttl && ttl > 0
|
|
1147
|
+
? { expiresAt: new Date(Date.now() + ttl * 1000).toISOString() }
|
|
1148
|
+
: {}),
|
|
1149
|
+
};
|
|
1098
1150
|
}
|
|
1099
1151
|
return null;
|
|
1100
1152
|
}
|
|
@@ -1112,7 +1164,7 @@ class StorageEngine {
|
|
|
1112
1164
|
}
|
|
1113
1165
|
catch (error) {
|
|
1114
1166
|
this.log('error', 'Memory cleanup error', {
|
|
1115
|
-
error: error instanceof Error ? error.message : String(error)
|
|
1167
|
+
error: error instanceof Error ? error.message : String(error),
|
|
1116
1168
|
});
|
|
1117
1169
|
}
|
|
1118
1170
|
}, cleanupInterval);
|
|
@@ -1129,8 +1181,14 @@ class StorageEngine {
|
|
|
1129
1181
|
let totalMisses = 0;
|
|
1130
1182
|
// If no layers specified, calculate for all layers
|
|
1131
1183
|
if (!layers) {
|
|
1132
|
-
totalHits =
|
|
1133
|
-
|
|
1184
|
+
totalHits =
|
|
1185
|
+
this.metrics.memoryHits +
|
|
1186
|
+
this.metrics.redisHits +
|
|
1187
|
+
this.metrics.postgresHits;
|
|
1188
|
+
totalMisses =
|
|
1189
|
+
this.metrics.memoryMisses +
|
|
1190
|
+
this.metrics.redisMisses +
|
|
1191
|
+
this.metrics.postgresMisses;
|
|
1134
1192
|
}
|
|
1135
1193
|
else {
|
|
1136
1194
|
// Calculate only for specified layers
|
|
@@ -1151,25 +1209,16 @@ class StorageEngine {
|
|
|
1151
1209
|
}
|
|
1152
1210
|
}
|
|
1153
1211
|
}
|
|
1154
|
-
return totalHits + totalMisses > 0
|
|
1212
|
+
return totalHits + totalMisses > 0
|
|
1213
|
+
? totalHits / (totalHits + totalMisses)
|
|
1214
|
+
: 0;
|
|
1155
1215
|
}
|
|
1156
1216
|
applySorting(items, options) {
|
|
1157
|
-
if (!options.sortBy)
|
|
1217
|
+
if (!options.sortBy || options.sortBy !== 'key')
|
|
1158
1218
|
return items;
|
|
1159
1219
|
return items.sort((a, b) => {
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
case 'key':
|
|
1163
|
-
aVal = a.key;
|
|
1164
|
-
bVal = b.key;
|
|
1165
|
-
break;
|
|
1166
|
-
case 'createdAt':
|
|
1167
|
-
aVal = a.metadata.createdAt;
|
|
1168
|
-
bVal = b.metadata.createdAt;
|
|
1169
|
-
break;
|
|
1170
|
-
default:
|
|
1171
|
-
return 0;
|
|
1172
|
-
}
|
|
1220
|
+
const aVal = a.key;
|
|
1221
|
+
const bVal = b.key;
|
|
1173
1222
|
const order = options.sortOrder === 'desc' ? -1 : 1;
|
|
1174
1223
|
return aVal < bVal ? -order : aVal > bVal ? order : 0;
|
|
1175
1224
|
});
|
|
@@ -1190,8 +1239,8 @@ class StorageEngine {
|
|
|
1190
1239
|
layers: {
|
|
1191
1240
|
memory: true,
|
|
1192
1241
|
redis: this.l2Redis ? this.l2Redis.isConnected() : false,
|
|
1193
|
-
postgres: this.l3Postgres ? this.l3Postgres.isConnected() : false
|
|
1194
|
-
}
|
|
1242
|
+
postgres: this.l3Postgres ? this.l3Postgres.isConnected() : false,
|
|
1243
|
+
},
|
|
1195
1244
|
};
|
|
1196
1245
|
}
|
|
1197
1246
|
async cleanupExpiredMemory() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/core/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/core/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -146,7 +146,7 @@ class MemoryStorage {
|
|
|
146
146
|
// Create entry with optional expiration
|
|
147
147
|
const entry = { value };
|
|
148
148
|
if (ttlSeconds) {
|
|
149
|
-
entry.expires = Date.now() +
|
|
149
|
+
entry.expires = Date.now() + ttlSeconds * 1000;
|
|
150
150
|
}
|
|
151
151
|
this.cache.set(key, entry);
|
|
152
152
|
}
|
|
@@ -251,6 +251,18 @@ class MemoryStorage {
|
|
|
251
251
|
}
|
|
252
252
|
return matchingKeys;
|
|
253
253
|
}
|
|
254
|
+
async getTtl(key) {
|
|
255
|
+
const entry = this.cache.get(key);
|
|
256
|
+
if (!entry?.expires) {
|
|
257
|
+
return null;
|
|
258
|
+
}
|
|
259
|
+
const remainingMs = entry.expires - Date.now();
|
|
260
|
+
if (remainingMs <= 0) {
|
|
261
|
+
this.cache.delete(key);
|
|
262
|
+
return null;
|
|
263
|
+
}
|
|
264
|
+
return Math.ceil(remainingMs / 1000);
|
|
265
|
+
}
|
|
254
266
|
/**
|
|
255
267
|
* Health check for memory storage layer
|
|
256
268
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/layers/memory.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAeH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAa,aAAa;IAUxB;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,OAAO,GAAG,KAAK,EAAE,SAAwB,IAAI;QACvD,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QAED,6BAA6B;QAC7B,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAChD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,qCAAqC,GAAG,EAAE,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,2CAA2C;QAC3C,yEAAyE;QACzE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE3B,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAc,EAAE,UAAmB;QACxD,kEAAkE;QAClE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAChD,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,4BAA4B,QAAQ,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,MAAM,KAAK,GAAqB,EAAE,KAAK,EAAE,CAAC;QAC1C,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/layers/memory.ts"],"names":[],"mappings":"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"}
|