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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/dist/{ast-De8XGuVW.mjs → ast-BDwGvnKK.mjs} +4 -30
  2. package/dist/ast-BDwGvnKK.mjs.map +1 -0
  3. package/dist/{ast-Dp6lQXUX.d.mts → ast-DbmdIKFd.d.mts} +6 -14
  4. package/dist/ast-DbmdIKFd.d.mts.map +1 -0
  5. package/dist/{attribute-specs-BgdwJoq3.d.mts → attribute-specs-CKg3a2P_.d.mts} +3 -3
  6. package/dist/{attribute-specs-BgdwJoq3.d.mts.map → attribute-specs-CKg3a2P_.d.mts.map} +1 -1
  7. package/dist/{authoring-entity-types-CZ-vdwYS-CrNb3aBC.d.mts → authoring-entity-types-CZ-vdwYS-Cc7JCJ0Q.d.mts} +2 -2
  8. package/dist/{authoring-entity-types-CZ-vdwYS-CrNb3aBC.d.mts.map → authoring-entity-types-CZ-vdwYS-Cc7JCJ0Q.d.mts.map} +1 -1
  9. package/dist/{authoring-type-constructors-0Iv2zdwS-zu35z-Tg.mjs → authoring-type-constructors-0Iv2zdwS-BG0FZNDM.mjs} +2 -2
  10. package/dist/{authoring-type-constructors-0Iv2zdwS-zu35z-Tg.mjs.map → authoring-type-constructors-0Iv2zdwS-BG0FZNDM.mjs.map} +1 -1
  11. package/dist/builder.d.mts +3 -3
  12. package/dist/builder__runtime.d.mts +9 -9
  13. package/dist/builder__runtime.mjs +1 -1
  14. package/dist/builder__types.d.mts +5 -5
  15. package/dist/{collection-methods-BnR4UjcW-tiz3frtf.d.mts → collection-methods-BnR4UjcW-BY8ZGjfa.d.mts} +3 -3
  16. package/dist/{collection-methods-BnR4UjcW-tiz3frtf.d.mts.map → collection-methods-BnR4UjcW-BY8ZGjfa.d.mts.map} +1 -1
  17. package/dist/collection-methods-iWGpEfkq.d.mts +1 -0
  18. package/dist/{config-types-Ci51fcnp.d.mts → config-types-C2mASmPh.d.mts} +3 -3
  19. package/dist/{config-types-Ci51fcnp.d.mts.map → config-types-C2mASmPh.d.mts.map} +1 -1
  20. package/dist/{config-types-DyZXyiNb.mjs → config-types-CrREu8Fa.mjs} +2 -2
  21. package/dist/{config-types-DyZXyiNb.mjs.map → config-types-CrREu8Fa.mjs.map} +1 -1
  22. package/dist/{contract-builder-C4fgERNT.d.mts → contract-builder-ClsLO9DI.d.mts} +464 -101
  23. package/dist/contract-builder-ClsLO9DI.d.mts.map +1 -0
  24. package/dist/{contract-builder-B_oFvMWk.mjs → contract-builder-Du_YOA1B.mjs} +10 -9
  25. package/dist/contract-builder-Du_YOA1B.mjs.map +1 -0
  26. package/dist/contract-emitter.d.mts +1 -0
  27. package/dist/contract-emitter.d.mts.map +1 -1
  28. package/dist/contract-emitter.mjs +1 -1
  29. package/dist/contract-prisma7__provider.d.mts +1 -1
  30. package/dist/contract-prisma7__provider.mjs +6 -6
  31. package/dist/contract-psl.d.mts +3 -3
  32. package/dist/contract-psl.d.mts.map +1 -1
  33. package/dist/contract-psl.mjs +1 -1
  34. package/dist/contract-psl__attribute-specs.d.mts +1 -1
  35. package/dist/contract-psl__attribute-specs.mjs +1 -1
  36. package/dist/contract-psl__diagnostics.d.mts +12 -0
  37. package/dist/contract-psl__diagnostics.d.mts.map +1 -0
  38. package/dist/contract-psl__diagnostics.mjs +2 -0
  39. package/dist/contract-psl__provider.d.mts +1 -1
  40. package/dist/contract-psl__provider.mjs +2 -2
  41. package/dist/contract-psl__provider.mjs.map +1 -1
  42. package/dist/contract-ts.d.mts +4 -4
  43. package/dist/contract-ts.mjs +3 -3
  44. package/dist/contract-ts__config-types.d.mts +1 -1
  45. package/dist/contract-ts__config-types.mjs +1 -1
  46. package/dist/contract-ts__contract-builder.d.mts +3 -3
  47. package/dist/contract-ts__contract-builder.mjs +2 -2
  48. package/dist/contract.d.mts +8 -8
  49. package/dist/contract.mjs +4 -4
  50. package/dist/contract__data-type.d.mts +2 -2
  51. package/dist/contract__data-type.mjs +1 -1
  52. package/dist/contract__factories.d.mts +1 -1
  53. package/dist/contract__foreign-key-materialization.d.mts +1 -1
  54. package/dist/contract__foreign-key-materialization.mjs +2 -2
  55. package/dist/contract__index-type-validation.d.mts +1 -1
  56. package/dist/contract__types.d.mts +3 -3
  57. package/dist/contract__validators.d.mts +1 -1
  58. package/dist/contract__validators.mjs +1 -1
  59. package/dist/{control-CyY2Ijms.d.mts → control-Ced1D4yz.d.mts} +17 -16
  60. package/dist/control-Ced1D4yz.d.mts.map +1 -0
  61. package/dist/{control-_KWRuSBH.mjs → control-DiLXYDZc.mjs} +15 -10
  62. package/dist/control-DiLXYDZc.mjs.map +1 -0
  63. package/dist/{control-adapter-CkFfBVei-DH5DAObc.d.mts → control-adapter-CkFfBVei-4WUzQP7G.d.mts} +8 -8
  64. package/dist/{control-adapter-CkFfBVei-DH5DAObc.d.mts.map → control-adapter-CkFfBVei-4WUzQP7G.d.mts.map} +1 -1
  65. package/dist/control-adapter-pn8u9o3J.d.mts +1 -0
  66. package/dist/{data-type-gKl5DBHw.d.mts → data-type-CYsho6Yd.d.mts} +4 -12
  67. package/dist/data-type-CYsho6Yd.d.mts.map +1 -0
  68. package/dist/{data-type-BgP6Wv48.mjs → data-type-DU0mtme5.mjs} +18 -9
  69. package/dist/data-type-DU0mtme5.mjs.map +1 -0
  70. package/dist/{db-BmrN9nRS-CDq1n2be.d.mts → db-BmrN9nRS-CkMIL55t.d.mts} +12 -12
  71. package/dist/{db-BmrN9nRS-CDq1n2be.d.mts.map → db-BmrN9nRS-CkMIL55t.d.mts.map} +1 -1
  72. package/dist/{ddl-types-DtKZjNtN-CwtcEWLd.d.mts → ddl-types-DtKZjNtN-BCpmdMQF.d.mts} +3 -3
  73. package/dist/{ddl-types-DtKZjNtN-CwtcEWLd.d.mts.map → ddl-types-DtKZjNtN-BCpmdMQF.d.mts.map} +1 -1
  74. package/dist/{type-map-BMCZ_fb9-BTmWHQ-J.d.mts → default-mapping-B8_APB1M-CWcTmSQW.d.mts} +3 -22
  75. package/dist/default-mapping-B8_APB1M-CWcTmSQW.d.mts.map +1 -0
  76. package/dist/{derived-checks-BPWwhTds-Cy93UfrT.mjs → derived-checks-BVSHiu2A-CzEmkTMg.mjs} +18 -6
  77. package/dist/{derived-checks-BPWwhTds-Cy93UfrT.mjs.map → derived-checks-BVSHiu2A-CzEmkTMg.mjs.map} +1 -1
  78. package/dist/{derived-checks-DpPkO6Dt-ZEbWeWKL.d.mts → derived-checks-DpPkO6Dt--oL-Zi3r.d.mts} +2 -2
  79. package/dist/{derived-checks-DpPkO6Dt-ZEbWeWKL.d.mts.map → derived-checks-DpPkO6Dt--oL-Zi3r.d.mts.map} +1 -1
  80. package/dist/diagnostics-C8YevjSU.mjs +21 -0
  81. package/dist/diagnostics-C8YevjSU.mjs.map +1 -0
  82. package/dist/{diff-C-18M6Ii.d.mts → diff-Cx7qTc2x.d.mts} +7 -7
  83. package/dist/{diff-C-18M6Ii.d.mts.map → diff-Cx7qTc2x.d.mts.map} +1 -1
  84. package/dist/{dist-Dswy-oRP.mjs → dist-D4FKWSKx.mjs} +30 -41
  85. package/dist/dist-D4FKWSKx.mjs.map +1 -0
  86. package/dist/{expression-CNBCbbzU-BG3rv8Wb.d.mts → expression-CNBCbbzU-DnvLZYf4.d.mts} +3 -3
  87. package/dist/{expression-CNBCbbzU-BG3rv8Wb.d.mts.map → expression-CNBCbbzU-DnvLZYf4.d.mts.map} +1 -1
  88. package/dist/{expression-Ck1wys3N-RNyviMcU.d.mts → expression-Ck1wys3N-CBfr-HMG.d.mts} +6 -6
  89. package/dist/{expression-Ck1wys3N-RNyviMcU.d.mts.map → expression-Ck1wys3N-CBfr-HMG.d.mts.map} +1 -1
  90. package/dist/expression-eDSWdiqh.d.mts +2 -0
  91. package/dist/{factories-BVIVyHQU.d.mts → factories-2LNVsQ2j.d.mts} +2 -2
  92. package/dist/{factories-BVIVyHQU.d.mts.map → factories-2LNVsQ2j.d.mts.map} +1 -1
  93. package/dist/family.d.mts +14 -14
  94. package/dist/family.mjs +7 -7
  95. package/dist/family__control-adapter.d.mts +2 -2
  96. package/dist/family__control.d.mts +4 -4
  97. package/dist/family__control.mjs +3 -3
  98. package/dist/family__diff.d.mts +2 -2
  99. package/dist/family__diff.mjs +1 -1
  100. package/dist/family__ir.d.mts +1 -1
  101. package/dist/family__ir.mjs +1 -1
  102. package/dist/family__migration.d.mts +1 -1
  103. package/dist/family__pack.d.mts +1 -1
  104. package/dist/family__pack.mjs +2 -2
  105. package/dist/family__psl-build.d.mts +3 -3
  106. package/dist/family__psl-build.mjs +2 -2
  107. package/dist/family__psl-infer.d.mts +1 -1
  108. package/dist/family__psl-infer.mjs +1 -1
  109. package/dist/{foreign-key-materialization-DBYDet74.d.mts → foreign-key-materialization-DJ6uhBba.d.mts} +3 -3
  110. package/dist/{foreign-key-materialization-DBYDet74.d.mts.map → foreign-key-materialization-DJ6uhBba.d.mts.map} +1 -1
  111. package/dist/{foreign-key-materialization-DyoakLGY.mjs → foreign-key-materialization-DibQ9Hjg.mjs} +2 -2
  112. package/dist/{foreign-key-materialization-DyoakLGY.mjs.map → foreign-key-materialization-DibQ9Hjg.mjs.map} +1 -1
  113. package/dist/{functions-CJ8Yf8uL.d.mts → functions-DucgffNf.d.mts} +6 -6
  114. package/dist/{functions-CJ8Yf8uL.d.mts.map → functions-DucgffNf.d.mts.map} +1 -1
  115. package/dist/{index-We-mbWnZ.d.mts → index-CJlr0Eja.d.mts} +3 -3
  116. package/dist/{index-We-mbWnZ.d.mts.map → index-CJlr0Eja.d.mts.map} +1 -1
  117. package/dist/{index-UHjF-U84.d.mts → index-DuD4M3b8.d.mts} +19 -19
  118. package/dist/{index-UHjF-U84.d.mts.map → index-DuD4M3b8.d.mts.map} +1 -1
  119. package/dist/{index-equivalence-DswCiq5l-_gF1Un8p.mjs → index-equivalence-DswCiq5l-DlC2yTK1.mjs} +2 -2
  120. package/dist/{index-equivalence-DswCiq5l-_gF1Un8p.mjs.map → index-equivalence-DswCiq5l-DlC2yTK1.mjs.map} +1 -1
  121. package/dist/index-reference-CrohwmmB.d.mts +1 -0
  122. package/dist/{index-reference-DJX-CNsb-D2qUlYq2.d.mts → index-reference-DJX-CNsb-C1fCMhrJ.d.mts} +3 -3
  123. package/dist/{index-reference-DJX-CNsb-D2qUlYq2.d.mts.map → index-reference-DJX-CNsb-C1fCMhrJ.d.mts.map} +1 -1
  124. package/dist/{index-type-validation-D7-fPxIJ.d.mts → index-type-validation-P4WLRyZA.d.mts} +2 -2
  125. package/dist/{index-type-validation-D7-fPxIJ.d.mts.map → index-type-validation-P4WLRyZA.d.mts.map} +1 -1
  126. package/dist/{interpreter-C3Ltz47m-BM7A_CmQ.mjs → interpreter-y1GRudgs-DnP0uDGL.mjs} +7 -5
  127. package/dist/interpreter-y1GRudgs-DnP0uDGL.mjs.map +1 -0
  128. package/dist/{ir-OBn7ct21.d.mts → ir-BEQwEnRB.d.mts} +2 -2
  129. package/dist/{ir-OBn7ct21.d.mts.map → ir-BEQwEnRB.d.mts.map} +1 -1
  130. package/dist/middleware-DTu2jl68.d.mts +1 -0
  131. package/dist/{middleware-YsFLC19Y-xhimGDiS.d.mts → middleware-YsFLC19Y-Dot9R8QY.d.mts} +2 -2
  132. package/dist/{middleware-YsFLC19Y-xhimGDiS.d.mts.map → middleware-YsFLC19Y-Dot9R8QY.d.mts.map} +1 -1
  133. package/dist/{migration-Bdt_UrTg.d.mts → migration-Cc102YUu.d.mts} +3 -3
  134. package/dist/{migration-Bdt_UrTg.d.mts.map → migration-Cc102YUu.d.mts.map} +1 -1
  135. package/dist/operations.d.mts +1 -1
  136. package/dist/orm-client.d.mts +38 -32
  137. package/dist/orm-client.d.mts.map +1 -1
  138. package/dist/orm-client.mjs +1 -1
  139. package/dist/{pack-DOLmsrEs.d.mts → pack-DI4Nur5d.d.mts} +3 -3
  140. package/dist/{pack-DOLmsrEs.d.mts.map → pack-DI4Nur5d.d.mts.map} +1 -1
  141. package/dist/plan-CuSLaQdv.d.mts +2 -0
  142. package/dist/{plan-cGEaSXHv-j0w37mVT.d.mts → plan-cGEaSXHv-Bv-SBtFA.d.mts} +3 -3
  143. package/dist/{plan-cGEaSXHv-j0w37mVT.d.mts.map → plan-cGEaSXHv-Bv-SBtFA.d.mts.map} +1 -1
  144. package/dist/psl-attribute-parsing-BCsFWsSp-LaNsbcrw.mjs +42 -0
  145. package/dist/psl-attribute-parsing-BCsFWsSp-LaNsbcrw.mjs.map +1 -0
  146. package/dist/{psl-build-C3WT2pWV.mjs → psl-build-8bx9WTUt.mjs} +113 -4
  147. package/dist/psl-build-8bx9WTUt.mjs.map +1 -0
  148. package/dist/psl-build-PXVtl8gM.d.mts +73 -0
  149. package/dist/psl-build-PXVtl8gM.d.mts.map +1 -0
  150. package/dist/{psl-column-resolution-Cj4gkj9H-Cu2xVY6w.d.mts → psl-column-resolution-BCkhNzOK-0Gry4LFl.d.mts} +5 -5
  151. package/dist/psl-column-resolution-BCkhNzOK-0Gry4LFl.d.mts.map +1 -0
  152. package/dist/{psl-field-resolution-ztVU6TV2-BSBajXoF.mjs → psl-field-resolution-4U7Plpfb-CCfgoBAa.mjs} +7 -41
  153. package/dist/psl-field-resolution-4U7Plpfb-CCfgoBAa.mjs.map +1 -0
  154. package/dist/{psl-infer-DHO72J_m.mjs → psl-infer-CG0_wra6.mjs} +2 -2
  155. package/dist/{psl-infer-DHO72J_m.mjs.map → psl-infer-CG0_wra6.mjs.map} +1 -1
  156. package/dist/{psl-infer-Dp_NzWE0.d.mts → psl-infer-g040TwAr.d.mts} +4 -6
  157. package/dist/psl-infer-g040TwAr.d.mts.map +1 -0
  158. package/dist/query-lane-context-C29KGcgz.d.mts +1 -0
  159. package/dist/{query-lane-context-C42-u9L1-Bxa4DkI_.d.mts → query-lane-context-C42-u9L1-CUP3uW4A.d.mts} +6 -6
  160. package/dist/{query-lane-context-C42-u9L1-Bxa4DkI_.d.mts.map → query-lane-context-C42-u9L1-CUP3uW4A.d.mts.map} +1 -1
  161. package/dist/relational-core.d.mts +13 -13
  162. package/dist/relational-core.mjs +2 -2
  163. package/dist/relational-core__aggregate-descriptor-registry.d.mts +1 -1
  164. package/dist/relational-core__ast.d.mts +4 -4
  165. package/dist/relational-core__ast.mjs +2 -2
  166. package/dist/relational-core__codec-descriptor-registry.d.mts +3 -3
  167. package/dist/relational-core__collection-methods.d.mts +2 -2
  168. package/dist/relational-core__contract-free.d.mts +3 -3
  169. package/dist/relational-core__expression.d.mts +3 -3
  170. package/dist/relational-core__functions.d.mts +1 -1
  171. package/dist/relational-core__index-reference.d.mts +2 -2
  172. package/dist/relational-core__middleware.d.mts +2 -2
  173. package/dist/relational-core__plan.d.mts +3 -3
  174. package/dist/relational-core__query-lane-context.d.mts +2 -2
  175. package/dist/relational-core__types.d.mts +2 -2
  176. package/dist/runtime.d.mts +4 -4
  177. package/dist/runtime__internal__prepared-query.d.mts +1 -1
  178. package/dist/{schema-differ-CqWOkoW9-DQkzKV8b.d.mts → schema-differ-CqWOkoW9-DAcuiQPU.d.mts} +4 -4
  179. package/dist/{schema-differ-CqWOkoW9-DQkzKV8b.d.mts.map → schema-differ-CqWOkoW9-DAcuiQPU.d.mts.map} +1 -1
  180. package/dist/schema-ir.d.mts +2 -2
  181. package/dist/schema-ir.mjs +1 -1
  182. package/dist/schema-ir__types.d.mts +3 -3
  183. package/dist/schema-ir__types.mjs +1 -1
  184. package/dist/{schema-verify-DIfHSB4I-Du0-5I8k.mjs → schema-verify-DIfHSB4I-CU6ViTDO.mjs} +2 -2
  185. package/dist/{schema-verify-DIfHSB4I-Du0-5I8k.mjs.map → schema-verify-DIfHSB4I-CU6ViTDO.mjs.map} +1 -1
  186. package/dist/{sql-contract-serializer-DDaAVCQr-BAb4jKvV.mjs → sql-contract-serializer-DDaAVCQr-DFIIkxQr.mjs} +2 -2
  187. package/dist/{sql-contract-serializer-DDaAVCQr-BAb4jKvV.mjs.map → sql-contract-serializer-DDaAVCQr-DFIIkxQr.mjs.map} +1 -1
  188. package/dist/{sql-execution-plan-C7XauPPu-eskZJbmm.d.mts → sql-execution-plan-C7XauPPu-DI9L8IkC.d.mts} +2 -2
  189. package/dist/{sql-execution-plan-C7XauPPu-eskZJbmm.d.mts.map → sql-execution-plan-C7XauPPu-DI9L8IkC.d.mts.map} +1 -1
  190. package/dist/{transaction-state-DR3nKTmH-BZ-54Zu0.d.mts → transaction-state-DR3nKTmH-CkkfiS9z.d.mts} +9 -9
  191. package/dist/{transaction-state-DR3nKTmH-BZ-54Zu0.d.mts.map → transaction-state-DR3nKTmH-CkkfiS9z.d.mts.map} +1 -1
  192. package/dist/types-BhcBOXu7.d.mts +1 -0
  193. package/dist/{types-DIZSW9JI-DNUF-RnL.d.mts → types-C-z8HyiZ-1Nhw0pHj.d.mts} +17 -3
  194. package/dist/types-C-z8HyiZ-1Nhw0pHj.d.mts.map +1 -0
  195. package/dist/types-CJK7FBdw.d.mts +1 -0
  196. package/dist/{types-Cl4MLNrS-lbf-K25i.d.mts → types-Cl4MLNrS-GHKQvTNi.d.mts} +8 -8
  197. package/dist/{types-Cl4MLNrS-lbf-K25i.d.mts.map → types-Cl4MLNrS-GHKQvTNi.d.mts.map} +1 -1
  198. package/dist/{types-CzxOObSY-BxwvvyRZ.d.mts → types-CzxOObSY-DTQ2rnLF.d.mts} +7 -7
  199. package/dist/{types-CzxOObSY-BxwvvyRZ.d.mts.map → types-CzxOObSY-DTQ2rnLF.d.mts.map} +1 -1
  200. package/dist/{types-D0GFxty0-CP8b4dR3.mjs → types-DvhckjSz-Cm0Oodhr.mjs} +3 -2
  201. package/dist/types-DvhckjSz-Cm0Oodhr.mjs.map +1 -0
  202. package/dist/types-HD5m-h8B.d.mts +67 -0
  203. package/dist/types-HD5m-h8B.d.mts.map +1 -0
  204. package/dist/{types-Sh5HuaZE-CqThc46M.d.mts → types-Sh5HuaZE-Dq4AUzl7.d.mts} +2 -2
  205. package/dist/{types-Sh5HuaZE-CqThc46M.d.mts.map → types-Sh5HuaZE-Dq4AUzl7.d.mts.map} +1 -1
  206. package/dist/{types-DFZhLz18-Msi8wwig.d.mts → types-zwKzjyma-CxZkmkUI.d.mts} +114 -3
  207. package/dist/types-zwKzjyma-CxZkmkUI.d.mts.map +1 -0
  208. package/dist/{validators-CudqzmkF.d.mts → validators-BifwoR5e.d.mts} +2 -2
  209. package/dist/{validators-CudqzmkF.d.mts.map → validators-BifwoR5e.d.mts.map} +1 -1
  210. package/dist/{validators-BMWQ7-5D.mjs → validators-CfUrQdiv.mjs} +2 -2
  211. package/dist/{validators-BMWQ7-5D.mjs.map → validators-CfUrQdiv.mjs.map} +1 -1
  212. package/package.json +19 -18
  213. package/dist/ast-De8XGuVW.mjs.map +0 -1
  214. package/dist/ast-Dp6lQXUX.d.mts.map +0 -1
  215. package/dist/collection-methods-DoBrRR69.d.mts +0 -1
  216. package/dist/contract-builder-B_oFvMWk.mjs.map +0 -1
  217. package/dist/contract-builder-C4fgERNT.d.mts.map +0 -1
  218. package/dist/control-CyY2Ijms.d.mts.map +0 -1
  219. package/dist/control-_KWRuSBH.mjs.map +0 -1
  220. package/dist/control-adapter-DB7MPI5L.d.mts +0 -1
  221. package/dist/data-type-BgP6Wv48.mjs.map +0 -1
  222. package/dist/data-type-gKl5DBHw.d.mts.map +0 -1
  223. package/dist/dist-Dswy-oRP.mjs.map +0 -1
  224. package/dist/expression-DWcDQHh9.d.mts +0 -2
  225. package/dist/index-reference-ZZrszBDq.d.mts +0 -1
  226. package/dist/interpreter-C3Ltz47m-BM7A_CmQ.mjs.map +0 -1
  227. package/dist/middleware-DOKGNt72.d.mts +0 -1
  228. package/dist/plan-_8dKi13Q.d.mts +0 -2
  229. package/dist/psl-build-C3WT2pWV.mjs.map +0 -1
  230. package/dist/psl-build-TrbDSGOA.d.mts +0 -13
  231. package/dist/psl-build-TrbDSGOA.d.mts.map +0 -1
  232. package/dist/psl-column-resolution-Cj4gkj9H-Cu2xVY6w.d.mts.map +0 -1
  233. package/dist/psl-field-resolution-ztVU6TV2-BSBajXoF.mjs.map +0 -1
  234. package/dist/psl-infer-Dp_NzWE0.d.mts.map +0 -1
  235. package/dist/query-lane-context-DW5q2RAY.d.mts +0 -1
  236. package/dist/type-map-BMCZ_fb9-BTmWHQ-J.d.mts.map +0 -1
  237. package/dist/types-BkA6tyT-.d.mts +0 -1
  238. package/dist/types-D0GFxty0-CP8b4dR3.mjs.map +0 -1
  239. package/dist/types-DFZhLz18-Msi8wwig.d.mts.map +0 -1
  240. package/dist/types-DIZSW9JI-DNUF-RnL.d.mts.map +0 -1
  241. package/dist/types-DqSCaTK3.d.mts +0 -1
  242. package/dist/types-Uv3oTMAb.d.mts +0 -18
  243. package/dist/types-Uv3oTMAb.d.mts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"psl-field-resolution-ztVU6TV2-BSBajXoF.mjs","names":["describeTaggedLiteralFailure"],"sources":["../../../../2-sql/2-authoring/contract-psl/dist/psl-field-resolution-ztVU6TV2.mjs"],"sourcesContent":["import { bool, dataTypeValue, diagnosticSource, entityRef, fieldAttribute, fieldRef, funcCall, identifier, interpretAttribute, leafDiagnostic, list, mapArg, modelAttribute, nodePslSpan, numLiteral, oneOf, optional, record, referencedFieldRef, str, taggedLiteral, typeReferenceNode, writtenList, writtenScalar } from \"@internal/psl-parser\";\nimport { isValueObjectMember, storedAsListColumn } from \"@internal/sql-contract-ts/contract-builder\";\nimport { assertDefined, invariant } from \"@internal/utils/assertions\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { InternalError, isInternalError } from \"@internal/utils/internal-error\";\nimport { admittedForms, castTypedValue, describeExpected, describeRefusal, describeRefusedValueType, exactRewrite, instantiateAuthoringTypeConstructor, isAuthoringEntityTypeDescriptor, readWrittenValue, tagForm, validateAuthoringHelperArguments, validateAuthoringTypeParams } from \"@internal/framework-components/authoring\";\nimport { describeTaggedLiteralFailure } from \"@internal/framework-components/control\";\nimport { instantiatePslFieldPreset, isBareTypeConstructor, mapPslHelperArgs, reportPresetNotCalled, reportTypeConstructorNotCalled } from \"@internal/psl-parser/interpret\";\nimport { SQL_EXPRESSION_DATA_TYPE_ID, SQL_EXPRESSION_TAG, sqlTextFromCanonical } from \"@internal/sql-contract/sql-expression\";\nimport { checkSqlDefaultText, reservedSqlDefaultText } from \"@internal/sql-contract/validators\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { canonicalFormOf, codecForRef } from \"@internal/framework-components/codec\";\nimport { FunctionCallAst } from \"@internal/psl-parser/syntax\";\nimport { notOk, ok } from \"@internal/utils/result\";\n//#region src/psl-attribute-parsing.ts\nfunction storageName(symbol, physicalNames) {\n\tconst name = physicalNames.get(symbol);\n\tassertDefined(name, \"Physical names are populated for every model and field before lowering\");\n\treturn name;\n}\nfunction getAttribute(attributes, name) {\n\treturn attributes?.find((attribute) => attribute.name === name);\n}\nfunction formatDbAttributeMigrationMessage(attribute) {\n\tconst renderedArguments = attribute.args.map((argument) => argument.kind === \"named\" && argument.name !== void 0 ? `${argument.name}: ${argument.value}` : argument.value).join(\", \");\n\tconst argumentList = attribute.args.length === 0 ? \"\" : `(${renderedArguments})`;\n\tconst constructorName = attribute.name.slice(3);\n\treturn `@${attribute.name}${argumentList} is no longer supported; use ${constructorName}${argumentList} in type position`;\n}\nfunction getNamedArgument(attribute, name) {\n\tconst entry = attribute.args.find((arg) => arg.kind === \"named\" && arg.name === name);\n\tif (entry?.kind !== \"named\") return;\n\treturn entry.value;\n}\nfunction mapFieldNamesToColumns(input) {\n\tconst columns = [];\n\tfor (const fieldName of input.fieldNames) {\n\t\tconst field = input.model.fields[fieldName];\n\t\tif (field === void 0) {\n\t\t\tinput.diagnostics.push({\n\t\t\t\tcode: \"PSL_INVALID_ATTRIBUTE_ARGUMENT\",\n\t\t\t\tmessage: `${input.entityLabel} references unknown field \"${input.model.name}.${fieldName}\"`,\n\t\t\t\t...input.source.at(input.span)\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tcolumns.push(storageName(field, input.physicalNames));\n\t}\n\treturn columns;\n}\n//#endregion\n//#region src/contract-errors.ts\nfunction contractError(code, message, options) {\n\treturn structuredError(code, message, options);\n}\n//#endregion\n//#region src/data-type-default.ts\n/** A written value the column's codec refuses. */\nconst PSL_INVALID_DEFAULT_LITERAL = \"PSL_INVALID_DEFAULT_LITERAL\";\n/** A written value whose data type the receiving type neither is nor casts from. */\nconst PSL_VALUE_TYPE_INCOMPATIBLE = \"PSL_VALUE_TYPE_INCOMPATIBLE\";\n/** A single value written as the default of a column that holds a list. */\nconst PSL_DEFAULT_LIST_EXPECTED = \"PSL_DEFAULT_LIST_EXPECTED\";\nfunction messageOf(error) {\n\treturn error instanceof Error ? error.message : String(error);\n}\nfunction refused(refusal, suggestedTypes) {\n\treturn {\n\t\tok: false,\n\t\trefusal,\n\t\tsuggestedTypes\n\t};\n}\nfunction readOneValue(dataTypes, written, elementIndex, suggestedTypes) {\n\tconst read = readWrittenValue(dataTypes, written);\n\treturn read.ok ? {\n\t\tok: true,\n\t\ttyped: read.value\n\t} : refused({\n\t\t...read.failure,\n\t\telementIndex\n\t}, suggestedTypes);\n}\n/** The column's `typeParams` as the codec reference carries them, so `vector(3)` checks its length. */\nfunction codecRefTypeParams(typeParams) {\n\treturn typeParams === void 0 ? void 0 : blindCast(typeParams);\n}\n/** A value in the canonical form of the column's values, when they have one. */\nfunction inCanonicalForm(toCanonicalForm, value, elementIndex, suggestedTypes) {\n\tif (toCanonicalForm === void 0) return {\n\t\tok: true,\n\t\tvalue\n\t};\n\ttry {\n\t\treturn {\n\t\t\tok: true,\n\t\t\tvalue: toCanonicalForm(value)\n\t\t};\n\t} catch (error) {\n\t\tif (isInternalError(error)) throw error;\n\t\treturn {\n\t\t\tok: false,\n\t\t\trefusal: {\n\t\t\t\tkind: \"unreadable\",\n\t\t\t\tmessage: messageOf(error),\n\t\t\t\telementIndex\n\t\t\t},\n\t\t\tsuggestedTypes\n\t\t};\n\t}\n}\n/**\n* The column's codec descriptor, and `read`, which reads a value in its stored JSON form with the column's codec, built with the column's type parameters, and gives it the canonical form of the column's values.\n*/\nfunction storedValueReader(input) {\n\tconst descriptor = input.codecLookup.descriptorFor(input.column.codecId);\n\tconst codec = codecForRef(input.codecLookup, {\n\t\tcodecId: input.column.codecId,\n\t\t...ifDefined(\"typeParams\", codecRefTypeParams(input.column.typeParams))\n\t});\n\tif (codec === void 0 || descriptor === void 0) throw new InternalError(`Field \"${input.fieldPath}\": no codec descriptor is registered for \"${input.column.codecId}\", but the column was resolved from one.`);\n\tconst suggestedTypes = [descriptor.dataType];\n\tconst toCanonicalForm = canonicalFormOf(descriptor, input.dataTypeLookup);\n\tconst read = (written, elementIndex) => {\n\t\ttry {\n\t\t\tcodec.decodeJson(written);\n\t\t} catch (error) {\n\t\t\tif (isInternalError(error)) throw error;\n\t\t\treturn {\n\t\t\t\tok: false,\n\t\t\t\trefusal: {\n\t\t\t\t\tkind: \"refused-by-codec\",\n\t\t\t\t\tcodecId: input.column.codecId,\n\t\t\t\t\tmessage: messageOf(error),\n\t\t\t\t\telementIndex\n\t\t\t\t},\n\t\t\t\tsuggestedTypes\n\t\t\t};\n\t\t}\n\t\treturn inCanonicalForm(toCanonicalForm, written, elementIndex, suggestedTypes);\n\t};\n\treturn {\n\t\tdescriptor,\n\t\tread\n\t};\n}\n/**\n* Reads a value already in its stored JSON form, such as one member of a JSON document default, with the column's codec, and gives it the canonical form of the column's values. Worded as {@link lowerDataTypeDefault} words the same refusals.\n*/\nfunction readStoredValue(input) {\n\tconst reading = storedValueReader(input).read(input.value, void 0);\n\treturn reading.ok ? reading : {\n\t\tok: false,\n\t\t...storedRefusalMessage(reading.refusal, `Field \"${input.fieldPath}\"`)\n\t};\n}\n/**\n* Read one `@default(...)` value for a column, refusing in parts so each contract source words its\n* own diagnostic. `isList` selects the check: a list column's elements are each read and cast\n* against the element codec's data type, while a scalar column takes a written list only through\n* its type's list cast — which is how `pgvector.Vector(3) @default([0.1, 0.2])` is read.\n*/\nfunction readDataTypeDefault(input) {\n\tconst { descriptor, read: readStored } = storedValueReader({\n\t\t...input,\n\t\tdataTypeLookup: input.dataTypes.lookup\n\t});\n\tconst columnType = descriptor.dataType;\n\tconst suggestedTypes = [columnType];\n\tconst readOne = (written, elementIndex) => {\n\t\tconst read = readOneValue(input.dataTypes, written, elementIndex, suggestedTypes);\n\t\tif (!read.ok) return read;\n\t\tconst cast = castTypedValue(input.dataTypes, columnType, read.typed);\n\t\tif (!cast.ok) return refused({\n\t\t\t...cast.failure,\n\t\t\telementIndex\n\t\t}, suggestedTypes);\n\t\treturn readStored(cast.value.value, elementIndex);\n\t};\n\tif (input.written.kind !== \"list\") {\n\t\tif (input.isList) return refused({\n\t\t\tkind: \"not-a-list\",\n\t\t\telementIndex: void 0\n\t\t}, suggestedTypes);\n\t\treturn readOne(input.written, void 0);\n\t}\n\tif (input.isList) {\n\t\tconst elements = [];\n\t\tfor (const [elementIndex, written] of input.written.elements.entries()) {\n\t\t\tif (written.kind === \"list\") return nestedList(elementIndex, suggestedTypes);\n\t\t\tconst element = readOne(written, elementIndex);\n\t\t\tif (!element.ok) return element;\n\t\t\telements.push(element.value);\n\t\t}\n\t\treturn {\n\t\t\tok: true,\n\t\t\tvalue: elements\n\t\t};\n\t}\n\treturn readListIntoScalar({\n\t\t...input,\n\t\twritten: input.written,\n\t\tcolumnType,\n\t\treadStored\n\t});\n}\nfunction nestedList(elementIndex, suggestedTypes) {\n\treturn refused({\n\t\tkind: \"unreadable\",\n\t\tmessage: \"a list holds values, not other lists\",\n\t\telementIndex\n\t}, suggestedTypes);\n}\n/** A written list on a column that is not a list: the column's type takes it through its list cast. */\nfunction readListIntoScalar(input) {\n\tconst declaration = input.dataTypes.lookup.get(input.columnType);\n\tconst listCast = declaration?.listCast;\n\tif (listCast === void 0) return refused({\n\t\tkind: \"no-list-cast\",\n\t\treceivingType: input.columnType,\n\t\tcasts: Object.keys(declaration?.casts ?? {}),\n\t\telementIndex: void 0\n\t}, [input.columnType]);\n\tconst elements = [];\n\tfor (const [elementIndex, written] of input.written.elements.entries()) {\n\t\tif (written.kind === \"list\") return nestedList(elementIndex, listCast.of);\n\t\tconst read = readOneValue(input.dataTypes, written, elementIndex, listCast.of);\n\t\tif (!read.ok) return read;\n\t\tif (!listCast.of.includes(read.typed.type)) return refused({\n\t\t\tkind: \"no-element-cast\",\n\t\t\treceivingType: input.columnType,\n\t\t\tvalueType: read.typed.type,\n\t\t\telementTypes: listCast.of,\n\t\t\telementIndex\n\t\t}, listCast.of);\n\t\telements.push(read.typed.value);\n\t}\n\ttry {\n\t\treturn input.readStored(listCast.cast(elements), void 0);\n\t} catch (error) {\n\t\tif (isInternalError(error)) throw error;\n\t\treturn refused({\n\t\t\tkind: \"unreadable\",\n\t\t\tmessage: messageOf(error),\n\t\t\telementIndex: void 0\n\t\t}, [input.columnType]);\n\t}\n}\n/** Where a diagnostic is about, for a message: `Field \"N.count\" at element 2`. */\nfunction location(subject, elementIndex) {\n\treturn elementIndex === void 0 ? subject : `${subject} at element ${elementIndex + 1}`;\n}\n/**\n* What may be written where every one of `types` is received, each form once: `a number`. A column\n* whose type nothing writes still takes a `sql` literal, which `@default` stores as a SQL expression.\n*/\nfunction formsOf(dataTypes, types) {\n\tconst forms = admittedForms(dataTypes, types);\n\treturn forms.length === 0 ? [tagForm(SQL_EXPRESSION_TAG)] : forms;\n}\n/** The exact rewrite of the written value a `no-cast` refusal is about, before list elements are renumbered to the source list. */\nfunction rewriteOf(refusal, written, dataTypes) {\n\tif (refusal.kind !== \"no-cast\") return void 0;\n\tconst refused = refusal.elementIndex === void 0 || written.kind !== \"list\" ? written : written.elements[refusal.elementIndex];\n\treturn refused === void 0 || refused.kind === \"list\" ? void 0 : exactRewrite(dataTypes, refusal.receivingType, refused);\n}\n/**\n* {@link readDataTypeDefault} worded as a PSL diagnostic's code, message and span: a cast-rule\n* refusal at the written value, or the element of a written list it is about; a refusal only\n* defaults have at the `@default` attribute.\n*/\nfunction lowerDataTypeDefault(input) {\n\tconst read = readDataTypeDefault(input);\n\tif (read.ok) return read;\n\tconst refusal = atSourceElement(read.refusal, input.sourceElementIndexes);\n\treturn {\n\t\tok: false,\n\t\t...refusalMessage(refusal, `Field \"${input.fieldPath}\"`, input.dataTypes, guidanceFor(read, input.written, input.dataTypes)),\n\t\tspan: refusalSpan(refusal, input.spans, input.fieldPath)\n\t};\n}\n/**\n* Reads one number literal written in a contract source outside a default, such as an enum member's value, from its source text for a codec, as {@link lowerDataTypeDefault} reads a default: the number's entry gives it a data type, the codec's data type takes it directly or through a cast, and the codec checks it. A refusal is worded for `subject`, and the caller reports it at its own span.\n*/\nfunction readWrittenNumberForCodec(input) {\n\tconst written = {\n\t\tkind: \"number\",\n\t\ttext: input.text\n\t};\n\tconst read = readDataTypeDefault({\n\t\twritten,\n\t\tisList: false,\n\t\tcolumn: { codecId: input.codecId },\n\t\tcodecLookup: input.codecLookup,\n\t\tdataTypes: input.dataTypes,\n\t\tfieldPath: input.subject\n\t});\n\treturn read.ok ? read : {\n\t\tok: false,\n\t\t...refusalMessage(read.refusal, input.subject, input.dataTypes, guidanceFor(read, written, input.dataTypes))\n\t};\n}\n/** What a refusal of `written` tells the author to write instead. */\nfunction guidanceFor(failure, written, dataTypes) {\n\treturn {\n\t\tforms: formsOf(dataTypes, failure.suggestedTypes),\n\t\trewrite: rewriteOf(failure.refusal, written, dataTypes)\n\t};\n}\nfunction atSourceElement(refusal, sourceElementIndexes) {\n\tif (refusal.elementIndex === void 0) return refusal;\n\tconst elementIndex = sourceElementIndexes?.[refusal.elementIndex];\n\treturn elementIndex === void 0 ? refusal : {\n\t\t...refusal,\n\t\telementIndex\n\t};\n}\nfunction codecRefusalMessage(refusal, subject) {\n\treturn {\n\t\tcode: PSL_INVALID_DEFAULT_LITERAL,\n\t\tmessage: `${location(subject, refusal.elementIndex)}: ${refusal.message}`\n\t};\n}\nfunction storedRefusalMessage(refusal, subject) {\n\tif (refusal.kind === \"refused-by-codec\") return codecRefusalMessage(refusal, subject);\n\treturn {\n\t\tcode: \"PSL_INVALID_LITERAL\",\n\t\tmessage: `${location(subject, refusal.elementIndex)}: ${refusal.message}`\n\t};\n}\n/** A refusal worded as a PSL diagnostic's code and message; `guidance` says what to write instead. */\nfunction refusalMessage(refusal, subject, dataTypes, guidance) {\n\tconst where = location(subject, refusal.elementIndex);\n\tswitch (refusal.kind) {\n\t\tcase \"not-a-list\": return {\n\t\t\tcode: PSL_DEFAULT_LIST_EXPECTED,\n\t\t\tmessage: `${where}: this column holds a list, so its default is a list literal, as in [1, 2]`\n\t\t};\n\t\tcase \"refused-by-codec\": return codecRefusalMessage(refusal, subject);\n\t\tcase \"no-list-cast\": return {\n\t\t\tcode: PSL_VALUE_TYPE_INCOMPATIBLE,\n\t\t\tmessage: `${where}: ${describeExpected(guidance.forms)}; got a list`\n\t\t};\n\t\tcase \"no-element-cast\": return {\n\t\t\tcode: PSL_VALUE_TYPE_INCOMPATIBLE,\n\t\t\tmessage: `${where}: ${describeRefusedValueType(refusal, dataTypes, guidance)}`\n\t\t};\n\t\tdefault: {\n\t\t\tconst { code, message } = describeRefusal(refusal, dataTypes, guidance);\n\t\t\treturn {\n\t\t\t\tcode,\n\t\t\t\tmessage: `${where}: ${message}`\n\t\t\t};\n\t\t}\n\t}\n}\nfunction refusalSpan(refusal, spans, fieldPath) {\n\tswitch (refusal.kind) {\n\t\tcase \"not-a-list\":\n\t\tcase \"refused-by-codec\": return spans.attribute;\n\t\tdefault: return writtenValueSpan(spans, refusal.elementIndex, fieldPath);\n\t}\n}\nfunction writtenValueSpan(spans, elementIndex, fieldPath) {\n\tif (elementIndex === void 0) return spans.value;\n\tconst span = spans.elements[elementIndex];\n\tif (span === void 0) throw new InternalError(`Field \"${fieldPath}\": a refused @default list element ${elementIndex + 1} has no written span.`);\n\treturn span;\n}\n//#endregion\n//#region src/default-function-registry.ts\nfunction formatSupportedFunctionList(registry) {\n\tconst signatures = Array.from(registry.entries()).sort(([a], [b]) => a.localeCompare(b)).flatMap(([functionName, entry]) => {\n\t\tconst usageSignatures = entry.usageSignatures?.filter((signature) => signature.length > 0);\n\t\treturn usageSignatures && usageSignatures.length > 0 ? usageSignatures : [`${functionName}()`];\n\t});\n\treturn signatures.length > 0 ? signatures.join(\", \") : \"none\";\n}\n/** The diagnostic message for a `dbgenerated(...)` call, which raw SQL tagged literals replaced. */\nfunction removedDbgeneratedMessage(registry) {\n\treturn `Default function \"dbgenerated\" was removed. Write the SQL as a tagged literal: @default(sql\\`<expression>\\`). Supported functions: ${formatSupportedFunctionList(registry)}.`;\n}\nfunction lowerDefaultFunctionWithRegistry(input) {\n\tconst entry = input.registry.get(input.call.fn);\n\tif (entry) {\n\t\tconst result = entry.lower({\n\t\t\tcall: input.call,\n\t\t\tcontext: input.context\n\t\t});\n\t\treturn result.ok ? result : {\n\t\t\t...result,\n\t\t\tkind: \"external\"\n\t\t};\n\t}\n\tconst supportedFunctionList = formatSupportedFunctionList(input.registry);\n\treturn {\n\t\tok: false,\n\t\tkind: \"owned\",\n\t\tdiagnostic: {\n\t\t\tcode: \"PSL_UNKNOWN_DEFAULT_FUNCTION\",\n\t\t\tmessage: `Default function \"${input.call.fn}\" is not supported in SQL PSL provider v1. Supported functions: ${supportedFunctionList}.`,\n\t\t\t...input.source.at(input.call.span)\n\t\t}\n\t};\n}\n//#endregion\n//#region src/sql-attribute-specs.ts\nfunction buildModelAttributeCtx(input) {\n\treturn {\n\t\tsources: input.sources,\n\t\tselfModel: input.selfModel,\n\t\tbinder: input.binder,\n\t\tsymbols: input.symbols\n\t};\n}\nfunction buildFieldAttributeCtx(input) {\n\treturn {\n\t\tsources: input.sources,\n\t\tselfModel: input.selfModel,\n\t\tfield: input.field,\n\t\tbinder: input.binder,\n\t\tsymbols: input.symbols\n\t};\n}\nfunction modelAttributeSpecsFrom(modelAttributesByName) {\n\tconst result = Object.create(null);\n\tfor (const [name, descriptor] of modelAttributesByName) result[name] = blindCast(descriptor.spec);\n\treturn result;\n}\nfunction interpretModelAttribute(input) {\n\tconst result = interpretAttribute(input.node, input.spec, buildModelAttributeCtx({\n\t\tsymbols: input.symbols,\n\t\tselfModel: input.model,\n\t\tsources: input.sources,\n\t\tbinder: input.binder\n\t}));\n\tif (!result.ok) {\n\t\tinput.diagnostics.push(...result.failure);\n\t\treturn;\n\t}\n\treturn result.value;\n}\nfunction interpretFieldAttribute(input) {\n\tconst result = interpretAttribute(input.node, input.spec, buildFieldAttributeCtx({\n\t\tsymbols: input.symbols,\n\t\tselfModel: input.model,\n\t\tfield: input.field,\n\t\tsources: input.sources,\n\t\tbinder: input.binder\n\t}));\n\tif (!result.ok) {\n\t\tinput.diagnostics.push(...result.failure);\n\t\treturn;\n\t}\n\treturn result.value;\n}\nfunction validateMappedName(value, ctx, attributeNode) {\n\treturn value.name === \"\" ? [leafDiagnostic(ctx, attributeNode, \"Mapped name must not be empty\")] : [];\n}\nconst mapModelSpec = modelAttribute(\"map\", {\n\tdocumentation: \"Maps this model to a database table name.\",\n\tpositional: [{\n\t\tkey: \"name\",\n\t\ttype: str(),\n\t\tdocumentation: \"The nonempty database table name.\"\n\t}],\n\trefine: validateMappedName\n});\nconst mapFieldSpec = fieldAttribute(\"map\", {\n\tdocumentation: \"Maps this field to a database column name.\",\n\tpositional: [{\n\t\tkey: \"name\",\n\t\ttype: str(),\n\t\tdocumentation: \"The nonempty database column name.\"\n\t}],\n\trefine: validateMappedName\n});\nfunction nullLiteral() {\n\tconst nullIdentifier = identifier(\"null\", { documentation: \"A null list element or nullable scalar default.\" });\n\treturn mapArg({\n\t\tkind: \"null\",\n\t\tlabel: \"null\",\n\t\tparse: (arg, ctx) => {\n\t\t\tconst result = nullIdentifier.parse(arg, ctx);\n\t\t\treturn result.ok ? ok(null) : result;\n\t\t}\n\t}, (_null, arg, ctx) => ({\n\t\tkind: \"null\",\n\t\tspan: nodePslSpan(arg.syntax, ctx.sources)\n\t}));\n}\nfunction defaultFunctionArm(name, signature) {\n\treturn mapArg(funcCall(name, signature), (call) => ({\n\t\tkind: \"default-function\",\n\t\tcall\n\t}));\n}\nfunction scalarDefaultArms(isList, dataTypes, defaultFunctionRegistry) {\n\tconst tagArms = (admits) => {\n\t\tconst tagsByDocumentation = /* @__PURE__ */ new Map();\n\t\tfor (const [dataType, entry] of Object.entries(dataTypes.entries)) {\n\t\t\tif (entry.written.kind !== \"tag\" || !admits(dataType)) continue;\n\t\t\tconst tags = tagsByDocumentation.get(entry.documentation);\n\t\t\tif (tags === void 0) tagsByDocumentation.set(entry.documentation, [entry.written.tag]);\n\t\t\telse tags.push(entry.written.tag);\n\t\t}\n\t\treturn [...tagsByDocumentation].map(([documentation, tags]) => writtenScalar(taggedLiteral(tags, { documentation })));\n\t};\n\tconst anyTag = () => tagArms(() => true);\n\tconst literal = () => oneOf(writtenScalar(str()), writtenScalar(numLiteral()), writtenScalar(bool()), nullLiteral(), ...tagArms((dataType) => dataType !== SQL_EXPRESSION_DATA_TYPE_ID));\n\tconst listArm = () => writtenList(literal());\n\tconst funcArms = [...defaultFunctionRegistry.entries()].map(([name, entry]) => defaultFunctionArm(name, blindCast(entry.signature)));\n\treturn isList ? [\n\t\tlistArm(),\n\t\t...funcArms,\n\t\t...anyTag()\n\t] : [\n\t\twrittenScalar(str()),\n\t\twrittenScalar(numLiteral()),\n\t\twrittenScalar(bool()),\n\t\tnullLiteral(),\n\t\t...funcArms,\n\t\t...anyTag(),\n\t\tlistArm()\n\t];\n}\n/**\n* The `@default` value arms, with a `dbgenerated(...)` call reported as removed before the arms\n* are tried, so the author is told what replaced it instead of being shown the list of arms.\n*/\nfunction defaultValueArm(arms, registry) {\n\tconst value = arms.length === 1 && arms[0].kind === \"list\" ? arms[0] : oneOf(...arms);\n\treturn {\n\t\t...value,\n\t\tparse: (arg, ctx) => FunctionCallAst.cast(arg.syntax)?.path().join(\".\") === \"dbgenerated\" ? notOk([leafDiagnostic(ctx, arg, removedDbgeneratedMessage(registry), \"PSL_UNKNOWN_DEFAULT_FUNCTION\")]) : value.parse(arg, ctx)\n\t};\n}\nfunction noEnumMember() {\n\treturn {\n\t\tkind: \"rejecting\",\n\t\tlabel: \"enum member\",\n\t\tmessage: \"Enum declares no members\",\n\t\tparse: (arg, ctx) => notOk([leafDiagnostic(ctx, arg, \"Enum declares no members\")])\n\t};\n}\nfunction enumMemberNames(ctx) {\n\tconst resolution = ctx.typeResolution;\n\tif (resolution?.kind !== \"block\" || resolution.symbol.keyword !== \"enum\") return void 0;\n\tconst block = resolution.symbol;\n\tconst names = [];\n\tconst seen = /* @__PURE__ */ new Set();\n\tfor (const entry of block.entries) {\n\t\tconst key = entry.key()?.name();\n\t\tif (key === void 0 || seen.has(key)) continue;\n\t\tseen.add(key);\n\t\tnames.push(key);\n\t}\n\treturn names;\n}\nfunction enumDefaultArms(members, enumName, isList) {\n\tconst [first, ...rest] = members;\n\tif (first === void 0) return [noEnumMember()];\n\tconst member = (name) => mapArg(identifier(name, { documentation: `The \\`${name}\\` member of enum \\`${enumName}\\`.` }), (parsed) => ({\n\t\tkind: \"member\",\n\t\tname: parsed\n\t}));\n\tif (isList) return [mapArg(list(oneOf(member(first), ...rest.map(member), nullLiteral())), (elements) => ({\n\t\tkind: \"member-list\",\n\t\telements\n\t}))];\n\treturn [member(first), ...rest.map(member)];\n}\nfunction defaultFieldSpec(ctx) {\n\tconst members = enumMemberNames(ctx);\n\treturn fieldAttribute(\"default\", {\n\t\tdocumentation: \"Supplies a default value when this field is omitted from a mutation.\",\n\t\tpositional: [{\n\t\t\tkey: \"value\",\n\t\t\ttype: defaultValueArm(members === void 0 ? scalarDefaultArms(ctx.field.list, ctx.dataTypes, ctx.defaultFunctionRegistry) : enumDefaultArms(members, ctx.field.typeName, ctx.field.list), ctx.defaultFunctionRegistry),\n\t\t\tdocumentation: \"A literal, enum member, or registered default function compatible with this field.\"\n\t\t}]\n\t});\n}\nconst idFieldSpec = fieldAttribute(\"id\", {\n\tdocumentation: \"Makes this field the primary key of the table.\",\n\tnamed: { map: {\n\t\ttype: optional(str()),\n\t\tdocumentation: \"The database primary-key constraint name.\"\n\t} }\n});\nconst uniqueFieldSpec = fieldAttribute(\"unique\", {\n\tdocumentation: \"Requires values in this field to be unique.\",\n\tnamed: { map: {\n\t\ttype: optional(str()),\n\t\tdocumentation: \"The database unique-constraint name.\"\n\t} }\n});\nconst noCheckKindArgument = () => oneOf(identifier(\"membership\", { documentation: \"Waives the generated check that values belong to the declared domain enum.\" }), identifier(\"elementNotNull\", { documentation: \"Waives the generated check that scalar-list elements are non-null.\" }));\n/**\n* `@noCheck` waives generated CHECK constraints on one column: bare for every\n* kind the column's shape derives, or naming concrete kinds. Two optional\n* positional slots cover the whole kind vocabulary; a third argument is\n* necessarily a duplicate and fails as excess arity.\n*/\nconst noCheckFieldSpec = fieldAttribute(\"noCheck\", {\n\tdocumentation: \"Waives generated CHECK constraints for this column. With no arguments, waives every generated kind.\",\n\tpositional: [{\n\t\tkey: \"first\",\n\t\ttype: optional(noCheckKindArgument()),\n\t\tdocumentation: \"The first generated check kind to waive: `membership` or `elementNotNull`.\"\n\t}, {\n\t\tkey: \"second\",\n\t\ttype: optional(noCheckKindArgument()),\n\t\tdocumentation: \"A second, distinct generated check kind to waive.\"\n\t}],\n\trefine: (value, ctx, attributeNode) => {\n\t\tif (value.first !== void 0 && value.first === value.second) return [leafDiagnostic(ctx, attributeNode, \"`@noCheck` names the same kind twice\")];\n\t\treturn [];\n\t}\n});\nconst idModelSpec = modelAttribute(\"id\", {\n\tdocumentation: \"Declares a compound primary key for this table.\",\n\tpositional: [{\n\t\tkey: \"fields\",\n\t\ttype: list(fieldRef(), {\n\t\t\tallowEmpty: false,\n\t\t\tunique: true\n\t\t}),\n\t\tdocumentation: \"The ordered, nonempty list of distinct primary-key fields.\"\n\t}],\n\tnamed: { map: {\n\t\ttype: optional(str()),\n\t\tdocumentation: \"The database primary-key constraint name.\"\n\t} }\n});\nconst uniqueModelSpec = modelAttribute(\"unique\", {\n\tdocumentation: \"Requires the combination of these fields to be unique.\",\n\tpositional: [{\n\t\tkey: \"fields\",\n\t\ttype: list(fieldRef(), {\n\t\t\tallowEmpty: false,\n\t\t\tunique: true\n\t\t}),\n\t\tdocumentation: \"The ordered, nonempty list of distinct fields in the unique constraint.\"\n\t}],\n\tnamed: { map: {\n\t\ttype: optional(str()),\n\t\tdocumentation: \"The database unique-constraint name.\"\n\t} }\n});\nconst PSL_INDEX_FIELDS_XOR_EXPRESSION = \"PSL_INDEX_FIELDS_XOR_EXPRESSION\";\nconst PSL_INDEX_EXPRESSION_REQUIRES_NAME = \"PSL_INDEX_EXPRESSION_REQUIRES_NAME\";\nconst PSL_INDEX_NAME_XOR_MAP = \"PSL_INDEX_NAME_XOR_MAP\";\nfunction indexModelSpec(ctx) {\n\treturn modelAttribute(\"index\", {\n\t\tdocumentation: \"Declares a database index over fields or a SQL expression, optionally restricted by a predicate.\",\n\t\tpositional: [{\n\t\t\tkey: \"fields\",\n\t\t\ttype: optional(list(fieldRef(), {\n\t\t\t\tallowEmpty: false,\n\t\t\t\tunique: true\n\t\t\t})),\n\t\t\tdocumentation: \"The ordered list of distinct indexed fields. Mutually exclusive with `expression`.\"\n\t\t}],\n\t\tnamed: {\n\t\t\texpression: {\n\t\t\t\ttype: optional(dataTypeValue(SQL_EXPRESSION_DATA_TYPE_ID, ctx.dataTypes)),\n\t\t\t\tdocumentation: \"The SQL index expression. Requires `name` or `map` and cannot be combined with a fields list.\"\n\t\t\t},\n\t\t\twhere: {\n\t\t\t\ttype: optional(dataTypeValue(SQL_EXPRESSION_DATA_TYPE_ID, ctx.dataTypes)),\n\t\t\t\tdocumentation: \"The SQL predicate restricting rows included in a partial index.\"\n\t\t\t},\n\t\t\tunique: {\n\t\t\t\ttype: optional(bool()),\n\t\t\t\tdocumentation: \"Whether the index enforces uniqueness.\"\n\t\t\t},\n\t\t\tname: {\n\t\t\t\ttype: optional(str()),\n\t\t\t\tdocumentation: \"The index name. Mutually exclusive with `map`.\"\n\t\t\t},\n\t\t\tmap: {\n\t\t\t\ttype: optional(str()),\n\t\t\t\tdocumentation: \"The database index name. Mutually exclusive with `name`.\"\n\t\t\t},\n\t\t\ttype: {\n\t\t\t\ttype: optional(str()),\n\t\t\t\tdocumentation: \"The target-specific index access method.\"\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\ttype: optional(record(str())),\n\t\t\t\tdocumentation: \"Target-specific index options. Requires an explicit `type`.\"\n\t\t\t}\n\t\t},\n\t\trefine: (value, ctx, attributeNode) => {\n\t\t\tconst diagnostics = [];\n\t\t\tif (value.fields === void 0 === (value.expression === void 0)) diagnostics.push(leafDiagnostic(ctx, attributeNode, \"`@@index` requires exactly one of a fields list or an `expression` argument\", PSL_INDEX_FIELDS_XOR_EXPRESSION));\n\t\t\tif (value.expression !== void 0 && value.name === void 0 && value.map === void 0) diagnostics.push(leafDiagnostic(ctx, attributeNode, \"`@@index` with an `expression` argument requires a `name` or `map` argument (a default name cannot be derived from an expression)\", PSL_INDEX_EXPRESSION_REQUIRES_NAME));\n\t\t\tif (value.name !== void 0 && value.map !== void 0) diagnostics.push(leafDiagnostic(ctx, attributeNode, \"`@@index` takes at most one of `name` and `map`\", PSL_INDEX_NAME_XOR_MAP));\n\t\t\tif (value.options !== void 0 && value.type === void 0) diagnostics.push(leafDiagnostic(ctx, attributeNode, \"`@@index` options argument requires a type argument\"));\n\t\t\treturn diagnostics;\n\t\t}\n\t});\n}\nconst PSL_CHECK_REQUIRES_NAME_OR_MAP = \"PSL_CHECK_REQUIRES_NAME_OR_MAP\";\nconst PSL_CHECK_NAME_XOR_MAP = \"PSL_CHECK_NAME_XOR_MAP\";\nconst PSL_CHECK_EXPRESSION_EMPTY = \"PSL_CHECK_EXPRESSION_EMPTY\";\n/**\n* A single-table-inheritance variant (`@@base` with no own `@@map`) shares\n* its base model's storage table and has no table of its own to declare a\n* check on — raised from {@link interpretPslDocumentToSqlContract}, not from\n* this spec's own `refine`, because the rule needs the model's `@@base`\n* declaration, which a single attribute's `refine` cannot see.\n*/\nconst PSL_CHECK_ON_STI_VARIANT = \"PSL_CHECK_ON_STI_VARIANT\";\nfunction checkModelSpec(ctx) {\n\treturn modelAttribute(\"check\", {\n\t\tdocumentation: \"Declares a named database CHECK constraint on this table.\",\n\t\tnamed: {\n\t\t\texpression: {\n\t\t\t\ttype: dataTypeValue(SQL_EXPRESSION_DATA_TYPE_ID, ctx.dataTypes),\n\t\t\t\tdocumentation: \"The nonempty SQL predicate checked for each row.\"\n\t\t\t},\n\t\t\tname: {\n\t\t\t\ttype: optional(str()),\n\t\t\t\tdocumentation: \"The constraint name. Exactly one of `name` and `map` is required.\"\n\t\t\t},\n\t\t\tmap: {\n\t\t\t\ttype: optional(str()),\n\t\t\t\tdocumentation: \"The database constraint name. Exactly one of `name` and `map` is required.\"\n\t\t\t}\n\t\t},\n\t\trefine: (value, ctx, attributeNode) => {\n\t\t\tconst diagnostics = [];\n\t\t\tif (sqlTextFromCanonical(value.expression.value).trim().length === 0) diagnostics.push(leafDiagnostic(ctx, attributeNode, \"`@@check` expression must not be empty — an empty predicate is not a constraint\", PSL_CHECK_EXPRESSION_EMPTY));\n\t\t\tif (value.name === void 0 && value.map === void 0) diagnostics.push(leafDiagnostic(ctx, attributeNode, \"`@@check` requires a `name` or `map` argument (a default name cannot be derived — a check has no column tuple to name itself after)\", PSL_CHECK_REQUIRES_NAME_OR_MAP));\n\t\t\tif (value.name !== void 0 && value.map !== void 0) diagnostics.push(leafDiagnostic(ctx, attributeNode, \"`@@check` takes at most one of `name` and `map`\", PSL_CHECK_NAME_XOR_MAP));\n\t\t\treturn diagnostics;\n\t\t}\n\t});\n}\nconst controlModelSpec = modelAttribute(\"control\", {\n\tdocumentation: \"Sets how schema management treats this model’s storage.\",\n\tpositional: [{\n\t\tkey: \"policy\",\n\t\tdocumentation: \"The storage control policy: `managed`, `tolerated`, `external`, or `observed`.\",\n\t\ttype: oneOf(identifier(\"managed\", { documentation: \"Verifies the declared shape strictly and allows migrations to create, alter, or drop the storage object.\" }), identifier(\"tolerated\", { documentation: \"Verifies declared columns while allowing extra columns. Migrations may create missing storage, but never alter or drop existing storage.\" }), identifier(\"external\", { documentation: \"Verifies declared storage without creating, altering, or dropping it.\" }), identifier(\"observed\", { documentation: \"Reports storage differences as warnings rather than verification failures and never emits migration operations.\" }))\n\t}]\n});\nconst discriminatorModelSpec = modelAttribute(\"discriminator\", {\n\tdocumentation: \"Selects the field that identifies inheritance variants of this model.\",\n\tpositional: [{\n\t\tkey: \"field\",\n\t\ttype: fieldRef(),\n\t\tdocumentation: \"The discriminator field on this model.\"\n\t}]\n});\nfunction baseModelSpec() {\n\treturn modelAttribute(\"base\", {\n\t\tdocumentation: \"Declares this model as a variant of a base model.\",\n\t\tpositional: [{\n\t\t\tkey: \"base\",\n\t\t\ttype: entityRef({ kind: \"model\" }),\n\t\t\tdocumentation: \"The base model to inherit from.\"\n\t\t}, {\n\t\t\tkey: \"value\",\n\t\t\ttype: str(),\n\t\t\tdocumentation: \"The discriminator value identifying this variant.\"\n\t\t}]\n\t});\n}\nfunction relationAttributeSpan(ctx) {\n\tconst node = getAttribute(ctx.field.attributes, \"relation\")?.node;\n\tif (node !== void 0) return nodePslSpan(node.syntax, ctx.sources);\n\treturn ctx.field.span;\n}\nfunction relationInvariants(parsed, ctx) {\n\tif (parsed.fields !== void 0 !== (parsed.references !== void 0)) return [{\n\t\tcode: \"PSL_INVALID_ATTRIBUTE_SYNTAX\",\n\t\tmessage: `Relation field \"${ctx.selfModel.name}.${ctx.field.name}\" requires fields and references arguments`,\n\t\t...diagnosticSource(ctx.sources, ctx.field.node.syntax).at(relationAttributeSpan(ctx))\n\t}];\n\treturn [];\n}\nconst referentialActionArgument = () => oneOf(identifier(\"NoAction\", { documentation: \"Rejects a change that would violate the foreign key when the constraint is checked; checking may be deferred when supported and configured.\" }), identifier(\"Restrict\", { documentation: \"Rejects deleting or updating a referenced row while referencing rows remain, without deferring the check.\" }), identifier(\"Cascade\", { documentation: \"Propagates deletion or key updates of a referenced row to its referencing rows.\" }), identifier(\"SetNull\", { documentation: \"Sets referencing foreign-key fields to null when the referenced row is deleted or its key changes. The fields must allow null.\" }), identifier(\"SetDefault\", { documentation: \"Sets referencing foreign-key fields to their defaults when the referenced row is deleted or its key changes. The resulting values must satisfy the foreign key.\" }));\nconst relationFieldSpec = fieldAttribute(\"relation\", {\n\tdocumentation: \"Defines the relation name, foreign-key fields, and referential actions for this relation.\",\n\tpositional: [{\n\t\tkey: \"name\",\n\t\ttype: optional(str()),\n\t\tdocumentation: \"The relation name used to pair both sides. May also be supplied by name.\"\n\t}],\n\tnamed: {\n\t\tname: {\n\t\t\ttype: optional(str()),\n\t\t\tdocumentation: \"The relation name used to pair both sides. Cannot also be supplied positionally.\"\n\t\t},\n\t\tfields: {\n\t\t\ttype: optional(list(fieldRef(), {\n\t\t\t\tallowEmpty: false,\n\t\t\t\tunique: true\n\t\t\t})),\n\t\t\tdocumentation: \"The ordered local foreign-key fields. Must be supplied together with `references`.\"\n\t\t},\n\t\treferences: {\n\t\t\ttype: optional(list(referencedFieldRef(), {\n\t\t\t\tallowEmpty: false,\n\t\t\t\tunique: true\n\t\t\t})),\n\t\t\tdocumentation: \"The corresponding fields on the referenced model. Must be supplied together with `fields`.\"\n\t\t},\n\t\tmap: {\n\t\t\ttype: optional(str()),\n\t\t\tdocumentation: \"The database foreign-key constraint name.\"\n\t\t},\n\t\tonDelete: {\n\t\t\ttype: optional(referentialActionArgument()),\n\t\t\tdocumentation: \"The referential action when a referenced row is deleted.\"\n\t\t},\n\t\tonUpdate: {\n\t\t\ttype: optional(referentialActionArgument()),\n\t\t\tdocumentation: \"The referential action when a referenced key is updated.\"\n\t\t},\n\t\tindex: {\n\t\t\ttype: optional(oneOf(bool(), str())),\n\t\t\tdocumentation: \"Whether to create an index for the relation’s foreign-key fields (`false` for none), or the name of an index, unique constraint or primary key on this model to use instead. The name is the `name` or `map` it was given, or an index’s stored name, and its first columns must be the foreign-key fields in order.\"\n\t\t}\n\t},\n\trefine: relationInvariants\n});\nfunction modelSpecContext(input) {\n\treturn {\n\t\tsymbols: input.symbols,\n\t\tmodel: input.model,\n\t\tdefaultFunctionRegistry: input.defaultFunctionRegistry,\n\t\tdataTypes: input.dataTypes\n\t};\n}\nfunction fieldSpecContext(input) {\n\tconst node = typeReferenceNode(input.field);\n\treturn {\n\t\tsymbols: input.symbols,\n\t\tmodel: input.model,\n\t\tfield: input.field,\n\t\ttypeResolution: node === void 0 ? void 0 : input.binder.symbolForNode(node),\n\t\tdefaultFunctionRegistry: input.defaultFunctionRegistry,\n\t\tdataTypes: input.dataTypes\n\t};\n}\n/** Every entry is a factory over the spec context, whether or not its spec reads it. ADR 249. */\nconst sqlAttributeSpecs = {\n\tmodel: {\n\t\tmap: (_ctx) => mapModelSpec,\n\t\tid: (_ctx) => idModelSpec,\n\t\tunique: (_ctx) => uniqueModelSpec,\n\t\tindex: indexModelSpec,\n\t\tcheck: checkModelSpec,\n\t\tcontrol: (_ctx) => controlModelSpec,\n\t\tdiscriminator: (_ctx) => discriminatorModelSpec,\n\t\tbase: (_ctx) => baseModelSpec()\n\t},\n\tfield: {\n\t\tmap: (_ctx) => mapFieldSpec,\n\t\tid: (_ctx) => idFieldSpec,\n\t\tunique: (_ctx) => uniqueFieldSpec,\n\t\tnoCheck: (_ctx) => noCheckFieldSpec,\n\t\trelation: (_ctx) => relationFieldSpec,\n\t\tdefault: defaultFieldSpec\n\t}\n};\n//#endregion\n//#region src/value-object-default.ts\n/**\n* The value-object column's default as the document it holds, and in the form the column stores. A\n* column may store the document's JSON text, as `sqlite/json@1` does, so its codec reads the stored\n* value into the document the composite type describes. A list literal on a list of value objects\n* is read element by element; the column stores the list's document in its own form.\n*/\nfunction valueObjectDefaultDocument(input) {\n\tconst codec = codecForRef(input.codecLookup, { codecId: input.codecId });\n\tif (codec === void 0) return {\n\t\tdocument: input.stored,\n\t\tstored: input.stored\n\t};\n\tif (input.elementwise && Array.isArray(input.stored)) {\n\t\tconst document = input.stored.map((element) => readDocument(codec, element));\n\t\treturn {\n\t\t\tdocument,\n\t\t\tstored: codec.encodeJson(document)\n\t\t};\n\t}\n\treturn {\n\t\tdocument: readDocument(codec, input.stored),\n\t\tstored: input.stored\n\t};\n}\n/** The column's codec has already read `stored` while the default was lowered, so it reads again. */\nfunction readDocument(codec, stored) {\n\tif (stored === null) return null;\n\treturn blindCast(codec.decodeJson(stored));\n}\n/** Each way the default does not match the composite type. */\nfunction valueObjectDefaultMismatches(input) {\n\tconst mismatches = [];\n\tconst shape = (path, message) => mismatches.push({\n\t\tcode: PSL_VALUE_TYPE_INCOMPATIBLE,\n\t\tmessage: `Field \"${path}\": ${message}`\n\t});\n\tconst checkObject = (value, valueObjectName, path) => {\n\t\tconst valueObject = input.types.nodes.get(valueObjectName);\n\t\tconst declared = input.types.declaredMembers.get(valueObjectName);\n\t\tif (valueObject === void 0 || declared === void 0) throw new InternalError(`Field \"${path}\" is typed by the value object \"${valueObjectName}\", which the contract does not declare.`);\n\t\tif (!isJsonObject(value)) {\n\t\t\tshape(path, `a value of \"${valueObjectName}\" is a JSON object, not ${jsonKind(value)}`);\n\t\t\treturn;\n\t\t}\n\t\tfor (const key of Object.keys(value)) if (!declared.has(key)) shape(path, `\"${key}\" is not a member of \"${valueObjectName}\"`);\n\t\tfor (const member of valueObject.fields) checkMember(value[member.fieldName], member, `${path}.${member.fieldName}`);\n\t};\n\tconst checkMember = (value, member, path) => {\n\t\tif (value === void 0) {\n\t\t\tif (!member.nullable) shape(path, \"the member is required, and the default has no value for it\");\n\t\t\treturn;\n\t\t}\n\t\tif (value === null && member.nullable) return;\n\t\tif (member.many === true) {\n\t\t\tif (!Array.isArray(value)) {\n\t\t\t\tshape(path, `the member is a list, so its value is a JSON array, not ${jsonKind(value)}`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tfor (const [index, element] of value.entries()) {\n\t\t\t\tif (element === null && member.elementNullable) continue;\n\t\t\t\tcheckOne(element, member, `${path}[${index}]`, \"an element of the member is not null\");\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tcheckOne(value, member, path, \"the member is not optional, so its value is not null\");\n\t};\n\tconst checkOne = (value, member, path, notNull) => {\n\t\tif (isValueObjectMember(member)) {\n\t\t\tif (value === null) shape(path, notNull);\n\t\t\telse checkObject(value, member.valueObjectName, path);\n\t\t\treturn;\n\t\t}\n\t\tconst reading = readStoredValue({\n\t\t\tvalue,\n\t\t\tcolumn: member.descriptor,\n\t\t\tcodecLookup: input.codecLookup,\n\t\t\tdataTypeLookup: input.dataTypeLookup,\n\t\t\tfieldPath: path\n\t\t});\n\t\tif (!reading.ok) {\n\t\t\tif (value === null) shape(path, notNull);\n\t\t\telse mismatches.push({\n\t\t\t\tcode: reading.code,\n\t\t\t\tmessage: reading.message\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tconst enumMismatch = enumValueMismatch(value, member, path, input.codecLookup);\n\t\tif (enumMismatch !== void 0) mismatches.push(enumMismatch);\n\t};\n\tif (input.value === null) {\n\t\tif (input.nullable) return mismatches;\n\t\tshape(input.fieldPath, input.list ? \"the default of a list of value objects is a JSON array, not null\" : \"the default of a value object is a JSON object, not null\");\n\t\treturn mismatches;\n\t}\n\tif (input.list) {\n\t\tif (!Array.isArray(input.value)) {\n\t\t\tshape(input.fieldPath, `the default of a list of value objects is a JSON array, not ${jsonKind(input.value)}`);\n\t\t\treturn mismatches;\n\t\t}\n\t\tfor (const [index, element] of input.value.entries()) {\n\t\t\tif (element === null && input.elementNullable) continue;\n\t\t\tcheckObject(element, input.valueObjectName, `${input.fieldPath}[${index}]`);\n\t\t}\n\t\treturn mismatches;\n\t}\n\tif (!isJsonObject(input.value)) {\n\t\tshape(input.fieldPath, `the default of a value object is a JSON object, not ${jsonKind(input.value)}`);\n\t\treturn mismatches;\n\t}\n\tcheckObject(input.value, input.valueObjectName, input.fieldPath);\n\treturn mismatches;\n}\n/**\n* A member typed by an enum takes only the enum's values, in the form its codec stores them, as a model field of that enum takes only its members.\n*/\nfunction enumValueMismatch(value, member, path, codecLookup) {\n\tconst handle = member.enumTypeHandle;\n\tif (handle === void 0) return void 0;\n\tconst codec = codecLookup.get(handle.codecId);\n\tconst stored = handle.values.map((enumValue) => codec === void 0 ? enumValue : codec.encodeJson(enumValue));\n\tif (stored.some((storedValue) => storedValue === value)) return void 0;\n\treturn {\n\t\tcode: PSL_INVALID_DEFAULT_LITERAL,\n\t\tmessage: `Field \"${path}\": Expected one of: ${stored.map((storedValue) => JSON.stringify(storedValue)).join(\" | \")}`\n\t};\n}\nfunction isJsonObject(value) {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\nfunction jsonKind(value) {\n\tif (value === null) return \"null\";\n\tif (Array.isArray(value)) return \"a JSON array\";\n\tif (typeof value === \"object\") return \"a JSON object\";\n\treturn `a JSON ${typeof value}`;\n}\n//#endregion\n//#region src/psl-column-resolution.ts\nfunction toNamedTypeFieldDescriptor(typeRef, descriptor) {\n\treturn {\n\t\tcodecId: descriptor.codecId,\n\t\ttypeRef\n\t};\n}\nfunction argumentSpan(call, descriptors, index) {\n\tif (index === void 0) return call.span;\n\tconst name = descriptors?.[index]?.name;\n\tconst named = call.args.find((arg) => arg.kind === \"named\" && arg.name === name);\n\tconst positional = call.args.filter((arg) => arg.kind === \"positional\")[index];\n\treturn (named ?? positional)?.span ?? call.span;\n}\n/**\n* Checks the type parameters a constructor or preset produced against its codec's parameter schema,\n* reporting a failure at the argument the failing parameter came from. Returns whether they passed.\n*/\nfunction checkPslTypeParams(input) {\n\tconst helperPath = input.call.path.join(\".\");\n\ttry {\n\t\tvalidateAuthoringTypeParams(helperPath, input.template, input.typeParams, input.codecLookup.descriptorFor(input.template.codecId)?.paramsSchema);\n\t\treturn true;\n\t} catch (error) {\n\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\tinput.diagnostics.push({\n\t\t\tcode: \"PSL_INVALID_ATTRIBUTE_ARGUMENT\",\n\t\t\tmessage: `${input.subject} ${message}`,\n\t\t\t...input.source.at(argumentSpan(input.call, input.args, argumentIndexOf(error)))\n\t\t});\n\t\treturn false;\n\t}\n}\nfunction argumentIndexOf(error) {\n\tif (typeof error !== \"object\" || error === null || !(\"details\" in error)) return void 0;\n\tconst { details } = error;\n\tif (typeof details !== \"object\" || details === null || !(\"argumentIndex\" in details)) return;\n\treturn typeof details.argumentIndex === \"number\" ? details.argumentIndex : void 0;\n}\n/**\n* Walks `authoringContributions.entityTypes` segment-by-segment and returns\n* the entity type descriptor at the resolved path, or `undefined` if no\n* descriptor is registered.\n*\n* Used by the PSL interpreter to dispatch declarative entity-shaped\n* declarations (`enum`, future `namespace { … }`, …) through the\n* pack entity-type mechanism — the descriptor's `factory` (or\n* `template`) materialises the IR-class instance without the\n* interpreter knowing target-specific construction.\n*/\nfunction getAuthoringEntity(contributions, path) {\n\tlet current = contributions?.entityTypes;\n\tfor (const segment of path) {\n\t\tif (typeof current !== \"object\" || current === null || \"kind\" in current) return;\n\t\tcurrent = current[segment];\n\t}\n\treturn current !== void 0 && isAuthoringEntityTypeDescriptor(current) ? current : void 0;\n}\nfunction instantiatePslTypeConstructor(input) {\n\tconst helperPath = input.call.path.join(\".\");\n\tconst args = mapPslHelperArgs({\n\t\targs: input.call.args,\n\t\tdescriptors: input.descriptor.args ?? [],\n\t\thelperLabel: `constructor \"${helperPath}\"`,\n\t\tspan: input.call.span,\n\t\tdiagnostics: input.diagnostics,\n\t\tsource: input.source,\n\t\tentityLabel: input.entityLabel\n\t});\n\tif (!args) return;\n\tlet output;\n\ttry {\n\t\tvalidateAuthoringHelperArguments(helperPath, input.descriptor.args, args);\n\t\toutput = instantiateAuthoringTypeConstructor(input.descriptor, args);\n\t} catch (error) {\n\t\tif (isInternalError(error)) throw error;\n\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\tinput.diagnostics.push({\n\t\t\tcode: \"PSL_INVALID_ATTRIBUTE_ARGUMENT\",\n\t\t\tmessage: `${input.entityLabel} constructor \"${helperPath}\" ${message}`,\n\t\t\t...input.source.at(input.call.span)\n\t\t});\n\t\treturn;\n\t}\n\treturn checkPslTypeParams({\n\t\tcall: input.call,\n\t\tsubject: `${input.entityLabel} constructor \"${helperPath}\"`,\n\t\targs: input.descriptor.args,\n\t\ttemplate: input.descriptor.output,\n\t\ttypeParams: output.typeParams,\n\t\tcodecLookup: input.codecLookup,\n\t\tdiagnostics: input.diagnostics,\n\t\tsource: input.source\n\t}) ? output : void 0;\n}\n/**\n* Structural check for a codec descriptor exposing the authoring-time\n* `columnFromEntity` hook a type constructor's `entityRefArg` resolves\n* through (e.g. the `pg/enum@1` codec descriptor). No casts.\n*/\nfunction hasColumnFromEntityHook(descriptor) {\n\treturn \"columnFromEntity\" in descriptor && typeof descriptor.columnFromEntity === \"function\";\n}\n/**\n* Resolves a type-constructor call whose descriptor declares an\n* `entityRefArg` (e.g. `pg.enum(AalLevel)`): extracts the call's sole\n* positional-argument ref string, resolves it against the field's\n* namespace's already-lowered extension entities (keyed by the declared\n* `entityRefArg.entityKind`, then block name), and converts the resolved\n* entity to column params via the `columnFromEntity` authoring hook on the\n* codec descriptor registered for `descriptor.output.codecId`. The\n* `typeParams.typeName` `columnFromEntity` returns is bare — schema\n* qualification (e.g. `auth.aal_level`) is a target concern, applied later\n* when the target builds the field's namespace. A `valueSet` ref is\n* attached when the same namespace derived a value-set under the same block\n* name (the generic `deriveValueSet` mechanism), scoped to the field's own\n* namespace.\n*/\nfunction resolveEntityRefTypeConstructorCall(input) {\n\tconst entityRefArg = input.descriptor.entityRefArg;\n\tif (entityRefArg === void 0) throw new InternalError(\"resolveEntityRefTypeConstructorCall called with a descriptor that does not declare an entityRefArg. This is an interpreter bug.\");\n\tconst helperPath = input.call.path.join(\".\");\n\tconst positionalArgs = input.call.args.filter((arg) => arg.kind === \"positional\");\n\tconst argument = positionalArgs[entityRefArg.index];\n\tconst ref = argument?.value;\n\tconst node = argument?.expression?.syntax;\n\tconst resolution = node === void 0 ? void 0 : input.binder?.symbolForNode(node);\n\tif (input.call.args.length !== 1 || positionalArgs.length !== 1 || ref === void 0 || input.binder !== void 0 && resolution === void 0) {\n\t\tinput.diagnostics.push({\n\t\t\tcode: \"PSL_INVALID_ATTRIBUTE_ARGUMENT\",\n\t\t\tmessage: `${input.entityLabel} type constructor \"${helperPath}\" expects exactly one positional argument naming the referenced entity`,\n\t\t\t...input.source.at(input.call.span)\n\t\t});\n\t\treturn NOT_RESOLVED;\n\t}\n\tlet entityName = ref;\n\tlet entityNamespaceId = input.namespaceId;\n\tconst reportUnknownRef = () => {\n\t\tinput.diagnostics.push({\n\t\t\tcode: \"PSL_UNKNOWN_ENTITY_REF\",\n\t\t\tmessage: `${input.entityLabel} type constructor \"${helperPath}(${ref})\" does not resolve — no entity named \"${ref}\" was found in namespace \"${entityNamespaceId ?? \"(unspecified)\"}\"`,\n\t\t\t...input.source.at(input.call.span)\n\t\t});\n\t\treturn NOT_RESOLVED;\n\t};\n\tif (resolution !== void 0) {\n\t\tif (resolution.kind === \"unresolved\") return NOT_RESOLVED;\n\t\tif (resolution.kind !== \"block\") return reportUnknownRef();\n\t\tentityName = resolution.symbol.name;\n\t\tentityNamespaceId = resolution.namespace.id;\n\t}\n\tconst entities = entityNamespaceId === void 0 ? void 0 : input.namespaceExtensionEntities?.get(entityNamespaceId);\n\tconst entity = entities?.[entityRefArg.entityKind]?.[entityName];\n\tif (entity === void 0) return reportUnknownRef();\n\tconst codecId = input.descriptor.output.codecId;\n\tconst codecDescriptor = input.codecLookup.descriptorFor(codecId);\n\tif (codecDescriptor === void 0 || !hasColumnFromEntityHook(codecDescriptor)) throw contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Type constructor \"${helperPath}\" registers codecId \"${codecId}\" with an entity-ref argument, but its codec descriptor has no \"columnFromEntity\" authoring hook. This is a contributor bug in the pack registering \"${helperPath}\", not a user-schema error.`, { meta: {\n\t\thelperPath,\n\t\tcodecId\n\t} });\n\tconst resolved = codecDescriptor.columnFromEntity(entity);\n\tif (resolved === void 0) return reportUnknownRef();\n\tconst valueSet = entities?.[\"valueSet\"]?.[entityName] !== void 0 && entityNamespaceId !== void 0 ? {\n\t\tplane: \"storage\",\n\t\tentityKind: \"valueSet\",\n\t\tnamespaceId: entityNamespaceId,\n\t\tentityName\n\t} : void 0;\n\treturn {\n\t\tok: true,\n\t\tdescriptor: {\n\t\t\tcodecId,\n\t\t\t...resolved.typeParams !== void 0 ? { typeParams: resolved.typeParams } : {},\n\t\t\t...valueSet !== void 0 ? { valueSet } : {}\n\t\t}\n\t};\n}\nconst NOT_RESOLVED = { ok: false };\nfunction instantiateFieldTypeConstructor(input) {\n\tif (input.descriptor.entityRefArg !== void 0) return resolveEntityRefTypeConstructorCall({\n\t\tcall: input.call,\n\t\tdescriptor: input.descriptor,\n\t\tnamespaceId: input.namespaceId,\n\t\tnamespaceExtensionEntities: input.namespaceExtensionEntities,\n\t\tbinder: input.binder,\n\t\tcodecLookup: input.codecLookup,\n\t\tdiagnostics: input.diagnostics,\n\t\tsource: input.source,\n\t\tentityLabel: input.entityLabel\n\t});\n\tconst instantiated = instantiatePslTypeConstructor({\n\t\tcall: input.call,\n\t\tdescriptor: input.descriptor,\n\t\tcodecLookup: input.codecLookup,\n\t\tdiagnostics: input.diagnostics,\n\t\tsource: input.source,\n\t\tentityLabel: input.entityLabel\n\t});\n\treturn instantiated === void 0 ? NOT_RESOLVED : {\n\t\tok: true,\n\t\tdescriptor: instantiated\n\t};\n}\nfunction instantiateFieldPreset(input) {\n\tconst instantiated = instantiatePslFieldPreset(input);\n\tif (!instantiated) return NOT_RESOLVED;\n\tif (!checkPslTypeParams({\n\t\tcall: input.call,\n\t\tsubject: `${input.entityLabel} preset \"${input.call.path.join(\".\")}\"`,\n\t\targs: input.descriptor.args,\n\t\ttemplate: input.descriptor.output,\n\t\ttypeParams: instantiated.descriptor.typeParams,\n\t\tcodecLookup: input.codecLookup,\n\t\tdiagnostics: input.diagnostics,\n\t\tsource: input.source\n\t})) return NOT_RESOLVED;\n\tconst presetContributions = {\n\t\tnullable: instantiated.nullable,\n\t\tid: instantiated.id,\n\t\tunique: instantiated.unique,\n\t\t...instantiated.default !== void 0 ? { default: instantiated.default } : {},\n\t\t...instantiated.executionDefaults !== void 0 ? { executionDefaults: instantiated.executionDefaults } : {}\n\t};\n\treturn {\n\t\tok: true,\n\t\tdescriptor: instantiated.descriptor,\n\t\tpresetContributions\n\t};\n}\nfunction bareTypeConstructorOf(resolution) {\n\tif (resolution?.kind !== \"contributedType\") return void 0;\n\tconst { descriptor } = resolution.symbol;\n\treturn descriptor.kind === \"typeConstructor\" && isBareTypeConstructor(descriptor) ? descriptor : void 0;\n}\nfunction resolvedKindLabel(resolution) {\n\tswitch (resolution.kind) {\n\t\tcase \"compositeType\": return \"composite type\";\n\t\tcase \"namedType\": return \"named type\";\n\t\tcase \"block\": return resolution.symbol.keyword;\n\t\tcase \"crossSpace\": return \"type of another contract space\";\n\t\tdefault: return resolution.kind;\n\t}\n}\nfunction resolveFieldTypeDescriptor(input) {\n\tconst { field, resolution, entityLabel, diagnostics } = input;\n\tif (field.malformedType || resolution === void 0) return NOT_RESOLVED;\n\tconst source = diagnosticSource(input.sources, field.node.syntax);\n\tconst unsupported = (message) => {\n\t\tdiagnostics.push({\n\t\t\tcode: \"PSL_UNSUPPORTED_FIELD_TYPE\",\n\t\t\tmessage,\n\t\t\t...source.at(field.span)\n\t\t});\n\t\treturn NOT_RESOLVED;\n\t};\n\tconst call = field.typeConstructor;\n\tswitch (resolution.kind) {\n\t\tcase \"unresolved\":\n\t\tcase \"namespace\":\n\t\tcase \"contributedNamespace\":\n\t\tcase \"mixin\": return NOT_RESOLVED;\n\t\tcase \"contributedType\": {\n\t\t\tconst { descriptor, path } = resolution.symbol;\n\t\t\tconst written = path.join(\".\");\n\t\t\tif (descriptor.kind === \"fieldPreset\") {\n\t\t\t\tif (call === void 0) {\n\t\t\t\t\treportPresetNotCalled({\n\t\t\t\t\t\tentityLabel,\n\t\t\t\t\t\tpresetPath: written,\n\t\t\t\t\t\tsource,\n\t\t\t\t\t\tspan: field.span,\n\t\t\t\t\t\tdiagnostics\n\t\t\t\t\t});\n\t\t\t\t\treturn NOT_RESOLVED;\n\t\t\t\t}\n\t\t\t\treturn instantiateFieldPreset({\n\t\t\t\t\tcall,\n\t\t\t\t\tdescriptor,\n\t\t\t\t\tcodecLookup: input.codecLookup,\n\t\t\t\t\tdiagnostics,\n\t\t\t\t\tsource,\n\t\t\t\t\tentityLabel\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (call !== void 0) return instantiateFieldTypeConstructor({\n\t\t\t\t...input,\n\t\t\t\tcall,\n\t\t\t\tdescriptor,\n\t\t\t\tsource\n\t\t\t});\n\t\t\tif (!isBareTypeConstructor(descriptor)) {\n\t\t\t\treportTypeConstructorNotCalled({\n\t\t\t\t\tentityLabel,\n\t\t\t\t\tpath: written,\n\t\t\t\t\tdescriptor,\n\t\t\t\t\tsource,\n\t\t\t\t\tspan: field.span,\n\t\t\t\t\tdiagnostics\n\t\t\t\t});\n\t\t\t\treturn NOT_RESOLVED;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t\tdescriptor: instantiateAuthoringTypeConstructor(descriptor, [])\n\t\t\t};\n\t\t}\n\t\tcase \"field\":\n\t\tcase \"attribute\":\n\t\tcase \"parameter\":\n\t\tcase \"function\":\n\t\tcase \"constant\": throw new InternalError(`The type of ${entityLabel} resolved to a ${resolution.kind}; a type reference never names one. This is a binder bug.`);\n\t}\n\tif (call !== void 0) return unsupported(`${entityLabel} calls \"${call.path.join(\".\")}\", which is a ${resolvedKindLabel(resolution)}, not a type constructor. Remove the arguments.`);\n\tswitch (resolution.kind) {\n\t\tcase \"namedType\": {\n\t\t\tconst descriptor = input.namedTypeDescriptors.get(resolution.symbol);\n\t\t\treturn descriptor === void 0 ? NOT_RESOLVED : {\n\t\t\t\tok: true,\n\t\t\t\tdescriptor\n\t\t\t};\n\t\t}\n\t\tcase \"block\": {\n\t\t\tif (resolution.symbol.keyword !== \"enum\") return unsupported(`${entityLabel} is typed by the ${resolution.symbol.keyword} \"${resolution.symbol.name}\", which is not a column type.`);\n\t\t\tconst descriptor = input.enumTypeDescriptors.get(resolution.symbol);\n\t\t\treturn descriptor === void 0 ? NOT_RESOLVED : {\n\t\t\t\tok: true,\n\t\t\t\tdescriptor\n\t\t\t};\n\t\t}\n\t\tcase \"model\":\n\t\tcase \"compositeType\": return unsupported(`${entityLabel} is typed by the ${resolvedKindLabel(resolution)} \"${resolution.symbol.name}\", which is not a column type.`);\n\t\tcase \"crossSpace\": return unsupported(`${entityLabel} type \"${field.typeName}\" is a type of contract space \"${field.typeContractSpaceId}\"; only a relation field can name a type of another contract space.`);\n\t}\n}\nconst PSL_INVALID_DEFAULT_SQL = \"PSL_INVALID_DEFAULT_SQL\";\nconst TAGGED_LITERAL_CANONICALIZATION_CODES = {\n\tnul: \"PSL_TAGGED_LITERAL_NUL\",\n\t\"too-large\": \"PSL_TAGGED_LITERAL_TOO_LARGE\"\n};\n/**\n* Refuses a `null` element in the list default of a field whose list elements are not nullable,\n* at the first `null`. Returns whether it refused.\n*/\nfunction rejectStrictListNullDefault(input) {\n\tif (input.field.elementOptional) return false;\n\tconst nullElement = input.elements.find(isParsedNullLiteral);\n\tif (nullElement === void 0) return false;\n\tinput.diagnostics.push({\n\t\tcode: \"PSL_INVALID_DEFAULT_APPLICABILITY\",\n\t\tmessage: `Field \"${input.modelName}.${input.field.name}\" has strict list elements and cannot use null in a literal list default. Make the element type nullable or remove null from the default.`,\n\t\t...input.source.at(nullElement.span)\n\t});\n\treturn true;\n}\nfunction isParsedNullLiteral(element) {\n\treturn element.kind === \"null\";\n}\nfunction lowerDefaultForField(input) {\n\tconst node = getAttribute(input.field.attributes, \"default\")?.node;\n\tif (node === void 0) return {};\n\tconst source = diagnosticSource(input.sources, node.syntax);\n\tconst spec = sqlAttributeSpecs.field.default(fieldSpecContext({\n\t\tsymbols: input.symbolTable,\n\t\tmodel: input.model,\n\t\tfield: input.field,\n\t\tbinder: input.binder,\n\t\tdefaultFunctionRegistry: input.defaultFunctionRegistry,\n\t\tdataTypes: input.dataTypes\n\t}));\n\tconst interpreted = interpretFieldAttribute({\n\t\tsymbols: input.symbolTable,\n\t\tnode,\n\t\tspec,\n\t\tmodel: input.model,\n\t\tfield: input.field,\n\t\tsources: input.sources,\n\t\tbinder: input.binder,\n\t\tdiagnostics: input.diagnostics\n\t});\n\tif (interpreted === void 0) return {};\n\tconst value = interpreted.value;\n\tconst attributeSpan = nodePslSpan(node.syntax, input.sources);\n\tif (value.kind === \"null\") {\n\t\tif (!input.field.optional) {\n\t\t\tinput.diagnostics.push({\n\t\t\t\tcode: \"PSL_INVALID_DEFAULT_APPLICABILITY\",\n\t\t\t\tmessage: `Field \"${input.modelName}.${input.fieldName}\" is non-nullable and cannot use null as its literal default. Make the field nullable or use a non-null default.`,\n\t\t\t\t...source.at()\n\t\t\t});\n\t\t\treturn {};\n\t\t}\n\t\treturn { defaultValue: {\n\t\t\tkind: \"literal\",\n\t\t\tvalue: null,\n\t\t\tcanonical: true\n\t\t} };\n\t}\n\tif (value.kind === \"list\" && rejectStrictListNullDefault({\n\t\t...input,\n\t\telements: value.elements,\n\t\tsource\n\t})) return {};\n\tconst readsListElements = (written) => input.isListColumn || input.field.list && written.kind === \"list\";\n\tconst readAsLiteral = (written, spans, sourceElementIndexes) => {\n\t\tconst lowered = lowerDataTypeDefault({\n\t\t\twritten,\n\t\t\tspans,\n\t\t\tsourceElementIndexes,\n\t\t\tisList: readsListElements(written),\n\t\t\tcolumn: input.columnDescriptor,\n\t\t\tcodecLookup: input.codecLookup,\n\t\t\tdataTypes: input.dataTypes,\n\t\t\tfieldPath: `${input.modelName}.${input.fieldName}`\n\t\t});\n\t\tif (!lowered.ok) {\n\t\t\tinput.diagnostics.push({\n\t\t\t\tcode: lowered.code,\n\t\t\t\tmessage: lowered.message,\n\t\t\t\t...source.at(lowered.span)\n\t\t\t});\n\t\t\treturn {};\n\t\t}\n\t\tlet restoredValue = lowered.value;\n\t\tif (value.kind === \"list\" && value.elements.some(isParsedNullLiteral) && Array.isArray(lowered.value)) {\n\t\t\tlet index = 0;\n\t\t\tconst nonNullValues = lowered.value;\n\t\t\trestoredValue = value.elements.map((element) => element.kind === \"null\" ? null : nonNullValues[index++] ?? null);\n\t\t}\n\t\tif (input.valueObjectDefault !== void 0) {\n\t\t\tconst { document, stored } = valueObjectDefaultDocument({\n\t\t\t\tstored: restoredValue,\n\t\t\t\telementwise: readsListElements(written) && !input.isListColumn,\n\t\t\t\tcodecId: input.columnDescriptor.codecId,\n\t\t\t\tcodecLookup: input.codecLookup\n\t\t\t});\n\t\t\tconst mismatches = valueObjectDefaultMismatches({\n\t\t\t\tfieldPath: `${input.modelName}.${input.fieldName}`,\n\t\t\t\tvalue: document,\n\t\t\t\tlist: input.field.list,\n\t\t\t\tnullable: input.field.optional,\n\t\t\t\telementNullable: input.field.elementOptional,\n\t\t\t\t...input.valueObjectDefault,\n\t\t\t\tcodecLookup: input.codecLookup,\n\t\t\t\tdataTypeLookup: input.dataTypes.lookup\n\t\t\t});\n\t\t\tfor (const { code, message } of mismatches) input.diagnostics.push({\n\t\t\t\tcode,\n\t\t\t\tmessage,\n\t\t\t\t...source.at()\n\t\t\t});\n\t\t\tif (mismatches.length > 0) return {};\n\t\t\treturn { defaultValue: {\n\t\t\t\tkind: \"literal\",\n\t\t\t\tvalue: stored,\n\t\t\t\tcanonical: true\n\t\t\t} };\n\t\t}\n\t\treturn { defaultValue: {\n\t\t\tkind: \"literal\",\n\t\t\tvalue: restoredValue,\n\t\t\tcanonical: true\n\t\t} };\n\t};\n\tconst canonicalized = (scalar) => {\n\t\tif (scalar.written !== void 0) return scalar.written;\n\t\tinput.diagnostics.push({\n\t\t\tcode: TAGGED_LITERAL_CANONICALIZATION_CODES[scalar.reason],\n\t\t\tmessage: describeTaggedLiteralFailure(scalar.reason),\n\t\t\t...source.at(scalar.span)\n\t\t});\n\t};\n\tconst sqlExpressionDefault = (text, span) => {\n\t\tconst reserved = reservedSqlDefaultText(text);\n\t\tconst refusal = reserved === void 0 ? checkSqlDefaultText(text) : `Write @default(${reserved}()) instead of ${SQL_EXPRESSION_TAG}\\`${reserved}()\\`; ${reserved}() is a Prisma default function, not raw SQL.`;\n\t\tif (refusal !== void 0) {\n\t\t\tinput.diagnostics.push({\n\t\t\t\tcode: PSL_INVALID_DEFAULT_SQL,\n\t\t\t\tmessage: refusal,\n\t\t\t\t...source.at(span)\n\t\t\t});\n\t\t\treturn {};\n\t\t}\n\t\treturn { defaultValue: {\n\t\t\tkind: \"function\",\n\t\t\texpression: text\n\t\t} };\n\t};\n\tif (value.kind === \"member\" || value.kind === \"member-list\") return {};\n\tif (input.columnDescriptor.valueSet !== void 0) {\n\t\tconst memberName = (element) => element.kind === \"scalar\" && element.written?.kind === \"string\" ? element.written.text : void 0;\n\t\tif (value.kind === \"scalar\") {\n\t\t\tconst member = memberName(value);\n\t\t\tif (member !== void 0) return { defaultValue: {\n\t\t\t\tkind: \"literal\",\n\t\t\t\tvalue: member\n\t\t\t} };\n\t\t}\n\t\tif (value.kind === \"list\") {\n\t\t\tconst members = value.elements.map((element) => element.kind === \"null\" ? null : memberName(element));\n\t\t\tif (members.every((member) => member !== void 0)) return { defaultValue: {\n\t\t\t\tkind: \"literal\",\n\t\t\t\tvalue: members\n\t\t\t} };\n\t\t}\n\t}\n\tif (value.kind === \"list\") {\n\t\tconst elements = [];\n\t\tconst sourceElementIndexes = [];\n\t\tfor (const [sourceIndex, element] of value.elements.entries()) {\n\t\t\tif (element.kind === \"null\") continue;\n\t\t\tconst written = canonicalized(element);\n\t\t\tif (written === void 0) return {};\n\t\t\telements.push(written);\n\t\t\tsourceElementIndexes.push(sourceIndex);\n\t\t}\n\t\treturn readAsLiteral({\n\t\t\tkind: \"list\",\n\t\t\telements\n\t\t}, {\n\t\t\tattribute: attributeSpan,\n\t\t\tvalue: value.span,\n\t\t\telements: value.elements.map((element) => element.span)\n\t\t}, sourceElementIndexes);\n\t}\n\tif (value.kind === \"scalar\") {\n\t\tconst written = canonicalized(value);\n\t\tif (written === void 0) return {};\n\t\tconst spans = {\n\t\t\tattribute: attributeSpan,\n\t\t\tvalue: value.span,\n\t\t\telements: []\n\t\t};\n\t\tif (written.kind !== \"tag\") return readAsLiteral(written, spans);\n\t\tconst read = readWrittenValue(input.dataTypes, written);\n\t\tif (read.ok && read.value.type === SQL_EXPRESSION_DATA_TYPE_ID) return sqlExpressionDefault(sqlTextFromCanonical(read.value.value), value.span);\n\t\treturn readAsLiteral(written, spans);\n\t}\n\tconst { call } = value;\n\tconst context = {\n\t\tsourceId: input.sources.sourceFileFor(node.syntax).filename,\n\t\tmodelName: input.modelName,\n\t\tfieldName: input.fieldName,\n\t\tcolumnCodecId: input.columnDescriptor.codecId\n\t};\n\tconst lowered = lowerDefaultFunctionWithRegistry({\n\t\tcall,\n\t\tregistry: input.defaultFunctionRegistry,\n\t\tcontext,\n\t\tsource\n\t});\n\tif (!lowered.ok) {\n\t\tif (lowered.kind === \"owned\") input.diagnostics.push(lowered.diagnostic);\n\t\telse input.diagnostics.pushExternal(lowered.diagnostic);\n\t\treturn {};\n\t}\n\tif (lowered.value.kind === \"storage\") return { defaultValue: lowered.value.defaultValue };\n\tconst generatorDescriptor = input.generatorDescriptorById.get(lowered.value.generated.id);\n\tif (!generatorDescriptor) {\n\t\tinput.diagnostics.push({\n\t\t\tcode: \"PSL_INVALID_DEFAULT_APPLICABILITY\",\n\t\t\tmessage: `Default generator \"${lowered.value.generated.id}\" is not available in the composed mutation default registry.`,\n\t\t\t...source.at(call.span)\n\t\t});\n\t\treturn {};\n\t}\n\tif (generatorDescriptor.applicableCodecIds === void 0) {\n\t\tinput.diagnostics.push({\n\t\t\tcode: \"PSL_INVALID_DEFAULT_APPLICABILITY\",\n\t\t\tmessage: `Default generator \"${generatorDescriptor.id}\" is not applicable to \"@default(...)\" lowering. Use the corresponding field preset (e.g. \\`temporal.${generatorDescriptor.id === \"timestampNow\" ? \"updatedAt\" : generatorDescriptor.id}()\\`) instead.`,\n\t\t\t...source.at(call.span)\n\t\t});\n\t\treturn {};\n\t}\n\tif (!generatorDescriptor.applicableCodecIds.includes(input.columnDescriptor.codecId)) {\n\t\tinput.diagnostics.push({\n\t\t\tcode: \"PSL_INVALID_DEFAULT_APPLICABILITY\",\n\t\t\tmessage: `Default generator \"${generatorDescriptor.id}\" is not applicable to \"${input.modelName}.${input.fieldName}\" with codecId \"${input.columnDescriptor.codecId}\".`,\n\t\t\t...source.at(call.span)\n\t\t});\n\t\treturn {};\n\t}\n\treturn { executionDefaults: { onCreate: lowered.value.generated } };\n}\n//#endregion\n//#region src/psl-field-resolution.ts\nfunction lowerEnumDefaultForField(input) {\n\tconst { field, model, enumHandle, diagnostics } = input;\n\tconst node = getAttribute(field.attributes, \"default\")?.node;\n\tif (node === void 0) return {};\n\tif (enumHandle.enumMembers.length === 0) return {};\n\tconst interpreted = interpretFieldAttribute({\n\t\tnode,\n\t\tspec: sqlAttributeSpecs.field.default(fieldSpecContext({\n\t\t\tsymbols: input.symbolTable,\n\t\t\tmodel,\n\t\t\tfield,\n\t\t\tbinder: input.binder,\n\t\t\tdefaultFunctionRegistry: input.defaultFunctionRegistry,\n\t\t\tdataTypes: input.dataTypes\n\t\t})),\n\t\tsymbols: input.symbolTable,\n\t\tmodel,\n\t\tfield,\n\t\tsources: input.sources,\n\t\tbinder: input.binder,\n\t\tdiagnostics\n\t});\n\tif (interpreted === void 0) return {};\n\tconst member = interpreted.value;\n\tif (member.kind === \"member-list\") {\n\t\tif (rejectStrictListNullDefault({\n\t\t\t...input,\n\t\t\telements: member.elements,\n\t\t\tsource: diagnosticSource(input.sources, node.syntax)\n\t\t})) return {};\n\t\treturn { defaultValue: {\n\t\t\tkind: \"literal\",\n\t\t\tvalue: blindCast(member.elements.map((entry) => entry.kind === \"null\" ? null : enumHandle.enumMembers.find((candidate) => candidate.name === entry.name)?.value))\n\t\t} };\n\t}\n\tinvariant(member.kind === \"member\", \"the enum @default grammar admits only member identifiers\");\n\tconst match = enumHandle.enumMembers.find((m) => m.name === member.name);\n\tif (!match) return {};\n\treturn { defaultValue: {\n\t\tkind: \"literal\",\n\t\tvalue: blindCast(match.value)\n\t} };\n}\nconst MODEL_COORDINATE_SEPARATOR = \"\\0\";\nfunction modelCoordinateKey(namespaceId, modelName) {\n\treturn `${namespaceId}${MODEL_COORDINATE_SEPARATOR}${modelName}`;\n}\nconst REMOVED_ATTRIBUTE_RULES = /* @__PURE__ */ new Map([[\"updatedAt\", {\n\thint: \"Use `temporal.updatedAt()` as a field-preset call instead.\",\n\tsuppressWhen: (field) => field.typeConstructor?.path[0] === \"temporal\"\n}]]);\n{\n\tconst overlap = [...REMOVED_ATTRIBUTE_RULES.keys()].filter((name) => Object.hasOwn(sqlAttributeSpecs.field, name));\n\tif (overlap.length > 0) throw new InternalError(`Registered SQL field attributes and REMOVED_ATTRIBUTE_RULES must not overlap. Names in both: ${overlap.join(\", \")}`);\n}\nfunction describeUnsupportedSqlAttribute(sources) {\n\treturn ({ attribute, level, owner, field }) => {\n\t\tif (owner.kind === \"compositeType\") return void 0;\n\t\tif (owner.kind === \"mixin\" && owner.keyword === \"type\") return void 0;\n\t\tif (level === \"model\") {\n\t\t\tconst source = diagnosticSource(sources, owner.node.syntax);\n\t\t\treturn {\n\t\t\t\tcode: \"PSL_UNSUPPORTED_MODEL_ATTRIBUTE\",\n\t\t\t\tmessage: `${owner.kind === \"mixin\" ? \"Mixin\" : \"Model\"} \"${owner.name}\" uses unsupported attribute \"@@${attribute.name}\"`,\n\t\t\t\t...source.at(attribute.span)\n\t\t\t};\n\t\t}\n\t\tif (field === void 0) return void 0;\n\t\tconst source = diagnosticSource(sources, field.node.syntax);\n\t\tif (attribute.name.startsWith(\"db.\")) return {\n\t\t\tcode: \"PSL_UNSUPPORTED_FIELD_ATTRIBUTE\",\n\t\t\tmessage: formatDbAttributeMigrationMessage(attribute),\n\t\t\t...source.at(attribute.span)\n\t\t};\n\t\tconst baseMessage = `Field \"${owner.name}.${field.name}\" uses unsupported attribute \"@${attribute.name}\"`;\n\t\tconst removedRule = REMOVED_ATTRIBUTE_RULES.get(attribute.name);\n\t\treturn {\n\t\t\tcode: \"PSL_UNSUPPORTED_FIELD_ATTRIBUTE\",\n\t\t\tmessage: removedRule && !removedRule.suppressWhen(field) ? `${baseMessage}. ${removedRule.hint}` : baseMessage,\n\t\t\t...source.at(attribute.span)\n\t\t};\n\t};\n}\nfunction extractFieldConstraintNames(input) {\n\tconst idAttribute = getAttribute(input.field.attributes, \"id\");\n\tconst uniqueAttribute = getAttribute(input.field.attributes, \"unique\");\n\tconst idNode = getAttribute(input.field.attributes, \"id\")?.node;\n\tconst idName = idNode === void 0 ? void 0 : interpretFieldAttribute({\n\t\tnode: idNode,\n\t\tsymbols: input.symbolTable,\n\t\tspec: sqlAttributeSpecs.field.id(input.specContext),\n\t\tmodel: input.model,\n\t\tfield: input.field,\n\t\tsources: input.sources,\n\t\tbinder: input.binder,\n\t\tdiagnostics: input.diagnostics\n\t})?.map;\n\tconst uniqueNode = getAttribute(input.field.attributes, \"unique\")?.node;\n\treturn {\n\t\tidAttribute,\n\t\tuniqueAttribute,\n\t\tidName,\n\t\tuniqueName: uniqueNode === void 0 ? void 0 : interpretFieldAttribute({\n\t\t\tnode: uniqueNode,\n\t\t\tsymbols: input.symbolTable,\n\t\t\tspec: sqlAttributeSpecs.field.unique(input.specContext),\n\t\t\tmodel: input.model,\n\t\t\tfield: input.field,\n\t\t\tsources: input.sources,\n\t\t\tbinder: input.binder,\n\t\t\tdiagnostics: input.diagnostics\n\t\t})?.map\n\t};\n}\n/**\n* Interprets a field's `@noCheck` attribute and resolves it against the\n* column's shape: the bare form becomes every kind the shape derives, and a\n* named kind that can never apply is a spec-validation diagnostic on the\n* attribute node. Returns the concrete kinds in canonical ascending order —\n* the only form the definition tree carries.\n*/\nfunction lowerNoCheckForField(input) {\n\tconst node = getAttribute(input.field.attributes, \"noCheck\")?.node;\n\tif (node === void 0) return void 0;\n\tconst interpreted = interpretFieldAttribute({\n\t\tnode,\n\t\tspec: sqlAttributeSpecs.field.noCheck(input.specContext),\n\t\tsymbols: input.symbolTable,\n\t\tmodel: input.model,\n\t\tfield: input.field,\n\t\tsources: input.sources,\n\t\tbinder: input.binder,\n\t\tdiagnostics: input.diagnostics\n\t});\n\tif (interpreted === void 0) return void 0;\n\tconst span = getAttribute(input.field.attributes, \"noCheck\")?.span ?? input.field.span;\n\tconst subject = `Field \"${input.model.name}.${input.field.name}\"`;\n\tconst derivable = [];\n\tif (input.isListColumn && !input.elementNullable) derivable.push(\"elementNotNull\");\n\tif (input.isDomainEnum) derivable.push(\"membership\");\n\tconst authored = [interpreted.first, interpreted.second].filter((kind) => kind === \"membership\" || kind === \"elementNotNull\");\n\tif (authored.length === 0) {\n\t\tif (derivable.length === 0) {\n\t\t\tinput.diagnostics.push({\n\t\t\t\tcode: \"PSL_INVALID_ATTRIBUTE_ARGUMENT\",\n\t\t\t\tmessage: `${subject} @noCheck waives nothing — this column's shape derives no generated checks`,\n\t\t\t\t...diagnosticSource(input.sources, input.field.node.syntax).at(span)\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\treturn derivable;\n\t}\n\tfor (const kind of authored) if (!derivable.includes(kind)) {\n\t\tconst explanation = kind === \"membership\" ? \"membership checks are derived only from enum value sets\" : \"element-non-null checks are derived only for lists whose elements are semantically non-null\";\n\t\tinput.diagnostics.push({\n\t\t\tcode: \"PSL_INVALID_ATTRIBUTE_ARGUMENT\",\n\t\t\tmessage: `${subject} @noCheck(${kind}) does not apply — ${explanation}`,\n\t\t\t...diagnosticSource(input.sources, input.field.node.syntax).at(span)\n\t\t});\n\t\treturn;\n\t}\n\treturn [...authored].sort();\n}\nfunction collectResolvedFields(input) {\n\tconst { model, symbolTable, enumTypeDescriptors, namedTypeDescriptors, valueObjectTypes, authoringContributions, binder, targetId, defaultFunctionRegistry, dataTypes, generatorDescriptorById, diagnostics, sources, scalarColumnDescriptors, enumHandles, capabilities, namespaceId, namespaceExtensionEntities, codecLookup } = input;\n\tconst resolvedFields = [];\n\tconst valueObjectStorageTypeName = authoringContributions?.valueObjectStorageType;\n\tconst declaredControlPolicy = getAttribute(model.attributes, \"control\")?.args.find((arg) => arg.kind === \"positional\")?.value.trim();\n\tconst modelDerivesChecks = declaredControlPolicy === void 0 || declaredControlPolicy === \"managed\";\n\tfor (const field of Object.values(model.fields)) {\n\t\tconst source = diagnosticSource(sources, field.node.syntax);\n\t\tconst fieldTypeReference = typeReferenceNode(field);\n\t\tconst fieldTypeResolution = fieldTypeReference === void 0 ? void 0 : binder.symbolForNode(fieldTypeReference);\n\t\tconst isModelField = fieldTypeResolution?.kind === \"model\";\n\t\tif (field.list && isModelField) continue;\n\t\tconst relationAttribute = getAttribute(field.attributes, \"relation\");\n\t\tif (isModelField && relationAttribute) continue;\n\t\tif (field.typeContractSpaceId !== void 0 && relationAttribute) continue;\n\t\tif (isModelField) continue;\n\t\tconst valueObjectName = fieldTypeResolution?.kind === \"compositeType\" ? fieldTypeResolution.symbol.name : void 0;\n\t\tconst isValueObjectField = valueObjectName !== void 0;\n\t\tconst isListField = field.list;\n\t\tconst isListColumn = storedAsListColumn({\n\t\t\tlist: isListField,\n\t\t\ttypedByValueObject: isValueObjectField\n\t\t});\n\t\tlet descriptor;\n\t\tlet presetContributions;\n\t\tconst resolveInput = {\n\t\t\tfield,\n\t\t\tresolution: fieldTypeResolution,\n\t\t\tenumTypeDescriptors,\n\t\t\tnamedTypeDescriptors,\n\t\t\tdiagnostics,\n\t\t\tsources,\n\t\t\tentityLabel: `Field \"${model.name}.${field.name}\"`,\n\t\t\t...ifDefined(\"namespaceId\", namespaceId),\n\t\t\t...ifDefined(\"namespaceExtensionEntities\", namespaceExtensionEntities),\n\t\t\tbinder,\n\t\t\tcodecLookup\n\t\t};\n\t\tif (isValueObjectField) {\n\t\t\tif (valueObjectStorageTypeName === void 0) {\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\tcode: \"PSL_UNSUPPORTED_FIELD_TYPE\",\n\t\t\t\t\tmessage: `Field \"${model.name}.${field.name}\" is typed by the composite type \"${field.typeName}\", but the adapter of the stack declares no storage type for value objects, so the field has no column to be stored in.`,\n\t\t\t\t\t...source.at(field.span)\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tdescriptor = scalarColumnDescriptors.get(valueObjectStorageTypeName);\n\t\t\tif (descriptor === void 0) throw new InternalError(`The stack declares \"${valueObjectStorageTypeName}\" as its value-object storage type, but it is not one of the stack's scalar types; the control stack checks this when it is assembled.`);\n\t\t} else if (isListField) {\n\t\t\tif (capabilities[\"sql\"]?.[\"scalarList\"] !== true) {\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\tcode: \"PSL_SCALAR_LIST_UNSUPPORTED_TARGET\",\n\t\t\t\t\tmessage: `Field \"${model.name}.${field.name}\" is a scalar list, but target \"${targetId}\" does not support scalar lists (the adapter does not report the \"scalarList\" capability). Remove the list or author it against a target that supports scalar lists.`,\n\t\t\t\t\t...source.at(field.span)\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst resolved = resolveFieldTypeDescriptor(resolveInput);\n\t\t\tif (!resolved.ok) continue;\n\t\t\tif (resolved.presetContributions) {\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\tcode: \"PSL_PRESET_NOT_LIST\",\n\t\t\t\t\tmessage: `Field \"${model.name}.${field.name}\" uses a field-preset call as a list element type. Presets cannot be list elements; remove \"[]\" or use a scalar type.`,\n\t\t\t\t\t...source.at(field.span)\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tdescriptor = resolved.descriptor;\n\t\t} else {\n\t\t\tconst resolved = resolveFieldTypeDescriptor(resolveInput);\n\t\t\tif (!resolved.ok) continue;\n\t\t\tdescriptor = resolved.descriptor;\n\t\t\tpresetContributions = resolved.presetContributions;\n\t\t}\n\t\tif (!descriptor) continue;\n\t\tif (presetContributions && field.optional) {\n\t\t\tdiagnostics.push({\n\t\t\t\tcode: \"PSL_PRESET_NOT_OPTIONAL\",\n\t\t\t\tmessage: `Field \"${model.name}.${field.name}\" uses a field-preset call and cannot be optional. Remove \"?\" or use a different field type.`,\n\t\t\t\t...source.at(field.span)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst defaultAttribute = getAttribute(field.attributes, \"default\");\n\t\tif (presetContributions && defaultAttribute) {\n\t\t\tdiagnostics.push({\n\t\t\t\tcode: \"PSL_PRESET_AND_DEFAULT_CONFLICT\",\n\t\t\t\tmessage: `Field \"${model.name}.${field.name}\" uses a field-preset call and cannot also declare @default(...). The preset already specifies the default value.`,\n\t\t\t\t...source.at(defaultAttribute.span)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst enumHandle = fieldTypeResolution?.kind === \"block\" ? enumHandles.get(fieldTypeResolution.symbol) : void 0;\n\t\tconst loweredDefault = defaultAttribute ? enumHandle ? lowerEnumDefaultForField({\n\t\t\tmodelName: model.name,\n\t\t\tfieldName: field.name,\n\t\t\tfield,\n\t\t\tmodel,\n\t\t\tsymbolTable,\n\t\t\tsources: input.sources,\n\t\t\tbinder: input.binder,\n\t\t\tenumHandle,\n\t\t\tdefaultFunctionRegistry,\n\t\t\tdataTypes,\n\t\t\tdiagnostics\n\t\t}) : lowerDefaultForField({\n\t\t\tmodelName: model.name,\n\t\t\tfieldName: field.name,\n\t\t\tfield,\n\t\t\tmodel,\n\t\t\tsymbolTable,\n\t\t\tsources: input.sources,\n\t\t\tbinder: input.binder,\n\t\t\tcolumnDescriptor: descriptor,\n\t\t\tisListColumn,\n\t\t\tvalueObjectDefault: valueObjectName === void 0 ? void 0 : {\n\t\t\t\tvalueObjectName,\n\t\t\t\ttypes: valueObjectTypes\n\t\t\t},\n\t\t\tgeneratorDescriptorById,\n\t\t\tdefaultFunctionRegistry,\n\t\t\tdataTypes,\n\t\t\tcodecLookup,\n\t\t\tdiagnostics\n\t\t}) : {};\n\t\tconst loweredOnCreate = loweredDefault.executionDefaults?.onCreate;\n\t\tif (isListField && loweredDefault.defaultValue?.kind === \"function\" && loweredDefault.defaultValue.expression === \"autoincrement()\") {\n\t\t\tdiagnostics.push({\n\t\t\t\tcode: \"PSL_LIST_AUTOINCREMENT_UNSUPPORTED\",\n\t\t\t\tmessage: `Field \"${model.name}.${field.name}\" is a list and cannot use autoincrement(); it is a Prisma marker for a sequence-backed scalar column, not SQL.`,\n\t\t\t\t...source.at(defaultAttribute?.span ?? field.span)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (isListField && loweredOnCreate) {\n\t\t\tconst defaultExpression = defaultAttribute?.args.find((arg) => arg.kind === \"positional\")?.value.trim() ?? \"this function\";\n\t\t\tdiagnostics.push({\n\t\t\t\tcode: \"PSL_LIST_EXECUTION_DEFAULT_UNSUPPORTED\",\n\t\t\t\tmessage: `Field \"${model.name}.${field.name}\" is a list and cannot use an execution default (\"${defaultExpression}\"). Lists have no per-element execution-default semantics; use a literal list @default or remove the default.`,\n\t\t\t\t...source.at(defaultAttribute?.span ?? field.span)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (field.optional && loweredOnCreate) {\n\t\t\tconst generatorDescription = loweredOnCreate.kind === \"generator\" ? `\"${loweredOnCreate.id}\"` : \"for this field\";\n\t\t\tdiagnostics.push({\n\t\t\t\tcode: \"PSL_INVALID_DEFAULT_FUNCTION_ARGUMENT\",\n\t\t\t\tmessage: `Field \"${model.name}.${field.name}\" cannot be optional when using execution default ${generatorDescription}. Remove \"?\" or use a storage default.`,\n\t\t\t\t...source.at(defaultAttribute?.span ?? field.span)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst mappedColumnName = storageName(field, input.physicalNames);\n\t\tconst specContext = fieldSpecContext({\n\t\t\tsymbols: symbolTable,\n\t\t\tmodel,\n\t\t\tfield,\n\t\t\tbinder,\n\t\t\tdefaultFunctionRegistry,\n\t\t\tdataTypes\n\t\t});\n\t\tconst { idAttribute, uniqueAttribute, idName, uniqueName } = extractFieldConstraintNames({\n\t\t\tsymbolTable: input.symbolTable,\n\t\t\tmodel,\n\t\t\tfield,\n\t\t\tspecContext,\n\t\t\tsources: input.sources,\n\t\t\tbinder: input.binder,\n\t\t\tdiagnostics\n\t\t});\n\t\tlet isIdField = Boolean(idAttribute);\n\t\tif (idAttribute && isListField) {\n\t\t\tdiagnostics.push({\n\t\t\t\tcode: \"PSL_LIST_ID_UNSUPPORTED\",\n\t\t\t\tmessage: `Field \"${model.name}.${field.name}\" is a list and cannot be a primary key. Remove @id; a list cannot be an identity column.`,\n\t\t\t\t...source.at(idAttribute.span)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (idAttribute && field.optional) {\n\t\t\tdiagnostics.push({\n\t\t\t\tcode: \"PSL_INVALID_ATTRIBUTE_ARGUMENT\",\n\t\t\t\tmessage: `Field \"${model.name}.${field.name}\" @id cannot be optional; primary key columns must be NOT NULL`,\n\t\t\t\t...source.at(idAttribute.span)\n\t\t\t});\n\t\t\tisIdField = false;\n\t\t}\n\t\tif (presetContributions && idAttribute && !presetContributions.id) {\n\t\t\tdiagnostics.push({\n\t\t\t\tcode: \"PSL_PRESET_AND_ID_CONFLICT\",\n\t\t\t\tmessage: `Field \"${model.name}.${field.name}\" uses a field-preset call and cannot also declare @id. Use a preset that contributes id semantics, or drop @id.`,\n\t\t\t\t...source.at(idAttribute.span)\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst fieldExecutionDefaults = presetContributions?.executionDefaults ?? loweredDefault.executionDefaults;\n\t\tconst fieldDefaultValue = presetContributions?.default ?? loweredDefault.defaultValue;\n\t\tconst noCheckKinds = modelDerivesChecks ? lowerNoCheckForField({\n\t\t\tsymbolTable: input.symbolTable,\n\t\t\tmodel,\n\t\t\tfield,\n\t\t\tspecContext,\n\t\t\tsources: input.sources,\n\t\t\tbinder: input.binder,\n\t\t\tisListColumn,\n\t\t\telementNullable: field.elementOptional,\n\t\t\tisDomainEnum: enumHandle !== void 0,\n\t\t\tdiagnostics\n\t\t}) : void 0;\n\t\tresolvedFields.push({\n\t\t\tfield,\n\t\t\tcolumnName: mappedColumnName,\n\t\t\tdescriptor,\n\t\t\tnullable: presetContributions?.nullable ?? field.optional,\n\t\t\t...ifDefined(\"defaultValue\", fieldDefaultValue),\n\t\t\t...ifDefined(\"executionDefaults\", fieldExecutionDefaults),\n\t\t\tisId: isIdField || Boolean(presetContributions?.id),\n\t\t\tisUnique: Boolean(uniqueAttribute) || Boolean(presetContributions?.unique),\n\t\t\t...ifDefined(\"idName\", idName),\n\t\t\t...ifDefined(\"uniqueName\", uniqueName),\n\t\t\t...ifDefined(\"many\", isListField ? true : void 0),\n\t\t\t...ifDefined(\"noCheck\", noCheckKinds),\n\t\t\t...ifDefined(\"elementNullable\", field.elementOptional ? true : void 0),\n\t\t\t...ifDefined(\"valueObjectTypeName\", valueObjectName),\n\t\t\t...ifDefined(\"enumTypeHandle\", enumHandle)\n\t\t});\n\t}\n\treturn resolvedFields;\n}\n//#endregion\nexport { mapFieldNamesToColumns as C, getNamedArgument as S, readDataTypeDefault as _, getAuthoringEntity as a, formatDbAttributeMigrationMessage as b, resolveFieldTypeDescriptor as c, fieldSpecContext as d, interpretFieldAttribute as f, sqlAttributeSpecs as g, modelSpecContext as h, bareTypeConstructorOf as i, toNamedTypeFieldDescriptor as l, modelAttributeSpecsFrom as m, describeUnsupportedSqlAttribute as n, instantiateFieldTypeConstructor as o, interpretModelAttribute as p, modelCoordinateKey as r, instantiatePslTypeConstructor as s, collectResolvedFields as t, PSL_CHECK_ON_STI_VARIANT as u, readWrittenNumberForCodec as v, storageName as w, getAttribute as x, contractError as y };\n\n//# sourceMappingURL=psl-field-resolution-ztVU6TV2.mjs.map"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"psl-infer-Dp_NzWE0.d.mts","names":[],"sources":["../../../../2-sql/9-family/dist/psl-infer.d.mts"],"mappings":";;;;;;KAIK;WACM;WACA;;iBAEM,YAAY,oBAAoB;iBAChC,YAAY,qBAAqB;iBACjC,WAAW,qBAAqB;iBAChC,UAAU;iBACV,wBAAwB,8BAA8B;iBACtD,4BAA4B,wBAAwB;;;UAG3D;WACC,WAAW;WACX,aAAa;;UAEd;WACC,SAAS;WACT,iBAAiB;WACjB,WAAW;WACX,mBAAmB,oBAAoB,wBAAwB;;KAErE;WACM;WACA;;;;;;WAMA;;;;;;WAMA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;;;;KAIN;WACM,kBAAkB,6BAA6B;;iBAEzC,eAAe,QAAQ,eAAe,aAAa,cAAc,8BAA8B;;;;;;;;;;;;;;;;;;iBAkB/F,wBAAwB,mBAAmB,yBAAyB,IAAI,iBAAiB,mBAAmB,uBAAuB,YAAY,aAAa"}
@@ -1 +0,0 @@
1
- import "./query-lane-context-C42-u9L1-Bxa4DkI_.mjs";
@@ -1 +0,0 @@
1
- {"version":3,"file":"type-map-BMCZ_fb9-BTmWHQ-J.d.mts","names":[],"sources":["../../../../2-sql/9-family/dist/type-map-BMCZ_fb9.d.mts"],"mappings":";;;;;UAIU;WACC,qBAAqB,SAAS;;WAE9B,YAAY;;WAEZ,cAAc,KAAK;;;;;WAKnB;;KAEN;WACM;;;;;;;;;iBASM,WAAW,eAAe,eAAe,UAAU,wBAAwB;;;;KAIvF;WACM;WACA;;KAEN;WACM,SAAS;WACT;WACA,aAAa;;WAEb;WACA;;;UAGD;EACR,QAAQ,oBAAoB,cAAc,0BAA0B"}
@@ -1 +0,0 @@
1
- import "./types-Cl4MLNrS-lbf-K25i.mjs";
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-D0GFxty0-CP8b4dR3.mjs","names":[],"sources":["../../../../2-sql/1-core/schema-ir/dist/types-D0GFxty0.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\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-D0GFxty0.mjs.map"],"mappings":";;;;;;;;;;;;;;AAcA,SAAS,uBAAuB,OAAO,iBAAiB,MAAM;CAC7D,IAAI,oBAAoB,KAAK,GAAG,OAAO;EACtC;EACA,SAAS,KAAK;CACf;CACA,IAAI,QAAQ,MAAM,QAAQ,KAAK,GAAG;EACjC,MAAM,WAAW,MAAM,KAAK,YAAY,gBAAgB,SAAS,eAAe,CAAC;EACjF,OAAO;GACN,OAAO,SAAS,KAAK,YAAY,QAAQ,KAAK;GAC9C,SAAS,SAAS,MAAM,YAAY,QAAQ,YAAY,KAAK,CAAC,CAAC,EAAE;EAClE;CACD;CACA,MAAM,YAAY,gBAAgB,iBAAiB,OAAO,MAAM,YAAY,IAAI,OAAO,eAAe;CACtG,OAAO,UAAU,YAAY,KAAK,IAAI,YAAY;EACjD;EACA,SAAS,UAAU;CACpB;AACD;AACA,SAAS,gBAAgB,OAAO,iBAAiB;CAChD,IAAI,UAAU,MAAM,OAAO;EAC1B;EACA,SAAS,KAAK;CACf;CACA,IAAI;EACH,OAAO;GACN,OAAO,gBAAgB,KAAK;GAC5B,SAAS,KAAK;EACf;CACD,SAAS,OAAO;EACf,IAAI,kBAAkB,KAAK,KAAK,MAAM,SAAS,yBAAyB,OAAO;GAC9E;GACA,SAAS,MAAM;EAChB;EACA,MAAM;CACP;AACD;;;;;AAKA,SAAS,uBAAuB,eAAe,iBAAiB,MAAM;CACrE,IAAI,eAAe,SAAS,WAAW,OAAO,KAAK;CACnD,MAAM,EAAE,YAAY,uBAAuB,cAAc,OAAO,iBAAiB,IAAI;CACrF,OAAO,YAAY,KAAK,IAAI,KAAK,IAAI,2EAA2E,QAAQ;AACzH;;;;;;;;AAUA,MAAM,2BAA2B;CAChC,QAAQ;CACR,OAAO;CACP,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,YAAY;CACZ,QAAQ;CACR,OAAO;CACP,OAAO;AACR;;;;;;;;;;;AAWA,MAAM,8BAA8B;EAClC,yBAAyB,SAAS;EAClC,yBAAyB,QAAQ;EACjC,yBAAyB,SAAS;EAClC,yBAAyB,gBAAgB;EACzC,yBAAyB,aAAa;EACtC,yBAAyB,aAAa;EACtC,yBAAyB,SAAS;EAClC,yBAAyB,QAAQ;EACjC,yBAAyB,QAAQ;AACnC;AACA,SAAS,2BAA2B,UAAU;CAC7C,OAAO,OAAO,OAAO,6BAA6B,QAAQ;AAC3D;;;;;;;AAOA,SAAS,0BAA0B,UAAU;CAC5C,IAAI,CAAC,2BAA2B,QAAQ,GAAG,MAAM,IAAI,cAAc,iEAAiE,SAAS,EAAE;CAC/I,OAAO,4BAA4B;AACpC;;;;;;;;AAQA,MAAM,8BAA8B,GAAG,yBAAyB,QAAQ,QAAQ;;;;;;;;AAQhF,SAAS,yBAAyB,UAAU;CAC3C,OAAO,2BAA2B,QAAQ,IAAI,4BAA4B,YAAY,KAAK;AAC5F;;;;;;;;;;;;;;;;;;;;;;AAwBA,IAAI,kBAAkB,cAAc,WAAW;CAC9C,cAAc;EACb,MAAM;EACN,OAAO,eAAe,MAAM,QAAQ;GACnC,OAAO;GACP,UAAU;GACV,YAAY;GACZ,cAAc;EACf,CAAC;CACF;AACD;;;;;;;AAOA,SAAS,WAAW,MAAM,WAAW,WAAW;CAC/C,IAAI,SAAS,KAAK,KAAK,CAAC,UAAU,IAAI,GAAG,MAAM,IAAI,cAAc,cAAc,UAAU,oBAAoB,MAAM,YAAY,aAAa;AAC7I;;;;;;;;;;AAUA,SAAS,oBAAoB,QAAQ,KAAK,OAAO;CAChD,IAAI,UAAU,KAAK,GAAG;CACtB,OAAO,eAAe,QAAQ,KAAK;EAClC;EACA,YAAY;EACZ,UAAU;EACV,cAAc;CACf,CAAC;AACF;;;;;;;;;;;;;;AAgBA,IAAI,aAAa,MAAM,mBAAmB,gBAAgB;CACzD,WAAW,yBAAyB;CACpC;CACA,YAAY,OAAO;EAClB,MAAM;EACN,KAAK,UAAU,MAAM;EACrB,IAAI,MAAM,SAAS,KAAK,GAAG,KAAK,OAAO,MAAM;EAC7C,oBAAoB,MAAM,aAAa,MAAM,SAAS;EACtD,WAAW,IAAI;CAChB;CACA,IAAI,KAAK;EACR,OAAO;CACR;CACA,WAAW;EACV,OAAO,CAAC;CACT;CACA,OAAO,KAAK,OAAO;EAClB,OAAO,iBAAiB,aAAa,QAAQ,IAAI,WAAW,KAAK;CAClE;CACA,OAAO,GAAG,MAAM;EACf,OAAO,KAAK,aAAa,yBAAyB;CACnD;CACA,UAAU,OAAO;EAChB,MAAM,OAAO,UAAU,KAAK;EAC5B,WAAW,MAAM,cAAc,WAAW,EAAE;EAC5C,OAAO,KAAK,QAAQ,WAAW,KAAK,QAAQ,UAAU,KAAK,QAAQ,OAAO,GAAG,MAAM,MAAM,KAAK,QAAQ,EAAE;CACzG;AACD;;;;;;;;;;;;;;AAgBA,IAAI,uBAAuB,MAAM,6BAA6B,gBAAgB;CAC7E,WAAW,yBAAyB;CACpC;CACA;CACA,YAAY,OAAO;EAClB,MAAM;EACN,KAAK,OAAO,OAAO,MAAM,MAAM;EAC/B,IAAI,MAAM,OAAO,SAAS,QAAQ,KAAK,SAAS,MAAM,OAAO;EAC7D,KAAK,aAAa,MAAM;EACxB,oBAAoB,MAAM,aAAa,MAAM,SAAS;EACtD,WAAW,IAAI;CAChB;CACA,IAAI,KAAK;EACR,OAAO,SAAS,KAAK;CACtB;CACA,WAAW;EACV,OAAO,CAAC;CACT;CACA,OAAO,KAAK,OAAO;EAClB,OAAO,iBAAiB,uBAAuB,QAAQ,IAAI,qBAAqB,KAAK;CACtF;CACA,OAAO,GAAG,MAAM;EACf,OAAO,KAAK,aAAa,yBAAyB;CACnD;CACA,UAAU,OAAO;EAChB,MAAM,OAAO,UAAU,KAAK;EAC5B,WAAW,MAAM,wBAAwB,qBAAqB,EAAE;EAChE,IAAI,KAAK,WAAW,KAAK,GAAG,OAAO,KAAK,OAAO,KAAK;EACpD,OAAO,KAAK,eAAe,KAAK;CACjC;AACD;;;;;;;;;;;;;;;AAiBA,SAAS,sBAAsB,UAAU,QAAQ,YAAY,iBAAiB;CAC7E,IAAI,SAAS,SAAS,OAAO,MAAM,OAAO;CAC1C,IAAI,SAAS,SAAS,aAAa,OAAO,SAAS,WAAW,OAAO,mBAAmB,sBAAsB,SAAS,OAAO,YAAY,eAAe,GAAG,sBAAsB,OAAO,OAAO,YAAY,eAAe,CAAC;CAC5N,IAAI,SAAS,SAAS,cAAc,OAAO,SAAS,YAAY,OAAO,4BAA4B,SAAS,UAAU,MAAM,4BAA4B,OAAO,UAAU;CACzK,OAAO;AACR;AACA,SAAS,4BAA4B,YAAY;CAChD,OAAO,WAAW,YAAY,CAAC,CAAC,QAAQ,QAAQ,EAAE;AACnD;;;;;;AAMA,MAAM,sBAAsB;AAC5B,MAAM,kBAAkB;AACxB,MAAM,mBAAmB;;;;;;AAMzB,SAAS,YAAY,OAAO;CAC3B,MAAM,OAAO,OAAO,KAAK;CACzB,MAAM,UAAU,iBAAiB,KAAK,IAAI;CAC1C,IAAI,YAAY,MAAM,OAAO;CAC7B,MAAM,GAAG,OAAO,IAAI,QAAQ,IAAI,WAAW,IAAI,WAAW,OAAO;CACjE,MAAM,SAAS,GAAG,QAAQ;CAC1B,MAAM,QAAQ,MAAM,SAAS,OAAO,QAAQ;CAC5C,IAAI,SAAS,GAAG,OAAO,GAAG,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,IAAI;CACxD,IAAI,SAAS,OAAO,QAAQ,OAAO,GAAG,OAAO,SAAS,IAAI,OAAO,QAAQ,OAAO,MAAM;CACtF,OAAO,GAAG,OAAO,OAAO,MAAM,GAAG,KAAK,EAAE,GAAG,OAAO,MAAM,KAAK;AAC9D;AACA,SAAS,cAAc,OAAO;CAC7B,MAAM,UAAU,gBAAgB,KAAK,YAAY,KAAK,CAAC;CACvD,IAAI,YAAY,MAAM,OAAO;CAC7B,MAAM,SAAS,QAAQ,MAAM,GAAA,CAAI,QAAQ,aAAa,EAAE;CACxD,MAAM,YAAY,QAAQ,MAAM,GAAA,CAAI,QAAQ,OAAO,EAAE;CACrD,MAAM,SAAS,aAAa,KAAK,QAAQ,GAAG,MAAM,GAAG;CACrD,OAAO,WAAW,MAAM,SAAS,GAAG,QAAQ,MAAM,KAAK;AACxD;AACA,SAAS,sBAAsB,OAAO,YAAY,iBAAiB;CAClE,IAAI,MAAM,QAAQ,KAAK,KAAK,YAAY,SAAS,IAAI,GAAG;EACvD,MAAM,cAAc,WAAW,MAAM,GAAG,EAAE;EAC1C,OAAO,MAAM,KAAK,YAAY,sBAAsB,SAAS,aAAa,eAAe,CAAC;CAC3F;CACA,MAAM,OAAO,iBAAiB,OAAO,MAAM,YAAY,IAAI;CAC3D,IAAI,oBAAoB,KAAK,GAAG,OAAO,uBAAuB,MAAM,iBAAiB,KAAK,CAAC,CAAC;CAC5F,IAAI,iBAAiB,MAAM,OAAO;CAClC,MAAM,cAAc,eAAe,KAAK,IAAI,OAAO,oBAAoB,KAAK,UAAU;CACtF,KAAK,OAAO,UAAU,YAAY,OAAO,UAAU,aAAa,gBAAgB,MAAM,OAAO,YAAY,OAAO,KAAK,IAAI,YAAY,KAAK,IAAI,cAAc,KAAK;CACjK,OAAO;AACR;AACA,SAAS,mBAAmB,GAAG,GAAG;CACjC,IAAI,MAAM,GAAG,OAAO;CACpB,IAAI,OAAO,MAAM,YAAY,MAAM,QAAQ,OAAO,MAAM,YAAY,MAAM,MAAM,OAAO,mBAAmB,CAAC,MAAM,mBAAmB,CAAC;CACrI,IAAI,OAAO,MAAM,YAAY,MAAM,QAAQ,OAAO,MAAM,UAAU,IAAI;EACrE,OAAO,mBAAmB,CAAC,MAAM,mBAAmB,KAAK,MAAM,CAAC,CAAC;CAClE,QAAQ;EACP,OAAO;CACR;CACA,IAAI,OAAO,MAAM,YAAY,OAAO,MAAM,YAAY,MAAM,MAAM,IAAI;EACrE,OAAO,mBAAmB,KAAK,MAAM,CAAC,CAAC,MAAM,mBAAmB,CAAC;CAClE,QAAQ;EACP,OAAO;CACR;CACA,OAAO;AACR;;;;;;;;;;;;;;AAgBA,IAAI,qBAAqB,MAAM,2BAA2B,gBAAgB;CACzE,WAAW,yBAAyB;CACpC,YAAY,OAAO;EAClB,MAAM;EACN,IAAI,MAAM,aAAa,KAAK,GAAG,KAAK,WAAW,MAAM;EACrD,IAAI,MAAM,QAAQ,KAAK,GAAG,KAAK,MAAM,MAAM;EAC3C,IAAI,MAAM,sBAAsB,KAAK,GAAG,KAAK,oBAAoB,MAAM;EACvE,oBAAoB,MAAM,YAAY,MAAM,QAAQ;EACpD,oBAAoB,MAAM,QAAQ,MAAM,IAAI;EAC5C,oBAAoB,MAAM,YAAY,MAAM,QAAQ;EACpD,oBAAoB,MAAM,uBAAuB,MAAM,mBAAmB;EAC1E,oBAAoB,MAAM,mBAAmB,MAAM,eAAe;EAClE,WAAW,IAAI;CAChB;CACA,IAAI,KAAK;EACR,OAAO;CACR;CACA,WAAW;EACV,OAAO,CAAC;CACT;CACA,OAAO,GAAG,MAAM;EACf,OAAO,KAAK,aAAa,yBAAyB;CACnD;;;;;;;;;CASA,UAAU,OAAO;EAChB,MAAM,OAAO,UAAU,KAAK;EAC5B,WAAW,MAAM,sBAAsB,mBAAmB,EAAE;EAC5D,IAAI,KAAK,aAAa,KAAK,KAAK,KAAK,aAAa,KAAK,GAAG,OAAO,sBAAsB,KAAK,UAAU,KAAK,UAAU,KAAK,qBAAqB,KAAK,mBAAmB,KAAK,mBAAmB,KAAK,eAAe;EACnN,IAAI,KAAK,aAAa,KAAK,KAAK,KAAK,aAAa,KAAK,GAAG,OAAO;EACjE,OAAO,KAAK,QAAQ,KAAK;CAC1B;;;;;CAKA,kBAAkB;EACjB,OAAO,uBAAuB,KAAK,UAAU,KAAK,kBAAkB,KAAK,QAAQ,KAAK,UAAU,UAAU,IAAI;CAC/G;AACD;;;;;;;;;;;;;;;;;AAmBA,IAAI,cAAc,MAAM,oBAAoB,gBAAgB;CAC3D,WAAW,yBAAyB;CACpC;CACA;CACA;CACA,YAAY,OAAO;EAClB,MAAM;EACN,KAAK,OAAO,MAAM;EAClB,KAAK,aAAa,MAAM;EACxB,KAAK,WAAW,MAAM;EACtB,IAAI,MAAM,YAAY,KAAK,GAAG,KAAK,UAAU,MAAM;EACnD,IAAI,MAAM,gBAAgB,KAAK,GAAG,KAAK,cAAc,MAAM;EAC3D,IAAI,MAAM,SAAS,KAAK,GAAG,KAAK,OAAO,MAAM;EAC7C,IAAI,MAAM,uBAAuB,KAAK,GAAG,KAAK,qBAAqB,MAAM;EACzE,IAAI,MAAM,oBAAoB,KAAK,GAAG,KAAK,kBAAkB,MAAM;EACnE,oBAAoB,MAAM,mBAAmB,MAAM,eAAe;EAClE,oBAAoB,MAAM,YAAY,MAAM,QAAQ;EACpD,oBAAoB,MAAM,uBAAuB,MAAM,mBAAmB;EAC1E,oBAAoB,MAAM,YAAY,MAAM,QAAQ;EACpD,oBAAoB,MAAM,mBAAmB,MAAM,eAAe;EAClE,WAAW,IAAI;CAChB;CACA,IAAI,KAAK;EACR,OAAO,UAAU,KAAK;CACvB;;;;;;;CAOA,WAAW;EACV,IAAI,KAAK,oBAAoB,KAAK,KAAK,KAAK,YAAY,KAAK,GAAG,OAAO,CAAC;EACxE,OAAO,CAAC,IAAI,mBAAmB;GAC9B,GAAG,UAAU,YAAY,KAAK,eAAe;GAC7C,GAAG,UAAU,OAAO,KAAK,OAAO;GAChC,GAAG,UAAU,YAAY,KAAK,eAAe;GAC7C,GAAG,UAAU,qBAAqB,KAAK,kBAAkB;GACzD,GAAG,UAAU,QAAQ,KAAK,QAAQ,KAAK,UAAU,IAAI;GACrD,GAAG,UAAU,YAAY,KAAK,QAAQ;GACtC,GAAG,UAAU,uBAAuB,KAAK,mBAAmB;GAC5D,GAAG,UAAU,mBAAmB,KAAK,eAAe;EACrD,CAAC,CAAC;CACH;CACA,OAAO,GAAG,MAAM;EACf,OAAO,KAAK,aAAa,yBAAyB;CACnD;;;;;;;CAOA,UAAU,OAAO;EAChB,MAAM,OAAO,UAAU,KAAK;EAC5B,WAAW,MAAM,eAAe,YAAY,EAAE;EAC9C,IAAI,KAAK,uBAAuB,KAAK,KAAK,KAAK,uBAAuB,KAAK,GAAG,OAAO,KAAK,uBAAuB,KAAK,sBAAsB,KAAK,aAAa,KAAK;EACnK,OAAO,KAAK,eAAe,KAAK,cAAc,KAAK,aAAa,KAAK,YAAY,QAAQ,KAAK,IAAI,MAAM,QAAQ,KAAK,IAAI;CAC1H;AACD;;;;;;;;;;;;;;;;;;AAoBA,IAAI,kBAAkB,MAAM,wBAAwB,gBAAgB;CACnE,WAAW,yBAAyB;CACpC;CACA;CACA;CACA,YAAY,OAAO;EAClB,MAAM;EACN,KAAK,UAAU,MAAM;EACrB,KAAK,kBAAkB,MAAM;EAC7B,KAAK,oBAAoB,MAAM;EAC/B,IAAI,MAAM,qBAAqB,KAAK,GAAG,KAAK,mBAAmB,MAAM;EACrE,IAAI,MAAM,SAAS,KAAK,GAAG,KAAK,OAAO,MAAM;EAC7C,IAAI,MAAM,aAAa,KAAK,GAAG,KAAK,WAAW,MAAM;EACrD,IAAI,MAAM,aAAa,KAAK,GAAG,KAAK,WAAW,MAAM;EACrD,IAAI,MAAM,gBAAgB,KAAK,GAAG,KAAK,cAAc,MAAM;EAC3D,MAAM,8BAA8B,MAAM,+BAA+B,MAAM;EAC/E,IAAI,gCAAgC,KAAK,GAAG,KAAK,8BAA8B;EAC/E,oBAAoB,MAAM,aAAa,MAAM,SAAS;EACtD,WAAW,IAAI;CAChB;CACA,IAAI,KAAK;EACR,MAAM,sBAAsB,KAAK,+BAA+B;EAChE,OAAO,eAAe,KAAK,QAAQ,KAAK,GAAG,EAAE,IAAI,oBAAoB,GAAG,KAAK,gBAAgB,GAAG,KAAK,kBAAkB,KAAK,GAAG,EAAE;CAClI;CACA,WAAW;EACV,OAAO,CAAC;CACT;CACA,OAAO,GAAG,MAAM;EACf,OAAO,KAAK,aAAa,yBAAyB;CACnD;;;;;;;CAOA,UAAU,OAAO;EAChB,MAAM,OAAO,UAAU,KAAK;EAC5B,WAAW,MAAM,mBAAmB,gBAAgB,EAAE;EACtD,OAAO,yBAAyB,KAAK,UAAU,KAAK,QAAQ,KAAK,yBAAyB,KAAK,UAAU,KAAK,QAAQ;CACvH;AACD;AACA,SAAS,yBAAyB,UAAU,QAAQ;CACnD,MAAM,qBAAqB,aAAa,aAAa,KAAK,IAAI;CAC9D,IAAI,uBAAuB,KAAK,GAAG,OAAO;CAC1C,OAAO,wBAAwB,WAAW,aAAa,KAAK,IAAI;AACjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,IAAI,aAAa,MAAM,mBAAmB,gBAAgB;CACzD,WAAW,yBAAyB;CACpC;CACA;CACA,YAAY,OAAO;EAClB,MAAM;EACN,MAAM,OAAO,OAAO,MAAM,MAAM;EAChC,IAAI,MAAM,YAAY,KAAK,OAAO,MAAM,eAAe,KAAK,IAAI,MAAM,IAAI,cAAc,eAAe,KAAK,qDAAqD;EACjK,KAAK,OAAO;EACZ,KAAK,SAAS,MAAM;EACpB,IAAI,MAAM,OAAO,SAAS,QAAQ,KAAK,SAAS,MAAM,OAAO;EAC7D,IAAI,MAAM,YAAY,KAAK,GAAG,KAAK,UAAU,MAAM;EACnD,IAAI,MAAM,eAAe,KAAK,GAAG,KAAK,aAAa,MAAM;EACzD,IAAI,MAAM,UAAU,KAAK,GAAG,KAAK,QAAQ,MAAM;EAC/C,MAAM,iBAAiB,mBAAmB,MAAM,IAAI;EACpD,IAAI,mBAAmB,KAAK,GAAG,KAAK,OAAO;EAC3C,IAAI,MAAM,YAAY,KAAK,GAAG,KAAK,UAAU,MAAM;EACnD,IAAI,MAAM,gBAAgB,KAAK,GAAG,KAAK,cAAc,MAAM;EAC3D,oBAAoB,MAAM,aAAa,MAAM,SAAS;EACtD,oBAAoB,MAAM,WAAW,MAAM,OAAO;EAClD,WAAW,IAAI;CAChB;CACA,IAAI,KAAK;EACR,OAAO,SAAS,KAAK;CACtB;CACA,WAAW;EACV,OAAO,CAAC;CACT;CACA,OAAO,KAAK,OAAO;EAClB,OAAO,iBAAiB,aAAa,QAAQ,IAAI,WAAW,KAAK;CAClE;CACA,OAAO,GAAG,MAAM;EACf,OAAO,KAAK,aAAa,yBAAyB;CACnD;;;;;;;;CAQA,UAAU,OAAO;EAChB,MAAM,OAAO,UAAU,KAAK;EAC5B,WAAW,MAAM,cAAc,WAAW,EAAE;EAC5C,OAAO,KAAK,cAAc,MAAM;GAC/B,gBAAgB;GAChB,QAAQ,KAAK,WAAW,KAAK,IAAI,YAAY;EAC9C,CAAC;CACF;;;;;;;;;;;;;;;;;;;;;;CAsBA,cAAc,OAAO,YAAY;EAChC,MAAM,eAAe,WAAW,mBAAmB,aAAa,KAAK,YAAY,KAAK,OAAO,MAAM,YAAY,KAAK,OAAO,KAAK,YAAY,KAAK,KAAK,aAAa,KAAK,SAAS,MAAM,WAAW,CAAC,CAAC,KAAK,KAAK,YAAY,KAAK,KAAK,MAAM,YAAY,KAAK,KAAK,aAAa,KAAK,SAAS,MAAM,OAAO;EACxS,IAAI,EAAE,KAAK,WAAW,MAAM,UAAU,mBAAmB,KAAK,IAAI,MAAM,mBAAmB,MAAM,IAAI,KAAK,kBAAkB,KAAK,SAAS,MAAM,OAAO,KAAK,eAAe,OAAO;EAClL,IAAI,WAAW,WAAW,WAAW,OAAO;EAC5C,QAAQ,KAAK,cAAc,SAAS,MAAM,cAAc,QAAQ,KAAK,SAAS,SAAS,MAAM,SAAS;CACvG;AACD;;;;;;;;;;;;;;AAcA,SAAS,mBAAmB,MAAM;CACjC,OAAO,SAAS,UAAU,KAAK,IAAI;AACpC;;;;;;;AAOA,SAAS,kBAAkB,GAAG,GAAG;CAChC,MAAM,QAAQ,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CAC3C,MAAM,QAAQ,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;CAC3C,IAAI,MAAM,WAAW,MAAM,QAAQ,OAAO;CAC1C,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG,IAAI,MAAM,OAAO,MAAM,IAAI,OAAO;CAC5E,IAAI,MAAM,WAAW,GAAG,OAAO;CAC/B,KAAK,MAAM,OAAO,OAAO,IAAI,0BAA0B,IAAI,IAAI,MAAM,0BAA0B,IAAI,IAAI,GAAG,OAAO;CACjH,OAAO;AACR;;;;;;;;;;;;AAcA,IAAI,cAAc,MAAM,oBAAoB,gBAAgB;CAC3D,WAAW,yBAAyB;CACpC;CACA,YAAY,OAAO;EAClB,MAAM;EACN,KAAK,UAAU,CAAC,GAAG,MAAM,OAAO;EAChC,IAAI,MAAM,SAAS,KAAK,GAAG,KAAK,OAAO,MAAM;EAC7C,IAAI,MAAM,gBAAgB,KAAK,GAAG,KAAK,cAAc,MAAM;EAC3D,oBAAoB,MAAM,aAAa,MAAM,SAAS;EACtD,WAAW,IAAI;CAChB;CACA,IAAI,KAAK;EACR,OAAO,UAAU,KAAK,QAAQ,KAAK,GAAG;CACvC;CACA,WAAW;EACV,OAAO,CAAC;CACT;CACA,OAAO,GAAG,MAAM;EACf,OAAO,KAAK,aAAa,yBAAyB;CACnD;CACA,UAAU,OAAO;EAChB,MAAM,OAAO,UAAU,KAAK;EAC5B,WAAW,MAAM,eAAe,YAAY,EAAE;EAC9C,OAAO,KAAK,OAAO,KAAK;CACzB;AACD;;;;;;;;;;;;;;;;;;;;;;AAwBA,IAAI,aAAa,cAAc,gBAAgB;CAC9C,WAAW,yBAAyB;CACpC;CACA;CACA;CACA;CACA;CACA,YAAY,OAAO;EAClB,MAAM;EACN,KAAK,OAAO,MAAM;EAClB,KAAK,UAAU,OAAO,OAAO,OAAO,YAAY,OAAO,QAAQ,MAAM,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,KAAK,eAAe,cAAc,MAAM,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;EAClK,KAAK,cAAc,OAAO,OAAO,MAAM,YAAY,KAAK,OAAO,cAAc,kBAAkB,KAAK,IAAI,gBAAgB,EAAE,CAAC,CAAC;EAC5H,KAAK,UAAU,OAAO,OAAO,MAAM,QAAQ,KAAK,MAAM,aAAa,cAAc,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC;EACxG,KAAK,UAAU,OAAO,OAAO,MAAM,QAAQ,IAAI,WAAW,IAAI,CAAC;EAC/D,IAAI,MAAM,eAAe,KAAK,GAAG,KAAK,aAAa,WAAW,KAAK,MAAM,UAAU;EACnF,IAAI,MAAM,gBAAgB,KAAK,GAAG,KAAK,cAAc,MAAM;EAC3D,IAAI,MAAM,WAAW,KAAK,KAAK,MAAM,OAAO,SAAS,GAAG,KAAK,SAAS,OAAO,OAAO,MAAM,OAAO,IAAI,qBAAqB,IAAI,CAAC;EAC/H,WAAW,IAAI;CAChB;CACA,IAAI,KAAK;EACR,OAAO,KAAK;CACb;CACA,UAAU,OAAO;EAChB,OAAO,KAAK,OAAO,MAAM;CAC1B;CACA,WAAW;EACV,OAAO;GACN,GAAG,OAAO,OAAO,KAAK,OAAO;GAC7B,GAAG,KAAK,aAAa,CAAC,KAAK,UAAU,IAAI,CAAC;GAC1C,GAAG,KAAK;GACR,GAAG,KAAK;GACR,GAAG,KAAK;GACR,GAAG,KAAK,UAAU,CAAC;EACpB;CACD;AACD;;;;;;;;;;;;;;;;AAkBA,IAAI,cAAc,cAAc,gBAAgB;CAC/C,WAAW,yBAAyB;CACpC;CACA,YAAY,OAAO;EAClB,MAAM;EACN,KAAK,SAAS,OAAO,OAAO,OAAO,YAAY,OAAO,QAAQ,MAAM,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,KAAK,aAAa,aAAa,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;EACtJ,IAAI,MAAM,gBAAgB,KAAK,GAAG,KAAK,cAAc,MAAM;EAC3D,WAAW,IAAI;CAChB;CACA,IAAI,KAAK;EACR,OAAO;CACR;CACA,UAAU,OAAO;EAChB,OAAO,KAAK,OAAO,MAAM;CAC1B;CACA,WAAW;EACV,OAAO,OAAO,OAAO,KAAK,MAAM;CACjC;AACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-DFZhLz18-Msi8wwig.d.mts","names":[],"sources":["../../../../2-sql/1-core/contract/dist/types-DFZhLz18.d.mts"],"mappings":";;;;;;;;;;;;;UAYU,yBAAyB,mCAAmC,6BAA6B;EACjG,MAAM,MAAM,yBAAyB,aAAa,8BAA8B;aACrE,MAAM;;;KAGd;WACM;WACA,WAAW;WACX,WAAW;WACX,QAAQ;;KAEd;WACM;WACA;WACA;;KAEN;WACM;WACA;WACA,QAAQ,eAAe;;cAEpB;cACA;iBACG,gBAAgB;EAC/B;EACA;GACC;EACD;EACA;;EAEA;EACA;;KAEG,yBAAyB,eAAe,eAAe;KACvD,iCAAiC,eAAe,eAAe;;;;KAI/D;WACM;WACA;;;;;;;;;KASN;WACM,SAAS,eAAe;WACxB,eAAe;WACf,WAAW;;;KAGjB,qBAAqB,eAAe;KACpC,SAAS,oBAAoB;EAChC;KACG,uBAAuB,6BAA6B,0BAA0B,uBAAuB,0BAA0B,yBAAyB,uBAAuB,yBAAyB,yBAAyB,uBAAuB,4BAA4B,iCAAiC,uBAAuB,iCAAiC,iCAAiC,uBAAuB,wBAAwB,qBAAqB;WAC5c,YAAY;WACZ,qBAAqB;WACrB,kBAAkB;WAClB,iBAAiB;WACjB,oBAAoB;WACpB,yBAAyB;WACzB,gBAAgB;;KAEtB,iBAAiB,MAAM,qBAAqB,wBAAwB;WAC9D,sBAAsB;IAC7B,UAAU,qBAAqB,IAAI,wBAAwB;KAC1D,aAAa,MAAM,qBAAqB,wBAAwB;WAC1D,kBAAkB;IACzB,UAAU;EACZ;KACG,IAAI,wBAAwB;;;;;;;;;KAS5B;WACM;WACA;WACA;;WAEA,iBAAiB;WACjB;WACA;;WAEA;WACA,yBAAyB;WACzB;WACA;;;;;;;;;;KAUN;WACM;aACE;aACA;;;KAGR;WACM,OAAO;WACP,UAAU,kBAAkB;;KAElC,uBAAuB,YAAY;WAC7B;WACA;IACP,UAAU,eAAe,4BAA4B;KACpD,0BAA0B,eAAe;KACzC,sBAAsB,MAAM,qBAAqB,wBAAwB;WACnE,2BAA2B;IAClC,UAAU,0BAA0B,IAAI,wBAAwB;KAC/D;KACA,qBAAqB,WAAW,aAAa,wBAAwB,KAAK,sBAAsB;KAChG,4BAA4B,KAAK,iCAAiC,IAAI,YAAY,EAAE,2BAA2B;KAC/G,mBAAmB,MAAM,qBAAqB,wBAAwB;WAChE,wBAAwB;IAC/B,UAAU,yBAAyB,IAAI,wBAAwB;KAC9D,kBAAkB,MAAM,qBAAqB,wBAAwB;WAC/D,uBAAuB;IAC9B,UAAU,yBAAyB,IAAI,wBAAwB;KAC9D,qBAAqB,MAAM,qBAAqB,wBAAwB;WAClE,0BAA0B;IACjC,UAAU,iCAAiC,IAAI,wBAAwB;KACtE,0BAA0B,MAAM,qBAAqB,wBAAwB;WACvE,+BAA+B;IACtC,UAAU,iCAAiC,IAAI,wBAAwB;KACtE,kBAAkB,KAAK,aAAa,4BAA4B;KAChE,2BAA2B,KAAK,sBAAsB,4BAA4B;KAClF,wBAAwB,KAAK,mBAAmB,4BAA4B;KAC5E,uBAAuB,KAAK,kBAAkB,4BAA4B;KAC1E,0BAA0B,KAAK,qBAAqB,4BAA4B;KAChF,+BAA+B,KAAK,0BAA0B,4BAA4B;KAC1F,sBAAsB,KAAK,iBAAiB,4BAA4B;KACxE,kBAAkB,WAAW,cAAc,6BAA6B,kBAAkB,aAAa,aAAa"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-DIZSW9JI-DNUF-RnL.d.mts","names":[],"sources":["../../../../2-sql/1-core/schema-ir/dist/types-DIZSW9JI.d.mts"],"mappings":"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"}
@@ -1 +0,0 @@
1
- import "./types-DIZSW9JI-DNUF-RnL.mjs";
@@ -1,18 +0,0 @@
1
- import "./sql-node-kEz6YFZo-v2F7delx.mjs";
2
- import "./check-constraint-B7qGu6rc-CBVYAMwG.mjs";
3
- import "./foreign-key-qkDFfG8t-Fyrzd0VI.mjs";
4
- import "./unique-constraint-M5TlQnJQ-BiIHJ85k.mjs";
5
- import "./sql-index-ByAAE7K8-BpbPBWPD.mjs";
6
- import "./storage-table-WXeVNycx-BCwDhdq5.mjs";
7
- import "./storage-value-set-BGlj5Uus-CvZD--GG.mjs";
8
- import "./sql-storage-BTlJLUID-CGy3wuH4.mjs";
9
- import "./serialized-index-CrgG8ct1-DDfHKUEK.mjs";
10
- import "./types-DFZhLz18-Msi8wwig.mjs";
11
- import { RelationKeys, RelationNamesOf, Scalars, Shape, ShapeSpec } from "@prisma/orm-framework/components/runtime";
12
- //#region ../../../2-sql/1-core/contract/dist/types.d.mts
13
- //#region src/column-type-resolution.d.ts
14
- type StorageColumnMapAt<SCT, NsId extends string, TableName extends string> = string extends keyof SCT ? never : NsId extends keyof SCT ? string extends keyof SCT[NsId] ? never : TableName extends keyof SCT[NsId] ? SCT[NsId][TableName] : never : never;
15
- type StorageColumnTypeAcrossNamespaces<SCT, TableName extends string, ColumnName extends string> = { [Ns in keyof SCT]: TableName extends keyof SCT[Ns] ? ColumnName extends keyof SCT[Ns][TableName] ? SCT[Ns][TableName][ColumnName] : never : never; }[keyof SCT];
16
- //#endregion
17
- export { ShapeSpec as a, Shape as i, RelationNamesOf as n, StorageColumnMapAt as o, Scalars as r, StorageColumnTypeAcrossNamespaces as s, RelationKeys as t };
18
- //# sourceMappingURL=types-Uv3oTMAb.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-Uv3oTMAb.d.mts","names":[],"sources":["../../../../2-sql/1-core/contract/dist/types.d.mts"],"mappings":";;;;;;;;;;;;;KAYK,mBAAmB,KAAK,qBAAqB,iDAAiD,cAAc,mBAAmB,2BAA2B,IAAI,gBAAgB,wBAAwB,IAAI,QAAQ,IAAI,MAAM;KAC5N,kCAAkC,KAAK,0BAA0B,gCAAgC,YAAY,MAAM,wBAAwB,IAAI,MAAM,yBAAyB,IAAI,IAAI,aAAa,IAAI,IAAI,WAAW,qCAAqC"}