@stigg/node-server-sdk 4.15.0 → 4.16.0

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/models.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { PackageEntitlementFragment, PaymentCollection, PaywallConfigurationFragment, SubscriptionQueryFragment, PaywallCurrencyFragment, PageInfoFragment, SubscriptionCancellationAction, SubscriptionFutureUpdateDataFragment, SubscriptionInvoiceFragment, SubscriptionMigrationTime, SubscriptionScheduleStatus, BillingPeriod, SubscriptionCancellationTime, PromotionalEntitlementStatus, SubscriptionStatus, TrialPeriodUnits, BillingModel, PricingType, SubscriptionDecisionStrategy, ExperimentGroupType, Currency, DiscountType, DiscountDurationType, UsageUpdateBehavior, EntitlementResetPeriod, AccessDeniedReason, FeatureType, MeterType, ProvisionSubscriptionStatus, TiersMode, PriceTierFragment, TotalPriceFragment, BillingAddress, MonthlyAccordingTo, WeeklyAccordingTo, CustomerStatisticsFragment, TrialOverrideConfigurationInput, ScheduleStrategy, BillingCadence, ImportSubscriptionInput, PaymentCollectionMethod, BudgetConfigurationInput, SubscriptionCouponInput, PriceOverrideInput, SubscriptionProrationBehavior, CreditGrantFragment, CreditLedgerFragment, ChargeInput } from '@stigg/api-client-js/src/generated/sdk';
1
+ import { PackageEntitlementFragment, PaymentCollection, PaywallConfigurationFragment, SubscriptionQueryFragment, PaywallCurrencyFragment, PageInfoFragment, SubscriptionCancellationAction, SubscriptionFutureUpdateDataFragment, SubscriptionInvoiceFragment, SubscriptionMigrationTime, SubscriptionScheduleStatus, BillingPeriod, SubscriptionCancellationTime, PromotionalEntitlementStatus, SubscriptionStatus, TrialPeriodUnits, BillingModel, PricingType, SubscriptionDecisionStrategy, ExperimentGroupType, Currency, DiscountType, DiscountDurationType, UsageUpdateBehavior, EntitlementResetPeriod, AccessDeniedReason, FeatureType, MeterType, ProvisionSubscriptionStatus, TiersMode, PriceTierFragment, TotalPriceFragment, BillingAddress, MonthlyAccordingTo, WeeklyAccordingTo, CustomerStatisticsFragment, TrialOverrideConfigurationInput, ScheduleStrategy, BillingCadence, ImportSubscriptionInput, PaymentCollectionMethod, BudgetConfigurationInput, SubscriptionCouponInput, PriceOverrideInput, SubscriptionProrationBehavior, CreditGrantFragment, CreditLedgerFragment, ChargeInput, PackageEntitlementUnionFragment } from '@stigg/api-client-js/src/generated/sdk';
2
2
  export * from '@stigg/api-client-js/src/generated/sdk';
3
3
  export interface Metadata {
4
4
  [key: string]: string;
@@ -67,7 +67,17 @@ export interface CreditEntitlement {
67
67
  remaining: number;
68
68
  usagePeriodEnd?: Date;
69
69
  }
70
+ /** Feature-only entitlement (excludes CreditEntitlement). Use Entitlement for polymorphic APIs. */
70
71
  export type Entitlement = BooleanEntitlement | NumericEntitlement | MeteredEntitlement | EnumEntitlement;
72
+ export type EntitlementV2 = Entitlement | CreditEntitlement;
73
+ export type CustomerEntitlementsResult = {
74
+ entitlements: Entitlement[];
75
+ accessDeniedReason: AccessDeniedReason | null;
76
+ };
77
+ export type CustomerEntitlementsResultV2 = {
78
+ entitlements: EntitlementV2[];
79
+ accessDeniedReason: AccessDeniedReason | null;
80
+ };
71
81
  /** @internal */
72
82
  export declare const BOOLEAN_DEFAULT_FALLBACK_ENTITLEMENT: BooleanEntitlement;
73
83
  /** @internal */
@@ -88,7 +98,9 @@ export type Addon = {
88
98
  displayName: string;
89
99
  billingId?: string | null;
90
100
  description: string;
101
+ /** @deprecated Use {@link packageEntitlements} instead to retrieve both feature and credit entitlements. */
91
102
  entitlements: PackageEntitlement[];
103
+ packageEntitlements: PackageEntitlementUnionFragment[];
92
104
  pricePoints: Price[];
93
105
  pricingType?: PricingType | null;
94
106
  metadata?: Metadata | null;
@@ -482,7 +494,25 @@ export type GetEntitlement = {
482
494
  resourceId?: string;
483
495
  options?: EntitlementOptions;
484
496
  };
497
+ type GetEntitlementV2CommonParams = {
498
+ customerId: string;
499
+ resourceId?: string;
500
+ options?: EntitlementOptionsV2;
501
+ };
502
+ /** For feature entitlements. */
503
+ type GetEntitlementV2FeatureParams = GetEntitlementV2CommonParams & {
504
+ featureId: string;
505
+ currencyId?: never;
506
+ };
507
+ /** For credit entitlements (custom currency id). */
508
+ type GetEntitlementV2CreditParams = GetEntitlementV2CommonParams & {
509
+ currencyId: string;
510
+ featureId?: never;
511
+ };
512
+ /** Exactly one of featureId or currencyId must be set. */
513
+ export type GetEntitlementV2Params = GetEntitlementV2FeatureParams | GetEntitlementV2CreditParams;
485
514
  export type EntitlementOptions = BooleanEntitlementOptions | NumericEntitlementOptions | MeteredEntitlementOptions | EnumEntitlementOptions;
515
+ export type EntitlementOptionsV2 = EntitlementOptions | CreditEntitlementOptions;
486
516
  export type ReportUsage = {
487
517
  customerId: string;
488
518
  resourceId?: string;
@@ -613,6 +643,9 @@ export type TaxExempt = {
613
643
  export type EntitlementsFallback = {
614
644
  [featureId: string]: BooleanEntitlementFallback | NumericEntitlementFallback | MeteredEntitlementFallback | EnumEntitlementFallback;
615
645
  };
646
+ export type CreditEntitlementsFallback = {
647
+ [currencyId: string]: CreditEntitlementFallback;
648
+ };
616
649
  export type BooleanEntitlementFallback = {
617
650
  hasAccess: boolean;
618
651
  };
@@ -784,8 +817,12 @@ export type Plan = {
784
817
  description?: string | null;
785
818
  order: number;
786
819
  basePlan?: BasePlan;
820
+ /** @deprecated Use {@link packageEntitlements} instead to retrieve both feature and credit entitlements. */
787
821
  entitlements: PackageEntitlement[];
822
+ /** @deprecated Use {@link inheritedPackageEntitlements} instead to retrieve both feature and credit entitlements. */
788
823
  inheritedEntitlements: PackageEntitlement[];
824
+ packageEntitlements: PackageEntitlementUnionFragment[];
825
+ inheritedPackageEntitlements: PackageEntitlementUnionFragment[];
789
826
  pricePoints: Price[];
790
827
  pricingType?: PricingType | null;
791
828
  defaultTrialConfig?: DefaultTrialConfig | null;
package/dist/models.js CHANGED
@@ -77,4 +77,4 @@ class CustomerModel {
77
77
  }
78
78
  }
79
79
  exports.CustomerModel = CustomerModel;
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdFQWtEZ0Q7QUFFaEQseUVBQXVEO0FBcUZ2RCxnQkFBZ0I7QUFDSCxRQUFBLG9DQUFvQyxHQUF1QjtJQUN0RSxJQUFJLEVBQUUsU0FBUztJQUNmLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLGtCQUFrQixFQUFFLHdCQUFrQixDQUFDLE9BQU87Q0FDL0MsQ0FBQztBQUVGLGdCQUFnQjtBQUNILFFBQUEsb0NBQW9DLEdBQXVCO0lBQ3RFLElBQUksRUFBRSxTQUFTO0lBQ2YsVUFBVSxFQUFFLElBQUk7SUFDaEIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsV0FBVyxFQUFFLEtBQUs7SUFDbEIsa0JBQWtCLEVBQUUsd0JBQWtCLENBQUMsT0FBTztDQUMvQyxDQUFDO0FBRUYsZ0JBQWdCO0FBQ0gsUUFBQSxvQ0FBb0MsR0FBdUI7SUFDdEUsSUFBSSxFQUFFLFNBQVM7SUFDZixVQUFVLEVBQUUsSUFBSTtJQUNoQixTQUFTLEVBQUUsS0FBSztJQUNoQixXQUFXLEVBQUUsS0FBSztJQUNsQixZQUFZLEVBQUUsS0FBSztJQUNuQixZQUFZLEVBQUUsQ0FBQztJQUNmLGNBQWMsRUFBRSxDQUFDO0lBQ2pCLGtCQUFrQixFQUFFLHdCQUFrQixDQUFDLE9BQU87Q0FDL0MsQ0FBQztBQUVGLGdCQUFnQjtBQUNILFFBQUEsaUNBQWlDLEdBQW9CO0lBQ2hFLElBQUksRUFBRSxNQUFNO0lBQ1osVUFBVSxFQUFFLElBQUk7SUFDaEIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsVUFBVSxFQUFFLEVBQUU7SUFDZCxrQkFBa0IsRUFBRSx3QkFBa0IsQ0FBQyxPQUFPO0NBQy9DLENBQUM7QUFFRixnQkFBZ0I7QUFDSCxRQUFBLG1DQUFtQyxHQUFzQjtJQUNwRSxVQUFVLEVBQUUsSUFBSTtJQUNoQixTQUFTLEVBQUUsS0FBSztJQUNoQixrQkFBa0IsRUFBRSx3QkFBa0IsQ0FBQyxPQUFPO0lBQzlDLFFBQVEsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUU7SUFDNUIsVUFBVSxFQUFFLENBQUM7SUFDYixZQUFZLEVBQUUsQ0FBQztJQUNmLFNBQVMsRUFBRSxDQUFDO0NBQ2IsQ0FBQztBQXk0QkYsY0FBYztBQUNkLE1BQWEsYUFBYTtJQVN4QixZQUFZLEtBQW9CO1FBQzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyx3QkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssd0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELGdDQUFnQztRQUM5QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssa0NBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEcsQ0FBQztDQUNGO0FBeEJELHNDQXdCQyJ9
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdFQWtEZ0Q7QUFFaEQseUVBQXVEO0FBa0d2RCxnQkFBZ0I7QUFDSCxRQUFBLG9DQUFvQyxHQUF1QjtJQUN0RSxJQUFJLEVBQUUsU0FBUztJQUNmLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLGtCQUFrQixFQUFFLHdCQUFrQixDQUFDLE9BQU87Q0FDL0MsQ0FBQztBQUVGLGdCQUFnQjtBQUNILFFBQUEsb0NBQW9DLEdBQXVCO0lBQ3RFLElBQUksRUFBRSxTQUFTO0lBQ2YsVUFBVSxFQUFFLElBQUk7SUFDaEIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsV0FBVyxFQUFFLEtBQUs7SUFDbEIsa0JBQWtCLEVBQUUsd0JBQWtCLENBQUMsT0FBTztDQUMvQyxDQUFDO0FBRUYsZ0JBQWdCO0FBQ0gsUUFBQSxvQ0FBb0MsR0FBdUI7SUFDdEUsSUFBSSxFQUFFLFNBQVM7SUFDZixVQUFVLEVBQUUsSUFBSTtJQUNoQixTQUFTLEVBQUUsS0FBSztJQUNoQixXQUFXLEVBQUUsS0FBSztJQUNsQixZQUFZLEVBQUUsS0FBSztJQUNuQixZQUFZLEVBQUUsQ0FBQztJQUNmLGNBQWMsRUFBRSxDQUFDO0lBQ2pCLGtCQUFrQixFQUFFLHdCQUFrQixDQUFDLE9BQU87Q0FDL0MsQ0FBQztBQUVGLGdCQUFnQjtBQUNILFFBQUEsaUNBQWlDLEdBQW9CO0lBQ2hFLElBQUksRUFBRSxNQUFNO0lBQ1osVUFBVSxFQUFFLElBQUk7SUFDaEIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsVUFBVSxFQUFFLEVBQUU7SUFDZCxrQkFBa0IsRUFBRSx3QkFBa0IsQ0FBQyxPQUFPO0NBQy9DLENBQUM7QUFFRixnQkFBZ0I7QUFDSCxRQUFBLG1DQUFtQyxHQUFzQjtJQUNwRSxVQUFVLEVBQUUsSUFBSTtJQUNoQixTQUFTLEVBQUUsS0FBSztJQUNoQixrQkFBa0IsRUFBRSx3QkFBa0IsQ0FBQyxPQUFPO0lBQzlDLFFBQVEsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUU7SUFDNUIsVUFBVSxFQUFFLENBQUM7SUFDYixZQUFZLEVBQUUsQ0FBQztJQUNmLFNBQVMsRUFBRSxDQUFDO0NBQ2IsQ0FBQztBQTA2QkYsY0FBYztBQUNkLE1BQWEsYUFBYTtJQVN4QixZQUFZLEtBQW9CO1FBQzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyx3QkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssd0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELGdDQUFnQztRQUM5QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssa0NBQTRCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEcsQ0FBQztDQUNGO0FBeEJELHNDQXdCQyJ9
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildUsageUpdatedV1Payload = exports.mapEntitlementsUpdatedV2ToV1 = void 0;
4
+ const entitlementTypeGuards_1 = require("../utils/entitlementTypeGuards");
4
5
  const lodash_1 = require("lodash");
5
6
  function toEpochMs(date) {
6
7
  if ((0, lodash_1.isNil)(date)) {
@@ -26,7 +27,7 @@ function toIsoString(date) {
26
27
  */
27
28
  function mapEntitlementsUpdatedV2ToV1(v2Payload) {
28
29
  // Filter out credit entitlements (only keep feature entitlements)
29
- const featureEntitlements = v2Payload.entitlements.filter((e) => e.__typename === 'FeatureEntitlement');
30
+ const featureEntitlements = v2Payload.entitlements.filter(entitlementTypeGuards_1.isFeatureEntitlementFragment);
30
31
  // Map FeatureEntitlement to legacy Entitlement type
31
32
  const legacyEntitlements = featureEntitlements.map((fe) => (Object.assign(Object.assign({}, (0, lodash_1.omit)(fe, '__typename')), { __typename: 'Entitlement', customerId: null, resourceId: null, requestedUsage: null, requestedValues: null, nextResetDate: fe.usagePeriodEnd })));
32
33
  return {
@@ -99,4 +100,4 @@ function buildUsageUpdatedV1Payload(customerId, resourceId, cachedEntitlement) {
99
100
  };
100
101
  }
101
102
  exports.buildUsageUpdatedV1Payload = buildUsageUpdatedV1Payload;
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGVnYWN5RXZlbnRQYXlsb2FkTWFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL0xlZ2FjeUV2ZW50UGF5bG9hZE1hcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxtQ0FBcUM7QUFNckMsU0FBUyxTQUFTLENBQUMsSUFBK0M7SUFDaEUsSUFBSSxJQUFBLGNBQUssRUFBQyxJQUFJLENBQUMsRUFBRTtRQUNmLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUM1QixPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUNsQyxDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsSUFBK0M7SUFDbEUsSUFBSSxJQUFBLGNBQUssRUFBQyxJQUFJLENBQUMsRUFBRTtRQUNmLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUM1QixPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUN0QyxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IsNEJBQTRCLENBQzFDLFNBQXVDO0lBRXZDLGtFQUFrRTtJQUNsRSxNQUFNLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUN2RCxDQUFDLENBQUMsRUFBMEUsRUFBRSxDQUM1RSxDQUFDLENBQUMsVUFBVSxLQUFLLG9CQUFvQixDQUN4QyxDQUFDO0lBRUYsb0RBQW9EO0lBQ3BELE1BQU0sa0JBQWtCLEdBQStELG1CQUFtQixDQUFDLEdBQUcsQ0FDNUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLGlDQUNILElBQUEsYUFBSSxFQUFDLEVBQUUsRUFBRSxZQUFZLENB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
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGVnYWN5RXZlbnRQYXlsb2FkTWFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL0xlZ2FjeUV2ZW50UGF5bG9hZE1hcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFPQSwwRUFBOEU7QUFDOUUsbUNBQXFDO0FBTXJDLFNBQVMsU0FBUyxDQUFDLElBQStDO0lBQ2hFLElBQUksSUFBQSxjQUFLLEVBQUMsSUFBSSxDQUFDLEVBQUU7UUFDZixPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDNUIsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDbEMsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLElBQStDO0lBQ2xFLElBQUksSUFBQSxjQUFLLEVBQUMsSUFBSSxDQUFDLEVBQUU7UUFDZixPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDNUIsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDdEMsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLDRCQUE0QixDQUMxQyxTQUF1QztJQUV2QyxrRUFBa0U7SUFDbEUsTUFBTSxtQkFBbUIsR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxvREFBNEIsQ0FBQyxDQUFDO0lBRXhGLG9EQUFvRDtJQUNwRCxNQUFNLGtCQUFrQixHQUErRCxtQkFBbUIsQ0FBQyxHQUFHLENBQzVHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxpQ0FDSCxJQUFBLGFBQUksRUFBQyxFQUFFLEVBQUUsWUFBWSxDQUFDLEtBQ3pCLFVBQVUsRUFBRSxhQUFzQixFQUNsQyxVQUFV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
@@ -1,19 +1,15 @@
1
1
  import EntitlementsApi from '../api/entitlements/entitlementsApi';
2
2
  import { LoggerService } from './loggerService';
3
3
  import { ApolloClient, FetchResult, NormalizedCacheObject } from '@apollo/client/core';
4
- import { BooleanEntitlement, BooleanEntitlementOptions, CreateUsageMeasurement, CreditEntitlement, Entitlement, EnumEntitlement, EnumEntitlementOptions, MeteredEntitlement, MeteredEntitlementOptions, NumericEntitlement, NumericEntitlementOptions, ReportEvent } from '../models';
4
+ import { BooleanEntitlement, BooleanEntitlementOptions, CustomerEntitlementsResultV2, CreateUsageMeasurement, CreditEntitlement, EntitlementV2, EnumEntitlement, EnumEntitlementOptions, EntitlementOptionsV2, MeteredEntitlement, MeteredEntitlementOptions, NumericEntitlement, NumericEntitlementOptions, ReportEvent } from '../models';
5
5
  import { ModelMapper } from '../utils/ModelMapper';
6
- import { CacheService, EntitlementsMap, AccessDeniedReason, EntitlementsStateAccessDeniedReason } from './cache';
6
+ import { CacheService, EntitlementQuery, EntitlementsMap, EntitlementsStateAccessDeniedReason } from './cache';
7
7
  import { Maybe } from '../types';
8
8
  import { EdgeApiClient } from './EdgeApiClient';
9
9
  import { EntitlementUnionFragment, ReportEventMutation, ReportUsageBulkInput, ReportUsageBulkMutation, ReportUsageFragment, ReportUsageMutation } from '@stigg/api-client-js/src/generated/sdk';
10
10
  import { EntitlementsResponse, EntitlementsResponseCacheHit } from './cache';
11
11
  import { RefetchEntitlementsAfterCacheMissParams, RefetchEntitlementsParams, RefetchEntityEntitlementsAfterCacheMissParams } from './entitlementsService.utils';
12
12
  import { CacheableEntitlement } from './ApiCacheMapper';
13
- export interface CustomerEntitlementsResult {
14
- entitlements: Entitlement[];
15
- accessDeniedReason: AccessDeniedReason | null;
16
- }
17
13
  export declare abstract class EntitlementsService {
18
14
  protected readonly loggerService: LoggerService;
19
15
  protected readonly cacheService: CacheService<CacheableEntitlement>;
@@ -27,9 +23,9 @@ export declare abstract class EntitlementsService {
27
23
  getMeteredEntitlement(customerId: string, featureRefId: string, fallbackEntitlement: MeteredEntitlement, resourceId?: string, options?: MeteredEntitlementOptions): Promise<MeteredEntitlement>;
28
24
  getEnumEntitlement(customerId: string, featureRefId: string, fallbackEntitlement: EnumEntitlement, resourceId?: string, options?: EnumEntitlementOptions): Promise<EnumEntitlement>;
29
25
  getCreditEntitlement(customerId: string, currencyId: string, resourceId?: string): Promise<CreditEntitlement>;
30
- getEntitlement(customerId: string, featureRefId: string, fallbackEntitlement: Entitlement, resourceId?: string, requestedUsage?: number, requestedValues?: string[]): Promise<Entitlement>;
26
+ getEntitlement(entitlementReference: EntitlementQuery, customerRefId: string, resourceId: string | undefined, options?: EntitlementOptionsV2, fallbackEntitlement?: EntitlementV2): Promise<EntitlementV2>;
31
27
  private getCustomerAndEntitlementFromCacheOrRefetch;
32
- getCustomerEntitlements(customerId: string, resourceId: string | undefined): Promise<CustomerEntitlementsResult>;
28
+ getCustomerEntitlements(customerId: string, resourceId: string | undefined): Promise<CustomerEntitlementsResultV2>;
33
29
  abstract clearCache(): void | Promise<void>;
34
30
  abstract init(): void | Promise<void>;
35
31
  abstract cleanup(): void | Promise<void>;
@@ -16,6 +16,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.EntitlementsService = void 0;
18
18
  const entitlementsApi_1 = __importDefault(require("../api/entitlements/entitlementsApi"));
19
+ const entitlementFallbackUtils_1 = require("../utils/entitlementFallbackUtils");
19
20
  const ModelMapper_1 = require("../utils/ModelMapper");
20
21
  const entitlementDecisionService_1 = require("./entitlementDecisionService");
21
22
  const cache_1 = require("./cache");
@@ -32,7 +33,9 @@ class EntitlementsService {
32
33
  this.modelMapper = new ModelMapper_1.ModelMapper();
33
34
  this.entitlementsApi = new entitlementsApi_1.default(client, edgeApiClient, loggerService);
34
35
  }
35
- async getBooleanEntitlement(customerId, featureRefId, fallbackEntitlement, resourceId, options) {
36
+ async getBooleanEntitlement(customerId, featureRefId, fallbackEntitlement, resourceId,
37
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -- kept for API compatibility
38
+ options) {
36
39
  const { entitlement, accessDeniedReason } = await this.getCustomerAndEntitlementFromCacheOrRefetch({ type: cache_1.EntitlementType.Feature, id: featureRefId }, customerId, resourceId, 'getBooleanEntitlement');
37
40
  const decision = entitlementDecisionService_1.EntitlementDecisionService.decideEntitlementPolicy({
38
41
  entitlementType: cache_1.EntitlementType.Feature,
@@ -53,7 +56,9 @@ class EntitlementsService {
53
56
  }
54
57
  return this.modelMapper.mapBooleanEntitlement(entitlement, decision);
55
58
  }
56
- async getNumericEntitlement(customerId, featureRefId, fallbackEntitlement, resourceId, options) {
59
+ async getNumericEntitlement(customerId, featureRefId, fallbackEntitlement, resourceId,
60
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars -- kept for API compatibility
61
+ options) {
57
62
  const { entitlement, accessDeniedReason } = await this.getCustomerAndEntitlementFromCacheOrRefetch({ type: cache_1.EntitlementType.Feature, id: featureRefId }, customerId, resourceId, 'getNumericEntitlement');
58
63
  const decision = entitlementDecisionService_1.EntitlementDecisionService.decideEntitlementPolicy({
59
64
  entitlementType: cache_1.EntitlementType.Feature,
@@ -146,25 +151,29 @@ class EntitlementsService {
146
151
  }
147
152
  return this.modelMapper.mapCreditEntitlement(entitlement, decision);
148
153
  }
149
- async getEntitlement(customerId, featureRefId, fallbackEntitlement, resourceId, requestedUsage, requestedValues) {
150
- const { entitlement, accessDeniedReason } = await this.getCustomerAndEntitlementFromCacheOrRefetch({ type: cache_1.EntitlementType.Feature, id: featureRefId }, customerId, resourceId, 'getEntitlement');
154
+ async getEntitlement(entitlementReference, customerRefId, resourceId, options, fallbackEntitlement) {
155
+ var _a;
156
+ const requestedUsage = (0, entitlementFallbackUtils_1.isMeteredEntitlementOptions)(options) ? options.requestedUsage : undefined;
157
+ const requestedValues = (0, entitlementFallbackUtils_1.isEnumEntitlementOptions)(options) ? options.requestedValues : undefined;
158
+ const { entitlement, accessDeniedReason } = await this.getCustomerAndEntitlementFromCacheOrRefetch(entitlementReference, customerRefId, resourceId, 'getEntitlement');
151
159
  const decision = entitlementDecisionService_1.EntitlementDecisionService.decideEntitlementPolicy({
152
- entitlementType: cache_1.EntitlementType.Feature,
160
+ entitlementType: entitlementReference.type,
153
161
  accessDeniedReason,
154
162
  entitlement,
155
163
  requestedUsage,
156
164
  requestedValues,
157
165
  });
158
166
  if (!entitlement) {
159
- this.loggerService.log(`No entitlement for feature found`, {
160
- customerId,
167
+ this.loggerService.log(`No entitlement found for reference`, {
168
+ customerRefId,
161
169
  resourceId,
162
- featureRefId,
170
+ entitlementReference,
163
171
  accessDeniedReason: decision.accessDeniedReason,
164
172
  });
165
- // Return the fallback entitlement as-is without overriding with decision
166
- // The fallback should contain the desired hasAccess value from user options
167
- return Object.assign(Object.assign({}, fallbackEntitlement), { isFallback: true });
173
+ if (fallbackEntitlement) {
174
+ return Object.assign(Object.assign({}, fallbackEntitlement), { accessDeniedReason: (_a = decision.accessDeniedReason) !== null && _a !== void 0 ? _a : fallbackEntitlement.accessDeniedReason, isFallback: true });
175
+ }
176
+ return (0, entitlementFallbackUtils_1.getEntitlementV2FallbackFromOptions)(entitlementReference, options, decision.accessDeniedReason);
168
177
  }
169
178
  return this.modelMapper.mapEntitlement(entitlement, decision, requestedUsage, requestedValues);
170
179
  }
@@ -200,12 +209,10 @@ class EntitlementsService {
200
209
  if (!entitlements) {
201
210
  return { entitlements: [], accessDeniedReason: accessDeniedReason !== null && accessDeniedReason !== void 0 ? accessDeniedReason : null };
202
211
  }
203
- // Filter to feature entitlements only - credit entitlement mapping is out of scope for now
204
- const featureEntitlements = entitlements.values().filter(cache_1.isFeatureEntitlement);
205
212
  return {
206
- entitlements: featureEntitlements.map((value) => {
213
+ entitlements: entitlements.values().map((value) => {
207
214
  const decision = entitlementDecisionService_1.EntitlementDecisionService.decideEntitlementPolicy({
208
- entitlementType: cache_1.EntitlementType.Feature,
215
+ entitlementType: value.getEntitlementQuery().type,
209
216
  accessDeniedReason,
210
217
  entitlement: value,
211
218
  });
@@ -342,4 +349,4 @@ class EntitlementsService {
342
349
  }
343
350
  }
344
351
  exports.EntitlementsService = EntitlementsService;
345
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRsZW1lbnRzU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9lbnRpdGxlbWVudHNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMEZBQWtFO0FBaUJsRSxzREFBbUQ7QUFDbkQsNkVBQTBFO0FBQzFFLG1DQVNpQjtBQUNqQixtQ0FBd0M7QUFHeEMsa0RBQTBEO0FBUzFELG1DQUtpQjtBQU9qQix3REFBZ0Y7QUFPaEYsTUFBc0IsbUJBQW1CO0lBTXZDLFlBQ0UsTUFBMkMsRUFDeEIsYUFBNEIsRUFDL0MsYUFBbUMsRUFDaEIsWUFBZ0QsRUFDbEQsbUJBQTJCO1FBSHpCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBRTVCLGlCQUFZLEdBQVosWUFBWSxDQUFvQztRQUNsRCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQVE7UUFQcEMsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFTOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLHlCQUFXLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUkseUJBQWUsQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxLQUFLLENBQUMscUJBQXFCLENBQ3pCLFVBQWtCLEVBQ2xCLFlBQW9CLEVBQ3BCLG1CQUF1QyxFQUN2QyxVQUFtQixFQUNuQixPQUFtQztRQUVuQyxNQUFNLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsMkNBQTJDLENBQ2hHLEVBQUUsSUFBSSxFQUFFLHVCQUFlLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsRUFDbkQsVUFBVSxFQUNWLFVBQVUsRUFDVix1QkFBdUIsQ0FDeEIsQ0FBQztRQUVGLE1BQU0sUUFBUSxHQUFHLHVEQUEwQixDQUFDLHVCQUF1QixDQUFDO1lBQ2xFLGVB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
352
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRsZW1lbnRzU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9lbnRpdGxlbWVudHNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMEZBQWtFO0FBcUJsRSxnRkFJMkM7QUFDM0Msc0RBQW1EO0FBQ25ELDZFQUEwRTtBQUMxRSxtQ0FTaUI7QUFDakIsbUNBQXdDO0FBR3hDLGtEQUEwRDtBQVMxRCxtQ0FLaUI7QUFPakIsd0RBQWdGO0FBRWhGLE1BQXNCLG1CQUFtQjtJQU12QyxZQUNFLE1BQTJDLEVBQ3hCLGFBQTRCLEVBQy9DLGFBQW1DLEVBQ2hCLFlBQWdELEVBQ2xELG1CQUEyQjtRQUh6QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUU1QixpQkFBWSxHQUFaLFlBQVksQ0FBb0M7UUFDbEQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFRO1FBUHBDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBUzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSx5QkFBVyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLHlCQUFlLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsS0FBSyxDQUFDLHFCQUFxQixDQUN6QixVQUFrQixFQUNsQixZQUFvQixFQUNwQixtQkFBdUMsRUFDdkMsVUFBbUI7SUFDbkIsMkZBQTJGO0lBQzNGLE9BQW1DO1FBRW5DLE1BQU0sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQywyQ0FBMkMsQ0FDaEcsRUFBRSxJQUFJLEVBQUUsdUJBQWUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxFQUNuRCxVQUFVLEVBQ1YsVUFBVSxFQUNWLHVCQUF1QixDQUN4QixDQUFDO1FBRUYsTUFBTSxRQUFRLEdBQUcsdURBQTBC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
@@ -1,9 +1,10 @@
1
1
  import { ApplySubscriptionMutation, CustomerResourceFragment, CustomerStatisticsFragment, CustomerWithSubscriptionsFragment, GetCouponsQuery, GetPaywallQuery, GetProductsQuery, ImmediateSubscriptionPreviewInvoiceFragment, ProvisionCustomerMutation, ProvisionSubscriptionMutation, ReportUsageFragment, SlimCustomerFragment, SlimSubscriptionFragment, SubscriptionFragment, SubscriptionPreviewFragment, SubscriptionPreviewInvoiceFragment, SubscriptionPreviewV2Fragment, UsageHistoryFragment } from '@stigg/api-client-js/src/generated/sdk';
2
- import { ApplySubscriptionResults, BooleanEntitlement, Coupon, CreditEntitlement, CustomerResource, CustomerStatisticsModel, Entitlement, EnumEntitlement, FullCustomer, FullSubscription, MeteredEntitlement, Money, NumericEntitlement, Paywall, Plan, Price, Product, ProvisionedCustomer, ProvisionSubscriptionResult, ReportUsageAck, SlimCustomer, Subscription, SubscriptionPreview, SubscriptionPreviewCredits, SubscriptionPreviewDiscount, SubscriptionPreviewInvoice, SubscriptionPreviewV2, UsageHistoryPoint } from '../models';
2
+ import { ApplySubscriptionResults, BooleanEntitlement, Coupon, CreditEntitlement, CustomerResource, CustomerStatisticsModel, Entitlement, EntitlementV2, EnumEntitlement, FullCustomer, FullSubscription, MeteredEntitlement, Money, NumericEntitlement, Paywall, Plan, Price, Product, ProvisionedCustomer, ProvisionSubscriptionResult, ReportUsageAck, SlimCustomer, Subscription, SubscriptionPreview, SubscriptionPreviewCredits, SubscriptionPreviewDiscount, SubscriptionPreviewInvoice, SubscriptionPreviewV2, UsageHistoryPoint } from '../models';
3
3
  import { Decision } from '../services/entitlementDecisionService';
4
4
  import { CachedEntitlement, EntitlementType } from '../services/cache';
5
5
  declare class ModelMapper {
6
- mapEntitlement(entitlement: CachedEntitlement<EntitlementType.Feature>, decision: Decision, requestedUsage?: number, requestedValues?: string[]): Entitlement;
6
+ mapEntitlement(entitlement: CachedEntitlement, decision: Decision, requestedUsage?: number, requestedValues?: string[]): EntitlementV2;
7
+ mapFeatureEntitlement(entitlement: CachedEntitlement<EntitlementType.Feature>, decision: Decision, requestedUsage?: number, requestedValues?: string[]): Entitlement;
7
8
  mapBooleanEntitlement(entitlement: CachedEntitlement<EntitlementType.Feature>, decision: Decision): BooleanEntitlement;
8
9
  mapEnumEntitlement(entitlement: CachedEntitlement<EntitlementType.Feature>, decision: Decision, requestedValues?: string[]): EnumEntitlement;
9
10
  mapNumericEntitlement(entitlement: CachedEntitlement<EntitlementType.Feature>, decision: Decision): NumericEntitlement;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ModelMapper = void 0;
4
4
  const sdk_1 = require("@stigg/api-client-js/src/generated/sdk");
5
5
  const models_1 = require("../models");
6
+ const cache_1 = require("../services/cache");
6
7
  const lodash_1 = require("lodash");
7
8
  const featureTypes_1 = require("./featureTypes");
8
9
  const dateUtils_1 = require("./dateUtils");
@@ -83,6 +84,15 @@ class ModelMapper {
83
84
  };
84
85
  }
85
86
  mapEntitlement(entitlement, decision, requestedUsage, requestedValues) {
87
+ if ((0, cache_1.isFeatureEntitlement)(entitlement)) {
88
+ return this.mapFeatureEntitlement(entitlement, decision, requestedUsage, requestedValues);
89
+ }
90
+ if ((0, cache_1.isCreditEntitlement)(entitlement)) {
91
+ return this.mapCreditEntitlement(entitlement, decision);
92
+ }
93
+ throw new Error(`Unknown entitlement type: ${entitlement.calculatedEntitlement.type}`);
94
+ }
95
+ mapFeatureEntitlement(entitlement, decision, requestedUsage, requestedValues) {
86
96
  const { calculatedEntitlement } = entitlement;
87
97
  if (!calculatedEntitlement.feature) {
88
98
  return this.mapBooleanEntitlement(entitlement, decision);
@@ -241,6 +251,7 @@ class ModelMapper {
241
251
  return mappedPrice;
242
252
  }
243
253
  mapPlan(plan, order = 0) {
254
+ var _a, _b;
244
255
  return {
245
256
  id: plan.refId,
246
257
  order,
@@ -250,6 +261,8 @@ class ModelMapper {
250
261
  basePlan: plan.basePlan ? { id: plan.basePlan.refId, displayName: plan.basePlan.displayName } : undefined,
251
262
  entitlements: (0, lodash_1.map)(plan.entitlements, (entitlement) => this.mapPackageEntitlement(entitlement)),
252
263
  inheritedEntitlements: (0, lodash_1.map)(plan.inheritedEntitlements, (entitlement) => this.mapPackageEntitlement(entitlement)),
264
+ packageEntitlements: (_a = plan.packageEntitlements) !== null && _a !== void 0 ? _a : [],
265
+ inheritedPackageEntitlements: (_b = plan.inheritedPackageEntitlements) !== null && _b !== void 0 ? _b : [],
253
266
  pricePoints: (0, lodash_1.map)(plan.prices, (price) => this.mapPrice(price)),
254
267
  pricingType: plan.pricingType,
255
268
  defaultTrialConfig: this.mapDefaultTrialConfig(plan.defaultTrialConfig),
@@ -407,18 +420,19 @@ class ModelMapper {
407
420
  };
408
421
  }
409
422
  mapAddon(addon) {
410
- var _a;
423
+ var _a, _b;
411
424
  return {
412
425
  id: addon.refId,
413
426
  displayName: addon.displayName,
414
427
  billingId: addon.billingId,
415
428
  description: addon.description || '',
416
429
  entitlements: (0, lodash_1.map)(addon.entitlements, (x) => this.mapPackageEntitlement(x)),
430
+ packageEntitlements: (_a = addon.packageEntitlements) !== null && _a !== void 0 ? _a : [],
417
431
  pricePoints: (0, lodash_1.map)(addon.prices, (price) => this.mapPrice(price)),
418
432
  pricingType: addon.pricingType,
419
433
  metadata: addon.additionalMetaData,
420
434
  maxQuantity: addon.maxQuantity || undefined,
421
- dependencies: ((_a = addon.dependencies) === null || _a === void 0 ? void 0 : _a.map((dependency) => this.mapDependencyAddon(dependency))) || [],
435
+ dependencies: ((_b = addon.dependencies) === null || _b === void 0 ? void 0 : _b.map((dependency) => this.mapDependencyAddon(dependency))) || [],
422
436
  };
423
437
  }
424
438
  mapPromotionalEntitlement(entitlement) {
@@ -601,4 +615,4 @@ class ModelMapper {
601
615
  }
602
616
  }
603
617
  exports.ModelMapper = ModelMapper;
604
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvTW9kZWxNYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0VBa0NnRDtBQUNoRCxzQ0F1Q21CO0FBR25CLG1DQUF5QztBQUN6QyxpREFBMkM7QUFDM0MsMkNBQXNDO0FBRXRDLE1BQU0sV0FBVztJQUFqQjtRQTRJRSxvQkFBZSxHQUFHLENBQUMsUUFBOEIsRUFBZ0IsRUFBRTtZQUNqRSxPQUFPO2dCQUNMLEVBQUUsRUFBRSxRQUFRLENBQUMsS0FBSztnQkFDbEIsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLElBQUksU0FBUztnQkFDaEMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLLElBQUksU0FBUztnQkFDbEMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxTQUFTLElBQUksU0FBUztnQkFDMUMsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7Z0JBQ3ZDLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO2dCQUN2QyxRQUFRLEVBQUUsUUFBUSxDQUFDLGtCQUFrQjtnQkFDckMsd0JBQXdCLEVBQUUsUUFBUSxDQUFDLHdCQUF3QjthQUM1RCxDQUFDO1FBQ0osQ0FBQyxDQUFDO1FBRUYsMkJBQXNCLEdBQUcsQ0FBQyx3QkFBbUQsRUFBdUIsRUFBRTtZQUNwRyxNQUFNLFFBQVEsR0FBaUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUV6RyxNQUFNLFlBQVksR0FBNkIsd0JBQXdCLENBQUMsaUJBQWlCLENBQUMsWUFBWTtnQkFDcEcsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUM7Z0JBQ25GLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFFZCxPQUFP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
618
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxNYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvTW9kZWxNYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0VBa0NnRDtBQUNoRCxzQ0F1Q21CO0FBRW5CLDZDQUFrSDtBQUNsSCxtQ0FBeUM7QUFDekMsaURBQTJDO0FBQzNDLDJDQUFzQztBQUV0QyxNQUFNLFdBQVc7SUFBakI7UUEySkUsb0JBQWUsR0FBRyxDQUFDLFFBQThCLEVBQWdCLEVBQUU7WUFDakUsT0FBTztnQkFDTCxFQUFFLEVBQUUsUUFBUSxDQUFDLEtBQUs7Z0JBQ2xCLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxJQUFJLFNBQVM7Z0JBQ2hDLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxJQUFJLFNBQVM7Z0JBQ2xDLFNBQVMsRUFBRSxRQUFRLENBQUMsU0FBUyxJQUFJLFNBQVM7Z0JBQzFDLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO2dCQUN2QyxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztnQkFDdkMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxrQkFBa0I7Z0JBQ3JDLHdCQUF3QixFQUFFLFFBQVEsQ0FBQyx3QkFBd0I7YUFDNUQsQ0FBQztRQUNKLENBQUMsQ0FBQztRQUVGLDJCQUFzQixHQUFHLENBQUMsd0JBQW1ELEVBQXVCLEVBQUU7WUFDcEcsTUFBTSxRQUFRLEdBQWlCLElBQUksQ0FBQyxlQUFlLENBQUMsd0JBQXdCLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFekcsTUFBTSxZQUFZLEdBQTZCLHdCQUF3QixDQUFDLGlCQUFpQixDQUFDLFlBQVk7Z0JBQ3BHLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsd0JBQXdCLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDO2dCQUNuRixDQUFDLENBQUMsU0FBUyxD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
@@ -0,0 +1,23 @@
1
+ import { AccessDeniedReason, CreditEntitlement, CreditEntitlementFallback, Entitlement, EntitlementV2 } from '../models';
2
+ import type { EntitlementOptionsV2, EnumEntitlementOptions, MeteredEntitlementOptions, NumericEntitlementOptions } from '../models';
3
+ import { EntitlementQuery } from '../services/cache';
4
+ export declare function isMeteredEntitlementOptions(options: EntitlementOptionsV2 | undefined): options is MeteredEntitlementOptions;
5
+ export declare function isEnumEntitlementOptions(options: EntitlementOptionsV2 | undefined): options is EnumEntitlementOptions;
6
+ /**
7
+ * True when options indicate a numeric (limit-based) feature fallback.
8
+ */
9
+ export declare function isNumericEntitlementOptions(options: EntitlementOptionsV2 | undefined): options is NumericEntitlementOptions;
10
+ /** Builds a credit fallback entitlement; remaining = max(usageLimit - currentUsage, 0) when both are set in fallback. */
11
+ export declare function buildCreditFallbackEntitlement(params: {
12
+ currencyId: string;
13
+ accessDeniedReason?: AccessDeniedReason;
14
+ fallback?: CreditEntitlementFallback;
15
+ }): CreditEntitlement;
16
+ /**
17
+ * Returns the appropriate default fallback entitlement for a feature (regular/getEntitlement path).
18
+ */
19
+ export declare function getFeatureFallbackFromOptions(options?: EntitlementOptionsV2): Entitlement;
20
+ /**
21
+ * Returns the appropriate fallback for getEntitlementV2: feature or credit, based on entitlementReference.type.
22
+ */
23
+ export declare function getEntitlementV2FallbackFromOptions(entitlementReference: EntitlementQuery, options?: EntitlementOptionsV2, accessDeniedReason?: AccessDeniedReason): EntitlementV2;