@saasicat/adapter-prisma 0.8.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { PersistenceInjectionToken, PasswordHasher, SaasicatPersistenceAdapter, TransactionRunner, TransactionContext, MfaPort, AuditPort, AdminActor, AuditQueryPort, AuditQuery, AuditEntry, AuditStatsPort, RlsBypassPort, SubscriptionRepository, SubscriptionRecord, SubscriptionBundleRepository, SubscriptionBundleRecord, CreateSubscriptionBundleData, CancelSubscriptionBundleData, TenantSubscriptionWritePort, ApplyOnboardingSelectionInput, RedeemPromoInTransactionCallback, ApplyOnboardingSelectionResult, ImmediatePlanChangeInput, ScheduledPlanChangeInput, PlanVersionRepository, PlanVersionRecord, PromoCodeRepository, PromoCodeRecord, PromoCodeFilter, CreatePromoCodeData, UpdatePromoCodeData, PromoCodeRedemptionRepository, PromoCodeRedemptionRecord, PromoCodeRedemptionStatus, PromoCodeRedemptionListItem, PromoCodeValidationLogRepository, PromoSubscriptionLookup, BillingCycle, PromoRevenueDeductionAggregator, SuperAdminProvisioningPort, CreateSuperAdminCliInput, PlatformUserDto, PlanCatalogReadSink, PlanCatalogReadSnapshot, PlanCatalogImportSink, UpsertPlanInput, UpsertResult, UpsertPlanVersionInput, UpsertFeatureCatalogEntryInput, PlanRepository, PlanListFilter, PlanRow, CreatePlanData, UpdatePlanData, PlanVersionRow, CreatePlanVersionDraftData, UpdatePlanVersionDraftData, VersionChange, BundleRepository, BundleVersionRow, BundleListFilter, BundleRow, CreateBundleData, UpdateBundleData, CreateBundleVersionDraftData, UpdateBundleVersionDraftData, CatalogEntryRepository, CatalogEntryFilter, CapabilityCatalogEntryRow, FeatureCatalogEntryRow, QuotaCatalogEntryRow, UpsertCapabilityEntryData, UpsertFeatureEntryData, UpsertQuotaEntryData, SetCatalogEntryReviewData, CatalogEntryI18n, UpdateCatalogEntryBaseData, MarketingProjectionRepository, MarketingProjectionFilter, MarketingProjectionRow, CreateMarketingProjectionData, UpdateMarketingProjectionData, MarketingSettingsRepository, MarketingSettingsRow, UpdateMarketingSettingsData, PromotionRepository, PromotionFilter, PromotionRow, CreatePromotionData, UpdatePromotionData, SubscriptionContractRepository, SubscriptionContractFilter, SubscriptionContractRecord, CreateSubscriptionContractData, TerminateSubscriptionContractData } from '@saasicat/types';
1
+ import { AdminResourcesPort, AdminTenantListFilter, AdminTenantListRow, AdminTenantDetail, AdminTenantStateResult, AdminUserListFilter, AdminUserListRow, AdminAuditListFilter, AuditEntry, AdminSubscriptionListRow, BundleRepository, TransactionContext, BundleVersionRow, BundleListFilter, BundleRow, CreateBundleData, UpdateBundleData, CreateBundleVersionDraftData, UpdateBundleVersionDraftData, VersionChange, PersistenceInjectionToken, PasswordHasher, SaasicatPersistenceAdapter, TransactionRunner, MfaPort, AuditPort, AdminActor, AuditQueryPort, AuditQuery, AuditStatsPort, RlsBypassPort, SubscriptionRepository, SubscriptionRecord, SubscriptionUsagePort, SubscriptionUsageRecord, SubscriptionBundleRepository, SubscriptionBundleRecord, CreateSubscriptionBundleData, CancelSubscriptionBundleData, TenantSubscriptionWritePort, ApplyOnboardingSelectionInput, RedeemPromoInTransactionCallback, ApplyOnboardingSelectionResult, ImmediatePlanChangeInput, ScheduledPlanChangeInput, PlanVersionRepository, PlanVersionRecord, PromoCodeRepository, PromoCodeRecord, PromoCodeFilter, CreatePromoCodeData, UpdatePromoCodeData, PromoCodeRedemptionRepository, PromoCodeRedemptionRecord, PromoCodeRedemptionStatus, PromoCodeRedemptionListItem, PromoCodeValidationLogRepository, PromoSubscriptionLookup, BillingCycle, PromoRevenueDeductionAggregator, SuperAdminProvisioningPort, CreateSuperAdminCliInput, PlatformUserDto, PlanCatalogReadSink, PlanCatalogReadSnapshot, PlanCatalogImportSink, UpsertPlanInput, UpsertResult, UpsertPlanVersionInput, UpsertFeatureCatalogEntryInput, PlanRepository, PlanListFilter, PlanRow, CreatePlanData, UpdatePlanData, PlanVersionRow, CreatePlanVersionDraftData, UpdatePlanVersionDraftData, CatalogEntryRepository, CatalogEntryFilter, CapabilityCatalogEntryRow, FeatureCatalogEntryRow, QuotaCatalogEntryRow, UpsertCapabilityEntryData, UpsertFeatureEntryData, UpsertQuotaEntryData, SetCatalogEntryReviewData, CatalogEntryI18n, UpdateCatalogEntryBaseData, MarketingProjectionRepository, MarketingProjectionFilter, MarketingProjectionRow, CreateMarketingProjectionData, UpdateMarketingProjectionData, MarketingSettingsRepository, MarketingSettingsRow, UpdateMarketingSettingsData, PromotionRepository, PromotionFilter, PromotionRow, CreatePromotionData, UpdatePromotionData, SubscriptionContractRepository, SubscriptionContractFilter, SubscriptionContractRecord, CreateSubscriptionContractData, TerminateSubscriptionContractData } from '@saasicat/types';
2
2
 
3
3
  declare const PRISMA_CLIENT_TOKEN: unique symbol;
4
4
  /** Prisma `Decimal` values arrive as objects with `toString()`; tests may use plain values. */
@@ -19,6 +19,17 @@ interface SubscriptionRowLike {
19
19
  planVersionId: string;
20
20
  pendingPlanVersionId: string | null;
21
21
  startedAt: Date | null;
22
+ /** Rich tenant-billing fields present in the canonical schema. */
23
+ trialEndsAt?: Date | null;
24
+ pilotEndsAt?: Date | null;
25
+ currentPeriodStart?: Date | null;
26
+ currentPeriodEnd?: Date | null;
27
+ pendingBillingCycle?: string | null;
28
+ pendingPlanVersionEffectiveAt?: Date | null;
29
+ pendingPlanVersionAccepted?: boolean;
30
+ pendingPlanVersionAcceptedAt?: Date | null;
31
+ packageSnapshot?: unknown | null;
32
+ checkoutOfferId?: string | null;
22
33
  }
23
34
  interface PlanVersionRowLike {
24
35
  id: string;
@@ -334,9 +345,21 @@ interface PromoCodeDelegateLike {
334
345
  };
335
346
  data: {
336
347
  status?: string;
348
+ valueType?: string;
349
+ value?: string;
350
+ durationType?: string;
351
+ durationValue?: number | null;
352
+ validFrom?: Date | null;
337
353
  description?: string | null;
338
354
  validUntil?: Date | null;
339
355
  maxRedemptions?: number | null;
356
+ appliesToPlans?: string[];
357
+ appliesToBilling?: string | null;
358
+ firstTimeCustomersOnly?: boolean;
359
+ minimumPlanAmountGross?: string | null;
360
+ allowZeroInvoice?: boolean;
361
+ campaignTag?: string | null;
362
+ revenueDeductionAccount?: string | null;
340
363
  deletedAt?: Date;
341
364
  };
342
365
  }): Promise<PromoCodeRowLike>;
@@ -450,7 +473,10 @@ interface AuditLogDelegateLike {
450
473
  entityId?: string;
451
474
  action?: string;
452
475
  actorTag?: string | {
453
- startsWith: string;
476
+ startsWith?: string;
477
+ endsWith?: string;
478
+ contains?: string;
479
+ mode?: 'insensitive';
454
480
  };
455
481
  createdAt?: {
456
482
  gte?: Date;
@@ -677,6 +703,117 @@ declare function createPrismaPlanBindingResolver(options?: PrismaPlanBindingOpti
677
703
  /** Resolves a configurable Prisma delegate and fails early on misspellings. */
678
704
  declare function getPrismaDelegate<Row>(client: unknown, delegateName: string): PrismaModelDelegateLike<Row>;
679
705
 
706
+ interface PrismaAdminResourcesOptions {
707
+ /**
708
+ * Relation counters exposed on tenant rows and tenant details. The names
709
+ * must match relations on the app's Tenant model. Default: `['users']`.
710
+ */
711
+ tenantMetrics?: readonly string[];
712
+ listLimit?: number;
713
+ }
714
+ /**
715
+ * Convention-based adapter for the standard SuperAdmin resource pages.
716
+ *
717
+ * It expects the common Prisma delegate names `tenant`, `user`,
718
+ * `subscription` and `auditLog`, and the common scalar fields shown by the
719
+ * platform UI. Apps with a different schema implement `AdminResourcesPort`;
720
+ * they do not need to replace controllers or DTOs.
721
+ */
722
+ declare class PrismaAdminResourcesAdapter implements AdminResourcesPort {
723
+ private readonly prisma;
724
+ private readonly metrics;
725
+ private readonly listLimit;
726
+ private readonly audit;
727
+ constructor(prisma: PrismaLike, options?: PrismaAdminResourcesOptions);
728
+ listTenants(filter: AdminTenantListFilter): Promise<AdminTenantListRow[]>;
729
+ getTenantDetail(slug: string): Promise<AdminTenantDetail | null>;
730
+ setTenantActive(slug: string, active: boolean, subscriptionStatus: string): Promise<AdminTenantStateResult | null>;
731
+ listUsers(filter: AdminUserListFilter): Promise<AdminUserListRow[]>;
732
+ listAudit(filter: AdminAuditListFilter): Promise<AuditEntry[]>;
733
+ listSubscriptions(): Promise<AdminSubscriptionListRow[]>;
734
+ private tenants;
735
+ private users;
736
+ private subscriptions;
737
+ }
738
+
739
+ /**
740
+ * Root-client shape accepted by this repository. Delegates and `$transaction`
741
+ * stay opaque at the injection boundary because generated Prisma delegates
742
+ * have schema-specific generic signatures; calls are narrowed locally to the
743
+ * exact Bundle operations below.
744
+ */
745
+ interface BundlePrismaClient {
746
+ bundle: unknown;
747
+ bundleVersion: unknown;
748
+ $transaction: unknown;
749
+ }
750
+ /**
751
+ * Optional DI token for apps that register `PrismaBundleRepository` directly
752
+ * as a Nest provider. Factory users may pass the same options as the second
753
+ * constructor argument.
754
+ */
755
+ declare const PRISMA_BUNDLE_REPOSITORY_OPTIONS: unique symbol;
756
+ interface PrismaBundleRepositoryOptions {
757
+ /**
758
+ * Enables reads and writes of `BundleVersion.validFrom`/`validUntil`.
759
+ *
760
+ * Default `false` preserves compatibility with databases and Prisma
761
+ * clients generated from the 0.6 schema, where the columns do not exist.
762
+ */
763
+ validityWindows?: boolean;
764
+ }
765
+ /**
766
+ * `BundleRepository` against the canonical `bundles` + `bundle_versions`
767
+ * tables (SPEC_V2 §5 + §11.1 M3). Versioning mirrors `PlanVersion`: at most one
768
+ * draft (`publishedAt IS NULL`) per bundle, monotonically incrementing
769
+ * `version`, `supersededAt` marking the previous live version on publish.
770
+ *
771
+ * Validity-window support is opt-in via `{ validityWindows: true }`. The
772
+ * default deliberately does not select, read or write `validFrom`/
773
+ * `validUntil`, and therefore keeps working with the 0.6 schema. In the
774
+ * enabled mode the repository expects both nullable columns to exist.
775
+ *
776
+ * In validity-window mode `publishDraft` opens an internal transaction when
777
+ * the caller did not provide one. This makes superseding the predecessor,
778
+ * applying its auto-succession end date and publishing the draft atomic.
779
+ * Legacy mode retains the 0.6 transaction behavior unchanged.
780
+ */
781
+ declare class PrismaBundleRepository implements BundleRepository {
782
+ private readonly prisma;
783
+ private readonly validityWindows;
784
+ /**
785
+ * Present only when validity-window mode is enabled. This mirrors the
786
+ * optional port capability and lets 0.6-schema consumers detect that an
787
+ * active-at-time lookup is unavailable.
788
+ */
789
+ readonly findActiveBundleVersion?: (bundleId: string, asOf?: Date, tx?: TransactionContext) => Promise<BundleVersionRow | null>;
790
+ constructor(prisma: BundlePrismaClient, options?: PrismaBundleRepositoryOptions);
791
+ private db;
792
+ private transaction;
793
+ list(filter: BundleListFilter): Promise<BundleRow[]>;
794
+ findById(bundleId: string): Promise<BundleRow | null>;
795
+ findByKey(projectKey: string, bundleKey: string): Promise<BundleRow | null>;
796
+ create(data: CreateBundleData): Promise<BundleRow>;
797
+ update(bundleId: string, data: UpdateBundleData): Promise<BundleRow>;
798
+ softDelete(bundleId: string): Promise<void>;
799
+ listVersions(bundleId: string): Promise<BundleVersionRow[]>;
800
+ findVersionById(versionId: string): Promise<BundleVersionRow | null>;
801
+ findCurrentDraft(bundleId: string): Promise<BundleVersionRow | null>;
802
+ findLatestLive(bundleId: string, tx?: TransactionContext): Promise<BundleVersionRow | null>;
803
+ private findActiveBundleVersionWithValidity;
804
+ createDraft(data: CreateBundleVersionDraftData): Promise<BundleVersionRow>;
805
+ updateDraft(versionId: string, data: UpdateBundleVersionDraftData): Promise<BundleVersionRow>;
806
+ publishDraft(versionId: string, publishMeta: {
807
+ publishedByUserId: string | null;
808
+ publishedChanges: VersionChange[];
809
+ nonRegressive: boolean;
810
+ validFrom: Date;
811
+ validUntil: Date | null;
812
+ }, tx?: TransactionContext): Promise<BundleVersionRow>;
813
+ private publishDraftWithValidity;
814
+ deleteDraft(versionId: string): Promise<void>;
815
+ }
816
+
680
817
  interface PrismaPersistenceOptions {
681
818
  /**
682
819
  * The app's Prisma client: either its injection token (typically the
@@ -704,6 +841,22 @@ interface PrismaPersistenceOptions {
704
841
  * termination columns.
705
842
  */
706
843
  schema?: PrismaSchemaOptions;
844
+ /**
845
+ * Standard SuperAdmin Tenant/User/Audit/Subscription pages. Set `false`
846
+ * for schemas without conventional `tenant`/`user` delegates.
847
+ */
848
+ adminResources?: false | PrismaAdminResourcesOptions;
849
+ /**
850
+ * Options for the bundle repository the catalog and entitlement slices
851
+ * share — notably `{ validityWindows: true }` for schemas that carry
852
+ * `BundleVersion.validFrom`/`validUntil`.
853
+ *
854
+ * Without this the bundle builds the repository with its 0.6-compatible
855
+ * defaults, and the repository's `@Optional() @Inject(...)` options
856
+ * provider never applies, because the bundle constructs the instance
857
+ * directly rather than through Nest DI.
858
+ */
859
+ bundle?: PrismaBundleRepositoryOptions;
707
860
  }
708
861
  /**
709
862
  * Builds the `SaasicatPersistenceAdapter` bundle for Prisma + PostgreSQL on
@@ -716,14 +869,9 @@ interface PrismaPersistenceOptions {
716
869
  * });
717
870
  * ```
718
871
  *
719
- * This bundle covers the core/entitlement/promo/plan-catalog slices consumed
720
- * by `SaasPlatformModule`. The catalog plane (CatalogModule) and the V3
721
- * contract loop take their repositories directly as `forRoot` options — wire
722
- * the standalone `PrismaPlanRepository` / `PrismaBundleRepository` /
723
- * `PrismaCatalogEntryRepository` /
724
- * `PrismaMarketingProjectionRepository` / `PrismaMarketingSettingsRepository` /
725
- * `PrismaPromotionRepository` / `PrismaSubscriptionContractRepository` exports
726
- * there. The registration and tenant-billing write ports remain app-specific.
872
+ * The bundle covers the complete canonical core, entitlement, catalog,
873
+ * tenant-billing, promo and plan-catalog persistence. App-specific behavior
874
+ * such as quota counters and authentication remains in the consumer.
727
875
  */
728
876
  declare function prismaPersistence(options: PrismaPersistenceOptions): SaasicatPersistenceAdapter;
729
877
 
@@ -867,6 +1015,28 @@ declare class PrismaSubscriptionRepository implements SubscriptionRepository {
867
1015
  private planKeysForProject;
868
1016
  }
869
1017
 
1018
+ interface SubscriptionUsageClient {
1019
+ plan: unknown;
1020
+ }
1021
+ /**
1022
+ * Rich subscription read adapter for `GET /billing/usage`.
1023
+ *
1024
+ * It uses flat delegate reads instead of Prisma `include`, so it stays
1025
+ * structurally compatible with consumer-generated clients and with the
1026
+ * configurable subscription/PlanVersion delegate names.
1027
+ */
1028
+ declare class PrismaSubscriptionUsageAdapter implements SubscriptionUsagePort {
1029
+ private readonly prisma;
1030
+ private readonly binding;
1031
+ private readonly planVersionDelegateName;
1032
+ private readonly subscriptionDelegateName;
1033
+ constructor(prisma: SubscriptionUsageClient, options?: PrismaSchemaOptions);
1034
+ findForTenant(tenantId: string): Promise<SubscriptionUsageRecord | null>;
1035
+ private toPlanVersion;
1036
+ private subscriptions;
1037
+ private planVersions;
1038
+ }
1039
+
870
1040
  interface SubscriptionBundleClient {
871
1041
  subscriptionBundle: unknown;
872
1042
  }
@@ -1173,84 +1343,6 @@ declare class PrismaPlanRepository implements PlanRepository {
1173
1343
  private toPlanVersionRow;
1174
1344
  }
1175
1345
 
1176
- /**
1177
- * Root-client shape accepted by this repository. Delegates and `$transaction`
1178
- * stay opaque at the injection boundary because generated Prisma delegates
1179
- * have schema-specific generic signatures; calls are narrowed locally to the
1180
- * exact Bundle operations below.
1181
- */
1182
- interface BundlePrismaClient {
1183
- bundle: unknown;
1184
- bundleVersion: unknown;
1185
- $transaction: unknown;
1186
- }
1187
- /**
1188
- * Optional DI token for apps that register `PrismaBundleRepository` directly
1189
- * as a Nest provider. Factory users may pass the same options as the second
1190
- * constructor argument.
1191
- */
1192
- declare const PRISMA_BUNDLE_REPOSITORY_OPTIONS: unique symbol;
1193
- interface PrismaBundleRepositoryOptions {
1194
- /**
1195
- * Enables reads and writes of `BundleVersion.validFrom`/`validUntil`.
1196
- *
1197
- * Default `false` preserves compatibility with databases and Prisma
1198
- * clients generated from the 0.6 schema, where the columns do not exist.
1199
- */
1200
- validityWindows?: boolean;
1201
- }
1202
- /**
1203
- * `BundleRepository` against the canonical `bundles` + `bundle_versions`
1204
- * tables (SPEC_V2 §5 + §11.1 M3). Versioning mirrors `PlanVersion`: at most one
1205
- * draft (`publishedAt IS NULL`) per bundle, monotonically incrementing
1206
- * `version`, `supersededAt` marking the previous live version on publish.
1207
- *
1208
- * Validity-window support is opt-in via `{ validityWindows: true }`. The
1209
- * default deliberately does not select, read or write `validFrom`/
1210
- * `validUntil`, and therefore keeps working with the 0.6 schema. In the
1211
- * enabled mode the repository expects both nullable columns to exist.
1212
- *
1213
- * In validity-window mode `publishDraft` opens an internal transaction when
1214
- * the caller did not provide one. This makes superseding the predecessor,
1215
- * applying its auto-succession end date and publishing the draft atomic.
1216
- * Legacy mode retains the 0.6 transaction behavior unchanged.
1217
- */
1218
- declare class PrismaBundleRepository implements BundleRepository {
1219
- private readonly prisma;
1220
- private readonly validityWindows;
1221
- /**
1222
- * Present only when validity-window mode is enabled. This mirrors the
1223
- * optional port capability and lets 0.6-schema consumers detect that an
1224
- * active-at-time lookup is unavailable.
1225
- */
1226
- readonly findActiveBundleVersion?: (bundleId: string, asOf?: Date, tx?: TransactionContext) => Promise<BundleVersionRow | null>;
1227
- constructor(prisma: BundlePrismaClient, options?: PrismaBundleRepositoryOptions);
1228
- private db;
1229
- private transaction;
1230
- list(filter: BundleListFilter): Promise<BundleRow[]>;
1231
- findById(bundleId: string): Promise<BundleRow | null>;
1232
- findByKey(projectKey: string, bundleKey: string): Promise<BundleRow | null>;
1233
- create(data: CreateBundleData): Promise<BundleRow>;
1234
- update(bundleId: string, data: UpdateBundleData): Promise<BundleRow>;
1235
- softDelete(bundleId: string): Promise<void>;
1236
- listVersions(bundleId: string): Promise<BundleVersionRow[]>;
1237
- findVersionById(versionId: string): Promise<BundleVersionRow | null>;
1238
- findCurrentDraft(bundleId: string): Promise<BundleVersionRow | null>;
1239
- findLatestLive(bundleId: string, tx?: TransactionContext): Promise<BundleVersionRow | null>;
1240
- private findActiveBundleVersionWithValidity;
1241
- createDraft(data: CreateBundleVersionDraftData): Promise<BundleVersionRow>;
1242
- updateDraft(versionId: string, data: UpdateBundleVersionDraftData): Promise<BundleVersionRow>;
1243
- publishDraft(versionId: string, publishMeta: {
1244
- publishedByUserId: string | null;
1245
- publishedChanges: VersionChange[];
1246
- nonRegressive: boolean;
1247
- validFrom: Date;
1248
- validUntil: Date | null;
1249
- }, tx?: TransactionContext): Promise<BundleVersionRow>;
1250
- private publishDraftWithValidity;
1251
- deleteDraft(versionId: string): Promise<void>;
1252
- }
1253
-
1254
1346
  interface CatalogEntryRepositoryClient {
1255
1347
  capabilityCatalogEntry: unknown;
1256
1348
  featureCatalogEntry: unknown;
@@ -1369,4 +1461,4 @@ declare class PrismaSubscriptionContractRepository implements SubscriptionContra
1369
1461
  terminate(contractId: string, data: TerminateSubscriptionContractData): Promise<SubscriptionContractRecord>;
1370
1462
  }
1371
1463
 
1372
- export { AsyncLocalRlsBypassAdapter, type DecimalLike, PASSWORD_HASHER_TOKEN, PRISMA_BUNDLE_REPOSITORY_OPTIONS, PRISMA_CLIENT_TOKEN, PRISMA_SCHEMA_OPTIONS_TOKEN, PrismaAuditAdapter, PrismaAuditQueryAdapter, PrismaAuditStatsAdapter, PrismaBundleRepository, type PrismaBundleRepositoryOptions, PrismaCatalogEntryRepository, type PrismaLike, PrismaMarketingProjectionRepository, PrismaMarketingSettingsRepository, PrismaMfaAdapter, type PrismaModelDelegateLike, type PrismaPersistenceOptions, type PrismaPlanBindingMode, type PrismaPlanBindingOptions, type PrismaPlanBindingResolver, PrismaPlanCatalogImportSink, PrismaPlanCatalogReadSink, type PrismaPlanDelegateOptions, PrismaPlanRepository, type PrismaPlanVersionFieldCapabilities, type PrismaPlanVersionFieldOptions, PrismaPlanVersionRepository, PrismaPromoCodeRedemptionRepository, PrismaPromoCodeRepository, PrismaPromoCodeValidationLogRepository, PrismaPromoSubscriptionLookup, PrismaPromotionRepository, type PrismaSchemaOptions, PrismaSubscriptionBundleRepository, PrismaSubscriptionContractRepository, PrismaSubscriptionRepository, PrismaSuperAdminBootstrapAdapter, type PrismaTenantSubscriptionOptions, PrismaTenantSubscriptionWriteAdapter, PrismaTransactionRunner, type PrismaTxLike, type ResolvedPrismaSchemaOptions, ZeroPromoRevenueDeductionAggregator, buildActorTag, createPrismaPlanBindingResolver, getPrismaDelegate, prismaPersistence, resolvePrismaSchemaOptions };
1464
+ export { AsyncLocalRlsBypassAdapter, type DecimalLike, PASSWORD_HASHER_TOKEN, PRISMA_BUNDLE_REPOSITORY_OPTIONS, PRISMA_CLIENT_TOKEN, PRISMA_SCHEMA_OPTIONS_TOKEN, PrismaAdminResourcesAdapter, type PrismaAdminResourcesOptions, PrismaAuditAdapter, PrismaAuditQueryAdapter, PrismaAuditStatsAdapter, PrismaBundleRepository, type PrismaBundleRepositoryOptions, PrismaCatalogEntryRepository, type PrismaLike, PrismaMarketingProjectionRepository, PrismaMarketingSettingsRepository, PrismaMfaAdapter, type PrismaModelDelegateLike, type PrismaPersistenceOptions, type PrismaPlanBindingMode, type PrismaPlanBindingOptions, type PrismaPlanBindingResolver, PrismaPlanCatalogImportSink, PrismaPlanCatalogReadSink, type PrismaPlanDelegateOptions, PrismaPlanRepository, type PrismaPlanVersionFieldCapabilities, type PrismaPlanVersionFieldOptions, PrismaPlanVersionRepository, PrismaPromoCodeRedemptionRepository, PrismaPromoCodeRepository, PrismaPromoCodeValidationLogRepository, PrismaPromoSubscriptionLookup, PrismaPromotionRepository, type PrismaSchemaOptions, PrismaSubscriptionBundleRepository, PrismaSubscriptionContractRepository, PrismaSubscriptionRepository, PrismaSubscriptionUsageAdapter, PrismaSuperAdminBootstrapAdapter, type PrismaTenantSubscriptionOptions, PrismaTenantSubscriptionWriteAdapter, PrismaTransactionRunner, type PrismaTxLike, type ResolvedPrismaSchemaOptions, ZeroPromoRevenueDeductionAggregator, buildActorTag, createPrismaPlanBindingResolver, getPrismaDelegate, prismaPersistence, resolvePrismaSchemaOptions };