@aifabrix/miso-client 3.1.2 → 3.2.5

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 (87) hide show
  1. package/README.md +57 -2
  2. package/dist/express/client-token-endpoint.d.ts +76 -0
  3. package/dist/express/client-token-endpoint.d.ts.map +1 -0
  4. package/dist/express/client-token-endpoint.js +231 -0
  5. package/dist/express/client-token-endpoint.js.map +1 -0
  6. package/dist/express/index.d.ts +2 -1
  7. package/dist/express/index.d.ts.map +1 -1
  8. package/dist/express/index.js +8 -3
  9. package/dist/express/index.js.map +1 -1
  10. package/dist/express/response-middleware.d.ts.map +1 -1
  11. package/dist/express/response-middleware.js.map +1 -1
  12. package/dist/index.d.ts +19 -2
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +30 -4
  15. package/dist/index.js.map +1 -1
  16. package/dist/services/auth.service.d.ts +26 -4
  17. package/dist/services/auth.service.d.ts.map +1 -1
  18. package/dist/services/auth.service.js +137 -6
  19. package/dist/services/auth.service.js.map +1 -1
  20. package/dist/services/browser-permission.service.d.ts +60 -0
  21. package/dist/services/browser-permission.service.d.ts.map +1 -0
  22. package/dist/services/browser-permission.service.js +159 -0
  23. package/dist/services/browser-permission.service.js.map +1 -0
  24. package/dist/services/browser-role.service.d.ts +60 -0
  25. package/dist/services/browser-role.service.d.ts.map +1 -0
  26. package/dist/services/browser-role.service.js +159 -0
  27. package/dist/services/browser-role.service.js.map +1 -0
  28. package/dist/services/cache.service.d.ts.map +1 -1
  29. package/dist/services/cache.service.js +4 -0
  30. package/dist/services/cache.service.js.map +1 -1
  31. package/dist/services/logger.service.d.ts +99 -24
  32. package/dist/services/logger.service.d.ts.map +1 -1
  33. package/dist/services/logger.service.js +174 -44
  34. package/dist/services/logger.service.js.map +1 -1
  35. package/dist/services/redis.service.d.ts.map +1 -1
  36. package/dist/services/redis.service.js +3 -6
  37. package/dist/services/redis.service.js.map +1 -1
  38. package/dist/types/config.types.d.ts +22 -0
  39. package/dist/types/config.types.d.ts.map +1 -1
  40. package/dist/types/config.types.js.map +1 -1
  41. package/dist/types/data-client.types.d.ts +10 -0
  42. package/dist/types/data-client.types.d.ts.map +1 -1
  43. package/dist/types/data-client.types.js.map +1 -1
  44. package/dist/utils/audit-log-queue.d.ts +4 -0
  45. package/dist/utils/audit-log-queue.d.ts.map +1 -1
  46. package/dist/utils/audit-log-queue.js +22 -2
  47. package/dist/utils/audit-log-queue.js.map +1 -1
  48. package/dist/utils/browser-jwt-decoder.d.ts +20 -0
  49. package/dist/utils/browser-jwt-decoder.d.ts.map +1 -0
  50. package/dist/utils/browser-jwt-decoder.js +75 -0
  51. package/dist/utils/browser-jwt-decoder.js.map +1 -0
  52. package/dist/utils/controller-url-resolver.d.ts +16 -0
  53. package/dist/utils/controller-url-resolver.d.ts.map +1 -1
  54. package/dist/utils/controller-url-resolver.js +12 -0
  55. package/dist/utils/controller-url-resolver.js.map +1 -1
  56. package/dist/utils/data-client-audit.d.ts.map +1 -1
  57. package/dist/utils/data-client-audit.js +19 -8
  58. package/dist/utils/data-client-audit.js.map +1 -1
  59. package/dist/utils/data-client-auth.d.ts +19 -7
  60. package/dist/utils/data-client-auth.d.ts.map +1 -1
  61. package/dist/utils/data-client-auth.js +269 -144
  62. package/dist/utils/data-client-auth.js.map +1 -1
  63. package/dist/utils/data-client-auto-init.d.ts +66 -0
  64. package/dist/utils/data-client-auto-init.d.ts.map +1 -0
  65. package/dist/utils/data-client-auto-init.js +259 -0
  66. package/dist/utils/data-client-auto-init.js.map +1 -0
  67. package/dist/utils/data-client-redirect.d.ts +52 -0
  68. package/dist/utils/data-client-redirect.d.ts.map +1 -0
  69. package/dist/utils/data-client-redirect.js +233 -0
  70. package/dist/utils/data-client-redirect.js.map +1 -0
  71. package/dist/utils/data-client-request.d.ts +8 -1
  72. package/dist/utils/data-client-request.d.ts.map +1 -1
  73. package/dist/utils/data-client-request.js +30 -5
  74. package/dist/utils/data-client-request.js.map +1 -1
  75. package/dist/utils/data-client.d.ts +116 -0
  76. package/dist/utils/data-client.d.ts.map +1 -1
  77. package/dist/utils/data-client.js +349 -4
  78. package/dist/utils/data-client.js.map +1 -1
  79. package/dist/utils/logging-helpers.d.ts +51 -0
  80. package/dist/utils/logging-helpers.d.ts.map +1 -0
  81. package/dist/utils/logging-helpers.js +57 -0
  82. package/dist/utils/logging-helpers.js.map +1 -0
  83. package/dist/utils/request-context.d.ts +32 -0
  84. package/dist/utils/request-context.d.ts.map +1 -0
  85. package/dist/utils/request-context.js +81 -0
  86. package/dist/utils/request-context.js.map +1 -0
  87. package/package.json +9 -2
@@ -3,6 +3,39 @@
3
3
  * DataClient - Browser-compatible HTTP client wrapper around MisoClient
4
4
  * Provides enhanced HTTP capabilities with ISO 27001 compliance, caching, retry, and more
5
5
  */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
6
39
  Object.defineProperty(exports, "__esModule", { value: true });
7
40
  exports.DataClient = void 0;
8
41
  exports.dataClient = dataClient;
@@ -12,6 +45,14 @@ const data_client_utils_1 = require("./data-client-utils");
12
45
  const data_client_cache_1 = require("./data-client-cache");
13
46
  const data_client_request_1 = require("./data-client-request");
14
47
  const data_client_auth_1 = require("./data-client-auth");
48
+ const data_client_redirect_1 = require("./data-client-redirect");
49
+ const browser_permission_service_1 = require("../services/browser-permission.service");
50
+ const browser_role_service_1 = require("../services/browser-role.service");
51
+ const cache_service_1 = require("../services/cache.service");
52
+ const http_client_1 = require("../utils/http-client");
53
+ const internal_http_client_1 = require("../utils/internal-http-client");
54
+ const logger_service_1 = require("../services/logger.service");
55
+ const redis_service_1 = require("../services/redis.service");
15
56
  class DataClient {
16
57
  constructor(config) {
17
58
  this.misoClient = null;
@@ -25,6 +66,8 @@ class DataClient {
25
66
  cacheHits: 0,
26
67
  cacheMisses: 0,
27
68
  };
69
+ this.permissionService = null;
70
+ this.roleService = null;
28
71
  this.config = {
29
72
  tokenKeys: ["token", "accessToken", "authToken"],
30
73
  loginUrl: "/login",
@@ -95,6 +138,31 @@ class DataClient {
95
138
  if (this.config.misoConfig?.sensitiveFieldsConfig) {
96
139
  data_masker_1.DataMasker.setConfigPath(this.config.misoConfig.sensitiveFieldsConfig);
97
140
  }
141
+ // Initialize browser-compatible permission and role services
142
+ // These services need HttpClient and CacheService, so they're initialized after MisoClient
143
+ if (this.misoClient && this.config.misoConfig) {
144
+ // Create InternalHttpClient first (base HTTP functionality)
145
+ const internalClient = new internal_http_client_1.InternalHttpClient(this.config.misoConfig);
146
+ // Create Redis service (will be undefined for browser, but needed for LoggerService)
147
+ const redis = new redis_service_1.RedisService(this.config.misoConfig.redis);
148
+ // Create LoggerService with InternalHttpClient (needs httpClient.request() and httpClient.config)
149
+ const logger = new logger_service_1.LoggerService(internalClient, redis);
150
+ // Create HttpClient that wraps InternalHttpClient with logger
151
+ const httpClient = new http_client_1.HttpClient(this.config.misoConfig, logger);
152
+ // Update LoggerService to use the new HttpClient (for logging)
153
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
154
+ logger.httpClient = httpClient;
155
+ // Create CacheService without Redis (in-memory only for browser)
156
+ const cacheService = new cache_service_1.CacheService(undefined);
157
+ // Create browser-compatible services
158
+ this.permissionService = new browser_permission_service_1.BrowserPermissionService(httpClient, cacheService);
159
+ this.roleService = new browser_role_service_1.BrowserRoleService(httpClient, cacheService);
160
+ }
161
+ // Auto-handle OAuth callback on initialization (browser only)
162
+ // This ensures tokens are extracted immediately when DataClient is created
163
+ if ((0, data_client_utils_1.isBrowser)()) {
164
+ this.handleOAuthCallback();
165
+ }
98
166
  }
99
167
  /**
100
168
  * Get authentication token from localStorage
@@ -136,13 +204,23 @@ class DataClient {
136
204
  isAuthenticated() {
137
205
  return this.getToken() !== null;
138
206
  }
207
+ /**
208
+ * Handle OAuth callback from authentication redirect
209
+ * Extracts token from URL hash fragment and stores securely
210
+ * ISO 27001 compliant with immediate cleanup and validation
211
+ *
212
+ * @returns Extracted token or null if not found/invalid
213
+ */
214
+ handleOAuthCallback() {
215
+ return (0, data_client_auth_1.handleOAuthCallback)(this.config);
216
+ }
139
217
  /**
140
218
  * Redirect to login page via controller
141
219
  * Calls the controller login endpoint with redirect parameter and x-client-token header
142
220
  * @param redirectUrl - Optional redirect URL to return to after login (defaults to current page URL)
143
221
  */
144
222
  async redirectToLogin(redirectUrl) {
145
- return (0, data_client_auth_1.redirectToLogin)(this.config, () => this.getClientToken(), redirectUrl);
223
+ return (0, data_client_redirect_1.redirectToLogin)(this.config, () => this.getClientToken(), redirectUrl);
146
224
  }
147
225
  /**
148
226
  * Logout user and redirect
@@ -150,7 +228,7 @@ class DataClient {
150
228
  * @param redirectUrl - Optional redirect URL after logout (defaults to logoutUrl or loginUrl)
151
229
  */
152
230
  async logout(redirectUrl) {
153
- return (0, data_client_auth_1.logout)(this.config, () => this.getToken(), () => this.getClientToken(), () => this.clearCache(), redirectUrl);
231
+ return (0, data_client_auth_1.logout)(this.config, () => this.getToken(), () => this.getClientToken(), () => this.clearCache(), redirectUrl, this.misoClient);
154
232
  }
155
233
  /**
156
234
  * Set interceptors
@@ -196,7 +274,7 @@ class DataClient {
196
274
  * Get request metrics
197
275
  */
198
276
  getMetrics() {
199
- const responseTimes = this.metrics.responseTimes.sort((a, b) => a - b);
277
+ const responseTimes = (this.metrics.responseTimes || []).sort((a, b) => a - b);
200
278
  const len = responseTimes.length;
201
279
  return {
202
280
  totalRequests: this.metrics.totalRequests,
@@ -244,7 +322,7 @@ class DataClient {
244
322
  }
245
323
  }
246
324
  // Create request promise
247
- const requestPromise = (0, data_client_request_1.executeHttpRequest)(method, fullUrl, endpoint, this.config, this.cache, cacheKey, cacheEnabled, startTime, this.misoClient, () => this.hasAnyToken(), () => this.getToken(), () => this.handleAuthError(), this.interceptors, this.metrics, options);
325
+ const requestPromise = (0, data_client_request_1.executeHttpRequest)(method, fullUrl, endpoint, this.config, this.cache, cacheKey, cacheEnabled, startTime, this.misoClient, () => this.hasAnyToken(), () => this.getToken(), () => this.handleAuthError(), () => this.refreshUserToken(), this.interceptors, this.metrics, options);
248
326
  // Store pending request (only for GET requests)
249
327
  if (isGetRequest) {
250
328
  this.pendingRequests.set(cacheKey, requestPromise);
@@ -260,6 +338,34 @@ class DataClient {
260
338
  }
261
339
  }
262
340
  }
341
+ /**
342
+ * Refresh user token using onTokenRefresh callback
343
+ * @returns New token and expiration, or null if refresh failed
344
+ */
345
+ async refreshUserToken() {
346
+ if (!this.config.onTokenRefresh) {
347
+ return null;
348
+ }
349
+ try {
350
+ const result = await this.config.onTokenRefresh();
351
+ // Update token in localStorage
352
+ if ((0, data_client_utils_1.isBrowser)() && result.token) {
353
+ const { setLocalStorage } = await Promise.resolve().then(() => __importStar(require("./data-client-utils")));
354
+ const tokenKeys = this.config.tokenKeys || ["token", "accessToken", "authToken"];
355
+ // Store token in all configured keys
356
+ for (const key of tokenKeys) {
357
+ setLocalStorage(key, result.token);
358
+ }
359
+ // Note: Refresh token is NOT stored in localStorage for security
360
+ // The backend endpoint handles refresh token securely (httpOnly cookie or session)
361
+ }
362
+ return result;
363
+ }
364
+ catch (error) {
365
+ console.error("Token refresh failed:", error);
366
+ return null;
367
+ }
368
+ }
263
369
  /**
264
370
  * Handle authentication error
265
371
  */
@@ -346,6 +452,245 @@ class DataClient {
346
452
  });
347
453
  return this.request("DELETE", endpoint, finalOptions);
348
454
  }
455
+ // ==================== AUTHORIZATION METHODS ====================
456
+ /**
457
+ * Get user permissions (uses token from localStorage if not provided)
458
+ * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
459
+ * @returns Array of permission strings
460
+ */
461
+ async getPermissions(token) {
462
+ if (!this.misoClient || !this.permissionService) {
463
+ return [];
464
+ }
465
+ const userToken = token || this.getToken();
466
+ if (!userToken) {
467
+ return [];
468
+ }
469
+ return this.permissionService.getPermissions(userToken);
470
+ }
471
+ /**
472
+ * Check if user has specific permission
473
+ * @param permission - Permission to check
474
+ * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
475
+ * @returns True if user has the permission
476
+ */
477
+ async hasPermission(permission, token) {
478
+ if (!this.misoClient || !this.permissionService) {
479
+ return false;
480
+ }
481
+ const userToken = token || this.getToken();
482
+ if (!userToken) {
483
+ return false;
484
+ }
485
+ return this.permissionService.hasPermission(userToken, permission);
486
+ }
487
+ /**
488
+ * Check if user has any of the specified permissions
489
+ * @param permissions - Permissions to check
490
+ * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
491
+ * @returns True if user has any of the permissions
492
+ */
493
+ async hasAnyPermission(permissions, token) {
494
+ if (!this.misoClient || !this.permissionService) {
495
+ return false;
496
+ }
497
+ const userToken = token || this.getToken();
498
+ if (!userToken) {
499
+ return false;
500
+ }
501
+ return this.permissionService.hasAnyPermission(userToken, permissions);
502
+ }
503
+ /**
504
+ * Check if user has all of the specified permissions
505
+ * @param permissions - Permissions to check
506
+ * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
507
+ * @returns True if user has all of the permissions
508
+ */
509
+ async hasAllPermissions(permissions, token) {
510
+ if (!this.misoClient || !this.permissionService) {
511
+ return false;
512
+ }
513
+ const userToken = token || this.getToken();
514
+ if (!userToken) {
515
+ return false;
516
+ }
517
+ return this.permissionService.hasAllPermissions(userToken, permissions);
518
+ }
519
+ /**
520
+ * Force refresh permissions from controller (bypass cache)
521
+ * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
522
+ * @returns Array of permission strings
523
+ */
524
+ async refreshPermissions(token) {
525
+ if (!this.misoClient || !this.permissionService) {
526
+ return [];
527
+ }
528
+ const userToken = token || this.getToken();
529
+ if (!userToken) {
530
+ return [];
531
+ }
532
+ return this.permissionService.refreshPermissions(userToken);
533
+ }
534
+ /**
535
+ * Clear cached permissions for a user
536
+ * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
537
+ */
538
+ async clearPermissionsCache(token) {
539
+ if (!this.misoClient || !this.permissionService) {
540
+ return;
541
+ }
542
+ const userToken = token || this.getToken();
543
+ if (!userToken) {
544
+ return;
545
+ }
546
+ return this.permissionService.clearPermissionsCache(userToken);
547
+ }
548
+ /**
549
+ * Get user roles (uses token from localStorage if not provided)
550
+ * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
551
+ * @returns Array of role strings
552
+ */
553
+ async getRoles(token) {
554
+ if (!this.misoClient || !this.roleService) {
555
+ return [];
556
+ }
557
+ const userToken = token || this.getToken();
558
+ if (!userToken) {
559
+ return [];
560
+ }
561
+ return this.roleService.getRoles(userToken);
562
+ }
563
+ /**
564
+ * Check if user has specific role
565
+ * @param role - Role to check
566
+ * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
567
+ * @returns True if user has the role
568
+ */
569
+ async hasRole(role, token) {
570
+ if (!this.misoClient || !this.roleService) {
571
+ return false;
572
+ }
573
+ const userToken = token || this.getToken();
574
+ if (!userToken) {
575
+ return false;
576
+ }
577
+ return this.roleService.hasRole(userToken, role);
578
+ }
579
+ /**
580
+ * Check if user has any of the specified roles
581
+ * @param roles - Roles to check
582
+ * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
583
+ * @returns True if user has any of the roles
584
+ */
585
+ async hasAnyRole(roles, token) {
586
+ if (!this.misoClient || !this.roleService) {
587
+ return false;
588
+ }
589
+ const userToken = token || this.getToken();
590
+ if (!userToken) {
591
+ return false;
592
+ }
593
+ return this.roleService.hasAnyRole(userToken, roles);
594
+ }
595
+ /**
596
+ * Check if user has all of the specified roles
597
+ * @param roles - Roles to check
598
+ * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
599
+ * @returns True if user has all of the roles
600
+ */
601
+ async hasAllRoles(roles, token) {
602
+ if (!this.misoClient || !this.roleService) {
603
+ return false;
604
+ }
605
+ const userToken = token || this.getToken();
606
+ if (!userToken) {
607
+ return false;
608
+ }
609
+ return this.roleService.hasAllRoles(userToken, roles);
610
+ }
611
+ /**
612
+ * Force refresh roles from controller (bypass cache)
613
+ * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
614
+ * @returns Array of role strings
615
+ */
616
+ async refreshRoles(token) {
617
+ if (!this.misoClient || !this.roleService) {
618
+ return [];
619
+ }
620
+ const userToken = token || this.getToken();
621
+ if (!userToken) {
622
+ return [];
623
+ }
624
+ return this.roleService.refreshRoles(userToken);
625
+ }
626
+ /**
627
+ * Clear cached roles for a user
628
+ * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
629
+ */
630
+ async clearRolesCache(token) {
631
+ if (!this.misoClient || !this.roleService) {
632
+ return;
633
+ }
634
+ const userToken = token || this.getToken();
635
+ if (!userToken) {
636
+ return;
637
+ }
638
+ return this.roleService.clearRolesCache(userToken);
639
+ }
640
+ // ==================== AUTHENTICATION METHODS ====================
641
+ /**
642
+ * Validate token (uses localStorage token if not provided)
643
+ * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
644
+ * @returns True if token is valid
645
+ */
646
+ async validateToken(token) {
647
+ if (!this.misoClient) {
648
+ return false;
649
+ }
650
+ const userToken = token || this.getToken();
651
+ if (!userToken) {
652
+ return false;
653
+ }
654
+ return this.misoClient.validateToken(userToken);
655
+ }
656
+ /**
657
+ * Get user info from token (uses localStorage token if not provided)
658
+ * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
659
+ * @returns User info or null if not authenticated
660
+ */
661
+ async getUser(token) {
662
+ if (!this.misoClient) {
663
+ return null;
664
+ }
665
+ const userToken = token || this.getToken();
666
+ if (!userToken) {
667
+ return null;
668
+ }
669
+ return this.misoClient.getUser(userToken);
670
+ }
671
+ /**
672
+ * Get user info from API endpoint (uses localStorage token if not provided)
673
+ * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
674
+ * @returns User info or null if not authenticated
675
+ */
676
+ async getUserInfo(token) {
677
+ if (!this.misoClient) {
678
+ return null;
679
+ }
680
+ const userToken = token || this.getToken();
681
+ if (!userToken) {
682
+ return null;
683
+ }
684
+ return this.misoClient.getUserInfo(userToken);
685
+ }
686
+ /**
687
+ * Check if authenticated (alias for validateToken)
688
+ * @param token - Optional user authentication token (auto-retrieved from localStorage if not provided)
689
+ * @returns True if authenticated
690
+ */
691
+ async isAuthenticatedAsync(token) {
692
+ return this.validateToken(token);
693
+ }
349
694
  /**
350
695
  * Get environment token (browser-side)
351
696
  * Checks localStorage cache first, then calls backend endpoint if needed
@@ -1 +1 @@
1
- {"version":3,"file":"data-client.js","sourceRoot":"","sources":["../../src/utils/data-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-client.js","sourceRoot":"","sources":["../../src/utils/data-client.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA83BH,gCAUC;AAt4BD,oCAAsC;AAStC,+CAA2C;AAE3C,2DAAiE;AACjE,2DAI6B;AAC7B,+DAA2D;AAC3D,yDAU4B;AAC5B,iEAEgC;AAChC,uFAAkF;AAClF,2EAAsE;AACtE,6DAAyD;AACzD,sDAAkD;AAClD,wEAAmE;AACnE,+DAA2D;AAC3D,6DAAyD;AAGzD,MAAa,UAAU;IAsBrB,YAAY,MAAwB;QApB5B,eAAU,GAAsB,IAAI,CAAC;QACrC,UAAK,GAA4B,IAAI,GAAG,EAAE,CAAC;QAC3C,oBAAe,GAAkC,IAAI,GAAG,EAAE,CAAC;QAC3D,iBAAY,GAAsB,EAAE,CAAC;QACrC,YAAO,GAMX;YACF,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,EAAE;YACjB,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;SACf,CAAC;QACM,sBAAiB,GAAoC,IAAI,CAAC;QAC1D,gBAAW,GAA8B,IAAI,CAAC;QAGpD,IAAI,CAAC,MAAM,GAAG;YACZ,SAAS,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC;YAChD,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,GAAG;gBACf,OAAO,EAAE,GAAG;aACb;YACD,KAAK,EAAE;gBACL,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,CAAC;gBACb,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,KAAK;aAChB;YACD,KAAK,EAAE;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,UAAU;gBACjB,SAAS,EAAE,EAAE;gBACb,eAAe,EAAE,KAAK;gBACtB,cAAc,EAAE,KAAK;gBACrB,aAAa,EAAE,EAAE;aAClB;YACD,GAAG,MAAM;SACV,CAAC;QAEF,oEAAoE;QACpE,sFAAsF;QACtF,IAAI,IAAA,6BAAS,GAAE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC;YACxD,OAAO,CAAC,IAAI,CACV,qEAAqE;gBACnE,8DAA8D;gBAC9D,6EAA6E;gBAC7E,mDAAmD,CACtD,CAAC;QACJ,CAAC;QAED,2CAA2C;QAC3C,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3B,sEAAsE;YACtE,6EAA6E;YAC7E,6DAA6D;YAC7D,MAAM,qBAAqB,GAAG;gBAC5B,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU;gBACzB,uBAAuB;gBACvB,gEAAgE;gBAChE,sDAAsD;gBACtD,uDAAuD;gBACvD,oBAAoB,EAClB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,oBAAoB;oBAC3C,CAAC,IAAA,6BAAS,GAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY;wBAClD,CAAC,CAAC,KAAK,IAAI,EAAE;4BACT,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;4BAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;gCACX,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;4BAChD,CAAC;4BACD,gEAAgE;4BAChE,MAAM,YAAY,GAAG,IAAA,mCAAe,EAClC,8BAA8B,CAC/B,CAAC;4BACF,MAAM,SAAS,GAAG,YAAY;gCAC5B,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC;gCAC5B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,iBAAiB;4BAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAC1B,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAChC,CAAC;4BACF,OAAO;gCACL,KAAK;gCACL,SAAS,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,4BAA4B;6BAC1E,CAAC;wBACJ,CAAC;wBACH,CAAC,CAAC,SAAS,CAAC;aACjB,CAAC;YACF,IAAI,CAAC,UAAU,GAAG,IAAI,kBAAU,CAAC,qBAAqB,CAAC,CAAC;QAC1D,CAAC;QAED,qDAAqD;QACrD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,qBAAqB,EAAE,CAAC;YAClD,wBAAU,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACzE,CAAC;QAED,6DAA6D;QAC7D,2FAA2F;QAC3F,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC9C,4DAA4D;YAC5D,MAAM,cAAc,GAAG,IAAI,yCAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAEtE,qFAAqF;YACrF,MAAM,KAAK,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAE7D,kGAAkG;YAClG,MAAM,MAAM,GAAG,IAAI,8BAAa,CAC9B,cAAuC,EACvC,KAAK,CACN,CAAC;YAEF,8DAA8D;YAC9D,MAAM,UAAU,GAAG,IAAI,wBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAElE,+DAA+D;YAC/D,8DAA8D;YAC7D,MAAc,CAAC,UAAU,GAAG,UAAU,CAAC;YAExC,iEAAiE;YACjE,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC,SAAS,CAAC,CAAC;YAEjD,qCAAqC;YACrC,IAAI,CAAC,iBAAiB,GAAG,IAAI,qDAAwB,CACnD,UAAU,EACV,YAAY,CACb,CAAC;YACF,IAAI,CAAC,WAAW,GAAG,IAAI,yCAAkB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACtE,CAAC;QAED,8DAA8D;QAC9D,2EAA2E;QAC3E,IAAI,IAAA,6BAAS,GAAE,EAAE,CAAC;YAChB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,QAAQ;QACd,OAAO,IAAA,2BAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACK,cAAc;QACpB,OAAO,IAAA,iCAAc,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,OAAO,IAAA,8BAAW,EAChB,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,MAAM,CAAC,UAAU,CACvB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,cAAc;QAC1B,OAAO,IAAA,iCAAc,EACnB,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CACjC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,gBAAgB;QACtB,OAAO,IAAA,mCAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC;IAClC,CAAC;IAED;;;;;;OAMG;IACH,mBAAmB;QACjB,OAAO,IAAA,sCAAmB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,WAAoB;QACxC,OAAO,IAAA,sCAAmB,EAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,WAAW,CAAC,CAAC;IACpF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,WAAoB;QAC/B,OAAO,IAAA,yBAAM,EACX,IAAI,CAAC,MAAM,EACX,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EACrB,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,EAC3B,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,EACvB,WAAW,EACX,IAAI,CAAC,UAAU,CAChB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,MAAyB;QACvC,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,MAA4B;QACzC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,MAAM,EAAiB,CAAC;IACzE,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,KAA0C;QACpD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC9C,+BAA+B;YAC/B,4DAA4D;YAC3D,IAAI,CAAC,MAAM,CAAC,UAAoC,CAAC,QAAQ,GAAG,KAAK,CAAC;YAEnE,gEAAgE;YAChE,IAAI,CAAC;gBACH,MAAM,UAAU,GAAI,IAAI,CAAC,UAA4D,CAAC,MAAM,CAAC;gBAC7F,IAAI,UAAU,EAAE,CAAC;oBACf,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC9B,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,8CAA8C;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,UAAU;QACR,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/E,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC;QAEjC,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;YACzC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;YACzC,mBAAmB,EACjB,GAAG,GAAG,CAAC;gBACL,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG;gBAChD,CAAC,CAAC,CAAC;YACP,wBAAwB,EAAE;gBACxB,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzD;YACD,SAAS,EACP,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC;gBAC5B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa;gBACzD,CAAC,CAAC,CAAC;YACP,YAAY,EACV,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC;gBACnD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS;oBACtB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;gBACrD,CAAC,CAAC,CAAC;SACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,OAAO,CACnB,MAAc,EACd,QAAgB,EAChB,OAA2B;QAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAA,yCAAqB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC;QACpD,MAAM,YAAY,GAAG,IAAA,kCAAc,EACjC,MAAM,EACN,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB,OAAO,CACR,CAAC;QAEF,+BAA+B;QAC/B,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,IAAA,kCAAc,EAC3B,IAAI,CAAC,KAAK,EACV,QAAQ,EACR,IAAI,CAAC,OAAO,CACb,CAAC;YACF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,cAA4B,CAAC;YACtC,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,MAAM,cAAc,GAAG,IAAA,wCAAkB,EACvC,MAAM,EACN,OAAO,EACP,QAAQ,EACR,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,IAAI,CAAC,UAAU,EACf,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EACxB,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EACrB,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,EAC5B,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAC7B,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,OAAO,EACZ,OAAO,CACR,CAAC;QAEF,gDAAgD;QAChD,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;YACpC,OAAO,MAAM,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,0BAA0B;YAC1B,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAElD,+BAA+B;YAC/B,IAAI,IAAA,6BAAS,GAAE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChC,MAAM,EAAE,eAAe,EAAE,GAAG,wDAAa,qBAAqB,GAAC,CAAC;gBAChE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;gBAEjF,qCAAqC;gBACrC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;oBAC5B,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBACrC,CAAC;gBAED,iEAAiE;gBACjE,mFAAmF;YACrF,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe;QACrB,IAAI,IAAA,6BAAS,GAAE,EAAE,CAAC;YAChB,4EAA4E;YAC5E,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrC,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CACnC,GAAW,EACX,OAA0B;QAE1B,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;YAChC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,yDAAyD;IAEzD;;OAEG;IACH,KAAK,CAAC,GAAG,CAAI,QAAgB,EAAE,OAA2B;QACxD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE;YAChE,GAAG,OAAO;YACV,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAI,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CACR,QAAgB,EAChB,IAAc,EACd,OAA2B;QAE3B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE;YAChE,GAAG,OAAO;YACV,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAC7C,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,OAAO,EAAE,OAAO;aACpB;SACF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAI,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CACP,QAAgB,EAChB,IAAc,EACd,OAA2B;QAE3B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE;YAChE,GAAG,OAAO;YACV,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAC7C,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,OAAO,EAAE,OAAO;aACpB;SACF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAI,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CACT,QAAgB,EAChB,IAAc,EACd,OAA2B;QAE3B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE;YAChE,GAAG,OAAO;YACV,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAC7C,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,OAAO,EAAE,OAAO;aACpB;SACF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAI,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAI,QAAgB,EAAE,OAA2B;QAC3D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE;YAChE,GAAG,OAAO;YACV,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IAED,kEAAkE;IAElE;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,KAAc;QACjC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAChD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,UAAkB,EAAE,KAAc;QACpD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CACpB,WAAqB,EACrB,KAAc;QAEd,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACzE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,iBAAiB,CACrB,WAAqB,EACrB,KAAc;QAEd,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CAAC,KAAc;QACrC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAChD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CAAC,KAAc;QACxC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAc;QAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,KAAc;QACxC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,KAAe,EAAE,KAAc;QAC9C,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,KAAe,EAAE,KAAc;QAC/C,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,KAAc;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CAAC,KAAc;QAClC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,mEAAmE;IAEnE;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,KAAc;QAChC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,KAAc;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,KAAc;QAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,KAAc;QACvC,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,mBAAmB;QACvB,OAAO,IAAA,sCAAmB,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACH,kBAAkB;QAChB,OAAO,IAAA,qCAAkB,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;CACF;AAz0BD,gCAy0BC;AAED;;GAEG;AACH,IAAI,iBAAiB,GAAsB,IAAI,CAAC;AAEhD;;GAEG;AACH,SAAgB,UAAU,CAAC,MAAyB;IAClD,IAAI,CAAC,iBAAiB,IAAI,MAAM,EAAE,CAAC;QACjC,iBAAiB,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Logging helper utilities for extracting indexed context fields
3
+ */
4
+ /**
5
+ * Interface for objects that have a key and optional display name
6
+ */
7
+ export interface HasKey {
8
+ key: string;
9
+ displayName?: string;
10
+ }
11
+ /**
12
+ * Interface for objects that have an external system reference
13
+ */
14
+ export interface HasExternalSystem extends HasKey {
15
+ externalSystem?: HasKey;
16
+ }
17
+ /**
18
+ * Indexed logging context fields for fast queries
19
+ */
20
+ export interface IndexedLoggingContext {
21
+ sourceKey?: string;
22
+ sourceDisplayName?: string;
23
+ externalSystemKey?: string;
24
+ externalSystemDisplayName?: string;
25
+ recordKey?: string;
26
+ recordDisplayName?: string;
27
+ }
28
+ /**
29
+ * Extract indexed logging context from source, record, and external system objects
30
+ *
31
+ * @param options - Options object containing source, record, and externalSystem
32
+ * @param options.source - Source object with key, displayName, and optional externalSystem
33
+ * @param options.record - Record object with key and optional displayName
34
+ * @param options.externalSystem - External system object with key and optional displayName
35
+ * @returns IndexedLoggingContext with extracted fields
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * const context = extractLoggingContext({
40
+ * source: { key: 'datasource-1', displayName: 'PostgreSQL DB', externalSystem: { key: 'system-1' } },
41
+ * record: { key: 'record-123', displayName: 'User Profile' }
42
+ * });
43
+ * // Returns: { sourceKey: 'datasource-1', sourceDisplayName: 'PostgreSQL DB', externalSystemKey: 'system-1', recordKey: 'record-123', recordDisplayName: 'User Profile' }
44
+ * ```
45
+ */
46
+ export declare function extractLoggingContext(options: {
47
+ source?: HasExternalSystem;
48
+ record?: HasKey;
49
+ externalSystem?: HasKey;
50
+ }): IndexedLoggingContext;
51
+ //# sourceMappingURL=logging-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/logging-helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,MAAM;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,qBAAqB,CAoCxB"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ /**
3
+ * Logging helper utilities for extracting indexed context fields
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.extractLoggingContext = extractLoggingContext;
7
+ /**
8
+ * Extract indexed logging context from source, record, and external system objects
9
+ *
10
+ * @param options - Options object containing source, record, and externalSystem
11
+ * @param options.source - Source object with key, displayName, and optional externalSystem
12
+ * @param options.record - Record object with key and optional displayName
13
+ * @param options.externalSystem - External system object with key and optional displayName
14
+ * @returns IndexedLoggingContext with extracted fields
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * const context = extractLoggingContext({
19
+ * source: { key: 'datasource-1', displayName: 'PostgreSQL DB', externalSystem: { key: 'system-1' } },
20
+ * record: { key: 'record-123', displayName: 'User Profile' }
21
+ * });
22
+ * // Returns: { sourceKey: 'datasource-1', sourceDisplayName: 'PostgreSQL DB', externalSystemKey: 'system-1', recordKey: 'record-123', recordDisplayName: 'User Profile' }
23
+ * ```
24
+ */
25
+ function extractLoggingContext(options) {
26
+ const context = {};
27
+ // Extract source fields
28
+ if (options.source) {
29
+ context.sourceKey = options.source.key;
30
+ if (options.source.displayName !== undefined) {
31
+ context.sourceDisplayName = options.source.displayName;
32
+ }
33
+ // Extract external system from source if present
34
+ if (options.source.externalSystem) {
35
+ context.externalSystemKey = options.source.externalSystem.key;
36
+ if (options.source.externalSystem.displayName !== undefined) {
37
+ context.externalSystemDisplayName = options.source.externalSystem.displayName;
38
+ }
39
+ }
40
+ }
41
+ // Extract external system directly if provided (overrides source.externalSystem)
42
+ if (options.externalSystem) {
43
+ context.externalSystemKey = options.externalSystem.key;
44
+ if (options.externalSystem.displayName !== undefined) {
45
+ context.externalSystemDisplayName = options.externalSystem.displayName;
46
+ }
47
+ }
48
+ // Extract record fields
49
+ if (options.record) {
50
+ context.recordKey = options.record.key;
51
+ if (options.record.displayName !== undefined) {
52
+ context.recordDisplayName = options.record.displayName;
53
+ }
54
+ }
55
+ return context;
56
+ }
57
+ //# sourceMappingURL=logging-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging-helpers.js","sourceRoot":"","sources":["../../src/utils/logging-helpers.ts"],"names":[],"mappings":";AAAA;;GAEG;;AA+CH,sDAwCC;AA1DD;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,qBAAqB,CAAC,OAIrC;IACC,MAAM,OAAO,GAA0B,EAAE,CAAC;IAE1C,wBAAwB;IACxB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;QACvC,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAC7C,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;QACzD,CAAC;QAED,iDAAiD;QACjD,IAAI,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAClC,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC;YAC9D,IAAI,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC5D,OAAO,CAAC,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC;YAChF,CAAC;QACH,CAAC;IACH,CAAC;IAED,iFAAiF;IACjF,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC;QACvD,IAAI,OAAO,CAAC,cAAc,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrD,OAAO,CAAC,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC;QACzE,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;QACvC,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAC7C,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;QACzD,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Request context extraction utility for Express Request objects
3
+ * Automatically extracts logging context (IP, method, path, user-agent, correlation ID, user from JWT)
4
+ */
5
+ import { Request } from "express";
6
+ export interface RequestContext {
7
+ ipAddress?: string;
8
+ method?: string;
9
+ path?: string;
10
+ userAgent?: string;
11
+ correlationId?: string;
12
+ referer?: string;
13
+ userId?: string;
14
+ sessionId?: string;
15
+ requestId?: string;
16
+ requestSize?: number;
17
+ }
18
+ /**
19
+ * Extract logging context from Express Request object
20
+ * Automatically extracts: IP, method, path, user-agent, correlation ID, user from JWT
21
+ *
22
+ * @param req - Express Request object
23
+ * @returns RequestContext with extracted fields
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * const ctx = extractRequestContext(req);
28
+ * // ctx contains: ipAddress, method, path, userAgent, correlationId, userId, etc.
29
+ * ```
30
+ */
31
+ export declare function extractRequestContext(req: Request): RequestContext;
32
+ //# sourceMappingURL=request-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-context.d.ts","sourceRoot":"","sources":["../../src/utils/request-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAoCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CAgClE"}