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

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 (281) hide show
  1. package/dist/{aggregate-descriptor-registry-DrJ1vHEo.mjs → aggregate-descriptor-registry-Dd7Uj7DJ.mjs} +3 -3
  2. package/dist/{aggregate-descriptor-registry-DrJ1vHEo.mjs.map → aggregate-descriptor-registry-Dd7Uj7DJ.mjs.map} +1 -1
  3. package/dist/{ast-BDwGvnKK.mjs → ast-CBO3PEJF.mjs} +73 -47
  4. package/dist/ast-CBO3PEJF.mjs.map +1 -0
  5. package/dist/{ast-BoM9T1b2.d.mts → ast-Dzsat0Zb.d.mts} +27 -26
  6. package/dist/ast-Dzsat0Zb.d.mts.map +1 -0
  7. package/dist/{attribute-specs-D7EhHD08.d.mts → attribute-specs-2I2xuKEa.d.mts} +4 -3
  8. package/dist/attribute-specs-2I2xuKEa.d.mts.map +1 -0
  9. package/dist/{authored-check-naming-CO3GA46Y.mjs → authored-check-naming-CIX7Bbyh.mjs} +3 -3
  10. package/dist/{authored-check-naming-CO3GA46Y.mjs.map → authored-check-naming-CIX7Bbyh.mjs.map} +1 -1
  11. package/dist/{authoring-entity-types-CZ-vdwYS-Cl5erH9X.d.mts → authoring-entity-types-CZ-vdwYS-BpyuSxbj.d.mts} +2 -2
  12. package/dist/{authoring-entity-types-CZ-vdwYS-Cl5erH9X.d.mts.map → authoring-entity-types-CZ-vdwYS-BpyuSxbj.d.mts.map} +1 -1
  13. package/dist/{authoring-type-constructors-0Iv2zdwS-yMnSyGBK.mjs → authoring-type-constructors-0Iv2zdwS-MFIpJ4fA.mjs} +2 -2
  14. package/dist/{authoring-type-constructors-0Iv2zdwS-yMnSyGBK.mjs.map → authoring-type-constructors-0Iv2zdwS-MFIpJ4fA.mjs.map} +1 -1
  15. package/dist/builder.d.mts +3 -3
  16. package/dist/builder__runtime.d.mts +7 -7
  17. package/dist/builder__runtime.mjs +2 -2
  18. package/dist/builder__types.d.mts +5 -5
  19. package/dist/{codec-descriptor-registry-Bg9OjQf_.mjs → codec-descriptor-registry-4kw8FPpo.mjs} +2 -2
  20. package/dist/{codec-descriptor-registry-Bg9OjQf_.mjs.map → codec-descriptor-registry-4kw8FPpo.mjs.map} +1 -1
  21. package/dist/{collection-methods-BnR4UjcW-C_55W2m0.d.mts → collection-methods-B-tM7OPZ-v8HK9Txa.d.mts} +3 -3
  22. package/dist/{collection-methods-BnR4UjcW-C_55W2m0.d.mts.map → collection-methods-B-tM7OPZ-v8HK9Txa.d.mts.map} +1 -1
  23. package/dist/collection-methods-DQAFcGEB.d.mts +1 -0
  24. package/dist/{config-types-ni1nb_HA.mjs → config-types-ComQZUlA.mjs} +2 -2
  25. package/dist/{config-types-ni1nb_HA.mjs.map → config-types-ComQZUlA.mjs.map} +1 -1
  26. package/dist/{contract-builder-CH0AIjsv.d.mts → contract-builder-De_fyZGT.d.mts} +6 -6
  27. package/dist/{contract-builder-CH0AIjsv.d.mts.map → contract-builder-De_fyZGT.d.mts.map} +1 -1
  28. package/dist/{contract-builder-CiYVj56_.mjs → contract-builder-fQ3gkIR5.mjs} +5 -5
  29. package/dist/{contract-builder-CiYVj56_.mjs.map → contract-builder-fQ3gkIR5.mjs.map} +1 -1
  30. package/dist/contract-emitter.mjs +1 -1
  31. package/dist/contract-prisma7__provider.d.mts +12 -6
  32. package/dist/contract-prisma7__provider.d.mts.map +1 -1
  33. package/dist/contract-prisma7__provider.mjs +48 -43
  34. package/dist/contract-prisma7__provider.mjs.map +1 -1
  35. package/dist/contract-psl.d.mts +2 -2
  36. package/dist/contract-psl.d.mts.map +1 -1
  37. package/dist/contract-psl.mjs +1 -1
  38. package/dist/contract-psl__attribute-specs.d.mts +1 -1
  39. package/dist/contract-psl__attribute-specs.mjs +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 +2 -2
  43. package/dist/contract-ts.mjs +4 -4
  44. package/dist/contract-ts__config-types.mjs +1 -1
  45. package/dist/contract-ts__contract-builder.d.mts +2 -2
  46. package/dist/contract-ts__contract-builder.mjs +3 -3
  47. package/dist/contract.d.mts +6 -6
  48. package/dist/contract.mjs +15 -15
  49. package/dist/contract__authored-check-naming.mjs +1 -1
  50. package/dist/contract__data-type-support.d.mts +2 -2
  51. package/dist/contract__data-type-support.mjs +2 -2
  52. package/dist/contract__data-type.d.mts +2 -2
  53. package/dist/contract__data-type.mjs +3 -3
  54. package/dist/contract__entity-kinds.mjs +1 -1
  55. package/dist/contract__factories.mjs +1 -1
  56. package/dist/contract__foreign-key-materialization.d.mts +1 -1
  57. package/dist/contract__foreign-key-materialization.mjs +2 -2
  58. package/dist/contract__index-naming.mjs +1 -1
  59. package/dist/contract__sql-expression.d.mts +2 -2
  60. package/dist/contract__sql-expression.mjs +2 -2
  61. package/dist/contract__types.mjs +3 -3
  62. package/dist/contract__validators.d.mts +1 -1
  63. package/dist/contract__validators.mjs +2 -2
  64. package/dist/{control-DXqMl_gd.mjs → control-ClahTAD-.mjs} +246 -40
  65. package/dist/control-ClahTAD-.mjs.map +1 -0
  66. package/dist/{control-adapter-CkFfBVei-DGf1LihO.d.mts → control-adapter-BCopdpsT-DIHCWbq_.d.mts} +9 -26
  67. package/dist/control-adapter-BCopdpsT-DIHCWbq_.d.mts.map +1 -0
  68. package/dist/control-adapter-BsSf5pqM.d.mts +1 -0
  69. package/dist/{control-CPg4LwJV.d.mts → control-mpACqp72.d.mts} +72 -39
  70. package/dist/control-mpACqp72.d.mts.map +1 -0
  71. package/dist/{data-type-CYsho6Yd.d.mts → data-type-B8N33s-_.d.mts} +14 -7
  72. package/dist/data-type-B8N33s-_.d.mts.map +1 -0
  73. package/dist/{numeral-text-Cqu87pVe-DJCqBaSC.mjs → data-type-DKk8Unnz.mjs} +2 -2
  74. package/dist/data-type-DKk8Unnz.mjs.map +1 -0
  75. package/dist/{data-type-support-CfhpAKLX.mjs → data-type-support-C5-XxxeB.mjs} +11 -24
  76. package/dist/data-type-support-C5-XxxeB.mjs.map +1 -0
  77. package/dist/{data-type-support-4TcZuD7d.d.mts → data-type-support-CBcYhSkD.d.mts} +12 -16
  78. package/dist/data-type-support-CBcYhSkD.d.mts.map +1 -0
  79. package/dist/{db-BmrN9nRS-CzyybGKR.d.mts → db-BmrN9nRS-xynLbnAy.d.mts} +10 -10
  80. package/dist/{db-BmrN9nRS-CzyybGKR.d.mts.map → db-BmrN9nRS-xynLbnAy.d.mts.map} +1 -1
  81. package/dist/{ddl-types-DtKZjNtN-DWQeO79o.d.mts → ddl-types-CoP6yAw9-BDp3W_5g.d.mts} +4 -4
  82. package/dist/{ddl-types-DtKZjNtN-DWQeO79o.d.mts.map → ddl-types-CoP6yAw9-BDp3W_5g.d.mts.map} +1 -1
  83. package/dist/{default-mapping-B8_APB1M-CWcTmSQW.d.mts → default-mapping-CEISdj2g-DF1LzGBR.d.mts} +7 -5
  84. package/dist/default-mapping-CEISdj2g-DF1LzGBR.d.mts.map +1 -0
  85. package/dist/{derived-checks-Cgx_VgS3-CmFqNFgU.mjs → derived-checks-CrvMQTJF-DlxFFtNM.mjs} +18 -18
  86. package/dist/derived-checks-CrvMQTJF-DlxFFtNM.mjs.map +1 -0
  87. package/dist/{diff-CVVGktZG.d.mts → diff-Bd9ILpZL.d.mts} +20 -7
  88. package/dist/diff-Bd9ILpZL.d.mts.map +1 -0
  89. package/dist/diff-DZ82XaGR.mjs +21 -0
  90. package/dist/diff-DZ82XaGR.mjs.map +1 -0
  91. package/dist/{dist-Cg2lL1hR.mjs → dist-DAHIT4AS.mjs} +2 -2
  92. package/dist/{dist-Cg2lL1hR.mjs.map → dist-DAHIT4AS.mjs.map} +1 -1
  93. package/dist/{entity-kinds-CQ_jwgYv-HA5t2SE0.mjs → entity-kinds-CQ_jwgYv-DoOBWwvX.mjs} +3 -3
  94. package/dist/{entity-kinds-CQ_jwgYv-HA5t2SE0.mjs.map → entity-kinds-CQ_jwgYv-DoOBWwvX.mjs.map} +1 -1
  95. package/dist/exports-DVsHk8HP-DrH_2a-H.mjs +2371 -0
  96. package/dist/exports-DVsHk8HP-DrH_2a-H.mjs.map +1 -0
  97. package/dist/{expression-Ck1wys3N-Cdc7eUQS.d.mts → expression-BzrfOiPC-3NqR8UzK.d.mts} +4 -4
  98. package/dist/{expression-Ck1wys3N-Cdc7eUQS.d.mts.map → expression-BzrfOiPC-3NqR8UzK.d.mts.map} +1 -1
  99. package/dist/expression-CeerCjQG.d.mts +2 -0
  100. package/dist/{expression-CNBCbbzU-DOXKUxQs.d.mts → expression-sOY1120I-DOykEQlw.d.mts} +4 -4
  101. package/dist/expression-sOY1120I-DOykEQlw.d.mts.map +1 -0
  102. package/dist/{factories-vDQ3S5gW.mjs → factories-DkD3nMYt.mjs} +3 -3
  103. package/dist/{factories-vDQ3S5gW.mjs.map → factories-DkD3nMYt.mjs.map} +1 -1
  104. package/dist/family.d.mts +14 -14
  105. package/dist/family.mjs +8 -8
  106. package/dist/family__control-adapter.d.mts +2 -2
  107. package/dist/family__control.d.mts +5 -5
  108. package/dist/family__control.mjs +4 -4
  109. package/dist/family__diff.d.mts +1 -2
  110. package/dist/family__diff.mjs +2 -2
  111. package/dist/family__ir.d.mts +1 -1
  112. package/dist/family__ir.mjs +1 -1
  113. package/dist/family__migration.d.mts +1 -1
  114. package/dist/family__pack.d.mts +1 -1
  115. package/dist/family__pack.mjs +2 -2
  116. package/dist/family__psl-build.d.mts +2 -2
  117. package/dist/family__psl-build.mjs +1 -1
  118. package/dist/family__psl-infer.d.mts +1 -1
  119. package/dist/family__psl-infer.mjs +1 -1
  120. package/dist/{foreign-key-materialization-DJ6uhBba.d.mts → foreign-key-materialization-DCaDnUs-.d.mts} +3 -3
  121. package/dist/{foreign-key-materialization-DJ6uhBba.d.mts.map → foreign-key-materialization-DCaDnUs-.d.mts.map} +1 -1
  122. package/dist/{foreign-key-materialization-DibQ9Hjg.mjs → foreign-key-materialization-DfNPQL9G.mjs} +4 -4
  123. package/dist/{foreign-key-materialization-DibQ9Hjg.mjs.map → foreign-key-materialization-DfNPQL9G.mjs.map} +1 -1
  124. package/dist/{functions-DSwXxsTg.d.mts → functions-Cp8soSAv.d.mts} +3 -3
  125. package/dist/{functions-DSwXxsTg.d.mts.map → functions-Cp8soSAv.d.mts.map} +1 -1
  126. package/dist/{index-C8jUgdUh.d.mts → index-BxlXOVeT.d.mts} +30 -23
  127. package/dist/{index-C8jUgdUh.d.mts.map → index-BxlXOVeT.d.mts.map} +1 -1
  128. package/dist/{index-equivalence-DswCiq5l-DlC2yTK1.mjs → index-equivalence-DswCiq5l-BsphajRC.mjs} +2 -2
  129. package/dist/{index-equivalence-DswCiq5l-DlC2yTK1.mjs.map → index-equivalence-DswCiq5l-BsphajRC.mjs.map} +1 -1
  130. package/dist/{index-naming-BOcJT1B3-CeEoP8t3.mjs → index-naming-BOcJT1B3-18gQUduD.mjs} +2 -2
  131. package/dist/{index-naming-BOcJT1B3-CeEoP8t3.mjs.map → index-naming-BOcJT1B3-18gQUduD.mjs.map} +1 -1
  132. package/dist/index-reference-CWppFpUV.d.mts +1 -0
  133. package/dist/{index-reference-DJX-CNsb-D5uoBnH_.d.mts → index-reference-DJaQLZA3-DxmYkkX-.d.mts} +3 -3
  134. package/dist/{index-reference-DJX-CNsb-D5uoBnH_.d.mts.map → index-reference-DJaQLZA3-DxmYkkX-.d.mts.map} +1 -1
  135. package/dist/{interpreter-CvmBTYyI-DNl-jr2E.mjs → interpreter-CFj2aTEP-BHL3TOqk.mjs} +13 -11
  136. package/dist/interpreter-CFj2aTEP-BHL3TOqk.mjs.map +1 -0
  137. package/dist/{ir-D0Vpm5O9.d.mts → ir-DgNo535E.d.mts} +4 -2
  138. package/dist/ir-DgNo535E.d.mts.map +1 -0
  139. package/dist/ir-I-xciGUH.mjs.map +1 -1
  140. package/dist/middleware-IqWk9Eff.d.mts +1 -0
  141. package/dist/{middleware-YsFLC19Y-5mJZCBWq.d.mts → middleware-oCT0RWkt-AFlRNCOD.d.mts} +3 -3
  142. package/dist/{middleware-YsFLC19Y-5mJZCBWq.d.mts.map → middleware-oCT0RWkt-AFlRNCOD.d.mts.map} +1 -1
  143. package/dist/{migration-ESRa6312.d.mts → migration-lg_VgP_F.d.mts} +2 -2
  144. package/dist/{migration-ESRa6312.d.mts.map → migration-lg_VgP_F.d.mts.map} +1 -1
  145. package/dist/{naming-CT8tRisJ-DLHKo0Hm.mjs → naming-bM5qm5PY-DdginUhA.mjs} +2 -2
  146. package/dist/{naming-CT8tRisJ-DLHKo0Hm.mjs.map → naming-bM5qm5PY-DdginUhA.mjs.map} +1 -1
  147. package/dist/{opaque-sql-BWxbqe5a-GGKfyakq.mjs → opaque-sql-Dset3kln-BzzXoO94.mjs} +3 -3
  148. package/dist/opaque-sql-Dset3kln-BzzXoO94.mjs.map +1 -0
  149. package/dist/orm-client.d.mts +28 -60
  150. package/dist/orm-client.d.mts.map +1 -1
  151. package/dist/orm-client.mjs +564 -233
  152. package/dist/orm-client.mjs.map +1 -1
  153. package/dist/{pack-BtGENS4_.d.mts → pack-CyjyMUN0.d.mts} +3 -3
  154. package/dist/{pack-BtGENS4_.d.mts.map → pack-CyjyMUN0.d.mts.map} +1 -1
  155. package/dist/plan-BZpZafiQ.d.mts +2 -0
  156. package/dist/{plan-cGEaSXHv-yuz43WrR.d.mts → plan-Cbed2eDu-BZM3geSm.d.mts} +3 -3
  157. package/dist/plan-Cbed2eDu-BZM3geSm.d.mts.map +1 -0
  158. package/dist/{psl-build-PXVtl8gM.d.mts → psl-build-BHQfP1_C.d.mts} +5 -5
  159. package/dist/{psl-build-PXVtl8gM.d.mts.map → psl-build-BHQfP1_C.d.mts.map} +1 -1
  160. package/dist/{psl-build-8bx9WTUt.mjs → psl-build-BsJ6eChh.mjs} +118 -84
  161. package/dist/psl-build-BsJ6eChh.mjs.map +1 -0
  162. package/dist/{psl-column-resolution-BCkhNzOK-Bbrs_WzK.d.mts → psl-column-resolution-BCkhNzOK-mW_8C9vr.d.mts} +2 -2
  163. package/dist/{psl-column-resolution-BCkhNzOK-Bbrs_WzK.d.mts.map → psl-column-resolution-BCkhNzOK-mW_8C9vr.d.mts.map} +1 -1
  164. package/dist/{psl-field-resolution-SPNDr-jr-CH_gs3Oy.mjs → psl-field-resolution-o9sXqIlE-BJnlxQ4z.mjs} +76 -66
  165. package/dist/psl-field-resolution-o9sXqIlE-BJnlxQ4z.mjs.map +1 -0
  166. package/dist/{psl-infer-g040TwAr.d.mts → psl-infer-B6iemK9i.d.mts} +4 -4
  167. package/dist/{psl-infer-g040TwAr.d.mts.map → psl-infer-B6iemK9i.d.mts.map} +1 -1
  168. package/dist/{psl-infer-CG0_wra6.mjs → psl-infer-HPi_YMeE.mjs} +2 -2
  169. package/dist/{psl-infer-CG0_wra6.mjs.map → psl-infer-HPi_YMeE.mjs.map} +1 -1
  170. package/dist/{query-lane-context-C42-u9L1-BSJoP83K.d.mts → query-lane-context-BLOPW1rQ-Bn3ugl9a.d.mts} +5 -5
  171. package/dist/{query-lane-context-C42-u9L1-BSJoP83K.d.mts.map → query-lane-context-BLOPW1rQ-Bn3ugl9a.d.mts.map} +1 -1
  172. package/dist/query-lane-context-Dpep1Fzy.d.mts +1 -0
  173. package/dist/relational-core.d.mts +12 -12
  174. package/dist/relational-core.mjs +2 -2
  175. package/dist/relational-core__aggregate-descriptor-registry.d.mts +1 -1
  176. package/dist/relational-core__aggregate-descriptor-registry.mjs +1 -1
  177. package/dist/relational-core__ast.d.mts +3 -3
  178. package/dist/relational-core__ast.mjs +2 -2
  179. package/dist/relational-core__codec-descriptor-registry.d.mts +2 -2
  180. package/dist/relational-core__codec-descriptor-registry.mjs +1 -1
  181. package/dist/relational-core__collection-methods.d.mts +2 -2
  182. package/dist/relational-core__contract-free.d.mts +3 -3
  183. package/dist/relational-core__contract-free.mjs +2 -2
  184. package/dist/relational-core__contract-free.mjs.map +1 -1
  185. package/dist/relational-core__expression.d.mts +3 -3
  186. package/dist/relational-core__functions.d.mts +1 -1
  187. package/dist/relational-core__index-reference.d.mts +2 -2
  188. package/dist/relational-core__middleware.d.mts +2 -2
  189. package/dist/relational-core__plan.d.mts +3 -3
  190. package/dist/relational-core__query-lane-context.d.mts +2 -2
  191. package/dist/relational-core__types.d.mts +2 -2
  192. package/dist/runtime.d.mts +5 -5
  193. package/dist/runtime.mjs +1 -2289
  194. package/dist/runtime__internal__prepared-query.d.mts +1 -1
  195. package/dist/{schema-differ-CqWOkoW9-uVU2SdFf.d.mts → schema-differ-DmP74bB8-BGA6fzOv.d.mts} +4 -4
  196. package/dist/{schema-differ-CqWOkoW9-uVU2SdFf.d.mts.map → schema-differ-DmP74bB8-BGA6fzOv.d.mts.map} +1 -1
  197. package/dist/schema-ir.d.mts +2 -2
  198. package/dist/schema-ir.mjs +2 -2
  199. package/dist/schema-ir__naming.mjs +1 -1
  200. package/dist/schema-ir__types.d.mts +3 -3
  201. package/dist/schema-ir__types.mjs +2 -2
  202. package/dist/{schema-verify-DIfHSB4I-wt28gB9e.mjs → schema-verify-BwRdzbHb-B9vFrm3T.mjs} +22 -6
  203. package/dist/schema-verify-BwRdzbHb-B9vFrm3T.mjs.map +1 -0
  204. package/dist/{serialized-index-52COq1yV-D8zJP-Xl.mjs → serialized-index-52COq1yV-CUJ2F65u.mjs} +3 -3
  205. package/dist/{serialized-index-52COq1yV-D8zJP-Xl.mjs.map → serialized-index-52COq1yV-CUJ2F65u.mjs.map} +1 -1
  206. package/dist/{sql-contract-serializer-DDaAVCQr-Ba3XOCG6.mjs → sql-contract-serializer-sMY3prTx-C8IEwSsf.mjs} +12 -7
  207. package/dist/sql-contract-serializer-sMY3prTx-C8IEwSsf.mjs.map +1 -0
  208. package/dist/{data-type-DU0mtme5.mjs → sql-data-type-Dabuwxet-BljsNjBu.mjs} +32 -13
  209. package/dist/sql-data-type-Dabuwxet-BljsNjBu.mjs.map +1 -0
  210. package/dist/{sql-execution-plan-C7XauPPu-BgBp89vP.d.mts → sql-execution-plan-Dam5yMZg-Bc_eneSz.d.mts} +3 -3
  211. package/dist/sql-execution-plan-Dam5yMZg-Bc_eneSz.d.mts.map +1 -0
  212. package/dist/{sql-expression-BWrjmY6M.d.mts → sql-expression-BAtH-2UU.d.mts} +6 -6
  213. package/dist/sql-expression-BAtH-2UU.d.mts.map +1 -0
  214. package/dist/{sql-expression-DSRILiU2.mjs → sql-expression-BJCuy-WI.mjs} +15 -9
  215. package/dist/sql-expression-BJCuy-WI.mjs.map +1 -0
  216. package/dist/{storage-table-DN36E2yE-Bm5eKeGw.mjs → storage-table-DN36E2yE-0ncS821l.mjs} +2 -2
  217. package/dist/{storage-table-DN36E2yE-Bm5eKeGw.mjs.map → storage-table-DN36E2yE-0ncS821l.mjs.map} +1 -1
  218. package/dist/{transaction-state-DR3nKTmH-D5eFB250.d.mts → transaction-state-DR3nKTmH-n_12DsnU.d.mts} +9 -9
  219. package/dist/{transaction-state-DR3nKTmH-D5eFB250.d.mts.map → transaction-state-DR3nKTmH-n_12DsnU.d.mts.map} +1 -1
  220. package/dist/types-BLyhYk6B.d.mts +1 -0
  221. package/dist/{types-DvhckjSz-Cm0Oodhr.mjs → types-CaVn_xxe-D9WdU3Iy.mjs} +81 -157
  222. package/dist/types-CaVn_xxe-D9WdU3Iy.mjs.map +1 -0
  223. package/dist/{types-Cl4MLNrS-BXDsTb9U.d.mts → types-Cv5t6_Ly-CcBWTpfM.d.mts} +6 -6
  224. package/dist/{types-Cl4MLNrS-BXDsTb9U.d.mts.map → types-Cv5t6_Ly-CcBWTpfM.d.mts.map} +1 -1
  225. package/dist/{types-Sh5HuaZE-BwZNUDEi.d.mts → types-DVaVM20q-B-QcMIOa.d.mts} +9 -20
  226. package/dist/types-DVaVM20q-B-QcMIOa.d.mts.map +1 -0
  227. package/dist/{types-CzxOObSY-Cq3t_HCe.d.mts → types-DaYtBAYT-B22gkh5z.d.mts} +5 -5
  228. package/dist/{types-CzxOObSY-Cq3t_HCe.d.mts.map → types-DaYtBAYT-B22gkh5z.d.mts.map} +1 -1
  229. package/dist/{types-GS3fwvoX.mjs → types-M_FeBD9w.mjs} +2 -2
  230. package/dist/{types-GS3fwvoX.mjs.map → types-M_FeBD9w.mjs.map} +1 -1
  231. package/dist/types-_7TbRpPw.d.mts +1 -0
  232. package/dist/{types-C-z8HyiZ-1Nhw0pHj.d.mts → types-c1iIhJep-DdMj6TNl.d.mts} +49 -51
  233. package/dist/types-c1iIhJep-DdMj6TNl.d.mts.map +1 -0
  234. package/dist/{validators-DlpO67uZ.mjs → validators-Bvfk0aN7.mjs} +14 -11
  235. package/dist/validators-Bvfk0aN7.mjs.map +1 -0
  236. package/dist/{validators-R-Wsy5Rr.d.mts → validators-CTZ-hU2l.d.mts} +4 -1
  237. package/dist/validators-CTZ-hU2l.d.mts.map +1 -0
  238. package/package.json +18 -18
  239. package/dist/ast-BDwGvnKK.mjs.map +0 -1
  240. package/dist/ast-BoM9T1b2.d.mts.map +0 -1
  241. package/dist/attribute-specs-D7EhHD08.d.mts.map +0 -1
  242. package/dist/collection-methods-CyUXbXVw.d.mts +0 -1
  243. package/dist/control-CPg4LwJV.d.mts.map +0 -1
  244. package/dist/control-DXqMl_gd.mjs.map +0 -1
  245. package/dist/control-adapter-CkFfBVei-DGf1LihO.d.mts.map +0 -1
  246. package/dist/control-adapter-DDjgBMy3.d.mts +0 -1
  247. package/dist/data-type-CYsho6Yd.d.mts.map +0 -1
  248. package/dist/data-type-DU0mtme5.mjs.map +0 -1
  249. package/dist/data-type-support-4TcZuD7d.d.mts.map +0 -1
  250. package/dist/data-type-support-CfhpAKLX.mjs.map +0 -1
  251. package/dist/default-mapping-B8_APB1M-CWcTmSQW.d.mts.map +0 -1
  252. package/dist/derived-checks-Cgx_VgS3-CmFqNFgU.mjs.map +0 -1
  253. package/dist/diff-B16bL_IR.mjs +0 -13
  254. package/dist/diff-B16bL_IR.mjs.map +0 -1
  255. package/dist/diff-CVVGktZG.d.mts.map +0 -1
  256. package/dist/expression-CNBCbbzU-DOXKUxQs.d.mts.map +0 -1
  257. package/dist/expression-DUYovBa6.d.mts +0 -2
  258. package/dist/index-reference-DGQdSRjQ.d.mts +0 -1
  259. package/dist/interpreter-CvmBTYyI-DNl-jr2E.mjs.map +0 -1
  260. package/dist/ir-D0Vpm5O9.d.mts.map +0 -1
  261. package/dist/middleware-Bp-R5o9E.d.mts +0 -1
  262. package/dist/numeral-text-Cqu87pVe-DJCqBaSC.mjs.map +0 -1
  263. package/dist/opaque-sql-BWxbqe5a-GGKfyakq.mjs.map +0 -1
  264. package/dist/plan-DdpaNNu1.d.mts +0 -2
  265. package/dist/plan-cGEaSXHv-yuz43WrR.d.mts.map +0 -1
  266. package/dist/psl-build-8bx9WTUt.mjs.map +0 -1
  267. package/dist/psl-field-resolution-SPNDr-jr-CH_gs3Oy.mjs.map +0 -1
  268. package/dist/query-lane-context-C4xq68Mr.d.mts +0 -1
  269. package/dist/runtime.mjs.map +0 -1
  270. package/dist/schema-verify-DIfHSB4I-wt28gB9e.mjs.map +0 -1
  271. package/dist/sql-contract-serializer-DDaAVCQr-Ba3XOCG6.mjs.map +0 -1
  272. package/dist/sql-execution-plan-C7XauPPu-BgBp89vP.d.mts.map +0 -1
  273. package/dist/sql-expression-BWrjmY6M.d.mts.map +0 -1
  274. package/dist/sql-expression-DSRILiU2.mjs.map +0 -1
  275. package/dist/types-BSBsW0qR.d.mts +0 -1
  276. package/dist/types-C-z8HyiZ-1Nhw0pHj.d.mts.map +0 -1
  277. package/dist/types-CJK7FBdw.d.mts +0 -1
  278. package/dist/types-DvhckjSz-Cm0Oodhr.mjs.map +0 -1
  279. package/dist/types-Sh5HuaZE-BwZNUDEi.d.mts.map +0 -1
  280. package/dist/validators-DlpO67uZ.mjs.map +0 -1
  281. package/dist/validators-R-Wsy5Rr.d.mts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-DvhckjSz-Cm0Oodhr.mjs","names":[],"sources":["../../../../2-sql/1-core/schema-ir/dist/types-DvhckjSz.mjs"],"sourcesContent":["import { f as normalizeIndexOptionValue, l as nameOf } from \"./naming-CT8tRisJ.mjs\";\nimport { isStructuredError } from \"@internal/utils/structured-error\";\nimport { IRNodeBase, freezeNode } from \"@internal/framework-components/ir\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { canonicalStringify } from \"@internal/utils/canonical-stringify\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { isArrayEqual } from \"@internal/utils/array-equal\";\n//#region src/ir/default-in-canonical-form.ts\n/**\n* A literal default in the canonical form of the column's values (ADR 254), element by element for\n* a list column. A `Date` is read as its ISO text first. A value the form refuses is kept as it is,\n* with the form's message.\n*/\nfunction defaultInCanonicalForm(value, toCanonicalForm, list) {\n\tif (toCanonicalForm === void 0) return {\n\t\tvalue,\n\t\trefusal: void 0\n\t};\n\tif (list && Array.isArray(value)) {\n\t\tconst elements = value.map((element) => inCanonicalForm(element, toCanonicalForm));\n\t\treturn {\n\t\t\tvalue: elements.map((element) => element.value),\n\t\t\trefusal: elements.find((element) => element.refusal !== void 0)?.refusal\n\t\t};\n\t}\n\tconst canonical = inCanonicalForm(value instanceof Date ? value.toISOString() : value, toCanonicalForm);\n\treturn canonical.refusal === void 0 ? canonical : {\n\t\tvalue,\n\t\trefusal: canonical.refusal\n\t};\n}\nfunction inCanonicalForm(value, toCanonicalForm) {\n\tif (value === null) return {\n\t\tvalue,\n\t\trefusal: void 0\n\t};\n\ttry {\n\t\treturn {\n\t\t\tvalue: toCanonicalForm(value),\n\t\t\trefusal: void 0\n\t\t};\n\t} catch (error) {\n\t\tif (isStructuredError(error) && error.code === \"CONTRACT.CAST_REFUSED\") return {\n\t\t\tvalue,\n\t\t\trefusal: error.message\n\t\t};\n\t\tthrow error;\n\t}\n}\n/**\n* The refusal of a contract's literal default that the canonical form of its column's values does\n* not take, which a contract emitted by an earlier version can carry, with what to do about it.\n*/\nfunction contractDefaultRefusal(columnDefault, toCanonicalForm, list) {\n\tif (columnDefault?.kind !== \"literal\") return void 0;\n\tconst { refusal } = defaultInCanonicalForm(columnDefault.value, toCanonicalForm, list);\n\treturn refusal === void 0 ? void 0 : `The contract holds this default in a form its data type does not store: ${refusal} Re-emit the contract, then try again.`;\n}\n//#endregion\n//#region src/ir/schema-node-kinds.ts\n/**\n* The `nodeKind` discriminant for each relational schema-diff leaf node.\n* Each node carries a unique value; the differ pairs siblings by `id`, and\n* these kinds distinguish the node types that appear as `PostgresTableSchemaNode`\n* children (columns, primary key, foreign keys, uniques, indexes, checks) from\n* each other and from the RLS policy/role kinds a target defines separately.\n*/\nconst RelationalSchemaNodeKind = {\n\tschema: \"sql-schema\",\n\ttable: \"sql-table\",\n\tcolumn: \"sql-column\",\n\tcolumnDefault: \"sql-column-default\",\n\tprimaryKey: \"sql-primary-key\",\n\tforeignKey: \"sql-foreign-key\",\n\tunique: \"sql-unique\",\n\tindex: \"sql-index\",\n\tcheck: \"sql-check-constraint\"\n};\n/**\n* The one real map from a relational `nodeKind` to the framework-neutral\n* {@link DiffSubjectGranularity} its diff issues carry — the SQL family's\n* post-diff filters (issue category, strict-mode gating) and the framework\n* aggregate's unclaimed-elements sweep key on the granularity, never on the\n* `nodeKind` spelling and never on anything stamped on the node. Resolution\n* is by `nodeKind` equality against this map, not a suffix string match.\n* Target-specific node kinds (Postgres namespace/table/policy/role) are\n* outside this family layer's vocabulary and map their own kinds directly.\n*/\nconst RELATIONAL_NODE_GRANULARITY = {\n\t[RelationalSchemaNodeKind.schema]: \"structural\",\n\t[RelationalSchemaNodeKind.table]: \"entity\",\n\t[RelationalSchemaNodeKind.column]: \"field\",\n\t[RelationalSchemaNodeKind.columnDefault]: \"auxiliary\",\n\t[RelationalSchemaNodeKind.primaryKey]: \"auxiliary\",\n\t[RelationalSchemaNodeKind.foreignKey]: \"auxiliary\",\n\t[RelationalSchemaNodeKind.unique]: \"auxiliary\",\n\t[RelationalSchemaNodeKind.index]: \"auxiliary\",\n\t[RelationalSchemaNodeKind.check]: \"auxiliary\"\n};\nfunction isRelationalSchemaNodeKind(nodeKind) {\n\treturn Object.hasOwn(RELATIONAL_NODE_GRANULARITY, nodeKind);\n}\n/**\n* Looks up the subject granularity for a relational `nodeKind`. Throws for a\n* `nodeKind` outside this map (a target-specific kind, e.g. Postgres's\n* namespace/table/policy/role) — those map their own kinds directly rather\n* than through this family-level map.\n*/\nfunction relationalNodeGranularity(nodeKind) {\n\tif (!isRelationalSchemaNodeKind(nodeKind)) throw new InternalError(`relationalNodeGranularity: unrecognized relational node kind \"${nodeKind}\"`);\n\treturn RELATIONAL_NODE_GRANULARITY[nodeKind];\n}\n/**\n* The one real map from a relational `nodeKind` to its storage `entityKind`\n* — the same vocabulary the contract storage's `entries` dictionary keys use\n* (`elementCoordinates` walks it). Only the whole-table kind has an entity of\n* its own; every other relational node (a column, an index, …) is nested\n* under one and maps to nothing here.\n*/\nconst RELATIONAL_NODE_ENTITY_KIND = { [RelationalSchemaNodeKind.table]: \"table\" };\n/**\n* Looks up the storage `entityKind` for a relational `nodeKind` — sibling of\n* {@link relationalNodeGranularity}, resolved by `nodeKind` equality against\n* {@link RELATIONAL_NODE_ENTITY_KIND}. `undefined` for a target-specific kind\n* (targets map their own kinds directly) or a relational kind with no entity\n* of its own.\n*/\nfunction relationalNodeEntityKind(nodeKind) {\n\treturn isRelationalSchemaNodeKind(nodeKind) ? RELATIONAL_NODE_ENTITY_KIND[nodeKind] : void 0;\n}\n//#endregion\n//#region src/ir/sql-schema-ir-node.ts\n/**\n* SQL Schema IR node base. Carries the family-level\n* `kind = 'sql-schema-ir'` discriminator and inherits the framework's\n* `freezeNode` affordance.\n*\n* SQL Schema IR represents the actual database state as discovered by\n* introspection (the parallel to SQL Contract IR, which represents the\n* desired state).\n*\n* The discriminator is installed as a non-enumerable own property,\n* matching the SqlNode pattern. This keeps `JSON.stringify(node)`\n* canonical (no `kind` field), keeps `toEqual({...})` test assertions\n* against pre-lift flat shapes passing, and keeps `node.kind` readable\n* for dispatch.\n*\n* Both `kind` and `nodeKind` are required: every concrete leaf is a node\n* the generic differ can pair and compare, so every leaf must declare which\n* node it is. `nodeKind` has no default here — every direct subclass sets its\n* own literal value (the relational leaves via `RelationalSchemaNodeKind`,\n* target concretions via their own vocabulary, e.g. `PostgresSchemaNodeKind`).\n*/\nvar SqlSchemaIRNode = class extends IRNodeBase {\n\tconstructor() {\n\t\tsuper();\n\t\tObject.defineProperty(this, \"kind\", {\n\t\t\tvalue: \"sql-schema-ir\",\n\t\t\twritable: false,\n\t\t\tenumerable: false,\n\t\t\tconfigurable: false\n\t\t});\n\t}\n};\n/**\n* Asserts `node` matches `predicate`, narrowing its type to `T`. The one\n* shared implementation every node class's `static assert` and `isEqualTo`\n* reach for, instead of each hand-writing its own throw: the message names\n* the class the caller expected.\n*/\nfunction assertNode(node, className, predicate) {\n\tif (node === void 0 || !predicate(node)) throw new InternalError(`Expected a ${className} but got nodeKind=${node?.nodeKind ?? \"undefined\"}`);\n}\n/**\n* Defines a non-enumerable own property, the same treatment `kind` gets\n* above: a derivation-time render-support field stays out of\n* `JSON.stringify`, `toEqual({...})` structural assertions, and spreads,\n* while remaining directly readable (`node.field`) for the one consumer\n* that resolves it at plan time. A no-op when `value` is `undefined` — the\n* property is simply absent, matching every other optional field on these\n* nodes.\n*/\nfunction defineNonEnumerable(target, key, value) {\n\tif (value === void 0) return;\n\tObject.defineProperty(target, key, {\n\t\tvalue,\n\t\tenumerable: false,\n\t\twritable: false,\n\t\tconfigurable: false\n\t});\n}\n//#endregion\n//#region src/ir/primary-key.ts\n/**\n* Primary-key Schema IR node. Mirrors the Contract IR `PrimaryKey`\n* shape (same `columns` + optional `name`) so verification can compare\n* intent and actual structurally. Defined here independently to avoid\n* a sql-schema-ir -> sql-contract dependency.\n*\n* Implements `DiffableNode` so a primary key is directly a table's diff-tree\n* child. `id` is a fixed sentinel — a table has at most one primary key, so\n* there is never a sibling to disambiguate against. `isEqualTo` compares the\n* column tuple; the PK's own `name` is a database-assigned label with no\n* semantic weight, so it is not compared (mirrors the policy node's\n* name-insensitivity to non-identifying detail).\n*/\nvar PrimaryKey = class PrimaryKey extends SqlSchemaIRNode {\n\tnodeKind = RelationalSchemaNodeKind.primaryKey;\n\tcolumns;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.columns = input.columns;\n\t\tif (input.name !== void 0) this.name = input.name;\n\t\tdefineNonEnumerable(this, \"dependsOn\", input.dependsOn);\n\t\tfreezeNode(this);\n\t}\n\tget id() {\n\t\treturn \"primary-key\";\n\t}\n\tchildren() {\n\t\treturn [];\n\t}\n\tstatic from(value) {\n\t\treturn value instanceof PrimaryKey ? value : new PrimaryKey(value);\n\t}\n\tstatic is(node) {\n\t\treturn node.nodeKind === RelationalSchemaNodeKind.primaryKey;\n\t}\n\tisEqualTo(other) {\n\t\tconst node = blindCast(other);\n\t\tassertNode(node, \"PrimaryKey\", PrimaryKey.is);\n\t\treturn this.columns.length === node.columns.length && this.columns.every((c, i) => c === node.columns[i]);\n\t}\n};\n//#endregion\n//#region src/ir/sql-check-constraint-ir.ts\n/**\n* Schema IR node for a table-level check constraint, carried as an opaque\n* predicate. The expression is never parsed — a database reprints predicates\n* in its own normalized form, so any structured reading of it would drift.\n*\n* Implements `DiffableNode` so a check is directly a table's diff-tree child;\n* `id` is `check:<name>`. `isEqualTo` is mode-selected by the receiver's\n* `prefix` (the differ always calls `expected.isEqualTo(actual)`): a\n* wire-named receiver compares ids only — the wire name's hash already\n* commits to the predicate — while an exact-named receiver byte-compares the\n* expression, which is reliable precisely when both sides came from the same\n* reprint.\n*/\nvar SqlCheckConstraintIR = class SqlCheckConstraintIR extends SqlSchemaIRNode {\n\tnodeKind = RelationalSchemaNodeKind.check;\n\tname;\n\texpression;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.name = nameOf(input.naming);\n\t\tif (input.naming.kind === \"wire\") this.prefix = input.naming.prefix;\n\t\tthis.expression = input.expression;\n\t\tdefineNonEnumerable(this, \"dependsOn\", input.dependsOn);\n\t\tfreezeNode(this);\n\t}\n\tget id() {\n\t\treturn `check:${this.name}`;\n\t}\n\tchildren() {\n\t\treturn [];\n\t}\n\tstatic from(value) {\n\t\treturn value instanceof SqlCheckConstraintIR ? value : new SqlCheckConstraintIR(value);\n\t}\n\tstatic is(node) {\n\t\treturn node.nodeKind === RelationalSchemaNodeKind.check;\n\t}\n\tisEqualTo(other) {\n\t\tconst node = blindCast(other);\n\t\tassertNode(node, \"SqlCheckConstraintIR\", SqlCheckConstraintIR.is);\n\t\tif (this.prefix !== void 0) return this.id === node.id;\n\t\treturn this.expression === node.expression;\n\t}\n};\n//#endregion\n//#region src/ir/resolved-default-equality.ts\n/**\n* Structural equality for two resolved column defaults, ported from the relational walk's\n* `columnDefaultsEqual` normalized branch: kinds must match; literal values are normalized (a\n* value of a type with a canonical form, such as a date or time type or a 64-bit integer type, to\n* that form through `toCanonicalForm`; a numeric native type's number to its decimal text, and when the type has\n* a modifier, its decimal text to its digits without zeros that do not change the value; a list\n* element by element under its element type) then compared canonically (JSON objects match their\n* canonical string form); function expressions compare case- and whitespace-insensitively.\n*\n* `nativeType` provides the normalization context (the actual side's resolved native type in a diff\n* comparison). `toCanonicalForm` is the canonical form of the column's values (ADR 254), from\n* `canonicalFormOf`; a value it refuses compares as it is. A target that reads a raw\n* expression as a literal does so before this comparison, through its `resolveDefault` hook.\n*/\nfunction resolvedDefaultsEqual(expected, actual, nativeType, toCanonicalForm) {\n\tif (expected.kind !== actual.kind) return false;\n\tif (expected.kind === \"literal\" && actual.kind === \"literal\") return literalValuesEqual(normalizeLiteralValue(expected.value, nativeType, toCanonicalForm), normalizeLiteralValue(actual.value, nativeType, toCanonicalForm));\n\tif (expected.kind === \"function\" && actual.kind === \"function\") return normalizeFunctionExpression(expected.expression) === normalizeFunctionExpression(actual.expression);\n\treturn false;\n}\nfunction normalizeFunctionExpression(expression) {\n\treturn expression.toLowerCase().replace(/\\s+/g, \"\");\n}\n/**\n* A numeric type with a modifier (`numeric(10,2)`, or `numeric(5,-2)` with the negative scale\n* PostgreSQL 15 and later accept) stores every value at its scale, so zeros that do not change the\n* value do not count. Without one, the value keeps the scale it was written with.\n*/\nconst DECIMAL_NATIVE_TYPE = /^(?:numeric|decimal)(\\(\\d+(?:,\\s*-?\\d+)?\\))?$/i;\nconst DECIMAL_NUMERAL = /^(-?)(\\d+)(?:\\.(\\d+))?$/;\nconst EXPONENT_NUMERAL = /^(-?)(\\d+)(?:\\.(\\d+))?[eE]([+-]?\\d+)$/;\n/**\n* The plain decimal spelling of a value, so that a number JavaScript prints as `1e-7` or `1e+21`\n* can be compared with the decimal text a numeric column stores. No digit is added or dropped;\n* only the decimal point moves.\n*/\nfunction decimalText(value) {\n\tconst text = String(value);\n\tconst numeral = EXPONENT_NUMERAL.exec(text);\n\tif (numeral === null) return text;\n\tconst [, sign = \"\", whole = \"\", fraction = \"\", exponent = \"0\"] = numeral;\n\tconst digits = `${whole}${fraction}`;\n\tconst point = whole.length + Number(exponent);\n\tif (point <= 0) return `${sign}0.${\"0\".repeat(-point)}${digits}`;\n\tif (point >= digits.length) return `${sign}${digits}${\"0\".repeat(point - digits.length)}`;\n\treturn `${sign}${digits.slice(0, point)}.${digits.slice(point)}`;\n}\nfunction decimalDigits(value) {\n\tconst numeral = DECIMAL_NUMERAL.exec(decimalText(value));\n\tif (numeral === null) return value;\n\tconst whole = (numeral[2] ?? \"\").replace(/^0+(?=\\d)/, \"\");\n\tconst fraction = (numeral[3] ?? \"\").replace(/0+$/, \"\");\n\tconst digits = fraction === \"\" ? whole : `${whole}.${fraction}`;\n\treturn digits === \"0\" ? digits : `${numeral[1] ?? \"\"}${digits}`;\n}\nfunction normalizeLiteralValue(value, nativeType, toCanonicalForm) {\n\tif (Array.isArray(value) && nativeType?.endsWith(\"[]\")) {\n\t\tconst elementType = nativeType.slice(0, -2);\n\t\treturn value.map((element) => normalizeLiteralValue(element, elementType, toCanonicalForm));\n\t}\n\tconst json = value instanceof Date ? value.toISOString() : value;\n\tif (toCanonicalForm !== void 0) return defaultInCanonicalForm(json, toCanonicalForm, false).value;\n\tif (value instanceof Date) return json;\n\tconst decimalType = nativeType === void 0 ? null : DECIMAL_NATIVE_TYPE.exec(nativeType);\n\tif ((typeof value === \"number\" || typeof value === \"string\") && decimalType !== null) return decimalType[1] === void 0 ? decimalText(value) : decimalDigits(value);\n\treturn value;\n}\nfunction literalValuesEqual(a, b) {\n\tif (a === b) return true;\n\tif (typeof a === \"object\" && a !== null && typeof b === \"object\" && b !== null) return canonicalStringify(a) === canonicalStringify(b);\n\tif (typeof a === \"object\" && a !== null && typeof b === \"string\") try {\n\t\treturn canonicalStringify(a) === canonicalStringify(JSON.parse(b));\n\t} catch {\n\t\treturn false;\n\t}\n\tif (typeof a === \"string\" && typeof b === \"object\" && b !== null) try {\n\t\treturn canonicalStringify(JSON.parse(a)) === canonicalStringify(b);\n\t} catch {\n\t\treturn false;\n\t}\n\treturn false;\n}\n//#endregion\n//#region src/ir/sql-column-default-ir.ts\n/**\n* Schema-diff node for a column's default value. The default is the one\n* column attribute with an extra/missing/drift lifecycle of its own, so it\n* is a child node of the column rather than a compared attribute: an\n* undeclared live default surfaces as `not-expected`, a declared default the\n* database lacks as `not-found`, and a divergent value as `not-equal` — the\n* three reasons cover the legacy `extra_default` / `default_missing` /\n* `default_mismatch` vocabulary with no attribute inspection.\n*\n* `id` is a fixed sentinel — a column has at most one default. Built\n* transiently by `SqlColumnIR.children()` from the column's own fields;\n* never constructed by derivation or introspection directly.\n*/\nvar SqlColumnDefaultIR = class SqlColumnDefaultIR extends SqlSchemaIRNode {\n\tnodeKind = RelationalSchemaNodeKind.columnDefault;\n\tconstructor(input) {\n\t\tsuper();\n\t\tif (input.resolved !== void 0) this.resolved = input.resolved;\n\t\tif (input.raw !== void 0) this.raw = input.raw;\n\t\tif (input.nativeTypeContext !== void 0) this.nativeTypeContext = input.nativeTypeContext;\n\t\tdefineNonEnumerable(this, \"authored\", input.authored);\n\t\tdefineNonEnumerable(this, \"many\", input.many);\n\t\tdefineNonEnumerable(this, \"codecRef\", input.codecRef);\n\t\tdefineNonEnumerable(this, \"codecBaseNativeType\", input.codecBaseNativeType);\n\t\tdefineNonEnumerable(this, \"toCanonicalForm\", input.toCanonicalForm);\n\t\tfreezeNode(this);\n\t}\n\tget id() {\n\t\treturn \"default\";\n\t}\n\tchildren() {\n\t\treturn [];\n\t}\n\tstatic is(node) {\n\t\treturn node.nodeKind === RelationalSchemaNodeKind.columnDefault;\n\t}\n\t/**\n\t* Structured comparison with `this` as the expected side: both sides\n\t* resolved compare per the relational walk's `columnDefaultsEqual`\n\t* semantics, a literal through the canonical form of the column's values when the\n\t* contract-derived side carries one; a declared expected default against an unparseable actual\n\t* (raw present, no resolved parse) is a mismatch; two raw-only nodes fall\n\t* back to raw string equality.\n\t*/\n\tisEqualTo(other) {\n\t\tconst node = blindCast(other);\n\t\tassertNode(node, \"SqlColumnDefaultIR\", SqlColumnDefaultIR.is);\n\t\tif (this.resolved !== void 0 && node.resolved !== void 0) return resolvedDefaultsEqual(this.resolved, node.resolved, node.nativeTypeContext ?? this.nativeTypeContext, this.toCanonicalForm ?? node.toCanonicalForm);\n\t\tif (this.resolved !== void 0 || node.resolved !== void 0) return false;\n\t\treturn this.raw === node.raw;\n\t}\n\t/**\n\t* The refusal of an expected literal its canonical form does not take, which a contract emitted\n\t* by an earlier version can carry, so the mismatch names its cause.\n\t*/\n\texplainMismatch() {\n\t\treturn contractDefaultRefusal(this.resolved, this.toCanonicalForm, (this.many ?? this.codecRef?.many) === true);\n\t}\n};\n//#endregion\n//#region src/ir/sql-column-ir.ts\n/**\n* Schema IR node for a single column on a table, as observed by\n* introspection. Unlike the Contract IR `StorageColumn`, this carries\n* the column's `name` (Schema IR columns are returned as arrays from\n* introspection queries; the parent table re-keys them into a record\n* for downstream consumers).\n*\n* Implements `DiffableNode` so a column is directly a table's diff-tree\n* child: `id` is the column name (unique among a table's columns); `isEqualTo`\n* compares this column's own attributes only — never children, since a\n* column is a leaf. When both sides carry `resolvedNativeType` (stamped at\n* derivation/introspection), the comparison uses the resolved values —\n* resolved native type, nullability, and structured default equality per\n* the relational walk's `columnDefaultsEqual` semantics, with `this` as the\n* expected side. Otherwise it falls back to comparing raw fields.\n*/\nvar SqlColumnIR = class SqlColumnIR extends SqlSchemaIRNode {\n\tnodeKind = RelationalSchemaNodeKind.column;\n\tname;\n\tnativeType;\n\tnullable;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.name = input.name;\n\t\tthis.nativeType = input.nativeType;\n\t\tthis.nullable = input.nullable;\n\t\tif (input.default !== void 0) this.default = input.default;\n\t\tif (input.annotations !== void 0) this.annotations = input.annotations;\n\t\tif (input.many !== void 0) this.many = input.many;\n\t\tif (input.resolvedNativeType !== void 0) this.resolvedNativeType = input.resolvedNativeType;\n\t\tif (input.resolvedDefault !== void 0) this.resolvedDefault = input.resolvedDefault;\n\t\tdefineNonEnumerable(this, \"authoredDefault\", input.authoredDefault);\n\t\tdefineNonEnumerable(this, \"codecRef\", input.codecRef);\n\t\tdefineNonEnumerable(this, \"codecBaseNativeType\", input.codecBaseNativeType);\n\t\tdefineNonEnumerable(this, \"dataType\", input.dataType);\n\t\tdefineNonEnumerable(this, \"toCanonicalForm\", input.toCanonicalForm);\n\t\tdefineNonEnumerable(this, \"reportedType\", input.reportedType);\n\t\tfreezeNode(this);\n\t}\n\tget id() {\n\t\treturn `column:${this.name}`;\n\t}\n\t/**\n\t* The column's default, when declared/present, is the column's one child\n\t* node — it has an extra/missing/drift lifecycle of its own, so the differ\n\t* recurses to it rather than `isEqualTo` comparing it. Built transiently\n\t* from this column's own fields.\n\t*/\n\tchildren() {\n\t\tif (this.resolvedDefault === void 0 && this.default === void 0) return [];\n\t\treturn [new SqlColumnDefaultIR({\n\t\t\t...ifDefined(\"resolved\", this.resolvedDefault),\n\t\t\t...ifDefined(\"raw\", this.default),\n\t\t\t...ifDefined(\"authored\", this.authoredDefault),\n\t\t\t...ifDefined(\"nativeTypeContext\", this.resolvedNativeType),\n\t\t\t...ifDefined(\"many\", this.many ?? this.codecRef?.many),\n\t\t\t...ifDefined(\"codecRef\", this.codecRef),\n\t\t\t...ifDefined(\"codecBaseNativeType\", this.codecBaseNativeType),\n\t\t\t...ifDefined(\"toCanonicalForm\", this.toCanonicalForm)\n\t\t})];\n\t}\n\tstatic is(node) {\n\t\treturn node.nodeKind === RelationalSchemaNodeKind.column;\n\t}\n\t/**\n\t* Compares the column's own attributes only — the default lives on the\n\t* child node. When both sides carry `resolvedNativeType`, the resolved\n\t* value governs (array-ness rides on its `[]` suffix); otherwise raw\n\t* fields compare.\n\t*/\n\tisEqualTo(other) {\n\t\tconst node = blindCast(other);\n\t\tassertNode(node, \"SqlColumnIR\", SqlColumnIR.is);\n\t\tif (this.resolvedNativeType !== void 0 && node.resolvedNativeType !== void 0) return this.resolvedNativeType === node.resolvedNativeType && this.nullable === node.nullable;\n\t\treturn this.nativeType === node.nativeType && this.nullable === node.nullable && Boolean(this.many) === Boolean(node.many);\n\t}\n};\n//#endregion\n//#region src/ir/sql-foreign-key-ir.ts\n/**\n* Schema IR node for a foreign-key constraint as observed by\n* introspection. The `referencedTable` / `referencedColumns` field\n* names match the introspection vocabulary (`pg_constraint.confkey`,\n* etc.) and intentionally differ from the Contract IR's nested\n* `references: { table, columns }` shape so that the verifier's\n* structural comparison stays explicit about which side it's reading.\n*\n* Implements `DiffableNode` so a foreign key is directly a table's diff-tree\n* child. Foreign keys are frequently unnamed (introspection may not carry a\n* constraint name, and the contract side never invents one), so `id` is\n* derived from the referencing/referenced coordinates rather than `name` —\n* the same tuple that makes two FK constraints the same constraint. This\n* also serves as the comparison key: two FKs with the same coordinates are\n* paired by the differ, and `isEqualTo` then compares the remaining\n* attribute — the referential actions.\n*/\nvar SqlForeignKeyIR = class SqlForeignKeyIR extends SqlSchemaIRNode {\n\tnodeKind = RelationalSchemaNodeKind.foreignKey;\n\tcolumns;\n\treferencedTable;\n\treferencedColumns;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.columns = input.columns;\n\t\tthis.referencedTable = input.referencedTable;\n\t\tthis.referencedColumns = input.referencedColumns;\n\t\tif (input.referencedSchema !== void 0) this.referencedSchema = input.referencedSchema;\n\t\tif (input.name !== void 0) this.name = input.name;\n\t\tif (input.onDelete !== void 0) this.onDelete = input.onDelete;\n\t\tif (input.onUpdate !== void 0) this.onUpdate = input.onUpdate;\n\t\tif (input.annotations !== void 0) this.annotations = input.annotations;\n\t\tconst resolvedReferencedNamespace = input.resolvedReferencedNamespace ?? input.referencedSchema;\n\t\tif (resolvedReferencedNamespace !== void 0) this.resolvedReferencedNamespace = resolvedReferencedNamespace;\n\t\tdefineNonEnumerable(this, \"dependsOn\", input.dependsOn);\n\t\tfreezeNode(this);\n\t}\n\tget id() {\n\t\tconst referencedNamespace = this.resolvedReferencedNamespace ?? \"\";\n\t\treturn `foreign-key:${this.columns.join(\",\")}->${referencedNamespace}.${this.referencedTable}(${this.referencedColumns.join(\",\")})`;\n\t}\n\tchildren() {\n\t\treturn [];\n\t}\n\tstatic is(node) {\n\t\treturn node.nodeKind === RelationalSchemaNodeKind.foreignKey;\n\t}\n\t/**\n\t* Referential-action comparison with `this` as the expected side, matching\n\t* the relational walk's `getReferentialActionMismatches`: `noAction` is the\n\t* database default and equivalent to an undeclared action, and drift is\n\t* flagged only when the expected side declares a (normalized) action.\n\t*/\n\tisEqualTo(other) {\n\t\tconst node = blindCast(other);\n\t\tassertNode(node, \"SqlForeignKeyIR\", SqlForeignKeyIR.is);\n\t\treturn referentialActionMatches(this.onDelete, node.onDelete) && referentialActionMatches(this.onUpdate, node.onUpdate);\n\t}\n};\nfunction referentialActionMatches(expected, actual) {\n\tconst normalizedExpected = expected === \"noAction\" ? void 0 : expected;\n\tif (normalizedExpected === void 0) return true;\n\treturn normalizedExpected === (actual === \"noAction\" ? void 0 : actual);\n}\n//#endregion\n//#region src/ir/sql-index-ir.ts\n/**\n* Schema IR node for a secondary index as observed by introspection.\n* Unlike the Contract IR `Index`, the Schema IR carries an explicit\n* `unique` field — introspection sees the underlying index regardless\n* of whether the user expressed it as `@@index` or `@@unique`, and the\n* verifier needs to distinguish them when comparing to the Contract.\n*\n* Implements `DiffableNode` so an index is directly a table's diff-tree\n* child. Indexes are name-identified: every index — contract-derived or\n* introspected — carries its full physical name, and `id` is that name.\n* Names are catalog-unique per schema, so two indexes legitimately sharing\n* one column tuple (a unique index beside a redundant plain index) are two\n* distinct siblings, and expression indexes need no column tuple at all.\n*\n* `isEqualTo` is selected by the receiver (the differ always calls\n* `expected.isEqualTo(actual)`) and delegates to {@link contentEquals} —\n* the single node-owned content relation: both modes compare `unique`\n* strict, `type` and option values through the named normalization seams,\n* and `columns` ordered-strict when both sides carry them; an exact-named\n* receiver (`prefix === undefined`) additionally byte-compares\n* `expression`/`where` (both sides are reprints in the supported flow —\n* normalizing would only mask real drift); a wire-named receiver never\n* compares bodies (the wire-name hash already commits to them).\n*\n* `expression`, `where`, and `unique` are genuine SQL-family attributes —\n* functional and partial indexes are standard SQL that any SQL target may\n* introspect, so the family node must represent them; a target declining\n* to author them is a capability decision, not target-specificity.\n*/\nvar SqlIndexIR = class SqlIndexIR extends SqlSchemaIRNode {\n\tnodeKind = RelationalSchemaNodeKind.index;\n\tname;\n\tunique;\n\tconstructor(input) {\n\t\tsuper();\n\t\tconst name = nameOf(input.naming);\n\t\tif (input.columns === void 0 === (input.expression === void 0)) throw new InternalError(`SqlIndexIR \"${name}\": exactly one of columns or expression must be set.`);\n\t\tthis.name = name;\n\t\tthis.unique = input.unique;\n\t\tif (input.naming.kind === \"wire\") this.prefix = input.naming.prefix;\n\t\tif (input.columns !== void 0) this.columns = input.columns;\n\t\tif (input.expression !== void 0) this.expression = input.expression;\n\t\tif (input.where !== void 0) this.where = input.where;\n\t\tconst normalizedType = normalizeIndexType(input.type);\n\t\tif (normalizedType !== void 0) this.type = normalizedType;\n\t\tif (input.options !== void 0) this.options = input.options;\n\t\tif (input.annotations !== void 0) this.annotations = input.annotations;\n\t\tdefineNonEnumerable(this, \"dependsOn\", input.dependsOn);\n\t\tdefineNonEnumerable(this, \"partial\", input.partial);\n\t\tfreezeNode(this);\n\t}\n\tget id() {\n\t\treturn `index:${this.name}`;\n\t}\n\tchildren() {\n\t\treturn [];\n\t}\n\tstatic from(value) {\n\t\treturn value instanceof SqlIndexIR ? value : new SqlIndexIR(value);\n\t}\n\tstatic is(node) {\n\t\treturn node.nodeKind === RelationalSchemaNodeKind.index;\n\t}\n\t/**\n\t* Mode-selected structural equality — see the class doc. Delegates to the\n\t* single node-owned relation: `columns` compare ordered-strict when both\n\t* sides carry them; an exact receiver (`prefix === undefined`)\n\t* byte-compares `expression ?? ''` and `where ?? ''`; a wire-named receiver\n\t* never compares bodies (the wire-name hash already commits to them).\n\t*/\n\tisEqualTo(other) {\n\t\tconst node = blindCast(other);\n\t\tassertNode(node, \"SqlIndexIR\", SqlIndexIR.is);\n\t\treturn this.contentEquals(node, {\n\t\t\tcolumnPresence: \"when-both-defined\",\n\t\t\tbodies: this.prefix !== void 0 ? \"ignored\" : \"verbatim\"\n\t\t});\n\t}\n\t/**\n\t* The single index content-equality relation — every comparer (the differ\n\t* via {@link isEqualTo}, the planner's rename content-pairing) calls this\n\t* with its mode-appropriate strictness rather than growing a parallel\n\t* relation:\n\t*\n\t* - `columnPresence: 'when-both-defined'` (the differ's rule) compares\n\t* the tuples ordered-strict only when both sides carry them — a paired\n\t* node's identity already agreed, so a column node meeting an\n\t* expression node skips the tuple.\n\t* - `columnPresence: 'matching'` (the rename-pairing rule) additionally\n\t* requires presence to agree: a column index never pairs an expression\n\t* index.\n\t* - `bodies: 'verbatim'` byte-compares `expression ?? ''` / `where ?? ''`\n\t* (absent ≡ empty, no normalization — both sides are reprints in the\n\t* supported flow); `bodies: 'ignored'` skips them (wire identity —\n\t* the wire-name hash commits to the content).\n\t*\n\t* `unique` compares strictly; `type` and option VALUES compare through\n\t* the named normalization seams below.\n\t*/\n\tcontentEquals(other, strictness) {\n\t\tconst columnsEqual = strictness.columnPresence === \"matching\" ? this.columns === void 0 === (other.columns === void 0) && (this.columns === void 0 || isArrayEqual(this.columns, other.columns ?? [])) : this.columns === void 0 || other.columns === void 0 || isArrayEqual(this.columns, other.columns);\n\t\tif (!(this.unique === other.unique && normalizeIndexType(this.type) === normalizeIndexType(other.type) && indexOptionsEqual(this.options, other.options) && columnsEqual)) return false;\n\t\tif (strictness.bodies === \"ignored\") return true;\n\t\treturn (this.expression ?? \"\") === (other.expression ?? \"\") && (this.where ?? \"\") === (other.where ?? \"\");\n\t}\n};\n/**\n* The btree-default normalization seam: the default access method (`btree`\n* in every supported SQL target) normalizes to absent. Applied at\n* construction — every derivation path (contract tree, introspection, flat\n* family tree) builds through the class, so both compare sides are\n* symmetric by definition — and again inside\n* {@link SqlIndexIR.contentEquals} so the relation holds for any input.\n* The contract JSON and the wire-name content hash keep the authored\n* spelling: `@@index([a], type: \"btree\")` and `@@index([a])` are distinct\n* wire names — but content-equal after normalization, so a spelling change\n* between them converges as a rename via the planner's content\n* pairing (the hashes differ, so hash pairing never pairs them).\n*/\nfunction normalizeIndexType(type) {\n\treturn type === \"btree\" ? void 0 : type;\n}\n/**\n* Option-bag equality: same key set, values compared through\n* {@link normalizeIndexOptionValue} — Postgres introspection returns\n* reloptions values as catalog-reprint strings (`'70'`, `'on'`) while\n* contract option leaves are typed (number, boolean, string).\n*/\nfunction indexOptionsEqual(a, b) {\n\tconst aKeys = a ? Object.keys(a).sort() : [];\n\tconst bKeys = b ? Object.keys(b).sort() : [];\n\tif (aKeys.length !== bKeys.length) return false;\n\tfor (let i = 0; i < aKeys.length; i += 1) if (aKeys[i] !== bKeys[i]) return false;\n\tif (aKeys.length === 0) return true;\n\tfor (const key of aKeys) if (normalizeIndexOptionValue(a?.[key]) !== normalizeIndexOptionValue(b?.[key])) return false;\n\treturn true;\n}\n//#endregion\n//#region src/ir/sql-unique-ir.ts\n/**\n* Schema IR node for a table-level unique constraint as observed by\n* introspection.\n*\n* Implements `DiffableNode` so a unique constraint is directly a table's\n* diff-tree child. Unique constraints are frequently unnamed, so `id` is\n* derived from the column tuple rather than `name` — the column tuple is\n* also what makes two unique constraints the same constraint, so it doubles\n* as the pairing key. There are no further attributes to compare once\n* columns are equal (the differ pairs on `id`), so `isEqualTo` is identity.\n*/\nvar SqlUniqueIR = class SqlUniqueIR extends SqlSchemaIRNode {\n\tnodeKind = RelationalSchemaNodeKind.unique;\n\tcolumns;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.columns = [...input.columns];\n\t\tif (input.name !== void 0) this.name = input.name;\n\t\tif (input.annotations !== void 0) this.annotations = input.annotations;\n\t\tdefineNonEnumerable(this, \"dependsOn\", input.dependsOn);\n\t\tfreezeNode(this);\n\t}\n\tget id() {\n\t\treturn `unique:${this.columns.join(\",\")}`;\n\t}\n\tchildren() {\n\t\treturn [];\n\t}\n\tstatic is(node) {\n\t\treturn node.nodeKind === RelationalSchemaNodeKind.unique;\n\t}\n\tisEqualTo(other) {\n\t\tconst node = blindCast(other);\n\t\tassertNode(node, \"SqlUniqueIR\", SqlUniqueIR.is);\n\t\treturn this.id === node.id;\n\t}\n};\n//#endregion\n//#region src/ir/sql-table-ir.ts\n/**\n* Schema IR node for a single table as observed by introspection.\n*\n* Unlike the Contract IR `StorageTable`, this carries the table's\n* `name` — introspection queries return tables as arrays and the\n* verifier keys them into `SqlSchemaIR.tables` afterwards, so the name\n* stays on the table object for downstream call sites that walk\n* `Object.values(schema.tables)`.\n*\n* The constructor normalises nested IR-class fields so downstream\n* walks see a uniform AST regardless of whether the input was a\n* plain-data literal (from introspection) or already-constructed\n* class instances.\n*\n* Implements `DiffableNode` so a flat (single-schema) tree is directly\n* diffable: `id` is the table name; `isEqualTo` is identity (the table's\n* structural drift is entirely expressed by its children); `children()`\n* yields every column, the primary key (when present), every foreign key,\n* unique, index, and check constraint — the same composition and order as\n* the Postgres table node, minus policies.\n*/\nvar SqlTableIR = class extends SqlSchemaIRNode {\n\tnodeKind = RelationalSchemaNodeKind.table;\n\tname;\n\tcolumns;\n\tforeignKeys;\n\tuniques;\n\tindexes;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.name = input.name;\n\t\tthis.columns = Object.freeze(Object.fromEntries(Object.entries(input.columns).map(([key, col]) => [key, col instanceof SqlColumnIR ? col : new SqlColumnIR(col)])));\n\t\tthis.foreignKeys = Object.freeze(input.foreignKeys.map((fk) => fk instanceof SqlForeignKeyIR ? fk : new SqlForeignKeyIR(fk)));\n\t\tthis.uniques = Object.freeze(input.uniques.map((u) => u instanceof SqlUniqueIR ? u : new SqlUniqueIR(u)));\n\t\tthis.indexes = Object.freeze(input.indexes.map(SqlIndexIR.from));\n\t\tif (input.primaryKey !== void 0) this.primaryKey = PrimaryKey.from(input.primaryKey);\n\t\tif (input.annotations !== void 0) this.annotations = input.annotations;\n\t\tif (input.checks !== void 0 && input.checks.length > 0) this.checks = Object.freeze(input.checks.map(SqlCheckConstraintIR.from));\n\t\tfreezeNode(this);\n\t}\n\tget id() {\n\t\treturn this.name;\n\t}\n\tisEqualTo(other) {\n\t\treturn this.id === other.id;\n\t}\n\tchildren() {\n\t\treturn [\n\t\t\t...Object.values(this.columns),\n\t\t\t...this.primaryKey ? [this.primaryKey] : [],\n\t\t\t...this.foreignKeys,\n\t\t\t...this.uniques,\n\t\t\t...this.indexes,\n\t\t\t...this.checks ?? []\n\t\t];\n\t}\n};\n//#endregion\n//#region src/ir/sql-schema-ir.ts\n/**\n* Root Schema IR node representing the complete database schema as\n* observed by introspection. Target-agnostic; used by both verifiers\n* (compare against intended Contract storage) and migration planners\n* (derive operations needed to reconcile).\n*\n* The constructor normalises nested `SqlTableIR` instances so\n* downstream walks see a uniform AST regardless of whether the input\n* was a plain-data literal or already-constructed class instances.\n*\n* Implements `DiffableNode` as the root of a flat (single-schema) diff\n* tree: `id` is the fixed sentinel `'database'` (roots have no siblings),\n* `isEqualTo` is identity (a container has no own attributes), and\n* `children()` yields the table nodes.\n*/\nvar SqlSchemaIR = class extends SqlSchemaIRNode {\n\tnodeKind = RelationalSchemaNodeKind.schema;\n\ttables;\n\tconstructor(input) {\n\t\tsuper();\n\t\tthis.tables = Object.freeze(Object.fromEntries(Object.entries(input.tables).map(([key, t]) => [key, t instanceof SqlTableIR ? t : new SqlTableIR(t)])));\n\t\tif (input.annotations !== void 0) this.annotations = input.annotations;\n\t\tfreezeNode(this);\n\t}\n\tget id() {\n\t\treturn \"database\";\n\t}\n\tisEqualTo(other) {\n\t\treturn this.id === other.id;\n\t}\n\tchildren() {\n\t\treturn Object.values(this.tables);\n\t}\n};\n//#endregion\nexport { defaultInCanonicalForm as _, SqlForeignKeyIR as a, SqlCheckConstraintIR as c, assertNode as d, defineNonEnumerable as f, contractDefaultRefusal as g, relationalNodeGranularity as h, SqlIndexIR as i, PrimaryKey as l, relationalNodeEntityKind as m, SqlTableIR as n, SqlColumnIR as o, RelationalSchemaNodeKind as p, SqlUniqueIR as r, SqlColumnDefaultIR as s, SqlSchemaIR as t, SqlSchemaIRNode as u };\n\n//# sourceMappingURL=types-DvhckjSz.mjs.map"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-Sh5HuaZE-BwZNUDEi.d.mts","names":[],"sources":["../../../../2-sql/4-lanes/relational-core/dist/types-Sh5HuaZE.d.mts"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validators-DlpO67uZ.mjs","names":[],"sources":["../../../../2-sql/1-core/contract/dist/validators.mjs"],"sourcesContent":["import { t as contractError } from \"./contract-errors-BCN6RVI5.mjs\";\nimport { a as ColumnDefaultFunctionSchema, c as ForeignKeyReferenceSchema, d as IndexSchema, f as ReferentialActionSchema, i as CheckConstraintSchema, l as ForeignKeySchema, m as StorageValueSetSchema, o as ColumnDefaultLiteralSchema, p as StorageTableSchema, s as ColumnDefaultSchema, t as composeSqlEntityKinds, u as ForeignKeySourceSchema } from \"./entity-kinds-CQ_jwgYv.mjs\";\nimport { a as sameColumns$1, s as startsWithColumns } from \"./index-equivalence-DswCiq5l.mjs\";\nimport { computeCheckContentHash, computeIndexContentHash } from \"@internal/sql-schema-ir/naming\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { isPlainRecord } from \"@internal/framework-components/ir\";\nimport { DATA_TYPE_ID_PATTERN } from \"@internal/framework-components/codec\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { type } from \"arktype\";\nimport { ContractValidationError } from \"@internal/contract/contract-validation-error\";\nimport { ContractExecutionSectionSchema, CrossReferenceSchema } from \"@internal/contract/types\";\nimport { validateContractDomain } from \"@internal/contract/validate-domain\";\nimport { canonicalizeJson } from \"@internal/framework-components/utils\";\n//#region src/default-sql-text.ts\nconst UNSAFE_DEFAULT_TEXT = /;|--|\\/\\*|\\$\\$|\\bSELECT\\b/i;\n/** Returns undefined when the text may be rendered as `DEFAULT (<text>)`, else the reason. */\nfunction checkSqlDefaultText(text) {\n\treturn UNSAFE_DEFAULT_TEXT.test(text) ? \"Default SQL must not contain semicolons, SQL comment tokens, dollar-quoting, or subqueries.\" : void 0;\n}\n/**\n* Names the Prisma default function that raw SQL text is exactly, ignoring surrounding whitespace. The planners treat the contract expressions `now()` and `autoincrement()` as those functions, so raw SQL with that text would not be used as written.\n*/\nfunction reservedSqlDefaultText(text) {\n\tswitch (text.trim()) {\n\t\tcase \"now()\": return \"now\";\n\t\tcase \"autoincrement()\": return \"autoincrement\";\n\t\tdefault: return;\n\t}\n}\n//#endregion\n//#region src/relation-storage.ts\nfunction sameColumns(left, right) {\n\treturn left.length === right.length && left.every((column, index) => column === right[index]);\n}\n/**\n* The storage facts behind a same-space to-one relation's nullability: which side owns the\n* foreign key, and whether each local column is nullable.\n*/\nfunction resolveSqlToOneRelationStorage(contract, modelStorage, relation) {\n\tconst table = blindCast(contract.storage.namespaces[modelStorage.namespaceId]?.entries.table?.[modelStorage.table]);\n\tconst columns = relation.on.localFields.map((fieldName) => {\n\t\tconst columnName = modelStorage.fields[fieldName]?.column;\n\t\tconst column = columnName === void 0 ? void 0 : table?.columns[columnName];\n\t\treturn {\n\t\t\tname: columnName ?? fieldName,\n\t\t\tnullable: column?.nullable ?? true\n\t\t};\n\t});\n\tconst columnNames = columns.map((column) => column.name);\n\treturn {\n\t\townsForeignKey: relation.cardinality === \"N:1\" || (table?.foreignKeys ?? []).some((foreignKey) => sameColumns(foreignKey.source.columns, columnNames)),\n\t\tcolumns\n\t};\n}\n//#endregion\n//#region src/validators.ts\nconst ControlPolicySchema = type(\"'managed' | 'tolerated' | 'external' | 'observed'\");\nconst DomainEnumRefSchema = type({\n\tplane: \"'domain'\",\n\tnamespaceId: \"string\",\n\tentityKind: \"'enum'\",\n\tentityName: \"string\",\n\t\"spaceId?\": \"string\"\n});\n/** Document-scoped `storage.types`: codec triples only. */\nconst DocumentScopedStorageTypeSchema = type.declare().type({\n\tkind: \"'codec-instance'\",\n\tcodecId: \"string\",\n\tdataType: DATA_TYPE_ID_PATTERN,\n\t\"typeParams?\": \"Record<string, unknown>\"\n});\n/**\n* Domain enum entry under `domain.namespaces[id].enum[name]`.\n* Carries the codec id and an ordered `members` array of `{name, value}` pairs.\n*/\nconst ContractEnumSchema = type({\n\t\"+\": \"reject\",\n\tcodecId: \"string\",\n\tmembers: type({\n\t\tname: \"string\",\n\t\tvalue: \"string | number | boolean | null | unknown[] | Record<string, unknown>\"\n\t}).array().readonly()\n});\n/**\n* Derives a schema map from a descriptor map: maps each kind's key to its\n* `schema` field. Used by validation functions to validate entries.\n*/\nfunction schemaViewOf(kinds) {\n\treturn new Map([...kinds].map(([k, d]) => [k, d.schema]));\n}\nconst DEFAULT_SQL_KINDS = composeSqlEntityKinds();\n/**\n* Builds the per-namespace entry schema for `storage.namespaces[id]`.\n*\n* Validation is descriptor-driven: the `kinds` map carries both the schema\n* (used here for structural validation) and the construct function (used at\n* hydration time). An unregistered key fails validation naming the kind and\n* the namespace id, so validation fails closed.\n*/\nfunction createNamespaceEntrySchema(kinds) {\n\tconst schemas = schemaViewOf(kinds);\n\tconst knownKinds = new Set(kinds.keys());\n\treturn type({\n\t\t\"+\": \"reject\",\n\t\tid: \"string\",\n\t\t\"kind?\": \"string\",\n\t\tentries: \"object\"\n\t}).narrow((ns, ctx) => {\n\t\tif (!isPlainRecord(ns.entries)) return ctx.mustBe(\"an entries object\");\n\t\tfor (const [key, innerMap] of Object.entries(ns.entries)) {\n\t\t\tif (!knownKinds.has(key)) return ctx.reject({ expected: `entries key \"${key}\" in namespace \"${ns.id}\" is not a registered entity kind` });\n\t\t\tif (!isPlainRecord(innerMap)) return ctx.reject({ expected: `entries[\"${key}\"] in namespace \"${ns.id}\" must be an object` });\n\t\t\tconst entrySchema = blindCast(schemas.get(key));\n\t\t\tfor (const [, value] of Object.entries(innerMap)) {\n\t\t\t\tconst parsed = entrySchema(value);\n\t\t\t\tif (parsed instanceof type.errors) return ctx.reject({ expected: parsed.summary });\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t});\n}\n/**\n* Builds the storage schema. Pack contributions reach the per-namespace\n* entry shape through {@link createNamespaceEntrySchema}; the\n* document-scoped `storage.types` field (codec triples only) and the\n* storage hash stay family-shared.\n*/\nfunction createSqlStorageSchema(kinds) {\n\tconst namespaceEntry = createNamespaceEntrySchema(kinds);\n\treturn type({\n\t\t\"+\": \"reject\",\n\t\tstorageHash: \"string\",\n\t\t\"types?\": type({ \"[string]\": DocumentScopedStorageTypeSchema }),\n\t\t\"namespaces?\": type({ \"[string]\": namespaceEntry })\n\t});\n}\nconst StorageSchema = createSqlStorageSchema(DEFAULT_SQL_KINDS);\n/** The refusal of a value-object column when the stack declares no value-object storage type. */\nfunction valueObjectStorageTypeMissingMessage(columnPath) {\n\treturn `${columnPath}: a value-object column needs the stack's value-object storage type, and the stack declares none`;\n}\nconst LISTED_REMOVED_KEYS = 5;\nfunction fieldOf(value, key) {\n\treturn isPlainRecord(value) ? value[key] : void 0;\n}\nfunction entriesOf(value) {\n\treturn isPlainRecord(value) ? Object.entries(value) : [];\n}\nfunction storedColumnEntries(storage) {\n\treturn entriesOf(fieldOf(storage, \"namespaces\")).flatMap(([namespaceId, namespace]) => entriesOf(fieldOf(fieldOf(namespace, \"entries\"), \"table\")).flatMap(([tableName, table]) => entriesOf(fieldOf(table, \"columns\")).map(([columnName, column]) => ({\n\t\tpath: `storage.namespaces.${namespaceId}.entries.table.${tableName}.columns.${columnName}`,\n\t\tentry: column\n\t}))));\n}\nfunction pathsHolding(entries, key) {\n\treturn entries.filter(({ entry }) => isPlainRecord(entry) && Object.hasOwn(entry, key)).map(({ path }) => path);\n}\nfunction listedProblems(paths, describe) {\n\tconst listed = paths.slice(0, LISTED_REMOVED_KEYS).map(describe);\n\tconst unlisted = paths.length - listed.length;\n\treturn unlisted > 0 ? [...listed, `and ${unlisted} more ${unlisted === 1 ? \"path\" : \"paths\"} (${paths.length} in all)`] : listed;\n}\n/**\n* Contracts emitted before a column named its data type stored the database type name in `nativeType` on columns and `storage.types` entries. The first five such keys are reported with their paths and the rest are counted, so an old contract is refused with a short message that says what changed.\n*/\nfunction storedTypeNameProblems(storage) {\n\tconst types = entriesOf(fieldOf(storage, \"types\")).map(([typeName, entry]) => ({\n\t\tpath: `storage.types.${typeName}`,\n\t\tentry\n\t}));\n\treturn listedProblems(pathsHolding([...storedColumnEntries(storage), ...types], \"nativeType\"), (path) => `${path}.nativeType: contracts no longer store a column's database type name; the column names its data type in \"dataType\"`);\n}\n/**\n* Contracts emitted before generated checks became mandatory stored the checks a column waived in `noCheck`. One sentence says what to do, followed by the first five such columns and a count of the rest.\n*/\nfunction checkWaiverProblems(storage) {\n\tconst paths = pathsHolding(storedColumnEntries(storage), \"noCheck\");\n\tif (paths.length === 0) return [];\n\tconst listed = paths.slice(0, LISTED_REMOVED_KEYS).map((path) => `${path}.noCheck`);\n\tconst unlisted = paths.length - listed.length;\n\tconst more = unlisted > 0 ? `, and ${unlisted} more (${paths.length} in all)` : \"\";\n\treturn [`contracts no longer store check waivers in \"noCheck\", so re-emit the contract from its source, or rewrite a stored contract such as a migration snapshot with remove-nocheck.ts, which ships in the remove-nocheck scripts of the Prisma 8 upgrade guide. Columns: ${listed.join(\", \")}${more}`];\n}\n/** The removed keys of the oldest format the contract is in: a contract that still stores `nativeType` is refused for that first, since its `noCheck` keys are rewritten at a later step of the upgrade. */\nfunction removedKeyProblems(storage) {\n\tconst storedTypeNames = storedTypeNameProblems(storage);\n\treturn storedTypeNames.length > 0 ? storedTypeNames : checkWaiverProblems(storage);\n}\n/**\n* Any entries entity that declares both a `tableName` and a physical `name`\n* (e.g. a target's RLS policy entities) shares one physical-name space per\n* table: two such entries of one kind on the same table would collide as\n* DDL (`CREATE POLICY \"<name>\" ON <table>` fails on the second), while the\n* same name on different tables is legal. Structural — no entry-kind\n* vocabulary; `table` entries are keyed by name already and are excluded.\n*/\nfunction validateTableScopedEntryNames(storage, errors) {\n\tfor (const [namespaceId, ns] of Object.entries(storage.namespaces)) {\n\t\tif (!isPlainRecord(ns.entries)) continue;\n\t\tfor (const [entriesKind, slot] of Object.entries(ns.entries)) {\n\t\t\tif (entriesKind === \"table\" || !isPlainRecord(slot)) continue;\n\t\t\tconst seen = /* @__PURE__ */ new Map();\n\t\t\tfor (const entity of Object.values(slot)) {\n\t\t\t\tif (typeof entity !== \"object\" || entity === null) continue;\n\t\t\t\tconst record = blindCast(entity);\n\t\t\t\tconst name = record[\"name\"];\n\t\t\t\tconst tableName = record[\"tableName\"];\n\t\t\t\tif (typeof name !== \"string\" || typeof tableName !== \"string\") continue;\n\t\t\t\tconst key = JSON.stringify([tableName, name]);\n\t\t\t\tseen.set(key, (seen.get(key) ?? 0) + 1);\n\t\t\t\tif (seen.get(key) === 2) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": ${entriesKind} \"${name}\" is declared multiple times`);\n\t\t\t}\n\t\t}\n\t}\n}\nfunction eachStorageTable(storage) {\n\treturn Object.entries(storage.namespaces).flatMap(([namespaceId, ns]) => Object.entries(ns.entries[\"table\"] ?? {}).map(([tableName, table]) => ({\n\t\tnamespaceId,\n\t\ttableName,\n\t\ttable\n\t})));\n}\nfunction findDuplicateValue(values) {\n\tconst seen = /* @__PURE__ */ new Set();\n\tfor (const value of values) {\n\t\tif (seen.has(value)) return value;\n\t\tseen.add(value);\n\t}\n}\n/** A column may appear at most once in one index's element tuple. */\nfunction rejectRepeatedIndexColumns(indexes, coordinate, errors) {\n\tfor (const index of indexes) {\n\t\tconst duplicateColumn = findDuplicateValue(index.columns ?? []);\n\t\tif (duplicateColumn !== void 0) errors.push(`${coordinate}: index contains duplicate column \"${duplicateColumn}\"`);\n\t}\n}\n/**\n* Two wire-named indexes with the same content are one index written twice —\n* the content hash is their identity, so neither spelling can survive. An\n* exact-named index is identified by its name instead, so content twins under\n* two names are legal and a repeated name is rejected by the named-object\n* check.\n*/\nfunction rejectDuplicateWireNamedIndexContent(indexes, coordinate, errors) {\n\tconst seenContent = /* @__PURE__ */ new Set();\n\tfor (const index of indexes) {\n\t\tif (index.prefix === void 0) continue;\n\t\tconst content = computeIndexContentHash(index);\n\t\tif (seenContent.has(content)) {\n\t\t\terrors.push(`${coordinate}: duplicate index definition on columns [${(index.columns ?? []).join(\", \")}]`);\n\t\t\tcontinue;\n\t\t}\n\t\tseenContent.add(content);\n\t}\n}\n/**\n* Two wire-named checks with the same predicate are one check written twice —\n* the content hash is their identity, so neither spelling can survive, and\n* whitespace variants of one predicate collapse onto the same hash. An\n* exact-named check is identified by its name instead, so content twins under\n* two names are legal (the legacy shape a database adopts from) and a repeated\n* name is rejected by the named-object check.\n*/\nfunction rejectDuplicateWireNamedCheckContent(checks, coordinate, errors) {\n\tconst seenContent = /* @__PURE__ */ new Set();\n\tfor (const check of checks) {\n\t\tif (check.prefix === void 0) continue;\n\t\tconst content = computeCheckContentHash(check.expression);\n\t\tif (seenContent.has(content)) {\n\t\t\terrors.push(`${coordinate}: duplicate check constraint definition (expression \"${check.expression}\")`);\n\t\t\tcontinue;\n\t\t}\n\t\tseenContent.add(content);\n\t}\n}\nfunction isContractFieldType(value) {\n\tif (!isPlainRecord(value)) return false;\n\tconst kind = value[\"kind\"];\n\tif (kind === \"scalar\") {\n\t\tif (typeof value[\"codecId\"] !== \"string\") return false;\n\t\tconst typeParams = value[\"typeParams\"];\n\t\tif (typeParams !== void 0 && !isPlainRecord(typeParams)) return false;\n\t\treturn true;\n\t}\n\tif (kind === \"valueObject\") return typeof value[\"name\"] === \"string\";\n\tif (kind === \"union\") {\n\t\tconst members = value[\"members\"];\n\t\tif (!Array.isArray(members)) return false;\n\t\treturn members.every((m) => isContractFieldType(m));\n\t}\n\treturn false;\n}\nconst ModelFieldSchema = type({\n\t\"+\": \"reject\",\n\tnullable: \"boolean\",\n\ttype: type(\"unknown\").narrow((value, ctx) => isContractFieldType(value) ? true : ctx.mustBe(\"scalar, valueObject, or union field type\")),\n\tmany: type(\"false\").or({\n\t\t\"+\": \"reject\",\n\t\telementNullable: \"boolean\"\n\t}).default(false),\n\t\"dict?\": \"true\",\n\t\"valueSet?\": DomainEnumRefSchema\n});\nconst ModelStorageSchema = type({\n\ttable: \"string\",\n\tnamespaceId: \"string\",\n\tfields: type({ \"[string]\": type({\n\t\tcolumn: \"string\",\n\t\t\"codecId?\": \"string\",\n\t\t\"nullable?\": \"boolean\"\n\t}) })\n});\nconst ContractRelationThroughSchema = type({\n\t\"+\": \"reject\",\n\ttable: \"string\",\n\tnamespaceId: \"string\",\n\tparentColumns: type.string.array().readonly(),\n\tchildColumns: type.string.array().readonly(),\n\ttargetColumns: type.string.array().readonly()\n});\nconst ContractRelationOnSchema = type({\n\t\"+\": \"reject\",\n\tlocalFields: type.string.array().readonly(),\n\ttargetFields: type.string.array().readonly()\n});\nconst ContractManyToManyRelationSchema = type({\n\t\"+\": \"reject\",\n\tto: CrossReferenceSchema,\n\tcardinality: \"'N:M'\",\n\ton: ContractRelationOnSchema,\n\tthrough: ContractRelationThroughSchema\n});\nconst ContractToOneRelationSchema = type({\n\t\"+\": \"reject\",\n\tto: CrossReferenceSchema,\n\tcardinality: \"'1:1' | 'N:1'\",\n\t\"nullable?\": \"boolean\",\n\ton: ContractRelationOnSchema\n});\nconst ContractToManyRelationSchema = type({\n\t\"+\": \"reject\",\n\tto: CrossReferenceSchema,\n\tcardinality: \"'1:N'\",\n\ton: ContractRelationOnSchema\n});\nconst ContractReferenceRelationSchema = ContractManyToManyRelationSchema.or(ContractToOneRelationSchema).or(ContractToManyRelationSchema);\nconst ContractEmbedRelationSchema = type({\n\t\"+\": \"reject\",\n\tto: CrossReferenceSchema,\n\tcardinality: \"'1:1' | '1:N'\"\n});\nconst ContractRelationSchema = ContractReferenceRelationSchema.or(ContractEmbedRelationSchema);\nconst ModelSchema = type({\n\tstorage: ModelStorageSchema,\n\t\"fields?\": type({ \"[string]\": ModelFieldSchema }),\n\t\"relations?\": type({ \"[string]\": ContractRelationSchema }),\n\t\"discriminator?\": type({ field: \"string\" }),\n\t\"variants?\": type({ \"[string]\": CrossReferenceSchema }),\n\t\"base?\": CrossReferenceSchema,\n\t\"owner?\": \"string\"\n});\nconst ContractMetaSchema = type({ \"[string]\": \"unknown\" });\n/**\n* Builds the full SQL contract schema. The storage subtree threads\n* pack contributions through {@link createSqlStorageSchema}; the rest\n* of the contract envelope is family-shared.\n*/\nfunction createSqlContractSchema(kinds) {\n\tconst storage = createSqlStorageSchema(kinds);\n\treturn type({\n\t\t\"+\": \"reject\",\n\t\ttarget: \"string\",\n\t\ttargetFamily: \"'sql'\",\n\t\t\"coreHash?\": \"string\",\n\t\tprofileHash: \"string\",\n\t\t\"capabilities?\": \"Record<string, Record<string, boolean>>\",\n\t\t\"extensions?\": \"Record<string, unknown>\",\n\t\t\"meta?\": ContractMetaSchema,\n\t\t\"defaultControlPolicy?\": ControlPolicySchema,\n\t\t\"roots?\": type({ \"[string]\": CrossReferenceSchema }),\n\t\tdomain: type({ namespaces: type({ \"[string]\": type({\n\t\t\tmodels: type({ \"[string]\": ModelSchema }),\n\t\t\t\"valueObjects?\": type({ \"[string]\": type({ fields: type({ \"[string]\": ModelFieldSchema }) }) }),\n\t\t\t\"enum?\": type({ \"[string]\": ContractEnumSchema })\n\t\t}) }) }),\n\t\tstorage,\n\t\t\"execution?\": ContractExecutionSectionSchema\n\t});\n}\nconst SqlContractSchema = createSqlContractSchema(DEFAULT_SQL_KINDS);\n/**\n* Validates the structural shape of SqlStorage using Arktype. Pure\n* structural check: namespace IR is never materialized here (that needs\n* a target concretion via the serializer hydration path), so this throws\n* on invalid input and constructs nothing.\n*\n* @param value - The storage value to validate\n* @throws Error if the storage structure is invalid\n*/\nfunction validateStorage(value) {\n\tconst removedKeys = removedKeyProblems(value);\n\tconst result = StorageSchema(value);\n\tconst errors = removedKeys.length > 0 ? [...removedKeys] : result instanceof type.errors ? result.map((p) => p.message) : [];\n\tif (errors.length > 0) throw contractError(\"CONTRACT.VALIDATION_FAILED\", `Storage validation failed: ${errors.join(\"; \")}`, { meta: { errors } });\n}\nfunction validateModel(value) {\n\tconst result = ModelSchema(value);\n\tif (result instanceof type.errors) {\n\t\tconst errors = result.map((p) => p.message);\n\t\tthrow contractError(\"CONTRACT.VALIDATION_FAILED\", `Model validation failed: ${errors.join(\"; \")}`, { meta: { errors } });\n\t}\n\treturn result;\n}\n/**\n* Structural arktype validation of an SQL contract envelope. Internal\n* helper for {@link validateSqlContractFully} — exposed only inside\n* this module, since the family seam-of-record is the\n* `SqlContractSerializerBase.deserializeContract` SPI.\n*/\nfunction validateSqlContractStructure(value, contractSchema) {\n\tif (typeof value !== \"object\" || value === null) throw new ContractValidationError(\"Contract structural validation failed: value must be an object\", \"structural\");\n\tconst targetFamily = \"targetFamily\" in value ? value.targetFamily : void 0;\n\tif (targetFamily !== void 0 && targetFamily !== \"sql\") throw new ContractValidationError(`Unsupported target family: ${targetFamily}`, \"structural\");\n\tconst removedKeys = removedKeyProblems(fieldOf(value, \"storage\"));\n\tif (removedKeys.length > 0) throw new ContractValidationError(`Contract structural validation failed: ${removedKeys.join(\"; \")}`, \"structural\");\n\tconst contractResult = contractSchema(value);\n\tif (contractResult instanceof type.errors) throw new ContractValidationError(`Contract structural validation failed: ${contractResult.map((p) => p.message).join(\"; \")}`, \"structural\");\n\treturn blindCast(contractResult);\n}\nfunction foreignKeyBackingError(table, fk) {\n\tconst { index } = fk;\n\tif (index === void 0) return void 0;\n\tconst columns = fk.source.columns;\n\tif (\"name\" in index) {\n\t\tconst named = table.indexes.find((candidate) => candidate.name === index.name);\n\t\tif (named === void 0) return `is indexed by \"${index.name}\", but the table has no index with that name`;\n\t\treturn named.columns !== void 0 && startsWithColumns(named.columns, columns) ? void 0 : `is indexed by \"${index.name}\", but that index does not start with those columns`;\n\t}\n\tif (\"primaryKey\" in index) return table.primaryKey !== void 0 && startsWithColumns(table.primaryKey.columns, columns) ? void 0 : \"is indexed by the primary key, but the table's primary key does not start with those columns\";\n\tconst described = `the unique constraint on [${index.unique.join(\", \")}]`;\n\tif (!table.uniques.some((unique) => sameColumns$1(unique.columns, index.unique))) return `is indexed by ${described}, but the table has no unique constraint on those columns`;\n\treturn startsWithColumns(index.unique, columns) ? void 0 : `is indexed by ${described}, which does not start with those columns`;\n}\n/**\n* Validates semantic constraints on SqlStorage that cannot be expressed in Arktype schemas.\n*\n* Returns an array of human-readable error strings. Empty array = valid.\n*\n* Currently checks:\n* - duplicate named primary key / unique / index / foreign key objects within a table\n* - duplicate unique, index, or foreign key declarations within a table\n* - duplicate columns within primary key / unique / index definitions\n* - nullable columns in primary key definitions\n* - `setNull` referential action on a non-nullable FK column (would fail at runtime)\n* - `setDefault` referential action on a non-nullable FK column without a DEFAULT (would fail at runtime)\n* - a foreign key whose `index` is an index, primary key or unique constraint its table does not have\n*/\nfunction validateStorageSemantics(storage) {\n\tconst errors = [];\n\tvalidateTableScopedEntryNames(storage, errors);\n\tfor (const { namespaceId, tableName, table: rawTable } of eachStorageTable(storage)) {\n\t\tconst table = blindCast(rawTable);\n\t\tconst namedObjects = /* @__PURE__ */ new Map();\n\t\tconst registerNamedObject = (kind, name) => {\n\t\t\tif (!name) return;\n\t\t\tnamedObjects.set(name, [...namedObjects.get(name) ?? [], kind]);\n\t\t};\n\t\tregisterNamedObject(\"primary key\", table.primaryKey?.name);\n\t\tfor (const unique of table.uniques) registerNamedObject(\"unique constraint\", unique.name);\n\t\tfor (const index of table.indexes) registerNamedObject(\"index\", index.name);\n\t\tfor (const fk of table.foreignKeys) registerNamedObject(\"foreign key\", fk.name);\n\t\tfor (const check of table.checks ?? []) registerNamedObject(\"check constraint\", check.name);\n\t\tfor (const [name, kinds] of namedObjects) if (kinds.length > 1) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": named object \"${name}\" is declared multiple times (${kinds.join(\", \")})`);\n\t\tif (table.primaryKey) {\n\t\t\tconst duplicateColumn = findDuplicateValue(table.primaryKey.columns);\n\t\t\tif (duplicateColumn !== void 0) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": primary key contains duplicate column \"${duplicateColumn}\"`);\n\t\t\tfor (const columnName of table.primaryKey.columns) if (table.columns[columnName]?.nullable === true) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": primary key column \"${columnName}\" is nullable; primary key columns must be NOT NULL`);\n\t\t}\n\t\tconst seenUniqueDefinitions = /* @__PURE__ */ new Set();\n\t\tfor (const unique of table.uniques) {\n\t\t\tconst duplicateColumn = findDuplicateValue(unique.columns);\n\t\t\tif (duplicateColumn !== void 0) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": unique constraint contains duplicate column \"${duplicateColumn}\"`);\n\t\t\tconst signature = JSON.stringify({ columns: unique.columns });\n\t\t\tif (seenUniqueDefinitions.has(signature)) {\n\t\t\t\terrors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": duplicate unique constraint definition on columns [${unique.columns.join(\", \")}]`);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tseenUniqueDefinitions.add(signature);\n\t\t}\n\t\tconst tableCoordinate = `Namespace \"${namespaceId}\" table \"${tableName}\"`;\n\t\trejectRepeatedIndexColumns(table.indexes, tableCoordinate, errors);\n\t\trejectDuplicateWireNamedIndexContent(table.indexes, tableCoordinate, errors);\n\t\tfor (const fk of table.foreignKeys) {\n\t\t\tconst error = foreignKeyBackingError(table, fk);\n\t\t\tif (error !== void 0) errors.push(`${tableCoordinate}: foreign key on columns [${fk.source.columns.join(\", \")}] ${error}`);\n\t\t}\n\t\tconst seenForeignKeyDefinitions = /* @__PURE__ */ new Set();\n\t\tfor (const fk of table.foreignKeys) {\n\t\t\tconst signature = JSON.stringify({\n\t\t\t\tsource: fk.source,\n\t\t\t\ttarget: fk.target,\n\t\t\t\tonDelete: fk.onDelete ?? null,\n\t\t\t\tonUpdate: fk.onUpdate ?? null\n\t\t\t});\n\t\t\tif (seenForeignKeyDefinitions.has(signature)) {\n\t\t\t\terrors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": duplicate foreign key definition on columns [${fk.source.columns.join(\", \")}]`);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tseenForeignKeyDefinitions.add(signature);\n\t\t}\n\t\tfor (const fk of table.foreignKeys) for (const colName of fk.source.columns) {\n\t\t\tconst column = table.columns[colName];\n\t\t\tif (!column) continue;\n\t\t\tif (fk.onDelete === \"setNull\" && !column.nullable) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": onDelete setNull on foreign key column \"${colName}\" which is NOT NULL`);\n\t\t\tif (fk.onUpdate === \"setNull\" && !column.nullable) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": onUpdate setNull on foreign key column \"${colName}\" which is NOT NULL`);\n\t\t\tif (fk.onDelete === \"setDefault\" && !column.nullable && column.default === void 0) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": onDelete setDefault on foreign key column \"${colName}\" which is NOT NULL and has no DEFAULT`);\n\t\t\tif (fk.onUpdate === \"setDefault\" && !column.nullable && column.default === void 0) errors.push(`Namespace \"${namespaceId}\" table \"${tableName}\": onUpdate setDefault on foreign key column \"${colName}\" which is NOT NULL and has no DEFAULT`);\n\t\t}\n\t\trejectDuplicateWireNamedCheckContent(table.checks ?? [], tableCoordinate, errors);\n\t}\n\treturn errors;\n}\n/**\n* SQL storage logical-consistency checks: every model.storage.table resolves to a real table, every domain field has a model.storage.fields entry, and every model.storage.fields[*].column resolves to a real column. Throws `ContractValidationError` on the first mismatch.\n*/\nfunction validateModelStorageReferences(contract) {\n\tfor (const [namespaceId, namespace] of Object.entries(contract.domain.namespaces)) for (const [modelName, model] of Object.entries(namespace.models)) {\n\t\tconst modelStorage = blindCast(model.storage);\n\t\tconst qualifiedName = `${namespaceId}:${modelName}`;\n\t\tconst storageNamespaceId = modelStorage.namespaceId;\n\t\tif (storageNamespaceId !== namespaceId) throw new ContractValidationError(`Model \"${qualifiedName}\" storage.namespaceId \"${storageNamespaceId}\" does not match domain namespace \"${namespaceId}\"`, \"storage\");\n\t\tconst storageTable = modelStorage.table;\n\t\tconst rawTable = contract.storage.namespaces[storageNamespaceId]?.entries.table?.[storageTable];\n\t\tif (rawTable === void 0) throw new ContractValidationError(`Model \"${qualifiedName}\" references non-existent table \"${storageNamespaceId}.${storageTable}\"`, \"storage\");\n\t\tconst table = blindCast(rawTable);\n\t\tfor (const fieldName of Object.keys(model.fields)) if (!Object.hasOwn(modelStorage.fields, fieldName)) throw new ContractValidationError(`Model \"${qualifiedName}\" field \"${fieldName}\" has no entry in storage.fields, so no column holds it`, \"storage\");\n\t\tconst columnNames = new Set(Object.keys(table.columns));\n\t\tfor (const [fieldName, field] of Object.entries(modelStorage.fields)) if (!columnNames.has(field.column)) throw new ContractValidationError(`Model \"${qualifiedName}\" field \"${fieldName}\" references non-existent column \"${field.column}\" in table \"${storageTable}\"`, \"storage\");\n\t}\n}\n/** The names of a model's own fields and of the fields it inherits from its base models. */\nfunction fieldNamesWithInherited(contract, namespaceId, modelName) {\n\tconst names = /* @__PURE__ */ new Set();\n\tconst seen = /* @__PURE__ */ new Set();\n\tlet coordinate = {\n\t\tnamespace: namespaceId,\n\t\tmodel: modelName\n\t};\n\twhile (coordinate !== void 0) {\n\t\tconst key = JSON.stringify([coordinate.namespace, coordinate.model]);\n\t\tif (seen.has(key)) break;\n\t\tseen.add(key);\n\t\tconst model = contract.domain.namespaces[coordinate.namespace]?.models[coordinate.model];\n\t\tif (model === void 0) break;\n\t\tfor (const name of Object.keys(model.fields)) names.add(name);\n\t\tcoordinate = model.base;\n\t}\n\treturn names;\n}\n/**\n* Every relation joins on fields: its local fields are fields of the model that declares it, and its target fields are fields of the target model. The target side of a many-to-many relation names columns of its junction table instead. A cross-space relation's target is in another contract, so its target side is not checked. Throws `ContractValidationError` on the first name that is not a field.\n*/\nfunction validateRelationJoinFields(contract) {\n\tfor (const [namespaceId, namespace] of Object.entries(contract.domain.namespaces)) for (const [modelName, model] of Object.entries(namespace.models)) for (const [relationName, relation] of Object.entries(model.relations)) {\n\t\tif (!(\"on\" in relation)) continue;\n\t\tconst location = `Relation \"${relationName}\" on model \"${namespaceId}:${modelName}\"`;\n\t\tconst localFields = fieldNamesWithInherited(contract, namespaceId, modelName);\n\t\tfor (const field of relation.on.localFields) if (!localFields.has(field)) throw new ContractValidationError(`${location} joins on \"${field}\", which is not a field of model \"${namespaceId}:${modelName}\"`, \"domain\");\n\t\tif (relation.cardinality === \"N:M\") {\n\t\t\tconst { namespaceId: junctionNamespaceId, table: junctionTable } = relation.through;\n\t\t\tfor (const column of relation.on.targetFields) if (!lookupStorageColumn(contract, junctionNamespaceId, junctionTable, column)) throw new ContractValidationError(`${location} joins on \"${column}\", which is not a column of junction table \"${junctionNamespaceId}.${junctionTable}\"`, \"domain\");\n\t\t\tcontinue;\n\t\t}\n\t\tif (relation.to.space !== void 0) continue;\n\t\tconst targetFields = fieldNamesWithInherited(contract, relation.to.namespace, relation.to.model);\n\t\tfor (const field of relation.on.targetFields) if (!targetFields.has(field)) throw new ContractValidationError(`${location} joins on \"${field}\", which is not a field of model \"${relation.to.namespace}:${relation.to.model}\"`, \"domain\");\n\t}\n}\n/**\n* Every execution default targets a column some model's field maps: an execution default is declared on a field, and it belongs to that field. Throws `ContractValidationError` on the first default on a column no field maps.\n*/\nfunction validateExecutionDefaultsTargetMappedColumns(contract) {\n\tconst mappedColumns = /* @__PURE__ */ new Set();\n\tfor (const namespace of Object.values(contract.domain.namespaces)) for (const model of Object.values(namespace.models)) {\n\t\tconst modelStorage = blindCast(model.storage);\n\t\tfor (const field of Object.values(modelStorage.fields)) mappedColumns.add(JSON.stringify([\n\t\t\tmodelStorage.namespaceId,\n\t\t\tmodelStorage.table,\n\t\t\tfield.column\n\t\t]));\n\t}\n\tfor (const { ref } of contract.execution?.mutations.defaults ?? []) if (!mappedColumns.has(JSON.stringify([\n\t\tref.namespace,\n\t\tref.entry,\n\t\tref.field\n\t]))) throw new ContractValidationError(`Execution default for column \"${ref.field}\" of table \"${ref.namespace}.${ref.entry}\" targets a column no field maps; execution defaults are declared on fields. Give the column a database default instead.`, \"storage\");\n}\n/**\n* Cross-table consistency checks for SQL storage: primary key, unique,\n* index, and foreign key column references resolve to real columns;\n* NOT NULL columns don't carry a literal `null` default; FK column\n* counts match their referenced columns. Throws on the first mismatch.\n*/\nfunction validateSqlStorageConsistency(contract) {\n\tfor (const { namespaceId, tableName, table: rawTable } of eachStorageTable(contract.storage)) {\n\t\tconst table = blindCast(rawTable);\n\t\tconst columnNames = new Set(Object.keys(table.columns));\n\t\tif (table.primaryKey) {\n\t\t\tfor (const colName of table.primaryKey.columns) if (!columnNames.has(colName)) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" primaryKey references non-existent column \"${colName}\"`, \"storage\");\n\t\t}\n\t\tfor (const unique of table.uniques) for (const colName of unique.columns) if (!columnNames.has(colName)) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" unique constraint references non-existent column \"${colName}\"`, \"storage\");\n\t\tfor (const index of table.indexes) for (const colName of index.columns ?? []) if (!columnNames.has(colName)) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" index references non-existent column \"${colName}\"`, \"storage\");\n\t\tfor (const [colName, column] of Object.entries(table.columns)) if (!column.nullable && column.default?.kind === \"literal\" && column.default.value === null) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" column \"${colName}\" is NOT NULL but has a literal null default`, \"storage\");\n\t\tfor (const fk of table.foreignKeys) {\n\t\t\tif (fk.source.namespaceId !== namespaceId || fk.source.tableName !== tableName) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" contains foreignKey with mismatched source coordinates (${fk.source.namespaceId}.${fk.source.tableName})`, \"storage\");\n\t\t\tfor (const colName of fk.source.columns) if (!columnNames.has(colName)) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" foreignKey references non-existent column \"${colName}\"`, \"storage\");\n\t\t\tif (fk.target.spaceId === void 0) {\n\t\t\t\tconst referencedRaw = contract.storage.namespaces[fk.target.namespaceId]?.entries.table?.[fk.target.tableName];\n\t\t\t\tif (referencedRaw === void 0) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" foreignKey references non-existent table \"${fk.target.namespaceId}.${fk.target.tableName}\"`, \"storage\");\n\t\t\t\tconst referencedTable = blindCast(referencedRaw);\n\t\t\t\tconst referencedColumnNames = new Set(Object.keys(referencedTable.columns));\n\t\t\t\tfor (const colName of fk.target.columns) if (!referencedColumnNames.has(colName)) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" foreignKey references non-existent column \"${colName}\" in table \"${fk.target.tableName}\"`, \"storage\");\n\t\t\t}\n\t\t\tif (fk.source.columns.length !== fk.target.columns.length) throw new ContractValidationError(`Namespace \"${namespaceId}\" table \"${tableName}\" foreignKey column count (${fk.source.columns.length}) does not match referenced column count (${fk.target.columns.length})`, \"storage\");\n\t\t}\n\t}\n}\n/**\n* Full SQL contract validation: structural (arktype) +\n* framework-shared domain + SQL storage logical-consistency + SQL\n* storage semantic + model ↔ storage reference checks. Throws\n* `ContractValidationError` on the first failure. Returns the\n* validated flat-data shape; IR class hydration happens in the SPI\n* base on top of this helper.\n*/\nfunction validateSqlContractFully(value, options) {\n\tconst validated = validateSqlContractStructure(typeof value === \"object\" && value !== null ? (() => {\n\t\tconst { schemaVersion: _, _generated: _g, ...rest } = blindCast(value);\n\t\treturn rest;\n\t})() : value, options?.contractSchema ?? SqlContractSchema);\n\tvalidateContractDomain({\n\t\troots: validated.roots,\n\t\tdomain: validated.domain\n\t});\n\tvalidateSqlStorageConsistency(validated);\n\tconst semanticErrors = validateStorageSemantics(validated.storage);\n\tif (semanticErrors.length > 0) throw new ContractValidationError(`Contract semantic validation failed: ${semanticErrors.join(\"; \")}`, \"storage\");\n\tvalidateModelStorageReferences(validated);\n\tvalidateExecutionDefaultsTargetMappedColumns(validated);\n\tvalidateRelationJoinFields(validated);\n\tvalidateRelationThroughConsistency(validated);\n\tvalidateToOneRelationNullabilityAgainstStorage(validated);\n\treturn validated;\n}\n/**\n* A same-space to-one relation that states `nullable` must agree with its local FK columns:\n* nullable exactly when one of them is nullable (a column that cannot be resolved counts as\n* nullable). A relation without the flag is left to hydration, which derives it the same way.\n*/\nfunction validateToOneRelationNullabilityAgainstStorage(contract) {\n\tfor (const [namespaceId, namespace] of Object.entries(contract.domain.namespaces)) for (const [modelName, model] of Object.entries(namespace.models)) {\n\t\tconst storage = blindCast(model.storage);\n\t\tfor (const [relationName, relation] of Object.entries(model.relations)) {\n\t\t\tif (!(\"on\" in relation && (relation.cardinality === \"1:1\" || relation.cardinality === \"N:1\") && relation.to.space === void 0) || relation.nullable === void 0) continue;\n\t\t\tconst location = `Relation \"${relationName}\" on model \"${namespaceId}:${modelName}\"`;\n\t\t\tconst { ownsForeignKey, columns } = resolveSqlToOneRelationStorage(contract, storage, relation);\n\t\t\tif (!ownsForeignKey) {\n\t\t\t\tif (relation.nullable) continue;\n\t\t\t\tthrow new ContractValidationError(`${location} is required but does not own the foreign key, so nothing in storage guarantees the related row exists`, \"storage\");\n\t\t\t}\n\t\t\tconst anyNullable = columns.some((column) => column.nullable);\n\t\t\tif (relation.nullable === anyNullable) continue;\n\t\t\tconst columnList = columns.filter((column) => column.nullable !== relation.nullable).map((column) => `\"${column.name}\"`).join(\", \");\n\t\t\tthrow new ContractValidationError(relation.nullable ? `${location} is nullable but every local FK column is NOT NULL (columns ${columnList})` : `${location} is required but a local FK column is nullable (columns ${columnList})`, \"storage\");\n\t\t}\n\t}\n}\n/** Storage column lookup for through-consistency validation. */\nfunction lookupStorageColumn(contract, namespaceId, tableName, columnName) {\n\tconst rawTable = contract.storage.namespaces[namespaceId]?.entries.table?.[tableName];\n\tif (rawTable === void 0) return;\n\treturn blindCast(rawTable).columns[columnName];\n}\n/**\n* Two storage columns share a type when their `dataType` and `typeParams` match. `codecId` and\n* `nullable` are not compared: they do not change the database type that governs a join.\n*/\nfunction sameStorageType(a, b) {\n\treturn a.dataType === b.dataType && canonicalizeJson(a.typeParams ?? {}) === canonicalizeJson(b.typeParams ?? {});\n}\nfunction describeColumnType(column) {\n\treturn column.typeParams === void 0 ? column.dataType : `${column.dataType} ${canonicalizeJson(column.typeParams)}`;\n}\n/**\n* Validates one side of an N:M join: the junction columns and the model\n* columns they pair against positionally must be equal in number, exist in\n* their tables, and share the same storage type (`dataType` + `typeParams`).\n* The junction's storage foreign keys already guarantee this for user-declared\n* FK constraints, but `through` is a logical descriptor never tied to them by\n* the rest of validation — and the TS builder accepts explicit join columns\n* without requiring a junction FK at all — so this checks the columns directly\n* against storage, one path regardless of how the junction was authored.\n*\n* Joined columns must be the *same* storage type, not merely compatible:\n* relying on implicit conversion (e.g. `text`↔`character`) is unsafe on writes\n* — `character(n)` space-padding makes such coercions non-associative — and no\n* ADR sanctions heterogeneous junction columns. Equality is the conservative\n* default; it can be relaxed deliberately if a real use case ever appears.\n*/\nfunction validateThroughJoinSide(input) {\n\tconst fail = (detail) => new ContractValidationError(`Many-to-many relation \"${input.qualifiedName}\" ${detail}`, \"storage\");\n\tif (input.junctionColumns.length !== input.modelColumns.length) throw fail(`pairs ${input.junctionColumnsLabel} (${input.junctionColumns.length}) with ${input.modelColumnsLabel} (${input.modelColumns.length}) of differing length; they join positionally and must match.`);\n\tfor (const [index, junctionColumnName] of input.junctionColumns.entries()) {\n\t\tconst modelColumnRef = input.modelColumns[index];\n\t\tif (modelColumnRef === void 0) continue;\n\t\tconst junctionColumn = lookupStorageColumn(input.contract, input.junctionNamespaceId, input.junctionTable, junctionColumnName);\n\t\tif (junctionColumn === void 0) throw fail(`${input.junctionColumnsLabel} references column \"${junctionColumnName}\" absent from junction table \"${input.junctionNamespaceId}.${input.junctionTable}\".`);\n\t\tconst model = input.model;\n\t\tif (model === void 0) continue;\n\t\tlet modelColumnName = modelColumnRef;\n\t\tif (model.fieldToColumn !== void 0) {\n\t\t\tconst mapped = model.fieldToColumn[modelColumnRef];\n\t\t\tif (mapped === void 0) throw fail(`${input.modelColumnsLabel} references field \"${modelColumnRef}\" absent from model on table \"${model.namespaceId}.${model.table}\".`);\n\t\t\tmodelColumnName = mapped.column;\n\t\t}\n\t\tconst modelColumn = lookupStorageColumn(input.contract, model.namespaceId, model.table, modelColumnName);\n\t\tif (modelColumn === void 0) throw fail(`${input.modelColumnsLabel} references column \"${modelColumnName}\" absent from table \"${model.namespaceId}.${model.table}\".`);\n\t\tif (!sameStorageType(junctionColumn, modelColumn)) throw fail(`joins \"${input.junctionTable}.${junctionColumnName}\" (${describeColumnType(junctionColumn)}) with \"${model.table}.${modelColumnName}\" (${describeColumnType(modelColumn)}) of differing storage type; junction columns must match the type of the column they reference.`);\n\t}\n}\n/**\n* Validates that every N:M relation's `through` descriptor is consistent with\n* the storage columns it joins: both join sides match in column count,\n* reference columns that exist in their tables, and pair columns of the same\n* storage type. Without this, a `through` that disagrees with storage surfaces\n* as a silently wrong JOIN at query time rather than a validation error here.\n*/\nfunction validateRelationThroughConsistency(contract) {\n\tfor (const [namespaceId, namespace] of Object.entries(contract.domain.namespaces)) for (const [modelName, model] of Object.entries(namespace.models)) for (const [relationName, relation] of Object.entries(model.relations)) {\n\t\tif (relation.cardinality !== \"N:M\") continue;\n\t\tconst qualifiedName = `${namespaceId}.${modelName}.${relationName}`;\n\t\tconst { on, through } = relation;\n\t\tconst modelStorage = blindCast(model.storage);\n\t\tvalidateThroughJoinSide({\n\t\t\tcontract,\n\t\t\tqualifiedName,\n\t\t\tmodelColumns: on.localFields,\n\t\t\tmodelColumnsLabel: \"on.localFields\",\n\t\t\tmodel: {\n\t\t\t\tnamespaceId,\n\t\t\t\ttable: modelStorage.table,\n\t\t\t\tfieldToColumn: modelStorage.fields\n\t\t\t},\n\t\t\tjunctionColumns: through.parentColumns,\n\t\t\tjunctionColumnsLabel: \"through.parentColumns\",\n\t\t\tjunctionNamespaceId: through.namespaceId,\n\t\t\tjunctionTable: through.table\n\t\t});\n\t\tconst targetModel = relation.to.space === void 0 ? contract.domain.namespaces[relation.to.namespace]?.models[relation.to.model] : void 0;\n\t\tconst targetModelSide = targetModel === void 0 ? void 0 : {\n\t\t\tnamespaceId: relation.to.namespace,\n\t\t\ttable: blindCast(targetModel.storage).table\n\t\t};\n\t\tvalidateThroughJoinSide({\n\t\t\tcontract,\n\t\t\tqualifiedName,\n\t\t\tmodelColumns: through.targetColumns,\n\t\t\tmodelColumnsLabel: \"through.targetColumns\",\n\t\t\t...ifDefined(\"model\", targetModelSide),\n\t\t\tjunctionColumns: through.childColumns,\n\t\t\tjunctionColumnsLabel: \"through.childColumns\",\n\t\t\tjunctionNamespaceId: through.namespaceId,\n\t\t\tjunctionTable: through.table\n\t\t});\n\t}\n}\n//#endregion\nexport { CheckConstraintSchema, ColumnDefaultFunctionSchema, ColumnDefaultLiteralSchema, ColumnDefaultSchema, ContractEnumSchema, ForeignKeyReferenceSchema, ForeignKeySchema, ForeignKeySourceSchema, IndexSchema, ReferentialActionSchema, StorageTableSchema, StorageValueSetSchema, checkSqlDefaultText, createNamespaceEntrySchema, createSqlContractSchema, createSqlStorageSchema, reservedSqlDefaultText, resolveSqlToOneRelationStorage, validateExecutionDefaultsTargetMappedColumns, validateModel, validateModelStorageReferences, validateRelationJoinFields, validateSqlContractFully, validateSqlStorageConsistency, validateStorage, validateStorageSemantics, valueObjectStorageTypeMissingMessage };\n\n//# sourceMappingURL=validators.mjs.map"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validators-R-Wsy5Rr.d.mts","names":[],"sources":["../../../../2-sql/1-core/contract/dist/validators.d.mts"],"mappings":";;;;;;;;;;iBASiB,oBAAoB;;;;iBAIpB,uBAAuB;;;KAGnC;;;;;WAKM;;WAEA;aACE;aACA;;;;;;;iBAOI,+BAA+B,UAAU,SAAS,aAAa,cAAc,iBAAiB,UAAU,wBAAwB;;;KAG5I;WACM;WACA,mCAAmC;;KAEzC;WACM;WACA;;cAEG,0EAA0E,WAAW;cACrF,2EAA2E,WAAW;cACtF,mEAAmE,WAAW,uBAAuB;;;;;;cAMrG,qEAAqE;EACjF;EACA,8CAA8C;;cAElC,2DAA2D;EACvE;EACA;EACA;EACA;EACA;EACA;EACA;EACA,UAAU;;cAEE,yEAAyE;EACrF;EACA;EACA;EACA;;cAEY,sEAAsE;EAClF;EACA;EACA;;cAEY,uEAAuE,WAAW;cAClF,gEAAgE,WAAW;cAC3E,qEAAqE;EACjF;EACA;EACA;;cAEY,kEAAkE;EAC9E;KACG;MACC;MACA;MACA;MACA;QACE;;MAEF,aAAa;MACb;MACA,UAAU,uBAAuB;MACjC;MACA;QACE;QACA;QACA;QACA;QACA;;;;EAIN,kBAAkB;EAClB;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA,UAAU;;EAEZ,sBAAsB;EACtB,aAAa;EACb;EACA;IACE;IACA;IACA;;;;;;;;;cASU,kEAAkE;EAC9E;EACA;IACE;IACA,+CAA+C;;;;;;;;;;;iBAWlC,2BAA2B,OAAO,oBAAoB,2BAA2B;;;;;;;iBAOjF,uBAAuB,OAAO,oBAAoB,2BAA2B;;iBAE7E,qCAAqC;;;;;;iBAMrC,wBAAwB,OAAO,oBAAoB,2BAA2B;;;;;;;;;;iBAU9E,gBAAgB;iBAChB,cAAc;;;;;;;;;;;;;;;iBAed,yBAAyB,SAAS;;;;iBAIlC,+BAA+B,UAAU,SAAS;;;;iBAIlD,2BAA2B,UAAU,SAAS;;;;iBAI9C,6CAA6C,UAAU,SAAS;;;;;;;iBAOhE,8BAA8B,UAAU,SAAS;UACxD;;;;;;;;;WASC,iBAAiB;;;;;;;;;;iBAUX,yBAAyB,UAAU,SAAS,aAAa,gBAAgB,UAAU,kCAAkC"}