@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/client.d.ts CHANGED
@@ -1,8 +1,7 @@
1
- import { ApplySubscription, ApplySubscriptionResults, BooleanEntitlement, CancelSubscription, CancelSubscriptionScheduledUpdates, Coupon, CreateCustomer, CreateSubscription, CreditEntitlement, Customer, CustomerStatisticsModel, Entitlement, EstimateSubscription, EstimateSubscriptionUpdate, FetchUsageHistory, FullCustomer, FullSubscription, GetActiveSubscriptions, GetBooleanEntitlement, GetCreditEntitlement, GetEntitlement, GetMeteredEntitlement, GetNumericEntitlement, GetEnumEntitlement, GetPaywall, GetSubscription, GetSubscriptionsParams, GetSubscriptionsResult, ImportCustomer, ImportCustomerBulk, ImportSubscriptionBulk, MeteredEntitlement, MigrateSubscriptionToLatest, NumericEntitlement, Paywall, PreviewNextInvoice, PreviewSubscription, Product, ProvisionCustomer, ProvisionedCustomer, ProvisionSubscription, ProvisionSubscriptionResult, ReportEvent, ReportUsage, ReportUsageAck, ReportUsageBulk, Subscription, SubscriptionPreview, SubscriptionPreviewV2, UpdateCustomer, UpdateSubscription, UsageHistoryPoint, EnumEntitlement, GetCreditGrantsResult, GetCreditLedgerResult } from './models';
1
+ import { ApplySubscription, ApplySubscriptionResults, BooleanEntitlement, CancelSubscription, CancelSubscriptionScheduledUpdates, Coupon, CreateCustomer, CreateSubscription, CreditEntitlement, CustomerEntitlementsResult, CustomerEntitlementsResultV2, Customer, CustomerStatisticsModel, Entitlement, EntitlementV2, EstimateSubscription, EstimateSubscriptionUpdate, FetchUsageHistory, FullCustomer, FullSubscription, GetActiveSubscriptions, GetBooleanEntitlement, GetCreditEntitlement, GetEntitlement, GetEntitlementV2Params, GetMeteredEntitlement, GetNumericEntitlement, GetEnumEntitlement, GetPaywall, GetSubscription, GetSubscriptionsParams, GetSubscriptionsResult, ImportCustomer, ImportCustomerBulk, ImportSubscriptionBulk, MeteredEntitlement, MigrateSubscriptionToLatest, NumericEntitlement, Paywall, PreviewNextInvoice, PreviewSubscription, Product, ProvisionCustomer, ProvisionedCustomer, ProvisionSubscription, ProvisionSubscriptionResult, ReportEvent, ReportUsage, ReportUsageAck, ReportUsageBulk, Subscription, SubscriptionPreview, SubscriptionPreviewV2, UpdateCustomer, UpdateSubscription, UsageHistoryPoint, EnumEntitlement, GetCreditGrantsResult, GetCreditLedgerResult } from './models';
2
2
  import { ClientConfiguration } from './configuration';
3
3
  import { EventNames, Events } from './services/eventEmitter';
4
4
  import { DelegateSubscriptionToCustomerInput, GrantPromotionalEntitlementsInput, PromotionalEntitlementFragment, RevokePromotionalEntitlementInput, SlimSubscriptionFragmentV2Fragment, SubscriptionInvoicePreviewFragment, TransferSubscriptionInput, TransferSubscriptionToResourceInput, UsageHistoryV2Fragment, UsageHistoryV2Input, CreditGrantInput, CreditGrantFragment, GetCreditGrantsInput, CreditLedgerInput, CreditUsageInput, CreditsBalanceSummaryFragment, CreditBalanceSummaryInput, GrantPromotionalEntitlementsGroupInput, RevokePromotionalEntitlementsGroupInput, UnlinkPromotionalEntitlementsGroupInput, VoidCreditGrantInput, CreditUsageFragment, GetAutoRechargeSettingsInput, SaveAutoRechargeSettingsInput, AutoRechargeSettingsFragment } from '@stigg/api-client-js/src/generated/sdk';
5
- import { CustomerEntitlementsResult } from './services/entitlementsService';
6
5
  export interface StiggEntitlementAPI {
7
6
  getBooleanEntitlement: (params: GetBooleanEntitlement) => Promise<BooleanEntitlement>;
8
7
  getNumericEntitlement: (params: GetNumericEntitlement) => Promise<NumericEntitlement>;
@@ -10,6 +9,8 @@ export interface StiggEntitlementAPI {
10
9
  getEnumEntitlement: (params: GetEnumEntitlement) => Promise<EnumEntitlement>;
11
10
  getCreditEntitlement: (params: GetCreditEntitlement) => Promise<CreditEntitlement>;
12
11
  getEntitlement: (params: GetEntitlement) => Promise<Entitlement>;
12
+ getEntitlementV2: (params: GetEntitlementV2Params) => Promise<EntitlementV2>;
13
+ getEntitlementsStateV2: (customerId: string, resourceId?: string) => Promise<CustomerEntitlementsResultV2>;
13
14
  reportUsage: (params: ReportUsage) => Promise<ReportUsageAck>;
14
15
  reportUsageBulk: (params: ReportUsageBulk) => Promise<ReportUsageAck[]>;
15
16
  reportEvent: (params: ReportEvent | ReportEvent[]) => Promise<void>;
@@ -156,14 +157,27 @@ export declare class Stigg implements StiggEntitlementAPI, StiggManagementAPI {
156
157
  */
157
158
  getCreditEntitlement({ customerId, currencyId, resourceId, options, }: GetCreditEntitlement): Promise<CreditEntitlement>;
158
159
  /**
159
- * Get generic entitlement of feature for a customer
160
+ * Get entitlement for a feature for a customer (feature-only; for credit use getEntitlementV2).
161
+ * @deprecated Use {@link getEntitlementV2} for a unified API with `featureId`.
162
+ * This method is retained for backward compatibility and will be removed in a future major version.
160
163
  * @param {string} customerId
161
164
  * @param {string} resourceId
162
165
  * @param {string} featureId
163
166
  * @param {EntitlementOptions} options
164
- * @return {Entitlement} generic entitlement
167
+ * @return {Entitlement} feature entitlement
165
168
  */
166
169
  getEntitlement({ customerId, featureId, resourceId, options }: GetEntitlement): Promise<Entitlement>;
170
+ /**
171
+ * Get a single entitlement by reference (supports both feature and credit entitlements).
172
+ * @param params featureId or currencyId (exactly one), customerId, resourceId, options
173
+ * @return Entitlement (for feature) or CreditEntitlement (for credit)
174
+ */
175
+ getEntitlementV2({ featureId, currencyId, customerId, resourceId, options, }: GetEntitlementV2Params): Promise<EntitlementV2>;
176
+ private validateGetEntitlementV2Params;
177
+ private isFeatureEntitlementResult;
178
+ private getEntitlementReferenceFromParams;
179
+ private getFallbackForInvalidGetEntitlementV2Params;
180
+ private mergeEntitlementV2Fallback;
167
181
  /**
168
182
  * Get entitlements per user
169
183
  * @deprecated use getEntitlementsState instead
@@ -172,11 +186,20 @@ export declare class Stigg implements StiggEntitlementAPI, StiggManagementAPI {
172
186
  */
173
187
  getEntitlements(customerId: string, resourceId?: string): Promise<Entitlement[]>;
174
188
  /**
189
+ * @deprecated Use {@link getEntitlementsStateV2} for a unified API
175
190
  * Get entitlements per user alongside access denied reason
176
191
  * @param {string} customerId
177
192
  * @param {string} resourceId
178
193
  */
179
194
  getEntitlementsState(customerId: string, resourceId?: string): Promise<CustomerEntitlementsResult>;
195
+ /**
196
+ * Get entitlements per user alongside access denied reason (feature + credit)
197
+ * @param {string} customerId
198
+ * @param {string} resourceId
199
+ */
200
+ getEntitlementsStateV2(customerId: string, resourceId?: string): Promise<CustomerEntitlementsResultV2>;
201
+ private getEntitlementsV2Fallback;
202
+ private isFeatureLikeEntitlementResult;
180
203
  /**
181
204
  * Report usage event
182
205
  */
package/dist/client.js CHANGED
@@ -10,7 +10,9 @@ const apiErrorHandling_1 = require("./utils/apiErrorHandling");
10
10
  const lodash_1 = require("lodash");
11
11
  const sdk_1 = require("@stigg/api-client-js/src/generated/sdk");
12
12
  const initializationStateTracker_1 = require("./services/initializationStateTracker");
13
+ const cache_1 = require("./services/cache");
13
14
  const clientInitialization_1 = require("./clientInitialization");
15
+ const entitlementFallbackUtils_1 = require("./utils/entitlementFallbackUtils");
14
16
  const mapGetEntitlementsFallback_1 = require("./utils/mapGetEntitlementsFallback");
15
17
  let globalStiggInstance = null;
16
18
  /**
@@ -226,41 +228,127 @@ class Stigg {
226
228
  return entitlement || fallbackEntitlement;
227
229
  }
228
230
  /**
229
- * Get generic entitlement of feature for a customer
231
+ * Get entitlement for a feature for a customer (feature-only; for credit use getEntitlementV2).
232
+ * @deprecated Use {@link getEntitlementV2} for a unified API with `featureId`.
233
+ * This method is retained for backward compatibility and will be removed in a future major version.
230
234
  * @param {string} customerId
231
235
  * @param {string} resourceId
232
236
  * @param {string} featureId
233
237
  * @param {EntitlementOptions} options
234
- * @return {Entitlement} generic entitlement
238
+ * @return {Entitlement} feature entitlement
235
239
  */
236
240
  async getEntitlement({ customerId, featureId, resourceId, options }) {
237
- var _a;
238
- // Determine fallback based on options type or use boolean as default
239
- let fallbackEntitlement;
240
- const fallbackValue = (options === null || options === void 0 ? void 0 : options.fallback) || ((_a = this.config.entitlementsFallback) === null || _a === void 0 ? void 0 : _a[featureId]) || {};
241
- if (options && 'requestedUsage' in options) {
242
- fallbackEntitlement = Object.assign(Object.assign({}, models_1.METERED_DEFAULT_FALLBACK_ENTITLEMENT), fallbackValue);
243
- }
244
- else if (options && 'requestedValues' in options) {
245
- fallbackEntitlement = Object.assign(Object.assign({}, models_1.ENUM_DEFAULT_FALLBACK_ENTITLEMENT), fallbackValue);
241
+ var _a, _b;
242
+ const configFallback = (_a = this.config.entitlementsFallback) === null || _a === void 0 ? void 0 : _a[featureId];
243
+ // For backward compatibility: only use `options` for type discrimination.
244
+ // When options is undefined, it should default to BOOLEAN type (as it did before the refactor),
245
+ // but still use configFallback for the actual fallback values.
246
+ const fallbackEntitlement = (0, entitlementFallbackUtils_1.getFeatureFallbackFromOptions)(options);
247
+ const fallbackOverrides = (_b = options === null || options === void 0 ? void 0 : options.fallback) !== null && _b !== void 0 ? _b : configFallback;
248
+ const fallbackEntitlementWithValues = fallbackOverrides
249
+ ? Object.assign(Object.assign({}, fallbackEntitlement), fallbackOverrides) : fallbackEntitlement;
250
+ if (this.config.offline) {
251
+ return fallbackEntitlementWithValues;
246
252
  }
247
- else if (options && 'fallback' in options && options.fallback && 'value' in options.fallback) {
248
- fallbackEntitlement = Object.assign(Object.assign({}, models_1.NUMERIC_DEFAULT_FALLBACK_ENTITLEMENT), fallbackValue);
253
+ const entitlement = await this.errorHandler.withErrorHandling(() => this.entitlementsService.getEntitlement({ type: cache_1.EntitlementType.Feature, id: featureId }, customerId, resourceId, options, fallbackEntitlementWithValues), {
254
+ customerId,
255
+ sdkConfiguration: this.config,
256
+ errorReportMetadata: { featureId, options },
257
+ errorMessagePrefix: 'Failed to get entitlement, using fallback entitlement',
258
+ rethrowError: false,
259
+ });
260
+ if (!entitlement || !this.isFeatureEntitlementResult(entitlement)) {
261
+ return fallbackEntitlementWithValues;
249
262
  }
250
- else {
251
- fallbackEntitlement = Object.assign(Object.assign({}, models_1.BOOLEAN_DEFAULT_FALLBACK_ENTITLEMENT), fallbackValue);
263
+ return entitlement;
264
+ }
265
+ /**
266
+ * Get a single entitlement by reference (supports both feature and credit entitlements).
267
+ * @param params featureId or currencyId (exactly one), customerId, resourceId, options
268
+ * @return Entitlement (for feature) or CreditEntitlement (for credit)
269
+ */
270
+ async getEntitlementV2({ featureId, currencyId, customerId, resourceId, options, }) {
271
+ const validationResult = this.validateGetEntitlementV2Params({ featureId, currencyId, options });
272
+ if (!validationResult.isValid) {
273
+ return validationResult.fallback;
252
274
  }
275
+ const { entitlementReference } = validationResult;
276
+ const fallback = (0, entitlementFallbackUtils_1.getEntitlementV2FallbackFromOptions)(entitlementReference, options);
253
277
  if (this.config.offline) {
254
- return fallbackEntitlement;
278
+ return this.mergeEntitlementV2Fallback(entitlementReference, fallback, options);
255
279
  }
256
- const entitlement = await this.errorHandler.withErrorHandling(() => this.entitlementsService.getEntitlement(customerId, featureId, fallbackEntitlement, resourceId, options === null || options === void 0 ? void 0 : options.requestedUsage, options === null || options === void 0 ? void 0 : options.requestedValues), {
280
+ const entitlement = await this.errorHandler.withErrorHandling(() => this.entitlementsService.getEntitlement(entitlementReference, customerId, resourceId, options, fallback), {
257
281
  customerId,
258
282
  sdkConfiguration: this.config,
259
- errorReportMetadata: { featureId, options },
260
- errorMessagePrefix: 'Failed to get entitlement, using fallback entitlement',
283
+ errorReportMetadata: { featureId, currencyId, options },
284
+ errorMessagePrefix: 'Failed to get entitlement V2',
261
285
  rethrowError: false,
262
286
  });
263
- return entitlement || fallbackEntitlement;
287
+ if (!entitlement) {
288
+ return this.mergeEntitlementV2Fallback(entitlementReference, fallback, options);
289
+ }
290
+ return this.mergeEntitlementV2Fallback(entitlementReference, entitlement, options);
291
+ }
292
+ validateGetEntitlementV2Params(params) {
293
+ const entitlementReference = this.getEntitlementReferenceFromParams(params);
294
+ if (!entitlementReference) {
295
+ this.loggerService.error('Invalid getEntitlementV2 params, returning fallback entitlement', Object.assign({}, params));
296
+ return { isValid: false, fallback: this.getFallbackForInvalidGetEntitlementV2Params(params) };
297
+ }
298
+ return { isValid: true, entitlementReference };
299
+ }
300
+ isFeatureEntitlementResult(entitlement) {
301
+ return 'type' in entitlement;
302
+ }
303
+ getEntitlementReferenceFromParams(params) {
304
+ const hasFeature = params.featureId != null && params.featureId !== '';
305
+ const hasCredit = params.currencyId != null && params.currencyId !== '';
306
+ if (hasFeature === hasCredit) {
307
+ return undefined;
308
+ }
309
+ // After guards, exactly one is true
310
+ if (hasFeature) {
311
+ return { type: cache_1.EntitlementType.Feature, id: params.featureId };
312
+ }
313
+ return { type: cache_1.EntitlementType.Credit, id: params.currencyId };
314
+ }
315
+ getFallbackForInvalidGetEntitlementV2Params(params) {
316
+ if (params.featureId) {
317
+ return (0, entitlementFallbackUtils_1.getEntitlementV2FallbackFromOptions)({ type: cache_1.EntitlementType.Feature, id: params.featureId }, params.options);
318
+ }
319
+ if (params.currencyId) {
320
+ return (0, entitlementFallbackUtils_1.getEntitlementV2FallbackFromOptions)({ type: cache_1.EntitlementType.Credit, id: params.currencyId }, params.options);
321
+ }
322
+ return (0, entitlementFallbackUtils_1.getFeatureFallbackFromOptions)(params.options);
323
+ }
324
+ mergeEntitlementV2Fallback(entitlementReference, entitlement, options) {
325
+ var _a, _b, _c, _d;
326
+ // Keep per-call fallback precedence: options.fallback overrides config fallback.
327
+ if (!entitlement.isFallback || (options === null || options === void 0 ? void 0 : options.fallback)) {
328
+ return entitlement;
329
+ }
330
+ if (entitlementReference.type === cache_1.EntitlementType.Credit) {
331
+ const creditConfigFallback = (_a = this.config.creditEntitlementsFallback) === null || _a === void 0 ? void 0 : _a[entitlementReference.id];
332
+ if (!creditConfigFallback || !('currency' in entitlement)) {
333
+ return entitlement;
334
+ }
335
+ return (0, entitlementFallbackUtils_1.buildCreditFallbackEntitlement)({
336
+ currencyId: entitlementReference.id,
337
+ accessDeniedReason: entitlement.accessDeniedReason,
338
+ fallback: {
339
+ hasAccess: creditConfigFallback.hasAccess,
340
+ usageLimit: (_b = creditConfigFallback.usageLimit) !== null && _b !== void 0 ? _b : entitlement.usageLimit,
341
+ currentUsage: (_c = creditConfigFallback.currentUsage) !== null && _c !== void 0 ? _c : entitlement.currentUsage,
342
+ },
343
+ });
344
+ }
345
+ const featureConfigFallback = (_d = this.config.entitlementsFallback) === null || _d === void 0 ? void 0 : _d[entitlementReference.id];
346
+ if (!featureConfigFallback) {
347
+ return entitlement;
348
+ }
349
+ const mergedFeatureEntitlement = Object.assign(Object.assign({}, entitlement), featureConfigFallback);
350
+ return mergedFeatureEntitlement.hasAccess
351
+ ? Object.assign(Object.assign({}, mergedFeatureEntitlement), { accessDeniedReason: undefined }) : mergedFeatureEntitlement;
264
352
  }
265
353
  /**
266
354
  * Get entitlements per user
@@ -273,13 +361,26 @@ class Stigg {
273
361
  return result.entitlements;
274
362
  }
275
363
  /**
364
+ * @deprecated Use {@link getEntitlementsStateV2} for a unified API
276
365
  * Get entitlements per user alongside access denied reason
277
366
  * @param {string} customerId
278
367
  * @param {string} resourceId
279
368
  */
280
369
  async getEntitlementsState(customerId, resourceId) {
370
+ const v2Result = await this.getEntitlementsStateV2(customerId, resourceId);
371
+ return {
372
+ entitlements: v2Result.entitlements.filter(this.isFeatureLikeEntitlementResult),
373
+ accessDeniedReason: v2Result.accessDeniedReason,
374
+ };
375
+ }
376
+ /**
377
+ * Get entitlements per user alongside access denied reason (feature + credit)
378
+ * @param {string} customerId
379
+ * @param {string} resourceId
380
+ */
381
+ async getEntitlementsStateV2(customerId, resourceId) {
281
382
  if (this.config.offline) {
282
- return { entitlements: (0, mapGetEntitlementsFallback_1.mapGetEntitlementsFallback)(this.config.entitlementsFallback), accessDeniedReason: null };
383
+ return { entitlements: this.getEntitlementsV2Fallback(), accessDeniedReason: null };
283
384
  }
284
385
  const result = await this.errorHandler.withErrorHandling(() => {
285
386
  if (!customerId || typeof customerId !== 'string') {
@@ -289,14 +390,23 @@ class Stigg {
289
390
  }, {
290
391
  customerId,
291
392
  sdkConfiguration: this.config,
292
- errorMessagePrefix: 'Failed to get customer entitlements',
393
+ errorMessagePrefix: 'Failed to get customer entitlements V2',
293
394
  rethrowError: false,
294
395
  });
295
396
  if (!result) {
296
- return { entitlements: (0, mapGetEntitlementsFallback_1.mapGetEntitlementsFallback)(this.config.entitlementsFallback), accessDeniedReason: null };
397
+ return { entitlements: this.getEntitlementsV2Fallback(), accessDeniedReason: null };
297
398
  }
298
399
  return result;
299
400
  }
401
+ getEntitlementsV2Fallback() {
402
+ var _a;
403
+ const featureFallback = (0, mapGetEntitlementsFallback_1.mapGetEntitlementsFallback)(this.config.entitlementsFallback);
404
+ const creditFallback = Object.entries((_a = this.config.creditEntitlementsFallback) !== null && _a !== void 0 ? _a : {}).map(([currencyId, fallback]) => (0, entitlementFallbackUtils_1.buildCreditFallbackEntitlement)({ currencyId, fallback }));
405
+ return [...featureFallback, ...creditFallback];
406
+ }
407
+ isFeatureLikeEntitlementResult(entitlement) {
408
+ return 'feature' in entitlement;
409
+ }
300
410
  /**
301
411
  * Report usage event
302
412
  */
@@ -1302,4 +1412,4 @@ class Stigg {
1302
1412
  }
1303
1413
  }
1304
1414
  exports.Stigg = Stigg;
1305
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0ErRGtCO0FBQ2xCLHFEQUFrRDtBQUdsRCxtREFBK0Y7QUFDL0YsNERBQXlEO0FBQ3pELHdEQUE0RDtBQUM1RCwrREFBMkQ7QUFFM0QsbUNBQWdEO0FBQ2hELGdFQTZCZ0Q7QUFDaEQsc0ZBQW1GO0FBRW5GLGlFQUFvRTtBQUNwRSxtRkFBZ0Y7QUFzR2hGLElBQUksbUJBQW1CLEdBQWlCLElBQUksQ0FBQztBQUU3Qzs7R0FFRztBQUNILE1BQWEsS0FBSztJQUtoQixZQUNtQixNQUFxQyxFQUNyQyxtQkFBd0MsRUFDeEMsYUFBNEIsRUFDNUIsYUFBNEIsRUFDNUIsbUJBQXdDLEVBQ3hDLFlBQStCO1FBTC9CLFdBQU0sR0FBTixNQUFNLENBQStCO1FBQ3JDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFFaEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLHlCQUFXLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSx1REFBMEIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLGtDQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVELEtBQUssQ0FBQyxxQkFBcUI7UUFDekIsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckYsQ0FB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
1415
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FrRWtCO0FBQ2xCLHFEQUFrRDtBQUdsRCxtREFBK0Y7QUFDL0YsNERBQXlEO0FBQ3pELHdEQUE0RDtBQUM1RCwrREFBMkQ7QUFFM0QsbUNBQWdEO0FBQ2hELGdFQTRCZ0Q7QUFDaEQsc0ZBQW1GO0FBQ25GLDRDQUFxRTtBQUVyRSxpRUFBb0U7QUFDcEUsK0VBSTBDO0FBQzFDLG1GQUFnRjtBQXdHaEYsSUFBSSxtQkFBbUIsR0FBaUIsSUFBSSxDQUFDO0FBRTdDOztHQUVHO0FBQ0gsTUFBYSxLQUFLO0lBS2hCLFlBQ21CLE1BQXFDLEVBQ3JDLG1CQUF3QyxFQUN4QyxhQUE0QixFQUM1QixhQUE0QixFQUM1QixtQkFBd0MsRUFDeEMsWUFBK0I7UUFML0IsV0FBTSxHQUFOLE1BQU0sQ0FBK0I7UUFDckMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGlCQUFZLEdBQVosWUFBWSxDQUFtQjtRQUVoRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUkseUJBQVcsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLHVEQUEwQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksa0NBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQsS0FBSyxDQUFDLHFCQUFxQjtRQUN6QixPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FB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
@@ -1,6 +1,6 @@
1
1
  import { SourceType } from '@stigg/api-client-js/src/generated/sdk';
2
2
  import { LogConfiguration, LoggerService } from './services/loggerService';
3
- import { EntitlementsFallback } from './models';
3
+ import { CreditEntitlementsFallback, EntitlementsFallback } from './models';
4
4
  import { StiggRedisOptions } from './services/cache';
5
5
  export declare const SDK_SOURCE_TYPE = SourceType.NodeServerSdk;
6
6
  export declare const SDK_NAME = "node-server-sdk";
@@ -17,6 +17,7 @@ type ClientConfiguration = {
17
17
  enableEdge?: boolean;
18
18
  redis?: StiggRedisOptions;
19
19
  entitlementsFallback?: EntitlementsFallback;
20
+ creditEntitlementsFallback?: CreditEntitlementsFallback;
20
21
  memoryCacheMaxSizeBytes?: number;
21
22
  clientName?: string;
22
23
  clientVersion?: string;
@@ -91,4 +91,4 @@ function validateConfiguration(configuration, loggerService) {
91
91
  }
92
92
  }
93
93
  exports.validateConfiguration = validateConfiguration;
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdFQUFvRTtBQUNwRSw0REFBcUY7QUFDckYsbUNBQStCO0FBRS9CLDRDQUFvQjtBQUdQLFFBQUEsZUFBZSxHQUFHLGdCQUFVLENBQUMsYUFBYSxDQUFDO0FBQzNDLFFBQUEsUUFBUSxHQUFHLGlCQUFpQixDQUFDO0FBRTdCLFFBQUEsZUFBZSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFDNUIsUUFBQSw0QkFBNEIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO0FBRXRELE1BQU0sYUFBYSxHQUFHLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztBQXdCeEQsU0FBUyxpQ0FBaUM7SUFDeEMsT0FBTyxZQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7QUFDNUQsQ0FBQztBQUVELE1BQU0sUUFBUSxHQUFHLEdBQWlDLEVBQUU7SUFDbEQsTUFBTSxPQUFPLEdBQUcsc0JBQXNCLENBQUM7SUFDdkMsT0FBTztRQUNMLE9BQU87UUFDUCxLQUFLLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUN4QixXQUFXLEVBQUUsaUJBQWlCLENBQUMsT0FBTyxDQUFDO1FBQ3ZDLGdCQUFnQixFQUFFO1lBQ2hCLE1BQU0sRUFBRSxPQUFPO1lBQ2YsUUFBUSxFQUFFLHdCQUFRLENBQUMsS0FBSztTQUN6QjtRQUNELE9BQU8sRUFBRSx1QkFBZTtRQUN4QixtQkFBbUIsRUFBRSxvQ0FBNEI7UUFDakQsc0JBQXNCLEVBQUUsSUFBSTtRQUM1QixVQUFVLEVBQUUsSUFBSTtRQUNoQix1QkFBdUIsRUFBRSxpQ0FBaUMsRUFBRTtRQUM1RCxrQkFBa0IsRUFBRSxJQUFJO0tBQ3pCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLG1CQUFt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
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdFQUFvRTtBQUNwRSw0REFBcUY7QUFDckYsbUNBQStCO0FBRS9CLDRDQUFvQjtBQUdQLFFBQUEsZUFBZSxHQUFHLGdCQUFVLENBQUMsYUFBYSxDQUFDO0FBQzNDLFFBQUEsUUFBUSxHQUFHLGlCQUFpQixDQUFDO0FBRTdCLFFBQUEsZUFBZSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFDNUIsUUFBQSw0QkFBNEIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO0FBRXRELE1BQU0sYUFBYSxHQUFHLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztBQXlCeEQsU0FBUyxpQ0FBaUM7SUFDeEMsT0FBTyxZQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7QUFDNUQsQ0FBQztBQUVELE1BQU0sUUFBUSxHQUFHLEdBQWlDLEVBQUU7SUFDbEQsTUFBTSxPQUFPLEdBQUcsc0JBQXNCLENBQUM7SUFDdkMsT0FBTztRQUNMLE9BQU87UUFDUCxLQUFLLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUN4QixXQUFXLEVBQUUsaUJBQWlCLENBQUMsT0FBTyxDQUFDO1FBQ3ZDLGdCQUFnQixFQUFFO1lBQ2hCLE1BQU0sRUFBRSxPQUFPO1lBQ2YsUUFBUSxFQUFFLHdCQUFRLENBQUMsS0FBSztTQUN6QjtRQUNELE9BQU8sRUFBRSx1QkFBZTtRQUN4QixtQkFBbUIsRUFBRSxvQ0FBNEI7UUFDakQsc0JBQXNCLEVBQUUsSUFBSTtRQUM1QixVQUFVLEVBQUUsSUFBSTtRQUNoQix1QkFBdUIsRUFBRSxpQ0FBaUMsRUFBRTtRQUM1RCxrQkFBa0IsRUFBRSxJQUFJO0tBQ3pCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLG1CQUFt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