arkormx 2.11.12 → 2.11.13

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.
@@ -2164,6 +2164,8 @@ declare class SetBasedEagerLoader {
2164
2164
  * @returns
2165
2165
  */
2166
2166
  private loadBelongsToMany;
2167
+ private loadLimitedBelongsToMany;
2168
+ private loadLimitedBelongsToManyIndividually;
2167
2169
  private buildBelongsToManyPivotWhere;
2168
2170
  private getBelongsToManyPivotColumns;
2169
2171
  private shouldAttachBelongsToManyPivot;
@@ -2198,6 +2200,8 @@ declare class SetBasedEagerLoader {
2198
2200
  * @returns
2199
2201
  */
2200
2202
  private loadHasOneThrough;
2203
+ private loadLimitedThrough;
2204
+ private loadLimitedThroughIndividually;
2201
2205
  /**
2202
2206
  * Loads an inverse polymorphic ("morph to") relationship for the set of
2203
2207
  * models. Parents are grouped by their morph type, so each distinct type
@@ -2228,6 +2232,8 @@ declare class SetBasedEagerLoader {
2228
2232
  * @param constraint
2229
2233
  */
2230
2234
  private loadMorphMany;
2235
+ private loadPolymorphicManyToMany;
2236
+ private loadPolymorphicManyToManyIndividually;
2231
2237
  /**
2232
2238
  * Batch-loads the children for a morphOne/morphMany relationship. Parents are
2233
2239
  * grouped by their own morph type (constructor name), so each distinct type
@@ -2259,6 +2265,7 @@ declare class SetBasedEagerLoader {
2259
2265
  * @returns
2260
2266
  */
2261
2267
  private applyConstraint;
2268
+ private getPartitionedModels;
2262
2269
  /**
2263
2270
  * Collects unique values from the set of models based on a resolver function, which
2264
2271
  * is used to extract the value from each model.
@@ -4810,6 +4817,15 @@ declare class QueryBuilder<TModel, TDelegate extends ModelQuerySchemaLike = Mode
4810
4817
  * @returns
4811
4818
  */
4812
4819
  inspect(operation?: Extract<AdapterQueryOperation, 'select' | 'selectOne' | 'count' | 'exists'>): AdapterQueryInspection | null;
4820
+ /**
4821
+ * Compiles the current query into SQL without executing it. Values remain represented by the
4822
+ * adapter's parameter placeholders; use {@link inspect} when the corresponding bindings are
4823
+ * also required.
4824
+ *
4825
+ * @param operation
4826
+ * @returns
4827
+ */
4828
+ toSql(operation?: Extract<AdapterQueryOperation, 'select' | 'selectOne' | 'count' | 'exists'>): string;
4813
4829
  /**
4814
4830
  * Sets offset/limit for a 1-based page.
4815
4831
  *
@@ -4824,6 +4840,23 @@ declare class QueryBuilder<TModel, TDelegate extends ModelQuerySchemaLike = Mode
4824
4840
  * @returns
4825
4841
  */
4826
4842
  get(): Promise<ArkormCollection<TModel>>;
4843
+ /**
4844
+ * Executes a bounded eager-load query independently for each partition while retaining a
4845
+ * single set-based database query. Returns null when the active adapter cannot represent the
4846
+ * query so the relationship loader can use its correctness fallback.
4847
+ *
4848
+ * @internal
4849
+ *
4850
+ * @param partitionBy
4851
+ * @returns
4852
+ */
4853
+ getForEagerLoad(partitionBy: string[]): Promise<ArkormCollection<TModel> | null>;
4854
+ /** @internal */
4855
+ getRowsForEagerLoad(partitionBy: string[]): Promise<DatabaseRow[] | null>;
4856
+ /** Removes limit and offset clauses from a cloned relationship query. @internal */
4857
+ withoutPagination(): this;
4858
+ /** @internal */
4859
+ hasEagerLoadPagination(): boolean;
4827
4860
  /**
4828
4861
  * Processes the query results in chunks, invoking the callback with each chunk
4829
4862
  * as a collection. Return `false` from the callback to stop early. Resolves to
@@ -5950,6 +5983,11 @@ interface SelectSpec<TModel = unknown> {
5950
5983
  relationFilters?: RelationFilterSpec[];
5951
5984
  aggregates?: AggregateSelection[];
5952
5985
  }
5986
+ interface PartitionedSelectSpec<TModel = unknown> extends SelectSpec<TModel> {
5987
+ partitionBy: string[];
5988
+ perPartitionLimit: number;
5989
+ perPartitionOffset?: number;
5990
+ }
5953
5991
  interface InsertSpec<TModel = unknown> {
5954
5992
  target: QueryTarget<TModel>;
5955
5993
  values: DatabaseRow;
@@ -6066,6 +6104,7 @@ interface AdapterDatabaseCreationResult {
6066
6104
  interface DatabaseAdapter {
6067
6105
  readonly capabilities?: AdapterCapabilities;
6068
6106
  select: <TModel = unknown>(spec: SelectSpec<TModel>) => Promise<DatabaseRows>;
6107
+ selectPerPartition?: <TModel = unknown>(spec: PartitionedSelectSpec<TModel>) => Promise<DatabaseRows>;
6069
6108
  selectOne: <TModel = unknown>(spec: SelectSpec<TModel>) => Promise<DatabaseRow | null>;
6070
6109
  insert: <TModel = unknown>(spec: InsertSpec<TModel>) => Promise<DatabaseRow>;
6071
6110
  insertMany?: <TModel = unknown>(spec: InsertManySpec<TModel>) => Promise<number>;
@@ -6203,6 +6242,7 @@ declare class KyselyDatabaseAdapter implements DatabaseAdapter {
6203
6242
  private resolveTable;
6204
6243
  private resolvePrimaryKey;
6205
6244
  private mapColumn;
6245
+ private buildIdentifierReference;
6206
6246
  private reverseColumnMap;
6207
6247
  private mapRow;
6208
6248
  private mapRows;
@@ -6264,6 +6304,7 @@ declare class KyselyDatabaseAdapter implements DatabaseAdapter {
6264
6304
  private toEagerLoadConstraint;
6265
6305
  private toEagerLoadMap;
6266
6306
  private buildSelectStatement;
6307
+ private buildPartitionedSelectStatement;
6267
6308
  private buildCountStatement;
6268
6309
  private buildExistsStatement;
6269
6310
  private compileInspection;
@@ -6279,6 +6320,7 @@ declare class KyselyDatabaseAdapter implements DatabaseAdapter {
6279
6320
  * @returns A promise that resolves to an array of database rows.
6280
6321
  */
6281
6322
  select<TModel = unknown>(spec: SelectSpec<TModel>): Promise<DatabaseRow[]>;
6323
+ selectPerPartition<TModel = unknown>(spec: PartitionedSelectSpec<TModel>): Promise<DatabaseRow[]>;
6282
6324
  /**
6283
6325
  * Selects a single record from the database matching the specified criteria and returns it as
6284
6326
  * a database row. If multiple records match the criteria, only the first one is returned.
@@ -8720,4 +8762,4 @@ declare class URLDriver {
8720
8762
  url(page: number): string;
8721
8763
  }
8722
8764
  //#endregion
8723
- export { buildPrimaryKeyLine as $, RelationshipModelStatic as $a, DelegateInclude as $i, Arkorm as $n, val as $o, InsertSpec as $r, CaseExpressionNode as $s, PersistedTimestampColumn as $t, isQuerySchemaLike as A, PrismaTransactionContext as Aa, AppliedMigrationsState as Ac, RelationAggregateSpec as Ai, Migration as An, ModelWhereInput as Ao, createPrismaDatabaseAdapter as Ar, EagerLoadQueryForRelationship as As, buildMigrationIdentity as At, applyCreateTableOperation as B, QuerySchemaUpdateArgs as Ba, SchemaForeignKey as Bc, AdapterBindableModel as Bi, MigrateRollbackCommand as Bn, avg as Bo, AdapterQueryOperation as Br, ArkormCollection as Bs, markMigrationApplied as Bt, getRuntimeClient as C, PrismaLikeOrderBy as Ca, MorphToRelationMetadata as Cc, QueryOrderBy as Ci, QueryConstraintException as Cn, ModelEventListener as Co, Seeder as Cr, RelationConstraint as Cs, supportsDatabaseCreation as Ct, getRuntimePrismaClient as D, PrismaLikeWhereInput as Da, RelationMetadataType as Dc, QueryTarget as Di, ArkormException as Dn, ModelRelationshipKey as Do, PrismaDatabaseAdapter as Dr, RelationResult as Ds, toModelName as Dt, getRuntimePaginationURLDriverFactory as E, PrismaLikeSortOrder as Ea, RelationMetadata as Ec, QuerySelectColumn as Ei, ArkormErrorContext as En, ModelOrderByInput as Eo, SeederInput as Er, RelationMetadataProvider as Es, toMigrationFileSlug as Et, PrimaryKeyGenerationPlanner as F, QuerySchemaOrderBy as Fa, PrimaryKeyGeneration as Fc, SoftDeleteQueryMode as Fi, resolveGeneratedExpression as Fn, AggregateExpression as Fo, AdapterDatabaseCreationResult as Fr, RelatedModelFromResult as Fs, findAppliedMigration as Ft, applyMigrationToPrismaSchema as G, Serializable as Ga, SchemaTableAlterOperation as Gc, ArkormDebugHandler as Gi, MakeMigrationCommand as Gn, expressionBuilder as Go, DatabaseAdapter as Gr, FactoryDefinitionAttributes as Gs, resolveMigrationStateFilePath as Gt, applyMigrationRollbackToDatabase as H, QuerySchemaWhere as Ha, SchemaIndex as Hc, ArkormBootContext as Hi, MigrateCommand as Hn, coalesce as Ho, AggregateOperation as Hr, FactoryAttributes as Hs, readAppliedMigrationsState as Ht, PRISMA_ENUM_MEMBER_REGEX as I, QuerySchemaRow as Ia, PrismaMigrationWorkflowOptions as Ic, SortDirection as Ii, ForeignKeyBuilder as In, CaseExpression as Io, AdapterInspectionRequest as Ir, WhereCallback as Is, getLastBatchMigrations as It, buildFieldLine as J, TransactionCallback as Ja, SchemaUniqueConstraint as Jc, CastMap as Ji, DbCommand as Jn, json as Jo, DatabaseRows as Jr, FactoryState as Js, writeAppliedMigrationsStateToStore as Jt, applyOperationsToPrismaSchema as K, SimplePaginationMeta as Ka, SchemaTableCreateOperation as Kc, CastDefinition as Ki, MakeFactoryCommand as Kn, fn as Ko, DatabasePrimitive as Kr, FactoryModelConstructor as Ks, supportsDatabaseMigrationState as Kt, PRISMA_ENUM_REGEX as L, QuerySchemaRows as La, PrismaSchemaSyncOptions as Lc, UpdateManySpec as Li, SeedCommand as Ln, Expression as Lo, AdapterModelFieldStructure as Lr, JoinClause as Ls, getLastMigrationRun as Lt, loadArkormConfig as M, QuerySchemaCreateData as Ma, GeneratedMigrationFile as Mc, RelationLoadPlan as Mi, EnumBuilder as Mn, QuerySchemaForModelInstance as Mo, createKyselyAdapter as Mr, JoinOn as Ms, computeMigrationChecksum as Mt, resetArkormRuntimeForTests as N, QuerySchemaFindManyArgs as Na, MigrationClass as Nc, RelationLoadSpec as Ni, TableBuilder as Nn, RelatedModelClass as No, AdapterCapabilities as Nr, JoinSource as Ns, createEmptyAppliedMigrationsState as Nt, getUserConfig as O, PrismaTransactionCallback as Oa, AppliedMigrationEntry as Oc, QueryTimeCondition as Oi, DB as On, ModelRelationshipResult as Oo, PrismaDelegateNameMapping as Or, RelationResultCache as Os, isMigrationPlanningActive as Ot, runArkormTransaction as P, QuerySchemaInclude as Pa, MigrationInstanceLike as Pc, SelectSpec as Pi, GeneratedColumnExpression as Pn, Model as Po, AdapterCapability as Pr, RelatedModelForRelationship as Ps, deleteAppliedMigrationsStateFromStore as Pt, buildModelBlock as Q, ModelStatic as Qa, DelegateFindManyArgs as Qi, AttributeOptions as Qn, sum as Qo, InsertManySpec as Qr, CaseExpressionBranch as Qs, PersistedTableMetadata as Qt, PRISMA_MODEL_REGEX as R, QuerySchemaSelect as Ra, SchemaColumn as Rc, UpdateSpec as Ri, ModelsSyncCommand as Rn, ExpressionBuilder as Ro, AdapterModelIntrospectionOptions as Rr, LengthAwarePaginator as Rs, getLatestAppliedMigrations as Rt, getRuntimeAdapter as S, PrismaLikeInclude as Sa, MorphToManyRelationMetadata as Sc, QueryNotCondition as Si, QueryExecutionExceptionContext as Sn, ModelEventHandlerConstructor as So, SEEDER_BRAND as Sr, RelationColumnLookupSpec as Ss, stripPrismaSchemaModelsAndEnums as St, getRuntimePaginationCurrentPageResolver as T, PrismaLikeSelect as Ta, PivotModelStatic as Tc, QueryScalarComparisonOperator as Ti, MissingDelegateException as Tn, ModelLifecycleState as To, SeederConstructor as Tr, RelationDefaultValue as Ts, supportsDatabaseReset as Tt, applyMigrationRollbackToPrismaSchema as U, RawSelectInput as Ua, SchemaOperation as Uc, ArkormConfig as Ui, MakeSeederCommand as Un, col as Uo, AggregateSelection as Ur, FactoryCallback as Us, readAppliedMigrationsStateFromStore as Ut, applyDropTableOperation as V, QuerySchemaUpdateData as Va, SchemaForeignKeyAction as Vc, AdapterQueryInspection as Vi, MigrateFreshCommand as Vn, caseWhen as Vo, AdapterTransactionContext as Vr, FactoryAttributeResolver as Vs, markMigrationRun as Vt, applyMigrationToDatabase as W, RuntimeClientLike as Wa, SchemaPrimaryKey as Wc, ArkormDebugEvent as Wi, MakeModelCommand as Wn, count as Wo, AggregateSpec as Wr, FactoryDefinition as Ws, removeAppliedMigration as Wt, buildInverseRelationLine as X, TransactionContext as Xa, TimestampNames as Xc, ClientResolver as Xi, resolveCast as Xn, min as Xo, DeleteManySpec as Xr, AggregateExpressionNode as Xs, PersistedMetadataFeatures as Xt, buildIndexLine as Y, TransactionCapableClient as Ya, TimestampColumnBehavior as Yc, CastType as Yi, CliApp as Yn, max as Yo, DatabaseValue as Yr, MaybePromise as Ys, PersistedColumnMappingsState as Yt, buildMigrationSource as Z, TransactionOptions as Za, TimestampNaming as Zc, DelegateCreateData as Zi, Attribute as Zn, raw as Zo, DeleteSpec as Zr, BinaryExpressionNode as Zs, PersistedPrimaryKeyGeneration as Zt, emitRuntimeDebugEvent as _, PaginationURLDriver as _a, HasOneRelationMetadata as _c, QueryJoinType as _i, UnsupportedAdapterFeatureException as _n, ModelAttributesOf as _o, registerMigrations as _r, Relation as _s, resolveEnumName as _t, getRuntimeCompatibilityAdapter as a, DelegateUpdateArgs as aa, InExpressionNode as ac, QueryExistsCondition as ai, getPersistedEnumTsType as an, QueryBuilder as ao, RuntimePathKey as ar, MorphToRelation as as, deriveRelationAlias as at, getActiveTransactionClient as b, PrismaDelegateLike as ba, MorphManyRelationMetadata as bc, QueryJsonConditionKind as bi, RelationResolutionException as bn, ModelEventDispatcher as bo, registerSeeders as br, RelationAggregateInput as bs, runMigrationWithPrisma as bt, PrismaDelegateMap as c, EagerLoadConstraint as ca, RawExpressionNode as cc, QueryGroupByItem as ci, getPersistedTimestampColumns as cn, AttributeQuerySchema as co, getRegisteredMigrations as cr, MorphManyRelation as cs, escapeRegex as ct, inferDelegateName as d, ModelQuerySchemaLike as da, DatabaseTablePersistedMetadataOptions as dc, QueryJoinBoolean as di, resetPersistedColumnMappingsCache as dn, AttributeUpdateInput as do, getRegisteredSeeders as dr, HasOneRelation as ds, formatDefaultValue as dt, DelegateOrderBy as ea, ColumnExpressionNode as ec, QueryColumnComparisonCondition as ei, applyOperationsToPersistedColumnMappingsState as en, ChunkCallback as eo, Arkormx as er, where as es, buildRelationLine as et, awaitConfiguredModelsRegistration as f, ModelTableCase as fa, BelongsToManyRelationMetadata as fc, QueryJoinColumnConstraint as fi, resolveColumnMappingsFilePath as fn, AttributeWhereInput as fo, loadFactoriesFrom as fr, HasManyThroughRelation as fs, formatEnumDefaultValue as ft, disposeArkormRuntime as g, PaginationOptions as ga, HasManyThroughRelationMetadata as gc, QueryJoinRawConstraint as gi, writePersistedColumnMappingsState as gn, ModelAttributes as go, registerFactories as gr, BelongsToManyRelation as gs, pad as gt, defineConfig as h, PaginationMeta as ha, HasManyRelationMetadata as hc, QueryJoinNullConstraint as hi, validatePersistedMetadataFeaturesForMigrations as hn, ModelAttributeValue as ho, loadSeedersFrom as hr, SingleResultRelation as hs, getMigrationPlan as ht, RuntimeModuleLoader as i, DelegateUniqueWhere as ia, FunctionExpressionNode as ic, QueryDayCondition as ii, getPersistedEnumMap as in, GroupByAggregateSpec as io, RuntimePathInput as ir, SetBasedEagerLoader as is, deriveInverseRelationAlias as it, isTransactionCapableClient as j, PrismaTransactionOptions as ja, GenerateMigrationOptions as jc, RelationFilterSpec as ji, SchemaBuilder as jn, QuerySchemaForModel as jo, KyselyDatabaseAdapter as jr, EagerLoadRelations as js, buildMigrationRunId as jt, isDelegateLike as k, PrismaTransactionCapableClient as ka, AppliedMigrationRun as kc, RawQuerySpec as ki, MIGRATION_BRAND as kn, ModelUpdateData as ko, createPrismaCompatibilityAdapter as kr, RelationTableLookupSpec as ks, runInMigrationPlanning as kt, createPrismaAdapter as l, EagerLoadMap as la, ValueExpressionNode as lc, QueryGroupCondition as li, readPersistedColumnMappingsState as ln, AttributeSchemaDelegate as lo, getRegisteredModels as lr, MorphedByManyRelation as ls, findEnumBlock as lt, configureArkormRuntime as m, PaginationCurrentPageResolver as ma, ColumnMap as mc, QueryJoinNestedConstraint as mi, syncPersistedColumnMappingsFromState as mn, GlobalScope as mo, loadModelsFrom as mr, BelongsToRelation as ms, generateMigrationFile as mt, PivotModel as n, DelegateRows as na, ExpressionJsonCast as nc, QueryComparisonOperator as ni, deletePersistedColumnMappingsState as nn, ExpressionSelectMap as no, RegisteredModel as nr, ModelFactory as ns, createMigrationTimestamp as nt, resolveRuntimeCompatibilityQuerySchema as o, DelegateUpdateData as oa, JsonExpressionNode as oc, QueryExpressionCondition as oi, getPersistedPrimaryKeyGeneration as on, AttributeCreateInput as oo, RuntimePathMap as or, MorphToManyRelation as os, deriveRelationFieldName as ot, bindAdapterToModels as p, NamingCase as pa, BelongsToRelationMetadata as pc, QueryJoinConstraint as pi, resolvePersistedMetadataFeatures as pn, DelegateForModelSchema as po, loadMigrationsFrom as pr, HasManyRelation as ps, formatRelationAction as pt, buildEnumBlock as q, SoftDeleteConfig as qa, SchemaTableDropOperation as qc, CastHandler as qi, InitCommand as qn, fromExpressionNode as qo, DatabaseRow as qr, FactoryRelationshipResolver as qs, writeAppliedMigrationsState as qt, LoadedRuntimeModule as r, DelegateSelect as ra, ExpressionNode as rc, QueryCondition as ri, getPersistedColumnMap as rn, GroupByAggregateRow as ro, RuntimeConstructor as rr, defineFactory as rs, deriveCollectionFieldName as rt, resolveRuntimeCompatibilityQuerySchemaOrThrow as s, DelegateWhere as sa, NullCheckExpressionNode as sc, QueryFullTextCondition as si, getPersistedTableMetadata as sn, AttributeOrderBy as so, getRegisteredFactories as sr, MorphOneRelation as ss, deriveSingularFieldName as st, URLDriver as t, DelegateRow as ta, ExpressionBinaryOperator as tc, QueryComparisonCondition as ti, createEmptyPersistedColumnMappingsState as tn, EachCallback as to, RegisteredFactory as tr, InlineFactory as ts, buildUniqueConstraintLine as tt, createPrismaDelegateMap as u, GetUserConfig as ua, DatabaseTableOptions as uc, QueryJoin as ui, rebuildPersistedColumnMappingsState as un, AttributeSelect as uo, getRegisteredPaths as ur, HasOneThroughRelation as us, findModelBlock as ut, ensureArkormConfigLoading as v, PaginationURLDriverFactory as va, HasOneThroughRelationMetadata as vc, QueryJoinValueConstraint as vi, UniqueConstraintResolutionException as vn, ModelCreateData as vo, registerModels as vr, RelationTableLoader as vs, resolveMigrationClassName as vt, getRuntimeDebugHandler as w, PrismaLikeScalarFilter as wa, MorphedByManyRelationMetadata as wc, QueryRawCondition as wi, ModelNotFoundException as wn, ModelEventName as wo, SeederCallArgument as wr, RelationDefaultResolver as ws, supportsDatabaseMigrationExecution as wt, getDefaultStubsPath as x, PrismaFindManyArgsLike as xa, MorphOneRelationMetadata as xc, QueryLogicalOperator as xi, QueryExecutionException as xn, ModelEventHandler as xo, resetRuntimeRegistryForTests as xr, RelationAggregateType as xs, runPrismaCommand as xt, getActiveTransactionAdapter as y, PrismaClientLike as ya, ModelMetadata as yc, QueryJsonCondition as yi, ScopeNotDefinedException as yn, ModelDeclaredAttributeKey as yo, registerPaths as yr, RelationAggregateConstraint as ys, resolvePrismaType as yt, applyAlterTableOperation as z, QuerySchemaUniqueWhere as za, SchemaColumnType as zc, UpsertSpec as zi, MigrationHistoryCommand as zn, JsonExpression as zo, AdapterModelStructure as zr, Paginator as zs, isMigrationApplied as zt };
8765
+ export { buildPrimaryKeyLine as $, ModelStatic as $a, DelegateFindManyArgs as $i, Arkorm as $n, sum as $o, InsertSpec as $r, CaseExpressionBranch as $s, PersistedTimestampColumn as $t, isQuerySchemaLike as A, PrismaTransactionCapableClient as Aa, AppliedMigrationRun as Ac, RawQuerySpec as Ai, Migration as An, ModelUpdateData as Ao, createPrismaDatabaseAdapter as Ar, RelationTableLookupSpec as As, buildMigrationIdentity as At, applyCreateTableOperation as B, QuerySchemaUniqueWhere as Ba, SchemaColumnType as Bc, UpsertSpec as Bi, MigrateRollbackCommand as Bn, JsonExpression as Bo, AdapterQueryOperation as Br, Paginator as Bs, markMigrationApplied as Bt, getRuntimeClient as C, PrismaLikeInclude as Ca, MorphToManyRelationMetadata as Cc, QueryNotCondition as Ci, QueryConstraintException as Cn, ModelEventHandlerConstructor as Co, Seeder as Cr, RelationColumnLookupSpec as Cs, supportsDatabaseCreation as Ct, getRuntimePrismaClient as D, PrismaLikeSortOrder as Da, RelationMetadata as Dc, QuerySelectColumn as Di, ArkormException as Dn, ModelOrderByInput as Do, PrismaDatabaseAdapter as Dr, RelationMetadataProvider as Ds, toModelName as Dt, getRuntimePaginationURLDriverFactory as E, PrismaLikeSelect as Ea, PivotModelStatic as Ec, QueryScalarComparisonOperator as Ei, ArkormErrorContext as En, ModelLifecycleState as Eo, SeederInput as Er, RelationDefaultValue as Es, toMigrationFileSlug as Et, PrimaryKeyGenerationPlanner as F, QuerySchemaInclude as Fa, MigrationInstanceLike as Fc, SelectSpec as Fi, resolveGeneratedExpression as Fn, Model as Fo, AdapterDatabaseCreationResult as Fr, RelatedModelForRelationship as Fs, findAppliedMigration as Ft, applyMigrationToPrismaSchema as G, RuntimeClientLike as Ga, SchemaPrimaryKey as Gc, ArkormDebugEvent as Gi, MakeMigrationCommand as Gn, count as Go, DatabaseAdapter as Gr, FactoryDefinition as Gs, resolveMigrationStateFilePath as Gt, applyMigrationRollbackToDatabase as H, QuerySchemaUpdateData as Ha, SchemaForeignKeyAction as Hc, AdapterQueryInspection as Hi, MigrateCommand as Hn, caseWhen as Ho, AggregateOperation as Hr, FactoryAttributeResolver as Hs, readAppliedMigrationsState as Ht, PRISMA_ENUM_MEMBER_REGEX as I, QuerySchemaOrderBy as Ia, PrimaryKeyGeneration as Ic, SoftDeleteQueryMode as Ii, ForeignKeyBuilder as In, AggregateExpression as Io, AdapterInspectionRequest as Ir, RelatedModelFromResult as Is, getLastBatchMigrations as It, buildFieldLine as J, SoftDeleteConfig as Ja, SchemaTableDropOperation as Jc, CastHandler as Ji, DbCommand as Jn, fromExpressionNode as Jo, DatabaseRows as Jr, FactoryRelationshipResolver as Js, writeAppliedMigrationsStateToStore as Jt, applyOperationsToPrismaSchema as K, Serializable as Ka, SchemaTableAlterOperation as Kc, ArkormDebugHandler as Ki, MakeFactoryCommand as Kn, expressionBuilder as Ko, DatabasePrimitive as Kr, FactoryDefinitionAttributes as Ks, supportsDatabaseMigrationState as Kt, PRISMA_ENUM_REGEX as L, QuerySchemaRow as La, PrismaMigrationWorkflowOptions as Lc, SortDirection as Li, SeedCommand as Ln, CaseExpression as Lo, AdapterModelFieldStructure as Lr, WhereCallback as Ls, getLastMigrationRun as Lt, loadArkormConfig as M, PrismaTransactionOptions as Ma, GenerateMigrationOptions as Mc, RelationFilterSpec as Mi, EnumBuilder as Mn, QuerySchemaForModel as Mo, createKyselyAdapter as Mr, EagerLoadRelations as Ms, computeMigrationChecksum as Mt, resetArkormRuntimeForTests as N, QuerySchemaCreateData as Na, GeneratedMigrationFile as Nc, RelationLoadPlan as Ni, TableBuilder as Nn, QuerySchemaForModelInstance as No, AdapterCapabilities as Nr, JoinOn as Ns, createEmptyAppliedMigrationsState as Nt, getUserConfig as O, PrismaLikeWhereInput as Oa, RelationMetadataType as Oc, QueryTarget as Oi, DB as On, ModelRelationshipKey as Oo, PrismaDelegateNameMapping as Or, RelationResult as Os, isMigrationPlanningActive as Ot, runArkormTransaction as P, QuerySchemaFindManyArgs as Pa, MigrationClass as Pc, RelationLoadSpec as Pi, GeneratedColumnExpression as Pn, RelatedModelClass as Po, AdapterCapability as Pr, JoinSource as Ps, deleteAppliedMigrationsStateFromStore as Pt, buildModelBlock as Q, TransactionOptions as Qa, TimestampNaming as Qc, DelegateCreateData as Qi, AttributeOptions as Qn, raw as Qo, InsertManySpec as Qr, BinaryExpressionNode as Qs, PersistedTableMetadata as Qt, PRISMA_MODEL_REGEX as R, QuerySchemaRows as Ra, PrismaSchemaSyncOptions as Rc, UpdateManySpec as Ri, ModelsSyncCommand as Rn, Expression as Ro, AdapterModelIntrospectionOptions as Rr, JoinClause as Rs, getLatestAppliedMigrations as Rt, getRuntimeAdapter as S, PrismaFindManyArgsLike as Sa, MorphOneRelationMetadata as Sc, QueryLogicalOperator as Si, QueryExecutionExceptionContext as Sn, ModelEventHandler as So, SEEDER_BRAND as Sr, RelationAggregateType as Ss, stripPrismaSchemaModelsAndEnums as St, getRuntimePaginationCurrentPageResolver as T, PrismaLikeScalarFilter as Ta, MorphedByManyRelationMetadata as Tc, QueryRawCondition as Ti, MissingDelegateException as Tn, ModelEventName as To, SeederConstructor as Tr, RelationDefaultResolver as Ts, supportsDatabaseReset as Tt, applyMigrationRollbackToPrismaSchema as U, QuerySchemaWhere as Ua, SchemaIndex as Uc, ArkormBootContext as Ui, MakeSeederCommand as Un, coalesce as Uo, AggregateSelection as Ur, FactoryAttributes as Us, readAppliedMigrationsStateFromStore as Ut, applyDropTableOperation as V, QuerySchemaUpdateArgs as Va, SchemaForeignKey as Vc, AdapterBindableModel as Vi, MigrateFreshCommand as Vn, avg as Vo, AdapterTransactionContext as Vr, ArkormCollection as Vs, markMigrationRun as Vt, applyMigrationToDatabase as W, RawSelectInput as Wa, SchemaOperation as Wc, ArkormConfig as Wi, MakeModelCommand as Wn, col as Wo, AggregateSpec as Wr, FactoryCallback as Ws, removeAppliedMigration as Wt, buildInverseRelationLine as X, TransactionCapableClient as Xa, TimestampColumnBehavior as Xc, CastType as Xi, resolveCast as Xn, max as Xo, DeleteManySpec as Xr, MaybePromise as Xs, PersistedMetadataFeatures as Xt, buildIndexLine as Y, TransactionCallback as Ya, SchemaUniqueConstraint as Yc, CastMap as Yi, CliApp as Yn, json as Yo, DatabaseValue as Yr, FactoryState as Ys, PersistedColumnMappingsState as Yt, buildMigrationSource as Z, TransactionContext as Za, TimestampNames as Zc, ClientResolver as Zi, Attribute as Zn, min as Zo, DeleteSpec as Zr, AggregateExpressionNode as Zs, PersistedPrimaryKeyGeneration as Zt, emitRuntimeDebugEvent as _, PaginationOptions as _a, HasManyThroughRelationMetadata as _c, QueryJoinRawConstraint as _i, UnsupportedAdapterFeatureException as _n, ModelAttributes as _o, registerMigrations as _r, BelongsToManyRelation as _s, resolveEnumName as _t, getRuntimeCompatibilityAdapter as a, DelegateUniqueWhere as aa, FunctionExpressionNode as ac, QueryDayCondition as ai, getPersistedEnumTsType as an, GroupByAggregateSpec as ao, RuntimePathKey as ar, SetBasedEagerLoader as as, deriveRelationAlias as at, getActiveTransactionClient as b, PrismaClientLike as ba, ModelMetadata as bc, QueryJsonCondition as bi, RelationResolutionException as bn, ModelDeclaredAttributeKey as bo, registerSeeders as br, RelationAggregateConstraint as bs, runMigrationWithPrisma as bt, PrismaDelegateMap as c, DelegateWhere as ca, NullCheckExpressionNode as cc, QueryFullTextCondition as ci, getPersistedTimestampColumns as cn, AttributeOrderBy as co, getRegisteredMigrations as cr, MorphOneRelation as cs, escapeRegex as ct, inferDelegateName as d, GetUserConfig as da, DatabaseTableOptions as dc, QueryJoin as di, resetPersistedColumnMappingsCache as dn, AttributeSelect as do, getRegisteredSeeders as dr, HasOneThroughRelation as ds, formatDefaultValue as dt, DelegateInclude as ea, CaseExpressionNode as ec, PartitionedSelectSpec as ei, applyOperationsToPersistedColumnMappingsState as en, RelationshipModelStatic as eo, Arkormx as er, val as es, buildRelationLine as et, awaitConfiguredModelsRegistration as f, ModelQuerySchemaLike as fa, DatabaseTablePersistedMetadataOptions as fc, QueryJoinBoolean as fi, resolveColumnMappingsFilePath as fn, AttributeUpdateInput as fo, loadFactoriesFrom as fr, HasOneRelation as fs, formatEnumDefaultValue as ft, disposeArkormRuntime as g, PaginationMeta as ga, HasManyRelationMetadata as gc, QueryJoinNullConstraint as gi, writePersistedColumnMappingsState as gn, ModelAttributeValue as go, registerFactories as gr, SingleResultRelation as gs, pad as gt, defineConfig as h, PaginationCurrentPageResolver as ha, ColumnMap as hc, QueryJoinNestedConstraint as hi, validatePersistedMetadataFeaturesForMigrations as hn, GlobalScope as ho, loadSeedersFrom as hr, BelongsToRelation as hs, getMigrationPlan as ht, RuntimeModuleLoader as i, DelegateSelect as ia, ExpressionNode as ic, QueryCondition as ii, getPersistedEnumMap as in, GroupByAggregateRow as io, RuntimePathInput as ir, defineFactory as is, deriveInverseRelationAlias as it, isTransactionCapableClient as j, PrismaTransactionContext as ja, AppliedMigrationsState as jc, RelationAggregateSpec as ji, SchemaBuilder as jn, ModelWhereInput as jo, KyselyDatabaseAdapter as jr, EagerLoadQueryForRelationship as js, buildMigrationRunId as jt, isDelegateLike as k, PrismaTransactionCallback as ka, AppliedMigrationEntry as kc, QueryTimeCondition as ki, MIGRATION_BRAND as kn, ModelRelationshipResult as ko, createPrismaCompatibilityAdapter as kr, RelationResultCache as ks, runInMigrationPlanning as kt, createPrismaAdapter as l, EagerLoadConstraint as la, RawExpressionNode as lc, QueryGroupByItem as li, readPersistedColumnMappingsState as ln, AttributeQuerySchema as lo, getRegisteredModels as lr, MorphManyRelation as ls, findEnumBlock as lt, configureArkormRuntime as m, NamingCase as ma, BelongsToRelationMetadata as mc, QueryJoinConstraint as mi, syncPersistedColumnMappingsFromState as mn, DelegateForModelSchema as mo, loadModelsFrom as mr, HasManyRelation as ms, generateMigrationFile as mt, PivotModel as n, DelegateRow as na, ExpressionBinaryOperator as nc, QueryComparisonCondition as ni, deletePersistedColumnMappingsState as nn, EachCallback as no, RegisteredModel as nr, InlineFactory as ns, createMigrationTimestamp as nt, resolveRuntimeCompatibilityQuerySchema as o, DelegateUpdateArgs as oa, InExpressionNode as oc, QueryExistsCondition as oi, getPersistedPrimaryKeyGeneration as on, QueryBuilder as oo, RuntimePathMap as or, MorphToRelation as os, deriveRelationFieldName as ot, bindAdapterToModels as p, ModelTableCase as pa, BelongsToManyRelationMetadata as pc, QueryJoinColumnConstraint as pi, resolvePersistedMetadataFeatures as pn, AttributeWhereInput as po, loadMigrationsFrom as pr, HasManyThroughRelation as ps, formatRelationAction as pt, buildEnumBlock as q, SimplePaginationMeta as qa, SchemaTableCreateOperation as qc, CastDefinition as qi, InitCommand as qn, fn as qo, DatabaseRow as qr, FactoryModelConstructor as qs, writeAppliedMigrationsState as qt, LoadedRuntimeModule as r, DelegateRows as ra, ExpressionJsonCast as rc, QueryComparisonOperator as ri, getPersistedColumnMap as rn, ExpressionSelectMap as ro, RuntimeConstructor as rr, ModelFactory as rs, deriveCollectionFieldName as rt, resolveRuntimeCompatibilityQuerySchemaOrThrow as s, DelegateUpdateData as sa, JsonExpressionNode as sc, QueryExpressionCondition as si, getPersistedTableMetadata as sn, AttributeCreateInput as so, getRegisteredFactories as sr, MorphToManyRelation as ss, deriveSingularFieldName as st, URLDriver as t, DelegateOrderBy as ta, ColumnExpressionNode as tc, QueryColumnComparisonCondition as ti, createEmptyPersistedColumnMappingsState as tn, ChunkCallback as to, RegisteredFactory as tr, where as ts, buildUniqueConstraintLine as tt, createPrismaDelegateMap as u, EagerLoadMap as ua, ValueExpressionNode as uc, QueryGroupCondition as ui, rebuildPersistedColumnMappingsState as un, AttributeSchemaDelegate as uo, getRegisteredPaths as ur, MorphedByManyRelation as us, findModelBlock as ut, ensureArkormConfigLoading as v, PaginationURLDriver as va, HasOneRelationMetadata as vc, QueryJoinType as vi, UniqueConstraintResolutionException as vn, ModelAttributesOf as vo, registerModels as vr, Relation as vs, resolveMigrationClassName as vt, getRuntimeDebugHandler as w, PrismaLikeOrderBy as wa, MorphToRelationMetadata as wc, QueryOrderBy as wi, ModelNotFoundException as wn, ModelEventListener as wo, SeederCallArgument as wr, RelationConstraint as ws, supportsDatabaseMigrationExecution as wt, getDefaultStubsPath as x, PrismaDelegateLike as xa, MorphManyRelationMetadata as xc, QueryJsonConditionKind as xi, QueryExecutionException as xn, ModelEventDispatcher as xo, resetRuntimeRegistryForTests as xr, RelationAggregateInput as xs, runPrismaCommand as xt, getActiveTransactionAdapter as y, PaginationURLDriverFactory as ya, HasOneThroughRelationMetadata as yc, QueryJoinValueConstraint as yi, ScopeNotDefinedException as yn, ModelCreateData as yo, registerPaths as yr, RelationTableLoader as ys, resolvePrismaType as yt, applyAlterTableOperation as z, QuerySchemaSelect as za, SchemaColumn as zc, UpdateSpec as zi, MigrationHistoryCommand as zn, ExpressionBuilder as zo, AdapterModelStructure as zr, LengthAwarePaginator as zs, isMigrationApplied as zt };
@@ -2164,6 +2164,8 @@ declare class SetBasedEagerLoader {
2164
2164
  * @returns
2165
2165
  */
2166
2166
  private loadBelongsToMany;
2167
+ private loadLimitedBelongsToMany;
2168
+ private loadLimitedBelongsToManyIndividually;
2167
2169
  private buildBelongsToManyPivotWhere;
2168
2170
  private getBelongsToManyPivotColumns;
2169
2171
  private shouldAttachBelongsToManyPivot;
@@ -2198,6 +2200,8 @@ declare class SetBasedEagerLoader {
2198
2200
  * @returns
2199
2201
  */
2200
2202
  private loadHasOneThrough;
2203
+ private loadLimitedThrough;
2204
+ private loadLimitedThroughIndividually;
2201
2205
  /**
2202
2206
  * Loads an inverse polymorphic ("morph to") relationship for the set of
2203
2207
  * models. Parents are grouped by their morph type, so each distinct type
@@ -2228,6 +2232,8 @@ declare class SetBasedEagerLoader {
2228
2232
  * @param constraint
2229
2233
  */
2230
2234
  private loadMorphMany;
2235
+ private loadPolymorphicManyToMany;
2236
+ private loadPolymorphicManyToManyIndividually;
2231
2237
  /**
2232
2238
  * Batch-loads the children for a morphOne/morphMany relationship. Parents are
2233
2239
  * grouped by their own morph type (constructor name), so each distinct type
@@ -2259,6 +2265,7 @@ declare class SetBasedEagerLoader {
2259
2265
  * @returns
2260
2266
  */
2261
2267
  private applyConstraint;
2268
+ private getPartitionedModels;
2262
2269
  /**
2263
2270
  * Collects unique values from the set of models based on a resolver function, which
2264
2271
  * is used to extract the value from each model.
@@ -4810,6 +4817,15 @@ declare class QueryBuilder<TModel, TDelegate extends ModelQuerySchemaLike = Mode
4810
4817
  * @returns
4811
4818
  */
4812
4819
  inspect(operation?: Extract<AdapterQueryOperation, 'select' | 'selectOne' | 'count' | 'exists'>): AdapterQueryInspection | null;
4820
+ /**
4821
+ * Compiles the current query into SQL without executing it. Values remain represented by the
4822
+ * adapter's parameter placeholders; use {@link inspect} when the corresponding bindings are
4823
+ * also required.
4824
+ *
4825
+ * @param operation
4826
+ * @returns
4827
+ */
4828
+ toSql(operation?: Extract<AdapterQueryOperation, 'select' | 'selectOne' | 'count' | 'exists'>): string;
4813
4829
  /**
4814
4830
  * Sets offset/limit for a 1-based page.
4815
4831
  *
@@ -4824,6 +4840,23 @@ declare class QueryBuilder<TModel, TDelegate extends ModelQuerySchemaLike = Mode
4824
4840
  * @returns
4825
4841
  */
4826
4842
  get(): Promise<ArkormCollection<TModel>>;
4843
+ /**
4844
+ * Executes a bounded eager-load query independently for each partition while retaining a
4845
+ * single set-based database query. Returns null when the active adapter cannot represent the
4846
+ * query so the relationship loader can use its correctness fallback.
4847
+ *
4848
+ * @internal
4849
+ *
4850
+ * @param partitionBy
4851
+ * @returns
4852
+ */
4853
+ getForEagerLoad(partitionBy: string[]): Promise<ArkormCollection<TModel> | null>;
4854
+ /** @internal */
4855
+ getRowsForEagerLoad(partitionBy: string[]): Promise<DatabaseRow[] | null>;
4856
+ /** Removes limit and offset clauses from a cloned relationship query. @internal */
4857
+ withoutPagination(): this;
4858
+ /** @internal */
4859
+ hasEagerLoadPagination(): boolean;
4827
4860
  /**
4828
4861
  * Processes the query results in chunks, invoking the callback with each chunk
4829
4862
  * as a collection. Return `false` from the callback to stop early. Resolves to
@@ -5950,6 +5983,11 @@ interface SelectSpec<TModel = unknown> {
5950
5983
  relationFilters?: RelationFilterSpec[];
5951
5984
  aggregates?: AggregateSelection[];
5952
5985
  }
5986
+ interface PartitionedSelectSpec<TModel = unknown> extends SelectSpec<TModel> {
5987
+ partitionBy: string[];
5988
+ perPartitionLimit: number;
5989
+ perPartitionOffset?: number;
5990
+ }
5953
5991
  interface InsertSpec<TModel = unknown> {
5954
5992
  target: QueryTarget<TModel>;
5955
5993
  values: DatabaseRow;
@@ -6066,6 +6104,7 @@ interface AdapterDatabaseCreationResult {
6066
6104
  interface DatabaseAdapter {
6067
6105
  readonly capabilities?: AdapterCapabilities;
6068
6106
  select: <TModel = unknown>(spec: SelectSpec<TModel>) => Promise<DatabaseRows>;
6107
+ selectPerPartition?: <TModel = unknown>(spec: PartitionedSelectSpec<TModel>) => Promise<DatabaseRows>;
6069
6108
  selectOne: <TModel = unknown>(spec: SelectSpec<TModel>) => Promise<DatabaseRow | null>;
6070
6109
  insert: <TModel = unknown>(spec: InsertSpec<TModel>) => Promise<DatabaseRow>;
6071
6110
  insertMany?: <TModel = unknown>(spec: InsertManySpec<TModel>) => Promise<number>;
@@ -6203,6 +6242,7 @@ declare class KyselyDatabaseAdapter implements DatabaseAdapter {
6203
6242
  private resolveTable;
6204
6243
  private resolvePrimaryKey;
6205
6244
  private mapColumn;
6245
+ private buildIdentifierReference;
6206
6246
  private reverseColumnMap;
6207
6247
  private mapRow;
6208
6248
  private mapRows;
@@ -6264,6 +6304,7 @@ declare class KyselyDatabaseAdapter implements DatabaseAdapter {
6264
6304
  private toEagerLoadConstraint;
6265
6305
  private toEagerLoadMap;
6266
6306
  private buildSelectStatement;
6307
+ private buildPartitionedSelectStatement;
6267
6308
  private buildCountStatement;
6268
6309
  private buildExistsStatement;
6269
6310
  private compileInspection;
@@ -6279,6 +6320,7 @@ declare class KyselyDatabaseAdapter implements DatabaseAdapter {
6279
6320
  * @returns A promise that resolves to an array of database rows.
6280
6321
  */
6281
6322
  select<TModel = unknown>(spec: SelectSpec<TModel>): Promise<DatabaseRow[]>;
6323
+ selectPerPartition<TModel = unknown>(spec: PartitionedSelectSpec<TModel>): Promise<DatabaseRow[]>;
6282
6324
  /**
6283
6325
  * Selects a single record from the database matching the specified criteria and returns it as
6284
6326
  * a database row. If multiple records match the criteria, only the first one is returned.
@@ -8720,4 +8762,4 @@ declare class URLDriver {
8720
8762
  url(page: number): string;
8721
8763
  }
8722
8764
  //#endregion
8723
- export { buildPrimaryKeyLine as $, RelationshipModelStatic as $a, DelegateInclude as $i, Arkorm as $n, val as $o, InsertSpec as $r, CaseExpressionNode as $s, PersistedTimestampColumn as $t, isQuerySchemaLike as A, PrismaTransactionContext as Aa, AppliedMigrationsState as Ac, RelationAggregateSpec as Ai, Migration as An, ModelWhereInput as Ao, createPrismaDatabaseAdapter as Ar, EagerLoadQueryForRelationship as As, buildMigrationIdentity as At, applyCreateTableOperation as B, QuerySchemaUpdateArgs as Ba, SchemaForeignKey as Bc, AdapterBindableModel as Bi, MigrateRollbackCommand as Bn, avg as Bo, AdapterQueryOperation as Br, ArkormCollection as Bs, markMigrationApplied as Bt, getRuntimeClient as C, PrismaLikeOrderBy as Ca, MorphToRelationMetadata as Cc, QueryOrderBy as Ci, QueryConstraintException as Cn, ModelEventListener as Co, Seeder as Cr, RelationConstraint as Cs, supportsDatabaseCreation as Ct, getRuntimePrismaClient as D, PrismaLikeWhereInput as Da, RelationMetadataType as Dc, QueryTarget as Di, ArkormException as Dn, ModelRelationshipKey as Do, PrismaDatabaseAdapter as Dr, RelationResult as Ds, toModelName as Dt, getRuntimePaginationURLDriverFactory as E, PrismaLikeSortOrder as Ea, RelationMetadata as Ec, QuerySelectColumn as Ei, ArkormErrorContext as En, ModelOrderByInput as Eo, SeederInput as Er, RelationMetadataProvider as Es, toMigrationFileSlug as Et, PrimaryKeyGenerationPlanner as F, QuerySchemaOrderBy as Fa, PrimaryKeyGeneration as Fc, SoftDeleteQueryMode as Fi, resolveGeneratedExpression as Fn, AggregateExpression as Fo, AdapterDatabaseCreationResult as Fr, RelatedModelFromResult as Fs, findAppliedMigration as Ft, applyMigrationToPrismaSchema as G, Serializable as Ga, SchemaTableAlterOperation as Gc, ArkormDebugHandler as Gi, MakeMigrationCommand as Gn, expressionBuilder as Go, DatabaseAdapter as Gr, FactoryDefinitionAttributes as Gs, resolveMigrationStateFilePath as Gt, applyMigrationRollbackToDatabase as H, QuerySchemaWhere as Ha, SchemaIndex as Hc, ArkormBootContext as Hi, MigrateCommand as Hn, coalesce as Ho, AggregateOperation as Hr, FactoryAttributes as Hs, readAppliedMigrationsState as Ht, PRISMA_ENUM_MEMBER_REGEX as I, QuerySchemaRow as Ia, PrismaMigrationWorkflowOptions as Ic, SortDirection as Ii, ForeignKeyBuilder as In, CaseExpression as Io, AdapterInspectionRequest as Ir, WhereCallback as Is, getLastBatchMigrations as It, buildFieldLine as J, TransactionCallback as Ja, SchemaUniqueConstraint as Jc, CastMap as Ji, DbCommand as Jn, json as Jo, DatabaseRows as Jr, FactoryState as Js, writeAppliedMigrationsStateToStore as Jt, applyOperationsToPrismaSchema as K, SimplePaginationMeta as Ka, SchemaTableCreateOperation as Kc, CastDefinition as Ki, MakeFactoryCommand as Kn, fn as Ko, DatabasePrimitive as Kr, FactoryModelConstructor as Ks, supportsDatabaseMigrationState as Kt, PRISMA_ENUM_REGEX as L, QuerySchemaRows as La, PrismaSchemaSyncOptions as Lc, UpdateManySpec as Li, SeedCommand as Ln, Expression as Lo, AdapterModelFieldStructure as Lr, JoinClause as Ls, getLastMigrationRun as Lt, loadArkormConfig as M, QuerySchemaCreateData as Ma, GeneratedMigrationFile as Mc, RelationLoadPlan as Mi, EnumBuilder as Mn, QuerySchemaForModelInstance as Mo, createKyselyAdapter as Mr, JoinOn as Ms, computeMigrationChecksum as Mt, resetArkormRuntimeForTests as N, QuerySchemaFindManyArgs as Na, MigrationClass as Nc, RelationLoadSpec as Ni, TableBuilder as Nn, RelatedModelClass as No, AdapterCapabilities as Nr, JoinSource as Ns, createEmptyAppliedMigrationsState as Nt, getUserConfig as O, PrismaTransactionCallback as Oa, AppliedMigrationEntry as Oc, QueryTimeCondition as Oi, DB as On, ModelRelationshipResult as Oo, PrismaDelegateNameMapping as Or, RelationResultCache as Os, isMigrationPlanningActive as Ot, runArkormTransaction as P, QuerySchemaInclude as Pa, MigrationInstanceLike as Pc, SelectSpec as Pi, GeneratedColumnExpression as Pn, Model as Po, AdapterCapability as Pr, RelatedModelForRelationship as Ps, deleteAppliedMigrationsStateFromStore as Pt, buildModelBlock as Q, ModelStatic as Qa, DelegateFindManyArgs as Qi, AttributeOptions as Qn, sum as Qo, InsertManySpec as Qr, CaseExpressionBranch as Qs, PersistedTableMetadata as Qt, PRISMA_MODEL_REGEX as R, QuerySchemaSelect as Ra, SchemaColumn as Rc, UpdateSpec as Ri, ModelsSyncCommand as Rn, ExpressionBuilder as Ro, AdapterModelIntrospectionOptions as Rr, LengthAwarePaginator as Rs, getLatestAppliedMigrations as Rt, getRuntimeAdapter as S, PrismaLikeInclude as Sa, MorphToManyRelationMetadata as Sc, QueryNotCondition as Si, QueryExecutionExceptionContext as Sn, ModelEventHandlerConstructor as So, SEEDER_BRAND as Sr, RelationColumnLookupSpec as Ss, stripPrismaSchemaModelsAndEnums as St, getRuntimePaginationCurrentPageResolver as T, PrismaLikeSelect as Ta, PivotModelStatic as Tc, QueryScalarComparisonOperator as Ti, MissingDelegateException as Tn, ModelLifecycleState as To, SeederConstructor as Tr, RelationDefaultValue as Ts, supportsDatabaseReset as Tt, applyMigrationRollbackToPrismaSchema as U, RawSelectInput as Ua, SchemaOperation as Uc, ArkormConfig as Ui, MakeSeederCommand as Un, col as Uo, AggregateSelection as Ur, FactoryCallback as Us, readAppliedMigrationsStateFromStore as Ut, applyDropTableOperation as V, QuerySchemaUpdateData as Va, SchemaForeignKeyAction as Vc, AdapterQueryInspection as Vi, MigrateFreshCommand as Vn, caseWhen as Vo, AdapterTransactionContext as Vr, FactoryAttributeResolver as Vs, markMigrationRun as Vt, applyMigrationToDatabase as W, RuntimeClientLike as Wa, SchemaPrimaryKey as Wc, ArkormDebugEvent as Wi, MakeModelCommand as Wn, count as Wo, AggregateSpec as Wr, FactoryDefinition as Ws, removeAppliedMigration as Wt, buildInverseRelationLine as X, TransactionContext as Xa, TimestampNames as Xc, ClientResolver as Xi, resolveCast as Xn, min as Xo, DeleteManySpec as Xr, AggregateExpressionNode as Xs, PersistedMetadataFeatures as Xt, buildIndexLine as Y, TransactionCapableClient as Ya, TimestampColumnBehavior as Yc, CastType as Yi, CliApp as Yn, max as Yo, DatabaseValue as Yr, MaybePromise as Ys, PersistedColumnMappingsState as Yt, buildMigrationSource as Z, TransactionOptions as Za, TimestampNaming as Zc, DelegateCreateData as Zi, Attribute as Zn, raw as Zo, DeleteSpec as Zr, BinaryExpressionNode as Zs, PersistedPrimaryKeyGeneration as Zt, emitRuntimeDebugEvent as _, PaginationURLDriver as _a, HasOneRelationMetadata as _c, QueryJoinType as _i, UnsupportedAdapterFeatureException as _n, ModelAttributesOf as _o, registerMigrations as _r, Relation as _s, resolveEnumName as _t, getRuntimeCompatibilityAdapter as a, DelegateUpdateArgs as aa, InExpressionNode as ac, QueryExistsCondition as ai, getPersistedEnumTsType as an, QueryBuilder as ao, RuntimePathKey as ar, MorphToRelation as as, deriveRelationAlias as at, getActiveTransactionClient as b, PrismaDelegateLike as ba, MorphManyRelationMetadata as bc, QueryJsonConditionKind as bi, RelationResolutionException as bn, ModelEventDispatcher as bo, registerSeeders as br, RelationAggregateInput as bs, runMigrationWithPrisma as bt, PrismaDelegateMap as c, EagerLoadConstraint as ca, RawExpressionNode as cc, QueryGroupByItem as ci, getPersistedTimestampColumns as cn, AttributeQuerySchema as co, getRegisteredMigrations as cr, MorphManyRelation as cs, escapeRegex as ct, inferDelegateName as d, ModelQuerySchemaLike as da, DatabaseTablePersistedMetadataOptions as dc, QueryJoinBoolean as di, resetPersistedColumnMappingsCache as dn, AttributeUpdateInput as do, getRegisteredSeeders as dr, HasOneRelation as ds, formatDefaultValue as dt, DelegateOrderBy as ea, ColumnExpressionNode as ec, QueryColumnComparisonCondition as ei, applyOperationsToPersistedColumnMappingsState as en, ChunkCallback as eo, Arkormx as er, where as es, buildRelationLine as et, awaitConfiguredModelsRegistration as f, ModelTableCase as fa, BelongsToManyRelationMetadata as fc, QueryJoinColumnConstraint as fi, resolveColumnMappingsFilePath as fn, AttributeWhereInput as fo, loadFactoriesFrom as fr, HasManyThroughRelation as fs, formatEnumDefaultValue as ft, disposeArkormRuntime as g, PaginationOptions as ga, HasManyThroughRelationMetadata as gc, QueryJoinRawConstraint as gi, writePersistedColumnMappingsState as gn, ModelAttributes as go, registerFactories as gr, BelongsToManyRelation as gs, pad as gt, defineConfig as h, PaginationMeta as ha, HasManyRelationMetadata as hc, QueryJoinNullConstraint as hi, validatePersistedMetadataFeaturesForMigrations as hn, ModelAttributeValue as ho, loadSeedersFrom as hr, SingleResultRelation as hs, getMigrationPlan as ht, RuntimeModuleLoader as i, DelegateUniqueWhere as ia, FunctionExpressionNode as ic, QueryDayCondition as ii, getPersistedEnumMap as in, GroupByAggregateSpec as io, RuntimePathInput as ir, SetBasedEagerLoader as is, deriveInverseRelationAlias as it, isTransactionCapableClient as j, PrismaTransactionOptions as ja, GenerateMigrationOptions as jc, RelationFilterSpec as ji, SchemaBuilder as jn, QuerySchemaForModel as jo, KyselyDatabaseAdapter as jr, EagerLoadRelations as js, buildMigrationRunId as jt, isDelegateLike as k, PrismaTransactionCapableClient as ka, AppliedMigrationRun as kc, RawQuerySpec as ki, MIGRATION_BRAND as kn, ModelUpdateData as ko, createPrismaCompatibilityAdapter as kr, RelationTableLookupSpec as ks, runInMigrationPlanning as kt, createPrismaAdapter as l, EagerLoadMap as la, ValueExpressionNode as lc, QueryGroupCondition as li, readPersistedColumnMappingsState as ln, AttributeSchemaDelegate as lo, getRegisteredModels as lr, MorphedByManyRelation as ls, findEnumBlock as lt, configureArkormRuntime as m, PaginationCurrentPageResolver as ma, ColumnMap as mc, QueryJoinNestedConstraint as mi, syncPersistedColumnMappingsFromState as mn, GlobalScope as mo, loadModelsFrom as mr, BelongsToRelation as ms, generateMigrationFile as mt, PivotModel as n, DelegateRows as na, ExpressionJsonCast as nc, QueryComparisonOperator as ni, deletePersistedColumnMappingsState as nn, ExpressionSelectMap as no, RegisteredModel as nr, ModelFactory as ns, createMigrationTimestamp as nt, resolveRuntimeCompatibilityQuerySchema as o, DelegateUpdateData as oa, JsonExpressionNode as oc, QueryExpressionCondition as oi, getPersistedPrimaryKeyGeneration as on, AttributeCreateInput as oo, RuntimePathMap as or, MorphToManyRelation as os, deriveRelationFieldName as ot, bindAdapterToModels as p, NamingCase as pa, BelongsToRelationMetadata as pc, QueryJoinConstraint as pi, resolvePersistedMetadataFeatures as pn, DelegateForModelSchema as po, loadMigrationsFrom as pr, HasManyRelation as ps, formatRelationAction as pt, buildEnumBlock as q, SoftDeleteConfig as qa, SchemaTableDropOperation as qc, CastHandler as qi, InitCommand as qn, fromExpressionNode as qo, DatabaseRow as qr, FactoryRelationshipResolver as qs, writeAppliedMigrationsState as qt, LoadedRuntimeModule as r, DelegateSelect as ra, ExpressionNode as rc, QueryCondition as ri, getPersistedColumnMap as rn, GroupByAggregateRow as ro, RuntimeConstructor as rr, defineFactory as rs, deriveCollectionFieldName as rt, resolveRuntimeCompatibilityQuerySchemaOrThrow as s, DelegateWhere as sa, NullCheckExpressionNode as sc, QueryFullTextCondition as si, getPersistedTableMetadata as sn, AttributeOrderBy as so, getRegisteredFactories as sr, MorphOneRelation as ss, deriveSingularFieldName as st, URLDriver as t, DelegateRow as ta, ExpressionBinaryOperator as tc, QueryComparisonCondition as ti, createEmptyPersistedColumnMappingsState as tn, EachCallback as to, RegisteredFactory as tr, InlineFactory as ts, buildUniqueConstraintLine as tt, createPrismaDelegateMap as u, GetUserConfig as ua, DatabaseTableOptions as uc, QueryJoin as ui, rebuildPersistedColumnMappingsState as un, AttributeSelect as uo, getRegisteredPaths as ur, HasOneThroughRelation as us, findModelBlock as ut, ensureArkormConfigLoading as v, PaginationURLDriverFactory as va, HasOneThroughRelationMetadata as vc, QueryJoinValueConstraint as vi, UniqueConstraintResolutionException as vn, ModelCreateData as vo, registerModels as vr, RelationTableLoader as vs, resolveMigrationClassName as vt, getRuntimeDebugHandler as w, PrismaLikeScalarFilter as wa, MorphedByManyRelationMetadata as wc, QueryRawCondition as wi, ModelNotFoundException as wn, ModelEventName as wo, SeederCallArgument as wr, RelationDefaultResolver as ws, supportsDatabaseMigrationExecution as wt, getDefaultStubsPath as x, PrismaFindManyArgsLike as xa, MorphOneRelationMetadata as xc, QueryLogicalOperator as xi, QueryExecutionException as xn, ModelEventHandler as xo, resetRuntimeRegistryForTests as xr, RelationAggregateType as xs, runPrismaCommand as xt, getActiveTransactionAdapter as y, PrismaClientLike as ya, ModelMetadata as yc, QueryJsonCondition as yi, ScopeNotDefinedException as yn, ModelDeclaredAttributeKey as yo, registerPaths as yr, RelationAggregateConstraint as ys, resolvePrismaType as yt, applyAlterTableOperation as z, QuerySchemaUniqueWhere as za, SchemaColumnType as zc, UpsertSpec as zi, MigrationHistoryCommand as zn, JsonExpression as zo, AdapterModelStructure as zr, Paginator as zs, isMigrationApplied as zt };
8765
+ export { buildPrimaryKeyLine as $, ModelStatic as $a, DelegateFindManyArgs as $i, Arkorm as $n, sum as $o, InsertSpec as $r, CaseExpressionBranch as $s, PersistedTimestampColumn as $t, isQuerySchemaLike as A, PrismaTransactionCapableClient as Aa, AppliedMigrationRun as Ac, RawQuerySpec as Ai, Migration as An, ModelUpdateData as Ao, createPrismaDatabaseAdapter as Ar, RelationTableLookupSpec as As, buildMigrationIdentity as At, applyCreateTableOperation as B, QuerySchemaUniqueWhere as Ba, SchemaColumnType as Bc, UpsertSpec as Bi, MigrateRollbackCommand as Bn, JsonExpression as Bo, AdapterQueryOperation as Br, Paginator as Bs, markMigrationApplied as Bt, getRuntimeClient as C, PrismaLikeInclude as Ca, MorphToManyRelationMetadata as Cc, QueryNotCondition as Ci, QueryConstraintException as Cn, ModelEventHandlerConstructor as Co, Seeder as Cr, RelationColumnLookupSpec as Cs, supportsDatabaseCreation as Ct, getRuntimePrismaClient as D, PrismaLikeSortOrder as Da, RelationMetadata as Dc, QuerySelectColumn as Di, ArkormException as Dn, ModelOrderByInput as Do, PrismaDatabaseAdapter as Dr, RelationMetadataProvider as Ds, toModelName as Dt, getRuntimePaginationURLDriverFactory as E, PrismaLikeSelect as Ea, PivotModelStatic as Ec, QueryScalarComparisonOperator as Ei, ArkormErrorContext as En, ModelLifecycleState as Eo, SeederInput as Er, RelationDefaultValue as Es, toMigrationFileSlug as Et, PrimaryKeyGenerationPlanner as F, QuerySchemaInclude as Fa, MigrationInstanceLike as Fc, SelectSpec as Fi, resolveGeneratedExpression as Fn, Model as Fo, AdapterDatabaseCreationResult as Fr, RelatedModelForRelationship as Fs, findAppliedMigration as Ft, applyMigrationToPrismaSchema as G, RuntimeClientLike as Ga, SchemaPrimaryKey as Gc, ArkormDebugEvent as Gi, MakeMigrationCommand as Gn, count as Go, DatabaseAdapter as Gr, FactoryDefinition as Gs, resolveMigrationStateFilePath as Gt, applyMigrationRollbackToDatabase as H, QuerySchemaUpdateData as Ha, SchemaForeignKeyAction as Hc, AdapterQueryInspection as Hi, MigrateCommand as Hn, caseWhen as Ho, AggregateOperation as Hr, FactoryAttributeResolver as Hs, readAppliedMigrationsState as Ht, PRISMA_ENUM_MEMBER_REGEX as I, QuerySchemaOrderBy as Ia, PrimaryKeyGeneration as Ic, SoftDeleteQueryMode as Ii, ForeignKeyBuilder as In, AggregateExpression as Io, AdapterInspectionRequest as Ir, RelatedModelFromResult as Is, getLastBatchMigrations as It, buildFieldLine as J, SoftDeleteConfig as Ja, SchemaTableDropOperation as Jc, CastHandler as Ji, DbCommand as Jn, fromExpressionNode as Jo, DatabaseRows as Jr, FactoryRelationshipResolver as Js, writeAppliedMigrationsStateToStore as Jt, applyOperationsToPrismaSchema as K, Serializable as Ka, SchemaTableAlterOperation as Kc, ArkormDebugHandler as Ki, MakeFactoryCommand as Kn, expressionBuilder as Ko, DatabasePrimitive as Kr, FactoryDefinitionAttributes as Ks, supportsDatabaseMigrationState as Kt, PRISMA_ENUM_REGEX as L, QuerySchemaRow as La, PrismaMigrationWorkflowOptions as Lc, SortDirection as Li, SeedCommand as Ln, CaseExpression as Lo, AdapterModelFieldStructure as Lr, WhereCallback as Ls, getLastMigrationRun as Lt, loadArkormConfig as M, PrismaTransactionOptions as Ma, GenerateMigrationOptions as Mc, RelationFilterSpec as Mi, EnumBuilder as Mn, QuerySchemaForModel as Mo, createKyselyAdapter as Mr, EagerLoadRelations as Ms, computeMigrationChecksum as Mt, resetArkormRuntimeForTests as N, QuerySchemaCreateData as Na, GeneratedMigrationFile as Nc, RelationLoadPlan as Ni, TableBuilder as Nn, QuerySchemaForModelInstance as No, AdapterCapabilities as Nr, JoinOn as Ns, createEmptyAppliedMigrationsState as Nt, getUserConfig as O, PrismaLikeWhereInput as Oa, RelationMetadataType as Oc, QueryTarget as Oi, DB as On, ModelRelationshipKey as Oo, PrismaDelegateNameMapping as Or, RelationResult as Os, isMigrationPlanningActive as Ot, runArkormTransaction as P, QuerySchemaFindManyArgs as Pa, MigrationClass as Pc, RelationLoadSpec as Pi, GeneratedColumnExpression as Pn, RelatedModelClass as Po, AdapterCapability as Pr, JoinSource as Ps, deleteAppliedMigrationsStateFromStore as Pt, buildModelBlock as Q, TransactionOptions as Qa, TimestampNaming as Qc, DelegateCreateData as Qi, AttributeOptions as Qn, raw as Qo, InsertManySpec as Qr, BinaryExpressionNode as Qs, PersistedTableMetadata as Qt, PRISMA_MODEL_REGEX as R, QuerySchemaRows as Ra, PrismaSchemaSyncOptions as Rc, UpdateManySpec as Ri, ModelsSyncCommand as Rn, Expression as Ro, AdapterModelIntrospectionOptions as Rr, JoinClause as Rs, getLatestAppliedMigrations as Rt, getRuntimeAdapter as S, PrismaFindManyArgsLike as Sa, MorphOneRelationMetadata as Sc, QueryLogicalOperator as Si, QueryExecutionExceptionContext as Sn, ModelEventHandler as So, SEEDER_BRAND as Sr, RelationAggregateType as Ss, stripPrismaSchemaModelsAndEnums as St, getRuntimePaginationCurrentPageResolver as T, PrismaLikeScalarFilter as Ta, MorphedByManyRelationMetadata as Tc, QueryRawCondition as Ti, MissingDelegateException as Tn, ModelEventName as To, SeederConstructor as Tr, RelationDefaultResolver as Ts, supportsDatabaseReset as Tt, applyMigrationRollbackToPrismaSchema as U, QuerySchemaWhere as Ua, SchemaIndex as Uc, ArkormBootContext as Ui, MakeSeederCommand as Un, coalesce as Uo, AggregateSelection as Ur, FactoryAttributes as Us, readAppliedMigrationsStateFromStore as Ut, applyDropTableOperation as V, QuerySchemaUpdateArgs as Va, SchemaForeignKey as Vc, AdapterBindableModel as Vi, MigrateFreshCommand as Vn, avg as Vo, AdapterTransactionContext as Vr, ArkormCollection as Vs, markMigrationRun as Vt, applyMigrationToDatabase as W, RawSelectInput as Wa, SchemaOperation as Wc, ArkormConfig as Wi, MakeModelCommand as Wn, col as Wo, AggregateSpec as Wr, FactoryCallback as Ws, removeAppliedMigration as Wt, buildInverseRelationLine as X, TransactionCapableClient as Xa, TimestampColumnBehavior as Xc, CastType as Xi, resolveCast as Xn, max as Xo, DeleteManySpec as Xr, MaybePromise as Xs, PersistedMetadataFeatures as Xt, buildIndexLine as Y, TransactionCallback as Ya, SchemaUniqueConstraint as Yc, CastMap as Yi, CliApp as Yn, json as Yo, DatabaseValue as Yr, FactoryState as Ys, PersistedColumnMappingsState as Yt, buildMigrationSource as Z, TransactionContext as Za, TimestampNames as Zc, ClientResolver as Zi, Attribute as Zn, min as Zo, DeleteSpec as Zr, AggregateExpressionNode as Zs, PersistedPrimaryKeyGeneration as Zt, emitRuntimeDebugEvent as _, PaginationOptions as _a, HasManyThroughRelationMetadata as _c, QueryJoinRawConstraint as _i, UnsupportedAdapterFeatureException as _n, ModelAttributes as _o, registerMigrations as _r, BelongsToManyRelation as _s, resolveEnumName as _t, getRuntimeCompatibilityAdapter as a, DelegateUniqueWhere as aa, FunctionExpressionNode as ac, QueryDayCondition as ai, getPersistedEnumTsType as an, GroupByAggregateSpec as ao, RuntimePathKey as ar, SetBasedEagerLoader as as, deriveRelationAlias as at, getActiveTransactionClient as b, PrismaClientLike as ba, ModelMetadata as bc, QueryJsonCondition as bi, RelationResolutionException as bn, ModelDeclaredAttributeKey as bo, registerSeeders as br, RelationAggregateConstraint as bs, runMigrationWithPrisma as bt, PrismaDelegateMap as c, DelegateWhere as ca, NullCheckExpressionNode as cc, QueryFullTextCondition as ci, getPersistedTimestampColumns as cn, AttributeOrderBy as co, getRegisteredMigrations as cr, MorphOneRelation as cs, escapeRegex as ct, inferDelegateName as d, GetUserConfig as da, DatabaseTableOptions as dc, QueryJoin as di, resetPersistedColumnMappingsCache as dn, AttributeSelect as do, getRegisteredSeeders as dr, HasOneThroughRelation as ds, formatDefaultValue as dt, DelegateInclude as ea, CaseExpressionNode as ec, PartitionedSelectSpec as ei, applyOperationsToPersistedColumnMappingsState as en, RelationshipModelStatic as eo, Arkormx as er, val as es, buildRelationLine as et, awaitConfiguredModelsRegistration as f, ModelQuerySchemaLike as fa, DatabaseTablePersistedMetadataOptions as fc, QueryJoinBoolean as fi, resolveColumnMappingsFilePath as fn, AttributeUpdateInput as fo, loadFactoriesFrom as fr, HasOneRelation as fs, formatEnumDefaultValue as ft, disposeArkormRuntime as g, PaginationMeta as ga, HasManyRelationMetadata as gc, QueryJoinNullConstraint as gi, writePersistedColumnMappingsState as gn, ModelAttributeValue as go, registerFactories as gr, SingleResultRelation as gs, pad as gt, defineConfig as h, PaginationCurrentPageResolver as ha, ColumnMap as hc, QueryJoinNestedConstraint as hi, validatePersistedMetadataFeaturesForMigrations as hn, GlobalScope as ho, loadSeedersFrom as hr, BelongsToRelation as hs, getMigrationPlan as ht, RuntimeModuleLoader as i, DelegateSelect as ia, ExpressionNode as ic, QueryCondition as ii, getPersistedEnumMap as in, GroupByAggregateRow as io, RuntimePathInput as ir, defineFactory as is, deriveInverseRelationAlias as it, isTransactionCapableClient as j, PrismaTransactionContext as ja, AppliedMigrationsState as jc, RelationAggregateSpec as ji, SchemaBuilder as jn, ModelWhereInput as jo, KyselyDatabaseAdapter as jr, EagerLoadQueryForRelationship as js, buildMigrationRunId as jt, isDelegateLike as k, PrismaTransactionCallback as ka, AppliedMigrationEntry as kc, QueryTimeCondition as ki, MIGRATION_BRAND as kn, ModelRelationshipResult as ko, createPrismaCompatibilityAdapter as kr, RelationResultCache as ks, runInMigrationPlanning as kt, createPrismaAdapter as l, EagerLoadConstraint as la, RawExpressionNode as lc, QueryGroupByItem as li, readPersistedColumnMappingsState as ln, AttributeQuerySchema as lo, getRegisteredModels as lr, MorphManyRelation as ls, findEnumBlock as lt, configureArkormRuntime as m, NamingCase as ma, BelongsToRelationMetadata as mc, QueryJoinConstraint as mi, syncPersistedColumnMappingsFromState as mn, DelegateForModelSchema as mo, loadModelsFrom as mr, HasManyRelation as ms, generateMigrationFile as mt, PivotModel as n, DelegateRow as na, ExpressionBinaryOperator as nc, QueryComparisonCondition as ni, deletePersistedColumnMappingsState as nn, EachCallback as no, RegisteredModel as nr, InlineFactory as ns, createMigrationTimestamp as nt, resolveRuntimeCompatibilityQuerySchema as o, DelegateUpdateArgs as oa, InExpressionNode as oc, QueryExistsCondition as oi, getPersistedPrimaryKeyGeneration as on, QueryBuilder as oo, RuntimePathMap as or, MorphToRelation as os, deriveRelationFieldName as ot, bindAdapterToModels as p, ModelTableCase as pa, BelongsToManyRelationMetadata as pc, QueryJoinColumnConstraint as pi, resolvePersistedMetadataFeatures as pn, AttributeWhereInput as po, loadMigrationsFrom as pr, HasManyThroughRelation as ps, formatRelationAction as pt, buildEnumBlock as q, SimplePaginationMeta as qa, SchemaTableCreateOperation as qc, CastDefinition as qi, InitCommand as qn, fn as qo, DatabaseRow as qr, FactoryModelConstructor as qs, writeAppliedMigrationsState as qt, LoadedRuntimeModule as r, DelegateRows as ra, ExpressionJsonCast as rc, QueryComparisonOperator as ri, getPersistedColumnMap as rn, ExpressionSelectMap as ro, RuntimeConstructor as rr, ModelFactory as rs, deriveCollectionFieldName as rt, resolveRuntimeCompatibilityQuerySchemaOrThrow as s, DelegateUpdateData as sa, JsonExpressionNode as sc, QueryExpressionCondition as si, getPersistedTableMetadata as sn, AttributeCreateInput as so, getRegisteredFactories as sr, MorphToManyRelation as ss, deriveSingularFieldName as st, URLDriver as t, DelegateOrderBy as ta, ColumnExpressionNode as tc, QueryColumnComparisonCondition as ti, createEmptyPersistedColumnMappingsState as tn, ChunkCallback as to, RegisteredFactory as tr, where as ts, buildUniqueConstraintLine as tt, createPrismaDelegateMap as u, EagerLoadMap as ua, ValueExpressionNode as uc, QueryGroupCondition as ui, rebuildPersistedColumnMappingsState as un, AttributeSchemaDelegate as uo, getRegisteredPaths as ur, MorphedByManyRelation as us, findModelBlock as ut, ensureArkormConfigLoading as v, PaginationURLDriver as va, HasOneRelationMetadata as vc, QueryJoinType as vi, UniqueConstraintResolutionException as vn, ModelAttributesOf as vo, registerModels as vr, Relation as vs, resolveMigrationClassName as vt, getRuntimeDebugHandler as w, PrismaLikeOrderBy as wa, MorphToRelationMetadata as wc, QueryOrderBy as wi, ModelNotFoundException as wn, ModelEventListener as wo, SeederCallArgument as wr, RelationConstraint as ws, supportsDatabaseMigrationExecution as wt, getDefaultStubsPath as x, PrismaDelegateLike as xa, MorphManyRelationMetadata as xc, QueryJsonConditionKind as xi, QueryExecutionException as xn, ModelEventDispatcher as xo, resetRuntimeRegistryForTests as xr, RelationAggregateInput as xs, runPrismaCommand as xt, getActiveTransactionAdapter as y, PaginationURLDriverFactory as ya, HasOneThroughRelationMetadata as yc, QueryJoinValueConstraint as yi, ScopeNotDefinedException as yn, ModelCreateData as yo, registerPaths as yr, RelationTableLoader as ys, resolvePrismaType as yt, applyAlterTableOperation as z, QuerySchemaSelect as za, SchemaColumn as zc, UpdateSpec as zi, MigrationHistoryCommand as zn, ExpressionBuilder as zo, AdapterModelStructure as zr, LengthAwarePaginator as zs, isMigrationApplied as zt };
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_relationship = require('./relationship-BIie-GXN.cjs');
2
+ const require_relationship = require('./relationship-CBYK5LE3.cjs');
3
3
  let pg = require("pg");
4
4
  let node_path = require("node:path");
5
5
  let module$1 = require("module");
@@ -635,6 +635,15 @@ var KyselyDatabaseAdapter = class KyselyDatabaseAdapter {
635
635
  mapColumn(target, column) {
636
636
  return target.columns?.[column] ?? column;
637
637
  }
638
+ buildIdentifierReference(target, reference) {
639
+ const segments = reference.split(".");
640
+ if (segments.length === 1) return kysely.sql.ref(this.mapColumn(target, reference));
641
+ const column = segments.pop();
642
+ const table = segments.join(".");
643
+ const mappedTable = this.mapping[table] ?? table;
644
+ const mappedColumn = mappedTable === (target.table ? this.mapping[target.table] ?? target.table : void 0) ? this.mapColumn(target, column) : column;
645
+ return this.buildColumnReference(mappedTable, mappedColumn);
646
+ }
638
647
  reverseColumnMap(target) {
639
648
  return Object.entries(target.columns ?? {}).reduce((all, [attribute, column]) => {
640
649
  all[column] = attribute;
@@ -658,29 +667,31 @@ var KyselyDatabaseAdapter = class KyselyDatabaseAdapter {
658
667
  return mapped;
659
668
  }, {});
660
669
  }
661
- buildSelectList(target, columns) {
662
- if (!columns || columns.length === 0) return kysely.sql.raw("*");
670
+ buildSelectList(target, columns, qualifyColumns = false) {
671
+ const table = this.resolveTable(target);
672
+ if (!columns || columns.length === 0) return qualifyColumns ? kysely.sql`${kysely.sql.table(table)}.*` : kysely.sql.raw("*");
663
673
  return kysely.sql.join(columns.map(({ column, alias, raw, wildcard, expression }) => {
664
- if (wildcard) return kysely.sql.raw("*");
674
+ if (wildcard) return qualifyColumns ? kysely.sql`${kysely.sql.table(table)}.*` : kysely.sql.raw("*");
665
675
  if (expression) {
666
676
  const compiled = this.buildExpression(target, expression);
667
677
  const resultAlias = alias ?? column;
668
678
  return resultAlias ? kysely.sql`${compiled} as ${kysely.sql.id(resultAlias)}` : compiled;
669
679
  }
670
680
  if (raw) {
671
- const rawExpression = kysely.sql.raw(column);
681
+ const rawExpression = /^[A-Za-z_][\w]*(?:\.[A-Za-z_][\w]*)+$/.test(column) ? this.buildIdentifierReference(target, column) : kysely.sql.raw(column);
672
682
  return alias ? kysely.sql`${rawExpression} as ${kysely.sql.id(alias)}` : rawExpression;
673
683
  }
674
684
  const mappedColumn = this.mapColumn(target, column);
675
685
  const resultAlias = alias ?? column;
676
- if (mappedColumn === resultAlias) return kysely.sql.ref(mappedColumn);
677
- return kysely.sql`${kysely.sql.ref(mappedColumn)} as ${kysely.sql.id(resultAlias)}`;
686
+ const reference = qualifyColumns ? this.buildColumnReference(table, mappedColumn) : kysely.sql.ref(mappedColumn);
687
+ if (mappedColumn === resultAlias) return reference;
688
+ return kysely.sql`${reference} as ${kysely.sql.id(resultAlias)}`;
678
689
  }));
679
690
  }
680
- buildOrderBy(target, orderBy) {
691
+ buildOrderBy(target, orderBy, qualifyColumns = false) {
681
692
  if (!orderBy || orderBy.length === 0) return kysely.sql``;
682
693
  return kysely.sql` order by ${kysely.sql.join(orderBy.map(({ column, direction, expression }) => {
683
- return kysely.sql`${expression ? this.buildExpression(target, expression) : kysely.sql.ref(this.mapColumn(target, column))} ${kysely.sql.raw(direction === "desc" ? "desc" : "asc")}`;
694
+ return kysely.sql`${expression ? this.buildExpression(target, expression) : qualifyColumns ? this.buildColumnReference(this.resolveTable(target), this.mapColumn(target, column)) : kysely.sql.ref(this.mapColumn(target, column))} ${kysely.sql.raw(direction === "desc" ? "desc" : "asc")}`;
684
695
  }), kysely.sql`, `)}`;
685
696
  }
686
697
  buildGroupBy(target, groupBy) {
@@ -735,7 +746,7 @@ var KyselyDatabaseAdapter = class KyselyDatabaseAdapter {
735
746
  return kysely.sql`${kysely.sql.join(parts, kysely.sql``)}`;
736
747
  }
737
748
  buildJoinConstraint(target, constraint) {
738
- if (constraint.type === "column") return kysely.sql`${kysely.sql.ref(constraint.first)} ${kysely.sql.raw(constraint.operator)} ${kysely.sql.ref(constraint.second)}`;
749
+ if (constraint.type === "column") return kysely.sql`${this.buildIdentifierReference(target, constraint.first)} ${kysely.sql.raw(constraint.operator)} ${this.buildIdentifierReference(target, constraint.second)}`;
739
750
  if (constraint.type === "null") return constraint.not ? kysely.sql`${kysely.sql.ref(constraint.column)} is not null` : kysely.sql`${kysely.sql.ref(constraint.column)} is null`;
740
751
  if (constraint.type === "raw") return this.buildRawWhereCondition({
741
752
  type: "raw",
@@ -743,7 +754,7 @@ var KyselyDatabaseAdapter = class KyselyDatabaseAdapter {
743
754
  bindings: constraint.bindings
744
755
  });
745
756
  if (constraint.type === "nested") return kysely.sql`(${this.buildJoinConstraints(target, constraint.constraints)})`;
746
- const column = kysely.sql.ref(constraint.column);
757
+ const column = this.buildIdentifierReference(target, constraint.column);
747
758
  const operator = constraint.operator;
748
759
  if (operator === "is-null") return kysely.sql`${column} is null`;
749
760
  if (operator === "is-not-null") return kysely.sql`${column} is not null`;
@@ -765,7 +776,7 @@ var KyselyDatabaseAdapter = class KyselyDatabaseAdapter {
765
776
  return typeof value === "undefined" ? [] : [value];
766
777
  }
767
778
  buildComparisonCondition(target, condition) {
768
- const column = kysely.sql.ref(this.mapColumn(target, condition.column));
779
+ const column = this.buildIdentifierReference(target, condition.column);
769
780
  if (condition.operator === "is-null") return kysely.sql`${column} is null`;
770
781
  if (condition.operator === "is-not-null") return kysely.sql`${column} is not null`;
771
782
  if (condition.operator === "in") {
@@ -1198,6 +1209,30 @@ var KyselyDatabaseAdapter = class KyselyDatabaseAdapter {
1198
1209
  ${this.buildOrderBy(spec.target, spec.orderBy)}
1199
1210
  ${this.buildPaginationClause(spec)}
1200
1211
  `;
1212
+ }
1213
+ buildPartitionedSelectStatement(spec) {
1214
+ const table = this.resolveTable(spec.target);
1215
+ const rankedAlias = "__arkorm_partitioned";
1216
+ const rowAlias = "__arkorm_partition_row";
1217
+ const offset = Math.max(0, spec.perPartitionOffset ?? 0);
1218
+ const upperBound = offset + Math.max(0, spec.perPartitionLimit);
1219
+ const partitionColumns = spec.partitionBy.map((column) => this.buildIdentifierReference(spec.target, column));
1220
+ const orderBy = spec.orderBy && spec.orderBy.length > 0 ? this.buildOrderBy(spec.target, spec.orderBy, true) : kysely.sql` order by ${this.buildColumnReference(table, this.resolvePrimaryKey(spec.target))} asc`;
1221
+ return kysely.sql`
1222
+ select *
1223
+ from (
1224
+ select ${spec.distinct ? kysely.sql`distinct ` : kysely.sql``}${this.buildSelectList(spec.target, spec.columns, true)}
1225
+ ${this.buildRelationAggregateSelectList(spec.target, spec.relationAggregates)},
1226
+ row_number() over (
1227
+ partition by ${kysely.sql.join(partitionColumns, kysely.sql`, `)}${orderBy}
1228
+ ) as ${kysely.sql.id(rowAlias)}
1229
+ from ${kysely.sql.table(table)}
1230
+ ${this.buildJoinClause(spec.target, spec.joins)}
1231
+ ${this.buildCombinedWhereClause(spec.target, spec.where, spec.relationFilters)}
1232
+ ) as ${kysely.sql.table(rankedAlias)}
1233
+ where ${kysely.sql.ref(rowAlias)} > ${offset} and ${kysely.sql.ref(rowAlias)} <= ${upperBound}
1234
+ order by ${kysely.sql.ref(rowAlias)} asc
1235
+ `;
1201
1236
  }
1202
1237
  buildCountStatement(spec) {
1203
1238
  return kysely.sql`
@@ -1299,6 +1334,20 @@ var KyselyDatabaseAdapter = class KyselyDatabaseAdapter {
1299
1334
  offset: spec.offset
1300
1335
  });
1301
1336
  }
1337
+ async selectPerPartition(spec) {
1338
+ if (spec.partitionBy.length === 0) return await this.select(spec);
1339
+ return await this.executeWithDebug("select", spec.target, this.buildPartitionedSelectStatement(spec), (rows) => this.mapRows(spec.target, rows.map((row) => {
1340
+ const { __arkorm_partition_row: _partitionRow, ...attributes } = row;
1341
+ return attributes;
1342
+ })), {
1343
+ where: spec.where,
1344
+ relationFilters: spec.relationFilters,
1345
+ orderBy: spec.orderBy,
1346
+ partitionBy: spec.partitionBy,
1347
+ perPartitionLimit: spec.perPartitionLimit,
1348
+ perPartitionOffset: spec.perPartitionOffset
1349
+ });
1350
+ }
1302
1351
  /**
1303
1352
  * Selects a single record from the database matching the specified criteria and returns it as
1304
1353
  * a database row. If multiple records match the criteria, only the first one is returned.
@@ -6466,6 +6515,26 @@ var QueryBuilder = class QueryBuilder {
6466
6515
  });
6467
6516
  }
6468
6517
  /**
6518
+ * Compiles the current query into SQL without executing it. Values remain represented by the
6519
+ * adapter's parameter placeholders; use {@link inspect} when the corresponding bindings are
6520
+ * also required.
6521
+ *
6522
+ * @param operation
6523
+ * @returns
6524
+ */
6525
+ toSql(operation = "select") {
6526
+ const inspection = this.inspect(operation);
6527
+ if (inspection?.sql) return inspection.sql;
6528
+ throw new require_relationship.UnsupportedAdapterFeatureException("The active database adapter cannot compile this query to SQL.", {
6529
+ operation: "query.toSql",
6530
+ model: this.model.name,
6531
+ meta: {
6532
+ feature: "inspectQuery",
6533
+ requestedOperation: operation
6534
+ }
6535
+ });
6536
+ }
6537
+ /**
6469
6538
  * Sets offset/limit for a 1-based page.
6470
6539
  *
6471
6540
  * @param page
@@ -6501,6 +6570,50 @@ var QueryBuilder = class QueryBuilder {
6501
6570
  return new require_relationship.ArkormCollection(filteredModels);
6502
6571
  }
6503
6572
  /**
6573
+ * Executes a bounded eager-load query independently for each partition while retaining a
6574
+ * single set-based database query. Returns null when the active adapter cannot represent the
6575
+ * query so the relationship loader can use its correctness fallback.
6576
+ *
6577
+ * @internal
6578
+ *
6579
+ * @param partitionBy
6580
+ * @returns
6581
+ */
6582
+ async getForEagerLoad(partitionBy) {
6583
+ if (this.limitValue === void 0 && this.offsetValue === void 0) return await this.get();
6584
+ const rows = await this.getRowsForEagerLoad(partitionBy);
6585
+ if (!rows) return null;
6586
+ const models = await this.model.hydrateManyRetrieved(rows);
6587
+ await this.eagerLoadModels(models);
6588
+ return new require_relationship.ArkormCollection(models);
6589
+ }
6590
+ /** @internal */
6591
+ async getRowsForEagerLoad(partitionBy) {
6592
+ if (this.limitValue === void 0 && this.offsetValue === void 0) return await this.executeReadRows();
6593
+ const adapter = this.requireAdapter();
6594
+ if (partitionBy.length === 0 || typeof adapter.selectPerPartition !== "function" || this.randomOrderEnabled || this.queryDistinct || this.queryGroupBy !== void 0 || this.queryHaving !== void 0 || !this.canExecuteRelationFeaturesInAdapter()) return null;
6595
+ const spec = this.tryBuildSelectSpec(this.buildWhere());
6596
+ if (!spec) return null;
6597
+ return await adapter.selectPerPartition({
6598
+ ...spec,
6599
+ limit: void 0,
6600
+ offset: void 0,
6601
+ partitionBy,
6602
+ perPartitionLimit: this.limitValue ?? Number.MAX_SAFE_INTEGER,
6603
+ perPartitionOffset: this.offsetValue
6604
+ });
6605
+ }
6606
+ /** Removes limit and offset clauses from a cloned relationship query. @internal */
6607
+ withoutPagination() {
6608
+ this.limitValue = void 0;
6609
+ this.offsetValue = void 0;
6610
+ return this;
6611
+ }
6612
+ /** @internal */
6613
+ hasEagerLoadPagination() {
6614
+ return this.limitValue !== void 0 || this.offsetValue !== void 0;
6615
+ }
6616
+ /**
6504
6617
  * Processes the query results in chunks, invoking the callback with each chunk
6505
6618
  * as a collection. Return `false` from the callback to stop early. Resolves to
6506
6619
  * `false` when stopped early, otherwise `true`.
@@ -7595,6 +7708,7 @@ var QueryBuilder = class QueryBuilder {
7595
7708
  const normalizedQuery = constrained instanceof QueryBuilder ? constrained : relatedQuery;
7596
7709
  if (constrained && !(constrained instanceof QueryBuilder) && constrained !== relatedQuery) return null;
7597
7710
  if (normalizedQuery.randomOrderEnabled) return null;
7711
+ if (normalizedQuery.hasRelationAggregates()) return null;
7598
7712
  const callbackRelationLoads = normalizedQuery.tryBuildAdapterRelationLoadPlans();
7599
7713
  const childRelationLoads = node.children.size > 0 ? toPlans(relatedModel, node.children) : [];
7600
7714
  if (callbackRelationLoads === null || childRelationLoads === null) return null;