@explorins/pers-sdk 1.3.15 → 1.5.2

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 (75) hide show
  1. package/README.md +351 -81
  2. package/dist/chunks/base-token-service-D0KANDgM.js +139 -0
  3. package/dist/chunks/base-token-service-D0KANDgM.js.map +1 -0
  4. package/dist/chunks/base-token-service-zNfPjHRx.cjs +141 -0
  5. package/dist/chunks/base-token-service-zNfPjHRx.cjs.map +1 -0
  6. package/dist/chunks/{pers-sdk-DiwCwBiC.cjs → pers-sdk-CI2YXKb_.cjs} +1335 -50
  7. package/dist/chunks/pers-sdk-CI2YXKb_.cjs.map +1 -0
  8. package/dist/chunks/{pers-sdk-Rc8YKyNc.js → pers-sdk-CVSAFBLh.js} +1325 -51
  9. package/dist/chunks/pers-sdk-CVSAFBLh.js.map +1 -0
  10. package/dist/chunks/{base-token-service-BA81_Ouq.js → token-sdk-BW4kkJb3.js} +2 -137
  11. package/dist/chunks/token-sdk-BW4kkJb3.js.map +1 -0
  12. package/dist/chunks/{base-token-service-BQ6uFoki.cjs → token-sdk-CiAbOb6c.cjs} +1 -137
  13. package/dist/chunks/token-sdk-CiAbOb6c.cjs.map +1 -0
  14. package/dist/core/index.d.ts +2 -0
  15. package/dist/core/index.d.ts.map +1 -1
  16. package/dist/core.cjs +22 -1
  17. package/dist/core.cjs.map +1 -1
  18. package/dist/core.js +11 -1
  19. package/dist/core.js.map +1 -1
  20. package/dist/index.cjs +21 -5
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.ts +4 -1
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +4 -2
  25. package/dist/index.js.map +1 -1
  26. package/dist/legacy-pers-sdk.d.ts +79 -0
  27. package/dist/legacy-pers-sdk.d.ts.map +1 -0
  28. package/dist/managers/analytics-manager.d.ts +28 -0
  29. package/dist/managers/analytics-manager.d.ts.map +1 -0
  30. package/dist/managers/auth-manager.d.ts +80 -0
  31. package/dist/managers/auth-manager.d.ts.map +1 -0
  32. package/dist/managers/business-manager.d.ts +83 -0
  33. package/dist/managers/business-manager.d.ts.map +1 -0
  34. package/dist/managers/campaign-manager.d.ts +158 -0
  35. package/dist/managers/campaign-manager.d.ts.map +1 -0
  36. package/dist/managers/donation-manager.d.ts +27 -0
  37. package/dist/managers/donation-manager.d.ts.map +1 -0
  38. package/dist/managers/index.d.ts +18 -0
  39. package/dist/managers/index.d.ts.map +1 -0
  40. package/dist/managers/payment-manager.d.ts +44 -0
  41. package/dist/managers/payment-manager.d.ts.map +1 -0
  42. package/dist/managers/redemption-manager.d.ts +91 -0
  43. package/dist/managers/redemption-manager.d.ts.map +1 -0
  44. package/dist/managers/tenant-manager.d.ts +60 -0
  45. package/dist/managers/tenant-manager.d.ts.map +1 -0
  46. package/dist/managers/token-manager.d.ts +81 -0
  47. package/dist/managers/token-manager.d.ts.map +1 -0
  48. package/dist/managers/transaction-manager.d.ts +62 -0
  49. package/dist/managers/transaction-manager.d.ts.map +1 -0
  50. package/dist/managers/user-manager.d.ts +72 -0
  51. package/dist/managers/user-manager.d.ts.map +1 -0
  52. package/dist/package.json +6 -1
  53. package/dist/pers-sdk.d.ts +302 -13
  54. package/dist/pers-sdk.d.ts.map +1 -1
  55. package/dist/platform-adapters/angular-http-client.d.ts +35 -0
  56. package/dist/platform-adapters/angular-http-client.d.ts.map +1 -0
  57. package/dist/platform-adapters/browser-fetch-client.d.ts +30 -0
  58. package/dist/platform-adapters/browser-fetch-client.d.ts.map +1 -0
  59. package/dist/platform-adapters/index.d.ts +11 -0
  60. package/dist/platform-adapters/index.d.ts.map +1 -0
  61. package/dist/platform-adapters/node-http-client.d.ts +30 -0
  62. package/dist/platform-adapters/node-http-client.d.ts.map +1 -0
  63. package/dist/platform-adapters.cjs +201 -0
  64. package/dist/platform-adapters.cjs.map +1 -0
  65. package/dist/platform-adapters.js +197 -0
  66. package/dist/platform-adapters.js.map +1 -0
  67. package/dist/token.cjs +6 -5
  68. package/dist/token.cjs.map +1 -1
  69. package/dist/token.js +2 -1
  70. package/dist/token.js.map +1 -1
  71. package/package.json +6 -1
  72. package/dist/chunks/base-token-service-BA81_Ouq.js.map +0 -1
  73. package/dist/chunks/base-token-service-BQ6uFoki.cjs.map +0 -1
  74. package/dist/chunks/pers-sdk-DiwCwBiC.cjs.map +0 -1
  75. package/dist/chunks/pers-sdk-Rc8YKyNc.js.map +0 -1
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Legacy PERS SDK - Simple wrapper around PERS API client
3
+ *
4
+ * @deprecated Use the main PersSDK with domain managers instead.
5
+ * This class is kept for backward compatibility only.
6
+ *
7
+ * Provides a simple wrapper around the core API client with
8
+ * intelligent authentication and token management.
9
+ */
10
+ import { HttpClient } from './core/abstractions/http-client';
11
+ import { PersConfig } from './core/pers-config';
12
+ import { PersApiClient } from './core/pers-api-client';
13
+ /**
14
+ * Legacy PERS SDK class
15
+ *
16
+ * @deprecated Use the main PersSDK with domain managers instead.
17
+ *
18
+ * Minimal wrapper around PersApiClient providing a simple interface
19
+ * for platform-specific implementations.
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * import { createPersSDK, createAuthProvider } from '@explorins/pers-sdk/core';
24
+ * import { BrowserHttpClient } from '@explorins/pers-sdk/browser';
25
+ *
26
+ * const authProvider = createAuthProvider({
27
+ * tokenProvider: () => getFirebaseToken()
28
+ * });
29
+ *
30
+ * const sdk = new LegacyPersSDK(new BrowserHttpClient(), {
31
+ * environment: 'production',
32
+ * apiProjectKey: 'your-project-key',
33
+ * authProvider
34
+ * });
35
+ *
36
+ * const apiClient = sdk.api();
37
+ * const user = await apiClient.get('/users/me');
38
+ * ```
39
+ */
40
+ export declare class LegacyPersSDK {
41
+ private apiClient;
42
+ /**
43
+ * Creates a new Legacy PERS SDK instance
44
+ *
45
+ * @deprecated Use the main PersSDK with domain managers instead.
46
+ * @param httpClient Platform-specific HTTP client implementation
47
+ * @param config SDK configuration options
48
+ */
49
+ constructor(httpClient: HttpClient, config: PersConfig);
50
+ /**
51
+ * Gets the API client for making PERS API requests
52
+ *
53
+ * This is the main interface for interacting with the PERS backend.
54
+ * The returned client handles authentication, token refresh, and error handling automatically.
55
+ *
56
+ * @returns Configured PersApiClient instance
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * const apiClient = sdk.api();
61
+ * const user = await apiClient.get<User>('/users/me');
62
+ * await apiClient.post('/users', userData);
63
+ * ```
64
+ */
65
+ api(): PersApiClient;
66
+ /**
67
+ * Checks if SDK is configured for production environment
68
+ *
69
+ * @returns True if environment is 'production', false otherwise
70
+ */
71
+ isProduction(): boolean;
72
+ }
73
+ /**
74
+ * Legacy factory function
75
+ *
76
+ * @deprecated Use createPersSDK from enhanced-pers-sdk instead.
77
+ */
78
+ export declare function createLegacyPersSDK(httpClient: HttpClient, config: PersConfig): LegacyPersSDK;
79
+ //# sourceMappingURL=legacy-pers-sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy-pers-sdk.d.ts","sourceRoot":"","sources":["../src/legacy-pers-sdk.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAgB;IAEjC;;;;;;OAMG;gBACS,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU;IAItD;;;;;;;;;;;;;;OAcG;IACH,GAAG,IAAI,aAAa;IAIpB;;;;OAIG;IACH,YAAY,IAAI,OAAO;CAGxB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,UAAU,GACjB,aAAa,CAEf"}
@@ -0,0 +1,28 @@
1
+ import { PersApiClient } from '../core/pers-api-client';
2
+ import { AnalyticsSDK } from '../analytics';
3
+ import type { TransactionAnalyticsRequestDTO } from '../analytics/models';
4
+ /**
5
+ * Analytics Manager - Clean, high-level interface for analytics operations
6
+ *
7
+ * Provides a simplified API for common analytics tasks while maintaining
8
+ * access to the full analytics SDK for advanced use cases.
9
+ */
10
+ export declare class AnalyticsManager {
11
+ private apiClient;
12
+ private analyticsSDK;
13
+ constructor(apiClient: PersApiClient);
14
+ /**
15
+ * Get transaction analytics
16
+ *
17
+ * @param request - Analytics request parameters
18
+ * @returns Promise resolving to transaction analytics data
19
+ */
20
+ getTransactionAnalytics(request: TransactionAnalyticsRequestDTO): Promise<import("..").TransactionAnalyticsResponseDTO>;
21
+ /**
22
+ * Get the full analytics SDK for advanced operations
23
+ *
24
+ * @returns AnalyticsSDK instance
25
+ */
26
+ getAnalyticsSDK(): AnalyticsSDK;
27
+ }
28
+ //# sourceMappingURL=analytics-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics-manager.d.ts","sourceRoot":"","sources":["../../src/managers/analytics-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAsB,YAAY,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAE1E;;;;;GAKG;AACH,qBAAa,gBAAgB;IAGf,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,YAAY,CAAe;gBAEf,SAAS,EAAE,aAAa;IAI5C;;;;;OAKG;IACG,uBAAuB,CAAC,OAAO,EAAE,8BAA8B;IAIrE;;;;OAIG;IACH,eAAe,IAAI,YAAY;CAGhC"}
@@ -0,0 +1,80 @@
1
+ import { PersApiClient } from '../core/pers-api-client';
2
+ import type { RawUserData } from '../core';
3
+ import type { UserDTO, SessionAuthContextResponseDTO } from '../shared/interfaces/pers-shared-lib.interfaces';
4
+ /**
5
+ * Authentication Manager - Clean, high-level interface for authentication operations
6
+ *
7
+ * Provides a simplified API for common authentication tasks while maintaining
8
+ * access to the underlying API client for advanced use cases.
9
+ */
10
+ export declare class AuthManager {
11
+ private apiClient;
12
+ constructor(apiClient: PersApiClient);
13
+ /**
14
+ * Login with JWT token
15
+ *
16
+ * @param jwtToken - JWT token to authenticate with
17
+ * @param userType - Type of user ('user' | 'admin')
18
+ * @returns Promise resolving to authentication response
19
+ */
20
+ loginWithToken(jwtToken: string, userType?: 'user' | 'admin'): Promise<SessionAuthContextResponseDTO>;
21
+ /**
22
+ * Login with raw user data
23
+ *
24
+ * @param rawUserData - Raw user data for authentication
25
+ * @returns Promise resolving to authentication response
26
+ */
27
+ loginWithRawData(rawUserData: RawUserData): Promise<SessionAuthContextResponseDTO>;
28
+ /**
29
+ * Get current authenticated user
30
+ *
31
+ * @returns Promise resolving to current user data
32
+ */
33
+ getCurrentUser(): Promise<UserDTO>;
34
+ /**
35
+ * Refresh current user data
36
+ *
37
+ * @returns Promise resolving to updated user data
38
+ */
39
+ refreshUserData(): Promise<UserDTO>;
40
+ /**
41
+ * Check if user is authenticated
42
+ *
43
+ * @returns Promise resolving to boolean indicating authentication status
44
+ */
45
+ isAuthenticated(): Promise<boolean>;
46
+ /**
47
+ * Refresh access token using stored refresh token
48
+ *
49
+ * @param refreshToken - Optional refresh token, uses stored token if not provided
50
+ * @returns Promise resolving to new auth tokens
51
+ */
52
+ refreshTokens(refreshToken?: string): Promise<import('../shared/interfaces/pers-shared-lib.interfaces').SessionAuthResponseDTO>;
53
+ /**
54
+ * Clear stored authentication tokens
55
+ *
56
+ * @returns Promise that resolves when tokens are cleared
57
+ */
58
+ clearAuth(): Promise<void>;
59
+ /**
60
+ * Check if SDK has valid authentication
61
+ *
62
+ * @returns Boolean indicating if valid authentication exists
63
+ */
64
+ hasValidAuth(): boolean;
65
+ /**
66
+ * Admin login with JWT token
67
+ *
68
+ * @param jwt - JWT token for admin authentication
69
+ * @returns Promise resolving to authentication context
70
+ */
71
+ loginAdmin(jwt: string): Promise<SessionAuthContextResponseDTO>;
72
+ /**
73
+ * User login with JWT token
74
+ *
75
+ * @param jwt - JWT token for user authentication
76
+ * @returns Promise resolving to authentication context
77
+ */
78
+ loginUser(jwt: string): Promise<SessionAuthContextResponseDTO>;
79
+ }
80
+ //# sourceMappingURL=auth-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-manager.d.ts","sourceRoot":"","sources":["../../src/managers/auth-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAY,6BAA6B,EAAE,MAAM,iDAAiD,CAAC;AAExH;;;;;GAKG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAE5C;;;;;;OAMG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,GAAG,OAAgB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAMnH;;;;;OAKG;IACG,gBAAgB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAIxF;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxC;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAIzC;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IASzC;;;;;OAKG;IACG,aAAa,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,iDAAiD,EAAE,sBAAsB,CAAC;IAIrI;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAQhC;;;;OAIG;IACH,YAAY,IAAI,OAAO;IAIvB;;;;;OAKG;IACG,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAIrE;;;;;OAKG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;CAKrE"}
@@ -0,0 +1,83 @@
1
+ import { PersApiClient } from '../core/pers-api-client';
2
+ import { BusinessSDK } from '../business';
3
+ import type { BusinessDTO, BusinessTypeDTO, BusinessUpdateRequestDTO, BusinessToggleActiveRequestDTO } from '../shared/interfaces/pers-shared-lib.interfaces';
4
+ /**
5
+ * Business Manager - Clean, high-level interface for business operations
6
+ *
7
+ * Provides a simplified API for common business management tasks while maintaining
8
+ * access to the full business SDK for advanced use cases.
9
+ */
10
+ export declare class BusinessManager {
11
+ private apiClient;
12
+ private businessSDK;
13
+ constructor(apiClient: PersApiClient);
14
+ /**
15
+ * Get all active businesses
16
+ *
17
+ * @returns Promise resolving to array of active businesses
18
+ */
19
+ getActiveBusinesses(): Promise<BusinessDTO[]>;
20
+ /**
21
+ * Get business by ID
22
+ *
23
+ * @param businessId - Business ID to fetch
24
+ * @returns Promise resolving to business data
25
+ */
26
+ getBusinessById(businessId: string): Promise<BusinessDTO>;
27
+ /**
28
+ * Get business by account address
29
+ *
30
+ * @param accountAddress - Account address to search for
31
+ * @returns Promise resolving to business data
32
+ */
33
+ getBusinessByAccount(accountAddress: string): Promise<BusinessDTO>;
34
+ /**
35
+ * Get all business types
36
+ *
37
+ * @returns Promise resolving to array of business types
38
+ */
39
+ getBusinessTypes(): Promise<BusinessTypeDTO[]>;
40
+ /**
41
+ * Get businesses by type
42
+ *
43
+ * @param typeId - Business type ID to filter by
44
+ * @returns Promise resolving to array of businesses
45
+ */
46
+ getBusinessesByType(typeId: string): Promise<BusinessDTO[]>;
47
+ /**
48
+ * Admin: Get all businesses (including inactive)
49
+ *
50
+ * @returns Promise resolving to array of all businesses
51
+ */
52
+ getAllBusinesses(): Promise<BusinessDTO[]>;
53
+ /**
54
+ * Admin: Create new business
55
+ *
56
+ * @param displayName - Display name for the business
57
+ * @returns Promise resolving to created business data
58
+ */
59
+ createBusiness(displayName: string): Promise<BusinessDTO>;
60
+ /**
61
+ * Admin: Update business
62
+ *
63
+ * @param businessId - ID of business to update
64
+ * @param businessData - Business data to update
65
+ * @returns Promise resolving to updated business data
66
+ */
67
+ updateBusiness(businessId: string, businessData: BusinessUpdateRequestDTO): Promise<BusinessDTO>;
68
+ /**
69
+ * Admin: Toggle business active status
70
+ *
71
+ * @param businessId - ID of business to toggle
72
+ * @param toggleData - Toggle request data
73
+ * @returns Promise resolving to updated business data
74
+ */
75
+ toggleBusinessStatus(businessId: string, toggleData: BusinessToggleActiveRequestDTO): Promise<BusinessDTO>;
76
+ /**
77
+ * Get the full business SDK for advanced operations
78
+ *
79
+ * @returns BusinessSDK instance
80
+ */
81
+ getBusinessSDK(): BusinessSDK;
82
+ }
83
+ //# sourceMappingURL=business-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"business-manager.d.ts","sourceRoot":"","sources":["../../src/managers/business-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAqB,WAAW,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,wBAAwB,EACxB,8BAA8B,EAC/B,MAAM,iDAAiD,CAAC;AAEzD;;;;;GAKG;AACH,qBAAa,eAAe;IAGd,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,WAAW,CAAc;gBAEb,SAAS,EAAE,aAAa;IAI5C;;;;OAIG;IACG,mBAAmB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAInD;;;;;OAKG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI/D;;;;;OAKG;IACG,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIxE;;;;OAIG;IACG,gBAAgB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAIpD;;;;;OAKG;IACG,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAIjE;;;;OAIG;IACG,gBAAgB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAIhD;;;;;OAKG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI/D;;;;;;OAMG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC;IAItG;;;;;;OAMG;IACG,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,8BAA8B,GAAG,OAAO,CAAC,WAAW,CAAC;IAIhH;;;;OAIG;IACH,cAAc,IAAI,WAAW;CAK9B"}
@@ -0,0 +1,158 @@
1
+ import { PersApiClient } from '../core/pers-api-client';
2
+ import { CampaignSDK } from '../campaign';
3
+ import type { CampaignDTO, CampaignCreateRequestDTO, CampaignClaimRequestDTO, CampaignClaimDTO, TokenUnitCreateRequestDTO, CampaignBusinessEngagementCreateRequestDTO, CampaignTriggerDTO } from '../shared/interfaces/pers-shared-lib.interfaces';
4
+ /**
5
+ * Campaign Manager - Clean, high-level interface for campaign operations
6
+ *
7
+ * Provides a simplified API for common campaign management tasks while maintaining
8
+ * access to the full campaign SDK for advanced use cases.
9
+ */
10
+ export declare class CampaignManager {
11
+ private apiClient;
12
+ private campaignSDK;
13
+ constructor(apiClient: PersApiClient);
14
+ /**
15
+ * Get all active campaigns
16
+ *
17
+ * @returns Promise resolving to array of active campaigns
18
+ */
19
+ getActiveCampaigns(): Promise<CampaignDTO[]>;
20
+ /**
21
+ * Get campaign by ID
22
+ *
23
+ * @param campaignId - ID of the campaign
24
+ * @returns Promise resolving to campaign data
25
+ */
26
+ getCampaignById(campaignId: string): Promise<CampaignDTO>;
27
+ /**
28
+ * Claim a campaign reward
29
+ *
30
+ * @param claimRequest - Campaign claim data
31
+ * @returns Promise resolving to claim result
32
+ */
33
+ claimCampaign(claimRequest: CampaignClaimRequestDTO): Promise<CampaignClaimDTO>;
34
+ /**
35
+ * Get user's campaign claims
36
+ *
37
+ * @returns Promise resolving to array of user's claims
38
+ */
39
+ getUserClaims(): Promise<CampaignClaimDTO[]>;
40
+ /**
41
+ * Admin: Get all campaigns
42
+ *
43
+ * @param active - Filter by active status
44
+ * @returns Promise resolving to array of campaigns
45
+ */
46
+ getAllCampaigns(active?: boolean): Promise<CampaignDTO[]>;
47
+ /**
48
+ * Admin: Create new campaign
49
+ *
50
+ * @param campaignData - Campaign data
51
+ * @returns Promise resolving to created campaign
52
+ */
53
+ createCampaign(campaignData: CampaignCreateRequestDTO): Promise<CampaignDTO>;
54
+ /**
55
+ * Admin: Update campaign
56
+ *
57
+ * @param campaignId - ID of campaign to update
58
+ * @param campaignData - Updated campaign data
59
+ * @returns Promise resolving to updated campaign
60
+ */
61
+ updateCampaign(campaignId: string, campaignData: CampaignCreateRequestDTO): Promise<CampaignDTO>;
62
+ /**
63
+ * Admin: Toggle campaign active status
64
+ *
65
+ * @param campaignId - ID of campaign to toggle
66
+ * @returns Promise resolving to updated campaign
67
+ */
68
+ toggleCampaignStatus(campaignId: string): Promise<CampaignDTO>;
69
+ /**
70
+ * Admin: Toggle campaign testnet environment
71
+ *
72
+ * @param campaignId - ID of campaign to toggle
73
+ * @returns Promise resolving to updated campaign
74
+ */
75
+ toggleCampaignTestnet(campaignId: string): Promise<CampaignDTO>;
76
+ /**
77
+ * Admin: Get campaign triggers
78
+ *
79
+ * @returns Promise resolving to array of campaign triggers
80
+ */
81
+ getCampaignTriggers(): Promise<CampaignTriggerDTO[]>;
82
+ /**
83
+ * Admin: Set campaign trigger
84
+ *
85
+ * @param campaignId - ID of campaign
86
+ * @param triggerId - ID of trigger to set
87
+ * @returns Promise resolving to updated campaign
88
+ */
89
+ setCampaignTrigger(campaignId: string, triggerId: string): Promise<CampaignDTO>;
90
+ /**
91
+ * Admin: Create campaign token unit
92
+ *
93
+ * @param campaignId - ID of campaign
94
+ * @param tokenUnit - Token unit data
95
+ * @returns Promise resolving to updated campaign
96
+ */
97
+ createCampaignTokenUnit(campaignId: string, tokenUnit: TokenUnitCreateRequestDTO): Promise<CampaignDTO>;
98
+ /**
99
+ * Admin: Delete campaign token unit
100
+ *
101
+ * @param campaignId - ID of campaign
102
+ * @param tokenUnitId - ID of token unit to delete
103
+ * @returns Promise resolving to updated campaign
104
+ */
105
+ deleteCampaignTokenUnit(campaignId: string, tokenUnitId: string): Promise<CampaignDTO>;
106
+ /**
107
+ * Admin: Add business engagement to campaign
108
+ *
109
+ * @param campaignId - ID of campaign
110
+ * @param engagement - Business engagement data
111
+ * @returns Promise resolving to updated campaign
112
+ */
113
+ addBusinessEngagementToCampaign(campaignId: string, engagement: CampaignBusinessEngagementCreateRequestDTO): Promise<CampaignDTO>;
114
+ /**
115
+ * Admin: Update campaign business engagement
116
+ *
117
+ * @param campaignId - ID of campaign
118
+ * @param engagementId - ID of engagement to update
119
+ * @param engagement - Updated engagement data
120
+ * @returns Promise resolving to updated campaign
121
+ */
122
+ updateCampaignBusinessEngagement(campaignId: string, engagementId: string, engagement: CampaignBusinessEngagementCreateRequestDTO): Promise<CampaignDTO>;
123
+ /**
124
+ * Admin: Delete campaign business engagement
125
+ *
126
+ * @param campaignId - ID of campaign
127
+ * @param engagementId - ID of engagement to delete
128
+ * @returns Promise resolving to updated campaign
129
+ */
130
+ deleteCampaignBusinessEngagement(campaignId: string, engagementId: string): Promise<CampaignDTO>;
131
+ /**
132
+ * Admin: Get all campaign claims
133
+ *
134
+ * @returns Promise resolving to array of campaign claims
135
+ */
136
+ getCampaignClaims(): Promise<CampaignClaimDTO[]>;
137
+ /**
138
+ * Admin: Get campaign claims by user ID
139
+ *
140
+ * @param userId - ID of user
141
+ * @returns Promise resolving to array of user's campaign claims
142
+ */
143
+ getCampaignClaimsByUserId(userId: string): Promise<CampaignClaimDTO[]>;
144
+ /**
145
+ * Admin: Get campaign claims by business ID
146
+ *
147
+ * @param businessId - ID of business
148
+ * @returns Promise resolving to array of business's campaign claims
149
+ */
150
+ getCampaignClaimsByBusinessId(businessId: string): Promise<CampaignClaimDTO[]>;
151
+ /**
152
+ * Get the full campaign SDK for advanced operations
153
+ *
154
+ * @returns CampaignSDK instance
155
+ */
156
+ getCampaignSDK(): CampaignSDK;
157
+ }
158
+ //# sourceMappingURL=campaign-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"campaign-manager.d.ts","sourceRoot":"","sources":["../../src/managers/campaign-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAqB,WAAW,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EACV,WAAW,EACX,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,yBAAyB,EACzB,0CAA0C,EAC1C,kBAAkB,EACnB,MAAM,iDAAiD,CAAC;AAEzD;;;;;GAKG;AACH,qBAAa,eAAe;IAGd,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,WAAW,CAAc;gBAEb,SAAS,EAAE,aAAa;IAI5C;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAIlD;;;;;OAKG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI/D;;;;;OAKG;IACG,aAAa,CAAC,YAAY,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIrF;;;;OAIG;IACG,aAAa,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAIlD;;;;;OAKG;IACG,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAI/D;;;;;OAKG;IACG,cAAc,CAAC,YAAY,EAAE,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC;IAIlF;;;;;;OAMG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC;IAItG;;;;;OAKG;IACG,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIpE;;;;;OAKG;IACG,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIrE;;;;OAIG;IACG,mBAAmB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAI1D;;;;;;OAMG;IACG,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIrF;;;;;;OAMG;IACG,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,yBAAyB,GAAG,OAAO,CAAC,WAAW,CAAC;IAI7G;;;;;;OAMG;IACG,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI5F;;;;;;OAMG;IACG,+BAA+B,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,0CAA0C,GAAG,OAAO,CAAC,WAAW,CAAC;IAIvI;;;;;;;OAOG;IACG,gCAAgC,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,0CAA0C,GAAG,OAAO,CAAC,WAAW,CAAC;IAI9J;;;;;;OAMG;IACG,gCAAgC,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAItG;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAItD;;;;;OAKG;IACG,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAI5E;;;;;OAKG;IACG,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAIpF;;;;OAIG;IACH,cAAc,IAAI,WAAW;CAG9B"}
@@ -0,0 +1,27 @@
1
+ import { PersApiClient } from '../core/pers-api-client';
2
+ import { DonationSDK } from '../donation';
3
+ import type { DonationTypeDTO } from '../shared/interfaces/pers-shared-lib.interfaces';
4
+ /**
5
+ * Donation Manager - Clean, high-level interface for donation operations
6
+ *
7
+ * Provides a simplified API for common donation tasks while maintaining
8
+ * access to the full donation SDK for advanced use cases.
9
+ */
10
+ export declare class DonationManager {
11
+ private apiClient;
12
+ private donationSDK;
13
+ constructor(apiClient: PersApiClient);
14
+ /**
15
+ * Get available donation types
16
+ *
17
+ * @returns Promise resolving to array of donation types
18
+ */
19
+ getDonationTypes(): Promise<DonationTypeDTO[]>;
20
+ /**
21
+ * Get the full donation SDK for advanced operations
22
+ *
23
+ * @returns DonationSDK instance
24
+ */
25
+ getDonationSDK(): DonationSDK;
26
+ }
27
+ //# sourceMappingURL=donation-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"donation-manager.d.ts","sourceRoot":"","sources":["../../src/managers/donation-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAqB,WAAW,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAEvF;;;;;GAKG;AACH,qBAAa,eAAe;IAGd,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,WAAW,CAAc;gBAEb,SAAS,EAAE,aAAa;IAI5C;;;;OAIG;IACG,gBAAgB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAIpD;;;;OAIG;IACH,cAAc,IAAI,WAAW;CAG9B"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Domain Managers - High-level facades for PERS SDK domains
3
+ *
4
+ * Provides clean, intuitive interfaces for common operations while maintaining
5
+ * access to the full underlying SDK capabilities.
6
+ */
7
+ export { AuthManager } from './auth-manager';
8
+ export { UserManager } from './user-manager';
9
+ export { TokenManager } from './token-manager';
10
+ export { BusinessManager } from './business-manager';
11
+ export { CampaignManager } from './campaign-manager';
12
+ export { RedemptionManager } from './redemption-manager';
13
+ export { TransactionManager } from './transaction-manager';
14
+ export { PaymentManager } from './payment-manager';
15
+ export { TenantManager } from './tenant-manager';
16
+ export { AnalyticsManager } from './analytics-manager';
17
+ export { DonationManager } from './donation-manager';
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { PersApiClient } from '../core/pers-api-client';
2
+ import { PaymentSDK } from '../payment';
3
+ import type { PaymentIntentDTO, PurchaseDTO, PurchaseTokenDTO } from '../shared/interfaces/pers-shared-lib.interfaces';
4
+ /**
5
+ * Payment Manager - Clean, high-level interface for payment operations
6
+ *
7
+ * Provides a simplified API for common payment management tasks while maintaining
8
+ * access to the full payment SDK for advanced use cases.
9
+ */
10
+ export declare class PaymentManager {
11
+ private apiClient;
12
+ private paymentSDK;
13
+ constructor(apiClient: PersApiClient);
14
+ /**
15
+ * Create a payment intent
16
+ *
17
+ * @param amount - Payment amount
18
+ * @param currency - Payment currency
19
+ * @param receiptEmail - Receipt email
20
+ * @param description - Payment description
21
+ * @returns Promise resolving to created payment intent
22
+ */
23
+ createPaymentIntent(amount: number, currency: string, receiptEmail: string, description: string): Promise<PaymentIntentDTO>;
24
+ /**
25
+ * Get active purchase tokens
26
+ *
27
+ * @param active - Filter by active status
28
+ * @returns Promise resolving to purchase tokens
29
+ */
30
+ getActivePurchaseTokens(active?: boolean): Promise<PurchaseTokenDTO[]>;
31
+ /**
32
+ * Get all user purchases
33
+ *
34
+ * @returns Promise resolving to array of user's purchases
35
+ */
36
+ getAllUserPurchases(): Promise<PurchaseDTO[]>;
37
+ /**
38
+ * Get the full payment SDK for advanced operations
39
+ *
40
+ * @returns PaymentSDK instance
41
+ */
42
+ getPaymentSDK(): PaymentSDK;
43
+ }
44
+ //# sourceMappingURL=payment-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-manager.d.ts","sourceRoot":"","sources":["../../src/managers/payment-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAoB,UAAU,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EACV,gBAAgB,EAEhB,WAAW,EAIX,gBAAgB,EACjB,MAAM,iDAAiD,CAAC;AAEzD;;;;;GAKG;AACH,qBAAa,cAAc;IAGb,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,UAAU,CAAa;gBAEX,SAAS,EAAE,aAAa;IAI5C;;;;;;;;OAQG;IACG,mBAAmB,CACvB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,CAAC;IAI5B;;;;;OAKG;IACG,uBAAuB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAI5E;;;;OAIG;IACG,mBAAmB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAInD;;;;OAIG;IACH,aAAa,IAAI,UAAU;CAG5B"}
@@ -0,0 +1,91 @@
1
+ import { PersApiClient } from '../core/pers-api-client';
2
+ import { RedemptionSDK } from '../redemption';
3
+ import type { RedemptionDTO, RedemptionCreateRequestDTO, RedemptionTypeDTO, RedemptionRedeemDTO, RedemptionRedeemRequestResponseDTO, TokenUnitCreateRequestDTO } from '../shared/interfaces/pers-shared-lib.interfaces';
4
+ /**
5
+ * Redemption Manager - Clean, high-level interface for redemption operations
6
+ *
7
+ * Provides a simplified API for common redemption management tasks while maintaining
8
+ * access to the full redemption SDK for advanced use cases.
9
+ */
10
+ export declare class RedemptionManager {
11
+ private apiClient;
12
+ private redemptionSDK;
13
+ constructor(apiClient: PersApiClient);
14
+ /**
15
+ * Get all active redemption offers
16
+ *
17
+ * @returns Promise resolving to array of active redemptions
18
+ */
19
+ getActiveRedemptions(): Promise<RedemptionDTO[]>;
20
+ /**
21
+ * Get available redemption types
22
+ *
23
+ * @returns Promise resolving to array of redemption types
24
+ */
25
+ getRedemptionTypes(): Promise<RedemptionTypeDTO[]>;
26
+ /**
27
+ * Redeem a redemption offer
28
+ *
29
+ * @param redemptionId - ID of the redemption to redeem
30
+ * @returns Promise resolving to redemption result
31
+ */
32
+ redeemOffer(redemptionId: string): Promise<RedemptionRedeemRequestResponseDTO>;
33
+ /**
34
+ * Get user's redemption history
35
+ *
36
+ * @returns Promise resolving to array of user's redemptions
37
+ */
38
+ getUserRedemptions(): Promise<RedemptionRedeemDTO[]>;
39
+ /**
40
+ * Admin: Get all redemptions
41
+ *
42
+ * @param active - Filter by active status
43
+ * @returns Promise resolving to array of redemptions
44
+ */
45
+ getAllRedemptions(active?: boolean): Promise<RedemptionDTO[]>;
46
+ /**
47
+ * Admin: Create new redemption offer
48
+ *
49
+ * @param redemptionData - Redemption data
50
+ * @returns Promise resolving to created redemption
51
+ */
52
+ createRedemption(redemptionData: RedemptionCreateRequestDTO): Promise<RedemptionDTO>;
53
+ /**
54
+ * Admin: Update redemption
55
+ *
56
+ * @param redemptionId - ID of redemption to update
57
+ * @param redemptionData - Updated redemption data
58
+ * @returns Promise resolving to updated redemption
59
+ */
60
+ updateRedemption(redemptionId: string, redemptionData: RedemptionCreateRequestDTO): Promise<RedemptionDTO>;
61
+ /**
62
+ * Admin: Toggle redemption active status
63
+ *
64
+ * @param redemptionId - ID of redemption to toggle
65
+ * @returns Promise resolving to updated redemption
66
+ */
67
+ toggleRedemptionStatus(redemptionId: string): Promise<RedemptionDTO>;
68
+ /**
69
+ * Admin: Create redemption token unit
70
+ *
71
+ * @param redemptionId - ID of redemption
72
+ * @param tokenUnit - Token unit data
73
+ * @returns Promise resolving to updated redemption
74
+ */
75
+ createRedemptionTokenUnit(redemptionId: string, tokenUnit: TokenUnitCreateRequestDTO): Promise<RedemptionDTO>;
76
+ /**
77
+ * Admin: Delete redemption token unit
78
+ *
79
+ * @param redemptionId - ID of redemption
80
+ * @param tokenUnitId - ID of token unit to delete
81
+ * @returns Promise resolving to updated redemption
82
+ */
83
+ deleteRedemptionTokenUnit(redemptionId: string, tokenUnitId: string): Promise<RedemptionDTO>;
84
+ /**
85
+ * Get the full redemption SDK for advanced operations
86
+ *
87
+ * @returns RedemptionSDK instance
88
+ */
89
+ getRedemptionSDK(): RedemptionSDK;
90
+ }
91
+ //# sourceMappingURL=redemption-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redemption-manager.d.ts","sourceRoot":"","sources":["../../src/managers/redemption-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAuB,aAAa,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,KAAK,EACV,aAAa,EACb,0BAA0B,EAC1B,iBAAiB,EACjB,mBAAmB,EACnB,kCAAkC,EAClC,yBAAyB,EAC1B,MAAM,iDAAiD,CAAC;AAEzD;;;;;GAKG;AACH,qBAAa,iBAAiB;IAGhB,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,aAAa,CAAgB;gBAEjB,SAAS,EAAE,aAAa;IAI5C;;;;OAIG;IACG,oBAAoB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAItD;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAIxD;;;;;OAKG;IACG,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,kCAAkC,CAAC;IAIpF;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAI1D;;;;;OAKG;IACG,iBAAiB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAInE;;;;;OAKG;IACG,gBAAgB,CAAC,cAAc,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAI1F;;;;;;OAMG;IACG,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAIhH;;;;;OAKG;IACG,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI1E;;;;;;OAMG;IACG,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAInH;;;;;;OAMG;IACG,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAIlG;;;;OAIG;IACH,gBAAgB,IAAI,aAAa;CAGlC"}