@classytic/revenue 1.0.2 → 1.0.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.
package/dist/index.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import { nanoid } from 'nanoid';
2
2
  import * as z from 'zod';
3
- export { z };
4
3
  import { Schema } from 'mongoose';
5
4
 
6
5
  // @classytic/revenue - Enterprise Revenue Management System
@@ -1115,7 +1114,9 @@ var TRANSACTION_TYPE = {
1115
1114
  INCOME: "income",
1116
1115
  EXPENSE: "expense"
1117
1116
  };
1118
- var TRANSACTION_TYPE_VALUES = Object.values(TRANSACTION_TYPE);
1117
+ var TRANSACTION_TYPE_VALUES = Object.values(
1118
+ TRANSACTION_TYPE
1119
+ );
1119
1120
  var TRANSACTION_STATUS = {
1120
1121
  PENDING: "pending",
1121
1122
  PAYMENT_INITIATED: "payment_initiated",
@@ -1129,12 +1130,30 @@ var TRANSACTION_STATUS = {
1129
1130
  REFUNDED: "refunded",
1130
1131
  PARTIALLY_REFUNDED: "partially_refunded"
1131
1132
  };
1132
- var TRANSACTION_STATUS_VALUES = Object.values(TRANSACTION_STATUS);
1133
+ var TRANSACTION_STATUS_VALUES = Object.values(
1134
+ TRANSACTION_STATUS
1135
+ );
1133
1136
  var LIBRARY_CATEGORIES = {
1134
1137
  SUBSCRIPTION: "subscription",
1135
1138
  PURCHASE: "purchase"
1136
1139
  };
1137
- var LIBRARY_CATEGORY_VALUES = Object.values(LIBRARY_CATEGORIES);
1140
+ var LIBRARY_CATEGORY_VALUES = Object.values(
1141
+ LIBRARY_CATEGORIES
1142
+ );
1143
+ var transactionTypeSet = new Set(TRANSACTION_TYPE_VALUES);
1144
+ var transactionStatusSet = new Set(
1145
+ TRANSACTION_STATUS_VALUES
1146
+ );
1147
+ var libraryCategorySet = new Set(LIBRARY_CATEGORY_VALUES);
1148
+ function isLibraryCategory(value) {
1149
+ return typeof value === "string" && libraryCategorySet.has(value);
1150
+ }
1151
+ function isTransactionType(value) {
1152
+ return typeof value === "string" && transactionTypeSet.has(value);
1153
+ }
1154
+ function isTransactionStatus(value) {
1155
+ return typeof value === "string" && transactionStatusSet.has(value);
1156
+ }
1138
1157
 
1139
1158
  // src/utils/category-resolver.ts
1140
1159
  function resolveCategory(entity, monetizationType, categoryMappings = {}) {
@@ -1207,7 +1226,13 @@ var MONETIZATION_TYPES = {
1207
1226
  PURCHASE: "purchase",
1208
1227
  SUBSCRIPTION: "subscription"
1209
1228
  };
1210
- var MONETIZATION_TYPE_VALUES = Object.values(MONETIZATION_TYPES);
1229
+ var MONETIZATION_TYPE_VALUES = Object.values(
1230
+ MONETIZATION_TYPES
1231
+ );
1232
+ var monetizationTypeSet = new Set(MONETIZATION_TYPE_VALUES);
1233
+ function isMonetizationType(value) {
1234
+ return typeof value === "string" && monetizationTypeSet.has(value);
1235
+ }
1211
1236
 
1212
1237
  // src/services/monetization.service.ts
1213
1238
  var MonetizationService = class {
@@ -2221,7 +2246,9 @@ var RELEASE_REASON = {
2221
2246
  AUTO_RELEASE: "auto_release",
2222
2247
  DISPUTE_RESOLVED: "dispute_resolved"
2223
2248
  };
2224
- var RELEASE_REASON_VALUES = Object.values(RELEASE_REASON);
2249
+ var RELEASE_REASON_VALUES = Object.values(
2250
+ RELEASE_REASON
2251
+ );
2225
2252
  var HOLD_REASON = {
2226
2253
  PAYMENT_VERIFICATION: "payment_verification",
2227
2254
  FRAUD_CHECK: "fraud_check",
@@ -2230,6 +2257,18 @@ var HOLD_REASON = {
2230
2257
  COMPLIANCE: "compliance"
2231
2258
  };
2232
2259
  var HOLD_REASON_VALUES = Object.values(HOLD_REASON);
2260
+ var holdStatusSet = new Set(HOLD_STATUS_VALUES);
2261
+ var releaseReasonSet = new Set(RELEASE_REASON_VALUES);
2262
+ var holdReasonSet = new Set(HOLD_REASON_VALUES);
2263
+ function isHoldStatus(value) {
2264
+ return typeof value === "string" && holdStatusSet.has(value);
2265
+ }
2266
+ function isReleaseReason(value) {
2267
+ return typeof value === "string" && releaseReasonSet.has(value);
2268
+ }
2269
+ function isHoldReason(value) {
2270
+ return typeof value === "string" && holdReasonSet.has(value);
2271
+ }
2233
2272
 
2234
2273
  // src/enums/split.enums.ts
2235
2274
  var SPLIT_TYPE = {
@@ -2247,7 +2286,9 @@ var SPLIT_STATUS = {
2247
2286
  WAIVED: "waived",
2248
2287
  CANCELLED: "cancelled"
2249
2288
  };
2250
- var SPLIT_STATUS_VALUES = Object.values(SPLIT_STATUS);
2289
+ var SPLIT_STATUS_VALUES = Object.values(
2290
+ SPLIT_STATUS
2291
+ );
2251
2292
  var PAYOUT_METHOD = {
2252
2293
  BANK_TRANSFER: "bank_transfer",
2253
2294
  MOBILE_WALLET: "mobile_wallet",
@@ -2257,6 +2298,18 @@ var PAYOUT_METHOD = {
2257
2298
  MANUAL: "manual"
2258
2299
  };
2259
2300
  var PAYOUT_METHOD_VALUES = Object.values(PAYOUT_METHOD);
2301
+ var splitTypeSet = new Set(SPLIT_TYPE_VALUES);
2302
+ var splitStatusSet = new Set(SPLIT_STATUS_VALUES);
2303
+ var payoutMethodSet = new Set(PAYOUT_METHOD_VALUES);
2304
+ function isSplitType(value) {
2305
+ return typeof value === "string" && splitTypeSet.has(value);
2306
+ }
2307
+ function isSplitStatus(value) {
2308
+ return typeof value === "string" && splitStatusSet.has(value);
2309
+ }
2310
+ function isPayoutMethod(value) {
2311
+ return typeof value === "string" && payoutMethodSet.has(value);
2312
+ }
2260
2313
 
2261
2314
  // src/utils/commission-split.ts
2262
2315
  function calculateSplits(amount, splitRules = [], gatewayFeeRate = 0) {
@@ -3567,6 +3620,50 @@ var CommissionConfigSchema = z.object({
3567
3620
  rate: z.number().min(0).max(100)
3568
3621
  }).optional()
3569
3622
  });
3623
+ var PaymentStatusEnumSchema = z.enum([
3624
+ "pending",
3625
+ "verified",
3626
+ "failed",
3627
+ "refunded",
3628
+ "cancelled"
3629
+ ]);
3630
+ var PaymentEntrySchema = z.object({
3631
+ /** Payment method (e.g., 'cash', 'bank_transfer', 'bkash') */
3632
+ method: z.string().min(1, "Payment method is required"),
3633
+ /** Amount in smallest currency unit */
3634
+ amount: MoneyAmountSchema,
3635
+ /** Reference/transaction ID for this payment */
3636
+ reference: z.string().optional(),
3637
+ /** Method-specific details (walletNumber, bankName, trxId, etc.) */
3638
+ details: z.record(z.string(), z.unknown()).optional()
3639
+ });
3640
+ var CurrentPaymentInputSchema = z.object({
3641
+ /** Transaction ID reference */
3642
+ transactionId: z.string().optional(),
3643
+ /** Total amount (sum of all payments for split payments) */
3644
+ amount: MoneyAmountSchema,
3645
+ /** Payment status */
3646
+ status: PaymentStatusEnumSchema.default("pending"),
3647
+ /** Primary method for single payments, or 'split' when multiple methods */
3648
+ method: z.string().min(1, "Payment method is required"),
3649
+ /** Reference/transaction ID for single payment */
3650
+ reference: z.string().optional(),
3651
+ /** Array of individual payments for split payment scenarios */
3652
+ payments: z.array(PaymentEntrySchema).optional(),
3653
+ /** Verification timestamp */
3654
+ verifiedAt: z.date().optional(),
3655
+ /** User ID who verified the payment */
3656
+ verifiedBy: z.string().optional()
3657
+ }).refine(
3658
+ (data) => {
3659
+ if (data.payments && data.payments.length > 0) {
3660
+ const paymentsTotal = data.payments.reduce((sum, p) => sum + p.amount, 0);
3661
+ return paymentsTotal === data.amount;
3662
+ }
3663
+ return true;
3664
+ },
3665
+ { message: "Split payments total must equal the transaction amount" }
3666
+ );
3570
3667
  var HoldStatusSchema = z.enum([
3571
3668
  "none",
3572
3669
  "held",
@@ -3634,6 +3731,16 @@ function safeValidate(schema, data) {
3634
3731
  function formatZodError(error) {
3635
3732
  return error.issues.map((issue) => `${issue.path.join(".")}: ${issue.message}`).join(", ");
3636
3733
  }
3734
+ function validateSplitPayments(currentPayment) {
3735
+ if (!currentPayment.payments?.length) {
3736
+ return true;
3737
+ }
3738
+ const paymentsTotal = currentPayment.payments.reduce(
3739
+ (sum, p) => sum + p.amount,
3740
+ 0
3741
+ );
3742
+ return paymentsTotal === currentPayment.amount;
3743
+ }
3637
3744
 
3638
3745
  // src/enums/payment.enums.ts
3639
3746
  var PAYMENT_STATUS = {
@@ -3643,15 +3750,30 @@ var PAYMENT_STATUS = {
3643
3750
  REFUNDED: "refunded",
3644
3751
  CANCELLED: "cancelled"
3645
3752
  };
3646
- var PAYMENT_STATUS_VALUES = Object.values(PAYMENT_STATUS);
3753
+ var PAYMENT_STATUS_VALUES = Object.values(
3754
+ PAYMENT_STATUS
3755
+ );
3647
3756
  var PAYMENT_GATEWAY_TYPE = {
3648
3757
  MANUAL: "manual",
3649
3758
  STRIPE: "stripe",
3650
3759
  SSLCOMMERZ: "sslcommerz"
3651
3760
  };
3652
- var PAYMENT_GATEWAY_TYPE_VALUES = Object.values(PAYMENT_GATEWAY_TYPE);
3761
+ var PAYMENT_GATEWAY_TYPE_VALUES = Object.values(
3762
+ PAYMENT_GATEWAY_TYPE
3763
+ );
3653
3764
  var GATEWAY_TYPES = PAYMENT_GATEWAY_TYPE;
3654
3765
  var GATEWAY_TYPE_VALUES = PAYMENT_GATEWAY_TYPE_VALUES;
3766
+ var paymentStatusSet = new Set(PAYMENT_STATUS_VALUES);
3767
+ var paymentGatewayTypeSet = new Set(
3768
+ PAYMENT_GATEWAY_TYPE_VALUES
3769
+ );
3770
+ function isPaymentStatus(value) {
3771
+ return typeof value === "string" && paymentStatusSet.has(value);
3772
+ }
3773
+ function isPaymentGatewayType(value) {
3774
+ return typeof value === "string" && paymentGatewayTypeSet.has(value);
3775
+ }
3776
+ var isGatewayType = isPaymentGatewayType;
3655
3777
 
3656
3778
  // src/enums/subscription.enums.ts
3657
3779
  var SUBSCRIPTION_STATUS = {
@@ -3662,13 +3784,25 @@ var SUBSCRIPTION_STATUS = {
3662
3784
  PENDING: "pending",
3663
3785
  INACTIVE: "inactive"
3664
3786
  };
3665
- var SUBSCRIPTION_STATUS_VALUES = Object.values(SUBSCRIPTION_STATUS);
3787
+ var SUBSCRIPTION_STATUS_VALUES = Object.values(
3788
+ SUBSCRIPTION_STATUS
3789
+ );
3666
3790
  var PLAN_KEYS = {
3667
3791
  MONTHLY: "monthly",
3668
3792
  QUARTERLY: "quarterly",
3669
3793
  YEARLY: "yearly"
3670
3794
  };
3671
3795
  var PLAN_KEY_VALUES = Object.values(PLAN_KEYS);
3796
+ var subscriptionStatusSet = new Set(
3797
+ SUBSCRIPTION_STATUS_VALUES
3798
+ );
3799
+ var planKeySet = new Set(PLAN_KEY_VALUES);
3800
+ function isSubscriptionStatus(value) {
3801
+ return typeof value === "string" && subscriptionStatusSet.has(value);
3802
+ }
3803
+ function isPlanKey(value) {
3804
+ return typeof value === "string" && planKeySet.has(value);
3805
+ }
3672
3806
  var baseMetadataSchema = new Schema(
3673
3807
  {
3674
3808
  // Flexible key-value metadata
@@ -3678,8 +3812,7 @@ var baseMetadataSchema = new Schema(
3678
3812
  var referenceSchema = {
3679
3813
  referenceId: {
3680
3814
  type: Schema.Types.ObjectId,
3681
- refPath: "referenceModel",
3682
- index: true
3815
+ refPath: "referenceModel"
3683
3816
  },
3684
3817
  referenceModel: {
3685
3818
  type: String,
@@ -3690,18 +3823,15 @@ var gatewaySchema = new Schema(
3690
3823
  {
3691
3824
  type: {
3692
3825
  type: String,
3693
- required: true,
3694
- index: true
3826
+ required: true
3695
3827
  },
3696
3828
  sessionId: {
3697
3829
  type: String,
3698
- sparse: true,
3699
- index: true
3830
+ sparse: true
3700
3831
  },
3701
3832
  paymentIntentId: {
3702
3833
  type: String,
3703
- sparse: true,
3704
- index: true
3834
+ sparse: true
3705
3835
  },
3706
3836
  provider: {
3707
3837
  type: String
@@ -3716,31 +3846,58 @@ var gatewaySchema = new Schema(
3716
3846
  },
3717
3847
  { _id: false }
3718
3848
  );
3849
+ var paymentEntrySchema = new Schema(
3850
+ {
3851
+ method: {
3852
+ type: String,
3853
+ required: true
3854
+ },
3855
+ amount: {
3856
+ type: Number,
3857
+ required: true,
3858
+ min: 0
3859
+ },
3860
+ reference: {
3861
+ type: String,
3862
+ trim: true
3863
+ },
3864
+ details: {
3865
+ type: Schema.Types.Mixed
3866
+ // For method-specific data: walletNumber, bankName, trxId, etc.
3867
+ }
3868
+ },
3869
+ { _id: false }
3870
+ );
3719
3871
  var currentPaymentSchema = new Schema(
3720
3872
  {
3721
3873
  transactionId: {
3722
3874
  type: Schema.Types.ObjectId,
3723
- ref: "Transaction",
3724
- index: true
3875
+ ref: "Transaction"
3725
3876
  },
3726
3877
  amount: {
3727
3878
  type: Number,
3728
3879
  min: 0
3880
+ // Total amount (sum of all payments for split payments)
3729
3881
  },
3730
3882
  status: {
3731
3883
  type: String,
3732
3884
  enum: PAYMENT_STATUS_VALUES,
3733
- default: "pending",
3734
- index: true
3885
+ default: "pending"
3735
3886
  },
3736
3887
  method: {
3737
3888
  type: String
3738
- // Users define payment methods in their transaction model
3889
+ // Primary method for single payments, or 'split' when multiple methods
3739
3890
  },
3740
3891
  reference: {
3741
3892
  type: String,
3742
3893
  trim: true
3743
3894
  },
3895
+ // Split payments support - array of individual payment entries
3896
+ payments: {
3897
+ type: [paymentEntrySchema],
3898
+ default: void 0
3899
+ // Not set for single payments (backward compat)
3900
+ },
3744
3901
  verifiedAt: {
3745
3902
  type: Date
3746
3903
  },
@@ -3913,20 +4070,17 @@ var subscriptionInfoSchema = new Schema(
3913
4070
  status: {
3914
4071
  type: String,
3915
4072
  enum: SUBSCRIPTION_STATUS_VALUES,
3916
- default: "pending",
3917
- index: true
4073
+ default: "pending"
3918
4074
  },
3919
4075
  isActive: {
3920
4076
  type: Boolean,
3921
- default: false,
3922
- index: true
4077
+ default: false
3923
4078
  },
3924
4079
  startDate: {
3925
4080
  type: Date
3926
4081
  },
3927
4082
  endDate: {
3928
- type: Date,
3929
- index: true
4083
+ type: Date
3930
4084
  },
3931
4085
  canceledAt: {
3932
4086
  type: Date
@@ -3956,8 +4110,7 @@ var holdSchema = {
3956
4110
  status: {
3957
4111
  type: String,
3958
4112
  enum: HOLD_STATUS_VALUES,
3959
- default: HOLD_STATUS.PENDING,
3960
- index: true
4113
+ default: HOLD_STATUS.PENDING
3961
4114
  },
3962
4115
  heldAmount: {
3963
4116
  type: Number,
@@ -4004,8 +4157,7 @@ var splitSchema = new Schema(
4004
4157
  },
4005
4158
  recipientId: {
4006
4159
  type: String,
4007
- required: true,
4008
- index: true
4160
+ required: true
4009
4161
  },
4010
4162
  recipientType: {
4011
4163
  type: String,
@@ -4042,8 +4194,7 @@ var splitSchema = new Schema(
4042
4194
  status: {
4043
4195
  type: String,
4044
4196
  enum: SPLIT_STATUS_VALUES,
4045
- default: SPLIT_STATUS.PENDING,
4046
- index: true
4197
+ default: SPLIT_STATUS.PENDING
4047
4198
  },
4048
4199
  dueDate: {
4049
4200
  type: Date
@@ -4342,6 +4493,6 @@ var index_default = {
4342
4493
  * @license MIT
4343
4494
  */
4344
4495
 
4345
- export { AlreadyVerifiedError, CancelSubscriptionSchema, CircuitBreaker, CircuitOpenError, CommissionConfigSchema, ConfigurationError, Container, CreateHoldSchema, CreateMonetizationSchema, CreatePaymentSchema, CreateSubscriptionSchema, CurrencySchema, EDITABLE_MONETIZATION_FIELDS_PRE_VERIFICATION, ERROR_CODES, EmailSchema, EscrowService, EventBus, GATEWAY_TYPES, GATEWAY_TYPE_VALUES, HOLD_REASON, HOLD_REASON_VALUES, HOLD_STATUS, HOLD_STATUS_VALUES, HoldStatusSchema, IdempotencyError, IdempotencyKeySchema, IdempotencyManager, IntervalSchema, InvalidAmountError, InvalidStateTransitionError, LIBRARY_CATEGORIES, LIBRARY_CATEGORY_VALUES, MANUAL_TRANSACTION_CREATE_FIELDS, MANUAL_TRANSACTION_UPDATE_FIELDS, MONETIZATION_TYPES, MONETIZATION_TYPE_VALUES, MemoryIdempotencyStore, MetadataSchema, MissingRequiredFieldError, ModelNotRegisteredError, MonetizationService, MonetizationTypeSchema, Money, MoneyAmountSchema, MoneySchema, NotFoundError, ObjectIdSchema, OperationError, PAYMENT_GATEWAY_TYPE, PAYMENT_GATEWAY_TYPE_VALUES, PAYMENT_STATUS, PAYMENT_STATUS_VALUES, PAYOUT_METHOD, PAYOUT_METHOD_VALUES, PLAN_KEYS, PLAN_KEY_VALUES, PROTECTED_MONETIZATION_FIELDS, PaymentIntent, PaymentIntentCreationError, PaymentProvider, PaymentResult, PaymentService, PaymentVerificationError, PluginManager, ProviderCapabilityError, ProviderConfigSchema, ProviderError, ProviderNotFoundError, RELEASE_REASON, RELEASE_REASON_VALUES, RefundError, RefundNotSupportedError, RefundResult, RefundSchema, ReleaseHoldSchema, Result, RetryConfigSchema, RetryExhaustedError, Revenue, RevenueBuilder, RevenueConfigSchema, RevenueError, SPLIT_STATUS, SPLIT_STATUS_VALUES, SPLIT_TYPE, SPLIT_TYPE_VALUES, SUBSCRIPTION_STATUS, SUBSCRIPTION_STATUS_VALUES, SplitRecipientSchema, StateError, SubscriptionNotActiveError, SubscriptionNotFoundError, SubscriptionStatusSchema, TRANSACTION_MANAGEMENT_TYPE, TRANSACTION_STATUS, TRANSACTION_STATUS_VALUES, TRANSACTION_TYPE, TRANSACTION_TYPE_VALUES, TransactionNotFoundError, TransactionService, ValidationError, VerifyPaymentSchema, WebhookEvent, addDuration, all, auditPlugin, baseMetadataSchema, calculateCommission, calculateCommissionWithSplits, calculateDelay, calculateOrganizationPayout, calculatePeriodRange, calculateProratedAmount, calculateSplits, canCancelSubscription, canPauseSubscription, canRenewSubscription, canResumeSubscription, canSelfVerify, commissionSchema, createCircuitBreaker, createEventBus, createIdempotencyManager, createRevenue, currentPaymentSchema, index_default as default, definePlugin, err, flatMap, formatZodError, fromSmallestUnit, gatewaySchema, getAllowedUpdateFields, getTransactionType, holdSchema, isCategoryValid, isErr, isManualTransaction, isMonetizationTransaction, isOk, isRetryable, isRetryableError, isRevenueError, isSubscriptionActive, logger, loggingPlugin, map, mapErr, match, metricsPlugin, ok, paymentDetailsSchema, paymentSummarySchema, planSchema, referenceSchema, resilientExecute, resolveCategory, resolveIntervalToDuration, retry, retryWithResult, reverseCommission, reverseSplits, safeValidate, setLogger, splitSchema, subscriptionInfoSchema, tenantSnapshotSchema, toSmallestUnit, tryCatch, tryCatchSync, unwrap, unwrapOr, validate, validateFieldUpdate };
4496
+ export { AlreadyVerifiedError, CancelSubscriptionSchema, CircuitBreaker, CircuitOpenError, CommissionConfigSchema, ConfigurationError, Container, CreateHoldSchema, CreateMonetizationSchema, CreatePaymentSchema, CreateSubscriptionSchema, CurrencySchema, CurrentPaymentInputSchema, EDITABLE_MONETIZATION_FIELDS_PRE_VERIFICATION, ERROR_CODES, EmailSchema, EscrowService, EventBus, GATEWAY_TYPES, GATEWAY_TYPE_VALUES, HOLD_REASON, HOLD_REASON_VALUES, HOLD_STATUS, HOLD_STATUS_VALUES, HoldStatusSchema, IdempotencyError, IdempotencyKeySchema, IdempotencyManager, IntervalSchema, InvalidAmountError, InvalidStateTransitionError, LIBRARY_CATEGORIES, LIBRARY_CATEGORY_VALUES, MANUAL_TRANSACTION_CREATE_FIELDS, MANUAL_TRANSACTION_UPDATE_FIELDS, MONETIZATION_TYPES, MONETIZATION_TYPE_VALUES, MemoryIdempotencyStore, MetadataSchema, MissingRequiredFieldError, ModelNotRegisteredError, MonetizationService, MonetizationTypeSchema, Money, MoneyAmountSchema, MoneySchema, NotFoundError, ObjectIdSchema, OperationError, PAYMENT_GATEWAY_TYPE, PAYMENT_GATEWAY_TYPE_VALUES, PAYMENT_STATUS, PAYMENT_STATUS_VALUES, PAYOUT_METHOD, PAYOUT_METHOD_VALUES, PLAN_KEYS, PLAN_KEY_VALUES, PROTECTED_MONETIZATION_FIELDS, PaymentEntrySchema, PaymentIntent, PaymentIntentCreationError, PaymentProvider, PaymentResult, PaymentService, PaymentStatusEnumSchema, PaymentVerificationError, PluginManager, ProviderCapabilityError, ProviderConfigSchema, ProviderError, ProviderNotFoundError, RELEASE_REASON, RELEASE_REASON_VALUES, RefundError, RefundNotSupportedError, RefundResult, RefundSchema, ReleaseHoldSchema, Result, RetryConfigSchema, RetryExhaustedError, Revenue, RevenueBuilder, RevenueConfigSchema, RevenueError, SPLIT_STATUS, SPLIT_STATUS_VALUES, SPLIT_TYPE, SPLIT_TYPE_VALUES, SUBSCRIPTION_STATUS, SUBSCRIPTION_STATUS_VALUES, SplitRecipientSchema, StateError, SubscriptionNotActiveError, SubscriptionNotFoundError, SubscriptionStatusSchema, TRANSACTION_MANAGEMENT_TYPE, TRANSACTION_STATUS, TRANSACTION_STATUS_VALUES, TRANSACTION_TYPE, TRANSACTION_TYPE_VALUES, TransactionNotFoundError, TransactionService, ValidationError, VerifyPaymentSchema, WebhookEvent, addDuration, all, auditPlugin, baseMetadataSchema, calculateCommission, calculateCommissionWithSplits, calculateDelay, calculateOrganizationPayout, calculatePeriodRange, calculateProratedAmount, calculateSplits, canCancelSubscription, canPauseSubscription, canRenewSubscription, canResumeSubscription, canSelfVerify, commissionSchema, createCircuitBreaker, createEventBus, createIdempotencyManager, createRevenue, currentPaymentSchema, index_default as default, definePlugin, err, flatMap, formatZodError, fromSmallestUnit, gatewaySchema, getAllowedUpdateFields, getTransactionType, holdSchema, isCategoryValid, isErr, isGatewayType, isHoldReason, isHoldStatus, isLibraryCategory, isManualTransaction, isMonetizationTransaction, isMonetizationType, isOk, isPaymentGatewayType, isPaymentStatus, isPayoutMethod, isPlanKey, isReleaseReason, isRetryable, isRetryableError, isRevenueError, isSplitStatus, isSplitType, isSubscriptionActive, isSubscriptionStatus, isTransactionStatus, isTransactionType, logger, loggingPlugin, map, mapErr, match, metricsPlugin, ok, paymentDetailsSchema, paymentEntrySchema, paymentSummarySchema, planSchema, referenceSchema, resilientExecute, resolveCategory, resolveIntervalToDuration, retry, retryWithResult, reverseCommission, reverseSplits, safeValidate, setLogger, splitSchema, subscriptionInfoSchema, tenantSnapshotSchema, toSmallestUnit, tryCatch, tryCatchSync, unwrap, unwrapOr, validate, validateFieldUpdate, validateSplitPayments };
4346
4497
  //# sourceMappingURL=index.js.map
4347
4498
  //# sourceMappingURL=index.js.map