@prisma-next/sql-contract-ts 0.16.0-dev.20 → 0.16.0-dev.22

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/README.md CHANGED
@@ -124,7 +124,7 @@ export const contract = defineContract(
124
124
  {
125
125
  family: sqlFamily,
126
126
  target: postgresPack,
127
- extensionPacks: { pgvector },
127
+ extensions: { pgvector },
128
128
  },
129
129
  ({ type, field, model, rel }) => {
130
130
  const types = {
@@ -47,7 +47,7 @@ function assertStorageSemantics(definition, contract) {
47
47
  const semanticErrors = validateStorageSemantics(contract.storage);
48
48
  if (semanticErrors.length > 0) throw contractError("CONTRACT.VALIDATION_FAILED", `Contract semantic validation failed: ${semanticErrors.join("; ")}`, { meta: { errors: semanticErrors } });
49
49
  const indexTypeRegistry = createIndexTypeRegistry();
50
- const packsToRegister = [definition.target, ...Object.values(definition.extensionPacks ?? {})];
50
+ const packsToRegister = [definition.target, ...Object.values(definition.extensions ?? {})];
51
51
  for (const pack of packsToRegister) {
52
52
  const registration = pack.indexTypes;
53
53
  if (registration === void 0) continue;
@@ -304,7 +304,7 @@ function assertNoManagedEntityKinds(namespaceId, entitiesForNs) {
304
304
  * the same string a pack entity's entries-map key (`entries.<kind>`) uses.
305
305
  * Mirrors `contract-psl`'s `buildEntityTypesByDiscriminator`, recomposed here
306
306
  * from the packs `ContractDefinition` already carries (`target` +
307
- * `extensionPacks`) since the TS assembler has no single pre-merged
307
+ * `extensions`) since the TS assembler has no single pre-merged
308
308
  * `AuthoringContributions` input to read the way the PSL interpreter does.
309
309
  */
310
310
  function collectEntityTypeDescriptorsByDiscriminator(definition) {
@@ -313,7 +313,7 @@ function collectEntityTypeDescriptorsByDiscriminator(definition) {
313
313
  for (const value of Object.values(namespace)) if (isAuthoringEntityTypeDescriptor(value)) result.set(value.discriminator, value);
314
314
  else walk(value);
315
315
  };
316
- const components = [definition.target, ...Object.values(definition.extensionPacks ?? {})];
316
+ const components = [definition.target, ...Object.values(definition.extensions ?? {})];
317
317
  for (const component of components) {
318
318
  const entityTypes = component.authoring?.entityTypes;
319
319
  if (entityTypes !== void 0) walk(entityTypes);
@@ -702,12 +702,12 @@ function buildSqlContractFromDefinition(definition, codecLookup) {
702
702
  if (tableCompare !== 0) return tableCompare;
703
703
  return a.ref.column.localeCompare(b.ref.column);
704
704
  }) } } : void 0;
705
- const extensionNamespaces = definition.extensionPacks ? Object.values(definition.extensionPacks).map((pack) => pack.id) : void 0;
706
- const extensionPacks = { ...definition.extensionPacks || {} };
705
+ const extensionNamespaces = definition.extensions ? Object.values(definition.extensions).map((pack) => pack.id) : void 0;
706
+ const extensions = { ...definition.extensions || {} };
707
707
  if (extensionNamespaces) {
708
- for (const namespace of extensionNamespaces) if (!Object.hasOwn(extensionPacks, namespace)) extensionPacks[namespace] = {};
708
+ for (const namespace of extensionNamespaces) if (!Object.hasOwn(extensions, namespace)) extensions[namespace] = {};
709
709
  }
710
- const extensionPackCapabilitySources = definition.extensionPacks ? Object.values(definition.extensionPacks).map((pack) => pack.capabilities) : [];
710
+ const extensionPackCapabilitySources = definition.extensions ? Object.values(definition.extensions).map((pack) => pack.capabilities) : [];
711
711
  const capabilities = mergeCapabilityMatrices(definition.target.capabilities, ...extensionPackCapabilitySources);
712
712
  const profileHash = computeProfileHash({
713
713
  target,
@@ -758,7 +758,7 @@ function buildSqlContractFromDefinition(definition, codecLookup) {
758
758
  roots,
759
759
  storage,
760
760
  ...executionWithHash ? { execution: executionWithHash } : {},
761
- extensionPacks,
761
+ extensions,
762
762
  capabilities,
763
763
  profileHash,
764
764
  meta: {}
@@ -769,4 +769,4 @@ function buildSqlContractFromDefinition(definition, codecLookup) {
769
769
  //#endregion
770
770
  export { contractError as n, buildSqlContractFromDefinition as t };
771
771
 
772
- //# sourceMappingURL=build-contract-DWRZ3jRz.mjs.map
772
+ //# sourceMappingURL=build-contract-Drz7JW70.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-contract-Drz7JW70.mjs","names":[],"sources":["../src/contract-errors.ts","../src/build-contract.ts"],"sourcesContent":["import type { StructuredError, StructuredErrorOptions } from '@prisma-next/utils/structured-error';\nimport { structuredError } from '@prisma-next/utils/structured-error';\n\nexport type ContractCode = `CONTRACT.${ContractSubcode}`;\n\ntype ContractSubcode =\n | 'VALIDATION_FAILED'\n | 'NAME_DUPLICATE'\n | 'MODEL_UNKNOWN'\n | 'PACK_CONTRIBUTION_INVALID'\n | 'PACK_FAMILY_MISMATCH'\n | 'PACK_TARGET_MISMATCH'\n | 'PACK_REF_INVALID'\n | 'PACK_MISSING'\n | 'NAMESPACE_INVALID'\n | 'NAMESPACE_UNSUPPORTED'\n | 'NAMESPACE_UNKNOWN'\n | 'ARGUMENT_INVALID'\n | 'FOREIGN_KEY_INVALID'\n | 'RELATION_INVALID'\n | 'IDENTITY_INVALID'\n | 'CONSTRAINT_INVALID'\n | 'DEFAULT_INVALID'\n | 'ENUM_INVALID'\n | 'TYPE_UNKNOWN'\n | 'FIELD_UNKNOWN'\n | 'MODEL_TOKEN_INVALID'\n | 'MODULE_EXPORT_MISSING'\n | 'ENTITY_KIND_UNKNOWN'\n | 'ENTITY_KIND_INVALID'\n | 'TABLE_MISMATCH';\n\nexport function contractError(\n code: ContractCode,\n message: string,\n options?: StructuredErrorOptions,\n): StructuredError {\n return structuredError(code, message, options);\n}\n","import {\n computeExecutionHash,\n computeProfileHash,\n computeStorageHash,\n} from '@prisma-next/contract/hashing';\nimport {\n asNamespaceId,\n type ColumnDefault,\n type Contract,\n type ContractEnum,\n type ContractField,\n type ContractModel,\n type ContractRelation,\n type ContractRelationThrough,\n type ContractValueObject,\n type CrossReference,\n coreHash,\n crossRef,\n type ExecutionMutationDefault,\n type JsonValue,\n type StorageHashBase,\n type ValueSetRef,\n} from '@prisma-next/contract/types';\nimport { type CapabilityMatrix, mergeCapabilityMatrices } from '@prisma-next/contract-authoring';\nimport type {\n AuthoringContributions,\n AuthoringEntityTypeDescriptor,\n AuthoringEntityTypeNamespace,\n} from '@prisma-next/framework-components/authoring';\nimport { isAuthoringEntityTypeDescriptor } from '@prisma-next/framework-components/authoring';\nimport type { CodecLookup, ColumnTypeDescriptor } from '@prisma-next/framework-components/codec';\nimport { UNBOUND_NAMESPACE_ID } from '@prisma-next/framework-components/ir';\nimport { sqlContractCanonicalizationHooks } from '@prisma-next/sql-contract/canonicalization-hooks';\nimport { tableEntityKind, valueSetEntityKind } from '@prisma-next/sql-contract/entity-kinds';\nimport {\n type ForeignKeyAuthoringInput,\n materializeForeignKeysAndIndexes,\n} from '@prisma-next/sql-contract/foreign-key-materialization';\nimport { validateIndexTypes } from '@prisma-next/sql-contract/index-type-validation';\nimport {\n createIndexTypeRegistry,\n type IndexTypeMap,\n type IndexTypeRegistration,\n} from '@prisma-next/sql-contract/index-types';\nimport {\n applyFkDefaults,\n type CheckConstraintInput,\n type SqlNamespaceInput,\n SqlStorage,\n type SqlStorageInput,\n type StorageColumn,\n type StorageTableInput,\n type StorageTypeInstance,\n type StorageValueSetInput,\n toStorageTypeInstance,\n} from '@prisma-next/sql-contract/types';\nimport { validateStorageSemantics } from '@prisma-next/sql-contract/validators';\nimport { deriveValueSetFromEntity } from '@prisma-next/sql-contract/value-set-derivation-hook';\nimport { blindCast } from '@prisma-next/utils/casts';\nimport { ifDefined } from '@prisma-next/utils/defined';\nimport { InternalError } from '@prisma-next/utils/internal-error';\nimport type {\n ContractDefinition,\n FieldNode,\n ModelNode,\n RelationNode,\n ValueObjectFieldNode,\n} from './contract-definition';\nimport { contractError } from './contract-errors';\n\ntype DomainFieldRef =\n | { readonly kind: 'scalar'; readonly many?: boolean }\n | { readonly kind: 'valueObject'; readonly name: string; readonly many?: boolean };\n\nfunction encodeViaCodec(value: unknown, codecId: string, codecLookup?: CodecLookup): JsonValue {\n const codec = codecLookup?.get(codecId);\n if (codec) {\n return codec.encodeJson(value);\n }\n return blindCast<\n JsonValue,\n 'no codec lookup at build time: literal/enum member value is already JSON-safe'\n >(value);\n}\n\nfunction encodeColumnDefault(\n defaultInput: ColumnDefault,\n codecId: string,\n codecLookup?: CodecLookup,\n many = false,\n): ColumnDefault {\n if (defaultInput.kind === 'function') {\n return { kind: 'function', expression: defaultInput.expression };\n }\n if (many) {\n if (!Array.isArray(defaultInput.value)) {\n throw new InternalError(\n `Literal default on a list column must be an array; received ${typeof defaultInput.value}. ` +\n 'A scalar default on a list field must be rejected at the authoring surface.',\n );\n }\n return {\n kind: 'literal',\n value: defaultInput.value.map((element) => encodeViaCodec(element, codecId, codecLookup)),\n };\n }\n return {\n kind: 'literal',\n value: encodeViaCodec(defaultInput.value, codecId, codecLookup),\n };\n}\n\nfunction assertStorageSemantics(\n definition: ContractDefinition,\n contract: Contract<SqlStorage>,\n): void {\n const semanticErrors = validateStorageSemantics(contract.storage);\n if (semanticErrors.length > 0) {\n throw contractError(\n 'CONTRACT.VALIDATION_FAILED',\n `Contract semantic validation failed: ${semanticErrors.join('; ')}`,\n { meta: { errors: semanticErrors } },\n );\n }\n\n const indexTypeRegistry = createIndexTypeRegistry();\n const packsToRegister: ReadonlyArray<{ readonly id?: string; readonly indexTypes?: unknown }> = [\n definition.target,\n ...Object.values(definition.extensions ?? {}),\n ];\n for (const pack of packsToRegister) {\n const registration = pack.indexTypes;\n if (registration === undefined) continue;\n if (\n typeof registration !== 'object' ||\n registration === null ||\n !Array.isArray((registration as { entries?: unknown }).entries)\n ) {\n throw contractError(\n 'CONTRACT.PACK_CONTRIBUTION_INVALID',\n `Pack \"${pack.id ?? '<unknown>'}\" declares \"indexTypes\" but its value is not an IndexTypeRegistration (expected an object with an \"entries\" array; got ${typeof registration}).`,\n { meta: { packId: pack.id, contribution: 'indexTypes', reason: 'invalid-shape' } },\n );\n }\n for (const entry of (registration as IndexTypeRegistration<IndexTypeMap>).entries) {\n indexTypeRegistry.register(entry);\n }\n }\n validateIndexTypes(contract, indexTypeRegistry);\n}\n\nfunction assertKnownTargetModel(\n modelsByName: ReadonlyMap<string, ModelNode>,\n modelsByCoordinate: ReadonlyMap<string, ModelNode>,\n sourceModelName: string,\n targetModelName: string,\n targetNamespaceId: string | undefined,\n context: string,\n): ModelNode {\n const targetModel =\n targetNamespaceId !== undefined && targetNamespaceId.length > 0\n ? modelsByCoordinate.get(`${targetNamespaceId}:${targetModelName}`)\n : modelsByName.get(targetModelName);\n if (!targetModel) {\n const qualified =\n targetNamespaceId !== undefined && targetNamespaceId.length > 0\n ? `${targetNamespaceId}.${targetModelName}`\n : targetModelName;\n throw contractError(\n 'CONTRACT.MODEL_UNKNOWN',\n `${context} on model \"${sourceModelName}\" references unknown model \"${qualified}\"`,\n { meta: { sourceModel: sourceModelName, targetModel: qualified, context } },\n );\n }\n return targetModel;\n}\n\nfunction assertTargetTableMatches(\n sourceModelName: string,\n targetModel: ModelNode,\n referencedTableName: string,\n context: string,\n): void {\n if (targetModel.tableName !== referencedTableName) {\n throw contractError(\n 'CONTRACT.TABLE_MISMATCH',\n `${context} on model \"${sourceModelName}\" references table \"${referencedTableName}\" but model \"${targetModel.modelName}\" maps to \"${targetModel.tableName}\"`,\n {\n meta: {\n sourceModel: sourceModelName,\n referencedTable: referencedTableName,\n mappedTable: targetModel.tableName,\n context,\n },\n },\n );\n }\n}\n\nfunction isValueObjectField(\n field: FieldNode | ValueObjectFieldNode,\n): field is ValueObjectFieldNode {\n return 'valueObjectName' in field;\n}\n\n/**\n * Resolves a deferred entity-ref column descriptor (e.g. a `pg.enum(handle)`\n * column) against the field's now-known owning namespace: attaches the\n * storage `valueSet` ref the collected entity's derived value-set is stored\n * under. `nativeType` / `typeParams.typeName` stay bare here — schema\n * qualification (e.g. `auth.aal_level`) is a target concern applied in the\n * next step, `qualifyColumnDescriptor`. A descriptor with no `entityRef` (the\n * ordinary case) passes through unchanged.\n */\nfunction resolveEntityRefDescriptor(\n descriptor: ColumnTypeDescriptor,\n namespaceId: string,\n): ColumnTypeDescriptor {\n const entityRef = descriptor.entityRef;\n if (entityRef === undefined) return descriptor;\n\n return {\n ...descriptor,\n valueSet: {\n plane: 'storage',\n entityKind: 'valueSet',\n namespaceId,\n entityName: entityRef.entityName,\n },\n };\n}\n\n/**\n * A target's contract-construction-time column-type qualifier, contributed\n * through `target.authoring.qualifyColumnType`. Given a column's bare type\n * info and its owning `namespaceId`, it returns the type info the target's\n * schema semantics require (e.g. Postgres schema-qualifies a native-enum\n * column's type name to `auth.aal_level`). The dispatch keys off the codec\n * id, so every codec — including ones needing no change — is passed through\n * and the caller stays codec-blind. Targets without the hook leave every\n * column bare.\n */\ntype ColumnTypeQualifier = (\n input: {\n readonly codecId: string;\n readonly nativeType: string;\n readonly typeParams?: Record<string, unknown>;\n },\n namespaceId: string,\n) => { readonly nativeType: string; readonly typeParams?: Record<string, unknown> };\n\n/**\n * Structural check for a target that contributes a `qualifyColumnType` hook\n * on its authoring contributions. Duck-typed (mirroring\n * `contract-psl`'s `hasColumnFromEntityHook`) so the SQL family stays blind\n * to the target's qualification logic and no framework/family interface has\n * to name the hook.\n */\nfunction hasColumnTypeQualifier(\n authoring: AuthoringContributions,\n): authoring is AuthoringContributions & { readonly qualifyColumnType: ColumnTypeQualifier } {\n return 'qualifyColumnType' in authoring && typeof authoring.qualifyColumnType === 'function';\n}\n\nfunction resolveColumnTypeQualifier(\n target: ContractDefinition['target'],\n): ColumnTypeQualifier | undefined {\n const authoring = target.authoring;\n if (authoring === undefined) return undefined;\n return hasColumnTypeQualifier(authoring) ? authoring.qualifyColumnType : undefined;\n}\n\n/**\n * Applies the target's `qualifyColumnType` hook to a scalar column descriptor\n * at construction, so the storage column and the domain field (which derives\n * its `type.typeParams` from the storage column) are both built already\n * qualified in a single pass. A descriptor whose codec the target leaves\n * unchanged passes through untouched.\n */\nfunction qualifyColumnDescriptor(\n descriptor: ColumnTypeDescriptor,\n namespaceId: string,\n qualify: ColumnTypeQualifier | undefined,\n): ColumnTypeDescriptor {\n if (qualify === undefined) return descriptor;\n const qualified = qualify(\n {\n codecId: descriptor.codecId,\n nativeType: descriptor.nativeType,\n ...ifDefined('typeParams', descriptor.typeParams),\n },\n namespaceId,\n );\n if (\n qualified.nativeType === descriptor.nativeType &&\n qualified.typeParams === descriptor.typeParams\n ) {\n return descriptor;\n }\n return {\n ...descriptor,\n nativeType: qualified.nativeType,\n ...ifDefined('typeParams', qualified.typeParams),\n };\n}\n\ntype CollectedColumnEntities = Record<string, Record<string, Record<string, unknown>>>;\n\n/**\n * Records a deferred column's entity-ref into the namespace-scoped collection\n * accumulator (`namespaceId → entityKind → entityName`) — folded into the same\n * namespace assembly `deriveEntityValueSets`/`entries.<kind>` step as the\n * entities-channel attachments, so a column-collected entity gets its\n * value-set the same way an entities-channel one does.\n *\n * The same handle reused by many columns in one namespace is normal (a native\n * enum type backs any number of columns) and records the identical entity once.\n * Two *different* entity instances sharing a name+kind in one namespace is a\n * name collision — the emitted `entries.valueSet.<name>` could only reflect one\n * of them, silently mismatching the other column's type/cast. PSL hard-errors\n * on the equivalent (`PSL_DUPLICATE_DECLARATION`); the TS path rejects it too.\n */\nfunction collectEntityFromColumn(\n collected: CollectedColumnEntities,\n namespaceId: string,\n entityRef: NonNullable<ColumnTypeDescriptor['entityRef']>,\n): void {\n const forNs = collected[namespaceId] ?? {};\n const forKind = forNs[entityRef.entityKind] ?? {};\n const existing = forKind[entityRef.entityName];\n if (existing !== undefined && existing !== entityRef.entity) {\n throw contractError(\n 'CONTRACT.NAME_DUPLICATE',\n `buildSqlContractFromDefinition: two different \"${entityRef.entityKind}\" entities named \"${entityRef.entityName}\" in namespace \"${namespaceId}\" — pack-entity names must be unique per namespace.`,\n { meta: { kind: entityRef.entityKind, name: entityRef.entityName, namespaceId } },\n );\n }\n forKind[entityRef.entityName] = entityRef.entity;\n forNs[entityRef.entityKind] = forKind;\n collected[namespaceId] = forNs;\n}\n\n/**\n * Merges a namespace's entities-channel attachments (lowered from the\n * `entities` handle list, carried on `ContractDefinition.attachedEntities`)\n * with the entities collected from that namespace's deferred entity-ref\n * columns. A column-collected entity that shadows a *different* attached\n * entity of the same kind+name (or vice-versa) is the same name-collision bug\n * `collectEntityFromColumn` guards against across columns, so it is rejected\n * the same way — by entity identity, so the same handle attached and used by\n * a column does not throw.\n */\nfunction mergeColumnAndAttachedEntities(\n namespaceId: string,\n attached: Readonly<Record<string, Readonly<Record<string, unknown>>>> | undefined,\n columnCollected: Readonly<Record<string, Readonly<Record<string, unknown>>>> | undefined,\n): Readonly<Record<string, Readonly<Record<string, unknown>>>> | undefined {\n if (attached === undefined) return columnCollected;\n if (columnCollected === undefined) return attached;\n const kinds = new Set([...Object.keys(attached), ...Object.keys(columnCollected)]);\n const result: Record<string, Readonly<Record<string, unknown>>> = {};\n for (const kind of kinds) {\n const attachedForKind = attached[kind];\n const columnForKind = columnCollected[kind];\n for (const [name, entity] of Object.entries(columnForKind ?? {})) {\n const existing = attachedForKind?.[name];\n if (existing !== undefined && existing !== entity) {\n throw contractError(\n 'CONTRACT.NAME_DUPLICATE',\n `buildSqlContractFromDefinition: two different \"${kind}\" entities named \"${name}\" in namespace \"${namespaceId}\" — a column-referenced entity conflicts with an attached one; pack-entity names must be unique per namespace.`,\n { meta: { kind, name, namespaceId } },\n );\n }\n }\n result[kind] = { ...attachedForKind, ...columnForKind };\n }\n return result;\n}\n\nconst JSONB_CODEC_ID = 'pg/jsonb@1';\nconst JSONB_NATIVE_TYPE = 'jsonb';\n\nfunction resolveModelNamespaceId(\n model: ModelNode,\n modelNameToNamespaceId: ReadonlyMap<string, string>,\n defaultNamespaceId: string,\n): string {\n if (model.namespaceId !== undefined && model.namespaceId.length > 0) {\n return model.namespaceId;\n }\n return modelNameToNamespaceId.get(model.modelName) ?? defaultNamespaceId;\n}\n\nfunction buildThroughDescriptor(\n through: NonNullable<RelationNode['through']>,\n tableNamespaceByName: ReadonlyMap<string, string>,\n targetModel: ModelNode,\n modelName: string,\n fieldName: string,\n defaultNamespaceId: string,\n): ContractRelationThrough {\n if (!tableNamespaceByName.has(through.table)) {\n throw contractError(\n 'CONTRACT.MODEL_UNKNOWN',\n `buildSqlContractFromDefinition: junction table \"${through.table}\" for relation \"${modelName}.${fieldName}\" is not a declared model.`,\n { meta: { sourceModel: modelName, relationName: fieldName, junctionTable: through.table } },\n );\n }\n // Junction table names are unique per namespace, not globally. Prefer the\n // junction's own declared namespace (carried on the through node); fall back to\n // the target's default namespace. Resolving by bare table name would pick the\n // wrong namespace when the same junction table name exists in two namespaces.\n const namespaceId = through.namespaceId ?? defaultNamespaceId;\n\n return {\n table: through.table,\n namespaceId,\n parentColumns: through.parentColumns,\n childColumns: through.childColumns,\n targetColumns: targetColumnsForJunction(targetModel, fieldName),\n };\n}\n\nfunction targetColumnsForJunction(targetModel: ModelNode, fieldName: string): readonly string[] {\n const primaryKeyColumns = targetModel.id?.columns;\n if (primaryKeyColumns && primaryKeyColumns.length > 0) {\n return primaryKeyColumns;\n }\n const firstUnique = targetModel.uniques?.find((u) => u.columns.length > 0);\n if (firstUnique) {\n return firstUnique.columns;\n }\n throw contractError(\n 'CONTRACT.IDENTITY_INVALID',\n `M:N target model \"${targetModel.modelName}\" (relation field \"${fieldName}\") has no primary id or unique key to derive junction targetColumns.`,\n { meta: { modelName: targetModel.modelName, reason: 'no-key-for-junction-target-columns' } },\n );\n}\n\nfunction buildStorageColumn(\n field: FieldNode | ValueObjectFieldNode,\n storageValueSetRef: ValueSetRef | undefined,\n codecLookup?: CodecLookup,\n): StorageColumn {\n if (isValueObjectField(field)) {\n const encodedDefault =\n field.default !== undefined\n ? encodeColumnDefault(field.default, JSONB_CODEC_ID, codecLookup)\n : undefined;\n\n return {\n nativeType: JSONB_NATIVE_TYPE,\n codecId: JSONB_CODEC_ID,\n nullable: field.nullable,\n ...ifDefined('default', encodedDefault),\n };\n }\n\n const codecId = field.descriptor.codecId;\n const encodedDefault =\n field.default !== undefined\n ? encodeColumnDefault(field.default, codecId, codecLookup, field.many === true)\n : undefined;\n\n // `storageValueSetRef` (derived from an `enumTypeHandle`) takes precedence\n // when present — the established domain-enum path. `field.descriptor.valueSet`\n // is the fallback: set by an entity-ref type constructor (e.g. `pg.enum(Ref)`)\n // that resolved the field's type against a value-set-deriving entity with no\n // domain enum involved. A field carries at most one of the two in practice.\n const valueSet = storageValueSetRef ?? field.descriptor.valueSet;\n\n return {\n nativeType: field.descriptor.nativeType,\n codecId,\n nullable: field.nullable,\n ...(field.many ? { many: true as const } : {}),\n ...ifDefined('typeParams', field.descriptor.typeParams),\n ...ifDefined('default', encodedDefault),\n ...ifDefined('typeRef', field.descriptor.typeRef),\n ...ifDefined('valueSet', valueSet),\n };\n}\n\nfunction buildDomainField(\n field: FieldNode | ValueObjectFieldNode,\n column: StorageColumn,\n domainValueSetRef: ValueSetRef | undefined,\n): ContractField {\n if (isValueObjectField(field)) {\n return {\n type: { kind: 'valueObject', name: field.valueObjectName },\n nullable: field.nullable,\n ...(field.many ? { many: true } : {}),\n };\n }\n\n return {\n type: {\n kind: 'scalar',\n codecId: column.codecId,\n ...ifDefined('typeParams', column.typeParams),\n },\n nullable: column.nullable,\n ...(field.many ? { many: true } : {}),\n ...ifDefined('valueSet', domainValueSetRef),\n };\n}\n\nfunction collectStorageNamespaceCoordinateIds(definition: ContractDefinition): Set<string> {\n const ids = new Set<string>();\n ids.add(definition.target.defaultNamespaceId);\n for (const id of definition.namespaces ?? []) {\n if (id.length > 0) {\n ids.add(id);\n }\n }\n for (const model of definition.models) {\n if (model.namespaceId !== undefined && model.namespaceId.length > 0) {\n ids.add(model.namespaceId);\n }\n }\n for (const id of Object.keys(definition.attachedEntities ?? {})) {\n if (id.length > 0) {\n ids.add(id);\n }\n }\n return ids;\n}\n\n/**\n * Entry kinds the framework assembler itself manages (`table` from models,\n * `valueSet` from `enums` and attached-entity value-set derivation). A\n * pack-attached entity claiming one of these would silently clobber or be\n * clobbered by the managed slot, so it is rejected outright.\n */\nconst MANAGED_ENTRY_KINDS = new Set([tableEntityKind.kind, valueSetEntityKind.kind]);\n\nfunction assertNoManagedEntityKinds(\n namespaceId: string,\n entitiesForNs: Readonly<Record<string, unknown>> | undefined,\n): void {\n if (entitiesForNs === undefined) return;\n for (const kind of Object.keys(entitiesForNs)) {\n if (MANAGED_ENTRY_KINDS.has(kind)) {\n throw contractError(\n 'CONTRACT.ENTITY_KIND_INVALID',\n `buildSqlContractFromDefinition: attached entity in namespace \"${namespaceId}\" declares entry kind \"${kind}\", which is managed by the framework (table/valueSet) and cannot be attached.`,\n { meta: { entityKind: kind, namespaceId } },\n );\n }\n }\n}\n\n/**\n * Walks the flat `entityTypes` namespace tree contributed by the target pack\n * and every extension pack, indexing descriptors by their `discriminator` —\n * the same string a pack entity's entries-map key (`entries.<kind>`) uses.\n * Mirrors `contract-psl`'s `buildEntityTypesByDiscriminator`, recomposed here\n * from the packs `ContractDefinition` already carries (`target` +\n * `extensions`) since the TS assembler has no single pre-merged\n * `AuthoringContributions` input to read the way the PSL interpreter does.\n */\nfunction collectEntityTypeDescriptorsByDiscriminator(\n definition: ContractDefinition,\n): ReadonlyMap<string, AuthoringEntityTypeDescriptor> {\n const result = new Map<string, AuthoringEntityTypeDescriptor>();\n const walk = (namespace: AuthoringEntityTypeNamespace): void => {\n for (const value of Object.values(namespace)) {\n if (isAuthoringEntityTypeDescriptor(value)) {\n result.set(value.discriminator, value);\n } else {\n walk(value);\n }\n }\n };\n const components = [definition.target, ...Object.values(definition.extensions ?? {})];\n for (const component of components) {\n const entityTypes = component.authoring?.entityTypes;\n if (entityTypes !== undefined) {\n walk(entityTypes);\n }\n }\n return result;\n}\n\n/**\n * Derives value-sets for every pack entity declared in one namespace,\n * reusing the same `SqlValueSetDerivingEntityTypeOutput.deriveValueSet` hook\n * `contract-psl`'s `lowerExtensionBlocksForNamespace` folds into\n * `entries.valueSet` on the PSL path — so a TS-attached entity (e.g. a\n * native enum) gets its value-set the same way. Entity kinds with no\n * registered descriptor, or whose descriptor output doesn't derive a\n * value-set, contribute nothing.\n */\nfunction deriveEntityValueSets(\n entitiesForNs: Readonly<Record<string, Readonly<Record<string, unknown>>>> | undefined,\n entityTypesByDiscriminator: ReadonlyMap<string, AuthoringEntityTypeDescriptor>,\n): Record<string, StorageValueSetInput> | undefined {\n if (entitiesForNs === undefined) return undefined;\n let result: Record<string, StorageValueSetInput> | undefined;\n for (const [kind, entitiesByName] of Object.entries(entitiesForNs)) {\n const descriptor = entityTypesByDiscriminator.get(kind);\n if (descriptor === undefined) continue;\n for (const [name, entity] of Object.entries(entitiesByName)) {\n const derivedValueSet = deriveValueSetFromEntity(descriptor.output, entity);\n if (derivedValueSet === undefined) continue;\n result ??= {};\n result[name] = derivedValueSet;\n }\n }\n return result;\n}\n\n/**\n * Merges a namespace's `enumType()`-derived value-sets with its pack-entity-\n * derived value-sets. Both land in the same `entries.valueSet[name]` slot —\n * which drives value-set → codec typing and the domain-enum CHECK — so a\n * same-named entry in both would let one silently overwrite the other and\n * corrupt whichever column resolves against it. The same collision class the\n * `mergeColumnAndAttachedEntities` guard rejects; the PSL path already hard-errors\n * on the equivalent (`interpretPslDocumentToSqlContract`). Reject it here too.\n */\nfunction mergeNamespaceValueSets(\n namespaceId: string,\n enumValueSets: Record<string, StorageValueSetInput> | undefined,\n packValueSets: Record<string, StorageValueSetInput> | undefined,\n): Record<string, StorageValueSetInput> {\n if (enumValueSets !== undefined && packValueSets !== undefined) {\n for (const name of Object.keys(packValueSets)) {\n if (Object.hasOwn(enumValueSets, name)) {\n throw contractError(\n 'CONTRACT.NAME_DUPLICATE',\n `buildSqlContractFromDefinition: value-set \"${name}\" in namespace \"${namespaceId}\" is derived from both an enum and a pack entity — names must be unique per namespace.`,\n { meta: { kind: 'valueSet', name, namespaceId } },\n );\n }\n }\n }\n return { ...enumValueSets, ...packValueSets };\n}\n\nfunction ensureUnboundNamespaceSlot(\n namespaces: SqlStorageInput['namespaces'],\n createNamespace: ContractDefinition['createNamespace'],\n): SqlStorageInput['namespaces'] {\n if (Object.hasOwn(namespaces, UNBOUND_NAMESPACE_ID)) {\n return namespaces;\n }\n const unboundInput: SqlNamespaceInput = {\n id: UNBOUND_NAMESPACE_ID,\n entries: { table: {} },\n };\n const unbound = createNamespace(unboundInput);\n return {\n [UNBOUND_NAMESPACE_ID]: unbound,\n ...namespaces,\n };\n}\n\nexport function buildSqlContractFromDefinition(\n definition: ContractDefinition,\n codecLookup?: CodecLookup,\n): Contract<SqlStorage> {\n const target = definition.target.targetId;\n const defaultNamespaceId = definition.target.defaultNamespaceId;\n const qualifyColumnType = resolveColumnTypeQualifier(definition.target);\n const targetFamily = 'sql';\n const resolveNamespaceId = (m: ModelNode): string =>\n m.namespaceId !== undefined && m.namespaceId.length > 0 ? m.namespaceId : defaultNamespaceId;\n const modelsByName = new Map(definition.models.map((m) => [m.modelName, m]));\n const tableNamespaceByName = new Map(\n definition.models.map((m) => [\n m.tableName,\n m.namespaceId !== undefined && m.namespaceId.length > 0 ? m.namespaceId : defaultNamespaceId,\n ]),\n );\n const modelsByCoordinate = new Map(\n definition.models.map((m) => [`${resolveNamespaceId(m)}:${m.modelName}`, m]),\n );\n\n const tablesByNamespace: Record<string, Record<string, StorageTableInput>> = {};\n const modelNameToNamespaceId = new Map<string, string>();\n const executionDefaults: ExecutionMutationDefault[] = [];\n const modelsByNamespace: Record<string, Record<string, ContractModel>> = {};\n const collectedColumnEntities: CollectedColumnEntities = {};\n const rootEntries: Array<{\n readonly tableName: string;\n readonly namespaceId: string;\n readonly ref: CrossReference;\n }> = [];\n\n for (const semanticModel of definition.models) {\n const tableName = semanticModel.tableName;\n const namespaceId =\n semanticModel.namespaceId !== undefined && semanticModel.namespaceId.length > 0\n ? semanticModel.namespaceId\n : defaultNamespaceId;\n modelNameToNamespaceId.set(semanticModel.modelName, namespaceId);\n // STI variants share the base table; the base model already owns this\n // table name and its root, so the variant contributes neither.\n if (!semanticModel.sharesBaseTable) {\n rootEntries.push({\n tableName,\n namespaceId,\n ref: crossRef(semanticModel.modelName, namespaceId),\n });\n }\n\n // --- Build storage table ---\n\n const columns: Record<string, StorageColumn> = {};\n const fieldToColumn: Record<string, string> = {};\n const domainFields: Record<string, ContractField> = {};\n const domainFieldRefs: Record<string, DomainFieldRef> = {};\n const checksForTable: CheckConstraintInput[] = [];\n\n for (const field of semanticModel.fields) {\n const executionDefaultPhases =\n field.executionDefaults?.onCreate || field.executionDefaults?.onUpdate\n ? field.executionDefaults\n : undefined;\n if (executionDefaultPhases) {\n if (field.default !== undefined) {\n throw contractError(\n 'CONTRACT.DEFAULT_INVALID',\n `Field \"${semanticModel.modelName}.${field.fieldName}\" cannot define both default and executionDefaults.`,\n {\n meta: {\n modelName: semanticModel.modelName,\n fieldName: field.fieldName,\n reason: 'default-and-executionDefaults',\n },\n },\n );\n }\n if (field.nullable) {\n throw contractError(\n 'CONTRACT.DEFAULT_INVALID',\n `Field \"${semanticModel.modelName}.${field.fieldName}\" cannot be nullable when executionDefaults are present.`,\n {\n meta: {\n modelName: semanticModel.modelName,\n fieldName: field.fieldName,\n reason: 'nullable-with-executionDefaults',\n },\n },\n );\n }\n }\n\n const enumHandle = !isValueObjectField(field) ? field.enumTypeHandle : undefined;\n // Authored enums are always registered under the contract's defaultNamespaceId\n // (see the enum registration loop below), so refs must point there regardless\n // of which namespace the consuming model lives in.\n const storageValueSetRef: ValueSetRef | undefined =\n enumHandle !== undefined\n ? {\n plane: 'storage',\n entityKind: 'valueSet',\n namespaceId: defaultNamespaceId,\n entityName: enumHandle.enumName,\n }\n : undefined;\n const domainValueSetRef: ValueSetRef | undefined =\n enumHandle !== undefined\n ? {\n plane: 'domain',\n entityKind: 'enum',\n namespaceId: defaultNamespaceId,\n entityName: enumHandle.enumName,\n }\n : undefined;\n\n // A field authored through a deferred entity-ref column helper (e.g.\n // `pg.enum(handle)`) carries `descriptor.entityRef`: the referenced\n // entity is collected into `collectedColumnEntities` (folded into the\n // same `entries.<kind>` + `entries.valueSet` assembly an entities-channel\n // attachment goes through) and the descriptor is resolved\n // against this field's now-known `namespaceId` — the builder call that\n // produced it ran before the enclosing model associated one. The\n // descriptor is then handed to the target's `qualifyColumnType` hook,\n // which schema-qualifies a native-enum column's type name for its\n // namespace. Keying off the codec id (inside the hook) catches both the\n // TS `pg.enum(handle)` path (via `entityRef`) and the PSL `pg.enum(Ref)`\n // path (resolved inline in the interpreter, no `entityRef`). Because the\n // storage column is built from this qualified descriptor and the domain\n // field derives its `type.typeParams` from that column, both come out\n // qualified in this single pass.\n let resolvedField: FieldNode | ValueObjectFieldNode = field;\n if (!isValueObjectField(field)) {\n let descriptor = field.descriptor;\n const entityRef = descriptor.entityRef;\n if (entityRef !== undefined) {\n collectEntityFromColumn(collectedColumnEntities, namespaceId, entityRef);\n descriptor = resolveEntityRefDescriptor(descriptor, namespaceId);\n }\n descriptor = qualifyColumnDescriptor(descriptor, namespaceId, qualifyColumnType);\n if (descriptor !== field.descriptor) {\n resolvedField = { ...field, descriptor };\n }\n }\n\n const column = buildStorageColumn(resolvedField, storageValueSetRef, codecLookup);\n columns[field.columnName] = column;\n fieldToColumn[field.fieldName] = field.columnName;\n\n // A domain enum (`storageValueSetRef`, from an `enumType()` handle) is\n // stored as a plain scalar column (`text`, `int4`, …) with no native\n // type of its own to enforce membership, so it needs an explicit\n // CHECK — scalar or array, since a `text[]` array has no element-level\n // enforcement either. A value set resolved by an entity-ref type\n // constructor (`field.descriptor.valueSet`, e.g. `pg.enum(Ref)`) binds\n // the column to a codec/native-type pairing that IS the storage-level\n // enforcement (a Postgres native enum type, or another target's\n // equivalent) — including array columns, since the target enforces\n // membership on every element of a native-typed array — so no CHECK\n // for those.\n if (column.valueSet !== undefined && storageValueSetRef !== undefined) {\n checksForTable.push({\n name: `${tableName}_${field.columnName}_check`,\n column: field.columnName,\n valueSet: column.valueSet,\n });\n }\n\n domainFields[field.fieldName] = buildDomainField(field, column, domainValueSetRef);\n\n if (isValueObjectField(field)) {\n domainFieldRefs[field.fieldName] = {\n kind: 'valueObject',\n name: field.valueObjectName,\n ...(field.many ? { many: true } : {}),\n };\n } else if (field.many) {\n domainFieldRefs[field.fieldName] = { kind: 'scalar', many: true };\n }\n\n if (executionDefaultPhases) {\n executionDefaults.push({\n ref: { namespace: namespaceId, table: tableName, column: field.columnName },\n ...ifDefined('onCreate', executionDefaultPhases.onCreate),\n ...ifDefined('onUpdate', executionDefaultPhases.onUpdate),\n });\n }\n }\n\n const authoringForeignKeys: readonly ForeignKeyAuthoringInput[] = (\n semanticModel.foreignKeys ?? []\n ).map((fk) => {\n if (fk.references.spaceId !== undefined) {\n // Cross-space FK: the target lives in a different contract space.\n // Skip local model lookup and carry the spaceId coordinate through.\n const targetNamespaceId = fk.references.namespaceId ?? defaultNamespaceId;\n return {\n source: { namespaceId: asNamespaceId(namespaceId), tableName, columns: fk.columns },\n target: {\n namespaceId: asNamespaceId(targetNamespaceId),\n tableName: fk.references.table,\n columns: fk.references.columns,\n spaceId: fk.references.spaceId,\n },\n ...applyFkDefaults(\n {\n ...ifDefined('constraint', fk.constraint),\n ...ifDefined('index', fk.index),\n },\n definition.foreignKeyDefaults,\n ),\n ...ifDefined('name', fk.name),\n ...ifDefined('onDelete', fk.onDelete),\n ...ifDefined('onUpdate', fk.onUpdate),\n };\n }\n\n const targetModel = assertKnownTargetModel(\n modelsByName,\n modelsByCoordinate,\n semanticModel.modelName,\n fk.references.model,\n fk.references.namespaceId,\n 'Foreign key',\n );\n assertTargetTableMatches(\n semanticModel.modelName,\n targetModel,\n fk.references.table,\n 'Foreign key',\n );\n const targetNamespaceId =\n fk.references.namespaceId ??\n (targetModel.namespaceId !== undefined && targetModel.namespaceId.length > 0\n ? targetModel.namespaceId\n : defaultNamespaceId);\n return {\n source: { namespaceId: asNamespaceId(namespaceId), tableName, columns: fk.columns },\n target: {\n namespaceId: asNamespaceId(targetNamespaceId),\n tableName: fk.references.table,\n columns: fk.references.columns,\n },\n ...applyFkDefaults(\n {\n ...ifDefined('constraint', fk.constraint),\n ...ifDefined('index', fk.index),\n },\n definition.foreignKeyDefaults,\n ),\n ...ifDefined('name', fk.name),\n ...ifDefined('onDelete', fk.onDelete),\n ...ifDefined('onUpdate', fk.onUpdate),\n };\n });\n\n // STI variants share the base table: their columns are already\n // materialised onto the base `ModelNode`, so the variant builds a domain\n // model (below) but no storage table of its own.\n if (!semanticModel.sharesBaseTable) {\n const uniques = (semanticModel.uniques ?? []).map((u) => ({\n columns: u.columns,\n ...ifDefined('name', u.name),\n }));\n const declaredIndexes = (semanticModel.indexes ?? []).map((i) => ({\n columns: i.columns,\n ...ifDefined('name', i.name),\n ...ifDefined('type', i.type),\n ...ifDefined('options', i.options),\n }));\n const primaryKey = semanticModel.id\n ? { columns: semanticModel.id.columns, ...ifDefined('name', semanticModel.id.name) }\n : undefined;\n // FK1: lower each FK's `constraint`/`index` authoring intent into\n // discrete persisted entities here — the one place a table's full\n // constraint context (its own declared indexes/uniques/primary key)\n // is available. A `constraint: false` FK contributes no\n // `foreignKeys[]` entry; an `index: true` FK not already backed by a\n // declared index/unique/primary-key contributes a named `indexes[]`\n // entry. This authoring pipeline is shared by both the TS DSL and the\n // PSL interpreter (which calls `buildSqlContractFromDefinition`\n // directly), so both authoring surfaces materialize identically.\n const { foreignKeys, indexes } = materializeForeignKeysAndIndexes(\n tableName,\n authoringForeignKeys,\n declaredIndexes,\n uniques,\n primaryKey,\n );\n\n const tableInput: StorageTableInput = {\n columns,\n ...ifDefined('control', semanticModel.control),\n uniques,\n indexes,\n foreignKeys,\n ...(primaryKey ? { primaryKey } : {}),\n ...(checksForTable.length > 0 ? { checks: checksForTable } : {}),\n };\n\n let nsTables = tablesByNamespace[namespaceId];\n if (nsTables === undefined) {\n nsTables = {};\n tablesByNamespace[namespaceId] = nsTables;\n }\n if (nsTables[tableName] !== undefined) {\n throw contractError(\n 'CONTRACT.NAME_DUPLICATE',\n `buildSqlContractFromDefinition: duplicate table \"${tableName}\" in namespace \"${namespaceId}\".`,\n { meta: { kind: 'table', name: tableName, namespaceId } },\n );\n }\n nsTables[tableName] = tableInput;\n }\n\n // --- Build contract model ---\n\n const storageFields: Record<string, { readonly column: string }> = {};\n for (const [fieldName, columnName] of Object.entries(fieldToColumn)) {\n storageFields[fieldName] = { column: columnName };\n }\n\n const columnToField = new Map(\n Object.entries(fieldToColumn).map(([field, col]) => [col, field]),\n );\n const modelRelations: Record<string, ContractRelation> = {};\n for (const relation of semanticModel.relations ?? []) {\n // Cross-space relations have `spaceId` set — the target model lives in\n // a different contract space, so skip local model lookup and validation.\n if (relation.spaceId !== undefined) {\n const targetNamespaceId = relation.namespaceId ?? defaultNamespaceId;\n modelRelations[relation.fieldName] = {\n to: crossRef(relation.toModel, targetNamespaceId, relation.spaceId),\n // Cross-space belongsTo relations are always N:1 (the FK-owning side).\n cardinality: 'N:1',\n on: {\n localFields: relation.on.parentColumns.map((col) => columnToField.get(col) ?? col),\n // For cross-space targets the lowering carries field names directly\n // (no fieldToColumn map available for the remote model).\n targetFields: relation.on.childColumns,\n },\n };\n continue;\n }\n\n const targetModel = assertKnownTargetModel(\n modelsByName,\n modelsByCoordinate,\n semanticModel.modelName,\n relation.toModel,\n relation.toNamespaceId,\n 'Relation',\n );\n assertTargetTableMatches(semanticModel.modelName, targetModel, relation.toTable, 'Relation');\n\n const targetColumnToField = new Map(\n targetModel.fields.map((f) => [f.columnName, f.fieldName]),\n );\n\n const to = crossRef(\n relation.toModel,\n relation.toNamespaceId !== undefined && relation.toNamespaceId.length > 0\n ? relation.toNamespaceId\n : resolveModelNamespaceId(targetModel, modelNameToNamespaceId, defaultNamespaceId),\n );\n const on = {\n localFields: relation.on.parentColumns.map((col) => columnToField.get(col) ?? col),\n targetFields: relation.on.childColumns.map((col) => targetColumnToField.get(col) ?? col),\n };\n\n if (relation.cardinality === 'N:M') {\n if (!relation.through) {\n throw contractError(\n 'CONTRACT.RELATION_INVALID',\n `Relation \"${semanticModel.modelName}.${relation.fieldName}\" with cardinality \"N:M\" requires through metadata`,\n {\n meta: {\n modelName: semanticModel.modelName,\n relationName: relation.fieldName,\n reason: 'many-to-many-missing-through',\n },\n },\n );\n }\n modelRelations[relation.fieldName] = {\n to,\n cardinality: 'N:M',\n on,\n through: buildThroughDescriptor(\n relation.through,\n tableNamespaceByName,\n targetModel,\n semanticModel.modelName,\n relation.fieldName,\n defaultNamespaceId,\n ),\n };\n } else {\n modelRelations[relation.fieldName] = { to, cardinality: relation.cardinality, on };\n }\n }\n\n let namespaceModels = modelsByNamespace[namespaceId];\n if (namespaceModels === undefined) {\n namespaceModels = {};\n modelsByNamespace[namespaceId] = namespaceModels;\n }\n namespaceModels[semanticModel.modelName] = {\n storage: {\n table: tableName,\n namespaceId,\n fields: storageFields,\n },\n fields: domainFields,\n relations: modelRelations,\n };\n }\n\n // --- Assemble contract ---\n\n // Aggregate roots are keyed by bare storage table name. When two models in\n // different namespaces map to the same bare table name, the bare key would\n // collide (last write wins, silently dropping a root), so those entries fall\n // back to a namespace-qualified key. Single-namespace contracts never\n // collide and keep their bare keys unchanged.\n const rootTableNameCounts = new Map<string, number>();\n for (const entry of rootEntries) {\n rootTableNameCounts.set(entry.tableName, (rootTableNameCounts.get(entry.tableName) ?? 0) + 1);\n }\n const roots: Record<string, CrossReference> = {};\n for (const entry of rootEntries) {\n const key =\n (rootTableNameCounts.get(entry.tableName) ?? 0) > 1\n ? `${entry.namespaceId}.${entry.tableName}`\n : entry.tableName;\n roots[key] = entry.ref;\n }\n\n // Normalise raw codec-triple inputs to the `kind: 'codec-instance'`\n // discriminator shape before hashing so the storageHash matches the\n // persisted JSON envelope produced from the SqlStorage class instance\n // (which always carries the discriminator).\n const rawStorageTypes = definition.storageTypes ?? {};\n const documentTypes: Record<string, StorageTypeInstance> = Object.fromEntries(\n Object.entries(rawStorageTypes).map(([name, entry]) => {\n if ((entry as { kind?: unknown }).kind === 'codec-instance') return [name, entry];\n return [\n name,\n toStorageTypeInstance({\n codecId: entry.codecId,\n nativeType: entry.nativeType,\n typeParams: (entry as { typeParams?: Record<string, unknown> }).typeParams ?? {},\n }),\n ];\n }),\n );\n const namespaceCoordinateIds = collectStorageNamespaceCoordinateIds(definition);\n\n // Build per-namespace registries for `enumType()` handles.\n // All authored enums target the contract's default namespace.\n const domainEnumsByNs: Record<string, Record<string, ContractEnum>> = {};\n const storageValueSetsByNs: Record<string, Record<string, StorageValueSetInput>> = {};\n for (const [enumName, handle] of Object.entries(definition.enums ?? {})) {\n if (enumName !== handle.enumName) {\n throw contractError(\n 'CONTRACT.ENUM_INVALID',\n `enum declaration key \"${enumName}\" must match enumType name \"${handle.enumName}\". Aliases are not supported.`,\n {\n meta: {\n enumName: handle.enumName,\n declarationKey: enumName,\n reason: 'key-name-mismatch',\n },\n },\n );\n }\n const nsId = defaultNamespaceId;\n let domainSlot = domainEnumsByNs[nsId];\n if (domainSlot === undefined) {\n domainSlot = {};\n domainEnumsByNs[nsId] = domainSlot;\n }\n domainSlot[enumName] = {\n codecId: handle.codecId,\n members: handle.enumMembers.map((m) => ({\n name: m.name,\n value: encodeViaCodec(m.value, handle.codecId, codecLookup),\n })),\n };\n\n let storageSlot = storageValueSetsByNs[nsId];\n if (storageSlot === undefined) {\n storageSlot = {};\n storageValueSetsByNs[nsId] = storageSlot;\n }\n storageSlot[enumName] = {\n kind: 'valueSet',\n values: handle.values.map((v) => encodeViaCodec(v, handle.codecId, codecLookup)),\n };\n }\n\n const { createNamespace } = definition;\n const entityTypesByDiscriminator = collectEntityTypeDescriptorsByDiscriminator(definition);\n const namespaces: SqlStorageInput['namespaces'] = Object.fromEntries(\n [...namespaceCoordinateIds].sort().map((id) => {\n const entitiesForNs = mergeColumnAndAttachedEntities(\n id,\n definition.attachedEntities?.[id],\n collectedColumnEntities[id],\n );\n assertNoManagedEntityKinds(id, entitiesForNs);\n\n const enumValueSetEntries = storageValueSetsByNs[id];\n const packValueSetEntries = deriveEntityValueSets(entitiesForNs, entityTypesByDiscriminator);\n const valueSetEntries =\n enumValueSetEntries !== undefined || packValueSetEntries !== undefined\n ? mergeNamespaceValueSets(id, enumValueSetEntries, packValueSetEntries)\n : undefined;\n\n const nsInput: SqlNamespaceInput = {\n id,\n entries: {\n table: tablesByNamespace[id] ?? {},\n ...entitiesForNs,\n ...(valueSetEntries !== undefined && Object.keys(valueSetEntries).length > 0\n ? { valueSet: valueSetEntries }\n : {}),\n },\n };\n return [id, createNamespace(nsInput)];\n }),\n );\n const storageWithoutHash = {\n ...(Object.keys(documentTypes).length > 0 ? { types: documentTypes } : {}),\n namespaces:\n defaultNamespaceId === UNBOUND_NAMESPACE_ID\n ? ensureUnboundNamespaceSlot(namespaces, createNamespace)\n : namespaces,\n };\n const storageHash: StorageHashBase<string> = definition.storageHash\n ? coreHash(definition.storageHash)\n : computeStorageHash({\n target,\n targetFamily,\n storage: storageWithoutHash as Record<string, unknown>,\n ...sqlContractCanonicalizationHooks,\n });\n const storage = new SqlStorage({ ...storageWithoutHash, storageHash });\n\n const executionSection =\n executionDefaults.length > 0\n ? {\n mutations: {\n defaults: executionDefaults.sort((a, b) => {\n const tableCompare = a.ref.table.localeCompare(b.ref.table);\n if (tableCompare !== 0) {\n return tableCompare;\n }\n return a.ref.column.localeCompare(b.ref.column);\n }),\n },\n }\n : undefined;\n\n const extensionNamespaces = definition.extensions\n ? Object.values(definition.extensions).map((pack) => pack.id)\n : undefined;\n\n const extensions: Record<string, unknown> = { ...(definition.extensions || {}) };\n if (extensionNamespaces) {\n for (const namespace of extensionNamespaces) {\n if (!Object.hasOwn(extensions, namespace)) {\n extensions[namespace] = {};\n }\n }\n }\n\n const extensionPackCapabilitySources = definition.extensions\n ? Object.values(definition.extensions).map(\n (pack) => pack.capabilities as CapabilityMatrix | undefined,\n )\n : [];\n const capabilities = mergeCapabilityMatrices(\n definition.target.capabilities as CapabilityMatrix | undefined,\n ...extensionPackCapabilitySources,\n );\n // Internal `profileHash` computation is unchanged from `origin/main`: it\n // continues to fingerprint the author-declared capability subset. With\n // `capabilities` removed from the `defineContract` input that subset is\n // now always empty, so the hash naturally stabilises at `hash({})`.\n const profileHash = computeProfileHash({\n target,\n targetFamily,\n capabilities: {},\n });\n\n const executionWithHash = executionSection\n ? {\n ...executionSection,\n executionHash: computeExecutionHash({ target, targetFamily, execution: executionSection }),\n }\n : undefined;\n\n const valueObjects: Record<string, ContractValueObject> | undefined =\n definition.valueObjects && definition.valueObjects.length > 0\n ? Object.fromEntries(\n definition.valueObjects.map((vo) => [\n vo.name,\n {\n fields: Object.fromEntries(\n vo.fields.map((f) => [\n f.fieldName,\n isValueObjectField(f)\n ? {\n type: { kind: 'valueObject' as const, name: f.valueObjectName },\n nullable: f.nullable,\n ...(f.many ? { many: true } : {}),\n }\n : {\n type: {\n kind: 'scalar' as const,\n codecId: f.descriptor.codecId,\n ...ifDefined('typeParams', f.descriptor.typeParams),\n },\n nullable: f.nullable,\n },\n ]),\n ),\n },\n ]),\n )\n : undefined;\n\n const domainNamespaceIds = new Set(Object.keys(modelsByNamespace));\n if (domainNamespaceIds.size === 0) {\n domainNamespaceIds.add(defaultNamespaceId);\n }\n if (valueObjects !== undefined) {\n domainNamespaceIds.add(defaultNamespaceId);\n }\n for (const nsId of Object.keys(domainEnumsByNs)) {\n domainNamespaceIds.add(nsId);\n }\n const domainNamespaces = Object.fromEntries(\n [...domainNamespaceIds].sort().map((namespaceId) => {\n const modelsInNs = modelsByNamespace[namespaceId] ?? {};\n const enumsInNs = domainEnumsByNs[namespaceId];\n const namespaceSlice = {\n models: modelsInNs,\n ...(namespaceId === defaultNamespaceId && valueObjects !== undefined\n ? { valueObjects }\n : {}),\n ...(enumsInNs !== undefined && Object.keys(enumsInNs).length > 0\n ? { enum: enumsInNs }\n : {}),\n };\n return [namespaceId, namespaceSlice];\n }),\n );\n\n const contract: Contract<SqlStorage> = {\n target,\n targetFamily,\n ...ifDefined('defaultControlPolicy', definition.defaultControlPolicy),\n domain: { namespaces: domainNamespaces },\n roots,\n storage,\n ...(executionWithHash ? { execution: executionWithHash } : {}),\n extensions,\n capabilities,\n profileHash,\n meta: {},\n };\n\n assertStorageSemantics(definition, contract);\n\n return contract;\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { n as contractError, t as buildSqlContractFromDefinition } from "./build-contract-DWRZ3jRz.mjs";
1
+ import { n as contractError, t as buildSqlContractFromDefinition } from "./build-contract-Drz7JW70.mjs";
2
2
  import { ifDefined } from "@prisma-next/utils/defined";
3
3
  import { InternalError } from "@prisma-next/utils/internal-error";
4
4
  import { pathToFileURL } from "node:url";
@@ -20,7 +20,7 @@ function defaultOutputFromContractPath(contractPath) {
20
20
  function emptyContract(options) {
21
21
  return {
22
22
  source: {
23
- sourceFormat: "typescript",
23
+ format: "typescript",
24
24
  load: async () => {
25
25
  return ok(applySpecifierDefaultControlPolicy(buildSqlContractFromDefinition({
26
26
  target: options.target,
@@ -35,7 +35,7 @@ function emptyContract(options) {
35
35
  function typescriptContract(contract, output, options) {
36
36
  return {
37
37
  source: {
38
- sourceFormat: "typescript",
38
+ format: "typescript",
39
39
  load: async () => ok(applySpecifierDefaultControlPolicy(contract, options?.defaultControlPolicy))
40
40
  },
41
41
  ...ifDefined("output", output)
@@ -44,7 +44,7 @@ function typescriptContract(contract, output, options) {
44
44
  function typescriptContractFromPath(contractPath, output, options) {
45
45
  return {
46
46
  source: {
47
- sourceFormat: "typescript",
47
+ format: "typescript",
48
48
  inputs: [contractPath],
49
49
  load: async (context) => {
50
50
  const [absolutePath] = context.resolvedInputs;
@@ -1 +1 @@
1
- {"version":3,"file":"config-types.mjs","names":[],"sources":["../src/config-types.ts"],"sourcesContent":["import { pathToFileURL } from 'node:url';\nimport type { ContractConfig } from '@prisma-next/config/config-types';\nimport { applySpecifierDefaultControlPolicy } from '@prisma-next/contract/apply-specifier-default-control-policy';\nimport type { Contract, ControlPolicy } from '@prisma-next/contract/types';\nimport type { TargetPackRef } from '@prisma-next/framework-components/components';\nimport type { SqlNamespaceBase, SqlNamespaceInput } from '@prisma-next/sql-contract/types';\nimport { ifDefined } from '@prisma-next/utils/defined';\nimport { InternalError } from '@prisma-next/utils/internal-error';\nimport { ok } from '@prisma-next/utils/result';\nimport { extname } from 'pathe';\nimport { buildSqlContractFromDefinition } from './build-contract';\nimport { contractError } from './contract-errors';\n\n/**\n * Derives the emit output path from the TS contract input so artefacts land\n * colocated with the source (e.g. `prisma/contract.ts` →\n * `prisma/contract.json`). Mirrors the same default-derivation logic in\n * `@prisma-next/sql-contract-psl/provider`.\n */\nfunction defaultOutputFromContractPath(contractPath: string): string {\n const ext = extname(contractPath);\n if (ext.length === 0) return `${contractPath}.json`;\n return `${contractPath.slice(0, -ext.length)}.json`;\n}\n\nexport interface TypeScriptContractSpecifierOptions {\n readonly defaultControlPolicy?: ControlPolicy;\n}\n\nexport function emptyContract(options: {\n readonly output?: string;\n readonly target: TargetPackRef<'sql', string>;\n readonly createNamespace: (input: SqlNamespaceInput) => SqlNamespaceBase;\n readonly defaultControlPolicy?: ControlPolicy;\n}): ContractConfig {\n return {\n source: {\n sourceFormat: 'typescript',\n load: async () => {\n const built = buildSqlContractFromDefinition({\n target: options.target,\n createNamespace: options.createNamespace,\n models: [],\n });\n return ok(applySpecifierDefaultControlPolicy(built, options.defaultControlPolicy));\n },\n },\n ...ifDefined('output', options.output),\n };\n}\n\nexport function typescriptContract(\n contract: Contract,\n output?: string,\n options?: TypeScriptContractSpecifierOptions,\n): ContractConfig {\n return {\n source: {\n sourceFormat: 'typescript',\n load: async () =>\n ok(applySpecifierDefaultControlPolicy(contract, options?.defaultControlPolicy)),\n },\n // The in-memory variant has no input path to anchor on; fall through to\n // the global default in `normalizeContractConfig` when caller doesn't pin it.\n ...ifDefined('output', output),\n };\n}\n\nexport function typescriptContractFromPath(\n contractPath: string,\n output?: string,\n options?: TypeScriptContractSpecifierOptions,\n): ContractConfig {\n return {\n source: {\n sourceFormat: 'typescript',\n inputs: [contractPath],\n load: async (context) => {\n const [absolutePath] = context.resolvedInputs;\n if (absolutePath === undefined) {\n throw new InternalError(\n 'typescriptContractFromPath: context.resolvedInputs is empty. The CLI config loader should populate it positional-matched with source.inputs.',\n );\n }\n const mod = await import(pathToFileURL(absolutePath).href);\n const contract: Contract | undefined = mod.default ?? mod.contract;\n if (contract === undefined) {\n throw contractError(\n 'CONTRACT.MODULE_EXPORT_MISSING',\n `typescriptContractFromPath: module at \"${absolutePath}\" has no \"default\" or \"contract\" export.`,\n { meta: { path: absolutePath } },\n );\n }\n return ok(applySpecifierDefaultControlPolicy(contract, options?.defaultControlPolicy));\n },\n },\n output: output ?? defaultOutputFromContractPath(contractPath),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;AAmBA,SAAS,8BAA8B,cAA8B;CACnE,MAAM,MAAM,QAAQ,YAAY;CAChC,IAAI,IAAI,WAAW,GAAG,OAAO,GAAG,aAAa;CAC7C,OAAO,GAAG,aAAa,MAAM,GAAG,CAAC,IAAI,MAAM,EAAE;AAC/C;AAMA,SAAgB,cAAc,SAKX;CACjB,OAAO;EACL,QAAQ;GACN,cAAc;GACd,MAAM,YAAY;IAMhB,OAAO,GAAG,mCALI,+BAA+B;KAC3C,QAAQ,QAAQ;KAChB,iBAAiB,QAAQ;KACzB,QAAQ,CAAC;IACX,CACiD,GAAG,QAAQ,oBAAoB,CAAC;GACnF;EACF;EACA,GAAG,UAAU,UAAU,QAAQ,MAAM;CACvC;AACF;AAEA,SAAgB,mBACd,UACA,QACA,SACgB;CAChB,OAAO;EACL,QAAQ;GACN,cAAc;GACd,MAAM,YACJ,GAAG,mCAAmC,UAAU,SAAS,oBAAoB,CAAC;EAClF;EAGA,GAAG,UAAU,UAAU,MAAM;CAC/B;AACF;AAEA,SAAgB,2BACd,cACA,QACA,SACgB;CAChB,OAAO;EACL,QAAQ;GACN,cAAc;GACd,QAAQ,CAAC,YAAY;GACrB,MAAM,OAAO,YAAY;IACvB,MAAM,CAAC,gBAAgB,QAAQ;IAC/B,IAAI,iBAAiB,KAAA,GACnB,MAAM,IAAI,cACR,8IACF;IAEF,MAAM,MAAM,MAAM,OAAO,cAAc,YAAY,CAAC,CAAC;IACrD,MAAM,WAAiC,IAAI,WAAW,IAAI;IAC1D,IAAI,aAAa,KAAA,GACf,MAAM,cACJ,kCACA,0CAA0C,aAAa,2CACvD,EAAE,MAAM,EAAE,MAAM,aAAa,EAAE,CACjC;IAEF,OAAO,GAAG,mCAAmC,UAAU,SAAS,oBAAoB,CAAC;GACvF;EACF;EACA,QAAQ,UAAU,8BAA8B,YAAY;CAC9D;AACF"}
1
+ {"version":3,"file":"config-types.mjs","names":[],"sources":["../src/config-types.ts"],"sourcesContent":["import { pathToFileURL } from 'node:url';\nimport type { ContractConfig } from '@prisma-next/config/config-types';\nimport { applySpecifierDefaultControlPolicy } from '@prisma-next/contract/apply-specifier-default-control-policy';\nimport type { Contract, ControlPolicy } from '@prisma-next/contract/types';\nimport type { TargetPackRef } from '@prisma-next/framework-components/components';\nimport type { SqlNamespaceBase, SqlNamespaceInput } from '@prisma-next/sql-contract/types';\nimport { ifDefined } from '@prisma-next/utils/defined';\nimport { InternalError } from '@prisma-next/utils/internal-error';\nimport { ok } from '@prisma-next/utils/result';\nimport { extname } from 'pathe';\nimport { buildSqlContractFromDefinition } from './build-contract';\nimport { contractError } from './contract-errors';\n\n/**\n * Derives the emit output path from the TS contract input so artefacts land\n * colocated with the source (e.g. `prisma/contract.ts` →\n * `prisma/contract.json`). Mirrors the same default-derivation logic in\n * `@prisma-next/sql-contract-psl/provider`.\n */\nfunction defaultOutputFromContractPath(contractPath: string): string {\n const ext = extname(contractPath);\n if (ext.length === 0) return `${contractPath}.json`;\n return `${contractPath.slice(0, -ext.length)}.json`;\n}\n\nexport interface TypeScriptContractSpecifierOptions {\n readonly defaultControlPolicy?: ControlPolicy;\n}\n\nexport function emptyContract(options: {\n readonly output?: string;\n readonly target: TargetPackRef<'sql', string>;\n readonly createNamespace: (input: SqlNamespaceInput) => SqlNamespaceBase;\n readonly defaultControlPolicy?: ControlPolicy;\n}): ContractConfig {\n return {\n source: {\n format: 'typescript',\n load: async () => {\n const built = buildSqlContractFromDefinition({\n target: options.target,\n createNamespace: options.createNamespace,\n models: [],\n });\n return ok(applySpecifierDefaultControlPolicy(built, options.defaultControlPolicy));\n },\n },\n ...ifDefined('output', options.output),\n };\n}\n\nexport function typescriptContract(\n contract: Contract,\n output?: string,\n options?: TypeScriptContractSpecifierOptions,\n): ContractConfig {\n return {\n source: {\n format: 'typescript',\n load: async () =>\n ok(applySpecifierDefaultControlPolicy(contract, options?.defaultControlPolicy)),\n },\n // The in-memory variant has no input path to anchor on; fall through to\n // the global default in `normalizeContractConfig` when caller doesn't pin it.\n ...ifDefined('output', output),\n };\n}\n\nexport function typescriptContractFromPath(\n contractPath: string,\n output?: string,\n options?: TypeScriptContractSpecifierOptions,\n): ContractConfig {\n return {\n source: {\n format: 'typescript',\n inputs: [contractPath],\n load: async (context) => {\n const [absolutePath] = context.resolvedInputs;\n if (absolutePath === undefined) {\n throw new InternalError(\n 'typescriptContractFromPath: context.resolvedInputs is empty. The CLI config loader should populate it positional-matched with source.inputs.',\n );\n }\n const mod = await import(pathToFileURL(absolutePath).href);\n const contract: Contract | undefined = mod.default ?? mod.contract;\n if (contract === undefined) {\n throw contractError(\n 'CONTRACT.MODULE_EXPORT_MISSING',\n `typescriptContractFromPath: module at \"${absolutePath}\" has no \"default\" or \"contract\" export.`,\n { meta: { path: absolutePath } },\n );\n }\n return ok(applySpecifierDefaultControlPolicy(contract, options?.defaultControlPolicy));\n },\n },\n output: output ?? defaultOutputFromContractPath(contractPath),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;AAmBA,SAAS,8BAA8B,cAA8B;CACnE,MAAM,MAAM,QAAQ,YAAY;CAChC,IAAI,IAAI,WAAW,GAAG,OAAO,GAAG,aAAa;CAC7C,OAAO,GAAG,aAAa,MAAM,GAAG,CAAC,IAAI,MAAM,EAAE;AAC/C;AAMA,SAAgB,cAAc,SAKX;CACjB,OAAO;EACL,QAAQ;GACN,QAAQ;GACR,MAAM,YAAY;IAMhB,OAAO,GAAG,mCALI,+BAA+B;KAC3C,QAAQ,QAAQ;KAChB,iBAAiB,QAAQ;KACzB,QAAQ,CAAC;IACX,CACiD,GAAG,QAAQ,oBAAoB,CAAC;GACnF;EACF;EACA,GAAG,UAAU,UAAU,QAAQ,MAAM;CACvC;AACF;AAEA,SAAgB,mBACd,UACA,QACA,SACgB;CAChB,OAAO;EACL,QAAQ;GACN,QAAQ;GACR,MAAM,YACJ,GAAG,mCAAmC,UAAU,SAAS,oBAAoB,CAAC;EAClF;EAGA,GAAG,UAAU,UAAU,MAAM;CAC/B;AACF;AAEA,SAAgB,2BACd,cACA,QACA,SACgB;CAChB,OAAO;EACL,QAAQ;GACN,QAAQ;GACR,QAAQ,CAAC,YAAY;GACrB,MAAM,OAAO,YAAY;IACvB,MAAM,CAAC,gBAAgB,QAAQ;IAC/B,IAAI,iBAAiB,KAAA,GACnB,MAAM,IAAI,cACR,8IACF;IAEF,MAAM,MAAM,MAAM,OAAO,cAAc,YAAY,CAAC,CAAC;IACrD,MAAM,WAAiC,IAAI,WAAW,IAAI;IAC1D,IAAI,aAAa,KAAA,GACf,MAAM,cACJ,kCACA,0CAA0C,aAAa,2CACvD,EAAE,MAAM,EAAE,MAAM,aAAa,EAAE,CACjC;IAEF,OAAO,GAAG,mCAAmC,UAAU,SAAS,oBAAoB,CAAC;GACvF;EACF;EACA,QAAQ,UAAU,8BAA8B,YAAY;CAC9D;AACF"}
@@ -400,10 +400,10 @@ type LazyNamedModelToken<Token extends AnyNamedModelToken = AnyNamedModelToken>
400
400
  type RelationFieldSelection<FieldName extends string> = FieldName | readonly FieldName[];
401
401
  type RelationModelName<Target> = Target extends NamedModelTokenShape<infer ModelName extends string, Record<string, ScalarFieldBuilder>> ? ModelName : Target extends (() => infer Token) ? RelationModelName<Token> : never;
402
402
  type RelationModelFieldNames<Target> = Target extends NamedModelTokenShape<string, infer Fields> ? keyof Fields & string : Target extends (() => infer Token) ? RelationModelFieldNames<Token> : never;
403
- type ContractInput<Family extends FamilyPackRef<string> = FamilyPackRef<string>, Target extends TargetPackRef<'sql', string> = TargetPackRef<'sql', string>, Types extends Record<string, StorageTypeInstance> = Record<never, never>, Models extends Record<string, ContractModelBuilder<string | undefined, Record<string, ScalarFieldBuilder>, Record<string, AnyRelationBuilder>, ModelAttributesSpec | undefined, SqlStageSpec | undefined>> = Record<never, never>, ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined = undefined> = {
403
+ type ContractInput<Family extends FamilyPackRef<string> = FamilyPackRef<string>, Target extends TargetPackRef<'sql', string> = TargetPackRef<'sql', string>, Types extends Record<string, StorageTypeInstance> = Record<never, never>, Models extends Record<string, ContractModelBuilder<string | undefined, Record<string, ScalarFieldBuilder>, Record<string, AnyRelationBuilder>, ModelAttributesSpec | undefined, SqlStageSpec | undefined>> = Record<never, never>, Extensions extends Record<string, ExtensionPackRef<'sql', string>> | undefined = undefined> = {
404
404
  readonly family: Family;
405
405
  readonly target: Target;
406
- readonly extensionPacks?: ExtensionPacks;
406
+ readonly extensions?: Extensions;
407
407
  readonly naming?: NamingConfig;
408
408
  readonly storageHash?: string;
409
409
  readonly foreignKeyDefaults?: ForeignKeyDefaultsState;
@@ -637,22 +637,22 @@ type AllIndexTypeLiterals<Packs> = Packs extends Record<string, unknown> ? { [K
637
637
  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], {
638
638
  readonly options: unknown;
639
639
  }>; };
640
- type DefinitionExtensionPacks<Definition> = Definition extends {
641
- readonly extensionPacks?: infer Packs extends Record<string, ExtensionPackRef<'sql', string>>;
640
+ type DefinitionExtensions<Definition> = Definition extends {
641
+ readonly extensions?: infer Packs extends Record<string, ExtensionPackRef<'sql', string>>;
642
642
  } ? Packs : Record<never, never>;
643
643
  type ExtractPackCapabilities<P> = P extends {
644
644
  readonly capabilities?: infer Caps extends Record<string, Record<string, boolean>>;
645
645
  } ? Caps : never;
646
646
  type MergeExtensionPackCapabilities<Packs> = Packs extends Record<string, unknown> ? keyof Packs extends never ? Record<string, never> : UnionToIntersection<{ [K in keyof Packs]: ExtractPackCapabilities<Packs[K]>; }[keyof Packs]> : Record<string, never>;
647
647
  type Defaulted<T, Fallback> = [T] extends [never] ? Fallback : T;
648
- type DerivedCapabilities<Definition> = Defaulted<ExtractPackCapabilities<DefinitionTarget<Definition>>, Record<string, never>> & MergeExtensionPackCapabilities<DefinitionExtensionPacks<Definition>>;
648
+ type DerivedCapabilities<Definition> = Defaulted<ExtractPackCapabilities<DefinitionTarget<Definition>>, Record<string, never>> & MergeExtensionPackCapabilities<DefinitionExtensions<Definition>>;
649
649
  type DefinitionTargetId<Definition> = Definition extends {
650
650
  readonly target: TargetPackRef<'sql', infer Target>;
651
651
  } ? Target : never;
652
652
  type Present<T> = Exclude<T, undefined>;
653
653
  type CodecTypesFromDefinition<Definition> = ExtractCodecTypesFromPack<Definition extends {
654
654
  readonly target: infer Target;
655
- } ? Target : never> & MergeExtensionCodecTypesSafe<DefinitionExtensionPacks<Definition>>;
655
+ } ? Target : never> & MergeExtensionCodecTypesSafe<DefinitionExtensions<Definition>>;
656
656
  type DefinitionTarget<Definition> = Definition extends {
657
657
  readonly target: infer Target;
658
658
  } ? Target : never;
@@ -894,7 +894,7 @@ type SqlContractResult<Definition> = ContractWithTypeMaps<Omit<Contract<BuiltSto
894
894
  readonly namespaces: Readonly<Record<string, BuiltDomainNamespace<Definition>>>;
895
895
  } & BuiltDomain<Definition>;
896
896
  } & {
897
- readonly extensionPacks: keyof DefinitionExtensionPacks<Definition> extends never ? Record<string, never> : DefinitionExtensionPacks<Definition>;
897
+ readonly extensions: keyof DefinitionExtensions<Definition> extends never ? Record<string, never> : DefinitionExtensions<Definition>;
898
898
  readonly capabilities: DerivedCapabilities<Definition>;
899
899
  readonly enumAccessors: BuiltEnumAccessors<Definition>;
900
900
  }, TypeMaps<CodecTypesFromDefinition<Definition>, Record<string, never>, FieldChannelTypes<Definition, 'output'>, FieldChannelTypes<Definition, 'input'>, StorageColumnChannelTypes<Definition, 'output'>, StorageColumnChannelTypes<Definition, 'input'>>>;
@@ -903,9 +903,9 @@ type SqlContractResult<Definition> = ContractWithTypeMaps<Omit<Contract<BuiltSto
903
903
  type ExtractTypeNamespaceFromPack<Pack> = ExtractAuthoringNamespaceFromPack<Pack, 'type', Record<never, never>>;
904
904
  type ExtractFieldNamespaceFromPack<Pack> = ExtractAuthoringNamespaceFromPack<Pack, 'field', Record<never, never>>;
905
905
  type ExtractEntitiesNamespaceFromPack<Pack> = ExtractAuthoringNamespaceFromPack<Pack, 'entityTypes', Record<never, never>>;
906
- type MergeExtensionTypeNamespaces<ExtensionPacks> = MergeExtensionAuthoringNamespaces<ExtensionPacks, 'type'>;
907
- type MergeExtensionFieldNamespaces<ExtensionPacks> = MergeExtensionAuthoringNamespaces<ExtensionPacks, 'field'>;
908
- type MergeExtensionEntityNamespaces<ExtensionPacks> = MergeExtensionAuthoringNamespaces<ExtensionPacks, 'entityTypes'>;
906
+ type MergeExtensionTypeNamespaces<Extensions> = MergeExtensionAuthoringNamespaces<Extensions, 'type'>;
907
+ type MergeExtensionFieldNamespaces<Extensions> = MergeExtensionAuthoringNamespaces<Extensions, 'field'>;
908
+ type MergeExtensionEntityNamespaces<Extensions> = MergeExtensionAuthoringNamespaces<Extensions, 'entityTypes'>;
909
909
  type StorageTypeFromDescriptor<Descriptor extends AuthoringTypeConstructorDescriptor, Args extends readonly unknown[]> = {
910
910
  readonly kind: 'codec-instance';
911
911
  readonly codecId: ResolveTemplateValue<Descriptor['output']['codecId'], Args>;
@@ -922,10 +922,10 @@ type TypeHelperFunction<Descriptor extends AuthoringTypeConstructorDescriptor> =
922
922
  } ? <const Params extends TupleFromArgumentDescriptors<Args>>(...args: Params) => StorageTypeFromDescriptor<Descriptor, Params> : () => StorageTypeFromDescriptor<Descriptor, readonly []>;
923
923
  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; };
924
924
  type CoreFieldHelpers = Pick<typeof field, 'column' | 'generated' | 'namedType'>;
925
- type MergeAllPackIndexTypes<Family, Target, ExtensionPacks> = MergeExtensionIndexTypes<{
925
+ type MergeAllPackIndexTypes<Family, Target, Extensions> = MergeExtensionIndexTypes<{
926
926
  readonly __family: Family;
927
927
  readonly __target: Target;
928
- } & (ExtensionPacks extends Record<string, unknown> ? ExtensionPacks : Record<never, never>)>;
928
+ } & (Extensions extends Record<string, unknown> ? Extensions : Record<never, never>)>;
929
929
  type PackAwareModel<IndexTypes extends IndexTypeMap> = {
930
930
  <const ModelName extends string, Fields extends Record<string, ScalarFieldBuilder>, Relations extends Record<string, AnyRelationBuilder> = Record<never, never>>(modelName: ModelName, input: {
931
931
  readonly fields: Fields;
@@ -938,11 +938,11 @@ type PackAwareModel<IndexTypes extends IndexTypeMap> = {
938
938
  readonly namespace?: string;
939
939
  }): ContractModelBuilder<undefined, Fields, Relations, undefined, undefined, IndexTypes>;
940
940
  };
941
- type ComposedAuthoringHelpers<Family extends FamilyPackRef<string>, Target extends TargetPackRef<'sql', string>, ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined> = EntityHelpersFromNamespace<ExtractEntitiesNamespaceFromPack<Family> & ExtractEntitiesNamespaceFromPack<Target> & MergeExtensionEntityNamespaces<ExtensionPacks>> & {
942
- readonly field: CoreFieldHelpers & FieldHelpersFromNamespace<ExtractFieldNamespaceFromPack<Family> & ExtractFieldNamespaceFromPack<Target> & MergeExtensionFieldNamespaces<ExtensionPacks>>;
943
- readonly model: PackAwareModel<MergeAllPackIndexTypes<Family, Target, ExtensionPacks>>;
941
+ type ComposedAuthoringHelpers<Family extends FamilyPackRef<string>, Target extends TargetPackRef<'sql', string>, Extensions extends Record<string, ExtensionPackRef<'sql', string>> | undefined> = EntityHelpersFromNamespace<ExtractEntitiesNamespaceFromPack<Family> & ExtractEntitiesNamespaceFromPack<Target> & MergeExtensionEntityNamespaces<Extensions>> & {
942
+ readonly field: CoreFieldHelpers & FieldHelpersFromNamespace<ExtractFieldNamespaceFromPack<Family> & ExtractFieldNamespaceFromPack<Target> & MergeExtensionFieldNamespaces<Extensions>>;
943
+ readonly model: PackAwareModel<MergeAllPackIndexTypes<Family, Target, Extensions>>;
944
944
  readonly rel: typeof rel;
945
- readonly type: TypeHelpersFromNamespace<ExtractTypeNamespaceFromPack<Family> & ExtractTypeNamespaceFromPack<Target> & MergeExtensionTypeNamespaces<ExtensionPacks>>;
945
+ readonly type: TypeHelpersFromNamespace<ExtractTypeNamespaceFromPack<Family> & ExtractTypeNamespaceFromPack<Target> & MergeExtensionTypeNamespaces<Extensions>>;
946
946
  };
947
947
  //#endregion
948
948
  //#region src/contract-definition.d.ts
@@ -1101,7 +1101,7 @@ interface ModelNode {
1101
1101
  interface ContractDefinition {
1102
1102
  readonly target: TargetPackRef<'sql', string>;
1103
1103
  readonly defaultControlPolicy?: ControlPolicy;
1104
- readonly extensionPacks?: Record<string, ExtensionPackRef<'sql', string>>;
1104
+ readonly extensions?: Record<string, ExtensionPackRef<'sql', string>>;
1105
1105
  readonly storageHash?: string;
1106
1106
  readonly foreignKeyDefaults?: ForeignKeyDefaultsState;
1107
1107
  readonly storageTypes?: Record<string, StorageTypeInstance>;
@@ -1149,10 +1149,10 @@ type ModelLike = {
1149
1149
  buildAttributesSpec(): ModelAttributesSpec | undefined;
1150
1150
  buildSqlSpec(): SqlStageSpec | undefined;
1151
1151
  };
1152
- type ContractDefinition$1<Family extends FamilyPackRef<string>, Target extends TargetPackRef<'sql', string>, Types extends Record<string, StorageTypeInstance>, Models extends Record<string, ModelLike>, ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined, Naming extends ContractInput['naming'] | undefined, StorageHash extends string | undefined, ForeignKeyDefaults extends ForeignKeyDefaultsState | undefined, Namespaces extends readonly string[] | undefined = undefined, Enums extends Record<string, EnumTypeHandle> = Record<string, EnumTypeHandle>> = {
1152
+ type ContractDefinition$1<Family extends FamilyPackRef<string>, Target extends TargetPackRef<'sql', string>, Types extends Record<string, StorageTypeInstance>, Models extends Record<string, ModelLike>, Extensions extends Record<string, ExtensionPackRef<'sql', string>> | undefined, Naming extends ContractInput['naming'] | undefined, StorageHash extends string | undefined, ForeignKeyDefaults extends ForeignKeyDefaultsState | undefined, Namespaces extends readonly string[] | undefined = undefined, Enums extends Record<string, EnumTypeHandle> = Record<string, EnumTypeHandle>> = {
1153
1153
  readonly family: Family;
1154
1154
  readonly target: Target;
1155
- readonly extensionPacks?: ExtensionPacks;
1155
+ readonly extensions?: Extensions;
1156
1156
  readonly naming?: Naming;
1157
1157
  readonly storageHash?: StorageHash;
1158
1158
  readonly foreignKeyDefaults?: ForeignKeyDefaults;
@@ -1165,10 +1165,10 @@ type ContractDefinition$1<Family extends FamilyPackRef<string>, Target extends T
1165
1165
  readonly enums?: Enums;
1166
1166
  readonly entities?: readonly PackEntityHandle[];
1167
1167
  };
1168
- type ContractScaffold<Family extends FamilyPackRef<string>, Target extends TargetPackRef<'sql', string>, ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined, Naming extends ContractInput['naming'] | undefined, StorageHash extends string | undefined, ForeignKeyDefaults extends ForeignKeyDefaultsState | undefined, Namespaces extends readonly string[] | undefined = undefined, Enums extends Record<string, EnumTypeHandle> = Record<string, EnumTypeHandle>> = {
1168
+ type ContractScaffold<Family extends FamilyPackRef<string>, Target extends TargetPackRef<'sql', string>, Extensions extends Record<string, ExtensionPackRef<'sql', string>> | undefined, Naming extends ContractInput['naming'] | undefined, StorageHash extends string | undefined, ForeignKeyDefaults extends ForeignKeyDefaultsState | undefined, Namespaces extends readonly string[] | undefined = undefined, Enums extends Record<string, EnumTypeHandle> = Record<string, EnumTypeHandle>> = {
1169
1169
  readonly family: Family;
1170
1170
  readonly target: Target;
1171
- readonly extensionPacks?: ExtensionPacks;
1171
+ readonly extensions?: Extensions;
1172
1172
  readonly naming?: Naming;
1173
1173
  readonly storageHash?: StorageHash;
1174
1174
  readonly foreignKeyDefaults?: ForeignKeyDefaults;
@@ -1181,14 +1181,14 @@ type ContractScaffold<Family extends FamilyPackRef<string>, Target extends Targe
1181
1181
  readonly enums?: Enums;
1182
1182
  readonly entities?: readonly PackEntityHandle[];
1183
1183
  };
1184
- type ContractFactory<Family extends FamilyPackRef<string>, Target extends TargetPackRef<'sql', string>, Types extends Record<string, StorageTypeInstance>, Models extends Record<string, ModelLike>, ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined, Enums extends Record<string, EnumTypeHandle> = Record<string, EnumTypeHandle>> = (helpers: ComposedAuthoringHelpers<Family, Target, ExtensionPacks>) => {
1184
+ type ContractFactory<Family extends FamilyPackRef<string>, Target extends TargetPackRef<'sql', string>, Types extends Record<string, StorageTypeInstance>, Models extends Record<string, ModelLike>, Extensions extends Record<string, ExtensionPackRef<'sql', string>> | undefined, Enums extends Record<string, EnumTypeHandle> = Record<string, EnumTypeHandle>> = (helpers: ComposedAuthoringHelpers<Family, Target, Extensions>) => {
1185
1185
  readonly types?: Types;
1186
1186
  readonly models?: Models;
1187
1187
  readonly enums?: Enums;
1188
1188
  readonly entities?: readonly PackEntityHandle[];
1189
1189
  };
1190
- type BoundDefinitionInput<Types extends Record<string, StorageTypeInstance> = Record<never, never>, Models extends Record<string, ModelLike> = Record<never, never>, ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined = undefined, Naming extends ContractInput['naming'] | undefined = undefined, StorageHash extends string | undefined = undefined, ForeignKeyDefaults extends ForeignKeyDefaultsState | undefined = undefined, Namespaces extends readonly string[] | undefined = undefined> = {
1191
- readonly extensionPacks?: ExtensionPacks;
1190
+ type BoundDefinitionInput<Types extends Record<string, StorageTypeInstance> = Record<never, never>, Models extends Record<string, ModelLike> = Record<never, never>, Extensions extends Record<string, ExtensionPackRef<'sql', string>> | undefined = undefined, Naming extends ContractInput['naming'] | undefined = undefined, StorageHash extends string | undefined = undefined, ForeignKeyDefaults extends ForeignKeyDefaultsState | undefined = undefined, Namespaces extends readonly string[] | undefined = undefined> = {
1191
+ readonly extensions?: Extensions;
1192
1192
  readonly naming?: Naming;
1193
1193
  readonly storageHash?: StorageHash;
1194
1194
  readonly foreignKeyDefaults?: ForeignKeyDefaults;
@@ -1224,9 +1224,9 @@ declare function buildBoundContract<const F extends FamilyPackRef<string>, const
1224
1224
  readonly models?: Record<string, ModelLike>;
1225
1225
  readonly enums?: Record<string, EnumTypeHandle>;
1226
1226
  readonly entities?: readonly PackEntityHandle[];
1227
- }>(family: F, target: T, definition: Definition, factory: (helpers: ComposedAuthoringHelpers<F, T, NonNullable<Definition['extensionPacks']>>) => Built): SqlContractResult<WithFamilyTarget<Definition & Built, F, T>>;
1228
- declare function defineContract<const Family extends FamilyPackRef<string>, const Target extends TargetPackRef<'sql', string>, const Types extends Record<string, StorageTypeInstance> = Record<never, never>, const Models extends Record<string, ModelLike> = Record<never, never>, const ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined = undefined, const Naming extends ContractInput['naming'] | undefined = undefined, const StorageHash extends string | undefined = undefined, const ForeignKeyDefaults extends ForeignKeyDefaultsState | undefined = undefined, const Namespaces extends readonly string[] | undefined = undefined, const Enums extends Record<string, EnumTypeHandle> = Record<string, EnumTypeHandle>>(definition: ContractDefinition$1<Family, Target, Types, Models, ExtensionPacks, Naming, StorageHash, ForeignKeyDefaults, Namespaces, Enums>): SqlContractResult<ContractDefinition$1<Family, Target, Types, Models, ExtensionPacks, Naming, StorageHash, ForeignKeyDefaults, Namespaces, Enums>>;
1229
- declare function defineContract<const Family extends FamilyPackRef<string>, const Target extends TargetPackRef<'sql', string>, const Types extends Record<string, StorageTypeInstance> = Record<never, never>, const Models extends Record<string, ModelLike> = Record<never, never>, const ExtensionPacks extends Record<string, ExtensionPackRef<'sql', string>> | undefined = undefined, const Naming extends ContractInput['naming'] | undefined = undefined, const StorageHash extends string | undefined = undefined, const ForeignKeyDefaults extends ForeignKeyDefaultsState | undefined = undefined, const Namespaces extends readonly string[] | undefined = undefined, const ScaffoldEnums extends Record<string, EnumTypeHandle> = Record<string, EnumTypeHandle>, const FactoryEnums extends Record<string, EnumTypeHandle> = Record<string, EnumTypeHandle>>(definition: ContractScaffold<Family, Target, ExtensionPacks, Naming, StorageHash, ForeignKeyDefaults, Namespaces, ScaffoldEnums>, factory: ContractFactory<Family, Target, Types, Models, ExtensionPacks, FactoryEnums>): SqlContractResult<ContractDefinition$1<Family, Target, Types, Models, ExtensionPacks, Naming, StorageHash, ForeignKeyDefaults, Namespaces, MergeEnums<ScaffoldEnums, FactoryEnums>>>;
1227
+ }>(family: F, target: T, definition: Definition, factory: (helpers: ComposedAuthoringHelpers<F, T, NonNullable<Definition['extensions']>>) => Built): SqlContractResult<WithFamilyTarget<Definition & Built, F, T>>;
1228
+ declare function defineContract<const Family extends FamilyPackRef<string>, const Target extends TargetPackRef<'sql', string>, const Types extends Record<string, StorageTypeInstance> = Record<never, never>, const Models extends Record<string, ModelLike> = Record<never, never>, const Extensions extends Record<string, ExtensionPackRef<'sql', string>> | undefined = undefined, const Naming extends ContractInput['naming'] | undefined = undefined, const StorageHash extends string | undefined = undefined, const ForeignKeyDefaults extends ForeignKeyDefaultsState | undefined = undefined, const Namespaces extends readonly string[] | undefined = undefined, const Enums extends Record<string, EnumTypeHandle> = Record<string, EnumTypeHandle>>(definition: ContractDefinition$1<Family, Target, Types, Models, Extensions, Naming, StorageHash, ForeignKeyDefaults, Namespaces, Enums>): SqlContractResult<ContractDefinition$1<Family, Target, Types, Models, Extensions, Naming, StorageHash, ForeignKeyDefaults, Namespaces, Enums>>;
1229
+ declare function defineContract<const Family extends FamilyPackRef<string>, const Target extends TargetPackRef<'sql', string>, const Types extends Record<string, StorageTypeInstance> = Record<never, never>, const Models extends Record<string, ModelLike> = Record<never, never>, const Extensions extends Record<string, ExtensionPackRef<'sql', string>> | undefined = undefined, const Naming extends ContractInput['naming'] | undefined = undefined, const StorageHash extends string | undefined = undefined, const ForeignKeyDefaults extends ForeignKeyDefaultsState | undefined = undefined, const Namespaces extends readonly string[] | undefined = undefined, const ScaffoldEnums extends Record<string, EnumTypeHandle> = Record<string, EnumTypeHandle>, const FactoryEnums extends Record<string, EnumTypeHandle> = Record<string, EnumTypeHandle>>(definition: ContractScaffold<Family, Target, Extensions, Naming, StorageHash, ForeignKeyDefaults, Namespaces, ScaffoldEnums>, factory: ContractFactory<Family, Target, Types, Models, Extensions, FactoryEnums>): SqlContractResult<ContractDefinition$1<Family, Target, Types, Models, Extensions, Naming, StorageHash, ForeignKeyDefaults, Namespaces, MergeEnums<ScaffoldEnums, FactoryEnums>>>;
1230
1230
  //#endregion
1231
1231
  //#region src/contract-lowering.d.ts
1232
1232
  declare function buildContractDefinition(definition: ContractInput): ContractDefinition;
@@ -1 +1 @@
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","../src/contract-lowering.ts"],"mappings":";;;;;;;;;;KA6BY;KAEA;WACD,SAAS;WACT,UAAU;;KAGhB,+BAA+B,sBAAsB;KAErD,wBAAwB;WAClB,MAAM;;KAGL,iBACV,mBAAmB,uBAAuB,sBAC1C,gBAAgB,6CAChB,oCACA,4DACA,eAAe,6CACf,mBAAmB,6CACnB;WAES;WACA,aAAa;WACb,UAAU;WACV,UAAU;WACV,aAAa;WACb,UAAU;WACV,oBAAoB;WACpB,OAAO;KACb,eAAe;WAAiC,IAAI;;WAAsB;MAC5E,mBAAmB;WACL,QAAQ;;WACR;;KAEZ;WACM;WACA,aAAa;WACb,UAAU;WACV;WACA;WACA,UAAU;WACV,oBAAoB;WACpB;WACA,KAAK;WACL,SAAS;;KAGf,qBAAqB,cAAc,uBACtC,cAAc,iBACZ,sBACA,oEAGM,QACN,4CAGE,eAAe;KAKhB,yBAAyB,cAAc,uBAC1C,cAAc,iBACZ,sBACA,8DAGA,uCACM,uBAGJ,mBAAmB;KAKpB,qBAAqB,cAAc;WAC7B;KACN,qBAAqB;WACX,KAAK;IAChB,yBACD,yBAAyB;WACX,SAAS;IACpB;KAED,kBACH,cAAc,qBACd,aAAa,qBAAqB,UAElC,cAAc,uBACN,kBACA,eACA,gBACA,kBACA,cACA,kBACA,QAEJ,iBACE,YACA,SACA,UACA;WAAwB,cAAc;IAA8B,aAAa,YACjF;WAAwB;aAAe,YAAY;;IAC/C,eAAe,sBACb,oBAAoB,UACpB,SACF,QACJ;WAAwB;aAAmB,YAAY;;IACnD,mBAAmB,sBACjB,oBAAoB,cACpB,aACF,YACJ,QAEF;KAEM;WACD,MAAM;WACN,aAAa;WACb,WAAW;;cAUT,mBAAmB,cAAc,sBAAsB;mBAGrC;WAFZ,SAAS;cAEG,OAAO;;;;;;;MAQhC;EAIJ,YAAY,mBACV,cAAc,uBACN,kBACA,wBAEA,kBACA,cACA,kBACA,QAEJ,iBAAiB,YAAY,eAAe,YAAY,QAAQ,YAAY,QAC5E;EAuBN,OAAO,2BACL,MAAM,aACL,mBACD,cAAc,uBACN,kBACA,eACA,oCAEA,cACA,kBACA,QAEJ,iBAAiB,YAAY,SAAS,UAAU,YAAY,QAAQ,YAAY,QAChF;EAuBN,QAAQ,mBACN,cAAc,uBACN,kBACA,eACA,gBACA,kBACA,cACA,uBAGJ,iBAAiB,YAAY,SAAS,UAAU,YAAY,QAAQ,oBACpE;EAuBN,QAAQ,OAAO,iCAAiC,gBAAgB,mBAAmB;EAOnF,WAAW,qBAAqB,mBAAmB;EAOnD,SAAS,6CACP,UAAU,oBAAoB,QAC7B,mBACD,cAAc,uBACN,kBACA,eACA,gBACA,YACN,uCACM,kBACA,QAEJ,iBACE,YACA,SACA,UACA,YACA,oBAAoB,OACpB,YACA,QAEF;EA+BN,aAAa,6CACX,UAAU,oBAAoB,QAC7B,mBACD,cAAc,uBACN,kBACA,eACA,gBACA,kBACA,QACN,uCACM,QAEJ,iBACE,YACA,SACA,UACA,YACA,QACA,oBAAoB,OACpB,QAEF;EA+BN,UAAU,aAAa,qBAAqB,QAC1C,MAAM,OACL,mBAAmB,kBAAkB,OAAO;EA8B/C,SAAS;;cAKE,uBACX,eAAe,gBACf,cAAc,sBAAsB,iBAClC,sBACA,mCAIM,mBAAmB;;cAGf,OAAO,OAAO,QAAQ;EAKzB,QAAQ,OAAO,2BAA2B,uBAAuB,QAAQ;EAYzE,WAAW;;iBASb,YAAY,mBAAmB,sBACtC,YAAY,aACX,mBAAmB,iBAAiB;iBAQ9B,eAAe,mBAAmB,sBACzC,MAAM;WAAgC,MAAM;IAC3C,mBAAmB,iBAAiB;iBAY9B,eAAe,wBACtB,SAAS,UACR,mBAAmB,iBAAiB,sBAAsB;iBACpD,eAAe,gBAAgB,qBACtC,SAAS,UACR,mBACD,iBAAiB,qBAAqB,qBAAqB;iBAEpD,eAAe,eAAe,gBACrC,SAAS,SACR,uBAAuB;KAgDrB;KACA;KAEA,uBACH,mCACA,eAAe,QAAQ,uCAAuC,QAC5D;WAIO;WACA,QAAQ;WACR,WAAW;;KAGjB,sBAAsB;WAChB;WACA;WACA,eAAe;;KAGrB,oBAAoB,qCACrB,uBAAuB,aACvB,sBAAsB;KAErB,kBACH,iCACA,2EACA,yEACA,gBAAgB;WAEP;WACA,SAAS,oBAAoB;WAC7B,MAAM;WACN,IAAI;WACJ,MAAM;;;;;;WAMN;;;;;WAKA;;;;;WAKA;;KAGN,gBACH,iCACA;WAES;WACA,SAAS,oBAAoB;WAC7B,IAAI;;KAGV,eACH,iCACA;WAES;WACA,SAAS,oBAAoB;WAC7B,IAAI;;KAGV,mBACH,iCACA,sCACA,2EACA;WAES;WACA,SAAS,oBAAoB;WAC7B,SAAS,oBAAoB;WAC7B,MAAM;WACN,IAAI;;KAGH,gBACR,kFAIE,wCAEF,kBACA,iBACA;KAEC,mBAAmB;KACZ,qBAAqB,gBAAgB;KAE5C,8BACH,cAAc,eACd,gBAAgB,4BAEhB,cAAc,wBACN,eACA,iBACA,SACN,wCAEE,kBAAkB,SAAS,WAAW,SAAS;cAGxC,gBAAgB,cAAc,gBAAgB;mBAG5B;WAFZ,SAAS;cAEG,OAAO;EAEpC,UAAU,gBAAgB,0BACxB,MAAM,cAAc,kFAIlB,wCAEE,gBAAgB,gBAEpB,MAAM,UACL,gBAAgB,8BAA8B,OAAO;EAexD,SAAS;;;;;;;;;KAYC,UAAU;WACX;WACA,WAAW;;;;;;;;;;;;KAaV,eACV,mCACA,mCACA;WAES;WACA,QAAQ;WACR,WAAW;WACX,WAAW;;;;;WAKX,UAAU,oCAAoC;;;;;WAK9C;;;;;;WAMA;;;;;;;;WAQA;;KAGC,eACV,0BACA,eAAe,eAAe,qBAC9B,kDAEU,WAAW,SAAS,eAAe,WAAW,YAAY;KAGjE,kBAAkB;WACZ,OAAO;;KAGN,eAAe;WAA0B;;KAEhD,WACH,iCACA,mBAAmB,sBACX,2BACN,kBAAkB,SAEb,kBAAkB;WAAmB;WAAuB;iBAEjD,WAAW,sBAAsB,kBAAkB;WAClD,MAAM;WACN,SAAS,WAAW;WAEzB;KAEX,kBAAkB,wDACrB,kBAAkB;WACP;WACA;WACA;WACA;;KAGR,yBAAyB;WACnB,KAAK,kBAAkB;;KAGtB,aACV,0DACA;WAES;WACA,QAAQ;WACR,OAAO;;KAGN,iBAAiB;WAClB;WACA,QAAQ;WACR;;KAGC,gBACV,0DACA;WAES;WACA,QAAQ;WACR,OAAO;WACP;WACA,UAAU;;KAGT,qBACV,gEACA,yCACA,gEACA;WAES;WACA,QAAQ;WACR,aAAa;WACb,cAAc;WACd,eAAe;;;;;WAKf;;;;;;WAMA;;;;;WAKA;WACA,OAAO;WACP;WACA;WACA;WACA;;iBAuEF,qBAAqB,mBAAmB,eAAe;QACjD,0BAA0B,0BAAwB,WAClD,WAAS,WACT,cACV,eAAe,WAAW;;KASjB,0BAA0B,6CAA+B,OAC5D,UAAU,YAAU,UACjB,oBAAoB,QAC7B,uBAAuB,YAAY;KAC1B,sCAAsC,6CAA+B,oBAC3D,WAAW,aAAa,UAAU,WAAW,iBAAc,UACrE,oBAAoB,QAC7B,aAAa,YAAY;;;KAYZ,0BAAwB,OAC/B,UAAU,YAAU,UACjB,oBACT,2BAA2B;KACd,sCAAoC,oBAC9B,WAAW,aAAa,UAAU,WAAW,iBAAc,UACrE,oBACT,iBAAiB;;UAYL,sCAAsC,6CAA+B,oBAC9D,WAAW,aAAa,UAAU,WAAW,iBAAc,UACrE,WAAW,MAAM,gBAC1B,gBAAgB,YAAY;;KAqB7B,gCACA,gCACA,gCACA,6CAA+B,OAExB,UAAU,kBAAgB,QACzB,eAAe,iBAAiB,kBAAgB,UAC9C,kBAAkB,QAC3B,+BACS,kBACV,2BACU,kBACV;KAGA,4CACA,gCACA,4CACA,6CAA+B,oBAEX,WAAW,mBAAmB,UAAU,iBAAiB,iBAAc,oBAE/E,WAAW,mBAAmB,eACtC,iBACA,iBAAiB,iBAEpB,UACS,kBAAkB,QAC3B,qBAAqB,kBAAkB,iBAAiB,kBAAkB;;;KAuCnE,iBAAiB,kBAAkB;KAEnC;WACD,KAAK;WACL,mBAAmB;;KAGlB;WACD;WACA,UAAU;WACV,mBAAmB;WACnB,uBAAuB;;KAG7B,UAAU,eAAe,eAAe,mCACjC,WAAW,SAAS,UAAU;KAGrC,iBAAiB,eAAe,eAAe;WACzC,QAAQ,UAAU;WAClB,aAAa,KAAK;;KAGxB,eAAe,mBAAmB,iBACrC,sCACA,6CAEA,oBAAoB,WAAW,aAAa,UAAU,WAAW,iBACjE,UAAU,WAAW,MAAM,gBACxB,gBAAgB,YAAY;KAE5B,wBAAwB,mBAAmB;WACrC,YAAY;WACZ,KAAK;WACL,OAAO,eAAe;;KAGrB,WACV,eAAe,eAAe,qBAC9B,mBAAmB,eAAe;WAEzB,MAAM,UAAU;WAChB,aAAa,wBAAwB;;KAoD3C,WAAW,SAAS,QAAQ,SAAS,SAAS,YAAY;KAuC1D,kBAAkB,QAAQ,sCAAsC,eAAe;KAE/E,2BAA2B,cAAc;WAA8B,aAAa;IACrF,kBAAkB;KAGjB,sBACH,kCACA,6BACA,qCACE,8BAA8B,gBAAgB,mCAC9C,2BAA2B,sBAAqB,uBAC9C,aAAa,OACX,sBAAsB,MAAM,MAAM,aAAa,QAC/C,sBAAsB,MAAM,OAAO,MAAM,cAC3C,sBAAsB,MAAM,MAAM,cACpC;KAEC,oBAAoB,eAAe,eAAe,mCAC3C,mBAAmB,SAAS,aAAa,OAAO;WAC/C;aAAe,aAAa;;IAEnC,kBAAkB,uBAEhB;KAEH,uBAAuB,uBAAuB,mCACjD;WACW;aAAgB,aAAa;;IAEpC,kBAAkB;KAGnB,mBACH,eAAe,eAAe,qBAC9B,uBAAuB,oCACpB,uBAAuB,mCACxB,oBAAoB,UACpB,uBAAuB;KAEtB,WAAW,gBAAgB,gBAAgB;WACrC,gBAAgB;IAEvB;KAGC,eAAe,gBAAgB,gBAAgB;WACzC,oBAAoB;IAE3B;KAGC,gBAAgB,gBAAgB,oBAChC,WAAW,aACX,eAAe;KAGf,qBACH,eAAe,eAAe,qBAC9B,uBAAuB,iCACvB,gBAAgB,iBACb,sBAAsB,gBAAgB,8BAErC,QACE,mBAAmB,QAAQ,iBAC3B,2BAA2B,gBAAgB,sCAG7C;KAID,4BACH,eAAe,eAAe,qBAC9B,gBAAgB,0BAChB,uBAAuB,uBACrB,gBAAgB,gBAEd,QACE,mBAAmB,QAAQ,iBAC3B,2BAA2B,gBAAgB,sCAG7C,yBAEF;cAWS,qBACX,sCACA,eAAe,eAAe,qBAC9B,kBAAkB,eAAe,sBAAsB,sBACvD,uBAAuB,6CACvB,gBAAgB,sCAChB,mBAAmB,eAAe,sBAClC;WAYW;aACE,YAAY;aACZ;aACA,QAAQ;aACR,WAAW;;WAEb,oBAAoB,WAAW,iBAAiB,SAAS;WACzD,aAAa,WAAW,WAAW,QAAQ,aAAa;WACxD,UAAU;WACV;WAnBM,QAAQ;WACR,UAAU;WACV,aAAa;WACb,cAAc;WACd,OAAO;WACP,cAAc;WACd,WAAW;WACnB,MAAM,2BAA2B,eAAe,WAAW,QAAQ;cAGjE;aACE,YAAY;aACZ;aACA,QAAQ;aACR,WAAW;KAEb,oBAAoB,WAAW,iBAAiB,SAAS,6BACzD,aAAa,WAAW,WAAW,QAAQ,aAAa,sBACxD,UAAU,sBACV;EAoBX,IAAI,wBAAwB,iBAC1B,MAAM,2BACF,qBAAqB,WAAW,QAAQ,WAAW,gBAAgB,SAAS,qBAEhF,WAAW,YACV,eAAe,oBAAoB;EAiBtC,gBAAgB,sBAAsB,eAAe,qBACnD,WAAW,gBACV,qBACD,WACA,QACA,YAAY,eACZ,gBACA,SACA,YACA;EAgCF,iBAAiB,2BAA2B,qBAC1C,eAAe,WACb,iBAAiB,SACjB,4BAA4B,QAAQ,SAAS,uBAE9C,qBACD,WACA,QACA,WACA,oBACA,SACA,YACA;EAWF,UAAU,oBAAoB,cAC5B,eAAe,WAAW,WAAW,QAAQ,aAAa,gBACxD,qBAAqB,QAAQ,gBAAgB,gCAC7C,qBACE,WACA,QACA,WACA,uBAEA,YACA,YAEF,qBACE,WACA,QACA,WACA,gBACA,aACA,YACA;EAoBN,uBAAuB;EAWvB,gBAAgB;;KAWb,qBACH,mCACA,eAAe,eAAe,sBAAsB,eAAe;WAE1D;aACE,YAAY;aACZ,QAAQ;;;KAIhB,qBAAqB,6BAA6B,eAAe;KAEjE,oBAAoB,cAAc,qBAAqB,4BAA4B;KAEnF,uBAAuB,4BAA4B,qBAAqB;KAExE,kBAAkB,UACrB,eAAe,2BACP,0BACN,eAAe,uBAEb,YACA,4BAA2B,SACzB,kBAAkB;KAGrB,wBAAwB,UAC3B,eAAe,mCAAmC,gBACxC,kBACN,4BAA2B,SACzB,wBAAwB;KAgEpB,cACV,eAAe,wBAAwB,uBACvC,eAAe,+BAA+B,8BAC9C,cAAc,eAAe,uBAAuB,sBACpD,eAAe,eAEb,yCAEE,eAAe,qBACf,eAAe,qBACf,iCACA,6BAEA,sBACJ,uBAAuB,eAAe;WAE7B,QAAQ;WACR,QAAQ;WACR,iBAAiB;WACjB,SAAS;WACT;WACA,qBAAqB;WACrB,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;WAwBvB;;;;;;;;;;;;;;;WAeA,kBAAkB,OAAO,sBAAsB;WAC/C,QAAQ;WACR,SAAS;WACT,cAAc;;;;;;WAMd,QAAQ,eANM;;;;;;;;;WAed,oFAAoF;;iBAG/E,YACR,0BACN,eAAe,eAAe,qBAC9B,kBAAkB,eAAe,sBAAsB,sBAEvD,WAAW,WACX;WACW,QAAQ;WACR,YAAY;WACZ;IAEV,qBAAqB,WAAW,QAAQ;iBAE3B,MACd,eAAe,eAAe,qBAC9B,kBAAkB,eAAe,sBAAsB,sBACvD;WACS,QAAQ;WACR,YAAY;WACZ;IACP,gCAAgC,QAAQ;;;;;;;;;;;;;;;;iBAoD5B,qBACR,0BACN,eAAe,eAAe,2BACxB,yBAEN,MAAM,WACN;WACW;WACA,QAAQ;WACR;GAEX,SAAS,WACR,qBACD,WACA,QACA,4CAGA,sBACA;iBA8CO,UACP,cAAc,oBACd,8CACA,gBAAgB,uBAAuB,wBAAwB,SAE/D,SAAS,QAAQ,oBAAoB,QACrC;WAAoB,MAAM;WAAoB,IAAI;IACjD,gBAAgB,kBAAkB,kBAAkB,QAAQ,WAAW;iBACjE,UACP,wBACA,8CACA,4CAEA,SAAS,SACT;WAAoB,MAAM;WAAoB,IAAI;IACjD,gBAAgB,kBAAkB,SAAS,WAAW;iBAoChD,QACP,cAAc,oBACd,gBAAgB,uBAAuB,wBAAwB,SAE/D,SAAS,QAAQ,oBAAoB,QACrC;WAAoB,IAAI;IACvB,gBAAgB,gBAAgB,kBAAkB,QAAQ;iBACpD,QAAQ,wBAAwB,4CACvC,SAAS,SACT;WAAoB,IAAI;IACvB,gBAAgB,gBAAgB,SAAS;iBAYnC,OACP,cAAc,oBACd,gBAAgB,uBAAuB,wBAAwB,SAE/D,SAAS,QAAQ,oBAAoB,QACrC;WAAoB,IAAI;IACvB,gBAAgB,eAAe,kBAAkB,QAAQ;iBACnD,OAAO,wBAAwB,4CACtC,SAAS,SACT;WAAoB,IAAI;IACvB,gBAAgB,eAAe,SAAS;iBAYlC,WACP,gBAAgB,oBAChB,qBAAqB,oBACrB,kBAAkB,uBAAuB,wBAAwB,gBACjE,gBAAgB,uBAAuB,wBAAwB,gBAE/D,SAAS,UAAU,oBAAoB,UACvC;WACW,SAAS,eAAe,oBAAoB;WAC5C,MAAM;WACN,IAAI;IAEd,gBACD,mBACE,kBAAkB,UAClB,kBAAkB,eAClB,WACA;iBAGK,WACP,wBACA,6BACA,8CACA,4CAEA,SAAS,SACT;WACW,SAAS;WACT,MAAM;WACN,IAAI;IAEd,gBAAgB,mBAAmB,SAAS,cAAc,WAAW;cAkB3D;;;;;;cAOA;;;;;KAmED,aAAa,KAAK,UAAU,yBAAyB,SAAS;KA+C9D,aAAa,KACvB,UAAU,mBAAmB,cAAc;KAEjC,2BAA2B,KAAK;WAAqB,WAAW;IACxE,UAAU,eACR,aAAa;;;KCrhEP,oBAAoB,MAAM,qBAAqB,OAAO,8BAChE,aAAa,cAEX;KAGQ,oBAAoB;WACrB,OAAO;;KAGN,qBACV,yBACA,+CACE,uBAAuB,oBAAoB;KAEnC,2BACV,mBAAmB,eAAe,4CAExB,WAAW,aAAa,WAAW;WAAsB;IAAmB,mBAChF;KAEH,2BAA2B,mBAAmB,eAAe,gCAChE,cAAc,YAAY,2BAA2B;;;;;;;;;KAU3C,mBAAmB,mBAAmB,eAAe,iCAC/D,2BAA2B,2CAGb,KAAK,2BAA2B,eAAe,sBAAsB,WAAW,qBAGhF,KAAK,2BAA2B,cAAc,sBAAsB,WAAW,qBAE/E,KAAK,2BAA2B,eAAe,sBAAsB,WAAW;KAGpF,sBAAsB,YAAY,+BAA+B;WAClE;aAGP;WAAuB;cAErB;WAAuB;aAErB;WAAuB;wBAErB;WACa;WACA,cAAc;IAEzB,iBACA;WACa;WACA,kBAAkB,mBAAmB,eAE5C;IAGJ,mBAAmB;;;;;;;;;;KAYrB,6BAA6B,sBAAsB,iCAC7D,6BACQ,aAAa,sCACV,sBAAsB,iCAE7B;WAAwB;cACZ,sBAAsB,WAAW,6BAA6B,mBAC9D,sBAAsB,UAAU,6BAA6B;KAGnE,+BAA+B,mBAAmB,kCAC5D;WAAwC;WAEpC;WAAwC;;KAIlC,qBAAqB,UAAU,mCAAmC;WACnE;WACA,aAAa;WACb,aAAa;WACb,gBAAgB;IAEvB,wBAAwB,KAAK,QAAQ,MAAM,SAAS,QACpD,kDACc,WAAW,WAAW,qBAAqB,SAAS,IAAI,WACpE,iBAAiB,sCACH,WAAW,WAAW,qBAAqB,SAAS,IAAI,WACpE;KAEH,yBACH,OACA,8CACE,6BAA6B,iCAAiC,kCAC9D,sBAAsB,YAAY,SAChC,yBAAyB,YAAY,OAAO,UAAU,gBAExD;KAEC,4BACH,OACA,SACA,mCACE,4BACA,SACC,yBACC,qBAAqB,SAAS,0BACZ,QAChB,QAAQ,oBAAoB,qBAAqB,SAAS,QAC1D;KAEH,wBACH,OACA,4CACA,SACA,mCACE,4BAA4B,yBAAyB,OAAO,OAAO,SAAS;KAEpE,iCACV,mBAAmB,gCACnB,+CACA,yDACE,mBACF,iBACE,qBACE,qBAAqB,iCAAiC,uBAClD,qBAAqB,iCAAiC,4BAI5D,qBAAqB,kCAAkC,8CAEvD,qBACE,qBAAqB,4BAA4B,mCACjD,iBAEF,qBACE,qBAAqB,gCAAgC,mCACrD;KAKM,0CACV,mBAAmB,kCACjB;WACO,YAAY,sBAAsB;WAElC,eAAe,6BAA6B,UAC9C,MAAM,WACN,iCAAiC,YAAY,gBAC5C,iCAAiC;;;;;;;;;;KAW/B,uCACV,mBAAmB,kCACjB;WACO,YAAY,sBAAsB;YAEjC,eAAe,6BAA6B,UAC/C,MAAM,WACN,iCAAiC,YAAY,mBAExC,eAAe,6BAA6B,aAC5C,gDAEH,UAAU,QAAQ,QAAQ,SAAS,oBAAoB,WACvD,iCAAiC,YAAY,QAAQ,gBACrD,6CACL,UAAU,oBAAoB,UAC3B,iCAAiC,yBAAyB;KAEvD,oBAAoB,mBAAmB,kCACjD,+BAA+B,2BAC3B,uCAAuC,cACvC,0CAA0C;KAEpC,0BAA0B,yBAC1B,WAAW,YAAY,UAAU,WAAW,iCAClD,oBAAoB,UAAU,MAC9B,UAAU,WAAW,0BACnB,0BAA0B,UAAU;;;KC/LhC,0BAA0B,KAAK;EACzC,qBAAqB,UAAU;IAAiB;;IAE9C,IACA;KAEQ,yBAAyB,cAAc,2BAA2B,uBAEzE,WAAW,QAAQ,0BAA0B,MAAM,aAC9C;KAGL,6BAA6B,SAChC,cAAc,gCACJ,sBACJ,wBACA,yBAAyB,SAC3B;KAEM,0BAA0B,KAAK;WAChC,YAAY,4BAA4B;IAE/C,IACA;KAEC,qBAAqB,SACxB,cAAc,6BACP,WAAW,cAAc,0BAA0B,MAAM,aAAY;KAGlE,yBAAyB,cAAc,uCACvC,OAAO,qBAAqB,SAAS,WAE1C,WAAW,QAAQ,kBAAkB,0BAA0B,MAAM,MAClE,0BAA0B,MAAM,IAAI,sBAElC;WACG;;KASV,yBAAyB,cAAc;WACjC,uBAAuB,cAAc,eAAe;IAE3D,QACA;KAEC,wBAAwB,KAAK;WACvB,qBAAqB,aAAa,eAAe;IAExD;KAGC,+BAA+B,SAClC,cAAc,gCACJ,sBACJ,wBACA,uBAEK,WAAW,QAAQ,wBAAwB,MAAM,aAC5C,UAEZ;KAED,UAAU,GAAG,aAAa,qBAAqB,WAAW;KAO1D,oBAAoB,cAAc,UACrC,wBAAwB,iBAAiB,cACzC,yBAEA,+BAA+B,yBAAyB;KAErD,mBAAmB,cAAc;WAC3B,QAAQ,2BAA2B;IAE1C;KAGC,QAAQ,KAAK,QAAQ;KAErB,yBAAyB,cAAc,0BAC1C;WAA8B,cAAc;IAAW,kBAEvD,6BAA6B,yBAAyB;KAEnD,iBAAiB,cAAc;WAA8B,cAAc;IAC5E;KASC,iBAAiB,cAAc;WACzB;IAEP,QAAQ,8BAA8B,0BACpC,QAAQ,wBACR,uBACF;KAEC,qBAAqB,cAAc;WAC7B,mBAAmB;qBAET,0CAEW,gBAExB;KAGH,gBAAgB,cAAc;WACxB;IAEP,QAAQ,6BAA6B,eAAe,eAClD,QAAQ,uBACR,uBACF;KAEC,sBAAsB,cAAc;WAC9B;aAAoB,eAAe;;IAE1C;KAGC,uBAAuB,cAAc;WAC/B;aAAoB,gBAAgB;;IAE3C;KAGC,UAAU,oBAAoB,mBAAmB,mBAAmB;KAEpE,SAAS,oBAAoB,uBAE9B,UAAU,UAAU,KAClB,UAAU,UAAU;KAKrB,4BACH,gEACA,wBACA,uBAEA,SAAS,2BACL,mCAEE,4CAEE,SAAS;KAKd,kBACH,kBACA,4EACE,mBAAmB,gBAAgB,YAChC,4BAA4B,UAAU,SAAS,UAAU,iCAEnD,UAAU,WAAW,kBAAkB,MAAM,SAAS;KAG9D,UAAU,mCAAmC,aAAa,kBAAkB;KAE5E,gBAAgB,qBAAqB,sDAAsD,gBAE5F,gCACE,UAAU,QACV;KAED,WAAW,oBAAoB,iBAAiB;KAEhD,YACH,YACA,kBAAkB,WAAW,eAC3B,iBAAiB,YAAY;WACtB;aACE,QAAQ,eAAe;;IAGhC,iBAAiB,YAAY,mCAC7B;KAEC,gBAAgB,YAAY,kBAAkB,WAAW,qBAAqB,YACjF,YACA;KAIG,qBACH,YACA,kBAAkB,WAAW,eAC3B,iBAAiB,YAAY;WACtB;aAAqB,iBAAiB;;IAE7C,UAAU,0BACR,IACA,uBACF;KAEC,yBACH,YACA,kBAAkB,WAAW,qBACrB,qBAAqB,YAAY;KAEtC,gBACH,YACA,kBAAkB,WAAW,aAC7B,kBAAkB,gBAAgB,YAAY,cAC5C,aAAa,YAAY,YAAY,WAAW;KAE/C,SACH,YACA,kBAAkB,WAAW,eAC3B,iBAAiB,YAAY;WACtB,aAAa;IAEpB;KAGC,gBACH,YACA,kBAAkB,WAAW,eAC3B,iBAAiB,YAAY;WACtB,oBAAoB;IAE3B;KAGC,kBAAkB,cAAc,QACnC;WAA8B,mBAAmB;IAAe;KAG7D,eAAe,cAAc,QAChC;WAA8B,gBAAgB;IAAY;KAGvD,gBAAgB,cAAc;WACxB,gBAAgB;IAEvB;KAGC,YAAY,cAAc;WAA8B;;KAExD,sBAAsB,cAAc,QACvC;WAA8B,mBAAmB;IAAe;KAG7D,oBAAoB,cAAc,QACrC;WAA8B,WAAW;IAAW;KAGjD,kBAAkB,cAAc;WAC1B,eAAe;IAEtB;KAGC,qBAAqB,cAAc;WAC7B,kBAAkB;IAEzB;KAGC,qBAAqB,cAAc;WAC7B,kBAAkB,mBAAmB;IAE5C;KAGC,kBAAkB,cAAc;WAC1B,eAAe;IAEtB;KAGC,iCAAiC,YAAY,gBAAgB,kBAC/D,kBAAkB,gBAAgB,wBAAwB,kBACzD,gBAAgB,YAAY,cAEzB,gBAAgB,YAAY,oBAAoB,WAC/C,kCAGA,gBAAgB;KAEnB,2BAA2B,YAAY,WAAW,yBACnD,UACA,gBAAgB,eACb,iCAAiC,YAAY,qCAE5C,iCAAiC,YAAY;KAGhD,wBAAwB,YAAY,WACvC,2BAA2B,YAAY,wBAAuB,2BAC1D,uBAAuB,gBAAgB,cACrC,gBAAgB,YAAY,YAC5B,sBACF;KASD,gBAAgB,eAAe,eAAe,uCAE/C,eAAe,oBAAoB,iBACjC,eAAe;KAGhB,qBAAqB,UAAU;WACzB,eAAe;WACf,kBAAkB;;WAEd,SAAS;WAAkB,YAAY;;KAGjD,uBAAuB,YAAY,eAAe,gBAAgB,gCAClE,kBAAkB,+BACjB,wBAAwB,YAAY,eAAe,eACnD,kBAAkB,cACpB,qBAAqB,gBAAgB;KAEpC,0BAA0B,YAAY,eAAe,gBAAgB,gCAGrE,eAAe,+BACd,kBAAkB,kBAAkB,eACpC,2BAA2B,YAAY,eAAe;KAGvD,6BAA6B,YAAY,eAC5C,0BAA0B,YAAY,4CAGpC,qBAAqB,kBAAkB;KAEtC,eAAe,YAAY,kBAAkB,WAAW,gBAC3D,QACE,SAAS,YAAY;WAA8B,cAAc;IAAc,sCAG/E,gBAAgB,WAAW,sBAAsB,eACjD,QACI,SAAS,YAAY;WAA8B,cAAc;IAC7D,kCAEU,oCAChB,oBACA,gBAAgB,WAAW,sBAAsB;KAElD,gBACH,YACA,kBAAkB,WAAW,aAC7B,kBAAkB,gBAAgB,YAAY,eAC3C,sBAAsB,gBAAgB,YAAY,WAAW,+BAC9D,gBAAgB,WAAW,uBAAuB,eAClD,sBACI,gBAAgB,YAAY,WAAW,2BACzB,qCAChB,qBACA,gBAAgB,WAAW,uBAAuB;KAEnD,wBACH,YACA,kBAAkB,WAAW,aAC7B,wCACE,+CAEA,mCACU,cAAc,gBAAgB,YAAY,qBACvC,4CAGT,gBAAgB,YAAY,WAAW,WACpC,wBAAwB,YAAY,WAAW;KAIrD,kBAAkB,YAAY,kBAAkB,WAAW,kBAC7D,aAAa,gBAAgB,YAAY,cACxC,oBAAoB,gBAAgB,YAAY,WAAW,uCAGzD,aACJ,gBAAgB,YAAY;KAEzB,mBAAmB,YAAY,kBAAkB,WAAW,gBAC/D,kBAAkB,YAAY,oDAGlB,kBAAkB,YAAY;KAEvC,aAAa,YAAY,kBAAkB,WAAW,kBACxD,aAAa,gBAAgB,YAAY,aAAa,oBACrD,gBAAgB,YAAY,WAAW;WACpB,aAAa;IAC9B,gBAEJ,gBAAgB,YAAY;KAEzB,sBACH,YACA,kBAAkB,WAAW,eAC3B,2BAA2B,gBAAgB,YAAY;KAEtD,gBAAgB,YAAY,kBAAkB,WAAW,eAAe,QAC3E,gBAAgB,YAAY;WACjB;aAAgB,aAAa;;IAEpC;KAID,kBAAkB,YAAY,kBAAkB,WAAW,gBAC9D,sBAAsB,YAAY,kCAEhC,mBAAmB,YAAY,aAC/B,sBAAsB,YAAY;KAEjC,YAAY,YAAY,kBAAkB,WAAW,gBACxD,gBAAgB,YAAY,8BAE1B,QAAQ,aAAa,YAAY,cACjC,gBAAgB,YAAY;KAE3B,cACH,wBACA,0BACA,2BACA,gDACA,mBAAmB,iDACnB;WAES,YAAY;WACZ,SAAS;WACT,UAAU;WACV,UAAU;KAChB;WAAoC,SAAS;IAAY,yBAC3D,mBAAmB;WACL,YAAY;IACvB,yBACH;WAA+B;IAAe;KAE5C,mBACH,YACA,kBAAkB,WAAW,aAC7B,4BAEA,kBAAkB,gBAAgB,YAAY,aAC1C,cACE,kBACE,uBAAuB,YAAY,gBAAgB,YAAY,WAAW,cAE5E,gBAAgB,gBAAgB,YAAY,WAAW,aACvD,qBACE,uBAAuB,YAAY,gBAAgB,YAAY,WAAW,cAE5E,0BAA0B,YAAY,gBAAgB,YAAY,WAAW,aAC7E,6BAA6B,YAAY,gBAAgB,YAAY,WAAW,aAChF,YAAY,gBAAgB,YAAY,WAAW;KAItD,YAAY,0BACL,aAAa,WAAW;WACvB;aACE,OAAO,eAAe,YAAY;aAClC,oBACG,aAAa,gBAAgB,YAAY;eACxC,QAAQ,gBAAgB,YAAY,WAAW;;;WAIrD,oBACG,aAAa,gBAAgB,YAAY;aACxC,UAAU,mBAAmB,YAAY,WAAW;aACpD;eACE;eACA,SAAS,mBAAmB,YAAY,WAAW;;;WAIzD,uBACG,WAAW,yBAAyB,YAAY,aAAa;;KAKxE,yBACH,YACA,kBAAkB,WAAW,eAC3B,YAAY,YAAY;KAEvB,oBACH,YACA,kBAAkB,WAAW,eAC3B,YAAY,YAAY;KAEvB,yBAAyB,YAAY,kBAAkB,WAAW,2BAC3D,mBAAmB,yBAAyB,YAAY,uBACtD,yBACV,YACA,WACA,uBAAuB,mBAAmB,YAAY,WAAW;KAGhE,mBAAmB,0BACZ,aAAa,WAAW,eAAe,oBAAoB,YAAY;WACtE,SAAS,yBAAyB,YAAY;WAC9C,SAAS;aACP;aACA;;WAEF,SAAS,cAAc;WACvB,aAAa;aACX;eACE,aAAa;eACb;eACA;;aAEF;eACE,aAAa;eACb;eACA;eACA;;aAEF;aACA,WAAW;aACX,WAAW;aACX;aACA;;KAER,kBAAkB,YAAY;WAEpB;aACE,SAAS,wBAChB,YACA,WACA,kBAAkB,YAAY;aAEvB,OAAO,YAAY,YAAY;;IAG5C;KAGD,gBAAgB,cAAc;WACxB,cAAc;IAErB,QAAQ,WAAW,eAAe,uCAIX,QAAQ,KAC3B,uBACA,QAAQ,KACV,uBACF;KAEC,uBAAuB,UAC1B,eAAe,qBAAqB,aAAa,cAAc,aAAa;WAE7D,QAAQ;WACR,OAAO;WACP,SAAS;EAClB,IAAI,GAAG;EACP,OAAO,GAAG;EACV,UAAU,GAAG;;KAIhB,mBAAmB,0BACZ,WAAW,gBAAgB,cAAc,uBACjD,gBAAgB,YAAY;KAI3B,yBAAyB,0BAClB,WAAW,gBAAgB,eAAe,gBAAgB,YAAY,WAAW,sBACvF,YACQ,gBAAgB,YAAY;KAGrC,YAAY,cACf,yBAAyB,oBAAoB,uBACzC;WAEW;aACE,OAAO,yBAAyB;;;KAS9C,qBAAqB;WACf,QAAQ,YAAY;WACpB,eAAe,eAAe;WAC9B,OAAO,eAAe;;KAG5B,0BAA0B,cAC7B,mBAAmB;KAEhB,aAAa;WACP,aAAa;WACb,QAAQ,yBAAyB;WAUjC,wBACG,KAAK,0BAA0B;aAC9B,IAAI;aACJ;aACA;eACE,OAAO,mBAAmB;;qBAI7B,MAAM,QACd,qBAAqB,aACrB,0BAA0B;aAEjB,IAAI;aACJ;aACA;eACE,OAAO;;;;KAMnB,oBAAoB,OAAO;WAAuB;;KAKlD,eAAe,eAAe,eAAe,sBAChD,6BAA6B,sCAEA,iBAEzB;KASD,wBAAwB,cAAc;WAChC;aACE;eAAmB,eAAe;;;IAG3C;KAQC,wBAAwB,eAAe,kBAAkB,iEAEhC,wBAAwB,kBAAkB,uBAElE,wBAAwB,kBAAkB;KAI3C,iBACH,YACA,kBAAkB,WAAW,aAC7B,kBAAkB,gBAAgB,YAAY,YAC9C,sCACE,mBAAmB,YAAY,WAAW,qCAAoC,iBAC1E,yBAAyB,eAC7B,yBAAyB,YAAY,wBAAwB,KAAK,gBAAgB,OAChF,oBAAoB,mBAAmB,YAAY,WAAW,2BAC5D,cAAc,KACd;KAOH,gBAAgB,eAAe,eAAe,+BAC/C,wBAAwB,cACxB,eAAe;KAKd,iBACH,YACA,kBAAkB,WAAW,aAC7B,kBAAkB,gBAAgB,YAAY,YAC9C,wCAEI,gBAAgB,gBAAgB,YAAY,WAAW,+BACrD,iBAAiB,YAAY,WAAW,WAAW,WACnD,oBAAoB,mBAAmB,YAAY,WAAW,2BAC5D,cAAc,gBAAgB,gBAAgB,YAAY,WAAW,eACrE,gBAAgB,gBAAgB,YAAY,WAAW,gBAC5D,gBAAgB,gBAAgB,YAAY,WAAW;KASvD,kBAAkB,YAAY,kDACvB,MAAM,0BAA0B,0BAC9B,aAAa,WAAW,0BACtB,aAAa,gBAAgB,YAAY,aAAa,iBAC9D,YACA,WACA,WACA;KAMH,0BAA0B,YAAY,kDAC/B,MAAM,0BAA0B,0BAC9B,aAAa,WAAW,eAAe,oBAAoB,YAAY,yBACrE,aAAa,gBAAgB,YAAY,cAAc,yBAC/D,YACA,WACA,uBAAuB,iBAAiB,YAAY,WAAW,WAAW;KAKtE,kBAAkB,cAAc,qBAC1C,KAAK,SAAS,aAAa;WAChB,QAAQ,mBAAmB;WAC3B;;WAEA;aACE,YAAY,SAAS,eAAe,qBAAqB;MAChE,YAAY;;WAEP,sBAAsB,yBAAyB,4BACpD,wBACA,yBAAyB;WACpB,cAAc,oBAAoB;WAClC,eAAe,mBAAmB;GAE7C,SACE,yBAAyB,aACzB,uBACA,kBAAkB,uBAClB,kBAAkB,sBAClB,0BAA0B,uBAC1B,0BAA0B;;;KCnwBzB,6BAA6B,QAAQ,kCACxC,cAEA;KAEG,8BAA8B,QAAQ,kCACzC,eAEA;KAEG,iCAAiC,QAAQ,kCAC5C,qBAEA;KAGG,6BAA6B,kBAAkB,kCAClD;KAGG,8BAA8B,kBAAkB,kCACnD;KAGG,+BAA+B,kBAAkB,kCACpD;KAIG,0BACH,mBAAmB,oCACnB;WAES;WACA,SAAS,qBAAqB,iCAAiC;WAC/D,YAAY,qBAAqB,oCAAoC;KAC3E;WACM,kBAAkB,mBAAmB;;WAGjC,YAAY,qBAAqB,YAAY;;WAE7C,YAAY;;KAEtB,mBAAmB,mBAAmB,sCACzC;WAA8B,YAAY,sBAAsB;WACrD,eAAe,6BAA6B,UAC9C,MAAM,WACN,0BAA0B,YAAY,gBACrC,0BAA0B;KAEjC,yBAAyB,yBAClB,WAAW,YAAY,UAAU,WAAW,qCAClD,mBAAmB,UAAU,MAC7B,UAAU,WAAW,0BACnB,yBAAyB,UAAU;KAItC,mBAAmB,YAAY;KAE/B,uBAAuB,QAAQ,QAAQ,kBAAkB;WACjD,UAAU;WAAiB,UAAU;KAAY,uBAAuB,0BAI/E,iBACA;KAGD,eAAe,mBAAmB;SAE7B,0BACN,eAAe,eAAe,qBAC9B,kBAAkB,eAAe,sBAAsB,sBAEvD,WAAW,WACX;aAAkB,QAAQ;aAAiB,YAAY;aAAoB;MAC1E,qBAAqB,WAAW,QAAQ,iCAAiC;GAE1E,eAAe,eAAe,qBAC9B,kBAAkB,eAAe,sBAAsB,sBACvD;aACS,QAAQ;aACR,YAAY;aACZ;MACP,gCAAgC,QAAQ,iCAAiC;;KAGnE,yBACV,eAAe,uBACf,eAAe,8BACf,uBAAuB,eAAe,gDACpC,2BACF,iCAAiC,UAC/B,iCAAiC,UACjC,+BAA+B;WAExB,OAAO,mBACd,0BACE,8BAA8B,UAC5B,8BAA8B,UAC9B,8BAA8B;WAE3B,OAAO,eAAe,uBAAuB,QAAQ,QAAQ;WAC7D,YAAY;WACZ,MAAM,yBACb,6BAA6B,UAC3B,6BAA6B,UAC7B,6BAA6B;;;;;;;;;;;;;;;;;KCxHvB,mBAAmB,SAC7B,eAAe,SAAS,eAAe,SAAS;UAGjC;WACN;WACA;WACA,YAAY;WACZ;WACA,UAAU;WACV,oBAAoB;WACpB;;WAEA,iBAAiB;;UAGX;WACN;WACA;;UAGM;WACN;WACA;;UAGM;WACN;WACA;WACA;WACA,UAAU;;UAGJ;WACN;WACA;aACE;aACA;aACA;;;;;;;aAOA;;;;;;aAMA;;WAEF;WACA,WAAW;WACX,WAAW;WACX;WACA;;UAGM;WACN;WACA;WACA;;;;;;;;WAQA;WACA;;;;;;WAMA;;;;;WAKA;WACA;aACE;aACA;aACA;aACA;;WAEF;aACE;;;;;;;;aAQA;aACA;aACA;;;UAII;WACN;WACA;WACA;WACA;WACA,UAAU;WACV,oBAAoB;WACpB;;UAGM;WACN;WACA,kBAAkB,YAAY;;UAGxB;WACN;WACA;;;;;;;;;;;WAWA;WACA,kBAAkB,YAAY;WAC9B,KAAK;WACL,mBAAmB;WACnB,mBAAmB;WACnB,uBAAuB;WACvB,qBAAqB;WACrB,UAAU;;;;;;;;WAQV;;UAGM;WACN,QAAQ;WACR,uBAAuB;WACvB,iBAAiB,eAAe;WAChC;WACA,qBAAqB;WACrB,eAAe,eAAe;;;;;WAK9B;;WAEA,kBAAkB,OAAO,sBAAsB;WAC/C,iBAAiB;WACjB,wBAAwB;;;;;;WAMxB,QAAQ,eAAe;;;;;;;;;;;WAWvB,mBAAmB;;;;iBC6bd,+BACd,YAAY,oBACZ,cAAc,cACb,SAAS;;;KC5mBP;WACM;aACE;aACA;aACA,QAAQ,eAAe;aACvB,WAAW,eAAe,gBAAgB;;WAE5C,cAAc;WACd,OAAO;EAChB,uBAAuB;EACvB,gBAAgB;;KAGb,qBACH,eAAe,uBACf,eAAe,8BACf,cAAc,eAAe,sBAC7B,eAAe,eAAe,YAC9B,uBAAuB,eAAe,8CACtC,eAAe,qCACf,wCACA,2BAA2B,qCAC3B,8DACA,cAAc,eAAe,kBAAkB,eAAe;WAErD,QAAQ;WACR,QAAQ;WACR,iBAAiB;WACjB,SAAS;WACT,cAAc;WACd,qBAAqB;WACrB,uBAAuB;WACvB,aAAa;WACb,kBAAkB,OAAO,sBAAsB;WAC/C,QAAQ;WACR,SAAS;WACT,cAAc;WACd,QAAQ;WACR,oBAAoB;;KAG1B,iBACH,eAAe,uBACf,eAAe,8BACf,uBAAuB,eAAe,8CACtC,eAAe,qCACf,wCACA,2BAA2B,qCAC3B,8DACA,cAAc,eAAe,kBAAkB,eAAe;WAErD,QAAQ;WACR,QAAQ;WACR,iBAAiB;WACjB,SAAS;WACT,cAAc;WACd,qBAAqB;WACrB,uBAAuB;WACvB,aAAa;WACb,kBAAkB,OAAO,sBAAsB;WAC/C;WACA;WACA,cAAc;WACd,QAAQ;WACR,oBAAoB;;KAG1B,gBACH,eAAe,uBACf,eAAe,8BACf,cAAc,eAAe,sBAC7B,eAAe,eAAe,YAC9B,uBAAuB,eAAe,8CACtC,cAAc,eAAe,kBAAkB,eAAe,oBAC3D,SAAS,yBAAyB,QAAQ,QAAQ;WAC5C,QAAQ;WACR,SAAS;WACT,QAAQ;WACR,oBAAoB;;KAmP1B,qBACH,cAAc,eAAe,uBAAuB,sBACpD,eAAe,eAAe,aAAa,sBAC3C,uBAAuB,eAAe,0DACtC,eAAe,iDACf,oDACA,2BAA2B,iDAC3B;WAES,iBAAiB;WACjB,SAAS;WACT,cAAc;WACd,qBAAqB;WACrB,uBAAuB;WACvB,aAAa;WACb,kBAAkB,OAAO,sBAAsB;WAC/C,QAAQ;WACR,SAAS;WACT,cAAc;WACd,QAAQ,eAAe;WACvB,oBAAoB;;KAM1B,aAAa,UAAU,eAAe,wCAAwC,IAC/E,uBACA;KAIQ,WACV,sBAAsB,eAAe,iBACrC,qBAAqB,eAAe,mBAClC,aAAa,iBAAiB,aAAa;KAG1C,iBACH,OACA,UAAU,uBACV,UAAU,gCACR;WAAmB,QAAQ;WAAY,QAAQ;;;;;;;;;;iBAUnC,yBACR,UAAU,6BACV,UAAU,oCACV,mBAAmB,qBACvB,eAAe,sBACf,eAAe,YACf,eAAe,8CACf,yDAEA,qEAIF,QAAQ,GACR,QAAQ,GACR,YAAY,YACZ,sBACC,kBAAkB,iBAAiB,YAAY,GAAG;;;;iBAIrC,yBACR,UAAU,6BACV,UAAU,oCACV,mBAAmB,qBACvB,eAAe,sBACf,eAAe,YACf,eAAe,8CACf,yDAEA,2EAGI;WACK,QAAQ,eAAe;WACvB,SAAS,eAAe;WACxB,QAAQ,eAAe;WACvB,oBAAoB;GAG/B,QAAQ,GACR,QAAQ,GACR,YAAY,YACZ,UACE,SAAS,yBAAyB,GAAG,GAAG,YAAY,mCACjD,QACJ,kBAAkB,iBAAiB,aAAa,OAAO,GAAG;iBA6C7C,qBACR,eAAe,6BACf,eAAe,oCACf,cAAc,eAAe,uBAAuB,4BACpD,eAAe,eAAe,aAAa,4BAC3C,uBACF,eAAe,gEAEb,eAAe,uDACf,0DACA,2BAA2B,uDAC3B,oEACA,cAAc,eAAe,kBAAkB,eAAe,iBAEpE,YAAY,qBACV,QACA,QACA,OACA,QACA,gBACA,QACA,aACA,oBACA,YACA,SAED,kBACD,qBACE,QACA,QACA,OACA,QACA,gBACA,QACA,aACA,oBACA,YACA;iBAGY,qBACR,eAAe,6BACf,eAAe,oCACf,cAAc,eAAe,uBAAuB,4BACpD,eAAe,eAAe,aAAa,4BAC3C,uBACF,eAAe,gEAEb,eAAe,uDACf,0DACA,2BAA2B,uDAC3B,oEACA,sBAAsB,eAAe,kBAAkB,eAAe,uBACtE,qBAAqB,eAAe,kBAAkB,eAAe,iBAE3E,YAAY,iBACV,QACA,QACA,gBACA,QACA,aACA,oBACA,YACA,gBAEF,SAAS,gBAAgB,QAAQ,QAAQ,OAAO,QAAQ,gBAAgB,gBACvE,kBACD,qBACE,QACA,QACA,OACA,QACA,gBACA,QACA,aACA,oBACA,YACA,WAAW,eAAe;;;iBC0fd,wBAAwB,YAAY,gBAAgB"}
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","../src/contract-lowering.ts"],"mappings":"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"}