@aifabrix/miso-client 4.4.1 → 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 (182) hide show
  1. package/CHANGELOG.md +24 -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/api/types/applications.types.d.ts +13 -6
  10. package/dist/api/types/applications.types.d.ts.map +1 -1
  11. package/dist/api/types/applications.types.js +9 -0
  12. package/dist/api/types/applications.types.js.map +1 -1
  13. package/dist/express/client-token-endpoint.d.ts.map +1 -1
  14. package/dist/express/client-token-endpoint.js +88 -82
  15. package/dist/express/client-token-endpoint.js.map +1 -1
  16. package/dist/express/error-handler.d.ts.map +1 -1
  17. package/dist/express/error-handler.js +15 -7
  18. package/dist/express/error-handler.js.map +1 -1
  19. package/dist/express/error-types.d.ts +8 -1
  20. package/dist/express/error-types.d.ts.map +1 -1
  21. package/dist/express/error-types.js +11 -5
  22. package/dist/express/error-types.js.map +1 -1
  23. package/dist/express/index.d.ts +1 -1
  24. package/dist/express/index.d.ts.map +1 -1
  25. package/dist/express/response-helper.d.ts.map +1 -1
  26. package/dist/express/response-helper.js +4 -1
  27. package/dist/express/response-helper.js.map +1 -1
  28. package/dist/express/validation-helper.d.ts +1 -1
  29. package/dist/express/validation-helper.d.ts.map +1 -1
  30. package/dist/express/validation-helper.js +8 -10
  31. package/dist/express/validation-helper.js.map +1 -1
  32. package/dist/index.d.ts +3 -353
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +5 -539
  35. package/dist/index.js.map +1 -1
  36. package/dist/miso-client.d.ts +82 -0
  37. package/dist/miso-client.d.ts.map +1 -0
  38. package/dist/miso-client.js +187 -0
  39. package/dist/miso-client.js.map +1 -0
  40. package/dist/sdk-exports.d.ts +56 -0
  41. package/dist/sdk-exports.d.ts.map +1 -0
  42. package/dist/sdk-exports.js +105 -0
  43. package/dist/sdk-exports.js.map +1 -0
  44. package/dist/services/application-context.service.d.ts +9 -1
  45. package/dist/services/application-context.service.d.ts.map +1 -1
  46. package/dist/services/application-context.service.js +46 -60
  47. package/dist/services/application-context.service.js.map +1 -1
  48. package/dist/services/auth-cache-helpers.d.ts.map +1 -1
  49. package/dist/services/auth-cache-helpers.js +4 -6
  50. package/dist/services/auth-cache-helpers.js.map +1 -1
  51. package/dist/services/auth-error-handler.d.ts.map +1 -1
  52. package/dist/services/auth-error-handler.js +12 -1
  53. package/dist/services/auth-error-handler.js.map +1 -1
  54. package/dist/services/auth.service.d.ts.map +1 -1
  55. package/dist/services/auth.service.js +9 -13
  56. package/dist/services/auth.service.js.map +1 -1
  57. package/dist/services/browser-permission.service.d.ts +4 -4
  58. package/dist/services/browser-permission.service.d.ts.map +1 -1
  59. package/dist/services/browser-permission.service.js +35 -80
  60. package/dist/services/browser-permission.service.js.map +1 -1
  61. package/dist/services/browser-role.service.d.ts +4 -4
  62. package/dist/services/browser-role.service.d.ts.map +1 -1
  63. package/dist/services/browser-role.service.js +40 -96
  64. package/dist/services/browser-role.service.js.map +1 -1
  65. package/dist/services/cache.service.d.ts +1 -0
  66. package/dist/services/cache.service.d.ts.map +1 -1
  67. package/dist/services/cache.service.js +19 -32
  68. package/dist/services/cache.service.js.map +1 -1
  69. package/dist/services/logger/logger-context.d.ts +17 -17
  70. package/dist/services/logger/logger-context.d.ts.map +1 -1
  71. package/dist/services/logger/logger-context.js +7 -17
  72. package/dist/services/logger/logger-context.js.map +1 -1
  73. package/dist/services/logger/logger-http-utils.d.ts +9 -0
  74. package/dist/services/logger/logger-http-utils.d.ts.map +1 -0
  75. package/dist/services/logger/logger-http-utils.js +45 -0
  76. package/dist/services/logger/logger-http-utils.js.map +1 -0
  77. package/dist/services/logger/logger.service.d.ts +1 -4
  78. package/dist/services/logger/logger.service.d.ts.map +1 -1
  79. package/dist/services/logger/logger.service.js +61 -77
  80. package/dist/services/logger/logger.service.js.map +1 -1
  81. package/dist/services/permission.service.d.ts.map +1 -1
  82. package/dist/services/permission.service.js +17 -30
  83. package/dist/services/permission.service.js.map +1 -1
  84. package/dist/services/role.service.d.ts.map +1 -1
  85. package/dist/services/role.service.js +12 -20
  86. package/dist/services/role.service.js.map +1 -1
  87. package/dist/services/token-validation.service.js +1 -3
  88. package/dist/services/token-validation.service.js.map +1 -1
  89. package/dist/types/config.types.d.ts +1 -0
  90. package/dist/types/config.types.d.ts.map +1 -1
  91. package/dist/types/config.types.js.map +1 -1
  92. package/dist/utils/audit-log-queue.d.ts +3 -0
  93. package/dist/utils/audit-log-queue.d.ts.map +1 -1
  94. package/dist/utils/audit-log-queue.js +47 -66
  95. package/dist/utils/audit-log-queue.js.map +1 -1
  96. package/dist/utils/client-token-manager.d.ts +0 -7
  97. package/dist/utils/client-token-manager.d.ts.map +1 -1
  98. package/dist/utils/client-token-manager.js +40 -46
  99. package/dist/utils/client-token-manager.js.map +1 -1
  100. package/dist/utils/config-loader.d.ts +0 -5
  101. package/dist/utils/config-loader.d.ts.map +1 -1
  102. package/dist/utils/config-loader.js +14 -11
  103. package/dist/utils/config-loader.js.map +1 -1
  104. package/dist/utils/console-logger.d.ts +4 -0
  105. package/dist/utils/console-logger.d.ts.map +1 -1
  106. package/dist/utils/console-logger.js +21 -5
  107. package/dist/utils/console-logger.js.map +1 -1
  108. package/dist/utils/data-client-audit.d.ts +19 -1
  109. package/dist/utils/data-client-audit.d.ts.map +1 -1
  110. package/dist/utils/data-client-audit.js +87 -117
  111. package/dist/utils/data-client-audit.js.map +1 -1
  112. package/dist/utils/data-client-auth.d.ts.map +1 -1
  113. package/dist/utils/data-client-auth.js +139 -95
  114. package/dist/utils/data-client-auth.js.map +1 -1
  115. package/dist/utils/data-client-auto-init.d.ts.map +1 -1
  116. package/dist/utils/data-client-auto-init.js +57 -72
  117. package/dist/utils/data-client-auto-init.js.map +1 -1
  118. package/dist/utils/data-client-init.d.ts.map +1 -1
  119. package/dist/utils/data-client-init.js +3 -3
  120. package/dist/utils/data-client-init.js.map +1 -1
  121. package/dist/utils/data-client-oauth.d.ts.map +1 -1
  122. package/dist/utils/data-client-oauth.js +84 -60
  123. package/dist/utils/data-client-oauth.js.map +1 -1
  124. package/dist/utils/data-client-redirect.d.ts.map +1 -1
  125. package/dist/utils/data-client-redirect.js +75 -98
  126. package/dist/utils/data-client-redirect.js.map +1 -1
  127. package/dist/utils/data-client-request.d.ts +24 -5
  128. package/dist/utils/data-client-request.d.ts.map +1 -1
  129. package/dist/utils/data-client-request.js +80 -42
  130. package/dist/utils/data-client-request.js.map +1 -1
  131. package/dist/utils/data-client-response.d.ts +63 -15
  132. package/dist/utils/data-client-response.d.ts.map +1 -1
  133. package/dist/utils/data-client-response.js +89 -33
  134. package/dist/utils/data-client-response.js.map +1 -1
  135. package/dist/utils/data-client.d.ts +4 -0
  136. package/dist/utils/data-client.d.ts.map +1 -1
  137. package/dist/utils/data-client.js +57 -30
  138. package/dist/utils/data-client.js.map +1 -1
  139. package/dist/utils/environment-token.d.ts.map +1 -1
  140. package/dist/utils/environment-token.js +49 -59
  141. package/dist/utils/environment-token.js.map +1 -1
  142. package/dist/utils/error-extractor.d.ts.map +1 -1
  143. package/dist/utils/error-extractor.js +56 -79
  144. package/dist/utils/error-extractor.js.map +1 -1
  145. package/dist/utils/filter-colon.utils.d.ts.map +1 -1
  146. package/dist/utils/filter-colon.utils.js +34 -45
  147. package/dist/utils/filter-colon.utils.js.map +1 -1
  148. package/dist/utils/filter-schema-loader.d.ts +12 -0
  149. package/dist/utils/filter-schema-loader.d.ts.map +1 -0
  150. package/dist/utils/filter-schema-loader.js +69 -0
  151. package/dist/utils/filter-schema-loader.js.map +1 -0
  152. package/dist/utils/filter-schema.utils.d.ts +1 -14
  153. package/dist/utils/filter-schema.utils.d.ts.map +1 -1
  154. package/dist/utils/filter-schema.utils.js +78 -136
  155. package/dist/utils/filter-schema.utils.js.map +1 -1
  156. package/dist/utils/filter.utils.d.ts.map +1 -1
  157. package/dist/utils/filter.utils.js +38 -36
  158. package/dist/utils/filter.utils.js.map +1 -1
  159. package/dist/utils/http-client-audit.d.ts.map +1 -1
  160. package/dist/utils/http-client-audit.js +3 -12
  161. package/dist/utils/http-client-audit.js.map +1 -1
  162. package/dist/utils/http-client-masking.d.ts +13 -2
  163. package/dist/utils/http-client-masking.d.ts.map +1 -1
  164. package/dist/utils/http-client-masking.js +27 -27
  165. package/dist/utils/http-client-masking.js.map +1 -1
  166. package/dist/utils/http-response-validator.d.ts.map +1 -1
  167. package/dist/utils/http-response-validator.js +8 -3
  168. package/dist/utils/http-response-validator.js.map +1 -1
  169. package/dist/utils/internal-http-client.d.ts.map +1 -1
  170. package/dist/utils/internal-http-client.js +5 -3
  171. package/dist/utils/internal-http-client.js.map +1 -1
  172. package/dist/utils/response-validator.d.ts.map +1 -1
  173. package/dist/utils/response-validator.js +29 -44
  174. package/dist/utils/response-validator.js.map +1 -1
  175. package/dist/utils/sensitive-fields.loader.d.ts +0 -7
  176. package/dist/utils/sensitive-fields.loader.d.ts.map +1 -1
  177. package/dist/utils/sensitive-fields.loader.js +68 -114
  178. package/dist/utils/sensitive-fields.loader.js.map +1 -1
  179. package/dist/utils/token-utils.d.ts.map +1 -1
  180. package/dist/utils/token-utils.js +28 -37
  181. package/dist/utils/token-utils.js.map +1 -1
  182. package/package.json +16 -15
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * Main MisoClient SDK class
3
+ * Main MisoClient SDK entry point
4
4
  */
5
5
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
6
  if (k2 === undefined) k2 = k;
@@ -17,542 +17,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
17
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.TokenValidationService = exports.getCachedDataClientConfig = exports.autoInitializeDataClient = exports.dataClient = exports.DataClient = exports.loggerContextMiddleware = exports.hasConfig = exports.createClientTokenEndpoint = exports.sendErrorResponse = exports.getErrorTitle = exports.getErrorTypeUri = exports.handleRouteError = exports.setErrorLogger = exports.createErrorResponse = exports.createSuccessResponse = exports.AppError = exports.ValidationHelper = exports.asyncHandlerNamed = exports.asyncHandler = exports.injectResponseHelpers = exports.ResponseHelper = exports.EncryptionError = exports.EncryptionService = exports.handleApiError = exports.transformError = exports.ApiErrorException = exports.MisoClientError = exports.extractRequestContext = exports.extractLoggingContext = exports.validateUrl = exports.isBrowser = exports.resolveKeycloakUrl = exports.resolveControllerUrl = exports.extractClientTokenInfo = exports.getEnvironmentToken = exports.validateOrigin = exports.loadConfig = exports.LoggerContextStorage = exports.getLogger = exports.HttpClient = exports.CacheService = exports.RedisService = exports.LoggerService = exports.BrowserRoleService = exports.BrowserPermissionService = exports.PermissionService = exports.RoleService = exports.AuthService = exports.detectAuthMethodFromHeaders = exports.MisoClient = void 0;
21
- const auth_service_1 = require("./services/auth.service");
22
- const role_service_1 = require("./services/role.service");
23
- const permission_service_1 = require("./services/permission.service");
24
- const logger_1 = require("./services/logger");
25
- const redis_service_1 = require("./services/redis.service");
26
- const cache_service_1 = require("./services/cache.service");
27
- const http_client_1 = require("./utils/http-client");
28
- const internal_http_client_1 = require("./utils/internal-http-client");
29
- const api_1 = require("./api");
30
- const data_masker_1 = require("./utils/data-masker");
31
- const auth_strategy_1 = require("./utils/auth-strategy");
32
- const origin_validator_1 = require("./utils/origin-validator");
33
- const token_validation_service_1 = require("./services/token-validation.service");
34
- const encryption_service_1 = require("./services/encryption.service");
35
- class MisoClient {
36
- constructor(config) {
37
- this.initialized = false;
38
- this.config = config;
39
- // Initialize DataMasker with custom config path if provided
40
- if (config.sensitiveFieldsConfig) {
41
- data_masker_1.DataMasker.setConfigPath(config.sensitiveFieldsConfig);
42
- }
43
- // Create InternalHttpClient first (base HTTP functionality)
44
- const internalClient = new internal_http_client_1.InternalHttpClient(config);
45
- // Create Redis service
46
- this.redis = new redis_service_1.RedisService(config.redis);
47
- // Create LoggerService with InternalHttpClient first (needs httpClient.request() and httpClient.config)
48
- // InternalHttpClient has these methods, so we can use it directly
49
- // Type assertion needed because InternalHttpClient has compatible interface with HttpClient
50
- this.logger = new logger_1.LoggerService(internalClient, this.redis);
51
- // Create public HttpClient that wraps InternalHttpClient with logger
52
- this.httpClient = new http_client_1.HttpClient(config, this.logger);
53
- // Update LoggerService to use the new public HttpClient (for logging)
54
- // Type assertion needed because httpClient property is private in LoggerService but needs to be updated
55
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
- this.logger.httpClient = this.httpClient;
57
- // Create ApiClient that wraps HttpClient (provides typed API interfaces)
58
- this.apiClient = new api_1.ApiClient(this.httpClient);
59
- // Set ApiClient in LoggerService (resolves circular dependency)
60
- this.logger.setApiClient(this.apiClient);
61
- // Register LoggerService for unified logging interface
62
- // eslint-disable-next-line @typescript-eslint/no-var-requires
63
- const { registerLoggerService } = require("./services/logger/unified-logger.factory");
64
- registerLoggerService(this.logger);
65
- // Initialize cache service with Redis support (used by auth, roles and permissions)
66
- this.cacheService = new cache_service_1.CacheService(this.redis);
67
- // Create services (pass both httpClient and apiClient for gradual migration)
68
- this.auth = new auth_service_1.AuthService(this.httpClient, this.apiClient, this.cacheService);
69
- // Initialize services that use cache
70
- this.roles = new role_service_1.RoleService(this.httpClient, this.apiClient, this.cacheService);
71
- this.permissions = new permission_service_1.PermissionService(this.httpClient, this.apiClient, this.cacheService);
72
- // Initialize token validation service
73
- this.tokenValidation = new token_validation_service_1.TokenValidationService(config.keycloak);
74
- // Initialize encryption service with encryption key from config
75
- this.encryptionService = new encryption_service_1.EncryptionService(this.apiClient, this.config.encryptionKey);
76
- }
77
- /**
78
- * Initialize the client (connect to Redis if configured)
79
- */
80
- async initialize() {
81
- if (this.initialized) {
82
- return;
83
- }
84
- try {
85
- await this.redis.connect();
86
- this.initialized = true;
87
- }
88
- catch (error) {
89
- // Redis connection failed, continue with controller fallback mode
90
- this.initialized = true; // Still mark as initialized for fallback mode
91
- }
92
- }
93
- /**
94
- * Disconnect from Redis
95
- */
96
- async disconnect() {
97
- await this.redis.disconnect();
98
- this.initialized = false;
99
- }
100
- /**
101
- * Check if client is initialized
102
- */
103
- isInitialized() {
104
- return this.initialized;
105
- }
106
- // ==================== AUTHENTICATION METHODS ====================
107
- /**
108
- * Extract Bearer token from request headers
109
- * Supports common request object patterns (Express, Fastify, Next.js)
110
- */
111
- getToken(req) {
112
- const authHeader = req.headers.authorization;
113
- if (!authHeader) {
114
- return null;
115
- }
116
- // Support "Bearer <token>" format
117
- if (authHeader.startsWith("Bearer ")) {
118
- return authHeader.substring(7);
119
- }
120
- // If no Bearer prefix, assume the whole header is the token
121
- return authHeader;
122
- }
123
- /**
124
- * Validate request origin against configured allowed origins
125
- * Uses allowedOrigins from client configuration if not provided
126
- *
127
- * @param req - Express Request object
128
- * @param allowedOrigins - Optional array of allowed origins (defaults to config.allowedOrigins)
129
- * @returns Validation result with valid flag and optional error message
130
- */
131
- validateOrigin(req, allowedOrigins) {
132
- const origins = allowedOrigins ?? this.config.allowedOrigins;
133
- return (0, origin_validator_1.validateOrigin)(req, origins);
134
- }
135
- /**
136
- * Get environment token using client credentials.
137
- * @returns Environment token string or empty string on failure.
138
- */
139
- async getEnvironmentToken() {
140
- return this.auth.getEnvironmentToken();
141
- }
142
- /**
143
- * Initiate login flow and return login URL for browser redirect.
144
- * @param params - Login parameters.
145
- * @param params.redirect - Final destination URL after authentication.
146
- * @param params.state - Optional CSRF protection token.
147
- * @returns Login response with loginUrl and state.
148
- */
149
- async login(params) {
150
- return this.auth.login(params);
151
- }
152
- /**
153
- * Validate token with controller.
154
- * @param token - User JWT token.
155
- * @param authStrategy - Optional authentication strategy override.
156
- * @returns True if token is valid, otherwise false.
157
- */
158
- async validateToken(token, authStrategy) {
159
- return this.auth.validateToken(token, authStrategy);
160
- }
161
- /**
162
- * Get user information from token.
163
- * @param token - User JWT token.
164
- * @param authStrategy - Optional authentication strategy override.
165
- * @returns User info or null when not available.
166
- */
167
- async getUser(token, authStrategy) {
168
- return this.auth.getUser(token, authStrategy);
169
- }
170
- /**
171
- * Get user information from GET /api/v1/auth/user endpoint.
172
- * @param token - User JWT token.
173
- * @param authStrategy - Optional authentication strategy override.
174
- * @returns User info or null when not available.
175
- */
176
- async getUserInfo(token, authStrategy) {
177
- return this.auth.getUserInfo(token, authStrategy);
178
- }
179
- /**
180
- * Check if user is authenticated.
181
- * @param token - User JWT token.
182
- * @param authStrategy - Optional authentication strategy override.
183
- * @returns True if authenticated, otherwise false.
184
- */
185
- async isAuthenticated(token, authStrategy) {
186
- return this.auth.isAuthenticated(token, authStrategy);
187
- }
188
- /**
189
- * Logout user.
190
- * @param params - Logout parameters.
191
- * @param params.token - User JWT token.
192
- * @returns Logout response.
193
- */
194
- async logout(params) {
195
- return this.auth.logout(params);
196
- }
197
- /**
198
- * Refresh user access token using refresh token.
199
- * @param refreshToken - Refresh token.
200
- * @param authStrategy - Optional authentication strategy override.
201
- * @returns Refresh token response or null on failure.
202
- */
203
- async refreshToken(refreshToken, authStrategy) {
204
- return this.auth.refreshToken(refreshToken, authStrategy);
205
- }
206
- /**
207
- * Validate token locally using JWKS (no API call).
208
- * @param token - User JWT token.
209
- * @param options - Optional validation options.
210
- * @returns Validation result.
211
- */
212
- async validateTokenLocal(token, options) {
213
- return this.tokenValidation.validateTokenLocal(token, options);
214
- }
215
- /**
216
- * Set or update Keycloak configuration for local validation.
217
- * @param config - Keycloak configuration.
218
- */
219
- setKeycloakConfig(config) {
220
- this.tokenValidation.setKeycloakConfig(config);
221
- }
222
- /**
223
- * Clear JWKS cache.
224
- * @param jwksUri - Optional JWKS URI to clear.
225
- */
226
- clearJwksCache(jwksUri) {
227
- this.tokenValidation.clearCache(jwksUri);
228
- }
229
- /**
230
- * Clear validation result cache.
231
- */
232
- clearValidationCache() {
233
- this.tokenValidation.clearResultCache();
234
- }
235
- /**
236
- * Clear all token validation caches (JWKS + results).
237
- */
238
- clearAllTokenCaches() {
239
- this.tokenValidation.clearAllCaches();
240
- }
241
- // ==================== ROLE METHODS ====================
242
- /**
243
- * Get user roles (cached if Redis available).
244
- * @param token - User JWT token.
245
- * @param authStrategy - Optional authentication strategy override.
246
- * @returns Array of roles.
247
- */
248
- async getRoles(token, authStrategy) {
249
- return this.roles.getRoles(token, authStrategy);
250
- }
251
- /**
252
- * Check if user has specific role.
253
- * @param token - User JWT token.
254
- * @param role - Role to check.
255
- * @param authStrategy - Optional authentication strategy override.
256
- * @returns True if user has the role.
257
- */
258
- async hasRole(token, role, authStrategy) {
259
- return this.roles.hasRole(token, role, authStrategy);
260
- }
261
- /**
262
- * Check if user has any of the specified roles.
263
- * @param token - User JWT token.
264
- * @param roles - Roles to check.
265
- * @param authStrategy - Optional authentication strategy override.
266
- * @returns True if user has any of the roles.
267
- */
268
- async hasAnyRole(token, roles, authStrategy) {
269
- return this.roles.hasAnyRole(token, roles, authStrategy);
270
- }
271
- /**
272
- * Check if user has all of the specified roles.
273
- * @param token - User JWT token.
274
- * @param roles - Roles to check.
275
- * @param authStrategy - Optional authentication strategy override.
276
- * @returns True if user has all roles.
277
- */
278
- async hasAllRoles(token, roles, authStrategy) {
279
- return this.roles.hasAllRoles(token, roles, authStrategy);
280
- }
281
- /**
282
- * Force refresh roles from controller (bypass cache).
283
- * @param token - User JWT token.
284
- * @param authStrategy - Optional authentication strategy override.
285
- * @returns Array of roles.
286
- */
287
- async refreshRoles(token, authStrategy) {
288
- return this.roles.refreshRoles(token, authStrategy);
289
- }
290
- // ==================== PERMISSION METHODS ====================
291
- /**
292
- * Get user permissions (cached if Redis available).
293
- * @param token - User JWT token.
294
- * @param authStrategy - Optional authentication strategy override.
295
- * @returns Array of permissions.
296
- */
297
- async getPermissions(token, authStrategy) {
298
- return this.permissions.getPermissions(token, authStrategy);
299
- }
300
- /**
301
- * Check if user has specific permission.
302
- * @param token - User JWT token.
303
- * @param permission - Permission to check.
304
- * @param authStrategy - Optional authentication strategy override.
305
- * @returns True if user has permission.
306
- */
307
- async hasPermission(token, permission, authStrategy) {
308
- return this.permissions.hasPermission(token, permission, authStrategy);
309
- }
310
- /**
311
- * Check if user has any of the specified permissions.
312
- * @param token - User JWT token.
313
- * @param permissions - Permissions to check.
314
- * @param authStrategy - Optional authentication strategy override.
315
- * @returns True if user has any permission.
316
- */
317
- async hasAnyPermission(token, permissions, authStrategy) {
318
- return this.permissions.hasAnyPermission(token, permissions, authStrategy);
319
- }
320
- /**
321
- * Check if user has all of the specified permissions.
322
- * @param token - User JWT token.
323
- * @param permissions - Permissions to check.
324
- * @param authStrategy - Optional authentication strategy override.
325
- * @returns True if user has all permissions.
326
- */
327
- async hasAllPermissions(token, permissions, authStrategy) {
328
- return this.permissions.hasAllPermissions(token, permissions, authStrategy);
329
- }
330
- /**
331
- * Force refresh permissions from controller (bypass cache).
332
- * @param token - User JWT token.
333
- * @param authStrategy - Optional authentication strategy override.
334
- * @returns Array of permissions.
335
- */
336
- async refreshPermissions(token, authStrategy) {
337
- return this.permissions.refreshPermissions(token, authStrategy);
338
- }
339
- /**
340
- * Clear cached permissions for a user.
341
- * @param token - User JWT token.
342
- * @param authStrategy - Optional authentication strategy override.
343
- */
344
- async clearPermissionsCache(token, authStrategy) {
345
- return this.permissions.clearPermissionsCache(token, authStrategy);
346
- }
347
- // ==================== LOGGING METHODS ====================
348
- /**
349
- * Get logger service for application logging
350
- */
351
- get log() {
352
- return this.logger;
353
- }
354
- // ==================== ENCRYPTION METHODS ====================
355
- /**
356
- * Get encryption service for security parameter management
357
- * Provides encrypt/decrypt methods that call the controller
358
- */
359
- get encryption() {
360
- return this.encryptionService;
361
- }
362
- // ==================== CACHE METHODS ====================
363
- /**
364
- * Get cache service for generic caching
365
- */
366
- get cache() {
367
- return this.cacheService;
368
- }
369
- // ==================== APPLICATION STATUS METHODS (server-side) ====================
370
- /**
371
- * Update the current application's status and URLs (server-side only).
372
- * Uses client credentials or provided authStrategy.
373
- * When envKey is omitted, resolves from application context (client token / clientId).
374
- *
375
- * @param body - Update request (status, url, internalUrl, port)
376
- * @param options - Optional envKey and authStrategy; if envKey omitted, uses context (throws if context missing)
377
- * @returns Update response with success and optional application data
378
- */
379
- async updateMyApplicationStatus(body, options) {
380
- const envKey = options?.envKey ??
381
- this.logger.getApplicationContextService().getApplicationContext()
382
- .environment;
383
- if (!envKey) {
384
- throw new Error('updateMyApplicationStatus requires envKey or application context (client token/clientId with environment). Neither was available.');
385
- }
386
- return this.apiClient.applications.updateSelfStatus(envKey, body, options?.authStrategy);
387
- }
388
- /**
389
- * Get any application's status and URLs (without configuration).
390
- * Uses client credentials or provided authStrategy.
391
- *
392
- * @param envKey - Environment key
393
- * @param appKey - Application key
394
- * @param authStrategy - Optional authentication strategy override
395
- * @returns Application status response with metadata
396
- */
397
- async getApplicationStatus(envKey, appKey, authStrategy) {
398
- return this.apiClient.applications.getApplicationStatus(envKey, appKey, authStrategy);
399
- }
400
- /**
401
- * Get the current application's status and URLs (server-side only).
402
- * Uses envKey and appKey from application context when not provided.
403
- *
404
- * @param options - Optional envKey and appKey; if omitted, uses context
405
- * @param authStrategy - Optional authentication strategy override
406
- * @returns Application status response with metadata
407
- */
408
- async getMyApplicationStatus(options, authStrategy) {
409
- const context = this.logger.getApplicationContextService().getApplicationContext();
410
- const envKey = options?.envKey ?? context.environment;
411
- const appKey = options?.appKey ?? context.application;
412
- if (!envKey || !appKey) {
413
- throw new Error('getMyApplicationStatus requires envKey and appKey or application context (client token/clientId). Neither was fully available.');
414
- }
415
- return this.apiClient.applications.getApplicationStatus(envKey, appKey, authStrategy);
416
- }
417
- // ==================== UTILITY METHODS ====================
418
- /**
419
- * Get current configuration
420
- */
421
- getConfig() {
422
- return { ...this.config };
423
- }
424
- /**
425
- * Check if Redis is connected.
426
- * @returns True if Redis connection is active.
427
- */
428
- isRedisConnected() {
429
- return this.redis.isConnected();
430
- }
431
- /**
432
- * Make request with authentication strategy.
433
- * @param method - HTTP method.
434
- * @param url - Request URL.
435
- * @param authStrategy - Authentication strategy to use.
436
- * @param data - Optional request data.
437
- * @param config - Optional Axios config overrides.
438
- * @returns Parsed response data.
439
- */
440
- async requestWithAuthStrategy(method, url, authStrategy, data, config) {
441
- return this.httpClient.requestWithAuthStrategy(method, url, authStrategy, data, config);
442
- }
443
- /**
444
- * Create authentication strategy helper.
445
- * @param methods - Auth methods in priority order.
446
- * @param bearerToken - Optional bearer token.
447
- * @param apiKey - Optional API key.
448
- * @returns Authentication strategy.
449
- */
450
- createAuthStrategy(methods, bearerToken, apiKey) {
451
- return { methods, bearerToken, apiKey };
452
- }
453
- /**
454
- * Get default authentication strategy.
455
- * @param bearerToken - Optional bearer token.
456
- * @returns Default authentication strategy.
457
- */
458
- getDefaultAuthStrategy(bearerToken) {
459
- return auth_strategy_1.AuthStrategyHandler.getDefaultStrategy(bearerToken);
460
- }
461
- }
462
- exports.MisoClient = MisoClient;
463
- // Export types
464
- __exportStar(require("./types/config.types"), exports);
465
- __exportStar(require("./types/filter.types"), exports);
466
- __exportStar(require("./types/filter-schema.types"), exports);
467
- // Export detectAuthMethodFromHeaders helper for advanced usage
468
- var http_error_handler_1 = require("./utils/http-error-handler");
469
- Object.defineProperty(exports, "detectAuthMethodFromHeaders", { enumerable: true, get: function () { return http_error_handler_1.detectAuthMethodFromHeaders; } });
470
- // Export services for advanced usage
471
- var auth_service_2 = require("./services/auth.service");
472
- Object.defineProperty(exports, "AuthService", { enumerable: true, get: function () { return auth_service_2.AuthService; } });
473
- var role_service_2 = require("./services/role.service");
474
- Object.defineProperty(exports, "RoleService", { enumerable: true, get: function () { return role_service_2.RoleService; } });
475
- var permission_service_2 = require("./services/permission.service");
476
- Object.defineProperty(exports, "PermissionService", { enumerable: true, get: function () { return permission_service_2.PermissionService; } });
477
- var browser_permission_service_1 = require("./services/browser-permission.service");
478
- Object.defineProperty(exports, "BrowserPermissionService", { enumerable: true, get: function () { return browser_permission_service_1.BrowserPermissionService; } });
479
- var browser_role_service_1 = require("./services/browser-role.service");
480
- Object.defineProperty(exports, "BrowserRoleService", { enumerable: true, get: function () { return browser_role_service_1.BrowserRoleService; } });
481
- var logger_2 = require("./services/logger");
482
- Object.defineProperty(exports, "LoggerService", { enumerable: true, get: function () { return logger_2.LoggerService; } });
483
- var redis_service_2 = require("./services/redis.service");
484
- Object.defineProperty(exports, "RedisService", { enumerable: true, get: function () { return redis_service_2.RedisService; } });
485
- var cache_service_2 = require("./services/cache.service");
486
- Object.defineProperty(exports, "CacheService", { enumerable: true, get: function () { return cache_service_2.CacheService; } });
487
- var http_client_2 = require("./utils/http-client");
488
- Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function () { return http_client_2.HttpClient; } });
489
- // Export unified logging interface
490
- var unified_logger_factory_1 = require("./services/logger/unified-logger.factory");
491
- Object.defineProperty(exports, "getLogger", { enumerable: true, get: function () { return unified_logger_factory_1.getLogger; } });
492
- var logger_3 = require("./services/logger");
493
- Object.defineProperty(exports, "LoggerContextStorage", { enumerable: true, get: function () { return logger_3.LoggerContextStorage; } });
494
- // Export utilities
495
- var config_loader_1 = require("./utils/config-loader");
496
- Object.defineProperty(exports, "loadConfig", { enumerable: true, get: function () { return config_loader_1.loadConfig; } });
497
- var origin_validator_2 = require("./utils/origin-validator");
498
- Object.defineProperty(exports, "validateOrigin", { enumerable: true, get: function () { return origin_validator_2.validateOrigin; } });
499
- var environment_token_1 = require("./utils/environment-token");
500
- Object.defineProperty(exports, "getEnvironmentToken", { enumerable: true, get: function () { return environment_token_1.getEnvironmentToken; } });
501
- var token_utils_1 = require("./utils/token-utils");
502
- Object.defineProperty(exports, "extractClientTokenInfo", { enumerable: true, get: function () { return token_utils_1.extractClientTokenInfo; } });
503
- var controller_url_resolver_1 = require("./utils/controller-url-resolver");
504
- Object.defineProperty(exports, "resolveControllerUrl", { enumerable: true, get: function () { return controller_url_resolver_1.resolveControllerUrl; } });
505
- Object.defineProperty(exports, "resolveKeycloakUrl", { enumerable: true, get: function () { return controller_url_resolver_1.resolveKeycloakUrl; } });
506
- Object.defineProperty(exports, "isBrowser", { enumerable: true, get: function () { return controller_url_resolver_1.isBrowser; } });
507
- Object.defineProperty(exports, "validateUrl", { enumerable: true, get: function () { return controller_url_resolver_1.validateUrl; } });
508
- var logging_helpers_1 = require("./utils/logging-helpers");
509
- Object.defineProperty(exports, "extractLoggingContext", { enumerable: true, get: function () { return logging_helpers_1.extractLoggingContext; } });
510
- var request_context_1 = require("./utils/request-context");
511
- Object.defineProperty(exports, "extractRequestContext", { enumerable: true, get: function () { return request_context_1.extractRequestContext; } });
512
- // Export pagination, filter, sort utilities
513
- __exportStar(require("./utils/pagination.utils"), exports);
514
- __exportStar(require("./utils/filter.utils"), exports);
515
- __exportStar(require("./utils/filter-schema.utils"), exports);
516
- __exportStar(require("./utils/sort.utils"), exports);
517
- // Export error classes and utilities
518
- var errors_1 = require("./utils/errors");
519
- Object.defineProperty(exports, "MisoClientError", { enumerable: true, get: function () { return errors_1.MisoClientError; } });
520
- Object.defineProperty(exports, "ApiErrorException", { enumerable: true, get: function () { return errors_1.ApiErrorException; } });
521
- Object.defineProperty(exports, "transformError", { enumerable: true, get: function () { return errors_1.transformError; } });
522
- Object.defineProperty(exports, "handleApiError", { enumerable: true, get: function () { return errors_1.handleApiError; } });
523
- // Export encryption service and types
524
- var encryption_service_2 = require("./services/encryption.service");
525
- Object.defineProperty(exports, "EncryptionService", { enumerable: true, get: function () { return encryption_service_2.EncryptionService; } });
526
- var encryption_error_1 = require("./utils/encryption-error");
527
- Object.defineProperty(exports, "EncryptionError", { enumerable: true, get: function () { return encryption_error_1.EncryptionError; } });
528
- // Express utilities (v2.1.0+)
529
- // Export everything except ErrorResponse to avoid conflict with config.types ErrorResponse
530
- var express_1 = require("./express");
531
- Object.defineProperty(exports, "ResponseHelper", { enumerable: true, get: function () { return express_1.ResponseHelper; } });
532
- Object.defineProperty(exports, "injectResponseHelpers", { enumerable: true, get: function () { return express_1.injectResponseHelpers; } });
533
- Object.defineProperty(exports, "asyncHandler", { enumerable: true, get: function () { return express_1.asyncHandler; } });
534
- Object.defineProperty(exports, "asyncHandlerNamed", { enumerable: true, get: function () { return express_1.asyncHandlerNamed; } });
535
- Object.defineProperty(exports, "ValidationHelper", { enumerable: true, get: function () { return express_1.ValidationHelper; } });
536
- Object.defineProperty(exports, "AppError", { enumerable: true, get: function () { return express_1.AppError; } });
537
- Object.defineProperty(exports, "createSuccessResponse", { enumerable: true, get: function () { return express_1.createSuccessResponse; } });
538
- Object.defineProperty(exports, "createErrorResponse", { enumerable: true, get: function () { return express_1.createErrorResponse; } });
539
- Object.defineProperty(exports, "setErrorLogger", { enumerable: true, get: function () { return express_1.setErrorLogger; } });
540
- Object.defineProperty(exports, "handleRouteError", { enumerable: true, get: function () { return express_1.handleRouteError; } });
541
- Object.defineProperty(exports, "getErrorTypeUri", { enumerable: true, get: function () { return express_1.getErrorTypeUri; } });
542
- Object.defineProperty(exports, "getErrorTitle", { enumerable: true, get: function () { return express_1.getErrorTitle; } });
543
- Object.defineProperty(exports, "sendErrorResponse", { enumerable: true, get: function () { return express_1.sendErrorResponse; } });
544
- Object.defineProperty(exports, "createClientTokenEndpoint", { enumerable: true, get: function () { return express_1.createClientTokenEndpoint; } });
545
- Object.defineProperty(exports, "hasConfig", { enumerable: true, get: function () { return express_1.hasConfig; } });
546
- Object.defineProperty(exports, "loggerContextMiddleware", { enumerable: true, get: function () { return express_1.loggerContextMiddleware; } });
547
- // Export DataClient browser wrapper
548
- var data_client_1 = require("./utils/data-client");
549
- Object.defineProperty(exports, "DataClient", { enumerable: true, get: function () { return data_client_1.DataClient; } });
550
- Object.defineProperty(exports, "dataClient", { enumerable: true, get: function () { return data_client_1.dataClient; } });
551
- // Export DataClient auto-initialization helper
552
- var data_client_auto_init_1 = require("./utils/data-client-auto-init");
553
- Object.defineProperty(exports, "autoInitializeDataClient", { enumerable: true, get: function () { return data_client_auto_init_1.autoInitializeDataClient; } });
554
- Object.defineProperty(exports, "getCachedDataClientConfig", { enumerable: true, get: function () { return data_client_auto_init_1.getCachedDataClientConfig; } });
555
- // Token validation service (for advanced usage)
556
- var token_validation_service_2 = require("./services/token-validation.service");
557
- Object.defineProperty(exports, "TokenValidationService", { enumerable: true, get: function () { return token_validation_service_2.TokenValidationService; } });
20
+ exports.MisoClient = void 0;
21
+ var miso_client_1 = require("./miso-client");
22
+ Object.defineProperty(exports, "MisoClient", { enumerable: true, get: function () { return miso_client_1.MisoClient; } });
23
+ __exportStar(require("./sdk-exports"), exports);
558
24
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAEH,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AACnB,gDAA8B"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * MisoClient SDK class - main entry point
3
+ */
4
+ import { LoggerService } from "./services/logger";
5
+ import { CacheService } from "./services/cache.service";
6
+ import { MisoClientConfig, UserInfo, AuthStrategy } from "./types/config.types";
7
+ import { OriginValidationResult } from "./utils/origin-validator";
8
+ import { Request } from "express";
9
+ import { EncryptionService } from "./services/encryption.service";
10
+ import { TokenValidationOptions, TokenValidationResult, KeycloakConfig } from "./types/token-validation.types";
11
+ import type { UpdateSelfStatusRequest, UpdateSelfStatusResponse, ApplicationStatusResponse } from "./api/types/applications.types";
12
+ export declare class MisoClient {
13
+ private config;
14
+ private httpClient;
15
+ private apiClient;
16
+ private redis;
17
+ private auth;
18
+ private roles;
19
+ private permissions;
20
+ private logger;
21
+ private cacheService;
22
+ private tokenValidation;
23
+ private encryptionService;
24
+ private initialized;
25
+ constructor(config: MisoClientConfig);
26
+ initialize(): Promise<void>;
27
+ disconnect(): Promise<void>;
28
+ isInitialized(): boolean;
29
+ getToken(req: {
30
+ headers: {
31
+ authorization?: string;
32
+ };
33
+ }): string | null;
34
+ validateOrigin(req: Request, allowedOrigins?: string[]): OriginValidationResult;
35
+ getEnvironmentToken(): Promise<string>;
36
+ login(params: {
37
+ redirect: string;
38
+ state?: string;
39
+ }): Promise<import("./types/config.types").LoginResponse>;
40
+ validateToken(token: string, authStrategy?: AuthStrategy): Promise<boolean>;
41
+ getUser(token: string, authStrategy?: AuthStrategy): Promise<UserInfo | null>;
42
+ getUserInfo(token: string, authStrategy?: AuthStrategy): Promise<UserInfo | null>;
43
+ isAuthenticated(token: string, authStrategy?: AuthStrategy): Promise<boolean>;
44
+ logout(params: {
45
+ token: string;
46
+ }): Promise<import("./types/config.types").LogoutResponse>;
47
+ refreshToken(refreshToken: string, authStrategy?: AuthStrategy): Promise<import("./types/config.types").RefreshTokenResponse | null>;
48
+ validateTokenLocal(token: string, options?: TokenValidationOptions): Promise<TokenValidationResult>;
49
+ setKeycloakConfig(config: KeycloakConfig): void;
50
+ clearJwksCache(jwksUri?: string): void;
51
+ clearValidationCache(): void;
52
+ clearAllTokenCaches(): void;
53
+ getRoles(token: string, authStrategy?: AuthStrategy): Promise<string[]>;
54
+ hasRole(token: string, role: string, authStrategy?: AuthStrategy): Promise<boolean>;
55
+ hasAnyRole(token: string, roles: string[], authStrategy?: AuthStrategy): Promise<boolean>;
56
+ hasAllRoles(token: string, roles: string[], authStrategy?: AuthStrategy): Promise<boolean>;
57
+ refreshRoles(token: string, authStrategy?: AuthStrategy): Promise<string[]>;
58
+ getPermissions(token: string, authStrategy?: AuthStrategy): Promise<string[]>;
59
+ hasPermission(token: string, permission: string, authStrategy?: AuthStrategy): Promise<boolean>;
60
+ hasAnyPermission(token: string, permissions: string[], authStrategy?: AuthStrategy): Promise<boolean>;
61
+ hasAllPermissions(token: string, permissions: string[], authStrategy?: AuthStrategy): Promise<boolean>;
62
+ refreshPermissions(token: string, authStrategy?: AuthStrategy): Promise<string[]>;
63
+ clearPermissionsCache(token: string, authStrategy?: AuthStrategy): Promise<void>;
64
+ get log(): LoggerService;
65
+ get encryption(): EncryptionService;
66
+ get cache(): CacheService;
67
+ updateMyApplicationStatus(body: UpdateSelfStatusRequest, options?: {
68
+ envKey?: string;
69
+ authStrategy?: AuthStrategy;
70
+ }): Promise<UpdateSelfStatusResponse>;
71
+ getApplicationStatus(envKey: string, appKey: string, authStrategy?: AuthStrategy): Promise<ApplicationStatusResponse>;
72
+ getMyApplicationStatus(options?: {
73
+ envKey?: string;
74
+ appKey?: string;
75
+ }, authStrategy?: AuthStrategy): Promise<ApplicationStatusResponse>;
76
+ getConfig(): MisoClientConfig;
77
+ isRedisConnected(): boolean;
78
+ requestWithAuthStrategy<T>(method: "GET" | "POST" | "PUT" | "DELETE", url: string, authStrategy: AuthStrategy, data?: unknown, config?: import("axios").AxiosRequestConfig): Promise<T>;
79
+ createAuthStrategy(methods: ("bearer" | "client-token" | "client-credentials" | "api-key")[], bearerToken?: string, apiKey?: string): AuthStrategy;
80
+ getDefaultAuthStrategy(bearerToken?: string): AuthStrategy;
81
+ }
82
+ //# sourceMappingURL=miso-client.d.ts.map