@explorins/pers-sdk 2.1.3 → 2.1.4

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 (97) 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/services/campaign-service.d.ts +49 -7
  14. package/dist/campaign/services/campaign-service.d.ts.map +1 -1
  15. package/dist/campaign.cjs +150 -14
  16. package/dist/campaign.cjs.map +1 -1
  17. package/dist/campaign.js +150 -14
  18. package/dist/campaign.js.map +1 -1
  19. package/dist/chunks/analytics-service-B9IfG6ox.js +271 -0
  20. package/dist/chunks/analytics-service-B9IfG6ox.js.map +1 -0
  21. package/dist/chunks/analytics-service-DwkeBB08.cjs +274 -0
  22. package/dist/chunks/analytics-service-DwkeBB08.cjs.map +1 -0
  23. package/dist/chunks/{pers-sdk-fWg-J3_h.js → pers-sdk-CAM0iQyK.js} +982 -189
  24. package/dist/chunks/pers-sdk-CAM0iQyK.js.map +1 -0
  25. package/dist/chunks/{pers-sdk-BQw3QUWR.cjs → pers-sdk-Di_R6AiT.cjs} +986 -190
  26. package/dist/chunks/pers-sdk-Di_R6AiT.cjs.map +1 -0
  27. package/dist/chunks/{redemption-service-D-hBqh42.js → redemption-service-CQtTLdic.js} +32 -10
  28. package/dist/chunks/redemption-service-CQtTLdic.js.map +1 -0
  29. package/dist/chunks/{redemption-service-rMB6T2W5.cjs → redemption-service-DsH7sRdv.cjs} +32 -10
  30. package/dist/chunks/redemption-service-DsH7sRdv.cjs.map +1 -0
  31. package/dist/chunks/{transaction-request.builder-C1vVVFto.js → transaction-request.builder-C8ahJYwi.js} +122 -70
  32. package/dist/chunks/transaction-request.builder-C8ahJYwi.js.map +1 -0
  33. package/dist/chunks/{transaction-request.builder-BpgtuMMq.cjs → transaction-request.builder-CkYd5bl6.cjs} +122 -70
  34. package/dist/chunks/transaction-request.builder-CkYd5bl6.cjs.map +1 -0
  35. package/dist/core/pers-api-client.d.ts.map +1 -1
  36. package/dist/core.cjs +5 -4
  37. package/dist/core.cjs.map +1 -1
  38. package/dist/core.js +4 -4
  39. package/dist/index.cjs +13 -6
  40. package/dist/index.cjs.map +1 -1
  41. package/dist/index.d.ts +1 -0
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +5 -5
  44. package/dist/managers/analytics-manager.d.ts +165 -2
  45. package/dist/managers/analytics-manager.d.ts.map +1 -1
  46. package/dist/managers/campaign-manager.d.ts +180 -30
  47. package/dist/managers/campaign-manager.d.ts.map +1 -1
  48. package/dist/managers/index.d.ts +1 -0
  49. package/dist/managers/index.d.ts.map +1 -1
  50. package/dist/managers/redemption-manager.d.ts +52 -2
  51. package/dist/managers/redemption-manager.d.ts.map +1 -1
  52. package/dist/managers/transaction-manager.d.ts +66 -131
  53. package/dist/managers/transaction-manager.d.ts.map +1 -1
  54. package/dist/managers/trigger-source-manager.d.ts +194 -0
  55. package/dist/managers/trigger-source-manager.d.ts.map +1 -0
  56. package/dist/managers/user-manager.d.ts +38 -7
  57. package/dist/managers/user-manager.d.ts.map +1 -1
  58. package/dist/node.cjs +4 -4
  59. package/dist/node.js +4 -4
  60. package/dist/package.json +2 -2
  61. package/dist/pers-sdk.d.ts +33 -2
  62. package/dist/pers-sdk.d.ts.map +1 -1
  63. package/dist/redemption/api/redemption-api.d.ts +8 -4
  64. package/dist/redemption/api/redemption-api.d.ts.map +1 -1
  65. package/dist/redemption/services/redemption-service.d.ts +7 -3
  66. package/dist/redemption/services/redemption-service.d.ts.map +1 -1
  67. package/dist/redemption.cjs +1 -1
  68. package/dist/redemption.js +1 -1
  69. package/dist/transaction/api/transaction-api.d.ts +37 -42
  70. package/dist/transaction/api/transaction-api.d.ts.map +1 -1
  71. package/dist/transaction/models/index.d.ts +21 -0
  72. package/dist/transaction/models/index.d.ts.map +1 -1
  73. package/dist/transaction/services/transaction-service.d.ts +10 -15
  74. package/dist/transaction/services/transaction-service.d.ts.map +1 -1
  75. package/dist/transaction.cjs +1 -1
  76. package/dist/transaction.js +1 -1
  77. package/dist/trigger-source/api/trigger-source-api.d.ts +86 -0
  78. package/dist/trigger-source/api/trigger-source-api.d.ts.map +1 -0
  79. package/dist/trigger-source/index.d.ts +9 -0
  80. package/dist/trigger-source/index.d.ts.map +1 -0
  81. package/dist/trigger-source/services/trigger-source-service.d.ts +42 -0
  82. package/dist/trigger-source/services/trigger-source-service.d.ts.map +1 -0
  83. package/dist/user/api/user-api.d.ts +26 -1
  84. package/dist/user/api/user-api.d.ts.map +1 -1
  85. package/dist/user/services/user-service.d.ts +3 -1
  86. package/dist/user/services/user-service.d.ts.map +1 -1
  87. package/dist/user.cjs +34 -4
  88. package/dist/user.cjs.map +1 -1
  89. package/dist/user.js +34 -4
  90. package/dist/user.js.map +1 -1
  91. package/package.json +2 -2
  92. package/dist/chunks/pers-sdk-BQw3QUWR.cjs.map +0 -1
  93. package/dist/chunks/pers-sdk-fWg-J3_h.js.map +0 -1
  94. package/dist/chunks/redemption-service-D-hBqh42.js.map +0 -1
  95. package/dist/chunks/redemption-service-rMB6T2W5.cjs.map +0 -1
  96. package/dist/chunks/transaction-request.builder-BpgtuMMq.cjs.map +0 -1
  97. package/dist/chunks/transaction-request.builder-C1vVVFto.js.map +0 -1
package/dist/core.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-Di_R6AiT.cjs');
4
4
  var persShared = require('@explorins/pers-shared');
5
5
  var environment = require('./chunks/environment-C73snhIJ.cjs');
6
6
  var index = require('./chunks/index-B6-bbNnd.cjs');
@@ -11,11 +11,11 @@ require('./user-status.cjs');
11
11
  require('./chunks/token-service-BlbXrxnS.cjs');
12
12
  require('./chunks/business-membership-service-8KC_qRj7.cjs');
13
13
  require('./campaign.cjs');
14
- require('./chunks/redemption-service-rMB6T2W5.cjs');
15
- require('./chunks/transaction-request.builder-BpgtuMMq.cjs');
14
+ require('./chunks/redemption-service-DsH7sRdv.cjs');
15
+ require('./chunks/transaction-request.builder-CkYd5bl6.cjs');
16
16
  require('./chunks/payment-service-Bkw7ZXev.cjs');
17
17
  require('./chunks/tenant-service-fj-pkXTw.cjs');
18
- require('./analytics.cjs');
18
+ require('./chunks/analytics-service-DwkeBB08.cjs');
19
19
  require('./donation.cjs');
20
20
 
21
21
 
@@ -49,6 +49,7 @@ exports.StaticJwtAuthProvider = persSdk.StaticJwtAuthProvider;
49
49
  exports.TenantManager = persSdk.TenantManager;
50
50
  exports.TokenManager = persSdk.TokenManager;
51
51
  exports.TransactionManager = persSdk.TransactionManager;
52
+ exports.TriggerSourceManager = persSdk.TriggerSourceManager;
52
53
  exports.UserManager = persSdk.UserManager;
53
54
  exports.UserStatusManager = persSdk.UserStatusManager;
54
55
  exports.WebDPoPCryptoProvider = persSdk.WebDPoPCryptoProvider;
package/dist/core.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"core.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/core.js CHANGED
@@ -1,4 +1,4 @@
1
- export { b as AUTH_STORAGE_KEYS, v as AnalyticsManager, u as ApiKeyManager, k as AuthApi, p as AuthManager, l as AuthService, a as AuthTokenManager, B as BusinessManager, C as CampaignManager, h as DEFAULT_PERS_CONFIG, d as DPOP_STORAGE_KEYS, n as DPoPManager, D as DefaultAuthProvider, w as DonationManager, F as FileManager, L as LocalStorageTokenStorage, M as MemoryTokenStorage, g as PersApiClient, o as PersEventEmitter, P as PersSDK, s as PurchaseManager, R as RedemptionManager, S as SDK_NAME, f as SDK_USER_AGENT, e as SDK_VERSION, j as StaticJwtAuthProvider, t as TenantManager, T as TokenManager, r as TransactionManager, U as UserManager, q as UserStatusManager, W as WebDPoPCryptoProvider, i as buildApiRoot, c as createPersSDK, m as mergeWithDefaults } from './chunks/pers-sdk-fWg-J3_h.js';
1
+ export { b as AUTH_STORAGE_KEYS, v as AnalyticsManager, u as ApiKeyManager, k as AuthApi, p as AuthManager, l as AuthService, a as AuthTokenManager, B as BusinessManager, C as CampaignManager, h as DEFAULT_PERS_CONFIG, d as DPOP_STORAGE_KEYS, n as DPoPManager, D as DefaultAuthProvider, w as DonationManager, F as FileManager, L as LocalStorageTokenStorage, M as MemoryTokenStorage, g as PersApiClient, o as PersEventEmitter, P as PersSDK, s as PurchaseManager, R as RedemptionManager, S as SDK_NAME, f as SDK_USER_AGENT, e as SDK_VERSION, j as StaticJwtAuthProvider, t as TenantManager, T as TokenManager, r as TransactionManager, x as TriggerSourceManager, U as UserManager, q as UserStatusManager, W as WebDPoPCryptoProvider, i as buildApiRoot, c as createPersSDK, m as mergeWithDefaults } from './chunks/pers-sdk-CAM0iQyK.js';
2
2
  export { AccountOwnerType } from '@explorins/pers-shared';
3
3
  export { I as IndexedDBTokenStorage, d as detectEnvironment, e as environment, w as warnIfProblematicEnvironment } from './chunks/environment-CKVwRAEL.js';
4
4
  export { a as CacheService, C as CacheTTL, g as globalCacheService } from './chunks/index-DBLskLuH.js';
@@ -9,10 +9,10 @@ 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-CQtTLdic.js';
13
+ import './chunks/transaction-request.builder-C8ahJYwi.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
18
  //# sourceMappingURL=core.js.map
package/dist/index.cjs CHANGED
@@ -1,18 +1,18 @@
1
1
  'use strict';
2
2
 
3
- var persSdk = require('./chunks/pers-sdk-BQw3QUWR.cjs');
3
+ var persSdk = require('./chunks/pers-sdk-Di_R6AiT.cjs');
4
4
  var persShared = require('@explorins/pers-shared');
5
5
  var environment = require('./chunks/environment-C73snhIJ.cjs');
6
6
  var index = require('./chunks/index-B6-bbNnd.cjs');
7
7
  var index$1 = require('./chunks/index-B-g2JPVK.cjs');
8
8
  var paginationUtils = require('./chunks/pagination-utils-B2jRHMSO.cjs');
9
9
  var businessMembershipService = require('./chunks/business-membership-service-8KC_qRj7.cjs');
10
- var transactionRequest_builder = require('./chunks/transaction-request.builder-BpgtuMMq.cjs');
11
- var analytics = require('./analytics.cjs');
10
+ var transactionRequest_builder = require('./chunks/transaction-request.builder-CkYd5bl6.cjs');
11
+ var analyticsService = require('./chunks/analytics-service-DwkeBB08.cjs');
12
12
  var campaign = require('./campaign.cjs');
13
13
  var donation = require('./donation.cjs');
14
14
  var paymentService = require('./chunks/payment-service-Bkw7ZXev.cjs');
15
- var redemptionService = require('./chunks/redemption-service-rMB6T2W5.cjs');
15
+ var redemptionService = require('./chunks/redemption-service-DsH7sRdv.cjs');
16
16
  var tenantService = require('./chunks/tenant-service-fj-pkXTw.cjs');
17
17
  var baseTokenService = require('./chunks/base-token-service-Pvja-ykj.cjs');
18
18
  var tokenService = require('./chunks/token-service-BlbXrxnS.cjs');
@@ -59,6 +59,9 @@ exports.StaticJwtAuthProvider = persSdk.StaticJwtAuthProvider;
59
59
  exports.TenantManager = persSdk.TenantManager;
60
60
  exports.TokenManager = persSdk.TokenManager;
61
61
  exports.TransactionManager = persSdk.TransactionManager;
62
+ exports.TriggerSourceApi = persSdk.TriggerSourceApi;
63
+ exports.TriggerSourceManager = persSdk.TriggerSourceManager;
64
+ exports.TriggerSourceService = persSdk.TriggerSourceService;
62
65
  exports.UserManager = persSdk.UserManager;
63
66
  exports.UserStatusManager = persSdk.UserStatusManager;
64
67
  exports.WebDPoPCryptoProvider = persSdk.WebDPoPCryptoProvider;
@@ -69,6 +72,10 @@ Object.defineProperty(exports, "AccountOwnerType", {
69
72
  enumerable: true,
70
73
  get: function () { return persShared.AccountOwnerType; }
71
74
  });
75
+ Object.defineProperty(exports, "SortOrder", {
76
+ enumerable: true,
77
+ get: function () { return persShared.SortOrder; }
78
+ });
72
79
  exports.IndexedDBTokenStorage = environment.IndexedDBTokenStorage;
73
80
  exports.detectEnvironment = environment.detectEnvironment;
74
81
  exports.environment = environment.environment;
@@ -105,8 +112,8 @@ exports.buildPendingTransactionData = transactionRequest_builder.buildPendingTra
105
112
  exports.buildSubmissionRequest = transactionRequest_builder.buildSubmissionRequest;
106
113
  exports.buildTransferRequest = transactionRequest_builder.buildTransferRequest;
107
114
  exports.extractDeadlineFromSigningData = transactionRequest_builder.extractDeadlineFromSigningData;
108
- exports.AnalyticsApi = analytics.AnalyticsApi;
109
- exports.AnalyticsService = analytics.AnalyticsService;
115
+ exports.AnalyticsApi = analyticsService.AnalyticsApi;
116
+ exports.AnalyticsService = analyticsService.AnalyticsService;
110
117
  exports.CampaignApi = campaign.CampaignApi;
111
118
  exports.CampaignService = campaign.CampaignService;
112
119
  exports.DonationApi = donation.DonationApi;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.d.ts CHANGED
@@ -20,6 +20,7 @@ export * from './token';
20
20
  export * from './user';
21
21
  export * from './user-status';
22
22
  export * from './api-key';
23
+ export * from './trigger-source';
23
24
  export { PersSDK, createPersSDK } from './pers-sdk';
24
25
  export * from './platform-adapters';
25
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,QAAQ,CAAA;AAGtB,cAAc,YAAY,CAAC;AAG3B,cAAc,UAAU,CAAC;AAGzB,cAAc,YAAY,CAAC;AAG3B,cAAc,eAAe,CAAC;AAG9B,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGrD,cAAc,YAAY,CAAC;AAG3B,cAAc,YAAY,CAAC;AAG3B,cAAc,WAAW,CAAC;AAG1B,cAAc,QAAQ,CAAC;AAGvB,cAAc,cAAc,CAAC;AAG7B,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAGxB,cAAc,QAAQ,CAAC;AAGvB,cAAc,eAAe,CAAC;AAG9B,cAAc,WAAW,CAAC;AAS1B,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGpD,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,QAAQ,CAAA;AAGtB,cAAc,YAAY,CAAC;AAG3B,cAAc,UAAU,CAAC;AAGzB,cAAc,YAAY,CAAC;AAG3B,cAAc,eAAe,CAAC;AAG9B,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGrD,cAAc,YAAY,CAAC;AAG3B,cAAc,YAAY,CAAC;AAG3B,cAAc,WAAW,CAAC;AAG1B,cAAc,QAAQ,CAAC;AAGvB,cAAc,cAAc,CAAC;AAG7B,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAGxB,cAAc,QAAQ,CAAC;AAGvB,cAAc,eAAe,CAAC;AAG9B,cAAc,WAAW,CAAC;AAG1B,cAAc,kBAAkB,CAAC;AASjC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGpD,cAAc,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -1,17 +1,17 @@
1
- export { b as AUTH_STORAGE_KEYS, v as AnalyticsManager, z as ApiKeyApi, u as ApiKeyManager, k as AuthApi, p as AuthManager, l as AuthService, A as AuthStatus, a as AuthTokenManager, B as BusinessManager, C as CampaignManager, h as DEFAULT_PERS_CONFIG, d as DPOP_STORAGE_KEYS, n as DPoPManager, D as DefaultAuthProvider, w as DonationManager, x as FileApi, F as FileManager, y as FileService, L as LocalStorageTokenStorage, M as MemoryTokenStorage, g as PersApiClient, o as PersEventEmitter, P as PersSDK, s as PurchaseManager, R as RedemptionManager, S as SDK_NAME, f as SDK_USER_AGENT, e as SDK_VERSION, j as StaticJwtAuthProvider, t as TenantManager, T as TokenManager, r as TransactionManager, U as UserManager, q as UserStatusManager, W as WebDPoPCryptoProvider, i as buildApiRoot, c as createPersSDK, m as mergeWithDefaults } from './chunks/pers-sdk-fWg-J3_h.js';
1
+ export { b as AUTH_STORAGE_KEYS, v as AnalyticsManager, E as ApiKeyApi, u as ApiKeyManager, k as AuthApi, p as AuthManager, l as AuthService, A as AuthStatus, a as AuthTokenManager, B as BusinessManager, C as CampaignManager, h as DEFAULT_PERS_CONFIG, d as DPOP_STORAGE_KEYS, n as DPoPManager, D as DefaultAuthProvider, w as DonationManager, y as FileApi, F as FileManager, z as FileService, L as LocalStorageTokenStorage, M as MemoryTokenStorage, g as PersApiClient, o as PersEventEmitter, P as PersSDK, s as PurchaseManager, R as RedemptionManager, S as SDK_NAME, f as SDK_USER_AGENT, e as SDK_VERSION, j as StaticJwtAuthProvider, t as TenantManager, T as TokenManager, r as TransactionManager, G as TriggerSourceApi, x as TriggerSourceManager, H as TriggerSourceService, U as UserManager, q as UserStatusManager, W as WebDPoPCryptoProvider, i as buildApiRoot, c as createPersSDK, m as mergeWithDefaults } from './chunks/pers-sdk-CAM0iQyK.js';
2
2
  export * from '@explorins/pers-shared';
3
- export { AccountOwnerType } from '@explorins/pers-shared';
3
+ export { AccountOwnerType, SortOrder } from '@explorins/pers-shared';
4
4
  export { I as IndexedDBTokenStorage, d as detectEnvironment, e as environment, w as warnIfProblematicEnvironment } from './chunks/environment-CKVwRAEL.js';
5
5
  export { a as CacheService, C as CacheTTL, g as globalCacheService } from './chunks/index-DBLskLuH.js';
6
6
  export { b as ApiErrorDetector, A as AuthenticationError, E as ErrorUtils, L as LogoutRequired, N as NetworkError, a as PersApiError, P as ProviderTokenRefreshNeeded, T as TokenRefreshNeeded } from './chunks/index-CKm_V5XE.js';
7
7
  export { b as buildPaginationParams, e as extractData, a as extractPagination, f as fetchAllPages, i as isPaginatedResponse, n as normalizeToPaginated } from './chunks/pagination-utils-9vQ-Npkr.js';
8
8
  export { B as BusinessApi, a as BusinessMembershipApi, c as BusinessMembershipService, b as BusinessService } from './chunks/business-membership-service-D6vaVQTR.js';
9
- export { C as ClientTransactionType, T as TransactionApi, a as TransactionService, d as buildBurnRequest, c as buildMintRequest, h as buildPOSBurnRequest, g as buildPOSTransferRequest, b as buildPendingTransactionData, i as buildSubmissionRequest, f as buildTransferRequest, e as extractDeadlineFromSigningData } from './chunks/transaction-request.builder-C1vVVFto.js';
10
- export { AnalyticsApi, AnalyticsService } from './analytics.js';
9
+ export { C as ClientTransactionType, T as TransactionApi, a as TransactionService, d as buildBurnRequest, c as buildMintRequest, h as buildPOSBurnRequest, g as buildPOSTransferRequest, b as buildPendingTransactionData, i as buildSubmissionRequest, f as buildTransferRequest, e as extractDeadlineFromSigningData } from './chunks/transaction-request.builder-C8ahJYwi.js';
10
+ export { A as AnalyticsApi, a as AnalyticsService } from './chunks/analytics-service-B9IfG6ox.js';
11
11
  export { CampaignApi, CampaignService } from './campaign.js';
12
12
  export { DonationApi, DonationService } from './donation.js';
13
13
  export { P as PaymentApi, a as PaymentService } from './chunks/payment-service-IvM6rryM.js';
14
- export { R as RedemptionApi, a as RedemptionService } from './chunks/redemption-service-D-hBqh42.js';
14
+ export { R as RedemptionApi, a as RedemptionService } from './chunks/redemption-service-CQtTLdic.js';
15
15
  export { T as TenantApi, a as TenantService } from './chunks/tenant-service-CsRA3O2V.js';
16
16
  export { B as BaseTokenService, T as TokenSDK, g as getMetadataFromTokenUnitResponse } from './chunks/base-token-service-U3YzHxfd.js';
17
17
  export { T as TokenApi, a as TokenService } from './chunks/token-service-Bfj6C0yz.js';
@@ -1,6 +1,6 @@
1
1
  import { PersApiClient } from '../core/pers-api-client';
2
2
  import { AnalyticsService } from '../analytics';
3
- import type { TransactionAnalyticsRequestDTO } from '../analytics/models';
3
+ import type { TransactionAnalyticsRequestDTO, CampaignClaimAnalyticsRequestDTO, UserAnalyticsRequestDTO, UserRankingAnalyticsRequestDTO, BusinessRankingAnalyticsRequestDTO, RetentionAnalyticsRequestDTO } from '../analytics/models';
4
4
  /**
5
5
  * Analytics Manager - Clean, high-level interface for analytics operations
6
6
  *
@@ -243,7 +243,170 @@ export declare class AnalyticsManager {
243
243
  * updateDashboard();
244
244
  * ```
245
245
  */
246
- getTransactionAnalytics(request: TransactionAnalyticsRequestDTO): Promise<import("node_modules/@explorins/pers-shared/dist/cjs/shared-lib/dto/transaction/transaction-analytics.request.dto").TransactionAnalyticsResponseDTO>;
246
+ getTransactionAnalytics(request: TransactionAnalyticsRequestDTO): Promise<import("node_modules/@explorins/pers-shared/dist/cjs/shared-lib/dto/analytics/transaction-analytics.request.dto").TransactionAnalyticsResponseDTO>;
247
+ /**
248
+ * Get campaign claim analytics with aggregation
249
+ *
250
+ * Retrieves aggregated analytics for campaign claims with flexible grouping,
251
+ * filtering, and metric selection. Provides insights into campaign performance,
252
+ * claim patterns, and user engagement across the loyalty ecosystem.
253
+ *
254
+ * @param request - Analytics request with filters, groupBy, and metrics
255
+ * @returns Promise resolving to campaign claim analytics data
256
+ *
257
+ * @example Claims per campaign
258
+ * ```typescript
259
+ * const analytics = await sdk.analytics.getCampaignClaimAnalytics({
260
+ * filters: { status: 'COMPLETED' },
261
+ * groupBy: ['campaignId'],
262
+ * metrics: ['count'],
263
+ * sortBy: 'count',
264
+ * sortOrder: 'DESC',
265
+ * limit: 10
266
+ * });
267
+ *
268
+ * console.log('Top campaigns:', analytics.results);
269
+ * ```
270
+ */
271
+ getCampaignClaimAnalytics(request: CampaignClaimAnalyticsRequestDTO): Promise<import("node_modules/@explorins/pers-shared/dist/cjs/shared-lib/dto/analytics/campaign-claim-analytics-request.dto").CampaignClaimAnalyticsResponseDTO>;
272
+ /**
273
+ * Get user analytics with engagement metrics
274
+ *
275
+ * Retrieves aggregated user statistics including engagement rate, active users,
276
+ * transaction metrics, and per-active-user averages. Provides comprehensive
277
+ * insights into user behavior, engagement patterns, and platform adoption metrics.
278
+ *
279
+ * NEW: Added per-active-user metrics (averageTransactionsPerActiveUser, etc.) which
280
+ * show concentrated engagement among active users - more useful than diluted all-user averages.
281
+ *
282
+ * Request structure matches TransactionAnalytics and CampaignClaimAnalytics:
283
+ * - Use filters object for business-specific scoping
284
+ * - startDate/endDate at root level for date range filtering
285
+ *
286
+ * @param request - Analytics request with optional filters and date range
287
+ * @returns Promise resolving to user analytics data with per-user and per-active-user metrics
288
+ *
289
+ * @example Basic user analytics (compare per-user vs per-active-user)
290
+ * ```typescript
291
+ * const analytics = await sdk.analytics.getUserAnalytics({});
292
+ * console.log(`Total users: ${analytics.totalUsers}`);
293
+ * console.log(`Active users: ${analytics.activeUsers} (${analytics.engagementRate.toFixed(1)}%)`);
294
+ *
295
+ * // Per-user averages (includes inactive users - lower numbers)
296
+ * console.log(`\\nPer-User Averages (all users):`);
297
+ * console.log(` Transactions: ${analytics.averageTransactionsPerUser.toFixed(2)}`);
298
+ * console.log(` Claims: ${analytics.averageClaimsPerUser.toFixed(2)}`);
299
+ * console.log(` Redemptions: ${analytics.averageRedemptionsPerUser.toFixed(2)}`);
300
+ *
301
+ * // Per-active-user averages (only engaged users - higher, more meaningful numbers)
302
+ * console.log(`\\nPer-Active-User Averages (engaged users only):`);
303
+ * console.log(` Transactions: ${analytics.averageTransactionsPerActiveUser.toFixed(2)}`);
304
+ * console.log(` Claims: ${analytics.averageClaimsPerActiveUser.toFixed(2)}`);
305
+ * console.log(` Redemptions: ${analytics.averageRedemptionsPerActiveUser.toFixed(2)}`);
306
+ * ```
307
+ *
308
+ * @example Monthly user analytics with date range
309
+ * ```typescript
310
+ * const analytics = await sdk.analytics.getUserAnalytics({
311
+ * startDate: new Date('2026-02-01'),
312
+ * endDate: new Date('2026-02-28')
313
+ * });
314
+ *
315
+ * console.log('February 2026 User Metrics:');
316
+ * console.log(`Total users: ${analytics.totalUsers}`);
317
+ * console.log(`Active users: ${analytics.activeUsers}`);
318
+ * console.log(`New users: ${analytics.newUsers}`);
319
+ * console.log(`Engagement rate: ${analytics.engagementRate.toFixed(2)}%`);
320
+ * console.log(`Total transaction volume: $${analytics.totalTransactionVolume.toLocaleString()}`);
321
+ * console.log(`Avg transaction amount: $${analytics.averageTransactionAmount.toFixed(2)}`);
322
+ * console.log(`\\nFilters applied: ${analytics.metadata.dateRange?.startDate} to ${analytics.metadata.dateRange?.endDate}`);
323
+ * ```
324
+ *
325
+ * @example Business-specific user analytics with filters
326
+ * ```typescript
327
+ * const analytics = await sdk.analytics.getUserAnalytics({
328
+ * filters: { businessId: 'business-123' },
329
+ * startDate: new Date('2026-01-01'),
330
+ * endDate: new Date('2026-12-31')
331
+ * });
332
+ *
333
+ * console.log(`Business customer metrics for 2026:`);
334
+ * console.log(`Active customers: ${analytics.activeUsers} / ${analytics.totalUsers}`);
335
+ * console.log(`Customer engagement: ${analytics.engagementRate.toFixed(1)}%`);
336
+ * console.log(`Avg spend per customer: $${analytics.averageTransactionAmount.toFixed(2)}`);
337
+ * console.log(`Avg spend per active customer: $${(analytics.totalTransactionVolume / analytics.activeUsers).toFixed(2)}`);
338
+ * console.log(`Avg claims per active customer: ${analytics.averageClaimsPerActiveUser.toFixed(2)}`);
339
+ * ```
340
+ */
341
+ getUserAnalytics(request?: UserAnalyticsRequestDTO): Promise<import("node_modules/@explorins/pers-shared/dist/cjs/shared-lib/dto/analytics/user-analytics.dto").UserAnalyticsResponseDTO>;
342
+ /**
343
+ * Get user transaction ranking with enriched user data
344
+ *
345
+ * Retrieves ranked list of users with full user details (email, externalUserId)
346
+ * and transaction metrics. Data enrichment happens via efficient SQL JOINs + UNION
347
+ * (handles legacy transactions). Ideal for leaderboards, engagement analysis, and
348
+ * identifying power users for targeted campaigns.
349
+ *
350
+ * Use Cases:
351
+ * - Admin leaderboards showing top users by activity
352
+ * - User engagement analysis with full user context
353
+ * - Identifying power users for campaigns
354
+ * - Customer segmentation by transaction behavior
355
+ *
356
+ * @param request - Ranking request with filters, sorting, and limit
357
+ * @returns Promise resolving to ranked user list with transaction metrics
358
+ *
359
+ * @example Top 50 users by transaction count
360
+ * ```typescript
361
+ * const ranking = await sdk.analytics.getUserRanking({
362
+ * sortBy: 'totalTransactions',
363
+ * sortOrder: 'DESC',
364
+ * limit: 50
365
+ * });
366
+ *
367
+ * console.log(`Top ${ranking.totalUsers} users:`);
368
+ * ranking.results.forEach((user, index) => {
369
+ * console.log(`#${index + 1}: ${user.email || user.externalUserId}`);
370
+ * console.log(` Transactions: ${user.totalTransactions}`);
371
+ * console.log(` Token spent: ${user.tokenSpent}`);
372
+ * });
373
+ * ```
374
+ *
375
+ * @example Top users by STAMP spending
376
+ * ```typescript
377
+ * const ranking = await sdk.analytics.getUserRanking({
378
+ * filters: { tokenType: 'STAMP' },
379
+ * sortBy: 'tokenSpent',
380
+ * sortOrder: 'DESC',
381
+ * limit: 20
382
+ * });
383
+ *
384
+ * console.log('Top 20 STAMP spenders:');
385
+ * ranking.results.forEach((user, index) => {
386
+ * const identifier = user.email || user.externalUserId || user.userId;
387
+ * console.log(`${index + 1}. ${identifier} - ${user.tokenSpent} STAMP`);
388
+ * });
389
+ * ```
390
+ */
391
+ getUserRanking(request?: UserRankingAnalyticsRequestDTO): Promise<import("node_modules/@explorins/pers-shared/dist/cjs/shared-lib/dto/analytics/user-ranking-analytics.dto").UserRankingAnalyticsResponseDTO>;
392
+ /**
393
+ * Get business transaction ranking with enriched business data
394
+ *
395
+ * Returns ranked list of businesses with full business details and transaction metrics.
396
+ *
397
+ * @param request - Ranking request with filters, sorting, and limit
398
+ * @returns Promise resolving to ranked business list
399
+ */
400
+ getBusinessRanking(request?: BusinessRankingAnalyticsRequestDTO): Promise<import("node_modules/@explorins/pers-shared/dist/cjs/shared-lib/dto/analytics/business-ranking-analytics.dto").BusinessRankingAnalyticsResponseDTO>;
401
+ /**
402
+ * Get monthly user retention analytics
403
+ *
404
+ * Returns monthly retention data with user metrics and retention rates.
405
+ *
406
+ * @param request - Retention request with monthsBack and filters
407
+ * @returns Promise resolving to monthly retention data
408
+ */
409
+ getRetentionAnalytics(request?: RetentionAnalyticsRequestDTO): Promise<import("node_modules/@explorins/pers-shared/dist/cjs/shared-lib/dto/analytics/retention-analytics.dto").RetentionAnalyticsResponseDTO>;
247
410
  /**
248
411
  * Get the full analytics service for advanced operations
249
412
  *
@@ -1 +1 @@
1
- {"version":3,"file":"analytics-manager.d.ts","sourceRoot":"","sources":["../../src/managers/analytics-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAgB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,qBAAa,gBAAgB;IAGf,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,gBAAgB,CAAmB;gBAEvB,SAAS,EAAE,aAAa;IAK5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmLG;IACG,uBAAuB,CAAC,OAAO,EAAE,8BAA8B;IAIrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0DG;IACH,mBAAmB,IAAI,gBAAgB;CAGxC"}
1
+ {"version":3,"file":"analytics-manager.d.ts","sourceRoot":"","sources":["../../src/managers/analytics-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAgB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,KAAK,EACV,8BAA8B,EAC9B,gCAAgC,EAChC,uBAAuB,EACvB,8BAA8B,EAC9B,kCAAkC,EAClC,4BAA4B,EAC7B,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,qBAAa,gBAAgB;IAGf,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,gBAAgB,CAAmB;gBAEvB,SAAS,EAAE,aAAa;IAK5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmLG;IACG,uBAAuB,CAAC,OAAO,EAAE,8BAA8B;IAIrE;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,yBAAyB,CAAC,OAAO,EAAE,gCAAgC;IAIzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoEG;IACG,gBAAgB,CAAC,OAAO,GAAE,uBAA4B;IAI5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDG;IACG,cAAc,CAAC,OAAO,GAAE,8BAAmC;IAIjE;;;;;;;OAOG;IACG,kBAAkB,CAAC,OAAO,GAAE,kCAAuC;IAIzE;;;;;;;OAOG;IACG,qBAAqB,CAAC,OAAO,GAAE,4BAAiC;IAItE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0DG;IACH,mBAAmB,IAAI,gBAAgB;CAGxC"}
@@ -1,9 +1,9 @@
1
- import { PaginatedResponseDTO, SortOrder } from '@explorins/pers-shared';
1
+ import { PaginatedResponseDTO, SortOrder, CampaignClaimIncludeRelation, CampaignIncludeRelation } from '@explorins/pers-shared';
2
2
  import { PersApiClient } from '../core/pers-api-client';
3
3
  import { PersEventEmitter } from '../core/events';
4
4
  import { CampaignService } from '../campaign';
5
5
  import { PaginationOptions } from '../shared/utils/pagination-utils';
6
- import type { CampaignDTO, CampaignCreateRequestDTO, CampaignClaimRequestDTO, CampaignClaimDTO, TokenUnitCreateRequestDTO, CampaignBusinessEngagementCreateRequestDTO, CampaignTriggerDTO } from '../shared/interfaces/pers-shared-lib.interfaces';
6
+ import type { CampaignDTO, CampaignCreateRequestDTO, CampaignClaimRequestDTO, CampaignClaimDTO, TokenUnitCreateRequestDTO, CampaignBusinessEngagementCreateRequestDTO, CampaignTriggerDTO, CampaignTriggerCreateRequestDTO } from '../shared/interfaces/pers-shared-lib.interfaces';
7
7
  /**
8
8
  * Campaign Manager - Clean, high-level interface for campaign operations
9
9
  *
@@ -82,6 +82,7 @@ export declare class CampaignManager {
82
82
  * business partnerships, eligibility criteria, and claiming requirements.
83
83
  *
84
84
  * @param campaignId - Unique campaign identifier
85
+ * @param include - Relations to include: 'triggerSources', 'businesses'
85
86
  * @returns Promise resolving to campaign data with complete details
86
87
  * @throws {PersApiError} When campaign with specified ID is not found
87
88
  *
@@ -110,8 +111,16 @@ export declare class CampaignManager {
110
111
  * console.log('Campaign not found:', error.message);
111
112
  * }
112
113
  * ```
114
+ *
115
+ * @example With Include Relations
116
+ * ```typescript
117
+ * // Get campaign with trigger sources and businesses included
118
+ * const campaign = await sdk.campaigns.getCampaignById('campaign-123', ['triggerSources', 'businesses']);
119
+ * console.log('Trigger sources:', campaign.included?.triggerSources);
120
+ * console.log('Businesses:', campaign.included?.businesses);
121
+ * ```
113
122
  */
114
- getCampaignById(campaignId: string): Promise<CampaignDTO>;
123
+ getCampaignById(campaignId: string, include?: CampaignIncludeRelation[]): Promise<CampaignDTO>;
115
124
  /**
116
125
  * Claim a campaign reward
117
126
  *
@@ -244,6 +253,11 @@ export declare class CampaignManager {
244
253
  * page: 1,
245
254
  * limit: 25
246
255
  * });
256
+ *
257
+ * // Include related data (trigger sources and businesses)
258
+ * const campaignsWithRelations = await sdk.campaigns.getCampaigns({
259
+ * include: ['triggerSources', 'businesses']
260
+ * });
247
261
  * ```
248
262
  */
249
263
  getCampaigns(options?: {
@@ -253,6 +267,7 @@ export declare class CampaignManager {
253
267
  limit?: number;
254
268
  sortBy?: 'name' | 'createdAt' | 'startDate';
255
269
  sortOrder?: SortOrder;
270
+ include?: CampaignIncludeRelation[];
256
271
  }): Promise<PaginatedResponseDTO<CampaignDTO>>;
257
272
  /**
258
273
  * Admin: Create new campaign
@@ -359,52 +374,131 @@ export declare class CampaignManager {
359
374
  */
360
375
  toggleCampaignTestnet(campaignId: string): Promise<CampaignDTO>;
361
376
  /**
362
- * Admin: Get campaign triggers
377
+ * Admin: Get all campaign triggers (paginated)
363
378
  *
364
- * Retrieves all available campaign trigger mechanisms that can be used to
365
- * automatically activate campaigns based on user actions or system events.
366
- * Requires administrator privileges.
379
+ * Retrieves all campaign trigger rules that define rate limits, geo-validation,
380
+ * conditions, and trigger types for campaign activation.
367
381
  *
368
- * @returns Promise resolving to array of campaign trigger definitions
382
+ * @param options - Pagination options
383
+ * @returns Promise resolving to paginated list of campaign triggers
369
384
  *
370
385
  * @example
371
386
  * ```typescript
372
- * // Admin operation - view available triggers
373
- * const triggers = await sdk.campaigns.getCampaignTriggers();
374
- *
375
- * console.log('Available Campaign Triggers:');
376
- * triggers.forEach(trigger => {
377
- * console.log(`- ${trigger.name}: ${trigger.description}`);
378
- * console.log(` Type: ${trigger.type}`);
379
- * console.log(` Parameters: ${JSON.stringify(trigger.parameters)}`);
387
+ * const triggers = await sdk.campaigns.getCampaignTriggers({ page: 1, limit: 20 });
388
+ * console.log(`Found ${triggers.total} triggers`);
389
+ * triggers.data.forEach(trigger => {
390
+ * console.log(`- ${trigger.name}: max ${trigger.maxPerDayPerUser}/day`);
380
391
  * });
381
392
  * ```
382
393
  */
383
394
  getCampaignTriggers(options?: PaginationOptions): Promise<PaginatedResponseDTO<CampaignTriggerDTO>>;
384
395
  /**
385
- * Admin: Set campaign trigger
396
+ * Admin: Get campaign trigger by ID
397
+ *
398
+ * @param triggerId - The campaign trigger ID
399
+ * @returns Promise resolving to the campaign trigger
400
+ *
401
+ * @example
402
+ * ```typescript
403
+ * const trigger = await sdk.campaigns.getCampaignTriggerById('trigger-123');
404
+ * console.log('Max per day:', trigger.maxPerDayPerUser);
405
+ * ```
406
+ */
407
+ getCampaignTriggerById(triggerId: string): Promise<CampaignTriggerDTO>;
408
+ /**
409
+ * Admin: Create a new campaign trigger
410
+ *
411
+ * Creates a trigger rule that defines rate limits, geo-validation, and conditions
412
+ * for campaign activation. Triggers are created independently and then assigned
413
+ * to campaigns via `setCampaignTrigger()`.
414
+ *
415
+ * @param data - Trigger configuration
416
+ * @returns Promise resolving to created trigger
386
417
  *
387
- * Associates a specific trigger mechanism with a campaign, enabling automatic
388
- * campaign activation based on defined conditions. Requires administrator privileges.
418
+ * @example
419
+ * ```typescript
420
+ * const trigger = await sdk.campaigns.createCampaignTrigger({
421
+ * name: 'Daily Check-in',
422
+ * maxPerDayPerUser: 1,
423
+ * maxPerUser: 100,
424
+ * minCooldownSeconds: 3600,
425
+ * maxGeoDistanceInMeters: 50,
426
+ * triggerType: 'CLAIM_BY_USER'
427
+ * });
428
+ *
429
+ * // Then assign to campaign
430
+ * await sdk.campaigns.setCampaignTrigger(campaignId, trigger.id);
431
+ * ```
432
+ */
433
+ createCampaignTrigger(data: CampaignTriggerCreateRequestDTO): Promise<CampaignTriggerDTO>;
434
+ /**
435
+ * Admin: Update an existing campaign trigger
436
+ *
437
+ * @param triggerId - The campaign trigger ID
438
+ * @param data - Updated trigger configuration (partial)
439
+ * @returns Promise resolving to updated trigger
440
+ *
441
+ * @example
442
+ * ```typescript
443
+ * const updated = await sdk.campaigns.updateCampaignTrigger('trigger-123', {
444
+ * maxPerDayPerUser: 5,
445
+ * minCooldownSeconds: 1800
446
+ * });
447
+ * ```
448
+ */
449
+ updateCampaignTrigger(triggerId: string, data: Partial<CampaignTriggerCreateRequestDTO>): Promise<CampaignTriggerDTO>;
450
+ /**
451
+ * Admin: Delete a campaign trigger
452
+ *
453
+ * @param triggerId - The campaign trigger ID
454
+ * @returns Promise resolving to success status
455
+ *
456
+ * @example
457
+ * ```typescript
458
+ * await sdk.campaigns.deleteCampaignTrigger('trigger-123');
459
+ * ```
460
+ */
461
+ deleteCampaignTrigger(triggerId: string): Promise<boolean>;
462
+ /**
463
+ * Admin: Assign a trigger to a campaign
464
+ *
465
+ * Associates a trigger rule with a campaign. A campaign can have only one trigger
466
+ * at a time. Assigning a new trigger replaces any existing trigger.
389
467
  *
390
468
  * @param campaignId - ID of the campaign
391
469
  * @param triggerId - ID of the trigger to associate
392
- * @returns Promise resolving to updated campaign data
393
- * @throws {PersApiError} When not authenticated as admin or entities not found
470
+ * @returns Promise resolving to updated campaign
394
471
  *
395
472
  * @example
396
473
  * ```typescript
397
- * // Admin operation - set up automatic campaign trigger
398
474
  * const updated = await sdk.campaigns.setCampaignTrigger(
399
- * 'new-user-welcome',
400
- * 'user-registration-trigger'
475
+ * 'campaign-123',
476
+ * 'trigger-456'
401
477
  * );
402
- *
403
- * console.log('Trigger set for campaign:', updated.title);
404
- * console.log('Trigger will activate on user registration');
478
+ * console.log('Trigger assigned:', updated.trigger?.name);
405
479
  * ```
406
480
  */
407
481
  setCampaignTrigger(campaignId: string, triggerId: string): Promise<CampaignDTO>;
482
+ /**
483
+ * Admin: Remove a trigger from a campaign
484
+ *
485
+ * Removes the trigger rule from a campaign. The trigger itself is not deleted
486
+ * and can be reassigned to other campaigns.
487
+ *
488
+ * @param campaignId - ID of the campaign
489
+ * @param triggerId - ID of the trigger to remove
490
+ * @returns Promise resolving to updated campaign
491
+ *
492
+ * @example
493
+ * ```typescript
494
+ * const updated = await sdk.campaigns.removeCampaignTrigger(
495
+ * 'campaign-123',
496
+ * 'trigger-456'
497
+ * );
498
+ * console.log('Trigger removed:', updated.trigger === null);
499
+ * ```
500
+ */
501
+ removeCampaignTrigger(campaignId: string, triggerId: string): Promise<CampaignDTO>;
408
502
  /**
409
503
  * Admin: Create campaign token unit
410
504
  *
@@ -611,7 +705,7 @@ export declare class CampaignManager {
611
705
  limit?: number;
612
706
  sortBy?: string;
613
707
  sortOrder?: any;
614
- }): Promise<PaginatedResponseDTO<CampaignClaimDTO>>;
708
+ }, include?: CampaignClaimIncludeRelation[]): Promise<PaginatedResponseDTO<CampaignClaimDTO>>;
615
709
  /**
616
710
  * Admin: Get campaign claims by user ID
617
711
  *
@@ -645,7 +739,7 @@ export declare class CampaignManager {
645
739
  * console.log(`\nTotal rewards earned: ${totalRewards}`);
646
740
  * ```
647
741
  */
648
- getCampaignClaimsByUserId(userId: string, options?: PaginationOptions): Promise<PaginatedResponseDTO<CampaignClaimDTO>>;
742
+ getCampaignClaimsByUserId(userId: string, options?: PaginationOptions, include?: CampaignClaimIncludeRelation[]): Promise<PaginatedResponseDTO<CampaignClaimDTO>>;
649
743
  /**
650
744
  * Admin: Get campaign claims by business ID
651
745
  *
@@ -684,7 +778,63 @@ export declare class CampaignManager {
684
778
  * console.log(`\nTotal rewards distributed: ${totalRewardsDistributed}`);
685
779
  * ```
686
780
  */
687
- getCampaignClaimsByBusinessId(businessId: string, options?: PaginationOptions): Promise<PaginatedResponseDTO<CampaignClaimDTO>>;
781
+ getCampaignClaimsByBusinessId(businessId: string, options?: PaginationOptions, include?: CampaignClaimIncludeRelation[]): Promise<PaginatedResponseDTO<CampaignClaimDTO>>;
782
+ /**
783
+ * Admin: Assign a trigger source to a campaign
784
+ *
785
+ * Associates a trigger source with a campaign, enabling the trigger source
786
+ * to activate campaign rewards when triggered. A campaign can have multiple
787
+ * trigger sources. Requires administrator privileges.
788
+ *
789
+ * Note: To create/update/delete trigger sources, use `sdk.triggerSources`.
790
+ *
791
+ * @param campaignId - Campaign UUID
792
+ * @param triggerSourceId - Trigger source UUID
793
+ * @returns Promise resolving to updated campaign with trigger source assigned
794
+ * @throws {PersApiError} When not authenticated as admin or entities not found
795
+ *
796
+ * @example
797
+ * ```typescript
798
+ * // Create trigger source first
799
+ * const source = await sdk.triggerSources.create({
800
+ * type: 'QR_CODE',
801
+ * name: 'Store Entrance QR'
802
+ * });
803
+ *
804
+ * // Then assign to campaign
805
+ * const updated = await sdk.campaigns.assignTriggerSource(
806
+ * 'campaign-123',
807
+ * source.id
808
+ * );
809
+ *
810
+ * console.log('Trigger source assigned:', updated.triggerSourceIds.length);
811
+ * ```
812
+ */
813
+ assignTriggerSource(campaignId: string, triggerSourceId: string): Promise<CampaignDTO>;
814
+ /**
815
+ * Admin: Remove a trigger source from a campaign
816
+ *
817
+ * Removes the association between a trigger source and a campaign. The trigger
818
+ * source itself is not deleted and can be reassigned to other campaigns.
819
+ * Requires administrator privileges.
820
+ *
821
+ * @param campaignId - Campaign UUID
822
+ * @param triggerSourceId - Trigger source UUID
823
+ * @returns Promise resolving to updated campaign with trigger source removed
824
+ * @throws {PersApiError} When not authenticated as admin or entities not found
825
+ *
826
+ * @example
827
+ * ```typescript
828
+ * // Remove a trigger source from a campaign
829
+ * const updated = await sdk.campaigns.removeTriggerSource(
830
+ * 'campaign-123',
831
+ * 'source-456'
832
+ * );
833
+ *
834
+ * console.log('Remaining trigger source IDs:', updated.triggerSourceIds.length);
835
+ * ```
836
+ */
837
+ removeTriggerSource(campaignId: string, triggerSourceId: string): Promise<CampaignDTO>;
688
838
  /**
689
839
  * Get the full campaign service for advanced operations
690
840
  *