@saasicat/nest 0.14.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/_entries.cjs +1464 -1334
  2. package/dist/admin/index.d.cts +8 -6
  3. package/dist/admin/index.d.ts +8 -6
  4. package/dist/admin/index.js +13 -12
  5. package/dist/{admin-resources.module-Cms8MY6h.d.ts → admin-resources.module-BY5r_1MG.d.ts} +29 -3
  6. package/dist/{admin-resources.module-BZN_yBFj.d.cts → admin-resources.module-DGgGSdzN.d.cts} +29 -3
  7. package/dist/{admin-stats.module-15ac5KY3.d.ts → admin-stats.service-Db2exT_d.d.ts} +2 -23
  8. package/dist/{admin-stats.module-v4SVvWzj.d.cts → admin-stats.service-HUZIU448.d.cts} +2 -23
  9. package/dist/billing/index.d.cts +1 -1
  10. package/dist/billing/index.d.ts +1 -1
  11. package/dist/billing/index.js +3 -2
  12. package/dist/catalog/index.js +3 -2
  13. package/dist/checkout-offer/index.d.cts +2 -1
  14. package/dist/checkout-offer/index.d.ts +2 -1
  15. package/dist/checkout-offer/index.js +2 -1
  16. package/dist/checkout-offer.module-Ca3_TieR.d.ts +39 -0
  17. package/dist/checkout-offer.module-DmlpPevf.d.cts +39 -0
  18. package/dist/{checkout-offer.module-Y0hDOVrq.d.ts → checkout-offer.service-BX51dljL.d.cts} +1 -37
  19. package/dist/{checkout-offer.module-ZYF5IsDY.d.cts → checkout-offer.service-BX51dljL.d.ts} +1 -37
  20. package/dist/{chunk-2PNX2QL2.js → chunk-32EMXPU2.js} +1 -0
  21. package/dist/{chunk-RKVY775D.js → chunk-5KH2O4SF.js} +5 -1
  22. package/dist/{chunk-TXDH4FUA.js → chunk-7RRWI5LH.js} +1 -1
  23. package/dist/chunk-EWPF57AG.js +13 -0
  24. package/dist/{chunk-HBFU5AN3.js → chunk-GJBXOCRZ.js} +4 -0
  25. package/dist/{chunk-IRWZC3GC.js → chunk-GLLCB4BP.js} +4 -0
  26. package/dist/{chunk-33TP26MR.js → chunk-P3DP6GJE.js} +4 -0
  27. package/dist/{chunk-FVT7KTUI.js → chunk-PLJEAUFU.js} +275 -61
  28. package/dist/{chunk-I2EKGQUG.js → chunk-YITTE646.js} +462 -82
  29. package/dist/chunk-YSC46BGM.js +21 -0
  30. package/dist/define-saasicat-CeDBX9ji.d.cts +46 -0
  31. package/dist/define-saasicat-Rc0rXrYG.d.ts +46 -0
  32. package/dist/enforce-quota.interceptor-CmbWX39L.d.ts +60 -0
  33. package/dist/enforce-quota.interceptor-DMw-bPyk.d.cts +60 -0
  34. package/dist/index.d.cts +11 -9
  35. package/dist/index.d.ts +11 -9
  36. package/dist/index.js +33 -18
  37. package/dist/platform/index.d.cts +12 -16
  38. package/dist/platform/index.d.ts +12 -16
  39. package/dist/platform/index.js +24 -25
  40. package/dist/promo/index.js +2 -1
  41. package/dist/{enforce-quota.interceptor-Dse3jSpU.d.cts → saas-platform.module-D3rUTiho.d.cts} +69 -62
  42. package/dist/{enforce-quota.interceptor-DMEvL-bE.d.ts → saas-platform.module-DLhoqKNA.d.ts} +69 -62
  43. package/dist/subscription-contract/index.d.cts +1 -1
  44. package/dist/subscription-contract/index.d.ts +1 -1
  45. package/dist/subscription-contract/index.js +1 -1
  46. package/dist/{subscription-contract.module-CG9fPKAr.d.cts → subscription-contract.module-B2uNvUJL.d.cts} +3 -1
  47. package/dist/{subscription-contract.module-CVebZzHR.d.ts → subscription-contract.module-edyhBr4n.d.ts} +3 -1
  48. package/dist/{subscription-bundle-preview.service-BgQ776mv.d.ts → tenant-billing.controller-BwZRnJ3q.d.ts} +105 -105
  49. package/dist/{subscription-bundle-preview.service-B4Ye8L2F.d.cts → tenant-billing.controller-CG4CaFUP.d.cts} +105 -105
  50. package/dist/testing/index.d.cts +6 -3
  51. package/dist/testing/index.d.ts +6 -3
  52. package/dist/testing/index.js +8 -6
  53. package/package.json +3 -3
  54. package/dist/chunk-LZHLGUQI.js +0 -190
  55. package/dist/chunk-WJ6BMDL3.js +0 -313
  56. package/dist/setup.service-BPwJ7My_.d.cts +0 -45
  57. package/dist/setup.service-D2mrdDDB.d.ts +0 -45
@@ -1,10 +1,10 @@
1
- import { h as AdminStatsService, i as AdminStatsSnapshot } from '../admin-stats.module-v4SVvWzj.cjs';
2
- export { A as AdminBypassRlsInterceptor, a as AdminManifestModule, b as AdminManifestModuleOptions, c as AdminManifestService, d as AdminModule, e as AdminModuleOptions, f as AdminStatsModule, g as AdminStatsModuleOptions, M as MfaGuard, j as MfaService, P as PLATFORM_CORE_CONTRIBUTION_TOKEN, R as REQUIRE_MFA_KEY, k as RequireMfa, S as SuperAdminGuard, T as TotpSetupResult, V as VerifyTotpInput } from '../admin-stats.module-v4SVvWzj.cjs';
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
3
  export { A as AdminAuditService } from '../admin-audit.service-9IqXMlZm.cjs';
4
- import { b as AdminManifestConfig } from '../admin-resources.module-BZN_yBFj.cjs';
5
- export { A as ADMIN_MANIFEST_CONFIG, a as ADMIN_RESOURCES_PORT_TOKEN, c as AdminResourcesModule, d as AdminResourcesModuleOptions, e as AdminResourcesService, S as SuspendTenantDto } from '../admin-resources.module-BZN_yBFj.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
6
  import { PublicBootResponse, ManifestContribution } from '@saasicat/types';
7
- import '@nestjs/common';
7
+ import { Type, CanActivate } from '@nestjs/common';
8
8
  import '@nestjs/core';
9
9
  import 'rxjs';
10
10
  import '../di-CcNeq9v-.cjs';
@@ -32,5 +32,7 @@ declare class AdminStatsController {
32
32
  constructor(stats: AdminStatsService);
33
33
  getDashboardSnapshot(): Promise<AdminStatsSnapshot>;
34
34
  }
35
+ /** Builds the stats controller with an explicit, ordered authentication chain. */
36
+ declare function buildAdminStatsController(guards: Array<Type<CanActivate>>): Type;
35
37
 
36
- export { ADMIN_STATS_AUDIT_WINDOW_DAYS_TOKEN, AUDIT_PORT_TOKEN, AUDIT_STATS_PORT_TOKEN, AdminManifestConfig, AdminPublicBootController, AdminStatsController, AdminStatsService, AdminStatsSnapshot, MFA_PORT_TOKEN, PLATFORM_CORE_MANIFEST_CONTRIBUTION, PROMO_CODE_STATS_PORT_TOKEN, RLS_BYPASS_PORT_TOKEN, SUBSCRIPTION_STATS_PORT_TOKEN };
38
+ export { ADMIN_STATS_AUDIT_WINDOW_DAYS_TOKEN, AUDIT_PORT_TOKEN, AUDIT_STATS_PORT_TOKEN, AdminManifestConfig, AdminPublicBootController, AdminStatsController, AdminStatsService, AdminStatsSnapshot, MFA_PORT_TOKEN, PLATFORM_CORE_MANIFEST_CONTRIBUTION, PROMO_CODE_STATS_PORT_TOKEN, RLS_BYPASS_PORT_TOKEN, SUBSCRIPTION_STATS_PORT_TOKEN, buildAdminStatsController };
@@ -1,10 +1,10 @@
1
- import { h as AdminStatsService, i as AdminStatsSnapshot } from '../admin-stats.module-15ac5KY3.js';
2
- export { A as AdminBypassRlsInterceptor, a as AdminManifestModule, b as AdminManifestModuleOptions, c as AdminManifestService, d as AdminModule, e as AdminModuleOptions, f as AdminStatsModule, g as AdminStatsModuleOptions, M as MfaGuard, j as MfaService, P as PLATFORM_CORE_CONTRIBUTION_TOKEN, R as REQUIRE_MFA_KEY, k as RequireMfa, S as SuperAdminGuard, T as TotpSetupResult, V as VerifyTotpInput } from '../admin-stats.module-15ac5KY3.js';
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
3
  export { A as AdminAuditService } from '../admin-audit.service-9IqXMlZm.js';
4
- import { b as AdminManifestConfig } from '../admin-resources.module-Cms8MY6h.js';
5
- export { A as ADMIN_MANIFEST_CONFIG, a as ADMIN_RESOURCES_PORT_TOKEN, c as AdminResourcesModule, d as AdminResourcesModuleOptions, e as AdminResourcesService, S as SuspendTenantDto } from '../admin-resources.module-Cms8MY6h.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
6
  import { PublicBootResponse, ManifestContribution } from '@saasicat/types';
7
- import '@nestjs/common';
7
+ import { Type, CanActivate } from '@nestjs/common';
8
8
  import '@nestjs/core';
9
9
  import 'rxjs';
10
10
  import '../di-CcNeq9v-.js';
@@ -32,5 +32,7 @@ declare class AdminStatsController {
32
32
  constructor(stats: AdminStatsService);
33
33
  getDashboardSnapshot(): Promise<AdminStatsSnapshot>;
34
34
  }
35
+ /** Builds the stats controller with an explicit, ordered authentication chain. */
36
+ declare function buildAdminStatsController(guards: Array<Type<CanActivate>>): Type;
35
37
 
36
- export { ADMIN_STATS_AUDIT_WINDOW_DAYS_TOKEN, AUDIT_PORT_TOKEN, AUDIT_STATS_PORT_TOKEN, AdminManifestConfig, AdminPublicBootController, AdminStatsController, AdminStatsService, AdminStatsSnapshot, MFA_PORT_TOKEN, PLATFORM_CORE_MANIFEST_CONTRIBUTION, PROMO_CODE_STATS_PORT_TOKEN, RLS_BYPASS_PORT_TOKEN, SUBSCRIPTION_STATS_PORT_TOKEN };
38
+ export { ADMIN_STATS_AUDIT_WINDOW_DAYS_TOKEN, AUDIT_PORT_TOKEN, AUDIT_STATS_PORT_TOKEN, AdminManifestConfig, AdminPublicBootController, AdminStatsController, AdminStatsService, AdminStatsSnapshot, MFA_PORT_TOKEN, PLATFORM_CORE_MANIFEST_CONTRIBUTION, PROMO_CODE_STATS_PORT_TOKEN, RLS_BYPASS_PORT_TOKEN, SUBSCRIPTION_STATS_PORT_TOKEN, buildAdminStatsController };
@@ -1,16 +1,9 @@
1
1
  import "../chunk-UF53DWWR.js";
2
- import {
3
- ADMIN_STATS_AUDIT_WINDOW_DAYS_TOKEN,
4
- AUDIT_STATS_PORT_TOKEN,
5
- AdminStatsController,
6
- AdminStatsModule,
7
- AdminStatsService,
8
- PROMO_CODE_STATS_PORT_TOKEN,
9
- SUBSCRIPTION_STATS_PORT_TOKEN
10
- } from "../chunk-LZHLGUQI.js";
11
2
  import {
12
3
  ADMIN_MANIFEST_CONFIG,
13
4
  ADMIN_RESOURCES_PORT_TOKEN,
5
+ ADMIN_STATS_AUDIT_WINDOW_DAYS_TOKEN,
6
+ AUDIT_STATS_PORT_TOKEN,
14
7
  AdminBypassRlsInterceptor,
15
8
  AdminManifestModule,
16
9
  AdminManifestService,
@@ -18,21 +11,28 @@ import {
18
11
  AdminPublicBootController,
19
12
  AdminResourcesModule,
20
13
  AdminResourcesService,
14
+ AdminStatsController,
15
+ AdminStatsModule,
16
+ AdminStatsService,
21
17
  MfaGuard,
22
18
  MfaService,
23
19
  PLATFORM_CORE_CONTRIBUTION_TOKEN,
24
20
  PLATFORM_CORE_MANIFEST_CONTRIBUTION,
21
+ PROMO_CODE_STATS_PORT_TOKEN,
25
22
  REQUIRE_MFA_KEY,
26
23
  RequireMfa,
24
+ SUBSCRIPTION_STATS_PORT_TOKEN,
27
25
  SuperAdminGuard,
28
- SuspendTenantDto
29
- } from "../chunk-FVT7KTUI.js";
26
+ SuspendTenantDto,
27
+ buildAdminStatsController
28
+ } from "../chunk-PLJEAUFU.js";
30
29
  import {
31
30
  AUDIT_PORT_TOKEN,
32
31
  AdminAuditService,
33
32
  MFA_PORT_TOKEN,
34
33
  RLS_BYPASS_PORT_TOKEN
35
34
  } from "../chunk-E56W4U2P.js";
35
+ import "../chunk-YSC46BGM.js";
36
36
  import "../chunk-SABTXESR.js";
37
37
  import "../chunk-SHUYVCID.js";
38
38
  export {
@@ -63,5 +63,6 @@ export {
63
63
  RequireMfa,
64
64
  SUBSCRIPTION_STATS_PORT_TOKEN,
65
65
  SuperAdminGuard,
66
- SuspendTenantDto
66
+ SuspendTenantDto,
67
+ buildAdminStatsController
67
68
  };
@@ -1,5 +1,5 @@
1
- import { AdminManifest, AdminResourcesPort, AdminTenantListFilter, AdminTenantListRow, AdminTenantDetail, AdminUserListFilter, AdminUserListRow, AdminAuditListFilter, AuditEntry, AdminSubscriptionListRow, AdminActor, AdminTenantStateResult } from '@saasicat/types';
2
- import { Type, CanActivate, DynamicModule, ForwardReference } from '@nestjs/common';
1
+ import { AdminManifest, SubscriptionStatsPort, PromoCodeStatsPort, AuditStatsPort, AdminResourcesPort, AdminTenantListFilter, AdminTenantListRow, AdminTenantDetail, AdminUserListFilter, AdminUserListRow, AdminAuditListFilter, AuditEntry, AdminSubscriptionListRow, AdminActor, AdminTenantStateResult } from '@saasicat/types';
2
+ import { Type, DynamicModule, ForwardReference, Provider, CanActivate } from '@nestjs/common';
3
3
  import { P as ProviderSpec } from './di-CcNeq9v-.js';
4
4
  import { A as AdminAuditService } from './admin-audit.service-9IqXMlZm.js';
5
5
 
@@ -10,6 +10,32 @@ interface AdminManifestConfig {
10
10
  planCatalogSnapshot: AdminManifest['planCatalogSnapshot'];
11
11
  }
12
12
 
13
+ interface AdminStatsModuleOptions {
14
+ subscriptionStatsPort: ProviderSpec<SubscriptionStatsPort>;
15
+ promoCodeStatsPort: ProviderSpec<PromoCodeStatsPort>;
16
+ auditStatsPort: ProviderSpec<AuditStatsPort>;
17
+ /** Audit window in days for the "last N days" KPI. Default 7. */
18
+ auditWindowDays?: number;
19
+ /**
20
+ * Modules whose providers must be visible in the DI scope of this
21
+ * DynamicModule — e.g. the app module that registers the adapter classes
22
+ * referenced by the factory `inject` lists.
23
+ */
24
+ imports?: Array<Type<unknown> | DynamicModule | Promise<DynamicModule> | ForwardReference>;
25
+ /** Additional providers registered in the DynamicModule itself. */
26
+ extraProviders?: Provider[];
27
+ /**
28
+ * Complete ordered guard chain for the dashboard endpoint. When omitted,
29
+ * the backwards-compatible default is `SuperAdminGuard` only.
30
+ */
31
+ guards?: Array<Type<CanActivate>>;
32
+ /** Register the module globally — default `false`. */
33
+ global?: boolean;
34
+ }
35
+ declare class AdminStatsModule {
36
+ static forRoot(options: AdminStatsModuleOptions): DynamicModule;
37
+ }
38
+
13
39
  declare const ADMIN_RESOURCES_PORT_TOKEN: unique symbol;
14
40
  declare class SuspendTenantDto {
15
41
  reason?: string;
@@ -37,4 +63,4 @@ declare class AdminResourcesModule {
37
63
  static forRoot(options: AdminResourcesModuleOptions): DynamicModule;
38
64
  }
39
65
 
40
- export { ADMIN_MANIFEST_CONFIG as A, SuspendTenantDto as S, ADMIN_RESOURCES_PORT_TOKEN as a, type AdminManifestConfig as b, AdminResourcesModule as c, type AdminResourcesModuleOptions as d, AdminResourcesService as e };
66
+ export { ADMIN_MANIFEST_CONFIG as A, SuspendTenantDto as S, ADMIN_RESOURCES_PORT_TOKEN as a, type AdminManifestConfig as b, AdminResourcesModule as c, type AdminResourcesModuleOptions as d, AdminResourcesService as e, AdminStatsModule as f, type AdminStatsModuleOptions as g };
@@ -1,5 +1,5 @@
1
- import { AdminManifest, AdminResourcesPort, AdminTenantListFilter, AdminTenantListRow, AdminTenantDetail, AdminUserListFilter, AdminUserListRow, AdminAuditListFilter, AuditEntry, AdminSubscriptionListRow, AdminActor, AdminTenantStateResult } from '@saasicat/types';
2
- import { Type, CanActivate, DynamicModule, ForwardReference } from '@nestjs/common';
1
+ import { AdminManifest, SubscriptionStatsPort, PromoCodeStatsPort, AuditStatsPort, AdminResourcesPort, AdminTenantListFilter, AdminTenantListRow, AdminTenantDetail, AdminUserListFilter, AdminUserListRow, AdminAuditListFilter, AuditEntry, AdminSubscriptionListRow, AdminActor, AdminTenantStateResult } from '@saasicat/types';
2
+ import { Type, DynamicModule, ForwardReference, Provider, CanActivate } from '@nestjs/common';
3
3
  import { P as ProviderSpec } from './di-CcNeq9v-.cjs';
4
4
  import { A as AdminAuditService } from './admin-audit.service-9IqXMlZm.cjs';
5
5
 
@@ -10,6 +10,32 @@ interface AdminManifestConfig {
10
10
  planCatalogSnapshot: AdminManifest['planCatalogSnapshot'];
11
11
  }
12
12
 
13
+ interface AdminStatsModuleOptions {
14
+ subscriptionStatsPort: ProviderSpec<SubscriptionStatsPort>;
15
+ promoCodeStatsPort: ProviderSpec<PromoCodeStatsPort>;
16
+ auditStatsPort: ProviderSpec<AuditStatsPort>;
17
+ /** Audit window in days for the "last N days" KPI. Default 7. */
18
+ auditWindowDays?: number;
19
+ /**
20
+ * Modules whose providers must be visible in the DI scope of this
21
+ * DynamicModule — e.g. the app module that registers the adapter classes
22
+ * referenced by the factory `inject` lists.
23
+ */
24
+ imports?: Array<Type<unknown> | DynamicModule | Promise<DynamicModule> | ForwardReference>;
25
+ /** Additional providers registered in the DynamicModule itself. */
26
+ extraProviders?: Provider[];
27
+ /**
28
+ * Complete ordered guard chain for the dashboard endpoint. When omitted,
29
+ * the backwards-compatible default is `SuperAdminGuard` only.
30
+ */
31
+ guards?: Array<Type<CanActivate>>;
32
+ /** Register the module globally — default `false`. */
33
+ global?: boolean;
34
+ }
35
+ declare class AdminStatsModule {
36
+ static forRoot(options: AdminStatsModuleOptions): DynamicModule;
37
+ }
38
+
13
39
  declare const ADMIN_RESOURCES_PORT_TOKEN: unique symbol;
14
40
  declare class SuspendTenantDto {
15
41
  reason?: string;
@@ -37,4 +63,4 @@ declare class AdminResourcesModule {
37
63
  static forRoot(options: AdminResourcesModuleOptions): DynamicModule;
38
64
  }
39
65
 
40
- export { ADMIN_MANIFEST_CONFIG as A, SuspendTenantDto as S, ADMIN_RESOURCES_PORT_TOKEN as a, type AdminManifestConfig as b, AdminResourcesModule as c, type AdminResourcesModuleOptions as d, AdminResourcesService as e };
66
+ export { ADMIN_MANIFEST_CONFIG as A, SuspendTenantDto as S, ADMIN_RESOURCES_PORT_TOKEN as a, type AdminManifestConfig as b, AdminResourcesModule as c, type AdminResourcesModuleOptions as d, AdminResourcesService as e, AdminStatsModule as f, type AdminStatsModuleOptions as g };
@@ -3,7 +3,7 @@ import { Reflector } from '@nestjs/core';
3
3
  import { MfaPort, RlsBypassPort, AuditPort, ManifestContribution, AdminManifest, SubscriptionStatsPort, PromoCodeStatsPort, AuditStatsPort, SubscriptionStatsSnapshot, PromoCodeStatsSnapshot, AuditStatsSnapshot } from '@saasicat/types';
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-Cms8MY6h.js';
6
+ import { b as AdminManifestConfig } from './admin-resources.module-BY5r_1MG.js';
7
7
 
8
8
  declare class SuperAdminGuard implements CanActivate {
9
9
  canActivate(context: ExecutionContext): boolean;
@@ -177,25 +177,4 @@ declare class AdminStatsService {
177
177
  getSnapshot(): Promise<AdminStatsSnapshot>;
178
178
  }
179
179
 
180
- interface AdminStatsModuleOptions {
181
- subscriptionStatsPort: ProviderSpec<SubscriptionStatsPort>;
182
- promoCodeStatsPort: ProviderSpec<PromoCodeStatsPort>;
183
- auditStatsPort: ProviderSpec<AuditStatsPort>;
184
- /** Audit window in days for the "last N days" KPI. Default 7. */
185
- auditWindowDays?: number;
186
- /**
187
- * Modules whose providers must be visible in the DI scope of this
188
- * DynamicModule — e.g. the app module that registers the adapter classes
189
- * referenced by the factory `inject` lists.
190
- */
191
- imports?: Array<Type<unknown> | DynamicModule | Promise<DynamicModule> | ForwardReference>;
192
- /** Additional providers registered in the DynamicModule itself. */
193
- extraProviders?: Provider[];
194
- /** Register the module globally — default `false`. */
195
- global?: boolean;
196
- }
197
- declare class AdminStatsModule {
198
- static forRoot(options: AdminStatsModuleOptions): DynamicModule;
199
- }
200
-
201
- export { AdminBypassRlsInterceptor as A, MfaGuard as M, PLATFORM_CORE_CONTRIBUTION_TOKEN as P, REQUIRE_MFA_KEY as R, SuperAdminGuard as S, type TotpSetupResult as T, type VerifyTotpInput as V, AdminManifestModule as a, type AdminManifestModuleOptions as b, AdminManifestService as c, AdminModule as d, type AdminModuleOptions as e, AdminStatsModule as f, type AdminStatsModuleOptions as g, AdminStatsService as h, type AdminStatsSnapshot as i, MfaService as j, RequireMfa as k };
180
+ export { AdminBypassRlsInterceptor as A, MfaGuard as M, PLATFORM_CORE_CONTRIBUTION_TOKEN as P, REQUIRE_MFA_KEY as R, SuperAdminGuard as S, type TotpSetupResult as T, type VerifyTotpInput as V, AdminManifestModule as a, type AdminManifestModuleOptions as b, AdminManifestService as c, AdminModule as d, type AdminModuleOptions as e, AdminStatsService as f, type AdminStatsSnapshot as g, MfaService as h, RequireMfa as i };
@@ -3,7 +3,7 @@ import { Reflector } from '@nestjs/core';
3
3
  import { MfaPort, RlsBypassPort, AuditPort, ManifestContribution, AdminManifest, SubscriptionStatsPort, PromoCodeStatsPort, AuditStatsPort, SubscriptionStatsSnapshot, PromoCodeStatsSnapshot, AuditStatsSnapshot } from '@saasicat/types';
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-BZN_yBFj.cjs';
6
+ import { b as AdminManifestConfig } from './admin-resources.module-DGgGSdzN.cjs';
7
7
 
8
8
  declare class SuperAdminGuard implements CanActivate {
9
9
  canActivate(context: ExecutionContext): boolean;
@@ -177,25 +177,4 @@ declare class AdminStatsService {
177
177
  getSnapshot(): Promise<AdminStatsSnapshot>;
178
178
  }
179
179
 
180
- interface AdminStatsModuleOptions {
181
- subscriptionStatsPort: ProviderSpec<SubscriptionStatsPort>;
182
- promoCodeStatsPort: ProviderSpec<PromoCodeStatsPort>;
183
- auditStatsPort: ProviderSpec<AuditStatsPort>;
184
- /** Audit window in days for the "last N days" KPI. Default 7. */
185
- auditWindowDays?: number;
186
- /**
187
- * Modules whose providers must be visible in the DI scope of this
188
- * DynamicModule — e.g. the app module that registers the adapter classes
189
- * referenced by the factory `inject` lists.
190
- */
191
- imports?: Array<Type<unknown> | DynamicModule | Promise<DynamicModule> | ForwardReference>;
192
- /** Additional providers registered in the DynamicModule itself. */
193
- extraProviders?: Provider[];
194
- /** Register the module globally — default `false`. */
195
- global?: boolean;
196
- }
197
- declare class AdminStatsModule {
198
- static forRoot(options: AdminStatsModuleOptions): DynamicModule;
199
- }
200
-
201
- export { AdminBypassRlsInterceptor as A, MfaGuard as M, PLATFORM_CORE_CONTRIBUTION_TOKEN as P, REQUIRE_MFA_KEY as R, SuperAdminGuard as S, type TotpSetupResult as T, type VerifyTotpInput as V, AdminManifestModule as a, type AdminManifestModuleOptions as b, AdminManifestService as c, AdminModule as d, type AdminModuleOptions as e, AdminStatsModule as f, type AdminStatsModuleOptions as g, AdminStatsService as h, type AdminStatsSnapshot as i, MfaService as j, RequireMfa as k };
180
+ export { AdminBypassRlsInterceptor as A, MfaGuard as M, PLATFORM_CORE_CONTRIBUTION_TOKEN as P, REQUIRE_MFA_KEY as R, SuperAdminGuard as S, type TotpSetupResult as T, type VerifyTotpInput as V, AdminManifestModule as a, type AdminManifestModuleOptions as b, AdminManifestService as c, AdminModule as d, type AdminModuleOptions as e, AdminStatsService as f, type AdminStatsSnapshot as g, MfaService as h, RequireMfa as i };
@@ -8,7 +8,7 @@ import { c as EntitlementService } from '../aggregation-SKfXu09x.cjs';
8
8
  import { P as ProviderSpec } from '../di-CcNeq9v-.cjs';
9
9
  import { f as ContractFreezePort, g as ContractFreezeSourcePort } from '../subscription-bundles.module-DCpV-Pb5.cjs';
10
10
  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, 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 } from '../subscription-bundles.module-DCpV-Pb5.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 '../subscription-bundle-preview.service-B4Ye8L2F.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-CG4CaFUP.cjs';
12
12
  import { S as SubscriptionContractService } from '../subscription-contract.service--cm47ZJJ.cjs';
13
13
  import '../plan-resolution-CFCoUkrE.cjs';
14
14
  import '../service-DX8KbGXl.cjs';
@@ -8,7 +8,7 @@ import { c as EntitlementService } from '../aggregation-o0LMenvl.js';
8
8
  import { P as ProviderSpec } from '../di-CcNeq9v-.js';
9
9
  import { f as ContractFreezePort, g as ContractFreezeSourcePort } from '../subscription-bundles.module-BQmoozm5.js';
10
10
  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, 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 } from '../subscription-bundles.module-BQmoozm5.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 '../subscription-bundle-preview.service-BgQ776mv.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-BwZRnJ3q.js';
12
12
  import { S as SubscriptionContractService } from '../subscription-contract.service--cm47ZJJ.js';
13
13
  import '../plan-resolution-CFCoUkrE.js';
14
14
  import '../service-DX8KbGXl.js';
@@ -58,9 +58,9 @@ import {
58
58
  periodEndWithMinLead,
59
59
  resolveBundleCancelEffectiveAt,
60
60
  resolveBundlePriceNet
61
- } from "../chunk-RKVY775D.js";
61
+ } from "../chunk-5KH2O4SF.js";
62
62
  import "../chunk-E7AJ42AB.js";
63
- import "../chunk-2PNX2QL2.js";
63
+ import "../chunk-32EMXPU2.js";
64
64
  import {
65
65
  AUDIT_CONTEXT_RESOLVER_TOKEN,
66
66
  PENDING_PLAN_QUERY_PORT_TOKEN,
@@ -77,6 +77,7 @@ import {
77
77
  } from "../chunk-WPUVJRIN.js";
78
78
  import "../chunk-E56W4U2P.js";
79
79
  import "../chunk-MDIZUVIK.js";
80
+ import "../chunk-YSC46BGM.js";
80
81
  import {
81
82
  SUBSCRIPTION_BUNDLE_CONFIG_TOKEN,
82
83
  SUBSCRIPTION_BUNDLE_REPOSITORY_TOKEN
@@ -6,7 +6,7 @@ import {
6
6
  runSeedGateFromFile,
7
7
  seedGateExitCode,
8
8
  validateSeedAgainstSnapshot
9
- } from "../chunk-TXDH4FUA.js";
9
+ } from "../chunk-7RRWI5LH.js";
10
10
  import "../chunk-ABB2CRAS.js";
11
11
  import {
12
12
  ADVISORY_STRICT_MODE_CODES,
@@ -56,9 +56,10 @@ import {
56
56
  quotaApprovalSignature,
57
57
  validateBundleDraft,
58
58
  validatePlanDraft
59
- } from "../chunk-33TP26MR.js";
59
+ } from "../chunk-P3DP6GJE.js";
60
60
  import "../chunk-WPUVJRIN.js";
61
61
  import "../chunk-E56W4U2P.js";
62
+ import "../chunk-YSC46BGM.js";
62
63
  import "../chunk-Z3FWN3HJ.js";
63
64
  import "../chunk-WKVBNTYC.js";
64
65
  import {
@@ -1,5 +1,6 @@
1
- export { C as CheckoutOfferControllerConfig, a as CheckoutOfferModule, b as CheckoutOfferModuleOptions, c as CheckoutOfferService } from '../checkout-offer.module-ZYF5IsDY.cjs';
1
+ export { C as CheckoutOfferService } from '../checkout-offer.service-BX51dljL.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';
3
4
  import { CheckoutOfferPriceBreakdown, CheckoutOfferLineItem, CheckoutOfferPromotionSnapshot, CheckoutOfferPromoCodeSnapshot } from '@saasicat/types';
4
5
  import '../di-CcNeq9v-.cjs';
5
6
 
@@ -1,5 +1,6 @@
1
- export { C as CheckoutOfferControllerConfig, a as CheckoutOfferModule, b as CheckoutOfferModuleOptions, c as CheckoutOfferService } from '../checkout-offer.module-Y0hDOVrq.js';
1
+ export { C as CheckoutOfferService } from '../checkout-offer.service-BX51dljL.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';
3
4
  import { CheckoutOfferPriceBreakdown, CheckoutOfferLineItem, CheckoutOfferPromotionSnapshot, CheckoutOfferPromoCodeSnapshot } from '@saasicat/types';
4
5
  import '../di-CcNeq9v-.js';
5
6
 
@@ -6,8 +6,9 @@ import {
6
6
  CreateCheckoutOfferDto,
7
7
  UpdateCheckoutOfferDto,
8
8
  buildCheckoutOfferController
9
- } from "../chunk-HBFU5AN3.js";
9
+ } from "../chunk-GJBXOCRZ.js";
10
10
  import "../chunk-MDIZUVIK.js";
11
+ import "../chunk-YSC46BGM.js";
11
12
  import "../chunk-L4KTQ6CL.js";
12
13
  import "../chunk-SABTXESR.js";
13
14
  import "../chunk-SHUYVCID.js";
@@ -0,0 +1,39 @@
1
+ import { Type, CanActivate, DynamicModule, ForwardReference, Provider } from '@nestjs/common';
2
+ import { CheckoutOfferRepository, BundleRepository, PlanRepository, CatalogEntryRepository } from '@saasicat/types';
3
+ import { P as ProviderSpec } from './di-CcNeq9v-.js';
4
+
5
+ interface CheckoutOfferControllerConfig {
6
+ /** Class-level guards; `[]` for auth-free public endpoints. */
7
+ guards: Array<Type<CanActivate>>;
8
+ }
9
+ interface CheckoutOfferModuleOptions {
10
+ checkoutOfferRepository: ProviderSpec<CheckoutOfferRepository>;
11
+ /**
12
+ * Optional for V3 revalidation on consume: if set, the service checks
13
+ * whether referenced bundle versions are still bookable. Also provides
14
+ * the bundle features for the requires validation (#35 P6).
15
+ */
16
+ bundleRepository?: ProviderSpec<BundleRepository>;
17
+ /**
18
+ * Optional for the requires validation (#35 P6): plan features of the
19
+ * chosen plan version. Without wiring, falls back to the featuresSnapshot
20
+ * of the plan line item.
21
+ */
22
+ planRepository?: ProviderSpec<PlanRepository>;
23
+ /**
24
+ * Optional for the requires validation (#35 P6): requires source =
25
+ * curated FeatureCatalogEntries. Without wiring, the validation is
26
+ * skipped (graceful).
27
+ */
28
+ catalogEntryRepository?: ProviderSpec<CatalogEntryRepository>;
29
+ /** Controller mount for `/public/checkout-offer`. Omitted = service only. */
30
+ controller?: CheckoutOfferControllerConfig;
31
+ imports?: Array<Type<unknown> | DynamicModule | Promise<DynamicModule> | ForwardReference>;
32
+ extraProviders?: Provider[];
33
+ global?: boolean;
34
+ }
35
+ declare class CheckoutOfferModule {
36
+ static forRoot(options: CheckoutOfferModuleOptions): DynamicModule;
37
+ }
38
+
39
+ export { type CheckoutOfferControllerConfig as C, CheckoutOfferModule as a, type CheckoutOfferModuleOptions as b };
@@ -0,0 +1,39 @@
1
+ import { Type, CanActivate, DynamicModule, ForwardReference, Provider } from '@nestjs/common';
2
+ import { CheckoutOfferRepository, BundleRepository, PlanRepository, CatalogEntryRepository } from '@saasicat/types';
3
+ import { P as ProviderSpec } from './di-CcNeq9v-.cjs';
4
+
5
+ interface CheckoutOfferControllerConfig {
6
+ /** Class-level guards; `[]` for auth-free public endpoints. */
7
+ guards: Array<Type<CanActivate>>;
8
+ }
9
+ interface CheckoutOfferModuleOptions {
10
+ checkoutOfferRepository: ProviderSpec<CheckoutOfferRepository>;
11
+ /**
12
+ * Optional for V3 revalidation on consume: if set, the service checks
13
+ * whether referenced bundle versions are still bookable. Also provides
14
+ * the bundle features for the requires validation (#35 P6).
15
+ */
16
+ bundleRepository?: ProviderSpec<BundleRepository>;
17
+ /**
18
+ * Optional for the requires validation (#35 P6): plan features of the
19
+ * chosen plan version. Without wiring, falls back to the featuresSnapshot
20
+ * of the plan line item.
21
+ */
22
+ planRepository?: ProviderSpec<PlanRepository>;
23
+ /**
24
+ * Optional for the requires validation (#35 P6): requires source =
25
+ * curated FeatureCatalogEntries. Without wiring, the validation is
26
+ * skipped (graceful).
27
+ */
28
+ catalogEntryRepository?: ProviderSpec<CatalogEntryRepository>;
29
+ /** Controller mount for `/public/checkout-offer`. Omitted = service only. */
30
+ controller?: CheckoutOfferControllerConfig;
31
+ imports?: Array<Type<unknown> | DynamicModule | Promise<DynamicModule> | ForwardReference>;
32
+ extraProviders?: Provider[];
33
+ global?: boolean;
34
+ }
35
+ declare class CheckoutOfferModule {
36
+ static forRoot(options: CheckoutOfferModuleOptions): DynamicModule;
37
+ }
38
+
39
+ export { type CheckoutOfferControllerConfig as C, CheckoutOfferModule as a, type CheckoutOfferModuleOptions as b };
@@ -1,6 +1,4 @@
1
1
  import { CheckoutOfferRepository, BundleRepository, PlanRepository, CatalogEntryRepository, CheckoutOfferFilter, CheckoutOfferRow, CreateCheckoutOfferData, UpdateCheckoutOfferData } from '@saasicat/types';
2
- import { Type, CanActivate, DynamicModule, ForwardReference, Provider } from '@nestjs/common';
3
- import { P as ProviderSpec } from './di-CcNeq9v-.js';
4
2
 
5
3
  declare class CheckoutOfferService {
6
4
  private readonly repo;
@@ -48,38 +46,4 @@ declare class CheckoutOfferService {
48
46
  private isValidUntilExpired;
49
47
  }
50
48
 
51
- interface CheckoutOfferControllerConfig {
52
- /** Class-level guards; `[]` for auth-free public endpoints. */
53
- guards: Array<Type<CanActivate>>;
54
- }
55
- interface CheckoutOfferModuleOptions {
56
- checkoutOfferRepository: ProviderSpec<CheckoutOfferRepository>;
57
- /**
58
- * Optional for V3 revalidation on consume: if set, the service checks
59
- * whether referenced bundle versions are still bookable. Also provides
60
- * the bundle features for the requires validation (#35 P6).
61
- */
62
- bundleRepository?: ProviderSpec<BundleRepository>;
63
- /**
64
- * Optional for the requires validation (#35 P6): plan features of the
65
- * chosen plan version. Without wiring, falls back to the featuresSnapshot
66
- * of the plan line item.
67
- */
68
- planRepository?: ProviderSpec<PlanRepository>;
69
- /**
70
- * Optional for the requires validation (#35 P6): requires source =
71
- * curated FeatureCatalogEntries. Without wiring, the validation is
72
- * skipped (graceful).
73
- */
74
- catalogEntryRepository?: ProviderSpec<CatalogEntryRepository>;
75
- /** Controller mount for `/public/checkout-offer`. Omitted = service only. */
76
- controller?: CheckoutOfferControllerConfig;
77
- imports?: Array<Type<unknown> | DynamicModule | Promise<DynamicModule> | ForwardReference>;
78
- extraProviders?: Provider[];
79
- global?: boolean;
80
- }
81
- declare class CheckoutOfferModule {
82
- static forRoot(options: CheckoutOfferModuleOptions): DynamicModule;
83
- }
84
-
85
- export { type CheckoutOfferControllerConfig as C, CheckoutOfferModule as a, type CheckoutOfferModuleOptions as b, CheckoutOfferService as c };
49
+ export { CheckoutOfferService as C };
@@ -1,6 +1,4 @@
1
1
  import { CheckoutOfferRepository, BundleRepository, PlanRepository, CatalogEntryRepository, CheckoutOfferFilter, CheckoutOfferRow, CreateCheckoutOfferData, UpdateCheckoutOfferData } from '@saasicat/types';
2
- import { Type, CanActivate, DynamicModule, ForwardReference, Provider } from '@nestjs/common';
3
- import { P as ProviderSpec } from './di-CcNeq9v-.cjs';
4
2
 
5
3
  declare class CheckoutOfferService {
6
4
  private readonly repo;
@@ -48,38 +46,4 @@ declare class CheckoutOfferService {
48
46
  private isValidUntilExpired;
49
47
  }
50
48
 
51
- interface CheckoutOfferControllerConfig {
52
- /** Class-level guards; `[]` for auth-free public endpoints. */
53
- guards: Array<Type<CanActivate>>;
54
- }
55
- interface CheckoutOfferModuleOptions {
56
- checkoutOfferRepository: ProviderSpec<CheckoutOfferRepository>;
57
- /**
58
- * Optional for V3 revalidation on consume: if set, the service checks
59
- * whether referenced bundle versions are still bookable. Also provides
60
- * the bundle features for the requires validation (#35 P6).
61
- */
62
- bundleRepository?: ProviderSpec<BundleRepository>;
63
- /**
64
- * Optional for the requires validation (#35 P6): plan features of the
65
- * chosen plan version. Without wiring, falls back to the featuresSnapshot
66
- * of the plan line item.
67
- */
68
- planRepository?: ProviderSpec<PlanRepository>;
69
- /**
70
- * Optional for the requires validation (#35 P6): requires source =
71
- * curated FeatureCatalogEntries. Without wiring, the validation is
72
- * skipped (graceful).
73
- */
74
- catalogEntryRepository?: ProviderSpec<CatalogEntryRepository>;
75
- /** Controller mount for `/public/checkout-offer`. Omitted = service only. */
76
- controller?: CheckoutOfferControllerConfig;
77
- imports?: Array<Type<unknown> | DynamicModule | Promise<DynamicModule> | ForwardReference>;
78
- extraProviders?: Provider[];
79
- global?: boolean;
80
- }
81
- declare class CheckoutOfferModule {
82
- static forRoot(options: CheckoutOfferModuleOptions): DynamicModule;
83
- }
84
-
85
- export { type CheckoutOfferControllerConfig as C, CheckoutOfferModule as a, type CheckoutOfferModuleOptions as b, CheckoutOfferService as c };
49
+ export { CheckoutOfferService as C };
@@ -322,6 +322,7 @@ var SubscriptionContractModule = class _SubscriptionContractModule {
322
322
  return {
323
323
  module: _SubscriptionContractModule,
324
324
  global: options.global ?? false,
325
+ imports: options.imports ?? [],
325
326
  providers: [
326
327
  asProvider(SUBSCRIPTION_CONTRACT_REPOSITORY_TOKEN, options.subscriptionContractRepository),
327
328
  SubscriptionContractService,
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-E7AJ42AB.js";
4
4
  import {
5
5
  SubscriptionContractService
6
- } from "./chunk-2PNX2QL2.js";
6
+ } from "./chunk-32EMXPU2.js";
7
7
  import {
8
8
  AUDIT_CONTEXT_RESOLVER_TOKEN,
9
9
  PENDING_PLAN_QUERY_PORT_TOKEN,
@@ -19,6 +19,9 @@ import {
19
19
  import {
20
20
  AdminAuditService
21
21
  } from "./chunk-E56W4U2P.js";
22
+ import {
23
+ SaaSiCatPublicRoute
24
+ } from "./chunk-YSC46BGM.js";
22
25
  import {
23
26
  EntitlementService,
24
27
  SUBSCRIPTION_BUNDLE_CONFIG_TOKEN,
@@ -954,6 +957,7 @@ _ts_decorate7([
954
957
  ], PublicCatalogController.prototype, "listBundles", null);
955
958
  PublicCatalogController = _ts_decorate7([
956
959
  Controller2("billing"),
960
+ SaaSiCatPublicRoute(),
957
961
  _ts_param5(0, Inject5(PLAN_CATALOG_TOKEN)),
958
962
  _ts_param5(1, Inject5(FEATURE_UI_REGISTRY_TOKEN)),
959
963
  _ts_param5(2, Optional3()),
@@ -6,7 +6,7 @@ import {
6
6
  ADVISORY_STRICT_MODE_CODES,
7
7
  validateBundleDraft,
8
8
  validatePlanDraft
9
- } from "./chunk-33TP26MR.js";
9
+ } from "./chunk-P3DP6GJE.js";
10
10
  import {
11
11
  __name
12
12
  } from "./chunk-SHUYVCID.js";
@@ -0,0 +1,13 @@
1
+ import {
2
+ __name
3
+ } from "./chunk-SHUYVCID.js";
4
+
5
+ // src/platform/define-saasicat.ts
6
+ function defineSaaSiCat(options) {
7
+ return options;
8
+ }
9
+ __name(defineSaaSiCat, "defineSaaSiCat");
10
+
11
+ export {
12
+ defineSaaSiCat
13
+ };
@@ -1,6 +1,9 @@
1
1
  import {
2
2
  appendImplicitDiscountLineItem
3
3
  } from "./chunk-MDIZUVIK.js";
4
+ import {
5
+ SaaSiCatPublicRoute
6
+ } from "./chunk-YSC46BGM.js";
4
7
  import {
5
8
  BUNDLE_REPOSITORY_TOKEN,
6
9
  CATALOG_ENTRY_REPOSITORY_TOKEN,
@@ -613,6 +616,7 @@ function buildCheckoutOfferController(guards) {
613
616
  ], GeneratedCheckoutOfferController.prototype, "update", null);
614
617
  GeneratedCheckoutOfferController = _ts_decorate3([
615
618
  Controller("public/checkout-offer"),
619
+ SaaSiCatPublicRoute(),
616
620
  UseGuards(...guards),
617
621
  _ts_param2(0, Inject2(CheckoutOfferService)),
618
622
  _ts_metadata3("design:type", Function),