arkormx 2.3.0 → 2.4.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.
@@ -1,7 +1,7 @@
1
- import { Kysely, Transaction } from "kysely";
2
- import { PrismaClient } from "@prisma/client";
3
1
  import { Collection } from "@h3ravel/collect.js";
2
+ import { Kysely, Transaction } from "kysely";
4
3
  import { Command } from "@h3ravel/musket";
4
+ import { PrismaClient } from "@prisma/client";
5
5
 
6
6
  //#region src/types/migrations.d.ts
7
7
  type SchemaColumnType = 'id' | 'uuid' | 'enum' | 'string' | 'text' | 'integer' | 'bigInteger' | 'float' | 'boolean' | 'json' | 'date' | 'timestamp';
@@ -227,7 +227,90 @@ type FactoryState<TAttributes extends FactoryAttributes> = (attributes: TAttribu
227
227
  //#region src/Collection.d.ts
228
228
  declare class ArkormCollection<T = any, X = T[]> extends Collection<T, X> {}
229
229
  //#endregion
230
+ //#region src/Paginator.d.ts
231
+ /**
232
+ * The LengthAwarePaginator class encapsulates paginated results with full
233
+ * metadata including the total result count and last page.
234
+ *
235
+ * @template T The type of the data being paginated.
236
+ * @author Legacy (3m1n3nc3)
237
+ * @since 0.1.0
238
+ */
239
+ declare class LengthAwarePaginator<T> {
240
+ readonly data: ArkormCollection<T>;
241
+ readonly meta: PaginationMeta;
242
+ private readonly urlDriver;
243
+ /**
244
+ * Creates a new LengthAwarePaginator instance.
245
+ *
246
+ * @param data The collection of data being paginated.
247
+ * @param total The total number of items.
248
+ * @param perPage The number of items per page.
249
+ * @param currentPage The current page number.
250
+ * @param options URL generation options.
251
+ */
252
+ constructor(data: ArkormCollection<T>, total: number, perPage: number, currentPage: number, options?: PaginationOptions);
253
+ getPageName(): string;
254
+ url(page: number): string;
255
+ nextPageUrl(): string | null;
256
+ previousPageUrl(): string | null;
257
+ firstPageUrl(): string;
258
+ lastPageUrl(): string;
259
+ /**
260
+ * Converts the paginator instance to a JSON-serializable object.
261
+ *
262
+ * @returns
263
+ */
264
+ toJSON(): {
265
+ data: ArkormCollection<T, T[]>;
266
+ meta: PaginationMeta;
267
+ links: {
268
+ first: string;
269
+ last: string;
270
+ prev: string | null;
271
+ next: string | null;
272
+ };
273
+ };
274
+ }
275
+ /**
276
+ * The Paginator class encapsulates simple pagination results without total count.
277
+ *
278
+ * @template T The type of the data being paginated.
279
+ */
280
+ declare class Paginator<T> {
281
+ readonly data: ArkormCollection<T>;
282
+ readonly meta: SimplePaginationMeta;
283
+ private readonly urlDriver;
284
+ /**
285
+ * Creates a new simple Paginator instance.
286
+ *
287
+ * @param data The collection of data being paginated.
288
+ * @param perPage The number of items per page.
289
+ * @param currentPage The current page number.
290
+ * @param hasMorePages Indicates whether additional pages exist.
291
+ * @param options URL generation options.
292
+ */
293
+ constructor(data: ArkormCollection<T>, perPage: number, currentPage: number, hasMorePages: boolean, options?: PaginationOptions);
294
+ getPageName(): string;
295
+ url(page: number): string;
296
+ nextPageUrl(): string | null;
297
+ previousPageUrl(): string | null;
298
+ toJSON(): {
299
+ data: ArkormCollection<T, T[]>;
300
+ meta: SimplePaginationMeta;
301
+ links: {
302
+ prev: string | null;
303
+ next: string | null;
304
+ };
305
+ };
306
+ }
307
+ //#endregion
230
308
  //#region src/types/relationship.d.ts
309
+ type RelationResult = unknown[] | unknown | null;
310
+ type RelationResultCache = WeakMap<object, Map<string, Map<unknown, Promise<RelationResult>>>>;
311
+ type RelationAggregateType = 'count' | 'exists' | 'sum' | 'avg' | 'min' | 'max';
312
+ type RelationAggregateConstraint = (query: QueryBuilder<any, any>) => unknown;
313
+ type RelationAggregateInput = string | string[] | Record<string, boolean | RelationAggregateConstraint | undefined>;
231
314
  type RelationConstraint<TModel> = (query: QueryBuilder<TModel>) => QueryBuilder<TModel> | void;
232
315
  type RelationDefaultValue<TParent, TRelated> = Partial<ModelAttributes<TRelated>> | TRelated | ((parent: TParent) => Partial<ModelAttributes<TRelated>> | TRelated);
233
316
  type RelationDefaultResolver<TParent, TRelated> = (parent: TParent) => Partial<ModelAttributes<TRelated>> | TRelated;
@@ -278,7 +361,15 @@ declare abstract class Relation<TModel> {
278
361
  getAdapter: () => DatabaseAdapter | undefined;
279
362
  query: () => QueryBuilder<TModel>;
280
363
  };
364
+ protected getRelatedModelConstructor(): {
365
+ hydrate: (attributes: Record<string, unknown>) => TModel;
366
+ query: () => QueryBuilder<TModel>;
367
+ getPrimaryKey: () => string;
368
+ };
281
369
  protected createRelationTableLoader(): RelationTableLoader;
370
+ protected getCreationAttributes(): Record<string, unknown>;
371
+ protected mergeCreationAttributes(attributes?: Record<string, unknown>): Record<string, unknown>;
372
+ protected applyCreationAttributesToModel(model: TModel): TModel;
282
373
  /**
283
374
  * Apply a constraint to the relationship query.
284
375
  *
@@ -428,6 +519,29 @@ declare abstract class Relation<TModel> {
428
519
  * @returns
429
520
  */
430
521
  first(): Promise<TModel | null>;
522
+ /**
523
+ * Execute the relationship query and return the first related model or throw an error if not found.
524
+ *
525
+ * @returns
526
+ */
527
+ firstOrFail(): Promise<TModel>;
528
+ /**
529
+ * Execute the relationship query and return the first related model or the result of
530
+ * the callback if not found.
531
+ *
532
+ * @param callback
533
+ * @returns
534
+ */
535
+ firstOr<TResult>(callback: () => TResult | Promise<TResult>): Promise<TModel | TResult>;
536
+ /**
537
+ * Execute the relationship query with an additional where clause and return the first
538
+ * related model or null if not found.
539
+ *
540
+ * @param key
541
+ * @param value
542
+ */
543
+ firstWhere<TKey extends keyof ModelAttributes<TModel> & string>(key: TKey, value: ModelAttributes<TModel>[TKey]): Promise<TModel | null>;
544
+ firstWhere<TKey extends keyof ModelAttributes<TModel> & string>(key: TKey, operator: '=' | '!=' | '>' | '>=' | '<' | '<=', value: ModelAttributes<TModel>[TKey]): Promise<TModel | null>;
431
545
  /**
432
546
  * Count records that match the relationship query.
433
547
  *
@@ -446,6 +560,158 @@ declare abstract class Relation<TModel> {
446
560
  * @returns
447
561
  */
448
562
  doesntExist(): Promise<boolean>;
563
+ /**
564
+ * Create a new instance of the related model with the given attributes and
565
+ * relationship creation attributes applied, but do not save it.
566
+ *
567
+ * @param attributes
568
+ * @returns
569
+ */
570
+ make(attributes?: Record<string, unknown>): TModel;
571
+ /**
572
+ * Create new instances of the related model with the given attributes and relationship
573
+ * creation attributes applied, but do not save them.
574
+ *
575
+ * @param attributes
576
+ * @returns
577
+ */
578
+ makeMany(attributes?: Record<string, unknown>[]): TModel[];
579
+ /**
580
+ * Create a new instance of the related model with the given attributes and relationship
581
+ * creation attributes applied, and save it to the database.
582
+ *
583
+ * @param attributes
584
+ * @returns
585
+ */
586
+ create(attributes?: Record<string, unknown>): Promise<TModel>;
587
+ /**
588
+ * Create new instances of the related model with the given attributes and relationship
589
+ * creation attributes applied, and save them to the database.
590
+ *
591
+ * @param values
592
+ * @returns
593
+ */
594
+ createMany(values?: Record<string, unknown>[]): Promise<TModel[]>;
595
+ /**
596
+ * Save the given model instance by applying relationship creation attributes and calling save() on it.
597
+ *
598
+ * @param model
599
+ * @returns
600
+ */
601
+ save(model: TModel): Promise<TModel>;
602
+ /**
603
+ * Save the given model instance by applying relationship creation attributes and
604
+ * calling saveQuietly() on it if supported, otherwise falling back to save().
605
+ *
606
+ * @param model
607
+ * @returns
608
+ */
609
+ saveQuietly(model: TModel): Promise<TModel>;
610
+ private shouldCreateAfterSaveMiss;
611
+ /**
612
+ * Create new instances of the related model with the given attributes and
613
+ * relationship * creation attributes applied, and save them to the database.
614
+ *
615
+ * @param models
616
+ * @returns
617
+ */
618
+ saveMany(models?: TModel[]): Promise<TModel[]>;
619
+ /**
620
+ * Create new instances of the related model with the given attributes and relationship
621
+ * creation attributes applied, and save them to the database.
622
+ *
623
+ * @param models
624
+ * @returns
625
+ */
626
+ saveManyQuietly(models?: TModel[]): Promise<TModel[]>;
627
+ /**
628
+ * Find a related model by a specific key and value, applying relationship constraints.
629
+ *
630
+ * @param value
631
+ * @param key
632
+ */
633
+ find<TKey extends keyof ModelAttributes<TModel> & string>(value: ModelAttributes<TModel>[TKey], key: TKey): Promise<TModel | null>;
634
+ find(value: string | number, key?: string): Promise<TModel | null>;
635
+ /**
636
+ * Find related models by a specific key and array of values, applying relationship constraints.
637
+ *
638
+ * @param values
639
+ * @param key
640
+ */
641
+ findMany<TKey extends keyof ModelAttributes<TModel> & string>(values: ModelAttributes<TModel>[TKey][], key: TKey): Promise<ArkormCollection<TModel>>;
642
+ findMany(values: Array<string | number>, key?: string): Promise<ArkormCollection<TModel>>;
643
+ /**
644
+ * Find a related model by a specific key and value, applying relationship constraints, or
645
+ * return the result of the callback if not found.
646
+ *
647
+ * @param value
648
+ * @param callback
649
+ */
650
+ findOr<TResult>(value: string | number, callback: () => TResult | Promise<TResult>): Promise<TModel | TResult>;
651
+ findOr<TResult>(value: string | number, key: string, callback: () => TResult | Promise<TResult>): Promise<TModel | TResult>;
652
+ /**
653
+ * Find a related model by a specific key and value, applying relationship constraints, or
654
+ * throw an error if not found.
655
+ *
656
+ * @param value
657
+ * @param key
658
+ */
659
+ findOrFail<TKey extends keyof ModelAttributes<TModel> & string>(value: ModelAttributes<TModel>[TKey], key: TKey): Promise<TModel>;
660
+ findOrFail(value: string | number, key?: string): Promise<TModel>;
661
+ /**
662
+ * Find the first related model by a specific key and value, or create a new instance if not found.
663
+ *
664
+ * @param attributes
665
+ * @param values
666
+ * @returns
667
+ */
668
+ firstOrNew(attributes: Record<string, unknown>, values?: Record<string, unknown>): Promise<TModel>;
669
+ /**
670
+ * Find the first related model by a specific key and value, or create and save a new instance
671
+ * if not found.
672
+ *
673
+ * @param attributes
674
+ * @param values
675
+ * @returns
676
+ */
677
+ firstOrCreate(attributes: Record<string, unknown>, values?: Record<string, unknown>): Promise<TModel>;
678
+ /**
679
+ * Find the first related model by a specific key and value, update the first matching record with
680
+ * the given values, or create and save a new instance if no matching record is found.
681
+ *
682
+ * @param attributes
683
+ * @param values
684
+ * @returns
685
+ */
686
+ updateOrCreate(attributes: Record<string, unknown>, values?: Record<string, unknown>): Promise<TModel>;
687
+ /**
688
+ * Find related models by specific attributes, update matching records with the given values, or
689
+ * create and save new instances if no matching records are found.
690
+ *
691
+ * @param values
692
+ * @param uniqueBy
693
+ * @param update
694
+ * @returns
695
+ */
696
+ upsert(values: Array<Record<string, unknown>>, uniqueBy: string | string[], update?: string[] | null): Promise<number>;
697
+ /**
698
+ * Paginate the relationship query results.
699
+ *
700
+ * @param perPage
701
+ * @param page
702
+ * @param options
703
+ * @returns
704
+ */
705
+ paginate(perPage?: number, page?: number, options?: PaginationOptions): Promise<LengthAwarePaginator<TModel>>;
706
+ /**
707
+ * Paginate the relationship query results without total count optimization.
708
+ *
709
+ * @param perPage
710
+ * @param page
711
+ * @param options
712
+ * @returns
713
+ */
714
+ simplePaginate(perPage?: number, page?: number, options?: PaginationOptions): Promise<Paginator<TModel>>;
449
715
  /**
450
716
  * Get the results of the relationship query.
451
717
  *
@@ -754,6 +1020,7 @@ declare class HasManyRelation<TParent, TRelated> extends Relation<TRelated> {
754
1020
  * @returns
755
1021
  */
756
1022
  getQuery(): Promise<QueryBuilder<TRelated>>;
1023
+ protected getCreationAttributes(): Record<string, unknown>;
757
1024
  getMetadata(): HasManyRelationMetadata;
758
1025
  /**
759
1026
  * Fetches the related models for this relationship.
@@ -818,6 +1085,7 @@ declare class HasOneRelation<TParent, TRelated> extends SingleResultRelation<TPa
818
1085
  * @returns
819
1086
  */
820
1087
  getQuery(): Promise<QueryBuilder<TRelated>>;
1088
+ protected getCreationAttributes(): Record<string, unknown>;
821
1089
  getMetadata(): HasOneRelationMetadata;
822
1090
  /**
823
1091
  * Fetches the related models for this relationship.
@@ -882,6 +1150,7 @@ declare class MorphManyRelation<TParent, TRelated> extends Relation<TRelated> {
882
1150
  * @returns
883
1151
  */
884
1152
  getQuery(): Promise<QueryBuilder<TRelated>>;
1153
+ protected getCreationAttributes(): Record<string, unknown>;
885
1154
  getMetadata(): MorphManyRelationMetadata;
886
1155
  /**
887
1156
  * Fetches the related models for this relationship.
@@ -912,6 +1181,7 @@ declare class MorphOneRelation<TParent, TRelated> extends SingleResultRelation<T
912
1181
  * @returns
913
1182
  */
914
1183
  getQuery(): Promise<QueryBuilder<TRelated>>;
1184
+ protected getCreationAttributes(): Record<string, unknown>;
915
1185
  getMetadata(): MorphOneRelationMetadata;
916
1186
  /**
917
1187
  * Fetches the related models for this relationship.
@@ -1559,7 +1829,37 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
1559
1829
  * @param relations
1560
1830
  * @returns
1561
1831
  */
1562
- load(relations: string | string[] | EagerLoadMap): Promise<this>;
1832
+ load(relations: string | string[] | EagerLoadMap | Record<string, true | ((query: unknown) => unknown) | undefined>): Promise<this>;
1833
+ /**
1834
+ * Load relationship count aggregates onto the current model instance.
1835
+ *
1836
+ * @param relations
1837
+ * @returns
1838
+ */
1839
+ loadCount(relations: string | string[] | Record<string, boolean | ((query: QueryBuilder<any, any>) => unknown) | undefined>): Promise<this>;
1840
+ /**
1841
+ * Load relationship sum aggregates onto the current model instance.
1842
+ *
1843
+ * @param relations
1844
+ * @param column
1845
+ * @returns
1846
+ */
1847
+ loadSum(relations: string | string[] | Record<string, boolean | ((query: QueryBuilder<any, any>) => unknown) | undefined>, column: string): Promise<this>;
1848
+ /**
1849
+ * Load relations only when they are not already present on the model.
1850
+ *
1851
+ * @param relations
1852
+ * @returns
1853
+ */
1854
+ loadMissing(relations: string | string[] | Record<string, true | ((query: unknown) => unknown) | undefined>): Promise<this>;
1855
+ /**
1856
+ * Load nested relations on a polymorphic relation result by model class name.
1857
+ *
1858
+ * @param relation
1859
+ * @param relationsByType
1860
+ * @returns
1861
+ */
1862
+ loadMorph(relation: string, relationsByType: Record<string, string | string[] | EagerLoadMap>): Promise<this>;
1563
1863
  setLoadedRelation(name: string, value: unknown): this;
1564
1864
  /**
1565
1865
  * Get the raw attributes of the model without applying any mutators or casts.
@@ -1790,6 +2090,10 @@ declare abstract class Model<TSchema extends ModelQuerySchemaLike | Record<strin
1790
2090
  * @returns
1791
2091
  */
1792
2092
  private static areAttributeValuesEqual;
2093
+ private static buildRelationAggregateAttributeKey;
2094
+ private static parseRelationAggregateName;
2095
+ private loadAggregate;
2096
+ private normalizeRelationAggregateInput;
1793
2097
  /**
1794
2098
  * Sync the original snapshot to the model's current raw attributes.
1795
2099
  */
@@ -1955,84 +2259,6 @@ type ModelLifecycleState = {
1955
2259
  globalScopesSuppressed: number;
1956
2260
  };
1957
2261
  //#endregion
1958
- //#region src/Paginator.d.ts
1959
- /**
1960
- * The LengthAwarePaginator class encapsulates paginated results with full
1961
- * metadata including the total result count and last page.
1962
- *
1963
- * @template T The type of the data being paginated.
1964
- * @author Legacy (3m1n3nc3)
1965
- * @since 0.1.0
1966
- */
1967
- declare class LengthAwarePaginator<T> {
1968
- readonly data: ArkormCollection<T>;
1969
- readonly meta: PaginationMeta;
1970
- private readonly urlDriver;
1971
- /**
1972
- * Creates a new LengthAwarePaginator instance.
1973
- *
1974
- * @param data The collection of data being paginated.
1975
- * @param total The total number of items.
1976
- * @param perPage The number of items per page.
1977
- * @param currentPage The current page number.
1978
- * @param options URL generation options.
1979
- */
1980
- constructor(data: ArkormCollection<T>, total: number, perPage: number, currentPage: number, options?: PaginationOptions);
1981
- getPageName(): string;
1982
- url(page: number): string;
1983
- nextPageUrl(): string | null;
1984
- previousPageUrl(): string | null;
1985
- firstPageUrl(): string;
1986
- lastPageUrl(): string;
1987
- /**
1988
- * Converts the paginator instance to a JSON-serializable object.
1989
- *
1990
- * @returns
1991
- */
1992
- toJSON(): {
1993
- data: ArkormCollection<T, T[]>;
1994
- meta: PaginationMeta;
1995
- links: {
1996
- first: string;
1997
- last: string;
1998
- prev: string | null;
1999
- next: string | null;
2000
- };
2001
- };
2002
- }
2003
- /**
2004
- * The Paginator class encapsulates simple pagination results without total count.
2005
- *
2006
- * @template T The type of the data being paginated.
2007
- */
2008
- declare class Paginator<T> {
2009
- readonly data: ArkormCollection<T>;
2010
- readonly meta: SimplePaginationMeta;
2011
- private readonly urlDriver;
2012
- /**
2013
- * Creates a new simple Paginator instance.
2014
- *
2015
- * @param data The collection of data being paginated.
2016
- * @param perPage The number of items per page.
2017
- * @param currentPage The current page number.
2018
- * @param hasMorePages Indicates whether additional pages exist.
2019
- * @param options URL generation options.
2020
- */
2021
- constructor(data: ArkormCollection<T>, perPage: number, currentPage: number, hasMorePages: boolean, options?: PaginationOptions);
2022
- getPageName(): string;
2023
- url(page: number): string;
2024
- nextPageUrl(): string | null;
2025
- previousPageUrl(): string | null;
2026
- toJSON(): {
2027
- data: ArkormCollection<T, T[]>;
2028
- meta: SimplePaginationMeta;
2029
- links: {
2030
- prev: string | null;
2031
- next: string | null;
2032
- };
2033
- };
2034
- }
2035
- //#endregion
2036
2262
  //#region src/QueryBuilder.d.ts
2037
2263
  /**
2038
2264
  * The QueryBuilder class provides a fluent interface for building and
@@ -2282,7 +2508,7 @@ declare class QueryBuilder<TModel, TDelegate extends ModelQuerySchemaLike = Mode
2282
2508
  * @param relations
2283
2509
  * @returns
2284
2510
  */
2285
- with(relations: string | string[] | Record<string, EagerLoadConstraint | undefined>): this;
2511
+ with(relations: string | string[] | Record<string, true | EagerLoadConstraint | undefined>): this;
2286
2512
  /**
2287
2513
  * Add a relationship count/existence constraint.
2288
2514
  *
@@ -2345,6 +2571,30 @@ declare class QueryBuilder<TModel, TDelegate extends ModelQuerySchemaLike = Mode
2345
2571
  * @returns
2346
2572
  */
2347
2573
  whereDoesntHave(relation: string, callback?: (query: QueryBuilder<any, any>) => unknown): this;
2574
+ /**
2575
+ * Add a constrained polymorphic relationship has clause.
2576
+ *
2577
+ * The current relationship metadata does not expose morph-to targets yet, so
2578
+ * this method delegates to whereHas while preserving the forward-compatible
2579
+ * API shape.
2580
+ *
2581
+ * @param relation
2582
+ * @param types
2583
+ * @param callback
2584
+ * @param operator
2585
+ * @param count
2586
+ * @returns
2587
+ */
2588
+ whereHasMorph(relation: string, types: unknown | unknown[], callback?: (query: QueryBuilder<any, any>) => unknown, operator?: '>=' | '>' | '=' | '!=' | '<=' | '<', count?: number): this;
2589
+ /**
2590
+ * Add a constrained polymorphic relationship does-not-have clause.
2591
+ *
2592
+ * @param relation
2593
+ * @param types
2594
+ * @param callback
2595
+ * @returns
2596
+ */
2597
+ whereDoesntHaveMorph(relation: string, types: unknown | unknown[], callback?: (query: QueryBuilder<any, any>) => unknown): this;
2348
2598
  /**
2349
2599
  * Add an OR constrained relationship does-not-have clause.
2350
2600
  *
@@ -2359,14 +2609,14 @@ declare class QueryBuilder<TModel, TDelegate extends ModelQuerySchemaLike = Mode
2359
2609
  * @param relations
2360
2610
  * @returns
2361
2611
  */
2362
- withCount(relations: string | string[]): this;
2612
+ withCount(relations: RelationAggregateInput): this;
2363
2613
  /**
2364
2614
  * Add relationship existence aggregate attributes.
2365
2615
  *
2366
2616
  * @param relations
2367
2617
  * @returns
2368
2618
  */
2369
- withExists(relations: string | string[]): this;
2619
+ withExists(relations: RelationAggregateInput): this;
2370
2620
  /**
2371
2621
  * Add relationship sum aggregate attribute.
2372
2622
  *
@@ -2374,7 +2624,7 @@ declare class QueryBuilder<TModel, TDelegate extends ModelQuerySchemaLike = Mode
2374
2624
  * @param column
2375
2625
  * @returns
2376
2626
  */
2377
- withSum(relation: string, column: string): this;
2627
+ withSum(relation: RelationAggregateInput, column: string): this;
2378
2628
  /**
2379
2629
  * Add relationship average aggregate attribute.
2380
2630
  *
@@ -2382,7 +2632,7 @@ declare class QueryBuilder<TModel, TDelegate extends ModelQuerySchemaLike = Mode
2382
2632
  * @param column
2383
2633
  * @returns
2384
2634
  */
2385
- withAvg(relation: string, column: string): this;
2635
+ withAvg(relation: RelationAggregateInput, column: string): this;
2386
2636
  /**
2387
2637
  * Add relationship minimum aggregate attribute.
2388
2638
  *
@@ -2390,7 +2640,7 @@ declare class QueryBuilder<TModel, TDelegate extends ModelQuerySchemaLike = Mode
2390
2640
  * @param column
2391
2641
  * @returns
2392
2642
  */
2393
- withMin(relation: string, column: string): this;
2643
+ withMin(relation: RelationAggregateInput, column: string): this;
2394
2644
  /**
2395
2645
  * Add relationship maximum aggregate attribute.
2396
2646
  *
@@ -2398,7 +2648,7 @@ declare class QueryBuilder<TModel, TDelegate extends ModelQuerySchemaLike = Mode
2398
2648
  * @param column
2399
2649
  * @returns
2400
2650
  */
2401
- withMax(relation: string, column: string): this;
2651
+ withMax(relation: RelationAggregateInput, column: string): this;
2402
2652
  /**
2403
2653
  * Includes soft-deleted records in the query results.
2404
2654
  * This method is only applicable if the model has soft delete enabled.
@@ -2795,6 +3045,9 @@ declare class QueryBuilder<TModel, TDelegate extends ModelQuerySchemaLike = Mode
2795
3045
  * @returns
2796
3046
  */
2797
3047
  private normalizeWith;
3048
+ private withRelationAggregate;
3049
+ private normalizeRelationAggregateInput;
3050
+ private parseRelationAggregateName;
2798
3051
  private buildQueryTarget;
2799
3052
  private hasBaseWhereConstraints;
2800
3053
  private normalizeQuerySelect;
@@ -5729,4 +5982,4 @@ declare class URLDriver {
5729
5982
  url(page: number): string;
5730
5983
  }
5731
5984
  //#endregion
5732
- export { deriveInverseRelationAlias as $, defineFactory as $a, PrismaTransactionContext as $i, getRegisteredPaths as $n, SchemaForeignKeyAction as $o, RawQuerySpec as $r, getPersistedTableMetadata as $t, resetArkormRuntimeForTests as A, AttributeUpdateInput as Aa, DelegateUpdateData as Ai, MigrateRollbackCommand as An, HasManyThroughRelationMetadata as Ao, AdapterTransactionContext as Ar, getLatestAppliedMigrations as At, applyMigrationRollbackToPrismaSchema as B, ModelEventHandler as Ba, PaginationURLDriver as Bi, Attribute as Bn, AppliedMigrationEntry as Bo, DeleteSpec as Br, writeAppliedMigrationsStateToStore as Bt, getRuntimePaginationURLDriverFactory as C, LengthAwarePaginator as Ca, DelegateInclude as Ci, SchemaBuilder as Cn, FactoryState as Co, AdapterCapability as Cr, buildMigrationIdentity as Ct, isQuerySchemaLike as D, AttributeQuerySchema as Da, DelegateSelect as Di, SeedCommand as Dn, BelongsToRelationMetadata as Do, AdapterModelIntrospectionOptions as Dr, deleteAppliedMigrationsStateFromStore as Dt, isDelegateLike as E, AttributeOrderBy as Ea, DelegateRows as Ei, ForeignKeyBuilder as En, BelongsToManyRelationMetadata as Eo, AdapterModelFieldStructure as Er, createEmptyAppliedMigrationsState as Et, PRISMA_MODEL_REGEX as F, ModelAttributes as Fa, ModelQuerySchemaLike as Fi, MakeMigrationCommand as Fn, MorphOneRelationMetadata as Fo, DatabasePrimitive as Fr, readAppliedMigrationsStateFromStore as Ft, buildFieldLine as G, ModelRelationshipKey as Ga, PrismaLikeInclude as Gi, RegisteredModel as Gn, MigrationClass as Go, QueryCondition as Gr, PersistedTimestampColumn as Gt, applyMigrationToPrismaSchema as H, ModelEventListener as Ha, PrismaClientLike as Hi, Arkorm as Hn, AppliedMigrationsState as Ho, InsertSpec as Hr, PersistedMetadataFeatures as Ht, applyAlterTableOperation as I, ModelAttributesOf as Ia, ModelTableCase as Ii, MakeFactoryCommand as In, MorphToManyRelationMetadata as Io, DatabaseRow as Ir, removeAppliedMigration as It, buildMigrationSource as J, QuerySchemaForModel as Ja, PrismaLikeSelect as Ji, RuntimePathKey as Jn, PrismaMigrationWorkflowOptions as Jo, QueryNotCondition as Jr, deletePersistedColumnMappingsState as Jt, buildIndexLine as K, ModelRelationshipResult as Ka, PrismaLikeOrderBy as Ki, RuntimeConstructor as Kn, MigrationInstanceLike as Ko, QueryGroupCondition as Kr, applyOperationsToPersistedColumnMappingsState as Kt, applyCreateTableOperation as L, ModelCreateData as La, PaginationCurrentPageResolver as Li, InitCommand as Ln, PivotModelStatic as Lo, DatabaseRows as Lr, resolveMigrationStateFilePath as Lt, PrimaryKeyGenerationPlanner as M, DelegateForModelSchema as Ma, EagerLoadConstraint as Mi, MigrateCommand as Mn, HasOneThroughRelationMetadata as Mo, AggregateSelection as Mr, markMigrationApplied as Mt, PRISMA_ENUM_MEMBER_REGEX as N, GlobalScope as Na, EagerLoadMap as Ni, MakeSeederCommand as Nn, ModelMetadata as No, AggregateSpec as Nr, markMigrationRun as Nt, isTransactionCapableClient as O, AttributeSchemaDelegate as Oa, DelegateUniqueWhere as Oi, ModelsSyncCommand as On, ColumnMap as Oo, AdapterModelStructure as Or, findAppliedMigration as Ot, PRISMA_ENUM_REGEX as P, ModelAttributeValue as Pa, GetUserConfig as Pi, MakeModelCommand as Pn, MorphManyRelationMetadata as Po, DatabaseAdapter as Pr, readAppliedMigrationsState as Pt, deriveCollectionFieldName as Q, ModelFactory as Qa, PrismaTransactionCapableClient as Qi, getRegisteredModels as Qn, SchemaForeignKey as Qo, QueryTarget as Qr, getPersistedPrimaryKeyGeneration as Qt, applyDropTableOperation as R, ModelDeclaredAttributeKey as Ra, PaginationMeta as Ri, CliApp as Rn, RelationMetadata as Ro, DatabaseValue as Rr, supportsDatabaseMigrationState as Rt, getRuntimePaginationCurrentPageResolver as S, QueryBuilder as Sa, DelegateFindManyArgs as Si, Migration as Sn, FactoryModelConstructor as So, AdapterCapabilities as Sr, toModelName as St, getUserConfig as T, AttributeCreateInput as Ta, DelegateRow as Ti, TableBuilder as Tn, DatabaseTablePersistedMetadataOptions as To, AdapterInspectionRequest as Tr, computeMigrationChecksum as Tt, applyOperationsToPrismaSchema as U, ModelEventName as Ua, PrismaDelegateLike as Ui, Arkormx as Un, GenerateMigrationOptions as Uo, QueryComparisonCondition as Ur, PersistedPrimaryKeyGeneration as Ut, applyMigrationToDatabase as V, ModelEventHandlerConstructor as Va, PaginationURLDriverFactory as Vi, AttributeOptions as Vn, AppliedMigrationRun as Vo, InsertManySpec as Vr, PersistedColumnMappingsState as Vt, buildEnumBlock as W, ModelLifecycleState as Wa, PrismaFindManyArgsLike as Wi, RegisteredFactory as Wn, GeneratedMigrationFile as Wo, QueryComparisonOperator as Wr, PersistedTableMetadata as Wt, buildRelationLine as X, Model as Xa, PrismaLikeWhereInput as Xi, getRegisteredFactories as Xn, SchemaColumn as Xo, QueryRawCondition as Xr, getPersistedEnumMap as Xt, buildModelBlock as Y, RelatedModelClass as Ya, PrismaLikeSortOrder as Yi, RuntimePathMap as Yn, PrismaSchemaSyncOptions as Yo, QueryOrderBy as Yr, getPersistedColumnMap as Yt, createMigrationTimestamp as Z, InlineFactory as Za, PrismaTransactionCallback as Zi, getRegisteredMigrations as Zn, SchemaColumnType as Zo, QuerySelectColumn as Zr, getPersistedEnumTsType as Zt, getActiveTransactionClient as _, TransactionCapableClient as _a, CastHandler as _i, MissingDelegateException as _n, RelationMetadataProvider as _o, PrismaDelegateNameMapping as _r, stripPrismaSchemaModelsAndEnums as _t, resolveRuntimeCompatibilityQuerySchema as a, QuerySchemaRow as aa, SoftDeleteQueryMode as ai, resolvePersistedMetadataFeatures as an, HasOneRelation as ao, registerFactories as ar, TimestampColumnBehavior as as, findModelBlock as at, getRuntimeClient as b, ModelStatic as ba, ClientResolver as bi, DB as bn, FactoryAttributes as bo, KyselyDatabaseAdapter as br, supportsDatabaseReset as bt, createPrismaAdapter as c, QuerySchemaUniqueWhere as ca, UpdateSpec as ci, writePersistedColumnMappingsState as cn, BelongsToRelation as co, registerPaths as cr, formatRelationAction as ct, bindAdapterToModels as d, QuerySchemaWhere as da, AdapterQueryInspection as di, ScopeNotDefinedException as dn, Relation as do, SEEDER_BRAND as dr, pad as dt, PrismaTransactionOptions as ea, RelationAggregateSpec as ei, getPersistedTimestampColumns as en, SetBasedEagerLoader as eo, getRegisteredSeeders as er, SchemaIndex as es, deriveRelationAlias as et, configureArkormRuntime as f, RuntimeClientLike as fa, ArkormBootContext as fi, RelationResolutionException as fn, RelationTableLoader as fo, Seeder as fr, resolveEnumName as ft, getActiveTransactionAdapter as g, TransactionCallback as ga, CastDefinition as gi, ModelNotFoundException as gn, RelationDefaultValue as go, PrismaDatabaseAdapter as gr, runPrismaCommand as gt, ensureArkormConfigLoading as h, SoftDeleteConfig as ha, ArkormDebugHandler as hi, QueryConstraintException as hn, RelationDefaultResolver as ho, SeederInput as hr, runMigrationWithPrisma as ht, getRuntimeCompatibilityAdapter as i, QuerySchemaOrderBy as ia, SelectSpec as ii, resolveColumnMappingsFilePath as in, HasOneThroughRelation as io, loadSeedersFrom as ir, SchemaTableDropOperation as is, findEnumBlock as it, runArkormTransaction as j, AttributeWhereInput as ja, DelegateWhere as ji, MigrateFreshCommand as jn, HasOneRelationMetadata as jo, AggregateOperation as jr, isMigrationApplied as jt, loadArkormConfig as k, AttributeSelect as ka, DelegateUpdateArgs as ki, MigrationHistoryCommand as kn, HasManyRelationMetadata as ko, AdapterQueryOperation as kr, getLastMigrationRun as kt, createPrismaDelegateMap as l, QuerySchemaUpdateArgs as la, UpsertSpec as li, UnsupportedAdapterFeatureException as ln, SingleResultRelation as lo, registerSeeders as lr, generateMigrationFile as lt, emitRuntimeDebugEvent as m, SimplePaginationMeta as ma, ArkormDebugEvent as mi, QueryExecutionExceptionContext as mn, RelationConstraint as mo, SeederConstructor as mr, resolvePrismaType as mt, PivotModel as n, QuerySchemaFindManyArgs as na, RelationLoadPlan as ni, rebuildPersistedColumnMappingsState as nn, MorphOneRelation as no, loadMigrationsFrom as nr, SchemaTableAlterOperation as ns, deriveSingularFieldName as nt, resolveRuntimeCompatibilityQuerySchemaOrThrow as o, QuerySchemaRows as oa, SortDirection as oi, syncPersistedColumnMappingsFromState as on, HasManyThroughRelation as oo, registerMigrations as or, formatDefaultValue as ot, defineConfig as p, Serializable as pa, ArkormConfig as pi, QueryExecutionException as pn, RelationColumnLookupSpec as po, SeederCallArgument as pr, resolveMigrationClassName as pt, buildInverseRelationLine as q, ModelUpdateData as qa, PrismaLikeScalarFilter as qi, RuntimePathInput as qn, PrimaryKeyGeneration as qo, QueryLogicalOperator as qr, createEmptyPersistedColumnMappingsState as qt, RuntimeModuleLoader as r, QuerySchemaInclude as ra, RelationLoadSpec as ri, resetPersistedColumnMappingsCache as rn, MorphManyRelation as ro, loadModelsFrom as rr, SchemaTableCreateOperation as rs, escapeRegex as rt, PrismaDelegateMap as s, QuerySchemaSelect as sa, UpdateManySpec as si, validatePersistedMetadataFeaturesForMigrations as sn, HasManyRelation as so, registerModels as sr, formatEnumDefaultValue as st, URLDriver as t, QuerySchemaCreateData as ta, RelationFilterSpec as ti, readPersistedColumnMappingsState as tn, MorphToManyRelation as to, loadFactoriesFrom as tr, SchemaOperation as ts, deriveRelationFieldName as tt, inferDelegateName as u, QuerySchemaUpdateData as ua, AdapterBindableModel as ui, UniqueConstraintResolutionException as un, BelongsToManyRelation as uo, resetRuntimeRegistryForTests as ur, getMigrationPlan as ut, getDefaultStubsPath as v, TransactionContext as va, CastMap as vi, ArkormErrorContext as vn, RelationTableLookupSpec as vo, createPrismaCompatibilityAdapter as vr, supportsDatabaseCreation as vt, getRuntimePrismaClient as w, Paginator as wa, DelegateOrderBy as wi, EnumBuilder as wn, DatabaseTableOptions as wo, AdapterDatabaseCreationResult as wr, buildMigrationRunId as wt, getRuntimeDebugHandler as x, RelationshipModelStatic as xa, DelegateCreateData as xi, MIGRATION_BRAND as xn, FactoryDefinition as xo, createKyselyAdapter as xr, toMigrationFileSlug as xt, getRuntimeAdapter as y, TransactionOptions as ya, CastType as yi, ArkormException as yn, ArkormCollection as yo, createPrismaDatabaseAdapter as yr, supportsDatabaseMigrationExecution as yt, applyMigrationRollbackToDatabase as z, ModelEventDispatcher as za, PaginationOptions as zi, resolveCast as zn, RelationMetadataType as zo, DeleteManySpec as zr, writeAppliedMigrationsState as zt };
5985
+ export { deriveInverseRelationAlias as $, MorphToManyRelation as $a, PrismaTransactionContext as $i, getRegisteredPaths as $n, PrismaMigrationWorkflowOptions as $o, RawQuerySpec as $r, getPersistedTableMetadata as $t, resetArkormRuntimeForTests as A, DelegateForModelSchema as Aa, DelegateUpdateData as Ai, MigrateRollbackCommand as An, DatabaseTablePersistedMetadataOptions as Ao, AdapterTransactionContext as Ar, getLatestAppliedMigrations as At, applyMigrationRollbackToPrismaSchema as B, ModelEventListener as Ba, PaginationURLDriver as Bi, Attribute as Bn, MorphOneRelationMetadata as Bo, DeleteSpec as Br, writeAppliedMigrationsStateToStore as Bt, getRuntimePaginationURLDriverFactory as C, AttributeCreateInput as Ca, DelegateInclude as Ci, SchemaBuilder as Cn, Paginator as Co, AdapterCapability as Cr, buildMigrationIdentity as Ct, isQuerySchemaLike as D, AttributeSelect as Da, DelegateSelect as Di, SeedCommand as Dn, FactoryModelConstructor as Do, AdapterModelIntrospectionOptions as Dr, deleteAppliedMigrationsStateFromStore as Dt, isDelegateLike as E, AttributeSchemaDelegate as Ea, DelegateRows as Ei, ForeignKeyBuilder as En, FactoryDefinition as Eo, AdapterModelFieldStructure as Er, createEmptyAppliedMigrationsState as Et, PRISMA_MODEL_REGEX as F, ModelCreateData as Fa, ModelQuerySchemaLike as Fi, MakeMigrationCommand as Fn, HasManyThroughRelationMetadata as Fo, DatabasePrimitive as Fr, readAppliedMigrationsStateFromStore as Ft, buildFieldLine as G, ModelUpdateData as Ga, PrismaLikeInclude as Gi, RegisteredModel as Gn, AppliedMigrationEntry as Go, QueryCondition as Gr, PersistedTimestampColumn as Gt, applyMigrationToPrismaSchema as H, ModelLifecycleState as Ha, PrismaClientLike as Hi, Arkorm as Hn, PivotModelStatic as Ho, InsertSpec as Hr, PersistedMetadataFeatures as Ht, applyAlterTableOperation as I, ModelDeclaredAttributeKey as Ia, ModelTableCase as Ii, MakeFactoryCommand as In, HasOneRelationMetadata as Io, DatabaseRow as Ir, removeAppliedMigration as It, buildMigrationSource as J, Model as Ja, PrismaLikeSelect as Ji, RuntimePathKey as Jn, GenerateMigrationOptions as Jo, QueryNotCondition as Jr, deletePersistedColumnMappingsState as Jt, buildIndexLine as K, QuerySchemaForModel as Ka, PrismaLikeOrderBy as Ki, RuntimeConstructor as Kn, AppliedMigrationRun as Ko, QueryGroupCondition as Kr, applyOperationsToPersistedColumnMappingsState as Kt, applyCreateTableOperation as L, ModelEventDispatcher as La, PaginationCurrentPageResolver as Li, InitCommand as Ln, HasOneThroughRelationMetadata as Lo, DatabaseRows as Lr, resolveMigrationStateFilePath as Lt, PrimaryKeyGenerationPlanner as M, ModelAttributeValue as Ma, EagerLoadConstraint as Mi, MigrateCommand as Mn, BelongsToRelationMetadata as Mo, AggregateSelection as Mr, markMigrationApplied as Mt, PRISMA_ENUM_MEMBER_REGEX as N, ModelAttributes as Na, EagerLoadMap as Ni, MakeSeederCommand as Nn, ColumnMap as No, AggregateSpec as Nr, markMigrationRun as Nt, isTransactionCapableClient as O, AttributeUpdateInput as Oa, DelegateUniqueWhere as Oi, ModelsSyncCommand as On, FactoryState as Oo, AdapterModelStructure as Or, findAppliedMigration as Ot, PRISMA_ENUM_REGEX as P, ModelAttributesOf as Pa, GetUserConfig as Pi, MakeModelCommand as Pn, HasManyRelationMetadata as Po, DatabaseAdapter as Pr, readAppliedMigrationsState as Pt, deriveCollectionFieldName as Q, SetBasedEagerLoader as Qa, PrismaTransactionCapableClient as Qi, getRegisteredModels as Qn, PrimaryKeyGeneration as Qo, QueryTarget as Qr, getPersistedPrimaryKeyGeneration as Qt, applyDropTableOperation as R, ModelEventHandler as Ra, PaginationMeta as Ri, CliApp as Rn, ModelMetadata as Ro, DatabaseValue as Rr, supportsDatabaseMigrationState as Rt, getRuntimePaginationCurrentPageResolver as S, QueryBuilder as Sa, DelegateFindManyArgs as Si, Migration as Sn, LengthAwarePaginator as So, AdapterCapabilities as Sr, toModelName as St, getUserConfig as T, AttributeQuerySchema as Ta, DelegateRow as Ti, TableBuilder as Tn, FactoryAttributes as To, AdapterInspectionRequest as Tr, computeMigrationChecksum as Tt, applyOperationsToPrismaSchema as U, ModelRelationshipKey as Ua, PrismaDelegateLike as Ui, Arkormx as Un, RelationMetadata as Uo, QueryComparisonCondition as Ur, PersistedPrimaryKeyGeneration as Ut, applyMigrationToDatabase as V, ModelEventName as Va, PaginationURLDriverFactory as Vi, AttributeOptions as Vn, MorphToManyRelationMetadata as Vo, InsertManySpec as Vr, PersistedColumnMappingsState as Vt, buildEnumBlock as W, ModelRelationshipResult as Wa, PrismaFindManyArgsLike as Wi, RegisteredFactory as Wn, RelationMetadataType as Wo, QueryComparisonOperator as Wr, PersistedTableMetadata as Wt, buildRelationLine as X, ModelFactory as Xa, PrismaLikeWhereInput as Xi, getRegisteredFactories as Xn, MigrationClass as Xo, QueryRawCondition as Xr, getPersistedEnumMap as Xt, buildModelBlock as Y, InlineFactory as Ya, PrismaLikeSortOrder as Yi, RuntimePathMap as Yn, GeneratedMigrationFile as Yo, QueryOrderBy as Yr, getPersistedColumnMap as Yt, createMigrationTimestamp as Z, defineFactory as Za, PrismaTransactionCallback as Zi, getRegisteredMigrations as Zn, MigrationInstanceLike as Zo, QuerySelectColumn as Zr, getPersistedEnumTsType as Zt, getActiveTransactionClient as _, TransactionCapableClient as _a, CastHandler as _i, MissingDelegateException as _n, RelationDefaultValue as _o, PrismaDelegateNameMapping as _r, stripPrismaSchemaModelsAndEnums as _t, resolveRuntimeCompatibilityQuerySchema as a, QuerySchemaRow as aa, SoftDeleteQueryMode as ai, resolvePersistedMetadataFeatures as an, HasManyRelation as ao, registerFactories as ar, SchemaIndex as as, findModelBlock as at, getRuntimeClient as b, ModelStatic as ba, ClientResolver as bi, DB as bn, RelationResultCache as bo, KyselyDatabaseAdapter as br, supportsDatabaseReset as bt, createPrismaAdapter as c, QuerySchemaUniqueWhere as ca, UpdateSpec as ci, writePersistedColumnMappingsState as cn, BelongsToManyRelation as co, registerPaths as cr, SchemaTableCreateOperation as cs, formatRelationAction as ct, bindAdapterToModels as d, QuerySchemaWhere as da, AdapterQueryInspection as di, ScopeNotDefinedException as dn, RelationAggregateConstraint as do, SEEDER_BRAND as dr, pad as dt, PrismaTransactionOptions as ea, RelationAggregateSpec as ei, getPersistedTimestampColumns as en, MorphOneRelation as eo, getRegisteredSeeders as er, PrismaSchemaSyncOptions as es, deriveRelationAlias as et, configureArkormRuntime as f, RuntimeClientLike as fa, ArkormBootContext as fi, RelationResolutionException as fn, RelationAggregateInput as fo, Seeder as fr, resolveEnumName as ft, getActiveTransactionAdapter as g, TransactionCallback as ga, CastDefinition as gi, ModelNotFoundException as gn, RelationDefaultResolver as go, PrismaDatabaseAdapter as gr, runPrismaCommand as gt, ensureArkormConfigLoading as h, SoftDeleteConfig as ha, ArkormDebugHandler as hi, QueryConstraintException as hn, RelationConstraint as ho, SeederInput as hr, runMigrationWithPrisma as ht, getRuntimeCompatibilityAdapter as i, QuerySchemaOrderBy as ia, SelectSpec as ii, resolveColumnMappingsFilePath as in, HasManyThroughRelation as io, loadSeedersFrom as ir, SchemaForeignKeyAction as is, findEnumBlock as it, runArkormTransaction as j, GlobalScope as ja, DelegateWhere as ji, MigrateFreshCommand as jn, BelongsToManyRelationMetadata as jo, AggregateOperation as jr, isMigrationApplied as jt, loadArkormConfig as k, AttributeWhereInput as ka, DelegateUpdateArgs as ki, MigrationHistoryCommand as kn, DatabaseTableOptions as ko, AdapterQueryOperation as kr, getLastMigrationRun as kt, createPrismaDelegateMap as l, QuerySchemaUpdateArgs as la, UpsertSpec as li, UnsupportedAdapterFeatureException as ln, Relation as lo, registerSeeders as lr, SchemaTableDropOperation as ls, generateMigrationFile as lt, emitRuntimeDebugEvent as m, SimplePaginationMeta as ma, ArkormDebugEvent as mi, QueryExecutionExceptionContext as mn, RelationColumnLookupSpec as mo, SeederConstructor as mr, resolvePrismaType as mt, PivotModel as n, QuerySchemaFindManyArgs as na, RelationLoadPlan as ni, rebuildPersistedColumnMappingsState as nn, HasOneThroughRelation as no, loadMigrationsFrom as nr, SchemaColumnType as ns, deriveSingularFieldName as nt, resolveRuntimeCompatibilityQuerySchemaOrThrow as o, QuerySchemaRows as oa, SortDirection as oi, syncPersistedColumnMappingsFromState as on, BelongsToRelation as oo, registerMigrations as or, SchemaOperation as os, formatDefaultValue as ot, defineConfig as p, Serializable as pa, ArkormConfig as pi, QueryExecutionException as pn, RelationAggregateType as po, SeederCallArgument as pr, resolveMigrationClassName as pt, buildInverseRelationLine as q, RelatedModelClass as qa, PrismaLikeScalarFilter as qi, RuntimePathInput as qn, AppliedMigrationsState as qo, QueryLogicalOperator as qr, createEmptyPersistedColumnMappingsState as qt, RuntimeModuleLoader as r, QuerySchemaInclude as ra, RelationLoadSpec as ri, resetPersistedColumnMappingsCache as rn, HasOneRelation as ro, loadModelsFrom as rr, SchemaForeignKey as rs, escapeRegex as rt, PrismaDelegateMap as s, QuerySchemaSelect as sa, UpdateManySpec as si, validatePersistedMetadataFeaturesForMigrations as sn, SingleResultRelation as so, registerModels as sr, SchemaTableAlterOperation as ss, formatEnumDefaultValue as st, URLDriver as t, QuerySchemaCreateData as ta, RelationFilterSpec as ti, readPersistedColumnMappingsState as tn, MorphManyRelation as to, loadFactoriesFrom as tr, SchemaColumn as ts, deriveRelationFieldName as tt, inferDelegateName as u, QuerySchemaUpdateData as ua, AdapterBindableModel as ui, UniqueConstraintResolutionException as un, RelationTableLoader as uo, resetRuntimeRegistryForTests as ur, TimestampColumnBehavior as us, getMigrationPlan as ut, getDefaultStubsPath as v, TransactionContext as va, CastMap as vi, ArkormErrorContext as vn, RelationMetadataProvider as vo, createPrismaCompatibilityAdapter as vr, supportsDatabaseCreation as vt, getRuntimePrismaClient as w, AttributeOrderBy as wa, DelegateOrderBy as wi, EnumBuilder as wn, ArkormCollection as wo, AdapterDatabaseCreationResult as wr, buildMigrationRunId as wt, getRuntimeDebugHandler as x, RelationshipModelStatic as xa, DelegateCreateData as xi, MIGRATION_BRAND as xn, RelationTableLookupSpec as xo, createKyselyAdapter as xr, toMigrationFileSlug as xt, getRuntimeAdapter as y, TransactionOptions as ya, CastType as yi, ArkormException as yn, RelationResult as yo, createPrismaDatabaseAdapter as yr, supportsDatabaseMigrationExecution as yt, applyMigrationRollbackToDatabase as z, ModelEventHandlerConstructor as za, PaginationOptions as zi, resolveCast as zn, MorphManyRelationMetadata as zo, DeleteManySpec as zr, writeAppliedMigrationsState as zt };