@explorins/pers-sdk 1.6.43 → 1.6.47

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 (140) hide show
  1. package/README.md +185 -0
  2. package/dist/analytics.cjs +12 -0
  3. package/dist/analytics.cjs.map +1 -1
  4. package/dist/analytics.js +1 -1
  5. package/dist/business/api/business-membership-api.d.ts +186 -0
  6. package/dist/business/api/business-membership-api.d.ts.map +1 -0
  7. package/dist/business/index.d.ts +2 -0
  8. package/dist/business/index.d.ts.map +1 -1
  9. package/dist/business/services/business-membership-service.d.ts +186 -0
  10. package/dist/business/services/business-membership-service.d.ts.map +1 -0
  11. package/dist/business.cjs +727 -9
  12. package/dist/business.cjs.map +1 -1
  13. package/dist/business.js +711 -2
  14. package/dist/business.js.map +1 -1
  15. package/dist/campaign/api/campaign-api.d.ts +7 -10
  16. package/dist/campaign/api/campaign-api.d.ts.map +1 -1
  17. package/dist/campaign/services/campaign-service.d.ts +18 -7
  18. package/dist/campaign/services/campaign-service.d.ts.map +1 -1
  19. package/dist/campaign.cjs +13 -1
  20. package/dist/campaign.cjs.map +1 -1
  21. package/dist/campaign.js +2 -2
  22. package/dist/chunks/{campaign-service-CJPXgFBe.js → campaign-service-CKwkiOLx.js} +29 -39
  23. package/dist/chunks/campaign-service-CKwkiOLx.js.map +1 -0
  24. package/dist/chunks/{campaign-service-B1tQMNqA.cjs → campaign-service-D-v9ZlUB.cjs} +29 -39
  25. package/dist/chunks/campaign-service-D-v9ZlUB.cjs.map +1 -0
  26. package/dist/chunks/{pers-sdk-XbARV58g.cjs → pers-sdk-DULFjOW2.cjs} +923 -146
  27. package/dist/chunks/pers-sdk-DULFjOW2.cjs.map +1 -0
  28. package/dist/chunks/{pers-sdk-Nu2KgiJf.js → pers-sdk-VmeBqUEP.js} +919 -146
  29. package/dist/chunks/pers-sdk-VmeBqUEP.js.map +1 -0
  30. package/dist/chunks/transaction-request.builder-DltmruUC.js +296 -0
  31. package/dist/chunks/transaction-request.builder-DltmruUC.js.map +1 -0
  32. package/dist/chunks/transaction-request.builder-DrqTWcyC.cjs +303 -0
  33. package/dist/chunks/transaction-request.builder-DrqTWcyC.cjs.map +1 -0
  34. package/dist/chunks/{user-service-D1Rn4U8u.cjs → user-service-B89wBOV1.cjs} +60 -10
  35. package/dist/chunks/user-service-B89wBOV1.cjs.map +1 -0
  36. package/dist/chunks/{user-service-D6mTa_WZ.js → user-service-doT5vsBD.js} +60 -10
  37. package/dist/chunks/user-service-doT5vsBD.js.map +1 -0
  38. package/dist/chunks/{web3-chain-service-BLFxB5TA.cjs → web3-chain-service-6vsVHPjl.cjs} +116 -16
  39. package/dist/chunks/web3-chain-service-6vsVHPjl.cjs.map +1 -0
  40. package/dist/chunks/{web3-chain-service-JRSwxr-s.js → web3-chain-service-BcUeeujC.js} +111 -17
  41. package/dist/chunks/web3-chain-service-BcUeeujC.js.map +1 -0
  42. package/dist/core/auth/api/auth-api.d.ts +35 -0
  43. package/dist/core/auth/api/auth-api.d.ts.map +1 -1
  44. package/dist/core/auth/auth-provider.interface.d.ts +7 -1
  45. package/dist/core/auth/auth-provider.interface.d.ts.map +1 -1
  46. package/dist/core/auth/services/auth-service.d.ts +26 -1
  47. package/dist/core/auth/services/auth-service.d.ts.map +1 -1
  48. package/dist/core/auth/token-storage.d.ts +3 -2
  49. package/dist/core/auth/token-storage.d.ts.map +1 -1
  50. package/dist/core/errors/index.d.ts +75 -6
  51. package/dist/core/errors/index.d.ts.map +1 -1
  52. package/dist/core/events/event-emitter.d.ts +106 -0
  53. package/dist/core/events/event-emitter.d.ts.map +1 -0
  54. package/dist/core/events/event-types.d.ts +127 -0
  55. package/dist/core/events/event-types.d.ts.map +1 -0
  56. package/dist/core/events/index.d.ts +22 -0
  57. package/dist/core/events/index.d.ts.map +1 -0
  58. package/dist/core/index.d.ts +3 -0
  59. package/dist/core/index.d.ts.map +1 -1
  60. package/dist/core/pers-api-client.d.ts +12 -0
  61. package/dist/core/pers-api-client.d.ts.map +1 -1
  62. package/dist/core/version.d.ts +15 -0
  63. package/dist/core/version.d.ts.map +1 -0
  64. package/dist/core.cjs +19 -6
  65. package/dist/core.cjs.map +1 -1
  66. package/dist/core.js +6 -6
  67. package/dist/donation.cjs +12 -0
  68. package/dist/donation.cjs.map +1 -1
  69. package/dist/donation.js +1 -1
  70. package/dist/index.cjs +43 -9
  71. package/dist/index.cjs.map +1 -1
  72. package/dist/index.js +7 -6
  73. package/dist/index.js.map +1 -1
  74. package/dist/managers/auth-manager.d.ts +77 -4
  75. package/dist/managers/auth-manager.d.ts.map +1 -1
  76. package/dist/managers/business-manager.d.ts +192 -4
  77. package/dist/managers/business-manager.d.ts.map +1 -1
  78. package/dist/managers/campaign-manager.d.ts +48 -65
  79. package/dist/managers/campaign-manager.d.ts.map +1 -1
  80. package/dist/managers/index.d.ts +1 -1
  81. package/dist/managers/index.d.ts.map +1 -1
  82. package/dist/managers/redemption-manager.d.ts +3 -1
  83. package/dist/managers/redemption-manager.d.ts.map +1 -1
  84. package/dist/managers/transaction-manager.d.ts +4 -2
  85. package/dist/managers/transaction-manager.d.ts.map +1 -1
  86. package/dist/managers/user-manager.d.ts +57 -1
  87. package/dist/managers/user-manager.d.ts.map +1 -1
  88. package/dist/managers/web3-manager.d.ts +63 -64
  89. package/dist/managers/web3-manager.d.ts.map +1 -1
  90. package/dist/package.json +2 -2
  91. package/dist/payment.cjs +12 -0
  92. package/dist/payment.cjs.map +1 -1
  93. package/dist/payment.js +1 -1
  94. package/dist/pers-sdk.d.ts +49 -0
  95. package/dist/pers-sdk.d.ts.map +1 -1
  96. package/dist/redemption.cjs +12 -0
  97. package/dist/redemption.cjs.map +1 -1
  98. package/dist/redemption.js +1 -1
  99. package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts +2 -1
  100. package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts.map +1 -1
  101. package/dist/tenant.cjs +12 -0
  102. package/dist/tenant.cjs.map +1 -1
  103. package/dist/tenant.js +1 -1
  104. package/dist/token.cjs +12 -0
  105. package/dist/token.cjs.map +1 -1
  106. package/dist/token.js +1 -1
  107. package/dist/transaction/models/index.d.ts +2 -0
  108. package/dist/transaction/models/index.d.ts.map +1 -1
  109. package/dist/transaction/models/transaction-request.builder.d.ts +256 -0
  110. package/dist/transaction/models/transaction-request.builder.d.ts.map +1 -0
  111. package/dist/transaction.cjs +7 -0
  112. package/dist/transaction.cjs.map +1 -1
  113. package/dist/transaction.js +1 -0
  114. package/dist/transaction.js.map +1 -1
  115. package/dist/user/api/user-api.d.ts +28 -7
  116. package/dist/user/api/user-api.d.ts.map +1 -1
  117. package/dist/user/services/user-service.d.ts +21 -0
  118. package/dist/user/services/user-service.d.ts.map +1 -1
  119. package/dist/user-status.cjs +12 -0
  120. package/dist/user-status.cjs.map +1 -1
  121. package/dist/user-status.js +1 -1
  122. package/dist/user.cjs +13 -1
  123. package/dist/user.cjs.map +1 -1
  124. package/dist/user.js +2 -2
  125. package/dist/web3-chain.cjs +13 -1
  126. package/dist/web3-chain.cjs.map +1 -1
  127. package/dist/web3-chain.js +2 -2
  128. package/package.json +2 -2
  129. package/dist/chunks/business-service-8Xd3d5oY.js +0 -238
  130. package/dist/chunks/business-service-8Xd3d5oY.js.map +0 -1
  131. package/dist/chunks/business-service-P9o4cwQL.cjs +0 -241
  132. package/dist/chunks/business-service-P9o4cwQL.cjs.map +0 -1
  133. package/dist/chunks/campaign-service-B1tQMNqA.cjs.map +0 -1
  134. package/dist/chunks/campaign-service-CJPXgFBe.js.map +0 -1
  135. package/dist/chunks/pers-sdk-Nu2KgiJf.js.map +0 -1
  136. package/dist/chunks/pers-sdk-XbARV58g.cjs.map +0 -1
  137. package/dist/chunks/user-service-D1Rn4U8u.cjs.map +0 -1
  138. package/dist/chunks/user-service-D6mTa_WZ.js.map +0 -1
  139. package/dist/chunks/web3-chain-service-BLFxB5TA.cjs.map +0 -1
  140. package/dist/chunks/web3-chain-service-JRSwxr-s.js.map +0 -1
@@ -70,13 +70,14 @@ class ErrorUtils {
70
70
  }
71
71
  /**
72
72
  * Fast error message extraction
73
+ * Platform-agnostic: handles Axios (response.data), Angular (error), RN (message parsing)
73
74
  */
74
75
  static getMessage(error) {
75
76
  if (typeof error !== 'object' || error === null)
76
77
  return 'Unknown error';
77
78
  const err = error;
78
- // Try structured error first
79
- const apiError = err?.response?.data || err;
79
+ // Try structured error first (check multiple formats: axios, Angular, etc.)
80
+ const apiError = err?.response?.data || err?.error || err;
80
81
  return apiError?.message || apiError?.detail || apiError?.userMessage || err?.message || 'Request failed';
81
82
  }
82
83
  /**
@@ -109,6 +110,13 @@ class ErrorUtils {
109
110
  /**
110
111
  * Extract detailed error information from backend response
111
112
  * Centralized method for consistent error structure extraction
113
+ *
114
+ * Platform-agnostic extraction order:
115
+ * 1. React Native: Parses "HTTP xxx: ... - {json}" message format
116
+ * 2. Axios/fetch: error.response.data
117
+ * 3. Direct backend response: error.status && error.title
118
+ * 4. Angular HttpErrorResponse: error.error
119
+ * 5. Fallback: constructs generic error from available info
112
120
  */
113
121
  static extractBackendErrorDetails(error) {
114
122
  try {
@@ -229,28 +237,114 @@ class LogoutRequired extends Error {
229
237
  }
230
238
  }
231
239
  class PersApiError extends Error {
232
- constructor(message, endpoint, method, status, retryable = false) {
233
- super(`API request failed: ${message}`);
240
+ constructor(message, endpoint, method, status, retryable = false, backendError) {
241
+ // Use clean backend message directly - no prefix!
242
+ // Priority: userMessage > message > title > fallback
243
+ const cleanMessage = backendError?.userMessage
244
+ || backendError?.message
245
+ || backendError?.title
246
+ || message;
247
+ super(cleanMessage);
234
248
  this.endpoint = endpoint;
235
249
  this.method = method;
236
250
  this.status = status;
237
- this.errorCode = 'PERS_API_ERROR';
238
- this.domain = 'api';
239
- this.category = 'TECHNICAL';
240
251
  this.name = 'PersApiError';
241
252
  this.retryable = retryable;
253
+ this.backendError = backendError;
254
+ // Use backend values when available, SDK defaults otherwise
255
+ this.errorCode = backendError?.code || 'PERS_API_ERROR';
256
+ this.domain = backendError?.domain || 'api';
257
+ this.category = backendError?.category || 'TECHNICAL';
258
+ }
259
+ /**
260
+ * Get the backend error code (e.g., 'CAMPAIGN_BUSINESS_REQUIRED')
261
+ */
262
+ get code() {
263
+ return this.errorCode;
242
264
  }
243
265
  }
244
266
  class AuthenticationError extends PersApiError {
245
- constructor(message, endpoint, method, backendErrorCode, userMessage, backendTitle) {
246
- super(message, endpoint, method, 401, false);
247
- this.backendErrorCode = backendErrorCode;
248
- this.userMessage = userMessage;
249
- this.backendTitle = backendTitle;
267
+ constructor(message, endpoint, method, backendErrorCode, backendUserMessage, backendTitle) {
268
+ // Build backendError from auth-specific params
269
+ const backendError = {
270
+ code: backendErrorCode || 'AUTHENTICATION_ERROR',
271
+ userMessage: backendUserMessage,
272
+ title: backendTitle,
273
+ message: message,
274
+ domain: 'authentication',
275
+ category: 'AUTHENTICATION'
276
+ };
277
+ super(message, endpoint, method, 401, false, backendError);
250
278
  this.name = 'AuthenticationError';
251
- // Override inherited properties
252
- this.errorCode = 'AUTHENTICATION_ERROR';
253
- this.category = 'AUTHENTICATION';
279
+ }
280
+ }
281
+ /**
282
+ * Error thrown when user has multiple business memberships
283
+ * and needs to explicitly select one.
284
+ *
285
+ * @example Handling multi-business selection
286
+ * ```typescript
287
+ * try {
288
+ * await sdk.auth.loginAsBusiness(jwt);
289
+ * } catch (error) {
290
+ * if (error instanceof MultipleContextSelectionRequiredError) {
291
+ * // Show business selector UI
292
+ * const selectedId = await showBusinessSelector(error.availableOptions);
293
+ * await sdk.auth.loginAsBusiness(jwt, { businessId: selectedId });
294
+ * }
295
+ * }
296
+ * ```
297
+ */
298
+ class MultipleContextSelectionRequiredError extends Error {
299
+ constructor(message, userMessage, contextType, availableOptions) {
300
+ super(message);
301
+ this.userMessage = userMessage;
302
+ this.contextType = contextType;
303
+ this.availableOptions = availableOptions;
304
+ this.errorCode = 'MULTIPLE_CONTEXT_SELECTION_REQUIRED';
305
+ this.domain = 'auth';
306
+ this.category = 'VALIDATION';
307
+ this.status = 400;
308
+ this.retryable = true;
309
+ this.name = 'MultipleContextSelectionRequiredError';
310
+ }
311
+ /**
312
+ * Type guard to check if an error is a MultipleContextSelectionRequiredError
313
+ */
314
+ static isMultipleContextError(error) {
315
+ if (error instanceof MultipleContextSelectionRequiredError) {
316
+ return true;
317
+ }
318
+ // Also check for backend error format
319
+ if (typeof error === 'object' && error !== null) {
320
+ const err = error;
321
+ const errorCode = err?.code || err?.response?.data?.code;
322
+ return errorCode === 'MULTIPLE_CONTEXT_SELECTION_REQUIRED';
323
+ }
324
+ return false;
325
+ }
326
+ /**
327
+ * Extract available options from a backend error response
328
+ */
329
+ static fromBackendError(error) {
330
+ if (typeof error !== 'object' || error === null)
331
+ return null;
332
+ const err = error;
333
+ const data = err?.response?.data || err;
334
+ if (data?.code === 'MULTIPLE_CONTEXT_SELECTION_REQUIRED') {
335
+ return new MultipleContextSelectionRequiredError(data.message || 'Multiple context selection required', data.userMessage || 'Please select a context to continue.', data.contextType || 'business', data.availableOptions || []);
336
+ }
337
+ return null;
338
+ }
339
+ }
340
+ class NetworkError extends Error {
341
+ constructor(message) {
342
+ super(`Network error: ${message}`);
343
+ this.errorCode = 'NETWORK_ERROR';
344
+ this.domain = 'api';
345
+ this.category = 'INFRASTRUCTURE';
346
+ this.retryable = true;
347
+ this.name = 'NetworkError';
254
348
  }
255
349
  }
256
350
  const ApiErrorDetector = {
@@ -478,10 +572,16 @@ class Web3ChainService {
478
572
  }
479
573
  }
480
574
 
575
+ exports.ApiErrorDetector = ApiErrorDetector;
481
576
  exports.AuthenticationError = AuthenticationError;
482
577
  exports.ErrorUtils = ErrorUtils;
578
+ exports.LogoutRequired = LogoutRequired;
579
+ exports.MultipleContextSelectionRequiredError = MultipleContextSelectionRequiredError;
580
+ exports.NetworkError = NetworkError;
483
581
  exports.PersApiError = PersApiError;
582
+ exports.ProviderTokenRefreshNeeded = ProviderTokenRefreshNeeded;
583
+ exports.TokenRefreshNeeded = TokenRefreshNeeded;
484
584
  exports.Web3ChainApi = Web3ChainApi;
485
585
  exports.Web3ChainService = Web3ChainService;
486
586
  exports.isTokenExpired = isTokenExpired;
487
- //# sourceMappingURL=web3-chain-service-BLFxB5TA.cjs.map
587
+ //# sourceMappingURL=web3-chain-service-6vsVHPjl.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web3-chain-service-6vsVHPjl.cjs","sources":["../../src/core/utils/jwt.function.ts","../../src/core/errors/index.ts","../../src/web3-chain/api/web3-chain-api.ts","../../src/web3-chain/services/getWeb3FCD.service.ts","../../src/web3-chain/services/web3-chain-service.ts"],"sourcesContent":[null,null,null,null,null],"names":["FetchRequest","JsonRpcProvider","globalCacheService","CacheTTL"],"mappings":"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"}
@@ -68,13 +68,14 @@ class ErrorUtils {
68
68
  }
69
69
  /**
70
70
  * Fast error message extraction
71
+ * Platform-agnostic: handles Axios (response.data), Angular (error), RN (message parsing)
71
72
  */
72
73
  static getMessage(error) {
73
74
  if (typeof error !== 'object' || error === null)
74
75
  return 'Unknown error';
75
76
  const err = error;
76
- // Try structured error first
77
- const apiError = err?.response?.data || err;
77
+ // Try structured error first (check multiple formats: axios, Angular, etc.)
78
+ const apiError = err?.response?.data || err?.error || err;
78
79
  return apiError?.message || apiError?.detail || apiError?.userMessage || err?.message || 'Request failed';
79
80
  }
80
81
  /**
@@ -107,6 +108,13 @@ class ErrorUtils {
107
108
  /**
108
109
  * Extract detailed error information from backend response
109
110
  * Centralized method for consistent error structure extraction
111
+ *
112
+ * Platform-agnostic extraction order:
113
+ * 1. React Native: Parses "HTTP xxx: ... - {json}" message format
114
+ * 2. Axios/fetch: error.response.data
115
+ * 3. Direct backend response: error.status && error.title
116
+ * 4. Angular HttpErrorResponse: error.error
117
+ * 5. Fallback: constructs generic error from available info
110
118
  */
111
119
  static extractBackendErrorDetails(error) {
112
120
  try {
@@ -227,28 +235,114 @@ class LogoutRequired extends Error {
227
235
  }
228
236
  }
229
237
  class PersApiError extends Error {
230
- constructor(message, endpoint, method, status, retryable = false) {
231
- super(`API request failed: ${message}`);
238
+ constructor(message, endpoint, method, status, retryable = false, backendError) {
239
+ // Use clean backend message directly - no prefix!
240
+ // Priority: userMessage > message > title > fallback
241
+ const cleanMessage = backendError?.userMessage
242
+ || backendError?.message
243
+ || backendError?.title
244
+ || message;
245
+ super(cleanMessage);
232
246
  this.endpoint = endpoint;
233
247
  this.method = method;
234
248
  this.status = status;
235
- this.errorCode = 'PERS_API_ERROR';
236
- this.domain = 'api';
237
- this.category = 'TECHNICAL';
238
249
  this.name = 'PersApiError';
239
250
  this.retryable = retryable;
251
+ this.backendError = backendError;
252
+ // Use backend values when available, SDK defaults otherwise
253
+ this.errorCode = backendError?.code || 'PERS_API_ERROR';
254
+ this.domain = backendError?.domain || 'api';
255
+ this.category = backendError?.category || 'TECHNICAL';
256
+ }
257
+ /**
258
+ * Get the backend error code (e.g., 'CAMPAIGN_BUSINESS_REQUIRED')
259
+ */
260
+ get code() {
261
+ return this.errorCode;
240
262
  }
241
263
  }
242
264
  class AuthenticationError extends PersApiError {
243
- constructor(message, endpoint, method, backendErrorCode, userMessage, backendTitle) {
244
- super(message, endpoint, method, 401, false);
245
- this.backendErrorCode = backendErrorCode;
246
- this.userMessage = userMessage;
247
- this.backendTitle = backendTitle;
265
+ constructor(message, endpoint, method, backendErrorCode, backendUserMessage, backendTitle) {
266
+ // Build backendError from auth-specific params
267
+ const backendError = {
268
+ code: backendErrorCode || 'AUTHENTICATION_ERROR',
269
+ userMessage: backendUserMessage,
270
+ title: backendTitle,
271
+ message: message,
272
+ domain: 'authentication',
273
+ category: 'AUTHENTICATION'
274
+ };
275
+ super(message, endpoint, method, 401, false, backendError);
248
276
  this.name = 'AuthenticationError';
249
- // Override inherited properties
250
- this.errorCode = 'AUTHENTICATION_ERROR';
251
- this.category = 'AUTHENTICATION';
277
+ }
278
+ }
279
+ /**
280
+ * Error thrown when user has multiple business memberships
281
+ * and needs to explicitly select one.
282
+ *
283
+ * @example Handling multi-business selection
284
+ * ```typescript
285
+ * try {
286
+ * await sdk.auth.loginAsBusiness(jwt);
287
+ * } catch (error) {
288
+ * if (error instanceof MultipleContextSelectionRequiredError) {
289
+ * // Show business selector UI
290
+ * const selectedId = await showBusinessSelector(error.availableOptions);
291
+ * await sdk.auth.loginAsBusiness(jwt, { businessId: selectedId });
292
+ * }
293
+ * }
294
+ * ```
295
+ */
296
+ class MultipleContextSelectionRequiredError extends Error {
297
+ constructor(message, userMessage, contextType, availableOptions) {
298
+ super(message);
299
+ this.userMessage = userMessage;
300
+ this.contextType = contextType;
301
+ this.availableOptions = availableOptions;
302
+ this.errorCode = 'MULTIPLE_CONTEXT_SELECTION_REQUIRED';
303
+ this.domain = 'auth';
304
+ this.category = 'VALIDATION';
305
+ this.status = 400;
306
+ this.retryable = true;
307
+ this.name = 'MultipleContextSelectionRequiredError';
308
+ }
309
+ /**
310
+ * Type guard to check if an error is a MultipleContextSelectionRequiredError
311
+ */
312
+ static isMultipleContextError(error) {
313
+ if (error instanceof MultipleContextSelectionRequiredError) {
314
+ return true;
315
+ }
316
+ // Also check for backend error format
317
+ if (typeof error === 'object' && error !== null) {
318
+ const err = error;
319
+ const errorCode = err?.code || err?.response?.data?.code;
320
+ return errorCode === 'MULTIPLE_CONTEXT_SELECTION_REQUIRED';
321
+ }
322
+ return false;
323
+ }
324
+ /**
325
+ * Extract available options from a backend error response
326
+ */
327
+ static fromBackendError(error) {
328
+ if (typeof error !== 'object' || error === null)
329
+ return null;
330
+ const err = error;
331
+ const data = err?.response?.data || err;
332
+ if (data?.code === 'MULTIPLE_CONTEXT_SELECTION_REQUIRED') {
333
+ return new MultipleContextSelectionRequiredError(data.message || 'Multiple context selection required', data.userMessage || 'Please select a context to continue.', data.contextType || 'business', data.availableOptions || []);
334
+ }
335
+ return null;
336
+ }
337
+ }
338
+ class NetworkError extends Error {
339
+ constructor(message) {
340
+ super(`Network error: ${message}`);
341
+ this.errorCode = 'NETWORK_ERROR';
342
+ this.domain = 'api';
343
+ this.category = 'INFRASTRUCTURE';
344
+ this.retryable = true;
345
+ this.name = 'NetworkError';
252
346
  }
253
347
  }
254
348
  const ApiErrorDetector = {
@@ -476,5 +570,5 @@ class Web3ChainService {
476
570
  }
477
571
  }
478
572
 
479
- export { AuthenticationError as A, ErrorUtils as E, PersApiError as P, Web3ChainApi as W, Web3ChainService as a, isTokenExpired as i };
480
- //# sourceMappingURL=web3-chain-service-JRSwxr-s.js.map
573
+ export { AuthenticationError as A, ErrorUtils as E, LogoutRequired as L, MultipleContextSelectionRequiredError as M, NetworkError as N, ProviderTokenRefreshNeeded as P, TokenRefreshNeeded as T, Web3ChainApi as W, PersApiError as a, ApiErrorDetector as b, Web3ChainService as c, isTokenExpired as i };
574
+ //# sourceMappingURL=web3-chain-service-BcUeeujC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web3-chain-service-BcUeeujC.js","sources":["../../src/core/utils/jwt.function.ts","../../src/core/errors/index.ts","../../src/web3-chain/api/web3-chain-api.ts","../../src/web3-chain/services/getWeb3FCD.service.ts","../../src/web3-chain/services/web3-chain-service.ts"],"sourcesContent":[null,null,null,null,null],"names":[],"mappings":"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"}
@@ -1,9 +1,21 @@
1
1
  /**
2
2
  * Platform-Agnostic Auth API Client
3
3
  * Handles authentication operations using the PERS backend
4
+ *
5
+ * Supports the universal token endpoint:
6
+ * - User authentication (default)
7
+ * - Business authentication with context selection
8
+ * - Admin/Tenant authentication
4
9
  */
5
10
  import { PersApiClient } from '../../pers-api-client';
6
11
  import { SessionAuthResponseDTO, SessionAuthContextResponseDTO } from '../../../shared/interfaces/pers-shared-lib.interfaces';
12
+ /**
13
+ * Options for business authentication
14
+ */
15
+ export interface BusinessAuthOptions {
16
+ /** The business ID to authenticate as (required if user has multiple memberships) */
17
+ businessId?: string;
18
+ }
7
19
  export declare class AuthApi {
8
20
  private apiClient;
9
21
  private readonly basePath;
@@ -16,6 +28,29 @@ export declare class AuthApi {
16
28
  * Login user with JWT
17
29
  */
18
30
  loginUser(jwt: string): Promise<SessionAuthContextResponseDTO>;
31
+ /**
32
+ * Login as business with JWT
33
+ *
34
+ * Authenticates a user in a business context with role included in JWT.
35
+ *
36
+ * @param jwt - Authentication token (passkey or Firebase JWT)
37
+ * @param options - Business authentication options
38
+ * @param options.businessId - The business ID to authenticate as
39
+ * - If user has single business membership, auto-selected
40
+ * - If user has multiple memberships without businessId, throws MULTIPLE_CONTEXT_SELECTION_REQUIRED
41
+ * @returns Session response with business context and role in JWT
42
+ * @throws MultipleContextSelectionError when businessId is required but not provided
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * // Single business membership - auto-selects
47
+ * const response = await authApi.loginBusiness(jwt);
48
+ *
49
+ * // Multiple memberships - explicit selection
50
+ * const response = await authApi.loginBusiness(jwt, { businessId: 'biz-123' });
51
+ * ```
52
+ */
53
+ loginBusiness(jwt: string, options?: BusinessAuthOptions): Promise<SessionAuthContextResponseDTO>;
19
54
  /**
20
55
  * Login user with raw data (no external authentication)
21
56
  */
@@ -1 +1 @@
1
- {"version":3,"file":"auth-api.d.ts","sourceRoot":"","sources":["../../../../src/core/auth/api/auth-api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EACL,sBAAsB,EAGtB,6BAA6B,EAC9B,MAAM,uDAAuD,CAAC;AAE/D,qBAAa,OAAO;IAGN,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;gBAEhB,SAAS,EAAE,aAAa;IAE5C;;OAEG;IACG,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAQ3E;;OAEG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAQpE;;OAEG;IACG,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC;IASrG;;OAEG;IACG,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAGhF"}
1
+ {"version":3,"file":"auth-api.d.ts","sourceRoot":"","sources":["../../../../src/core/auth/api/auth-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EACL,sBAAsB,EAGtB,6BAA6B,EAC9B,MAAM,uDAAuD,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,OAAO;IAGN,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;gBAEhB,SAAS,EAAE,aAAa;IAE5C;;OAEG;IACG,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAQ3E;;OAEG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAQpE;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IASvG;;OAEG;IACG,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC;IASrG;;OAEG;IACG,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAGhF"}
@@ -3,7 +3,13 @@
3
3
  * Clean, scalable contract for authentication providers
4
4
  */
5
5
  import { AuthStatus } from './auth-status';
6
- export type AuthType = 'user' | 'admin';
6
+ /**
7
+ * Authentication type for PERS sessions
8
+ * - 'user': Standard user authentication
9
+ * - 'business': Business context authentication (with role in JWT)
10
+ * - 'admin': Tenant admin authentication
11
+ */
12
+ export type AuthType = 'user' | 'business' | 'admin';
7
13
  /**
8
14
  * Core authentication provider interface
9
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"auth-provider.interface.d.ts","sourceRoot":"","sources":["../../../src/core/auth/auth-provider.interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAE5B,+BAA+B;IAC/B,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEnC,uCAAuC;IACvC,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAExC,2CAA2C;IAC3C,kBAAkB,CAAC,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD;;;;;OAKG;IACH,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACvG;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1C,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,oBAAoB;IACxE,gBAAgB,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,WAAW,CAAC,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,gBAAgB,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,iBAAiB,EAAE,YAAY,CAAC;IACjD,yBAAyB;IACzB,IAAI,CAAC,EAAE;QACL,OAAO,EAAE,OAAO,CAAC;QACjB,cAAc,CAAC,EAAE,OAAO,mBAAmB,EAAE,kBAAkB,CAAC;KACjE,CAAC;CACH"}
1
+ {"version":3,"file":"auth-provider.interface.d.ts","sourceRoot":"","sources":["../../../src/core/auth/auth-provider.interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAE5B,+BAA+B;IAC/B,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEnC,uCAAuC;IACvC,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAExC,2CAA2C;IAC3C,kBAAkB,CAAC,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD;;;;;OAKG;IACH,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACvG;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1C,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,oBAAoB;IACxE,gBAAgB,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,WAAW,CAAC,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,gBAAgB,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,iBAAiB,EAAE,YAAY,CAAC;IACjD,yBAAyB;IACzB,IAAI,CAAC,EAAE;QACL,OAAO,EAAE,OAAO,CAAC;QACjB,cAAc,CAAC,EAAE,OAAO,mBAAmB,EAAE,kBAAkB,CAAC;KACjE,CAAC;CACH"}
@@ -1,5 +1,5 @@
1
1
  import { TokenStorageProvider } from '../auth-provider.interface';
2
- import { AuthApi } from '../api/auth-api';
2
+ import { AuthApi, BusinessAuthOptions } from '../api/auth-api';
3
3
  import { SessionAuthResponseDTO, SessionAuthContextResponseDTO } from '../../../shared/interfaces/pers-shared-lib.interfaces';
4
4
  /**
5
5
  * Raw user data interface for unauthenticated login
@@ -33,6 +33,31 @@ export declare class AuthService {
33
33
  * Login user with JWT
34
34
  */
35
35
  loginUser(jwt: string): Promise<SessionAuthContextResponseDTO>;
36
+ /**
37
+ * Login as business with JWT
38
+ *
39
+ * Authenticates a user in a business context. The returned JWT contains
40
+ * the user's role within that business.
41
+ *
42
+ * @param jwt - Authentication token (passkey or Firebase JWT)
43
+ * @param options - Business authentication options
44
+ * @param options.businessId - The business ID to authenticate as
45
+ * - If user has single business membership, auto-selected
46
+ * - If user has multiple memberships without businessId, throws MULTIPLE_CONTEXT_SELECTION_REQUIRED
47
+ * @returns Session response with business context and role baked into JWT
48
+ * @throws MultipleContextSelectionRequiredError when businessId is required but not provided
49
+ *
50
+ * @example
51
+ * ```typescript
52
+ * // Auto-select if single membership
53
+ * const response = await authService.loginBusiness(jwt);
54
+ *
55
+ * // Explicit business selection
56
+ * const response = await authService.loginBusiness(jwt, { businessId: 'biz-123' });
57
+ * console.log('Business:', response.business?.displayName);
58
+ * ```
59
+ */
60
+ loginBusiness(jwt: string, options?: BusinessAuthOptions): Promise<SessionAuthContextResponseDTO>;
36
61
  /**
37
62
  * Login user with raw data (no external auth)
38
63
  */
@@ -1 +1 @@
1
- {"version":3,"file":"auth-service.d.ts","sourceRoot":"","sources":["../../../../src/core/auth/services/auth-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG1C,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC9B,MAAM,uDAAuD,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED;;;GAGG;AACH,qBAAa,WAAW;IAKpB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,YAAY,CAAC;IALvB,OAAO,CAAC,oBAAoB,CAAgD;IAC5E,OAAO,CAAC,iBAAiB,CAA8B;gBAG7C,OAAO,EAAE,OAAO,EAChB,YAAY,CAAC,kCAAsB;IAI7C;;OAEG;YACW,cAAc;IAkB5B;;OAEG;IACG,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAU3E;;OAEG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAUpE;;OAEG;IACG,oBAAoB,CAAC,YAAY,EAAE,WAAW,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAU7F;;OAEG;IACG,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAmBhF;;OAEG;YACW,cAAc;IAgB5B;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAQlC;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAexC;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAUtC;;OAEG;YACW,WAAW;CAgC1B"}
1
+ {"version":3,"file":"auth-service.d.ts","sourceRoot":"","sources":["../../../../src/core/auth/services/auth-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG/D,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC9B,MAAM,uDAAuD,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED;;;GAGG;AACH,qBAAa,WAAW;IAKpB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,YAAY,CAAC;IALvB,OAAO,CAAC,oBAAoB,CAAgD;IAC5E,OAAO,CAAC,iBAAiB,CAA8B;gBAG7C,OAAO,EAAE,OAAO,EAChB,YAAY,CAAC,kCAAsB;IAI7C;;OAEG;YACW,cAAc;IAkB5B;;OAEG;IACG,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAU3E;;OAEG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAUpE;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAUvG;;OAEG;IACG,oBAAoB,CAAC,YAAY,EAAE,WAAW,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAU7F;;OAEG;IACG,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAmBhF;;OAEG;YACW,cAAc;IAgB5B;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAQlC;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAexC;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAUtC;;OAEG;YACW,WAAW;CAgC1B"}
@@ -2,6 +2,7 @@
2
2
  * Token Storage System
3
3
  * Simple, focused token storage with clear separation of concerns
4
4
  */
5
+ import type { AuthType } from './auth-provider.interface';
5
6
  export declare const AUTH_STORAGE_KEYS: {
6
7
  readonly ACCESS_TOKEN: "pers_access_token";
7
8
  readonly REFRESH_TOKEN: "pers_refresh_token";
@@ -56,8 +57,8 @@ export declare class AuthTokenManager {
56
57
  setRefreshToken(token: string): Promise<void>;
57
58
  getProviderToken(): Promise<string | null>;
58
59
  setProviderToken(token: string): Promise<void>;
59
- getAuthType(): Promise<'user' | 'admin' | null>;
60
- setAuthType(authType: 'user' | 'admin'): Promise<void>;
60
+ getAuthType(): Promise<AuthType | null>;
61
+ setAuthType(authType: AuthType): Promise<void>;
61
62
  setTokens(accessToken: string, refreshToken?: string, providerToken?: string): Promise<void>;
62
63
  clearAllTokens(): Promise<void>;
63
64
  hasAccessToken(): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"token-storage.d.ts","sourceRoot":"","sources":["../../../src/core/auth/token-storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,iBAAiB;;;;;CAKpB,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAEnC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC1C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,YAAY;IAC3D,QAAQ,CAAC,eAAe,SAAS;IAE3B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7B;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACrD,QAAQ,CAAC,eAAe,QAAQ;IAChC,OAAO,CAAC,KAAK,CAA8B;IAErC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAIzC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B;AAED;;GAEG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,OAAO;gBAAP,OAAO,GAAE,YAA6C;IAEpE,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAMxC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKzC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAK1C,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAK/C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5F,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAKlC,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;CAI1C"}
1
+ {"version":3,"file":"token-storage.d.ts","sourceRoot":"","sources":["../../../src/core/auth/token-storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,eAAO,MAAM,iBAAiB;;;;;CAKpB,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAEnC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC1C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,YAAY;IAC3D,QAAQ,CAAC,eAAe,SAAS;IAE3B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIxC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7B;AAED;;GAEG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACrD,QAAQ,CAAC,eAAe,QAAQ;IAChC,OAAO,CAAC,KAAK,CAA8B;IAErC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAIzC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B;AAED;;GAEG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,OAAO;gBAAP,OAAO,GAAE,YAA6C;IAEpE,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAMxC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKzC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAK1C,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,WAAW,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAKvC,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5F,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAKlC,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;CAI1C"}