@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,18 +3,22 @@
3
3
  * DataClient authentication utilities
4
4
  * Handles authentication, token management, and login/logout flows
5
5
  */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
6
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.logout = exports.redirectToLogin = void 0;
7
11
  exports.getToken = getToken;
12
+ exports.handleOAuthCallback = handleOAuthCallback;
8
13
  exports.hasClientToken = hasClientToken;
9
14
  exports.hasAnyToken = hasAnyToken;
10
15
  exports.getClientToken = getClientToken;
11
16
  exports.getControllerUrl = getControllerUrl;
12
- exports.redirectToLogin = redirectToLogin;
13
- exports.logout = logout;
14
17
  exports.getEnvironmentToken = getEnvironmentToken;
15
18
  exports.getClientTokenInfo = getClientTokenInfo;
16
19
  const data_client_utils_1 = require("./data-client-utils");
17
20
  const token_utils_1 = require("./token-utils");
21
+ const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
18
22
  const data_client_audit_1 = require("./data-client-audit");
19
23
  /**
20
24
  * Get authentication token from localStorage
@@ -30,6 +34,168 @@ function getToken(tokenKeys) {
30
34
  }
31
35
  return null;
32
36
  }
37
+ /**
38
+ * Clean up hash fragment from URL (security measure)
39
+ */
40
+ function cleanupHash() {
41
+ try {
42
+ const win = globalThis;
43
+ if (!win.window) {
44
+ console.warn("[handleOAuthCallback] window not available for hash cleanup");
45
+ return;
46
+ }
47
+ const cleanUrl = win.window.location.pathname + win.window.location.search;
48
+ // Use replaceState to remove hash without adding to history
49
+ win.window.history.replaceState(null, "", cleanUrl);
50
+ }
51
+ catch (e) {
52
+ console.warn("[handleOAuthCallback] Failed to clean up hash:", e);
53
+ }
54
+ }
55
+ /**
56
+ * Validate token format (basic validation - non-empty string with reasonable length)
57
+ * Accepts both JWT and non-JWT tokens (controller may send different formats)
58
+ * @param token - Token string to validate
59
+ * @returns True if token appears to be valid format
60
+ */
61
+ function isValidTokenFormat(token) {
62
+ if (!token || typeof token !== "string") {
63
+ return false;
64
+ }
65
+ // Trim whitespace
66
+ const trimmed = token.trim();
67
+ // Must be non-empty after trimming
68
+ if (trimmed.length === 0) {
69
+ return false;
70
+ }
71
+ // Must have reasonable length (at least 5 characters to avoid obviously invalid tokens)
72
+ // This allows both JWT tokens and other token formats
73
+ if (trimmed.length < 5) {
74
+ return false;
75
+ }
76
+ // Token is valid if it passes basic checks
77
+ return true;
78
+ }
79
+ /**
80
+ * Handle OAuth callback with ISO 27001 compliant security
81
+ * Extracts token from URL hash fragment and stores securely
82
+ *
83
+ * Security features:
84
+ * - Immediate hash cleanup (< 100ms)
85
+ * - Token format validation
86
+ * - HTTPS enforcement check
87
+ * - Secure error handling
88
+ *
89
+ * @param config - DataClient configuration
90
+ * @returns Extracted token or null if not found/invalid
91
+ */
92
+ function handleOAuthCallback(config) {
93
+ if (!(0, data_client_utils_1.isBrowser)())
94
+ return null;
95
+ // CRITICAL: Extract hash IMMEDIATELY (synchronous)
96
+ // Don't wait for async operations - token must be removed from URL ASAP
97
+ const window = globalThis;
98
+ if (!window.window || !window.window.location)
99
+ return null;
100
+ const hash = window.window.location.hash;
101
+ if (!hash || hash.length <= 1) {
102
+ return null; // No hash or empty hash
103
+ }
104
+ // Parse hash synchronously (remove '#' prefix)
105
+ const hashString = hash.substring(1);
106
+ let hashParams;
107
+ try {
108
+ hashParams = new URLSearchParams(hashString);
109
+ }
110
+ catch (e) {
111
+ console.warn("[handleOAuthCallback] Failed to parse hash:", e);
112
+ return null;
113
+ }
114
+ // Extract token from various possible parameter names
115
+ const token = hashParams.get("token") ||
116
+ hashParams.get("access_token") ||
117
+ hashParams.get("accessToken");
118
+ if (!token) {
119
+ return null; // No token in hash
120
+ }
121
+ // SECURITY: Validate token format (basic validation - non-empty with reasonable length)
122
+ if (!isValidTokenFormat(token)) {
123
+ const tokenLength = token ? token.length : 0;
124
+ console.error("[handleOAuthCallback] Invalid token format - token rejected", {
125
+ tokenLength,
126
+ isEmpty: !token || token.trim().length === 0,
127
+ tooShort: tokenLength > 0 && tokenLength < 5,
128
+ expectedFormat: "Non-empty string with at least 5 characters",
129
+ });
130
+ // Still clean up hash even if token is invalid
131
+ cleanupHash();
132
+ return null;
133
+ }
134
+ // SECURITY: HTTPS enforcement (warn in production, but allow localhost)
135
+ if (config.misoConfig?.logLevel === "debug" ||
136
+ process.env.NODE_ENV === "production") {
137
+ const isHttps = window.window.location.protocol === "https:";
138
+ const hostname = window.window.location.hostname || "";
139
+ // Check if running on localhost or local IP addresses
140
+ const isLocalhost = hostname === "localhost" ||
141
+ hostname === "127.0.0.1" ||
142
+ hostname === "[::1]" ||
143
+ hostname.startsWith("192.168.") ||
144
+ hostname.startsWith("10.") ||
145
+ hostname.startsWith("172.16.") ||
146
+ hostname.startsWith("172.17.") ||
147
+ hostname.startsWith("172.18.") ||
148
+ hostname.startsWith("172.19.") ||
149
+ hostname.startsWith("172.20.") ||
150
+ hostname.startsWith("172.21.") ||
151
+ hostname.startsWith("172.22.") ||
152
+ hostname.startsWith("172.23.") ||
153
+ hostname.startsWith("172.24.") ||
154
+ hostname.startsWith("172.25.") ||
155
+ hostname.startsWith("172.26.") ||
156
+ hostname.startsWith("172.27.") ||
157
+ hostname.startsWith("172.28.") ||
158
+ hostname.startsWith("172.29.") ||
159
+ hostname.startsWith("172.30.") ||
160
+ hostname.startsWith("172.31.");
161
+ // Only enforce HTTPS for production AND non-localhost URLs
162
+ if (!isHttps && process.env.NODE_ENV === "production" && !isLocalhost) {
163
+ console.error("[handleOAuthCallback] SECURITY WARNING: Token received over HTTP in production");
164
+ cleanupHash();
165
+ return null; // Reject tokens over HTTP in production (except localhost)
166
+ }
167
+ }
168
+ // SECURITY: Remove hash IMMEDIATELY (before any async operations)
169
+ // Use replaceState to avoid adding to history
170
+ cleanupHash();
171
+ // Store token in localStorage
172
+ const tokenKeys = config.tokenKeys || ["token", "accessToken", "authToken"];
173
+ try {
174
+ // Store in all tokenKeys for compatibility
175
+ // Note: isBrowser() check already done at function start (line 88)
176
+ tokenKeys.forEach((key) => {
177
+ try {
178
+ (0, data_client_utils_1.setLocalStorage)(key, token);
179
+ }
180
+ catch (e) {
181
+ console.warn(`[handleOAuthCallback] Failed to store token in key ${key}:`, e);
182
+ }
183
+ });
184
+ // Log security event (audit trail) - only in debug mode to avoid exposing token
185
+ if (config.misoConfig?.logLevel === "debug") {
186
+ console.log("[handleOAuthCallback] OAuth token extracted and stored securely", {
187
+ tokenLength: token.length,
188
+ tokenKeys: tokenKeys,
189
+ storedInKeys: tokenKeys.length,
190
+ });
191
+ }
192
+ return token;
193
+ }
194
+ catch (e) {
195
+ console.error("[handleOAuthCallback] Failed to store token:", e);
196
+ return null;
197
+ }
198
+ }
33
199
  /**
34
200
  * Check if client token is available (from localStorage cache or config)
35
201
  */
@@ -82,22 +248,112 @@ async function getClientToken(misoConfig, _baseUrl, _getEnvironmentToken) {
82
248
  // Server-side: return null (client token handled by MisoClient)
83
249
  return null;
84
250
  }
251
+ const isDebug = misoConfig?.logLevel === "debug";
85
252
  // Check localStorage cache first
86
253
  const cachedToken = (0, data_client_utils_1.getLocalStorage)("miso:client-token");
87
254
  const expiresAtStr = (0, data_client_utils_1.getLocalStorage)("miso:client-token-expires-at");
88
- if (cachedToken && expiresAtStr) {
89
- const expiresAt = parseInt(expiresAtStr, 10);
90
- if (expiresAt > Date.now()) {
91
- return cachedToken; // Valid cached token
255
+ if (isDebug) {
256
+ console.log("[getClientToken] Checking localStorage:", {
257
+ hasToken: !!cachedToken,
258
+ hasExpiresAt: !!expiresAtStr,
259
+ expiresAt: expiresAtStr,
260
+ currentTime: Date.now(),
261
+ });
262
+ }
263
+ if (cachedToken) {
264
+ // If we have expiration timestamp, check it
265
+ if (expiresAtStr) {
266
+ const expiresAt = parseInt(expiresAtStr, 10);
267
+ const now = Date.now();
268
+ const timeUntilExpiry = expiresAt - now;
269
+ const timeUntilExpirySeconds = Math.floor(timeUntilExpiry / 1000);
270
+ if (isDebug) {
271
+ console.log("[getClientToken] Token expiration check:", {
272
+ expiresAt,
273
+ expiresAtISO: new Date(expiresAt).toISOString(),
274
+ now,
275
+ nowISO: new Date(now).toISOString(),
276
+ timeUntilExpiry,
277
+ timeUntilExpirySeconds,
278
+ isValid: expiresAt > now,
279
+ expired: expiresAt <= now,
280
+ isNaN: isNaN(expiresAt),
281
+ });
282
+ }
283
+ if (isNaN(expiresAt)) {
284
+ console.warn("[getClientToken] Invalid expiration timestamp format, assuming token is valid");
285
+ return cachedToken;
286
+ }
287
+ else if (expiresAt > now) {
288
+ if (isDebug) {
289
+ console.log("[getClientToken] Returning valid cached token (checked expiration)");
290
+ }
291
+ return cachedToken; // Valid cached token
292
+ }
293
+ else {
294
+ console.warn("[getClientToken] Cached token expired, removing from cache");
295
+ (0, data_client_utils_1.removeLocalStorage)("miso:client-token");
296
+ (0, data_client_utils_1.removeLocalStorage)("miso:client-token-expires-at");
297
+ }
298
+ }
299
+ else {
300
+ // No expiration timestamp - try to decode JWT to check expiration
301
+ try {
302
+ // Decode JWT to check exp claim
303
+ const decoded = jsonwebtoken_1.default.decode(cachedToken);
304
+ if (decoded && decoded.exp) {
305
+ const now = Date.now();
306
+ const jwtExpiresAt = decoded.exp * 1000; // Convert to milliseconds
307
+ const jwtTimeUntilExpiry = jwtExpiresAt - now;
308
+ if (isDebug) {
309
+ console.log("[getClientToken] Token expiration from JWT:", {
310
+ jwtExpiresAt,
311
+ jwtExpiresAtISO: new Date(jwtExpiresAt).toISOString(),
312
+ now,
313
+ nowISO: new Date(now).toISOString(),
314
+ jwtTimeUntilExpiry,
315
+ jwtTimeUntilExpirySeconds: Math.floor(jwtTimeUntilExpiry / 1000),
316
+ jwtIsValid: jwtExpiresAt > now,
317
+ });
318
+ }
319
+ if (jwtExpiresAt > now) {
320
+ if (isDebug) {
321
+ console.log("[getClientToken] Returning valid cached token (checked JWT expiration)");
322
+ }
323
+ return cachedToken;
324
+ }
325
+ else {
326
+ console.warn("[getClientToken] Token expired (from JWT), removing from cache");
327
+ (0, data_client_utils_1.removeLocalStorage)("miso:client-token");
328
+ (0, data_client_utils_1.removeLocalStorage)("miso:client-token-expires-at");
329
+ }
330
+ }
331
+ else {
332
+ // Can't determine expiration - assume token is valid if it exists
333
+ if (isDebug) {
334
+ console.log("[getClientToken] No expiration info available, assuming token is valid");
335
+ }
336
+ return cachedToken;
337
+ }
338
+ }
339
+ catch (error) {
340
+ // Failed to decode token - assume it's valid if it exists
341
+ console.warn("[getClientToken] Failed to decode token, assuming valid:", error);
342
+ return cachedToken;
343
+ }
92
344
  }
93
345
  }
94
346
  // Check config token
95
347
  if (misoConfig?.clientToken) {
348
+ if (isDebug) {
349
+ console.log("[getClientToken] Returning token from config");
350
+ }
96
351
  return misoConfig.clientToken;
97
352
  }
98
353
  // Don't fetch client token if we don't have a cached token
99
354
  // This prevents unnecessary fetch calls during auth error handling
100
355
  // redirectToLogin can work without a client token (it's optional)
356
+ console.warn("[getClientToken] No token available, returning null");
101
357
  return null;
102
358
  }
103
359
  /**
@@ -122,147 +378,16 @@ function getControllerUrl(misoConfig) {
122
378
  }
123
379
  /**
124
380
  * Redirect to login page via controller
125
- * Calls the controller login endpoint with redirect parameter and x-client-token header
126
- * @param redirectUrl - Optional redirect URL to return to after login (defaults to current page URL)
381
+ * Re-exported from data-client-redirect for backward compatibility
127
382
  */
128
- async function redirectToLogin(config, getClientTokenFn, redirectUrl) {
129
- if (!(0, data_client_utils_1.isBrowser)())
130
- return;
131
- // Get redirect URL - use provided URL or current page URL
132
- const currentUrl = globalThis.window.location.href;
133
- const finalRedirectUrl = redirectUrl || currentUrl;
134
- // Build controller URL
135
- const controllerUrl = getControllerUrl(config.misoConfig);
136
- if (!controllerUrl) {
137
- // Fallback to static loginUrl if controller URL not configured
138
- const loginUrl = config.loginUrl || "/login";
139
- const fullUrl = /^https?:\/\//i.test(loginUrl)
140
- ? loginUrl
141
- : `${globalThis.window.location.origin}${loginUrl.startsWith("/") ? loginUrl : `/${loginUrl}`}`;
142
- globalThis.window.location.href = fullUrl;
143
- return;
144
- }
145
- try {
146
- // Get client token
147
- const clientToken = await getClientTokenFn();
148
- // Build login endpoint URL with query parameters
149
- const loginEndpoint = `${controllerUrl}/api/v1/auth/login`;
150
- const url = new URL(loginEndpoint);
151
- url.searchParams.set("redirect", finalRedirectUrl);
152
- // Build headers
153
- const headers = {
154
- "Content-Type": "application/json",
155
- };
156
- // Add x-client-token header if available
157
- if (clientToken) {
158
- headers["x-client-token"] = clientToken;
159
- }
160
- // Make fetch request
161
- const response = await fetch(url.toString(), {
162
- method: "GET",
163
- headers,
164
- credentials: "include", // Include cookies for CORS
165
- });
166
- if (!response.ok) {
167
- throw new Error(`Login request failed: ${response.status} ${response.statusText}`);
168
- }
169
- const data = (await response.json());
170
- // Extract loginUrl (support both nested and flat formats)
171
- const loginUrl = data.data?.loginUrl || data.loginUrl;
172
- if (loginUrl) {
173
- // Redirect to the login URL returned by controller
174
- globalThis.window.location.href = loginUrl;
175
- }
176
- else {
177
- // Fallback if loginUrl not in response
178
- const fallbackLoginUrl = config.loginUrl || "/login";
179
- const fullUrl = /^https?:\/\//i.test(fallbackLoginUrl)
180
- ? fallbackLoginUrl
181
- : `${globalThis.window.location.origin}${fallbackLoginUrl.startsWith("/") ? fallbackLoginUrl : `/${fallbackLoginUrl}`}`;
182
- globalThis.window.location.href = fullUrl;
183
- }
184
- }
185
- catch (error) {
186
- // On error, fallback to static loginUrl
187
- console.error("Failed to get login URL from controller:", error);
188
- const loginUrl = config.loginUrl || "/login";
189
- const fullUrl = /^https?:\/\//i.test(loginUrl)
190
- ? loginUrl
191
- : `${globalThis.window.location.origin}${loginUrl.startsWith("/") ? loginUrl : `/${loginUrl}`}`;
192
- globalThis.window.location.href = fullUrl;
193
- }
194
- }
383
+ var data_client_redirect_1 = require("./data-client-redirect");
384
+ Object.defineProperty(exports, "redirectToLogin", { enumerable: true, get: function () { return data_client_redirect_1.redirectToLogin; } });
195
385
  /**
196
- * Logout user and redirect
197
- * Calls logout API with x-client-token header, clears tokens from localStorage, clears cache, and redirects
198
- * @param redirectUrl - Optional redirect URL after logout (defaults to logoutUrl or loginUrl)
386
+ * Logout user and redirect to controller logout page
387
+ * Re-exported from data-client-redirect for backward compatibility
199
388
  */
200
- async function logout(config, getTokenFn, getClientTokenFn, clearCacheFn, redirectUrl) {
201
- if (!(0, data_client_utils_1.isBrowser)())
202
- return;
203
- const token = getTokenFn();
204
- // Build controller URL
205
- const controllerUrl = getControllerUrl(config.misoConfig);
206
- // Call logout API if controller URL available and token exists
207
- if (controllerUrl && token) {
208
- try {
209
- // Get client token
210
- const clientToken = await getClientTokenFn();
211
- // Build logout endpoint URL
212
- const logoutEndpoint = `${controllerUrl}/api/v1/auth/logout`;
213
- // Build headers
214
- const headers = {
215
- "Content-Type": "application/json",
216
- };
217
- // Add x-client-token header if available
218
- if (clientToken) {
219
- headers["x-client-token"] = clientToken;
220
- }
221
- // Make fetch request
222
- const response = await fetch(logoutEndpoint, {
223
- method: "POST",
224
- headers,
225
- body: JSON.stringify({ token }),
226
- credentials: "include", // Include cookies for CORS
227
- });
228
- if (!response.ok) {
229
- // Log error but continue with cleanup (logout should always clear local state)
230
- const errorText = await response.text().catch(() => "Unknown error");
231
- console.error(`Logout API call failed: ${response.status} ${response.statusText}. ${errorText}`);
232
- }
233
- }
234
- catch (error) {
235
- // Log error but continue with cleanup (logout should always clear local state)
236
- console.error("Logout API call failed:", error);
237
- }
238
- }
239
- // Clear tokens from localStorage (always, even if API call failed)
240
- const keys = config.tokenKeys || ["token", "accessToken", "authToken"];
241
- keys.forEach(key => {
242
- try {
243
- const storage = globalThis.localStorage;
244
- if (storage) {
245
- storage.removeItem(key);
246
- }
247
- }
248
- catch (e) {
249
- // Ignore localStorage errors (SSR, private browsing, etc.)
250
- }
251
- });
252
- // Clear HTTP cache
253
- clearCacheFn();
254
- // Determine redirect URL: redirectUrl param > logoutUrl config > loginUrl config > '/login'
255
- const finalRedirectUrl = redirectUrl ||
256
- config.logoutUrl ||
257
- config.loginUrl ||
258
- "/login";
259
- // Construct full URL
260
- const fullUrl = /^https?:\/\//i.test(finalRedirectUrl)
261
- ? finalRedirectUrl
262
- : `${globalThis.window.location.origin}${finalRedirectUrl.startsWith("/") ? finalRedirectUrl : `/${finalRedirectUrl}`}`;
263
- // Redirect
264
- globalThis.window.location.href = fullUrl;
265
- }
389
+ var data_client_redirect_2 = require("./data-client-redirect");
390
+ Object.defineProperty(exports, "logout", { enumerable: true, get: function () { return data_client_redirect_2.logout; } });
266
391
  /**
267
392
  * Get environment token (browser-side)
268
393
  * Checks localStorage cache first, then calls backend endpoint if needed
@@ -1 +1 @@
1
- {"version":3,"file":"data-client-auth.js","sourceRoot":"","sources":["../../src/utils/data-client-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-client-auth.js","sourceRoot":"","sources":["../../src/utils/data-client-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * DataClient Auto-Initialization Helper
3
+ * Automatically fetches configuration from server and initializes DataClient
4
+ *
5
+ * Provides zero-config client-side setup for DataClient initialization
6
+ */
7
+ import { DataClient } from "./data-client";
8
+ import { DataClientConfigResponse } from "../express/client-token-endpoint";
9
+ /**
10
+ * Options for autoInitializeDataClient
11
+ */
12
+ export interface AutoInitOptions {
13
+ /** Client token endpoint URI (default: '/api/v1/auth/client-token') */
14
+ clientTokenUri?: string;
15
+ /** Override baseUrl detection (auto-detected from window.location if not provided) */
16
+ baseUrl?: string;
17
+ /** Error callback */
18
+ onError?: (error: Error) => void;
19
+ /** Whether to cache config in localStorage (default: true) */
20
+ cacheConfig?: boolean;
21
+ }
22
+ /**
23
+ * Get cached DataClient configuration from localStorage
24
+ *
25
+ * Returns the cached configuration that was stored by autoInitializeDataClient.
26
+ * Useful for reading configuration without re-initializing DataClient.
27
+ *
28
+ * @returns Cached config or null if not found or expired
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * import { getCachedDataClientConfig } from '@aifabrix/miso-client';
33
+ *
34
+ * const cachedConfig = getCachedDataClientConfig();
35
+ * if (cachedConfig) {
36
+ * console.log('Base URL:', cachedConfig.baseUrl);
37
+ * console.log('Controller URL:', cachedConfig.controllerUrl);
38
+ * console.log('Client ID:', cachedConfig.clientId);
39
+ * }
40
+ * ```
41
+ */
42
+ export declare function getCachedDataClientConfig(): DataClientConfigResponse | null;
43
+ /**
44
+ * Auto-initialize DataClient with server-provided configuration
45
+ *
46
+ * Automatically:
47
+ * 1. Detects if running in browser
48
+ * 2. Checks localStorage cache first
49
+ * 3. Fetches config from server endpoint if needed
50
+ * 4. Initializes DataClient with server-provided config
51
+ * 5. Caches config for future use
52
+ *
53
+ * @param options - Optional configuration
54
+ * @returns Initialized DataClient instance
55
+ * @throws Error if initialization fails
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * import { autoInitializeDataClient } from '@aifabrix/miso-client';
60
+ *
61
+ * // One line - everything is automatic
62
+ * const dataClient = await autoInitializeDataClient();
63
+ * ```
64
+ */
65
+ export declare function autoInitializeDataClient(options?: AutoInitOptions): Promise<DataClient>;
66
+ //# sourceMappingURL=data-client-auto-init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-client-auto-init.d.ts","sourceRoot":"","sources":["../../src/utils/data-client-auto-init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,EAAE,wBAAwB,EAAkC,MAAM,kCAAkC,CAAC;AAE5G;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,qBAAqB;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC,8DAA8D;IAC9D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA0CD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,yBAAyB,IAAI,wBAAwB,GAAG,IAAI,CAG3E;AA8ID;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,UAAU,CAAC,CAyErB"}