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

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 (205) hide show
  1. package/dist/{ast-qnGR-fmK.d.mts → ast-S4eEzFmO.d.mts} +3 -3
  2. package/dist/{ast-qnGR-fmK.d.mts.map → ast-S4eEzFmO.d.mts.map} +1 -1
  3. package/dist/{authoring-entity-types-CZ-vdwYS-BCsVtN8A.d.mts → authoring-entity-types-CZ-vdwYS-CvNNLogv.d.mts} +2 -2
  4. package/dist/{authoring-entity-types-CZ-vdwYS-BCsVtN8A.d.mts.map → authoring-entity-types-CZ-vdwYS-CvNNLogv.d.mts.map} +1 -1
  5. package/dist/{authoring-type-constructors-DIyheCzv-BgR6EC_E.mjs → authoring-type-constructors-DIyheCzv-BuirUCc_.mjs} +2 -2
  6. package/dist/{authoring-type-constructors-DIyheCzv-BgR6EC_E.mjs.map → authoring-type-constructors-DIyheCzv-BuirUCc_.mjs.map} +1 -1
  7. package/dist/builder.d.mts +2 -2
  8. package/dist/builder__runtime.d.mts +9 -9
  9. package/dist/builder__runtime.mjs +1 -1
  10. package/dist/builder__types.d.mts +2 -2
  11. package/dist/{codec-descriptor-registry-B1v3GEdK.mjs → codec-descriptor-registry-BSoMKDUv.mjs} +2 -2
  12. package/dist/{codec-descriptor-registry-B1v3GEdK.mjs.map → codec-descriptor-registry-BSoMKDUv.mjs.map} +1 -1
  13. package/dist/{config-types-BzCtgjh6.mjs → config-types-CYRUgWbg.mjs} +2 -2
  14. package/dist/{config-types-BzCtgjh6.mjs.map → config-types-CYRUgWbg.mjs.map} +1 -1
  15. package/dist/{config-types-VJ5O9Ert.d.mts → config-types-Dpg3tzCJ.d.mts} +4 -4
  16. package/dist/{config-types-VJ5O9Ert.d.mts.map → config-types-Dpg3tzCJ.d.mts.map} +1 -1
  17. package/dist/{contract-builder-CyJOBIFB.mjs → contract-builder-CUfUvDc1.mjs} +16 -10
  18. package/dist/contract-builder-CUfUvDc1.mjs.map +1 -0
  19. package/dist/{contract-builder-ezejmfrY.d.mts → contract-builder-_39f3LuO.d.mts} +73 -26
  20. package/dist/contract-builder-_39f3LuO.d.mts.map +1 -0
  21. package/dist/contract-emitter.mjs +1 -1
  22. package/dist/contract-prisma7__provider.d.mts +2 -2
  23. package/dist/contract-prisma7__provider.mjs +9 -6
  24. package/dist/contract-prisma7__provider.mjs.map +1 -1
  25. package/dist/contract-psl.d.mts +3 -3
  26. package/dist/contract-psl.mjs +1 -1
  27. package/dist/contract-psl__attribute-specs.d.mts +2 -2
  28. package/dist/contract-psl__attribute-specs.d.mts.map +1 -1
  29. package/dist/contract-psl__attribute-specs.mjs +1 -1
  30. package/dist/contract-psl__provider.d.mts +2 -2
  31. package/dist/contract-psl__provider.mjs +2 -2
  32. package/dist/contract-psl__provider.mjs.map +1 -1
  33. package/dist/contract-ts.d.mts +4 -4
  34. package/dist/contract-ts.mjs +3 -3
  35. package/dist/contract-ts__config-types.d.mts +1 -1
  36. package/dist/contract-ts__config-types.mjs +1 -1
  37. package/dist/contract-ts__contract-builder.d.mts +3 -3
  38. package/dist/contract-ts__contract-builder.mjs +2 -2
  39. package/dist/{contract-view-BTFdP8wh.d.mts → contract-view-D8enRe9A.d.mts} +2 -2
  40. package/dist/{contract-view-BTFdP8wh.d.mts.map → contract-view-D8enRe9A.d.mts.map} +1 -1
  41. package/dist/contract.d.mts +10 -10
  42. package/dist/contract.mjs +6 -6
  43. package/dist/contract__contract-view.d.mts +1 -1
  44. package/dist/contract__entity-kinds.d.mts +1 -1
  45. package/dist/contract__entity-kinds.mjs +1 -1
  46. package/dist/contract__factories.d.mts +1 -1
  47. package/dist/contract__factories.mjs +1 -1
  48. package/dist/contract__index-type-validation.d.mts +1 -1
  49. package/dist/contract__resolve-storage-table.d.mts +1 -1
  50. package/dist/contract__types.d.mts +4 -4
  51. package/dist/contract__types.mjs +3 -3
  52. package/dist/contract__validators.d.mts +1 -1
  53. package/dist/contract__validators.mjs +2 -2
  54. package/dist/{control-BFgBjkQh.d.mts → control--13SHD7X.d.mts} +15 -15
  55. package/dist/{control-BFgBjkQh.d.mts.map → control--13SHD7X.d.mts.map} +1 -1
  56. package/dist/{control-D7yb7l7O.mjs → control-B8LE0HRq.mjs} +13 -12
  57. package/dist/control-B8LE0HRq.mjs.map +1 -0
  58. package/dist/{control-adapter-C4_cgvzB-BhRxZg-n.d.mts → control-adapter-C4_cgvzB-C9dQipiW.d.mts} +6 -6
  59. package/dist/{control-adapter-C4_cgvzB-BhRxZg-n.d.mts.map → control-adapter-C4_cgvzB-C9dQipiW.d.mts.map} +1 -1
  60. package/dist/control-adapter-D2k9sW7u.d.mts +1 -0
  61. package/dist/{db-DLjWu9-f-B79_8TyU.d.mts → db-DLjWu9-f-NJprwMBN.d.mts} +9 -9
  62. package/dist/{db-DLjWu9-f-B79_8TyU.d.mts.map → db-DLjWu9-f-NJprwMBN.d.mts.map} +1 -1
  63. package/dist/{ddl-types-B23QEzDx-ridB7leA.d.mts → ddl-types-B23QEzDx-DnMvLEgB.d.mts} +3 -3
  64. package/dist/{ddl-types-B23QEzDx-ridB7leA.d.mts.map → ddl-types-B23QEzDx-DnMvLEgB.d.mts.map} +1 -1
  65. package/dist/{derived-checks-a_OpD3OE-BLAb_lZ9.mjs → derived-checks-C_y1rk6O-DdqjzGNy.mjs} +23 -16
  66. package/dist/derived-checks-C_y1rk6O-DdqjzGNy.mjs.map +1 -0
  67. package/dist/{derived-checks-DPdD01O0-zXZEuy5P.d.mts → derived-checks-DPdD01O0-CwIwhhTu.d.mts} +3 -3
  68. package/dist/{derived-checks-DPdD01O0-zXZEuy5P.d.mts.map → derived-checks-DPdD01O0-CwIwhhTu.d.mts.map} +1 -1
  69. package/dist/{diff-CPnJUpHZ.d.mts → diff-D3Ocd7-r.d.mts} +6 -6
  70. package/dist/{diff-CPnJUpHZ.d.mts.map → diff-D3Ocd7-r.d.mts.map} +1 -1
  71. package/dist/{dist-DeiKZwAD.mjs → dist-BW8u_IDQ.mjs} +5 -4
  72. package/dist/dist-BW8u_IDQ.mjs.map +1 -0
  73. package/dist/{entity-kinds-B5cUFU22.d.mts → entity-kinds-BG4YTvrr.d.mts} +2 -2
  74. package/dist/{entity-kinds-B5cUFU22.d.mts.map → entity-kinds-BG4YTvrr.d.mts.map} +1 -1
  75. package/dist/{entity-kinds-D7vwoN_T-NmeI6TpT.mjs → entity-kinds-ChX-owgJ-BgpQHnfy.mjs} +16 -12
  76. package/dist/entity-kinds-ChX-owgJ-BgpQHnfy.mjs.map +1 -0
  77. package/dist/{expression-C6yUAU4j.d.mts → expression-DLgBXKdO.d.mts} +7 -7
  78. package/dist/{expression-C6yUAU4j.d.mts.map → expression-DLgBXKdO.d.mts.map} +1 -1
  79. package/dist/{factories-aJoZYxkD.mjs → factories-16A63DkK.mjs} +21 -15
  80. package/dist/factories-16A63DkK.mjs.map +1 -0
  81. package/dist/{factories-TIM9dI6S.d.mts → factories-CLPZYUUw.d.mts} +12 -6
  82. package/dist/factories-CLPZYUUw.d.mts.map +1 -0
  83. package/dist/family.d.mts +12 -12
  84. package/dist/family.mjs +5 -5
  85. package/dist/family__control-adapter.d.mts +2 -2
  86. package/dist/family__control.d.mts +4 -4
  87. package/dist/family__control.mjs +3 -3
  88. package/dist/family__diff.d.mts +2 -2
  89. package/dist/family__diff.mjs +1 -1
  90. package/dist/family__ir.d.mts +1 -1
  91. package/dist/family__ir.mjs +1 -1
  92. package/dist/family__migration.d.mts +1 -1
  93. package/dist/family__pack.d.mts +1 -1
  94. package/dist/family__pack.mjs +2 -2
  95. package/dist/family__psl-build.mjs +1 -1
  96. package/dist/family__runtime.d.mts +2 -2
  97. package/dist/{index-DrUd8HwS.d.mts → index-BlVbNiHO.d.mts} +3 -3
  98. package/dist/{index-DrUd8HwS.d.mts.map → index-BlVbNiHO.d.mts.map} +1 -1
  99. package/dist/{index-CQ74jdOW.d.mts → index-VjA5whAC.d.mts} +11 -11
  100. package/dist/{index-CQ74jdOW.d.mts.map → index-VjA5whAC.d.mts.map} +1 -1
  101. package/dist/{index-type-validation-BAQWs-c_.d.mts → index-type-validation-DLPW4oTq.d.mts} +3 -3
  102. package/dist/{index-type-validation-BAQWs-c_.d.mts.map → index-type-validation-DLPW4oTq.d.mts.map} +1 -1
  103. package/dist/{interpreter-j1ewAXPb-BbCjJ0ta.mjs → interpreter-CkCfPqup-DF7bZvNM.mjs} +82 -16
  104. package/dist/interpreter-CkCfPqup-DF7bZvNM.mjs.map +1 -0
  105. package/dist/{ir-DI4cwMsy.d.mts → ir-DbwRAIkx.d.mts} +3 -3
  106. package/dist/{ir-DI4cwMsy.d.mts.map → ir-DbwRAIkx.d.mts.map} +1 -1
  107. package/dist/middleware-BwwcaXlc.d.mts +1 -0
  108. package/dist/{middleware-CuGBptK0-CGDI6sQU.d.mts → middleware-CuGBptK0-BEYuhhG2.d.mts} +2 -2
  109. package/dist/{middleware-CuGBptK0-CGDI6sQU.d.mts.map → middleware-CuGBptK0-BEYuhhG2.d.mts.map} +1 -1
  110. package/dist/{migration-Ixy5Tqxd.d.mts → migration-BqUra50L.d.mts} +4 -4
  111. package/dist/{migration-Ixy5Tqxd.d.mts.map → migration-BqUra50L.d.mts.map} +1 -1
  112. package/dist/operations.d.mts +1 -1
  113. package/dist/orm-client.d.mts +15 -15
  114. package/dist/orm-client.mjs +2 -2
  115. package/dist/orm-client.mjs.map +1 -1
  116. package/dist/{pack-DcSVDz7M.d.mts → pack-fBtj2dsq.d.mts} +3 -3
  117. package/dist/{pack-DcSVDz7M.d.mts.map → pack-fBtj2dsq.d.mts.map} +1 -1
  118. package/dist/{plan-B7g2kDfQ-Do1iWC4q.d.mts → plan-B7g2kDfQ-BVlzwDKL.d.mts} +4 -4
  119. package/dist/{plan-B7g2kDfQ-Do1iWC4q.d.mts.map → plan-B7g2kDfQ-BVlzwDKL.d.mts.map} +1 -1
  120. package/dist/plan-hQv6wCbk.d.mts +2 -0
  121. package/dist/{prepared-statement-Cv54gpY_-CbIaPDc1.d.mts → prepared-statement-Cv54gpY_-BObeNp2I.d.mts} +16 -16
  122. package/dist/{prepared-statement-Cv54gpY_-CbIaPDc1.d.mts.map → prepared-statement-Cv54gpY_-BObeNp2I.d.mts.map} +1 -1
  123. package/dist/{psl-build-139T3MMA.mjs → psl-build-CqhSpaQE.mjs} +2 -2
  124. package/dist/{psl-build-139T3MMA.mjs.map → psl-build-CqhSpaQE.mjs.map} +1 -1
  125. package/dist/{query-lane-context-BSmWfohZ-QAWw_dXQ.d.mts → query-lane-context-BSmWfohZ-yCQ9qzQZ.d.mts} +5 -5
  126. package/dist/{query-lane-context-BSmWfohZ-QAWw_dXQ.d.mts.map → query-lane-context-BSmWfohZ-yCQ9qzQZ.d.mts.map} +1 -1
  127. package/dist/query-lane-context-DbJO1bmQ.d.mts +1 -0
  128. package/dist/relational-core.d.mts +11 -11
  129. package/dist/relational-core__aggregate-descriptor-registry.d.mts +1 -1
  130. package/dist/relational-core__ast.d.mts +3 -3
  131. package/dist/relational-core__codec-descriptor-registry.d.mts +4 -4
  132. package/dist/relational-core__codec-descriptor-registry.mjs +1 -1
  133. package/dist/relational-core__contract-free.d.mts +3 -3
  134. package/dist/relational-core__expression.d.mts +1 -1
  135. package/dist/relational-core__middleware.d.mts +2 -2
  136. package/dist/relational-core__plan.d.mts +3 -3
  137. package/dist/relational-core__query-lane-context.d.mts +2 -2
  138. package/dist/relational-core__types.d.mts +2 -2
  139. package/dist/{resolve-storage-table-DhgzQjow.d.mts → resolve-storage-table-5G0L5k6M.d.mts} +3 -3
  140. package/dist/{resolve-storage-table-DhgzQjow.d.mts.map → resolve-storage-table-5G0L5k6M.d.mts.map} +1 -1
  141. package/dist/{runtime-I-W0bhvd.d.mts → runtime-CajhgB9z.d.mts} +2 -2
  142. package/dist/{runtime-I-W0bhvd.d.mts.map → runtime-CajhgB9z.d.mts.map} +1 -1
  143. package/dist/runtime.d.mts +4 -4
  144. package/dist/runtime.mjs +1 -1
  145. package/dist/runtime__internal__prepared-query.d.mts +1 -1
  146. package/dist/{schema-differ-DpG_gnur-gLIPLPVI.d.mts → schema-differ-DpG_gnur-CYpc6zuh.d.mts} +3 -3
  147. package/dist/{schema-differ-DpG_gnur-gLIPLPVI.d.mts.map → schema-differ-DpG_gnur-CYpc6zuh.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-DL-C6on7.mjs → schema-verify-DI0aJQ9d-TpdeERRD.mjs} +2 -2
  151. package/dist/{schema-verify-DI0aJQ9d-DL-C6on7.mjs.map → schema-verify-DI0aJQ9d-TpdeERRD.mjs.map} +1 -1
  152. package/dist/{serialized-index-nBTwanKy-B0C03Q_R.mjs → serialized-index-B5X7s-oX-TKQhXsZz.mjs} +3 -3
  153. package/dist/{serialized-index-nBTwanKy-B0C03Q_R.mjs.map → serialized-index-B5X7s-oX-TKQhXsZz.mjs.map} +1 -1
  154. package/dist/{sql-attribute-specs-Bs9QDuS7-DmIRJUz9.mjs → sql-attribute-specs-DxpHr9Fk-CeWmMP7y.mjs} +20 -7
  155. package/dist/sql-attribute-specs-DxpHr9Fk-CeWmMP7y.mjs.map +1 -0
  156. package/dist/{sql-contract-serializer-C90xg7_q-DBJSt3MT.mjs → sql-contract-serializer-C90xg7_q-CxzBoB0F.mjs} +4 -4
  157. package/dist/{sql-contract-serializer-C90xg7_q-DBJSt3MT.mjs.map → sql-contract-serializer-C90xg7_q-CxzBoB0F.mjs.map} +1 -1
  158. package/dist/{sql-execution-plan-Db0j752I-uGUWy8sD.d.mts → sql-execution-plan-Db0j752I-B3yGocR6.d.mts} +2 -2
  159. package/dist/{sql-execution-plan-Db0j752I-uGUWy8sD.d.mts.map → sql-execution-plan-Db0j752I-B3yGocR6.d.mts.map} +1 -1
  160. package/dist/{sql-storage-BSxD7_vv-C4ugLH39.d.mts → sql-storage-jJySr7bL-1Eh2i2r1.d.mts} +3 -3
  161. package/dist/{sql-storage-BSxD7_vv-C4ugLH39.d.mts.map → sql-storage-jJySr7bL-1Eh2i2r1.d.mts.map} +1 -1
  162. package/dist/{storage-table-ZzbR-xzQ-C8gXT45E.mjs → storage-table-ADhJ4Imk-0FbJXvSZ.mjs} +6 -3
  163. package/dist/storage-table-ADhJ4Imk-0FbJXvSZ.mjs.map +1 -0
  164. package/dist/{storage-table-DSeWszOL-CI-cItEK.d.mts → storage-table-DLFvP77v-BfO2iOT4.d.mts} +9 -6
  165. package/dist/storage-table-DLFvP77v-BfO2iOT4.d.mts.map +1 -0
  166. package/dist/{types-C5QzgUrH-B7IJM6qN.mjs → types-B9rf_EdI-CEYrMMeO.mjs} +6 -2
  167. package/dist/types-B9rf_EdI-CEYrMMeO.mjs.map +1 -0
  168. package/dist/{types-BGHABElw-C5MKkR3c.d.mts → types-BGHABElw-CZyfbuWe.d.mts} +10 -10
  169. package/dist/{types-BGHABElw-C5MKkR3c.d.mts.map → types-BGHABElw-CZyfbuWe.d.mts.map} +1 -1
  170. package/dist/{types-BHKZ4M-a-DYsrOHhh.d.mts → types-BHKZ4M-a-CPFh-lCl.d.mts} +7 -7
  171. package/dist/{types-BHKZ4M-a-DYsrOHhh.d.mts.map → types-BHKZ4M-a-CPFh-lCl.d.mts.map} +1 -1
  172. package/dist/{types-DTUyRqZv-DLh98w8w.d.mts → types-Bl6ohp1g-ROH3Mwm9.d.mts} +4 -4
  173. package/dist/{types-DTUyRqZv-DLh98w8w.d.mts.map → types-Bl6ohp1g-ROH3Mwm9.d.mts.map} +1 -1
  174. package/dist/types-CHcsPFTv.d.mts +1 -0
  175. package/dist/{types-BoMDdzjD.d.mts → types-E46h1SEX.d.mts} +4 -4
  176. package/dist/{types-BoMDdzjD.d.mts.map → types-E46h1SEX.d.mts.map} +1 -1
  177. package/dist/{types-Yui2yFf6-DQkiEr9B.d.mts → types-Yui2yFf6-Ceyf2gJ2.d.mts} +2 -2
  178. package/dist/{types-Yui2yFf6-DQkiEr9B.d.mts.map → types-Yui2yFf6-Ceyf2gJ2.d.mts.map} +1 -1
  179. package/dist/{types-BmXzMDQL.mjs → types-jFnALKoT.mjs} +2 -2
  180. package/dist/{types-BmXzMDQL.mjs.map → types-jFnALKoT.mjs.map} +1 -1
  181. package/dist/{validators-CZNulH-_.d.mts → validators-CQ_fniE7.d.mts} +6 -4
  182. package/dist/validators-CQ_fniE7.d.mts.map +1 -0
  183. package/dist/{validators-BlqrBU7I.mjs → validators-DvzOZLel.mjs} +34 -32
  184. package/dist/validators-DvzOZLel.mjs.map +1 -0
  185. package/package.json +18 -18
  186. package/dist/contract-builder-CyJOBIFB.mjs.map +0 -1
  187. package/dist/contract-builder-ezejmfrY.d.mts.map +0 -1
  188. package/dist/control-D7yb7l7O.mjs.map +0 -1
  189. package/dist/control-adapter-Cj6XQ7Yo.d.mts +0 -1
  190. package/dist/derived-checks-a_OpD3OE-BLAb_lZ9.mjs.map +0 -1
  191. package/dist/dist-DeiKZwAD.mjs.map +0 -1
  192. package/dist/entity-kinds-D7vwoN_T-NmeI6TpT.mjs.map +0 -1
  193. package/dist/factories-TIM9dI6S.d.mts.map +0 -1
  194. package/dist/factories-aJoZYxkD.mjs.map +0 -1
  195. package/dist/interpreter-j1ewAXPb-BbCjJ0ta.mjs.map +0 -1
  196. package/dist/middleware-C6T9FExV.d.mts +0 -1
  197. package/dist/plan-BBBYfvlz.d.mts +0 -2
  198. package/dist/query-lane-context-B0R8L6W-.d.mts +0 -1
  199. package/dist/sql-attribute-specs-Bs9QDuS7-DmIRJUz9.mjs.map +0 -1
  200. package/dist/storage-table-DSeWszOL-CI-cItEK.d.mts.map +0 -1
  201. package/dist/storage-table-ZzbR-xzQ-C8gXT45E.mjs.map +0 -1
  202. package/dist/types-C5QzgUrH-B7IJM6qN.mjs.map +0 -1
  203. package/dist/types-CXe4fCcu.d.mts +0 -1
  204. package/dist/validators-BlqrBU7I.mjs.map +0 -1
  205. package/dist/validators-CZNulH-_.d.mts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators-DvzOZLel.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/validators.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { a as ColumnDefaultFunctionSchema, c as ForeignKeyReferenceSchema, d as IndexSchema, f as ReferentialActionSchema, i as CheckConstraintSchema, l as ForeignKeySchema, m as StorageValueSetSchema, o as ColumnDefaultLiteralSchema, p as StorageTableSchema, s as ColumnDefaultSchema, t as composeSqlEntityKinds, u as ForeignKeySourceSchema } from \"./entity-kinds-ChX-owgJ.mjs\";\nimport { computeCheckContentHash, computeIndexContentHash } from \"@internal/sql-schema-ir/naming\";\nimport { isPlainRecord } from \"@internal/framework-components/ir\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { ContractValidationError } from \"@internal/contract/contract-validation-error\";\nimport { type } from \"arktype\";\nimport { ContractExecutionSectionSchema, CrossReferenceSchema } from \"@internal/contract/types\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { validateContractDomain } from \"@internal/contract/validate-domain\";\n//#region src/default-sql-body.ts\nconst UNSAFE_DEFAULT_BODY = /;|--|\\/\\*|\\$\\$|\\bSELECT\\b/i;\n/** Returns undefined when the body may be rendered as `DEFAULT (<body>)`, else the reason. */\nfunction checkSqlDefaultBody(body) {\n\treturn UNSAFE_DEFAULT_BODY.test(body) ? \"Default SQL must not contain semicolons, SQL comment tokens, dollar-quoting, or subqueries.\" : void 0;\n}\n/**\n* Names the Prisma default function a raw SQL body spells exactly, ignoring surrounding whitespace. The planners treat the contract expressions `now()` and `autoincrement()` as those functions, so a raw body with that text would not be used as written.\n*/\nfunction reservedSqlDefaultBody(body) {\n\tswitch (body.trim()) {\n\t\tcase \"now()\": return \"now\";\n\t\tcase \"autoincrement()\": return \"autoincrement\";\n\t\tdefault: return;\n\t}\n}\n//#endregion\n//#region src/relation-storage.ts\nfunction sameColumns(left, right) {\n\treturn left.length === right.length && left.every((column, index) => column === right[index]);\n}\n/**\n* The storage facts behind a same-space to-one relation's nullability: which side owns the\n* foreign key, and whether each local column is nullable.\n*/\nfunction resolveSqlToOneRelationStorage(contract, modelStorage, relation) {\n\tconst table = blindCast(contract.storage.namespaces[modelStorage.namespaceId]?.entries.table?.[modelStorage.table]);\n\tconst columns = relation.on.localFields.map((fieldName) => {\n\t\tconst columnName = modelStorage.fields[fieldName]?.column;\n\t\tconst column = columnName === void 0 ? void 0 : table?.columns[columnName];\n\t\treturn {\n\t\t\tname: columnName ?? fieldName,\n\t\t\tnullable: column?.nullable ?? true\n\t\t};\n\t});\n\tconst columnNames = columns.map((column) => column.name);\n\treturn {\n\t\townsForeignKey: relation.cardinality === \"N:1\" || (table?.foreignKeys ?? []).some((foreignKey) => sameColumns(foreignKey.source.columns, columnNames)),\n\t\tcolumns\n\t};\n}\n//#endregion\n//#region src/validators.ts\nconst ControlPolicySchema = type(\"'managed' | 'tolerated' | 'external' | 'observed'\");\nconst DomainEnumRefSchema = type({\n\tplane: \"'domain'\",\n\tnamespaceId: \"string\",\n\tentityKind: \"'enum'\",\n\tentityName: \"string\",\n\t\"spaceId?\": \"string\"\n});\n/** Document-scoped `storage.types`: codec triples only. */\nconst DocumentScopedStorageTypeSchema = type.declare().type({\n\tkind: \"'codec-instance'\",\n\tcodecId: \"string\",\n\tnativeType: \"string\",\n\t\"typeParams?\": \"Record<string, unknown>\"\n});\n/**\n* Domain enum entry under `domain.namespaces[id].enum[name]`.\n* Carries the codec id and an ordered `members` array of `{name, value}` pairs.\n*/\nconst ContractEnumSchema = type({\n\t\"+\": \"reject\",\n\tcodecId: \"string\",\n\tmembers: type({\n\t\tname: \"string\",\n\t\tvalue: \"string | number | boolean | null | unknown[] | Record<string, unknown>\"\n\t}).array().readonly()\n});\n/**\n* Derives a schema map from a descriptor map: maps each kind's key to its\n* `schema` field. Used by validation functions to validate entries.\n*/\nfunction schemaViewOf(kinds) {\n\treturn new Map([...kinds].map(([k, d]) => [k, d.schema]));\n}\nconst DEFAULT_SQL_KINDS = composeSqlEntityKinds();\n/**\n* Builds the per-namespace entry schema for `storage.namespaces[id]`.\n*\n* Validation is descriptor-driven: the `kinds` map carries both the schema\n* (used here for structural validation) and the construct function (used at\n* hydration time). An unregistered key fails validation naming the kind and\n* the namespace id, so validation fails closed.\n*/\nfunction createNamespaceEntrySchema(kinds) {\n\tconst schemas = schemaViewOf(kinds);\n\tconst knownKinds = new Set(kinds.keys());\n\treturn type({\n\t\t\"+\": \"reject\",\n\t\tid: \"string\",\n\t\t\"kind?\": \"string\",\n\t\tentries: \"object\"\n\t}).narrow((ns, ctx) => {\n\t\tif (!isPlainRecord(ns.entries)) return ctx.mustBe(\"an entries object\");\n\t\tfor (const [key, innerMap] of Object.entries(ns.entries)) {\n\t\t\tif (!knownKinds.has(key)) return ctx.reject({ expected: `entries key \"${key}\" in namespace \"${ns.id}\" is not a registered entity kind` });\n\t\t\tif (!isPlainRecord(innerMap)) return ctx.reject({ expected: `entries[\"${key}\"] in namespace \"${ns.id}\" must be an object` });\n\t\t\tconst entrySchema = blindCast(schemas.get(key));\n\t\t\tfor (const [, value] of Object.entries(innerMap)) {\n\t\t\t\tconst parsed = entrySchema(value);\n\t\t\t\tif (parsed instanceof type.errors) return ctx.reject({ expected: parsed.summary });\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t});\n}\n/**\n* Builds the storage schema. Pack contributions reach the per-namespace\n* entry shape through {@link createNamespaceEntrySchema}; the\n* document-scoped `storage.types` field (codec triples only) and the\n* storage hash stay family-shared.\n*/\nfunction createSqlStorageSchema(kinds) {\n\tconst namespaceEntry = createNamespaceEntrySchema(kinds);\n\treturn type({\n\t\t\"+\": \"reject\",\n\t\tstorageHash: \"string\",\n\t\t\"types?\": type({ \"[string]\": DocumentScopedStorageTypeSchema }),\n\t\t\"namespaces?\": type({ \"[string]\": namespaceEntry })\n\t});\n}\nconst StorageSchema = createSqlStorageSchema(DEFAULT_SQL_KINDS);\n/**\n* Any entries entity that declares both a `tableName` and a physical `name`\n* (e.g. a target's RLS policy entities) shares one physical-name space per\n* table: two such entries of one kind on the same table would collide as\n* DDL (`CREATE POLICY \"<name>\" ON <table>` fails on the second), while the\n* same name on different tables is legal. Structural — no entry-kind\n* vocabulary; `table` entries are keyed by name already and are excluded.\n*/\nfunction validateTableScopedEntryNames(storage, errors) {\n\tfor (const [namespaceId, ns] of Object.entries(storage.namespaces)) {\n\t\tif (!isPlainRecord(ns.entries)) continue;\n\t\tfor (const [entriesKind, slot] of Object.entries(ns.entries)) {\n\t\t\tif (entriesKind === \"table\" || !isPlainRecord(slot)) continue;\n\t\t\tconst seen = /* @__PURE__ */ new Map();\n\t\t\tfor (const entity of Object.values(slot)) {\n\t\t\t\tif (typeof entity !== \"object\" || entity === null) continue;\n\t\t\t\tconst record = blindCast(entity);\n\t\t\t\tconst name = record[\"name\"];\n\t\t\t\tconst tableName = record[\"tableName\"];\n\t\t\t\tif (typeof name !== \"string\" || typeof tableName !== \"string\") continue;\n\t\t\t\tconst key = JSON.stringify([tableName, name]);\n\t\t\t\tseen.set(key, (seen.get(key) ?? 0) + 1);\n\t\t\t\tif (seen.get(key) === 2) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": ${entriesKind} \"${name}\" is declared multiple times`);\n\t\t\t}\n\t\t}\n\t}\n}\nfunction eachStorageTable(storage) {\n\treturn Object.entries(storage.namespaces).flatMap(([namespaceId, ns]) => Object.entries(ns.entries[\"table\"] ?? {}).map(([tableName, table]) => ({\n\t\tnamespaceId,\n\t\ttableName,\n\t\ttable\n\t})));\n}\nfunction findDuplicateValue(values) {\n\tconst seen = /* @__PURE__ */ new Set();\n\tfor (const value of values) {\n\t\tif (seen.has(value)) return value;\n\t\tseen.add(value);\n\t}\n}\n/** A column may appear at most once in one index's element tuple. */\nfunction rejectRepeatedIndexColumns(indexes, coordinate, errors) {\n\tfor (const index of indexes) {\n\t\tconst duplicateColumn = findDuplicateValue(index.columns ?? []);\n\t\tif (duplicateColumn !== void 0) errors.push(`${coordinate}: index contains duplicate column \"${duplicateColumn}\"`);\n\t}\n}\n/**\n* Two wire-named indexes with the same content are one index written twice —\n* the content hash is their identity, so neither spelling can survive. An\n* exact-named index is identified by its name instead, so content twins under\n* two names are legal and a repeated name is rejected by the named-object\n* check.\n*/\nfunction rejectDuplicateWireNamedIndexContent(indexes, coordinate, errors) {\n\tconst seenContent = /* @__PURE__ */ new Set();\n\tfor (const index of indexes) {\n\t\tif (index.prefix === void 0) continue;\n\t\tconst content = computeIndexContentHash(index);\n\t\tif (seenContent.has(content)) {\n\t\t\terrors.push(`${coordinate}: duplicate index definition on columns [${(index.columns ?? []).join(\", \")}]`);\n\t\t\tcontinue;\n\t\t}\n\t\tseenContent.add(content);\n\t}\n}\n/**\n* Two wire-named checks with the same predicate are one check written twice —\n* the content hash is their identity, so neither spelling can survive, and\n* whitespace variants of one predicate collapse onto the same hash. An\n* exact-named check is identified by its name instead, so content twins under\n* two names are legal (the legacy shape a database adopts from) and a repeated\n* name is rejected by the named-object check.\n*/\nfunction rejectDuplicateWireNamedCheckContent(checks, coordinate, errors) {\n\tconst seenContent = /* @__PURE__ */ new Set();\n\tfor (const check of checks) {\n\t\tif (check.prefix === void 0) continue;\n\t\tconst content = computeCheckContentHash(check.expression);\n\t\tif (seenContent.has(content)) {\n\t\t\terrors.push(`${coordinate}: duplicate check constraint definition (expression \"${check.expression}\")`);\n\t\t\tcontinue;\n\t\t}\n\t\tseenContent.add(content);\n\t}\n}\nfunction isContractFieldType(value) {\n\tif (!isPlainRecord(value)) return false;\n\tconst kind = value[\"kind\"];\n\tif (kind === \"scalar\") {\n\t\tif (typeof value[\"codecId\"] !== \"string\") return false;\n\t\tconst typeParams = value[\"typeParams\"];\n\t\tif (typeParams !== void 0 && !isPlainRecord(typeParams)) return false;\n\t\treturn true;\n\t}\n\tif (kind === \"valueObject\") return typeof value[\"name\"] === \"string\";\n\tif (kind === \"union\") {\n\t\tconst members = value[\"members\"];\n\t\tif (!Array.isArray(members)) return false;\n\t\treturn members.every((m) => isContractFieldType(m));\n\t}\n\treturn false;\n}\nconst ModelFieldSchema = type({\n\t\"+\": \"reject\",\n\tnullable: \"boolean\",\n\ttype: type(\"unknown\").narrow((value, ctx) => isContractFieldType(value) ? true : ctx.mustBe(\"scalar, valueObject, or union field type\")),\n\tmany: type(\"false\").or({\n\t\t\"+\": \"reject\",\n\t\telementNullable: \"boolean\"\n\t}).default(false),\n\t\"dict?\": \"true\",\n\t\"valueSet?\": DomainEnumRefSchema\n});\nconst ModelStorageSchema = type({\n\ttable: \"string\",\n\tnamespaceId: \"string\",\n\tfields: type({ \"[string]\": type({\n\t\tcolumn: \"string\",\n\t\t\"codecId?\": \"string\",\n\t\t\"nullable?\": \"boolean\"\n\t}) })\n});\nconst ContractRelationThroughSchema = type({\n\t\"+\": \"reject\",\n\ttable: \"string\",\n\tnamespaceId: \"string\",\n\tparentColumns: type.string.array().readonly(),\n\tchildColumns: type.string.array().readonly(),\n\ttargetColumns: type.string.array().readonly()\n});\nconst ContractRelationOnSchema = type({\n\t\"+\": \"reject\",\n\tlocalFields: type.string.array().readonly(),\n\ttargetFields: type.string.array().readonly()\n});\nconst ContractManyToManyRelationSchema = type({\n\t\"+\": \"reject\",\n\tto: CrossReferenceSchema,\n\tcardinality: \"'N:M'\",\n\ton: ContractRelationOnSchema,\n\tthrough: ContractRelationThroughSchema\n});\nconst ContractToOneRelationSchema = type({\n\t\"+\": \"reject\",\n\tto: CrossReferenceSchema,\n\tcardinality: \"'1:1' | 'N:1'\",\n\t\"nullable?\": \"boolean\",\n\ton: ContractRelationOnSchema\n});\nconst ContractToManyRelationSchema = type({\n\t\"+\": \"reject\",\n\tto: CrossReferenceSchema,\n\tcardinality: \"'1:N'\",\n\ton: ContractRelationOnSchema\n});\nconst ContractReferenceRelationSchema = ContractManyToManyRelationSchema.or(ContractToOneRelationSchema).or(ContractToManyRelationSchema);\nconst ContractEmbedRelationSchema = type({\n\t\"+\": \"reject\",\n\tto: CrossReferenceSchema,\n\tcardinality: \"'1:1' | '1:N'\"\n});\nconst ContractRelationSchema = ContractReferenceRelationSchema.or(ContractEmbedRelationSchema);\nconst ModelSchema = type({\n\tstorage: ModelStorageSchema,\n\t\"fields?\": type({ \"[string]\": ModelFieldSchema }),\n\t\"relations?\": type({ \"[string]\": ContractRelationSchema }),\n\t\"discriminator?\": \"unknown\",\n\t\"variants?\": \"unknown\",\n\t\"base?\": CrossReferenceSchema,\n\t\"owner?\": \"string\"\n});\nconst ContractMetaSchema = type({ \"[string]\": \"unknown\" });\n/**\n* Builds the full SQL contract schema. The storage subtree threads\n* pack contributions through {@link createSqlStorageSchema}; the rest\n* of the contract envelope is family-shared.\n*/\nfunction createSqlContractSchema(kinds) {\n\tconst storage = createSqlStorageSchema(kinds);\n\treturn type({\n\t\t\"+\": \"reject\",\n\t\ttarget: \"string\",\n\t\ttargetFamily: \"'sql'\",\n\t\t\"coreHash?\": \"string\",\n\t\tprofileHash: \"string\",\n\t\t\"capabilities?\": \"Record<string, Record<string, boolean>>\",\n\t\t\"extensions?\": \"Record<string, unknown>\",\n\t\t\"meta?\": ContractMetaSchema,\n\t\t\"defaultControlPolicy?\": ControlPolicySchema,\n\t\t\"roots?\": type({ \"[string]\": CrossReferenceSchema }),\n\t\tdomain: type({ namespaces: type({ \"[string]\": type({\n\t\t\tmodels: type({ \"[string]\": ModelSchema }),\n\t\t\t\"valueObjects?\": type({ \"[string]\": type({ fields: type({ \"[string]\": ModelFieldSchema }) }) }),\n\t\t\t\"enum?\": type({ \"[string]\": ContractEnumSchema })\n\t\t}) }) }),\n\t\tstorage,\n\t\t\"execution?\": ContractExecutionSectionSchema\n\t});\n}\nconst SqlContractSchema = createSqlContractSchema(DEFAULT_SQL_KINDS);\n/**\n* Validates the structural shape of SqlStorage using Arktype. Pure\n* structural check: namespace IR is never materialized here (that needs\n* a target concretion via the serializer hydration path), so this throws\n* on invalid input and constructs nothing.\n*\n* @param value - The storage value to validate\n* @throws Error if the storage structure is invalid\n*/\nfunction validateStorage(value) {\n\tconst result = StorageSchema(value);\n\tif (result instanceof type.errors) {\n\t\tconst errors = result.map((p) => p.message);\n\t\tthrow contractError(\"CONTRACT.VALIDATION_FAILED\", `Storage validation failed: ${errors.join(\"; \")}`, { meta: { errors } });\n\t}\n}\nfunction validateModel(value) {\n\tconst result = ModelSchema(value);\n\tif (result instanceof type.errors) {\n\t\tconst errors = result.map((p) => p.message);\n\t\tthrow contractError(\"CONTRACT.VALIDATION_FAILED\", `Model validation failed: ${errors.join(\"; \")}`, { meta: { errors } });\n\t}\n\treturn result;\n}\n/**\n* Structural arktype validation of an SQL contract envelope. Internal\n* helper for {@link validateSqlContractFully} — exposed only inside\n* this module, since the family seam-of-record is the\n* `SqlContractSerializerBase.deserializeContract` SPI.\n*/\nfunction validateSqlContractStructure(value, contractSchema) {\n\tif (typeof value !== \"object\" || value === null) throw new ContractValidationError(\"Contract structural validation failed: value must be an object\", \"structural\");\n\tconst targetFamily = \"targetFamily\" in value ? value.targetFamily : void 0;\n\tif (targetFamily !== void 0 && targetFamily !== \"sql\") throw new ContractValidationError(`Unsupported target family: ${targetFamily}`, \"structural\");\n\tconst contractResult = contractSchema(value);\n\tif (contractResult instanceof type.errors) throw new ContractValidationError(`Contract structural validation failed: ${contractResult.map((p) => p.message).join(\"; \")}`, \"structural\");\n\treturn blindCast(contractResult);\n}\n/**\n* Validates semantic constraints on SqlStorage that cannot be expressed in Arktype schemas.\n*\n* Returns an array of human-readable error strings. Empty array = valid.\n*\n* Currently checks:\n* - duplicate named primary key / unique / index / foreign key objects within a table\n* - duplicate unique, index, or foreign key declarations within a table\n* - duplicate columns within primary key / unique / index definitions\n* - nullable columns in primary key definitions\n* - `setNull` referential action on a non-nullable FK column (would fail at runtime)\n* - `setDefault` referential action on a non-nullable FK column without a DEFAULT (would fail at runtime)\n*/\nfunction validateStorageSemantics(storage) {\n\tconst errors = [];\n\tvalidateTableScopedEntryNames(storage, errors);\n\tfor (const { namespaceId, tableName, table: rawTable } of eachStorageTable(storage)) {\n\t\tconst table = blindCast(rawTable);\n\t\tconst namedObjects = /* @__PURE__ */ new Map();\n\t\tconst registerNamedObject = (kind, name) => {\n\t\t\tif (!name) return;\n\t\t\tnamedObjects.set(name, [...namedObjects.get(name) ?? [], kind]);\n\t\t};\n\t\tregisterNamedObject(\"primary key\", table.primaryKey?.name);\n\t\tfor (const unique of table.uniques) registerNamedObject(\"unique constraint\", unique.name);\n\t\tfor (const index of table.indexes) registerNamedObject(\"index\", index.name);\n\t\tfor (const fk of table.foreignKeys) registerNamedObject(\"foreign key\", fk.name);\n\t\tfor (const check of table.checks ?? []) registerNamedObject(\"check constraint\", check.name);\n\t\tfor (const [name, kinds] of namedObjects) if (kinds.length > 1) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": named object \"${name}\" is declared multiple times (${kinds.join(\", \")})`);\n\t\tif (table.primaryKey) {\n\t\t\tconst duplicateColumn = findDuplicateValue(table.primaryKey.columns);\n\t\t\tif (duplicateColumn !== void 0) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": primary key contains duplicate column \"${duplicateColumn}\"`);\n\t\t\tfor (const columnName of table.primaryKey.columns) if (table.columns[columnName]?.nullable === true) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": primary key column \"${columnName}\" is nullable; primary key columns must be NOT NULL`);\n\t\t}\n\t\tconst seenUniqueDefinitions = /* @__PURE__ */ new Set();\n\t\tfor (const unique of table.uniques) {\n\t\t\tconst duplicateColumn = findDuplicateValue(unique.columns);\n\t\t\tif (duplicateColumn !== void 0) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": unique constraint contains duplicate column \"${duplicateColumn}\"`);\n\t\t\tconst signature = JSON.stringify({ columns: unique.columns });\n\t\t\tif (seenUniqueDefinitions.has(signature)) {\n\t\t\t\terrors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": duplicate unique constraint definition on columns [${unique.columns.join(\", \")}]`);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tseenUniqueDefinitions.add(signature);\n\t\t}\n\t\tconst tableCoordinate = `Namespace \"${namespaceId}\" table \"${tableName}\"`;\n\t\trejectRepeatedIndexColumns(table.indexes, tableCoordinate, errors);\n\t\trejectDuplicateWireNamedIndexContent(table.indexes, tableCoordinate, errors);\n\t\tconst seenForeignKeyDefinitions = /* @__PURE__ */ new Set();\n\t\tfor (const fk of table.foreignKeys) {\n\t\t\tconst signature = JSON.stringify({\n\t\t\t\tsource: fk.source,\n\t\t\t\ttarget: fk.target,\n\t\t\t\tonDelete: fk.onDelete ?? null,\n\t\t\t\tonUpdate: fk.onUpdate ?? null\n\t\t\t});\n\t\t\tif (seenForeignKeyDefinitions.has(signature)) {\n\t\t\t\terrors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": duplicate foreign key definition on columns [${fk.source.columns.join(\", \")}]`);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tseenForeignKeyDefinitions.add(signature);\n\t\t}\n\t\tfor (const fk of table.foreignKeys) for (const colName of fk.source.columns) {\n\t\t\tconst column = table.columns[colName];\n\t\t\tif (!column) continue;\n\t\t\tif (fk.onDelete === \"setNull\" && !column.nullable) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": onDelete setNull on foreign key column \"${colName}\" which is NOT NULL`);\n\t\t\tif (fk.onUpdate === \"setNull\" && !column.nullable) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": onUpdate setNull on foreign key column \"${colName}\" which is NOT NULL`);\n\t\t\tif (fk.onDelete === \"setDefault\" && !column.nullable && column.default === void 0) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": onDelete setDefault on foreign key column \"${colName}\" which is NOT NULL and has no DEFAULT`);\n\t\t\tif (fk.onUpdate === \"setDefault\" && !column.nullable && column.default === void 0) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": onUpdate setDefault on foreign key column \"${colName}\" which is NOT NULL and has no DEFAULT`);\n\t\t}\n\t\trejectDuplicateWireNamedCheckContent(table.checks ?? [], tableCoordinate, errors);\n\t}\n\treturn errors;\n}\n/**\n* SQL storage logical-consistency checks: every model.storage.table\n* resolves to a real table, every model.storage.fields[*].column\n* resolves to a real column, and value-object fields land on JSON-native\n* columns. Throws `ContractValidationError` on the first mismatch.\n*/\nfunction validateModelStorageReferences(contract) {\n\tfor (const [namespaceId, namespace] of Object.entries(contract.domain.namespaces)) for (const [modelName, model] of Object.entries(namespace.models)) {\n\t\tconst modelStorage = blindCast(model.storage);\n\t\tconst qualifiedName = `${namespaceId}:${modelName}`;\n\t\tconst storageNamespaceId = modelStorage.namespaceId;\n\t\tif (storageNamespaceId !== namespaceId) throw new ContractValidationError(`Model \"${qualifiedName}\" storage.namespaceId \"${storageNamespaceId}\" does not match domain namespace \"${namespaceId}\"`, \"storage\");\n\t\tconst storageTable = modelStorage.table;\n\t\tconst rawTable = contract.storage.namespaces[storageNamespaceId]?.entries.table?.[storageTable];\n\t\tif (rawTable === void 0) throw new ContractValidationError(`Model \"${qualifiedName}\" references non-existent table \"${storageNamespaceId}.${storageTable}\"`, \"storage\");\n\t\tconst table = blindCast(rawTable);\n\t\tconst columnNames = new Set(Object.keys(table.columns));\n\t\tfor (const [fieldName, field] of Object.entries(modelStorage.fields)) if (!columnNames.has(field.column)) throw new ContractValidationError(`Model \"${qualifiedName}\" field \"${fieldName}\" references non-existent column \"${field.column}\" in table \"${storageTable}\"`, \"storage\");\n\t\tconst JSON_NATIVE_TYPES = /* @__PURE__ */ new Set([\"json\", \"jsonb\"]);\n\t\tfor (const [fieldName, domainField] of Object.entries(model.fields ?? {})) {\n\t\t\tif (domainField.type?.kind !== \"valueObject\") continue;\n\t\t\tconst storageField = modelStorage.fields[fieldName];\n\t\t\tif (!storageField) continue;\n\t\t\tconst column = table.columns[storageField.column];\n\t\t\tif (!column) continue;\n\t\t\tif (!JSON_NATIVE_TYPES.has(column.nativeType)) throw new ContractValidationError(`Model \"${qualifiedName}\" field \"${fieldName}\" is a value object but storage column \"${storageField.column}\" has nativeType \"${column.nativeType}\" (expected json or jsonb)`, \"storage\");\n\t\t}\n\t}\n}\n/**\n* Cross-table consistency checks for SQL storage: primary key, unique,\n* index, and foreign key column references resolve to real columns;\n* NOT NULL columns don't carry a literal `null` default; FK column\n* counts match their referenced columns. Throws on the first mismatch.\n*/\nfunction validateSqlStorageConsistency(contract) {\n\tfor (const { namespaceId, tableName, table: rawTable } of eachStorageTable(contract.storage)) {\n\t\tconst table = blindCast(rawTable);\n\t\tconst columnNames = new Set(Object.keys(table.columns));\n\t\tif (table.primaryKey) {\n\t\t\tfor (const colName of table.primaryKey.columns) if (!columnNames.has(colName)) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" primaryKey references non-existent column \"${colName}\"`, \"storage\");\n\t\t}\n\t\tfor (const unique of table.uniques) for (const colName of unique.columns) if (!columnNames.has(colName)) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" unique constraint references non-existent column \"${colName}\"`, \"storage\");\n\t\tfor (const index of table.indexes) for (const colName of index.columns ?? []) if (!columnNames.has(colName)) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" index references non-existent column \"${colName}\"`, \"storage\");\n\t\tfor (const [colName, column] of Object.entries(table.columns)) if (!column.nullable && column.default?.kind === \"literal\" && column.default.value === null) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" column \"${colName}\" is NOT NULL but has a literal null default`, \"storage\");\n\t\tfor (const fk of table.foreignKeys) {\n\t\t\tif (fk.source.namespaceId !== namespaceId || fk.source.tableName !== tableName) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" contains foreignKey with mismatched source coordinates (${fk.source.namespaceId}.${fk.source.tableName})`, \"storage\");\n\t\t\tfor (const colName of fk.source.columns) if (!columnNames.has(colName)) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" foreignKey references non-existent column \"${colName}\"`, \"storage\");\n\t\t\tif (fk.target.spaceId === void 0) {\n\t\t\t\tconst referencedRaw = contract.storage.namespaces[fk.target.namespaceId]?.entries.table?.[fk.target.tableName];\n\t\t\t\tif (referencedRaw === void 0) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" foreignKey references non-existent table \"${fk.target.namespaceId}.${fk.target.tableName}\"`, \"storage\");\n\t\t\t\tconst referencedTable = blindCast(referencedRaw);\n\t\t\t\tconst referencedColumnNames = new Set(Object.keys(referencedTable.columns));\n\t\t\t\tfor (const colName of fk.target.columns) if (!referencedColumnNames.has(colName)) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" foreignKey references non-existent column \"${colName}\" in table \"${fk.target.tableName}\"`, \"storage\");\n\t\t\t}\n\t\t\tif (fk.source.columns.length !== fk.target.columns.length) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" foreignKey column count (${fk.source.columns.length}) does not match referenced column count (${fk.target.columns.length})`, \"storage\");\n\t\t}\n\t}\n}\n/**\n* Full SQL contract validation: structural (arktype) +\n* framework-shared domain + SQL storage logical-consistency + SQL\n* storage semantic + model ↔ storage reference checks. Throws\n* `ContractValidationError` on the first failure. Returns the\n* validated flat-data shape; IR class hydration happens in the SPI\n* base on top of this helper.\n*/\nfunction validateSqlContractFully(value, options) {\n\tconst validated = validateSqlContractStructure(typeof value === \"object\" && value !== null ? (() => {\n\t\tconst { schemaVersion: _, _generated: _g, ...rest } = blindCast(value);\n\t\treturn rest;\n\t})() : value, options?.contractSchema ?? SqlContractSchema);\n\tvalidateContractDomain({\n\t\troots: validated.roots,\n\t\tdomain: validated.domain\n\t});\n\tvalidateSqlStorageConsistency(validated);\n\tconst semanticErrors = validateStorageSemantics(validated.storage);\n\tif (semanticErrors.length > 0) throw new ContractValidationError(`Contract semantic validation failed: ${semanticErrors.join(\"; \")}`, \"storage\");\n\tvalidateModelStorageReferences(validated);\n\tvalidateRelationThroughConsistency(validated);\n\tvalidateToOneRelationNullabilityAgainstStorage(validated);\n\treturn validated;\n}\n/**\n* A same-space to-one relation that states `nullable` must agree with its local FK columns:\n* nullable exactly when one of them is nullable (a column that cannot be resolved counts as\n* nullable). A relation without the flag is left to hydration, which derives it the same way.\n*/\nfunction validateToOneRelationNullabilityAgainstStorage(contract) {\n\tfor (const [namespaceId, namespace] of Object.entries(contract.domain.namespaces)) for (const [modelName, model] of Object.entries(namespace.models)) {\n\t\tconst storage = blindCast(model.storage);\n\t\tfor (const [relationName, relation] of Object.entries(model.relations)) {\n\t\t\tif (!(\"on\" in relation && (relation.cardinality === \"1:1\" || relation.cardinality === \"N:1\") && relation.to.space === void 0) || relation.nullable === void 0) continue;\n\t\t\tconst location = `Relation \"${relationName}\" on model \"${namespaceId}:${modelName}\"`;\n\t\t\tconst { ownsForeignKey, columns } = resolveSqlToOneRelationStorage(contract, storage, relation);\n\t\t\tif (!ownsForeignKey) {\n\t\t\t\tif (relation.nullable) continue;\n\t\t\t\tthrow new ContractValidationError(`${location} is required but does not own the foreign key, so nothing in storage guarantees the related row exists`, \"storage\");\n\t\t\t}\n\t\t\tconst anyNullable = columns.some((column) => column.nullable);\n\t\t\tif (relation.nullable === anyNullable) continue;\n\t\t\tconst columnList = columns.filter((column) => column.nullable !== relation.nullable).map((column) => `\"${column.name}\"`).join(\", \");\n\t\t\tthrow new ContractValidationError(relation.nullable ? `${location} is nullable but every local FK column is NOT NULL (columns ${columnList})` : `${location} is required but a local FK column is nullable (columns ${columnList})`, \"storage\");\n\t\t}\n\t}\n}\n/** Storage column lookup for through-consistency validation. */\nfunction lookupStorageColumn(contract, namespaceId, tableName, columnName) {\n\tconst rawTable = contract.storage.namespaces[namespaceId]?.entries.table?.[tableName];\n\tif (rawTable === void 0) return;\n\treturn blindCast(rawTable).columns[columnName];\n}\n/**\n* Two storage columns share a type when their `nativeType` and `typeParams`\n* match. The contract is canonicalized, so `typeParams` key order is stable and\n* a JSON comparison is exact. `codecId` and `nullable` are intentionally not\n* compared: they do not change the database-level type that governs a join.\n*/\nfunction sameStorageType(a, b) {\n\treturn a.nativeType === b.nativeType && JSON.stringify(a.typeParams ?? null) === JSON.stringify(b.typeParams ?? null);\n}\nfunction describeColumnType(column) {\n\treturn column.typeParams === void 0 ? column.nativeType : `${column.nativeType} ${JSON.stringify(column.typeParams)}`;\n}\n/**\n* Validates one side of an N:M join: the junction columns and the model\n* columns they pair against positionally must be equal in number, exist in\n* their tables, and share the same storage type (`nativeType` + `typeParams`).\n* The junction's storage foreign keys already guarantee this for user-declared\n* FK constraints, but `through` is a logical descriptor never tied to them by\n* the rest of validation — and the TS builder accepts explicit join columns\n* without requiring a junction FK at all — so this checks the columns directly\n* against storage, one path regardless of how the junction was authored.\n*\n* Joined columns must be the *same* storage type, not merely compatible:\n* relying on implicit conversion (e.g. `text`↔`character`) is unsafe on writes\n* — `character(n)` space-padding makes such coercions non-associative — and no\n* ADR sanctions heterogeneous junction columns. Equality is the conservative\n* default; it can be relaxed deliberately if a real use case ever appears.\n*/\nfunction validateThroughJoinSide(input) {\n\tconst fail = (detail) => new ContractValidationError(`Many-to-many relation \"${input.qualifiedName}\" ${detail}`, \"storage\");\n\tif (input.junctionColumns.length !== input.modelColumns.length) throw fail(`pairs ${input.junctionColumnsLabel} (${input.junctionColumns.length}) with ${input.modelColumnsLabel} (${input.modelColumns.length}) of differing length; they join positionally and must match.`);\n\tfor (const [index, junctionColumnName] of input.junctionColumns.entries()) {\n\t\tconst modelColumnRef = input.modelColumns[index];\n\t\tif (modelColumnRef === void 0) continue;\n\t\tconst junctionColumn = lookupStorageColumn(input.contract, input.junctionNamespaceId, input.junctionTable, junctionColumnName);\n\t\tif (junctionColumn === void 0) throw fail(`${input.junctionColumnsLabel} references column \"${junctionColumnName}\" absent from junction table \"${input.junctionNamespaceId}.${input.junctionTable}\".`);\n\t\tconst model = input.model;\n\t\tif (model === void 0) continue;\n\t\tlet modelColumnName = modelColumnRef;\n\t\tif (model.fieldToColumn !== void 0) {\n\t\t\tconst mapped = model.fieldToColumn[modelColumnRef];\n\t\t\tif (mapped === void 0) throw fail(`${input.modelColumnsLabel} references field \"${modelColumnRef}\" absent from model on table \"${model.namespaceId}.${model.table}\".`);\n\t\t\tmodelColumnName = mapped.column;\n\t\t}\n\t\tconst modelColumn = lookupStorageColumn(input.contract, model.namespaceId, model.table, modelColumnName);\n\t\tif (modelColumn === void 0) throw fail(`${input.modelColumnsLabel} references column \"${modelColumnName}\" absent from table \"${model.namespaceId}.${model.table}\".`);\n\t\tif (!sameStorageType(junctionColumn, modelColumn)) throw fail(`joins \"${input.junctionTable}.${junctionColumnName}\" (${describeColumnType(junctionColumn)}) with \"${model.table}.${modelColumnName}\" (${describeColumnType(modelColumn)}) of differing storage type; junction columns must match the type of the column they reference.`);\n\t}\n}\n/**\n* Validates that every N:M relation's `through` descriptor is consistent with\n* the storage columns it joins: both join sides match in column count,\n* reference columns that exist in their tables, and pair columns of the same\n* storage type. Without this, a `through` that disagrees with storage surfaces\n* as a silently wrong JOIN at query time rather than a validation error here.\n*/\nfunction validateRelationThroughConsistency(contract) {\n\tfor (const [namespaceId, namespace] of Object.entries(contract.domain.namespaces)) for (const [modelName, model] of Object.entries(namespace.models)) for (const [relationName, relation] of Object.entries(model.relations)) {\n\t\tif (relation.cardinality !== \"N:M\") continue;\n\t\tconst qualifiedName = `${namespaceId}.${modelName}.${relationName}`;\n\t\tconst { on, through } = relation;\n\t\tconst modelStorage = blindCast(model.storage);\n\t\tvalidateThroughJoinSide({\n\t\t\tcontract,\n\t\t\tqualifiedName,\n\t\t\tmodelColumns: on.localFields,\n\t\t\tmodelColumnsLabel: \"on.localFields\",\n\t\t\tmodel: {\n\t\t\t\tnamespaceId,\n\t\t\t\ttable: modelStorage.table,\n\t\t\t\tfieldToColumn: modelStorage.fields\n\t\t\t},\n\t\t\tjunctionColumns: through.parentColumns,\n\t\t\tjunctionColumnsLabel: \"through.parentColumns\",\n\t\t\tjunctionNamespaceId: through.namespaceId,\n\t\t\tjunctionTable: through.table\n\t\t});\n\t\tconst targetModel = relation.to.space === void 0 ? contract.domain.namespaces[relation.to.namespace]?.models[relation.to.model] : void 0;\n\t\tconst targetModelSide = targetModel === void 0 ? void 0 : {\n\t\t\tnamespaceId: relation.to.namespace,\n\t\t\ttable: blindCast(targetModel.storage).table\n\t\t};\n\t\tvalidateThroughJoinSide({\n\t\t\tcontract,\n\t\t\tqualifiedName,\n\t\t\tmodelColumns: through.targetColumns,\n\t\t\tmodelColumnsLabel: \"through.targetColumns\",\n\t\t\t...ifDefined(\"model\", targetModelSide),\n\t\t\tjunctionColumns: through.childColumns,\n\t\t\tjunctionColumnsLabel: \"through.childColumns\",\n\t\t\tjunctionNamespaceId: through.namespaceId,\n\t\t\tjunctionTable: through.table\n\t\t});\n\t}\n}\n//#endregion\nexport { CheckConstraintSchema, ColumnDefaultFunctionSchema, ColumnDefaultLiteralSchema, ColumnDefaultSchema, ContractEnumSchema, ForeignKeyReferenceSchema, ForeignKeySchema, ForeignKeySourceSchema, IndexSchema, ReferentialActionSchema, StorageTableSchema, StorageValueSetSchema, checkSqlDefaultBody, createNamespaceEntrySchema, createSqlContractSchema, createSqlStorageSchema, reservedSqlDefaultBody, resolveSqlToOneRelationStorage, validateModel, validateModelStorageReferences, validateSqlContractFully, validateSqlStorageConsistency, validateStorage, validateStorageSemantics };\n\n//# sourceMappingURL=validators.mjs.map"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/orm-family-sql",
3
- "version": "8.0.0-rc.14-dev.14",
3
+ "version": "8.0.0-rc.14-dev.15",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -9,8 +9,8 @@
9
9
  "dist"
10
10
  ],
11
11
  "dependencies": {
12
- "@prisma/orm-framework": "8.0.0-rc.14-dev.14",
13
- "@prisma/orm-toolchain": "8.0.0-rc.14-dev.14",
12
+ "@prisma/orm-framework": "8.0.0-rc.14-dev.15",
13
+ "@prisma/orm-toolchain": "8.0.0-rc.14-dev.15",
14
14
  "@standard-schema/spec": "^1.1.0",
15
15
  "arktype": "^2.2.2",
16
16
  "pathe": "^2.0.3",
@@ -19,21 +19,21 @@
19
19
  "ts-toolbelt": "^9.6.0"
20
20
  },
21
21
  "devDependencies": {
22
- "@internal/family-sql": "8.0.0-rc.14-dev.14",
23
- "@internal/sql-builder": "8.0.0-rc.14-dev.14",
24
- "@internal/sql-contract": "8.0.0-rc.14-dev.14",
25
- "@internal/sql-contract-emitter": "8.0.0-rc.14-dev.14",
26
- "@internal/sql-contract-prisma7": "8.0.0-rc.14-dev.14",
27
- "@internal/sql-contract-psl": "8.0.0-rc.14-dev.14",
28
- "@internal/sql-contract-ts": "8.0.0-rc.14-dev.14",
29
- "@internal/sql-errors": "8.0.0-rc.14-dev.14",
30
- "@internal/sql-operations": "8.0.0-rc.14-dev.14",
31
- "@internal/sql-orm-client": "8.0.0-rc.14-dev.14",
32
- "@internal/sql-relational-core": "8.0.0-rc.14-dev.14",
33
- "@internal/sql-runtime": "8.0.0-rc.14-dev.14",
34
- "@internal/sql-schema-ir": "8.0.0-rc.14-dev.14",
35
- "@repo/tsconfig": "8.0.0-rc.14-dev.14",
36
- "@repo/tsdown": "8.0.0-rc.14-dev.14",
22
+ "@internal/family-sql": "8.0.0-rc.14-dev.15",
23
+ "@internal/sql-builder": "8.0.0-rc.14-dev.15",
24
+ "@internal/sql-contract": "8.0.0-rc.14-dev.15",
25
+ "@internal/sql-contract-emitter": "8.0.0-rc.14-dev.15",
26
+ "@internal/sql-contract-prisma7": "8.0.0-rc.14-dev.15",
27
+ "@internal/sql-contract-psl": "8.0.0-rc.14-dev.15",
28
+ "@internal/sql-contract-ts": "8.0.0-rc.14-dev.15",
29
+ "@internal/sql-errors": "8.0.0-rc.14-dev.15",
30
+ "@internal/sql-operations": "8.0.0-rc.14-dev.15",
31
+ "@internal/sql-orm-client": "8.0.0-rc.14-dev.15",
32
+ "@internal/sql-relational-core": "8.0.0-rc.14-dev.15",
33
+ "@internal/sql-runtime": "8.0.0-rc.14-dev.15",
34
+ "@internal/sql-schema-ir": "8.0.0-rc.14-dev.15",
35
+ "@repo/tsconfig": "8.0.0-rc.14-dev.15",
36
+ "@repo/tsdown": "8.0.0-rc.14-dev.15",
37
37
  "tsdown": "0.22.14",
38
38
  "typescript": "5.9.3"
39
39
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"contract-builder-CyJOBIFB.mjs","names":["#handle"],"sources":["../../../../2-sql/2-authoring/contract-ts/dist/contract-builder.mjs"],"sourcesContent":["import { a as isValueObjectMember, i as contractError, n as buildSqlContractFromDefinition, o as storedAsListColumn, r as toOneNullabilityContradictionMessage, t as applySqlSpecifierControlPolicy } from \"./derived-checks-a_OpD3OE.mjs\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { isColumnDefault } from \"@internal/contract/types\";\nimport { assertSafeAuthoringHelperKey, bindEnumType, composePackAuthoringNamespace, createEntityHelpersFromNamespace, createFieldHelpersFromNamespace, enumType, isEnumTypeHandle, member, resolveToOneRelationNullable } from \"@internal/contract-authoring\";\nimport { assertNoCrossRegistryCollisions, instantiateAuthoringFieldPreset, instantiateAuthoringTypeConstructor, isAuthoringEntityTypeDescriptor, isAuthoringTypeConstructorDescriptor, validateAuthoringHelperArguments } from \"@internal/framework-components/authoring\";\nimport { toStorageTypeInstance } from \"@internal/sql-contract/types\";\nimport { checkSqlDefaultBody, reservedSqlDefaultBody } from \"@internal/sql-contract/validators\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { providesEntityHandleLowering } from \"@internal/sql-contract/entity-handle-lowering-hook\";\nimport { canonicalizeTaggedLiteralBody, describeTaggedLiteralFailure, resolveTemplateTagEscapes } from \"@internal/framework-components/control\";\n//#region src/authoring-helper-runtime.ts\nfunction isNamedConstraintOptionsLike(value) {\n\tif (typeof value !== \"object\" || value === null || Array.isArray(value)) return false;\n\tif (Object.keys(value).some((key) => key !== \"name\")) return false;\n\tconst name = value.name;\n\treturn name === void 0 || typeof name === \"string\";\n}\nfunction createTypeHelpersFromNamespace(namespace, path = []) {\n\tconst helpers = {};\n\tfor (const [key, value] of Object.entries(namespace)) {\n\t\tassertSafeAuthoringHelperKey(key, path);\n\t\tconst currentPath = [...path, key];\n\t\tif (isAuthoringTypeConstructorDescriptor(value)) {\n\t\t\tconst helperPath = currentPath.join(\".\");\n\t\t\thelpers[key] = (...args) => {\n\t\t\t\tvalidateAuthoringHelperArguments(helperPath, value.args, args);\n\t\t\t\tconst triple = instantiateAuthoringTypeConstructor(value, args);\n\t\t\t\treturn toStorageTypeInstance({\n\t\t\t\t\tcodecId: triple.codecId,\n\t\t\t\t\tnativeType: triple.nativeType,\n\t\t\t\t\ttypeParams: triple.typeParams ?? {}\n\t\t\t\t});\n\t\t\t};\n\t\t\tcontinue;\n\t\t}\n\t\thelpers[key] = createTypeHelpersFromNamespace(value, currentPath);\n\t}\n\treturn helpers;\n}\nfunction createFieldPresetHelper(options) {\n\treturn (...rawArgs) => {\n\t\tconst acceptsNamedConstraintOptions = options.descriptor.output.id === true || options.descriptor.output.unique === true;\n\t\tconst declaredArguments = options.descriptor.args ?? [];\n\t\tif (acceptsNamedConstraintOptions && rawArgs.length > declaredArguments.length + 1) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `${options.helperPath} expects at most ${declaredArguments.length + 1} argument(s), received ${rawArgs.length}`, { meta: {\n\t\t\thelperPath: options.helperPath,\n\t\t\texpected: declaredArguments.length + 1,\n\t\t\treceived: rawArgs.length\n\t\t} });\n\t\tlet args = rawArgs;\n\t\tlet namedConstraintOptions;\n\t\tif (acceptsNamedConstraintOptions && rawArgs.length === declaredArguments.length + 1) {\n\t\t\tconst maybeNamedConstraintOptions = rawArgs.at(-1);\n\t\t\tif (!isNamedConstraintOptionsLike(maybeNamedConstraintOptions)) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", `${options.helperPath} accepts an optional trailing { name?: string } constraint options object`, { meta: { helperPath: options.helperPath } });\n\t\t\tnamedConstraintOptions = maybeNamedConstraintOptions;\n\t\t\targs = rawArgs.slice(0, -1);\n\t\t}\n\t\tvalidateAuthoringHelperArguments(options.helperPath, options.descriptor.args, args);\n\t\treturn options.build({\n\t\t\targs,\n\t\t\t...namedConstraintOptions ? { namedConstraintOptions } : {}\n\t\t});\n\t};\n}\n//#endregion\n//#region src/contract-dsl.ts\nfunction toColumnDefault(value) {\n\tif (isColumnDefault(value)) return value;\n\treturn {\n\t\tkind: \"literal\",\n\t\tvalue\n\t};\n}\nvar ScalarFieldBuilder = class ScalarFieldBuilder {\n\tstate;\n\tconstructor(state) {\n\t\tthis.state = state;\n\t}\n\t/**\n\t* Returns the physical column name when `.column(name)` was called, or\n\t* `undefined` when the field uses the default (logical field name) mapping.\n\t* Used by cross-space FK lowering to stamp the physical column name onto\n\t* `TargetFieldRef.columnName` so FK target columns are resolved correctly.\n\t*/\n\tget physicalColumnName() {\n\t\treturn this.state.columnName;\n\t}\n\toptional() {\n\t\treturn new ScalarFieldBuilder(blindCast({\n\t\t\t...this.state,\n\t\t\tnullable: true\n\t\t}));\n\t}\n\tcolumn(name) {\n\t\treturn new ScalarFieldBuilder(blindCast({\n\t\t\t...this.state,\n\t\t\tcolumnName: name\n\t\t}));\n\t}\n\tmany() {\n\t\treturn new ScalarFieldBuilder(blindCast({\n\t\t\t...this.state,\n\t\t\tmany: true\n\t\t}));\n\t}\n\t/**\n\t* Declines enforcement of generated CHECK constraints on this column.\n\t* With no arguments, waives every kind the column's shape derives;\n\t* with arguments, waives exactly the named kinds. Declared types are\n\t* unchanged — runtime values may diverge from them once enforcement\n\t* is waived.\n\t*/\n\tnoCheck(...kinds) {\n\t\tif (this.state.noCheck !== void 0) throw contractError(\"CONTRACT.CHECK_OPTOUT_INVALID\", \"noCheck() was already called on this field; declare every waived kind in a single call.\", { meta: { reason: \"duplicate-noCheck-call\" } });\n\t\treturn blindCast(new ScalarFieldBuilder({\n\t\t\t...this.state,\n\t\t\tnoCheck: kinds\n\t\t}));\n\t}\n\tdefault(value) {\n\t\treturn new ScalarFieldBuilder({\n\t\t\t...this.state,\n\t\t\tdefault: toColumnDefault(value)\n\t\t});\n\t}\n\t/**\n\t* @deprecated Write `.default(now())` or `.default(autoincrement())`, or `` .default(sql`...`) `` for any other SQL. Removed in 8.0.0.\n\t*/\n\tdefaultSql(expression) {\n\t\treturn new ScalarFieldBuilder({\n\t\t\t...this.state,\n\t\t\tdefault: {\n\t\t\t\tkind: \"function\",\n\t\t\t\texpression\n\t\t\t}\n\t\t});\n\t}\n\tid(options) {\n\t\treturn new ScalarFieldBuilder(blindCast({\n\t\t\t...this.state,\n\t\t\tid: options?.name ? { name: options.name } : {}\n\t\t}));\n\t}\n\tunique(options) {\n\t\treturn new ScalarFieldBuilder(blindCast({\n\t\t\t...this.state,\n\t\t\tunique: options?.name ? { name: options.name } : {}\n\t\t}));\n\t}\n\tsql(spec) {\n\t\tconst idSpec = \"id\" in spec ? spec.id : void 0;\n\t\tconst uniqueSpec = \"unique\" in spec ? spec.unique : void 0;\n\t\tif (idSpec && !this.state.id) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", \"field.sql({ id }) requires an existing inline .id(...) declaration.\");\n\t\tif (uniqueSpec && !this.state.unique) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", \"field.sql({ unique }) requires an existing inline .unique(...) declaration.\");\n\t\treturn new ScalarFieldBuilder(blindCast({\n\t\t\t...this.state,\n\t\t\t...spec.column ? { columnName: spec.column } : {},\n\t\t\t...idSpec ? { id: { name: idSpec.name } } : {},\n\t\t\t...uniqueSpec ? { unique: { name: uniqueSpec.name } } : {}\n\t\t}));\n\t}\n\tbuild() {\n\t\treturn this.state;\n\t}\n};\nvar EnumScalarFieldBuilder = class EnumScalarFieldBuilder extends ScalarFieldBuilder {\n\t#handle;\n\tconstructor(state, handle) {\n\t\tsuper(state);\n\t\tthis.#handle = handle;\n\t}\n\tdefault(value) {\n\t\treturn blindCast(new EnumScalarFieldBuilder({\n\t\t\t...this.build(),\n\t\t\tdefault: {\n\t\t\t\tkind: \"literal\",\n\t\t\t\tvalue\n\t\t\t}\n\t\t}, this.#handle));\n\t}\n\tdefaultSql(_expression) {\n\t\tthrow contractError(\"CONTRACT.DEFAULT_INVALID\", \"defaultSql is not available on an enum field; use .default(members.X) instead\", { meta: { reason: \"defaultSql-on-enum-field\" } });\n\t}\n};\nconst columnField = (descriptor) => new ScalarFieldBuilder({\n\tkind: \"scalar\",\n\tdescriptor,\n\tnullable: false\n});\nfunction generatedField(spec) {\n\treturn new ScalarFieldBuilder({\n\t\tkind: \"scalar\",\n\t\tdescriptor: {\n\t\t\t...spec.type,\n\t\t\t...spec.typeParams ? { typeParams: spec.typeParams } : {}\n\t\t},\n\t\tnullable: false,\n\t\texecutionDefaults: { onCreate: spec.generated }\n\t});\n}\nfunction untypedNamedTypeField(typeRef) {\n\tif (isEnumTypeHandle(typeRef)) return new EnumScalarFieldBuilder(blindCast({\n\t\tkind: \"scalar\",\n\t\ttypeRef,\n\t\tnullable: false\n\t}), typeRef);\n\treturn new ScalarFieldBuilder({\n\t\tkind: \"scalar\",\n\t\ttypeRef,\n\t\tnullable: false\n\t});\n}\nconst namedTypeField = blindCast(untypedNamedTypeField);\nfunction buildFieldPreset(descriptor, args, namedConstraintOptions) {\n\tconst preset = instantiateAuthoringFieldPreset(descriptor, args);\n\treturn new ScalarFieldBuilder({\n\t\tkind: \"scalar\",\n\t\tdescriptor: preset.descriptor,\n\t\tnullable: preset.nullable,\n\t\t...ifDefined(\"default\", preset.default),\n\t\t...ifDefined(\"executionDefaults\", preset.executionDefaults),\n\t\t...preset.id ? { id: namedConstraintOptions?.name ? { name: namedConstraintOptions.name } : {} } : {},\n\t\t...preset.unique ? { unique: namedConstraintOptions?.name ? { name: namedConstraintOptions.name } : {} } : {}\n\t});\n}\nvar RelationBuilder = class RelationBuilder {\n\tstate;\n\tconstructor(state) {\n\t\tthis.state = state;\n\t}\n\tsql(spec) {\n\t\tif (this.state.kind !== \"belongsTo\") throw contractError(\"CONTRACT.RELATION_INVALID\", \"relation.sql(...) is only supported for belongsTo relations.\", { meta: { relationKind: this.state.kind } });\n\t\treturn new RelationBuilder({\n\t\t\t...this.state,\n\t\t\tsql: spec\n\t\t});\n\t}\n\tbuild() {\n\t\treturn this.state;\n\t}\n};\nfunction normalizeFieldRefInput(input) {\n\treturn (Array.isArray(input) ? input : [input]).map((ref) => ref.fieldName);\n}\nfunction normalizeTargetFieldRefInput(input) {\n\tconst refs = Array.isArray(input) ? input : [input];\n\tconst [first] = refs;\n\tif (!first) throw contractError(\"CONTRACT.FOREIGN_KEY_INVALID\", \"Expected at least one target ref\", { meta: { reason: \"empty-target-refs\" } });\n\tif (refs.some((ref) => ref.modelName !== first.modelName)) throw contractError(\"CONTRACT.FOREIGN_KEY_INVALID\", \"All target refs in a foreign key must point to the same model\", { meta: {\n\t\tmismatch: \"modelName\",\n\t\tmodels: refs.map((ref) => ref.modelName)\n\t} });\n\tif (refs.some((ref) => ref.spaceId !== first.spaceId)) throw contractError(\"CONTRACT.FOREIGN_KEY_INVALID\", `All target refs in a compound foreign key must share the same spaceId (found mismatch: \"${first.spaceId ?? \"<local>\"}\" vs \"${refs.find((r) => r.spaceId !== first.spaceId)?.spaceId ?? \"<local>\"}\")`, { meta: {\n\t\tmismatch: \"spaceId\",\n\t\tfirst: first.spaceId,\n\t\tsecond: refs.find((r) => r.spaceId !== first.spaceId)?.spaceId\n\t} });\n\tif (refs.some((ref) => ref.namespaceId !== first.namespaceId)) throw contractError(\"CONTRACT.FOREIGN_KEY_INVALID\", \"All target refs in a compound foreign key must share the same namespaceId (found mismatch)\", { meta: { mismatch: \"namespaceId\" } });\n\tif (refs.some((ref) => ref.tableName !== first.tableName)) throw contractError(\"CONTRACT.FOREIGN_KEY_INVALID\", \"All target refs in a compound foreign key must share the same tableName (found mismatch)\", { meta: { mismatch: \"tableName\" } });\n\treturn {\n\t\tmodelName: first.modelName,\n\t\tfieldNames: refs.map((ref) => ref.columnName ?? ref.fieldName),\n\t\tsource: refs.some((ref) => ref.source === \"string\") ? \"string\" : \"token\",\n\t\tspaceId: first.spaceId,\n\t\tnamespaceId: first.namespaceId,\n\t\ttableName: first.tableName\n\t};\n}\nfunction createConstraintsDsl() {\n\tfunction ref(modelName, fieldName) {\n\t\treturn {\n\t\t\tkind: \"targetFieldRef\",\n\t\t\tsource: \"string\",\n\t\t\tmodelName,\n\t\t\tfieldName\n\t\t};\n\t}\n\tfunction id(fieldOrFields, options) {\n\t\treturn {\n\t\t\tkind: \"id\",\n\t\t\tfields: normalizeFieldRefInput(fieldOrFields),\n\t\t\t...options?.name ? { name: options.name } : {}\n\t\t};\n\t}\n\tfunction unique(fieldOrFields, options) {\n\t\treturn {\n\t\t\tkind: \"unique\",\n\t\t\tfields: normalizeFieldRefInput(fieldOrFields),\n\t\t\t...options?.name ? { name: options.name } : {}\n\t\t};\n\t}\n\tfunction index(fieldsOrOptions, options) {\n\t\tconst isExpressionForm = !Array.isArray(fieldsOrOptions) && typeof fieldsOrOptions === \"object\" && \"expression\" in fieldsOrOptions;\n\t\tconst opts = isExpressionForm ? fieldsOrOptions : options;\n\t\tconst carried = {\n\t\t\tkind: \"index\",\n\t\t\t...opts?.name !== void 0 ? { name: opts.name } : {},\n\t\t\t...opts?.map !== void 0 ? { map: opts.map } : {},\n\t\t\t...opts?.where !== void 0 ? { where: opts.where } : {},\n\t\t\t...opts?.unique !== void 0 ? { unique: opts.unique } : {},\n\t\t\t...opts?.type !== void 0 ? { type: opts.type } : {},\n\t\t\t...opts?.options !== void 0 ? { options: blindCast(opts.options) } : {}\n\t\t};\n\t\treturn isExpressionForm ? {\n\t\t\t...carried,\n\t\t\texpression: fieldsOrOptions.expression\n\t\t} : {\n\t\t\t...carried,\n\t\t\tfields: normalizeFieldRefInput(fieldsOrOptions)\n\t\t};\n\t}\n\tfunction foreignKey(fieldOrFields, target, options) {\n\t\tconst normalizedTarget = normalizeTargetFieldRefInput(target);\n\t\treturn {\n\t\t\tkind: \"fk\",\n\t\t\tfields: normalizeFieldRefInput(fieldOrFields),\n\t\t\ttargetModel: normalizedTarget.modelName,\n\t\t\ttargetFields: normalizedTarget.fieldNames,\n\t\t\ttargetSource: normalizedTarget.source,\n\t\t\t...normalizedTarget.spaceId !== void 0 ? { targetSpaceId: normalizedTarget.spaceId } : {},\n\t\t\t...normalizedTarget.namespaceId !== void 0 ? { targetNamespaceId: normalizedTarget.namespaceId } : {},\n\t\t\t...normalizedTarget.tableName !== void 0 ? { targetTableName: normalizedTarget.tableName } : {},\n\t\t\t...options?.name ? { name: options.name } : {},\n\t\t\t...options?.onDelete ? { onDelete: options.onDelete } : {},\n\t\t\t...options?.onUpdate ? { onUpdate: options.onUpdate } : {},\n\t\t\t...options?.constraint !== void 0 ? { constraint: options.constraint } : {},\n\t\t\t...options?.index !== void 0 ? { index: options.index } : {}\n\t\t};\n\t}\n\treturn {\n\t\tref,\n\t\tid,\n\t\tunique,\n\t\tindex,\n\t\tforeignKey\n\t};\n}\n/**\n* Declares an authored CHECK constraint for a model's `.sql({ checks: [...] })`.\n* Unlike `index()`, `check()` names no column tuple — the predicate is opaque\n* SQL — so it needs no field-ref context and is a plain top-level function\n* rather than a method on `constraints`.\n*/\nfunction check(input) {\n\treturn {\n\t\tkind: \"check\",\n\t\texpression: input.expression,\n\t\t...input.name !== void 0 ? { name: input.name } : {},\n\t\t...input.map !== void 0 ? { map: input.map } : {}\n\t};\n}\nfunction createFieldRefs(fields) {\n\tconst refs = {};\n\tfor (const fieldName of Object.keys(fields)) refs[fieldName] = {\n\t\tkind: \"columnRef\",\n\t\tfieldName\n\t};\n\treturn refs;\n}\nfunction createModelTokenRefs(modelName, fields, crossSpaceCoordinate) {\n\tconst refs = {};\n\tfor (const [fieldName, fieldBuilder] of Object.entries(fields)) {\n\t\tconst physicalColumn = crossSpaceCoordinate !== void 0 ? fieldBuilder.physicalColumnName : void 0;\n\t\trefs[fieldName] = {\n\t\t\tkind: \"targetFieldRef\",\n\t\t\tsource: \"token\",\n\t\t\tmodelName,\n\t\t\tfieldName,\n\t\t\t...crossSpaceCoordinate !== void 0 ? {\n\t\t\t\tspaceId: crossSpaceCoordinate.spaceId,\n\t\t\t\t...crossSpaceCoordinate.namespaceId !== void 0 ? { namespaceId: crossSpaceCoordinate.namespaceId } : {},\n\t\t\t\t...crossSpaceCoordinate.tableName !== void 0 ? { tableName: crossSpaceCoordinate.tableName } : {},\n\t\t\t\t...physicalColumn !== void 0 ? { columnName: physicalColumn } : {}\n\t\t\t} : {}\n\t\t};\n\t}\n\treturn refs;\n}\nfunction buildStageSpec(stageInput, context) {\n\tif (typeof stageInput === \"function\") return stageInput(context);\n\treturn stageInput;\n}\nfunction createAttributeConstraintsDsl() {\n\tconst constraints = createConstraintsDsl();\n\treturn {\n\t\tid: constraints.id,\n\t\tunique: constraints.unique\n\t};\n}\nfunction createSqlConstraintsDsl() {\n\tconst constraints = createConstraintsDsl();\n\treturn {\n\t\tindex: constraints.index,\n\t\tforeignKey: constraints.foreignKey,\n\t\tref: constraints.ref\n\t};\n}\nfunction createColumnRefs(fields) {\n\treturn createFieldRefs(fields);\n}\nfunction findDuplicateRelationName(existingRelations, nextRelations) {\n\treturn Object.keys(nextRelations).find((relationName) => Object.hasOwn(existingRelations, relationName));\n}\nvar ContractModelBuilder = class ContractModelBuilder {\n\tstageOne;\n\tattributesFactory;\n\tsqlFactory;\n\tspaceId;\n\ttableName;\n\trefs;\n\tconstructor(stageOne, attributesFactory, sqlFactory, spaceId, tableName) {\n\t\tthis.stageOne = stageOne;\n\t\tthis.attributesFactory = attributesFactory;\n\t\tthis.sqlFactory = sqlFactory;\n\t\tthis.spaceId = spaceId;\n\t\tthis.tableName = tableName;\n\t\tconst crossSpaceCoordinate = spaceId !== void 0 ? {\n\t\t\tspaceId,\n\t\t\t...stageOne.namespace !== void 0 ? { namespaceId: stageOne.namespace } : {},\n\t\t\t...tableName !== void 0 ? { tableName } : {}\n\t\t} : void 0;\n\t\tthis.refs = blindCast(stageOne.modelName ? createModelTokenRefs(stageOne.modelName, stageOne.fields, crossSpaceCoordinate) : void 0);\n\t}\n\tref(fieldName) {\n\t\tconst modelName = this.stageOne.modelName;\n\t\tif (!modelName) throw contractError(\"CONTRACT.MODEL_TOKEN_INVALID\", \"Model tokens require model(\\\"ModelName\\\", ...) before calling .ref(...)\");\n\t\treturn {\n\t\t\tkind: \"targetFieldRef\",\n\t\t\tsource: \"token\",\n\t\t\tmodelName,\n\t\t\tfieldName\n\t\t};\n\t}\n\trelations(relations) {\n\t\tconst duplicateRelationName = findDuplicateRelationName(this.stageOne.relations, relations);\n\t\tif (duplicateRelationName) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `Model \"${this.stageOne.modelName ?? \"<anonymous>\"}\" already defines relation \"${duplicateRelationName}\".`, { meta: {\n\t\t\tkind: \"relation\",\n\t\t\tname: duplicateRelationName,\n\t\t\tmodelName: this.stageOne.modelName\n\t\t} });\n\t\treturn new ContractModelBuilder({\n\t\t\t...this.stageOne,\n\t\t\trelations: {\n\t\t\t\t...this.stageOne.relations,\n\t\t\t\t...relations\n\t\t\t}\n\t\t}, this.attributesFactory, this.sqlFactory, this.spaceId, this.tableName);\n\t}\n\tattributes(specOrFactory) {\n\t\treturn blindCast(new ContractModelBuilder(this.stageOne, specOrFactory, this.sqlFactory, this.spaceId, this.tableName));\n\t}\n\tsql(specOrFactory) {\n\t\tconst nextTableName = typeof specOrFactory !== \"function\" ? specOrFactory.table : this.tableName;\n\t\treturn blindCast(new ContractModelBuilder(this.stageOne, this.attributesFactory, specOrFactory, this.spaceId, nextTableName));\n\t}\n\tbuildAttributesSpec() {\n\t\tif (!this.attributesFactory) return;\n\t\treturn buildStageSpec(this.attributesFactory, {\n\t\t\tfields: createFieldRefs(this.stageOne.fields),\n\t\t\tconstraints: createAttributeConstraintsDsl()\n\t\t});\n\t}\n\tbuildSqlSpec() {\n\t\tif (!this.sqlFactory) return;\n\t\treturn buildStageSpec(this.sqlFactory, {\n\t\t\tcols: createColumnRefs(this.stageOne.fields),\n\t\t\tconstraints: createSqlConstraintsDsl()\n\t\t});\n\t}\n};\nfunction isLazyRelationModelName(value) {\n\treturn typeof value === \"object\" && value !== null && \"kind\" in value && value.kind === \"lazyRelationModelName\" && \"resolve\" in value && typeof value.resolve === \"function\";\n}\nfunction resolveNamedModelTokenName(token) {\n\tconst modelName = token.stageOne.modelName;\n\tif (!modelName) throw contractError(\"CONTRACT.MODEL_TOKEN_INVALID\", \"Relation targets require named model tokens. Use model(\\\"ModelName\\\", ...) before passing a token to rel.*(...).\");\n\treturn modelName;\n}\nfunction normalizeRelationModelSource(target) {\n\tif (typeof target === \"string\") return {\n\t\tkind: \"relationModelName\",\n\t\tsource: \"string\",\n\t\tmodelName: target\n\t};\n\tif (typeof target === \"function\") return {\n\t\tkind: \"lazyRelationModelName\",\n\t\tsource: \"lazyToken\",\n\t\tresolve: () => resolveNamedModelTokenName(target())\n\t};\n\treturn {\n\t\tkind: \"relationModelName\",\n\t\tsource: \"token\",\n\t\tmodelName: resolveNamedModelTokenName(target)\n\t};\n}\nfunction model(modelNameOrInput, maybeInput) {\n\tconst input = typeof modelNameOrInput === \"string\" ? maybeInput : modelNameOrInput;\n\tif (!input) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", \"model(\\\"ModelName\\\", ...) requires a model definition.\");\n\treturn new ContractModelBuilder({\n\t\t...typeof modelNameOrInput === \"string\" ? { modelName: modelNameOrInput } : {},\n\t\t...input.namespace !== void 0 ? { namespace: input.namespace } : {},\n\t\tfields: input.fields,\n\t\trelations: input.relations ?? {}\n\t});\n}\n/**\n* Factory for building a standalone branded extension model handle.\n*\n* Use this instead of `new ContractModelBuilder(…)` when constructing handles\n* for models that live in a foreign contract space (e.g. a Supabase extension\n* model referenced by a user's contract). The `spaceId` brands the returned\n* handle so `refs.<field>.spaceId` carries the foreign space identifier.\n*\n* @param name - The domain model name as declared in the foreign contract\n* (e.g. `'AuthUser'`, not a bare table alias like `'User'`).\n* @param input.namespace - The namespace within the foreign space (e.g. `'auth'`).\n* @param input.fields - Field definitions (use `field.column(…)`).\n* @param input.table - The physical table name in the foreign schema.\n* @param spaceId - The extension space identifier (e.g. `'supabase'`).\n*/\nfunction extensionModel(name, input, spaceId) {\n\treturn new ContractModelBuilder({\n\t\tmodelName: name,\n\t\tnamespace: input.namespace,\n\t\tfields: input.fields,\n\t\trelations: {}\n\t}, void 0, void 0, spaceId, input.table);\n}\nfunction isCrossSpaceHandle(value) {\n\tif (typeof value !== \"object\" || value === null) return false;\n\tconst rec = blindCast(value);\n\treturn typeof rec[\"spaceId\"] === \"string\" && typeof rec[\"stageOne\"] === \"object\" && rec[\"stageOne\"] !== null;\n}\nfunction belongsTo(toModel, options) {\n\tconst resolvedModel = typeof toModel === \"function\" ? toModel() : toModel;\n\tconst crossSpaceCoordinate = isCrossSpaceHandle(resolvedModel) ? {\n\t\tspaceId: resolvedModel.spaceId,\n\t\t...resolvedModel.tableName !== void 0 ? { tableName: resolvedModel.tableName } : {},\n\t\t...resolvedModel.stageOne.namespace !== void 0 ? { namespaceId: resolvedModel.stageOne.namespace } : {}\n\t} : void 0;\n\treturn new RelationBuilder({\n\t\tkind: \"belongsTo\",\n\t\ttoModel: normalizeRelationModelSource(toModel),\n\t\tfrom: options.from,\n\t\tto: options.to,\n\t\t...ifDefined(\"optional\", options.optional),\n\t\t...crossSpaceCoordinate !== void 0 ? crossSpaceCoordinate : {}\n\t});\n}\nfunction hasMany(toModel, options) {\n\treturn new RelationBuilder({\n\t\tkind: \"hasMany\",\n\t\ttoModel: normalizeRelationModelSource(toModel),\n\t\tby: options.by\n\t});\n}\nfunction hasOne(toModel, options) {\n\treturn new RelationBuilder({\n\t\tkind: \"hasOne\",\n\t\ttoModel: normalizeRelationModelSource(toModel),\n\t\tby: options.by\n\t});\n}\nfunction manyToMany(toModel, options) {\n\treturn new RelationBuilder({\n\t\tkind: \"manyToMany\",\n\t\ttoModel: normalizeRelationModelSource(toModel),\n\t\tthrough: normalizeRelationModelSource(options.through),\n\t\tfrom: options.from,\n\t\tto: options.to\n\t});\n}\nconst rel = {\n\tbelongsTo,\n\thasMany,\n\thasOne,\n\tmanyToMany\n};\nconst field = {\n\tcolumn: columnField,\n\tgenerated: generatedField,\n\tnamedType: namedTypeField\n};\nfunction isContractInput(value) {\n\tif (typeof value !== \"object\" || value === null || !(\"target\" in value) || !(\"family\" in value)) return false;\n\tconst target = value.target;\n\tconst family = value.family;\n\treturn typeof target === \"object\" && target !== null && \"kind\" in target && target.kind === \"target\" && typeof family === \"object\" && family !== null && \"kind\" in family && family.kind === \"family\";\n}\nfunction isRelationFieldArray(value) {\n\treturn Array.isArray(value);\n}\nfunction normalizeRelationFieldNames(value) {\n\tif (isRelationFieldArray(value)) return value;\n\treturn [value];\n}\nfunction resolveRelationModelName(value) {\n\tif (isLazyRelationModelName(value)) return value.resolve();\n\treturn value.modelName;\n}\nfunction applyNaming(name, strategy) {\n\tif (!strategy || strategy === \"identity\") return name;\n\tlet result = \"\";\n\tfor (let index = 0; index < name.length; index += 1) {\n\t\tconst char = name[index];\n\t\tif (!char) continue;\n\t\tconst lower = char.toLowerCase();\n\t\tif (char !== lower && index > 0) {\n\t\t\tconst prev = name[index - 1];\n\t\t\tconst next = name[index + 1];\n\t\t\tconst prevIsLower = !!prev && prev === prev.toLowerCase();\n\t\t\tconst nextIsLower = !!next && next === next.toLowerCase();\n\t\t\tif (prevIsLower || nextIsLower) result += \"_\";\n\t\t}\n\t\tresult += lower;\n\t}\n\treturn result;\n}\n//#endregion\n//#region src/composed-authoring-helpers.ts\nfunction composeTypeNamespace(components) {\n\treturn composePackAuthoringNamespace(components, \"type\");\n}\nfunction composeFieldNamespace(components) {\n\treturn composePackAuthoringNamespace(components, \"field\");\n}\nfunction composeEntityNamespace(components) {\n\treturn composePackAuthoringNamespace(components, \"entityTypes\");\n}\n/**\n* Reserved top-level keys on the composed helpers surface — the\n* built-in `model` / `rel` helpers, the `field` / `type` namespace\n* objects. Pack-contributed entity types are flattened to the same\n* top-level shape (e.g. `helpers.enum({...})`), so a pack cannot\n* contribute an entity type whose name collides with one of these\n* reserved keys without silently overwriting at runtime. Detect the\n* collision at compose time and fail loudly with a guidance message.\n*/\nconst RESERVED_HELPER_KEYS = [\n\t\"field\",\n\t\"model\",\n\t\"rel\",\n\t\"type\"\n];\nfunction assertNoBuiltInEntityCollisions(namespace) {\n\tconst collisions = Object.keys(namespace).filter((name) => RESERVED_HELPER_KEYS.includes(name));\n\tif (collisions.length > 0) throw contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Pack-contributed entity type(s) ${collisions.map((c) => `\"${c}\"`).join(\", \")} collide with the reserved built-in helper key(s) on the composed helpers surface. Reserved keys: ${RESERVED_HELPER_KEYS.map((k) => `\"${k}\"`).join(\", \")}.`, { meta: {\n\t\tcollisions,\n\t\treservedKeys: RESERVED_HELPER_KEYS\n\t} });\n}\nfunction createComposedFieldHelpers(fieldNamespace) {\n\tconst helperNamespace = createFieldHelpersFromNamespace(fieldNamespace, ({ helperPath, descriptor }) => createFieldPresetHelper({\n\t\thelperPath,\n\t\tdescriptor,\n\t\tbuild: ({ args, namedConstraintOptions }) => buildFieldPreset(descriptor, args, namedConstraintOptions)\n\t}));\n\tconst coreFieldHelpers = {\n\t\tcolumn: field.column,\n\t\tgenerated: field.generated,\n\t\tnamedType: field.namedType\n\t};\n\tconst coreHelperNames = new Set(Object.keys(coreFieldHelpers));\n\tfor (const helperName of Object.keys(helperNamespace)) if (coreHelperNames.has(helperName)) throw contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Duplicate authoring field helper \"${helperName}\". Core field helpers reserve that name.`, { meta: { helperName } });\n\treturn {\n\t\t...coreFieldHelpers,\n\t\t...helperNamespace\n\t};\n}\nfunction createComposedAuthoringHelpers(options) {\n\tconst extensionValues = Object.values(options.extensions ?? {});\n\tconst components = [\n\t\toptions.family,\n\t\toptions.target,\n\t\t...extensionValues\n\t];\n\tconst typeNamespace = composeTypeNamespace(components);\n\tconst fieldNamespace = composeFieldNamespace(components);\n\tconst entityNamespace = composeEntityNamespace(components);\n\tassertNoCrossRegistryCollisions(typeNamespace, fieldNamespace, entityNamespace);\n\tassertNoBuiltInEntityCollisions(entityNamespace);\n\treturn blindCast({\n\t\t...createEntityHelpersFromNamespace(entityNamespace, { ctx: {\n\t\t\tfamily: options.family.familyId,\n\t\t\ttarget: options.target.targetId\n\t\t} }),\n\t\tfield: createComposedFieldHelpers(fieldNamespace),\n\t\tmodel,\n\t\trel,\n\t\ttype: createTypeHelpersFromNamespace(typeNamespace)\n\t});\n}\n//#endregion\n//#region src/contract-warnings.ts\nfunction hasNamedModelToken(models, modelName) {\n\treturn models[modelName]?.stageOne.modelName === modelName;\n}\nfunction formatFieldSelection(fieldNames) {\n\tif (fieldNames.length === 1) return `'${fieldNames[0]}'`;\n\treturn `[${fieldNames.map((fieldName) => `'${fieldName}'`).join(\", \")}]`;\n}\nfunction formatTokenFieldSelection(modelName, fieldNames) {\n\tif (fieldNames.length === 1) return `${modelName}.refs.${fieldNames[0]}`;\n\treturn `[${fieldNames.map((fieldName) => `${modelName}.refs.${fieldName}`).join(\", \")}]`;\n}\nfunction formatConstraintsRefCall(modelName, fieldNames) {\n\tif (fieldNames.length === 1) return `constraints.ref('${modelName}', '${fieldNames[0]}')`;\n\treturn `[${fieldNames.map((fieldName) => `constraints.ref('${modelName}', '${fieldName}')`).join(\", \")}]`;\n}\nfunction formatRelationModelDisplay(relationModel) {\n\tif (relationModel.kind === \"lazyRelationModelName\") return `() => ${relationModel.resolve()}`;\n\treturn relationModel.source === \"string\" ? `'${relationModel.modelName}'` : relationModel.modelName;\n}\nfunction formatRelationCall(relation, targetModelDisplay) {\n\tif (relation.kind === \"belongsTo\") return `rel.belongsTo(${targetModelDisplay}, { from: ${formatFieldSelection(normalizeRelationFieldNames(relation.from))}, to: ${formatFieldSelection(normalizeRelationFieldNames(relation.to))} })`;\n\tif (relation.kind === \"hasMany\" || relation.kind === \"hasOne\") {\n\t\tconst by = formatFieldSelection(normalizeRelationFieldNames(relation.by));\n\t\treturn `rel.${relation.kind}(${targetModelDisplay}, { by: ${by} })`;\n\t}\n\treturn `rel.manyToMany(${targetModelDisplay}, { through: ${formatRelationModelDisplay(relation.through)}, from: ${formatFieldSelection(normalizeRelationFieldNames(relation.from))}, to: ${formatFieldSelection(normalizeRelationFieldNames(relation.to))} })`;\n}\nfunction formatManyToManyCallWithThrough(relation, throughDisplay) {\n\treturn `rel.manyToMany(${formatRelationModelDisplay(relation.toModel)}, { through: ${throughDisplay}, from: ${formatFieldSelection(normalizeRelationFieldNames(relation.from))}, to: ${formatFieldSelection(normalizeRelationFieldNames(relation.to))} })`;\n}\nconst WARNING_BATCH_THRESHOLD = 5;\nfunction flushWarnings(warnings) {\n\tif (warnings.length === 0) return;\n\tif (warnings.length <= WARNING_BATCH_THRESHOLD) {\n\t\tfor (const message of warnings) process.emitWarning(message, { code: \"PN_CONTRACT_TYPED_FALLBACK_AVAILABLE\" });\n\t\treturn;\n\t}\n\tprocess.emitWarning(`${warnings.length} contract references use string fallbacks where typed alternatives are available. Use named model tokens and typed storage type refs for autocomplete and type safety.\n` + warnings.map((w) => ` - ${w}`).join(\"\\n\"), { code: \"PN_CONTRACT_TYPED_FALLBACK_AVAILABLE\" });\n}\nfunction formatFallbackWarning(location, current, suggested) {\n\treturn `Contract ${location} uses ${current}. Use ${suggested} when the named model token is available in the same contract to keep typed relation targets and model refs.`;\n}\nfunction emitTypedNamedTypeFallbackWarnings(models, storageTypes) {\n\tconst warnings = [];\n\tconst warnedFields = /* @__PURE__ */ new Set();\n\tfor (const [modelName, modelDefinition] of Object.entries(models)) for (const [fieldName, fieldBuilder] of Object.entries(modelDefinition.stageOne.fields)) {\n\t\tconst fieldState = fieldBuilder.build();\n\t\tif (typeof fieldState.typeRef !== \"string\" || !(fieldState.typeRef in storageTypes)) continue;\n\t\tconst warningKey = `${modelName}.${fieldName}`;\n\t\tif (warnedFields.has(warningKey)) continue;\n\t\twarnedFields.add(warningKey);\n\t\twarnings.push(`Contract field \"${modelName}.${fieldName}\" uses field.namedType('${fieldState.typeRef}'). Use field.namedType(types.${fieldState.typeRef}) when the storage type is declared in the same contract to keep autocomplete and typed local refs.`);\n\t}\n\tflushWarnings(warnings);\n}\nfunction emitTypedCrossModelFallbackWarnings(collection) {\n\tconst warnings = [];\n\tconst warnedKeys = /* @__PURE__ */ new Set();\n\tfor (const spec of collection.modelSpecs.values()) {\n\t\tfor (const [relationName, relationBuilder] of Object.entries(spec.relations)) {\n\t\t\tconst relation = relationBuilder.build();\n\t\t\tif (relation.toModel.kind === \"relationModelName\" && relation.toModel.source === \"string\" && hasNamedModelToken(collection.models, relation.toModel.modelName)) {\n\t\t\t\tconst warningKey = `${spec.modelName}.${relationName}.toModel`;\n\t\t\t\tif (!warnedKeys.has(warningKey)) {\n\t\t\t\t\twarnedKeys.add(warningKey);\n\t\t\t\t\tconst current = formatRelationCall(relation, `'${relation.toModel.modelName}'`);\n\t\t\t\t\tconst suggested = formatRelationCall(relation, relation.toModel.modelName);\n\t\t\t\t\twarnings.push(formatFallbackWarning(`relation \"${spec.modelName}.${relationName}\"`, current, suggested));\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (relation.kind === \"manyToMany\" && relation.through.kind === \"relationModelName\" && relation.through.source === \"string\" && hasNamedModelToken(collection.models, relation.through.modelName)) {\n\t\t\t\tconst warningKey = `${spec.modelName}.${relationName}.through`;\n\t\t\t\tif (!warnedKeys.has(warningKey)) {\n\t\t\t\t\twarnedKeys.add(warningKey);\n\t\t\t\t\tconst current = formatManyToManyCallWithThrough(relation, `'${relation.through.modelName}'`);\n\t\t\t\t\tconst suggested = formatManyToManyCallWithThrough(relation, relation.through.modelName);\n\t\t\t\t\twarnings.push(formatFallbackWarning(`relation \"${spec.modelName}.${relationName}\"`, current, suggested));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tfor (const [foreignKeyIndex, foreignKey] of (spec.sqlSpec?.foreignKeys ?? []).entries()) {\n\t\t\tif (foreignKey.targetSource !== \"string\" || !hasNamedModelToken(collection.models, foreignKey.targetModel)) continue;\n\t\t\tconst warningKey = `${spec.modelName}.sql.foreignKeys.${foreignKeyIndex}`;\n\t\t\tif (warnedKeys.has(warningKey)) continue;\n\t\t\twarnedKeys.add(warningKey);\n\t\t\tconst current = formatConstraintsRefCall(foreignKey.targetModel, foreignKey.targetFields);\n\t\t\tconst suggested = formatTokenFieldSelection(foreignKey.targetModel, foreignKey.targetFields);\n\t\t\twarnings.push(formatFallbackWarning(`model \"${spec.modelName}\"`, `${current} in .sql(...)`, suggested));\n\t\t}\n\t}\n\tflushWarnings(warnings);\n}\n//#endregion\n//#region src/contract-lowering.ts\nfunction buildStorageTypeReverseLookup(storageTypes) {\n\tconst lookup = /* @__PURE__ */ new Map();\n\tfor (const [key, instance] of Object.entries(storageTypes)) lookup.set(instance, key);\n\treturn lookup;\n}\nfunction resolveFieldDescriptor(modelName, fieldName, fieldState, storageTypes, storageTypeReverseLookup) {\n\tif (\"descriptor\" in fieldState && fieldState.descriptor) return fieldState.descriptor;\n\tif (\"typeRef\" in fieldState && fieldState.typeRef) {\n\t\tif (isEnumTypeHandle(fieldState.typeRef)) return {\n\t\t\tcodecId: fieldState.typeRef.codecId,\n\t\t\tnativeType: fieldState.typeRef.nativeType\n\t\t};\n\t\tconst typeRef = typeof fieldState.typeRef === \"string\" ? fieldState.typeRef : storageTypeReverseLookup.get(fieldState.typeRef);\n\t\tif (!typeRef) throw contractError(\"CONTRACT.TYPE_UNKNOWN\", `Field \"${modelName}.${fieldName}\" references a storage type instance that is not present in definition.types`, { meta: {\n\t\t\tmodelName,\n\t\t\tfieldName,\n\t\t\treason: \"instance-not-in-definition-types\"\n\t\t} });\n\t\tconst referencedType = storageTypes[typeRef];\n\t\tif (!referencedType) throw contractError(\"CONTRACT.TYPE_UNKNOWN\", `Field \"${modelName}.${fieldName}\" references unknown storage type \"${typeRef}\"`, { meta: {\n\t\t\tmodelName,\n\t\t\tfieldName,\n\t\t\ttypeRef\n\t\t} });\n\t\treturn {\n\t\t\tcodecId: referencedType.codecId,\n\t\t\tnativeType: referencedType.nativeType,\n\t\t\ttypeRef\n\t\t};\n\t}\n\tthrow contractError(\"CONTRACT.TYPE_UNKNOWN\", `Field \"${modelName}.${fieldName}\" does not resolve to a storage descriptor`, { meta: {\n\t\tmodelName,\n\t\tfieldName,\n\t\treason: \"unresolved-storage-descriptor\"\n\t} });\n}\nfunction mapFieldNamesToColumnNames(modelName, fieldNames, fieldToColumn) {\n\treturn fieldNames.map((fieldName) => {\n\t\tconst columnName = fieldToColumn[fieldName];\n\t\tif (!columnName) throw contractError(\"CONTRACT.FIELD_UNKNOWN\", `Unknown field \"${modelName}.${fieldName}\" in contract definition`, { meta: {\n\t\t\tmodelName,\n\t\t\tfieldName\n\t\t} });\n\t\treturn columnName;\n\t});\n}\nfunction assertRelationFieldArity(params) {\n\tif (params.leftFields.length === params.rightFields.length) return;\n\tthrow contractError(\"CONTRACT.RELATION_INVALID\", `Relation \"${params.modelName}.${params.relationName}\" maps ${params.leftFields.length} ${params.leftLabel} field(s) to ${params.rightFields.length} ${params.rightLabel} field(s).`, { meta: {\n\t\tmodelName: params.modelName,\n\t\trelationName: params.relationName,\n\t\treason: \"field-count-mismatch\"\n\t} });\n}\nfunction resolveInlineIdConstraint(spec) {\n\tconst inlineIdFields = [];\n\tlet idName;\n\tfor (const [fieldName, fieldBuilder] of Object.entries(spec.fieldBuilders)) {\n\t\tconst fieldState = fieldBuilder.build();\n\t\tif (!fieldState.id) continue;\n\t\tinlineIdFields.push(fieldName);\n\t\tif (fieldState.id.name) idName = fieldState.id.name;\n\t}\n\tif (inlineIdFields.length === 0) return;\n\tif (inlineIdFields.length > 1) throw contractError(\"CONTRACT.IDENTITY_INVALID\", `Model \"${spec.modelName}\" marks multiple fields with .id(). Use .attributes(...) for compound identities.`, { meta: {\n\t\tmodelName: spec.modelName,\n\t\treason: \"multiple-inline-ids\",\n\t\tfields: inlineIdFields\n\t} });\n\tconst [inlineIdField] = inlineIdFields;\n\tif (!inlineIdField) return;\n\treturn {\n\t\tkind: \"id\",\n\t\tfields: [inlineIdField],\n\t\t...idName ? { name: idName } : {}\n\t};\n}\nfunction collectInlineUniqueConstraints(spec) {\n\tconst constraints = [];\n\tfor (const [fieldName, fieldBuilder] of Object.entries(spec.fieldBuilders)) {\n\t\tconst fieldState = fieldBuilder.build();\n\t\tif (!fieldState.unique) continue;\n\t\tconstraints.push({\n\t\t\tkind: \"unique\",\n\t\t\tfields: [fieldName],\n\t\t\t...fieldState.unique.name ? { name: fieldState.unique.name } : {}\n\t\t});\n\t}\n\treturn constraints;\n}\nfunction resolveModelIdConstraint(spec) {\n\tconst inlineId = resolveInlineIdConstraint(spec);\n\tconst attributeId = spec.attributesSpec?.id;\n\tif (inlineId && attributeId) throw contractError(\"CONTRACT.IDENTITY_INVALID\", `Model \"${spec.modelName}\" defines identity both inline and in .attributes(...). Pick one identity style.`, { meta: {\n\t\tmodelName: spec.modelName,\n\t\treason: \"inline-and-attributes\"\n\t} });\n\tconst resolvedId = attributeId ?? inlineId;\n\tif (resolvedId && resolvedId.fields.length === 0) throw contractError(\"CONTRACT.IDENTITY_INVALID\", `Model \"${spec.modelName}\" defines an empty identity. Add at least one field.`, { meta: {\n\t\tmodelName: spec.modelName,\n\t\treason: \"empty-identity\"\n\t} });\n\treturn resolvedId;\n}\nfunction resolveModelUniqueConstraints(spec) {\n\tconst attributeUniques = spec.attributesSpec?.uniques ?? [];\n\tfor (const unique of attributeUniques) if (unique.fields.length === 0) throw contractError(\"CONTRACT.CONSTRAINT_INVALID\", `Model \"${spec.modelName}\" defines an empty unique constraint. Add at least one field.`, { meta: { modelName: spec.modelName } });\n\treturn [...collectInlineUniqueConstraints(spec), ...attributeUniques];\n}\nfunction resolveRelationForeignKeys(spec, allSpecs) {\n\tconst foreignKeys = [];\n\tfor (const [relationName, relationBuilder] of Object.entries(spec.relations)) {\n\t\tconst relation = relationBuilder.build();\n\t\tif (relation.kind !== \"belongsTo\" || !relation.sql?.fk) continue;\n\t\tconst targetModelName = resolveRelationModelName(relation.toModel);\n\t\tif (relation.spaceId !== void 0) {\n\t\t\tconst fields = normalizeRelationFieldNames(relation.from);\n\t\t\tconst targetFields = normalizeRelationFieldNames(relation.to);\n\t\t\tassertRelationFieldArity({\n\t\t\t\tmodelName: spec.modelName,\n\t\t\t\trelationName,\n\t\t\t\tleftLabel: \"source\",\n\t\t\t\tleftFields: fields,\n\t\t\t\trightLabel: \"target\",\n\t\t\t\trightFields: targetFields\n\t\t\t});\n\t\t\tforeignKeys.push({\n\t\t\t\tkind: \"fk\",\n\t\t\t\tfields,\n\t\t\t\ttargetModel: targetModelName,\n\t\t\t\ttargetFields,\n\t\t\t\ttargetSpaceId: relation.spaceId,\n\t\t\t\t...relation.namespaceId !== void 0 ? { targetNamespaceId: relation.namespaceId } : {},\n\t\t\t\t...relation.tableName !== void 0 ? { targetTableName: relation.tableName } : {},\n\t\t\t\t...relation.sql.fk.name ? { name: relation.sql.fk.name } : {},\n\t\t\t\t...relation.sql.fk.onDelete ? { onDelete: relation.sql.fk.onDelete } : {},\n\t\t\t\t...relation.sql.fk.onUpdate ? { onUpdate: relation.sql.fk.onUpdate } : {},\n\t\t\t\t...relation.sql.fk.constraint !== void 0 ? { constraint: relation.sql.fk.constraint } : {},\n\t\t\t\t...relation.sql.fk.index !== void 0 ? { index: relation.sql.fk.index } : {}\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (!allSpecs.has(targetModelName)) throw contractError(\"CONTRACT.MODEL_UNKNOWN\", `Relation \"${spec.modelName}.${relationName}\" references unknown model \"${targetModelName}\"`, { meta: {\n\t\t\tsourceModel: spec.modelName,\n\t\t\trelationName,\n\t\t\ttargetModel: targetModelName\n\t\t} });\n\t\tconst fields = normalizeRelationFieldNames(relation.from);\n\t\tconst targetFields = normalizeRelationFieldNames(relation.to);\n\t\tassertRelationFieldArity({\n\t\t\tmodelName: spec.modelName,\n\t\t\trelationName,\n\t\t\tleftLabel: \"source\",\n\t\t\tleftFields: fields,\n\t\t\trightLabel: \"target\",\n\t\t\trightFields: targetFields\n\t\t});\n\t\tforeignKeys.push({\n\t\t\tkind: \"fk\",\n\t\t\tfields,\n\t\t\ttargetModel: targetModelName,\n\t\t\ttargetFields,\n\t\t\t...relation.sql.fk.name ? { name: relation.sql.fk.name } : {},\n\t\t\t...relation.sql.fk.onDelete ? { onDelete: relation.sql.fk.onDelete } : {},\n\t\t\t...relation.sql.fk.onUpdate ? { onUpdate: relation.sql.fk.onUpdate } : {},\n\t\t\t...relation.sql.fk.constraint !== void 0 ? { constraint: relation.sql.fk.constraint } : {},\n\t\t\t...relation.sql.fk.index !== void 0 ? { index: relation.sql.fk.index } : {}\n\t\t});\n\t}\n\treturn foreignKeys;\n}\nfunction resolveRelationAnchorFields(spec) {\n\tconst idFields = spec.idConstraint?.fields;\n\tif (idFields && idFields.length > 0) return idFields;\n\tif (\"id\" in spec.fieldToColumn) return [\"id\"];\n\tthrow contractError(\"CONTRACT.IDENTITY_INVALID\", `Model \"${spec.modelName}\" needs an explicit id or an \"id\" field to anchor non-owning relations`, { meta: {\n\t\tmodelName: spec.modelName,\n\t\treason: \"missing-anchor-id\"\n\t} });\n}\nfunction belongsToNullable(relationName, declaredNullable, spec, fieldNames) {\n\tconst { nullable, contradiction } = resolveToOneRelationNullable({\n\t\tdeclaredNullable,\n\t\tlocalFieldNullability: fieldNames.map((fieldName) => spec.fieldBuilders[fieldName]?.build().nullable === true),\n\t\townsReference: true\n\t});\n\tif (contradiction !== void 0) throw contractError(\"CONTRACT.RELATION_INVALID\", toOneNullabilityContradictionMessage(`Relation \"${spec.modelName}.${relationName}\"`, contradiction), { meta: {\n\t\tmodelName: spec.modelName,\n\t\trelationName,\n\t\treason: \"to-one-nullability-mismatch\"\n\t} });\n\treturn nullable;\n}\nfunction lowerBelongsToRelation(relationName, relation, currentSpec, allSpecs, extensions) {\n\tconst targetModelName = resolveRelationModelName(relation.toModel);\n\tconst fromFields = normalizeRelationFieldNames(relation.from);\n\tconst toFields = normalizeRelationFieldNames(relation.to);\n\tassertRelationFieldArity({\n\t\tmodelName: currentSpec.modelName,\n\t\trelationName,\n\t\tleftLabel: \"source\",\n\t\tleftFields: fromFields,\n\t\trightLabel: \"target\",\n\t\trightFields: toFields\n\t});\n\tif (relation.spaceId !== void 0) {\n\t\tassertKnownExtensionPack(extensions, relation.spaceId, `Relation \"${currentSpec.modelName}.${relationName}\"`);\n\t\tconst parentColumns = mapFieldNamesToColumnNames(currentSpec.modelName, fromFields, currentSpec.fieldToColumn);\n\t\treturn {\n\t\t\tfieldName: relationName,\n\t\t\ttoModel: targetModelName,\n\t\t\ttoTable: relation.tableName,\n\t\t\tcardinality: \"N:1\",\n\t\t\tnullable: belongsToNullable(relationName, relation.optional, currentSpec, fromFields),\n\t\t\tspaceId: relation.spaceId,\n\t\t\t...relation.namespaceId !== void 0 ? { namespaceId: relation.namespaceId } : {},\n\t\t\ton: {\n\t\t\t\tparentTable: currentSpec.tableName,\n\t\t\t\tparentColumns,\n\t\t\t\tchildTable: relation.tableName,\n\t\t\t\tchildColumns: toFields\n\t\t\t}\n\t\t};\n\t}\n\tconst targetSpec = allSpecs.get(targetModelName);\n\tif (!targetSpec) throw contractError(\"CONTRACT.MODEL_UNKNOWN\", `Relation \"${currentSpec.modelName}.${relationName}\" references unknown model \"${targetModelName}\"`, { meta: {\n\t\tsourceModel: currentSpec.modelName,\n\t\trelationName,\n\t\ttargetModel: targetModelName\n\t} });\n\treturn {\n\t\tfieldName: relationName,\n\t\ttoModel: targetModelName,\n\t\ttoTable: targetSpec.tableName,\n\t\tcardinality: \"N:1\",\n\t\tnullable: belongsToNullable(relationName, relation.optional, currentSpec, fromFields),\n\t\ton: {\n\t\t\tparentTable: currentSpec.tableName,\n\t\t\tparentColumns: mapFieldNamesToColumnNames(currentSpec.modelName, fromFields, currentSpec.fieldToColumn),\n\t\t\tchildTable: targetSpec.tableName,\n\t\t\tchildColumns: mapFieldNamesToColumnNames(targetSpec.modelName, toFields, targetSpec.fieldToColumn)\n\t\t}\n\t};\n}\nfunction lowerHasOwnershipRelation(relationName, relation, currentSpec, allSpecs) {\n\tconst targetModelName = resolveRelationModelName(relation.toModel);\n\tconst targetSpec = allSpecs.get(targetModelName);\n\tif (!targetSpec) throw contractError(\"CONTRACT.MODEL_UNKNOWN\", `Relation \"${currentSpec.modelName}.${relationName}\" references unknown model \"${targetModelName}\"`, { meta: {\n\t\tsourceModel: currentSpec.modelName,\n\t\trelationName,\n\t\ttargetModel: targetModelName\n\t} });\n\tconst parentFields = resolveRelationAnchorFields(currentSpec);\n\tconst childFields = normalizeRelationFieldNames(relation.by);\n\tassertRelationFieldArity({\n\t\tmodelName: currentSpec.modelName,\n\t\trelationName,\n\t\tleftLabel: \"anchor\",\n\t\tleftFields: parentFields,\n\t\trightLabel: \"child\",\n\t\trightFields: childFields\n\t});\n\treturn {\n\t\tfieldName: relationName,\n\t\ttoModel: targetModelName,\n\t\ttoTable: targetSpec.tableName,\n\t\t...relation.kind === \"hasMany\" ? { cardinality: \"1:N\" } : {\n\t\t\tcardinality: \"1:1\",\n\t\t\tnullable: true\n\t\t},\n\t\ton: {\n\t\t\tparentTable: currentSpec.tableName,\n\t\t\tparentColumns: mapFieldNamesToColumnNames(currentSpec.modelName, parentFields, currentSpec.fieldToColumn),\n\t\t\tchildTable: targetSpec.tableName,\n\t\t\tchildColumns: mapFieldNamesToColumnNames(targetSpec.modelName, childFields, targetSpec.fieldToColumn)\n\t\t}\n\t};\n}\nfunction lowerManyToManyRelation(relationName, relation, currentSpec, allSpecs) {\n\tconst targetModelName = resolveRelationModelName(relation.toModel);\n\tconst targetSpec = allSpecs.get(targetModelName);\n\tif (!targetSpec) throw contractError(\"CONTRACT.MODEL_UNKNOWN\", `Relation \"${currentSpec.modelName}.${relationName}\" references unknown model \"${targetModelName}\"`, { meta: {\n\t\tsourceModel: currentSpec.modelName,\n\t\trelationName,\n\t\ttargetModel: targetModelName\n\t} });\n\tconst throughModelName = resolveRelationModelName(relation.through);\n\tconst throughSpec = allSpecs.get(throughModelName);\n\tif (!throughSpec) throw contractError(\"CONTRACT.MODEL_UNKNOWN\", `Relation \"${currentSpec.modelName}.${relationName}\" references unknown through model \"${throughModelName}\"`, { meta: {\n\t\tsourceModel: currentSpec.modelName,\n\t\trelationName,\n\t\ttargetModel: throughModelName\n\t} });\n\tconst currentAnchorFields = resolveRelationAnchorFields(currentSpec);\n\tconst targetAnchorFields = resolveRelationAnchorFields(targetSpec);\n\tconst throughFromFields = normalizeRelationFieldNames(relation.from);\n\tconst throughToFields = normalizeRelationFieldNames(relation.to);\n\tif (currentAnchorFields.length !== throughFromFields.length || targetAnchorFields.length !== throughToFields.length) throw contractError(\"CONTRACT.RELATION_INVALID\", `Relation \"${currentSpec.modelName}.${relationName}\" has mismatched many-to-many field counts.`, { meta: {\n\t\tmodelName: currentSpec.modelName,\n\t\trelationName,\n\t\treason: \"many-to-many-field-count-mismatch\"\n\t} });\n\treturn {\n\t\tfieldName: relationName,\n\t\ttoModel: targetModelName,\n\t\ttoTable: targetSpec.tableName,\n\t\tcardinality: \"N:M\",\n\t\tthrough: {\n\t\t\ttable: throughSpec.tableName,\n\t\t\t...ifDefined(\"namespaceId\", throughSpec.namespace),\n\t\t\tparentColumns: mapFieldNamesToColumnNames(throughSpec.modelName, throughFromFields, throughSpec.fieldToColumn),\n\t\t\tchildColumns: mapFieldNamesToColumnNames(throughSpec.modelName, throughToFields, throughSpec.fieldToColumn)\n\t\t},\n\t\ton: {\n\t\t\tparentTable: currentSpec.tableName,\n\t\t\tparentColumns: mapFieldNamesToColumnNames(currentSpec.modelName, currentAnchorFields, currentSpec.fieldToColumn),\n\t\t\tchildTable: throughSpec.tableName,\n\t\t\tchildColumns: mapFieldNamesToColumnNames(throughSpec.modelName, throughFromFields, throughSpec.fieldToColumn)\n\t\t}\n\t};\n}\nfunction resolveRelationNode(relationName, relation, currentSpec, allSpecs, extensions) {\n\tif (relation.kind === \"belongsTo\") return lowerBelongsToRelation(relationName, relation, currentSpec, allSpecs, extensions);\n\tif (relation.kind === \"hasMany\" || relation.kind === \"hasOne\") return lowerHasOwnershipRelation(relationName, relation, currentSpec, allSpecs);\n\treturn lowerManyToManyRelation(relationName, relation, currentSpec, allSpecs);\n}\nfunction lowerLocalForeignKeyNode(spec, targetSpec, foreignKey) {\n\treturn {\n\t\tcolumns: mapFieldNamesToColumnNames(spec.modelName, foreignKey.fields, spec.fieldToColumn),\n\t\treferences: {\n\t\t\tmodel: targetSpec.modelName,\n\t\t\ttable: targetSpec.tableName,\n\t\t\tcolumns: mapFieldNamesToColumnNames(targetSpec.modelName, foreignKey.targetFields, targetSpec.fieldToColumn)\n\t\t},\n\t\t...foreignKey.name ? { name: foreignKey.name } : {},\n\t\t...foreignKey.onDelete ? { onDelete: foreignKey.onDelete } : {},\n\t\t...foreignKey.onUpdate ? { onUpdate: foreignKey.onUpdate } : {},\n\t\t...foreignKey.constraint !== void 0 ? { constraint: foreignKey.constraint } : {},\n\t\t...foreignKey.index !== void 0 ? { index: foreignKey.index } : {}\n\t};\n}\nfunction lowerCrossSpaceForeignKeyNode(spec, foreignKey) {\n\tif (foreignKey.targetTableName === void 0) throw contractError(\"CONTRACT.FOREIGN_KEY_INVALID\", `Foreign key on \"${spec.modelName}\" references model \"${foreignKey.targetModel}\" in contract space \"${foreignKey.targetSpaceId}\" but the target table name is unknown: the handle's .sql() stage is a factory function, so its table cannot be read statically. Declare the target model's .sql() stage with a static object carrying \\`table\\`.`, { meta: {\n\t\tsourceModel: spec.modelName,\n\t\ttargetModel: foreignKey.targetModel,\n\t\tspaceId: foreignKey.targetSpaceId\n\t} });\n\treturn {\n\t\tcolumns: mapFieldNamesToColumnNames(spec.modelName, foreignKey.fields, spec.fieldToColumn),\n\t\treferences: {\n\t\t\tmodel: foreignKey.targetModel,\n\t\t\ttable: foreignKey.targetTableName,\n\t\t\tcolumns: foreignKey.targetFields,\n\t\t\t...foreignKey.targetNamespaceId !== void 0 ? { namespaceId: foreignKey.targetNamespaceId } : {},\n\t\t\tspaceId: foreignKey.targetSpaceId\n\t\t},\n\t\t...foreignKey.name ? { name: foreignKey.name } : {},\n\t\t...foreignKey.onDelete ? { onDelete: foreignKey.onDelete } : {},\n\t\t...foreignKey.onUpdate ? { onUpdate: foreignKey.onUpdate } : {},\n\t\t...foreignKey.constraint !== void 0 ? { constraint: foreignKey.constraint } : {},\n\t\t...foreignKey.index !== void 0 ? { index: foreignKey.index } : {}\n\t};\n}\nfunction assertKnownExtensionPack(extensions, spaceId, context) {\n\tif (extensions !== void 0 && Object.hasOwn(extensions, spaceId)) return;\n\tthrow contractError(\"CONTRACT.PACK_MISSING\", `${context} references contract space \"${spaceId}\" but \"${spaceId}\" is not declared in extensions. Add the pack to extensions.`, { meta: {\n\t\tspaceId,\n\t\tcontext\n\t} });\n}\nfunction resolveForeignKeyNodes(spec, allSpecs, extensions) {\n\tconst relationForeignKeys = resolveRelationForeignKeys(spec, allSpecs).map((foreignKey) => {\n\t\tif (foreignKey.targetSpaceId !== void 0) {\n\t\t\tassertKnownExtensionPack(extensions, foreignKey.targetSpaceId, `Relation-derived foreign key on \"${spec.modelName}\"`);\n\t\t\treturn lowerCrossSpaceForeignKeyNode(spec, {\n\t\t\t\t...foreignKey,\n\t\t\t\ttargetSpaceId: foreignKey.targetSpaceId\n\t\t\t});\n\t\t}\n\t\tconst targetSpec = allSpecs.get(foreignKey.targetModel);\n\t\tif (!targetSpec) throw contractError(\"CONTRACT.MODEL_UNKNOWN\", `Foreign key on \"${spec.modelName}\" references unknown model \"${foreignKey.targetModel}\"`, { meta: {\n\t\t\tsourceModel: spec.modelName,\n\t\t\ttargetModel: foreignKey.targetModel\n\t\t} });\n\t\treturn lowerLocalForeignKeyNode(spec, targetSpec, foreignKey);\n\t});\n\tconst sqlForeignKeys = (spec.sqlSpec?.foreignKeys ?? []).map((foreignKey) => {\n\t\tif (foreignKey.targetSpaceId !== void 0) {\n\t\t\tassertKnownExtensionPack(extensions, foreignKey.targetSpaceId, `Foreign key on \"${spec.modelName}\"`);\n\t\t\treturn lowerCrossSpaceForeignKeyNode(spec, {\n\t\t\t\t...foreignKey,\n\t\t\t\ttargetSpaceId: foreignKey.targetSpaceId\n\t\t\t});\n\t\t}\n\t\tconst targetSpec = allSpecs.get(foreignKey.targetModel);\n\t\tif (!targetSpec) throw contractError(\"CONTRACT.MODEL_UNKNOWN\", `Foreign key on \"${spec.modelName}\" references unknown model \"${foreignKey.targetModel}\"`, { meta: {\n\t\t\tsourceModel: spec.modelName,\n\t\t\ttargetModel: foreignKey.targetModel\n\t\t} });\n\t\treturn lowerLocalForeignKeyNode(spec, targetSpec, foreignKey);\n\t});\n\treturn [...relationForeignKeys, ...sqlForeignKeys];\n}\n/**\n* Resolves a deferred index expression's field refs the way the field-tuple form\n* resolves its columns, and pairs each with the codec the column stores through\n* so a renderer can refuse a column it cannot express.\n*/\nfunction resolveDeferredColumns(spec, expression, fieldCodecIds) {\n\tconst fieldNames = expression.fields.map((ref) => ref.fieldName);\n\tconst columnNames = mapFieldNamesToColumnNames(spec.modelName, fieldNames, spec.fieldToColumn);\n\treturn fieldNames.map((fieldName, position) => {\n\t\tconst name = columnNames[position];\n\t\tconst codecId = fieldCodecIds[fieldName];\n\t\tif (name === void 0 || codecId === void 0) throw new InternalError(`Deferred index expression on \"${spec.modelName}\" resolved no column for field \"${fieldName}\"`);\n\t\treturn {\n\t\t\tname,\n\t\t\tcodecId\n\t\t};\n\t});\n}\nfunction resolveModelNode(spec, allSpecs, storageTypes, storageTypeReverseLookup, extensions) {\n\tconst fields = [];\n\t/** Filled by the field loop below, read by a deferred index expression. */\n\tconst fieldCodecIds = {};\n\tfor (const [fieldName, fieldBuilder] of Object.entries(spec.fieldBuilders)) {\n\t\tconst fieldState = fieldBuilder.build();\n\t\tconst descriptor = resolveFieldDescriptor(spec.modelName, fieldName, fieldState, storageTypes, storageTypeReverseLookup);\n\t\tconst columnName = spec.fieldToColumn[fieldName];\n\t\tif (!columnName) throw new InternalError(`Column name resolution failed for \"${spec.modelName}.${fieldName}\"`);\n\t\tfieldCodecIds[fieldName] = descriptor.codecId;\n\t\tconst enumHandle = \"typeRef\" in fieldState && isEnumTypeHandle(fieldState.typeRef) ? fieldState.typeRef : void 0;\n\t\tfields.push({\n\t\t\tfieldName,\n\t\t\tcolumnName,\n\t\t\tdescriptor,\n\t\t\tnullable: fieldState.nullable,\n\t\t\t...fieldState.many === true ? { many: true } : {},\n\t\t\t...fieldState.noCheck !== void 0 ? { noCheck: fieldState.noCheck } : {},\n\t\t\t...fieldState.default ? { default: fieldState.default } : {},\n\t\t\t...fieldState.executionDefaults ? { executionDefaults: fieldState.executionDefaults } : {},\n\t\t\t...enumHandle !== void 0 ? { enumTypeHandle: enumHandle } : {}\n\t\t});\n\t}\n\tconst { idConstraint } = spec;\n\tconst uniques = resolveModelUniqueConstraints(spec).map((unique) => ({\n\t\tcolumns: mapFieldNamesToColumnNames(spec.modelName, unique.fields, spec.fieldToColumn),\n\t\t...unique.name ? { name: unique.name } : {}\n\t}));\n\tconst indexes = (spec.sqlSpec?.indexes ?? []).map((index) => {\n\t\tconst method = blindCast({\n\t\t\ttype: index.type,\n\t\t\toptions: index.options\n\t\t});\n\t\tconst carried = {\n\t\t\twhere: index.where,\n\t\t\tunique: index.unique,\n\t\t\tname: index.name,\n\t\t\tmap: index.map,\n\t\t\t...method\n\t\t};\n\t\treturn index.expression !== void 0 ? {\n\t\t\t...carried,\n\t\t\texpression: typeof index.expression === \"string\" ? index.expression : index.expression.render(resolveDeferredColumns(spec, index.expression, fieldCodecIds))\n\t\t} : {\n\t\t\t...carried,\n\t\t\tcolumns: mapFieldNamesToColumnNames(spec.modelName, index.fields ?? [], spec.fieldToColumn)\n\t\t};\n\t});\n\tconst checks = (spec.sqlSpec?.checks ?? []).map((authoredCheck) => ({\n\t\texpression: authoredCheck.expression,\n\t\tname: authoredCheck.name,\n\t\tmap: authoredCheck.map\n\t}));\n\tconst foreignKeys = resolveForeignKeyNodes(spec, allSpecs, extensions);\n\tconst relations = Object.entries(spec.relations).map(([relationName, relationBuilder]) => resolveRelationNode(relationName, relationBuilder.build(), spec, allSpecs, extensions));\n\treturn {\n\t\tmodelName: spec.modelName,\n\t\ttableName: spec.tableName,\n\t\t...spec.namespace !== void 0 ? { namespaceId: spec.namespace } : {},\n\t\tfields,\n\t\t...idConstraint ? { id: {\n\t\t\tcolumns: mapFieldNamesToColumnNames(spec.modelName, idConstraint.fields, spec.fieldToColumn),\n\t\t\t...idConstraint.name ? { name: idConstraint.name } : {}\n\t\t} } : {},\n\t\t...uniques.length > 0 ? { uniques } : {},\n\t\t...indexes.length > 0 ? { indexes } : {},\n\t\t...checks.length > 0 ? { checks } : {},\n\t\t...foreignKeys.length > 0 ? { foreignKeys } : {},\n\t\t...relations.length > 0 ? { relations } : {},\n\t\t...ifDefined(\"control\", spec.sqlSpec?.control)\n\t};\n}\nfunction collectRuntimeModelSpecs(definition) {\n\tconst storageTypes = { ...definition.types ?? {} };\n\tconst models = { ...definition.models ?? {} };\n\temitTypedNamedTypeFallbackWarnings(models, storageTypes);\n\tconst modelSpecs = /* @__PURE__ */ new Map();\n\tconst tableOwners = /* @__PURE__ */ new Map();\n\tfor (const [modelName, modelDefinition] of Object.entries(models)) {\n\t\tconst tokenModelName = modelDefinition.stageOne.modelName;\n\t\tif (tokenModelName && tokenModelName !== modelName) throw contractError(\"CONTRACT.MODEL_TOKEN_INVALID\", `Model token \"${tokenModelName}\" must be assigned to models.${tokenModelName}. Received models.${modelName}.`, { meta: {\n\t\t\ttokenModelName,\n\t\t\tassignedKey: modelName\n\t\t} });\n\t\tconst attributesSpec = modelDefinition.buildAttributesSpec();\n\t\tconst sqlSpec = modelDefinition.buildSqlSpec();\n\t\tconst tableName = sqlSpec?.table ?? applyNaming(modelName, definition.naming?.tables);\n\t\tconst namespaceId = modelDefinition.stageOne.namespace ?? definition.target.defaultNamespaceId;\n\t\tconst tableKey = JSON.stringify([namespaceId, tableName]);\n\t\tconst existingModel = tableOwners.get(tableKey);\n\t\tif (existingModel) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `Models \"${existingModel}\" and \"${modelName}\" both map to table \"${tableName}\".`, { meta: {\n\t\t\tkind: \"table\",\n\t\t\tname: tableName,\n\t\t\tfirst: existingModel,\n\t\t\tsecond: modelName\n\t\t} });\n\t\ttableOwners.set(tableKey, modelName);\n\t\tconst fieldToColumn = {};\n\t\tconst columnOwners = /* @__PURE__ */ new Map();\n\t\tfor (const [fieldName, fieldBuilder] of Object.entries(modelDefinition.stageOne.fields)) {\n\t\t\tconst columnName = fieldBuilder.build().columnName ?? applyNaming(fieldName, definition.naming?.columns);\n\t\t\tconst existingField = columnOwners.get(columnName);\n\t\t\tif (existingField) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `Model \"${modelName}\" maps both \"${existingField}\" and \"${fieldName}\" to column \"${columnName}\".`, { meta: {\n\t\t\t\tkind: \"column\",\n\t\t\t\tname: columnName,\n\t\t\t\tfirst: existingField,\n\t\t\t\tsecond: fieldName\n\t\t\t} });\n\t\t\tcolumnOwners.set(columnName, fieldName);\n\t\t\tfieldToColumn[fieldName] = columnName;\n\t\t}\n\t\tconst fieldBuilders = modelDefinition.stageOne.fields;\n\t\tconst idConstraint = resolveModelIdConstraint({\n\t\t\tmodelName,\n\t\t\tfieldBuilders,\n\t\t\tattributesSpec\n\t\t});\n\t\tmodelSpecs.set(modelName, {\n\t\t\tmodelName,\n\t\t\ttableName,\n\t\t\tnamespace: modelDefinition.stageOne.namespace,\n\t\t\tfieldBuilders,\n\t\t\tfieldToColumn,\n\t\t\trelations: modelDefinition.stageOne.relations,\n\t\t\tattributesSpec,\n\t\t\tsqlSpec,\n\t\t\tidConstraint\n\t\t});\n\t}\n\treturn {\n\t\tstorageTypes,\n\t\tmodels,\n\t\tmodelSpecs\n\t};\n}\nfunction lowerModels(collection, extensions) {\n\temitTypedCrossModelFallbackWarnings(collection);\n\tconst storageTypeReverseLookup = buildStorageTypeReverseLookup(collection.storageTypes);\n\treturn Array.from(collection.modelSpecs.values()).map((spec) => resolveModelNode(spec, collection.modelSpecs, collection.storageTypes, storageTypeReverseLookup, extensions));\n}\n/**\n* Kind-agnostic walk over the author-declared `entities` handle list:\n*\n* 1. Index the bound packs' `entityTypes` contributions by discriminator so\n* each handle's `entityKind` maps to the pack that registered it; a\n* handle whose kind no composed pack registers is an error naming the\n* kind.\n* 2. Resolve each handle's declared model refs (`handle.refs`, actual\n* model-handle objects) to storage table coordinates — identity against\n* the contract's `models` record first, then the handle's declared model\n* name against the build's model specs; never by re-deriving a table\n* name. A cross-space (extensionModel) handle resolves to its own\n* coordinate annotated with `spaceId`.\n* 3. Call each owning pack's batch lowering hook once with all of its\n* claimed handles, and fold the returned rows into the namespace-scoped\n* attachments (namespace → kind → key), rejecting two different entities\n* in one slot. The result becomes `ContractDefinition.attachedEntities`.\n*\n* No entity kind is named anywhere in this walk.\n*/\nfunction lowerPackEntityHandles(definition, modelSpecs) {\n\tconst entities = definition.entities;\n\tif (entities === void 0 || entities.length === 0) return void 0;\n\tconst components = [definition.target, ...Object.values(definition.extensions ?? {})];\n\tconst owningComponent = /* @__PURE__ */ new Map();\n\tconst walkEntityTypes = (namespace, component) => {\n\t\tfor (const value of Object.values(namespace)) if (isAuthoringEntityTypeDescriptor(value)) owningComponent.set(value.discriminator, component);\n\t\telse walkEntityTypes(value, component);\n\t};\n\tfor (const component of components) {\n\t\tconst entityTypes = component.authoring?.entityTypes;\n\t\tif (entityTypes !== void 0) walkEntityTypes(entityTypes, component);\n\t}\n\tconst defaultNamespaceId = definition.target.defaultNamespaceId;\n\tconst modelNamesByIdentity = /* @__PURE__ */ new Map();\n\tfor (const [modelName, modelBuilder] of Object.entries(definition.models ?? {})) modelNamesByIdentity.set(modelBuilder, modelName);\n\tconst coordinateOf = (modelName) => {\n\t\tconst spec = modelSpecs.get(modelName);\n\t\tif (spec === void 0) return void 0;\n\t\treturn {\n\t\t\tkind: \"resolved\",\n\t\t\tnamespaceId: spec.namespace ?? defaultNamespaceId,\n\t\t\ttableName: spec.tableName,\n\t\t\tmodelName\n\t\t};\n\t};\n\tconst declaredModelName = (value) => {\n\t\tif (typeof value !== \"object\" || value === null || !(\"stageOne\" in value)) return void 0;\n\t\tconst stageOne = value.stageOne;\n\t\tif (typeof stageOne !== \"object\" || stageOne === null || !(\"modelName\" in stageOne)) return;\n\t\treturn typeof stageOne.modelName === \"string\" ? stageOne.modelName : void 0;\n\t};\n\tconst resolveRef = (value) => {\n\t\tconst modelName = declaredModelName(value);\n\t\tif (isCrossSpaceHandle(value)) {\n\t\t\tconst tableName = value.tableName;\n\t\t\tconst namespaceId = value.stageOne.namespace;\n\t\t\tif (tableName !== void 0 && namespaceId !== void 0) return {\n\t\t\t\tkind: \"cross-space\",\n\t\t\t\tspaceId: value.spaceId,\n\t\t\t\tnamespaceId,\n\t\t\t\ttableName,\n\t\t\t\t...ifDefined(\"modelName\", modelName)\n\t\t\t};\n\t\t\treturn {\n\t\t\t\tkind: \"unresolved\",\n\t\t\t\t...ifDefined(\"modelName\", modelName)\n\t\t\t};\n\t\t}\n\t\tconst identityName = modelNamesByIdentity.get(value);\n\t\treturn (identityName !== void 0 ? coordinateOf(identityName) : void 0) ?? (modelName !== void 0 ? coordinateOf(modelName) : void 0) ?? {\n\t\t\tkind: \"unresolved\",\n\t\t\t...ifDefined(\"modelName\", modelName)\n\t\t};\n\t};\n\tconst claimed = /* @__PURE__ */ new Map();\n\tfor (const handle of entities) {\n\t\tconst component = owningComponent.get(handle.entityKind);\n\t\tif (component === void 0) throw contractError(\"CONTRACT.ENTITY_KIND_UNKNOWN\", `defineContract: entities contains a handle with entityKind \"${handle.entityKind}\", which no composed pack registers. Compose a pack whose entityTypes contribution claims \"${handle.entityKind}\", or remove the handle.`, { meta: { entityKind: handle.entityKind } });\n\t\tconst refs = {};\n\t\tfor (const [refName, refValue] of Object.entries(handle.refs ?? {})) refs[refName] = resolveRef(refValue);\n\t\tconst forComponent = claimed.get(component) ?? [];\n\t\tforComponent.push({\n\t\t\thandle,\n\t\t\trefs\n\t\t});\n\t\tclaimed.set(component, forComponent);\n\t}\n\tconst pack = {};\n\tfor (const [component, handles] of claimed) {\n\t\tconst authoring = component.authoring;\n\t\tif (!providesEntityHandleLowering(authoring)) {\n\t\t\tconst kinds = [...new Set(handles.map((entry) => entry.handle.entityKind))].sort();\n\t\t\tthrow contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `defineContract: entityKind(s) ${kinds.map((kind) => `\"${kind}\"`).join(\", \")} are registered by a pack that does not implement entity-handle lowering (no lowerEntityHandles on its authoring contributions).`, { meta: {\n\t\t\t\tentityKinds: kinds,\n\t\t\t\treason: \"missing-lowerEntityHandles\"\n\t\t\t} });\n\t\t}\n\t\tfor (const row of authoring.lowerEntityHandles({\n\t\t\thandles,\n\t\t\tdefaultNamespaceId\n\t\t})) {\n\t\t\tconst forNamespace = pack[row.namespaceId] ?? {};\n\t\t\tpack[row.namespaceId] = forNamespace;\n\t\t\tconst forKind = forNamespace[row.entityKind] ?? {};\n\t\t\tforNamespace[row.entityKind] = forKind;\n\t\t\tconst existing = forKind[row.key];\n\t\t\tif (existing !== void 0 && existing !== row.entity) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `defineContract: two different \"${row.entityKind}\" entities named \"${row.key}\" in namespace \"${row.namespaceId}\" — pack-entity names must be unique per namespace.`, { meta: {\n\t\t\t\tkind: row.entityKind,\n\t\t\t\tname: row.key,\n\t\t\t\tnamespaceId: row.namespaceId\n\t\t\t} });\n\t\t\tforKind[row.key] = row.entity;\n\t\t}\n\t}\n\treturn pack;\n}\nfunction buildContractDefinition(definition) {\n\tconst collection = collectRuntimeModelSpecs(definition);\n\tconst models = lowerModels(collection, definition.extensions);\n\tconst attachedEntities = lowerPackEntityHandles(definition, collection.modelSpecs);\n\treturn {\n\t\ttarget: definition.target,\n\t\t...ifDefined(\"defaultControlPolicy\", definition.defaultControlPolicy),\n\t\t...definition.extensions ? { extensions: definition.extensions } : {},\n\t\t...definition.storageHash ? { storageHash: definition.storageHash } : {},\n\t\t...definition.foreignKeyDefaults ? { foreignKeyDefaults: definition.foreignKeyDefaults } : {},\n\t\t...Object.keys(collection.storageTypes).length > 0 ? { storageTypes: collection.storageTypes } : {},\n\t\t...definition.namespaces ? { namespaces: definition.namespaces } : {},\n\t\twarnings: void 0,\n\t\tcreateNamespace: definition.createNamespace,\n\t\t...definition.enums && Object.keys(definition.enums).length > 0 ? { enums: definition.enums } : {},\n\t\t...attachedEntities && Object.keys(attachedEntities).length > 0 ? { attachedEntities } : {},\n\t\tmodels\n\t};\n}\n//#endregion\n//#region src/contract-builder.ts\nfunction validateTargetPackRef(family, target) {\n\tif (family.familyId !== \"sql\") throw contractError(\"CONTRACT.PACK_FAMILY_MISMATCH\", `defineContract only accepts SQL family packs. Received family \"${family.familyId}\".`, { meta: {\n\t\tpackId: family.id,\n\t\tpackFamilyId: family.familyId,\n\t\tcontractFamilyId: \"sql\"\n\t} });\n\tif (target.familyId !== family.familyId) throw contractError(\"CONTRACT.PACK_FAMILY_MISMATCH\", `target pack \"${target.id}\" targets family \"${target.familyId}\" but contract family is \"${family.familyId}\".`, { meta: {\n\t\tpackId: target.id,\n\t\tpackFamilyId: target.familyId,\n\t\tcontractFamilyId: family.familyId\n\t} });\n}\n/**\n* Per-target reserved namespace names enforced by `defineContract` for\n* SQL family contracts. Two categories:\n*\n* 1. **IR sentinels** (`__unbound__`, `__unspecified__`) — reserved on\n* every SQL target. The double-underscore decoration marks them as\n* framework-reserved coordinates; user code must not declare them\n* explicitly.\n* 2. **Target-specific PSL keywords** — Postgres reserves the bare\n* `unbound` identifier for the late-binding opt-in\n* (`namespace unbound { … }`) so the TS surface must reject it from\n* `defineContract({ namespaces })` lists. SQLite has no schema\n* concept and rejects every non-empty namespaces list outright;\n* callers should declare `namespaces: []` or omit the field.\n*/\nfunction validateNamespaceDeclarations(target, namespaces) {\n\tif (!namespaces) return;\n\tif (target.targetId === \"sqlite\" && namespaces.length > 0) throw contractError(\"CONTRACT.NAMESPACE_UNSUPPORTED\", `defineContract: SQLite contracts cannot declare namespaces (SQLite has no schema concept; emitted DDL is always unqualified). Received namespaces: [${namespaces.map((name) => `\"${name}\"`).join(\", \")}].`, { meta: {\n\t\tnamespaces,\n\t\ttargetId: target.targetId\n\t} });\n\tconst seen = /* @__PURE__ */ new Set();\n\tfor (const namespace of namespaces) {\n\t\tif (namespace.length === 0) throw contractError(\"CONTRACT.NAMESPACE_INVALID\", \"defineContract: namespace names cannot be empty.\", { meta: {\n\t\t\tnamespace,\n\t\t\treason: \"empty\"\n\t\t} });\n\t\tif (namespace.trim().length === 0) throw contractError(\"CONTRACT.NAMESPACE_INVALID\", `defineContract: namespace name \"${namespace}\" cannot be whitespace-only.`, { meta: {\n\t\t\tnamespace,\n\t\t\treason: \"whitespace-only\"\n\t\t} });\n\t\tif (namespace === \"__unbound__\" || namespace === \"__unspecified__\") throw contractError(\"CONTRACT.NAMESPACE_INVALID\", `defineContract: namespace name \"${namespace}\" is a reserved IR sentinel and cannot appear in the declared namespaces list.`, { meta: {\n\t\t\tnamespace,\n\t\t\treason: \"reserved-ir-sentinel\"\n\t\t} });\n\t\tif (target.targetId === \"postgres\" && namespace === \"unbound\") throw contractError(\"CONTRACT.NAMESPACE_INVALID\", `defineContract: namespace name \"unbound\" is reserved by Postgres for the late-binding opt-in (use \\`namespace unbound { … }\\` in PSL instead of declaring it as a regular schema).`, { meta: {\n\t\t\tnamespace,\n\t\t\treason: \"reserved-by-postgres\"\n\t\t} });\n\t\tif (seen.has(namespace)) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `defineContract: namespaces list contains duplicate entry \"${namespace}\".`, { meta: {\n\t\t\tkind: \"namespace\",\n\t\t\tname: namespace\n\t\t} });\n\t\tseen.add(namespace);\n\t}\n}\n/**\n* Per-model `namespace` validation paired with\n* {@link validateNamespaceDeclarations}. Mirrors the reserved-name\n* rules so the per-model surface stays consistent with the contract-\n* level surface:\n*\n* - `__unbound__` / `__unspecified__` — reserved IR sentinels on\n* every SQL target.\n* - `unbound` on Postgres — reserved for the PSL\n* `namespace unbound { … }` opt-in.\n*\n* Additionally enforces that each per-model `namespace` either\n* references an entry in the contract's declared `namespaces` list or\n* names the Postgres late-binding keyword (`unbound`) — the latter is\n* not a \"declared namespace\" but is a legal opt-in only via PSL today,\n* so the TS surface also rejects it on the per-model side and points\n* authors at the PSL `namespace unbound { … }` block.\n*\n* The SQLite per-model `namespace` field is rejected outright (SQLite\n* has no schema concept).\n*/\nfunction validatePerModelNamespaces(target, namespaces, models) {\n\tconst declaredNamespaces = new Set(namespaces ?? []);\n\tfor (const [modelKey, modelBuilder] of Object.entries(models)) {\n\t\tconst perModelNamespace = modelBuilder.stageOne.namespace;\n\t\tif (perModelNamespace === void 0) continue;\n\t\tif (target.targetId === \"sqlite\") throw contractError(\"CONTRACT.NAMESPACE_UNSUPPORTED\", `defineContract: model \"${modelKey}\" sets \\`namespace: \"${perModelNamespace}\"\\` but the target is SQLite (SQLite has no schema concept; remove the per-model \\`namespace\\` field).`, { meta: {\n\t\t\tmodelKey,\n\t\t\tnamespace: perModelNamespace,\n\t\t\ttargetId: target.targetId\n\t\t} });\n\t\tif (perModelNamespace === \"__unbound__\" || perModelNamespace === \"__unspecified__\") throw contractError(\"CONTRACT.NAMESPACE_INVALID\", `defineContract: model \"${modelKey}\" sets \\`namespace: \"${perModelNamespace}\"\\` but that name is a reserved IR sentinel and cannot appear in user code.`, { meta: {\n\t\t\tmodelKey,\n\t\t\tnamespace: perModelNamespace,\n\t\t\treason: \"reserved-ir-sentinel\"\n\t\t} });\n\t\tif (target.targetId === \"postgres\" && perModelNamespace === \"unbound\") throw contractError(\"CONTRACT.NAMESPACE_INVALID\", `defineContract: model \"${modelKey}\" sets \\`namespace: \"unbound\"\\` but that name is reserved by Postgres for the late-binding opt-in (use \\`namespace unbound { … }\\` in PSL instead — there is no equivalent surface in the TS builder today).`, { meta: {\n\t\t\tmodelKey,\n\t\t\tnamespace: perModelNamespace,\n\t\t\treason: \"reserved-by-postgres\"\n\t\t} });\n\t\tif (!declaredNamespaces.has(perModelNamespace)) throw contractError(\"CONTRACT.NAMESPACE_UNKNOWN\", `defineContract: model \"${modelKey}\" references namespace \"${perModelNamespace}\" but that name does not appear in the contract's declared \\`namespaces\\` list.${declaredNamespaces.size > 0 ? ` Declared namespaces: [${[...declaredNamespaces].map((name) => `\"${name}\"`).join(\", \")}].` : \" The contract does not declare any namespaces; add `namespaces: [\\\"…\\\"]` to `defineContract` first.\"}`, { meta: {\n\t\t\tmodelKey,\n\t\t\tnamespace: perModelNamespace,\n\t\t\tdeclared: [...declaredNamespaces]\n\t\t} });\n\t}\n}\nfunction validateExtensionPackRefs(target, extensions) {\n\tif (!extensions) return;\n\tfor (const packRef of Object.values(extensions)) {\n\t\tif (packRef.kind !== \"extension\") throw contractError(\"CONTRACT.PACK_REF_INVALID\", `defineContract only accepts extension pack refs in extensions. Received kind \"${packRef.kind}\".`, { meta: {\n\t\t\tpackId: packRef.id,\n\t\t\tkind: packRef.kind\n\t\t} });\n\t\tif (packRef.familyId !== target.familyId) throw contractError(\"CONTRACT.PACK_FAMILY_MISMATCH\", `extension pack \"${packRef.id}\" targets family \"${packRef.familyId}\" but contract target family is \"${target.familyId}\".`, { meta: {\n\t\t\tpackId: packRef.id,\n\t\t\tpackFamilyId: packRef.familyId,\n\t\t\tcontractFamilyId: target.familyId\n\t\t} });\n\t\tif (packRef.targetId && packRef.targetId !== target.targetId) throw contractError(\"CONTRACT.PACK_TARGET_MISMATCH\", `extension pack \"${packRef.id}\" targets \"${packRef.targetId}\" but contract target is \"${target.targetId}\".`, { meta: {\n\t\t\tpackId: packRef.id,\n\t\t\tpackTargetId: packRef.targetId,\n\t\t\tcontractTargetId: target.targetId\n\t\t} });\n\t}\n}\nfunction buildContractFromDsl(definition) {\n\tvalidateTargetPackRef(definition.family, definition.target);\n\tvalidateExtensionPackRefs(definition.target, definition.extensions);\n\tvalidateNamespaceDeclarations(definition.target, definition.namespaces);\n\tvalidatePerModelNamespaces(definition.target, definition.namespaces, definition.models ?? {});\n\treturn blindCast(buildSqlContractFromDefinition(buildContractDefinition(definition), definition.codecLookup));\n}\n/** Implementation. */\nfunction buildBoundContract(family, target, definition, factory) {\n\tconst full = {\n\t\t...definition,\n\t\tfamily,\n\t\ttarget\n\t};\n\tif (factory !== void 0) {\n\t\tconst built = factory(createComposedAuthoringHelpers({\n\t\t\tfamily,\n\t\t\ttarget,\n\t\t\textensions: definition.extensions\n\t\t}));\n\t\tconst mergedEnums = {\n\t\t\t...definition.enums ?? {},\n\t\t\t...built.enums\n\t\t};\n\t\tconst mergedEntities = [...definition.entities ?? [], ...built.entities ?? []];\n\t\treturn buildContractFromDsl({\n\t\t\t...full,\n\t\t\t...ifDefined(\"types\", built.types),\n\t\t\t...ifDefined(\"models\", built.models),\n\t\t\t...ifDefined(\"enums\", Object.keys(mergedEnums).length > 0 ? mergedEnums : void 0),\n\t\t\t...ifDefined(\"entities\", mergedEntities.length > 0 ? mergedEntities : void 0)\n\t\t});\n\t}\n\treturn buildContractFromDsl(full);\n}\nfunction defineContract(definition, factory) {\n\tif (!isContractInput(definition)) throw contractError(\"CONTRACT.ARGUMENT_INVALID\", \"defineContract expects a contract definition object. Define your contract with defineContract({ family, target, models, ... }).\");\n\tif (factory !== void 0) return buildBoundContract(definition.family, definition.target, definition, factory);\n\treturn buildBoundContract(definition.family, definition.target, definition);\n}\n//#endregion\n//#region src/default-functions.ts\n/** The database's current time, the same default PSL writes as `@default(now())`. */\nfunction now() {\n\treturn {\n\t\tkind: \"function\",\n\t\texpression: \"now()\"\n\t};\n}\n/** A database-assigned sequence value, the same default PSL writes as `@default(autoincrement())`. */\nfunction autoincrement() {\n\treturn {\n\t\tkind: \"function\",\n\t\texpression: \"autoincrement()\"\n\t};\n}\n//#endregion\n//#region src/sql-default-literal.ts\n/**\n* A raw SQL column default written as a template literal: `` sql`gen_random_uuid()` ``. The raw text\n* between the backticks resolves `` \\` ``, `\\\\` and `\\$`, is canonicalized the way PSL canonicalizes a\n* tagged literal, and is used verbatim as the default expression. Interpolation is not supported, so\n* the two characters `${` are written `\\${`.\n*/\nfunction sql(strings, ...values) {\n\tif (values.length > 0) throw contractError(\"CONTRACT.DEFAULT_SQL_INTERPOLATION\", \"sql`...` does not support interpolation; write the SQL as one literal.\", { meta: { interpolations: values.length } });\n\tconst canonical = canonicalizeTaggedLiteralBody(resolveTemplateTagEscapes(strings.raw.join(\"\")));\n\tif (!canonical.ok) throw contractError(\"CONTRACT.DEFAULT_INVALID\", describeTaggedLiteralFailure(canonical.reason), { meta: {\n\t\treason: canonical.reason,\n\t\toffset: canonical.offset\n\t} });\n\tconst reserved = reservedSqlDefaultBody(canonical.body);\n\tif (reserved !== void 0) throw contractError(\"CONTRACT.DEFAULT_INVALID\", `Write .default(${reserved}()) instead of sql\\`${reserved}()\\`; ${reserved}() is a Prisma default function, not raw SQL.`, { meta: {\n\t\treason: \"reserved-function\",\n\t\texpression: canonical.body\n\t} });\n\tconst rejected = checkSqlDefaultBody(canonical.body);\n\tif (rejected !== void 0) throw contractError(\"CONTRACT.DEFAULT_INVALID\", rejected, { meta: {\n\t\treason: \"unsafe-sql\",\n\t\texpression: canonical.body\n\t} });\n\treturn {\n\t\tkind: \"function\",\n\t\texpression: canonical.body\n\t};\n}\n//#endregion\nexport { applySqlSpecifierControlPolicy, autoincrement, bindEnumType, buildBoundContract, buildContractDefinition, buildSqlContractFromDefinition, check, defineContract, enumType, extensionModel, field, isValueObjectMember, member, model, now, rel, sql, storedAsListColumn };\n\n//# sourceMappingURL=contract-builder.mjs.map"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"contract-builder-ezejmfrY.d.mts","names":[],"sources":["../../../../2-sql/2-authoring/contract-ts/dist/contract-builder.d.mts"],"mappings":"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"}