@wgtechlabs/nuvex 0.1.1
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/LICENSE +21 -0
- package/README.md +427 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/cjs/core/client.js +981 -0
- package/dist/cjs/core/client.js.map +1 -0
- package/dist/cjs/core/database.js +297 -0
- package/dist/cjs/core/database.js.map +1 -0
- package/dist/cjs/core/engine.js +1202 -0
- package/dist/cjs/core/engine.js.map +1 -0
- package/dist/cjs/core/index.js +35 -0
- package/dist/cjs/core/index.js.map +1 -0
- package/dist/cjs/index.js +109 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/interfaces/index.js +12 -0
- package/dist/cjs/interfaces/index.js.map +1 -0
- package/dist/cjs/layers/index.js +22 -0
- package/dist/cjs/layers/index.js.map +1 -0
- package/dist/cjs/layers/memory.js +388 -0
- package/dist/cjs/layers/memory.js.map +1 -0
- package/dist/cjs/layers/postgres.js +492 -0
- package/dist/cjs/layers/postgres.js.map +1 -0
- package/dist/cjs/layers/redis.js +388 -0
- package/dist/cjs/layers/redis.js.map +1 -0
- package/dist/cjs/types/index.js +52 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/esm/core/client.js +944 -0
- package/dist/esm/core/client.js.map +1 -0
- package/dist/esm/core/database.js +289 -0
- package/dist/esm/core/database.js.map +1 -0
- package/dist/esm/core/engine.js +1198 -0
- package/dist/esm/core/engine.js.map +1 -0
- package/dist/esm/core/index.js +16 -0
- package/dist/esm/core/index.js.map +1 -0
- package/dist/esm/index.js +87 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/interfaces/index.js +11 -0
- package/dist/esm/interfaces/index.js.map +1 -0
- package/dist/esm/layers/index.js +16 -0
- package/dist/esm/layers/index.js.map +1 -0
- package/dist/esm/layers/memory.js +384 -0
- package/dist/esm/layers/memory.js.map +1 -0
- package/dist/esm/layers/postgres.js +485 -0
- package/dist/esm/layers/postgres.js.map +1 -0
- package/dist/esm/layers/redis.js +384 -0
- package/dist/esm/layers/redis.js.map +1 -0
- package/dist/esm/types/index.js +49 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/types/core/client.d.ts +561 -0
- package/dist/types/core/client.d.ts.map +1 -0
- package/dist/types/core/database.d.ts +130 -0
- package/dist/types/core/database.d.ts.map +1 -0
- package/dist/types/core/engine.d.ts +450 -0
- package/dist/types/core/engine.d.ts.map +1 -0
- package/dist/types/core/index.d.ts +13 -0
- package/dist/types/core/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +85 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/interfaces/index.d.ts +209 -0
- package/dist/types/interfaces/index.d.ts.map +1 -0
- package/dist/types/layers/index.d.ts +16 -0
- package/dist/types/layers/index.d.ts.map +1 -0
- package/dist/types/layers/memory.d.ts +261 -0
- package/dist/types/layers/memory.d.ts.map +1 -0
- package/dist/types/layers/postgres.d.ts +313 -0
- package/dist/types/layers/postgres.d.ts.map +1 -0
- package/dist/types/layers/redis.d.ts +248 -0
- package/dist/types/layers/redis.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +410 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/package.json +90 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/core/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Nuvex - Core Module Exports
|
|
4
|
+
* Next-gen Unified Vault Experience
|
|
5
|
+
*
|
|
6
|
+
* Clean exports for all core components
|
|
7
|
+
*
|
|
8
|
+
* @author Waren Gonzaga, WG Technology Labs
|
|
9
|
+
* @since 2025
|
|
10
|
+
*/
|
|
11
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
14
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
15
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
16
|
+
}
|
|
17
|
+
Object.defineProperty(o, k2, desc);
|
|
18
|
+
}) : (function(o, m, k, k2) {
|
|
19
|
+
if (k2 === undefined) k2 = k;
|
|
20
|
+
o[k2] = m[k];
|
|
21
|
+
}));
|
|
22
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
23
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.NuvexClient = exports.StorageEngine = void 0;
|
|
27
|
+
// Core storage engine
|
|
28
|
+
var engine_js_1 = require("./engine.js");
|
|
29
|
+
Object.defineProperty(exports, "StorageEngine", { enumerable: true, get: function () { return engine_js_1.StorageEngine; } });
|
|
30
|
+
// Main client interface
|
|
31
|
+
var client_js_1 = require("./client.js");
|
|
32
|
+
Object.defineProperty(exports, "NuvexClient", { enumerable: true, get: function () { return client_js_1.NuvexClient; } });
|
|
33
|
+
// Database utilities
|
|
34
|
+
__exportStar(require("./database.js"), exports);
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;AAEH,sBAAsB;AACtB,yCAA4C;AAAnC,0GAAA,aAAa,OAAA;AAEtB,wBAAwB;AACxB,yCAA0C;AAAjC,wGAAA,WAAW,OAAA;AAEpB,qBAAqB;AACrB,gDAA8B"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* # Nuvex - Next-gen Unified Vault Experience
|
|
4
|
+
*
|
|
5
|
+
* A production-ready, minimalist SDK for structured memory layering in Redis and PostgreSQL.
|
|
6
|
+
* Designed for any Node.js application that needs intelligent multi-layer storage with automatic
|
|
7
|
+
* data promotion, demotion, and comprehensive reliability features.
|
|
8
|
+
*
|
|
9
|
+
* ## Architecture Overview
|
|
10
|
+
*
|
|
11
|
+
* Nuvex implements a sophisticated three-tier storage system:
|
|
12
|
+
*
|
|
13
|
+
* ### Layer 1: Memory Cache (Ultra-fast)
|
|
14
|
+
* - **TTL**: Configurable (default: 24 hours)
|
|
15
|
+
* - **Use case**: Hot data, session information, frequently accessed content
|
|
16
|
+
* - **Performance**: Sub-millisecond access time
|
|
17
|
+
* - **Features**: LRU eviction, automatic cleanup, size limits
|
|
18
|
+
*
|
|
19
|
+
* ### Layer 2: Redis Cache (Fast & Distributed)
|
|
20
|
+
* - **TTL**: Configurable (default: 3 days)
|
|
21
|
+
* - **Use case**: Warm data, distributed caching across instances
|
|
22
|
+
* - **Performance**: 1-5ms access time
|
|
23
|
+
* - **Features**: Atomic operations, cluster support, persistence
|
|
24
|
+
*
|
|
25
|
+
* ### Layer 3: PostgreSQL (Persistent & Reliable)
|
|
26
|
+
* - **TTL**: Permanent storage with optional expiration
|
|
27
|
+
* - **Use case**: Cold data, critical information, audit trails
|
|
28
|
+
* - **Performance**: 5-50ms access time depending on query complexity
|
|
29
|
+
* - **Features**: ACID compliance, advanced querying, schema flexibility
|
|
30
|
+
*
|
|
31
|
+
* ## Key Components
|
|
32
|
+
*
|
|
33
|
+
* - **{@link StorageEngine}**: Low-level multi-layer storage implementation
|
|
34
|
+
* - **{@link NuvexClient}**: High-level client with convenience methods
|
|
35
|
+
* - **Database Utilities**: Schema management and migration tools
|
|
36
|
+
* - **Type System**: Comprehensive TypeScript definitions
|
|
37
|
+
*
|
|
38
|
+
* ## Quick Start Example
|
|
39
|
+
*
|
|
40
|
+
* ```typescript
|
|
41
|
+
* import { NuvexClient } from '@wgtechlabs/nuvex';
|
|
42
|
+
*
|
|
43
|
+
* const client = new NuvexClient({
|
|
44
|
+
* memory: { ttl: 3600000, maxSize: 10000 },
|
|
45
|
+
* redis: { url: 'redis://localhost:6379', ttl: 86400 },
|
|
46
|
+
* postgres: {
|
|
47
|
+
* host: 'localhost',
|
|
48
|
+
* database: 'myapp',
|
|
49
|
+
* user: 'user',
|
|
50
|
+
* password: 'pass'
|
|
51
|
+
* }
|
|
52
|
+
* });
|
|
53
|
+
*
|
|
54
|
+
* await client.connect();
|
|
55
|
+
*
|
|
56
|
+
* // Set data (automatically stored in all layers)
|
|
57
|
+
* await client.set('user:123', { name: 'John', email: 'john@example.com' });
|
|
58
|
+
*
|
|
59
|
+
* // Get data (automatically checks Memory → Redis → PostgreSQL)
|
|
60
|
+
* const user = await client.get('user:123');
|
|
61
|
+
* ```
|
|
62
|
+
* * ## Use Cases
|
|
63
|
+
*
|
|
64
|
+
* - **Session Management**: Store user sessions with automatic expiration
|
|
65
|
+
* - **API Caching**: Cache API responses with intelligent invalidation
|
|
66
|
+
* - **Configuration Storage**: Store application settings with fallback
|
|
67
|
+
* - **Real-time Data**: Handle high-frequency data with performance optimization
|
|
68
|
+
* - **Application State**: Store application state and user preferences
|
|
69
|
+
* - **Microservices**: Shared data layer across distributed services
|
|
70
|
+
*
|
|
71
|
+
* @author Waren Gonzaga, WG Technology Labs
|
|
72
|
+
* @since 2025
|
|
73
|
+
* @see {@link https://github.com/wgtechlabs/nuvex} GitHub Repository
|
|
74
|
+
* @see {@link https://wgtechlabs.com} WG Technology Labs
|
|
75
|
+
*
|
|
76
|
+
* @packageDocumentation
|
|
77
|
+
*/
|
|
78
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
79
|
+
if (k2 === undefined) k2 = k;
|
|
80
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
81
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
82
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
83
|
+
}
|
|
84
|
+
Object.defineProperty(o, k2, desc);
|
|
85
|
+
}) : (function(o, m, k, k2) {
|
|
86
|
+
if (k2 === undefined) k2 = k;
|
|
87
|
+
o[k2] = m[k];
|
|
88
|
+
}));
|
|
89
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
90
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
91
|
+
};
|
|
92
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
93
|
+
exports.Engine = exports.Client = exports.Nuvex = exports.NuvexClient = exports.StorageEngine = void 0;
|
|
94
|
+
// Core components
|
|
95
|
+
var engine_js_1 = require("./core/engine.js");
|
|
96
|
+
Object.defineProperty(exports, "StorageEngine", { enumerable: true, get: function () { return engine_js_1.StorageEngine; } });
|
|
97
|
+
var client_js_1 = require("./core/client.js");
|
|
98
|
+
Object.defineProperty(exports, "NuvexClient", { enumerable: true, get: function () { return client_js_1.NuvexClient; } });
|
|
99
|
+
// Database utilities
|
|
100
|
+
__exportStar(require("./core/database.js"), exports);
|
|
101
|
+
// Main export (recommended usage)
|
|
102
|
+
var client_js_2 = require("./core/client.js");
|
|
103
|
+
Object.defineProperty(exports, "Nuvex", { enumerable: true, get: function () { return client_js_2.NuvexClient; } });
|
|
104
|
+
// Alternative exports for different use cases
|
|
105
|
+
var client_js_3 = require("./core/client.js");
|
|
106
|
+
Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return client_js_3.NuvexClient; } });
|
|
107
|
+
var engine_js_2 = require("./core/engine.js");
|
|
108
|
+
Object.defineProperty(exports, "Engine", { enumerable: true, get: function () { return engine_js_2.StorageEngine; } });
|
|
109
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;;;;;;;;;;;;;;;;;AAEH,kBAAkB;AAClB,8CAAiD;AAAxC,0GAAA,aAAa,OAAA;AACtB,8CAA+C;AAAtC,wGAAA,WAAW,OAAA;AAEpB,qBAAqB;AACrB,qDAAmC;AAMnC,kCAAkC;AAClC,8CAAwD;AAA/C,kGAAA,WAAW,OAAS;AAE7B,8CAA8C;AAC9C,8CAAyD;AAAhD,mGAAA,WAAW,OAAU;AAC9B,8CAA2D;AAAlD,mGAAA,aAAa,OAAU"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Nuvex - Interface Definitions
|
|
4
|
+
* Next-gen Unified Vault Experience
|
|
5
|
+
*
|
|
6
|
+
* Core interfaces for the multi-layer storage SDK
|
|
7
|
+
*
|
|
8
|
+
* @author Waren Gonzaga, WG Technology Labs
|
|
9
|
+
* @since 2025
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Nuvex - Storage Layers
|
|
4
|
+
* Next-gen Unified Vault Experience
|
|
5
|
+
*
|
|
6
|
+
* Exports modular storage layer implementations for the 3-tier architecture.
|
|
7
|
+
* Each layer provides consistent interface but different performance and
|
|
8
|
+
* persistence characteristics.
|
|
9
|
+
*
|
|
10
|
+
* @author Waren Gonzaga, WG Technology Labs
|
|
11
|
+
* @version 1.0.0
|
|
12
|
+
* @since 2025
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.PostgresStorage = exports.RedisStorage = exports.MemoryStorage = void 0;
|
|
16
|
+
var memory_js_1 = require("./memory.js");
|
|
17
|
+
Object.defineProperty(exports, "MemoryStorage", { enumerable: true, get: function () { return memory_js_1.MemoryStorage; } });
|
|
18
|
+
var redis_js_1 = require("./redis.js");
|
|
19
|
+
Object.defineProperty(exports, "RedisStorage", { enumerable: true, get: function () { return redis_js_1.RedisStorage; } });
|
|
20
|
+
var postgres_js_1 = require("./postgres.js");
|
|
21
|
+
Object.defineProperty(exports, "PostgresStorage", { enumerable: true, get: function () { return postgres_js_1.PostgresStorage; } });
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/layers/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEH,yCAA4C;AAAnC,0GAAA,aAAa,OAAA;AACtB,uCAA0C;AAAjC,wGAAA,YAAY,OAAA;AACrB,6CAAgD;AAAvC,8GAAA,eAAe,OAAA"}
|
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Nuvex - Memory Storage Layer (L1)
|
|
4
|
+
* Next-gen Unified Vault Experience
|
|
5
|
+
*
|
|
6
|
+
* In-memory cache layer with LRU (Least Recently Used) eviction policy.
|
|
7
|
+
* Provides the fastest access tier in the multi-layer storage architecture.
|
|
8
|
+
*
|
|
9
|
+
* Features:
|
|
10
|
+
* - LRU eviction with configurable maxSize
|
|
11
|
+
* - TTL-based expiration
|
|
12
|
+
* - Sub-millisecond access times
|
|
13
|
+
* - Automatic cleanup of expired entries
|
|
14
|
+
*
|
|
15
|
+
* @author Waren Gonzaga, WG Technology Labs
|
|
16
|
+
* @since 2025
|
|
17
|
+
*/
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.MemoryStorage = void 0;
|
|
20
|
+
/**
|
|
21
|
+
* Memory Storage Layer - L1 Cache with LRU Eviction
|
|
22
|
+
*
|
|
23
|
+
* Implements an in-memory cache with Least Recently Used (LRU) eviction policy.
|
|
24
|
+
* This layer provides the fastest access times but has limited capacity defined
|
|
25
|
+
* by maxSize. When the cache is full, the least recently accessed item is evicted
|
|
26
|
+
* to make room for new entries.
|
|
27
|
+
*
|
|
28
|
+
* **LRU Implementation:**
|
|
29
|
+
* - Uses JavaScript Map which maintains insertion order
|
|
30
|
+
* - On get(), moves accessed entry to end (marks as recently used)
|
|
31
|
+
* - On set(), evicts first entry (oldest/least recently used) when full
|
|
32
|
+
* - Combines LRU with TTL-based expiration for optimal memory management
|
|
33
|
+
*
|
|
34
|
+
* **Performance Characteristics:**
|
|
35
|
+
* - Get: O(1) average, O(n) worst case due to delete+set for LRU
|
|
36
|
+
* - Set: O(1) with occasional O(1) eviction
|
|
37
|
+
* - Memory: O(maxSize)
|
|
38
|
+
*
|
|
39
|
+
* @implements {StorageLayerInterface}
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```typescript
|
|
43
|
+
* // Create memory layer with 1000 entry limit
|
|
44
|
+
* const memory = new MemoryStorage(1000);
|
|
45
|
+
*
|
|
46
|
+
* // Store with 60 second TTL
|
|
47
|
+
* await memory.set('user:123', userData, 60);
|
|
48
|
+
*
|
|
49
|
+
* // Retrieve (marks as recently used)
|
|
50
|
+
* const data = await memory.get('user:123');
|
|
51
|
+
*
|
|
52
|
+
* // Check health
|
|
53
|
+
* const isHealthy = await memory.ping(); // Always true
|
|
54
|
+
* ```
|
|
55
|
+
*
|
|
56
|
+
* @class MemoryStorage
|
|
57
|
+
* @since 1.0.0
|
|
58
|
+
*/
|
|
59
|
+
class MemoryStorage {
|
|
60
|
+
/**
|
|
61
|
+
* Creates a new MemoryStorage instance
|
|
62
|
+
*
|
|
63
|
+
* @param maxSize - Maximum number of entries to store (default: 10,000)
|
|
64
|
+
* @param logger - Optional logger for debugging
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* // Default configuration
|
|
69
|
+
* const memory = new MemoryStorage();
|
|
70
|
+
*
|
|
71
|
+
* // Custom size limit
|
|
72
|
+
* const memory = new MemoryStorage(5000);
|
|
73
|
+
*
|
|
74
|
+
* // With logging
|
|
75
|
+
* const memory = new MemoryStorage(10000, console);
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
constructor(maxSize = 10000, logger = null) {
|
|
79
|
+
this.cache = new Map();
|
|
80
|
+
this.maxSize = maxSize;
|
|
81
|
+
this.logger = logger;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Retrieve a value from memory cache
|
|
85
|
+
*
|
|
86
|
+
* Implements LRU by moving accessed entries to the end of the Map,
|
|
87
|
+
* marking them as recently used. Automatically removes expired entries.
|
|
88
|
+
*
|
|
89
|
+
* @param key - The key to retrieve
|
|
90
|
+
* @returns Promise resolving to the value or null if not found/expired
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* ```typescript
|
|
94
|
+
* const value = await memory.get('user:123');
|
|
95
|
+
* if (value !== null) {
|
|
96
|
+
* console.log('Cache hit!');
|
|
97
|
+
* }
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
async get(key) {
|
|
101
|
+
const entry = this.cache.get(key);
|
|
102
|
+
if (!entry) {
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
// Check if entry has expired
|
|
106
|
+
if (entry.expires && Date.now() > entry.expires) {
|
|
107
|
+
this.cache.delete(key);
|
|
108
|
+
this.log('debug', `Memory L1: Expired entry removed: ${key}`);
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
// LRU: Move to end (mark as recently used)
|
|
112
|
+
// This is done by deleting and re-adding to maintain Map insertion order
|
|
113
|
+
this.cache.delete(key);
|
|
114
|
+
this.cache.set(key, entry);
|
|
115
|
+
return entry.value;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Store a value in memory cache
|
|
119
|
+
*
|
|
120
|
+
* Implements LRU eviction when cache is full. If the cache has reached
|
|
121
|
+
* maxSize and the key doesn't already exist, the oldest entry (first in Map)
|
|
122
|
+
* is evicted to make room for the new entry.
|
|
123
|
+
*
|
|
124
|
+
* @param key - The key to store
|
|
125
|
+
* @param value - The value to store
|
|
126
|
+
* @param ttlSeconds - Optional TTL in seconds
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* ```typescript
|
|
130
|
+
* // Store without TTL
|
|
131
|
+
* await memory.set('config:app', configData);
|
|
132
|
+
*
|
|
133
|
+
* // Store with 5 minute TTL
|
|
134
|
+
* await memory.set('session:abc', sessionData, 300);
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
async set(key, value, ttlSeconds) {
|
|
138
|
+
// LRU eviction: Remove least recently used entry if cache is full
|
|
139
|
+
if (this.cache.size >= this.maxSize && !this.cache.has(key)) {
|
|
140
|
+
const firstKey = this.cache.keys().next().value;
|
|
141
|
+
if (firstKey) {
|
|
142
|
+
this.cache.delete(firstKey);
|
|
143
|
+
this.log('debug', `Memory L1: LRU eviction: ${firstKey}`);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// Create entry with optional expiration
|
|
147
|
+
const entry = { value };
|
|
148
|
+
if (ttlSeconds) {
|
|
149
|
+
entry.expires = Date.now() + (ttlSeconds * 1000);
|
|
150
|
+
}
|
|
151
|
+
this.cache.set(key, entry);
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Delete a value from memory cache
|
|
155
|
+
*
|
|
156
|
+
* @param key - The key to delete
|
|
157
|
+
*
|
|
158
|
+
* @example
|
|
159
|
+
* ```typescript
|
|
160
|
+
* await memory.delete('user:123');
|
|
161
|
+
* ```
|
|
162
|
+
*/
|
|
163
|
+
async delete(key) {
|
|
164
|
+
this.cache.delete(key);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Check if a key exists in memory cache
|
|
168
|
+
*
|
|
169
|
+
* Verifies existence and checks if the entry has expired.
|
|
170
|
+
* Automatically removes expired entries.
|
|
171
|
+
*
|
|
172
|
+
* @param key - The key to check
|
|
173
|
+
* @returns Promise resolving to true if the key exists and is not expired
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* ```typescript
|
|
177
|
+
* if (await memory.exists('user:123')) {
|
|
178
|
+
* console.log('Key exists in memory');
|
|
179
|
+
* }
|
|
180
|
+
* ```
|
|
181
|
+
*/
|
|
182
|
+
async exists(key) {
|
|
183
|
+
const entry = this.cache.get(key);
|
|
184
|
+
if (!entry) {
|
|
185
|
+
return false;
|
|
186
|
+
}
|
|
187
|
+
// Check expiration
|
|
188
|
+
if (entry.expires && Date.now() > entry.expires) {
|
|
189
|
+
this.cache.delete(key);
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
return true;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Clear all entries from memory cache
|
|
196
|
+
*
|
|
197
|
+
* Removes all stored entries, resetting the cache to empty state.
|
|
198
|
+
*
|
|
199
|
+
* @example
|
|
200
|
+
* ```typescript
|
|
201
|
+
* await memory.clear();
|
|
202
|
+
* console.log('All memory cache cleared');
|
|
203
|
+
* ```
|
|
204
|
+
*/
|
|
205
|
+
async clear() {
|
|
206
|
+
this.cache.clear();
|
|
207
|
+
this.log('info', 'Memory L1: Cache cleared');
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Get all keys matching an optional pattern
|
|
211
|
+
*
|
|
212
|
+
* Returns all non-expired keys from the memory cache, optionally filtered
|
|
213
|
+
* by a glob pattern. Supports '*' (match any characters) and '?' (match single character).
|
|
214
|
+
*
|
|
215
|
+
* @param pattern - Optional glob pattern (default: '*' returns all keys)
|
|
216
|
+
* @returns Promise resolving to array of matching keys
|
|
217
|
+
*
|
|
218
|
+
* @example
|
|
219
|
+
* ```typescript
|
|
220
|
+
* // Get all keys
|
|
221
|
+
* const allKeys = await memory.keys();
|
|
222
|
+
*
|
|
223
|
+
* // Get keys matching pattern
|
|
224
|
+
* const userKeys = await memory.keys('user:*');
|
|
225
|
+
* ```
|
|
226
|
+
*/
|
|
227
|
+
async keys(pattern) {
|
|
228
|
+
const now = Date.now();
|
|
229
|
+
const matchingKeys = [];
|
|
230
|
+
for (const [key, entry] of this.cache.entries()) {
|
|
231
|
+
// Skip expired entries
|
|
232
|
+
if (entry.expires && now > entry.expires) {
|
|
233
|
+
this.cache.delete(key);
|
|
234
|
+
continue;
|
|
235
|
+
}
|
|
236
|
+
// If no pattern or wildcard, include all keys
|
|
237
|
+
if (!pattern || pattern === '*') {
|
|
238
|
+
matchingKeys.push(key);
|
|
239
|
+
continue;
|
|
240
|
+
}
|
|
241
|
+
// Simple glob pattern matching
|
|
242
|
+
// Escape regex special chars, then convert glob wildcards
|
|
243
|
+
const escaped = pattern
|
|
244
|
+
.replace(/[.+^${}()|[\]\\]/g, '\\$&')
|
|
245
|
+
.replace(/\*/g, '.*')
|
|
246
|
+
.replace(/\?/g, '.');
|
|
247
|
+
const regex = new RegExp(`^${escaped}$`);
|
|
248
|
+
if (regex.test(key)) {
|
|
249
|
+
matchingKeys.push(key);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
return matchingKeys;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Health check for memory storage layer
|
|
256
|
+
*
|
|
257
|
+
* Memory storage is always available if the application is running,
|
|
258
|
+
* so this method always returns true unless there's a critical failure.
|
|
259
|
+
*
|
|
260
|
+
* @returns Promise resolving to true (memory is always available)
|
|
261
|
+
*
|
|
262
|
+
* @example
|
|
263
|
+
* ```typescript
|
|
264
|
+
* const isHealthy = await memory.ping();
|
|
265
|
+
* console.log('Memory layer healthy:', isHealthy);
|
|
266
|
+
* ```
|
|
267
|
+
*/
|
|
268
|
+
async ping() {
|
|
269
|
+
try {
|
|
270
|
+
// Memory is always available if the app is running
|
|
271
|
+
// Perform a quick sanity check
|
|
272
|
+
const testKey = '__nuvex_health_check__';
|
|
273
|
+
const testEntry = { value: true };
|
|
274
|
+
this.cache.set(testKey, testEntry);
|
|
275
|
+
this.cache.delete(testKey);
|
|
276
|
+
return true;
|
|
277
|
+
}
|
|
278
|
+
catch (error) {
|
|
279
|
+
this.log('error', 'Memory L1: Health check failed', { error });
|
|
280
|
+
return false;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Get current cache size
|
|
285
|
+
*
|
|
286
|
+
* Returns the number of entries currently stored in the cache.
|
|
287
|
+
* Useful for monitoring and debugging.
|
|
288
|
+
*
|
|
289
|
+
* @returns Current number of entries in cache
|
|
290
|
+
*
|
|
291
|
+
* @example
|
|
292
|
+
* ```typescript
|
|
293
|
+
* console.log(`Cache usage: ${memory.size()}/${memory.getMaxSize()}`);
|
|
294
|
+
* ```
|
|
295
|
+
*/
|
|
296
|
+
size() {
|
|
297
|
+
return this.cache.size;
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Get maximum cache size
|
|
301
|
+
*
|
|
302
|
+
* Returns the configured maximum number of entries.
|
|
303
|
+
*
|
|
304
|
+
* @returns Maximum cache size
|
|
305
|
+
*/
|
|
306
|
+
getMaxSize() {
|
|
307
|
+
return this.maxSize;
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Clean up expired entries
|
|
311
|
+
*
|
|
312
|
+
* Iterates through all entries and removes expired ones.
|
|
313
|
+
* This is useful for manual cleanup or scheduled maintenance.
|
|
314
|
+
*
|
|
315
|
+
* @returns Number of entries removed
|
|
316
|
+
*
|
|
317
|
+
* @example
|
|
318
|
+
* ```typescript
|
|
319
|
+
* const cleaned = await memory.cleanup();
|
|
320
|
+
* console.log(`Removed ${cleaned} expired entries`);
|
|
321
|
+
* ```
|
|
322
|
+
*/
|
|
323
|
+
async cleanup() {
|
|
324
|
+
const now = Date.now();
|
|
325
|
+
let cleaned = 0;
|
|
326
|
+
for (const [key, entry] of this.cache.entries()) {
|
|
327
|
+
if (entry.expires && now > entry.expires) {
|
|
328
|
+
this.cache.delete(key);
|
|
329
|
+
cleaned++;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
if (cleaned > 0) {
|
|
333
|
+
this.log('debug', `Memory L1: Cleanup removed ${cleaned} expired entries`);
|
|
334
|
+
}
|
|
335
|
+
return cleaned;
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Atomically increment a numeric value
|
|
339
|
+
*
|
|
340
|
+
* This operation is thread-safe for single-instance deployments.
|
|
341
|
+
* If the key doesn't exist or is expired, it's initialized to 0 before incrementing.
|
|
342
|
+
*
|
|
343
|
+
* @param key - The key to increment
|
|
344
|
+
* @param delta - The amount to increment by (can be negative for decrement)
|
|
345
|
+
* @param ttlSeconds - Optional TTL in seconds
|
|
346
|
+
* @returns Promise resolving to the new value after increment
|
|
347
|
+
*
|
|
348
|
+
* @example
|
|
349
|
+
* ```typescript
|
|
350
|
+
* const newValue = await memory.increment('counter', 1, 60);
|
|
351
|
+
* console.log(`Counter is now: ${newValue}`);
|
|
352
|
+
* ```
|
|
353
|
+
*/
|
|
354
|
+
async increment(key, delta, ttlSeconds) {
|
|
355
|
+
const entry = this.cache.get(key);
|
|
356
|
+
// Check if entry exists and is not expired
|
|
357
|
+
let currentValue = 0;
|
|
358
|
+
if (entry) {
|
|
359
|
+
if (entry.expires && Date.now() > entry.expires) {
|
|
360
|
+
// Expired entry, treat as non-existent
|
|
361
|
+
this.cache.delete(key);
|
|
362
|
+
}
|
|
363
|
+
else {
|
|
364
|
+
currentValue = typeof entry.value === 'number' ? entry.value : 0;
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
// Calculate new value
|
|
368
|
+
const newValue = currentValue + delta;
|
|
369
|
+
// Store the new value (this also handles LRU eviction if needed)
|
|
370
|
+
await this.set(key, newValue, ttlSeconds);
|
|
371
|
+
return newValue;
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* Log a message if logger is configured
|
|
375
|
+
*
|
|
376
|
+
* @private
|
|
377
|
+
* @param level - Log level
|
|
378
|
+
* @param message - Log message
|
|
379
|
+
* @param meta - Optional metadata
|
|
380
|
+
*/
|
|
381
|
+
log(level, message, meta) {
|
|
382
|
+
if (this.logger) {
|
|
383
|
+
this.logger[level](message, meta);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
exports.MemoryStorage = MemoryStorage;
|
|
388
|
+
//# sourceMappingURL=memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/layers/memory.ts"],"names":[],"mappings":"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"}
|