@zintrust/core 2.1.8 → 2.1.9

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zintrust/core",
3
- "version": "2.1.8",
3
+ "version": "2.1.9",
4
4
  "description": "Production-grade TypeScript backend framework for JavaScript",
5
5
  "homepage": "https://zintrust.com",
6
6
  "repository": {
@@ -19,6 +19,7 @@ export declare const Cache: Readonly<{
19
19
  clear: () => Promise<void>;
20
20
  has: (key: string) => Promise<boolean>;
21
21
  getDriver: () => CacheDriver;
22
+ getRedisClient: (storeName?: string) => unknown;
22
23
  store: (name?: string) => CacheStore;
23
24
  reset: () => void;
24
25
  }>;
@@ -32,6 +33,7 @@ export declare const cache: Readonly<{
32
33
  clear: () => Promise<void>;
33
34
  has: (key: string) => Promise<boolean>;
34
35
  getDriver: () => CacheDriver;
36
+ getRedisClient: (storeName?: string) => unknown;
35
37
  store: (name?: string) => CacheStore;
36
38
  reset: () => void;
37
39
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"Cache.d.ts","sourceRoot":"","sources":["../../../src/cache/Cache.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAkMtD,KAAK,UAAU,GAAG,QAAQ,CAAC;IACzB,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3C,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,SAAS,EAAE,MAAM,WAAW,CAAC;CAC9B,CAAC,CAAC;AA8FH,eAAO,MAAM,KAAK;UAhMC,CAAC,OAAO,MAAM,KAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;UAkBlC,CAAC,OAAO,MAAM,SAAS,CAAC,QAAQ,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;kBAkBjD,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;iBAiBtB,OAAO,CAAC,IAAI,CAAC;eAgBb,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;qBAkB3B,WAAW;mBAaX,MAAM,KAAG,UAAU;iBAuFvB,IAAI;EAcpB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,KAAK;UA9MC,CAAC,OAAO,MAAM,KAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;UAkBlC,CAAC,OAAO,MAAM,SAAS,CAAC,QAAQ,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;kBAkBjD,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;iBAiBtB,OAAO,CAAC,IAAI,CAAC;eAgBb,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;qBAkB3B,WAAW;mBAaX,MAAM,KAAG,UAAU;iBAuFvB,IAAI;EAmBI,CAAC"}
1
+ {"version":3,"file":"Cache.d.ts","sourceRoot":"","sources":["../../../src/cache/Cache.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAuMtD,KAAK,UAAU,GAAG,QAAQ,CAAC;IACzB,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3C,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,SAAS,EAAE,MAAM,WAAW,CAAC;CAC9B,CAAC,CAAC;AAwGH,eAAO,MAAM,KAAK;UA1MC,CAAC,OAAO,MAAM,KAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;UAkBlC,CAAC,OAAO,MAAM,SAAS,CAAC,QAAQ,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;kBAkBjD,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;iBAiBtB,OAAO,CAAC,IAAI,CAAC;eAgBb,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;qBAkB3B,WAAW;iCAwGG,MAAM,KAAG,OAAO;mBA3F9B,MAAM,KAAG,UAAU;iBAuFvB,IAAI;EAyBpB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,KAAK;UAzNC,CAAC,OAAO,MAAM,KAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;UAkBlC,CAAC,OAAO,MAAM,SAAS,CAAC,QAAQ,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;kBAkBjD,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;iBAiBtB,OAAO,CAAC,IAAI,CAAC;eAgBb,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;qBAkB3B,WAAW;iCAwGG,MAAM,KAAG,OAAO;mBA3F9B,MAAM,KAAG,UAAU;iBAuFvB,IAAI;EA8BI,CAAC"}
@@ -29,6 +29,9 @@ function createNoOpDriver() {
29
29
  delete: async () => { },
30
30
  clear: async () => { },
31
31
  has: async () => false,
32
+ getRedisClient() {
33
+ throw ErrorFactory.createConfigError('getRedisClient() is not supported with no-op cache driver');
34
+ },
32
35
  };
33
36
  }
34
37
  function buildDriver(driver) {
@@ -181,6 +184,13 @@ const store = (name) => {
181
184
  const reset = () => {
182
185
  instances.clear();
183
186
  };
187
+ const getRedisClient = (storeName) => {
188
+ const driver = getDriverInstance(storeName);
189
+ if (typeof driver.getRedisClient !== 'function') {
190
+ throw ErrorFactory.createConfigError('getRedisClient() is only supported by Redis cache driver');
191
+ }
192
+ return driver.getRedisClient();
193
+ };
184
194
  // Sealed namespace with cache functionality
185
195
  export const Cache = Object.freeze({
186
196
  get,
@@ -189,6 +199,7 @@ export const Cache = Object.freeze({
189
199
  clear,
190
200
  has,
191
201
  getDriver,
202
+ getRedisClient,
192
203
  store,
193
204
  reset,
194
205
  });
@@ -27,6 +27,11 @@ export interface CacheDriver {
27
27
  * Dispose of resources (optional cleanup method)
28
28
  */
29
29
  dispose?(): Promise<void>;
30
+ /**
31
+ * Get the underlying Redis client for advanced operations like transactions
32
+ * Only supported by Redis driver, throws error for other drivers
33
+ */
34
+ getRedisClient?(): unknown;
30
35
  }
31
36
  export declare const CACHE_DRIVER_INTERFACE = "CacheDriver";
32
37
  //# sourceMappingURL=CacheDriver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CacheDriver.d.ts","sourceRoot":"","sources":["../../../src/cache/CacheDriver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAEvC;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEnC;;OAEG;IACH,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAGD,eAAO,MAAM,sBAAsB,gBAAgB,CAAC"}
1
+ {"version":3,"file":"CacheDriver.d.ts","sourceRoot":"","sources":["../../../src/cache/CacheDriver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAEvC;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEnC;;OAEG;IACH,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B;;;OAGG;IACH,cAAc,CAAC,IAAI,OAAO,CAAC;CAC5B;AAGD,eAAO,MAAM,sBAAsB,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"KVDriver.d.ts","sourceRoot":"","sources":["../../../../src/cache/drivers/KVDriver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAoDtD;;GAEG;AACH,eAAO,MAAM,QAAQ;kBAhDF,WAAW;EAkD5B,CAAC"}
1
+ {"version":3,"file":"KVDriver.d.ts","sourceRoot":"","sources":["../../../../src/cache/drivers/KVDriver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA2DtD;;GAEG;AACH,eAAO,MAAM,QAAQ;kBAtDF,WAAW;EAwD5B,CAAC"}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { Cloudflare } from '../../config/cloudflare.js';
6
6
  import { Logger } from '../../config/logger.js';
7
+ import { ErrorFactory } from '../../exceptions/ZintrustError.js';
7
8
  /**
8
9
  * Create a new KV driver instance
9
10
  */
@@ -45,6 +46,9 @@ const create = () => {
45
46
  const value = await kv.get(key);
46
47
  return value !== null;
47
48
  },
49
+ getRedisClient() {
50
+ throw ErrorFactory.createConfigError('getRedisClient() is only supported by Redis cache driver, not KV driver');
51
+ },
48
52
  };
49
53
  };
50
54
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"KVRemoteDriver.d.ts","sourceRoot":"","sources":["../../../../src/cache/drivers/KVRemoteDriver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAmZtD,eAAO,MAAM,cAAc;kBAvEM,WAAW;EAyE1C,CAAC;AAEH,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"KVRemoteDriver.d.ts","sourceRoot":"","sources":["../../../../src/cache/drivers/KVRemoteDriver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAyZtD,eAAO,MAAM,cAAc;kBA7EM,WAAW;EA+E1C,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -300,6 +300,9 @@ const createKvRemoteDriver = () => {
300
300
  },
301
301
  clear: clearKvRemoteDriver,
302
302
  has: createKvRemoteHas(cf.getJson),
303
+ getRedisClient() {
304
+ throw ErrorFactory.createConfigError('getRedisClient() is only supported by Redis cache driver, not KV remote driver');
305
+ },
303
306
  };
304
307
  };
305
308
  export const KVRemoteDriver = Object.freeze({
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryDriver.d.ts","sourceRoot":"","sources":["../../../../src/cache/drivers/MemoryDriver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAuFtD;;GAEG;AACH,eAAO,MAAM,YAAY;kBAxEN,WAAW;EA0E5B,CAAC"}
1
+ {"version":3,"file":"MemoryDriver.d.ts","sourceRoot":"","sources":["../../../../src/cache/drivers/MemoryDriver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA8FtD;;GAEG;AACH,eAAO,MAAM,YAAY;kBA9EN,WAAW;EAgF5B,CAAC"}
@@ -2,6 +2,7 @@
2
2
  * Memory Cache Driver
3
3
  * Simple in-memory storage for local development
4
4
  */
5
+ import { ErrorFactory } from '../../exceptions/ZintrustError.js';
5
6
  function isUnrefableTimer(value) {
6
7
  return (typeof value === 'object' &&
7
8
  value !== null &&
@@ -69,6 +70,9 @@ const create = () => {
69
70
  storage.clear();
70
71
  await Promise.resolve();
71
72
  },
73
+ getRedisClient() {
74
+ throw ErrorFactory.createConfigError('getRedisClient() is only supported by Redis cache driver, not memory driver');
75
+ },
72
76
  };
73
77
  };
74
78
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"MongoDriver.d.ts","sourceRoot":"","sources":["../../../../src/cache/drivers/MongoDriver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKtD;;;;GAIG;AACH,eAAO,MAAM,WAAW;IACtB;;OAEG;cACO,WAAW;EA4ErB,CAAC"}
1
+ {"version":3,"file":"MongoDriver.d.ts","sourceRoot":"","sources":["../../../../src/cache/drivers/MongoDriver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKtD;;;;GAIG;AACH,eAAO,MAAM,WAAW;IACtB;;OAEG;cACO,WAAW;EAkFrB,CAAC"}
@@ -75,6 +75,9 @@ export const MongoDriver = Object.freeze({
75
75
  const result = (await request('findOne', { filter: { _id: key } }));
76
76
  return result?.document !== undefined && result.document !== null;
77
77
  },
78
+ getRedisClient() {
79
+ throw ErrorFactory.createConfigError('getRedisClient() is only supported by Redis cache driver, not MongoDB driver');
80
+ },
78
81
  };
79
82
  },
80
83
  });
@@ -1 +1 @@
1
- {"version":3,"file":"RedisDriver.d.ts","sourceRoot":"","sources":["../../../../src/cache/drivers/RedisDriver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAmXtD;;GAEG;AACH,eAAO,MAAM,WAAW;kBAXL,WAAW;EAa5B,CAAC"}
1
+ {"version":3,"file":"RedisDriver.d.ts","sourceRoot":"","sources":["../../../../src/cache/drivers/RedisDriver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA6XtD;;GAEG;AACH,eAAO,MAAM,WAAW;kBAXL,WAAW;EAa5B,CAAC"}
@@ -109,6 +109,9 @@ const createCacheDriverFromIoredisClient = (client) => ({
109
109
  return false;
110
110
  }
111
111
  },
112
+ getRedisClient() {
113
+ return client;
114
+ },
112
115
  });
113
116
  const createIoredisCacheDriver = (params) => {
114
117
  const client = createIoredisClient(params);
@@ -288,6 +291,9 @@ const createTcpCacheDriver = () => {
288
291
  return false;
289
292
  }
290
293
  },
294
+ getRedisClient() {
295
+ throw ErrorFactory.createConfigError('getRedisClient() is only supported with ioredis driver, not TCP socket driver');
296
+ },
291
297
  };
292
298
  };
293
299
  /**
package/src/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @zintrust/core v2.1.8
2
+ * @zintrust/core v2.1.9
3
3
  *
4
4
  * ZinTrust Framework - Production-Grade TypeScript Backend
5
5
  * Built for performance, type safety, and exceptional developer experience
6
6
  *
7
7
  * Build Information:
8
- * Built: 2026-05-27T14:43:06.009Z
8
+ * Built: 2026-05-27T15:00:45.519Z
9
9
  * Node: >=20.0.0
10
10
  * License: MIT
11
11
  *
@@ -21,7 +21,7 @@
21
21
  * Available at runtime for debugging and health checks
22
22
  */
23
23
  export const ZINTRUST_VERSION = '0.1.41';
24
- export const ZINTRUST_BUILD_DATE = '2026-05-27T14:43:05.974Z'; // Replaced during build
24
+ export const ZINTRUST_BUILD_DATE = '2026-05-27T15:00:45.486Z'; // Replaced during build
25
25
  export { Application } from './boot/Application.js';
26
26
  export { AwsSigV4 } from './common/index.js';
27
27
  export { SignedRequest } from './security/SignedRequest.js';