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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (337) hide show
  1. package/dist/{ast-DcphKbq9.d.mts → ast-1JRQY-dP.d.mts} +10 -4
  2. package/dist/ast-1JRQY-dP.d.mts.map +1 -0
  3. package/dist/{ast-e_02t9Nt.mjs → ast-C3itulLi.mjs} +7 -1
  4. package/dist/ast-C3itulLi.mjs.map +1 -0
  5. package/dist/{attribute-specs-Dcd2ZUrY.d.mts → attribute-specs-DDpSUaG9.d.mts} +3 -3
  6. package/dist/{attribute-specs-Dcd2ZUrY.d.mts.map → attribute-specs-DDpSUaG9.d.mts.map} +1 -1
  7. package/dist/{authored-check-naming-D-o196ry.d.mts → authored-check-naming-BiSwtSFu.d.mts} +2 -2
  8. package/dist/{authored-check-naming-D-o196ry.d.mts.map → authored-check-naming-BiSwtSFu.d.mts.map} +1 -1
  9. package/dist/{authored-check-naming-BHGJhjqn.mjs → authored-check-naming-DTKcH2_d.mjs} +3 -3
  10. package/dist/{authored-check-naming-BHGJhjqn.mjs.map → authored-check-naming-DTKcH2_d.mjs.map} +1 -1
  11. package/dist/{authoring-entity-types-CgKIgWq5-CZK1F9a_.d.mts → authoring-entity-types-CgKIgWq5-BqRjoPFF.d.mts} +2 -2
  12. package/dist/{authoring-entity-types-CgKIgWq5-CZK1F9a_.d.mts.map → authoring-entity-types-CgKIgWq5-BqRjoPFF.d.mts.map} +1 -1
  13. package/dist/builder.d.mts +3 -3
  14. package/dist/builder__runtime.d.mts +10 -10
  15. package/dist/builder__runtime.mjs +4 -4
  16. package/dist/builder__types.d.mts +5 -5
  17. package/dist/{check-constraint-B7qGu6rc-Bk2ezWXu.d.mts → check-constraint-B7qGu6rc-D5kVe9je.d.mts} +2 -2
  18. package/dist/{check-constraint-B7qGu6rc-Bk2ezWXu.d.mts.map → check-constraint-B7qGu6rc-D5kVe9je.d.mts.map} +1 -1
  19. package/dist/check-expressions-BDsLvzqN.mjs +108 -0
  20. package/dist/check-expressions-BDsLvzqN.mjs.map +1 -0
  21. package/dist/check-expressions-DuWjvG4h.d.mts +82 -0
  22. package/dist/check-expressions-DuWjvG4h.d.mts.map +1 -0
  23. package/dist/{codec-descriptor-registry-CiiFzMtb.mjs → codec-descriptor-registry-UiFDvDj4.mjs} +2 -2
  24. package/dist/{codec-descriptor-registry-CiiFzMtb.mjs.map → codec-descriptor-registry-UiFDvDj4.mjs.map} +1 -1
  25. package/dist/codec-json-type-BdWPJ6T5-BhmIyNyb.d.mts +13 -0
  26. package/dist/codec-json-type-BdWPJ6T5-BhmIyNyb.d.mts.map +1 -0
  27. package/dist/codec-json-type-DUWyBtJk-BVTavkH0.mjs +21 -0
  28. package/dist/codec-json-type-DUWyBtJk-BVTavkH0.mjs.map +1 -0
  29. package/dist/{collection-methods-D9CYfePl-DsDjYS6t.d.mts → collection-methods-D9CYfePl-BGvD1h9Z.d.mts} +4 -4
  30. package/dist/{collection-methods-D9CYfePl-DsDjYS6t.d.mts.map → collection-methods-D9CYfePl-BGvD1h9Z.d.mts.map} +1 -1
  31. package/dist/collection-methods-mo-2RjdX.d.mts +1 -0
  32. package/dist/{config-types-DkEeq_qq.mjs → config-types-BCXwEBZH.mjs} +2 -2
  33. package/dist/{config-types-DkEeq_qq.mjs.map → config-types-BCXwEBZH.mjs.map} +1 -1
  34. package/dist/{config-types-C-1mIiJO.d.mts → config-types-Ce1tAJ0B.d.mts} +4 -4
  35. package/dist/{config-types-C-1mIiJO.d.mts.map → config-types-Ce1tAJ0B.d.mts.map} +1 -1
  36. package/dist/{contract-builder-DMNe_jX9.mjs → contract-builder-D50r41BU.mjs} +114 -49
  37. package/dist/contract-builder-D50r41BU.mjs.map +1 -0
  38. package/dist/{contract-builder-B-Q9T1CO.d.mts → contract-builder-D6JuOGA6.d.mts} +58 -13
  39. package/dist/contract-builder-D6JuOGA6.d.mts.map +1 -0
  40. package/dist/contract-emitter.d.mts +1 -1
  41. package/dist/contract-emitter.mjs +1 -1
  42. package/dist/contract-prisma7__provider.d.mts +5 -3
  43. package/dist/contract-prisma7__provider.d.mts.map +1 -1
  44. package/dist/contract-prisma7__provider.mjs +62 -26
  45. package/dist/contract-prisma7__provider.mjs.map +1 -1
  46. package/dist/contract-psl.d.mts +4 -4
  47. package/dist/contract-psl.mjs +1 -1
  48. package/dist/contract-psl__attribute-specs.d.mts +1 -1
  49. package/dist/contract-psl__attribute-specs.mjs +1 -1
  50. package/dist/contract-psl__diagnostics.mjs +1 -1
  51. package/dist/contract-psl__provider.d.mts +2 -2
  52. package/dist/contract-psl__provider.mjs +3 -3
  53. package/dist/contract-psl__provider.mjs.map +1 -1
  54. package/dist/contract-ts.d.mts +4 -4
  55. package/dist/contract-ts.mjs +3 -3
  56. package/dist/contract-ts__config-types.d.mts +1 -1
  57. package/dist/contract-ts__config-types.mjs +1 -1
  58. package/dist/contract-ts__contract-builder.d.mts +3 -3
  59. package/dist/contract-ts__contract-builder.mjs +2 -2
  60. package/dist/{contract-view-DqpzeYeE.mjs → contract-view-CcD3axo0.mjs} +6 -2
  61. package/dist/contract-view-CcD3axo0.mjs.map +1 -0
  62. package/dist/{contract-view-DuB35or0.d.mts → contract-view-DkIZrHyj.d.mts} +3 -3
  63. package/dist/{contract-view-DuB35or0.d.mts.map → contract-view-DkIZrHyj.d.mts.map} +1 -1
  64. package/dist/contract.d.mts +21 -19
  65. package/dist/contract.mjs +18 -14
  66. package/dist/contract__authored-check-naming.d.mts +1 -1
  67. package/dist/contract__authored-check-naming.mjs +1 -1
  68. package/dist/contract__check-expressions.d.mts +2 -0
  69. package/dist/contract__check-expressions.mjs +2 -0
  70. package/dist/contract__codec-json-type.d.mts +2 -0
  71. package/dist/contract__codec-json-type.mjs +2 -0
  72. package/dist/contract__contract-view.d.mts +1 -1
  73. package/dist/contract__contract-view.mjs +1 -1
  74. package/dist/contract__data-type.d.mts +2 -2
  75. package/dist/contract__data-type.mjs +2 -2
  76. package/dist/contract__entity-kinds.d.mts +2 -2
  77. package/dist/contract__entity-kinds.mjs +2 -2
  78. package/dist/contract__factories.d.mts +1 -1
  79. package/dist/contract__factories.mjs +1 -1
  80. package/dist/contract__foreign-key-materialization.d.mts +1 -1
  81. package/dist/contract__foreign-key-materialization.mjs +2 -2
  82. package/dist/contract__index-naming.d.mts +1 -1
  83. package/dist/contract__index-naming.mjs +1 -1
  84. package/dist/contract__index-type-validation.d.mts +1 -1
  85. package/dist/contract__resolve-storage-table.d.mts +1 -1
  86. package/dist/contract__sql-expression.d.mts +1 -1
  87. package/dist/contract__types.d.mts +8 -8
  88. package/dist/contract__types.mjs +6 -4
  89. package/dist/contract__validators.d.mts +1 -1
  90. package/dist/contract__validators.mjs +2 -2
  91. package/dist/{control-B6W_VEZ9.d.mts → control-BE7gXqZF.d.mts} +18 -18
  92. package/dist/{control-B6W_VEZ9.d.mts.map → control-BE7gXqZF.d.mts.map} +1 -1
  93. package/dist/{control-D6wIw5Fi.mjs → control-DPCrkpMS.mjs} +16 -17
  94. package/dist/control-DPCrkpMS.mjs.map +1 -0
  95. package/dist/{control-adapter-SlQkTEwT.mjs → control-adapter-BetaUm2y.mjs} +2 -2
  96. package/dist/{control-adapter-SlQkTEwT.mjs.map → control-adapter-BetaUm2y.mjs.map} +1 -1
  97. package/dist/{control-adapter-BfyLe7rh-C_rrUuhb.d.mts → control-adapter-BfyLe7rh-CiGzw3dq.d.mts} +8 -8
  98. package/dist/{control-adapter-BfyLe7rh-C_rrUuhb.d.mts.map → control-adapter-BfyLe7rh-CiGzw3dq.d.mts.map} +1 -1
  99. package/dist/{control-adapter-CZ84jQ_z.d.mts → control-adapter-BlBhW0pc.d.mts} +4 -4
  100. package/dist/{control-adapter-CZ84jQ_z.d.mts.map → control-adapter-BlBhW0pc.d.mts.map} +1 -1
  101. package/dist/{data-type-DJIvKQHf.d.mts → data-type-B-Do6RMA.d.mts} +15 -7
  102. package/dist/data-type-B-Do6RMA.d.mts.map +1 -0
  103. package/dist/{data-type-BFSpaotu.mjs → data-type-BfA5F0Qf.mjs} +2 -2
  104. package/dist/{data-type-BFSpaotu.mjs.map → data-type-BfA5F0Qf.mjs.map} +1 -1
  105. package/dist/{db-D1d75IvM-D5CqruQz.d.mts → db-D1d75IvM-C1lqD6a2.d.mts} +13 -13
  106. package/dist/{db-D1d75IvM-D5CqruQz.d.mts.map → db-D1d75IvM-C1lqD6a2.d.mts.map} +1 -1
  107. package/dist/{ddl-types-BeA1kjV1-C4d5owxE.d.mts → ddl-types-BeA1kjV1-BUcW52Dx.d.mts} +3 -3
  108. package/dist/{ddl-types-BeA1kjV1-C4d5owxE.d.mts.map → ddl-types-BeA1kjV1-BUcW52Dx.d.mts.map} +1 -1
  109. package/dist/{default-mapping-CAOONlKQ-4m07nb-O.d.mts → default-mapping-CEISdj2g-B50Ag_F_.d.mts} +5 -11
  110. package/dist/default-mapping-CEISdj2g-B50Ag_F_.d.mts.map +1 -0
  111. package/dist/{derived-checks-D5HVRvqN-BJx1gwPA.mjs → derived-checks-D__agoFB-Boa1MHcA.mjs} +156 -40
  112. package/dist/derived-checks-D__agoFB-Boa1MHcA.mjs.map +1 -0
  113. package/dist/{derived-checks-DpPkO6Dt-9U9UJZOo.d.mts → derived-checks-DpPkO6Dt-CQIM17j5.d.mts} +3 -3
  114. package/dist/{derived-checks-DpPkO6Dt-9U9UJZOo.d.mts.map → derived-checks-DpPkO6Dt-CQIM17j5.d.mts.map} +1 -1
  115. package/dist/{diagnostics-C7jR1Jyf.mjs → diagnostics-CoM0OFuR.mjs} +40 -30
  116. package/dist/diagnostics-CoM0OFuR.mjs.map +1 -0
  117. package/dist/{diff-FNTO8gbI.d.mts → diff-BlX_rfVG.d.mts} +7 -7
  118. package/dist/{diff-FNTO8gbI.d.mts.map → diff-BlX_rfVG.d.mts.map} +1 -1
  119. package/dist/{dist-C8Y-PPuE.mjs → dist-BJjqJT_M.mjs} +5 -3
  120. package/dist/dist-BJjqJT_M.mjs.map +1 -0
  121. package/dist/{entity-kinds-JR5SAm5h-DOH6VUtL.mjs → entity-kinds-CgEwK0hH-D1NKoKE5.mjs} +25 -7
  122. package/dist/entity-kinds-CgEwK0hH-D1NKoKE5.mjs.map +1 -0
  123. package/dist/{entity-kinds-BPG2xCZV.d.mts → entity-kinds-oN1yn4vw.d.mts} +8 -7
  124. package/dist/{entity-kinds-BPG2xCZV.d.mts.map → entity-kinds-oN1yn4vw.d.mts.map} +1 -1
  125. package/dist/{exports-CGzFaakG-Dddm8emA.mjs → exports-CGzFaakG-4Aw50nT1.mjs} +3 -3
  126. package/dist/{exports-CGzFaakG-Dddm8emA.mjs.map → exports-CGzFaakG-4Aw50nT1.mjs.map} +1 -1
  127. package/dist/{expression-BWRsWR6O-BrUVz0V2.d.mts → expression-BWRsWR6O-HbWL9x9D.d.mts} +3 -3
  128. package/dist/{expression-BWRsWR6O-BrUVz0V2.d.mts.map → expression-BWRsWR6O-HbWL9x9D.d.mts.map} +1 -1
  129. package/dist/{expression-C3F6gxZH-DrYNeDbh.d.mts → expression-C3F6gxZH-EOb5cRCY.d.mts} +7 -7
  130. package/dist/{expression-C3F6gxZH-DrYNeDbh.d.mts.map → expression-C3F6gxZH-EOb5cRCY.d.mts.map} +1 -1
  131. package/dist/expression-OVCWlXHm.d.mts +2 -0
  132. package/dist/{expression-impl-DtbmFnnz-CUKzBisY.mjs → expression-impl-DtbmFnnz-Dal0IYDE.mjs} +2 -2
  133. package/dist/{expression-impl-DtbmFnnz-CUKzBisY.mjs.map → expression-impl-DtbmFnnz-Dal0IYDE.mjs.map} +1 -1
  134. package/dist/{factories-Crobuxwn.mjs → factories-B2hKDIzy.mjs} +3 -3
  135. package/dist/{factories-Crobuxwn.mjs.map → factories-B2hKDIzy.mjs.map} +1 -1
  136. package/dist/{factories-DbNP9qfs.d.mts → factories-DVgCG7DR.d.mts} +4 -4
  137. package/dist/{factories-DbNP9qfs.d.mts.map → factories-DVgCG7DR.d.mts.map} +1 -1
  138. package/dist/family.d.mts +16 -16
  139. package/dist/family.mjs +10 -10
  140. package/dist/family__control-adapter.d.mts +2 -2
  141. package/dist/family__control-adapter.mjs +1 -1
  142. package/dist/family__control.d.mts +4 -4
  143. package/dist/family__control.mjs +3 -3
  144. package/dist/family__diff.d.mts +1 -1
  145. package/dist/family__diff.mjs +1 -1
  146. package/dist/family__ir.d.mts +1 -1
  147. package/dist/family__ir.mjs +1 -1
  148. package/dist/family__migration.d.mts +1 -1
  149. package/dist/family__pack.d.mts +1 -1
  150. package/dist/family__pack.mjs +2 -2
  151. package/dist/family__psl-build.d.mts +3 -3
  152. package/dist/family__psl-build.mjs +2 -2
  153. package/dist/family__psl-infer.d.mts +1 -1
  154. package/dist/family__psl-infer.mjs +1 -1
  155. package/dist/family__runtime.d.mts +2 -2
  156. package/dist/family__runtime.mjs +1 -1
  157. package/dist/{foreign-key-materialization-48P2V8on.d.mts → foreign-key-materialization-C53nVQuD.d.mts} +4 -4
  158. package/dist/{foreign-key-materialization-48P2V8on.d.mts.map → foreign-key-materialization-C53nVQuD.d.mts.map} +1 -1
  159. package/dist/{foreign-key-materialization-BM59w_Xg.mjs → foreign-key-materialization-CCHAR789.mjs} +5 -5
  160. package/dist/{foreign-key-materialization-BM59w_Xg.mjs.map → foreign-key-materialization-CCHAR789.mjs.map} +1 -1
  161. package/dist/{functions-D7lN5-JU.mjs → functions-DO1k8KLB.mjs} +2 -2
  162. package/dist/{functions-D7lN5-JU.mjs.map → functions-DO1k8KLB.mjs.map} +1 -1
  163. package/dist/{functions-CQrsCHCj.d.mts → functions-PBSwFhni.d.mts} +6 -6
  164. package/dist/{functions-CQrsCHCj.d.mts.map → functions-PBSwFhni.d.mts.map} +1 -1
  165. package/dist/{generator-functions-Hy4pDDr9-AUCNpeg5.mjs → generator-functions-Hy4pDDr9-CMfJOBtv.mjs} +3 -3
  166. package/dist/{generator-functions-Hy4pDDr9-AUCNpeg5.mjs.map → generator-functions-Hy4pDDr9-CMfJOBtv.mjs.map} +1 -1
  167. package/dist/{index-0qfR8_db.d.mts → index-BAI1gH-I.d.mts} +21 -21
  168. package/dist/{index-0qfR8_db.d.mts.map → index-BAI1gH-I.d.mts.map} +1 -1
  169. package/dist/{index-Nqc3OHR_.d.mts → index-BWWwt5hB.d.mts} +3 -3
  170. package/dist/{index-Nqc3OHR_.d.mts.map → index-BWWwt5hB.d.mts.map} +1 -1
  171. package/dist/{index-equivalence-DswCiq5l-CGsyPP9B.mjs → index-equivalence-DswCiq5l-9GNm8oG9.mjs} +2 -2
  172. package/dist/{index-equivalence-DswCiq5l-CGsyPP9B.mjs.map → index-equivalence-DswCiq5l-9GNm8oG9.mjs.map} +1 -1
  173. package/dist/{index-naming-BOcJT1B3-mG8Fd6KN.mjs → index-naming-BOcJT1B3-D-49owHA.mjs} +2 -2
  174. package/dist/{index-naming-BOcJT1B3-mG8Fd6KN.mjs.map → index-naming-BOcJT1B3-D-49owHA.mjs.map} +1 -1
  175. package/dist/{index-naming-Cs6wwia3.d.mts → index-naming-DqjO4p5R.d.mts} +2 -2
  176. package/dist/{index-naming-Cs6wwia3.d.mts.map → index-naming-DqjO4p5R.d.mts.map} +1 -1
  177. package/dist/index-reference-D3p5ziNG.d.mts +1 -0
  178. package/dist/{index-reference-YHvh6wAL-BAhOS7RC.d.mts → index-reference-YHvh6wAL-BupQRpkE.d.mts} +4 -4
  179. package/dist/{index-reference-YHvh6wAL-BAhOS7RC.d.mts.map → index-reference-YHvh6wAL-BupQRpkE.d.mts.map} +1 -1
  180. package/dist/{index-type-validation-fGGwAHWc.d.mts → index-type-validation-BFJlwjWi.d.mts} +3 -3
  181. package/dist/{index-type-validation-fGGwAHWc.d.mts.map → index-type-validation-BFJlwjWi.d.mts.map} +1 -1
  182. package/dist/{interpreter-CS21wD1i-G0u1x8t_.mjs → interpreter-ChvVEijY-FeJngsog.mjs} +92 -45
  183. package/dist/interpreter-ChvVEijY-FeJngsog.mjs.map +1 -0
  184. package/dist/{ir-BvptQsFW.d.mts → ir-CZ5Ks7EA.d.mts} +4 -4
  185. package/dist/{ir-BvptQsFW.d.mts.map → ir-CZ5Ks7EA.d.mts.map} +1 -1
  186. package/dist/middleware-Dp3CD7yZ.d.mts +1 -0
  187. package/dist/{middleware-JfHt_Ax8-DKXbos9y.d.mts → middleware-JfHt_Ax8-rWWdDxnq.d.mts} +2 -2
  188. package/dist/{middleware-JfHt_Ax8-DKXbos9y.d.mts.map → middleware-JfHt_Ax8-rWWdDxnq.d.mts.map} +1 -1
  189. package/dist/{migration-qalbcIUs.d.mts → migration-B35kGD-7.d.mts} +4 -4
  190. package/dist/{migration-qalbcIUs.d.mts.map → migration-B35kGD-7.d.mts.map} +1 -1
  191. package/dist/{naming-BcD36g9T-Mfe_xGGL.d.mts → naming-CLfASFf7-HRjmKe43.d.mts} +9 -4
  192. package/dist/naming-CLfASFf7-HRjmKe43.d.mts.map +1 -0
  193. package/dist/{naming-bM5qm5PY-jOg3JFMb.mjs → naming-DEpT6Zad-C9PFkWt6.mjs} +5 -4
  194. package/dist/naming-DEpT6Zad-C9PFkWt6.mjs.map +1 -0
  195. package/dist/operations.d.mts +1 -1
  196. package/dist/orm-client.d.mts +22 -22
  197. package/dist/orm-client.mjs +7 -7
  198. package/dist/{pack-Cap3oVPy.d.mts → pack-DKM1hv1E.d.mts} +4 -4
  199. package/dist/{pack-Cap3oVPy.d.mts.map → pack-DKM1hv1E.d.mts.map} +1 -1
  200. package/dist/{plan-CMqVpPq6-Bllx5Zpk.d.mts → plan-CMqVpPq6-Aoza6Dp2.d.mts} +4 -4
  201. package/dist/{plan-CMqVpPq6-Bllx5Zpk.d.mts.map → plan-CMqVpPq6-Aoza6Dp2.d.mts.map} +1 -1
  202. package/dist/plan-DINEcqC1.d.mts +2 -0
  203. package/dist/psl-build-BA0Ndi1v.mjs +268 -0
  204. package/dist/psl-build-BA0Ndi1v.mjs.map +1 -0
  205. package/dist/{psl-build-RelubU2E.d.mts → psl-build-DCZaF5g4.d.mts} +47 -18
  206. package/dist/psl-build-DCZaF5g4.d.mts.map +1 -0
  207. package/dist/{psl-column-resolution-djGEITmJ-B5iMpe8H.d.mts → psl-column-resolution-djGEITmJ-C0LSpwl4.d.mts} +3 -3
  208. package/dist/{psl-column-resolution-djGEITmJ-B5iMpe8H.d.mts.map → psl-column-resolution-djGEITmJ-C0LSpwl4.d.mts.map} +1 -1
  209. package/dist/{psl-field-resolution-Bvhx79fP-CQqHf_L4.mjs → psl-field-resolution-BW2_FOb9-DxqR43fo.mjs} +68 -38
  210. package/dist/psl-field-resolution-BW2_FOb9-DxqR43fo.mjs.map +1 -0
  211. package/dist/{psl-infer--g4i84Go.mjs → psl-infer-C9kVS9ma.mjs} +2 -2
  212. package/dist/{psl-infer--g4i84Go.mjs.map → psl-infer-C9kVS9ma.mjs.map} +1 -1
  213. package/dist/{psl-infer-DzoxPZGd.d.mts → psl-infer-Cr9AeccU.d.mts} +4 -4
  214. package/dist/{psl-infer-DzoxPZGd.d.mts.map → psl-infer-Cr9AeccU.d.mts.map} +1 -1
  215. package/dist/query-lane-context-DL6bwl6k.d.mts +1 -0
  216. package/dist/{query-lane-context-DLSXDsDK-pEiQmuYy.d.mts → query-lane-context-DLSXDsDK-CGSahS15.d.mts} +8 -8
  217. package/dist/{query-lane-context-DLSXDsDK-pEiQmuYy.d.mts.map → query-lane-context-DLSXDsDK-CGSahS15.d.mts.map} +1 -1
  218. package/dist/relational-core.d.mts +12 -12
  219. package/dist/relational-core.mjs +2 -2
  220. package/dist/relational-core__aggregate-descriptor-registry.d.mts +1 -1
  221. package/dist/relational-core__ast.d.mts +3 -3
  222. package/dist/relational-core__ast.mjs +1 -1
  223. package/dist/relational-core__codec-descriptor-registry.d.mts +4 -4
  224. package/dist/relational-core__codec-descriptor-registry.mjs +1 -1
  225. package/dist/relational-core__collection-methods.d.mts +2 -2
  226. package/dist/relational-core__contract-free.d.mts +4 -4
  227. package/dist/relational-core__expression.d.mts +3 -3
  228. package/dist/relational-core__expression.mjs +1 -1
  229. package/dist/relational-core__functions.d.mts +1 -1
  230. package/dist/relational-core__functions.mjs +1 -1
  231. package/dist/relational-core__index-reference.d.mts +2 -2
  232. package/dist/relational-core__middleware.d.mts +2 -2
  233. package/dist/relational-core__plan.d.mts +3 -3
  234. package/dist/relational-core__query-lane-context.d.mts +2 -2
  235. package/dist/relational-core__types.d.mts +2 -2
  236. package/dist/{resolve-storage-table-DCqtmnSU.d.mts → resolve-storage-table-D1rXCcCk.d.mts} +3 -3
  237. package/dist/{resolve-storage-table-DCqtmnSU.d.mts.map → resolve-storage-table-D1rXCcCk.d.mts.map} +1 -1
  238. package/dist/{runtime-JKWb27L5.d.mts → runtime-CSDcwOEG.d.mts} +5 -4
  239. package/dist/{runtime-JKWb27L5.d.mts.map → runtime-CSDcwOEG.d.mts.map} +1 -1
  240. package/dist/{runtime-CCzfa1mY.mjs → runtime-DkUiQi00.mjs} +12 -4
  241. package/dist/runtime-DkUiQi00.mjs.map +1 -0
  242. package/dist/runtime.d.mts +4 -4
  243. package/dist/runtime.mjs +1 -1
  244. package/dist/runtime__internal__prepared-query.d.mts +1 -1
  245. package/dist/{schema-differ-DmP74bB8-tqHKiJ88.d.mts → schema-differ-DmP74bB8-BXkhxcPs.d.mts} +5 -5
  246. package/dist/{schema-differ-DmP74bB8-tqHKiJ88.d.mts.map → schema-differ-DmP74bB8-BXkhxcPs.d.mts.map} +1 -1
  247. package/dist/schema-ir.d.mts +1 -1
  248. package/dist/schema-ir.mjs +1 -1
  249. package/dist/schema-ir__naming.d.mts +2 -2
  250. package/dist/schema-ir__naming.mjs +2 -2
  251. package/dist/schema-ir__types.d.mts +2 -2
  252. package/dist/schema-ir__types.mjs +1 -1
  253. package/dist/{schema-verify-C3wbdviw-DMjIubOr.mjs → schema-verify-C3wbdviw-nQ4tG9N7.mjs} +4 -4
  254. package/dist/{schema-verify-C3wbdviw-DMjIubOr.mjs.map → schema-verify-C3wbdviw-nQ4tG9N7.mjs.map} +1 -1
  255. package/dist/{serialized-index-DjCCnXB1-DMA7BtO2.mjs → serialized-index-BefvjuZ0-Bbsja7If.mjs} +14 -27
  256. package/dist/serialized-index-BefvjuZ0-Bbsja7If.mjs.map +1 -0
  257. package/dist/{serialized-index-CrgG8ct1-DKVJ7TDX.d.mts → serialized-index-CrgG8ct1-Duy5-kFV.d.mts} +3 -3
  258. package/dist/{serialized-index-CrgG8ct1-DKVJ7TDX.d.mts.map → serialized-index-CrgG8ct1-Duy5-kFV.d.mts.map} +1 -1
  259. package/dist/{sql-contract-serializer-sMY3prTx-D2BfrNxs.mjs → sql-contract-serializer-sMY3prTx-CBHrlt9O.mjs} +4 -4
  260. package/dist/{sql-contract-serializer-sMY3prTx-D2BfrNxs.mjs.map → sql-contract-serializer-sMY3prTx-CBHrlt9O.mjs.map} +1 -1
  261. package/dist/{sql-data-type-D7M-YTTY-D2vRqDxn.mjs → sql-data-type-LVBldu1a-Bq203xWX.mjs} +13 -7
  262. package/dist/sql-data-type-LVBldu1a-Bq203xWX.mjs.map +1 -0
  263. package/dist/{sql-execution-plan-CN-FEwrR-CzRFoxKR.d.mts → sql-execution-plan-CN-FEwrR-BEJ0-g83.d.mts} +2 -2
  264. package/dist/{sql-execution-plan-CN-FEwrR-CzRFoxKR.d.mts.map → sql-execution-plan-CN-FEwrR-BEJ0-g83.d.mts.map} +1 -1
  265. package/dist/{sql-expression-B4BrhGPi.d.mts → sql-expression-1yO8GiBc.d.mts} +2 -2
  266. package/dist/{sql-expression-B4BrhGPi.d.mts.map → sql-expression-1yO8GiBc.d.mts.map} +1 -1
  267. package/dist/{sql-index-ByAAE7K8-Dqtn_vUL.d.mts → sql-index-ByAAE7K8-4TUFKGLK.d.mts} +2 -2
  268. package/dist/{sql-index-ByAAE7K8-Dqtn_vUL.d.mts.map → sql-index-ByAAE7K8-4TUFKGLK.d.mts.map} +1 -1
  269. package/dist/sql-node-D8P0akYY-RVytYXDZ.mjs +50 -0
  270. package/dist/sql-node-D8P0akYY-RVytYXDZ.mjs.map +1 -0
  271. package/dist/{sql-storage-DeCAh5Hi-CEM-m8cs.d.mts → sql-storage-B_AM6tU1-BOPQxXo7.d.mts} +6 -5
  272. package/dist/{sql-storage-DeCAh5Hi-CEM-m8cs.d.mts.map → sql-storage-B_AM6tU1-BOPQxXo7.d.mts.map} +1 -1
  273. package/dist/{storage-table-DDvN83mw-DkbBFmK9.mjs → storage-table-B_MrLtQX-eWx6BgGT.mjs} +7 -50
  274. package/dist/storage-table-B_MrLtQX-eWx6BgGT.mjs.map +1 -0
  275. package/dist/{storage-table-Bf1ZjnxO-pUj6pyP0.d.mts → storage-value-object-BcvIeUr8-DiiZNIrZ.d.mts} +23 -6
  276. package/dist/storage-value-object-BcvIeUr8-DiiZNIrZ.d.mts.map +1 -0
  277. package/dist/storage-value-set-uGUEBAMJ-hX-zFqN5.mjs +38 -0
  278. package/dist/storage-value-set-uGUEBAMJ-hX-zFqN5.mjs.map +1 -0
  279. package/dist/{transaction-state-DR3nKTmH-BIKF_fP6.d.mts → transaction-state-DR3nKTmH-C3wq6dCB.d.mts} +9 -9
  280. package/dist/{transaction-state-DR3nKTmH-BIKF_fP6.d.mts.map → transaction-state-DR3nKTmH-C3wq6dCB.d.mts.map} +1 -1
  281. package/dist/{types-DoyiTsjg-2YMhMJDA.mjs → types-1ZKE0deC-Dou4ugcz.mjs} +3 -3
  282. package/dist/{types-DoyiTsjg-2YMhMJDA.mjs.map → types-1ZKE0deC-Dou4ugcz.mjs.map} +1 -1
  283. package/dist/types-B-dwfOwQ.d.mts +1 -0
  284. package/dist/{types-CTdSkl0s.mjs → types-CISwoRED.mjs} +2 -2
  285. package/dist/types-CISwoRED.mjs.map +1 -0
  286. package/dist/{types-COXfSNOP-DcuULeD9.d.mts → types-COXfSNOP-D9vt9QDL.d.mts} +9 -9
  287. package/dist/{types-COXfSNOP-DcuULeD9.d.mts.map → types-COXfSNOP-D9vt9QDL.d.mts.map} +1 -1
  288. package/dist/{types-CkAd8SWm.d.mts → types-CXRxo_TK.d.mts} +7 -7
  289. package/dist/{types-CkAd8SWm.d.mts.map → types-CXRxo_TK.d.mts.map} +1 -1
  290. package/dist/types-DIoM5Ft3.d.mts +1 -0
  291. package/dist/{types-DfKvtJwS-CrpWTGBJ.d.mts → types-DNTLudNR-DiVulPhL.d.mts} +7 -7
  292. package/dist/{types-DfKvtJwS-CrpWTGBJ.d.mts.map → types-DNTLudNR-DiVulPhL.d.mts.map} +1 -1
  293. package/dist/{types-NgqqVAo5-Be_uYGQx.d.mts → types-NgqqVAo5-CJG02ILZ.d.mts} +10 -10
  294. package/dist/{types-NgqqVAo5-Be_uYGQx.d.mts.map → types-NgqqVAo5-CJG02ILZ.d.mts.map} +1 -1
  295. package/dist/{types-CuCxAQat-Dz8P4xyt.d.mts → types-fmtEmvj3-B0fQaVes.d.mts} +4 -4
  296. package/dist/{types-CuCxAQat-Dz8P4xyt.d.mts.map → types-fmtEmvj3-B0fQaVes.d.mts.map} +1 -1
  297. package/dist/{types-ijhejJhK-EdACW3bY.d.mts → types-ijhejJhK-BqfwP5Cc.d.mts} +2 -2
  298. package/dist/{types-ijhejJhK-EdACW3bY.d.mts.map → types-ijhejJhK-BqfwP5Cc.d.mts.map} +1 -1
  299. package/dist/{validators-FJs8HvFr.d.mts → validators-Dt-19ywK.d.mts} +4 -4
  300. package/dist/{validators-FJs8HvFr.d.mts.map → validators-Dt-19ywK.d.mts.map} +1 -1
  301. package/dist/{validators-BwA7ttZM.mjs → validators-qcQteqs2.mjs} +30 -31
  302. package/dist/validators-qcQteqs2.mjs.map +1 -0
  303. package/package.json +20 -18
  304. package/dist/ast-DcphKbq9.d.mts.map +0 -1
  305. package/dist/ast-e_02t9Nt.mjs.map +0 -1
  306. package/dist/collection-methods-FWiYjZ5j.d.mts +0 -1
  307. package/dist/contract-builder-B-Q9T1CO.d.mts.map +0 -1
  308. package/dist/contract-builder-DMNe_jX9.mjs.map +0 -1
  309. package/dist/contract-view-DqpzeYeE.mjs.map +0 -1
  310. package/dist/control-D6wIw5Fi.mjs.map +0 -1
  311. package/dist/data-type-DJIvKQHf.d.mts.map +0 -1
  312. package/dist/default-mapping-CAOONlKQ-4m07nb-O.d.mts.map +0 -1
  313. package/dist/derived-checks-D5HVRvqN-BJx1gwPA.mjs.map +0 -1
  314. package/dist/diagnostics-C7jR1Jyf.mjs.map +0 -1
  315. package/dist/dist-C8Y-PPuE.mjs.map +0 -1
  316. package/dist/entity-kinds-JR5SAm5h-DOH6VUtL.mjs.map +0 -1
  317. package/dist/expression-CQHy0GY7.d.mts +0 -2
  318. package/dist/index-reference-BVkoanQn.d.mts +0 -1
  319. package/dist/interpreter-CS21wD1i-G0u1x8t_.mjs.map +0 -1
  320. package/dist/middleware-DYiOUIpn.d.mts +0 -1
  321. package/dist/naming-BcD36g9T-Mfe_xGGL.d.mts.map +0 -1
  322. package/dist/naming-bM5qm5PY-jOg3JFMb.mjs.map +0 -1
  323. package/dist/plan-Cg0h96GD.d.mts +0 -2
  324. package/dist/psl-build-DqqYhOsa.mjs +0 -426
  325. package/dist/psl-build-DqqYhOsa.mjs.map +0 -1
  326. package/dist/psl-build-RelubU2E.d.mts.map +0 -1
  327. package/dist/psl-field-resolution-Bvhx79fP-CQqHf_L4.mjs.map +0 -1
  328. package/dist/query-lane-context-Dqs5qCXx.d.mts +0 -1
  329. package/dist/runtime-CCzfa1mY.mjs.map +0 -1
  330. package/dist/serialized-index-DjCCnXB1-DMA7BtO2.mjs.map +0 -1
  331. package/dist/sql-data-type-D7M-YTTY-D2vRqDxn.mjs.map +0 -1
  332. package/dist/storage-table-Bf1ZjnxO-pUj6pyP0.d.mts.map +0 -1
  333. package/dist/storage-table-DDvN83mw-DkbBFmK9.mjs.map +0 -1
  334. package/dist/types-CTdSkl0s.mjs.map +0 -1
  335. package/dist/types-CvmPNREJ.d.mts +0 -1
  336. package/dist/types-ljUNyiWe.d.mts +0 -1
  337. package/dist/validators-BwA7ttZM.mjs.map +0 -1
@@ -1,32 +1,33 @@
1
1
  import { i as indexTypeRegistryOf } from "./index-types-pC_5vADQ-BOOBi14R.mjs";
2
- import { i as computeCheckContentHash, r as composeCheckWirePrefix, s as derivedCheckPrefixes } from "./naming-bM5qm5PY-jOg3JFMb.mjs";
3
- import { r as lowerAuthoredIndex } from "./index-naming-BOcJT1B3-mG8Fd6KN.mjs";
4
- import { t as lowerAuthoredCheck } from "./authored-check-naming-BHGJhjqn.mjs";
2
+ import { a as computeCheckContentHash, c as derivedCheckPrefixes, i as composeCheckWirePrefix, t as CHECK_KINDS } from "./naming-DEpT6Zad-C9PFkWt6.mjs";
3
+ import { r as lowerAuthoredIndex } from "./index-naming-BOcJT1B3-D-49owHA.mjs";
4
+ import { t as lowerAuthoredCheck } from "./authored-check-naming-DTKcH2_d.mjs";
5
5
  import { t as sqlContractCanonicalizationHooks } from "./canonicalization-hooks-Ce1v_TDl.mjs";
6
- import { p as sqlDataTypeOfCodec, y as validateSqlTypeParams } from "./sql-data-type-D7M-YTTY-D2vRqDxn.mjs";
7
- import { c as StorageTable, i as Index, t as CheckConstraint } from "./storage-table-DDvN83mw-DkbBFmK9.mjs";
8
- import { n as checkConstraintInputFromSerialized } from "./serialized-index-DjCCnXB1-DMA7BtO2.mjs";
9
- import { m as valueSetEntityKind, p as tableEntityKind } from "./entity-kinds-JR5SAm5h-DOH6VUtL.mjs";
10
- import { a as materializeForeignKeysAndIndexes } from "./foreign-key-materialization-BM59w_Xg.mjs";
6
+ import { n as resolveColumnValueObject, t as discriminatorValueSet } from "./check-expressions-BDsLvzqN.mjs";
7
+ import { p as sqlDataTypeOfCodec, y as validateSqlTypeParams } from "./sql-data-type-LVBldu1a-Bq203xWX.mjs";
8
+ import { i as Index, s as StorageTable, t as CheckConstraint } from "./storage-table-B_MrLtQX-eWx6BgGT.mjs";
9
+ import { n as checkConstraintInputFromSerialized } from "./serialized-index-BefvjuZ0-Bbsja7If.mjs";
10
+ import { h as valueSetEntityKind, p as tableEntityKind } from "./entity-kinds-CgEwK0hH-D1NKoKE5.mjs";
11
+ import { a as materializeForeignKeysAndIndexes } from "./foreign-key-materialization-CCHAR789.mjs";
11
12
  import { t as validateIndexTypes } from "./index-type-validation-DJEMmmw0.mjs";
12
- import { c as isMaterializedSqlNamespace, d as nonEmptyTypeParams, f as toStorageTypeInstance, o as SqlStorage, s as applyFkDefaults } from "./types-CTdSkl0s.mjs";
13
- import { h as validateStorageSemantics } from "./validators-BwA7ttZM.mjs";
13
+ import { c as isMaterializedSqlNamespace, d as nonEmptyTypeParams, f as toStorageTypeInstance, o as SqlStorage, s as applyFkDefaults } from "./types-CISwoRED.mjs";
14
+ import { h as validateStorageSemantics } from "./validators-qcQteqs2.mjs";
14
15
  import { t as deriveValueSetFromEntity } from "./value-set-derivation-hook-HVaxhALD.mjs";
15
16
  import { isStructuredError, structuredError } from "@prisma/orm-framework/utils/structured-error";
16
17
  import { ifDefined } from "@prisma/orm-framework/utils/defined";
17
18
  import { flushAuthoringWarnings, isAuthoringEntityTypeDescriptor } from "@prisma/orm-framework/components/authoring";
18
19
  import { compareCodeUnits } from "@prisma/orm-framework/contract/hashing-utils";
19
20
  import { UNBOUND_NAMESPACE_ID } from "@prisma/orm-framework/components/ir";
21
+ import { asNamespaceId, coreHash, crossRef, effectiveControlPolicy } from "@prisma/orm-framework/contract/types";
22
+ import { invariant } from "@prisma/orm-framework/utils/assertions";
20
23
  import { codecForRef, dataTypeParams } from "@prisma/orm-framework/components/codec";
21
24
  import { blindCast } from "@prisma/orm-framework/utils/casts";
22
25
  import { InternalError } from "@prisma/orm-framework/utils/internal-error";
23
- import { asNamespaceId, coreHash, crossRef, effectiveControlPolicy } from "@prisma/orm-framework/contract/types";
24
26
  import { mergeCapabilityMatrices } from "@prisma/orm-framework/components/components";
25
27
  import { encodeEnumTypeMembers, resolveToOneRelationNullable } from "@prisma/orm-framework/contract-authoring";
26
28
  import { buildExecutionSection, computeProfileHash, computeStorageHash } from "@prisma/orm-framework/contract/hashing";
27
- import { invariant } from "@prisma/orm-framework/utils/assertions";
28
29
  import { applySpecifierDefaultControlPolicy } from "@prisma/orm-framework/contract/apply-specifier-default-control-policy";
29
- //#region ../../../2-sql-family/2-authoring/contract-ts/dist/derived-checks-D5HVRvqN.mjs
30
+ //#region ../../../2-sql-family/2-authoring/contract-ts/dist/derived-checks-D__agoFB.mjs
30
31
  function contractError(code, message, options) {
31
32
  return structuredError(code, message, options);
32
33
  }
@@ -49,6 +50,7 @@ function describeColumn(column, site) {
49
50
  many: column.many === true ? { elementNullable: column.elementNullable === true } : false,
50
51
  default: column.default,
51
52
  enumTypeHandle: column.enumTypeHandle,
53
+ valueObject: void 0,
52
54
  site
53
55
  };
54
56
  }
@@ -90,14 +92,24 @@ function enumValueSetRefs(enumHandle, defaultNamespaceId) {
90
92
  }
91
93
  };
92
94
  }
93
- function buildDomainField(field, defaultNamespaceId) {
95
+ /** The storage coordinate of a value object. Value objects are all in the default namespace. */
96
+ function valueObjectReference(valueObjectName, defaultNamespaceId) {
97
+ return {
98
+ plane: "storage",
99
+ namespaceId: defaultNamespaceId,
100
+ entityKind: "valueObject",
101
+ entityName: valueObjectName
102
+ };
103
+ }
104
+ function fieldWithoutValueSet(field, defaultNamespaceId) {
105
+ const many = field.many ? { elementNullable: field.elementNullable === true } : false;
94
106
  if (isValueObjectMember(field)) return {
95
107
  type: {
96
108
  kind: "valueObject",
97
- name: field.valueObjectName
109
+ ...valueObjectReference(field.valueObjectName, defaultNamespaceId)
98
110
  },
99
111
  nullable: field.nullable,
100
- many: field.many ? { elementNullable: field.elementNullable === true } : false
112
+ many
101
113
  };
102
114
  return {
103
115
  type: {
@@ -106,8 +118,24 @@ function buildDomainField(field, defaultNamespaceId) {
106
118
  ...ifDefined("typeParams", nonEmptyTypeParams(field.descriptor.typeParams))
107
119
  },
108
120
  nullable: field.nullable,
109
- many: field.many ? { elementNullable: field.elementNullable === true } : false,
110
- ...ifDefined("valueSet", enumValueSetRefs(field.enumTypeHandle, defaultNamespaceId)?.domain)
121
+ many
122
+ };
123
+ }
124
+ function enumRefsOf(field, defaultNamespaceId) {
125
+ return isValueObjectMember(field) ? void 0 : enumValueSetRefs(field.enumTypeHandle, defaultNamespaceId);
126
+ }
127
+ /** A model field in the domain plane. A value object is referred to by its storage coordinate, an enum by the domain enum. */
128
+ function buildDomainField(field, defaultNamespaceId) {
129
+ return {
130
+ ...fieldWithoutValueSet(field, defaultNamespaceId),
131
+ ...ifDefined("valueSet", enumRefsOf(field, defaultNamespaceId)?.domain)
132
+ };
133
+ }
134
+ /** A member of a storage value object. Storage never refers to the domain plane, so an enum member refers to the storage value set. */
135
+ function buildValueObjectMember(field, defaultNamespaceId) {
136
+ return {
137
+ ...fieldWithoutValueSet(field, defaultNamespaceId),
138
+ ...ifDefined("valueSet", enumRefsOf(field, defaultNamespaceId)?.storage)
111
139
  };
112
140
  }
113
141
  /** How an error message names the column: `Field "Model.field"` or `Column "table.column"`. */
@@ -391,6 +419,9 @@ function hasColumnTypeQualifier(authoring) {
391
419
  function hasCheckExpressionRenderer(authoring) {
392
420
  return "renderCheckExpressions" in authoring && typeof authoring.renderCheckExpressions === "function";
393
421
  }
422
+ /**
423
+ * The target's check renderer, contributed through `target.authoring.renderCheckExpressions`. The target owns the SQL of each check and the family names it, so the family never depends on a property of text it cannot read. `memberValues` is supplied only for a domain enum authored through an `enumType()` handle and for a discriminator column, so a target cannot write a membership check for a column whose native type already enforces its member set. Targets without the hook write no checks.
424
+ */
394
425
  function resolveCheckExpressionRenderer(target) {
395
426
  const authoring = target.authoring;
396
427
  if (authoring === void 0) return void 0;
@@ -457,7 +488,7 @@ function describeModel(model, context) {
457
488
  kind: "model",
458
489
  modelName: model.modelName
459
490
  }
460
- }, context)));
491
+ }, context)), context.defaultNamespaceId);
461
492
  const storageFields = {};
462
493
  for (const [fieldName, columnName] of Object.entries(fieldToColumn)) storageFields[fieldName] = { column: columnName };
463
494
  const columnToField = new Map(Object.entries(fieldToColumn).map(([field, col]) => [col, field]));
@@ -473,7 +504,10 @@ function describeModel(model, context) {
473
504
  fields: storageFields
474
505
  },
475
506
  fields: domainFields,
476
- relations: lowerRelations(model, columnToField, context)
507
+ relations: lowerRelations(model, columnToField, context),
508
+ ...ifDefined("discriminator", model.discriminator),
509
+ ...ifDefined("variants", model.variants),
510
+ ...ifDefined("base", model.base)
477
511
  },
478
512
  executionDefaults
479
513
  }
@@ -482,9 +516,9 @@ function describeModel(model, context) {
482
516
  /**
483
517
  * Single-table-inheritance variants share their base model's table: the variant's columns must already be on that table, and it has no table of its own. That leaves an authored check nowhere to attach, so it is refused here as a backstop; the PSL surface refuses it earlier, at interpretation, with a diagnostic that names the base model.
484
518
  */
485
- function describeModelStorage(model, namespaceId, foreignKeys) {
519
+ function describeModelStorage(model, namespaceId, foreignKeys, defaultNamespaceId) {
486
520
  const { tableName } = model;
487
- const columns = model.fields.map((field) => describeFieldColumn(model.modelName, field));
521
+ const columns = model.fields.map((field) => describeFieldColumn(model.modelName, field, defaultNamespaceId));
488
522
  if (model.sharesBaseTable) {
489
523
  if (model.checks && model.checks.length > 0) throw contractError("CONTRACT.CHECK_ON_STI_VARIANT", `Model "${model.modelName}" declares a check constraint but shares its base model's storage table (single-table inheritance) and has no table of its own to declare it on. Declare the check on the base model instead.`, { meta: {
490
524
  tableName,
@@ -514,18 +548,24 @@ function describeModelStorage(model, namespaceId, foreignKeys) {
514
548
  }
515
549
  };
516
550
  }
517
- function describeFieldColumn(modelName, field) {
551
+ function describeFieldColumn(modelName, field, defaultNamespaceId) {
518
552
  const site = {
519
553
  kind: "field",
520
554
  modelName,
521
555
  fieldName: field.fieldName
522
556
  };
523
- if (isValueObjectMember(field)) return describeColumn({
524
- columnName: field.columnName,
525
- descriptor: field.descriptor,
526
- nullable: field.nullable,
527
- ...ifDefined("default", field.default)
528
- }, site);
557
+ if (isValueObjectMember(field)) return {
558
+ ...describeColumn({
559
+ columnName: field.columnName,
560
+ descriptor: field.descriptor,
561
+ nullable: field.nullable,
562
+ ...ifDefined("default", field.default)
563
+ }, site),
564
+ valueObject: {
565
+ reference: valueObjectReference(field.valueObjectName, defaultNamespaceId),
566
+ many: field.many === true ? { elementNullable: field.elementNullable === true } : false
567
+ }
568
+ };
529
569
  return describeColumn(field, site);
530
570
  }
531
571
  function executionDefaultOf(field) {
@@ -886,16 +926,19 @@ function lowerColumn(description, placement, context) {
886
926
  const candidates = render({
887
927
  tableName: placement.tableName,
888
928
  columnName: description.columnName,
889
- many: many !== false,
890
- elementNullable,
891
- memberValues: enumTypeHandle !== void 0 ? checkMemberValues(enumTypeHandle, codecLookup) : void 0
929
+ many,
930
+ memberValues: enumTypeHandle !== void 0 ? checkMemberValues(enumTypeHandle, codecLookup) : void 0,
931
+ valueObject: description.valueObject !== void 0 ? resolveColumnValueObject(context.storage, {
932
+ reference: description.valueObject.reference,
933
+ nullable: description.nullable,
934
+ many: description.valueObject.many
935
+ }, codecLookup) : void 0
892
936
  });
893
937
  return {
894
938
  column,
895
939
  derivedChecks: lowerRenderedChecks(placement.tableName, candidates)
896
940
  };
897
941
  }
898
- const DERIVABLE_CHECK_KINDS = ["membership", "elementNotNull"];
899
942
  /**
900
943
  * Which of `columnNames` could have produced `prefix` for some
901
944
  * {@link CheckKind} — the reverse of {@link derivedCheckPrefixes}, used only
@@ -904,7 +947,7 @@ const DERIVABLE_CHECK_KINDS = ["membership", "elementNotNull"];
904
947
  * columnNames)`, so the result is never empty.
905
948
  */
906
949
  function columnsProducingCheckPrefix(tableName, columnNames, prefix) {
907
- return columnNames.filter((columnName) => DERIVABLE_CHECK_KINDS.some((kind) => composeCheckWirePrefix(tableName, columnName, kind) === prefix));
950
+ return columnNames.filter((columnName) => CHECK_KINDS.some((kind) => composeCheckWirePrefix(tableName, columnName, kind) === prefix));
908
951
  }
909
952
  /**
910
953
  * Lowers one table: each of its columns, then its indexes, checks, primary key, uniques and foreign keys, with the backing indexes its foreign keys need.
@@ -1185,6 +1228,77 @@ function enabledCapabilities(matrix) {
1185
1228
  }
1186
1229
  return enabled;
1187
1230
  }
1231
+ /** The value objects of a definition as storage entities, all in the default namespace; `undefined` when it has none. */
1232
+ function valueObjectsFromDefinition(definition, defaultNamespaceId) {
1233
+ if (definition.valueObjects === void 0 || definition.valueObjects.length === 0) return;
1234
+ return Object.fromEntries(definition.valueObjects.map((valueObject) => [valueObject.name, { fields: Object.fromEntries(valueObject.fields.map((field) => [field.fieldName, buildValueObjectMember(field, defaultNamespaceId)])) }]));
1235
+ }
1236
+ /** The value objects and value sets storage will hold, in the shape storage readers take. */
1237
+ function storageOf(defaultNamespaceId, valueObjects, storageValueSetsByNs) {
1238
+ const namespaceIds = /* @__PURE__ */ new Set([defaultNamespaceId, ...Object.keys(storageValueSetsByNs)]);
1239
+ return { namespaces: Object.fromEntries([...namespaceIds].map((id) => [id, {
1240
+ id,
1241
+ entries: {
1242
+ valueSet: storageValueSetsByNs[id] ?? {},
1243
+ ...id === defaultNamespaceId ? { valueObject: valueObjects ?? {} } : {}
1244
+ }
1245
+ }])) };
1246
+ }
1247
+ /**
1248
+ * Writes the value set of each discriminator, keyed `<Base>.<field>` in the base table's namespace and holding the variants' values as the column stores them, sorted, and points the discriminator column at it (ADR 309). A column an enum types keeps the enum's value set. An enum with the same name in the same namespace is refused, since the two value sets would share one entry.
1249
+ */
1250
+ function writeDiscriminatorValueSets(definition, tablesByNamespace, storageValueSetsByNs, checkRendererFor) {
1251
+ const defaultNamespaceId = definition.target.defaultNamespaceId;
1252
+ for (const model of definition.models) {
1253
+ const { discriminator, variants } = model;
1254
+ if (discriminator === void 0 || variants === void 0) continue;
1255
+ const namespaceId = modelNamespaceId(model, defaultNamespaceId);
1256
+ const table = tablesByNamespace[namespaceId]?.[model.tableName];
1257
+ const columnName = model.fields.find((field) => field.fieldName === discriminator.field)?.columnName;
1258
+ const column = columnName === void 0 ? void 0 : table?.columns[columnName];
1259
+ if (table === void 0 || columnName === void 0 || column === void 0) continue;
1260
+ if (column.valueSet !== void 0) continue;
1261
+ const { name: valueSetName, values } = discriminatorValueSet(model.modelName, discriminator.field, Object.keys(variants));
1262
+ const namespaceValueSets = storageValueSetsByNs[namespaceId] ?? {};
1263
+ if (Object.hasOwn(namespaceValueSets, valueSetName)) throw contractError("CONTRACT.ENUM_INVALID", `enumType("${valueSetName}"): has the name of the value set that the discriminator field "${discriminator.field}" of model "${model.modelName}" writes. Rename the enum.`, { meta: {
1264
+ enumName: valueSetName,
1265
+ model: model.modelName,
1266
+ field: discriminator.field,
1267
+ reason: "discriminator-value-set-name"
1268
+ } });
1269
+ namespaceValueSets[valueSetName] = {
1270
+ kind: "valueSet",
1271
+ values
1272
+ };
1273
+ storageValueSetsByNs[namespaceId] = namespaceValueSets;
1274
+ const render = checkRendererFor(table);
1275
+ const derivedChecks = render === void 0 ? [] : lowerRenderedChecks(model.tableName, render({
1276
+ tableName: model.tableName,
1277
+ columnName,
1278
+ many: false,
1279
+ memberValues: values,
1280
+ valueObject: void 0
1281
+ }));
1282
+ const namespaceTables = tablesByNamespace[namespaceId] ?? {};
1283
+ namespaceTables[model.tableName] = {
1284
+ ...table,
1285
+ ...derivedChecks.length > 0 ? { checks: inCanonicalOrder([...(table.checks ?? []).map((check) => CheckConstraint.from(check)), ...derivedChecks]) } : {},
1286
+ columns: {
1287
+ ...table.columns,
1288
+ [columnName]: {
1289
+ ...column,
1290
+ valueSet: {
1291
+ plane: "storage",
1292
+ entityKind: "valueSet",
1293
+ namespaceId,
1294
+ entityName: valueSetName
1295
+ }
1296
+ }
1297
+ }
1298
+ };
1299
+ tablesByNamespace[namespaceId] = namespaceTables;
1300
+ }
1301
+ }
1188
1302
  function buildSqlContractFromDefinition(definition, codecLookup, dataTypeLookup) {
1189
1303
  refuseTypesKey(definition, "buildSqlContractFromDefinition");
1190
1304
  const lookups = {
@@ -1236,11 +1350,14 @@ function buildSqlContractFromDefinition(definition, codecLookup, dataTypeLookup)
1236
1350
  const tableNodes = (definition.tables ?? []).map((table) => describeTableNode(table, modelDescriptionContext));
1237
1351
  const authoringWarnings = [...definition.warnings ?? []];
1238
1352
  const collectedColumnEntities = {};
1353
+ const valueObjects = valueObjectsFromDefinition(definition, defaultNamespaceId);
1354
+ const renderCheckExpressions = resolveCheckExpressionRenderer(definition.target);
1239
1355
  const tableLoweringContext = {
1240
1356
  lookups,
1241
1357
  defaultNamespaceId,
1242
1358
  qualifyColumnType,
1243
- renderCheckExpressions: resolveCheckExpressionRenderer(definition.target),
1359
+ renderCheckExpressions,
1360
+ storage: storageOf(defaultNamespaceId, valueObjects, storageValueSetsByNs),
1244
1361
  collectedColumnEntities,
1245
1362
  defaultControlPolicy: definition.defaultControlPolicy,
1246
1363
  indexTypeRegistry,
@@ -1255,6 +1372,7 @@ function buildSqlContractFromDefinition(definition, codecLookup, dataTypeLookup)
1255
1372
  namespaceTables[table.tableName] = lowerTable(table, tableLoweringContext);
1256
1373
  tablesByNamespace[table.namespaceId] = namespaceTables;
1257
1374
  }
1375
+ writeDiscriminatorValueSets(definition, tablesByNamespace, storageValueSetsByNs, (table) => renderCheckExpressions !== void 0 && effectiveControlPolicy(table.control, definition.defaultControlPolicy) === "managed" ? renderCheckExpressions : void 0);
1258
1376
  const executionDefaults = components.flatMap((c) => c.domain.executionDefaults);
1259
1377
  const modelsByNamespace = {};
1260
1378
  for (const { domain } of components) {
@@ -1282,7 +1400,8 @@ function buildSqlContractFromDefinition(definition, codecLookup, dataTypeLookup)
1282
1400
  entries: {
1283
1401
  table: tablesByNamespace[id] ?? {},
1284
1402
  ...entitiesForNs,
1285
- ...valueSetEntries !== void 0 && Object.keys(valueSetEntries).length > 0 ? { valueSet: valueSetEntries } : {}
1403
+ ...valueSetEntries !== void 0 && Object.keys(valueSetEntries).length > 0 ? { valueSet: valueSetEntries } : {},
1404
+ ...id === defaultNamespaceId && valueObjects !== void 0 ? { valueObject: valueObjects } : {}
1286
1405
  }
1287
1406
  };
1288
1407
  return [id, createNamespace(nsInput)];
@@ -1321,17 +1440,14 @@ function buildSqlContractFromDefinition(definition, codecLookup, dataTypeLookup)
1321
1440
  targetFamily,
1322
1441
  defaults: executionDefaults
1323
1442
  });
1324
- const valueObjects = definition.valueObjects && definition.valueObjects.length > 0 ? Object.fromEntries(definition.valueObjects.map((vo) => [vo.name, { fields: Object.fromEntries(vo.fields.map((f) => [f.fieldName, buildDomainField(f, defaultNamespaceId)])) }])) : void 0;
1325
1443
  const domainNamespaceIds = new Set(Object.keys(modelsByNamespace));
1326
1444
  if (domainNamespaceIds.size === 0) domainNamespaceIds.add(defaultNamespaceId);
1327
- if (valueObjects !== void 0) domainNamespaceIds.add(defaultNamespaceId);
1328
1445
  for (const nsId of Object.keys(domainEnumsByNs)) domainNamespaceIds.add(nsId);
1329
1446
  const domainNamespaces = Object.fromEntries([...domainNamespaceIds].sort().map((namespaceId) => {
1330
1447
  const modelsInNs = modelsByNamespace[namespaceId] ?? {};
1331
1448
  const enumsInNs = domainEnumsByNs[namespaceId];
1332
1449
  return [namespaceId, {
1333
1450
  models: modelsInNs,
1334
- ...namespaceId === defaultNamespaceId && valueObjects !== void 0 ? { valueObjects } : {},
1335
1451
  ...enumsInNs !== void 0 && Object.keys(enumsInNs).length > 0 ? { enum: enumsInNs } : {}
1336
1452
  }];
1337
1453
  }));
@@ -1505,4 +1621,4 @@ function withoutDerivedChecks(tableName, table, contractDefault) {
1505
1621
  //#endregion
1506
1622
  export { refuseTypesKey as a, isValueObjectMember as i, buildSqlContractFromDefinition as n, storedAsListColumn as o, contractError as r, toOneNullabilityContradictionMessage as s, applySqlSpecifierControlPolicy as t };
1507
1623
 
1508
- //# sourceMappingURL=derived-checks-D5HVRvqN-BJx1gwPA.mjs.map
1624
+ //# sourceMappingURL=derived-checks-D__agoFB-Boa1MHcA.mjs.map