@aifabrix/miso-client 4.4.2 → 4.4.3

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 (178) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +20 -38
  3. package/dist/api/auth-token.api.d.ts.map +1 -1
  4. package/dist/api/auth-token.api.js +45 -48
  5. package/dist/api/auth-token.api.js.map +1 -1
  6. package/dist/api/logs-create.api.d.ts.map +1 -1
  7. package/dist/api/logs-create.api.js +37 -50
  8. package/dist/api/logs-create.api.js.map +1 -1
  9. package/dist/express/client-token-endpoint.d.ts.map +1 -1
  10. package/dist/express/client-token-endpoint.js +88 -82
  11. package/dist/express/client-token-endpoint.js.map +1 -1
  12. package/dist/express/error-handler.d.ts.map +1 -1
  13. package/dist/express/error-handler.js +15 -7
  14. package/dist/express/error-handler.js.map +1 -1
  15. package/dist/express/error-types.d.ts +8 -1
  16. package/dist/express/error-types.d.ts.map +1 -1
  17. package/dist/express/error-types.js +11 -5
  18. package/dist/express/error-types.js.map +1 -1
  19. package/dist/express/index.d.ts +1 -1
  20. package/dist/express/index.d.ts.map +1 -1
  21. package/dist/express/response-helper.d.ts.map +1 -1
  22. package/dist/express/response-helper.js +4 -1
  23. package/dist/express/response-helper.js.map +1 -1
  24. package/dist/express/validation-helper.d.ts +1 -1
  25. package/dist/express/validation-helper.d.ts.map +1 -1
  26. package/dist/express/validation-helper.js +8 -10
  27. package/dist/express/validation-helper.js.map +1 -1
  28. package/dist/index.d.ts +3 -354
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +5 -542
  31. package/dist/index.js.map +1 -1
  32. package/dist/miso-client.d.ts +82 -0
  33. package/dist/miso-client.d.ts.map +1 -0
  34. package/dist/miso-client.js +187 -0
  35. package/dist/miso-client.js.map +1 -0
  36. package/dist/sdk-exports.d.ts +56 -0
  37. package/dist/sdk-exports.d.ts.map +1 -0
  38. package/dist/sdk-exports.js +105 -0
  39. package/dist/sdk-exports.js.map +1 -0
  40. package/dist/services/application-context.service.d.ts +9 -1
  41. package/dist/services/application-context.service.d.ts.map +1 -1
  42. package/dist/services/application-context.service.js +46 -60
  43. package/dist/services/application-context.service.js.map +1 -1
  44. package/dist/services/auth-cache-helpers.d.ts.map +1 -1
  45. package/dist/services/auth-cache-helpers.js +4 -6
  46. package/dist/services/auth-cache-helpers.js.map +1 -1
  47. package/dist/services/auth-error-handler.d.ts.map +1 -1
  48. package/dist/services/auth-error-handler.js +12 -1
  49. package/dist/services/auth-error-handler.js.map +1 -1
  50. package/dist/services/auth.service.d.ts.map +1 -1
  51. package/dist/services/auth.service.js +9 -13
  52. package/dist/services/auth.service.js.map +1 -1
  53. package/dist/services/browser-permission.service.d.ts +4 -4
  54. package/dist/services/browser-permission.service.d.ts.map +1 -1
  55. package/dist/services/browser-permission.service.js +35 -80
  56. package/dist/services/browser-permission.service.js.map +1 -1
  57. package/dist/services/browser-role.service.d.ts +4 -4
  58. package/dist/services/browser-role.service.d.ts.map +1 -1
  59. package/dist/services/browser-role.service.js +40 -96
  60. package/dist/services/browser-role.service.js.map +1 -1
  61. package/dist/services/cache.service.d.ts +1 -0
  62. package/dist/services/cache.service.d.ts.map +1 -1
  63. package/dist/services/cache.service.js +19 -32
  64. package/dist/services/cache.service.js.map +1 -1
  65. package/dist/services/logger/logger-context.d.ts +17 -17
  66. package/dist/services/logger/logger-context.d.ts.map +1 -1
  67. package/dist/services/logger/logger-context.js +7 -17
  68. package/dist/services/logger/logger-context.js.map +1 -1
  69. package/dist/services/logger/logger-http-utils.d.ts +9 -0
  70. package/dist/services/logger/logger-http-utils.d.ts.map +1 -0
  71. package/dist/services/logger/logger-http-utils.js +45 -0
  72. package/dist/services/logger/logger-http-utils.js.map +1 -0
  73. package/dist/services/logger/logger.service.d.ts +1 -4
  74. package/dist/services/logger/logger.service.d.ts.map +1 -1
  75. package/dist/services/logger/logger.service.js +61 -77
  76. package/dist/services/logger/logger.service.js.map +1 -1
  77. package/dist/services/permission.service.d.ts.map +1 -1
  78. package/dist/services/permission.service.js +17 -30
  79. package/dist/services/permission.service.js.map +1 -1
  80. package/dist/services/role.service.d.ts.map +1 -1
  81. package/dist/services/role.service.js +12 -20
  82. package/dist/services/role.service.js.map +1 -1
  83. package/dist/services/token-validation.service.js +1 -3
  84. package/dist/services/token-validation.service.js.map +1 -1
  85. package/dist/types/config.types.d.ts +1 -0
  86. package/dist/types/config.types.d.ts.map +1 -1
  87. package/dist/types/config.types.js.map +1 -1
  88. package/dist/utils/audit-log-queue.d.ts +3 -0
  89. package/dist/utils/audit-log-queue.d.ts.map +1 -1
  90. package/dist/utils/audit-log-queue.js +47 -66
  91. package/dist/utils/audit-log-queue.js.map +1 -1
  92. package/dist/utils/client-token-manager.d.ts +0 -7
  93. package/dist/utils/client-token-manager.d.ts.map +1 -1
  94. package/dist/utils/client-token-manager.js +40 -46
  95. package/dist/utils/client-token-manager.js.map +1 -1
  96. package/dist/utils/config-loader.d.ts +0 -5
  97. package/dist/utils/config-loader.d.ts.map +1 -1
  98. package/dist/utils/config-loader.js +14 -11
  99. package/dist/utils/config-loader.js.map +1 -1
  100. package/dist/utils/console-logger.d.ts +4 -0
  101. package/dist/utils/console-logger.d.ts.map +1 -1
  102. package/dist/utils/console-logger.js +21 -5
  103. package/dist/utils/console-logger.js.map +1 -1
  104. package/dist/utils/data-client-audit.d.ts +19 -1
  105. package/dist/utils/data-client-audit.d.ts.map +1 -1
  106. package/dist/utils/data-client-audit.js +87 -117
  107. package/dist/utils/data-client-audit.js.map +1 -1
  108. package/dist/utils/data-client-auth.d.ts.map +1 -1
  109. package/dist/utils/data-client-auth.js +139 -95
  110. package/dist/utils/data-client-auth.js.map +1 -1
  111. package/dist/utils/data-client-auto-init.d.ts.map +1 -1
  112. package/dist/utils/data-client-auto-init.js +57 -72
  113. package/dist/utils/data-client-auto-init.js.map +1 -1
  114. package/dist/utils/data-client-init.d.ts.map +1 -1
  115. package/dist/utils/data-client-init.js +3 -3
  116. package/dist/utils/data-client-init.js.map +1 -1
  117. package/dist/utils/data-client-oauth.d.ts.map +1 -1
  118. package/dist/utils/data-client-oauth.js +84 -60
  119. package/dist/utils/data-client-oauth.js.map +1 -1
  120. package/dist/utils/data-client-redirect.d.ts.map +1 -1
  121. package/dist/utils/data-client-redirect.js +75 -98
  122. package/dist/utils/data-client-redirect.js.map +1 -1
  123. package/dist/utils/data-client-request.d.ts +24 -5
  124. package/dist/utils/data-client-request.d.ts.map +1 -1
  125. package/dist/utils/data-client-request.js +80 -42
  126. package/dist/utils/data-client-request.js.map +1 -1
  127. package/dist/utils/data-client-response.d.ts +63 -15
  128. package/dist/utils/data-client-response.d.ts.map +1 -1
  129. package/dist/utils/data-client-response.js +89 -33
  130. package/dist/utils/data-client-response.js.map +1 -1
  131. package/dist/utils/data-client.d.ts +4 -0
  132. package/dist/utils/data-client.d.ts.map +1 -1
  133. package/dist/utils/data-client.js +57 -30
  134. package/dist/utils/data-client.js.map +1 -1
  135. package/dist/utils/environment-token.d.ts.map +1 -1
  136. package/dist/utils/environment-token.js +49 -59
  137. package/dist/utils/environment-token.js.map +1 -1
  138. package/dist/utils/error-extractor.d.ts.map +1 -1
  139. package/dist/utils/error-extractor.js +56 -79
  140. package/dist/utils/error-extractor.js.map +1 -1
  141. package/dist/utils/filter-colon.utils.d.ts.map +1 -1
  142. package/dist/utils/filter-colon.utils.js +34 -45
  143. package/dist/utils/filter-colon.utils.js.map +1 -1
  144. package/dist/utils/filter-schema-loader.d.ts +12 -0
  145. package/dist/utils/filter-schema-loader.d.ts.map +1 -0
  146. package/dist/utils/filter-schema-loader.js +69 -0
  147. package/dist/utils/filter-schema-loader.js.map +1 -0
  148. package/dist/utils/filter-schema.utils.d.ts +1 -14
  149. package/dist/utils/filter-schema.utils.d.ts.map +1 -1
  150. package/dist/utils/filter-schema.utils.js +78 -136
  151. package/dist/utils/filter-schema.utils.js.map +1 -1
  152. package/dist/utils/filter.utils.d.ts.map +1 -1
  153. package/dist/utils/filter.utils.js +38 -36
  154. package/dist/utils/filter.utils.js.map +1 -1
  155. package/dist/utils/http-client-audit.d.ts.map +1 -1
  156. package/dist/utils/http-client-audit.js +3 -12
  157. package/dist/utils/http-client-audit.js.map +1 -1
  158. package/dist/utils/http-client-masking.d.ts +13 -2
  159. package/dist/utils/http-client-masking.d.ts.map +1 -1
  160. package/dist/utils/http-client-masking.js +27 -27
  161. package/dist/utils/http-client-masking.js.map +1 -1
  162. package/dist/utils/http-response-validator.d.ts.map +1 -1
  163. package/dist/utils/http-response-validator.js +8 -3
  164. package/dist/utils/http-response-validator.js.map +1 -1
  165. package/dist/utils/internal-http-client.d.ts.map +1 -1
  166. package/dist/utils/internal-http-client.js +5 -3
  167. package/dist/utils/internal-http-client.js.map +1 -1
  168. package/dist/utils/response-validator.d.ts.map +1 -1
  169. package/dist/utils/response-validator.js +29 -44
  170. package/dist/utils/response-validator.js.map +1 -1
  171. package/dist/utils/sensitive-fields.loader.d.ts +0 -7
  172. package/dist/utils/sensitive-fields.loader.d.ts.map +1 -1
  173. package/dist/utils/sensitive-fields.loader.js +68 -114
  174. package/dist/utils/sensitive-fields.loader.js.map +1 -1
  175. package/dist/utils/token-utils.d.ts.map +1 -1
  176. package/dist/utils/token-utils.js +28 -37
  177. package/dist/utils/token-utils.js.map +1 -1
  178. package/package.json +1 -1
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.BrowserRoleService = void 0;
8
8
  const browser_jwt_decoder_1 = require("../utils/browser-jwt-decoder");
9
9
  const application_context_service_1 = require("./application-context.service");
10
+ const error_extractor_1 = require("../utils/error-extractor");
11
+ const console_logger_1 = require("../utils/console-logger");
10
12
  class BrowserRoleService {
11
13
  constructor(httpClient, apiClient, cache) {
12
14
  this.cache = cache;
@@ -15,10 +17,15 @@ class BrowserRoleService {
15
17
  this.roleTTL = this.httpClient.config.cache?.roleTTL || 900; // 15 minutes default
16
18
  this.applicationContextService = new application_context_service_1.ApplicationContextService(httpClient);
17
19
  }
18
- /**
19
- * Extract userId from JWT token without making API call
20
- * Uses browser-compatible JWT decoder
21
- */
20
+ logRoleError(error, token, operation, method, path) {
21
+ const errorInfo = (0, error_extractor_1.extractErrorInfo)(error, {
22
+ endpoint: path,
23
+ method,
24
+ correlationId: error?.correlationId,
25
+ });
26
+ errorInfo.message = `Failed to ${operation}: ${errorInfo.message}`;
27
+ (0, console_logger_1.logErrorWithContext)(errorInfo, "[BrowserRoleService]");
28
+ }
22
29
  /**
23
30
  * Extract userId from JWT token without verification.
24
31
  */
@@ -38,6 +45,18 @@ class BrowserRoleService {
38
45
  return null;
39
46
  }
40
47
  }
48
+ buildAuthStrategyWithToken(token, authStrategy) {
49
+ const base = authStrategy || this.httpClient.config.authStrategy;
50
+ return base ? { ...base, bearerToken: token } : { methods: ['bearer'], bearerToken: token };
51
+ }
52
+ async resolveUserId(token, authStrategy) {
53
+ const userInfo = await this.apiClient.auth.validateToken({ token }, this.buildAuthStrategyWithToken(token, authStrategy));
54
+ return userInfo.data?.user?.id || null;
55
+ }
56
+ getRolesQueryParams() {
57
+ const context = this.applicationContextService.getApplicationContext();
58
+ return context.environment ? { environment: context.environment } : undefined;
59
+ }
41
60
  /**
42
61
  * Get user roles with caching
43
62
  * Optimized to extract userId from token first to check cache before API call
@@ -46,58 +65,27 @@ class BrowserRoleService {
46
65
  */
47
66
  async getRoles(token, authStrategy) {
48
67
  try {
49
- // Extract userId from token to check cache first (avoids API call on cache hit)
50
68
  let userId = this.extractUserIdFromToken(token);
51
69
  const cacheKey = userId ? `roles:${userId}` : null;
52
- // Check cache first if we have userId
53
70
  if (cacheKey) {
54
71
  const cached = await this.cache.get(cacheKey);
55
- if (cached) {
72
+ if (cached)
56
73
  return cached.roles || [];
57
- }
58
74
  }
59
- // Cache miss or no userId in token - fetch from controller
60
- // If we don't have userId, get it from validate endpoint
61
75
  if (!userId) {
62
- const authStrategyToUse = authStrategy || this.httpClient.config.authStrategy;
63
- const authStrategyWithToken = authStrategyToUse
64
- ? { ...authStrategyToUse, bearerToken: token }
65
- : { methods: ['bearer'], bearerToken: token };
66
- const userInfo = await this.apiClient.auth.validateToken({ token }, authStrategyWithToken);
67
- userId = userInfo.data?.user?.id || null;
68
- if (!userId) {
76
+ userId = await this.resolveUserId(token, authStrategy);
77
+ if (!userId)
69
78
  return [];
70
- }
71
79
  }
72
- // Cache miss - fetch from controller using ApiClient
73
- const authStrategyToUse = authStrategy || this.httpClient.config.authStrategy;
74
- const authStrategyWithToken = authStrategyToUse
75
- ? { ...authStrategyToUse, bearerToken: token }
76
- : { methods: ['bearer'], bearerToken: token };
77
- // Extract environment from application context service
78
- const context = this.applicationContextService.getApplicationContext();
79
- const queryParams = context.environment ? { environment: context.environment } : undefined;
80
+ const authStrategyWithToken = this.buildAuthStrategyWithToken(token, authStrategy);
81
+ const queryParams = this.getRolesQueryParams();
80
82
  const roleResult = await this.apiClient.roles.getRoles(queryParams, authStrategyWithToken);
81
83
  const roles = roleResult.data?.roles || [];
82
- // Cache the result (use userId-based key)
83
- const finalCacheKey = `roles:${userId}`;
84
- await this.cache.set(finalCacheKey, { roles, timestamp: Date.now() }, this.roleTTL);
84
+ await this.cache.set(`roles:${userId}`, { roles, timestamp: Date.now() }, this.roleTTL);
85
85
  return roles;
86
86
  }
87
87
  catch (error) {
88
- // eslint-disable-next-line no-console
89
- const statusCode = error?.statusCode ||
90
- error?.response?.status;
91
- console.error("Failed to get roles:", {
92
- method: "GET",
93
- path: "/api/auth/roles",
94
- statusCode,
95
- ipAddress: "unknown",
96
- correlationId: error?.correlationId,
97
- userId: this.extractUserIdFromToken(token) || undefined,
98
- errorMessage: error instanceof Error ? error.message : String(error),
99
- stackTrace: error instanceof Error ? error.stack : undefined,
100
- });
88
+ this.logRoleError(error, token, "getRoles", "GET", "/api/auth/roles");
101
89
  return [];
102
90
  }
103
91
  }
@@ -138,41 +126,18 @@ class BrowserRoleService {
138
126
  */
139
127
  async refreshRoles(token, authStrategy) {
140
128
  try {
141
- // Get user info to extract userId
142
- const authStrategyToUse = authStrategy || this.httpClient.config.authStrategy;
143
- const authStrategyWithToken = authStrategyToUse
144
- ? { ...authStrategyToUse, bearerToken: token }
145
- : { methods: ['bearer'], bearerToken: token };
146
- const userInfo = await this.apiClient.auth.validateToken({ token }, authStrategyWithToken);
147
- if (!userInfo.data?.user?.id) {
129
+ const userId = await this.resolveUserId(token, authStrategy);
130
+ if (!userId)
148
131
  return [];
149
- }
150
- const userId = userInfo.data.user.id;
151
- const cacheKey = `roles:${userId}`;
152
- // Extract environment from application context service
153
- const context = this.applicationContextService.getApplicationContext();
154
- const queryParams = context.environment ? { environment: context.environment } : undefined;
155
- // Fetch fresh roles from controller using refresh endpoint via ApiClient
132
+ const authStrategyWithToken = this.buildAuthStrategyWithToken(token, authStrategy);
133
+ const queryParams = this.getRolesQueryParams();
156
134
  const roleResult = await this.apiClient.roles.refreshRoles(queryParams, authStrategyWithToken);
157
135
  const roles = roleResult.data?.roles || [];
158
- // Update cache with fresh data
159
- await this.cache.set(cacheKey, { roles, timestamp: Date.now() }, this.roleTTL);
136
+ await this.cache.set(`roles:${userId}`, { roles, timestamp: Date.now() }, this.roleTTL);
160
137
  return roles;
161
138
  }
162
139
  catch (error) {
163
- // eslint-disable-next-line no-console
164
- const statusCode = error?.statusCode ||
165
- error?.response?.status;
166
- console.error("Failed to refresh roles:", {
167
- method: "POST",
168
- path: "/api/auth/roles/refresh",
169
- statusCode,
170
- ipAddress: "unknown",
171
- correlationId: error?.correlationId,
172
- userId: this.extractUserIdFromToken(token) || undefined,
173
- errorMessage: error instanceof Error ? error.message : String(error),
174
- stackTrace: error instanceof Error ? error.stack : undefined,
175
- });
140
+ this.logRoleError(error, token, "refreshRoles", "POST", "/api/auth/roles/refresh");
176
141
  return [];
177
142
  }
178
143
  }
@@ -183,34 +148,13 @@ class BrowserRoleService {
183
148
  */
184
149
  async clearRolesCache(token, authStrategy) {
185
150
  try {
186
- // Get user info to extract userId
187
- const authStrategyToUse = authStrategy || this.httpClient.config.authStrategy;
188
- const authStrategyWithToken = authStrategyToUse
189
- ? { ...authStrategyToUse, bearerToken: token }
190
- : { methods: ['bearer'], bearerToken: token };
191
- const userInfo = await this.apiClient.auth.validateToken({ token }, authStrategyWithToken);
192
- if (!userInfo.data?.user?.id) {
151
+ const userId = await this.resolveUserId(token, authStrategy);
152
+ if (!userId)
193
153
  return;
194
- }
195
- const userId = userInfo.data.user.id;
196
- const cacheKey = `roles:${userId}`;
197
- // Clear from cache
198
- await this.cache.delete(cacheKey);
154
+ await this.cache.delete(`roles:${userId}`);
199
155
  }
200
156
  catch (error) {
201
- // eslint-disable-next-line no-console
202
- const statusCode = error?.statusCode ||
203
- error?.response?.status;
204
- console.error("Failed to clear roles cache:", {
205
- method: "DELETE",
206
- path: "/cache/roles",
207
- statusCode,
208
- ipAddress: "unknown",
209
- correlationId: error?.correlationId,
210
- userId: this.extractUserIdFromToken(token) || undefined,
211
- errorMessage: error instanceof Error ? error.message : String(error),
212
- stackTrace: error instanceof Error ? error.stack : undefined,
213
- });
157
+ this.logRoleError(error, token, "clearRolesCache", "DELETE", "/cache/roles");
214
158
  }
215
159
  }
216
160
  }
@@ -1 +1 @@
1
- {"version":3,"file":"browser-role.service.js","sourceRoot":"","sources":["../../src/services/browser-role.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-role.service.js","sourceRoot":"","sources":["../../src/services/browser-role.service.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ export declare class CacheService {
15
15
  * Clean up expired entries from memory cache
16
16
  */
17
17
  private cleanupExpired;
18
+ private parseAndCacheRedisValue;
18
19
  /**
19
20
  * Get cached value
20
21
  * Checks Redis first, then falls back to memory cache
@@ -1 +1 @@
1
- {"version":3,"file":"cache.service.d.ts","sourceRoot":"","sources":["../../src/services/cache.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAO/C,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAC,CAAe;IAC7B,OAAO,CAAC,WAAW,CAA+C;IAClE,OAAO,CAAC,eAAe,CAAC,CAAiB;IAEzC;;;OAGG;gBACS,KAAK,CAAC,EAAE,YAAY;IAgBhC;;OAEG;IACH,OAAO,CAAC,cAAc;IAetB;;;;;OAKG;IACG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IA+C5C;;;;;;;OAOG;IACG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA+BlE;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;;;;OAKG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAc3C;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5B;;;OAGG;IACH,OAAO,IAAI,IAAI;CAOhB"}
1
+ {"version":3,"file":"cache.service.d.ts","sourceRoot":"","sources":["../../src/services/cache.service.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAS/C,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAC,CAAe;IAC7B,OAAO,CAAC,WAAW,CAA+C;IAClE,OAAO,CAAC,eAAe,CAAC,CAAiB;IAEzC;;;OAGG;gBACS,KAAK,CAAC,EAAE,YAAY;IAgBhC;;OAEG;IACH,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,uBAAuB;IAe/B;;;;;OAKG;IACG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAsB5C;;;;;;;OAOG;IACG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA+BlE;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;;;;OAKG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAc3C;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5B;;;OAGG;IACH,OAAO,IAAI,IAAI;CAOhB"}
@@ -4,6 +4,8 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.CacheService = void 0;
7
+ const error_extractor_1 = require("../utils/error-extractor");
8
+ const console_logger_1 = require("../utils/console-logger");
7
9
  class CacheService {
8
10
  /**
9
11
  * Create a CacheService instance
@@ -36,6 +38,18 @@ class CacheService {
36
38
  this.memoryCache.delete(key);
37
39
  }
38
40
  }
41
+ parseAndCacheRedisValue(key, cached) {
42
+ try {
43
+ const parsed = JSON.parse(cached);
44
+ this.setInMemory(key, parsed, 300);
45
+ return parsed;
46
+ }
47
+ catch (error) {
48
+ (0, console_logger_1.logErrorWithContext)((0, error_extractor_1.extractErrorInfo)(error, { endpoint: key, method: "parseCache" }), "[CacheService]");
49
+ void this.delete(key);
50
+ return null;
51
+ }
52
+ }
39
53
  /**
40
54
  * Get cached value
41
55
  * Checks Redis first, then falls back to memory cache
@@ -44,33 +58,13 @@ class CacheService {
44
58
  */
45
59
  async get(key) {
46
60
  try {
47
- // Try Redis first if available
48
61
  if (this.redis && this.redis.isConnected()) {
49
62
  const cached = await this.redis.get(key);
50
- if (cached) {
51
- try {
52
- const parsed = JSON.parse(cached);
53
- // Also cache in memory for faster subsequent access
54
- // We don't know the TTL from Redis, so we'll use a default 5 minutes
55
- // This is just for optimization, Redis is still the source of truth
56
- this.setInMemory(key, parsed, 300);
57
- return parsed;
58
- }
59
- catch (error) {
60
- // Invalid JSON, remove from cache
61
- console.warn("Failed to parse cached data:", {
62
- key,
63
- errorMessage: error instanceof Error ? error.message : String(error),
64
- });
65
- await this.delete(key);
66
- return null;
67
- }
68
- }
63
+ if (cached)
64
+ return this.parseAndCacheRedisValue(key, cached);
69
65
  }
70
- // Fallback to memory cache
71
66
  const entry = this.memoryCache.get(key);
72
67
  if (entry) {
73
- // Check if expired
74
68
  if (entry.expiresAt < Date.now()) {
75
69
  this.memoryCache.delete(key);
76
70
  return null;
@@ -79,13 +73,9 @@ class CacheService {
79
73
  }
80
74
  return null;
81
75
  }
82
- catch (error) {
83
- // On error, try memory cache
76
+ catch {
84
77
  const entry = this.memoryCache.get(key);
85
- if (entry && entry.expiresAt >= Date.now()) {
86
- return entry.value;
87
- }
88
- return null;
78
+ return entry && entry.expiresAt >= Date.now() ? entry.value : null;
89
79
  }
90
80
  }
91
81
  /**
@@ -117,10 +107,7 @@ class CacheService {
117
107
  return false; // Indicate Redis failed, but memory cache set
118
108
  }
119
109
  catch (memoryError) {
120
- console.error("Failed to cache value:", {
121
- key,
122
- errorMessage: error instanceof Error ? error.message : String(error),
123
- });
110
+ (0, console_logger_1.logErrorWithContext)((0, error_extractor_1.extractErrorInfo)(error, { endpoint: key, method: "setCache" }), "[CacheService]");
124
111
  return false;
125
112
  }
126
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cache.service.js","sourceRoot":"","sources":["../../src/services/cache.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.service.js","sourceRoot":"","sources":["../../src/services/cache.service.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,12 @@ export declare function extractJwtContext(token?: string): {
22
22
  * @returns Partial LogEntry with environment metadata
23
23
  */
24
24
  export declare function extractEnvironmentMetadata(): Partial<LogEntry>;
25
+ export interface GetLogWithRequestOptions {
26
+ applicationContextService: ApplicationContextService;
27
+ generateCorrelationId: () => string;
28
+ maskSensitiveData: boolean;
29
+ clientId?: string;
30
+ }
25
31
  /**
26
32
  * Get LogEntry object with request context extracted
27
33
  * Extracts IP, method, path, userAgent, correlationId, userId from Express Request
@@ -31,19 +37,16 @@ export declare function extractEnvironmentMetadata(): Partial<LogEntry>;
31
37
  * @param message - Log message
32
38
  * @param level - Optional log level (defaults to 'info')
33
39
  * @param context - Optional additional context
34
- * @param applicationContextService - ApplicationContextService for application/environment extraction
35
- * @param generateCorrelationId - Function to generate correlation ID
36
- * @param maskSensitiveData - Whether to mask sensitive data
37
- * @param clientId - Client ID to use as fallback when application is empty
40
+ * @param options - Options with applicationContextService, generateCorrelationId, maskSensitiveData, clientId
38
41
  * @returns Complete LogEntry object with all request context extracted
39
- *
40
- * @example
41
- * ```typescript
42
- * const logEntry = getLogWithRequest(req, 'User action', 'info', { action: 'login' }, applicationContextService, generateCorrelationId, true, config.clientId);
43
- * await myCustomLogger.save(logEntry);
44
- * ```
45
42
  */
46
- export declare function getLogWithRequest(req: Request, message: string, level: LogEntry["level"] | undefined, context: Record<string, unknown> | undefined, applicationContextService: ApplicationContextService, generateCorrelationId: () => string, maskSensitiveData: boolean, clientId?: string): LogEntry;
43
+ export declare function getLogWithRequest(req: Request, message: string, level: LogEntry["level"] | undefined, context: Record<string, unknown> | undefined, options: GetLogWithRequestOptions): LogEntry;
44
+ export interface GetWithContextOptions {
45
+ applicationContextService: ApplicationContextService;
46
+ generateCorrelationId: () => string;
47
+ maskSensitiveData: boolean;
48
+ clientId?: string;
49
+ }
47
50
  /**
48
51
  * Get LogEntry object with provided context
49
52
  * Generates correlation ID automatically and extracts metadata from environment
@@ -51,17 +54,14 @@ export declare function getLogWithRequest(req: Request, message: string, level:
51
54
  * @param context - Context object to include in logs
52
55
  * @param message - Log message
53
56
  * @param level - Optional log level (defaults to 'info')
54
- * @param applicationContextService - ApplicationContextService for application/environment extraction
55
- * @param generateCorrelationId - Function to generate correlation ID
56
- * @param maskSensitiveData - Whether to mask sensitive data
57
- * @param clientId - Client ID to use as fallback when application is empty
57
+ * @param options - Options with applicationContextService, generateCorrelationId, maskSensitiveData, clientId
58
58
  * @returns Complete LogEntry object
59
59
  *
60
60
  * @example
61
61
  * ```typescript
62
- * const logEntry = getWithContext({ operation: 'sync' }, 'Sync started', 'info', applicationContextService, generateCorrelationId, true, config.clientId);
62
+ * const logEntry = getWithContext({ operation: 'sync' }, 'Sync started', 'info', { applicationContextService, generateCorrelationId, maskSensitiveData: true, clientId: config.clientId });
63
63
  * await myCustomLogger.save(logEntry);
64
64
  * ```
65
65
  */
66
- export declare function getWithContext(context: Record<string, unknown>, message: string, level: LogEntry["level"] | undefined, applicationContextService: ApplicationContextService, generateCorrelationId: () => string, maskSensitiveData: boolean, clientId?: string): LogEntry;
66
+ export declare function getWithContext(context: Record<string, unknown>, message: string, level: LogEntry["level"] | undefined, options: GetWithContextOptions): LogEntry;
67
67
  //# sourceMappingURL=logger-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger-context.d.ts","sourceRoot":"","sources":["../../../src/services/logger/logger-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CA0BA;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CAAC,QAAQ,CAAC,CAuB9D;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAS,EACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC5C,yBAAyB,EAAE,yBAAyB,EACpD,qBAAqB,EAAE,MAAM,MAAM,EACnC,iBAAiB,EAAE,OAAO,EAC1B,QAAQ,CAAC,EAAE,MAAM,GAChB,QAAQ,CAyCV;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAS,EACjC,yBAAyB,EAAE,yBAAyB,EACpD,qBAAqB,EAAE,MAAM,MAAM,EACnC,iBAAiB,EAAE,OAAO,EAC1B,QAAQ,CAAC,EAAE,MAAM,GAChB,QAAQ,CAqBV"}
1
+ {"version":3,"file":"logger-context.d.ts","sourceRoot":"","sources":["../../../src/services/logger/logger-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CA0BA;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,OAAO,CAAC,QAAQ,CAAC,CAuB9D;AAED,MAAM,WAAW,wBAAwB;IACvC,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,qBAAqB,EAAE,MAAM,MAAM,CAAC;IACpC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAS,EACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC5C,OAAO,EAAE,wBAAwB,GAChC,QAAQ,CA+CV;AAED,MAAM,WAAW,qBAAqB;IACpC,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,qBAAqB,EAAE,MAAM,MAAM,CAAC;IACpC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAS,EACjC,OAAO,EAAE,qBAAqB,GAC7B,QAAQ,CAsBV"}
@@ -72,19 +72,11 @@ function extractEnvironmentMetadata() {
72
72
  * @param message - Log message
73
73
  * @param level - Optional log level (defaults to 'info')
74
74
  * @param context - Optional additional context
75
- * @param applicationContextService - ApplicationContextService for application/environment extraction
76
- * @param generateCorrelationId - Function to generate correlation ID
77
- * @param maskSensitiveData - Whether to mask sensitive data
78
- * @param clientId - Client ID to use as fallback when application is empty
75
+ * @param options - Options with applicationContextService, generateCorrelationId, maskSensitiveData, clientId
79
76
  * @returns Complete LogEntry object with all request context extracted
80
- *
81
- * @example
82
- * ```typescript
83
- * const logEntry = getLogWithRequest(req, 'User action', 'info', { action: 'login' }, applicationContextService, generateCorrelationId, true, config.clientId);
84
- * await myCustomLogger.save(logEntry);
85
- * ```
86
77
  */
87
- function getLogWithRequest(req, message, level = "info", context, applicationContextService, generateCorrelationId, maskSensitiveData, clientId) {
78
+ function getLogWithRequest(req, message, level = "info", context, options) {
79
+ const { applicationContextService, generateCorrelationId, maskSensitiveData, clientId, } = options;
88
80
  const requestContext = (0, request_context_1.extractRequestContext)(req);
89
81
  const jwtContext = extractJwtContext(req.headers.authorization?.replace("Bearer ", ""));
90
82
  const metadata = extractEnvironmentMetadata();
@@ -125,19 +117,17 @@ function getLogWithRequest(req, message, level = "info", context, applicationCon
125
117
  * @param context - Context object to include in logs
126
118
  * @param message - Log message
127
119
  * @param level - Optional log level (defaults to 'info')
128
- * @param applicationContextService - ApplicationContextService for application/environment extraction
129
- * @param generateCorrelationId - Function to generate correlation ID
130
- * @param maskSensitiveData - Whether to mask sensitive data
131
- * @param clientId - Client ID to use as fallback when application is empty
120
+ * @param options - Options with applicationContextService, generateCorrelationId, maskSensitiveData, clientId
132
121
  * @returns Complete LogEntry object
133
122
  *
134
123
  * @example
135
124
  * ```typescript
136
- * const logEntry = getWithContext({ operation: 'sync' }, 'Sync started', 'info', applicationContextService, generateCorrelationId, true, config.clientId);
125
+ * const logEntry = getWithContext({ operation: 'sync' }, 'Sync started', 'info', { applicationContextService, generateCorrelationId, maskSensitiveData: true, clientId: config.clientId });
137
126
  * await myCustomLogger.save(logEntry);
138
127
  * ```
139
128
  */
140
- function getWithContext(context, message, level = "info", applicationContextService, generateCorrelationId, maskSensitiveData, clientId) {
129
+ function getWithContext(context, message, level = "info", options) {
130
+ const { applicationContextService, generateCorrelationId, maskSensitiveData, clientId } = options;
141
131
  const metadata = extractEnvironmentMetadata();
142
132
  const correlationId = generateCorrelationId();
143
133
  const appContext = applicationContextService.getApplicationContext();
@@ -1 +1 @@
1
- {"version":3,"file":"logger-context.js","sourceRoot":"","sources":["../../../src/services/logger/logger-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger-context.js","sourceRoot":"","sources":["../../../src/services/logger/logger-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * HTTP logging utilities for LoggerService
3
+ * Extracted to keep logger.service.ts under max-lines limit
4
+ */
5
+ import { LogEntry } from "../../types/config.types";
6
+ import type { ApiClient } from "../../api";
7
+ export declare function isAuthError(error: unknown): boolean;
8
+ export declare function sendAuditLogPayload(apiClient: ApiClient, logEntry: LogEntry, enrichedContext: Record<string, unknown>, logType: "audit" | "error" | "general", logLevel: string): Promise<void>;
9
+ //# sourceMappingURL=logger-http-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger-http-utils.d.ts","sourceRoot":"","sources":["../../../src/services/logger/logger-http-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAInD;AAED,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,EACtC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CA8Bf"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ /**
3
+ * HTTP logging utilities for LoggerService
4
+ * Extracted to keep logger.service.ts under max-lines limit
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.isAuthError = isAuthError;
8
+ exports.sendAuditLogPayload = sendAuditLogPayload;
9
+ function isAuthError(error) {
10
+ if (!(error instanceof Error))
11
+ return false;
12
+ if (error.message.includes("401") || error.message.includes("Unauthorized"))
13
+ return true;
14
+ return error.statusCode === 401;
15
+ }
16
+ async function sendAuditLogPayload(apiClient, logEntry, enrichedContext, logType, logLevel) {
17
+ const auditResource = enrichedContext.resource;
18
+ const providedOldValues = enrichedContext.oldValues;
19
+ const providedNewValues = enrichedContext.newValues;
20
+ const entityType = enrichedContext.entityType ||
21
+ (auditResource?.startsWith("/api/") ? "API Endpoint" : "HTTP Request");
22
+ const entityId = enrichedContext.entityId || auditResource || "unknown";
23
+ const action = enrichedContext.action || "unknown";
24
+ delete enrichedContext.action;
25
+ delete enrichedContext.resource;
26
+ delete enrichedContext.entityType;
27
+ delete enrichedContext.entityId;
28
+ delete enrichedContext.oldValues;
29
+ delete enrichedContext.newValues;
30
+ await apiClient.logs.createLog({
31
+ type: logType,
32
+ data: {
33
+ level: logLevel,
34
+ message: logEntry.message,
35
+ context: enrichedContext,
36
+ correlationId: logEntry.correlationId,
37
+ entityType,
38
+ entityId,
39
+ action,
40
+ oldValues: providedOldValues,
41
+ newValues: providedNewValues,
42
+ },
43
+ });
44
+ }
45
+ //# sourceMappingURL=logger-http-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger-http-utils.js","sourceRoot":"","sources":["../../../src/services/logger/logger-http-utils.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAKH,kCAIC;AAED,kDAoCC;AA1CD,SAAgB,WAAW,CAAC,KAAc;IACxC,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,IAAI,CAAC;IACzF,OAAQ,KAAiC,CAAC,UAAU,KAAK,GAAG,CAAC;AAC/D,CAAC;AAEM,KAAK,UAAU,mBAAmB,CACvC,SAAoB,EACpB,QAAkB,EAClB,eAAwC,EACxC,OAAsC,EACtC,QAAgB;IAEhB,MAAM,aAAa,GAAG,eAAe,CAAC,QAA8B,CAAC;IACrE,MAAM,iBAAiB,GAAG,eAAe,CAAC,SAAgD,CAAC;IAC3F,MAAM,iBAAiB,GAAG,eAAe,CAAC,SAAgD,CAAC;IAC3F,MAAM,UAAU,GAAI,eAAe,CAAC,UAAqB;QACvD,CAAC,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAI,eAAe,CAAC,QAAmB,IAAI,aAAa,IAAI,SAAS,CAAC;IACpF,MAAM,MAAM,GAAI,eAAe,CAAC,MAAiB,IAAI,SAAS,CAAC;IAE/D,OAAO,eAAe,CAAC,MAAM,CAAC;IAC9B,OAAO,eAAe,CAAC,QAAQ,CAAC;IAChC,OAAO,eAAe,CAAC,UAAU,CAAC;IAClC,OAAO,eAAe,CAAC,QAAQ,CAAC;IAChC,OAAO,eAAe,CAAC,SAAS,CAAC;IACjC,OAAO,eAAe,CAAC,SAAS,CAAC;IAEjC,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;QAC7B,IAAI,EAAE,OAAO;QACb,IAAI,EAAE;YACJ,KAAK,EAAE,QAAsC;YAC7C,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,OAAO,EAAE,eAAe;YACxB,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,UAAU;YACV,QAAQ;YACR,MAAM;YACN,SAAS,EAAE,iBAAiB;YAC5B,SAAS,EAAE,iBAAiB;SAC7B;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -38,6 +38,7 @@ export declare class LoggerService extends EventEmitter {
38
38
  private static readonly MAX_FAILURES;
39
39
  private static readonly DISABLE_DURATION_MS;
40
40
  constructor(httpClient: HttpClient, redis: RedisService);
41
+ setHttpClient(httpClient: HttpClient): void;
41
42
  /**
42
43
  * Set ApiClient instance (used to resolve circular dependency)
43
44
  * @param apiClient - ApiClient instance
@@ -113,10 +114,6 @@ export declare class LoggerService extends EventEmitter {
113
114
  * Build enriched context for API payload.
114
115
  */
115
116
  private buildEnrichedContext;
116
- /**
117
- * Detect auth-related HTTP errors for circuit breaker logic.
118
- */
119
- private isAuthError;
120
117
  /**
121
118
  * Send log entry to controller via API client.
122
119
  */
@@ -1 +1 @@
1
- {"version":3,"file":"logger.service.d.ts","sourceRoot":"","sources":["../../../src/services/logger/logger.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.service.d.ts","sourceRoot":"","sources":["../../../src/services/logger/logger.service.ts"],"names":[],"mappings":"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"}