@prisma/orm-toolchain 8.0.0-rc.11-dev.22 → 8.0.0-rc.11-dev.24

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.
@@ -6,7 +6,7 @@ import { canonicalizeContractToObject } from "@prisma/orm-framework/contract/has
6
6
  import { format } from "prettier";
7
7
  import { InternalError } from "@prisma/orm-framework/utils/internal-error";
8
8
  import { UNBOUND_NAMESPACE_ID } from "@prisma/orm-framework/components/ir";
9
- //#region ../../../1-framework/3-tooling/emitter/dist/exports-DkJil2JJ.mjs
9
+ //#region ../../../1-framework/3-tooling/emitter/dist/exports-DI1kMms6.mjs
10
10
  const JSON_EXTENSION = ".json";
11
11
  function getEmittedArtifactPaths(outputJsonPath) {
12
12
  if (!outputJsonPath.endsWith(JSON_EXTENSION)) throw emitterError("CONFIG.VALIDATION_FAILED", "Contract output path must end with .json", { meta: {
@@ -381,7 +381,7 @@ async function emit(contract, stack, targetFamily, options) {
381
381
  };
382
382
  return {
383
383
  contractJson: contractJsonString,
384
- contractDts: await format(generateContractDts(options.deserializeContract === void 0 ? contract : options.deserializeContract(canonicalized), targetFamily, codecTypeImports ?? [], contractTypeHashes, generateOptions, stack.codecLookup, options.resolveImportSpecifier ?? keepInternalSpecifiers), {
384
+ contractDts: await format(generateContractDts(options.deserializeContract(canonicalized), targetFamily, codecTypeImports ?? [], contractTypeHashes, generateOptions, stack.codecLookup, options.resolveImportSpecifier ?? keepInternalSpecifiers), {
385
385
  parser: "typescript",
386
386
  singleQuote: true,
387
387
  semi: true,
@@ -395,4 +395,4 @@ async function emit(contract, stack, targetFamily, options) {
395
395
  //#endregion
396
396
  export { generateContractDts as n, getEmittedArtifactPaths as r, emit as t };
397
397
 
398
- //# sourceMappingURL=exports-DkJil2JJ-6p86L2r4.mjs.map
398
+ //# sourceMappingURL=exports-DI1kMms6--e9LdT9A.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"exports-DkJil2JJ-6p86L2r4.mjs","names":[],"sources":["../../../../1-framework/3-tooling/emitter/dist/exports-DkJil2JJ.mjs"],"sourcesContent":["import { D as serializeValue, E as serializeObjectKey, O as emitterError, _ as generateValueObjectTypeAliases, c as generateFieldTypesMapsByNamespace, h as generateRootsType, l as generateHashTypeAliases, m as generateModelsType, r as generateCodecTypeIntersection, t as deduplicateImports, u as generateImportLines, v as generateValueObjectsDescriptorType, w as serializeExecutionType, x as resolveModelFieldType } from \"./domain-type-generation-BVFTIUm6.mjs\";\nimport { keepInternalSpecifiers } from \"@internal/framework-components/emission\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { canonicalizeContractToObject } from \"@internal/contract/hashing\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { format } from \"prettier\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\n//#region src/artifact-paths.ts\nconst JSON_EXTENSION = \".json\";\nfunction getEmittedArtifactPaths(outputJsonPath) {\n\tif (!outputJsonPath.endsWith(JSON_EXTENSION)) throw emitterError(\"CONFIG.VALIDATION_FAILED\", \"Contract output path must end with .json\", { meta: {\n\t\tfield: \"contract.output\",\n\t\toutputJsonPath\n\t} });\n\treturn {\n\t\tjsonPath: outputJsonPath,\n\t\tdtsPath: `${outputJsonPath.slice(0, -5)}.d.ts`\n\t};\n}\n//#endregion\n//#region src/model-types-emission.ts\nconst TYPESCRIPT_IDENTIFIER = /^[$A-Z_a-z][$\\w]*$/;\nfunction namespacedMemberName(namespaceId, modelName) {\n\treturn `${namespaceId === UNBOUND_NAMESPACE_ID ? \"unbound\" : namespaceId}_${modelName}`;\n}\nfunction bareMemberName(_namespaceId, modelName) {\n\treturn modelName;\n}\nfunction claimMemberName(claims, memberName, source) {\n\tif (!TYPESCRIPT_IDENTIFIER.test(memberName)) throw emitterError(\"CONTRACT.MODEL_TYPE_NAME_INVALID\", `Emitted model type name \"${memberName}\" (from ${source}) is not a TypeScript identifier`, {\n\t\twhy: \"Every entry in the emitted Models namespace is declared as `export type <name>`, so the name must be a TypeScript identifier.\",\n\t\tfix: \"Rename the namespace or model so that <namespace>_<Model> contains only letters, digits, `$`, and `_`, and does not start with a digit.\",\n\t\tmeta: {\n\t\t\tmemberName,\n\t\t\tsource\n\t\t}\n\t});\n\tconst existing = claims.get(memberName);\n\tif (existing !== void 0) throw emitterError(\"CONTRACT.MODEL_TYPE_NAME_COLLISION\", `Emitted model type name \"${memberName}\" is produced by both ${existing} and ${source}`, {\n\t\twhy: \"Every entry in the emitted Models namespace needs a distinct name, formed as <namespace>_<Model>.\",\n\t\tfix: \"Rename one of the models or namespaces so the two names differ.\",\n\t\tmeta: {\n\t\t\tmemberName,\n\t\t\tsources: [existing, source]\n\t\t}\n\t});\n\tclaims.set(memberName, source);\n}\nfunction isPolymorphicBase(model) {\n\treturn model.discriminator !== void 0 && model.variants !== void 0;\n}\nfunction findModelByName(namespaces, namespaceId, modelName) {\n\treturn namespaces.find((ns) => ns.namespaceId === namespaceId)?.models.find((m) => m.modelName === modelName);\n}\nfunction findModel(namespaces, ref) {\n\treturn findModelByName(namespaces, ref.namespace, ref.model);\n}\nfunction requireRelationTarget(namespaces, owner, relationName, ref) {\n\tconst target = findModel(namespaces, ref);\n\tif (target !== void 0) return target;\n\tconst ownerSource = `${owner.namespaceId}.${owner.modelName}`;\n\tthrow emitterError(\"CONTRACT.MODEL_RELATION_TARGET_MISSING\", `Relation \"${relationName}\" on ${ownerSource} targets ${ref.namespace}.${ref.model}, which is not in the contract`, {\n\t\twhy: \"A same-space relation must point at a model the contract declares; only cross-space relations may reference models outside it.\",\n\t\tfix: \"Declare the target model in the contract, or mark the relation as cross-space by giving its target a `space`.\",\n\t\tmeta: {\n\t\t\towner: ownerSource,\n\t\t\trelationName,\n\t\t\ttarget: {\n\t\t\t\tnamespaceId: ref.namespace,\n\t\t\t\tmodelName: ref.model\n\t\t\t}\n\t\t}\n\t});\n}\nfunction requireBase(namespaces, variant, base) {\n\tconst found = findModel(namespaces, base);\n\tif (found !== void 0) return found;\n\tconst variantSource = `${variant.namespaceId}.${variant.modelName}`;\n\tconst baseSource = `${base.namespace}.${base.model}`;\n\tthrow emitterError(\"CONTRACT.MODEL_BASE_MISSING\", `Model ${variantSource} names base ${baseSource}, which is not in the contract`, {\n\t\twhy: \"A variant's type is its base's fields plus its own, so the base must be a model the contract declares.\",\n\t\tfix: \"Declare the base model in the contract, or remove `base` from the variant.\",\n\t\tmeta: {\n\t\t\tvariant: variantSource,\n\t\t\tbase: baseSource\n\t\t}\n\t});\n}\nfunction requireVariant(namespaces, base, variantName) {\n\tconst variant = findModelByName(namespaces, base.namespaceId, variantName);\n\tif (variant !== void 0) return variant;\n\tconst baseSource = `${base.namespaceId}.${base.modelName}`;\n\tthrow emitterError(\"CONTRACT.MODEL_VARIANT_MISSING\", `Polymorphic base ${baseSource} names variant \"${variantName}\", which is not in the contract`, {\n\t\twhy: \"The Any<Base> union is the union of the variant model types, so every variant a base declares must be a model in the same namespace.\",\n\t\tfix: \"Declare the variant model in the same namespace as the base, or remove it from the base's variants.\",\n\t\tmeta: {\n\t\t\tbase: baseSource,\n\t\t\tvariantName\n\t\t}\n\t});\n}\nfunction collectFieldLines(ref, resolvers, discriminatorType) {\n\tconst lines = /* @__PURE__ */ new Map();\n\tfor (const [fieldName, field] of Object.entries(ref.model.fields)) {\n\t\tconst type = discriminatorType !== void 0 && fieldName === discriminatorType.field ? discriminatorType.type : resolveModelFieldType(ref.modelName, fieldName, field, ref.model, resolvers).output;\n\t\tlines.set(fieldName, `${serializeObjectKey(fieldName)}: ${type};`);\n\t}\n\treturn lines;\n}\nfunction hasJoin(relation) {\n\treturn \"on\" in relation && relation.on !== void 0;\n}\nfunction relationLine(owner, relationName, relation, index) {\n\tif (relation.to.space !== void 0) return void 0;\n\tconst target = requireRelationTarget(index.namespaces, owner, relationName, relation.to);\n\tconst targetMember = index.memberNameOf(target.namespaceId, isPolymorphicBase(target.model) ? `Any${target.modelName}` : target.modelName);\n\tconst key = serializeObjectKey(relationName);\n\tif (!hasJoin(relation)) return {\n\t\tline: `${key}: ${relation.cardinality === \"1:N\" ? `${targetMember}[]` : targetMember};`,\n\t\thasJoin: false\n\t};\n\tif (relation.cardinality === \"1:N\" || relation.cardinality === \"N:M\") return {\n\t\tline: `${key}: ${targetMember}[];`,\n\t\thasJoin: true\n\t};\n\treturn {\n\t\tline: `${key}: ${relation.nullable ? `${targetMember} | null` : targetMember};`,\n\t\thasJoin: true\n\t};\n}\nfunction collectRelationLines(ref, index) {\n\tconst lines = /* @__PURE__ */ new Map();\n\tfor (const [relationName, relation] of Object.entries(ref.model.relations)) {\n\t\tconst rendered = relationLine(ref, relationName, relation, index);\n\t\tif (rendered !== void 0) lines.set(relationName, rendered);\n\t}\n\treturn lines;\n}\nfunction discriminatorUnion(base) {\n\tconst values = Object.values(base.variants ?? {}).map((v) => serializeValue(v.value));\n\treturn values.length > 0 ? values.join(\" | \") : \"never\";\n}\nfunction memberLines(ref, index, resolvers) {\n\tconst base = ref.model.base !== void 0 ? requireBase(index.namespaces, ref, ref.model.base) : void 0;\n\tif (base !== void 0 && isPolymorphicBase(base.model)) {\n\t\tconst discriminatorField = base.model.discriminator?.field ?? \"\";\n\t\tconst variantValue = base.model.variants?.[ref.modelName]?.value;\n\t\tconst discriminatorType = {\n\t\t\tfield: discriminatorField,\n\t\t\ttype: variantValue !== void 0 ? serializeValue(variantValue) : discriminatorUnion(base.model)\n\t\t};\n\t\treturn {\n\t\t\tfieldsByName: new Map([...collectFieldLines(base, resolvers, discriminatorType), ...collectFieldLines(ref, resolvers, void 0)]),\n\t\t\trelationsByName: new Map([...collectRelationLines(base, index), ...collectRelationLines(ref, index)])\n\t\t};\n\t}\n\treturn {\n\t\tfieldsByName: collectFieldLines(ref, resolvers, isPolymorphicBase(ref.model) ? {\n\t\t\tfield: ref.model.discriminator?.field ?? \"\",\n\t\t\ttype: discriminatorUnion(ref.model)\n\t\t} : void 0),\n\t\trelationsByName: collectRelationLines(ref, index)\n\t};\n}\nfunction renderMember(memberName, lines, hasOwner) {\n\tconst entries = [...lines.relationsByName];\n\tconst joinlessLines = entries.filter(([, r]) => !r.hasJoin).map(([, r]) => r.line);\n\tconst joinedLines = entries.filter(([, r]) => r.hasJoin).map(([, r]) => r.line);\n\tconst relationNames = entries.filter(([, r]) => r.hasJoin).map(([name]) => name);\n\tconst phantom = relationNames.length > 0 ? relationNames.map((name) => serializeValue(name)).join(\" | \") : \"never\";\n\treturn ` export type ${memberName} = {\\n${[\n\t\t...lines.fieldsByName.values(),\n\t\t...joinlessLines,\n\t\t...joinedLines,\n\t\t...hasOwner ? [] : [`readonly [RelationKeys]?: ${phantom};`]\n\t].map((line) => ` ${line}`).join(\"\\n\")}\\n };`;\n}\nfunction namespaceModelsOf(contract) {\n\treturn Object.entries(contract.domain.namespaces).map(([namespaceId, ns]) => ({\n\t\tnamespaceId,\n\t\tmodels: Object.entries(ns.models).map(([modelName, model]) => ({\n\t\t\tnamespaceId,\n\t\t\tmodelName,\n\t\t\tmodel\n\t\t}))\n\t}));\n}\nfunction generateModelTypesBlock(contract, resolvers, supportsNamespaces) {\n\tconst memberNameOf = supportsNamespaces ? namespacedMemberName : bareMemberName;\n\tconst namespaces = namespaceModelsOf(contract);\n\tconst index = {\n\t\tnamespaces,\n\t\tmemberNameOf\n\t};\n\tconst claims = /* @__PURE__ */ new Map();\n\tfor (const ns of namespaces) for (const ref of ns.models) claimMemberName(claims, memberNameOf(ns.namespaceId, ref.modelName), `${ns.namespaceId}.${ref.modelName}`);\n\tfor (const ns of namespaces) for (const ref of ns.models) {\n\t\tif (!isPolymorphicBase(ref.model)) continue;\n\t\tclaimMemberName(claims, memberNameOf(ns.namespaceId, `Any${ref.modelName}`), `${ns.namespaceId}.Any<${ref.modelName}>`);\n\t}\n\tconst members = [];\n\tconst constantEntries = [];\n\tfor (const ns of namespaces) {\n\t\tconst keys = [];\n\t\tfor (const ref of ns.models) {\n\t\t\tconst memberName = memberNameOf(ns.namespaceId, ref.modelName);\n\t\t\tmembers.push(renderMember(memberName, memberLines(ref, index, resolvers), ref.model.owner !== void 0));\n\t\t\tkeys.push(`${serializeObjectKey(ref.modelName)}: Models.${memberName};`);\n\t\t}\n\t\tfor (const ref of ns.models) {\n\t\t\tif (!isPolymorphicBase(ref.model)) continue;\n\t\t\tconst unionName = memberNameOf(ns.namespaceId, `Any${ref.modelName}`);\n\t\t\tconst variantMembers = Object.keys(ref.model.variants ?? {}).map((variantName) => {\n\t\t\t\tconst variant = requireVariant(namespaces, ref, variantName);\n\t\t\t\treturn memberNameOf(variant.namespaceId, variant.modelName);\n\t\t\t});\n\t\t\tmembers.push(` export type ${unionName} = ${variantMembers.length > 0 ? variantMembers.join(\" | \") : \"never\"};`);\n\t\t\tkeys.push(`${serializeObjectKey(`Any${ref.modelName}`)}: Models.${unionName};`);\n\t\t}\n\t\tif (!supportsNamespaces) {\n\t\t\tconstantEntries.push(...keys.map((key) => ` ${key}`));\n\t\t\tcontinue;\n\t\t}\n\t\tconst nsKey = serializeObjectKey(ns.namespaceId);\n\t\tconst nested = keys.map((key) => ` ${key}`).join(\"\\n\");\n\t\tconstantEntries.push(keys.length > 0 ? ` ${nsKey}: {\\n${nested}\\n };` : ` ${nsKey}: {};`);\n\t}\n\treturn `${members.length > 0 ? `export namespace Models {\\n${members.join(\"\\n\")}\\n}` : \"export namespace Models {}\"}\\n\\n${`export declare const models: {\\n${constantEntries.join(\"\\n\")}\\n};`}`;\n}\n//#endregion\n//#region src/generate-contract-dts.ts\nfunction generateEnumBlockType(enums) {\n\treturn `{ ${Object.entries(enums).map(([name, entry]) => {\n\t\tconst membersType = `readonly [${entry.members.map((m) => `{ readonly name: ${serializeValue(m.name)}; readonly value: ${serializeValue(m.value)} }`).join(\", \")}]`;\n\t\treturn `readonly ${serializeObjectKey(name)}: { readonly codecId: ${serializeValue(entry.codecId)}; readonly members: ${membersType} }`;\n\t}).join(\"; \")} }`;\n}\nfunction generateContractDts(contract, emitter, codecTypeImports, hashes, options, codecLookup, resolveImportSpecifier = keepInternalSpecifiers) {\n\tconst allImports = [...codecTypeImports];\n\tif (options?.queryOperationTypeImports) allImports.push(...options.queryOperationTypeImports);\n\tconst importLines = generateImportLines(deduplicateImports(allImports), resolveImportSpecifier);\n\tconst familyImportLines = emitter.getFamilyImports(resolveImportSpecifier);\n\tconst hashAliases = generateHashTypeAliases(hashes);\n\tconst codecTypes = generateCodecTypeIntersection(codecTypeImports, \"CodecTypes\");\n\tconst familyTypeAliases = emitter.getFamilyTypeAliases(options);\n\tconst typeMapsExpr = emitter.getTypeMapsExpression();\n\tconst storageType = emitter.generateStorageType(contract, \"StorageHash\");\n\tconst namespaceEntries = Object.entries(contract.domain.namespaces);\n\tif (namespaceEntries.length === 0) throw emitterError(\"CONTRACT.NAMESPACE_INVALID\", \"domain has no namespaces\", { meta: { reason: \"no-domain-namespaces\" } });\n\tfor (const [nsId, ns] of namespaceEntries) if (ns === void 0) throw new InternalError(`domain namespace \"${nsId}\" is not present on the contract`);\n\tconst rootsType = generateRootsType(contract.roots);\n\tconst flatValueObjects = {};\n\tfor (const [, ns] of namespaceEntries) for (const [voName, vo] of Object.entries(blindCast(ns.valueObjects ?? {}))) if (!(voName in flatValueObjects)) flatValueObjects[voName] = vo;\n\tconst valueObjects = Object.keys(flatValueObjects).length > 0 ? flatValueObjects : void 0;\n\tconst valueObjectTypeAliases = generateValueObjectTypeAliases(valueObjects, codecLookup);\n\tconst valueObjectsDescriptor = generateValueObjectsDescriptorType(valueObjects);\n\tconst domainNamespacesType = namespaceEntries.map(([nsId, ns]) => {\n\t\tconst nsModels = ns.models;\n\t\tconst nsModelsType = generateModelsType(nsModels, (name, model) => emitter.generateModelStorageType(name, model));\n\t\tconst nsValueObjects = blindCast(ns.valueObjects);\n\t\tconst nsValueObjectsDescriptor = nsValueObjects !== void 0 && Object.keys(nsValueObjects).length > 0 ? generateValueObjectsDescriptorType(nsValueObjects) : void 0;\n\t\tconst nsEnums = blindCast(ns.enum);\n\t\treturn [\n\t\t\tnsId,\n\t\t\tnsModelsType,\n\t\t\tnsValueObjectsDescriptor,\n\t\t\tnsEnums !== void 0 && Object.keys(nsEnums).length > 0 ? generateEnumBlockType(nsEnums) : void 0\n\t\t];\n\t}).map(([nsId, nsModelsType, nsValueObjectsDescriptor, nsEnumBlock]) => {\n\t\tconst voLine = nsValueObjectsDescriptor !== void 0 ? `\\n readonly valueObjects: ${nsValueObjectsDescriptor};` : \"\";\n\t\tconst enumLine = nsEnumBlock !== void 0 ? `\\n readonly enum: ${nsEnumBlock};` : \"\";\n\t\treturn ` readonly ${serializeObjectKey(nsId)}: {\\n readonly models: ${nsModelsType};${voLine}${enumLine}\\n }`;\n\t}).join(\";\\n\");\n\tconst executionClause = contract.execution !== void 0 ? `\\n readonly execution: ${serializeExecutionType(contract.execution)};` : \"\";\n\tconst resolveFieldTypeParams = emitter.resolveFieldTypeParams ? (modelName, fieldName, model) => emitter.resolveFieldTypeParams?.(modelName, fieldName, model, contract) : void 0;\n\tconst resolveFieldValueSet = emitter.resolveFieldValueSet ? (modelName, fieldName, model) => emitter.resolveFieldValueSet?.(modelName, fieldName, model, contract) : void 0;\n\tconst fieldTypesMaps = generateFieldTypesMapsByNamespace(namespaceEntries.map(([nsId, ns]) => [nsId, ns.models]), codecLookup, resolveFieldTypeParams, resolveFieldValueSet);\n\tconst extraTypeExports = emitter.getStorageTypeExports?.(contract, codecLookup);\n\tconst contractWrapper = emitter.getContractWrapper(\"ContractBase\", \"TypeMaps\");\n\tconst modelTypesBlock = generateModelTypesBlock(contract, {\n\t\tcodecLookup,\n\t\tresolveFieldTypeParams,\n\t\tresolveFieldValueSet\n\t}, options?.supportsNamespaces ?? true);\n\treturn `// ⚠️ GENERATED FILE - DO NOT EDIT\n// This file is automatically generated by 'prisma contract emit'.\n// To regenerate, run: prisma contract emit\n${importLines.join(\"\\n\")}\n\n${familyImportLines.join(\"\\n\")}\nimport type {\n Contract as ContractType,\n ExecutionHashBase,\n NamespaceId,\n ProfileHashBase,\n StorageHashBase,\n} from '${resolveImportSpecifier(\"@internal/contract/types\")}';\n\n${hashAliases}\n\nexport type CodecTypes = ${codecTypes};\n${familyTypeAliases}\n${valueObjectTypeAliases}\nexport type FieldOutputTypes = ${fieldTypesMaps.output};\nexport type FieldInputTypes = ${fieldTypesMaps.input};\n${extraTypeExports ? `${extraTypeExports}\\n` : \"\"}\n${modelTypesBlock}\n\nexport type TypeMaps = ${typeMapsExpr};\n\ntype ContractBase = Omit<\n ContractType<${storageType}>,\n 'roots' | 'domain'\n> & {\n readonly target: ${serializeValue(contract.target)};\n readonly targetFamily: ${serializeValue(contract.targetFamily)};\n readonly roots: ${rootsType};\n readonly domain: {\n readonly namespaces: {\n${domainNamespacesType};\n };\n };\n readonly capabilities: ${serializeValue(contract.capabilities)};\n readonly extensions: ${serializeValue(contract.extensions)};${executionClause}\n readonly meta: ${serializeValue(contract.meta)};\n ${valueObjects ? `readonly valueObjects: ${valueObjectsDescriptor};` : \"\"}\n readonly profileHash: ProfileHash;\n};\n\n${contractWrapper}\n`;\n}\n//#endregion\n//#region src/require-relation-nullability.ts\n/**\n* The emitter only ever consumes a freshly authored contract, so every same-space to-one relation\n* must already state whether it is nullable. Hydration of an on-disk contract derives a missing\n* flag instead; that path never reaches here.\n*/\nfunction requireToOneRelationNullability(contract) {\n\tfor (const [namespaceId, namespace] of Object.entries(contract.domain.namespaces)) for (const [modelName, model] of Object.entries(namespace.models)) for (const [relationName, relation] of Object.entries(model.relations ?? {})) {\n\t\tif (!(\"on\" in relation && (relation.cardinality === \"1:1\" || relation.cardinality === \"N:1\") && relation.to.space === void 0) || typeof relation.nullable === \"boolean\") continue;\n\t\tthrow emitterError(\"CONTRACT.RELATION_INVALID\", `Relation \"${relationName}\" on model \"${namespaceId}:${modelName}\" is a ${relation.cardinality} relation and must carry a boolean \"nullable\"`, {\n\t\t\twhy: \"contract.d.ts types a to-one relation as nullable or required from this flag, and the authoring surfaces always set it.\",\n\t\t\tfix: \"Author the contract through PSL or the contract builder, which derive the flag from the local fields the relation joins on.\",\n\t\t\tmeta: {\n\t\t\t\tmodelName,\n\t\t\t\trelationName,\n\t\t\t\treason: \"to-one-nullability-missing\"\n\t\t\t}\n\t\t});\n\t}\n}\n//#endregion\n//#region src/emit.ts\nconst SCHEMA_VERSION = \"1\";\nasync function emit(contract, stack, targetFamily, options) {\n\tif (options.outputJsonPath !== void 0) getEmittedArtifactPaths(options.outputJsonPath);\n\trequireToOneRelationNullability(contract);\n\tconst { codecTypeImports, queryOperationTypeImports, aggregateDescriptors, codecDescriptors } = stack;\n\tconst { storageHash } = contract.storage;\n\tconst executionHash = contract.execution?.executionHash;\n\tconst { profileHash } = contract;\n\tconst canonicalized = canonicalizeContractToObject(contract, {\n\t\tschemaVersion: SCHEMA_VERSION,\n\t\tserializeContract: options.serializeContract,\n\t\t...ifDefined(\"shouldPreserveEmpty\", options.shouldPreserveEmpty),\n\t\t...ifDefined(\"sortStorage\", options.sortStorage)\n\t});\n\tconst contractJsonString = JSON.stringify({\n\t\t...canonicalized,\n\t\t_generated: {\n\t\t\twarning: \"⚠️ GENERATED FILE - DO NOT EDIT\",\n\t\t\tmessage: \"This file is automatically generated by \\\"prisma contract emit\\\".\",\n\t\t\tregenerate: \"To regenerate, run: prisma contract emit\"\n\t\t}\n\t}, null, 2);\n\tconst generateOptions = {\n\t\t...ifDefined(\"queryOperationTypeImports\", queryOperationTypeImports),\n\t\t...ifDefined(\"aggregateDescriptors\", aggregateDescriptors),\n\t\t...ifDefined(\"codecDescriptors\", codecDescriptors),\n\t\t...ifDefined(\"supportsNamespaces\", options.supportsNamespaces)\n\t};\n\tconst contractTypeHashes = {\n\t\tstorageHash,\n\t\t...ifDefined(\"executionHash\", executionHash),\n\t\tprofileHash\n\t};\n\treturn {\n\t\tcontractJson: contractJsonString,\n\t\tcontractDts: await format(generateContractDts(options.deserializeContract === void 0 ? contract : options.deserializeContract(canonicalized), targetFamily, codecTypeImports ?? [], contractTypeHashes, generateOptions, stack.codecLookup, options.resolveImportSpecifier ?? keepInternalSpecifiers), {\n\t\t\tparser: \"typescript\",\n\t\t\tsingleQuote: true,\n\t\t\tsemi: true,\n\t\t\tprintWidth: 100\n\t\t}),\n\t\tstorageHash,\n\t\t...ifDefined(\"executionHash\", executionHash),\n\t\tprofileHash\n\t};\n}\n//#endregion\nexport { generateContractDts as n, getEmittedArtifactPaths as r, emit as t };\n\n//# sourceMappingURL=exports-DkJil2JJ.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"exports-DI1kMms6--e9LdT9A.mjs","names":[],"sources":["../../../../1-framework/3-tooling/emitter/dist/exports-DI1kMms6.mjs"],"sourcesContent":["import { D as serializeValue, E as serializeObjectKey, O as emitterError, _ as generateValueObjectTypeAliases, c as generateFieldTypesMapsByNamespace, h as generateRootsType, l as generateHashTypeAliases, m as generateModelsType, r as generateCodecTypeIntersection, t as deduplicateImports, u as generateImportLines, v as generateValueObjectsDescriptorType, w as serializeExecutionType, x as resolveModelFieldType } from \"./domain-type-generation-BVFTIUm6.mjs\";\nimport { keepInternalSpecifiers } from \"@internal/framework-components/emission\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { canonicalizeContractToObject } from \"@internal/contract/hashing\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { format } from \"prettier\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\n//#region src/artifact-paths.ts\nconst JSON_EXTENSION = \".json\";\nfunction getEmittedArtifactPaths(outputJsonPath) {\n\tif (!outputJsonPath.endsWith(JSON_EXTENSION)) throw emitterError(\"CONFIG.VALIDATION_FAILED\", \"Contract output path must end with .json\", { meta: {\n\t\tfield: \"contract.output\",\n\t\toutputJsonPath\n\t} });\n\treturn {\n\t\tjsonPath: outputJsonPath,\n\t\tdtsPath: `${outputJsonPath.slice(0, -5)}.d.ts`\n\t};\n}\n//#endregion\n//#region src/model-types-emission.ts\nconst TYPESCRIPT_IDENTIFIER = /^[$A-Z_a-z][$\\w]*$/;\nfunction namespacedMemberName(namespaceId, modelName) {\n\treturn `${namespaceId === UNBOUND_NAMESPACE_ID ? \"unbound\" : namespaceId}_${modelName}`;\n}\nfunction bareMemberName(_namespaceId, modelName) {\n\treturn modelName;\n}\nfunction claimMemberName(claims, memberName, source) {\n\tif (!TYPESCRIPT_IDENTIFIER.test(memberName)) throw emitterError(\"CONTRACT.MODEL_TYPE_NAME_INVALID\", `Emitted model type name \"${memberName}\" (from ${source}) is not a TypeScript identifier`, {\n\t\twhy: \"Every entry in the emitted Models namespace is declared as `export type <name>`, so the name must be a TypeScript identifier.\",\n\t\tfix: \"Rename the namespace or model so that <namespace>_<Model> contains only letters, digits, `$`, and `_`, and does not start with a digit.\",\n\t\tmeta: {\n\t\t\tmemberName,\n\t\t\tsource\n\t\t}\n\t});\n\tconst existing = claims.get(memberName);\n\tif (existing !== void 0) throw emitterError(\"CONTRACT.MODEL_TYPE_NAME_COLLISION\", `Emitted model type name \"${memberName}\" is produced by both ${existing} and ${source}`, {\n\t\twhy: \"Every entry in the emitted Models namespace needs a distinct name, formed as <namespace>_<Model>.\",\n\t\tfix: \"Rename one of the models or namespaces so the two names differ.\",\n\t\tmeta: {\n\t\t\tmemberName,\n\t\t\tsources: [existing, source]\n\t\t}\n\t});\n\tclaims.set(memberName, source);\n}\nfunction isPolymorphicBase(model) {\n\treturn model.discriminator !== void 0 && model.variants !== void 0;\n}\nfunction findModelByName(namespaces, namespaceId, modelName) {\n\treturn namespaces.find((ns) => ns.namespaceId === namespaceId)?.models.find((m) => m.modelName === modelName);\n}\nfunction findModel(namespaces, ref) {\n\treturn findModelByName(namespaces, ref.namespace, ref.model);\n}\nfunction requireRelationTarget(namespaces, owner, relationName, ref) {\n\tconst target = findModel(namespaces, ref);\n\tif (target !== void 0) return target;\n\tconst ownerSource = `${owner.namespaceId}.${owner.modelName}`;\n\tthrow emitterError(\"CONTRACT.MODEL_RELATION_TARGET_MISSING\", `Relation \"${relationName}\" on ${ownerSource} targets ${ref.namespace}.${ref.model}, which is not in the contract`, {\n\t\twhy: \"A same-space relation must point at a model the contract declares; only cross-space relations may reference models outside it.\",\n\t\tfix: \"Declare the target model in the contract, or mark the relation as cross-space by giving its target a `space`.\",\n\t\tmeta: {\n\t\t\towner: ownerSource,\n\t\t\trelationName,\n\t\t\ttarget: {\n\t\t\t\tnamespaceId: ref.namespace,\n\t\t\t\tmodelName: ref.model\n\t\t\t}\n\t\t}\n\t});\n}\nfunction requireBase(namespaces, variant, base) {\n\tconst found = findModel(namespaces, base);\n\tif (found !== void 0) return found;\n\tconst variantSource = `${variant.namespaceId}.${variant.modelName}`;\n\tconst baseSource = `${base.namespace}.${base.model}`;\n\tthrow emitterError(\"CONTRACT.MODEL_BASE_MISSING\", `Model ${variantSource} names base ${baseSource}, which is not in the contract`, {\n\t\twhy: \"A variant's type is its base's fields plus its own, so the base must be a model the contract declares.\",\n\t\tfix: \"Declare the base model in the contract, or remove `base` from the variant.\",\n\t\tmeta: {\n\t\t\tvariant: variantSource,\n\t\t\tbase: baseSource\n\t\t}\n\t});\n}\nfunction requireVariant(namespaces, base, variantName) {\n\tconst variant = findModelByName(namespaces, base.namespaceId, variantName);\n\tif (variant !== void 0) return variant;\n\tconst baseSource = `${base.namespaceId}.${base.modelName}`;\n\tthrow emitterError(\"CONTRACT.MODEL_VARIANT_MISSING\", `Polymorphic base ${baseSource} names variant \"${variantName}\", which is not in the contract`, {\n\t\twhy: \"The Any<Base> union is the union of the variant model types, so every variant a base declares must be a model in the same namespace.\",\n\t\tfix: \"Declare the variant model in the same namespace as the base, or remove it from the base's variants.\",\n\t\tmeta: {\n\t\t\tbase: baseSource,\n\t\t\tvariantName\n\t\t}\n\t});\n}\nfunction collectFieldLines(ref, resolvers, discriminatorType) {\n\tconst lines = /* @__PURE__ */ new Map();\n\tfor (const [fieldName, field] of Object.entries(ref.model.fields)) {\n\t\tconst type = discriminatorType !== void 0 && fieldName === discriminatorType.field ? discriminatorType.type : resolveModelFieldType(ref.modelName, fieldName, field, ref.model, resolvers).output;\n\t\tlines.set(fieldName, `${serializeObjectKey(fieldName)}: ${type};`);\n\t}\n\treturn lines;\n}\nfunction hasJoin(relation) {\n\treturn \"on\" in relation && relation.on !== void 0;\n}\nfunction relationLine(owner, relationName, relation, index) {\n\tif (relation.to.space !== void 0) return void 0;\n\tconst target = requireRelationTarget(index.namespaces, owner, relationName, relation.to);\n\tconst targetMember = index.memberNameOf(target.namespaceId, isPolymorphicBase(target.model) ? `Any${target.modelName}` : target.modelName);\n\tconst key = serializeObjectKey(relationName);\n\tif (!hasJoin(relation)) return {\n\t\tline: `${key}: ${relation.cardinality === \"1:N\" ? `${targetMember}[]` : targetMember};`,\n\t\thasJoin: false\n\t};\n\tif (relation.cardinality === \"1:N\" || relation.cardinality === \"N:M\") return {\n\t\tline: `${key}: ${targetMember}[];`,\n\t\thasJoin: true\n\t};\n\treturn {\n\t\tline: `${key}: ${relation.nullable ? `${targetMember} | null` : targetMember};`,\n\t\thasJoin: true\n\t};\n}\nfunction collectRelationLines(ref, index) {\n\tconst lines = /* @__PURE__ */ new Map();\n\tfor (const [relationName, relation] of Object.entries(ref.model.relations)) {\n\t\tconst rendered = relationLine(ref, relationName, relation, index);\n\t\tif (rendered !== void 0) lines.set(relationName, rendered);\n\t}\n\treturn lines;\n}\nfunction discriminatorUnion(base) {\n\tconst values = Object.values(base.variants ?? {}).map((v) => serializeValue(v.value));\n\treturn values.length > 0 ? values.join(\" | \") : \"never\";\n}\nfunction memberLines(ref, index, resolvers) {\n\tconst base = ref.model.base !== void 0 ? requireBase(index.namespaces, ref, ref.model.base) : void 0;\n\tif (base !== void 0 && isPolymorphicBase(base.model)) {\n\t\tconst discriminatorField = base.model.discriminator?.field ?? \"\";\n\t\tconst variantValue = base.model.variants?.[ref.modelName]?.value;\n\t\tconst discriminatorType = {\n\t\t\tfield: discriminatorField,\n\t\t\ttype: variantValue !== void 0 ? serializeValue(variantValue) : discriminatorUnion(base.model)\n\t\t};\n\t\treturn {\n\t\t\tfieldsByName: new Map([...collectFieldLines(base, resolvers, discriminatorType), ...collectFieldLines(ref, resolvers, void 0)]),\n\t\t\trelationsByName: new Map([...collectRelationLines(base, index), ...collectRelationLines(ref, index)])\n\t\t};\n\t}\n\treturn {\n\t\tfieldsByName: collectFieldLines(ref, resolvers, isPolymorphicBase(ref.model) ? {\n\t\t\tfield: ref.model.discriminator?.field ?? \"\",\n\t\t\ttype: discriminatorUnion(ref.model)\n\t\t} : void 0),\n\t\trelationsByName: collectRelationLines(ref, index)\n\t};\n}\nfunction renderMember(memberName, lines, hasOwner) {\n\tconst entries = [...lines.relationsByName];\n\tconst joinlessLines = entries.filter(([, r]) => !r.hasJoin).map(([, r]) => r.line);\n\tconst joinedLines = entries.filter(([, r]) => r.hasJoin).map(([, r]) => r.line);\n\tconst relationNames = entries.filter(([, r]) => r.hasJoin).map(([name]) => name);\n\tconst phantom = relationNames.length > 0 ? relationNames.map((name) => serializeValue(name)).join(\" | \") : \"never\";\n\treturn ` export type ${memberName} = {\\n${[\n\t\t...lines.fieldsByName.values(),\n\t\t...joinlessLines,\n\t\t...joinedLines,\n\t\t...hasOwner ? [] : [`readonly [RelationKeys]?: ${phantom};`]\n\t].map((line) => ` ${line}`).join(\"\\n\")}\\n };`;\n}\nfunction namespaceModelsOf(contract) {\n\treturn Object.entries(contract.domain.namespaces).map(([namespaceId, ns]) => ({\n\t\tnamespaceId,\n\t\tmodels: Object.entries(ns.models).map(([modelName, model]) => ({\n\t\t\tnamespaceId,\n\t\t\tmodelName,\n\t\t\tmodel\n\t\t}))\n\t}));\n}\nfunction generateModelTypesBlock(contract, resolvers, supportsNamespaces) {\n\tconst memberNameOf = supportsNamespaces ? namespacedMemberName : bareMemberName;\n\tconst namespaces = namespaceModelsOf(contract);\n\tconst index = {\n\t\tnamespaces,\n\t\tmemberNameOf\n\t};\n\tconst claims = /* @__PURE__ */ new Map();\n\tfor (const ns of namespaces) for (const ref of ns.models) claimMemberName(claims, memberNameOf(ns.namespaceId, ref.modelName), `${ns.namespaceId}.${ref.modelName}`);\n\tfor (const ns of namespaces) for (const ref of ns.models) {\n\t\tif (!isPolymorphicBase(ref.model)) continue;\n\t\tclaimMemberName(claims, memberNameOf(ns.namespaceId, `Any${ref.modelName}`), `${ns.namespaceId}.Any<${ref.modelName}>`);\n\t}\n\tconst members = [];\n\tconst constantEntries = [];\n\tfor (const ns of namespaces) {\n\t\tconst keys = [];\n\t\tfor (const ref of ns.models) {\n\t\t\tconst memberName = memberNameOf(ns.namespaceId, ref.modelName);\n\t\t\tmembers.push(renderMember(memberName, memberLines(ref, index, resolvers), ref.model.owner !== void 0));\n\t\t\tkeys.push(`${serializeObjectKey(ref.modelName)}: Models.${memberName};`);\n\t\t}\n\t\tfor (const ref of ns.models) {\n\t\t\tif (!isPolymorphicBase(ref.model)) continue;\n\t\t\tconst unionName = memberNameOf(ns.namespaceId, `Any${ref.modelName}`);\n\t\t\tconst variantMembers = Object.keys(ref.model.variants ?? {}).map((variantName) => {\n\t\t\t\tconst variant = requireVariant(namespaces, ref, variantName);\n\t\t\t\treturn memberNameOf(variant.namespaceId, variant.modelName);\n\t\t\t});\n\t\t\tmembers.push(` export type ${unionName} = ${variantMembers.length > 0 ? variantMembers.join(\" | \") : \"never\"};`);\n\t\t\tkeys.push(`${serializeObjectKey(`Any${ref.modelName}`)}: Models.${unionName};`);\n\t\t}\n\t\tif (!supportsNamespaces) {\n\t\t\tconstantEntries.push(...keys.map((key) => ` ${key}`));\n\t\t\tcontinue;\n\t\t}\n\t\tconst nsKey = serializeObjectKey(ns.namespaceId);\n\t\tconst nested = keys.map((key) => ` ${key}`).join(\"\\n\");\n\t\tconstantEntries.push(keys.length > 0 ? ` ${nsKey}: {\\n${nested}\\n };` : ` ${nsKey}: {};`);\n\t}\n\treturn `${members.length > 0 ? `export namespace Models {\\n${members.join(\"\\n\")}\\n}` : \"export namespace Models {}\"}\\n\\n${`export declare const models: {\\n${constantEntries.join(\"\\n\")}\\n};`}`;\n}\n//#endregion\n//#region src/generate-contract-dts.ts\nfunction generateEnumBlockType(enums) {\n\treturn `{ ${Object.entries(enums).map(([name, entry]) => {\n\t\tconst membersType = `readonly [${entry.members.map((m) => `{ readonly name: ${serializeValue(m.name)}; readonly value: ${serializeValue(m.value)} }`).join(\", \")}]`;\n\t\treturn `readonly ${serializeObjectKey(name)}: { readonly codecId: ${serializeValue(entry.codecId)}; readonly members: ${membersType} }`;\n\t}).join(\"; \")} }`;\n}\nfunction generateContractDts(contract, emitter, codecTypeImports, hashes, options, codecLookup, resolveImportSpecifier = keepInternalSpecifiers) {\n\tconst allImports = [...codecTypeImports];\n\tif (options?.queryOperationTypeImports) allImports.push(...options.queryOperationTypeImports);\n\tconst importLines = generateImportLines(deduplicateImports(allImports), resolveImportSpecifier);\n\tconst familyImportLines = emitter.getFamilyImports(resolveImportSpecifier);\n\tconst hashAliases = generateHashTypeAliases(hashes);\n\tconst codecTypes = generateCodecTypeIntersection(codecTypeImports, \"CodecTypes\");\n\tconst familyTypeAliases = emitter.getFamilyTypeAliases(options);\n\tconst typeMapsExpr = emitter.getTypeMapsExpression();\n\tconst storageType = emitter.generateStorageType(contract, \"StorageHash\");\n\tconst namespaceEntries = Object.entries(contract.domain.namespaces);\n\tif (namespaceEntries.length === 0) throw emitterError(\"CONTRACT.NAMESPACE_INVALID\", \"domain has no namespaces\", { meta: { reason: \"no-domain-namespaces\" } });\n\tfor (const [nsId, ns] of namespaceEntries) if (ns === void 0) throw new InternalError(`domain namespace \"${nsId}\" is not present on the contract`);\n\tconst rootsType = generateRootsType(contract.roots);\n\tconst flatValueObjects = {};\n\tfor (const [, ns] of namespaceEntries) for (const [voName, vo] of Object.entries(blindCast(ns.valueObjects ?? {}))) if (!(voName in flatValueObjects)) flatValueObjects[voName] = vo;\n\tconst valueObjects = Object.keys(flatValueObjects).length > 0 ? flatValueObjects : void 0;\n\tconst valueObjectTypeAliases = generateValueObjectTypeAliases(valueObjects, codecLookup);\n\tconst valueObjectsDescriptor = generateValueObjectsDescriptorType(valueObjects);\n\tconst domainNamespacesType = namespaceEntries.map(([nsId, ns]) => {\n\t\tconst nsModels = ns.models;\n\t\tconst nsModelsType = generateModelsType(nsModels, (name, model) => emitter.generateModelStorageType(name, model));\n\t\tconst nsValueObjects = blindCast(ns.valueObjects);\n\t\tconst nsValueObjectsDescriptor = nsValueObjects !== void 0 && Object.keys(nsValueObjects).length > 0 ? generateValueObjectsDescriptorType(nsValueObjects) : void 0;\n\t\tconst nsEnums = blindCast(ns.enum);\n\t\treturn [\n\t\t\tnsId,\n\t\t\tnsModelsType,\n\t\t\tnsValueObjectsDescriptor,\n\t\t\tnsEnums !== void 0 && Object.keys(nsEnums).length > 0 ? generateEnumBlockType(nsEnums) : void 0\n\t\t];\n\t}).map(([nsId, nsModelsType, nsValueObjectsDescriptor, nsEnumBlock]) => {\n\t\tconst voLine = nsValueObjectsDescriptor !== void 0 ? `\\n readonly valueObjects: ${nsValueObjectsDescriptor};` : \"\";\n\t\tconst enumLine = nsEnumBlock !== void 0 ? `\\n readonly enum: ${nsEnumBlock};` : \"\";\n\t\treturn ` readonly ${serializeObjectKey(nsId)}: {\\n readonly models: ${nsModelsType};${voLine}${enumLine}\\n }`;\n\t}).join(\";\\n\");\n\tconst executionClause = contract.execution !== void 0 ? `\\n readonly execution: ${serializeExecutionType(contract.execution)};` : \"\";\n\tconst resolveFieldTypeParams = emitter.resolveFieldTypeParams ? (modelName, fieldName, model) => emitter.resolveFieldTypeParams?.(modelName, fieldName, model, contract) : void 0;\n\tconst resolveFieldValueSet = emitter.resolveFieldValueSet ? (modelName, fieldName, model) => emitter.resolveFieldValueSet?.(modelName, fieldName, model, contract) : void 0;\n\tconst fieldTypesMaps = generateFieldTypesMapsByNamespace(namespaceEntries.map(([nsId, ns]) => [nsId, ns.models]), codecLookup, resolveFieldTypeParams, resolveFieldValueSet);\n\tconst extraTypeExports = emitter.getStorageTypeExports?.(contract, codecLookup);\n\tconst contractWrapper = emitter.getContractWrapper(\"ContractBase\", \"TypeMaps\");\n\tconst modelTypesBlock = generateModelTypesBlock(contract, {\n\t\tcodecLookup,\n\t\tresolveFieldTypeParams,\n\t\tresolveFieldValueSet\n\t}, options?.supportsNamespaces ?? true);\n\treturn `// ⚠️ GENERATED FILE - DO NOT EDIT\n// This file is automatically generated by 'prisma contract emit'.\n// To regenerate, run: prisma contract emit\n${importLines.join(\"\\n\")}\n\n${familyImportLines.join(\"\\n\")}\nimport type {\n Contract as ContractType,\n ExecutionHashBase,\n NamespaceId,\n ProfileHashBase,\n StorageHashBase,\n} from '${resolveImportSpecifier(\"@internal/contract/types\")}';\n\n${hashAliases}\n\nexport type CodecTypes = ${codecTypes};\n${familyTypeAliases}\n${valueObjectTypeAliases}\nexport type FieldOutputTypes = ${fieldTypesMaps.output};\nexport type FieldInputTypes = ${fieldTypesMaps.input};\n${extraTypeExports ? `${extraTypeExports}\\n` : \"\"}\n${modelTypesBlock}\n\nexport type TypeMaps = ${typeMapsExpr};\n\ntype ContractBase = Omit<\n ContractType<${storageType}>,\n 'roots' | 'domain'\n> & {\n readonly target: ${serializeValue(contract.target)};\n readonly targetFamily: ${serializeValue(contract.targetFamily)};\n readonly roots: ${rootsType};\n readonly domain: {\n readonly namespaces: {\n${domainNamespacesType};\n };\n };\n readonly capabilities: ${serializeValue(contract.capabilities)};\n readonly extensions: ${serializeValue(contract.extensions)};${executionClause}\n readonly meta: ${serializeValue(contract.meta)};\n ${valueObjects ? `readonly valueObjects: ${valueObjectsDescriptor};` : \"\"}\n readonly profileHash: ProfileHash;\n};\n\n${contractWrapper}\n`;\n}\n//#endregion\n//#region src/require-relation-nullability.ts\n/**\n* The emitter only ever consumes a freshly authored contract, so every same-space to-one relation\n* must already state whether it is nullable. Hydration of an on-disk contract derives a missing\n* flag instead; that path never reaches here.\n*/\nfunction requireToOneRelationNullability(contract) {\n\tfor (const [namespaceId, namespace] of Object.entries(contract.domain.namespaces)) for (const [modelName, model] of Object.entries(namespace.models)) for (const [relationName, relation] of Object.entries(model.relations ?? {})) {\n\t\tif (!(\"on\" in relation && (relation.cardinality === \"1:1\" || relation.cardinality === \"N:1\") && relation.to.space === void 0) || typeof relation.nullable === \"boolean\") continue;\n\t\tthrow emitterError(\"CONTRACT.RELATION_INVALID\", `Relation \"${relationName}\" on model \"${namespaceId}:${modelName}\" is a ${relation.cardinality} relation and must carry a boolean \"nullable\"`, {\n\t\t\twhy: \"contract.d.ts types a to-one relation as nullable or required from this flag, and the authoring surfaces always set it.\",\n\t\t\tfix: \"Author the contract through PSL or the contract builder, which derive the flag from the local fields the relation joins on.\",\n\t\t\tmeta: {\n\t\t\t\tmodelName,\n\t\t\t\trelationName,\n\t\t\t\treason: \"to-one-nullability-missing\"\n\t\t\t}\n\t\t});\n\t}\n}\n//#endregion\n//#region src/emit.ts\nconst SCHEMA_VERSION = \"1\";\nasync function emit(contract, stack, targetFamily, options) {\n\tif (options.outputJsonPath !== void 0) getEmittedArtifactPaths(options.outputJsonPath);\n\trequireToOneRelationNullability(contract);\n\tconst { codecTypeImports, queryOperationTypeImports, aggregateDescriptors, codecDescriptors } = stack;\n\tconst { storageHash } = contract.storage;\n\tconst executionHash = contract.execution?.executionHash;\n\tconst { profileHash } = contract;\n\tconst canonicalized = canonicalizeContractToObject(contract, {\n\t\tschemaVersion: SCHEMA_VERSION,\n\t\tserializeContract: options.serializeContract,\n\t\t...ifDefined(\"shouldPreserveEmpty\", options.shouldPreserveEmpty),\n\t\t...ifDefined(\"sortStorage\", options.sortStorage)\n\t});\n\tconst contractJsonString = JSON.stringify({\n\t\t...canonicalized,\n\t\t_generated: {\n\t\t\twarning: \"⚠️ GENERATED FILE - DO NOT EDIT\",\n\t\t\tmessage: \"This file is automatically generated by \\\"prisma contract emit\\\".\",\n\t\t\tregenerate: \"To regenerate, run: prisma contract emit\"\n\t\t}\n\t}, null, 2);\n\tconst generateOptions = {\n\t\t...ifDefined(\"queryOperationTypeImports\", queryOperationTypeImports),\n\t\t...ifDefined(\"aggregateDescriptors\", aggregateDescriptors),\n\t\t...ifDefined(\"codecDescriptors\", codecDescriptors),\n\t\t...ifDefined(\"supportsNamespaces\", options.supportsNamespaces)\n\t};\n\tconst contractTypeHashes = {\n\t\tstorageHash,\n\t\t...ifDefined(\"executionHash\", executionHash),\n\t\tprofileHash\n\t};\n\treturn {\n\t\tcontractJson: contractJsonString,\n\t\tcontractDts: await format(generateContractDts(options.deserializeContract(canonicalized), targetFamily, codecTypeImports ?? [], contractTypeHashes, generateOptions, stack.codecLookup, options.resolveImportSpecifier ?? keepInternalSpecifiers), {\n\t\t\tparser: \"typescript\",\n\t\t\tsingleQuote: true,\n\t\t\tsemi: true,\n\t\t\tprintWidth: 100\n\t\t}),\n\t\tstorageHash,\n\t\t...ifDefined(\"executionHash\", executionHash),\n\t\tprofileHash\n\t};\n}\n//#endregion\nexport { generateContractDts as n, getEmittedArtifactPaths as r, emit as t };\n\n//# sourceMappingURL=exports-DI1kMms6.mjs.map"],"mappings":";;;;;;;;;AASA,MAAM,iBAAiB;AACvB,SAAS,wBAAwB,gBAAgB;CAChD,IAAI,CAAC,eAAe,SAAS,cAAc,GAAG,MAAM,aAAa,4BAA4B,4CAA4C,EAAE,MAAM;EAChJ,OAAO;EACP;CACD,EAAE,CAAC;CACH,OAAO;EACN,UAAU;EACV,SAAS,GAAG,eAAe,MAAM,GAAG,EAAE,EAAE;CACzC;AACD;AAGA,MAAM,wBAAwB;AAC9B,SAAS,qBAAqB,aAAa,WAAW;CACrD,OAAO,GAAG,gBAAgB,uBAAuB,YAAY,YAAY,GAAG;AAC7E;AACA,SAAS,eAAe,cAAc,WAAW;CAChD,OAAO;AACR;AACA,SAAS,gBAAgB,QAAQ,YAAY,QAAQ;CACpD,IAAI,CAAC,sBAAsB,KAAK,UAAU,GAAG,MAAM,aAAa,oCAAoC,4BAA4B,WAAW,UAAU,OAAO,mCAAmC;EAC9L,KAAK;EACL,KAAK;EACL,MAAM;GACL;GACA;EACD;CACD,CAAC;CACD,MAAM,WAAW,OAAO,IAAI,UAAU;CACtC,IAAI,aAAa,KAAK,GAAG,MAAM,aAAa,sCAAsC,4BAA4B,WAAW,wBAAwB,SAAS,OAAO,UAAU;EAC1K,KAAK;EACL,KAAK;EACL,MAAM;GACL;GACA,SAAS,CAAC,UAAU,MAAM;EAC3B;CACD,CAAC;CACD,OAAO,IAAI,YAAY,MAAM;AAC9B;AACA,SAAS,kBAAkB,OAAO;CACjC,OAAO,MAAM,kBAAkB,KAAK,KAAK,MAAM,aAAa,KAAK;AAClE;AACA,SAAS,gBAAgB,YAAY,aAAa,WAAW;CAC5D,OAAO,WAAW,MAAM,OAAO,GAAG,gBAAgB,WAAW,CAAC,EAAE,OAAO,MAAM,MAAM,EAAE,cAAc,SAAS;AAC7G;AACA,SAAS,UAAU,YAAY,KAAK;CACnC,OAAO,gBAAgB,YAAY,IAAI,WAAW,IAAI,KAAK;AAC5D;AACA,SAAS,sBAAsB,YAAY,OAAO,cAAc,KAAK;CACpE,MAAM,SAAS,UAAU,YAAY,GAAG;CACxC,IAAI,WAAW,KAAK,GAAG,OAAO;CAC9B,MAAM,cAAc,GAAG,MAAM,YAAY,GAAG,MAAM;CAClD,MAAM,aAAa,0CAA0C,aAAa,aAAa,OAAO,YAAY,WAAW,IAAI,UAAU,GAAG,IAAI,MAAM,iCAAiC;EAChL,KAAK;EACL,KAAK;EACL,MAAM;GACL,OAAO;GACP;GACA,QAAQ;IACP,aAAa,IAAI;IACjB,WAAW,IAAI;GAChB;EACD;CACD,CAAC;AACF;AACA,SAAS,YAAY,YAAY,SAAS,MAAM;CAC/C,MAAM,QAAQ,UAAU,YAAY,IAAI;CACxC,IAAI,UAAU,KAAK,GAAG,OAAO;CAC7B,MAAM,gBAAgB,GAAG,QAAQ,YAAY,GAAG,QAAQ;CACxD,MAAM,aAAa,GAAG,KAAK,UAAU,GAAG,KAAK;CAC7C,MAAM,aAAa,+BAA+B,SAAS,cAAc,cAAc,WAAW,iCAAiC;EAClI,KAAK;EACL,KAAK;EACL,MAAM;GACL,SAAS;GACT,MAAM;EACP;CACD,CAAC;AACF;AACA,SAAS,eAAe,YAAY,MAAM,aAAa;CACtD,MAAM,UAAU,gBAAgB,YAAY,KAAK,aAAa,WAAW;CACzE,IAAI,YAAY,KAAK,GAAG,OAAO;CAC/B,MAAM,aAAa,GAAG,KAAK,YAAY,GAAG,KAAK;CAC/C,MAAM,aAAa,kCAAkC,oBAAoB,WAAW,kBAAkB,YAAY,kCAAkC;EACnJ,KAAK;EACL,KAAK;EACL,MAAM;GACL,MAAM;GACN;EACD;CACD,CAAC;AACF;AACA,SAAS,kBAAkB,KAAK,WAAW,mBAAmB;CAC7D,MAAM,wBAAwB,IAAI,IAAI;CACtC,KAAK,MAAM,CAAC,WAAW,UAAU,OAAO,QAAQ,IAAI,MAAM,MAAM,GAAG;EAClE,MAAM,OAAO,sBAAsB,KAAK,KAAK,cAAc,kBAAkB,QAAQ,kBAAkB,OAAO,sBAAsB,IAAI,WAAW,WAAW,OAAO,IAAI,OAAO,SAAS,CAAC,CAAC;EAC3L,MAAM,IAAI,WAAW,GAAG,mBAAmB,SAAS,EAAE,IAAI,KAAK,EAAE;CAClE;CACA,OAAO;AACR;AACA,SAAS,QAAQ,UAAU;CAC1B,OAAO,QAAQ,YAAY,SAAS,OAAO,KAAK;AACjD;AACA,SAAS,aAAa,OAAO,cAAc,UAAU,OAAO;CAC3D,IAAI,SAAS,GAAG,UAAU,KAAK,GAAG,OAAO,KAAK;CAC9C,MAAM,SAAS,sBAAsB,MAAM,YAAY,OAAO,cAAc,SAAS,EAAE;CACvF,MAAM,eAAe,MAAM,aAAa,OAAO,aAAa,kBAAkB,OAAO,KAAK,IAAI,MAAM,OAAO,cAAc,OAAO,SAAS;CACzI,MAAM,MAAM,mBAAmB,YAAY;CAC3C,IAAI,CAAC,QAAQ,QAAQ,GAAG,OAAO;EAC9B,MAAM,GAAG,IAAI,IAAI,SAAS,gBAAgB,QAAQ,GAAG,aAAa,MAAM,aAAa;EACrF,SAAS;CACV;CACA,IAAI,SAAS,gBAAgB,SAAS,SAAS,gBAAgB,OAAO,OAAO;EAC5E,MAAM,GAAG,IAAI,IAAI,aAAa;EAC9B,SAAS;CACV;CACA,OAAO;EACN,MAAM,GAAG,IAAI,IAAI,SAAS,WAAW,GAAG,aAAa,WAAW,aAAa;EAC7E,SAAS;CACV;AACD;AACA,SAAS,qBAAqB,KAAK,OAAO;CACzC,MAAM,wBAAwB,IAAI,IAAI;CACtC,KAAK,MAAM,CAAC,cAAc,aAAa,OAAO,QAAQ,IAAI,MAAM,SAAS,GAAG;EAC3E,MAAM,WAAW,aAAa,KAAK,cAAc,UAAU,KAAK;EAChE,IAAI,aAAa,KAAK,GAAG,MAAM,IAAI,cAAc,QAAQ;CAC1D;CACA,OAAO;AACR;AACA,SAAS,mBAAmB,MAAM;CACjC,MAAM,SAAS,OAAO,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,eAAe,EAAE,KAAK,CAAC;CACpF,OAAO,OAAO,SAAS,IAAI,OAAO,KAAK,KAAK,IAAI;AACjD;AACA,SAAS,YAAY,KAAK,OAAO,WAAW;CAC3C,MAAM,OAAO,IAAI,MAAM,SAAS,KAAK,IAAI,YAAY,MAAM,YAAY,KAAK,IAAI,MAAM,IAAI,IAAI,KAAK;CACnG,IAAI,SAAS,KAAK,KAAK,kBAAkB,KAAK,KAAK,GAAG;EACrD,MAAM,qBAAqB,KAAK,MAAM,eAAe,SAAS;EAC9D,MAAM,eAAe,KAAK,MAAM,WAAW,IAAI,UAAU,EAAE;EAC3D,MAAM,oBAAoB;GACzB,OAAO;GACP,MAAM,iBAAiB,KAAK,IAAI,eAAe,YAAY,IAAI,mBAAmB,KAAK,KAAK;EAC7F;EACA,OAAO;GACN,cAAc,IAAI,IAAI,CAAC,GAAG,kBAAkB,MAAM,WAAW,iBAAiB,GAAG,GAAG,kBAAkB,KAAK,WAAW,KAAK,CAAC,CAAC,CAAC;GAC9H,iBAAiB,IAAI,IAAI,CAAC,GAAG,qBAAqB,MAAM,KAAK,GAAG,GAAG,qBAAqB,KAAK,KAAK,CAAC,CAAC;EACrG;CACD;CACA,OAAO;EACN,cAAc,kBAAkB,KAAK,WAAW,kBAAkB,IAAI,KAAK,IAAI;GAC9E,OAAO,IAAI,MAAM,eAAe,SAAS;GACzC,MAAM,mBAAmB,IAAI,KAAK;EACnC,IAAI,KAAK,CAAC;EACV,iBAAiB,qBAAqB,KAAK,KAAK;CACjD;AACD;AACA,SAAS,aAAa,YAAY,OAAO,UAAU;CAClD,MAAM,UAAU,CAAC,GAAG,MAAM,eAAe;CACzC,MAAM,gBAAgB,QAAQ,QAAQ,GAAG,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,GAAG,OAAO,EAAE,IAAI;CACjF,MAAM,cAAc,QAAQ,QAAQ,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,GAAG,OAAO,EAAE,IAAI;CAC9E,MAAM,gBAAgB,QAAQ,QAAQ,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI;CAC/E,MAAM,UAAU,cAAc,SAAS,IAAI,cAAc,KAAK,SAAS,eAAe,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI;CAC3G,OAAO,iBAAiB,WAAW,QAAQ;EAC1C,GAAG,MAAM,aAAa,OAAO;EAC7B,GAAG;EACH,GAAG;EACH,GAAG,WAAW,CAAC,IAAI,CAAC,6BAA6B,QAAQ,EAAE;CAC5D,CAAC,CAAC,KAAK,SAAS,OAAO,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE;AAC3C;AACA,SAAS,kBAAkB,UAAU;CACpC,OAAO,OAAO,QAAQ,SAAS,OAAO,UAAU,CAAC,CAAC,KAAK,CAAC,aAAa,SAAS;EAC7E;EACA,QAAQ,OAAO,QAAQ,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,WAAW,YAAY;GAC9D;GACA;GACA;EACD,EAAE;CACH,EAAE;AACH;AACA,SAAS,wBAAwB,UAAU,WAAW,oBAAoB;CACzE,MAAM,eAAe,qBAAqB,uBAAuB;CACjE,MAAM,aAAa,kBAAkB,QAAQ;CAC7C,MAAM,QAAQ;EACb;EACA;CACD;CACA,MAAM,yBAAyB,IAAI,IAAI;CACvC,KAAK,MAAM,MAAM,YAAY,KAAK,MAAM,OAAO,GAAG,QAAQ,gBAAgB,QAAQ,aAAa,GAAG,aAAa,IAAI,SAAS,GAAG,GAAG,GAAG,YAAY,GAAG,IAAI,WAAW;CACnK,KAAK,MAAM,MAAM,YAAY,KAAK,MAAM,OAAO,GAAG,QAAQ;EACzD,IAAI,CAAC,kBAAkB,IAAI,KAAK,GAAG;EACnC,gBAAgB,QAAQ,aAAa,GAAG,aAAa,MAAM,IAAI,WAAW,GAAG,GAAG,GAAG,YAAY,OAAO,IAAI,UAAU,EAAE;CACvH;CACA,MAAM,UAAU,CAAC;CACjB,MAAM,kBAAkB,CAAC;CACzB,KAAK,MAAM,MAAM,YAAY;EAC5B,MAAM,OAAO,CAAC;EACd,KAAK,MAAM,OAAO,GAAG,QAAQ;GAC5B,MAAM,aAAa,aAAa,GAAG,aAAa,IAAI,SAAS;GAC7D,QAAQ,KAAK,aAAa,YAAY,YAAY,KAAK,OAAO,SAAS,GAAG,IAAI,MAAM,UAAU,KAAK,CAAC,CAAC;GACrG,KAAK,KAAK,GAAG,mBAAmB,IAAI,SAAS,EAAE,WAAW,WAAW,EAAE;EACxE;EACA,KAAK,MAAM,OAAO,GAAG,QAAQ;GAC5B,IAAI,CAAC,kBAAkB,IAAI,KAAK,GAAG;GACnC,MAAM,YAAY,aAAa,GAAG,aAAa,MAAM,IAAI,WAAW;GACpE,MAAM,iBAAiB,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB;IACjF,MAAM,UAAU,eAAe,YAAY,KAAK,WAAW;IAC3D,OAAO,aAAa,QAAQ,aAAa,QAAQ,SAAS;GAC3D,CAAC;GACD,QAAQ,KAAK,iBAAiB,UAAU,KAAK,eAAe,SAAS,IAAI,eAAe,KAAK,KAAK,IAAI,QAAQ,EAAE;GAChH,KAAK,KAAK,GAAG,mBAAmB,MAAM,IAAI,WAAW,EAAE,WAAW,UAAU,EAAE;EAC/E;EACA,IAAI,CAAC,oBAAoB;GACxB,gBAAgB,KAAK,GAAG,KAAK,KAAK,QAAQ,KAAK,KAAK,CAAC;GACrD;EACD;EACA,MAAM,QAAQ,mBAAmB,GAAG,WAAW;EAC/C,MAAM,SAAS,KAAK,KAAK,QAAQ,OAAO,KAAK,CAAC,CAAC,KAAK,IAAI;EACxD,gBAAgB,KAAK,KAAK,SAAS,IAAI,KAAK,MAAM,OAAO,OAAO,UAAU,KAAK,MAAM,MAAM;CAC5F;CACA,OAAO,GAAG,QAAQ,SAAS,IAAI,8BAA8B,QAAQ,KAAK,IAAI,EAAE,OAAO,6BAA6B,MAAM,mCAAmC,gBAAgB,KAAK,IAAI,EAAE;AACzL;AAGA,SAAS,sBAAsB,OAAO;CACrC,OAAO,KAAK,OAAO,QAAQ,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,WAAW;EACxD,MAAM,cAAc,aAAa,MAAM,QAAQ,KAAK,MAAM,oBAAoB,eAAe,EAAE,IAAI,EAAE,oBAAoB,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;EACjK,OAAO,YAAY,mBAAmB,IAAI,EAAE,wBAAwB,eAAe,MAAM,OAAO,EAAE,sBAAsB,YAAY;CACrI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;AACf;AACA,SAAS,oBAAoB,UAAU,SAAS,kBAAkB,QAAQ,SAAS,aAAa,yBAAyB,wBAAwB;CAChJ,MAAM,aAAa,CAAC,GAAG,gBAAgB;CACvC,IAAI,SAAS,2BAA2B,WAAW,KAAK,GAAG,QAAQ,yBAAyB;CAC5F,MAAM,cAAc,oBAAoB,mBAAmB,UAAU,GAAG,sBAAsB;CAC9F,MAAM,oBAAoB,QAAQ,iBAAiB,sBAAsB;CACzE,MAAM,cAAc,wBAAwB,MAAM;CAClD,MAAM,aAAa,8BAA8B,kBAAkB,YAAY;CAC/E,MAAM,oBAAoB,QAAQ,qBAAqB,OAAO;CAC9D,MAAM,eAAe,QAAQ,sBAAsB;CACnD,MAAM,cAAc,QAAQ,oBAAoB,UAAU,aAAa;CACvE,MAAM,mBAAmB,OAAO,QAAQ,SAAS,OAAO,UAAU;CAClE,IAAI,iBAAiB,WAAW,GAAG,MAAM,aAAa,8BAA8B,4BAA4B,EAAE,MAAM,EAAE,QAAQ,uBAAuB,EAAE,CAAC;CAC5J,KAAK,MAAM,CAAC,MAAM,OAAO,kBAAkB,IAAI,OAAO,KAAK,GAAG,MAAM,IAAI,cAAc,qBAAqB,KAAK,iCAAiC;CACjJ,MAAM,YAAY,kBAAkB,SAAS,KAAK;CAClD,MAAM,mBAAmB,CAAC;CAC1B,KAAK,MAAM,GAAG,OAAO,kBAAkB,KAAK,MAAM,CAAC,QAAQ,OAAO,OAAO,QAAQ,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,UAAU,mBAAmB,iBAAiB,UAAU;CAClL,MAAM,eAAe,OAAO,KAAK,gBAAgB,CAAC,CAAC,SAAS,IAAI,mBAAmB,KAAK;CACxF,MAAM,yBAAyB,+BAA+B,cAAc,WAAW;CACvF,MAAM,yBAAyB,mCAAmC,YAAY;CAC9E,MAAM,uBAAuB,iBAAiB,KAAK,CAAC,MAAM,QAAQ;EACjE,MAAM,WAAW,GAAG;EACpB,MAAM,eAAe,mBAAmB,WAAW,MAAM,UAAU,QAAQ,yBAAyB,MAAM,KAAK,CAAC;EAChH,MAAM,iBAAiB,UAAU,GAAG,YAAY;EAChD,MAAM,2BAA2B,mBAAmB,KAAK,KAAK,OAAO,KAAK,cAAc,CAAC,CAAC,SAAS,IAAI,mCAAmC,cAAc,IAAI,KAAK;EACjK,MAAM,UAAU,UAAU,GAAG,IAAI;EACjC,OAAO;GACN;GACA;GACA;GACA,YAAY,KAAK,KAAK,OAAO,KAAK,OAAO,CAAC,CAAC,SAAS,IAAI,sBAAsB,OAAO,IAAI,KAAK;EAC/F;CACD,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,cAAc,0BAA0B,iBAAiB;EACvE,MAAM,SAAS,6BAA6B,KAAK,IAAI,oCAAoC,yBAAyB,KAAK;EACvH,MAAM,WAAW,gBAAgB,KAAK,IAAI,4BAA4B,YAAY,KAAK;EACvF,OAAO,kBAAkB,mBAAmB,IAAI,EAAE,gCAAgC,aAAa,GAAG,SAAS,SAAS;CACrH,CAAC,CAAC,CAAC,KAAK,KAAK;CACb,MAAM,kBAAkB,SAAS,cAAc,KAAK,IAAI,2BAA2B,uBAAuB,SAAS,SAAS,EAAE,KAAK;CACnI,MAAM,yBAAyB,QAAQ,0BAA0B,WAAW,WAAW,UAAU,QAAQ,yBAAyB,WAAW,WAAW,OAAO,QAAQ,IAAI,KAAK;CAChL,MAAM,uBAAuB,QAAQ,wBAAwB,WAAW,WAAW,UAAU,QAAQ,uBAAuB,WAAW,WAAW,OAAO,QAAQ,IAAI,KAAK;CAC1K,MAAM,iBAAiB,kCAAkC,iBAAiB,KAAK,CAAC,MAAM,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,aAAa,wBAAwB,oBAAoB;CAC3K,MAAM,mBAAmB,QAAQ,wBAAwB,UAAU,WAAW;CAC9E,MAAM,kBAAkB,QAAQ,mBAAmB,gBAAgB,UAAU;CAC7E,MAAM,kBAAkB,wBAAwB,UAAU;EACzD;EACA;EACA;CACD,GAAG,SAAS,sBAAsB,IAAI;CACtC,OAAO;;;EAGN,YAAY,KAAK,IAAI,EAAE;;EAEvB,kBAAkB,KAAK,IAAI,EAAE;;;;;;;UAOrB,uBAAuB,0BAA0B,EAAE;;EAE3D,YAAY;;2BAEa,WAAW;EACpC,kBAAkB;EAClB,uBAAuB;iCACQ,eAAe,OAAO;gCACvB,eAAe,MAAM;EACnD,mBAAmB,GAAG,iBAAiB,MAAM,GAAG;EAChD,gBAAgB;;yBAEO,aAAa;;;iBAGrB,YAAY;;;qBAGR,eAAe,SAAS,MAAM,EAAE;2BAC1B,eAAe,SAAS,YAAY,EAAE;oBAC7C,UAAU;;;EAG5B,qBAAqB;;;2BAGI,eAAe,SAAS,YAAY,EAAE;yBACxC,eAAe,SAAS,UAAU,EAAE,GAAG,gBAAgB;mBAC7D,eAAe,SAAS,IAAI,EAAE;IAC7C,eAAe,0BAA0B,uBAAuB,KAAK,GAAG;;;;EAI1E,gBAAgB;;AAElB;;;;;;AAQA,SAAS,gCAAgC,UAAU;CAClD,KAAK,MAAM,CAAC,aAAa,cAAc,OAAO,QAAQ,SAAS,OAAO,UAAU,GAAG,KAAK,MAAM,CAAC,WAAW,UAAU,OAAO,QAAQ,UAAU,MAAM,GAAG,KAAK,MAAM,CAAC,cAAc,aAAa,OAAO,QAAQ,MAAM,aAAa,CAAC,CAAC,GAAG;EACnO,IAAI,EAAE,QAAQ,aAAa,SAAS,gBAAgB,SAAS,SAAS,gBAAgB,UAAU,SAAS,GAAG,UAAU,KAAK,MAAM,OAAO,SAAS,aAAa,WAAW;EACzK,MAAM,aAAa,6BAA6B,aAAa,aAAa,cAAc,YAAY,GAAG,UAAU,SAAS,SAAS,YAAY,gDAAgD;GAC9L,KAAK;GACL,KAAK;GACL,MAAM;IACL;IACA;IACA,QAAQ;GACT;EACD,CAAC;CACF;AACD;AAGA,MAAM,iBAAiB;AACvB,eAAe,KAAK,UAAU,OAAO,cAAc,SAAS;CAC3D,IAAI,QAAQ,mBAAmB,KAAK,GAAG,wBAAwB,QAAQ,cAAc;CACrF,gCAAgC,QAAQ;CACxC,MAAM,EAAE,kBAAkB,2BAA2B,sBAAsB,qBAAqB;CAChG,MAAM,EAAE,gBAAgB,SAAS;CACjC,MAAM,gBAAgB,SAAS,WAAW;CAC1C,MAAM,EAAE,gBAAgB;CACxB,MAAM,gBAAgB,6BAA6B,UAAU;EAC5D,eAAe;EACf,mBAAmB,QAAQ;EAC3B,GAAG,UAAU,uBAAuB,QAAQ,mBAAmB;EAC/D,GAAG,UAAU,eAAe,QAAQ,WAAW;CAChD,CAAC;CACD,MAAM,qBAAqB,KAAK,UAAU;EACzC,GAAG;EACH,YAAY;GACX,SAAS;GACT,SAAS;GACT,YAAY;EACb;CACD,GAAG,MAAM,CAAC;CACV,MAAM,kBAAkB;EACvB,GAAG,UAAU,6BAA6B,yBAAyB;EACnE,GAAG,UAAU,wBAAwB,oBAAoB;EACzD,GAAG,UAAU,oBAAoB,gBAAgB;EACjD,GAAG,UAAU,sBAAsB,QAAQ,kBAAkB;CAC9D;CACA,MAAM,qBAAqB;EAC1B;EACA,GAAG,UAAU,iBAAiB,aAAa;EAC3C;CACD;CACA,OAAO;EACN,cAAc;EACd,aAAa,MAAM,OAAO,oBAAoB,QAAQ,oBAAoB,aAAa,GAAG,cAAc,oBAAoB,CAAC,GAAG,oBAAoB,iBAAiB,MAAM,aAAa,QAAQ,0BAA0B,sBAAsB,GAAG;GAClP,QAAQ;GACR,aAAa;GACb,MAAM;GACN,YAAY;EACb,CAAC;EACD;EACA,GAAG,UAAU,iBAAiB,aAAa;EAC3C;CACD;AACD"}
@@ -1,4 +1,4 @@
1
- import { r as getEmittedArtifactPaths } from "./exports-DkJil2JJ-6p86L2r4.mjs";
1
+ import { r as getEmittedArtifactPaths } from "./exports-DI1kMms6--e9LdT9A.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import { realpathSync } from "node:fs";
4
4
  import { ifDefined } from "@prisma/orm-framework/utils/defined";
@@ -218,4 +218,4 @@ async function loadConfigForFile(filePath) {
218
218
  //#endregion
219
219
  export { loadConfigForSections as a, loadConfigForFile as i, findNearestConfigPathForFile as n, requireConfigSections as o, loadConfig as r, finalizeConfig as t };
220
220
 
221
- //# sourceMappingURL=exports-Do7_pH8Y.mjs.map
221
+ //# sourceMappingURL=exports-DJ4RhlW4.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"exports-Do7_pH8Y.mjs","names":[],"sources":["../../../../1-framework/3-tooling/config-loader/dist/exports/index.mjs"],"sourcesContent":["import { createRequire } from \"node:module\";\nimport { normalizeContractConfig } from \"@internal/config/config-types\";\nimport { dirname, join, resolve } from \"pathe\";\nimport { realpathSync } from \"node:fs\";\nimport { access } from \"node:fs/promises\";\nimport { pathToFileURL } from \"node:url\";\nimport { collectConfigIssues } from \"@internal/config/config-validation\";\nimport { getEmittedArtifactPaths } from \"@internal/emitter\";\nimport { CliStructuredError, errorConfigEvaluationFailed, errorConfigFileNotFound, errorConfigValidation, errorConfigVersionMarkerMissing } from \"@internal/errors/control\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { isStructuredError } from \"@internal/utils/structured-error\";\n//#region src/finalize-config.ts\nfunction finalizeContractSource(source, configDir) {\n\tconst resolvedInputs = source.inputs?.map((input) => resolve(configDir, input));\n\tif (resolvedInputs === void 0) return source;\n\treturn {\n\t\t...source,\n\t\tinputs: resolvedInputs\n\t};\n}\n/** Normalizes a contract section and resolves its paths against `configDir`. */\nfunction finalizeContractConfig(contract, configDir) {\n\tconst normalized = normalizeContractConfig(contract);\n\treturn {\n\t\t...normalized,\n\t\tsource: finalizeContractSource(normalized.source, configDir),\n\t\toutput: resolve(configDir, normalized.output)\n\t};\n}\nconst DEFAULT_MIGRATIONS_DIR = \"migrations\";\n/**\n* Resolves the migrations directory against `configDir`, which is what `migrations.dir` is\n* documented to be relative to. The default is applied here too, so no caller re-derives it\n* against a different base — a command run from one directory with `--config` naming a project in\n* another would otherwise read the wrong `migrations/`.\n*/\nfunction finalizeMigrationsConfig(migrations, configDir) {\n\treturn {\n\t\t...migrations,\n\t\tdir: resolve(configDir, migrations?.dir ?? DEFAULT_MIGRATIONS_DIR)\n\t};\n}\nfunction finalizeConfig(config, configDir) {\n\treturn {\n\t\t...config,\n\t\t...config.contract ? { contract: finalizeContractConfig(config.contract, configDir) } : void 0,\n\t\tmigrations: finalizeMigrationsConfig(config.migrations, configDir)\n\t};\n}\n//#endregion\n//#region src/load.ts\nconst CONFIG_FILENAME = \"prisma.config.ts\";\nasync function findNearestConfigPathForFile(filePath) {\n\tlet current = dirname(resolve(process.cwd(), filePath));\n\twhile (true) {\n\t\tconst candidate = join(current, CONFIG_FILENAME);\n\t\tif (await fileExists(candidate)) return candidate;\n\t\tconst parent = dirname(current);\n\t\tif (parent === current) return;\n\t\tcurrent = parent;\n\t}\n}\nasync function fileExists(path) {\n\ttry {\n\t\tawait access(path);\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n}\nfunction isRecord(value) {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\nfunction collectArtifactCollisionDiagnostics(contract) {\n\tconst inputs = contract.source.inputs;\n\tconst output = contract.output;\n\tif (inputs === void 0 || output === void 0) return [];\n\tlet emittedArtifactPaths;\n\ttry {\n\t\temittedArtifactPaths = getEmittedArtifactPaths(output);\n\t} catch (error) {\n\t\treturn [errorConfigValidation(\"contract.output\", {\n\t\t\t/* v8 ignore next -- getEmittedArtifactPaths only ever throws an Error */\n\t\t\twhy: error instanceof Error ? error.message : String(error),\n\t\t\tsection: \"contract\"\n\t\t})];\n\t}\n\tconst emittedPaths = /* @__PURE__ */ new Set([emittedArtifactPaths.jsonPath, emittedArtifactPaths.dtsPath]);\n\tif (inputs.some((input) => emittedPaths.has(input))) return [errorConfigValidation(\"contract.source.inputs[]\", {\n\t\twhy: \"Config.contract.source.inputs must not include emitted artifact paths derived from contract.output\",\n\t\tsection: \"contract\"\n\t})];\n\treturn [];\n}\nfunction buildLoadedConfig(rawConfig, configDir) {\n\tconst issues = collectConfigIssues(rawConfig);\n\tconst diagnostics = issues.map((issue) => errorConfigValidation(issue.field, {\n\t\twhy: issue.message,\n\t\tsection: issue.section\n\t}));\n\tconst raw = blindCast(rawConfig);\n\tconst config = issues.some((issue) => issue.section === \"migrations\") ? raw : {\n\t\t...raw,\n\t\tmigrations: finalizeMigrationsConfig(raw.migrations, configDir)\n\t};\n\tif (config.contract === void 0 || issues.some((issue) => issue.section === \"contract\")) return {\n\t\tconfig,\n\t\tdiagnostics\n\t};\n\tconst contract = finalizeContractConfig(config.contract, configDir);\n\tdiagnostics.push(...collectArtifactCollisionDiagnostics(contract));\n\treturn {\n\t\tconfig: {\n\t\t\t...config,\n\t\t\tcontract\n\t\t},\n\t\tdiagnostics\n\t};\n}\nfunction toConfigLoadFailure(error, configPath) {\n\tif (CliStructuredError.is(error)) return error;\n\tconst resolvedPath = configPath ? resolve(process.cwd(), configPath) : void 0;\n\tif (isStructuredError(error)) return new CliStructuredError(error.code, error.message, {\n\t\t...ifDefined(\"why\", error.why),\n\t\t...ifDefined(\"fix\", error.fix),\n\t\t...ifDefined(\"where\", error.where),\n\t\t...ifDefined(\"meta\", error.meta),\n\t\tcause: error\n\t});\n\tif (error instanceof Error) return errorConfigEvaluationFailed(resolvedPath, {\n\t\twhy: error.message,\n\t\tcause: error\n\t});\n\treturn errorConfigEvaluationFailed(resolvedPath, { why: String(error) });\n}\n/**\n* Loads and finalizes the Prisma 8 config.\n*\n* Failures that prevent evaluation entirely — missing file, module that does\n* not evaluate (`CONFIG.FILE_NOT_FOUND`, `CONFIG.EVALUATION_FAILED`) — are the\n* `Result` failure. Structural problems inside an evaluated config do not\n* fail the load: they are returned as section-tagged diagnostics so commands\n* fail only on the sections they read (via {@link requireConfigSections}).\n*/\n/**\n* c12 is resolved to its real on-disk entry before importing: jiti (inside\n* c12) resolves its own transitive imports from the importing file's location,\n* and a symlinked install (pnpm) would otherwise anchor them somewhere the\n* packages are not. Importing at the real location keeps every transitive\n* resolution working.\n*/\nasync function importC12() {\n\treturn await import(pathToFileURL(realpathSync(createRequire(import.meta.url).resolve(\"c12\"))).href);\n}\nasync function loadConfig(configPath, options) {\n\tconst cwd = options?.cwd ?? process.cwd();\n\tconst resolvedConfigPath = configPath ? resolve(cwd, configPath) : void 0;\n\tconst configCwd = resolvedConfigPath ? dirname(resolvedConfigPath) : cwd;\n\tlet result;\n\ttry {\n\t\tresult = await (await importC12()).loadConfig({\n\t\t\tname: \"prisma\",\n\t\t\t...ifDefined(\"configFile\", resolvedConfigPath),\n\t\t\tcwd: configCwd\n\t\t});\n\t} catch (error) {\n\t\treturn notOk(toConfigLoadFailure(error, configPath));\n\t}\n\tif (resolvedConfigPath && result.configFile !== resolvedConfigPath) return notOk(errorConfigFileNotFound(resolvedConfigPath));\n\tif (!result.config || Object.keys(result.config).length === 0) return notOk(errorConfigFileNotFound(result.configFile || resolvedConfigPath || configPath));\n\t/* v8 ignore next -- @preserve */\n\tconst loadedConfigDir = result.configFile ? dirname(result.configFile) : configCwd;\n\t/* v8 ignore next -- c12 always returns layers for a config it evaluated */\n\tconst [requestedLayer] = result.layers ?? [];\n\tconst layerConfig = requestedLayer?.config;\n\tconst engineMarker = isRecord(layerConfig) ? layerConfig[\"$prismaConfig\"] : void 0;\n\tif (engineMarker !== void 0) {\n\t\tif (engineMarker !== 1)\n /* v8 ignore next -- a config that evaluated always carries its resolved path */\n\t\treturn notOk(errorConfigVersionMarkerMissing(result.configFile ?? resolvedConfigPath));\n\t\tconst orm = result.config[\"orm\"];\n\t\tif (orm !== void 0 && !isRecord(orm)) return ok({\n\t\t\tconfig: buildLoadedConfig({}, loadedConfigDir).config,\n\t\t\tdiagnostics: [errorConfigValidation(\"orm\", { why: `The orm section of ${CONFIG_FILENAME} must be an object` })]\n\t\t});\n\t\treturn ok(buildLoadedConfig(orm ?? {}, loadedConfigDir));\n\t}\n\t/* v8 ignore next -- a config that evaluated always carries its resolved path */\n\treturn notOk(errorConfigVersionMarkerMissing(result.configFile ?? resolvedConfigPath));\n}\n/**\n* Narrows a {@link LoadedConfig} to the sections a command reads. Fails with\n* the first diagnostic concerning a required section; diagnostics on other\n* sections are ignored so unrelated commands keep working.\n*/\nfunction requireConfigSections(loaded, sections) {\n\tconst blocking = loaded.diagnostics.find((diagnostic) => {\n\t\tconst section = diagnostic.meta?.[\"section\"];\n\t\treturn typeof section !== \"string\" || sections.some((required) => required === section);\n\t});\n\treturn blocking ? notOk(blocking) : ok(loaded.config);\n}\n/**\n* Convenience composition of {@link loadConfig} and\n* {@link requireConfigSections} for commands that read a fixed set of\n* sections and have no use for diagnostics outside them.\n*/\nasync function loadConfigForSections(configPath, sections) {\n\tconst loaded = await loadConfig(configPath);\n\tif (!loaded.ok) return loaded;\n\treturn requireConfigSections(loaded.value, sections);\n}\nasync function loadConfigForFile(filePath) {\n\tconst configPath = await findNearestConfigPathForFile(filePath);\n\tif (configPath === void 0) return notOk(errorConfigFileNotFound(join(dirname(resolve(process.cwd(), filePath)), CONFIG_FILENAME)));\n\treturn loadConfig(configPath);\n}\n//#endregion\nexport { finalizeConfig, findNearestConfigPathForFile, loadConfig, loadConfigForFile, loadConfigForSections, requireConfigSections };\n\n//# sourceMappingURL=index.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"exports-DJ4RhlW4.mjs","names":[],"sources":["../../../../1-framework/3-tooling/config-loader/dist/exports/index.mjs"],"sourcesContent":["import { createRequire } from \"node:module\";\nimport { normalizeContractConfig } from \"@internal/config/config-types\";\nimport { dirname, join, resolve } from \"pathe\";\nimport { realpathSync } from \"node:fs\";\nimport { access } from \"node:fs/promises\";\nimport { pathToFileURL } from \"node:url\";\nimport { collectConfigIssues } from \"@internal/config/config-validation\";\nimport { getEmittedArtifactPaths } from \"@internal/emitter\";\nimport { CliStructuredError, errorConfigEvaluationFailed, errorConfigFileNotFound, errorConfigValidation, errorConfigVersionMarkerMissing } from \"@internal/errors/control\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { isStructuredError } from \"@internal/utils/structured-error\";\n//#region src/finalize-config.ts\nfunction finalizeContractSource(source, configDir) {\n\tconst resolvedInputs = source.inputs?.map((input) => resolve(configDir, input));\n\tif (resolvedInputs === void 0) return source;\n\treturn {\n\t\t...source,\n\t\tinputs: resolvedInputs\n\t};\n}\n/** Normalizes a contract section and resolves its paths against `configDir`. */\nfunction finalizeContractConfig(contract, configDir) {\n\tconst normalized = normalizeContractConfig(contract);\n\treturn {\n\t\t...normalized,\n\t\tsource: finalizeContractSource(normalized.source, configDir),\n\t\toutput: resolve(configDir, normalized.output)\n\t};\n}\nconst DEFAULT_MIGRATIONS_DIR = \"migrations\";\n/**\n* Resolves the migrations directory against `configDir`, which is what `migrations.dir` is\n* documented to be relative to. The default is applied here too, so no caller re-derives it\n* against a different base — a command run from one directory with `--config` naming a project in\n* another would otherwise read the wrong `migrations/`.\n*/\nfunction finalizeMigrationsConfig(migrations, configDir) {\n\treturn {\n\t\t...migrations,\n\t\tdir: resolve(configDir, migrations?.dir ?? DEFAULT_MIGRATIONS_DIR)\n\t};\n}\nfunction finalizeConfig(config, configDir) {\n\treturn {\n\t\t...config,\n\t\t...config.contract ? { contract: finalizeContractConfig(config.contract, configDir) } : void 0,\n\t\tmigrations: finalizeMigrationsConfig(config.migrations, configDir)\n\t};\n}\n//#endregion\n//#region src/load.ts\nconst CONFIG_FILENAME = \"prisma.config.ts\";\nasync function findNearestConfigPathForFile(filePath) {\n\tlet current = dirname(resolve(process.cwd(), filePath));\n\twhile (true) {\n\t\tconst candidate = join(current, CONFIG_FILENAME);\n\t\tif (await fileExists(candidate)) return candidate;\n\t\tconst parent = dirname(current);\n\t\tif (parent === current) return;\n\t\tcurrent = parent;\n\t}\n}\nasync function fileExists(path) {\n\ttry {\n\t\tawait access(path);\n\t\treturn true;\n\t} catch {\n\t\treturn false;\n\t}\n}\nfunction isRecord(value) {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\nfunction collectArtifactCollisionDiagnostics(contract) {\n\tconst inputs = contract.source.inputs;\n\tconst output = contract.output;\n\tif (inputs === void 0 || output === void 0) return [];\n\tlet emittedArtifactPaths;\n\ttry {\n\t\temittedArtifactPaths = getEmittedArtifactPaths(output);\n\t} catch (error) {\n\t\treturn [errorConfigValidation(\"contract.output\", {\n\t\t\t/* v8 ignore next -- getEmittedArtifactPaths only ever throws an Error */\n\t\t\twhy: error instanceof Error ? error.message : String(error),\n\t\t\tsection: \"contract\"\n\t\t})];\n\t}\n\tconst emittedPaths = /* @__PURE__ */ new Set([emittedArtifactPaths.jsonPath, emittedArtifactPaths.dtsPath]);\n\tif (inputs.some((input) => emittedPaths.has(input))) return [errorConfigValidation(\"contract.source.inputs[]\", {\n\t\twhy: \"Config.contract.source.inputs must not include emitted artifact paths derived from contract.output\",\n\t\tsection: \"contract\"\n\t})];\n\treturn [];\n}\nfunction buildLoadedConfig(rawConfig, configDir) {\n\tconst issues = collectConfigIssues(rawConfig);\n\tconst diagnostics = issues.map((issue) => errorConfigValidation(issue.field, {\n\t\twhy: issue.message,\n\t\tsection: issue.section\n\t}));\n\tconst raw = blindCast(rawConfig);\n\tconst config = issues.some((issue) => issue.section === \"migrations\") ? raw : {\n\t\t...raw,\n\t\tmigrations: finalizeMigrationsConfig(raw.migrations, configDir)\n\t};\n\tif (config.contract === void 0 || issues.some((issue) => issue.section === \"contract\")) return {\n\t\tconfig,\n\t\tdiagnostics\n\t};\n\tconst contract = finalizeContractConfig(config.contract, configDir);\n\tdiagnostics.push(...collectArtifactCollisionDiagnostics(contract));\n\treturn {\n\t\tconfig: {\n\t\t\t...config,\n\t\t\tcontract\n\t\t},\n\t\tdiagnostics\n\t};\n}\nfunction toConfigLoadFailure(error, configPath) {\n\tif (CliStructuredError.is(error)) return error;\n\tconst resolvedPath = configPath ? resolve(process.cwd(), configPath) : void 0;\n\tif (isStructuredError(error)) return new CliStructuredError(error.code, error.message, {\n\t\t...ifDefined(\"why\", error.why),\n\t\t...ifDefined(\"fix\", error.fix),\n\t\t...ifDefined(\"where\", error.where),\n\t\t...ifDefined(\"meta\", error.meta),\n\t\tcause: error\n\t});\n\tif (error instanceof Error) return errorConfigEvaluationFailed(resolvedPath, {\n\t\twhy: error.message,\n\t\tcause: error\n\t});\n\treturn errorConfigEvaluationFailed(resolvedPath, { why: String(error) });\n}\n/**\n* Loads and finalizes the Prisma 8 config.\n*\n* Failures that prevent evaluation entirely — missing file, module that does\n* not evaluate (`CONFIG.FILE_NOT_FOUND`, `CONFIG.EVALUATION_FAILED`) — are the\n* `Result` failure. Structural problems inside an evaluated config do not\n* fail the load: they are returned as section-tagged diagnostics so commands\n* fail only on the sections they read (via {@link requireConfigSections}).\n*/\n/**\n* c12 is resolved to its real on-disk entry before importing: jiti (inside\n* c12) resolves its own transitive imports from the importing file's location,\n* and a symlinked install (pnpm) would otherwise anchor them somewhere the\n* packages are not. Importing at the real location keeps every transitive\n* resolution working.\n*/\nasync function importC12() {\n\treturn await import(pathToFileURL(realpathSync(createRequire(import.meta.url).resolve(\"c12\"))).href);\n}\nasync function loadConfig(configPath, options) {\n\tconst cwd = options?.cwd ?? process.cwd();\n\tconst resolvedConfigPath = configPath ? resolve(cwd, configPath) : void 0;\n\tconst configCwd = resolvedConfigPath ? dirname(resolvedConfigPath) : cwd;\n\tlet result;\n\ttry {\n\t\tresult = await (await importC12()).loadConfig({\n\t\t\tname: \"prisma\",\n\t\t\t...ifDefined(\"configFile\", resolvedConfigPath),\n\t\t\tcwd: configCwd\n\t\t});\n\t} catch (error) {\n\t\treturn notOk(toConfigLoadFailure(error, configPath));\n\t}\n\tif (resolvedConfigPath && result.configFile !== resolvedConfigPath) return notOk(errorConfigFileNotFound(resolvedConfigPath));\n\tif (!result.config || Object.keys(result.config).length === 0) return notOk(errorConfigFileNotFound(result.configFile || resolvedConfigPath || configPath));\n\t/* v8 ignore next -- @preserve */\n\tconst loadedConfigDir = result.configFile ? dirname(result.configFile) : configCwd;\n\t/* v8 ignore next -- c12 always returns layers for a config it evaluated */\n\tconst [requestedLayer] = result.layers ?? [];\n\tconst layerConfig = requestedLayer?.config;\n\tconst engineMarker = isRecord(layerConfig) ? layerConfig[\"$prismaConfig\"] : void 0;\n\tif (engineMarker !== void 0) {\n\t\tif (engineMarker !== 1)\n /* v8 ignore next -- a config that evaluated always carries its resolved path */\n\t\treturn notOk(errorConfigVersionMarkerMissing(result.configFile ?? resolvedConfigPath));\n\t\tconst orm = result.config[\"orm\"];\n\t\tif (orm !== void 0 && !isRecord(orm)) return ok({\n\t\t\tconfig: buildLoadedConfig({}, loadedConfigDir).config,\n\t\t\tdiagnostics: [errorConfigValidation(\"orm\", { why: `The orm section of ${CONFIG_FILENAME} must be an object` })]\n\t\t});\n\t\treturn ok(buildLoadedConfig(orm ?? {}, loadedConfigDir));\n\t}\n\t/* v8 ignore next -- a config that evaluated always carries its resolved path */\n\treturn notOk(errorConfigVersionMarkerMissing(result.configFile ?? resolvedConfigPath));\n}\n/**\n* Narrows a {@link LoadedConfig} to the sections a command reads. Fails with\n* the first diagnostic concerning a required section; diagnostics on other\n* sections are ignored so unrelated commands keep working.\n*/\nfunction requireConfigSections(loaded, sections) {\n\tconst blocking = loaded.diagnostics.find((diagnostic) => {\n\t\tconst section = diagnostic.meta?.[\"section\"];\n\t\treturn typeof section !== \"string\" || sections.some((required) => required === section);\n\t});\n\treturn blocking ? notOk(blocking) : ok(loaded.config);\n}\n/**\n* Convenience composition of {@link loadConfig} and\n* {@link requireConfigSections} for commands that read a fixed set of\n* sections and have no use for diagnostics outside them.\n*/\nasync function loadConfigForSections(configPath, sections) {\n\tconst loaded = await loadConfig(configPath);\n\tif (!loaded.ok) return loaded;\n\treturn requireConfigSections(loaded.value, sections);\n}\nasync function loadConfigForFile(filePath) {\n\tconst configPath = await findNearestConfigPathForFile(filePath);\n\tif (configPath === void 0) return notOk(errorConfigFileNotFound(join(dirname(resolve(process.cwd(), filePath)), CONFIG_FILENAME)));\n\treturn loadConfig(configPath);\n}\n//#endregion\nexport { finalizeConfig, findNearestConfigPathForFile, loadConfig, loadConfigForFile, loadConfigForSections, requireConfigSections };\n\n//# sourceMappingURL=index.mjs.map"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { PreserveEmptyPredicate, SerializeContract, StorageSort } from "@prisma/
4
4
  import { AggregateDescriptor } from "@prisma/orm-framework/components/components";
5
5
  import { Contract } from "@prisma/orm-framework/contract/types";
6
6
  import { AnyCodecDescriptor, CodecLookup } from "@prisma/orm-framework/components/codec";
7
- //#region ../../../1-framework/3-tooling/emitter/dist/index-CED30mET.d.mts
7
+ //#region ../../../1-framework/3-tooling/emitter/dist/index-B93553S9.d.mts
8
8
  //#region src/artifact-paths.d.ts
9
9
  interface EmittedArtifactPaths {
10
10
  readonly jsonPath: string;
@@ -60,12 +60,12 @@ interface EmitOptions {
60
60
  */
61
61
  readonly supportsNamespaces?: boolean;
62
62
  /**
63
- * Hydrates the canonical JSON object back into a contract. When given, the
64
- * declarations are generated from that round-trip rather than from the
65
- * contract as authored, so `contract.d.ts` orders every collection the way
63
+ * Hydrates the canonical JSON object back into a contract. The declarations
64
+ * are always generated from that round-trip, never from the contract as
65
+ * authored, so `contract.d.ts` orders every collection the way
66
66
  * `contract.json` does and a render from the JSON reproduces it exactly.
67
67
  */
68
- readonly deserializeContract?: (json: Record<string, unknown>) => Contract;
68
+ readonly deserializeContract: (json: Record<string, unknown>) => Contract;
69
69
  }
70
70
  interface EmitResult {
71
71
  readonly contractJson: string;
@@ -86,4 +86,4 @@ declare function generateContractDts(contract: Contract, emitter: EmissionSpi, c
86
86
  }, options?: GenerateContractTypesOptions, codecLookup?: CodecLookup, resolveImportSpecifier?: ImportSpecifierResolver): string;
87
87
  //#endregion
88
88
  export { emit as a, EmittedArtifactPaths as i, EmitResult as n, generateContractDts as o, EmitStackInput as r, getEmittedArtifactPaths as s, EmitOptions as t };
89
- //# sourceMappingURL=index-K9cFK1Ge.d.mts.map
89
+ //# sourceMappingURL=index-DG1D9rrd.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-K9cFK1Ge.d.mts","names":[],"sources":["../../../../1-framework/3-tooling/emitter/dist/index-CED30mET.d.mts"],"mappings":";;;;;;;;UAOU;WACC;WACA;;iBAEM,wBAAwB,yBAAyB;;;;;;;;UAQxD;WACC,mBAAmB,cAAc;WACjC,4BAA4B,cAAc;WAC1C,eAAe;WACf,cAAc;WACd,mBAAmB,cAAc;WACjC,uBAAuB,cAAc;;UAEtC;WACC;;;;;;;;;;WAUA,mBAAmB;;;;;WAKnB,sBAAsB;;;;;WAKtB,cAAc;;;;;;;WAOd,yBAAyB;;;;WAIzB;;;;;;;WAOA,uBAAuB,MAAM,4BAA4B;;UAE1D;WACC;WACA;WACA;WACA;WACA;;;;iBAIM,KAAK,UAAU,UAAU,OAAO,gBAAgB,cAAc,aAAa,SAAS,cAAc,QAAQ;;;iBAG1G,oBAAoB,UAAU,UAAU,SAAS,aAAa,kBAAkB,cAAc,kBAAkB;WACtH;WACA;WACA;GACR,UAAU,8BAA8B,cAAc,aAAa,yBAAyB"}
1
+ {"version":3,"file":"index-DG1D9rrd.d.mts","names":[],"sources":["../../../../1-framework/3-tooling/emitter/dist/index-B93553S9.d.mts"],"mappings":";;;;;;;;UAOU;WACC;WACA;;iBAEM,wBAAwB,yBAAyB;;;;;;;;UAQxD;WACC,mBAAmB,cAAc;WACjC,4BAA4B,cAAc;WAC1C,eAAe;WACf,cAAc;WACd,mBAAmB,cAAc;WACjC,uBAAuB,cAAc;;UAEtC;WACC;;;;;;;;;;WAUA,mBAAmB;;;;;WAKnB,sBAAsB;;;;;WAKtB,cAAc;;;;;;;WAOd,yBAAyB;;;;WAIzB;;;;;;;WAOA,sBAAsB,MAAM,4BAA4B;;UAEzD;WACC;WACA;WACA;WACA;WACA;;;;iBAIM,KAAK,UAAU,UAAU,OAAO,gBAAgB,cAAc,aAAa,SAAS,cAAc,QAAQ;;;iBAG1G,oBAAoB,UAAU,UAAU,SAAS,aAAa,kBAAkB,cAAc,kBAAkB;WACtH;WACA;WACA;GACR,UAAU,8BAA8B,cAAc,aAAa,yBAAyB"}
@@ -1,4 +1,4 @@
1
- import { r as getEmittedArtifactPaths, t as emit } from "./exports-DkJil2JJ-6p86L2r4.mjs";
1
+ import { r as getEmittedArtifactPaths, t as emit } from "./exports-DI1kMms6--e9LdT9A.mjs";
2
2
  import { O as errorNoInvariantPath, P as errorUnknownInvariant, b as errorInvalidRefName, i as errorContractDeserializationFailed, t as MigrationToolsError } from "./errors-SoLLYLtw-DMxVbVs9.mjs";
3
3
  import { a as writeContractSnapshot, i as snapshotsImportPathFrom, n as readContractSnapshotJson, t as contractSnapshotDir } from "./contract-snapshot-store-D-mFkiHR-CFl0ulR2.mjs";
4
4
  import { n as verifyMigrationHash, t as computeMigrationHash } from "./hash-DH8hl5Rq-BpM2t3Nu.mjs";
@@ -4863,4 +4863,4 @@ async function executeRefListCommand(options) {
4863
4863
  //#endregion
4864
4864
  export { listRefsByContractHash as $, errorMarkerMissing as A, sanitizeErrorMessage as At, executeContractEmit as B, errorContractValidationFailed as C, resolveFromForPlan as Ct, errorFileNotFound as D, runContractSpaceSeedPhase as Dt, errorDriverRequired as E, runCommandAction as Et, errorRunnerFailed as F, executeMigrationNewCommand as G, executeDbUpdate as H, errorRuntime as I, executeRefDeleteCommand as J, executeMigrationPlanCommand as K, errorTargetMigrationNotSupported as L, errorMigrationPlanningFailed as M, targetSupportsMigrations as Mt, errorNoMigrations as N, toDeclaredExtensionsFromRaw as Nt, errorHashMismatch as O, runMigrationCheck as Ot, errorPathUnreachable as P, hasMigrationPath as Q, errorTargetMismatch as R, errorContractArgConflict as S, resolveContractRefToSnapshot as St, errorDestructiveChanges as T, resolveToForPlan as Tt, executeDbVerify as U, executeDbInit as V, executeMigrateShowPlan as W, executeRefSetCommand as X, executeRefListCommand as Y, findPackageByDirPath as Z, enrichContract as _, refusePackageCorruptionOnAggregate as _t, appliedHashesFromLedger as a, mapContractAtError as at, errorConfigValidation$1 as b, resolveAppTargetPath as bt, buildReadAggregate as c, migrationSpaceListEntriesFromAggregate as ct, chooseAction as d, readContractEnvelope as dt, loadAggregateIntegrityViolations as et, closeQuietly as f, readMigrationRefs as ft, disposeEmitQueue as g, refuseMissingInvariantPath as gt, deriveStatusEdgeAnnotations as h, refuseMarkerOutsideGraph as ht, appContractStandInFromIdentity as i, mapCaughtMigrationError as it, errorMigrationPackageNotFound as j, statusForMigrationHash as jt, errorLegendHumanOnly as k, runMigrationList as kt, buildRefAdvancementFields as l, originHashForStatus as lt, createControlClient as m, refuseDeclaredExtensionTargetMismatch as mt, NO_REF_ADVANCEMENT as n, loadContractSpaceAggregateForCli as nt, buildContractSpaceAggregate as o, mapIntegrityViolations as ot, computeRefAdvancementName as p, refuseContractSpaceIntegrity as pt, executeRefAdvancement as q, advanceRefSafely as r, looksLikePath as rt, buildMigrationSpaceGraphEntries as s, maskConnectionUrl as st, CliStructuredError$1 as t, loadContractRawSafely as tt, checkSingleTarget as u, preflightRefAdvancement as ut, enumerateCheckSpaces as v, refuseUnknownInvariants as vt, errorDatabaseConnectionRequired as w, resolveMigrationRef as wt, errorConsentPlanMismatch as x, resolveContractRef$1 as xt, errorAdvanceRefArgConflict as y, requireLiveDatabase as yt, errorUnexpected as z };
4865
4865
 
4866
- //# sourceMappingURL=ref-fSTPpdt3-CURjn0ps.mjs.map
4866
+ //# sourceMappingURL=ref-fSTPpdt3-DTb2_ACs.mjs.map