@ductape/sdk 0.0.4-v106 → 0.0.4-v108

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 (41) hide show
  1. package/dist/api/services/processorApi.service.d.ts +316 -0
  2. package/dist/api/services/processorApi.service.js +222 -0
  3. package/dist/api/services/processorApi.service.js.map +1 -1
  4. package/dist/api/services/productsApi.service.js +17 -2
  5. package/dist/api/services/productsApi.service.js.map +1 -1
  6. package/dist/api/urls.d.ts +16 -0
  7. package/dist/api/urls.js +20 -3
  8. package/dist/api/urls.js.map +1 -1
  9. package/dist/brokers/brokers.service.d.ts +17 -2
  10. package/dist/brokers/brokers.service.js +236 -29
  11. package/dist/brokers/brokers.service.js.map +1 -1
  12. package/dist/brokers/types/index.d.ts +249 -0
  13. package/dist/brokers/utils/providers/rabbitmq.service.js +1 -0
  14. package/dist/brokers/utils/providers/rabbitmq.service.js.map +1 -1
  15. package/dist/graph/graphs.service.d.ts +1 -1
  16. package/dist/graph/graphs.service.js +37 -5
  17. package/dist/graph/graphs.service.js.map +1 -1
  18. package/dist/index.d.ts +13 -1
  19. package/dist/index.js +39 -3
  20. package/dist/index.js.map +1 -1
  21. package/dist/logs/logs.types.d.ts +2 -0
  22. package/dist/logs/logs.types.js +2 -0
  23. package/dist/logs/logs.types.js.map +1 -1
  24. package/dist/products/services/products.service.js +27 -11
  25. package/dist/products/services/products.service.js.map +1 -1
  26. package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js +1 -0
  27. package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js.map +1 -1
  28. package/dist/secrets/secrets.resolver.js +3 -0
  29. package/dist/secrets/secrets.resolver.js.map +1 -1
  30. package/dist/sessions/index.d.ts +1 -1
  31. package/dist/sessions/index.js +4 -1
  32. package/dist/sessions/index.js.map +1 -1
  33. package/dist/sessions/sessions.resolver.d.ts +31 -0
  34. package/dist/sessions/sessions.resolver.js +230 -1
  35. package/dist/sessions/sessions.resolver.js.map +1 -1
  36. package/dist/sessions/sessions.service.d.ts +15 -1
  37. package/dist/sessions/sessions.service.js +40 -1
  38. package/dist/sessions/sessions.service.js.map +1 -1
  39. package/dist/sessions/types/index.d.ts +24 -0
  40. package/dist/types/processor.types.d.ts +1 -0
  41. package/package.json +3 -1
@@ -46,6 +46,7 @@ const schema = Joi.object({
46
46
  })).optional(),
47
47
  data: Joi.array().items().optional(),
48
48
  sample: Joi.string().required(),
49
+ idempotent: Joi.boolean().optional(),
49
50
  });
50
51
  exports.default = schema;
51
52
  //# sourceMappingURL=create.productMessageBrokerTopic.validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.productMessageBrokerTopic.validator.js","sourceRoot":"","sources":["../../../../src/products/validators/joi-validators/create.productMessageBrokerTopic.validator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA2B;AAC3B,0CAA+E;AAE/E,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IACtB,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,gEAAgE;IAChE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,0BAAkB,CAAC,CAAC,QAAQ,EAAE;IACxD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CACxB,GAAG,CAAC,MAAM,CAAC;QACP,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,qBAAa,CAAC,CAAC,QAAQ,EAAE;KACtD,CAAC,CACL,CAAC,QAAQ,EAAE;IACZ,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IACpC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAEH,kBAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"create.productMessageBrokerTopic.validator.js","sourceRoot":"","sources":["../../../../src/products/validators/joi-validators/create.productMessageBrokerTopic.validator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA2B;AAC3B,0CAA+E;AAE/E,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IACtB,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,gEAAgE;IAChE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,0BAAkB,CAAC,CAAC,QAAQ,EAAE;IACxD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CACxB,GAAG,CAAC,MAAM,CAAC;QACP,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,qBAAa,CAAC,CAAC,QAAQ,EAAE;KACtD,CAAC,CACL,CAAC,QAAQ,EAAE;IACZ,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IACpC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,UAAU,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAEH,kBAAe,MAAM,CAAC"}
@@ -39,6 +39,9 @@ function containsSecretReferences(value) {
39
39
  if (typeof value !== 'string') {
40
40
  return false;
41
41
  }
42
+ // IMPORTANT: Reset lastIndex before testing - global regex maintains state
43
+ // which causes alternating true/false results on repeated calls
44
+ secrets_types_1.SECRET_PATTERN_GLOBAL.lastIndex = 0;
42
45
  return secrets_types_1.SECRET_PATTERN_GLOBAL.test(value);
43
46
  }
44
47
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"secrets.resolver.js","sourceRoot":"","sources":["../../src/secrets/secrets.resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secrets.resolver.js","sourceRoot":"","sources":["../../src/secrets/secrets.resolver.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,7 @@
43
43
  */
44
44
  export { SessionsService, SessionError } from './sessions.service';
45
45
  export { default as SessionsServiceDefault } from './sessions.service';
46
- export { SESSION_PATTERN, SESSION_PATTERN_GLOBAL, parseSessionToken, isSessionReference, containsSessionReferences, extractSessionReferences, getNestedValue, verifySessionToken, extractSessionContext, mightContainSessions, findAllSessionReferences, createSessionsResolver, SessionResolutionError, } from './sessions.resolver';
46
+ export { SESSION_PATTERN, SESSION_PATTERN_GLOBAL, parseSessionToken, isSessionReference, containsSessionReferences, extractSessionReferences, getNestedValue, verifySessionToken, extractSessionContext, mightContainSessions, findAllSessionReferences, createSessionsResolver, SessionResolutionError, clearSessionCache, getSessionCacheStats, } from './sessions.resolver';
47
47
  export type { ISessionTokenParts, ISessionData, ISessionCheck, IResolveSessionOptions, ISessionResolutionResult, ISessionContext, } from './sessions.resolver';
48
48
  export { verifyAndExtractSession, getSessionLogFields, resolveSessionReferences, processSessionForExecution, } from './sessions.helper';
49
49
  export type { ISessionVerificationResult, ISessionLogFields, } from './sessions.helper';
@@ -60,7 +60,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
60
60
  return (mod && mod.__esModule) ? mod : { "default": mod };
61
61
  };
62
62
  Object.defineProperty(exports, "__esModule", { value: true });
63
- exports.processSessionForExecution = exports.resolveSessionReferences = exports.getSessionLogFields = exports.verifyAndExtractSession = exports.SessionResolutionError = exports.createSessionsResolver = exports.findAllSessionReferences = exports.mightContainSessions = exports.extractSessionContext = exports.verifySessionToken = exports.getNestedValue = exports.extractSessionReferences = exports.containsSessionReferences = exports.isSessionReference = exports.parseSessionToken = exports.SESSION_PATTERN_GLOBAL = exports.SESSION_PATTERN = exports.SessionsServiceDefault = exports.SessionError = exports.SessionsService = void 0;
63
+ exports.processSessionForExecution = exports.resolveSessionReferences = exports.getSessionLogFields = exports.verifyAndExtractSession = exports.getSessionCacheStats = exports.clearSessionCache = exports.SessionResolutionError = exports.createSessionsResolver = exports.findAllSessionReferences = exports.mightContainSessions = exports.extractSessionContext = exports.verifySessionToken = exports.getNestedValue = exports.extractSessionReferences = exports.containsSessionReferences = exports.isSessionReference = exports.parseSessionToken = exports.SESSION_PATTERN_GLOBAL = exports.SESSION_PATTERN = exports.SessionsServiceDefault = exports.SessionError = exports.SessionsService = void 0;
64
64
  // Main service
65
65
  var sessions_service_1 = require("./sessions.service");
66
66
  Object.defineProperty(exports, "SessionsService", { enumerable: true, get: function () { return sessions_service_1.SessionsService; } });
@@ -82,6 +82,9 @@ Object.defineProperty(exports, "mightContainSessions", { enumerable: true, get:
82
82
  Object.defineProperty(exports, "findAllSessionReferences", { enumerable: true, get: function () { return sessions_resolver_1.findAllSessionReferences; } });
83
83
  Object.defineProperty(exports, "createSessionsResolver", { enumerable: true, get: function () { return sessions_resolver_1.createSessionsResolver; } });
84
84
  Object.defineProperty(exports, "SessionResolutionError", { enumerable: true, get: function () { return sessions_resolver_1.SessionResolutionError; } });
85
+ // Session cache utilities (Redis client is auto-wired from SessionsService)
86
+ Object.defineProperty(exports, "clearSessionCache", { enumerable: true, get: function () { return sessions_resolver_1.clearSessionCache; } });
87
+ Object.defineProperty(exports, "getSessionCacheStats", { enumerable: true, get: function () { return sessions_resolver_1.getSessionCacheStats; } });
85
88
  // Session helper for executors
86
89
  var sessions_helper_1 = require("./sessions.helper");
87
90
  Object.defineProperty(exports, "verifyAndExtractSession", { enumerable: true, get: function () { return sessions_helper_1.verifyAndExtractSession; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sessions/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;;;;;;;;;;;;;;;;;;;;AAEH,eAAe;AACf,uDAAmE;AAA1D,mHAAA,eAAe,OAAA;AAAE,gHAAA,YAAY,OAAA;AACtC,uDAAuE;AAA9D,2IAAA,OAAO,OAA0B;AAE1C,mBAAmB;AACnB,yDAc6B;AAb3B,oHAAA,eAAe,OAAA;AACf,2HAAA,sBAAsB,OAAA;AACtB,sHAAA,iBAAiB,OAAA;AACjB,uHAAA,kBAAkB,OAAA;AAClB,8HAAA,yBAAyB,OAAA;AACzB,6HAAA,wBAAwB,OAAA;AACxB,mHAAA,cAAc,OAAA;AACd,uHAAA,kBAAkB,OAAA;AAClB,0HAAA,qBAAqB,OAAA;AACrB,yHAAA,oBAAoB,OAAA;AACpB,6HAAA,wBAAwB,OAAA;AACxB,2HAAA,sBAAsB,OAAA;AACtB,2HAAA,sBAAsB,OAAA;AAWxB,+BAA+B;AAC/B,qDAK2B;AAJzB,0HAAA,uBAAuB,OAAA;AACvB,sHAAA,mBAAmB,OAAA;AACnB,2HAAA,wBAAwB,OAAA;AACxB,6HAAA,0BAA0B,OAAA;AAO5B,QAAQ;AACR,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sessions/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;;;;;;;;;;;;;;;;;;;;AAEH,eAAe;AACf,uDAAmE;AAA1D,mHAAA,eAAe,OAAA;AAAE,gHAAA,YAAY,OAAA;AACtC,uDAAuE;AAA9D,2IAAA,OAAO,OAA0B;AAE1C,mBAAmB;AACnB,yDAiB6B;AAhB3B,oHAAA,eAAe,OAAA;AACf,2HAAA,sBAAsB,OAAA;AACtB,sHAAA,iBAAiB,OAAA;AACjB,uHAAA,kBAAkB,OAAA;AAClB,8HAAA,yBAAyB,OAAA;AACzB,6HAAA,wBAAwB,OAAA;AACxB,mHAAA,cAAc,OAAA;AACd,uHAAA,kBAAkB,OAAA;AAClB,0HAAA,qBAAqB,OAAA;AACrB,yHAAA,oBAAoB,OAAA;AACpB,6HAAA,wBAAwB,OAAA;AACxB,2HAAA,sBAAsB,OAAA;AACtB,2HAAA,sBAAsB,OAAA;AACtB,4EAA4E;AAC5E,sHAAA,iBAAiB,OAAA;AACjB,yHAAA,oBAAoB,OAAA;AAWtB,+BAA+B;AAC/B,qDAK2B;AAJzB,0HAAA,uBAAuB,OAAA;AACvB,sHAAA,mBAAmB,OAAA;AACnB,2HAAA,wBAAwB,OAAA;AACxB,6HAAA,0BAA0B,OAAA;AAO5B,QAAQ;AACR,0CAAwB"}
@@ -7,7 +7,33 @@
7
7
  * - Session token verification and data extraction
8
8
  * - Nested key path resolution (e.g., $Session{user}{address}{city})
9
9
  * - Recursive resolution of nested objects
10
+ * - Internal caching of verified session tokens to avoid repeated JWT verification
10
11
  */
12
+ /**
13
+ * Redis client interface (compatible with ioredis)
14
+ */
15
+ interface IRedisClient {
16
+ get(key: string): Promise<string | null>;
17
+ set(key: string, value: string, exMode?: string, exValue?: number): Promise<string | null>;
18
+ setex(key: string, seconds: number, value: string): Promise<string | null>;
19
+ }
20
+ /**
21
+ * Set the Redis client for 2-tier session caching
22
+ * When set, oldest local cache entries will be moved to Redis when local cache fills up
23
+ */
24
+ export declare function setSessionCacheRedisClient(client: IRedisClient | null): void;
25
+ /**
26
+ * Clear all cached sessions (local and Redis)
27
+ */
28
+ export declare function clearSessionCache(): void;
29
+ /**
30
+ * Get session cache statistics (for debugging/monitoring)
31
+ */
32
+ export declare function getSessionCacheStats(): {
33
+ localSize: number;
34
+ maxLocalSize: number;
35
+ hasRedis: boolean;
36
+ };
11
37
  /**
12
38
  * Regex pattern to detect $Session{key} or $Session{key}{nested}{path} syntax (full string match)
13
39
  * Matches: $Session{user}, $Session{user}{id}, $Session{user}{address}{city}
@@ -116,6 +142,10 @@ export declare function getNestedValue(obj: Record<string, unknown>, keyPath: st
116
142
  /**
117
143
  * Verify and decode a session JWT token
118
144
  * Returns the session data if valid, null otherwise
145
+ *
146
+ * Uses 2-tier caching (local memory + Redis) to avoid repeated JWT verification.
147
+ * Cache entries expire 30 seconds before the actual session expiration.
148
+ * When local cache fills up (100 entries), oldest 50 are moved to Redis.
119
149
  */
120
150
  export declare function verifySessionToken(token: string, privateKey: string, expectedTag?: string, expectedEnv?: string): Promise<ISessionData | null>;
121
151
  /**
@@ -155,3 +185,4 @@ export declare class SessionResolutionError extends Error {
155
185
  details?: unknown;
156
186
  constructor(message: string, code: string, details?: unknown);
157
187
  }
188
+ export {};
@@ -8,6 +8,7 @@
8
8
  * - Session token verification and data extraction
9
9
  * - Nested key path resolution (e.g., $Session{user}{address}{city})
10
10
  * - Recursive resolution of nested objects
11
+ * - Internal caching of verified session tokens to avoid repeated JWT verification
11
12
  */
12
13
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
13
14
  if (k2 === undefined) k2 = k;
@@ -44,6 +45,9 @@ var __importStar = (this && this.__importStar) || (function () {
44
45
  })();
45
46
  Object.defineProperty(exports, "__esModule", { value: true });
46
47
  exports.SessionResolutionError = exports.SESSION_PATTERN_GLOBAL = exports.SESSION_PATTERN = void 0;
48
+ exports.setSessionCacheRedisClient = setSessionCacheRedisClient;
49
+ exports.clearSessionCache = clearSessionCache;
50
+ exports.getSessionCacheStats = getSessionCacheStats;
47
51
  exports.parseSessionToken = parseSessionToken;
48
52
  exports.isSessionReference = isSessionReference;
49
53
  exports.containsSessionReferences = containsSessionReferences;
@@ -55,6 +59,216 @@ exports.mightContainSessions = mightContainSessions;
55
59
  exports.findAllSessionReferences = findAllSessionReferences;
56
60
  exports.replaceSessionInString = replaceSessionInString;
57
61
  exports.createSessionsResolver = createSessionsResolver;
62
+ /**
63
+ * Internal cache for verified session tokens (Tier 1: Local Memory)
64
+ * Key: hash of token + privateKey + expectedTag + expectedEnv
65
+ * Value: cached session data with expiration
66
+ */
67
+ const sessionCache = new Map();
68
+ /** Redis client for Tier 2 caching (set via setSessionCacheRedisClient) */
69
+ let redisClient = null;
70
+ /** Redis key prefix for session cache */
71
+ const REDIS_SESSION_PREFIX = 'ductape:session_cache:';
72
+ /** Default cache buffer time (30 seconds before actual session expiration) */
73
+ const CACHE_BUFFER_MS = 30 * 1000;
74
+ /** Maximum local cache entries when Redis is available (offload to Redis when full) */
75
+ const MAX_LOCAL_CACHE_ENTRIES_WITH_REDIS = 100;
76
+ /** Maximum local cache entries when Redis is NOT available (larger since no offload) */
77
+ const MAX_LOCAL_CACHE_ENTRIES_NO_REDIS = 500;
78
+ /** Number of entries to move to Redis when local cache is full */
79
+ const OFFLOAD_BATCH_SIZE = 50;
80
+ /**
81
+ * Get the current max local cache entries based on Redis availability
82
+ */
83
+ function getMaxLocalCacheEntries() {
84
+ return redisClient ? MAX_LOCAL_CACHE_ENTRIES_WITH_REDIS : MAX_LOCAL_CACHE_ENTRIES_NO_REDIS;
85
+ }
86
+ /** Cleanup interval reference */
87
+ let cleanupInterval = null;
88
+ /**
89
+ * Set the Redis client for 2-tier session caching
90
+ * When set, oldest local cache entries will be moved to Redis when local cache fills up
91
+ */
92
+ function setSessionCacheRedisClient(client) {
93
+ redisClient = client;
94
+ }
95
+ /**
96
+ * Generate a cache key for session token verification
97
+ */
98
+ function generateSessionCacheKey(token, privateKey, expectedTag, expectedEnv) {
99
+ // Use a simple hash combining all factors
100
+ const combined = `${token}:${privateKey}:${expectedTag || ''}:${expectedEnv || ''}`;
101
+ let hash = 0;
102
+ for (let i = 0; i < combined.length; i++) {
103
+ const char = combined.charCodeAt(i);
104
+ hash = ((hash << 5) - hash) + char;
105
+ hash = hash & hash; // Convert to 32-bit integer
106
+ }
107
+ return `session_${hash}`;
108
+ }
109
+ /**
110
+ * Clean up expired local cache entries
111
+ */
112
+ function cleanupExpiredEntries() {
113
+ const now = Date.now();
114
+ for (const [key, entry] of sessionCache.entries()) {
115
+ if (entry.expiresAt <= now) {
116
+ sessionCache.delete(key);
117
+ }
118
+ }
119
+ }
120
+ /**
121
+ * Start the cleanup interval if not already running
122
+ */
123
+ function ensureCleanupRunning() {
124
+ if (!cleanupInterval) {
125
+ cleanupInterval = setInterval(cleanupExpiredEntries, 60 * 1000);
126
+ // Prevent the interval from keeping the process alive
127
+ if (cleanupInterval.unref) {
128
+ cleanupInterval.unref();
129
+ }
130
+ }
131
+ }
132
+ /**
133
+ * Move oldest entries from local cache to Redis
134
+ * This is fire-and-forget - errors are silently ignored
135
+ */
136
+ async function offloadToRedis() {
137
+ if (!redisClient)
138
+ return;
139
+ const now = Date.now();
140
+ const entries = Array.from(sessionCache.entries());
141
+ const toOffload = entries.slice(0, OFFLOAD_BATCH_SIZE);
142
+ for (const [key, entry] of toOffload) {
143
+ // Only offload if still valid
144
+ if (entry.expiresAt > now) {
145
+ const ttlSeconds = Math.floor((entry.expiresAt - now) / 1000);
146
+ if (ttlSeconds > 0) {
147
+ try {
148
+ const redisKey = `${REDIS_SESSION_PREFIX}${key}`;
149
+ const value = JSON.stringify({ data: entry.data, expiresAt: entry.expiresAt });
150
+ await redisClient.setex(redisKey, ttlSeconds, value);
151
+ }
152
+ catch (_a) {
153
+ // Silently ignore Redis errors - local cache is primary
154
+ }
155
+ }
156
+ }
157
+ // Remove from local cache after attempting offload
158
+ sessionCache.delete(key);
159
+ }
160
+ }
161
+ /**
162
+ * Get a cached session from local cache
163
+ */
164
+ function getLocalCachedSession(cacheKey) {
165
+ const entry = sessionCache.get(cacheKey);
166
+ if (!entry) {
167
+ return null;
168
+ }
169
+ // Check if expired
170
+ if (entry.expiresAt <= Date.now()) {
171
+ sessionCache.delete(cacheKey);
172
+ return null;
173
+ }
174
+ return entry.data;
175
+ }
176
+ /**
177
+ * Get a cached session from Redis (Tier 2)
178
+ */
179
+ async function getRedisCachedSession(cacheKey) {
180
+ if (!redisClient)
181
+ return null;
182
+ try {
183
+ const redisKey = `${REDIS_SESSION_PREFIX}${cacheKey}`;
184
+ const value = await redisClient.get(redisKey);
185
+ if (!value)
186
+ return null;
187
+ const entry = JSON.parse(value);
188
+ // Check if expired
189
+ if (entry.expiresAt <= Date.now()) {
190
+ return null;
191
+ }
192
+ // Promote back to local cache for faster access
193
+ sessionCache.set(cacheKey, entry);
194
+ return entry.data;
195
+ }
196
+ catch (_a) {
197
+ // Silently ignore Redis errors
198
+ return null;
199
+ }
200
+ }
201
+ /**
202
+ * Get a cached session verification result (checks local then Redis)
203
+ */
204
+ async function getCachedSession(cacheKey) {
205
+ // Tier 1: Check local cache first
206
+ const local = getLocalCachedSession(cacheKey);
207
+ if (local) {
208
+ return local;
209
+ }
210
+ // Tier 2: Check Redis if available
211
+ return getRedisCachedSession(cacheKey);
212
+ }
213
+ /**
214
+ * Cache a verified session result in local cache
215
+ * Offloads to Redis when local cache is full
216
+ */
217
+ async function cacheSession(cacheKey, data) {
218
+ // Calculate cache expiration (use session expiration minus buffer, or 5 minutes default)
219
+ const sessionExp = data.expiresAt ? data.expiresAt * 1000 : Date.now() + 5 * 60 * 1000;
220
+ const cacheExp = sessionExp - CACHE_BUFFER_MS;
221
+ // Only cache if it would be valid for at least 5 seconds
222
+ if (cacheExp <= Date.now() + 5000) {
223
+ return;
224
+ }
225
+ // Check if local cache is full
226
+ const maxEntries = getMaxLocalCacheEntries();
227
+ if (sessionCache.size >= maxEntries) {
228
+ if (redisClient) {
229
+ // Offload oldest entries to Redis (fire-and-forget)
230
+ offloadToRedis().catch(() => {
231
+ // Silently ignore - if Redis fails, just evict oldest
232
+ const firstKey = sessionCache.keys().next().value;
233
+ if (firstKey) {
234
+ sessionCache.delete(firstKey);
235
+ }
236
+ });
237
+ }
238
+ else {
239
+ // No Redis - just evict oldest entry
240
+ const firstKey = sessionCache.keys().next().value;
241
+ if (firstKey) {
242
+ sessionCache.delete(firstKey);
243
+ }
244
+ }
245
+ }
246
+ sessionCache.set(cacheKey, {
247
+ data,
248
+ expiresAt: cacheExp,
249
+ });
250
+ ensureCleanupRunning();
251
+ }
252
+ /**
253
+ * Clear all cached sessions (local and Redis)
254
+ */
255
+ function clearSessionCache() {
256
+ sessionCache.clear();
257
+ // Note: Redis entries will expire naturally via TTL
258
+ }
259
+ /**
260
+ * Get session cache statistics (for debugging/monitoring)
261
+ */
262
+ function getSessionCacheStats() {
263
+ return {
264
+ localSize: sessionCache.size,
265
+ maxLocalSize: getMaxLocalCacheEntries(),
266
+ hasRedis: redisClient !== null,
267
+ };
268
+ }
269
+ // ============================================================================
270
+ // END SESSION VERIFICATION CACHE
271
+ // ============================================================================
58
272
  /**
59
273
  * Regex pattern to detect $Session{key} or $Session{key}{nested}{path} syntax (full string match)
60
274
  * Matches: $Session{user}, $Session{user}{id}, $Session{user}{address}{city}
@@ -175,6 +389,10 @@ function getNestedValue(obj, keyPath) {
175
389
  /**
176
390
  * Verify and decode a session JWT token
177
391
  * Returns the session data if valid, null otherwise
392
+ *
393
+ * Uses 2-tier caching (local memory + Redis) to avoid repeated JWT verification.
394
+ * Cache entries expire 30 seconds before the actual session expiration.
395
+ * When local cache fills up (100 entries), oldest 50 are moved to Redis.
178
396
  */
179
397
  async function verifySessionToken(token, privateKey, expectedTag, expectedEnv) {
180
398
  const parts = parseSessionToken(token);
@@ -185,6 +403,12 @@ async function verifySessionToken(token, privateKey, expectedTag, expectedEnv) {
185
403
  if (expectedTag && parts.tag !== expectedTag) {
186
404
  return null;
187
405
  }
406
+ // Check cache first (local then Redis)
407
+ const cacheKey = generateSessionCacheKey(token, privateKey, expectedTag, expectedEnv);
408
+ const cached = await getCachedSession(cacheKey);
409
+ if (cached) {
410
+ return cached;
411
+ }
188
412
  try {
189
413
  // Dynamic import for Node.js only
190
414
  if (typeof window !== 'undefined') {
@@ -196,13 +420,18 @@ async function verifySessionToken(token, privateKey, expectedTag, expectedEnv) {
196
420
  if (expectedEnv && decoded.env !== expectedEnv) {
197
421
  return null;
198
422
  }
199
- return {
423
+ const sessionData = {
200
424
  tag: decoded.session,
201
425
  sessionId: decoded.session_id,
202
426
  data: decoded.data,
203
427
  expiresAt: decoded.exp,
204
428
  env: decoded.env,
205
429
  };
430
+ // Cache the verified session (fire-and-forget)
431
+ cacheSession(cacheKey, sessionData).catch(() => {
432
+ // Silently ignore cache errors
433
+ });
434
+ return sessionData;
206
435
  }
207
436
  catch (error) {
208
437
  // JWT verification failed (invalid, expired, etc.)
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.resolver.js","sourceRoot":"","sources":["../../src/sessions/sessions.resolver.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkGH,8CAkBC;AAKD,gDAmBC;AAKD,8DAOC;AAKD,4DAuBC;AAUD,wCAuBC;AAMD,gDA+CC;AAMD,sDAkCC;AAKD,oDAcC;AAKD,4DAgBC;AAKD,wDAeC;AAKD,wDA6EC;AA5bD;;;;GAIG;AACU,QAAA,eAAe,GAAG,mCAAmC,CAAC;AAEnE;;;GAGG;AACU,QAAA,sBAAsB,GAAG,kCAAkC,CAAC;AAEzE;;;GAGG;AACH,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;AA0ErD;;GAEG;AACH,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAE5C,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,KAAa;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,uBAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,4BAA4B;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,KAAK,CAAC;IACV,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE5D,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CAAC,KAAa;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,2BAA2B;IAC3B,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,8BAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/D,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CAAC,KAAa;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,UAAU,GAA+C,EAAE,CAAC;IAClE,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,8BAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/D,IAAI,KAAK,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/D,IAAI,QAAQ,CAAC;QAEb,OAAO,CAAC,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,GAA4B,EAAE,OAAiB;IAC5E,IAAI,OAAO,GAAY,GAAG,CAAC;IAE3B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC9C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,yCAAyC;YACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACzD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvC,OAAO,GAAI,OAAmC,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,kBAAkB,CACtC,KAAa,EACb,UAAkB,EAClB,WAAoB,EACpB,WAAoB;IAEpB,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8BAA8B;IAC9B,IAAI,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,kCAAkC;QAClC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,CAAC,4CAA4C;QAC3D,CAAC;QAED,MAAM,GAAG,GAAG,wDAAa,cAAc,GAAC,CAAC;QACzC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAM/C,CAAC;QAEF,iCAAiC;QACjC,IAAI,WAAW,IAAI,OAAO,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,GAAG,EAAE,OAAO,CAAC,OAAO;YACpB,SAAS,EAAE,OAAO,CAAC,UAAU;YAC7B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,SAAS,EAAE,OAAO,CAAC,GAAG;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,mDAAmD;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,qBAAqB,CACnC,WAAyB,EACzB,QAAiB;IAEjB,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,gDAAgD;IAChD,IAAI,QAAQ,EAAE,CAAC;QACb,uCAAuC;QACvC,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7E,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QACpF,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC7C,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,UAAU;QACV,UAAU,EAAE,WAAW,CAAC,SAAS;QACjC,WAAW,EAAE,WAAW,CAAC,GAAG;QAC5B,IAAI,EAAE,WAAW,CAAC,IAAI;KACvB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,KAAc;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CAAC,GAAY;IACnD,MAAM,IAAI,GAA+C,EAAE,CAAC;IAE5D,SAAS,QAAQ,CAAC,KAAc;QAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QACtB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;aAAM,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,GAAG,CAAC,CAAC;IACd,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CACpC,KAAa,EACb,SAAiB,EACjB,aAAsB;IAEtB,mDAAmD;IACnD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAEzC,mCAAmC;IACnC,MAAM,WAAW,GAAG,OAAO,aAAa,KAAK,QAAQ;QACnD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,EAAE,CAAC,CAAC;IAEhC,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CACpC,WAAyB;IAEzB;;OAEG;IACH,SAAS,gBAAgB,CAAC,OAAiB;QACzC,OAAO,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,SAAS,aAAa,CAAC,KAAa;QAClC,MAAM,IAAI,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,GAAG,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC5D,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,SAAS,aAAa,CAAI,GAAM;QAC9B,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,MAAM,aAAa,GAAa,EAAE,CAAC;QAEnC,SAAS,OAAO,CAAC,KAAc;YAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;gBACpC,eAAe,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC7C,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;gBACzC,OAAO,MAAM,CAAC,KAAK,CAAC;YACtB,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;YAED,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAChD,MAAM,QAAQ,GAA4B,EAAE,CAAC;gBAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/C,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC/B,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAM,CAAC;QAExC,OAAO;YACL,KAAK,EAAE,aAAa;YACpB,YAAY,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;YAC3C,UAAU,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;SACxC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,gBAAgB;QAChB,aAAa;QACb,aAAa;QACb,cAAc,EAAE,GAAG,EAAE,CAAC,WAAW;KAClC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAa,sBAAuB,SAAQ,KAAK;IAC/C,YACE,OAAe,EACR,IAAY,EACZ,OAAiB;QAExB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAU;QAGxB,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AATD,wDASC"}
1
+ {"version":3,"file":"sessions.resolver.js","sourceRoot":"","sources":["../../src/sessions/sessions.resolver.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Provides a unified interface for JWT-based session management including
5
5
  * creating, refreshing, verifying, and revoking sessions.
6
6
  */
7
- import { ISessionServiceConfig, ICreateSessionOptions, IRefreshSessionOptions, IVerifySessionOptions, IRevokeSessionOptions, IListSessionsOptions, ISessionResult, IVerifyResult, IListSessionsResult, IDefineSessionOptions, IDefinedSession, IFetchSessionUsersOptions, IFetchSessionUsersResult, IFetchSessionUserDetailsOptions, ISessionUserDetails, IFetchSessionActivityLogsOptions, IFetchSessionActivityLogsResult, IFetchSessionDashboardOptions, ISessionDashboardMetrics } from './types';
7
+ import { ISessionServiceConfig, ICreateSessionOptions, IRefreshSessionOptions, IVerifySessionOptions, IRevokeSessionOptions, IListSessionsOptions, ISessionResult, IVerifyResult, IListSessionsResult, IDefineSessionOptions, IDefinedSession, IFetchSessionUsersOptions, IFetchSessionUsersResult, IFetchSessionUserDetailsOptions, ISessionUserDetails, IFetchSessionActivityLogsOptions, IFetchSessionActivityLogsResult, IFetchSessionDashboardOptions, ISessionDashboardMetrics, IFetchUserDashboardOptions, IUserDashboardMetrics } from './types';
8
8
  /**
9
9
  * Error class for session operations
10
10
  */
@@ -173,5 +173,19 @@ export declare class SessionsService {
173
173
  * ```
174
174
  */
175
175
  fetchDashboard(options: IFetchSessionDashboardOptions): Promise<ISessionDashboardMetrics>;
176
+ /**
177
+ * Fetch user-specific dashboard metrics
178
+ *
179
+ * @example
180
+ * ```ts
181
+ * const userDashboard = await sessions.fetchUserDashboard({
182
+ * product: 'my-product',
183
+ * session: 'user-session',
184
+ * identifier: 'user@example.com',
185
+ * env: 'production',
186
+ * });
187
+ * ```
188
+ */
189
+ fetchUserDashboard(options: IFetchUserDashboardOptions): Promise<IUserDashboardMetrics>;
176
190
  }
177
191
  export default SessionsService;
@@ -43,6 +43,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
43
43
  };
44
44
  Object.defineProperty(exports, "__esModule", { value: true });
45
45
  exports.SessionsService = exports.SessionError = void 0;
46
+ const sessions_resolver_1 = require("./sessions.resolver");
46
47
  const products_service_1 = __importDefault(require("../products/services/products.service"));
47
48
  const processorApi_service_1 = require("../api/services/processorApi.service");
48
49
  const inputs_service_1 = __importDefault(require("../inputs/inputs.service"));
@@ -177,7 +178,7 @@ class SessionsService {
177
178
  });
178
179
  this.processorApiService = new processorApi_service_1.ProcessorApiService(config.env_type);
179
180
  this.inputService = new inputs_service_1.default();
180
- // Initialize CacheManager if Redis client is provided
181
+ // Initialize CacheManager and session resolver cache if Redis client is provided
181
182
  if (config.redis_client) {
182
183
  this.cacheManager = new cache_manager_1.CacheManager({
183
184
  workspace_id: config.workspace_id,
@@ -187,6 +188,8 @@ class SessionsService {
187
188
  env_type: config.env_type,
188
189
  redis_client: config.redis_client,
189
190
  });
191
+ // Wire up Redis client for session resolver 2-tier caching
192
+ (0, sessions_resolver_1.setSessionCacheRedisClient)(config.redis_client);
190
193
  }
191
194
  }
192
195
  /**
@@ -929,6 +932,42 @@ class SessionsService {
929
932
  throw new SessionError(`Failed to fetch session dashboard: ${error}`, 'FETCH_DASHBOARD_FAILED', error);
930
933
  }
931
934
  }
935
+ /**
936
+ * Fetch user-specific dashboard metrics
937
+ *
938
+ * @example
939
+ * ```ts
940
+ * const userDashboard = await sessions.fetchUserDashboard({
941
+ * product: 'my-product',
942
+ * session: 'user-session',
943
+ * identifier: 'user@example.com',
944
+ * env: 'production',
945
+ * });
946
+ * ```
947
+ */
948
+ async fetchUserDashboard(options) {
949
+ const { product, session: sessionTag, identifier, env } = options;
950
+ try {
951
+ await this.productBuilderService.initializeProductByTag(product);
952
+ this.productId = this.productBuilderService.fetchProductId() || '';
953
+ // Fetch user dashboard metrics from backend
954
+ const dashboard = await this.processorApiService.fetchUserDashboard({
955
+ product_tag: product,
956
+ session_tag: sessionTag,
957
+ identifier,
958
+ env,
959
+ }, this.getUserAccess());
960
+ return {
961
+ totalLogs: dashboard.totalLogs || 0,
962
+ successRate: dashboard.successRate || 0,
963
+ activityTimeline: dashboard.activityTimeline || [],
964
+ peakHours: dashboard.peakHours || [],
965
+ };
966
+ }
967
+ catch (error) {
968
+ throw new SessionError(`Failed to fetch user dashboard: ${error}`, 'FETCH_USER_DASHBOARD_FAILED', error);
969
+ }
970
+ }
932
971
  }
933
972
  exports.SessionsService = SessionsService;
934
973
  exports.default = SessionsService;