@wgtechlabs/nuvex 0.2.0 → 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.
Files changed (45) hide show
  1. package/README.md +19 -5
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/cjs/core/client.js +57 -32
  4. package/dist/cjs/core/client.js.map +1 -1
  5. package/dist/cjs/core/database.js +11 -8
  6. package/dist/cjs/core/database.js.map +1 -1
  7. package/dist/cjs/core/engine.js +112 -63
  8. package/dist/cjs/core/engine.js.map +1 -1
  9. package/dist/cjs/layers/memory.js +13 -1
  10. package/dist/cjs/layers/memory.js.map +1 -1
  11. package/dist/cjs/layers/postgres.js +222 -19
  12. package/dist/cjs/layers/postgres.js.map +1 -1
  13. package/dist/cjs/layers/redis.js +78 -12
  14. package/dist/cjs/layers/redis.js.map +1 -1
  15. package/dist/cjs/types/index.js.map +1 -1
  16. package/dist/esm/core/client.js +57 -32
  17. package/dist/esm/core/client.js.map +1 -1
  18. package/dist/esm/core/database.js +11 -8
  19. package/dist/esm/core/database.js.map +1 -1
  20. package/dist/esm/core/engine.js +113 -64
  21. package/dist/esm/core/engine.js.map +1 -1
  22. package/dist/esm/layers/memory.js +13 -1
  23. package/dist/esm/layers/memory.js.map +1 -1
  24. package/dist/esm/layers/postgres.js +223 -20
  25. package/dist/esm/layers/postgres.js.map +1 -1
  26. package/dist/esm/layers/redis.js +78 -12
  27. package/dist/esm/layers/redis.js.map +1 -1
  28. package/dist/esm/types/index.js.map +1 -1
  29. package/dist/types/core/client.d.ts +3 -2
  30. package/dist/types/core/client.d.ts.map +1 -1
  31. package/dist/types/core/database.d.ts +5 -1
  32. package/dist/types/core/database.d.ts.map +1 -1
  33. package/dist/types/core/engine.d.ts +7 -1
  34. package/dist/types/core/engine.d.ts.map +1 -1
  35. package/dist/types/interfaces/index.d.ts +5 -0
  36. package/dist/types/interfaces/index.d.ts.map +1 -1
  37. package/dist/types/layers/memory.d.ts +1 -0
  38. package/dist/types/layers/memory.d.ts.map +1 -1
  39. package/dist/types/layers/postgres.d.ts +37 -3
  40. package/dist/types/layers/postgres.d.ts.map +1 -1
  41. package/dist/types/layers/redis.d.ts +5 -1
  42. package/dist/types/layers/redis.d.ts.map +1 -1
  43. package/dist/types/types/index.d.ts +22 -3
  44. package/dist/types/types/index.d.ts.map +1 -1
  45. package/package.json +11 -14
@@ -24,6 +24,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
24
24
  exports.PostgresStorage = void 0;
25
25
  const pg_1 = __importDefault(require("pg"));
26
26
  const { Pool } = pg_1.default;
27
+ const node_crypto_1 = require("node:crypto");
27
28
  const database_js_1 = require("../core/database.js");
28
29
  /**
29
30
  * PostgreSQL Storage Layer - L3 Persistent Storage
@@ -121,14 +122,27 @@ class PostgresStorage {
121
122
  this.pool = null;
122
123
  this.connected = false;
123
124
  this.logger = logger;
125
+ this.schemaReady = false;
126
+ this.lastSchemaIssue = null;
124
127
  // Check if config is already a Pool instance
125
128
  this.ownsPool = !('query' in config && typeof config.query === 'function');
126
129
  // Extract schema configuration with defaults
127
130
  // Note: Schema is only extracted from config objects, not from existing Pool instances
128
- const schema = this.ownsPool ? config.schema : undefined;
131
+ const schema = this.ownsPool
132
+ ? config.schema
133
+ : undefined;
129
134
  this.tableName = schema?.tableName ?? 'nuvex_storage';
130
135
  this.keyColumn = schema?.columns?.key ?? 'nuvex_key';
131
136
  this.valueColumn = schema?.columns?.value ?? 'nuvex_data';
137
+ this.autoSetupSchema = this.ownsPool
138
+ ? Boolean(config.autoSetupSchema)
139
+ : false;
140
+ this.enableTrigram = this.ownsPool
141
+ ? Boolean(config.enableTrigram)
142
+ : false;
143
+ this.enableCleanupJob = this.ownsPool
144
+ ? Boolean(config.enableCleanupJob)
145
+ : false;
132
146
  // Validate all identifiers to prevent SQL injection
133
147
  (0, database_js_1.validateSQLIdentifier)(this.tableName, 'table name');
134
148
  (0, database_js_1.validateSQLIdentifier)(this.keyColumn, 'key column name');
@@ -166,13 +180,37 @@ class PostgresStorage {
166
180
  if (this.pool) {
167
181
  await this.pool.query('SELECT 1');
168
182
  this.connected = true;
169
- this.log('info', 'PostgreSQL L3: Connected successfully');
183
+ if (this.autoSetupSchema) {
184
+ this.log('info', 'PostgreSQL L3: Auto-setup enabled, ensuring Nuvex schema exists', {
185
+ tableName: this.tableName,
186
+ enableTrigram: this.enableTrigram,
187
+ enableCleanupJob: this.enableCleanupJob,
188
+ });
189
+ await (0, database_js_1.setupNuvexSchema)(this.pool, {
190
+ enableTrigram: this.enableTrigram,
191
+ enableCleanupJob: this.enableCleanupJob,
192
+ schema: {
193
+ tableName: this.tableName,
194
+ columns: {
195
+ key: this.keyColumn,
196
+ value: this.valueColumn,
197
+ },
198
+ },
199
+ }, this.logger ?? undefined);
200
+ }
201
+ this.schemaReady = await this.isReady();
202
+ this.log('info', 'PostgreSQL L3: Connected successfully', {
203
+ tableName: this.tableName,
204
+ ready: this.schemaReady,
205
+ });
170
206
  }
171
207
  }
172
208
  catch (error) {
173
209
  this.connected = false;
210
+ this.schemaReady = false;
211
+ this.lastSchemaIssue = null;
174
212
  this.log('error', 'PostgreSQL L3: Connection failed', {
175
- error: error instanceof Error ? error.message : String(error)
213
+ error: error instanceof Error ? error.message : String(error),
176
214
  });
177
215
  throw error;
178
216
  }
@@ -194,6 +232,8 @@ class PostgresStorage {
194
232
  this.log('info', 'PostgreSQL L3: Disconnected');
195
233
  }
196
234
  this.connected = false;
235
+ this.schemaReady = false;
236
+ this.lastSchemaIssue = null;
197
237
  }
198
238
  /**
199
239
  * Retrieve a value from PostgreSQL
@@ -225,10 +265,7 @@ class PostgresStorage {
225
265
  return result.rows[0][this.valueColumn];
226
266
  }
227
267
  catch (error) {
228
- // Table might not exist yet, that's okay
229
- this.log('debug', `PostgreSQL L3: Error getting key: ${key}`, {
230
- error: error instanceof Error ? error.message : String(error)
231
- });
268
+ this.handleQueryError('get', error, { key });
232
269
  return null;
233
270
  }
234
271
  }
@@ -260,7 +297,9 @@ class PostgresStorage {
260
297
  throw new Error('PostgreSQL not connected');
261
298
  }
262
299
  try {
263
- const expiresAt = ttlSeconds ? new Date(Date.now() + (ttlSeconds * 1000)) : null;
300
+ const expiresAt = ttlSeconds
301
+ ? new Date(Date.now() + ttlSeconds * 1000)
302
+ : null;
264
303
  await this.pool.query(`INSERT INTO ${this.tableName} (${this.keyColumn}, ${this.valueColumn}, expires_at)
265
304
  VALUES ($1, $2, $3)
266
305
  ON CONFLICT (${this.keyColumn})
@@ -269,7 +308,7 @@ class PostgresStorage {
269
308
  catch (error) {
270
309
  // If table doesn't exist, this is a critical error for L3
271
310
  this.log('error', `PostgreSQL L3: Error setting key: ${key}`, {
272
- error: error instanceof Error ? error.message : String(error)
311
+ error: error instanceof Error ? error.message : String(error),
273
312
  });
274
313
  throw error;
275
314
  }
@@ -295,7 +334,7 @@ class PostgresStorage {
295
334
  }
296
335
  catch (error) {
297
336
  this.log('error', `PostgreSQL L3: Error deleting key: ${key}`, {
298
- error: error instanceof Error ? error.message : String(error)
337
+ error: error instanceof Error ? error.message : String(error),
299
338
  });
300
339
  }
301
340
  }
@@ -324,7 +363,7 @@ class PostgresStorage {
324
363
  }
325
364
  catch (error) {
326
365
  this.log('error', `PostgreSQL L3: Error checking existence: ${key}`, {
327
- error: error instanceof Error ? error.message : String(error)
366
+ error: error instanceof Error ? error.message : String(error),
328
367
  });
329
368
  return false;
330
369
  }
@@ -350,16 +389,57 @@ class PostgresStorage {
350
389
  }
351
390
  catch (error) {
352
391
  this.log('error', 'PostgreSQL L3: Error clearing data', {
353
- error: error instanceof Error ? error.message : String(error)
392
+ error: error instanceof Error ? error.message : String(error),
354
393
  });
355
394
  }
356
395
  }
396
+ async keys(pattern = '*') {
397
+ if (!this.connected || !this.pool) {
398
+ return [];
399
+ }
400
+ try {
401
+ const result = await this.pool.query(`SELECT ${this.keyColumn} AS key
402
+ FROM ${this.tableName}
403
+ WHERE expires_at IS NULL OR expires_at > NOW()`);
404
+ const regex = this.createPatternRegex(pattern);
405
+ return result.rows
406
+ .map((row) => row.key)
407
+ .filter((key) => regex.test(key));
408
+ }
409
+ catch (error) {
410
+ this.handleQueryError('keys', error, { pattern });
411
+ return [];
412
+ }
413
+ }
414
+ async getTtl(key) {
415
+ if (!this.connected || !this.pool) {
416
+ return null;
417
+ }
418
+ try {
419
+ const result = await this.pool.query(`SELECT expires_at
420
+ FROM ${this.tableName}
421
+ WHERE ${this.keyColumn} = $1`, [key]);
422
+ if (result.rows.length === 0) {
423
+ return null;
424
+ }
425
+ const expiresAt = result.rows[0].expires_at;
426
+ if (!expiresAt) {
427
+ return null;
428
+ }
429
+ const remainingMs = new Date(expiresAt).getTime() - Date.now();
430
+ return remainingMs > 0 ? Math.ceil(remainingMs / 1000) : null;
431
+ }
432
+ catch (error) {
433
+ this.handleQueryError('ttl', error, { key });
434
+ return null;
435
+ }
436
+ }
357
437
  /**
358
- * Health check for PostgreSQL connection
438
+ * Health check for PostgreSQL connectivity
359
439
  *
360
440
  * Executes a simple SELECT 1 query to verify connectivity and database
361
- * responsiveness. This is a lightweight operation that tests the full
362
- * connection path including pool, connection, and database.
441
+ * responsiveness. This is a lightweight connectivity check only and does
442
+ * not guarantee that the configured Nuvex schema exists or is writable.
363
443
  *
364
444
  * @returns Promise resolving to true if PostgreSQL is healthy and responsive
365
445
  *
@@ -389,10 +469,87 @@ class PostgresStorage {
389
469
  }
390
470
  catch (error) {
391
471
  this.log('error', 'PostgreSQL L3: Ping failed', {
392
- error: error instanceof Error ? error.message : String(error)
472
+ error: error instanceof Error ? error.message : String(error),
473
+ });
474
+ return false;
475
+ }
476
+ }
477
+ /**
478
+ * Check whether the configured Nuvex PostgreSQL schema is ready for use.
479
+ *
480
+ * Verifies that the configured storage table exists with the expected
481
+ * columns and that writes can succeed inside a rolled-back transaction.
482
+ *
483
+ * @returns Promise resolving to true when storage is usable
484
+ */
485
+ async isReady() {
486
+ if (!this.connected || !this.pool) {
487
+ this.schemaReady = false;
488
+ this.lastSchemaIssue = null;
489
+ return false;
490
+ }
491
+ let client;
492
+ try {
493
+ client = await this.pool.connect();
494
+ const normalizedTableName = this.tableName.toLowerCase();
495
+ const normalizedKeyColumn = this.keyColumn.toLowerCase();
496
+ const normalizedValueColumn = this.valueColumn.toLowerCase();
497
+ const tableResult = await client.query('SELECT to_regclass($1) as table_name', [normalizedTableName]);
498
+ if (!tableResult.rows[0]?.table_name) {
499
+ this.markSchemaUnready('PostgreSQL L3: Nuvex schema is not ready - storage table is missing', {
500
+ tableName: this.tableName,
501
+ autoSetupSchema: this.autoSetupSchema,
502
+ });
503
+ return false;
504
+ }
505
+ const columnsResult = await client.query(`SELECT column_name
506
+ FROM information_schema.columns
507
+ WHERE table_schema = current_schema()
508
+ AND table_name = $1
509
+ AND column_name IN ($2, $3)`, [normalizedTableName, normalizedKeyColumn, normalizedValueColumn]);
510
+ const availableColumns = new Set(columnsResult.rows.map((row) => row.column_name.toLowerCase()));
511
+ if (!availableColumns.has(normalizedKeyColumn) ||
512
+ !availableColumns.has(normalizedValueColumn)) {
513
+ this.markSchemaUnready('PostgreSQL L3: Nuvex schema is not ready - expected columns are missing', {
514
+ tableName: this.tableName,
515
+ keyColumn: this.keyColumn,
516
+ valueColumn: this.valueColumn,
517
+ });
518
+ return false;
519
+ }
520
+ const readinessKey = `__nuvex_readiness__:${(0, node_crypto_1.randomUUID)()}`;
521
+ await client.query('BEGIN');
522
+ await client.query(`INSERT INTO ${this.tableName} (${this.keyColumn}, ${this.valueColumn}, expires_at)
523
+ VALUES ($1, $2::jsonb, NULL)
524
+ ON CONFLICT (${this.keyColumn})
525
+ DO UPDATE SET ${this.valueColumn} = EXCLUDED.${this.valueColumn}, updated_at = NOW()`, [readinessKey, JSON.stringify({ ready: true })]);
526
+ await client.query('ROLLBACK');
527
+ this.schemaReady = true;
528
+ this.lastSchemaIssue = null;
529
+ return true;
530
+ }
531
+ catch (error) {
532
+ if (client) {
533
+ try {
534
+ await client.query('ROLLBACK');
535
+ }
536
+ catch {
537
+ // Ignore rollback failures when readiness already failed
538
+ }
539
+ }
540
+ this.handleQueryError('readiness', error, {
541
+ tableName: this.tableName,
542
+ keyColumn: this.keyColumn,
543
+ valueColumn: this.valueColumn,
393
544
  });
545
+ this.schemaReady = false;
394
546
  return false;
395
547
  }
548
+ finally {
549
+ if (client) {
550
+ client.release();
551
+ }
552
+ }
396
553
  }
397
554
  /**
398
555
  * Check if PostgreSQL is connected
@@ -441,11 +598,15 @@ class PostgresStorage {
441
598
  */
442
599
  async increment(key, delta, ttlSeconds) {
443
600
  if (!this.connected || !this.pool) {
444
- this.log('warn', 'PostgreSQL L3: Cannot increment - not connected', { key });
601
+ this.log('warn', 'PostgreSQL L3: Cannot increment - not connected', {
602
+ key,
603
+ });
445
604
  throw new Error('PostgreSQL not connected');
446
605
  }
447
606
  try {
448
- const expiresAt = ttlSeconds ? new Date(Date.now() + (ttlSeconds * 1000)) : null;
607
+ const expiresAt = ttlSeconds
608
+ ? new Date(Date.now() + ttlSeconds * 1000)
609
+ : null;
449
610
  // Atomic upsert to handle both insert and update cases
450
611
  // This avoids race conditions when multiple concurrent increments happen on non-existent keys
451
612
  const result = await this.pool.query(`INSERT INTO ${this.tableName} (${this.keyColumn}, ${this.valueColumn}, expires_at)
@@ -469,7 +630,7 @@ class PostgresStorage {
469
630
  }
470
631
  catch (error) {
471
632
  this.log('error', `PostgreSQL L3: Error incrementing key: ${key}`, {
472
- error: error instanceof Error ? error.message : String(error)
633
+ error: error instanceof Error ? error.message : String(error),
473
634
  });
474
635
  throw error;
475
636
  }
@@ -487,6 +648,48 @@ class PostgresStorage {
487
648
  this.logger[level](message, meta);
488
649
  }
489
650
  }
651
+ createPatternRegex(pattern) {
652
+ const escaped = pattern
653
+ .replace(/[.+^${}()|[\]\\]/g, '\\$&')
654
+ .replace(/\*/g, '.*')
655
+ .replace(/\?/g, '.');
656
+ return new RegExp(`^${escaped}$`);
657
+ }
658
+ handleQueryError(operation, error, meta = {}) {
659
+ const pgError = error;
660
+ const details = {
661
+ ...meta,
662
+ tableName: this.tableName,
663
+ keyColumn: this.keyColumn,
664
+ valueColumn: this.valueColumn,
665
+ error: pgError.message ?? String(error),
666
+ };
667
+ if (pgError.code === '42P01') {
668
+ this.markSchemaUnready(`PostgreSQL L3: ${operation} failed because the Nuvex schema is missing`, details);
669
+ return;
670
+ }
671
+ if (pgError.code === '42703') {
672
+ this.markSchemaUnready(`PostgreSQL L3: ${operation} failed because the Nuvex schema is incompatible`, details);
673
+ return;
674
+ }
675
+ this.log(operation === 'get' ? 'debug' : 'error', `PostgreSQL L3: ${operation} failed`, details);
676
+ }
677
+ /**
678
+ * Mark the configured schema as not ready and log the issue.
679
+ *
680
+ * Emits a warning when readiness transitions from ready to unready or when a
681
+ * new schema issue message is observed. Repeated identical schema problems are
682
+ * downgraded to debug level to reduce noisy logs during high read volume.
683
+ *
684
+ * @param message - Schema readiness log message
685
+ * @param meta - Structured metadata for diagnostics
686
+ */
687
+ markSchemaUnready(message, meta) {
688
+ const shouldWarn = this.schemaReady || this.lastSchemaIssue !== message;
689
+ this.schemaReady = false;
690
+ this.lastSchemaIssue = message;
691
+ this.log(shouldWarn ? 'warn' : 'debug', message, meta);
692
+ }
490
693
  }
491
694
  exports.PostgresStorage = PostgresStorage;
492
695
  //# sourceMappingURL=postgres.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../../src/layers/postgres.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../../src/layers/postgres.ts"],"names":[],"mappings":"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"}
@@ -120,7 +120,7 @@ class RedisStorage {
120
120
  catch (error) {
121
121
  this.connected = false;
122
122
  this.log('error', 'Redis L2: Connection failed', {
123
- error: error instanceof Error ? error.message : String(error)
123
+ error: error instanceof Error ? error.message : String(error),
124
124
  });
125
125
  throw error;
126
126
  }
@@ -173,7 +173,7 @@ class RedisStorage {
173
173
  }
174
174
  catch (error) {
175
175
  this.log('error', `Redis L2: Error getting key: ${key}`, {
176
- error: error instanceof Error ? error.message : String(error)
176
+ error: error instanceof Error ? error.message : String(error),
177
177
  });
178
178
  return null;
179
179
  }
@@ -210,10 +210,11 @@ class RedisStorage {
210
210
  else {
211
211
  await this.client.set(key, serialized);
212
212
  }
213
+ await this.client.sAdd(RedisStorage.TRACKED_KEYS_SET, key);
213
214
  }
214
215
  catch (error) {
215
216
  this.log('error', `Redis L2: Error setting key: ${key}`, {
216
- error: error instanceof Error ? error.message : String(error)
217
+ error: error instanceof Error ? error.message : String(error),
217
218
  });
218
219
  }
219
220
  }
@@ -233,10 +234,11 @@ class RedisStorage {
233
234
  }
234
235
  try {
235
236
  await this.client.del(key);
237
+ await this.client.sRem(RedisStorage.TRACKED_KEYS_SET, key);
236
238
  }
237
239
  catch (error) {
238
240
  this.log('error', `Redis L2: Error deleting key: ${key}`, {
239
- error: error instanceof Error ? error.message : String(error)
241
+ error: error instanceof Error ? error.message : String(error),
240
242
  });
241
243
  }
242
244
  }
@@ -263,7 +265,7 @@ class RedisStorage {
263
265
  }
264
266
  catch (error) {
265
267
  this.log('error', `Redis L2: Error checking existence: ${key}`, {
266
- error: error instanceof Error ? error.message : String(error)
268
+ error: error instanceof Error ? error.message : String(error),
267
269
  });
268
270
  return false;
269
271
  }
@@ -279,18 +281,73 @@ class RedisStorage {
279
281
  * await redis.clear(); // Flushes entire Redis DB
280
282
  * ```
281
283
  */
282
- async clear() {
284
+ async clear(pattern = '*') {
283
285
  if (!this.connected || !this.client) {
284
286
  return;
285
287
  }
286
288
  try {
287
- await this.client.flushDb();
288
- this.log('info', 'Redis L2: Database flushed');
289
+ const keys = await this.keys(pattern);
290
+ for (const key of keys) {
291
+ await this.client.del(key);
292
+ }
293
+ if (pattern === '*') {
294
+ await this.client.del(RedisStorage.TRACKED_KEYS_SET);
295
+ }
296
+ else if (keys.length > 0) {
297
+ await this.client.sRem(RedisStorage.TRACKED_KEYS_SET, keys);
298
+ }
299
+ this.log('info', 'Redis L2: Cleared tracked Nuvex keys', {
300
+ pattern,
301
+ cleared: keys.length,
302
+ });
303
+ }
304
+ catch (error) {
305
+ this.log('error', 'Redis L2: Error clearing tracked keys', {
306
+ error: error instanceof Error ? error.message : String(error),
307
+ });
308
+ }
309
+ }
310
+ async keys(pattern = '*') {
311
+ if (!this.connected || !this.client) {
312
+ return [];
313
+ }
314
+ try {
315
+ const trackedKeys = await this.client.sMembers(RedisStorage.TRACKED_KEYS_SET);
316
+ const regex = this.createPatternRegex(pattern);
317
+ const matchingKeys = [];
318
+ for (const key of trackedKeys) {
319
+ const exists = await this.client.exists(key);
320
+ if (exists !== 1) {
321
+ await this.client.sRem(RedisStorage.TRACKED_KEYS_SET, key);
322
+ continue;
323
+ }
324
+ if (regex.test(key)) {
325
+ matchingKeys.push(key);
326
+ }
327
+ }
328
+ return matchingKeys;
329
+ }
330
+ catch (error) {
331
+ this.log('error', 'Redis L2: Error listing tracked keys', {
332
+ error: error instanceof Error ? error.message : String(error),
333
+ pattern,
334
+ });
335
+ return [];
336
+ }
337
+ }
338
+ async getTtl(key) {
339
+ if (!this.connected || !this.client) {
340
+ return null;
341
+ }
342
+ try {
343
+ const ttl = await this.client.ttl(key);
344
+ return ttl >= 0 ? ttl : null;
289
345
  }
290
346
  catch (error) {
291
- this.log('error', 'Redis L2: Error flushing database', {
292
- error: error instanceof Error ? error.message : String(error)
347
+ this.log('error', `Redis L2: Error getting TTL for key: ${key}`, {
348
+ error: error instanceof Error ? error.message : String(error),
293
349
  });
350
+ return null;
294
351
  }
295
352
  }
296
353
  /**
@@ -319,7 +376,7 @@ class RedisStorage {
319
376
  }
320
377
  catch (error) {
321
378
  this.log('error', 'Redis L2: Ping failed', {
322
- error: error instanceof Error ? error.message : String(error)
379
+ error: error instanceof Error ? error.message : String(error),
323
380
  });
324
381
  return false;
325
382
  }
@@ -357,6 +414,7 @@ class RedisStorage {
357
414
  try {
358
415
  // Use INCRBY for atomic increment
359
416
  const newValue = await this.client.incrBy(key, delta);
417
+ await this.client.sAdd(RedisStorage.TRACKED_KEYS_SET, key);
360
418
  // Set TTL if specified
361
419
  if (ttlSeconds) {
362
420
  await this.client.expire(key, ttlSeconds);
@@ -365,7 +423,7 @@ class RedisStorage {
365
423
  }
366
424
  catch (error) {
367
425
  this.log('error', `Redis L2: Error incrementing key: ${key}`, {
368
- error: error instanceof Error ? error.message : String(error)
426
+ error: error instanceof Error ? error.message : String(error),
369
427
  });
370
428
  throw error;
371
429
  }
@@ -383,6 +441,14 @@ class RedisStorage {
383
441
  this.logger[level](message, meta);
384
442
  }
385
443
  }
444
+ createPatternRegex(pattern) {
445
+ const escaped = pattern
446
+ .replace(/[.+^${}()|[\]\\]/g, '\\$&')
447
+ .replace(/\*/g, '.*')
448
+ .replace(/\?/g, '.');
449
+ return new RegExp(`^${escaped}$`);
450
+ }
386
451
  }
387
452
  exports.RedisStorage = RedisStorage;
453
+ RedisStorage.TRACKED_KEYS_SET = '__nuvex_keys__';
388
454
  //# sourceMappingURL=redis.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"redis.js","sourceRoot":"","sources":["../../../src/layers/redis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redis.js","sourceRoot":"","sources":["../../../src/layers/redis.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAyYH,yBAAyB;AAEzB;;;;;;;GAOG;AACH,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,+DAA+D;IAC/D,iCAAiB,CAAA;IACjB,2EAA2E;IAC3E,+BAAe,CAAA;IACf,6DAA6D;IAC7D,qCAAqB,CAAA;AACvB,CAAC,EAPW,YAAY,4BAAZ,YAAY,QAOvB;AAED;;;;;;GAMG;AACH,IAAY,QASX;AATD,WAAY,QAAQ;IAClB,iCAAiC;IACjC,2BAAe,CAAA;IACf,mCAAmC;IACnC,yBAAa,CAAA;IACb,+CAA+C;IAC/C,yBAAa,CAAA;IACb,iDAAiD;IACjD,2BAAe,CAAA;AACjB,CAAC,EATW,QAAQ,wBAAR,QAAQ,QASnB;AAED,+BAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAqaH,yBAAyB;AAEzB;;;;;;;GAOG;AACH,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,+DAA+D;IAC/D,iCAAiB,CAAA;IACjB,2EAA2E;IAC3E,+BAAe,CAAA;IACf,6DAA6D;IAC7D,qCAAqB,CAAA;AACvB,CAAC,EAPW,YAAY,4BAAZ,YAAY,QAOvB;AAED;;;;;;GAMG;AACH,IAAY,QASX;AATD,WAAY,QAAQ;IAClB,iCAAiC;IACjC,2BAAe,CAAA;IACf,mCAAmC;IACnC,yBAAa,CAAA;IACb,+CAA+C;IAC/C,yBAAa,CAAA;IACb,iDAAiD;IACjD,2BAAe,CAAA;AACjB,CAAC,EATW,QAAQ,wBAAR,QAAQ,QASnB;AAED,+BAA+B"}