@prisma/orm-family-sql 8.0.0-rc.2-dev.3 → 8.0.0-rc.20-dev.1

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 (564) hide show
  1. package/README.md +2 -6
  2. package/dist/{aggregate-descriptor-registry-C7hel5O7.mjs → aggregate-descriptor-registry-ZrKjxwQe.mjs} +5 -5
  3. package/dist/aggregate-descriptor-registry-ZrKjxwQe.mjs.map +1 -0
  4. package/dist/ast-D0miQ1B6.mjs +372 -0
  5. package/dist/ast-D0miQ1B6.mjs.map +1 -0
  6. package/dist/ast-YEMe_B8z.d.mts +292 -0
  7. package/dist/ast-YEMe_B8z.d.mts.map +1 -0
  8. package/dist/attribute-specs-DA_RwQFB.d.mts +114 -0
  9. package/dist/attribute-specs-DA_RwQFB.d.mts.map +1 -0
  10. package/dist/{authored-check-naming-Hf9990DV.mjs → authored-check-naming-BHGJhjqn.mjs} +5 -5
  11. package/dist/authored-check-naming-BHGJhjqn.mjs.map +1 -0
  12. package/dist/{authored-check-naming-BWBe-PVE.d.mts → authored-check-naming-D-o196ry.d.mts} +3 -3
  13. package/dist/authored-check-naming-D-o196ry.d.mts.map +1 -0
  14. package/dist/authoring-entity-types-CgKIgWq5-pEdfjam5.d.mts +9 -0
  15. package/dist/authoring-entity-types-CgKIgWq5-pEdfjam5.d.mts.map +1 -0
  16. package/dist/builder.d.mts +4 -3
  17. package/dist/builder__runtime.d.mts +29 -31
  18. package/dist/builder__runtime.d.mts.map +1 -1
  19. package/dist/builder__runtime.mjs +261 -191
  20. package/dist/builder__runtime.mjs.map +1 -1
  21. package/dist/builder__types.d.mts +6 -3
  22. package/dist/{canonicalization-hooks-dmXkOR4a.mjs → canonicalization-hooks-Ce1v_TDl.mjs} +2 -2
  23. package/dist/canonicalization-hooks-Ce1v_TDl.mjs.map +1 -0
  24. package/dist/{canonicalization-hooks-CYnW_sGn.d.mts → canonicalization-hooks-DyapQ0my.d.mts} +2 -2
  25. package/dist/canonicalization-hooks-DyapQ0my.d.mts.map +1 -0
  26. package/dist/{check-constraint-B7qGu6rc-HvQjjX82.d.mts → check-constraint-B7qGu6rc-Bk2ezWXu.d.mts} +4 -4
  27. package/dist/check-constraint-B7qGu6rc-Bk2ezWXu.d.mts.map +1 -0
  28. package/dist/{codec-descriptor-registry-N0dhtKaH.mjs → codec-descriptor-registry-CiiFzMtb.mjs} +13 -40
  29. package/dist/codec-descriptor-registry-CiiFzMtb.mjs.map +1 -0
  30. package/dist/collection-methods-BB8YH69u.d.mts +1 -0
  31. package/dist/collection-methods-D2UnCS0S-DOy2qHYS.d.mts +77 -0
  32. package/dist/collection-methods-D2UnCS0S-DOy2qHYS.d.mts.map +1 -0
  33. package/dist/{config-types-D9fdKG3g.d.mts → config-types-C-1mIiJO.d.mts} +5 -5
  34. package/dist/config-types-C-1mIiJO.d.mts.map +1 -0
  35. package/dist/{config-types-gAm54C_v.mjs → config-types-DkEeq_qq.mjs} +10 -6
  36. package/dist/config-types-DkEeq_qq.mjs.map +1 -0
  37. package/dist/{contract-builder-D4a5dT7j.mjs → contract-builder-50lF0kz1.mjs} +431 -226
  38. package/dist/contract-builder-50lF0kz1.mjs.map +1 -0
  39. package/dist/contract-builder-C_Zi57iD.d.mts +1967 -0
  40. package/dist/contract-builder-C_Zi57iD.d.mts.map +1 -0
  41. package/dist/contract-emitter.d.mts +4 -7
  42. package/dist/contract-emitter.d.mts.map +1 -1
  43. package/dist/contract-emitter.mjs +1 -1
  44. package/dist/{contract-errors-BCN6RVI5-5IHBF_lg.mjs → contract-errors-BCN6RVI5-DoH6b_KZ.mjs} +2 -2
  45. package/dist/contract-errors-BCN6RVI5-DoH6b_KZ.mjs.map +1 -0
  46. package/dist/contract-prisma7__provider.d.mts +97 -0
  47. package/dist/contract-prisma7__provider.d.mts.map +1 -0
  48. package/dist/contract-prisma7__provider.mjs +2011 -0
  49. package/dist/contract-prisma7__provider.mjs.map +1 -0
  50. package/dist/contract-psl.d.mts +18 -29
  51. package/dist/contract-psl.d.mts.map +1 -1
  52. package/dist/contract-psl.mjs +1 -1
  53. package/dist/contract-psl__attribute-specs.d.mts +2 -0
  54. package/dist/contract-psl__attribute-specs.mjs +2 -0
  55. package/dist/contract-psl__default-table-name.d.mts +7 -0
  56. package/dist/contract-psl__default-table-name.d.mts.map +1 -0
  57. package/dist/contract-psl__default-table-name.mjs +2 -0
  58. package/dist/contract-psl__diagnostics.d.mts +12 -0
  59. package/dist/contract-psl__diagnostics.d.mts.map +1 -0
  60. package/dist/contract-psl__diagnostics.mjs +2 -0
  61. package/dist/contract-psl__map-names.d.mts +16 -0
  62. package/dist/contract-psl__map-names.d.mts.map +1 -0
  63. package/dist/contract-psl__map-names.mjs +21 -0
  64. package/dist/contract-psl__map-names.mjs.map +1 -0
  65. package/dist/contract-psl__provider.d.mts +3 -3
  66. package/dist/contract-psl__provider.d.mts.map +1 -1
  67. package/dist/contract-psl__provider.mjs +95 -46
  68. package/dist/contract-psl__provider.mjs.map +1 -1
  69. package/dist/contract-ts.d.mts +5 -5
  70. package/dist/contract-ts.mjs +5 -4
  71. package/dist/contract-ts__config-types.d.mts +1 -1
  72. package/dist/contract-ts__config-types.mjs +1 -1
  73. package/dist/contract-ts__contract-builder.d.mts +4 -4
  74. package/dist/contract-ts__contract-builder.mjs +4 -3
  75. package/dist/{contract-view-BMR5IWk4.mjs → contract-view-DqpzeYeE.mjs} +2 -2
  76. package/dist/contract-view-DqpzeYeE.mjs.map +1 -0
  77. package/dist/{contract-view-CPHxoAEX.d.mts → contract-view-DuB35or0.d.mts} +3 -3
  78. package/dist/contract-view-DuB35or0.d.mts.map +1 -0
  79. package/dist/contract.d.mts +30 -28
  80. package/dist/contract.mjs +23 -18
  81. package/dist/contract__authored-check-naming.d.mts +1 -1
  82. package/dist/contract__authored-check-naming.mjs +1 -1
  83. package/dist/contract__canonicalization-hooks.d.mts +1 -1
  84. package/dist/contract__canonicalization-hooks.mjs +1 -1
  85. package/dist/contract__contract-view.d.mts +1 -1
  86. package/dist/contract__contract-view.mjs +1 -1
  87. package/dist/contract__data-type-support.d.mts +2 -0
  88. package/dist/contract__data-type-support.mjs +2 -0
  89. package/dist/contract__data-type.d.mts +2 -0
  90. package/dist/contract__data-type.mjs +3 -0
  91. package/dist/contract__entity-handle-lowering-hook.d.mts +2 -2
  92. package/dist/contract__entity-handle-lowering-hook.mjs +2 -2
  93. package/dist/contract__entity-kinds.d.mts +1 -1
  94. package/dist/contract__entity-kinds.mjs +1 -1
  95. package/dist/contract__factories.d.mts +1 -1
  96. package/dist/contract__factories.mjs +1 -1
  97. package/dist/contract__foreign-key-materialization.d.mts +2 -2
  98. package/dist/contract__foreign-key-materialization.mjs +3 -2
  99. package/dist/contract__index-naming.d.mts +2 -2
  100. package/dist/contract__index-naming.mjs +2 -2
  101. package/dist/contract__index-type-validation.d.mts +2 -2
  102. package/dist/contract__index-type-validation.mjs +1 -1
  103. package/dist/contract__index-types.d.mts +3 -3
  104. package/dist/contract__index-types.mjs +2 -2
  105. package/dist/contract__referential-action-sql.d.mts +1 -1
  106. package/dist/contract__referential-action-sql.mjs +1 -1
  107. package/dist/contract__resolve-storage-table.d.mts +1 -1
  108. package/dist/contract__resolve-storage-table.mjs +1 -1
  109. package/dist/contract__sql-expression.d.mts +2 -0
  110. package/dist/contract__sql-expression.mjs +2 -0
  111. package/dist/contract__types.d.mts +12 -12
  112. package/dist/contract__types.mjs +4 -4
  113. package/dist/contract__validators.d.mts +2 -2
  114. package/dist/contract__validators.mjs +3 -3
  115. package/dist/contract__value-set-derivation-hook.d.mts +1 -1
  116. package/dist/contract__value-set-derivation-hook.mjs +1 -1
  117. package/dist/control-BK50zF6c.mjs +2721 -0
  118. package/dist/control-BK50zF6c.mjs.map +1 -0
  119. package/dist/control-ChAUdOOu.d.mts +1416 -0
  120. package/dist/control-ChAUdOOu.d.mts.map +1 -0
  121. package/dist/{control-adapter-C99J7aEF-B7eQd7vD.d.mts → control-adapter-Bn0uhplA-BzP2uPqJ.d.mts} +27 -44
  122. package/dist/control-adapter-Bn0uhplA-BzP2uPqJ.d.mts.map +1 -0
  123. package/dist/control-adapter-NZ2kKc4x.d.mts +13 -0
  124. package/dist/control-adapter-NZ2kKc4x.d.mts.map +1 -0
  125. package/dist/control-adapter-SlQkTEwT.mjs +16 -0
  126. package/dist/control-adapter-SlQkTEwT.mjs.map +1 -0
  127. package/dist/data-type-BFSpaotu.mjs +52 -0
  128. package/dist/data-type-BFSpaotu.mjs.map +1 -0
  129. package/dist/data-type-DJIvKQHf.d.mts +158 -0
  130. package/dist/data-type-DJIvKQHf.d.mts.map +1 -0
  131. package/dist/data-type-support-BhSoPUFj.mjs +9 -0
  132. package/dist/data-type-support-BhSoPUFj.mjs.map +1 -0
  133. package/dist/data-type-support-CXpA0ex-.d.mts +7 -0
  134. package/dist/data-type-support-CXpA0ex-.d.mts.map +1 -0
  135. package/dist/{db-D18PrXKW-DvTv4JFn.d.mts → db-D1d75IvM-D4mRDC6w.d.mts} +123 -128
  136. package/dist/db-D1d75IvM-D4mRDC6w.d.mts.map +1 -0
  137. package/dist/{ddl-types-CXx4vPz6-BsgrnSUY.d.mts → ddl-types-By5mT2_S-CdaaFvsX.d.mts} +24 -29
  138. package/dist/ddl-types-By5mT2_S-CdaaFvsX.d.mts.map +1 -0
  139. package/dist/default-mapping-CAOONlKQ-4m07nb-O.d.mts +39 -0
  140. package/dist/default-mapping-CAOONlKQ-4m07nb-O.d.mts.map +1 -0
  141. package/dist/default-table-name-BfFY8qYR-CWZFDX6v.mjs +9 -0
  142. package/dist/default-table-name-BfFY8qYR-CWZFDX6v.mjs.map +1 -0
  143. package/dist/derived-checks-D5HVRvqN-BJx1gwPA.mjs +1508 -0
  144. package/dist/derived-checks-D5HVRvqN-BJx1gwPA.mjs.map +1 -0
  145. package/dist/{derived-checks-DPdD01O0-DGqOFjs6.d.mts → derived-checks-DpPkO6Dt-9U9UJZOo.d.mts} +4 -4
  146. package/dist/derived-checks-DpPkO6Dt-9U9UJZOo.d.mts.map +1 -0
  147. package/dist/diagnostics-RHJxoiIk.mjs +23 -0
  148. package/dist/diagnostics-RHJxoiIk.mjs.map +1 -0
  149. package/dist/{diff-DbTNVm2f.d.mts → diff-1qHOLoUB.d.mts} +23 -10
  150. package/dist/diff-1qHOLoUB.d.mts.map +1 -0
  151. package/dist/diff-C1rFOhek.mjs +21 -0
  152. package/dist/diff-C1rFOhek.mjs.map +1 -0
  153. package/dist/{dist-ZK6oeI5e.mjs → dist-C8Y-PPuE.mjs} +36 -212
  154. package/dist/dist-C8Y-PPuE.mjs.map +1 -0
  155. package/dist/{dist-C_q1_QR9.mjs → dist-CHz1hF8M.mjs} +2 -2
  156. package/dist/dist-CHz1hF8M.mjs.map +1 -0
  157. package/dist/{dist-x6jvtkKM.mjs → dist-CMDXybwm.mjs} +2 -2
  158. package/dist/dist-CMDXybwm.mjs.map +1 -0
  159. package/dist/{driver-types-BQtRkOJ0-Bv2RPSfr.d.mts → driver-types-DRsYeq3j-BimeCnUk.d.mts} +11 -2
  160. package/dist/driver-types-DRsYeq3j-BimeCnUk.d.mts.map +1 -0
  161. package/dist/entity-handle-lowering-hook-BJZSlVVF.mjs +16 -0
  162. package/dist/entity-handle-lowering-hook-BJZSlVVF.mjs.map +1 -0
  163. package/dist/{entity-handle-lowering-hook-CIvRKBfa.d.mts → entity-handle-lowering-hook-BuvLtgFi.d.mts} +8 -11
  164. package/dist/entity-handle-lowering-hook-BuvLtgFi.d.mts.map +1 -0
  165. package/dist/{entity-kinds-B5cUFU22.d.mts → entity-kinds-BPG2xCZV.d.mts} +7 -7
  166. package/dist/entity-kinds-BPG2xCZV.d.mts.map +1 -0
  167. package/dist/{entity-kinds-D7vwoN_T-CCBwFJy0.mjs → entity-kinds-JR5SAm5h-DOH6VUtL.mjs} +31 -28
  168. package/dist/entity-kinds-JR5SAm5h-DOH6VUtL.mjs.map +1 -0
  169. package/dist/{errors-B5g0xWro-mWH2C07F.mjs → errors-B5g0xWro-C8plbqga.mjs} +2 -2
  170. package/dist/errors-B5g0xWro-C8plbqga.mjs.map +1 -0
  171. package/dist/errors.d.mts +1 -1
  172. package/dist/errors.d.mts.map +1 -1
  173. package/dist/errors.mjs +1 -1
  174. package/dist/exports-C3wGYtID-D65DEUTC.mjs +2389 -0
  175. package/dist/exports-C3wGYtID-D65DEUTC.mjs.map +1 -0
  176. package/dist/{expression-FJK6Ar-d.d.mts → expression-6ld_ZQL6-fOuazzzm.d.mts} +37 -16
  177. package/dist/expression-6ld_ZQL6-fOuazzzm.d.mts.map +1 -0
  178. package/dist/expression-CieaNuRM-B1uVqxwd.d.mts +22 -0
  179. package/dist/expression-CieaNuRM-B1uVqxwd.d.mts.map +1 -0
  180. package/dist/expression-D8HstQiB.d.mts +2 -0
  181. package/dist/{expression-CX5mTA-z.mjs → expression-impl-B-XNINxr-BhN2sysZ.mjs} +41 -18
  182. package/dist/expression-impl-B-XNINxr-BhN2sysZ.mjs.map +1 -0
  183. package/dist/{factories-SVor5xIT.mjs → factories-Crobuxwn.mjs} +27 -20
  184. package/dist/factories-Crobuxwn.mjs.map +1 -0
  185. package/dist/{factories-P3qBQhO-.d.mts → factories-DbNP9qfs.d.mts} +16 -10
  186. package/dist/factories-DbNP9qfs.d.mts.map +1 -0
  187. package/dist/family.d.mts +17 -13
  188. package/dist/family.mjs +17 -12
  189. package/dist/family__control-adapter.d.mts +3 -3
  190. package/dist/family__control-adapter.mjs +2 -1
  191. package/dist/family__control.d.mts +5 -4
  192. package/dist/family__control.mjs +4 -4
  193. package/dist/family__diff.d.mts +2 -3
  194. package/dist/family__diff.mjs +2 -2
  195. package/dist/family__ir.d.mts +1 -1
  196. package/dist/family__ir.mjs +2 -2
  197. package/dist/family__migration.d.mts +1 -1
  198. package/dist/family__migration.mjs +1 -1
  199. package/dist/family__pack.d.mts +2 -249
  200. package/dist/family__pack.mjs +3 -18
  201. package/dist/family__psl-build.d.mts +3 -0
  202. package/dist/family__psl-build.mjs +3 -0
  203. package/dist/family__psl-infer.d.mts +2 -2
  204. package/dist/family__psl-infer.mjs +2 -2
  205. package/dist/family__runtime.d.mts +2 -2
  206. package/dist/family__runtime.mjs +2 -2
  207. package/dist/family__verify.d.mts +1 -1
  208. package/dist/family__verify.mjs +1 -1
  209. package/dist/foreign-key-materialization-48P2V8on.d.mts +98 -0
  210. package/dist/foreign-key-materialization-48P2V8on.d.mts.map +1 -0
  211. package/dist/foreign-key-materialization-BM59w_Xg.mjs +287 -0
  212. package/dist/foreign-key-materialization-BM59w_Xg.mjs.map +1 -0
  213. package/dist/{foreign-key-C-iTPuRT-C9ip8zFx.d.mts → foreign-key-qkDFfG8t-TaK_GYWR.d.mts} +21 -5
  214. package/dist/foreign-key-qkDFfG8t-TaK_GYWR.d.mts.map +1 -0
  215. package/dist/functions-CsOoN7I3.mjs +88 -0
  216. package/dist/functions-CsOoN7I3.mjs.map +1 -0
  217. package/dist/functions-EW-RrRn3.d.mts +73 -0
  218. package/dist/functions-EW-RrRn3.d.mts.map +1 -0
  219. package/dist/generator-functions-D_qdqBV--Bq296cED.mjs +544 -0
  220. package/dist/generator-functions-D_qdqBV--Bq296cED.mjs.map +1 -0
  221. package/dist/index-7nHHQsAj.d.mts +606 -0
  222. package/dist/index-7nHHQsAj.d.mts.map +1 -0
  223. package/dist/{index-C5I8D-MB.d.mts → index-Nqc3OHR_.d.mts} +4 -5
  224. package/dist/index-Nqc3OHR_.d.mts.map +1 -0
  225. package/dist/index-equivalence-DswCiq5l-CGsyPP9B.mjs +109 -0
  226. package/dist/index-equivalence-DswCiq5l-CGsyPP9B.mjs.map +1 -0
  227. package/dist/{index-naming-DREt6js7-CRH27yUv.mjs → index-naming-BOcJT1B3-mG8Fd6KN.mjs} +35 -9
  228. package/dist/index-naming-BOcJT1B3-mG8Fd6KN.mjs.map +1 -0
  229. package/dist/{index-naming-Ct65z5Xk.d.mts → index-naming-Cs6wwia3.d.mts} +15 -5
  230. package/dist/index-naming-Cs6wwia3.d.mts.map +1 -0
  231. package/dist/index-reference-4wsdeB7v-DCwswK-q.d.mts +67 -0
  232. package/dist/index-reference-4wsdeB7v-DCwswK-q.d.mts.map +1 -0
  233. package/dist/index-reference-BQSrkRfT.mjs +55 -0
  234. package/dist/index-reference-BQSrkRfT.mjs.map +1 -0
  235. package/dist/index-reference-D8ewQRJr.d.mts +1 -0
  236. package/dist/index-type-validation-DJEMmmw0.mjs +42 -0
  237. package/dist/index-type-validation-DJEMmmw0.mjs.map +1 -0
  238. package/dist/index-type-validation-fGGwAHWc.d.mts +16 -0
  239. package/dist/index-type-validation-fGGwAHWc.d.mts.map +1 -0
  240. package/dist/index-types-H1O43iYT-BD0VwPqV.d.mts +66 -0
  241. package/dist/index-types-H1O43iYT-BD0VwPqV.d.mts.map +1 -0
  242. package/dist/index-types-pC_5vADQ-BOOBi14R.mjs +95 -0
  243. package/dist/index-types-pC_5vADQ-BOOBi14R.mjs.map +1 -0
  244. package/dist/index-types-snhtt_Fo.d.mts +1 -0
  245. package/dist/interpreter-D5qk4B---CG0C7kdx.mjs +2280 -0
  246. package/dist/interpreter-D5qk4B---CG0C7kdx.mjs.map +1 -0
  247. package/dist/{ir-Bghjt-FG.d.mts → ir-BvptQsFW.d.mts} +11 -5
  248. package/dist/ir-BvptQsFW.d.mts.map +1 -0
  249. package/dist/{ir-I-xciGUH.mjs → ir-DzsUDO8e.mjs} +2 -2
  250. package/dist/ir-DzsUDO8e.mjs.map +1 -0
  251. package/dist/{middleware-AhTz1BOW-th-Suxuf.d.mts → middleware-DHkW6pRr-DM6hd9iZ.d.mts} +5 -5
  252. package/dist/middleware-DHkW6pRr-DM6hd9iZ.d.mts.map +1 -0
  253. package/dist/middleware-gqy3l13N.d.mts +1 -0
  254. package/dist/{middleware-CMr4CHNz-DHIUdxlm.mjs → middleware-yBAfiVWn-DZO0vCRQ.mjs} +3 -3
  255. package/dist/middleware-yBAfiVWn-DZO0vCRQ.mjs.map +1 -0
  256. package/dist/{migration-CK4oePIo.mjs → migration-BJQjkqFz.mjs} +4 -4
  257. package/dist/migration-BJQjkqFz.mjs.map +1 -0
  258. package/dist/{migration-CjDRZNep.d.mts → migration-Cxmpzaz0.d.mts} +6 -6
  259. package/dist/migration-Cxmpzaz0.d.mts.map +1 -0
  260. package/dist/{naming-CV9j2pXl-KARaDReS.d.mts → naming-BcD36g9T-Mfe_xGGL.d.mts} +9 -14
  261. package/dist/naming-BcD36g9T-Mfe_xGGL.d.mts.map +1 -0
  262. package/dist/{naming-DKr4TJd7-Cszhq9RV.mjs → naming-bM5qm5PY-jOg3JFMb.mjs} +20 -31
  263. package/dist/naming-bM5qm5PY-jOg3JFMb.mjs.map +1 -0
  264. package/dist/{ddl-types-BGdnAbXo-DKPHPUGx.mjs → opaque-sql-Dset3kln-CtsPDTXn.mjs} +24 -11
  265. package/dist/opaque-sql-Dset3kln-CtsPDTXn.mjs.map +1 -0
  266. package/dist/operations.d.mts +1 -1
  267. package/dist/operations.mjs +1 -1
  268. package/dist/orm-client.d.mts +817 -267
  269. package/dist/orm-client.d.mts.map +1 -1
  270. package/dist/orm-client.mjs +4719 -2942
  271. package/dist/orm-client.mjs.map +1 -1
  272. package/dist/pack-DA8HZ2mo.d.mts +535 -0
  273. package/dist/pack-DA8HZ2mo.d.mts.map +1 -0
  274. package/dist/pack-gSvGQWqs.mjs +80 -0
  275. package/dist/pack-gSvGQWqs.mjs.map +1 -0
  276. package/dist/{plan-CDxduYaN-pLIyyJaB.d.mts → plan-Cr4azjnG-CuL8FqXC.d.mts} +12 -8
  277. package/dist/plan-Cr4azjnG-CuL8FqXC.d.mts.map +1 -0
  278. package/dist/{plan-Dh0LbYIv-Crx5-ThG.mjs → plan-Dh0LbYIv-ubBSdUgl.mjs} +2 -2
  279. package/dist/plan-Dh0LbYIv-ubBSdUgl.mjs.map +1 -0
  280. package/dist/plan-Di6Gs2JD.d.mts +2 -0
  281. package/dist/psl-attribute-parsing-BCsFWsSp-BJ-wGlY6.mjs +42 -0
  282. package/dist/psl-attribute-parsing-BCsFWsSp-BJ-wGlY6.mjs.map +1 -0
  283. package/dist/psl-build-DFBG6vhz.mjs +426 -0
  284. package/dist/psl-build-DFBG6vhz.mjs.map +1 -0
  285. package/dist/psl-build-RelubU2E.d.mts +112 -0
  286. package/dist/psl-build-RelubU2E.d.mts.map +1 -0
  287. package/dist/psl-column-resolution-ChZqioOc-BREg4J7d.d.mts +24 -0
  288. package/dist/psl-column-resolution-ChZqioOc-BREg4J7d.d.mts.map +1 -0
  289. package/dist/psl-field-resolution-C5KQ7kzP-B0NwuRWV.mjs +1960 -0
  290. package/dist/psl-field-resolution-C5KQ7kzP-B0NwuRWV.mjs.map +1 -0
  291. package/dist/psl-infer--g4i84Go.mjs +201 -0
  292. package/dist/psl-infer--g4i84Go.mjs.map +1 -0
  293. package/dist/psl-infer-DzoxPZGd.d.mts +80 -0
  294. package/dist/psl-infer-DzoxPZGd.d.mts.map +1 -0
  295. package/dist/psl-names-C3cwe0rg-D1CTmC3a.mjs +66 -0
  296. package/dist/psl-names-C3cwe0rg-D1CTmC3a.mjs.map +1 -0
  297. package/dist/{query-lane-context-Qa-eddrE-kuZ8Z86-.d.mts → query-lane-context-BCEoKy0_-CzmyavC9.d.mts} +20 -49
  298. package/dist/query-lane-context-BCEoKy0_-CzmyavC9.d.mts.map +1 -0
  299. package/dist/query-lane-context-VqH0mS9B.d.mts +1 -0
  300. package/dist/{referential-action-sql-DJ9ps6-S.d.mts → referential-action-sql-B2vKoUK6.d.mts} +3 -3
  301. package/dist/referential-action-sql-B2vKoUK6.d.mts.map +1 -0
  302. package/dist/{referential-action-sql-DSqkrySN.mjs → referential-action-sql-BLzCtTi8.mjs} +2 -2
  303. package/dist/referential-action-sql-BLzCtTi8.mjs.map +1 -0
  304. package/dist/relational-core.d.mts +14 -13
  305. package/dist/relational-core.mjs +8 -8
  306. package/dist/relational-core__aggregate-descriptor-registry.d.mts +2 -2
  307. package/dist/relational-core__aggregate-descriptor-registry.d.mts.map +1 -1
  308. package/dist/relational-core__aggregate-descriptor-registry.mjs +1 -1
  309. package/dist/relational-core__ast.d.mts +5 -5
  310. package/dist/relational-core__ast.mjs +5 -5
  311. package/dist/relational-core__codec-descriptor-registry.d.mts +7 -8
  312. package/dist/relational-core__codec-descriptor-registry.d.mts.map +1 -1
  313. package/dist/relational-core__codec-descriptor-registry.mjs +1 -1
  314. package/dist/relational-core__collection-methods.d.mts +3 -0
  315. package/dist/relational-core__contract-free.d.mts +18 -8
  316. package/dist/relational-core__contract-free.d.mts.map +1 -1
  317. package/dist/relational-core__contract-free.mjs +26 -10
  318. package/dist/relational-core__contract-free.mjs.map +1 -1
  319. package/dist/relational-core__expression.d.mts +4 -2
  320. package/dist/relational-core__expression.mjs +2 -2
  321. package/dist/relational-core__functions.d.mts +2 -0
  322. package/dist/relational-core__functions.mjs +2 -0
  323. package/dist/relational-core__index-reference.d.mts +3 -0
  324. package/dist/relational-core__index-reference.mjs +2 -0
  325. package/dist/relational-core__middleware.d.mts +2 -2
  326. package/dist/relational-core__middleware.mjs +1 -1
  327. package/dist/relational-core__plan.d.mts +4 -4
  328. package/dist/relational-core__plan.mjs +1 -1
  329. package/dist/relational-core__query-lane-context.d.mts +3 -3
  330. package/dist/relational-core__types.d.mts +2 -2
  331. package/dist/{resolve-storage-table-DZsfnzeW.mjs → resolve-storage-table-BHLQsOza.mjs} +3 -3
  332. package/dist/resolve-storage-table-BHLQsOza.mjs.map +1 -0
  333. package/dist/{resolve-storage-table-Nyrgk4h8.d.mts → resolve-storage-table-DCqtmnSU.d.mts} +4 -4
  334. package/dist/resolve-storage-table-DCqtmnSU.d.mts.map +1 -0
  335. package/dist/{runtime-tIHpGCcG.mjs → runtime-6tH1yOxK.mjs} +6 -6
  336. package/dist/runtime-6tH1yOxK.mjs.map +1 -0
  337. package/dist/{runtime-DpKF2Yu2.d.mts → runtime-CF6rAlE5.d.mts} +7 -8
  338. package/dist/runtime-CF6rAlE5.d.mts.map +1 -0
  339. package/dist/runtime.d.mts +5 -5
  340. package/dist/runtime.mjs +2 -1799
  341. package/dist/runtime__internal__prepared-query.d.mts +2 -2
  342. package/dist/runtime__internal__prepared-query.mjs +2 -2
  343. package/dist/{schema-differ-DpG_gnur-DFAtGezx.d.mts → schema-differ-DmP74bB8-tqHKiJ88.d.mts} +6 -6
  344. package/dist/schema-differ-DmP74bB8-tqHKiJ88.d.mts.map +1 -0
  345. package/dist/schema-ir.d.mts +2 -2
  346. package/dist/schema-ir.mjs +2 -2
  347. package/dist/schema-ir__naming.d.mts +1 -1
  348. package/dist/schema-ir__naming.mjs +1 -1
  349. package/dist/schema-ir__types.d.mts +3 -3
  350. package/dist/schema-ir__types.mjs +2 -2
  351. package/dist/{schema-verify-C_PEdlAr-Dxxjm6EM.mjs → schema-verify-C3wbdviw-DMjIubOr.mjs} +50 -8
  352. package/dist/schema-verify-C3wbdviw-DMjIubOr.mjs.map +1 -0
  353. package/dist/{serialized-index-CrgG8ct1-DG3JpHc7.d.mts → serialized-index-CrgG8ct1-DKVJ7TDX.d.mts} +4 -4
  354. package/dist/serialized-index-CrgG8ct1-DKVJ7TDX.d.mts.map +1 -0
  355. package/dist/{serialized-index-nBTwanKy-_ddEK4tk.mjs → serialized-index-DjCCnXB1-DMA7BtO2.mjs} +4 -4
  356. package/dist/serialized-index-DjCCnXB1-DMA7BtO2.mjs.map +1 -0
  357. package/dist/{sql-contract-serializer-2oBWuxTe-DKZTf2n8.mjs → sql-contract-serializer-sMY3prTx-D2BfrNxs.mjs} +41 -16
  358. package/dist/sql-contract-serializer-sMY3prTx-D2BfrNxs.mjs.map +1 -0
  359. package/dist/sql-data-type-D7M-YTTY-D2vRqDxn.mjs +400 -0
  360. package/dist/sql-data-type-D7M-YTTY-D2vRqDxn.mjs.map +1 -0
  361. package/dist/{sql-execution-plan--jKyLpe5-CMGhgO0M.d.mts → sql-execution-plan-3uxYjHyu-DLknM-Pj.d.mts} +3 -3
  362. package/dist/sql-execution-plan-3uxYjHyu-DLknM-Pj.d.mts.map +1 -0
  363. package/dist/sql-expression-B4BrhGPi.d.mts +62 -0
  364. package/dist/sql-expression-B4BrhGPi.d.mts.map +1 -0
  365. package/dist/sql-expression-CKgKznXS.mjs +137 -0
  366. package/dist/sql-expression-CKgKznXS.mjs.map +1 -0
  367. package/dist/{sql-index-ByAAE7K8-DKj2V86p.d.mts → sql-index-ByAAE7K8-Dqtn_vUL.d.mts} +4 -4
  368. package/dist/sql-index-ByAAE7K8-Dqtn_vUL.d.mts.map +1 -0
  369. package/dist/{sql-node-kEz6YFZo-v2F7delx.d.mts → sql-node-kEz6YFZo-1ogT6Cxt.d.mts} +2 -2
  370. package/dist/sql-node-kEz6YFZo-1ogT6Cxt.d.mts.map +1 -0
  371. package/dist/{sql-storage-8LqxeLAY-DH4DdUXx.d.mts → sql-storage-DeCAh5Hi-CEM-m8cs.d.mts} +19 -22
  372. package/dist/sql-storage-DeCAh5Hi-CEM-m8cs.d.mts.map +1 -0
  373. package/dist/{storage-table-DSeWszOL-CI-cItEK.d.mts → storage-table-Bf1ZjnxO-pUj6pyP0.d.mts} +17 -24
  374. package/dist/storage-table-Bf1ZjnxO-pUj6pyP0.d.mts.map +1 -0
  375. package/dist/{storage-table-ZzbR-xzQ-BRoTQE_2.mjs → storage-table-DDvN83mw-DkbBFmK9.mjs} +12 -9
  376. package/dist/storage-table-DDvN83mw-DkbBFmK9.mjs.map +1 -0
  377. package/dist/{storage-value-set-BGlj5Uus-CvZD--GG.d.mts → storage-value-set-BGlj5Uus-ny2k-0PA.d.mts} +3 -3
  378. package/dist/storage-value-set-BGlj5Uus-ny2k-0PA.d.mts.map +1 -0
  379. package/dist/transaction-state-BfXhs7D7-DhmbySW9.mjs +45 -0
  380. package/dist/transaction-state-BfXhs7D7-DhmbySW9.mjs.map +1 -0
  381. package/dist/transaction-state-DR3nKTmH-D29jmVE-.d.mts +115 -0
  382. package/dist/transaction-state-DR3nKTmH-D29jmVE-.d.mts.map +1 -0
  383. package/dist/types-B9wSEUsV.d.mts +1 -0
  384. package/dist/{types-CUsJrvEl.mjs → types-CTdSkl0s.mjs} +13 -6
  385. package/dist/types-CTdSkl0s.mjs.map +1 -0
  386. package/dist/types-CkAd8SWm.d.mts +57 -0
  387. package/dist/types-CkAd8SWm.d.mts.map +1 -0
  388. package/dist/{types-IqZMLrFC-DcH8v_u3.d.mts → types-Cq6ImLAB-RlU4jJAX.d.mts} +27 -41
  389. package/dist/types-Cq6ImLAB-RlU4jJAX.d.mts.map +1 -0
  390. package/dist/{types-YStFFkKs-D9UAmnON.d.mts → types-CuCxAQat-Dz8P4xyt.d.mts} +141 -86
  391. package/dist/types-CuCxAQat-Dz8P4xyt.d.mts.map +1 -0
  392. package/dist/types-DfKvtJwS-CrpWTGBJ.d.mts +273 -0
  393. package/dist/types-DfKvtJwS-CrpWTGBJ.d.mts.map +1 -0
  394. package/dist/{types-4YenawkP-CwaaZSid.mjs → types-DoyiTsjg-2YMhMJDA.mjs} +181 -80
  395. package/dist/types-DoyiTsjg-2YMhMJDA.mjs.map +1 -0
  396. package/dist/{types-v3qxLLxo-DCeKv7yY.d.mts → types-DriMIMNQ-BkbsW7w3.d.mts} +68 -34
  397. package/dist/types-DriMIMNQ-BkbsW7w3.d.mts.map +1 -0
  398. package/dist/{types-Dt4e_jC--COeP8xzN.mjs → types-NTQsD2MS-xcLtvKO9.mjs} +83 -17
  399. package/dist/types-NTQsD2MS-xcLtvKO9.mjs.map +1 -0
  400. package/dist/{types-CyxGtOOh-BggSa6Fe.d.mts → types-TXO7x1BA-CYYIY8NI.d.mts} +14 -14
  401. package/dist/types-TXO7x1BA-CYYIY8NI.d.mts.map +1 -0
  402. package/dist/types-ljUNyiWe.d.mts +1 -0
  403. package/dist/{unique-constraint-M5TlQnJQ-BiIHJ85k.d.mts → unique-constraint-M5TlQnJQ-qX-maNUV.d.mts} +3 -3
  404. package/dist/unique-constraint-M5TlQnJQ-qX-maNUV.d.mts.map +1 -0
  405. package/dist/{util-DQQgv2j1-D6INZaRG.mjs → util-BBgcP3gI-CpL-0VuC.mjs} +12 -3
  406. package/dist/util-BBgcP3gI-CpL-0VuC.mjs.map +1 -0
  407. package/dist/{validators-CrWD6bSP.mjs → validators-BwA7ttZM.mjs} +0 -0
  408. package/dist/validators-BwA7ttZM.mjs.map +1 -0
  409. package/dist/{validators-Belo8QqM.d.mts → validators-FJs8HvFr.d.mts} +54 -16
  410. package/dist/validators-FJs8HvFr.d.mts.map +1 -0
  411. package/dist/{value-set-derivation-hook-BhgGVtw0.d.mts → value-set-derivation-hook-3E437jPU.d.mts} +3 -3
  412. package/dist/value-set-derivation-hook-3E437jPU.d.mts.map +1 -0
  413. package/dist/{value-set-derivation-hook-Di9JZ0X7.mjs → value-set-derivation-hook-HVaxhALD.mjs} +2 -2
  414. package/dist/value-set-derivation-hook-HVaxhALD.mjs.map +1 -0
  415. package/dist/{verify-u0UTdZgD-DSAaz9rW.mjs → verify-BVk5bjdH-DhKm6hB3.mjs} +8 -7
  416. package/dist/verify-BVk5bjdH-DhKm6hB3.mjs.map +1 -0
  417. package/dist/{verify-zDRnw0Rn.d.mts → verify-DHXbuZPB.d.mts} +2 -2
  418. package/dist/verify-DHXbuZPB.d.mts.map +1 -0
  419. package/package.json +33 -22
  420. package/dist/aggregate-descriptor-registry-C7hel5O7.mjs.map +0 -1
  421. package/dist/ast-HFcfQZr-.d.mts +0 -206
  422. package/dist/ast-HFcfQZr-.d.mts.map +0 -1
  423. package/dist/ast-Lbl4VwqP.mjs +0 -325
  424. package/dist/ast-Lbl4VwqP.mjs.map +0 -1
  425. package/dist/authored-check-naming-BWBe-PVE.d.mts.map +0 -1
  426. package/dist/authored-check-naming-Hf9990DV.mjs.map +0 -1
  427. package/dist/authoring-type-constructors-Blqoa2Ua-DqvNCOb2.mjs +0 -316
  428. package/dist/authoring-type-constructors-Blqoa2Ua-DqvNCOb2.mjs.map +0 -1
  429. package/dist/canonicalization-hooks-CYnW_sGn.d.mts.map +0 -1
  430. package/dist/canonicalization-hooks-dmXkOR4a.mjs.map +0 -1
  431. package/dist/check-constraint-B7qGu6rc-HvQjjX82.d.mts.map +0 -1
  432. package/dist/codec-descriptor-registry-N0dhtKaH.mjs.map +0 -1
  433. package/dist/config-types-D9fdKG3g.d.mts.map +0 -1
  434. package/dist/config-types-gAm54C_v.mjs.map +0 -1
  435. package/dist/contract-builder-CG_tGDbB.d.mts +0 -1360
  436. package/dist/contract-builder-CG_tGDbB.d.mts.map +0 -1
  437. package/dist/contract-builder-D4a5dT7j.mjs.map +0 -1
  438. package/dist/contract-errors-BCN6RVI5-5IHBF_lg.mjs.map +0 -1
  439. package/dist/contract-view-BMR5IWk4.mjs.map +0 -1
  440. package/dist/contract-view-CPHxoAEX.d.mts.map +0 -1
  441. package/dist/contract__pack-types.d.mts +0 -2
  442. package/dist/control-D3cB5YQp.mjs +0 -1267
  443. package/dist/control-D3cB5YQp.mjs.map +0 -1
  444. package/dist/control-DTLJ1WtZ.d.mts +0 -945
  445. package/dist/control-DTLJ1WtZ.d.mts.map +0 -1
  446. package/dist/control-adapter-C99J7aEF-B7eQd7vD.d.mts.map +0 -1
  447. package/dist/control-adapter-MZJQiwcE.d.mts +0 -1
  448. package/dist/db-D18PrXKW-DvTv4JFn.d.mts.map +0 -1
  449. package/dist/ddl-types-BGdnAbXo-DKPHPUGx.mjs.map +0 -1
  450. package/dist/ddl-types-CXx4vPz6-BsgrnSUY.d.mts.map +0 -1
  451. package/dist/derived-checks-DFMRmiAu-DGfB8aS4.mjs +0 -1057
  452. package/dist/derived-checks-DFMRmiAu-DGfB8aS4.mjs.map +0 -1
  453. package/dist/derived-checks-DPdD01O0-DGqOFjs6.d.mts.map +0 -1
  454. package/dist/diff-B16bL_IR.mjs +0 -13
  455. package/dist/diff-B16bL_IR.mjs.map +0 -1
  456. package/dist/diff-DbTNVm2f.d.mts.map +0 -1
  457. package/dist/dist-C_q1_QR9.mjs.map +0 -1
  458. package/dist/dist-ZK6oeI5e.mjs.map +0 -1
  459. package/dist/dist-x6jvtkKM.mjs.map +0 -1
  460. package/dist/driver-types-BQtRkOJ0-Bv2RPSfr.d.mts.map +0 -1
  461. package/dist/entity-handle-lowering-hook-CIvRKBfa.d.mts.map +0 -1
  462. package/dist/entity-handle-lowering-hook-DwLIKNiS.mjs +0 -11
  463. package/dist/entity-handle-lowering-hook-DwLIKNiS.mjs.map +0 -1
  464. package/dist/entity-kinds-B5cUFU22.d.mts.map +0 -1
  465. package/dist/entity-kinds-D7vwoN_T-CCBwFJy0.mjs.map +0 -1
  466. package/dist/errors-B5g0xWro-mWH2C07F.mjs.map +0 -1
  467. package/dist/expression-CX5mTA-z.mjs.map +0 -1
  468. package/dist/expression-FJK6Ar-d.d.mts.map +0 -1
  469. package/dist/factories-P3qBQhO-.d.mts.map +0 -1
  470. package/dist/factories-SVor5xIT.mjs.map +0 -1
  471. package/dist/family__pack.d.mts.map +0 -1
  472. package/dist/family__pack.mjs.map +0 -1
  473. package/dist/foreign-key-C-iTPuRT-C9ip8zFx.d.mts.map +0 -1
  474. package/dist/foreign-key-materialization-CkvOzJWy.d.mts +0 -65
  475. package/dist/foreign-key-materialization-CkvOzJWy.d.mts.map +0 -1
  476. package/dist/foreign-key-materialization-Cu7-7LHl.mjs +0 -73
  477. package/dist/foreign-key-materialization-Cu7-7LHl.mjs.map +0 -1
  478. package/dist/index-C-vQOMY_.d.mts +0 -84
  479. package/dist/index-C-vQOMY_.d.mts.map +0 -1
  480. package/dist/index-C5I8D-MB.d.mts.map +0 -1
  481. package/dist/index-naming-Ct65z5Xk.d.mts.map +0 -1
  482. package/dist/index-naming-DREt6js7-CRH27yUv.mjs.map +0 -1
  483. package/dist/index-type-validation-COH4d78M.mjs +0 -17
  484. package/dist/index-type-validation-COH4d78M.mjs.map +0 -1
  485. package/dist/index-type-validation-CZ5L2lli.d.mts +0 -10
  486. package/dist/index-type-validation-CZ5L2lli.d.mts.map +0 -1
  487. package/dist/index-types-CNhHgKHi.d.mts +0 -1
  488. package/dist/index-types-DJQ_xwaE.mjs +0 -40
  489. package/dist/index-types-DJQ_xwaE.mjs.map +0 -1
  490. package/dist/index-types-DPVhsW0v-D-BikM4h.d.mts +0 -31
  491. package/dist/index-types-DPVhsW0v-D-BikM4h.d.mts.map +0 -1
  492. package/dist/interpreter-DyiUUAWh-DYdjIpiE.mjs +0 -3680
  493. package/dist/interpreter-DyiUUAWh-DYdjIpiE.mjs.map +0 -1
  494. package/dist/ir-Bghjt-FG.d.mts.map +0 -1
  495. package/dist/ir-I-xciGUH.mjs.map +0 -1
  496. package/dist/lane-query-builder.d.mts +0 -236
  497. package/dist/lane-query-builder.d.mts.map +0 -1
  498. package/dist/lane-query-builder.mjs +0 -67
  499. package/dist/lane-query-builder.mjs.map +0 -1
  500. package/dist/middleware--TtoxUiW.d.mts +0 -1
  501. package/dist/middleware-AhTz1BOW-th-Suxuf.d.mts.map +0 -1
  502. package/dist/middleware-CMr4CHNz-DHIUdxlm.mjs.map +0 -1
  503. package/dist/migration-CK4oePIo.mjs.map +0 -1
  504. package/dist/migration-CjDRZNep.d.mts.map +0 -1
  505. package/dist/naming-CV9j2pXl-KARaDReS.d.mts.map +0 -1
  506. package/dist/naming-DKr4TJd7-Cszhq9RV.mjs.map +0 -1
  507. package/dist/pack-types-BcLTpwbv.d.mts +0 -14
  508. package/dist/pack-types-BcLTpwbv.d.mts.map +0 -1
  509. package/dist/plan-BHLdb0Z7.d.mts +0 -2
  510. package/dist/plan-CDxduYaN-pLIyyJaB.d.mts.map +0 -1
  511. package/dist/plan-Dh0LbYIv-Crx5-ThG.mjs.map +0 -1
  512. package/dist/prepared-query-BJr50wPm-ChoqfJbX.mjs +0 -22
  513. package/dist/prepared-query-BJr50wPm-ChoqfJbX.mjs.map +0 -1
  514. package/dist/prepared-statement-9QpkE6JG-C430V3MO.d.mts +0 -529
  515. package/dist/prepared-statement-9QpkE6JG-C430V3MO.d.mts.map +0 -1
  516. package/dist/psl-infer-CCAD6FWA.d.mts +0 -119
  517. package/dist/psl-infer-CCAD6FWA.d.mts.map +0 -1
  518. package/dist/psl-infer-Dk5kgKre.mjs +0 -362
  519. package/dist/psl-infer-Dk5kgKre.mjs.map +0 -1
  520. package/dist/query-lane-context-Qa-eddrE-kuZ8Z86-.d.mts.map +0 -1
  521. package/dist/query-lane-context-XMvk7fmY.d.mts +0 -1
  522. package/dist/referential-action-sql-DJ9ps6-S.d.mts.map +0 -1
  523. package/dist/referential-action-sql-DSqkrySN.mjs.map +0 -1
  524. package/dist/resolve-storage-table-DZsfnzeW.mjs.map +0 -1
  525. package/dist/resolve-storage-table-Nyrgk4h8.d.mts.map +0 -1
  526. package/dist/runtime-DpKF2Yu2.d.mts.map +0 -1
  527. package/dist/runtime-tIHpGCcG.mjs.map +0 -1
  528. package/dist/runtime.mjs.map +0 -1
  529. package/dist/schema-differ-DpG_gnur-DFAtGezx.d.mts.map +0 -1
  530. package/dist/schema-verify-C_PEdlAr-Dxxjm6EM.mjs.map +0 -1
  531. package/dist/serialized-index-CrgG8ct1-DG3JpHc7.d.mts.map +0 -1
  532. package/dist/serialized-index-nBTwanKy-_ddEK4tk.mjs.map +0 -1
  533. package/dist/sql-contract-serializer-2oBWuxTe-DKZTf2n8.mjs.map +0 -1
  534. package/dist/sql-execution-plan--jKyLpe5-CMGhgO0M.d.mts.map +0 -1
  535. package/dist/sql-index-ByAAE7K8-DKj2V86p.d.mts.map +0 -1
  536. package/dist/sql-node-kEz6YFZo-v2F7delx.d.mts.map +0 -1
  537. package/dist/sql-storage-8LqxeLAY-DH4DdUXx.d.mts.map +0 -1
  538. package/dist/storage-table-DSeWszOL-CI-cItEK.d.mts.map +0 -1
  539. package/dist/storage-table-ZzbR-xzQ-BRoTQE_2.mjs.map +0 -1
  540. package/dist/storage-value-set-BGlj5Uus-CvZD--GG.d.mts.map +0 -1
  541. package/dist/timestamp-now-generator-DRXygu32-DN9Qb1uI.mjs +0 -173
  542. package/dist/timestamp-now-generator-DRXygu32-DN9Qb1uI.mjs.map +0 -1
  543. package/dist/types-4YenawkP-CwaaZSid.mjs.map +0 -1
  544. package/dist/types-B0msOnBM.d.mts +0 -1
  545. package/dist/types-BDUG29Df-LE85dIXP.d.mts +0 -161
  546. package/dist/types-BDUG29Df-LE85dIXP.d.mts.map +0 -1
  547. package/dist/types-CUsJrvEl.mjs.map +0 -1
  548. package/dist/types-CyxGtOOh-BggSa6Fe.d.mts.map +0 -1
  549. package/dist/types-Dt4e_jC--COeP8xzN.mjs.map +0 -1
  550. package/dist/types-Dwcw0F8X.d.mts +0 -1
  551. package/dist/types-IqZMLrFC-DcH8v_u3.d.mts.map +0 -1
  552. package/dist/types-UcHa2cTe.d.mts +0 -17
  553. package/dist/types-UcHa2cTe.d.mts.map +0 -1
  554. package/dist/types-YStFFkKs-D9UAmnON.d.mts.map +0 -1
  555. package/dist/types-v3qxLLxo-DCeKv7yY.d.mts.map +0 -1
  556. package/dist/unique-constraint-M5TlQnJQ-BiIHJ85k.d.mts.map +0 -1
  557. package/dist/util-DQQgv2j1-D6INZaRG.mjs.map +0 -1
  558. package/dist/validators-Belo8QqM.d.mts.map +0 -1
  559. package/dist/validators-CrWD6bSP.mjs.map +0 -1
  560. package/dist/value-set-derivation-hook-BhgGVtw0.d.mts.map +0 -1
  561. package/dist/value-set-derivation-hook-Di9JZ0X7.mjs.map +0 -1
  562. package/dist/verify-u0UTdZgD-DSAaz9rW.mjs.map +0 -1
  563. package/dist/verify-zDRnw0Rn.d.mts.map +0 -1
  564. /package/dist/{contract__pack-types.mjs → relational-core__collection-methods.mjs} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-NTQsD2MS-xcLtvKO9.mjs","names":["#asAnyExpression","#aliasOptions"],"sources":["../../../../2-sql-family/4-lanes/relational-core/dist/types-NTQsD2MS.mjs"],"sourcesContent":["import { ifDefined } from \"@internal/utils/defined\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { structuredError } from \"@internal/utils/structured-error\";\n//#region src/ast/codec-types.ts\nfunction isJsonArray(value) {\n\treturn Array.isArray(value);\n}\nfunction freezeJsonValue(value) {\n\tif (value === null || typeof value !== \"object\") return;\n\tif (isJsonArray(value)) for (const item of value) freezeJsonValue(item);\n\telse for (const item of Object.values(value)) freezeJsonValue(item);\n\tObject.freeze(value);\n}\nfunction frozenCodecRef(codec) {\n\tconst typeParams = codec.typeParams === void 0 ? void 0 : structuredClone(codec.typeParams);\n\tif (typeParams !== void 0) freezeJsonValue(typeParams);\n\treturn Object.freeze({\n\t\tcodecId: codec.codecId,\n\t\t...ifDefined(\"typeParams\", typeParams),\n\t\t...ifDefined(\"many\", codec.many)\n\t});\n}\n//#endregion\n//#region src/ast/types.ts\nfunction isOrderByDirection(value) {\n\treturn value === \"asc\" || value === \"desc\";\n}\nfunction isOrderByNulls(value) {\n\treturn value === \"first\" || value === \"last\";\n}\n/**\n* The closed SQL aggregate alphabet: every function name an {@link AggregateExpr} can carry, and so the set renderers are exhaustive over. Aggregate operation names are an open namespace; an operation outside the alphabet reaches SQL only through a descriptor's lowering hook, which builds its expression from existing nodes.\n*/\nconst aggregateFnNames = /* @__PURE__ */ new Set([\n\t\"count\",\n\t\"sum\",\n\t\"avg\",\n\t\"min\",\n\t\"max\"\n]);\n/** Whether `name` is in the closed SQL aggregate alphabet, and so lowers to a plain {@link AggregateExpr} without a descriptor-supplied hook. */\nfunction isAggregateFn(name) {\n\treturn aggregateFnNames.has(name);\n}\nconst toAnyExpressionVisitor = {\n\tcolumnRef: (expr) => expr,\n\tidentifierRef: (expr) => expr,\n\tsubquery: (expr) => expr,\n\toperation: (expr) => expr,\n\taggregate: (expr) => expr,\n\twindowFunc: (expr) => expr,\n\tfunctionCall: (expr) => expr,\n\tcast: (expr) => expr,\n\tcase: (expr) => expr,\n\tjsonObject: (expr) => expr,\n\tjsonArrayAgg: (expr) => expr,\n\tbinary: (expr) => expr,\n\tand: (expr) => expr,\n\tor: (expr) => expr,\n\texists: (expr) => expr,\n\tnullCheck: (expr) => expr,\n\tnot: (expr) => expr,\n\tliteral: (expr) => expr,\n\tparam: (expr) => expr,\n\tpreparedParam: (expr) => expr,\n\tlist: (expr) => expr,\n\trawExpr: (expr) => expr\n};\nfunction frozenArrayCopy(values) {\n\treturn Object.freeze([...values]);\n}\nfunction frozenOptionalRecordCopy(value) {\n\treturn value === void 0 ? void 0 : Object.freeze({ ...value });\n}\nfunction frozenRecordCopy(record) {\n\treturn Object.freeze({ ...record });\n}\nfunction freezeRows(rows) {\n\treturn Object.freeze(rows.map((row) => Object.freeze({ ...row })));\n}\nfunction combineAll(folder, thunks) {\n\tlet result = folder.empty;\n\tfor (const thunk of thunks) {\n\t\tif (folder.isAbsorbing?.(result)) return result;\n\t\tresult = folder.combine(result, thunk());\n\t}\n\treturn result;\n}\nfunction rewriteComparable(value, rewriter) {\n\tswitch (value.kind) {\n\t\tcase \"param-ref\": return rewriter.paramRef ? rewriter.paramRef(value) : value;\n\t\tcase \"prepared-param-ref\": return rewriter.preparedParamRef ? rewriter.preparedParamRef(value) : value;\n\t\tcase \"literal\": return rewriter.literal ? rewriter.literal(value) : value;\n\t\tcase \"list\":\n\t\t\tif (rewriter.list) return rewriter.list(value);\n\t\t\treturn value.rewrite(rewriter);\n\t\tdefault: return value.rewrite(rewriter);\n\t}\n}\nfunction foldComparable(value, folder) {\n\tswitch (value.kind) {\n\t\tcase \"param-ref\": return folder.paramRef ? folder.paramRef(value) : folder.empty;\n\t\tcase \"prepared-param-ref\": return folder.preparedParamRef ? folder.preparedParamRef(value) : folder.empty;\n\t\tcase \"literal\": return folder.literal ? folder.literal(value) : folder.empty;\n\t\tcase \"list\": return value.fold(folder);\n\t\tdefault: return value.fold(folder);\n\t}\n}\nfunction collectColumnRefsWith(node) {\n\treturn node.fold({\n\t\tempty: [],\n\t\tcombine: (a, b) => [...a, ...b],\n\t\tcolumnRef: (columnRef) => [columnRef],\n\t\tselect: (ast) => ast.collectColumnRefs()\n\t});\n}\nfunction collectParamRefsWith(node) {\n\treturn node.fold({\n\t\tempty: [],\n\t\tcombine: (a, b) => [...a, ...b],\n\t\tparamRef: (paramRef) => [paramRef],\n\t\tpreparedParamRef: (paramRef) => [paramRef],\n\t\tselect: (ast) => ast.collectParamRefs()\n\t});\n}\nfunction rewriteTableSource(table, rewriter) {\n\treturn rewriter.tableSource ? rewriter.tableSource(table) : table;\n}\nfunction rewriteProjectionItem(item, rewriter) {\n\tconst rewrittenExpr = item.expr.kind === \"literal\" ? rewriter.literal ? rewriter.literal(item.expr) : item.expr : item.expr.rewrite(rewriter);\n\treturn new ProjectionItem(item.alias, rewrittenExpr, item.codec);\n}\nfunction rewriteInsertValue(value, rewriter) {\n\tswitch (value.kind) {\n\t\tcase \"param-ref\": return rewriter.paramRef ? rewriteParamRefForInsert(value, rewriter) : value;\n\t\tcase \"prepared-param-ref\": return rewriter.preparedParamRef ? rewriter.preparedParamRef(value) : value;\n\t\tcase \"column-ref\": return rewriter.columnRef ? rewriteColumnRefForInsert(value, rewriter) : value;\n\t\tcase \"default-value\": return value;\n\t\tcase \"raw-expr\": return value;\n\t}\n}\nfunction rewriteParamRefForInsert(value, rewriter) {\n\tconst rewritten = rewriter.paramRef ? rewriter.paramRef(value) : value;\n\treturn rewritten.kind === \"param-ref\" ? rewritten : value;\n}\nfunction rewriteColumnRefForInsert(value, rewriter) {\n\tconst rewritten = rewriter.columnRef ? rewriter.columnRef(value) : value;\n\treturn rewritten.kind === \"column-ref\" ? rewritten : value;\n}\nfunction rewriteInsertRow(row, rewriter) {\n\tconst result = {};\n\tfor (const [key, value] of Object.entries(row)) result[key] = rewriteInsertValue(value, rewriter);\n\treturn result;\n}\nfunction rewriteUpdateSet(set, rewriter) {\n\tconst result = {};\n\tfor (const [key, value] of Object.entries(set)) result[key] = value.rewrite(rewriter);\n\treturn result;\n}\nfunction rewriteLimitOffset(value, rewriter) {\n\tif (value === void 0 || typeof value === \"number\") return value;\n\treturn value.rewrite(rewriter);\n}\nfunction rewriteOnConflict(onConflict, rewriter) {\n\tconst columns = onConflict.columns.map((columnRef) => {\n\t\tconst rewritten = rewriter.columnRef ? rewriter.columnRef(columnRef) : columnRef;\n\t\treturn rewritten.kind === \"column-ref\" ? rewritten : columnRef;\n\t});\n\tif (onConflict.action.kind === \"do-nothing\") return new InsertOnConflict(columns, new DoNothingConflictAction());\n\treturn new InsertOnConflict(columns, new DoUpdateSetConflictAction(rewriteUpdateSet(onConflict.action.set, rewriter)));\n}\nvar AstNode = class {\n\tfreeze() {\n\t\tObject.freeze(this);\n\t}\n};\nvar QueryAst = class extends AstNode {};\nvar FromSource = class extends AstNode {};\nvar Expression = class extends AstNode {\n\tcollectColumnRefs() {\n\t\treturn collectColumnRefsWith(this);\n\t}\n\tcollectParamRefs() {\n\t\treturn collectParamRefsWith(this);\n\t}\n\tbaseColumnRef() {\n\t\tthrow new InternalError(`${this.constructor.name} does not expose a base column reference`);\n\t}\n\t#asAnyExpression() {\n\t\treturn this.accept(toAnyExpressionVisitor);\n\t}\n\ttoExpr() {\n\t\treturn this.#asAnyExpression();\n\t}\n\tnot() {\n\t\treturn new NotExpr(this.#asAnyExpression());\n\t}\n};\nvar TableSource = class TableSource extends FromSource {\n\tkind = \"table-source\";\n\tname;\n\talias;\n\t/**\n\t* Resolved storage namespace coordinate for this table, stamped when the\n\t* table proxy constructs the AST. Renderers qualify via the namespace\n\t* concretion's `qualifyTable()` using this id — never by re-resolving the\n\t* bare table name at render time.\n\t*/\n\tnamespaceId;\n\tconstructor(name, alias, namespaceId) {\n\t\tsuper();\n\t\tthis.name = name;\n\t\tthis.alias = alias;\n\t\tthis.namespaceId = namespaceId;\n\t}\n\tstatic named(name, alias, namespaceId) {\n\t\tconst source = new TableSource(name, alias, namespaceId);\n\t\tsource.freeze();\n\t\treturn source;\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.tableSource ? rewriter.tableSource(this) : this;\n\t}\n\ttoFromSource() {\n\t\treturn this;\n\t}\n};\nvar DerivedTableSource = class DerivedTableSource extends FromSource {\n\tkind = \"derived-table-source\";\n\talias;\n\tquery;\n\tconstructor(alias, query) {\n\t\tsuper();\n\t\tthis.alias = alias;\n\t\tthis.query = query;\n\t\tthis.freeze();\n\t}\n\tstatic as(alias, query) {\n\t\treturn new DerivedTableSource(alias, query);\n\t}\n\trewrite(rewriter) {\n\t\treturn new DerivedTableSource(this.alias, this.query.rewrite(rewriter));\n\t}\n\ttoFromSource() {\n\t\treturn this;\n\t}\n};\nvar FunctionSource = class FunctionSource extends FromSource {\n\tkind = \"function-source\";\n\tfn;\n\targs;\n\talias;\n\tcolumnAliases;\n\tordinality;\n\tconstructor(fn, args, alias, ordinality = false) {\n\t\tsuper();\n\t\tif (alias?.columnAliases?.length === 0) throw structuredError(\"RUNTIME.AST_INVALID\", \"FunctionSource column aliases must not be empty\", { meta: {\n\t\t\tkind: \"function-source\",\n\t\t\tfield: \"columnAliases\"\n\t\t} });\n\t\tthis.fn = fn;\n\t\tthis.args = frozenArrayCopy(args);\n\t\tthis.alias = alias?.alias;\n\t\tthis.columnAliases = alias?.columnAliases === void 0 ? void 0 : frozenArrayCopy(alias.columnAliases);\n\t\tthis.ordinality = ordinality;\n\t\tthis.freeze();\n\t}\n\tstatic of(fn, args, alias) {\n\t\treturn new FunctionSource(fn, args, alias);\n\t}\n\t#aliasOptions() {\n\t\tif (this.alias === void 0) return void 0;\n\t\treturn {\n\t\t\talias: this.alias,\n\t\t\t...ifDefined(\"columnAliases\", this.columnAliases)\n\t\t};\n\t}\n\twithOrdinality() {\n\t\tif (this.ordinality) return this;\n\t\treturn new FunctionSource(this.fn, this.args, this.#aliasOptions(), true);\n\t}\n\trewrite(rewriter) {\n\t\tconst rewrittenArgs = this.args.map((arg) => rewriteComparable(arg, rewriter));\n\t\tif (rewrittenArgs.every((arg, i) => arg === this.args[i])) return this;\n\t\treturn new FunctionSource(this.fn, rewrittenArgs, this.#aliasOptions(), this.ordinality);\n\t}\n\ttoFromSource() {\n\t\treturn this;\n\t}\n};\nvar ColumnRef = class ColumnRef extends Expression {\n\tkind = \"column-ref\";\n\ttable;\n\tcolumn;\n\tconstructor(table, column) {\n\t\tsuper();\n\t\tthis.table = table;\n\t\tthis.column = column;\n\t\tthis.freeze();\n\t}\n\tstatic of(table, column) {\n\t\treturn new ColumnRef(table, column);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.columnRef(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.columnRef ? rewriter.columnRef(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.columnRef ? folder.columnRef(this) : folder.empty;\n\t}\n\tbaseColumnRef() {\n\t\treturn this;\n\t}\n};\nvar IdentifierRef = class IdentifierRef extends Expression {\n\tkind = \"identifier-ref\";\n\tname;\n\tconstructor(name) {\n\t\tsuper();\n\t\tthis.name = name;\n\t\tthis.freeze();\n\t}\n\tstatic of(name) {\n\t\treturn new IdentifierRef(name);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.identifierRef(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.identifierRef ? rewriter.identifierRef(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.identifierRef ? folder.identifierRef(this) : folder.empty;\n\t}\n};\nvar ParamRef = class ParamRef extends Expression {\n\tkind = \"param-ref\";\n\tvalue;\n\tname;\n\t/**\n\t* Codec identity carried by every column-bound `ParamRef`. The encode-side dispatch path materialises the per-instance codec through `contractCodecs.forCodecRef(codec)` — content-keyed memoisation on `(codecId, canonicalize(typeParams))` keeps repeated lookups for the same logical column on one shared {@link Codec}.\n\t*\n\t* `codec` may be `undefined` for `ParamRef`s constructed without a column-bound site (literals, transient builder state); the runtime treats those as untyped passthroughs.\n\t*/\n\tcodec;\n\tconstructor(value, options) {\n\t\tsuper();\n\t\tthis.value = value;\n\t\tthis.name = options?.name;\n\t\tthis.codec = options?.codec ? frozenCodecRef(options.codec) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic of(value, options) {\n\t\treturn new ParamRef(value, options);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.param(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.paramRef ? rewriter.paramRef(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.paramRef ? folder.paramRef(this) : folder.empty;\n\t}\n};\n/**\n* Bind-site placeholder: occupies the same positions as `ParamRef` in the\n* AST, but carries no value — the value is supplied per-execute by the\n* `statement.query(target, params)` caller and matched to this node by\n* `name`.\n*/\nvar PreparedParamRef = class PreparedParamRef extends Expression {\n\tkind = \"prepared-param-ref\";\n\tname;\n\tcodec;\n\tnullable;\n\tconstructor(name, codec, nullable = false) {\n\t\tsuper();\n\t\tthis.name = name;\n\t\tthis.codec = frozenCodecRef(codec);\n\t\tthis.nullable = nullable;\n\t\tthis.freeze();\n\t}\n\tstatic of(name, codec, nullable = false) {\n\t\treturn new PreparedParamRef(name, codec, nullable);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.preparedParam(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.preparedParamRef ? rewriter.preparedParamRef(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.preparedParamRef ? folder.preparedParamRef(this) : folder.empty;\n\t}\n};\nvar DefaultValueExpr = class extends AstNode {\n\tkind = \"default-value\";\n\tconstructor() {\n\t\tsuper();\n\t\tthis.freeze();\n\t}\n};\nvar LiteralExpr = class LiteralExpr extends Expression {\n\tkind = \"literal\";\n\tvalue;\n\tconstructor(value) {\n\t\tsuper();\n\t\tthis.value = value;\n\t\tthis.freeze();\n\t}\n\tstatic of(value) {\n\t\treturn new LiteralExpr(value);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.literal(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.literal ? rewriter.literal(this) : this;\n\t}\n\tfold(folder) {\n\t\treturn folder.literal ? folder.literal(this) : folder.empty;\n\t}\n};\nvar SubqueryExpr = class SubqueryExpr extends Expression {\n\tkind = \"subquery\";\n\tquery;\n\tconstructor(query) {\n\t\tsuper();\n\t\tthis.query = query;\n\t\tthis.freeze();\n\t}\n\tstatic of(query) {\n\t\treturn new SubqueryExpr(query);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.subquery(this);\n\t}\n\trewrite(rewriter) {\n\t\tconst query = this.query.rewrite(rewriter);\n\t\treturn new SubqueryExpr(query);\n\t}\n\tfold(folder) {\n\t\treturn folder.select ? folder.select(this.query) : folder.empty;\n\t}\n};\nvar OperationExpr = class OperationExpr extends Expression {\n\tkind = \"operation\";\n\tmethod;\n\tself;\n\targs;\n\treturns;\n\tlowering;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.method = options.method;\n\t\tthis.self = options.self;\n\t\tthis.args = frozenArrayCopy(options.args ?? []);\n\t\tthis.returns = options.returns;\n\t\tthis.lowering = options.lowering;\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.operation(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new OperationExpr({\n\t\t\tmethod: this.method,\n\t\t\tself: this.self.rewrite(rewriter),\n\t\t\targs: this.args.map((arg) => rewriteComparable(arg, rewriter)),\n\t\t\treturns: this.returns,\n\t\t\tlowering: this.lowering\n\t\t});\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, [() => this.self.fold(folder), ...this.args.map((arg) => () => foldComparable(arg, folder))]);\n\t}\n\tbaseColumnRef() {\n\t\treturn this.self.baseColumnRef();\n\t}\n};\nvar RawExpr = class extends Expression {\n\tkind = \"raw-expr\";\n\tparts;\n\treturns;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.parts = frozenArrayCopy(options.parts);\n\t\tthis.returns = options.returns;\n\t\tthis.freeze();\n\t}\n\taccept(visitor) {\n\t\treturn visitor.rawExpr(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.rawExpr ? rewriter.rawExpr(this) : this;\n\t}\n\tfold(folder) {\n\t\tif (folder.rawExpr) return folder.rawExpr(this);\n\t\treturn combineAll(folder, this.parts.filter((p) => typeof p !== \"string\").map((p) => () => p.fold(folder)));\n\t}\n};\nvar AggregateExpr = class AggregateExpr extends Expression {\n\tkind = \"aggregate\";\n\tfn;\n\texpr;\n\tconstructor(fn, expr) {\n\t\tsuper();\n\t\tif (fn !== \"count\" && expr === void 0) throw structuredError(\"ORM.ARGUMENT_INVALID\", `Aggregate function \"${fn}\" requires an expression`, { meta: { fn } });\n\t\tthis.fn = fn;\n\t\tthis.expr = expr;\n\t\tthis.freeze();\n\t}\n\tstatic count(expr) {\n\t\treturn new AggregateExpr(\"count\", expr);\n\t}\n\tstatic sum(expr) {\n\t\treturn new AggregateExpr(\"sum\", expr);\n\t}\n\tstatic avg(expr) {\n\t\treturn new AggregateExpr(\"avg\", expr);\n\t}\n\tstatic min(expr) {\n\t\treturn new AggregateExpr(\"min\", expr);\n\t}\n\tstatic max(expr) {\n\t\treturn new AggregateExpr(\"max\", expr);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.aggregate(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn this.expr === void 0 ? this : new AggregateExpr(this.fn, this.expr.rewrite(rewriter));\n\t}\n\tfold(folder) {\n\t\treturn this.expr ? this.expr.fold(folder) : folder.empty;\n\t}\n};\n/**\n* Window function call: `fn(args) OVER (PARTITION BY ... ORDER BY ...)`.\n*\n* Both `partitionBy` and `orderBy` are optional; an empty `OVER ()`\n* clause is legal SQL but rarely useful. For `ROW_NUMBER`, `RANK`, and\n* `DENSE_RANK` the standard mandates an `ORDER BY` for deterministic\n* results — callers are expected to provide one, but the AST does not\n* enforce it.\n*\n* The `args` slot exists for future window function additions that take\n* arguments (e.g. `COUNT(*) OVER`, `SUM(x) OVER`); `ROW_NUMBER` and the\n* other ranking functions take no arguments.\n*/\nvar WindowFuncExpr = class WindowFuncExpr extends Expression {\n\tkind = \"window-func\";\n\tfn;\n\targs;\n\tpartitionBy;\n\torderBy;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.fn = options.fn;\n\t\tthis.args = options.args && options.args.length > 0 ? frozenArrayCopy(options.args) : [];\n\t\tthis.partitionBy = options.partitionBy && options.partitionBy.length > 0 ? frozenArrayCopy(options.partitionBy) : void 0;\n\t\tthis.orderBy = options.orderBy && options.orderBy.length > 0 ? frozenArrayCopy(options.orderBy) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic rowNumber(options) {\n\t\treturn new WindowFuncExpr({\n\t\t\tfn: \"row_number\",\n\t\t\t...options\n\t\t});\n\t}\n\taccept(visitor) {\n\t\treturn visitor.windowFunc(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new WindowFuncExpr({\n\t\t\tfn: this.fn,\n\t\t\targs: this.args.map((arg) => arg.rewrite(rewriter)),\n\t\t\t...ifDefined(\"partitionBy\", this.partitionBy?.map((expr) => expr.rewrite(rewriter))),\n\t\t\t...ifDefined(\"orderBy\", this.orderBy?.map((orderItem) => orderItem.rewrite(rewriter)))\n\t\t});\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, [\n\t\t\t...this.args.map((arg) => () => arg.fold(folder)),\n\t\t\t...(this.partitionBy ?? []).map((expr) => () => expr.fold(folder)),\n\t\t\t...(this.orderBy ?? []).map((orderItem) => () => orderItem.expr.fold(folder))\n\t\t]);\n\t}\n};\nvar FunctionCallExpr = class FunctionCallExpr extends Expression {\n\tkind = \"function-call\";\n\tfn;\n\targs;\n\tconstructor(fn, args) {\n\t\tsuper();\n\t\tthis.fn = fn;\n\t\tthis.args = frozenArrayCopy(args);\n\t\tthis.freeze();\n\t}\n\tstatic of(fn, args) {\n\t\treturn new FunctionCallExpr(fn, args);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.functionCall(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new FunctionCallExpr(this.fn, this.args.map((arg) => arg.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, this.args.map((arg) => () => arg.fold(folder)));\n\t}\n};\nvar CastExpr = class CastExpr extends Expression {\n\tkind = \"cast\";\n\texpr;\n\ttargetType;\n\tconstructor(expr, targetType) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.targetType = targetType;\n\t\tthis.freeze();\n\t}\n\tstatic as(expr, targetType) {\n\t\treturn new CastExpr(expr, targetType);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.cast(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new CastExpr(this.expr.rewrite(rewriter), this.targetType);\n\t}\n\tfold(folder) {\n\t\treturn this.expr.fold(folder);\n\t}\n};\nvar CaseExpr = class CaseExpr extends Expression {\n\tkind = \"case\";\n\tbranches;\n\telseExpr;\n\tconstructor(branches, elseExpr) {\n\t\tsuper();\n\t\tif (branches.length === 0) throw structuredError(\"RUNTIME.AST_INVALID\", \"CaseExpr requires at least one branch\", { meta: {\n\t\t\tkind: \"case\",\n\t\t\tfield: \"branches\"\n\t\t} });\n\t\tthis.branches = Object.freeze(branches.map((branch) => Object.freeze({\n\t\t\tcondition: branch.condition,\n\t\t\tvalue: branch.value\n\t\t})));\n\t\tthis.elseExpr = elseExpr;\n\t\tthis.freeze();\n\t}\n\tstatic of(branches, elseExpr) {\n\t\treturn new CaseExpr(branches, elseExpr);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.case(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new CaseExpr(this.branches.map((branch) => ({\n\t\t\tcondition: branch.condition.rewrite(rewriter),\n\t\t\tvalue: branch.value.rewrite(rewriter)\n\t\t})), this.elseExpr?.rewrite(rewriter));\n\t}\n\tfold(folder) {\n\t\tconst elseExpr = this.elseExpr;\n\t\treturn combineAll(folder, [...this.branches.flatMap((branch) => [() => branch.condition.fold(folder), () => branch.value.fold(folder)]), ...elseExpr === void 0 ? [] : [() => elseExpr.fold(folder)]]);\n\t}\n};\nvar JsonObjectExpr = class JsonObjectExpr extends Expression {\n\tkind = \"json-object\";\n\tentries;\n\tconstructor(entries) {\n\t\tsuper();\n\t\tthis.entries = frozenArrayCopy(entries.map((entry) => Object.freeze({ ...entry })));\n\t\tthis.freeze();\n\t}\n\tstatic entry(key, value) {\n\t\treturn {\n\t\t\tkey,\n\t\t\tvalue\n\t\t};\n\t}\n\tstatic fromEntries(entries) {\n\t\treturn new JsonObjectExpr(entries);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.jsonObject(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new JsonObjectExpr(this.entries.map((entry) => ({\n\t\t\tkey: entry.key,\n\t\t\tvalue: entry.value.rewrite(rewriter)\n\t\t})));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, this.entries.map((entry) => () => entry.value.fold(folder)));\n\t}\n};\nvar OrderByItem = class OrderByItem extends AstNode {\n\tkind = \"order-by-item\";\n\texpr;\n\tdir;\n\tnulls;\n\tconstructor(expr, dir, nulls) {\n\t\tsuper();\n\t\tif (!isOrderByDirection(dir)) throw structuredError(\"RUNTIME.AST_INVALID\", \"OrderByItem direction must be asc or desc\", { meta: {\n\t\t\tkind: \"order-by-item\",\n\t\t\tfield: \"dir\"\n\t\t} });\n\t\tif (nulls !== void 0 && !isOrderByNulls(nulls)) throw structuredError(\"RUNTIME.AST_INVALID\", \"OrderByItem null placement must be first, last or undefined\", { meta: {\n\t\t\tkind: \"order-by-item\",\n\t\t\tfield: \"nulls\"\n\t\t} });\n\t\tthis.expr = expr;\n\t\tthis.dir = dir;\n\t\tthis.nulls = nulls;\n\t\tthis.freeze();\n\t}\n\tstatic asc(expr, options) {\n\t\treturn new OrderByItem(expr, \"asc\", options?.nulls);\n\t}\n\tstatic desc(expr, options) {\n\t\treturn new OrderByItem(expr, \"desc\", options?.nulls);\n\t}\n\trewrite(rewriter) {\n\t\treturn this.withExpr(this.expr.rewrite(rewriter));\n\t}\n\t/** A new frozen item ordering by `expr` with the same direction and null placement. */\n\twithExpr(expr) {\n\t\treturn new OrderByItem(expr, this.dir, this.nulls);\n\t}\n\t/**\n\t* A new frozen item with the sort direction and null placement flipped and `expr` unchanged. Integrations that own pagination (e.g. backward cursor pagination) use this to reverse a user's sort order without reaching into the AST.\n\t*/\n\treverse() {\n\t\treturn new OrderByItem(this.expr, this.dir === \"asc\" ? \"desc\" : \"asc\", this.nulls === void 0 ? void 0 : this.nulls === \"first\" ? \"last\" : \"first\");\n\t}\n};\nvar JsonArrayAggExpr = class JsonArrayAggExpr extends Expression {\n\tkind = \"json-array-agg\";\n\texpr;\n\tonEmpty;\n\torderBy;\n\tconstructor(expr, onEmpty = \"null\", orderBy) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.onEmpty = onEmpty;\n\t\tthis.orderBy = orderBy && orderBy.length > 0 ? frozenArrayCopy(orderBy) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic of(expr, onEmpty = \"null\", orderBy) {\n\t\treturn new JsonArrayAggExpr(expr, onEmpty, orderBy);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.jsonArrayAgg(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new JsonArrayAggExpr(this.expr.rewrite(rewriter), this.onEmpty, this.orderBy?.map((orderItem) => orderItem.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, [() => this.expr.fold(folder), ...(this.orderBy ?? []).map((orderItem) => () => orderItem.expr.fold(folder))]);\n\t}\n};\nvar ListExpression = class ListExpression extends Expression {\n\tkind = \"list\";\n\tvalues;\n\tconstructor(values) {\n\t\tsuper();\n\t\tthis.values = frozenArrayCopy(values);\n\t\tthis.freeze();\n\t}\n\tstatic of(values) {\n\t\treturn new ListExpression(values);\n\t}\n\tstatic fromValues(values) {\n\t\treturn new ListExpression(values.map((value) => new LiteralExpr(value)));\n\t}\n\taccept(visitor) {\n\t\treturn visitor.list(this);\n\t}\n\trewrite(rewriter) {\n\t\tif (rewriter.list) return rewriter.list(this);\n\t\treturn new ListExpression(this.values.map((value) => value.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\tif (folder.list) return folder.list(this);\n\t\treturn combineAll(folder, this.values.map((value) => () => value.fold(folder)));\n\t}\n};\nvar BinaryExpr = class BinaryExpr extends Expression {\n\tkind = \"binary\";\n\top;\n\tleft;\n\tright;\n\tconstructor(op, left, right) {\n\t\tsuper();\n\t\tthis.op = op;\n\t\tthis.left = left;\n\t\tthis.right = right;\n\t\tthis.freeze();\n\t}\n\tstatic eq(left, right) {\n\t\treturn new BinaryExpr(\"eq\", left, right);\n\t}\n\tstatic neq(left, right) {\n\t\treturn new BinaryExpr(\"neq\", left, right);\n\t}\n\tstatic gt(left, right) {\n\t\treturn new BinaryExpr(\"gt\", left, right);\n\t}\n\tstatic lt(left, right) {\n\t\treturn new BinaryExpr(\"lt\", left, right);\n\t}\n\tstatic gte(left, right) {\n\t\treturn new BinaryExpr(\"gte\", left, right);\n\t}\n\tstatic lte(left, right) {\n\t\treturn new BinaryExpr(\"lte\", left, right);\n\t}\n\tstatic like(left, right) {\n\t\treturn new BinaryExpr(\"like\", left, right);\n\t}\n\tstatic in(left, right) {\n\t\treturn new BinaryExpr(\"in\", left, right);\n\t}\n\tstatic notIn(left, right) {\n\t\treturn new BinaryExpr(\"notIn\", left, right);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.binary(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new BinaryExpr(this.op, rewriteComparable(this.left, rewriter), rewriteComparable(this.right, rewriter));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, [() => foldComparable(this.left, folder), () => foldComparable(this.right, folder)]);\n\t}\n};\nvar AndExpr = class AndExpr extends Expression {\n\tkind = \"and\";\n\texprs;\n\tconstructor(exprs) {\n\t\tsuper();\n\t\tthis.exprs = frozenArrayCopy(exprs);\n\t\tthis.freeze();\n\t}\n\tstatic of(exprs) {\n\t\treturn new AndExpr(exprs);\n\t}\n\tstatic true() {\n\t\treturn new AndExpr([]);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.and(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new AndExpr(this.exprs.map((expr) => expr.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, this.exprs.map((expr) => () => expr.fold(folder)));\n\t}\n};\nvar OrExpr = class OrExpr extends Expression {\n\tkind = \"or\";\n\texprs;\n\tconstructor(exprs) {\n\t\tsuper();\n\t\tthis.exprs = frozenArrayCopy(exprs);\n\t\tthis.freeze();\n\t}\n\tstatic of(exprs) {\n\t\treturn new OrExpr(exprs);\n\t}\n\tstatic false() {\n\t\treturn new OrExpr([]);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.or(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new OrExpr(this.exprs.map((expr) => expr.rewrite(rewriter)));\n\t}\n\tfold(folder) {\n\t\treturn combineAll(folder, this.exprs.map((expr) => () => expr.fold(folder)));\n\t}\n};\nvar ExistsExpr = class ExistsExpr extends Expression {\n\tkind = \"exists\";\n\tnotExists;\n\tsubquery;\n\tconstructor(subquery, notExists = false) {\n\t\tsuper();\n\t\tthis.notExists = notExists;\n\t\tthis.subquery = subquery;\n\t\tthis.freeze();\n\t}\n\tstatic exists(subquery) {\n\t\treturn new ExistsExpr(subquery, false);\n\t}\n\tstatic notExists(subquery) {\n\t\treturn new ExistsExpr(subquery, true);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.exists(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new ExistsExpr(this.subquery.rewrite(rewriter), this.notExists);\n\t}\n\tfold(folder) {\n\t\treturn folder.select ? folder.select(this.subquery) : folder.empty;\n\t}\n};\nvar NullCheckExpr = class NullCheckExpr extends Expression {\n\tkind = \"null-check\";\n\texpr;\n\tisNull;\n\tconstructor(expr, isNull) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.isNull = isNull;\n\t\tthis.freeze();\n\t}\n\tstatic isNull(expr) {\n\t\treturn new NullCheckExpr(expr, true);\n\t}\n\tstatic isNotNull(expr) {\n\t\treturn new NullCheckExpr(expr, false);\n\t}\n\taccept(visitor) {\n\t\treturn visitor.nullCheck(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new NullCheckExpr(this.expr.rewrite(rewriter), this.isNull);\n\t}\n\tfold(folder) {\n\t\treturn this.expr.fold(folder);\n\t}\n};\nvar NotExpr = class NotExpr extends Expression {\n\tkind = \"not\";\n\texpr;\n\tconstructor(expr) {\n\t\tsuper();\n\t\tthis.expr = expr;\n\t\tthis.freeze();\n\t}\n\ttoWhereExpr() {\n\t\treturn this;\n\t}\n\taccept(visitor) {\n\t\treturn visitor.not(this);\n\t}\n\trewrite(rewriter) {\n\t\treturn new NotExpr(this.expr.rewrite(rewriter));\n\t}\n\tfold(folder) {\n\t\treturn this.expr.fold(folder);\n\t}\n};\nvar EqColJoinOn = class EqColJoinOn extends AstNode {\n\tkind = \"eq-col-join-on\";\n\tleft;\n\tright;\n\tconstructor(left, right) {\n\t\tsuper();\n\t\tthis.left = left;\n\t\tthis.right = right;\n\t\tthis.freeze();\n\t}\n\tstatic of(left, right) {\n\t\treturn new EqColJoinOn(left, right);\n\t}\n\trewrite(rewriter) {\n\t\treturn rewriter.eqColJoinOn ? rewriter.eqColJoinOn(this) : this;\n\t}\n};\nvar JoinAst = class JoinAst extends AstNode {\n\tkind = \"join\";\n\tjoinType;\n\tsource;\n\tlateral;\n\ton;\n\tconstructor(joinType, source, on, lateral = false) {\n\t\tsuper();\n\t\tthis.joinType = joinType;\n\t\tthis.source = source;\n\t\tthis.lateral = lateral;\n\t\tthis.on = on;\n\t\tthis.freeze();\n\t}\n\tstatic inner(source, on, lateral = false) {\n\t\treturn new JoinAst(\"inner\", source, on, lateral);\n\t}\n\tstatic left(source, on, lateral = false) {\n\t\treturn new JoinAst(\"left\", source, on, lateral);\n\t}\n\tstatic right(source, on, lateral = false) {\n\t\treturn new JoinAst(\"right\", source, on, lateral);\n\t}\n\tstatic full(source, on, lateral = false) {\n\t\treturn new JoinAst(\"full\", source, on, lateral);\n\t}\n\trewrite(rewriter) {\n\t\treturn new JoinAst(this.joinType, this.source.rewrite(rewriter), this.on.kind === \"eq-col-join-on\" ? this.on.rewrite(rewriter) : this.on.rewrite(rewriter), this.lateral);\n\t}\n};\nvar ProjectionItem = class ProjectionItem extends AstNode {\n\tkind = \"projection-item\";\n\talias;\n\texpr;\n\t/**\n\t* Codec identity for any known projected result, whether read directly from a contract column or forwarded through a query wrapper. Decode-side dispatch resolves the per-instance codec through `contractCodecs.forCodecRef(codec)` — content-keyed memoisation collapses repeated lookups for the same logical result onto one shared {@link Codec}.\n\t*\n\t* Stays `undefined` only when the projected result's codec is unknown, such as computed expressions, subqueries, or raw aliases whose decoded type the runtime cannot infer.\n\t*/\n\tcodec;\n\tconstructor(alias, expr, codec) {\n\t\tsuper();\n\t\tthis.alias = alias;\n\t\tthis.expr = expr;\n\t\tthis.codec = codec ? frozenCodecRef(codec) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic of(alias, expr, codec) {\n\t\treturn new ProjectionItem(alias, expr, codec);\n\t}\n\twithCodec(codec) {\n\t\treturn new ProjectionItem(this.alias, this.expr, codec);\n\t}\n};\nfunction checkLimitOffset(argument, value) {\n\tif (typeof value === \"number\" && !(Number.isSafeInteger(value) && value >= 0)) throw structuredError(\"ORM.ARGUMENT_INVALID\", `${argument} must be an integer from 0 to ${Number.MAX_SAFE_INTEGER}, got ${String(value)}`, { meta: { argument } });\n}\n/** A row-locking clause on a select. `of` holds unqualified table names or aliases as written in FROM. */\nvar LockingClause = class LockingClause extends AstNode {\n\tkind = \"locking-clause\";\n\tstrength;\n\tof;\n\twaitPolicy;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.strength = options.strength;\n\t\tthis.of = options.of && options.of.length > 0 ? frozenArrayCopy(options.of) : void 0;\n\t\tthis.waitPolicy = options.waitPolicy;\n\t\tthis.freeze();\n\t}\n\tstatic of(strength, options) {\n\t\treturn new LockingClause({\n\t\t\tstrength,\n\t\t\tof: options?.of,\n\t\t\twaitPolicy: options?.waitPolicy\n\t\t});\n\t}\n};\nvar SelectAst = class SelectAst extends QueryAst {\n\tkind = \"select\";\n\tfrom;\n\tjoins;\n\tprojection;\n\twhere;\n\torderBy;\n\tdistinct;\n\tdistinctOn;\n\tgroupBy;\n\thaving;\n\tlimit;\n\toffset;\n\tlocking;\n\tselectAllIntent;\n\tconstructor(options) {\n\t\tsuper();\n\t\tcheckLimitOffset(\"limit\", options.limit);\n\t\tcheckLimitOffset(\"offset\", options.offset);\n\t\tthis.from = options.from;\n\t\tthis.joins = options.joins && options.joins.length > 0 ? frozenArrayCopy(options.joins) : void 0;\n\t\tthis.projection = frozenArrayCopy(options.projection);\n\t\tthis.where = options.where;\n\t\tthis.orderBy = options.orderBy && options.orderBy.length > 0 ? frozenArrayCopy(options.orderBy) : void 0;\n\t\tthis.distinct = options.distinct;\n\t\tthis.distinctOn = options.distinctOn && options.distinctOn.length > 0 ? frozenArrayCopy(options.distinctOn) : void 0;\n\t\tthis.groupBy = options.groupBy && options.groupBy.length > 0 ? frozenArrayCopy(options.groupBy) : void 0;\n\t\tthis.having = options.having;\n\t\tthis.limit = options.limit;\n\t\tthis.offset = options.offset;\n\t\tthis.locking = options.locking && options.locking.length > 0 ? frozenArrayCopy(options.locking) : void 0;\n\t\tthis.selectAllIntent = frozenOptionalRecordCopy(options.selectAllIntent);\n\t\tthis.freeze();\n\t}\n\tstatic from(from) {\n\t\treturn new SelectAst({\n\t\t\tfrom,\n\t\t\tjoins: void 0,\n\t\t\tprojection: [],\n\t\t\twhere: void 0,\n\t\t\torderBy: void 0,\n\t\t\tdistinct: void 0,\n\t\t\tdistinctOn: void 0,\n\t\t\tgroupBy: void 0,\n\t\t\thaving: void 0,\n\t\t\tlimit: void 0,\n\t\t\toffset: void 0,\n\t\t\tlocking: void 0,\n\t\t\tselectAllIntent: void 0\n\t\t});\n\t}\n\tstatic noFrom() {\n\t\treturn new SelectAst({\n\t\t\tjoins: void 0,\n\t\t\tprojection: [],\n\t\t\twhere: void 0,\n\t\t\torderBy: void 0,\n\t\t\tdistinct: void 0,\n\t\t\tdistinctOn: void 0,\n\t\t\tgroupBy: void 0,\n\t\t\thaving: void 0,\n\t\t\tlimit: void 0,\n\t\t\toffset: void 0,\n\t\t\tlocking: void 0,\n\t\t\tselectAllIntent: void 0\n\t\t});\n\t}\n\ttoOptions() {\n\t\treturn {\n\t\t\t...this.from !== void 0 ? { from: this.from } : {},\n\t\t\tjoins: this.joins,\n\t\t\tprojection: this.projection,\n\t\t\twhere: this.where,\n\t\t\torderBy: this.orderBy,\n\t\t\tdistinct: this.distinct,\n\t\t\tdistinctOn: this.distinctOn,\n\t\t\tgroupBy: this.groupBy,\n\t\t\thaving: this.having,\n\t\t\tlimit: this.limit,\n\t\t\toffset: this.offset,\n\t\t\tlocking: this.locking,\n\t\t\tselectAllIntent: this.selectAllIntent\n\t\t};\n\t}\n\twithFrom(from) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tfrom\n\t\t});\n\t}\n\twithJoins(joins) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tjoins: joins.length > 0 ? joins : void 0\n\t\t});\n\t}\n\twithProjection(projection) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tprojection\n\t\t});\n\t}\n\taddProjection(alias, expr) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tprojection: [...this.projection, new ProjectionItem(alias, expr)]\n\t\t});\n\t}\n\twithWhere(where) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\twhere\n\t\t});\n\t}\n\twithOrderBy(orderBy) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\torderBy: orderBy.length > 0 ? orderBy : void 0\n\t\t});\n\t}\n\twithDistinct(enabled = true) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tdistinct: enabled ? true : void 0\n\t\t});\n\t}\n\twithDistinctOn(distinctOn) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tdistinctOn: distinctOn.length > 0 ? distinctOn : void 0\n\t\t});\n\t}\n\twithLocking(locking) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tlocking: locking.length > 0 ? locking : void 0\n\t\t});\n\t}\n\twithGroupBy(groupBy) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tgroupBy: groupBy.length > 0 ? groupBy : void 0\n\t\t});\n\t}\n\twithHaving(having) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\thaving\n\t\t});\n\t}\n\twithLimit(limit) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tlimit\n\t\t});\n\t}\n\twithOffset(offset) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\toffset\n\t\t});\n\t}\n\twithSelectAllIntent(selectAllIntent) {\n\t\treturn new SelectAst({\n\t\t\t...this.toOptions(),\n\t\t\tselectAllIntent\n\t\t});\n\t}\n\trewrite(rewriter) {\n\t\tconst rewrittenFrom = this.from?.rewrite(rewriter);\n\t\tconst rewritten = new SelectAst({\n\t\t\t...rewrittenFrom !== void 0 ? { from: rewrittenFrom } : {},\n\t\t\tjoins: this.joins?.map((join) => join.rewrite(rewriter)),\n\t\t\tprojection: this.projection.map((projection) => new ProjectionItem(projection.alias, projection.expr.kind === \"literal\" ? rewriter.literal ? rewriter.literal(projection.expr) : projection.expr : projection.expr.rewrite(rewriter), projection.codec)),\n\t\t\twhere: this.where?.rewrite(rewriter),\n\t\t\torderBy: this.orderBy?.map((orderItem) => orderItem.rewrite(rewriter)),\n\t\t\tdistinct: this.distinct,\n\t\t\tdistinctOn: this.distinctOn?.map((expr) => expr.rewrite(rewriter)),\n\t\t\tgroupBy: this.groupBy?.map((expr) => expr.rewrite(rewriter)),\n\t\t\thaving: this.having?.rewrite(rewriter),\n\t\t\tlimit: rewriteLimitOffset(this.limit, rewriter),\n\t\t\toffset: rewriteLimitOffset(this.offset, rewriter),\n\t\t\tlocking: this.locking,\n\t\t\tselectAllIntent: this.selectAllIntent\n\t\t});\n\t\treturn rewriter.select ? rewriter.select(rewritten) : rewritten;\n\t}\n\tcollectColumnRefs() {\n\t\tconst refs = [];\n\t\tconst pushRefs = (columns) => {\n\t\t\trefs.push(...columns);\n\t\t};\n\t\tif (this.from?.kind === \"derived-table-source\") pushRefs(this.from.query.collectColumnRefs());\n\t\telse if (this.from?.kind === \"function-source\") for (const arg of this.from.args) pushRefs(arg.collectColumnRefs());\n\t\tfor (const projection of this.projection) if (!(projection.expr.kind === \"literal\")) pushRefs(projection.expr.collectColumnRefs());\n\t\tif (this.where) pushRefs(this.where.collectColumnRefs());\n\t\tif (this.having) pushRefs(this.having.collectColumnRefs());\n\t\tfor (const orderItem of this.orderBy ?? []) pushRefs(orderItem.expr.collectColumnRefs());\n\t\tfor (const expr of this.distinctOn ?? []) pushRefs(expr.collectColumnRefs());\n\t\tfor (const expr of this.groupBy ?? []) pushRefs(expr.collectColumnRefs());\n\t\tfor (const join of this.joins ?? []) {\n\t\t\tif (join.source.kind === \"derived-table-source\") pushRefs(join.source.query.collectColumnRefs());\n\t\t\telse if (join.source.kind === \"function-source\") for (const arg of join.source.args) pushRefs(arg.collectColumnRefs());\n\t\t\tif (join.on.kind === \"eq-col-join-on\") refs.push(join.on.left, join.on.right);\n\t\t\telse pushRefs(join.on.collectColumnRefs());\n\t\t}\n\t\tif (typeof this.limit === \"object\") pushRefs(this.limit.collectColumnRefs());\n\t\tif (typeof this.offset === \"object\") pushRefs(this.offset.collectColumnRefs());\n\t\treturn refs;\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tconst pushRefs = (params) => {\n\t\t\trefs.push(...params);\n\t\t};\n\t\tif (this.from?.kind === \"derived-table-source\") pushRefs(this.from.query.collectParamRefs());\n\t\telse if (this.from?.kind === \"function-source\") for (const arg of this.from.args) pushRefs(arg.collectParamRefs());\n\t\tfor (const projection of this.projection) if (!(projection.expr.kind === \"literal\")) pushRefs(projection.expr.collectParamRefs());\n\t\tif (this.where) pushRefs(this.where.collectParamRefs());\n\t\tif (this.having) pushRefs(this.having.collectParamRefs());\n\t\tfor (const orderItem of this.orderBy ?? []) pushRefs(orderItem.expr.collectParamRefs());\n\t\tfor (const expr of this.distinctOn ?? []) pushRefs(expr.collectParamRefs());\n\t\tfor (const expr of this.groupBy ?? []) pushRefs(expr.collectParamRefs());\n\t\tfor (const join of this.joins ?? []) {\n\t\t\tif (join.source.kind === \"derived-table-source\") pushRefs(join.source.query.collectParamRefs());\n\t\t\telse if (join.source.kind === \"function-source\") for (const arg of join.source.args) pushRefs(arg.collectParamRefs());\n\t\t\tif (!(join.on.kind === \"eq-col-join-on\")) pushRefs(join.on.collectParamRefs());\n\t\t}\n\t\tif (typeof this.limit === \"object\") pushRefs(this.limit.collectParamRefs());\n\t\tif (typeof this.offset === \"object\") pushRefs(this.offset.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\nvar InsertOnConflictAction = class extends AstNode {};\nvar DoNothingConflictAction = class extends InsertOnConflictAction {\n\tkind = \"do-nothing\";\n\tconstructor() {\n\t\tsuper();\n\t\tthis.freeze();\n\t}\n\ttoInsertOnConflictAction() {\n\t\treturn this;\n\t}\n};\nvar DoUpdateSetConflictAction = class extends InsertOnConflictAction {\n\tkind = \"do-update-set\";\n\tset;\n\tconstructor(set) {\n\t\tsuper();\n\t\tthis.set = frozenRecordCopy(set);\n\t\tthis.freeze();\n\t}\n\ttoInsertOnConflictAction() {\n\t\treturn this;\n\t}\n};\nvar InsertOnConflict = class InsertOnConflict extends AstNode {\n\tkind = \"insert-on-conflict\";\n\tcolumns;\n\taction;\n\tconstructor(columns, action) {\n\t\tsuper();\n\t\tthis.columns = frozenArrayCopy(columns);\n\t\tthis.action = action;\n\t\tthis.freeze();\n\t}\n\tstatic on(columns) {\n\t\treturn new InsertOnConflict(columns, new DoNothingConflictAction());\n\t}\n\t/**\n\t* Skip a row that collides with any unique constraint on the table, without\n\t* naming one. The renderer chooses the dialect; Postgres and SQLite emit\n\t* `ON CONFLICT DO NOTHING`.\n\t*/\n\tstatic doNothing() {\n\t\treturn new InsertOnConflict([], new DoNothingConflictAction());\n\t}\n\tdoNothing() {\n\t\treturn new InsertOnConflict(this.columns, new DoNothingConflictAction());\n\t}\n\tdoUpdateSet(set) {\n\t\treturn new InsertOnConflict(this.columns, new DoUpdateSetConflictAction(set));\n\t}\n};\nvar InsertAst = class InsertAst extends QueryAst {\n\tkind = \"insert\";\n\ttable;\n\trows;\n\tonConflict;\n\treturning;\n\tconstructor(table, rows = [{}], onConflict, returning) {\n\t\tsuper();\n\t\tthis.table = table;\n\t\tthis.rows = freezeRows(rows);\n\t\tthis.onConflict = onConflict;\n\t\tthis.returning = returning && returning.length > 0 ? frozenArrayCopy(returning) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic into(table) {\n\t\treturn new InsertAst(table);\n\t}\n\twithRows(rows) {\n\t\treturn new InsertAst(this.table, rows.map((row) => ({ ...row })), this.onConflict, this.returning);\n\t}\n\twithReturning(returning) {\n\t\treturn new InsertAst(this.table, this.rows.map((row) => ({ ...row })), this.onConflict, returning);\n\t}\n\twithOnConflict(onConflict) {\n\t\treturn new InsertAst(this.table, this.rows.map((row) => ({ ...row })), onConflict, this.returning);\n\t}\n\trewrite(rewriter) {\n\t\treturn new InsertAst(rewriteTableSource(this.table, rewriter), this.rows.map((row) => rewriteInsertRow(row, rewriter)), this.onConflict ? rewriteOnConflict(this.onConflict, rewriter) : void 0, this.returning?.map((item) => rewriteProjectionItem(item, rewriter)));\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tfor (const row of this.rows) for (const value of Object.values(row)) if (value.kind === \"param-ref\" || value.kind === \"prepared-param-ref\") refs.push(value);\n\t\telse if (value.kind === \"raw-expr\") refs.push(...value.collectParamRefs());\n\t\tif (this.onConflict?.action.kind === \"do-update-set\") {\n\t\t\tfor (const value of Object.values(this.onConflict.action.set)) if (value.kind === \"param-ref\" || value.kind === \"prepared-param-ref\") refs.push(value);\n\t\t}\n\t\tfor (const item of this.returning ?? []) if (item.expr.kind !== \"literal\") refs.push(...item.expr.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\nvar UpdateAst = class UpdateAst extends QueryAst {\n\tkind = \"update\";\n\ttable;\n\tset;\n\twhere;\n\treturning;\n\tconstructor(table, set = {}, where, returning) {\n\t\tsuper();\n\t\tthis.table = table;\n\t\tthis.set = frozenRecordCopy(set);\n\t\tthis.where = where;\n\t\tthis.returning = returning && returning.length > 0 ? frozenArrayCopy(returning) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic table(table) {\n\t\treturn new UpdateAst(table);\n\t}\n\twithSet(set) {\n\t\treturn new UpdateAst(this.table, set, this.where, this.returning);\n\t}\n\twithWhere(where) {\n\t\treturn new UpdateAst(this.table, this.set, where, this.returning);\n\t}\n\twithReturning(returning) {\n\t\treturn new UpdateAst(this.table, this.set, this.where, returning);\n\t}\n\trewrite(rewriter) {\n\t\treturn new UpdateAst(rewriteTableSource(this.table, rewriter), rewriteUpdateSet(this.set, rewriter), this.where?.rewrite(rewriter), this.returning?.map((item) => rewriteProjectionItem(item, rewriter)));\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tfor (const value of Object.values(this.set)) refs.push(...value.collectParamRefs());\n\t\tif (this.where) refs.push(...this.where.collectParamRefs());\n\t\tfor (const item of this.returning ?? []) if (item.expr.kind !== \"literal\") refs.push(...item.expr.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\nvar DeleteAst = class DeleteAst extends QueryAst {\n\tkind = \"delete\";\n\ttable;\n\twhere;\n\treturning;\n\tconstructor(table, where, returning) {\n\t\tsuper();\n\t\tthis.table = table;\n\t\tthis.where = where;\n\t\tthis.returning = returning && returning.length > 0 ? frozenArrayCopy(returning) : void 0;\n\t\tthis.freeze();\n\t}\n\tstatic from(table) {\n\t\treturn new DeleteAst(table);\n\t}\n\twithWhere(where) {\n\t\treturn new DeleteAst(this.table, where, this.returning);\n\t}\n\twithReturning(returning) {\n\t\treturn new DeleteAst(this.table, this.where, returning);\n\t}\n\trewrite(rewriter) {\n\t\treturn new DeleteAst(rewriteTableSource(this.table, rewriter), this.where?.rewrite(rewriter), this.returning?.map((item) => rewriteProjectionItem(item, rewriter)));\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tif (this.where) refs.push(...this.where.collectParamRefs());\n\t\tfor (const item of this.returning ?? []) if (item.expr.kind !== \"literal\") refs.push(...item.expr.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\n/**\n* The one column name a declared result cannot carry. Writing `__proto__` onto\n* an object literal sets that object's prototype instead of adding a property,\n* so a column so named would disappear between the declaration and the decoded\n* row — and the row type would still promise it. Every other name that shadows\n* something on `Object.prototype` (`constructor`, `prototype`) is an ordinary\n* own property when assigned, and passes through as declared.\n*/\nconst RESERVED_RESULT_COLUMN = \"__proto__\";\nfunction frozenRawQueryResult(result) {\n\tif (result.kind === \"affected-count\") return Object.freeze({ kind: \"affected-count\" });\n\tconst columns = {};\n\tfor (const [name, column] of Object.entries(result.columns)) {\n\t\tif (name === RESERVED_RESULT_COLUMN) throw structuredError(\"RUNTIME.AST_INVALID\", `A raw query result cannot declare a \"${RESERVED_RESULT_COLUMN}\" column: alias the column in SQL and declare the alias instead`, { meta: {\n\t\t\tkind: \"raw-query\",\n\t\t\tfield: \"result.columns\",\n\t\t\tcolumn: name\n\t\t} });\n\t\tcolumns[name] = Object.freeze({\n\t\t\tcodecId: column.codecId,\n\t\t\tnullable: column.nullable\n\t\t});\n\t}\n\treturn Object.freeze({\n\t\tkind: \"rows\",\n\t\tcolumns: Object.freeze(columns)\n\t});\n}\n/**\n* Raw-SQL statement AST node: a whole query authored as a template, carrying\n* the same `parts` representation as {@link RawExpr} (literal SQL fragments\n* interleaved with interpolated expressions and `ParamRef`s) plus the result\n* the author declared for it.\n*\n* The shared `parts` shape is what lets a row-returning raw query be spliced\n* into another raw template: the inner parts are concatenated into the outer\n* list, so parameters keep their template order and lowering walks one flat\n* sequence.\n*/\nvar RawQueryAst = class RawQueryAst extends QueryAst {\n\tkind = \"raw-query\";\n\tparts;\n\tresult;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.parts = frozenArrayCopy(options.parts);\n\t\tthis.result = frozenRawQueryResult(options.result);\n\t\tthis.freeze();\n\t}\n\tstatic rows(parts, columns) {\n\t\treturn new RawQueryAst({\n\t\t\tparts,\n\t\t\tresult: {\n\t\t\t\tkind: \"rows\",\n\t\t\t\tcolumns\n\t\t\t}\n\t\t});\n\t}\n\tstatic affectedCount(parts) {\n\t\treturn new RawQueryAst({\n\t\t\tparts,\n\t\t\tresult: { kind: \"affected-count\" }\n\t\t});\n\t}\n\trewrite(rewriter) {\n\t\treturn new RawQueryAst({\n\t\t\tparts: this.parts.map((part) => typeof part === \"string\" ? part : rewriteComparable(part, rewriter)),\n\t\t\tresult: this.result\n\t\t});\n\t}\n\tcollectParamRefs() {\n\t\tconst refs = [];\n\t\tfor (const part of this.parts) if (typeof part !== \"string\") refs.push(...part.collectParamRefs());\n\t\treturn refs;\n\t}\n\ttoQueryAst() {\n\t\treturn this;\n\t}\n};\nconst queryAstKinds = /* @__PURE__ */ new Set([\n\t\"select\",\n\t\"insert\",\n\t\"update\",\n\t\"delete\",\n\t\"raw-query\"\n]);\nconst whereExprKinds = /* @__PURE__ */ new Set([\n\t\"binary\",\n\t\"and\",\n\t\"or\",\n\t\"exists\",\n\t\"null-check\",\n\t\"not\"\n]);\nfunction isQueryAst(value) {\n\treturn typeof value === \"object\" && value !== null && \"kind\" in value && typeof value.kind === \"string\" && queryAstKinds.has(value.kind);\n}\nfunction isWhereExpr(value) {\n\treturn typeof value === \"object\" && value !== null && \"kind\" in value && typeof value.kind === \"string\" && whereExprKinds.has(value.kind);\n}\n//#endregion\nexport { ParamRef as A, aggregateFnNames as B, LiteralExpr as C, OperationExpr as D, NullCheckExpr as E, SelectAst as F, isQueryAst as G, isAggregateFn as H, SubqueryExpr as I, whereExprKinds as J, isWhereExpr as K, TableSource as L, ProjectionItem as M, RawExpr as N, OrExpr as O, RawQueryAst as P, UpdateAst as R, ListExpression as S, NotExpr as T, isOrderByDirection as U, checkLimitOffset as V, isOrderByNulls as W, frozenCodecRef as Y, InsertAst as _, CastExpr as a, JsonArrayAggExpr as b, DeleteAst as c, DoUpdateSetConflictAction as d, EqColJoinOn as f, IdentifierRef as g, FunctionSource as h, CaseExpr as i, PreparedParamRef as j, OrderByItem as k, DerivedTableSource as l, FunctionCallExpr as m, AndExpr as n, ColumnRef as o, ExistsExpr as p, queryAstKinds as q, BinaryExpr as r, DefaultValueExpr as s, AggregateExpr as t, DoNothingConflictAction as u, InsertOnConflict as v, LockingClause as w, JsonObjectExpr as x, JoinAst as y, WindowFuncExpr as z };\n\n//# sourceMappingURL=types-NTQsD2MS.mjs.map"],"mappings":"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"}
@@ -1,17 +1,17 @@
1
- import { t as StorageColumn } from "./storage-table-DSeWszOL-CI-cItEK.mjs";
2
- import { c as SqlStorage } from "./sql-storage-8LqxeLAY-DH4DdUXx.mjs";
3
- import { f as ExtractFieldOutputTypes } from "./types-BDUG29Df-LE85dIXP.mjs";
4
- import "./types-UcHa2cTe.mjs";
5
- import { t as SqlLoweringSpec } from "./index-C5I8D-MB.mjs";
6
- import { D as ColumnRef, _t as ParamRef } from "./types-v3qxLLxo-DCeKv7yY.mjs";
7
- import { l as SqlStatementStats } from "./driver-types-BQtRkOJ0-Bv2RPSfr.mjs";
8
- import { t as SqlQueryPlan } from "./plan-CDxduYaN-pLIyyJaB.mjs";
9
- import { t as SqlExecutionPlan } from "./sql-execution-plan--jKyLpe5-CMGhgO0M.mjs";
10
- import { r as ExecutionContext } from "./query-lane-context-Qa-eddrE-kuZ8Z86-.mjs";
1
+ import { t as StorageColumn } from "./storage-table-Bf1ZjnxO-pUj6pyP0.mjs";
2
+ import { l as SqlStorage } from "./sql-storage-DeCAh5Hi-CEM-m8cs.mjs";
3
+ import { m as ExtractFieldOutputTypes } from "./types-DfKvtJwS-CrpWTGBJ.mjs";
4
+ import "./types-CkAd8SWm.mjs";
5
+ import { t as SqlLoweringSpec } from "./index-Nqc3OHR_.mjs";
6
+ import { O as ColumnRef, wt as ParamRef } from "./types-DriMIMNQ-BkbsW7w3.mjs";
7
+ import { l as SqlStatementStats } from "./driver-types-DRsYeq3j-BimeCnUk.mjs";
8
+ import { n as SqlQueryPlan } from "./plan-Cr4azjnG-CuL8FqXC.mjs";
9
+ import { t as SqlExecutionPlan } from "./sql-execution-plan-3uxYjHyu-DLknM-Pj.mjs";
10
+ import { n as ExecutionContext } from "./query-lane-context-BCEoKy0_-CzmyavC9.mjs";
11
11
  import { Contract } from "@prisma/orm-framework/contract/types";
12
- import { ParamSpec } from "@prisma/orm-framework/operations";
13
12
  import { AsyncIterableResult, RuntimeExecuteOptions } from "@prisma/orm-framework/components/runtime";
14
- //#region ../../../2-sql/4-lanes/relational-core/dist/types-CyxGtOOh.d.mts
13
+ import { ParamSpec } from "@prisma/orm-framework/operations";
14
+ //#region ../../../2-sql-family/4-lanes/relational-core/dist/types-TXO7x1BA.d.mts
15
15
  //#region src/runtime-scope.d.ts
16
16
  /**
17
17
  * The plan shape accepted by the SQL ORM client and SQL runtime: either a
@@ -123,7 +123,7 @@ type OperationTypeSignature = {
123
123
  * cosineDistance: {
124
124
  * args: [{ codecId: 'pg/vector@1'; nullable: false }];
125
125
  * returns: { codecId: 'core/float8'; nullable: false };
126
- * lowering: { targetFamily: 'sql'; strategy: 'function'; template: '...' };
126
+ * lowering: { targetFamily: 'sql'; template: '...' };
127
127
  * };
128
128
  * };
129
129
  * };
@@ -236,4 +236,4 @@ interface SqlBuilderOptions<TContract extends Contract<SqlStorage> = Contract<Sq
236
236
  }
237
237
  //#endregion
238
238
  export { TablesOf as S, SqlOrmPlan as _, ColumnsOf as a, TableKey as b, META as c, ModelMetadata as d, OperationTypeSignature as f, SqlBuilderOptions as g, RuntimeScope as h, ColumnResolutionContract as i, Meta as l, OperationsForTypeId as m, BuildParamsMap as n, ComputeColumnJsType as o, OperationTypes as p, CodecTypes as r, Expr as s, BuildOptions as t, ModelDef as u, SqlPlan as v, TableMetadata as x, TableDef as y };
239
- //# sourceMappingURL=types-CyxGtOOh-BggSa6Fe.d.mts.map
239
+ //# sourceMappingURL=types-TXO7x1BA-CYYIY8NI.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-TXO7x1BA-CYYIY8NI.d.mts","names":[],"sources":["../../../../2-sql-family/4-lanes/relational-core/dist/types-TXO7x1BA.d.mts"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import "./types-CuCxAQat-Dz8P4xyt.mjs";
@@ -1,5 +1,5 @@
1
- import { t as SqlNode } from "./sql-node-kEz6YFZo-v2F7delx.mjs";
2
- //#region ../../../2-sql/1-core/contract/dist/unique-constraint-M5TlQnJQ.d.mts
1
+ import { t as SqlNode } from "./sql-node-kEz6YFZo-1ogT6Cxt.mjs";
2
+ //#region ../../../2-sql-family/1-core/contract/dist/unique-constraint-M5TlQnJQ.d.mts
3
3
  //#region src/ir/primary-key.d.ts
4
4
  interface PrimaryKeyInput {
5
5
  readonly columns: readonly string[];
@@ -31,4 +31,4 @@ declare class UniqueConstraint extends SqlNode {
31
31
  }
32
32
  //#endregion
33
33
  export { UniqueConstraintInput as i, PrimaryKeyInput as n, UniqueConstraint as r, PrimaryKey as t };
34
- //# sourceMappingURL=unique-constraint-M5TlQnJQ-BiIHJ85k.d.mts.map
34
+ //# sourceMappingURL=unique-constraint-M5TlQnJQ-qX-maNUV.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unique-constraint-M5TlQnJQ-qX-maNUV.d.mts","names":[],"sources":["../../../../2-sql-family/1-core/contract/dist/unique-constraint-M5TlQnJQ.d.mts"],"mappings":";;;UAEU;WACC;WACA;;;;;cAKG,mBAAmB;WACtB;WACA;EACT,YAAY,OAAO;SACZ,KAAK,OAAO,aAAa,kBAAkB;;;;UAI1C;WACC;WACA;;;;;cAKG,yBAAyB;WAC5B;WACA;EACT,YAAY,OAAO;SACZ,KAAK,OAAO,mBAAmB,wBAAwB"}
@@ -1,4 +1,4 @@
1
- //#region ../../../2-sql/4-lanes/relational-core/dist/util-DQQgv2j1.mjs
1
+ //#region ../../../2-sql-family/4-lanes/relational-core/dist/util-BBgcP3gI.mjs
2
2
  function compact(o) {
3
3
  const out = {};
4
4
  for (const [k, v] of Object.entries(o)) {
@@ -28,7 +28,16 @@ function collectOrderedParamRefs(ast) {
28
28
  }
29
29
  return Object.freeze(ordered);
30
30
  }
31
+ const AGGREGATING_EXPRESSION_KINDS = /* @__PURE__ */ new Set([
32
+ "aggregate",
33
+ "json-array-agg",
34
+ "window-func"
35
+ ]);
36
+ /** Whether a projection item's top-level expression is an aggregate, `json_agg` or window function. Nested expressions are not inspected. */
37
+ function isAggregateProjection(item) {
38
+ return AGGREGATING_EXPRESSION_KINDS.has(item.expr.kind);
39
+ }
31
40
  //#endregion
32
- export { compact as n, collectOrderedParamRefs as t };
41
+ export { compact as n, isAggregateProjection as r, collectOrderedParamRefs as t };
33
42
 
34
- //# sourceMappingURL=util-DQQgv2j1-D6INZaRG.mjs.map
43
+ //# sourceMappingURL=util-BBgcP3gI-CpL-0VuC.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util-BBgcP3gI-CpL-0VuC.mjs","names":[],"sources":["../../../../2-sql-family/4-lanes/relational-core/dist/util-BBgcP3gI.mjs"],"sourcesContent":["//#region src/ast/util.ts\nfunction compact(o) {\n\tconst out = {};\n\tfor (const [k, v] of Object.entries(o)) {\n\t\tif (v === void 0 || v === null) continue;\n\t\tif (Array.isArray(v) && v.length === 0) continue;\n\t\tout[k] = v;\n\t}\n\treturn out;\n}\n/**\n* Walks an AST's parameter references in first-encounter order and dedupes\n* by ParamRef identity. The single canonical helper used by every consumer\n* that aligns `plan.params` with metadata-by-index — the SQL builder lane,\n* the SQL ORM client, the SQL runtime encoder, and the Postgres renderer's\n* `$N` index map — so the four walks cannot drift in dedupe semantics.\n*\n* SQLite's `?`-placeholder renderer intentionally does NOT use this helper\n* because it needs one params entry per occurrence in the SQL.\n*/\nfunction collectOrderedParamRefs(ast) {\n\tconst seen = /* @__PURE__ */ new Set();\n\tconst ordered = [];\n\tfor (const ref of ast.collectParamRefs()) {\n\t\tif (seen.has(ref)) continue;\n\t\tseen.add(ref);\n\t\tordered.push(ref);\n\t}\n\treturn Object.freeze(ordered);\n}\nconst AGGREGATING_EXPRESSION_KINDS = /* @__PURE__ */ new Set([\n\t\"aggregate\",\n\t\"json-array-agg\",\n\t\"window-func\"\n]);\n/** Whether a projection item's top-level expression is an aggregate, `json_agg` or window function. Nested expressions are not inspected. */\nfunction isAggregateProjection(item) {\n\treturn AGGREGATING_EXPRESSION_KINDS.has(item.expr.kind);\n}\n//#endregion\nexport { compact as n, isAggregateProjection as r, collectOrderedParamRefs as t };\n\n//# sourceMappingURL=util-BBgcP3gI.mjs.map"],"mappings":";AACA,SAAS,QAAQ,GAAG;CACnB,MAAM,MAAM,CAAC;CACb,KAAK,MAAM,CAAC,GAAG,MAAM,OAAO,QAAQ,CAAC,GAAG;EACvC,IAAI,MAAM,KAAK,KAAK,MAAM,MAAM;EAChC,IAAI,MAAM,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG;EACxC,IAAI,KAAK;CACV;CACA,OAAO;AACR;;;;;;;;;;;AAWA,SAAS,wBAAwB,KAAK;CACrC,MAAM,uBAAuB,IAAI,IAAI;CACrC,MAAM,UAAU,CAAC;CACjB,KAAK,MAAM,OAAO,IAAI,iBAAiB,GAAG;EACzC,IAAI,KAAK,IAAI,GAAG,GAAG;EACnB,KAAK,IAAI,GAAG;EACZ,QAAQ,KAAK,GAAG;CACjB;CACA,OAAO,OAAO,OAAO,OAAO;AAC7B;AACA,MAAM,+CAA+C,IAAI,IAAI;CAC5D;CACA;CACA;AACD,CAAC;;AAED,SAAS,sBAAsB,MAAM;CACpC,OAAO,6BAA6B,IAAI,KAAK,KAAK,IAAI;AACvD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators-BwA7ttZM.mjs","names":[],"sources":["../../../../2-sql-family/1-core/contract/dist/validators.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { c as sameSqlColumnType } from \"./sql-data-type-D7M-YTTY.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-JR5SAm5h.mjs\";\nimport { a as sameColumns$1, s as startsWithColumns } from \"./index-equivalence-DswCiq5l.mjs\";\nimport { computeCheckContentHash, computeIndexContentHash } from \"@internal/sql-schema-ir/naming\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { isPlainRecord } from \"@internal/framework-components/ir\";\nimport { DATA_TYPE_ID_PATTERN, createDataTypeLookup } from \"@internal/framework-components/codec\";\nimport { canonicalizeJson } from \"@internal/framework-components/utils\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { type } from \"arktype\";\nimport { ContractValidationError } from \"@internal/contract/contract-validation-error\";\nimport { ContractExecutionSectionSchema, CrossReferenceSchema } from \"@internal/contract/types\";\nimport { validateContractDomain } from \"@internal/contract/validate-domain\";\n//#region src/default-sql-text.ts\nconst UNSAFE_DEFAULT_TEXT = /;|--|\\/\\*|\\$\\$|\\bSELECT\\b/i;\n/** Returns undefined when the text may be rendered as `DEFAULT (<text>)`, else the reason. */\nfunction checkSqlDefaultText(text) {\n\treturn UNSAFE_DEFAULT_TEXT.test(text) ? \"Default SQL must not contain semicolons, SQL comment tokens, dollar-quoting, or subqueries.\" : void 0;\n}\n/**\n* Names the Prisma default function that raw SQL text is exactly, ignoring surrounding whitespace. The planners treat the contract expressions `now()` and `autoincrement()` as those functions, so raw SQL with that text would not be used as written.\n*/\nfunction reservedSqlDefaultText(text) {\n\tswitch (text.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\tdataType: DATA_TYPE_ID_PATTERN,\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/** The refusal of a value-object column when the stack declares no value-object storage type. */\nfunction valueObjectStorageTypeMissingMessage(columnPath) {\n\treturn `${columnPath}: a value-object column needs the stack's value-object storage type, and the stack declares none`;\n}\nconst LISTED_REMOVED_KEYS = 5;\nfunction fieldOf(value, key) {\n\treturn isPlainRecord(value) ? value[key] : void 0;\n}\nfunction entriesOf(value) {\n\treturn isPlainRecord(value) ? Object.entries(value) : [];\n}\nfunction storedColumnEntries(storage) {\n\treturn entriesOf(fieldOf(storage, \"namespaces\")).flatMap(([namespaceId, namespace]) => entriesOf(fieldOf(fieldOf(namespace, \"entries\"), \"table\")).flatMap(([tableName, table]) => entriesOf(fieldOf(table, \"columns\")).map(([columnName, column]) => ({\n\t\tpath: `storage.namespaces.${namespaceId}.entries.table.${tableName}.columns.${columnName}`,\n\t\tentry: column\n\t}))));\n}\nfunction pathsHolding(entries, key) {\n\treturn entries.filter(({ entry }) => isPlainRecord(entry) && Object.hasOwn(entry, key)).map(({ path }) => path);\n}\nfunction listedProblems(paths, describe) {\n\tconst listed = paths.slice(0, LISTED_REMOVED_KEYS).map(describe);\n\tconst unlisted = paths.length - listed.length;\n\treturn unlisted > 0 ? [...listed, `and ${unlisted} more ${unlisted === 1 ? \"path\" : \"paths\"} (${paths.length} in all)`] : listed;\n}\n/**\n* Contracts emitted before a column named its data type stored the database type name in `nativeType` on columns and `storage.types` entries. The first five such keys are reported with their paths and the rest are counted, so an old contract is refused with a short message that says what changed.\n*/\nfunction storedTypeNameProblems(storage) {\n\tconst types = entriesOf(fieldOf(storage, \"types\")).map(([typeName, entry]) => ({\n\t\tpath: `storage.types.${typeName}`,\n\t\tentry\n\t}));\n\treturn listedProblems(pathsHolding([...storedColumnEntries(storage), ...types], \"nativeType\"), (path) => `${path}.nativeType: contracts no longer store a column's database type name; the column names its data type in \"dataType\"`);\n}\n/** One sentence that says what to do about a removed column key, followed by the first five columns that hold it and a count of the rest. */\nfunction removedColumnKeyProblems(storage, key, whatToDo) {\n\tconst paths = pathsHolding(storedColumnEntries(storage), key);\n\tif (paths.length === 0) return [];\n\tconst listed = paths.slice(0, LISTED_REMOVED_KEYS).map((path) => `${path}.${key}`);\n\tconst unlisted = paths.length - listed.length;\n\tconst more = unlisted > 0 ? `, and ${unlisted} more (${paths.length} in all)` : \"\";\n\treturn [`${whatToDo} Columns: ${listed.join(\", \")}${more}`];\n}\n/** Contracts emitted before generated checks became mandatory stored the checks a column waived in `noCheck`. */\nfunction checkWaiverProblems(storage) {\n\treturn removedColumnKeyProblems(storage, \"noCheck\", \"contracts no longer store check waivers in \\\"noCheck\\\", so re-emit the contract from its source, or rewrite a stored contract such as a migration snapshot with remove-nocheck.ts, which ships in the remove-nocheck scripts of the Prisma 8 upgrade guide.\");\n}\n/** Contracts emitted before type aliases were expanded into each column stored the alias a column was typed by in `typeRef`. */\nfunction typeAliasProblems(storage) {\n\treturn removedColumnKeyProblems(storage, \"typeRef\", \"contracts no longer store type aliases, so re-emit the contract from its source, or rewrite a stored contract such as a migration snapshot with expand-type-aliases.ts, which ships in the expand-type-aliases scripts of the Prisma 8 upgrade guide.\");\n}\n/** The removed keys of the oldest format the contract is in: a contract that still stores `nativeType` is refused for that first, then one that stores `noCheck`, since each is rewritten at an earlier step of the upgrade than the next. */\nfunction removedKeyProblems(storage) {\n\tfor (const problems of [\n\t\tstoredTypeNameProblems,\n\t\tcheckWaiverProblems,\n\t\ttypeAliasProblems\n\t]) {\n\t\tconst found = problems(storage);\n\t\tif (found.length > 0) return found;\n\t}\n\treturn [];\n}\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?\": type({ field: \"string\" }),\n\t\"variants?\": type({ \"[string]\": CrossReferenceSchema }),\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 removedKeys = removedKeyProblems(value);\n\tconst result = StorageSchema(value);\n\tconst errors = removedKeys.length > 0 ? [...removedKeys] : result instanceof type.errors ? result.map((p) => p.message) : [];\n\tif (errors.length > 0) throw contractError(\"CONTRACT.VALIDATION_FAILED\", `Storage validation failed: ${errors.join(\"; \")}`, { meta: { errors } });\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 removedKeys = removedKeyProblems(fieldOf(value, \"storage\"));\n\tif (removedKeys.length > 0) throw new ContractValidationError(`Contract structural validation failed: ${removedKeys.join(\"; \")}`, \"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}\nfunction foreignKeyBackingError(table, fk) {\n\tconst { index } = fk;\n\tif (index === void 0) return void 0;\n\tconst columns = fk.source.columns;\n\tif (\"name\" in index) {\n\t\tconst named = table.indexes.find((candidate) => candidate.name === index.name);\n\t\tif (named === void 0) return `is indexed by \"${index.name}\", but the table has no index with that name`;\n\t\treturn named.columns !== void 0 && startsWithColumns(named.columns, columns) ? void 0 : `is indexed by \"${index.name}\", but that index does not start with those columns`;\n\t}\n\tif (\"primaryKey\" in index) return table.primaryKey !== void 0 && startsWithColumns(table.primaryKey.columns, columns) ? void 0 : \"is indexed by the primary key, but the table's primary key does not start with those columns\";\n\tconst described = `the unique constraint on [${index.unique.join(\", \")}]`;\n\tif (!table.uniques.some((unique) => sameColumns$1(unique.columns, index.unique))) return `is indexed by ${described}, but the table has no unique constraint on those columns`;\n\treturn startsWithColumns(index.unique, columns) ? void 0 : `is indexed by ${described}, which does not start with those columns`;\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* - a foreign key whose `index` is an index, primary key or unique constraint its table does not have\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\tfor (const fk of table.foreignKeys) {\n\t\t\tconst error = foreignKeyBackingError(table, fk);\n\t\t\tif (error !== void 0) errors.push(`${tableCoordinate}: foreign key on columns [${fk.source.columns.join(\", \")}] ${error}`);\n\t\t}\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 resolves to a real table, every domain field has a model.storage.fields entry, and every model.storage.fields[*].column resolves to a real column. 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\tfor (const fieldName of Object.keys(model.fields)) if (!Object.hasOwn(modelStorage.fields, fieldName)) throw new ContractValidationError(`Model \"${qualifiedName}\" field \"${fieldName}\" has no entry in storage.fields, so no column holds it`, \"storage\");\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}\n}\n/** The names of a model's own fields and of the fields it inherits from its base models. */\nfunction fieldNamesWithInherited(contract, namespaceId, modelName) {\n\tconst names = /* @__PURE__ */ new Set();\n\tconst seen = /* @__PURE__ */ new Set();\n\tlet coordinate = {\n\t\tnamespace: namespaceId,\n\t\tmodel: modelName\n\t};\n\twhile (coordinate !== void 0) {\n\t\tconst key = JSON.stringify([coordinate.namespace, coordinate.model]);\n\t\tif (seen.has(key)) break;\n\t\tseen.add(key);\n\t\tconst model = contract.domain.namespaces[coordinate.namespace]?.models[coordinate.model];\n\t\tif (model === void 0) break;\n\t\tfor (const name of Object.keys(model.fields)) names.add(name);\n\t\tcoordinate = model.base;\n\t}\n\treturn names;\n}\n/**\n* Every relation joins on fields: its local fields are fields of the model that declares it, and its target fields are fields of the target model. The target side of a many-to-many relation names columns of its junction table instead. A cross-space relation's target is in another contract, so its target side is not checked. Throws `ContractValidationError` on the first name that is not a field.\n*/\nfunction validateRelationJoinFields(contract) {\n\tfor (const [namespaceId, namespace] of Object.entries(contract.domain.namespaces)) for (const [modelName, model] of Object.entries(namespace.models)) for (const [relationName, relation] of Object.entries(model.relations)) {\n\t\tif (!(\"on\" in relation)) continue;\n\t\tconst location = `Relation \"${relationName}\" on model \"${namespaceId}:${modelName}\"`;\n\t\tconst localFields = fieldNamesWithInherited(contract, namespaceId, modelName);\n\t\tfor (const field of relation.on.localFields) if (!localFields.has(field)) throw new ContractValidationError(`${location} joins on \"${field}\", which is not a field of model \"${namespaceId}:${modelName}\"`, \"domain\");\n\t\tif (relation.cardinality === \"N:M\") {\n\t\t\tconst { namespaceId: junctionNamespaceId, table: junctionTable } = relation.through;\n\t\t\tfor (const column of relation.on.targetFields) if (!lookupStorageColumn(contract, junctionNamespaceId, junctionTable, column)) throw new ContractValidationError(`${location} joins on \"${column}\", which is not a column of junction table \"${junctionNamespaceId}.${junctionTable}\"`, \"domain\");\n\t\t\tcontinue;\n\t\t}\n\t\tif (relation.to.space !== void 0) continue;\n\t\tconst targetFields = fieldNamesWithInherited(contract, relation.to.namespace, relation.to.model);\n\t\tfor (const field of relation.on.targetFields) if (!targetFields.has(field)) throw new ContractValidationError(`${location} joins on \"${field}\", which is not a field of model \"${relation.to.namespace}:${relation.to.model}\"`, \"domain\");\n\t}\n}\n/**\n* Every execution default targets a column some model's field maps: an execution default is declared on a field, and it belongs to that field. Throws `ContractValidationError` on the first default on a column no field maps.\n*/\nfunction validateExecutionDefaultsTargetMappedColumns(contract) {\n\tconst mappedColumns = /* @__PURE__ */ new Set();\n\tfor (const namespace of Object.values(contract.domain.namespaces)) for (const model of Object.values(namespace.models)) {\n\t\tconst modelStorage = blindCast(model.storage);\n\t\tfor (const field of Object.values(modelStorage.fields)) mappedColumns.add(JSON.stringify([\n\t\t\tmodelStorage.namespaceId,\n\t\t\tmodelStorage.table,\n\t\t\tfield.column\n\t\t]));\n\t}\n\tfor (const { ref } of contract.execution?.mutations.defaults ?? []) if (!mappedColumns.has(JSON.stringify([\n\t\tref.namespace,\n\t\tref.entry,\n\t\tref.field\n\t]))) throw new ContractValidationError(`Execution default for column \"${ref.field}\" of table \"${ref.namespace}.${ref.entry}\" targets a column no field maps; execution defaults are declared on fields. Give the column a database default instead.`, \"storage\");\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\tvalidateExecutionDefaultsTargetMappedColumns(validated);\n\tvalidateRelationJoinFields(validated);\n\tvalidateRelationThroughConsistency(validated, options?.dataTypes ?? createDataTypeLookup([]));\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}\nfunction describeColumnType(column) {\n\treturn column.typeParams === void 0 ? column.dataType : `${column.dataType} ${canonicalizeJson(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 have the same type by `sameSqlColumnType`.\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 (!sameSqlColumnType(junctionColumn, modelColumn, input.dataTypes)) 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, dataTypes) {\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\tdataTypes,\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\tdataTypes,\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, checkSqlDefaultText, createNamespaceEntrySchema, createSqlContractSchema, createSqlStorageSchema, reservedSqlDefaultText, resolveSqlToOneRelationStorage, validateExecutionDefaultsTargetMappedColumns, validateModel, validateModelStorageReferences, validateRelationJoinFields, validateSqlContractFully, validateSqlStorageConsistency, validateStorage, validateStorageSemantics, valueObjectStorageTypeMissingMessage };\n\n//# sourceMappingURL=validators.mjs.map"],"mappings":"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"}
@@ -1,11 +1,39 @@
1
- import { a as ReferentialAction, n as ForeignKeyInput } from "./foreign-key-C-iTPuRT-C9ip8zFx.mjs";
2
- import { i as UniqueConstraintInput, n as PrimaryKeyInput } from "./unique-constraint-M5TlQnJQ-BiIHJ85k.mjs";
3
- import { c as SqlStorage } from "./sql-storage-8LqxeLAY-DH4DdUXx.mjs";
4
- import "./types-BDUG29Df-LE85dIXP.mjs";
1
+ import { o as ReferentialAction, r as ForeignKeyInput } from "./foreign-key-qkDFfG8t-TaK_GYWR.mjs";
2
+ import { i as UniqueConstraintInput, n as PrimaryKeyInput } from "./unique-constraint-M5TlQnJQ-qX-maNUV.mjs";
3
+ import { l as SqlStorage } from "./sql-storage-DeCAh5Hi-CEM-m8cs.mjs";
4
+ import { N as SqlModelStorage } from "./types-DfKvtJwS-CrpWTGBJ.mjs";
5
5
  import { AnyEntityKindDescriptor } from "@prisma/orm-framework/components/ir";
6
- import { Contract } from "@prisma/orm-framework/contract/types";
6
+ import { DataTypeLookup } from "@prisma/orm-framework/components/codec";
7
7
  import { Type } from "arktype";
8
- //#region ../../../2-sql/1-core/contract/dist/validators.d.mts
8
+ import { Contract, ContractToOneRelation } from "@prisma/orm-framework/contract/types";
9
+ //#region ../../../2-sql-family/1-core/contract/dist/validators.d.mts
10
+ //#region src/default-sql-text.d.ts
11
+ /** Returns undefined when the text may be rendered as `DEFAULT (<text>)`, else the reason. */
12
+ declare function checkSqlDefaultText(text: string): string | undefined;
13
+ /**
14
+ * Names the Prisma default function that raw SQL text is exactly, ignoring surrounding whitespace. The planners treat the contract expressions `now()` and `autoincrement()` as those functions, so raw SQL with that text would not be used as written.
15
+ */
16
+ declare function reservedSqlDefaultText(text: string): 'now' | 'autoincrement' | undefined;
17
+ //#endregion
18
+ //#region src/relation-storage.d.ts
19
+ type SqlToOneRelationStorage = {
20
+ /**
21
+ * True for an N:1 relation, and for a 1:1 relation whose table declares a foreign key on
22
+ * exactly its local columns. False for the back side of a 1:1, which declares no such key.
23
+ */
24
+ readonly ownsForeignKey: boolean;
25
+ /** One entry per local field; a column that cannot be resolved counts as nullable. */
26
+ readonly columns: readonly {
27
+ readonly name: string;
28
+ readonly nullable: boolean;
29
+ }[];
30
+ };
31
+ /**
32
+ * The storage facts behind a same-space to-one relation's nullability: which side owns the
33
+ * foreign key, and whether each local column is nullable.
34
+ */
35
+ declare function resolveSqlToOneRelationStorage(contract: Contract<SqlStorage>, modelStorage: SqlModelStorage, relation: ContractToOneRelation): SqlToOneRelationStorage;
36
+ //#endregion
9
37
  //#region src/ir/storage-entry-schemas.d.ts
10
38
  type ColumnDefaultLiteral = {
11
39
  readonly kind: 'literal';
@@ -58,12 +86,13 @@ declare const CheckConstraintSchema: import("arktype/internal/variants/object.ts
58
86
  declare const StorageTableSchema: import("arktype/internal/variants/object.ts").ObjectType<{
59
87
  columns: {
60
88
  [x: string]: {
61
- nativeType: string;
89
+ dataType: string;
62
90
  codecId: string;
63
91
  nullable: boolean;
64
- many?: boolean;
92
+ many?: false | {
93
+ elementNullable: boolean;
94
+ };
65
95
  typeParams?: Record<string, unknown>;
66
- typeRef?: string;
67
96
  default?: ColumnDefaultLiteral | ColumnDefaultFunction;
68
97
  control?: "managed" | "tolerated" | "external" | "observed";
69
98
  valueSet?: {
@@ -73,7 +102,6 @@ declare const StorageTableSchema: import("arktype/internal/variants/object.ts").
73
102
  entityName: string;
74
103
  spaceId?: string;
75
104
  };
76
- noCheck?: ("membership" | "elementNotNull")[];
77
105
  };
78
106
  };
79
107
  uniques: readonly UniqueConstraintInput[];
@@ -125,6 +153,8 @@ declare function createNamespaceEntrySchema(kinds: ReadonlyMap<string, AnyEntity
125
153
  * storage hash stay family-shared.
126
154
  */
127
155
  declare function createSqlStorageSchema(kinds: ReadonlyMap<string, AnyEntityKindDescriptor>): Type<unknown>;
156
+ /** The refusal of a value-object column when the stack declares no value-object storage type. */
157
+ declare function valueObjectStorageTypeMissingMessage(columnPath: string): string;
128
158
  /**
129
159
  * Builds the full SQL contract schema. The storage subtree threads
130
160
  * pack contributions through {@link createSqlStorageSchema}; the rest
@@ -154,15 +184,21 @@ declare function validateModel(value: unknown): unknown;
154
184
  * - nullable columns in primary key definitions
155
185
  * - `setNull` referential action on a non-nullable FK column (would fail at runtime)
156
186
  * - `setDefault` referential action on a non-nullable FK column without a DEFAULT (would fail at runtime)
187
+ * - a foreign key whose `index` is an index, primary key or unique constraint its table does not have
157
188
  */
158
189
  declare function validateStorageSemantics(storage: SqlStorage): string[];
159
190
  /**
160
- * SQL storage logical-consistency checks: every model.storage.table
161
- * resolves to a real table, every model.storage.fields[*].column
162
- * resolves to a real column, and value-object fields land on JSON-native
163
- * columns. Throws `ContractValidationError` on the first mismatch.
191
+ * SQL storage logical-consistency checks: every model.storage.table resolves to a real table, every domain field has a model.storage.fields entry, and every model.storage.fields[*].column resolves to a real column. Throws `ContractValidationError` on the first mismatch.
164
192
  */
165
193
  declare function validateModelStorageReferences(contract: Contract<SqlStorage>): void;
194
+ /**
195
+ * Every relation joins on fields: its local fields are fields of the model that declares it, and its target fields are fields of the target model. The target side of a many-to-many relation names columns of its junction table instead. A cross-space relation's target is in another contract, so its target side is not checked. Throws `ContractValidationError` on the first name that is not a field.
196
+ */
197
+ declare function validateRelationJoinFields(contract: Contract<SqlStorage>): void;
198
+ /**
199
+ * Every execution default targets a column some model's field maps: an execution default is declared on a field, and it belongs to that field. Throws `ContractValidationError` on the first default on a column no field maps.
200
+ */
201
+ declare function validateExecutionDefaultsTargetMappedColumns(contract: Contract<SqlStorage>): void;
166
202
  /**
167
203
  * Cross-table consistency checks for SQL storage: primary key, unique,
168
204
  * index, and foreign key column references resolve to real columns;
@@ -180,6 +216,8 @@ interface ValidateSqlContractFullyOptions {
180
216
  * `SqlContractSchema` when omitted.
181
217
  */
182
218
  readonly contractSchema?: Type<unknown>;
219
+ /** The target's data types, which say what each column is stored as. Without them every column is stored as its own data type. */
220
+ readonly dataTypes?: Pick<DataTypeLookup, 'get'>;
183
221
  }
184
222
  /**
185
223
  * Full SQL contract validation: structural (arktype) +
@@ -191,5 +229,5 @@ interface ValidateSqlContractFullyOptions {
191
229
  */
192
230
  declare function validateSqlContractFully<T extends Contract<SqlStorage>>(value: unknown, options?: ValidateSqlContractFullyOptions): T;
193
231
  //#endregion
194
- export { validateStorageSemantics as S, validateModel as _, ContractEnumSchema as a, validateSqlStorageConsistency as b, ForeignKeySourceSchema as c, StorageTableSchema as d, StorageValueSetSchema as f, createSqlStorageSchema as g, createSqlContractSchema as h, ColumnDefaultSchema as i, IndexSchema as l, createNamespaceEntrySchema as m, ColumnDefaultFunctionSchema as n, ForeignKeyReferenceSchema as o, ValidateSqlContractFullyOptions as p, ColumnDefaultLiteralSchema as r, ForeignKeySchema as s, CheckConstraintSchema as t, ReferentialActionSchema as u, validateModelStorageReferences as v, validateStorage as x, validateSqlContractFully as y };
195
- //# sourceMappingURL=validators-Belo8QqM.d.mts.map
232
+ export { validateModelStorageReferences as C, validateStorage as D, validateSqlStorageConsistency as E, validateStorageSemantics as O, validateModel as S, validateSqlContractFully as T, createSqlContractSchema as _, ContractEnumSchema as a, resolveSqlToOneRelationStorage as b, ForeignKeySourceSchema as c, SqlToOneRelationStorage as d, StorageTableSchema as f, createNamespaceEntrySchema as g, checkSqlDefaultText as h, ColumnDefaultSchema as i, valueObjectStorageTypeMissingMessage as k, IndexSchema as l, ValidateSqlContractFullyOptions as m, ColumnDefaultFunctionSchema as n, ForeignKeyReferenceSchema as o, StorageValueSetSchema as p, ColumnDefaultLiteralSchema as r, ForeignKeySchema as s, CheckConstraintSchema as t, ReferentialActionSchema as u, createSqlStorageSchema as v, validateRelationJoinFields as w, validateExecutionDefaultsTargetMappedColumns as x, reservedSqlDefaultText as y };
233
+ //# sourceMappingURL=validators-FJs8HvFr.d.mts.map