@aifabrix/miso-client 4.3.1 → 4.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/CHANGELOG.md +1253 -1215
  2. package/README.md +22 -23
  3. package/dist/api/applications.api.d.ts +42 -0
  4. package/dist/api/applications.api.d.ts.map +1 -0
  5. package/dist/api/applications.api.js +91 -0
  6. package/dist/api/applications.api.js.map +1 -0
  7. package/dist/api/index.d.ts +5 -0
  8. package/dist/api/index.d.ts.map +1 -1
  9. package/dist/api/index.js +2 -0
  10. package/dist/api/index.js.map +1 -1
  11. package/dist/api/types/applications.types.d.ts +58 -0
  12. package/dist/api/types/applications.types.d.ts.map +1 -0
  13. package/dist/api/types/applications.types.js +7 -0
  14. package/dist/api/types/applications.types.js.map +1 -0
  15. package/dist/api/types/encryption.types.d.ts +2 -2
  16. package/dist/api/types/encryption.types.d.ts.map +1 -1
  17. package/dist/express/client-token-endpoint.d.ts +2 -2
  18. package/dist/express/client-token-endpoint.d.ts.map +1 -1
  19. package/dist/express/client-token-endpoint.js +21 -3
  20. package/dist/express/client-token-endpoint.js.map +1 -1
  21. package/dist/express/error-handler.d.ts +8 -1
  22. package/dist/express/error-handler.d.ts.map +1 -1
  23. package/dist/express/error-handler.js +8 -1
  24. package/dist/express/error-handler.js.map +1 -1
  25. package/dist/express/error-response.d.ts +16 -4
  26. package/dist/express/error-response.d.ts.map +1 -1
  27. package/dist/express/error-response.js +16 -4
  28. package/dist/express/error-response.js.map +1 -1
  29. package/dist/express/error-types.d.ts +13 -0
  30. package/dist/express/error-types.d.ts.map +1 -1
  31. package/dist/express/error-types.js +13 -0
  32. package/dist/express/error-types.js.map +1 -1
  33. package/dist/express/index.d.ts +8 -4
  34. package/dist/express/index.d.ts.map +1 -1
  35. package/dist/express/index.js.map +1 -1
  36. package/dist/express/logger-context.middleware.d.ts +8 -4
  37. package/dist/express/logger-context.middleware.d.ts.map +1 -1
  38. package/dist/express/logger-context.middleware.js +9 -4
  39. package/dist/express/logger-context.middleware.js.map +1 -1
  40. package/dist/express/response-middleware.d.ts +4 -0
  41. package/dist/express/response-middleware.d.ts.map +1 -1
  42. package/dist/express/response-middleware.js +4 -0
  43. package/dist/express/response-middleware.js.map +1 -1
  44. package/dist/index.d.ts +207 -34
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +214 -36
  47. package/dist/index.js.map +1 -1
  48. package/dist/services/application-context.service.d.ts +0 -1
  49. package/dist/services/application-context.service.d.ts.map +1 -1
  50. package/dist/services/application-context.service.js +12 -7
  51. package/dist/services/application-context.service.js.map +1 -1
  52. package/dist/services/auth-cache-helpers.d.ts +22 -0
  53. package/dist/services/auth-cache-helpers.d.ts.map +1 -0
  54. package/dist/services/auth-cache-helpers.js +85 -0
  55. package/dist/services/auth-cache-helpers.js.map +1 -0
  56. package/dist/services/auth-environment-token.d.ts +20 -0
  57. package/dist/services/auth-environment-token.d.ts.map +1 -0
  58. package/dist/services/auth-environment-token.js +94 -0
  59. package/dist/services/auth-environment-token.js.map +1 -0
  60. package/dist/services/auth-error-handler.d.ts.map +1 -1
  61. package/dist/services/auth-error-handler.js +1 -1
  62. package/dist/services/auth-error-handler.js.map +1 -1
  63. package/dist/services/auth.service.d.ts +16 -28
  64. package/dist/services/auth.service.d.ts.map +1 -1
  65. package/dist/services/auth.service.js +112 -208
  66. package/dist/services/auth.service.js.map +1 -1
  67. package/dist/services/browser-permission.service.d.ts +3 -1
  68. package/dist/services/browser-permission.service.d.ts.map +1 -1
  69. package/dist/services/browser-permission.service.js +44 -9
  70. package/dist/services/browser-permission.service.js.map +1 -1
  71. package/dist/services/browser-role.service.d.ts +3 -1
  72. package/dist/services/browser-role.service.d.ts.map +1 -1
  73. package/dist/services/browser-role.service.js +44 -9
  74. package/dist/services/browser-role.service.js.map +1 -1
  75. package/dist/services/cache.service.d.ts.map +1 -1
  76. package/dist/services/cache.service.js +8 -2
  77. package/dist/services/cache.service.js.map +1 -1
  78. package/dist/services/encryption.service.d.ts +1 -1
  79. package/dist/services/encryption.service.js +2 -2
  80. package/dist/services/encryption.service.js.map +1 -1
  81. package/dist/services/logger/index.d.ts +6 -4
  82. package/dist/services/logger/index.d.ts.map +1 -1
  83. package/dist/services/logger/index.js +1 -4
  84. package/dist/services/logger/index.js.map +1 -1
  85. package/dist/services/logger/logger-chain.d.ts +18 -8
  86. package/dist/services/logger/logger-chain.d.ts.map +1 -1
  87. package/dist/services/logger/logger-chain.js +35 -41
  88. package/dist/services/logger/logger-chain.js.map +1 -1
  89. package/dist/services/logger/logger-context-storage.d.ts +2 -0
  90. package/dist/services/logger/logger-context-storage.d.ts.map +1 -1
  91. package/dist/services/logger/logger-context-storage.js.map +1 -1
  92. package/dist/services/logger/logger-context.d.ts +0 -22
  93. package/dist/services/logger/logger-context.d.ts.map +1 -1
  94. package/dist/services/logger/logger-context.js +2 -50
  95. package/dist/services/logger/logger-context.js.map +1 -1
  96. package/dist/services/logger/logger.service.d.ts +37 -14
  97. package/dist/services/logger/logger.service.d.ts.map +1 -1
  98. package/dist/services/logger/logger.service.js +157 -133
  99. package/dist/services/logger/logger.service.js.map +1 -1
  100. package/dist/services/logger/unified-logger.service.d.ts.map +1 -1
  101. package/dist/services/logger/unified-logger.service.js +2 -34
  102. package/dist/services/logger/unified-logger.service.js.map +1 -1
  103. package/dist/services/permission.service.d.ts +12 -5
  104. package/dist/services/permission.service.d.ts.map +1 -1
  105. package/dist/services/permission.service.js +50 -10
  106. package/dist/services/permission.service.js.map +1 -1
  107. package/dist/services/redis.service.d.ts +29 -0
  108. package/dist/services/redis.service.d.ts.map +1 -1
  109. package/dist/services/redis.service.js +48 -5
  110. package/dist/services/redis.service.js.map +1 -1
  111. package/dist/services/role.service.d.ts +12 -5
  112. package/dist/services/role.service.d.ts.map +1 -1
  113. package/dist/services/role.service.js +38 -9
  114. package/dist/services/role.service.js.map +1 -1
  115. package/dist/services/token-validation.service.d.ts +30 -0
  116. package/dist/services/token-validation.service.d.ts.map +1 -1
  117. package/dist/services/token-validation.service.js +30 -0
  118. package/dist/services/token-validation.service.js.map +1 -1
  119. package/dist/types/config.types.d.ts +38 -1
  120. package/dist/types/config.types.d.ts.map +1 -1
  121. package/dist/types/config.types.js.map +1 -1
  122. package/dist/utils/audit-log-queue.d.ts.map +1 -1
  123. package/dist/utils/audit-log-queue.js +3 -0
  124. package/dist/utils/audit-log-queue.js.map +1 -1
  125. package/dist/utils/client-token-manager.d.ts.map +1 -1
  126. package/dist/utils/client-token-manager.js +9 -1
  127. package/dist/utils/client-token-manager.js.map +1 -1
  128. package/dist/utils/config-loader.d.ts +3 -1
  129. package/dist/utils/config-loader.d.ts.map +1 -1
  130. package/dist/utils/config-loader.js +5 -3
  131. package/dist/utils/config-loader.js.map +1 -1
  132. package/dist/utils/data-client-audit.d.ts.map +1 -1
  133. package/dist/utils/data-client-audit.js +15 -2
  134. package/dist/utils/data-client-audit.js.map +1 -1
  135. package/dist/utils/data-client-auth.d.ts.map +1 -1
  136. package/dist/utils/data-client-auth.js +17 -9
  137. package/dist/utils/data-client-auth.js.map +1 -1
  138. package/dist/utils/data-client-auto-init.d.ts.map +1 -1
  139. package/dist/utils/data-client-auto-init.js +110 -119
  140. package/dist/utils/data-client-auto-init.js.map +1 -1
  141. package/dist/utils/data-client-request.d.ts +0 -3
  142. package/dist/utils/data-client-request.d.ts.map +1 -1
  143. package/dist/utils/data-client-request.js +148 -97
  144. package/dist/utils/data-client-request.js.map +1 -1
  145. package/dist/utils/data-client-response.d.ts.map +1 -1
  146. package/dist/utils/data-client-response.js +93 -63
  147. package/dist/utils/data-client-response.js.map +1 -1
  148. package/dist/utils/data-client-utils.d.ts +2 -1
  149. package/dist/utils/data-client-utils.d.ts.map +1 -1
  150. package/dist/utils/data-client-utils.js +2 -1
  151. package/dist/utils/data-client-utils.js.map +1 -1
  152. package/dist/utils/data-client.d.ts.map +1 -1
  153. package/dist/utils/data-client.js +4 -1
  154. package/dist/utils/data-client.js.map +1 -1
  155. package/dist/utils/data-masker.d.ts +3 -0
  156. package/dist/utils/data-masker.d.ts.map +1 -1
  157. package/dist/utils/data-masker.js +3 -0
  158. package/dist/utils/data-masker.js.map +1 -1
  159. package/dist/utils/filter-schema.utils.d.ts.map +1 -1
  160. package/dist/utils/filter-schema.utils.js +64 -46
  161. package/dist/utils/filter-schema.utils.js.map +1 -1
  162. package/dist/utils/filter.utils.d.ts.map +1 -1
  163. package/dist/utils/filter.utils.js +59 -75
  164. package/dist/utils/filter.utils.js.map +1 -1
  165. package/dist/utils/http-client-audit.d.ts.map +1 -1
  166. package/dist/utils/http-client-audit.js +31 -19
  167. package/dist/utils/http-client-audit.js.map +1 -1
  168. package/dist/utils/http-client-metadata.d.ts +2 -1
  169. package/dist/utils/http-client-metadata.d.ts.map +1 -1
  170. package/dist/utils/http-client-metadata.js +2 -1
  171. package/dist/utils/http-client-metadata.js.map +1 -1
  172. package/dist/utils/internal-http-client.d.ts.map +1 -1
  173. package/dist/utils/internal-http-client.js +13 -7
  174. package/dist/utils/internal-http-client.js.map +1 -1
  175. package/package.json +86 -84
@@ -8,24 +8,29 @@ const browser_jwt_decoder_1 = require("../utils/browser-jwt-decoder");
8
8
  const application_context_service_1 = require("./application-context.service");
9
9
  class PermissionService {
10
10
  constructor(httpClient, apiClient, cache) {
11
- this.config = httpClient.config;
12
11
  this.cache = cache;
13
12
  this.httpClient = httpClient;
14
13
  this.apiClient = apiClient;
15
- this.permissionTTL = this.config.cache?.permissionTTL || 900; // 15 minutes default
14
+ this.permissionTTL = this.httpClient.config.cache?.permissionTTL || 900; // 15 minutes default
16
15
  this.applicationContextService = new application_context_service_1.ApplicationContextService(httpClient);
17
16
  }
18
- /** Build auth strategy with bearer token */
17
+ /**
18
+ * Build auth strategy with bearer token.
19
+ */
19
20
  buildAuthStrategy(token, authStrategy) {
20
- const base = authStrategy || this.config.authStrategy;
21
+ const base = authStrategy || this.httpClient.config.authStrategy;
21
22
  return base ? { ...base, bearerToken: token } : { methods: ['bearer'], bearerToken: token };
22
23
  }
23
- /** Get environment query params from application context */
24
+ /**
25
+ * Get environment query params from application context.
26
+ */
24
27
  getEnvironmentParams() {
25
28
  const context = this.applicationContextService.getApplicationContext();
26
29
  return context.environment ? { environment: context.environment } : undefined;
27
30
  }
28
- /** Get userId from token, validating via API if not in JWT */
31
+ /**
32
+ * Get userId from token, validating via API if not in JWT.
33
+ */
29
34
  async resolveUserId(token, authStrategy) {
30
35
  const userId = (0, browser_jwt_decoder_1.extractUserIdFromToken)(token);
31
36
  if (userId)
@@ -62,11 +67,24 @@ class PermissionService {
62
67
  return permissions;
63
68
  }
64
69
  catch (error) {
65
- console.error("Failed to get permissions:", error); // eslint-disable-line no-console
70
+ const statusCode = error?.statusCode ||
71
+ error?.response?.status;
72
+ console.error("Failed to get permissions:", {
73
+ method: "GET",
74
+ path: "/api/auth/permissions",
75
+ statusCode,
76
+ ipAddress: "unknown",
77
+ correlationId: error?.correlationId,
78
+ userId: (0, browser_jwt_decoder_1.extractUserIdFromToken)(token) || undefined,
79
+ errorMessage: error instanceof Error ? error.message : String(error),
80
+ stackTrace: error instanceof Error ? error.stack : undefined,
81
+ }); // eslint-disable-line no-console
66
82
  return [];
67
83
  }
68
84
  }
69
- /** Fetch permissions from controller API */
85
+ /**
86
+ * Fetch permissions from controller API.
87
+ */
70
88
  async fetchPermissionsFromController(token, authStrategy) {
71
89
  const authStrategyWithToken = this.buildAuthStrategy(token, authStrategy);
72
90
  const queryParams = this.getEnvironmentParams();
@@ -124,7 +142,18 @@ class PermissionService {
124
142
  return permissions;
125
143
  }
126
144
  catch (error) {
127
- console.error("Failed to refresh permissions:", error); // eslint-disable-line no-console
145
+ const statusCode = error?.statusCode ||
146
+ error?.response?.status;
147
+ console.error("Failed to refresh permissions:", {
148
+ method: "POST",
149
+ path: "/api/auth/permissions/refresh",
150
+ statusCode,
151
+ ipAddress: "unknown",
152
+ correlationId: error?.correlationId,
153
+ userId: (0, browser_jwt_decoder_1.extractUserIdFromToken)(token) || undefined,
154
+ errorMessage: error instanceof Error ? error.message : String(error),
155
+ stackTrace: error instanceof Error ? error.stack : undefined,
156
+ }); // eslint-disable-line no-console
128
157
  return [];
129
158
  }
130
159
  }
@@ -143,7 +172,18 @@ class PermissionService {
143
172
  await this.cache.delete(`permissions:${userId}`);
144
173
  }
145
174
  catch (error) {
146
- console.error("Failed to clear permissions cache:", error); // eslint-disable-line no-console
175
+ const statusCode = error?.statusCode ||
176
+ error?.response?.status;
177
+ console.error("Failed to clear permissions cache:", {
178
+ method: "DELETE",
179
+ path: "/cache/permissions",
180
+ statusCode,
181
+ ipAddress: "unknown",
182
+ correlationId: error?.correlationId,
183
+ userId: (0, browser_jwt_decoder_1.extractUserIdFromToken)(token) || undefined,
184
+ errorMessage: error instanceof Error ? error.message : String(error),
185
+ stackTrace: error instanceof Error ? error.stack : undefined,
186
+ }); // eslint-disable-line no-console
147
187
  }
148
188
  }
149
189
  }
@@ -1 +1 @@
1
- {"version":3,"file":"permission.service.js","sourceRoot":"","sources":["../../src/services/permission.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permission.service.js","sourceRoot":"","sources":["../../src/services/permission.service.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,40 @@ export declare class RedisService {
7
7
  private config?;
8
8
  private connected;
9
9
  constructor(config?: RedisConfig);
10
+ /**
11
+ * Connect to Redis if configured.
12
+ */
10
13
  connect(): Promise<void>;
14
+ /**
15
+ * Disconnect from Redis.
16
+ */
11
17
  disconnect(): Promise<void>;
18
+ /**
19
+ * Get a cached value by key.
20
+ * @param key - Cache key.
21
+ * @returns Cached value or null.
22
+ */
12
23
  get(key: string): Promise<string | null>;
24
+ /**
25
+ * Set a cached value with TTL.
26
+ * @param key - Cache key.
27
+ * @param value - Serialized value.
28
+ * @param ttl - Time-to-live in seconds.
29
+ * @returns True if set succeeded.
30
+ */
13
31
  set(key: string, value: string, ttl: number): Promise<boolean>;
32
+ /**
33
+ * Delete a cached value.
34
+ * @param key - Cache key.
35
+ * @returns True if delete succeeded.
36
+ */
14
37
  delete(key: string): Promise<boolean>;
38
+ /**
39
+ * Push a value onto a Redis list.
40
+ * @param queue - Queue/list name.
41
+ * @param value - Serialized value.
42
+ * @returns True if push succeeded.
43
+ */
15
44
  rpush(queue: string, value: string): Promise<boolean>;
16
45
  isConnected(): boolean;
17
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"redis.service.d.ts","sourceRoot":"","sources":["../../src/services/redis.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,CAAC,EAAE,WAAW;IAI1B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAcxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAe9D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAerC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAe3D,WAAW,IAAI,OAAO;CAGvB"}
1
+ {"version":3,"file":"redis.service.d.ts","sourceRoot":"","sources":["../../src/services/redis.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAC,CAAQ;IACtB,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,CAAC,EAAE,WAAW;IAIhC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgC9B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC;;;;OAIG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAiB9C;;;;;;OAMG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBpE;;;;OAIG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkB3C;;;;;OAKG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkB3D,WAAW,IAAI,OAAO;CAGvB"}
@@ -13,6 +13,9 @@ class RedisService {
13
13
  this.connected = false;
14
14
  this.config = config;
15
15
  }
16
+ /**
17
+ * Connect to Redis if configured.
18
+ */
16
19
  async connect() {
17
20
  if (!this.config) {
18
21
  // Redis not configured - silently use controller fallback
@@ -36,11 +39,16 @@ class RedisService {
36
39
  }
37
40
  catch (error) {
38
41
  // eslint-disable-next-line no-console
39
- console.error("Failed to connect to Redis:", error);
42
+ console.error("Failed to connect to Redis:", {
43
+ errorMessage: error instanceof Error ? error.message : String(error),
44
+ });
40
45
  this.connected = false;
41
46
  throw error;
42
47
  }
43
48
  }
49
+ /**
50
+ * Disconnect from Redis.
51
+ */
44
52
  async disconnect() {
45
53
  if (this.redis) {
46
54
  await this.redis.disconnect();
@@ -48,6 +56,11 @@ class RedisService {
48
56
  // Disconnection successful - no need to log in production
49
57
  }
50
58
  }
59
+ /**
60
+ * Get a cached value by key.
61
+ * @param key - Cache key.
62
+ * @returns Cached value or null.
63
+ */
51
64
  async get(key) {
52
65
  if (!this.redis || !this.connected) {
53
66
  return null;
@@ -57,10 +70,20 @@ class RedisService {
57
70
  }
58
71
  catch (error) {
59
72
  // eslint-disable-next-line no-console
60
- console.error("Redis get error:", error);
73
+ console.error("Redis get error:", {
74
+ key,
75
+ errorMessage: error instanceof Error ? error.message : String(error),
76
+ });
61
77
  return null;
62
78
  }
63
79
  }
80
+ /**
81
+ * Set a cached value with TTL.
82
+ * @param key - Cache key.
83
+ * @param value - Serialized value.
84
+ * @param ttl - Time-to-live in seconds.
85
+ * @returns True if set succeeded.
86
+ */
64
87
  async set(key, value, ttl) {
65
88
  if (!this.redis || !this.connected) {
66
89
  return false;
@@ -71,10 +94,18 @@ class RedisService {
71
94
  }
72
95
  catch (error) {
73
96
  // eslint-disable-next-line no-console
74
- console.error("Redis set error:", error);
97
+ console.error("Redis set error:", {
98
+ key,
99
+ errorMessage: error instanceof Error ? error.message : String(error),
100
+ });
75
101
  return false;
76
102
  }
77
103
  }
104
+ /**
105
+ * Delete a cached value.
106
+ * @param key - Cache key.
107
+ * @returns True if delete succeeded.
108
+ */
78
109
  async delete(key) {
79
110
  if (!this.redis || !this.connected) {
80
111
  return false;
@@ -85,10 +116,19 @@ class RedisService {
85
116
  }
86
117
  catch (error) {
87
118
  // eslint-disable-next-line no-console
88
- console.error("Redis delete error:", error);
119
+ console.error("Redis delete error:", {
120
+ key,
121
+ errorMessage: error instanceof Error ? error.message : String(error),
122
+ });
89
123
  return false;
90
124
  }
91
125
  }
126
+ /**
127
+ * Push a value onto a Redis list.
128
+ * @param queue - Queue/list name.
129
+ * @param value - Serialized value.
130
+ * @returns True if push succeeded.
131
+ */
92
132
  async rpush(queue, value) {
93
133
  if (!this.redis || !this.connected) {
94
134
  return false;
@@ -99,7 +139,10 @@ class RedisService {
99
139
  }
100
140
  catch (error) {
101
141
  // eslint-disable-next-line no-console
102
- console.error("Redis rpush error:", error);
142
+ console.error("Redis rpush error:", {
143
+ queue,
144
+ errorMessage: error instanceof Error ? error.message : String(error),
145
+ });
103
146
  return false;
104
147
  }
105
148
  }
@@ -1 +1 @@
1
- {"version":3,"file":"redis.service.js","sourceRoot":"","sources":["../../src/services/redis.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redis.service.js","sourceRoot":"","sources":["../../src/services/redis.service.ts"],"names":[],"mappings":"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"}
@@ -9,15 +9,20 @@ export declare class RoleService {
9
9
  private httpClient;
10
10
  private apiClient;
11
11
  private cache;
12
- private config;
13
12
  private roleTTL;
14
13
  private applicationContextService;
15
14
  constructor(httpClient: HttpClient, apiClient: ApiClient, cache: CacheService);
16
- /** Build auth strategy with bearer token */
15
+ /**
16
+ * Build auth strategy with bearer token.
17
+ */
17
18
  private buildAuthStrategy;
18
- /** Get environment query params from application context */
19
+ /**
20
+ * Get environment query params from application context.
21
+ */
19
22
  private getEnvironmentParams;
20
- /** Get userId from token, validating via API if not in JWT */
23
+ /**
24
+ * Get userId from token, validating via API if not in JWT.
25
+ */
21
26
  private resolveUserId;
22
27
  /**
23
28
  * Get user roles with Redis caching
@@ -25,7 +30,9 @@ export declare class RoleService {
25
30
  * @param authStrategy - Optional authentication strategy override
26
31
  */
27
32
  getRoles(token: string, authStrategy?: AuthStrategy): Promise<string[]>;
28
- /** Fetch roles from controller API */
33
+ /**
34
+ * Fetch roles from controller API.
35
+ */
29
36
  private fetchRolesFromController;
30
37
  /**
31
38
  * Check if user has specific role
@@ -1 +1 @@
1
- {"version":3,"file":"role.service.d.ts","sourceRoot":"","sources":["../../src/services/role.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAEL,YAAY,EAEb,MAAM,uBAAuB,CAAC;AAS/B,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,yBAAyB,CAA4B;gBAEjD,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY;IAS7E,4CAA4C;IAC5C,OAAO,CAAC,iBAAiB;IAKzB,4DAA4D;IAC5D,OAAO,CAAC,oBAAoB;IAK5B,8DAA8D;YAChD,aAAa;IAQ3B;;;;OAIG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA6B7E,sCAAsC;YACxB,wBAAwB;IAOtC;;;;;OAKG;IACG,OAAO,CACX,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IAKnB;;;;;OAKG;IACG,UAAU,CACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EAAE,EACf,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IAKnB;;;;;OAKG;IACG,WAAW,CACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EAAE,EACf,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IAKnB;;;;OAIG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAoBlF"}
1
+ {"version":3,"file":"role.service.d.ts","sourceRoot":"","sources":["../../src/services/role.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,YAAY,EAEb,MAAM,uBAAuB,CAAC;AAS/B,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,yBAAyB,CAA4B;gBAEjD,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY;IAQ7E;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAK5B;;OAEG;YACW,aAAa;IAQ3B;;;;OAIG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAyC7E;;OAEG;YACW,wBAAwB;IAOtC;;;;;OAKG;IACG,OAAO,CACX,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IAKnB;;;;;OAKG;IACG,UAAU,CACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EAAE,EACf,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IAKnB;;;;;OAKG;IACG,WAAW,CACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EAAE,EACf,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,OAAO,CAAC;IAKnB;;;;OAIG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAgClF"}
@@ -8,24 +8,29 @@ const browser_jwt_decoder_1 = require("../utils/browser-jwt-decoder");
8
8
  const application_context_service_1 = require("./application-context.service");
9
9
  class RoleService {
10
10
  constructor(httpClient, apiClient, cache) {
11
- this.config = httpClient.config;
12
11
  this.cache = cache;
13
12
  this.httpClient = httpClient;
14
13
  this.apiClient = apiClient;
15
- this.roleTTL = this.config.cache?.roleTTL || 900; // 15 minutes default
14
+ this.roleTTL = this.httpClient.config.cache?.roleTTL || 900; // 15 minutes default
16
15
  this.applicationContextService = new application_context_service_1.ApplicationContextService(httpClient);
17
16
  }
18
- /** Build auth strategy with bearer token */
17
+ /**
18
+ * Build auth strategy with bearer token.
19
+ */
19
20
  buildAuthStrategy(token, authStrategy) {
20
- const base = authStrategy || this.config.authStrategy;
21
+ const base = authStrategy || this.httpClient.config.authStrategy;
21
22
  return base ? { ...base, bearerToken: token } : { methods: ['bearer'], bearerToken: token };
22
23
  }
23
- /** Get environment query params from application context */
24
+ /**
25
+ * Get environment query params from application context.
26
+ */
24
27
  getEnvironmentParams() {
25
28
  const context = this.applicationContextService.getApplicationContext();
26
29
  return context.environment ? { environment: context.environment } : undefined;
27
30
  }
28
- /** Get userId from token, validating via API if not in JWT */
31
+ /**
32
+ * Get userId from token, validating via API if not in JWT.
33
+ */
29
34
  async resolveUserId(token, authStrategy) {
30
35
  const userId = (0, browser_jwt_decoder_1.extractUserIdFromToken)(token);
31
36
  if (userId)
@@ -62,11 +67,24 @@ class RoleService {
62
67
  return roles;
63
68
  }
64
69
  catch (error) {
65
- console.error("Failed to get roles:", error); // eslint-disable-line no-console
70
+ const statusCode = error?.statusCode ||
71
+ error?.response?.status;
72
+ console.error("Failed to get roles:", {
73
+ method: "GET",
74
+ path: "/api/auth/roles",
75
+ statusCode,
76
+ ipAddress: "unknown",
77
+ correlationId: error?.correlationId,
78
+ userId: (0, browser_jwt_decoder_1.extractUserIdFromToken)(token) || undefined,
79
+ errorMessage: error instanceof Error ? error.message : String(error),
80
+ stackTrace: error instanceof Error ? error.stack : undefined,
81
+ }); // eslint-disable-line no-console
66
82
  return [];
67
83
  }
68
84
  }
69
- /** Fetch roles from controller API */
85
+ /**
86
+ * Fetch roles from controller API.
87
+ */
70
88
  async fetchRolesFromController(token, authStrategy) {
71
89
  const authStrategyWithToken = this.buildAuthStrategy(token, authStrategy);
72
90
  const queryParams = this.getEnvironmentParams();
@@ -124,7 +142,18 @@ class RoleService {
124
142
  return roles;
125
143
  }
126
144
  catch (error) {
127
- console.error("Failed to refresh roles:", error); // eslint-disable-line no-console
145
+ const statusCode = error?.statusCode ||
146
+ error?.response?.status;
147
+ console.error("Failed to refresh roles:", {
148
+ method: "POST",
149
+ path: "/api/auth/roles/refresh",
150
+ statusCode,
151
+ ipAddress: "unknown",
152
+ correlationId: error?.correlationId,
153
+ userId: (0, browser_jwt_decoder_1.extractUserIdFromToken)(token) || undefined,
154
+ errorMessage: error instanceof Error ? error.message : String(error),
155
+ stackTrace: error instanceof Error ? error.stack : undefined,
156
+ }); // eslint-disable-line no-console
128
157
  return [];
129
158
  }
130
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"role.service.js","sourceRoot":"","sources":["../../src/services/role.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"role.service.js","sourceRoot":"","sources":["../../src/services/role.service.ts"],"names":[],"mappings":"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"}
@@ -35,15 +35,45 @@ export declare class TokenValidationService {
35
35
  * Clear all caches (JWKS + results)
36
36
  */
37
37
  clearAllCaches(): void;
38
+ /**
39
+ * Perform token validation by resolving issuer and validation flow.
40
+ */
38
41
  private performValidation;
42
+ /**
43
+ * Determine token type based on issuer and optional hint.
44
+ */
39
45
  private determineTokenType;
46
+ /**
47
+ * Validate Keycloak tokens using JWKS and issuer validation.
48
+ */
40
49
  private validateKeycloakToken;
50
+ /**
51
+ * Validate delegated tokens using provider-specific JWKS.
52
+ */
41
53
  private validateDelegatedToken;
54
+ /**
55
+ * Normalize JWT payload to TokenPayload structure.
56
+ */
42
57
  private mapPayload;
58
+ /**
59
+ * Fetch or reuse cached JWKS for a given URI.
60
+ */
43
61
  private getJWKS;
62
+ /**
63
+ * Create a short hash for caching token validation results.
64
+ */
44
65
  private getTokenHash;
66
+ /**
67
+ * Read cached validation result for a token if still valid.
68
+ */
45
69
  private getCachedResult;
70
+ /**
71
+ * Cache validation result for a token.
72
+ */
46
73
  private cacheResult;
74
+ /**
75
+ * Decide whether a validation result should be cached.
76
+ */
47
77
  private shouldCacheResult;
48
78
  }
49
79
  //# sourceMappingURL=token-validation.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-validation.service.d.ts","sourceRoot":"","sources":["../../src/services/token-validation.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAEL,sBAAsB,EACtB,qBAAqB,EAErB,cAAc,EAGf,MAAM,iCAAiC,CAAC;AAGzC,qBAAa,sBAAsB;IAEjC,OAAO,CAAC,SAAS,CAGb;IACJ,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkB;IAGpD,OAAO,CAAC,WAAW,CAA2C;IAC9D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAa;IAEjD,OAAO,CAAC,cAAc,CAAC,CAAiB;gBAE5B,cAAc,CAAC,EAAE,cAAc;IAI3C;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAI/C;;;;;OAKG;IACG,kBAAkB,CACtB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,qBAAqB,CAAC;IA8BjC;;;OAGG;IACH,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAQlC;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAIxB;;OAEG;IACH,cAAc,IAAI,IAAI;YAOR,iBAAiB;IAyB/B,OAAO,CAAC,kBAAkB;YAaZ,qBAAqB;YAsDrB,sBAAsB;IAoDpC,OAAO,CAAC,UAAU;YAeJ,OAAO;IAerB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,iBAAiB;CAU1B"}
1
+ {"version":3,"file":"token-validation.service.d.ts","sourceRoot":"","sources":["../../src/services/token-validation.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAEL,sBAAsB,EACtB,qBAAqB,EAErB,cAAc,EAGf,MAAM,iCAAiC,CAAC;AAGzC,qBAAa,sBAAsB;IAEjC,OAAO,CAAC,SAAS,CAGb;IACJ,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkB;IAGpD,OAAO,CAAC,WAAW,CAA2C;IAC9D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAa;IAEjD,OAAO,CAAC,cAAc,CAAC,CAAiB;gBAE5B,cAAc,CAAC,EAAE,cAAc;IAI3C;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAI/C;;;;;OAKG;IACG,kBAAkB,CACtB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,qBAAqB,CAAC;IA8BjC;;;OAGG;IACH,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAQlC;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAIxB;;OAEG;IACH,cAAc,IAAI,IAAI;IAOtB;;OAEG;YACW,iBAAiB;IAyB/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;YACW,qBAAqB;IAsDnC;;OAEG;YACW,sBAAsB;IAoDpC;;OAEG;IACH,OAAO,CAAC,UAAU;IAelB;;OAEG;YACW,OAAO;IAerB;;OAEG;IACH,OAAO,CAAC,YAAY;IAMpB;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAU1B"}
@@ -82,6 +82,9 @@ class TokenValidationService {
82
82
  this.resultCache.clear();
83
83
  }
84
84
  // ==================== PRIVATE METHODS ====================
85
+ /**
86
+ * Perform token validation by resolving issuer and validation flow.
87
+ */
85
88
  async performValidation(token, options) {
86
89
  // Decode to get issuer (without verification)
87
90
  const decoded = (0, jose_1.decodeJwt)(token);
@@ -101,6 +104,9 @@ class TokenValidationService {
101
104
  return this.validateDelegatedToken(token, issuer, options);
102
105
  }
103
106
  }
107
+ /**
108
+ * Determine token type based on issuer and optional hint.
109
+ */
104
110
  determineTokenType(issuer, hint) {
105
111
  if (hint && hint !== "auto")
106
112
  return hint;
@@ -113,6 +119,9 @@ class TokenValidationService {
113
119
  }
114
120
  return "delegated";
115
121
  }
122
+ /**
123
+ * Validate Keycloak tokens using JWKS and issuer validation.
124
+ */
116
125
  async validateKeycloakToken(token, options) {
117
126
  if (!this.keycloakConfig) {
118
127
  return {
@@ -155,6 +164,9 @@ class TokenValidationService {
155
164
  };
156
165
  }
157
166
  }
167
+ /**
168
+ * Validate delegated tokens using provider-specific JWKS.
169
+ */
158
170
  async validateDelegatedToken(token, issuer, options) {
159
171
  let provider = null;
160
172
  if (typeof options?.delegatedProvider === "function") {
@@ -197,6 +209,9 @@ class TokenValidationService {
197
209
  };
198
210
  }
199
211
  }
212
+ /**
213
+ * Normalize JWT payload to TokenPayload structure.
214
+ */
200
215
  mapPayload(payload) {
201
216
  return {
202
217
  ...payload,
@@ -209,6 +224,9 @@ class TokenValidationService {
209
224
  resourceAccess: payload.resource_access,
210
225
  };
211
226
  }
227
+ /**
228
+ * Fetch or reuse cached JWKS for a given URI.
229
+ */
212
230
  async getJWKS(jwksUri) {
213
231
  const cached = this.jwksCache.get(jwksUri);
214
232
  if (cached && cached.expiresAt > Date.now()) {
@@ -221,12 +239,18 @@ class TokenValidationService {
221
239
  });
222
240
  return keySet;
223
241
  }
242
+ /**
243
+ * Create a short hash for caching token validation results.
244
+ */
224
245
  getTokenHash(token) {
225
246
  // Use first 16 + last 16 chars as pseudo-hash for cache key
226
247
  if (token.length <= 32)
227
248
  return token;
228
249
  return `${token.slice(0, 16)}...${token.slice(-16)}`;
229
250
  }
251
+ /**
252
+ * Read cached validation result for a token if still valid.
253
+ */
230
254
  getCachedResult(token) {
231
255
  const hash = this.getTokenHash(token);
232
256
  const entry = this.resultCache.get(hash);
@@ -239,6 +263,9 @@ class TokenValidationService {
239
263
  }
240
264
  return null;
241
265
  }
266
+ /**
267
+ * Cache validation result for a token.
268
+ */
242
269
  cacheResult(token, result) {
243
270
  const hash = this.getTokenHash(token);
244
271
  this.resultCache.set(hash, {
@@ -246,6 +273,9 @@ class TokenValidationService {
246
273
  expiresAt: Date.now() + this.RESULT_CACHE_TTL_MS,
247
274
  });
248
275
  }
276
+ /**
277
+ * Decide whether a validation result should be cached.
278
+ */
249
279
  shouldCacheResult(result) {
250
280
  // Cache valid results and definitive invalid results
251
281
  // Don't cache config errors (provider not found, etc.)
@@ -1 +1 @@
1
- {"version":3,"file":"token-validation.service.js","sourceRoot":"","sources":["../../src/services/token-validation.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-validation.service.js","sourceRoot":"","sources":["../../src/services/token-validation.service.ts"],"names":[],"mappings":"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"}