@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.
- package/dist/api/services/processorApi.service.d.ts +316 -0
- package/dist/api/services/processorApi.service.js +222 -0
- package/dist/api/services/processorApi.service.js.map +1 -1
- package/dist/api/services/productsApi.service.js +17 -2
- package/dist/api/services/productsApi.service.js.map +1 -1
- package/dist/api/urls.d.ts +16 -0
- package/dist/api/urls.js +20 -3
- package/dist/api/urls.js.map +1 -1
- package/dist/brokers/brokers.service.d.ts +17 -2
- package/dist/brokers/brokers.service.js +236 -29
- package/dist/brokers/brokers.service.js.map +1 -1
- package/dist/brokers/types/index.d.ts +249 -0
- package/dist/brokers/utils/providers/rabbitmq.service.js +1 -0
- package/dist/brokers/utils/providers/rabbitmq.service.js.map +1 -1
- package/dist/graph/graphs.service.d.ts +1 -1
- package/dist/graph/graphs.service.js +37 -5
- package/dist/graph/graphs.service.js.map +1 -1
- package/dist/index.d.ts +13 -1
- package/dist/index.js +39 -3
- package/dist/index.js.map +1 -1
- package/dist/logs/logs.types.d.ts +2 -0
- package/dist/logs/logs.types.js +2 -0
- package/dist/logs/logs.types.js.map +1 -1
- package/dist/products/services/products.service.js +27 -11
- package/dist/products/services/products.service.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js +1 -0
- package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js.map +1 -1
- package/dist/secrets/secrets.resolver.js +3 -0
- package/dist/secrets/secrets.resolver.js.map +1 -1
- package/dist/sessions/index.d.ts +1 -1
- package/dist/sessions/index.js +4 -1
- package/dist/sessions/index.js.map +1 -1
- package/dist/sessions/sessions.resolver.d.ts +31 -0
- package/dist/sessions/sessions.resolver.js +230 -1
- package/dist/sessions/sessions.resolver.js.map +1 -1
- package/dist/sessions/sessions.service.d.ts +15 -1
- package/dist/sessions/sessions.service.js +40 -1
- package/dist/sessions/sessions.service.js.map +1 -1
- package/dist/sessions/types/index.d.ts +24 -0
- package/dist/types/processor.types.d.ts +1 -0
- package/package.json +3 -1
package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js
CHANGED
|
@@ -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
|
package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js.map
CHANGED
|
@@ -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;
|
|
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":";AAAA;;;;;;;;;GASG;;AAmBH,8CAWC;AAKD,
|
|
1
|
+
{"version":3,"file":"secrets.resolver.js","sourceRoot":"","sources":["../../src/secrets/secrets.resolver.ts"],"names":[],"mappings":"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"}
|
package/dist/sessions/index.d.ts
CHANGED
|
@@ -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';
|
package/dist/sessions/index.js
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
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":"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"}
|
|
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;
|