@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,9 +1,8 @@
1
1
  import { PersApiClient } from '../core/pers-api-client';
2
2
  import { PersEventEmitter } from '../core/events';
3
- import { TransactionService } from '../transaction';
4
- import { PaginatedResponseDTO, TransactionAnalyticsRequestDTO, TransactionAnalyticsResponseDTO, TransactionPaginationRequestDTO, TransactionRequestResponseDTO, TransactionRole } from '@explorins/pers-shared';
3
+ import { TransactionService, TransactionQueryOptions } from '../transaction';
4
+ import { PaginatedResponseDTO, TransactionAnalyticsRequestDTO, TransactionAnalyticsResponseDTO, TransactionPaginationRequestDTO, TransactionRequestResponseDTO, TransactionIncludeRelation } from '@explorins/pers-shared';
5
5
  import { AccountSelectorDTO, TransactionDTO, TransactionRequestDTO, TransactionSubmissionRequestDTO } from '../shared/interfaces/pers-shared-lib.interfaces';
6
- import { PaginationOptions } from '../shared/utils/pagination-utils';
7
6
  /**
8
7
  * Transaction Manager - Clean, high-level interface for transaction operations
9
8
  *
@@ -50,8 +49,8 @@ import { PaginationOptions } from '../shared/utils/pagination-utils';
50
49
  *
51
50
  * @example Administrative Reporting
52
51
  * ```typescript
53
- * // Admin: Get all tenant transactions for analysis
54
- * const allTransactions = await sdk.transactions.getTenantTransactions();
52
+ * // Admin: Get paginated transactions for analysis
53
+ * const allTransactions = await sdk.transactions.getPaginatedTransactions({ page: 1, limit: 100 });
55
54
  *
56
55
  * // Export transaction data
57
56
  * const csvBlob = await sdk.transactions.exportTransactionsCSV();
@@ -72,13 +71,18 @@ export declare class TransactionManager {
72
71
  * Provides complete transaction audit trail and verification data.
73
72
  *
74
73
  * @param transactionId - Unique transaction identifier
74
+ * @param include - Optional relations to include (sender, recipient, business) for enriched entity data
75
75
  * @returns Promise resolving to complete transaction data
76
76
  * @throws {PersApiError} When transaction with specified ID is not found or access denied
77
77
  *
78
78
  * @example
79
79
  * ```typescript
80
80
  * try {
81
- * const transaction = await sdk.transactions.getTransactionById('txn-abc123');
81
+ * // Get transaction with enriched sender/recipient data
82
+ * const transaction = await sdk.transactions.getTransactionById(
83
+ * 'txn-abc123',
84
+ * ['sender', 'recipient', 'business']
85
+ * );
82
86
  *
83
87
  * console.log('Transaction Details:');
84
88
  * console.log('ID:', transaction.id);
@@ -91,16 +95,19 @@ export declare class TransactionManager {
91
95
  * console.log('Description:', transaction.description);
92
96
  * }
93
97
  *
94
- * if (transaction.business) {
95
- * console.log('Business:', transaction.business.displayName);
98
+ * // Access enriched sender data
99
+ * if (transaction.included?.sender) {
100
+ * console.log('Sender:', transaction.included.sender);
96
101
  * }
97
102
  *
98
- * // Show token movements
99
- * if (transaction.tokenTransfers?.length) {
100
- * console.log('\nToken Transfers:');
101
- * transaction.tokenTransfers.forEach(transfer => {
102
- * console.log(`${transfer.amount} ${transfer.token.symbol} ${transfer.direction}`);
103
- * });
103
+ * // Access enriched recipient data
104
+ * if (transaction.included?.recipient) {
105
+ * console.log('Recipient:', transaction.included.recipient);
106
+ * }
107
+ *
108
+ * // Access enriched business data
109
+ * if (transaction.included?.engagedBusiness) {
110
+ * console.log('Business:', transaction.included.engagedBusiness.displayName);
104
111
  * }
105
112
  *
106
113
  * // Show blockchain confirmation
@@ -113,7 +120,7 @@ export declare class TransactionManager {
113
120
  * }
114
121
  * ```
115
122
  */
116
- getTransactionById(transactionId: string): Promise<TransactionDTO>;
123
+ getTransactionById(transactionId: string, include?: TransactionIncludeRelation[]): Promise<TransactionDTO>;
117
124
  /**
118
125
  * Create a new transaction
119
126
  *
@@ -197,147 +204,61 @@ export declare class TransactionManager {
197
204
  /**
198
205
  * Get user's transaction history
199
206
  *
200
- * Retrieves transaction history for the authenticated user, filtered by
201
- * transaction role. Provides chronological view of all user's loyalty
207
+ * Retrieves transaction history for the authenticated user with comprehensive
208
+ * filtering options. Provides chronological view of all user's loyalty
202
209
  * activities including purchases, rewards, redemptions, and transfers.
210
+ * Optionally enrich with related entities (sender, recipient, business).
203
211
  *
204
- * @param role - Optional role filter (TransactionRole.SENDER, TransactionRole.RECIPIENT). If undefined, returns all user transactions
205
- * @param limit - Maximum number of transactions to return (default: 1000)
206
- * @returns Promise resolving to array of user's transactions
212
+ * @param options - Query options including filters, pagination, and include relations
213
+ * @returns Promise resolving to paginated transaction data with optional included entities
207
214
  *
208
215
  * @example All Transactions
209
216
  * ```typescript
210
- * const allTransactions = await sdk.transactions.getUserTransactionHistory('ALL');
217
+ * const result = await sdk.transactions.getUserTransactionHistory();
211
218
  *
212
- * console.log(` Transaction History (${allTransactions.length} transactions):`);
219
+ * console.log(`Transaction History (${result.data.length} of ${result.pagination.total} transactions)`);
213
220
  *
214
- * allTransactions.forEach((transaction, index) => {
221
+ * result.data.forEach((transaction, index) => {
215
222
  * const date = new Date(transaction.createdAt).toLocaleDateString();
216
223
  * console.log(`\n${index + 1}. ${transaction.type} - ${date}`);
217
224
  * console.log(` ${transaction.description || 'No description'}`);
218
225
  * console.log(` Status: ${transaction.status}`);
219
- *
220
- * if (transaction.amount && transaction.currency) {
221
- * console.log(` Amount: ${transaction.amount} ${transaction.currency}`);
222
- * }
223
- *
224
- * if (transaction.business) {
225
- * console.log(` Business: ${transaction.business.displayName}`);
226
- * }
227
226
  * });
228
227
  * ```
229
228
  *
230
- * @example Filtered by Type
229
+ * @example Filter by Role and Status
231
230
  * ```typescript
232
- * // Get only purchase transactions
233
- * const purchases = await sdk.transactions.getUserTransactionHistory('PURCHASE');
234
- *
235
- * let totalSpent = 0;
236
- * let totalRewards = 0;
237
- *
238
- * purchases.forEach(purchase => {
239
- * if (purchase.amount) {
240
- * totalSpent += purchase.amount;
241
- * }
242
- *
243
- * if (purchase.tokensEarned?.length) {
244
- * purchase.tokensEarned.forEach(reward => {
245
- * totalRewards += reward.amount;
246
- * });
247
- * }
231
+ * // Get only completed sent transactions
232
+ * const sent = await sdk.transactions.getUserTransactionHistory({
233
+ * role: TransactionRole.SENDER,
234
+ * status: TransactionStatus.COMPLETED,
235
+ * include: ['recipient', 'business'],
236
+ * page: 1,
237
+ * limit: 50
248
238
  * });
249
239
  *
250
- * console.log('Purchase Summary:');
251
- * console.log(`Total purchases: ${purchases.length}`);
252
- * console.log(`Total spent: $${totalSpent.toFixed(2)}`);
253
- * console.log(`Total rewards earned: ${totalRewards} points`);
254
- * ```
255
- *
256
- * @example Recent Activity
257
- * ```typescript
258
- * const recentTransactions = await sdk.transactions.getUserTransactionHistory('ALL');
259
- *
260
- * // Filter to last 30 days
261
- * const thirtyDaysAgo = new Date(Date.now() - 30 * 24 * 60 * 60 * 1000);
262
- * const recentActivity = recentTransactions.filter(t =>
263
- * new Date(t.createdAt) > thirtyDaysAgo
264
- * );
265
- *
266
- * console.log(`Recent Activity (${recentActivity.length} transactions in last 30 days):`);
267
- *
268
- * // Group by type
269
- * const activityByType = recentActivity.reduce((acc, t) => {
270
- * acc[t.type] = (acc[t.type] || 0) + 1;
271
- * return acc;
272
- * }, {});
273
- *
274
- * Object.entries(activityByType).forEach(([type, count]) => {
275
- * console.log(`${type}: ${count} transactions`);
240
+ * sent.data.forEach(tx => {
241
+ * console.log(`Sent to: ${tx.included?.recipient?.displayName || tx.recipientAddress}`);
276
242
  * });
277
243
  * ```
278
- */
279
- getUserTransactionHistory(role?: TransactionRole, options?: PaginationOptions): Promise<PaginatedResponseDTO<TransactionDTO>>;
280
- /**
281
- * Admin: Get all tenant transactions
282
- *
283
- * Retrieves all transactions across the entire tenant/organization for
284
- * comprehensive reporting and analysis. This operation requires administrator
285
- * privileges and provides system-wide transaction visibility.
286
- *
287
- * @param limit - Maximum number of transactions to return (default: 1000)
288
- * @returns Promise resolving to array of all tenant transactions
289
- * @throws {PersApiError} When not authenticated as administrator
290
244
  *
291
- * @example
245
+ * @example Filter by Trigger Process (Campaign/Redemption)
292
246
  * ```typescript
293
- * // Admin operation - comprehensive transaction analysis
294
- * const allTransactions = await sdk.transactions.getTenantTransactions();
295
- *
296
- * console.log(`Tenant Transaction Overview:`);
297
- * console.log(`Total transactions: ${allTransactions.length}`);
298
- *
299
- * // Analyze by status
300
- * const statusCounts = allTransactions.reduce((acc, t) => {
301
- * acc[t.status] = (acc[t.status] || 0) + 1;
302
- * return acc;
303
- * }, {});
304
- *
305
- * console.log('\nBy status:');
306
- * Object.entries(statusCounts).forEach(([status, count]) => {
307
- * console.log(`${status}: ${count} transactions`);
247
+ * // Get all transactions triggered by a specific campaign claim
248
+ * const claimTxs = await sdk.transactions.getUserTransactionHistory({
249
+ * triggerProcessId: 'claim-abc123',
250
+ * include: ['sender', 'recipient', 'business']
308
251
  * });
309
252
  *
310
- * // Analyze by type
311
- * const typeCounts = allTransactions.reduce((acc, t) => {
312
- * acc[t.type] = (acc[t.type] || 0) + 1;
313
- * return acc;
314
- * }, {});
315
- *
316
- * console.log('\nBy type:');
317
- * Object.entries(typeCounts).forEach(([type, count]) => {
318
- * console.log(`${type}: ${count} transactions`);
253
+ * claimTxs.data.forEach(tx => {
254
+ * console.log('Transaction from claim:', tx.id);
255
+ * if (tx.included?.engagedBusiness) {
256
+ * console.log('Business:', tx.included.engagedBusiness.displayName);
257
+ * }
319
258
  * });
320
- *
321
- * // Calculate volume metrics
322
- * const totalVolume = allTransactions.reduce((sum, t) =>
323
- * sum + (t.amount || 0), 0
324
- * );
325
- *
326
- * const avgTransactionSize = totalVolume / allTransactions.length;
327
- *
328
- * console.log('\nVolume metrics:');
329
- * console.log(`Total volume: $${totalVolume.toFixed(2)}`);
330
- * console.log(`Average transaction: $${avgTransactionSize.toFixed(2)}`);
331
- *
332
- * // Recent activity analysis
333
- * const last24Hours = allTransactions.filter(t =>
334
- * new Date(t.createdAt) > new Date(Date.now() - 24 * 60 * 60 * 1000)
335
- * );
336
- *
337
- * console.log(`\n⏰ Last 24 hours: ${last24Hours.length} transactions`);
338
259
  * ```
339
260
  */
340
- getTenantTransactions(options?: PaginationOptions): Promise<PaginatedResponseDTO<TransactionDTO>>;
261
+ getUserTransactionHistory(options?: TransactionQueryOptions): Promise<PaginatedResponseDTO<TransactionDTO>>;
341
262
  /**
342
263
  * Admin: Get paginated transactions
343
264
  *
@@ -345,7 +266,7 @@ export declare class TransactionManager {
345
266
  * handling. This operation requires administrator privileges and is used for
346
267
  * detailed transaction analysis and reporting interfaces.
347
268
  *
348
- * @param params - Pagination and filtering parameters
269
+ * @param options - Pagination, filtering parameters, and optional include relations
349
270
  * @returns Promise resolving to paginated transaction results with metadata
350
271
  * @throws {PersApiError} When not authenticated as administrator
351
272
  *
@@ -400,8 +321,25 @@ export declare class TransactionManager {
400
321
  * console.log(`$${transaction.amount} - ${transaction.business?.displayName}`);
401
322
  * });
402
323
  * ```
324
+ *
325
+ * @example With Included Relations
326
+ * ```typescript
327
+ * // Include sender and recipient entities
328
+ * const result = await sdk.transactions.getPaginatedTransactions({
329
+ * page: 1,
330
+ * limit: 50,
331
+ * include: ['sender', 'recipient', 'business']
332
+ * });
333
+ *
334
+ * result.data.forEach(tx => {
335
+ * if (tx.included?.sender) console.log('From:', tx.included.sender);
336
+ * if (tx.included?.recipient) console.log('To:', tx.included.recipient);
337
+ * });
338
+ * ```
403
339
  */
404
- getPaginatedTransactions(params: TransactionPaginationRequestDTO): Promise<PaginatedResponseDTO<TransactionDTO>>;
340
+ getPaginatedTransactions(options: TransactionPaginationRequestDTO & {
341
+ include?: TransactionIncludeRelation[];
342
+ }): Promise<PaginatedResponseDTO<TransactionDTO>>;
405
343
  /**
406
344
  * Admin: Export transactions as CSV
407
345
  *
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-manager.d.ts","sourceRoot":"","sources":["../../src/managers/transaction-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAkB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,+BAA+B,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAChN,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,MAAM,iDAAiD,CAAC;AAC7J,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,qBAAa,kBAAkB;IAI3B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,MAAM,CAAC;IAJjB,OAAO,CAAC,kBAAkB,CAAqB;gBAGrC,SAAS,EAAE,aAAa,EACxB,MAAM,CAAC,8BAAkB;IAMnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDG;IACG,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAIxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8EG;IACG,iBAAiB,CAAC,eAAe,EAAE,qBAAqB;IAa9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiFG;IACG,yBAAyB,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAInI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2DG;IACG,qBAAqB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAIvG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8DG;IACG,wBAAwB,CAAC,MAAM,EAAE,+BAA+B,GAAG,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAItH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACG,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5C;;;;;;;;OAQG;IACG,0BAA0B,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAI/F;;;;;;;;OAQG;IACG,8BAA8B,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAI5G;;;;;;;OAOG;IACG,uBAAuB,CAAC,YAAY,EAAE,+BAA+B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAapH;;;;;;;OAOG;IACG,yBAAyB,CAAC,eAAe,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAInH;;;;;;;OAOG;IACG,4BAA4B,CAAC,eAAe,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAItH;;;;;;;;OAQG;IACG,uBAAuB,CAAC,gBAAgB,EAAE,8BAA8B,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAIzH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,qBAAqB,IAAI,kBAAkB;CAG5C"}
1
+ {"version":3,"file":"transaction-manager.d.ts","sourceRoot":"","sources":["../../src/managers/transaction-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAkB,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,+BAA+B,EAAE,+BAA+B,EAAE,6BAA6B,EAAmB,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAC5O,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,MAAM,iDAAiD,CAAC;AAE7J;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,qBAAa,kBAAkB;IAI3B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,MAAM,CAAC;IAJjB,OAAO,CAAC,kBAAkB,CAAqB;gBAGrC,SAAS,EAAE,aAAa,EACxB,MAAM,CAAC,8BAAkB;IAMnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwDG;IACG,kBAAkB,CACtB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,0BAA0B,EAAE,GACrC,OAAO,CAAC,cAAc,CAAC;IAI1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8EG;IACG,iBAAiB,CAAC,eAAe,EAAE,qBAAqB;IAa9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwDG;IACG,yBAAyB,CAC7B,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAIhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6EG;IACG,wBAAwB,CAC5B,OAAO,EAAE,+BAA+B,GAAG;QACzC,OAAO,CAAC,EAAE,0BAA0B,EAAE,CAAC;KACxC,GACA,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAIhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACG,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5C;;;;;;;;OAQG;IACG,0BAA0B,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAI/F;;;;;;;;OAQG;IACG,8BAA8B,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAI5G;;;;;;;OAOG;IACG,uBAAuB,CAAC,YAAY,EAAE,+BAA+B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAapH;;;;;;;OAOG;IACG,yBAAyB,CAAC,eAAe,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAInH;;;;;;;OAOG;IACG,4BAA4B,CAAC,eAAe,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAItH;;;;;;;;OAQG;IACG,uBAAuB,CAAC,gBAAgB,EAAE,8BAA8B,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAIzH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,qBAAqB,IAAI,kBAAkB;CAG5C"}
@@ -0,0 +1,185 @@
1
+ import { PaginatedResponseDTO, TriggerSourceDTO, TriggerSourceCreateRequestDTO } from '@explorins/pers-shared';
2
+ import { PersApiClient } from '../core/pers-api-client';
3
+ import { PersEventEmitter } from '../core/events';
4
+ import { TriggerSourceService, TriggerSourceQueryOptions } from '../trigger-source';
5
+ /**
6
+ * TriggerSource Manager - Clean, high-level interface for trigger source operations
7
+ *
8
+ * Manages trigger sources which are physical or digital activation points for campaigns:
9
+ * - QR_CODE: Scannable QR codes
10
+ * - NFC_TAG: NFC tap points
11
+ * - GPS_GEOFENCE: Location-based triggers
12
+ * - API_WEBHOOK: External system integration
13
+ * - TRANSACTION: Purchase/payment based triggers
14
+ *
15
+ * Trigger sources are independent entities that can be created, managed, and then
16
+ * assigned to campaigns. This separation allows reuse and flexible campaign configuration.
17
+ *
18
+ * @group Managers
19
+ * @category TriggerSource Management
20
+ *
21
+ * @example Basic TriggerSource Operations
22
+ * ```typescript
23
+ * // Get all QR code trigger sources
24
+ * const qrSources = await sdk.triggerSources.getAll({ type: 'QR_CODE' });
25
+ *
26
+ * // Create a new QR code trigger source
27
+ * const source = await sdk.triggerSources.create({
28
+ * type: 'QR_CODE',
29
+ * name: 'Store Entrance QR',
30
+ * businessId: 'business-123'
31
+ * });
32
+ *
33
+ * // Assign to campaign (via CampaignManager)
34
+ * await sdk.campaigns.assignTriggerSource('campaign-456', source.id);
35
+ * ```
36
+ */
37
+ export declare class TriggerSourceManager {
38
+ private apiClient;
39
+ private events?;
40
+ private triggerSourceService;
41
+ constructor(apiClient: PersApiClient, events?: PersEventEmitter | undefined);
42
+ /**
43
+ * Get trigger sources with optional filters and pagination
44
+ *
45
+ * Retrieves trigger sources (QR codes, NFC tags, GPS geofences, webhooks, etc.)
46
+ * that can be used to activate campaigns. Supports filtering by type, business,
47
+ * campaign association, and active status.
48
+ *
49
+ * @param options - Filter and pagination options
50
+ * @returns Promise resolving to paginated trigger sources
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * // Get all QR code trigger sources
55
+ * const qrSources = await sdk.triggerSources.getAll({ type: 'QR_CODE' });
56
+ *
57
+ * // Get trigger sources for a specific business
58
+ * const businessSources = await sdk.triggerSources.getAll({
59
+ * businessId: 'business-123',
60
+ * active: true,
61
+ * page: 1,
62
+ * limit: 20
63
+ * });
64
+ *
65
+ * // Get trigger sources assigned to a campaign
66
+ * const campaignSources = await sdk.triggerSources.getAll({
67
+ * campaignId: 'campaign-456'
68
+ * });
69
+ * ```
70
+ */
71
+ getAll(options?: TriggerSourceQueryOptions): Promise<PaginatedResponseDTO<TriggerSourceDTO>>;
72
+ /**
73
+ * Get trigger source by ID
74
+ *
75
+ * Retrieves detailed information for a specific trigger source including
76
+ * its type, location, metadata, and usage analytics.
77
+ *
78
+ * @param triggerSourceId - UUID of the trigger source
79
+ * @returns Promise resolving to trigger source details
80
+ * @throws {PersApiError} When trigger source with specified ID is not found
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * const source = await sdk.triggerSources.getById('source-123');
85
+ *
86
+ * console.log('Trigger Source:', source.name);
87
+ * console.log('Type:', source.type);
88
+ * console.log('Active:', source.isActive);
89
+ *
90
+ * if (source.coordsLatitude && source.coordsLongitude) {
91
+ * console.log('Location:', source.coordsLatitude, source.coordsLongitude);
92
+ * }
93
+ * ```
94
+ */
95
+ getById(triggerSourceId: string): Promise<TriggerSourceDTO>;
96
+ /**
97
+ * Admin: Create a new trigger source
98
+ *
99
+ * Creates a new trigger source (QR code, NFC tag, GPS geofence, webhook, or
100
+ * transaction-based trigger) that can be assigned to campaigns. Requires
101
+ * administrator privileges.
102
+ *
103
+ * @param triggerSource - Trigger source creation data
104
+ * @returns Promise resolving to created trigger source
105
+ * @throws {PersApiError} When not authenticated as admin or validation fails
106
+ *
107
+ * @example
108
+ * ```typescript
109
+ * // Create a QR code trigger source
110
+ * const qrSource = await sdk.triggerSources.create({
111
+ * type: 'QR_CODE',
112
+ * name: 'Store Entrance QR',
113
+ * description: 'QR code at main entrance',
114
+ * businessId: 'business-123',
115
+ * coordsLatitude: 47.6062,
116
+ * coordsLongitude: -122.3321
117
+ * });
118
+ *
119
+ * // Create an NFC tag trigger source
120
+ * const nfcSource = await sdk.triggerSources.create({
121
+ * type: 'NFC_TAG',
122
+ * name: 'Product Display NFC',
123
+ * metadata: { productId: 'SKU-12345' }
124
+ * });
125
+ *
126
+ * // Create a GPS geofence trigger source
127
+ * const geoSource = await sdk.triggerSources.create({
128
+ * type: 'GPS_GEOFENCE',
129
+ * name: 'Store Area',
130
+ * coordsLatitude: 47.6062,
131
+ * coordsLongitude: -122.3321,
132
+ * metadata: { radiusMeters: 100 }
133
+ * });
134
+ * ```
135
+ */
136
+ create(triggerSource: TriggerSourceCreateRequestDTO): Promise<TriggerSourceDTO>;
137
+ /**
138
+ * Admin: Update a trigger source
139
+ *
140
+ * Updates an existing trigger source's configuration. All fields are optional;
141
+ * only provided fields will be updated. Requires administrator privileges.
142
+ *
143
+ * @param triggerSourceId - UUID of the trigger source to update
144
+ * @param triggerSource - Updated trigger source data (partial)
145
+ * @returns Promise resolving to updated trigger source
146
+ * @throws {PersApiError} When not authenticated as admin or trigger source not found
147
+ *
148
+ * @example
149
+ * ```typescript
150
+ * // Update trigger source name and location
151
+ * const updated = await sdk.triggerSources.update('source-123', {
152
+ * name: 'Updated Store Entrance QR',
153
+ * description: 'New description',
154
+ * coordsLatitude: 47.6063,
155
+ * coordsLongitude: -122.3322
156
+ * });
157
+ * ```
158
+ */
159
+ update(triggerSourceId: string, triggerSource: Partial<TriggerSourceCreateRequestDTO>): Promise<TriggerSourceDTO>;
160
+ /**
161
+ * Admin: Delete a trigger source
162
+ *
163
+ * Soft deletes a trigger source, making it inactive. The trigger source will
164
+ * be removed from any campaigns it was assigned to. Requires administrator
165
+ * privileges.
166
+ *
167
+ * @param triggerSourceId - UUID of the trigger source to delete
168
+ * @returns Promise resolving to success status
169
+ * @throws {PersApiError} When not authenticated as admin or trigger source not found
170
+ *
171
+ * @example
172
+ * ```typescript
173
+ * const success = await sdk.triggerSources.delete('source-123');
174
+ * console.log('Trigger source deleted:', success);
175
+ * ```
176
+ */
177
+ delete(triggerSourceId: string): Promise<boolean>;
178
+ /**
179
+ * Get the full trigger source service for advanced operations
180
+ *
181
+ * @returns TriggerSourceService instance with full API access
182
+ */
183
+ getTriggerSourceService(): TriggerSourceService;
184
+ }
185
+ //# sourceMappingURL=trigger-source-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger-source-manager.d.ts","sourceRoot":"","sources":["../../src/managers/trigger-source-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAEpB,gBAAgB,EAChB,6BAA6B,EAE9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAoB,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEtG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,oBAAoB;IAI7B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,MAAM,CAAC;IAJjB,OAAO,CAAC,oBAAoB,CAAuB;gBAGzC,SAAS,EAAE,aAAa,EACxB,MAAM,CAAC,8BAAkB;IAMnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,MAAM,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAIlG;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,OAAO,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACG,MAAM,CAAC,aAAa,EAAE,6BAA6B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAarF;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,MAAM,CACV,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,OAAO,CAAC,6BAA6B,CAAC,GACpD,OAAO,CAAC,gBAAgB,CAAC;IAa5B;;;;;;;;;;;;;;;;OAgBG;IACG,MAAM,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAavD;;;;OAIG;IACH,uBAAuB,IAAI,oBAAoB;CAGhD"}
@@ -184,25 +184,48 @@ export declare class UserManager {
184
184
  * requires administrator privileges and returns full user profiles including
185
185
  * private information.
186
186
  *
187
- * @returns Promise resolving to array of all users with complete data
187
+ * @param options - Pagination options (page, limit, sortBy, sortOrder)
188
+ * @param search - Optional search query to filter users
189
+ * @returns Promise resolving to paginated users with complete data
188
190
  * @throws {PersApiError} When not authenticated as admin
189
191
  *
190
- * @example
192
+ * @example Basic Usage
191
193
  * ```typescript
192
194
  * // Admin operation - requires admin authentication
193
195
  * try {
194
- * const allUsers = await sdk.users.getAllUsers();
195
- * console.log(`Total users: ${allUsers.length}`);
196
+ * const result = await sdk.users.getAllUsers();
197
+ * console.log(`Total users: ${result.pagination.total}`);
196
198
  *
197
- * allUsers.forEach(user => {
198
- * console.log(`${user.name} - ${user.email} - Active: ${user.isActive}`);
199
+ * result.data.forEach(user => {
200
+ * console.log(`${user.firstName} - ${user.email} - Active: ${user.isActive}`);
199
201
  * });
200
202
  * } catch (error) {
201
203
  * console.log('Admin access required');
202
204
  * }
203
205
  * ```
206
+ *
207
+ * @example With Sorting
208
+ * ```typescript
209
+ * import { SortOrder } from '@explorins/pers-sdk';
210
+ *
211
+ * // Get users sorted by email ascending
212
+ * const result = await sdk.users.getAllUsers({
213
+ * page: 1,
214
+ * limit: 20,
215
+ * sortBy: 'email',
216
+ * sortOrder: SortOrder.ASC
217
+ * });
218
+ *
219
+ * // Get users sorted by creation date (newest first)
220
+ * const recent = await sdk.users.getAllUsers({
221
+ * page: 1,
222
+ * limit: 10,
223
+ * sortBy: 'createdAt',
224
+ * sortOrder: SortOrder.DESC
225
+ * });
226
+ * ```
204
227
  */
205
- getAllUsers(options?: PaginationOptions): Promise<PaginatedResponseDTO<UserDTO>>;
228
+ getAllUsers(options?: PaginationOptions, search?: string): Promise<PaginatedResponseDTO<UserDTO>>;
206
229
  /**
207
230
  * Business/Admin: Create or update a user
208
231
  *
@@ -1 +1 @@
1
- {"version":3,"file":"user-manager.d.ts","sourceRoot":"","sources":["../../src/managers/user-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAW,WAAW,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACrG,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,qBAAa,WAAW;IAIpB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,MAAM,CAAC;IAJjB,OAAO,CAAC,WAAW,CAAc;gBAGvB,SAAS,EAAE,aAAa,EACxB,MAAM,CAAC,8BAAkB;IAMnC;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,iBAAiB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAazE;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACG,iBAAiB,CAAC,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;IAIlJ;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,WAAW,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAItF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,kBAAkB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1E;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAI5E;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlF;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvD;;;;;;;;;;;;;;;OAeG;IACH,cAAc,IAAI,WAAW;CAI9B"}
1
+ {"version":3,"file":"user-manager.d.ts","sourceRoot":"","sources":["../../src/managers/user-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAW,WAAW,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACrG,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,qBAAa,WAAW;IAIpB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,MAAM,CAAC;IAJjB,OAAO,CAAC,WAAW,CAAc;gBAGvB,SAAS,EAAE,aAAa,EACxB,MAAM,CAAC,8BAAkB;IAMnC;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,iBAAiB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAazE;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACG,iBAAiB,CAAC,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;IAIlJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+CG;IACG,WAAW,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAIvG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,kBAAkB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1E;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAI5E;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlF;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvD;;;;;;;;;;;;;;;OAeG;IACH,cAAc,IAAI,WAAW;CAI9B"}
package/dist/node.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var persSdk = require('./chunks/pers-sdk-BQw3QUWR.cjs');
3
+ var persSdk = require('./chunks/pers-sdk-D4XVDZk3.cjs');
4
4
  var persShared = require('@explorins/pers-shared');
5
5
  var nodeHttpClient = require('./chunks/node-http-client-D_avaa5F.cjs');
6
6
  require('./chunks/index-B-g2JPVK.cjs');
@@ -10,12 +10,13 @@ require('./user-status.cjs');
10
10
  require('./chunks/token-service-BlbXrxnS.cjs');
11
11
  require('./chunks/business-membership-service-8KC_qRj7.cjs');
12
12
  require('./campaign.cjs');
13
- require('./chunks/redemption-service-rMB6T2W5.cjs');
14
- require('./chunks/transaction-request.builder-BpgtuMMq.cjs');
13
+ require('./chunks/redemption-service-C61Qr2vI.cjs');
14
+ require('./chunks/transaction-request.builder-B7n7tc1e.cjs');
15
15
  require('./chunks/payment-service-Bkw7ZXev.cjs');
16
16
  require('./chunks/tenant-service-fj-pkXTw.cjs');
17
- require('./analytics.cjs');
17
+ require('./chunks/analytics-service-DwkeBB08.cjs');
18
18
  require('./donation.cjs');
19
+ require('./trigger-source.cjs');
19
20
 
20
21
  /**
21
22
  * Node.js-specific SDK utilities
package/dist/node.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"node.cjs","sources":["../src/node.ts"],"sourcesContent":[null],"names":["NodeHttpClientAdapter","StaticJwtAuthProvider","AccountOwnerType","PersSDK"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;AAkBG;AAQH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCG;AACG,SAAU,aAAa,CAAC,OAK7B,EAAA;AACC,IAAA,MAAM,UAAU,GAAG,IAAIA,oCAAqB,EAAE;AAC9C,IAAA,MAAM,YAAY,GAAG,IAAIC,6BAAqB,CAAC;QAC7C,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,UAAU,EAAE,OAAO,CAAC,UAAU;AAC9B,QAAA,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAIC,2BAAgB,CAAC;AAChD,KAAA,CAAC;AAEF,IAAA,OAAO,IAAIC,eAAO,CAAC,UAAU,EAAE;AAC7B,QAAA,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,YAAY;QAChD,aAAa,EAAE,OAAO,CAAC,UAAU;QACjC;AACD,KAAA,CAAC;AACJ;;;;;;;;;"}
1
+ {"version":3,"file":"node.cjs","sources":["../src/node.ts"],"sourcesContent":[null],"names":["NodeHttpClientAdapter","StaticJwtAuthProvider","AccountOwnerType","PersSDK"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;AAkBG;AAQH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCG;AACG,SAAU,aAAa,CAAC,OAK7B,EAAA;AACC,IAAA,MAAM,UAAU,GAAG,IAAIA,oCAAqB,EAAE;AAC9C,IAAA,MAAM,YAAY,GAAG,IAAIC,6BAAqB,CAAC;QAC7C,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,UAAU,EAAE,OAAO,CAAC,UAAU;AAC9B,QAAA,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAIC,2BAAgB,CAAC;AAChD,KAAA,CAAC;AAEF,IAAA,OAAO,IAAIC,eAAO,CAAC,UAAU,EAAE;AAC7B,QAAA,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,YAAY;QAChD,aAAa,EAAE,OAAO,CAAC,UAAU;QACjC;AACD,KAAA,CAAC;AACJ;;;;;;;;;"}
package/dist/node.js CHANGED
@@ -1,4 +1,4 @@
1
- import { j as StaticJwtAuthProvider, P as PersSDK } from './chunks/pers-sdk-fWg-J3_h.js';
1
+ import { j as StaticJwtAuthProvider, P as PersSDK } from './chunks/pers-sdk-BtvhucPY.js';
2
2
  import { AccountOwnerType } from '@explorins/pers-shared';
3
3
  export { AccountOwnerType } from '@explorins/pers-shared';
4
4
  import { N as NodeHttpClientAdapter } from './chunks/node-http-client-DloDLfm9.js';
@@ -9,12 +9,13 @@ import './user-status.js';
9
9
  import './chunks/token-service-Bfj6C0yz.js';
10
10
  import './chunks/business-membership-service-D6vaVQTR.js';
11
11
  import './campaign.js';
12
- import './chunks/redemption-service-D-hBqh42.js';
13
- import './chunks/transaction-request.builder-C1vVVFto.js';
12
+ import './chunks/redemption-service-C_UTTDag.js';
13
+ import './chunks/transaction-request.builder-VbJpI34c.js';
14
14
  import './chunks/payment-service-IvM6rryM.js';
15
15
  import './chunks/tenant-service-CsRA3O2V.js';
16
- import './analytics.js';
16
+ import './chunks/analytics-service-B9IfG6ox.js';
17
17
  import './donation.js';
18
+ import './trigger-source.js';
18
19
 
19
20
  /**
20
21
  * Node.js-specific SDK utilities
package/dist/node.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sources":["../src/node.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;AAkBG;AAQH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCG;AACG,SAAU,aAAa,CAAC,OAK7B,EAAA;AACC,IAAA,MAAM,UAAU,GAAG,IAAI,qBAAqB,EAAE;AAC9C,IAAA,MAAM,YAAY,GAAG,IAAI,qBAAqB,CAAC;QAC7C,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,UAAU,EAAE,OAAO,CAAC,UAAU;AAC9B,QAAA,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,gBAAgB,CAAC;AAChD,KAAA,CAAC;AAEF,IAAA,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE;AAC7B,QAAA,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,YAAY;QAChD,aAAa,EAAE,OAAO,CAAC,UAAU;QACjC;AACD,KAAA,CAAC;AACJ;;;;"}
1
+ {"version":3,"file":"node.js","sources":["../src/node.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;AAkBG;AAQH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCG;AACG,SAAU,aAAa,CAAC,OAK7B,EAAA;AACC,IAAA,MAAM,UAAU,GAAG,IAAI,qBAAqB,EAAE;AAC9C,IAAA,MAAM,YAAY,GAAG,IAAI,qBAAqB,CAAC;QAC7C,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,UAAU,EAAE,OAAO,CAAC,UAAU;AAC9B,QAAA,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,gBAAgB,CAAC;AAChD,KAAA,CAAC;AAEF,IAAA,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE;AAC7B,QAAA,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,YAAY;QAChD,aAAa,EAAE,OAAO,CAAC,UAAU;QACjC;AACD,KAAA,CAAC;AACJ;;;;"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@explorins/pers-sdk",
3
- "version": "2.1.3",
3
+ "version": "2.1.6",
4
4
  "description": "Platform-agnostic SDK for PERS (Phygital Experience Rewards System) - Core business logic and API integration",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -85,6 +85,11 @@
85
85
  "import": "./dist/transaction.js",
86
86
  "require": "./dist/transaction.cjs"
87
87
  },
88
+ "./trigger-source": {
89
+ "types": "./dist/trigger-source/index.d.ts",
90
+ "import": "./dist/trigger-source.js",
91
+ "require": "./dist/trigger-source.cjs"
92
+ },
88
93
  "./user": {
89
94
  "types": "./dist/user/index.d.ts",
90
95
  "import": "./dist/user.js",
@@ -127,7 +132,7 @@
127
132
  "publish-with-docs": "npm run clean && npm run build && npm run docs && npm version patch && npm publish"
128
133
  },
129
134
  "dependencies": {
130
- "@explorins/pers-shared": "^2.1.75",
135
+ "@explorins/pers-shared": "^2.1.92",
131
136
  "@explorins/web3-ts": "^0.3.77",
132
137
  "ethers": "^6.15.0"
133
138
  },