@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
@@ -25,9 +25,19 @@ class TransactionApi {
25
25
  * Get transaction by ID (public endpoint)
26
26
  *
27
27
  * UPDATED: /transaction/{id} → /transactions/{id}
28
+ * UPDATED: Added support for include parameter to enrich with sender/recipient/business entities
29
+ *
30
+ * @param transactionId - Transaction ID
31
+ * @param include - Optional relations to include (sender, recipient, business)
28
32
  */
29
- async getTransactionById(transactionId) {
30
- return this.apiClient.get(`${this.basePath}/${transactionId}`);
33
+ async getTransactionById(transactionId, include) {
34
+ let url = `${this.basePath}/${transactionId}`;
35
+ if (include && include.length > 0) {
36
+ const params = new URLSearchParams();
37
+ include.forEach(relation => params.append('include', relation));
38
+ url += `?${params.toString()}`;
39
+ }
40
+ return this.apiClient.get(url);
31
41
  }
32
42
  /**
33
43
  * Unique method to create a transaction
@@ -41,13 +51,78 @@ class TransactionApi {
41
51
  // ==========================================
42
52
  // AUTHENTICATED USER OPERATIONS
43
53
  // ==========================================
54
+ /**
55
+ * Helper to build query params from TransactionQueryOptions
56
+ * Handles all filter options and include parameter
57
+ */
58
+ buildTransactionQueryParams(options) {
59
+ const params = paginationUtils.buildPaginationParams(options);
60
+ if (!options)
61
+ return params;
62
+ // Search and identification filters
63
+ if (options.search)
64
+ params.append('search', options.search);
65
+ if (options.participantId)
66
+ params.append('participantId', options.participantId);
67
+ if (options.participantAddress)
68
+ params.append('participantAddress', options.participantAddress);
69
+ // Business and process filters
70
+ if (options.engagedBusinessId)
71
+ params.append('engagedBusinessId', options.engagedBusinessId);
72
+ if (options.businessScopeId)
73
+ params.append('businessScopeId', options.businessScopeId);
74
+ if (options.triggerProcessId)
75
+ params.append('triggerProcessId', options.triggerProcessId);
76
+ // Token filters
77
+ if (options.tokenAddress)
78
+ params.append('tokenAddress', options.tokenAddress);
79
+ if (options.tokenType) {
80
+ if (Array.isArray(options.tokenType)) {
81
+ options.tokenType.forEach(type => params.append('tokenType', type));
82
+ }
83
+ else {
84
+ params.append('tokenType', options.tokenType);
85
+ }
86
+ }
87
+ // Transaction classification filters (arrays or single values)
88
+ if (options.role) {
89
+ if (Array.isArray(options.role)) {
90
+ options.role.forEach(role => params.append('role', role));
91
+ }
92
+ else {
93
+ params.append('role', options.role);
94
+ }
95
+ }
96
+ if (options.status) {
97
+ if (Array.isArray(options.status)) {
98
+ options.status.forEach(status => params.append('status', status));
99
+ }
100
+ else {
101
+ params.append('status', options.status);
102
+ }
103
+ }
104
+ if (options.type) {
105
+ if (Array.isArray(options.type)) {
106
+ options.type.forEach(type => params.append('type', type));
107
+ }
108
+ else {
109
+ params.append('type', options.type);
110
+ }
111
+ }
112
+ // Include relations for entity enrichment
113
+ if (options.include && options.include.length > 0) {
114
+ options.include.forEach(relation => params.append('include', relation));
115
+ }
116
+ return params;
117
+ }
44
118
  /**
45
119
  * AUTH: Get user transaction history with role-based filtering and pagination
46
120
  *
47
- * UPDATED: Uses consolidated /transactions/me endpoint with role parameter
48
- * FIXED: Now correctly returns paginated response (was incorrectly unwrapping to array)
121
+ * UPDATED: Uses consolidated /transactions/me endpoint with all filter options
122
+ * UPDATED: Added support for include parameter to enrich with sender/recipient/business entities
123
+ * UPDATED: Now supports all TransactionFiltersDTO filters (triggerProcessId, status, type, etc.)
49
124
  *
50
- * @param options - Pagination and filter options
125
+ * @param options - Pagination, filter, and include options
51
126
  * @returns Paginated list of user's transactions
52
127
  *
53
128
  * @example
@@ -55,24 +130,30 @@ class TransactionApi {
55
130
  * // Get first page of all transactions
56
131
  * const page1 = await transactionApi.getUserTransactionHistory();
57
132
  *
58
- * // Filter by role
59
- * const sent = await transactionApi.getUserTransactionHistory({
133
+ * // Filter by role and status
134
+ * const completed = await transactionApi.getUserTransactionHistory({
60
135
  * role: TransactionRole.SENDER,
136
+ * status: TransactionStatus.COMPLETED,
61
137
  * page: 1,
62
138
  * limit: 50
63
139
  * });
64
140
  *
65
- * // Access data and pagination
66
- * console.log(`Showing ${page1.data.length} of ${page1.pagination.total} transactions`);
141
+ * // Filter by trigger process (e.g., from campaign claim or redemption)
142
+ * const claimTransactions = await transactionApi.getUserTransactionHistory({
143
+ * triggerProcessId: 'claim-abc123',
144
+ * include: ['sender', 'recipient', 'business']
145
+ * });
146
+ *
147
+ * // Access included entities
148
+ * claimTransactions.data.forEach(tx => {
149
+ * if (tx.included?.engagedBusiness) {
150
+ * console.log('Business:', tx.included.engagedBusiness.displayName);
151
+ * }
152
+ * });
67
153
  * ```
68
154
  */
69
155
  async getUserTransactionHistory(options) {
70
- const params = paginationUtils.buildPaginationParams(options);
71
- // Add role parameter if specified
72
- if (options?.role) {
73
- params.set('role', options.role);
74
- }
75
- // Backend already returns PaginatedResponseDTO - return it directly
156
+ const params = this.buildTransactionQueryParams(options);
76
157
  return this.apiClient.get(`${this.basePath}/me?${params.toString()}`);
77
158
  }
78
159
  /**
@@ -122,45 +203,17 @@ class TransactionApi {
122
203
  async prepareClientSignedTransaction(request) {
123
204
  return this.apiClient.post(`${this.basePath}`, request);
124
205
  }
125
- /**
126
- * ADMIN: Get all tenant transactions with pagination and filtering
127
- *
128
- * UPDATED: /transaction/admin → /transactions
129
- * FIXED: Now correctly returns paginated response (was incorrectly unwrapping to array)
130
- *
131
- * @param options - Pagination and filter options
132
- * @returns Paginated list of tenant transactions
133
- *
134
- * @example
135
- * ```typescript
136
- * // Get first page
137
- * const page1 = await transactionApi.getTenantTransactions();
138
- *
139
- * // Get specific page with custom limit
140
- * const page2 = await transactionApi.getTenantTransactions({
141
- * page: 2,
142
- * limit: 100
143
- * });
144
- *
145
- * // Access data
146
- * page1.data.forEach(tx => console.log(tx.id));
147
- * ```
148
- *
149
- * @deprecated Consider using getPaginatedTransactions() for more advanced filtering
150
- */
151
- async getTenantTransactions(options) {
152
- const params = paginationUtils.buildPaginationParams(options);
153
- // Backend already returns PaginatedResponseDTO - return it directly
154
- return this.apiClient.get(`${this.basePath}?${params.toString()}`);
155
- }
156
206
  /**
157
207
  * ADMIN: Get paginated transactions with filtering and sorting
158
208
  *
159
209
  * UPDATED: /transaction/admin → /transactions (same endpoint, better structure)
210
+ *
211
+ * @param options - Pagination request with filters and optional include relations
160
212
  */
161
- async getPaginatedTransactions(params) {
162
- const queryString = this.buildQueryParams(params).toString();
163
- return this.apiClient.get(`${this.basePath}?${queryString}`);
213
+ async getPaginatedTransactions(options) {
214
+ const queryString = this.buildQueryParams(options).toString();
215
+ const fullUrl = `${this.basePath}?${queryString}`;
216
+ return this.apiClient.get(fullUrl);
164
217
  }
165
218
  /**
166
219
  * ADMIN: Export transactions to CSV
@@ -214,7 +267,7 @@ class TransactionApi {
214
267
  }
215
268
  /**
216
269
  * Helper to convert DTO object to URLSearchParams
217
- * Handles nested 'filters' object and arrays correctly.
270
+ * Handles nested 'filters' object, arrays, and include parameter correctly.
218
271
  */
219
272
  buildQueryParams(params) {
220
273
  const query = new URLSearchParams();
@@ -227,7 +280,11 @@ class TransactionApi {
227
280
  query.append('sortBy', params.sortBy);
228
281
  if (params.sortOrder)
229
282
  query.append('sortOrder', params.sortOrder);
230
- // 2. Handle Nested Filters
283
+ // 2. Handle Include Relations (root level)
284
+ if (params.include && params.include.length > 0) {
285
+ params.include.forEach((relation) => query.append('include', relation));
286
+ }
287
+ // 3. Handle Nested Filters
231
288
  if (params.filters) {
232
289
  Object.entries(params.filters).forEach(([key, value]) => {
233
290
  // Skip undefined/null values
@@ -265,9 +322,12 @@ class TransactionService {
265
322
  }
266
323
  /**
267
324
  * Get transaction by ID
325
+ *
326
+ * @param transactionId - Transaction ID
327
+ * @param include - Optional relations to include (sender, recipient, business)
268
328
  */
269
- async getTransactionById(transactionId) {
270
- return this.transactionApi.getTransactionById(transactionId);
329
+ async getTransactionById(transactionId, include) {
330
+ return this.transactionApi.getTransactionById(transactionId, include);
271
331
  }
272
332
  // ==========================================
273
333
  // AUTHENTICATED OPERATIONS
@@ -285,14 +345,13 @@ class TransactionService {
285
345
  return this.transactionApi.submitSignedTransaction(signedTxData);
286
346
  }
287
347
  /**
288
- * AUTH: Get user transaction history by type with pagination
348
+ * AUTH: Get user transaction history with comprehensive filtering
289
349
  *
290
- * @param role - Optional transaction role filter
291
- * @param options - Pagination options
350
+ * @param options - Query options including filters, pagination, and include relations
292
351
  * @returns Paginated transaction history
293
352
  */
294
- async getUserTransactionHistory(role, options) {
295
- return this.transactionApi.getUserTransactionHistory({ role, ...options });
353
+ async getUserTransactionHistory(options) {
354
+ return this.transactionApi.getUserTransactionHistory(options);
296
355
  }
297
356
  /**
298
357
  * AUTH: Prepare existing transaction for client-side signing
@@ -324,20 +383,11 @@ class TransactionService {
324
383
  /* async createAdminTransaction(request: TransactionRequestDTO): Promise<TransactionRequestResponseDTO> {
325
384
  return this.transactionApi.createAdminTransaction(request);
326
385
  } */
327
- /**
328
- * ADMIN: Get all tenant transactions with pagination
329
- *
330
- * @param options - Pagination options
331
- * @returns Paginated tenant transactions
332
- */
333
- async getTenantTransactions(options) {
334
- return this.transactionApi.getTenantTransactions(options || {});
335
- }
336
386
  /**
337
387
  * ADMIN: Get paginated transactions with filtering and sorting
338
388
  */
339
- async getPaginatedTransactions(params) {
340
- return this.transactionApi.getPaginatedTransactions(params);
389
+ async getPaginatedTransactions(options) {
390
+ return this.transactionApi.getPaginatedTransactions(options);
341
391
  }
342
392
  /**
343
393
  * ADMIN: Export transactions to CSV
@@ -722,4 +772,4 @@ exports.buildPendingTransactionData = buildPendingTransactionData;
722
772
  exports.buildSubmissionRequest = buildSubmissionRequest;
723
773
  exports.buildTransferRequest = buildTransferRequest;
724
774
  exports.extractDeadlineFromSigningData = extractDeadlineFromSigningData;
725
- //# sourceMappingURL=transaction-request.builder-BpgtuMMq.cjs.map
775
+ //# sourceMappingURL=transaction-request.builder-B7n7tc1e.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-request.builder-B7n7tc1e.cjs","sources":["../../src/transaction/api/transaction-api.ts","../../src/transaction/services/transaction-service.ts","../../src/transaction/models/transaction-request.builder.ts"],"sourcesContent":[null,null,null],"names":["buildPaginationParams","TransactionRole","Web3TransactionType","AccountOwnerType"],"mappings":";;;;;AAYA;;;;;;;;;;;;AAYG;MACU,cAAc,CAAA;AACzB,IAAA,WAAA,CAAoB,SAAwB,EAAA;QAAxB,IAAA,CAAA,SAAS,GAAT,SAAS;QAEZ,IAAA,CAAA,QAAQ,GAAG,eAAe;IAFI;AAI/C;;;;;;;;AAQG;AACH,IAAA,MAAM,kBAAkB,CACtB,aAAqB,EACrB,OAAsC,EAAA;QAEtC,IAAI,GAAG,GAAG,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,CAAA,EAAI,aAAa,CAAA,CAAE;QAE7C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACjC,YAAA,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE;AACpC,YAAA,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC/D,YAAA,GAAG,IAAI,CAAA,CAAA,EAAI,MAAM,CAAC,QAAQ,EAAE,EAAE;QAChC;QAEA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAiB,GAAG,CAAC;IAChD;AAGA;;;;AAIG;IACH,MAAM,iBAAiB,CAAC,OAA8B,EAAA;AACpD,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAgC,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,CAAE,EAAE,OAAO,CAAC;;IAExF;;;;AAMA;;;AAGG;AACK,IAAA,2BAA2B,CAAC,OAAiC,EAAA;AACnE,QAAA,MAAM,MAAM,GAAGA,qCAAqB,CAAC,OAAO,CAAC;AAE7C,QAAA,IAAI,CAAC,OAAO;AAAE,YAAA,OAAO,MAAM;;QAG3B,IAAI,OAAO,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC;QAC3D,IAAI,OAAO,CAAC,aAAa;YAAE,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,aAAa,CAAC;QAChF,IAAI,OAAO,CAAC,kBAAkB;YAAE,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,OAAO,CAAC,kBAAkB,CAAC;;QAG/F,IAAI,OAAO,CAAC,iBAAiB;YAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC,iBAAiB,CAAC;QAC5F,IAAI,OAAO,CAAC,eAAe;YAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,eAAe,CAAC;QACtF,IAAI,OAAO,CAAC,gBAAgB;YAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,gBAAgB,CAAC;;QAGzF,IAAI,OAAO,CAAC,YAAY;YAAE,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC;AAC7E,QAAA,IAAI,OAAO,CAAC,SAAS,EAAE;YACrB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AACpC,gBAAA,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACrE;iBAAO;gBACL,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC;YAC/C;QACF;;AAGA,QAAA,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AAC/B,gBAAA,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC3D;iBAAO;gBACL,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC;YACrC;QACF;AAEA,QAAA,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACjC,gBAAA,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACnE;iBAAO;gBACL,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC;YACzC;QACF;AAEA,QAAA,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AAC/B,gBAAA,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC3D;iBAAO;gBACL,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC;YACrC;QACF;;AAGA,QAAA,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACjD,YAAA,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACzE;AAEA,QAAA,OAAO,MAAM;IACf;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCG;IACH,MAAM,yBAAyB,CAAC,OAAiC,EAAA;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC;AACxD,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CACvB,CAAA,EAAG,IAAI,CAAC,QAAQ,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAA,CAAE,CAC3C;IACH;AAEA;;;;AAIG;IACH,MAAM,0BAA0B,CAAC,aAAqB,EAAA;AACpD,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAgC,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,CAAA,EAAI,aAAa,CAAA,QAAA,CAAU,CAAC;IACvG;AAEA;;;;AAIG;IACH,MAAM,uBAAuB,CAAC,YAA6C,EAAA;AACzE,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAgC,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,OAAA,CAAS,EAAE,YAAY,CAAC;IACpG;;;;AAMA;;;;AAIG;AACH;;AAEI;;;;AAMJ;;;;AAIG;AACH;;;AAGI;AAEJ;;;;AAIG;IACH,MAAM,8BAA8B,CAAC,OAA8B,EAAA;AACjE,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAgC,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,CAAE,EAAE,OAAO,CAAC;IACxF;AAEA;;;;;;AAMG;IACH,MAAM,wBAAwB,CAC5B,OAEC,EAAA;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;QAC7D,MAAM,OAAO,GAAG,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,CAAA,EAAI,WAAW,CAAA,CAAE;QAEjD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAuC,OAAO,CAAC;IAC1E;AAEA;;;;AAIG;AACH,IAAA,MAAM,qBAAqB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAO,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,WAAA,CAAa,EAAE,MAAM,CAAC;IACxE;;;;AAMA;;;;AAIG;AACH;;AAEC;IACD,MAAM,yBAAyB,CAAC,eAAmC,EAAA;;QAEjE,MAAM,WAAW,GAA2B,EAAE;AAE9C,QAAA,IAAI,eAAe,CAAC,SAAS,EAAE;AAC7B,YAAA,WAAW,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC,SAAS;QAC1D;QACA,WAAW,CAAC,MAAM,CAAC,GAAGC,0BAAe,CAAC,MAAM,CAAC,QAAQ,EAAE;AAEvD,QAAA,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC;AAE/C,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CACvB,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,CAAA,EAAI,MAAM,CAAC,QAAQ,EAAE,CAAA,CAAE,CACxC,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC;IAC/B;AAEA;;AAEG;IACH,MAAM,4BAA4B,CAAC,eAAmC,EAAA;;QAEpE,MAAM,WAAW,GAA2B,EAAE;AAE9C,QAAA,IAAI,eAAe,CAAC,SAAS,EAAE;AAC7B,YAAA,WAAW,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC,SAAS;QAC1D;QACA,WAAW,CAAC,MAAM,CAAC,GAAGA,0BAAe,CAAC,SAAS,CAAC,QAAQ,EAAE;AAE1D,QAAA,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC;AAE/C,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CACvB,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,CAAA,EAAI,MAAM,CAAC,QAAQ,EAAE,CAAA,CAAE,CACxC,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC;IAC/B;AAEA;;;;AAIG;IACH,MAAM,uBAAuB,CAAC,gBAAgD,EAAA;AAC5E,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAkC,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,UAAA,CAAY,EAAE,gBAAgB,CAAC;IAC7G;AAEA;;;AAGG;AACK,IAAA,gBAAgB,CAAC,MAAoF,EAAA;AAC3G,QAAA,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE;;AAGnC,QAAA,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;AAAE,YAAA,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC3E,QAAA,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;AAAE,YAAA,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC9E,IAAI,MAAM,CAAC,MAAM;YAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;QACxD,IAAI,MAAM,CAAC,SAAS;YAAE,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC;;AAGjE,QAAA,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/C,YAAA,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAoC,KAAK,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACrG;;AAGA,QAAA,IAAI,MAAM,CAAC,OAAO,EAAE;AAClB,YAAA,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;;gBAEtD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE;oBAAE;AAE3D,gBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;;oBAExB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1D;qBAAO;;;;;oBAML,MAAM,WAAW,GAAG,CAAC,KAAK,YAAY,IAAI,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;AACjF,oBAAA,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC;gBAChC;AACF,YAAA,CAAC,CAAC;QACJ;AAEA,QAAA,OAAO,KAAK;IACd;AACD;;AC5VD;;;;;;;AAOG;MACU,kBAAkB,CAAA;AAC7B,IAAA,WAAA,CAAoB,cAA8B,EAAA;QAA9B,IAAA,CAAA,cAAc,GAAd,cAAc;IAAmB;AAErD;;;;;AAKG;AACH,IAAA,MAAM,kBAAkB,CACtB,aAAqB,EACrB,OAAsC,EAAA;QAEtC,OAAO,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,aAAa,EAAE,OAAO,CAAC;IACvE;;;;AAMA;;AAEG;AACH;;AAEI;IAEJ,MAAM,iBAAiB,CAAC,OAA8B,EAAA;QACpD,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC;IACvD;IAEA,MAAM,uBAAuB,CAAC,YAA6C,EAAA;QACzE,OAAO,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,YAAY,CAAC;IAClE;AAEA;;;;;AAKG;IACH,MAAM,yBAAyB,CAC7B,OAAiC,EAAA;QAEjC,OAAO,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,OAAO,CAAC;IAC/D;AAEA;;AAEG;IACH,MAAM,0BAA0B,CAAC,aAAqB,EAAA;QACpD,OAAO,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,aAAa,CAAC;IACtE;AAEA;;AAEG;IACH,MAAM,8BAA8B,CAAC,OAA8B,EAAA;QACjE,OAAO,IAAI,CAAC,cAAc,CAAC,8BAA8B,CAAC,OAAO,CAAC;IACpE;;;;AAMA;;AAEG;AACH;;AAEI;;;;AAMJ;;AAEG;AACH;;AAEI;AAEJ;;AAEG;IACH,MAAM,wBAAwB,CAC5B,OAEC,EAAA;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC;IAC9D;AAEA;;AAEG;AACH,IAAA,MAAM,qBAAqB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE;IACpD;;;;AAMA;;AAEG;IACH,MAAM,yBAAyB,CAAC,eAAmC,EAAA;QACjE,OAAO,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,eAAe,CAAC;IACvE;AAEA;;AAEG;IACH,MAAM,4BAA4B,CAAC,eAAmC,EAAA;QACpE,OAAO,IAAI,CAAC,cAAc,CAAC,4BAA4B,CAAC,eAAe,CAAC;IAC1E;AAEA;;AAEG;IACH,MAAM,uBAAuB,CAAC,gBAAgD,EAAA;QAC5E,OAAO,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,gBAAgB,CAAC;IACtE;AACD;;ACvID;;;;;AAKG;AACI,MAAM,qBAAqB,GAAG;AACnC,IAAA,GAAGC,8BAAmB;;AAEtB,IAAA,kBAAkB,EAAE,oBAAoB;;AAoB1C;;;;;;AAMG;AACG,SAAU,8BAA8B,CAAC,WAAoB,EAAA;AACjE,IAAA,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ;AAAE,QAAA,OAAO,IAAI;IAEhE,MAAM,IAAI,GAAG,WAAkC;;IAG/C,IAAI,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE;AACrC,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ;IACxC;;AAGA,IAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE;AAC3B,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ;IAC/B;AAEA,IAAA,OAAO,IAAI;AACb;AAEA;;;;;;;;;;AAUG;AACG,SAAU,2BAA2B,CACzC,aAAqB,EACrB,SAAiB,EACjB,oBAA4B,SAAS,EAAA;IAErC,OAAO;QACL,aAAa;QACb,SAAS;QACT,iBAAiB;QACjB,MAAM,EAAE,qBAAqB,CAAC,kBAAkB;KACjD;AACH;AAwCA;AACA;AACA;AAEA,SAAS,kBAAkB,CAAC,IAI3B,EAAA;IACC,OAAO;QACL,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,OAAO,EAAE,IAAI,CAAC,OAAO;;AAErB,QAAA,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI;AACzE,YAAA,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe;SAC7C;KACF;AACH;AAEA,SAAS,oBAAoB,CAAC,IAI7B,EAAA;IACC,OAAO;;QAEL,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,WAAW,EAAE,IAAI,CAAC,WAAW;;QAE7B,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,KAAK;YAC9C,cAAc,EAAE,IAAI,CAAC;SACtB;KACF;AACH;AAEA;AACA;AACA;AAEA;;;;;;;;;;;;;;;AAeG;AACG,SAAU,gBAAgB,CAAC,IAUhC,EAAA;IACC,OAAO;QACL,mBAAmB,EAAEA,8BAAmB,CAAC,IAAI;QAC7C,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;AAC/B,QAAA,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC;AAC/B,QAAA,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,uBAAuB,KAAK;YAC3F,SAAS,EAAE,oBAAoB,CAAC;gBAC9B,SAAS,EAAE,IAAI,CAAC,kBAAkB;gBAClC,WAAW,EAAE,IAAI,CAAC,oBAAoB;gBACtC,cAAc,EAAE,IAAI,CAAC;aACtB;AACF,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,iBAAiB,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE;KAC5E;AACH;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCG;AACG,SAAU,gBAAgB,CAAC,IAQN,EAAA;IACzB,OAAO;QACL,mBAAmB,EAAEA,8BAAmB,CAAC,IAAI;QAC7C,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;AAC/B,QAAA,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC;;QAE/B,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,oBAAoB,KAAK;YACxD,MAAM,EAAE,oBAAoB,CAAC;gBAC3B,SAAS,EAAE,IAAI,CAAC,eAAe;AAC/B,gBAAA,WAAW,EAAE,IAAI,CAAC,iBAAiB,IAAIC,2BAAgB,CAAC,IAAI;gBAC5D,cAAc,EAAE,IAAI,CAAC;aACtB;AACF,SAAA;;AAED,QAAA,IAAI,IAAI,CAAC,iBAAiB,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC5E,QAAA,IAAI,IAAI,CAAC,qBAAqB,IAAI,EAAE,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC;AACxF,QAAA,IAAI,IAAI,CAAC,uBAAuB,IAAI,EAAE,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EAAE;KAC9F;AACH;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCG;AACG,SAAU,oBAAoB,CAAC,IAWV,EAAA;IACzB,OAAO;QACL,mBAAmB,EAAED,8BAAmB,CAAC,QAAQ;QACjD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;AAC/B,QAAA,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC;AAC/B,QAAA,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,oBAAoB,KAAK;YAClF,MAAM,EAAE,oBAAoB,CAAC;gBAC3B,SAAS,EAAE,IAAI,CAAC,eAAe;gBAC/B,WAAW,EAAE,IAAI,CAAC,iBAAiB;gBACnC,cAAc,EAAE,IAAI,CAAC;aACtB;AACF,SAAA;AACD,QAAA,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,uBAAuB,KAAK;YAC3F,SAAS,EAAE,oBAAoB,CAAC;gBAC9B,SAAS,EAAE,IAAI,CAAC,kBAAkB;gBAClC,WAAW,EAAE,IAAI,CAAC,oBAAoB;gBACtC,cAAc,EAAE,IAAI,CAAC;aACtB;AACF,SAAA;;AAED,QAAA,IAAI,IAAI,CAAC,iBAAiB,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC5E,QAAA,IAAI,IAAI,CAAC,qBAAqB,IAAI,EAAE,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC;AACxF,QAAA,IAAI,IAAI,CAAC,uBAAuB,IAAI,EAAE,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EAAE;KAC9F;AACH;AAEA;;;;;;;;;;;;AAYG;AACG,SAAU,sBAAsB,CAAC,MAItC,EAAA;IACC,OAAO;QACL,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,IAAI,EAAE,MAAM,CAAC,iBAAsC;AACnD,QAAA,SAAS,EAAE,MAAM,CAAC,iBAAiB,KAAK,SAAS,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS;AAChF,QAAA,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,KAAK,SAAS,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS;KACzF;AACH;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCG;AACG,SAAU,uBAAuB,CAAC,IAWvC,EAAA;AACC,IAAA,OAAO,oBAAoB,CAAC;QAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,eAAe,EAAE,IAAI,CAAC,MAAM;QAC5B,iBAAiB,EAAEC,2BAAgB,CAAC,IAAI;QACxC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB;QAC7C,kBAAkB,EAAE,IAAI,CAAC,UAAU;QACnC,oBAAoB,EAAEA,2BAAgB,CAAC,QAAQ;QAC/C,uBAAuB,EAAE,IAAI,CAAC,sBAAsB;;QAEpD,iBAAiB,EAAE,IAAI,CAAC,UAAU;QAClC,qBAAqB,EAAE,IAAI,CAAC,UAAU;QACtC,uBAAuB,EAAEA,2BAAgB,CAAC;AACU,KAAA,CAAC;AACzD;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCG;AACG,SAAU,mBAAmB,CAAC,IAUnC,EAAA;AACC,IAAA,OAAO,gBAAgB,CAAC;QACtB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,eAAe,EAAE,IAAI,CAAC,MAAM;QAC5B,iBAAiB,EAAEA,2BAAgB,CAAC,IAAI;QACxC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB;;QAE7C,iBAAiB,EAAE,IAAI,CAAC,UAAU;QAClC,qBAAqB,EAAE,IAAI,CAAC,UAAU;QACtC,uBAAuB,EAAEA,2BAAgB,CAAC;AACM,KAAA,CAAC;AACrD;;;;;;;;;;;;;;"}
@@ -23,9 +23,19 @@ class TransactionApi {
23
23
  * Get transaction by ID (public endpoint)
24
24
  *
25
25
  * UPDATED: /transaction/{id} → /transactions/{id}
26
+ * UPDATED: Added support for include parameter to enrich with sender/recipient/business entities
27
+ *
28
+ * @param transactionId - Transaction ID
29
+ * @param include - Optional relations to include (sender, recipient, business)
26
30
  */
27
- async getTransactionById(transactionId) {
28
- return this.apiClient.get(`${this.basePath}/${transactionId}`);
31
+ async getTransactionById(transactionId, include) {
32
+ let url = `${this.basePath}/${transactionId}`;
33
+ if (include && include.length > 0) {
34
+ const params = new URLSearchParams();
35
+ include.forEach(relation => params.append('include', relation));
36
+ url += `?${params.toString()}`;
37
+ }
38
+ return this.apiClient.get(url);
29
39
  }
30
40
  /**
31
41
  * Unique method to create a transaction
@@ -39,13 +49,78 @@ class TransactionApi {
39
49
  // ==========================================
40
50
  // AUTHENTICATED USER OPERATIONS
41
51
  // ==========================================
52
+ /**
53
+ * Helper to build query params from TransactionQueryOptions
54
+ * Handles all filter options and include parameter
55
+ */
56
+ buildTransactionQueryParams(options) {
57
+ const params = buildPaginationParams(options);
58
+ if (!options)
59
+ return params;
60
+ // Search and identification filters
61
+ if (options.search)
62
+ params.append('search', options.search);
63
+ if (options.participantId)
64
+ params.append('participantId', options.participantId);
65
+ if (options.participantAddress)
66
+ params.append('participantAddress', options.participantAddress);
67
+ // Business and process filters
68
+ if (options.engagedBusinessId)
69
+ params.append('engagedBusinessId', options.engagedBusinessId);
70
+ if (options.businessScopeId)
71
+ params.append('businessScopeId', options.businessScopeId);
72
+ if (options.triggerProcessId)
73
+ params.append('triggerProcessId', options.triggerProcessId);
74
+ // Token filters
75
+ if (options.tokenAddress)
76
+ params.append('tokenAddress', options.tokenAddress);
77
+ if (options.tokenType) {
78
+ if (Array.isArray(options.tokenType)) {
79
+ options.tokenType.forEach(type => params.append('tokenType', type));
80
+ }
81
+ else {
82
+ params.append('tokenType', options.tokenType);
83
+ }
84
+ }
85
+ // Transaction classification filters (arrays or single values)
86
+ if (options.role) {
87
+ if (Array.isArray(options.role)) {
88
+ options.role.forEach(role => params.append('role', role));
89
+ }
90
+ else {
91
+ params.append('role', options.role);
92
+ }
93
+ }
94
+ if (options.status) {
95
+ if (Array.isArray(options.status)) {
96
+ options.status.forEach(status => params.append('status', status));
97
+ }
98
+ else {
99
+ params.append('status', options.status);
100
+ }
101
+ }
102
+ if (options.type) {
103
+ if (Array.isArray(options.type)) {
104
+ options.type.forEach(type => params.append('type', type));
105
+ }
106
+ else {
107
+ params.append('type', options.type);
108
+ }
109
+ }
110
+ // Include relations for entity enrichment
111
+ if (options.include && options.include.length > 0) {
112
+ options.include.forEach(relation => params.append('include', relation));
113
+ }
114
+ return params;
115
+ }
42
116
  /**
43
117
  * AUTH: Get user transaction history with role-based filtering and pagination
44
118
  *
45
- * UPDATED: Uses consolidated /transactions/me endpoint with role parameter
46
- * FIXED: Now correctly returns paginated response (was incorrectly unwrapping to array)
119
+ * UPDATED: Uses consolidated /transactions/me endpoint with all filter options
120
+ * UPDATED: Added support for include parameter to enrich with sender/recipient/business entities
121
+ * UPDATED: Now supports all TransactionFiltersDTO filters (triggerProcessId, status, type, etc.)
47
122
  *
48
- * @param options - Pagination and filter options
123
+ * @param options - Pagination, filter, and include options
49
124
  * @returns Paginated list of user's transactions
50
125
  *
51
126
  * @example
@@ -53,24 +128,30 @@ class TransactionApi {
53
128
  * // Get first page of all transactions
54
129
  * const page1 = await transactionApi.getUserTransactionHistory();
55
130
  *
56
- * // Filter by role
57
- * const sent = await transactionApi.getUserTransactionHistory({
131
+ * // Filter by role and status
132
+ * const completed = await transactionApi.getUserTransactionHistory({
58
133
  * role: TransactionRole.SENDER,
134
+ * status: TransactionStatus.COMPLETED,
59
135
  * page: 1,
60
136
  * limit: 50
61
137
  * });
62
138
  *
63
- * // Access data and pagination
64
- * console.log(`Showing ${page1.data.length} of ${page1.pagination.total} transactions`);
139
+ * // Filter by trigger process (e.g., from campaign claim or redemption)
140
+ * const claimTransactions = await transactionApi.getUserTransactionHistory({
141
+ * triggerProcessId: 'claim-abc123',
142
+ * include: ['sender', 'recipient', 'business']
143
+ * });
144
+ *
145
+ * // Access included entities
146
+ * claimTransactions.data.forEach(tx => {
147
+ * if (tx.included?.engagedBusiness) {
148
+ * console.log('Business:', tx.included.engagedBusiness.displayName);
149
+ * }
150
+ * });
65
151
  * ```
66
152
  */
67
153
  async getUserTransactionHistory(options) {
68
- const params = buildPaginationParams(options);
69
- // Add role parameter if specified
70
- if (options?.role) {
71
- params.set('role', options.role);
72
- }
73
- // Backend already returns PaginatedResponseDTO - return it directly
154
+ const params = this.buildTransactionQueryParams(options);
74
155
  return this.apiClient.get(`${this.basePath}/me?${params.toString()}`);
75
156
  }
76
157
  /**
@@ -120,45 +201,17 @@ class TransactionApi {
120
201
  async prepareClientSignedTransaction(request) {
121
202
  return this.apiClient.post(`${this.basePath}`, request);
122
203
  }
123
- /**
124
- * ADMIN: Get all tenant transactions with pagination and filtering
125
- *
126
- * UPDATED: /transaction/admin → /transactions
127
- * FIXED: Now correctly returns paginated response (was incorrectly unwrapping to array)
128
- *
129
- * @param options - Pagination and filter options
130
- * @returns Paginated list of tenant transactions
131
- *
132
- * @example
133
- * ```typescript
134
- * // Get first page
135
- * const page1 = await transactionApi.getTenantTransactions();
136
- *
137
- * // Get specific page with custom limit
138
- * const page2 = await transactionApi.getTenantTransactions({
139
- * page: 2,
140
- * limit: 100
141
- * });
142
- *
143
- * // Access data
144
- * page1.data.forEach(tx => console.log(tx.id));
145
- * ```
146
- *
147
- * @deprecated Consider using getPaginatedTransactions() for more advanced filtering
148
- */
149
- async getTenantTransactions(options) {
150
- const params = buildPaginationParams(options);
151
- // Backend already returns PaginatedResponseDTO - return it directly
152
- return this.apiClient.get(`${this.basePath}?${params.toString()}`);
153
- }
154
204
  /**
155
205
  * ADMIN: Get paginated transactions with filtering and sorting
156
206
  *
157
207
  * UPDATED: /transaction/admin → /transactions (same endpoint, better structure)
208
+ *
209
+ * @param options - Pagination request with filters and optional include relations
158
210
  */
159
- async getPaginatedTransactions(params) {
160
- const queryString = this.buildQueryParams(params).toString();
161
- return this.apiClient.get(`${this.basePath}?${queryString}`);
211
+ async getPaginatedTransactions(options) {
212
+ const queryString = this.buildQueryParams(options).toString();
213
+ const fullUrl = `${this.basePath}?${queryString}`;
214
+ return this.apiClient.get(fullUrl);
162
215
  }
163
216
  /**
164
217
  * ADMIN: Export transactions to CSV
@@ -212,7 +265,7 @@ class TransactionApi {
212
265
  }
213
266
  /**
214
267
  * Helper to convert DTO object to URLSearchParams
215
- * Handles nested 'filters' object and arrays correctly.
268
+ * Handles nested 'filters' object, arrays, and include parameter correctly.
216
269
  */
217
270
  buildQueryParams(params) {
218
271
  const query = new URLSearchParams();
@@ -225,7 +278,11 @@ class TransactionApi {
225
278
  query.append('sortBy', params.sortBy);
226
279
  if (params.sortOrder)
227
280
  query.append('sortOrder', params.sortOrder);
228
- // 2. Handle Nested Filters
281
+ // 2. Handle Include Relations (root level)
282
+ if (params.include && params.include.length > 0) {
283
+ params.include.forEach((relation) => query.append('include', relation));
284
+ }
285
+ // 3. Handle Nested Filters
229
286
  if (params.filters) {
230
287
  Object.entries(params.filters).forEach(([key, value]) => {
231
288
  // Skip undefined/null values
@@ -263,9 +320,12 @@ class TransactionService {
263
320
  }
264
321
  /**
265
322
  * Get transaction by ID
323
+ *
324
+ * @param transactionId - Transaction ID
325
+ * @param include - Optional relations to include (sender, recipient, business)
266
326
  */
267
- async getTransactionById(transactionId) {
268
- return this.transactionApi.getTransactionById(transactionId);
327
+ async getTransactionById(transactionId, include) {
328
+ return this.transactionApi.getTransactionById(transactionId, include);
269
329
  }
270
330
  // ==========================================
271
331
  // AUTHENTICATED OPERATIONS
@@ -283,14 +343,13 @@ class TransactionService {
283
343
  return this.transactionApi.submitSignedTransaction(signedTxData);
284
344
  }
285
345
  /**
286
- * AUTH: Get user transaction history by type with pagination
346
+ * AUTH: Get user transaction history with comprehensive filtering
287
347
  *
288
- * @param role - Optional transaction role filter
289
- * @param options - Pagination options
348
+ * @param options - Query options including filters, pagination, and include relations
290
349
  * @returns Paginated transaction history
291
350
  */
292
- async getUserTransactionHistory(role, options) {
293
- return this.transactionApi.getUserTransactionHistory({ role, ...options });
351
+ async getUserTransactionHistory(options) {
352
+ return this.transactionApi.getUserTransactionHistory(options);
294
353
  }
295
354
  /**
296
355
  * AUTH: Prepare existing transaction for client-side signing
@@ -322,20 +381,11 @@ class TransactionService {
322
381
  /* async createAdminTransaction(request: TransactionRequestDTO): Promise<TransactionRequestResponseDTO> {
323
382
  return this.transactionApi.createAdminTransaction(request);
324
383
  } */
325
- /**
326
- * ADMIN: Get all tenant transactions with pagination
327
- *
328
- * @param options - Pagination options
329
- * @returns Paginated tenant transactions
330
- */
331
- async getTenantTransactions(options) {
332
- return this.transactionApi.getTenantTransactions(options || {});
333
- }
334
384
  /**
335
385
  * ADMIN: Get paginated transactions with filtering and sorting
336
386
  */
337
- async getPaginatedTransactions(params) {
338
- return this.transactionApi.getPaginatedTransactions(params);
387
+ async getPaginatedTransactions(options) {
388
+ return this.transactionApi.getPaginatedTransactions(options);
339
389
  }
340
390
  /**
341
391
  * ADMIN: Export transactions to CSV
@@ -709,5 +759,5 @@ function buildPOSBurnRequest(data) {
709
759
  });
710
760
  }
711
761
 
712
- export { ClientTransactionType as C, TransactionApi as T, TransactionService as a, buildPendingTransactionData as b, buildMintRequest as c, buildBurnRequest as d, extractDeadlineFromSigningData as e, buildTransferRequest as f, buildPOSTransferRequest as g, buildPOSBurnRequest as h, buildSubmissionRequest as i };
713
- //# sourceMappingURL=transaction-request.builder-C1vVVFto.js.map
762
+ export { ClientTransactionType as C, TransactionApi as T, TransactionService as a, buildMintRequest as b, buildBurnRequest as c, buildTransferRequest as d, buildPOSTransferRequest as e, buildPOSBurnRequest as f, buildSubmissionRequest as g, extractDeadlineFromSigningData as h, buildPendingTransactionData as i };
763
+ //# sourceMappingURL=transaction-request.builder-VbJpI34c.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-request.builder-VbJpI34c.js","sources":["../../src/transaction/api/transaction-api.ts","../../src/transaction/services/transaction-service.ts","../../src/transaction/models/transaction-request.builder.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
@@ -34,10 +34,7 @@ export declare class AuthApi {
34
34
  * Authenticates a user in a business context with role included in JWT.
35
35
  *
36
36
  * @param jwt - Authentication token (passkey or Firebase JWT)
37
- * @param options - Business authentication options
38
- * @param options.businessId - The business ID to authenticate as
39
- * - If user has single business membership, auto-selected
40
- * - If user has multiple memberships without businessId, throws MULTIPLE_CONTEXT_SELECTION_REQUIRED
37
+ * @param options - Business authentication options (businessId for multi-business users, auto-selected if single membership)
41
38
  * @returns Session response with business context and role in JWT
42
39
  * @throws MultipleContextSelectionError when businessId is required but not provided
43
40
  *
@@ -1 +1 @@
1
- {"version":3,"file":"auth-api.d.ts","sourceRoot":"","sources":["../../../../src/core/auth/api/auth-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EACL,sBAAsB,EAGtB,6BAA6B,EAC9B,MAAM,uDAAuD,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,OAAO;IAGN,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;gBAEhB,SAAS,EAAE,aAAa;IAE5C;;OAEG;IACG,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAQ3E;;OAEG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAQpE;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IASvG;;OAEG;IACG,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC;IASrG;;OAEG;IACG,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAGhF"}
1
+ {"version":3,"file":"auth-api.d.ts","sourceRoot":"","sources":["../../../../src/core/auth/api/auth-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EACL,sBAAsB,EAGtB,6BAA6B,EAC9B,MAAM,uDAAuD,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,OAAO;IAGN,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;gBAEhB,SAAS,EAAE,aAAa;IAE5C;;OAEG;IACG,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAQ3E;;OAEG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAQpE;;;;;;;;;;;;;;;;;;OAkBG;IACG,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IASvG;;OAEG;IACG,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC;IASrG;;OAEG;IACG,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAGhF"}
@@ -5,7 +5,7 @@
5
5
  export type { RawUserData } from './services/auth-service';
6
6
  export * from './auth-provider.interface';
7
7
  export { DefaultAuthProvider } from './default-auth-provider';
8
- export { StaticJwtAuthProvider } from './static-jwt-auth-provider';
8
+ export { StaticJwtAuthProvider, type StaticJwtAuthProviderConfig } from './static-jwt-auth-provider';
9
9
  export type { TokenStorage } from './token-storage';
10
10
  export { LocalStorageTokenStorage, MemoryTokenStorage, AuthTokenManager } from './token-storage';
11
11
  export * from './api/auth-api';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/auth/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGjG,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AAGxC,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/auth/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,KAAK,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAGrG,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGjG,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AAGxC,cAAc,QAAQ,CAAC"}