@prisma/orm-family-sql 8.0.0-rc.18-dev.7 → 8.0.0-rc.18-dev.8

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 (243) hide show
  1. package/dist/{ast-De8XGuVW.mjs → ast-BDwGvnKK.mjs} +4 -30
  2. package/dist/ast-BDwGvnKK.mjs.map +1 -0
  3. package/dist/{ast-Dp6lQXUX.d.mts → ast-DbmdIKFd.d.mts} +6 -14
  4. package/dist/ast-DbmdIKFd.d.mts.map +1 -0
  5. package/dist/{attribute-specs-BgdwJoq3.d.mts → attribute-specs-CKg3a2P_.d.mts} +3 -3
  6. package/dist/{attribute-specs-BgdwJoq3.d.mts.map → attribute-specs-CKg3a2P_.d.mts.map} +1 -1
  7. package/dist/{authoring-entity-types-CZ-vdwYS-CrNb3aBC.d.mts → authoring-entity-types-CZ-vdwYS-Cc7JCJ0Q.d.mts} +2 -2
  8. package/dist/{authoring-entity-types-CZ-vdwYS-CrNb3aBC.d.mts.map → authoring-entity-types-CZ-vdwYS-Cc7JCJ0Q.d.mts.map} +1 -1
  9. package/dist/{authoring-type-constructors-0Iv2zdwS-zu35z-Tg.mjs → authoring-type-constructors-0Iv2zdwS-BG0FZNDM.mjs} +2 -2
  10. package/dist/{authoring-type-constructors-0Iv2zdwS-zu35z-Tg.mjs.map → authoring-type-constructors-0Iv2zdwS-BG0FZNDM.mjs.map} +1 -1
  11. package/dist/builder.d.mts +3 -3
  12. package/dist/builder__runtime.d.mts +9 -9
  13. package/dist/builder__runtime.mjs +1 -1
  14. package/dist/builder__types.d.mts +5 -5
  15. package/dist/{collection-methods-BnR4UjcW-tiz3frtf.d.mts → collection-methods-BnR4UjcW-BY8ZGjfa.d.mts} +3 -3
  16. package/dist/{collection-methods-BnR4UjcW-tiz3frtf.d.mts.map → collection-methods-BnR4UjcW-BY8ZGjfa.d.mts.map} +1 -1
  17. package/dist/collection-methods-iWGpEfkq.d.mts +1 -0
  18. package/dist/{config-types-Ci51fcnp.d.mts → config-types-C2mASmPh.d.mts} +3 -3
  19. package/dist/{config-types-Ci51fcnp.d.mts.map → config-types-C2mASmPh.d.mts.map} +1 -1
  20. package/dist/{config-types-DyZXyiNb.mjs → config-types-CrREu8Fa.mjs} +2 -2
  21. package/dist/{config-types-DyZXyiNb.mjs.map → config-types-CrREu8Fa.mjs.map} +1 -1
  22. package/dist/{contract-builder-C4fgERNT.d.mts → contract-builder-ClsLO9DI.d.mts} +464 -101
  23. package/dist/contract-builder-ClsLO9DI.d.mts.map +1 -0
  24. package/dist/{contract-builder-B_oFvMWk.mjs → contract-builder-Du_YOA1B.mjs} +10 -9
  25. package/dist/contract-builder-Du_YOA1B.mjs.map +1 -0
  26. package/dist/contract-emitter.d.mts +1 -0
  27. package/dist/contract-emitter.d.mts.map +1 -1
  28. package/dist/contract-emitter.mjs +1 -1
  29. package/dist/contract-prisma7__provider.d.mts +1 -1
  30. package/dist/contract-prisma7__provider.mjs +6 -6
  31. package/dist/contract-psl.d.mts +3 -3
  32. package/dist/contract-psl.d.mts.map +1 -1
  33. package/dist/contract-psl.mjs +1 -1
  34. package/dist/contract-psl__attribute-specs.d.mts +1 -1
  35. package/dist/contract-psl__attribute-specs.mjs +1 -1
  36. package/dist/contract-psl__diagnostics.d.mts +12 -0
  37. package/dist/contract-psl__diagnostics.d.mts.map +1 -0
  38. package/dist/contract-psl__diagnostics.mjs +2 -0
  39. package/dist/contract-psl__provider.d.mts +1 -1
  40. package/dist/contract-psl__provider.mjs +2 -2
  41. package/dist/contract-psl__provider.mjs.map +1 -1
  42. package/dist/contract-ts.d.mts +4 -4
  43. package/dist/contract-ts.mjs +3 -3
  44. package/dist/contract-ts__config-types.d.mts +1 -1
  45. package/dist/contract-ts__config-types.mjs +1 -1
  46. package/dist/contract-ts__contract-builder.d.mts +3 -3
  47. package/dist/contract-ts__contract-builder.mjs +2 -2
  48. package/dist/contract.d.mts +8 -8
  49. package/dist/contract.mjs +4 -4
  50. package/dist/contract__data-type.d.mts +2 -2
  51. package/dist/contract__data-type.mjs +1 -1
  52. package/dist/contract__factories.d.mts +1 -1
  53. package/dist/contract__foreign-key-materialization.d.mts +1 -1
  54. package/dist/contract__foreign-key-materialization.mjs +2 -2
  55. package/dist/contract__index-type-validation.d.mts +1 -1
  56. package/dist/contract__types.d.mts +3 -3
  57. package/dist/contract__validators.d.mts +1 -1
  58. package/dist/contract__validators.mjs +1 -1
  59. package/dist/{control-CyY2Ijms.d.mts → control-Ced1D4yz.d.mts} +17 -16
  60. package/dist/control-Ced1D4yz.d.mts.map +1 -0
  61. package/dist/{control-_KWRuSBH.mjs → control-DiLXYDZc.mjs} +15 -10
  62. package/dist/control-DiLXYDZc.mjs.map +1 -0
  63. package/dist/{control-adapter-CkFfBVei-DH5DAObc.d.mts → control-adapter-CkFfBVei-4WUzQP7G.d.mts} +8 -8
  64. package/dist/{control-adapter-CkFfBVei-DH5DAObc.d.mts.map → control-adapter-CkFfBVei-4WUzQP7G.d.mts.map} +1 -1
  65. package/dist/control-adapter-pn8u9o3J.d.mts +1 -0
  66. package/dist/{data-type-gKl5DBHw.d.mts → data-type-CYsho6Yd.d.mts} +4 -12
  67. package/dist/data-type-CYsho6Yd.d.mts.map +1 -0
  68. package/dist/{data-type-BgP6Wv48.mjs → data-type-DU0mtme5.mjs} +18 -9
  69. package/dist/data-type-DU0mtme5.mjs.map +1 -0
  70. package/dist/{db-BmrN9nRS-CDq1n2be.d.mts → db-BmrN9nRS-CkMIL55t.d.mts} +12 -12
  71. package/dist/{db-BmrN9nRS-CDq1n2be.d.mts.map → db-BmrN9nRS-CkMIL55t.d.mts.map} +1 -1
  72. package/dist/{ddl-types-DtKZjNtN-CwtcEWLd.d.mts → ddl-types-DtKZjNtN-BCpmdMQF.d.mts} +3 -3
  73. package/dist/{ddl-types-DtKZjNtN-CwtcEWLd.d.mts.map → ddl-types-DtKZjNtN-BCpmdMQF.d.mts.map} +1 -1
  74. package/dist/{type-map-BMCZ_fb9-BTmWHQ-J.d.mts → default-mapping-B8_APB1M-CWcTmSQW.d.mts} +3 -22
  75. package/dist/default-mapping-B8_APB1M-CWcTmSQW.d.mts.map +1 -0
  76. package/dist/{derived-checks-BPWwhTds-Cy93UfrT.mjs → derived-checks-BVSHiu2A-CzEmkTMg.mjs} +18 -6
  77. package/dist/{derived-checks-BPWwhTds-Cy93UfrT.mjs.map → derived-checks-BVSHiu2A-CzEmkTMg.mjs.map} +1 -1
  78. package/dist/{derived-checks-DpPkO6Dt-ZEbWeWKL.d.mts → derived-checks-DpPkO6Dt--oL-Zi3r.d.mts} +2 -2
  79. package/dist/{derived-checks-DpPkO6Dt-ZEbWeWKL.d.mts.map → derived-checks-DpPkO6Dt--oL-Zi3r.d.mts.map} +1 -1
  80. package/dist/diagnostics-C8YevjSU.mjs +21 -0
  81. package/dist/diagnostics-C8YevjSU.mjs.map +1 -0
  82. package/dist/{diff-C-18M6Ii.d.mts → diff-Cx7qTc2x.d.mts} +7 -7
  83. package/dist/{diff-C-18M6Ii.d.mts.map → diff-Cx7qTc2x.d.mts.map} +1 -1
  84. package/dist/{dist-Dswy-oRP.mjs → dist-D4FKWSKx.mjs} +30 -41
  85. package/dist/dist-D4FKWSKx.mjs.map +1 -0
  86. package/dist/{expression-CNBCbbzU-BG3rv8Wb.d.mts → expression-CNBCbbzU-DnvLZYf4.d.mts} +3 -3
  87. package/dist/{expression-CNBCbbzU-BG3rv8Wb.d.mts.map → expression-CNBCbbzU-DnvLZYf4.d.mts.map} +1 -1
  88. package/dist/{expression-Ck1wys3N-RNyviMcU.d.mts → expression-Ck1wys3N-CBfr-HMG.d.mts} +6 -6
  89. package/dist/{expression-Ck1wys3N-RNyviMcU.d.mts.map → expression-Ck1wys3N-CBfr-HMG.d.mts.map} +1 -1
  90. package/dist/expression-eDSWdiqh.d.mts +2 -0
  91. package/dist/{factories-BVIVyHQU.d.mts → factories-2LNVsQ2j.d.mts} +2 -2
  92. package/dist/{factories-BVIVyHQU.d.mts.map → factories-2LNVsQ2j.d.mts.map} +1 -1
  93. package/dist/family.d.mts +14 -14
  94. package/dist/family.mjs +7 -7
  95. package/dist/family__control-adapter.d.mts +2 -2
  96. package/dist/family__control.d.mts +4 -4
  97. package/dist/family__control.mjs +3 -3
  98. package/dist/family__diff.d.mts +2 -2
  99. package/dist/family__diff.mjs +1 -1
  100. package/dist/family__ir.d.mts +1 -1
  101. package/dist/family__ir.mjs +1 -1
  102. package/dist/family__migration.d.mts +1 -1
  103. package/dist/family__pack.d.mts +1 -1
  104. package/dist/family__pack.mjs +2 -2
  105. package/dist/family__psl-build.d.mts +3 -3
  106. package/dist/family__psl-build.mjs +2 -2
  107. package/dist/family__psl-infer.d.mts +1 -1
  108. package/dist/family__psl-infer.mjs +1 -1
  109. package/dist/{foreign-key-materialization-DBYDet74.d.mts → foreign-key-materialization-DJ6uhBba.d.mts} +3 -3
  110. package/dist/{foreign-key-materialization-DBYDet74.d.mts.map → foreign-key-materialization-DJ6uhBba.d.mts.map} +1 -1
  111. package/dist/{foreign-key-materialization-DyoakLGY.mjs → foreign-key-materialization-DibQ9Hjg.mjs} +2 -2
  112. package/dist/{foreign-key-materialization-DyoakLGY.mjs.map → foreign-key-materialization-DibQ9Hjg.mjs.map} +1 -1
  113. package/dist/{functions-CJ8Yf8uL.d.mts → functions-DucgffNf.d.mts} +6 -6
  114. package/dist/{functions-CJ8Yf8uL.d.mts.map → functions-DucgffNf.d.mts.map} +1 -1
  115. package/dist/{index-We-mbWnZ.d.mts → index-CJlr0Eja.d.mts} +3 -3
  116. package/dist/{index-We-mbWnZ.d.mts.map → index-CJlr0Eja.d.mts.map} +1 -1
  117. package/dist/{index-UHjF-U84.d.mts → index-DuD4M3b8.d.mts} +19 -19
  118. package/dist/{index-UHjF-U84.d.mts.map → index-DuD4M3b8.d.mts.map} +1 -1
  119. package/dist/{index-equivalence-DswCiq5l-_gF1Un8p.mjs → index-equivalence-DswCiq5l-DlC2yTK1.mjs} +2 -2
  120. package/dist/{index-equivalence-DswCiq5l-_gF1Un8p.mjs.map → index-equivalence-DswCiq5l-DlC2yTK1.mjs.map} +1 -1
  121. package/dist/index-reference-CrohwmmB.d.mts +1 -0
  122. package/dist/{index-reference-DJX-CNsb-D2qUlYq2.d.mts → index-reference-DJX-CNsb-C1fCMhrJ.d.mts} +3 -3
  123. package/dist/{index-reference-DJX-CNsb-D2qUlYq2.d.mts.map → index-reference-DJX-CNsb-C1fCMhrJ.d.mts.map} +1 -1
  124. package/dist/{index-type-validation-D7-fPxIJ.d.mts → index-type-validation-P4WLRyZA.d.mts} +2 -2
  125. package/dist/{index-type-validation-D7-fPxIJ.d.mts.map → index-type-validation-P4WLRyZA.d.mts.map} +1 -1
  126. package/dist/{interpreter-C3Ltz47m-BM7A_CmQ.mjs → interpreter-y1GRudgs-DnP0uDGL.mjs} +7 -5
  127. package/dist/interpreter-y1GRudgs-DnP0uDGL.mjs.map +1 -0
  128. package/dist/{ir-OBn7ct21.d.mts → ir-BEQwEnRB.d.mts} +2 -2
  129. package/dist/{ir-OBn7ct21.d.mts.map → ir-BEQwEnRB.d.mts.map} +1 -1
  130. package/dist/middleware-DTu2jl68.d.mts +1 -0
  131. package/dist/{middleware-YsFLC19Y-xhimGDiS.d.mts → middleware-YsFLC19Y-Dot9R8QY.d.mts} +2 -2
  132. package/dist/{middleware-YsFLC19Y-xhimGDiS.d.mts.map → middleware-YsFLC19Y-Dot9R8QY.d.mts.map} +1 -1
  133. package/dist/{migration-Bdt_UrTg.d.mts → migration-Cc102YUu.d.mts} +3 -3
  134. package/dist/{migration-Bdt_UrTg.d.mts.map → migration-Cc102YUu.d.mts.map} +1 -1
  135. package/dist/operations.d.mts +1 -1
  136. package/dist/orm-client.d.mts +38 -32
  137. package/dist/orm-client.d.mts.map +1 -1
  138. package/dist/orm-client.mjs +1 -1
  139. package/dist/{pack-DOLmsrEs.d.mts → pack-DI4Nur5d.d.mts} +3 -3
  140. package/dist/{pack-DOLmsrEs.d.mts.map → pack-DI4Nur5d.d.mts.map} +1 -1
  141. package/dist/plan-CuSLaQdv.d.mts +2 -0
  142. package/dist/{plan-cGEaSXHv-j0w37mVT.d.mts → plan-cGEaSXHv-Bv-SBtFA.d.mts} +3 -3
  143. package/dist/{plan-cGEaSXHv-j0w37mVT.d.mts.map → plan-cGEaSXHv-Bv-SBtFA.d.mts.map} +1 -1
  144. package/dist/psl-attribute-parsing-BCsFWsSp-LaNsbcrw.mjs +42 -0
  145. package/dist/psl-attribute-parsing-BCsFWsSp-LaNsbcrw.mjs.map +1 -0
  146. package/dist/{psl-build-C3WT2pWV.mjs → psl-build-8bx9WTUt.mjs} +113 -4
  147. package/dist/psl-build-8bx9WTUt.mjs.map +1 -0
  148. package/dist/psl-build-PXVtl8gM.d.mts +73 -0
  149. package/dist/psl-build-PXVtl8gM.d.mts.map +1 -0
  150. package/dist/{psl-column-resolution-Cj4gkj9H-Cu2xVY6w.d.mts → psl-column-resolution-BCkhNzOK-0Gry4LFl.d.mts} +5 -5
  151. package/dist/psl-column-resolution-BCkhNzOK-0Gry4LFl.d.mts.map +1 -0
  152. package/dist/{psl-field-resolution-ztVU6TV2-BSBajXoF.mjs → psl-field-resolution-4U7Plpfb-CCfgoBAa.mjs} +7 -41
  153. package/dist/psl-field-resolution-4U7Plpfb-CCfgoBAa.mjs.map +1 -0
  154. package/dist/{psl-infer-DHO72J_m.mjs → psl-infer-CG0_wra6.mjs} +2 -2
  155. package/dist/{psl-infer-DHO72J_m.mjs.map → psl-infer-CG0_wra6.mjs.map} +1 -1
  156. package/dist/{psl-infer-Dp_NzWE0.d.mts → psl-infer-g040TwAr.d.mts} +4 -6
  157. package/dist/psl-infer-g040TwAr.d.mts.map +1 -0
  158. package/dist/query-lane-context-C29KGcgz.d.mts +1 -0
  159. package/dist/{query-lane-context-C42-u9L1-Bxa4DkI_.d.mts → query-lane-context-C42-u9L1-CUP3uW4A.d.mts} +6 -6
  160. package/dist/{query-lane-context-C42-u9L1-Bxa4DkI_.d.mts.map → query-lane-context-C42-u9L1-CUP3uW4A.d.mts.map} +1 -1
  161. package/dist/relational-core.d.mts +13 -13
  162. package/dist/relational-core.mjs +2 -2
  163. package/dist/relational-core__aggregate-descriptor-registry.d.mts +1 -1
  164. package/dist/relational-core__ast.d.mts +4 -4
  165. package/dist/relational-core__ast.mjs +2 -2
  166. package/dist/relational-core__codec-descriptor-registry.d.mts +3 -3
  167. package/dist/relational-core__collection-methods.d.mts +2 -2
  168. package/dist/relational-core__contract-free.d.mts +3 -3
  169. package/dist/relational-core__expression.d.mts +3 -3
  170. package/dist/relational-core__functions.d.mts +1 -1
  171. package/dist/relational-core__index-reference.d.mts +2 -2
  172. package/dist/relational-core__middleware.d.mts +2 -2
  173. package/dist/relational-core__plan.d.mts +3 -3
  174. package/dist/relational-core__query-lane-context.d.mts +2 -2
  175. package/dist/relational-core__types.d.mts +2 -2
  176. package/dist/runtime.d.mts +4 -4
  177. package/dist/runtime__internal__prepared-query.d.mts +1 -1
  178. package/dist/{schema-differ-CqWOkoW9-DQkzKV8b.d.mts → schema-differ-CqWOkoW9-DAcuiQPU.d.mts} +4 -4
  179. package/dist/{schema-differ-CqWOkoW9-DQkzKV8b.d.mts.map → schema-differ-CqWOkoW9-DAcuiQPU.d.mts.map} +1 -1
  180. package/dist/schema-ir.d.mts +2 -2
  181. package/dist/schema-ir.mjs +1 -1
  182. package/dist/schema-ir__types.d.mts +3 -3
  183. package/dist/schema-ir__types.mjs +1 -1
  184. package/dist/{schema-verify-DIfHSB4I-Du0-5I8k.mjs → schema-verify-DIfHSB4I-CU6ViTDO.mjs} +2 -2
  185. package/dist/{schema-verify-DIfHSB4I-Du0-5I8k.mjs.map → schema-verify-DIfHSB4I-CU6ViTDO.mjs.map} +1 -1
  186. package/dist/{sql-contract-serializer-DDaAVCQr-BAb4jKvV.mjs → sql-contract-serializer-DDaAVCQr-DFIIkxQr.mjs} +2 -2
  187. package/dist/{sql-contract-serializer-DDaAVCQr-BAb4jKvV.mjs.map → sql-contract-serializer-DDaAVCQr-DFIIkxQr.mjs.map} +1 -1
  188. package/dist/{sql-execution-plan-C7XauPPu-eskZJbmm.d.mts → sql-execution-plan-C7XauPPu-DI9L8IkC.d.mts} +2 -2
  189. package/dist/{sql-execution-plan-C7XauPPu-eskZJbmm.d.mts.map → sql-execution-plan-C7XauPPu-DI9L8IkC.d.mts.map} +1 -1
  190. package/dist/{transaction-state-DR3nKTmH-BZ-54Zu0.d.mts → transaction-state-DR3nKTmH-CkkfiS9z.d.mts} +9 -9
  191. package/dist/{transaction-state-DR3nKTmH-BZ-54Zu0.d.mts.map → transaction-state-DR3nKTmH-CkkfiS9z.d.mts.map} +1 -1
  192. package/dist/types-BhcBOXu7.d.mts +1 -0
  193. package/dist/{types-DIZSW9JI-DNUF-RnL.d.mts → types-C-z8HyiZ-1Nhw0pHj.d.mts} +17 -3
  194. package/dist/types-C-z8HyiZ-1Nhw0pHj.d.mts.map +1 -0
  195. package/dist/types-CJK7FBdw.d.mts +1 -0
  196. package/dist/{types-Cl4MLNrS-lbf-K25i.d.mts → types-Cl4MLNrS-GHKQvTNi.d.mts} +8 -8
  197. package/dist/{types-Cl4MLNrS-lbf-K25i.d.mts.map → types-Cl4MLNrS-GHKQvTNi.d.mts.map} +1 -1
  198. package/dist/{types-CzxOObSY-BxwvvyRZ.d.mts → types-CzxOObSY-DTQ2rnLF.d.mts} +7 -7
  199. package/dist/{types-CzxOObSY-BxwvvyRZ.d.mts.map → types-CzxOObSY-DTQ2rnLF.d.mts.map} +1 -1
  200. package/dist/{types-D0GFxty0-CP8b4dR3.mjs → types-DvhckjSz-Cm0Oodhr.mjs} +3 -2
  201. package/dist/types-DvhckjSz-Cm0Oodhr.mjs.map +1 -0
  202. package/dist/types-HD5m-h8B.d.mts +67 -0
  203. package/dist/types-HD5m-h8B.d.mts.map +1 -0
  204. package/dist/{types-Sh5HuaZE-CqThc46M.d.mts → types-Sh5HuaZE-Dq4AUzl7.d.mts} +2 -2
  205. package/dist/{types-Sh5HuaZE-CqThc46M.d.mts.map → types-Sh5HuaZE-Dq4AUzl7.d.mts.map} +1 -1
  206. package/dist/{types-DFZhLz18-Msi8wwig.d.mts → types-zwKzjyma-CxZkmkUI.d.mts} +114 -3
  207. package/dist/types-zwKzjyma-CxZkmkUI.d.mts.map +1 -0
  208. package/dist/{validators-CudqzmkF.d.mts → validators-BifwoR5e.d.mts} +2 -2
  209. package/dist/{validators-CudqzmkF.d.mts.map → validators-BifwoR5e.d.mts.map} +1 -1
  210. package/dist/{validators-BMWQ7-5D.mjs → validators-CfUrQdiv.mjs} +2 -2
  211. package/dist/{validators-BMWQ7-5D.mjs.map → validators-CfUrQdiv.mjs.map} +1 -1
  212. package/package.json +19 -18
  213. package/dist/ast-De8XGuVW.mjs.map +0 -1
  214. package/dist/ast-Dp6lQXUX.d.mts.map +0 -1
  215. package/dist/collection-methods-DoBrRR69.d.mts +0 -1
  216. package/dist/contract-builder-B_oFvMWk.mjs.map +0 -1
  217. package/dist/contract-builder-C4fgERNT.d.mts.map +0 -1
  218. package/dist/control-CyY2Ijms.d.mts.map +0 -1
  219. package/dist/control-_KWRuSBH.mjs.map +0 -1
  220. package/dist/control-adapter-DB7MPI5L.d.mts +0 -1
  221. package/dist/data-type-BgP6Wv48.mjs.map +0 -1
  222. package/dist/data-type-gKl5DBHw.d.mts.map +0 -1
  223. package/dist/dist-Dswy-oRP.mjs.map +0 -1
  224. package/dist/expression-DWcDQHh9.d.mts +0 -2
  225. package/dist/index-reference-ZZrszBDq.d.mts +0 -1
  226. package/dist/interpreter-C3Ltz47m-BM7A_CmQ.mjs.map +0 -1
  227. package/dist/middleware-DOKGNt72.d.mts +0 -1
  228. package/dist/plan-_8dKi13Q.d.mts +0 -2
  229. package/dist/psl-build-C3WT2pWV.mjs.map +0 -1
  230. package/dist/psl-build-TrbDSGOA.d.mts +0 -13
  231. package/dist/psl-build-TrbDSGOA.d.mts.map +0 -1
  232. package/dist/psl-column-resolution-Cj4gkj9H-Cu2xVY6w.d.mts.map +0 -1
  233. package/dist/psl-field-resolution-ztVU6TV2-BSBajXoF.mjs.map +0 -1
  234. package/dist/psl-infer-Dp_NzWE0.d.mts.map +0 -1
  235. package/dist/query-lane-context-DW5q2RAY.d.mts +0 -1
  236. package/dist/type-map-BMCZ_fb9-BTmWHQ-J.d.mts.map +0 -1
  237. package/dist/types-BkA6tyT-.d.mts +0 -1
  238. package/dist/types-D0GFxty0-CP8b4dR3.mjs.map +0 -1
  239. package/dist/types-DFZhLz18-Msi8wwig.d.mts.map +0 -1
  240. package/dist/types-DIZSW9JI-DNUF-RnL.d.mts.map +0 -1
  241. package/dist/types-DqSCaTK3.d.mts +0 -1
  242. package/dist/types-Uv3oTMAb.d.mts +0 -18
  243. package/dist/types-Uv3oTMAb.d.mts.map +0 -1
@@ -1,11 +1,10 @@
1
1
  import { t as CheckKind } from "./naming-BcD36g9T-DFyaudUa.mjs";
2
2
  import { n as ForeignKeyIndex, o as ReferentialAction } from "./foreign-key-qkDFfG8t-Fyrzd0VI.mjs";
3
- import { t as Index } from "./sql-index-ByAAE7K8-BpbPBWPD.mjs";
4
3
  import { a as SqlNamespaceBase, c as SqlNamespaceInput, l as SqlStorage, t as AuthoredStorageTypeInstance } from "./sql-storage-BTlJLUID-CGy3wuH4.mjs";
5
- import { P as TypeMaps, o as ContractWithTypeMaps } from "./types-DFZhLz18-Msi8wwig.mjs";
6
- import "./types-Uv3oTMAb.mjs";
4
+ import { O as QueryOperationTypesFunction, c as ContractWithTypeMaps, i as AggregateTypesFromDescriptors, o as ApplyQueryOperationTypes } from "./types-zwKzjyma-CxZkmkUI.mjs";
5
+ import { n as FieldTypesFromDomain, t as ColumnTypesFromStorage } from "./types-HD5m-h8B.mjs";
7
6
  import { r as PackEntityHandle } from "./entity-handle-lowering-hook-93syhZ0p.mjs";
8
- import "./derived-checks-DpPkO6Dt-ZEbWeWKL.mjs";
7
+ import "./derived-checks-DpPkO6Dt--oL-Zi3r.mjs";
9
8
  import { r as SqlExpression } from "./sql-expression-BWrjmY6M.mjs";
10
9
  import { i as IndexTypeRegistration } from "./index-types-H1O43iYT-ONvDbszL.mjs";
11
10
  import "./index-types-ByX8MLso.mjs";
@@ -13,7 +12,7 @@ import { n as AuthoredIndexMethod } from "./index-naming-C7pme5Pj.mjs";
13
12
  import { AuthoringArgumentDescriptor, AuthoringFieldPresetDescriptor, AuthoringTypeConstructorDescriptor, AuthoringWarning } from "@prisma/orm-framework/components/authoring";
14
13
  import { StorageType } from "@prisma/orm-framework/components/ir";
15
14
  import { CodecLookupWithDescriptors, ColumnTypeDescriptor, DataTypeLookup, ScalarFieldDeclarationBuilder } from "@prisma/orm-framework/components/codec";
16
- import { ColumnDefault, Contract, ContractEnum, ContractRelation, ContractValueObject, ControlPolicy, ExecutionMutationDefaultPhases, ExecutionMutationDefaultValue, NamespaceId, StorageHashBase } from "@prisma/orm-framework/contract/types";
15
+ import { ColumnDefault, Contract, ContractExecutionSection, ContractRelation, ControlPolicy, ExecutionMutationDefaultPhases, ExecutionMutationDefaultValue, JsonValue, NamespaceId, ParameterizedOutputTypesFunction, StorageHashBase } from "@prisma/orm-framework/contract/types";
17
16
  import { ExtensionPackRef, FamilyPackRef, TargetPackRef } from "@prisma/orm-framework/components/components";
18
17
  import { BoundEnumType, CodecInput, CodecInput as CodecInput$1, CodecTypeMap, CodecTypeMap as CodecTypeMap$1, EntityHelpersFromNamespace, EnumMember, EnumTypeHandle, ExtractAuthoringNamespaceFromPack, ForeignKeyDefaultsState, MergeExtensionAuthoringNamespaces, ResolveTemplateValue, TupleFromArgumentDescriptors, bindEnumType, enumType, member } from "@prisma/orm-framework/contract-authoring";
19
18
  //#region ../../../2-sql/2-authoring/contract-ts/dist/contract-builder.d.mts
@@ -292,10 +291,16 @@ interface TableNode extends TableProperties {
292
291
  readonly tableName: string;
293
292
  readonly columns: readonly ColumnNode[];
294
293
  }
294
+ /** A component whose capabilities a contract carries, such as an adapter. */
295
+ type CapabilityContributor = {
296
+ readonly capabilities: Readonly<Record<string, Readonly<Record<string, boolean>>>>;
297
+ };
295
298
  interface ContractDefinition {
296
299
  readonly target: TargetPackRef<'sql', string>;
297
300
  readonly defaultControlPolicy?: ControlPolicy;
298
301
  readonly extensions?: Record<string, ExtensionPackRef<'sql', string>>;
302
+ /** Capabilities of the stack the contract runs with beyond its target's and extensions', such as its adapter's. They join the target's and the extensions', as `prisma contract emit` joins them. */
303
+ readonly capabilities?: CapabilityContributor['capabilities'];
299
304
  /**
300
305
  * Test-fixture escape hatch: pins the emitted `storage.storageHash`
301
306
  * instead of computing it from content. A pinned hash is not
@@ -356,8 +361,10 @@ type NamedConstraintNameSpec<Name extends string = string> = {
356
361
  };
357
362
  type ScalarFieldState<Descriptor extends ColumnTypeDescriptor = ColumnTypeDescriptor, TypeRef extends NamedStorageTypeRef | undefined = undefined, Nullable extends boolean = boolean, ColumnName extends string | undefined = string | undefined, IdSpec extends NamedConstraintSpec | undefined = undefined, UniqueSpec extends NamedConstraintSpec | undefined = undefined, Many extends false | {
358
363
  readonly elementNullable: boolean;
359
- } = false> = {
364
+ } = false, Defaults extends FieldDefaultPresence = FieldDefaultPresence> = {
360
365
  readonly kind: 'scalar';
366
+ /** Exists only in types: whether the column has a database default and whether the client generates a value on create. */
367
+ readonly __defaultPresence?: Defaults;
361
368
  readonly descriptor?: Descriptor | undefined;
362
369
  readonly typeRef?: TypeRef | undefined;
363
370
  readonly nullable: Nullable;
@@ -375,6 +382,15 @@ type ScalarFieldState<Descriptor extends ColumnTypeDescriptor = ColumnTypeDescri
375
382
  } : {
376
383
  readonly unique?: undefined;
377
384
  });
385
+ /** Whether a field's column has a database default, and whether the client generates its value on create. */
386
+ type FieldDefaultPresence = {
387
+ readonly column: boolean;
388
+ readonly execution: boolean;
389
+ };
390
+ type WithColumnDefault<State extends AnyScalarFieldState> = State extends ScalarFieldState<infer Descriptor, infer TypeRef, infer Nullable, infer ColumnName, infer IdSpec, infer UniqueSpec, infer Many, infer Defaults> ? ScalarFieldState<Descriptor, TypeRef, Nullable, ColumnName, IdSpec, UniqueSpec, Many, {
391
+ readonly column: true;
392
+ readonly execution: Defaults['execution'];
393
+ }> : State;
378
394
  type AnyScalarFieldState = {
379
395
  readonly kind: 'scalar';
380
396
  readonly descriptor?: ColumnTypeDescriptor | undefined;
@@ -403,7 +419,7 @@ type FieldSqlSpecForState<State extends AnyScalarFieldState> = {
403
419
  } : Record<never, never>) & (HasNamedConstraintUnique<State> extends true ? {
404
420
  readonly unique?: NamedConstraintNameSpec;
405
421
  } : Record<never, never>);
406
- type ApplyFieldSqlSpec<State extends AnyScalarFieldState, Spec extends FieldSqlSpecForState<State>> = State extends ScalarFieldState<infer Descriptor, infer TypeRef, infer Nullable, infer ColumnName, infer IdSpec, infer UniqueSpec, infer Many> ? ScalarFieldState<Descriptor, TypeRef, Nullable, Spec extends {
422
+ type ApplyFieldSqlSpec<State extends AnyScalarFieldState, Spec extends FieldSqlSpecForState<State>> = State extends ScalarFieldState<infer Descriptor, infer TypeRef, infer Nullable, infer ColumnName, infer IdSpec, infer UniqueSpec, infer Many, infer Defaults> ? ScalarFieldState<Descriptor, TypeRef, Nullable, Spec extends {
407
423
  readonly column: infer NextColumn extends string;
408
424
  } ? NextColumn : ColumnName, Spec extends {
409
425
  readonly id: {
@@ -413,7 +429,7 @@ type ApplyFieldSqlSpec<State extends AnyScalarFieldState, Spec extends FieldSqlS
413
429
  readonly unique: {
414
430
  readonly name: infer UniqueName extends string;
415
431
  };
416
- } ? UniqueSpec extends NamedConstraintSpec ? NamedConstraintSpec<UniqueName> : UniqueSpec : UniqueSpec, Many> : AnyScalarFieldState;
432
+ } ? UniqueSpec extends NamedConstraintSpec ? NamedConstraintSpec<UniqueName> : UniqueSpec : UniqueSpec, Many, Defaults> : AnyScalarFieldState;
417
433
  type GeneratedFieldSpec = {
418
434
  readonly type: ColumnTypeDescriptor;
419
435
  readonly typeParams?: Record<string, unknown>;
@@ -446,9 +462,9 @@ type DefaultArgumentOf<State> = ([EnumHandleOf<State>] extends [never] ? Default
446
462
  } ? null : never);
447
463
  type ApplyMany<State extends AnyScalarFieldState, ElementsNullable extends boolean> = State extends ScalarFieldState<infer Descriptor, infer TypeRef, infer Nullable, infer ColumnName, infer IdSpec, infer UniqueSpec, false | {
448
464
  readonly elementNullable: boolean;
449
- }> ? ScalarFieldState<Descriptor, TypeRef, Nullable, ColumnName, IdSpec, UniqueSpec, {
465
+ }, infer Defaults> ? ScalarFieldState<Descriptor, TypeRef, Nullable, ColumnName, IdSpec, UniqueSpec, {
450
466
  readonly elementNullable: ElementsNullable;
451
- }> : AnyScalarFieldState;
467
+ }, Defaults> : AnyScalarFieldState;
452
468
  type ManyOptions = {
453
469
  readonly elementsNullable: true;
454
470
  } | {
@@ -465,8 +481,8 @@ declare class ScalarFieldBuilder<State extends AnyScalarFieldState = AnyScalarFi
465
481
  * `TargetFieldRef.columnName` so FK target columns are resolved correctly.
466
482
  */
467
483
  get physicalColumnName(): string | undefined;
468
- optional(): ScalarFieldBuilder<State extends ScalarFieldState<infer Descriptor, infer TypeRef, boolean, infer ColumnName, infer IdSpec, infer UniqueSpec, infer Many> ? ScalarFieldState<Descriptor, TypeRef, true, ColumnName, IdSpec, UniqueSpec, Many> : AnyScalarFieldState>;
469
- column<ColumnName extends string>(name: ColumnName): ScalarFieldBuilder<State extends ScalarFieldState<infer Descriptor, infer TypeRef, infer Nullable, string | undefined, infer IdSpec, infer UniqueSpec, infer Many> ? ScalarFieldState<Descriptor, TypeRef, Nullable, ColumnName, IdSpec, UniqueSpec, Many> : AnyScalarFieldState>;
484
+ optional(): ScalarFieldBuilder<State extends ScalarFieldState<infer Descriptor, infer TypeRef, boolean, infer ColumnName, infer IdSpec, infer UniqueSpec, infer Many, infer Defaults> ? ScalarFieldState<Descriptor, TypeRef, true, ColumnName, IdSpec, UniqueSpec, Many, Defaults> : AnyScalarFieldState>;
485
+ column<ColumnName extends string>(name: ColumnName): ScalarFieldBuilder<State extends ScalarFieldState<infer Descriptor, infer TypeRef, infer Nullable, string | undefined, infer IdSpec, infer UniqueSpec, infer Many, infer Defaults> ? ScalarFieldState<Descriptor, TypeRef, Nullable, ColumnName, IdSpec, UniqueSpec, Many, Defaults> : AnyScalarFieldState>;
470
486
  many(): ScalarFieldBuilder<ApplyMany<State, false>>;
471
487
  many(options: {
472
488
  readonly elementsNullable: true;
@@ -484,13 +500,13 @@ declare class ScalarFieldBuilder<State extends AnyScalarFieldState = AnyScalarFi
484
500
  noCheck(...kinds: readonly CheckKind[]): ScalarFieldBuilder<State>;
485
501
  default<Self extends {
486
502
  readonly __state: AnyScalarFieldState;
487
- }>(this: Self, value: DefaultArgumentOf<Self['__state']>): ScalarFieldBuilder<State>;
503
+ }>(this: Self, value: DefaultArgumentOf<Self['__state']>): ScalarFieldBuilder<WithColumnDefault<State>>;
488
504
  /**
489
505
  * @deprecated Write `.default(now())` or `.default(autoincrement())`, or `` .default(sql`...`) `` for any other SQL. Removed in 8.0.0.
490
506
  */
491
- defaultSql(expression: string): ScalarFieldBuilder<State>;
492
- id<const Name extends string | undefined = undefined>(options?: NamedConstraintSpec<Name>): ScalarFieldBuilder<State extends ScalarFieldState<infer Descriptor, infer TypeRef, infer Nullable, infer ColumnName, NamedConstraintSpec | undefined, infer UniqueSpec, infer Many> ? ScalarFieldState<Descriptor, TypeRef, Nullable, ColumnName, NamedConstraintSpec<Name>, UniqueSpec, Many> : AnyScalarFieldState>;
493
- unique<const Name extends string | undefined = undefined>(options?: NamedConstraintSpec<Name>): ScalarFieldBuilder<State extends ScalarFieldState<infer Descriptor, infer TypeRef, infer Nullable, infer ColumnName, infer IdSpec, NamedConstraintSpec | undefined, infer Many> ? ScalarFieldState<Descriptor, TypeRef, Nullable, ColumnName, IdSpec, NamedConstraintSpec<Name>, Many> : AnyScalarFieldState>;
507
+ defaultSql(expression: string): ScalarFieldBuilder<WithColumnDefault<State>>;
508
+ id<const Name extends string | undefined = undefined>(options?: NamedConstraintSpec<Name>): ScalarFieldBuilder<State extends ScalarFieldState<infer Descriptor, infer TypeRef, infer Nullable, infer ColumnName, NamedConstraintSpec | undefined, infer UniqueSpec, infer Many, infer Defaults> ? ScalarFieldState<Descriptor, TypeRef, Nullable, ColumnName, NamedConstraintSpec<Name>, UniqueSpec, Many, Defaults> : AnyScalarFieldState>;
509
+ unique<const Name extends string | undefined = undefined>(options?: NamedConstraintSpec<Name>): ScalarFieldBuilder<State extends ScalarFieldState<infer Descriptor, infer TypeRef, infer Nullable, infer ColumnName, infer IdSpec, NamedConstraintSpec | undefined, infer Many, infer Defaults> ? ScalarFieldState<Descriptor, TypeRef, Nullable, ColumnName, IdSpec, NamedConstraintSpec<Name>, Many, Defaults> : AnyScalarFieldState>;
494
510
  sql<const Spec extends FieldSqlSpecForState<State>>(spec: Spec): ScalarFieldBuilder<ApplyFieldSqlSpec<State, Spec>>;
495
511
  build(): State;
496
512
  }
@@ -499,7 +515,7 @@ declare class EnumScalarFieldBuilder<Handle extends EnumTypeHandle, State extend
499
515
  constructor(state: State, handle: Handle);
500
516
  default<Self extends {
501
517
  readonly __state: AnyScalarFieldState;
502
- }>(this: Self, value: DefaultArgumentOf<Self['__state']>): EnumScalarFieldBuilder<Handle, State>;
518
+ }>(this: Self, value: DefaultArgumentOf<Self['__state']>): EnumScalarFieldBuilder<Handle, WithColumnDefault<State>>;
503
519
  defaultSql(_expression: never): never;
504
520
  }
505
521
  type CodecTypesOfNoPacks = Record<never, never>;
@@ -509,9 +525,16 @@ type NamedTypeFieldHelper<CodecTypes extends CodecTypeMap = CodecTypesOfNoPacks>
509
525
  <TypeRef extends AuthoredStorageTypeInstance>(typeRef: TypeRef): ScalarFieldBuilder<ScalarFieldState<WithCodecInput<ColumnTypeDescriptor<TypeRef['codecId']>, CodecInput<CodecTypes, TypeRef>>, TypeRef, false, undefined>>;
510
526
  <Handle extends EnumTypeHandle>(typeRef: Handle): EnumScalarFieldBuilder<Handle>;
511
527
  };
512
- declare function generatedField<Descriptor extends ColumnTypeDescriptor>(spec: GeneratedFieldSpec & {
528
+ type WithGeneratedTypeParams<Descriptor, TypeParams> = TypeParams extends Record<string, unknown> ? Descriptor & {
529
+ readonly typeParams: TypeParams;
530
+ } : Descriptor;
531
+ declare function generatedField<Descriptor extends ColumnTypeDescriptor, TypeParams extends Record<string, unknown> | undefined = undefined>(spec: GeneratedFieldSpec & {
513
532
  readonly type: Descriptor;
514
- }): ScalarFieldBuilder<ScalarFieldState<Descriptor, undefined, false, undefined>>;
533
+ readonly typeParams?: TypeParams;
534
+ }): ScalarFieldBuilder<ScalarFieldState<WithGeneratedTypeParams<Descriptor, TypeParams>, undefined, false, undefined, undefined, undefined, false, {
535
+ readonly column: false;
536
+ readonly execution: true;
537
+ }>>;
515
538
  type RelationModelRefSource = 'string' | 'token' | 'lazyToken';
516
539
  type TargetFieldRefSource = 'string' | 'token';
517
540
  type EagerRelationModelName<ModelName extends string = string, Source extends Exclude<RelationModelRefSource, 'lazyToken'> = Exclude<RelationModelRefSource, 'lazyToken'>> = {
@@ -525,8 +548,10 @@ type LazyRelationModelName<ModelName extends string = string> = {
525
548
  readonly resolve: () => ModelName;
526
549
  };
527
550
  type RelationModelSource<ModelName extends string = string> = EagerRelationModelName<ModelName> | LazyRelationModelName<ModelName>;
528
- type BelongsToRelation<ToModel extends string = string, FromField extends string | readonly string[] = string | readonly string[], ToField extends string | readonly string[] = string | readonly string[], SqlSpec extends BelongsToRelationSqlSpec | undefined = undefined> = {
551
+ type BelongsToRelation<ToModel extends string = string, FromField extends string | readonly string[] = string | readonly string[], ToField extends string | readonly string[] = string | readonly string[], SqlSpec extends BelongsToRelationSqlSpec | undefined = undefined, TargetSpaceId extends string = string> = {
529
552
  readonly kind: 'belongsTo';
553
+ /** The contract space of the target model, `'<self>'` for this contract's own models. Type-only. */
554
+ readonly __targetSpaceId?: TargetSpaceId;
530
555
  readonly toModel: RelationModelSource<ToModel>;
531
556
  readonly from: FromField;
532
557
  readonly to: ToField;
@@ -573,7 +598,7 @@ type ManyToManyRelation<ToModel extends string = string, ThroughModel extends st
573
598
  type RelationState = BelongsToRelation<string, string | readonly string[], string | readonly string[], BelongsToRelationSqlSpec | undefined> | HasManyRelation | HasOneRelation | ManyToManyRelation;
574
599
  type AnyRelationState = RelationState;
575
600
  type AnyRelationBuilder = RelationBuilder<AnyRelationState>;
576
- type ApplyBelongsToRelationSqlSpec<State extends RelationState, SqlSpec extends BelongsToRelationSqlSpec> = State extends BelongsToRelation<infer ToModel, infer FromField, infer ToField, BelongsToRelationSqlSpec | undefined> ? BelongsToRelation<ToModel, FromField, ToField, SqlSpec> : never;
601
+ type ApplyBelongsToRelationSqlSpec<State extends RelationState, SqlSpec extends BelongsToRelationSqlSpec> = State extends BelongsToRelation<infer ToModel, infer FromField, infer ToField, BelongsToRelationSqlSpec | undefined, infer TargetSpaceId> ? BelongsToRelation<ToModel, FromField, ToField, SqlSpec, TargetSpaceId> : never;
577
602
  declare class RelationBuilder<State extends RelationState = AnyRelationState> {
578
603
  private readonly state;
579
604
  readonly __state: State;
@@ -654,6 +679,20 @@ type IndexInput<Name extends string | undefined, IndexTypes extends IndexTypeMap
654
679
  readonly type: K;
655
680
  readonly options: IndexOptionsInput<IndexTypes[K]['options']>;
656
681
  }; }[keyof IndexTypes & string];
682
+ type IndexSpecCapture<Map, Type, Where, Unique, IndexTypes extends IndexTypeMap> = {
683
+ readonly map?: Map;
684
+ readonly where?: Where;
685
+ readonly unique?: Unique;
686
+ } & (keyof IndexTypes extends never ? Record<never, never> : {
687
+ readonly type?: Type;
688
+ });
689
+ type IndexSpecFrom<Map, Type, Where, Unique, IndexTypes extends IndexTypeMap> = {
690
+ readonly map: Map;
691
+ readonly type: Type;
692
+ readonly options: Type extends keyof IndexTypes ? IndexTypes[Type]['options'] extends (infer Options extends Record<string, unknown>) ? Options : Record<string, unknown> : undefined;
693
+ readonly partial: [Where] extends [undefined] ? false : true;
694
+ readonly unique: Unique;
695
+ };
657
696
  /**
658
697
  * The expression overload's input: the whole CREATE INDEX element list as
659
698
  * one opaque `sql` value. `name` or `map` is required — enforced at lowering
@@ -731,12 +770,28 @@ type IndexConstraintMethod = {
731
770
  readonly type: string;
732
771
  readonly options?: IndexOptionsInput;
733
772
  };
734
- type IndexConstraint<FieldNames extends readonly string[] = readonly string[], Name extends string | undefined = string | undefined> = IndexConstraintElements<FieldNames> & IndexConstraintMethod & {
773
+ /**
774
+ * An index's options as a function of its model's columns: `options` reads `this['columnOf']`, which maps each field name of the model to its column name. A helper whose options name fields, such as a full-text index's weight groups, declares one so the contract's type states the options with column names, as the build writes them.
775
+ */
776
+ interface IndexOptionsFunction {
777
+ readonly columnOf: Record<never, string>;
778
+ readonly options: unknown;
779
+ }
780
+ /** What an index's type records beyond its fields and name: its exact `map` name, its type, and its options or a function that gives them. Exists only in types. */
781
+ type IndexSpec = {
782
+ readonly map?: string | undefined;
783
+ readonly type?: string | undefined;
784
+ readonly options?: unknown;
785
+ readonly partial?: boolean;
786
+ readonly unique?: boolean | undefined;
787
+ };
788
+ type IndexConstraint<FieldNames extends readonly string[] = readonly string[], Name extends string | undefined = string | undefined, Spec extends IndexSpec = IndexSpec> = IndexConstraintElements<FieldNames> & IndexConstraintMethod & {
735
789
  readonly kind: 'index';
736
790
  readonly where?: SqlExpression;
737
791
  readonly unique?: boolean;
738
792
  readonly name?: Name;
739
793
  readonly map?: string;
794
+ readonly __spec?: Spec;
740
795
  };
741
796
  /**
742
797
  * An authored check constraint, as returned by {@link check}: `map` adopts an
@@ -750,7 +805,7 @@ type AuthoredCheckConstraint = {
750
805
  readonly name?: string;
751
806
  readonly map?: string;
752
807
  };
753
- type ForeignKeyConstraint<SourceFieldNames extends readonly string[] = readonly string[], TargetModelName extends string = string, TargetFieldNames extends readonly string[] = readonly string[], Name extends string | undefined = string | undefined> = {
808
+ type ForeignKeyConstraint<SourceFieldNames extends readonly string[] = readonly string[], TargetModelName extends string = string, TargetFieldNames extends readonly string[] = readonly string[], Name extends string | undefined = string | undefined, Index extends boolean | string | undefined = boolean | string | undefined> = {
754
809
  readonly kind: 'fk';
755
810
  readonly fields: SourceFieldNames;
756
811
  readonly targetModel: TargetModelName;
@@ -776,7 +831,7 @@ type ForeignKeyConstraint<SourceFieldNames extends readonly string[] = readonly
776
831
  readonly onDelete?: 'noAction' | 'restrict' | 'cascade' | 'setNull' | 'setDefault';
777
832
  readonly onUpdate?: 'noAction' | 'restrict' | 'cascade' | 'setNull' | 'setDefault';
778
833
  readonly constraint?: boolean;
779
- readonly index?: boolean | string;
834
+ readonly index?: Index;
780
835
  };
781
836
  declare function createConstraintsDsl<IndexTypes extends IndexTypeMap = Record<never, never>>(): {
782
837
  ref: <ModelName extends string, FieldName extends string>(modelName: ModelName, fieldName: FieldName) => TargetFieldRef<ModelName, FieldName>;
@@ -789,12 +844,16 @@ declare function createConstraintsDsl<IndexTypes extends IndexTypeMap = Record<n
789
844
  <FieldNames extends readonly string[], const Name extends string | undefined = undefined>(fields: { readonly [K in keyof FieldNames]: ColumnRef<FieldNames[K] & string>; }, options?: ConstraintOptions<Name>): UniqueConstraint<FieldNames, Name>;
790
845
  };
791
846
  index: {
792
- <FieldNames extends readonly string[], const Name extends string | undefined = undefined>(fields: { readonly [K in keyof FieldNames]: ColumnRef<FieldNames[K] & string>; }, options?: IndexInput<Name, IndexTypes>): IndexConstraint<FieldNames, Name>;
793
- <const Name extends string | undefined = undefined>(options: ExpressionIndexInput<Name, IndexTypes>): IndexConstraint<never, Name>;
847
+ <FieldNames extends readonly string[], const Name extends string | undefined = undefined, const Map extends string | undefined = undefined, const Type extends (keyof IndexTypes & string) | undefined = undefined, const Where extends SqlExpression | undefined = undefined, const Unique extends boolean | undefined = undefined>(fields: { readonly [K in keyof FieldNames]: ColumnRef<FieldNames[K] & string>; }, options?: IndexInput<Name, IndexTypes> & IndexSpecCapture<Map, Type, Where, Unique, IndexTypes>): IndexConstraint<FieldNames, NoInfer<Name>, IndexSpecFrom<NoInfer<Map>, NoInfer<Type>, NoInfer<Where>, NoInfer<Unique>, IndexTypes>>;
848
+ <const Name extends string | undefined = undefined, const Map extends string | undefined = undefined, const Type extends (keyof IndexTypes & string) | undefined = undefined, const Where extends SqlExpression | undefined = undefined, const Unique extends boolean | undefined = undefined>(options: ExpressionIndexInput<Name, IndexTypes> & IndexSpecCapture<Map, Type, Where, Unique, IndexTypes>): IndexConstraint<never, NoInfer<Name>, IndexSpecFrom<NoInfer<Map>, NoInfer<Type>, NoInfer<Where>, NoInfer<Unique>, IndexTypes>>;
794
849
  };
795
850
  foreignKey: {
796
- <SourceFieldName extends string, TargetModelName extends string, TargetFieldName extends string, const Name extends string | undefined = undefined>(field: ColumnRef<SourceFieldName>, target: TargetFieldRef<TargetModelName, TargetFieldName>, options?: ForeignKeyOptions<Name>): ForeignKeyConstraint<readonly [SourceFieldName], TargetModelName, readonly [TargetFieldName], Name>;
797
- <SourceFieldNames extends readonly string[], TargetModelName extends string, TargetFieldNames extends readonly string[], const Name extends string | undefined = undefined>(fields: { readonly [K in keyof SourceFieldNames]: ColumnRef<SourceFieldNames[K] & string>; }, target: { readonly [K in keyof TargetFieldNames]: TargetFieldRef<TargetModelName, TargetFieldNames[K] & string>; }, options?: ForeignKeyOptions<Name>): ForeignKeyConstraint<SourceFieldNames, TargetModelName, TargetFieldNames, Name>;
851
+ <SourceFieldName extends string, TargetModelName extends string, TargetFieldName extends string, const Name extends string | undefined = undefined, const Index extends boolean | string | undefined = undefined>(field: ColumnRef<SourceFieldName>, target: TargetFieldRef<TargetModelName, TargetFieldName>, options?: ForeignKeyOptions<Name> & {
852
+ readonly index?: Index;
853
+ }): ForeignKeyConstraint<readonly [SourceFieldName], TargetModelName, readonly [TargetFieldName], Name, Index>;
854
+ <SourceFieldNames extends readonly string[], TargetModelName extends string, TargetFieldNames extends readonly string[], const Name extends string | undefined = undefined, const Index extends boolean | string | undefined = undefined>(fields: { readonly [K in keyof SourceFieldNames]: ColumnRef<SourceFieldNames[K] & string>; }, target: { readonly [K in keyof TargetFieldNames]: TargetFieldRef<TargetModelName, TargetFieldNames[K] & string>; }, options?: ForeignKeyOptions<Name> & {
855
+ readonly index?: Index;
856
+ }): ForeignKeyConstraint<SourceFieldNames, TargetModelName, TargetFieldNames, Name, Index>;
798
857
  };
799
858
  };
800
859
  type ConstraintsDsl = ReturnType<typeof createConstraintsDsl>;
@@ -826,8 +885,8 @@ type AttributeContext<Fields extends Record<string, ScalarFieldBuilder>> = {
826
885
  readonly constraints: Pick<ConstraintsDsl, 'id' | 'unique'>;
827
886
  };
828
887
  type PackAwareIndex<IndexTypes extends IndexTypeMap> = {
829
- <FieldNames extends readonly string[], const Name extends string | undefined = undefined>(fields: { readonly [K in keyof FieldNames]: ColumnRef<FieldNames[K] & string>; }, options?: IndexInput<Name, IndexTypes>): IndexConstraint<FieldNames, Name>;
830
- <const Name extends string | undefined = undefined>(options: ExpressionIndexInput<Name, IndexTypes>): IndexConstraint<never, Name>;
888
+ <FieldNames extends readonly string[], const Name extends string | undefined = undefined, const Map extends string | undefined = undefined, const Type extends (keyof IndexTypes & string) | undefined = undefined, const Where extends SqlExpression | undefined = undefined, const Unique extends boolean | undefined = undefined>(fields: { readonly [K in keyof FieldNames]: ColumnRef<FieldNames[K] & string>; }, options?: IndexInput<Name, IndexTypes> & IndexSpecCapture<Map, Type, Where, Unique, IndexTypes>): IndexConstraint<FieldNames, NoInfer<Name>, IndexSpecFrom<NoInfer<Map>, NoInfer<Type>, NoInfer<Where>, NoInfer<Unique>, IndexTypes>>;
889
+ <const Name extends string | undefined = undefined, const Map extends string | undefined = undefined, const Type extends (keyof IndexTypes & string) | undefined = undefined, const Where extends SqlExpression | undefined = undefined, const Unique extends boolean | undefined = undefined>(options: ExpressionIndexInput<Name, IndexTypes> & IndexSpecCapture<Map, Type, Where, Unique, IndexTypes>): IndexConstraint<never, NoInfer<Name>, IndexSpecFrom<NoInfer<Map>, NoInfer<Type>, NoInfer<Where>, NoInfer<Unique>, IndexTypes>>;
831
890
  };
832
891
  type PackAwareSqlConstraints<IndexTypes extends IndexTypeMap> = {
833
892
  readonly foreignKey: ConstraintsDsl['foreignKey'];
@@ -931,11 +990,16 @@ type AnyNamedModelToken = NamedModelTokenShape<string, Record<string, ScalarFiel
931
990
  type LazyNamedModelToken<Token extends AnyNamedModelToken = AnyNamedModelToken> = () => Token;
932
991
  type RelationFieldSelection<FieldName extends string> = FieldName | readonly FieldName[];
933
992
  type RelationModelName<Target> = Target extends NamedModelTokenShape<infer ModelName extends string, Record<string, ScalarFieldBuilder>> ? ModelName : Target extends (() => infer Token) ? RelationModelName<Token> : never;
993
+ type RelationSpaceId<Target> = Target extends {
994
+ readonly __spaceId: infer SpaceId extends string;
995
+ } ? SpaceId : Target extends (() => infer Token) ? RelationSpaceId<Token> : '<self>';
934
996
  type RelationModelFieldNames<Target> = Target extends NamedModelTokenShape<string, infer Fields> ? keyof Fields & string : Target extends (() => infer Token) ? RelationModelFieldNames<Token> : never;
935
997
  type ContractInput<Family extends FamilyPackRef<string> = FamilyPackRef<string>, Target extends TargetPackRef<'sql', string> = TargetPackRef<'sql', string>, Types extends Record<string, AuthoredStorageTypeInstance> = Record<never, never>, Models extends Record<string, ContractModelBuilder<string | undefined, Record<string, ScalarFieldBuilder>, Record<string, AnyRelationBuilder>, ModelAttributesSpec | undefined, SqlStageSpec | undefined>> = Record<never, never>, Extensions extends Record<string, ExtensionPackRef<'sql', string>> | undefined = undefined> = {
936
998
  readonly family: Family;
937
999
  readonly target: Target;
938
1000
  readonly extensions?: Extensions;
1001
+ /** The adapter the contract runs with. Its capabilities join the target's and the extensions', as `prisma contract emit` and the runtime join them. The Postgres and SQLite `defineContract` supply it. */
1002
+ readonly adapter?: CapabilityContributor;
939
1003
  readonly naming?: NamingConfig;
940
1004
  readonly storageHash?: string;
941
1005
  readonly foreignKeyDefaults?: ForeignKeyDefaultsState;
@@ -1031,34 +1095,34 @@ declare function extensionModel<const ModelName extends string, Fields extends R
1031
1095
  readonly fields: Fields;
1032
1096
  readonly table: string;
1033
1097
  }, spaceId: TSpaceId): ContractModelBuilder<ModelName, Fields, Record<never, never>, undefined, undefined, Record<never, never>, TSpaceId>;
1034
- declare function belongsTo<Token extends AnyNamedModelToken, FromField extends string | readonly string[], ToField extends RelationFieldSelection<RelationModelFieldNames<Token>>>(toModel: Token | LazyNamedModelToken<Token>, options: {
1098
+ declare function belongsTo<Token extends AnyNamedModelToken, const FromField extends string | readonly string[], const ToField extends RelationFieldSelection<RelationModelFieldNames<Token>>>(toModel: Token | LazyNamedModelToken<Token>, options: {
1035
1099
  readonly from: FromField;
1036
1100
  readonly to: ToField;
1037
1101
  readonly optional?: boolean;
1038
- }): RelationBuilder<BelongsToRelation<RelationModelName<Token>, FromField, ToField>>;
1039
- declare function belongsTo<ToModel extends string, FromField extends string | readonly string[], ToField extends string | readonly string[]>(toModel: ToModel, options: {
1102
+ }): RelationBuilder<BelongsToRelation<RelationModelName<Token>, FromField, ToField, undefined, RelationSpaceId<Token>>>;
1103
+ declare function belongsTo<ToModel extends string, const FromField extends string | readonly string[], const ToField extends string | readonly string[]>(toModel: ToModel, options: {
1040
1104
  readonly from: FromField;
1041
1105
  readonly to: ToField;
1042
1106
  readonly optional?: boolean;
1043
- }): RelationBuilder<BelongsToRelation<ToModel, FromField, ToField>>;
1044
- declare function hasMany<Token extends AnyNamedModelToken, ByField extends RelationFieldSelection<RelationModelFieldNames<Token>>>(toModel: Token | LazyNamedModelToken<Token>, options: {
1107
+ }): RelationBuilder<BelongsToRelation<ToModel, FromField, ToField, undefined, '<self>'>>;
1108
+ declare function hasMany<Token extends AnyNamedModelToken, const ByField extends RelationFieldSelection<RelationModelFieldNames<Token>>>(toModel: Token | LazyNamedModelToken<Token>, options: {
1045
1109
  readonly by: ByField;
1046
1110
  }): RelationBuilder<HasManyRelation<RelationModelName<Token>, ByField>>;
1047
- declare function hasMany<ToModel extends string, ByField extends string | readonly string[]>(toModel: ToModel, options: {
1111
+ declare function hasMany<ToModel extends string, const ByField extends string | readonly string[]>(toModel: ToModel, options: {
1048
1112
  readonly by: ByField;
1049
1113
  }): RelationBuilder<HasManyRelation<ToModel, ByField>>;
1050
- declare function hasOne<Token extends AnyNamedModelToken, ByField extends RelationFieldSelection<RelationModelFieldNames<Token>>>(toModel: Token | LazyNamedModelToken<Token>, options: {
1114
+ declare function hasOne<Token extends AnyNamedModelToken, const ByField extends RelationFieldSelection<RelationModelFieldNames<Token>>>(toModel: Token | LazyNamedModelToken<Token>, options: {
1051
1115
  readonly by: ByField;
1052
1116
  }): RelationBuilder<HasOneRelation<RelationModelName<Token>, ByField>>;
1053
- declare function hasOne<ToModel extends string, ByField extends string | readonly string[]>(toModel: ToModel, options: {
1117
+ declare function hasOne<ToModel extends string, const ByField extends string | readonly string[]>(toModel: ToModel, options: {
1054
1118
  readonly by: ByField;
1055
1119
  }): RelationBuilder<HasOneRelation<ToModel, ByField>>;
1056
- declare function manyToMany<ToToken extends AnyNamedModelToken, ThroughToken extends AnyNamedModelToken, FromField extends RelationFieldSelection<RelationModelFieldNames<ThroughToken>>, ToField extends RelationFieldSelection<RelationModelFieldNames<ThroughToken>>>(toModel: ToToken | LazyNamedModelToken<ToToken>, options: {
1120
+ declare function manyToMany<ToToken extends AnyNamedModelToken, ThroughToken extends AnyNamedModelToken, const FromField extends RelationFieldSelection<RelationModelFieldNames<ThroughToken>>, const ToField extends RelationFieldSelection<RelationModelFieldNames<ThroughToken>>>(toModel: ToToken | LazyNamedModelToken<ToToken>, options: {
1057
1121
  readonly through: ThroughToken | LazyNamedModelToken<ThroughToken>;
1058
1122
  readonly from: FromField;
1059
1123
  readonly to: ToField;
1060
1124
  }): RelationBuilder<ManyToManyRelation<RelationModelName<ToToken>, RelationModelName<ThroughToken>, FromField, ToField>>;
1061
- declare function manyToMany<ToModel extends string, ThroughModel extends string, FromField extends string | readonly string[], ToField extends string | readonly string[]>(toModel: ToModel, options: {
1125
+ declare function manyToMany<ToModel extends string, ThroughModel extends string, const FromField extends string | readonly string[], const ToField extends string | readonly string[]>(toModel: ToModel, options: {
1062
1126
  readonly through: ThroughModel;
1063
1127
  readonly from: FromField;
1064
1128
  readonly to: ToField;
@@ -1093,9 +1157,29 @@ type SupportsNamedConstraintOptions<Descriptor extends AuthoringFieldPresetDescr
1093
1157
  readonly unique: true;
1094
1158
  } ? true : false;
1095
1159
  type PresetCodecId<Descriptor extends AuthoringFieldPresetDescriptor, Args extends readonly unknown[]> = ResolveTemplateValue<Descriptor['output']['codecId'], Args> extends string ? ResolveTemplateValue<Descriptor['output']['codecId'], Args> : string;
1096
- type FieldBuilderFromPresetDescriptor<Descriptor extends AuthoringFieldPresetDescriptor, Args extends readonly unknown[] = readonly [], ConstraintName extends string | undefined = undefined, CodecTypes extends CodecTypeMap = Record<never, never>> = ScalarFieldBuilder<ScalarFieldState<WithCodecInput<ColumnTypeDescriptor<PresetCodecId<Descriptor, Args>>, CodecInput<CodecTypes, {
1160
+ type DefinedTypeParams<TypeParams> = { readonly [K in keyof TypeParams as TypeParams[K] extends undefined ? never : K]: TypeParams[K]; };
1161
+ type PresetTypeParams<Descriptor extends AuthoringFieldPresetDescriptor, Args extends readonly unknown[]> = Descriptor['output'] extends {
1162
+ readonly typeParams: infer Template;
1163
+ } ? DefinedTypeParams<ResolveTemplateValue<Template, Args>> extends (infer TypeParams) ? keyof TypeParams extends never ? Record<never, never> : {
1164
+ readonly typeParams: TypeParams;
1165
+ } : Record<never, never> : Record<never, never>;
1166
+ type PresetPhaseTemplate<Defaults, Phase extends 'onCreate' | 'onUpdate'> = Defaults extends { readonly [K in Phase]: infer Template; } ? Template : undefined;
1167
+ type PresetPhasePresent<Template, Args extends readonly unknown[]> = Template extends {
1168
+ readonly kind: 'select';
1169
+ readonly index: infer Index extends number;
1170
+ readonly cases: infer Cases;
1171
+ } ? Args[Index] extends keyof Cases ? true : false : [Template] extends [undefined] ? false : true;
1172
+ type PresetHasExecutionDefault<Descriptor extends AuthoringFieldPresetDescriptor, Args extends readonly unknown[]> = Descriptor['output'] extends {
1173
+ readonly executionDefaults: infer Defaults;
1174
+ } ? true extends PresetPhasePresent<PresetPhaseTemplate<Defaults, 'onCreate'>, Args> | PresetPhasePresent<PresetPhaseTemplate<Defaults, 'onUpdate'>, Args> ? true : false : false;
1175
+ type FieldBuilderFromPresetDescriptor<Descriptor extends AuthoringFieldPresetDescriptor, Args extends readonly unknown[] = readonly [], ConstraintName extends string | undefined = undefined, CodecTypes extends CodecTypeMap = Record<never, never>> = ScalarFieldBuilder<ScalarFieldState<WithCodecInput<ColumnTypeDescriptor<PresetCodecId<Descriptor, Args>> & PresetTypeParams<Descriptor, Args>, CodecInput<CodecTypes, {
1097
1176
  readonly codecId: PresetCodecId<Descriptor, Args>;
1098
- }>>, undefined, ResolveTemplateValue<Descriptor['output']['nullable'], Args> extends true ? true : false, undefined, NamedConstraintState<ResolveTemplateValue<Descriptor['output']['id'], Args> extends true ? true : false, ConstraintName>, NamedConstraintState<ResolveTemplateValue<Descriptor['output']['unique'], Args> extends true ? true : false, ConstraintName>>>;
1177
+ }>>, undefined, ResolveTemplateValue<Descriptor['output']['nullable'], Args> extends true ? true : false, undefined, NamedConstraintState<ResolveTemplateValue<Descriptor['output']['id'], Args> extends true ? true : false, ConstraintName>, NamedConstraintState<ResolveTemplateValue<Descriptor['output']['unique'], Args> extends true ? true : false, ConstraintName>, false, {
1178
+ readonly column: Descriptor['output'] extends {
1179
+ readonly default: object;
1180
+ } ? true : false;
1181
+ readonly execution: PresetHasExecutionDefault<Descriptor, Args>;
1182
+ }>>;
1099
1183
  type FieldHelperFunctionWithoutNamedConstraint<Descriptor extends AuthoringFieldPresetDescriptor, CodecTypes extends CodecTypeMap = Record<never, never>> = Descriptor extends {
1100
1184
  readonly args: infer Args extends readonly AuthoringArgumentDescriptor[];
1101
1185
  } ? <const Params extends TupleFromArgumentDescriptors<Args>>(...args: Params) => FieldBuilderFromPresetDescriptor<Descriptor, Params, undefined, CodecTypes> : () => FieldBuilderFromPresetDescriptor<Descriptor, readonly [], undefined, CodecTypes>;
@@ -1122,9 +1206,9 @@ type ExtractCodecTypesFromPack<P> = P extends {
1122
1206
  __codecTypes?: infer C extends Record<string, {
1123
1207
  readonly output: unknown;
1124
1208
  }>;
1125
- } ? PublicCodecTypes<C> : Record<string, never>;
1209
+ } ? PublicCodecTypes<C> : Record<never, never>;
1126
1210
  type MergeExtensionCodecTypes<Packs extends Record<string, unknown>> = UnionToIntersection<{ [K in keyof Packs]: ExtractCodecTypesFromPack<Packs[K]>; }[keyof Packs]>;
1127
- type MergeExtensionCodecTypesSafe<Packs> = Packs extends Record<string, unknown> ? keyof Packs extends never ? Record<string, never> : MergeExtensionCodecTypes<Packs> : Record<string, never>;
1211
+ type MergeExtensionCodecTypesSafe<Packs> = Packs extends Record<string, unknown> ? keyof Packs extends never ? Record<never, never> : MergeExtensionCodecTypes<Packs> : Record<never, never>;
1128
1212
  type ExtractIndexTypesFromPack<P> = P extends {
1129
1213
  readonly indexTypes: IndexTypeRegistration<infer M>;
1130
1214
  } ? M : Record<never, never>;
@@ -1138,9 +1222,36 @@ type DefinitionExtensions<Definition> = Definition extends {
1138
1222
  type ExtractPackCapabilities<P> = P extends {
1139
1223
  readonly capabilities?: infer Caps extends Record<string, Record<string, boolean>>;
1140
1224
  } ? Caps : never;
1141
- type MergeExtensionPackCapabilities<Packs> = Packs extends Record<string, unknown> ? keyof Packs extends never ? Record<string, never> : UnionToIntersection<{ [K in keyof Packs]: ExtractPackCapabilities<Packs[K]>; }[keyof Packs]> : Record<string, never>;
1225
+ type ExtensionCapabilityMatrices<Packs> = Packs extends Record<string, unknown> ? { [K in keyof Packs]: Defaulted<ExtractPackCapabilities<Packs[K]>, Record<never, never>>; }[keyof Packs] : never;
1226
+ type KeysOfEach<T> = T extends unknown ? keyof T : never;
1227
+ type NamespaceOfEach<Matrices, Namespace> = Matrices extends unknown ? Namespace extends keyof Matrices ? Matrices[Namespace] : never : never;
1228
+ type FlagOfEach<Flags, Flag> = Flags extends unknown ? Flag extends keyof Flags ? Flags[Flag] : never : never;
1229
+ type MergeExtensionPackCapabilities<Packs> = { readonly [Namespace in KeysOfEach<ExtensionCapabilityMatrices<Packs>>]: { readonly [Flag in KeysOfEach<NamespaceOfEach<ExtensionCapabilityMatrices<Packs>, Namespace>>]: FlagOfEach<NamespaceOfEach<ExtensionCapabilityMatrices<Packs>, Namespace>, Flag> extends true ? true : false; }; };
1142
1230
  type Defaulted<T, Fallback> = [T] extends [never] ? Fallback : T;
1143
- type DerivedCapabilities<Definition> = Defaulted<ExtractPackCapabilities<DefinitionTarget<Definition>>, Record<string, never>> & MergeExtensionPackCapabilities<DefinitionExtensions<Definition>>;
1231
+ type DefinitionAdapter<Definition> = Definition extends {
1232
+ readonly adapter?: infer Adapter;
1233
+ } ? Present<Adapter> : never;
1234
+ type EnabledCapabilityFlags<Flags> = { readonly [Flag in keyof Flags as Flags[Flag] extends true ? Flag : never]: true; };
1235
+ type EnabledCapabilities<Capabilities> = { readonly [Namespace in keyof Capabilities as keyof EnabledCapabilityFlags<Capabilities[Namespace]> extends never ? never : Namespace]: EnabledCapabilityFlags<Capabilities[Namespace]>; };
1236
+ type OverrideCapabilities<Earlier, Later> = { readonly [Namespace in keyof Earlier | keyof Later]: Namespace extends keyof Later ? Namespace extends keyof Earlier ? Omit<Earlier[Namespace], keyof Later[Namespace]> & Later[Namespace] : Later[Namespace] : Namespace extends keyof Earlier ? Earlier[Namespace] : never; };
1237
+ type DerivedCapabilities<Definition> = EnabledCapabilities<OverrideCapabilities<OverrideCapabilities<Defaulted<ExtractPackCapabilities<DefinitionTarget<Definition>>, Record<never, never>>, Defaulted<ExtractPackCapabilities<DefinitionAdapter<Definition>>, Record<never, never>>>, MergeExtensionPackCapabilities<DefinitionExtensions<Definition>>>>;
1238
+ type ExtractQueryOperationTypesFromPack<P, CodecTypes extends Record<string, {
1239
+ readonly input: unknown;
1240
+ readonly output: unknown;
1241
+ }>> = P extends {
1242
+ readonly __queryOperationTypes?: infer TypeFunction;
1243
+ } ? Present<TypeFunction> extends (infer Defined extends QueryOperationTypesFunction) ? ApplyQueryOperationTypes<Defined, CodecTypes> : Record<never, never> : Record<never, never>;
1244
+ type PackQueryOperationTypes<Definition> = UnionToIntersection<{ [K in keyof AllPacks<Definition>]: ExtractQueryOperationTypesFromPack<AllPacks<Definition>[K], CodecTypesFromDefinition<Definition>>; }[keyof AllPacks<Definition>]>;
1245
+ type QueryOperationTypesFromDefinition<Definition> = PackQueryOperationTypes<Definition> extends (infer Operations extends Record<string, unknown>) ? Operations : Record<string, never>;
1246
+ type PackAggregateDescriptors<Pack> = Pack extends {
1247
+ readonly types?: infer Types;
1248
+ } ? Present<Types> extends {
1249
+ readonly aggregateDescriptors?: infer Descriptors;
1250
+ } ? Present<Descriptors> extends ReadonlyArray<infer Descriptor> ? Descriptor extends {
1251
+ readonly operation: infer Operation;
1252
+ } ? string extends Operation ? never : Descriptor : never : never : never : never;
1253
+ type ExtensionAggregateDescriptors<Definition> = { [K in keyof DefinitionExtensions<Definition>]: PackAggregateDescriptors<DefinitionExtensions<Definition>[K]>; }[keyof DefinitionExtensions<Definition>];
1254
+ type AggregateTypesFromDefinition<Definition> = AggregateTypesFromDescriptors<PackAggregateDescriptors<DefinitionTarget<Definition>> | PackAggregateDescriptors<DefinitionAdapter<Definition>> | ExtensionAggregateDescriptors<Definition>, CodecTypesFromDefinition<Definition>>;
1144
1255
  type DefinitionTargetId<Definition> = Definition extends {
1145
1256
  readonly target: TargetPackRef<'sql', infer Target>;
1146
1257
  } ? Target : never;
@@ -1151,6 +1262,9 @@ type CodecTypesFromDefinition<Definition> = ExtractCodecTypesFromPack<Definition
1151
1262
  type DefinitionTarget<Definition> = Definition extends {
1152
1263
  readonly target: infer Target;
1153
1264
  } ? Target : never;
1265
+ type AllPacks<Definition> = DefinitionExtensions<Definition> & {
1266
+ readonly __target: DefinitionTarget<Definition>;
1267
+ };
1154
1268
  type DefinitionModels<Definition> = Definition extends {
1155
1269
  readonly models?: unknown;
1156
1270
  } ? Present<Definition['models']> extends Record<string, unknown> ? Present<Definition['models']> : Record<never, never> : Record<never, never>;
@@ -1210,6 +1324,15 @@ type FieldManyOf<FieldState> = FieldState extends {
1210
1324
  readonly elementNullable: boolean;
1211
1325
  };
1212
1326
  } ? Many : false;
1327
+ type FieldDefaultPresenceOf<FieldState> = Present<FieldState extends {
1328
+ readonly __defaultPresence?: infer Defaults;
1329
+ } ? Defaults : never>;
1330
+ type FieldHasColumnDefault<FieldState> = FieldDefaultPresenceOf<FieldState> extends {
1331
+ readonly column: true;
1332
+ } ? true : false;
1333
+ type FieldHasExecutionDefault<FieldState> = FieldDefaultPresenceOf<FieldState> extends {
1334
+ readonly execution: true;
1335
+ } ? true : false;
1213
1336
  type FieldColumnOverrideOf<FieldState> = Present<FieldState extends {
1214
1337
  readonly columnName?: infer ColumnName;
1215
1338
  } ? ColumnName : never>;
@@ -1218,7 +1341,12 @@ type FieldInlineIdSpecOf<FieldState> = Present<FieldState extends {
1218
1341
  } ? IdSpec : never>;
1219
1342
  type DescriptorCodecId<Descriptor> = Descriptor extends {
1220
1343
  readonly codecId: infer CodecId extends string;
1221
- } ? CodecId : string;
1344
+ } ? string extends CodecId ? ColumnSpecCodecId<Descriptor> : CodecId : string;
1345
+ type ColumnSpecCodecId<Descriptor> = Descriptor extends {
1346
+ readonly codecFactory: (...args: never[]) => {
1347
+ readonly id: infer Id extends string;
1348
+ };
1349
+ } ? Id : string;
1222
1350
  type DescriptorTypeParams<Descriptor> = Descriptor extends {
1223
1351
  readonly typeParams: infer TypeParams extends Record<string, unknown>;
1224
1352
  } ? TypeParams : undefined;
@@ -1259,22 +1387,128 @@ type ModelIdFieldNames<Definition, ModelName extends ModelNames<Definition>> = [
1259
1387
  type ModelIdName<Definition, ModelName extends ModelNames<Definition>> = [AttributeIdName<Definition, ModelName>] extends [never] ? Present<InlineIdName<Definition, ModelName>> : AttributeIdName<Definition, ModelName>;
1260
1388
  type StorageColumn<CodecId extends string, Nullable extends boolean, TypeRef extends string | undefined = undefined, TypeParams extends Record<string, unknown> | undefined = undefined, Many extends false | {
1261
1389
  readonly elementNullable: boolean;
1262
- } = false> = {
1390
+ } = false, HasDefault extends boolean = false> = {
1263
1391
  readonly dataType: string;
1264
1392
  readonly codecId: CodecId;
1265
1393
  readonly nullable: Nullable;
1266
- readonly default?: ColumnDefault;
1267
- } & (TypeRef extends string ? {
1394
+ } & (HasDefault extends true ? {
1395
+ readonly default: ColumnDefault;
1396
+ } : Record<never, never>) & (TypeRef extends string ? {
1268
1397
  readonly typeRef: TypeRef;
1269
1398
  } : Record<never, never>) & (TypeParams extends Record<string, unknown> ? {
1270
1399
  readonly typeParams: TypeParams;
1271
1400
  } : Record<never, never>) & {
1272
1401
  readonly many: Many;
1273
1402
  };
1274
- type ModelStorageColumn<Definition, ModelName extends ModelNames<Definition>, FieldName extends string> = FieldName extends ModelFieldNames<Definition, ModelName> ? StorageColumn<DescriptorCodecId<ResolveFieldDescriptor<Definition, ModelFieldState<Definition, ModelName, FieldName>>>, FieldNullableOf<ModelFieldState<Definition, ModelName, FieldName>>, ResolveFieldColumnTypeRef<Definition, ModelFieldState<Definition, ModelName, FieldName>>, ResolveFieldColumnTypeParams<Definition, ModelFieldState<Definition, ModelName, FieldName>>, FieldManyOf<ModelFieldState<Definition, ModelName, FieldName>>> : never;
1403
+ type ModelStorageColumn<Definition, ModelName extends ModelNames<Definition>, FieldName extends string> = FieldName extends ModelFieldNames<Definition, ModelName> ? StorageColumn<DescriptorCodecId<ResolveFieldDescriptor<Definition, ModelFieldState<Definition, ModelName, FieldName>>>, FieldNullableOf<ModelFieldState<Definition, ModelName, FieldName>>, ResolveFieldColumnTypeRef<Definition, ModelFieldState<Definition, ModelName, FieldName>>, ResolveFieldColumnTypeParams<Definition, ModelFieldState<Definition, ModelName, FieldName>>, FieldManyOf<ModelFieldState<Definition, ModelName, FieldName>>, FieldHasColumnDefault<ModelFieldState<Definition, ModelName, FieldName>>> : never;
1404
+ type StagedRelationState<Definition, ModelName extends ModelNames<Definition>, RelName extends StagedModelRelationNames<Definition, ModelName>> = StagedModelRelations<Definition, ModelName>[RelName] extends {
1405
+ readonly __state: infer State;
1406
+ } ? State : never;
1407
+ type RelationSourceModelName<Source> = Source extends {
1408
+ readonly modelName: infer Name extends string;
1409
+ } ? Name : Source extends {
1410
+ readonly resolve: () => infer Name extends string;
1411
+ } ? Name : never;
1412
+ type RelationFieldTuple<Fields> = Fields extends readonly string[] ? Fields : readonly [Extract<Fields, string>];
1413
+ type RelationFieldUnion<Fields> = Fields extends readonly (infer FieldName)[] ? FieldName : Fields;
1414
+ type ModelAnchorFieldNames<Definition, ModelName extends ModelNames<Definition>> = ModelIdFieldNames<Definition, ModelName> extends (infer IdFields extends readonly string[]) ? IdFields : readonly ['id'];
1415
+ type AnyFieldNullable<Definition, ModelName extends ModelNames<Definition>, Fields> = true extends (RelationFieldUnion<Fields> extends (infer FieldName) ? FieldName extends ModelFieldNames<Definition, ModelName> ? FieldNullableOf<ModelFieldState<Definition, ModelName, FieldName>> : boolean : never) ? true : false;
1416
+ type BelongsToNullable<Definition, ModelName extends ModelNames<Definition>, State> = AnyFieldNullable<Definition, ModelName, State extends {
1417
+ readonly from: infer From;
1418
+ } ? From : never>;
1419
+ type BuiltRelationTarget<Definition, Target extends ModelNames<Definition>> = {
1420
+ readonly namespace: ModelNamespace<Definition, Target> & NamespaceId;
1421
+ readonly model: Target;
1422
+ };
1423
+ type JunctionTargetColumns<Definition, Target extends ModelNames<Definition>> = ModelIdFieldNames<Definition, Target> extends (infer IdFields extends readonly string[]) ? FieldNamesToColumnNames<Definition, Target, IdFields> : BuiltUnique<Definition, Target>['columns'];
1424
+ type BuiltManyToManyRelation<Definition, ModelName extends ModelNames<Definition>, Target extends ModelNames<Definition>, State> = State extends {
1425
+ readonly through: infer ThroughSource;
1426
+ readonly from: infer From;
1427
+ readonly to: infer To;
1428
+ } ? RelationSourceModelName<ThroughSource> extends (infer Through extends ModelNames<Definition>) ? {
1429
+ readonly to: BuiltRelationTarget<Definition, Target>;
1430
+ readonly cardinality: 'N:M';
1431
+ readonly on: {
1432
+ readonly localFields: ModelAnchorFieldNames<Definition, ModelName>;
1433
+ readonly targetFields: FieldNamesToColumnNames<Definition, Through, RelationFieldTuple<From>>;
1434
+ };
1435
+ readonly through: {
1436
+ readonly table: ModelTableName<Definition, Through>;
1437
+ readonly namespaceId: ModelNamespace<Definition, Through>;
1438
+ readonly parentColumns: FieldNamesToColumnNames<Definition, Through, RelationFieldTuple<From>>;
1439
+ readonly childColumns: FieldNamesToColumnNames<Definition, Through, RelationFieldTuple<To>>;
1440
+ readonly targetColumns: JunctionTargetColumns<Definition, Target>;
1441
+ };
1442
+ } : ContractRelation : ContractRelation;
1443
+ type BuiltSameSpaceRelationByKind<Definition, ModelName extends ModelNames<Definition>, Target extends ModelNames<Definition>, State> = State extends {
1444
+ readonly kind: 'belongsTo';
1445
+ readonly from: infer From;
1446
+ readonly to: infer To;
1447
+ } ? {
1448
+ readonly to: BuiltRelationTarget<Definition, Target>;
1449
+ readonly cardinality: 'N:1';
1450
+ readonly nullable: BelongsToNullable<Definition, ModelName, State>;
1451
+ readonly on: {
1452
+ readonly localFields: RelationFieldTuple<From>;
1453
+ readonly targetFields: RelationFieldTuple<To>;
1454
+ };
1455
+ } : State extends {
1456
+ readonly kind: 'hasMany';
1457
+ readonly by: infer By;
1458
+ } ? {
1459
+ readonly to: BuiltRelationTarget<Definition, Target>;
1460
+ readonly cardinality: '1:N';
1461
+ readonly on: {
1462
+ readonly localFields: ModelAnchorFieldNames<Definition, ModelName>;
1463
+ readonly targetFields: RelationFieldTuple<By>;
1464
+ };
1465
+ } : State extends {
1466
+ readonly kind: 'hasOne';
1467
+ readonly by: infer By;
1468
+ } ? {
1469
+ readonly to: BuiltRelationTarget<Definition, Target>;
1470
+ readonly cardinality: '1:1';
1471
+ readonly nullable: true;
1472
+ readonly on: {
1473
+ readonly localFields: ModelAnchorFieldNames<Definition, ModelName>;
1474
+ readonly targetFields: RelationFieldTuple<By>;
1475
+ };
1476
+ } : State extends {
1477
+ readonly kind: 'manyToMany';
1478
+ } ? BuiltManyToManyRelation<Definition, ModelName, Target, State> : ContractRelation;
1479
+ type IsOtherSpaceTarget<State> = State extends {
1480
+ readonly __targetSpaceId?: infer SpaceId;
1481
+ } ? [Present<SpaceId>] extends ['<self>'] ? false : true : false;
1482
+ type BuiltRelation<Definition, ModelName extends ModelNames<Definition>, State> = IsOtherSpaceTarget<State> extends true ? ContractRelation : BuiltSameSpaceRelation<Definition, ModelName, State>;
1483
+ type BuiltSameSpaceRelation<Definition, ModelName extends ModelNames<Definition>, State> = State extends {
1484
+ readonly toModel: infer Source;
1485
+ } ? RelationSourceModelName<Source> extends (infer Target extends ModelNames<Definition>) ? BuiltSameSpaceRelationByKind<Definition, ModelName, Target, State> : ContractRelation : ContractRelation;
1486
+ type ExecutionDefaultEntries<Definition> = { [ModelName in ModelNames<Definition>]: { [FieldName in ModelFieldNames<Definition, ModelName>]: FieldHasExecutionDefault<ModelFieldState<Definition, ModelName, FieldName>> extends true ? ContractExecutionSection['mutations']['defaults'][number] & {
1487
+ readonly ref: {
1488
+ readonly namespace: ModelNamespace<Definition, ModelName>;
1489
+ readonly entry: ModelTableName<Definition, ModelName>;
1490
+ readonly field: ModelColumnName<Definition, ModelName, FieldName>;
1491
+ };
1492
+ } : never; }[ModelFieldNames<Definition, ModelName>]; }[ModelNames<Definition>];
1493
+ type BuiltExecution<Definition> = [ExecutionDefaultEntries<Definition>] extends [never] ? {
1494
+ readonly execution?: ContractExecutionSection;
1495
+ } : {
1496
+ readonly execution: ContractExecutionSection & {
1497
+ readonly mutations: {
1498
+ readonly defaults: ReadonlyArray<ExecutionDefaultEntries<Definition>>;
1499
+ };
1500
+ };
1501
+ };
1502
+ type DomainFieldTypeParams<TypeParams> = TypeParams extends Record<string, unknown> ? keyof TypeParams extends never ? Record<never, never> : {
1503
+ readonly typeParams: TypeParams;
1504
+ } : Record<never, never>;
1505
+ type DomainFieldMany<Many> = Many extends false ? Record<never, never> : {
1506
+ readonly many: Many;
1507
+ };
1275
1508
  type BuiltModels<Definition> = { readonly [ModelName in ModelNames<Definition>]: {
1276
1509
  readonly storage: {
1277
1510
  readonly table: ModelTableName<Definition, ModelName>;
1511
+ readonly namespaceId: ModelNamespace<Definition, ModelName>;
1278
1512
  readonly fields: { readonly [FieldName in ModelFieldNames<Definition, ModelName>]: {
1279
1513
  readonly column: ModelColumnName<Definition, ModelName, FieldName>;
1280
1514
  }; };
@@ -1284,22 +1518,127 @@ type BuiltModels<Definition> = { readonly [ModelName in ModelNames<Definition>]:
1284
1518
  readonly type: {
1285
1519
  readonly kind: 'scalar';
1286
1520
  readonly codecId: ModelStorageColumn<Definition, ModelName, FieldName>['codecId'];
1287
- };
1288
- } & {
1289
- readonly many: FieldManyOf<ModelFieldState<Definition, ModelName, FieldName>>;
1290
- }; };
1291
- readonly relations: { readonly [RelName in StagedModelRelationNames<Definition, ModelName>]: ContractRelation; };
1521
+ } & DomainFieldTypeParams<FieldColumnTypeParams<Definition, ModelFieldState<Definition, ModelName, FieldName>>>;
1522
+ } & DomainFieldMany<FieldManyOf<ModelFieldState<Definition, ModelName, FieldName>>>; };
1523
+ readonly relations: { readonly [RelName in StagedModelRelationNames<Definition, ModelName>]: BuiltRelation<Definition, ModelName, StagedRelationState<Definition, ModelName, RelName>>; };
1292
1524
  }; };
1293
1525
  type BuiltModelColumnMappings<Definition, ModelName extends ModelNames<Definition>> = BuiltModels<Definition>[ModelName]['storage']['fields'];
1294
1526
  type BuiltModelTableName<Definition, ModelName extends ModelNames<Definition>> = BuiltModels<Definition>[ModelName]['storage']['table'];
1295
1527
  type BuiltStorageTableColumns<Definition, ModelName extends ModelNames<Definition>> = { readonly [FieldName in keyof BuiltModelColumnMappings<Definition, ModelName> & string as BuiltModelColumnMappings<Definition, ModelName>[FieldName]['column']]: ModelStorageColumn<Definition, ModelName, FieldName>; };
1528
+ type FieldUniqueSpecOf<FieldState> = FieldState extends {
1529
+ readonly unique: infer UniqueSpec;
1530
+ } ? [UniqueSpec] extends [{
1531
+ readonly name?: infer Name;
1532
+ }] ? {
1533
+ readonly name: Name;
1534
+ } : never : never;
1535
+ type UniqueName$1<Name> = Present<Name> extends (infer Defined extends string) ? Defined : never;
1536
+ type InlineUnique<Definition, ModelName extends ModelNames<Definition>> = { [FieldName in ModelFieldNames<Definition, ModelName>]: FieldUniqueSpecOf<ModelFieldState<Definition, ModelName, FieldName>> extends (infer Spec) ? [Spec] extends [never] ? never : Spec extends {
1537
+ readonly name: infer Name;
1538
+ } ? {
1539
+ readonly columns: readonly [ModelColumnName<Definition, ModelName, FieldName>];
1540
+ readonly name?: UniqueName$1<Name>;
1541
+ } : never : never; }[ModelFieldNames<Definition, ModelName>];
1542
+ type AttributeUnique<Definition, ModelName extends ModelNames<Definition>> = ModelAttributes<Definition, ModelName> extends {
1543
+ readonly uniques?: infer Uniques extends readonly unknown[];
1544
+ } ? Uniques[number] extends (infer Unique) ? Unique extends {
1545
+ readonly fields: infer Fields extends readonly string[];
1546
+ } ? number extends Fields['length'] ? never : {
1547
+ readonly columns: FieldNamesToColumnNames<Definition, ModelName, Fields>;
1548
+ readonly name?: Unique extends {
1549
+ readonly name?: infer Name;
1550
+ } ? UniqueName$1<Name> : never;
1551
+ } : never : never : never;
1552
+ type BuiltUnique<Definition, ModelName extends ModelNames<Definition>> = InlineUnique<Definition, ModelName> | AttributeUnique<Definition, ModelName>;
1553
+ type JoinColumns<Columns> = Columns extends readonly [infer Only extends string] ? Only : Columns extends readonly [infer First extends string, ...infer Rest] ? `${First}_${JoinColumns<Rest>}` : string;
1554
+ type SameColumns<A, B> = [A] extends [B] ? ([B] extends [A] ? true : false) : false;
1555
+ type ModelColumnOf<Definition, ModelName extends ModelNames<Definition>> = { readonly [FieldName in ModelFieldNames<Definition, ModelName>]: ModelColumnName<Definition, ModelName, FieldName>; };
1556
+ type DeclaredIndexConstraints<Definition, ModelName extends ModelNames<Definition>> = ModelSql<Definition, ModelName> extends {
1557
+ readonly indexes?: infer Indexes extends readonly unknown[];
1558
+ } ? Indexes : readonly [];
1559
+ type IndexColumns<Definition, ModelName extends ModelNames<Definition>, Constraint> = [Constraint] extends [{
1560
+ readonly fields?: infer Fields;
1561
+ }] ? Present<Fields> extends (infer Defined extends readonly string[]) ? [Defined] extends [never] ? readonly [] : number extends Defined['length'] ? readonly string[] : FieldNamesToColumnNames<Definition, ModelName, Defined> : readonly [] : readonly [];
1562
+ type IndexSpecOfConstraint<Constraint> = [Constraint] extends [{
1563
+ readonly __spec?: infer Spec;
1564
+ }] ? Present<Spec> : never;
1565
+ type IndexMapOf<Constraint> = IndexSpecOfConstraint<Constraint> extends {
1566
+ readonly map: infer Map extends string;
1567
+ } ? Map : never;
1568
+ type IndexNameOf<Constraint> = [Constraint] extends [{
1569
+ readonly name?: infer Name;
1570
+ }] ? Present<Name> extends (infer Defined extends string) ? Defined : never : never;
1571
+ type IndexNaming<Definition, ModelName extends ModelNames<Definition>, Constraint> = [IndexMapOf<Constraint>] extends [never] ? {
1572
+ readonly name: string;
1573
+ readonly prefix: [IndexNameOf<Constraint>] extends [never] ? `${ModelTableName<Definition, ModelName>}_${JoinColumns<IndexColumns<Definition, ModelName, Constraint>>}_idx` : IndexNameOf<Constraint>;
1574
+ } : {
1575
+ readonly name: IndexMapOf<Constraint>;
1576
+ };
1577
+ type IndexMethod<Definition, ModelName extends ModelNames<Definition>, Constraint> = [IndexSpecOfConstraint<Constraint>] extends [never] ? Record<never, never> : IndexMethodOfSpec<Definition, ModelName, IndexSpecOfConstraint<Constraint>>;
1578
+ type IndexMethodOfSpec<Definition, ModelName extends ModelNames<Definition>, Spec> = (Spec extends {
1579
+ readonly type: infer Type extends string;
1580
+ } ? {
1581
+ readonly type: Type;
1582
+ } : Record<never, never>) & (Spec extends {
1583
+ readonly options: infer Options;
1584
+ } ? [Options] extends [undefined] ? Record<never, never> : {
1585
+ readonly options: Options extends IndexOptionsFunction ? (Options & {
1586
+ readonly columnOf: ModelColumnOf<Definition, ModelName>;
1587
+ })['options'] : Options;
1588
+ } : Record<never, never>);
1589
+ type BuiltDeclaredIndexOf<Definition, ModelName extends ModelNames<Definition>, Constraint> = IndexNaming<Definition, ModelName, Constraint> & {
1590
+ readonly columns: IndexColumns<Definition, ModelName, Constraint>;
1591
+ readonly unique: boolean;
1592
+ } & IndexMethod<Definition, ModelName, Constraint>;
1593
+ type BuiltDeclaredIndexesOf<Definition, ModelName extends ModelNames<Definition>, Constraints extends readonly unknown[]> = { readonly [K in keyof Constraints]: BuiltDeclaredIndexOf<Definition, ModelName, Constraints[K]>; }[number];
1594
+ type BuiltDeclaredIndex<Definition, ModelName extends ModelNames<Definition>> = BuiltDeclaredIndexesOf<Definition, ModelName, DeclaredIndexConstraints<Definition, ModelName>>;
1595
+ type DefaultForeignKeyIndex<Definition> = Definition extends {
1596
+ readonly foreignKeyDefaults?: infer Defaults;
1597
+ } ? [Present<Defaults>] extends [never] ? true : Present<Defaults> extends {
1598
+ readonly index: false;
1599
+ } ? false : true : true;
1600
+ type DerivesBackingIndex<Definition, Intent> = [Present<Intent>] extends [never] ? DefaultForeignKeyIndex<Definition> : Present<Intent> extends false ? false : Present<Intent> extends true ? true : Present<Intent> extends string ? string extends Present<Intent> ? DefaultForeignKeyIndex<Definition> : false : DefaultForeignKeyIndex<Definition>;
1601
+ type RelationForeignKey<RelationSql> = [Present<RelationSql>] extends [never] ? never : Present<RelationSql> extends {
1602
+ readonly fk?: infer ForeignKey;
1603
+ } ? Present<ForeignKey> : never;
1604
+ type ModelForeignKeyFields<Definition, ModelName extends ModelNames<Definition>> = (ModelSql<Definition, ModelName> extends {
1605
+ readonly foreignKeys?: infer ForeignKeys extends readonly unknown[];
1606
+ } ? ForeignKeys[number] extends (infer ForeignKey) ? ForeignKey extends {
1607
+ readonly fields: infer Fields extends readonly string[];
1608
+ } ? DerivesBackingIndex<Definition, ForeignKey extends {
1609
+ readonly index?: infer Intent;
1610
+ } ? Intent : undefined> extends true ? Fields : never : never : never : never) | { [RelName in StagedModelRelationNames<Definition, ModelName>]: StagedRelationState<Definition, ModelName, RelName> extends {
1611
+ readonly kind: 'belongsTo';
1612
+ readonly from: infer From;
1613
+ readonly sql?: infer RelationSql;
1614
+ } ? RelationForeignKey<RelationSql> extends (infer ForeignKey) ? [ForeignKey] extends [never] ? never : DerivesBackingIndex<Definition, ForeignKey extends {
1615
+ readonly index?: infer Intent;
1616
+ } ? Intent : undefined> extends true ? RelationFieldTuple<From> : never : never : never; }[StagedModelRelationNames<Definition, ModelName>];
1617
+ type BackingIndexIsRedundant<Definition, ModelName extends ModelNames<Definition>, Columns> = true extends SameColumns<Columns, ModelIdFieldNames<Definition, ModelName> extends (infer IdFields extends readonly string[]) ? FieldNamesToColumnNames<Definition, ModelName, IdFields> : never> | (BuiltUnique<Definition, ModelName> extends (infer Unique) ? Unique extends {
1618
+ readonly columns: infer UniqueColumns;
1619
+ } ? SameColumns<Columns, UniqueColumns> : never : never) | (PlainDeclaredIndexColumns<Definition, ModelName> extends (infer DeclaredColumns) ? DeclaredColumns extends unknown ? SameColumns<Columns, DeclaredColumns> : never : never) ? true : false;
1620
+ type PlainDeclaredIndexColumnsOf<Definition, ModelName extends ModelNames<Definition>, Constraints extends readonly unknown[]> = { readonly [K in keyof Constraints]: IndexSpecOfConstraint<Constraints[K]> extends {
1621
+ readonly type: undefined;
1622
+ readonly options: undefined;
1623
+ readonly partial: false;
1624
+ } ? IndexColumns<Definition, ModelName, Constraints[K]> : never; }[number];
1625
+ type PlainDeclaredIndexColumns<Definition, ModelName extends ModelNames<Definition>> = PlainDeclaredIndexColumnsOf<Definition, ModelName, DeclaredIndexConstraints<Definition, ModelName>>;
1626
+ type AsciiCharacter = ' ' | '!' | '"' | '#' | '$' | '%' | '&' | "'" | '(' | ')' | '*' | '+' | ',' | '-' | '.' | '/' | '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | ':' | ';' | '<' | '=' | '>' | '?' | '@' | 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z' | '[' | '\\' | ']' | '^' | '_' | '`' | 'a' | 'b' | 'c' | 'd' | 'e' | 'f' | 'g' | 'h' | 'i' | 'j' | 'k' | 'l' | 'm' | 'n' | 'o' | 'p' | 'q' | 'r' | 's' | 't' | 'u' | 'v' | 'w' | 'x' | 'y' | 'z' | '{' | '|' | '}' | '~';
1627
+ /**
1628
+ * A derived wire-name prefix as the build shortens it: to its first 54 bytes (`WIRE_NAME_PREFIX_MAX_BYTES`). Each ASCII character is one byte. A name with another character before the cut has a byte length the type does not count, so it gives `never` and the index has no name in the type.
1629
+ */
1630
+ type DerivedWireNamePrefix<Name extends string, Kept extends string = '', Bytes extends readonly unknown[] = []> = string extends Name ? string : Bytes['length'] extends 54 ? Kept : Name extends `${infer Character}${infer Rest}` ? Character extends AsciiCharacter ? DerivedWireNamePrefix<Rest, `${Kept}${Character}`, [...Bytes, unknown]> : never : Kept;
1631
+ type BuiltBackingIndex<Definition, ModelName extends ModelNames<Definition>> = ModelForeignKeyFields<Definition, ModelName> extends (infer Fields) ? Fields extends readonly string[] ? FieldNamesToColumnNames<Definition, ModelName, Fields> extends (infer Columns) ? BackingIndexIsRedundant<Definition, ModelName, Columns> extends true ? never : {
1632
+ readonly name: string;
1633
+ readonly prefix: DerivedWireNamePrefix<`${ModelTableName<Definition, ModelName>}_${JoinColumns<Columns>}_idx`>;
1634
+ readonly columns: Columns;
1635
+ readonly unique: false;
1636
+ } : never : never : never;
1637
+ type BuiltIndex<Definition, ModelName extends ModelNames<Definition>> = BuiltDeclaredIndex<Definition, ModelName> | BuiltBackingIndex<Definition, ModelName>;
1296
1638
  type BuiltStorageTables<Definition, Ns extends string> = { readonly [ModelName in ModelsInNamespace<Definition, Ns> as BuiltModelTableName<Definition, ModelName>]: {
1297
1639
  readonly columns: BuiltStorageTableColumns<Definition, ModelName>;
1298
- readonly uniques: ReadonlyArray<{
1299
- readonly columns: readonly string[];
1300
- readonly name?: string;
1301
- }>;
1302
- readonly indexes: ReadonlyArray<Index>;
1640
+ readonly uniques: ReadonlyArray<BuiltUnique<Definition, ModelName>>;
1641
+ readonly indexes: ReadonlyArray<BuiltIndex<Definition, ModelName>>;
1303
1642
  readonly foreignKeys: ReadonlyArray<{
1304
1643
  readonly source: {
1305
1644
  readonly namespaceId: NamespaceId;
@@ -1322,32 +1661,43 @@ type BuiltStorageTables<Definition, Ns extends string> = { readonly [ModelName i
1322
1661
  readonly columns: FieldNamesToColumnNames<Definition, ModelName, ModelIdFieldNames<Definition, ModelName>>;
1323
1662
  readonly name?: ModelIdName<Definition, ModelName>;
1324
1663
  };
1325
- } : Record<string, never>); };
1664
+ } : Record<never, never>); };
1326
1665
  type DefinitionEnums<Definition> = Definition extends {
1327
1666
  readonly enums?: infer E;
1328
1667
  } ? Present<E> extends Record<string, EnumTypeHandle> ? string extends keyof Present<E> ? Record<never, never> : Present<E> : Record<never, never> : Record<never, never>;
1329
- type EnumHandleAccessorType<Handle> = Handle extends EnumTypeHandle<infer _Name, infer Values, infer Names, infer MembersMap> ? {
1330
- readonly values: Values;
1331
- readonly names: Names;
1332
- readonly members: MembersMap;
1333
- has(v: Values[number]): boolean;
1334
- nameOf(v: Values[number]): string | undefined;
1335
- ordinalOf(v: Values[number]): number;
1336
- } : never;
1337
- type BuiltEnumAccessors<Definition> = { readonly [K in keyof DefinitionEnums<Definition>]: EnumHandleAccessorType<DefinitionEnums<Definition>[K]>; };
1338
1668
  type BuiltDocumentScopedTypes<Definition> = { readonly [K in keyof DefinitionTypes<Definition> as DefinitionTypes<Definition>[K] extends AuthoredStorageTypeInstance ? K : never]: DefinitionTypes<Definition>[K] & {
1339
1669
  readonly dataType: string;
1340
1670
  }; };
1341
- type BuiltDomain<Definition> = BuiltDocumentScopedTypes<Definition> extends Record<never, never> ? Record<string, never> : {
1671
+ type BuiltDomain<Definition> = BuiltDocumentScopedTypes<Definition> extends Record<never, never> ? Record<never, never> : {
1342
1672
  readonly __unbound__: {
1343
1673
  readonly types: BuiltDocumentScopedTypes<Definition>;
1344
1674
  };
1345
1675
  };
1676
+ type HandleName<Handle> = Handle extends EnumTypeHandle<infer Name> ? Name : never;
1677
+ type StoredEnumValue<Value> = Value extends JsonValue ? Value : JsonValue;
1678
+ type EnumHandleMembers<Handle, Stored extends boolean> = Handle extends EnumTypeHandle<string, infer Values, infer Names> ? { readonly [I in keyof Values]: {
1679
+ readonly name: I extends keyof Names ? Names[I] : never;
1680
+ readonly value: Stored extends true ? StoredEnumValue<Values[I]> : Values[I];
1681
+ }; } : never;
1682
+ type EnumHandleEntries<Enums> = { readonly [K in keyof Enums as HandleName<Enums[K]>]: {
1683
+ readonly codecId: Enums[K] extends {
1684
+ readonly codecId: infer CodecId;
1685
+ } ? CodecId : string;
1686
+ readonly members: EnumHandleMembers<Enums[K], true>;
1687
+ }; };
1688
+ type EnumHandleMemberTypes<Enums> = { readonly [K in keyof Enums as HandleName<Enums[K]>]: EnumHandleMembers<Enums[K], false>; };
1689
+ type EnumHandleValueSets<Enums> = { readonly [K in keyof Enums as HandleName<Enums[K]>]: {
1690
+ readonly kind: 'valueSet';
1691
+ readonly values: Enums[K] extends EnumTypeHandle<string, infer Values> ? { readonly [I in keyof Values]: StoredEnumValue<Values[I]>; } : never;
1692
+ }; };
1693
+ type DefinitionHasEnums<Definition> = keyof DefinitionEnums<Definition> extends never ? false : true;
1694
+ type HoldsDefinitionEnums<Definition, Ns extends string> = DefinitionHasEnums<Definition> extends true ? Ns extends DefaultStorageNamespaceId<Definition> ? true : false : false;
1346
1695
  type BuiltDomainNamespace<Definition, Ns extends string> = {
1347
1696
  readonly models: { readonly [ModelName in ModelsInNamespace<Definition, Ns>]: BuiltModels<Definition>[ModelName]; };
1348
- readonly valueObjects?: Record<string, ContractValueObject>;
1349
- readonly enum?: Record<string, ContractEnum>;
1350
- };
1697
+ } & (HoldsDefinitionEnums<Definition, Ns> extends true ? {
1698
+ readonly enum: EnumHandleEntries<DefinitionEnums<Definition>>;
1699
+ readonly enumMemberTypes?: EnumHandleMemberTypes<DefinitionEnums<Definition>>;
1700
+ } : Record<never, never>);
1351
1701
  type DefaultStorageNamespaceId<Definition> = DefinitionTarget<Definition> extends {
1352
1702
  readonly defaultNamespaceId: infer Id extends string;
1353
1703
  } ? Id : never;
@@ -1367,14 +1717,11 @@ type BuiltStorage<Definition> = {
1367
1717
  readonly kind: string;
1368
1718
  readonly entries: {
1369
1719
  readonly table: BuiltStorageTables<Definition, Ns>;
1370
- };
1720
+ } & (HoldsDefinitionEnums<Definition, Ns> extends true ? {
1721
+ readonly valueSet: EnumHandleValueSets<DefinitionEnums<Definition>>;
1722
+ } : Record<never, never>);
1371
1723
  }; };
1372
1724
  };
1373
- type StorageColumnManyOf<Col> = Col extends {
1374
- readonly many: infer Many extends false | {
1375
- readonly elementNullable: boolean;
1376
- };
1377
- } ? Many : false;
1378
1725
  type EnumValueUnion<FieldState> = [FieldTypeRefOf<FieldState>] extends [EnumTypeHandle<string, infer Values>] ? readonly unknown[] extends Values ? never : Values[number] : never;
1379
1726
  type DescriptorEntityMembers<Descriptor> = Descriptor extends {
1380
1727
  readonly entityRef: {
@@ -1384,29 +1731,48 @@ type DescriptorEntityMembers<Descriptor> = Descriptor extends {
1384
1731
  };
1385
1732
  } ? Members : never;
1386
1733
  type DescriptorValueSetUnion<FieldState> = [FieldDescriptorOf<FieldState>] extends [never] ? never : readonly string[] extends DescriptorEntityMembers<FieldDescriptorOf<FieldState>> ? never : DescriptorEntityMembers<FieldDescriptorOf<FieldState>>[number];
1387
- type CodecChannelType<Definition, ModelName extends ModelNames<Definition>, FieldName extends ModelFieldNames<Definition, ModelName>, Channel extends 'output' | 'input'> = ModelStorageColumn<Definition, ModelName, FieldName>['codecId'] extends (infer Id extends keyof CodecTypesFromDefinition<Definition>) ? CodecTypesFromDefinition<Definition>[Id] extends { readonly [K in Channel]: infer T; } ? StorageColumnManyOf<ModelStorageColumn<Definition, ModelName, FieldName>> extends (infer Many) ? Many extends {
1388
- readonly elementNullable: infer ElementNullable;
1389
- } ? ReadonlyArray<T | (ElementNullable extends true ? null : never)> : T : never : unknown : unknown;
1734
+ type FieldColumnTypeParams<Definition, FieldState> = ResolveFieldColumnTypeRef<Definition, FieldState> extends (infer TypeRef extends keyof DefinitionTypes<Definition>) ? DefinitionTypes<Definition>[TypeRef] extends {
1735
+ readonly typeParams: infer TypeParams extends Record<string, unknown>;
1736
+ } ? TypeParams : undefined : DescriptorTypeParams<FieldDescriptorOf<FieldState>>;
1737
+ type PackParameterizedOutputTypes<Pack> = Pack extends {
1738
+ readonly __parameterizedOutputTypes?: infer TypeFunction;
1739
+ } ? Present<TypeFunction> extends (infer Defined extends ParameterizedOutputTypesFunction) ? Defined : never : never;
1740
+ type ParameterizedOutputTypesFromDefinition<Definition> = { [K in keyof AllPacks<Definition>]: PackParameterizedOutputTypes<AllPacks<Definition>[K]>; }[keyof AllPacks<Definition>];
1741
+ type ColumnSpecCodecOutput<Descriptor> = Descriptor extends {
1742
+ readonly codecFactory: (...args: never[]) => infer Codec;
1743
+ } ? Codec extends {
1744
+ decode(...args: never[]): Promise<infer Output>;
1745
+ } ? Output : never : never;
1390
1746
  type FieldValueUnion<FieldState> = [EnumValueUnion<FieldState>] extends [never] ? DescriptorValueSetUnion<FieldState> : EnumValueUnion<FieldState>;
1391
- type FieldChannelType<Definition, ModelName extends ModelNames<Definition>, FieldName extends ModelFieldNames<Definition, ModelName>, Channel extends 'output' | 'input'> = ([FieldValueUnion<ModelFieldState<Definition, ModelName, FieldName>>] extends [never] ? CodecChannelType<Definition, ModelName, FieldName, Channel> : StorageColumnManyOf<ModelStorageColumn<Definition, ModelName, FieldName>> extends (infer Many) ? Many extends {
1392
- readonly elementNullable: infer ElementNullable;
1393
- } ? ReadonlyArray<FieldValueUnion<ModelFieldState<Definition, ModelName, FieldName>> | (ElementNullable extends true ? null : never)> : FieldValueUnion<ModelFieldState<Definition, ModelName, FieldName>> : never) | (FieldNullableOf<ModelFieldState<Definition, ModelName, FieldName>> extends true ? null : never);
1394
- type ModelFieldChannelTypes<Definition, ModelName extends ModelNames<Definition>, Channel extends 'output' | 'input'> = { readonly [FieldName in ModelFieldNames<Definition, ModelName>]: FieldChannelType<Definition, ModelName, FieldName, Channel>; };
1395
- type ClosedWhenEmpty<T> = [keyof T] extends [never] ? Record<string, never> : T;
1396
- type FieldChannelTypes<Definition, Channel extends 'output' | 'input'> = { readonly [Ns in DomainNamespaceIds<Definition>]: { readonly [ModelName in ModelsInNamespace<Definition, Ns>]: Channel extends 'input' ? ClosedWhenEmpty<ModelFieldChannelTypes<Definition, ModelName, Channel>> : ModelFieldChannelTypes<Definition, ModelName, Channel>; }; };
1397
- type StorageColumnChannelTypes<Definition, Channel extends 'output' | 'input'> = { readonly [Ns in StorageNamespaceIds<Definition>]: { readonly [ModelName in ModelsInNamespace<Definition, Ns> as BuiltModelTableName<Definition, ModelName>]: { readonly [FieldName in ModelFieldNames<Definition, ModelName> as BuiltModelColumnMappings<Definition, ModelName>[FieldName]['column']]: FieldChannelType<Definition, ModelName, FieldName, Channel>; }; }; };
1398
- type SqlContractResult<Definition> = ContractWithTypeMaps<Omit<Contract<BuiltStorage<Definition>>, 'domain'> & {
1747
+ type FieldTypeOverride<Definition, ModelName extends ModelNames<Definition>, FieldName extends ModelFieldNames<Definition, ModelName>> = ModelFieldState<Definition, ModelName, FieldName> extends (infer FieldState) ? [FieldValueUnion<FieldState>] extends [never] ? [ColumnSpecCodecOutput<FieldDescriptorOf<FieldState>>] extends [never] ? never : {
1748
+ readonly output: ColumnSpecCodecOutput<FieldDescriptorOf<FieldState>>;
1749
+ } : {
1750
+ readonly output: FieldValueUnion<FieldState>;
1751
+ readonly input: FieldValueUnion<FieldState>;
1752
+ } : never;
1753
+ type FieldTypeOverrides<Definition> = { readonly [Ns in DomainNamespaceIds<Definition>]: { readonly [ModelName in ModelsInNamespace<Definition, Ns>]: { readonly [FieldName in ModelFieldNames<Definition, ModelName>]: FieldTypeOverride<Definition, ModelName, FieldName>; }; }; };
1754
+ type ColumnTypeOverrides<Definition> = { readonly [Ns in StorageNamespaceIds<Definition>]: { readonly [ModelName in ModelsInNamespace<Definition, Ns> as BuiltModelTableName<Definition, ModelName>]: { readonly [FieldName in ModelFieldNames<Definition, ModelName> as BuiltModelColumnMappings<Definition, ModelName>[FieldName]['column']]: FieldTypeOverride<Definition, ModelName, FieldName>; }; }; };
1755
+ type ResolvedTypeMap<Map> = { readonly [Ns in keyof Map]: { readonly [Entity in keyof Map[Ns]]: string extends keyof Map[Ns][Entity] ? Map[Ns][Entity] : { readonly [Name in keyof Map[Ns][Entity]]: Map[Ns][Entity][Name]; }; }; };
1756
+ type BuiltDomainNamespaces<Definition> = { readonly [Ns in DomainNamespaceIds<Definition>]: BuiltDomainNamespace<Definition, Ns>; };
1757
+ type SqlContractResult<Definition> = ContractWithTypeMaps<Omit<Contract<BuiltStorage<Definition>>, 'domain' | 'execution'> & BuiltExecution<Definition> & {
1399
1758
  readonly target: DefinitionTargetId<Definition>;
1400
1759
  readonly targetFamily: 'sql';
1401
1760
  } & {
1402
1761
  readonly domain: {
1403
- readonly namespaces: { readonly [Ns in DomainNamespaceIds<Definition>]: BuiltDomainNamespace<Definition, Ns>; };
1762
+ readonly namespaces: BuiltDomainNamespaces<Definition>;
1404
1763
  } & BuiltDomain<Definition>;
1405
1764
  } & {
1406
- readonly extensions: keyof DefinitionExtensions<Definition> extends never ? Record<string, never> : DefinitionExtensions<Definition>;
1765
+ readonly extensions: DefinitionExtensions<Definition>;
1407
1766
  readonly capabilities: DerivedCapabilities<Definition>;
1408
- readonly enumAccessors: BuiltEnumAccessors<Definition>;
1409
- }, TypeMaps<CodecTypesFromDefinition<Definition>, Record<string, never>, FieldChannelTypes<Definition, 'output'>, FieldChannelTypes<Definition, 'input'>, StorageColumnChannelTypes<Definition, 'output'>, StorageColumnChannelTypes<Definition, 'input'>>>;
1767
+ }, {
1768
+ readonly codecTypes: CodecTypesFromDefinition<Definition>;
1769
+ readonly queryOperationTypes: QueryOperationTypesFromDefinition<Definition>;
1770
+ readonly fieldOutputTypes: ResolvedTypeMap<FieldTypesFromDomain<BuiltDomainNamespaces<Definition>, CodecTypesFromDefinition<Definition>, ParameterizedOutputTypesFromDefinition<Definition>, FieldTypeOverrides<Definition>, 'output'>>;
1771
+ readonly fieldInputTypes: ResolvedTypeMap<FieldTypesFromDomain<BuiltDomainNamespaces<Definition>, CodecTypesFromDefinition<Definition>, ParameterizedOutputTypesFromDefinition<Definition>, FieldTypeOverrides<Definition>, 'input'>>;
1772
+ readonly storageColumnTypes: ResolvedTypeMap<ColumnTypesFromStorage<BuiltStorage<Definition>, CodecTypesFromDefinition<Definition>, ParameterizedOutputTypesFromDefinition<Definition>, ColumnTypeOverrides<Definition>, 'output'>>;
1773
+ readonly storageColumnInputTypes: ResolvedTypeMap<ColumnTypesFromStorage<BuiltStorage<Definition>, CodecTypesFromDefinition<Definition>, ParameterizedOutputTypesFromDefinition<Definition>, ColumnTypeOverrides<Definition>, 'input'>>;
1774
+ readonly aggregateTypes: AggregateTypesFromDefinition<Definition>;
1775
+ }>;
1410
1776
  //#endregion
1411
1777
  //#region src/composed-authoring-helpers.d.ts
1412
1778
  type ExtractTypeNamespaceFromPack<Pack> = ExtractAuthoringNamespaceFromPack<Pack, 'type', Record<never, never>>;
@@ -1463,9 +1829,6 @@ declare function createComposedAuthoringHelpers<Family extends FamilyPackRef<str
1463
1829
  } & AuthoringTypeLookups): ComposedAuthoringHelpers<Family, Target, Extensions>;
1464
1830
  //#endregion
1465
1831
  //#region src/build-contract.d.ts
1466
- /**
1467
- * Builds the contract in two stages. First each model is converted on its own into the table it describes and its domain model, and each table node into the table it describes. Then the tables are merged, each is lowered, and the contract is assembled.
1468
- */
1469
1832
  declare function buildSqlContractFromDefinition(definition: ContractDefinition, codecLookup: CodecLookupWithDescriptors, dataTypeLookup: DataTypeLookup): Contract<SqlStorage>;
1470
1833
  //#endregion
1471
1834
  //#region src/contract-builder.d.ts
@@ -1580,5 +1943,5 @@ declare function now(): ColumnDefault;
1580
1943
  /** A database-assigned sequence value, the same default PSL writes as `@default(autoincrement())`. */
1581
1944
  declare function autoincrement(): ColumnDefault;
1582
1945
  //#endregion
1583
- export { field as $, ModelLike as A, ValueObjectFieldNode as B, ForeignKeyTableReference as C, IndexOptionsInput as D, IndexNode as E, ScalarMemberNode as F, buildBoundContract as G, ValueObjectNode as H, TableNode as I, check as J, buildContractDefinition as K, TableProperties as L, PrimaryKeyNode as M, RelationNode as N, ManyOptions as O, ScalarFieldBuilder as P, extensionModel as Q, TargetFieldRef as R, ForeignKeyNode as S, IndexExpressionInput as T, autoincrement as U, ValueObjectMemberNode as V, bindEnumType as W, defineContract as X, createComposedAuthoringHelpers as Y, enumType as Z, EnumMember as _, CheckNode as a, storedAsListColumn as at, FieldNode as b, ColumnNode as c, ContractDefinition as d, isValueObjectMember as et, ContractInput as f, DeferredIndexOptions as g, DeferredIndexExpression as h, BoundEnumType as i, rel as it, ModelNode as j, MergeEnums as k, ColumnRef as l, DeferredIndexColumn as m, AuthoredColumnDefault as n, model as nt, CodecInput$1 as o, ContractModelBuilder as p, buildSqlContractFromDefinition as q, AuthoredColumnDefaultLiteralValue as r, now as rt, CodecTypeMap$1 as s, AttachedEntities as t, member as tt, ComposedAuthoringHelpers as u, EnumTypeHandle as v, IndexConstraint as w, ForeignKeyModelReference as x, ExtractCodecTypesFromPack as y, UniqueConstraintNode as z };
1584
- //# sourceMappingURL=contract-builder-C4fgERNT.d.mts.map
1946
+ export { extensionModel as $, MergeEnums as A, UniqueConstraintNode as B, ForeignKeyTableReference as C, IndexOptionsFunction as D, IndexNode as E, ScalarFieldBuilder as F, bindEnumType as G, ValueObjectMemberNode as H, ScalarMemberNode as I, buildSqlContractFromDefinition as J, buildBoundContract as K, TableNode as L, ModelNode as M, PrimaryKeyNode as N, IndexOptionsInput as O, RelationNode as P, enumType as Q, TableProperties as R, ForeignKeyNode as S, IndexExpressionInput as T, ValueObjectNode as U, ValueObjectFieldNode as V, autoincrement as W, createComposedAuthoringHelpers as X, check as Y, defineContract as Z, EnumMember as _, CheckNode as a, rel as at, FieldNode as b, ColumnNode as c, ContractDefinition as d, field as et, ContractInput as f, DeferredIndexOptions as g, DeferredIndexExpression as h, BoundEnumType as i, now as it, ModelLike as j, ManyOptions as k, ColumnRef as l, DeferredIndexColumn as m, AuthoredColumnDefault as n, member as nt, CodecInput$1 as o, storedAsListColumn as ot, ContractModelBuilder as p, buildContractDefinition as q, AuthoredColumnDefaultLiteralValue as r, model as rt, CodecTypeMap$1 as s, AttachedEntities as t, isValueObjectMember as tt, ComposedAuthoringHelpers as u, EnumTypeHandle as v, IndexConstraint as w, ForeignKeyModelReference as x, ExtractCodecTypesFromPack as y, TargetFieldRef as z };
1947
+ //# sourceMappingURL=contract-builder-ClsLO9DI.d.mts.map