@saasicat/nest 0.27.0 → 1.0.0-rc.1

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 (103) hide show
  1. package/README.md +1 -1
  2. package/dist/.build-stamp +1 -0
  3. package/dist/_entries.cjs +460 -460
  4. package/dist/admin/index.d.cts +6 -6
  5. package/dist/admin/index.d.ts +6 -6
  6. package/dist/admin/index.js +3 -3
  7. package/dist/{admin-audit.service-9IqXMlZm.d.cts → admin-audit.service-4P3Djdxk.d.cts} +1 -1
  8. package/dist/{admin-audit.service-9IqXMlZm.d.ts → admin-audit.service-4P3Djdxk.d.ts} +1 -1
  9. package/dist/{admin-resources.module-DGgGSdzN.d.cts → admin-resources.module-CpvzcfCc.d.cts} +2 -2
  10. package/dist/{admin-resources.module-BY5r_1MG.d.ts → admin-resources.module-DF5_Q7RD.d.ts} +2 -2
  11. package/dist/{admin-stats.service-HUZIU448.d.cts → admin-stats.service-DfKupywR.d.cts} +3 -3
  12. package/dist/{admin-stats.service-Db2exT_d.d.ts → admin-stats.service-TYiSUwIR.d.ts} +3 -3
  13. package/dist/{aggregation-DP5zfKbU.d.ts → aggregation-B3CD0v_d.d.cts} +2 -2
  14. package/dist/{aggregation-mZ7WZROK.d.cts → aggregation-BFzW07DE.d.ts} +2 -2
  15. package/dist/billing/index.d.cts +13 -13
  16. package/dist/billing/index.d.ts +13 -13
  17. package/dist/billing/index.js +15 -15
  18. package/dist/catalog/index.d.cts +17 -5
  19. package/dist/catalog/index.d.ts +17 -5
  20. package/dist/catalog/index.js +12 -10
  21. package/dist/{catalog.module-D-_pQDNA.d.cts → catalog.module-BDDO6iwq.d.cts} +1 -1
  22. package/dist/{catalog.module-CQr1FpkI.d.ts → catalog.module-BTnMsE6u.d.ts} +1 -1
  23. package/dist/checkout-offer/index.d.cts +3 -3
  24. package/dist/checkout-offer/index.d.ts +3 -3
  25. package/dist/checkout-offer/index.js +2 -2
  26. package/dist/{checkout-offer.module-Ca3_TieR.d.ts → checkout-offer.module-CMtiQJTT.d.ts} +1 -1
  27. package/dist/{checkout-offer.module-DmlpPevf.d.cts → checkout-offer.module-CVpWrzbe.d.cts} +1 -1
  28. package/dist/{checkout-offer.service-BX51dljL.d.ts → checkout-offer.service-BLOv2HOo.d.cts} +1 -1
  29. package/dist/{checkout-offer.service-BX51dljL.d.cts → checkout-offer.service-BLOv2HOo.d.ts} +1 -1
  30. package/dist/{chunk-EBJJNTW6.js → chunk-57V6ZTI6.js} +1 -1
  31. package/dist/{chunk-37HEKVDH.js → chunk-7TVZI3KY.js} +11 -11
  32. package/dist/chunk-AOQJEYOL.js +20 -0
  33. package/dist/{chunk-3E6ONOMG.js → chunk-AU3OOREM.js} +2 -2
  34. package/dist/{chunk-H4DOTO7S.js → chunk-BGS4CWV2.js} +5 -5
  35. package/dist/{chunk-YYUXKLXK.js → chunk-I7GTA3RX.js} +2 -2
  36. package/dist/{chunk-7ZPFQXHM.js → chunk-IQTQLQD3.js} +5 -5
  37. package/dist/{chunk-CJFAOD7K.js → chunk-KFT5AIIH.js} +2 -2
  38. package/dist/{chunk-XTVAFJ3P.js → chunk-L23MLBEC.js} +7 -7
  39. package/dist/{chunk-SN5UOC43.js → chunk-LTT736P3.js} +15 -15
  40. package/dist/{chunk-WPUVJRIN.js → chunk-N3L3AICU.js} +11 -11
  41. package/dist/{chunk-MJ32VNZD.js → chunk-NARZ2WWK.js} +22 -22
  42. package/dist/{chunk-E56W4U2P.js → chunk-O2J2HDXA.js} +4 -4
  43. package/dist/{chunk-WKVBNTYC.js → chunk-OUDSQ3PU.js} +6 -6
  44. package/dist/{chunk-F4B2NJUZ.js → chunk-PK6C5R7B.js} +15 -15
  45. package/dist/{chunk-L4SUWH5B.js → chunk-QUZU2M33.js} +2 -2
  46. package/dist/{chunk-NYLON2VC.js → chunk-VBRYPU7V.js} +2 -2
  47. package/dist/{chunk-2JTISFUZ.js → chunk-VG2NU3CG.js} +11 -11
  48. package/dist/{chunk-7X5MSAIL.js → chunk-VNADKD5U.js} +23 -23
  49. package/dist/{chunk-UHD6FJBQ.js → chunk-W6YEIY4R.js} +46 -46
  50. package/dist/{chunk-5ZXBXYXU.js → chunk-WXYJHZCN.js} +3 -3
  51. package/dist/{chunk-6WL6VQ7Z.js → chunk-XBYAFEOR.js} +2 -2
  52. package/dist/{chunk-EHKMPP6J.js → chunk-XMA4XYC5.js} +40 -40
  53. package/dist/{chunk-B6IWLV7R.js → chunk-YZPVQUIW.js} +8 -8
  54. package/dist/{define-saasicat-CFxut1VR.d.cts → define-saasicat-B5RmWiD2.d.cts} +8 -8
  55. package/dist/{define-saasicat-3ois8t8s.d.ts → define-saasicat-DN-dRObd.d.ts} +8 -8
  56. package/dist/discovery/index.d.cts +4 -4
  57. package/dist/discovery/index.d.ts +4 -4
  58. package/dist/discovery/index.js +7 -7
  59. package/dist/{discovery.scanner-DLgEvuoy.d.cts → discovery.scanner-9cMqF95o.d.cts} +1 -1
  60. package/dist/{discovery.scanner-DLgEvuoy.d.ts → discovery.scanner-9cMqF95o.d.ts} +1 -1
  61. package/dist/{enforce-quota.interceptor-N80KC34N.d.cts → enforce-quota.interceptor-CnieZsdB.d.cts} +3 -3
  62. package/dist/{enforce-quota.interceptor-CYDNvAQz.d.ts → enforce-quota.interceptor-Cseo35Ki.d.ts} +3 -3
  63. package/dist/entitlement/index.d.cts +4 -4
  64. package/dist/entitlement/index.d.ts +4 -4
  65. package/dist/entitlement/index.js +8 -8
  66. package/dist/index.d.cts +23 -23
  67. package/dist/index.d.ts +23 -23
  68. package/dist/index.js +137 -136
  69. package/dist/{module-options-klrPnWGF.d.cts → module-options-CjeSSaBf.d.cts} +35 -35
  70. package/dist/{module-options-ByJL7FZm.d.ts → module-options-DtcJqwjv.d.ts} +35 -35
  71. package/dist/{plan-resolution-CFCoUkrE.d.cts → plan-resolution-Cgo_TR1H.d.cts} +1 -1
  72. package/dist/{plan-resolution-CFCoUkrE.d.ts → plan-resolution-Cgo_TR1H.d.ts} +1 -1
  73. package/dist/{plan-versions.service-B-YoE4SZ.d.ts → plan-versions.service-DChhbK6h.d.ts} +2 -2
  74. package/dist/{plan-versions.service-_saKzb50.d.cts → plan-versions.service-TPEtbN0r.d.cts} +2 -2
  75. package/dist/platform/index.d.cts +29 -29
  76. package/dist/platform/index.d.ts +29 -29
  77. package/dist/platform/index.js +32 -33
  78. package/dist/promo/index.d.cts +4 -4
  79. package/dist/promo/index.d.ts +4 -4
  80. package/dist/promo/index.js +4 -4
  81. package/dist/{module-BE17XFLg.d.ts → promo.module-BUKcUWDf.d.ts} +2 -2
  82. package/dist/{module-CHMIyWlf.d.cts → promo.module-BY2YHHLn.d.cts} +2 -2
  83. package/dist/{service-D48clObR.d.cts → promo.service-2qFgqF-a.d.cts} +1 -1
  84. package/dist/{service-D48clObR.d.ts → promo.service-2qFgqF-a.d.ts} +1 -1
  85. package/dist/registration/index.d.cts +3 -3
  86. package/dist/registration/index.d.ts +3 -3
  87. package/dist/registration/index.js +2 -2
  88. package/dist/subscription-contract/index.d.cts +3 -3
  89. package/dist/subscription-contract/index.d.ts +3 -3
  90. package/dist/subscription-contract/index.js +3 -3
  91. package/dist/{subscription-contract.module-B2uNvUJL.d.cts → subscription-contract.module-CEK8HS5-.d.cts} +1 -1
  92. package/dist/{subscription-contract.module-edyhBr4n.d.ts → subscription-contract.module-fDFdQ0jm.d.ts} +1 -1
  93. package/dist/{subscription-contract.service--cm47ZJJ.d.cts → subscription-contract.service-hD87MKyg.d.cts} +1 -1
  94. package/dist/{subscription-contract.service--cm47ZJJ.d.ts → subscription-contract.service-hD87MKyg.d.ts} +1 -1
  95. package/dist/{tenant-billing.controller-CAMMdfn1.d.cts → tenant-billing.controller-B6UTheK_.d.cts} +5 -5
  96. package/dist/{tenant-billing.controller-CYYK0CpT.d.ts → tenant-billing.controller-DpgHCT9r.d.ts} +5 -5
  97. package/dist/{tenant-billing.module-BxJS6fX4.d.cts → tenant-billing.module-BznC3XtW.d.cts} +1 -1
  98. package/dist/{tenant-billing.module-B0stLoJn.d.ts → tenant-billing.module-wUbsQSFG.d.ts} +1 -1
  99. package/dist/testing/index.d.cts +19 -19
  100. package/dist/testing/index.d.ts +19 -19
  101. package/dist/testing/index.js +33 -33
  102. package/package.json +5 -5
  103. package/dist/chunk-L4KTQ6CL.js +0 -20
@@ -1,9 +1,9 @@
1
- import { f as AdminStatsService, g as AdminStatsSnapshot } from '../admin-stats.service-HUZIU448.cjs';
2
- export { A as AdminBypassRlsInterceptor, a as AdminManifestModule, b as AdminManifestModuleOptions, c as AdminManifestService, d as AdminModule, e as AdminModuleOptions, M as MfaGuard, h as MfaService, P as PLATFORM_CORE_CONTRIBUTION_TOKEN, R as REQUIRE_MFA_KEY, i as RequireMfa, S as SuperAdminGuard, T as TotpSetupResult, V as VerifyTotpInput } from '../admin-stats.service-HUZIU448.cjs';
3
- export { A as AdminAuditService } from '../admin-audit.service-9IqXMlZm.cjs';
4
- import { b as AdminManifestConfig } from '../admin-resources.module-DGgGSdzN.cjs';
5
- export { A as ADMIN_MANIFEST_CONFIG, a as ADMIN_RESOURCES_PORT_TOKEN, c as AdminResourcesModule, d as AdminResourcesModuleOptions, e as AdminResourcesService, f as AdminStatsModule, g as AdminStatsModuleOptions, S as SuspendTenantDto } from '../admin-resources.module-DGgGSdzN.cjs';
6
- import { PublicBootResponse, ManifestContribution } from '@saasicat/types';
1
+ import { f as AdminStatsService, g as AdminStatsSnapshot } from '../admin-stats.service-DfKupywR.cjs';
2
+ export { A as AdminBypassRlsInterceptor, a as AdminManifestModule, b as AdminManifestModuleOptions, c as AdminManifestService, d as AdminModule, e as AdminModuleOptions, M as MfaGuard, h as MfaService, P as PLATFORM_CORE_CONTRIBUTION_TOKEN, R as REQUIRE_MFA_KEY, i as RequireMfa, S as SuperAdminGuard, T as TotpSetupResult, V as VerifyTotpInput } from '../admin-stats.service-DfKupywR.cjs';
3
+ export { A as AdminAuditService } from '../admin-audit.service-4P3Djdxk.cjs';
4
+ import { b as AdminManifestConfig } from '../admin-resources.module-CpvzcfCc.cjs';
5
+ export { A as ADMIN_MANIFEST_CONFIG, a as ADMIN_RESOURCES_PORT_TOKEN, c as AdminResourcesModule, d as AdminResourcesModuleOptions, e as AdminResourcesService, f as AdminStatsModule, g as AdminStatsModuleOptions, S as SuspendTenantDto } from '../admin-resources.module-CpvzcfCc.cjs';
6
+ import { PublicBootResponse, ManifestContribution } from '@saasicat/core';
7
7
  import { Type, CanActivate } from '@nestjs/common';
8
8
  import '@nestjs/core';
9
9
  import 'rxjs';
@@ -1,9 +1,9 @@
1
- import { f as AdminStatsService, g as AdminStatsSnapshot } from '../admin-stats.service-Db2exT_d.js';
2
- export { A as AdminBypassRlsInterceptor, a as AdminManifestModule, b as AdminManifestModuleOptions, c as AdminManifestService, d as AdminModule, e as AdminModuleOptions, M as MfaGuard, h as MfaService, P as PLATFORM_CORE_CONTRIBUTION_TOKEN, R as REQUIRE_MFA_KEY, i as RequireMfa, S as SuperAdminGuard, T as TotpSetupResult, V as VerifyTotpInput } from '../admin-stats.service-Db2exT_d.js';
3
- export { A as AdminAuditService } from '../admin-audit.service-9IqXMlZm.js';
4
- import { b as AdminManifestConfig } from '../admin-resources.module-BY5r_1MG.js';
5
- export { A as ADMIN_MANIFEST_CONFIG, a as ADMIN_RESOURCES_PORT_TOKEN, c as AdminResourcesModule, d as AdminResourcesModuleOptions, e as AdminResourcesService, f as AdminStatsModule, g as AdminStatsModuleOptions, S as SuspendTenantDto } from '../admin-resources.module-BY5r_1MG.js';
6
- import { PublicBootResponse, ManifestContribution } from '@saasicat/types';
1
+ import { f as AdminStatsService, g as AdminStatsSnapshot } from '../admin-stats.service-TYiSUwIR.js';
2
+ export { A as AdminBypassRlsInterceptor, a as AdminManifestModule, b as AdminManifestModuleOptions, c as AdminManifestService, d as AdminModule, e as AdminModuleOptions, M as MfaGuard, h as MfaService, P as PLATFORM_CORE_CONTRIBUTION_TOKEN, R as REQUIRE_MFA_KEY, i as RequireMfa, S as SuperAdminGuard, T as TotpSetupResult, V as VerifyTotpInput } from '../admin-stats.service-TYiSUwIR.js';
3
+ export { A as AdminAuditService } from '../admin-audit.service-4P3Djdxk.js';
4
+ import { b as AdminManifestConfig } from '../admin-resources.module-DF5_Q7RD.js';
5
+ export { A as ADMIN_MANIFEST_CONFIG, a as ADMIN_RESOURCES_PORT_TOKEN, c as AdminResourcesModule, d as AdminResourcesModuleOptions, e as AdminResourcesService, f as AdminStatsModule, g as AdminStatsModuleOptions, S as SuspendTenantDto } from '../admin-resources.module-DF5_Q7RD.js';
6
+ import { PublicBootResponse, ManifestContribution } from '@saasicat/core';
7
7
  import { Type, CanActivate } from '@nestjs/common';
8
8
  import '@nestjs/core';
9
9
  import 'rxjs';
@@ -25,15 +25,15 @@ import {
25
25
  SuperAdminGuard,
26
26
  SuspendTenantDto,
27
27
  buildAdminStatsController
28
- } from "../chunk-SN5UOC43.js";
28
+ } from "../chunk-LTT736P3.js";
29
29
  import {
30
30
  AUDIT_PORT_TOKEN,
31
31
  AdminAuditService,
32
32
  MFA_PORT_TOKEN,
33
33
  RLS_BYPASS_PORT_TOKEN
34
- } from "../chunk-E56W4U2P.js";
34
+ } from "../chunk-O2J2HDXA.js";
35
35
  import "../chunk-YSC46BGM.js";
36
- import "../chunk-EBJJNTW6.js";
36
+ import "../chunk-57V6ZTI6.js";
37
37
  import "../chunk-SABTXESR.js";
38
38
  import "../chunk-SHUYVCID.js";
39
39
  export {
@@ -1,4 +1,4 @@
1
- import { AuditPort, AdminActor } from '@saasicat/types';
1
+ import { AuditPort, AdminActor } from '@saasicat/core';
2
2
 
3
3
  declare class AdminAuditService {
4
4
  private readonly audit;
@@ -1,4 +1,4 @@
1
- import { AuditPort, AdminActor } from '@saasicat/types';
1
+ import { AuditPort, AdminActor } from '@saasicat/core';
2
2
 
3
3
  declare class AdminAuditService {
4
4
  private readonly audit;
@@ -1,7 +1,7 @@
1
- import { AdminManifest, SubscriptionStatsPort, PromoCodeStatsPort, AuditStatsPort, AdminResourcesPort, AdminTenantListFilter, AdminTenantListRow, AdminTenantDetail, AdminUserListFilter, AdminUserListRow, AdminAuditListFilter, AuditEntry, AdminSubscriptionListRow, AdminActor, AdminTenantStateResult } from '@saasicat/types';
1
+ import { AdminManifest, SubscriptionStatsPort, PromoCodeStatsPort, AuditStatsPort, AdminResourcesPort, AdminTenantListFilter, AdminTenantListRow, AdminTenantDetail, AdminUserListFilter, AdminUserListRow, AdminAuditListFilter, AuditEntry, AdminSubscriptionListRow, AdminActor, AdminTenantStateResult } from '@saasicat/core';
2
2
  import { Type, DynamicModule, ForwardReference, Provider, CanActivate } from '@nestjs/common';
3
3
  import { P as ProviderSpec } from './di-CcNeq9v-.cjs';
4
- import { A as AdminAuditService } from './admin-audit.service-9IqXMlZm.cjs';
4
+ import { A as AdminAuditService } from './admin-audit.service-4P3Djdxk.cjs';
5
5
 
6
6
  declare const ADMIN_MANIFEST_CONFIG: unique symbol;
7
7
  interface AdminManifestConfig {
@@ -1,7 +1,7 @@
1
- import { AdminManifest, SubscriptionStatsPort, PromoCodeStatsPort, AuditStatsPort, AdminResourcesPort, AdminTenantListFilter, AdminTenantListRow, AdminTenantDetail, AdminUserListFilter, AdminUserListRow, AdminAuditListFilter, AuditEntry, AdminSubscriptionListRow, AdminActor, AdminTenantStateResult } from '@saasicat/types';
1
+ import { AdminManifest, SubscriptionStatsPort, PromoCodeStatsPort, AuditStatsPort, AdminResourcesPort, AdminTenantListFilter, AdminTenantListRow, AdminTenantDetail, AdminUserListFilter, AdminUserListRow, AdminAuditListFilter, AuditEntry, AdminSubscriptionListRow, AdminActor, AdminTenantStateResult } from '@saasicat/core';
2
2
  import { Type, DynamicModule, ForwardReference, Provider, CanActivate } from '@nestjs/common';
3
3
  import { P as ProviderSpec } from './di-CcNeq9v-.js';
4
- import { A as AdminAuditService } from './admin-audit.service-9IqXMlZm.js';
4
+ import { A as AdminAuditService } from './admin-audit.service-4P3Djdxk.js';
5
5
 
6
6
  declare const ADMIN_MANIFEST_CONFIG: unique symbol;
7
7
  interface AdminManifestConfig {
@@ -1,9 +1,9 @@
1
1
  import { CanActivate, ExecutionContext, NestInterceptor, CallHandler, Type, DynamicModule, ForwardReference, FactoryProvider, Provider } from '@nestjs/common';
2
2
  import { Reflector } from '@nestjs/core';
3
- import { MfaPort, RlsBypassPort, AuditPort, ManifestContribution, AdminManifest, SubscriptionStatsPort, PromoCodeStatsPort, AuditStatsPort, SubscriptionStatsSnapshot, PromoCodeStatsSnapshot, AuditStatsSnapshot } from '@saasicat/types';
3
+ import { MfaPort, RlsBypassPort, AuditPort, ManifestContribution, AdminManifest, SubscriptionStatsPort, PromoCodeStatsPort, AuditStatsPort, SubscriptionStatsSnapshot, PromoCodeStatsSnapshot, AuditStatsSnapshot } from '@saasicat/core';
4
4
  import { Observable } from 'rxjs';
5
5
  import { P as ProviderSpec } from './di-CcNeq9v-.cjs';
6
- import { b as AdminManifestConfig } from './admin-resources.module-DGgGSdzN.cjs';
6
+ import { b as AdminManifestConfig } from './admin-resources.module-CpvzcfCc.cjs';
7
7
 
8
8
  declare class SuperAdminGuard implements CanActivate {
9
9
  canActivate(context: ExecutionContext): boolean;
@@ -44,7 +44,7 @@ declare class MfaService {
44
44
  isEnabled(userId: string): Promise<boolean>;
45
45
  }
46
46
 
47
- declare const REQUIRE_MFA_KEY = "saas-platform/require-mfa";
47
+ declare const REQUIRE_MFA_KEY = "saasicat/nest/require-mfa";
48
48
  /**
49
49
  * Marks an endpoint as MFA-required. The frontend sends the TOTP code
50
50
  * in the `X-Mfa-Code` header.
@@ -1,9 +1,9 @@
1
1
  import { CanActivate, ExecutionContext, NestInterceptor, CallHandler, Type, DynamicModule, ForwardReference, FactoryProvider, Provider } from '@nestjs/common';
2
2
  import { Reflector } from '@nestjs/core';
3
- import { MfaPort, RlsBypassPort, AuditPort, ManifestContribution, AdminManifest, SubscriptionStatsPort, PromoCodeStatsPort, AuditStatsPort, SubscriptionStatsSnapshot, PromoCodeStatsSnapshot, AuditStatsSnapshot } from '@saasicat/types';
3
+ import { MfaPort, RlsBypassPort, AuditPort, ManifestContribution, AdminManifest, SubscriptionStatsPort, PromoCodeStatsPort, AuditStatsPort, SubscriptionStatsSnapshot, PromoCodeStatsSnapshot, AuditStatsSnapshot } from '@saasicat/core';
4
4
  import { Observable } from 'rxjs';
5
5
  import { P as ProviderSpec } from './di-CcNeq9v-.js';
6
- import { b as AdminManifestConfig } from './admin-resources.module-BY5r_1MG.js';
6
+ import { b as AdminManifestConfig } from './admin-resources.module-DF5_Q7RD.js';
7
7
 
8
8
  declare class SuperAdminGuard implements CanActivate {
9
9
  canActivate(context: ExecutionContext): boolean;
@@ -44,7 +44,7 @@ declare class MfaService {
44
44
  isEnabled(userId: string): Promise<boolean>;
45
45
  }
46
46
 
47
- declare const REQUIRE_MFA_KEY = "saas-platform/require-mfa";
47
+ declare const REQUIRE_MFA_KEY = "saasicat/nest/require-mfa";
48
48
  /**
49
49
  * Marks an endpoint as MFA-required. The frontend sends the TOTP code
50
50
  * in the `X-Mfa-Code` header.
@@ -1,5 +1,5 @@
1
- import { PlanId, QuotaKey, FeatureKey, PlanCatalog, SubscriptionRepository, PlanVersionRepository, TransactionRunner, SubscriptionBundleRepository, BundleRepository, SubscriptionContractRepository, DiscoverySnapshot, SubscriptionRecord, TransactionContext, ContractLineItemRecord, SubscriptionContractRecord } from '@saasicat/types';
2
- import { E as EntitlementResolutionConfig } from './plan-resolution-CFCoUkrE.js';
1
+ import { PlanId, QuotaKey, FeatureKey, PlanCatalog, SubscriptionRepository, PlanVersionRepository, TransactionRunner, SubscriptionBundleRepository, BundleRepository, SubscriptionContractRepository, DiscoverySnapshot, SubscriptionRecord, TransactionContext, ContractLineItemRecord, SubscriptionContractRecord } from '@saasicat/core';
2
+ import { E as EntitlementResolutionConfig } from './plan-resolution-Cgo_TR1H.cjs';
3
3
 
4
4
  /**
5
5
  * Snapshot of the binding `PlanVersion` of a subscription. Quotas are
@@ -1,5 +1,5 @@
1
- import { PlanId, QuotaKey, FeatureKey, PlanCatalog, SubscriptionRepository, PlanVersionRepository, TransactionRunner, SubscriptionBundleRepository, BundleRepository, SubscriptionContractRepository, DiscoverySnapshot, SubscriptionRecord, TransactionContext, ContractLineItemRecord, SubscriptionContractRecord } from '@saasicat/types';
2
- import { E as EntitlementResolutionConfig } from './plan-resolution-CFCoUkrE.cjs';
1
+ import { PlanId, QuotaKey, FeatureKey, PlanCatalog, SubscriptionRepository, PlanVersionRepository, TransactionRunner, SubscriptionBundleRepository, BundleRepository, SubscriptionContractRepository, DiscoverySnapshot, SubscriptionRecord, TransactionContext, ContractLineItemRecord, SubscriptionContractRecord } from '@saasicat/core';
2
+ import { E as EntitlementResolutionConfig } from './plan-resolution-Cgo_TR1H.js';
3
3
 
4
4
  /**
5
5
  * Snapshot of the binding `PlanVersion` of a subscription. Quotas are
@@ -1,18 +1,18 @@
1
- import { BillingCycle, FeatureKey, UpsellOfferResolver, BundleRepository, CatalogEntryRepository, UpsellOffer, PlanCatalog, PlanCatalogReadSink, PlanCatalogReadSnapshot, PlanCatalogImportSink, PlanCatalogImportReport, PlanId, PlanDef, QuotaKey, MarketingTopFeature, FeatureUiRegistry, MarketingProjectionRepository, ConfiguratorSourcesLookup, ConfiguratorMarketingProvider, ConfiguratorCatalog } from '@saasicat/types';
2
- export { BundleVersionFields, ChangeDirection, DiffResult, PlanVersionFields, VersionChange, VersionChangeDirection, classifyBundleVersionDiff, classifyPlanDiff } from '@saasicat/types';
3
- import { F as FEATURE_GUARD_MARKER, f as ContractFreezePort, g as ContractFreezeSourcePort } from '../tenant-billing.module-BxJS6fX4.cjs';
4
- export { A as AUDIT_CONTEXT_RESOLVER_TOKEN, a as AuditContextResolver, b as AuthGuardList, C as CONTRACT_FREEZE_PORT_TOKEN, c as CONTRACT_FREEZE_PROJECT_KEY_TOKEN, d as CONTRACT_FREEZE_SOURCE_PORT_TOKEN, e as ContractFreezeBundleSnapshot, D as DuePendingPlanChange, M as MarkedFeatureGuard, P as PENDING_PLAN_QUERY_PORT_TOKEN, h as PendingPlanQueryPort, S as SELF_SERVICE_BLOCKED_BUNDLES_TOKEN, i as SELF_SERVICE_BLOCKED_PLANS_TOKEN, j as SUBSCRIPTION_USAGE_PORT_TOKEN, k as SUBSCRIPTION_WRITE_PORT_TOKEN, l as SelfServiceBlockedBundles, m as SelfServiceBlockedPlans, n as SubscriptionBundleControllerOptions, o as SubscriptionBundleModule, p as SubscriptionBundleModuleOptions, T as TENANT_AUTH_GUARDS_TOKEN, q as TENANT_ID_RESOLVER_TOKEN, r as TRIAL_PROJECTION_PORT_TOKEN, s as TenantBillingModule, t as TenantBillingModuleOptions, u as TenantIdResolver, v as TrialProjectionInput, w as TrialProjectionPort, U as USAGE_SNAPSHOT_PORT_TOKEN, x as USER_EMAIL_RESOLVER_TOKEN, y as USER_ID_RESOLVER_TOKEN, z as UserEmailResolver, B as UserIdResolver, E as isPlatformFeatureGuard } from '../tenant-billing.module-BxJS6fX4.cjs';
1
+ import { BillingCycle, FeatureKey, UpsellOfferResolver, BundleRepository, CatalogEntryRepository, UpsellOffer, PlanCatalog, PlanCatalogReadSink, PlanCatalogReadSnapshot, PlanCatalogImportSink, PlanCatalogImportReport, PlanId, PlanDef, QuotaKey, MarketingTopFeature, FeatureUiRegistry, MarketingProjectionRepository, ConfiguratorSourcesLookup, ConfiguratorMarketingProvider, ConfiguratorCatalog } from '@saasicat/core';
2
+ export { BundleVersionFields, ChangeDirection, DiffResult, PlanVersionFields, VersionChange, VersionChangeDirection, classifyBundleVersionDiff, classifyPlanDiff } from '@saasicat/core';
3
+ import { F as FEATURE_GUARD_MARKER, f as ContractFreezePort, g as ContractFreezeSourcePort } from '../tenant-billing.module-BznC3XtW.cjs';
4
+ export { A as AUDIT_CONTEXT_RESOLVER_TOKEN, a as AuditContextResolver, b as AuthGuardList, C as CONTRACT_FREEZE_PORT_TOKEN, c as CONTRACT_FREEZE_PROJECT_KEY_TOKEN, d as CONTRACT_FREEZE_SOURCE_PORT_TOKEN, e as ContractFreezeBundleSnapshot, D as DuePendingPlanChange, M as MarkedFeatureGuard, P as PENDING_PLAN_QUERY_PORT_TOKEN, h as PendingPlanQueryPort, S as SELF_SERVICE_BLOCKED_BUNDLES_TOKEN, i as SELF_SERVICE_BLOCKED_PLANS_TOKEN, j as SUBSCRIPTION_USAGE_PORT_TOKEN, k as SUBSCRIPTION_WRITE_PORT_TOKEN, l as SelfServiceBlockedBundles, m as SelfServiceBlockedPlans, n as SubscriptionBundleControllerOptions, o as SubscriptionBundleModule, p as SubscriptionBundleModuleOptions, T as TENANT_AUTH_GUARDS_TOKEN, q as TENANT_ID_RESOLVER_TOKEN, r as TRIAL_PROJECTION_PORT_TOKEN, s as TenantBillingModule, t as TenantBillingModuleOptions, u as TenantIdResolver, v as TrialProjectionInput, w as TrialProjectionPort, U as USAGE_SNAPSHOT_PORT_TOKEN, x as USER_EMAIL_RESOLVER_TOKEN, y as USER_ID_RESOLVER_TOKEN, z as UserEmailResolver, B as UserIdResolver, E as isPlatformFeatureGuard } from '../tenant-billing.module-BznC3XtW.cjs';
5
5
  import * as _nestjs_common from '@nestjs/common';
6
6
  import { CanActivate, ExecutionContext, ArgumentsHost, Type, DynamicModule, ForwardReference, Provider } from '@nestjs/common';
7
7
  export { Type as NestType } from '@nestjs/common';
8
8
  import { Reflector, BaseExceptionFilter } from '@nestjs/core';
9
- import { c as EntitlementService } from '../aggregation-mZ7WZROK.cjs';
9
+ import { c as EntitlementService } from '../aggregation-B3CD0v_d.cjs';
10
10
  import { P as ProviderSpec } from '../di-CcNeq9v-.cjs';
11
- export { A as AddBundleToSubscriptionInput, B as BundlePreviewSnapshot, C as CancelBundleFromSubscriptionInput, a as CancelSubscriptionDto, b as ChangePlanDto, c as CompleteOnboardingSubscriptionDto, d as ComposedTenantAuthGuard, L as LimitsCheckRow, P as PendingPlanMaterializationService, e as PlanChangeContext, f as PlanChangePreviewDto, g as PlanChangePreviewIssue, h as PlanChangePreviewService, i as PlanChangeType, j as PlanSnapshotDto, k as PreviewPlanChangeDto, l as ProrationDto, m as ProrationInput, R as RedundantFeatureHint, S as SubscriptionBundleAddPreviewDto, n as SubscriptionBundleCancelPreviewDto, o as SubscriptionBundleConfig, p as SubscriptionBundlePreviewContext, q as SubscriptionBundlePreviewIssue, r as SubscriptionBundlePreviewService, s as SubscriptionBundlesService, T as TenantAdminGuard, t as TenantBillingController, U as UsageResponse, u as addMonths, v as computeProration, w as resolveBundleCancelEffectiveAt, x as resolveBundlePriceNet } from '../tenant-billing.controller-CAMMdfn1.cjs';
12
- import { S as SubscriptionContractService } from '../subscription-contract.service--cm47ZJJ.cjs';
13
- import '../plan-resolution-CFCoUkrE.cjs';
14
- import '../service-D48clObR.cjs';
15
- import '../admin-audit.service-9IqXMlZm.cjs';
11
+ export { A as AddBundleToSubscriptionInput, B as BundlePreviewSnapshot, C as CancelBundleFromSubscriptionInput, a as CancelSubscriptionDto, b as ChangePlanDto, c as CompleteOnboardingSubscriptionDto, d as ComposedTenantAuthGuard, L as LimitsCheckRow, P as PendingPlanMaterializationService, e as PlanChangeContext, f as PlanChangePreviewDto, g as PlanChangePreviewIssue, h as PlanChangePreviewService, i as PlanChangeType, j as PlanSnapshotDto, k as PreviewPlanChangeDto, l as ProrationDto, m as ProrationInput, R as RedundantFeatureHint, S as SubscriptionBundleAddPreviewDto, n as SubscriptionBundleCancelPreviewDto, o as SubscriptionBundleConfig, p as SubscriptionBundlePreviewContext, q as SubscriptionBundlePreviewIssue, r as SubscriptionBundlePreviewService, s as SubscriptionBundlesService, T as TenantAdminGuard, t as TenantBillingController, U as UsageResponse, u as addMonths, v as computeProration, w as resolveBundleCancelEffectiveAt, x as resolveBundlePriceNet } from '../tenant-billing.controller-B6UTheK_.cjs';
12
+ import { S as SubscriptionContractService } from '../subscription-contract.service-hD87MKyg.cjs';
13
+ import '../plan-resolution-Cgo_TR1H.cjs';
14
+ import '../promo.service-2qFgqF-a.cjs';
15
+ import '../admin-audit.service-4P3Djdxk.cjs';
16
16
 
17
17
  /**
18
18
  * Finds the next period boundary that lies strictly **after** `after`.
@@ -206,7 +206,7 @@ declare class FeatureGuard implements CanActivate {
206
206
  * empty, the same degradation a failing resolver produces.
207
207
  *
208
208
  * Deliberately 403 + `code` field instead of 402 — rationale in
209
- * `@saasicat/types` upsell.types.ts (402 is reserved / inconsistently
209
+ * `@saasicat/core` upsell.types.ts (402 is reserved / inconsistently
210
210
  * supported; SPA interceptors must not treat the 403 as an auth error, the
211
211
  * distinction runs through `code`).
212
212
  *
@@ -445,7 +445,7 @@ declare function getActiveFeatureKeys(catalog: PlanCatalog): FeatureKey[];
445
445
  */
446
446
  declare function isFeaturePlannedOnly(catalog: PlanCatalog, featureKey: FeatureKey): boolean;
447
447
 
448
- declare const FEATURE_UI_REGISTRY_TOKEN: unique symbol;
448
+ declare const BILLING_FEATURE_UI_REGISTRY_TOKEN: unique symbol;
449
449
 
450
450
  interface MarketingFields {
451
451
  displayLabel?: string;
@@ -596,4 +596,4 @@ declare const SUBSCRIPTION_BUNDLE_CONFIG_TOKEN: unique symbol;
596
596
  */
597
597
  declare function buildTenantSubscriptionBundlesController(extraGuards?: Array<Type<CanActivate>>): Type;
598
598
 
599
- export { type AjvErrorLike, CatalogBundleUpsellResolver, ConfiguratorCatalogBuilder, ContractFreezePort, ContractFreezeSourcePort, FEATURE_GUARD_CONFIG_TOKEN, FEATURE_GUARD_MARKER, FEATURE_UI_REGISTRY_TOKEN, FeatureGuard, type FeatureGuardConfig, LimitExceededFilter, type LoadPlanCatalogOptions, type MarketingFields, type NextPeriodWindow, 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, type PeriodRollInput, type PlanCatalogBuildSettings, PlanCatalogImportDto, type PlanCatalogImporterControllerConfig, PlanCatalogImporterModule, type PlanCatalogImporterModuleOptions, PlanCatalogImporterService, PlanCatalogModule, type PlanCatalogModuleOptions, PlanCatalogValidationError, type PlanResponseEntry, type PublicBundleEntry, PublicCatalogController, PublicCatalogModule, type PublicCatalogModuleOptions, PublishValidationError, type PublishablePlanVersion, REQUIRE_FEATURE_KEY, type RenewalDecision, type RenewalSubInput, RequireFeature, SUBSCRIPTION_BUNDLE_CONFIG_TOKEN, SUBSCRIPTION_BUNDLE_REPOSITORY_TOKEN, SubscriptionContractFreezeService, UPSELL_OFFER_CURRENCY_TOKEN, UPSELL_OFFER_RESOLVER_TOKEN, assertBaseVersionFresh, assertChangeNote, assertDraftPublishable, assertOptimisticLockHeld, buildPlanCatalogFromSnapshot, buildPlanCatalogImporterController, buildTenantSubscriptionBundlesController, clearPendingPlanVersionFields, computeCarriedTrialEndsAt, computeNextPeriod, decideRenewal, findPlan, getActiveFeatureKeys, getMarketedPlans, getPlanOrThrow, getPlanPriceGross, getPlanPriceNet, getPlanQuota, initialPeriodWindow, isFeatureInPlan, isFeaturePlannedOnly, loadPlanCatalogFromFile, loadPlanCatalogFromString, periodEndAfter, periodEndWithMinLead };
599
+ export { type AjvErrorLike, BILLING_FEATURE_UI_REGISTRY_TOKEN, CatalogBundleUpsellResolver, ConfiguratorCatalogBuilder, ContractFreezePort, ContractFreezeSourcePort, FEATURE_GUARD_CONFIG_TOKEN, FEATURE_GUARD_MARKER, FeatureGuard, type FeatureGuardConfig, LimitExceededFilter, type LoadPlanCatalogOptions, type MarketingFields, type NextPeriodWindow, 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, type PeriodRollInput, type PlanCatalogBuildSettings, PlanCatalogImportDto, type PlanCatalogImporterControllerConfig, PlanCatalogImporterModule, type PlanCatalogImporterModuleOptions, PlanCatalogImporterService, PlanCatalogModule, type PlanCatalogModuleOptions, PlanCatalogValidationError, type PlanResponseEntry, type PublicBundleEntry, PublicCatalogController, PublicCatalogModule, type PublicCatalogModuleOptions, PublishValidationError, type PublishablePlanVersion, REQUIRE_FEATURE_KEY, type RenewalDecision, type RenewalSubInput, RequireFeature, SUBSCRIPTION_BUNDLE_CONFIG_TOKEN, SUBSCRIPTION_BUNDLE_REPOSITORY_TOKEN, SubscriptionContractFreezeService, UPSELL_OFFER_CURRENCY_TOKEN, UPSELL_OFFER_RESOLVER_TOKEN, assertBaseVersionFresh, assertChangeNote, assertDraftPublishable, assertOptimisticLockHeld, buildPlanCatalogFromSnapshot, buildPlanCatalogImporterController, buildTenantSubscriptionBundlesController, clearPendingPlanVersionFields, computeCarriedTrialEndsAt, computeNextPeriod, decideRenewal, findPlan, getActiveFeatureKeys, getMarketedPlans, getPlanOrThrow, getPlanPriceGross, getPlanPriceNet, getPlanQuota, initialPeriodWindow, isFeatureInPlan, isFeaturePlannedOnly, loadPlanCatalogFromFile, loadPlanCatalogFromString, periodEndAfter, periodEndWithMinLead };
@@ -1,18 +1,18 @@
1
- import { BillingCycle, FeatureKey, UpsellOfferResolver, BundleRepository, CatalogEntryRepository, UpsellOffer, PlanCatalog, PlanCatalogReadSink, PlanCatalogReadSnapshot, PlanCatalogImportSink, PlanCatalogImportReport, PlanId, PlanDef, QuotaKey, MarketingTopFeature, FeatureUiRegistry, MarketingProjectionRepository, ConfiguratorSourcesLookup, ConfiguratorMarketingProvider, ConfiguratorCatalog } from '@saasicat/types';
2
- export { BundleVersionFields, ChangeDirection, DiffResult, PlanVersionFields, VersionChange, VersionChangeDirection, classifyBundleVersionDiff, classifyPlanDiff } from '@saasicat/types';
3
- import { F as FEATURE_GUARD_MARKER, f as ContractFreezePort, g as ContractFreezeSourcePort } from '../tenant-billing.module-B0stLoJn.js';
4
- export { A as AUDIT_CONTEXT_RESOLVER_TOKEN, a as AuditContextResolver, b as AuthGuardList, C as CONTRACT_FREEZE_PORT_TOKEN, c as CONTRACT_FREEZE_PROJECT_KEY_TOKEN, d as CONTRACT_FREEZE_SOURCE_PORT_TOKEN, e as ContractFreezeBundleSnapshot, D as DuePendingPlanChange, M as MarkedFeatureGuard, P as PENDING_PLAN_QUERY_PORT_TOKEN, h as PendingPlanQueryPort, S as SELF_SERVICE_BLOCKED_BUNDLES_TOKEN, i as SELF_SERVICE_BLOCKED_PLANS_TOKEN, j as SUBSCRIPTION_USAGE_PORT_TOKEN, k as SUBSCRIPTION_WRITE_PORT_TOKEN, l as SelfServiceBlockedBundles, m as SelfServiceBlockedPlans, n as SubscriptionBundleControllerOptions, o as SubscriptionBundleModule, p as SubscriptionBundleModuleOptions, T as TENANT_AUTH_GUARDS_TOKEN, q as TENANT_ID_RESOLVER_TOKEN, r as TRIAL_PROJECTION_PORT_TOKEN, s as TenantBillingModule, t as TenantBillingModuleOptions, u as TenantIdResolver, v as TrialProjectionInput, w as TrialProjectionPort, U as USAGE_SNAPSHOT_PORT_TOKEN, x as USER_EMAIL_RESOLVER_TOKEN, y as USER_ID_RESOLVER_TOKEN, z as UserEmailResolver, B as UserIdResolver, E as isPlatformFeatureGuard } from '../tenant-billing.module-B0stLoJn.js';
1
+ import { BillingCycle, FeatureKey, UpsellOfferResolver, BundleRepository, CatalogEntryRepository, UpsellOffer, PlanCatalog, PlanCatalogReadSink, PlanCatalogReadSnapshot, PlanCatalogImportSink, PlanCatalogImportReport, PlanId, PlanDef, QuotaKey, MarketingTopFeature, FeatureUiRegistry, MarketingProjectionRepository, ConfiguratorSourcesLookup, ConfiguratorMarketingProvider, ConfiguratorCatalog } from '@saasicat/core';
2
+ export { BundleVersionFields, ChangeDirection, DiffResult, PlanVersionFields, VersionChange, VersionChangeDirection, classifyBundleVersionDiff, classifyPlanDiff } from '@saasicat/core';
3
+ import { F as FEATURE_GUARD_MARKER, f as ContractFreezePort, g as ContractFreezeSourcePort } from '../tenant-billing.module-wUbsQSFG.js';
4
+ export { A as AUDIT_CONTEXT_RESOLVER_TOKEN, a as AuditContextResolver, b as AuthGuardList, C as CONTRACT_FREEZE_PORT_TOKEN, c as CONTRACT_FREEZE_PROJECT_KEY_TOKEN, d as CONTRACT_FREEZE_SOURCE_PORT_TOKEN, e as ContractFreezeBundleSnapshot, D as DuePendingPlanChange, M as MarkedFeatureGuard, P as PENDING_PLAN_QUERY_PORT_TOKEN, h as PendingPlanQueryPort, S as SELF_SERVICE_BLOCKED_BUNDLES_TOKEN, i as SELF_SERVICE_BLOCKED_PLANS_TOKEN, j as SUBSCRIPTION_USAGE_PORT_TOKEN, k as SUBSCRIPTION_WRITE_PORT_TOKEN, l as SelfServiceBlockedBundles, m as SelfServiceBlockedPlans, n as SubscriptionBundleControllerOptions, o as SubscriptionBundleModule, p as SubscriptionBundleModuleOptions, T as TENANT_AUTH_GUARDS_TOKEN, q as TENANT_ID_RESOLVER_TOKEN, r as TRIAL_PROJECTION_PORT_TOKEN, s as TenantBillingModule, t as TenantBillingModuleOptions, u as TenantIdResolver, v as TrialProjectionInput, w as TrialProjectionPort, U as USAGE_SNAPSHOT_PORT_TOKEN, x as USER_EMAIL_RESOLVER_TOKEN, y as USER_ID_RESOLVER_TOKEN, z as UserEmailResolver, B as UserIdResolver, E as isPlatformFeatureGuard } from '../tenant-billing.module-wUbsQSFG.js';
5
5
  import * as _nestjs_common from '@nestjs/common';
6
6
  import { CanActivate, ExecutionContext, ArgumentsHost, Type, DynamicModule, ForwardReference, Provider } from '@nestjs/common';
7
7
  export { Type as NestType } from '@nestjs/common';
8
8
  import { Reflector, BaseExceptionFilter } from '@nestjs/core';
9
- import { c as EntitlementService } from '../aggregation-DP5zfKbU.js';
9
+ import { c as EntitlementService } from '../aggregation-BFzW07DE.js';
10
10
  import { P as ProviderSpec } from '../di-CcNeq9v-.js';
11
- export { A as AddBundleToSubscriptionInput, B as BundlePreviewSnapshot, C as CancelBundleFromSubscriptionInput, a as CancelSubscriptionDto, b as ChangePlanDto, c as CompleteOnboardingSubscriptionDto, d as ComposedTenantAuthGuard, L as LimitsCheckRow, P as PendingPlanMaterializationService, e as PlanChangeContext, f as PlanChangePreviewDto, g as PlanChangePreviewIssue, h as PlanChangePreviewService, i as PlanChangeType, j as PlanSnapshotDto, k as PreviewPlanChangeDto, l as ProrationDto, m as ProrationInput, R as RedundantFeatureHint, S as SubscriptionBundleAddPreviewDto, n as SubscriptionBundleCancelPreviewDto, o as SubscriptionBundleConfig, p as SubscriptionBundlePreviewContext, q as SubscriptionBundlePreviewIssue, r as SubscriptionBundlePreviewService, s as SubscriptionBundlesService, T as TenantAdminGuard, t as TenantBillingController, U as UsageResponse, u as addMonths, v as computeProration, w as resolveBundleCancelEffectiveAt, x as resolveBundlePriceNet } from '../tenant-billing.controller-CYYK0CpT.js';
12
- import { S as SubscriptionContractService } from '../subscription-contract.service--cm47ZJJ.js';
13
- import '../plan-resolution-CFCoUkrE.js';
14
- import '../service-D48clObR.js';
15
- import '../admin-audit.service-9IqXMlZm.js';
11
+ export { A as AddBundleToSubscriptionInput, B as BundlePreviewSnapshot, C as CancelBundleFromSubscriptionInput, a as CancelSubscriptionDto, b as ChangePlanDto, c as CompleteOnboardingSubscriptionDto, d as ComposedTenantAuthGuard, L as LimitsCheckRow, P as PendingPlanMaterializationService, e as PlanChangeContext, f as PlanChangePreviewDto, g as PlanChangePreviewIssue, h as PlanChangePreviewService, i as PlanChangeType, j as PlanSnapshotDto, k as PreviewPlanChangeDto, l as ProrationDto, m as ProrationInput, R as RedundantFeatureHint, S as SubscriptionBundleAddPreviewDto, n as SubscriptionBundleCancelPreviewDto, o as SubscriptionBundleConfig, p as SubscriptionBundlePreviewContext, q as SubscriptionBundlePreviewIssue, r as SubscriptionBundlePreviewService, s as SubscriptionBundlesService, T as TenantAdminGuard, t as TenantBillingController, U as UsageResponse, u as addMonths, v as computeProration, w as resolveBundleCancelEffectiveAt, x as resolveBundlePriceNet } from '../tenant-billing.controller-DpgHCT9r.js';
12
+ import { S as SubscriptionContractService } from '../subscription-contract.service-hD87MKyg.js';
13
+ import '../plan-resolution-Cgo_TR1H.js';
14
+ import '../promo.service-2qFgqF-a.js';
15
+ import '../admin-audit.service-4P3Djdxk.js';
16
16
 
17
17
  /**
18
18
  * Finds the next period boundary that lies strictly **after** `after`.
@@ -206,7 +206,7 @@ declare class FeatureGuard implements CanActivate {
206
206
  * empty, the same degradation a failing resolver produces.
207
207
  *
208
208
  * Deliberately 403 + `code` field instead of 402 — rationale in
209
- * `@saasicat/types` upsell.types.ts (402 is reserved / inconsistently
209
+ * `@saasicat/core` upsell.types.ts (402 is reserved / inconsistently
210
210
  * supported; SPA interceptors must not treat the 403 as an auth error, the
211
211
  * distinction runs through `code`).
212
212
  *
@@ -445,7 +445,7 @@ declare function getActiveFeatureKeys(catalog: PlanCatalog): FeatureKey[];
445
445
  */
446
446
  declare function isFeaturePlannedOnly(catalog: PlanCatalog, featureKey: FeatureKey): boolean;
447
447
 
448
- declare const FEATURE_UI_REGISTRY_TOKEN: unique symbol;
448
+ declare const BILLING_FEATURE_UI_REGISTRY_TOKEN: unique symbol;
449
449
 
450
450
  interface MarketingFields {
451
451
  displayLabel?: string;
@@ -596,4 +596,4 @@ declare const SUBSCRIPTION_BUNDLE_CONFIG_TOKEN: unique symbol;
596
596
  */
597
597
  declare function buildTenantSubscriptionBundlesController(extraGuards?: Array<Type<CanActivate>>): Type;
598
598
 
599
- export { type AjvErrorLike, CatalogBundleUpsellResolver, ConfiguratorCatalogBuilder, ContractFreezePort, ContractFreezeSourcePort, FEATURE_GUARD_CONFIG_TOKEN, FEATURE_GUARD_MARKER, FEATURE_UI_REGISTRY_TOKEN, FeatureGuard, type FeatureGuardConfig, LimitExceededFilter, type LoadPlanCatalogOptions, type MarketingFields, type NextPeriodWindow, 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, type PeriodRollInput, type PlanCatalogBuildSettings, PlanCatalogImportDto, type PlanCatalogImporterControllerConfig, PlanCatalogImporterModule, type PlanCatalogImporterModuleOptions, PlanCatalogImporterService, PlanCatalogModule, type PlanCatalogModuleOptions, PlanCatalogValidationError, type PlanResponseEntry, type PublicBundleEntry, PublicCatalogController, PublicCatalogModule, type PublicCatalogModuleOptions, PublishValidationError, type PublishablePlanVersion, REQUIRE_FEATURE_KEY, type RenewalDecision, type RenewalSubInput, RequireFeature, SUBSCRIPTION_BUNDLE_CONFIG_TOKEN, SUBSCRIPTION_BUNDLE_REPOSITORY_TOKEN, SubscriptionContractFreezeService, UPSELL_OFFER_CURRENCY_TOKEN, UPSELL_OFFER_RESOLVER_TOKEN, assertBaseVersionFresh, assertChangeNote, assertDraftPublishable, assertOptimisticLockHeld, buildPlanCatalogFromSnapshot, buildPlanCatalogImporterController, buildTenantSubscriptionBundlesController, clearPendingPlanVersionFields, computeCarriedTrialEndsAt, computeNextPeriod, decideRenewal, findPlan, getActiveFeatureKeys, getMarketedPlans, getPlanOrThrow, getPlanPriceGross, getPlanPriceNet, getPlanQuota, initialPeriodWindow, isFeatureInPlan, isFeaturePlannedOnly, loadPlanCatalogFromFile, loadPlanCatalogFromString, periodEndAfter, periodEndWithMinLead };
599
+ export { type AjvErrorLike, BILLING_FEATURE_UI_REGISTRY_TOKEN, CatalogBundleUpsellResolver, ConfiguratorCatalogBuilder, ContractFreezePort, ContractFreezeSourcePort, FEATURE_GUARD_CONFIG_TOKEN, FEATURE_GUARD_MARKER, FeatureGuard, type FeatureGuardConfig, LimitExceededFilter, type LoadPlanCatalogOptions, type MarketingFields, type NextPeriodWindow, 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, type PeriodRollInput, type PlanCatalogBuildSettings, PlanCatalogImportDto, type PlanCatalogImporterControllerConfig, PlanCatalogImporterModule, type PlanCatalogImporterModuleOptions, PlanCatalogImporterService, PlanCatalogModule, type PlanCatalogModuleOptions, PlanCatalogValidationError, type PlanResponseEntry, type PublicBundleEntry, PublicCatalogController, PublicCatalogModule, type PublicCatalogModuleOptions, PublishValidationError, type PublishablePlanVersion, REQUIRE_FEATURE_KEY, type RenewalDecision, type RenewalSubInput, RequireFeature, SUBSCRIPTION_BUNDLE_CONFIG_TOKEN, SUBSCRIPTION_BUNDLE_REPOSITORY_TOKEN, SubscriptionContractFreezeService, UPSELL_OFFER_CURRENCY_TOKEN, UPSELL_OFFER_RESOLVER_TOKEN, assertBaseVersionFresh, assertChangeNote, assertDraftPublishable, assertOptimisticLockHeld, buildPlanCatalogFromSnapshot, buildPlanCatalogImporterController, buildTenantSubscriptionBundlesController, clearPendingPlanVersionFields, computeCarriedTrialEndsAt, computeNextPeriod, decideRenewal, findPlan, getActiveFeatureKeys, getMarketedPlans, getPlanOrThrow, getPlanPriceGross, getPlanPriceNet, getPlanQuota, initialPeriodWindow, isFeatureInPlan, isFeaturePlannedOnly, loadPlanCatalogFromFile, loadPlanCatalogFromString, periodEndAfter, periodEndWithMinLead };
@@ -23,8 +23,9 @@ import {
23
23
  decideRenewal,
24
24
  loadPlanCatalogFromFile,
25
25
  loadPlanCatalogFromString
26
- } from "../chunk-2JTISFUZ.js";
26
+ } from "../chunk-VG2NU3CG.js";
27
27
  import {
28
+ BILLING_FEATURE_UI_REGISTRY_TOKEN,
28
29
  CONTRACT_FREEZE_PORT_TOKEN,
29
30
  CONTRACT_FREEZE_PROJECT_KEY_TOKEN,
30
31
  CONTRACT_FREEZE_SOURCE_PORT_TOKEN,
@@ -33,7 +34,6 @@ import {
33
34
  CompleteOnboardingSubscriptionDto,
34
35
  ComposedTenantAuthGuard,
35
36
  FEATURE_GUARD_MARKER,
36
- FEATURE_UI_REGISTRY_TOKEN,
37
37
  PUBLIC_CATALOG_BUNDLE_REPOSITORY_TOKEN,
38
38
  PUBLIC_CATALOG_MARKETING_REPOSITORY_TOKEN,
39
39
  PUBLIC_CATALOG_PROJECT_KEY_TOKEN,
@@ -62,9 +62,8 @@ import {
62
62
  periodEndWithMinLead,
63
63
  resolveBundleCancelEffectiveAt,
64
64
  resolveBundlePriceNet
65
- } from "../chunk-UHD6FJBQ.js";
66
- import "../chunk-37HEKVDH.js";
67
- import "../chunk-CJFAOD7K.js";
65
+ } from "../chunk-W6YEIY4R.js";
66
+ import "../chunk-KFT5AIIH.js";
68
67
  import {
69
68
  AUDIT_CONTEXT_RESOLVER_TOKEN,
70
69
  PENDING_PLAN_QUERY_PORT_TOKEN,
@@ -78,14 +77,19 @@ import {
78
77
  USER_ID_RESOLVER_TOKEN,
79
78
  classifyBundleVersionDiff,
80
79
  classifyPlanDiff
81
- } from "../chunk-WPUVJRIN.js";
82
- import "../chunk-E56W4U2P.js";
80
+ } from "../chunk-N3L3AICU.js";
83
81
  import "../chunk-BSK6YBLI.js";
84
- import "../chunk-YSC46BGM.js";
85
82
  import {
86
83
  SUBSCRIPTION_BUNDLE_CONFIG_TOKEN,
87
84
  SUBSCRIPTION_BUNDLE_REPOSITORY_TOKEN
88
- } from "../chunk-F4B2NJUZ.js";
85
+ } from "../chunk-PK6C5R7B.js";
86
+ import "../chunk-VBRYPU7V.js";
87
+ import "../chunk-OUDSQ3PU.js";
88
+ import "../chunk-AOQJEYOL.js";
89
+ import "../chunk-QUZU2M33.js";
90
+ import "../chunk-7TVZI3KY.js";
91
+ import "../chunk-O2J2HDXA.js";
92
+ import "../chunk-YSC46BGM.js";
89
93
  import {
90
94
  PLAN_CATALOG_READ_SINK_TOKEN,
91
95
  PLAN_CATALOG_TOKEN,
@@ -101,15 +105,12 @@ import {
101
105
  isFeatureInPlan,
102
106
  isFeaturePlannedOnly
103
107
  } from "../chunk-DQKCK7DX.js";
104
- import "../chunk-NYLON2VC.js";
105
- import "../chunk-EBJJNTW6.js";
106
- import "../chunk-WKVBNTYC.js";
107
- import "../chunk-L4KTQ6CL.js";
108
+ import "../chunk-57V6ZTI6.js";
108
109
  import "../chunk-SABTXESR.js";
109
- import "../chunk-L4SUWH5B.js";
110
110
  import "../chunk-SHUYVCID.js";
111
111
  export {
112
112
  AUDIT_CONTEXT_RESOLVER_TOKEN,
113
+ BILLING_FEATURE_UI_REGISTRY_TOKEN,
113
114
  CONTRACT_FREEZE_PORT_TOKEN,
114
115
  CONTRACT_FREEZE_PROJECT_KEY_TOKEN,
115
116
  CONTRACT_FREEZE_SOURCE_PORT_TOKEN,
@@ -121,7 +122,6 @@ export {
121
122
  ConfiguratorCatalogBuilder,
122
123
  FEATURE_GUARD_CONFIG_TOKEN,
123
124
  FEATURE_GUARD_MARKER,
124
- FEATURE_UI_REGISTRY_TOKEN,
125
125
  FeatureGuard,
126
126
  LimitExceededFilter,
127
127
  PENDING_PLAN_QUERY_PORT_TOKEN,
@@ -1,8 +1,8 @@
1
- export { B as BundlesService, C as CatalogEntriesService, a as CatalogServiceConfig, M as MarketingProjectionsService, b as MarketingSettingsService, P as PlanVersionsService, c as PlansService, d as PromotionsService, e as PublicMarketingCatalogService } from '../plan-versions.service-_saKzb50.cjs';
1
+ export { B as BundlesService, C as CatalogEntriesService, a as CatalogServiceConfig, M as MarketingProjectionsService, b as MarketingSettingsService, P as PlanVersionsService, c as PlansService, d as PromotionsService, e as PublicMarketingCatalogService } from '../plan-versions.service-TPEtbN0r.cjs';
2
2
  import { Type, CanActivate } from '@nestjs/common';
3
- export { C as CatalogControllerConfig, a as CatalogModule, b as CatalogModuleOptions } from '../catalog.module-D-_pQDNA.cjs';
4
- import { StrictModeWarningCode, StrictModeWarning, DiscoverySnapshot, ApprovedCatalogKeys, DiscoveredQuota, CatalogEntryRepository, PlanVersionRow, BundleVersionRow, DiscoveryStatus, CatalogEntryI18n, PromotionType, PromotionValue, PromotionTargetType, PromotionBillingCycle, PromotionI18n } from '@saasicat/types';
5
- import '../discovery.scanner-DLgEvuoy.cjs';
3
+ export { C as CatalogControllerConfig, a as CatalogModule, b as CatalogModuleOptions } from '../catalog.module-BDDO6iwq.cjs';
4
+ import { StrictModeWarningCode, StrictModeWarning, DiscoverySnapshot, ApprovedCatalogKeys, DiscoveredQuota, CatalogEntryRepository, PlanVersionRow, BundleVersionRow, DiscoveryStatus, CatalogEntryI18n, PromotionType, PromotionValue, PromotionTargetType, PromotionBillingCycle, PromotionI18n } from '@saasicat/core';
5
+ import '../discovery.scanner-9cMqF95o.cjs';
6
6
  import '@nestjs/core';
7
7
  import '../di-CcNeq9v-.cjs';
8
8
 
@@ -56,6 +56,18 @@ declare const MARKETING_SETTINGS_REPOSITORY_TOKEN: unique symbol;
56
56
  * Provided by CatalogModule.forRoot().
57
57
  */
58
58
  declare const CATALOG_SERVICE_CONFIG_TOKEN: unique symbol;
59
+ /**
60
+ * Optional consumer-curated FeatureUiRegistry (label/description/icon per
61
+ * Feature). Feeds the Discovery auto-sync: empty `FeatureCatalogEntry` fields
62
+ * are seeded from it at boot (SuperAdmin edits remain untouched), so that
63
+ * the DB becomes the SSOT for UI metadata.
64
+ *
65
+ * Distinct from `billing/feature-ui-registry.tokens.ts`, which carries the
66
+ * registry for the PUBLIC catalog endpoints. Same exported name, different
67
+ * token on purpose — an app may curate the two surfaces differently. The key
68
+ * is namespaced accordingly so the two never collide.
69
+ */
70
+ declare const CATALOG_FEATURE_UI_REGISTRY_TOKEN: unique symbol;
59
71
 
60
72
  /**
61
73
  * Advisory warnings (#35): they inform but never block — not even in
@@ -535,4 +547,4 @@ declare class PublishPlanVersionDto {
535
547
  validUntil?: string | null;
536
548
  }
537
549
 
538
- export { ADVISORY_STRICT_MODE_CODES, BUNDLE_REPOSITORY_TOKEN, CATALOG_ENTRY_REPOSITORY_TOKEN, CATALOG_SERVICE_CONFIG_TOKEN, CreateBundleDto, CreateBundleVersionDraftDto, CreateMarketingProjectionDto, CreatePlanDto, CreatePlanVersionDraftDto, CreatePromotionDto, ListCatalogEntriesQueryDto, ListMarketingProjectionsQueryDto, ListMarketingSettingsQueryDto, ListPromotionsQueryDto, MARKETING_PROJECTION_REPOSITORY_TOKEN, MARKETING_SETTINGS_REPOSITORY_TOKEN, PLAN_REPOSITORY_TOKEN, PROMOTION_REPOSITORY_TOKEN, type PreflightFinding, type PreflightInput, type PreflightReport, PublishBundleVersionDto, PublishPlanVersionDto, ReviewCatalogEntryDto, type SeedBundleDraft, type SeedGateFinding, type SeedGateInput, type SeedGateMode, type SeedGateReport, type SeedGateRunOptions, type 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 };
550
+ export { ADVISORY_STRICT_MODE_CODES, BUNDLE_REPOSITORY_TOKEN, CATALOG_ENTRY_REPOSITORY_TOKEN, CATALOG_FEATURE_UI_REGISTRY_TOKEN, CATALOG_SERVICE_CONFIG_TOKEN, CreateBundleDto, CreateBundleVersionDraftDto, CreateMarketingProjectionDto, CreatePlanDto, CreatePlanVersionDraftDto, CreatePromotionDto, ListCatalogEntriesQueryDto, ListMarketingProjectionsQueryDto, ListMarketingSettingsQueryDto, ListPromotionsQueryDto, MARKETING_PROJECTION_REPOSITORY_TOKEN, MARKETING_SETTINGS_REPOSITORY_TOKEN, PLAN_REPOSITORY_TOKEN, PROMOTION_REPOSITORY_TOKEN, type PreflightFinding, type PreflightInput, type PreflightReport, PublishBundleVersionDto, PublishPlanVersionDto, ReviewCatalogEntryDto, type SeedBundleDraft, type SeedGateFinding, type SeedGateInput, type SeedGateMode, type SeedGateReport, type SeedGateRunOptions, type 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 };
@@ -1,8 +1,8 @@
1
- export { B as BundlesService, C as CatalogEntriesService, a as CatalogServiceConfig, M as MarketingProjectionsService, b as MarketingSettingsService, P as PlanVersionsService, c as PlansService, d as PromotionsService, e as PublicMarketingCatalogService } from '../plan-versions.service-B-YoE4SZ.js';
1
+ export { B as BundlesService, C as CatalogEntriesService, a as CatalogServiceConfig, M as MarketingProjectionsService, b as MarketingSettingsService, P as PlanVersionsService, c as PlansService, d as PromotionsService, e as PublicMarketingCatalogService } from '../plan-versions.service-DChhbK6h.js';
2
2
  import { Type, CanActivate } from '@nestjs/common';
3
- export { C as CatalogControllerConfig, a as CatalogModule, b as CatalogModuleOptions } from '../catalog.module-CQr1FpkI.js';
4
- import { StrictModeWarningCode, StrictModeWarning, DiscoverySnapshot, ApprovedCatalogKeys, DiscoveredQuota, CatalogEntryRepository, PlanVersionRow, BundleVersionRow, DiscoveryStatus, CatalogEntryI18n, PromotionType, PromotionValue, PromotionTargetType, PromotionBillingCycle, PromotionI18n } from '@saasicat/types';
5
- import '../discovery.scanner-DLgEvuoy.js';
3
+ export { C as CatalogControllerConfig, a as CatalogModule, b as CatalogModuleOptions } from '../catalog.module-BTnMsE6u.js';
4
+ import { StrictModeWarningCode, StrictModeWarning, DiscoverySnapshot, ApprovedCatalogKeys, DiscoveredQuota, CatalogEntryRepository, PlanVersionRow, BundleVersionRow, DiscoveryStatus, CatalogEntryI18n, PromotionType, PromotionValue, PromotionTargetType, PromotionBillingCycle, PromotionI18n } from '@saasicat/core';
5
+ import '../discovery.scanner-9cMqF95o.js';
6
6
  import '@nestjs/core';
7
7
  import '../di-CcNeq9v-.js';
8
8
 
@@ -56,6 +56,18 @@ declare const MARKETING_SETTINGS_REPOSITORY_TOKEN: unique symbol;
56
56
  * Provided by CatalogModule.forRoot().
57
57
  */
58
58
  declare const CATALOG_SERVICE_CONFIG_TOKEN: unique symbol;
59
+ /**
60
+ * Optional consumer-curated FeatureUiRegistry (label/description/icon per
61
+ * Feature). Feeds the Discovery auto-sync: empty `FeatureCatalogEntry` fields
62
+ * are seeded from it at boot (SuperAdmin edits remain untouched), so that
63
+ * the DB becomes the SSOT for UI metadata.
64
+ *
65
+ * Distinct from `billing/feature-ui-registry.tokens.ts`, which carries the
66
+ * registry for the PUBLIC catalog endpoints. Same exported name, different
67
+ * token on purpose — an app may curate the two surfaces differently. The key
68
+ * is namespaced accordingly so the two never collide.
69
+ */
70
+ declare const CATALOG_FEATURE_UI_REGISTRY_TOKEN: unique symbol;
59
71
 
60
72
  /**
61
73
  * Advisory warnings (#35): they inform but never block — not even in
@@ -535,4 +547,4 @@ declare class PublishPlanVersionDto {
535
547
  validUntil?: string | null;
536
548
  }
537
549
 
538
- export { ADVISORY_STRICT_MODE_CODES, BUNDLE_REPOSITORY_TOKEN, CATALOG_ENTRY_REPOSITORY_TOKEN, CATALOG_SERVICE_CONFIG_TOKEN, CreateBundleDto, CreateBundleVersionDraftDto, CreateMarketingProjectionDto, CreatePlanDto, CreatePlanVersionDraftDto, CreatePromotionDto, ListCatalogEntriesQueryDto, ListMarketingProjectionsQueryDto, ListMarketingSettingsQueryDto, ListPromotionsQueryDto, MARKETING_PROJECTION_REPOSITORY_TOKEN, MARKETING_SETTINGS_REPOSITORY_TOKEN, PLAN_REPOSITORY_TOKEN, PROMOTION_REPOSITORY_TOKEN, type PreflightFinding, type PreflightInput, type PreflightReport, PublishBundleVersionDto, PublishPlanVersionDto, ReviewCatalogEntryDto, type SeedBundleDraft, type SeedGateFinding, type SeedGateInput, type SeedGateMode, type SeedGateReport, type SeedGateRunOptions, type 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 };
550
+ export { ADVISORY_STRICT_MODE_CODES, BUNDLE_REPOSITORY_TOKEN, CATALOG_ENTRY_REPOSITORY_TOKEN, CATALOG_FEATURE_UI_REGISTRY_TOKEN, CATALOG_SERVICE_CONFIG_TOKEN, CreateBundleDto, CreateBundleVersionDraftDto, CreateMarketingProjectionDto, CreatePlanDto, CreatePlanVersionDraftDto, CreatePromotionDto, ListCatalogEntriesQueryDto, ListMarketingProjectionsQueryDto, ListMarketingSettingsQueryDto, ListPromotionsQueryDto, MARKETING_PROJECTION_REPOSITORY_TOKEN, MARKETING_SETTINGS_REPOSITORY_TOKEN, PLAN_REPOSITORY_TOKEN, PROMOTION_REPOSITORY_TOKEN, type PreflightFinding, type PreflightInput, type PreflightReport, PublishBundleVersionDto, PublishPlanVersionDto, ReviewCatalogEntryDto, type SeedBundleDraft, type SeedGateFinding, type SeedGateInput, type SeedGateMode, type SeedGateReport, type SeedGateRunOptions, type 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 };
@@ -6,8 +6,7 @@ import {
6
6
  runSeedGateFromFile,
7
7
  seedGateExitCode,
8
8
  validateSeedAgainstSnapshot
9
- } from "../chunk-7ZPFQXHM.js";
10
- import "../chunk-74SCJ4HF.js";
9
+ } from "../chunk-IQTQLQD3.js";
11
10
  import {
12
11
  ADVISORY_STRICT_MODE_CODES,
13
12
  BundlesService,
@@ -56,29 +55,32 @@ import {
56
55
  quotaApprovalSignature,
57
56
  validateBundleDraft,
58
57
  validatePlanDraft
59
- } from "../chunk-7X5MSAIL.js";
60
- import "../chunk-WPUVJRIN.js";
61
- import "../chunk-E56W4U2P.js";
62
- import "../chunk-YSC46BGM.js";
63
- import "../chunk-5ZXBXYXU.js";
64
- import "../chunk-WKVBNTYC.js";
58
+ } from "../chunk-VNADKD5U.js";
59
+ import "../chunk-N3L3AICU.js";
60
+ import "../chunk-74SCJ4HF.js";
61
+ import "../chunk-WXYJHZCN.js";
62
+ import "../chunk-OUDSQ3PU.js";
65
63
  import {
66
64
  BUNDLE_REPOSITORY_TOKEN,
67
65
  CATALOG_ENTRY_REPOSITORY_TOKEN,
66
+ CATALOG_FEATURE_UI_REGISTRY_TOKEN,
68
67
  CATALOG_SERVICE_CONFIG_TOKEN,
69
68
  MARKETING_PROJECTION_REPOSITORY_TOKEN,
70
69
  MARKETING_SETTINGS_REPOSITORY_TOKEN,
71
70
  PLAN_REPOSITORY_TOKEN,
72
71
  PROMOTION_REPOSITORY_TOKEN
73
- } from "../chunk-L4KTQ6CL.js";
72
+ } from "../chunk-AOQJEYOL.js";
73
+ import "../chunk-QUZU2M33.js";
74
+ import "../chunk-O2J2HDXA.js";
75
+ import "../chunk-YSC46BGM.js";
74
76
  import "../chunk-SABTXESR.js";
75
- import "../chunk-L4SUWH5B.js";
76
77
  import "../chunk-SHUYVCID.js";
77
78
  export {
78
79
  ADVISORY_STRICT_MODE_CODES,
79
80
  BUNDLE_REPOSITORY_TOKEN,
80
81
  BundlesService,
81
82
  CATALOG_ENTRY_REPOSITORY_TOKEN,
83
+ CATALOG_FEATURE_UI_REGISTRY_TOKEN,
82
84
  CATALOG_SERVICE_CONFIG_TOKEN,
83
85
  CatalogEntriesService,
84
86
  CatalogModule,
@@ -1,5 +1,5 @@
1
1
  import { Type, CanActivate, DynamicModule, ForwardReference, Provider } from '@nestjs/common';
2
- import { BundleRepository, MarketingProjectionRepository, CatalogEntryRepository, PromotionRepository, MarketingSettingsRepository, PlanRepository, FeatureUiRegistry } from '@saasicat/types';
2
+ import { BundleRepository, MarketingProjectionRepository, CatalogEntryRepository, PromotionRepository, MarketingSettingsRepository, PlanRepository, FeatureUiRegistry } from '@saasicat/core';
3
3
  import { P as ProviderSpec } from './di-CcNeq9v-.cjs';
4
4
 
5
5
  interface CatalogControllerConfig {
@@ -1,5 +1,5 @@
1
1
  import { Type, CanActivate, DynamicModule, ForwardReference, Provider } from '@nestjs/common';
2
- import { BundleRepository, MarketingProjectionRepository, CatalogEntryRepository, PromotionRepository, MarketingSettingsRepository, PlanRepository, FeatureUiRegistry } from '@saasicat/types';
2
+ import { BundleRepository, MarketingProjectionRepository, CatalogEntryRepository, PromotionRepository, MarketingSettingsRepository, PlanRepository, FeatureUiRegistry } from '@saasicat/core';
3
3
  import { P as ProviderSpec } from './di-CcNeq9v-.js';
4
4
 
5
5
  interface CatalogControllerConfig {
@@ -1,7 +1,7 @@
1
- export { C as CheckoutOfferService } from '../checkout-offer.service-BX51dljL.cjs';
1
+ export { C as CheckoutOfferService } from '../checkout-offer.service-BLOv2HOo.cjs';
2
2
  import { Type, CanActivate } from '@nestjs/common';
3
- export { C as CheckoutOfferControllerConfig, a as CheckoutOfferModule, b as CheckoutOfferModuleOptions } from '../checkout-offer.module-DmlpPevf.cjs';
4
- import { CheckoutOfferPriceBreakdown, CheckoutOfferLineItem, CheckoutOfferPromotionSnapshot, CheckoutOfferPromoCodeSnapshot } from '@saasicat/types';
3
+ export { C as CheckoutOfferControllerConfig, a as CheckoutOfferModule, b as CheckoutOfferModuleOptions } from '../checkout-offer.module-CVpWrzbe.cjs';
4
+ import { CheckoutOfferPriceBreakdown, CheckoutOfferLineItem, CheckoutOfferPromotionSnapshot, CheckoutOfferPromoCodeSnapshot } from '@saasicat/core';
5
5
  import '../di-CcNeq9v-.cjs';
6
6
 
7
7
  declare function buildCheckoutOfferController(guards: Array<Type<CanActivate>>): Type;
@@ -1,7 +1,7 @@
1
- export { C as CheckoutOfferService } from '../checkout-offer.service-BX51dljL.js';
1
+ export { C as CheckoutOfferService } from '../checkout-offer.service-BLOv2HOo.js';
2
2
  import { Type, CanActivate } from '@nestjs/common';
3
- export { C as CheckoutOfferControllerConfig, a as CheckoutOfferModule, b as CheckoutOfferModuleOptions } from '../checkout-offer.module-Ca3_TieR.js';
4
- import { CheckoutOfferPriceBreakdown, CheckoutOfferLineItem, CheckoutOfferPromotionSnapshot, CheckoutOfferPromoCodeSnapshot } from '@saasicat/types';
3
+ export { C as CheckoutOfferControllerConfig, a as CheckoutOfferModule, b as CheckoutOfferModuleOptions } from '../checkout-offer.module-CMtiQJTT.js';
4
+ import { CheckoutOfferPriceBreakdown, CheckoutOfferLineItem, CheckoutOfferPromotionSnapshot, CheckoutOfferPromoCodeSnapshot } from '@saasicat/core';
5
5
  import '../di-CcNeq9v-.js';
6
6
 
7
7
  declare function buildCheckoutOfferController(guards: Array<Type<CanActivate>>): Type;
@@ -6,10 +6,10 @@ import {
6
6
  CreateCheckoutOfferDto,
7
7
  UpdateCheckoutOfferDto,
8
8
  buildCheckoutOfferController
9
- } from "../chunk-XTVAFJ3P.js";
9
+ } from "../chunk-L23MLBEC.js";
10
10
  import "../chunk-BSK6YBLI.js";
11
+ import "../chunk-AOQJEYOL.js";
11
12
  import "../chunk-YSC46BGM.js";
12
- import "../chunk-L4KTQ6CL.js";
13
13
  import "../chunk-SABTXESR.js";
14
14
  import "../chunk-SHUYVCID.js";
15
15
  export {
@@ -1,5 +1,5 @@
1
1
  import { Type, CanActivate, DynamicModule, ForwardReference, Provider } from '@nestjs/common';
2
- import { CheckoutOfferRepository, BundleRepository, PlanRepository, CatalogEntryRepository } from '@saasicat/types';
2
+ import { CheckoutOfferRepository, BundleRepository, PlanRepository, CatalogEntryRepository } from '@saasicat/core';
3
3
  import { P as ProviderSpec } from './di-CcNeq9v-.js';
4
4
 
5
5
  interface CheckoutOfferControllerConfig {
@@ -1,5 +1,5 @@
1
1
  import { Type, CanActivate, DynamicModule, ForwardReference, Provider } from '@nestjs/common';
2
- import { CheckoutOfferRepository, BundleRepository, PlanRepository, CatalogEntryRepository } from '@saasicat/types';
2
+ import { CheckoutOfferRepository, BundleRepository, PlanRepository, CatalogEntryRepository } from '@saasicat/core';
3
3
  import { P as ProviderSpec } from './di-CcNeq9v-.cjs';
4
4
 
5
5
  interface CheckoutOfferControllerConfig {
@@ -1,4 +1,4 @@
1
- import { CheckoutOfferRepository, BundleRepository, PlanRepository, CatalogEntryRepository, CheckoutOfferFilter, CheckoutOfferRow, CreateCheckoutOfferData, UpdateCheckoutOfferData } from '@saasicat/types';
1
+ import { CheckoutOfferRepository, BundleRepository, PlanRepository, CatalogEntryRepository, CheckoutOfferFilter, CheckoutOfferRow, CreateCheckoutOfferData, UpdateCheckoutOfferData } from '@saasicat/core';
2
2
 
3
3
  declare class CheckoutOfferService {
4
4
  private readonly repo;
@@ -1,4 +1,4 @@
1
- import { CheckoutOfferRepository, BundleRepository, PlanRepository, CatalogEntryRepository, CheckoutOfferFilter, CheckoutOfferRow, CreateCheckoutOfferData, UpdateCheckoutOfferData } from '@saasicat/types';
1
+ import { CheckoutOfferRepository, BundleRepository, PlanRepository, CatalogEntryRepository, CheckoutOfferFilter, CheckoutOfferRow, CreateCheckoutOfferData, UpdateCheckoutOfferData } from '@saasicat/core';
2
2
 
3
3
  declare class CheckoutOfferService {
4
4
  private readonly repo;