@saasicat/nest 0.5.0 → 0.7.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.
Files changed (57) hide show
  1. package/dist/admin/index.cjs +3 -8
  2. package/dist/admin/index.d.cts +5 -33
  3. package/dist/admin/index.d.ts +5 -33
  4. package/dist/admin/index.js +2 -2
  5. package/dist/{admin-manifest.config-DxTfZ8-L.d.cts → admin-manifest.config-DyrQNT7M.d.cts} +1 -1
  6. package/dist/{admin-manifest.config-DxTfZ8-L.d.ts → admin-manifest.config-DyrQNT7M.d.ts} +1 -1
  7. package/dist/admin-manifest.service-Cp6uwvmt.d.cts +33 -0
  8. package/dist/admin-manifest.service-UGgzR1x-.d.ts +33 -0
  9. package/dist/{aggregation-DGCyoN5d.d.ts → aggregation-BibpEO0t.d.ts} +6 -59
  10. package/dist/{aggregation-Bt1i_whS.d.cts → aggregation-CfI0bOsQ.d.cts} +6 -59
  11. package/dist/billing/index.cjs +19 -107
  12. package/dist/billing/index.d.cts +8 -30
  13. package/dist/billing/index.d.ts +8 -30
  14. package/dist/billing/index.js +6 -8
  15. package/dist/catalog/index.cjs +1160 -1985
  16. package/dist/catalog/index.d.cts +9 -124
  17. package/dist/catalog/index.d.ts +9 -124
  18. package/dist/catalog/index.js +3 -25
  19. package/dist/checkout-offer/index.js +2 -2
  20. package/dist/{chunk-2VNZYRDV.js → chunk-52UTQRD3.js} +1 -1
  21. package/dist/{chunk-V7HUZ6UQ.js → chunk-5DDCSGZC.js} +1106 -1919
  22. package/dist/{chunk-S2OZ5RIM.js → chunk-6LP7CDS2.js} +15 -68
  23. package/dist/{chunk-NWLOILP6.js → chunk-A2QBXDJC.js} +15 -7
  24. package/dist/{chunk-XSGU2Y2O.js → chunk-CK54YKVK.js} +2 -33
  25. package/dist/{chunk-SYEVGPFC.js → chunk-K3OPNVFR.js} +1 -1
  26. package/dist/{chunk-XCZ3TTFK.js → chunk-N3WANKSA.js} +0 -2
  27. package/dist/{chunk-MV6LW5UB.js → chunk-R2QOSVAA.js} +2 -2
  28. package/dist/{chunk-NFOSITWB.js → chunk-RZU4HIAN.js} +12 -45
  29. package/dist/{chunk-YNEW3L63.js → chunk-SD3TT2BR.js} +1 -1
  30. package/dist/{chunk-P6MYZMXQ.js → chunk-U6HT27J7.js} +3 -8
  31. package/dist/{chunk-7MLGHWKO.js → chunk-WKVBNTYC.js} +2 -0
  32. package/dist/{chunk-ZL4LLE2Z.js → chunk-ZLUGQE5D.js} +1 -1
  33. package/dist/{enforce-quota.interceptor-3HmbeHTM.d.ts → enforce-quota.interceptor-Dj1Kusr5.d.ts} +9 -4
  34. package/dist/{enforce-quota.interceptor-HmdZFg41.d.cts → enforce-quota.interceptor-cv7r80VM.d.cts} +9 -4
  35. package/dist/entitlement/index.cjs +13 -46
  36. package/dist/entitlement/index.d.cts +4 -3
  37. package/dist/entitlement/index.d.ts +4 -3
  38. package/dist/entitlement/index.js +6 -8
  39. package/dist/index.cjs +1348 -2300
  40. package/dist/index.d.cts +8 -7
  41. package/dist/index.d.ts +8 -7
  42. package/dist/index.js +14 -42
  43. package/dist/platform/index.cjs +28 -54
  44. package/dist/platform/index.d.cts +4 -3
  45. package/dist/platform/index.d.ts +4 -3
  46. package/dist/platform/index.js +9 -6
  47. package/dist/promo/index.cjs +2 -2
  48. package/dist/promo/index.js +3 -3
  49. package/dist/registration/index.cjs +2 -34
  50. package/dist/registration/index.d.cts +3 -21
  51. package/dist/registration/index.d.ts +3 -21
  52. package/dist/registration/index.js +1 -3
  53. package/dist/testing/index.cjs +26 -255
  54. package/dist/testing/index.d.cts +5 -37
  55. package/dist/testing/index.d.ts +5 -37
  56. package/dist/testing/index.js +6 -206
  57. package/package.json +3 -3
package/dist/index.d.cts CHANGED
@@ -2,22 +2,23 @@ import { P as ProviderSpec } from './di-CcNeq9v-.cjs';
2
2
  export { a as asProvider } from './di-CcNeq9v-.cjs';
3
3
  export { PROMO_CODE_REDEMPTION_REPOSITORY_TOKEN, PROMO_CODE_REPOSITORY_TOKEN, PROMO_CODE_VALIDATION_LOG_REPOSITORY_TOKEN, PROMO_FIRST_TIME_CUSTOMER_CHECK_TOKEN, PROMO_REVENUE_DEDUCTION_AGGREGATOR_TOKEN, PROMO_SERVICE_CONFIG_TOKEN, PROMO_SUBSCRIPTION_LOOKUP_TOKEN, PROMO_TRANSACTION_RUNNER_TOKEN, PreviewPromoCodeDto, PromoCodeExpirer, PromoCodeForCalc, PromoCodePublicController, PromoCodeRateLimitGuard, PromoCodesModule, PromoCodesModuleOptions, addCycles, buildLabel, computeDiscountGross, computeDiscountedGross, computeIncludedVat, computeRegularStartsAt, grossFromNet, hashIp, ipFingerprint, round2 } from './promo/index.cjs';
4
4
  export { P as PreviewInput, a as PreviewInvalid, b as PreviewReason, c as PreviewResult, d as PreviewValid, e as PromoCodeStats, f as PromoCodesService, g as PromoServiceConfig, R as RedeemInput } from './service-DX8KbGXl.cjs';
5
- export { AUDIT_CONTEXT_RESOLVER_TOKEN, AddBundleToSubscriptionInput, AjvErrorLike, AuditContextResolver, AuthGuardList, BundlePreviewSnapshot, CONTRACT_FREEZE_PORT_TOKEN, CONTRACT_FREEZE_PROJECT_KEY_TOKEN, CONTRACT_FREEZE_SOURCE_PORT_TOKEN, CancelBundleFromSubscriptionInput, CancelSubscriptionDto, CatalogBundleUpsellResolver, ChangePlanDto, CompleteOnboardingSubscriptionDto, ComposedTenantAuthGuard, ConfiguratorCatalogBuilder, ContractFreezeBundleSnapshot, ContractFreezePort, ContractFreezeSourcePort, DuePendingPlanChange, FEATURE_GUARD_CONFIG_TOKEN, FEATURE_UI_REGISTRY_TOKEN, FeatureGuard, FeatureGuardConfig, LimitExceededFilter, LimitsCheckRow, LoadPlanCatalogOptions, MarketingFields, NextPeriodWindow, PENDING_PLAN_QUERY_PORT_TOKEN, PLAN_CATALOG_IMPORT_SINK_TOKEN, PLAN_CATALOG_READ_SINK_TOKEN, PLAN_CATALOG_TOKEN, PUBLIC_CATALOG_BUNDLE_REPOSITORY_TOKEN, PUBLIC_CATALOG_BUSINESS_TYPE_REPOSITORY_TOKEN, PUBLIC_CATALOG_MARKETING_REPOSITORY_TOKEN, PUBLIC_CATALOG_PROJECT_KEY_TOKEN, PendingPlanMaterializationService, PendingPlanQueryPort, PeriodRollInput, PlanCatalogBuildSettings, PlanCatalogImportDto, PlanCatalogImporterControllerConfig, PlanCatalogImporterModule, PlanCatalogImporterModuleOptions, PlanCatalogImporterService, PlanCatalogModule, PlanCatalogModuleOptions, PlanCatalogValidationError, PlanChangeContext, PlanChangePreviewDto, PlanChangePreviewIssue, PlanChangePreviewService, PlanChangeType, PlanResponseEntry, PlanSnapshotDto, PreviewPlanChangeDto, ProrationDto, ProrationInput, PublicBundleEntry, PublicBusinessTypeEntry, PublicCatalogController, PublicCatalogModule, PublicCatalogModuleOptions, PublishValidationError, PublishablePlanVersion, REQUIRE_FEATURE_KEY, RedundantFeatureHint, RenewalDecision, RenewalSubInput, RequireFeature, SELF_SERVICE_BLOCKED_BUNDLES_TOKEN, SELF_SERVICE_BLOCKED_PLANS_TOKEN, SUBSCRIPTION_BUNDLE_CONFIG_TOKEN, SUBSCRIPTION_BUNDLE_REPOSITORY_TOKEN, SUBSCRIPTION_USAGE_PORT_TOKEN, SUBSCRIPTION_WRITE_PORT_TOKEN, SelfServiceBlockedBundles, SelfServiceBlockedPlans, SubscriptionBundleAddPreviewDto, SubscriptionBundleCancelPreviewDto, SubscriptionBundleConfig, SubscriptionBundleControllerOptions, SubscriptionBundleModule, SubscriptionBundleModuleOptions, SubscriptionBundlePreviewContext, SubscriptionBundlePreviewIssue, SubscriptionBundlePreviewService, SubscriptionBundlesService, SubscriptionContractFreezeService, TENANT_AUTH_GUARDS_TOKEN, TENANT_ID_RESOLVER_TOKEN, TRIAL_PROJECTION_PORT_TOKEN, TenantAdminGuard, TenantBillingController, TenantBillingModule, TenantBillingModuleOptions, TenantIdResolver, TrialProjectionInput, TrialProjectionPort, UPSELL_OFFER_CURRENCY_TOKEN, UPSELL_OFFER_RESOLVER_TOKEN, USAGE_SNAPSHOT_PORT_TOKEN, USER_EMAIL_RESOLVER_TOKEN, USER_ID_RESOLVER_TOKEN, UsageResponse, UserEmailResolver, UserIdResolver, addMonths, assertBaseVersionFresh, assertChangeNote, assertDraftPublishable, assertOptimisticLockHeld, buildPlanCatalogFromSnapshot, buildPlanCatalogImporterController, buildTenantSubscriptionBundlesController, clearPendingPlanVersionFields, computeCarriedTrialEndsAt, computeNextPeriod, computeProration, decideRenewal, findPlan, getActiveFeatureKeys, getMarketedPlans, getPlanOrThrow, getPlanPriceGross, getPlanPriceNet, getPlanQuota, initialPeriodWindow, isFeatureInPlan, isFeaturePlannedOnly, loadPlanCatalogFromFile, loadPlanCatalogFromString, periodEndAfter, periodEndWithMinLead, resolveBundleCancelEffectiveAt, resolveBundlePriceNet } from './billing/index.cjs';
5
+ export { AUDIT_CONTEXT_RESOLVER_TOKEN, AddBundleToSubscriptionInput, AjvErrorLike, AuditContextResolver, AuthGuardList, BundlePreviewSnapshot, CONTRACT_FREEZE_PORT_TOKEN, CONTRACT_FREEZE_PROJECT_KEY_TOKEN, CONTRACT_FREEZE_SOURCE_PORT_TOKEN, CancelBundleFromSubscriptionInput, CancelSubscriptionDto, CatalogBundleUpsellResolver, ChangePlanDto, CompleteOnboardingSubscriptionDto, ComposedTenantAuthGuard, ConfiguratorCatalogBuilder, ContractFreezeBundleSnapshot, ContractFreezePort, ContractFreezeSourcePort, DuePendingPlanChange, FEATURE_GUARD_CONFIG_TOKEN, FEATURE_UI_REGISTRY_TOKEN, FeatureGuard, FeatureGuardConfig, LimitExceededFilter, LimitsCheckRow, LoadPlanCatalogOptions, MarketingFields, NextPeriodWindow, PENDING_PLAN_QUERY_PORT_TOKEN, PLAN_CATALOG_IMPORT_SINK_TOKEN, PLAN_CATALOG_READ_SINK_TOKEN, PLAN_CATALOG_TOKEN, PUBLIC_CATALOG_BUNDLE_REPOSITORY_TOKEN, PUBLIC_CATALOG_MARKETING_REPOSITORY_TOKEN, PUBLIC_CATALOG_PROJECT_KEY_TOKEN, PendingPlanMaterializationService, PendingPlanQueryPort, PeriodRollInput, PlanCatalogBuildSettings, PlanCatalogImportDto, PlanCatalogImporterControllerConfig, PlanCatalogImporterModule, PlanCatalogImporterModuleOptions, PlanCatalogImporterService, PlanCatalogModule, PlanCatalogModuleOptions, PlanCatalogValidationError, PlanChangeContext, PlanChangePreviewDto, PlanChangePreviewIssue, PlanChangePreviewService, PlanChangeType, PlanResponseEntry, PlanSnapshotDto, PreviewPlanChangeDto, ProrationDto, ProrationInput, PublicBundleEntry, PublicCatalogController, PublicCatalogModule, PublicCatalogModuleOptions, PublishValidationError, PublishablePlanVersion, REQUIRE_FEATURE_KEY, RedundantFeatureHint, RenewalDecision, RenewalSubInput, RequireFeature, SELF_SERVICE_BLOCKED_BUNDLES_TOKEN, SELF_SERVICE_BLOCKED_PLANS_TOKEN, SUBSCRIPTION_BUNDLE_CONFIG_TOKEN, SUBSCRIPTION_BUNDLE_REPOSITORY_TOKEN, SUBSCRIPTION_USAGE_PORT_TOKEN, SUBSCRIPTION_WRITE_PORT_TOKEN, SelfServiceBlockedBundles, SelfServiceBlockedPlans, SubscriptionBundleAddPreviewDto, SubscriptionBundleCancelPreviewDto, SubscriptionBundleConfig, SubscriptionBundleControllerOptions, SubscriptionBundleModule, SubscriptionBundleModuleOptions, SubscriptionBundlePreviewContext, SubscriptionBundlePreviewIssue, SubscriptionBundlePreviewService, SubscriptionBundlesService, SubscriptionContractFreezeService, TENANT_AUTH_GUARDS_TOKEN, TENANT_ID_RESOLVER_TOKEN, TRIAL_PROJECTION_PORT_TOKEN, TenantAdminGuard, TenantBillingController, TenantBillingModule, TenantBillingModuleOptions, TenantIdResolver, TrialProjectionInput, TrialProjectionPort, UPSELL_OFFER_CURRENCY_TOKEN, UPSELL_OFFER_RESOLVER_TOKEN, USAGE_SNAPSHOT_PORT_TOKEN, USER_EMAIL_RESOLVER_TOKEN, USER_ID_RESOLVER_TOKEN, UsageResponse, UserEmailResolver, UserIdResolver, addMonths, assertBaseVersionFresh, assertChangeNote, assertDraftPublishable, assertOptimisticLockHeld, buildPlanCatalogFromSnapshot, buildPlanCatalogImporterController, buildTenantSubscriptionBundlesController, clearPendingPlanVersionFields, computeCarriedTrialEndsAt, computeNextPeriod, computeProration, decideRenewal, findPlan, getActiveFeatureKeys, getMarketedPlans, getPlanOrThrow, getPlanPriceGross, getPlanPriceNet, getPlanQuota, initialPeriodWindow, isFeatureInPlan, isFeaturePlannedOnly, loadPlanCatalogFromFile, loadPlanCatalogFromString, periodEndAfter, periodEndWithMinLead, resolveBundleCancelEffectiveAt, resolveBundlePriceNet } from './billing/index.cjs';
6
6
  import { SuperAdminProvisioningPort, SetupStatusResponse, SetupRequest, SetupResult, SetupConfirmMfaRequest, SetupConfirmMfaResponse } from '@saasicat/types';
7
7
  export { BundleVersionFields, ChangeDirection, DiffResult, DiscoveredCapability, DiscoveredFeature, DiscoveredQuota, DiscoverySnapshot, PasswordHasher, PlanVersionFields, VersionChange, VersionChangeDirection, classifyBundleVersionDiff, classifyPlanDiff } from '@saasicat/types';
8
- export { B as BundleVersionSnapshot, a as BusinessTypeVersionSnapshot, C as CustomLimitsShape, E as EffectiveLimits, b as EffectiveLimitsSnapshot, c as EnforceLimitInput, d as EntitlementService, P as PlanVersionSnapshot, S as SubscriptionBundleSnapshot, e as SubscriptionLimitsInput, f as aggregateBusinessTypeQuotas, g as aggregateContractLineItemEntitlements, h as aggregateLimits, i as aggregateSubscriptionBundleQuotas, j as applyCustomLimits, k as collectBusinessTypeFeatures, l as collectSubscriptionBundleFeatures, m as filterActiveSubscriptionBundles, n as filterPlannedOnlyFeatures, o as hasAnyFeature, p as hasFeature, t as toEffectiveLimitsSnapshot } from './aggregation-Bt1i_whS.cjs';
9
- export { ENTITLEMENT_RESOLUTION_CONFIG_TOKEN, EntitlementModule, EntitlementModuleOptions, LimitExceededError, PLAN_VERSION_REPOSITORY_TOKEN, ReplacedByIndex, SUBSCRIPTION_REPOSITORY_TOKEN, TRANSACTION_RUNNER_TOKEN, buildReplacedByIndex, expandReplacedFeatures, isLimitExceededError } from './entitlement/index.cjs';
8
+ export { C as CustomLimitsShape, E as EffectiveLimits, a as EffectiveLimitsSnapshot, b as EnforceLimitInput, c as EntitlementService, P as PlanVersionSnapshot, S as SubscriptionBundleSnapshot, d as SubscriptionLimitsInput, e as aggregateContractLineItemEntitlements, f as aggregateLimits, g as aggregateSubscriptionBundleQuotas, h as applyCustomLimits, i as collectSubscriptionBundleFeatures, j as filterActiveSubscriptionBundles, k as filterPlannedOnlyFeatures, l as hasAnyFeature, m as hasFeature, t as toEffectiveLimitsSnapshot } from './aggregation-CfI0bOsQ.cjs';
9
+ export { ENTITLEMENT_RESOLUTION_CONFIG_TOKEN, ENTITLEMENT_SERVICE_TOKEN, EntitlementModule, EntitlementModuleOptions, LimitExceededError, PLAN_VERSION_REPOSITORY_TOKEN, ReplacedByIndex, SUBSCRIPTION_REPOSITORY_TOKEN, TRANSACTION_RUNNER_TOKEN, buildReplacedByIndex, expandReplacedFeatures, isLimitExceededError } from './entitlement/index.cjs';
10
10
  export { E as EntitlementResolutionConfig, a as EntitlementResolutionInput, r as resolveEntitlementPlan } from './plan-resolution-CFCoUkrE.cjs';
11
11
  import { MfaService } from './admin/index.cjs';
12
- export { ADMIN_STATS_AUDIT_WINDOW_DAYS_TOKEN, AUDIT_PORT_TOKEN, AUDIT_STATS_PORT_TOKEN, AdminBypassRlsInterceptor, AdminManifestModule, AdminManifestModuleOptions, AdminManifestService, AdminModule, AdminModuleOptions, AdminPublicBootController, AdminStatsController, AdminStatsModule, AdminStatsModuleOptions, AdminStatsService, AdminStatsSnapshot, MFA_PORT_TOKEN, MfaGuard, PLATFORM_CORE_CONTRIBUTION_TOKEN, PLATFORM_CORE_MANIFEST_CONTRIBUTION, PROMO_CODE_STATS_PORT_TOKEN, REQUIRE_MFA_KEY, RLS_BYPASS_PORT_TOKEN, RequireMfa, SUBSCRIPTION_STATS_PORT_TOKEN, SuperAdminGuard, TotpSetupResult, VerifyTotpInput } from './admin/index.cjs';
12
+ export { ADMIN_STATS_AUDIT_WINDOW_DAYS_TOKEN, AUDIT_PORT_TOKEN, AUDIT_STATS_PORT_TOKEN, AdminBypassRlsInterceptor, AdminManifestModule, AdminManifestModuleOptions, AdminModule, AdminModuleOptions, AdminPublicBootController, AdminStatsController, AdminStatsModule, AdminStatsModuleOptions, AdminStatsService, AdminStatsSnapshot, MFA_PORT_TOKEN, MfaGuard, PLATFORM_CORE_MANIFEST_CONTRIBUTION, PROMO_CODE_STATS_PORT_TOKEN, REQUIRE_MFA_KEY, RLS_BYPASS_PORT_TOKEN, RequireMfa, SUBSCRIPTION_STATS_PORT_TOKEN, SuperAdminGuard, TotpSetupResult, VerifyTotpInput } from './admin/index.cjs';
13
13
  export { A as AdminAuditService } from './admin-audit.service-9IqXMlZm.cjs';
14
- export { A as ADMIN_MANIFEST_CONFIG, a as AdminManifestConfig } from './admin-manifest.config-DxTfZ8-L.cjs';
14
+ export { a as ADMIN_MANIFEST_CONFIG, A as AdminManifestConfig } from './admin-manifest.config-DyrQNT7M.cjs';
15
+ export { A as AdminManifestService, P as PLATFORM_CORE_CONTRIBUTION_TOKEN } from './admin-manifest.service-Cp6uwvmt.cjs';
15
16
  import { DynamicModule } from '@nestjs/common';
16
17
  export { Type as NestType } from '@nestjs/common';
17
- export { ACTIVATION_ORCHESTRATOR_TOKEN, BaseIpRateLimitGuard, ContinueRegistrationDto, PASSWORD_HASHER_TOKEN, PAYMENT_EVENT_LOG_TOKEN, PAYMENT_PROVIDER_TOKEN, PENDING_REGISTRATION_REPOSITORY_TOKEN, PLAN_CATALOG_LOOKUP_TOKEN, PaymentWebhookDto, PendingRegistrationService, PreviewRegistrationPromoDto, PromoEvaluation, REGISTRATION_AUDIT_LOGGER_TOKEN, REGISTRATION_BUSINESS_TYPE_LOOKUP_TOKEN, REGISTRATION_CONFIGURATOR_LOOKUP_TOKEN, REGISTRATION_CONFIG_TOKEN, REGISTRATION_OTP_DELIVERY_TOKEN, REGISTRATION_PROMO_PREVIEW_TOKEN, REGISTRATION_RESUME_BASE_URL_TOKEN, REGISTRATION_RESUME_DELIVERY_TOKEN, REGISTRATION_RESUME_TOKEN_SIGNER_TOKEN, RegisterStartDto, RegistrationCleanupCron, RegistrationModule, RegistrationModuleOptions, ResendRegistrationOtpDto, SLUG_AVAILABILITY_CHECK_TOKEN, SaveRegistrationConfigDto, SaveRegistrationConfigSelectionDto, SelectRegistrationPlanDto, StartRegistrationCheckoutDto, USER_ACCOUNT_LOOKUP_TOKEN, VerifyRegistrationOtpDto, computeBreakdown, generateOtpCode, hashOtpCode, resolveModel, slugify, verifyOtpCode } from './registration/index.cjs';
18
+ export { ACTIVATION_ORCHESTRATOR_TOKEN, BaseIpRateLimitGuard, ContinueRegistrationDto, PASSWORD_HASHER_TOKEN, PAYMENT_EVENT_LOG_TOKEN, PAYMENT_PROVIDER_TOKEN, PENDING_REGISTRATION_REPOSITORY_TOKEN, PLAN_CATALOG_LOOKUP_TOKEN, PaymentWebhookDto, PendingRegistrationService, PreviewRegistrationPromoDto, PromoEvaluation, REGISTRATION_AUDIT_LOGGER_TOKEN, REGISTRATION_CONFIGURATOR_LOOKUP_TOKEN, REGISTRATION_CONFIG_TOKEN, REGISTRATION_OTP_DELIVERY_TOKEN, REGISTRATION_PROMO_PREVIEW_TOKEN, REGISTRATION_RESUME_BASE_URL_TOKEN, REGISTRATION_RESUME_DELIVERY_TOKEN, REGISTRATION_RESUME_TOKEN_SIGNER_TOKEN, RegisterStartDto, RegistrationCleanupCron, RegistrationModule, RegistrationModuleOptions, ResendRegistrationOtpDto, SLUG_AVAILABILITY_CHECK_TOKEN, SaveRegistrationConfigDto, SaveRegistrationConfigSelectionDto, SelectRegistrationPlanDto, StartRegistrationCheckoutDto, USER_ACCOUNT_LOOKUP_TOKEN, VerifyRegistrationOtpDto, computeBreakdown, generateOtpCode, hashOtpCode, resolveModel, slugify, verifyOtpCode } from './registration/index.cjs';
18
19
  export { DEFINES_QUOTA_KEY, DISCOVERY_SNAPSHOT_TOKEN, DefinesQuota, DefinesQuotaOptions, DiscoveryControllerConfig, DiscoveryModule, DiscoveryModuleOptions, DiscoverySnapshotNotFoundError, ENFORCE_QUOTA_KEY, EnforceQuota, EnforceQuotaMetadata, EnforceQuotaOptions, HeadlessScanOptions, IMPLEMENTS_CAPABILITY_KEY, ImplementsCapability, ImplementsCapabilityMetadata, ImplementsCapabilityOptions, REQUIRES_CAPABILITY_KEY, RequiresCapability, RequiresCapabilityKeys, buildDiscoveryController, loadDiscoverySnapshotFromFile, runHeadlessDiscoveryScan } from './discovery/index.cjs';
19
20
  export { D as DISCOVERY_APP_INFO_TOKEN, a as DISCOVERY_SNAPSHOT_PATH_TOKEN, b as DiscoveryAppInfo, c as DiscoveryScanner, d as computeSnapshotHash } from './discovery.scanner-DLgEvuoy.cjs';
20
- export { ADVISORY_STRICT_MODE_CODES, BUNDLE_REPOSITORY_TOKEN, BUSINESS_TYPE_REPOSITORY_TOKEN, BundlesService, BusinessTypeBundleInputDto, BusinessTypesService, CATALOG_ENTRY_REPOSITORY_TOKEN, CATALOG_SERVICE_CONFIG_TOKEN, CatalogControllerConfig, CatalogEntriesService, CatalogModule, CatalogModuleOptions, CatalogServiceConfig, CreateBundleDto, CreateBundleVersionDraftDto, CreateBusinessTypeDto, CreateBusinessTypeVersionDraftDto, CreateMarketingProjectionDto, CreatePlanDto, CreatePlanVersionDraftDto, CreatePromotionDto, ListCatalogEntriesQueryDto, ListMarketingProjectionsQueryDto, ListMarketingSettingsQueryDto, ListPromotionsQueryDto, MARKETING_PROJECTION_REPOSITORY_TOKEN, MARKETING_SETTINGS_REPOSITORY_TOKEN, MarketingProjectionsService, MarketingSettingsService, PLAN_REPOSITORY_TOKEN, PROMOTION_REPOSITORY_TOKEN, PlanVersionsService, PlansService, PreflightFinding, PreflightInput, PreflightReport, PromotionsService, PublicMarketingCatalogService, PublishBundleVersionDto, PublishBusinessTypeVersionDto, PublishPlanVersionDto, ReviewCatalogEntryDto, SeedBundleDraft, SeedGateFinding, SeedGateInput, SeedGateMode, SeedGateReport, SeedGateRunOptions, SeedPlanDraft, SyncDiscoveryDto, UpdateBundleDto, UpdateBundleVersionDraftDto, UpdateBusinessTypeDto, UpdateBusinessTypeVersionDraftDto, UpdateCatalogEntryI18nDto, UpdateMarketingProjectionDto, UpdateMarketingSettingsDto, UpdatePlanDto, UpdatePlanVersionDraftDto, UpdatePromotionDto, blockingStrictModeWarnings, buildBundleVersionsController, buildBundlesController, buildBusinessTypeVersionsController, buildBusinessTypesController, buildCatalogEntriesController, buildMarketingProjectionsController, buildMarketingSettingsController, buildPlanVersionsController, buildPlansController, buildPromotionsController, buildPublicMarketingCatalogController, featureApprovalSignature, formatPreflightReport, formatSeedGateReport, loadApprovedCatalogKeys, preflightExitCode, quotaApprovalSignature, runPreflight, runSeedGateFromFile, seedGateExitCode, validateBundleDraft, validateBusinessTypeDraft, validatePlanDraft, validateSeedAgainstSnapshot } from './catalog/index.cjs';
21
+ export { ADVISORY_STRICT_MODE_CODES, BUNDLE_REPOSITORY_TOKEN, BundlesService, CATALOG_ENTRY_REPOSITORY_TOKEN, CATALOG_SERVICE_CONFIG_TOKEN, CatalogControllerConfig, CatalogEntriesService, CatalogModule, CatalogModuleOptions, CatalogServiceConfig, CreateBundleDto, CreateBundleVersionDraftDto, CreateMarketingProjectionDto, CreatePlanDto, CreatePlanVersionDraftDto, CreatePromotionDto, ListCatalogEntriesQueryDto, ListMarketingProjectionsQueryDto, ListMarketingSettingsQueryDto, ListPromotionsQueryDto, MARKETING_PROJECTION_REPOSITORY_TOKEN, MARKETING_SETTINGS_REPOSITORY_TOKEN, MarketingProjectionsService, MarketingSettingsService, PLAN_REPOSITORY_TOKEN, PROMOTION_REPOSITORY_TOKEN, PlanVersionsService, PlansService, PreflightFinding, PreflightInput, PreflightReport, PromotionsService, PublicMarketingCatalogService, PublishBundleVersionDto, PublishPlanVersionDto, ReviewCatalogEntryDto, SeedBundleDraft, SeedGateFinding, SeedGateInput, SeedGateMode, SeedGateReport, SeedGateRunOptions, SeedPlanDraft, SyncDiscoveryDto, UpdateBundleDto, UpdateBundleVersionDraftDto, UpdateCatalogEntryI18nDto, UpdateMarketingProjectionDto, UpdateMarketingSettingsDto, UpdatePlanDto, UpdatePlanVersionDraftDto, UpdatePromotionDto, blockingStrictModeWarnings, buildBundleVersionsController, buildBundlesController, buildCatalogEntriesController, buildMarketingProjectionsController, buildMarketingSettingsController, buildPlanVersionsController, buildPlansController, buildPromotionsController, buildPublicMarketingCatalogController, featureApprovalSignature, formatPreflightReport, formatSeedGateReport, loadApprovedCatalogKeys, preflightExitCode, quotaApprovalSignature, runPreflight, runSeedGateFromFile, seedGateExitCode, validateBundleDraft, validatePlanDraft, validateSeedAgainstSnapshot } from './catalog/index.cjs';
21
22
  export { CHECKOUT_OFFER_REPOSITORY_TOKEN, CheckoutOfferControllerConfig, CheckoutOfferModule, CheckoutOfferModuleOptions, CheckoutOfferService, CreateCheckoutOfferDto, UpdateCheckoutOfferDto, buildCheckoutOfferController } from './checkout-offer/index.cjs';
22
23
  export { C as CreateContractFromOfferOptions, S as SubscriptionContractService, c as contractLineItemToInvoiceLineItem, s as sortContractLineItemsForInvoice, a as subscriptionContractToInvoiceSnapshot } from './subscription-contract.service--cm47ZJJ.cjs';
23
24
  export { SUBSCRIPTION_CONTRACT_REPOSITORY_TOKEN, SubscriptionContractModule, SubscriptionContractModuleOptions } from './subscription-contract/index.cjs';
package/dist/index.d.ts CHANGED
@@ -2,22 +2,23 @@ import { P as ProviderSpec } from './di-CcNeq9v-.js';
2
2
  export { a as asProvider } from './di-CcNeq9v-.js';
3
3
  export { PROMO_CODE_REDEMPTION_REPOSITORY_TOKEN, PROMO_CODE_REPOSITORY_TOKEN, PROMO_CODE_VALIDATION_LOG_REPOSITORY_TOKEN, PROMO_FIRST_TIME_CUSTOMER_CHECK_TOKEN, PROMO_REVENUE_DEDUCTION_AGGREGATOR_TOKEN, PROMO_SERVICE_CONFIG_TOKEN, PROMO_SUBSCRIPTION_LOOKUP_TOKEN, PROMO_TRANSACTION_RUNNER_TOKEN, PreviewPromoCodeDto, PromoCodeExpirer, PromoCodeForCalc, PromoCodePublicController, PromoCodeRateLimitGuard, PromoCodesModule, PromoCodesModuleOptions, addCycles, buildLabel, computeDiscountGross, computeDiscountedGross, computeIncludedVat, computeRegularStartsAt, grossFromNet, hashIp, ipFingerprint, round2 } from './promo/index.js';
4
4
  export { P as PreviewInput, a as PreviewInvalid, b as PreviewReason, c as PreviewResult, d as PreviewValid, e as PromoCodeStats, f as PromoCodesService, g as PromoServiceConfig, R as RedeemInput } from './service-DX8KbGXl.js';
5
- export { AUDIT_CONTEXT_RESOLVER_TOKEN, AddBundleToSubscriptionInput, AjvErrorLike, AuditContextResolver, AuthGuardList, BundlePreviewSnapshot, CONTRACT_FREEZE_PORT_TOKEN, CONTRACT_FREEZE_PROJECT_KEY_TOKEN, CONTRACT_FREEZE_SOURCE_PORT_TOKEN, CancelBundleFromSubscriptionInput, CancelSubscriptionDto, CatalogBundleUpsellResolver, ChangePlanDto, CompleteOnboardingSubscriptionDto, ComposedTenantAuthGuard, ConfiguratorCatalogBuilder, ContractFreezeBundleSnapshot, ContractFreezePort, ContractFreezeSourcePort, DuePendingPlanChange, FEATURE_GUARD_CONFIG_TOKEN, FEATURE_UI_REGISTRY_TOKEN, FeatureGuard, FeatureGuardConfig, LimitExceededFilter, LimitsCheckRow, LoadPlanCatalogOptions, MarketingFields, NextPeriodWindow, PENDING_PLAN_QUERY_PORT_TOKEN, PLAN_CATALOG_IMPORT_SINK_TOKEN, PLAN_CATALOG_READ_SINK_TOKEN, PLAN_CATALOG_TOKEN, PUBLIC_CATALOG_BUNDLE_REPOSITORY_TOKEN, PUBLIC_CATALOG_BUSINESS_TYPE_REPOSITORY_TOKEN, PUBLIC_CATALOG_MARKETING_REPOSITORY_TOKEN, PUBLIC_CATALOG_PROJECT_KEY_TOKEN, PendingPlanMaterializationService, PendingPlanQueryPort, PeriodRollInput, PlanCatalogBuildSettings, PlanCatalogImportDto, PlanCatalogImporterControllerConfig, PlanCatalogImporterModule, PlanCatalogImporterModuleOptions, PlanCatalogImporterService, PlanCatalogModule, PlanCatalogModuleOptions, PlanCatalogValidationError, PlanChangeContext, PlanChangePreviewDto, PlanChangePreviewIssue, PlanChangePreviewService, PlanChangeType, PlanResponseEntry, PlanSnapshotDto, PreviewPlanChangeDto, ProrationDto, ProrationInput, PublicBundleEntry, PublicBusinessTypeEntry, PublicCatalogController, PublicCatalogModule, PublicCatalogModuleOptions, PublishValidationError, PublishablePlanVersion, REQUIRE_FEATURE_KEY, RedundantFeatureHint, RenewalDecision, RenewalSubInput, RequireFeature, SELF_SERVICE_BLOCKED_BUNDLES_TOKEN, SELF_SERVICE_BLOCKED_PLANS_TOKEN, SUBSCRIPTION_BUNDLE_CONFIG_TOKEN, SUBSCRIPTION_BUNDLE_REPOSITORY_TOKEN, SUBSCRIPTION_USAGE_PORT_TOKEN, SUBSCRIPTION_WRITE_PORT_TOKEN, SelfServiceBlockedBundles, SelfServiceBlockedPlans, SubscriptionBundleAddPreviewDto, SubscriptionBundleCancelPreviewDto, SubscriptionBundleConfig, SubscriptionBundleControllerOptions, SubscriptionBundleModule, SubscriptionBundleModuleOptions, SubscriptionBundlePreviewContext, SubscriptionBundlePreviewIssue, SubscriptionBundlePreviewService, SubscriptionBundlesService, SubscriptionContractFreezeService, TENANT_AUTH_GUARDS_TOKEN, TENANT_ID_RESOLVER_TOKEN, TRIAL_PROJECTION_PORT_TOKEN, TenantAdminGuard, TenantBillingController, TenantBillingModule, TenantBillingModuleOptions, TenantIdResolver, TrialProjectionInput, TrialProjectionPort, UPSELL_OFFER_CURRENCY_TOKEN, UPSELL_OFFER_RESOLVER_TOKEN, USAGE_SNAPSHOT_PORT_TOKEN, USER_EMAIL_RESOLVER_TOKEN, USER_ID_RESOLVER_TOKEN, UsageResponse, UserEmailResolver, UserIdResolver, addMonths, assertBaseVersionFresh, assertChangeNote, assertDraftPublishable, assertOptimisticLockHeld, buildPlanCatalogFromSnapshot, buildPlanCatalogImporterController, buildTenantSubscriptionBundlesController, clearPendingPlanVersionFields, computeCarriedTrialEndsAt, computeNextPeriod, computeProration, decideRenewal, findPlan, getActiveFeatureKeys, getMarketedPlans, getPlanOrThrow, getPlanPriceGross, getPlanPriceNet, getPlanQuota, initialPeriodWindow, isFeatureInPlan, isFeaturePlannedOnly, loadPlanCatalogFromFile, loadPlanCatalogFromString, periodEndAfter, periodEndWithMinLead, resolveBundleCancelEffectiveAt, resolveBundlePriceNet } from './billing/index.js';
5
+ export { AUDIT_CONTEXT_RESOLVER_TOKEN, AddBundleToSubscriptionInput, AjvErrorLike, AuditContextResolver, AuthGuardList, BundlePreviewSnapshot, CONTRACT_FREEZE_PORT_TOKEN, CONTRACT_FREEZE_PROJECT_KEY_TOKEN, CONTRACT_FREEZE_SOURCE_PORT_TOKEN, CancelBundleFromSubscriptionInput, CancelSubscriptionDto, CatalogBundleUpsellResolver, ChangePlanDto, CompleteOnboardingSubscriptionDto, ComposedTenantAuthGuard, ConfiguratorCatalogBuilder, ContractFreezeBundleSnapshot, ContractFreezePort, ContractFreezeSourcePort, DuePendingPlanChange, FEATURE_GUARD_CONFIG_TOKEN, FEATURE_UI_REGISTRY_TOKEN, FeatureGuard, FeatureGuardConfig, LimitExceededFilter, LimitsCheckRow, LoadPlanCatalogOptions, MarketingFields, NextPeriodWindow, PENDING_PLAN_QUERY_PORT_TOKEN, PLAN_CATALOG_IMPORT_SINK_TOKEN, PLAN_CATALOG_READ_SINK_TOKEN, PLAN_CATALOG_TOKEN, PUBLIC_CATALOG_BUNDLE_REPOSITORY_TOKEN, PUBLIC_CATALOG_MARKETING_REPOSITORY_TOKEN, PUBLIC_CATALOG_PROJECT_KEY_TOKEN, PendingPlanMaterializationService, PendingPlanQueryPort, PeriodRollInput, PlanCatalogBuildSettings, PlanCatalogImportDto, PlanCatalogImporterControllerConfig, PlanCatalogImporterModule, PlanCatalogImporterModuleOptions, PlanCatalogImporterService, PlanCatalogModule, PlanCatalogModuleOptions, PlanCatalogValidationError, PlanChangeContext, PlanChangePreviewDto, PlanChangePreviewIssue, PlanChangePreviewService, PlanChangeType, PlanResponseEntry, PlanSnapshotDto, PreviewPlanChangeDto, ProrationDto, ProrationInput, PublicBundleEntry, PublicCatalogController, PublicCatalogModule, PublicCatalogModuleOptions, PublishValidationError, PublishablePlanVersion, REQUIRE_FEATURE_KEY, RedundantFeatureHint, RenewalDecision, RenewalSubInput, RequireFeature, SELF_SERVICE_BLOCKED_BUNDLES_TOKEN, SELF_SERVICE_BLOCKED_PLANS_TOKEN, SUBSCRIPTION_BUNDLE_CONFIG_TOKEN, SUBSCRIPTION_BUNDLE_REPOSITORY_TOKEN, SUBSCRIPTION_USAGE_PORT_TOKEN, SUBSCRIPTION_WRITE_PORT_TOKEN, SelfServiceBlockedBundles, SelfServiceBlockedPlans, SubscriptionBundleAddPreviewDto, SubscriptionBundleCancelPreviewDto, SubscriptionBundleConfig, SubscriptionBundleControllerOptions, SubscriptionBundleModule, SubscriptionBundleModuleOptions, SubscriptionBundlePreviewContext, SubscriptionBundlePreviewIssue, SubscriptionBundlePreviewService, SubscriptionBundlesService, SubscriptionContractFreezeService, TENANT_AUTH_GUARDS_TOKEN, TENANT_ID_RESOLVER_TOKEN, TRIAL_PROJECTION_PORT_TOKEN, TenantAdminGuard, TenantBillingController, TenantBillingModule, TenantBillingModuleOptions, TenantIdResolver, TrialProjectionInput, TrialProjectionPort, UPSELL_OFFER_CURRENCY_TOKEN, UPSELL_OFFER_RESOLVER_TOKEN, USAGE_SNAPSHOT_PORT_TOKEN, USER_EMAIL_RESOLVER_TOKEN, USER_ID_RESOLVER_TOKEN, UsageResponse, UserEmailResolver, UserIdResolver, addMonths, assertBaseVersionFresh, assertChangeNote, assertDraftPublishable, assertOptimisticLockHeld, buildPlanCatalogFromSnapshot, buildPlanCatalogImporterController, buildTenantSubscriptionBundlesController, clearPendingPlanVersionFields, computeCarriedTrialEndsAt, computeNextPeriod, computeProration, decideRenewal, findPlan, getActiveFeatureKeys, getMarketedPlans, getPlanOrThrow, getPlanPriceGross, getPlanPriceNet, getPlanQuota, initialPeriodWindow, isFeatureInPlan, isFeaturePlannedOnly, loadPlanCatalogFromFile, loadPlanCatalogFromString, periodEndAfter, periodEndWithMinLead, resolveBundleCancelEffectiveAt, resolveBundlePriceNet } from './billing/index.js';
6
6
  import { SuperAdminProvisioningPort, SetupStatusResponse, SetupRequest, SetupResult, SetupConfirmMfaRequest, SetupConfirmMfaResponse } from '@saasicat/types';
7
7
  export { BundleVersionFields, ChangeDirection, DiffResult, DiscoveredCapability, DiscoveredFeature, DiscoveredQuota, DiscoverySnapshot, PasswordHasher, PlanVersionFields, VersionChange, VersionChangeDirection, classifyBundleVersionDiff, classifyPlanDiff } from '@saasicat/types';
8
- export { B as BundleVersionSnapshot, a as BusinessTypeVersionSnapshot, C as CustomLimitsShape, E as EffectiveLimits, b as EffectiveLimitsSnapshot, c as EnforceLimitInput, d as EntitlementService, P as PlanVersionSnapshot, S as SubscriptionBundleSnapshot, e as SubscriptionLimitsInput, f as aggregateBusinessTypeQuotas, g as aggregateContractLineItemEntitlements, h as aggregateLimits, i as aggregateSubscriptionBundleQuotas, j as applyCustomLimits, k as collectBusinessTypeFeatures, l as collectSubscriptionBundleFeatures, m as filterActiveSubscriptionBundles, n as filterPlannedOnlyFeatures, o as hasAnyFeature, p as hasFeature, t as toEffectiveLimitsSnapshot } from './aggregation-DGCyoN5d.js';
9
- export { ENTITLEMENT_RESOLUTION_CONFIG_TOKEN, EntitlementModule, EntitlementModuleOptions, LimitExceededError, PLAN_VERSION_REPOSITORY_TOKEN, ReplacedByIndex, SUBSCRIPTION_REPOSITORY_TOKEN, TRANSACTION_RUNNER_TOKEN, buildReplacedByIndex, expandReplacedFeatures, isLimitExceededError } from './entitlement/index.js';
8
+ export { C as CustomLimitsShape, E as EffectiveLimits, a as EffectiveLimitsSnapshot, b as EnforceLimitInput, c as EntitlementService, P as PlanVersionSnapshot, S as SubscriptionBundleSnapshot, d as SubscriptionLimitsInput, e as aggregateContractLineItemEntitlements, f as aggregateLimits, g as aggregateSubscriptionBundleQuotas, h as applyCustomLimits, i as collectSubscriptionBundleFeatures, j as filterActiveSubscriptionBundles, k as filterPlannedOnlyFeatures, l as hasAnyFeature, m as hasFeature, t as toEffectiveLimitsSnapshot } from './aggregation-BibpEO0t.js';
9
+ export { ENTITLEMENT_RESOLUTION_CONFIG_TOKEN, ENTITLEMENT_SERVICE_TOKEN, EntitlementModule, EntitlementModuleOptions, LimitExceededError, PLAN_VERSION_REPOSITORY_TOKEN, ReplacedByIndex, SUBSCRIPTION_REPOSITORY_TOKEN, TRANSACTION_RUNNER_TOKEN, buildReplacedByIndex, expandReplacedFeatures, isLimitExceededError } from './entitlement/index.js';
10
10
  export { E as EntitlementResolutionConfig, a as EntitlementResolutionInput, r as resolveEntitlementPlan } from './plan-resolution-CFCoUkrE.js';
11
11
  import { MfaService } from './admin/index.js';
12
- export { ADMIN_STATS_AUDIT_WINDOW_DAYS_TOKEN, AUDIT_PORT_TOKEN, AUDIT_STATS_PORT_TOKEN, AdminBypassRlsInterceptor, AdminManifestModule, AdminManifestModuleOptions, AdminManifestService, AdminModule, AdminModuleOptions, AdminPublicBootController, AdminStatsController, AdminStatsModule, AdminStatsModuleOptions, AdminStatsService, AdminStatsSnapshot, MFA_PORT_TOKEN, MfaGuard, PLATFORM_CORE_CONTRIBUTION_TOKEN, PLATFORM_CORE_MANIFEST_CONTRIBUTION, PROMO_CODE_STATS_PORT_TOKEN, REQUIRE_MFA_KEY, RLS_BYPASS_PORT_TOKEN, RequireMfa, SUBSCRIPTION_STATS_PORT_TOKEN, SuperAdminGuard, TotpSetupResult, VerifyTotpInput } from './admin/index.js';
12
+ export { ADMIN_STATS_AUDIT_WINDOW_DAYS_TOKEN, AUDIT_PORT_TOKEN, AUDIT_STATS_PORT_TOKEN, AdminBypassRlsInterceptor, AdminManifestModule, AdminManifestModuleOptions, AdminModule, AdminModuleOptions, AdminPublicBootController, AdminStatsController, AdminStatsModule, AdminStatsModuleOptions, AdminStatsService, AdminStatsSnapshot, MFA_PORT_TOKEN, MfaGuard, PLATFORM_CORE_MANIFEST_CONTRIBUTION, PROMO_CODE_STATS_PORT_TOKEN, REQUIRE_MFA_KEY, RLS_BYPASS_PORT_TOKEN, RequireMfa, SUBSCRIPTION_STATS_PORT_TOKEN, SuperAdminGuard, TotpSetupResult, VerifyTotpInput } from './admin/index.js';
13
13
  export { A as AdminAuditService } from './admin-audit.service-9IqXMlZm.js';
14
- export { A as ADMIN_MANIFEST_CONFIG, a as AdminManifestConfig } from './admin-manifest.config-DxTfZ8-L.js';
14
+ export { a as ADMIN_MANIFEST_CONFIG, A as AdminManifestConfig } from './admin-manifest.config-DyrQNT7M.js';
15
+ export { A as AdminManifestService, P as PLATFORM_CORE_CONTRIBUTION_TOKEN } from './admin-manifest.service-UGgzR1x-.js';
15
16
  import { DynamicModule } from '@nestjs/common';
16
17
  export { Type as NestType } from '@nestjs/common';
17
- export { ACTIVATION_ORCHESTRATOR_TOKEN, BaseIpRateLimitGuard, ContinueRegistrationDto, PASSWORD_HASHER_TOKEN, PAYMENT_EVENT_LOG_TOKEN, PAYMENT_PROVIDER_TOKEN, PENDING_REGISTRATION_REPOSITORY_TOKEN, PLAN_CATALOG_LOOKUP_TOKEN, PaymentWebhookDto, PendingRegistrationService, PreviewRegistrationPromoDto, PromoEvaluation, REGISTRATION_AUDIT_LOGGER_TOKEN, REGISTRATION_BUSINESS_TYPE_LOOKUP_TOKEN, REGISTRATION_CONFIGURATOR_LOOKUP_TOKEN, REGISTRATION_CONFIG_TOKEN, REGISTRATION_OTP_DELIVERY_TOKEN, REGISTRATION_PROMO_PREVIEW_TOKEN, REGISTRATION_RESUME_BASE_URL_TOKEN, REGISTRATION_RESUME_DELIVERY_TOKEN, REGISTRATION_RESUME_TOKEN_SIGNER_TOKEN, RegisterStartDto, RegistrationCleanupCron, RegistrationModule, RegistrationModuleOptions, ResendRegistrationOtpDto, SLUG_AVAILABILITY_CHECK_TOKEN, SaveRegistrationConfigDto, SaveRegistrationConfigSelectionDto, SelectRegistrationPlanDto, StartRegistrationCheckoutDto, USER_ACCOUNT_LOOKUP_TOKEN, VerifyRegistrationOtpDto, computeBreakdown, generateOtpCode, hashOtpCode, resolveModel, slugify, verifyOtpCode } from './registration/index.js';
18
+ export { ACTIVATION_ORCHESTRATOR_TOKEN, BaseIpRateLimitGuard, ContinueRegistrationDto, PASSWORD_HASHER_TOKEN, PAYMENT_EVENT_LOG_TOKEN, PAYMENT_PROVIDER_TOKEN, PENDING_REGISTRATION_REPOSITORY_TOKEN, PLAN_CATALOG_LOOKUP_TOKEN, PaymentWebhookDto, PendingRegistrationService, PreviewRegistrationPromoDto, PromoEvaluation, REGISTRATION_AUDIT_LOGGER_TOKEN, REGISTRATION_CONFIGURATOR_LOOKUP_TOKEN, REGISTRATION_CONFIG_TOKEN, REGISTRATION_OTP_DELIVERY_TOKEN, REGISTRATION_PROMO_PREVIEW_TOKEN, REGISTRATION_RESUME_BASE_URL_TOKEN, REGISTRATION_RESUME_DELIVERY_TOKEN, REGISTRATION_RESUME_TOKEN_SIGNER_TOKEN, RegisterStartDto, RegistrationCleanupCron, RegistrationModule, RegistrationModuleOptions, ResendRegistrationOtpDto, SLUG_AVAILABILITY_CHECK_TOKEN, SaveRegistrationConfigDto, SaveRegistrationConfigSelectionDto, SelectRegistrationPlanDto, StartRegistrationCheckoutDto, USER_ACCOUNT_LOOKUP_TOKEN, VerifyRegistrationOtpDto, computeBreakdown, generateOtpCode, hashOtpCode, resolveModel, slugify, verifyOtpCode } from './registration/index.js';
18
19
  export { DEFINES_QUOTA_KEY, DISCOVERY_SNAPSHOT_TOKEN, DefinesQuota, DefinesQuotaOptions, DiscoveryControllerConfig, DiscoveryModule, DiscoveryModuleOptions, DiscoverySnapshotNotFoundError, ENFORCE_QUOTA_KEY, EnforceQuota, EnforceQuotaMetadata, EnforceQuotaOptions, HeadlessScanOptions, IMPLEMENTS_CAPABILITY_KEY, ImplementsCapability, ImplementsCapabilityMetadata, ImplementsCapabilityOptions, REQUIRES_CAPABILITY_KEY, RequiresCapability, RequiresCapabilityKeys, buildDiscoveryController, loadDiscoverySnapshotFromFile, runHeadlessDiscoveryScan } from './discovery/index.js';
19
20
  export { D as DISCOVERY_APP_INFO_TOKEN, a as DISCOVERY_SNAPSHOT_PATH_TOKEN, b as DiscoveryAppInfo, c as DiscoveryScanner, d as computeSnapshotHash } from './discovery.scanner-DLgEvuoy.js';
20
- export { ADVISORY_STRICT_MODE_CODES, BUNDLE_REPOSITORY_TOKEN, BUSINESS_TYPE_REPOSITORY_TOKEN, BundlesService, BusinessTypeBundleInputDto, BusinessTypesService, CATALOG_ENTRY_REPOSITORY_TOKEN, CATALOG_SERVICE_CONFIG_TOKEN, CatalogControllerConfig, CatalogEntriesService, CatalogModule, CatalogModuleOptions, CatalogServiceConfig, CreateBundleDto, CreateBundleVersionDraftDto, CreateBusinessTypeDto, CreateBusinessTypeVersionDraftDto, CreateMarketingProjectionDto, CreatePlanDto, CreatePlanVersionDraftDto, CreatePromotionDto, ListCatalogEntriesQueryDto, ListMarketingProjectionsQueryDto, ListMarketingSettingsQueryDto, ListPromotionsQueryDto, MARKETING_PROJECTION_REPOSITORY_TOKEN, MARKETING_SETTINGS_REPOSITORY_TOKEN, MarketingProjectionsService, MarketingSettingsService, PLAN_REPOSITORY_TOKEN, PROMOTION_REPOSITORY_TOKEN, PlanVersionsService, PlansService, PreflightFinding, PreflightInput, PreflightReport, PromotionsService, PublicMarketingCatalogService, PublishBundleVersionDto, PublishBusinessTypeVersionDto, PublishPlanVersionDto, ReviewCatalogEntryDto, SeedBundleDraft, SeedGateFinding, SeedGateInput, SeedGateMode, SeedGateReport, SeedGateRunOptions, SeedPlanDraft, SyncDiscoveryDto, UpdateBundleDto, UpdateBundleVersionDraftDto, UpdateBusinessTypeDto, UpdateBusinessTypeVersionDraftDto, UpdateCatalogEntryI18nDto, UpdateMarketingProjectionDto, UpdateMarketingSettingsDto, UpdatePlanDto, UpdatePlanVersionDraftDto, UpdatePromotionDto, blockingStrictModeWarnings, buildBundleVersionsController, buildBundlesController, buildBusinessTypeVersionsController, buildBusinessTypesController, buildCatalogEntriesController, buildMarketingProjectionsController, buildMarketingSettingsController, buildPlanVersionsController, buildPlansController, buildPromotionsController, buildPublicMarketingCatalogController, featureApprovalSignature, formatPreflightReport, formatSeedGateReport, loadApprovedCatalogKeys, preflightExitCode, quotaApprovalSignature, runPreflight, runSeedGateFromFile, seedGateExitCode, validateBundleDraft, validateBusinessTypeDraft, validatePlanDraft, validateSeedAgainstSnapshot } from './catalog/index.js';
21
+ export { ADVISORY_STRICT_MODE_CODES, BUNDLE_REPOSITORY_TOKEN, BundlesService, CATALOG_ENTRY_REPOSITORY_TOKEN, CATALOG_SERVICE_CONFIG_TOKEN, CatalogControllerConfig, CatalogEntriesService, CatalogModule, CatalogModuleOptions, CatalogServiceConfig, CreateBundleDto, CreateBundleVersionDraftDto, CreateMarketingProjectionDto, CreatePlanDto, CreatePlanVersionDraftDto, CreatePromotionDto, ListCatalogEntriesQueryDto, ListMarketingProjectionsQueryDto, ListMarketingSettingsQueryDto, ListPromotionsQueryDto, MARKETING_PROJECTION_REPOSITORY_TOKEN, MARKETING_SETTINGS_REPOSITORY_TOKEN, MarketingProjectionsService, MarketingSettingsService, PLAN_REPOSITORY_TOKEN, PROMOTION_REPOSITORY_TOKEN, PlanVersionsService, PlansService, PreflightFinding, PreflightInput, PreflightReport, PromotionsService, PublicMarketingCatalogService, PublishBundleVersionDto, PublishPlanVersionDto, ReviewCatalogEntryDto, SeedBundleDraft, SeedGateFinding, SeedGateInput, SeedGateMode, SeedGateReport, SeedGateRunOptions, SeedPlanDraft, SyncDiscoveryDto, UpdateBundleDto, UpdateBundleVersionDraftDto, UpdateCatalogEntryI18nDto, UpdateMarketingProjectionDto, UpdateMarketingSettingsDto, UpdatePlanDto, UpdatePlanVersionDraftDto, UpdatePromotionDto, blockingStrictModeWarnings, buildBundleVersionsController, buildBundlesController, buildCatalogEntriesController, buildMarketingProjectionsController, buildMarketingSettingsController, buildPlanVersionsController, buildPlansController, buildPromotionsController, buildPublicMarketingCatalogController, featureApprovalSignature, formatPreflightReport, formatSeedGateReport, loadApprovedCatalogKeys, preflightExitCode, quotaApprovalSignature, runPreflight, runSeedGateFromFile, seedGateExitCode, validateBundleDraft, validatePlanDraft, validateSeedAgainstSnapshot } from './catalog/index.js';
21
22
  export { CHECKOUT_OFFER_REPOSITORY_TOKEN, CheckoutOfferControllerConfig, CheckoutOfferModule, CheckoutOfferModuleOptions, CheckoutOfferService, CreateCheckoutOfferDto, UpdateCheckoutOfferDto, buildCheckoutOfferController } from './checkout-offer/index.js';
22
23
  export { C as CreateContractFromOfferOptions, S as SubscriptionContractService, c as contractLineItemToInvoiceLineItem, s as sortContractLineItemsForInvoice, a as subscriptionContractToInvoiceSnapshot } from './subscription-contract.service--cm47ZJJ.js';
23
24
  export { SUBSCRIPTION_CONTRACT_REPOSITORY_TOKEN, SubscriptionContractModule, SubscriptionContractModuleOptions } from './subscription-contract/index.js';
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  PromoCodesModule,
7
7
  hashIp,
8
8
  ipFingerprint
9
- } from "./chunk-2VNZYRDV.js";
9
+ } from "./chunk-52UTQRD3.js";
10
10
  import {
11
11
  ACTIVATION_ORCHESTRATOR_TOKEN,
12
12
  BaseIpRateLimitGuard,
@@ -21,7 +21,6 @@ import {
21
21
  PendingRegistrationService,
22
22
  PreviewRegistrationPromoDto,
23
23
  REGISTRATION_AUDIT_LOGGER_TOKEN,
24
- REGISTRATION_BUSINESS_TYPE_LOOKUP_TOKEN,
25
24
  REGISTRATION_CONFIGURATOR_LOOKUP_TOKEN,
26
25
  REGISTRATION_CONFIG_TOKEN,
27
26
  REGISTRATION_OTP_DELIVERY_TOKEN,
@@ -46,7 +45,7 @@ import {
46
45
  resolveModel,
47
46
  slugify,
48
47
  verifyOtpCode
49
- } from "./chunk-XSGU2Y2O.js";
48
+ } from "./chunk-CK54YKVK.js";
50
49
  import {
51
50
  ADMIN_STATS_AUDIT_WINDOW_DAYS_TOKEN,
52
51
  AUDIT_STATS_PORT_TOKEN,
@@ -55,7 +54,7 @@ import {
55
54
  AdminStatsService,
56
55
  PROMO_CODE_STATS_PORT_TOKEN,
57
56
  SUBSCRIPTION_STATS_PORT_TOKEN
58
- } from "./chunk-YNEW3L63.js";
57
+ } from "./chunk-SD3TT2BR.js";
59
58
  import {
60
59
  CONTRACT_FREEZE_PORT_TOKEN,
61
60
  CONTRACT_FREEZE_PROJECT_KEY_TOKEN,
@@ -72,7 +71,6 @@ import {
72
71
  LimitExceededFilter,
73
72
  PLAN_CATALOG_IMPORT_SINK_TOKEN,
74
73
  PUBLIC_CATALOG_BUNDLE_REPOSITORY_TOKEN,
75
- PUBLIC_CATALOG_BUSINESS_TYPE_REPOSITORY_TOKEN,
76
74
  PUBLIC_CATALOG_MARKETING_REPOSITORY_TOKEN,
77
75
  PUBLIC_CATALOG_PROJECT_KEY_TOKEN,
78
76
  PendingPlanMaterializationService,
@@ -115,7 +113,7 @@ import {
115
113
  periodEndWithMinLead,
116
114
  resolveBundleCancelEffectiveAt,
117
115
  resolveBundlePriceNet
118
- } from "./chunk-S2OZ5RIM.js";
116
+ } from "./chunk-6LP7CDS2.js";
119
117
  import {
120
118
  PROMO_CODE_REDEMPTION_REPOSITORY_TOKEN,
121
119
  PROMO_CODE_REPOSITORY_TOKEN,
@@ -131,7 +129,7 @@ import {
131
129
  computeDiscountGross,
132
130
  computeDiscountedGross,
133
131
  computeRegularStartsAt
134
- } from "./chunk-ZL4LLE2Z.js";
132
+ } from "./chunk-ZLUGQE5D.js";
135
133
  import {
136
134
  SubscriptionContractModule,
137
135
  SubscriptionContractService,
@@ -142,14 +140,10 @@ import {
142
140
  import {
143
141
  ADVISORY_STRICT_MODE_CODES,
144
142
  BundlesService,
145
- BusinessTypeBundleInputDto,
146
- BusinessTypesService,
147
143
  CatalogEntriesService,
148
144
  CatalogModule,
149
145
  CreateBundleDto,
150
146
  CreateBundleVersionDraftDto,
151
- CreateBusinessTypeDto,
152
- CreateBusinessTypeVersionDraftDto,
153
147
  CreateMarketingProjectionDto,
154
148
  CreatePlanDto,
155
149
  CreatePlanVersionDraftDto,
@@ -165,14 +159,11 @@ import {
165
159
  PromotionsService,
166
160
  PublicMarketingCatalogService,
167
161
  PublishBundleVersionDto,
168
- PublishBusinessTypeVersionDto,
169
162
  PublishPlanVersionDto,
170
163
  ReviewCatalogEntryDto,
171
164
  SyncDiscoveryDto,
172
165
  UpdateBundleDto,
173
166
  UpdateBundleVersionDraftDto,
174
- UpdateBusinessTypeDto,
175
- UpdateBusinessTypeVersionDraftDto,
176
167
  UpdateCatalogEntryI18nDto,
177
168
  UpdateMarketingProjectionDto,
178
169
  UpdateMarketingSettingsDto,
@@ -182,8 +173,6 @@ import {
182
173
  blockingStrictModeWarnings,
183
174
  buildBundleVersionsController,
184
175
  buildBundlesController,
185
- buildBusinessTypeVersionsController,
186
- buildBusinessTypesController,
187
176
  buildCatalogEntriesController,
188
177
  buildMarketingProjectionsController,
189
178
  buildMarketingSettingsController,
@@ -201,10 +190,9 @@ import {
201
190
  runSeedGateFromFile,
202
191
  seedGateExitCode,
203
192
  validateBundleDraft,
204
- validateBusinessTypeDraft,
205
193
  validatePlanDraft,
206
194
  validateSeedAgainstSnapshot
207
- } from "./chunk-V7HUZ6UQ.js";
195
+ } from "./chunk-5DDCSGZC.js";
208
196
  import {
209
197
  AUDIT_CONTEXT_RESOLVER_TOKEN,
210
198
  PENDING_PLAN_QUERY_PORT_TOKEN,
@@ -226,7 +214,7 @@ import {
226
214
  CreateCheckoutOfferDto,
227
215
  UpdateCheckoutOfferDto,
228
216
  buildCheckoutOfferController
229
- } from "./chunk-SYEVGPFC.js";
217
+ } from "./chunk-K3OPNVFR.js";
230
218
  import "./chunk-MDIZUVIK.js";
231
219
  import {
232
220
  DefinesQuota,
@@ -254,7 +242,7 @@ import {
254
242
  REQUIRE_MFA_KEY,
255
243
  RequireMfa,
256
244
  SuperAdminGuard
257
- } from "./chunk-P6MYZMXQ.js";
245
+ } from "./chunk-U6HT27J7.js";
258
246
  import {
259
247
  REQUIRE_FEATURE_KEY,
260
248
  RequireFeature
@@ -281,13 +269,11 @@ import {
281
269
  LimitExceededError,
282
270
  SUBSCRIPTION_BUNDLE_CONFIG_TOKEN,
283
271
  SUBSCRIPTION_BUNDLE_REPOSITORY_TOKEN,
284
- aggregateBusinessTypeQuotas,
285
272
  aggregateContractLineItemEntitlements,
286
273
  aggregateLimits,
287
274
  aggregateSubscriptionBundleQuotas,
288
275
  applyCustomLimits,
289
276
  buildReplacedByIndex,
290
- collectBusinessTypeFeatures,
291
277
  collectSubscriptionBundleFeatures,
292
278
  expandReplacedFeatures,
293
279
  filterActiveSubscriptionBundles,
@@ -297,7 +283,7 @@ import {
297
283
  isLimitExceededError,
298
284
  resolveEntitlementPlan,
299
285
  toEffectiveLimitsSnapshot
300
- } from "./chunk-NFOSITWB.js";
286
+ } from "./chunk-RZU4HIAN.js";
301
287
  import {
302
288
  PLAN_CATALOG_READ_SINK_TOKEN,
303
289
  PLAN_CATALOG_TOKEN,
@@ -315,26 +301,26 @@ import {
315
301
  isFeatureInPlan,
316
302
  isFeaturePlannedOnly,
317
303
  round2
318
- } from "./chunk-MV6LW5UB.js";
304
+ } from "./chunk-R2QOSVAA.js";
319
305
  import {
320
306
  SUBSCRIPTION_CONTRACT_REPOSITORY_TOKEN
321
307
  } from "./chunk-NYLON2VC.js";
322
308
  import {
323
309
  ENTITLEMENT_RESOLUTION_CONFIG_TOKEN,
310
+ ENTITLEMENT_SERVICE_TOKEN,
324
311
  PLAN_VERSION_REPOSITORY_TOKEN,
325
312
  SUBSCRIPTION_REPOSITORY_TOKEN,
326
313
  TRANSACTION_RUNNER_TOKEN
327
- } from "./chunk-7MLGHWKO.js";
314
+ } from "./chunk-WKVBNTYC.js";
328
315
  import {
329
316
  BUNDLE_REPOSITORY_TOKEN,
330
- BUSINESS_TYPE_REPOSITORY_TOKEN,
331
317
  CATALOG_ENTRY_REPOSITORY_TOKEN,
332
318
  CATALOG_SERVICE_CONFIG_TOKEN,
333
319
  MARKETING_PROJECTION_REPOSITORY_TOKEN,
334
320
  MARKETING_SETTINGS_REPOSITORY_TOKEN,
335
321
  PLAN_REPOSITORY_TOKEN,
336
322
  PROMOTION_REPOSITORY_TOKEN
337
- } from "./chunk-XCZ3TTFK.js";
323
+ } from "./chunk-N3WANKSA.js";
338
324
  import {
339
325
  asProvider
340
326
  } from "./chunk-SABTXESR.js";
@@ -668,11 +654,8 @@ export {
668
654
  AdminStatsModule,
669
655
  AdminStatsService,
670
656
  BUNDLE_REPOSITORY_TOKEN,
671
- BUSINESS_TYPE_REPOSITORY_TOKEN,
672
657
  BaseIpRateLimitGuard,
673
658
  BundlesService,
674
- BusinessTypeBundleInputDto,
675
- BusinessTypesService,
676
659
  CATALOG_ENTRY_REPOSITORY_TOKEN,
677
660
  CATALOG_SERVICE_CONFIG_TOKEN,
678
661
  CHECKOUT_OFFER_REPOSITORY_TOKEN,
@@ -692,8 +675,6 @@ export {
692
675
  ContinueRegistrationDto,
693
676
  CreateBundleDto,
694
677
  CreateBundleVersionDraftDto,
695
- CreateBusinessTypeDto,
696
- CreateBusinessTypeVersionDraftDto,
697
678
  CreateCheckoutOfferDto,
698
679
  CreateMarketingProjectionDto,
699
680
  CreatePlanDto,
@@ -710,6 +691,7 @@ export {
710
691
  DiscoverySnapshotNotFoundError,
711
692
  ENFORCE_QUOTA_KEY,
712
693
  ENTITLEMENT_RESOLUTION_CONFIG_TOKEN,
694
+ ENTITLEMENT_SERVICE_TOKEN,
713
695
  EnforceQuota,
714
696
  EntitlementModule,
715
697
  EntitlementService,
@@ -755,7 +737,6 @@ export {
755
737
  PROMO_SUBSCRIPTION_LOOKUP_TOKEN,
756
738
  PROMO_TRANSACTION_RUNNER_TOKEN,
757
739
  PUBLIC_CATALOG_BUNDLE_REPOSITORY_TOKEN,
758
- PUBLIC_CATALOG_BUSINESS_TYPE_REPOSITORY_TOKEN,
759
740
  PUBLIC_CATALOG_MARKETING_REPOSITORY_TOKEN,
760
741
  PUBLIC_CATALOG_PROJECT_KEY_TOKEN,
761
742
  PaymentWebhookDto,
@@ -782,11 +763,9 @@ export {
782
763
  PublicCatalogModule,
783
764
  PublicMarketingCatalogService,
784
765
  PublishBundleVersionDto,
785
- PublishBusinessTypeVersionDto,
786
766
  PublishPlanVersionDto,
787
767
  PublishValidationError,
788
768
  REGISTRATION_AUDIT_LOGGER_TOKEN,
789
- REGISTRATION_BUSINESS_TYPE_LOOKUP_TOKEN,
790
769
  REGISTRATION_CONFIGURATOR_LOOKUP_TOKEN,
791
770
  REGISTRATION_CONFIG_TOKEN,
792
771
  REGISTRATION_OTP_DELIVERY_TOKEN,
@@ -848,8 +827,6 @@ export {
848
827
  USER_ID_RESOLVER_TOKEN,
849
828
  UpdateBundleDto,
850
829
  UpdateBundleVersionDraftDto,
851
- UpdateBusinessTypeDto,
852
- UpdateBusinessTypeVersionDraftDto,
853
830
  UpdateCatalogEntryI18nDto,
854
831
  UpdateCheckoutOfferDto,
855
832
  UpdateMarketingProjectionDto,
@@ -860,7 +837,6 @@ export {
860
837
  VerifyRegistrationOtpDto,
861
838
  addCycles,
862
839
  addMonths,
863
- aggregateBusinessTypeQuotas,
864
840
  aggregateContractLineItemEntitlements,
865
841
  aggregateLimits,
866
842
  aggregateSubscriptionBundleQuotas,
@@ -873,8 +849,6 @@ export {
873
849
  blockingStrictModeWarnings,
874
850
  buildBundleVersionsController,
875
851
  buildBundlesController,
876
- buildBusinessTypeVersionsController,
877
- buildBusinessTypesController,
878
852
  buildCatalogEntriesController,
879
853
  buildCheckoutOfferController,
880
854
  buildDiscoveryController,
@@ -892,7 +866,6 @@ export {
892
866
  classifyBundleVersionDiff,
893
867
  classifyPlanDiff,
894
868
  clearPendingPlanVersionFields,
895
- collectBusinessTypeFeatures,
896
869
  collectSubscriptionBundleFeatures,
897
870
  computeBreakdown,
898
871
  computeCarriedTrialEndsAt,
@@ -951,7 +924,6 @@ export {
951
924
  subscriptionContractToInvoiceSnapshot,
952
925
  toEffectiveLimitsSnapshot,
953
926
  validateBundleDraft,
954
- validateBusinessTypeDraft,
955
927
  validatePlanDraft,
956
928
  validateSeedAgainstSnapshot,
957
929
  verifyOtpCode
@@ -31,6 +31,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
31
31
  // src/platform/index.ts
32
32
  var platform_exports = {};
33
33
  __export(platform_exports, {
34
+ AdminManifestService: () => AdminManifestService,
34
35
  EnforceQuotaInterceptor: () => EnforceQuotaInterceptor,
35
36
  PLAN_RESOLVER_PORT_TOKEN: () => PLAN_RESOLVER_PORT_TOKEN,
36
37
  QUOTA_PROVIDERS_TOKEN: () => QUOTA_PROVIDERS_TOKEN,
@@ -397,7 +398,8 @@ var SuperAdminGuard = class {
397
398
  canActivate(context) {
398
399
  const request = context.switchToHttp().getRequest();
399
400
  if (!request.user) throw new import_common5.ForbiddenException("Nicht authentifiziert");
400
- if (request.user.role !== "SUPER_ADMIN") {
401
+ const role = request.user.platformRole ?? request.user.role;
402
+ if (role !== "SUPER_ADMIN") {
401
403
  throw new import_common5.ForbiddenException("Nur SUPER_ADMIN-Rolle erlaubt");
402
404
  }
403
405
  return true;
@@ -676,7 +678,7 @@ var PLATFORM_CORE_MANIFEST_CONTRIBUTION = {
676
678
  // section, see `DEFAULT_NAV_SECTIONS` in the nav-builder). The order per
677
679
  // section is deliberately curated:
678
680
  // Overview: dashboard
679
- // Product catalog: discovery → bundles → businessTypes → plans →
681
+ // Product catalog: discovery → bundles → plans →
680
682
  // planVersions → marketingCatalog → promoCodes
681
683
  // (promoCodes is appended by the app contributions
682
684
  // and therefore lands at the end of the section)
@@ -701,12 +703,6 @@ var PLATFORM_CORE_MANIFEST_CONTRIBUTION = {
701
703
  enabled: true,
702
704
  requiredCapability: "bundles.read"
703
705
  },
704
- // SPEC_V2 §11.1 M3 — BusinessType editor in SuperAdmin.
705
- // Apps with domain verticals set `businessTypes.read = true`.
706
- businessTypes: {
707
- enabled: true,
708
- requiredCapability: "businessTypes.read"
709
- },
710
706
  plans: {
711
707
  enabled: true,
712
708
  requiredCapability: "plans.read"
@@ -1140,8 +1136,8 @@ function _ts_decorate10(decorators, target, key, desc) {
1140
1136
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1141
1137
  }
1142
1138
  __name(_ts_decorate10, "_ts_decorate");
1143
- var PLAN_CATALOG_TOKEN = /* @__PURE__ */ Symbol("PLAN_CATALOG");
1144
- var PLAN_CATALOG_READ_SINK_TOKEN = /* @__PURE__ */ Symbol("PLAN_CATALOG_READ_SINK");
1139
+ var PLAN_CATALOG_TOKEN = /* @__PURE__ */ Symbol.for("saasicat/nest/PLAN_CATALOG");
1140
+ var PLAN_CATALOG_READ_SINK_TOKEN = /* @__PURE__ */ Symbol.for("saasicat/nest/PLAN_CATALOG_READ_SINK");
1145
1141
  var PlanCatalogModule = class _PlanCatalogModule {
1146
1142
  static {
1147
1143
  __name(this, "PlanCatalogModule");
@@ -1676,25 +1672,6 @@ function isFeaturePlannedOnly(catalog, featureKey) {
1676
1672
  __name(isFeaturePlannedOnly, "isFeaturePlannedOnly");
1677
1673
 
1678
1674
  // src/entitlement/aggregation.ts
1679
- function aggregateBusinessTypeQuotas(snapshot) {
1680
- const sums = {};
1681
- for (const bundle of snapshot.bundles) {
1682
- for (const [key, value] of Object.entries(bundle.quotas)) {
1683
- if (sums[key] === -1 || value === -1) {
1684
- sums[key] = -1;
1685
- } else {
1686
- sums[key] = (sums[key] ?? 0) + value;
1687
- }
1688
- }
1689
- }
1690
- for (const [key, value] of Object.entries(snapshot.quotaOverrides)) {
1691
- if (value !== void 0) {
1692
- sums[key] = value;
1693
- }
1694
- }
1695
- return sums;
1696
- }
1697
- __name(aggregateBusinessTypeQuotas, "aggregateBusinessTypeQuotas");
1698
1675
  function filterActiveSubscriptionBundles(bundles, now) {
1699
1676
  return bundles.filter((b) => b.canceledEffectiveAt === null || b.canceledEffectiveAt > now);
1700
1677
  }
@@ -1745,16 +1722,6 @@ function aggregateContractLineItemEntitlements(lineItems, fallbackPlan = "UNKNOW
1745
1722
  };
1746
1723
  }
1747
1724
  __name(aggregateContractLineItemEntitlements, "aggregateContractLineItemEntitlements");
1748
- function collectBusinessTypeFeatures(snapshot) {
1749
- const set = /* @__PURE__ */ new Set();
1750
- for (const bundle of snapshot.bundles) {
1751
- for (const f of bundle.features) {
1752
- set.add(f);
1753
- }
1754
- }
1755
- return Array.from(set);
1756
- }
1757
- __name(collectBusinessTypeFeatures, "collectBusinessTypeFeatures");
1758
1725
  function filterPlannedOnlyFeatures(features, catalog) {
1759
1726
  const out = /* @__PURE__ */ new Set();
1760
1727
  for (const f of features) {
@@ -1787,8 +1754,6 @@ function applyCustomLimits(base, custom) {
1787
1754
  }
1788
1755
  __name(applyCustomLimits, "applyCustomLimits");
1789
1756
  function aggregateLimits(input, catalog, now) {
1790
- const businessTypeQuotas = input.businessTypeVersion ? aggregateBusinessTypeQuotas(input.businessTypeVersion) : {};
1791
- const businessTypeFeatures = input.businessTypeVersion ? collectBusinessTypeFeatures(input.businessTypeVersion) : [];
1792
1757
  const activeBundles = filterActiveSubscriptionBundles(input.subscriptionBundles ?? [], now);
1793
1758
  const subBundleQuotas = aggregateSubscriptionBundleQuotas(activeBundles);
1794
1759
  const subBundleFeatures = collectSubscriptionBundleFeatures(activeBundles);
@@ -1796,13 +1761,6 @@ function aggregateLimits(input, catalog, now) {
1796
1761
  for (const [k, v] of Object.entries(input.planVersion.quotas)) {
1797
1762
  quotas[k] = v;
1798
1763
  }
1799
- for (const [k, v] of Object.entries(businessTypeQuotas)) {
1800
- if (quotas[k] === -1 || v === -1) {
1801
- quotas[k] = -1;
1802
- } else {
1803
- quotas[k] = (quotas[k] ?? 0) + v;
1804
- }
1805
- }
1806
1764
  for (const [k, v] of Object.entries(subBundleQuotas)) {
1807
1765
  if (quotas[k] === -1 || v === -1) {
1808
1766
  quotas[k] = -1;
@@ -1812,7 +1770,6 @@ function aggregateLimits(input, catalog, now) {
1812
1770
  }
1813
1771
  const features = /* @__PURE__ */ new Set([
1814
1772
  ...input.planVersion.features,
1815
- ...businessTypeFeatures,
1816
1773
  ...subBundleFeatures
1817
1774
  ]);
1818
1775
  const withCustom = applyCustomLimits({
@@ -1924,6 +1881,7 @@ function resolveEntitlementPlan(input, config, now) {
1924
1881
  __name(resolveEntitlementPlan, "resolveEntitlementPlan");
1925
1882
 
1926
1883
  // src/entitlement/tokens.ts
1884
+ var ENTITLEMENT_SERVICE_TOKEN = /* @__PURE__ */ Symbol.for("saas-platform/EntitlementService");
1927
1885
  var SUBSCRIPTION_REPOSITORY_TOKEN = /* @__PURE__ */ Symbol.for("saas-platform/SubscriptionRepository");
1928
1886
  var PLAN_VERSION_REPOSITORY_TOKEN = /* @__PURE__ */ Symbol.for("saas-platform/PlanVersionRepository");
1929
1887
  var TRANSACTION_RUNNER_TOKEN = /* @__PURE__ */ Symbol.for("saas-platform/TransactionRunner");
@@ -2193,7 +2151,13 @@ var EntitlementModule = class _EntitlementModule {
2193
2151
  asProvider(SUBSCRIPTION_REPOSITORY_TOKEN, options.subscriptionRepository),
2194
2152
  asProvider(PLAN_VERSION_REPOSITORY_TOKEN, options.planVersionRepository),
2195
2153
  asProvider(TRANSACTION_RUNNER_TOKEN, options.transactionRunner),
2196
- EntitlementService
2154
+ EntitlementService,
2155
+ // Cross-bundle-stable alias so consumers in other subpath bundles
2156
+ // (billing/TenantBillingModule) can inject the same instance.
2157
+ {
2158
+ provide: ENTITLEMENT_SERVICE_TOKEN,
2159
+ useExisting: EntitlementService
2160
+ }
2197
2161
  ];
2198
2162
  if (options.resolutionConfig) {
2199
2163
  providers.push({
@@ -2216,6 +2180,7 @@ var EntitlementModule = class _EntitlementModule {
2216
2180
  providers,
2217
2181
  exports: [
2218
2182
  EntitlementService,
2183
+ ENTITLEMENT_SERVICE_TOKEN,
2219
2184
  SUBSCRIPTION_REPOSITORY_TOKEN
2220
2185
  ]
2221
2186
  };
@@ -2672,6 +2637,9 @@ var SaasPlatformModule = class _SaasPlatformModule {
2672
2637
  if (missingCore.length) {
2673
2638
  throw new Error(`SaasPlatformModule.forRoot: adapters missing (provide them via \`adapters\` or a \`persistence\` bundle): ${missingCore.join(", ")}`);
2674
2639
  }
2640
+ const mfaPort = adapters.mfa;
2641
+ const auditPort = adapters.audit;
2642
+ const rlsBypassPort = adapters.rlsBypass;
2675
2643
  if (!options.planCatalog && (!adapters.planCatalogReadSink || !options.dbCatalog)) {
2676
2644
  throw new Error("SaasPlatformModule.forRoot: either set `planCatalog` (quickstart YAML path) or, for DB hydration, BOTH a planCatalogReadSink (`adapters`/`persistence`) AND `dbCatalog` ({ projectKey, currency, vatRate }).");
2677
2645
  }
@@ -2717,15 +2685,20 @@ var SaasPlatformModule = class _SaasPlatformModule {
2717
2685
  snapshotPath: options.discoverySnapshotPath === void 0 ? "var/discovery-snapshot.json" : options.discoverySnapshotPath
2718
2686
  }),
2719
2687
  AdminModule.forRoot({
2720
- mfaPort: adapters.mfa,
2721
- auditPort: adapters.audit,
2722
- rlsBypassPort: adapters.rlsBypass,
2688
+ mfaPort,
2689
+ auditPort,
2690
+ rlsBypassPort,
2723
2691
  global: true
2724
2692
  }),
2725
2693
  AdminManifestModule.forRoot({
2726
2694
  config: options.adminManifestConfig ?? buildMinimalManifestConfig(),
2727
2695
  guards: options.controller.guards,
2728
- reloadGuards: options.reloadGuards
2696
+ reloadGuards: options.reloadGuards,
2697
+ // Global like AdminModule above: apps register their manifest
2698
+ // contribution by injecting AdminManifestService into one of
2699
+ // their own modules (handbook §6.6). Re-exporting the module
2700
+ // from here does not make that injection resolvable.
2701
+ global: true
2729
2702
  })
2730
2703
  ];
2731
2704
  if (options.entitlement) {
@@ -2796,6 +2769,7 @@ SaasPlatformModule = _ts_decorate21([
2796
2769
  ], SaasPlatformModule);
2797
2770
  // Annotate the CommonJS export names for ESM import in node:
2798
2771
  0 && (module.exports = {
2772
+ AdminManifestService,
2799
2773
  EnforceQuotaInterceptor,
2800
2774
  PLAN_RESOLVER_PORT_TOKEN,
2801
2775
  QUOTA_PROVIDERS_TOKEN,
@@ -1,9 +1,10 @@
1
- import { S as StaticEntitlementService } from '../enforce-quota.interceptor-HmdZFg41.cjs';
2
- export { E as EnforceQuotaInterceptor, P as PLAN_RESOLVER_PORT_TOKEN, a as PlanResolverPort, Q as QUOTA_PROVIDERS_TOKEN, b as STATIC_FEATURE_GUARD_CONFIG_TOKEN, c as SaasPlatformAdapters, d as SaasPlatformModule, e as SaasPlatformModuleOptions, f as StaticEntitlementSnapshot, g as StaticFeatureGuard, h as StaticFeatureGuardConfig, i as StaticPlanResolver, T as TenantManifestControllerOptions, j as buildTenantManifestController } from '../enforce-quota.interceptor-HmdZFg41.cjs';
1
+ import { S as StaticEntitlementService } from '../enforce-quota.interceptor-cv7r80VM.cjs';
2
+ export { E as EnforceQuotaInterceptor, P as PLAN_RESOLVER_PORT_TOKEN, a as PlanResolverPort, Q as QUOTA_PROVIDERS_TOKEN, b as STATIC_FEATURE_GUARD_CONFIG_TOKEN, c as SaasPlatformAdapters, d as SaasPlatformModule, e as SaasPlatformModuleOptions, f as StaticEntitlementSnapshot, g as StaticFeatureGuard, h as StaticFeatureGuardConfig, i as StaticPlanResolver, T as TenantManifestControllerOptions, j as buildTenantManifestController } from '../enforce-quota.interceptor-cv7r80VM.cjs';
3
+ export { A as AdminManifestService } from '../admin-manifest.service-Cp6uwvmt.cjs';
3
4
  import '@nestjs/common';
4
5
  import '@saasicat/types';
5
6
  import '../di-CcNeq9v-.cjs';
6
- import '../admin-manifest.config-DxTfZ8-L.cjs';
7
+ import '../admin-manifest.config-DyrQNT7M.cjs';
7
8
  import '../discovery.scanner-DLgEvuoy.cjs';
8
9
  import '@nestjs/core';
9
10
  import '../plan-resolution-CFCoUkrE.cjs';
@@ -1,9 +1,10 @@
1
- import { S as StaticEntitlementService } from '../enforce-quota.interceptor-3HmbeHTM.js';
2
- export { E as EnforceQuotaInterceptor, P as PLAN_RESOLVER_PORT_TOKEN, a as PlanResolverPort, Q as QUOTA_PROVIDERS_TOKEN, b as STATIC_FEATURE_GUARD_CONFIG_TOKEN, c as SaasPlatformAdapters, d as SaasPlatformModule, e as SaasPlatformModuleOptions, f as StaticEntitlementSnapshot, g as StaticFeatureGuard, h as StaticFeatureGuardConfig, i as StaticPlanResolver, T as TenantManifestControllerOptions, j as buildTenantManifestController } from '../enforce-quota.interceptor-3HmbeHTM.js';
1
+ import { S as StaticEntitlementService } from '../enforce-quota.interceptor-Dj1Kusr5.js';
2
+ export { E as EnforceQuotaInterceptor, P as PLAN_RESOLVER_PORT_TOKEN, a as PlanResolverPort, Q as QUOTA_PROVIDERS_TOKEN, b as STATIC_FEATURE_GUARD_CONFIG_TOKEN, c as SaasPlatformAdapters, d as SaasPlatformModule, e as SaasPlatformModuleOptions, f as StaticEntitlementSnapshot, g as StaticFeatureGuard, h as StaticFeatureGuardConfig, i as StaticPlanResolver, T as TenantManifestControllerOptions, j as buildTenantManifestController } from '../enforce-quota.interceptor-Dj1Kusr5.js';
3
+ export { A as AdminManifestService } from '../admin-manifest.service-UGgzR1x-.js';
3
4
  import '@nestjs/common';
4
5
  import '@saasicat/types';
5
6
  import '../di-CcNeq9v-.js';
6
- import '../admin-manifest.config-DxTfZ8-L.js';
7
+ import '../admin-manifest.config-DyrQNT7M.js';
7
8
  import '../discovery.scanner-DLgEvuoy.js';
8
9
  import '@nestjs/core';
9
10
  import '../plan-resolution-CFCoUkrE.js';