@explorins/pers-sdk 2.1.1 → 2.1.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 (32) hide show
  1. package/dist/chunks/{pers-sdk-CaSw6CPz.cjs → pers-sdk-BQw3QUWR.cjs} +228 -22
  2. package/dist/chunks/pers-sdk-BQw3QUWR.cjs.map +1 -0
  3. package/dist/chunks/{pers-sdk-CGefBd1F.js → pers-sdk-fWg-J3_h.js} +228 -22
  4. package/dist/chunks/pers-sdk-fWg-J3_h.js.map +1 -0
  5. package/dist/core/auth/auth-provider.interface.d.ts +1 -0
  6. package/dist/core/auth/auth-provider.interface.d.ts.map +1 -1
  7. package/dist/core/auth/auth-status.d.ts +5 -1
  8. package/dist/core/auth/auth-status.d.ts.map +1 -1
  9. package/dist/core/auth/default-auth-provider.d.ts +2 -0
  10. package/dist/core/auth/default-auth-provider.d.ts.map +1 -1
  11. package/dist/core/auth/refresh-manager.d.ts +2 -0
  12. package/dist/core/auth/refresh-manager.d.ts.map +1 -1
  13. package/dist/core/auth/services/auth-service.d.ts.map +1 -1
  14. package/dist/core/auth/token-storage.d.ts +2 -1
  15. package/dist/core/auth/token-storage.d.ts.map +1 -1
  16. package/dist/core/events/event-types.d.ts +21 -1
  17. package/dist/core/events/event-types.d.ts.map +1 -1
  18. package/dist/core/events/index.d.ts +1 -1
  19. package/dist/core/events/index.d.ts.map +1 -1
  20. package/dist/core/version.d.ts +2 -2
  21. package/dist/core.cjs +1 -1
  22. package/dist/core.js +1 -1
  23. package/dist/index.cjs +1 -1
  24. package/dist/index.js +1 -1
  25. package/dist/node.cjs +1 -1
  26. package/dist/node.js +1 -1
  27. package/dist/package.json +1 -1
  28. package/dist/pers-sdk.d.ts +41 -14
  29. package/dist/pers-sdk.d.ts.map +1 -1
  30. package/package.json +1 -1
  31. package/dist/chunks/pers-sdk-CGefBd1F.js.map +0 -1
  32. package/dist/chunks/pers-sdk-CaSw6CPz.cjs.map +0 -1
@@ -157,6 +157,10 @@ exports.AuthStatus = void 0;
157
157
  AuthStatus["REFRESHING"] = "refreshing";
158
158
  /** No authentication present */
159
159
  AuthStatus["UNAUTHENTICATED"] = "unauthenticated";
160
+ /** Session restoration completed (fired once on SDK initialization) */
161
+ AuthStatus["SESSION_RESTORED"] = "session_restored";
162
+ /** Session restoration determined no valid session exists */
163
+ AuthStatus["SESSION_RESTORATION_FAILED"] = "session_restoration_failed";
160
164
  })(exports.AuthStatus || (exports.AuthStatus = {}));
161
165
 
162
166
  /**
@@ -336,8 +340,12 @@ class AuthService {
336
340
  await extendedProvider.setProviderToken(providerToken);
337
341
  }
338
342
  if (authType && extendedProvider.setAuthType) {
343
+ console.log('[AuthService] Storing auth type:', authType);
339
344
  await extendedProvider.setAuthType(authType);
340
345
  }
346
+ else {
347
+ console.warn('[AuthService] Auth type not stored - authType:', authType, 'has setAuthType:', !!extendedProvider.setAuthType);
348
+ }
341
349
  // Emit authenticated status on successful token storage
342
350
  await this.emitAuthStatus(exports.AuthStatus.AUTHENTICATED);
343
351
  }
@@ -356,8 +364,15 @@ class TokenRefreshManager {
356
364
  this.authService = authService;
357
365
  this.authProvider = authProvider;
358
366
  this.tokenRefreshMarginSeconds = 120; // 2 minutes
367
+ this.lastValidationTime = 0;
368
+ this.validationCacheDurationMs = 30000; // 30 seconds
359
369
  }
360
370
  async ensureValidToken() {
371
+ const now = Date.now();
372
+ // Skip validation if we checked recently (within cache duration)
373
+ if (now - this.lastValidationTime < this.validationCacheDurationMs) {
374
+ return;
375
+ }
361
376
  try {
362
377
  const token = await this.authProvider.getToken();
363
378
  if (!token) {
@@ -368,6 +383,14 @@ class TokenRefreshManager {
368
383
  if (!refreshSuccess) {
369
384
  await this.authService.handleAuthFailure();
370
385
  }
386
+ else {
387
+ // Update validation time on successful refresh
388
+ this.lastValidationTime = now;
389
+ }
390
+ }
391
+ else {
392
+ // Token is valid, update validation time
393
+ this.lastValidationTime = now;
371
394
  }
372
395
  }
373
396
  catch (error) {
@@ -451,42 +474,77 @@ class MemoryTokenStorage {
451
474
  }
452
475
  }
453
476
  /**
454
- * Token manager for authentication tokens
477
+ * Token manager for authentication tokens with memory caching
455
478
  */
456
479
  class AuthTokenManager {
457
480
  constructor(storage = new LocalStorageTokenStorage()) {
458
481
  this.storage = storage;
482
+ this.cache = {};
459
483
  }
460
484
  async getAccessToken() {
485
+ // Return cached value if available
486
+ if (this.cache.accessToken !== undefined) {
487
+ return this.cache.accessToken;
488
+ }
461
489
  const val = await this.storage.get(AUTH_STORAGE_KEYS.ACCESS_TOKEN);
462
490
  // Ensure we return string for tokens
463
- return typeof val === 'string' ? val : null;
491
+ const token = typeof val === 'string' ? val : null;
492
+ this.cache.accessToken = token;
493
+ return token;
464
494
  }
465
495
  async setAccessToken(token) {
496
+ this.cache.accessToken = token;
466
497
  await this.storage.set(AUTH_STORAGE_KEYS.ACCESS_TOKEN, token);
467
498
  }
468
499
  async getRefreshToken() {
500
+ // Return cached value if available
501
+ if (this.cache.refreshToken !== undefined) {
502
+ return this.cache.refreshToken;
503
+ }
469
504
  const val = await this.storage.get(AUTH_STORAGE_KEYS.REFRESH_TOKEN);
470
- return typeof val === 'string' ? val : null;
505
+ const token = typeof val === 'string' ? val : null;
506
+ this.cache.refreshToken = token;
507
+ return token;
471
508
  }
472
509
  async setRefreshToken(token) {
510
+ this.cache.refreshToken = token;
473
511
  await this.storage.set(AUTH_STORAGE_KEYS.REFRESH_TOKEN, token);
474
512
  }
475
513
  async getProviderToken() {
514
+ // Return cached value if available
515
+ if (this.cache.providerToken !== undefined) {
516
+ return this.cache.providerToken;
517
+ }
476
518
  const val = await this.storage.get(AUTH_STORAGE_KEYS.PROVIDER_TOKEN);
477
- return typeof val === 'string' ? val : null;
519
+ const token = typeof val === 'string' ? val : null;
520
+ this.cache.providerToken = token;
521
+ return token;
478
522
  }
479
523
  async setProviderToken(token) {
524
+ this.cache.providerToken = token;
480
525
  await this.storage.set(AUTH_STORAGE_KEYS.PROVIDER_TOKEN, token);
481
526
  }
482
527
  async getAuthType() {
528
+ // Return cached value if available
529
+ if (this.cache.authType !== undefined) {
530
+ return this.cache.authType;
531
+ }
483
532
  const authType = await this.storage.get(AUTH_STORAGE_KEYS.AUTH_TYPE);
484
- return typeof authType === 'string' ? authType : null;
533
+ const type = typeof authType === 'string' ? authType : null;
534
+ this.cache.authType = type;
535
+ return type;
485
536
  }
486
537
  async setAuthType(authType) {
538
+ this.cache.authType = authType;
487
539
  await this.storage.set(AUTH_STORAGE_KEYS.AUTH_TYPE, authType);
488
540
  }
489
541
  async setTokens(accessToken, refreshToken, providerToken) {
542
+ // Update cache for all tokens
543
+ this.cache.accessToken = accessToken;
544
+ if (refreshToken)
545
+ this.cache.refreshToken = refreshToken;
546
+ if (providerToken)
547
+ this.cache.providerToken = providerToken;
490
548
  await this.setAccessToken(accessToken);
491
549
  if (refreshToken)
492
550
  await this.setRefreshToken(refreshToken);
@@ -494,13 +552,23 @@ class AuthTokenManager {
494
552
  await this.setProviderToken(providerToken);
495
553
  }
496
554
  async clearAllTokens() {
555
+ // Clear cache
556
+ this.cache = {};
497
557
  await this.storage.clear();
498
558
  }
499
559
  async hasAccessToken() {
560
+ // Use cached value if available to avoid storage read
561
+ if (this.cache.accessToken !== undefined) {
562
+ return !!this.cache.accessToken;
563
+ }
500
564
  const token = await this.getAccessToken();
501
565
  return !!token;
502
566
  }
503
567
  async hasRefreshToken() {
568
+ // Use cached value if available to avoid storage read
569
+ if (this.cache.refreshToken !== undefined) {
570
+ return !!this.cache.refreshToken;
571
+ }
504
572
  const token = await this.getRefreshToken();
505
573
  return !!token;
506
574
  }
@@ -728,6 +796,7 @@ class DPoPManager {
728
796
  class DefaultAuthProvider {
729
797
  constructor(config = {}) {
730
798
  this.config = config;
799
+ this.authTypeCache = null;
731
800
  this.authType = config.authType || persShared.AccountOwnerType.USER;
732
801
  const storage = config.storage || this.createStorage();
733
802
  this.tokenManager = new AuthTokenManager(storage);
@@ -788,6 +857,15 @@ class DefaultAuthProvider {
788
857
  }
789
858
  async setAccessToken(token) {
790
859
  await this.tokenManager.setAccessToken(token);
860
+ // Invalidate cache when token changes
861
+ this.authTypeCache = null;
862
+ // Eager DPoP key generation after login
863
+ if (this.dpopManager) {
864
+ // Fire and forget - generate keys in background
865
+ this.dpopManager.ensureKeyPair().catch(err => {
866
+ console.warn('[DefaultAuthProvider] DPoP key generation failed:', err);
867
+ });
868
+ }
791
869
  }
792
870
  async setRefreshToken(token) {
793
871
  await this.tokenManager.setRefreshToken(token);
@@ -797,16 +875,51 @@ class DefaultAuthProvider {
797
875
  }
798
876
  async clearTokens() {
799
877
  await this.tokenManager.clearAllTokens();
878
+ // Invalidate cache on clear
879
+ this.authTypeCache = null;
800
880
  if (this.dpopManager) {
801
881
  await this.dpopManager.clearKeys();
802
882
  }
803
883
  }
804
884
  async setTokens(accessToken, refreshToken, providerToken) {
805
885
  await this.tokenManager.setTokens(accessToken, refreshToken, providerToken);
886
+ // Invalidate cache when tokens change
887
+ this.authTypeCache = null;
806
888
  }
807
889
  async hasValidToken() {
808
890
  return this.tokenManager.hasAccessToken();
809
891
  }
892
+ async getAuthType() {
893
+ // Read from JWT instead of separate storage for single source of truth
894
+ const token = await this.tokenManager.getAccessToken();
895
+ if (!token) {
896
+ this.authTypeCache = null;
897
+ return null;
898
+ }
899
+ // Return cached result if token hasn't changed
900
+ if (this.authTypeCache && this.authTypeCache.token === token) {
901
+ return this.authTypeCache.type;
902
+ }
903
+ try {
904
+ // Decode JWT payload (without verification - we just need to read the claim)
905
+ const parts = token.split('.');
906
+ if (parts.length !== 3) {
907
+ console.warn('[DefaultAuthProvider] Invalid JWT format');
908
+ return null;
909
+ }
910
+ const payloadJson = atob(parts[1]);
911
+ const payload = JSON.parse(payloadJson);
912
+ // Use accountOwnerType from AuthJWTPayload interface
913
+ const authType = payload.accountType || null;
914
+ // Cache result with token signature
915
+ this.authTypeCache = { token, type: authType };
916
+ return authType;
917
+ }
918
+ catch (error) {
919
+ console.warn('[DefaultAuthProvider] Failed to parse auth type from JWT:', error);
920
+ return null;
921
+ }
922
+ }
810
923
  }
811
924
 
812
925
  /**
@@ -820,7 +933,7 @@ class DefaultAuthProvider {
820
933
  /** SDK package name */
821
934
  const SDK_NAME = '@explorins/pers-sdk';
822
935
  /** SDK version - TODO: Load dynamically from package.json */
823
- const SDK_VERSION = '2.1.0';
936
+ const SDK_VERSION = '2.1.1';
824
937
  /** Full SDK identifier for headers */
825
938
  const SDK_USER_AGENT = `${SDK_NAME}/${SDK_VERSION}`;
826
939
 
@@ -6650,21 +6763,72 @@ class PersSDK {
6650
6763
  // Initialize event emitter and wire to API client for error events
6651
6764
  this._events = new PersEventEmitter();
6652
6765
  this.apiClient.setEvents(this._events);
6653
- // Initialize domain managers (pass events to managers that emit success events)
6654
- this._auth = new AuthManager(this.apiClient, this._events);
6655
- this._users = new UserManager(this.apiClient, this._events);
6656
- this._userStatus = new UserStatusManager(this.apiClient);
6657
- this._tokens = new TokenManager(this.apiClient);
6658
- this._businesses = new BusinessManager(this.apiClient, this._events);
6659
- this._campaigns = new CampaignManager(this.apiClient, this._events);
6660
- this._redemptions = new RedemptionManager(this.apiClient, this._events);
6661
- this._transactions = new TransactionManager(this.apiClient, this._events);
6662
- this._purchases = new PurchaseManager(this.apiClient);
6663
- this._files = new FileManager(this.apiClient);
6664
- this._tenants = new TenantManager(this.apiClient);
6665
- this._apiKeys = new ApiKeyManager(this.apiClient);
6666
- this._analytics = new AnalyticsManager(this.apiClient);
6667
- this._donations = new DonationManager(this.apiClient);
6766
+ }
6767
+ /**
6768
+ * Restore user session from stored tokens
6769
+ *
6770
+ * Call this method after SDK initialization to restore the user's session
6771
+ * if valid tokens exist. This is useful for maintaining login state across
6772
+ * app restarts.
6773
+ *
6774
+ * **Important:** Only works for USER and BUSINESS accounts. Admin/tenant
6775
+ * accounts don't support user data fetching, so this will return null for them
6776
+ * (though their tokens remain valid for API calls).
6777
+ *
6778
+ * Emits auth domain success event when session is restored.
6779
+ *
6780
+ * @returns Promise resolving to User data if session restored, null if no session or admin account
6781
+ * @throws {PersError} If token validation or user fetch fails
6782
+ *
6783
+ * @example
6784
+ * ```typescript
6785
+ * // Call after initial render for better perceived performance
6786
+ * const user = await sdk.restoreSession();
6787
+ * if (user) {
6788
+ * console.log('Welcome back,', user.name);
6789
+ * }
6790
+ * ```
6791
+ */
6792
+ async restoreSession() {
6793
+ const hasToken = await this.auth.hasValidAuth();
6794
+ if (!hasToken) {
6795
+ return null;
6796
+ }
6797
+ // Check auth type - only restore session for user and business accounts
6798
+ const authProvider = this.apiClient.getConfig().authProvider;
6799
+ if (authProvider?.getAuthType) {
6800
+ const authType = await authProvider.getAuthType();
6801
+ if (authType === persShared.AccountOwnerType.TENANT) {
6802
+ // Admin sessions don't support getCurrentUser(), skip restoration
6803
+ // Tokens are valid and will be used for API calls
6804
+ return null;
6805
+ }
6806
+ }
6807
+ try {
6808
+ // Fetch user data to validate tokens and restore session
6809
+ const userData = await this.auth.getCurrentUser();
6810
+ // Emit event through proper event emitter
6811
+ this._events.emitSuccess({
6812
+ type: 'session_restored',
6813
+ domain: 'authentication',
6814
+ userMessage: 'Session restored successfully',
6815
+ details: { userId: userData.id }
6816
+ });
6817
+ return userData;
6818
+ }
6819
+ catch (error) {
6820
+ // Tokens exist but are invalid (expired, revoked, etc.)
6821
+ await this.auth.clearAuth();
6822
+ // Emit restoration failed event
6823
+ this._events.emitError({
6824
+ type: 'session_restoration_failed',
6825
+ domain: 'authentication',
6826
+ userMessage: 'Session restoration failed',
6827
+ code: 'SESSION_INVALID',
6828
+ details: { error }
6829
+ });
6830
+ throw error;
6831
+ }
6668
6832
  }
6669
6833
  /**
6670
6834
  * Event emitter - Subscribe to SDK-wide events
@@ -6752,6 +6916,9 @@ class PersSDK {
6752
6916
  * @see {@link AuthManager} for detailed documentation
6753
6917
  */
6754
6918
  get auth() {
6919
+ if (!this._auth) {
6920
+ this._auth = new AuthManager(this.apiClient, this._events);
6921
+ }
6755
6922
  return this._auth;
6756
6923
  }
6757
6924
  /**
@@ -6765,6 +6932,9 @@ class PersSDK {
6765
6932
  * ```
6766
6933
  */
6767
6934
  get users() {
6935
+ if (!this._users) {
6936
+ this._users = new UserManager(this.apiClient, this._events);
6937
+ }
6768
6938
  return this._users;
6769
6939
  }
6770
6940
  /**
@@ -6778,6 +6948,9 @@ class PersSDK {
6778
6948
  * ```
6779
6949
  */
6780
6950
  get userStatus() {
6951
+ if (!this._userStatus) {
6952
+ this._userStatus = new UserStatusManager(this.apiClient);
6953
+ }
6781
6954
  return this._userStatus;
6782
6955
  }
6783
6956
  /**
@@ -6791,6 +6964,9 @@ class PersSDK {
6791
6964
  * ```
6792
6965
  */
6793
6966
  get tokens() {
6967
+ if (!this._tokens) {
6968
+ this._tokens = new TokenManager(this.apiClient);
6969
+ }
6794
6970
  return this._tokens;
6795
6971
  }
6796
6972
  /**
@@ -6804,6 +6980,9 @@ class PersSDK {
6804
6980
  * ```
6805
6981
  */
6806
6982
  get businesses() {
6983
+ if (!this._businesses) {
6984
+ this._businesses = new BusinessManager(this.apiClient, this._events);
6985
+ }
6807
6986
  return this._businesses;
6808
6987
  }
6809
6988
  /**
@@ -6817,6 +6996,9 @@ class PersSDK {
6817
6996
  * ```
6818
6997
  */
6819
6998
  get campaigns() {
6999
+ if (!this._campaigns) {
7000
+ this._campaigns = new CampaignManager(this.apiClient, this._events);
7001
+ }
6820
7002
  return this._campaigns;
6821
7003
  }
6822
7004
  /**
@@ -6830,6 +7012,9 @@ class PersSDK {
6830
7012
  * ```
6831
7013
  */
6832
7014
  get redemptions() {
7015
+ if (!this._redemptions) {
7016
+ this._redemptions = new RedemptionManager(this.apiClient, this._events);
7017
+ }
6833
7018
  return this._redemptions;
6834
7019
  }
6835
7020
  /**
@@ -6843,6 +7028,9 @@ class PersSDK {
6843
7028
  * ```
6844
7029
  */
6845
7030
  get transactions() {
7031
+ if (!this._transactions) {
7032
+ this._transactions = new TransactionManager(this.apiClient, this._events);
7033
+ }
6846
7034
  return this._transactions;
6847
7035
  }
6848
7036
  /**
@@ -6856,6 +7044,9 @@ class PersSDK {
6856
7044
  * ```
6857
7045
  */
6858
7046
  get purchases() {
7047
+ if (!this._purchases) {
7048
+ this._purchases = new PurchaseManager(this.apiClient);
7049
+ }
6859
7050
  return this._purchases;
6860
7051
  }
6861
7052
  /**
@@ -6869,6 +7060,9 @@ class PersSDK {
6869
7060
  * ```
6870
7061
  */
6871
7062
  get files() {
7063
+ if (!this._files) {
7064
+ this._files = new FileManager(this.apiClient);
7065
+ }
6872
7066
  return this._files;
6873
7067
  }
6874
7068
  /**
@@ -6882,6 +7076,9 @@ class PersSDK {
6882
7076
  * ```
6883
7077
  */
6884
7078
  get tenants() {
7079
+ if (!this._tenants) {
7080
+ this._tenants = new TenantManager(this.apiClient);
7081
+ }
6885
7082
  return this._tenants;
6886
7083
  }
6887
7084
  /**
@@ -6906,6 +7103,9 @@ class PersSDK {
6906
7103
  * ```
6907
7104
  */
6908
7105
  get apiKeys() {
7106
+ if (!this._apiKeys) {
7107
+ this._apiKeys = new ApiKeyManager(this.apiClient);
7108
+ }
6909
7109
  return this._apiKeys;
6910
7110
  }
6911
7111
  /**
@@ -6917,6 +7117,9 @@ class PersSDK {
6917
7117
  * ```
6918
7118
  */
6919
7119
  get analytics() {
7120
+ if (!this._analytics) {
7121
+ this._analytics = new AnalyticsManager(this.apiClient);
7122
+ }
6920
7123
  return this._analytics;
6921
7124
  }
6922
7125
  /**
@@ -6928,6 +7131,9 @@ class PersSDK {
6928
7131
  * ```
6929
7132
  */
6930
7133
  get donations() {
7134
+ if (!this._donations) {
7135
+ this._donations = new DonationManager(this.apiClient);
7136
+ }
6931
7137
  return this._donations;
6932
7138
  }
6933
7139
  /**
@@ -7017,4 +7223,4 @@ exports.WebDPoPCryptoProvider = WebDPoPCryptoProvider;
7017
7223
  exports.buildApiRoot = buildApiRoot;
7018
7224
  exports.createPersSDK = createPersSDK;
7019
7225
  exports.mergeWithDefaults = mergeWithDefaults;
7020
- //# sourceMappingURL=pers-sdk-CaSw6CPz.cjs.map
7226
+ //# sourceMappingURL=pers-sdk-BQw3QUWR.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pers-sdk-BQw3QUWR.cjs","sources":["../../src/core/pers-config.ts","../../src/core/auth/api/auth-api.ts","../../src/core/auth/auth-status.ts","../../src/core/auth/services/auth-service.ts","../../src/core/auth/refresh-manager.ts","../../src/core/auth/token-storage.ts","../../src/core/auth/dpop/web-crypto-dpop-provider.ts","../../src/core/auth/dpop/dpop-manager.ts","../../src/core/auth/default-auth-provider.ts","../../src/core/version.ts","../../src/core/pers-api-client.ts","../../src/core/auth/static-jwt-auth-provider.ts","../../src/core/events/event-emitter.ts","../../src/managers/auth-manager.ts","../../src/managers/user-manager.ts","../../src/managers/user-status-manager.ts","../../src/managers/token-manager.ts","../../src/managers/business-manager.ts","../../src/managers/campaign-manager.ts","../../src/managers/redemption-manager.ts","../../src/managers/transaction-manager.ts","../../src/managers/purchase-manager.ts","../../src/file/api/file-api.ts","../../src/file/services/file-service.ts","../../src/managers/file-manager.ts","../../src/managers/tenant-manager.ts","../../src/api-key/api/api-key-api.ts","../../src/managers/api-key-manager.ts","../../src/managers/analytics-manager.ts","../../src/managers/donation-manager.ts","../../src/pers-sdk.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["AccountOwnerType","AuthStatus","isTokenExpired","ErrorUtils","AuthenticationError","PersApiError","UserApi","UserService","createUserStatusSDK","TokenApi","TokenService","BusinessApi","BusinessService","BusinessMembershipApi","BusinessMembershipService","MembershipRole","CampaignApi","CampaignService","RedemptionApi","RedemptionService","TransactionApi","TransactionService","PaymentApi","PaymentService","TenantApi","TenantService","buildPaginationParams","normalizeToPaginated","AnalyticsApi","AnalyticsService","DonationApi","DonationService"],"mappings":"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"}