@saasicat/nest 0.22.0 → 0.22.2

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 (34) hide show
  1. package/dist/_entries.cjs +394 -263
  2. package/dist/billing/index.d.cts +6 -4
  3. package/dist/billing/index.d.ts +6 -4
  4. package/dist/billing/index.js +15 -11
  5. package/dist/catalog/index.js +5 -5
  6. package/dist/checkout-offer/index.js +3 -3
  7. package/dist/{chunk-UO64MK3Q.js → chunk-4BSSMDLL.js} +36 -22
  8. package/dist/{chunk-UFS344JD.js → chunk-FPEQPHJE.js} +196 -81
  9. package/dist/{chunk-7ZPFQXHM.js → chunk-UOWK2HYG.js} +1 -1
  10. package/dist/{define-saasicat-C99hWAUK.d.ts → define-saasicat-BK6RRWWG.d.ts} +1 -1
  11. package/dist/{define-saasicat-ByPjtKPy.d.cts → define-saasicat-D30I-WET.d.cts} +1 -1
  12. package/dist/{enforce-quota.interceptor-BrsU1UYJ.d.cts → enforce-quota.interceptor-B9QueAFf.d.ts} +4 -1
  13. package/dist/{enforce-quota.interceptor-reO-i71U.d.ts → enforce-quota.interceptor-DY6CLjoP.d.cts} +4 -1
  14. package/dist/entitlement/index.js +5 -5
  15. package/dist/index.d.cts +5 -5
  16. package/dist/index.d.ts +5 -5
  17. package/dist/index.js +155 -151
  18. package/dist/platform/index.d.cts +28 -10
  19. package/dist/platform/index.d.ts +28 -10
  20. package/dist/platform/index.js +43 -41
  21. package/dist/{saas-platform.module-HCDNZTiE.d.cts → saas-platform.module-CgalxzcT.d.cts} +1 -1
  22. package/dist/{saas-platform.module-DolE41YY.d.ts → saas-platform.module-D1mUZPrz.d.ts} +1 -1
  23. package/dist/{subscription-bundles.module-BQmoozm5.d.ts → subscription-bundles.module-BDbODWvA.d.ts} +9 -1
  24. package/dist/{subscription-bundles.module-DCpV-Pb5.d.cts → subscription-bundles.module-Cfi-lFWF.d.cts} +9 -1
  25. package/dist/{tenant-billing.controller-7o4ObzGs.d.ts → tenant-billing.controller-BSlpFqVA.d.ts} +1 -1
  26. package/dist/{tenant-billing.controller-DubP6-Md.d.cts → tenant-billing.controller-DHSUrT_N.d.cts} +1 -1
  27. package/dist/testing/index.d.cts +4 -4
  28. package/dist/testing/index.d.ts +4 -4
  29. package/dist/testing/index.js +15 -15
  30. package/package.json +3 -3
  31. package/dist/{chunk-XTVAFJ3P.js → chunk-ES5AN53A.js} +6 -6
  32. package/dist/{chunk-EWPF57AG.js → chunk-FY4EJTV4.js} +0 -0
  33. package/dist/{chunk-NNNXXUPT.js → chunk-NXD7763W.js} +13 -13
  34. package/dist/{chunk-7X5MSAIL.js → chunk-QB7MICKQ.js} +9 -9
package/dist/index.js CHANGED
@@ -1,44 +1,4 @@
1
- import "./chunk-HWGIMNWR.js";
2
- import {
3
- ACTIVATION_ORCHESTRATOR_TOKEN,
4
- BaseIpRateLimitGuard,
5
- ContinueRegistrationDto,
6
- CronExpression,
7
- PASSWORD_HASHER_TOKEN,
8
- PAYMENT_EVENT_LOG_TOKEN,
9
- PAYMENT_PROVIDER_TOKEN,
10
- PENDING_REGISTRATION_REPOSITORY_TOKEN,
11
- PLAN_CATALOG_LOOKUP_TOKEN,
12
- PaymentWebhookDto,
13
- PendingRegistrationService,
14
- PreviewRegistrationPromoDto,
15
- REGISTRATION_AUDIT_LOGGER_TOKEN,
16
- REGISTRATION_CONFIGURATOR_LOOKUP_TOKEN,
17
- REGISTRATION_CONFIG_TOKEN,
18
- REGISTRATION_OTP_DELIVERY_TOKEN,
19
- REGISTRATION_PROMO_PREVIEW_TOKEN,
20
- REGISTRATION_RESUME_BASE_URL_TOKEN,
21
- REGISTRATION_RESUME_DELIVERY_TOKEN,
22
- REGISTRATION_RESUME_TOKEN_SIGNER_TOKEN,
23
- RegisterStartDto,
24
- RegistrationCleanupCron,
25
- RegistrationModule,
26
- ResendRegistrationOtpDto,
27
- SLUG_AVAILABILITY_CHECK_TOKEN,
28
- SaveRegistrationConfigDto,
29
- SaveRegistrationConfigSelectionDto,
30
- SelectRegistrationPlanDto,
31
- StartRegistrationCheckoutDto,
32
- USER_ACCOUNT_LOOKUP_TOKEN,
33
- VerifyRegistrationOtpDto,
34
- computeBreakdown,
35
- generateOtpCode,
36
- hashOtpCode,
37
- resolveModel,
38
- slugify,
39
- verifyOtpCode
40
- } from "./chunk-MJ32VNZD.js";
41
- import "./chunk-UF53DWWR.js";
1
+ import "./chunk-DBZGV3HC.js";
42
2
  import {
43
3
  formatPreflightReport,
44
4
  formatSeedGateReport,
@@ -47,8 +7,8 @@ import {
47
7
  runSeedGateFromFile,
48
8
  seedGateExitCode,
49
9
  validateSeedAgainstSnapshot
50
- } from "./chunk-7ZPFQXHM.js";
51
- import "./chunk-DBZGV3HC.js";
10
+ } from "./chunk-UOWK2HYG.js";
11
+ import "./chunk-UF53DWWR.js";
52
12
  import {
53
13
  DefinesQuota,
54
14
  EnforceQuota,
@@ -62,7 +22,7 @@ import {
62
22
  } from "./chunk-74SCJ4HF.js";
63
23
  import {
64
24
  defineSaaSiCat
65
- } from "./chunk-EWPF57AG.js";
25
+ } from "./chunk-FY4EJTV4.js";
66
26
  import {
67
27
  SETUP_CONFIG_TOKEN,
68
28
  SETUP_PROVISIONING_PORT_TOKEN,
@@ -70,46 +30,7 @@ import {
70
30
  SetupController,
71
31
  SetupModule,
72
32
  SetupService
73
- } from "./chunk-UFS344JD.js";
74
- import {
75
- CreatePromoCodeDto,
76
- PreviewPromoCodeDto,
77
- PromoCodeExpirer,
78
- PromoCodePublicController,
79
- PromoCodeRateLimitGuard,
80
- PromoCodesModule,
81
- UpdatePromoCodeDto,
82
- buildPromoCodeAdminController,
83
- hashIp,
84
- ipFingerprint
85
- } from "./chunk-4O6R6ARQ.js";
86
- import {
87
- ADMIN_MANIFEST_CONFIG,
88
- ADMIN_RESOURCES_PORT_TOKEN,
89
- ADMIN_STATS_AUDIT_WINDOW_DAYS_TOKEN,
90
- AUDIT_STATS_PORT_TOKEN,
91
- AdminBypassRlsInterceptor,
92
- AdminManifestModule,
93
- AdminManifestService,
94
- AdminModule,
95
- AdminPublicBootController,
96
- AdminResourcesModule,
97
- AdminResourcesService,
98
- AdminStatsController,
99
- AdminStatsModule,
100
- AdminStatsService,
101
- MfaGuard,
102
- MfaService,
103
- PLATFORM_CORE_CONTRIBUTION_TOKEN,
104
- PLATFORM_CORE_MANIFEST_CONTRIBUTION,
105
- PROMO_CODE_STATS_PORT_TOKEN,
106
- REQUIRE_MFA_KEY,
107
- RequireMfa,
108
- SUBSCRIPTION_STATS_PORT_TOKEN,
109
- SuperAdminGuard,
110
- SuspendTenantDto,
111
- buildAdminStatsController
112
- } from "./chunk-SN5UOC43.js";
33
+ } from "./chunk-FPEQPHJE.js";
113
34
  import {
114
35
  CONTRACT_FREEZE_PORT_TOKEN,
115
36
  CONTRACT_FREEZE_PROJECT_KEY_TOKEN,
@@ -121,6 +42,7 @@ import {
121
42
  ComposedTenantAuthGuard,
122
43
  ConfiguratorCatalogBuilder,
123
44
  FEATURE_GUARD_CONFIG_TOKEN,
45
+ FEATURE_GUARD_MARKER,
124
46
  FEATURE_UI_REGISTRY_TOKEN,
125
47
  FeatureGuard,
126
48
  LimitExceededFilter,
@@ -164,36 +86,22 @@ import {
164
86
  computeProration,
165
87
  decideRenewal,
166
88
  initialPeriodWindow,
89
+ isPlatformFeatureGuard,
167
90
  loadPlanCatalogFromFile,
168
91
  loadPlanCatalogFromString,
169
92
  periodEndAfter,
170
93
  periodEndWithMinLead,
171
94
  resolveBundleCancelEffectiveAt,
172
95
  resolveBundlePriceNet
173
- } from "./chunk-UO64MK3Q.js";
174
- import {
175
- PROMO_CODE_REDEMPTION_REPOSITORY_TOKEN,
176
- PROMO_CODE_REPOSITORY_TOKEN,
177
- PROMO_CODE_VALIDATION_LOG_REPOSITORY_TOKEN,
178
- PROMO_FIRST_TIME_CUSTOMER_CHECK_TOKEN,
179
- PROMO_REVENUE_DEDUCTION_AGGREGATOR_TOKEN,
180
- PROMO_SERVICE_CONFIG_TOKEN,
181
- PROMO_SUBSCRIPTION_LOOKUP_TOKEN,
182
- PROMO_TRANSACTION_RUNNER_TOKEN,
183
- PromoCodesService,
184
- addCycles,
185
- buildLabel,
186
- computeDiscountGross,
187
- computeDiscountedGross,
188
- computeRegularStartsAt
189
- } from "./chunk-VQQWF7MW.js";
96
+ } from "./chunk-4BSSMDLL.js";
190
97
  import {
191
- SubscriptionContractModule,
192
- SubscriptionContractService,
193
- contractLineItemToInvoiceLineItem,
194
- sortContractLineItemsForInvoice,
195
- subscriptionContractToInvoiceSnapshot
196
- } from "./chunk-B7NRY2LV.js";
98
+ CHECKOUT_OFFER_REPOSITORY_TOKEN,
99
+ CheckoutOfferModule,
100
+ CheckoutOfferService,
101
+ CreateCheckoutOfferDto,
102
+ UpdateCheckoutOfferDto,
103
+ buildCheckoutOfferController
104
+ } from "./chunk-ES5AN53A.js";
197
105
  import {
198
106
  ADVISORY_STRICT_MODE_CODES,
199
107
  BundlesService,
@@ -242,7 +150,7 @@ import {
242
150
  quotaApprovalSignature,
243
151
  validateBundleDraft,
244
152
  validatePlanDraft
245
- } from "./chunk-7X5MSAIL.js";
153
+ } from "./chunk-QB7MICKQ.js";
246
154
  import {
247
155
  AUDIT_CONTEXT_RESOLVER_TOKEN,
248
156
  PENDING_PLAN_QUERY_PORT_TOKEN,
@@ -258,25 +166,32 @@ import {
258
166
  classifyPlanDiff
259
167
  } from "./chunk-WPUVJRIN.js";
260
168
  import {
261
- AUDIT_PORT_TOKEN,
262
- AdminAuditService,
263
- MFA_PORT_TOKEN,
264
- RLS_BYPASS_PORT_TOKEN
265
- } from "./chunk-E56W4U2P.js";
266
- import {
267
- CHECKOUT_OFFER_REPOSITORY_TOKEN,
268
- CheckoutOfferModule,
269
- CheckoutOfferService,
270
- CreateCheckoutOfferDto,
271
- UpdateCheckoutOfferDto,
272
- buildCheckoutOfferController
273
- } from "./chunk-XTVAFJ3P.js";
274
- import "./chunk-BSK6YBLI.js";
275
- import {
276
- SAASICAT_PUBLIC_ROUTE_KEY,
277
- SaaSiCatPublicRoute,
278
- isSaaSiCatPublicRoute
279
- } from "./chunk-YSC46BGM.js";
169
+ ADMIN_MANIFEST_CONFIG,
170
+ ADMIN_RESOURCES_PORT_TOKEN,
171
+ ADMIN_STATS_AUDIT_WINDOW_DAYS_TOKEN,
172
+ AUDIT_STATS_PORT_TOKEN,
173
+ AdminBypassRlsInterceptor,
174
+ AdminManifestModule,
175
+ AdminManifestService,
176
+ AdminModule,
177
+ AdminPublicBootController,
178
+ AdminResourcesModule,
179
+ AdminResourcesService,
180
+ AdminStatsController,
181
+ AdminStatsModule,
182
+ AdminStatsService,
183
+ MfaGuard,
184
+ MfaService,
185
+ PLATFORM_CORE_CONTRIBUTION_TOKEN,
186
+ PLATFORM_CORE_MANIFEST_CONTRIBUTION,
187
+ PROMO_CODE_STATS_PORT_TOKEN,
188
+ REQUIRE_MFA_KEY,
189
+ RequireMfa,
190
+ SUBSCRIPTION_STATS_PORT_TOKEN,
191
+ SuperAdminGuard,
192
+ SuspendTenantDto,
193
+ buildAdminStatsController
194
+ } from "./chunk-SN5UOC43.js";
280
195
  import {
281
196
  DiscoveryModule,
282
197
  buildDiscoveryController
@@ -310,7 +225,70 @@ import {
310
225
  mergeSubscriptionBundlesIntoLimits,
311
226
  resolveEntitlementPlan,
312
227
  toEffectiveLimitsSnapshot
313
- } from "./chunk-NNNXXUPT.js";
228
+ } from "./chunk-NXD7763W.js";
229
+ import {
230
+ ENTITLEMENT_RESOLUTION_CONFIG_TOKEN,
231
+ ENTITLEMENT_SERVICE_TOKEN,
232
+ PLAN_VERSION_REPOSITORY_TOKEN,
233
+ SUBSCRIPTION_REPOSITORY_TOKEN,
234
+ TRANSACTION_RUNNER_TOKEN
235
+ } from "./chunk-WKVBNTYC.js";
236
+ import {
237
+ BUNDLE_REPOSITORY_TOKEN,
238
+ CATALOG_ENTRY_REPOSITORY_TOKEN,
239
+ CATALOG_SERVICE_CONFIG_TOKEN,
240
+ MARKETING_PROJECTION_REPOSITORY_TOKEN,
241
+ MARKETING_SETTINGS_REPOSITORY_TOKEN,
242
+ PLAN_REPOSITORY_TOKEN,
243
+ PROMOTION_REPOSITORY_TOKEN
244
+ } from "./chunk-L4KTQ6CL.js";
245
+ import {
246
+ DEFINES_QUOTA_KEY,
247
+ DISCOVERY_SNAPSHOT_TOKEN,
248
+ ENFORCE_QUOTA_KEY,
249
+ IMPLEMENTS_CAPABILITY_KEY,
250
+ REQUIRES_CAPABILITY_KEY
251
+ } from "./chunk-L4SUWH5B.js";
252
+ import "./chunk-HWGIMNWR.js";
253
+ import {
254
+ CreatePromoCodeDto,
255
+ PreviewPromoCodeDto,
256
+ PromoCodeExpirer,
257
+ PromoCodePublicController,
258
+ PromoCodeRateLimitGuard,
259
+ PromoCodesModule,
260
+ UpdatePromoCodeDto,
261
+ buildPromoCodeAdminController,
262
+ hashIp,
263
+ ipFingerprint
264
+ } from "./chunk-4O6R6ARQ.js";
265
+ import {
266
+ PROMO_CODE_REDEMPTION_REPOSITORY_TOKEN,
267
+ PROMO_CODE_REPOSITORY_TOKEN,
268
+ PROMO_CODE_VALIDATION_LOG_REPOSITORY_TOKEN,
269
+ PROMO_FIRST_TIME_CUSTOMER_CHECK_TOKEN,
270
+ PROMO_REVENUE_DEDUCTION_AGGREGATOR_TOKEN,
271
+ PROMO_SERVICE_CONFIG_TOKEN,
272
+ PROMO_SUBSCRIPTION_LOOKUP_TOKEN,
273
+ PROMO_TRANSACTION_RUNNER_TOKEN,
274
+ PromoCodesService,
275
+ addCycles,
276
+ buildLabel,
277
+ computeDiscountGross,
278
+ computeDiscountedGross,
279
+ computeRegularStartsAt
280
+ } from "./chunk-VQQWF7MW.js";
281
+ import {
282
+ AUDIT_PORT_TOKEN,
283
+ AdminAuditService,
284
+ MFA_PORT_TOKEN,
285
+ RLS_BYPASS_PORT_TOKEN
286
+ } from "./chunk-E56W4U2P.js";
287
+ import {
288
+ SAASICAT_PUBLIC_ROUTE_KEY,
289
+ SaaSiCatPublicRoute,
290
+ isSaaSiCatPublicRoute
291
+ } from "./chunk-YSC46BGM.js";
314
292
  import {
315
293
  PLAN_CATALOG_READ_SINK_TOKEN,
316
294
  PLAN_CATALOG_TOKEN,
@@ -330,37 +308,61 @@ import {
330
308
  round2
331
309
  } from "./chunk-DQKCK7DX.js";
332
310
  import {
333
- SUBSCRIPTION_CONTRACT_REPOSITORY_TOKEN
334
- } from "./chunk-NYLON2VC.js";
311
+ ACTIVATION_ORCHESTRATOR_TOKEN,
312
+ BaseIpRateLimitGuard,
313
+ ContinueRegistrationDto,
314
+ CronExpression,
315
+ PASSWORD_HASHER_TOKEN,
316
+ PAYMENT_EVENT_LOG_TOKEN,
317
+ PAYMENT_PROVIDER_TOKEN,
318
+ PENDING_REGISTRATION_REPOSITORY_TOKEN,
319
+ PLAN_CATALOG_LOOKUP_TOKEN,
320
+ PaymentWebhookDto,
321
+ PendingRegistrationService,
322
+ PreviewRegistrationPromoDto,
323
+ REGISTRATION_AUDIT_LOGGER_TOKEN,
324
+ REGISTRATION_CONFIGURATOR_LOOKUP_TOKEN,
325
+ REGISTRATION_CONFIG_TOKEN,
326
+ REGISTRATION_OTP_DELIVERY_TOKEN,
327
+ REGISTRATION_PROMO_PREVIEW_TOKEN,
328
+ REGISTRATION_RESUME_BASE_URL_TOKEN,
329
+ REGISTRATION_RESUME_DELIVERY_TOKEN,
330
+ REGISTRATION_RESUME_TOKEN_SIGNER_TOKEN,
331
+ RegisterStartDto,
332
+ RegistrationCleanupCron,
333
+ RegistrationModule,
334
+ ResendRegistrationOtpDto,
335
+ SLUG_AVAILABILITY_CHECK_TOKEN,
336
+ SaveRegistrationConfigDto,
337
+ SaveRegistrationConfigSelectionDto,
338
+ SelectRegistrationPlanDto,
339
+ StartRegistrationCheckoutDto,
340
+ USER_ACCOUNT_LOOKUP_TOKEN,
341
+ VerifyRegistrationOtpDto,
342
+ computeBreakdown,
343
+ generateOtpCode,
344
+ hashOtpCode,
345
+ resolveModel,
346
+ slugify,
347
+ verifyOtpCode
348
+ } from "./chunk-MJ32VNZD.js";
335
349
  import {
336
350
  codedError
337
351
  } from "./chunk-EBJJNTW6.js";
338
352
  import {
339
- ENTITLEMENT_RESOLUTION_CONFIG_TOKEN,
340
- ENTITLEMENT_SERVICE_TOKEN,
341
- PLAN_VERSION_REPOSITORY_TOKEN,
342
- SUBSCRIPTION_REPOSITORY_TOKEN,
343
- TRANSACTION_RUNNER_TOKEN
344
- } from "./chunk-WKVBNTYC.js";
353
+ SubscriptionContractModule,
354
+ SubscriptionContractService,
355
+ contractLineItemToInvoiceLineItem,
356
+ sortContractLineItemsForInvoice,
357
+ subscriptionContractToInvoiceSnapshot
358
+ } from "./chunk-B7NRY2LV.js";
359
+ import "./chunk-BSK6YBLI.js";
345
360
  import {
346
- BUNDLE_REPOSITORY_TOKEN,
347
- CATALOG_ENTRY_REPOSITORY_TOKEN,
348
- CATALOG_SERVICE_CONFIG_TOKEN,
349
- MARKETING_PROJECTION_REPOSITORY_TOKEN,
350
- MARKETING_SETTINGS_REPOSITORY_TOKEN,
351
- PLAN_REPOSITORY_TOKEN,
352
- PROMOTION_REPOSITORY_TOKEN
353
- } from "./chunk-L4KTQ6CL.js";
361
+ SUBSCRIPTION_CONTRACT_REPOSITORY_TOKEN
362
+ } from "./chunk-NYLON2VC.js";
354
363
  import {
355
364
  asProvider
356
365
  } from "./chunk-SABTXESR.js";
357
- import {
358
- DEFINES_QUOTA_KEY,
359
- DISCOVERY_SNAPSHOT_TOKEN,
360
- ENFORCE_QUOTA_KEY,
361
- IMPLEMENTS_CAPABILITY_KEY,
362
- REQUIRES_CAPABILITY_KEY
363
- } from "./chunk-L4SUWH5B.js";
364
366
  import "./chunk-SHUYVCID.js";
365
367
  export {
366
368
  ACTIVATION_ORCHESTRATOR_TOKEN,
@@ -426,6 +428,7 @@ export {
426
428
  EntitlementModule,
427
429
  EntitlementService,
428
430
  FEATURE_GUARD_CONFIG_TOKEN,
431
+ FEATURE_GUARD_MARKER,
429
432
  FEATURE_UI_REGISTRY_TOKEN,
430
433
  FeatureGuard,
431
434
  IMPLEMENTS_CAPABILITY_KEY,
@@ -644,6 +647,7 @@ export {
644
647
  isFeatureInPlan,
645
648
  isFeaturePlannedOnly,
646
649
  isLimitExceededError,
650
+ isPlatformFeatureGuard,
647
651
  isSaaSiCatPublicRoute,
648
652
  loadApprovedCatalogKeys,
649
653
  loadDiscoverySnapshotFromFile,
@@ -1,14 +1,16 @@
1
- import { p as PlanResolverPort } from '../saas-platform.module-HCDNZTiE.cjs';
2
- export { P as PLAN_RESOLVER_PORT_TOKEN, S as SaaSiCatModule, a as SaasPlatformAdapters, b as SaasPlatformAdminResourcesOptions, c as SaasPlatformAdminStatsOptions, d as SaasPlatformCatalogOptions, e as SaasPlatformCheckoutOfferOptions, S as SaasPlatformModule, f as SaasPlatformModuleOptions, g as SaasPlatformPromoCodesOptions, h as SaasPlatformSetupOptions, i as SaasPlatformSubscriptionBundlesOptions, j as SaasPlatformSubscriptionContractOptions, k as SaasPlatformTenantAuthGuards, l as SaasPlatformTenantBillingOptions, m as SetupModule, n as SetupModuleOptions, o as StaticPlanResolver, T as TenantManifestControllerOptions, q as buildTenantManifestController } from '../saas-platform.module-HCDNZTiE.cjs';
3
- export { a as SAASICAT_PUBLIC_ROUTE_KEY, d as SaaSiCatPublicRoute, S as SetupService, f as defineSaaSiCat, i as isSaaSiCatPublicRoute } from '../define-saasicat-ByPjtKPy.cjs';
1
+ import { p as PlanResolverPort } from '../saas-platform.module-CgalxzcT.cjs';
2
+ export { P as PLAN_RESOLVER_PORT_TOKEN, S as SaaSiCatModule, a as SaasPlatformAdapters, b as SaasPlatformAdminResourcesOptions, c as SaasPlatformAdminStatsOptions, d as SaasPlatformCatalogOptions, e as SaasPlatformCheckoutOfferOptions, S as SaasPlatformModule, f as SaasPlatformModuleOptions, g as SaasPlatformPromoCodesOptions, h as SaasPlatformSetupOptions, i as SaasPlatformSubscriptionBundlesOptions, j as SaasPlatformSubscriptionContractOptions, k as SaasPlatformTenantAuthGuards, l as SaasPlatformTenantBillingOptions, m as SetupModule, n as SetupModuleOptions, o as StaticPlanResolver, T as TenantManifestControllerOptions, q as buildTenantManifestController } from '../saas-platform.module-CgalxzcT.cjs';
3
+ export { a as SAASICAT_PUBLIC_ROUTE_KEY, d as SaaSiCatPublicRoute, S as SetupService, f as defineSaaSiCat, i as isSaaSiCatPublicRoute } from '../define-saasicat-D30I-WET.cjs';
4
4
  import { SubscriptionRepository, UsageSnapshotPort, QuotaProvider } from '@saasicat/types';
5
- import { S as StaticEntitlementService } from '../enforce-quota.interceptor-BrsU1UYJ.cjs';
6
- export { E as EnforceQuotaInterceptor, Q as QUOTA_PROVIDERS_TOKEN, b as STATIC_FEATURE_GUARD_CONFIG_TOKEN, c as StaticEntitlementSnapshot, a as StaticFeatureGuard, d as StaticFeatureGuardConfig } from '../enforce-quota.interceptor-BrsU1UYJ.cjs';
5
+ import { S as StaticEntitlementService } from '../enforce-quota.interceptor-DY6CLjoP.cjs';
6
+ export { E as EnforceQuotaInterceptor, Q as QUOTA_PROVIDERS_TOKEN, b as STATIC_FEATURE_GUARD_CONFIG_TOKEN, c as StaticEntitlementSnapshot, a as StaticFeatureGuard, d as StaticFeatureGuardConfig } from '../enforce-quota.interceptor-DY6CLjoP.cjs';
7
+ import { OnApplicationBootstrap } from '@nestjs/common';
8
+ import { DiscoveryService, MetadataScanner } from '@nestjs/core';
7
9
  export { A as AdminBypassRlsInterceptor, a as AdminManifestModule, b as AdminManifestModuleOptions, c as AdminManifestService, d as AdminModule, e as AdminModuleOptions, f as AdminStatsService, M as MfaGuard, h as MfaService, S as SuperAdminGuard } from '../admin-stats.service-HUZIU448.cjs';
8
10
  export { A as AdminAuditService } from '../admin-audit.service-9IqXMlZm.cjs';
9
11
  export { e as AdminResourcesService, f as AdminStatsModule, g as AdminStatsModuleOptions } from '../admin-resources.module-DGgGSdzN.cjs';
10
12
  export { c as EntitlementService } from '../aggregation-mZ7WZROK.cjs';
11
- export { d as ComposedTenantAuthGuard, P as PendingPlanMaterializationService, h as PlanChangePreviewService, r as SubscriptionBundlePreviewService, s as SubscriptionBundlesService, T as TenantAdminGuard, t as TenantBillingController } from '../tenant-billing.controller-DubP6-Md.cjs';
13
+ export { d as ComposedTenantAuthGuard, P as PendingPlanMaterializationService, h as PlanChangePreviewService, r as SubscriptionBundlePreviewService, s as SubscriptionBundlesService, T as TenantAdminGuard, t as TenantBillingController } from '../tenant-billing.controller-DHSUrT_N.cjs';
12
14
  export { B as BundlesService, C as CatalogEntriesService, M as MarketingProjectionsService, b as MarketingSettingsService, P as PlanVersionsService, c as PlansService, d as PromotionsService, e as PublicMarketingCatalogService } from '../plan-versions.service-_saKzb50.cjs';
13
15
  export { c as DiscoveryScanner } from '../discovery.scanner-DLgEvuoy.cjs';
14
16
  export { P as PromoCodeRateLimitGuard } from '../rate-limit.guard-dntqAlfZ.cjs';
@@ -17,13 +19,11 @@ export { a as CheckoutOfferModule, b as CheckoutOfferModuleOptions } from '../ch
17
19
  export { C as CheckoutOfferService } from '../checkout-offer.service-BX51dljL.cjs';
18
20
  export { S as SubscriptionContractModule, a as SubscriptionContractModuleOptions } from '../subscription-contract.module-B2uNvUJL.cjs';
19
21
  export { S as SubscriptionContractService } from '../subscription-contract.service--cm47ZJJ.cjs';
20
- import '@nestjs/common';
21
22
  import '../di-CcNeq9v-.cjs';
22
23
  import '../plan-resolution-CFCoUkrE.cjs';
23
24
  import '../module-CHMIyWlf.cjs';
24
25
  import '../catalog.module-D-_pQDNA.cjs';
25
- import '../subscription-bundles.module-DCpV-Pb5.cjs';
26
- import '@nestjs/core';
26
+ import '../subscription-bundles.module-Cfi-lFWF.cjs';
27
27
  import 'rxjs';
28
28
 
29
29
  /**
@@ -48,6 +48,24 @@ declare class QuotaProvidersUsageSnapshot implements UsageSnapshotPort {
48
48
  snapshot(tenantId: string): Promise<Record<string, number>>;
49
49
  }
50
50
 
51
+ declare class FeatureGuardCoverageCheck implements OnApplicationBootstrap {
52
+ private readonly discoveryService;
53
+ private readonly metadataScanner;
54
+ private readonly logger;
55
+ constructor(discoveryService: DiscoveryService, metadataScanner: MetadataScanner);
56
+ onApplicationBootstrap(): void;
57
+ /**
58
+ * Annotated handlers whose own guards and whose controller's guards contain
59
+ * no recognisable feature guard.
60
+ *
61
+ * Deliberately conservative in one direction only: an unrecognised wrapper
62
+ * is reported (and the message says so) rather than assumed safe, because
63
+ * the named route is cheap to check. The reverse — staying silent about a
64
+ * route with no guard at all — is the failure this exists to prevent.
65
+ */
66
+ private findUncoveredRoutes;
67
+ }
68
+
51
69
  interface TenantNavItem {
52
70
  /** Unique slug, e.g. "notes", "billing", "settings". */
53
71
  id: string;
@@ -101,4 +119,4 @@ declare class TenantManifestService {
101
119
  getManifest(tenantId: string): Promise<TenantManifest>;
102
120
  }
103
121
 
104
- export { PlanResolverPort, QuotaProvidersUsageSnapshot, StaticEntitlementService, SubscriptionPlanResolver, type TenantManifest, TenantManifestService, type TenantNavItem };
122
+ export { FeatureGuardCoverageCheck, PlanResolverPort, QuotaProvidersUsageSnapshot, StaticEntitlementService, SubscriptionPlanResolver, type TenantManifest, TenantManifestService, type TenantNavItem };
@@ -1,14 +1,16 @@
1
- import { p as PlanResolverPort } from '../saas-platform.module-DolE41YY.js';
2
- export { P as PLAN_RESOLVER_PORT_TOKEN, S as SaaSiCatModule, a as SaasPlatformAdapters, b as SaasPlatformAdminResourcesOptions, c as SaasPlatformAdminStatsOptions, d as SaasPlatformCatalogOptions, e as SaasPlatformCheckoutOfferOptions, S as SaasPlatformModule, f as SaasPlatformModuleOptions, g as SaasPlatformPromoCodesOptions, h as SaasPlatformSetupOptions, i as SaasPlatformSubscriptionBundlesOptions, j as SaasPlatformSubscriptionContractOptions, k as SaasPlatformTenantAuthGuards, l as SaasPlatformTenantBillingOptions, m as SetupModule, n as SetupModuleOptions, o as StaticPlanResolver, T as TenantManifestControllerOptions, q as buildTenantManifestController } from '../saas-platform.module-DolE41YY.js';
3
- export { a as SAASICAT_PUBLIC_ROUTE_KEY, d as SaaSiCatPublicRoute, S as SetupService, f as defineSaaSiCat, i as isSaaSiCatPublicRoute } from '../define-saasicat-C99hWAUK.js';
1
+ import { p as PlanResolverPort } from '../saas-platform.module-D1mUZPrz.js';
2
+ export { P as PLAN_RESOLVER_PORT_TOKEN, S as SaaSiCatModule, a as SaasPlatformAdapters, b as SaasPlatformAdminResourcesOptions, c as SaasPlatformAdminStatsOptions, d as SaasPlatformCatalogOptions, e as SaasPlatformCheckoutOfferOptions, S as SaasPlatformModule, f as SaasPlatformModuleOptions, g as SaasPlatformPromoCodesOptions, h as SaasPlatformSetupOptions, i as SaasPlatformSubscriptionBundlesOptions, j as SaasPlatformSubscriptionContractOptions, k as SaasPlatformTenantAuthGuards, l as SaasPlatformTenantBillingOptions, m as SetupModule, n as SetupModuleOptions, o as StaticPlanResolver, T as TenantManifestControllerOptions, q as buildTenantManifestController } from '../saas-platform.module-D1mUZPrz.js';
3
+ export { a as SAASICAT_PUBLIC_ROUTE_KEY, d as SaaSiCatPublicRoute, S as SetupService, f as defineSaaSiCat, i as isSaaSiCatPublicRoute } from '../define-saasicat-BK6RRWWG.js';
4
4
  import { SubscriptionRepository, UsageSnapshotPort, QuotaProvider } from '@saasicat/types';
5
- import { S as StaticEntitlementService } from '../enforce-quota.interceptor-reO-i71U.js';
6
- export { E as EnforceQuotaInterceptor, Q as QUOTA_PROVIDERS_TOKEN, b as STATIC_FEATURE_GUARD_CONFIG_TOKEN, c as StaticEntitlementSnapshot, a as StaticFeatureGuard, d as StaticFeatureGuardConfig } from '../enforce-quota.interceptor-reO-i71U.js';
5
+ import { S as StaticEntitlementService } from '../enforce-quota.interceptor-B9QueAFf.js';
6
+ export { E as EnforceQuotaInterceptor, Q as QUOTA_PROVIDERS_TOKEN, b as STATIC_FEATURE_GUARD_CONFIG_TOKEN, c as StaticEntitlementSnapshot, a as StaticFeatureGuard, d as StaticFeatureGuardConfig } from '../enforce-quota.interceptor-B9QueAFf.js';
7
+ import { OnApplicationBootstrap } from '@nestjs/common';
8
+ import { DiscoveryService, MetadataScanner } from '@nestjs/core';
7
9
  export { A as AdminBypassRlsInterceptor, a as AdminManifestModule, b as AdminManifestModuleOptions, c as AdminManifestService, d as AdminModule, e as AdminModuleOptions, f as AdminStatsService, M as MfaGuard, h as MfaService, S as SuperAdminGuard } from '../admin-stats.service-Db2exT_d.js';
8
10
  export { A as AdminAuditService } from '../admin-audit.service-9IqXMlZm.js';
9
11
  export { e as AdminResourcesService, f as AdminStatsModule, g as AdminStatsModuleOptions } from '../admin-resources.module-BY5r_1MG.js';
10
12
  export { c as EntitlementService } from '../aggregation-DP5zfKbU.js';
11
- export { d as ComposedTenantAuthGuard, P as PendingPlanMaterializationService, h as PlanChangePreviewService, r as SubscriptionBundlePreviewService, s as SubscriptionBundlesService, T as TenantAdminGuard, t as TenantBillingController } from '../tenant-billing.controller-7o4ObzGs.js';
13
+ export { d as ComposedTenantAuthGuard, P as PendingPlanMaterializationService, h as PlanChangePreviewService, r as SubscriptionBundlePreviewService, s as SubscriptionBundlesService, T as TenantAdminGuard, t as TenantBillingController } from '../tenant-billing.controller-BSlpFqVA.js';
12
14
  export { B as BundlesService, C as CatalogEntriesService, 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';
13
15
  export { c as DiscoveryScanner } from '../discovery.scanner-DLgEvuoy.js';
14
16
  export { P as PromoCodeRateLimitGuard } from '../rate-limit.guard-dntqAlfZ.js';
@@ -17,13 +19,11 @@ export { a as CheckoutOfferModule, b as CheckoutOfferModuleOptions } from '../ch
17
19
  export { C as CheckoutOfferService } from '../checkout-offer.service-BX51dljL.js';
18
20
  export { S as SubscriptionContractModule, a as SubscriptionContractModuleOptions } from '../subscription-contract.module-edyhBr4n.js';
19
21
  export { S as SubscriptionContractService } from '../subscription-contract.service--cm47ZJJ.js';
20
- import '@nestjs/common';
21
22
  import '../di-CcNeq9v-.js';
22
23
  import '../plan-resolution-CFCoUkrE.js';
23
24
  import '../module-BE17XFLg.js';
24
25
  import '../catalog.module-CQr1FpkI.js';
25
- import '../subscription-bundles.module-BQmoozm5.js';
26
- import '@nestjs/core';
26
+ import '../subscription-bundles.module-BDbODWvA.js';
27
27
  import 'rxjs';
28
28
 
29
29
  /**
@@ -48,6 +48,24 @@ declare class QuotaProvidersUsageSnapshot implements UsageSnapshotPort {
48
48
  snapshot(tenantId: string): Promise<Record<string, number>>;
49
49
  }
50
50
 
51
+ declare class FeatureGuardCoverageCheck implements OnApplicationBootstrap {
52
+ private readonly discoveryService;
53
+ private readonly metadataScanner;
54
+ private readonly logger;
55
+ constructor(discoveryService: DiscoveryService, metadataScanner: MetadataScanner);
56
+ onApplicationBootstrap(): void;
57
+ /**
58
+ * Annotated handlers whose own guards and whose controller's guards contain
59
+ * no recognisable feature guard.
60
+ *
61
+ * Deliberately conservative in one direction only: an unrecognised wrapper
62
+ * is reported (and the message says so) rather than assumed safe, because
63
+ * the named route is cheap to check. The reverse — staying silent about a
64
+ * route with no guard at all — is the failure this exists to prevent.
65
+ */
66
+ private findUncoveredRoutes;
67
+ }
68
+
51
69
  interface TenantNavItem {
52
70
  /** Unique slug, e.g. "notes", "billing", "settings". */
53
71
  id: string;
@@ -101,4 +119,4 @@ declare class TenantManifestService {
101
119
  getManifest(tenantId: string): Promise<TenantManifest>;
102
120
  }
103
121
 
104
- export { PlanResolverPort, QuotaProvidersUsageSnapshot, StaticEntitlementService, SubscriptionPlanResolver, type TenantManifest, TenantManifestService, type TenantNavItem };
122
+ export { FeatureGuardCoverageCheck, PlanResolverPort, QuotaProvidersUsageSnapshot, StaticEntitlementService, SubscriptionPlanResolver, type TenantManifest, TenantManifestService, type TenantNavItem };
@@ -1,8 +1,9 @@
1
1
  import {
2
2
  defineSaaSiCat
3
- } from "../chunk-EWPF57AG.js";
3
+ } from "../chunk-FY4EJTV4.js";
4
4
  import {
5
5
  EnforceQuotaInterceptor,
6
+ FeatureGuardCoverageCheck,
6
7
  PLAN_RESOLVER_PORT_TOKEN,
7
8
  QUOTA_PROVIDERS_TOKEN,
8
9
  QuotaProvidersUsageSnapshot,
@@ -16,22 +17,7 @@ import {
16
17
  SubscriptionPlanResolver,
17
18
  TenantManifestService,
18
19
  buildTenantManifestController
19
- } from "../chunk-UFS344JD.js";
20
- import {
21
- PromoCodeRateLimitGuard
22
- } from "../chunk-4O6R6ARQ.js";
23
- import {
24
- AdminBypassRlsInterceptor,
25
- AdminManifestModule,
26
- AdminManifestService,
27
- AdminModule,
28
- AdminResourcesService,
29
- AdminStatsModule,
30
- AdminStatsService,
31
- MfaGuard,
32
- MfaService,
33
- SuperAdminGuard
34
- } from "../chunk-SN5UOC43.js";
20
+ } from "../chunk-FPEQPHJE.js";
35
21
  import {
36
22
  ComposedTenantAuthGuard,
37
23
  PendingPlanMaterializationService,
@@ -40,14 +26,11 @@ import {
40
26
  SubscriptionBundlesService,
41
27
  TenantAdminGuard,
42
28
  TenantBillingController
43
- } from "../chunk-UO64MK3Q.js";
44
- import {
45
- PromoCodesService
46
- } from "../chunk-VQQWF7MW.js";
29
+ } from "../chunk-4BSSMDLL.js";
47
30
  import {
48
- SubscriptionContractModule,
49
- SubscriptionContractService
50
- } from "../chunk-B7NRY2LV.js";
31
+ CheckoutOfferModule,
32
+ CheckoutOfferService
33
+ } from "../chunk-ES5AN53A.js";
51
34
  import {
52
35
  BundlesService,
53
36
  CatalogEntriesService,
@@ -57,35 +40,53 @@ import {
57
40
  PlansService,
58
41
  PromotionsService,
59
42
  PublicMarketingCatalogService
60
- } from "../chunk-7X5MSAIL.js";
43
+ } from "../chunk-QB7MICKQ.js";
61
44
  import "../chunk-WPUVJRIN.js";
45
+ import {
46
+ AdminBypassRlsInterceptor,
47
+ AdminManifestModule,
48
+ AdminManifestService,
49
+ AdminModule,
50
+ AdminResourcesService,
51
+ AdminStatsModule,
52
+ AdminStatsService,
53
+ MfaGuard,
54
+ MfaService,
55
+ SuperAdminGuard
56
+ } from "../chunk-SN5UOC43.js";
57
+ import "../chunk-6WL6VQ7Z.js";
58
+ import {
59
+ DiscoveryScanner
60
+ } from "../chunk-5ZXBXYXU.js";
61
+ import {
62
+ EntitlementService
63
+ } from "../chunk-NXD7763W.js";
64
+ import "../chunk-WKVBNTYC.js";
65
+ import "../chunk-L4KTQ6CL.js";
66
+ import "../chunk-L4SUWH5B.js";
67
+ import {
68
+ PromoCodeRateLimitGuard
69
+ } from "../chunk-4O6R6ARQ.js";
70
+ import {
71
+ PromoCodesService
72
+ } from "../chunk-VQQWF7MW.js";
62
73
  import {
63
74
  AdminAuditService
64
75
  } from "../chunk-E56W4U2P.js";
65
- import {
66
- CheckoutOfferModule,
67
- CheckoutOfferService
68
- } from "../chunk-XTVAFJ3P.js";
69
- import "../chunk-BSK6YBLI.js";
70
76
  import {
71
77
  SAASICAT_PUBLIC_ROUTE_KEY,
72
78
  SaaSiCatPublicRoute,
73
79
  isSaaSiCatPublicRoute
74
80
  } from "../chunk-YSC46BGM.js";
75
- import "../chunk-6WL6VQ7Z.js";
76
- import {
77
- DiscoveryScanner
78
- } from "../chunk-5ZXBXYXU.js";
79
- import {
80
- EntitlementService
81
- } from "../chunk-NNNXXUPT.js";
82
81
  import "../chunk-DQKCK7DX.js";
83
- import "../chunk-NYLON2VC.js";
84
82
  import "../chunk-EBJJNTW6.js";
85
- import "../chunk-WKVBNTYC.js";
86
- import "../chunk-L4KTQ6CL.js";
83
+ import {
84
+ SubscriptionContractModule,
85
+ SubscriptionContractService
86
+ } from "../chunk-B7NRY2LV.js";
87
+ import "../chunk-BSK6YBLI.js";
88
+ import "../chunk-NYLON2VC.js";
87
89
  import "../chunk-SABTXESR.js";
88
- import "../chunk-L4SUWH5B.js";
89
90
  import "../chunk-SHUYVCID.js";
90
91
  export {
91
92
  AdminAuditService,
@@ -104,6 +105,7 @@ export {
104
105
  DiscoveryScanner,
105
106
  EnforceQuotaInterceptor,
106
107
  EntitlementService,
108
+ FeatureGuardCoverageCheck,
107
109
  MarketingProjectionsService,
108
110
  MarketingSettingsService,
109
111
  MfaGuard,
@@ -8,7 +8,7 @@ import { a as PromoCodesModuleOptions } from './module-CHMIyWlf.cjs';
8
8
  import { b as DiscoveryAppInfo } from './discovery.scanner-DLgEvuoy.cjs';
9
9
  import { b as CatalogModuleOptions } from './catalog.module-D-_pQDNA.cjs';
10
10
  import { b as CheckoutOfferModuleOptions } from './checkout-offer.module-DmlpPevf.cjs';
11
- import { t as TenantBillingModuleOptions, p as SubscriptionBundleModuleOptions, n as SubscriptionBundleControllerOptions } from './subscription-bundles.module-DCpV-Pb5.cjs';
11
+ import { t as TenantBillingModuleOptions, p as SubscriptionBundleModuleOptions, n as SubscriptionBundleControllerOptions } from './subscription-bundles.module-Cfi-lFWF.cjs';
12
12
 
13
13
  interface SetupModuleOptions {
14
14
  /**