@prisma/orm-family-sql 8.0.0-rc.16-dev.4 → 8.0.0-rc.16-dev.6

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 (89) hide show
  1. package/dist/{ast-B_UPqRyb.mjs → ast-DUU5OVjo.mjs} +2 -2
  2. package/dist/{ast-B_UPqRyb.mjs.map → ast-DUU5OVjo.mjs.map} +1 -1
  3. package/dist/{authored-check-naming-BjIs43HD.mjs → authored-check-naming-BBdhHujS.mjs} +3 -3
  4. package/dist/{authored-check-naming-BjIs43HD.mjs.map → authored-check-naming-BBdhHujS.mjs.map} +1 -1
  5. package/dist/{authoring-type-constructors-dihiQslc-B5nYi7p2.mjs → authoring-type-constructors-0Iv2zdwS-CVl4womm.mjs} +14 -4
  6. package/dist/authoring-type-constructors-0Iv2zdwS-CVl4womm.mjs.map +1 -0
  7. package/dist/builder__runtime.mjs +2 -2
  8. package/dist/{codec-descriptor-registry-DoGFktu5.mjs → codec-descriptor-registry-D7bl9ayf.mjs} +2 -2
  9. package/dist/{codec-descriptor-registry-DoGFktu5.mjs.map → codec-descriptor-registry-D7bl9ayf.mjs.map} +1 -1
  10. package/dist/{config-types-BMRDvgSW.mjs → config-types-DeIF6WyF.mjs} +2 -2
  11. package/dist/{config-types-BMRDvgSW.mjs.map → config-types-DeIF6WyF.mjs.map} +1 -1
  12. package/dist/{contract-builder-83EIkQrg.mjs → contract-builder-BlFrYr97.mjs} +4 -4
  13. package/dist/{contract-builder-83EIkQrg.mjs.map → contract-builder-BlFrYr97.mjs.map} +1 -1
  14. package/dist/contract-emitter.mjs +1 -1
  15. package/dist/contract-prisma7__provider.d.mts +5 -0
  16. package/dist/contract-prisma7__provider.d.mts.map +1 -1
  17. package/dist/contract-prisma7__provider.mjs +206 -133
  18. package/dist/contract-prisma7__provider.mjs.map +1 -1
  19. package/dist/contract-psl.mjs +1 -1
  20. package/dist/contract-psl__attribute-specs.mjs +1 -1
  21. package/dist/contract-psl__provider.mjs +2 -2
  22. package/dist/contract-ts.mjs +3 -3
  23. package/dist/contract-ts__config-types.mjs +1 -1
  24. package/dist/contract-ts__contract-builder.mjs +2 -2
  25. package/dist/contract.mjs +9 -9
  26. package/dist/contract__authored-check-naming.mjs +1 -1
  27. package/dist/contract__entity-kinds.mjs +1 -1
  28. package/dist/contract__factories.mjs +1 -1
  29. package/dist/contract__foreign-key-materialization.mjs +1 -1
  30. package/dist/contract__index-naming.mjs +1 -1
  31. package/dist/contract__types.mjs +3 -3
  32. package/dist/contract__validators.mjs +2 -2
  33. package/dist/{control-ihau09EM.mjs → control-DxvOSmwF.mjs} +11 -11
  34. package/dist/{control-ihau09EM.mjs.map → control-DxvOSmwF.mjs.map} +1 -1
  35. package/dist/{derived-checks-DAbro9yn-BgBbql-q.mjs → derived-checks-DdguQPYm-BP57ljP8.mjs} +25 -19
  36. package/dist/{derived-checks-DAbro9yn-BgBbql-q.mjs.map → derived-checks-DdguQPYm-BP57ljP8.mjs.map} +1 -1
  37. package/dist/{dist-ljGeuCdK.mjs → dist-7hmkNQGd.mjs} +2 -2
  38. package/dist/{dist-ljGeuCdK.mjs.map → dist-7hmkNQGd.mjs.map} +1 -1
  39. package/dist/{entity-kinds-JlqzyFoo-BR7NtlZL.mjs → entity-kinds-JlqzyFoo-kIaAUFyK.mjs} +3 -3
  40. package/dist/{entity-kinds-JlqzyFoo-BR7NtlZL.mjs.map → entity-kinds-JlqzyFoo-kIaAUFyK.mjs.map} +1 -1
  41. package/dist/{factories-WPleYaty.mjs → factories-BsUyFxsk.mjs} +3 -3
  42. package/dist/{factories-WPleYaty.mjs.map → factories-BsUyFxsk.mjs.map} +1 -1
  43. package/dist/family.mjs +6 -6
  44. package/dist/family__control.mjs +3 -3
  45. package/dist/family__diff.mjs +1 -1
  46. package/dist/family__ir.mjs +1 -1
  47. package/dist/family__pack.mjs +2 -2
  48. package/dist/family__pack.mjs.map +1 -1
  49. package/dist/family__psl-build.mjs +1 -1
  50. package/dist/family__psl-infer.mjs +1 -1
  51. package/dist/{foreign-key-materialization-uN1uuv25.mjs → foreign-key-materialization-IGfTKmHV.mjs} +3 -3
  52. package/dist/{foreign-key-materialization-uN1uuv25.mjs.map → foreign-key-materialization-IGfTKmHV.mjs.map} +1 -1
  53. package/dist/{index-naming-Cj1Anq-T-DgO8vEIL.mjs → index-naming-Cj1Anq-T-NX841eiU.mjs} +2 -2
  54. package/dist/{index-naming-Cj1Anq-T-DgO8vEIL.mjs.map → index-naming-Cj1Anq-T-NX841eiU.mjs.map} +1 -1
  55. package/dist/{interpreter-BF5Xrf3W-DK928Clg.mjs → interpreter-BF5Xrf3W-bdklH78q.mjs} +5 -5
  56. package/dist/{interpreter-BF5Xrf3W-DK928Clg.mjs.map → interpreter-BF5Xrf3W-bdklH78q.mjs.map} +1 -1
  57. package/dist/{naming-BLraiRfc-DKPaCL0a.mjs → naming-DkG_OegU-DpENNdZX.mjs} +5 -18
  58. package/dist/naming-DkG_OegU-DpENNdZX.mjs.map +1 -0
  59. package/dist/orm-client.mjs +2 -2
  60. package/dist/{psl-build-B_fRV6lN.mjs → psl-build-Di-cBOCv.mjs} +2 -2
  61. package/dist/{psl-build-B_fRV6lN.mjs.map → psl-build-Di-cBOCv.mjs.map} +1 -1
  62. package/dist/{psl-field-resolution-DUCrDnuq-BXwISml1.mjs → psl-field-resolution-DUCrDnuq-DSxPrd-4.mjs} +3 -3
  63. package/dist/{psl-field-resolution-DUCrDnuq-BXwISml1.mjs.map → psl-field-resolution-DUCrDnuq-DSxPrd-4.mjs.map} +1 -1
  64. package/dist/{psl-infer-BokOY1hK.mjs → psl-infer-fU7LRjTx.mjs} +2 -2
  65. package/dist/{psl-infer-BokOY1hK.mjs.map → psl-infer-fU7LRjTx.mjs.map} +1 -1
  66. package/dist/relational-core.mjs +1 -1
  67. package/dist/relational-core__ast.mjs +1 -1
  68. package/dist/relational-core__codec-descriptor-registry.mjs +1 -1
  69. package/dist/runtime.mjs +1 -1
  70. package/dist/schema-ir.mjs +1 -1
  71. package/dist/schema-ir__naming.mjs +1 -1
  72. package/dist/schema-ir__types.mjs +1 -1
  73. package/dist/{schema-verify-DIfHSB4I-BK55V2WO.mjs → schema-verify-DIfHSB4I-CjYnmUuD.mjs} +2 -2
  74. package/dist/{schema-verify-DIfHSB4I-BK55V2WO.mjs.map → schema-verify-DIfHSB4I-CjYnmUuD.mjs.map} +1 -1
  75. package/dist/{serialized-index-QAYy0fjm-BW4shnLC.mjs → serialized-index-QAYy0fjm-zxvK3RBa.mjs} +3 -3
  76. package/dist/{serialized-index-QAYy0fjm-BW4shnLC.mjs.map → serialized-index-QAYy0fjm-zxvK3RBa.mjs.map} +1 -1
  77. package/dist/{sql-contract-serializer-DDaAVCQr-D40NltYi.mjs → sql-contract-serializer-DDaAVCQr-CLDkZLXO.mjs} +4 -4
  78. package/dist/{sql-contract-serializer-DDaAVCQr-D40NltYi.mjs.map → sql-contract-serializer-DDaAVCQr-CLDkZLXO.mjs.map} +1 -1
  79. package/dist/{storage-table-CyL4CNMi-zOQ-vTUd.mjs → storage-table-CyL4CNMi-ByGZXmzd.mjs} +2 -2
  80. package/dist/{storage-table-CyL4CNMi-zOQ-vTUd.mjs.map → storage-table-CyL4CNMi-ByGZXmzd.mjs.map} +1 -1
  81. package/dist/{types-D_7dH1ie-CN5Dgmgh.mjs → types-Cz_bcUWN-CC3lFQOi.mjs} +3 -3
  82. package/dist/{types-D_7dH1ie-CN5Dgmgh.mjs.map → types-Cz_bcUWN-CC3lFQOi.mjs.map} +1 -1
  83. package/dist/{types-BlcZJEoC.mjs → types-DDHgx581.mjs} +2 -2
  84. package/dist/{types-BlcZJEoC.mjs.map → types-DDHgx581.mjs.map} +1 -1
  85. package/dist/{validators-Ddcw8nHL.mjs → validators-Xx-TKcx3.mjs} +3 -3
  86. package/dist/{validators-Ddcw8nHL.mjs.map → validators-Xx-TKcx3.mjs.map} +1 -1
  87. package/package.json +18 -18
  88. package/dist/authoring-type-constructors-dihiQslc-B5nYi7p2.mjs.map +0 -1
  89. package/dist/naming-BLraiRfc-DKPaCL0a.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dist-ljGeuCdK.mjs","names":[],"sources":["../../../../2-sql/3-tooling/emitter/dist/index.mjs"],"sourcesContent":["import { renderValueSetType, serializeNamespaceId, serializeObjectKey, serializeValue } from \"@internal/emitter/domain-type-generation\";\nimport { isSafeTypeExpression } from \"@internal/emitter/type-expression-safety\";\nimport { settleAggregateOverloads } from \"@internal/framework-components/components\";\nimport { UNBOUND_NAMESPACE_ID, entityAt } from \"@internal/framework-components/ir\";\nimport { resolvedTypeParams } from \"@internal/sql-contract/types\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { structuredError } from \"@internal/utils/structured-error\";\n//#region src/errors.ts\nfunction sqlEmitterError(code, message, options) {\n\treturn structuredError(code, message, options);\n}\nfunction sqlEmitterValidationError(message, meta) {\n\treturn sqlEmitterError(\"CONTRACT.VALIDATION_FAILED\", message, {\n\t\twhy: \"The contract given to the SQL emitter failed structural validation.\",\n\t\tfix: \"Regenerate the contract from its authoring source; do not hand-edit contract JSON.\",\n\t\tmeta\n\t});\n}\n//#endregion\n//#region src/index.ts\n/**\n* Render the aggregate result map from the overloads the stack contributes, settled against the codecs it contributes.\n*\n* Every emitted row is keyed by a contributed codec, whichever rung settled it. Trait fallbacks reach only the contributed codecs to begin with, and an exact overload naming an uncontributed codec is dropped here — settling keeps such a row, because naming a codec id is a claim that stands on its own and the runtime honours it for whatever ref reaches it, but a target may register codecs its adapter withholds, and an emitted type over one of those would advertise availability no contract can use.\n*\n* Only the two rungs that name a codec are materialized; the input-agnostic overload stays a single row, which a consumer reads when no per-codec row claims its input.\n*/\nfunction generateAggregateTypes(options) {\n\tconst descriptors = options?.aggregateDescriptors ?? [];\n\tconst codecs = options?.codecDescriptors ?? [];\n\tif (descriptors.length === 0) return \"Record<string, never>\";\n\tconst contributedIds = new Set(codecs.map((codec) => codec.codecId));\n\tconst settled = settleAggregateOverloads(descriptors, codecs);\n\tconst ambiguity = settled.ambiguities[0];\n\tif (ambiguity !== void 0) throw sqlEmitterError(\"CONTRACT.AGGREGATE_DESCRIPTOR_AMBIGUOUS\", `Aggregate '${ambiguity.operation}' has no single result type over codec '${ambiguity.codecId}': traits ${ambiguity.traits.join(\", \")} all claim it.`, {\n\t\twhy: \"Emitted result types must name one codec per aggregate and input.\",\n\t\tfix: `Contribute an exact descriptor for '${ambiguity.operation}' over '${ambiguity.codecId}', or narrow the overlapping trait contributions.`,\n\t\tmeta: {\n\t\t\toperation: ambiguity.operation,\n\t\t\tcodecId: ambiguity.codecId,\n\t\t\ttraits: ambiguity.traits\n\t\t}\n\t});\n\treturn `{ ${[...settled.operations].sort(([left], [right]) => left.localeCompare(right)).map(([operation, entry]) => {\n\t\tconst members = [`readonly byCodec: { ${[...entry.byCodecId].filter(([codecId]) => contributedIds.has(codecId)).sort(([left], [right]) => left.localeCompare(right)).map(([codecId, descriptor]) => {\n\t\t\treturn `readonly ${serializeObjectKey(codecId)}: ${renderAggregateResult(descriptor, codecId, contributedIds)}`;\n\t\t}).join(\"; \")} }`];\n\t\tconst withoutInput = entry.noInput ?? entry.anyInput;\n\t\tif (withoutInput !== void 0) members.push(`readonly withoutInput: ${renderAggregateResult(withoutInput, void 0, contributedIds)}`);\n\t\tif (entry.anyInput !== void 0) members.push(`readonly anyInput: ${renderAggregateResult(entry.anyInput, void 0, contributedIds)}`);\n\t\treturn `readonly ${serializeObjectKey(operation)}: { ${members.join(\"; \")} }`;\n\t}).join(\"; \")} }`;\n}\n/** One row of the map: the codec the result carries, and whether it can be null. A `self` result carries the codec of the input it was resolved for. */\nfunction renderAggregateResult(descriptor, inputCodecId, contributedIds) {\n\tconst output = descriptor.output.kind === \"self\" ? inputCodecId : descriptor.output.codecId;\n\tif (output === void 0) throw sqlEmitterError(\"CONTRACT.AGGREGATE_DESCRIPTOR_AMBIGUOUS\", `Aggregate '${descriptor.operation}' declares its own input's codec as its result but answers calls that carry no input.`, {\n\t\twhy: \"A result that reuses its input needs an input to reuse.\",\n\t\tfix: \"Name the result codec on the descriptor.\",\n\t\tmeta: { operation: descriptor.operation }\n\t});\n\tif (!contributedIds.has(output)) throw sqlEmitterError(\"CONTRACT.AGGREGATE_OUTPUT_CODEC_MISSING\", `Aggregate '${descriptor.operation}' names result codec '${output}', which the stack does not contribute.`, {\n\t\twhy: \"An emitted result type names a codec in the contract codec map; a codec the stack does not contribute has no emitted type to name.\",\n\t\tfix: \"Contribute the codec, or declare a result codec the stack contributes.\",\n\t\tmeta: {\n\t\t\toperation: descriptor.operation,\n\t\t\toutputCodecId: output\n\t\t}\n\t});\n\treturn `{ readonly output: ${serializeValue(output)}; readonly nullable: ${descriptor.nullable} }`;\n}\nfunction serializeTypeParamsLiteral(params) {\n\tif (!params || Object.keys(params).length === 0) return \"Record<string, never>\";\n\tconst entries = [];\n\tfor (const [key, value] of Object.entries(params)) entries.push(`readonly ${serializeObjectKey(key)}: ${serializeValue(value)}`);\n\treturn `{ ${entries.join(\"; \")} }`;\n}\nconst sqlEmission = {\n\tid: \"sql\",\n\tvalidateTypes(contract, _ctx) {\n\t\tconst storage = contract.storage;\n\t\tif (!storage?.namespaces) return;\n\t\tconst typeIdRegex = /^([^/]+)\\/([^@]+)@(\\d+)$/;\n\t\tfor (const ns of Object.values(storage.namespaces)) for (const [tableName, table] of Object.entries(ns.entries.table ?? {})) for (const [colName, colUnknown] of Object.entries(table.columns)) {\n\t\t\tconst codecId = colUnknown.codecId;\n\t\t\tif (!codecId) throw sqlEmitterValidationError(`Column \"${colName}\" in table \"${tableName}\" is missing codecId`, {\n\t\t\t\ttable: tableName,\n\t\t\t\tcolumn: colName\n\t\t\t});\n\t\t\tif (!codecId.match(typeIdRegex)?.[1]) throw sqlEmitterValidationError(`Column \"${colName}\" in table \"${tableName}\" has invalid codec ID format \"${codecId}\". Expected format: ns/name@version`, {\n\t\t\t\ttable: tableName,\n\t\t\t\tcolumn: colName,\n\t\t\t\tcodecId\n\t\t\t});\n\t\t}\n\t},\n\tvalidateStructure(contract) {\n\t\tif (contract.targetFamily !== \"sql\") throw sqlEmitterValidationError(`Expected targetFamily \"sql\", got \"${contract.targetFamily}\"`, { targetFamily: contract.targetFamily });\n\t\tconst storage = contract.storage;\n\t\tif (!storage?.namespaces) throw sqlEmitterValidationError(\"SQL contract must have storage.namespaces\", {});\n\t\tconst tableNamesSeenAcrossNamespaces = /* @__PURE__ */ new Map();\n\t\tfor (const [nsId, ns] of Object.entries(storage.namespaces)) for (const tableName of Object.keys(ns.entries.table ?? {})) {\n\t\t\tconst existingNs = tableNamesSeenAcrossNamespaces.get(tableName);\n\t\t\tif (existingNs !== void 0 && existingNs !== nsId) throw sqlEmitterError(\"CONTRACT.NAME_DUPLICATE\", `Duplicate table name \"${tableName}\" in namespaces \"${existingNs}\" and \"${nsId}\"`, {\n\t\t\t\twhy: \"Two SQL namespaces declare a table with the same name, which is ambiguous for emission.\",\n\t\t\t\tfix: \"Rename one of the tables so every table name is unique across namespaces.\",\n\t\t\t\tmeta: {\n\t\t\t\t\ttable: tableName,\n\t\t\t\t\tnamespaces: [existingNs, nsId]\n\t\t\t\t}\n\t\t\t});\n\t\t\ttableNamesSeenAcrossNamespaces.set(tableName, nsId);\n\t\t}\n\t\tconst tableNames = /* @__PURE__ */ new Set();\n\t\tfor (const ns of Object.values(storage.namespaces)) for (const t of Object.keys(ns.entries.table ?? {})) tableNames.add(t);\n\t\tfor (const [namespaceId, domainNs] of Object.entries(contract.domain.namespaces)) {\n\t\t\tconst models = domainNs.models;\n\t\t\tfor (const [modelName, model] of Object.entries(models)) {\n\t\t\t\tconst qualifiedName = `${namespaceId}:${modelName}`;\n\t\t\t\tif (!model.storage?.table) throw sqlEmitterValidationError(`Model \"${qualifiedName}\" is missing storage.table`, { model: qualifiedName });\n\t\t\t\tif (!model.storage.namespaceId) throw sqlEmitterValidationError(`Model \"${qualifiedName}\" is missing storage.namespaceId`, { model: qualifiedName });\n\t\t\t\tif (model.storage.namespaceId !== namespaceId) throw sqlEmitterValidationError(`Model \"${qualifiedName}\" storage.namespaceId \"${model.storage.namespaceId}\" does not match domain namespace \"${namespaceId}\"`, {\n\t\t\t\t\tmodel: qualifiedName,\n\t\t\t\t\tstorageNamespaceId: model.storage.namespaceId,\n\t\t\t\t\tdomainNamespaceId: namespaceId\n\t\t\t\t});\n\t\t\t\tconst tableName = model.storage.table;\n\t\t\t\tconst table = entityAt(storage, {\n\t\t\t\t\tnamespaceId,\n\t\t\t\t\tentityKind: \"table\",\n\t\t\t\t\tentityName: tableName\n\t\t\t\t});\n\t\t\t\tif (!table) throw sqlEmitterValidationError(`Model \"${qualifiedName}\" references non-existent table \"${namespaceId}.${tableName}\"`, {\n\t\t\t\t\tmodel: qualifiedName,\n\t\t\t\t\ttable: `${namespaceId}.${tableName}`\n\t\t\t\t});\n\t\t\t\tconst columnNames = new Set(Object.keys(table.columns));\n\t\t\t\tconst storageFields = model.storage.fields;\n\t\t\t\tif (!storageFields || Object.keys(storageFields).length === 0) throw sqlEmitterValidationError(`Model \"${qualifiedName}\" is missing storage.fields`, { model: qualifiedName });\n\t\t\t\tfor (const [fieldName, field] of Object.entries(storageFields)) {\n\t\t\t\t\tif (!field.column) throw sqlEmitterValidationError(`Model \"${qualifiedName}\" field \"${fieldName}\" is missing column property`, {\n\t\t\t\t\t\tmodel: qualifiedName,\n\t\t\t\t\t\tfield: fieldName\n\t\t\t\t\t});\n\t\t\t\t\tif (!columnNames.has(field.column)) throw sqlEmitterValidationError(`Model \"${qualifiedName}\" field \"${fieldName}\" references non-existent column \"${field.column}\" in table \"${tableName}\"`, {\n\t\t\t\t\t\tmodel: qualifiedName,\n\t\t\t\t\t\tfield: fieldName,\n\t\t\t\t\t\tcolumn: field.column,\n\t\t\t\t\t\ttable: tableName\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (!model.relations || typeof model.relations !== \"object\") throw sqlEmitterValidationError(`Model \"${qualifiedName}\" is missing required field \"relations\" (must be an object)`, { model: qualifiedName });\n\t\t\t}\n\t\t}\n\t\tfor (const ns of Object.values(storage.namespaces)) for (const [tableName, table] of Object.entries(ns.entries.table ?? {})) {\n\t\t\tconst columnNames = new Set(Object.keys(table.columns));\n\t\t\tif (!Array.isArray(table.uniques)) throw sqlEmitterValidationError(`Table \"${tableName}\" is missing required field \"uniques\" (must be an array)`, { table: tableName });\n\t\t\tif (!Array.isArray(table.indexes)) throw sqlEmitterValidationError(`Table \"${tableName}\" is missing required field \"indexes\" (must be an array)`, { table: tableName });\n\t\t\tif (!Array.isArray(table.foreignKeys)) throw sqlEmitterValidationError(`Table \"${tableName}\" is missing required field \"foreignKeys\" (must be an array)`, { table: tableName });\n\t\t\tif (table.primaryKey) {\n\t\t\t\tfor (const colName of table.primaryKey.columns) if (!columnNames.has(colName)) throw sqlEmitterValidationError(`Table \"${tableName}\" primaryKey references non-existent column \"${colName}\"`, {\n\t\t\t\t\ttable: tableName,\n\t\t\t\t\tcolumn: colName\n\t\t\t\t});\n\t\t\t}\n\t\t\tfor (const unique of table.uniques) for (const colName of unique.columns) if (!columnNames.has(colName)) throw sqlEmitterValidationError(`Table \"${tableName}\" unique constraint references non-existent column \"${colName}\"`, {\n\t\t\t\ttable: tableName,\n\t\t\t\tcolumn: colName\n\t\t\t});\n\t\t\tfor (const index of table.indexes) for (const colName of index.columns) if (!columnNames.has(colName)) throw sqlEmitterValidationError(`Table \"${tableName}\" index references non-existent column \"${colName}\"`, {\n\t\t\t\ttable: tableName,\n\t\t\t\tcolumn: colName\n\t\t\t});\n\t\t\tfor (const fk of table.foreignKeys) {\n\t\t\t\tfor (const colName of fk.source.columns) if (!columnNames.has(colName)) throw sqlEmitterValidationError(`Table \"${tableName}\" foreignKey references non-existent column \"${colName}\"`, {\n\t\t\t\t\ttable: tableName,\n\t\t\t\t\tcolumn: colName\n\t\t\t\t});\n\t\t\t\tconst referencedTable = entityAt(storage, {\n\t\t\t\t\tnamespaceId: fk.target.namespaceId,\n\t\t\t\t\tentityKind: \"table\",\n\t\t\t\t\tentityName: fk.target.tableName\n\t\t\t\t});\n\t\t\t\tif (!referencedTable) throw sqlEmitterValidationError(`Table \"${tableName}\" foreignKey references non-existent table \"${fk.target.tableName}\" in namespace \"${fk.target.namespaceId}\"`, {\n\t\t\t\t\ttable: tableName,\n\t\t\t\t\ttargetTable: fk.target.tableName,\n\t\t\t\t\ttargetNamespace: fk.target.namespaceId\n\t\t\t\t});\n\t\t\t\tconst referencedColumnNames = new Set(Object.keys(referencedTable.columns));\n\t\t\t\tfor (const colName of fk.target.columns) if (!referencedColumnNames.has(colName)) throw sqlEmitterValidationError(`Table \"${tableName}\" foreignKey references non-existent column \"${colName}\" in table \"${fk.target.tableName}\"`, {\n\t\t\t\t\ttable: tableName,\n\t\t\t\t\tcolumn: colName,\n\t\t\t\t\ttargetTable: fk.target.tableName\n\t\t\t\t});\n\t\t\t\tif (fk.source.columns.length !== fk.target.columns.length) throw sqlEmitterValidationError(`Table \"${tableName}\" foreignKey column count (${fk.source.columns.length}) does not match referenced column count (${fk.target.columns.length})`, {\n\t\t\t\t\ttable: tableName,\n\t\t\t\t\tsourceColumnCount: fk.source.columns.length,\n\t\t\t\t\ttargetColumnCount: fk.target.columns.length\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\tgenerateStorageType(contract, storageHashTypeName) {\n\t\tconst storage = contract.storage;\n\t\tconst namespacesType = generateStorageNamespacesType(storage.namespaces);\n\t\tconst docTypes = generateDocumentScopedStorageTypesType(storage.types);\n\t\treturn `{ readonly namespaces: ${namespacesType}${docTypes === void 0 ? \"\" : `; readonly types: ${docTypes}`}; readonly storageHash: ${storageHashTypeName} }`;\n\t},\n\tgenerateModelStorageType(_modelName, model) {\n\t\tconst sqlModel = model;\n\t\tconst tableName = sqlModel.storage.table;\n\t\tconst storageFields = sqlModel.storage.fields;\n\t\tconst storageParts = [`readonly table: ${serializeValue(tableName)}`, `readonly namespaceId: ${serializeValue(sqlModel.storage.namespaceId)}`];\n\t\tif (Object.keys(storageFields).length > 0) {\n\t\t\tconst fieldParts = [];\n\t\t\tfor (const [fieldName, field] of Object.entries(storageFields)) fieldParts.push(`readonly ${serializeObjectKey(fieldName)}: { readonly column: ${serializeValue(field.column)} }`);\n\t\t\tstorageParts.push(`readonly fields: { ${fieldParts.join(\"; \")} }`);\n\t\t}\n\t\treturn `{ ${storageParts.join(\"; \")} }`;\n\t},\n\tresolveFieldValueSet(_modelName, fieldName, model, contract) {\n\t\tconst sqlModel = blindCast(model);\n\t\tconst storageField = sqlModel.storage?.fields?.[fieldName];\n\t\tif (!storageField) return void 0;\n\t\tconst storage = blindCast(contract.storage);\n\t\tif (!storage) return void 0;\n\t\tconst storageNamespaceId = sqlModel.storage.namespaceId;\n\t\tif (!storageNamespaceId) return void 0;\n\t\tconst column = entityAt(storage, {\n\t\t\tnamespaceId: storageNamespaceId,\n\t\t\tentityKind: \"table\",\n\t\t\tentityName: sqlModel.storage.table\n\t\t})?.columns[storageField.column];\n\t\tif (!column?.valueSet) return void 0;\n\t\tconst valueSet = entityAt(storage, {\n\t\t\tnamespaceId: column.valueSet.namespaceId,\n\t\t\tentityKind: column.valueSet.entityKind,\n\t\t\tentityName: column.valueSet.entityName\n\t\t});\n\t\tif (!valueSet) return void 0;\n\t\treturn {\n\t\t\tencodedValues: valueSet.values,\n\t\t\tcodecId: column.codecId\n\t\t};\n\t},\n\tgetStorageTypeExports(contract, codecLookup) {\n\t\tconst storage = blindCast(contract.storage);\n\t\tif (!storage?.namespaces) return void 0;\n\t\tconst outputMap = generateStorageColumnTypesMap(storage, \"output\", codecLookup);\n\t\tconst inputMap = generateStorageColumnTypesMap(storage, \"input\", codecLookup);\n\t\treturn [`export type StorageColumnTypes = ${outputMap};`, `export type StorageColumnInputTypes = ${inputMap};`].join(\"\\n\");\n\t},\n\tgetFamilyImports(resolveImportSpecifier) {\n\t\treturn [\n\t\t\t\"import type {\",\n\t\t\t\" ContractWithTypeMaps,\",\n\t\t\t\" RelationKeys,\",\n\t\t\t\" TypeMaps as TypeMapsType,\",\n\t\t\t`} from '${resolveImportSpecifier(\"@internal/sql-contract/types\")}';`\n\t\t];\n\t},\n\tgetFamilyTypeAliases(options) {\n\t\tconst queryOperationAliases = (options?.queryOperationTypeImports ?? []).filter((imp) => imp.named === \"QueryOperationTypes\").map((imp) => `${imp.alias}<CodecTypes>`);\n\t\treturn [\n\t\t\t\"export type LaneCodecTypes = CodecTypes;\",\n\t\t\t`export type QueryOperationTypes = ${queryOperationAliases.length > 0 ? queryOperationAliases.join(\" & \") : \"Record<string, never>\"};`,\n\t\t\t`export type AggregateTypes = ${generateAggregateTypes(options)};`,\n\t\t\t\"type DefaultLiteralValue<CodecId extends string, Encoded> =\",\n\t\t\t\" CodecId extends keyof CodecTypes\",\n\t\t\t\" ? Encoded extends CodecTypes[CodecId][\\\"json\\\"]\",\n\t\t\t\" ? Encoded\",\n\t\t\t\" : CodecTypes[CodecId][\\\"json\\\"]\",\n\t\t\t\" : Encoded;\"\n\t\t].join(\"\\n\");\n\t},\n\tgetTypeMapsExpression() {\n\t\treturn \"TypeMapsType<CodecTypes, QueryOperationTypes, FieldOutputTypes, FieldInputTypes, StorageColumnTypes, StorageColumnInputTypes, AggregateTypes>\";\n\t},\n\tgetContractWrapper(contractBaseName, typeMapsName) {\n\t\treturn [\n\t\t\t`export type Contract = ContractWithTypeMaps<${contractBaseName}, ${typeMapsName}>;`,\n\t\t\t\"\",\n\t\t\t\"export type Namespaces = Contract['storage']['namespaces'];\"\n\t\t].join(\"\\n\");\n\t}\n};\nfunction renderRefinedCodecType(column, side, params, codecLookup) {\n\tif (codecLookup && params) {\n\t\tconst rendered = side === \"output\" ? codecLookup.renderOutputTypeFor(column.codecId, params) : codecLookup.renderInputTypeFor?.(column.codecId, params);\n\t\tif (rendered && isSafeTypeExpression(rendered)) return rendered;\n\t}\n\treturn `CodecTypes[${serializeValue(column.codecId)}][${serializeValue(side)}]`;\n}\nfunction computeColumnType(storage, column, side, codecLookup) {\n\tlet base;\n\tif (column.valueSet) {\n\t\tconst valueSet = entityAt(storage, {\n\t\t\tnamespaceId: column.valueSet.namespaceId,\n\t\t\tentityKind: column.valueSet.entityKind,\n\t\t\tentityName: column.valueSet.entityName\n\t\t});\n\t\tbase = valueSet ? renderValueSetType(valueSet.values, column.codecId, side, codecLookup) : void 0;\n\t}\n\tif (base === void 0) base = renderRefinedCodecType(column, side, resolvedTypeParams(column, storage.types), codecLookup);\n\tif (column.many !== false) base = `ReadonlyArray<${column.many.elementNullable ? `${base} | null` : base}>`;\n\treturn column.nullable ? `${base} | null` : base;\n}\nfunction generateStorageColumnTypesMap(storage, side, codecLookup) {\n\tconst namespaceEntries = Object.entries(storage.namespaces ?? {}).sort(([a], [b]) => a.localeCompare(b));\n\tif (namespaceEntries.length === 0) return \"Record<string, never>\";\n\tconst nsParts = [];\n\tfor (const [nsId, ns] of namespaceEntries) {\n\t\tconst tables = blindCast(ns.entries.table ?? {});\n\t\tconst tableEntries = Object.entries(tables).sort(([a], [b]) => a.localeCompare(b));\n\t\tconst tableParts = [];\n\t\tfor (const [tableName, table] of tableEntries) {\n\t\t\tconst colEntries = Object.entries(table.columns).sort(([a], [b]) => a.localeCompare(b));\n\t\t\tconst colParts = [];\n\t\t\tfor (const [colName, col] of colEntries) {\n\t\t\t\tconst colType = computeColumnType(storage, col, side, codecLookup);\n\t\t\t\tcolParts.push(`readonly ${serializeObjectKey(colName)}: ${colType}`);\n\t\t\t}\n\t\t\tconst colMap = colParts.length > 0 ? `{ ${colParts.join(\"; \")} }` : \"{}\";\n\t\t\ttableParts.push(`readonly ${serializeObjectKey(tableName)}: ${colMap}`);\n\t\t}\n\t\tconst tableMap = tableParts.length > 0 ? `{ ${tableParts.join(\"; \")} }` : \"{}\";\n\t\tnsParts.push(`readonly ${serializeObjectKey(nsId)}: ${tableMap}`);\n\t}\n\treturn `{ ${nsParts.join(\"; \")} }`;\n}\nfunction generateDocumentScopedStorageTypesType(types) {\n\tif (!types || Object.keys(types).length === 0) return;\n\tconst typeEntries = [];\n\tfor (const [typeName, typeInstance] of Object.entries(types)) {\n\t\tconst codecInstanceShape = typeInstance;\n\t\tif (typeof codecInstanceShape.codecId !== \"string\" || typeof codecInstanceShape.dataType !== \"string\") throw sqlEmitterError(\"CONTRACT.TYPE_UNKNOWN\", `Unknown storage type kind for \"${typeName}\" in document-scoped storage.types; expected a codec-instance triple.`, {\n\t\t\twhy: \"A storage.types entry is not a codec-instance triple, so its column type cannot be emitted.\",\n\t\t\tfix: \"Regenerate the contract from its authoring source; storage.types entries must carry codecId and dataType.\",\n\t\t\tmeta: { type: typeName }\n\t\t});\n\t\tconst codecId = serializeValue(codecInstanceShape.codecId);\n\t\tconst dataType = serializeValue(codecInstanceShape.dataType);\n\t\tconst typeParamsStr = serializeTypeParamsLiteral(codecInstanceShape.typeParams);\n\t\ttypeEntries.push(`readonly ${serializeObjectKey(typeName)}: { readonly kind: \"codec-instance\"; readonly codecId: ${codecId}; readonly dataType: ${dataType}; readonly typeParams: ${typeParamsStr} }`);\n\t}\n\treturn `{ ${typeEntries.join(\"; \")} }`;\n}\n/**\n* Literalizes the `valueSet` entries slot — a core SQL entity kind (alongside\n* `table`), not a pack-contributed one, so naming it here isn't a\n* family→target layering leak. This is the only non-`table` entries slot with\n* a type-level consumer (`db.nativeEnums`, `packages/3-extensions/postgres`):\n* pack-contributed slots (`role`, `policy`, `native_enum`, …) have none and\n* are not emitted.\n*/\nfunction generateValueSetBlockType(valueSets) {\n\treturn `{ ${Object.entries(valueSets).sort(([a], [b]) => a.localeCompare(b)).map(([name, valueSet]) => `readonly ${serializeObjectKey(name)}: ${serializeValue(valueSet)}`).join(\"; \")} }`;\n}\nfunction namespaceSerializedKind(ns) {\n\tconst kind = ns.kind;\n\tif (kind === \"schema\") return `readonly kind: \"${ns.id === UNBOUND_NAMESPACE_ID ? \"postgres-unbound-schema\" : \"postgres-schema\"}\"`;\n\tif (typeof kind === \"string\") return `readonly kind: ${serializeValue(kind)}`;\n\tthrow sqlEmitterError(\"CONTRACT.NAMESPACE_INVALID\", `Namespace '${ns.id}' has no string kind — all namespaces must be target concretions with a defined kind property.`, {\n\t\twhy: \"The namespace is not a target concretion, so the emitter cannot serialize its kind.\",\n\t\tfix: \"Regenerate the contract with a target pack that materializes every namespace as a target concretion.\",\n\t\tmeta: { namespace: ns.id }\n\t});\n}\nfunction generateTableLiteralType(table) {\n\tconst columns = [];\n\tfor (const [colName, col] of Object.entries(table.columns)) {\n\t\tconst nullable = col.nullable ? \"true\" : \"false\";\n\t\tconst dataType = serializeValue(col.dataType);\n\t\tconst codecId = serializeValue(col.codecId);\n\t\tconst defaultSpec = col.default ? col.default.kind === \"literal\" ? `; readonly default: { readonly kind: \"literal\"; readonly value: DefaultLiteralValue<${codecId}, ${serializeValue(col.default.value)}> }` : `; readonly default: { readonly kind: \"function\"; readonly expression: ${serializeValue(col.default.expression)} }` : \"\";\n\t\tconst typeParamsSpec = col.typeParams && Object.keys(col.typeParams).length > 0 ? `; readonly typeParams: ${serializeTypeParamsLiteral(col.typeParams)}` : \"\";\n\t\tconst typeRefSpec = col.typeRef ? `; readonly typeRef: ${serializeValue(col.typeRef)}` : \"\";\n\t\tconst manySpec = col.many === false ? \"; readonly many: false\" : `; readonly many: { readonly elementNullable: ${col.many.elementNullable} }`;\n\t\tcolumns.push(`readonly ${serializeObjectKey(colName)}: { readonly dataType: ${dataType}; readonly codecId: ${codecId}; readonly nullable: ${nullable}${defaultSpec}${typeParamsSpec}${typeRefSpec}${manySpec} }`);\n\t}\n\tconst tableParts = [`columns: { ${columns.join(\"; \")} }`];\n\tif (table.primaryKey) {\n\t\tconst pkParts = [`readonly columns: readonly [${table.primaryKey.columns.map((c) => serializeValue(c)).join(\", \")}]`];\n\t\tif (table.primaryKey.name) pkParts.push(`readonly name: ${serializeValue(table.primaryKey.name)}`);\n\t\ttableParts.push(`primaryKey: { ${pkParts.join(\"; \")} }`);\n\t}\n\tconst uniques = table.uniques.map((u) => {\n\t\tconst parts = [`readonly columns: readonly [${u.columns.map((c) => serializeValue(c)).join(\", \")}]`];\n\t\tif (u.name) parts.push(`readonly name: ${serializeValue(u.name)}`);\n\t\treturn `{ ${parts.join(\"; \")} }`;\n\t}).join(\", \");\n\ttableParts.push(`uniques: readonly [${uniques}]`);\n\tconst indexes = table.indexes.map((i) => {\n\t\tconst parts = [`readonly name: ${serializeValue(i.name)}`];\n\t\tif (i.prefix !== void 0) parts.push(`readonly prefix: ${serializeValue(i.prefix)}`);\n\t\tif (i.columns !== void 0) parts.push(`readonly columns: readonly [${i.columns.map((c) => serializeValue(c)).join(\", \")}]`);\n\t\tif (i.expression !== void 0) parts.push(`readonly expression: ${serializeValue(i.expression)}`);\n\t\tif (i.where !== void 0) parts.push(`readonly where: ${serializeValue(i.where)}`);\n\t\tparts.push(`readonly unique: ${i.unique}`);\n\t\tif (i.type !== void 0) parts.push(`readonly type: ${serializeValue(i.type)}`);\n\t\tif (i.options !== void 0) parts.push(`readonly options: ${serializeValue(i.options)}`);\n\t\treturn `{ ${parts.join(\"; \")} }`;\n\t}).join(\", \");\n\ttableParts.push(`indexes: readonly [${indexes}]`);\n\tconst fks = table.foreignKeys.map((fk) => {\n\t\tconst srcCols = fk.source.columns.map((c) => serializeValue(c)).join(\", \");\n\t\tconst tgtCols = fk.target.columns.map((c) => serializeValue(c)).join(\", \");\n\t\tconst srcRef = `{ readonly namespaceId: ${serializeNamespaceId(String(fk.source.namespaceId))}; readonly tableName: ${serializeValue(fk.source.tableName)}; readonly columns: readonly [${srcCols}] }`;\n\t\tconst tgtRef = `{ readonly namespaceId: ${serializeNamespaceId(String(fk.target.namespaceId))}; readonly tableName: ${serializeValue(fk.target.tableName)}; readonly columns: readonly [${tgtCols}] }`;\n\t\tconst parts = [`readonly source: ${srcRef}`, `readonly target: ${tgtRef}`];\n\t\tif (fk.name) parts.push(`readonly name: ${serializeValue(fk.name)}`);\n\t\treturn `{ ${parts.join(\"; \")} }`;\n\t}).join(\", \");\n\ttableParts.push(`foreignKeys: readonly [${fks}]`);\n\treturn `{ ${tableParts.join(\"; \")} }`;\n}\nfunction generateTablesMapType(tables) {\n\tconst tableEntries = [];\n\tfor (const [tableName, table] of Object.entries(tables).sort(([a], [b]) => a.localeCompare(b))) tableEntries.push(`readonly ${serializeObjectKey(tableName)}: ${generateTableLiteralType(table)}`);\n\tif (tableEntries.length === 0) return \"{}\";\n\treturn `{ ${tableEntries.join(\"; \")} }`;\n}\nfunction generateStorageNamespacesType(namespaces) {\n\tconst entries = Object.entries(namespaces ?? {}).sort(([a], [b]) => a.localeCompare(b));\n\tif (entries.length === 0) return \"Record<string, never>\";\n\tconst parts = [];\n\tfor (const [name, ns] of entries) {\n\t\tconst kindSuffix = `; ${namespaceSerializedKind(ns)}`;\n\t\tconst entriesParts = [`readonly table: ${generateTablesMapType(ns.entries.table ?? {})}`];\n\t\tconst valueSetEntries = ns.entries.valueSet;\n\t\tif (valueSetEntries !== void 0 && Object.keys(valueSetEntries).length > 0) entriesParts.push(`readonly valueSet: ${generateValueSetBlockType(valueSetEntries)}`);\n\t\tconst entriesType = `{ ${entriesParts.join(\"; \")} }`;\n\t\tparts.push(`readonly ${serializeObjectKey(name)}: { readonly id: ${serializeValue(ns.id)}${kindSuffix}; readonly entries: ${entriesType} }`);\n\t}\n\treturn `{ ${parts.join(\"; \")} }`;\n}\n//#endregion\nexport { sqlEmission };\n\n//# sourceMappingURL=index.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"dist-7hmkNQGd.mjs","names":[],"sources":["../../../../2-sql/3-tooling/emitter/dist/index.mjs"],"sourcesContent":["import { renderValueSetType, serializeNamespaceId, serializeObjectKey, serializeValue } from \"@internal/emitter/domain-type-generation\";\nimport { isSafeTypeExpression } from \"@internal/emitter/type-expression-safety\";\nimport { settleAggregateOverloads } from \"@internal/framework-components/components\";\nimport { UNBOUND_NAMESPACE_ID, entityAt } from \"@internal/framework-components/ir\";\nimport { resolvedTypeParams } from \"@internal/sql-contract/types\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { structuredError } from \"@internal/utils/structured-error\";\n//#region src/errors.ts\nfunction sqlEmitterError(code, message, options) {\n\treturn structuredError(code, message, options);\n}\nfunction sqlEmitterValidationError(message, meta) {\n\treturn sqlEmitterError(\"CONTRACT.VALIDATION_FAILED\", message, {\n\t\twhy: \"The contract given to the SQL emitter failed structural validation.\",\n\t\tfix: \"Regenerate the contract from its authoring source; do not hand-edit contract JSON.\",\n\t\tmeta\n\t});\n}\n//#endregion\n//#region src/index.ts\n/**\n* Render the aggregate result map from the overloads the stack contributes, settled against the codecs it contributes.\n*\n* Every emitted row is keyed by a contributed codec, whichever rung settled it. Trait fallbacks reach only the contributed codecs to begin with, and an exact overload naming an uncontributed codec is dropped here — settling keeps such a row, because naming a codec id is a claim that stands on its own and the runtime honours it for whatever ref reaches it, but a target may register codecs its adapter withholds, and an emitted type over one of those would advertise availability no contract can use.\n*\n* Only the two rungs that name a codec are materialized; the input-agnostic overload stays a single row, which a consumer reads when no per-codec row claims its input.\n*/\nfunction generateAggregateTypes(options) {\n\tconst descriptors = options?.aggregateDescriptors ?? [];\n\tconst codecs = options?.codecDescriptors ?? [];\n\tif (descriptors.length === 0) return \"Record<string, never>\";\n\tconst contributedIds = new Set(codecs.map((codec) => codec.codecId));\n\tconst settled = settleAggregateOverloads(descriptors, codecs);\n\tconst ambiguity = settled.ambiguities[0];\n\tif (ambiguity !== void 0) throw sqlEmitterError(\"CONTRACT.AGGREGATE_DESCRIPTOR_AMBIGUOUS\", `Aggregate '${ambiguity.operation}' has no single result type over codec '${ambiguity.codecId}': traits ${ambiguity.traits.join(\", \")} all claim it.`, {\n\t\twhy: \"Emitted result types must name one codec per aggregate and input.\",\n\t\tfix: `Contribute an exact descriptor for '${ambiguity.operation}' over '${ambiguity.codecId}', or narrow the overlapping trait contributions.`,\n\t\tmeta: {\n\t\t\toperation: ambiguity.operation,\n\t\t\tcodecId: ambiguity.codecId,\n\t\t\ttraits: ambiguity.traits\n\t\t}\n\t});\n\treturn `{ ${[...settled.operations].sort(([left], [right]) => left.localeCompare(right)).map(([operation, entry]) => {\n\t\tconst members = [`readonly byCodec: { ${[...entry.byCodecId].filter(([codecId]) => contributedIds.has(codecId)).sort(([left], [right]) => left.localeCompare(right)).map(([codecId, descriptor]) => {\n\t\t\treturn `readonly ${serializeObjectKey(codecId)}: ${renderAggregateResult(descriptor, codecId, contributedIds)}`;\n\t\t}).join(\"; \")} }`];\n\t\tconst withoutInput = entry.noInput ?? entry.anyInput;\n\t\tif (withoutInput !== void 0) members.push(`readonly withoutInput: ${renderAggregateResult(withoutInput, void 0, contributedIds)}`);\n\t\tif (entry.anyInput !== void 0) members.push(`readonly anyInput: ${renderAggregateResult(entry.anyInput, void 0, contributedIds)}`);\n\t\treturn `readonly ${serializeObjectKey(operation)}: { ${members.join(\"; \")} }`;\n\t}).join(\"; \")} }`;\n}\n/** One row of the map: the codec the result carries, and whether it can be null. A `self` result carries the codec of the input it was resolved for. */\nfunction renderAggregateResult(descriptor, inputCodecId, contributedIds) {\n\tconst output = descriptor.output.kind === \"self\" ? inputCodecId : descriptor.output.codecId;\n\tif (output === void 0) throw sqlEmitterError(\"CONTRACT.AGGREGATE_DESCRIPTOR_AMBIGUOUS\", `Aggregate '${descriptor.operation}' declares its own input's codec as its result but answers calls that carry no input.`, {\n\t\twhy: \"A result that reuses its input needs an input to reuse.\",\n\t\tfix: \"Name the result codec on the descriptor.\",\n\t\tmeta: { operation: descriptor.operation }\n\t});\n\tif (!contributedIds.has(output)) throw sqlEmitterError(\"CONTRACT.AGGREGATE_OUTPUT_CODEC_MISSING\", `Aggregate '${descriptor.operation}' names result codec '${output}', which the stack does not contribute.`, {\n\t\twhy: \"An emitted result type names a codec in the contract codec map; a codec the stack does not contribute has no emitted type to name.\",\n\t\tfix: \"Contribute the codec, or declare a result codec the stack contributes.\",\n\t\tmeta: {\n\t\t\toperation: descriptor.operation,\n\t\t\toutputCodecId: output\n\t\t}\n\t});\n\treturn `{ readonly output: ${serializeValue(output)}; readonly nullable: ${descriptor.nullable} }`;\n}\nfunction serializeTypeParamsLiteral(params) {\n\tif (!params || Object.keys(params).length === 0) return \"Record<string, never>\";\n\tconst entries = [];\n\tfor (const [key, value] of Object.entries(params)) entries.push(`readonly ${serializeObjectKey(key)}: ${serializeValue(value)}`);\n\treturn `{ ${entries.join(\"; \")} }`;\n}\nconst sqlEmission = {\n\tid: \"sql\",\n\tvalidateTypes(contract, _ctx) {\n\t\tconst storage = contract.storage;\n\t\tif (!storage?.namespaces) return;\n\t\tconst typeIdRegex = /^([^/]+)\\/([^@]+)@(\\d+)$/;\n\t\tfor (const ns of Object.values(storage.namespaces)) for (const [tableName, table] of Object.entries(ns.entries.table ?? {})) for (const [colName, colUnknown] of Object.entries(table.columns)) {\n\t\t\tconst codecId = colUnknown.codecId;\n\t\t\tif (!codecId) throw sqlEmitterValidationError(`Column \"${colName}\" in table \"${tableName}\" is missing codecId`, {\n\t\t\t\ttable: tableName,\n\t\t\t\tcolumn: colName\n\t\t\t});\n\t\t\tif (!codecId.match(typeIdRegex)?.[1]) throw sqlEmitterValidationError(`Column \"${colName}\" in table \"${tableName}\" has invalid codec ID format \"${codecId}\". Expected format: ns/name@version`, {\n\t\t\t\ttable: tableName,\n\t\t\t\tcolumn: colName,\n\t\t\t\tcodecId\n\t\t\t});\n\t\t}\n\t},\n\tvalidateStructure(contract) {\n\t\tif (contract.targetFamily !== \"sql\") throw sqlEmitterValidationError(`Expected targetFamily \"sql\", got \"${contract.targetFamily}\"`, { targetFamily: contract.targetFamily });\n\t\tconst storage = contract.storage;\n\t\tif (!storage?.namespaces) throw sqlEmitterValidationError(\"SQL contract must have storage.namespaces\", {});\n\t\tconst tableNamesSeenAcrossNamespaces = /* @__PURE__ */ new Map();\n\t\tfor (const [nsId, ns] of Object.entries(storage.namespaces)) for (const tableName of Object.keys(ns.entries.table ?? {})) {\n\t\t\tconst existingNs = tableNamesSeenAcrossNamespaces.get(tableName);\n\t\t\tif (existingNs !== void 0 && existingNs !== nsId) throw sqlEmitterError(\"CONTRACT.NAME_DUPLICATE\", `Duplicate table name \"${tableName}\" in namespaces \"${existingNs}\" and \"${nsId}\"`, {\n\t\t\t\twhy: \"Two SQL namespaces declare a table with the same name, which is ambiguous for emission.\",\n\t\t\t\tfix: \"Rename one of the tables so every table name is unique across namespaces.\",\n\t\t\t\tmeta: {\n\t\t\t\t\ttable: tableName,\n\t\t\t\t\tnamespaces: [existingNs, nsId]\n\t\t\t\t}\n\t\t\t});\n\t\t\ttableNamesSeenAcrossNamespaces.set(tableName, nsId);\n\t\t}\n\t\tconst tableNames = /* @__PURE__ */ new Set();\n\t\tfor (const ns of Object.values(storage.namespaces)) for (const t of Object.keys(ns.entries.table ?? {})) tableNames.add(t);\n\t\tfor (const [namespaceId, domainNs] of Object.entries(contract.domain.namespaces)) {\n\t\t\tconst models = domainNs.models;\n\t\t\tfor (const [modelName, model] of Object.entries(models)) {\n\t\t\t\tconst qualifiedName = `${namespaceId}:${modelName}`;\n\t\t\t\tif (!model.storage?.table) throw sqlEmitterValidationError(`Model \"${qualifiedName}\" is missing storage.table`, { model: qualifiedName });\n\t\t\t\tif (!model.storage.namespaceId) throw sqlEmitterValidationError(`Model \"${qualifiedName}\" is missing storage.namespaceId`, { model: qualifiedName });\n\t\t\t\tif (model.storage.namespaceId !== namespaceId) throw sqlEmitterValidationError(`Model \"${qualifiedName}\" storage.namespaceId \"${model.storage.namespaceId}\" does not match domain namespace \"${namespaceId}\"`, {\n\t\t\t\t\tmodel: qualifiedName,\n\t\t\t\t\tstorageNamespaceId: model.storage.namespaceId,\n\t\t\t\t\tdomainNamespaceId: namespaceId\n\t\t\t\t});\n\t\t\t\tconst tableName = model.storage.table;\n\t\t\t\tconst table = entityAt(storage, {\n\t\t\t\t\tnamespaceId,\n\t\t\t\t\tentityKind: \"table\",\n\t\t\t\t\tentityName: tableName\n\t\t\t\t});\n\t\t\t\tif (!table) throw sqlEmitterValidationError(`Model \"${qualifiedName}\" references non-existent table \"${namespaceId}.${tableName}\"`, {\n\t\t\t\t\tmodel: qualifiedName,\n\t\t\t\t\ttable: `${namespaceId}.${tableName}`\n\t\t\t\t});\n\t\t\t\tconst columnNames = new Set(Object.keys(table.columns));\n\t\t\t\tconst storageFields = model.storage.fields;\n\t\t\t\tif (!storageFields || Object.keys(storageFields).length === 0) throw sqlEmitterValidationError(`Model \"${qualifiedName}\" is missing storage.fields`, { model: qualifiedName });\n\t\t\t\tfor (const [fieldName, field] of Object.entries(storageFields)) {\n\t\t\t\t\tif (!field.column) throw sqlEmitterValidationError(`Model \"${qualifiedName}\" field \"${fieldName}\" is missing column property`, {\n\t\t\t\t\t\tmodel: qualifiedName,\n\t\t\t\t\t\tfield: fieldName\n\t\t\t\t\t});\n\t\t\t\t\tif (!columnNames.has(field.column)) throw sqlEmitterValidationError(`Model \"${qualifiedName}\" field \"${fieldName}\" references non-existent column \"${field.column}\" in table \"${tableName}\"`, {\n\t\t\t\t\t\tmodel: qualifiedName,\n\t\t\t\t\t\tfield: fieldName,\n\t\t\t\t\t\tcolumn: field.column,\n\t\t\t\t\t\ttable: tableName\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (!model.relations || typeof model.relations !== \"object\") throw sqlEmitterValidationError(`Model \"${qualifiedName}\" is missing required field \"relations\" (must be an object)`, { model: qualifiedName });\n\t\t\t}\n\t\t}\n\t\tfor (const ns of Object.values(storage.namespaces)) for (const [tableName, table] of Object.entries(ns.entries.table ?? {})) {\n\t\t\tconst columnNames = new Set(Object.keys(table.columns));\n\t\t\tif (!Array.isArray(table.uniques)) throw sqlEmitterValidationError(`Table \"${tableName}\" is missing required field \"uniques\" (must be an array)`, { table: tableName });\n\t\t\tif (!Array.isArray(table.indexes)) throw sqlEmitterValidationError(`Table \"${tableName}\" is missing required field \"indexes\" (must be an array)`, { table: tableName });\n\t\t\tif (!Array.isArray(table.foreignKeys)) throw sqlEmitterValidationError(`Table \"${tableName}\" is missing required field \"foreignKeys\" (must be an array)`, { table: tableName });\n\t\t\tif (table.primaryKey) {\n\t\t\t\tfor (const colName of table.primaryKey.columns) if (!columnNames.has(colName)) throw sqlEmitterValidationError(`Table \"${tableName}\" primaryKey references non-existent column \"${colName}\"`, {\n\t\t\t\t\ttable: tableName,\n\t\t\t\t\tcolumn: colName\n\t\t\t\t});\n\t\t\t}\n\t\t\tfor (const unique of table.uniques) for (const colName of unique.columns) if (!columnNames.has(colName)) throw sqlEmitterValidationError(`Table \"${tableName}\" unique constraint references non-existent column \"${colName}\"`, {\n\t\t\t\ttable: tableName,\n\t\t\t\tcolumn: colName\n\t\t\t});\n\t\t\tfor (const index of table.indexes) for (const colName of index.columns) if (!columnNames.has(colName)) throw sqlEmitterValidationError(`Table \"${tableName}\" index references non-existent column \"${colName}\"`, {\n\t\t\t\ttable: tableName,\n\t\t\t\tcolumn: colName\n\t\t\t});\n\t\t\tfor (const fk of table.foreignKeys) {\n\t\t\t\tfor (const colName of fk.source.columns) if (!columnNames.has(colName)) throw sqlEmitterValidationError(`Table \"${tableName}\" foreignKey references non-existent column \"${colName}\"`, {\n\t\t\t\t\ttable: tableName,\n\t\t\t\t\tcolumn: colName\n\t\t\t\t});\n\t\t\t\tconst referencedTable = entityAt(storage, {\n\t\t\t\t\tnamespaceId: fk.target.namespaceId,\n\t\t\t\t\tentityKind: \"table\",\n\t\t\t\t\tentityName: fk.target.tableName\n\t\t\t\t});\n\t\t\t\tif (!referencedTable) throw sqlEmitterValidationError(`Table \"${tableName}\" foreignKey references non-existent table \"${fk.target.tableName}\" in namespace \"${fk.target.namespaceId}\"`, {\n\t\t\t\t\ttable: tableName,\n\t\t\t\t\ttargetTable: fk.target.tableName,\n\t\t\t\t\ttargetNamespace: fk.target.namespaceId\n\t\t\t\t});\n\t\t\t\tconst referencedColumnNames = new Set(Object.keys(referencedTable.columns));\n\t\t\t\tfor (const colName of fk.target.columns) if (!referencedColumnNames.has(colName)) throw sqlEmitterValidationError(`Table \"${tableName}\" foreignKey references non-existent column \"${colName}\" in table \"${fk.target.tableName}\"`, {\n\t\t\t\t\ttable: tableName,\n\t\t\t\t\tcolumn: colName,\n\t\t\t\t\ttargetTable: fk.target.tableName\n\t\t\t\t});\n\t\t\t\tif (fk.source.columns.length !== fk.target.columns.length) throw sqlEmitterValidationError(`Table \"${tableName}\" foreignKey column count (${fk.source.columns.length}) does not match referenced column count (${fk.target.columns.length})`, {\n\t\t\t\t\ttable: tableName,\n\t\t\t\t\tsourceColumnCount: fk.source.columns.length,\n\t\t\t\t\ttargetColumnCount: fk.target.columns.length\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\tgenerateStorageType(contract, storageHashTypeName) {\n\t\tconst storage = contract.storage;\n\t\tconst namespacesType = generateStorageNamespacesType(storage.namespaces);\n\t\tconst docTypes = generateDocumentScopedStorageTypesType(storage.types);\n\t\treturn `{ readonly namespaces: ${namespacesType}${docTypes === void 0 ? \"\" : `; readonly types: ${docTypes}`}; readonly storageHash: ${storageHashTypeName} }`;\n\t},\n\tgenerateModelStorageType(_modelName, model) {\n\t\tconst sqlModel = model;\n\t\tconst tableName = sqlModel.storage.table;\n\t\tconst storageFields = sqlModel.storage.fields;\n\t\tconst storageParts = [`readonly table: ${serializeValue(tableName)}`, `readonly namespaceId: ${serializeValue(sqlModel.storage.namespaceId)}`];\n\t\tif (Object.keys(storageFields).length > 0) {\n\t\t\tconst fieldParts = [];\n\t\t\tfor (const [fieldName, field] of Object.entries(storageFields)) fieldParts.push(`readonly ${serializeObjectKey(fieldName)}: { readonly column: ${serializeValue(field.column)} }`);\n\t\t\tstorageParts.push(`readonly fields: { ${fieldParts.join(\"; \")} }`);\n\t\t}\n\t\treturn `{ ${storageParts.join(\"; \")} }`;\n\t},\n\tresolveFieldValueSet(_modelName, fieldName, model, contract) {\n\t\tconst sqlModel = blindCast(model);\n\t\tconst storageField = sqlModel.storage?.fields?.[fieldName];\n\t\tif (!storageField) return void 0;\n\t\tconst storage = blindCast(contract.storage);\n\t\tif (!storage) return void 0;\n\t\tconst storageNamespaceId = sqlModel.storage.namespaceId;\n\t\tif (!storageNamespaceId) return void 0;\n\t\tconst column = entityAt(storage, {\n\t\t\tnamespaceId: storageNamespaceId,\n\t\t\tentityKind: \"table\",\n\t\t\tentityName: sqlModel.storage.table\n\t\t})?.columns[storageField.column];\n\t\tif (!column?.valueSet) return void 0;\n\t\tconst valueSet = entityAt(storage, {\n\t\t\tnamespaceId: column.valueSet.namespaceId,\n\t\t\tentityKind: column.valueSet.entityKind,\n\t\t\tentityName: column.valueSet.entityName\n\t\t});\n\t\tif (!valueSet) return void 0;\n\t\treturn {\n\t\t\tencodedValues: valueSet.values,\n\t\t\tcodecId: column.codecId\n\t\t};\n\t},\n\tgetStorageTypeExports(contract, codecLookup) {\n\t\tconst storage = blindCast(contract.storage);\n\t\tif (!storage?.namespaces) return void 0;\n\t\tconst outputMap = generateStorageColumnTypesMap(storage, \"output\", codecLookup);\n\t\tconst inputMap = generateStorageColumnTypesMap(storage, \"input\", codecLookup);\n\t\treturn [`export type StorageColumnTypes = ${outputMap};`, `export type StorageColumnInputTypes = ${inputMap};`].join(\"\\n\");\n\t},\n\tgetFamilyImports(resolveImportSpecifier) {\n\t\treturn [\n\t\t\t\"import type {\",\n\t\t\t\" ContractWithTypeMaps,\",\n\t\t\t\" RelationKeys,\",\n\t\t\t\" TypeMaps as TypeMapsType,\",\n\t\t\t`} from '${resolveImportSpecifier(\"@internal/sql-contract/types\")}';`\n\t\t];\n\t},\n\tgetFamilyTypeAliases(options) {\n\t\tconst queryOperationAliases = (options?.queryOperationTypeImports ?? []).filter((imp) => imp.named === \"QueryOperationTypes\").map((imp) => `${imp.alias}<CodecTypes>`);\n\t\treturn [\n\t\t\t\"export type LaneCodecTypes = CodecTypes;\",\n\t\t\t`export type QueryOperationTypes = ${queryOperationAliases.length > 0 ? queryOperationAliases.join(\" & \") : \"Record<string, never>\"};`,\n\t\t\t`export type AggregateTypes = ${generateAggregateTypes(options)};`,\n\t\t\t\"type DefaultLiteralValue<CodecId extends string, Encoded> =\",\n\t\t\t\" CodecId extends keyof CodecTypes\",\n\t\t\t\" ? Encoded extends CodecTypes[CodecId][\\\"json\\\"]\",\n\t\t\t\" ? Encoded\",\n\t\t\t\" : CodecTypes[CodecId][\\\"json\\\"]\",\n\t\t\t\" : Encoded;\"\n\t\t].join(\"\\n\");\n\t},\n\tgetTypeMapsExpression() {\n\t\treturn \"TypeMapsType<CodecTypes, QueryOperationTypes, FieldOutputTypes, FieldInputTypes, StorageColumnTypes, StorageColumnInputTypes, AggregateTypes>\";\n\t},\n\tgetContractWrapper(contractBaseName, typeMapsName) {\n\t\treturn [\n\t\t\t`export type Contract = ContractWithTypeMaps<${contractBaseName}, ${typeMapsName}>;`,\n\t\t\t\"\",\n\t\t\t\"export type Namespaces = Contract['storage']['namespaces'];\"\n\t\t].join(\"\\n\");\n\t}\n};\nfunction renderRefinedCodecType(column, side, params, codecLookup) {\n\tif (codecLookup && params) {\n\t\tconst rendered = side === \"output\" ? codecLookup.renderOutputTypeFor(column.codecId, params) : codecLookup.renderInputTypeFor?.(column.codecId, params);\n\t\tif (rendered && isSafeTypeExpression(rendered)) return rendered;\n\t}\n\treturn `CodecTypes[${serializeValue(column.codecId)}][${serializeValue(side)}]`;\n}\nfunction computeColumnType(storage, column, side, codecLookup) {\n\tlet base;\n\tif (column.valueSet) {\n\t\tconst valueSet = entityAt(storage, {\n\t\t\tnamespaceId: column.valueSet.namespaceId,\n\t\t\tentityKind: column.valueSet.entityKind,\n\t\t\tentityName: column.valueSet.entityName\n\t\t});\n\t\tbase = valueSet ? renderValueSetType(valueSet.values, column.codecId, side, codecLookup) : void 0;\n\t}\n\tif (base === void 0) base = renderRefinedCodecType(column, side, resolvedTypeParams(column, storage.types), codecLookup);\n\tif (column.many !== false) base = `ReadonlyArray<${column.many.elementNullable ? `${base} | null` : base}>`;\n\treturn column.nullable ? `${base} | null` : base;\n}\nfunction generateStorageColumnTypesMap(storage, side, codecLookup) {\n\tconst namespaceEntries = Object.entries(storage.namespaces ?? {}).sort(([a], [b]) => a.localeCompare(b));\n\tif (namespaceEntries.length === 0) return \"Record<string, never>\";\n\tconst nsParts = [];\n\tfor (const [nsId, ns] of namespaceEntries) {\n\t\tconst tables = blindCast(ns.entries.table ?? {});\n\t\tconst tableEntries = Object.entries(tables).sort(([a], [b]) => a.localeCompare(b));\n\t\tconst tableParts = [];\n\t\tfor (const [tableName, table] of tableEntries) {\n\t\t\tconst colEntries = Object.entries(table.columns).sort(([a], [b]) => a.localeCompare(b));\n\t\t\tconst colParts = [];\n\t\t\tfor (const [colName, col] of colEntries) {\n\t\t\t\tconst colType = computeColumnType(storage, col, side, codecLookup);\n\t\t\t\tcolParts.push(`readonly ${serializeObjectKey(colName)}: ${colType}`);\n\t\t\t}\n\t\t\tconst colMap = colParts.length > 0 ? `{ ${colParts.join(\"; \")} }` : \"{}\";\n\t\t\ttableParts.push(`readonly ${serializeObjectKey(tableName)}: ${colMap}`);\n\t\t}\n\t\tconst tableMap = tableParts.length > 0 ? `{ ${tableParts.join(\"; \")} }` : \"{}\";\n\t\tnsParts.push(`readonly ${serializeObjectKey(nsId)}: ${tableMap}`);\n\t}\n\treturn `{ ${nsParts.join(\"; \")} }`;\n}\nfunction generateDocumentScopedStorageTypesType(types) {\n\tif (!types || Object.keys(types).length === 0) return;\n\tconst typeEntries = [];\n\tfor (const [typeName, typeInstance] of Object.entries(types)) {\n\t\tconst codecInstanceShape = typeInstance;\n\t\tif (typeof codecInstanceShape.codecId !== \"string\" || typeof codecInstanceShape.dataType !== \"string\") throw sqlEmitterError(\"CONTRACT.TYPE_UNKNOWN\", `Unknown storage type kind for \"${typeName}\" in document-scoped storage.types; expected a codec-instance triple.`, {\n\t\t\twhy: \"A storage.types entry is not a codec-instance triple, so its column type cannot be emitted.\",\n\t\t\tfix: \"Regenerate the contract from its authoring source; storage.types entries must carry codecId and dataType.\",\n\t\t\tmeta: { type: typeName }\n\t\t});\n\t\tconst codecId = serializeValue(codecInstanceShape.codecId);\n\t\tconst dataType = serializeValue(codecInstanceShape.dataType);\n\t\tconst typeParamsStr = serializeTypeParamsLiteral(codecInstanceShape.typeParams);\n\t\ttypeEntries.push(`readonly ${serializeObjectKey(typeName)}: { readonly kind: \"codec-instance\"; readonly codecId: ${codecId}; readonly dataType: ${dataType}; readonly typeParams: ${typeParamsStr} }`);\n\t}\n\treturn `{ ${typeEntries.join(\"; \")} }`;\n}\n/**\n* Literalizes the `valueSet` entries slot — a core SQL entity kind (alongside\n* `table`), not a pack-contributed one, so naming it here isn't a\n* family→target layering leak. This is the only non-`table` entries slot with\n* a type-level consumer (`db.nativeEnums`, `packages/3-extensions/postgres`):\n* pack-contributed slots (`role`, `policy`, `native_enum`, …) have none and\n* are not emitted.\n*/\nfunction generateValueSetBlockType(valueSets) {\n\treturn `{ ${Object.entries(valueSets).sort(([a], [b]) => a.localeCompare(b)).map(([name, valueSet]) => `readonly ${serializeObjectKey(name)}: ${serializeValue(valueSet)}`).join(\"; \")} }`;\n}\nfunction namespaceSerializedKind(ns) {\n\tconst kind = ns.kind;\n\tif (kind === \"schema\") return `readonly kind: \"${ns.id === UNBOUND_NAMESPACE_ID ? \"postgres-unbound-schema\" : \"postgres-schema\"}\"`;\n\tif (typeof kind === \"string\") return `readonly kind: ${serializeValue(kind)}`;\n\tthrow sqlEmitterError(\"CONTRACT.NAMESPACE_INVALID\", `Namespace '${ns.id}' has no string kind — all namespaces must be target concretions with a defined kind property.`, {\n\t\twhy: \"The namespace is not a target concretion, so the emitter cannot serialize its kind.\",\n\t\tfix: \"Regenerate the contract with a target pack that materializes every namespace as a target concretion.\",\n\t\tmeta: { namespace: ns.id }\n\t});\n}\nfunction generateTableLiteralType(table) {\n\tconst columns = [];\n\tfor (const [colName, col] of Object.entries(table.columns)) {\n\t\tconst nullable = col.nullable ? \"true\" : \"false\";\n\t\tconst dataType = serializeValue(col.dataType);\n\t\tconst codecId = serializeValue(col.codecId);\n\t\tconst defaultSpec = col.default ? col.default.kind === \"literal\" ? `; readonly default: { readonly kind: \"literal\"; readonly value: DefaultLiteralValue<${codecId}, ${serializeValue(col.default.value)}> }` : `; readonly default: { readonly kind: \"function\"; readonly expression: ${serializeValue(col.default.expression)} }` : \"\";\n\t\tconst typeParamsSpec = col.typeParams && Object.keys(col.typeParams).length > 0 ? `; readonly typeParams: ${serializeTypeParamsLiteral(col.typeParams)}` : \"\";\n\t\tconst typeRefSpec = col.typeRef ? `; readonly typeRef: ${serializeValue(col.typeRef)}` : \"\";\n\t\tconst manySpec = col.many === false ? \"; readonly many: false\" : `; readonly many: { readonly elementNullable: ${col.many.elementNullable} }`;\n\t\tcolumns.push(`readonly ${serializeObjectKey(colName)}: { readonly dataType: ${dataType}; readonly codecId: ${codecId}; readonly nullable: ${nullable}${defaultSpec}${typeParamsSpec}${typeRefSpec}${manySpec} }`);\n\t}\n\tconst tableParts = [`columns: { ${columns.join(\"; \")} }`];\n\tif (table.primaryKey) {\n\t\tconst pkParts = [`readonly columns: readonly [${table.primaryKey.columns.map((c) => serializeValue(c)).join(\", \")}]`];\n\t\tif (table.primaryKey.name) pkParts.push(`readonly name: ${serializeValue(table.primaryKey.name)}`);\n\t\ttableParts.push(`primaryKey: { ${pkParts.join(\"; \")} }`);\n\t}\n\tconst uniques = table.uniques.map((u) => {\n\t\tconst parts = [`readonly columns: readonly [${u.columns.map((c) => serializeValue(c)).join(\", \")}]`];\n\t\tif (u.name) parts.push(`readonly name: ${serializeValue(u.name)}`);\n\t\treturn `{ ${parts.join(\"; \")} }`;\n\t}).join(\", \");\n\ttableParts.push(`uniques: readonly [${uniques}]`);\n\tconst indexes = table.indexes.map((i) => {\n\t\tconst parts = [`readonly name: ${serializeValue(i.name)}`];\n\t\tif (i.prefix !== void 0) parts.push(`readonly prefix: ${serializeValue(i.prefix)}`);\n\t\tif (i.columns !== void 0) parts.push(`readonly columns: readonly [${i.columns.map((c) => serializeValue(c)).join(\", \")}]`);\n\t\tif (i.expression !== void 0) parts.push(`readonly expression: ${serializeValue(i.expression)}`);\n\t\tif (i.where !== void 0) parts.push(`readonly where: ${serializeValue(i.where)}`);\n\t\tparts.push(`readonly unique: ${i.unique}`);\n\t\tif (i.type !== void 0) parts.push(`readonly type: ${serializeValue(i.type)}`);\n\t\tif (i.options !== void 0) parts.push(`readonly options: ${serializeValue(i.options)}`);\n\t\treturn `{ ${parts.join(\"; \")} }`;\n\t}).join(\", \");\n\ttableParts.push(`indexes: readonly [${indexes}]`);\n\tconst fks = table.foreignKeys.map((fk) => {\n\t\tconst srcCols = fk.source.columns.map((c) => serializeValue(c)).join(\", \");\n\t\tconst tgtCols = fk.target.columns.map((c) => serializeValue(c)).join(\", \");\n\t\tconst srcRef = `{ readonly namespaceId: ${serializeNamespaceId(String(fk.source.namespaceId))}; readonly tableName: ${serializeValue(fk.source.tableName)}; readonly columns: readonly [${srcCols}] }`;\n\t\tconst tgtRef = `{ readonly namespaceId: ${serializeNamespaceId(String(fk.target.namespaceId))}; readonly tableName: ${serializeValue(fk.target.tableName)}; readonly columns: readonly [${tgtCols}] }`;\n\t\tconst parts = [`readonly source: ${srcRef}`, `readonly target: ${tgtRef}`];\n\t\tif (fk.name) parts.push(`readonly name: ${serializeValue(fk.name)}`);\n\t\treturn `{ ${parts.join(\"; \")} }`;\n\t}).join(\", \");\n\ttableParts.push(`foreignKeys: readonly [${fks}]`);\n\treturn `{ ${tableParts.join(\"; \")} }`;\n}\nfunction generateTablesMapType(tables) {\n\tconst tableEntries = [];\n\tfor (const [tableName, table] of Object.entries(tables).sort(([a], [b]) => a.localeCompare(b))) tableEntries.push(`readonly ${serializeObjectKey(tableName)}: ${generateTableLiteralType(table)}`);\n\tif (tableEntries.length === 0) return \"{}\";\n\treturn `{ ${tableEntries.join(\"; \")} }`;\n}\nfunction generateStorageNamespacesType(namespaces) {\n\tconst entries = Object.entries(namespaces ?? {}).sort(([a], [b]) => a.localeCompare(b));\n\tif (entries.length === 0) return \"Record<string, never>\";\n\tconst parts = [];\n\tfor (const [name, ns] of entries) {\n\t\tconst kindSuffix = `; ${namespaceSerializedKind(ns)}`;\n\t\tconst entriesParts = [`readonly table: ${generateTablesMapType(ns.entries.table ?? {})}`];\n\t\tconst valueSetEntries = ns.entries.valueSet;\n\t\tif (valueSetEntries !== void 0 && Object.keys(valueSetEntries).length > 0) entriesParts.push(`readonly valueSet: ${generateValueSetBlockType(valueSetEntries)}`);\n\t\tconst entriesType = `{ ${entriesParts.join(\"; \")} }`;\n\t\tparts.push(`readonly ${serializeObjectKey(name)}: { readonly id: ${serializeValue(ns.id)}${kindSuffix}; readonly entries: ${entriesType} }`);\n\t}\n\treturn `{ ${parts.join(\"; \")} }`;\n}\n//#endregion\nexport { sqlEmission };\n\n//# sourceMappingURL=index.mjs.map"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { t as contractError } from "./contract-errors-BCN6RVI5-5IHBF_lg.mjs";
2
- import { c as StorageTable, i as Index, t as CheckConstraint } from "./storage-table-CyL4CNMi-zOQ-vTUd.mjs";
3
- import { n as checkConstraintInputFromSerialized, r as indexInputFromSerialized, t as StorageValueSet } from "./serialized-index-QAYy0fjm-BW4shnLC.mjs";
2
+ import { c as StorageTable, i as Index, t as CheckConstraint } from "./storage-table-CyL4CNMi-ByGZXmzd.mjs";
3
+ import { n as checkConstraintInputFromSerialized, r as indexInputFromSerialized, t as StorageValueSet } from "./serialized-index-QAYy0fjm-zxvK3RBa.mjs";
4
4
  import { DATA_TYPE_ID_PATTERN } from "@prisma/orm-framework/components/codec";
5
5
  import { ifDefined } from "@prisma/orm-framework/utils/defined";
6
6
  import { type } from "arktype";
@@ -148,4 +148,4 @@ function composeSqlEntityKinds(packKinds = []) {
148
148
  //#endregion
149
149
  export { ForeignKeyReferenceSchema as a, IndexSchema as c, StorageValueSetSchema as d, composeSqlEntityKinds as f, ColumnDefaultSchema as i, ReferentialActionSchema as l, valueSetEntityKind as m, ColumnDefaultFunctionSchema as n, ForeignKeySchema as o, tableEntityKind as p, ColumnDefaultLiteralSchema as r, ForeignKeySourceSchema as s, CheckConstraintSchema as t, StorageTableSchema as u };
150
150
 
151
- //# sourceMappingURL=entity-kinds-JlqzyFoo-BR7NtlZL.mjs.map
151
+ //# sourceMappingURL=entity-kinds-JlqzyFoo-kIaAUFyK.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity-kinds-JlqzyFoo-BR7NtlZL.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/entity-kinds-JlqzyFoo.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { c as CheckConstraint, s as Index, t as StorageTable } from \"./storage-table-CyL4CNMi.mjs\";\nimport { n as checkConstraintInputFromSerialized, r as StorageValueSet, t as indexInputFromSerialized } from \"./serialized-index-QAYy0fjm.mjs\";\nimport { DATA_TYPE_ID_PATTERN } from \"@internal/framework-components/codec\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { type } from \"arktype\";\n//#region src/ir/storage-entry-schemas.ts\nconst literalKindSchema = type(\"'literal'\");\nconst functionKindSchema = type(\"'function'\");\nconst ControlPolicySchema = type(\"'managed' | 'tolerated' | 'external' | 'observed'\");\nconst ColumnDefaultLiteralSchema = type.declare().type({\n\tkind: literalKindSchema,\n\tvalue: \"string | number | boolean | null | unknown[] | Record<string, unknown>\"\n});\nconst ColumnDefaultFunctionSchema = type.declare().type({\n\tkind: functionKindSchema,\n\texpression: \"string\"\n});\nconst ColumnDefaultSchema = ColumnDefaultLiteralSchema.or(ColumnDefaultFunctionSchema);\nconst StorageValueSetRefSchema = type({\n\tplane: \"'storage'\",\n\tnamespaceId: \"string\",\n\tentityKind: \"'valueSet'\",\n\tentityName: \"string\",\n\t\"spaceId?\": \"string\"\n});\nconst StorageColumnSchema = type({\n\t\"+\": \"reject\",\n\tdataType: DATA_TYPE_ID_PATTERN,\n\tcodecId: \"string\",\n\tnullable: \"boolean\",\n\t\"many?\": type(\"false\").or({\n\t\t\"+\": \"reject\",\n\t\telementNullable: \"boolean\"\n\t}),\n\t\"typeParams?\": \"Record<string, unknown>\",\n\t\"typeRef?\": \"string\",\n\t\"default?\": ColumnDefaultSchema,\n\t\"control?\": ControlPolicySchema,\n\t\"valueSet?\": StorageValueSetRefSchema,\n\t\"noCheck?\": \"(\\\"membership\\\" | \\\"elementNotNull\\\")[]\"\n}).narrow((col, ctx) => {\n\tif (col.typeParams !== void 0 && col.typeRef !== void 0) return ctx.mustBe(\"a column with either typeParams or typeRef, not both\");\n\tif (col.noCheck !== void 0) {\n\t\tif (col.noCheck.length === 0) return ctx.mustBe(\"a column whose noCheck array is non-empty (omit the key when enforced)\");\n\t\tfor (let i = 1; i < col.noCheck.length; i += 1) {\n\t\t\tconst previous = col.noCheck[i - 1];\n\t\t\tconst current = col.noCheck[i];\n\t\t\tif (previous !== void 0 && current !== void 0 && previous >= current) return ctx.mustBe(\"a column whose noCheck kinds are unique and sorted ascending lexicographically\");\n\t\t}\n\t}\n\treturn true;\n});\n/**\n* Storage value-set entry under `storage.namespaces[id].entries.valueSet[name]`.\n* Carries a `kind: 'valueSet'` discriminator (enumerable, survives JSON) and an\n* ordered `values` array of codec-encoded permitted values.\n*/\nconst StorageValueSetSchema = type({\n\tkind: \"'valueSet'\",\n\tvalues: type(\"string | number | boolean | null | unknown[] | Record<string, unknown>\").array().readonly()\n});\nconst PrimaryKeySchema = type.declare().type({\n\tcolumns: type.string.array().readonly(),\n\t\"name?\": \"string\"\n});\nconst UniqueConstraintSchema = type.declare().type({\n\tcolumns: type.string.array().readonly(),\n\t\"name?\": \"string\"\n});\nconst IndexSchema = type({\n\tname: \"string\",\n\t\"prefix?\": \"string\",\n\t\"columns?\": type.string.array().readonly(),\n\t\"expression?\": \"string\",\n\t\"where?\": \"string\",\n\tunique: \"boolean\",\n\t\"type?\": \"string\",\n\t\"options?\": \"Record<string, unknown>\"\n});\nconst ForeignKeyReferenceSchema = type({\n\t\"+\": \"reject\",\n\tnamespaceId: \"string\",\n\ttableName: \"string\",\n\tcolumns: type.string.array().readonly(),\n\t\"spaceId?\": \"string\"\n});\nconst ForeignKeySourceSchema = type({\n\t\"+\": \"reject\",\n\tnamespaceId: \"string\",\n\ttableName: \"string\",\n\tcolumns: type.string.array().readonly()\n});\nconst ReferentialActionSchema = type.declare().type(\"'noAction' | 'restrict' | 'cascade' | 'setNull' | 'setDefault'\");\nconst ForeignKeySchema = type.declare().type({\n\tsource: ForeignKeySourceSchema,\n\ttarget: ForeignKeyReferenceSchema,\n\t\"name?\": \"string\",\n\t\"onDelete?\": ReferentialActionSchema,\n\t\"onUpdate?\": ReferentialActionSchema\n});\nconst CheckConstraintSchema = type({\n\t\"+\": \"reject\",\n\tname: \"string\",\n\t\"prefix?\": \"string\",\n\texpression: \"string\"\n});\nconst StorageTableSchema = type({\n\t\"+\": \"reject\",\n\tcolumns: type({ \"[string]\": StorageColumnSchema }),\n\t\"primaryKey?\": PrimaryKeySchema,\n\tuniques: UniqueConstraintSchema.array().readonly(),\n\tindexes: IndexSchema.array().readonly(),\n\tforeignKeys: ForeignKeySchema.array().readonly(),\n\t\"control?\": ControlPolicySchema,\n\t\"checks?\": CheckConstraintSchema.array().readonly()\n});\n//#endregion\n//#region src/entity-kinds.ts\nconst tableEntityKind = {\n\tkind: \"table\",\n\tschema: StorageTableSchema,\n\tconstruct: (input) => new StorageTable({\n\t\t...input,\n\t\tindexes: input.indexes.map((i) => i instanceof Index ? i : indexInputFromSerialized(i)),\n\t\t...ifDefined(\"checks\", input.checks?.map((c) => c instanceof CheckConstraint ? c : checkConstraintInputFromSerialized(c)))\n\t})\n};\nconst valueSetEntityKind = {\n\tkind: \"valueSet\",\n\tschema: StorageValueSetSchema,\n\tconstruct: (input) => new StorageValueSet(input)\n};\n/**\n* Assembles the `kind → descriptor` registry for SQL namespaces: the built-in\n* `table` and `valueSet` kinds plus any target `packKinds`. This builds the\n* lookup table — it does not touch contract data. `hydrateNamespaceEntities`\n* later consumes this registry to turn a namespace's raw entries into IR\n* instances, and `createSqlContractSchema` derives validation from the same\n* registry. Throws on a duplicate kind.\n*/\nfunction composeSqlEntityKinds(packKinds = []) {\n\tconst kinds = /* @__PURE__ */ new Map([[\"table\", tableEntityKind], [\"valueSet\", valueSetEntityKind]]);\n\tfor (const descriptor of packKinds) {\n\t\tif (kinds.has(descriptor.kind)) throw contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `composeSqlEntityKinds: duplicate entity kind \"${descriptor.kind}\" — each kind may be registered only once`, { meta: { entityKind: descriptor.kind } });\n\t\tkinds.set(descriptor.kind, descriptor);\n\t}\n\treturn kinds;\n}\n//#endregion\nexport { ColumnDefaultFunctionSchema as a, ForeignKeyReferenceSchema as c, IndexSchema as d, ReferentialActionSchema as f, CheckConstraintSchema as i, ForeignKeySchema as l, StorageValueSetSchema as m, tableEntityKind as n, ColumnDefaultLiteralSchema as o, StorageTableSchema as p, valueSetEntityKind as r, ColumnDefaultSchema as s, composeSqlEntityKinds as t, ForeignKeySourceSchema as u };\n\n//# sourceMappingURL=entity-kinds-JlqzyFoo.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"entity-kinds-JlqzyFoo-kIaAUFyK.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/entity-kinds-JlqzyFoo.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { c as CheckConstraint, s as Index, t as StorageTable } from \"./storage-table-CyL4CNMi.mjs\";\nimport { n as checkConstraintInputFromSerialized, r as StorageValueSet, t as indexInputFromSerialized } from \"./serialized-index-QAYy0fjm.mjs\";\nimport { DATA_TYPE_ID_PATTERN } from \"@internal/framework-components/codec\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { type } from \"arktype\";\n//#region src/ir/storage-entry-schemas.ts\nconst literalKindSchema = type(\"'literal'\");\nconst functionKindSchema = type(\"'function'\");\nconst ControlPolicySchema = type(\"'managed' | 'tolerated' | 'external' | 'observed'\");\nconst ColumnDefaultLiteralSchema = type.declare().type({\n\tkind: literalKindSchema,\n\tvalue: \"string | number | boolean | null | unknown[] | Record<string, unknown>\"\n});\nconst ColumnDefaultFunctionSchema = type.declare().type({\n\tkind: functionKindSchema,\n\texpression: \"string\"\n});\nconst ColumnDefaultSchema = ColumnDefaultLiteralSchema.or(ColumnDefaultFunctionSchema);\nconst StorageValueSetRefSchema = type({\n\tplane: \"'storage'\",\n\tnamespaceId: \"string\",\n\tentityKind: \"'valueSet'\",\n\tentityName: \"string\",\n\t\"spaceId?\": \"string\"\n});\nconst StorageColumnSchema = type({\n\t\"+\": \"reject\",\n\tdataType: DATA_TYPE_ID_PATTERN,\n\tcodecId: \"string\",\n\tnullable: \"boolean\",\n\t\"many?\": type(\"false\").or({\n\t\t\"+\": \"reject\",\n\t\telementNullable: \"boolean\"\n\t}),\n\t\"typeParams?\": \"Record<string, unknown>\",\n\t\"typeRef?\": \"string\",\n\t\"default?\": ColumnDefaultSchema,\n\t\"control?\": ControlPolicySchema,\n\t\"valueSet?\": StorageValueSetRefSchema,\n\t\"noCheck?\": \"(\\\"membership\\\" | \\\"elementNotNull\\\")[]\"\n}).narrow((col, ctx) => {\n\tif (col.typeParams !== void 0 && col.typeRef !== void 0) return ctx.mustBe(\"a column with either typeParams or typeRef, not both\");\n\tif (col.noCheck !== void 0) {\n\t\tif (col.noCheck.length === 0) return ctx.mustBe(\"a column whose noCheck array is non-empty (omit the key when enforced)\");\n\t\tfor (let i = 1; i < col.noCheck.length; i += 1) {\n\t\t\tconst previous = col.noCheck[i - 1];\n\t\t\tconst current = col.noCheck[i];\n\t\t\tif (previous !== void 0 && current !== void 0 && previous >= current) return ctx.mustBe(\"a column whose noCheck kinds are unique and sorted ascending lexicographically\");\n\t\t}\n\t}\n\treturn true;\n});\n/**\n* Storage value-set entry under `storage.namespaces[id].entries.valueSet[name]`.\n* Carries a `kind: 'valueSet'` discriminator (enumerable, survives JSON) and an\n* ordered `values` array of codec-encoded permitted values.\n*/\nconst StorageValueSetSchema = type({\n\tkind: \"'valueSet'\",\n\tvalues: type(\"string | number | boolean | null | unknown[] | Record<string, unknown>\").array().readonly()\n});\nconst PrimaryKeySchema = type.declare().type({\n\tcolumns: type.string.array().readonly(),\n\t\"name?\": \"string\"\n});\nconst UniqueConstraintSchema = type.declare().type({\n\tcolumns: type.string.array().readonly(),\n\t\"name?\": \"string\"\n});\nconst IndexSchema = type({\n\tname: \"string\",\n\t\"prefix?\": \"string\",\n\t\"columns?\": type.string.array().readonly(),\n\t\"expression?\": \"string\",\n\t\"where?\": \"string\",\n\tunique: \"boolean\",\n\t\"type?\": \"string\",\n\t\"options?\": \"Record<string, unknown>\"\n});\nconst ForeignKeyReferenceSchema = type({\n\t\"+\": \"reject\",\n\tnamespaceId: \"string\",\n\ttableName: \"string\",\n\tcolumns: type.string.array().readonly(),\n\t\"spaceId?\": \"string\"\n});\nconst ForeignKeySourceSchema = type({\n\t\"+\": \"reject\",\n\tnamespaceId: \"string\",\n\ttableName: \"string\",\n\tcolumns: type.string.array().readonly()\n});\nconst ReferentialActionSchema = type.declare().type(\"'noAction' | 'restrict' | 'cascade' | 'setNull' | 'setDefault'\");\nconst ForeignKeySchema = type.declare().type({\n\tsource: ForeignKeySourceSchema,\n\ttarget: ForeignKeyReferenceSchema,\n\t\"name?\": \"string\",\n\t\"onDelete?\": ReferentialActionSchema,\n\t\"onUpdate?\": ReferentialActionSchema\n});\nconst CheckConstraintSchema = type({\n\t\"+\": \"reject\",\n\tname: \"string\",\n\t\"prefix?\": \"string\",\n\texpression: \"string\"\n});\nconst StorageTableSchema = type({\n\t\"+\": \"reject\",\n\tcolumns: type({ \"[string]\": StorageColumnSchema }),\n\t\"primaryKey?\": PrimaryKeySchema,\n\tuniques: UniqueConstraintSchema.array().readonly(),\n\tindexes: IndexSchema.array().readonly(),\n\tforeignKeys: ForeignKeySchema.array().readonly(),\n\t\"control?\": ControlPolicySchema,\n\t\"checks?\": CheckConstraintSchema.array().readonly()\n});\n//#endregion\n//#region src/entity-kinds.ts\nconst tableEntityKind = {\n\tkind: \"table\",\n\tschema: StorageTableSchema,\n\tconstruct: (input) => new StorageTable({\n\t\t...input,\n\t\tindexes: input.indexes.map((i) => i instanceof Index ? i : indexInputFromSerialized(i)),\n\t\t...ifDefined(\"checks\", input.checks?.map((c) => c instanceof CheckConstraint ? c : checkConstraintInputFromSerialized(c)))\n\t})\n};\nconst valueSetEntityKind = {\n\tkind: \"valueSet\",\n\tschema: StorageValueSetSchema,\n\tconstruct: (input) => new StorageValueSet(input)\n};\n/**\n* Assembles the `kind → descriptor` registry for SQL namespaces: the built-in\n* `table` and `valueSet` kinds plus any target `packKinds`. This builds the\n* lookup table — it does not touch contract data. `hydrateNamespaceEntities`\n* later consumes this registry to turn a namespace's raw entries into IR\n* instances, and `createSqlContractSchema` derives validation from the same\n* registry. Throws on a duplicate kind.\n*/\nfunction composeSqlEntityKinds(packKinds = []) {\n\tconst kinds = /* @__PURE__ */ new Map([[\"table\", tableEntityKind], [\"valueSet\", valueSetEntityKind]]);\n\tfor (const descriptor of packKinds) {\n\t\tif (kinds.has(descriptor.kind)) throw contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `composeSqlEntityKinds: duplicate entity kind \"${descriptor.kind}\" — each kind may be registered only once`, { meta: { entityKind: descriptor.kind } });\n\t\tkinds.set(descriptor.kind, descriptor);\n\t}\n\treturn kinds;\n}\n//#endregion\nexport { ColumnDefaultFunctionSchema as a, ForeignKeyReferenceSchema as c, IndexSchema as d, ReferentialActionSchema as f, CheckConstraintSchema as i, ForeignKeySchema as l, StorageValueSetSchema as m, tableEntityKind as n, ColumnDefaultLiteralSchema as o, StorageTableSchema as p, valueSetEntityKind as r, ColumnDefaultSchema as s, composeSqlEntityKinds as t, ForeignKeySourceSchema as u };\n\n//# sourceMappingURL=entity-kinds-JlqzyFoo.mjs.map"],"mappings":";;;;;;;AAOA,MAAM,oBAAoB,KAAK,WAAW;AAC1C,MAAM,qBAAqB,KAAK,YAAY;AAC5C,MAAM,sBAAsB,KAAK,mDAAmD;AACpF,MAAM,6BAA6B,KAAK,QAAQ,CAAC,CAAC,KAAK;CACtD,MAAM;CACN,OAAO;AACR,CAAC;AACD,MAAM,8BAA8B,KAAK,QAAQ,CAAC,CAAC,KAAK;CACvD,MAAM;CACN,YAAY;AACb,CAAC;AACD,MAAM,sBAAsB,2BAA2B,GAAG,2BAA2B;AACrF,MAAM,2BAA2B,KAAK;CACrC,OAAO;CACP,aAAa;CACb,YAAY;CACZ,YAAY;CACZ,YAAY;AACb,CAAC;AACD,MAAM,sBAAsB,KAAK;CAChC,KAAK;CACL,UAAU;CACV,SAAS;CACT,UAAU;CACV,SAAS,KAAK,OAAO,CAAC,CAAC,GAAG;EACzB,KAAK;EACL,iBAAiB;CAClB,CAAC;CACD,eAAe;CACf,YAAY;CACZ,YAAY;CACZ,YAAY;CACZ,aAAa;CACb,YAAY;AACb,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ;CACvB,IAAI,IAAI,eAAe,KAAK,KAAK,IAAI,YAAY,KAAK,GAAG,OAAO,IAAI,OAAO,sDAAsD;CACjI,IAAI,IAAI,YAAY,KAAK,GAAG;EAC3B,IAAI,IAAI,QAAQ,WAAW,GAAG,OAAO,IAAI,OAAO,wEAAwE;EACxH,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,QAAQ,QAAQ,KAAK,GAAG;GAC/C,MAAM,WAAW,IAAI,QAAQ,IAAI;GACjC,MAAM,UAAU,IAAI,QAAQ;GAC5B,IAAI,aAAa,KAAK,KAAK,YAAY,KAAK,KAAK,YAAY,SAAS,OAAO,IAAI,OAAO,gFAAgF;EACzK;CACD;CACA,OAAO;AACR,CAAC;;;;;;AAMD,MAAM,wBAAwB,KAAK;CAClC,MAAM;CACN,QAAQ,KAAK,wEAAwE,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS;AACzG,CAAC;AACD,MAAM,mBAAmB,KAAK,QAAQ,CAAC,CAAC,KAAK;CAC5C,SAAS,KAAK,OAAO,MAAM,CAAC,CAAC,SAAS;CACtC,SAAS;AACV,CAAC;AACD,MAAM,yBAAyB,KAAK,QAAQ,CAAC,CAAC,KAAK;CAClD,SAAS,KAAK,OAAO,MAAM,CAAC,CAAC,SAAS;CACtC,SAAS;AACV,CAAC;AACD,MAAM,cAAc,KAAK;CACxB,MAAM;CACN,WAAW;CACX,YAAY,KAAK,OAAO,MAAM,CAAC,CAAC,SAAS;CACzC,eAAe;CACf,UAAU;CACV,QAAQ;CACR,SAAS;CACT,YAAY;AACb,CAAC;AACD,MAAM,4BAA4B,KAAK;CACtC,KAAK;CACL,aAAa;CACb,WAAW;CACX,SAAS,KAAK,OAAO,MAAM,CAAC,CAAC,SAAS;CACtC,YAAY;AACb,CAAC;AACD,MAAM,yBAAyB,KAAK;CACnC,KAAK;CACL,aAAa;CACb,WAAW;CACX,SAAS,KAAK,OAAO,MAAM,CAAC,CAAC,SAAS;AACvC,CAAC;AACD,MAAM,0BAA0B,KAAK,QAAQ,CAAC,CAAC,KAAK,gEAAgE;AACpH,MAAM,mBAAmB,KAAK,QAAQ,CAAC,CAAC,KAAK;CAC5C,QAAQ;CACR,QAAQ;CACR,SAAS;CACT,aAAa;CACb,aAAa;AACd,CAAC;AACD,MAAM,wBAAwB,KAAK;CAClC,KAAK;CACL,MAAM;CACN,WAAW;CACX,YAAY;AACb,CAAC;AACD,MAAM,qBAAqB,KAAK;CAC/B,KAAK;CACL,SAAS,KAAK,EAAE,YAAY,oBAAoB,CAAC;CACjD,eAAe;CACf,SAAS,uBAAuB,MAAM,CAAC,CAAC,SAAS;CACjD,SAAS,YAAY,MAAM,CAAC,CAAC,SAAS;CACtC,aAAa,iBAAiB,MAAM,CAAC,CAAC,SAAS;CAC/C,YAAY;CACZ,WAAW,sBAAsB,MAAM,CAAC,CAAC,SAAS;AACnD,CAAC;AAGD,MAAM,kBAAkB;CACvB,MAAM;CACN,QAAQ;CACR,YAAY,UAAU,IAAI,aAAa;EACtC,GAAG;EACH,SAAS,MAAM,QAAQ,KAAK,MAAM,aAAa,QAAQ,IAAI,yBAAyB,CAAC,CAAC;EACtF,GAAG,UAAU,UAAU,MAAM,QAAQ,KAAK,MAAM,aAAa,kBAAkB,IAAI,mCAAmC,CAAC,CAAC,CAAC;CAC1H,CAAC;AACF;AACA,MAAM,qBAAqB;CAC1B,MAAM;CACN,QAAQ;CACR,YAAY,UAAU,IAAI,gBAAgB,KAAK;AAChD;;;;;;;;;AASA,SAAS,sBAAsB,YAAY,CAAC,GAAG;CAC9C,MAAM,wBAAwB,IAAI,IAAI,CAAC,CAAC,SAAS,eAAe,GAAG,CAAC,YAAY,kBAAkB,CAAC,CAAC;CACpG,KAAK,MAAM,cAAc,WAAW;EACnC,IAAI,MAAM,IAAI,WAAW,IAAI,GAAG,MAAM,cAAc,sCAAsC,iDAAiD,WAAW,KAAK,4CAA4C,EAAE,MAAM,EAAE,YAAY,WAAW,KAAK,EAAE,CAAC;EAChP,MAAM,IAAI,WAAW,MAAM,UAAU;CACtC;CACA,OAAO;AACR"}
@@ -1,6 +1,6 @@
1
1
  import { t as contractError } from "./contract-errors-BCN6RVI5-5IHBF_lg.mjs";
2
- import { m as parseNaming } from "./naming-BLraiRfc-DKPaCL0a.mjs";
3
- import { a as PrimaryKey, c as StorageTable, i as Index, l as UniqueConstraint, n as ForeignKey, s as StorageColumn } from "./storage-table-CyL4CNMi-zOQ-vTUd.mjs";
2
+ import { m as parseNaming } from "./naming-DkG_OegU-DpENNdZX.mjs";
3
+ import { a as PrimaryKey, c as StorageTable, i as Index, l as UniqueConstraint, n as ForeignKey, s as StorageColumn } from "./storage-table-CyL4CNMi-ByGZXmzd.mjs";
4
4
  import { UNBOUND_NAMESPACE_ID } from "@prisma/orm-framework/components/ir";
5
5
  import { asNamespaceId } from "@prisma/orm-framework/contract/types";
6
6
  //#region ../../../2-sql/1-core/contract/dist/factories.mjs
@@ -80,4 +80,4 @@ function model(tableName, fields, relations = {}, namespaceId = UNBOUND_NAMESPAC
80
80
  //#endregion
81
81
  export { pk as a, model as i, fk as n, table as o, index as r, unique as s, col as t };
82
82
 
83
- //# sourceMappingURL=factories-WPleYaty.mjs.map
83
+ //# sourceMappingURL=factories-BsUyFxsk.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"factories-WPleYaty.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/factories.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { a as ForeignKey, i as PrimaryKey, n as UniqueConstraint, r as StorageColumn, s as Index, t as StorageTable } from \"./storage-table-CyL4CNMi.mjs\";\nimport { parseNaming } from \"@internal/sql-schema-ir/naming\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\nimport { asNamespaceId } from \"@internal/contract/types\";\n//#region src/factories.ts\nfunction col(dataType, codecId, nullable = false, opts) {\n\tif (opts?.elementNullable !== void 0 && opts.many !== true) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", \"StorageColumn elementNullable must be nested under many.\", { meta: { reason: \"elementNullable-without-many\" } });\n\treturn new StorageColumn({\n\t\tdataType,\n\t\tcodecId,\n\t\tnullable,\n\t\tmany: opts?.many === true ? { elementNullable: opts.elementNullable ?? false } : false\n\t});\n}\nfunction pk(...columns) {\n\treturn new PrimaryKey({ columns });\n}\nfunction unique(...columns) {\n\treturn new UniqueConstraint({ columns });\n}\nfunction index(name, columns, opts) {\n\treturn new Index({\n\t\tnaming: parseNaming(name, opts?.prefix),\n\t\tcolumns,\n\t\twhere: void 0,\n\t\tunique: opts?.unique ?? false,\n\t\ttype: opts?.type,\n\t\toptions: opts?.options\n\t});\n}\nfunction fk(srcTableName, srcColumns, targetTableName, targetColumns, opts) {\n\tconst namespaceId = asNamespaceId(opts?.namespaceId ?? UNBOUND_NAMESPACE_ID);\n\treturn new ForeignKey({\n\t\tsource: {\n\t\t\tnamespaceId,\n\t\t\ttableName: srcTableName,\n\t\t\tcolumns: srcColumns\n\t\t},\n\t\ttarget: {\n\t\t\tnamespaceId,\n\t\t\ttableName: targetTableName,\n\t\t\tcolumns: targetColumns\n\t\t},\n\t\t...opts?.name !== void 0 && { name: opts.name },\n\t\t...opts?.onDelete !== void 0 && { onDelete: opts.onDelete },\n\t\t...opts?.onUpdate !== void 0 && { onUpdate: opts.onUpdate }\n\t});\n}\nfunction table(columns, opts) {\n\treturn new StorageTable({\n\t\tcolumns,\n\t\t...opts?.pk !== void 0 && { primaryKey: opts.pk },\n\t\tuniques: opts?.uniques ?? [],\n\t\tindexes: opts?.indexes ?? [],\n\t\tforeignKeys: opts?.fks ?? []\n\t});\n}\nfunction model(tableName, fields, relations = {}, namespaceId = UNBOUND_NAMESPACE_ID) {\n\tconst storage = {\n\t\ttable: tableName,\n\t\tnamespaceId,\n\t\tfields\n\t};\n\tconst domainFields = {};\n\tfor (const [name, field] of Object.entries(fields)) domainFields[name] = {\n\t\tnullable: field.nullable ?? false,\n\t\ttype: {\n\t\t\tkind: \"scalar\",\n\t\t\tcodecId: field.codecId ?? \"core/unknown@1\"\n\t\t},\n\t\tmany: false\n\t};\n\treturn {\n\t\tstorage,\n\t\tfields: domainFields,\n\t\trelations\n\t};\n}\n//#endregion\nexport { col, fk, index, model, pk, table, unique };\n\n//# sourceMappingURL=factories.mjs.map"],"mappings":";;;;;;AAMA,SAAS,IAAI,UAAU,SAAS,WAAW,OAAO,MAAM;CACvD,IAAI,MAAM,oBAAoB,KAAK,KAAK,KAAK,SAAS,MAAM,MAAM,cAAc,6BAA6B,4DAA4D,EAAE,MAAM,EAAE,QAAQ,+BAA+B,EAAE,CAAC;CAC7N,OAAO,IAAI,cAAc;EACxB;EACA;EACA;EACA,MAAM,MAAM,SAAS,OAAO,EAAE,iBAAiB,KAAK,mBAAmB,MAAM,IAAI;CAClF,CAAC;AACF;AACA,SAAS,GAAG,GAAG,SAAS;CACvB,OAAO,IAAI,WAAW,EAAE,QAAQ,CAAC;AAClC;AACA,SAAS,OAAO,GAAG,SAAS;CAC3B,OAAO,IAAI,iBAAiB,EAAE,QAAQ,CAAC;AACxC;AACA,SAAS,MAAM,MAAM,SAAS,MAAM;CACnC,OAAO,IAAI,MAAM;EAChB,QAAQ,YAAY,MAAM,MAAM,MAAM;EACtC;EACA,OAAO,KAAK;EACZ,QAAQ,MAAM,UAAU;EACxB,MAAM,MAAM;EACZ,SAAS,MAAM;CAChB,CAAC;AACF;AACA,SAAS,GAAG,cAAc,YAAY,iBAAiB,eAAe,MAAM;CAC3E,MAAM,cAAc,cAAc,MAAM,eAAe,oBAAoB;CAC3E,OAAO,IAAI,WAAW;EACrB,QAAQ;GACP;GACA,WAAW;GACX,SAAS;EACV;EACA,QAAQ;GACP;GACA,WAAW;GACX,SAAS;EACV;EACA,GAAG,MAAM,SAAS,KAAK,KAAK,EAAE,MAAM,KAAK,KAAK;EAC9C,GAAG,MAAM,aAAa,KAAK,KAAK,EAAE,UAAU,KAAK,SAAS;EAC1D,GAAG,MAAM,aAAa,KAAK,KAAK,EAAE,UAAU,KAAK,SAAS;CAC3D,CAAC;AACF;AACA,SAAS,MAAM,SAAS,MAAM;CAC7B,OAAO,IAAI,aAAa;EACvB;EACA,GAAG,MAAM,OAAO,KAAK,KAAK,EAAE,YAAY,KAAK,GAAG;EAChD,SAAS,MAAM,WAAW,CAAC;EAC3B,SAAS,MAAM,WAAW,CAAC;EAC3B,aAAa,MAAM,OAAO,CAAC;CAC5B,CAAC;AACF;AACA,SAAS,MAAM,WAAW,QAAQ,YAAY,CAAC,GAAG,cAAc,sBAAsB;CACrF,MAAM,UAAU;EACf,OAAO;EACP;EACA;CACD;CACA,MAAM,eAAe,CAAC;CACtB,KAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAQ,MAAM,GAAG,aAAa,QAAQ;EACxE,UAAU,MAAM,YAAY;EAC5B,MAAM;GACL,MAAM;GACN,SAAS,MAAM,WAAW;EAC3B;EACA,MAAM;CACP;CACA,OAAO;EACN;EACA,QAAQ;EACR;CACD;AACD"}
1
+ {"version":3,"file":"factories-BsUyFxsk.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/factories.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { a as ForeignKey, i as PrimaryKey, n as UniqueConstraint, r as StorageColumn, s as Index, t as StorageTable } from \"./storage-table-CyL4CNMi.mjs\";\nimport { parseNaming } from \"@internal/sql-schema-ir/naming\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\nimport { asNamespaceId } from \"@internal/contract/types\";\n//#region src/factories.ts\nfunction col(dataType, codecId, nullable = false, opts) {\n\tif (opts?.elementNullable !== void 0 && opts.many !== true) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", \"StorageColumn elementNullable must be nested under many.\", { meta: { reason: \"elementNullable-without-many\" } });\n\treturn new StorageColumn({\n\t\tdataType,\n\t\tcodecId,\n\t\tnullable,\n\t\tmany: opts?.many === true ? { elementNullable: opts.elementNullable ?? false } : false\n\t});\n}\nfunction pk(...columns) {\n\treturn new PrimaryKey({ columns });\n}\nfunction unique(...columns) {\n\treturn new UniqueConstraint({ columns });\n}\nfunction index(name, columns, opts) {\n\treturn new Index({\n\t\tnaming: parseNaming(name, opts?.prefix),\n\t\tcolumns,\n\t\twhere: void 0,\n\t\tunique: opts?.unique ?? false,\n\t\ttype: opts?.type,\n\t\toptions: opts?.options\n\t});\n}\nfunction fk(srcTableName, srcColumns, targetTableName, targetColumns, opts) {\n\tconst namespaceId = asNamespaceId(opts?.namespaceId ?? UNBOUND_NAMESPACE_ID);\n\treturn new ForeignKey({\n\t\tsource: {\n\t\t\tnamespaceId,\n\t\t\ttableName: srcTableName,\n\t\t\tcolumns: srcColumns\n\t\t},\n\t\ttarget: {\n\t\t\tnamespaceId,\n\t\t\ttableName: targetTableName,\n\t\t\tcolumns: targetColumns\n\t\t},\n\t\t...opts?.name !== void 0 && { name: opts.name },\n\t\t...opts?.onDelete !== void 0 && { onDelete: opts.onDelete },\n\t\t...opts?.onUpdate !== void 0 && { onUpdate: opts.onUpdate }\n\t});\n}\nfunction table(columns, opts) {\n\treturn new StorageTable({\n\t\tcolumns,\n\t\t...opts?.pk !== void 0 && { primaryKey: opts.pk },\n\t\tuniques: opts?.uniques ?? [],\n\t\tindexes: opts?.indexes ?? [],\n\t\tforeignKeys: opts?.fks ?? []\n\t});\n}\nfunction model(tableName, fields, relations = {}, namespaceId = UNBOUND_NAMESPACE_ID) {\n\tconst storage = {\n\t\ttable: tableName,\n\t\tnamespaceId,\n\t\tfields\n\t};\n\tconst domainFields = {};\n\tfor (const [name, field] of Object.entries(fields)) domainFields[name] = {\n\t\tnullable: field.nullable ?? false,\n\t\ttype: {\n\t\t\tkind: \"scalar\",\n\t\t\tcodecId: field.codecId ?? \"core/unknown@1\"\n\t\t},\n\t\tmany: false\n\t};\n\treturn {\n\t\tstorage,\n\t\tfields: domainFields,\n\t\trelations\n\t};\n}\n//#endregion\nexport { col, fk, index, model, pk, table, unique };\n\n//# sourceMappingURL=factories.mjs.map"],"mappings":";;;;;;AAMA,SAAS,IAAI,UAAU,SAAS,WAAW,OAAO,MAAM;CACvD,IAAI,MAAM,oBAAoB,KAAK,KAAK,KAAK,SAAS,MAAM,MAAM,cAAc,6BAA6B,4DAA4D,EAAE,MAAM,EAAE,QAAQ,+BAA+B,EAAE,CAAC;CAC7N,OAAO,IAAI,cAAc;EACxB;EACA;EACA;EACA,MAAM,MAAM,SAAS,OAAO,EAAE,iBAAiB,KAAK,mBAAmB,MAAM,IAAI;CAClF,CAAC;AACF;AACA,SAAS,GAAG,GAAG,SAAS;CACvB,OAAO,IAAI,WAAW,EAAE,QAAQ,CAAC;AAClC;AACA,SAAS,OAAO,GAAG,SAAS;CAC3B,OAAO,IAAI,iBAAiB,EAAE,QAAQ,CAAC;AACxC;AACA,SAAS,MAAM,MAAM,SAAS,MAAM;CACnC,OAAO,IAAI,MAAM;EAChB,QAAQ,YAAY,MAAM,MAAM,MAAM;EACtC;EACA,OAAO,KAAK;EACZ,QAAQ,MAAM,UAAU;EACxB,MAAM,MAAM;EACZ,SAAS,MAAM;CAChB,CAAC;AACF;AACA,SAAS,GAAG,cAAc,YAAY,iBAAiB,eAAe,MAAM;CAC3E,MAAM,cAAc,cAAc,MAAM,eAAe,oBAAoB;CAC3E,OAAO,IAAI,WAAW;EACrB,QAAQ;GACP;GACA,WAAW;GACX,SAAS;EACV;EACA,QAAQ;GACP;GACA,WAAW;GACX,SAAS;EACV;EACA,GAAG,MAAM,SAAS,KAAK,KAAK,EAAE,MAAM,KAAK,KAAK;EAC9C,GAAG,MAAM,aAAa,KAAK,KAAK,EAAE,UAAU,KAAK,SAAS;EAC1D,GAAG,MAAM,aAAa,KAAK,KAAK,EAAE,UAAU,KAAK,SAAS;CAC3D,CAAC;AACF;AACA,SAAS,MAAM,SAAS,MAAM;CAC7B,OAAO,IAAI,aAAa;EACvB;EACA,GAAG,MAAM,OAAO,KAAK,KAAK,EAAE,YAAY,KAAK,GAAG;EAChD,SAAS,MAAM,WAAW,CAAC;EAC3B,SAAS,MAAM,WAAW,CAAC;EAC3B,aAAa,MAAM,OAAO,CAAC;CAC5B,CAAC;AACF;AACA,SAAS,MAAM,WAAW,QAAQ,YAAY,CAAC,GAAG,cAAc,sBAAsB;CACrF,MAAM,UAAU;EACf,OAAO;EACP;EACA;CACD;CACA,MAAM,eAAe,CAAC;CACtB,KAAK,MAAM,CAAC,MAAM,UAAU,OAAO,QAAQ,MAAM,GAAG,aAAa,QAAQ;EACxE,UAAU,MAAM,YAAY;EAC5B,MAAM;GACL,MAAM;GACN,SAAS,MAAM,WAAW;EAC3B;EACA,MAAM;CACP;CACA,OAAO;EACN;EACA,QAAQ;EACR;CACD;AACD"}
package/dist/family.mjs CHANGED
@@ -1,14 +1,14 @@
1
1
  import { t as resolveStorageTable } from "./resolve-storage-table-DZsfnzeW.mjs";
2
- import { n as checkSqlDefaultText } from "./validators-Ddcw8nHL.mjs";
3
- import { a as computeStorageTypeVerdict, c as verifySqlSchemaByDiff, i as computeSqlDiffVerdict, n as classifyDiffSubjectGranularity, r as classifySqlDiffIssue, s as extractCodecControlHooks } from "./schema-verify-DIfHSB4I-BK55V2WO.mjs";
4
- import { n as SqlContractSerializerBase, t as SqlContractSerializer } from "./sql-contract-serializer-DDaAVCQr-D40NltYi.mjs";
2
+ import { n as checkSqlDefaultText } from "./validators-Xx-TKcx3.mjs";
3
+ import { a as computeStorageTypeVerdict, c as verifySqlSchemaByDiff, i as computeSqlDiffVerdict, n as classifyDiffSubjectGranularity, r as classifySqlDiffIssue, s as extractCodecControlHooks } from "./schema-verify-DIfHSB4I-CjYnmUuD.mjs";
4
+ import { n as SqlContractSerializerBase, t as SqlContractSerializer } from "./sql-contract-serializer-DDaAVCQr-CLDkZLXO.mjs";
5
5
  import { n as parseContractMarkerRow } from "./verify-BVk5bjdH-dq5M4iIh.mjs";
6
- import { _ as runnerFailure, a as contractNamespaceToSchemaIR, b as temporalCodecPresetWithPrecision, d as detectTableNameCaseChanges, f as partitionCallsByControlPolicy, g as plannerSuccess, h as plannerFailure, i as assembleAuthoringContributions, l as createMigrationPlan, m as planFieldEventOperations, n as TABLE_NAME_CASE_CHANGED_CODE, o as contractToSchemaIR, p as partitionIssuesByControlPolicy, r as applyTableRename, s as controlPolicyForCall, t as INIT_ADDITIVE_POLICY, u as detectDestructiveChanges, v as runnerSuccess, x as temporalStringAuthoringPresets, y as sqlTypeLookupsOf } from "./control-ihau09EM.mjs";
6
+ import { _ as runnerFailure, a as contractNamespaceToSchemaIR, b as temporalCodecPresetWithPrecision, d as detectTableNameCaseChanges, f as partitionCallsByControlPolicy, g as plannerSuccess, h as plannerFailure, i as assembleAuthoringContributions, l as createMigrationPlan, m as planFieldEventOperations, n as TABLE_NAME_CASE_CHANGED_CODE, o as contractToSchemaIR, p as partitionIssuesByControlPolicy, r as applyTableRename, s as controlPolicyForCall, t as INIT_ADDITIVE_POLICY, u as detectDestructiveChanges, v as runnerSuccess, x as temporalStringAuthoringPresets, y as sqlTypeLookupsOf } from "./control-DxvOSmwF.mjs";
7
7
  import { t as arraysEqual } from "./diff-B16bL_IR.mjs";
8
8
  import { t as SqlSchemaVerifierBase } from "./ir-I-xciGUH.mjs";
9
9
  import { t as SqlMigration } from "./migration-CK4oePIo.mjs";
10
10
  import { s as toEnumMemberName } from "./psl-names-C3cwe0rg-CsuHOV7E.mjs";
11
- import { t as mapDefault } from "./psl-build-B_fRV6lN.mjs";
12
- import { a as pluralize, c as toModelName, i as inferRelations, n as deriveBackRelationFieldName, o as toEnumName, r as deriveRelationFieldName, s as toFieldName, t as buildChildRelationField } from "./psl-infer-BokOY1hK.mjs";
11
+ import { t as mapDefault } from "./psl-build-Di-cBOCv.mjs";
12
+ import { a as pluralize, c as toModelName, i as inferRelations, n as deriveBackRelationFieldName, o as toEnumName, r as deriveRelationFieldName, s as toFieldName, t as buildChildRelationField } from "./psl-infer-fU7LRjTx.mjs";
13
13
  import { i as timestampNowRuntimeGenerator, n as resolveDomainModel, t as UNBOUND_DOMAIN_NAMESPACE_ID } from "./runtime-Z3nD7ix1.mjs";
14
14
  export { INIT_ADDITIVE_POLICY, SqlMigration as Migration, SqlContractSerializer, SqlContractSerializerBase, SqlSchemaVerifierBase, TABLE_NAME_CASE_CHANGED_CODE, UNBOUND_DOMAIN_NAMESPACE_ID, applyTableRename, arraysEqual, assembleAuthoringContributions, buildChildRelationField, checkSqlDefaultText, classifyDiffSubjectGranularity, classifySqlDiffIssue, computeSqlDiffVerdict, computeStorageTypeVerdict, contractNamespaceToSchemaIR, contractToSchemaIR, controlPolicyForCall, createMigrationPlan, deriveBackRelationFieldName, deriveRelationFieldName, detectDestructiveChanges, detectTableNameCaseChanges, extractCodecControlHooks, inferRelations, mapDefault, parseContractMarkerRow, partitionCallsByControlPolicy, partitionIssuesByControlPolicy, planFieldEventOperations, plannerFailure, plannerSuccess, pluralize, resolveDomainModel, resolveStorageTable, runnerFailure, runnerSuccess, sqlTypeLookupsOf, temporalCodecPresetWithPrecision, temporalStringAuthoringPresets, timestampNowRuntimeGenerator, toEnumMemberName, toEnumName, toFieldName, toModelName, verifySqlSchemaByDiff };
@@ -1,4 +1,4 @@
1
- import { n as checkSqlDefaultText } from "./validators-Ddcw8nHL.mjs";
2
- import { s as extractCodecControlHooks } from "./schema-verify-DIfHSB4I-BK55V2WO.mjs";
3
- import { _ as runnerFailure, a as contractNamespaceToSchemaIR, b as temporalCodecPresetWithPrecision, c as control_default, d as detectTableNameCaseChanges, f as partitionCallsByControlPolicy, g as plannerSuccess, h as plannerFailure, i as assembleAuthoringContributions, l as createMigrationPlan, m as planFieldEventOperations, n as TABLE_NAME_CASE_CHANGED_CODE, o as contractToSchemaIR, p as partitionIssuesByControlPolicy, r as applyTableRename, s as controlPolicyForCall, t as INIT_ADDITIVE_POLICY, u as detectDestructiveChanges, v as runnerSuccess, x as temporalStringAuthoringPresets, y as sqlTypeLookupsOf } from "./control-ihau09EM.mjs";
1
+ import { n as checkSqlDefaultText } from "./validators-Xx-TKcx3.mjs";
2
+ import { s as extractCodecControlHooks } from "./schema-verify-DIfHSB4I-CjYnmUuD.mjs";
3
+ import { _ as runnerFailure, a as contractNamespaceToSchemaIR, b as temporalCodecPresetWithPrecision, c as control_default, d as detectTableNameCaseChanges, f as partitionCallsByControlPolicy, g as plannerSuccess, h as plannerFailure, i as assembleAuthoringContributions, l as createMigrationPlan, m as planFieldEventOperations, n as TABLE_NAME_CASE_CHANGED_CODE, o as contractToSchemaIR, p as partitionIssuesByControlPolicy, r as applyTableRename, s as controlPolicyForCall, t as INIT_ADDITIVE_POLICY, u as detectDestructiveChanges, v as runnerSuccess, x as temporalStringAuthoringPresets, y as sqlTypeLookupsOf } from "./control-DxvOSmwF.mjs";
4
4
  export { INIT_ADDITIVE_POLICY, TABLE_NAME_CASE_CHANGED_CODE, applyTableRename, assembleAuthoringContributions, checkSqlDefaultText, contractNamespaceToSchemaIR, contractToSchemaIR, controlPolicyForCall, createMigrationPlan, control_default as default, detectDestructiveChanges, detectTableNameCaseChanges, extractCodecControlHooks, partitionCallsByControlPolicy, partitionIssuesByControlPolicy, planFieldEventOperations, plannerFailure, plannerSuccess, runnerFailure, runnerSuccess, sqlTypeLookupsOf, temporalCodecPresetWithPrecision, temporalStringAuthoringPresets };
@@ -1,3 +1,3 @@
1
- import { a as computeStorageTypeVerdict, c as verifySqlSchemaByDiff, i as computeSqlDiffVerdict, n as classifyDiffSubjectGranularity, r as classifySqlDiffIssue } from "./schema-verify-DIfHSB4I-BK55V2WO.mjs";
1
+ import { a as computeStorageTypeVerdict, c as verifySqlSchemaByDiff, i as computeSqlDiffVerdict, n as classifyDiffSubjectGranularity, r as classifySqlDiffIssue } from "./schema-verify-DIfHSB4I-CjYnmUuD.mjs";
2
2
  import { t as arraysEqual } from "./diff-B16bL_IR.mjs";
3
3
  export { arraysEqual, classifyDiffSubjectGranularity, classifySqlDiffIssue, computeSqlDiffVerdict, computeStorageTypeVerdict, verifySqlSchemaByDiff };
@@ -1,3 +1,3 @@
1
- import { n as SqlContractSerializerBase, t as SqlContractSerializer } from "./sql-contract-serializer-DDaAVCQr-D40NltYi.mjs";
1
+ import { n as SqlContractSerializerBase, t as SqlContractSerializer } from "./sql-contract-serializer-DDaAVCQr-CLDkZLXO.mjs";
2
2
  import { t as SqlSchemaVerifierBase } from "./ir-I-xciGUH.mjs";
3
3
  export { SqlContractSerializer, SqlContractSerializerBase, SqlSchemaVerifierBase };
@@ -1,5 +1,5 @@
1
- import { b as sqlAttributeSpecs } from "./psl-field-resolution-DUCrDnuq-BXwISml1.mjs";
2
- import { i as sqlFamilyPslBlockDescriptors, n as sqlFamilyAuthoringTypes, r as sqlFamilyEntityTypes, t as sqlFamilyAuthoringFieldPresets } from "./authoring-type-constructors-dihiQslc-B5nYi7p2.mjs";
1
+ import { b as sqlAttributeSpecs } from "./psl-field-resolution-DUCrDnuq-DSxPrd-4.mjs";
2
+ import { i as sqlFamilyPslBlockDescriptors, n as sqlFamilyAuthoringTypes, r as sqlFamilyEntityTypes, t as sqlFamilyAuthoringFieldPresets } from "./authoring-type-constructors-0Iv2zdwS-CVl4womm.mjs";
3
3
  //#region ../../../2-sql/9-family/dist/pack.mjs
4
4
  const sqlFamilyPack = {
5
5
  kind: "family",
@@ -1 +1 @@
1
- {"version":3,"file":"family__pack.mjs","names":[],"sources":["../../../../2-sql/9-family/dist/pack.mjs"],"sourcesContent":["import { i as sqlFamilyPslBlockDescriptors, n as sqlFamilyAuthoringFieldPresets, r as sqlFamilyEntityTypes, t as sqlFamilyAuthoringTypes } from \"./authoring-type-constructors-dihiQslc.mjs\";\nimport { sqlAttributeSpecs } from \"@internal/sql-contract-psl/attribute-specs\";\n//#region src/exports/pack.ts\nconst sqlFamilyPack = {\n\tkind: \"family\",\n\tid: \"sql\",\n\tfamilyId: \"sql\",\n\tversion: \"0.0.1\",\n\tauthoring: {\n\t\tfield: sqlFamilyAuthoringFieldPresets,\n\t\ttype: sqlFamilyAuthoringTypes,\n\t\tentityTypes: sqlFamilyEntityTypes,\n\t\tpslBlockDescriptors: sqlFamilyPslBlockDescriptors,\n\t\tattributeSpecs: sqlAttributeSpecs\n\t}\n};\n//#endregion\nexport { sqlFamilyPack as default };\n\n//# sourceMappingURL=pack.mjs.map"],"mappings":";;;AAGA,MAAM,gBAAgB;CACrB,MAAM;CACN,IAAI;CACJ,UAAU;CACV,SAAS;CACT,WAAW;EACV,OAAO;EACP,MAAM;EACN,aAAa;EACb,qBAAqB;EACrB,gBAAgB;CACjB;AACD"}
1
+ {"version":3,"file":"family__pack.mjs","names":[],"sources":["../../../../2-sql/9-family/dist/pack.mjs"],"sourcesContent":["import { i as sqlFamilyPslBlockDescriptors, n as sqlFamilyAuthoringFieldPresets, r as sqlFamilyEntityTypes, t as sqlFamilyAuthoringTypes } from \"./authoring-type-constructors-0Iv2zdwS.mjs\";\nimport { sqlAttributeSpecs } from \"@internal/sql-contract-psl/attribute-specs\";\n//#region src/exports/pack.ts\nconst sqlFamilyPack = {\n\tkind: \"family\",\n\tid: \"sql\",\n\tfamilyId: \"sql\",\n\tversion: \"0.0.1\",\n\tauthoring: {\n\t\tfield: sqlFamilyAuthoringFieldPresets,\n\t\ttype: sqlFamilyAuthoringTypes,\n\t\tentityTypes: sqlFamilyEntityTypes,\n\t\tpslBlockDescriptors: sqlFamilyPslBlockDescriptors,\n\t\tattributeSpecs: sqlAttributeSpecs\n\t}\n};\n//#endregion\nexport { sqlFamilyPack as default };\n\n//# sourceMappingURL=pack.mjs.map"],"mappings":";;;AAGA,MAAM,gBAAgB;CACrB,MAAM;CACN,IAAI;CACJ,UAAU;CACV,SAAS;CACT,WAAW;EACV,OAAO;EACP,MAAM;EACN,aAAa;EACb,qBAAqB;EACrB,gBAAgB;CACjB;AACD"}
@@ -1,3 +1,3 @@
1
1
  import { s as toEnumMemberName } from "./psl-names-C3cwe0rg-CsuHOV7E.mjs";
2
- import { t as mapDefault } from "./psl-build-B_fRV6lN.mjs";
2
+ import { t as mapDefault } from "./psl-build-Di-cBOCv.mjs";
3
3
  export { mapDefault, toEnumMemberName };
@@ -1,2 +1,2 @@
1
- import { a as pluralize, c as toModelName, i as inferRelations, n as deriveBackRelationFieldName, o as toEnumName, r as deriveRelationFieldName, s as toFieldName, t as buildChildRelationField } from "./psl-infer-BokOY1hK.mjs";
1
+ import { a as pluralize, c as toModelName, i as inferRelations, n as deriveBackRelationFieldName, o as toEnumName, r as deriveRelationFieldName, s as toFieldName, t as buildChildRelationField } from "./psl-infer-fU7LRjTx.mjs";
2
2
  export { buildChildRelationField, deriveBackRelationFieldName, deriveRelationFieldName, inferRelations, pluralize, toEnumName, toFieldName, toModelName };
@@ -1,5 +1,5 @@
1
- import { g as truncateToWireNamePrefixBytes, o as defaultIndexName } from "./naming-BLraiRfc-DKPaCL0a.mjs";
2
- import { r as lowerAuthoredIndex } from "./index-naming-Cj1Anq-T-DgO8vEIL.mjs";
1
+ import { g as truncateToWireNamePrefixBytes, o as defaultIndexName } from "./naming-DkG_OegU-DpENNdZX.mjs";
2
+ import { r as lowerAuthoredIndex } from "./index-naming-Cj1Anq-T-NX841eiU.mjs";
3
3
  //#region ../../../2-sql/1-core/contract/dist/foreign-key-materialization.mjs
4
4
  /**
5
5
  * The column-list keys (`"colA,colB"`, order preserved) a table's own
@@ -70,4 +70,4 @@ function materializeForeignKeysAndIndexes(tableName, foreignKeys, declaredIndexe
70
70
  //#endregion
71
71
  export { isBackedByColumnKeys as n, materializeForeignKeysAndIndexes as r, backingIndexColumnKeys as t };
72
72
 
73
- //# sourceMappingURL=foreign-key-materialization-uN1uuv25.mjs.map
73
+ //# sourceMappingURL=foreign-key-materialization-IGfTKmHV.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"foreign-key-materialization-uN1uuv25.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/foreign-key-materialization.mjs"],"sourcesContent":["import { r as lowerAuthoredIndex } from \"./index-naming-Cj1Anq-T.mjs\";\nimport { defaultIndexName, truncateToWireNamePrefixBytes } from \"@internal/sql-schema-ir/naming\";\n//#region src/foreign-key-materialization.ts\n/**\n* The column-list keys (`\"colA,colB\"`, order preserved) a table's own\n* indexes, unique constraints, and primary key already back. A foreign key\n* whose source columns join to one of these keys needs no separately\n* derived backing index.\n*\n* Shared by {@link isBackedByColumnKeys}'s callers: `materializeForeignKeysAndIndexes`\n* (deriving the discrete backing-index entities persisted at `contract emit`)\n* and the postgres PSL inferrer (deciding whether an introspected relation\n* needs an explicit `index: false`).\n*/\nfunction backingIndexColumnKeys(table) {\n\treturn [\n\t\t...table.indexes.flatMap((index) => index.columns !== void 0 ? [index.columns.join(\",\")] : []),\n\t\t...table.uniques.map((unique) => unique.columns.join(\",\")),\n\t\t...table.primaryKey ? [table.primaryKey.columns.join(\",\")] : []\n\t];\n}\n/**\n* Whether `columns`, in order, matches one of `backingKeys` (see\n* {@link backingIndexColumnKeys}). Order-sensitive: `(a, b)` does not\n* satisfy a backing index declared as `(b, a)`.\n*/\nfunction isBackedByColumnKeys(columns, backingKeys) {\n\treturn backingKeys.includes(columns.join(\",\"));\n}\n/**\n* Lowers a table's authored foreign keys into the discrete entities\n* `contract.json` persists: a `constraint: false` FK contributes no\n* `foreignKeys[]` entry, and an `index: true` FK whose columns aren't already\n* backed by a declared index/unique/primary-key contributes a wire-named\n* `indexes[]` entry (byte-budgeted default prefix + content-hash wire name).\n* Declared indexes always survive unchanged; a second FK sharing an already\n* synthesized backing index does not mint a duplicate.\n*/\nfunction materializeForeignKeysAndIndexes(tableName, foreignKeys, declaredIndexes, uniques, primaryKey) {\n\tconst satisfiedIndexColumns = new Set(backingIndexColumnKeys({\n\t\tindexes: declaredIndexes,\n\t\tuniques,\n\t\tprimaryKey\n\t}));\n\tconst synthesizedIndexes = [];\n\tconst materializedForeignKeys = [];\n\tfor (const { constraint, index, ...reference } of foreignKeys) {\n\t\tif (constraint !== false) materializedForeignKeys.push(reference);\n\t\tif (index !== false) {\n\t\t\tconst key = reference.source.columns.join(\",\");\n\t\t\tif (!satisfiedIndexColumns.has(key)) {\n\t\t\t\tsynthesizedIndexes.push(lowerAuthoredIndex(tableName, {\n\t\t\t\t\tcolumns: reference.source.columns,\n\t\t\t\t\twhere: void 0,\n\t\t\t\t\tunique: void 0,\n\t\t\t\t\tmap: void 0,\n\t\t\t\t\tname: truncateToWireNamePrefixBytes(defaultIndexName(tableName, reference.source.columns)),\n\t\t\t\t\ttype: void 0,\n\t\t\t\t\toptions: void 0\n\t\t\t\t}));\n\t\t\t\tsatisfiedIndexColumns.add(key);\n\t\t\t}\n\t\t}\n\t}\n\treturn {\n\t\tforeignKeys: materializedForeignKeys,\n\t\tindexes: [...declaredIndexes, ...synthesizedIndexes]\n\t};\n}\n//#endregion\nexport { backingIndexColumnKeys, isBackedByColumnKeys, materializeForeignKeysAndIndexes };\n\n//# sourceMappingURL=foreign-key-materialization.mjs.map"],"mappings":";;;;;;;;;;;;;;AAcA,SAAS,uBAAuB,OAAO;CACtC,OAAO;EACN,GAAG,MAAM,QAAQ,SAAS,UAAU,MAAM,YAAY,KAAK,IAAI,CAAC,MAAM,QAAQ,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;EAC7F,GAAG,MAAM,QAAQ,KAAK,WAAW,OAAO,QAAQ,KAAK,GAAG,CAAC;EACzD,GAAG,MAAM,aAAa,CAAC,MAAM,WAAW,QAAQ,KAAK,GAAG,CAAC,IAAI,CAAC;CAC/D;AACD;;;;;;AAMA,SAAS,qBAAqB,SAAS,aAAa;CACnD,OAAO,YAAY,SAAS,QAAQ,KAAK,GAAG,CAAC;AAC9C;;;;;;;;;;AAUA,SAAS,iCAAiC,WAAW,aAAa,iBAAiB,SAAS,YAAY;CACvG,MAAM,wBAAwB,IAAI,IAAI,uBAAuB;EAC5D,SAAS;EACT;EACA;CACD,CAAC,CAAC;CACF,MAAM,qBAAqB,CAAC;CAC5B,MAAM,0BAA0B,CAAC;CACjC,KAAK,MAAM,EAAE,YAAY,OAAO,GAAG,eAAe,aAAa;EAC9D,IAAI,eAAe,OAAO,wBAAwB,KAAK,SAAS;EAChE,IAAI,UAAU,OAAO;GACpB,MAAM,MAAM,UAAU,OAAO,QAAQ,KAAK,GAAG;GAC7C,IAAI,CAAC,sBAAsB,IAAI,GAAG,GAAG;IACpC,mBAAmB,KAAK,mBAAmB,WAAW;KACrD,SAAS,UAAU,OAAO;KAC1B,OAAO,KAAK;KACZ,QAAQ,KAAK;KACb,KAAK,KAAK;KACV,MAAM,8BAA8B,iBAAiB,WAAW,UAAU,OAAO,OAAO,CAAC;KACzF,MAAM,KAAK;KACX,SAAS,KAAK;IACf,CAAC,CAAC;IACF,sBAAsB,IAAI,GAAG;GAC9B;EACD;CACD;CACA,OAAO;EACN,aAAa;EACb,SAAS,CAAC,GAAG,iBAAiB,GAAG,kBAAkB;CACpD;AACD"}
1
+ {"version":3,"file":"foreign-key-materialization-IGfTKmHV.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/foreign-key-materialization.mjs"],"sourcesContent":["import { r as lowerAuthoredIndex } from \"./index-naming-Cj1Anq-T.mjs\";\nimport { defaultIndexName, truncateToWireNamePrefixBytes } from \"@internal/sql-schema-ir/naming\";\n//#region src/foreign-key-materialization.ts\n/**\n* The column-list keys (`\"colA,colB\"`, order preserved) a table's own\n* indexes, unique constraints, and primary key already back. A foreign key\n* whose source columns join to one of these keys needs no separately\n* derived backing index.\n*\n* Shared by {@link isBackedByColumnKeys}'s callers: `materializeForeignKeysAndIndexes`\n* (deriving the discrete backing-index entities persisted at `contract emit`)\n* and the postgres PSL inferrer (deciding whether an introspected relation\n* needs an explicit `index: false`).\n*/\nfunction backingIndexColumnKeys(table) {\n\treturn [\n\t\t...table.indexes.flatMap((index) => index.columns !== void 0 ? [index.columns.join(\",\")] : []),\n\t\t...table.uniques.map((unique) => unique.columns.join(\",\")),\n\t\t...table.primaryKey ? [table.primaryKey.columns.join(\",\")] : []\n\t];\n}\n/**\n* Whether `columns`, in order, matches one of `backingKeys` (see\n* {@link backingIndexColumnKeys}). Order-sensitive: `(a, b)` does not\n* satisfy a backing index declared as `(b, a)`.\n*/\nfunction isBackedByColumnKeys(columns, backingKeys) {\n\treturn backingKeys.includes(columns.join(\",\"));\n}\n/**\n* Lowers a table's authored foreign keys into the discrete entities\n* `contract.json` persists: a `constraint: false` FK contributes no\n* `foreignKeys[]` entry, and an `index: true` FK whose columns aren't already\n* backed by a declared index/unique/primary-key contributes a wire-named\n* `indexes[]` entry (byte-budgeted default prefix + content-hash wire name).\n* Declared indexes always survive unchanged; a second FK sharing an already\n* synthesized backing index does not mint a duplicate.\n*/\nfunction materializeForeignKeysAndIndexes(tableName, foreignKeys, declaredIndexes, uniques, primaryKey) {\n\tconst satisfiedIndexColumns = new Set(backingIndexColumnKeys({\n\t\tindexes: declaredIndexes,\n\t\tuniques,\n\t\tprimaryKey\n\t}));\n\tconst synthesizedIndexes = [];\n\tconst materializedForeignKeys = [];\n\tfor (const { constraint, index, ...reference } of foreignKeys) {\n\t\tif (constraint !== false) materializedForeignKeys.push(reference);\n\t\tif (index !== false) {\n\t\t\tconst key = reference.source.columns.join(\",\");\n\t\t\tif (!satisfiedIndexColumns.has(key)) {\n\t\t\t\tsynthesizedIndexes.push(lowerAuthoredIndex(tableName, {\n\t\t\t\t\tcolumns: reference.source.columns,\n\t\t\t\t\twhere: void 0,\n\t\t\t\t\tunique: void 0,\n\t\t\t\t\tmap: void 0,\n\t\t\t\t\tname: truncateToWireNamePrefixBytes(defaultIndexName(tableName, reference.source.columns)),\n\t\t\t\t\ttype: void 0,\n\t\t\t\t\toptions: void 0\n\t\t\t\t}));\n\t\t\t\tsatisfiedIndexColumns.add(key);\n\t\t\t}\n\t\t}\n\t}\n\treturn {\n\t\tforeignKeys: materializedForeignKeys,\n\t\tindexes: [...declaredIndexes, ...synthesizedIndexes]\n\t};\n}\n//#endregion\nexport { backingIndexColumnKeys, isBackedByColumnKeys, materializeForeignKeysAndIndexes };\n\n//# sourceMappingURL=foreign-key-materialization.mjs.map"],"mappings":";;;;;;;;;;;;;;AAcA,SAAS,uBAAuB,OAAO;CACtC,OAAO;EACN,GAAG,MAAM,QAAQ,SAAS,UAAU,MAAM,YAAY,KAAK,IAAI,CAAC,MAAM,QAAQ,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;EAC7F,GAAG,MAAM,QAAQ,KAAK,WAAW,OAAO,QAAQ,KAAK,GAAG,CAAC;EACzD,GAAG,MAAM,aAAa,CAAC,MAAM,WAAW,QAAQ,KAAK,GAAG,CAAC,IAAI,CAAC;CAC/D;AACD;;;;;;AAMA,SAAS,qBAAqB,SAAS,aAAa;CACnD,OAAO,YAAY,SAAS,QAAQ,KAAK,GAAG,CAAC;AAC9C;;;;;;;;;;AAUA,SAAS,iCAAiC,WAAW,aAAa,iBAAiB,SAAS,YAAY;CACvG,MAAM,wBAAwB,IAAI,IAAI,uBAAuB;EAC5D,SAAS;EACT;EACA;CACD,CAAC,CAAC;CACF,MAAM,qBAAqB,CAAC;CAC5B,MAAM,0BAA0B,CAAC;CACjC,KAAK,MAAM,EAAE,YAAY,OAAO,GAAG,eAAe,aAAa;EAC9D,IAAI,eAAe,OAAO,wBAAwB,KAAK,SAAS;EAChE,IAAI,UAAU,OAAO;GACpB,MAAM,MAAM,UAAU,OAAO,QAAQ,KAAK,GAAG;GAC7C,IAAI,CAAC,sBAAsB,IAAI,GAAG,GAAG;IACpC,mBAAmB,KAAK,mBAAmB,WAAW;KACrD,SAAS,UAAU,OAAO;KAC1B,OAAO,KAAK;KACZ,QAAQ,KAAK;KACb,KAAK,KAAK;KACV,MAAM,8BAA8B,iBAAiB,WAAW,UAAU,OAAO,OAAO,CAAC;KACzF,MAAM,KAAK;KACX,SAAS,KAAK;IACf,CAAC,CAAC;IACF,sBAAsB,IAAI,GAAG;GAC9B;EACD;CACD;CACA,OAAO;EACN,aAAa;EACb,SAAS,CAAC,GAAG,iBAAiB,GAAG,kBAAkB;CACpD;AACD"}
@@ -1,5 +1,5 @@
1
1
  import { t as contractError } from "./contract-errors-BCN6RVI5-5IHBF_lg.mjs";
2
- import { a as computeIndexContentHash, n as assertWireNamePrefixLength, o as defaultIndexName } from "./naming-BLraiRfc-DKPaCL0a.mjs";
2
+ import { a as computeIndexContentHash, n as assertWireNamePrefixLength, o as defaultIndexName } from "./naming-DkG_OegU-DpENNdZX.mjs";
3
3
  import { flushAuthoringWarnings } from "@prisma/orm-framework/components/authoring";
4
4
  //#region ../../../2-sql/1-core/contract/dist/index-naming-Cj1Anq-T.mjs
5
5
  /**
@@ -131,4 +131,4 @@ function lowerAuthoredIndex(tableName, authored, warnings) {
131
131
  //#endregion
132
132
  export { isAuthoredIndexInput as n, lowerAuthoredIndex as r, exactNameBodyWarning as t };
133
133
 
134
- //# sourceMappingURL=index-naming-Cj1Anq-T-DgO8vEIL.mjs.map
134
+ //# sourceMappingURL=index-naming-Cj1Anq-T-NX841eiU.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-naming-Cj1Anq-T-DgO8vEIL.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/index-naming-Cj1Anq-T.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { flushAuthoringWarnings } from \"@internal/framework-components/authoring\";\nimport { assertWireNamePrefixLength, computeIndexContentHash, defaultIndexName } from \"@internal/sql-schema-ir/naming\";\n//#region src/index-naming.ts\n/**\n* Narrows the opaque payload a contributed model attribute returns under\n* `index` (see `AuthoringModelAttributeIndexOutput`). The framework hands the\n* value through untyped because an index's shape belongs to the family; this\n* is the SQL family's boundary check. It proves the structure only — the\n* name/map and expression rules stay where `@@index` enforces them, in\n* {@link lowerAuthoredIndex}.\n*/\nfunction isAuthoredIndexInput(value) {\n\tif (typeof value !== \"object\" || value === null) return false;\n\tconst candidate = { ...value };\n\tif (typeof candidate[\"expression\"] === \"string\" === (Array.isArray(candidate[\"columns\"]) && candidate[\"columns\"].every((element) => typeof element === \"string\"))) return false;\n\tif (!isOptionalString(candidate[\"where\"])) return false;\n\tif (!isOptionalString(candidate[\"map\"])) return false;\n\tif (!isOptionalString(candidate[\"name\"])) return false;\n\tif (candidate[\"unique\"] !== void 0 && typeof candidate[\"unique\"] !== \"boolean\") return false;\n\tif (candidate[\"type\"] === void 0) return candidate[\"options\"] === void 0;\n\tif (typeof candidate[\"type\"] !== \"string\") return false;\n\tconst options = candidate[\"options\"];\n\treturn options === void 0 || typeof options === \"object\" && options !== null && !Array.isArray(options);\n}\nfunction isOptionalString(value) {\n\treturn value === void 0 || typeof value === \"string\";\n}\nconst EXACT_NAME_BODY_PREAMBLE = \"Drift detection compares the authored SQL text byte-for-byte against Postgres's reprinted form, which is only reliable when the text was captured by contract infer.\";\n/**\n* Per-subject remediation: an index or check moves to wire naming via\n* `name:`; a policy has no such parameter — dropping `@@map` makes the\n* block's head the wire prefix.\n*/\nconst EXACT_NAME_BODY_REMEDIATION = {\n\tindex: \"For hand-authored definitions, use name: and let Prisma 8 manage the physical name; to migrate an adopted object to wire naming, replace map: with name: (keeping the body text unchanged) and apply the resulting rename migration.\",\n\tpolicy: \"For hand-authored definitions, drop @@map and let the policy block's head name the policy; to migrate an adopted policy to wire naming, remove @@map (keeping the body text unchanged) and apply the resulting rename migration.\",\n\tcheck: \"For hand-authored definitions, use name: and let Prisma 8 manage the physical name; to migrate an adopted check to wire naming, replace map: with name: (keeping the body text unchanged) and apply the resulting rename migration.\"\n};\n/** What the user actually wrote, per subject: index and check `map:`, policy `@@map`. */\nconst EXACT_NAME_FEATURE = {\n\tindex: \"map:\",\n\tpolicy: \"@@map\",\n\tcheck: \"map:\"\n};\nconst EXACT_NAME_BODY_WARNING_CODE = \"PN_EXACT_NAME_BODY_COMPARISON\";\n/**\n* Mints the exact-name body-comparison warning for a `map:`-named object\n* carrying a hand-authorable SQL body — fully formed, so the transport and\n* the flush stay generic. `subject` distinguishes the index, policy, and\n* check callers that mint this same warning; the feature name and the\n* remediation are subject-specific end to end, so a batched summary\n* (grouped on code + summary) is true of every object it covers.\n*/\nfunction exactNameBodyWarning(subject, exactName) {\n\tconst item = `${subject} \"${exactName}\"`;\n\tconst feature = EXACT_NAME_FEATURE[subject];\n\tconst tail = `with a SQL body. ${EXACT_NAME_BODY_PREAMBLE} ${EXACT_NAME_BODY_REMEDIATION[subject]}`;\n\treturn {\n\t\tcode: EXACT_NAME_BODY_WARNING_CODE,\n\t\tmessage: `${item} uses ${feature} ${tail}`,\n\t\titem,\n\t\tsummary: `objects use ${feature} ${tail}`\n\t};\n}\n/**\n* Lowers an authored index into the name-identified entity `contract.json`\n* persists: exact mode adopts `map` verbatim (no prefix, no hash); wire\n* mode appends the content-hash suffix to the authored or default prefix.\n* The cross-field guards are the shared enforcement backstop for both\n* authoring surfaces (PSL pre-empts them with span-anchored diagnostics).\n*/\nfunction lowerAuthoredIndex(tableName, authored, warnings) {\n\tif (authored.columns === void 0 === (authored.expression === void 0)) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Index on table \"${tableName}\": an index takes either fields (columns) or an expression — exactly one, not both.`);\n\tif (authored.map !== void 0 && authored.name !== void 0) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Index \"${authored.map}\" on table \"${tableName}\": map and name are mutually exclusive — map adopts an exact physical name, name is a wire prefix.`);\n\tif (authored.expression !== void 0 && authored.name === void 0 && authored.map === void 0) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Index on table \"${tableName}\": an expression index requires an explicit name (name:) or exact physical name (map:) — a default name cannot be derived from an expression.`);\n\tif (authored.options !== void 0 && authored.type === void 0) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Index on table \"${tableName}\": options requires an explicit type — an index with options but no type cannot round-trip through contract infer (the emitted type: would change the wire name).`);\n\tconst unique = authored.unique ?? false;\n\tif (authored.map !== void 0) {\n\t\tif (authored.expression !== void 0 || authored.where !== void 0) {\n\t\t\tconst warning = exactNameBodyWarning(\"index\", authored.map);\n\t\t\tif (warnings !== void 0) warnings.push(warning);\n\t\t\telse flushAuthoringWarnings([warning]);\n\t\t}\n\t\tconst carried = {\n\t\t\tnaming: {\n\t\t\t\tkind: \"exact\",\n\t\t\t\tname: authored.map\n\t\t\t},\n\t\t\twhere: authored.where,\n\t\t\tunique,\n\t\t\ttype: authored.type,\n\t\t\toptions: authored.options\n\t\t};\n\t\treturn authored.expression !== void 0 ? {\n\t\t\t...carried,\n\t\t\texpression: authored.expression\n\t\t} : {\n\t\t\t...carried,\n\t\t\tcolumns: authored.columns ?? []\n\t\t};\n\t}\n\tconst prefix = authored.name ?? defaultIndexName(tableName, authored.columns ?? []);\n\tassertWireNamePrefixLength(prefix, \"index prefix\");\n\tconst carried = {\n\t\tnaming: {\n\t\t\tkind: \"wire\",\n\t\t\tprefix,\n\t\t\thash: computeIndexContentHash({\n\t\t\t\t...authored.columns !== void 0 && { columns: authored.columns },\n\t\t\t\t...authored.expression !== void 0 && { expression: authored.expression },\n\t\t\t\t...authored.where !== void 0 && { where: authored.where },\n\t\t\t\tunique,\n\t\t\t\t...authored.type !== void 0 && { type: authored.type },\n\t\t\t\t...authored.options !== void 0 && { options: authored.options }\n\t\t\t})\n\t\t},\n\t\twhere: authored.where,\n\t\tunique,\n\t\ttype: authored.type,\n\t\toptions: authored.options\n\t};\n\treturn authored.expression !== void 0 ? {\n\t\t...carried,\n\t\texpression: authored.expression\n\t} : {\n\t\t...carried,\n\t\tcolumns: authored.columns ?? []\n\t};\n}\n//#endregion\nexport { isAuthoredIndexInput as n, lowerAuthoredIndex as r, exactNameBodyWarning as t };\n\n//# sourceMappingURL=index-naming-Cj1Anq-T.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"index-naming-Cj1Anq-T-NX841eiU.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/index-naming-Cj1Anq-T.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { flushAuthoringWarnings } from \"@internal/framework-components/authoring\";\nimport { assertWireNamePrefixLength, computeIndexContentHash, defaultIndexName } from \"@internal/sql-schema-ir/naming\";\n//#region src/index-naming.ts\n/**\n* Narrows the opaque payload a contributed model attribute returns under\n* `index` (see `AuthoringModelAttributeIndexOutput`). The framework hands the\n* value through untyped because an index's shape belongs to the family; this\n* is the SQL family's boundary check. It proves the structure only — the\n* name/map and expression rules stay where `@@index` enforces them, in\n* {@link lowerAuthoredIndex}.\n*/\nfunction isAuthoredIndexInput(value) {\n\tif (typeof value !== \"object\" || value === null) return false;\n\tconst candidate = { ...value };\n\tif (typeof candidate[\"expression\"] === \"string\" === (Array.isArray(candidate[\"columns\"]) && candidate[\"columns\"].every((element) => typeof element === \"string\"))) return false;\n\tif (!isOptionalString(candidate[\"where\"])) return false;\n\tif (!isOptionalString(candidate[\"map\"])) return false;\n\tif (!isOptionalString(candidate[\"name\"])) return false;\n\tif (candidate[\"unique\"] !== void 0 && typeof candidate[\"unique\"] !== \"boolean\") return false;\n\tif (candidate[\"type\"] === void 0) return candidate[\"options\"] === void 0;\n\tif (typeof candidate[\"type\"] !== \"string\") return false;\n\tconst options = candidate[\"options\"];\n\treturn options === void 0 || typeof options === \"object\" && options !== null && !Array.isArray(options);\n}\nfunction isOptionalString(value) {\n\treturn value === void 0 || typeof value === \"string\";\n}\nconst EXACT_NAME_BODY_PREAMBLE = \"Drift detection compares the authored SQL text byte-for-byte against Postgres's reprinted form, which is only reliable when the text was captured by contract infer.\";\n/**\n* Per-subject remediation: an index or check moves to wire naming via\n* `name:`; a policy has no such parameter — dropping `@@map` makes the\n* block's head the wire prefix.\n*/\nconst EXACT_NAME_BODY_REMEDIATION = {\n\tindex: \"For hand-authored definitions, use name: and let Prisma 8 manage the physical name; to migrate an adopted object to wire naming, replace map: with name: (keeping the body text unchanged) and apply the resulting rename migration.\",\n\tpolicy: \"For hand-authored definitions, drop @@map and let the policy block's head name the policy; to migrate an adopted policy to wire naming, remove @@map (keeping the body text unchanged) and apply the resulting rename migration.\",\n\tcheck: \"For hand-authored definitions, use name: and let Prisma 8 manage the physical name; to migrate an adopted check to wire naming, replace map: with name: (keeping the body text unchanged) and apply the resulting rename migration.\"\n};\n/** What the user actually wrote, per subject: index and check `map:`, policy `@@map`. */\nconst EXACT_NAME_FEATURE = {\n\tindex: \"map:\",\n\tpolicy: \"@@map\",\n\tcheck: \"map:\"\n};\nconst EXACT_NAME_BODY_WARNING_CODE = \"PN_EXACT_NAME_BODY_COMPARISON\";\n/**\n* Mints the exact-name body-comparison warning for a `map:`-named object\n* carrying a hand-authorable SQL body — fully formed, so the transport and\n* the flush stay generic. `subject` distinguishes the index, policy, and\n* check callers that mint this same warning; the feature name and the\n* remediation are subject-specific end to end, so a batched summary\n* (grouped on code + summary) is true of every object it covers.\n*/\nfunction exactNameBodyWarning(subject, exactName) {\n\tconst item = `${subject} \"${exactName}\"`;\n\tconst feature = EXACT_NAME_FEATURE[subject];\n\tconst tail = `with a SQL body. ${EXACT_NAME_BODY_PREAMBLE} ${EXACT_NAME_BODY_REMEDIATION[subject]}`;\n\treturn {\n\t\tcode: EXACT_NAME_BODY_WARNING_CODE,\n\t\tmessage: `${item} uses ${feature} ${tail}`,\n\t\titem,\n\t\tsummary: `objects use ${feature} ${tail}`\n\t};\n}\n/**\n* Lowers an authored index into the name-identified entity `contract.json`\n* persists: exact mode adopts `map` verbatim (no prefix, no hash); wire\n* mode appends the content-hash suffix to the authored or default prefix.\n* The cross-field guards are the shared enforcement backstop for both\n* authoring surfaces (PSL pre-empts them with span-anchored diagnostics).\n*/\nfunction lowerAuthoredIndex(tableName, authored, warnings) {\n\tif (authored.columns === void 0 === (authored.expression === void 0)) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Index on table \"${tableName}\": an index takes either fields (columns) or an expression — exactly one, not both.`);\n\tif (authored.map !== void 0 && authored.name !== void 0) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Index \"${authored.map}\" on table \"${tableName}\": map and name are mutually exclusive — map adopts an exact physical name, name is a wire prefix.`);\n\tif (authored.expression !== void 0 && authored.name === void 0 && authored.map === void 0) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Index on table \"${tableName}\": an expression index requires an explicit name (name:) or exact physical name (map:) — a default name cannot be derived from an expression.`);\n\tif (authored.options !== void 0 && authored.type === void 0) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `Index on table \"${tableName}\": options requires an explicit type — an index with options but no type cannot round-trip through contract infer (the emitted type: would change the wire name).`);\n\tconst unique = authored.unique ?? false;\n\tif (authored.map !== void 0) {\n\t\tif (authored.expression !== void 0 || authored.where !== void 0) {\n\t\t\tconst warning = exactNameBodyWarning(\"index\", authored.map);\n\t\t\tif (warnings !== void 0) warnings.push(warning);\n\t\t\telse flushAuthoringWarnings([warning]);\n\t\t}\n\t\tconst carried = {\n\t\t\tnaming: {\n\t\t\t\tkind: \"exact\",\n\t\t\t\tname: authored.map\n\t\t\t},\n\t\t\twhere: authored.where,\n\t\t\tunique,\n\t\t\ttype: authored.type,\n\t\t\toptions: authored.options\n\t\t};\n\t\treturn authored.expression !== void 0 ? {\n\t\t\t...carried,\n\t\t\texpression: authored.expression\n\t\t} : {\n\t\t\t...carried,\n\t\t\tcolumns: authored.columns ?? []\n\t\t};\n\t}\n\tconst prefix = authored.name ?? defaultIndexName(tableName, authored.columns ?? []);\n\tassertWireNamePrefixLength(prefix, \"index prefix\");\n\tconst carried = {\n\t\tnaming: {\n\t\t\tkind: \"wire\",\n\t\t\tprefix,\n\t\t\thash: computeIndexContentHash({\n\t\t\t\t...authored.columns !== void 0 && { columns: authored.columns },\n\t\t\t\t...authored.expression !== void 0 && { expression: authored.expression },\n\t\t\t\t...authored.where !== void 0 && { where: authored.where },\n\t\t\t\tunique,\n\t\t\t\t...authored.type !== void 0 && { type: authored.type },\n\t\t\t\t...authored.options !== void 0 && { options: authored.options }\n\t\t\t})\n\t\t},\n\t\twhere: authored.where,\n\t\tunique,\n\t\ttype: authored.type,\n\t\toptions: authored.options\n\t};\n\treturn authored.expression !== void 0 ? {\n\t\t...carried,\n\t\texpression: authored.expression\n\t} : {\n\t\t...carried,\n\t\tcolumns: authored.columns ?? []\n\t};\n}\n//#endregion\nexport { isAuthoredIndexInput as n, lowerAuthoredIndex as r, exactNameBodyWarning as t };\n\n//# sourceMappingURL=index-naming-Cj1Anq-T.mjs.map"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { n as isAuthoredIndexInput } from "./index-naming-Cj1Anq-T-DgO8vEIL.mjs";
1
+ import { n as isAuthoredIndexInput } from "./index-naming-Cj1Anq-T-NX841eiU.mjs";
2
2
  import { n as providesPslEntityPlacement } from "./entity-handle-lowering-hook-B3atrRKX.mjs";
3
- import { d as resolvedTypeParams, t as CODEC_INSTANCE_KIND } from "./types-BlcZJEoC.mjs";
3
+ import { d as resolvedTypeParams, t as CODEC_INSTANCE_KIND } from "./types-DDHgx581.mjs";
4
4
  import { t as deriveValueSetFromEntity } from "./value-set-derivation-hook-Di9JZ0X7.mjs";
5
- import { n as buildSqlContractFromDefinition } from "./derived-checks-DAbro9yn-BgBbql-q.mjs";
6
- import { S as toNamedTypeFieldDescriptor, b as sqlAttributeSpecs, c as getAuthoringEntity, d as instantiatePslTypeConstructor, f as interpretFieldAttribute, g as modelCoordinateKey, h as modelAttributeSpecsFrom, i as contractError, l as getNamedArgument, m as mapFieldNamesToColumns, n as bareTypeConstructorOf, o as formatDbAttributeMigrationMessage, p as interpretModelAttribute, r as collectResolvedFields, s as getAttribute, t as PSL_CHECK_ON_STI_VARIANT, v as readWrittenNumberForCodec, x as storageName, y as resolveFieldTypeDescriptor } from "./psl-field-resolution-DUCrDnuq-BXwISml1.mjs";
5
+ import { n as buildSqlContractFromDefinition } from "./derived-checks-DdguQPYm-BP57ljP8.mjs";
6
+ import { S as toNamedTypeFieldDescriptor, b as sqlAttributeSpecs, c as getAuthoringEntity, d as instantiatePslTypeConstructor, f as interpretFieldAttribute, g as modelCoordinateKey, h as modelAttributeSpecsFrom, i as contractError, l as getNamedArgument, m as mapFieldNamesToColumns, n as bareTypeConstructorOf, o as formatDbAttributeMigrationMessage, p as interpretModelAttribute, r as collectResolvedFields, s as getAttribute, t as PSL_CHECK_ON_STI_VARIANT, v as readWrittenNumberForCodec, x as storageName, y as resolveFieldTypeDescriptor } from "./psl-field-resolution-DUCrDnuq-DSxPrd-4.mjs";
7
7
  import { t as defaultTableName } from "./default-table-name-BfFY8qYR-lHNcVmY5.mjs";
8
8
  import { instantiateAuthoringEntityType, instantiateAuthoringTypeConstructor, isAuthoringEntityTypeDescriptor, isAuthoringModelAttributeDescriptor } from "@prisma/orm-framework/components/authoring";
9
9
  import { UNBOUND_NAMESPACE_ID } from "@prisma/orm-framework/components/ir";
@@ -2162,4 +2162,4 @@ function interpretPslDocumentToSqlContract(input) {
2162
2162
  //#endregion
2163
2163
  export { normalizeReferentialAction as a, interpretPslDocumentToSqlContract as i, buildEntityTypesByDiscriminator as n, indexFkRelations as r, applyBackrelationCandidates as t };
2164
2164
 
2165
- //# sourceMappingURL=interpreter-BF5Xrf3W-DK928Clg.mjs.map
2165
+ //# sourceMappingURL=interpreter-BF5Xrf3W-bdklH78q.mjs.map