@explorins/pers-sdk 2.1.3 → 2.1.6

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 (127) hide show
  1. package/dist/analytics/api/analytics-api.d.ts +175 -1
  2. package/dist/analytics/api/analytics-api.d.ts.map +1 -1
  3. package/dist/analytics/models/index.d.ts +2 -5
  4. package/dist/analytics/models/index.d.ts.map +1 -1
  5. package/dist/analytics/services/analytics-service.d.ts +32 -1
  6. package/dist/analytics/services/analytics-service.d.ts.map +1 -1
  7. package/dist/analytics.cjs +9 -44
  8. package/dist/analytics.cjs.map +1 -1
  9. package/dist/analytics.js +2 -45
  10. package/dist/analytics.js.map +1 -1
  11. package/dist/campaign/api/campaign-api.d.ts +59 -4
  12. package/dist/campaign/api/campaign-api.d.ts.map +1 -1
  13. package/dist/campaign/index.d.ts +1 -0
  14. package/dist/campaign/index.d.ts.map +1 -1
  15. package/dist/campaign/models/index.d.ts +31 -0
  16. package/dist/campaign/models/index.d.ts.map +1 -0
  17. package/dist/campaign/services/campaign-service.d.ts +49 -7
  18. package/dist/campaign/services/campaign-service.d.ts.map +1 -1
  19. package/dist/campaign.cjs +150 -14
  20. package/dist/campaign.cjs.map +1 -1
  21. package/dist/campaign.js +150 -14
  22. package/dist/campaign.js.map +1 -1
  23. package/dist/chunks/analytics-service-B9IfG6ox.js +271 -0
  24. package/dist/chunks/analytics-service-B9IfG6ox.js.map +1 -0
  25. package/dist/chunks/analytics-service-DwkeBB08.cjs +274 -0
  26. package/dist/chunks/analytics-service-DwkeBB08.cjs.map +1 -0
  27. package/dist/chunks/{pers-sdk-fWg-J3_h.js → pers-sdk-BtvhucPY.js} +845 -208
  28. package/dist/chunks/pers-sdk-BtvhucPY.js.map +1 -0
  29. package/dist/chunks/{pers-sdk-BQw3QUWR.cjs → pers-sdk-D4XVDZk3.cjs} +847 -209
  30. package/dist/chunks/pers-sdk-D4XVDZk3.cjs.map +1 -0
  31. package/dist/chunks/{redemption-service-rMB6T2W5.cjs → redemption-service-C61Qr2vI.cjs} +34 -24
  32. package/dist/chunks/redemption-service-C61Qr2vI.cjs.map +1 -0
  33. package/dist/chunks/{redemption-service-D-hBqh42.js → redemption-service-C_UTTDag.js} +34 -24
  34. package/dist/chunks/redemption-service-C_UTTDag.js.map +1 -0
  35. package/dist/chunks/{transaction-request.builder-BpgtuMMq.cjs → transaction-request.builder-B7n7tc1e.cjs} +120 -70
  36. package/dist/chunks/transaction-request.builder-B7n7tc1e.cjs.map +1 -0
  37. package/dist/chunks/{transaction-request.builder-C1vVVFto.js → transaction-request.builder-VbJpI34c.js} +121 -71
  38. package/dist/chunks/transaction-request.builder-VbJpI34c.js.map +1 -0
  39. package/dist/core/auth/api/auth-api.d.ts +1 -4
  40. package/dist/core/auth/api/auth-api.d.ts.map +1 -1
  41. package/dist/core/auth/index.d.ts +1 -1
  42. package/dist/core/auth/index.d.ts.map +1 -1
  43. package/dist/core/auth/services/auth-service.d.ts +1 -4
  44. package/dist/core/auth/services/auth-service.d.ts.map +1 -1
  45. package/dist/core/pers-api-client.d.ts.map +1 -1
  46. package/dist/core.cjs +6 -4
  47. package/dist/core.cjs.map +1 -1
  48. package/dist/core.js +5 -4
  49. package/dist/core.js.map +1 -1
  50. package/dist/index.cjs +14 -6
  51. package/dist/index.cjs.map +1 -1
  52. package/dist/index.d.ts +6 -1
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +6 -5
  55. package/dist/index.js.map +1 -1
  56. package/dist/managers/analytics-manager.d.ts +165 -2
  57. package/dist/managers/analytics-manager.d.ts.map +1 -1
  58. package/dist/managers/auth-manager.d.ts +1 -2
  59. package/dist/managers/auth-manager.d.ts.map +1 -1
  60. package/dist/managers/campaign-manager.d.ts +186 -50
  61. package/dist/managers/campaign-manager.d.ts.map +1 -1
  62. package/dist/managers/index.d.ts +1 -0
  63. package/dist/managers/index.d.ts.map +1 -1
  64. package/dist/managers/redemption-manager.d.ts +50 -3
  65. package/dist/managers/redemption-manager.d.ts.map +1 -1
  66. package/dist/managers/transaction-manager.d.ts +70 -132
  67. package/dist/managers/transaction-manager.d.ts.map +1 -1
  68. package/dist/managers/trigger-source-manager.d.ts +185 -0
  69. package/dist/managers/trigger-source-manager.d.ts.map +1 -0
  70. package/dist/managers/user-manager.d.ts +30 -7
  71. package/dist/managers/user-manager.d.ts.map +1 -1
  72. package/dist/node.cjs +5 -4
  73. package/dist/node.cjs.map +1 -1
  74. package/dist/node.js +5 -4
  75. package/dist/node.js.map +1 -1
  76. package/dist/package.json +7 -2
  77. package/dist/pers-sdk.d.ts +33 -2
  78. package/dist/pers-sdk.d.ts.map +1 -1
  79. package/dist/redemption/api/redemption-api.d.ts +10 -18
  80. package/dist/redemption/api/redemption-api.d.ts.map +1 -1
  81. package/dist/redemption/index.d.ts +1 -0
  82. package/dist/redemption/index.d.ts.map +1 -1
  83. package/dist/redemption/models/index.d.ts +19 -0
  84. package/dist/redemption/models/index.d.ts.map +1 -1
  85. package/dist/redemption/services/redemption-service.d.ts +7 -3
  86. package/dist/redemption/services/redemption-service.d.ts.map +1 -1
  87. package/dist/redemption.cjs +1 -1
  88. package/dist/redemption.js +1 -1
  89. package/dist/shared/index.d.ts +1 -0
  90. package/dist/shared/index.d.ts.map +1 -1
  91. package/dist/transaction/api/transaction-api.d.ts +38 -42
  92. package/dist/transaction/api/transaction-api.d.ts.map +1 -1
  93. package/dist/transaction/index.d.ts +2 -1
  94. package/dist/transaction/index.d.ts.map +1 -1
  95. package/dist/transaction/models/index.d.ts +21 -0
  96. package/dist/transaction/models/index.d.ts.map +1 -1
  97. package/dist/transaction/services/transaction-service.d.ts +12 -15
  98. package/dist/transaction/services/transaction-service.d.ts.map +1 -1
  99. package/dist/transaction.cjs +1 -1
  100. package/dist/transaction.js +1 -1
  101. package/dist/trigger-source/api/trigger-source-api.d.ts +86 -0
  102. package/dist/trigger-source/api/trigger-source-api.d.ts.map +1 -0
  103. package/dist/trigger-source/index.d.ts +10 -0
  104. package/dist/trigger-source/index.d.ts.map +1 -0
  105. package/dist/trigger-source/models/index.d.ts +26 -0
  106. package/dist/trigger-source/models/index.d.ts.map +1 -0
  107. package/dist/trigger-source/services/trigger-source-service.d.ts +42 -0
  108. package/dist/trigger-source/services/trigger-source-service.d.ts.map +1 -0
  109. package/dist/trigger-source.cjs +145 -0
  110. package/dist/trigger-source.cjs.map +1 -0
  111. package/dist/trigger-source.js +142 -0
  112. package/dist/trigger-source.js.map +1 -0
  113. package/dist/user/api/user-api.d.ts +18 -1
  114. package/dist/user/api/user-api.d.ts.map +1 -1
  115. package/dist/user/services/user-service.d.ts +3 -1
  116. package/dist/user/services/user-service.d.ts.map +1 -1
  117. package/dist/user.cjs +26 -4
  118. package/dist/user.cjs.map +1 -1
  119. package/dist/user.js +26 -4
  120. package/dist/user.js.map +1 -1
  121. package/package.json +7 -2
  122. package/dist/chunks/pers-sdk-BQw3QUWR.cjs.map +0 -1
  123. package/dist/chunks/pers-sdk-fWg-J3_h.js.map +0 -1
  124. package/dist/chunks/redemption-service-D-hBqh42.js.map +0 -1
  125. package/dist/chunks/redemption-service-rMB6T2W5.cjs.map +0 -1
  126. package/dist/chunks/transaction-request.builder-BpgtuMMq.cjs.map +0 -1
  127. package/dist/chunks/transaction-request.builder-C1vVVFto.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { PersApiClient } from '../../core/pers-api-client';
2
- import { TransactionAnalyticsRequestDTO, TransactionAnalyticsResponseDTO } from '../models';
2
+ import { TransactionAnalyticsRequestDTO, TransactionAnalyticsResponseDTO, CampaignClaimAnalyticsRequestDTO, CampaignClaimAnalyticsResponseDTO, UserAnalyticsRequestDTO, UserAnalyticsResponseDTO, UserRankingAnalyticsRequestDTO, UserRankingAnalyticsResponseDTO, BusinessRankingAnalyticsRequestDTO, BusinessRankingAnalyticsResponseDTO, RetentionAnalyticsRequestDTO, RetentionAnalyticsResponseDTO } from '../models';
3
3
  /**
4
4
  * Platform-Agnostic Analytics API Client
5
5
  *
@@ -13,5 +13,179 @@ export declare class AnalyticsApi {
13
13
  * ADMIN: Get transaction analytics with filtering and aggregation
14
14
  */
15
15
  getTransactionAnalytics(request: TransactionAnalyticsRequestDTO): Promise<TransactionAnalyticsResponseDTO>;
16
+ /**
17
+ * ADMIN: Get campaign claim analytics with aggregation (charts, metrics, grouping)
18
+ *
19
+ * This endpoint is for aggregated analytics only (groupBy/metrics).
20
+ * For enriched list data with nested objects, use campaign.getClaims() instead.
21
+ *
22
+ * @example Claims per campaign
23
+ * ```typescript
24
+ * const response = await analyticsApi.getCampaignClaimAnalytics({
25
+ * filters: { status: 'COMPLETED' },
26
+ * groupBy: ['campaignId'],
27
+ * metrics: ['count'],
28
+ * sortBy: 'count',
29
+ * sortOrder: SortOrder.DESC,
30
+ * limit: 10
31
+ * });
32
+ * ```
33
+ *
34
+ * @example Claims over time by status
35
+ * ```typescript
36
+ * const response = await analyticsApi.getCampaignClaimAnalytics({
37
+ * groupBy: ['month', 'status'],
38
+ * metrics: ['count'],
39
+ * sortBy: 'month',
40
+ * sortOrder: SortOrder.DESC,
41
+ * startDate: new Date('2026-01-01'),
42
+ * endDate: new Date('2026-12-31')
43
+ * });
44
+ * ```
45
+ */
46
+ getCampaignClaimAnalytics(request: CampaignClaimAnalyticsRequestDTO): Promise<CampaignClaimAnalyticsResponseDTO>;
47
+ /**
48
+ * ADMIN: Get user analytics with engagement metrics
49
+ *
50
+ * Returns aggregated user statistics including engagement rate, active users,
51
+ * transaction metrics, and per-active-user averages (more accurate than all-user averages).
52
+ *
53
+ * Request structure matches TransactionAnalytics and CampaignClaimAnalytics for consistency:
54
+ * - filters object for business-specific scoping
55
+ * - startDate/endDate at root level for date range filtering
56
+ *
57
+ * @param request - Analytics request with optional filters and date range
58
+ * @returns Aggregated user metrics with per-user and per-active-user averages
59
+ *
60
+ * @example Basic user analytics (all time, all businesses)
61
+ * ```typescript
62
+ * const analytics = await analyticsApi.getUserAnalytics({});
63
+ * console.log(`Total users: ${analytics.totalUsers}`);
64
+ * console.log(`Active users: ${analytics.activeUsers}`);
65
+ * console.log(`Engagement rate: ${analytics.engagementRate}%`);
66
+ *
67
+ * // Per-user averages (includes inactive users)
68
+ * console.log(`Avg transactions per user: ${analytics.averageTransactionsPerUser}`);
69
+ *
70
+ * // Per-active-user averages (only engaged users - more useful!)
71
+ * console.log(`Avg transactions per active user: ${analytics.averageTransactionsPerActiveUser}`);
72
+ * ```
73
+ *
74
+ * @example Filtered by date range
75
+ * ```typescript
76
+ * const analytics = await analyticsApi.getUserAnalytics({
77
+ * startDate: new Date('2026-01-01'),
78
+ * endDate: new Date('2026-01-31')
79
+ * });
80
+ * console.log(`January metrics:`);
81
+ * console.log(`Active users: ${analytics.activeUsers}`);
82
+ * console.log(`New users: ${analytics.newUsers}`);
83
+ * console.log(`Date range applied: ${analytics.metadata.dateRange?.startDate} - ${analytics.metadata.dateRange?.endDate}`);
84
+ * ```
85
+ *
86
+ * @example Business-specific analytics with filters
87
+ * ```typescript
88
+ * const analytics = await analyticsApi.getUserAnalytics({
89
+ * filters: { businessId: 'biz-123' },
90
+ * startDate: new Date('2026-01-01'),
91
+ * endDate: new Date('2026-12-31')
92
+ * });
93
+ * console.log(`Business customer engagement in 2026:`);
94
+ * console.log(`Active customers: ${analytics.activeUsers}`);
95
+ * console.log(`Avg claims per active customer: ${analytics.averageClaimsPerActiveUser.toFixed(2)}`);
96
+ * console.log(`Customer engagement rate: ${analytics.engagementRate.toFixed(1)}%`);
97
+ * ```
98
+ */
99
+ getUserAnalytics(request?: UserAnalyticsRequestDTO): Promise<UserAnalyticsResponseDTO>;
100
+ /**
101
+ * ADMIN: Get user transaction ranking with enriched user data
102
+ *
103
+ * Returns ranked list of users with full user details and transaction metrics.
104
+ * Data enrichment happens via efficient SQL JOINs + UNION (handles legacy transactions).
105
+ *
106
+ * Use Cases:
107
+ * - Admin leaderboards showing top users by activity
108
+ * - User engagement analysis with full user context
109
+ * - Identifying power users for campaigns
110
+ *
111
+ * @param request - Ranking request with filters, sorting, and limit
112
+ * @returns Ranked list with user details (email, externalUserId) and transaction metrics
113
+ *
114
+ * @example Top 50 users by transaction count
115
+ * ```typescript
116
+ * const ranking = await analyticsApi.getUserRanking({
117
+ * sortBy: 'totalTransactions',
118
+ * sortOrder: SortOrder.DESC,
119
+ * limit: 50
120
+ * });
121
+ *
122
+ * ranking.results.forEach((user, index) => {
123
+ * console.log(`#${index + 1}: ${user.email || user.externalUserId} - ${user.totalTransactions} transactions`);
124
+ * });
125
+ * ```
126
+ *
127
+ * @example Top users by STAMP spending
128
+ * ```typescript
129
+ * const ranking = await analyticsApi.getUserRanking({
130
+ * filters: { tokenType: 'STAMP' },
131
+ * sortBy: 'tokenSpent',
132
+ * sortOrder: SortOrder.DESC,
133
+ * limit: 20
134
+ * });
135
+ * ```
136
+ *
137
+ * @example Business-specific leaderboard with date range
138
+ * ```typescript
139
+ * const ranking = await analyticsApi.getUserRanking({
140
+ * filters: {
141
+ * businessId: 'business-uuid-here',
142
+ * tokenType: 'CREDIT'
143
+ * },
144
+ * sortBy: 'totalTransactions',
145
+ * sortOrder: SortOrder.DESC,
146
+ * limit: 100,
147
+ * startDate: new Date('2026-01-01'),
148
+ * endDate: new Date('2026-12-31')
149
+ * });
150
+ * console.log(`Top ${ranking.totalUsers} users for business in 2026`);
151
+ * ```
152
+ */
153
+ getUserRanking(request?: UserRankingAnalyticsRequestDTO): Promise<UserRankingAnalyticsResponseDTO>;
154
+ /**
155
+ * ADMIN: Get business transaction ranking with enriched business data
156
+ *
157
+ * Returns ranked list of businesses with full business details and transaction metrics.
158
+ * Data enrichment happens via efficient SQL JOINs + UNION (handles legacy transactions).
159
+ *
160
+ * @param request - Ranking request with filters, sorting, and limit
161
+ * @returns Ranked list with business details and transaction metrics
162
+ *
163
+ * @example Top 50 businesses by transaction count
164
+ * ```typescript
165
+ * const ranking = await analyticsApi.getBusinessRanking({
166
+ * sortBy: 'totalTransactions',
167
+ * sortOrder: SortOrder.DESC,
168
+ * limit: 50
169
+ * });
170
+ * ```
171
+ */
172
+ getBusinessRanking(request?: BusinessRankingAnalyticsRequestDTO): Promise<BusinessRankingAnalyticsResponseDTO>;
173
+ /**
174
+ * ADMIN: Get monthly user retention analytics
175
+ *
176
+ * Returns monthly retention data with active/new/returning users and retention rates.
177
+ * Replaces 13 separate API calls with 1 efficient recursive CTE query.
178
+ *
179
+ * @param request - Retention analytics request with monthsBack and filters
180
+ * @returns Monthly retention data with user metrics and retention rates
181
+ *
182
+ * @example Last 13 months retention
183
+ * ```typescript
184
+ * const retention = await analyticsApi.getRetentionAnalytics({
185
+ * monthsBack: 13
186
+ * });
187
+ * ```
188
+ */
189
+ getRetentionAnalytics(request?: RetentionAnalyticsRequestDTO): Promise<RetentionAnalyticsResponseDTO>;
16
190
  }
17
191
  //# sourceMappingURL=analytics-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"analytics-api.d.ts","sourceRoot":"","sources":["../../../src/analytics/api/analytics-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,8BAA8B,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAC;AAG5F;;;;;GAKG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAM5C;;OAEG;IACG,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,+BAA+B,CAAC;CAGjH"}
1
+ {"version":3,"file":"analytics-api.d.ts","sourceRoot":"","sources":["../../../src/analytics/api/analytics-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,gCAAgC,EAChC,iCAAiC,EACjC,uBAAuB,EACvB,wBAAwB,EACxB,8BAA8B,EAC9B,+BAA+B,EAC/B,kCAAkC,EAClC,mCAAmC,EACnC,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,WAAW,CAAC;AAGnB;;;;;GAKG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAM5C;;OAEG;IACG,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAIhH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,yBAAyB,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,iCAAiC,CAAC;IAItH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDG;IACG,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAIhG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACG,cAAc,CAAC,OAAO,GAAE,8BAAmC,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAI5G;;;;;;;;;;;;;;;;;OAiBG;IACG,kBAAkB,CAAC,OAAO,GAAE,kCAAuC,GAAG,OAAO,CAAC,mCAAmC,CAAC;IAIxH;;;;;;;;;;;;;;;OAeG;IACG,qBAAqB,CAAC,OAAO,GAAE,4BAAiC,GAAG,OAAO,CAAC,6BAA6B,CAAC;CAGhH"}
@@ -4,9 +4,6 @@
4
4
  * Re-exports from @explorins/pers-shared for consistency with backend
5
5
  * and to provide a single import source for analytics-related types.
6
6
  */
7
- import { AnalyticsGroupByType, AnalyticsMetricType, TransactionAnalyticsRequestDTO, TransactionAnalyticsResponseDTO, TransactionAnalyticsResultItem, GroupByExpressionDTO } from '@explorins/pers-shared';
8
- export { TransactionAnalyticsRequestDTO, TransactionAnalyticsResponseDTO, TransactionAnalyticsResultItem };
9
- export type TransactionAnalyticsGroupByExpression = GroupByExpressionDTO;
10
- export type TransactionAnalyticsGroupBy = AnalyticsGroupByType;
11
- export type TransactionAnalyticsMetric = AnalyticsMetricType;
7
+ import { AnalyticsGroupByType, AnalyticsMetricType, TransactionAnalyticsRequestDTO, TransactionAnalyticsResponseDTO, TransactionAnalyticsResultItem, GroupByExpressionDTO, CampaignClaimAnalyticsRequestDTO, CampaignClaimAnalyticsResponseDTO, CampaignClaimAnalyticsFiltersDTO, SortOrder, UserAnalyticsRequestDTO, UserAnalyticsResponseDTO, UserAnalyticsFiltersDTO, UserRankingAnalyticsRequestDTO, UserRankingAnalyticsResponseDTO, UserRankingResultItemDTO, UserRankingFiltersDTO, BusinessRankingAnalyticsRequestDTO, BusinessRankingAnalyticsResponseDTO, BusinessRankingResultItemDTO, BusinessRankingFiltersDTO, RetentionAnalyticsRequestDTO, RetentionAnalyticsResponseDTO, RetentionMonthResultDTO } from '@explorins/pers-shared';
8
+ export { TransactionAnalyticsRequestDTO, TransactionAnalyticsResponseDTO, TransactionAnalyticsResultItem, CampaignClaimAnalyticsRequestDTO, CampaignClaimAnalyticsResponseDTO, CampaignClaimAnalyticsFiltersDTO, UserAnalyticsRequestDTO, UserAnalyticsResponseDTO, UserAnalyticsFiltersDTO, UserRankingAnalyticsRequestDTO, UserRankingAnalyticsResponseDTO, UserRankingResultItemDTO, UserRankingFiltersDTO, BusinessRankingAnalyticsRequestDTO, BusinessRankingAnalyticsResponseDTO, BusinessRankingResultItemDTO, BusinessRankingFiltersDTO, RetentionAnalyticsRequestDTO, RetentionAnalyticsResponseDTO, RetentionMonthResultDTO, GroupByExpressionDTO, AnalyticsGroupByType, AnalyticsMetricType, SortOrder };
12
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analytics/models/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,8BAA8B,EAC9B,+BAA+B,EAC/B,8BAA8B,EAC9B,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,8BAA8B,EAC/B,CAAC;AAEF,MAAM,MAAM,qCAAqC,GAAG,oBAAoB,CAAC;AAMzE,MAAM,MAAM,2BAA2B,GAAG,oBAAoB,CAAC;AAE/D,MAAM,MAAM,0BAA0B,GAAG,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analytics/models/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,8BAA8B,EAC9B,+BAA+B,EAC/B,8BAA8B,EAC9B,oBAAoB,EACpB,gCAAgC,EAChC,iCAAiC,EACjC,gCAAgC,EAChC,SAAS,EACT,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,8BAA8B,EAC9B,+BAA+B,EAC/B,wBAAwB,EACxB,qBAAqB,EACrB,kCAAkC,EAClC,mCAAmC,EACnC,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,6BAA6B,EAC7B,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,8BAA8B,EAC9B,gCAAgC,EAChC,iCAAiC,EACjC,gCAAgC,EAChC,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,8BAA8B,EAC9B,+BAA+B,EAC/B,wBAAwB,EACxB,qBAAqB,EACrB,kCAAkC,EAClC,mCAAmC,EACnC,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,6BAA6B,EAC7B,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,EACV,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { AnalyticsApi } from '../api/analytics-api';
2
- import { TransactionAnalyticsRequestDTO, TransactionAnalyticsResponseDTO } from '../models';
2
+ import { TransactionAnalyticsRequestDTO, TransactionAnalyticsResponseDTO, CampaignClaimAnalyticsRequestDTO, CampaignClaimAnalyticsResponseDTO, UserAnalyticsRequestDTO, UserAnalyticsResponseDTO, UserRankingAnalyticsRequestDTO, UserRankingAnalyticsResponseDTO, BusinessRankingAnalyticsRequestDTO, BusinessRankingAnalyticsResponseDTO, RetentionAnalyticsRequestDTO, RetentionAnalyticsResponseDTO } from '../models';
3
3
  /**
4
4
  * Platform-Agnostic Analytics Service
5
5
  *
@@ -15,5 +15,36 @@ export declare class AnalyticsService {
15
15
  * ADMIN: Get transaction analytics with filtering and aggregation
16
16
  */
17
17
  getTransactionAnalytics(request: TransactionAnalyticsRequestDTO): Promise<TransactionAnalyticsResponseDTO>;
18
+ /**
19
+ * ADMIN: Get campaign claim analytics with aggregation
20
+ */
21
+ getCampaignClaimAnalytics(request: CampaignClaimAnalyticsRequestDTO): Promise<CampaignClaimAnalyticsResponseDTO>;
22
+ /**
23
+ * ADMIN: Get user analytics with engagement metrics
24
+ *
25
+ * Returns aggregated user statistics including engagement rate, active users,
26
+ * transaction metrics, and claims/redemption averages.
27
+ */
28
+ getUserAnalytics(request?: UserAnalyticsRequestDTO): Promise<UserAnalyticsResponseDTO>;
29
+ /**
30
+ * ADMIN: Get user transaction ranking with enriched user data
31
+ *
32
+ * Returns ranked list of users with full user details (email, externalUserId)
33
+ * and transaction metrics. Efficient data enrichment via SQL JOINs + UNION.
34
+ */
35
+ getUserRanking(request?: UserRankingAnalyticsRequestDTO): Promise<UserRankingAnalyticsResponseDTO>;
36
+ /**
37
+ * ADMIN: Get business transaction ranking with enriched business data
38
+ *
39
+ * Returns ranked list of businesses with full business details and transaction metrics.
40
+ */
41
+ getBusinessRanking(request?: BusinessRankingAnalyticsRequestDTO): Promise<BusinessRankingAnalyticsResponseDTO>;
42
+ /**
43
+ * ADMIN: Get monthly user retention analytics
44
+ *
45
+ * Returns monthly retention data with user metrics and retention rates.
46
+ * Replaces 13 separate API calls with 1 efficient query.
47
+ */
48
+ getRetentionAnalytics(request?: RetentionAnalyticsRequestDTO): Promise<RetentionAnalyticsResponseDTO>;
18
49
  }
19
50
  //# sourceMappingURL=analytics-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"analytics-service.d.ts","sourceRoot":"","sources":["../../../src/analytics/services/analytics-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAChC,MAAM,WAAW,CAAC;AAEnB;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAM9C;;OAEG;IACG,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,+BAA+B,CAAC;CAGjH"}
1
+ {"version":3,"file":"analytics-service.d.ts","sourceRoot":"","sources":["../../../src/analytics/services/analytics-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,gCAAgC,EAChC,iCAAiC,EACjC,uBAAuB,EACvB,wBAAwB,EACxB,8BAA8B,EAC9B,+BAA+B,EAC/B,kCAAkC,EAClC,mCAAmC,EACnC,4BAA4B,EAC5B,6BAA6B,EAC9B,MAAM,WAAW,CAAC;AAEnB;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAM9C;;OAEG;IACG,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAIhH;;OAEG;IACG,yBAAyB,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,iCAAiC,CAAC;IAItH;;;;;OAKG;IACG,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAIhG;;;;;OAKG;IACG,cAAc,CAAC,OAAO,GAAE,8BAAmC,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAI5G;;;;OAIG;IACG,kBAAkB,CAAC,OAAO,GAAE,kCAAuC,GAAG,OAAO,CAAC,mCAAmC,CAAC;IAIxH;;;;;OAKG;IACG,qBAAqB,CAAC,OAAO,GAAE,4BAAiC,GAAG,OAAO,CAAC,6BAA6B,CAAC;CAGhH"}
@@ -1,49 +1,14 @@
1
1
  'use strict';
2
2
 
3
- /**
4
- * Platform-Agnostic Analytics API Client
5
- *
6
- * Handles analytics operations using the PERS backend.
7
- * Uses @explorins/pers-shared DTOs for consistency with backend.
8
- */
9
- class AnalyticsApi {
10
- constructor(apiClient) {
11
- this.apiClient = apiClient;
12
- }
13
- // ==========================================
14
- // ADMIN OPERATIONS
15
- // ==========================================
16
- /**
17
- * ADMIN: Get transaction analytics with filtering and aggregation
18
- */
19
- async getTransactionAnalytics(request) {
20
- return this.apiClient.post('/transactions/analytics', request);
21
- }
22
- }
3
+ var analyticsService = require('./chunks/analytics-service-DwkeBB08.cjs');
4
+ var persShared = require('@explorins/pers-shared');
23
5
 
24
- /**
25
- * Platform-Agnostic Analytics Service
26
- *
27
- * Contains analytics business logic and operations that work across platforms.
28
- * No framework dependencies - pure TypeScript business logic.
29
- *
30
- * Focuses only on actual backend capabilities.
31
- */
32
- class AnalyticsService {
33
- constructor(analyticsApi) {
34
- this.analyticsApi = analyticsApi;
35
- }
36
- // ==========================================
37
- // ADMIN OPERATIONS
38
- // ==========================================
39
- /**
40
- * ADMIN: Get transaction analytics with filtering and aggregation
41
- */
42
- async getTransactionAnalytics(request) {
43
- return this.analyticsApi.getTransactionAnalytics(request);
44
- }
45
- }
46
6
 
47
- exports.AnalyticsApi = AnalyticsApi;
48
- exports.AnalyticsService = AnalyticsService;
7
+
8
+ exports.AnalyticsApi = analyticsService.AnalyticsApi;
9
+ exports.AnalyticsService = analyticsService.AnalyticsService;
10
+ Object.defineProperty(exports, "SortOrder", {
11
+ enumerable: true,
12
+ get: function () { return persShared.SortOrder; }
13
+ });
49
14
  //# sourceMappingURL=analytics.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.cjs","sources":["../src/analytics/api/analytics-api.ts","../src/analytics/services/analytics-service.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;AAIA;;;;;AAKG;MACU,YAAY,CAAA;AACvB,IAAA,WAAA,CAAoB,SAAwB,EAAA;QAAxB,IAAA,CAAA,SAAS,GAAT,SAAS;IAAkB;;;;AAM/C;;AAEG;IACH,MAAM,uBAAuB,CAAC,OAAuC,EAAA;QACnE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAkC,yBAAyB,EAAE,OAAO,CAAC;IACjG;AACD;;ACjBD;;;;;;;AAOG;MACU,gBAAgB,CAAA;AAC3B,IAAA,WAAA,CAAoB,YAA0B,EAAA;QAA1B,IAAA,CAAA,YAAY,GAAZ,YAAY;IAAiB;;;;AAMjD;;AAEG;IACH,MAAM,uBAAuB,CAAC,OAAuC,EAAA;QACnE,OAAO,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,OAAO,CAAC;IAC3D;AACD;;;;;"}
1
+ {"version":3,"file":"analytics.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
package/dist/analytics.js CHANGED
@@ -1,46 +1,3 @@
1
- /**
2
- * Platform-Agnostic Analytics API Client
3
- *
4
- * Handles analytics operations using the PERS backend.
5
- * Uses @explorins/pers-shared DTOs for consistency with backend.
6
- */
7
- class AnalyticsApi {
8
- constructor(apiClient) {
9
- this.apiClient = apiClient;
10
- }
11
- // ==========================================
12
- // ADMIN OPERATIONS
13
- // ==========================================
14
- /**
15
- * ADMIN: Get transaction analytics with filtering and aggregation
16
- */
17
- async getTransactionAnalytics(request) {
18
- return this.apiClient.post('/transactions/analytics', request);
19
- }
20
- }
21
-
22
- /**
23
- * Platform-Agnostic Analytics Service
24
- *
25
- * Contains analytics business logic and operations that work across platforms.
26
- * No framework dependencies - pure TypeScript business logic.
27
- *
28
- * Focuses only on actual backend capabilities.
29
- */
30
- class AnalyticsService {
31
- constructor(analyticsApi) {
32
- this.analyticsApi = analyticsApi;
33
- }
34
- // ==========================================
35
- // ADMIN OPERATIONS
36
- // ==========================================
37
- /**
38
- * ADMIN: Get transaction analytics with filtering and aggregation
39
- */
40
- async getTransactionAnalytics(request) {
41
- return this.analyticsApi.getTransactionAnalytics(request);
42
- }
43
- }
44
-
45
- export { AnalyticsApi, AnalyticsService };
1
+ export { A as AnalyticsApi, a as AnalyticsService } from './chunks/analytics-service-B9IfG6ox.js';
2
+ export { SortOrder } from '@explorins/pers-shared';
46
3
  //# sourceMappingURL=analytics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.js","sources":["../src/analytics/api/analytics-api.ts","../src/analytics/services/analytics-service.ts"],"sourcesContent":[null,null],"names":[],"mappings":"AAIA;;;;;AAKG;MACU,YAAY,CAAA;AACvB,IAAA,WAAA,CAAoB,SAAwB,EAAA;QAAxB,IAAA,CAAA,SAAS,GAAT,SAAS;IAAkB;;;;AAM/C;;AAEG;IACH,MAAM,uBAAuB,CAAC,OAAuC,EAAA;QACnE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAkC,yBAAyB,EAAE,OAAO,CAAC;IACjG;AACD;;ACjBD;;;;;;;AAOG;MACU,gBAAgB,CAAA;AAC3B,IAAA,WAAA,CAAoB,YAA0B,EAAA;QAA1B,IAAA,CAAA,YAAY,GAAZ,YAAY;IAAiB;;;;AAMjD;;AAEG;IACH,MAAM,uBAAuB,CAAC,OAAuC,EAAA;QACnE,OAAO,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,OAAO,CAAC;IAC3D;AACD;;;;"}
1
+ {"version":3,"file":"analytics.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,4 +1,4 @@
1
- import { CampaignTriggerConditionDTO, CampaignTriggerCreateRequestDTO, PaginatedResponseDTO, SortOrder } from '@explorins/pers-shared';
1
+ import { CampaignTriggerConditionDTO, CampaignTriggerCreateRequestDTO, PaginatedResponseDTO, SortOrder, CampaignClaimIncludeRelation, CampaignIncludeRelation } from '@explorins/pers-shared';
2
2
  import { PersApiClient } from '../../core/pers-api-client';
3
3
  import { CampaignDTO, CampaignCreateRequestDTO, CampaignClaimDTO, CampaignClaimRequestDTO, CampaignTriggerDTO, CampaignBusinessEngagementCreateRequestDTO, TokenUnitCreateRequestDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
4
4
  import { PaginationOptions } from '../../shared/utils/pagination-utils';
@@ -23,6 +23,19 @@ export declare class CampaignApi {
23
23
  * Get campaigns with pagination support
24
24
  * Returns paginated response with metadata (total, page, limit, hasMore)
25
25
  * Intelligent access: Public gets active only, Business gets own campaigns, Admin gets all
26
+ *
27
+ * @param options - Filter, pagination, and include options
28
+ * @param options.include - Relations to include: 'triggerSources', 'businesses'
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * // Get campaigns with trigger sources included
33
+ * const campaigns = await api.getCampaigns({ include: ['triggerSources'] });
34
+ * campaigns.data.forEach(c => console.log(c.included?.triggerSources));
35
+ *
36
+ * // Get campaigns with both relations
37
+ * const full = await api.getCampaigns({ include: ['triggerSources', 'businesses'] });
38
+ * ```
26
39
  */
27
40
  getCampaigns(options?: {
28
41
  active?: boolean;
@@ -32,12 +45,24 @@ export declare class CampaignApi {
32
45
  limit?: number;
33
46
  sortBy?: 'name' | 'createdAt' | 'startDate';
34
47
  sortOrder?: SortOrder;
48
+ include?: CampaignIncludeRelation[];
35
49
  }): Promise<PaginatedResponseDTO<CampaignDTO>>;
36
50
  /**
37
51
  * PUBLIC: Get campaign by ID
38
52
  * NEW: /campaigns/{id}
53
+ *
54
+ * @param id - Campaign UUID
55
+ * @param include - Relations to include: 'triggerSources', 'businesses'
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * // Get campaign with all relations
60
+ * const campaign = await api.getCampaignById('123', ['triggerSources', 'businesses']);
61
+ * console.log(campaign.included?.triggerSources);
62
+ * console.log(campaign.included?.businesses);
63
+ * ```
39
64
  */
40
- getCampaignById(id: string): Promise<CampaignDTO>;
65
+ getCampaignById(id: string, include?: CampaignIncludeRelation[]): Promise<CampaignDTO>;
41
66
  /**
42
67
  * ADMIN: Create campaign
43
68
  * NEW: POST /campaigns
@@ -118,6 +143,14 @@ export declare class CampaignApi {
118
143
  * ```
119
144
  */
120
145
  getCampaignTriggers(options?: PaginationOptions): Promise<PaginatedResponseDTO<CampaignTriggerDTO>>;
146
+ /**
147
+ * PUBLIC: Get campaign trigger by ID
148
+ * NEW: GET /campaign-triggers/{id}
149
+ *
150
+ * @param triggerId - Campaign trigger UUID
151
+ * @returns Campaign trigger details
152
+ */
153
+ getCampaignTriggerById(triggerId: string): Promise<CampaignTriggerDTO>;
121
154
  /**
122
155
  * ADMIN: Create campaign trigger
123
156
  * NEW: POST /campaign-triggers
@@ -138,6 +171,11 @@ export declare class CampaignApi {
138
171
  * NEW: PUT /campaign-triggers/{triggerId}/assign/{campaignId}
139
172
  */
140
173
  setCampaignTrigger(campaignId: string, triggerId: string): Promise<CampaignDTO>;
174
+ /**
175
+ * ADMIN: Remove trigger from campaign (unassign)
176
+ * NEW: DELETE /campaign-triggers/{triggerId}/assign/{campaignId}
177
+ */
178
+ removeCampaignTrigger(campaignId: string, triggerId: string): Promise<CampaignDTO>;
141
179
  /**
142
180
  * ADMIN: Add/Remove condition to trigger
143
181
  * NEW: PUT /campaign-triggers/{triggerId}/conditions/{conditionId}
@@ -201,14 +239,31 @@ export declare class CampaignApi {
201
239
  limit?: number;
202
240
  sortBy?: string;
203
241
  sortOrder?: SortOrder;
204
- }): Promise<PaginatedResponseDTO<CampaignClaimDTO>>;
242
+ }, include?: CampaignClaimIncludeRelation[]): Promise<PaginatedResponseDTO<CampaignClaimDTO>>;
205
243
  /**
206
244
  * USER: Get logged-in user's own campaign claims
207
245
  * Uses /me endpoint for authenticated user context
208
246
  *
209
247
  * @param options - Pagination options
248
+ * @param include - Optional relations to include (campaign, user, business)
210
249
  * @returns Paginated list of user's claims
211
250
  */
212
- getClaimsLoggedUser(options?: PaginationOptions): Promise<PaginatedResponseDTO<CampaignClaimDTO>>;
251
+ getClaimsLoggedUser(options?: PaginationOptions, include?: CampaignClaimIncludeRelation[]): Promise<PaginatedResponseDTO<CampaignClaimDTO>>;
252
+ /**
253
+ * ADMIN: Assign a trigger source to a campaign
254
+ *
255
+ * @param campaignId - Campaign UUID
256
+ * @param triggerSourceId - Trigger source UUID
257
+ * @returns Updated campaign with trigger source assigned
258
+ */
259
+ assignTriggerSourceToCampaign(campaignId: string, triggerSourceId: string): Promise<CampaignDTO>;
260
+ /**
261
+ * ADMIN: Remove a trigger source from a campaign
262
+ *
263
+ * @param campaignId - Campaign UUID
264
+ * @param triggerSourceId - Trigger source UUID
265
+ * @returns Updated campaign with trigger source removed
266
+ */
267
+ removeTriggerSourceFromCampaign(campaignId: string, triggerSourceId: string): Promise<CampaignDTO>;
213
268
  }
214
269
  //# sourceMappingURL=campaign-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"campaign-api.d.ts","sourceRoot":"","sources":["../../../src/campaign/api/campaign-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"campaign-api.d.ts","sourceRoot":"","sources":["../../../src/campaign/api/campaign-api.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,5 @@
6
6
  */
7
7
  export { CampaignApi } from './api/campaign-api';
8
8
  export { CampaignService } from './services/campaign-service';
9
+ export type { CampaignClaimFilters, CampaignClaimQueryOptions } from './models';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/campaign/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/campaign/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,YAAY,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Campaign Domain Models
3
+ *
4
+ * SDK-specific interfaces for campaign operations
5
+ */
6
+ import { SortOrder, CampaignClaimIncludeRelation } from '@explorins/pers-shared';
7
+ import { PaginationOptions } from '../../shared/utils/pagination-utils';
8
+ /**
9
+ * Filter options for querying campaign claims
10
+ * Used with getCampaignClaims() method
11
+ */
12
+ export interface CampaignClaimFilters extends PaginationOptions {
13
+ /** Filter by specific campaign ID */
14
+ campaignId?: string;
15
+ /** Filter by user ID */
16
+ userId?: string;
17
+ /** Filter by business ID */
18
+ businessId?: string;
19
+ /** Field to sort by */
20
+ sortBy?: string;
21
+ /** Sort direction */
22
+ sortOrder?: SortOrder;
23
+ }
24
+ /**
25
+ * Query options for campaign claims with include relations
26
+ */
27
+ export interface CampaignClaimQueryOptions extends CampaignClaimFilters {
28
+ /** Relations to include for entity enrichment */
29
+ include?: CampaignClaimIncludeRelation[];
30
+ }
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/campaign/models/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC7D,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,oBAAoB;IACrE,iDAAiD;IACjD,OAAO,CAAC,EAAE,4BAA4B,EAAE,CAAC;CAC1C"}