@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.
Files changed (70) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +427 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/cjs/core/client.js +981 -0
  5. package/dist/cjs/core/client.js.map +1 -0
  6. package/dist/cjs/core/database.js +297 -0
  7. package/dist/cjs/core/database.js.map +1 -0
  8. package/dist/cjs/core/engine.js +1202 -0
  9. package/dist/cjs/core/engine.js.map +1 -0
  10. package/dist/cjs/core/index.js +35 -0
  11. package/dist/cjs/core/index.js.map +1 -0
  12. package/dist/cjs/index.js +109 -0
  13. package/dist/cjs/index.js.map +1 -0
  14. package/dist/cjs/interfaces/index.js +12 -0
  15. package/dist/cjs/interfaces/index.js.map +1 -0
  16. package/dist/cjs/layers/index.js +22 -0
  17. package/dist/cjs/layers/index.js.map +1 -0
  18. package/dist/cjs/layers/memory.js +388 -0
  19. package/dist/cjs/layers/memory.js.map +1 -0
  20. package/dist/cjs/layers/postgres.js +492 -0
  21. package/dist/cjs/layers/postgres.js.map +1 -0
  22. package/dist/cjs/layers/redis.js +388 -0
  23. package/dist/cjs/layers/redis.js.map +1 -0
  24. package/dist/cjs/types/index.js +52 -0
  25. package/dist/cjs/types/index.js.map +1 -0
  26. package/dist/esm/core/client.js +944 -0
  27. package/dist/esm/core/client.js.map +1 -0
  28. package/dist/esm/core/database.js +289 -0
  29. package/dist/esm/core/database.js.map +1 -0
  30. package/dist/esm/core/engine.js +1198 -0
  31. package/dist/esm/core/engine.js.map +1 -0
  32. package/dist/esm/core/index.js +16 -0
  33. package/dist/esm/core/index.js.map +1 -0
  34. package/dist/esm/index.js +87 -0
  35. package/dist/esm/index.js.map +1 -0
  36. package/dist/esm/interfaces/index.js +11 -0
  37. package/dist/esm/interfaces/index.js.map +1 -0
  38. package/dist/esm/layers/index.js +16 -0
  39. package/dist/esm/layers/index.js.map +1 -0
  40. package/dist/esm/layers/memory.js +384 -0
  41. package/dist/esm/layers/memory.js.map +1 -0
  42. package/dist/esm/layers/postgres.js +485 -0
  43. package/dist/esm/layers/postgres.js.map +1 -0
  44. package/dist/esm/layers/redis.js +384 -0
  45. package/dist/esm/layers/redis.js.map +1 -0
  46. package/dist/esm/types/index.js +49 -0
  47. package/dist/esm/types/index.js.map +1 -0
  48. package/dist/types/core/client.d.ts +561 -0
  49. package/dist/types/core/client.d.ts.map +1 -0
  50. package/dist/types/core/database.d.ts +130 -0
  51. package/dist/types/core/database.d.ts.map +1 -0
  52. package/dist/types/core/engine.d.ts +450 -0
  53. package/dist/types/core/engine.d.ts.map +1 -0
  54. package/dist/types/core/index.d.ts +13 -0
  55. package/dist/types/core/index.d.ts.map +1 -0
  56. package/dist/types/index.d.ts +85 -0
  57. package/dist/types/index.d.ts.map +1 -0
  58. package/dist/types/interfaces/index.d.ts +209 -0
  59. package/dist/types/interfaces/index.d.ts.map +1 -0
  60. package/dist/types/layers/index.d.ts +16 -0
  61. package/dist/types/layers/index.d.ts.map +1 -0
  62. package/dist/types/layers/memory.d.ts +261 -0
  63. package/dist/types/layers/memory.d.ts.map +1 -0
  64. package/dist/types/layers/postgres.d.ts +313 -0
  65. package/dist/types/layers/postgres.d.ts.map +1 -0
  66. package/dist/types/layers/redis.d.ts +248 -0
  67. package/dist/types/layers/redis.d.ts.map +1 -0
  68. package/dist/types/types/index.d.ts +410 -0
  69. package/dist/types/types/index.d.ts.map +1 -0
  70. 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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"}