@zenstackhq/runtime 3.0.0-alpha.10 → 3.0.0-alpha.11

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.
@@ -4,8 +4,13 @@ import { Generated, Kysely, ExpressionBuilder, OperandExpression, SqlBool, Selec
4
4
 
5
5
  type Optional<T extends object, K extends keyof T = keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
6
6
  type NullableIf<T, Condition extends boolean> = Condition extends true ? T | null : T;
7
+ type _Preserve = Date | Function | Decimal | Uint8Array | JsonObject | JsonValue;
8
+ type _Depth = [never, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
9
+ type Simplify<T, D extends number = 6> = D extends 0 ? T : T extends object ? T extends _Preserve ? T : {
10
+ [K in keyof T]: Simplify<T[K], _Depth[D]>;
11
+ } & {} : T;
7
12
  type WrapType<T, Optional = false, Array = false> = Optional extends true ? T | null : Array extends true ? T[] : T;
8
- type MapBaseType$1<T> = T extends 'String' ? string : T extends 'Boolean' ? boolean : T extends 'Int' | 'Float' ? number : T extends 'BigInt' ? bigint : T extends 'Decimal' ? Decimal : T extends 'DateTime' ? Date : T extends 'Json' ? JsonValue : unknown;
13
+ type MapBaseType$1<T> = T extends 'String' ? string : T extends 'Boolean' ? boolean : T extends 'Int' | 'Float' ? number : T extends 'BigInt' ? bigint : T extends 'Decimal' ? Decimal : T extends 'DateTime' ? Date : T extends 'Bytes' ? Uint8Array : T extends 'Json' ? JsonValue : unknown;
9
14
  type JsonValue = string | number | boolean | null | JsonObject | JsonArray;
10
15
  type JsonObject = {
11
16
  [key: string]: JsonValue;
@@ -47,7 +52,7 @@ type DefaultModelResult<Schema extends SchemaDef, Model extends GetModels<Schema
47
52
  [Key in NonRelationFields<Schema, Model> as Key extends keyof Omit ? Omit[Key] extends true ? never : Key : Key]: MapFieldType<Schema, Model, Key>;
48
53
  }, Optional, Array>;
49
54
  type ModelSelectResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Select, Omit> = {
50
- [Key in keyof Select as Select[Key] extends false | undefined ? never : Key extends keyof Omit ? Omit[Key] extends true ? never : Key : Key extends '_count' ? Select[Key] extends SelectCount<Schema, Model> ? Key : never : Key]: Key extends '_count' ? SelectCountResult<Schema, Model, Select[Key]> : Key extends NonRelationFields<Schema, Model> ? MapFieldType<Schema, Model, Key> : Key extends RelationFields<Schema, Model> ? Select[Key] extends FindArgs<Schema, RelationFieldType<Schema, Model, Key>, FieldIsArray<Schema, Model, Key>> ? ModelResult<Schema, RelationFieldType<Schema, Model, Key>, Select[Key], FieldIsOptional<Schema, Model, Key>, FieldIsArray<Schema, Model, Key>> : DefaultModelResult<Schema, RelationFieldType<Schema, Model, Key>, Omit, FieldIsOptional<Schema, Model, Key>, FieldIsArray<Schema, Model, Key>> : never;
55
+ [Key in keyof Select as Select[Key] extends false | undefined ? never : Key extends keyof Omit ? Omit[Key] extends true ? never : Key : Key extends '_count' ? Select[Key] extends SelectCount<Schema, Model> ? Key : never : Key]: Key extends '_count' ? SelectCountResult<Schema, Model, Select[Key]> : Key extends NonRelationFields<Schema, Model> ? MapFieldType<Schema, Model, Key> : Key extends RelationFields<Schema, Model> ? Select[Key] extends FindArgs<Schema, RelationFieldType<Schema, Model, Key>, FieldIsArray<Schema, Model, Key>> ? 'select' extends keyof Select[Key] ? ModelResult<Schema, RelationFieldType<Schema, Model, Key>, Pick<Select[Key], 'select'>, FieldIsOptional<Schema, Model, Key>, FieldIsArray<Schema, Model, Key>> : ModelResult<Schema, RelationFieldType<Schema, Model, Key>, Pick<Select[Key], 'include' | 'omit'>, FieldIsOptional<Schema, Model, Key>, FieldIsArray<Schema, Model, Key>> : DefaultModelResult<Schema, RelationFieldType<Schema, Model, Key>, Omit, FieldIsOptional<Schema, Model, Key>, FieldIsArray<Schema, Model, Key>> : never;
51
56
  };
52
57
  type SelectCountResult<Schema extends SchemaDef, Model extends GetModels<Schema>, C> = C extends true ? {
53
58
  [Key in RelationFields<Schema, Model> as FieldIsArray<Schema, Model, Key> extends true ? Key : never]: number;
@@ -67,6 +72,7 @@ type ModelResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args
67
72
  } : Args extends {
68
73
  omit: infer O;
69
74
  } ? DefaultModelResult<Schema, Model, O> : DefaultModelResult<Schema, Model>, Optional, Array>;
75
+ type SimplifiedModelResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args extends SelectIncludeOmit<Schema, Model, boolean>, Optional = false, Array = false> = Simplify<ModelResult<Schema, Model, Args, Optional, Array>>;
70
76
  type BatchResult = {
71
77
  count: number;
72
78
  };
@@ -92,7 +98,7 @@ type ArrayFilter<T extends string> = {
92
98
  hasSome?: MapBaseType$1<T>[];
93
99
  isEmpty?: boolean;
94
100
  };
95
- type PrimitiveFilter<T extends string, Nullable extends boolean> = T extends 'String' ? StringFilter<Nullable> : T extends 'Int' | 'Float' | 'Decimal' | 'BigInt' ? NumberFilter<T, Nullable> : T extends 'Boolean' ? BooleanFilter<Nullable> : T extends 'DateTime' ? DateTimeFilter<Nullable> : T extends 'Json' ? 'Not implemented yet' : never;
101
+ type PrimitiveFilter<T extends string, Nullable extends boolean> = T extends 'String' ? StringFilter<Nullable> : T extends 'Int' | 'Float' | 'Decimal' | 'BigInt' ? NumberFilter<T, Nullable> : T extends 'Boolean' ? BooleanFilter<Nullable> : T extends 'DateTime' ? DateTimeFilter<Nullable> : T extends 'Bytes' ? BytesFilter<Nullable> : T extends 'Json' ? 'Not implemented yet' : never;
96
102
  type CommonPrimitiveFilter<DataType, T extends BuiltinType, Nullable extends boolean> = {
97
103
  equals?: NullableIf<DataType, Nullable>;
98
104
  in?: DataType[];
@@ -145,13 +151,13 @@ type WhereUniqueInput<Schema extends SchemaDef, Model extends GetModels<Schema>>
145
151
  [Key1 in keyof GetModel<Schema, Model>['uniqueFields'][Key]]: GetModel<Schema, Model>['uniqueFields'][Key][Key1] extends Pick<FieldDef, 'type'> ? MapFieldDefType<Schema, GetModel<Schema, Model>['uniqueFields'][Key][Key1]> : never;
146
152
  };
147
153
  } & WhereInput<Schema, Model>, Extract<keyof GetModel<Schema, Model>['uniqueFields'], string>>;
148
- type OmitFields<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
154
+ type OmitInput<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
149
155
  [Key in NonRelationFields<Schema, Model>]?: true;
150
156
  };
151
157
  type SelectIncludeOmit<Schema extends SchemaDef, Model extends GetModels<Schema>, AllowCount extends boolean> = {
152
- select?: Select<Schema, Model, AllowCount, boolean>;
153
- include?: Include<Schema, Model>;
154
- omit?: OmitFields<Schema, Model>;
158
+ select?: SelectInput<Schema, Model, AllowCount, boolean>;
159
+ include?: IncludeInput<Schema, Model>;
160
+ omit?: OmitInput<Schema, Model>;
155
161
  };
156
162
  type Distinct<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
157
163
  distinct?: OrArray<NonRelationFields<Schema, Model>>;
@@ -159,9 +165,9 @@ type Distinct<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
159
165
  type Cursor<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
160
166
  cursor?: WhereUniqueInput<Schema, Model>;
161
167
  };
162
- type Select<Schema extends SchemaDef, Model extends GetModels<Schema>, AllowCount extends boolean, AllowRelation extends boolean = true> = {
168
+ type SelectInput<Schema extends SchemaDef, Model extends GetModels<Schema>, AllowCount extends boolean = true, AllowRelation extends boolean = true> = {
163
169
  [Key in NonRelationFields<Schema, Model>]?: true;
164
- } & (AllowRelation extends true ? Include<Schema, Model> : {}) & // relation fields
170
+ } & (AllowRelation extends true ? IncludeInput<Schema, Model> : {}) & // relation fields
165
171
  (AllowCount extends true ? {
166
172
  _count?: SelectCount<Schema, Model>;
167
173
  } : {});
@@ -172,7 +178,7 @@ type SelectCount<Schema extends SchemaDef, Model extends GetModels<Schema>> = tr
172
178
  };
173
179
  };
174
180
  };
175
- type Include<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
181
+ type IncludeInput<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
176
182
  [Key in RelationFields<Schema, Model>]?: boolean | FindArgs<Schema, RelationFieldType<Schema, Model, Key>, FieldIsArray<Schema, Model, Key>, FieldIsArray<Schema, Model, Key> extends true ? true : FieldIsOptional<Schema, Model, Key> extends true ? true : false>;
177
183
  };
178
184
  type Subset<T, U> = {
@@ -213,19 +219,21 @@ type FindArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Collect
213
219
  } : {}) & (AllowFilter extends true ? {
214
220
  where?: WhereInput<Schema, Model>;
215
221
  } : {}) & SelectIncludeOmit<Schema, Model, Collection> & Distinct<Schema, Model> & Cursor<Schema, Model>;
222
+ type FindManyArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = FindArgs<Schema, Model, true>;
223
+ type FindFirstArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = FindArgs<Schema, Model, false>;
216
224
  type FindUniqueArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
217
225
  where?: WhereUniqueInput<Schema, Model>;
218
226
  } & SelectIncludeOmit<Schema, Model, true>;
219
227
  type CreateArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
220
228
  data: CreateInput<Schema, Model>;
221
- select?: Select<Schema, Model, true>;
222
- include?: Include<Schema, Model>;
223
- omit?: OmitFields<Schema, Model>;
229
+ select?: SelectInput<Schema, Model, true>;
230
+ include?: IncludeInput<Schema, Model>;
231
+ omit?: OmitInput<Schema, Model>;
224
232
  };
225
233
  type CreateManyArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = CreateManyInput<Schema, Model>;
226
234
  type CreateManyAndReturnArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = CreateManyInput<Schema, Model> & {
227
- select?: Select<Schema, Model, false, false>;
228
- omit?: OmitFields<Schema, Model>;
235
+ select?: SelectInput<Schema, Model, false, false>;
236
+ omit?: OmitInput<Schema, Model>;
229
237
  };
230
238
  type OptionalWrap<Schema extends SchemaDef, Model extends GetModels<Schema>, T extends object> = Optional<T, keyof T & OptionalFieldsForCreate<Schema, Model>>;
231
239
  type CreateScalarPayload<Schema extends SchemaDef, Model extends GetModels<Schema>> = OptionalWrap<Schema, Model, {
@@ -265,14 +273,14 @@ type NestedCreateManyInput<Schema extends SchemaDef, Model extends GetModels<Sch
265
273
  type UpdateArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
266
274
  data: UpdateInput<Schema, Model>;
267
275
  where: WhereUniqueInput<Schema, Model>;
268
- select?: Select<Schema, Model, true>;
269
- include?: Include<Schema, Model>;
270
- omit?: OmitFields<Schema, Model>;
276
+ select?: SelectInput<Schema, Model, true>;
277
+ include?: IncludeInput<Schema, Model>;
278
+ omit?: OmitInput<Schema, Model>;
271
279
  };
272
280
  type UpdateManyArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = UpdateManyPayload<Schema, Model>;
273
281
  type UpdateManyAndReturnArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = UpdateManyPayload<Schema, Model> & {
274
- select?: Select<Schema, Model, false, false>;
275
- omit?: OmitFields<Schema, Model>;
282
+ select?: SelectInput<Schema, Model, false, false>;
283
+ omit?: OmitInput<Schema, Model>;
276
284
  };
277
285
  type UpdateManyPayload<Schema extends SchemaDef, Model extends GetModels<Schema>, Without extends string = never> = {
278
286
  data: OrArray<UpdateScalarInput<Schema, Model, Without>>;
@@ -283,9 +291,9 @@ type UpsertArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
283
291
  create: CreateInput<Schema, Model>;
284
292
  update: UpdateInput<Schema, Model>;
285
293
  where: WhereUniqueInput<Schema, Model>;
286
- select?: Select<Schema, Model, true>;
287
- include?: Include<Schema, Model>;
288
- omit?: OmitFields<Schema, Model>;
294
+ select?: SelectInput<Schema, Model, true>;
295
+ include?: IncludeInput<Schema, Model>;
296
+ omit?: OmitInput<Schema, Model>;
289
297
  };
290
298
  type UpdateScalarInput<Schema extends SchemaDef, Model extends GetModels<Schema>, Without extends string = never> = Omit<{
291
299
  [Key in NonRelationFields<Schema, Model>]?: ScalarUpdatePayload<Schema, Model, Key>;
@@ -330,9 +338,9 @@ type ToOneRelationUpdateInput<Schema extends SchemaDef, Model extends GetModels<
330
338
  } : {});
331
339
  type DeleteArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
332
340
  where: WhereUniqueInput<Schema, Model>;
333
- select?: Select<Schema, Model, true>;
334
- include?: Include<Schema, Model>;
335
- omit?: OmitFields<Schema, Model>;
341
+ select?: SelectInput<Schema, Model, true>;
342
+ include?: IncludeInput<Schema, Model>;
343
+ omit?: OmitInput<Schema, Model>;
336
344
  };
337
345
  type DeleteManyArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
338
346
  where?: WhereInput<Schema, Model>;
@@ -951,35 +959,35 @@ interface ModelOperations<Schema extends SchemaDef, Model extends GetModels<Sche
951
959
  * }); // result: `{ _count: { posts: number } }`
952
960
  * ```
953
961
  */
954
- findMany<T extends FindArgs<Schema, Model, true>>(args?: SelectSubset<T, FindArgs<Schema, Model, true>>): ZenStackPromise<Schema, ModelResult<Schema, Model, T>[]>;
962
+ findMany<T extends FindArgs<Schema, Model, true>>(args?: SelectSubset<T, FindArgs<Schema, Model, true>>): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>[]>;
955
963
  /**
956
964
  * Returns a uniquely identified entity.
957
965
  * @param args - query args
958
966
  * @returns a single entity or null if not found
959
967
  * @see {@link findMany}
960
968
  */
961
- findUnique<T extends FindUniqueArgs<Schema, Model>>(args?: SelectSubset<T, FindUniqueArgs<Schema, Model>>): ZenStackPromise<Schema, ModelResult<Schema, Model, T> | null>;
969
+ findUnique<T extends FindUniqueArgs<Schema, Model>>(args?: SelectSubset<T, FindUniqueArgs<Schema, Model>>): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>> | null>;
962
970
  /**
963
971
  * Returns a uniquely identified entity or throws `NotFoundError` if not found.
964
972
  * @param args - query args
965
973
  * @returns a single entity
966
974
  * @see {@link findMany}
967
975
  */
968
- findUniqueOrThrow<T extends FindUniqueArgs<Schema, Model>>(args?: SelectSubset<T, FindUniqueArgs<Schema, Model>>): ZenStackPromise<Schema, ModelResult<Schema, Model, T>>;
976
+ findUniqueOrThrow<T extends FindUniqueArgs<Schema, Model>>(args?: SelectSubset<T, FindUniqueArgs<Schema, Model>>): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>>;
969
977
  /**
970
978
  * Returns the first entity.
971
979
  * @param args - query args
972
980
  * @returns a single entity or null if not found
973
981
  * @see {@link findMany}
974
982
  */
975
- findFirst<T extends FindArgs<Schema, Model, true>>(args?: SelectSubset<T, FindArgs<Schema, Model, true>>): ZenStackPromise<Schema, ModelResult<Schema, Model, T> | null>;
983
+ findFirst<T extends FindArgs<Schema, Model, true>>(args?: SelectSubset<T, FindArgs<Schema, Model, true>>): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>> | null>;
976
984
  /**
977
985
  * Returns the first entity or throws `NotFoundError` if not found.
978
986
  * @param args - query args
979
987
  * @returns a single entity
980
988
  * @see {@link findMany}
981
989
  */
982
- findFirstOrThrow<T extends FindArgs<Schema, Model, true>>(args?: SelectSubset<T, FindArgs<Schema, Model, true>>): ZenStackPromise<Schema, ModelResult<Schema, Model, T>>;
990
+ findFirstOrThrow<T extends FindArgs<Schema, Model, true>>(args?: SelectSubset<T, FindArgs<Schema, Model, true>>): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>>;
983
991
  /**
984
992
  * Creates a new entity.
985
993
  * @param args - create args
@@ -1032,7 +1040,7 @@ interface ModelOperations<Schema extends SchemaDef, Model extends GetModels<Sche
1032
1040
  * });
1033
1041
  * ```
1034
1042
  */
1035
- create<T extends CreateArgs<Schema, Model>>(args: SelectSubset<T, CreateArgs<Schema, Model>>): ZenStackPromise<Schema, ModelResult<Schema, Model, T>>;
1043
+ create<T extends CreateArgs<Schema, Model>>(args: SelectSubset<T, CreateArgs<Schema, Model>>): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>>;
1036
1044
  /**
1037
1045
  * Creates multiple entities. Only scalar fields are allowed.
1038
1046
  * @param args - create args
@@ -1077,7 +1085,7 @@ interface ModelOperations<Schema extends SchemaDef, Model extends GetModels<Sche
1077
1085
  * });
1078
1086
  * ```
1079
1087
  */
1080
- createManyAndReturn<T extends CreateManyAndReturnArgs<Schema, Model>>(args?: SelectSubset<T, CreateManyAndReturnArgs<Schema, Model>>): ZenStackPromise<Schema, ModelResult<Schema, Model, T>[]>;
1088
+ createManyAndReturn<T extends CreateManyAndReturnArgs<Schema, Model>>(args?: SelectSubset<T, CreateManyAndReturnArgs<Schema, Model>>): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>[]>;
1081
1089
  /**
1082
1090
  * Updates a uniquely identified entity.
1083
1091
  * @param args - update args. See {@link findMany} for how to control
@@ -1195,7 +1203,7 @@ interface ModelOperations<Schema extends SchemaDef, Model extends GetModels<Sche
1195
1203
  * });
1196
1204
  * ```
1197
1205
  */
1198
- update<T extends UpdateArgs<Schema, Model>>(args: SelectSubset<T, UpdateArgs<Schema, Model>>): ZenStackPromise<Schema, ModelResult<Schema, Model, T>>;
1206
+ update<T extends UpdateArgs<Schema, Model>>(args: SelectSubset<T, UpdateArgs<Schema, Model>>): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>>;
1199
1207
  /**
1200
1208
  * Updates multiple entities.
1201
1209
  * @param args - update args. Only scalar fields are allowed for data.
@@ -1239,7 +1247,7 @@ interface ModelOperations<Schema extends SchemaDef, Model extends GetModels<Sche
1239
1247
  * });
1240
1248
  * ```
1241
1249
  */
1242
- updateManyAndReturn<T extends UpdateManyAndReturnArgs<Schema, Model>>(args: Subset<T, UpdateManyAndReturnArgs<Schema, Model>>): ZenStackPromise<Schema, ModelResult<Schema, Model, T>[]>;
1250
+ updateManyAndReturn<T extends UpdateManyAndReturnArgs<Schema, Model>>(args: Subset<T, UpdateManyAndReturnArgs<Schema, Model>>): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>[]>;
1243
1251
  /**
1244
1252
  * Creates or updates an entity.
1245
1253
  * @param args - upsert args
@@ -1260,7 +1268,7 @@ interface ModelOperations<Schema extends SchemaDef, Model extends GetModels<Sche
1260
1268
  * });
1261
1269
  * ```
1262
1270
  */
1263
- upsert<T extends UpsertArgs<Schema, Model>>(args: SelectSubset<T, UpsertArgs<Schema, Model>>): ZenStackPromise<Schema, ModelResult<Schema, Model, T>>;
1271
+ upsert<T extends UpsertArgs<Schema, Model>>(args: SelectSubset<T, UpsertArgs<Schema, Model>>): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>>;
1264
1272
  /**
1265
1273
  * Deletes a uniquely identifiable entity.
1266
1274
  * @param args - delete args
@@ -1280,7 +1288,7 @@ interface ModelOperations<Schema extends SchemaDef, Model extends GetModels<Sche
1280
1288
  * }); // result: `{ id: string; email: string }`
1281
1289
  * ```
1282
1290
  */
1283
- delete<T extends DeleteArgs<Schema, Model>>(args: SelectSubset<T, DeleteArgs<Schema, Model>>): ZenStackPromise<Schema, ModelResult<Schema, Model>>;
1291
+ delete<T extends DeleteArgs<Schema, Model>>(args: SelectSubset<T, DeleteArgs<Schema, Model>>): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model>>>;
1284
1292
  /**
1285
1293
  * Deletes multiple entities.
1286
1294
  * @param args - delete args
@@ -1319,7 +1327,7 @@ interface ModelOperations<Schema extends SchemaDef, Model extends GetModels<Sche
1319
1327
  * select: { _all: true, email: true }
1320
1328
  * }); // result: `{ _all: number, email: number }`
1321
1329
  */
1322
- count<T extends CountArgs<Schema, Model>>(args?: Subset<T, CountArgs<Schema, Model>>): ZenStackPromise<Schema, CountResult<Schema, Model, T>>;
1330
+ count<T extends CountArgs<Schema, Model>>(args?: Subset<T, CountArgs<Schema, Model>>): ZenStackPromise<Schema, Simplify<CountResult<Schema, Model, T>>>;
1323
1331
  /**
1324
1332
  * Aggregates rows.
1325
1333
  * @param args - aggregation args
@@ -1337,7 +1345,7 @@ interface ModelOperations<Schema extends SchemaDef, Model extends GetModels<Sche
1337
1345
  * _max: { age: true }
1338
1346
  * }); // result: `{ _count: number, _avg: { age: number }, ... }`
1339
1347
  */
1340
- aggregate<T extends AggregateArgs<Schema, Model>>(args: Subset<T, AggregateArgs<Schema, Model>>): ZenStackPromise<Schema, AggregateResult<Schema, Model, T>>;
1348
+ aggregate<T extends AggregateArgs<Schema, Model>>(args: Subset<T, AggregateArgs<Schema, Model>>): ZenStackPromise<Schema, Simplify<AggregateResult<Schema, Model, T>>>;
1341
1349
  /**
1342
1350
  * Groups rows by columns.
1343
1351
  * @param args - groupBy args
@@ -1370,7 +1378,7 @@ interface ModelOperations<Schema extends SchemaDef, Model extends GetModels<Sche
1370
1378
  * having: { country: 'US' }
1371
1379
  * });
1372
1380
  */
1373
- groupBy<T extends GroupByArgs<Schema, Model>>(args: Subset<T, GroupByArgs<Schema, Model>>): ZenStackPromise<Schema, GroupByResult<Schema, Model, T>>;
1381
+ groupBy<T extends GroupByArgs<Schema, Model>>(args: Subset<T, GroupByArgs<Schema, Model>>): ZenStackPromise<Schema, Simplify<GroupByResult<Schema, Model, T>>>;
1374
1382
  }
1375
1383
 
1376
- export { type UpdateRelationInput as A, type BatchResult as B, type ClientConstructor as C, type DateTimeFilter as D, type UpdateInput as E, type FindArgs as F, type DeleteArgs as G, type DeleteManyArgs as H, type CountArgs as I, type CountAggregateInput as J, type CountResult as K, type AggregateArgs as L, type ModelResult as M, type NumberFilter as N, type OrderBy as O, type AggregateResult as P, type GroupByArgs as Q, type GroupByResult as R, type StringFilter as S, type ToKysely as T, type UpdateArgs as U, type RuntimePlugin as V, type WhereInput as W, type OnKyselyQueryArgs as X, type ClientContract as a, type ClientOptions as b, type CommonPrimitiveFilter as c, definePlugin as d, type BytesFilter as e, type BooleanFilter as f, type SortOrder as g, type NullsOrder as h, type WhereUniqueInput as i, type SelectIncludeOmit as j, type Subset as k, type SelectSubset as l, type MapFieldType as m, type OptionalFieldsForCreate as n, type OppositeRelationFields as o, type OppositeRelationAndFK as p, type FindUniqueArgs as q, type CreateArgs as r, type CreateManyArgs as s, type CreateManyAndReturnArgs as t, type CreateManyInput as u, type CreateInput as v, type UpdateManyArgs as w, type UpdateManyAndReturnArgs as x, type UpsertArgs as y, type UpdateScalarInput as z };
1384
+ export { type DeleteManyArgs as A, type BatchResult as B, type ClientConstructor as C, type DateTimeFilter as D, type CountArgs as E, type FindArgs as F, type CountResult as G, type AggregateArgs as H, type IncludeInput as I, type JsonArray as J, type AggregateResult as K, type GroupByArgs as L, type ModelResult as M, type NumberFilter as N, type OrderBy as O, type GroupByResult as P, type OnKyselyQueryArgs as Q, type RuntimePlugin as R, type SimplifiedModelResult as S, type ToKysely as T, type UpdateArgs as U, type WhereInput as W, type JsonObject as a, type JsonValue as b, type ClientContract as c, type ClientOptions as d, definePlugin as e, type StringFilter as f, type BytesFilter as g, type BooleanFilter as h, type SortOrder as i, type NullsOrder as j, type WhereUniqueInput as k, type OmitInput as l, type SelectIncludeOmit as m, type SelectInput as n, type Subset as o, type SelectSubset as p, type FindManyArgs as q, type FindFirstArgs as r, type FindUniqueArgs as s, type CreateArgs as t, type CreateManyArgs as u, type CreateManyAndReturnArgs as v, type UpdateManyArgs as w, type UpdateManyAndReturnArgs as x, type UpsertArgs as y, type DeleteArgs as z };
@@ -4,8 +4,13 @@ import { Generated, Kysely, ExpressionBuilder, OperandExpression, SqlBool, Selec
4
4
 
5
5
  type Optional<T extends object, K extends keyof T = keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
6
6
  type NullableIf<T, Condition extends boolean> = Condition extends true ? T | null : T;
7
+ type _Preserve = Date | Function | Decimal | Uint8Array | JsonObject | JsonValue;
8
+ type _Depth = [never, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
9
+ type Simplify<T, D extends number = 6> = D extends 0 ? T : T extends object ? T extends _Preserve ? T : {
10
+ [K in keyof T]: Simplify<T[K], _Depth[D]>;
11
+ } & {} : T;
7
12
  type WrapType<T, Optional = false, Array = false> = Optional extends true ? T | null : Array extends true ? T[] : T;
8
- type MapBaseType$1<T> = T extends 'String' ? string : T extends 'Boolean' ? boolean : T extends 'Int' | 'Float' ? number : T extends 'BigInt' ? bigint : T extends 'Decimal' ? Decimal : T extends 'DateTime' ? Date : T extends 'Json' ? JsonValue : unknown;
13
+ type MapBaseType$1<T> = T extends 'String' ? string : T extends 'Boolean' ? boolean : T extends 'Int' | 'Float' ? number : T extends 'BigInt' ? bigint : T extends 'Decimal' ? Decimal : T extends 'DateTime' ? Date : T extends 'Bytes' ? Uint8Array : T extends 'Json' ? JsonValue : unknown;
9
14
  type JsonValue = string | number | boolean | null | JsonObject | JsonArray;
10
15
  type JsonObject = {
11
16
  [key: string]: JsonValue;
@@ -47,7 +52,7 @@ type DefaultModelResult<Schema extends SchemaDef, Model extends GetModels<Schema
47
52
  [Key in NonRelationFields<Schema, Model> as Key extends keyof Omit ? Omit[Key] extends true ? never : Key : Key]: MapFieldType<Schema, Model, Key>;
48
53
  }, Optional, Array>;
49
54
  type ModelSelectResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Select, Omit> = {
50
- [Key in keyof Select as Select[Key] extends false | undefined ? never : Key extends keyof Omit ? Omit[Key] extends true ? never : Key : Key extends '_count' ? Select[Key] extends SelectCount<Schema, Model> ? Key : never : Key]: Key extends '_count' ? SelectCountResult<Schema, Model, Select[Key]> : Key extends NonRelationFields<Schema, Model> ? MapFieldType<Schema, Model, Key> : Key extends RelationFields<Schema, Model> ? Select[Key] extends FindArgs<Schema, RelationFieldType<Schema, Model, Key>, FieldIsArray<Schema, Model, Key>> ? ModelResult<Schema, RelationFieldType<Schema, Model, Key>, Select[Key], FieldIsOptional<Schema, Model, Key>, FieldIsArray<Schema, Model, Key>> : DefaultModelResult<Schema, RelationFieldType<Schema, Model, Key>, Omit, FieldIsOptional<Schema, Model, Key>, FieldIsArray<Schema, Model, Key>> : never;
55
+ [Key in keyof Select as Select[Key] extends false | undefined ? never : Key extends keyof Omit ? Omit[Key] extends true ? never : Key : Key extends '_count' ? Select[Key] extends SelectCount<Schema, Model> ? Key : never : Key]: Key extends '_count' ? SelectCountResult<Schema, Model, Select[Key]> : Key extends NonRelationFields<Schema, Model> ? MapFieldType<Schema, Model, Key> : Key extends RelationFields<Schema, Model> ? Select[Key] extends FindArgs<Schema, RelationFieldType<Schema, Model, Key>, FieldIsArray<Schema, Model, Key>> ? 'select' extends keyof Select[Key] ? ModelResult<Schema, RelationFieldType<Schema, Model, Key>, Pick<Select[Key], 'select'>, FieldIsOptional<Schema, Model, Key>, FieldIsArray<Schema, Model, Key>> : ModelResult<Schema, RelationFieldType<Schema, Model, Key>, Pick<Select[Key], 'include' | 'omit'>, FieldIsOptional<Schema, Model, Key>, FieldIsArray<Schema, Model, Key>> : DefaultModelResult<Schema, RelationFieldType<Schema, Model, Key>, Omit, FieldIsOptional<Schema, Model, Key>, FieldIsArray<Schema, Model, Key>> : never;
51
56
  };
52
57
  type SelectCountResult<Schema extends SchemaDef, Model extends GetModels<Schema>, C> = C extends true ? {
53
58
  [Key in RelationFields<Schema, Model> as FieldIsArray<Schema, Model, Key> extends true ? Key : never]: number;
@@ -67,6 +72,7 @@ type ModelResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args
67
72
  } : Args extends {
68
73
  omit: infer O;
69
74
  } ? DefaultModelResult<Schema, Model, O> : DefaultModelResult<Schema, Model>, Optional, Array>;
75
+ type SimplifiedModelResult<Schema extends SchemaDef, Model extends GetModels<Schema>, Args extends SelectIncludeOmit<Schema, Model, boolean>, Optional = false, Array = false> = Simplify<ModelResult<Schema, Model, Args, Optional, Array>>;
70
76
  type BatchResult = {
71
77
  count: number;
72
78
  };
@@ -92,7 +98,7 @@ type ArrayFilter<T extends string> = {
92
98
  hasSome?: MapBaseType$1<T>[];
93
99
  isEmpty?: boolean;
94
100
  };
95
- type PrimitiveFilter<T extends string, Nullable extends boolean> = T extends 'String' ? StringFilter<Nullable> : T extends 'Int' | 'Float' | 'Decimal' | 'BigInt' ? NumberFilter<T, Nullable> : T extends 'Boolean' ? BooleanFilter<Nullable> : T extends 'DateTime' ? DateTimeFilter<Nullable> : T extends 'Json' ? 'Not implemented yet' : never;
101
+ type PrimitiveFilter<T extends string, Nullable extends boolean> = T extends 'String' ? StringFilter<Nullable> : T extends 'Int' | 'Float' | 'Decimal' | 'BigInt' ? NumberFilter<T, Nullable> : T extends 'Boolean' ? BooleanFilter<Nullable> : T extends 'DateTime' ? DateTimeFilter<Nullable> : T extends 'Bytes' ? BytesFilter<Nullable> : T extends 'Json' ? 'Not implemented yet' : never;
96
102
  type CommonPrimitiveFilter<DataType, T extends BuiltinType, Nullable extends boolean> = {
97
103
  equals?: NullableIf<DataType, Nullable>;
98
104
  in?: DataType[];
@@ -145,13 +151,13 @@ type WhereUniqueInput<Schema extends SchemaDef, Model extends GetModels<Schema>>
145
151
  [Key1 in keyof GetModel<Schema, Model>['uniqueFields'][Key]]: GetModel<Schema, Model>['uniqueFields'][Key][Key1] extends Pick<FieldDef, 'type'> ? MapFieldDefType<Schema, GetModel<Schema, Model>['uniqueFields'][Key][Key1]> : never;
146
152
  };
147
153
  } & WhereInput<Schema, Model>, Extract<keyof GetModel<Schema, Model>['uniqueFields'], string>>;
148
- type OmitFields<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
154
+ type OmitInput<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
149
155
  [Key in NonRelationFields<Schema, Model>]?: true;
150
156
  };
151
157
  type SelectIncludeOmit<Schema extends SchemaDef, Model extends GetModels<Schema>, AllowCount extends boolean> = {
152
- select?: Select<Schema, Model, AllowCount, boolean>;
153
- include?: Include<Schema, Model>;
154
- omit?: OmitFields<Schema, Model>;
158
+ select?: SelectInput<Schema, Model, AllowCount, boolean>;
159
+ include?: IncludeInput<Schema, Model>;
160
+ omit?: OmitInput<Schema, Model>;
155
161
  };
156
162
  type Distinct<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
157
163
  distinct?: OrArray<NonRelationFields<Schema, Model>>;
@@ -159,9 +165,9 @@ type Distinct<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
159
165
  type Cursor<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
160
166
  cursor?: WhereUniqueInput<Schema, Model>;
161
167
  };
162
- type Select<Schema extends SchemaDef, Model extends GetModels<Schema>, AllowCount extends boolean, AllowRelation extends boolean = true> = {
168
+ type SelectInput<Schema extends SchemaDef, Model extends GetModels<Schema>, AllowCount extends boolean = true, AllowRelation extends boolean = true> = {
163
169
  [Key in NonRelationFields<Schema, Model>]?: true;
164
- } & (AllowRelation extends true ? Include<Schema, Model> : {}) & // relation fields
170
+ } & (AllowRelation extends true ? IncludeInput<Schema, Model> : {}) & // relation fields
165
171
  (AllowCount extends true ? {
166
172
  _count?: SelectCount<Schema, Model>;
167
173
  } : {});
@@ -172,7 +178,7 @@ type SelectCount<Schema extends SchemaDef, Model extends GetModels<Schema>> = tr
172
178
  };
173
179
  };
174
180
  };
175
- type Include<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
181
+ type IncludeInput<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
176
182
  [Key in RelationFields<Schema, Model>]?: boolean | FindArgs<Schema, RelationFieldType<Schema, Model, Key>, FieldIsArray<Schema, Model, Key>, FieldIsArray<Schema, Model, Key> extends true ? true : FieldIsOptional<Schema, Model, Key> extends true ? true : false>;
177
183
  };
178
184
  type Subset<T, U> = {
@@ -213,19 +219,21 @@ type FindArgs<Schema extends SchemaDef, Model extends GetModels<Schema>, Collect
213
219
  } : {}) & (AllowFilter extends true ? {
214
220
  where?: WhereInput<Schema, Model>;
215
221
  } : {}) & SelectIncludeOmit<Schema, Model, Collection> & Distinct<Schema, Model> & Cursor<Schema, Model>;
222
+ type FindManyArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = FindArgs<Schema, Model, true>;
223
+ type FindFirstArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = FindArgs<Schema, Model, false>;
216
224
  type FindUniqueArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
217
225
  where?: WhereUniqueInput<Schema, Model>;
218
226
  } & SelectIncludeOmit<Schema, Model, true>;
219
227
  type CreateArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
220
228
  data: CreateInput<Schema, Model>;
221
- select?: Select<Schema, Model, true>;
222
- include?: Include<Schema, Model>;
223
- omit?: OmitFields<Schema, Model>;
229
+ select?: SelectInput<Schema, Model, true>;
230
+ include?: IncludeInput<Schema, Model>;
231
+ omit?: OmitInput<Schema, Model>;
224
232
  };
225
233
  type CreateManyArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = CreateManyInput<Schema, Model>;
226
234
  type CreateManyAndReturnArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = CreateManyInput<Schema, Model> & {
227
- select?: Select<Schema, Model, false, false>;
228
- omit?: OmitFields<Schema, Model>;
235
+ select?: SelectInput<Schema, Model, false, false>;
236
+ omit?: OmitInput<Schema, Model>;
229
237
  };
230
238
  type OptionalWrap<Schema extends SchemaDef, Model extends GetModels<Schema>, T extends object> = Optional<T, keyof T & OptionalFieldsForCreate<Schema, Model>>;
231
239
  type CreateScalarPayload<Schema extends SchemaDef, Model extends GetModels<Schema>> = OptionalWrap<Schema, Model, {
@@ -265,14 +273,14 @@ type NestedCreateManyInput<Schema extends SchemaDef, Model extends GetModels<Sch
265
273
  type UpdateArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
266
274
  data: UpdateInput<Schema, Model>;
267
275
  where: WhereUniqueInput<Schema, Model>;
268
- select?: Select<Schema, Model, true>;
269
- include?: Include<Schema, Model>;
270
- omit?: OmitFields<Schema, Model>;
276
+ select?: SelectInput<Schema, Model, true>;
277
+ include?: IncludeInput<Schema, Model>;
278
+ omit?: OmitInput<Schema, Model>;
271
279
  };
272
280
  type UpdateManyArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = UpdateManyPayload<Schema, Model>;
273
281
  type UpdateManyAndReturnArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = UpdateManyPayload<Schema, Model> & {
274
- select?: Select<Schema, Model, false, false>;
275
- omit?: OmitFields<Schema, Model>;
282
+ select?: SelectInput<Schema, Model, false, false>;
283
+ omit?: OmitInput<Schema, Model>;
276
284
  };
277
285
  type UpdateManyPayload<Schema extends SchemaDef, Model extends GetModels<Schema>, Without extends string = never> = {
278
286
  data: OrArray<UpdateScalarInput<Schema, Model, Without>>;
@@ -283,9 +291,9 @@ type UpsertArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
283
291
  create: CreateInput<Schema, Model>;
284
292
  update: UpdateInput<Schema, Model>;
285
293
  where: WhereUniqueInput<Schema, Model>;
286
- select?: Select<Schema, Model, true>;
287
- include?: Include<Schema, Model>;
288
- omit?: OmitFields<Schema, Model>;
294
+ select?: SelectInput<Schema, Model, true>;
295
+ include?: IncludeInput<Schema, Model>;
296
+ omit?: OmitInput<Schema, Model>;
289
297
  };
290
298
  type UpdateScalarInput<Schema extends SchemaDef, Model extends GetModels<Schema>, Without extends string = never> = Omit<{
291
299
  [Key in NonRelationFields<Schema, Model>]?: ScalarUpdatePayload<Schema, Model, Key>;
@@ -330,9 +338,9 @@ type ToOneRelationUpdateInput<Schema extends SchemaDef, Model extends GetModels<
330
338
  } : {});
331
339
  type DeleteArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
332
340
  where: WhereUniqueInput<Schema, Model>;
333
- select?: Select<Schema, Model, true>;
334
- include?: Include<Schema, Model>;
335
- omit?: OmitFields<Schema, Model>;
341
+ select?: SelectInput<Schema, Model, true>;
342
+ include?: IncludeInput<Schema, Model>;
343
+ omit?: OmitInput<Schema, Model>;
336
344
  };
337
345
  type DeleteManyArgs<Schema extends SchemaDef, Model extends GetModels<Schema>> = {
338
346
  where?: WhereInput<Schema, Model>;
@@ -951,35 +959,35 @@ interface ModelOperations<Schema extends SchemaDef, Model extends GetModels<Sche
951
959
  * }); // result: `{ _count: { posts: number } }`
952
960
  * ```
953
961
  */
954
- findMany<T extends FindArgs<Schema, Model, true>>(args?: SelectSubset<T, FindArgs<Schema, Model, true>>): ZenStackPromise<Schema, ModelResult<Schema, Model, T>[]>;
962
+ findMany<T extends FindArgs<Schema, Model, true>>(args?: SelectSubset<T, FindArgs<Schema, Model, true>>): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>[]>;
955
963
  /**
956
964
  * Returns a uniquely identified entity.
957
965
  * @param args - query args
958
966
  * @returns a single entity or null if not found
959
967
  * @see {@link findMany}
960
968
  */
961
- findUnique<T extends FindUniqueArgs<Schema, Model>>(args?: SelectSubset<T, FindUniqueArgs<Schema, Model>>): ZenStackPromise<Schema, ModelResult<Schema, Model, T> | null>;
969
+ findUnique<T extends FindUniqueArgs<Schema, Model>>(args?: SelectSubset<T, FindUniqueArgs<Schema, Model>>): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>> | null>;
962
970
  /**
963
971
  * Returns a uniquely identified entity or throws `NotFoundError` if not found.
964
972
  * @param args - query args
965
973
  * @returns a single entity
966
974
  * @see {@link findMany}
967
975
  */
968
- findUniqueOrThrow<T extends FindUniqueArgs<Schema, Model>>(args?: SelectSubset<T, FindUniqueArgs<Schema, Model>>): ZenStackPromise<Schema, ModelResult<Schema, Model, T>>;
976
+ findUniqueOrThrow<T extends FindUniqueArgs<Schema, Model>>(args?: SelectSubset<T, FindUniqueArgs<Schema, Model>>): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>>;
969
977
  /**
970
978
  * Returns the first entity.
971
979
  * @param args - query args
972
980
  * @returns a single entity or null if not found
973
981
  * @see {@link findMany}
974
982
  */
975
- findFirst<T extends FindArgs<Schema, Model, true>>(args?: SelectSubset<T, FindArgs<Schema, Model, true>>): ZenStackPromise<Schema, ModelResult<Schema, Model, T> | null>;
983
+ findFirst<T extends FindArgs<Schema, Model, true>>(args?: SelectSubset<T, FindArgs<Schema, Model, true>>): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>> | null>;
976
984
  /**
977
985
  * Returns the first entity or throws `NotFoundError` if not found.
978
986
  * @param args - query args
979
987
  * @returns a single entity
980
988
  * @see {@link findMany}
981
989
  */
982
- findFirstOrThrow<T extends FindArgs<Schema, Model, true>>(args?: SelectSubset<T, FindArgs<Schema, Model, true>>): ZenStackPromise<Schema, ModelResult<Schema, Model, T>>;
990
+ findFirstOrThrow<T extends FindArgs<Schema, Model, true>>(args?: SelectSubset<T, FindArgs<Schema, Model, true>>): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>>;
983
991
  /**
984
992
  * Creates a new entity.
985
993
  * @param args - create args
@@ -1032,7 +1040,7 @@ interface ModelOperations<Schema extends SchemaDef, Model extends GetModels<Sche
1032
1040
  * });
1033
1041
  * ```
1034
1042
  */
1035
- create<T extends CreateArgs<Schema, Model>>(args: SelectSubset<T, CreateArgs<Schema, Model>>): ZenStackPromise<Schema, ModelResult<Schema, Model, T>>;
1043
+ create<T extends CreateArgs<Schema, Model>>(args: SelectSubset<T, CreateArgs<Schema, Model>>): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>>;
1036
1044
  /**
1037
1045
  * Creates multiple entities. Only scalar fields are allowed.
1038
1046
  * @param args - create args
@@ -1077,7 +1085,7 @@ interface ModelOperations<Schema extends SchemaDef, Model extends GetModels<Sche
1077
1085
  * });
1078
1086
  * ```
1079
1087
  */
1080
- createManyAndReturn<T extends CreateManyAndReturnArgs<Schema, Model>>(args?: SelectSubset<T, CreateManyAndReturnArgs<Schema, Model>>): ZenStackPromise<Schema, ModelResult<Schema, Model, T>[]>;
1088
+ createManyAndReturn<T extends CreateManyAndReturnArgs<Schema, Model>>(args?: SelectSubset<T, CreateManyAndReturnArgs<Schema, Model>>): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>[]>;
1081
1089
  /**
1082
1090
  * Updates a uniquely identified entity.
1083
1091
  * @param args - update args. See {@link findMany} for how to control
@@ -1195,7 +1203,7 @@ interface ModelOperations<Schema extends SchemaDef, Model extends GetModels<Sche
1195
1203
  * });
1196
1204
  * ```
1197
1205
  */
1198
- update<T extends UpdateArgs<Schema, Model>>(args: SelectSubset<T, UpdateArgs<Schema, Model>>): ZenStackPromise<Schema, ModelResult<Schema, Model, T>>;
1206
+ update<T extends UpdateArgs<Schema, Model>>(args: SelectSubset<T, UpdateArgs<Schema, Model>>): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>>;
1199
1207
  /**
1200
1208
  * Updates multiple entities.
1201
1209
  * @param args - update args. Only scalar fields are allowed for data.
@@ -1239,7 +1247,7 @@ interface ModelOperations<Schema extends SchemaDef, Model extends GetModels<Sche
1239
1247
  * });
1240
1248
  * ```
1241
1249
  */
1242
- updateManyAndReturn<T extends UpdateManyAndReturnArgs<Schema, Model>>(args: Subset<T, UpdateManyAndReturnArgs<Schema, Model>>): ZenStackPromise<Schema, ModelResult<Schema, Model, T>[]>;
1250
+ updateManyAndReturn<T extends UpdateManyAndReturnArgs<Schema, Model>>(args: Subset<T, UpdateManyAndReturnArgs<Schema, Model>>): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>[]>;
1243
1251
  /**
1244
1252
  * Creates or updates an entity.
1245
1253
  * @param args - upsert args
@@ -1260,7 +1268,7 @@ interface ModelOperations<Schema extends SchemaDef, Model extends GetModels<Sche
1260
1268
  * });
1261
1269
  * ```
1262
1270
  */
1263
- upsert<T extends UpsertArgs<Schema, Model>>(args: SelectSubset<T, UpsertArgs<Schema, Model>>): ZenStackPromise<Schema, ModelResult<Schema, Model, T>>;
1271
+ upsert<T extends UpsertArgs<Schema, Model>>(args: SelectSubset<T, UpsertArgs<Schema, Model>>): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model, T>>>;
1264
1272
  /**
1265
1273
  * Deletes a uniquely identifiable entity.
1266
1274
  * @param args - delete args
@@ -1280,7 +1288,7 @@ interface ModelOperations<Schema extends SchemaDef, Model extends GetModels<Sche
1280
1288
  * }); // result: `{ id: string; email: string }`
1281
1289
  * ```
1282
1290
  */
1283
- delete<T extends DeleteArgs<Schema, Model>>(args: SelectSubset<T, DeleteArgs<Schema, Model>>): ZenStackPromise<Schema, ModelResult<Schema, Model>>;
1291
+ delete<T extends DeleteArgs<Schema, Model>>(args: SelectSubset<T, DeleteArgs<Schema, Model>>): ZenStackPromise<Schema, Simplify<ModelResult<Schema, Model>>>;
1284
1292
  /**
1285
1293
  * Deletes multiple entities.
1286
1294
  * @param args - delete args
@@ -1319,7 +1327,7 @@ interface ModelOperations<Schema extends SchemaDef, Model extends GetModels<Sche
1319
1327
  * select: { _all: true, email: true }
1320
1328
  * }); // result: `{ _all: number, email: number }`
1321
1329
  */
1322
- count<T extends CountArgs<Schema, Model>>(args?: Subset<T, CountArgs<Schema, Model>>): ZenStackPromise<Schema, CountResult<Schema, Model, T>>;
1330
+ count<T extends CountArgs<Schema, Model>>(args?: Subset<T, CountArgs<Schema, Model>>): ZenStackPromise<Schema, Simplify<CountResult<Schema, Model, T>>>;
1323
1331
  /**
1324
1332
  * Aggregates rows.
1325
1333
  * @param args - aggregation args
@@ -1337,7 +1345,7 @@ interface ModelOperations<Schema extends SchemaDef, Model extends GetModels<Sche
1337
1345
  * _max: { age: true }
1338
1346
  * }); // result: `{ _count: number, _avg: { age: number }, ... }`
1339
1347
  */
1340
- aggregate<T extends AggregateArgs<Schema, Model>>(args: Subset<T, AggregateArgs<Schema, Model>>): ZenStackPromise<Schema, AggregateResult<Schema, Model, T>>;
1348
+ aggregate<T extends AggregateArgs<Schema, Model>>(args: Subset<T, AggregateArgs<Schema, Model>>): ZenStackPromise<Schema, Simplify<AggregateResult<Schema, Model, T>>>;
1341
1349
  /**
1342
1350
  * Groups rows by columns.
1343
1351
  * @param args - groupBy args
@@ -1370,7 +1378,7 @@ interface ModelOperations<Schema extends SchemaDef, Model extends GetModels<Sche
1370
1378
  * having: { country: 'US' }
1371
1379
  * });
1372
1380
  */
1373
- groupBy<T extends GroupByArgs<Schema, Model>>(args: Subset<T, GroupByArgs<Schema, Model>>): ZenStackPromise<Schema, GroupByResult<Schema, Model, T>>;
1381
+ groupBy<T extends GroupByArgs<Schema, Model>>(args: Subset<T, GroupByArgs<Schema, Model>>): ZenStackPromise<Schema, Simplify<GroupByResult<Schema, Model, T>>>;
1374
1382
  }
1375
1383
 
1376
- export { type UpdateRelationInput as A, type BatchResult as B, type ClientConstructor as C, type DateTimeFilter as D, type UpdateInput as E, type FindArgs as F, type DeleteArgs as G, type DeleteManyArgs as H, type CountArgs as I, type CountAggregateInput as J, type CountResult as K, type AggregateArgs as L, type ModelResult as M, type NumberFilter as N, type OrderBy as O, type AggregateResult as P, type GroupByArgs as Q, type GroupByResult as R, type StringFilter as S, type ToKysely as T, type UpdateArgs as U, type RuntimePlugin as V, type WhereInput as W, type OnKyselyQueryArgs as X, type ClientContract as a, type ClientOptions as b, type CommonPrimitiveFilter as c, definePlugin as d, type BytesFilter as e, type BooleanFilter as f, type SortOrder as g, type NullsOrder as h, type WhereUniqueInput as i, type SelectIncludeOmit as j, type Subset as k, type SelectSubset as l, type MapFieldType as m, type OptionalFieldsForCreate as n, type OppositeRelationFields as o, type OppositeRelationAndFK as p, type FindUniqueArgs as q, type CreateArgs as r, type CreateManyArgs as s, type CreateManyAndReturnArgs as t, type CreateManyInput as u, type CreateInput as v, type UpdateManyArgs as w, type UpdateManyAndReturnArgs as x, type UpsertArgs as y, type UpdateScalarInput as z };
1384
+ export { type DeleteManyArgs as A, type BatchResult as B, type ClientConstructor as C, type DateTimeFilter as D, type CountArgs as E, type FindArgs as F, type CountResult as G, type AggregateArgs as H, type IncludeInput as I, type JsonArray as J, type AggregateResult as K, type GroupByArgs as L, type ModelResult as M, type NumberFilter as N, type OrderBy as O, type GroupByResult as P, type OnKyselyQueryArgs as Q, type RuntimePlugin as R, type SimplifiedModelResult as S, type ToKysely as T, type UpdateArgs as U, type WhereInput as W, type JsonObject as a, type JsonValue as b, type ClientContract as c, type ClientOptions as d, definePlugin as e, type StringFilter as f, type BytesFilter as g, type BooleanFilter as h, type SortOrder as i, type NullsOrder as j, type WhereUniqueInput as k, type OmitInput as l, type SelectIncludeOmit as m, type SelectInput as n, type Subset as o, type SelectSubset as p, type FindManyArgs as q, type FindFirstArgs as r, type FindUniqueArgs as s, type CreateArgs as t, type CreateManyArgs as u, type CreateManyAndReturnArgs as v, type UpdateManyArgs as w, type UpdateManyAndReturnArgs as x, type UpsertArgs as y, type DeleteArgs as z };