@prisma/orm-family-sql 8.0.0-rc.14-dev.5 → 8.0.0-rc.14-dev.7

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 (195) hide show
  1. package/dist/{ast-CJd4157-.mjs → ast-5hifzBHC.mjs} +84 -35
  2. package/dist/ast-5hifzBHC.mjs.map +1 -0
  3. package/dist/{ast-B53rACdv.d.mts → ast-BQOF33Tw.d.mts} +40 -16
  4. package/dist/ast-BQOF33Tw.d.mts.map +1 -0
  5. package/dist/{authoring-entity-types-CZ-vdwYS-D6R9QovE.d.mts → authoring-entity-types-CZ-vdwYS-BCsVtN8A.d.mts} +2 -2
  6. package/dist/{authoring-entity-types-CZ-vdwYS-D6R9QovE.d.mts.map → authoring-entity-types-CZ-vdwYS-BCsVtN8A.d.mts.map} +1 -1
  7. package/dist/{authoring-type-constructors-DQZEX4Sb-D6uFhwhG.mjs → authoring-type-constructors-kt60uJ3j-BpulZfmt.mjs} +7 -4
  8. package/dist/authoring-type-constructors-kt60uJ3j-BpulZfmt.mjs.map +1 -0
  9. package/dist/builder.d.mts +2 -2
  10. package/dist/builder__runtime.d.mts +9 -9
  11. package/dist/builder__runtime.mjs +1 -1
  12. package/dist/builder__types.d.mts +2 -2
  13. package/dist/{codec-descriptor-registry-Cj-tqpFL.mjs → codec-descriptor-registry-B1v3GEdK.mjs} +13 -22
  14. package/dist/codec-descriptor-registry-B1v3GEdK.mjs.map +1 -0
  15. package/dist/{config-types-CEXpi8FV.mjs → config-types-BrBS_jH9.mjs} +2 -2
  16. package/dist/{config-types-CEXpi8FV.mjs.map → config-types-BrBS_jH9.mjs.map} +1 -1
  17. package/dist/{config-types-Bd3ud-mX.d.mts → config-types-VJ5O9Ert.d.mts} +4 -4
  18. package/dist/{config-types-Bd3ud-mX.d.mts.map → config-types-VJ5O9Ert.d.mts.map} +1 -1
  19. package/dist/{contract-builder-vmb0E3SP.mjs → contract-builder-39dhpN_w.mjs} +3 -3
  20. package/dist/contract-builder-39dhpN_w.mjs.map +1 -0
  21. package/dist/{contract-builder-6ujqQuj-.d.mts → contract-builder-ezejmfrY.d.mts} +48 -22
  22. package/dist/contract-builder-ezejmfrY.d.mts.map +1 -0
  23. package/dist/contract-emitter.d.mts +0 -1
  24. package/dist/contract-emitter.d.mts.map +1 -1
  25. package/dist/contract-emitter.mjs +1 -1
  26. package/dist/contract-prisma7__provider.d.mts +2 -2
  27. package/dist/contract-prisma7__provider.mjs +3 -3
  28. package/dist/contract-prisma7__provider.mjs.map +1 -1
  29. package/dist/contract-psl.d.mts +6 -6
  30. package/dist/contract-psl.d.mts.map +1 -1
  31. package/dist/contract-psl.mjs +1 -1
  32. package/dist/contract-psl__provider.d.mts +2 -2
  33. package/dist/contract-psl__provider.mjs +2 -2
  34. package/dist/contract-psl__provider.mjs.map +1 -1
  35. package/dist/contract-ts.d.mts +4 -4
  36. package/dist/contract-ts.mjs +4 -4
  37. package/dist/contract-ts__config-types.d.mts +1 -1
  38. package/dist/contract-ts__config-types.mjs +1 -1
  39. package/dist/contract-ts__contract-builder.d.mts +3 -3
  40. package/dist/contract-ts__contract-builder.mjs +3 -3
  41. package/dist/{contract-view-CPHxoAEX.d.mts → contract-view-BTFdP8wh.d.mts} +2 -2
  42. package/dist/{contract-view-CPHxoAEX.d.mts.map → contract-view-BTFdP8wh.d.mts.map} +1 -1
  43. package/dist/contract.d.mts +9 -9
  44. package/dist/contract.mjs +2 -2
  45. package/dist/contract__contract-view.d.mts +1 -1
  46. package/dist/contract__factories.d.mts +1 -1
  47. package/dist/contract__index-type-validation.d.mts +1 -1
  48. package/dist/contract__resolve-storage-table.d.mts +1 -1
  49. package/dist/contract__types.d.mts +4 -4
  50. package/dist/contract__types.mjs +2 -2
  51. package/dist/contract__validators.d.mts +1 -1
  52. package/dist/{control-2-eFP31F.mjs → control-BEikPMFg.mjs} +15 -14
  53. package/dist/control-BEikPMFg.mjs.map +1 -0
  54. package/dist/{control-adapter-C99J7aEF-B3_IhgH6.d.mts → control-adapter-C4_cgvzB-BwZx3_VD.d.mts} +11 -7
  55. package/dist/control-adapter-C4_cgvzB-BwZx3_VD.d.mts.map +1 -0
  56. package/dist/control-adapter-CDDbpxyt.d.mts +1 -0
  57. package/dist/{control-DmVQjyZd.d.mts → control-k5_z0qcA.d.mts} +22 -20
  58. package/dist/{control-DmVQjyZd.d.mts.map → control-k5_z0qcA.d.mts.map} +1 -1
  59. package/dist/{db-DLjWu9-f-COdzEg7b.d.mts → db-DLjWu9-f-BWg-lrGV.d.mts} +8 -8
  60. package/dist/{db-DLjWu9-f-COdzEg7b.d.mts.map → db-DLjWu9-f-BWg-lrGV.d.mts.map} +1 -1
  61. package/dist/{ddl-types-DD-i-Uj9-BRqLNUDm.d.mts → ddl-types-B23QEzDx-ridB7leA.d.mts} +5 -5
  62. package/dist/{ddl-types-DD-i-Uj9-BRqLNUDm.d.mts.map → ddl-types-B23QEzDx-ridB7leA.d.mts.map} +1 -1
  63. package/dist/{ddl-types-DOgOmDOh-Cs_MY05h.mjs → ddl-types-B700dqv--DOnQueWA.mjs} +3 -3
  64. package/dist/ddl-types-B700dqv--DOnQueWA.mjs.map +1 -0
  65. package/dist/{derived-checks-C6psACIj-BSBDa2_9.mjs → derived-checks-D8_YCVs5-CfBVLnya.mjs} +112 -109
  66. package/dist/derived-checks-D8_YCVs5-CfBVLnya.mjs.map +1 -0
  67. package/dist/{derived-checks-DPdD01O0-DNBs1ZDA.d.mts → derived-checks-DPdD01O0-zXZEuy5P.d.mts} +3 -3
  68. package/dist/{derived-checks-DPdD01O0-DNBs1ZDA.d.mts.map → derived-checks-DPdD01O0-zXZEuy5P.d.mts.map} +1 -1
  69. package/dist/{diff-DFOiwUHg.d.mts → diff-C_zQQTgw.d.mts} +6 -6
  70. package/dist/{diff-DFOiwUHg.d.mts.map → diff-C_zQQTgw.d.mts.map} +1 -1
  71. package/dist/{dist-ChyuAdtP.mjs → dist-DeiKZwAD.mjs} +4 -35
  72. package/dist/dist-DeiKZwAD.mjs.map +1 -0
  73. package/dist/{expression-Dl5WvxCA.d.mts → expression-B95FOcDX.d.mts} +7 -7
  74. package/dist/{expression-Dl5WvxCA.d.mts.map → expression-B95FOcDX.d.mts.map} +1 -1
  75. package/dist/{factories-P3qBQhO-.d.mts → factories-TIM9dI6S.d.mts} +2 -2
  76. package/dist/{factories-P3qBQhO-.d.mts.map → factories-TIM9dI6S.d.mts.map} +1 -1
  77. package/dist/family.d.mts +12 -12
  78. package/dist/family.mjs +4 -4
  79. package/dist/family__control-adapter.d.mts +2 -2
  80. package/dist/family__control.d.mts +4 -4
  81. package/dist/family__control.mjs +2 -2
  82. package/dist/family__diff.d.mts +2 -2
  83. package/dist/family__diff.mjs +1 -1
  84. package/dist/family__ir.d.mts +1 -1
  85. package/dist/family__ir.mjs +1 -1
  86. package/dist/family__migration.d.mts +1 -1
  87. package/dist/family__pack.d.mts +1 -1
  88. package/dist/family__pack.mjs +1 -1
  89. package/dist/family__pack.mjs.map +1 -1
  90. package/dist/family__psl-build.mjs +1 -1
  91. package/dist/family__runtime.d.mts +2 -2
  92. package/dist/{index-Cef8iy1o.d.mts → index-DrUd8HwS.d.mts} +3 -3
  93. package/dist/{index-Cef8iy1o.d.mts.map → index-DrUd8HwS.d.mts.map} +1 -1
  94. package/dist/{index-BNL2_qQY.d.mts → index-DrWMh8L0.d.mts} +11 -11
  95. package/dist/{index-BNL2_qQY.d.mts.map → index-DrWMh8L0.d.mts.map} +1 -1
  96. package/dist/{index-type-validation-CZ5L2lli.d.mts → index-type-validation-BAQWs-c_.d.mts} +3 -3
  97. package/dist/{index-type-validation-CZ5L2lli.d.mts.map → index-type-validation-BAQWs-c_.d.mts.map} +1 -1
  98. package/dist/{interpreter-Bcc3MIC5-C4dZrobt.mjs → interpreter-j1ewAXPb-BwieIKeF.mjs} +299 -157
  99. package/dist/interpreter-j1ewAXPb-BwieIKeF.mjs.map +1 -0
  100. package/dist/{ir-BJ-dsbe-.d.mts → ir-DI4cwMsy.d.mts} +3 -3
  101. package/dist/{ir-BJ-dsbe-.d.mts.map → ir-DI4cwMsy.d.mts.map} +1 -1
  102. package/dist/middleware-C6T9FExV.d.mts +1 -0
  103. package/dist/{middleware-CuGBptK0-UwVChCr2.d.mts → middleware-CuGBptK0-CGDI6sQU.d.mts} +2 -2
  104. package/dist/{middleware-CuGBptK0-UwVChCr2.d.mts.map → middleware-CuGBptK0-CGDI6sQU.d.mts.map} +1 -1
  105. package/dist/{migration-Csmr6bd8.d.mts → migration-CRsGI-9f.d.mts} +4 -4
  106. package/dist/{migration-Csmr6bd8.d.mts.map → migration-CRsGI-9f.d.mts.map} +1 -1
  107. package/dist/operations.d.mts +1 -1
  108. package/dist/orm-client.d.mts +14 -14
  109. package/dist/orm-client.mjs +4 -3
  110. package/dist/orm-client.mjs.map +1 -1
  111. package/dist/{pack-BUv79Jrr.d.mts → pack-DcSVDz7M.d.mts} +2 -2
  112. package/dist/{pack-BUv79Jrr.d.mts.map → pack-DcSVDz7M.d.mts.map} +1 -1
  113. package/dist/{plan-B7g2kDfQ-ZD3BfWYx.d.mts → plan-B7g2kDfQ-Do1iWC4q.d.mts} +4 -4
  114. package/dist/{plan-B7g2kDfQ-ZD3BfWYx.d.mts.map → plan-B7g2kDfQ-Do1iWC4q.d.mts.map} +1 -1
  115. package/dist/plan-BBBYfvlz.d.mts +2 -0
  116. package/dist/{prepared-statement-BHSj2pDk-D9a_Vwr-.d.mts → prepared-statement-BdsTSY7Y-ICyuLB7c.d.mts} +17 -17
  117. package/dist/{prepared-statement-BHSj2pDk-D9a_Vwr-.d.mts.map → prepared-statement-BdsTSY7Y-ICyuLB7c.d.mts.map} +1 -1
  118. package/dist/{psl-build-ph4eUJSB.mjs → psl-build-139T3MMA.mjs} +3 -3
  119. package/dist/{psl-build-ph4eUJSB.mjs.map → psl-build-139T3MMA.mjs.map} +1 -1
  120. package/dist/query-lane-context-B0R8L6W-.d.mts +1 -0
  121. package/dist/{query-lane-context-D6o9YrEV-BxW3-5e8.d.mts → query-lane-context-BSmWfohZ-QAWw_dXQ.d.mts} +6 -6
  122. package/dist/{query-lane-context-D6o9YrEV-BxW3-5e8.d.mts.map → query-lane-context-BSmWfohZ-QAWw_dXQ.d.mts.map} +1 -1
  123. package/dist/relational-core.d.mts +12 -12
  124. package/dist/relational-core.mjs +3 -3
  125. package/dist/relational-core__aggregate-descriptor-registry.d.mts +1 -1
  126. package/dist/relational-core__ast.d.mts +4 -4
  127. package/dist/relational-core__ast.mjs +3 -3
  128. package/dist/relational-core__codec-descriptor-registry.d.mts +4 -4
  129. package/dist/relational-core__codec-descriptor-registry.mjs +1 -1
  130. package/dist/relational-core__contract-free.d.mts +3 -3
  131. package/dist/relational-core__contract-free.mjs +1 -1
  132. package/dist/relational-core__contract-free.mjs.map +1 -1
  133. package/dist/relational-core__expression.d.mts +1 -1
  134. package/dist/relational-core__middleware.d.mts +2 -2
  135. package/dist/relational-core__plan.d.mts +3 -3
  136. package/dist/relational-core__query-lane-context.d.mts +2 -2
  137. package/dist/relational-core__types.d.mts +2 -2
  138. package/dist/{resolve-storage-table-Nyrgk4h8.d.mts → resolve-storage-table-DhgzQjow.d.mts} +2 -2
  139. package/dist/{resolve-storage-table-Nyrgk4h8.d.mts.map → resolve-storage-table-DhgzQjow.d.mts.map} +1 -1
  140. package/dist/{runtime-DgOeosYa.d.mts → runtime-I-W0bhvd.d.mts} +2 -2
  141. package/dist/{runtime-DgOeosYa.d.mts.map → runtime-I-W0bhvd.d.mts.map} +1 -1
  142. package/dist/runtime.d.mts +4 -4
  143. package/dist/runtime.mjs +6 -4
  144. package/dist/runtime.mjs.map +1 -1
  145. package/dist/runtime__internal__prepared-query.d.mts +1 -1
  146. package/dist/{schema-differ-DpG_gnur-3ciAcy28.d.mts → schema-differ-DpG_gnur-gLIPLPVI.d.mts} +3 -3
  147. package/dist/{schema-differ-DpG_gnur-3ciAcy28.d.mts.map → schema-differ-DpG_gnur-gLIPLPVI.d.mts.map} +1 -1
  148. package/dist/schema-ir.mjs +1 -1
  149. package/dist/schema-ir__types.mjs +1 -1
  150. package/dist/{schema-verify-DI0aJQ9d-Bgbmen10.mjs → schema-verify-DI0aJQ9d-DL-C6on7.mjs} +2 -2
  151. package/dist/{schema-verify-DI0aJQ9d-Bgbmen10.mjs.map → schema-verify-DI0aJQ9d-DL-C6on7.mjs.map} +1 -1
  152. package/dist/{sql-contract-serializer-C90xg7_q-DERDzTD5.mjs → sql-contract-serializer-C90xg7_q-DBJSt3MT.mjs} +2 -2
  153. package/dist/{sql-contract-serializer-C90xg7_q-DERDzTD5.mjs.map → sql-contract-serializer-C90xg7_q-DBJSt3MT.mjs.map} +1 -1
  154. package/dist/{sql-execution-plan-Db0j752I-faODNLY9.d.mts → sql-execution-plan-Db0j752I-uGUWy8sD.d.mts} +2 -2
  155. package/dist/{sql-execution-plan-Db0j752I-faODNLY9.d.mts.map → sql-execution-plan-Db0j752I-uGUWy8sD.d.mts.map} +1 -1
  156. package/dist/{sql-storage-8LqxeLAY-DH4DdUXx.d.mts → sql-storage-BSxD7_vv-C4ugLH39.d.mts} +10 -3
  157. package/dist/sql-storage-BSxD7_vv-C4ugLH39.d.mts.map +1 -0
  158. package/dist/{types-BFPRCYGW-CZrZyp1E.d.mts → types-BKJWoQ40-BzViF_9K.d.mts} +7 -7
  159. package/dist/{types-BFPRCYGW-CZrZyp1E.d.mts.map → types-BKJWoQ40-BzViF_9K.d.mts.map} +1 -1
  160. package/dist/{types-D8Se4rnB.mjs → types-BmXzMDQL.mjs} +9 -2
  161. package/dist/types-BmXzMDQL.mjs.map +1 -0
  162. package/dist/{types-C36_3E6_.d.mts → types-BoMDdzjD.d.mts} +3 -3
  163. package/dist/{types-C36_3E6_.d.mts.map → types-BoMDdzjD.d.mts.map} +1 -1
  164. package/dist/types-BsUJ1jWE.d.mts +1 -0
  165. package/dist/{types-DFJNPLXY-DyYKIhXA.d.mts → types-C0VMsES6-BLOPdA8Y.d.mts} +10 -10
  166. package/dist/{types-DFJNPLXY-DyYKIhXA.d.mts.map → types-C0VMsES6-BLOPdA8Y.d.mts.map} +1 -1
  167. package/dist/{types-yyhkYQNT-Dmoq-giA.mjs → types-C5QzgUrH-B7IJM6qN.mjs} +8 -14
  168. package/dist/types-C5QzgUrH-B7IJM6qN.mjs.map +1 -0
  169. package/dist/{types-BDUG29Df-LE85dIXP.d.mts → types-DTUyRqZv-DLh98w8w.d.mts} +3 -3
  170. package/dist/{types-BDUG29Df-LE85dIXP.d.mts.map → types-DTUyRqZv-DLh98w8w.d.mts.map} +1 -1
  171. package/dist/{types-Yui2yFf6-Dnc7RNUD.d.mts → types-Yui2yFf6-DQkiEr9B.d.mts} +2 -2
  172. package/dist/{types-Yui2yFf6-Dnc7RNUD.d.mts.map → types-Yui2yFf6-DQkiEr9B.d.mts.map} +1 -1
  173. package/dist/{validators-CJSyNFS4.d.mts → validators-CZNulH-_.d.mts} +3 -3
  174. package/dist/{validators-CJSyNFS4.d.mts.map → validators-CZNulH-_.d.mts.map} +1 -1
  175. package/package.json +18 -18
  176. package/dist/ast-B53rACdv.d.mts.map +0 -1
  177. package/dist/ast-CJd4157-.mjs.map +0 -1
  178. package/dist/authoring-type-constructors-DQZEX4Sb-D6uFhwhG.mjs.map +0 -1
  179. package/dist/codec-descriptor-registry-Cj-tqpFL.mjs.map +0 -1
  180. package/dist/contract-builder-6ujqQuj-.d.mts.map +0 -1
  181. package/dist/contract-builder-vmb0E3SP.mjs.map +0 -1
  182. package/dist/control-2-eFP31F.mjs.map +0 -1
  183. package/dist/control-adapter-C99J7aEF-B3_IhgH6.d.mts.map +0 -1
  184. package/dist/control-adapter-kl-cOML5.d.mts +0 -1
  185. package/dist/ddl-types-DOgOmDOh-Cs_MY05h.mjs.map +0 -1
  186. package/dist/derived-checks-C6psACIj-BSBDa2_9.mjs.map +0 -1
  187. package/dist/dist-ChyuAdtP.mjs.map +0 -1
  188. package/dist/interpreter-Bcc3MIC5-C4dZrobt.mjs.map +0 -1
  189. package/dist/middleware-RUh4qBBg.d.mts +0 -1
  190. package/dist/plan-CVje8E5I.d.mts +0 -2
  191. package/dist/query-lane-context-D54z0tof.d.mts +0 -1
  192. package/dist/sql-storage-8LqxeLAY-DH4DdUXx.d.mts.map +0 -1
  193. package/dist/types-D8Se4rnB.mjs.map +0 -1
  194. package/dist/types-Dul4Za_W.d.mts +0 -1
  195. package/dist/types-yyhkYQNT-Dmoq-giA.mjs.map +0 -1
@@ -8,7 +8,7 @@ import { m as valueSetEntityKind, p as tableEntityKind } from "./entity-kinds-D7
8
8
  import { r as materializeForeignKeysAndIndexes } from "./foreign-key-materialization-DiOhEeAz.mjs";
9
9
  import { t as validateIndexTypes } from "./index-type-validation-COH4d78M.mjs";
10
10
  import { t as createIndexTypeRegistry } from "./index-types-DJQ_xwaE.mjs";
11
- import { c as isMaterializedSqlNamespace, d as toStorageTypeInstance, o as SqlStorage, s as applyFkDefaults } from "./types-D8Se4rnB.mjs";
11
+ import { c as isMaterializedSqlNamespace, d as resolvedTypeParams, f as toStorageTypeInstance, o as SqlStorage, s as applyFkDefaults } from "./types-BmXzMDQL.mjs";
12
12
  import { p as validateStorageSemantics } from "./validators-BlqrBU7I.mjs";
13
13
  import { t as deriveValueSetFromEntity } from "./value-set-derivation-hook-Di9JZ0X7.mjs";
14
14
  import { isStructuredError, structuredError } from "@prisma/orm-framework/utils/structured-error";
@@ -17,14 +17,24 @@ import { UNBOUND_NAMESPACE_ID } from "@prisma/orm-framework/components/ir";
17
17
  import { InternalError } from "@prisma/orm-framework/utils/internal-error";
18
18
  import { asNamespaceId, coreHash, crossRef, effectiveControlPolicy } from "@prisma/orm-framework/contract/types";
19
19
  import { ifDefined } from "@prisma/orm-framework/utils/defined";
20
- import { materializeCodec } from "@prisma/orm-framework/components/codec";
20
+ import { codecForRef } from "@prisma/orm-framework/components/codec";
21
21
  import { mergeCapabilityMatrices } from "@prisma/orm-framework/components/components";
22
22
  import { blindCast } from "@prisma/orm-framework/utils/casts";
23
23
  import { buildExecutionSection, computeProfileHash, computeStorageHash } from "@prisma/orm-framework/contract/hashing";
24
24
  import { resolveToOneRelationNullable } from "@prisma/orm-framework/contract-authoring";
25
25
  import { invariant } from "@prisma/orm-framework/utils/assertions";
26
26
  import { applySpecifierDefaultControlPolicy } from "@prisma/orm-framework/contract/apply-specifier-default-control-policy";
27
- //#region ../../../2-sql/2-authoring/contract-ts/dist/derived-checks-C6psACIj.mjs
27
+ //#region ../../../2-sql/2-authoring/contract-ts/dist/derived-checks-D8_YCVs5.mjs
28
+ /**
29
+ * Whether a field is stored in a list column. A list of scalars is; a list of value objects is not, because it is stored in one column whose value is the whole list, as one JSON array.
30
+ */
31
+ function storedAsListColumn(field) {
32
+ return field.list && !field.typedByValueObject;
33
+ }
34
+ /** Whether a field or member is typed by a value object. */
35
+ function isValueObjectMember(field) {
36
+ return "valueObjectName" in field;
37
+ }
28
38
  function contractError(code, message, options) {
29
39
  return structuredError(code, message, options);
30
40
  }
@@ -32,26 +42,22 @@ function toOneNullabilityContradictionMessage(location, contradiction) {
32
42
  return contradiction === "declared-optional" ? `${location} is optional but every local field it joins on is required` : `${location} is required but a local field it joins on is nullable`;
33
43
  }
34
44
  /**
35
- * The codec that encodes one column's default. Built with the column's own `typeParams`, because a
36
- * parameterized codec answers for its params when it encodes — `pg/vector@1` checks the length its
37
- * column declares — and the lookup's representative instance carries none. Only a column has params;
38
- * every other encode site takes the representative instance.
45
+ * The codec that encodes one column's default, built with the column's own `typeParams`, because a parameterized codec checks its params when it encodes and reads a default. Only a column has params; every other encode site takes the representative instance.
39
46
  */
40
47
  function columnCodec(codecId, typeParams, codecLookup) {
41
- const descriptor = codecLookup?.descriptorFor?.(codecId);
42
- if (descriptor === void 0) return codecLookup?.get(codecId);
43
- return materializeCodec(descriptor, {
48
+ if (codecLookup === void 0) return void 0;
49
+ return codecForRef(codecLookup, {
44
50
  codecId,
45
51
  ...ifDefined("typeParams", typeParams === void 0 ? void 0 : blindCast(typeParams))
46
- }, { name: codecId });
47
- }
48
- function columnTypeParams(descriptor, storageTypes) {
49
- if (descriptor.typeParams !== void 0) return descriptor.typeParams;
50
- if (descriptor.typeRef === void 0) return void 0;
51
- return storageTypes[descriptor.typeRef]?.typeParams;
52
+ });
52
53
  }
54
+ /** Encodes a value the contract stores, and reads it back with the codec, which refuses a value its column would not hold. */
53
55
  function encodeViaCodec(value, codec) {
54
- if (codec) return codec.encodeJson(value);
56
+ if (codec) {
57
+ const json = codec.encodeJson(value);
58
+ codec.decodeJson(json);
59
+ return json;
60
+ }
55
61
  return blindCast(value);
56
62
  }
57
63
  function defaultRefusal(site, cause, elementPosition) {
@@ -167,9 +173,6 @@ function assertTargetTableMatches(sourceModelName, targetModel, referencedTableN
167
173
  context
168
174
  } });
169
175
  }
170
- function isValueObjectField(field) {
171
- return "valueObjectName" in field;
172
- }
173
176
  /**
174
177
  * Resolves a deferred entity-ref column descriptor (e.g. a `pg.enum(handle)`
175
178
  * column) against the field's now-known owning namespace: attaches the
@@ -216,11 +219,38 @@ function resolveCheckExpressionRenderer(target) {
216
219
  return hasCheckExpressionRenderer(authoring) ? authoring.renderCheckExpressions : void 0;
217
220
  }
218
221
  /**
222
+ * Each member's value in the form the enum's codec stores it, read back by the codec. A member the codec refuses is a `CONTRACT.ENUM_INVALID` naming the enum and the member.
223
+ */
224
+ function encodeEnumMembers(handle, codecLookup) {
225
+ const codec = codecLookup?.get(handle.codecId);
226
+ return handle.enumMembers.map((member) => {
227
+ try {
228
+ return {
229
+ name: member.name,
230
+ value: encodeViaCodec(member.value, codec)
231
+ };
232
+ } catch (cause) {
233
+ if (cause instanceof InternalError) throw cause;
234
+ const reason = cause instanceof Error ? cause.message : String(cause);
235
+ throw contractError("CONTRACT.ENUM_INVALID", `enumType("${handle.enumName}") member "${member.name}" has a value its codec ${handle.codecId} refuses: ${reason}`, {
236
+ fix: "Give the member a value the codec takes, or type the enum with a codec that takes it.",
237
+ cause,
238
+ meta: {
239
+ enumName: handle.enumName,
240
+ member: member.name,
241
+ codecId: handle.codecId,
242
+ reason: "codec-refused-member"
243
+ }
244
+ });
245
+ }
246
+ });
247
+ }
248
+ /**
219
249
  * The member values a membership check must enforce, encoded exactly as the
220
250
  * column stores them. Membership predicates support strings and finite numbers.
221
251
  */
222
252
  function checkMemberValues(handle, codecLookup) {
223
- const encoded = handle.values.map((value) => encodeViaCodec(value, codecLookup?.get(handle.codecId)));
253
+ const encoded = encodeEnumMembers(handle, codecLookup).map((member) => member.value);
224
254
  const values = [];
225
255
  for (const value of encoded) {
226
256
  if (typeof value !== "string" && !(typeof value === "number" && Number.isFinite(value))) throw contractError("CONTRACT.ENUM_INVALID", `enumType("${handle.enumName}"): CHECK constraint members must encode to strings or finite numbers.`, { meta: {
@@ -301,11 +331,8 @@ function resolveColumnTypeQualifier(target) {
301
331
  return hasColumnTypeQualifier(authoring) ? authoring.qualifyColumnType : void 0;
302
332
  }
303
333
  /**
304
- * Applies the target's `qualifyColumnType` hook to a scalar column descriptor
305
- * at construction, so the storage column and the domain field (which derives
306
- * its `type.typeParams` from the storage column) are both built already
307
- * qualified in a single pass. A descriptor whose codec the target leaves
308
- * unchanged passes through untouched.
334
+ * Applies the target's `qualifyColumnType` hook to a scalar column descriptor.
335
+ * A descriptor whose codec the target leaves unchanged passes through untouched.
309
336
  */
310
337
  function qualifyColumnDescriptor(descriptor, namespaceId, qualify) {
311
338
  if (qualify === void 0) return descriptor;
@@ -381,8 +408,6 @@ function mergeColumnAndAttachedEntities(namespaceId, attached, columnCollected)
381
408
  }
382
409
  return result;
383
410
  }
384
- const JSONB_CODEC_ID = "pg/jsonb@1";
385
- const JSONB_NATIVE_TYPE = "jsonb";
386
411
  function resolveModelNamespaceId(model, modelNameToNamespaceId, defaultNamespaceId) {
387
412
  if (model.namespaceId !== void 0 && model.namespaceId.length > 0) return model.namespaceId;
388
413
  return modelNameToNamespaceId.get(model.modelName) ?? defaultNamespaceId;
@@ -432,57 +457,73 @@ function targetColumnsForJunction(targetModel, fieldName) {
432
457
  reason: "no-key-for-junction-target-columns"
433
458
  } });
434
459
  }
435
- function buildStorageColumn(field, storageValueSetRef, modelName, storageTypes, codecLookup) {
436
- if (isValueObjectField(field)) {
437
- const encodedDefault = field.default !== void 0 ? encodeColumnDefault(field.default, codecLookup, (lookup) => lookup.get(JSONB_CODEC_ID), {
438
- modelName,
439
- fieldName: field.fieldName,
440
- codecId: JSONB_CODEC_ID
441
- }) : void 0;
442
- return {
443
- nativeType: JSONB_NATIVE_TYPE,
444
- codecId: JSONB_CODEC_ID,
445
- nullable: field.nullable,
446
- ...ifDefined("default", encodedDefault)
447
- };
448
- }
449
- const codecId = field.descriptor.codecId;
450
- const encodedDefault = field.default !== void 0 ? encodeColumnDefault(field.default, codecLookup, (lookup) => columnCodec(codecId, columnTypeParams(field.descriptor, storageTypes), lookup), {
460
+ function buildStorageColumn(field, enumRefs, modelName, storageTypes, codecLookup) {
461
+ const { descriptor } = field;
462
+ const codecId = descriptor.codecId;
463
+ const isListColumn = storedAsListColumn({
464
+ list: field.many === true,
465
+ typedByValueObject: isValueObjectMember(field)
466
+ });
467
+ const noCheck = isValueObjectMember(field) ? void 0 : field.noCheck;
468
+ const encodedDefault = field.default !== void 0 ? encodeColumnDefault(field.default, codecLookup, (lookup) => columnCodec(codecId, resolvedTypeParams(descriptor, storageTypes), lookup), {
451
469
  modelName,
452
470
  fieldName: field.fieldName,
453
471
  codecId
454
- }, field.many === true) : void 0;
455
- const valueSet = storageValueSetRef ?? field.descriptor.valueSet;
472
+ }, isListColumn) : void 0;
473
+ invariant(enumRefs === void 0 || descriptor.valueSet === void 0, `Field "${modelName}.${field.fieldName}" is typed by a domain enum and also carries a storage value set from its type constructor.`);
474
+ const valueSet = enumRefs?.storage ?? descriptor.valueSet;
456
475
  return {
457
- nativeType: field.descriptor.nativeType,
476
+ nativeType: descriptor.nativeType,
458
477
  codecId,
459
478
  nullable: field.nullable,
460
- ...field.many ? { many: true } : {},
461
- ...field.noCheck !== void 0 ? { noCheck: [...field.noCheck].sort() } : {},
462
- ...ifDefined("typeParams", field.descriptor.typeParams),
479
+ ...ifDefined("many", isListColumn ? true : void 0),
480
+ ...ifDefined("noCheck", noCheck && [...noCheck].sort()),
481
+ ...ifDefined("typeParams", descriptor.typeParams),
463
482
  ...ifDefined("default", encodedDefault),
464
- ...ifDefined("typeRef", field.descriptor.typeRef),
483
+ ...ifDefined("typeRef", descriptor.typeRef),
465
484
  ...ifDefined("valueSet", valueSet)
466
485
  };
467
486
  }
468
- function buildDomainField(field, column, domainValueSetRef) {
469
- if (isValueObjectField(field)) return {
487
+ /**
488
+ * The refs of a field typed by an authored enum: the domain enum and its storage value set. Authored enums are registered in the default namespace, whatever namespace the field's model is in.
489
+ */
490
+ function enumValueSetRefs(enumHandle, defaultNamespaceId) {
491
+ if (enumHandle === void 0) return void 0;
492
+ const common = {
493
+ namespaceId: defaultNamespaceId,
494
+ entityName: enumHandle.enumName
495
+ };
496
+ return {
497
+ domain: {
498
+ plane: "domain",
499
+ entityKind: "enum",
500
+ ...common
501
+ },
502
+ storage: {
503
+ plane: "storage",
504
+ entityKind: "valueSet",
505
+ ...common
506
+ }
507
+ };
508
+ }
509
+ function buildDomainField(field, defaultNamespaceId, storageTypes) {
510
+ if (isValueObjectMember(field)) return {
470
511
  type: {
471
512
  kind: "valueObject",
472
513
  name: field.valueObjectName
473
514
  },
474
515
  nullable: field.nullable,
475
- ...field.many ? { many: true } : {}
516
+ ...ifDefined("many", field.many ? true : void 0)
476
517
  };
477
518
  return {
478
519
  type: {
479
520
  kind: "scalar",
480
- codecId: column.codecId,
481
- ...ifDefined("typeParams", column.typeParams)
521
+ codecId: field.descriptor.codecId,
522
+ ...ifDefined("typeParams", resolvedTypeParams(field.descriptor, storageTypes))
482
523
  },
483
- nullable: column.nullable,
484
- ...field.many ? { many: true } : {},
485
- ...ifDefined("valueSet", domainValueSetRef)
524
+ nullable: field.nullable,
525
+ ...ifDefined("many", field.many ? true : void 0),
526
+ ...ifDefined("valueSet", enumValueSetRefs(field.enumTypeHandle, defaultNamespaceId)?.domain)
486
527
  };
487
528
  }
488
529
  function collectStorageNamespaceCoordinateIds(definition) {
@@ -626,7 +667,6 @@ function buildSqlContractFromDefinition(definition, codecLookup) {
626
667
  const columns = {};
627
668
  const fieldToColumn = {};
628
669
  const domainFields = {};
629
- const domainFieldRefs = {};
630
670
  const checksForTable = [];
631
671
  const derivesChecks = effectiveControlPolicy(semanticModel.control, definition.defaultControlPolicy) === "managed";
632
672
  for (const field of semanticModel.fields) {
@@ -643,21 +683,9 @@ function buildSqlContractFromDefinition(definition, codecLookup) {
643
683
  reason: "nullable-with-executionDefaults"
644
684
  } });
645
685
  }
646
- const enumHandle = !isValueObjectField(field) ? field.enumTypeHandle : void 0;
647
- const storageValueSetRef = enumHandle !== void 0 ? {
648
- plane: "storage",
649
- entityKind: "valueSet",
650
- namespaceId: defaultNamespaceId,
651
- entityName: enumHandle.enumName
652
- } : void 0;
653
- const domainValueSetRef = enumHandle !== void 0 ? {
654
- plane: "domain",
655
- entityKind: "enum",
656
- namespaceId: defaultNamespaceId,
657
- entityName: enumHandle.enumName
658
- } : void 0;
686
+ const enumHandle = !isValueObjectMember(field) ? field.enumTypeHandle : void 0;
659
687
  let resolvedField = field;
660
- if (!isValueObjectField(field)) {
688
+ if (!isValueObjectMember(field)) {
661
689
  let descriptor = field.descriptor;
662
690
  const entityRef = descriptor.entityRef;
663
691
  if (entityRef !== void 0) {
@@ -670,7 +698,7 @@ function buildSqlContractFromDefinition(definition, codecLookup) {
670
698
  descriptor
671
699
  };
672
700
  }
673
- if (!isValueObjectField(resolvedField) && resolvedField.noCheck !== void 0) {
701
+ if (!isValueObjectMember(resolvedField) && resolvedField.noCheck !== void 0) {
674
702
  const { noCheck: authoredNoCheck, ...withoutNoCheck } = resolvedField;
675
703
  resolvedField = derivesChecks ? {
676
704
  ...withoutNoCheck,
@@ -683,11 +711,11 @@ function buildSqlContractFromDefinition(definition, codecLookup) {
683
711
  })
684
712
  } : withoutNoCheck;
685
713
  }
686
- const column = buildStorageColumn(resolvedField, storageValueSetRef, semanticModel.modelName, definition.storageTypes ?? {}, codecLookup);
714
+ const column = buildStorageColumn(resolvedField, enumValueSetRefs(enumHandle, defaultNamespaceId), semanticModel.modelName, definition.storageTypes ?? {}, codecLookup);
687
715
  columns[field.columnName] = column;
688
716
  fieldToColumn[field.fieldName] = field.columnName;
689
717
  if (renderCheckExpressions !== void 0 && derivesChecks) {
690
- const waivedKinds = !isValueObjectField(resolvedField) ? resolvedField.noCheck : void 0;
718
+ const waivedKinds = !isValueObjectMember(resolvedField) ? resolvedField.noCheck : void 0;
691
719
  checksForTable.push(...lowerRenderedChecks(tableName, renderCheckExpressions({
692
720
  tableName,
693
721
  columnName: field.columnName,
@@ -695,16 +723,7 @@ function buildSqlContractFromDefinition(definition, codecLookup) {
695
723
  memberValues: enumHandle !== void 0 ? checkMemberValues(enumHandle, codecLookup) : void 0
696
724
  }).filter((candidate) => !(waivedKinds?.includes(candidate.kind) ?? false))));
697
725
  }
698
- domainFields[field.fieldName] = buildDomainField(field, column, domainValueSetRef);
699
- if (isValueObjectField(field)) domainFieldRefs[field.fieldName] = {
700
- kind: "valueObject",
701
- name: field.valueObjectName,
702
- ...field.many ? { many: true } : {}
703
- };
704
- else if (field.many) domainFieldRefs[field.fieldName] = {
705
- kind: "scalar",
706
- many: true
707
- };
726
+ domainFields[field.fieldName] = buildDomainField(resolvedField, defaultNamespaceId, definition.storageTypes ?? {});
708
727
  if (executionDefaultPhases) executionDefaults.push({
709
728
  ref: {
710
729
  namespace: namespaceId,
@@ -921,12 +940,10 @@ function buildSqlContractFromDefinition(definition, codecLookup) {
921
940
  domainSlot = {};
922
941
  domainEnumsByNs[nsId] = domainSlot;
923
942
  }
943
+ const storedMembers = encodeEnumMembers(handle, codecLookup);
924
944
  domainSlot[enumName] = {
925
945
  codecId: handle.codecId,
926
- members: handle.enumMembers.map((m) => ({
927
- name: m.name,
928
- value: encodeViaCodec(m.value, codecLookup?.get(handle.codecId))
929
- }))
946
+ members: storedMembers
930
947
  };
931
948
  let storageSlot = storageValueSetsByNs[nsId];
932
949
  if (storageSlot === void 0) {
@@ -935,7 +952,7 @@ function buildSqlContractFromDefinition(definition, codecLookup) {
935
952
  }
936
953
  storageSlot[enumName] = {
937
954
  kind: "valueSet",
938
- values: handle.values.map((v) => encodeViaCodec(v, codecLookup?.get(handle.codecId)))
955
+ values: storedMembers.map((member) => member.value)
939
956
  };
940
957
  }
941
958
  const { createNamespace } = definition;
@@ -986,21 +1003,7 @@ function buildSqlContractFromDefinition(definition, codecLookup) {
986
1003
  targetFamily,
987
1004
  defaults: executionDefaults
988
1005
  });
989
- const valueObjects = definition.valueObjects && definition.valueObjects.length > 0 ? Object.fromEntries(definition.valueObjects.map((vo) => [vo.name, { fields: Object.fromEntries(vo.fields.map((f) => [f.fieldName, isValueObjectField(f) ? {
990
- type: {
991
- kind: "valueObject",
992
- name: f.valueObjectName
993
- },
994
- nullable: f.nullable,
995
- ...f.many ? { many: true } : {}
996
- } : {
997
- type: {
998
- kind: "scalar",
999
- codecId: f.descriptor.codecId,
1000
- ...ifDefined("typeParams", f.descriptor.typeParams)
1001
- },
1002
- nullable: f.nullable
1003
- }])) }])) : void 0;
1006
+ const valueObjects = definition.valueObjects && definition.valueObjects.length > 0 ? Object.fromEntries(definition.valueObjects.map((vo) => [vo.name, { fields: Object.fromEntries(vo.fields.map((f) => [f.fieldName, buildDomainField(f, defaultNamespaceId, definition.storageTypes ?? {})])) }])) : void 0;
1004
1007
  const domainNamespaceIds = new Set(Object.keys(modelsByNamespace));
1005
1008
  if (domainNamespaceIds.size === 0) domainNamespaceIds.add(defaultNamespaceId);
1006
1009
  if (valueObjects !== void 0) domainNamespaceIds.add(defaultNamespaceId);
@@ -1164,6 +1167,6 @@ function withoutDerivedChecks(tableName, table, contractDefault) {
1164
1167
  });
1165
1168
  }
1166
1169
  //#endregion
1167
- export { toOneNullabilityContradictionMessage as i, buildSqlContractFromDefinition as n, contractError as r, applySqlSpecifierControlPolicy as t };
1170
+ export { storedAsListColumn as a, isValueObjectMember as i, buildSqlContractFromDefinition as n, toOneNullabilityContradictionMessage as o, contractError as r, applySqlSpecifierControlPolicy as t };
1168
1171
 
1169
- //# sourceMappingURL=derived-checks-C6psACIj-BSBDa2_9.mjs.map
1172
+ //# sourceMappingURL=derived-checks-D8_YCVs5-CfBVLnya.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derived-checks-D8_YCVs5-CfBVLnya.mjs","names":[],"sources":["../../../../2-sql/2-authoring/contract-ts/dist/derived-checks-D8_YCVs5.mjs"],"sourcesContent":["import { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { buildExecutionSection, computeProfileHash, computeStorageHash } from \"@internal/contract/hashing\";\nimport { asNamespaceId, coreHash, crossRef, effectiveControlPolicy } from \"@internal/contract/types\";\nimport { resolveToOneRelationNullable } from \"@internal/contract-authoring\";\nimport { flushAuthoringWarnings, isAuthoringEntityTypeDescriptor } from \"@internal/framework-components/authoring\";\nimport { codecForRef } from \"@internal/framework-components/codec\";\nimport { mergeCapabilityMatrices } from \"@internal/framework-components/components\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\nimport { lowerAuthoredCheck } from \"@internal/sql-contract/authored-check-naming\";\nimport { sqlContractCanonicalizationHooks } from \"@internal/sql-contract/canonicalization-hooks\";\nimport { tableEntityKind, valueSetEntityKind } from \"@internal/sql-contract/entity-kinds\";\nimport { materializeForeignKeysAndIndexes } from \"@internal/sql-contract/foreign-key-materialization\";\nimport { lowerAuthoredIndex } from \"@internal/sql-contract/index-naming\";\nimport { validateIndexTypes } from \"@internal/sql-contract/index-type-validation\";\nimport { createIndexTypeRegistry } from \"@internal/sql-contract/index-types\";\nimport { CheckConstraint, Index, SqlStorage, StorageTable, applyFkDefaults, checkConstraintInputFromSerialized, isMaterializedSqlNamespace, resolvedTypeParams, toStorageTypeInstance } from \"@internal/sql-contract/types\";\nimport { validateStorageSemantics } from \"@internal/sql-contract/validators\";\nimport { deriveValueSetFromEntity } from \"@internal/sql-contract/value-set-derivation-hook\";\nimport { composeCheckWirePrefix, computeCheckContentHash, derivedCheckPrefixes } from \"@internal/sql-schema-ir/naming\";\nimport { invariant } from \"@internal/utils/assertions\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { isStructuredError, structuredError } from \"@internal/utils/structured-error\";\nimport { applySpecifierDefaultControlPolicy } from \"@internal/contract/apply-specifier-default-control-policy\";\n//#region src/contract-definition.ts\n/**\n* Whether a field is stored in a list column. A list of scalars is; a list of value objects is not, because it is stored in one column whose value is the whole list, as one JSON array.\n*/\nfunction storedAsListColumn(field) {\n\treturn field.list && !field.typedByValueObject;\n}\n/** Whether a field or member is typed by a value object. */\nfunction isValueObjectMember(field) {\n\treturn \"valueObjectName\" in field;\n}\n//#endregion\n//#region src/contract-errors.ts\nfunction contractError(code, message, options) {\n\treturn structuredError(code, message, options);\n}\n//#endregion\n//#region src/to-one-nullability-message.ts\nfunction toOneNullabilityContradictionMessage(location, contradiction) {\n\treturn contradiction === \"declared-optional\" ? `${location} is optional but every local field it joins on is required` : `${location} is required but a local field it joins on is nullable`;\n}\n//#endregion\n//#region src/build-contract.ts\n/**\n* The codec that encodes one column's default, built with the column's own `typeParams`, because a parameterized codec checks its params when it encodes and reads a default. Only a column has params; every other encode site takes the representative instance.\n*/\nfunction columnCodec(codecId, typeParams, codecLookup) {\n\tif (codecLookup === void 0) return void 0;\n\treturn codecForRef(codecLookup, {\n\t\tcodecId,\n\t\t...ifDefined(\"typeParams\", typeParams === void 0 ? void 0 : blindCast(typeParams))\n\t});\n}\n/** Encodes a value the contract stores, and reads it back with the codec, which refuses a value its column would not hold. */\nfunction encodeViaCodec(value, codec) {\n\tif (codec) {\n\t\tconst json = codec.encodeJson(value);\n\t\tcodec.decodeJson(json);\n\t\treturn json;\n\t}\n\treturn blindCast(value);\n}\nfunction defaultRefusal(site, cause, elementPosition) {\n\tconst subject = elementPosition === void 0 ? \"default\" : `default (element ${elementPosition})`;\n\tconst reason = cause instanceof Error ? cause.message : String(cause);\n\treturn contractError(\"CONTRACT.DEFAULT_INVALID\", `Field \"${site.modelName}.${site.fieldName}\" has a ${subject} that its codec refuses: ${reason}`, {\n\t\tcause,\n\t\tmeta: {\n\t\t\tmodelName: site.modelName,\n\t\t\tfieldName: site.fieldName,\n\t\t\tcodecId: site.codecId,\n\t\t\treason: \"codec-refused-default\",\n\t\t\t...ifDefined(\"elementPosition\", elementPosition)\n\t\t}\n\t});\n}\nfunction encodeDefaultValue(value, codec, site, elementPosition) {\n\ttry {\n\t\treturn encodeViaCodec(value, codec);\n\t} catch (cause) {\n\t\tif (cause instanceof InternalError) throw cause;\n\t\tthrow defaultRefusal(site, cause, elementPosition);\n\t}\n}\nfunction codecForDefault(codecLookup, resolveCodec, site) {\n\tif (codecLookup === void 0) return void 0;\n\tconst codec = buildCodecForDefault(codecLookup, resolveCodec, site);\n\tif (codec === void 0) throw contractError(\"CONTRACT.DEFAULT_INVALID\", `Field \"${site.modelName}.${site.fieldName}\" has a default, but no pack in the contract declares its codec \"${site.codecId}\", so the default cannot be checked. List the pack that owns the codec in \\`extensions\\`.`, { meta: {\n\t\tmodelName: site.modelName,\n\t\tfieldName: site.fieldName,\n\t\tcodecId: site.codecId,\n\t\treason: \"codec-not-found\"\n\t} });\n\treturn codec;\n}\nfunction buildCodecForDefault(codecLookup, resolveCodec, site) {\n\ttry {\n\t\treturn resolveCodec(codecLookup);\n\t} catch (cause) {\n\t\tif (!isStructuredError(cause) || cause.code !== \"RUNTIME.TYPE_PARAMS_INVALID\") throw cause;\n\t\tthrow contractError(\"CONTRACT.ARGUMENT_INVALID\", `Field \"${site.modelName}.${site.fieldName}\" has type parameters that its codec does not accept: ${cause.message}`, {\n\t\t\tcause,\n\t\t\tmeta: {\n\t\t\t\tmodelName: site.modelName,\n\t\t\t\tfieldName: site.fieldName,\n\t\t\t\tcodecId: site.codecId,\n\t\t\t\treason: \"type-params-invalid\"\n\t\t\t}\n\t\t});\n\t}\n}\nfunction encodeColumnDefault(defaultInput, codecLookup, resolveCodec, site, many = false) {\n\tif (defaultInput.kind === \"function\") return {\n\t\tkind: \"function\",\n\t\texpression: defaultInput.expression\n\t};\n\tif (\"canonical\" in defaultInput && defaultInput.canonical === true) return {\n\t\tkind: \"literal\",\n\t\tvalue: blindCast(defaultInput.value)\n\t};\n\tif (many) {\n\t\tif (!Array.isArray(defaultInput.value)) throw contractError(\"CONTRACT.DEFAULT_INVALID\", `Field \"${site.modelName}.${site.fieldName}\" is a list field, so its default is an array; received ${typeof defaultInput.value}. Call .many() before .default().`, { meta: {\n\t\t\tmodelName: site.modelName,\n\t\t\tfieldName: site.fieldName,\n\t\t\tcodecId: site.codecId,\n\t\t\treason: \"list-default-not-array\"\n\t\t} });\n\t\tconst codec = codecForDefault(codecLookup, resolveCodec, site);\n\t\treturn {\n\t\t\tkind: \"literal\",\n\t\t\tvalue: defaultInput.value.map((element, index) => encodeDefaultValue(element, codec, site, index + 1))\n\t\t};\n\t}\n\treturn {\n\t\tkind: \"literal\",\n\t\tvalue: encodeDefaultValue(defaultInput.value, codecForDefault(codecLookup, resolveCodec, site), site)\n\t};\n}\nfunction assertStorageSemantics(definition, contract) {\n\tconst semanticErrors = validateStorageSemantics(contract.storage);\n\tif (semanticErrors.length > 0) throw contractError(\"CONTRACT.VALIDATION_FAILED\", `Contract semantic validation failed: ${semanticErrors.join(\"; \")}`, { meta: { errors: semanticErrors } });\n\tconst indexTypeRegistry = createIndexTypeRegistry();\n\tconst packsToRegister = [definition.target, ...Object.values(definition.extensions ?? {})];\n\tfor (const pack of packsToRegister) {\n\t\tconst registration = pack.indexTypes;\n\t\tif (registration === void 0) continue;\n\t\tif (typeof registration !== \"object\" || registration === null || !(\"entries\" in registration) || !Array.isArray(registration.entries)) throw contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Pack \"${pack.id ?? \"<unknown>\"}\" declares \"indexTypes\" but its value is not an IndexTypeRegistration (expected an object with an \"entries\" array; got ${typeof registration}).`, { meta: {\n\t\t\tpackId: pack.id,\n\t\t\tcontribution: \"indexTypes\",\n\t\t\treason: \"invalid-shape\"\n\t\t} });\n\t\tfor (const entry of blindCast(registration).entries) indexTypeRegistry.register(entry);\n\t}\n\tvalidateIndexTypes(contract, indexTypeRegistry);\n}\nfunction assertKnownTargetModel(modelsByName, modelsByCoordinate, sourceModelName, targetModelName, targetNamespaceId, context) {\n\tconst targetModel = targetNamespaceId !== void 0 && targetNamespaceId.length > 0 ? modelsByCoordinate.get(`${targetNamespaceId}:${targetModelName}`) : modelsByName.get(targetModelName);\n\tif (!targetModel) {\n\t\tconst qualified = targetNamespaceId !== void 0 && targetNamespaceId.length > 0 ? `${targetNamespaceId}.${targetModelName}` : targetModelName;\n\t\tthrow contractError(\"CONTRACT.MODEL_UNKNOWN\", `${context} on model \"${sourceModelName}\" references unknown model \"${qualified}\"`, { meta: {\n\t\t\tsourceModel: sourceModelName,\n\t\t\ttargetModel: qualified,\n\t\t\tcontext\n\t\t} });\n\t}\n\treturn targetModel;\n}\nfunction assertTargetTableMatches(sourceModelName, targetModel, referencedTableName, context) {\n\tif (targetModel.tableName !== referencedTableName) throw contractError(\"CONTRACT.TABLE_MISMATCH\", `${context} on model \"${sourceModelName}\" references table \"${referencedTableName}\" but model \"${targetModel.modelName}\" maps to \"${targetModel.tableName}\"`, { meta: {\n\t\tsourceModel: sourceModelName,\n\t\treferencedTable: referencedTableName,\n\t\tmappedTable: targetModel.tableName,\n\t\tcontext\n\t} });\n}\n/**\n* Resolves a deferred entity-ref column descriptor (e.g. a `pg.enum(handle)`\n* column) against the field's now-known owning namespace: attaches the\n* storage `valueSet` ref the collected entity's derived value-set is stored\n* under. `nativeType` / `typeParams.typeName` stay bare here — schema\n* qualification (e.g. `auth.aal_level`) is a target concern applied in the\n* next step, `qualifyColumnDescriptor`. A descriptor with no `entityRef` (the\n* ordinary case) passes through unchanged.\n*/\nfunction resolveEntityRefDescriptor(descriptor, namespaceId) {\n\tconst entityRef = descriptor.entityRef;\n\tif (entityRef === void 0) return descriptor;\n\treturn {\n\t\t...descriptor,\n\t\tvalueSet: {\n\t\t\tplane: \"storage\",\n\t\t\tentityKind: \"valueSet\",\n\t\t\tnamespaceId,\n\t\t\tentityName: entityRef.entityName\n\t\t}\n\t};\n}\n/**\n* Structural check for a target that contributes a `qualifyColumnType` hook\n* on its authoring contributions. Duck-typed (mirroring\n* `contract-psl`'s `hasColumnFromEntityHook`) so the SQL family stays blind\n* to the target's qualification logic and no framework/family interface has\n* to name the hook.\n*/\nfunction hasColumnTypeQualifier(authoring) {\n\treturn \"qualifyColumnType\" in authoring && typeof authoring.qualifyColumnType === \"function\";\n}\n/**\n* Structural check for a target that contributes a `renderCheckExpressions`\n* hook, duck-typed for the same reason {@link hasColumnTypeQualifier} is: the\n* SQL family stays blind to the target's predicate syntax.\n*/\nfunction hasCheckExpressionRenderer(authoring) {\n\treturn \"renderCheckExpressions\" in authoring && typeof authoring.renderCheckExpressions === \"function\";\n}\nfunction resolveCheckExpressionRenderer(target) {\n\tconst authoring = target.authoring;\n\tif (authoring === void 0) return void 0;\n\treturn hasCheckExpressionRenderer(authoring) ? authoring.renderCheckExpressions : void 0;\n}\n/**\n* Each member's value in the form the enum's codec stores it, read back by the codec. A member the codec refuses is a `CONTRACT.ENUM_INVALID` naming the enum and the member.\n*/\nfunction encodeEnumMembers(handle, codecLookup) {\n\tconst codec = codecLookup?.get(handle.codecId);\n\treturn handle.enumMembers.map((member) => {\n\t\ttry {\n\t\t\treturn {\n\t\t\t\tname: member.name,\n\t\t\t\tvalue: encodeViaCodec(member.value, codec)\n\t\t\t};\n\t\t} catch (cause) {\n\t\t\tif (cause instanceof InternalError) throw cause;\n\t\t\tconst reason = cause instanceof Error ? cause.message : String(cause);\n\t\t\tthrow contractError(\"CONTRACT.ENUM_INVALID\", `enumType(\"${handle.enumName}\") member \"${member.name}\" has a value its codec ${handle.codecId} refuses: ${reason}`, {\n\t\t\t\tfix: \"Give the member a value the codec takes, or type the enum with a codec that takes it.\",\n\t\t\t\tcause,\n\t\t\t\tmeta: {\n\t\t\t\t\tenumName: handle.enumName,\n\t\t\t\t\tmember: member.name,\n\t\t\t\t\tcodecId: handle.codecId,\n\t\t\t\t\treason: \"codec-refused-member\"\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n}\n/**\n* The member values a membership check must enforce, encoded exactly as the\n* column stores them. Membership predicates support strings and finite numbers.\n*/\nfunction checkMemberValues(handle, codecLookup) {\n\tconst encoded = encodeEnumMembers(handle, codecLookup).map((member) => member.value);\n\tconst values = [];\n\tfor (const value of encoded) {\n\t\tif (typeof value !== \"string\" && !(typeof value === \"number\" && Number.isFinite(value))) throw contractError(\"CONTRACT.ENUM_INVALID\", `enumType(\"${handle.enumName}\"): CHECK constraint members must encode to strings or finite numbers.`, { meta: {\n\t\t\tenumName: handle.enumName,\n\t\t\treason: \"unsupported-member-value\"\n\t\t} });\n\t\tif (typeof value !== typeof encoded[0]) throw contractError(\"CONTRACT.ENUM_INVALID\", `enumType(\"${handle.enumName}\"): CHECK constraint members must encode to the same primitive type; mixed strings and numbers are not supported.`, { meta: {\n\t\t\tenumName: handle.enumName,\n\t\t\treason: \"mixed-member-types\"\n\t\t} });\n\t\tvalues.push(value);\n\t}\n\treturn values;\n}\n/**\n* Resolves a field's authored `noCheck` kinds against its column shape:\n* the bare form (`[]`) becomes every kind the shape derives, and a named\n* kind that can never apply to the shape is an authoring error\n* (`CONTRACT.CHECK_OPTOUT_INVALID`). Returns the concrete kinds in\n* canonical ascending order — the only form the contract persists.\n*/\nfunction resolveNoCheckKinds(input) {\n\tconst derivable = [];\n\tif (input.many) derivable.push(\"elementNotNull\");\n\tif (input.isDomainEnum) derivable.push(\"membership\");\n\tconst subject = `Field \"${input.modelName}.${input.fieldName}\"`;\n\tconst meta = {\n\t\tmodelName: input.modelName,\n\t\tfieldName: input.fieldName\n\t};\n\tif (input.kinds.length === 0) {\n\t\tif (derivable.length === 0) throw contractError(\"CONTRACT.CHECK_OPTOUT_INVALID\", `${subject}: noCheck() waives nothing — this column's shape derives no generated checks.`, { meta: {\n\t\t\t...meta,\n\t\t\treason: \"no-derivable-checks\"\n\t\t} });\n\t\treturn derivable;\n\t}\n\tconst seen = /* @__PURE__ */ new Set();\n\tfor (const kind of input.kinds) {\n\t\tif (seen.has(kind)) throw contractError(\"CONTRACT.CHECK_OPTOUT_INVALID\", `${subject}: noCheck(\"${kind}\") names the same kind twice.`, { meta: {\n\t\t\t...meta,\n\t\t\tkind,\n\t\t\treason: \"duplicate-kind\"\n\t\t} });\n\t\tseen.add(kind);\n\t\tif (!derivable.includes(kind)) throw contractError(\"CONTRACT.CHECK_OPTOUT_INVALID\", `${subject}: noCheck(\"${kind}\") does not apply — ${kind === \"membership\" ? \"membership checks are derived only from enumType() value sets\" : \"element-non-null checks are derived only for list columns\"}.`, { meta: {\n\t\t\t...meta,\n\t\t\tkind,\n\t\t\treason: \"inapplicable-kind\"\n\t\t} });\n\t}\n\treturn [...input.kinds].sort();\n}\n/**\n* Names the target's rendered checks and lowers them into contract entities.\n*\n* Naming is composed family-side ({@link composeCheckWirePrefix}) rather than\n* by the target, and suffixed with the predicate's content hash. Composing\n* family-side is what makes the truncation safe — two prefixes that truncate\n* alike still differ in their hashes, and the family can see that the\n* (table, column, kind) triple they were built from is unique per table,\n* rather than having to assume something about SQL text it declares itself\n* unable to read.\n*/\nfunction lowerRenderedChecks(tableName, candidates) {\n\treturn candidates.map((candidate) => new CheckConstraint({\n\t\tnaming: {\n\t\t\tkind: \"wire\",\n\t\t\tprefix: composeCheckWirePrefix(tableName, candidate.columnName, candidate.kind),\n\t\t\thash: computeCheckContentHash(candidate.expression)\n\t\t},\n\t\texpression: candidate.expression\n\t}));\n}\nfunction resolveColumnTypeQualifier(target) {\n\tconst authoring = target.authoring;\n\tif (authoring === void 0) return void 0;\n\treturn hasColumnTypeQualifier(authoring) ? authoring.qualifyColumnType : void 0;\n}\n/**\n* Applies the target's `qualifyColumnType` hook to a scalar column descriptor.\n* A descriptor whose codec the target leaves unchanged passes through untouched.\n*/\nfunction qualifyColumnDescriptor(descriptor, namespaceId, qualify) {\n\tif (qualify === void 0) return descriptor;\n\tconst qualified = qualify({\n\t\tcodecId: descriptor.codecId,\n\t\tnativeType: descriptor.nativeType,\n\t\t...ifDefined(\"typeParams\", descriptor.typeParams)\n\t}, namespaceId);\n\tif (qualified.nativeType === descriptor.nativeType && qualified.typeParams === descriptor.typeParams) return descriptor;\n\treturn {\n\t\t...descriptor,\n\t\tnativeType: qualified.nativeType,\n\t\t...ifDefined(\"typeParams\", qualified.typeParams)\n\t};\n}\n/**\n* Records a deferred column's entity-ref into the namespace-scoped collection\n* accumulator (`namespaceId → entityKind → entityName`) — folded into the same\n* namespace assembly `deriveEntityValueSets`/`entries.<kind>` step as the\n* entities-channel attachments, so a column-collected entity gets its\n* value-set the same way an entities-channel one does.\n*\n* The same handle reused by many columns in one namespace is normal (a native\n* enum type backs any number of columns) and records the identical entity once.\n* Two *different* entity instances sharing a name+kind in one namespace is a\n* name collision — the emitted `entries.valueSet.<name>` could only reflect one\n* of them, silently mismatching the other column's type/cast. PSL hard-errors\n* on the equivalent (`PSL_DUPLICATE_DECLARATION`); the TS path rejects it too.\n*/\nfunction collectEntityFromColumn(collected, namespaceId, entityRef) {\n\tconst forNs = collected[namespaceId] ?? {};\n\tconst forKind = forNs[entityRef.entityKind] ?? {};\n\tconst existing = forKind[entityRef.entityName];\n\tif (existing !== void 0 && existing !== entityRef.entity) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `buildSqlContractFromDefinition: two different \"${entityRef.entityKind}\" entities named \"${entityRef.entityName}\" in namespace \"${namespaceId}\" — pack-entity names must be unique per namespace.`, { meta: {\n\t\tkind: entityRef.entityKind,\n\t\tname: entityRef.entityName,\n\t\tnamespaceId\n\t} });\n\tforKind[entityRef.entityName] = entityRef.entity;\n\tforNs[entityRef.entityKind] = forKind;\n\tcollected[namespaceId] = forNs;\n}\n/**\n* Merges a namespace's entities-channel attachments (lowered from the\n* `entities` handle list, carried on `ContractDefinition.attachedEntities`)\n* with the entities collected from that namespace's deferred entity-ref\n* columns. A column-collected entity that shadows a *different* attached\n* entity of the same kind+name (or vice-versa) is the same name-collision bug\n* `collectEntityFromColumn` guards against across columns, so it is rejected\n* the same way — by entity identity, so the same handle attached and used by\n* a column does not throw.\n*/\nfunction mergeColumnAndAttachedEntities(namespaceId, attached, columnCollected) {\n\tif (attached === void 0) return columnCollected;\n\tif (columnCollected === void 0) return attached;\n\tconst kinds = /* @__PURE__ */ new Set([...Object.keys(attached), ...Object.keys(columnCollected)]);\n\tconst result = {};\n\tfor (const kind of kinds) {\n\t\tconst attachedForKind = attached[kind];\n\t\tconst columnForKind = columnCollected[kind];\n\t\tfor (const [name, entity] of Object.entries(columnForKind ?? {})) {\n\t\t\tconst existing = attachedForKind?.[name];\n\t\t\tif (existing !== void 0 && existing !== entity) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `buildSqlContractFromDefinition: two different \"${kind}\" entities named \"${name}\" in namespace \"${namespaceId}\" — a column-referenced entity conflicts with an attached one; pack-entity names must be unique per namespace.`, { meta: {\n\t\t\t\tkind,\n\t\t\t\tname,\n\t\t\t\tnamespaceId\n\t\t\t} });\n\t\t}\n\t\tresult[kind] = {\n\t\t\t...attachedForKind,\n\t\t\t...columnForKind\n\t\t};\n\t}\n\treturn result;\n}\nfunction resolveModelNamespaceId(model, modelNameToNamespaceId, defaultNamespaceId) {\n\tif (model.namespaceId !== void 0 && model.namespaceId.length > 0) return model.namespaceId;\n\treturn modelNameToNamespaceId.get(model.modelName) ?? defaultNamespaceId;\n}\nfunction toOneRelationNullable(semanticModel, relation) {\n\tconst location = `Relation \"${semanticModel.modelName}.${relation.fieldName}\"`;\n\tif (relation.nullable === void 0) throw contractError(\"CONTRACT.RELATION_INVALID\", `${location} with cardinality \"${relation.cardinality}\" must state whether it is nullable`, { meta: {\n\t\tmodelName: semanticModel.modelName,\n\t\trelationName: relation.fieldName,\n\t\treason: \"to-one-nullability-missing\"\n\t} });\n\tconst localColumns = relation.on.parentColumns;\n\tconst { contradiction } = resolveToOneRelationNullable({\n\t\tdeclaredNullable: relation.nullable,\n\t\tlocalFieldNullability: semanticModel.fields.filter((field) => localColumns.includes(field.columnName)).map((field) => field.nullable),\n\t\townsReference: relation.cardinality === \"N:1\"\n\t});\n\tif (contradiction !== void 0) throw contractError(\"CONTRACT.RELATION_INVALID\", relation.cardinality === \"N:1\" ? toOneNullabilityContradictionMessage(location, contradiction) : `${location} is required but does not own the foreign key, so nothing in storage guarantees the related row exists`, { meta: {\n\t\tmodelName: semanticModel.modelName,\n\t\trelationName: relation.fieldName,\n\t\treason: \"to-one-nullability-mismatch\"\n\t} });\n\treturn relation.nullable;\n}\nfunction buildThroughDescriptor(through, tableNamespaceByName, targetModel, modelName, fieldName, defaultNamespaceId) {\n\tif (!tableNamespaceByName.has(through.table)) throw contractError(\"CONTRACT.MODEL_UNKNOWN\", `buildSqlContractFromDefinition: junction table \"${through.table}\" for relation \"${modelName}.${fieldName}\" is not a declared model.`, { meta: {\n\t\tsourceModel: modelName,\n\t\trelationName: fieldName,\n\t\tjunctionTable: through.table\n\t} });\n\tconst namespaceId = through.namespaceId ?? defaultNamespaceId;\n\treturn {\n\t\ttable: through.table,\n\t\tnamespaceId,\n\t\tparentColumns: through.parentColumns,\n\t\tchildColumns: through.childColumns,\n\t\ttargetColumns: targetColumnsForJunction(targetModel, fieldName)\n\t};\n}\nfunction targetColumnsForJunction(targetModel, fieldName) {\n\tconst primaryKeyColumns = targetModel.id?.columns;\n\tif (primaryKeyColumns && primaryKeyColumns.length > 0) return primaryKeyColumns;\n\tconst firstUnique = targetModel.uniques?.find((u) => u.columns.length > 0);\n\tif (firstUnique) return firstUnique.columns;\n\tthrow contractError(\"CONTRACT.IDENTITY_INVALID\", `M:N target model \"${targetModel.modelName}\" (relation field \"${fieldName}\") has no primary id or unique key to derive junction targetColumns.`, { meta: {\n\t\tmodelName: targetModel.modelName,\n\t\treason: \"no-key-for-junction-target-columns\"\n\t} });\n}\nfunction buildStorageColumn(field, enumRefs, modelName, storageTypes, codecLookup) {\n\tconst { descriptor } = field;\n\tconst codecId = descriptor.codecId;\n\tconst isListColumn = storedAsListColumn({\n\t\tlist: field.many === true,\n\t\ttypedByValueObject: isValueObjectMember(field)\n\t});\n\tconst noCheck = isValueObjectMember(field) ? void 0 : field.noCheck;\n\tconst encodedDefault = field.default !== void 0 ? encodeColumnDefault(field.default, codecLookup, (lookup) => columnCodec(codecId, resolvedTypeParams(descriptor, storageTypes), lookup), {\n\t\tmodelName,\n\t\tfieldName: field.fieldName,\n\t\tcodecId\n\t}, isListColumn) : void 0;\n\tinvariant(enumRefs === void 0 || descriptor.valueSet === void 0, `Field \"${modelName}.${field.fieldName}\" is typed by a domain enum and also carries a storage value set from its type constructor.`);\n\tconst valueSet = enumRefs?.storage ?? descriptor.valueSet;\n\treturn {\n\t\tnativeType: descriptor.nativeType,\n\t\tcodecId,\n\t\tnullable: field.nullable,\n\t\t...ifDefined(\"many\", isListColumn ? true : void 0),\n\t\t...ifDefined(\"noCheck\", noCheck && [...noCheck].sort()),\n\t\t...ifDefined(\"typeParams\", descriptor.typeParams),\n\t\t...ifDefined(\"default\", encodedDefault),\n\t\t...ifDefined(\"typeRef\", descriptor.typeRef),\n\t\t...ifDefined(\"valueSet\", valueSet)\n\t};\n}\n/**\n* The refs of a field typed by an authored enum: the domain enum and its storage value set. Authored enums are registered in the default namespace, whatever namespace the field's model is in.\n*/\nfunction enumValueSetRefs(enumHandle, defaultNamespaceId) {\n\tif (enumHandle === void 0) return void 0;\n\tconst common = {\n\t\tnamespaceId: defaultNamespaceId,\n\t\tentityName: enumHandle.enumName\n\t};\n\treturn {\n\t\tdomain: {\n\t\t\tplane: \"domain\",\n\t\t\tentityKind: \"enum\",\n\t\t\t...common\n\t\t},\n\t\tstorage: {\n\t\t\tplane: \"storage\",\n\t\t\tentityKind: \"valueSet\",\n\t\t\t...common\n\t\t}\n\t};\n}\nfunction buildDomainField(field, defaultNamespaceId, storageTypes) {\n\tif (isValueObjectMember(field)) return {\n\t\ttype: {\n\t\t\tkind: \"valueObject\",\n\t\t\tname: field.valueObjectName\n\t\t},\n\t\tnullable: field.nullable,\n\t\t...ifDefined(\"many\", field.many ? true : void 0)\n\t};\n\treturn {\n\t\ttype: {\n\t\t\tkind: \"scalar\",\n\t\t\tcodecId: field.descriptor.codecId,\n\t\t\t...ifDefined(\"typeParams\", resolvedTypeParams(field.descriptor, storageTypes))\n\t\t},\n\t\tnullable: field.nullable,\n\t\t...ifDefined(\"many\", field.many ? true : void 0),\n\t\t...ifDefined(\"valueSet\", enumValueSetRefs(field.enumTypeHandle, defaultNamespaceId)?.domain)\n\t};\n}\nfunction collectStorageNamespaceCoordinateIds(definition) {\n\tconst ids = /* @__PURE__ */ new Set();\n\tids.add(definition.target.defaultNamespaceId);\n\tfor (const id of definition.namespaces ?? []) if (id.length > 0) ids.add(id);\n\tfor (const model of definition.models) if (model.namespaceId !== void 0 && model.namespaceId.length > 0) ids.add(model.namespaceId);\n\tfor (const id of Object.keys(definition.attachedEntities ?? {})) if (id.length > 0) ids.add(id);\n\treturn ids;\n}\n/**\n* Entry kinds the framework assembler itself manages (`table` from models,\n* `valueSet` from `enums` and attached-entity value-set derivation). A\n* pack-attached entity claiming one of these would silently clobber or be\n* clobbered by the managed slot, so it is rejected outright.\n*/\nconst MANAGED_ENTRY_KINDS = /* @__PURE__ */ new Set([tableEntityKind.kind, valueSetEntityKind.kind]);\nfunction assertNoManagedEntityKinds(namespaceId, entitiesForNs) {\n\tif (entitiesForNs === void 0) return;\n\tfor (const kind of Object.keys(entitiesForNs)) if (MANAGED_ENTRY_KINDS.has(kind)) throw contractError(\"CONTRACT.ENTITY_KIND_INVALID\", `buildSqlContractFromDefinition: attached entity in namespace \"${namespaceId}\" declares entry kind \"${kind}\", which is managed by the framework (table/valueSet) and cannot be attached.`, { meta: {\n\t\tentityKind: kind,\n\t\tnamespaceId\n\t} });\n}\n/**\n* Walks the flat `entityTypes` namespace tree contributed by the target pack\n* and every extension pack, indexing descriptors by their `discriminator` —\n* the same string a pack entity's entries-map key (`entries.<kind>`) uses.\n* Mirrors `contract-psl`'s `buildEntityTypesByDiscriminator`, recomposed here\n* from the packs `ContractDefinition` already carries (`target` +\n* `extensions`) since the TS assembler has no single pre-merged\n* `AuthoringContributions` input to read the way the PSL interpreter does.\n*/\nfunction collectEntityTypeDescriptorsByDiscriminator(definition) {\n\tconst result = /* @__PURE__ */ new Map();\n\tconst walk = (namespace) => {\n\t\tfor (const value of Object.values(namespace)) if (isAuthoringEntityTypeDescriptor(value)) result.set(value.discriminator, value);\n\t\telse walk(value);\n\t};\n\tconst components = [definition.target, ...Object.values(definition.extensions ?? {})];\n\tfor (const component of components) {\n\t\tconst entityTypes = component.authoring?.entityTypes;\n\t\tif (entityTypes !== void 0) walk(entityTypes);\n\t}\n\treturn result;\n}\n/**\n* Derives value-sets for every pack entity declared in one namespace,\n* reusing the same `SqlValueSetDerivingEntityTypeOutput.deriveValueSet` hook\n* `contract-psl`'s `lowerExtensionBlocksForNamespace` folds into\n* `entries.valueSet` on the PSL path — so a TS-attached entity (e.g. a\n* native enum) gets its value-set the same way. Entity kinds with no\n* registered descriptor, or whose descriptor output doesn't derive a\n* value-set, contribute nothing.\n*/\nfunction deriveEntityValueSets(entitiesForNs, entityTypesByDiscriminator) {\n\tif (entitiesForNs === void 0) return void 0;\n\tlet result;\n\tfor (const [kind, entitiesByName] of Object.entries(entitiesForNs)) {\n\t\tconst descriptor = entityTypesByDiscriminator.get(kind);\n\t\tif (descriptor === void 0) continue;\n\t\tfor (const [name, entity] of Object.entries(entitiesByName)) {\n\t\t\tconst derivedValueSet = deriveValueSetFromEntity(descriptor.output, entity);\n\t\t\tif (derivedValueSet === void 0) continue;\n\t\t\tresult ??= {};\n\t\t\tresult[name] = derivedValueSet;\n\t\t}\n\t}\n\treturn result;\n}\n/**\n* Merges a namespace's `enumType()`-derived value-sets with its pack-entity-\n* derived value-sets. Both land in the same `entries.valueSet[name]` slot —\n* which drives value-set → codec typing and the domain-enum CHECK — so a\n* same-named entry in both would let one silently overwrite the other and\n* corrupt whichever column resolves against it. The same collision class the\n* `mergeColumnAndAttachedEntities` guard rejects; the PSL path already hard-errors\n* on the equivalent (`interpretPslDocumentToSqlContract`). Reject it here too.\n*/\nfunction mergeNamespaceValueSets(namespaceId, enumValueSets, packValueSets) {\n\tif (enumValueSets !== void 0 && packValueSets !== void 0) {\n\t\tfor (const name of Object.keys(packValueSets)) if (Object.hasOwn(enumValueSets, name)) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `buildSqlContractFromDefinition: value-set \"${name}\" in namespace \"${namespaceId}\" is derived from both an enum and a pack entity — names must be unique per namespace.`, { meta: {\n\t\t\tkind: \"valueSet\",\n\t\t\tname,\n\t\t\tnamespaceId\n\t\t} });\n\t}\n\treturn {\n\t\t...enumValueSets,\n\t\t...packValueSets\n\t};\n}\nfunction ensureUnboundNamespaceSlot(namespaces, createNamespace) {\n\tif (Object.hasOwn(namespaces, UNBOUND_NAMESPACE_ID)) return namespaces;\n\tconst unbound = createNamespace({\n\t\tid: UNBOUND_NAMESPACE_ID,\n\t\tentries: { table: {} }\n\t});\n\treturn {\n\t\t[UNBOUND_NAMESPACE_ID]: unbound,\n\t\t...namespaces\n\t};\n}\nconst DERIVABLE_CHECK_KINDS = [\"membership\", \"elementNotNull\"];\n/**\n* Which of `columnNames` could have produced `prefix` for some\n* {@link CheckKind} — the reverse of {@link derivedCheckPrefixes}, used only\n* to name the collision in `CONTRACT.CHECK_NAME_RESERVED`'s message. Callers\n* already know `prefix` is a member of `derivedCheckPrefixes(tableName,\n* columnNames)`, so the result is never empty.\n*/\nfunction columnsProducingCheckPrefix(tableName, columnNames, prefix) {\n\treturn columnNames.filter((columnName) => DERIVABLE_CHECK_KINDS.some((kind) => composeCheckWirePrefix(tableName, columnName, kind) === prefix));\n}\nfunction buildSqlContractFromDefinition(definition, codecLookup) {\n\tconst target = definition.target.targetId;\n\tconst defaultNamespaceId = definition.target.defaultNamespaceId;\n\tconst qualifyColumnType = resolveColumnTypeQualifier(definition.target);\n\tconst renderCheckExpressions = resolveCheckExpressionRenderer(definition.target);\n\tconst targetFamily = \"sql\";\n\tconst resolveNamespaceId = (m) => m.namespaceId !== void 0 && m.namespaceId.length > 0 ? m.namespaceId : defaultNamespaceId;\n\tconst modelsByName = new Map(definition.models.map((m) => [m.modelName, m]));\n\tconst tableNamespaceByName = new Map(definition.models.map((m) => [m.tableName, m.namespaceId !== void 0 && m.namespaceId.length > 0 ? m.namespaceId : defaultNamespaceId]));\n\tconst modelsByCoordinate = new Map(definition.models.map((m) => [`${resolveNamespaceId(m)}:${m.modelName}`, m]));\n\tconst tablesByNamespace = {};\n\tconst authoringWarnings = [...definition.warnings ?? []];\n\tconst modelNameToNamespaceId = /* @__PURE__ */ new Map();\n\tconst executionDefaults = [];\n\tconst modelsByNamespace = {};\n\tconst collectedColumnEntities = {};\n\tconst rootEntries = [];\n\tfor (const semanticModel of definition.models) {\n\t\tconst tableName = semanticModel.tableName;\n\t\tconst namespaceId = semanticModel.namespaceId !== void 0 && semanticModel.namespaceId.length > 0 ? semanticModel.namespaceId : defaultNamespaceId;\n\t\tmodelNameToNamespaceId.set(semanticModel.modelName, namespaceId);\n\t\tif (!semanticModel.sharesBaseTable) rootEntries.push({\n\t\t\ttableName,\n\t\t\tnamespaceId,\n\t\t\tref: crossRef(semanticModel.modelName, namespaceId)\n\t\t});\n\t\tconst columns = {};\n\t\tconst fieldToColumn = {};\n\t\tconst domainFields = {};\n\t\tconst checksForTable = [];\n\t\tconst derivesChecks = effectiveControlPolicy(semanticModel.control, definition.defaultControlPolicy) === \"managed\";\n\t\tfor (const field of semanticModel.fields) {\n\t\t\tconst executionDefaultPhases = field.executionDefaults?.onCreate || field.executionDefaults?.onUpdate ? field.executionDefaults : void 0;\n\t\t\tif (executionDefaultPhases) {\n\t\t\t\tif (field.default !== void 0) throw contractError(\"CONTRACT.DEFAULT_INVALID\", `Field \"${semanticModel.modelName}.${field.fieldName}\" cannot define both default and executionDefaults.`, { meta: {\n\t\t\t\t\tmodelName: semanticModel.modelName,\n\t\t\t\t\tfieldName: field.fieldName,\n\t\t\t\t\treason: \"default-and-executionDefaults\"\n\t\t\t\t} });\n\t\t\t\tif (field.nullable) throw contractError(\"CONTRACT.DEFAULT_INVALID\", `Field \"${semanticModel.modelName}.${field.fieldName}\" is filled on write by a generated default (a preset such as temporal.createdAt() or an id generator), so it cannot be optional; remove .optional().`, { meta: {\n\t\t\t\t\tmodelName: semanticModel.modelName,\n\t\t\t\t\tfieldName: field.fieldName,\n\t\t\t\t\treason: \"nullable-with-executionDefaults\"\n\t\t\t\t} });\n\t\t\t}\n\t\t\tconst enumHandle = !isValueObjectMember(field) ? field.enumTypeHandle : void 0;\n\t\t\tlet resolvedField = field;\n\t\t\tif (!isValueObjectMember(field)) {\n\t\t\t\tlet descriptor = field.descriptor;\n\t\t\t\tconst entityRef = descriptor.entityRef;\n\t\t\t\tif (entityRef !== void 0) {\n\t\t\t\t\tcollectEntityFromColumn(collectedColumnEntities, namespaceId, entityRef);\n\t\t\t\t\tdescriptor = resolveEntityRefDescriptor(descriptor, namespaceId);\n\t\t\t\t}\n\t\t\t\tdescriptor = qualifyColumnDescriptor(descriptor, namespaceId, qualifyColumnType);\n\t\t\t\tif (descriptor !== field.descriptor) resolvedField = {\n\t\t\t\t\t...field,\n\t\t\t\t\tdescriptor\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (!isValueObjectMember(resolvedField) && resolvedField.noCheck !== void 0) {\n\t\t\t\tconst { noCheck: authoredNoCheck, ...withoutNoCheck } = resolvedField;\n\t\t\t\tresolvedField = derivesChecks ? {\n\t\t\t\t\t...withoutNoCheck,\n\t\t\t\t\tnoCheck: resolveNoCheckKinds({\n\t\t\t\t\t\tmodelName: semanticModel.modelName,\n\t\t\t\t\t\tfieldName: field.fieldName,\n\t\t\t\t\t\tkinds: authoredNoCheck,\n\t\t\t\t\t\tmany: resolvedField.many === true,\n\t\t\t\t\t\tisDomainEnum: enumHandle !== void 0\n\t\t\t\t\t})\n\t\t\t\t} : withoutNoCheck;\n\t\t\t}\n\t\t\tconst column = buildStorageColumn(resolvedField, enumValueSetRefs(enumHandle, defaultNamespaceId), semanticModel.modelName, definition.storageTypes ?? {}, codecLookup);\n\t\t\tcolumns[field.columnName] = column;\n\t\t\tfieldToColumn[field.fieldName] = field.columnName;\n\t\t\tif (renderCheckExpressions !== void 0 && derivesChecks) {\n\t\t\t\tconst waivedKinds = !isValueObjectMember(resolvedField) ? resolvedField.noCheck : void 0;\n\t\t\t\tchecksForTable.push(...lowerRenderedChecks(tableName, renderCheckExpressions({\n\t\t\t\t\ttableName,\n\t\t\t\t\tcolumnName: field.columnName,\n\t\t\t\t\tmany: column.many === true,\n\t\t\t\t\tmemberValues: enumHandle !== void 0 ? checkMemberValues(enumHandle, codecLookup) : void 0\n\t\t\t\t}).filter((candidate) => !(waivedKinds?.includes(candidate.kind) ?? false))));\n\t\t\t}\n\t\t\tdomainFields[field.fieldName] = buildDomainField(resolvedField, defaultNamespaceId, definition.storageTypes ?? {});\n\t\t\tif (executionDefaultPhases) executionDefaults.push({\n\t\t\t\tref: {\n\t\t\t\t\tnamespace: namespaceId,\n\t\t\t\t\tentry: tableName,\n\t\t\t\t\tfield: field.columnName\n\t\t\t\t},\n\t\t\t\t...ifDefined(\"onCreate\", executionDefaultPhases.onCreate),\n\t\t\t\t...ifDefined(\"onUpdate\", executionDefaultPhases.onUpdate)\n\t\t\t});\n\t\t}\n\t\tconst authoringForeignKeys = (semanticModel.foreignKeys ?? []).map((fk) => {\n\t\t\tif (fk.references.spaceId !== void 0) {\n\t\t\t\tconst targetNamespaceId = fk.references.namespaceId ?? defaultNamespaceId;\n\t\t\t\treturn {\n\t\t\t\t\tsource: {\n\t\t\t\t\t\tnamespaceId: asNamespaceId(namespaceId),\n\t\t\t\t\t\ttableName,\n\t\t\t\t\t\tcolumns: fk.columns\n\t\t\t\t\t},\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tnamespaceId: asNamespaceId(targetNamespaceId),\n\t\t\t\t\t\ttableName: fk.references.table,\n\t\t\t\t\t\tcolumns: fk.references.columns,\n\t\t\t\t\t\tspaceId: fk.references.spaceId\n\t\t\t\t\t},\n\t\t\t\t\t...applyFkDefaults({\n\t\t\t\t\t\t...ifDefined(\"constraint\", fk.constraint),\n\t\t\t\t\t\t...ifDefined(\"index\", fk.index)\n\t\t\t\t\t}, definition.foreignKeyDefaults),\n\t\t\t\t\t...ifDefined(\"name\", fk.name),\n\t\t\t\t\t...ifDefined(\"onDelete\", fk.onDelete),\n\t\t\t\t\t...ifDefined(\"onUpdate\", fk.onUpdate)\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst targetModel = assertKnownTargetModel(modelsByName, modelsByCoordinate, semanticModel.modelName, fk.references.model, fk.references.namespaceId, \"Foreign key\");\n\t\t\tassertTargetTableMatches(semanticModel.modelName, targetModel, fk.references.table, \"Foreign key\");\n\t\t\tconst targetNamespaceId = fk.references.namespaceId ?? (targetModel.namespaceId !== void 0 && targetModel.namespaceId.length > 0 ? targetModel.namespaceId : defaultNamespaceId);\n\t\t\treturn {\n\t\t\t\tsource: {\n\t\t\t\t\tnamespaceId: asNamespaceId(namespaceId),\n\t\t\t\t\ttableName,\n\t\t\t\t\tcolumns: fk.columns\n\t\t\t\t},\n\t\t\t\ttarget: {\n\t\t\t\t\tnamespaceId: asNamespaceId(targetNamespaceId),\n\t\t\t\t\ttableName: fk.references.table,\n\t\t\t\t\tcolumns: fk.references.columns\n\t\t\t\t},\n\t\t\t\t...applyFkDefaults({\n\t\t\t\t\t...ifDefined(\"constraint\", fk.constraint),\n\t\t\t\t\t...ifDefined(\"index\", fk.index)\n\t\t\t\t}, definition.foreignKeyDefaults),\n\t\t\t\t...ifDefined(\"name\", fk.name),\n\t\t\t\t...ifDefined(\"onDelete\", fk.onDelete),\n\t\t\t\t...ifDefined(\"onUpdate\", fk.onUpdate)\n\t\t\t};\n\t\t});\n\t\tif (semanticModel.sharesBaseTable && semanticModel.checks && semanticModel.checks.length > 0) throw contractError(\"CONTRACT.CHECK_ON_STI_VARIANT\", `Model \"${semanticModel.modelName}\" declares a check constraint but shares its base model's storage table (single-table inheritance) and has no table of its own to declare it on. Declare the check on the base model instead.`, { meta: {\n\t\t\ttableName,\n\t\t\tmodelName: semanticModel.modelName\n\t\t} });\n\t\tif (!semanticModel.sharesBaseTable) {\n\t\t\tconst uniques = (semanticModel.uniques ?? []).map((u) => ({\n\t\t\t\tcolumns: u.columns,\n\t\t\t\t...ifDefined(\"name\", u.name)\n\t\t\t}));\n\t\t\tconst declaredIndexes = (semanticModel.indexes ?? []).map((i) => lowerAuthoredIndex(tableName, blindCast({\n\t\t\t\t...ifDefined(\"columns\", i.columns),\n\t\t\t\t...ifDefined(\"expression\", i.expression),\n\t\t\t\twhere: i.where,\n\t\t\t\tunique: i.unique,\n\t\t\t\tmap: i.map,\n\t\t\t\tname: i.name,\n\t\t\t\ttype: i.type,\n\t\t\t\toptions: i.options\n\t\t\t}), authoringWarnings));\n\t\t\tif (semanticModel.checks !== void 0 && semanticModel.checks.length > 0) {\n\t\t\t\tconst tableColumnNames = Object.keys(columns);\n\t\t\t\tconst reservedCheckPrefixes = derivedCheckPrefixes(tableName, tableColumnNames);\n\t\t\t\tfor (const authoredCheck of semanticModel.checks) {\n\t\t\t\t\tconst lowered = lowerAuthoredCheck(tableName, authoredCheck, authoringWarnings);\n\t\t\t\t\tif (lowered.naming.kind === \"wire\" && reservedCheckPrefixes.has(lowered.naming.prefix)) {\n\t\t\t\t\t\tconst collidingColumns = columnsProducingCheckPrefix(tableName, tableColumnNames, lowered.naming.prefix);\n\t\t\t\t\t\tconst columnList = collidingColumns.map((name) => `\"${name}\"`).join(\", \");\n\t\t\t\t\t\tthrow contractError(\"CONTRACT.CHECK_NAME_RESERVED\", `Check \"${lowered.naming.prefix}\" on table \"${tableName}\": this name's prefix matches the shape a derived enforcement check would use for column${collidingColumns.length === 1 ? \"\" : \"s\"} ${columnList} of this table, so it can't be told apart from one. Choose a different name.`, { meta: {\n\t\t\t\t\t\t\ttableName,\n\t\t\t\t\t\t\tprefix: lowered.naming.prefix,\n\t\t\t\t\t\t\tcollidingColumns\n\t\t\t\t\t\t} });\n\t\t\t\t\t}\n\t\t\t\t\tchecksForTable.push(new CheckConstraint(lowered));\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst primaryKey = semanticModel.id ? {\n\t\t\t\tcolumns: semanticModel.id.columns,\n\t\t\t\t...ifDefined(\"name\", semanticModel.id.name)\n\t\t\t} : void 0;\n\t\t\tconst { foreignKeys, indexes } = materializeForeignKeysAndIndexes(tableName, authoringForeignKeys, declaredIndexes, uniques, primaryKey);\n\t\t\tconst tableInput = {\n\t\t\t\tcolumns,\n\t\t\t\t...ifDefined(\"control\", semanticModel.control),\n\t\t\t\tuniques,\n\t\t\t\tindexes: indexes.map((i) => new Index(i)),\n\t\t\t\tforeignKeys,\n\t\t\t\t...primaryKey ? { primaryKey } : {},\n\t\t\t\t...checksForTable.length > 0 ? { checks: checksForTable } : {}\n\t\t\t};\n\t\t\tlet nsTables = tablesByNamespace[namespaceId];\n\t\t\tif (nsTables === void 0) {\n\t\t\t\tnsTables = {};\n\t\t\t\ttablesByNamespace[namespaceId] = nsTables;\n\t\t\t}\n\t\t\tif (nsTables[tableName] !== void 0) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `buildSqlContractFromDefinition: duplicate table \"${tableName}\" in namespace \"${namespaceId}\".`, { meta: {\n\t\t\t\tkind: \"table\",\n\t\t\t\tname: tableName,\n\t\t\t\tnamespaceId\n\t\t\t} });\n\t\t\tnsTables[tableName] = tableInput;\n\t\t}\n\t\tconst storageFields = {};\n\t\tfor (const [fieldName, columnName] of Object.entries(fieldToColumn)) storageFields[fieldName] = { column: columnName };\n\t\tconst columnToField = new Map(Object.entries(fieldToColumn).map(([field, col]) => [col, field]));\n\t\tconst modelRelations = {};\n\t\tfor (const relation of semanticModel.relations ?? []) {\n\t\t\tif (relation.spaceId !== void 0) {\n\t\t\t\tconst targetNamespaceId = relation.namespaceId ?? defaultNamespaceId;\n\t\t\t\tmodelRelations[relation.fieldName] = {\n\t\t\t\t\tto: crossRef(relation.toModel, targetNamespaceId, relation.spaceId),\n\t\t\t\t\tcardinality: \"N:1\",\n\t\t\t\t\tnullable: toOneRelationNullable(semanticModel, relation),\n\t\t\t\t\ton: {\n\t\t\t\t\t\tlocalFields: relation.on.parentColumns.map((col) => columnToField.get(col) ?? col),\n\t\t\t\t\t\ttargetFields: relation.on.childColumns\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst targetModel = assertKnownTargetModel(modelsByName, modelsByCoordinate, semanticModel.modelName, relation.toModel, relation.toNamespaceId, \"Relation\");\n\t\t\tinvariant(relation.toTable !== void 0, `Relation \"${semanticModel.modelName}.${relation.fieldName}\" is local but carries no target table; only cross-space relations may leave it unset.`);\n\t\t\tassertTargetTableMatches(semanticModel.modelName, targetModel, relation.toTable, \"Relation\");\n\t\t\tconst targetColumnToField = new Map(targetModel.fields.map((f) => [f.columnName, f.fieldName]));\n\t\t\tconst to = crossRef(relation.toModel, relation.toNamespaceId !== void 0 && relation.toNamespaceId.length > 0 ? relation.toNamespaceId : resolveModelNamespaceId(targetModel, modelNameToNamespaceId, defaultNamespaceId));\n\t\t\tconst on = {\n\t\t\t\tlocalFields: relation.on.parentColumns.map((col) => columnToField.get(col) ?? col),\n\t\t\t\ttargetFields: relation.on.childColumns.map((col) => targetColumnToField.get(col) ?? col)\n\t\t\t};\n\t\t\tif (relation.cardinality === \"N:M\") {\n\t\t\t\tif (!relation.through) throw contractError(\"CONTRACT.RELATION_INVALID\", `Relation \"${semanticModel.modelName}.${relation.fieldName}\" with cardinality \"N:M\" requires through metadata`, { meta: {\n\t\t\t\t\tmodelName: semanticModel.modelName,\n\t\t\t\t\trelationName: relation.fieldName,\n\t\t\t\t\treason: \"many-to-many-missing-through\"\n\t\t\t\t} });\n\t\t\t\tmodelRelations[relation.fieldName] = {\n\t\t\t\t\tto,\n\t\t\t\t\tcardinality: \"N:M\",\n\t\t\t\t\ton,\n\t\t\t\t\tthrough: buildThroughDescriptor(relation.through, tableNamespaceByName, targetModel, semanticModel.modelName, relation.fieldName, defaultNamespaceId)\n\t\t\t\t};\n\t\t\t} else if (relation.cardinality === \"1:N\") modelRelations[relation.fieldName] = {\n\t\t\t\tto,\n\t\t\t\tcardinality: \"1:N\",\n\t\t\t\ton\n\t\t\t};\n\t\t\telse modelRelations[relation.fieldName] = {\n\t\t\t\tto,\n\t\t\t\tcardinality: relation.cardinality,\n\t\t\t\tnullable: toOneRelationNullable(semanticModel, relation),\n\t\t\t\ton\n\t\t\t};\n\t\t}\n\t\tlet namespaceModels = modelsByNamespace[namespaceId];\n\t\tif (namespaceModels === void 0) {\n\t\t\tnamespaceModels = {};\n\t\t\tmodelsByNamespace[namespaceId] = namespaceModels;\n\t\t}\n\t\tnamespaceModels[semanticModel.modelName] = {\n\t\t\tstorage: {\n\t\t\t\ttable: tableName,\n\t\t\t\tnamespaceId,\n\t\t\t\tfields: storageFields\n\t\t\t},\n\t\t\tfields: domainFields,\n\t\t\trelations: modelRelations\n\t\t};\n\t}\n\tconst rootTableNameCounts = /* @__PURE__ */ new Map();\n\tfor (const entry of rootEntries) rootTableNameCounts.set(entry.tableName, (rootTableNameCounts.get(entry.tableName) ?? 0) + 1);\n\tconst roots = {};\n\tfor (const entry of rootEntries) {\n\t\tconst key = (rootTableNameCounts.get(entry.tableName) ?? 0) > 1 ? `${entry.namespaceId}.${entry.tableName}` : entry.tableName;\n\t\troots[key] = entry.ref;\n\t}\n\tconst rawStorageTypes = definition.storageTypes ?? {};\n\tconst documentTypes = Object.fromEntries(Object.entries(rawStorageTypes).map(([name, entry]) => {\n\t\tif (\"kind\" in entry && entry.kind === \"codec-instance\") return [name, entry];\n\t\treturn [name, toStorageTypeInstance({\n\t\t\tcodecId: entry.codecId,\n\t\t\tnativeType: entry.nativeType,\n\t\t\ttypeParams: (\"typeParams\" in entry ? entry.typeParams : void 0) ?? {}\n\t\t})];\n\t}));\n\tconst namespaceCoordinateIds = collectStorageNamespaceCoordinateIds(definition);\n\tconst domainEnumsByNs = {};\n\tconst storageValueSetsByNs = {};\n\tfor (const [enumName, handle] of Object.entries(definition.enums ?? {})) {\n\t\tif (enumName !== handle.enumName) throw contractError(\"CONTRACT.ENUM_INVALID\", `enum declaration key \"${enumName}\" must match enumType name \"${handle.enumName}\". Aliases are not supported.`, { meta: {\n\t\t\tenumName: handle.enumName,\n\t\t\tdeclarationKey: enumName,\n\t\t\treason: \"key-name-mismatch\"\n\t\t} });\n\t\tconst nsId = defaultNamespaceId;\n\t\tlet domainSlot = domainEnumsByNs[nsId];\n\t\tif (domainSlot === void 0) {\n\t\t\tdomainSlot = {};\n\t\t\tdomainEnumsByNs[nsId] = domainSlot;\n\t\t}\n\t\tconst storedMembers = encodeEnumMembers(handle, codecLookup);\n\t\tdomainSlot[enumName] = {\n\t\t\tcodecId: handle.codecId,\n\t\t\tmembers: storedMembers\n\t\t};\n\t\tlet storageSlot = storageValueSetsByNs[nsId];\n\t\tif (storageSlot === void 0) {\n\t\t\tstorageSlot = {};\n\t\t\tstorageValueSetsByNs[nsId] = storageSlot;\n\t\t}\n\t\tstorageSlot[enumName] = {\n\t\t\tkind: \"valueSet\",\n\t\t\tvalues: storedMembers.map((member) => member.value)\n\t\t};\n\t}\n\tconst { createNamespace } = definition;\n\tconst entityTypesByDiscriminator = collectEntityTypeDescriptorsByDiscriminator(definition);\n\tconst namespaces = Object.fromEntries([...namespaceCoordinateIds].sort().map((id) => {\n\t\tconst entitiesForNs = mergeColumnAndAttachedEntities(id, definition.attachedEntities?.[id], collectedColumnEntities[id]);\n\t\tassertNoManagedEntityKinds(id, entitiesForNs);\n\t\tconst enumValueSetEntries = storageValueSetsByNs[id];\n\t\tconst packValueSetEntries = deriveEntityValueSets(entitiesForNs, entityTypesByDiscriminator);\n\t\tconst valueSetEntries = enumValueSetEntries !== void 0 || packValueSetEntries !== void 0 ? mergeNamespaceValueSets(id, enumValueSetEntries, packValueSetEntries) : void 0;\n\t\tconst nsInput = {\n\t\t\tid,\n\t\t\tentries: {\n\t\t\t\ttable: tablesByNamespace[id] ?? {},\n\t\t\t\t...entitiesForNs,\n\t\t\t\t...valueSetEntries !== void 0 && Object.keys(valueSetEntries).length > 0 ? { valueSet: valueSetEntries } : {}\n\t\t\t}\n\t\t};\n\t\treturn [id, createNamespace(nsInput)];\n\t}));\n\tconst storageWithoutHash = {\n\t\t...Object.keys(documentTypes).length > 0 ? { types: documentTypes } : {},\n\t\tnamespaces: defaultNamespaceId === UNBOUND_NAMESPACE_ID ? ensureUnboundNamespaceSlot(namespaces, createNamespace) : namespaces\n\t};\n\tconst storageHash = definition.storageHash ? coreHash(definition.storageHash) : computeStorageHash({\n\t\ttarget,\n\t\ttargetFamily,\n\t\tstorage: blindCast(storageWithoutHash),\n\t\t...sqlContractCanonicalizationHooks\n\t});\n\tconst storage = new SqlStorage({\n\t\t...storageWithoutHash,\n\t\tstorageHash\n\t});\n\tconst extensionNamespaces = definition.extensions ? Object.values(definition.extensions).map((pack) => pack.id) : void 0;\n\tconst extensions = { ...definition.extensions || {} };\n\tif (extensionNamespaces) {\n\t\tfor (const namespace of extensionNamespaces) if (!Object.hasOwn(extensions, namespace)) extensions[namespace] = {};\n\t}\n\tconst capabilities = mergeCapabilityMatrices({}, [definition.target, ...Object.values(definition.extensions ?? {})]);\n\tconst profileHash = computeProfileHash({\n\t\ttarget,\n\t\ttargetFamily,\n\t\tcapabilities: {}\n\t});\n\tconst executionWithHash = buildExecutionSection({\n\t\ttarget,\n\t\ttargetFamily,\n\t\tdefaults: executionDefaults\n\t});\n\tconst valueObjects = definition.valueObjects && definition.valueObjects.length > 0 ? Object.fromEntries(definition.valueObjects.map((vo) => [vo.name, { fields: Object.fromEntries(vo.fields.map((f) => [f.fieldName, buildDomainField(f, defaultNamespaceId, definition.storageTypes ?? {})])) }])) : void 0;\n\tconst domainNamespaceIds = new Set(Object.keys(modelsByNamespace));\n\tif (domainNamespaceIds.size === 0) domainNamespaceIds.add(defaultNamespaceId);\n\tif (valueObjects !== void 0) domainNamespaceIds.add(defaultNamespaceId);\n\tfor (const nsId of Object.keys(domainEnumsByNs)) domainNamespaceIds.add(nsId);\n\tconst domainNamespaces = Object.fromEntries([...domainNamespaceIds].sort().map((namespaceId) => {\n\t\tconst modelsInNs = modelsByNamespace[namespaceId] ?? {};\n\t\tconst enumsInNs = domainEnumsByNs[namespaceId];\n\t\treturn [namespaceId, {\n\t\t\tmodels: modelsInNs,\n\t\t\t...namespaceId === defaultNamespaceId && valueObjects !== void 0 ? { valueObjects } : {},\n\t\t\t...enumsInNs !== void 0 && Object.keys(enumsInNs).length > 0 ? { enum: enumsInNs } : {}\n\t\t}];\n\t}));\n\tconst contract = {\n\t\ttarget,\n\t\ttargetFamily,\n\t\t...ifDefined(\"defaultControlPolicy\", definition.defaultControlPolicy),\n\t\tdomain: { namespaces: domainNamespaces },\n\t\troots,\n\t\tstorage,\n\t\t...executionWithHash ? { execution: executionWithHash } : {},\n\t\textensions,\n\t\tcapabilities,\n\t\tprofileHash,\n\t\tmeta: {}\n\t};\n\tassertStorageSemantics(definition, contract);\n\tflushAuthoringWarnings(authoringWarnings);\n\treturn contract;\n}\n//#endregion\n//#region src/derived-checks.ts\n/**\n* The one step every SQL contract specifier funnels its loaded contract\n* through: stamp the specifier's default control policy, then strip derived\n* checks from every table the stamped policy leaves non-managed. Composing the\n* two here is what keeps the managed-only consequence from being skipped on\n* any specifier route.\n*/\nfunction applySqlSpecifierControlPolicy(contract, defaultControlPolicy, createNamespace) {\n\treturn stripDerivedChecksFromNonManagedTables(applySpecifierDefaultControlPolicy(contract, defaultControlPolicy), createNamespace);\n}\n/**\n* Removes generated enforcement checks from every table whose effective\n* control policy is not `managed`.\n*\n* A check is derived iff its wire prefix is one derivation would produce for\n* some column of its table — {@link derivedCheckPrefixes} enumerates that\n* set. Wire-naming alone no longer identifies derivation: an authored\n* `name:` check (`@@check` / `check()`) is wire-named too, so a bare\n* `check.prefix === undefined` test would delete an author's own constraint\n* from every non-`managed` table. The prefix-shape rule tests against the\n* table's own columns instead of the naming mode, so an authored check with\n* an unrelated prefix survives.\n*\n* The rule is weaker than recomputing the content hash `contract infer`\n* uses: that needs `postgresRenderCheckExpressions` to know what a kind\n* renders, and this funnel has no target descriptor to reach it through. It\n* can only ask whether some column could have produced a prefix of this\n* shape, not whether this exact column produced this exact check. The gap\n* that opens — an authored name that collides with a derived-prefix shape —\n* is closed at authoring time instead: such a name is rejected\n* (`CONTRACT.CHECK_NAME_RESERVED`) before it ever reaches storage.\n*\n* Why derivation stops at the namespace boundary: the contract *describes* an\n* external schema, it does not *prescribe* enforcement for it. Deriving a check\n* for a table Prisma 8 never creates declares a constraint the live database\n* has no reason to carry, and `external` fails verify on a declared shape the\n* database lacks — an unfixable failure, since no plan may emit DDL there\n* either.\n*\n* This is the post-build half of the rule. Authoring skips derivation for a\n* table whose policy is known in the source; this pass catches the policy a\n* contract *specifier* applies after the contract is already built, which is\n* the only signal a pack like the Supabase extension gives. Specifiers reach\n* it through `applySqlSpecifierControlPolicy` above.\n*\n* Returns the contract unchanged (same reference) when nothing is stripped.\n* When something is, the storage hash is recomputed — the stripped contract\n* describes different storage.\n*/\nfunction stripDerivedChecksFromNonManagedTables(contract, createNamespace) {\n\tconst storage = contract.storage;\n\tif (!isSqlStorageShaped(storage)) return contract;\n\tlet anyStripped = false;\n\tconst namespaces = {};\n\tfor (const [namespaceId, namespace] of Object.entries(storage.namespaces)) {\n\t\tif (!isMaterializedSqlNamespace(namespace)) return contract;\n\t\tconst tables = namespace.entries[\"table\"];\n\t\tif (tables === void 0) {\n\t\t\tnamespaces[namespaceId] = namespace;\n\t\t\tcontinue;\n\t\t}\n\t\tlet namespaceStripped = false;\n\t\tconst nextTables = {};\n\t\tfor (const [tableName, table] of Object.entries(tables)) {\n\t\t\tconst stripped = StorageTable.is(table) ? withoutDerivedChecks(tableName, table, contract.defaultControlPolicy) : table;\n\t\t\tif (stripped !== table) namespaceStripped = true;\n\t\t\tnextTables[tableName] = stripped;\n\t\t}\n\t\tif (!namespaceStripped) {\n\t\t\tnamespaces[namespaceId] = namespace;\n\t\t\tcontinue;\n\t\t}\n\t\tanyStripped = true;\n\t\tnamespaces[namespaceId] = createNamespace({\n\t\t\tid: namespace.id,\n\t\t\tentries: {\n\t\t\t\t...namespace.entries,\n\t\t\t\ttable: nextTables\n\t\t\t}\n\t\t});\n\t}\n\tif (!anyStripped) return contract;\n\tconst storageWithoutHash = {\n\t\tnamespaces,\n\t\t...ifDefined(\"types\", storage.types)\n\t};\n\treturn {\n\t\t...contract,\n\t\tstorage: new SqlStorage({\n\t\t\t...storageWithoutHash,\n\t\t\tstorageHash: computeStorageHash({\n\t\t\t\ttarget: contract.target,\n\t\t\t\ttargetFamily: contract.targetFamily,\n\t\t\t\tstorage: storageWithoutHash,\n\t\t\t\t...sqlContractCanonicalizationHooks\n\t\t\t})\n\t\t})\n\t};\n}\n/**\n* Structural stand-in for `instanceof SqlStorage`: like the checks it wraps, a\n* storage instance can arrive from a realm whose IR classes are a separate\n* copy (the dist e2e shape), where an `instanceof` test would miss.\n*/\nfunction isSqlStorageShaped(x) {\n\tif (typeof x !== \"object\" || x === null || !(\"namespaces\" in x)) return false;\n\treturn typeof x.namespaces === \"object\" && x.namespaces !== null;\n}\n/** The table itself when it keeps every check, a rebuilt one when it does not. */\nfunction withoutDerivedChecks(tableName, table, contractDefault) {\n\tconst checks = table.checks;\n\tif (checks === void 0 || checks.length === 0) return table;\n\tif (effectiveControlPolicy(table.control, contractDefault) === \"managed\") return table;\n\tconst columnNames = Object.keys(table.columns);\n\tinvariant(columnNames.length > 0, `withoutDerivedChecks: table \"${tableName}\" carries checks but its column map is empty. The caller must pass the table's real, complete column set — an empty or partial map makes every check misclassify as non-derived and survive the strip.`);\n\tconst derivedPrefixes = derivedCheckPrefixes(tableName, columnNames);\n\tconst kept = checks.filter((check) => check.prefix === void 0 || !derivedPrefixes.has(check.prefix));\n\tif (kept.length === checks.length) return table;\n\treturn new StorageTable({\n\t\tcolumns: table.columns,\n\t\tuniques: table.uniques,\n\t\tindexes: table.indexes,\n\t\tforeignKeys: table.foreignKeys,\n\t\t...ifDefined(\"primaryKey\", table.primaryKey),\n\t\t...ifDefined(\"control\", table.control),\n\t\t...kept.length > 0 ? { checks: kept.map((check) => checkConstraintInputFromSerialized({\n\t\t\tname: check.name,\n\t\t\t...ifDefined(\"prefix\", check.prefix),\n\t\t\texpression: check.expression\n\t\t})) } : {}\n\t});\n}\n//#endregion\nexport { isValueObjectMember as a, contractError as i, buildSqlContractFromDefinition as n, storedAsListColumn as o, toOneNullabilityContradictionMessage as r, applySqlSpecifierControlPolicy as t };\n\n//# sourceMappingURL=derived-checks-D8_YCVs5.mjs.map"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { i as SqlNamespaceBase, s as SqlNamespaceInput } from "./sql-storage-8LqxeLAY-DH4DdUXx.mjs";
2
- import "./types-C36_3E6_.mjs";
1
+ import { i as SqlNamespaceBase, s as SqlNamespaceInput } from "./sql-storage-BSxD7_vv-C4ugLH39.mjs";
2
+ import "./types-BoMDdzjD.mjs";
3
3
  import { Contract, ControlPolicy } from "@prisma/orm-framework/contract/types";
4
4
  //#region ../../../2-sql/2-authoring/contract-ts/dist/derived-checks-DPdD01O0.d.mts
5
5
  //#region src/derived-checks.d.ts
@@ -18,4 +18,4 @@ type SqlNamespaceFactory = (input: SqlNamespaceInput) => SqlNamespaceBase;
18
18
  declare function applySqlSpecifierControlPolicy(contract: Contract, defaultControlPolicy: ControlPolicy | undefined, createNamespace: SqlNamespaceFactory): Contract;
19
19
  //#endregion
20
20
  export { applySqlSpecifierControlPolicy as n, SqlNamespaceFactory as t };
21
- //# sourceMappingURL=derived-checks-DPdD01O0-DNBs1ZDA.d.mts.map
21
+ //# sourceMappingURL=derived-checks-DPdD01O0-zXZEuy5P.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"derived-checks-DPdD01O0-DNBs1ZDA.d.mts","names":[],"sources":["../../../../2-sql/2-authoring/contract-ts/dist/derived-checks-DPdD01O0.d.mts"],"mappings":";;;;;;;;;KAOK,uBAAuB,OAAO,sBAAsB;;;;;;;;iBAQxC,+BAA+B,UAAU,UAAU,sBAAsB,2BAA2B,iBAAiB,sBAAsB"}
1
+ {"version":3,"file":"derived-checks-DPdD01O0-zXZEuy5P.d.mts","names":[],"sources":["../../../../2-sql/2-authoring/contract-ts/dist/derived-checks-DPdD01O0.d.mts"],"mappings":";;;;;;;;;KAOK,uBAAuB,OAAO,sBAAsB;;;;;;;;iBAQxC,+BAA+B,UAAU,UAAU,sBAAsB,2BAA2B,iBAAiB,sBAAsB"}
@@ -1,10 +1,10 @@
1
- import { c as SqlStorage } from "./sql-storage-8LqxeLAY-DH4DdUXx.mjs";
2
- import "./types-C36_3E6_.mjs";
1
+ import { c as SqlStorage } from "./sql-storage-BSxD7_vv-C4ugLH39.mjs";
2
+ import "./types-BoMDdzjD.mjs";
3
3
  import { y as SqlSchemaIRNode } from "./types-DinsvYdY-Dv_n3Tac.mjs";
4
4
  import "./types-BBT7jidC.mjs";
5
- import "./control-adapter-C99J7aEF-B3_IhgH6.mjs";
6
- import { n as CodecControlHooks } from "./types-BFPRCYGW-CZrZyp1E.mjs";
7
- import { t as SqlSchemaDiffFn } from "./schema-differ-DpG_gnur-3ciAcy28.mjs";
5
+ import "./control-adapter-C4_cgvzB-BwZx3_VD.mjs";
6
+ import { n as CodecControlHooks } from "./types-BKJWoQ40-BzViF_9K.mjs";
7
+ import { t as SqlSchemaDiffFn } from "./schema-differ-DpG_gnur-gLIPLPVI.mjs";
8
8
  import { Contract, ControlPolicy } from "@prisma/orm-framework/contract/types";
9
9
  import { TargetBoundComponentDescriptor } from "@prisma/orm-framework/components/components";
10
10
  import { DiffSubjectGranularity, SchemaDiffIssue, VerifierIssueCategory, VerifyDatabaseSchemaResult } from "@prisma/orm-framework/components/control";
@@ -101,4 +101,4 @@ interface VerifySqlSchemaByDiffInput {
101
101
  declare function verifySqlSchemaByDiff(input: VerifySqlSchemaByDiffInput): VerifyDatabaseSchemaResult;
102
102
  //#endregion
103
103
  export { VerifySqlSchemaByDiffInput as a, computeSqlDiffVerdict as c, StorageTypeVerdictInput as i, computeStorageTypeVerdict as l, SqlDiffVerdictInput as n, classifyDiffSubjectGranularity as o, StorageTypeVerdict as r, classifySqlDiffIssue as s, SqlDiffVerdict as t, verifySqlSchemaByDiff as u };
104
- //# sourceMappingURL=diff-DFOiwUHg.d.mts.map
104
+ //# sourceMappingURL=diff-C_zQQTgw.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"diff-DFOiwUHg.d.mts","names":[],"sources":["../../../../2-sql/9-family/dist/diff.d.mts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;iBAmBiB,+BAA+B,OAAO,iBAAiB,gBAAgB,qBAAqB,yBAAyB;;;;;;;;;;;;;iBAarH,qBAAqB,OAAO,iBAAiB,gBAAgB,qBAAqB,yBAAyB;UAClH;;WAEC,iBAAiB;;WAEjB,uBAAuB,OAAO,oBAAoB;WAClD;WACA,sBAAsB;;WAEtB,gBAAgB,qBAAqB;;UAEtC;WACC,mBAAmB;WACnB,mBAAmB;;;;;;;;;iBASb,sBAAsB,OAAO,sBAAsB;UAC1D;WACC,UAAU,SAAS;;;;;;;WAOnB,gBAAgB;aACd,QAAQ;;WAEV,YAAY,oBAAoB;;;;;;;;;UASjC;WACC,mBAAmB;WACnB,mBAAmB;;iBAEb,0BAA0B,OAAO,0BAA0B;UAClE;WACC,UAAU,SAAS;WACnB,QAAQ;WACR;WACA,qBAAqB,cAAc;;WAEnC,YAAY;;WAEZ,gBAAgB,qBAAqB;;;;;;;;;iBAS/B,sBAAsB,OAAO,6BAA6B"}
1
+ {"version":3,"file":"diff-C_zQQTgw.d.mts","names":[],"sources":["../../../../2-sql/9-family/dist/diff.d.mts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;iBAmBiB,+BAA+B,OAAO,iBAAiB,gBAAgB,qBAAqB,yBAAyB;;;;;;;;;;;;;iBAarH,qBAAqB,OAAO,iBAAiB,gBAAgB,qBAAqB,yBAAyB;UAClH;;WAEC,iBAAiB;;WAEjB,uBAAuB,OAAO,oBAAoB;WAClD;WACA,sBAAsB;;WAEtB,gBAAgB,qBAAqB;;UAEtC;WACC,mBAAmB;WACnB,mBAAmB;;;;;;;;;iBASb,sBAAsB,OAAO,sBAAsB;UAC1D;WACC,UAAU,SAAS;;;;;;;WAOnB,gBAAgB;aACd,QAAQ;;WAEV,YAAY,oBAAoB;;;;;;;;;UASjC;WACC,mBAAmB;WACnB,mBAAmB;;iBAEb,0BAA0B,OAAO,0BAA0B;UAClE;WACC,UAAU,SAAS;WACnB,QAAQ;WACR;WACA,qBAAqB,cAAc;;WAEnC,YAAY;;WAEZ,gBAAgB,qBAAqB;;;;;;;;;iBAS/B,sBAAsB,OAAO,6BAA6B"}