arkormx 2.11.11 → 2.11.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_relationship = require('./relationship-BIie-GXN.cjs');
2
+ const require_relationship = require('./relationship-CBYK5LE3.cjs');
3
3
  let pg = require("pg");
4
4
  let node_path = require("node:path");
5
5
  let module$1 = require("module");
@@ -635,6 +635,15 @@ var KyselyDatabaseAdapter = class KyselyDatabaseAdapter {
635
635
  mapColumn(target, column) {
636
636
  return target.columns?.[column] ?? column;
637
637
  }
638
+ buildIdentifierReference(target, reference) {
639
+ const segments = reference.split(".");
640
+ if (segments.length === 1) return kysely.sql.ref(this.mapColumn(target, reference));
641
+ const column = segments.pop();
642
+ const table = segments.join(".");
643
+ const mappedTable = this.mapping[table] ?? table;
644
+ const mappedColumn = mappedTable === (target.table ? this.mapping[target.table] ?? target.table : void 0) ? this.mapColumn(target, column) : column;
645
+ return this.buildColumnReference(mappedTable, mappedColumn);
646
+ }
638
647
  reverseColumnMap(target) {
639
648
  return Object.entries(target.columns ?? {}).reduce((all, [attribute, column]) => {
640
649
  all[column] = attribute;
@@ -658,29 +667,31 @@ var KyselyDatabaseAdapter = class KyselyDatabaseAdapter {
658
667
  return mapped;
659
668
  }, {});
660
669
  }
661
- buildSelectList(target, columns) {
662
- if (!columns || columns.length === 0) return kysely.sql.raw("*");
670
+ buildSelectList(target, columns, qualifyColumns = false) {
671
+ const table = this.resolveTable(target);
672
+ if (!columns || columns.length === 0) return qualifyColumns ? kysely.sql`${kysely.sql.table(table)}.*` : kysely.sql.raw("*");
663
673
  return kysely.sql.join(columns.map(({ column, alias, raw, wildcard, expression }) => {
664
- if (wildcard) return kysely.sql.raw("*");
674
+ if (wildcard) return qualifyColumns ? kysely.sql`${kysely.sql.table(table)}.*` : kysely.sql.raw("*");
665
675
  if (expression) {
666
676
  const compiled = this.buildExpression(target, expression);
667
677
  const resultAlias = alias ?? column;
668
678
  return resultAlias ? kysely.sql`${compiled} as ${kysely.sql.id(resultAlias)}` : compiled;
669
679
  }
670
680
  if (raw) {
671
- const rawExpression = kysely.sql.raw(column);
681
+ const rawExpression = /^[A-Za-z_][\w]*(?:\.[A-Za-z_][\w]*)+$/.test(column) ? this.buildIdentifierReference(target, column) : kysely.sql.raw(column);
672
682
  return alias ? kysely.sql`${rawExpression} as ${kysely.sql.id(alias)}` : rawExpression;
673
683
  }
674
684
  const mappedColumn = this.mapColumn(target, column);
675
685
  const resultAlias = alias ?? column;
676
- if (mappedColumn === resultAlias) return kysely.sql.ref(mappedColumn);
677
- return kysely.sql`${kysely.sql.ref(mappedColumn)} as ${kysely.sql.id(resultAlias)}`;
686
+ const reference = qualifyColumns ? this.buildColumnReference(table, mappedColumn) : kysely.sql.ref(mappedColumn);
687
+ if (mappedColumn === resultAlias) return reference;
688
+ return kysely.sql`${reference} as ${kysely.sql.id(resultAlias)}`;
678
689
  }));
679
690
  }
680
- buildOrderBy(target, orderBy) {
691
+ buildOrderBy(target, orderBy, qualifyColumns = false) {
681
692
  if (!orderBy || orderBy.length === 0) return kysely.sql``;
682
693
  return kysely.sql` order by ${kysely.sql.join(orderBy.map(({ column, direction, expression }) => {
683
- return kysely.sql`${expression ? this.buildExpression(target, expression) : kysely.sql.ref(this.mapColumn(target, column))} ${kysely.sql.raw(direction === "desc" ? "desc" : "asc")}`;
694
+ return kysely.sql`${expression ? this.buildExpression(target, expression) : qualifyColumns ? this.buildColumnReference(this.resolveTable(target), this.mapColumn(target, column)) : kysely.sql.ref(this.mapColumn(target, column))} ${kysely.sql.raw(direction === "desc" ? "desc" : "asc")}`;
684
695
  }), kysely.sql`, `)}`;
685
696
  }
686
697
  buildGroupBy(target, groupBy) {
@@ -735,7 +746,7 @@ var KyselyDatabaseAdapter = class KyselyDatabaseAdapter {
735
746
  return kysely.sql`${kysely.sql.join(parts, kysely.sql``)}`;
736
747
  }
737
748
  buildJoinConstraint(target, constraint) {
738
- if (constraint.type === "column") return kysely.sql`${kysely.sql.ref(constraint.first)} ${kysely.sql.raw(constraint.operator)} ${kysely.sql.ref(constraint.second)}`;
749
+ if (constraint.type === "column") return kysely.sql`${this.buildIdentifierReference(target, constraint.first)} ${kysely.sql.raw(constraint.operator)} ${this.buildIdentifierReference(target, constraint.second)}`;
739
750
  if (constraint.type === "null") return constraint.not ? kysely.sql`${kysely.sql.ref(constraint.column)} is not null` : kysely.sql`${kysely.sql.ref(constraint.column)} is null`;
740
751
  if (constraint.type === "raw") return this.buildRawWhereCondition({
741
752
  type: "raw",
@@ -743,7 +754,7 @@ var KyselyDatabaseAdapter = class KyselyDatabaseAdapter {
743
754
  bindings: constraint.bindings
744
755
  });
745
756
  if (constraint.type === "nested") return kysely.sql`(${this.buildJoinConstraints(target, constraint.constraints)})`;
746
- const column = kysely.sql.ref(constraint.column);
757
+ const column = this.buildIdentifierReference(target, constraint.column);
747
758
  const operator = constraint.operator;
748
759
  if (operator === "is-null") return kysely.sql`${column} is null`;
749
760
  if (operator === "is-not-null") return kysely.sql`${column} is not null`;
@@ -765,7 +776,7 @@ var KyselyDatabaseAdapter = class KyselyDatabaseAdapter {
765
776
  return typeof value === "undefined" ? [] : [value];
766
777
  }
767
778
  buildComparisonCondition(target, condition) {
768
- const column = kysely.sql.ref(this.mapColumn(target, condition.column));
779
+ const column = this.buildIdentifierReference(target, condition.column);
769
780
  if (condition.operator === "is-null") return kysely.sql`${column} is null`;
770
781
  if (condition.operator === "is-not-null") return kysely.sql`${column} is not null`;
771
782
  if (condition.operator === "in") {
@@ -1072,6 +1083,7 @@ var KyselyDatabaseAdapter = class KyselyDatabaseAdapter {
1072
1083
  return kysely.sql`(${kysely.sql.join(filtered, kysely.sql` and `)})`;
1073
1084
  }
1074
1085
  buildRelationFilterExpression(target, filter) {
1086
+ if (filter.morph) return this.buildMorphRelationFilterExpression(target, filter);
1075
1087
  const { relatedTarget, from, condition } = this.buildRelatedJoinCondition(target, filter.relation);
1076
1088
  return kysely.sql`(
1077
1089
  select count(*)::int
@@ -1079,6 +1091,33 @@ var KyselyDatabaseAdapter = class KyselyDatabaseAdapter {
1079
1091
  where ${this.combineConditions([condition, filter.where ? this.buildWhereCondition(relatedTarget, filter.where) : void 0])}
1080
1092
  ) ${filter.operator === "!=" ? kysely.sql.raw("!=") : kysely.sql.raw(filter.operator)} ${filter.count}`;
1081
1093
  }
1094
+ buildMorphRelationFilterExpression(outerTarget, filter) {
1095
+ const morph = filter.morph;
1096
+ if (!morph || morph.branches.length === 0) return kysely.sql`false`;
1097
+ const outerTable = this.resolveTable(outerTarget);
1098
+ const outerMorphId = this.buildColumnReference(outerTable, this.mapColumn(outerTarget, morph.morphIdColumn));
1099
+ const outerMorphType = this.buildColumnReference(outerTable, this.mapColumn(outerTarget, morph.morphTypeColumn));
1100
+ const counts = morph.branches.map((branch) => {
1101
+ const relatedTable = this.resolveTable(branch.target);
1102
+ const relationCondition = kysely.sql`
1103
+ ${this.buildColumnReference(relatedTable, this.mapColumn(branch.target, branch.ownerKey))}
1104
+ = ${outerMorphId}
1105
+ `;
1106
+ const typeCondition = kysely.sql`${outerMorphType} = ${branch.type}`;
1107
+ const whereCondition = this.combineConditions([
1108
+ relationCondition,
1109
+ typeCondition,
1110
+ branch.where ? this.buildWhereCondition(branch.target, branch.where) : void 0
1111
+ ]);
1112
+ return kysely.sql`(
1113
+ select count(*)::int
1114
+ from ${kysely.sql.table(relatedTable)}
1115
+ where ${whereCondition}
1116
+ )`;
1117
+ });
1118
+ const operator = filter.operator === "!=" ? kysely.sql.raw("!=") : kysely.sql.raw(filter.operator);
1119
+ return kysely.sql`(${kysely.sql.join(counts, kysely.sql` + `)}) ${operator} ${filter.count}`;
1120
+ }
1082
1121
  buildRelationFilterCondition(target, relationFilters) {
1083
1122
  if (!relationFilters || relationFilters.length === 0) return kysely.sql`1 = 1`;
1084
1123
  let expression = null;
@@ -1170,6 +1209,30 @@ var KyselyDatabaseAdapter = class KyselyDatabaseAdapter {
1170
1209
  ${this.buildOrderBy(spec.target, spec.orderBy)}
1171
1210
  ${this.buildPaginationClause(spec)}
1172
1211
  `;
1212
+ }
1213
+ buildPartitionedSelectStatement(spec) {
1214
+ const table = this.resolveTable(spec.target);
1215
+ const rankedAlias = "__arkorm_partitioned";
1216
+ const rowAlias = "__arkorm_partition_row";
1217
+ const offset = Math.max(0, spec.perPartitionOffset ?? 0);
1218
+ const upperBound = offset + Math.max(0, spec.perPartitionLimit);
1219
+ const partitionColumns = spec.partitionBy.map((column) => this.buildIdentifierReference(spec.target, column));
1220
+ const orderBy = spec.orderBy && spec.orderBy.length > 0 ? this.buildOrderBy(spec.target, spec.orderBy, true) : kysely.sql` order by ${this.buildColumnReference(table, this.resolvePrimaryKey(spec.target))} asc`;
1221
+ return kysely.sql`
1222
+ select *
1223
+ from (
1224
+ select ${spec.distinct ? kysely.sql`distinct ` : kysely.sql``}${this.buildSelectList(spec.target, spec.columns, true)}
1225
+ ${this.buildRelationAggregateSelectList(spec.target, spec.relationAggregates)},
1226
+ row_number() over (
1227
+ partition by ${kysely.sql.join(partitionColumns, kysely.sql`, `)}${orderBy}
1228
+ ) as ${kysely.sql.id(rowAlias)}
1229
+ from ${kysely.sql.table(table)}
1230
+ ${this.buildJoinClause(spec.target, spec.joins)}
1231
+ ${this.buildCombinedWhereClause(spec.target, spec.where, spec.relationFilters)}
1232
+ ) as ${kysely.sql.table(rankedAlias)}
1233
+ where ${kysely.sql.ref(rowAlias)} > ${offset} and ${kysely.sql.ref(rowAlias)} <= ${upperBound}
1234
+ order by ${kysely.sql.ref(rowAlias)} asc
1235
+ `;
1173
1236
  }
1174
1237
  buildCountStatement(spec) {
1175
1238
  return kysely.sql`
@@ -1271,6 +1334,20 @@ var KyselyDatabaseAdapter = class KyselyDatabaseAdapter {
1271
1334
  offset: spec.offset
1272
1335
  });
1273
1336
  }
1337
+ async selectPerPartition(spec) {
1338
+ if (spec.partitionBy.length === 0) return await this.select(spec);
1339
+ return await this.executeWithDebug("select", spec.target, this.buildPartitionedSelectStatement(spec), (rows) => this.mapRows(spec.target, rows.map((row) => {
1340
+ const { __arkorm_partition_row: _partitionRow, ...attributes } = row;
1341
+ return attributes;
1342
+ })), {
1343
+ where: spec.where,
1344
+ relationFilters: spec.relationFilters,
1345
+ orderBy: spec.orderBy,
1346
+ partitionBy: spec.partitionBy,
1347
+ perPartitionLimit: spec.perPartitionLimit,
1348
+ perPartitionOffset: spec.perPartitionOffset
1349
+ });
1350
+ }
1274
1351
  /**
1275
1352
  * Selects a single record from the database matching the specified criteria and returns it as
1276
1353
  * a database row. If multiple records match the criteria, only the first one is returned.
@@ -5672,9 +5749,9 @@ var QueryBuilder = class QueryBuilder {
5672
5749
  /**
5673
5750
  * Add a constrained polymorphic relationship has clause.
5674
5751
  *
5675
- * The current relationship metadata does not expose morph-to targets yet, so
5676
- * this method delegates to whereHas while preserving the forward-compatible
5677
- * API shape.
5752
+ * Each requested morph target is compiled as its own correlated subquery so
5753
+ * callbacks run against the concrete target model rather than the morph
5754
+ * container model.
5678
5755
  *
5679
5756
  * @param relation
5680
5757
  * @param types
@@ -5684,7 +5761,15 @@ var QueryBuilder = class QueryBuilder {
5684
5761
  * @returns
5685
5762
  */
5686
5763
  whereHasMorph(relation, types, callback, operator = ">=", count = 1) {
5687
- return this.whereHas(relation, callback, operator, count);
5764
+ this.relationFilters.push({
5765
+ relation,
5766
+ callback,
5767
+ operator,
5768
+ count,
5769
+ boolean: "AND",
5770
+ morphTargets: this.resolveMorphTargets(relation, types)
5771
+ });
5772
+ return this;
5688
5773
  }
5689
5774
  /**
5690
5775
  * Add a constrained polymorphic relationship does-not-have clause.
@@ -5695,7 +5780,23 @@ var QueryBuilder = class QueryBuilder {
5695
5780
  * @returns
5696
5781
  */
5697
5782
  whereDoesntHaveMorph(relation, types, callback) {
5698
- return this.whereDoesntHave(relation, callback);
5783
+ return this.whereHasMorph(relation, types, callback, "<", 1);
5784
+ }
5785
+ /** Add an OR constrained polymorphic relationship has clause. */
5786
+ orWhereHasMorph(relation, types, callback, operator = ">=", count = 1) {
5787
+ this.relationFilters.push({
5788
+ relation,
5789
+ callback,
5790
+ operator,
5791
+ count,
5792
+ boolean: "OR",
5793
+ morphTargets: this.resolveMorphTargets(relation, types)
5794
+ });
5795
+ return this;
5796
+ }
5797
+ /** Add an OR constrained polymorphic relationship does-not-have clause. */
5798
+ orWhereDoesntHaveMorph(relation, types, callback) {
5799
+ return this.orWhereHasMorph(relation, types, callback, "<", 1);
5699
5800
  }
5700
5801
  /**
5701
5802
  * Add an OR constrained relationship does-not-have clause.
@@ -6414,6 +6515,26 @@ var QueryBuilder = class QueryBuilder {
6414
6515
  });
6415
6516
  }
6416
6517
  /**
6518
+ * Compiles the current query into SQL without executing it. Values remain represented by the
6519
+ * adapter's parameter placeholders; use {@link inspect} when the corresponding bindings are
6520
+ * also required.
6521
+ *
6522
+ * @param operation
6523
+ * @returns
6524
+ */
6525
+ toSql(operation = "select") {
6526
+ const inspection = this.inspect(operation);
6527
+ if (inspection?.sql) return inspection.sql;
6528
+ throw new require_relationship.UnsupportedAdapterFeatureException("The active database adapter cannot compile this query to SQL.", {
6529
+ operation: "query.toSql",
6530
+ model: this.model.name,
6531
+ meta: {
6532
+ feature: "inspectQuery",
6533
+ requestedOperation: operation
6534
+ }
6535
+ });
6536
+ }
6537
+ /**
6417
6538
  * Sets offset/limit for a 1-based page.
6418
6539
  *
6419
6540
  * @param page
@@ -6449,6 +6570,50 @@ var QueryBuilder = class QueryBuilder {
6449
6570
  return new require_relationship.ArkormCollection(filteredModels);
6450
6571
  }
6451
6572
  /**
6573
+ * Executes a bounded eager-load query independently for each partition while retaining a
6574
+ * single set-based database query. Returns null when the active adapter cannot represent the
6575
+ * query so the relationship loader can use its correctness fallback.
6576
+ *
6577
+ * @internal
6578
+ *
6579
+ * @param partitionBy
6580
+ * @returns
6581
+ */
6582
+ async getForEagerLoad(partitionBy) {
6583
+ if (this.limitValue === void 0 && this.offsetValue === void 0) return await this.get();
6584
+ const rows = await this.getRowsForEagerLoad(partitionBy);
6585
+ if (!rows) return null;
6586
+ const models = await this.model.hydrateManyRetrieved(rows);
6587
+ await this.eagerLoadModels(models);
6588
+ return new require_relationship.ArkormCollection(models);
6589
+ }
6590
+ /** @internal */
6591
+ async getRowsForEagerLoad(partitionBy) {
6592
+ if (this.limitValue === void 0 && this.offsetValue === void 0) return await this.executeReadRows();
6593
+ const adapter = this.requireAdapter();
6594
+ if (partitionBy.length === 0 || typeof adapter.selectPerPartition !== "function" || this.randomOrderEnabled || this.queryDistinct || this.queryGroupBy !== void 0 || this.queryHaving !== void 0 || !this.canExecuteRelationFeaturesInAdapter()) return null;
6595
+ const spec = this.tryBuildSelectSpec(this.buildWhere());
6596
+ if (!spec) return null;
6597
+ return await adapter.selectPerPartition({
6598
+ ...spec,
6599
+ limit: void 0,
6600
+ offset: void 0,
6601
+ partitionBy,
6602
+ perPartitionLimit: this.limitValue ?? Number.MAX_SAFE_INTEGER,
6603
+ perPartitionOffset: this.offsetValue
6604
+ });
6605
+ }
6606
+ /** Removes limit and offset clauses from a cloned relationship query. @internal */
6607
+ withoutPagination() {
6608
+ this.limitValue = void 0;
6609
+ this.offsetValue = void 0;
6610
+ return this;
6611
+ }
6612
+ /** @internal */
6613
+ hasEagerLoadPagination() {
6614
+ return this.limitValue !== void 0 || this.offsetValue !== void 0;
6615
+ }
6616
+ /**
6452
6617
  * Processes the query results in chunks, invoking the callback with each chunk
6453
6618
  * as a collection. Return `false` from the callback to stop early. Resolves to
6454
6619
  * `false` when stopped early, otherwise `true`.
@@ -7543,6 +7708,7 @@ var QueryBuilder = class QueryBuilder {
7543
7708
  const normalizedQuery = constrained instanceof QueryBuilder ? constrained : relatedQuery;
7544
7709
  if (constrained && !(constrained instanceof QueryBuilder) && constrained !== relatedQuery) return null;
7545
7710
  if (normalizedQuery.randomOrderEnabled) return null;
7711
+ if (normalizedQuery.hasRelationAggregates()) return null;
7546
7712
  const callbackRelationLoads = normalizedQuery.tryBuildAdapterRelationLoadPlans();
7547
7713
  const childRelationLoads = node.children.size > 0 ? toPlans(relatedModel, node.children) : [];
7548
7714
  if (callbackRelationLoads === null || childRelationLoads === null) return null;
@@ -8149,6 +8315,29 @@ var QueryBuilder = class QueryBuilder {
8149
8315
  hasRelationFilters() {
8150
8316
  return this.relationFilters.length > 0;
8151
8317
  }
8318
+ resolveMorphTargets(relation, types) {
8319
+ const metadata = this.model.getRelationMetadata(relation);
8320
+ if (!metadata || metadata.type !== "morphTo") throw new require_relationship.RelationResolutionException(`Relation [${relation}] must be a morphTo relationship to use morph constraints.`, {
8321
+ operation: "whereHasMorph",
8322
+ model: this.model.name,
8323
+ relation
8324
+ });
8325
+ const requested = Array.isArray(types) ? types : [types];
8326
+ if (requested.length === 0) throw new require_relationship.RelationResolutionException(`Morph constraint [${relation}] requires at least one target model.`, {
8327
+ operation: "whereHasMorph",
8328
+ model: this.model.name,
8329
+ relation
8330
+ });
8331
+ return requested.reduce((targets, requestedType) => {
8332
+ const type = typeof requestedType === "string" ? requestedType : requestedType.name;
8333
+ const model = typeof requestedType === "string" ? metadata.resolveModel(requestedType) : requestedType;
8334
+ if (!targets.some((target) => target.type === type)) targets.push({
8335
+ type,
8336
+ model
8337
+ });
8338
+ return targets;
8339
+ }, []);
8340
+ }
8152
8341
  hasOrRelationFilters() {
8153
8342
  return this.relationFilters.some((filter) => filter.boolean === "OR");
8154
8343
  }
@@ -8189,6 +8378,7 @@ var QueryBuilder = class QueryBuilder {
8189
8378
  if (!this.hasRelationFilters() || adapter?.capabilities?.relationFilters !== true) return false;
8190
8379
  return this.relationFilters.some((filter) => {
8191
8380
  const metadata = this.model.getRelationMetadata(filter.relation);
8381
+ if (filter.morphTargets && metadata?.type === "morphTo") return this.tryBuildMorphRelationFilterSpec(filter) === null;
8192
8382
  if (!this.isSqlRelationFeatureMetadata(metadata)) return false;
8193
8383
  return this.tryBuildRelationConstraintWhere(filter.relation, filter.callback) === null;
8194
8384
  });
@@ -8205,6 +8395,12 @@ var QueryBuilder = class QueryBuilder {
8205
8395
  return this.relationFilters.reduce((specs, filter) => {
8206
8396
  if (!specs) return null;
8207
8397
  const metadata = this.model.getRelationMetadata(filter.relation);
8398
+ if (filter.morphTargets && metadata?.type === "morphTo") {
8399
+ const morphSpec = this.tryBuildMorphRelationFilterSpec(filter);
8400
+ if (!morphSpec) return null;
8401
+ specs.push(morphSpec);
8402
+ return specs;
8403
+ }
8208
8404
  if (!this.isSqlRelationFeatureMetadata(metadata)) return null;
8209
8405
  const where = this.tryBuildRelationConstraintWhere(filter.relation, filter.callback);
8210
8406
  if (where === null) return null;
@@ -8218,6 +8414,47 @@ var QueryBuilder = class QueryBuilder {
8218
8414
  return specs;
8219
8415
  }, []);
8220
8416
  }
8417
+ tryBuildMorphRelationFilterSpec(filter) {
8418
+ const metadata = this.model.getRelationMetadata(filter.relation);
8419
+ if (metadata?.type !== "morphTo" || !filter.morphTargets) return null;
8420
+ const branches = [];
8421
+ for (const target of filter.morphTargets) {
8422
+ const relatedQuery = target.model.query();
8423
+ if (filter.callback) {
8424
+ const constrained = filter.callback(relatedQuery, target.type);
8425
+ if (constrained && constrained !== relatedQuery) return null;
8426
+ }
8427
+ const where = this.tryBuildRelationQueryConstraintWhere(relatedQuery);
8428
+ if (where === null) return null;
8429
+ const relatedMetadata = target.model.getModelMetadata();
8430
+ branches.push({
8431
+ type: target.type,
8432
+ target: {
8433
+ model: target.model,
8434
+ modelName: target.model.name,
8435
+ table: relatedMetadata.table,
8436
+ primaryKey: relatedMetadata.primaryKey,
8437
+ primaryKeyGeneration: relatedMetadata.primaryKeyGeneration,
8438
+ timestampColumns: relatedMetadata.timestampColumns,
8439
+ columns: relatedMetadata.columns,
8440
+ softDelete: relatedMetadata.softDelete
8441
+ },
8442
+ ownerKey: metadata.ownerKey ?? target.model.getPrimaryKey(),
8443
+ where: where ?? void 0
8444
+ });
8445
+ }
8446
+ return {
8447
+ relation: filter.relation,
8448
+ operator: filter.operator,
8449
+ count: filter.count,
8450
+ boolean: filter.boolean,
8451
+ morph: {
8452
+ morphIdColumn: metadata.morphIdColumn,
8453
+ morphTypeColumn: metadata.morphTypeColumn,
8454
+ branches
8455
+ }
8456
+ };
8457
+ }
8221
8458
  tryBuildRelationAggregateSpecs() {
8222
8459
  return this.relationAggregates.reduce((specs, aggregate) => {
8223
8460
  if (!specs) return null;
@@ -8245,6 +8482,9 @@ var QueryBuilder = class QueryBuilder {
8245
8482
  const constrained = callback(relatedQuery);
8246
8483
  if (constrained && constrained !== relatedQuery) return null;
8247
8484
  }
8485
+ return this.tryBuildRelationQueryConstraintWhere(relatedQuery);
8486
+ }
8487
+ tryBuildRelationQueryConstraintWhere(relatedQuery) {
8248
8488
  if (relatedQuery.hasRelationFilters() || relatedQuery.hasRelationAggregates() || relatedQuery.queryRelationLoads || relatedQuery.querySelect || relatedQuery.queryOrderBy || relatedQuery.queryDistinct || relatedQuery.queryGroupBy || relatedQuery.offsetValue !== void 0 || relatedQuery.limitValue !== void 0 || relatedQuery.randomOrderEnabled) return null;
8249
8489
  return relatedQuery.buildQueryWhereCondition(false);
8250
8490
  }
@@ -8257,7 +8497,9 @@ var QueryBuilder = class QueryBuilder {
8257
8497
  let result = null;
8258
8498
  if (baseIds) result = baseIds.has(this.getModelId(model));
8259
8499
  for (const filter of this.relationFilters) {
8260
- const relatedCount = await this.resolveRelatedCount(model, filter.relation, relationCache, filter.callback);
8500
+ const morphMetadata = filter.morphTargets ? this.model.getRelationMetadata(filter.relation) : null;
8501
+ const morphType = morphMetadata?.type === "morphTo" ? String(model.getAttribute(morphMetadata.morphTypeColumn) ?? "") : null;
8502
+ const relatedCount = !filter.morphTargets || morphType !== null && filter.morphTargets.some((target) => target.type === morphType) ? filter.morphTargets && morphMetadata?.type === "morphTo" ? await this.resolveMorphTargetCount(model, morphMetadata, filter.morphTargets, morphType, filter.callback) : await this.resolveRelatedCount(model, filter.relation, relationCache, filter.callback) : 0;
8261
8503
  const condition = this.compareCount(relatedCount, filter.operator, filter.count);
8262
8504
  if (result == null) result = condition;
8263
8505
  else result = filter.boolean === "AND" ? result && condition : result || condition;
@@ -8268,6 +8510,21 @@ var QueryBuilder = class QueryBuilder {
8268
8510
  };
8269
8511
  }))).filter((entry) => entry.passes).map((entry) => entry.model);
8270
8512
  }
8513
+ async resolveMorphTargetCount(model, metadata, targets, morphType, callback) {
8514
+ const target = targets.find((candidate) => candidate.type === morphType);
8515
+ if (!target) return 0;
8516
+ const ownerKey = metadata.ownerKey ?? target.model.getPrimaryKey();
8517
+ const morphId = model.getAttribute(metadata.morphIdColumn);
8518
+ const query = target.model.query().where({ [ownerKey]: morphId });
8519
+ if (callback) {
8520
+ const constrained = callback(query, morphType);
8521
+ if (constrained && constrained !== query) throw new require_relationship.UnsupportedAdapterFeatureException("Morph relation constraints must mutate and return the provided query builder.", {
8522
+ operation: "whereHasMorph",
8523
+ model: this.model.name
8524
+ });
8525
+ }
8526
+ return query.count();
8527
+ }
8271
8528
  getModelId(model) {
8272
8529
  const readable = model;
8273
8530
  if (typeof readable.getAttribute !== "function") return null;
package/dist/index.d.cts CHANGED
@@ -1,2 +1,2 @@
1
- import { $ as buildPrimaryKeyLine, $a as RelationshipModelStatic, $i as DelegateInclude, $n as Arkorm, $o as val, $r as InsertSpec, $s as CaseExpressionNode, $t as PersistedTimestampColumn, A as isQuerySchemaLike, Aa as PrismaTransactionContext, Ac as AppliedMigrationsState, Ai as RelationAggregateSpec, An as Migration, Ao as ModelWhereInput, Ar as createPrismaDatabaseAdapter, As as EagerLoadQueryForRelationship, At as buildMigrationIdentity, B as applyCreateTableOperation, Ba as QuerySchemaUpdateArgs, Bc as SchemaForeignKey, Bi as AdapterBindableModel, Bn as MigrateRollbackCommand, Bo as avg, Br as AdapterQueryOperation, Bs as ArkormCollection, Bt as markMigrationApplied, C as getRuntimeClient, Ca as PrismaLikeOrderBy, Cc as MorphToRelationMetadata, Ci as QueryOrderBy, Cn as QueryConstraintException, Co as ModelEventListener, Cr as Seeder, Cs as RelationConstraint, Ct as supportsDatabaseCreation, D as getRuntimePrismaClient, Da as PrismaLikeWhereInput, Dc as RelationMetadataType, Di as QueryTarget, Dn as ArkormException, Do as ModelRelationshipKey, Dr as PrismaDatabaseAdapter, Ds as RelationResult, Dt as toModelName, E as getRuntimePaginationURLDriverFactory, Ea as PrismaLikeSortOrder, Ec as RelationMetadata, Ei as QuerySelectColumn, En as ArkormErrorContext, Eo as ModelOrderByInput, Er as SeederInput, Es as RelationMetadataProvider, Et as toMigrationFileSlug, F as PrimaryKeyGenerationPlanner, Fa as QuerySchemaOrderBy, Fc as PrimaryKeyGeneration, Fi as SoftDeleteQueryMode, Fn as resolveGeneratedExpression, Fo as AggregateExpression, Fr as AdapterDatabaseCreationResult, Fs as RelatedModelFromResult, Ft as findAppliedMigration, G as applyMigrationToPrismaSchema, Ga as Serializable, Gc as SchemaTableAlterOperation, Gi as ArkormDebugHandler, Gn as MakeMigrationCommand, Go as expressionBuilder, Gr as DatabaseAdapter, Gs as FactoryDefinitionAttributes, Gt as resolveMigrationStateFilePath, H as applyMigrationRollbackToDatabase, Ha as QuerySchemaWhere, Hc as SchemaIndex, Hi as ArkormBootContext, Hn as MigrateCommand, Ho as coalesce, Hr as AggregateOperation, Hs as FactoryAttributes, Ht as readAppliedMigrationsState, I as PRISMA_ENUM_MEMBER_REGEX, Ia as QuerySchemaRow, Ic as PrismaMigrationWorkflowOptions, Ii as SortDirection, In as ForeignKeyBuilder, Io as CaseExpression, Ir as AdapterInspectionRequest, Is as WhereCallback, It as getLastBatchMigrations, J as buildFieldLine, Ja as TransactionCallback, Jc as SchemaUniqueConstraint, Ji as CastMap, Jn as DbCommand, Jo as json, Jr as DatabaseRows, Js as FactoryState, Jt as writeAppliedMigrationsStateToStore, K as applyOperationsToPrismaSchema, Ka as SimplePaginationMeta, Kc as SchemaTableCreateOperation, Ki as CastDefinition, Kn as MakeFactoryCommand, Ko as fn, Kr as DatabasePrimitive, Ks as FactoryModelConstructor, Kt as supportsDatabaseMigrationState, L as PRISMA_ENUM_REGEX, La as QuerySchemaRows, Lc as PrismaSchemaSyncOptions, Li as UpdateManySpec, Ln as SeedCommand, Lo as Expression, Lr as AdapterModelFieldStructure, Ls as JoinClause, Lt as getLastMigrationRun, M as loadArkormConfig, Ma as QuerySchemaCreateData, Mc as GeneratedMigrationFile, Mi as RelationLoadPlan, Mn as EnumBuilder, Mo as QuerySchemaForModelInstance, Mr as createKyselyAdapter, Ms as JoinOn, Mt as computeMigrationChecksum, N as resetArkormRuntimeForTests, Na as QuerySchemaFindManyArgs, Nc as MigrationClass, Ni as RelationLoadSpec, Nn as TableBuilder, No as RelatedModelClass, Nr as AdapterCapabilities, Ns as JoinSource, Nt as createEmptyAppliedMigrationsState, O as getUserConfig, Oa as PrismaTransactionCallback, Oc as AppliedMigrationEntry, Oi as QueryTimeCondition, On as DB, Oo as ModelRelationshipResult, Or as PrismaDelegateNameMapping, Os as RelationResultCache, Ot as isMigrationPlanningActive, P as runArkormTransaction, Pa as QuerySchemaInclude, Pc as MigrationInstanceLike, Pi as SelectSpec, Pn as GeneratedColumnExpression, Po as Model, Pr as AdapterCapability, Ps as RelatedModelForRelationship, Pt as deleteAppliedMigrationsStateFromStore, Q as buildModelBlock, Qa as ModelStatic, Qi as DelegateFindManyArgs, Qn as AttributeOptions, Qo as sum, Qr as InsertManySpec, Qs as CaseExpressionBranch, Qt as PersistedTableMetadata, R as PRISMA_MODEL_REGEX, Ra as QuerySchemaSelect, Rc as SchemaColumn, Ri as UpdateSpec, Rn as ModelsSyncCommand, Ro as ExpressionBuilder, Rr as AdapterModelIntrospectionOptions, Rs as LengthAwarePaginator, Rt as getLatestAppliedMigrations, S as getRuntimeAdapter, Sa as PrismaLikeInclude, Sc as MorphToManyRelationMetadata, Si as QueryNotCondition, Sn as QueryExecutionExceptionContext, So as ModelEventHandlerConstructor, Sr as SEEDER_BRAND, Ss as RelationColumnLookupSpec, St as stripPrismaSchemaModelsAndEnums, T as getRuntimePaginationCurrentPageResolver, Ta as PrismaLikeSelect, Tc as PivotModelStatic, Ti as QueryScalarComparisonOperator, Tn as MissingDelegateException, To as ModelLifecycleState, Tr as SeederConstructor, Ts as RelationDefaultValue, Tt as supportsDatabaseReset, U as applyMigrationRollbackToPrismaSchema, Ua as RawSelectInput, Uc as SchemaOperation, Ui as ArkormConfig, Un as MakeSeederCommand, Uo as col, Ur as AggregateSelection, Us as FactoryCallback, Ut as readAppliedMigrationsStateFromStore, V as applyDropTableOperation, Va as QuerySchemaUpdateData, Vc as SchemaForeignKeyAction, Vi as AdapterQueryInspection, Vn as MigrateFreshCommand, Vo as caseWhen, Vr as AdapterTransactionContext, Vs as FactoryAttributeResolver, Vt as markMigrationRun, W as applyMigrationToDatabase, Wa as RuntimeClientLike, Wc as SchemaPrimaryKey, Wi as ArkormDebugEvent, Wn as MakeModelCommand, Wo as count, Wr as AggregateSpec, Ws as FactoryDefinition, Wt as removeAppliedMigration, X as buildInverseRelationLine, Xa as TransactionContext, Xc as TimestampNames, Xi as ClientResolver, Xn as resolveCast, Xo as min, Xr as DeleteManySpec, Xs as AggregateExpressionNode, Xt as PersistedMetadataFeatures, Y as buildIndexLine, Ya as TransactionCapableClient, Yc as TimestampColumnBehavior, Yi as CastType, Yn as CliApp, Yo as max, Yr as DatabaseValue, Ys as MaybePromise, Yt as PersistedColumnMappingsState, Z as buildMigrationSource, Za as TransactionOptions, Zc as TimestampNaming, Zi as DelegateCreateData, Zn as Attribute, Zo as raw, Zr as DeleteSpec, Zs as BinaryExpressionNode, Zt as PersistedPrimaryKeyGeneration, _ as emitRuntimeDebugEvent, _a as PaginationURLDriver, _c as HasOneRelationMetadata, _i as QueryJoinType, _n as UnsupportedAdapterFeatureException, _o as ModelAttributesOf, _r as registerMigrations, _t as resolveEnumName, a as getRuntimeCompatibilityAdapter, aa as DelegateUpdateArgs, ac as InExpressionNode, ai as QueryExistsCondition, an as getPersistedEnumTsType, ao as QueryBuilder, ar as RuntimePathKey, at as deriveRelationAlias, b as getActiveTransactionClient, ba as PrismaDelegateLike, bc as MorphManyRelationMetadata, bi as QueryJsonConditionKind, bn as RelationResolutionException, bo as ModelEventDispatcher, br as registerSeeders, bs as RelationAggregateInput, bt as runMigrationWithPrisma, c as PrismaDelegateMap, ca as EagerLoadConstraint, cc as RawExpressionNode, ci as QueryGroupByItem, cn as getPersistedTimestampColumns, co as AttributeQuerySchema, cr as getRegisteredMigrations, ct as escapeRegex, d as inferDelegateName, da as ModelQuerySchemaLike, dc as DatabaseTablePersistedMetadataOptions, di as QueryJoinBoolean, dn as resetPersistedColumnMappingsCache, do as AttributeUpdateInput, dr as getRegisteredSeeders, dt as formatDefaultValue, ea as DelegateOrderBy, ec as ColumnExpressionNode, ei as QueryColumnComparisonCondition, en as applyOperationsToPersistedColumnMappingsState, eo as ChunkCallback, er as Arkormx, es as where, et as buildRelationLine, f as awaitConfiguredModelsRegistration, fa as ModelTableCase, fc as BelongsToManyRelationMetadata, fi as QueryJoinColumnConstraint, fn as resolveColumnMappingsFilePath, fo as AttributeWhereInput, fr as loadFactoriesFrom, ft as formatEnumDefaultValue, g as disposeArkormRuntime, ga as PaginationOptions, gc as HasManyThroughRelationMetadata, gi as QueryJoinRawConstraint, gn as writePersistedColumnMappingsState, go as ModelAttributes, gr as registerFactories, gt as pad, h as defineConfig, ha as PaginationMeta, hc as HasManyRelationMetadata, hi as QueryJoinNullConstraint, hn as validatePersistedMetadataFeaturesForMigrations, ho as ModelAttributeValue, hr as loadSeedersFrom, ht as getMigrationPlan, i as RuntimeModuleLoader, ia as DelegateUniqueWhere, ic as FunctionExpressionNode, ii as QueryDayCondition, in as getPersistedEnumMap, io as GroupByAggregateSpec, ir as RuntimePathInput, it as deriveInverseRelationAlias, j as isTransactionCapableClient, ja as PrismaTransactionOptions, jc as GenerateMigrationOptions, ji as RelationFilterSpec, jn as SchemaBuilder, jo as QuerySchemaForModel, jr as KyselyDatabaseAdapter, js as EagerLoadRelations, jt as buildMigrationRunId, k as isDelegateLike, ka as PrismaTransactionCapableClient, kc as AppliedMigrationRun, ki as RawQuerySpec, kn as MIGRATION_BRAND, ko as ModelUpdateData, kr as createPrismaCompatibilityAdapter, ks as RelationTableLookupSpec, kt as runInMigrationPlanning, l as createPrismaAdapter, la as EagerLoadMap, lc as ValueExpressionNode, li as QueryGroupCondition, ln as readPersistedColumnMappingsState, lo as AttributeSchemaDelegate, lr as getRegisteredModels, lt as findEnumBlock, m as configureArkormRuntime, ma as PaginationCurrentPageResolver, mc as ColumnMap, mi as QueryJoinNestedConstraint, mn as syncPersistedColumnMappingsFromState, mo as GlobalScope, mr as loadModelsFrom, mt as generateMigrationFile, n as PivotModel, na as DelegateRows, nc as ExpressionJsonCast, ni as QueryComparisonOperator, nn as deletePersistedColumnMappingsState, no as ExpressionSelectMap, nr as RegisteredModel, ns as ModelFactory, nt as createMigrationTimestamp, o as resolveRuntimeCompatibilityQuerySchema, oa as DelegateUpdateData, oc as JsonExpressionNode, oi as QueryExpressionCondition, on as getPersistedPrimaryKeyGeneration, oo as AttributeCreateInput, or as RuntimePathMap, ot as deriveRelationFieldName, p as bindAdapterToModels, pa as NamingCase, pc as BelongsToRelationMetadata, pi as QueryJoinConstraint, pn as resolvePersistedMetadataFeatures, po as DelegateForModelSchema, pr as loadMigrationsFrom, pt as formatRelationAction, q as buildEnumBlock, qa as SoftDeleteConfig, qc as SchemaTableDropOperation, qi as CastHandler, qn as InitCommand, qo as fromExpressionNode, qr as DatabaseRow, qs as FactoryRelationshipResolver, qt as writeAppliedMigrationsState, r as LoadedRuntimeModule, ra as DelegateSelect, rc as ExpressionNode, ri as QueryCondition, rn as getPersistedColumnMap, ro as GroupByAggregateRow, rr as RuntimeConstructor, rs as defineFactory, rt as deriveCollectionFieldName, s as resolveRuntimeCompatibilityQuerySchemaOrThrow, sa as DelegateWhere, sc as NullCheckExpressionNode, si as QueryFullTextCondition, sn as getPersistedTableMetadata, so as AttributeOrderBy, sr as getRegisteredFactories, st as deriveSingularFieldName, t as URLDriver, ta as DelegateRow, tc as ExpressionBinaryOperator, ti as QueryComparisonCondition, tn as createEmptyPersistedColumnMappingsState, to as EachCallback, tr as RegisteredFactory, ts as InlineFactory, tt as buildUniqueConstraintLine, u as createPrismaDelegateMap, ua as GetUserConfig, uc as DatabaseTableOptions, ui as QueryJoin, un as rebuildPersistedColumnMappingsState, uo as AttributeSelect, ur as getRegisteredPaths, ut as findModelBlock, v as ensureArkormConfigLoading, va as PaginationURLDriverFactory, vc as HasOneThroughRelationMetadata, vi as QueryJoinValueConstraint, vn as UniqueConstraintResolutionException, vo as ModelCreateData, vr as registerModels, vt as resolveMigrationClassName, w as getRuntimeDebugHandler, wa as PrismaLikeScalarFilter, wc as MorphedByManyRelationMetadata, wi as QueryRawCondition, wn as ModelNotFoundException, wo as ModelEventName, wr as SeederCallArgument, ws as RelationDefaultResolver, wt as supportsDatabaseMigrationExecution, x as getDefaultStubsPath, xa as PrismaFindManyArgsLike, xc as MorphOneRelationMetadata, xi as QueryLogicalOperator, xn as QueryExecutionException, xo as ModelEventHandler, xr as resetRuntimeRegistryForTests, xs as RelationAggregateType, xt as runPrismaCommand, y as getActiveTransactionAdapter, ya as PrismaClientLike, yc as ModelMetadata, yi as QueryJsonCondition, yn as ScopeNotDefinedException, yo as ModelDeclaredAttributeKey, yr as registerPaths, ys as RelationAggregateConstraint, yt as resolvePrismaType, z as applyAlterTableOperation, za as QuerySchemaUniqueWhere, zc as SchemaColumnType, zi as UpsertSpec, zn as MigrationHistoryCommand, zo as JsonExpression, zr as AdapterModelStructure, zs as Paginator, zt as isMigrationApplied } from "./index-D7WDgmxq.cjs";
2
- export { AdapterBindableModel, AdapterCapabilities, AdapterCapability, AdapterDatabaseCreationResult, AdapterInspectionRequest, AdapterModelFieldStructure, AdapterModelIntrospectionOptions, AdapterModelStructure, AdapterQueryInspection, AdapterQueryOperation, AdapterTransactionContext, AggregateExpression, AggregateExpressionNode, AggregateOperation, AggregateSelection, AggregateSpec, AppliedMigrationEntry, AppliedMigrationRun, AppliedMigrationsState, Arkorm, ArkormBootContext, ArkormCollection, ArkormConfig, ArkormDebugEvent, ArkormDebugHandler, ArkormErrorContext, ArkormException, Arkormx, Attribute, AttributeCreateInput, AttributeOptions, AttributeOrderBy, AttributeQuerySchema, AttributeSchemaDelegate, AttributeSelect, AttributeUpdateInput, AttributeWhereInput, BelongsToManyRelationMetadata, BelongsToRelationMetadata, BinaryExpressionNode, CaseExpression, CaseExpressionBranch, CaseExpressionNode, CastDefinition, CastHandler, CastMap, CastType, ChunkCallback, CliApp, ClientResolver, ColumnExpressionNode, ColumnMap, DB, DatabaseAdapter, DatabasePrimitive, DatabaseRow, DatabaseRows, DatabaseTableOptions, DatabaseTablePersistedMetadataOptions, DatabaseValue, DbCommand, DelegateCreateData, DelegateFindManyArgs, DelegateForModelSchema, DelegateInclude, DelegateOrderBy, DelegateRow, DelegateRows, DelegateSelect, DelegateUniqueWhere, DelegateUpdateArgs, DelegateUpdateData, DelegateWhere, DeleteManySpec, DeleteSpec, EachCallback, EagerLoadConstraint, EagerLoadMap, EagerLoadQueryForRelationship, EagerLoadRelations, EnumBuilder, Expression, ExpressionBinaryOperator, ExpressionBuilder, ExpressionJsonCast, ExpressionNode, ExpressionSelectMap, FactoryAttributeResolver, FactoryAttributes, FactoryCallback, FactoryDefinition, FactoryDefinitionAttributes, FactoryModelConstructor, FactoryRelationshipResolver, FactoryState, ForeignKeyBuilder, FunctionExpressionNode, GenerateMigrationOptions, GeneratedColumnExpression, GeneratedMigrationFile, GetUserConfig, GlobalScope, GroupByAggregateRow, GroupByAggregateSpec, HasManyRelationMetadata, HasManyThroughRelationMetadata, HasOneRelationMetadata, HasOneThroughRelationMetadata, InExpressionNode, InitCommand, InlineFactory, InsertManySpec, InsertSpec, JoinClause, JoinOn, JoinSource, JsonExpression, JsonExpressionNode, KyselyDatabaseAdapter, LengthAwarePaginator, LoadedRuntimeModule, MIGRATION_BRAND, MakeFactoryCommand, MakeMigrationCommand, MakeModelCommand, MakeSeederCommand, MaybePromise, MigrateCommand, MigrateFreshCommand, MigrateRollbackCommand, Migration, MigrationClass, MigrationHistoryCommand, MigrationInstanceLike, MissingDelegateException, Model, ModelAttributeValue, ModelAttributes, ModelAttributesOf, ModelCreateData, ModelDeclaredAttributeKey, ModelEventDispatcher, ModelEventHandler, ModelEventHandlerConstructor, ModelEventListener, ModelEventName, ModelFactory, ModelLifecycleState, ModelMetadata, ModelNotFoundException, ModelOrderByInput, ModelQuerySchemaLike, ModelRelationshipKey, ModelRelationshipResult, ModelStatic, ModelTableCase, ModelUpdateData, ModelWhereInput, ModelsSyncCommand, MorphManyRelationMetadata, MorphOneRelationMetadata, MorphToManyRelationMetadata, MorphToRelationMetadata, MorphedByManyRelationMetadata, NamingCase, NullCheckExpressionNode, PRISMA_ENUM_MEMBER_REGEX, PRISMA_ENUM_REGEX, PRISMA_MODEL_REGEX, PaginationCurrentPageResolver, PaginationMeta, PaginationOptions, PaginationURLDriver, PaginationURLDriverFactory, Paginator, PersistedColumnMappingsState, PersistedMetadataFeatures, PersistedPrimaryKeyGeneration, PersistedTableMetadata, PersistedTimestampColumn, PivotModel, PivotModelStatic, PrimaryKeyGeneration, PrimaryKeyGenerationPlanner, PrismaClientLike, PrismaDatabaseAdapter, PrismaDelegateLike, PrismaDelegateMap, PrismaDelegateNameMapping, PrismaFindManyArgsLike, PrismaLikeInclude, PrismaLikeOrderBy, PrismaLikeScalarFilter, PrismaLikeSelect, PrismaLikeSortOrder, PrismaLikeWhereInput, PrismaMigrationWorkflowOptions, PrismaSchemaSyncOptions, PrismaTransactionCallback, PrismaTransactionCapableClient, PrismaTransactionContext, PrismaTransactionOptions, QueryBuilder, QueryColumnComparisonCondition, QueryComparisonCondition, QueryComparisonOperator, QueryCondition, QueryConstraintException, QueryDayCondition, QueryExecutionException, QueryExecutionExceptionContext, QueryExistsCondition, QueryExpressionCondition, QueryFullTextCondition, QueryGroupByItem, QueryGroupCondition, QueryJoin, QueryJoinBoolean, QueryJoinColumnConstraint, QueryJoinConstraint, QueryJoinNestedConstraint, QueryJoinNullConstraint, QueryJoinRawConstraint, QueryJoinType, QueryJoinValueConstraint, QueryJsonCondition, QueryJsonConditionKind, QueryLogicalOperator, QueryNotCondition, QueryOrderBy, QueryRawCondition, QueryScalarComparisonOperator, QuerySchemaCreateData, QuerySchemaFindManyArgs, QuerySchemaForModel, QuerySchemaForModelInstance, QuerySchemaInclude, QuerySchemaOrderBy, QuerySchemaRow, QuerySchemaRows, QuerySchemaSelect, QuerySchemaUniqueWhere, QuerySchemaUpdateArgs, QuerySchemaUpdateData, QuerySchemaWhere, QuerySelectColumn, QueryTarget, QueryTimeCondition, RawExpressionNode, RawQuerySpec, RawSelectInput, RegisteredFactory, RegisteredModel, RelatedModelClass, RelatedModelForRelationship, RelatedModelFromResult, RelationAggregateConstraint, RelationAggregateInput, RelationAggregateSpec, RelationAggregateType, RelationColumnLookupSpec, RelationConstraint, RelationDefaultResolver, RelationDefaultValue, RelationFilterSpec, RelationLoadPlan, RelationLoadSpec, RelationMetadata, RelationMetadataProvider, RelationMetadataType, RelationResolutionException, RelationResult, RelationResultCache, RelationTableLookupSpec, RelationshipModelStatic, RuntimeClientLike, RuntimeConstructor, RuntimeModuleLoader, RuntimePathInput, RuntimePathKey, RuntimePathMap, SEEDER_BRAND, SchemaBuilder, SchemaColumn, SchemaColumnType, SchemaForeignKey, SchemaForeignKeyAction, SchemaIndex, SchemaOperation, SchemaPrimaryKey, SchemaTableAlterOperation, SchemaTableCreateOperation, SchemaTableDropOperation, SchemaUniqueConstraint, ScopeNotDefinedException, SeedCommand, Seeder, SeederCallArgument, SeederConstructor, SeederInput, SelectSpec, Serializable, SimplePaginationMeta, SoftDeleteConfig, SoftDeleteQueryMode, SortDirection, TableBuilder, TimestampColumnBehavior, TimestampNames, TimestampNaming, TransactionCallback, TransactionCapableClient, TransactionContext, TransactionOptions, URLDriver, UniqueConstraintResolutionException, UnsupportedAdapterFeatureException, UpdateManySpec, UpdateSpec, UpsertSpec, ValueExpressionNode, WhereCallback, applyAlterTableOperation, applyCreateTableOperation, applyDropTableOperation, applyMigrationRollbackToDatabase, applyMigrationRollbackToPrismaSchema, applyMigrationToDatabase, applyMigrationToPrismaSchema, applyOperationsToPersistedColumnMappingsState, applyOperationsToPrismaSchema, avg, awaitConfiguredModelsRegistration, bindAdapterToModels, buildEnumBlock, buildFieldLine, buildIndexLine, buildInverseRelationLine, buildMigrationIdentity, buildMigrationRunId, buildMigrationSource, buildModelBlock, buildPrimaryKeyLine, buildRelationLine, buildUniqueConstraintLine, caseWhen, coalesce, col, computeMigrationChecksum, configureArkormRuntime, count, createEmptyAppliedMigrationsState, createEmptyPersistedColumnMappingsState, createKyselyAdapter, createMigrationTimestamp, createPrismaAdapter, createPrismaCompatibilityAdapter, createPrismaDatabaseAdapter, createPrismaDelegateMap, defineConfig, defineFactory, deleteAppliedMigrationsStateFromStore, deletePersistedColumnMappingsState, deriveCollectionFieldName, deriveInverseRelationAlias, deriveRelationAlias, deriveRelationFieldName, deriveSingularFieldName, disposeArkormRuntime, emitRuntimeDebugEvent, ensureArkormConfigLoading, escapeRegex, expressionBuilder, findAppliedMigration, findEnumBlock, findModelBlock, fn, formatDefaultValue, formatEnumDefaultValue, formatRelationAction, fromExpressionNode, generateMigrationFile, getActiveTransactionAdapter, getActiveTransactionClient, getDefaultStubsPath, getLastBatchMigrations, getLastMigrationRun, getLatestAppliedMigrations, getMigrationPlan, getPersistedColumnMap, getPersistedEnumMap, getPersistedEnumTsType, getPersistedPrimaryKeyGeneration, getPersistedTableMetadata, getPersistedTimestampColumns, getRegisteredFactories, getRegisteredMigrations, getRegisteredModels, getRegisteredPaths, getRegisteredSeeders, getRuntimeAdapter, getRuntimeClient, getRuntimeCompatibilityAdapter, getRuntimeDebugHandler, getRuntimePaginationCurrentPageResolver, getRuntimePaginationURLDriverFactory, getRuntimePrismaClient, getUserConfig, inferDelegateName, isDelegateLike, isMigrationApplied, isMigrationPlanningActive, isQuerySchemaLike, isTransactionCapableClient, json, loadArkormConfig, loadFactoriesFrom, loadMigrationsFrom, loadModelsFrom, loadSeedersFrom, markMigrationApplied, markMigrationRun, max, min, pad, raw, readAppliedMigrationsState, readAppliedMigrationsStateFromStore, readPersistedColumnMappingsState, rebuildPersistedColumnMappingsState, registerFactories, registerMigrations, registerModels, registerPaths, registerSeeders, removeAppliedMigration, resetArkormRuntimeForTests, resetPersistedColumnMappingsCache, resetRuntimeRegistryForTests, resolveCast, resolveColumnMappingsFilePath, resolveEnumName, resolveGeneratedExpression, resolveMigrationClassName, resolveMigrationStateFilePath, resolvePersistedMetadataFeatures, resolvePrismaType, resolveRuntimeCompatibilityQuerySchema, resolveRuntimeCompatibilityQuerySchemaOrThrow, runArkormTransaction, runInMigrationPlanning, runMigrationWithPrisma, runPrismaCommand, stripPrismaSchemaModelsAndEnums, sum, supportsDatabaseCreation, supportsDatabaseMigrationExecution, supportsDatabaseMigrationState, supportsDatabaseReset, syncPersistedColumnMappingsFromState, toMigrationFileSlug, toModelName, val, validatePersistedMetadataFeaturesForMigrations, where, writeAppliedMigrationsState, writeAppliedMigrationsStateToStore, writePersistedColumnMappingsState };
1
+ import { $ as buildPrimaryKeyLine, $a as ModelStatic, $i as DelegateFindManyArgs, $n as Arkorm, $o as sum, $r as InsertSpec, $s as CaseExpressionBranch, $t as PersistedTimestampColumn, A as isQuerySchemaLike, Aa as PrismaTransactionCapableClient, Ac as AppliedMigrationRun, Ai as RawQuerySpec, An as Migration, Ao as ModelUpdateData, Ar as createPrismaDatabaseAdapter, As as RelationTableLookupSpec, At as buildMigrationIdentity, B as applyCreateTableOperation, Ba as QuerySchemaUniqueWhere, Bc as SchemaColumnType, Bi as UpsertSpec, Bn as MigrateRollbackCommand, Bo as JsonExpression, Br as AdapterQueryOperation, Bs as Paginator, Bt as markMigrationApplied, C as getRuntimeClient, Ca as PrismaLikeInclude, Cc as MorphToManyRelationMetadata, Ci as QueryNotCondition, Cn as QueryConstraintException, Co as ModelEventHandlerConstructor, Cr as Seeder, Cs as RelationColumnLookupSpec, Ct as supportsDatabaseCreation, D as getRuntimePrismaClient, Da as PrismaLikeSortOrder, Dc as RelationMetadata, Di as QuerySelectColumn, Dn as ArkormException, Do as ModelOrderByInput, Dr as PrismaDatabaseAdapter, Ds as RelationMetadataProvider, Dt as toModelName, E as getRuntimePaginationURLDriverFactory, Ea as PrismaLikeSelect, Ec as PivotModelStatic, Ei as QueryScalarComparisonOperator, En as ArkormErrorContext, Eo as ModelLifecycleState, Er as SeederInput, Es as RelationDefaultValue, Et as toMigrationFileSlug, F as PrimaryKeyGenerationPlanner, Fa as QuerySchemaInclude, Fc as MigrationInstanceLike, Fi as SelectSpec, Fn as resolveGeneratedExpression, Fo as Model, Fr as AdapterDatabaseCreationResult, Fs as RelatedModelForRelationship, Ft as findAppliedMigration, G as applyMigrationToPrismaSchema, Ga as RuntimeClientLike, Gc as SchemaPrimaryKey, Gi as ArkormDebugEvent, Gn as MakeMigrationCommand, Go as count, Gr as DatabaseAdapter, Gs as FactoryDefinition, Gt as resolveMigrationStateFilePath, H as applyMigrationRollbackToDatabase, Ha as QuerySchemaUpdateData, Hc as SchemaForeignKeyAction, Hi as AdapterQueryInspection, Hn as MigrateCommand, Ho as caseWhen, Hr as AggregateOperation, Hs as FactoryAttributeResolver, Ht as readAppliedMigrationsState, I as PRISMA_ENUM_MEMBER_REGEX, Ia as QuerySchemaOrderBy, Ic as PrimaryKeyGeneration, Ii as SoftDeleteQueryMode, In as ForeignKeyBuilder, Io as AggregateExpression, Ir as AdapterInspectionRequest, Is as RelatedModelFromResult, It as getLastBatchMigrations, J as buildFieldLine, Ja as SoftDeleteConfig, Jc as SchemaTableDropOperation, Ji as CastHandler, Jn as DbCommand, Jo as fromExpressionNode, Jr as DatabaseRows, Js as FactoryRelationshipResolver, Jt as writeAppliedMigrationsStateToStore, K as applyOperationsToPrismaSchema, Ka as Serializable, Kc as SchemaTableAlterOperation, Ki as ArkormDebugHandler, Kn as MakeFactoryCommand, Ko as expressionBuilder, Kr as DatabasePrimitive, Ks as FactoryDefinitionAttributes, Kt as supportsDatabaseMigrationState, L as PRISMA_ENUM_REGEX, La as QuerySchemaRow, Lc as PrismaMigrationWorkflowOptions, Li as SortDirection, Ln as SeedCommand, Lo as CaseExpression, Lr as AdapterModelFieldStructure, Ls as WhereCallback, Lt as getLastMigrationRun, M as loadArkormConfig, Ma as PrismaTransactionOptions, Mc as GenerateMigrationOptions, Mi as RelationFilterSpec, Mn as EnumBuilder, Mo as QuerySchemaForModel, Mr as createKyselyAdapter, Ms as EagerLoadRelations, Mt as computeMigrationChecksum, N as resetArkormRuntimeForTests, Na as QuerySchemaCreateData, Nc as GeneratedMigrationFile, Ni as RelationLoadPlan, Nn as TableBuilder, No as QuerySchemaForModelInstance, Nr as AdapterCapabilities, Ns as JoinOn, Nt as createEmptyAppliedMigrationsState, O as getUserConfig, Oa as PrismaLikeWhereInput, Oc as RelationMetadataType, Oi as QueryTarget, On as DB, Oo as ModelRelationshipKey, Or as PrismaDelegateNameMapping, Os as RelationResult, Ot as isMigrationPlanningActive, P as runArkormTransaction, Pa as QuerySchemaFindManyArgs, Pc as MigrationClass, Pi as RelationLoadSpec, Pn as GeneratedColumnExpression, Po as RelatedModelClass, Pr as AdapterCapability, Ps as JoinSource, Pt as deleteAppliedMigrationsStateFromStore, Q as buildModelBlock, Qa as TransactionOptions, Qc as TimestampNaming, Qi as DelegateCreateData, Qn as AttributeOptions, Qo as raw, Qr as InsertManySpec, Qs as BinaryExpressionNode, Qt as PersistedTableMetadata, R as PRISMA_MODEL_REGEX, Ra as QuerySchemaRows, Rc as PrismaSchemaSyncOptions, Ri as UpdateManySpec, Rn as ModelsSyncCommand, Ro as Expression, Rr as AdapterModelIntrospectionOptions, Rs as JoinClause, Rt as getLatestAppliedMigrations, S as getRuntimeAdapter, Sa as PrismaFindManyArgsLike, Sc as MorphOneRelationMetadata, Si as QueryLogicalOperator, Sn as QueryExecutionExceptionContext, So as ModelEventHandler, Sr as SEEDER_BRAND, Ss as RelationAggregateType, St as stripPrismaSchemaModelsAndEnums, T as getRuntimePaginationCurrentPageResolver, Ta as PrismaLikeScalarFilter, Tc as MorphedByManyRelationMetadata, Ti as QueryRawCondition, Tn as MissingDelegateException, To as ModelEventName, Tr as SeederConstructor, Ts as RelationDefaultResolver, Tt as supportsDatabaseReset, U as applyMigrationRollbackToPrismaSchema, Ua as QuerySchemaWhere, Uc as SchemaIndex, Ui as ArkormBootContext, Un as MakeSeederCommand, Uo as coalesce, Ur as AggregateSelection, Us as FactoryAttributes, Ut as readAppliedMigrationsStateFromStore, V as applyDropTableOperation, Va as QuerySchemaUpdateArgs, Vc as SchemaForeignKey, Vi as AdapterBindableModel, Vn as MigrateFreshCommand, Vo as avg, Vr as AdapterTransactionContext, Vs as ArkormCollection, Vt as markMigrationRun, W as applyMigrationToDatabase, Wa as RawSelectInput, Wc as SchemaOperation, Wi as ArkormConfig, Wn as MakeModelCommand, Wo as col, Wr as AggregateSpec, Ws as FactoryCallback, Wt as removeAppliedMigration, X as buildInverseRelationLine, Xa as TransactionCapableClient, Xc as TimestampColumnBehavior, Xi as CastType, Xn as resolveCast, Xo as max, Xr as DeleteManySpec, Xs as MaybePromise, Xt as PersistedMetadataFeatures, Y as buildIndexLine, Ya as TransactionCallback, Yc as SchemaUniqueConstraint, Yi as CastMap, Yn as CliApp, Yo as json, Yr as DatabaseValue, Ys as FactoryState, Yt as PersistedColumnMappingsState, Z as buildMigrationSource, Za as TransactionContext, Zc as TimestampNames, Zi as ClientResolver, Zn as Attribute, Zo as min, Zr as DeleteSpec, Zs as AggregateExpressionNode, Zt as PersistedPrimaryKeyGeneration, _ as emitRuntimeDebugEvent, _a as PaginationOptions, _c as HasManyThroughRelationMetadata, _i as QueryJoinRawConstraint, _n as UnsupportedAdapterFeatureException, _o as ModelAttributes, _r as registerMigrations, _t as resolveEnumName, a as getRuntimeCompatibilityAdapter, aa as DelegateUniqueWhere, ac as FunctionExpressionNode, ai as QueryDayCondition, an as getPersistedEnumTsType, ao as GroupByAggregateSpec, ar as RuntimePathKey, at as deriveRelationAlias, b as getActiveTransactionClient, ba as PrismaClientLike, bc as ModelMetadata, bi as QueryJsonCondition, bn as RelationResolutionException, bo as ModelDeclaredAttributeKey, br as registerSeeders, bs as RelationAggregateConstraint, bt as runMigrationWithPrisma, c as PrismaDelegateMap, ca as DelegateWhere, cc as NullCheckExpressionNode, ci as QueryFullTextCondition, cn as getPersistedTimestampColumns, co as AttributeOrderBy, cr as getRegisteredMigrations, ct as escapeRegex, d as inferDelegateName, da as GetUserConfig, dc as DatabaseTableOptions, di as QueryJoin, dn as resetPersistedColumnMappingsCache, do as AttributeSelect, dr as getRegisteredSeeders, dt as formatDefaultValue, ea as DelegateInclude, ec as CaseExpressionNode, ei as PartitionedSelectSpec, en as applyOperationsToPersistedColumnMappingsState, eo as RelationshipModelStatic, er as Arkormx, es as val, et as buildRelationLine, f as awaitConfiguredModelsRegistration, fa as ModelQuerySchemaLike, fc as DatabaseTablePersistedMetadataOptions, fi as QueryJoinBoolean, fn as resolveColumnMappingsFilePath, fo as AttributeUpdateInput, fr as loadFactoriesFrom, ft as formatEnumDefaultValue, g as disposeArkormRuntime, ga as PaginationMeta, gc as HasManyRelationMetadata, gi as QueryJoinNullConstraint, gn as writePersistedColumnMappingsState, go as ModelAttributeValue, gr as registerFactories, gt as pad, h as defineConfig, ha as PaginationCurrentPageResolver, hc as ColumnMap, hi as QueryJoinNestedConstraint, hn as validatePersistedMetadataFeaturesForMigrations, ho as GlobalScope, hr as loadSeedersFrom, ht as getMigrationPlan, i as RuntimeModuleLoader, ia as DelegateSelect, ic as ExpressionNode, ii as QueryCondition, in as getPersistedEnumMap, io as GroupByAggregateRow, ir as RuntimePathInput, is as defineFactory, it as deriveInverseRelationAlias, j as isTransactionCapableClient, ja as PrismaTransactionContext, jc as AppliedMigrationsState, ji as RelationAggregateSpec, jn as SchemaBuilder, jo as ModelWhereInput, jr as KyselyDatabaseAdapter, js as EagerLoadQueryForRelationship, jt as buildMigrationRunId, k as isDelegateLike, ka as PrismaTransactionCallback, kc as AppliedMigrationEntry, ki as QueryTimeCondition, kn as MIGRATION_BRAND, ko as ModelRelationshipResult, kr as createPrismaCompatibilityAdapter, ks as RelationResultCache, kt as runInMigrationPlanning, l as createPrismaAdapter, la as EagerLoadConstraint, lc as RawExpressionNode, li as QueryGroupByItem, ln as readPersistedColumnMappingsState, lo as AttributeQuerySchema, lr as getRegisteredModels, lt as findEnumBlock, m as configureArkormRuntime, ma as NamingCase, mc as BelongsToRelationMetadata, mi as QueryJoinConstraint, mn as syncPersistedColumnMappingsFromState, mo as DelegateForModelSchema, mr as loadModelsFrom, mt as generateMigrationFile, n as PivotModel, na as DelegateRow, nc as ExpressionBinaryOperator, ni as QueryComparisonCondition, nn as deletePersistedColumnMappingsState, no as EachCallback, nr as RegisteredModel, ns as InlineFactory, nt as createMigrationTimestamp, o as resolveRuntimeCompatibilityQuerySchema, oa as DelegateUpdateArgs, oc as InExpressionNode, oi as QueryExistsCondition, on as getPersistedPrimaryKeyGeneration, oo as QueryBuilder, or as RuntimePathMap, ot as deriveRelationFieldName, p as bindAdapterToModels, pa as ModelTableCase, pc as BelongsToManyRelationMetadata, pi as QueryJoinColumnConstraint, pn as resolvePersistedMetadataFeatures, po as AttributeWhereInput, pr as loadMigrationsFrom, pt as formatRelationAction, q as buildEnumBlock, qa as SimplePaginationMeta, qc as SchemaTableCreateOperation, qi as CastDefinition, qn as InitCommand, qo as fn, qr as DatabaseRow, qs as FactoryModelConstructor, qt as writeAppliedMigrationsState, r as LoadedRuntimeModule, ra as DelegateRows, rc as ExpressionJsonCast, ri as QueryComparisonOperator, rn as getPersistedColumnMap, ro as ExpressionSelectMap, rr as RuntimeConstructor, rs as ModelFactory, rt as deriveCollectionFieldName, s as resolveRuntimeCompatibilityQuerySchemaOrThrow, sa as DelegateUpdateData, sc as JsonExpressionNode, si as QueryExpressionCondition, sn as getPersistedTableMetadata, so as AttributeCreateInput, sr as getRegisteredFactories, st as deriveSingularFieldName, t as URLDriver, ta as DelegateOrderBy, tc as ColumnExpressionNode, ti as QueryColumnComparisonCondition, tn as createEmptyPersistedColumnMappingsState, to as ChunkCallback, tr as RegisteredFactory, ts as where, tt as buildUniqueConstraintLine, u as createPrismaDelegateMap, ua as EagerLoadMap, uc as ValueExpressionNode, ui as QueryGroupCondition, un as rebuildPersistedColumnMappingsState, uo as AttributeSchemaDelegate, ur as getRegisteredPaths, ut as findModelBlock, v as ensureArkormConfigLoading, va as PaginationURLDriver, vc as HasOneRelationMetadata, vi as QueryJoinType, vn as UniqueConstraintResolutionException, vo as ModelAttributesOf, vr as registerModels, vt as resolveMigrationClassName, w as getRuntimeDebugHandler, wa as PrismaLikeOrderBy, wc as MorphToRelationMetadata, wi as QueryOrderBy, wn as ModelNotFoundException, wo as ModelEventListener, wr as SeederCallArgument, ws as RelationConstraint, wt as supportsDatabaseMigrationExecution, x as getDefaultStubsPath, xa as PrismaDelegateLike, xc as MorphManyRelationMetadata, xi as QueryJsonConditionKind, xn as QueryExecutionException, xo as ModelEventDispatcher, xr as resetRuntimeRegistryForTests, xs as RelationAggregateInput, xt as runPrismaCommand, y as getActiveTransactionAdapter, ya as PaginationURLDriverFactory, yc as HasOneThroughRelationMetadata, yi as QueryJoinValueConstraint, yn as ScopeNotDefinedException, yo as ModelCreateData, yr as registerPaths, yt as resolvePrismaType, z as applyAlterTableOperation, za as QuerySchemaSelect, zc as SchemaColumn, zi as UpdateSpec, zn as MigrationHistoryCommand, zo as ExpressionBuilder, zr as AdapterModelStructure, zs as LengthAwarePaginator, zt as isMigrationApplied } from "./index-B9svndOx.cjs";
2
+ export { AdapterBindableModel, AdapterCapabilities, AdapterCapability, AdapterDatabaseCreationResult, AdapterInspectionRequest, AdapterModelFieldStructure, AdapterModelIntrospectionOptions, AdapterModelStructure, AdapterQueryInspection, AdapterQueryOperation, AdapterTransactionContext, AggregateExpression, AggregateExpressionNode, AggregateOperation, AggregateSelection, AggregateSpec, AppliedMigrationEntry, AppliedMigrationRun, AppliedMigrationsState, Arkorm, ArkormBootContext, ArkormCollection, ArkormConfig, ArkormDebugEvent, ArkormDebugHandler, ArkormErrorContext, ArkormException, Arkormx, Attribute, AttributeCreateInput, AttributeOptions, AttributeOrderBy, AttributeQuerySchema, AttributeSchemaDelegate, AttributeSelect, AttributeUpdateInput, AttributeWhereInput, BelongsToManyRelationMetadata, BelongsToRelationMetadata, BinaryExpressionNode, CaseExpression, CaseExpressionBranch, CaseExpressionNode, CastDefinition, CastHandler, CastMap, CastType, ChunkCallback, CliApp, ClientResolver, ColumnExpressionNode, ColumnMap, DB, DatabaseAdapter, DatabasePrimitive, DatabaseRow, DatabaseRows, DatabaseTableOptions, DatabaseTablePersistedMetadataOptions, DatabaseValue, DbCommand, DelegateCreateData, DelegateFindManyArgs, DelegateForModelSchema, DelegateInclude, DelegateOrderBy, DelegateRow, DelegateRows, DelegateSelect, DelegateUniqueWhere, DelegateUpdateArgs, DelegateUpdateData, DelegateWhere, DeleteManySpec, DeleteSpec, EachCallback, EagerLoadConstraint, EagerLoadMap, EagerLoadQueryForRelationship, EagerLoadRelations, EnumBuilder, Expression, ExpressionBinaryOperator, ExpressionBuilder, ExpressionJsonCast, ExpressionNode, ExpressionSelectMap, FactoryAttributeResolver, FactoryAttributes, FactoryCallback, FactoryDefinition, FactoryDefinitionAttributes, FactoryModelConstructor, FactoryRelationshipResolver, FactoryState, ForeignKeyBuilder, FunctionExpressionNode, GenerateMigrationOptions, GeneratedColumnExpression, GeneratedMigrationFile, GetUserConfig, GlobalScope, GroupByAggregateRow, GroupByAggregateSpec, HasManyRelationMetadata, HasManyThroughRelationMetadata, HasOneRelationMetadata, HasOneThroughRelationMetadata, InExpressionNode, InitCommand, InlineFactory, InsertManySpec, InsertSpec, JoinClause, JoinOn, JoinSource, JsonExpression, JsonExpressionNode, KyselyDatabaseAdapter, LengthAwarePaginator, LoadedRuntimeModule, MIGRATION_BRAND, MakeFactoryCommand, MakeMigrationCommand, MakeModelCommand, MakeSeederCommand, MaybePromise, MigrateCommand, MigrateFreshCommand, MigrateRollbackCommand, Migration, MigrationClass, MigrationHistoryCommand, MigrationInstanceLike, MissingDelegateException, Model, ModelAttributeValue, ModelAttributes, ModelAttributesOf, ModelCreateData, ModelDeclaredAttributeKey, ModelEventDispatcher, ModelEventHandler, ModelEventHandlerConstructor, ModelEventListener, ModelEventName, ModelFactory, ModelLifecycleState, ModelMetadata, ModelNotFoundException, ModelOrderByInput, ModelQuerySchemaLike, ModelRelationshipKey, ModelRelationshipResult, ModelStatic, ModelTableCase, ModelUpdateData, ModelWhereInput, ModelsSyncCommand, MorphManyRelationMetadata, MorphOneRelationMetadata, MorphToManyRelationMetadata, MorphToRelationMetadata, MorphedByManyRelationMetadata, NamingCase, NullCheckExpressionNode, PRISMA_ENUM_MEMBER_REGEX, PRISMA_ENUM_REGEX, PRISMA_MODEL_REGEX, PaginationCurrentPageResolver, PaginationMeta, PaginationOptions, PaginationURLDriver, PaginationURLDriverFactory, Paginator, PartitionedSelectSpec, PersistedColumnMappingsState, PersistedMetadataFeatures, PersistedPrimaryKeyGeneration, PersistedTableMetadata, PersistedTimestampColumn, PivotModel, PivotModelStatic, PrimaryKeyGeneration, PrimaryKeyGenerationPlanner, PrismaClientLike, PrismaDatabaseAdapter, PrismaDelegateLike, PrismaDelegateMap, PrismaDelegateNameMapping, PrismaFindManyArgsLike, PrismaLikeInclude, PrismaLikeOrderBy, PrismaLikeScalarFilter, PrismaLikeSelect, PrismaLikeSortOrder, PrismaLikeWhereInput, PrismaMigrationWorkflowOptions, PrismaSchemaSyncOptions, PrismaTransactionCallback, PrismaTransactionCapableClient, PrismaTransactionContext, PrismaTransactionOptions, QueryBuilder, QueryColumnComparisonCondition, QueryComparisonCondition, QueryComparisonOperator, QueryCondition, QueryConstraintException, QueryDayCondition, QueryExecutionException, QueryExecutionExceptionContext, QueryExistsCondition, QueryExpressionCondition, QueryFullTextCondition, QueryGroupByItem, QueryGroupCondition, QueryJoin, QueryJoinBoolean, QueryJoinColumnConstraint, QueryJoinConstraint, QueryJoinNestedConstraint, QueryJoinNullConstraint, QueryJoinRawConstraint, QueryJoinType, QueryJoinValueConstraint, QueryJsonCondition, QueryJsonConditionKind, QueryLogicalOperator, QueryNotCondition, QueryOrderBy, QueryRawCondition, QueryScalarComparisonOperator, QuerySchemaCreateData, QuerySchemaFindManyArgs, QuerySchemaForModel, QuerySchemaForModelInstance, QuerySchemaInclude, QuerySchemaOrderBy, QuerySchemaRow, QuerySchemaRows, QuerySchemaSelect, QuerySchemaUniqueWhere, QuerySchemaUpdateArgs, QuerySchemaUpdateData, QuerySchemaWhere, QuerySelectColumn, QueryTarget, QueryTimeCondition, RawExpressionNode, RawQuerySpec, RawSelectInput, RegisteredFactory, RegisteredModel, RelatedModelClass, RelatedModelForRelationship, RelatedModelFromResult, RelationAggregateConstraint, RelationAggregateInput, RelationAggregateSpec, RelationAggregateType, RelationColumnLookupSpec, RelationConstraint, RelationDefaultResolver, RelationDefaultValue, RelationFilterSpec, RelationLoadPlan, RelationLoadSpec, RelationMetadata, RelationMetadataProvider, RelationMetadataType, RelationResolutionException, RelationResult, RelationResultCache, RelationTableLookupSpec, RelationshipModelStatic, RuntimeClientLike, RuntimeConstructor, RuntimeModuleLoader, RuntimePathInput, RuntimePathKey, RuntimePathMap, SEEDER_BRAND, SchemaBuilder, SchemaColumn, SchemaColumnType, SchemaForeignKey, SchemaForeignKeyAction, SchemaIndex, SchemaOperation, SchemaPrimaryKey, SchemaTableAlterOperation, SchemaTableCreateOperation, SchemaTableDropOperation, SchemaUniqueConstraint, ScopeNotDefinedException, SeedCommand, Seeder, SeederCallArgument, SeederConstructor, SeederInput, SelectSpec, Serializable, SimplePaginationMeta, SoftDeleteConfig, SoftDeleteQueryMode, SortDirection, TableBuilder, TimestampColumnBehavior, TimestampNames, TimestampNaming, TransactionCallback, TransactionCapableClient, TransactionContext, TransactionOptions, URLDriver, UniqueConstraintResolutionException, UnsupportedAdapterFeatureException, UpdateManySpec, UpdateSpec, UpsertSpec, ValueExpressionNode, WhereCallback, applyAlterTableOperation, applyCreateTableOperation, applyDropTableOperation, applyMigrationRollbackToDatabase, applyMigrationRollbackToPrismaSchema, applyMigrationToDatabase, applyMigrationToPrismaSchema, applyOperationsToPersistedColumnMappingsState, applyOperationsToPrismaSchema, avg, awaitConfiguredModelsRegistration, bindAdapterToModels, buildEnumBlock, buildFieldLine, buildIndexLine, buildInverseRelationLine, buildMigrationIdentity, buildMigrationRunId, buildMigrationSource, buildModelBlock, buildPrimaryKeyLine, buildRelationLine, buildUniqueConstraintLine, caseWhen, coalesce, col, computeMigrationChecksum, configureArkormRuntime, count, createEmptyAppliedMigrationsState, createEmptyPersistedColumnMappingsState, createKyselyAdapter, createMigrationTimestamp, createPrismaAdapter, createPrismaCompatibilityAdapter, createPrismaDatabaseAdapter, createPrismaDelegateMap, defineConfig, defineFactory, deleteAppliedMigrationsStateFromStore, deletePersistedColumnMappingsState, deriveCollectionFieldName, deriveInverseRelationAlias, deriveRelationAlias, deriveRelationFieldName, deriveSingularFieldName, disposeArkormRuntime, emitRuntimeDebugEvent, ensureArkormConfigLoading, escapeRegex, expressionBuilder, findAppliedMigration, findEnumBlock, findModelBlock, fn, formatDefaultValue, formatEnumDefaultValue, formatRelationAction, fromExpressionNode, generateMigrationFile, getActiveTransactionAdapter, getActiveTransactionClient, getDefaultStubsPath, getLastBatchMigrations, getLastMigrationRun, getLatestAppliedMigrations, getMigrationPlan, getPersistedColumnMap, getPersistedEnumMap, getPersistedEnumTsType, getPersistedPrimaryKeyGeneration, getPersistedTableMetadata, getPersistedTimestampColumns, getRegisteredFactories, getRegisteredMigrations, getRegisteredModels, getRegisteredPaths, getRegisteredSeeders, getRuntimeAdapter, getRuntimeClient, getRuntimeCompatibilityAdapter, getRuntimeDebugHandler, getRuntimePaginationCurrentPageResolver, getRuntimePaginationURLDriverFactory, getRuntimePrismaClient, getUserConfig, inferDelegateName, isDelegateLike, isMigrationApplied, isMigrationPlanningActive, isQuerySchemaLike, isTransactionCapableClient, json, loadArkormConfig, loadFactoriesFrom, loadMigrationsFrom, loadModelsFrom, loadSeedersFrom, markMigrationApplied, markMigrationRun, max, min, pad, raw, readAppliedMigrationsState, readAppliedMigrationsStateFromStore, readPersistedColumnMappingsState, rebuildPersistedColumnMappingsState, registerFactories, registerMigrations, registerModels, registerPaths, registerSeeders, removeAppliedMigration, resetArkormRuntimeForTests, resetPersistedColumnMappingsCache, resetRuntimeRegistryForTests, resolveCast, resolveColumnMappingsFilePath, resolveEnumName, resolveGeneratedExpression, resolveMigrationClassName, resolveMigrationStateFilePath, resolvePersistedMetadataFeatures, resolvePrismaType, resolveRuntimeCompatibilityQuerySchema, resolveRuntimeCompatibilityQuerySchemaOrThrow, runArkormTransaction, runInMigrationPlanning, runMigrationWithPrisma, runPrismaCommand, stripPrismaSchemaModelsAndEnums, sum, supportsDatabaseCreation, supportsDatabaseMigrationExecution, supportsDatabaseMigrationState, supportsDatabaseReset, syncPersistedColumnMappingsFromState, toMigrationFileSlug, toModelName, val, validatePersistedMetadataFeaturesForMigrations, where, writeAppliedMigrationsState, writeAppliedMigrationsStateToStore, writePersistedColumnMappingsState };