@prisma-next/sql-contract-ts 0.5.0-dev.81 → 0.5.0-dev.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,5 @@
1
1
  import { ColumnDefault, ColumnDefaultLiteralInputValue, Contract, ContractRelation, ExecutionMutationDefaultPhases, ExecutionMutationDefaultPhases as ExecutionMutationDefaultPhases$1, ExecutionMutationDefaultValue, StorageHashBase } from "@prisma-next/contract/types";
2
+ import { IndexTypeRegistration } from "@prisma-next/sql-contract/index-types";
2
3
  import { ContractWithTypeMaps, Index as Index$1, ReferentialAction, SqlStorage, StorageTypeInstance, TypeMaps } from "@prisma-next/sql-contract/types";
3
4
  import { AuthoringArgumentDescriptor, AuthoringFieldNamespace, AuthoringFieldPresetDescriptor, AuthoringTypeConstructorDescriptor, AuthoringTypeNamespace } from "@prisma-next/framework-components/authoring";
4
5
  import { ForeignKeyDefaultsState } from "@prisma-next/contract-authoring";
@@ -153,10 +154,16 @@ type ModelTokenRefs<ModelName extends string, Fields extends Record<string, Scal
153
154
  type ConstraintOptions<Name extends string | undefined = string | undefined> = {
154
155
  readonly name?: Name;
155
156
  };
156
- type IndexOptions<Name extends string | undefined = string | undefined> = ConstraintOptions<Name> & {
157
- readonly using?: string;
158
- readonly config?: Record<string, unknown>;
159
- };
157
+ type IndexTypeMap = Record<string, {
158
+ readonly options: unknown;
159
+ }>;
160
+ type IndexInput<Name extends string | undefined, IndexTypes extends IndexTypeMap> = keyof IndexTypes extends never ? ConstraintOptions<Name> : (ConstraintOptions<Name> & {
161
+ readonly type?: never;
162
+ readonly options?: never;
163
+ }) | { readonly [K in keyof IndexTypes & string]: ConstraintOptions<Name> & {
164
+ readonly type: K;
165
+ readonly options: IndexTypes[K]['options'];
166
+ } }[keyof IndexTypes & string];
160
167
  type ForeignKeyOptions<Name extends string | undefined = string | undefined> = ConstraintOptions<Name> & {
161
168
  readonly onDelete?: 'noAction' | 'restrict' | 'cascade' | 'setNull' | 'setDefault';
162
169
  readonly onUpdate?: 'noAction' | 'restrict' | 'cascade' | 'setNull' | 'setDefault';
@@ -180,8 +187,8 @@ type IndexConstraint<FieldNames extends readonly string[] = readonly string[], N
180
187
  readonly kind: 'index';
181
188
  readonly fields: FieldNames;
182
189
  readonly name?: Name;
183
- readonly using?: string;
184
- readonly config?: Record<string, unknown>;
190
+ readonly type?: string;
191
+ readonly options?: Record<string, unknown>;
185
192
  };
186
193
  type ForeignKeyConstraint<SourceFieldNames extends readonly string[] = readonly string[], TargetModelName extends string = string, TargetFieldNames extends readonly string[] = readonly string[], Name extends string | undefined = string | undefined> = {
187
194
  readonly kind: 'fk';
@@ -195,7 +202,7 @@ type ForeignKeyConstraint<SourceFieldNames extends readonly string[] = readonly
195
202
  readonly constraint?: boolean;
196
203
  readonly index?: boolean;
197
204
  };
198
- declare function createConstraintsDsl(): {
205
+ declare function createConstraintsDsl<IndexTypes extends IndexTypeMap = Record<never, never>>(): {
199
206
  ref: <ModelName extends string, FieldName extends string>(modelName: ModelName, fieldName: FieldName) => TargetFieldRef<ModelName, FieldName>;
200
207
  id: {
201
208
  <FieldName extends string, Name extends string | undefined = undefined>(field: ColumnRef<FieldName>, options?: NamedConstraintSpec<Name>): IdConstraint<readonly [FieldName], Name>;
@@ -205,10 +212,7 @@ declare function createConstraintsDsl(): {
205
212
  <FieldName extends string>(field: ColumnRef<FieldName>, options?: ConstraintOptions): UniqueConstraint<readonly [FieldName]>;
206
213
  <FieldNames extends readonly string[]>(fields: { readonly [K in keyof FieldNames]: ColumnRef<FieldNames[K] & string> }, options?: ConstraintOptions): UniqueConstraint<FieldNames>;
207
214
  };
208
- index: {
209
- <FieldName extends string, Name extends string | undefined = undefined>(field: ColumnRef<FieldName>, options?: IndexOptions<Name>): IndexConstraint<readonly [FieldName], Name>;
210
- <FieldNames extends readonly string[], Name extends string | undefined = undefined>(fields: { readonly [K in keyof FieldNames]: ColumnRef<FieldNames[K] & string> }, options?: IndexOptions<Name>): IndexConstraint<FieldNames, Name>;
211
- };
215
+ index: <FieldNames extends readonly string[], Name extends string | undefined = undefined>(fields: { readonly [K in keyof FieldNames]: ColumnRef<FieldNames[K] & string> }, options?: IndexInput<Name, IndexTypes>) => IndexConstraint<FieldNames, Name>;
212
216
  foreignKey: {
213
217
  <SourceFieldName extends string, TargetModelName extends string, TargetFieldName extends string, Name extends string | undefined = undefined>(field: ColumnRef<SourceFieldName>, target: TargetFieldRef<TargetModelName, TargetFieldName>, options?: ForeignKeyOptions<Name>): ForeignKeyConstraint<readonly [SourceFieldName], TargetModelName, readonly [TargetFieldName], Name>;
214
218
  <SourceFieldNames extends readonly string[], TargetModelName extends string, TargetFieldNames extends readonly string[], Name extends string | undefined = undefined>(fields: { readonly [K in keyof SourceFieldNames]: ColumnRef<SourceFieldNames[K] & string> }, target: { readonly [K in keyof TargetFieldNames]: TargetFieldRef<TargetModelName, TargetFieldNames[K] & string> }, options?: ForeignKeyOptions<Name>): ForeignKeyConstraint<SourceFieldNames, TargetModelName, TargetFieldNames, Name>;
@@ -229,9 +233,15 @@ type AttributeContext<Fields extends Record<string, ScalarFieldBuilder>> = {
229
233
  readonly fields: FieldRefs<Fields>;
230
234
  readonly constraints: Pick<ConstraintsDsl, 'id' | 'unique'>;
231
235
  };
232
- type SqlContext<Fields extends Record<string, ScalarFieldBuilder>> = {
236
+ type PackAwareIndex<IndexTypes extends IndexTypeMap> = <FieldNames extends readonly string[], Name extends string | undefined = undefined>(fields: { readonly [K in keyof FieldNames]: ColumnRef<FieldNames[K] & string> }, options?: IndexInput<Name, IndexTypes>) => IndexConstraint<FieldNames, Name>;
237
+ type PackAwareSqlConstraints<IndexTypes extends IndexTypeMap> = {
238
+ readonly foreignKey: ConstraintsDsl['foreignKey'];
239
+ readonly ref: ConstraintsDsl['ref'];
240
+ readonly index: PackAwareIndex<IndexTypes>;
241
+ };
242
+ type SqlContext<Fields extends Record<string, ScalarFieldBuilder>, IndexTypes extends IndexTypeMap = Record<never, never>> = {
233
243
  readonly cols: FieldRefs<Fields>;
234
- readonly constraints: Pick<ConstraintsDsl, 'index' | 'foreignKey' | 'ref'>;
244
+ readonly constraints: PackAwareSqlConstraints<IndexTypes>;
235
245
  };
236
246
  type StageInput<Context, Spec> = Spec | ((context: Context) => Spec);
237
247
  type StaticLiteralName<Name> = Name extends string ? (string extends Name ? never : Name) : never;
@@ -259,29 +269,30 @@ type SqlForeignKeys<SqlSpec extends SqlStageSpec> = SqlSpec extends {
259
269
  type SqlNamedObjects<SqlSpec extends SqlStageSpec> = [...SqlIndexes<SqlSpec>, ...SqlForeignKeys<SqlSpec>];
260
270
  type ValidateSqlStageSpec<Fields extends Record<string, ScalarFieldBuilder>, AttributesSpec extends ModelAttributesSpec | undefined, SqlSpec extends SqlStageSpec> = [DuplicateLiteralNames<SqlNamedObjects<SqlSpec>>] extends [never] ? [Extract<ModelIdLiteralName<Fields, AttributesSpec>, NamedConstraintLiteralName<SqlNamedObjects<SqlSpec>[number]>>] extends [never] ? SqlSpec : never : never;
261
271
  type ValidateAttributesStageSpec<Fields extends Record<string, ScalarFieldBuilder>, SqlSpec extends SqlStageSpec | undefined, AttributesSpec extends ModelAttributesSpec> = SqlSpec extends SqlStageSpec ? [Extract<ModelIdLiteralName<Fields, AttributesSpec>, NamedConstraintLiteralName<SqlNamedObjects<SqlSpec>[number]>>] extends [never] ? AttributesSpec : never : AttributesSpec;
262
- declare class ContractModelBuilder<ModelName extends string | undefined, Fields extends Record<string, ScalarFieldBuilder>, Relations extends Record<string, AnyRelationBuilder> = Record<never, never>, AttributesSpec extends ModelAttributesSpec | undefined = undefined, SqlSpec extends SqlStageSpec | undefined = undefined> {
272
+ declare class ContractModelBuilder<ModelName extends string | undefined, Fields extends Record<string, ScalarFieldBuilder>, Relations extends Record<string, AnyRelationBuilder> = Record<never, never>, AttributesSpec extends ModelAttributesSpec | undefined = undefined, SqlSpec extends SqlStageSpec | undefined = undefined, IndexTypes extends IndexTypeMap = Record<never, never>> {
263
273
  readonly stageOne: {
264
274
  readonly modelName?: ModelName;
265
275
  readonly fields: Fields;
266
276
  readonly relations: Relations;
267
277
  };
268
278
  readonly attributesFactory?: StageInput<AttributeContext<Fields>, AttributesSpec> | undefined;
269
- readonly sqlFactory?: StageInput<SqlContext<Fields>, SqlSpec> | undefined;
279
+ readonly sqlFactory?: StageInput<SqlContext<Fields, IndexTypes>, SqlSpec> | undefined;
270
280
  readonly __name: ModelName;
271
281
  readonly __fields: Fields;
272
282
  readonly __relations: Relations;
273
283
  readonly __attributes: AttributesSpec;
274
284
  readonly __sql: SqlSpec;
285
+ readonly __indexTypes: IndexTypes;
275
286
  readonly refs: ModelName extends string ? ModelTokenRefs<ModelName, Fields> : never;
276
287
  constructor(stageOne: {
277
288
  readonly modelName?: ModelName;
278
289
  readonly fields: Fields;
279
290
  readonly relations: Relations;
280
- }, attributesFactory?: StageInput<AttributeContext<Fields>, AttributesSpec> | undefined, sqlFactory?: StageInput<SqlContext<Fields>, SqlSpec> | undefined);
281
- ref<FieldName extends keyof Fields & string>(this: ModelName extends string ? ContractModelBuilder<ModelName, Fields, Relations, AttributesSpec, SqlSpec> : never, fieldName: FieldName): TargetFieldRef<ModelName & string, FieldName>;
282
- relations<const NextRelations extends Record<string, AnyRelationBuilder>>(relations: NextRelations): ContractModelBuilder<ModelName, Fields, Relations & NextRelations, AttributesSpec, SqlSpec>;
283
- attributes<const NextAttributesSpec extends ModelAttributesSpec>(specOrFactory: StageInput<AttributeContext<Fields>, ValidateAttributesStageSpec<Fields, SqlSpec, NextAttributesSpec>>): ContractModelBuilder<ModelName, Fields, Relations, NextAttributesSpec, SqlSpec>;
284
- sql<const NextSqlSpec extends SqlStageSpec>(specOrFactory: StageInput<SqlContext<Fields>, NextSqlSpec>): [ValidateSqlStageSpec<Fields, AttributesSpec, NextSqlSpec>] extends [never] ? ContractModelBuilder<ModelName, Fields, Relations, AttributesSpec, never> : ContractModelBuilder<ModelName, Fields, Relations, AttributesSpec, NextSqlSpec>;
291
+ }, attributesFactory?: StageInput<AttributeContext<Fields>, AttributesSpec> | undefined, sqlFactory?: StageInput<SqlContext<Fields, IndexTypes>, SqlSpec> | undefined);
292
+ ref<FieldName extends keyof Fields & string>(this: ModelName extends string ? ContractModelBuilder<ModelName, Fields, Relations, AttributesSpec, SqlSpec, IndexTypes> : never, fieldName: FieldName): TargetFieldRef<ModelName & string, FieldName>;
293
+ relations<const NextRelations extends Record<string, AnyRelationBuilder>>(relations: NextRelations): ContractModelBuilder<ModelName, Fields, Relations & NextRelations, AttributesSpec, SqlSpec, IndexTypes>;
294
+ attributes<const NextAttributesSpec extends ModelAttributesSpec>(specOrFactory: StageInput<AttributeContext<Fields>, ValidateAttributesStageSpec<Fields, SqlSpec, NextAttributesSpec>>): ContractModelBuilder<ModelName, Fields, Relations, NextAttributesSpec, SqlSpec, IndexTypes>;
295
+ sql<const NextSqlSpec extends SqlStageSpec>(specOrFactory: StageInput<SqlContext<Fields, IndexTypes>, NextSqlSpec>): [ValidateSqlStageSpec<Fields, AttributesSpec, NextSqlSpec>] extends [never] ? ContractModelBuilder<ModelName, Fields, Relations, AttributesSpec, never, IndexTypes> : ContractModelBuilder<ModelName, Fields, Relations, AttributesSpec, NextSqlSpec, IndexTypes>;
285
296
  buildAttributesSpec(): AttributesSpec;
286
297
  buildSqlSpec(): SqlSpec;
287
298
  }
@@ -410,39 +421,6 @@ type FieldHelperFunctionWithNamedConstraint<Descriptor extends AuthoringFieldPre
410
421
  type FieldHelperFunction<Descriptor extends AuthoringFieldPresetDescriptor> = SupportsNamedConstraintOptions<Descriptor> extends true ? FieldHelperFunctionWithNamedConstraint<Descriptor> : FieldHelperFunctionWithoutNamedConstraint<Descriptor>;
411
422
  type FieldHelpersFromNamespace<Namespace> = { readonly [K in keyof Namespace]: Namespace[K] extends AuthoringFieldPresetDescriptor ? FieldHelperFunction<Namespace[K]> : Namespace[K] extends Record<string, unknown> ? FieldHelpersFromNamespace<Namespace[K]> : never };
412
423
  //#endregion
413
- //#region src/composed-authoring-helpers.d.ts
414
- type ExtractTypeNamespaceFromPack<Pack> = Pack extends {
415
- readonly authoring?: {
416
- readonly type?: infer Namespace extends AuthoringTypeNamespace;
417
- };
418
- } ? Namespace : Record<never, never>;
419
- type ExtractFieldNamespaceFromPack<Pack> = Pack extends {
420
- readonly authoring?: {
421
- readonly field?: infer Namespace extends AuthoringFieldNamespace;
422
- };
423
- } ? Namespace : Record<never, never>;
424
- type MergeExtensionTypeNamespaces<ExtensionPacks> = ExtensionPacks extends Record<string, unknown> ? keyof ExtensionPacks extends never ? Record<never, never> : UnionToIntersection<{ [K in keyof ExtensionPacks]: ExtractTypeNamespaceFromPack<ExtensionPacks[K]> }[keyof ExtensionPacks]> : Record<never, never>;
425
- type MergeExtensionFieldNamespaces<ExtensionPacks> = ExtensionPacks extends Record<string, unknown> ? keyof ExtensionPacks extends never ? Record<never, never> : UnionToIntersection<{ [K in keyof ExtensionPacks]: ExtractFieldNamespaceFromPack<ExtensionPacks[K]> }[keyof ExtensionPacks]> : Record<never, never>;
426
- type StorageTypeFromDescriptor<Descriptor extends AuthoringTypeConstructorDescriptor, Args extends readonly unknown[]> = {
427
- readonly codecId: ResolveTemplateValue<Descriptor['output']['codecId'], Args>;
428
- readonly nativeType: ResolveTemplateValue<Descriptor['output']['nativeType'], Args>;
429
- } & (Descriptor['output'] extends {
430
- readonly typeParams: infer TypeParams extends Record<string, unknown>;
431
- } ? {
432
- readonly typeParams: ResolveTemplateValue<TypeParams, Args>;
433
- } : Record<never, never>);
434
- type TypeHelperFunction<Descriptor extends AuthoringTypeConstructorDescriptor> = Descriptor extends {
435
- readonly args: infer Args extends readonly AuthoringArgumentDescriptor[];
436
- } ? <const Params extends TupleFromArgumentDescriptors<Args>>(...args: Params) => StorageTypeFromDescriptor<Descriptor, Params> : () => StorageTypeFromDescriptor<Descriptor, readonly []>;
437
- type TypeHelpersFromNamespace<Namespace> = { readonly [K in keyof Namespace]: Namespace[K] extends AuthoringTypeConstructorDescriptor ? TypeHelperFunction<Namespace[K]> : Namespace[K] extends Record<string, unknown> ? TypeHelpersFromNamespace<Namespace[K]> : never };
438
- type CoreFieldHelpers = Pick<typeof field, 'column' | 'generated' | 'namedType'>;
439
- type ComposedAuthoringHelpers<Family extends FamilyPackRef<string>, Target extends TargetPackRef<'sql', string>, ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined> = {
440
- readonly field: CoreFieldHelpers & FieldHelpersFromNamespace<ExtractFieldNamespaceFromPack<Family> & ExtractFieldNamespaceFromPack<Target> & MergeExtensionFieldNamespaces<ExtensionPacks>>;
441
- readonly model: typeof model;
442
- readonly rel: typeof rel;
443
- readonly type: TypeHelpersFromNamespace<ExtractTypeNamespaceFromPack<Family> & ExtractTypeNamespaceFromPack<Target> & MergeExtensionTypeNamespaces<ExtensionPacks>>;
444
- };
445
- //#endregion
446
424
  //#region src/contract-types.d.ts
447
425
  type ExtractCodecTypesFromPack<P> = P extends {
448
426
  __codecTypes?: infer C;
@@ -451,6 +429,13 @@ type ExtractCodecTypesFromPack<P> = P extends {
451
429
  }> ? C : Record<string, never> : Record<string, never>;
452
430
  type MergeExtensionCodecTypes<Packs extends Record<string, unknown>> = UnionToIntersection<{ [K in keyof Packs]: ExtractCodecTypesFromPack<Packs[K]> }[keyof Packs]>;
453
431
  type MergeExtensionCodecTypesSafe<Packs> = Packs extends Record<string, unknown> ? keyof Packs extends never ? Record<string, never> : MergeExtensionCodecTypes<Packs> : Record<string, never>;
432
+ type ExtractIndexTypesFromPack<P> = P extends {
433
+ readonly indexTypes: IndexTypeRegistration<infer M>;
434
+ } ? M : Record<never, never>;
435
+ type AllIndexTypeLiterals<Packs> = Packs extends Record<string, unknown> ? { [K in keyof Packs]: keyof ExtractIndexTypesFromPack<Packs[K]> }[keyof Packs] & string : never;
436
+ type MergeExtensionIndexTypes<Packs extends Record<string, unknown>> = { readonly [Lit in AllIndexTypeLiterals<Packs>]: Extract<{ [K in keyof Packs]: Lit extends keyof ExtractIndexTypesFromPack<Packs[K]> ? ExtractIndexTypesFromPack<Packs[K]>[Lit] : never }[keyof Packs], {
437
+ readonly options: unknown;
438
+ }> };
454
439
  type DefinitionExtensionPacks<Definition> = Definition extends {
455
440
  readonly extensionPacks?: infer Packs extends Record<string, ExtensionPackRef<'sql', string>>;
456
441
  } ? Packs : Record<never, never>;
@@ -635,6 +620,53 @@ type SqlContractResult<Definition> = ContractWithTypeMaps<Contract<BuiltStorage<
635
620
  readonly capabilities: DefinitionCapabilities<Definition> extends Record<string, Record<string, boolean>> ? DefinitionCapabilities<Definition> : Record<string, Record<string, boolean>>;
636
621
  }, TypeMaps<CodecTypesFromDefinition<Definition>, Record<string, never>, Record<string, never>, FieldOutputTypes<Definition>>>;
637
622
  //#endregion
623
+ //#region src/composed-authoring-helpers.d.ts
624
+ type ExtractTypeNamespaceFromPack<Pack> = Pack extends {
625
+ readonly authoring?: {
626
+ readonly type?: infer Namespace extends AuthoringTypeNamespace;
627
+ };
628
+ } ? Namespace : Record<never, never>;
629
+ type ExtractFieldNamespaceFromPack<Pack> = Pack extends {
630
+ readonly authoring?: {
631
+ readonly field?: infer Namespace extends AuthoringFieldNamespace;
632
+ };
633
+ } ? Namespace : Record<never, never>;
634
+ type MergeExtensionTypeNamespaces<ExtensionPacks> = ExtensionPacks extends Record<string, unknown> ? keyof ExtensionPacks extends never ? Record<never, never> : UnionToIntersection<{ [K in keyof ExtensionPacks]: ExtractTypeNamespaceFromPack<ExtensionPacks[K]> }[keyof ExtensionPacks]> : Record<never, never>;
635
+ type MergeExtensionFieldNamespaces<ExtensionPacks> = ExtensionPacks extends Record<string, unknown> ? keyof ExtensionPacks extends never ? Record<never, never> : UnionToIntersection<{ [K in keyof ExtensionPacks]: ExtractFieldNamespaceFromPack<ExtensionPacks[K]> }[keyof ExtensionPacks]> : Record<never, never>;
636
+ type StorageTypeFromDescriptor<Descriptor extends AuthoringTypeConstructorDescriptor, Args extends readonly unknown[]> = {
637
+ readonly codecId: ResolveTemplateValue<Descriptor['output']['codecId'], Args>;
638
+ readonly nativeType: ResolveTemplateValue<Descriptor['output']['nativeType'], Args>;
639
+ } & (Descriptor['output'] extends {
640
+ readonly typeParams: infer TypeParams extends Record<string, unknown>;
641
+ } ? {
642
+ readonly typeParams: ResolveTemplateValue<TypeParams, Args>;
643
+ } : Record<never, never>);
644
+ type TypeHelperFunction<Descriptor extends AuthoringTypeConstructorDescriptor> = Descriptor extends {
645
+ readonly args: infer Args extends readonly AuthoringArgumentDescriptor[];
646
+ } ? <const Params extends TupleFromArgumentDescriptors<Args>>(...args: Params) => StorageTypeFromDescriptor<Descriptor, Params> : () => StorageTypeFromDescriptor<Descriptor, readonly []>;
647
+ type TypeHelpersFromNamespace<Namespace> = { readonly [K in keyof Namespace]: Namespace[K] extends AuthoringTypeConstructorDescriptor ? TypeHelperFunction<Namespace[K]> : Namespace[K] extends Record<string, unknown> ? TypeHelpersFromNamespace<Namespace[K]> : never };
648
+ type CoreFieldHelpers = Pick<typeof field, 'column' | 'generated' | 'namedType'>;
649
+ type MergeAllPackIndexTypes<Family, Target, ExtensionPacks> = MergeExtensionIndexTypes<{
650
+ readonly __family: Family;
651
+ readonly __target: Target;
652
+ } & (ExtensionPacks extends Record<string, unknown> ? ExtensionPacks : Record<never, never>)>;
653
+ type PackAwareModel<IndexTypes extends IndexTypeMap> = {
654
+ <const ModelName extends string, Fields extends Record<string, ScalarFieldBuilder>, Relations extends Record<string, AnyRelationBuilder> = Record<never, never>>(modelName: ModelName, input: {
655
+ readonly fields: Fields;
656
+ readonly relations?: Relations;
657
+ }): ContractModelBuilder<ModelName, Fields, Relations, undefined, undefined, IndexTypes>;
658
+ <Fields extends Record<string, ScalarFieldBuilder>, Relations extends Record<string, AnyRelationBuilder> = Record<never, never>>(input: {
659
+ readonly fields: Fields;
660
+ readonly relations?: Relations;
661
+ }): ContractModelBuilder<undefined, Fields, Relations, undefined, undefined, IndexTypes>;
662
+ };
663
+ type ComposedAuthoringHelpers<Family extends FamilyPackRef<string>, Target extends TargetPackRef<'sql', string>, ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined> = {
664
+ readonly field: CoreFieldHelpers & FieldHelpersFromNamespace<ExtractFieldNamespaceFromPack<Family> & ExtractFieldNamespaceFromPack<Target> & MergeExtensionFieldNamespaces<ExtensionPacks>>;
665
+ readonly model: PackAwareModel<MergeAllPackIndexTypes<Family, Target, ExtensionPacks>>;
666
+ readonly rel: typeof rel;
667
+ readonly type: TypeHelpersFromNamespace<ExtractTypeNamespaceFromPack<Family> & ExtractTypeNamespaceFromPack<Target> & MergeExtensionTypeNamespaces<ExtensionPacks>>;
668
+ };
669
+ //#endregion
638
670
  //#region src/contract-definition.d.ts
639
671
  interface FieldNode {
640
672
  readonly fieldName: string;
@@ -656,8 +688,8 @@ interface UniqueConstraintNode {
656
688
  interface IndexNode {
657
689
  readonly columns: readonly string[];
658
690
  readonly name?: string;
659
- readonly using?: string;
660
- readonly config?: Record<string, unknown>;
691
+ readonly type?: string;
692
+ readonly options?: Record<string, unknown>;
661
693
  }
662
694
  interface ForeignKeyNode {
663
695
  readonly columns: readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"contract-builder.d.mts","names":[],"sources":["../src/contract-dsl.ts","../src/authoring-type-utils.ts","../src/composed-authoring-helpers.ts","../src/contract-types.ts","../src/contract-definition.ts","../src/build-contract.ts","../src/contract-builder.ts"],"mappings":"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"}
1
+ {"version":3,"file":"contract-builder.d.mts","names":[],"sources":["../src/contract-dsl.ts","../src/authoring-type-utils.ts","../src/contract-types.ts","../src/composed-authoring-helpers.ts","../src/contract-definition.ts","../src/build-contract.ts","../src/contract-builder.ts"],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { computeExecutionHash, computeProfileHash, computeStorageHash } from "@prisma-next/contract/hashing";
2
2
  import { coreHash, isColumnDefault } from "@prisma-next/contract/types";
3
+ import { validateIndexTypes } from "@prisma-next/sql-contract/index-type-validation";
4
+ import { createIndexTypeRegistry } from "@prisma-next/sql-contract/index-types";
3
5
  import { applyFkDefaults } from "@prisma-next/sql-contract/types";
4
6
  import { validateStorageSemantics } from "@prisma-next/sql-contract/validators";
5
7
  import { ifDefined } from "@prisma-next/utils/defined";
@@ -20,9 +22,18 @@ function encodeColumnDefault(defaultInput, codecId, codecLookup) {
20
22
  value: encodeDefaultLiteralValue(defaultInput.value, codecId, codecLookup)
21
23
  };
22
24
  }
23
- function assertStorageSemantics(storage) {
24
- const semanticErrors = validateStorageSemantics(storage);
25
+ function assertStorageSemantics(definition, contract) {
26
+ const semanticErrors = validateStorageSemantics(contract.storage);
25
27
  if (semanticErrors.length > 0) throw new Error(`Contract semantic validation failed: ${semanticErrors.join("; ")}`);
28
+ const indexTypeRegistry = createIndexTypeRegistry();
29
+ const packsToRegister = [definition.target, ...Object.values(definition.extensionPacks ?? {})];
30
+ for (const pack of packsToRegister) {
31
+ const registration = pack.indexTypes;
32
+ if (registration === void 0) continue;
33
+ if (typeof registration !== "object" || registration === null || !Array.isArray(registration.entries)) throw new Error(`Pack "${pack.id ?? "<unknown>"}" declares "indexTypes" but its value is not an IndexTypeRegistration (expected an object with an "entries" array; got ${typeof registration}).`);
34
+ for (const entry of registration.entries) indexTypeRegistry.register(entry);
35
+ }
36
+ validateIndexTypes(contract, indexTypeRegistry);
26
37
  }
27
38
  function assertKnownTargetModel(modelsByName, sourceModelName, targetModelName, context) {
28
39
  const targetModel = modelsByName.get(targetModelName);
@@ -152,8 +163,8 @@ function buildSqlContractFromDefinition(definition, codecLookup) {
152
163
  indexes: (semanticModel.indexes ?? []).map((i) => ({
153
164
  columns: i.columns,
154
165
  ...ifDefined("name", i.name),
155
- ...ifDefined("using", i.using),
156
- ...ifDefined("config", i.config)
166
+ ...ifDefined("type", i.type),
167
+ ...ifDefined("options", i.options)
157
168
  })),
158
169
  foreignKeys,
159
170
  ...semanticModel.id ? { primaryKey: {
@@ -258,7 +269,7 @@ function buildSqlContractFromDefinition(definition, codecLookup) {
258
269
  profileHash,
259
270
  meta: {}
260
271
  };
261
- assertStorageSemantics(contract.storage);
272
+ assertStorageSemantics(definition, contract);
262
273
  return contract;
263
274
  }
264
275
  //#endregion
@@ -489,13 +500,13 @@ function createConstraintsDsl() {
489
500
  ...options?.name ? { name: options.name } : {}
490
501
  };
491
502
  }
492
- function index(fieldOrFields, options) {
503
+ function index(fields, options) {
493
504
  return {
494
505
  kind: "index",
495
- fields: normalizeFieldRefInput(fieldOrFields),
496
- ...options?.name ? { name: options.name } : {},
497
- ...options?.using ? { using: options.using } : {},
498
- ...options?.config ? { config: options.config } : {}
506
+ fields: normalizeFieldRefInput(fields),
507
+ ...options?.name !== void 0 ? { name: options.name } : {},
508
+ ...options?.type !== void 0 ? { type: options.type } : {},
509
+ ...options?.options !== void 0 ? { options: options.options } : {}
499
510
  };
500
511
  }
501
512
  function foreignKey(fieldOrFields, target, options) {
@@ -1137,9 +1148,9 @@ function resolveModelNode(spec, allSpecs, storageTypes, storageTypeReverseLookup
1137
1148
  }));
1138
1149
  const indexes = (spec.sqlSpec?.indexes ?? []).map((index) => ({
1139
1150
  columns: mapFieldNamesToColumnNames(spec.modelName, index.fields, spec.fieldToColumn),
1140
- ...index.name ? { name: index.name } : {},
1141
- ...index.using ? { using: index.using } : {},
1142
- ...index.config ? { config: index.config } : {}
1151
+ ...ifDefined("name", index.name),
1152
+ ...ifDefined("type", index.type),
1153
+ ...ifDefined("options", index.options)
1143
1154
  }));
1144
1155
  const foreignKeys = resolveForeignKeyNodes(spec, allSpecs);
1145
1156
  const relations = Object.entries(spec.relations).map(([relationName, relationBuilder]) => resolveRelationNode(relationName, relationBuilder.build(), spec, allSpecs));