@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,1416 @@
1
+ import { r as StorageTable } from "./storage-table-Bf1ZjnxO-pUj6pyP0.mjs";
2
+ import { l as SqlStorage } from "./sql-storage-DeCAh5Hi-CEM-m8cs.mjs";
3
+ import { j as SqlControlDriverInstance } from "./types-DfKvtJwS-CrpWTGBJ.mjs";
4
+ import "./types-CkAd8SWm.mjs";
5
+ import { r as SqlOperationDescriptors } from "./index-Nqc3OHR_.mjs";
6
+ import { h as AnyQueryAst } from "./types-DriMIMNQ-BkbsW7w3.mjs";
7
+ import { o as SqlExecuteRequest } from "./driver-types-DRsYeq3j-BimeCnUk.mjs";
8
+ import { a as DdlNode } from "./ddl-types-By5mT2_S-CdaaFvsX.mjs";
9
+ import { p as LowererContext } from "./ast-YEMe_B8z.mjs";
10
+ import { a as EnumMemberListDefault, i as EnumMemberDefault, n as DefaultFunctionCall, o as ParsedNullLiteral } from "./attribute-specs-DA_RwQFB.mjs";
11
+ import { S as SqlSchemaIRNode, b as SqlSchemaIR, p as SqlDefaultValue } from "./types-CuCxAQat-Dz8P4xyt.mjs";
12
+ import "./types-ljUNyiWe.mjs";
13
+ import "./validators-FJs8HvFr.mjs";
14
+ import { r as SqlControlAdapter } from "./control-adapter-Bn0uhplA-BzP2uPqJ.mjs";
15
+ import { t as sqlFamilyEnumSpec } from "./authoring-entity-types-CgKIgWq5-pEdfjam5.mjs";
16
+ import { C as SqlPlannerConflict, E as SqlPlannerFailureResult, O as SqlPlannerSuccessResult, c as SqlMigrationPlan, d as SqlMigrationPlanOperationStep, g as SqlMigrationRunnerErrorCode, h as SqlMigrationRunner, n as CreateSqlMigrationPlanOptions, p as SqlMigrationPlanner, t as CodecControlHooks, x as SqlMigrationRunnerSuccessValue, y as SqlMigrationRunnerFailure } from "./types-Cq6ImLAB-RlU4jJAX.mjs";
17
+ import { t as SqlSchemaDiffFn } from "./schema-differ-DmP74bB8-tqHKiJ88.mjs";
18
+ import { StructuredError } from "@prisma/orm-framework/utils/structured-error";
19
+ import { DataTypeSupport } from "@prisma/orm-framework/components/authoring";
20
+ import { Codec, CodecLookupWithDescriptors, CodecRef, DataType, DataTypeLookup, TypeLookups } from "@prisma/orm-framework/components/codec";
21
+ import { ColumnDefault, Contract, ContractWithDomain, ControlPolicy } from "@prisma/orm-framework/contract/types";
22
+ import { GeneratorFunctionRegistry, TargetBoundComponentDescriptor } from "@prisma/orm-framework/components/components";
23
+ import { PslDocumentAst } from "@prisma/orm-framework/components/psl-ast";
24
+ import { NotOk, Ok, Result } from "@prisma/orm-framework/utils/result";
25
+ import { AppliedMigrationStatement, AssembledAuthoringContributions, ContractSerializer, ControlFamilyDescriptor, ControlFamilyInstance, ControlMutationDefaultEntry, ControlStack, DiffSubjectGranularity, FieldCoordinate, ImportRequirement, MigratableTargetDescriptor, MigrationDataLossKind, MigrationOperationClass, MigrationOperationClass as MigrationOperationClass$1, MigrationOperationPolicy, MigrationOperationPolicy as MigrationOperationPolicy$1, MigrationPlan as MigrationPlan$1, MigrationPlanOperation, MigrationPlanOperation as MigrationPlanOperation$1, MigrationPlanSubjects, MigrationPlanner, MigrationPlannerConflict, MigrationPlannerConflict as MigrationPlannerConflict$1, MigrationPlannerResult, MigrationRunnerFailureMeta, MigrationSubject, ModelCoordinate, OpFactoryCall, OperationPreview, OperationPreviewCapable, PslContractBuildCapable, PslContractInferCapable, ResolvedFieldRenameStatement, ResolvedMigrationStatement, ResolvedModelRenameStatement, ResolvedRenameStatement, RowsWithoutValue, SchemaDiffIssue, SchemaOwnership, SchemaVerifier, SchemaViewCapable, TargetMigrationsCapability, VerifyDatabaseResult, VerifyDatabaseSchemaResult, assembleAuthoringContributions as assembleAuthoringContributions$1 } from "@prisma/orm-framework/components/control";
26
+ import { EmissionSpi, TypesImportSpec } from "@prisma/orm-framework/components/emission";
27
+ //#region ../../../2-sql-family/9-family/dist/control.d.mts
28
+ //#region src/core/control-instance.d.ts
29
+ interface SqlFamilyInstanceState {
30
+ readonly codecTypeImports: ReadonlyArray<TypesImportSpec>;
31
+ readonly extensionIds: ReadonlyArray<string>;
32
+ }
33
+ interface SqlControlFamilyInstance extends ControlFamilyInstance<'sql', SqlSchemaIRNode>, SchemaViewCapable<SqlSchemaIRNode>, PslContractInferCapable<SqlSchemaIRNode>, PslContractBuildCapable<Contract<SqlStorage>>, OperationPreviewCapable, SqlFamilyInstanceState {
34
+ /**
35
+ * The family seam-of-record for on-disk contract reads. Structurally
36
+ * validates the JSON envelope, then hydrates IR-class instances via
37
+ * the per-target ContractSerializer. The single named entry point
38
+ * every CLI on-disk read crosses (TML-2536) — `as Contract` casts
39
+ * in production package sources are a serializer-bypass smell guarded
40
+ * by `pnpm lint:no-contract-cast`.
41
+ */
42
+ deserializeContract(contractJson: unknown): Contract;
43
+ verify(options: {
44
+ readonly driver: SqlControlDriverInstance<string>;
45
+ readonly contract: unknown;
46
+ readonly expectedTargetId: string;
47
+ readonly contractPath: string;
48
+ readonly configPath?: string;
49
+ }): Promise<VerifyDatabaseResult>;
50
+ /**
51
+ * Verify a contract against an already-introspected schema.
52
+ *
53
+ * Callers that need to verify against the live database compose
54
+ * `introspect({ driver })` + `verifySchema({ contract, schema, ... })`.
55
+ * The aggregate verifier hands in the full introspected schema and scopes
56
+ * the returned result to each member's contract space afterwards — so
57
+ * sibling-space tables never survive as `extras`.
58
+ */
59
+ verifySchema(options: {
60
+ readonly contract: unknown;
61
+ readonly schema: SqlSchemaIRNode;
62
+ readonly strict: boolean;
63
+ readonly frameworkComponents: ReadonlyArray<TargetBoundComponentDescriptor<'sql', string>>;
64
+ }): VerifyDatabaseSchemaResult;
65
+ /**
66
+ * Classifies a diff issue's subject granularity on demand, resolved from
67
+ * its node's `nodeKind` via the target's classifier. Satisfies the
68
+ * {@link import('@prisma/orm-framework/components/control').SchemaSubjectClassifierCapable}
69
+ * capability that framework consumers spanning contract spaces (the
70
+ * migration aggregate's unclaimed-elements sweep) detect via
71
+ * `hasSchemaSubjectClassifier` and call instead of reading family/target
72
+ * node vocabulary. Nothing is stamped on the issue or the node.
73
+ */
74
+ classifySubjectGranularity(issue: SchemaDiffIssue): DiffSubjectGranularity | undefined;
75
+ /**
76
+ * Classifies a diff issue's subject storage `entityKind` on demand,
77
+ * resolved from its node's `nodeKind` via the target's classifier —
78
+ * sibling of `classifySubjectGranularity` above, part of the same
79
+ * {@link import('@prisma/orm-framework/components/control').SchemaSubjectClassifierCapable}
80
+ * capability. Nothing is stamped on the issue or the node.
81
+ */
82
+ classifyEntityKind(issue: SchemaDiffIssue): string | undefined;
83
+ introspect(options: {
84
+ readonly driver: SqlControlDriverInstance<string>;
85
+ readonly contract?: unknown;
86
+ }): Promise<SqlSchemaIRNode>;
87
+ inferPslContract(schemaIR: SqlSchemaIRNode): Promise<PslDocumentAst>;
88
+ lowerAst(ast: AnyQueryAst | DdlNode, context: LowererContext<unknown>): Promise<SqlExecuteRequest>;
89
+ /**
90
+ * Inserts the initial marker row for `space` (upsert on `space`).
91
+ * Delegates to the target control adapter's write SPI; see
92
+ * `SqlControlAdapter.initMarker`.
93
+ */
94
+ initMarker(options: {
95
+ readonly driver: SqlControlDriverInstance<string>;
96
+ readonly space: string;
97
+ readonly destination: {
98
+ readonly storageHash: string;
99
+ readonly profileHash: string;
100
+ readonly invariants?: readonly string[];
101
+ };
102
+ }): Promise<void>;
103
+ /**
104
+ * Compare-and-swap advance of the marker row for `space`. Returns `true`
105
+ * when the swap matched a row; see `SqlControlAdapter.updateMarker`.
106
+ */
107
+ updateMarker(options: {
108
+ readonly driver: SqlControlDriverInstance<string>;
109
+ readonly space: string;
110
+ readonly expectedFrom: string;
111
+ readonly destination: {
112
+ readonly storageHash: string;
113
+ readonly profileHash: string;
114
+ readonly invariants?: readonly string[];
115
+ };
116
+ }): Promise<boolean>;
117
+ /**
118
+ * Appends a ledger entry for `space`; see
119
+ * `SqlControlAdapter.writeLedgerEntry`.
120
+ */
121
+ writeLedgerEntry(options: {
122
+ readonly driver: SqlControlDriverInstance<string>;
123
+ readonly space: string;
124
+ readonly entry: {
125
+ readonly edgeId: string;
126
+ readonly from: string;
127
+ readonly to: string;
128
+ readonly migrationName: string;
129
+ readonly migrationHash: string;
130
+ readonly operations: readonly unknown[];
131
+ readonly destinationContractJson?: unknown;
132
+ };
133
+ }): Promise<void>;
134
+ bootstrapControlTableQueries(): readonly DdlNode[];
135
+ toOperationPreview(operations: readonly MigrationPlanOperation[]): OperationPreview;
136
+ storageNameOf(operation: MigrationPlanOperation): string;
137
+ }
138
+ //#endregion
139
+ //#region src/core/control-descriptor.d.ts
140
+ declare class SqlFamilyDescriptor implements ControlFamilyDescriptor<'sql', SqlControlFamilyInstance> {
141
+ readonly kind: "family";
142
+ readonly id = "sql";
143
+ readonly familyId: "sql";
144
+ readonly version = "0.0.1";
145
+ readonly emission: EmissionSpi;
146
+ readonly dataTypes: readonly DataType[];
147
+ readonly authoring: {
148
+ readonly field: {
149
+ readonly uuidString: {
150
+ readonly kind: "fieldPreset";
151
+ readonly output: {
152
+ readonly codecId: "sql/char@1";
153
+ readonly typeParams: {
154
+ readonly length: 36;
155
+ };
156
+ };
157
+ };
158
+ readonly ulid: {
159
+ readonly kind: "fieldPreset";
160
+ readonly output: {
161
+ readonly codecId: "sql/char@1";
162
+ readonly typeParams: {
163
+ readonly length: 26;
164
+ };
165
+ };
166
+ };
167
+ readonly nanoid: {
168
+ readonly kind: "fieldPreset";
169
+ readonly args: readonly [{
170
+ readonly kind: "object";
171
+ readonly optional: true;
172
+ readonly properties: {
173
+ readonly size: {
174
+ readonly kind: "number";
175
+ readonly optional: true;
176
+ readonly integer: true;
177
+ readonly minimum: 2;
178
+ readonly maximum: 255;
179
+ };
180
+ };
181
+ }];
182
+ readonly output: {
183
+ readonly codecId: "sql/char@1";
184
+ readonly typeParams: {
185
+ readonly length: {
186
+ readonly kind: "arg";
187
+ readonly index: 0;
188
+ readonly path: readonly ["size"];
189
+ readonly default: 21;
190
+ };
191
+ };
192
+ };
193
+ };
194
+ readonly cuid2: {
195
+ readonly kind: "fieldPreset";
196
+ readonly output: {
197
+ readonly codecId: "sql/char@1";
198
+ readonly typeParams: {
199
+ readonly length: 24;
200
+ };
201
+ };
202
+ };
203
+ readonly ksuid: {
204
+ readonly kind: "fieldPreset";
205
+ readonly output: {
206
+ readonly codecId: "sql/char@1";
207
+ readonly typeParams: {
208
+ readonly length: 27;
209
+ };
210
+ };
211
+ };
212
+ readonly id: {
213
+ readonly uuidv4String: {
214
+ readonly kind: "fieldPreset";
215
+ readonly output: {
216
+ readonly codecId: "sql/char@1";
217
+ readonly typeParams: {
218
+ readonly length: 36;
219
+ };
220
+ readonly executionDefaults: {
221
+ readonly onCreate: {
222
+ readonly kind: "generator";
223
+ readonly id: "uuidv4";
224
+ };
225
+ };
226
+ readonly id: true;
227
+ };
228
+ };
229
+ readonly uuidv7String: {
230
+ readonly kind: "fieldPreset";
231
+ readonly output: {
232
+ readonly codecId: "sql/char@1";
233
+ readonly typeParams: {
234
+ readonly length: 36;
235
+ };
236
+ readonly executionDefaults: {
237
+ readonly onCreate: {
238
+ readonly kind: "generator";
239
+ readonly id: "uuidv7";
240
+ };
241
+ };
242
+ readonly id: true;
243
+ };
244
+ };
245
+ readonly ulid: {
246
+ readonly kind: "fieldPreset";
247
+ readonly output: {
248
+ readonly codecId: "sql/char@1";
249
+ readonly typeParams: {
250
+ readonly length: 26;
251
+ };
252
+ readonly executionDefaults: {
253
+ readonly onCreate: {
254
+ readonly kind: "generator";
255
+ readonly id: "ulid";
256
+ };
257
+ };
258
+ readonly id: true;
259
+ };
260
+ };
261
+ readonly nanoid: {
262
+ readonly kind: "fieldPreset";
263
+ readonly args: readonly [{
264
+ readonly kind: "object";
265
+ readonly optional: true;
266
+ readonly properties: {
267
+ readonly size: {
268
+ readonly kind: "number";
269
+ readonly optional: true;
270
+ readonly integer: true;
271
+ readonly minimum: 2;
272
+ readonly maximum: 255;
273
+ };
274
+ };
275
+ }];
276
+ readonly output: {
277
+ readonly codecId: "sql/char@1";
278
+ readonly typeParams: {
279
+ readonly length: {
280
+ readonly kind: "arg";
281
+ readonly index: 0;
282
+ readonly path: readonly ["size"];
283
+ readonly default: 21;
284
+ };
285
+ };
286
+ readonly executionDefaults: {
287
+ readonly onCreate: {
288
+ readonly kind: "generator";
289
+ readonly id: "nanoid";
290
+ readonly params: {
291
+ readonly size: {
292
+ readonly kind: "arg";
293
+ readonly index: 0;
294
+ readonly path: readonly ["size"];
295
+ };
296
+ };
297
+ };
298
+ };
299
+ readonly id: true;
300
+ };
301
+ };
302
+ readonly cuid2: {
303
+ readonly kind: "fieldPreset";
304
+ readonly output: {
305
+ readonly codecId: "sql/char@1";
306
+ readonly typeParams: {
307
+ readonly length: 24;
308
+ };
309
+ readonly executionDefaults: {
310
+ readonly onCreate: {
311
+ readonly kind: "generator";
312
+ readonly id: "cuid2";
313
+ };
314
+ };
315
+ readonly id: true;
316
+ };
317
+ };
318
+ readonly ksuid: {
319
+ readonly kind: "fieldPreset";
320
+ readonly output: {
321
+ readonly codecId: "sql/char@1";
322
+ readonly typeParams: {
323
+ readonly length: 27;
324
+ };
325
+ readonly executionDefaults: {
326
+ readonly onCreate: {
327
+ readonly kind: "generator";
328
+ readonly id: "ksuid";
329
+ };
330
+ };
331
+ readonly id: true;
332
+ };
333
+ };
334
+ };
335
+ };
336
+ readonly type: {
337
+ readonly Raw: {
338
+ readonly kind: "typeConstructor";
339
+ readonly documentation: "A column of a type no other column type covers, written exactly as the database catalog prints it, such as Raw(sql`tsvector`). Its values are typed unknown, and its default is a sql expression.";
340
+ readonly args: readonly [{
341
+ readonly kind: "value";
342
+ readonly dataType: "sql/expression";
343
+ readonly name: "sql";
344
+ }];
345
+ readonly output: {
346
+ readonly codecId: "sql/raw@1";
347
+ readonly typeParams: {
348
+ readonly sql: {
349
+ readonly kind: "arg";
350
+ readonly index: 0;
351
+ };
352
+ };
353
+ };
354
+ };
355
+ };
356
+ readonly entityTypes: import("@prisma/orm-framework/components/authoring").AuthoringEntityTypeNamespace;
357
+ readonly pslBlockDescriptors: {
358
+ readonly enum: {
359
+ kind: "pslBlock";
360
+ keyword: string;
361
+ documentation: string;
362
+ discriminator: string;
363
+ name: {
364
+ required: true;
365
+ };
366
+ spec: typeof sqlFamilyEnumSpec;
367
+ attributes: {
368
+ type: () => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
369
+ codecId: string;
370
+ }, import("@prisma/orm-framework/psl-parser").BlockAttributeCtx>;
371
+ };
372
+ };
373
+ };
374
+ readonly attributeSpecs: {
375
+ readonly model: {
376
+ readonly map: (_ctx: import("@prisma/orm-framework/psl-parser").AttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
377
+ name: string;
378
+ }, import("@prisma/orm-framework/psl-parser").ModelAttributeCtx>;
379
+ readonly id: (_ctx: import("@prisma/orm-framework/psl-parser").AttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
380
+ fields: string[];
381
+ readonly map?: string;
382
+ }, import("@prisma/orm-framework/psl-parser").ModelAttributeCtx>;
383
+ readonly unique: (_ctx: import("@prisma/orm-framework/psl-parser").AttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
384
+ fields: string[];
385
+ readonly map?: string;
386
+ }, import("@prisma/orm-framework/psl-parser").ModelAttributeCtx>;
387
+ readonly index: (ctx: import("@prisma/orm-framework/psl-parser").AttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
388
+ fields?: string[];
389
+ readonly expression?: import("@prisma/orm-framework/psl-parser").ParsedTypedValue;
390
+ readonly where?: import("@prisma/orm-framework/psl-parser").ParsedTypedValue;
391
+ readonly unique?: boolean;
392
+ readonly name?: string;
393
+ readonly map?: string;
394
+ readonly type?: string;
395
+ readonly options?: Record<string, string>;
396
+ }, import("@prisma/orm-framework/psl-parser").ModelAttributeCtx>;
397
+ readonly check: (ctx: import("@prisma/orm-framework/psl-parser").AttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
398
+ readonly expression: import("@prisma/orm-framework/psl-parser").ParsedTypedValue;
399
+ readonly name?: string;
400
+ readonly map?: string;
401
+ }, import("@prisma/orm-framework/psl-parser").ModelAttributeCtx>;
402
+ readonly control: (_ctx: import("@prisma/orm-framework/psl-parser").AttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
403
+ policy: "managed" | "tolerated" | "external" | "observed";
404
+ }, import("@prisma/orm-framework/psl-parser").ModelAttributeCtx>;
405
+ readonly discriminator: (_ctx: import("@prisma/orm-framework/psl-parser").AttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
406
+ field: string;
407
+ }, import("@prisma/orm-framework/psl-parser").ModelAttributeCtx>;
408
+ readonly base: (_ctx: import("@prisma/orm-framework/psl-parser").AttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
409
+ base: import("@prisma/orm-framework/psl-parser").ResolvedEntityReference<import("@prisma/orm-framework/psl-parser").ModelSymbol>;
410
+ value: import("@prisma/orm-framework/psl-parser").ParsedWrittenScalar;
411
+ }, import("@prisma/orm-framework/psl-parser").ModelAttributeCtx>;
412
+ };
413
+ readonly field: {
414
+ readonly map: (_ctx: import("@prisma/orm-framework/psl-parser").FieldAttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
415
+ name: string;
416
+ }, import("@prisma/orm-framework/psl-parser").FieldAttributeCtx>;
417
+ readonly id: (_ctx: import("@prisma/orm-framework/psl-parser").FieldAttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
418
+ readonly map?: string;
419
+ }, import("@prisma/orm-framework/psl-parser").FieldAttributeCtx>;
420
+ readonly unique: (_ctx: import("@prisma/orm-framework/psl-parser").FieldAttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
421
+ readonly map?: string;
422
+ }, import("@prisma/orm-framework/psl-parser").FieldAttributeCtx>;
423
+ readonly relation: (_ctx: import("@prisma/orm-framework/psl-parser").FieldAttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
424
+ name?: string;
425
+ readonly fields?: string[];
426
+ readonly references?: string[];
427
+ readonly map?: string;
428
+ readonly onDelete?: "NoAction" | "Restrict" | "Cascade" | "SetNull" | "SetDefault";
429
+ readonly onUpdate?: "NoAction" | "Restrict" | "Cascade" | "SetNull" | "SetDefault";
430
+ readonly index?: string | boolean;
431
+ }, import("@prisma/orm-framework/psl-parser").FieldAttributeCtx>;
432
+ readonly default: (ctx: import("@prisma/orm-framework/psl-parser").FieldAttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
433
+ value: import("@prisma/orm-framework/psl-parser").ParsedWrittenScalar | ParsedNullLiteral | import("@prisma/orm-framework/psl-parser").ParsedWrittenList<import("@prisma/orm-framework/psl-parser").ParsedWrittenScalar | ParsedNullLiteral> | DefaultFunctionCall | EnumMemberDefault | EnumMemberListDefault;
434
+ }, import("@prisma/orm-framework/psl-parser").AttributeCtx>;
435
+ readonly onCreate: (ctx: import("@prisma/orm-framework/psl-parser").FieldAttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
436
+ value: import("@prisma/orm-framework/psl-parser").TypedFuncCall;
437
+ }, import("@prisma/orm-framework/psl-parser").AttributeCtx>;
438
+ readonly onUpdate: (ctx: import("@prisma/orm-framework/psl-parser").FieldAttributeSpecContext) => import("@prisma/orm-framework/psl-parser").AttributeSpec<{
439
+ value: import("@prisma/orm-framework/psl-parser").TypedFuncCall;
440
+ }, import("@prisma/orm-framework/psl-parser").AttributeCtx>;
441
+ };
442
+ };
443
+ readonly dataTypes: Readonly<Record<string, import("@prisma/orm-framework/components/authoring").DataTypeAuthoringEntry>>;
444
+ };
445
+ readonly generatorFunctions: readonly [{
446
+ readonly name: "now";
447
+ readonly signature: {
448
+ readonly documentation: "Writes the current time, as the column's codec represents it.";
449
+ };
450
+ readonly bindings: readonly [];
451
+ }, {
452
+ readonly name: "uuid";
453
+ readonly bindings: readonly import("@prisma/orm-framework/components/components").GeneratorFunctionBinding[];
454
+ }, {
455
+ readonly name: "cuid";
456
+ readonly bindings: readonly import("@prisma/orm-framework/components/components").GeneratorFunctionBinding[];
457
+ }, {
458
+ readonly name: "ulid";
459
+ readonly signature: {
460
+ readonly documentation: "Generates a ULID when a value is not supplied.";
461
+ };
462
+ readonly bindings: readonly import("@prisma/orm-framework/components/components").GeneratorFunctionBinding[];
463
+ }, {
464
+ readonly name: "nanoid";
465
+ readonly bindings: readonly import("@prisma/orm-framework/components/components").GeneratorFunctionBinding[];
466
+ }, {
467
+ readonly name: "ksuid";
468
+ readonly signature: {
469
+ readonly documentation: "Generates a KSUID when a value is not supplied.";
470
+ };
471
+ readonly bindings: readonly import("@prisma/orm-framework/components/components").GeneratorFunctionBinding[];
472
+ }];
473
+ readonly controlMutationDefaults: {
474
+ defaultFunctionRegistry: Map<any, any>;
475
+ generatorDescriptors: readonly import("@prisma/orm-framework/components/control").MutationDefaultGeneratorDescriptor[];
476
+ };
477
+ readonly fieldLength: NonNullable<ControlFamilyDescriptor<'sql'>['fieldLength']>;
478
+ readonly pslDiagnostics: {
479
+ readonly describeUnsupportedAttribute: unknown;
480
+ readonly describeUnresolvedType: unknown;
481
+ };
482
+ create<TTargetId extends string>(stack: ControlStack<'sql', TTargetId>): SqlControlFamilyInstance;
483
+ }
484
+ //#endregion
485
+ //#region src/core/assembly.d.ts
486
+ declare function extractCodecControlHooks(descriptors: ReadonlyArray<TargetBoundComponentDescriptor<'sql', string>>): Map<string, CodecControlHooks>;
487
+ //#endregion
488
+ //#region src/core/control-target-descriptor.d.ts
489
+ /**
490
+ * One stack extension pack's already-assembled contract, paired with the
491
+ * `spaceId` its extension descriptor was registered under. `contract infer`
492
+ * needs both: the contract to know which elements the pack describes and to
493
+ * resolve the domain model a cross-space foreign key targets, the `spaceId`
494
+ * to qualify the emitted relation type (`<spaceId>:<namespace>.<Model>`).
495
+ * Neither the contract JSON nor the framework's `ContractSpace` wrapper
496
+ * self-declares its owning space id — it is only known from the extension
497
+ * descriptor that carries the `ContractSpace`.
498
+ */
499
+ interface SqlDescribedContractSpace {
500
+ readonly spaceId: string;
501
+ readonly contract: Contract<SqlStorage>;
502
+ }
503
+ /**
504
+ * The parts of the composed stack a target builds a PSL document with. The PSL contract source reads the document with the same parts, so the target writes a column type as a type constructor the stack contributes, a literal default through the data type of the column's codec, and a generated value as a default function or field preset the stack contributes, and all of them read back.
505
+ */
506
+ interface SqlPslBuildContext {
507
+ readonly authoringContributions: Pick<AssembledAuthoringContributions, 'type' | 'field'>;
508
+ readonly codecLookup: CodecLookupWithDescriptors;
509
+ readonly dataTypes: DataTypeSupport;
510
+ /** The generator functions of the stack, which write each generator as `@onCreate(fn(...))` or `@onUpdate(fn(...))`. */
511
+ readonly generatorFunctions: GeneratorFunctionRegistry;
512
+ /** For each generator id the stack registers, the id of the component that registers it, when that component has one. */
513
+ readonly componentIdsByGenerator: ReadonlyMap<string, string | undefined>;
514
+ }
515
+ interface SqlControlTargetDescriptor<TTargetId extends string, TTargetDetails, TContract extends Contract<SqlStorage> = Contract<SqlStorage>> extends MigratableTargetDescriptor<'sql', TTargetId, SqlControlFamilyInstance> {
516
+ readonly queryOperations?: () => SqlOperationDescriptors;
517
+ /**
518
+ * JSON ⇄ class boundary for the SQL target's contract. The descriptor
519
+ * composes a concrete `SqlContractSerializerBase` subclass; the rest
520
+ * of the control stack reaches `descriptor.contractSerializer` rather
521
+ * than importing a per-target deserialization function.
522
+ */
523
+ readonly contractSerializer: ContractSerializer<TContract>;
524
+ /**
525
+ * Per-target schema verifier walking the contract against
526
+ * `SqlSchemaIR`. The descriptor composes a concrete
527
+ * `SqlSchemaVerifierBase` subclass; the family-shared walk lives on
528
+ * the base, the target-specific dispatch on the subclass.
529
+ */
530
+ readonly schemaVerifier: SchemaVerifier<TContract, SqlSchemaIR>;
531
+ /**
532
+ * Database→PSL inference for `contract infer`. Target logic (owns the dialect
533
+ * maps), so it lives on the descriptor. Optional: targets without `contract
534
+ * infer` (Mongo) omit it, and the family instance throws when it is absent.
535
+ * `context` is the stack `contract emit` reads the inferred schema with, so a
536
+ * default is written in the form the codec of the column's type constructor
537
+ * reads back. `describedContracts` carries the stack's extension packs'
538
+ * already-assembled contracts (each paired with its `spaceId`) so the inferrer
539
+ * can omit elements they already describe, and can qualify a cross-space
540
+ * relation with the owning pack's space id.
541
+ */
542
+ readonly inferPslContract?: (schema: SqlSchemaIRNode, context: SqlPslBuildContext, describedContracts?: readonly SqlDescribedContractSpace[]) => Promise<PslDocumentAst>;
543
+ /**
544
+ * Builds the PSL document of a contract, which `contract print` renders as text. `contract` must be one `contractSerializer.deserializeContract` accepted; the hook does not check its structure again. Like {@link inferPslContract} it produces a PSL document, but from an assembled contract and the stack parts in `context`. The document reads back as the same contract; the hook throws `CONTRACT.PRINT_UNSUPPORTED` for a contract PSL cannot express. The implementation sits in the target, though most of it inverts this family's PSL reader; only its column types, defaults, native enums, derived checks and row-level security are dialect logic. Optional: targets without `contract print` omit it, and the family instance throws when it is absent.
545
+ */
546
+ readonly buildPslContract?: (contract: TContract, context: SqlPslBuildContext) => PslDocumentAst;
547
+ /**
548
+ * The full-tree node diff the family verify verdict derives from —
549
+ * expected-tree derivation, pre-diff normalization, the generic differ,
550
+ * and ownership scoping, all target-side. The family applies strict
551
+ * gating + control-policy disposition over the returned issues; verify
552
+ * rejects when a surviving issue is a failure.
553
+ */
554
+ readonly diffSchema: SqlSchemaDiffFn;
555
+ /**
556
+ * Classifies a diff-tree node's `nodeKind` into its framework-neutral
557
+ * {@link DiffSubjectGranularity} — the target owns the full node vocabulary
558
+ * that appears in its diff tree (its own kinds plus the relational kinds it
559
+ * delegates to), so it is the one place that can resolve this. The family
560
+ * verdict calls it inline per issue (never stamping the result); the
561
+ * framework aggregate's unclaimed-elements sweep reaches the same
562
+ * classifier via the family instance's `classifySubjectGranularity`
563
+ * capability.
564
+ */
565
+ readonly classifySubjectGranularity: (nodeKind: string) => DiffSubjectGranularity;
566
+ /**
567
+ * Classifies a diff-tree node's `nodeKind` into its storage `entityKind` —
568
+ * the same vocabulary the contract storage's `entries` dictionary keys use
569
+ * (e.g. `'table'`). Sibling of `classifySubjectGranularity`, resolved the
570
+ * same way: the target owns the full node vocabulary, so it is the one
571
+ * place that can resolve this. `undefined` for a node kind with no
572
+ * storage entity of its own (a column, an index, …). The framework
573
+ * aggregate's unclaimed-elements sweep reaches this via the family
574
+ * instance's `classifyEntityKind` capability, so it never hardcodes a
575
+ * family entity kind.
576
+ */
577
+ readonly classifyEntityKind: (nodeKind: string) => string | undefined;
578
+ createPlanner(adapter: SqlControlAdapter<TTargetId>): SqlMigrationPlanner<TTargetDetails>;
579
+ createRunner(family: SqlControlFamilyInstance): SqlMigrationRunner<TTargetDetails>;
580
+ }
581
+ //#endregion
582
+ //#region src/core/default-functions.d.ts
583
+ type SqlDefaultFunctionName = 'autoincrement' | 'now';
584
+ /**
585
+ * The SQL family's default functions, each a database default: `autoincrement()` and `now()`. A value the client generates is a generator function, written `@onCreate(...)`.
586
+ */
587
+ declare function sqlDefaultFunctions(): Readonly<Record<SqlDefaultFunctionName, ControlMutationDefaultEntry>>;
588
+ //#endregion
589
+ //#region src/core/migrations/contract-to-schema-ir.d.ts
590
+ /**
591
+ * Target-supplied hook that names a contract's expression default the way the target's introspection names the same database function, such as `now()` for `CURRENT_TIMESTAMP`, so the two compare equal. When omitted, the contract's default is the resolved default unchanged.
592
+ */
593
+ type DefaultResolver = (def: ColumnDefault, column: DefaultResolverColumn) => ColumnDefault;
594
+ /** The column a {@link DefaultResolver} names a default for: its type as written, and whether it is a list. */
595
+ interface DefaultResolverColumn {
596
+ readonly typeText: string;
597
+ readonly many: boolean;
598
+ }
599
+ /**
600
+ * Detects destructive changes between two contract storages.
601
+ *
602
+ * The additive-only planner silently ignores removals (tables, columns).
603
+ * This function detects those removals so callers can report them as conflicts
604
+ * rather than silently producing an empty plan.
605
+ *
606
+ * Returns an empty array if no destructive changes are found.
607
+ */
608
+ declare function detectDestructiveChanges(from: SqlStorage | null, to: SqlStorage): readonly MigrationPlannerConflict[];
609
+ /** Each column's type is written from the data type its codec represents, found through the lookups. */
610
+ interface ContractToSchemaIROptions extends TypeLookups {
611
+ readonly annotationNamespace: string;
612
+ readonly resolveDefault?: DefaultResolver;
613
+ }
614
+ /**
615
+ * Converts the tables of a single namespace into a `SqlSchemaIR`, keyed by
616
+ * table name within that namespace. Unlike {@link contractToSchemaIR}, which
617
+ * flattens every namespace's tables into one bare-keyed record (and throws on a
618
+ * cross-namespace name collision), this scopes the table iteration to one
619
+ * namespace so the same table name can exist in two schemas.
620
+ *
621
+ * The full `storage` is still passed to `convertTable`, so value-set / enum /
622
+ * type resolution that legitimately spans namespaces is unaffected. Foreign
623
+ * keys are built purely from the FK descriptor (`fk.target`), so cross-namespace
624
+ * FKs survive per-namespace conversion. The `annotations` block (storage-type
625
+ * derived) is omitted here — the per-namespace tree consumer reads only the
626
+ * per-table fields.
627
+ */
628
+ declare function contractNamespaceToSchemaIR(storage: SqlStorage, namespaceId: string, options: ContractToSchemaIROptions): SqlSchemaIR;
629
+ /**
630
+ * Converts a `Contract` to `SqlSchemaIR`.
631
+ *
632
+ * Reads `contract.storage` for tables.
633
+ *
634
+ * Drops codec metadata (`codecId`) since the schema IR only represents
635
+ * structural information. Each column's type is written from the data type its codec
636
+ * represents, with its parameters (e.g. `character` + `{ length: 36 }` → `character(36)`),
637
+ * so the resulting IR compares correctly against the "to" contract during planning.
638
+ *
639
+ * Returns an empty schema IR when `contract` is `null` (new project).
640
+ */
641
+ declare function contractToSchemaIR(contract: Contract<SqlStorage> | null, options: ContractToSchemaIROptions): SqlSchemaIR;
642
+ //#endregion
643
+ //#region src/core/migrations/control-policy.d.ts
644
+ /**
645
+ * The target object a control policy governs for a single planner call,
646
+ * resolved from the target's own IR. `undefined` means the call's target
647
+ * object could not be positively established — a fail-closed signal: any
648
+ * policy stricter than `managed` drops such a call rather than emitting it.
649
+ *
650
+ * The object identity is a generic storage coordinate — `(entityKind,
651
+ * entityName)`, absent for a whole-namespace subject — never a target-specific
652
+ * `table`/`typeName` field. The family reasons about the coordinate for policy
653
+ * and deduplication; the target owns any vocabulary (table vs enum) when it
654
+ * renders a suppression.
655
+ */
656
+ interface ControlPolicySubject {
657
+ readonly namespaceId: string;
658
+ readonly entityKind?: string;
659
+ readonly entityName?: string;
660
+ readonly column?: string;
661
+ /**
662
+ * Names the RLS policy when the suppressed thing is a policy-level unit
663
+ * on the subject's table (mirrors `column`) — the report must say which
664
+ * policy, not just which table.
665
+ */
666
+ readonly rlsPolicy?: string;
667
+ readonly explicitNodeControlPolicy?: ControlPolicy;
668
+ /**
669
+ * Whether the call creates a whole, previously-absent top-level storage
670
+ * object (e.g. a table or an enum/type), as opposed to modifying an
671
+ * existing object. This is the only thing `tolerated` permits: it is a
672
+ * create-if-absent policy, so an op that touches an existing object — add
673
+ * column, add index/constraint, alter, drop — is never allowed under it.
674
+ */
675
+ readonly createsNewObject: boolean;
676
+ }
677
+ /**
678
+ * The structured record a control-policy partition emits for one suppressed
679
+ * subject or call. It carries only raw data — no strings, no vocabulary — so
680
+ * the consumer (the target) renders the user-facing message itself:
681
+ *
682
+ * - `subject` — the suppressed subject (its coordinate + namespace), or
683
+ * `undefined` when the subject could not be resolved (fail-closed).
684
+ * - `policy` — the effective control policy that caused the suppression.
685
+ * - `factoryName` — the resolved creation factory name if the suppressed thing
686
+ * was a whole-object creation (e.g. `createTable`), else `undefined`. The
687
+ * family never invents a verb for a modification that produced no call.
688
+ * - `createsNewObject` — whether the suppressed thing was object creation.
689
+ */
690
+ interface SuppressionRecord {
691
+ readonly subject: ControlPolicySubject | undefined;
692
+ readonly policy: ControlPolicy;
693
+ readonly factoryName: string | undefined;
694
+ readonly createsNewObject: boolean;
695
+ }
696
+ /**
697
+ * Partition the calls produced for a single set of subjects into those the
698
+ * effective control policy permits (`kept`) and a list of
699
+ * {@link SuppressionRecord}s describing the suppressed calls.
700
+ *
701
+ * **Prefer {@link partitionIssuesByControlPolicy}** for the schema-issue
702
+ * pipeline: it filters subjects out of the planner's *input* so the planner
703
+ * never has to reason about un-modeled state on `external`/`observed`
704
+ * subjects. This call-level helper remains for paths that bypass the issue
705
+ * pipeline — currently the codec-emitted field-event ops, which originate
706
+ * from declared contract fields rather than from introspected schema state
707
+ * and therefore cannot trip the diff engine.
708
+ */
709
+ declare function partitionCallsByControlPolicy<TCall>(options: {
710
+ readonly calls: readonly TCall[];
711
+ readonly contract: Contract<SqlStorage>;
712
+ readonly resolveControlPolicySubject: (call: TCall) => ControlPolicySubject | undefined;
713
+ readonly resolveFactoryName: (call: TCall) => string;
714
+ }): {
715
+ readonly kept: readonly TCall[];
716
+ readonly suppressions: readonly SuppressionRecord[];
717
+ };
718
+ /**
719
+ * Partition a list of schema-issue-shaped inputs by the effective control
720
+ * policy of each issue's subject *before* the planner is invoked.
721
+ *
722
+ * `plannable` is the list of issues whose subject's effective policy permits
723
+ * the planner to act on them (`managed`, or `tolerated` for whole-object
724
+ * creation issues only). Issues for `external`/`observed` subjects, and
725
+ * non-creation issues for `tolerated` subjects, are dropped from the planner's
726
+ * input entirely — they never enter introspection-driven planning, never feed
727
+ * the diff engine, and never produce DDL calls that would have to be
728
+ * post-filtered. This sidesteps a class of failure where the diff engine
729
+ * cannot reason about the live shape of a subject the user marked as
730
+ * out-of-scope (`external`).
731
+ *
732
+ * `suppressions` is one {@link SuppressionRecord} per suppressed subject (not
733
+ * per suppressed issue). Its `factoryName` is the creation factory name when any
734
+ * of the subject's issues is whole-object creation (e.g. `createTable`), else
735
+ * `undefined` — the family never invents a modification verb for an op that
736
+ * produced no call; the target renders the message.
737
+ *
738
+ * Unresolved-subject issues (`resolveControlPolicySubject` returns
739
+ * `undefined`) emit one record each; they cannot be deduplicated because they
740
+ * carry no subject coordinate.
741
+ */
742
+ declare function partitionIssuesByControlPolicy<TIssue>(options: {
743
+ readonly issues: readonly TIssue[];
744
+ readonly contract: Contract<SqlStorage>;
745
+ /**
746
+ * Resolve the subject targeted by this issue (or `undefined` to fail-closed:
747
+ * any policy stricter than `managed` drops the issue).
748
+ */
749
+ readonly resolveControlPolicySubject: (issue: TIssue) => ControlPolicySubject | undefined;
750
+ /**
751
+ * Resolve a creation factoryName for this issue if it represents the
752
+ * absence of the whole top-level object (e.g. `'createTable'` for a
753
+ * missing-table issue). When the issue describes a modification to an
754
+ * existing object, return `undefined`. Both decisions feed off this signal:
755
+ *
756
+ * 1. Under `tolerated`, only issues whose `resolveCreationFactoryName`
757
+ * returns a value flow into the planner (create-if-absent).
758
+ * 2. A suppressed subject's record carries the resolved creation factoryName
759
+ * when it has at least one creation-flavoured issue, else `undefined`.
760
+ */
761
+ readonly resolveCreationFactoryName: (issue: TIssue) => string | undefined;
762
+ }): {
763
+ readonly plannable: readonly TIssue[];
764
+ readonly suppressions: readonly SuppressionRecord[];
765
+ };
766
+ //#endregion
767
+ //#region src/core/migrations/schema-tables.d.ts
768
+ /**
769
+ * The tables a schema has, addressed by the contract's namespace ids: the schema a plan starts
770
+ * from, or the schema a migration's earlier renames leave behind.
771
+ */
772
+ interface SchemaTables {
773
+ hasTable(namespaceId: string, table: string): boolean;
774
+ hasColumn(namespaceId: string, table: string, column: string): boolean;
775
+ /**
776
+ * The namespace's tables the database takes for `table`: the table itself where names compare
777
+ * exactly, and every table whose name differs only in case where the database ignores case.
778
+ */
779
+ tablesNamed(namespaceId: string, table: string): readonly string[];
780
+ /**
781
+ * The table's columns the database takes for `column`: the column itself where names compare
782
+ * exactly, and every column whose name differs only in case where the database ignores case.
783
+ */
784
+ columnsNamed(namespaceId: string, table: string, column: string): readonly string[];
785
+ namespacesWithTable(table: string): readonly string[];
786
+ hasNamespace(namespaceId: string): boolean;
787
+ }
788
+ //#endregion
789
+ //#region src/core/migrations/resolve-column-rename.d.ts
790
+ declare const COLUMN_RENAME_UNMATCHED_CODE = "MIGRATION.COLUMN_RENAME_UNMATCHED";
791
+ /**
792
+ * A column rename as a `renameColumn` call states it: `namespaceId` is `undefined` when the
793
+ * namespace is left to the contracts.
794
+ */
795
+ interface ColumnRenameRequest {
796
+ readonly namespaceId: string | undefined;
797
+ readonly table: string;
798
+ readonly from: string;
799
+ readonly to: string;
800
+ }
801
+ /** A column rename on a table in a known namespace. */
802
+ interface ColumnRename {
803
+ readonly namespaceId: string;
804
+ readonly table: string;
805
+ readonly from: string;
806
+ readonly to: string;
807
+ }
808
+ /**
809
+ * Refuses a `renameColumn` call that does not match the migration's contracts, with
810
+ * `MIGRATION.COLUMN_RENAME_UNMATCHED`.
811
+ */
812
+ declare function unmatchedColumnRename(rename: ColumnRenameRequest, reason: string): StructuredError;
813
+ /**
814
+ * Resolves a column a migration renames with {@link checkColumnRename}, refusing a mismatch with
815
+ * `MIGRATION.COLUMN_RENAME_UNMATCHED`.
816
+ */
817
+ declare function resolveColumnRenameAgainst(previous: SchemaTables, endContract: Contract<SqlStorage>, rename: ColumnRenameRequest): Result<ColumnRename, StructuredError>;
818
+ //#endregion
819
+ //#region src/core/migrations/resolve-table-rename.d.ts
820
+ /**
821
+ * A table rename as a `renameTable` call or a guard's advice states it: `namespaceId` is
822
+ * `undefined` when the namespace is left to the contracts.
823
+ */
824
+ interface TableRenameRequest {
825
+ readonly namespaceId: string | undefined;
826
+ readonly from: string;
827
+ readonly to: string;
828
+ }
829
+ /** A table rename in a known namespace. */
830
+ interface TableRename {
831
+ readonly namespaceId: string;
832
+ readonly from: string;
833
+ readonly to: string;
834
+ }
835
+ /**
836
+ * Refuses a `renameTable` call that does not match the migration's contracts, with
837
+ * `MIGRATION.TABLE_RENAME_UNMATCHED`.
838
+ */
839
+ declare function unmatchedTableRename(rename: TableRenameRequest, reason: string): StructuredError;
840
+ /**
841
+ * Resolves a table a migration renames with {@link checkTableRename}, refusing a mismatch with
842
+ * `MIGRATION.TABLE_RENAME_UNMATCHED`.
843
+ */
844
+ declare function resolveTableRenameAgainst(previous: SchemaTables, endContract: Contract<SqlStorage>, rename: TableRenameRequest): Result<TableRename, StructuredError>;
845
+ //#endregion
846
+ //#region src/core/migrations/field-event-planner.d.ts
847
+ interface PlanFieldEventOperationsOptions {
848
+ /**
849
+ * Prior contract the planner is diffing against. `null` for first emits
850
+ * (every field is treated as added).
851
+ */
852
+ readonly priorContract: Contract<SqlStorage> | null;
853
+ /**
854
+ * New contract the user just authored.
855
+ */
856
+ readonly newContract: Contract<SqlStorage>;
857
+ /**
858
+ * Codec-id keyed map of control hooks, as produced by
859
+ * {@link import('./assembly').extractCodecControlHooks}. Hooks carry
860
+ * `unknown` target details after extraction; the caller casts the
861
+ * helper's returned ops to its target's `SqlMigrationPlanOperation`
862
+ * specialisation at the integration boundary, mirroring how
863
+ * `storageTypePlanCallStrategy` lifts `planTypeOperations` results into
864
+ * `RawSqlCall`.
865
+ */
866
+ readonly codecHooks: ReadonlyMap<string, CodecControlHooks>;
867
+ /** The stack's data types, which say what each column is stored as. */
868
+ readonly dataTypes: Pick<DataTypeLookup, 'get'>;
869
+ /**
870
+ * The table renames the plan applies. A column under a renamed table's old name is the same
871
+ * column under its new name, so a rename alone fires no event.
872
+ */
873
+ readonly tableRenames: readonly TableRename[];
874
+ /**
875
+ * The column renames the plan applies, each on the table under the name it has after the table
876
+ * renames. A column under its old name is the same column under its new name.
877
+ */
878
+ readonly columnRenames: readonly ColumnRename[];
879
+ }
880
+ /** A call a codec hook returned, with the column of the field event it was returned for. */
881
+ interface FieldEventCall {
882
+ readonly call: OpFactoryCall;
883
+ readonly namespaceId: string;
884
+ /** The table and column as the new contract names them. */
885
+ readonly tableName: string;
886
+ readonly columnName: string;
887
+ }
888
+ declare function planFieldEventOperations(options: PlanFieldEventOperationsOptions): readonly OpFactoryCall[];
889
+ /** The calls the codec hooks return, each with the field event's column. */
890
+ declare function planFieldEventCalls(options: PlanFieldEventOperationsOptions): readonly FieldEventCall[];
891
+ //#endregion
892
+ //#region src/core/migrations/field-of-column.d.ts
893
+ /**
894
+ * The field of `contract` that stores `column` of `table`, or undefined when no field stores it or
895
+ * tables of two storage namespaces share the table's name.
896
+ */
897
+ declare function fieldOfColumn(contract: ContractWithDomain, table: string, column: string): MigrationSubject | undefined;
898
+ //#endregion
899
+ //#region src/core/migrations/operation-storage-name.d.ts
900
+ /**
901
+ * The name the database knows an operation's object by, read from the operation's target
902
+ * details: `schema.table.column` for a column, `schema.name` for anything else, without the
903
+ * schema in the unbound namespace. An operation without details is named by its id.
904
+ */
905
+ declare function storageNameOfOperation(operation: MigrationPlanOperation): string;
906
+ //#endregion
907
+ //#region src/core/migrations/statement-planning.d.ts
908
+ /** Where a model's rows live: a table in a storage namespace. */
909
+ interface ModelTable {
910
+ readonly namespaceId: string;
911
+ readonly table: string;
912
+ }
913
+ /** What a model rename does to storage. */
914
+ type ModelStorageEffect = {
915
+ readonly kind: 'unchanged';
916
+ } | {
917
+ readonly kind: 'renameTable';
918
+ readonly rename: TableRename;
919
+ } | {
920
+ readonly kind: 'moveNamespace';
921
+ readonly from: ModelTable;
922
+ readonly to: ModelTable;
923
+ };
924
+ /** What a field rename does to storage. */
925
+ type FieldStorageEffect = {
926
+ readonly kind: 'unchanged';
927
+ } | {
928
+ readonly kind: 'renameColumn';
929
+ /** The origin model's table, as the origin contract names it. */
930
+ readonly table: ModelTable;
931
+ readonly from: string;
932
+ readonly to: string;
933
+ };
934
+ /** A model the contract stores in no table, so a statement on it has no storage effect. */
935
+ interface NoTable {
936
+ readonly kind: 'noTable';
937
+ readonly model: ModelCoordinate;
938
+ }
939
+ /** A field stored in a column on one side of a statement only, which no rename can map. */
940
+ interface ColumnOnOneSide {
941
+ readonly kind: 'columnOnOneSide';
942
+ }
943
+ /**
944
+ * The storage effect of a model rename: the origin model's table compared with the destination
945
+ * model's. Equal tables mean the rename needs no storage change.
946
+ */
947
+ declare function modelRenameStorageEffect(statement: ResolvedModelRenameStatement, fromContract: ContractWithDomain, contract: ContractWithDomain): Result<ModelStorageEffect, NoTable>;
948
+ /**
949
+ * The storage effect of a field rename: the origin field's column compared with the destination
950
+ * field's. A relation field has no column on either side, and equal columns need no change.
951
+ */
952
+ declare function fieldRenameStorageEffect(statement: ResolvedFieldRenameStatement, fromContract: ContractWithDomain, contract: ContractWithDomain): Result<FieldStorageEffect, NoTable | ColumnOnOneSide>;
953
+ /** A call that lowers to one operation, such as a companion of a rename. */
954
+ interface SingleOperationCall {
955
+ readonly operationClass: MigrationOperationClass;
956
+ }
957
+ /**
958
+ * A call that lowers to its own operation, then each companion's, in that order: a table or column
959
+ * rename, whether a statement plans it or a hand-written migration calls it. A table move has none.
960
+ */
961
+ interface CallWithCompanions extends SingleOperationCall {
962
+ readonly companions: readonly SingleOperationCall[];
963
+ }
964
+ /** A namespace renamed: `from` names it in the origin contract and `to` in the destination. */
965
+ interface NamespaceRename {
966
+ readonly from: string;
967
+ readonly to: string;
968
+ }
969
+ /** Why a target cannot carry out a statement, in its words. */
970
+ interface TargetRefusal {
971
+ readonly reason: string;
972
+ readonly fix: string;
973
+ }
974
+ /** A table moving, under its own name, from one storage namespace to another. */
975
+ interface TableMove {
976
+ readonly table: string;
977
+ readonly from: string;
978
+ readonly to: string;
979
+ }
980
+ /** How a user renames a table by hand, written for the target. */
981
+ interface TableRenameByHand {
982
+ /** The `renameTable` call a user writes in `migration.ts` to make `rename` by hand. */
983
+ renderTableRename(rename: TableRename): string;
984
+ /** The SQL statements a user runs against the database to make `rename` by hand. */
985
+ tableRenameByHand(rename: TableRename): readonly string[];
986
+ }
987
+ /** What a target with several namespaces supplies for namespace renames and model moves. */
988
+ interface NamespaceStatementTarget<TCall extends CallWithCompanions> {
989
+ /**
990
+ * The calls a table moving into `namespaceId` needs first, such as creating the namespace: none
991
+ * when the working schema has it.
992
+ */
993
+ createNamespaceCalls(namespaceId: string): readonly TCall[];
994
+ /** The call that moves a table to another namespace, computed against the working schema. */
995
+ moveTableCall(move: TableMove): TCall;
996
+ /** Why the target cannot rename the namespace, or `undefined` when it can. */
997
+ namespaceRenameRefusal(rename: NamespaceRename): TargetRefusal | undefined;
998
+ /** The call that renames a namespace, computed against the working schema. */
999
+ renameNamespaceCall(rename: NamespaceRename): TCall;
1000
+ }
1001
+ /** What a target supplies for planning statements against its working schema. */
1002
+ interface StatementPlanningTarget<TCall extends CallWithCompanions> extends TableRenameByHand {
1003
+ /** The tables of the working schema as earlier statements have left it. */
1004
+ tables(): SchemaTables;
1005
+ /** The call that renames a table, with its companions, computed against the working schema. */
1006
+ renameTableCall(rename: TableRename): TCall;
1007
+ /** Namespace renames and model moves; a target that keeps every table in one namespace has none. */
1008
+ readonly namespaces?: NamespaceStatementTarget<TCall> | undefined;
1009
+ /** The call that renames a column, with its companions, computed against the working schema. */
1010
+ renameColumnCall(rename: ColumnRename): TCall;
1011
+ /** Applies a call to the working schema. */
1012
+ apply(call: TCall): void;
1013
+ }
1014
+ /**
1015
+ * Where a table or column of the working schema came from in the origin contract, after the
1016
+ * statements' renames and moves: the statement planner records it, and the questions name a
1017
+ * subject through it.
1018
+ */
1019
+ interface WorkingSchemaOrigins {
1020
+ /** The origin place of a table of the working schema. */
1021
+ originTable(current: ModelTable): ModelTable;
1022
+ /** The origin name of a column, now named `column`, of the origin table `origin`. */
1023
+ originColumn(origin: ModelTable, column: string): string;
1024
+ }
1025
+ /** The origins of a plan whose statements renamed and moved nothing. */
1026
+ declare const NO_RENAMED_ORIGINS: WorkingSchemaOrigins;
1027
+ interface PlannedStatements<TCall extends CallWithCompanions> {
1028
+ /**
1029
+ * The calls, which a target puts first in its plan: each statement's `operationIndexes` count
1030
+ * from the first operation of the first call.
1031
+ */
1032
+ readonly calls: readonly TCall[];
1033
+ readonly tableRenames: readonly TableRename[];
1034
+ readonly columnRenames: readonly ColumnRename[];
1035
+ readonly appliedStatements: readonly AppliedMigrationStatement[];
1036
+ readonly origins: WorkingSchemaOrigins;
1037
+ }
1038
+ /** The contract space planned, and the oracle that says which spaces declare a namespace. */
1039
+ interface StatementOwnership {
1040
+ readonly oracle: SchemaOwnership | undefined;
1041
+ readonly spaceId: string;
1042
+ }
1043
+ /** A contract space other than the one planned that declares the namespace, if any. */
1044
+ declare function otherSpaceDeclaring(ownership: StatementOwnership, namespaceId: string): string | undefined;
1045
+ /**
1046
+ * Plans the statements against a target's working schema, namespace renames first and the rest in
1047
+ * the order given: model and field statements name the origin and destination contracts, so the
1048
+ * namespace renames' place among them does not matter. Each model rename becomes a table rename
1049
+ * and each field rename a column rename, computed against the schema earlier statements left, then
1050
+ * applied to it. The first statement that cannot be planned fails the whole
1051
+ * plan with a `statementRefused` conflict that carries the statement.
1052
+ */
1053
+ declare function planStatements<TCall extends CallWithCompanions>(input: {
1054
+ readonly statements: readonly ResolvedRenameStatement[];
1055
+ readonly fromContract: Contract<SqlStorage> | null;
1056
+ readonly contract: Contract<SqlStorage>;
1057
+ readonly policy: MigrationOperationPolicy;
1058
+ readonly target: StatementPlanningTarget<TCall>;
1059
+ readonly ownership?: StatementOwnership;
1060
+ }): Result<PlannedStatements<TCall>, SqlPlannerConflict>;
1061
+ /**
1062
+ * A column a statement names, in a table of a storage namespace, as the destination contract stores
1063
+ * it, with the field the statement names.
1064
+ */
1065
+ interface StatementColumn {
1066
+ readonly namespaceId: string;
1067
+ readonly table: string;
1068
+ readonly column: string;
1069
+ readonly field: FieldCoordinate;
1070
+ /** The field as the statement names it, which also names the statement's slots. */
1071
+ readonly text: string;
1072
+ }
1073
+ /** The columns of the fields that convert and backfill statements name. */
1074
+ interface FieldStatementColumns {
1075
+ readonly convert: readonly StatementColumn[];
1076
+ readonly backfill: readonly StatementColumn[];
1077
+ }
1078
+ /**
1079
+ * The column of each field a convert or backfill statement names, as the destination contract
1080
+ * stores it. These statements rename nothing, so the strategies that plan a field's change read
1081
+ * them instead of the working schema. A field with no column has none to list.
1082
+ */
1083
+ declare function fieldStatementColumns(statements: readonly ResolvedMigrationStatement[], contract: ContractWithDomain): FieldStatementColumns;
1084
+ /**
1085
+ * A conflict for the first backfill statement that names a field the origin model does not have and
1086
+ * whose column has a default: the default fills the existing rows when the column is added, so the
1087
+ * statement has nothing to fill. A field already in the origin keeps its backfill, since a default
1088
+ * does not fill the rows that hold NULL when the column becomes required.
1089
+ */
1090
+ declare function backfillOfDefaultedField(statements: readonly ResolvedMigrationStatement[], fromContract: ContractWithDomain | null, contract: Contract<SqlStorage>): SqlPlannerConflict | undefined;
1091
+ /**
1092
+ * Every statement of a plan in the order given, with the operations it accounts for: a rename's
1093
+ * from `renames`, and none yet for any other statement.
1094
+ */
1095
+ declare function appliedStatementsInOrder(statements: readonly ResolvedMigrationStatement[], renames: readonly AppliedMigrationStatement[]): readonly AppliedMigrationStatement[];
1096
+ //#endregion
1097
+ //#region src/core/migrations/operation-subjects.d.ts
1098
+ /**
1099
+ * What an operation is about, as the plan names it after its rename statements: a table, or a
1100
+ * column of one, in a storage namespace, or neither, such as a type. `storageName` names the
1101
+ * subject when no model of the origin contract stores it.
1102
+ */
1103
+ interface SubjectStorage {
1104
+ readonly storageName: string;
1105
+ readonly table: {
1106
+ readonly namespaceId: string;
1107
+ readonly table: string;
1108
+ readonly column: string | undefined;
1109
+ } | undefined;
1110
+ }
1111
+ /** What a codec hook's call is about: the column of the field event it was returned for. */
1112
+ declare function fieldEventStorage(field: {
1113
+ readonly namespaceId: string;
1114
+ readonly tableName: string;
1115
+ readonly columnName: string;
1116
+ }): SubjectStorage;
1117
+ /**
1118
+ * Names for destructive calls a target cannot map to storage: each call's factory name, with a
1119
+ * `#n` ordinal when several calls of the plan share it, so each name picks out one call.
1120
+ */
1121
+ declare function unknownCallNames<TCall extends {
1122
+ readonly factoryName: string;
1123
+ }>(calls: readonly TCall[]): ReadonlyMap<TCall, string>;
1124
+ /** A call of a plan: how many operations it lowers to, and what the first of them is about. */
1125
+ interface CallSubjects {
1126
+ readonly operationCount: number;
1127
+ /** The call's label, which names its operation before the plan's slots are filled. */
1128
+ readonly label: string;
1129
+ /** What the call's operation loses, one entry per model, field or storage name, and how. */
1130
+ readonly dataLoss: readonly (SubjectStorage & {
1131
+ readonly loss: MigrationDataLossKind;
1132
+ })[];
1133
+ /** What the call's operation changes access to, and whether it widens it. */
1134
+ readonly accessChanges: readonly (SubjectStorage & {
1135
+ readonly widens: boolean;
1136
+ })[];
1137
+ /** The new required columns the call's operation gives a temporary value in existing rows, and the value. */
1138
+ readonly temporaryValues: readonly TemporaryColumnValue[];
1139
+ }
1140
+ /** A new required column of `table` in the destination, and the temporary value its existing rows get. */
1141
+ interface TemporaryColumnValue {
1142
+ readonly table: string;
1143
+ readonly column: string;
1144
+ readonly value: string;
1145
+ }
1146
+ interface SubjectContext {
1147
+ readonly fromContract: ContractWithDomain | null;
1148
+ readonly contract: ContractWithDomain;
1149
+ /** Where the plan's statements put the origin's tables and columns. */
1150
+ readonly origins: WorkingSchemaOrigins;
1151
+ readonly byHand: TableRenameByHand;
1152
+ }
1153
+ /**
1154
+ * The subject of each operation that loses data and each that changes access, at its position in
1155
+ * the plan. A subject is a model or a field of the origin contract when one stores it, found under
1156
+ * its origin name when a rename statement renamed its table or column earlier in the plan.
1157
+ */
1158
+ declare function subjectsOfCalls(calls: readonly CallSubjects[], context: SubjectContext): MigrationPlanSubjects;
1159
+ //#endregion
1160
+ //#region src/core/migrations/plan-helpers.d.ts
1161
+ declare function createMigrationPlan<TTargetDetails>(options: CreateSqlMigrationPlanOptions<TTargetDetails>): SqlMigrationPlan<TTargetDetails>;
1162
+ declare function plannerSuccess<TTargetDetails>(plan: SqlMigrationPlan<TTargetDetails>, appliedStatements: readonly AppliedMigrationStatement[], subjects: MigrationPlanSubjects, warnings?: readonly SqlPlannerConflict[]): SqlPlannerSuccessResult<TTargetDetails>;
1163
+ declare function plannerFailure(conflicts: readonly SqlPlannerConflict[]): SqlPlannerFailureResult;
1164
+ /**
1165
+ * Creates a successful migration runner result.
1166
+ */
1167
+ declare function runnerSuccess(value: {
1168
+ operationsPlanned: number;
1169
+ operationsExecuted: number;
1170
+ }): Ok<SqlMigrationRunnerSuccessValue>;
1171
+ /**
1172
+ * Creates a failed migration runner result.
1173
+ */
1174
+ declare function runnerFailure(code: SqlMigrationRunnerErrorCode, summary: string, options?: {
1175
+ readonly why?: string | undefined;
1176
+ readonly meta?: MigrationRunnerFailureMeta;
1177
+ }): NotOk<SqlMigrationRunnerFailure>;
1178
+ //#endregion
1179
+ //#region src/core/migrations/policies.d.ts
1180
+ /**
1181
+ * Policy used by `db init`: additive-only operations, no widening/destructive steps.
1182
+ */
1183
+ declare const INIT_ADDITIVE_POLICY: MigrationOperationPolicy;
1184
+ //#endregion
1185
+ //#region src/core/migrations/required-column.d.ts
1186
+ /** Where a column that is to become required finds no value. */
1187
+ interface RequiredColumn {
1188
+ readonly table: string;
1189
+ readonly column: string;
1190
+ readonly reason: RowsWithoutValue['reason'];
1191
+ }
1192
+ /**
1193
+ * The meta of a step that fails when rows have no value for a column that is to become required:
1194
+ * rows hold NULL in it, or, for a new column that can be added to an empty table only, the table
1195
+ * has rows. When the step fails, the runner counts those rows.
1196
+ */
1197
+ declare function requiredColumnMeta(table: string, column: string, reason: RowsWithoutValue['reason']): {
1198
+ readonly requiredColumn: RequiredColumn;
1199
+ };
1200
+ /** The column a step checks before it becomes required, as {@link requiredColumnMeta} marks it. */
1201
+ declare function requiredColumnOf(step: SqlMigrationPlanOperationStep): RequiredColumn | undefined;
1202
+ /** What a runner failure says of the rows a column that is to become required has no value in. */
1203
+ declare function rowsWithoutValueSummary(required: RequiredColumn, rows: number): string;
1204
+ /** A step of a plan that marks a column as becoming required. */
1205
+ interface RequiredColumnMark<TOperation> {
1206
+ readonly operation: TOperation;
1207
+ readonly operationIndex: number;
1208
+ readonly required: RequiredColumn;
1209
+ }
1210
+ /**
1211
+ * The marks of the steps of `operations` that belong to the same migration as the operation at
1212
+ * `operationIndex`, in plan order: `edges` say how many operations each migration of the plan has.
1213
+ */
1214
+ declare function requiredColumnsOfMigration<TOperation extends {
1215
+ readonly precheck: readonly SqlMigrationPlanOperationStep[];
1216
+ readonly execute: readonly SqlMigrationPlanOperationStep[];
1217
+ readonly postcheck: readonly SqlMigrationPlanOperationStep[];
1218
+ }>(operations: readonly TOperation[], edges: readonly {
1219
+ readonly operationCount: number;
1220
+ }[], operationIndex: number): readonly RequiredColumnMark<TOperation>[];
1221
+ /**
1222
+ * A runner failure's summary and reports for the rows that columns becoming required have no value
1223
+ * in. The failed operation's marks are counted first, and the first of them with such rows is the
1224
+ * one the summary names; undefined when none has any. The other marks of the same migration are
1225
+ * counted after it, until a count fails, such as for a column an earlier operation adds, so that
1226
+ * the advice can name every field that needs a value.
1227
+ */
1228
+ declare function rowsWithoutValueFailure<TOperation>(input: {
1229
+ readonly failed: readonly RequiredColumnMark<TOperation>[];
1230
+ readonly others: readonly RequiredColumnMark<TOperation>[];
1231
+ readonly count: (mark: RequiredColumnMark<TOperation>) => Promise<number>;
1232
+ readonly contract: ContractWithDomain;
1233
+ }): Promise<{
1234
+ readonly summary: string;
1235
+ readonly reports: readonly RowsWithoutValue[];
1236
+ } | undefined>;
1237
+ //#endregion
1238
+ //#region src/core/migrations/sql-expression-text.d.ts
1239
+ /**
1240
+ * One way a target's SQL quotes a literal or an identifier. Inside the quote, the closing text
1241
+ * written twice stands for itself when `doubledCloseEscapes` is set, and a backslash escapes the
1242
+ * next character when `backslashEscapes` is set.
1243
+ */
1244
+ interface SqlQuote {
1245
+ readonly open: string;
1246
+ readonly close: string;
1247
+ readonly doubledCloseEscapes: boolean;
1248
+ readonly backslashEscapes: boolean;
1249
+ }
1250
+ /** The quotes a target's SQL knows. Letters in an opening text, such as the `E` of `E'`, match either case. */
1251
+ type SqlQuotingRules = readonly SqlQuote[];
1252
+ /**
1253
+ * Returns what in `text` could end or extend the statement a migration writes it into, such as the
1254
+ * conversion of an `ALTER COLUMN … USING` clause or a column of an `INSERT … SELECT` list, or
1255
+ * undefined when it finds nothing. Text inside the quotes of `quoting` may hold anything; outside
1256
+ * them the text may not hold a semicolon, a SQL comment, dollar quoting, or, outside parentheses
1257
+ * and brackets, a comma or a keyword that would end the expression. `FROM` directly after
1258
+ * `DISTINCT`, as in `IS DISTINCT FROM`, belongs to the expression. It checks for these mistakes
1259
+ * only; it does not parse the SQL.
1260
+ */
1261
+ declare function checkSqlExpressionText(text: string, quoting: SqlQuotingRules): string | undefined;
1262
+ //#endregion
1263
+ //#region src/core/migrations/sql-text-sources.d.ts
1264
+ /**
1265
+ * Writes the SQL texts of one generated migration-file call. Each text becomes a `sql` template where the tag reads it
1266
+ * back unchanged, else a string literal. `imports()` holds the `sql` import exactly when a written text used the tag.
1267
+ */
1268
+ interface SqlTextSources {
1269
+ source(text: string): string;
1270
+ imports(): readonly ImportRequirement[];
1271
+ }
1272
+ /** `moduleSpecifier` is the module the generated file imports `sql` from. */
1273
+ declare function createSqlTextSources(moduleSpecifier: string): SqlTextSources;
1274
+ //#endregion
1275
+ //#region src/core/migrations/sql-slot.d.ts
1276
+ /**
1277
+ * SQL a planned call writes into a statement: written SQL, or a placeholder slot the user fills in
1278
+ * `migration.ts`. While a slot is unfilled, the call lowers to no operation.
1279
+ */
1280
+ type SqlSlot = {
1281
+ readonly kind: 'sql';
1282
+ readonly sql: string;
1283
+ } | {
1284
+ readonly kind: 'placeholder';
1285
+ readonly slot: string;
1286
+ };
1287
+ /** Whether `slot` is a placeholder the user has not filled yet. */
1288
+ declare function isUnfilledSlot(slot: SqlSlot | undefined): slot is Extract<SqlSlot, {
1289
+ readonly kind: 'placeholder';
1290
+ }>;
1291
+ /** The SQL of a written slot; undefined for an unfilled one or none. */
1292
+ declare function sqlOfSlot(slot: SqlSlot | undefined): string | undefined;
1293
+ /** The slot as `migration.ts` writes it: SQL text written through `sql`, or a `placeholder(...)` call. */
1294
+ declare function slotSource(slot: SqlSlot, sql: SqlTextSources): string;
1295
+ //#endregion
1296
+ //#region src/core/migrations/sql-type-lookups.d.ts
1297
+ /** The codecs and data types a set of composed components registers. */
1298
+ declare function sqlTypeLookupsOf(frameworkComponents: ReadonlyArray<TargetBoundComponentDescriptor<'sql', string>>): TypeLookups;
1299
+ //#endregion
1300
+ //#region src/core/migrations/table-name-case-guard.d.ts
1301
+ declare const TABLE_NAME_CASE_CHANGED_CODE = "MIGRATION.TABLE_NAME_CASE_CHANGED";
1302
+ /** The one fact the guard needs about a table the plan would drop or create. */
1303
+ interface TableNameCaseGuardTable {
1304
+ readonly name: string;
1305
+ }
1306
+ /**
1307
+ * Finds every (drop `X`, create `Y`) pair in the same namespace where `X` is
1308
+ * `Y` with its first letter lowered. That shape is the signature of a schema
1309
+ * upgraded across the release in which a model with no `@@map` stopped
1310
+ * lowering the first letter of its table name: planning it would drop the
1311
+ * user's table and recreate it empty. Columns are deliberately not compared,
1312
+ * so a user who also changed a field in the same upgrade is still protected.
1313
+ *
1314
+ * Returns one conflict per pair, carrying `MIGRATION.TABLE_NAME_CASE_CHANGED`
1315
+ * in `meta.code`, or an empty array when the plan has no such pair.
1316
+ */
1317
+ declare function detectTableNameCaseChanges(input: {
1318
+ readonly issues: readonly SchemaDiffIssue[];
1319
+ readonly tableOf: (issue: SchemaDiffIssue) => TableNameCaseGuardTable | undefined;
1320
+ readonly namespaceIdOf: (issue: SchemaDiffIssue) => string;
1321
+ readonly renameByHandStatements: (rename: TableRename) => readonly string[];
1322
+ readonly renameTableCall: (rename: TableRenameRequest) => string;
1323
+ readonly contract: Contract<SqlStorage>;
1324
+ readonly defaultNamespaceId: string;
1325
+ }): SqlPlannerConflict[];
1326
+ //#endregion
1327
+ //#region src/core/migrations/temporary-value.d.ts
1328
+ /**
1329
+ * Whether a required column the plan adds to a table with rows may take one temporary value in
1330
+ * every row. Not when it is in the primary key, a unique constraint or a foreign key, which one
1331
+ * value in every row would break, and not when its values come from a value set, since no one value
1332
+ * stands for every member. Such a column is added for an empty table only.
1333
+ */
1334
+ declare function columnTakesTemporaryValue(table: StorageTable, column: string): boolean;
1335
+ //#endregion
1336
+ //#region src/core/migrations/unconverted-field.d.ts
1337
+ /**
1338
+ * A column whose values a step converts to the column's new type, or checks that it did: `by` says
1339
+ * who converts them, the database's own cast or the migration's own conversion.
1340
+ */
1341
+ interface ConvertedColumn {
1342
+ readonly table: string;
1343
+ readonly column: string;
1344
+ readonly by: 'cast' | 'conversion';
1345
+ }
1346
+ /**
1347
+ * The meta of a step that converts the values of `column` in `table` to the column's new type, or
1348
+ * checks that it did. When the step fails, the runner names the field that stores the column.
1349
+ */
1350
+ declare function convertedColumnMeta(table: string, column: string, by: ConvertedColumn['by']): {
1351
+ readonly convertedColumn: ConvertedColumn;
1352
+ };
1353
+ /** The column a step converts to its new type, as {@link convertedColumnMeta} marks it. */
1354
+ declare function convertedColumnOf(step: SqlMigrationPlanOperationStep): ConvertedColumn | undefined;
1355
+ /**
1356
+ * The field of `contract` whose column a failed step converts, or undefined when the step
1357
+ * converts no column, no field stores the column, or tables of two storage namespaces share its name.
1358
+ */
1359
+ declare function unconvertedFieldOf(step: SqlMigrationPlanOperationStep, contract: ContractWithDomain): MigrationSubject | undefined;
1360
+ //#endregion
1361
+ //#region src/core/reported-defaults.d.ts
1362
+ /**
1363
+ * A reported literal default with the target's quoting, casts and escapes taken off: one body, or a list's element bodies with `null` for SQL NULL. A body is what the target's driver hands `fromWire` for a row of the column: text, a number where the driver returns one, or bytes.
1364
+ */
1365
+ type ReportedLiteralDefault = {
1366
+ readonly kind: 'value';
1367
+ readonly body: ReportedBody;
1368
+ } | {
1369
+ readonly kind: 'list';
1370
+ readonly elements: readonly (ReportedBody | null)[];
1371
+ };
1372
+ /** One literal's body, as the driver would hand it over for a row: text, a number, or the bytes of a blob. */
1373
+ type ReportedBody = string | number | Uint8Array;
1374
+ /** What the column's codec made of a reported literal default: the value, or the codec's reason it could not read it. */
1375
+ type ReadReportedDefault = {
1376
+ readonly resolvedDefault: ColumnDefault;
1377
+ readonly defaultValue: SqlDefaultValue;
1378
+ } | {
1379
+ readonly defaultUnreadable: string;
1380
+ };
1381
+ /** Reads a reported literal default with the column's codec. `raw` is the reported text, which a refusal quotes. */
1382
+ declare function readReportedDefault(codec: Codec, literal: ReportedLiteralDefault, raw: string): Promise<ReadReportedDefault>;
1383
+ /** What introspection holds of a reported literal default: the codec's reading, and the value of the literal the contract's expression default writes, when it writes one the codec reads. */
1384
+ type ReadColumnDefault = ReadReportedDefault & {
1385
+ readonly defaultExpressionValue?: SqlDefaultValue;
1386
+ };
1387
+ /**
1388
+ * Reads a reported literal default with the column's codec, and, when the contract's default is an expression that writes a literal, that literal too, so the diff compares the two as values.
1389
+ */
1390
+ declare function readColumnDefault(codec: Codec, reported: {
1391
+ readonly literal: ReportedLiteralDefault;
1392
+ readonly raw: string;
1393
+ }, written: {
1394
+ readonly literal: ReportedLiteralDefault;
1395
+ readonly expression: string;
1396
+ } | undefined): Promise<ReadColumnDefault>;
1397
+ /** What introspection needs of a column the contract declares: its codec, and its default when that is an expression. */
1398
+ interface ContractColumn {
1399
+ readonly codecRef: CodecRef;
1400
+ readonly defaultExpression: string | undefined;
1401
+ }
1402
+ /** The columns a contract declares, for introspection to read each column's reported default with the column's codec. */
1403
+ interface ContractColumns {
1404
+ /** `table.column` in one of `namespaceIds`, or in any namespace when `undefined`. */
1405
+ columnOf(namespaceIds: readonly string[] | undefined, table: string, column: string): ContractColumn | undefined;
1406
+ }
1407
+ /**
1408
+ * The columns `contract` declares. `contract` is a contract, or the namespaces of several contract spaces merged with each space's contract under `contracts`, as multi-space introspection receives them.
1409
+ */
1410
+ declare function contractColumns(contract: unknown): ContractColumns;
1411
+ //#endregion
1412
+ //#region src/exports/control.d.ts
1413
+ declare const _default: SqlFamilyDescriptor;
1414
+ //#endregion
1415
+ export { SubjectStorage as $, sqlOfSlot as $t, NoTable as A, isUnfilledSlot as At, SingleOperationCall as B, readColumnDefault as Bt, MigrationPlannerConflict$1 as C, detectDestructiveChanges as Ct, NO_RENAMED_ORIGINS as D, fieldOfColumn as Dt, ModelTable as E, fieldEventStorage as Et, ReportedBody as F, planFieldEventCalls as Ft, SqlPslBuildContext as G, resolveColumnRenameAgainst as Gt, SqlControlTargetDescriptor as H, requiredColumnMeta as Ht, ReportedLiteralDefault as I, planFieldEventOperations as It, SqlSlot as J, rowsWithoutValueSummary as Jt, SqlQuote as K, resolveTableRenameAgainst as Kt, RequiredColumn as L, planStatements as Lt, PlannedStatements as M, otherSpaceDeclaring as Mt, ReadColumnDefault as N, partitionCallsByControlPolicy as Nt, NamespaceRename as O, fieldRenameStorageEffect as Ot, ReadReportedDefault as P, partitionIssuesByControlPolicy as Pt, StatementPlanningTarget as Q, sqlDefaultFunctions as Qt, RequiredColumnMark as R, plannerFailure as Rt, MigrationPlanner as S, createSqlTextSources as St, ModelStorageEffect as T, extractCodecControlHooks as Tt, SqlDefaultFunctionName as U, requiredColumnOf as Ut, SqlControlFamilyInstance as V, readReportedDefault as Vt, SqlDescribedContractSpace as W, requiredColumnsOfMigration as Wt, StatementColumn as X, runnerSuccess as Xt, SqlTextSources as Y, runnerFailure as Yt, StatementOwnership as Z, slotSource as Zt, INIT_ADDITIVE_POLICY as _, contractNamespaceToSchemaIR as _t, ColumnRename as a, unmatchedColumnRename as an, TableRenameByHand as at, MigrationPlan$1 as b, convertedColumnOf as bt, ContractColumns as c, TargetRefusal as ct, ConvertedColumn as d, appliedStatementsInOrder as dt, sqlTypeLookupsOf as en, SuppressionRecord as et, DefaultResolver as f, assembleAuthoringContributions$1 as ft, FieldStorageEffect as g, contractColumns as gt, FieldStatementColumns as h, columnTakesTemporaryValue as ht, ColumnOnOneSide as i, unknownCallNames as in, TableRename as it, PlanFieldEventOperationsOptions as j, modelRenameStorageEffect as jt, NamespaceStatementTarget as k, fieldStatementColumns as kt, ContractToSchemaIROptions as l, WorkingSchemaOrigins as lt, FieldEventCall as m, checkSqlExpressionText as mt, CallSubjects as n, subjectsOfCalls as nn, TableMove as nt, ColumnRenameRequest as o, unmatchedTableRename as on, TableRenameRequest as ot, DefaultResolverColumn as p, backfillOfDefaultedField as pt, SqlQuotingRules as q, rowsWithoutValueFailure as qt, CallWithCompanions as r, unconvertedFieldOf as rn, TableNameCaseGuardTable as rt, ContractColumn as s, TargetMigrationsCapability as st, COLUMN_RENAME_UNMATCHED_CODE as t, storageNameOfOperation as tn, TABLE_NAME_CASE_CHANGED_CODE as tt, ControlPolicySubject as u, _default as ut, MigrationOperationClass$1 as v, contractToSchemaIR as vt, MigrationPlannerResult as w, detectTableNameCaseChanges as wt, MigrationPlanOperation$1 as x, createMigrationPlan as xt, MigrationOperationPolicy$1 as y, convertedColumnMeta as yt, SchemaTables as z, plannerSuccess as zt };
1416
+ //# sourceMappingURL=control-ChAUdOOu.d.mts.map