arkormx 2.11.13 → 2.12.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.
@@ -617,6 +617,7 @@ interface RelationMetadataProvider {
617
617
  declare class RelationTableLoader {
618
618
  private readonly adapter;
619
619
  constructor(adapter: DatabaseAdapter);
620
+ private buildTarget;
620
621
  selectRows(spec: RelationTableLookupSpec): Promise<DatabaseRow[]>;
621
622
  selectRow(spec: RelationTableLookupSpec): Promise<DatabaseRow | null>;
622
623
  selectColumnValues(spec: RelationColumnLookupSpec): Promise<unknown[]>;
@@ -3290,6 +3291,7 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
3290
3291
  * @returns
3291
3292
  */
3292
3293
  protected hasOne<TRelatedClass extends RelatedModelClass>(related: TRelatedClass, foreignKey: string, localKey?: string): HasOneRelation<this, InstanceType<TRelatedClass>>;
3294
+ protected hasOne<TName extends RegisteredModelName>(related: TName, foreignKey?: string, localKey?: string): HasOneRelation<this, RegisteredModelInstance<TName>>;
3293
3295
  /**
3294
3296
  * Define a has many relationship.
3295
3297
  *
@@ -3299,6 +3301,7 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
3299
3301
  * @returns
3300
3302
  */
3301
3303
  protected hasMany<TRelatedClass extends RelatedModelClass>(related: TRelatedClass, foreignKey: string, localKey?: string): HasManyRelation<this, InstanceType<TRelatedClass>>;
3304
+ protected hasMany<TName extends RegisteredModelName>(related: TName, foreignKey?: string, localKey?: string): HasManyRelation<this, RegisteredModelInstance<TName>>;
3302
3305
  /**
3303
3306
  * Define a belongs to relationship.
3304
3307
  *
@@ -3308,6 +3311,7 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
3308
3311
  * @returns
3309
3312
  */
3310
3313
  protected belongsTo<TRelatedClass extends RelatedModelClass>(related: TRelatedClass, foreignKey: string, ownerKey?: string): BelongsToRelation<this, InstanceType<TRelatedClass>>;
3314
+ protected belongsTo<TName extends RegisteredModelName>(related: TName, foreignKey?: string, ownerKey?: string): BelongsToRelation<this, RegisteredModelInstance<TName>>;
3311
3315
  /**
3312
3316
  * Define a belongs to many relationship.
3313
3317
  *
@@ -3320,6 +3324,7 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
3320
3324
  * @returns
3321
3325
  */
3322
3326
  protected belongsToMany<TRelatedClass extends RelatedModelClass>(related: TRelatedClass, throughTable: string, foreignPivotKey: string, relatedPivotKey: string, parentKey?: string, relatedKey?: string): BelongsToManyRelation<this, InstanceType<TRelatedClass>>;
3327
+ protected belongsToMany<TName extends RegisteredModelName>(related: TName, throughTable: string, foreignPivotKey: string, relatedPivotKey: string, parentKey?: string, relatedKey?: string): BelongsToManyRelation<this, RegisteredModelInstance<TName>>;
3323
3328
  /**
3324
3329
  * Define a has one through relationship.
3325
3330
  *
@@ -3332,6 +3337,7 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
3332
3337
  * @returns
3333
3338
  */
3334
3339
  protected hasOneThrough<TRelatedClass extends RelatedModelClass>(related: TRelatedClass, throughTable: string, firstKey: string, secondKey: string, localKey?: string, secondLocalKey?: string): HasOneThroughRelation<this, InstanceType<TRelatedClass>>;
3340
+ protected hasOneThrough<TName extends RegisteredModelName>(related: TName, throughTable: string, firstKey: string, secondKey: string, localKey?: string, secondLocalKey?: string): HasOneThroughRelation<this, RegisteredModelInstance<TName>>;
3335
3341
  /**
3336
3342
  * Define a has many through relationship.
3337
3343
  *
@@ -3344,6 +3350,7 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
3344
3350
  * @returns
3345
3351
  */
3346
3352
  protected hasManyThrough<TRelatedClass extends RelatedModelClass>(related: TRelatedClass, throughTable: string, firstKey: string, secondKey: string, localKey?: string, secondLocalKey?: string): HasManyThroughRelation<this, InstanceType<TRelatedClass>>;
3353
+ protected hasManyThrough<TName extends RegisteredModelName>(related: TName, throughTable: string, firstKey: string, secondKey: string, localKey?: string, secondLocalKey?: string): HasManyThroughRelation<this, RegisteredModelInstance<TName>>;
3347
3354
  /**
3348
3355
  * Define a polymorphic one to one relationship.
3349
3356
  *
@@ -3355,6 +3362,7 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
3355
3362
  * @returns
3356
3363
  */
3357
3364
  protected morphOne<TRelatedClass extends RelatedModelClass>(related: TRelatedClass, morphName: string, idColumn?: string, typeColumn?: string, localKey?: string): MorphOneRelation<this, InstanceType<TRelatedClass>>;
3365
+ protected morphOne<TName extends RegisteredModelName>(related: TName, morphName: string, idColumn?: string, typeColumn?: string, localKey?: string): MorphOneRelation<this, RegisteredModelInstance<TName>>;
3358
3366
  /**
3359
3367
  * Define a polymorphic one to many relationship.
3360
3368
  *
@@ -3366,6 +3374,7 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
3366
3374
  * @returns
3367
3375
  */
3368
3376
  protected morphMany<TRelatedClass extends RelatedModelClass>(related: TRelatedClass, morphName: string, idColumn?: string, typeColumn?: string, localKey?: string): MorphManyRelation<this, InstanceType<TRelatedClass>>;
3377
+ protected morphMany<TName extends RegisteredModelName>(related: TName, morphName: string, idColumn?: string, typeColumn?: string, localKey?: string): MorphManyRelation<this, RegisteredModelInstance<TName>>;
3369
3378
  /**
3370
3379
  * Define the inverse side of a polymorphic relationship.
3371
3380
  *
@@ -3391,6 +3400,7 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
3391
3400
  * @returns
3392
3401
  */
3393
3402
  protected morphToMany<TRelatedClass extends RelatedModelClass>(related: TRelatedClass, morphName: string, throughTable?: string, foreignPivotKey?: string, morphTypeColumn?: string, relatedPivotKey?: string, parentKey?: string, relatedKey?: string): MorphToManyRelation<this, InstanceType<TRelatedClass>>;
3403
+ protected morphToMany<TName extends RegisteredModelName>(related: TName, morphName: string, throughTable?: string, foreignPivotKey?: string, morphTypeColumn?: string, relatedPivotKey?: string, parentKey?: string, relatedKey?: string): MorphToManyRelation<this, RegisteredModelInstance<TName>>;
3394
3404
  /**
3395
3405
  * Define the inverse side of a polymorphic many-to-many relationship.
3396
3406
  *
@@ -3405,6 +3415,10 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
3405
3415
  * @returns
3406
3416
  */
3407
3417
  protected morphedByMany<TRelatedClass extends RelatedModelClass>(related: TRelatedClass, morphName: string, throughTable?: string, foreignPivotKey?: string, morphTypeColumn?: string, relatedPivotKey?: string, parentKey?: string, relatedKey?: string): MorphedByManyRelation<this, InstanceType<TRelatedClass>>;
3418
+ protected morphedByMany<TName extends RegisteredModelName>(related: TName, morphName: string, throughTable?: string, foreignPivotKey?: string, morphTypeColumn?: string, relatedPivotKey?: string, parentKey?: string, relatedKey?: string): MorphedByManyRelation<this, RegisteredModelInstance<TName>>;
3419
+ private resolveRelationshipModel;
3420
+ private resolveDefaultHasForeignKey;
3421
+ private resolveDefaultBelongsToForeignKey;
3408
3422
  private resolveMorphColumns;
3409
3423
  private formatConventionName;
3410
3424
  private static getNamingCase;
@@ -3558,6 +3572,7 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
3558
3572
  }
3559
3573
  //#endregion
3560
3574
  //#region src/types/model.d.ts
3575
+ interface ArkormModelRegistry {}
3561
3576
  type LowercaseString<T extends string> = Lowercase<T>;
3562
3577
  type Simplify<TValue> = { [TKey in keyof TValue]: TValue[TKey] } & {};
3563
3578
  type ConventionalAutoManagedKeys = 'id' | 'createdAt' | 'updatedAt' | 'deletedAt';
@@ -3650,6 +3665,9 @@ type ModelAttributeValue<TModel, TAttributes extends Record<string, unknown>, TK
3650
3665
  type ModelCreateData<TModel, TDelegate extends ModelQuerySchemaLike> = TModel extends Model<any, infer TAttributes> ? TDelegate extends AttributeQuerySchema<TAttributes> ? AttributeCreateInput<TAttributes> : QuerySchemaCreateData<TDelegate> : QuerySchemaCreateData<TDelegate>;
3651
3666
  type ModelUpdateData<TModel, TDelegate extends ModelQuerySchemaLike> = TModel extends Model<any, infer TAttributes> ? TDelegate extends AttributeQuerySchema<TAttributes> ? AttributeUpdateInput<TAttributes> : QuerySchemaUpdateData<TDelegate> : QuerySchemaUpdateData<TDelegate>;
3652
3667
  type RelatedModelClass<TInstance = unknown> = (abstract new (attributes?: Record<string, unknown>) => TInstance) & RelationshipModelStatic;
3668
+ type RegisteredModelName = keyof ArkormModelRegistry & string;
3669
+ type RegisteredModelClass<TName extends RegisteredModelName> = ArkormModelRegistry[TName] extends RelatedModelClass ? ArkormModelRegistry[TName] : never;
3670
+ type RegisteredModelInstance<TName extends RegisteredModelName> = RegisteredModelClass<TName> extends (abstract new (...args: any[]) => infer TInstance) ? TInstance : never;
3653
3671
  type GlobalScope = (query: QueryBuilder<any, any>) => QueryBuilder<any, any> | void;
3654
3672
  type ModelEventName = 'retrieved' | 'saving' | 'saved' | 'creating' | 'created' | 'updating' | 'updated' | 'deleting' | 'deleted' | 'restoring' | 'restored' | 'forceDeleting' | 'forceDeleted';
3655
3673
  type ModelEventListener<TModel extends Model = Model> = (model: TModel) => void | Promise<void>;
@@ -6727,6 +6745,10 @@ declare const getRegisteredSeeders: () => SeederConstructor[];
6727
6745
  * @returns
6728
6746
  */
6729
6747
  declare const getRegisteredModels: () => RegisteredModel[];
6748
+ declare const resolveRegisteredModel: (modelName: string, context?: {
6749
+ operation?: string;
6750
+ relation?: string;
6751
+ }) => RelationshipModelStatic;
6730
6752
  /**
6731
6753
  * Get registered factory constructors or instances.
6732
6754
  *
@@ -6735,6 +6757,20 @@ declare const getRegisteredModels: () => RegisteredModel[];
6735
6757
  declare const getRegisteredFactories: () => RegisteredFactory[];
6736
6758
  declare const resetRuntimeRegistryForTests: () => void;
6737
6759
  //#endregion
6760
+ //#region src/helpers/model-resolver.d.ts
6761
+ /**
6762
+ * Synchronously resolve an application model by name.
6763
+ *
6764
+ * Registered models are returned first. If a model has not been registered yet,
6765
+ * ArkORM loads it from the configured models paths, registers it, and returns
6766
+ * the matching constructor.
6767
+ *
6768
+ * @param modelName
6769
+ * @returns
6770
+ */
6771
+ declare function getModel<TName extends RegisteredModelName>(modelName: TName): RegisteredModelClass<TName>;
6772
+ declare function getModel<TModel extends RelatedModelClass = RelatedModelClass>(modelName: string): TModel;
6773
+ //#endregion
6738
6774
  //#region src/Arkorm.d.ts
6739
6775
  declare class Arkorm {
6740
6776
  /**
@@ -6853,6 +6889,14 @@ declare class Arkorm {
6853
6889
  */
6854
6890
  static getRegisteredModels(): RuntimeConstructor[];
6855
6891
  getRegisteredModels: typeof Arkorm.getRegisteredModels;
6892
+ /**
6893
+ * Synchronously resolve an application model by name.
6894
+ *
6895
+ * @param modelName
6896
+ * @returns
6897
+ */
6898
+ static getModel: typeof getModel;
6899
+ getModel: typeof getModel;
6856
6900
  /**
6857
6901
  * Get registered factory constructors or instances.
6858
6902
  *
@@ -6884,9 +6928,10 @@ declare function resolveCast(definition: CastDefinition): CastHandler;
6884
6928
  //#endregion
6885
6929
  //#region src/cli/CliApp.d.ts
6886
6930
  type SyncedModelsResult = {
6887
- source: 'adapter' | 'prisma';
6931
+ source: 'adapter' | 'prisma' | 'registry';
6888
6932
  schemaPath?: string;
6889
6933
  modelsDir: string;
6934
+ modelTypesPath?: string;
6890
6935
  total: number;
6891
6936
  updated: string[];
6892
6937
  skipped: string[];
@@ -7077,6 +7122,9 @@ declare class CliApp {
7077
7122
  private syncPrismaEnumImports;
7078
7123
  private parseModelSyncSource;
7079
7124
  private syncModelFiles;
7125
+ private resolveModelFiles;
7126
+ private syncModelRegistryTypes;
7127
+ private resolveModelRegistryImportPath;
7080
7128
  private applyPersistedFieldMetadata;
7081
7129
  /**
7082
7130
  * Parse Prisma enum definitions from a schema and return their member names.
@@ -7117,6 +7165,9 @@ declare class CliApp {
7117
7165
  schemaPath?: string;
7118
7166
  modelsDir?: string;
7119
7167
  }): Promise<SyncedModelsResult>;
7168
+ syncModelRegistry(options?: {
7169
+ modelsDir?: string;
7170
+ }): SyncedModelsResult;
7120
7171
  /**
7121
7172
  * Sync model attribute declarations in model files based on the Prisma schema.
7122
7173
  * This method reads the Prisma schema to extract model definitions and their
@@ -7134,6 +7185,7 @@ declare class CliApp {
7134
7185
  }): {
7135
7186
  schemaPath: string;
7136
7187
  modelsDir: string;
7188
+ modelTypesPath: string;
7137
7189
  total: number;
7138
7190
  updated: string[];
7139
7191
  skipped: string[];
@@ -7283,6 +7335,7 @@ declare class MigrateCommand extends Command<CliApp> {
7283
7335
  * @returns
7284
7336
  */
7285
7337
  handle(): Promise<undefined>;
7338
+ private syncModelRegistryIfRequested;
7286
7339
  /**
7287
7340
  * Load all migration classes from the specified directory.
7288
7341
  *
@@ -8762,4 +8815,4 @@ declare class URLDriver {
8762
8815
  url(page: number): string;
8763
8816
  }
8764
8817
  //#endregion
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 };
8818
+ export { buildPrimaryKeyLine as $, TransactionContext as $a, SchemaTableCreateOperation as $c, ClientResolver as $i, Arkorm as $n, fn as $o, DeleteSpec as $r, FactoryModelConstructor as $s, PersistedTimestampColumn as $t, isQuerySchemaLike as A, PrismaLikeWhereInput as Aa, MorphToRelationMetadata as Ac, QueryTarget as Ai, Migration as An, ModelOrderByInput as Ao, PrismaDelegateNameMapping as Ar, RelationConstraint as As, buildMigrationIdentity as At, applyCreateTableOperation as B, QuerySchemaRows as Ba, MigrationClass as Bc, UpdateManySpec as Bi, MigrateRollbackCommand as Bn, RelatedModelClass as Bo, AdapterModelIntrospectionOptions as Br, JoinSource as Bs, markMigrationApplied as Bt, getRuntimeClient as C, PrismaDelegateLike as Ca, HasManyThroughRelationMetadata as Cc, QueryJsonConditionKind as Ci, QueryConstraintException as Cn, ModelDeclaredAttributeKey as Co, resolveRegisteredModel as Cr, BelongsToManyRelation as Cs, supportsDatabaseCreation as Ct, getRuntimePrismaClient as D, PrismaLikeScalarFilter as Da, MorphManyRelationMetadata as Dc, QueryRawCondition as Di, ArkormException as Dn, ModelEventListener as Do, SeederConstructor as Dr, RelationAggregateInput as Ds, toModelName as Dt, getRuntimePaginationURLDriverFactory as E, PrismaLikeOrderBy as Ea, ModelMetadata as Ec, QueryOrderBy as Ei, ArkormErrorContext as En, ModelEventHandlerConstructor as Eo, SeederCallArgument as Er, RelationAggregateConstraint as Es, toMigrationFileSlug as Et, PrimaryKeyGenerationPlanner as F, QuerySchemaCreateData as Fa, AppliedMigrationEntry as Fc, RelationLoadPlan as Fi, resolveGeneratedExpression as Fn, QuerySchemaForModel as Fo, AdapterCapabilities as Fr, RelationResultCache as Fs, findAppliedMigration as Ft, applyMigrationToPrismaSchema as G, QuerySchemaWhere as Ga, SchemaColumn as Gc, ArkormBootContext as Gi, MakeMigrationCommand as Gn, ExpressionBuilder as Go, AggregateSelection as Gr, LengthAwarePaginator as Gs, resolveMigrationStateFilePath as Gt, applyMigrationRollbackToDatabase as H, QuerySchemaUniqueWhere as Ha, PrimaryKeyGeneration as Hc, UpsertSpec as Hi, MigrateCommand as Hn, AggregateExpression as Ho, AdapterQueryOperation as Hr, RelatedModelFromResult as Hs, readAppliedMigrationsState as Ht, PRISMA_ENUM_MEMBER_REGEX as I, QuerySchemaFindManyArgs as Ia, AppliedMigrationRun as Ic, RelationLoadSpec as Ii, ForeignKeyBuilder as In, QuerySchemaForModelInstance as Io, AdapterCapability as Ir, RelationTableLookupSpec as Is, getLastBatchMigrations as It, buildFieldLine as J, Serializable as Ja, SchemaForeignKeyAction as Jc, ArkormDebugHandler as Ji, DbCommand as Jn, caseWhen as Jo, DatabasePrimitive as Jr, FactoryAttributeResolver as Js, writeAppliedMigrationsStateToStore as Jt, applyOperationsToPrismaSchema as K, RawSelectInput as Ka, SchemaColumnType as Kc, ArkormConfig as Ki, MakeFactoryCommand as Kn, JsonExpression as Ko, AggregateSpec as Kr, Paginator as Ks, supportsDatabaseMigrationState as Kt, PRISMA_ENUM_REGEX as L, QuerySchemaInclude as La, AppliedMigrationsState as Lc, SelectSpec as Li, SeedCommand as Ln, RegisteredModelClass as Lo, AdapterDatabaseCreationResult as Lr, EagerLoadQueryForRelationship as Ls, getLastMigrationRun as Lt, loadArkormConfig as M, PrismaTransactionCapableClient as Ma, PivotModelStatic as Mc, RawQuerySpec as Mi, EnumBuilder as Mn, ModelRelationshipResult as Mo, createPrismaDatabaseAdapter as Mr, RelationDefaultValue as Ms, computeMigrationChecksum as Mt, resetArkormRuntimeForTests as N, PrismaTransactionContext as Na, RelationMetadata as Nc, RelationAggregateSpec as Ni, TableBuilder as Nn, ModelUpdateData as No, KyselyDatabaseAdapter as Nr, RelationMetadataProvider as Ns, createEmptyAppliedMigrationsState as Nt, getUserConfig as O, PrismaLikeSelect as Oa, MorphOneRelationMetadata as Oc, QueryScalarComparisonOperator as Oi, DB as On, ModelEventName as Oo, SeederInput as Or, RelationAggregateType as Os, isMigrationPlanningActive as Ot, runArkormTransaction as P, PrismaTransactionOptions as Pa, RelationMetadataType as Pc, RelationFilterSpec as Pi, GeneratedColumnExpression as Pn, ModelWhereInput as Po, createKyselyAdapter as Pr, RelationResult as Ps, deleteAppliedMigrationsStateFromStore as Pt, buildModelBlock as Q, TransactionCapableClient as Qa, SchemaTableAlterOperation as Qc, CastType as Qi, AttributeOptions as Qn, expressionBuilder as Qo, DeleteManySpec as Qr, FactoryDefinitionAttributes as Qs, PersistedTableMetadata as Qt, PRISMA_MODEL_REGEX as R, QuerySchemaOrderBy as Ra, GenerateMigrationOptions as Rc, SoftDeleteQueryMode as Ri, ModelsSyncCommand as Rn, RegisteredModelInstance as Ro, AdapterInspectionRequest as Rr, EagerLoadRelations as Rs, getLatestAppliedMigrations as Rt, getRuntimeAdapter as S, PrismaClientLike as Sa, HasManyRelationMetadata as Sc, QueryJsonCondition as Si, QueryExecutionExceptionContext as Sn, ModelCreateData as So, resetRuntimeRegistryForTests as Sr, SingleResultRelation as Ss, stripPrismaSchemaModelsAndEnums as St, getRuntimePaginationCurrentPageResolver as T, PrismaLikeInclude as Ta, HasOneThroughRelationMetadata as Tc, QueryNotCondition as Ti, MissingDelegateException as Tn, ModelEventHandler as To, Seeder as Tr, RelationTableLoader as Ts, supportsDatabaseReset as Tt, applyMigrationRollbackToPrismaSchema as U, QuerySchemaUpdateArgs as Ua, PrismaMigrationWorkflowOptions as Uc, AdapterBindableModel as Ui, MakeSeederCommand as Un, CaseExpression as Uo, AdapterTransactionContext as Ur, WhereCallback as Us, readAppliedMigrationsStateFromStore as Ut, applyDropTableOperation as V, QuerySchemaSelect as Va, MigrationInstanceLike as Vc, UpdateSpec as Vi, MigrateFreshCommand as Vn, Model as Vo, AdapterModelStructure as Vr, RelatedModelForRelationship as Vs, markMigrationRun as Vt, applyMigrationToDatabase as W, QuerySchemaUpdateData as Wa, PrismaSchemaSyncOptions as Wc, AdapterQueryInspection as Wi, MakeModelCommand as Wn, Expression as Wo, AggregateOperation as Wr, JoinClause as Ws, removeAppliedMigration as Wt, buildInverseRelationLine as X, SoftDeleteConfig as Xa, SchemaOperation as Xc, CastHandler as Xi, resolveCast as Xn, col as Xo, DatabaseRows as Xr, FactoryCallback as Xs, PersistedMetadataFeatures as Xt, buildIndexLine as Y, SimplePaginationMeta as Ya, SchemaIndex as Yc, CastDefinition as Yi, CliApp as Yn, coalesce as Yo, DatabaseRow as Yr, FactoryAttributes as Ys, PersistedColumnMappingsState as Yt, buildMigrationSource as Z, TransactionCallback as Za, SchemaPrimaryKey as Zc, CastMap as Zi, Attribute as Zn, count as Zo, DatabaseValue as Zr, FactoryDefinition as Zs, PersistedPrimaryKeyGeneration as Zt, emitRuntimeDebugEvent as _, PaginationCurrentPageResolver as _a, DatabaseTableOptions as _c, QueryJoinNestedConstraint as _i, UnsupportedAdapterFeatureException as _n, DelegateForModelSchema as _o, registerFactories as _r, HasOneThroughRelation as _s, resolveEnumName as _t, getRuntimeCompatibilityAdapter as a, DelegateRows as aa, CaseExpressionBranch as ac, QueryComparisonOperator as ai, getPersistedEnumTsType as an, ExpressionSelectMap as ao, RuntimePathInput as ar, sum as as, deriveRelationAlias as at, getActiveTransactionClient as b, PaginationURLDriver as ba, BelongsToRelationMetadata as bc, QueryJoinType as bi, RelationResolutionException as bn, ModelAttributes as bo, registerPaths as br, HasManyRelation as bs, runMigrationWithPrisma as bt, PrismaDelegateMap as c, DelegateUpdateArgs as ca, ExpressionBinaryOperator as cc, QueryExistsCondition as ci, getPersistedTimestampColumns as cn, QueryBuilder as co, getRegisteredFactories as cr, InlineFactory as cs, escapeRegex as ct, inferDelegateName as d, EagerLoadConstraint as da, FunctionExpressionNode as dc, QueryGroupByItem as di, resetPersistedColumnMappingsCache as dn, AttributeOrderBy as do, getRegisteredPaths as dr, SetBasedEagerLoader as ds, formatDefaultValue as dt, DelegateCreateData as ea, FactoryRelationshipResolver as ec, InsertManySpec as ei, SchemaTableDropOperation as el, applyOperationsToPersistedColumnMappingsState as en, TransactionOptions as eo, Arkormx as er, fromExpressionNode as es, buildRelationLine as et, awaitConfiguredModelsRegistration as f, EagerLoadMap as fa, InExpressionNode as fc, QueryGroupCondition as fi, resolveColumnMappingsFilePath as fn, AttributeQuerySchema as fo, getRegisteredSeeders as fr, MorphToRelation as fs, formatEnumDefaultValue as ft, disposeArkormRuntime as g, NamingCase as ga, ValueExpressionNode as gc, QueryJoinConstraint as gi, writePersistedColumnMappingsState as gn, AttributeWhereInput as go, loadSeedersFrom as gr, MorphedByManyRelation as gs, pad as gt, defineConfig as h, ModelTableCase as ha, RawExpressionNode as hc, QueryJoinColumnConstraint as hi, validatePersistedMetadataFeaturesForMigrations as hn, AttributeUpdateInput as ho, loadModelsFrom as hr, MorphManyRelation as hs, getMigrationPlan as ht, RuntimeModuleLoader as i, DelegateRow as ia, BinaryExpressionNode as ic, QueryComparisonCondition as ii, TimestampNaming as il, getPersistedEnumMap as in, EachCallback as io, RuntimeConstructor as ir, raw as is, deriveInverseRelationAlias as it, isTransactionCapableClient as j, PrismaTransactionCallback as ja, MorphedByManyRelationMetadata as jc, QueryTimeCondition as ji, SchemaBuilder as jn, ModelRelationshipKey as jo, createPrismaCompatibilityAdapter as jr, RelationDefaultResolver as js, buildMigrationRunId as jt, isDelegateLike as k, PrismaLikeSortOrder as ka, MorphToManyRelationMetadata as kc, QuerySelectColumn as ki, MIGRATION_BRAND as kn, ModelLifecycleState as ko, PrismaDatabaseAdapter as kr, RelationColumnLookupSpec as ks, runInMigrationPlanning as kt, createPrismaAdapter as l, DelegateUpdateData as la, ExpressionJsonCast as lc, QueryExpressionCondition as li, readPersistedColumnMappingsState as ln, ArkormModelRegistry as lo, getRegisteredMigrations as lr, ModelFactory as ls, findEnumBlock as lt, configureArkormRuntime as m, ModelQuerySchemaLike as ma, NullCheckExpressionNode as mc, QueryJoinBoolean as mi, syncPersistedColumnMappingsFromState as mn, AttributeSelect as mo, loadMigrationsFrom as mr, MorphOneRelation as ms, generateMigrationFile as mt, PivotModel as n, DelegateInclude as na, MaybePromise as nc, PartitionedSelectSpec as ni, TimestampColumnBehavior as nl, deletePersistedColumnMappingsState as nn, RelationshipModelStatic as no, RegisteredFactory as nr, max as ns, createMigrationTimestamp as nt, resolveRuntimeCompatibilityQuerySchema as o, DelegateSelect as oa, CaseExpressionNode as oc, QueryCondition as oi, getPersistedPrimaryKeyGeneration as on, GroupByAggregateRow as oo, RuntimePathKey as or, val as os, deriveRelationFieldName as ot, bindAdapterToModels as p, GetUserConfig as pa, JsonExpressionNode as pc, QueryJoin as pi, resolvePersistedMetadataFeatures as pn, AttributeSchemaDelegate as po, loadFactoriesFrom as pr, MorphToManyRelation as ps, formatRelationAction as pt, buildEnumBlock as q, RuntimeClientLike as qa, SchemaForeignKey as qc, ArkormDebugEvent as qi, InitCommand as qn, avg as qo, DatabaseAdapter as qr, ArkormCollection as qs, writeAppliedMigrationsState as qt, LoadedRuntimeModule as r, DelegateOrderBy as ra, AggregateExpressionNode as rc, QueryColumnComparisonCondition as ri, TimestampNames as rl, getPersistedColumnMap as rn, ChunkCallback as ro, RegisteredModel as rr, min as rs, deriveCollectionFieldName as rt, resolveRuntimeCompatibilityQuerySchemaOrThrow as s, DelegateUniqueWhere as sa, ColumnExpressionNode as sc, QueryDayCondition as si, getPersistedTableMetadata as sn, GroupByAggregateSpec as so, RuntimePathMap as sr, where as ss, deriveSingularFieldName as st, URLDriver as t, DelegateFindManyArgs as ta, FactoryState as tc, InsertSpec as ti, SchemaUniqueConstraint as tl, createEmptyPersistedColumnMappingsState as tn, ModelStatic as to, getModel as tr, json as ts, buildUniqueConstraintLine as tt, createPrismaDelegateMap as u, DelegateWhere as ua, ExpressionNode as uc, QueryFullTextCondition as ui, rebuildPersistedColumnMappingsState as un, AttributeCreateInput as uo, getRegisteredModels as ur, defineFactory as us, findModelBlock as ut, ensureArkormConfigLoading as v, PaginationMeta as va, DatabaseTablePersistedMetadataOptions as vc, QueryJoinNullConstraint as vi, UniqueConstraintResolutionException as vn, GlobalScope as vo, registerMigrations as vr, HasOneRelation as vs, resolveMigrationClassName as vt, getRuntimeDebugHandler as w, PrismaFindManyArgsLike as wa, HasOneRelationMetadata as wc, QueryLogicalOperator as wi, ModelNotFoundException as wn, ModelEventDispatcher as wo, SEEDER_BRAND as wr, Relation as ws, supportsDatabaseMigrationExecution as wt, getDefaultStubsPath as x, PaginationURLDriverFactory as xa, ColumnMap as xc, QueryJoinValueConstraint as xi, QueryExecutionException as xn, ModelAttributesOf as xo, registerSeeders as xr, BelongsToRelation as xs, runPrismaCommand as xt, getActiveTransactionAdapter as y, PaginationOptions as ya, BelongsToManyRelationMetadata as yc, QueryJoinRawConstraint as yi, ScopeNotDefinedException as yn, ModelAttributeValue as yo, registerModels as yr, HasManyThroughRelation as ys, resolvePrismaType as yt, applyAlterTableOperation as z, QuerySchemaRow as za, GeneratedMigrationFile as zc, SortDirection as zi, MigrationHistoryCommand as zn, RegisteredModelName as zo, AdapterModelFieldStructure as zr, JoinOn as zs, isMigrationApplied as zt };
@@ -617,6 +617,7 @@ interface RelationMetadataProvider {
617
617
  declare class RelationTableLoader {
618
618
  private readonly adapter;
619
619
  constructor(adapter: DatabaseAdapter);
620
+ private buildTarget;
620
621
  selectRows(spec: RelationTableLookupSpec): Promise<DatabaseRow[]>;
621
622
  selectRow(spec: RelationTableLookupSpec): Promise<DatabaseRow | null>;
622
623
  selectColumnValues(spec: RelationColumnLookupSpec): Promise<unknown[]>;
@@ -3290,6 +3291,7 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
3290
3291
  * @returns
3291
3292
  */
3292
3293
  protected hasOne<TRelatedClass extends RelatedModelClass>(related: TRelatedClass, foreignKey: string, localKey?: string): HasOneRelation<this, InstanceType<TRelatedClass>>;
3294
+ protected hasOne<TName extends RegisteredModelName>(related: TName, foreignKey?: string, localKey?: string): HasOneRelation<this, RegisteredModelInstance<TName>>;
3293
3295
  /**
3294
3296
  * Define a has many relationship.
3295
3297
  *
@@ -3299,6 +3301,7 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
3299
3301
  * @returns
3300
3302
  */
3301
3303
  protected hasMany<TRelatedClass extends RelatedModelClass>(related: TRelatedClass, foreignKey: string, localKey?: string): HasManyRelation<this, InstanceType<TRelatedClass>>;
3304
+ protected hasMany<TName extends RegisteredModelName>(related: TName, foreignKey?: string, localKey?: string): HasManyRelation<this, RegisteredModelInstance<TName>>;
3302
3305
  /**
3303
3306
  * Define a belongs to relationship.
3304
3307
  *
@@ -3308,6 +3311,7 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
3308
3311
  * @returns
3309
3312
  */
3310
3313
  protected belongsTo<TRelatedClass extends RelatedModelClass>(related: TRelatedClass, foreignKey: string, ownerKey?: string): BelongsToRelation<this, InstanceType<TRelatedClass>>;
3314
+ protected belongsTo<TName extends RegisteredModelName>(related: TName, foreignKey?: string, ownerKey?: string): BelongsToRelation<this, RegisteredModelInstance<TName>>;
3311
3315
  /**
3312
3316
  * Define a belongs to many relationship.
3313
3317
  *
@@ -3320,6 +3324,7 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
3320
3324
  * @returns
3321
3325
  */
3322
3326
  protected belongsToMany<TRelatedClass extends RelatedModelClass>(related: TRelatedClass, throughTable: string, foreignPivotKey: string, relatedPivotKey: string, parentKey?: string, relatedKey?: string): BelongsToManyRelation<this, InstanceType<TRelatedClass>>;
3327
+ protected belongsToMany<TName extends RegisteredModelName>(related: TName, throughTable: string, foreignPivotKey: string, relatedPivotKey: string, parentKey?: string, relatedKey?: string): BelongsToManyRelation<this, RegisteredModelInstance<TName>>;
3323
3328
  /**
3324
3329
  * Define a has one through relationship.
3325
3330
  *
@@ -3332,6 +3337,7 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
3332
3337
  * @returns
3333
3338
  */
3334
3339
  protected hasOneThrough<TRelatedClass extends RelatedModelClass>(related: TRelatedClass, throughTable: string, firstKey: string, secondKey: string, localKey?: string, secondLocalKey?: string): HasOneThroughRelation<this, InstanceType<TRelatedClass>>;
3340
+ protected hasOneThrough<TName extends RegisteredModelName>(related: TName, throughTable: string, firstKey: string, secondKey: string, localKey?: string, secondLocalKey?: string): HasOneThroughRelation<this, RegisteredModelInstance<TName>>;
3335
3341
  /**
3336
3342
  * Define a has many through relationship.
3337
3343
  *
@@ -3344,6 +3350,7 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
3344
3350
  * @returns
3345
3351
  */
3346
3352
  protected hasManyThrough<TRelatedClass extends RelatedModelClass>(related: TRelatedClass, throughTable: string, firstKey: string, secondKey: string, localKey?: string, secondLocalKey?: string): HasManyThroughRelation<this, InstanceType<TRelatedClass>>;
3353
+ protected hasManyThrough<TName extends RegisteredModelName>(related: TName, throughTable: string, firstKey: string, secondKey: string, localKey?: string, secondLocalKey?: string): HasManyThroughRelation<this, RegisteredModelInstance<TName>>;
3347
3354
  /**
3348
3355
  * Define a polymorphic one to one relationship.
3349
3356
  *
@@ -3355,6 +3362,7 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
3355
3362
  * @returns
3356
3363
  */
3357
3364
  protected morphOne<TRelatedClass extends RelatedModelClass>(related: TRelatedClass, morphName: string, idColumn?: string, typeColumn?: string, localKey?: string): MorphOneRelation<this, InstanceType<TRelatedClass>>;
3365
+ protected morphOne<TName extends RegisteredModelName>(related: TName, morphName: string, idColumn?: string, typeColumn?: string, localKey?: string): MorphOneRelation<this, RegisteredModelInstance<TName>>;
3358
3366
  /**
3359
3367
  * Define a polymorphic one to many relationship.
3360
3368
  *
@@ -3366,6 +3374,7 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
3366
3374
  * @returns
3367
3375
  */
3368
3376
  protected morphMany<TRelatedClass extends RelatedModelClass>(related: TRelatedClass, morphName: string, idColumn?: string, typeColumn?: string, localKey?: string): MorphManyRelation<this, InstanceType<TRelatedClass>>;
3377
+ protected morphMany<TName extends RegisteredModelName>(related: TName, morphName: string, idColumn?: string, typeColumn?: string, localKey?: string): MorphManyRelation<this, RegisteredModelInstance<TName>>;
3369
3378
  /**
3370
3379
  * Define the inverse side of a polymorphic relationship.
3371
3380
  *
@@ -3391,6 +3400,7 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
3391
3400
  * @returns
3392
3401
  */
3393
3402
  protected morphToMany<TRelatedClass extends RelatedModelClass>(related: TRelatedClass, morphName: string, throughTable?: string, foreignPivotKey?: string, morphTypeColumn?: string, relatedPivotKey?: string, parentKey?: string, relatedKey?: string): MorphToManyRelation<this, InstanceType<TRelatedClass>>;
3403
+ protected morphToMany<TName extends RegisteredModelName>(related: TName, morphName: string, throughTable?: string, foreignPivotKey?: string, morphTypeColumn?: string, relatedPivotKey?: string, parentKey?: string, relatedKey?: string): MorphToManyRelation<this, RegisteredModelInstance<TName>>;
3394
3404
  /**
3395
3405
  * Define the inverse side of a polymorphic many-to-many relationship.
3396
3406
  *
@@ -3405,6 +3415,10 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
3405
3415
  * @returns
3406
3416
  */
3407
3417
  protected morphedByMany<TRelatedClass extends RelatedModelClass>(related: TRelatedClass, morphName: string, throughTable?: string, foreignPivotKey?: string, morphTypeColumn?: string, relatedPivotKey?: string, parentKey?: string, relatedKey?: string): MorphedByManyRelation<this, InstanceType<TRelatedClass>>;
3418
+ protected morphedByMany<TName extends RegisteredModelName>(related: TName, morphName: string, throughTable?: string, foreignPivotKey?: string, morphTypeColumn?: string, relatedPivotKey?: string, parentKey?: string, relatedKey?: string): MorphedByManyRelation<this, RegisteredModelInstance<TName>>;
3419
+ private resolveRelationshipModel;
3420
+ private resolveDefaultHasForeignKey;
3421
+ private resolveDefaultBelongsToForeignKey;
3408
3422
  private resolveMorphColumns;
3409
3423
  private formatConventionName;
3410
3424
  private static getNamingCase;
@@ -3558,6 +3572,7 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
3558
3572
  }
3559
3573
  //#endregion
3560
3574
  //#region src/types/model.d.ts
3575
+ interface ArkormModelRegistry {}
3561
3576
  type LowercaseString<T extends string> = Lowercase<T>;
3562
3577
  type Simplify<TValue> = { [TKey in keyof TValue]: TValue[TKey] } & {};
3563
3578
  type ConventionalAutoManagedKeys = 'id' | 'createdAt' | 'updatedAt' | 'deletedAt';
@@ -3650,6 +3665,9 @@ type ModelAttributeValue<TModel, TAttributes extends Record<string, unknown>, TK
3650
3665
  type ModelCreateData<TModel, TDelegate extends ModelQuerySchemaLike> = TModel extends Model<any, infer TAttributes> ? TDelegate extends AttributeQuerySchema<TAttributes> ? AttributeCreateInput<TAttributes> : QuerySchemaCreateData<TDelegate> : QuerySchemaCreateData<TDelegate>;
3651
3666
  type ModelUpdateData<TModel, TDelegate extends ModelQuerySchemaLike> = TModel extends Model<any, infer TAttributes> ? TDelegate extends AttributeQuerySchema<TAttributes> ? AttributeUpdateInput<TAttributes> : QuerySchemaUpdateData<TDelegate> : QuerySchemaUpdateData<TDelegate>;
3652
3667
  type RelatedModelClass<TInstance = unknown> = (abstract new (attributes?: Record<string, unknown>) => TInstance) & RelationshipModelStatic;
3668
+ type RegisteredModelName = keyof ArkormModelRegistry & string;
3669
+ type RegisteredModelClass<TName extends RegisteredModelName> = ArkormModelRegistry[TName] extends RelatedModelClass ? ArkormModelRegistry[TName] : never;
3670
+ type RegisteredModelInstance<TName extends RegisteredModelName> = RegisteredModelClass<TName> extends (abstract new (...args: any[]) => infer TInstance) ? TInstance : never;
3653
3671
  type GlobalScope = (query: QueryBuilder<any, any>) => QueryBuilder<any, any> | void;
3654
3672
  type ModelEventName = 'retrieved' | 'saving' | 'saved' | 'creating' | 'created' | 'updating' | 'updated' | 'deleting' | 'deleted' | 'restoring' | 'restored' | 'forceDeleting' | 'forceDeleted';
3655
3673
  type ModelEventListener<TModel extends Model = Model> = (model: TModel) => void | Promise<void>;
@@ -6727,6 +6745,10 @@ declare const getRegisteredSeeders: () => SeederConstructor[];
6727
6745
  * @returns
6728
6746
  */
6729
6747
  declare const getRegisteredModels: () => RegisteredModel[];
6748
+ declare const resolveRegisteredModel: (modelName: string, context?: {
6749
+ operation?: string;
6750
+ relation?: string;
6751
+ }) => RelationshipModelStatic;
6730
6752
  /**
6731
6753
  * Get registered factory constructors or instances.
6732
6754
  *
@@ -6735,6 +6757,20 @@ declare const getRegisteredModels: () => RegisteredModel[];
6735
6757
  declare const getRegisteredFactories: () => RegisteredFactory[];
6736
6758
  declare const resetRuntimeRegistryForTests: () => void;
6737
6759
  //#endregion
6760
+ //#region src/helpers/model-resolver.d.ts
6761
+ /**
6762
+ * Synchronously resolve an application model by name.
6763
+ *
6764
+ * Registered models are returned first. If a model has not been registered yet,
6765
+ * ArkORM loads it from the configured models paths, registers it, and returns
6766
+ * the matching constructor.
6767
+ *
6768
+ * @param modelName
6769
+ * @returns
6770
+ */
6771
+ declare function getModel<TName extends RegisteredModelName>(modelName: TName): RegisteredModelClass<TName>;
6772
+ declare function getModel<TModel extends RelatedModelClass = RelatedModelClass>(modelName: string): TModel;
6773
+ //#endregion
6738
6774
  //#region src/Arkorm.d.ts
6739
6775
  declare class Arkorm {
6740
6776
  /**
@@ -6853,6 +6889,14 @@ declare class Arkorm {
6853
6889
  */
6854
6890
  static getRegisteredModels(): RuntimeConstructor[];
6855
6891
  getRegisteredModels: typeof Arkorm.getRegisteredModels;
6892
+ /**
6893
+ * Synchronously resolve an application model by name.
6894
+ *
6895
+ * @param modelName
6896
+ * @returns
6897
+ */
6898
+ static getModel: typeof getModel;
6899
+ getModel: typeof getModel;
6856
6900
  /**
6857
6901
  * Get registered factory constructors or instances.
6858
6902
  *
@@ -6884,9 +6928,10 @@ declare function resolveCast(definition: CastDefinition): CastHandler;
6884
6928
  //#endregion
6885
6929
  //#region src/cli/CliApp.d.ts
6886
6930
  type SyncedModelsResult = {
6887
- source: 'adapter' | 'prisma';
6931
+ source: 'adapter' | 'prisma' | 'registry';
6888
6932
  schemaPath?: string;
6889
6933
  modelsDir: string;
6934
+ modelTypesPath?: string;
6890
6935
  total: number;
6891
6936
  updated: string[];
6892
6937
  skipped: string[];
@@ -7077,6 +7122,9 @@ declare class CliApp {
7077
7122
  private syncPrismaEnumImports;
7078
7123
  private parseModelSyncSource;
7079
7124
  private syncModelFiles;
7125
+ private resolveModelFiles;
7126
+ private syncModelRegistryTypes;
7127
+ private resolveModelRegistryImportPath;
7080
7128
  private applyPersistedFieldMetadata;
7081
7129
  /**
7082
7130
  * Parse Prisma enum definitions from a schema and return their member names.
@@ -7117,6 +7165,9 @@ declare class CliApp {
7117
7165
  schemaPath?: string;
7118
7166
  modelsDir?: string;
7119
7167
  }): Promise<SyncedModelsResult>;
7168
+ syncModelRegistry(options?: {
7169
+ modelsDir?: string;
7170
+ }): SyncedModelsResult;
7120
7171
  /**
7121
7172
  * Sync model attribute declarations in model files based on the Prisma schema.
7122
7173
  * This method reads the Prisma schema to extract model definitions and their
@@ -7134,6 +7185,7 @@ declare class CliApp {
7134
7185
  }): {
7135
7186
  schemaPath: string;
7136
7187
  modelsDir: string;
7188
+ modelTypesPath: string;
7137
7189
  total: number;
7138
7190
  updated: string[];
7139
7191
  skipped: string[];
@@ -7283,6 +7335,7 @@ declare class MigrateCommand extends Command<CliApp> {
7283
7335
  * @returns
7284
7336
  */
7285
7337
  handle(): Promise<undefined>;
7338
+ private syncModelRegistryIfRequested;
7286
7339
  /**
7287
7340
  * Load all migration classes from the specified directory.
7288
7341
  *
@@ -8762,4 +8815,4 @@ declare class URLDriver {
8762
8815
  url(page: number): string;
8763
8816
  }
8764
8817
  //#endregion
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 };
8818
+ export { buildPrimaryKeyLine as $, TransactionContext as $a, SchemaTableCreateOperation as $c, ClientResolver as $i, Arkorm as $n, fn as $o, DeleteSpec as $r, FactoryModelConstructor as $s, PersistedTimestampColumn as $t, isQuerySchemaLike as A, PrismaLikeWhereInput as Aa, MorphToRelationMetadata as Ac, QueryTarget as Ai, Migration as An, ModelOrderByInput as Ao, PrismaDelegateNameMapping as Ar, RelationConstraint as As, buildMigrationIdentity as At, applyCreateTableOperation as B, QuerySchemaRows as Ba, MigrationClass as Bc, UpdateManySpec as Bi, MigrateRollbackCommand as Bn, RelatedModelClass as Bo, AdapterModelIntrospectionOptions as Br, JoinSource as Bs, markMigrationApplied as Bt, getRuntimeClient as C, PrismaDelegateLike as Ca, HasManyThroughRelationMetadata as Cc, QueryJsonConditionKind as Ci, QueryConstraintException as Cn, ModelDeclaredAttributeKey as Co, resolveRegisteredModel as Cr, BelongsToManyRelation as Cs, supportsDatabaseCreation as Ct, getRuntimePrismaClient as D, PrismaLikeScalarFilter as Da, MorphManyRelationMetadata as Dc, QueryRawCondition as Di, ArkormException as Dn, ModelEventListener as Do, SeederConstructor as Dr, RelationAggregateInput as Ds, toModelName as Dt, getRuntimePaginationURLDriverFactory as E, PrismaLikeOrderBy as Ea, ModelMetadata as Ec, QueryOrderBy as Ei, ArkormErrorContext as En, ModelEventHandlerConstructor as Eo, SeederCallArgument as Er, RelationAggregateConstraint as Es, toMigrationFileSlug as Et, PrimaryKeyGenerationPlanner as F, QuerySchemaCreateData as Fa, AppliedMigrationEntry as Fc, RelationLoadPlan as Fi, resolveGeneratedExpression as Fn, QuerySchemaForModel as Fo, AdapterCapabilities as Fr, RelationResultCache as Fs, findAppliedMigration as Ft, applyMigrationToPrismaSchema as G, QuerySchemaWhere as Ga, SchemaColumn as Gc, ArkormBootContext as Gi, MakeMigrationCommand as Gn, ExpressionBuilder as Go, AggregateSelection as Gr, LengthAwarePaginator as Gs, resolveMigrationStateFilePath as Gt, applyMigrationRollbackToDatabase as H, QuerySchemaUniqueWhere as Ha, PrimaryKeyGeneration as Hc, UpsertSpec as Hi, MigrateCommand as Hn, AggregateExpression as Ho, AdapterQueryOperation as Hr, RelatedModelFromResult as Hs, readAppliedMigrationsState as Ht, PRISMA_ENUM_MEMBER_REGEX as I, QuerySchemaFindManyArgs as Ia, AppliedMigrationRun as Ic, RelationLoadSpec as Ii, ForeignKeyBuilder as In, QuerySchemaForModelInstance as Io, AdapterCapability as Ir, RelationTableLookupSpec as Is, getLastBatchMigrations as It, buildFieldLine as J, Serializable as Ja, SchemaForeignKeyAction as Jc, ArkormDebugHandler as Ji, DbCommand as Jn, caseWhen as Jo, DatabasePrimitive as Jr, FactoryAttributeResolver as Js, writeAppliedMigrationsStateToStore as Jt, applyOperationsToPrismaSchema as K, RawSelectInput as Ka, SchemaColumnType as Kc, ArkormConfig as Ki, MakeFactoryCommand as Kn, JsonExpression as Ko, AggregateSpec as Kr, Paginator as Ks, supportsDatabaseMigrationState as Kt, PRISMA_ENUM_REGEX as L, QuerySchemaInclude as La, AppliedMigrationsState as Lc, SelectSpec as Li, SeedCommand as Ln, RegisteredModelClass as Lo, AdapterDatabaseCreationResult as Lr, EagerLoadQueryForRelationship as Ls, getLastMigrationRun as Lt, loadArkormConfig as M, PrismaTransactionCapableClient as Ma, PivotModelStatic as Mc, RawQuerySpec as Mi, EnumBuilder as Mn, ModelRelationshipResult as Mo, createPrismaDatabaseAdapter as Mr, RelationDefaultValue as Ms, computeMigrationChecksum as Mt, resetArkormRuntimeForTests as N, PrismaTransactionContext as Na, RelationMetadata as Nc, RelationAggregateSpec as Ni, TableBuilder as Nn, ModelUpdateData as No, KyselyDatabaseAdapter as Nr, RelationMetadataProvider as Ns, createEmptyAppliedMigrationsState as Nt, getUserConfig as O, PrismaLikeSelect as Oa, MorphOneRelationMetadata as Oc, QueryScalarComparisonOperator as Oi, DB as On, ModelEventName as Oo, SeederInput as Or, RelationAggregateType as Os, isMigrationPlanningActive as Ot, runArkormTransaction as P, PrismaTransactionOptions as Pa, RelationMetadataType as Pc, RelationFilterSpec as Pi, GeneratedColumnExpression as Pn, ModelWhereInput as Po, createKyselyAdapter as Pr, RelationResult as Ps, deleteAppliedMigrationsStateFromStore as Pt, buildModelBlock as Q, TransactionCapableClient as Qa, SchemaTableAlterOperation as Qc, CastType as Qi, AttributeOptions as Qn, expressionBuilder as Qo, DeleteManySpec as Qr, FactoryDefinitionAttributes as Qs, PersistedTableMetadata as Qt, PRISMA_MODEL_REGEX as R, QuerySchemaOrderBy as Ra, GenerateMigrationOptions as Rc, SoftDeleteQueryMode as Ri, ModelsSyncCommand as Rn, RegisteredModelInstance as Ro, AdapterInspectionRequest as Rr, EagerLoadRelations as Rs, getLatestAppliedMigrations as Rt, getRuntimeAdapter as S, PrismaClientLike as Sa, HasManyRelationMetadata as Sc, QueryJsonCondition as Si, QueryExecutionExceptionContext as Sn, ModelCreateData as So, resetRuntimeRegistryForTests as Sr, SingleResultRelation as Ss, stripPrismaSchemaModelsAndEnums as St, getRuntimePaginationCurrentPageResolver as T, PrismaLikeInclude as Ta, HasOneThroughRelationMetadata as Tc, QueryNotCondition as Ti, MissingDelegateException as Tn, ModelEventHandler as To, Seeder as Tr, RelationTableLoader as Ts, supportsDatabaseReset as Tt, applyMigrationRollbackToPrismaSchema as U, QuerySchemaUpdateArgs as Ua, PrismaMigrationWorkflowOptions as Uc, AdapterBindableModel as Ui, MakeSeederCommand as Un, CaseExpression as Uo, AdapterTransactionContext as Ur, WhereCallback as Us, readAppliedMigrationsStateFromStore as Ut, applyDropTableOperation as V, QuerySchemaSelect as Va, MigrationInstanceLike as Vc, UpdateSpec as Vi, MigrateFreshCommand as Vn, Model as Vo, AdapterModelStructure as Vr, RelatedModelForRelationship as Vs, markMigrationRun as Vt, applyMigrationToDatabase as W, QuerySchemaUpdateData as Wa, PrismaSchemaSyncOptions as Wc, AdapterQueryInspection as Wi, MakeModelCommand as Wn, Expression as Wo, AggregateOperation as Wr, JoinClause as Ws, removeAppliedMigration as Wt, buildInverseRelationLine as X, SoftDeleteConfig as Xa, SchemaOperation as Xc, CastHandler as Xi, resolveCast as Xn, col as Xo, DatabaseRows as Xr, FactoryCallback as Xs, PersistedMetadataFeatures as Xt, buildIndexLine as Y, SimplePaginationMeta as Ya, SchemaIndex as Yc, CastDefinition as Yi, CliApp as Yn, coalesce as Yo, DatabaseRow as Yr, FactoryAttributes as Ys, PersistedColumnMappingsState as Yt, buildMigrationSource as Z, TransactionCallback as Za, SchemaPrimaryKey as Zc, CastMap as Zi, Attribute as Zn, count as Zo, DatabaseValue as Zr, FactoryDefinition as Zs, PersistedPrimaryKeyGeneration as Zt, emitRuntimeDebugEvent as _, PaginationCurrentPageResolver as _a, DatabaseTableOptions as _c, QueryJoinNestedConstraint as _i, UnsupportedAdapterFeatureException as _n, DelegateForModelSchema as _o, registerFactories as _r, HasOneThroughRelation as _s, resolveEnumName as _t, getRuntimeCompatibilityAdapter as a, DelegateRows as aa, CaseExpressionBranch as ac, QueryComparisonOperator as ai, getPersistedEnumTsType as an, ExpressionSelectMap as ao, RuntimePathInput as ar, sum as as, deriveRelationAlias as at, getActiveTransactionClient as b, PaginationURLDriver as ba, BelongsToRelationMetadata as bc, QueryJoinType as bi, RelationResolutionException as bn, ModelAttributes as bo, registerPaths as br, HasManyRelation as bs, runMigrationWithPrisma as bt, PrismaDelegateMap as c, DelegateUpdateArgs as ca, ExpressionBinaryOperator as cc, QueryExistsCondition as ci, getPersistedTimestampColumns as cn, QueryBuilder as co, getRegisteredFactories as cr, InlineFactory as cs, escapeRegex as ct, inferDelegateName as d, EagerLoadConstraint as da, FunctionExpressionNode as dc, QueryGroupByItem as di, resetPersistedColumnMappingsCache as dn, AttributeOrderBy as do, getRegisteredPaths as dr, SetBasedEagerLoader as ds, formatDefaultValue as dt, DelegateCreateData as ea, FactoryRelationshipResolver as ec, InsertManySpec as ei, SchemaTableDropOperation as el, applyOperationsToPersistedColumnMappingsState as en, TransactionOptions as eo, Arkormx as er, fromExpressionNode as es, buildRelationLine as et, awaitConfiguredModelsRegistration as f, EagerLoadMap as fa, InExpressionNode as fc, QueryGroupCondition as fi, resolveColumnMappingsFilePath as fn, AttributeQuerySchema as fo, getRegisteredSeeders as fr, MorphToRelation as fs, formatEnumDefaultValue as ft, disposeArkormRuntime as g, NamingCase as ga, ValueExpressionNode as gc, QueryJoinConstraint as gi, writePersistedColumnMappingsState as gn, AttributeWhereInput as go, loadSeedersFrom as gr, MorphedByManyRelation as gs, pad as gt, defineConfig as h, ModelTableCase as ha, RawExpressionNode as hc, QueryJoinColumnConstraint as hi, validatePersistedMetadataFeaturesForMigrations as hn, AttributeUpdateInput as ho, loadModelsFrom as hr, MorphManyRelation as hs, getMigrationPlan as ht, RuntimeModuleLoader as i, DelegateRow as ia, BinaryExpressionNode as ic, QueryComparisonCondition as ii, TimestampNaming as il, getPersistedEnumMap as in, EachCallback as io, RuntimeConstructor as ir, raw as is, deriveInverseRelationAlias as it, isTransactionCapableClient as j, PrismaTransactionCallback as ja, MorphedByManyRelationMetadata as jc, QueryTimeCondition as ji, SchemaBuilder as jn, ModelRelationshipKey as jo, createPrismaCompatibilityAdapter as jr, RelationDefaultResolver as js, buildMigrationRunId as jt, isDelegateLike as k, PrismaLikeSortOrder as ka, MorphToManyRelationMetadata as kc, QuerySelectColumn as ki, MIGRATION_BRAND as kn, ModelLifecycleState as ko, PrismaDatabaseAdapter as kr, RelationColumnLookupSpec as ks, runInMigrationPlanning as kt, createPrismaAdapter as l, DelegateUpdateData as la, ExpressionJsonCast as lc, QueryExpressionCondition as li, readPersistedColumnMappingsState as ln, ArkormModelRegistry as lo, getRegisteredMigrations as lr, ModelFactory as ls, findEnumBlock as lt, configureArkormRuntime as m, ModelQuerySchemaLike as ma, NullCheckExpressionNode as mc, QueryJoinBoolean as mi, syncPersistedColumnMappingsFromState as mn, AttributeSelect as mo, loadMigrationsFrom as mr, MorphOneRelation as ms, generateMigrationFile as mt, PivotModel as n, DelegateInclude as na, MaybePromise as nc, PartitionedSelectSpec as ni, TimestampColumnBehavior as nl, deletePersistedColumnMappingsState as nn, RelationshipModelStatic as no, RegisteredFactory as nr, max as ns, createMigrationTimestamp as nt, resolveRuntimeCompatibilityQuerySchema as o, DelegateSelect as oa, CaseExpressionNode as oc, QueryCondition as oi, getPersistedPrimaryKeyGeneration as on, GroupByAggregateRow as oo, RuntimePathKey as or, val as os, deriveRelationFieldName as ot, bindAdapterToModels as p, GetUserConfig as pa, JsonExpressionNode as pc, QueryJoin as pi, resolvePersistedMetadataFeatures as pn, AttributeSchemaDelegate as po, loadFactoriesFrom as pr, MorphToManyRelation as ps, formatRelationAction as pt, buildEnumBlock as q, RuntimeClientLike as qa, SchemaForeignKey as qc, ArkormDebugEvent as qi, InitCommand as qn, avg as qo, DatabaseAdapter as qr, ArkormCollection as qs, writeAppliedMigrationsState as qt, LoadedRuntimeModule as r, DelegateOrderBy as ra, AggregateExpressionNode as rc, QueryColumnComparisonCondition as ri, TimestampNames as rl, getPersistedColumnMap as rn, ChunkCallback as ro, RegisteredModel as rr, min as rs, deriveCollectionFieldName as rt, resolveRuntimeCompatibilityQuerySchemaOrThrow as s, DelegateUniqueWhere as sa, ColumnExpressionNode as sc, QueryDayCondition as si, getPersistedTableMetadata as sn, GroupByAggregateSpec as so, RuntimePathMap as sr, where as ss, deriveSingularFieldName as st, URLDriver as t, DelegateFindManyArgs as ta, FactoryState as tc, InsertSpec as ti, SchemaUniqueConstraint as tl, createEmptyPersistedColumnMappingsState as tn, ModelStatic as to, getModel as tr, json as ts, buildUniqueConstraintLine as tt, createPrismaDelegateMap as u, DelegateWhere as ua, ExpressionNode as uc, QueryFullTextCondition as ui, rebuildPersistedColumnMappingsState as un, AttributeCreateInput as uo, getRegisteredModels as ur, defineFactory as us, findModelBlock as ut, ensureArkormConfigLoading as v, PaginationMeta as va, DatabaseTablePersistedMetadataOptions as vc, QueryJoinNullConstraint as vi, UniqueConstraintResolutionException as vn, GlobalScope as vo, registerMigrations as vr, HasOneRelation as vs, resolveMigrationClassName as vt, getRuntimeDebugHandler as w, PrismaFindManyArgsLike as wa, HasOneRelationMetadata as wc, QueryLogicalOperator as wi, ModelNotFoundException as wn, ModelEventDispatcher as wo, SEEDER_BRAND as wr, Relation as ws, supportsDatabaseMigrationExecution as wt, getDefaultStubsPath as x, PaginationURLDriverFactory as xa, ColumnMap as xc, QueryJoinValueConstraint as xi, QueryExecutionException as xn, ModelAttributesOf as xo, registerSeeders as xr, BelongsToRelation as xs, runPrismaCommand as xt, getActiveTransactionAdapter as y, PaginationOptions as ya, BelongsToManyRelationMetadata as yc, QueryJoinRawConstraint as yi, ScopeNotDefinedException as yn, ModelAttributeValue as yo, registerModels as yr, HasManyThroughRelation as ys, resolvePrismaType as yt, applyAlterTableOperation as z, QuerySchemaRow as za, GeneratedMigrationFile as zc, SortDirection as zi, MigrationHistoryCommand as zn, RegisteredModelName as zo, AdapterModelFieldStructure as zr, JoinOn as zs, isMigrationApplied as zt };