@aifabrix/miso-client 3.5.0 → 3.8.0

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 (156) hide show
  1. package/CHANGELOG.md +240 -0
  2. package/dist/api/auth-cache.api.d.ts.map +1 -1
  3. package/dist/api/auth-cache.api.js +27 -5
  4. package/dist/api/auth-cache.api.js.map +1 -1
  5. package/dist/api/auth-login.api.d.ts.map +1 -1
  6. package/dist/api/auth-login.api.js +49 -6
  7. package/dist/api/auth-login.api.js.map +1 -1
  8. package/dist/api/auth-token.api.d.ts.map +1 -1
  9. package/dist/api/auth-token.api.js +99 -7
  10. package/dist/api/auth-token.api.js.map +1 -1
  11. package/dist/api/auth-user.api.d.ts.map +1 -1
  12. package/dist/api/auth-user.api.js +22 -4
  13. package/dist/api/auth-user.api.js.map +1 -1
  14. package/dist/api/auth.api.d.ts +2 -9
  15. package/dist/api/auth.api.d.ts.map +1 -1
  16. package/dist/api/auth.api.js +1 -66
  17. package/dist/api/auth.api.js.map +1 -1
  18. package/dist/api/logs-create.api.d.ts.map +1 -1
  19. package/dist/api/logs-create.api.js +57 -4
  20. package/dist/api/logs-create.api.js.map +1 -1
  21. package/dist/api/logs-export.api.d.ts.map +1 -1
  22. package/dist/api/logs-export.api.js +7 -1
  23. package/dist/api/logs-export.api.js.map +1 -1
  24. package/dist/api/logs-list.api.d.ts.map +1 -1
  25. package/dist/api/logs-list.api.js +32 -6
  26. package/dist/api/logs-list.api.js.map +1 -1
  27. package/dist/api/logs-stats.api.d.ts.map +1 -1
  28. package/dist/api/logs-stats.api.js +22 -4
  29. package/dist/api/logs-stats.api.js.map +1 -1
  30. package/dist/api/permissions.api.d.ts +2 -1
  31. package/dist/api/permissions.api.d.ts.map +1 -1
  32. package/dist/api/permissions.api.js +16 -5
  33. package/dist/api/permissions.api.js.map +1 -1
  34. package/dist/api/roles.api.d.ts +2 -1
  35. package/dist/api/roles.api.d.ts.map +1 -1
  36. package/dist/api/roles.api.js +16 -5
  37. package/dist/api/roles.api.js.map +1 -1
  38. package/dist/api/types/logs.types.d.ts +44 -7
  39. package/dist/api/types/logs.types.d.ts.map +1 -1
  40. package/dist/express/client-token-endpoint.d.ts.map +1 -1
  41. package/dist/express/client-token-endpoint.js +42 -5
  42. package/dist/express/client-token-endpoint.js.map +1 -1
  43. package/dist/express/error-handler.d.ts.map +1 -1
  44. package/dist/express/error-handler.js +32 -8
  45. package/dist/express/error-handler.js.map +1 -1
  46. package/dist/express/index.d.ts +1 -0
  47. package/dist/express/index.d.ts.map +1 -1
  48. package/dist/express/index.js +4 -1
  49. package/dist/express/index.js.map +1 -1
  50. package/dist/express/logger-context.middleware.d.ts +46 -0
  51. package/dist/express/logger-context.middleware.d.ts.map +1 -0
  52. package/dist/express/logger-context.middleware.js +99 -0
  53. package/dist/express/logger-context.middleware.js.map +1 -0
  54. package/dist/index.d.ts +6 -3
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +16 -5
  57. package/dist/index.js.map +1 -1
  58. package/dist/services/auth.service.d.ts.map +1 -1
  59. package/dist/services/auth.service.js +97 -8
  60. package/dist/services/auth.service.js.map +1 -1
  61. package/dist/services/browser-permission.service.d.ts +5 -0
  62. package/dist/services/browser-permission.service.d.ts.map +1 -1
  63. package/dist/services/browser-permission.service.js +39 -2
  64. package/dist/services/browser-permission.service.js.map +1 -1
  65. package/dist/services/browser-role.service.d.ts +5 -0
  66. package/dist/services/browser-role.service.d.ts.map +1 -1
  67. package/dist/services/browser-role.service.js +45 -2
  68. package/dist/services/browser-role.service.js.map +1 -1
  69. package/dist/services/logger/index.d.ts +10 -0
  70. package/dist/services/logger/index.d.ts.map +1 -0
  71. package/dist/services/logger/index.js +22 -0
  72. package/dist/services/logger/index.js.map +1 -0
  73. package/dist/services/logger/logger-chain.d.ts +90 -0
  74. package/dist/services/logger/logger-chain.d.ts.map +1 -0
  75. package/dist/services/logger/logger-chain.js +169 -0
  76. package/dist/services/logger/logger-chain.js.map +1 -0
  77. package/dist/services/logger/logger-context-storage.d.ts +73 -0
  78. package/dist/services/logger/logger-context-storage.d.ts.map +1 -0
  79. package/dist/services/logger/logger-context-storage.js +86 -0
  80. package/dist/services/logger/logger-context-storage.js.map +1 -0
  81. package/dist/services/logger/logger-context.d.ts +85 -0
  82. package/dist/services/logger/logger-context.d.ts.map +1 -0
  83. package/dist/services/logger/logger-context.js +192 -0
  84. package/dist/services/logger/logger-context.js.map +1 -0
  85. package/dist/services/{logger.service.d.ts → logger/logger.service.d.ts} +59 -72
  86. package/dist/services/logger/logger.service.d.ts.map +1 -0
  87. package/dist/services/logger/logger.service.js +403 -0
  88. package/dist/services/logger/logger.service.js.map +1 -0
  89. package/dist/services/logger/unified-logger.factory.d.ts +87 -0
  90. package/dist/services/logger/unified-logger.factory.d.ts.map +1 -0
  91. package/dist/services/logger/unified-logger.factory.js +120 -0
  92. package/dist/services/logger/unified-logger.factory.js.map +1 -0
  93. package/dist/services/logger/unified-logger.service.d.ts +89 -0
  94. package/dist/services/logger/unified-logger.service.d.ts.map +1 -0
  95. package/dist/services/logger/unified-logger.service.js +178 -0
  96. package/dist/services/logger/unified-logger.service.js.map +1 -0
  97. package/dist/services/permission.service.d.ts +5 -0
  98. package/dist/services/permission.service.d.ts.map +1 -1
  99. package/dist/services/permission.service.js +42 -2
  100. package/dist/services/permission.service.js.map +1 -1
  101. package/dist/services/role.service.d.ts +5 -0
  102. package/dist/services/role.service.d.ts.map +1 -1
  103. package/dist/services/role.service.js +42 -2
  104. package/dist/services/role.service.js.map +1 -1
  105. package/dist/types/filter.types.d.ts +6 -6
  106. package/dist/types/filter.types.d.ts.map +1 -1
  107. package/dist/types/filter.types.js +14 -5
  108. package/dist/types/filter.types.js.map +1 -1
  109. package/dist/utils/console-logger.d.ts +21 -0
  110. package/dist/utils/console-logger.d.ts.map +1 -0
  111. package/dist/utils/console-logger.js +58 -0
  112. package/dist/utils/console-logger.js.map +1 -0
  113. package/dist/utils/controller-url-resolver.d.ts.map +1 -1
  114. package/dist/utils/controller-url-resolver.js +5 -0
  115. package/dist/utils/controller-url-resolver.js.map +1 -1
  116. package/dist/utils/data-client-auth.d.ts.map +1 -1
  117. package/dist/utils/data-client-auth.js +34 -2
  118. package/dist/utils/data-client-auth.js.map +1 -1
  119. package/dist/utils/data-client-auto-init.d.ts.map +1 -1
  120. package/dist/utils/data-client-auto-init.js +59 -3
  121. package/dist/utils/data-client-auto-init.js.map +1 -1
  122. package/dist/utils/data-client-request.d.ts.map +1 -1
  123. package/dist/utils/data-client-request.js +78 -2
  124. package/dist/utils/data-client-request.js.map +1 -1
  125. package/dist/utils/data-client.d.ts.map +1 -1
  126. package/dist/utils/data-client.js +10 -7
  127. package/dist/utils/data-client.js.map +1 -1
  128. package/dist/utils/environment-token.d.ts.map +1 -1
  129. package/dist/utils/environment-token.js +37 -57
  130. package/dist/utils/environment-token.js.map +1 -1
  131. package/dist/utils/error-extractor.d.ts +52 -0
  132. package/dist/utils/error-extractor.d.ts.map +1 -0
  133. package/dist/utils/error-extractor.js +136 -0
  134. package/dist/utils/error-extractor.js.map +1 -0
  135. package/dist/utils/filter.utils.d.ts +115 -3
  136. package/dist/utils/filter.utils.d.ts.map +1 -1
  137. package/dist/utils/filter.utils.js +298 -27
  138. package/dist/utils/filter.utils.js.map +1 -1
  139. package/dist/utils/http-client-audit.d.ts +1 -1
  140. package/dist/utils/http-client-audit.d.ts.map +1 -1
  141. package/dist/utils/http-client.d.ts +1 -1
  142. package/dist/utils/http-client.d.ts.map +1 -1
  143. package/dist/utils/internal-http-client.d.ts +4 -0
  144. package/dist/utils/internal-http-client.d.ts.map +1 -1
  145. package/dist/utils/internal-http-client.js +190 -11
  146. package/dist/utils/internal-http-client.js.map +1 -1
  147. package/dist/utils/response-validator.d.ts.map +1 -1
  148. package/dist/utils/response-validator.js +2 -4
  149. package/dist/utils/response-validator.js.map +1 -1
  150. package/dist/utils/token-utils.d.ts.map +1 -1
  151. package/dist/utils/token-utils.js +75 -4
  152. package/dist/utils/token-utils.js.map +1 -1
  153. package/package.json +2 -1
  154. package/dist/services/logger.service.d.ts.map +0 -1
  155. package/dist/services/logger.service.js +0 -488
  156. package/dist/services/logger.service.js.map +0 -1
@@ -6,6 +6,8 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.BrowserPermissionService = void 0;
8
8
  const browser_jwt_decoder_1 = require("../utils/browser-jwt-decoder");
9
+ const token_utils_1 = require("../utils/token-utils");
10
+ const data_client_utils_1 = require("../utils/data-client-utils");
9
11
  class BrowserPermissionService {
10
12
  constructor(httpClient, apiClient, cache) {
11
13
  this.config = httpClient.config;
@@ -34,6 +36,28 @@ class BrowserPermissionService {
34
36
  return null;
35
37
  }
36
38
  }
39
+ /**
40
+ * Extract environment from client token stored in localStorage
41
+ * Returns null if not available (browser-only)
42
+ */
43
+ getEnvironmentFromClientToken() {
44
+ if (!(0, data_client_utils_1.isBrowser)()) {
45
+ return null;
46
+ }
47
+ try {
48
+ const clientToken = (0, data_client_utils_1.getLocalStorage)("miso:client-token");
49
+ if (!clientToken) {
50
+ return null;
51
+ }
52
+ const tokenInfo = (0, token_utils_1.extractClientTokenInfo)(clientToken);
53
+ return tokenInfo.environment || null;
54
+ }
55
+ catch (error) {
56
+ // eslint-disable-next-line no-console
57
+ console.warn("Failed to extract environment from client token:", error);
58
+ return null;
59
+ }
60
+ }
37
61
  /**
38
62
  * Get user permissions with caching
39
63
  * Optimized to extract userId from token first to check cache before API call
@@ -70,7 +94,17 @@ class BrowserPermissionService {
70
94
  const authStrategyWithToken = authStrategyToUse
71
95
  ? { ...authStrategyToUse, bearerToken: token }
72
96
  : { methods: ['bearer'], bearerToken: token };
73
- const permissionResult = await this.apiClient.permissions.getPermissions(undefined, authStrategyWithToken);
97
+ // Extract environment from client token for query parameter
98
+ const environment = this.getEnvironmentFromClientToken();
99
+ // Log warning if environment is missing (required by controller)
100
+ if (!environment) {
101
+ // eslint-disable-next-line no-console
102
+ console.warn("[BrowserPermissionService] Environment not found in client token. " +
103
+ "Permissions API requires environment parameter. " +
104
+ "This may cause a 400 Bad Request error.");
105
+ }
106
+ const queryParams = environment ? { environment } : undefined;
107
+ const permissionResult = await this.apiClient.permissions.getPermissions(queryParams, authStrategyWithToken);
74
108
  const permissions = permissionResult.data?.permissions || [];
75
109
  // Cache the result (use userId-based key)
76
110
  const finalCacheKey = `permissions:${userId}`;
@@ -131,8 +165,11 @@ class BrowserPermissionService {
131
165
  }
132
166
  const userId = userInfo.data.user.id;
133
167
  const cacheKey = `permissions:${userId}`;
168
+ // Extract environment from client token for query parameter
169
+ const environment = this.getEnvironmentFromClientToken();
170
+ const queryParams = environment ? { environment } : undefined;
134
171
  // Fetch fresh permissions from controller using refresh endpoint via ApiClient
135
- const permissionResult = await this.apiClient.permissions.refreshPermissions(authStrategyWithToken);
172
+ const permissionResult = await this.apiClient.permissions.refreshPermissions(queryParams, authStrategyWithToken);
136
173
  const permissions = permissionResult.data?.permissions || [];
137
174
  // Update cache with fresh data
138
175
  await this.cache.set(cacheKey, { permissions, timestamp: Date.now() }, this.permissionTTL);
@@ -1 +1 @@
1
- {"version":3,"file":"browser-permission.service.js","sourceRoot":"","sources":["../../src/services/browser-permission.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-permission.service.js","sourceRoot":"","sources":["../../src/services/browser-permission.service.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAUH,sEAAyD;AACzD,sDAA8D;AAC9D,kEAAwE;AAOxE,MAAa,wBAAwB;IAOnC,YAAY,UAAsB,EAAE,SAAoB,EAAE,KAAmB;QAC3E,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,IAAI,GAAG,CAAC,CAAC,qBAAqB;IACrF,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAAC,KAAa;QAC1C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAA,+BAAS,EAAC,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC;YACd,CAAC;YAED,0CAA0C;YAC1C,OACE,CAAC,OAAO,CAAC,GAAG;gBACV,OAAO,CAAC,MAAM;gBACd,OAAO,CAAC,OAAO;gBACf,OAAO,CAAC,EAAE,CACb,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,6BAA6B;QACnC,IAAI,CAAC,IAAA,6BAAS,GAAE,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAA,mCAAe,EAAC,mBAAmB,CAAC,CAAC;YACzD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,SAAS,GAAG,IAAA,oCAAsB,EAAC,WAAW,CAAC,CAAC;YACtD,OAAO,SAAS,CAAC,WAAW,IAAI,IAAI,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,kDAAkD,EAAE,KAAK,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAClB,KAAa,EACb,YAA2B;QAE3B,IAAI,CAAC;YACH,gFAAgF;YAChF,IAAI,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAEzD,sCAAsC;YACtC,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsB,QAAQ,CAAC,CAAC;gBACnE,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;gBAClC,CAAC;YACH,CAAC;YAED,2DAA2D;YAC3D,yDAAyD;YACzD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,iBAAiB,GAAG,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;gBACnE,MAAM,qBAAqB,GAAiB,iBAAiB;oBAC3D,CAAC,CAAC,EAAE,GAAG,iBAAiB,EAAE,WAAW,EAAE,KAAK,EAAE;oBAC9C,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAiB,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;gBAEhE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CACtD,EAAE,KAAK,EAAE,EACT,qBAAqB,CACtB,CAAC;gBACF,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC;gBACzC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC;YAED,qDAAqD;YACrD,MAAM,iBAAiB,GAAG,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YACnE,MAAM,qBAAqB,GAAG,iBAAiB;gBAC7C,CAAC,CAAC,EAAE,GAAG,iBAAiB,EAAE,WAAW,EAAE,KAAK,EAAE;gBAC5C,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAiB,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YAElE,4DAA4D;YAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;YAEzD,iEAAiE;YACjE,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CACV,oEAAoE;oBACpE,kDAAkD;oBAClD,yCAAyC,CAC1C,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAE9D,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,cAAc,CACtE,WAAW,EACX,qBAAqB,CACtB,CAAC;YAEF,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;YAE7D,0CAA0C;YAC1C,MAAM,aAAa,GAAG,eAAe,MAAM,EAAE,CAAC;YAC9C,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAClB,aAAa,EACb,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EACtC,IAAI,CAAC,aAAa,CACnB,CAAC;YAEF,OAAO,WAAW,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACnD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CACjB,KAAa,EACb,UAAkB,EAClB,YAA2B;QAE3B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACnE,OAAO,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CACpB,KAAa,EACb,WAAqB,EACrB,YAA2B;QAE3B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACvE,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CACrC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CACrC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,iBAAiB,CACrB,KAAa,EACb,WAAqB,EACrB,YAA2B;QAE3B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACvE,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CACtC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CACrC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CACtB,KAAa,EACb,YAA2B;QAE3B,IAAI,CAAC;YACH,kCAAkC;YAClC,MAAM,iBAAiB,GAAG,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YACnE,MAAM,qBAAqB,GAAG,iBAAiB;gBAC7C,CAAC,CAAC,EAAE,GAAG,iBAAiB,EAAE,WAAW,EAAE,KAAK,EAAE;gBAC5C,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAiB,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YAElE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CACtD,EAAE,KAAK,EAAE,EACT,qBAAqB,CACtB,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBAC7B,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,eAAe,MAAM,EAAE,CAAC;YAEzC,4DAA4D;YAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACzD,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAE9D,+EAA+E;YAC/E,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,kBAAkB,CAC1E,WAAW,EACX,qBAAqB,CACtB,CAAC;YAEF,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;YAE7D,+BAA+B;YAC/B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAClB,QAAQ,EACR,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EACtC,IAAI,CAAC,aAAa,CACnB,CAAC;YAEF,OAAO,WAAW,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACvD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB,CACzB,KAAa,EACb,YAA2B;QAE3B,IAAI,CAAC;YACH,kCAAkC;YAClC,MAAM,iBAAiB,GAAG,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YACnE,MAAM,qBAAqB,GAAG,iBAAiB;gBAC7C,CAAC,CAAC,EAAE,GAAG,iBAAiB,EAAE,WAAW,EAAE,KAAK,EAAE;gBAC5C,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAiB,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YAElE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CACtD,EAAE,KAAK,EAAE,EACT,qBAAqB,CACtB,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBAC7B,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,eAAe,MAAM,EAAE,CAAC;YAEzC,mBAAmB;YACnB,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;CACF;AA9RD,4DA8RC"}
@@ -18,6 +18,11 @@ export declare class BrowserRoleService {
18
18
  * Uses browser-compatible JWT decoder
19
19
  */
20
20
  private extractUserIdFromToken;
21
+ /**
22
+ * Extract environment from client token stored in localStorage
23
+ * Returns null if not available (browser-only)
24
+ */
25
+ private getEnvironmentFromClientToken;
21
26
  /**
22
27
  * Get user roles with caching
23
28
  * Optimized to extract userId from token first to check cache before API call
@@ -1 +1 @@
1
- {"version":3,"file":"browser-role.service.d.ts","sourceRoot":"","sources":["../../src/services/browser-role.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;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;AAQ/B,qBAAa,kBAAkB;IAC7B,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;gBAEZ,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY;IAQ7E;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAmB9B;;;;;OAKG;IACG,QAAQ,CACZ,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;IA6DpB;;;;;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,CAChB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;IA0CpB;;;;OAIG;IACG,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,IAAI,CAAC;CA2BjB"}
1
+ {"version":3,"file":"browser-role.service.d.ts","sourceRoot":"","sources":["../../src/services/browser-role.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;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;AAU/B,qBAAa,kBAAkB;IAC7B,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;gBAEZ,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY;IAQ7E;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAmB9B;;;OAGG;IACH,OAAO,CAAC,6BAA6B;IA4BrC;;;;;OAKG;IACG,QAAQ,CACZ,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;IA4EpB;;;;;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,CAChB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC;IA+CpB;;;;OAIG;IACG,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,IAAI,CAAC;CA2BjB"}
@@ -6,6 +6,8 @@
6
6
  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
+ const token_utils_1 = require("../utils/token-utils");
10
+ const data_client_utils_1 = require("../utils/data-client-utils");
9
11
  class BrowserRoleService {
10
12
  constructor(httpClient, apiClient, cache) {
11
13
  this.config = httpClient.config;
@@ -34,6 +36,34 @@ class BrowserRoleService {
34
36
  return null;
35
37
  }
36
38
  }
39
+ /**
40
+ * Extract environment from client token stored in localStorage
41
+ * Returns null if not available (browser-only)
42
+ */
43
+ getEnvironmentFromClientToken() {
44
+ if (!(0, data_client_utils_1.isBrowser)()) {
45
+ return null;
46
+ }
47
+ try {
48
+ const clientToken = (0, data_client_utils_1.getLocalStorage)("miso:client-token");
49
+ if (!clientToken) {
50
+ console.warn("[BrowserRoleService] No client token found in localStorage");
51
+ return null;
52
+ }
53
+ const tokenInfo = (0, token_utils_1.extractClientTokenInfo)(clientToken);
54
+ // Log token info for debugging
55
+ if (!tokenInfo.environment) {
56
+ console.warn("[BrowserRoleService] No environment in client token. Token info:", tokenInfo);
57
+ console.log("[BrowserRoleService] Available token info fields:", Object.keys(tokenInfo));
58
+ }
59
+ return tokenInfo.environment || null;
60
+ }
61
+ catch (error) {
62
+ // eslint-disable-next-line no-console
63
+ console.warn("Failed to extract environment from client token:", error);
64
+ return null;
65
+ }
66
+ }
37
67
  /**
38
68
  * Get user roles with caching
39
69
  * Optimized to extract userId from token first to check cache before API call
@@ -70,7 +100,17 @@ class BrowserRoleService {
70
100
  const authStrategyWithToken = authStrategyToUse
71
101
  ? { ...authStrategyToUse, bearerToken: token }
72
102
  : { methods: ['bearer'], bearerToken: token };
73
- const roleResult = await this.apiClient.roles.getRoles(undefined, authStrategyWithToken);
103
+ // Extract environment from client token for query parameter
104
+ const environment = this.getEnvironmentFromClientToken();
105
+ // Log warning if environment is missing (required by controller)
106
+ if (!environment) {
107
+ // eslint-disable-next-line no-console
108
+ console.warn("[BrowserRoleService] Environment not found in client token. " +
109
+ "Roles API requires environment parameter. " +
110
+ "This may cause a 400 Bad Request error.");
111
+ }
112
+ const queryParams = environment ? { environment } : undefined;
113
+ const roleResult = await this.apiClient.roles.getRoles(queryParams, authStrategyWithToken);
74
114
  const roles = roleResult.data?.roles || [];
75
115
  // Cache the result (use userId-based key)
76
116
  const finalCacheKey = `roles:${userId}`;
@@ -131,8 +171,11 @@ class BrowserRoleService {
131
171
  }
132
172
  const userId = userInfo.data.user.id;
133
173
  const cacheKey = `roles:${userId}`;
174
+ // Extract environment from client token for query parameter
175
+ const environment = this.getEnvironmentFromClientToken();
176
+ const queryParams = environment ? { environment } : undefined;
134
177
  // Fetch fresh roles from controller using refresh endpoint via ApiClient
135
- const roleResult = await this.apiClient.roles.refreshRoles(authStrategyWithToken);
178
+ const roleResult = await this.apiClient.roles.refreshRoles(queryParams, authStrategyWithToken);
136
179
  const roles = roleResult.data?.roles || [];
137
180
  // Update cache with fresh data
138
181
  await this.cache.set(cacheKey, { roles, timestamp: Date.now() }, this.roleTTL);
@@ -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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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Logger service module exports
3
+ * Provides LoggerService and LoggerChain for application logging
4
+ */
5
+ export { LoggerService, ClientLoggingOptions } from "./logger.service";
6
+ export { LoggerChain } from "./logger-chain";
7
+ export { UnifiedLoggerService, UnifiedLogger } from "./unified-logger.service";
8
+ export { LoggerContextStorage, LoggerContext } from "./logger-context-storage";
9
+ export { getLogger, setLoggerContext, clearLoggerContext, mergeLoggerContext, registerLoggerService, } from "./unified-logger.factory";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/logger/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ /**
3
+ * Logger service module exports
4
+ * Provides LoggerService and LoggerChain for application logging
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.registerLoggerService = exports.mergeLoggerContext = exports.clearLoggerContext = exports.setLoggerContext = exports.getLogger = exports.LoggerContextStorage = exports.UnifiedLoggerService = exports.LoggerChain = exports.LoggerService = void 0;
8
+ var logger_service_1 = require("./logger.service");
9
+ Object.defineProperty(exports, "LoggerService", { enumerable: true, get: function () { return logger_service_1.LoggerService; } });
10
+ var logger_chain_1 = require("./logger-chain");
11
+ Object.defineProperty(exports, "LoggerChain", { enumerable: true, get: function () { return logger_chain_1.LoggerChain; } });
12
+ var unified_logger_service_1 = require("./unified-logger.service");
13
+ Object.defineProperty(exports, "UnifiedLoggerService", { enumerable: true, get: function () { return unified_logger_service_1.UnifiedLoggerService; } });
14
+ var logger_context_storage_1 = require("./logger-context-storage");
15
+ Object.defineProperty(exports, "LoggerContextStorage", { enumerable: true, get: function () { return logger_context_storage_1.LoggerContextStorage; } });
16
+ var unified_logger_factory_1 = require("./unified-logger.factory");
17
+ Object.defineProperty(exports, "getLogger", { enumerable: true, get: function () { return unified_logger_factory_1.getLogger; } });
18
+ Object.defineProperty(exports, "setLoggerContext", { enumerable: true, get: function () { return unified_logger_factory_1.setLoggerContext; } });
19
+ Object.defineProperty(exports, "clearLoggerContext", { enumerable: true, get: function () { return unified_logger_factory_1.clearLoggerContext; } });
20
+ Object.defineProperty(exports, "mergeLoggerContext", { enumerable: true, get: function () { return unified_logger_factory_1.mergeLoggerContext; } });
21
+ Object.defineProperty(exports, "registerLoggerService", { enumerable: true, get: function () { return unified_logger_factory_1.registerLoggerService; } });
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/logger/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,mDAAuE;AAA9D,+GAAA,aAAa,OAAA;AACtB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,mEAA+E;AAAtE,8HAAA,oBAAoB,OAAA;AAC7B,mEAA+E;AAAtE,8HAAA,oBAAoB,OAAA;AAC7B,mEAMkC;AALhC,mHAAA,SAAS,OAAA;AACT,0HAAA,gBAAgB,OAAA;AAChB,4HAAA,kBAAkB,OAAA;AAClB,4HAAA,kBAAkB,OAAA;AAClB,+HAAA,qBAAqB,OAAA"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Method chaining class for fluent logging API
3
+ */
4
+ import { Request } from "express";
5
+ import { LoggerService, ClientLoggingOptions } from "./logger.service";
6
+ import { IndexedLoggingContext } from "../../utils/logging-helpers";
7
+ /**
8
+ * Method chaining class for fluent logging API
9
+ */
10
+ export declare class LoggerChain {
11
+ private logger;
12
+ private context;
13
+ private options;
14
+ constructor(logger: LoggerService, context?: Record<string, unknown>, options?: ClientLoggingOptions);
15
+ addContext(key: string, value: unknown): LoggerChain;
16
+ addUser(userId: string): LoggerChain;
17
+ addApplication(applicationId: string): LoggerChain;
18
+ addCorrelation(correlationId: string): LoggerChain;
19
+ withToken(token: string): LoggerChain;
20
+ withoutMasking(): LoggerChain;
21
+ /**
22
+ * Add indexed logging context fields for fast queries
23
+ *
24
+ * @param context - Indexed logging context with source, external system, and record fields
25
+ * @returns LoggerChain instance for method chaining
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * await logger
30
+ * .withIndexedContext({
31
+ * sourceKey: 'datasource-1',
32
+ * sourceDisplayName: 'PostgreSQL DB',
33
+ * externalSystemKey: 'system-1',
34
+ * recordKey: 'record-123'
35
+ * })
36
+ * .info('Sync completed');
37
+ * ```
38
+ */
39
+ withIndexedContext(context: IndexedLoggingContext): LoggerChain;
40
+ /**
41
+ * Add credential context for audit logging
42
+ *
43
+ * @param credentialId - Optional credential identifier
44
+ * @param credentialType - Optional credential type (e.g., 'oauth2', 'api-key')
45
+ * @returns LoggerChain instance for method chaining
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * await logger
50
+ * .withCredentialContext('cred-123', 'oauth2')
51
+ * .info('API call completed');
52
+ * ```
53
+ */
54
+ withCredentialContext(credentialId?: string, credentialType?: string): LoggerChain;
55
+ /**
56
+ * Add request/response metrics for performance logging
57
+ *
58
+ * @param requestSize - Optional request size in bytes
59
+ * @param responseSize - Optional response size in bytes
60
+ * @param durationMs - Optional request duration in milliseconds
61
+ * @returns LoggerChain instance for method chaining
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * await logger
66
+ * .withRequestMetrics(1024, 2048, 150)
67
+ * .info('Upstream API call completed');
68
+ * ```
69
+ */
70
+ withRequestMetrics(requestSize?: number, responseSize?: number, durationMs?: number): LoggerChain;
71
+ /**
72
+ * Auto-extract logging context from Express Request
73
+ * Extracts: IP, method, path, user-agent, correlation ID, user from JWT
74
+ *
75
+ * @param req - Express Request object
76
+ * @returns LoggerChain instance for method chaining
77
+ *
78
+ * @example
79
+ * ```typescript
80
+ * await miso.log
81
+ * .withRequest(req)
82
+ * .info("Processing request");
83
+ * ```
84
+ */
85
+ withRequest(req: Request): LoggerChain;
86
+ error(message: string, stackTrace?: string): Promise<void>;
87
+ info(message: string): Promise<void>;
88
+ audit(action: string, resource: string): Promise<void>;
89
+ }
90
+ //# sourceMappingURL=logger-chain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger-chain.d.ts","sourceRoot":"","sources":["../../../src/services/logger/logger-chain.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGpE;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,OAAO,CAAuB;gBAGpC,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACrC,OAAO,GAAE,oBAAyB;IAOpC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW;IAKpD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW;IAKpC,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW;IAKlD,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW;IAKlD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW;IAKrC,cAAc,IAAI,WAAW;IAK7B;;;;;;;;;;;;;;;;;OAiBG;IACH,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW;IAU/D;;;;;;;;;;;;;OAaG;IACH,qBAAqB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,WAAW;IAMlF;;;;;;;;;;;;;;OAcG;IACH,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW;IAOjG;;;;;;;;;;;;;OAaG;IACH,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;IAwChC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1D,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG7D"}
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ /**
3
+ * Method chaining class for fluent logging API
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.LoggerChain = void 0;
7
+ const request_context_1 = require("../../utils/request-context");
8
+ /**
9
+ * Method chaining class for fluent logging API
10
+ */
11
+ class LoggerChain {
12
+ constructor(logger, context = {}, options = {}) {
13
+ this.logger = logger;
14
+ this.context = context;
15
+ this.options = options;
16
+ }
17
+ addContext(key, value) {
18
+ this.context[key] = value;
19
+ return this;
20
+ }
21
+ addUser(userId) {
22
+ this.options.userId = userId;
23
+ return this;
24
+ }
25
+ addApplication(applicationId) {
26
+ this.options.applicationId = applicationId;
27
+ return this;
28
+ }
29
+ addCorrelation(correlationId) {
30
+ this.options.correlationId = correlationId;
31
+ return this;
32
+ }
33
+ withToken(token) {
34
+ this.options.token = token;
35
+ return this;
36
+ }
37
+ withoutMasking() {
38
+ this.options.maskSensitiveData = false;
39
+ return this;
40
+ }
41
+ /**
42
+ * Add indexed logging context fields for fast queries
43
+ *
44
+ * @param context - Indexed logging context with source, external system, and record fields
45
+ * @returns LoggerChain instance for method chaining
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * await logger
50
+ * .withIndexedContext({
51
+ * sourceKey: 'datasource-1',
52
+ * sourceDisplayName: 'PostgreSQL DB',
53
+ * externalSystemKey: 'system-1',
54
+ * recordKey: 'record-123'
55
+ * })
56
+ * .info('Sync completed');
57
+ * ```
58
+ */
59
+ withIndexedContext(context) {
60
+ this.options.sourceKey = context.sourceKey;
61
+ this.options.sourceDisplayName = context.sourceDisplayName;
62
+ this.options.externalSystemKey = context.externalSystemKey;
63
+ this.options.externalSystemDisplayName = context.externalSystemDisplayName;
64
+ this.options.recordKey = context.recordKey;
65
+ this.options.recordDisplayName = context.recordDisplayName;
66
+ return this;
67
+ }
68
+ /**
69
+ * Add credential context for audit logging
70
+ *
71
+ * @param credentialId - Optional credential identifier
72
+ * @param credentialType - Optional credential type (e.g., 'oauth2', 'api-key')
73
+ * @returns LoggerChain instance for method chaining
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * await logger
78
+ * .withCredentialContext('cred-123', 'oauth2')
79
+ * .info('API call completed');
80
+ * ```
81
+ */
82
+ withCredentialContext(credentialId, credentialType) {
83
+ this.options.credentialId = credentialId;
84
+ this.options.credentialType = credentialType;
85
+ return this;
86
+ }
87
+ /**
88
+ * Add request/response metrics for performance logging
89
+ *
90
+ * @param requestSize - Optional request size in bytes
91
+ * @param responseSize - Optional response size in bytes
92
+ * @param durationMs - Optional request duration in milliseconds
93
+ * @returns LoggerChain instance for method chaining
94
+ *
95
+ * @example
96
+ * ```typescript
97
+ * await logger
98
+ * .withRequestMetrics(1024, 2048, 150)
99
+ * .info('Upstream API call completed');
100
+ * ```
101
+ */
102
+ withRequestMetrics(requestSize, responseSize, durationMs) {
103
+ this.options.requestSize = requestSize;
104
+ this.options.responseSize = responseSize;
105
+ this.options.durationMs = durationMs;
106
+ return this;
107
+ }
108
+ /**
109
+ * Auto-extract logging context from Express Request
110
+ * Extracts: IP, method, path, user-agent, correlation ID, user from JWT
111
+ *
112
+ * @param req - Express Request object
113
+ * @returns LoggerChain instance for method chaining
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * await miso.log
118
+ * .withRequest(req)
119
+ * .info("Processing request");
120
+ * ```
121
+ */
122
+ withRequest(req) {
123
+ const ctx = (0, request_context_1.extractRequestContext)(req);
124
+ // Merge into options (these become top-level LogEntry fields)
125
+ if (ctx.userId) {
126
+ this.options.userId = ctx.userId;
127
+ }
128
+ if (ctx.sessionId) {
129
+ this.options.sessionId = ctx.sessionId;
130
+ }
131
+ if (ctx.correlationId) {
132
+ this.options.correlationId = ctx.correlationId;
133
+ }
134
+ if (ctx.requestId) {
135
+ this.options.requestId = ctx.requestId;
136
+ }
137
+ if (ctx.ipAddress) {
138
+ this.options.ipAddress = ctx.ipAddress;
139
+ }
140
+ if (ctx.userAgent) {
141
+ this.options.userAgent = ctx.userAgent;
142
+ }
143
+ // Merge into context (additional request info, not top-level LogEntry fields)
144
+ if (ctx.method) {
145
+ this.context.method = ctx.method;
146
+ }
147
+ if (ctx.path) {
148
+ this.context.path = ctx.path;
149
+ }
150
+ if (ctx.referer) {
151
+ this.context.referer = ctx.referer;
152
+ }
153
+ if (ctx.requestSize !== undefined) {
154
+ this.context.requestSize = ctx.requestSize;
155
+ }
156
+ return this;
157
+ }
158
+ async error(message, stackTrace) {
159
+ await this.logger.error(message, this.context, stackTrace, this.options);
160
+ }
161
+ async info(message) {
162
+ await this.logger.info(message, this.context, this.options);
163
+ }
164
+ async audit(action, resource) {
165
+ await this.logger.audit(action, resource, this.context, this.options);
166
+ }
167
+ }
168
+ exports.LoggerChain = LoggerChain;
169
+ //# sourceMappingURL=logger-chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger-chain.js","sourceRoot":"","sources":["../../../src/services/logger/logger-chain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Logger context storage using AsyncLocalStorage
3
+ * Provides thread-safe context storage per async execution context
4
+ * Context is automatically isolated per async execution context
5
+ */
6
+ /**
7
+ * Logger context interface
8
+ * Contains all fields that can be automatically extracted from requests or manually set
9
+ */
10
+ export interface LoggerContext {
11
+ ipAddress?: string;
12
+ userAgent?: string;
13
+ correlationId?: string;
14
+ userId?: string;
15
+ sessionId?: string;
16
+ method?: string;
17
+ path?: string;
18
+ hostname?: string;
19
+ applicationId?: string;
20
+ requestId?: string;
21
+ token?: string;
22
+ }
23
+ /**
24
+ * Logger context storage singleton
25
+ * Uses AsyncLocalStorage to store context per async execution context
26
+ */
27
+ declare class LoggerContextStorage {
28
+ private static instance;
29
+ private readonly asyncLocalStorage;
30
+ private constructor();
31
+ /**
32
+ * Get singleton instance
33
+ * @returns LoggerContextStorage instance
34
+ */
35
+ static getInstance(): LoggerContextStorage;
36
+ /**
37
+ * Get current context from AsyncLocalStorage
38
+ * @returns Current context or null if not set
39
+ */
40
+ getContext(): LoggerContext | null;
41
+ /**
42
+ * Set context for current async execution context
43
+ * @param context - Context to set (partial, will be merged with existing)
44
+ */
45
+ setContext(context: Partial<LoggerContext>): void;
46
+ /**
47
+ * Clear context for current async execution context
48
+ */
49
+ clearContext(): void;
50
+ /**
51
+ * Merge additional fields into existing context
52
+ * @param additional - Additional context fields to merge
53
+ */
54
+ mergeContext(additional: Partial<LoggerContext>): void;
55
+ /**
56
+ * Run function with context set
57
+ * Useful for setting context at the start of an async operation
58
+ * @param context - Context to set
59
+ * @param fn - Function to run with context
60
+ * @returns Result of function execution
61
+ */
62
+ runWithContext<T>(context: Partial<LoggerContext>, fn: () => T): T;
63
+ /**
64
+ * Run async function with context set
65
+ * Useful for setting context at the start of an async operation
66
+ * @param context - Context to set
67
+ * @param fn - Async function to run with context
68
+ * @returns Promise resolving to result of function execution
69
+ */
70
+ runWithContextAsync<T>(context: Partial<LoggerContext>, fn: () => Promise<T>): Promise<T>;
71
+ }
72
+ export { LoggerContextStorage };
73
+ //# sourceMappingURL=logger-context-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger-context-storage.d.ts","sourceRoot":"","sources":["../../../src/services/logger/logger-context-storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,cAAM,oBAAoB;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqC;IAC5D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmC;IAErE,OAAO;IAIP;;;OAGG;IACH,MAAM,CAAC,WAAW,IAAI,oBAAoB;IAO1C;;;OAGG;IACH,UAAU,IAAI,aAAa,GAAG,IAAI;IAQlC;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAKjD;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;;OAGG;IACH,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAKtD;;;;;;OAMG;IACH,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAKlE;;;;;;OAMG;IACG,mBAAmB,CAAC,CAAC,EACzB,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC;CAId;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}