@prisma/orm-family-sql 8.0.0-rc.20-dev.14 → 8.0.0-rc.21

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.
Files changed (84) hide show
  1. package/dist/{attribute-specs-DA_RwQFB.d.mts → attribute-specs-Dcd2ZUrY.d.mts} +4 -3
  2. package/dist/attribute-specs-Dcd2ZUrY.d.mts.map +1 -0
  3. package/dist/{authoring-entity-types-CgKIgWq5-pEdfjam5.d.mts → authoring-entity-types-CgKIgWq5-CZK1F9a_.d.mts} +2 -2
  4. package/dist/{authoring-entity-types-CgKIgWq5-pEdfjam5.d.mts.map → authoring-entity-types-CgKIgWq5-CZK1F9a_.d.mts.map} +1 -1
  5. package/dist/compare-strings-BVf3BgCV-CefXnrMB.mjs +10 -0
  6. package/dist/compare-strings-BVf3BgCV-CefXnrMB.mjs.map +1 -0
  7. package/dist/{contract-builder-C_Zi57iD.d.mts → contract-builder-B-Q9T1CO.d.mts} +10 -79
  8. package/dist/contract-builder-B-Q9T1CO.d.mts.map +1 -0
  9. package/dist/{contract-builder-50lF0kz1.mjs → contract-builder-DMNe_jX9.mjs} +109 -96
  10. package/dist/contract-builder-DMNe_jX9.mjs.map +1 -0
  11. package/dist/contract-prisma7__provider.mjs +2 -2
  12. package/dist/contract-psl.d.mts +2 -2
  13. package/dist/contract-psl.d.mts.map +1 -1
  14. package/dist/contract-psl.mjs +1 -1
  15. package/dist/contract-psl__attribute-specs.d.mts +1 -1
  16. package/dist/contract-psl__attribute-specs.mjs +1 -1
  17. package/dist/contract-psl__diagnostics.d.mts +3 -4
  18. package/dist/contract-psl__diagnostics.d.mts.map +1 -1
  19. package/dist/contract-psl__diagnostics.mjs +1 -1
  20. package/dist/contract-psl__provider.mjs +1 -1
  21. package/dist/contract-psl__provider.mjs.map +1 -1
  22. package/dist/contract-ts.d.mts +1 -1
  23. package/dist/contract-ts.mjs +1 -1
  24. package/dist/contract-ts__contract-builder.d.mts +1 -1
  25. package/dist/contract-ts__contract-builder.mjs +1 -1
  26. package/dist/contract.d.mts +2 -1
  27. package/dist/contract.mjs +2 -1
  28. package/dist/contract__generated-id-column-aliases.d.mts +2 -0
  29. package/dist/contract__generated-id-column-aliases.mjs +2 -0
  30. package/dist/{control-CffuMKgt.d.mts → control-B6W_VEZ9.d.mts} +50 -176
  31. package/dist/control-B6W_VEZ9.d.mts.map +1 -0
  32. package/dist/{control-D7N_L18S.mjs → control-D6wIw5Fi.mjs} +4 -5
  33. package/dist/control-D6wIw5Fi.mjs.map +1 -0
  34. package/dist/diagnostics-C7jR1Jyf.mjs +109 -0
  35. package/dist/diagnostics-C7jR1Jyf.mjs.map +1 -0
  36. package/dist/family.d.mts +4 -4
  37. package/dist/family.mjs +5 -6
  38. package/dist/family__control.d.mts +1 -1
  39. package/dist/family__control.mjs +1 -1
  40. package/dist/family__pack.d.mts +2 -2
  41. package/dist/family__pack.mjs +27 -3
  42. package/dist/family__pack.mjs.map +1 -0
  43. package/dist/family__psl-build.mjs +1 -1
  44. package/dist/family__runtime.d.mts +1 -1
  45. package/dist/family__runtime.mjs +1 -1
  46. package/dist/generated-id-column-aliases-DCuTuZrU.d.mts +71 -0
  47. package/dist/generated-id-column-aliases-DCuTuZrU.d.mts.map +1 -0
  48. package/dist/generated-id-column-aliases-DPUii1fN.mjs +51 -0
  49. package/dist/generated-id-column-aliases-DPUii1fN.mjs.map +1 -0
  50. package/dist/{generator-functions-Cg5QkM46-C1ByFzyT.mjs → generator-functions-Hy4pDDr9-AUCNpeg5.mjs} +49 -187
  51. package/dist/generator-functions-Hy4pDDr9-AUCNpeg5.mjs.map +1 -0
  52. package/dist/{interpreter-D5qk4B---CG0C7kdx.mjs → interpreter-CS21wD1i-G0u1x8t_.mjs} +13 -10
  53. package/dist/interpreter-CS21wD1i-G0u1x8t_.mjs.map +1 -0
  54. package/dist/orm-client.d.mts +2 -2
  55. package/dist/orm-client.mjs +2 -2
  56. package/dist/orm-client.mjs.map +1 -1
  57. package/dist/{pack-DA8HZ2mo.d.mts → pack-Cap3oVPy.d.mts} +69 -280
  58. package/dist/pack-Cap3oVPy.d.mts.map +1 -0
  59. package/dist/{psl-build-DFBG6vhz.mjs → psl-build-DqqYhOsa.mjs} +2 -2
  60. package/dist/psl-build-DqqYhOsa.mjs.map +1 -0
  61. package/dist/{psl-column-resolution-ChZqioOc-BREg4J7d.d.mts → psl-column-resolution-djGEITmJ-B5iMpe8H.d.mts} +4 -4
  62. package/dist/psl-column-resolution-djGEITmJ-B5iMpe8H.d.mts.map +1 -0
  63. package/dist/{psl-field-resolution-C5KQ7kzP-B0NwuRWV.mjs → psl-field-resolution-Bvhx79fP-CQqHf_L4.mjs} +20 -107
  64. package/dist/psl-field-resolution-Bvhx79fP-CQqHf_L4.mjs.map +1 -0
  65. package/dist/{runtime-6tH1yOxK.mjs → runtime-CCzfa1mY.mjs} +2 -3
  66. package/dist/{runtime-6tH1yOxK.mjs.map → runtime-CCzfa1mY.mjs.map} +1 -1
  67. package/dist/{runtime-CF6rAlE5.d.mts → runtime-JKWb27L5.d.mts} +2 -3
  68. package/dist/{runtime-CF6rAlE5.d.mts.map → runtime-JKWb27L5.d.mts.map} +1 -1
  69. package/package.json +19 -18
  70. package/dist/attribute-specs-DA_RwQFB.d.mts.map +0 -1
  71. package/dist/contract-builder-50lF0kz1.mjs.map +0 -1
  72. package/dist/contract-builder-C_Zi57iD.d.mts.map +0 -1
  73. package/dist/control-CffuMKgt.d.mts.map +0 -1
  74. package/dist/control-D7N_L18S.mjs.map +0 -1
  75. package/dist/diagnostics-RHJxoiIk.mjs +0 -23
  76. package/dist/diagnostics-RHJxoiIk.mjs.map +0 -1
  77. package/dist/generator-functions-Cg5QkM46-C1ByFzyT.mjs.map +0 -1
  78. package/dist/interpreter-D5qk4B---CG0C7kdx.mjs.map +0 -1
  79. package/dist/pack-DA8HZ2mo.d.mts.map +0 -1
  80. package/dist/pack-DOTaBfUC.mjs +0 -80
  81. package/dist/pack-DOTaBfUC.mjs.map +0 -1
  82. package/dist/psl-build-DFBG6vhz.mjs.map +0 -1
  83. package/dist/psl-column-resolution-ChZqioOc-BREg4J7d.d.mts.map +0 -1
  84. package/dist/psl-field-resolution-C5KQ7kzP-B0NwuRWV.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-builder-DMNe_jX9.mjs","names":["#handle","column"],"sources":["../../../../2-sql-family/2-authoring/contract-ts/dist/contract-builder.mjs"],"sourcesContent":["import { a as isValueObjectMember, i as toOneNullabilityContradictionMessage, n as buildSqlContractFromDefinition, o as storedAsListColumn, r as refuseTypesKey, s as contractError, t as applySqlSpecifierControlPolicy } from \"./derived-checks-D5HVRvqN.mjs\";\nimport { SQL_EXPRESSION_TAG, SqlExpression, isSqlExpression, readSqlExpression, requireSqlExpression, sql } from \"@internal/sql-contract/sql-expression\";\nimport { answerMissingPropertyReads, assertSafeAuthoringHelperKey, bindEnumType, composePackAuthoringNamespace, createEntityHelpersFromNamespace, enumType, isEnumTypeHandle, member, resolveToOneRelationNullable } from \"@internal/contract-authoring\";\nimport { assembleDataTypeSupport, assertNoCrossRegistryCollisions, assertTypeAliasesValid, describeAdmittedForms, instantiateAuthoringTypeAlias, instantiateAuthoringTypeConstructor, isAuthoringEntityTypeDescriptor, isAuthoringTypeAliasDescriptor, isAuthoringTypeConstructorDescriptor, isAuthoringTypeDescriptor, readWrittenValueAs, validateAuthoringHelperArguments, validateAuthoringTypeParams } from \"@internal/framework-components/authoring\";\nimport { assembleGeneratorFunctions, createGeneratorHelpers } from \"@internal/framework-components/components\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { dataTypeId, numeralText } from \"@internal/framework-components/codec\";\nimport { CODEC_INSTANCE_KIND } from \"@internal/sql-contract/types\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { isStructuredError } from \"@internal/utils/structured-error\";\nimport { isColumnDefault } from \"@internal/contract/types\";\nimport { checkSqlDefaultText, reservedSqlDefaultText } from \"@internal/sql-contract/validators\";\nimport { GENERATED_ID_COLUMN_ALIAS_NAMESPACES, generatedIdColumnAliases } from \"@internal/sql-contract/generated-id-column-aliases\";\nimport { UNBOUND_PSL_NAMESPACE_NAME } from \"@internal/framework-components/psl-ast\";\nimport { sqlColumnLength } from \"@internal/sql-contract/data-type\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { providesEntityHandleLowering } from \"@internal/sql-contract/entity-handle-lowering-hook\";\n//#region src/authoring-helper-runtime.ts\n/** The written value a TypeScript argument stands for: a number, string or boolean as written in PSL, and a `sql` value as a `sql` literal of its text. */\nfunction writtenValueOf(value) {\n\tif (typeof value === \"number\") return {\n\t\tkind: \"number\",\n\t\ttext: numeralText(value)\n\t};\n\tif (typeof value === \"string\") return {\n\t\tkind: \"string\",\n\t\ttext: value\n\t};\n\tif (typeof value === \"boolean\") return {\n\t\tkind: \"boolean\",\n\t\tvalue\n\t};\n\tconst expression = readSqlExpression(value);\n\treturn expression === void 0 ? void 0 : {\n\t\tkind: \"tag\",\n\t\ttag: SQL_EXPRESSION_TAG,\n\t\ttext: expression.text\n\t};\n}\nfunction readValueArgument(label, value, dataType, dataTypes) {\n\tconst refuse = (message) => {\n\t\tthrow contractError(\"CONTRACT.ARGUMENT_INVALID\", `${label}: ${message}`, { meta: { dataType } });\n\t};\n\tconst written = writtenValueOf(value);\n\tif (written === void 0) return refuse(`Expected ${describeAdmittedForms(dataTypes, dataType)}`);\n\tconst read = readWrittenValueAs(dataTypes, dataType, written);\n\treturn read.ok ? read.value.value : refuse(read.failure.message);\n}\n/**\n* The arguments of a type constructor call as the constructor receives them: each `value` argument read as a value of its data type, through the same read and cast as a PSL argument, so both give the same parameters. ADR 129, ADR 254.\n*/\nfunction readValueArguments(helperPath, descriptors, args, dataTypes) {\n\treturn args.map((value, index) => {\n\t\tconst descriptor = descriptors?.[index];\n\t\tif (descriptor === void 0 || value === void 0) return value;\n\t\treturn readValueArgument(descriptor.name === void 0 ? `Argument #${index + 1} of ${helperPath}` : `Argument \"${descriptor.name}\" of ${helperPath}`, value, dataTypeId(descriptor.dataType), dataTypes);\n\t});\n}\nfunction createTypeHelpersFromNamespace(namespace, lookups, path = []) {\n\tconst helpers = {};\n\tfor (const [key, value] of Object.entries(namespace)) {\n\t\tassertSafeAuthoringHelperKey(key, path);\n\t\tconst currentPath = [...path, key];\n\t\tif (isAuthoringTypeConstructorDescriptor(value)) {\n\t\t\tconst helperPath = currentPath.join(\".\");\n\t\t\thelpers[key] = (...written) => {\n\t\t\t\tvalidateAuthoringHelperArguments(helperPath, value.args, written);\n\t\t\t\tconst args = readValueArguments(helperPath, value.args, written, lookups.dataTypes);\n\t\t\t\tconst output = instantiateAuthoringTypeConstructor(value, args);\n\t\t\t\tvalidateAuthoringTypeParams(helperPath, value.output, output.typeParams, lookups.codecLookup.descriptorFor(output.codecId)?.paramsSchema);\n\t\t\t\treturn {\n\t\t\t\t\tkind: CODEC_INSTANCE_KIND,\n\t\t\t\t\tcodecId: output.codecId,\n\t\t\t\t\ttypeParams: output.typeParams ?? {}\n\t\t\t\t};\n\t\t\t};\n\t\t\tcontinue;\n\t\t}\n\t\tif (isAuthoringTypeAliasDescriptor(value)) {\n\t\t\tconst helperPath = currentPath.join(\".\");\n\t\t\thelpers[key] = (...args) => {\n\t\t\t\tvalidateAuthoringHelperArguments(helperPath, [], args);\n\t\t\t\tconst { type, onCreate, onUpdate } = instantiateAuthoringTypeAlias(value);\n\t\t\t\tconst generatorCalls = {\n\t\t\t\t\t...ifDefined(\"onCreate\", onCreate),\n\t\t\t\t\t...ifDefined(\"onUpdate\", onUpdate)\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\tkind: CODEC_INSTANCE_KIND,\n\t\t\t\t\tcodecId: type.codecId,\n\t\t\t\t\ttypeParams: type.typeParams ?? {},\n\t\t\t\t\t...Object.keys(generatorCalls).length === 0 ? {} : { generatorCalls }\n\t\t\t\t};\n\t\t\t};\n\t\t\tcontinue;\n\t\t}\n\t\thelpers[key] = createTypeHelpersFromNamespace(value, lookups, currentPath);\n\t}\n\treturn helpers;\n}\n//#endregion\n//#region src/contract-dsl.ts\nfunction withGeneratorCall(state, phase, call) {\n\tif (state.generatorCalls?.[phase] !== void 0) throw contractError(\"CONTRACT.DEFAULT_INVALID\", `.${phase}() is called on a field that already generates a value ${phase === \"onCreate\" ? \"on create\" : \"on update\"}. Set each phase once, and do not combine .${phase}() with a type alias or alias constant that sets it.`, { meta: {\n\t\treason: \"generator-phase-set-twice\",\n\t\tphase\n\t} });\n\treturn {\n\t\t...state,\n\t\tgeneratorCalls: {\n\t\t\t...state.generatorCalls,\n\t\t\t[phase]: call\n\t\t}\n\t};\n}\nfunction withColumnDefault(state, columnDefault) {\n\tif (state.default !== void 0) throw contractError(\"CONTRACT.DEFAULT_INVALID\", \".default() is called on a field that already has a default. Set the default once, and do not combine .default() with an alias constant that sets one.\", { meta: { reason: \"default-set-twice\" } });\n\treturn {\n\t\t...state,\n\t\tdefault: columnDefault\n\t};\n}\nfunction toColumnDefault(value) {\n\tconst expression = readSqlExpression(value);\n\tif (expression !== void 0) return sqlExpressionDefault(expression);\n\tif (isColumnDefault(value)) return value;\n\treturn {\n\t\tkind: \"literal\",\n\t\tvalue\n\t};\n}\nfunction sqlExpressionDefault(value) {\n\tconst reserved = reservedSqlDefaultText(value.text);\n\tif (reserved !== void 0) throw contractError(\"CONTRACT.DEFAULT_INVALID\", `Write .default(${reserved}()) instead of sql\\`${reserved}()\\`; ${reserved}() is a Prisma default function, not raw SQL.`, { meta: {\n\t\treason: \"reserved-function\",\n\t\texpression: value.text\n\t} });\n\tconst unsafe = checkSqlDefaultText(value.text);\n\tif (unsafe !== void 0) throw contractError(\"CONTRACT.DEFAULT_INVALID\", unsafe, { meta: {\n\t\treason: \"unsafe-sql\",\n\t\texpression: value.text\n\t} });\n\treturn {\n\t\tkind: \"function\",\n\t\texpression: value.text\n\t};\n}\nvar ScalarFieldBuilder = class ScalarFieldBuilder {\n\tstate;\n\tconstructor(state) {\n\t\tthis.state = state;\n\t}\n\t/**\n\t* Returns the physical column name when `.column(name)` was called, or\n\t* `undefined` when the field uses the default (logical field name) mapping.\n\t* Used by cross-space FK lowering to stamp the physical column name onto\n\t* `TargetFieldRef.columnName` so FK target columns are resolved correctly.\n\t*/\n\tget physicalColumnName() {\n\t\treturn this.state.columnName;\n\t}\n\toptional() {\n\t\treturn new ScalarFieldBuilder(blindCast({\n\t\t\t...this.state,\n\t\t\tnullable: true\n\t\t}));\n\t}\n\tcolumn(name) {\n\t\treturn new ScalarFieldBuilder(blindCast({\n\t\t\t...this.state,\n\t\t\tcolumnName: name\n\t\t}));\n\t}\n\tmany(options) {\n\t\treturn new ScalarFieldBuilder(blindCast({\n\t\t\t...this.state,\n\t\t\tmany: { elementNullable: options?.elementsNullable === true }\n\t\t}));\n\t}\n\tdefault(value) {\n\t\treturn blindCast(new ScalarFieldBuilder(withColumnDefault(this.state, toColumnDefault(value))));\n\t}\n\t/** Generates the field's value in the client when a row is created without one, with a call from `gen`, such as `gen.uuid()`. */\n\tonCreate(call) {\n\t\treturn blindCast(new ScalarFieldBuilder(withGeneratorCall(this.state, \"onCreate\", call)));\n\t}\n\t/** Generates the field's value in the client every time a row is updated, with a call from `gen`, such as `gen.now()`. */\n\tonUpdate(call) {\n\t\treturn blindCast(new ScalarFieldBuilder(withGeneratorCall(this.state, \"onUpdate\", call)));\n\t}\n\t/**\n\t* @deprecated Write `.default(now())` or `.default(autoincrement())`, or `` .default(sql`...`) `` for any other SQL. Removed in 8.0.0.\n\t*/\n\tdefaultSql(expression) {\n\t\treturn blindCast(new ScalarFieldBuilder(withColumnDefault(this.state, {\n\t\t\tkind: \"function\",\n\t\t\texpression\n\t\t})));\n\t}\n\tid(options) {\n\t\treturn new ScalarFieldBuilder(blindCast({\n\t\t\t...this.state,\n\t\t\tid: options?.name ? { name: options.name } : {}\n\t\t}));\n\t}\n\tunique(options) {\n\t\treturn new ScalarFieldBuilder(blindCast({\n\t\t\t...this.state,\n\t\t\tunique: options?.name ? { name: options.name } : {}\n\t\t}));\n\t}\n\tsql(spec) {\n\t\tconst idSpec = \"id\" in spec ? spec.id : void 0;\n\t\tconst uniqueSpec = \"unique\" in spec ? spec.unique : void 0;\n\t\tif (idSpec && !this.state.id) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", \"field.sql({ id }) requires an existing inline .id(...) declaration.\");\n\t\tif (uniqueSpec && !this.state.unique) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", \"field.sql({ unique }) requires an existing inline .unique(...) declaration.\");\n\t\treturn new ScalarFieldBuilder(blindCast({\n\t\t\t...this.state,\n\t\t\t...spec.column ? { columnName: spec.column } : {},\n\t\t\t...idSpec ? { id: { name: idSpec.name } } : {},\n\t\t\t...uniqueSpec ? { unique: { name: uniqueSpec.name } } : {}\n\t\t}));\n\t}\n\tbuild() {\n\t\treturn this.state;\n\t}\n};\nvar EnumScalarFieldBuilder = class EnumScalarFieldBuilder extends ScalarFieldBuilder {\n\t#handle;\n\tconstructor(state, handle) {\n\t\tsuper(state);\n\t\tthis.#handle = handle;\n\t}\n\tdefault(value) {\n\t\treturn blindCast(new EnumScalarFieldBuilder(withColumnDefault(this.build(), {\n\t\t\tkind: \"literal\",\n\t\t\tvalue\n\t\t}), this.#handle));\n\t}\n\tdefaultSql(_expression) {\n\t\tthrow contractError(\"CONTRACT.DEFAULT_INVALID\", \"defaultSql is not available on an enum field; use .default(members.X) instead\", { meta: { reason: \"defaultSql-on-enum-field\" } });\n\t}\n};\nfunction isTypeAliasColumnType(descriptor) {\n\treturn \"generatorCalls\" in descriptor;\n}\nconst columnField = (descriptor) => {\n\tif (!isTypeAliasColumnType(descriptor)) return new ScalarFieldBuilder({\n\t\tkind: \"scalar\",\n\t\tdescriptor,\n\t\tnullable: false,\n\t\tmany: false\n\t});\n\tconst { generatorCalls, ...columnType } = descriptor;\n\treturn new ScalarFieldBuilder({\n\t\tkind: \"scalar\",\n\t\tdescriptor: blindCast(columnType),\n\t\tnullable: false,\n\t\tmany: false,\n\t\t...ifDefined(\"generatorCalls\", generatorCalls)\n\t});\n};\nconst namedTypeField = (handle) => new EnumScalarFieldBuilder(blindCast({\n\tkind: \"scalar\",\n\tenumHandle: handle,\n\tnullable: false,\n\tmany: false\n}), handle);\nvar RelationBuilder = class RelationBuilder {\n\tstate;\n\tconstructor(state) {\n\t\tthis.state = state;\n\t}\n\tsql(spec) {\n\t\tif (this.state.kind !== \"belongsTo\") throw contractError(\"CONTRACT.RELATION_INVALID\", \"relation.sql(...) is only supported for belongsTo relations.\", { meta: { relationKind: this.state.kind } });\n\t\treturn new RelationBuilder({\n\t\t\t...this.state,\n\t\t\tsql: spec\n\t\t});\n\t}\n\tbuild() {\n\t\treturn this.state;\n\t}\n};\nfunction normalizeFieldRefInput(input) {\n\treturn (Array.isArray(input) ? input : [input]).map((ref) => ref.fieldName);\n}\nfunction normalizeTargetFieldRefInput(input) {\n\tconst refs = Array.isArray(input) ? input : [input];\n\tconst [first] = refs;\n\tif (!first) throw contractError(\"CONTRACT.FOREIGN_KEY_INVALID\", \"Expected at least one target ref\", { meta: { reason: \"empty-target-refs\" } });\n\tif (refs.some((ref) => ref.modelName !== first.modelName)) throw contractError(\"CONTRACT.FOREIGN_KEY_INVALID\", \"All target refs in a foreign key must point to the same model\", { meta: {\n\t\tmismatch: \"modelName\",\n\t\tmodels: refs.map((ref) => ref.modelName)\n\t} });\n\tif (refs.some((ref) => ref.spaceId !== first.spaceId)) throw contractError(\"CONTRACT.FOREIGN_KEY_INVALID\", `All target refs in a compound foreign key must share the same spaceId (found mismatch: \"${first.spaceId ?? \"<local>\"}\" vs \"${refs.find((r) => r.spaceId !== first.spaceId)?.spaceId ?? \"<local>\"}\")`, { meta: {\n\t\tmismatch: \"spaceId\",\n\t\tfirst: first.spaceId,\n\t\tsecond: refs.find((r) => r.spaceId !== first.spaceId)?.spaceId\n\t} });\n\tif (refs.some((ref) => ref.namespaceId !== first.namespaceId)) throw contractError(\"CONTRACT.FOREIGN_KEY_INVALID\", \"All target refs in a compound foreign key must share the same namespaceId (found mismatch)\", { meta: { mismatch: \"namespaceId\" } });\n\tif (refs.some((ref) => ref.tableName !== first.tableName)) throw contractError(\"CONTRACT.FOREIGN_KEY_INVALID\", \"All target refs in a compound foreign key must share the same tableName (found mismatch)\", { meta: { mismatch: \"tableName\" } });\n\treturn {\n\t\tmodelName: first.modelName,\n\t\tfieldNames: refs.map((ref) => ref.columnName ?? ref.fieldName),\n\t\tsource: refs.some((ref) => ref.source === \"string\") ? \"string\" : \"token\",\n\t\tspaceId: first.spaceId,\n\t\tnamespaceId: first.namespaceId,\n\t\ttableName: first.tableName\n\t};\n}\nfunction createConstraintsDsl() {\n\tfunction ref(modelName, fieldName) {\n\t\treturn {\n\t\t\tkind: \"targetFieldRef\",\n\t\t\tsource: \"string\",\n\t\t\tmodelName,\n\t\t\tfieldName\n\t\t};\n\t}\n\tfunction id(fieldOrFields, options) {\n\t\treturn {\n\t\t\tkind: \"id\",\n\t\t\tfields: normalizeFieldRefInput(fieldOrFields),\n\t\t\t...options?.name ? { name: options.name } : {}\n\t\t};\n\t}\n\tfunction unique(fieldOrFields, options) {\n\t\treturn {\n\t\t\tkind: \"unique\",\n\t\t\tfields: normalizeFieldRefInput(fieldOrFields),\n\t\t\t...options?.name ? { name: options.name } : {}\n\t\t};\n\t}\n\tfunction index(fieldsOrOptions, options) {\n\t\tconst isExpressionForm = !Array.isArray(fieldsOrOptions) && typeof fieldsOrOptions === \"object\" && \"expression\" in fieldsOrOptions;\n\t\tconst opts = isExpressionForm ? fieldsOrOptions : options;\n\t\tconst carried = {\n\t\t\tkind: \"index\",\n\t\t\t...opts?.name !== void 0 ? { name: opts.name } : {},\n\t\t\t...opts?.map !== void 0 ? { map: opts.map } : {},\n\t\t\t...opts?.where !== void 0 ? { where: opts.where } : {},\n\t\t\t...opts?.unique !== void 0 ? { unique: opts.unique } : {},\n\t\t\t...opts?.type !== void 0 ? { type: opts.type } : {},\n\t\t\t...opts?.options !== void 0 ? { options: blindCast(opts.options) } : {}\n\t\t};\n\t\treturn isExpressionForm ? {\n\t\t\t...carried,\n\t\t\texpression: fieldsOrOptions.expression\n\t\t} : {\n\t\t\t...carried,\n\t\t\tfields: normalizeFieldRefInput(fieldsOrOptions)\n\t\t};\n\t}\n\tfunction foreignKey(fieldOrFields, target, options) {\n\t\tconst normalizedTarget = normalizeTargetFieldRefInput(target);\n\t\treturn {\n\t\t\tkind: \"fk\",\n\t\t\tfields: normalizeFieldRefInput(fieldOrFields),\n\t\t\ttargetModel: normalizedTarget.modelName,\n\t\t\ttargetFields: normalizedTarget.fieldNames,\n\t\t\ttargetSource: normalizedTarget.source,\n\t\t\t...normalizedTarget.spaceId !== void 0 ? { targetSpaceId: normalizedTarget.spaceId } : {},\n\t\t\t...normalizedTarget.namespaceId !== void 0 ? { targetNamespaceId: normalizedTarget.namespaceId } : {},\n\t\t\t...normalizedTarget.tableName !== void 0 ? { targetTableName: normalizedTarget.tableName } : {},\n\t\t\t...options?.name ? { name: options.name } : {},\n\t\t\t...options?.onDelete ? { onDelete: options.onDelete } : {},\n\t\t\t...options?.onUpdate ? { onUpdate: options.onUpdate } : {},\n\t\t\t...options?.constraint !== void 0 ? { constraint: options.constraint } : {},\n\t\t\t...options?.index !== void 0 ? { index: options.index } : {}\n\t\t};\n\t}\n\treturn {\n\t\tref,\n\t\tid,\n\t\tunique,\n\t\tindex,\n\t\tforeignKey\n\t};\n}\n/**\n* Declares an authored CHECK constraint for a model's `.sql({ checks: [...] })`.\n* Unlike `index()`, `check()` names no column tuple — the predicate is opaque\n* SQL — so it needs no field-ref context and is a plain top-level function\n* rather than a method on `constraints`.\n*/\nfunction check(input) {\n\treturn {\n\t\tkind: \"check\",\n\t\texpression: input.expression,\n\t\t...input.name !== void 0 ? { name: input.name } : {},\n\t\t...input.map !== void 0 ? { map: input.map } : {}\n\t};\n}\nfunction createFieldRefs(fields) {\n\tconst refs = {};\n\tfor (const fieldName of Object.keys(fields)) refs[fieldName] = {\n\t\tkind: \"columnRef\",\n\t\tfieldName\n\t};\n\treturn refs;\n}\nfunction createModelTokenRefs(modelName, fields, crossSpaceCoordinate) {\n\tconst refs = {};\n\tfor (const [fieldName, fieldBuilder] of Object.entries(fields)) {\n\t\tconst physicalColumn = crossSpaceCoordinate !== void 0 ? fieldBuilder.physicalColumnName : void 0;\n\t\trefs[fieldName] = {\n\t\t\tkind: \"targetFieldRef\",\n\t\t\tsource: \"token\",\n\t\t\tmodelName,\n\t\t\tfieldName,\n\t\t\t...crossSpaceCoordinate !== void 0 ? {\n\t\t\t\tspaceId: crossSpaceCoordinate.spaceId,\n\t\t\t\t...crossSpaceCoordinate.namespaceId !== void 0 ? { namespaceId: crossSpaceCoordinate.namespaceId } : {},\n\t\t\t\t...crossSpaceCoordinate.tableName !== void 0 ? { tableName: crossSpaceCoordinate.tableName } : {},\n\t\t\t\t...physicalColumn !== void 0 ? { columnName: physicalColumn } : {}\n\t\t\t} : {}\n\t\t};\n\t}\n\treturn refs;\n}\nfunction buildStageSpec(stageInput, context) {\n\tif (typeof stageInput === \"function\") return stageInput(context);\n\treturn stageInput;\n}\nfunction createAttributeConstraintsDsl() {\n\tconst constraints = createConstraintsDsl();\n\treturn {\n\t\tid: constraints.id,\n\t\tunique: constraints.unique\n\t};\n}\nfunction createSqlConstraintsDsl() {\n\tconst constraints = createConstraintsDsl();\n\treturn {\n\t\tindex: constraints.index,\n\t\tforeignKey: constraints.foreignKey,\n\t\tref: constraints.ref\n\t};\n}\nfunction createColumnRefs(fields) {\n\treturn createFieldRefs(fields);\n}\nfunction findDuplicateRelationName(existingRelations, nextRelations) {\n\treturn Object.keys(nextRelations).find((relationName) => Object.hasOwn(existingRelations, relationName));\n}\nvar ContractModelBuilder = class ContractModelBuilder {\n\tstageOne;\n\tattributesFactory;\n\tsqlFactory;\n\tspaceId;\n\ttableName;\n\trefs;\n\tconstructor(stageOne, attributesFactory, sqlFactory, spaceId, tableName) {\n\t\tthis.stageOne = stageOne;\n\t\tthis.attributesFactory = attributesFactory;\n\t\tthis.sqlFactory = sqlFactory;\n\t\tthis.spaceId = spaceId;\n\t\tthis.tableName = tableName;\n\t\tconst crossSpaceCoordinate = spaceId !== void 0 ? {\n\t\t\tspaceId,\n\t\t\t...stageOne.namespace !== void 0 ? { namespaceId: stageOne.namespace } : {},\n\t\t\t...tableName !== void 0 ? { tableName } : {}\n\t\t} : void 0;\n\t\tthis.refs = blindCast(stageOne.modelName ? createModelTokenRefs(stageOne.modelName, stageOne.fields, crossSpaceCoordinate) : void 0);\n\t}\n\tref(fieldName) {\n\t\tconst modelName = this.stageOne.modelName;\n\t\tif (!modelName) throw contractError(\"CONTRACT.MODEL_TOKEN_INVALID\", \"Model tokens require model(\\\"ModelName\\\", ...) before calling .ref(...)\");\n\t\treturn {\n\t\t\tkind: \"targetFieldRef\",\n\t\t\tsource: \"token\",\n\t\t\tmodelName,\n\t\t\tfieldName\n\t\t};\n\t}\n\trelations(relations) {\n\t\tconst duplicateRelationName = findDuplicateRelationName(this.stageOne.relations, relations);\n\t\tif (duplicateRelationName) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `Model \"${this.stageOne.modelName ?? \"<anonymous>\"}\" already defines relation \"${duplicateRelationName}\".`, { meta: {\n\t\t\tkind: \"relation\",\n\t\t\tname: duplicateRelationName,\n\t\t\tmodelName: this.stageOne.modelName\n\t\t} });\n\t\treturn new ContractModelBuilder({\n\t\t\t...this.stageOne,\n\t\t\trelations: {\n\t\t\t\t...this.stageOne.relations,\n\t\t\t\t...relations\n\t\t\t}\n\t\t}, this.attributesFactory, this.sqlFactory, this.spaceId, this.tableName);\n\t}\n\tattributes(specOrFactory) {\n\t\treturn blindCast(new ContractModelBuilder(this.stageOne, specOrFactory, this.sqlFactory, this.spaceId, this.tableName));\n\t}\n\tsql(specOrFactory) {\n\t\tconst nextTableName = typeof specOrFactory !== \"function\" ? specOrFactory.table : this.tableName;\n\t\treturn blindCast(new ContractModelBuilder(this.stageOne, this.attributesFactory, specOrFactory, this.spaceId, nextTableName));\n\t}\n\tbuildAttributesSpec() {\n\t\tif (!this.attributesFactory) return;\n\t\treturn buildStageSpec(this.attributesFactory, {\n\t\t\tfields: createFieldRefs(this.stageOne.fields),\n\t\t\tconstraints: createAttributeConstraintsDsl()\n\t\t});\n\t}\n\tbuildSqlSpec() {\n\t\tif (!this.sqlFactory) return;\n\t\treturn buildStageSpec(this.sqlFactory, {\n\t\t\tcols: createColumnRefs(this.stageOne.fields),\n\t\t\tconstraints: createSqlConstraintsDsl()\n\t\t});\n\t}\n};\nfunction isLazyRelationModelName(value) {\n\treturn typeof value === \"object\" && value !== null && \"kind\" in value && value.kind === \"lazyRelationModelName\" && \"resolve\" in value && typeof value.resolve === \"function\";\n}\nfunction resolveNamedModelTokenName(token) {\n\tconst modelName = token.stageOne.modelName;\n\tif (!modelName) throw contractError(\"CONTRACT.MODEL_TOKEN_INVALID\", \"Relation targets require named model tokens. Use model(\\\"ModelName\\\", ...) before passing a token to rel.*(...).\");\n\treturn modelName;\n}\nfunction normalizeRelationModelSource(target) {\n\tif (typeof target === \"string\") return {\n\t\tkind: \"relationModelName\",\n\t\tsource: \"string\",\n\t\tmodelName: target\n\t};\n\tif (typeof target === \"function\") return {\n\t\tkind: \"lazyRelationModelName\",\n\t\tsource: \"lazyToken\",\n\t\tresolve: () => resolveNamedModelTokenName(target())\n\t};\n\treturn {\n\t\tkind: \"relationModelName\",\n\t\tsource: \"token\",\n\t\tmodelName: resolveNamedModelTokenName(target)\n\t};\n}\nfunction model(modelNameOrInput, maybeInput) {\n\tconst input = typeof modelNameOrInput === \"string\" ? maybeInput : modelNameOrInput;\n\tif (!input) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", \"model(\\\"ModelName\\\", ...) requires a model definition.\");\n\treturn new ContractModelBuilder({\n\t\t...typeof modelNameOrInput === \"string\" ? { modelName: modelNameOrInput } : {},\n\t\t...input.namespace !== void 0 ? { namespace: input.namespace } : {},\n\t\tfields: input.fields,\n\t\trelations: input.relations ?? {}\n\t});\n}\n/**\n* Factory for building a standalone branded extension model handle.\n*\n* Use this instead of `new ContractModelBuilder(…)` when constructing handles\n* for models that live in a foreign contract space (e.g. a Supabase extension\n* model referenced by a user's contract). The `spaceId` brands the returned\n* handle so `refs.<field>.spaceId` carries the foreign space identifier.\n*\n* @param name - The domain model name as declared in the foreign contract\n* (e.g. `'AuthUser'`, not a bare table alias like `'User'`).\n* @param input.namespace - The namespace within the foreign space (e.g. `'auth'`).\n* @param input.fields - Field definitions (use `field.column(…)`).\n* @param input.table - The physical table name in the foreign schema.\n* @param spaceId - The extension space identifier (e.g. `'supabase'`).\n*/\nfunction extensionModel(name, input, spaceId) {\n\treturn new ContractModelBuilder({\n\t\tmodelName: name,\n\t\tnamespace: input.namespace,\n\t\tfields: input.fields,\n\t\trelations: {}\n\t}, void 0, void 0, spaceId, input.table);\n}\nfunction isCrossSpaceHandle(value) {\n\tif (typeof value !== \"object\" || value === null) return false;\n\tconst rec = blindCast(value);\n\treturn typeof rec[\"spaceId\"] === \"string\" && typeof rec[\"stageOne\"] === \"object\" && rec[\"stageOne\"] !== null;\n}\nfunction belongsTo(toModel, options) {\n\tconst resolvedModel = typeof toModel === \"function\" ? toModel() : toModel;\n\tconst crossSpaceCoordinate = isCrossSpaceHandle(resolvedModel) ? {\n\t\tspaceId: resolvedModel.spaceId,\n\t\t...resolvedModel.tableName !== void 0 ? { tableName: resolvedModel.tableName } : {},\n\t\t...resolvedModel.stageOne.namespace !== void 0 ? { namespaceId: resolvedModel.stageOne.namespace } : {}\n\t} : void 0;\n\treturn new RelationBuilder({\n\t\tkind: \"belongsTo\",\n\t\ttoModel: normalizeRelationModelSource(toModel),\n\t\tfrom: options.from,\n\t\tto: options.to,\n\t\t...ifDefined(\"optional\", options.optional),\n\t\t...crossSpaceCoordinate !== void 0 ? crossSpaceCoordinate : {}\n\t});\n}\nfunction hasMany(toModel, options) {\n\treturn new RelationBuilder({\n\t\tkind: \"hasMany\",\n\t\ttoModel: normalizeRelationModelSource(toModel),\n\t\tby: options.by\n\t});\n}\nfunction hasOne(toModel, options) {\n\treturn new RelationBuilder({\n\t\tkind: \"hasOne\",\n\t\ttoModel: normalizeRelationModelSource(toModel),\n\t\tby: options.by\n\t});\n}\nfunction manyToMany(toModel, options) {\n\treturn new RelationBuilder({\n\t\tkind: \"manyToMany\",\n\t\ttoModel: normalizeRelationModelSource(toModel),\n\t\tthrough: normalizeRelationModelSource(options.through),\n\t\tfrom: options.from,\n\t\tto: options.to\n\t});\n}\nconst rel = {\n\tbelongsTo,\n\thasMany,\n\thasOne,\n\tmanyToMany\n};\nconst field = {\n\tcolumn: columnField,\n\tnamedType: namedTypeField\n};\nfunction isContractInput(value) {\n\tif (typeof value !== \"object\" || value === null || !(\"target\" in value) || !(\"family\" in value)) return false;\n\tconst target = value.target;\n\tconst family = value.family;\n\treturn typeof target === \"object\" && target !== null && \"kind\" in target && target.kind === \"target\" && typeof family === \"object\" && family !== null && \"kind\" in family && family.kind === \"family\";\n}\nfunction isRelationFieldArray(value) {\n\treturn Array.isArray(value);\n}\nfunction normalizeRelationFieldNames(value) {\n\tif (isRelationFieldArray(value)) return value;\n\treturn [value];\n}\nfunction resolveRelationModelName(value) {\n\tif (isLazyRelationModelName(value)) return value.resolve();\n\treturn value.modelName;\n}\nfunction applyNaming(name, strategy) {\n\tif (!strategy || strategy === \"identity\") return name;\n\tlet result = \"\";\n\tfor (let index = 0; index < name.length; index += 1) {\n\t\tconst char = name[index];\n\t\tif (!char) continue;\n\t\tconst lower = char.toLowerCase();\n\t\tif (char !== lower && index > 0) {\n\t\t\tconst prev = name[index - 1];\n\t\t\tconst next = name[index + 1];\n\t\t\tconst prevIsLower = !!prev && prev === prev.toLowerCase();\n\t\t\tconst nextIsLower = !!next && next === next.toLowerCase();\n\t\t\tif (prevIsLower || nextIsLower) result += \"_\";\n\t\t}\n\t\tresult += lower;\n\t}\n\treturn result;\n}\n//#endregion\n//#region src/removed-field-presets.ts\nconst GUIDE = \"The upgrade guide \\\"Field presets are removed\\\" lists every rewrite.\";\n/** The row of a preset whose rewrite is `rewrite`; its type is the first `type.X(` that `rewrite` writes. */\nfunction writtenAs(rewrite, codecId) {\n\treturn [{\n\t\ttype: (/type\\.([\\w.]+)\\(/.exec(rewrite)?.[1] ?? \"\").split(\".\"),\n\t\tcodecId,\n\t\trewrite\n\t}];\n}\n/** The `type.` prefix of a namespace, such as `sql.` for `['sql']`. */\nconst prefixOf = (namespace) => namespace.map((name) => `${name}.`).join(\"\");\n/** The rows of a preset whose rewrite `write` makes from each namespace's `type.` prefix, each named where that namespace has the generated id column alias `alias`. */\nfunction idAlias(alias, write) {\n\treturn GENERATED_ID_COLUMN_ALIAS_NAMESPACES.map((namespace) => ({\n\t\ttype: [...namespace, alias],\n\t\tcodecId: generatedIdColumnAliases[alias].output.type.codecId,\n\t\trewrite: write(prefixOf(namespace))\n\t}));\n}\nconst column = (prefix, type) => `field.column(type.${prefix}${type})`;\nconst id = (columnText, generator) => `${columnText}.id().onCreate(gen.${generator})`;\nconst aliasColumn = (alias) => idAlias(alias, (prefix) => column(prefix, `${alias}()`));\nconst aliasId = (alias, generator) => idAlias(alias, (prefix) => id(column(prefix, `${alias}()`), generator));\nconst withPhases = (type, codecId, precision) => writtenAs(`field.column(type.${type}(${precision ? \"p\" : \"\"})), with .onCreate(gen.now()) and .onUpdate(gen.now()) for the phases the preset set${precision ? \", and without p when it set no precision\" : \"\"}`, codecId);\nconst PRESETS = {\n\tuuidString: aliasColumn(\"UuidString\"),\n\tulid: aliasColumn(\"Ulid\"),\n\tnanoid: idAlias(\"Nanoid\", (prefix) => `${column(prefix, \"Nanoid()\")}, or ${column(prefix, \"Char(n)\")} for nanoid({ size: n })`),\n\tcuid2: aliasColumn(\"Cuid2\"),\n\tksuid: aliasColumn(\"Ksuid\"),\n\ttext: writtenAs(\"field.column(type.String())\", \"pg/text@1\"),\n\tint: writtenAs(\"field.column(type.Int())\", \"pg/int4@1\"),\n\tbigint: writtenAs(\"field.column(type.BigInt())\", \"pg/int8@1\"),\n\tfloat: writtenAs(\"field.column(type.Float())\", \"pg/float8@1\"),\n\tdecimal: writtenAs(\"field.column(type.Decimal())\", \"pg/numeric@1\"),\n\tboolean: writtenAs(\"field.column(type.Boolean())\", \"pg/bool@1\"),\n\tjson: writtenAs(\"field.column(type.Jsonb())\", \"pg/jsonb@1\"),\n\tbytes: writtenAs(\"field.column(type.Bytes())\", \"pg/bytea@1\"),\n\tdateTime: writtenAs(\"field.column(type.DateTime())\", \"pg/timestamptz-temporal@1\"),\n\tuuidNative: writtenAs(\"field.column(type.Uuid())\", \"pg/uuid@1\"),\n\tgenerated: idAlias(\"UuidString\", (prefix) => `${column(prefix, \"Char(n)\")}.onCreate(gen.fn()), such as ${column(prefix, \"UuidString()\")}.onCreate(gen.uuid()) for field.generated(uuidv4())`),\n\t\"id.uuidv4String\": aliasId(\"UuidString\", \"uuid()\"),\n\t\"id.uuidv7String\": aliasId(\"UuidString\", \"uuid(7)\"),\n\t\"id.ulid\": aliasId(\"Ulid\", \"ulid()\"),\n\t\"id.nanoid\": idAlias(\"Nanoid\", (prefix) => `${id(column(prefix, \"Nanoid()\"), \"nanoid()\")}, or ${id(column(prefix, \"Char(n)\"), \"nanoid(n)\")} for id.nanoid({ size: n })`),\n\t\"id.cuid2\": aliasId(\"Cuid2\", \"cuid(2)\"),\n\t\"id.ksuid\": aliasId(\"Ksuid\", \"ksuid()\"),\n\t\"id.uuidv4Native\": writtenAs(id(\"field.column(type.Uuid())\", \"uuid()\"), \"pg/uuid@1\"),\n\t\"id.uuidv7Native\": writtenAs(id(\"field.column(type.Uuid())\", \"uuid(7)\"), \"pg/uuid@1\"),\n\t\"temporal.createdAt\": writtenAs(\"field.column(type.temporal.CreatedAt())\"),\n\t\"temporal.updatedAt\": writtenAs(\"field.column(type.temporal.UpdatedAt())\"),\n\t\"temporal.createdAtString\": writtenAs(\"field.column(type.temporal.CreatedAtString())\"),\n\t\"temporal.updatedAtString\": writtenAs(\"field.column(type.temporal.UpdatedAtString())\"),\n\t\"temporal.createdAtJsDate\": writtenAs(\"field.column(type.temporal.CreatedAtJsDate())\"),\n\t\"temporal.updatedAtJsDate\": writtenAs(\"field.column(type.temporal.UpdatedAtJsDate())\"),\n\t\"temporal.timestamp\": withPhases(\"TimestampTemporal\", \"pg/timestamp-temporal@1\", true),\n\t\"temporal.timestamptz\": withPhases(\"TimestamptzTemporal\", \"pg/timestamptz-temporal@1\", true),\n\t\"temporal.timestampString\": withPhases(\"TimestampString\", \"pg/timestamp-string@1\", true),\n\t\"temporal.timestamptzString\": withPhases(\"TimestamptzString\", \"pg/timestamptz-string@1\", true),\n\t\"temporal.timestamptzJsDate\": withPhases(\"TimestamptzJsDate\", \"pg/timestamptz-date@1\", true),\n\t\"temporal.date\": withPhases(\"Date\", \"pg/date-temporal@1\", false),\n\t\"temporal.dateString\": withPhases(\"DateString\", \"pg/date-string@1\", false),\n\t\"temporal.time\": withPhases(\"Time\", \"pg/time-temporal@1\", true),\n\t\"temporal.timeString\": withPhases(\"TimeString\", \"pg/time-string@1\", true),\n\t\"temporal.timetz\": withPhases(\"Timetz\", \"pg/timetz@1\", true),\n\t\"temporal.datetime\": withPhases(\"DateTime\", \"sqlite/datetime@1\", false)\n};\nfunction codecIdAt(types, path) {\n\tconst [name, ...rest] = path;\n\tif (name === void 0 || !Object.hasOwn(types, name)) return void 0;\n\tconst value = types[name];\n\tif (value === void 0) return void 0;\n\tif (!isAuthoringTypeDescriptor(value)) return codecIdAt(value, rest);\n\tif (rest.length > 0) return void 0;\n\treturn isAuthoringTypeAliasDescriptor(value) ? value.output.type.codecId : value.output.codecId;\n}\nfunction appliesTo(preset, types) {\n\tconst codecId = codecIdAt(types, preset.type);\n\treturn codecId !== void 0 && (preset.codecId === void 0 || codecId === preset.codecId);\n}\nfunction refuse(path, types) {\n\tconst helper = `field.${path}`;\n\tconst preset = (Object.hasOwn(PRESETS, path) ? PRESETS[path] : void 0)?.find((row) => appliesTo(row, types));\n\tthrow contractError(\"CONTRACT.FIELD_HELPER_UNKNOWN\", preset !== void 0 ? `${helper} was a field preset, and Prisma 8 removed field presets. Write ${preset.rewrite}. ${GUIDE}` : `${helper} does not exist. Prisma 8 removed field presets: declare a column as field.column(type.X(...)), add .id(), .onCreate(gen.fn()) and .onUpdate(gen.fn()) for what a preset set, or use a type alias such as field.column(type.temporal.CreatedAt()). ${GUIDE}`, { meta: { helper } });\n}\nfunction membersOf(namespace) {\n\treturn new Set(Object.keys(PRESETS).filter((path) => path.startsWith(`${namespace}.`)).map((path) => path.slice(namespace.length + 1)));\n}\nconst NAMES = new Set(Object.keys(PRESETS).map((path) => path.split(\".\")[0] ?? path));\n/**\n* The SQL `field` helpers, where a read of a removed field preset throws `CONTRACT.FIELD_HELPER_UNKNOWN`, so a JavaScript caller, or a contract emitted before it is type-checked, learns what to write instead. The rewrite is named where `types`, the stack's `type` namespace, has the type it writes and that type stores the preset's codec; elsewhere the message names the forms that replace presets. `field.id` and `field.temporal`, which held presets, answer the same way for the presets read from them. Every other read behaves as on `helpers`.\n*/\nfunction refusingRemovedFieldPresets(helpers, types) {\n\treturn answerMissingPropertyReads(helpers, NAMES, (name) => Object.hasOwn(PRESETS, name) ? refuse(name, types) : answerMissingPropertyReads({}, membersOf(name), (member) => refuse(`${name}.${member}`, types)));\n}\n//#endregion\n//#region src/composed-authoring-helpers.ts\nfunction composeTypeNamespace(components) {\n\treturn composePackAuthoringNamespace(components, \"type\");\n}\nfunction composeEntityNamespace(components) {\n\treturn composePackAuthoringNamespace(components, \"entityTypes\");\n}\n/**\n* Reserved top-level keys on the composed helpers surface — the\n* built-in `model` / `rel` helpers, the `field` / `type` / `gen` namespace\n* objects. Pack-contributed entity types are flattened to the same\n* top-level shape (e.g. `helpers.enum({...})`), so a pack cannot\n* contribute an entity type whose name collides with one of these\n* reserved keys without silently overwriting at runtime. Detect the\n* collision at compose time and fail loudly with a guidance message.\n*/\nconst RESERVED_HELPER_KEYS = [\n\t\"field\",\n\t\"model\",\n\t\"rel\",\n\t\"type\",\n\t\"gen\"\n];\nfunction assertNoBuiltInEntityCollisions(namespace) {\n\tconst collisions = Object.keys(namespace).filter((name) => RESERVED_HELPER_KEYS.includes(name));\n\tif (collisions.length > 0) throw contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Pack-contributed entity type(s) ${collisions.map((c) => `\"${c}\"`).join(\", \")} collide with the reserved built-in helper key(s) on the composed helpers surface. Reserved keys: ${RESERVED_HELPER_KEYS.map((k) => `\"${k}\"`).join(\", \")}.`, { meta: {\n\t\tcollisions,\n\t\treservedKeys: RESERVED_HELPER_KEYS\n\t} });\n}\nfunction createComposedAuthoringHelpers(options) {\n\tconst extensionValues = Object.values(options.extensions ?? {});\n\tconst components = [\n\t\toptions.family,\n\t\toptions.target,\n\t\t...extensionValues\n\t];\n\tconst typeNamespace = composeTypeNamespace(components);\n\tconst entityNamespace = composeEntityNamespace(components);\n\tassertNoCrossRegistryCollisions(typeNamespace, entityNamespace);\n\tassertNoBuiltInEntityCollisions(entityNamespace);\n\tconst { support } = assembleDataTypeSupport(components, (codecId) => options.codecLookup.descriptorFor(codecId)?.dataType);\n\tconst helperLookups = {\n\t\tcodecLookup: options.codecLookup,\n\t\tdataTypes: support\n\t};\n\treturn blindCast({\n\t\t...createEntityHelpersFromNamespace(entityNamespace, { ctx: {\n\t\t\tfamily: options.family.familyId,\n\t\t\ttarget: options.target.targetId,\n\t\t\tcodecLookup: options.codecLookup,\n\t\t\tdataTypes: support\n\t\t} }),\n\t\tfield: refusingRemovedFieldPresets(field, typeNamespace),\n\t\tmodel,\n\t\trel,\n\t\ttype: createTypeHelpersFromNamespace(typeNamespace, helperLookups),\n\t\tgen: createGeneratorHelpers([\n\t\t\toptions.family,\n\t\t\toptions.target,\n\t\t\t...extensionValues\n\t\t])\n\t});\n}\n//#endregion\n//#region src/contract-warnings.ts\nfunction hasNamedModelToken(models, modelName) {\n\treturn models[modelName]?.stageOne.modelName === modelName;\n}\nfunction formatFieldSelection(fieldNames) {\n\tif (fieldNames.length === 1) return `'${fieldNames[0]}'`;\n\treturn `[${fieldNames.map((fieldName) => `'${fieldName}'`).join(\", \")}]`;\n}\nfunction formatTokenFieldSelection(modelName, fieldNames) {\n\tif (fieldNames.length === 1) return `${modelName}.refs.${fieldNames[0]}`;\n\treturn `[${fieldNames.map((fieldName) => `${modelName}.refs.${fieldName}`).join(\", \")}]`;\n}\nfunction formatConstraintsRefCall(modelName, fieldNames) {\n\tif (fieldNames.length === 1) return `constraints.ref('${modelName}', '${fieldNames[0]}')`;\n\treturn `[${fieldNames.map((fieldName) => `constraints.ref('${modelName}', '${fieldName}')`).join(\", \")}]`;\n}\nfunction formatRelationModelDisplay(relationModel) {\n\tif (relationModel.kind === \"lazyRelationModelName\") return `() => ${relationModel.resolve()}`;\n\treturn relationModel.source === \"string\" ? `'${relationModel.modelName}'` : relationModel.modelName;\n}\nfunction formatRelationCall(relation, targetModelDisplay) {\n\tif (relation.kind === \"belongsTo\") return `rel.belongsTo(${targetModelDisplay}, { from: ${formatFieldSelection(normalizeRelationFieldNames(relation.from))}, to: ${formatFieldSelection(normalizeRelationFieldNames(relation.to))} })`;\n\tif (relation.kind === \"hasMany\" || relation.kind === \"hasOne\") {\n\t\tconst by = formatFieldSelection(normalizeRelationFieldNames(relation.by));\n\t\treturn `rel.${relation.kind}(${targetModelDisplay}, { by: ${by} })`;\n\t}\n\treturn `rel.manyToMany(${targetModelDisplay}, { through: ${formatRelationModelDisplay(relation.through)}, from: ${formatFieldSelection(normalizeRelationFieldNames(relation.from))}, to: ${formatFieldSelection(normalizeRelationFieldNames(relation.to))} })`;\n}\nfunction formatManyToManyCallWithThrough(relation, throughDisplay) {\n\treturn `rel.manyToMany(${formatRelationModelDisplay(relation.toModel)}, { through: ${throughDisplay}, from: ${formatFieldSelection(normalizeRelationFieldNames(relation.from))}, to: ${formatFieldSelection(normalizeRelationFieldNames(relation.to))} })`;\n}\nconst WARNING_BATCH_THRESHOLD = 5;\nfunction flushWarnings(warnings) {\n\tif (warnings.length === 0) return;\n\tif (warnings.length <= WARNING_BATCH_THRESHOLD) {\n\t\tfor (const message of warnings) process.emitWarning(message, { code: \"PN_CONTRACT_TYPED_FALLBACK_AVAILABLE\" });\n\t\treturn;\n\t}\n\tprocess.emitWarning(`${warnings.length} contract references use string fallbacks where typed alternatives are available. Use named model tokens for autocomplete and type safety.\n` + warnings.map((w) => ` - ${w}`).join(\"\\n\"), { code: \"PN_CONTRACT_TYPED_FALLBACK_AVAILABLE\" });\n}\nfunction formatFallbackWarning(location, current, suggested) {\n\treturn `Contract ${location} uses ${current}. Use ${suggested} when the named model token is available in the same contract to keep typed relation targets and model refs.`;\n}\nfunction emitTypedCrossModelFallbackWarnings(collection) {\n\tconst warnings = [];\n\tconst warnedKeys = /* @__PURE__ */ new Set();\n\tfor (const spec of collection.modelSpecs.values()) {\n\t\tfor (const [relationName, relationBuilder] of Object.entries(spec.relations)) {\n\t\t\tconst relation = relationBuilder.build();\n\t\t\tif (relation.toModel.kind === \"relationModelName\" && relation.toModel.source === \"string\" && hasNamedModelToken(collection.models, relation.toModel.modelName)) {\n\t\t\t\tconst warningKey = `${spec.modelName}.${relationName}.toModel`;\n\t\t\t\tif (!warnedKeys.has(warningKey)) {\n\t\t\t\t\twarnedKeys.add(warningKey);\n\t\t\t\t\tconst current = formatRelationCall(relation, `'${relation.toModel.modelName}'`);\n\t\t\t\t\tconst suggested = formatRelationCall(relation, relation.toModel.modelName);\n\t\t\t\t\twarnings.push(formatFallbackWarning(`relation \"${spec.modelName}.${relationName}\"`, current, suggested));\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (relation.kind === \"manyToMany\" && relation.through.kind === \"relationModelName\" && relation.through.source === \"string\" && hasNamedModelToken(collection.models, relation.through.modelName)) {\n\t\t\t\tconst warningKey = `${spec.modelName}.${relationName}.through`;\n\t\t\t\tif (!warnedKeys.has(warningKey)) {\n\t\t\t\t\twarnedKeys.add(warningKey);\n\t\t\t\t\tconst current = formatManyToManyCallWithThrough(relation, `'${relation.through.modelName}'`);\n\t\t\t\t\tconst suggested = formatManyToManyCallWithThrough(relation, relation.through.modelName);\n\t\t\t\t\twarnings.push(formatFallbackWarning(`relation \"${spec.modelName}.${relationName}\"`, current, suggested));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tfor (const [foreignKeyIndex, foreignKey] of (spec.sqlSpec?.foreignKeys ?? []).entries()) {\n\t\t\tif (foreignKey.targetSource !== \"string\" || !hasNamedModelToken(collection.models, foreignKey.targetModel)) continue;\n\t\t\tconst warningKey = `${spec.modelName}.sql.foreignKeys.${foreignKeyIndex}`;\n\t\t\tif (warnedKeys.has(warningKey)) continue;\n\t\t\twarnedKeys.add(warningKey);\n\t\t\tconst current = formatConstraintsRefCall(foreignKey.targetModel, foreignKey.targetFields);\n\t\t\tconst suggested = formatTokenFieldSelection(foreignKey.targetModel, foreignKey.targetFields);\n\t\t\twarnings.push(formatFallbackWarning(`model \"${spec.modelName}\"`, `${current} in .sql(...)`, suggested));\n\t\t}\n\t}\n\tflushWarnings(warnings);\n}\n//#endregion\n//#region src/contract-lowering.ts\n/** A column stores no `typeParams` when it has none, as PSL writes it (see \"Deterministic emission\" in `docs/architecture docs/subsystems/1. Data Contract.md`). */\nfunction withoutEmptyTypeParams(descriptor) {\n\tconst { typeParams, ...rest } = descriptor;\n\treturn typeParams === void 0 || Object.keys(typeParams).length > 0 ? descriptor : rest;\n}\nfunction resolveFieldDescriptor(modelName, fieldName, fieldState) {\n\tif (\"descriptor\" in fieldState && fieldState.descriptor) return withoutEmptyTypeParams(fieldState.descriptor);\n\tif (\"enumHandle\" in fieldState && isEnumTypeHandle(fieldState.enumHandle)) return { codecId: fieldState.enumHandle.codecId };\n\tthrow contractError(\"CONTRACT.TYPE_UNKNOWN\", `Field \"${modelName}.${fieldName}\" does not resolve to a storage descriptor`, { meta: {\n\t\tmodelName,\n\t\tfieldName,\n\t\treason: \"unresolved-storage-descriptor\"\n\t} });\n}\nfunction mapFieldNamesToColumnNames(modelName, fieldNames, fieldToColumn) {\n\treturn fieldNames.map((fieldName) => {\n\t\tconst columnName = fieldToColumn[fieldName];\n\t\tif (!columnName) throw contractError(\"CONTRACT.FIELD_UNKNOWN\", `Unknown field \"${modelName}.${fieldName}\" in contract definition`, { meta: {\n\t\t\tmodelName,\n\t\t\tfieldName\n\t\t} });\n\t\treturn columnName;\n\t});\n}\nfunction assertRelationFieldArity(params) {\n\tif (params.leftFields.length === params.rightFields.length) return;\n\tthrow contractError(\"CONTRACT.RELATION_INVALID\", `Relation \"${params.modelName}.${params.relationName}\" maps ${params.leftFields.length} ${params.leftLabel} field(s) to ${params.rightFields.length} ${params.rightLabel} field(s).`, { meta: {\n\t\tmodelName: params.modelName,\n\t\trelationName: params.relationName,\n\t\treason: \"field-count-mismatch\"\n\t} });\n}\nfunction resolveInlineIdConstraint(spec) {\n\tconst inlineIdFields = [];\n\tlet idName;\n\tfor (const [fieldName, fieldBuilder] of Object.entries(spec.fieldBuilders)) {\n\t\tconst fieldState = fieldBuilder.build();\n\t\tif (!fieldState.id) continue;\n\t\tinlineIdFields.push(fieldName);\n\t\tif (fieldState.id.name) idName = fieldState.id.name;\n\t}\n\tif (inlineIdFields.length === 0) return;\n\tif (inlineIdFields.length > 1) throw contractError(\"CONTRACT.IDENTITY_INVALID\", `Model \"${spec.modelName}\" marks multiple fields with .id(). Use .attributes(...) for compound identities.`, { meta: {\n\t\tmodelName: spec.modelName,\n\t\treason: \"multiple-inline-ids\",\n\t\tfields: inlineIdFields\n\t} });\n\tconst [inlineIdField] = inlineIdFields;\n\tif (!inlineIdField) return;\n\treturn {\n\t\tkind: \"id\",\n\t\tfields: [inlineIdField],\n\t\t...idName ? { name: idName } : {}\n\t};\n}\nfunction collectInlineUniqueConstraints(spec) {\n\tconst constraints = [];\n\tfor (const [fieldName, fieldBuilder] of Object.entries(spec.fieldBuilders)) {\n\t\tconst fieldState = fieldBuilder.build();\n\t\tif (!fieldState.unique) continue;\n\t\tconstraints.push({\n\t\t\tkind: \"unique\",\n\t\t\tfields: [fieldName],\n\t\t\t...fieldState.unique.name ? { name: fieldState.unique.name } : {}\n\t\t});\n\t}\n\treturn constraints;\n}\nfunction resolveModelIdConstraint(spec) {\n\tconst inlineId = resolveInlineIdConstraint(spec);\n\tconst attributeId = spec.attributesSpec?.id;\n\tif (inlineId && attributeId) throw contractError(\"CONTRACT.IDENTITY_INVALID\", `Model \"${spec.modelName}\" defines identity both inline and in .attributes(...). Pick one identity style.`, { meta: {\n\t\tmodelName: spec.modelName,\n\t\treason: \"inline-and-attributes\"\n\t} });\n\tconst resolvedId = attributeId ?? inlineId;\n\tif (resolvedId && resolvedId.fields.length === 0) throw contractError(\"CONTRACT.IDENTITY_INVALID\", `Model \"${spec.modelName}\" defines an empty identity. Add at least one field.`, { meta: {\n\t\tmodelName: spec.modelName,\n\t\treason: \"empty-identity\"\n\t} });\n\treturn resolvedId;\n}\nfunction resolveModelUniqueConstraints(spec) {\n\tconst attributeUniques = spec.attributesSpec?.uniques ?? [];\n\tfor (const unique of attributeUniques) if (unique.fields.length === 0) throw contractError(\"CONTRACT.CONSTRAINT_INVALID\", `Model \"${spec.modelName}\" defines an empty unique constraint. Add at least one field.`, { meta: { modelName: spec.modelName } });\n\treturn [...collectInlineUniqueConstraints(spec), ...attributeUniques];\n}\nfunction resolveRelationForeignKeys(spec, allSpecs) {\n\tconst foreignKeys = [];\n\tfor (const [relationName, relationBuilder] of Object.entries(spec.relations)) {\n\t\tconst relation = relationBuilder.build();\n\t\tif (relation.kind !== \"belongsTo\" || !relation.sql?.fk) continue;\n\t\tconst targetModelName = resolveRelationModelName(relation.toModel);\n\t\tif (relation.spaceId !== void 0) {\n\t\t\tconst fields = normalizeRelationFieldNames(relation.from);\n\t\t\tconst targetFields = normalizeRelationFieldNames(relation.to);\n\t\t\tassertRelationFieldArity({\n\t\t\t\tmodelName: spec.modelName,\n\t\t\t\trelationName,\n\t\t\t\tleftLabel: \"source\",\n\t\t\t\tleftFields: fields,\n\t\t\t\trightLabel: \"target\",\n\t\t\t\trightFields: targetFields\n\t\t\t});\n\t\t\tforeignKeys.push({\n\t\t\t\tkind: \"fk\",\n\t\t\t\tfields,\n\t\t\t\ttargetModel: targetModelName,\n\t\t\t\ttargetFields,\n\t\t\t\ttargetSpaceId: relation.spaceId,\n\t\t\t\t...relation.namespaceId !== void 0 ? { targetNamespaceId: relation.namespaceId } : {},\n\t\t\t\t...relation.tableName !== void 0 ? { targetTableName: relation.tableName } : {},\n\t\t\t\t...relation.sql.fk.name ? { name: relation.sql.fk.name } : {},\n\t\t\t\t...relation.sql.fk.onDelete ? { onDelete: relation.sql.fk.onDelete } : {},\n\t\t\t\t...relation.sql.fk.onUpdate ? { onUpdate: relation.sql.fk.onUpdate } : {},\n\t\t\t\t...relation.sql.fk.constraint !== void 0 ? { constraint: relation.sql.fk.constraint } : {},\n\t\t\t\t...relation.sql.fk.index !== void 0 ? { index: relation.sql.fk.index } : {}\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (!allSpecs.has(targetModelName)) throw contractError(\"CONTRACT.MODEL_UNKNOWN\", `Relation \"${spec.modelName}.${relationName}\" references unknown model \"${targetModelName}\"`, { meta: {\n\t\t\tsourceModel: spec.modelName,\n\t\t\trelationName,\n\t\t\ttargetModel: targetModelName\n\t\t} });\n\t\tconst fields = normalizeRelationFieldNames(relation.from);\n\t\tconst targetFields = normalizeRelationFieldNames(relation.to);\n\t\tassertRelationFieldArity({\n\t\t\tmodelName: spec.modelName,\n\t\t\trelationName,\n\t\t\tleftLabel: \"source\",\n\t\t\tleftFields: fields,\n\t\t\trightLabel: \"target\",\n\t\t\trightFields: targetFields\n\t\t});\n\t\tforeignKeys.push({\n\t\t\tkind: \"fk\",\n\t\t\tfields,\n\t\t\ttargetModel: targetModelName,\n\t\t\ttargetFields,\n\t\t\t...relation.sql.fk.name ? { name: relation.sql.fk.name } : {},\n\t\t\t...relation.sql.fk.onDelete ? { onDelete: relation.sql.fk.onDelete } : {},\n\t\t\t...relation.sql.fk.onUpdate ? { onUpdate: relation.sql.fk.onUpdate } : {},\n\t\t\t...relation.sql.fk.constraint !== void 0 ? { constraint: relation.sql.fk.constraint } : {},\n\t\t\t...relation.sql.fk.index !== void 0 ? { index: relation.sql.fk.index } : {}\n\t\t});\n\t}\n\treturn foreignKeys;\n}\nfunction resolveRelationAnchorFields(spec) {\n\tconst idFields = spec.idConstraint?.fields;\n\tif (idFields && idFields.length > 0) return idFields;\n\tif (\"id\" in spec.fieldToColumn) return [\"id\"];\n\tthrow contractError(\"CONTRACT.IDENTITY_INVALID\", `Model \"${spec.modelName}\" needs an explicit id or an \"id\" field to anchor non-owning relations`, { meta: {\n\t\tmodelName: spec.modelName,\n\t\treason: \"missing-anchor-id\"\n\t} });\n}\nfunction belongsToNullable(relationName, declaredNullable, spec, fieldNames) {\n\tconst { nullable, contradiction } = resolveToOneRelationNullable({\n\t\tdeclaredNullable,\n\t\tlocalFieldNullability: fieldNames.map((fieldName) => spec.fieldBuilders[fieldName]?.build().nullable === true),\n\t\townsReference: true\n\t});\n\tif (contradiction !== void 0) throw contractError(\"CONTRACT.RELATION_INVALID\", toOneNullabilityContradictionMessage(`Relation \"${spec.modelName}.${relationName}\"`, contradiction), { meta: {\n\t\tmodelName: spec.modelName,\n\t\trelationName,\n\t\treason: \"to-one-nullability-mismatch\"\n\t} });\n\treturn nullable;\n}\nfunction lowerBelongsToRelation(relationName, relation, currentSpec, allSpecs, extensions) {\n\tconst targetModelName = resolveRelationModelName(relation.toModel);\n\tconst fromFields = normalizeRelationFieldNames(relation.from);\n\tconst toFields = normalizeRelationFieldNames(relation.to);\n\tassertRelationFieldArity({\n\t\tmodelName: currentSpec.modelName,\n\t\trelationName,\n\t\tleftLabel: \"source\",\n\t\tleftFields: fromFields,\n\t\trightLabel: \"target\",\n\t\trightFields: toFields\n\t});\n\tif (relation.spaceId !== void 0) {\n\t\tassertKnownExtensionPack(extensions, relation.spaceId, `Relation \"${currentSpec.modelName}.${relationName}\"`);\n\t\tconst parentColumns = mapFieldNamesToColumnNames(currentSpec.modelName, fromFields, currentSpec.fieldToColumn);\n\t\treturn {\n\t\t\tfieldName: relationName,\n\t\t\ttoModel: targetModelName,\n\t\t\ttoTable: relation.tableName,\n\t\t\tcardinality: \"N:1\",\n\t\t\tnullable: belongsToNullable(relationName, relation.optional, currentSpec, fromFields),\n\t\t\tspaceId: relation.spaceId,\n\t\t\t...relation.namespaceId !== void 0 ? { namespaceId: relation.namespaceId } : {},\n\t\t\ton: {\n\t\t\t\tparentTable: currentSpec.tableName,\n\t\t\t\tparentColumns,\n\t\t\t\tchildTable: relation.tableName,\n\t\t\t\tchildColumns: toFields\n\t\t\t}\n\t\t};\n\t}\n\tconst targetSpec = allSpecs.get(targetModelName);\n\tif (!targetSpec) throw contractError(\"CONTRACT.MODEL_UNKNOWN\", `Relation \"${currentSpec.modelName}.${relationName}\" references unknown model \"${targetModelName}\"`, { meta: {\n\t\tsourceModel: currentSpec.modelName,\n\t\trelationName,\n\t\ttargetModel: targetModelName\n\t} });\n\treturn {\n\t\tfieldName: relationName,\n\t\ttoModel: targetModelName,\n\t\ttoTable: targetSpec.tableName,\n\t\tcardinality: \"N:1\",\n\t\tnullable: belongsToNullable(relationName, relation.optional, currentSpec, fromFields),\n\t\ton: {\n\t\t\tparentTable: currentSpec.tableName,\n\t\t\tparentColumns: mapFieldNamesToColumnNames(currentSpec.modelName, fromFields, currentSpec.fieldToColumn),\n\t\t\tchildTable: targetSpec.tableName,\n\t\t\tchildColumns: mapFieldNamesToColumnNames(targetSpec.modelName, toFields, targetSpec.fieldToColumn)\n\t\t}\n\t};\n}\nfunction lowerHasOwnershipRelation(relationName, relation, currentSpec, allSpecs) {\n\tconst targetModelName = resolveRelationModelName(relation.toModel);\n\tconst targetSpec = allSpecs.get(targetModelName);\n\tif (!targetSpec) throw contractError(\"CONTRACT.MODEL_UNKNOWN\", `Relation \"${currentSpec.modelName}.${relationName}\" references unknown model \"${targetModelName}\"`, { meta: {\n\t\tsourceModel: currentSpec.modelName,\n\t\trelationName,\n\t\ttargetModel: targetModelName\n\t} });\n\tconst parentFields = resolveRelationAnchorFields(currentSpec);\n\tconst childFields = normalizeRelationFieldNames(relation.by);\n\tassertRelationFieldArity({\n\t\tmodelName: currentSpec.modelName,\n\t\trelationName,\n\t\tleftLabel: \"anchor\",\n\t\tleftFields: parentFields,\n\t\trightLabel: \"child\",\n\t\trightFields: childFields\n\t});\n\treturn {\n\t\tfieldName: relationName,\n\t\ttoModel: targetModelName,\n\t\ttoTable: targetSpec.tableName,\n\t\t...relation.kind === \"hasMany\" ? { cardinality: \"1:N\" } : {\n\t\t\tcardinality: \"1:1\",\n\t\t\tnullable: true\n\t\t},\n\t\ton: {\n\t\t\tparentTable: currentSpec.tableName,\n\t\t\tparentColumns: mapFieldNamesToColumnNames(currentSpec.modelName, parentFields, currentSpec.fieldToColumn),\n\t\t\tchildTable: targetSpec.tableName,\n\t\t\tchildColumns: mapFieldNamesToColumnNames(targetSpec.modelName, childFields, targetSpec.fieldToColumn)\n\t\t}\n\t};\n}\nfunction lowerManyToManyRelation(relationName, relation, currentSpec, allSpecs) {\n\tconst targetModelName = resolveRelationModelName(relation.toModel);\n\tconst targetSpec = allSpecs.get(targetModelName);\n\tif (!targetSpec) throw contractError(\"CONTRACT.MODEL_UNKNOWN\", `Relation \"${currentSpec.modelName}.${relationName}\" references unknown model \"${targetModelName}\"`, { meta: {\n\t\tsourceModel: currentSpec.modelName,\n\t\trelationName,\n\t\ttargetModel: targetModelName\n\t} });\n\tconst throughModelName = resolveRelationModelName(relation.through);\n\tconst throughSpec = allSpecs.get(throughModelName);\n\tif (!throughSpec) throw contractError(\"CONTRACT.MODEL_UNKNOWN\", `Relation \"${currentSpec.modelName}.${relationName}\" references unknown through model \"${throughModelName}\"`, { meta: {\n\t\tsourceModel: currentSpec.modelName,\n\t\trelationName,\n\t\ttargetModel: throughModelName\n\t} });\n\tconst currentAnchorFields = resolveRelationAnchorFields(currentSpec);\n\tconst targetAnchorFields = resolveRelationAnchorFields(targetSpec);\n\tconst throughFromFields = normalizeRelationFieldNames(relation.from);\n\tconst throughToFields = normalizeRelationFieldNames(relation.to);\n\tif (currentAnchorFields.length !== throughFromFields.length || targetAnchorFields.length !== throughToFields.length) throw contractError(\"CONTRACT.RELATION_INVALID\", `Relation \"${currentSpec.modelName}.${relationName}\" has mismatched many-to-many field counts.`, { meta: {\n\t\tmodelName: currentSpec.modelName,\n\t\trelationName,\n\t\treason: \"many-to-many-field-count-mismatch\"\n\t} });\n\treturn {\n\t\tfieldName: relationName,\n\t\ttoModel: targetModelName,\n\t\ttoTable: targetSpec.tableName,\n\t\tcardinality: \"N:M\",\n\t\tthrough: {\n\t\t\ttable: throughSpec.tableName,\n\t\t\t...ifDefined(\"namespaceId\", throughSpec.namespace),\n\t\t\tparentColumns: mapFieldNamesToColumnNames(throughSpec.modelName, throughFromFields, throughSpec.fieldToColumn),\n\t\t\tchildColumns: mapFieldNamesToColumnNames(throughSpec.modelName, throughToFields, throughSpec.fieldToColumn)\n\t\t},\n\t\ton: {\n\t\t\tparentTable: currentSpec.tableName,\n\t\t\tparentColumns: mapFieldNamesToColumnNames(currentSpec.modelName, currentAnchorFields, currentSpec.fieldToColumn),\n\t\t\tchildTable: throughSpec.tableName,\n\t\t\tchildColumns: mapFieldNamesToColumnNames(throughSpec.modelName, throughFromFields, throughSpec.fieldToColumn)\n\t\t}\n\t};\n}\nfunction resolveRelationNode(relationName, relation, currentSpec, allSpecs, extensions) {\n\tif (relation.kind === \"belongsTo\") return lowerBelongsToRelation(relationName, relation, currentSpec, allSpecs, extensions);\n\tif (relation.kind === \"hasMany\" || relation.kind === \"hasOne\") return lowerHasOwnershipRelation(relationName, relation, currentSpec, allSpecs);\n\treturn lowerManyToManyRelation(relationName, relation, currentSpec, allSpecs);\n}\nfunction lowerLocalForeignKeyNode(spec, targetSpec, foreignKey) {\n\treturn {\n\t\tcolumns: mapFieldNamesToColumnNames(spec.modelName, foreignKey.fields, spec.fieldToColumn),\n\t\treferences: {\n\t\t\tmodel: targetSpec.modelName,\n\t\t\ttable: targetSpec.tableName,\n\t\t\tcolumns: mapFieldNamesToColumnNames(targetSpec.modelName, foreignKey.targetFields, targetSpec.fieldToColumn)\n\t\t},\n\t\t...foreignKey.name ? { name: foreignKey.name } : {},\n\t\t...foreignKey.onDelete ? { onDelete: foreignKey.onDelete } : {},\n\t\t...foreignKey.onUpdate ? { onUpdate: foreignKey.onUpdate } : {},\n\t\t...foreignKey.constraint !== void 0 ? { constraint: foreignKey.constraint } : {},\n\t\t...foreignKey.index !== void 0 ? { index: foreignKey.index } : {}\n\t};\n}\nfunction lowerCrossSpaceForeignKeyNode(spec, foreignKey) {\n\tif (foreignKey.targetTableName === void 0) throw contractError(\"CONTRACT.FOREIGN_KEY_INVALID\", `Foreign key on \"${spec.modelName}\" references model \"${foreignKey.targetModel}\" in contract space \"${foreignKey.targetSpaceId}\" but the target table name is unknown: the handle's .sql() stage is a factory function, so its table cannot be read statically. Declare the target model's .sql() stage with a static object carrying \\`table\\`.`, { meta: {\n\t\tsourceModel: spec.modelName,\n\t\ttargetModel: foreignKey.targetModel,\n\t\tspaceId: foreignKey.targetSpaceId\n\t} });\n\treturn {\n\t\tcolumns: mapFieldNamesToColumnNames(spec.modelName, foreignKey.fields, spec.fieldToColumn),\n\t\treferences: {\n\t\t\tmodel: foreignKey.targetModel,\n\t\t\ttable: foreignKey.targetTableName,\n\t\t\tcolumns: foreignKey.targetFields,\n\t\t\t...foreignKey.targetNamespaceId !== void 0 ? { namespaceId: foreignKey.targetNamespaceId } : {},\n\t\t\tspaceId: foreignKey.targetSpaceId\n\t\t},\n\t\t...foreignKey.name ? { name: foreignKey.name } : {},\n\t\t...foreignKey.onDelete ? { onDelete: foreignKey.onDelete } : {},\n\t\t...foreignKey.onUpdate ? { onUpdate: foreignKey.onUpdate } : {},\n\t\t...foreignKey.constraint !== void 0 ? { constraint: foreignKey.constraint } : {},\n\t\t...foreignKey.index !== void 0 ? { index: foreignKey.index } : {}\n\t};\n}\nfunction assertKnownExtensionPack(extensions, spaceId, context) {\n\tif (extensions !== void 0 && Object.hasOwn(extensions, spaceId)) return;\n\tthrow contractError(\"CONTRACT.PACK_MISSING\", `${context} references contract space \"${spaceId}\" but \"${spaceId}\" is not declared in extensions. Add the pack to extensions.`, { meta: {\n\t\tspaceId,\n\t\tcontext\n\t} });\n}\nfunction resolveForeignKeyNodes(spec, allSpecs, extensions) {\n\tconst relationForeignKeys = resolveRelationForeignKeys(spec, allSpecs).map((foreignKey) => {\n\t\tif (foreignKey.targetSpaceId !== void 0) {\n\t\t\tassertKnownExtensionPack(extensions, foreignKey.targetSpaceId, `Relation-derived foreign key on \"${spec.modelName}\"`);\n\t\t\treturn lowerCrossSpaceForeignKeyNode(spec, {\n\t\t\t\t...foreignKey,\n\t\t\t\ttargetSpaceId: foreignKey.targetSpaceId\n\t\t\t});\n\t\t}\n\t\tconst targetSpec = allSpecs.get(foreignKey.targetModel);\n\t\tif (!targetSpec) throw contractError(\"CONTRACT.MODEL_UNKNOWN\", `Foreign key on \"${spec.modelName}\" references unknown model \"${foreignKey.targetModel}\"`, { meta: {\n\t\t\tsourceModel: spec.modelName,\n\t\t\ttargetModel: foreignKey.targetModel\n\t\t} });\n\t\treturn lowerLocalForeignKeyNode(spec, targetSpec, foreignKey);\n\t});\n\tconst sqlForeignKeys = (spec.sqlSpec?.foreignKeys ?? []).map((foreignKey) => {\n\t\tif (foreignKey.targetSpaceId !== void 0) {\n\t\t\tassertKnownExtensionPack(extensions, foreignKey.targetSpaceId, `Foreign key on \"${spec.modelName}\"`);\n\t\t\treturn lowerCrossSpaceForeignKeyNode(spec, {\n\t\t\t\t...foreignKey,\n\t\t\t\ttargetSpaceId: foreignKey.targetSpaceId\n\t\t\t});\n\t\t}\n\t\tconst targetSpec = allSpecs.get(foreignKey.targetModel);\n\t\tif (!targetSpec) throw contractError(\"CONTRACT.MODEL_UNKNOWN\", `Foreign key on \"${spec.modelName}\" references unknown model \"${foreignKey.targetModel}\"`, { meta: {\n\t\t\tsourceModel: spec.modelName,\n\t\t\ttargetModel: foreignKey.targetModel\n\t\t} });\n\t\treturn lowerLocalForeignKeyNode(spec, targetSpec, foreignKey);\n\t});\n\treturn [...relationForeignKeys, ...sqlForeignKeys];\n}\n/**\n* Resolves a deferred index expression's field refs the way the field-tuple form\n* resolves its columns, and pairs each with the codec the column stores through\n* so a renderer can refuse a column it cannot express.\n*/\nfunction resolveDeferredColumns(spec, fieldNames, fieldCodecIds) {\n\tconst columnNames = mapFieldNamesToColumnNames(spec.modelName, fieldNames, spec.fieldToColumn);\n\treturn fieldNames.map((fieldName, position) => {\n\t\tconst name = columnNames[position];\n\t\tconst codecId = fieldCodecIds[fieldName];\n\t\tif (name === void 0 || codecId === void 0) throw new InternalError(`Deferred index expression on \"${spec.modelName}\" resolved no column for field \"${fieldName}\"`);\n\t\treturn {\n\t\t\tname,\n\t\t\tcodecId\n\t\t};\n\t});\n}\n/**\n* The text of an index expression. A string has no `render`, and `'render' in` a string throws a\n* `TypeError`, so the `sql` value is recognized first and anything else is refused last.\n*/\nfunction indexExpressionText(spec, expression, fieldCodecIds, owner) {\n\tconst sqlExpression = readSqlExpression(expression);\n\tif (sqlExpression !== void 0) return sqlExpression.text;\n\tif (typeof expression === \"object\" && expression !== null && \"render\" in expression) return renderedSqlText(expression.render(resolveDeferredColumns(spec, expression.fields.map((ref) => ref.fieldName), fieldCodecIds)), `${owner} expression`);\n\treturn requireSqlExpression(expression, `${owner} expression`).text;\n}\nfunction renderedSqlText(rendered, what) {\n\ttry {\n\t\treturn new SqlExpression(rendered).text;\n\t} catch (cause) {\n\t\tif (!isStructuredError(cause) || cause.code !== \"CONTRACT.SQL_EXPRESSION_INVALID\") throw cause;\n\t\tthrow contractError(\"CONTRACT.SQL_EXPRESSION_INVALID\", `${what}: ${cause.message}`, {\n\t\t\tmeta: {\n\t\t\t\twhat,\n\t\t\t\t...cause.meta\n\t\t\t},\n\t\t\tcause\n\t\t});\n\t}\n}\nfunction constraintOwner(kind, modelName, constraint) {\n\tconst name = constraint.name ?? constraint.map;\n\treturn name === void 0 ? `${kind} on \"${modelName}\"` : `${kind} \"${name}\"`;\n}\n/** The fields an index covers, in order: its own, or those of its deferred expression. */\nfunction coveredFieldNames(index) {\n\tif (index.fields !== void 0) return index.fields;\n\tconst { expression } = index;\n\tif (expression === void 0 || isSqlExpression(expression) || typeof expression !== \"object\") return [];\n\treturn expression.fields.map((ref) => ref.fieldName);\n}\n/**\n* The generators a field's `.onCreate(...)` and `.onUpdate(...)` calls resolve to for its column.\n*/\nfunction resolveGeneratorCalls(input) {\n\tconst { modelName, fieldName, fieldState, descriptor, generatorFunctions } = input;\n\tconst calls = fieldState.generatorCalls;\n\tif (calls === void 0) return void 0;\n\tconst typeParams = descriptor.typeParams;\n\tconst column = {\n\t\tcodecId: descriptor.codecId,\n\t\ttypeParams,\n\t\tlength: input.columnLength(descriptor.codecId, typeParams)\n\t};\n\tconst phases = {};\n\tfor (const phase of [\"onCreate\", \"onUpdate\"]) {\n\t\tconst call = calls[phase];\n\t\tif (call === void 0) continue;\n\t\tif (fieldState.many !== false) throw contractError(\"CONTRACT.DEFAULT_INVALID\", `Field \"${modelName}.${fieldName}\" is a list and cannot use .${phase}(${call.name}()). Lists have no per-element generated values; remove .${phase}(...).`, { meta: {\n\t\t\tmodelName,\n\t\t\tfieldName,\n\t\t\tcodecId: column.codecId,\n\t\t\tfunction: call.name,\n\t\t\treason: \"generator-on-list\"\n\t\t} });\n\t\tconst resolution = generatorFunctions.resolve(call, column);\n\t\tif (resolution.ok) {\n\t\t\tphases[phase] = resolution.generator;\n\t\t\tcontinue;\n\t\t}\n\t\tconst meta = {\n\t\t\tmodelName,\n\t\t\tfieldName,\n\t\t\tcodecId: column.codecId,\n\t\t\tfunction: call.name\n\t\t};\n\t\tif (resolution.reason === \"unknown-function\") throw contractError(\"CONTRACT.DEFAULT_INVALID\", `Field \"${modelName}.${fieldName}\": no pack in the contract declares the generator function \"${call.name}\".`, { meta: {\n\t\t\t...meta,\n\t\t\treason: \"generator-unknown\"\n\t\t} });\n\t\tconst applying = generatorFunctions.functionsFor(column.codecId).map(({ name }) => `${name}()`);\n\t\tthrow contractError(\"CONTRACT.DEFAULT_INVALID\", resolution.reason === \"refused\" ? `Field \"${modelName}.${fieldName}\": ${resolution.message}` : `Field \"${modelName}.${fieldName}\": ${call.name}() does not apply to codec \"${column.codecId}\". ${applying.length === 0 ? \"No generator function applies to this codec.\" : `Functions that apply: ${applying.join(\", \")}.`}`, { meta: {\n\t\t\t...meta,\n\t\t\treason: \"generator-not-applicable\"\n\t\t} });\n\t}\n\treturn phases;\n}\nfunction resolveModelNode(spec, allSpecs, generatorFunctions, columnLength, extensions) {\n\tconst fields = [];\n\t/** Filled by the field loop below, read by a deferred index expression. */\n\tconst fieldCodecIds = {};\n\tfor (const [fieldName, fieldBuilder] of Object.entries(spec.fieldBuilders)) {\n\t\tconst fieldState = fieldBuilder.build();\n\t\tconst descriptor = resolveFieldDescriptor(spec.modelName, fieldName, fieldState);\n\t\tconst columnName = spec.fieldToColumn[fieldName];\n\t\tif (!columnName) throw new InternalError(`Column name resolution failed for \"${spec.modelName}.${fieldName}\"`);\n\t\tfieldCodecIds[fieldName] = descriptor.codecId;\n\t\tconst enumHandle = \"enumHandle\" in fieldState && isEnumTypeHandle(fieldState.enumHandle) ? fieldState.enumHandle : void 0;\n\t\tconst executionDefaults = resolveGeneratorCalls({\n\t\t\tmodelName: spec.modelName,\n\t\t\tfieldName,\n\t\t\tfieldState,\n\t\t\tdescriptor,\n\t\t\tgeneratorFunctions,\n\t\t\tcolumnLength\n\t\t});\n\t\tfields.push({\n\t\t\tfieldName,\n\t\t\tcolumnName,\n\t\t\tdescriptor,\n\t\t\tnullable: fieldState.nullable,\n\t\t\tmany: fieldState.many !== false,\n\t\t\t...fieldState.many !== false ? { elementNullable: fieldState.many.elementNullable } : {},\n\t\t\t...fieldState.default ? { default: fieldState.default } : {},\n\t\t\t...ifDefined(\"executionDefaults\", executionDefaults),\n\t\t\t...enumHandle !== void 0 ? { enumTypeHandle: enumHandle } : {}\n\t\t});\n\t}\n\tconst { idConstraint } = spec;\n\tconst uniques = resolveModelUniqueConstraints(spec).map((unique) => ({\n\t\tcolumns: mapFieldNamesToColumnNames(spec.modelName, unique.fields, spec.fieldToColumn),\n\t\t...unique.name ? { name: unique.name } : {}\n\t}));\n\tconst indexes = (spec.sqlSpec?.indexes ?? []).map((index) => {\n\t\tconst options = typeof index.options === \"function\" ? index.options(resolveDeferredColumns(spec, coveredFieldNames(index), fieldCodecIds)) : index.options;\n\t\tconst method = blindCast({\n\t\t\ttype: index.type,\n\t\t\toptions\n\t\t});\n\t\tconst owner = constraintOwner(\"Index\", spec.modelName, index);\n\t\tconst carried = {\n\t\t\twhere: index.where === void 0 ? void 0 : requireSqlExpression(index.where, `${owner} where`).text,\n\t\t\tunique: index.unique,\n\t\t\tname: index.name,\n\t\t\tmap: index.map,\n\t\t\t...method\n\t\t};\n\t\treturn index.expression !== void 0 ? {\n\t\t\t...carried,\n\t\t\texpression: indexExpressionText(spec, index.expression, fieldCodecIds, owner)\n\t\t} : {\n\t\t\t...carried,\n\t\t\tcolumns: mapFieldNamesToColumnNames(spec.modelName, index.fields ?? [], spec.fieldToColumn)\n\t\t};\n\t});\n\tconst checks = (spec.sqlSpec?.checks ?? []).map((authoredCheck) => ({\n\t\texpression: requireSqlExpression(authoredCheck.expression, `${constraintOwner(\"Check\", spec.modelName, authoredCheck)} expression`).text,\n\t\tname: authoredCheck.name,\n\t\tmap: authoredCheck.map\n\t}));\n\tconst foreignKeys = resolveForeignKeyNodes(spec, allSpecs, extensions);\n\tconst relations = Object.entries(spec.relations).map(([relationName, relationBuilder]) => resolveRelationNode(relationName, relationBuilder.build(), spec, allSpecs, extensions));\n\treturn {\n\t\tmodelName: spec.modelName,\n\t\ttableName: spec.tableName,\n\t\t...spec.namespace !== void 0 ? { namespaceId: spec.namespace } : {},\n\t\tfields,\n\t\t...idConstraint ? { id: {\n\t\t\tcolumns: mapFieldNamesToColumnNames(spec.modelName, idConstraint.fields, spec.fieldToColumn),\n\t\t\t...idConstraint.name ? { name: idConstraint.name } : {}\n\t\t} } : {},\n\t\t...uniques.length > 0 ? { uniques } : {},\n\t\t...indexes.length > 0 ? { indexes } : {},\n\t\t...checks.length > 0 ? { checks } : {},\n\t\t...foreignKeys.length > 0 ? { foreignKeys } : {},\n\t\t...relations.length > 0 ? { relations } : {},\n\t\t...ifDefined(\"control\", spec.sqlSpec?.control)\n\t};\n}\nfunction columnLengthOf(definition) {\n\tconst { codecLookup, dataTypeLookup } = definition;\n\treturn (codecId, typeParams) => {\n\t\tconst dataTypeId = codecLookup.descriptorFor(codecId)?.dataType;\n\t\treturn sqlColumnLength(dataTypeId === void 0 ? void 0 : dataTypeLookup.get(dataTypeId), typeParams);\n\t};\n}\nfunction collectRuntimeModelSpecs(definition) {\n\tconst databaseTypes = { ...definition.databaseTypes };\n\tconst models = { ...definition.models ?? {} };\n\tconst modelSpecs = /* @__PURE__ */ new Map();\n\tconst tableOwners = /* @__PURE__ */ new Map();\n\tfor (const [modelName, modelDefinition] of Object.entries(models)) {\n\t\tconst tokenModelName = modelDefinition.stageOne.modelName;\n\t\tif (tokenModelName && tokenModelName !== modelName) throw contractError(\"CONTRACT.MODEL_TOKEN_INVALID\", `Model token \"${tokenModelName}\" must be assigned to models.${tokenModelName}. Received models.${modelName}.`, { meta: {\n\t\t\ttokenModelName,\n\t\t\tassignedKey: modelName\n\t\t} });\n\t\tconst attributesSpec = modelDefinition.buildAttributesSpec();\n\t\tconst sqlSpec = modelDefinition.buildSqlSpec();\n\t\tconst tableName = sqlSpec?.table ?? applyNaming(modelName, definition.naming?.tables);\n\t\tconst namespaceId = modelDefinition.stageOne.namespace ?? definition.target.defaultNamespaceId;\n\t\tconst tableKey = JSON.stringify([namespaceId, tableName]);\n\t\tconst existingModel = tableOwners.get(tableKey);\n\t\tif (existingModel) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `Models \"${existingModel}\" and \"${modelName}\" both map to table \"${tableName}\".`, { meta: {\n\t\t\tkind: \"table\",\n\t\t\tname: tableName,\n\t\t\tfirst: existingModel,\n\t\t\tsecond: modelName\n\t\t} });\n\t\ttableOwners.set(tableKey, modelName);\n\t\tconst fieldToColumn = {};\n\t\tconst columnOwners = /* @__PURE__ */ new Map();\n\t\tfor (const [fieldName, fieldBuilder] of Object.entries(modelDefinition.stageOne.fields)) {\n\t\t\tconst columnName = fieldBuilder.build().columnName ?? applyNaming(fieldName, definition.naming?.columns);\n\t\t\tconst existingField = columnOwners.get(columnName);\n\t\t\tif (existingField) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `Model \"${modelName}\" maps both \"${existingField}\" and \"${fieldName}\" to column \"${columnName}\".`, { meta: {\n\t\t\t\tkind: \"column\",\n\t\t\t\tname: columnName,\n\t\t\t\tfirst: existingField,\n\t\t\t\tsecond: fieldName\n\t\t\t} });\n\t\t\tcolumnOwners.set(columnName, fieldName);\n\t\t\tfieldToColumn[fieldName] = columnName;\n\t\t}\n\t\tconst fieldBuilders = modelDefinition.stageOne.fields;\n\t\tconst idConstraint = resolveModelIdConstraint({\n\t\t\tmodelName,\n\t\t\tfieldBuilders,\n\t\t\tattributesSpec\n\t\t});\n\t\tmodelSpecs.set(modelName, {\n\t\t\tmodelName,\n\t\t\ttableName,\n\t\t\tnamespace: modelDefinition.stageOne.namespace,\n\t\t\tfieldBuilders,\n\t\t\tfieldToColumn,\n\t\t\trelations: modelDefinition.stageOne.relations,\n\t\t\tattributesSpec,\n\t\t\tsqlSpec,\n\t\t\tidConstraint\n\t\t});\n\t}\n\treturn {\n\t\tdatabaseTypes,\n\t\tmodels,\n\t\tmodelSpecs\n\t};\n}\nfunction lowerModels(collection, generatorFunctions, columnLength, extensions) {\n\temitTypedCrossModelFallbackWarnings(collection);\n\treturn Array.from(collection.modelSpecs.values()).map((spec) => resolveModelNode(spec, collection.modelSpecs, generatorFunctions, columnLength, extensions));\n}\n/**\n* Kind-agnostic walk over the author-declared `entities` handle list:\n*\n* 1. Index the bound packs' `entityTypes` contributions by discriminator so\n* each handle's `entityKind` maps to the pack that registered it; a\n* handle whose kind no composed pack registers is an error naming the\n* kind.\n* 2. Resolve each handle's declared model refs (`handle.refs`, actual\n* model-handle objects) to storage table coordinates — identity against\n* the contract's `models` record first, then the handle's declared model\n* name against the build's model specs; never by re-deriving a table\n* name. A cross-space (extensionModel) handle resolves to its own\n* coordinate annotated with `spaceId`.\n* 3. Call each owning pack's batch lowering hook once with all of its\n* claimed handles, and fold the returned rows into the namespace-scoped\n* attachments (namespace → kind → key), rejecting two different entities\n* in one slot. The result becomes `ContractDefinition.attachedEntities`.\n*\n* No entity kind is named anywhere in this walk.\n*/\nfunction lowerPackEntityHandles(definition, modelSpecs) {\n\tconst entities = definition.entities;\n\tif (entities === void 0 || entities.length === 0) return void 0;\n\tconst components = [definition.target, ...Object.values(definition.extensions ?? {})];\n\tconst owningComponent = /* @__PURE__ */ new Map();\n\tconst walkEntityTypes = (namespace, component) => {\n\t\tfor (const value of Object.values(namespace)) if (isAuthoringEntityTypeDescriptor(value)) owningComponent.set(value.discriminator, component);\n\t\telse walkEntityTypes(value, component);\n\t};\n\tfor (const component of components) {\n\t\tconst entityTypes = component.authoring?.entityTypes;\n\t\tif (entityTypes !== void 0) walkEntityTypes(entityTypes, component);\n\t}\n\tconst defaultNamespaceId = definition.target.defaultNamespaceId;\n\tconst modelNamesByIdentity = /* @__PURE__ */ new Map();\n\tfor (const [modelName, modelBuilder] of Object.entries(definition.models ?? {})) modelNamesByIdentity.set(modelBuilder, modelName);\n\tconst coordinateOf = (modelName) => {\n\t\tconst spec = modelSpecs.get(modelName);\n\t\tif (spec === void 0) return void 0;\n\t\treturn {\n\t\t\tkind: \"resolved\",\n\t\t\tnamespaceId: spec.namespace ?? defaultNamespaceId,\n\t\t\ttableName: spec.tableName,\n\t\t\tmodelName\n\t\t};\n\t};\n\tconst declaredModelName = (value) => {\n\t\tif (typeof value !== \"object\" || value === null || !(\"stageOne\" in value)) return void 0;\n\t\tconst stageOne = value.stageOne;\n\t\tif (typeof stageOne !== \"object\" || stageOne === null || !(\"modelName\" in stageOne)) return;\n\t\treturn typeof stageOne.modelName === \"string\" ? stageOne.modelName : void 0;\n\t};\n\tconst resolveRef = (value) => {\n\t\tconst modelName = declaredModelName(value);\n\t\tif (isCrossSpaceHandle(value)) {\n\t\t\tconst tableName = value.tableName;\n\t\t\tconst namespaceId = value.stageOne.namespace;\n\t\t\tif (tableName !== void 0 && namespaceId !== void 0) return {\n\t\t\t\tkind: \"cross-space\",\n\t\t\t\tspaceId: value.spaceId,\n\t\t\t\tnamespaceId,\n\t\t\t\ttableName,\n\t\t\t\t...ifDefined(\"modelName\", modelName)\n\t\t\t};\n\t\t\treturn {\n\t\t\t\tkind: \"unresolved\",\n\t\t\t\t...ifDefined(\"modelName\", modelName)\n\t\t\t};\n\t\t}\n\t\tconst identityName = modelNamesByIdentity.get(value);\n\t\treturn (identityName !== void 0 ? coordinateOf(identityName) : void 0) ?? (modelName !== void 0 ? coordinateOf(modelName) : void 0) ?? {\n\t\t\tkind: \"unresolved\",\n\t\t\t...ifDefined(\"modelName\", modelName)\n\t\t};\n\t};\n\tconst claimed = /* @__PURE__ */ new Map();\n\tfor (const handle of entities) {\n\t\tconst component = owningComponent.get(handle.entityKind);\n\t\tif (component === void 0) throw contractError(\"CONTRACT.ENTITY_KIND_UNKNOWN\", `defineContract: entities contains a handle with entityKind \"${handle.entityKind}\", which no composed pack registers. Compose a pack whose entityTypes contribution claims \"${handle.entityKind}\", or remove the handle.`, { meta: { entityKind: handle.entityKind } });\n\t\tconst refs = {};\n\t\tfor (const [refName, refValue] of Object.entries(handle.refs ?? {})) refs[refName] = resolveRef(refValue);\n\t\tconst forComponent = claimed.get(component) ?? [];\n\t\tforComponent.push({\n\t\t\thandle,\n\t\t\trefs\n\t\t});\n\t\tclaimed.set(component, forComponent);\n\t}\n\tconst pack = {};\n\tfor (const [component, handles] of claimed) {\n\t\tconst authoring = component.authoring;\n\t\tif (!providesEntityHandleLowering(authoring)) {\n\t\t\tconst kinds = [...new Set(handles.map((entry) => entry.handle.entityKind))].sort();\n\t\t\tthrow contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `defineContract: entityKind(s) ${kinds.map((kind) => `\"${kind}\"`).join(\", \")} are registered by a pack that does not implement entity-handle lowering (no lowerEntityHandles on its authoring contributions).`, { meta: {\n\t\t\t\tentityKinds: kinds,\n\t\t\t\treason: \"missing-lowerEntityHandles\"\n\t\t\t} });\n\t\t}\n\t\tfor (const row of authoring.lowerEntityHandles({\n\t\t\thandles,\n\t\t\tdefaultNamespaceId\n\t\t})) {\n\t\t\tconst forNamespace = pack[row.namespaceId] ?? {};\n\t\t\tpack[row.namespaceId] = forNamespace;\n\t\t\tconst forKind = forNamespace[row.entityKind] ?? {};\n\t\t\tforNamespace[row.entityKind] = forKind;\n\t\t\tconst existing = forKind[row.key];\n\t\t\tif (existing !== void 0 && existing !== row.entity) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `defineContract: two different \"${row.entityKind}\" entities named \"${row.key}\" in namespace \"${row.namespaceId}\" — pack-entity names must be unique per namespace.`, { meta: {\n\t\t\t\tkind: row.entityKind,\n\t\t\t\tname: row.key,\n\t\t\t\tnamespaceId: row.namespaceId\n\t\t\t} });\n\t\t\tforKind[row.key] = row.entity;\n\t\t}\n\t}\n\treturn pack;\n}\nfunction buildContractDefinition(definition) {\n\trefuseTypesKey(definition, \"buildContractDefinition\");\n\tconst collection = collectRuntimeModelSpecs(definition);\n\tconst packs = [\n\t\tdefinition.family,\n\t\tdefinition.target,\n\t\t...Object.values(definition.extensions ?? {})\n\t];\n\tconst generatorFunctions = assembleGeneratorFunctions(packs);\n\tconst columnLength = columnLengthOf(definition);\n\tassertTypeAliasesValid(composePackAuthoringNamespace(packs, \"type\"), {\n\t\tgeneratorFunctions,\n\t\tparamsSchemaOf: (codecId) => definition.codecLookup.descriptorFor(codecId)?.paramsSchema,\n\t\tfieldLength: ({ codecId, typeParams }) => columnLength(codecId, typeParams)\n\t});\n\tconst models = lowerModels(collection, generatorFunctions, columnLength, definition.extensions);\n\tconst attachedEntities = lowerPackEntityHandles(definition, collection.modelSpecs);\n\treturn {\n\t\ttarget: definition.target,\n\t\t...ifDefined(\"defaultControlPolicy\", definition.defaultControlPolicy),\n\t\t...definition.extensions ? { extensions: definition.extensions } : {},\n\t\t...ifDefined(\"capabilities\", definition.adapter?.capabilities),\n\t\t...definition.storageHash ? { storageHash: definition.storageHash } : {},\n\t\t...definition.foreignKeyDefaults ? { foreignKeyDefaults: definition.foreignKeyDefaults } : {},\n\t\t...Object.keys(collection.databaseTypes).length > 0 ? { databaseTypes: collection.databaseTypes } : {},\n\t\t...definition.namespaces ? { namespaces: definition.namespaces } : {},\n\t\twarnings: void 0,\n\t\tcreateNamespace: definition.createNamespace,\n\t\t...definition.enums && Object.keys(definition.enums).length > 0 ? { enums: definition.enums } : {},\n\t\t...attachedEntities && Object.keys(attachedEntities).length > 0 ? { attachedEntities } : {},\n\t\tmodels\n\t};\n}\n//#endregion\n//#region src/contract-builder.ts\nfunction validateTargetPackRef(family, target) {\n\tif (family.familyId !== \"sql\") throw contractError(\"CONTRACT.PACK_FAMILY_MISMATCH\", `defineContract only accepts SQL family packs. Received family \"${family.familyId}\".`, { meta: {\n\t\tpackId: family.id,\n\t\tpackFamilyId: family.familyId,\n\t\tcontractFamilyId: \"sql\"\n\t} });\n\tif (target.familyId !== family.familyId) throw contractError(\"CONTRACT.PACK_FAMILY_MISMATCH\", `target pack \"${target.id}\" targets family \"${target.familyId}\" but contract family is \"${family.familyId}\".`, { meta: {\n\t\tpackId: target.id,\n\t\tpackFamilyId: target.familyId,\n\t\tcontractFamilyId: family.familyId\n\t} });\n}\nfunction targetNameOf(target) {\n\treturn target.displayName ?? target.targetId;\n}\n/**\n* Per-target reserved namespace names enforced by `defineContract` for\n* SQL family contracts. Two categories:\n*\n* 1. **IR sentinels** (`__unbound__`, `__unspecified__`) — reserved on\n* every SQL target. The double-underscore decoration marks them as\n* framework-reserved coordinates; user code must not declare them\n* explicitly.\n* 2. **The PSL keyword `unbound`** — the name PSL writes for the\n* late-binding opt-in (`namespace unbound { … }`), so the TS surface\n* rejects it from `defineContract({ namespaces })` lists on every\n* target that accepts namespaces. A target whose `supportsNamespaces` is false rejects every\n* non-empty namespaces list outright; callers should declare\n* `namespaces: []` or omit the field.\n*/\nfunction validateNamespaceDeclarations(target, namespaces) {\n\tif (!namespaces) return;\n\tif (target.supportsNamespaces === false && namespaces.length > 0) throw contractError(\"CONTRACT.NAMESPACE_UNSUPPORTED\", `defineContract: ${targetNameOf(target)} contracts cannot declare namespaces. Received namespaces: [${namespaces.map((name) => `\"${name}\"`).join(\", \")}].`, { meta: {\n\t\tnamespaces,\n\t\ttargetId: target.targetId\n\t} });\n\tconst seen = /* @__PURE__ */ new Set();\n\tfor (const namespace of namespaces) {\n\t\tif (namespace.length === 0) throw contractError(\"CONTRACT.NAMESPACE_INVALID\", \"defineContract: namespace names cannot be empty.\", { meta: {\n\t\t\tnamespace,\n\t\t\treason: \"empty\"\n\t\t} });\n\t\tif (namespace.trim().length === 0) throw contractError(\"CONTRACT.NAMESPACE_INVALID\", `defineContract: namespace name \"${namespace}\" cannot be whitespace-only.`, { meta: {\n\t\t\tnamespace,\n\t\t\treason: \"whitespace-only\"\n\t\t} });\n\t\tif (namespace === \"__unbound__\" || namespace === \"__unspecified__\") throw contractError(\"CONTRACT.NAMESPACE_INVALID\", `defineContract: namespace name \"${namespace}\" is a reserved IR sentinel and cannot appear in the declared namespaces list.`, { meta: {\n\t\t\tnamespace,\n\t\t\treason: \"reserved-ir-sentinel\"\n\t\t} });\n\t\tif (namespace === UNBOUND_PSL_NAMESPACE_NAME) throw contractError(\"CONTRACT.NAMESPACE_INVALID\", `defineContract: namespace name \"${namespace}\" is reserved by ${targetNameOf(target)} for the late-binding opt-in (use \\`namespace ${namespace} { … }\\` in PSL instead of declaring it as a regular schema).`, { meta: {\n\t\t\tnamespace,\n\t\t\treason: \"reserved-psl-keyword\",\n\t\t\ttargetId: target.targetId\n\t\t} });\n\t\tif (seen.has(namespace)) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `defineContract: namespaces list contains duplicate entry \"${namespace}\".`, { meta: {\n\t\t\tkind: \"namespace\",\n\t\t\tname: namespace\n\t\t} });\n\t\tseen.add(namespace);\n\t}\n}\n/**\n* Per-model `namespace` validation paired with\n* {@link validateNamespaceDeclarations}. Mirrors the reserved-name\n* rules so the per-model surface stays consistent with the contract-\n* level surface:\n*\n* - `__unbound__` / `__unspecified__` — reserved IR sentinels on\n* every SQL target.\n* - The PSL keyword `unbound` — reserved for the PSL late-binding\n* opt-in, which the TS builder has no surface for.\n*\n* Additionally enforces that each per-model `namespace` references an\n* entry in the contract's declared `namespaces` list.\n*\n* A target whose `supportsNamespaces` is false rejects the per-model\n* `namespace` field outright.\n*/\nfunction validatePerModelNamespaces(target, namespaces, models) {\n\tconst declaredNamespaces = new Set(namespaces ?? []);\n\tfor (const [modelKey, modelBuilder] of Object.entries(models)) {\n\t\tconst perModelNamespace = modelBuilder.stageOne.namespace;\n\t\tif (perModelNamespace === void 0) continue;\n\t\tif (target.supportsNamespaces === false) throw contractError(\"CONTRACT.NAMESPACE_UNSUPPORTED\", `defineContract: model \"${modelKey}\" sets \\`namespace: \"${perModelNamespace}\"\\` but the target is ${targetNameOf(target)}, which does not support namespaces (remove the per-model \\`namespace\\` field).`, { meta: {\n\t\t\tmodelKey,\n\t\t\tnamespace: perModelNamespace,\n\t\t\ttargetId: target.targetId\n\t\t} });\n\t\tif (perModelNamespace === \"__unbound__\" || perModelNamespace === \"__unspecified__\") throw contractError(\"CONTRACT.NAMESPACE_INVALID\", `defineContract: model \"${modelKey}\" sets \\`namespace: \"${perModelNamespace}\"\\` but that name is a reserved IR sentinel and cannot appear in user code.`, { meta: {\n\t\t\tmodelKey,\n\t\t\tnamespace: perModelNamespace,\n\t\t\treason: \"reserved-ir-sentinel\"\n\t\t} });\n\t\tif (perModelNamespace === UNBOUND_PSL_NAMESPACE_NAME) throw contractError(\"CONTRACT.NAMESPACE_INVALID\", `defineContract: model \"${modelKey}\" sets \\`namespace: \"${perModelNamespace}\"\\` but that name is reserved by ${targetNameOf(target)} for the late-binding opt-in (use \\`namespace ${perModelNamespace} { … }\\` in PSL instead — there is no equivalent surface in the TS builder today).`, { meta: {\n\t\t\tmodelKey,\n\t\t\tnamespace: perModelNamespace,\n\t\t\treason: \"reserved-psl-keyword\",\n\t\t\ttargetId: target.targetId\n\t\t} });\n\t\tif (!declaredNamespaces.has(perModelNamespace)) throw contractError(\"CONTRACT.NAMESPACE_UNKNOWN\", `defineContract: model \"${modelKey}\" references namespace \"${perModelNamespace}\" but that name does not appear in the contract's declared \\`namespaces\\` list.${declaredNamespaces.size > 0 ? ` Declared namespaces: [${[...declaredNamespaces].map((name) => `\"${name}\"`).join(\", \")}].` : \" The contract does not declare any namespaces; add `namespaces: [\\\"…\\\"]` to `defineContract` first.\"}`, { meta: {\n\t\t\tmodelKey,\n\t\t\tnamespace: perModelNamespace,\n\t\t\tdeclared: [...declaredNamespaces]\n\t\t} });\n\t}\n}\nfunction validateExtensionPackRefs(target, extensions) {\n\tif (!extensions) return;\n\tfor (const packRef of Object.values(extensions)) {\n\t\tif (packRef.kind !== \"extension\") throw contractError(\"CONTRACT.PACK_REF_INVALID\", `defineContract only accepts extension pack refs in extensions. Received kind \"${packRef.kind}\".`, { meta: {\n\t\t\tpackId: packRef.id,\n\t\t\tkind: packRef.kind\n\t\t} });\n\t\tif (packRef.familyId !== target.familyId) throw contractError(\"CONTRACT.PACK_FAMILY_MISMATCH\", `extension pack \"${packRef.id}\" targets family \"${packRef.familyId}\" but contract target family is \"${target.familyId}\".`, { meta: {\n\t\t\tpackId: packRef.id,\n\t\t\tpackFamilyId: packRef.familyId,\n\t\t\tcontractFamilyId: target.familyId\n\t\t} });\n\t\tif (packRef.targetId && packRef.targetId !== target.targetId) throw contractError(\"CONTRACT.PACK_TARGET_MISMATCH\", `extension pack \"${packRef.id}\" targets \"${packRef.targetId}\" but contract target is \"${target.targetId}\".`, { meta: {\n\t\t\tpackId: packRef.id,\n\t\t\tpackTargetId: packRef.targetId,\n\t\t\tcontractTargetId: target.targetId\n\t\t} });\n\t}\n}\nfunction buildContractFromDsl(definition) {\n\tvalidateTargetPackRef(definition.family, definition.target);\n\tvalidateExtensionPackRefs(definition.target, definition.extensions);\n\tvalidateNamespaceDeclarations(definition.target, definition.namespaces);\n\tvalidatePerModelNamespaces(definition.target, definition.namespaces, definition.models ?? {});\n\treturn blindCast(buildSqlContractFromDefinition(buildContractDefinition(definition), definition.codecLookup, definition.dataTypeLookup));\n}\n/** Implementation. */\nfunction buildBoundContract(family, target, definition, factory) {\n\trefuseTypesKey(definition, \"defineContract\");\n\tconst full = {\n\t\t...definition,\n\t\tfamily,\n\t\ttarget\n\t};\n\tif (factory !== void 0) {\n\t\tconst built = factory(createComposedAuthoringHelpers({\n\t\t\tfamily,\n\t\t\ttarget,\n\t\t\textensions: definition.extensions,\n\t\t\tcodecLookup: definition.codecLookup\n\t\t}));\n\t\trefuseTypesKey(built, \"defineContract\");\n\t\tconst mergedEnums = {\n\t\t\t...definition.enums ?? {},\n\t\t\t...built.enums\n\t\t};\n\t\tconst mergedEntities = [...definition.entities ?? [], ...built.entities ?? []];\n\t\treturn buildContractFromDsl({\n\t\t\t...full,\n\t\t\t...ifDefined(\"databaseTypes\", built.databaseTypes),\n\t\t\t...ifDefined(\"models\", built.models),\n\t\t\t...ifDefined(\"enums\", Object.keys(mergedEnums).length > 0 ? mergedEnums : void 0),\n\t\t\t...ifDefined(\"entities\", mergedEntities.length > 0 ? mergedEntities : void 0)\n\t\t});\n\t}\n\treturn buildContractFromDsl(full);\n}\nfunction defineContract(definition, factory) {\n\tif (!isContractInput(definition)) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", \"defineContract expects a contract definition object. Define your contract with defineContract({ family, target, models, ... }).\");\n\tif (factory !== void 0) return buildBoundContract(definition.family, definition.target, definition, factory);\n\treturn buildBoundContract(definition.family, definition.target, definition);\n}\n//#endregion\n//#region src/default-functions.ts\n/** The database's current time, the same default PSL writes as `@default(now())`. */\nfunction now() {\n\treturn {\n\t\tkind: \"function\",\n\t\texpression: \"now()\"\n\t};\n}\n/** A database-assigned sequence value, the same default PSL writes as `@default(autoincrement())`. */\nfunction autoincrement() {\n\treturn {\n\t\tkind: \"function\",\n\t\texpression: \"autoincrement()\"\n\t};\n}\n//#endregion\nexport { applySqlSpecifierControlPolicy, autoincrement, bindEnumType, buildBoundContract, buildContractDefinition, buildSqlContractFromDefinition, check, createComposedAuthoringHelpers, defineContract, enumType, extensionModel, field, isValueObjectMember, member, model, now, rel, sql, storedAsListColumn };\n\n//# sourceMappingURL=contract-builder.mjs.map"],"mappings":"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"}
@@ -5,8 +5,8 @@ import { h as storedSqlText } from "./sql-expression-CKgKznXS.mjs";
5
5
  import { p as validateSqlStorageConsistency, u as validateModelStorageReferences } from "./validators-BwA7ttZM.mjs";
6
6
  import { t as deriveValueSetFromEntity } from "./value-set-derivation-hook-HVaxhALD.mjs";
7
7
  import { n as buildSqlContractFromDefinition, t as applySqlSpecifierControlPolicy } from "./derived-checks-D5HVRvqN-BJx1gwPA.mjs";
8
- import { c as instantiateFieldTypeConstructor, i as defaultFunctionCall, v as readDataTypeDefault } from "./psl-field-resolution-C5KQ7kzP-B0NwuRWV.mjs";
9
- import { a as normalizeReferentialAction, n as buildEntityTypesByDiscriminator, r as indexFkRelations, t as applyBackrelationCandidates } from "./interpreter-D5qk4B---CG0C7kdx.mjs";
8
+ import { c as instantiateFieldTypeConstructor, i as defaultFunctionCall, v as readDataTypeDefault } from "./psl-field-resolution-Bvhx79fP-CQqHf_L4.mjs";
9
+ import { a as normalizeReferentialAction, n as buildEntityTypesByDiscriminator, r as indexFkRelations, t as applyBackrelationCandidates } from "./interpreter-CS21wD1i-G0u1x8t_.mjs";
10
10
  import { isStructuredError } from "@prisma/orm-framework/utils/structured-error";
11
11
  import { ifDefined } from "@prisma/orm-framework/utils/defined";
12
12
  import { entryForTag, getAuthoringTypeConstructor, instantiateAuthoringEntityType, instantiateAuthoringTypeConstructorFromValues } from "@prisma/orm-framework/components/authoring";
@@ -1,6 +1,6 @@
1
1
  import { a as SqlNamespaceBase, c as SqlNamespaceInput } from "./sql-storage-DeCAh5Hi-CEM-m8cs.mjs";
2
2
  import "./types-CkAd8SWm.mjs";
3
- import { t as ColumnDescriptor } from "./psl-column-resolution-ChZqioOc-BREg4J7d.mjs";
3
+ import { t as ColumnDescriptor } from "./psl-column-resolution-djGEITmJ-B5iMpe8H.mjs";
4
4
  import { AuthoringContributions, DataTypeSupport } from "@prisma/orm-framework/components/authoring";
5
5
  import { CodecLookupWithDescriptors } from "@prisma/orm-framework/components/codec";
6
6
  import { Contract } from "@prisma/orm-framework/contract/types";
@@ -10,7 +10,7 @@ import { Result } from "@prisma/orm-framework/utils/result";
10
10
  import { ControlMutationDefaults, ControlMutationDefaults as ControlMutationDefaults$1, DefaultFunctionLoweringContext, MutationDefaultGeneratorDescriptor } from "@prisma/orm-framework/components/control";
11
11
  import { Binder, SymbolTable } from "@prisma/orm-framework/psl-parser";
12
12
  import { ContractSourceDiagnostic, ContractSourceDiagnostics } from "@prisma/orm-framework/config/config-types";
13
- //#region ../../../2-sql-family/2-authoring/contract-psl/dist/interpreter-1v3_VdVM.d.mts
13
+ //#region ../../../2-sql-family/2-authoring/contract-psl/dist/interpreter-DGoHOGSu.d.mts
14
14
  //#region src/interpreter.d.ts
15
15
  interface InterpretPslDocumentToSqlContractInput {
16
16
  readonly documents: readonly DocumentAst[];
@@ -1 +1 @@
1
- {"version":3,"file":"contract-psl.d.mts","names":[],"sources":["../../../../2-sql-family/2-authoring/contract-psl/dist/interpreter-1v3_VdVM.d.mts"],"mappings":";;;;;;;;;;;;;;UAYU;WACC,oBAAoB;WACpB,aAAa;WACb,SAAS;WACT,QAAQ;WACR,QAAQ;WACR,yBAAyB,oBAAoB;WAC7C;WACA,qCAAqC;WACrC,0BAA0B;;WAE1B,oBAAoB;;WAEpB,WAAW;WACX,yBAAyB;;;;;;;;;;WAUzB,4BAA4B,oBAAoB;;WAEhD,kBAAkB,OAAO,sBAAsB;WAC/C,aAAa;WACb,2BAA2B;;WAE3B;aACE;aACA;;WAEF,cAAc;;iBASR,kCAAkC,OAAO,yCAAyC,OAAO,UAAU"}
1
+ {"version":3,"file":"contract-psl.d.mts","names":[],"sources":["../../../../2-sql-family/2-authoring/contract-psl/dist/interpreter-DGoHOGSu.d.mts"],"mappings":";;;;;;;;;;;;;;UAYU;WACC,oBAAoB;WACpB,aAAa;WACb,SAAS;WACT,QAAQ;WACR,QAAQ;WACR,yBAAyB,oBAAoB;WAC7C;WACA,qCAAqC;WACrC,0BAA0B;;WAE1B,oBAAoB;;WAEpB,WAAW;WACX,yBAAyB;;;;;;;;;;WAUzB,4BAA4B,oBAAoB;;WAEhD,kBAAkB,OAAO,sBAAsB;WAC/C,aAAa;WACb,2BAA2B;;WAE3B;aACE;aACA;;WAEF,cAAc;;iBASR,kCAAkC,OAAO,yCAAyC,OAAO,UAAU"}
@@ -1,2 +1,2 @@
1
- import { i as interpretPslDocumentToSqlContract } from "./interpreter-D5qk4B---CG0C7kdx.mjs";
1
+ import { i as interpretPslDocumentToSqlContract } from "./interpreter-CS21wD1i-G0u1x8t_.mjs";
2
2
  export { interpretPslDocumentToSqlContract };
@@ -1,2 +1,2 @@
1
- import { a as EnumMemberListDefault, c as sqlAttributeSpecs, i as EnumMemberDefault, n as DefaultFunctionCall, o as ParsedNullLiteral, r as DefaultFunctionSignature, s as defaultFunctionCall, t as describeUnsupportedSqlAttribute } from "./attribute-specs-DA_RwQFB.mjs";
1
+ import { a as EnumMemberListDefault, c as sqlAttributeSpecs, i as EnumMemberDefault, n as DefaultFunctionCall, o as ParsedNullLiteral, r as DefaultFunctionSignature, s as defaultFunctionCall, t as describeUnsupportedSqlAttribute } from "./attribute-specs-Dcd2ZUrY.mjs";
2
2
  export { type DefaultFunctionCall, type DefaultFunctionSignature, type EnumMemberDefault, type EnumMemberListDefault, type ParsedNullLiteral, defaultFunctionCall, describeUnsupportedSqlAttribute, sqlAttributeSpecs };
@@ -1,2 +1,2 @@
1
- import { a as describeUnsupportedSqlAttribute, b as sqlAttributeSpecs, i as defaultFunctionCall } from "./psl-field-resolution-C5KQ7kzP-B0NwuRWV.mjs";
1
+ import { a as describeUnsupportedSqlAttribute, b as sqlAttributeSpecs, i as defaultFunctionCall } from "./psl-field-resolution-Bvhx79fP-CQqHf_L4.mjs";
2
2
  export { defaultFunctionCall, describeUnsupportedSqlAttribute, sqlAttributeSpecs };
@@ -1,12 +1,11 @@
1
+ import { AssembledAuthoringContributions } from "@prisma/orm-framework/components/control";
1
2
  import { DescribeUnresolvedType } from "@prisma/orm-framework/psl-parser";
2
3
  //#region ../../../2-sql-family/2-authoring/contract-psl/dist/diagnostics.d.mts
3
4
  //#region src/unresolved-type.d.ts
4
5
  /**
5
- * The message for a field type the binder cannot find. `Unsupported("x")`, the Prisma 6 and
6
- * Prisma 7 way to keep a column of a type those versions do not know, is named as no Prisma 8
7
- * type; any other name keeps the binder's message.
6
+ * The message for a field type the binder cannot find. A call to a field preset Prisma 8 removed names what to write instead, and a bare name that a contributed namespace holds names that type. `Unsupported("x")`, the Prisma 6 and Prisma 7 way to keep a column of a type those versions do not know, is named as no Prisma 8 type; any other name keeps the binder's message.
8
7
  */
9
- declare function describeUnresolvedSqlType(): DescribeUnresolvedType;
8
+ declare function describeUnresolvedSqlType(contributions: AssembledAuthoringContributions): DescribeUnresolvedType;
10
9
  //#endregion
11
10
  export { describeUnresolvedSqlType };
12
11
  //# sourceMappingURL=contract-psl__diagnostics.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract-psl__diagnostics.d.mts","names":[],"sources":["../../../../2-sql-family/2-authoring/contract-psl/dist/diagnostics.d.mts"],"mappings":";;;;;;;;iBAOiB,6BAA6B"}
1
+ {"version":3,"file":"contract-psl__diagnostics.d.mts","names":[],"sources":["../../../../2-sql-family/2-authoring/contract-psl/dist/diagnostics.d.mts"],"mappings":";;;;;;;iBAMiB,0BAA0B,eAAe,kCAAkC"}
@@ -1,2 +1,2 @@
1
- import { t as describeUnresolvedSqlType } from "./diagnostics-RHJxoiIk.mjs";
1
+ import { t as describeUnresolvedSqlType } from "./diagnostics-C7jR1Jyf.mjs";
2
2
  export { describeUnresolvedSqlType };
@@ -1,5 +1,5 @@
1
1
  import { t as applySqlSpecifierControlPolicy } from "./derived-checks-D5HVRvqN-BJx1gwPA.mjs";
2
- import { i as interpretPslDocumentToSqlContract } from "./interpreter-D5qk4B---CG0C7kdx.mjs";
2
+ import { i as interpretPslDocumentToSqlContract } from "./interpreter-CS21wD1i-G0u1x8t_.mjs";
3
3
  import { ifDefined } from "@prisma/orm-framework/utils/defined";
4
4
  import { collectScalarTypeConstructors } from "@prisma/orm-framework/components/authoring";
5
5
  import { readFile } from "node:fs/promises";
@@ -1 +1 @@
1
- {"version":3,"file":"contract-psl__provider.mjs","names":[],"sources":["../../../../2-sql-family/2-authoring/contract-psl/dist/provider.mjs"],"sourcesContent":["import { n as interpretPslDocumentToSqlContract } from \"./interpreter-D5qk4B--.mjs\";\nimport { buildSymbolTable, createBinder, isPrismaNextSchema, mapPslDiagnostics } from \"@internal/psl-parser\";\nimport { applySqlSpecifierControlPolicy } from \"@internal/sql-contract-ts/contract-builder\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { assertDefined } from \"@internal/utils/assertions\";\nimport { collectScalarTypeConstructors } from \"@internal/framework-components/authoring\";\nimport { withSeedDiagnostics } from \"@internal/psl-parser/interpret\";\nimport { parse } from \"@internal/psl-parser/syntax\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { readFile } from \"node:fs/promises\";\nimport { basename, extname } from \"pathe\";\nimport { isDynamicPattern } from \"tinyglobby\";\n//#region src/provider.ts\n/**\n* The directory portion of `pattern` before its first glob-magic segment,\n* joined back with `/` (e.g. a `prisma` directory holding a recursive\n* `.prisma` glob derives `./prisma`). A rootless pattern with no static\n* segments yields `''`.\n*/\nfunction staticPrefixDirectory(pattern) {\n\tconst staticSegments = [];\n\tfor (const segment of pattern.replaceAll(\"\\\\\", \"/\").split(\"/\")) {\n\t\tif (isDynamicPattern(segment)) break;\n\t\tstaticSegments.push(segment);\n\t}\n\treturn staticSegments.join(\"/\");\n}\n/**\n* Derives the emit output path from the schema input path so artefacts land\n* colocated with the source (e.g. `src/contract/schema.prisma` →\n* `src/contract/contract.json`). A glob-shaped path derives from its static\n* prefix directory instead (a recursive glob under `prisma` derives\n* `./prisma/contract.json`). The provider owns this because it is the only\n* layer that knows the input path; the upstream `normalizeContractConfig`\n* default is a last-resort fallback for providers that don't carry one.\n*/\nfunction defaultOutputFromSchemaPath(schemaPath) {\n\tif (isDynamicPattern(schemaPath)) {\n\t\tconst prefix = staticPrefixDirectory(schemaPath);\n\t\treturn prefix.length === 0 ? \"contract.json\" : `${prefix}/contract.json`;\n\t}\n\tconst ext = extname(schemaPath);\n\tif (ext.length === 0) return `${schemaPath}.json`;\n\tconst base = schemaPath.slice(0, -ext.length);\n\tif (basename(base) === \"schema\") return `${base.slice(0, -6)}contract.json`;\n\treturn `${base}.json`;\n}\nfunction prismaContract(schemaPath, options) {\n\treturn {\n\t\tsource: {\n\t\t\tformat: \"psl\",\n\t\t\tinputs: [schemaPath],\n\t\t\tinterpret(input, context) {\n\t\t\t\tconst scalarColumnDescriptors = collectScalarTypeConstructors(context.authoringContributions.type);\n\t\t\t\treturn interpretPslDocumentToSqlContract({\n\t\t\t\t\tdocuments: input.documents,\n\t\t\t\t\tsymbolTable: input.symbolTable,\n\t\t\t\t\tsources: input.sources,\n\t\t\t\t\tbinder: input.binder,\n\t\t\t\t\tseedDiagnostics: [],\n\t\t\t\t\ttarget: options.target,\n\t\t\t\t\tauthoringContributions: context.authoringContributions,\n\t\t\t\t\tscalarColumnDescriptors,\n\t\t\t\t\t...ifDefined(\"composedExtensions\", context.composedExtensions.length > 0 ? [...context.composedExtensions] : void 0),\n\t\t\t\t\tcomposedExtensionContracts: context.composedExtensionContracts,\n\t\t\t\t\t...ifDefined(\"composedExtensionPackRefs\", options.composedExtensionPackRefs?.length ? options.composedExtensionPackRefs : void 0),\n\t\t\t\t\tcontrolMutationDefaults: context.controlMutationDefaults,\n\t\t\t\t\tgeneratorFunctions: context.generatorFunctions,\n\t\t\t\t\tcreateNamespace: options.createNamespace,\n\t\t\t\t\tcapabilities: context.capabilities,\n\t\t\t\t\tcodecLookup: context.codecLookup,\n\t\t\t\t\tdataTypes: context.dataTypes,\n\t\t\t\t\t...ifDefined(\"enumInferenceCodecs\", options.enumInferenceCodecs)\n\t\t\t\t});\n\t\t\t},\n\t\t\tasync load(context) {\n\t\t\t\tconst candidates = [...new Set(context.resolvedInputs)].sort();\n\t\t\t\tif (candidates.length === 0) return notOk({\n\t\t\t\t\tsummary: \"No schema files matched the configured contract source\",\n\t\t\t\t\tdiagnostics: [{\n\t\t\t\t\t\tcode: \"PSL_NO_SCHEMA_FILES_MATCHED\",\n\t\t\t\t\t\tmessage: `No files matched the configured pattern \"${schemaPath}\"`,\n\t\t\t\t\t\tsourceId: schemaPath\n\t\t\t\t\t}]\n\t\t\t\t});\n\t\t\t\tconst readDiagnostics = [];\n\t\t\t\tconst members = [];\n\t\t\t\tconst undirected = [];\n\t\t\t\tfor (const path of candidates) {\n\t\t\t\t\tlet text;\n\t\t\t\t\ttry {\n\t\t\t\t\t\ttext = await readFile(path, \"utf-8\");\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconst message = String(error);\n\t\t\t\t\t\treadDiagnostics.push({\n\t\t\t\t\t\t\tcode: \"PSL_SCHEMA_READ_FAILED\",\n\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\tsourceId: path\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tif (isPrismaNextSchema(text)) members.push({\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\ttext\n\t\t\t\t\t});\n\t\t\t\t\telse undirected.push(path);\n\t\t\t\t}\n\t\t\t\tif (members.length === 0) {\n\t\t\t\t\tif (undirected.length === 0) return notOk({\n\t\t\t\t\t\tsummary: \"Failed to read Prisma schema files\",\n\t\t\t\t\t\tdiagnostics: readDiagnostics\n\t\t\t\t\t});\n\t\t\t\t\treturn notOk({\n\t\t\t\t\t\tsummary: \"No schema file carries the \\\"// use prisma-8\\\" directive\",\n\t\t\t\t\t\tdiagnostics: [...readDiagnostics, {\n\t\t\t\t\t\t\tcode: \"PSL_NO_OPTED_IN_SCHEMA_FILES\",\n\t\t\t\t\t\t\tmessage: `None of the matched files carry the \"// use prisma-8\" directive: ${undirected.join(\", \")}`,\n\t\t\t\t\t\t\tsourceId: schemaPath\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tconst parsed = members.map(({ path, text }) => parse(text, path));\n\t\t\t\tconst documents = parsed.map(({ document }) => document);\n\t\t\t\tconst [firstSources, ...restSources] = parsed.map(({ sources }) => sources);\n\t\t\t\tassertDefined(firstSources, \"prismaContract requires at least one parsed schema file\");\n\t\t\t\tconst sources = firstSources.merge(...restSources);\n\t\t\t\tconst seedDiagnostics = [...readDiagnostics, ...mapPslDiagnostics(parsed.flatMap(({ diagnostics }) => diagnostics), sources)];\n\t\t\t\tconst { symbolTable, diagnostics: symbolTableDiagnostics } = buildSymbolTable({\n\t\t\t\t\tdocuments,\n\t\t\t\t\tsources,\n\t\t\t\t\tdefaultNamespaceId: context.defaultNamespaceId\n\t\t\t\t});\n\t\t\t\tconst { binder, diagnostics: binderDiagnostics } = createBinder({\n\t\t\t\t\tsymbolTable,\n\t\t\t\t\tsources,\n\t\t\t\t\tcontext\n\t\t\t\t});\n\t\t\t\tconst interpreted = withSeedDiagnostics(this.interpret({\n\t\t\t\t\tdocuments,\n\t\t\t\t\tsources,\n\t\t\t\t\tsymbolTable,\n\t\t\t\t\tbinder\n\t\t\t\t}, context), [...seedDiagnostics, ...mapPslDiagnostics([...symbolTableDiagnostics, ...binderDiagnostics], sources)]);\n\t\t\t\tif (!interpreted.ok) return interpreted;\n\t\t\t\treturn ok(applySqlSpecifierControlPolicy(interpreted.value, options.defaultControlPolicy, options.createNamespace));\n\t\t\t}\n\t\t},\n\t\toutput: options.output ?? defaultOutputFromSchemaPath(schemaPath)\n\t};\n}\n//#endregion\nexport { prismaContract };\n\n//# sourceMappingURL=provider.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"contract-psl__provider.mjs","names":[],"sources":["../../../../2-sql-family/2-authoring/contract-psl/dist/provider.mjs"],"sourcesContent":["import { n as interpretPslDocumentToSqlContract } from \"./interpreter-CS21wD1i.mjs\";\nimport { buildSymbolTable, createBinder, isPrismaNextSchema, mapPslDiagnostics } from \"@internal/psl-parser\";\nimport { applySqlSpecifierControlPolicy } from \"@internal/sql-contract-ts/contract-builder\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { assertDefined } from \"@internal/utils/assertions\";\nimport { collectScalarTypeConstructors } from \"@internal/framework-components/authoring\";\nimport { withSeedDiagnostics } from \"@internal/psl-parser/interpret\";\nimport { parse } from \"@internal/psl-parser/syntax\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { readFile } from \"node:fs/promises\";\nimport { basename, extname } from \"pathe\";\nimport { isDynamicPattern } from \"tinyglobby\";\n//#region src/provider.ts\n/**\n* The directory portion of `pattern` before its first glob-magic segment,\n* joined back with `/` (e.g. a `prisma` directory holding a recursive\n* `.prisma` glob derives `./prisma`). A rootless pattern with no static\n* segments yields `''`.\n*/\nfunction staticPrefixDirectory(pattern) {\n\tconst staticSegments = [];\n\tfor (const segment of pattern.replaceAll(\"\\\\\", \"/\").split(\"/\")) {\n\t\tif (isDynamicPattern(segment)) break;\n\t\tstaticSegments.push(segment);\n\t}\n\treturn staticSegments.join(\"/\");\n}\n/**\n* Derives the emit output path from the schema input path so artefacts land\n* colocated with the source (e.g. `src/contract/schema.prisma` →\n* `src/contract/contract.json`). A glob-shaped path derives from its static\n* prefix directory instead (a recursive glob under `prisma` derives\n* `./prisma/contract.json`). The provider owns this because it is the only\n* layer that knows the input path; the upstream `normalizeContractConfig`\n* default is a last-resort fallback for providers that don't carry one.\n*/\nfunction defaultOutputFromSchemaPath(schemaPath) {\n\tif (isDynamicPattern(schemaPath)) {\n\t\tconst prefix = staticPrefixDirectory(schemaPath);\n\t\treturn prefix.length === 0 ? \"contract.json\" : `${prefix}/contract.json`;\n\t}\n\tconst ext = extname(schemaPath);\n\tif (ext.length === 0) return `${schemaPath}.json`;\n\tconst base = schemaPath.slice(0, -ext.length);\n\tif (basename(base) === \"schema\") return `${base.slice(0, -6)}contract.json`;\n\treturn `${base}.json`;\n}\nfunction prismaContract(schemaPath, options) {\n\treturn {\n\t\tsource: {\n\t\t\tformat: \"psl\",\n\t\t\tinputs: [schemaPath],\n\t\t\tinterpret(input, context) {\n\t\t\t\tconst scalarColumnDescriptors = collectScalarTypeConstructors(context.authoringContributions.type);\n\t\t\t\treturn interpretPslDocumentToSqlContract({\n\t\t\t\t\tdocuments: input.documents,\n\t\t\t\t\tsymbolTable: input.symbolTable,\n\t\t\t\t\tsources: input.sources,\n\t\t\t\t\tbinder: input.binder,\n\t\t\t\t\tseedDiagnostics: [],\n\t\t\t\t\ttarget: options.target,\n\t\t\t\t\tauthoringContributions: context.authoringContributions,\n\t\t\t\t\tscalarColumnDescriptors,\n\t\t\t\t\t...ifDefined(\"composedExtensions\", context.composedExtensions.length > 0 ? [...context.composedExtensions] : void 0),\n\t\t\t\t\tcomposedExtensionContracts: context.composedExtensionContracts,\n\t\t\t\t\t...ifDefined(\"composedExtensionPackRefs\", options.composedExtensionPackRefs?.length ? options.composedExtensionPackRefs : void 0),\n\t\t\t\t\tcontrolMutationDefaults: context.controlMutationDefaults,\n\t\t\t\t\tgeneratorFunctions: context.generatorFunctions,\n\t\t\t\t\tcreateNamespace: options.createNamespace,\n\t\t\t\t\tcapabilities: context.capabilities,\n\t\t\t\t\tcodecLookup: context.codecLookup,\n\t\t\t\t\tdataTypes: context.dataTypes,\n\t\t\t\t\t...ifDefined(\"enumInferenceCodecs\", options.enumInferenceCodecs)\n\t\t\t\t});\n\t\t\t},\n\t\t\tasync load(context) {\n\t\t\t\tconst candidates = [...new Set(context.resolvedInputs)].sort();\n\t\t\t\tif (candidates.length === 0) return notOk({\n\t\t\t\t\tsummary: \"No schema files matched the configured contract source\",\n\t\t\t\t\tdiagnostics: [{\n\t\t\t\t\t\tcode: \"PSL_NO_SCHEMA_FILES_MATCHED\",\n\t\t\t\t\t\tmessage: `No files matched the configured pattern \"${schemaPath}\"`,\n\t\t\t\t\t\tsourceId: schemaPath\n\t\t\t\t\t}]\n\t\t\t\t});\n\t\t\t\tconst readDiagnostics = [];\n\t\t\t\tconst members = [];\n\t\t\t\tconst undirected = [];\n\t\t\t\tfor (const path of candidates) {\n\t\t\t\t\tlet text;\n\t\t\t\t\ttry {\n\t\t\t\t\t\ttext = await readFile(path, \"utf-8\");\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconst message = String(error);\n\t\t\t\t\t\treadDiagnostics.push({\n\t\t\t\t\t\t\tcode: \"PSL_SCHEMA_READ_FAILED\",\n\t\t\t\t\t\t\tmessage,\n\t\t\t\t\t\t\tsourceId: path\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tif (isPrismaNextSchema(text)) members.push({\n\t\t\t\t\t\tpath,\n\t\t\t\t\t\ttext\n\t\t\t\t\t});\n\t\t\t\t\telse undirected.push(path);\n\t\t\t\t}\n\t\t\t\tif (members.length === 0) {\n\t\t\t\t\tif (undirected.length === 0) return notOk({\n\t\t\t\t\t\tsummary: \"Failed to read Prisma schema files\",\n\t\t\t\t\t\tdiagnostics: readDiagnostics\n\t\t\t\t\t});\n\t\t\t\t\treturn notOk({\n\t\t\t\t\t\tsummary: \"No schema file carries the \\\"// use prisma-8\\\" directive\",\n\t\t\t\t\t\tdiagnostics: [...readDiagnostics, {\n\t\t\t\t\t\t\tcode: \"PSL_NO_OPTED_IN_SCHEMA_FILES\",\n\t\t\t\t\t\t\tmessage: `None of the matched files carry the \"// use prisma-8\" directive: ${undirected.join(\", \")}`,\n\t\t\t\t\t\t\tsourceId: schemaPath\n\t\t\t\t\t\t}]\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tconst parsed = members.map(({ path, text }) => parse(text, path));\n\t\t\t\tconst documents = parsed.map(({ document }) => document);\n\t\t\t\tconst [firstSources, ...restSources] = parsed.map(({ sources }) => sources);\n\t\t\t\tassertDefined(firstSources, \"prismaContract requires at least one parsed schema file\");\n\t\t\t\tconst sources = firstSources.merge(...restSources);\n\t\t\t\tconst seedDiagnostics = [...readDiagnostics, ...mapPslDiagnostics(parsed.flatMap(({ diagnostics }) => diagnostics), sources)];\n\t\t\t\tconst { symbolTable, diagnostics: symbolTableDiagnostics } = buildSymbolTable({\n\t\t\t\t\tdocuments,\n\t\t\t\t\tsources,\n\t\t\t\t\tdefaultNamespaceId: context.defaultNamespaceId\n\t\t\t\t});\n\t\t\t\tconst { binder, diagnostics: binderDiagnostics } = createBinder({\n\t\t\t\t\tsymbolTable,\n\t\t\t\t\tsources,\n\t\t\t\t\tcontext\n\t\t\t\t});\n\t\t\t\tconst interpreted = withSeedDiagnostics(this.interpret({\n\t\t\t\t\tdocuments,\n\t\t\t\t\tsources,\n\t\t\t\t\tsymbolTable,\n\t\t\t\t\tbinder\n\t\t\t\t}, context), [...seedDiagnostics, ...mapPslDiagnostics([...symbolTableDiagnostics, ...binderDiagnostics], sources)]);\n\t\t\t\tif (!interpreted.ok) return interpreted;\n\t\t\t\treturn ok(applySqlSpecifierControlPolicy(interpreted.value, options.defaultControlPolicy, options.createNamespace));\n\t\t\t}\n\t\t},\n\t\toutput: options.output ?? defaultOutputFromSchemaPath(schemaPath)\n\t};\n}\n//#endregion\nexport { prismaContract };\n\n//# sourceMappingURL=provider.mjs.map"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { n as applySqlSpecifierControlPolicy, t as SqlNamespaceFactory } from "./derived-checks-DpPkO6Dt-9U9UJZOo.mjs";
2
2
  import { r as SqlExpression, u as sql } from "./sql-expression-B4BrhGPi.mjs";
3
- import { $ as extensionModel, A as MergeEnums, B as UniqueConstraintNode, C as ForeignKeyTableReference, D as IndexOptionsFunction, E as IndexNode, F as ScalarFieldBuilder, G as bindEnumType, H as ValueObjectMemberNode, I as ScalarMemberNode, J as buildSqlContractFromDefinition, K as buildBoundContract, L as TableNode, M as ModelNode, N as PrimaryKeyNode, O as IndexOptionsInput, P as RelationNode, Q as enumType, R as TableProperties, S as ForeignKeyNode, T as IndexExpressionInput, U as ValueObjectNode, V as ValueObjectFieldNode, W as autoincrement, X as createComposedAuthoringHelpers, Y as check, Z as defineContract, _ as EnumMember, a as CheckNode, at as rel, b as FieldNode, c as ColumnNode, d as ContractDefinition, et as field, f as ContractInput, g as DeferredIndexOptions, h as DeferredIndexExpression, i as BoundEnumType, it as now, j as ModelLike, k as ManyOptions, l as ColumnRef, m as DeferredIndexColumn, n as AuthoredColumnDefault, nt as member, o as CodecInput, ot as storedAsListColumn, p as ContractModelBuilder, q as buildContractDefinition, r as AuthoredColumnDefaultLiteralValue, rt as model, s as CodecTypeMap, t as AttachedEntities, tt as isValueObjectMember, u as ComposedAuthoringHelpers, v as EnumTypeHandle, w as IndexConstraint, x as ForeignKeyModelReference, y as ExtractCodecTypesFromPack, z as TargetFieldRef } from "./contract-builder-C_Zi57iD.mjs";
3
+ import { $ as extensionModel, A as MergeEnums, B as UniqueConstraintNode, C as ForeignKeyTableReference, D as IndexOptionsFunction, E as IndexNode, F as ScalarFieldBuilder, G as bindEnumType, H as ValueObjectMemberNode, I as ScalarMemberNode, J as buildSqlContractFromDefinition, K as buildBoundContract, L as TableNode, M as ModelNode, N as PrimaryKeyNode, O as IndexOptionsInput, P as RelationNode, Q as enumType, R as TableProperties, S as ForeignKeyNode, T as IndexExpressionInput, U as ValueObjectNode, V as ValueObjectFieldNode, W as autoincrement, X as createComposedAuthoringHelpers, Y as check, Z as defineContract, _ as EnumMember, a as CheckNode, at as rel, b as FieldNode, c as ColumnNode, d as ContractDefinition, et as field, f as ContractInput, g as DeferredIndexOptions, h as DeferredIndexExpression, i as BoundEnumType, it as now, j as ModelLike, k as ManyOptions, l as ColumnRef, m as DeferredIndexColumn, n as AuthoredColumnDefault, nt as member, o as CodecInput, ot as storedAsListColumn, p as ContractModelBuilder, q as buildContractDefinition, r as AuthoredColumnDefaultLiteralValue, rt as model, s as CodecTypeMap, t as AttachedEntities, tt as isValueObjectMember, u as ComposedAuthoringHelpers, v as EnumTypeHandle, w as IndexConstraint, x as ForeignKeyModelReference, y as ExtractCodecTypesFromPack, z as TargetFieldRef } from "./contract-builder-B-Q9T1CO.mjs";
4
4
  import { i as typescriptContractFromPath, n as emptyContract, r as typescriptContract, t as ContractConfig } from "./config-types-C-1mIiJO.mjs";
5
5
  export { type AttachedEntities, type AuthoredColumnDefault, type AuthoredColumnDefaultLiteralValue, type BoundEnumType, type CheckNode, type CodecInput, type CodecTypeMap, type ColumnNode, type ColumnRef, type ComposedAuthoringHelpers, type ContractConfig, type ContractDefinition, type ContractInput, type ContractModelBuilder, type DeferredIndexColumn, type DeferredIndexExpression, type DeferredIndexOptions, type EnumMember, type EnumTypeHandle, type ExtractCodecTypesFromPack, type FieldNode, type ForeignKeyModelReference, type ForeignKeyNode, type ForeignKeyTableReference, type IndexConstraint, type IndexExpressionInput, type IndexNode, type IndexOptionsFunction, type IndexOptionsInput, type ManyOptions, type MergeEnums, type ModelLike, type ModelNode, type PrimaryKeyNode, type RelationNode, type ScalarFieldBuilder, type ScalarMemberNode, type SqlExpression, type SqlNamespaceFactory, type TableNode, type TableProperties, type TargetFieldRef, type UniqueConstraintNode, type ValueObjectFieldNode, type ValueObjectMemberNode, type ValueObjectNode, applySqlSpecifierControlPolicy, autoincrement, bindEnumType, buildBoundContract, buildContractDefinition, buildSqlContractFromDefinition, check, createComposedAuthoringHelpers, defineContract, emptyContract, enumType, extensionModel, field, isValueObjectMember, member, model, now, rel, sql, storedAsListColumn, typescriptContract, typescriptContractFromPath };
@@ -1,5 +1,5 @@
1
1
  import { l as sql } from "./sql-expression-CKgKznXS.mjs";
2
2
  import { i as isValueObjectMember, n as buildSqlContractFromDefinition, o as storedAsListColumn, t as applySqlSpecifierControlPolicy } from "./derived-checks-D5HVRvqN-BJx1gwPA.mjs";
3
- import { a as check, c as enumType, d as member, f as model, i as buildContractDefinition, l as extensionModel, m as rel, n as bindEnumType, o as createComposedAuthoringHelpers, p as now, r as buildBoundContract, s as defineContract, t as autoincrement, u as field } from "./contract-builder-50lF0kz1.mjs";
3
+ import { a as check, c as enumType, d as member, f as model, i as buildContractDefinition, l as extensionModel, m as rel, n as bindEnumType, o as createComposedAuthoringHelpers, p as now, r as buildBoundContract, s as defineContract, t as autoincrement, u as field } from "./contract-builder-DMNe_jX9.mjs";
4
4
  import { n as typescriptContract, r as typescriptContractFromPath, t as emptyContract } from "./config-types-DkEeq_qq.mjs";
5
5
  export { applySqlSpecifierControlPolicy, autoincrement, bindEnumType, buildBoundContract, buildContractDefinition, buildSqlContractFromDefinition, check, createComposedAuthoringHelpers, defineContract, emptyContract, enumType, extensionModel, field, isValueObjectMember, member, model, now, rel, sql, storedAsListColumn, typescriptContract, typescriptContractFromPath };
@@ -1,4 +1,4 @@
1
1
  import { n as applySqlSpecifierControlPolicy, t as SqlNamespaceFactory } from "./derived-checks-DpPkO6Dt-9U9UJZOo.mjs";
2
2
  import { r as SqlExpression, u as sql } from "./sql-expression-B4BrhGPi.mjs";
3
- import { $ as extensionModel, A as MergeEnums, B as UniqueConstraintNode, C as ForeignKeyTableReference, D as IndexOptionsFunction, E as IndexNode, F as ScalarFieldBuilder, G as bindEnumType, H as ValueObjectMemberNode, I as ScalarMemberNode, J as buildSqlContractFromDefinition, K as buildBoundContract, L as TableNode, M as ModelNode, N as PrimaryKeyNode, O as IndexOptionsInput, P as RelationNode, Q as enumType, R as TableProperties, S as ForeignKeyNode, T as IndexExpressionInput, U as ValueObjectNode, V as ValueObjectFieldNode, W as autoincrement, X as createComposedAuthoringHelpers, Y as check, Z as defineContract, _ as EnumMember, a as CheckNode, at as rel, b as FieldNode, c as ColumnNode, d as ContractDefinition, et as field, f as ContractInput, g as DeferredIndexOptions, h as DeferredIndexExpression, i as BoundEnumType, it as now, j as ModelLike, k as ManyOptions, l as ColumnRef, m as DeferredIndexColumn, n as AuthoredColumnDefault, nt as member, o as CodecInput, ot as storedAsListColumn, p as ContractModelBuilder, q as buildContractDefinition, r as AuthoredColumnDefaultLiteralValue, rt as model, s as CodecTypeMap, t as AttachedEntities, tt as isValueObjectMember, u as ComposedAuthoringHelpers, v as EnumTypeHandle, w as IndexConstraint, x as ForeignKeyModelReference, y as ExtractCodecTypesFromPack, z as TargetFieldRef } from "./contract-builder-C_Zi57iD.mjs";
3
+ import { $ as extensionModel, A as MergeEnums, B as UniqueConstraintNode, C as ForeignKeyTableReference, D as IndexOptionsFunction, E as IndexNode, F as ScalarFieldBuilder, G as bindEnumType, H as ValueObjectMemberNode, I as ScalarMemberNode, J as buildSqlContractFromDefinition, K as buildBoundContract, L as TableNode, M as ModelNode, N as PrimaryKeyNode, O as IndexOptionsInput, P as RelationNode, Q as enumType, R as TableProperties, S as ForeignKeyNode, T as IndexExpressionInput, U as ValueObjectNode, V as ValueObjectFieldNode, W as autoincrement, X as createComposedAuthoringHelpers, Y as check, Z as defineContract, _ as EnumMember, a as CheckNode, at as rel, b as FieldNode, c as ColumnNode, d as ContractDefinition, et as field, f as ContractInput, g as DeferredIndexOptions, h as DeferredIndexExpression, i as BoundEnumType, it as now, j as ModelLike, k as ManyOptions, l as ColumnRef, m as DeferredIndexColumn, n as AuthoredColumnDefault, nt as member, o as CodecInput, ot as storedAsListColumn, p as ContractModelBuilder, q as buildContractDefinition, r as AuthoredColumnDefaultLiteralValue, rt as model, s as CodecTypeMap, t as AttachedEntities, tt as isValueObjectMember, u as ComposedAuthoringHelpers, v as EnumTypeHandle, w as IndexConstraint, x as ForeignKeyModelReference, y as ExtractCodecTypesFromPack, z as TargetFieldRef } from "./contract-builder-B-Q9T1CO.mjs";
4
4
  export { type AttachedEntities, type AuthoredColumnDefault, type AuthoredColumnDefaultLiteralValue, type BoundEnumType, type CheckNode, type CodecInput, type CodecTypeMap, type ColumnNode, type ColumnRef, type ComposedAuthoringHelpers, type ContractDefinition, type ContractInput, type ContractModelBuilder, type DeferredIndexColumn, type DeferredIndexExpression, type DeferredIndexOptions, type EnumMember, type EnumTypeHandle, type ExtractCodecTypesFromPack, type FieldNode, type ForeignKeyModelReference, type ForeignKeyNode, type ForeignKeyTableReference, type IndexConstraint, type IndexExpressionInput, type IndexNode, type IndexOptionsFunction, type IndexOptionsInput, type ManyOptions, type MergeEnums, type ModelLike, type ModelNode, type PrimaryKeyNode, type RelationNode, type ScalarFieldBuilder, type ScalarMemberNode, type SqlExpression, type SqlNamespaceFactory, type TableNode, type TableProperties, type TargetFieldRef, type UniqueConstraintNode, type ValueObjectFieldNode, type ValueObjectMemberNode, type ValueObjectNode, applySqlSpecifierControlPolicy, autoincrement, bindEnumType, buildBoundContract, buildContractDefinition, buildSqlContractFromDefinition, check, createComposedAuthoringHelpers, defineContract, enumType, extensionModel, field, isValueObjectMember, member, model, now, rel, sql, storedAsListColumn };
@@ -1,4 +1,4 @@
1
1
  import { l as sql } from "./sql-expression-CKgKznXS.mjs";
2
2
  import { i as isValueObjectMember, n as buildSqlContractFromDefinition, o as storedAsListColumn, t as applySqlSpecifierControlPolicy } from "./derived-checks-D5HVRvqN-BJx1gwPA.mjs";
3
- import { a as check, c as enumType, d as member, f as model, i as buildContractDefinition, l as extensionModel, m as rel, n as bindEnumType, o as createComposedAuthoringHelpers, p as now, r as buildBoundContract, s as defineContract, t as autoincrement, u as field } from "./contract-builder-50lF0kz1.mjs";
3
+ import { a as check, c as enumType, d as member, f as model, i as buildContractDefinition, l as extensionModel, m as rel, n as bindEnumType, o as createComposedAuthoringHelpers, p as now, r as buildBoundContract, s as defineContract, t as autoincrement, u as field } from "./contract-builder-DMNe_jX9.mjs";
4
4
  export { applySqlSpecifierControlPolicy, autoincrement, bindEnumType, buildBoundContract, buildContractDefinition, buildSqlContractFromDefinition, check, createComposedAuthoringHelpers, defineContract, enumType, extensionModel, field, isValueObjectMember, member, model, now, rel, sql, storedAsListColumn };
@@ -22,9 +22,10 @@ import { t as escapePslString } from "./data-type-support-CXpA0ex-.mjs";
22
22
  import { n as tableEntityKind, r as valueSetEntityKind, t as composeSqlEntityKinds } from "./entity-kinds-BPG2xCZV.mjs";
23
23
  import { a as pk, i as model, n as fk, o as table, r as index, s as unique, t as col } from "./factories-DbNP9qfs.mjs";
24
24
  import { a as declaredBackingObjectName, c as derivedBackingIndexIsRedundant, i as MaterializedTableConstraints, l as leadingBackingObjectName, n as ForeignKeyAuthoringInput, o as declaredIndexesServeForeignKey, r as IndexCandidate, s as defaultForeignKeyIndex, t as FOREIGN_KEY_INDEX_UNRESOLVED, u as materializeForeignKeysAndIndexes } from "./foreign-key-materialization-48P2V8on.mjs";
25
+ import { n as GeneratedIdColumnAlias, r as generatedIdColumnAliases, t as GENERATED_ID_COLUMN_ALIAS_NAMESPACES } from "./generated-id-column-aliases-DCuTuZrU.mjs";
25
26
  import { n as validateIndexTypes, t as CodecTraitsLookup } from "./index-type-validation-fGGwAHWc.mjs";
26
27
  import { t as REFERENTIAL_ACTION_SQL } from "./referential-action-sql-B2vKoUK6.mjs";
27
28
  import { n as resolveStorageTable, t as ResolvedStorageTable } from "./resolve-storage-table-DCqtmnSU.mjs";
28
29
  import { C as validateModelStorageReferences, D as validateStorage, E as validateSqlStorageConsistency, O as validateStorageSemantics, S as validateModel, T as validateSqlContractFully, _ as createSqlContractSchema, a as ContractEnumSchema, b as resolveSqlToOneRelationStorage, c as ForeignKeySourceSchema, d as SqlToOneRelationStorage, f as StorageTableSchema, g as createNamespaceEntrySchema, h as checkSqlDefaultText, i as ColumnDefaultSchema, k as valueObjectStorageTypeMissingMessage, l as IndexSchema, m as ValidateSqlContractFullyOptions, n as ColumnDefaultFunctionSchema, o as ForeignKeyReferenceSchema, p as StorageValueSetSchema, r as ColumnDefaultLiteralSchema, s as ForeignKeySchema, t as CheckConstraintSchema, u as ReferentialActionSchema, v as createSqlStorageSchema, w as validateRelationJoinFields, x as validateExecutionDefaultsTargetMappedColumns, y as reservedSqlDefaultText } from "./validators-FJs8HvFr.mjs";
29
30
  import { n as deriveValueSetFromEntity, r as providesValueSetDerivation, t as SqlValueSetDerivingEntityTypeOutput } from "./value-set-derivation-hook-3E437jPU.mjs";
30
- export { type AggregateOperationTypes, type AggregateResultType, type AggregateTypesBase, type AggregateTypesFromDescriptors, type AggregateTypesOf, type ApplyQueryOperationTypes, type AuthoredCheckInput, type AuthoredIndexInput, type AuthoredIndexMethod, type AuthoredStorageTypeInstance, CODEC_INSTANCE_KIND, CheckConstraint, type CheckConstraintInput, CheckConstraintSchema, CodecTraitsLookup, type CodecTypesOf, ColumnDefaultFunctionSchema, ColumnDefaultLiteralSchema, ColumnDefaultSchema, type ColumnTypesFromStorage, ContractEnumSchema, type ContractWithTypeMaps, DEFAULT_FK_CONSTRAINT, DEFAULT_FK_INDEX, type EntityHandleLoweringInput, type ExtractAggregateTypes, type ExtractCodecTypes, type ExtractFieldInputTypes, type ExtractFieldOutputTypes, type ExtractQueryOperationTypes, type ExtractStorageColumnInputTypes, type ExtractStorageColumnTypes, type ExtractTypeMapsFromContract, FOREIGN_KEY_INDEX_UNRESOLVED, type FieldInputTypesOf, type FieldOutputTypesOf, ForeignKey, type ForeignKeyAuthoringInput, type ForeignKeyIndex, type ForeignKeyInput, type ForeignKeyOptions, ForeignKeyReference, type ForeignKeyReferenceInput, ForeignKeyReferenceSchema, ForeignKeySchema, ForeignKeySourceSchema, type HasExecutionCreateDefault, Index, type IndexCandidate, type IndexInput, IndexSchema, type IndexTypeBuilder, type IndexTypeEntry, type IndexTypeMap, type IndexTypeRegistration, type IndexTypeRegistry, type IsOptionalCreateColumn, type LoweredPackEntity, type MaterializedTableConstraints, type NamespacedFieldTypeMap, type NamespacedStorageColumnTypeMap, type PackEntityHandle, PrimaryKey, type PrimaryKeyInput, type QueryOperationReturn, type QueryOperationSelfSpec, type QueryOperationTypeEntry, type QueryOperationTypesBase, type QueryOperationTypesFunction, type QueryOperationTypesOf, REFERENTIAL_ACTION_SQL, type ReferentialAction, ReferentialActionSchema, RelationKeys, type RelationNamesOf, type ResolveCodecTypes, type ResolvedEntityHandleRef, type ResolvedPackEntityHandle, type ResolvedPslModelRefs, type ResolvedSqlType, type ResolvedStorageTable, SQL_BUILTIN_KINDS, SQL_EXPRESSION_DATA_TYPE_ID, SQL_EXPRESSION_TAG, SQL_RAW_DATA_TYPE_ID, type Scalars, type SerializedCheckConstraint, type SerializedIndex, type Shape, type ShapeSpec, type SqlAuthoringContributions, type SqlBuiltinKind, type SqlColumnTypeFields, type SqlControlDriverInstance, type SqlDataType, type SqlDataTypeCollision, type SqlDataTypeFacts, type SqlDataTypeSpec, type SqlEntityHandleLoweringContribution, SqlExpression, SqlExpressionRegistration, type SqlModelFieldStorage, type SqlModelStorage, type SqlNamespace, SqlNamespaceBase, type SqlNamespaceEntries, type SqlNamespaceFactory, type SqlNamespaceInput, SqlNode, type SqlPslEntityPlacementOutput, type SqlQueryOperationTypes, type SqlRawTypeParams, type SqlSchemaQualifiedView, type SqlSingleNamespaceAccessors, type SqlSingleNamespaceView, SqlStorage, type SqlStorageInput, type SqlStorageTypeEntry, type SqlToOneRelationStorage, type SqlTypeParams, type SqlTypeText, type SqlValueSetDerivingEntityTypeOutput, StorageColumn, type StorageColumnInput, type StorageColumnInputTypesOf, type StorageColumnMapAt, type StorageColumnTypeAcrossNamespaces, type StorageColumnTypesOf, StorageTable, type StorageTableInput, StorageTableSchema, type StorageTypeInstance, type StorageTypeInstanceInput, StorageValueSet, type StorageValueSetInput, StorageValueSetSchema, type TypeMaps, type TypeMapsPhantomKey, UniqueConstraint, type UniqueConstraintInput, ValidateSqlContractFullyOptions, accessMethodOf, applyFkDefaults, assertNothingCastsFromSqlExpression, buildSqlSchemaQualifiedView, buildSqlSingleNamespaceView, checkConstraintInputFromSerialized, checkRawTypeText, checkSqlDefaultText, col, composeSqlEntityKinds, createIndexTypeRegistry, createNamespaceEntrySchema, createSqlContractSchema, createSqlStorageSchema, declaredBackingObjectName, declaredIndexesServeForeignKey, defaultForeignKeyIndex, defineIndexTypes, deriveValueSetFromEntity, derivedBackingIndexIsRedundant, escapePslString, exactNameBodyWarning, findSqlDataTypeCollision, fk, index, indexInputFromSerialized, indexTypeRegistryOf, isAuthoredIndexInput, isMaterializedSqlNamespace, isSqlAuthoringContributions, isSqlDataType, isSqlExpression, isStorageTypeInstance, isStorageValueSet, leadingBackingObjectName, lowerAuthoredCheck, lowerAuthoredIndex, materializeForeignKeysAndIndexes, model, nameIsCatalogText, nonEmptyTypeParams, pk, printSqlExpressionLiteral, providesEntityHandleLowering, providesPslEntityPlacement, providesValueSetDerivation, readSqlExpression, renderSqlCatalogText, renderSqlTypeName, rendersIndexBody, requireSqlExpression, reservedSqlDefaultText, resolveReportedSqlType, resolveSqlToOneRelationStorage, resolveStorageTable, resolveWrittenSqlTypes, sameSqlColumnType, sql, sqlBaseName, sqlCodecColumnLength, sqlColumnLength, sqlContractCanonicalizationHooks, sqlDataType, sqlDataTypeOfCodec, sqlExpressionAuthoringEntry, sqlExpressionDataType, sqlExpressionRegistration, sqlRawDataType, sqlStorageType, sqlStorageTypeId, sqlStorageTypeOfCodec, sqlTextFromStored, sqlTextsReadBack, storedSqlText, table, tableEntityKind, toStorageTypeInstance, unique, unquotedSqlBaseName, unquotedSqlBaseNameOfCodec, validateExecutionDefaultsTargetMappedColumns, validateIndexTypes, validateModel, validateModelStorageReferences, validateRelationJoinFields, validateSqlContractFully, validateSqlStorageConsistency, validateSqlTypeParams, validateStorage, validateStorageSemantics, valueObjectStorageTypeMissingMessage, valueSetEntityKind };
31
+ export { type AggregateOperationTypes, type AggregateResultType, type AggregateTypesBase, type AggregateTypesFromDescriptors, type AggregateTypesOf, type ApplyQueryOperationTypes, type AuthoredCheckInput, type AuthoredIndexInput, type AuthoredIndexMethod, type AuthoredStorageTypeInstance, CODEC_INSTANCE_KIND, CheckConstraint, type CheckConstraintInput, CheckConstraintSchema, CodecTraitsLookup, type CodecTypesOf, ColumnDefaultFunctionSchema, ColumnDefaultLiteralSchema, ColumnDefaultSchema, type ColumnTypesFromStorage, ContractEnumSchema, type ContractWithTypeMaps, DEFAULT_FK_CONSTRAINT, DEFAULT_FK_INDEX, type EntityHandleLoweringInput, type ExtractAggregateTypes, type ExtractCodecTypes, type ExtractFieldInputTypes, type ExtractFieldOutputTypes, type ExtractQueryOperationTypes, type ExtractStorageColumnInputTypes, type ExtractStorageColumnTypes, type ExtractTypeMapsFromContract, FOREIGN_KEY_INDEX_UNRESOLVED, type FieldInputTypesOf, type FieldOutputTypesOf, ForeignKey, type ForeignKeyAuthoringInput, type ForeignKeyIndex, type ForeignKeyInput, type ForeignKeyOptions, ForeignKeyReference, type ForeignKeyReferenceInput, ForeignKeyReferenceSchema, ForeignKeySchema, ForeignKeySourceSchema, GENERATED_ID_COLUMN_ALIAS_NAMESPACES, GeneratedIdColumnAlias, type HasExecutionCreateDefault, Index, type IndexCandidate, type IndexInput, IndexSchema, type IndexTypeBuilder, type IndexTypeEntry, type IndexTypeMap, type IndexTypeRegistration, type IndexTypeRegistry, type IsOptionalCreateColumn, type LoweredPackEntity, type MaterializedTableConstraints, type NamespacedFieldTypeMap, type NamespacedStorageColumnTypeMap, type PackEntityHandle, PrimaryKey, type PrimaryKeyInput, type QueryOperationReturn, type QueryOperationSelfSpec, type QueryOperationTypeEntry, type QueryOperationTypesBase, type QueryOperationTypesFunction, type QueryOperationTypesOf, REFERENTIAL_ACTION_SQL, type ReferentialAction, ReferentialActionSchema, RelationKeys, type RelationNamesOf, type ResolveCodecTypes, type ResolvedEntityHandleRef, type ResolvedPackEntityHandle, type ResolvedPslModelRefs, type ResolvedSqlType, type ResolvedStorageTable, SQL_BUILTIN_KINDS, SQL_EXPRESSION_DATA_TYPE_ID, SQL_EXPRESSION_TAG, SQL_RAW_DATA_TYPE_ID, type Scalars, type SerializedCheckConstraint, type SerializedIndex, type Shape, type ShapeSpec, type SqlAuthoringContributions, type SqlBuiltinKind, type SqlColumnTypeFields, type SqlControlDriverInstance, type SqlDataType, type SqlDataTypeCollision, type SqlDataTypeFacts, type SqlDataTypeSpec, type SqlEntityHandleLoweringContribution, SqlExpression, SqlExpressionRegistration, type SqlModelFieldStorage, type SqlModelStorage, type SqlNamespace, SqlNamespaceBase, type SqlNamespaceEntries, type SqlNamespaceFactory, type SqlNamespaceInput, SqlNode, type SqlPslEntityPlacementOutput, type SqlQueryOperationTypes, type SqlRawTypeParams, type SqlSchemaQualifiedView, type SqlSingleNamespaceAccessors, type SqlSingleNamespaceView, SqlStorage, type SqlStorageInput, type SqlStorageTypeEntry, type SqlToOneRelationStorage, type SqlTypeParams, type SqlTypeText, type SqlValueSetDerivingEntityTypeOutput, StorageColumn, type StorageColumnInput, type StorageColumnInputTypesOf, type StorageColumnMapAt, type StorageColumnTypeAcrossNamespaces, type StorageColumnTypesOf, StorageTable, type StorageTableInput, StorageTableSchema, type StorageTypeInstance, type StorageTypeInstanceInput, StorageValueSet, type StorageValueSetInput, StorageValueSetSchema, type TypeMaps, type TypeMapsPhantomKey, UniqueConstraint, type UniqueConstraintInput, ValidateSqlContractFullyOptions, accessMethodOf, applyFkDefaults, assertNothingCastsFromSqlExpression, buildSqlSchemaQualifiedView, buildSqlSingleNamespaceView, checkConstraintInputFromSerialized, checkRawTypeText, checkSqlDefaultText, col, composeSqlEntityKinds, createIndexTypeRegistry, createNamespaceEntrySchema, createSqlContractSchema, createSqlStorageSchema, declaredBackingObjectName, declaredIndexesServeForeignKey, defaultForeignKeyIndex, defineIndexTypes, deriveValueSetFromEntity, derivedBackingIndexIsRedundant, escapePslString, exactNameBodyWarning, findSqlDataTypeCollision, fk, generatedIdColumnAliases, index, indexInputFromSerialized, indexTypeRegistryOf, isAuthoredIndexInput, isMaterializedSqlNamespace, isSqlAuthoringContributions, isSqlDataType, isSqlExpression, isStorageTypeInstance, isStorageValueSet, leadingBackingObjectName, lowerAuthoredCheck, lowerAuthoredIndex, materializeForeignKeysAndIndexes, model, nameIsCatalogText, nonEmptyTypeParams, pk, printSqlExpressionLiteral, providesEntityHandleLowering, providesPslEntityPlacement, providesValueSetDerivation, readSqlExpression, renderSqlCatalogText, renderSqlTypeName, rendersIndexBody, requireSqlExpression, reservedSqlDefaultText, resolveReportedSqlType, resolveSqlToOneRelationStorage, resolveStorageTable, resolveWrittenSqlTypes, sameSqlColumnType, sql, sqlBaseName, sqlCodecColumnLength, sqlColumnLength, sqlContractCanonicalizationHooks, sqlDataType, sqlDataTypeOfCodec, sqlExpressionAuthoringEntry, sqlExpressionDataType, sqlExpressionRegistration, sqlRawDataType, sqlStorageType, sqlStorageTypeId, sqlStorageTypeOfCodec, sqlTextFromStored, sqlTextsReadBack, storedSqlText, table, tableEntityKind, toStorageTypeInstance, unique, unquotedSqlBaseName, unquotedSqlBaseNameOfCodec, validateExecutionDefaultsTargetMappedColumns, validateIndexTypes, validateModel, validateModelStorageReferences, validateRelationJoinFields, validateSqlContractFully, validateSqlStorageConsistency, validateSqlTypeParams, validateStorage, validateStorageSemantics, valueObjectStorageTypeMissingMessage, valueSetEntityKind };