@prisma/orm-target-postgres 8.0.0-rc.14-dev.5 → 8.0.0-rc.14-dev.7

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 (192) hide show
  1. package/dist/{adapter-Bz6wSV__-Dp93eiiH.mjs → adapter-Bb_FFDea-O-uPaHCy.mjs} +5 -5
  2. package/dist/{adapter-Bz6wSV__-Dp93eiiH.mjs.map → adapter-Bb_FFDea-O-uPaHCy.mjs.map} +1 -1
  3. package/dist/{adapter-DP_SQYED.d.mts → adapter-WLK_P3mT.d.mts} +3 -3
  4. package/dist/{adapter-DP_SQYED.d.mts.map → adapter-WLK_P3mT.d.mts.map} +1 -1
  5. package/dist/adapter.d.mts +8 -8
  6. package/dist/adapter.mjs +6 -6
  7. package/dist/adapter__adapter.d.mts +1 -1
  8. package/dist/adapter__adapter.mjs +1 -1
  9. package/dist/adapter__control.d.mts +3 -3
  10. package/dist/adapter__control.mjs +8 -369
  11. package/dist/adapter__control.mjs.map +1 -1
  12. package/dist/adapter__runtime.d.mts +1 -1
  13. package/dist/adapter__runtime.mjs +4 -5
  14. package/dist/adapter__runtime.mjs.map +1 -1
  15. package/dist/adapter__sql-renderer.d.mts +1 -1
  16. package/dist/adapter__sql-renderer.mjs +1 -1
  17. package/dist/adapter__types.d.mts +3 -3
  18. package/dist/{authoring-BmQxOggr-CK871YR4.mjs → authoring-DKN1ccEX-DgmJWx1r.mjs} +4 -4
  19. package/dist/{authoring-BmQxOggr-CK871YR4.mjs.map → authoring-DKN1ccEX-DgmJWx1r.mjs.map} +1 -1
  20. package/dist/{codec-descriptor-BfoHQP3R-CMRVT-F6.mjs → codec-descriptor-B61d-k4C-BdWVU6Fu.mjs} +4 -3
  21. package/dist/codec-descriptor-B61d-k4C-BdWVU6Fu.mjs.map +1 -0
  22. package/dist/codec-descriptor-D8_e5hpo.d.mts +1 -0
  23. package/dist/{codec-descriptor-DUUGoeyI-WGLGXEoI.d.mts → codec-descriptor-HYqjI24K-CTO3gTEs.d.mts} +11 -5
  24. package/dist/codec-descriptor-HYqjI24K-CTO3gTEs.d.mts.map +1 -0
  25. package/dist/{data-types-Cl18KnNY-5I34Vd6Z.mjs → codec-helpers-D83-1eDB-nqAEMr7N.mjs} +39 -216
  26. package/dist/codec-helpers-D83-1eDB-nqAEMr7N.mjs.map +1 -0
  27. package/dist/{codec-type-map-Cp91lhQd-D6zQ14YE.d.mts → codec-type-map-DMKy_xZb-DymgX4w7.d.mts} +4 -4
  28. package/dist/{codec-type-map-Cp91lhQd-D6zQ14YE.d.mts.map → codec-type-map-DMKy_xZb-DymgX4w7.d.mts.map} +1 -1
  29. package/dist/{codec-types-BQNq7Y1u-CGfS7PuD.d.mts → codec-types-B4-xhn7m-RQS461us.d.mts} +4 -4
  30. package/dist/{codec-types-BQNq7Y1u-CGfS7PuD.d.mts.map → codec-types-B4-xhn7m-RQS461us.d.mts.map} +1 -1
  31. package/dist/codec-types-Ci1nfCYh.d.mts +2 -0
  32. package/dist/{codecs-DQGmsnk3-H6nVRPCC.mjs → codecs-BHNqtI1J-BSS9sL3H.mjs} +263 -69
  33. package/dist/codecs-BHNqtI1J-BSS9sL3H.mjs.map +1 -0
  34. package/dist/{codecs-BKV97Xsa.d.mts → codecs-Ba3gUr67.d.mts} +11 -5
  35. package/dist/{codecs-BKV97Xsa.d.mts.map → codecs-Ba3gUr67.d.mts.map} +1 -1
  36. package/dist/{codecs-BZ87E3MY-Bub4t0ma.d.mts → codecs-Bkmbmo_r-Ct7hFY0S.d.mts} +31 -10
  37. package/dist/{codecs-BZ87E3MY-Bub4t0ma.d.mts.map → codecs-Bkmbmo_r-Ct7hFY0S.d.mts.map} +1 -1
  38. package/dist/{codecs-C4DVdgQG.mjs → codecs-Cytq8Ymj.mjs} +12 -4
  39. package/dist/codecs-Cytq8Ymj.mjs.map +1 -0
  40. package/dist/control-CUzQZfhu.d.mts +399 -0
  41. package/dist/control-CUzQZfhu.d.mts.map +1 -0
  42. package/dist/{control-w3p4NYNx.mjs → control-CYQReJto.mjs} +441 -72
  43. package/dist/control-CYQReJto.mjs.map +1 -0
  44. package/dist/{control-DxJWBVjs.d.mts → control-DoIm71dz.d.mts} +5 -4
  45. package/dist/control-DoIm71dz.d.mts.map +1 -0
  46. package/dist/{control-adapter-Buuq3v1c-DtBZerak.mjs → control-adapter-C6kz--Q4-3C9-f7Uv.mjs} +78 -95
  47. package/dist/control-adapter-C6kz--Q4-3C9-f7Uv.mjs.map +1 -0
  48. package/dist/{control-policy-BYo5QPof-BLT07t1y.mjs → control-policy-voGArjr--BeHlQRg0.mjs} +19 -17
  49. package/dist/control-policy-voGArjr--BeHlQRg0.mjs.map +1 -0
  50. package/dist/{data-type-entries-CvkBtAG--D-5Wtm9_.mjs → data-type-entries-BDSHvsdE-Bbe1cdbR.mjs} +3 -3
  51. package/dist/{data-type-entries-CvkBtAG--D-5Wtm9_.mjs.map → data-type-entries-BDSHvsdE-Bbe1cdbR.mjs.map} +1 -1
  52. package/dist/data-types-BqeC7aZP-CwvA08pH.mjs +200 -0
  53. package/dist/data-types-BqeC7aZP-CwvA08pH.mjs.map +1 -0
  54. package/dist/{default-normalizer-Bp3IhMR9-D0uYVRLZ.mjs → default-normalizer-Cb7nWBUa-DXchlOUk.mjs} +82 -19
  55. package/dist/default-normalizer-Cb7nWBUa-DXchlOUk.mjs.map +1 -0
  56. package/dist/{descriptor-meta-F1wsOtt2-D014LIGM.mjs → descriptor-meta-BEigA5Gj-By_dcUjB.mjs} +9 -7
  57. package/dist/descriptor-meta-BEigA5Gj-By_dcUjB.mjs.map +1 -0
  58. package/dist/{descriptor-meta-BOx9pvBv-C4TEXck8.mjs → descriptor-meta-DF0hODA0-DnO80XvH.mjs} +4 -4
  59. package/dist/{descriptor-meta-BOx9pvBv-C4TEXck8.mjs.map → descriptor-meta-DF0hODA0-DnO80XvH.mjs.map} +1 -1
  60. package/dist/{diff-database-schema-BP4uAPZZ-8ljuCPav.mjs → diff-database-schema-MYPfxeRf-DdgnOIIl.mjs} +17 -7
  61. package/dist/diff-database-schema-MYPfxeRf-DdgnOIIl.mjs.map +1 -0
  62. package/dist/{full-text-jDpkANi7.d.mts → full-text-Cth_mXe_.d.mts} +2 -2
  63. package/dist/{full-text-jDpkANi7.d.mts.map → full-text-Cth_mXe_.d.mts.map} +1 -1
  64. package/dist/{full-text-index-expression-PZszha7L-CW7i1TUY.mjs → full-text-index-expression-BM_vGygX-BOuja7X4.mjs} +3 -3
  65. package/dist/{full-text-index-expression-PZszha7L-CW7i1TUY.mjs.map → full-text-index-expression-BM_vGygX-BOuja7X4.mjs.map} +1 -1
  66. package/dist/{full-text-parsers-Dp_ANr31-DVxYUNS-.d.mts → full-text-parsers-CLZpb096-BN1xyHeO.d.mts} +3 -3
  67. package/dist/{full-text-parsers-Dp_ANr31-DVxYUNS-.d.mts.map → full-text-parsers-CLZpb096-BN1xyHeO.d.mts.map} +1 -1
  68. package/dist/{infer-psl-contract-MVBnqkl3-Bffp5RpV.mjs → infer-psl-contract-D7XJnfJv-Cd_Mf0UH.mjs} +78 -82
  69. package/dist/infer-psl-contract-D7XJnfJv-Cd_Mf0UH.mjs.map +1 -0
  70. package/dist/{issue-planner-D9rRu2pB.d.mts → issue-planner-C4iR-Ik-.d.mts} +2 -2
  71. package/dist/{issue-planner-D9rRu2pB.d.mts.map → issue-planner-C4iR-Ik-.d.mts.map} +1 -1
  72. package/dist/{migration-Du89zGmx.d.mts → migration-BTiY0PPC.d.mts} +3 -3
  73. package/dist/{migration-Du89zGmx.d.mts.map → migration-BTiY0PPC.d.mts.map} +1 -1
  74. package/dist/migration-PTHAY9Cv.mjs.map +1 -1
  75. package/dist/native-type-normalizer-BFo5tSyh.d.mts +37 -0
  76. package/dist/native-type-normalizer-BFo5tSyh.d.mts.map +1 -0
  77. package/dist/native-type-normalizer-CW6g9Fut-C5lMRRjS.mjs +102 -0
  78. package/dist/native-type-normalizer-CW6g9Fut-C5lMRRjS.mjs.map +1 -0
  79. package/dist/op-factory-call-Bi1XxJEv.d.mts +1 -0
  80. package/dist/{op-factory-call-t4k8mlRJ-BgtGXlIC.d.mts → op-factory-call-VLJFI-b_-Du23HNYc.d.mts} +5 -5
  81. package/dist/op-factory-call-VLJFI-b_-Du23HNYc.d.mts.map +1 -0
  82. package/dist/{op-factory-call-BBkvFvKK-7MkUHWJq.mjs → op-factory-call-y5YADY2E-CnhkIujC.mjs} +39 -26
  83. package/dist/op-factory-call-y5YADY2E-CnhkIujC.mjs.map +1 -0
  84. package/dist/{operation-types-DZyRBrnm.d.mts → operation-types-Cj4S6KNP.d.mts} +2 -2
  85. package/dist/{operation-types-DZyRBrnm.d.mts.map → operation-types-Cj4S6KNP.d.mts.map} +1 -1
  86. package/dist/{pack-B8SM_MTs.d.mts → pack-DO2bXv9P.d.mts} +3 -3
  87. package/dist/{pack-B8SM_MTs.d.mts.map → pack-DO2bXv9P.d.mts.map} +1 -1
  88. package/dist/{planner-Brs7-1mt-BFtbE0Tl.mjs → planner-DMVaXRSK-DCAGfALs.mjs} +6 -6
  89. package/dist/{planner-Brs7-1mt-BFtbE0Tl.mjs.map → planner-DMVaXRSK-DCAGfALs.mjs.map} +1 -1
  90. package/dist/{planner-o0_69Y9q.d.mts → planner-SLaWpf7q.d.mts} +2 -2
  91. package/dist/{planner-o0_69Y9q.d.mts.map → planner-SLaWpf7q.d.mts.map} +1 -1
  92. package/dist/{planner-ddl-builders-BQ_1YXut.d.mts → planner-ddl-builders-DYLyFXrj.d.mts} +2 -5
  93. package/dist/planner-ddl-builders-DYLyFXrj.d.mts.map +1 -0
  94. package/dist/{planner-ddl-builders-GTcVPpwb-ClvrXb26.mjs → planner-ddl-builders-iE35pyxA-g7b_clbn.mjs} +6 -27
  95. package/dist/planner-ddl-builders-iE35pyxA-g7b_clbn.mjs.map +1 -0
  96. package/dist/planner-produced-postgres-migration-Bi_Otmtx.d.mts +1 -0
  97. package/dist/{planner-produced-postgres-migration-DEJQPRjI-C9GuvVOY.mjs → planner-produced-postgres-migration-C8TUIl2Z-DHjubKQ-.mjs} +3 -3
  98. package/dist/{planner-produced-postgres-migration-DEJQPRjI-C9GuvVOY.mjs.map → planner-produced-postgres-migration-C8TUIl2Z-DHjubKQ-.mjs.map} +1 -1
  99. package/dist/{planner-produced-postgres-migration-Xd83anY_-vp2DJ5fk.d.mts → planner-produced-postgres-migration-CoOcn-b9-8kOq82_P.d.mts} +3 -3
  100. package/dist/planner-produced-postgres-migration-CoOcn-b9-8kOq82_P.d.mts.map +1 -0
  101. package/dist/{planner-sql-checks-Bd8nN9P8-Cd98iEee.mjs → planner-sql-checks-ZMXeCK6W-D1VMBywZ.mjs} +55 -15
  102. package/dist/planner-sql-checks-ZMXeCK6W-D1VMBywZ.mjs.map +1 -0
  103. package/dist/{postgres-contract-view-DxcRT-qe-LQBHHgaS.mjs → postgres-contract-view-BBMpf_qi-8V4vTm9U.mjs} +3 -3
  104. package/dist/{postgres-contract-view-DxcRT-qe-LQBHHgaS.mjs.map → postgres-contract-view-BBMpf_qi-8V4vTm9U.mjs.map} +1 -1
  105. package/dist/{postgres-migration-B7ihBnbW-DOmrgtms.d.mts → postgres-migration-B03W06rR-DTB0R3cj.d.mts} +4 -5
  106. package/dist/{postgres-migration-B7ihBnbW-DOmrgtms.d.mts.map → postgres-migration-B03W06rR-DTB0R3cj.d.mts.map} +1 -1
  107. package/dist/{postgres-migration-qwigEUIO-BWxjALsx.mjs → postgres-migration-UzDaU7Or-Dvc0Cdv5.mjs} +22 -5
  108. package/dist/postgres-migration-UzDaU7Or-Dvc0Cdv5.mjs.map +1 -0
  109. package/dist/{prisma7-binding-BRYHcWsx.mjs → prisma7-binding-D_Q6ou4j.mjs} +7 -6
  110. package/dist/prisma7-binding-D_Q6ou4j.mjs.map +1 -0
  111. package/dist/{prisma7-binding-1CMtcbOk.d.mts → prisma7-binding-c5vWJV6k.d.mts} +3 -3
  112. package/dist/{prisma7-binding-1CMtcbOk.d.mts.map → prisma7-binding-c5vWJV6k.d.mts.map} +1 -1
  113. package/dist/{runtime-aN2tMH8u.d.mts → runtime-Bm1hGqOh.d.mts} +2 -2
  114. package/dist/{runtime-aN2tMH8u.d.mts.map → runtime-Bm1hGqOh.d.mts.map} +1 -1
  115. package/dist/{sql-renderer-DmJ5aZwd.d.mts → sql-renderer-CfXWPuXU.d.mts} +4 -4
  116. package/dist/{sql-renderer-DmJ5aZwd.d.mts.map → sql-renderer-CfXWPuXU.d.mts.map} +1 -1
  117. package/dist/{sql-renderer-CgUgFbU4-CRUChEAY.mjs → sql-renderer-CgUgFbU4-DqTf31OD.mjs} +2 -2
  118. package/dist/{sql-renderer-CgUgFbU4-CRUChEAY.mjs.map → sql-renderer-CgUgFbU4-DqTf31OD.mjs.map} +1 -1
  119. package/dist/target.d.mts +23 -23
  120. package/dist/target.mjs +21 -22
  121. package/dist/target__codec-descriptor.d.mts +2 -2
  122. package/dist/target__codec-descriptor.mjs +1 -1
  123. package/dist/target__codec-types.d.mts +3 -3
  124. package/dist/target__codecs.d.mts +3 -3
  125. package/dist/target__codecs.mjs +3 -4
  126. package/dist/target__control.d.mts +2 -2
  127. package/dist/target__control.mjs +3 -3
  128. package/dist/target__data-types.mjs +2 -2
  129. package/dist/target__default-normalizer.mjs +1 -1
  130. package/dist/target__diff-database-schema.mjs +1 -1
  131. package/dist/target__full-text.d.mts +2 -2
  132. package/dist/target__issue-planner.d.mts +1 -1
  133. package/dist/target__issue-planner.mjs +1 -1
  134. package/dist/target__migration.d.mts +2 -2
  135. package/dist/target__migration.mjs +2 -2
  136. package/dist/target__native-type-normalizer.d.mts +2 -2
  137. package/dist/target__native-type-normalizer.mjs +2 -2
  138. package/dist/target__op-factory-call.d.mts +2 -2
  139. package/dist/target__op-factory-call.mjs +1 -1
  140. package/dist/target__operation-types.d.mts +1 -1
  141. package/dist/target__pack.d.mts +1 -1
  142. package/dist/target__pack.mjs +1 -1
  143. package/dist/target__planner-ddl-builders.d.mts +2 -2
  144. package/dist/target__planner-ddl-builders.mjs +2 -2
  145. package/dist/target__planner-produced-postgres-migration.d.mts +2 -2
  146. package/dist/target__planner-produced-postgres-migration.mjs +1 -1
  147. package/dist/target__planner-sql-checks.mjs +1 -1
  148. package/dist/target__planner.d.mts +1 -1
  149. package/dist/target__planner.mjs +2 -2
  150. package/dist/target__prisma7-binding.d.mts +1 -1
  151. package/dist/target__prisma7-binding.mjs +1 -1
  152. package/dist/target__runtime.mjs +2 -2
  153. package/dist/target__runtime.mjs.map +1 -1
  154. package/dist/target__sql-utils.mjs +1 -1
  155. package/dist/{types-BPubHbiE-mnhvO20x.d.mts → types-BPubHbiE-SaR3Cngi.d.mts} +3 -3
  156. package/dist/{types-BPubHbiE-mnhvO20x.d.mts.map → types-BPubHbiE-SaR3Cngi.d.mts.map} +1 -1
  157. package/dist/types-DvEixgWS.d.mts +2 -0
  158. package/package.json +9 -9
  159. package/dist/codec-descriptor-BfoHQP3R-CMRVT-F6.mjs.map +0 -1
  160. package/dist/codec-descriptor-Cf1qfOwo.d.mts +0 -1
  161. package/dist/codec-descriptor-DUUGoeyI-WGLGXEoI.d.mts.map +0 -1
  162. package/dist/codec-types-BXbWuRzS.d.mts +0 -2
  163. package/dist/codecs-C4DVdgQG.mjs.map +0 -1
  164. package/dist/codecs-DQGmsnk3-H6nVRPCC.mjs.map +0 -1
  165. package/dist/control-CDRHOvkm.d.mts +0 -12
  166. package/dist/control-CDRHOvkm.d.mts.map +0 -1
  167. package/dist/control-DxJWBVjs.d.mts.map +0 -1
  168. package/dist/control-adapter-Buuq3v1c-DtBZerak.mjs.map +0 -1
  169. package/dist/control-policy-BYo5QPof-BLT07t1y.mjs.map +0 -1
  170. package/dist/control-w3p4NYNx.mjs.map +0 -1
  171. package/dist/data-types-Cl18KnNY-5I34Vd6Z.mjs.map +0 -1
  172. package/dist/default-normalizer-Bp3IhMR9-D0uYVRLZ.mjs.map +0 -1
  173. package/dist/descriptor-meta-F1wsOtt2-D014LIGM.mjs.map +0 -1
  174. package/dist/diff-database-schema-BP4uAPZZ-8ljuCPav.mjs.map +0 -1
  175. package/dist/infer-psl-contract-MVBnqkl3-Bffp5RpV.mjs.map +0 -1
  176. package/dist/native-type-normalizer-DqJlOTeX.d.mts +0 -19
  177. package/dist/native-type-normalizer-DqJlOTeX.d.mts.map +0 -1
  178. package/dist/native-type-normalizer-yvd3tqv-.mjs +0 -38
  179. package/dist/native-type-normalizer-yvd3tqv-.mjs.map +0 -1
  180. package/dist/op-factory-call-7Dtfo3GK.d.mts +0 -1
  181. package/dist/op-factory-call-BBkvFvKK-7MkUHWJq.mjs.map +0 -1
  182. package/dist/op-factory-call-t4k8mlRJ-BgtGXlIC.d.mts.map +0 -1
  183. package/dist/planner-ddl-builders-BQ_1YXut.d.mts.map +0 -1
  184. package/dist/planner-ddl-builders-GTcVPpwb-ClvrXb26.mjs.map +0 -1
  185. package/dist/planner-produced-postgres-migration-B0pwyA94.d.mts +0 -1
  186. package/dist/planner-produced-postgres-migration-Xd83anY_-vp2DJ5fk.d.mts.map +0 -1
  187. package/dist/planner-sql-checks-Bd8nN9P8-Cd98iEee.mjs.map +0 -1
  188. package/dist/postgres-migration-qwigEUIO-BWxjALsx.mjs.map +0 -1
  189. package/dist/prisma7-binding-BRYHcWsx.mjs.map +0 -1
  190. package/dist/registry-ld2ZUt1j-CH85fY3r.mjs +0 -15
  191. package/dist/registry-ld2ZUt1j-CH85fY3r.mjs.map +0 -1
  192. package/dist/types-CS-qi6YZ.d.mts +0 -2
@@ -1,6 +1,6 @@
1
1
  import "./types-DpIAC6Ui.mjs";
2
- import { n as AnyPostgresCodecDescriptor } from "./codec-descriptor-DUUGoeyI-WGLGXEoI.mjs";
3
- import "./codec-descriptor-Cf1qfOwo.mjs";
2
+ import { n as AnyPostgresCodecDescriptor } from "./codec-descriptor-HYqjI24K-CTO3gTEs.mjs";
3
+ import "./codec-descriptor-D8_e5hpo.mjs";
4
4
  import { BinaryExpr as BinaryExpr$1, ColumnRef as ColumnRef$1, DefaultValueExpr, Direction, LoweredStatement, ParamRef, SelectAst as SelectAst$1 } from "@prisma/orm-family-sql/relational-core/ast";
5
5
  import { StorageColumn as StorageColumn$1, StorageTable as StorageTable$1 } from "@prisma/orm-family-sql/contract/types";
6
6
  //#region ../../../3-targets/6-adapters/postgres/dist/types-BPubHbiE.d.mts
@@ -22,4 +22,4 @@ interface OrderClause {
22
22
  type PostgresLoweredStatement = LoweredStatement;
23
23
  //#endregion
24
24
  export { OrderClause as a, PostgresLoweredStatement as c, StorageTable$1 as d, Expr as i, SelectAst$1 as l, ColumnRef$1 as n, ParamRef as o, Direction as r, PostgresAdapterOptions as s, BinaryExpr$1 as t, StorageColumn$1 as u };
25
- //# sourceMappingURL=types-BPubHbiE-mnhvO20x.d.mts.map
25
+ //# sourceMappingURL=types-BPubHbiE-SaR3Cngi.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types-BPubHbiE-mnhvO20x.d.mts","names":[],"sources":["../../../../3-targets/6-adapters/postgres/dist/types-BPubHbiE.d.mts"],"mappings":";;;;;;;UAKU;WACC;;;;;;WAMA,4BAA4B;;KAElC,OAAO,cAAY,WAAW;UACzB;WACC,MAAM;WACN,KAAK;;KAEX,2BAA2B"}
1
+ {"version":3,"file":"types-BPubHbiE-SaR3Cngi.d.mts","names":[],"sources":["../../../../3-targets/6-adapters/postgres/dist/types-BPubHbiE.d.mts"],"mappings":";;;;;;;UAKU;WACC;;;;;;WAMA,4BAA4B;;KAElC,OAAO,cAAY,WAAW;UACzB;WACC,MAAM;WACN,KAAK;;KAEX,2BAA2B"}
@@ -0,0 +1,2 @@
1
+ import "./types-BPubHbiE-SaR3Cngi.mjs";
2
+ import "./codecs-Ba3gUr67.mjs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/orm-target-postgres",
3
- "version": "8.0.0-rc.14-dev.5",
3
+ "version": "8.0.0-rc.14-dev.7",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -9,9 +9,9 @@
9
9
  "dist"
10
10
  ],
11
11
  "dependencies": {
12
- "@prisma/orm-family-sql": "8.0.0-rc.14-dev.5",
13
- "@prisma/orm-framework": "8.0.0-rc.14-dev.5",
14
- "@prisma/orm-toolchain": "8.0.0-rc.14-dev.5",
12
+ "@prisma/orm-family-sql": "8.0.0-rc.14-dev.7",
13
+ "@prisma/orm-framework": "8.0.0-rc.14-dev.7",
14
+ "@prisma/orm-toolchain": "8.0.0-rc.14-dev.7",
15
15
  "@standard-schema/spec": "^1.1.0",
16
16
  "@types/node": "26.1.2",
17
17
  "@types/pg": "8.20.4",
@@ -22,11 +22,11 @@
22
22
  "postgres-array": "2.0.0"
23
23
  },
24
24
  "devDependencies": {
25
- "@internal/adapter-postgres": "8.0.0-rc.14-dev.5",
26
- "@internal/driver-postgres": "8.0.0-rc.14-dev.5",
27
- "@internal/target-postgres": "8.0.0-rc.14-dev.5",
28
- "@repo/tsconfig": "8.0.0-rc.14-dev.5",
29
- "@repo/tsdown": "8.0.0-rc.14-dev.5",
25
+ "@internal/adapter-postgres": "8.0.0-rc.14-dev.7",
26
+ "@internal/driver-postgres": "8.0.0-rc.14-dev.7",
27
+ "@internal/target-postgres": "8.0.0-rc.14-dev.7",
28
+ "@repo/tsconfig": "8.0.0-rc.14-dev.7",
29
+ "@repo/tsdown": "8.0.0-rc.14-dev.7",
30
30
  "tsdown": "0.22.14",
31
31
  "typescript": "5.9.3",
32
32
  "vitest": "5.0.0-rc.2"
@@ -1 +0,0 @@
1
- {"version":3,"file":"codec-descriptor-BfoHQP3R-CMRVT-F6.mjs","names":["#descriptors"],"sources":["../../../../3-targets/3-targets/postgres/dist/codec-descriptor-BfoHQP3R.mjs"],"sourcesContent":["import { CaseExpr, ColumnRef, DerivedTableSource, FunctionSource, JsonArrayAggExpr, LiteralExpr, NativeJsonValueProjection, NullCheckExpr, OrderByItem, ProjectionItem, SelectAst, SubqueryExpr } from \"@internal/sql-relational-core/ast\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { CodecDescriptorImpl, validateCodecTypeParams } from \"@internal/framework-components/codec\";\nimport { blindCast } from \"@internal/utils/casts\";\n//#region src/core/codec-descriptor.ts\nconst POSTGRES_CODEC_DESCRIPTOR_KIND = \"postgres-codec\";\nconst ARRAY_INPUT_ALIAS = \"array_input\";\nconst ARRAY_ELEMENT_ALIAS = \"array_element\";\nconst ARRAY_VALUE_COLUMN = \"value\";\nconst ARRAY_ORDINALITY_COLUMN = \"ordinality\";\nvar PostgresCodecDescriptor = class extends CodecDescriptorImpl {\n\tdescriptorKind = POSTGRES_CODEC_DESCRIPTOR_KIND;\n\tjsonArrayProjection(expression, params) {\n\t\tconst boundArray = ColumnRef.of(ARRAY_INPUT_ALIAS, ARRAY_VALUE_COLUMN);\n\t\tconst element = ColumnRef.of(ARRAY_ELEMENT_ALIAS, ARRAY_VALUE_COLUMN);\n\t\tconst ordinality = ColumnRef.of(ARRAY_ELEMENT_ALIAS, ARRAY_ORDINALITY_COLUMN);\n\t\tconst projectedElement = CaseExpr.of([{\n\t\t\tcondition: NullCheckExpr.isNull(element),\n\t\t\tvalue: LiteralExpr.of(null)\n\t\t}], this.jsonProjection(element, params));\n\t\tconst aggregate = JsonArrayAggExpr.of(new NativeJsonValueProjection(projectedElement), \"emptyArray\", [OrderByItem.asc(ordinality)]);\n\t\tconst aggregateQuery = SelectAst.from(FunctionSource.of(\"unnest\", [boundArray], {\n\t\t\talias: ARRAY_ELEMENT_ALIAS,\n\t\t\tcolumnAliases: [ARRAY_VALUE_COLUMN, ARRAY_ORDINALITY_COLUMN]\n\t\t}).withOrdinality()).withProjection([ProjectionItem.of(ARRAY_VALUE_COLUMN, aggregate)]);\n\t\tconst arrayResult = CaseExpr.of([{\n\t\t\tcondition: NullCheckExpr.isNull(boundArray),\n\t\t\tvalue: LiteralExpr.of(null)\n\t\t}], SubqueryExpr.of(aggregateQuery));\n\t\tconst inputBinding = SelectAst.noFrom().withProjection([ProjectionItem.of(ARRAY_VALUE_COLUMN, expression)]);\n\t\treturn SubqueryExpr.of(SelectAst.from(DerivedTableSource.as(ARRAY_INPUT_ALIAS, inputBinding)).withProjection([ProjectionItem.of(ARRAY_VALUE_COLUMN, arrayResult)]));\n\t}\n\tnativeTypeFor(ref) {\n\t\treturn this.nativeType(this.validateParams(ref));\n\t}\n\tprojectJson(expression, ref) {\n\t\tconst params = this.validateParams(ref);\n\t\treturn ref.many === true ? this.jsonArrayProjection(expression, params) : this.jsonProjection(expression, params);\n\t}\n\tvalidateParams(ref) {\n\t\treturn blindCast(validateCodecTypeParams(this, ref));\n\t}\n};\nvar PostgresCodecDescriptorAdapter = class extends PostgresCodecDescriptor {\n\tdescriptor;\n\toptions;\n\tdataType;\n\tcodecId;\n\ttraits;\n\ttargetTypes;\n\tparamsSchema;\n\trenderOutputType;\n\trenderInputType;\n\trenderValueLiteral;\n\tfactory;\n\tconstructor(descriptor, options) {\n\t\tsuper();\n\t\tthis.descriptor = descriptor;\n\t\tthis.options = options;\n\t\tthis.dataType = options.dataType;\n\t\tthis.codecId = descriptor.codecId;\n\t\tthis.traits = descriptor.traits;\n\t\tthis.targetTypes = descriptor.targetTypes;\n\t\tthis.paramsSchema = descriptor.paramsSchema;\n\t\tthis.factory = (params) => descriptor.factory(params);\n\t\tconst renderOutputType = descriptor.renderOutputType;\n\t\tif (renderOutputType !== void 0) this.renderOutputType = (params) => renderOutputType.call(descriptor, params);\n\t\tconst renderInputType = descriptor.renderInputType;\n\t\tif (renderInputType !== void 0) this.renderInputType = (params) => renderInputType.call(descriptor, params);\n\t\tconst renderValueLiteral = descriptor.renderValueLiteral;\n\t\tif (renderValueLiteral !== void 0) this.renderValueLiteral = (value, side) => renderValueLiteral.call(descriptor, value, side);\n\t}\n\tget isParameterized() {\n\t\treturn this.descriptor.isParameterized;\n\t}\n\tnativeType(params) {\n\t\treturn this.options.nativeType(params);\n\t}\n\tjsonProjection(expression, params) {\n\t\treturn this.options.jsonProjection(expression, params);\n\t}\n\tjsonArrayProjection(expression, params) {\n\t\treturn this.options.jsonArrayProjection === void 0 ? super.jsonArrayProjection(expression, params) : this.options.jsonArrayProjection(expression, params);\n\t}\n};\nfunction postgresCodec(descriptor, options) {\n\treturn blindCast(new PostgresCodecDescriptorAdapter(descriptor, options));\n}\nfunction definePostgresCodecs(descriptors) {\n\treturn descriptors;\n}\nfunction isPostgresCodecDescriptor(value) {\n\treturn typeof value === \"object\" && value !== null && \"descriptorKind\" in value && value.descriptorKind === POSTGRES_CODEC_DESCRIPTOR_KIND && \"codecId\" in value && typeof value.codecId === \"string\" && \"traits\" in value && Array.isArray(value.traits) && \"targetTypes\" in value && Array.isArray(value.targetTypes) && value.targetTypes.every((targetType) => typeof targetType === \"string\") && \"paramsSchema\" in value && (value.paramsSchema === void 0 || isObjectLike(value.paramsSchema) && \"~standard\" in value.paramsSchema && isObjectLike(value.paramsSchema[\"~standard\"]) && \"validate\" in value.paramsSchema[\"~standard\"] && typeof value.paramsSchema[\"~standard\"].validate === \"function\") && \"isParameterized\" in value && typeof value.isParameterized === \"boolean\" && \"factory\" in value && typeof value.factory === \"function\" && \"nativeTypeFor\" in value && typeof value.nativeTypeFor === \"function\" && \"projectJson\" in value && typeof value.projectJson === \"function\";\n}\nfunction isObjectLike(value) {\n\treturn typeof value === \"object\" && value !== null || typeof value === \"function\";\n}\nvar PostgresCodecDescriptorRegistryImpl = class {\n\t#descriptors;\n\tconstructor(descriptors) {\n\t\tthis.#descriptors = descriptors;\n\t\tObject.freeze(this);\n\t}\n\tdescriptorFor(codecId) {\n\t\treturn this.#descriptors.get(codecId);\n\t}\n\t*values() {\n\t\tyield* this.#descriptors.values();\n\t}\n};\nfunction buildPostgresCodecDescriptorRegistry(descriptors) {\n\tconst byId = /* @__PURE__ */ new Map();\n\tfor (const descriptor of descriptors) {\n\t\tif (!isPostgresCodecDescriptor(descriptor)) {\n\t\t\tconst codecId = candidateCodecId(descriptor);\n\t\t\tthrow structuredError(\"RUNTIME.CODEC_DESCRIPTOR_INVALID\", `Codec descriptor '${codecId}' is not a valid PostgreSQL codec descriptor.`, {\n\t\t\t\twhy: \"PostgreSQL codec registries require the postgres-codec discriminant and complete target descriptor methods.\",\n\t\t\t\tfix: \"Extend PostgresCodecDescriptor or adapt a generic descriptor with postgresCodec().\",\n\t\t\t\tmeta: { codecId }\n\t\t\t});\n\t\t}\n\t\tif (byId.has(descriptor.codecId)) throw structuredError(\"RUNTIME.DUPLICATE_CODEC\", `Duplicate PostgreSQL codec descriptor id '${descriptor.codecId}'.`, {\n\t\t\twhy: \"Each codecId must resolve to exactly one PostgreSQL descriptor during registry composition.\",\n\t\t\tfix: \"Remove the duplicate target, adapter, or extension contribution.\",\n\t\t\tmeta: {\n\t\t\t\tcodecId: descriptor.codecId,\n\t\t\t\ttarget: \"postgres\"\n\t\t\t}\n\t\t});\n\t\tbyId.set(descriptor.codecId, descriptor);\n\t}\n\treturn new PostgresCodecDescriptorRegistryImpl(byId);\n}\nfunction candidateCodecId(value) {\n\treturn typeof value === \"object\" && value !== null && \"codecId\" in value && typeof value.codecId === \"string\" ? value.codecId : \"<unknown>\";\n}\n//#endregion\nexport { postgresCodec as a, isPostgresCodecDescriptor as i, buildPostgresCodecDescriptorRegistry as n, definePostgresCodecs as r, PostgresCodecDescriptor as t };\n\n//# sourceMappingURL=codec-descriptor-BfoHQP3R.mjs.map"],"mappings":"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"}
@@ -1 +0,0 @@
1
- import "./codec-descriptor-DUUGoeyI-WGLGXEoI.mjs";
@@ -1 +0,0 @@
1
- {"version":3,"file":"codec-descriptor-DUUGoeyI-WGLGXEoI.d.mts","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/codec-descriptor-DUUGoeyI.d.mts"],"mappings":";;;;cAGc;UACJ,mCAAmC;WAClC,uBAAuB;EAChC,cAAc,KAAK;EACnB,YAAY,YAAY,gBAAgB,KAAK,WAAW;;uBAEnC,wBAAwB,kBAAkB,oBAAoB,cAAc;WACxF;qBACU,WAAW,QAAQ;qBACnB,eAAe,YAAY,gBAAgB,QAAQ,IAAI;YAChE,oBAAoB,YAAY,gBAAgB,QAAQ,IAAI;EACtE,cAAc,KAAK;EACnB,YAAY,YAAY,gBAAgB,KAAK,WAAW;UAChD;;KAEL,iBAAiB,UAAU,8BAA8B,UAAU,8BAA8B,KAAK;UACjG,qBAAqB;;WAEpB,UAAU;WACV,aAAa,QAAQ;WACrB,iBAAiB,YAAY,gBAAgB,QAAQ,MAAM;WAC3D,uBAAuB,YAAY,gBAAgB,QAAQ,MAAM;;KAEvE,+BAA+B,UAAU,8BAA8B,KAAK,SAAS,wBAAwB,iBAAiB,OAAO,KAAK,+BAA+B,KAAK;iBAClK,cAAc,UAAU,4BAA4B,YAAY,GAAG,SAAS,qBAAqB,iBAAiB,MAAM,+BAA+B;iBACvJ,2BAA2B,6BAA6B,8BAA8B,aAAa,cAAc;iBACjH,0BAA0B,iBAAiB,SAAS;UAC3D;EACR,cAAc,kBAAkB;EAChC,UAAU,iBAAiB;;iBAEZ,qCAAqC,aAAa,yBAAyB"}
@@ -1,2 +0,0 @@
1
- import "./codecs-BZ87E3MY-Bub4t0ma.mjs";
2
- import "./codec-types-BQNq7Y1u-CGfS7PuD.mjs";
@@ -1 +0,0 @@
1
- {"version":3,"file":"codecs-C4DVdgQG.mjs","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/codecs.mjs"],"sourcesContent":["import { n as buildPostgresCodecDescriptorRegistry } from \"./codec-descriptor-BfoHQP3R.mjs\";\nimport { A as pgTimestamptzDateDescriptor, C as pgUuidColumn, D as PgTimestamptzDateCodec, O as PgTimestamptzDateDescriptor, S as pgUnboundedIntColumn, T as pgVarcharColumn, _ as pgJsonColumn, a as pgCharColumn, b as pgTextColumn, c as pgFloat8Column, d as pgInt2Column, f as pgInt4Column, g as pgIntervalColumn, h as pgIntColumn, i as pgBoolColumn, k as pgTimestamptzDateColumn, l as pgFloatColumn, m as pgInt8NumberColumn, n as isPgEnumParams, o as pgEnumDescriptor, p as pgInt8Column, r as pgBitColumn, s as pgFloat4Column, u as pgInetColumn, v as pgJsonbColumn, w as pgVarbitColumn, x as pgTimetzColumn, y as pgNumericColumn } from \"./codecs-DQGmsnk3.mjs\";\nimport { n as postgresCodecRegistry, t as postgresCodecDescriptorRegistry } from \"./registry-ld2ZUt1j.mjs\";\nimport { n as parsePostgresListText } from \"./list-decoder-DXee1orj.mjs\";\nimport { extractCodecLookup } from \"@internal/framework-components/control\";\n//#region src/core/codec-registry.ts\nfunction buildPostgresCodecRegistry(descriptors) {\n\tconst descriptorRegistry = buildPostgresCodecDescriptorRegistry(descriptors);\n\tconst registry = {\n\t\t...extractCodecLookup([{\n\t\t\tid: \"postgres-codecs\",\n\t\t\ttypes: { codecTypes: { codecDescriptors: Array.from(descriptorRegistry.values()) } }\n\t\t}]),\n\t\tdescriptorFor: (codecId) => descriptorRegistry.descriptorFor(codecId),\n\t\tvalues: () => descriptorRegistry.values()\n\t};\n\treturn Object.freeze(registry);\n}\nfunction assemblePostgresCodecRegistry(components) {\n\treturn buildPostgresCodecRegistry(components.flatMap((component) => component.types?.codecTypes?.codecDescriptors ?? []));\n}\nfunction assemblePostgresCodecRegistryWithBuiltins(extensions) {\n\treturn buildPostgresCodecRegistry([...postgresCodecDescriptorRegistry.values(), ...extensions.flatMap((extension) => extension.types?.codecTypes?.codecDescriptors ?? [])]);\n}\nfunction createPostgresCodecRegistryWithBuiltins(codecDescriptors = []) {\n\treturn buildPostgresCodecRegistry([...postgresCodecDescriptorRegistry.values(), ...codecDescriptors]);\n}\n/**\n* Build a coherent PostgreSQL codec registry populated with built-in descriptors only.\n*\n* The returned registry supports both ordinary codec materialization and PostgreSQL target behavior. Stack-composed paths build the same combined registry from their complete ordered descriptor contributions.\n*/\nfunction createPostgresBuiltinCodecLookup() {\n\treturn createPostgresCodecRegistryWithBuiltins();\n}\n//#endregion\nexport { PgTimestamptzDateCodec, PgTimestamptzDateDescriptor, assemblePostgresCodecRegistry, assemblePostgresCodecRegistryWithBuiltins, createPostgresBuiltinCodecLookup, createPostgresCodecRegistryWithBuiltins, isPgEnumParams, parsePostgresListText, pgBitColumn, pgBoolColumn, pgCharColumn, pgEnumDescriptor, pgFloat4Column, pgFloat8Column, pgFloatColumn, pgInetColumn, pgInt2Column, pgInt4Column, pgInt8Column, pgInt8NumberColumn, pgIntColumn, pgIntervalColumn, pgJsonColumn, pgJsonbColumn, pgNumericColumn, pgTextColumn, pgTimestamptzDateColumn, pgTimestamptzDateDescriptor, pgTimetzColumn, pgUnboundedIntColumn, pgUuidColumn, pgVarbitColumn, pgVarcharColumn, postgresCodecDescriptorRegistry, postgresCodecRegistry };\n\n//# sourceMappingURL=codecs.mjs.map"],"mappings":";;;;AAMA,SAAS,2BAA2B,aAAa;CAChD,MAAM,qBAAqB,qCAAqC,WAAW;CAC3E,MAAM,WAAW;EAChB,GAAG,mBAAmB,CAAC;GACtB,IAAI;GACJ,OAAO,EAAE,YAAY,EAAE,kBAAkB,MAAM,KAAK,mBAAmB,OAAO,CAAC,EAAE,EAAE;EACpF,CAAC,CAAC;EACF,gBAAgB,YAAY,mBAAmB,cAAc,OAAO;EACpE,cAAc,mBAAmB,OAAO;CACzC;CACA,OAAO,OAAO,OAAO,QAAQ;AAC9B;AACA,SAAS,8BAA8B,YAAY;CAClD,OAAO,2BAA2B,WAAW,SAAS,cAAc,UAAU,OAAO,YAAY,oBAAoB,CAAC,CAAC,CAAC;AACzH;AACA,SAAS,0CAA0C,YAAY;CAC9D,OAAO,2BAA2B,CAAC,GAAG,gCAAgC,OAAO,GAAG,GAAG,WAAW,SAAS,cAAc,UAAU,OAAO,YAAY,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAC3K;AACA,SAAS,wCAAwC,mBAAmB,CAAC,GAAG;CACvE,OAAO,2BAA2B,CAAC,GAAG,gCAAgC,OAAO,GAAG,GAAG,gBAAgB,CAAC;AACrG;;;;;;AAMA,SAAS,mCAAmC;CAC3C,OAAO,wCAAwC;AAChD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"codecs-DQGmsnk3-H6nVRPCC.mjs","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/codecs-DQGmsnk3.mjs"],"sourcesContent":["import { A as PG_TIME_TEMPORAL_CODEC_ID, C as PG_TIMESTAMPTZ_DATE_CODEC_ID, D as PG_TIMESTAMP_TEMPORAL_CODEC_ID, E as PG_TIMESTAMP_STRING_CODEC_ID, F as PG_VARCHAR_CODEC_ID, M as PG_UNBOUNDED_INT_CODEC_ID, N as PG_UUID_CODEC_ID, O as PG_TIMETZ_CODEC_ID, P as PG_VARBIT_CODEC_ID, S as PG_TEXT_CODEC_ID, T as PG_TIMESTAMPTZ_TEMPORAL_CODEC_ID, _ as PG_INT_CODEC_ID, a as PG_DATE_STRING_CODEC_ID, b as PG_NUMERIC_CODEC_ID, c as PG_FLOAT4_CODEC_ID, d as PG_INET_CODEC_ID, f as PG_INT2_CODEC_ID, g as PG_INTERVAL_CODEC_ID, h as PG_INT8_NUMBER_CODEC_ID, i as PG_CHAR_CODEC_ID, j as PG_TSQUERY_CODEC_ID, k as PG_TIME_STRING_CODEC_ID, l as PG_FLOAT8_CODEC_ID, m as PG_INT8_CODEC_ID, n as PG_BOOL_CODEC_ID, o as PG_DATE_TEMPORAL_CODEC_ID, p as PG_INT4_CODEC_ID, r as PG_BYTEA_CODEC_ID, s as PG_ENUM_CODEC_ID, t as PG_BIT_CODEC_ID, u as PG_FLOAT_CODEC_ID, v as PG_JSONB_CODEC_ID, w as PG_TIMESTAMPTZ_STRING_CODEC_ID, x as PG_TEXT_ARRAY_CODEC_ID, y as PG_JSON_CODEC_ID } from \"./codec-ids-Cb0yO-IS.mjs\";\nimport { a as errorTemporalUnrepresentable, i as errorTemporalUnavailableForDefault, n as errorTemporalNonIsoCalendar, o as errorTemporalWrongType, r as errorTemporalUnavailable, s as postgresError } from \"./errors-DYyzTYzE.mjs\";\nimport { $ as pgJsonEncode, A as pgVarbit, B as pgFloatDecodeJson, C as pgTimestampCanonical, D as pgTimetzCanonical, E as pgTimetz, F as pgBigintEncode, G as pgInt8NumberDecodeJson, H as pgFloatEncodeJson, I as pgBigintEncodeJson, J as pgIntervalDecode, K as pgInt8NumberEncode, L as pgByteaDecodeJson, N as decimalTextBigintLiteral, O as pgTsquery, P as decimalTextNumberLiteral, Q as pgJsonDecode, R as pgByteaDecodeWire, S as pgTimestamp, T as pgTimestamptzCanonical, U as pgInt8Decode, V as pgFloatEncode, W as pgInt8NumberDecode, X as pgIntervalEncodeJson, Y as pgIntervalDecodeJson, Z as pgIntervalToIso, _ as pgNumeric, a as pgDate, at as precisionParamsSchema, b as pgTime, c as pgFloat4, d as pgInt2, et as pgJsonbDecode, f as pgInt4, g as pgJsonb, h as pgJson, i as pgChar, it as pgUnboundedIntDecode, j as pgVarchar, k as pgUuid, l as pgFloat8, m as pgInterval, n as pgBool, nt as pgNumericDecode, o as pgDateCanonical, ot as renderLength, p as pgInt8, q as pgInt8NumberEncodeJson, r as pgBytea, rt as pgNumericRenderOutputType, s as pgEnum, st as renderPrecision, t as pgBit, tt as pgJsonbEncode, u as pgInet, v as pgText, w as pgTimestamptz, x as pgTimeCanonical, y as pgTextArray, z as pgByteaEncodeJson } from \"./data-types-Cl18KnNY.mjs\";\nimport { a as postgresCodec, r as definePostgresCodecs, t as PostgresCodecDescriptor } from \"./codec-descriptor-BfoHQP3R.mjs\";\nimport \"./namespace-ids-xtp_ZY86.mjs\";\nimport { t as PostgresNativeEnum } from \"./postgres-native-enum-CdP3b_-R.mjs\";\nimport { BinaryExpr, CaseExpr, CastExpr, FunctionCallExpr, LiteralExpr, NullCheckExpr, OrExpr, SqlCharCodec, SqlFloatCodec, SqlIntCodec, SqlVarcharCodec, sqlCharDescriptor, sqlFloatDescriptor, sqlIntDescriptor, sqlTextDescriptor, sqlVarcharDescriptor } from \"@internal/sql-relational-core/ast\";\nimport { CodecImpl, column, renderTsLiteral } from \"@internal/framework-components/codec\";\nimport { type } from \"arktype\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\n//#region src/core/require-temporal.ts\nlet fallback;\n/**\n* Sets the implementation `requireTemporal` returns when the runtime has no global `Temporal`.\n* The value is held once per process. Only the control entry calls this.\n*/\nfunction setFallbackTemporal(implementation) {\n\tfallback = implementation;\n}\n/**\n* The `Temporal` to use: the runtime's own when it has one, else the fallback. Throws\n* `RUNTIME.TEMPORAL_UNAVAILABLE` when there is neither.\n*/\nfunction requireTemporal(meta) {\n\tif (typeof Temporal !== \"undefined\") return Temporal;\n\tif (fallback !== void 0) return fallback;\n\tthrow \"generatorId\" in meta ? errorTemporalUnavailableForDefault(meta.generatorId) : errorTemporalUnavailable(meta.codecId, meta.operation);\n}\n//#endregion\n//#region src/core/temporal-codec-helpers.ts\nconst PG_DATE_NATIVE_TYPE = \"date\";\nconst PG_TIMESTAMP_NATIVE_TYPE = \"timestamp without time zone\";\nconst PG_TIMESTAMPTZ_NATIVE_TYPE = \"timestamp with time zone\";\nconst PG_TIME_NATIVE_TYPE = \"time\";\nconst POSTGRES_TEMPORAL_SENTINELS = /* @__PURE__ */ new Set([\"infinity\", \"-infinity\"]);\nconst EXPANDED_YEAR_DIGITS = 6;\nconst ORDINARY_YEAR_DIGITS = 4;\nconst BC_SUFFIX = \" BC\";\nfunction adaptPostgresEra(text) {\n\tconst isBc = text.endsWith(BC_SUFFIX);\n\tconst body = isBc ? text.slice(0, -3) : text;\n\tconst yearEnd = body.indexOf(\"-\");\n\tif (yearEnd <= 0) return text;\n\tconst yearText = body.slice(0, yearEnd);\n\tif (!isBc && yearText.length <= ORDINARY_YEAR_DIGITS) return text;\n\tconst year = Number(yearText);\n\tif (!Number.isInteger(year)) return text;\n\tconst proleptic = isBc ? 1 - year : year;\n\treturn `${proleptic < 0 ? \"-\" : \"+\"}${String(Math.abs(proleptic)).padStart(EXPANDED_YEAR_DIGITS, \"0\")}${body.slice(yearEnd)}`;\n}\nfunction decodeTemporalText(identity, wire, parse, adapt) {\n\tconst temporal = requireTemporal({\n\t\tcodecId: identity.codecId,\n\t\toperation: \"decode\"\n\t});\n\tif (POSTGRES_TEMPORAL_SENTINELS.has(wire)) throw errorTemporalUnrepresentable({\n\t\t...identity,\n\t\toperation: \"decode\",\n\t\tvalue: wire,\n\t\tdetail: `PostgreSQL's ${wire} is a sentinel with no position on the timeline, so no Temporal value denotes it`\n\t});\n\ttry {\n\t\treturn parse(temporal, adapt(wire));\n\t} catch (cause) {\n\t\tthrow errorTemporalUnrepresentable({\n\t\t\t...identity,\n\t\t\toperation: \"decode\",\n\t\t\tvalue: wire,\n\t\t\tdetail: cause instanceof Error ? cause.message : String(cause),\n\t\t\tcause\n\t\t});\n\t}\n}\nfunction encodeTemporalValue(identity, value) {\n\tconst tag = typeof value === \"object\" && value !== null ? Reflect.get(value, Symbol.toStringTag) : void 0;\n\tif (tag !== identity.temporalTag) throw errorTemporalWrongType(identity.codecId, identity.temporalTag, identity.stringType, describeEncodeInput(value, tag));\n\tif (value.calendarId !== void 0 && value.calendarId !== \"iso8601\") throw errorTemporalNonIsoCalendar(identity.codecId, value.calendarId);\n\treturn value.toString();\n}\nfunction describeEncodeInput(value, tag) {\n\tif (typeof tag === \"string\") return `a ${tag}`;\n\tif (value instanceof Date) return \"a Date\";\n\tif (value === null) return \"null\";\n\treturn `a ${typeof value}`;\n}\nconst DATE_TEMPORAL = {\n\tcodecId: PG_DATE_TEMPORAL_CODEC_ID,\n\tstringType: \"DateString\",\n\ttemporalTag: \"Temporal.PlainDate\"\n};\nconst TIMESTAMP_TEMPORAL = {\n\tcodecId: PG_TIMESTAMP_TEMPORAL_CODEC_ID,\n\tstringType: \"TimestampString(p)\",\n\ttemporalTag: \"Temporal.PlainDateTime\"\n};\nconst TIMESTAMPTZ_TEMPORAL = {\n\tcodecId: PG_TIMESTAMPTZ_TEMPORAL_CODEC_ID,\n\tstringType: \"TimestamptzString(p)\",\n\ttemporalTag: \"Temporal.Instant\"\n};\nconst TIME_TEMPORAL = {\n\tcodecId: PG_TIME_TEMPORAL_CODEC_ID,\n\tstringType: \"TimeString(p)\",\n\ttemporalTag: \"Temporal.PlainTime\"\n};\nconst unadapted = (text) => text;\nconst pgDateTemporalDecode = (wire) => decodeTemporalText(DATE_TEMPORAL, wire, (temporal, text) => temporal.PlainDate.from(text), adaptPostgresEra);\nconst pgDateTemporalEncode = (value) => encodeTemporalValue(DATE_TEMPORAL, value);\nconst pgTimestampTemporalDecode = (wire) => decodeTemporalText(TIMESTAMP_TEMPORAL, wire, (temporal, text) => temporal.PlainDateTime.from(text), adaptPostgresEra);\nconst pgTimestampTemporalEncode = (value) => encodeTemporalValue(TIMESTAMP_TEMPORAL, value);\nconst pgTimestamptzTemporalDecode = (wire) => decodeTemporalText(TIMESTAMPTZ_TEMPORAL, wire, (temporal, text) => temporal.Instant.from(text), adaptPostgresEra);\nconst pgTimestamptzTemporalEncode = (value) => encodeTemporalValue(TIMESTAMPTZ_TEMPORAL, value);\nconst pgTimeTemporalDecode = (wire) => decodeTemporalText(TIME_TEMPORAL, wire, (temporal, text) => temporal.PlainTime.from(text), unadapted);\nconst pgTimeTemporalEncode = (value) => encodeTemporalValue(TIME_TEMPORAL, value);\n//#endregion\n//#region src/core/date-codecs.ts\nconst TIMESTAMPTZ_TEXT = /^([+-]\\d{6}|\\d{4,6})-(\\d{2})-(\\d{2})[ T](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d{1,6}))?(?:Z|([+-])(\\d{2})(?::?(\\d{2}))?(?::?(\\d{2}))?)( BC)?$/;\nconst MIN_TIMESTAMPTZ_MILLISECONDS = (/* @__PURE__ */ new Date(\"-004713-11-24T00:00:00.000Z\")).getTime();\nfunction invalidDate() {\n\treturn /* @__PURE__ */ new RangeError(`${PG_TIMESTAMPTZ_DATE_CODEC_ID} requires a valid Date or a representable ISO PostgreSQL timestamp with time zone; use TimestamptzString for unsupported values`);\n}\nfunction validateDate(value) {\n\tif (!(value instanceof Date) || !Number.isFinite(value.getTime()) || value.getTime() < MIN_TIMESTAMPTZ_MILLISECONDS) throw invalidDate();\n\treturn value;\n}\nfunction decodeDate(wire) {\n\tconst match = typeof wire === \"string\" ? TIMESTAMPTZ_TEXT.exec(wire) : null;\n\tif (!match) throw invalidDate();\n\tconst [, yearText = \"\", monthText, dayText, hourText, minuteText, secondText, fraction = \"\", sign, offsetHour = \"0\", offsetMinute = \"0\", offsetSecond = \"0\", era] = match;\n\tconst year = era ? 1 - Number(yearText) : Number(yearText);\n\tconst month = Number(monthText) - 1;\n\tconst day = Number(dayText);\n\tconst hour = Number(hourText);\n\tconst minute = Number(minuteText);\n\tconst second = Number(secondText);\n\tconst milliseconds = Number(fraction.slice(0, 3).padEnd(3, \"0\"));\n\tconst cycles = Math.floor((year - 2e3) / 400);\n\tconst safeYear = year - cycles * 400;\n\tconst local = /* @__PURE__ */ new Date(0);\n\tlocal.setUTCFullYear(safeYear, month, day);\n\tlocal.setUTCHours(hour, minute, second, milliseconds);\n\tif (era !== void 0 && (Number(yearText) === 0 || /^[+-]/.test(yearText)) || local.getUTCFullYear() !== safeYear || local.getUTCMonth() !== month || local.getUTCDate() !== day || local.getUTCHours() !== hour || local.getUTCMinutes() !== minute || local.getUTCSeconds() !== second || Number(offsetHour) > 15 || Number(offsetMinute) > 59 || Number(offsetSecond) > 59) throw invalidDate();\n\tconst offset = (Number(offsetHour) * 3600 + Number(offsetMinute) * 60 + Number(offsetSecond)) * (sign === \"-\" ? -1 : 1);\n\treturn validateDate(/* @__PURE__ */ new Date(local.getTime() - offset * 1e3 + cycles * 146097 * 864e5));\n}\nfunction encodeDate(value) {\n\tvalidateDate(value);\n\tconst iso = value.toISOString();\n\tconst year = value.getUTCFullYear();\n\tif (year > 0 && year < 1e4) return iso;\n\tconst dateAndTime = iso.slice(year === 0 ? 4 : 7);\n\treturn `${String(year <= 0 ? 1 - year : year).padStart(4, \"0\")}${dateAndTime}${year <= 0 ? \" BC\" : \"\"}`;\n}\nvar PgTimestamptzDateCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn encodeDate(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodeDate(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimestamptzCanonical(validateDate(value).toISOString());\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeDate(json);\n\t}\n};\nvar PgTimestamptzDateDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIMESTAMPTZ_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTimestamptz.id;\n\tcodecId = PG_TIMESTAMPTZ_DATE_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(_params) {\n\t\treturn \"Date\";\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimestamptzDateCodec(this);\n\t}\n};\nconst pgTimestamptzDateDescriptor = new PgTimestamptzDateDescriptor();\nconst pgTimestamptzDateColumn = (params = {}) => column(pgTimestamptzDateDescriptor.factory(params), pgTimestamptzDateDescriptor.codecId, params, \"timestamptz\");\n//#endregion\n//#region src/core/temporal-codecs.ts\nvar PgDateTemporalCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgDateTemporalEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgDateTemporalDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgDateCanonical(pgDateTemporalEncode(value));\n\t}\n\tdecodeJson(json) {\n\t\treturn pgDateTemporalDecode(blindCast(json));\n\t}\n};\nvar PgDateTemporalDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_DATE_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgDate.id;\n\tcodecId = PG_DATE_TEMPORAL_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"date\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgDateTemporalCodec(this);\n\t}\n};\nconst pgDateTemporalDescriptor = new PgDateTemporalDescriptor();\nvar PgTimestampTemporalCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgTimestampTemporalEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgTimestampTemporalDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimestampCanonical(pgTimestampTemporalEncode(value));\n\t}\n\tdecodeJson(json) {\n\t\treturn pgTimestampTemporalDecode(blindCast(json));\n\t}\n};\nvar PgTimestampTemporalDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIMESTAMP_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTimestamp.id;\n\tcodecId = PG_TIMESTAMP_TEMPORAL_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"timestamp\"];\n\tparamsSchema = precisionParamsSchema;\n\tfactory(_params) {\n\t\treturn () => new PgTimestampTemporalCodec(this);\n\t}\n};\nconst pgTimestampTemporalDescriptor = new PgTimestampTemporalDescriptor();\nvar PgTimestamptzTemporalCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgTimestamptzTemporalEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgTimestamptzTemporalDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimestamptzCanonical(pgTimestamptzTemporalEncode(value));\n\t}\n\tdecodeJson(json) {\n\t\treturn pgTimestamptzTemporalDecode(blindCast(json));\n\t}\n};\nvar PgTimestamptzTemporalDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIMESTAMPTZ_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTimestamptz.id;\n\tcodecId = PG_TIMESTAMPTZ_TEMPORAL_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"timestamptz\"];\n\tparamsSchema = precisionParamsSchema;\n\tfactory(_params) {\n\t\treturn () => new PgTimestamptzTemporalCodec(this);\n\t}\n};\nconst pgTimestamptzTemporalDescriptor = new PgTimestamptzTemporalDescriptor();\nvar PgTimeTemporalCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgTimeTemporalEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgTimeTemporalDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimeCanonical(pgTimeTemporalEncode(value));\n\t}\n\tdecodeJson(json) {\n\t\treturn pgTimeTemporalDecode(blindCast(json));\n\t}\n};\nvar PgTimeTemporalDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIME_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTime.id;\n\tcodecId = PG_TIME_TEMPORAL_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"time\"];\n\tparamsSchema = precisionParamsSchema;\n\tfactory(_params) {\n\t\treturn () => new PgTimeTemporalCodec(this);\n\t}\n};\nconst pgTimeTemporalDescriptor = new PgTimeTemporalDescriptor();\n//#endregion\n//#region src/core/temporal-string-codecs.ts\nvar PgDateStringCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn pgDateCanonical(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn blindCast(json);\n\t}\n};\nvar PgDateStringDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_DATE_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgDate.id;\n\tcodecId = PG_DATE_STRING_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgDateStringCodec(this);\n\t}\n};\nconst pgDateStringDescriptor = new PgDateStringDescriptor();\nvar PgTimestampStringCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimestampCanonical(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn blindCast(json);\n\t}\n};\nvar PgTimestampStringDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIMESTAMP_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTimestamp.id;\n\tcodecId = PG_TIMESTAMP_STRING_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"TimestampString\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimestampStringCodec(this);\n\t}\n};\nconst pgTimestampStringDescriptor = new PgTimestampStringDescriptor();\nvar PgTimestamptzStringCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimestamptzCanonical(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn blindCast(json);\n\t}\n};\nvar PgTimestamptzStringDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIMESTAMPTZ_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTimestamptz.id;\n\tcodecId = PG_TIMESTAMPTZ_STRING_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"TimestamptzString\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimestamptzStringCodec(this);\n\t}\n};\nconst pgTimestamptzStringDescriptor = new PgTimestamptzStringDescriptor();\nvar PgTimeStringCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimeCanonical(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn blindCast(json);\n\t}\n};\nvar PgTimeStringDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIME_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTime.id;\n\tcodecId = PG_TIME_STRING_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"TimeString\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimeStringCodec(this);\n\t}\n};\nconst pgTimeStringDescriptor = new PgTimeStringDescriptor();\n//#endregion\n//#region src/core/codecs.ts\nconst lengthParamsSchema = type({ \"length?\": \"number.integer > 0\" });\nconst numericParamsSchema = type({\n\t\"precision?\": \"number.integer > 0 & number.integer <= 1000\",\n\t\"scale?\": \"number.integer >= 0\"\n});\nconst PG_TEXT_NATIVE_TYPE = \"text\";\nconst PG_TEXT_ARRAY_NATIVE_TYPE = \"text[]\";\nconst PG_INT4_NATIVE_TYPE = \"integer\";\nconst PG_INT2_NATIVE_TYPE = \"smallint\";\nconst PG_INT8_NATIVE_TYPE = \"bigint\";\nconst PG_FLOAT4_NATIVE_TYPE = \"real\";\nconst PG_FLOAT8_NATIVE_TYPE = \"double precision\";\nconst PG_NUMERIC_NATIVE_TYPE = \"numeric\";\nconst PG_TIMETZ_NATIVE_TYPE = \"timetz\";\nconst PG_BOOL_NATIVE_TYPE = \"boolean\";\nconst PG_BIT_NATIVE_TYPE = \"bit\";\nconst PG_VARBIT_NATIVE_TYPE = \"bit varying\";\nconst PG_BYTEA_NATIVE_TYPE = \"bytea\";\nconst PG_INTERVAL_NATIVE_TYPE = \"interval\";\nconst PG_JSON_NATIVE_TYPE = \"json\";\nconst PG_JSONB_NATIVE_TYPE = \"jsonb\";\n/**\n* Projects the expression unchanged, for codecs whose canonical JSON is what\n* PostgreSQL's own JSON conversion already produces.\n*\n* Identity here is a claim about the target's behaviour, not an absence of one:\n* the codec's conformance cases are what test it, including at the boundaries\n* of the representation — escaping, sign, and range — where a native conversion\n* would be most likely to diverge.\n*/\n/**\n* Whether a string is numeric text in the form PostgreSQL *prints*, which is\n* narrower than the form it accepts.\n*\n* `numeric` reads `+123`, `.5`, `1.`, `1e5`, `0x1f`, `1_000` and whitespace-padded\n* input, but prints every one of them in a single normalised form — `123`,\n* `0.5`, `1`, `100000`, `31`, `1000`, `12`. The projection reads the column back\n* through that printing, so accepting an input spelling here would produce an\n* application value the projection can never return: `encodeJson('1e5')` would\n* claim `1e5` where the database yields `100000`.\n*\n* `NaN`, `Infinity` and `-Infinity` are genuine `numeric` values, not error\n* states, and PostgreSQL emits them into JSON as strings — so they belong to the\n* canonical form and round-trip like any other value.\n*/\nconst CANONICAL_NUMERIC_TEXT = /^(?:-?\\d+(?:\\.\\d+)?|NaN|-?Infinity)$/;\nconst isCanonicalNumericText = (value) => CANONICAL_NUMERIC_TEXT.test(value);\nconst identityJsonProjection = (expression) => expression;\nconst decodePostgresNumberWire = (wire) => typeof wire === \"string\" ? Number(wire) : wire;\nconst decodePostgresBooleanWire = (wire) => {\n\tif (typeof wire === \"boolean\") return wire;\n\tif (wire === \"t\" || wire === \"true\") return true;\n\tif (wire === \"f\" || wire === \"false\") return false;\n\tthrow postgresError(\"RUNTIME.DECODE_FAILED\", \"pg/bool@1 wire value must be boolean text\", { meta: {\n\t\tcodecId: PG_BOOL_CODEC_ID,\n\t\treceived: wire\n\t} });\n};\n/**\n* Projects a numeric-valued expression as decimal text.\n*\n* The cast is part of the projected expression, which is what makes it correct:\n* whatever `jsonProjection` returns is the argument the JSON constructor\n* receives, so casting here happens *before* PostgreSQL builds the JSON value.\n* Handed a `numeric` or `int8` directly, the constructor emits a JSON **number**,\n* and every digit past IEEE-754's 53 bits of significand is gone by the time the\n* driver has parsed it — before any codec can intervene. A cast applied to the\n* constructor's result instead of its argument would be too late to matter.\n*/\nconst decimalTextJsonProjection = (expression) => CastExpr.as(expression, \"text\");\n/**\n* Projects a `bytea` as base64 text.\n*\n* Like the decimal-text cast, the encoding is part of the projected expression:\n* PostgreSQL's own JSON conversion of a `bytea` emits its `\\x`-prefixed hex\n* output form, so the base64 encoding has to replace that conversion rather\n* than post-process it.\n*\n* `encode` emits RFC 2045 base64, which carries a line break every 76\n* characters — so any value over 56 bytes arrives wrapped. The breaks are\n* removed here, because the canonical form is unwrapped base64 and\n* `decodeJson` rejects anything else. `chr(10)` rather than a newline literal\n* keeps the rendered SQL on one line.\n*/\nconst base64JsonProjection = (expression) => FunctionCallExpr.of(\"translate\", [\n\tFunctionCallExpr.of(\"encode\", [expression, LiteralExpr.of(\"base64\")]),\n\tFunctionCallExpr.of(\"chr\", [LiteralExpr.of(10)]),\n\tLiteralExpr.of(\"\")\n]);\nconst datePart = (field, expression) => FunctionCallExpr.of(\"date_part\", [LiteralExpr.of(field), expression]);\nconst whenNonZero = (value, rendered) => CaseExpr.of([{\n\tcondition: BinaryExpr.neq(value, LiteralExpr.of(0)),\n\tvalue: rendered\n}], LiteralExpr.of(null));\n/**\n* Projects an `interval` as an ISO-8601 duration.\n*\n* An interval carries months, days and microseconds independently — `P1M` and\n* `P30D` are different intervals — so the projection reads each field with\n* `date_part` and assembles them rather than reducing the value to an epoch,\n* which would have to choose a length for a month. `IntervalStyle` decides how\n* PostgreSQL spells an interval and cannot be bound per expression, so the\n* spelling is constructed here instead of inherited.\n*\n* `concat` drops NULL arguments, so a zero component is omitted by rendering as\n* NULL; the seconds field is taken through `numeric` because a `double\n* precision` microsecond renders in scientific notation.\n*\n* That same NULL-dropping is why the whole assembly sits under an explicit NULL\n* check: for a NULL interval every field is NULL, `concat` yields `'P'`, and the\n* zero-duration fallback below would report an absent value as a zero one.\n*/\nconst isoDurationJsonProjection = (expression) => {\n\tconst field = (name) => datePart(name, expression);\n\tconst seconds = CastExpr.as(field(\"second\"), \"numeric\");\n\tconst assembled = FunctionCallExpr.of(\"concat\", [\n\t\tLiteralExpr.of(\"P\"),\n\t\twhenNonZero(field(\"year\"), FunctionCallExpr.of(\"concat\", [field(\"year\"), LiteralExpr.of(\"Y\")])),\n\t\twhenNonZero(field(\"month\"), FunctionCallExpr.of(\"concat\", [field(\"month\"), LiteralExpr.of(\"M\")])),\n\t\twhenNonZero(field(\"day\"), FunctionCallExpr.of(\"concat\", [field(\"day\"), LiteralExpr.of(\"D\")])),\n\t\tCaseExpr.of([{\n\t\t\tcondition: OrExpr.of([\n\t\t\t\tBinaryExpr.neq(field(\"hour\"), LiteralExpr.of(0)),\n\t\t\t\tBinaryExpr.neq(field(\"minute\"), LiteralExpr.of(0)),\n\t\t\t\tBinaryExpr.neq(field(\"second\"), LiteralExpr.of(0))\n\t\t\t]),\n\t\t\tvalue: LiteralExpr.of(\"T\")\n\t\t}], LiteralExpr.of(null)),\n\t\twhenNonZero(field(\"hour\"), FunctionCallExpr.of(\"concat\", [field(\"hour\"), LiteralExpr.of(\"H\")])),\n\t\twhenNonZero(field(\"minute\"), FunctionCallExpr.of(\"concat\", [field(\"minute\"), LiteralExpr.of(\"M\")])),\n\t\twhenNonZero(field(\"second\"), FunctionCallExpr.of(\"concat\", [seconds, LiteralExpr.of(\"S\")]))\n\t]);\n\treturn CaseExpr.of([{\n\t\tcondition: NullCheckExpr.isNull(expression),\n\t\tvalue: LiteralExpr.of(null)\n\t}], FunctionCallExpr.of(\"coalesce\", [FunctionCallExpr.of(\"nullif\", [assembled, LiteralExpr.of(\"P\")]), LiteralExpr.of(\"PT0S\")]));\n};\nconst postgresSqlCharDescriptor = postgresCodec(sqlCharDescriptor, {\n\tdataType: pgChar.id,\n\tnativeType: () => \"character\",\n\tjsonProjection: identityJsonProjection\n});\nconst postgresSqlVarcharDescriptor = postgresCodec(sqlVarcharDescriptor, {\n\tdataType: pgVarchar.id,\n\tnativeType: () => \"character varying\",\n\tjsonProjection: identityJsonProjection\n});\nconst postgresSqlIntDescriptor = postgresCodec(sqlIntDescriptor, {\n\tdataType: pgInt4.id,\n\tnativeType: () => \"int4\",\n\tjsonProjection: identityJsonProjection\n});\nconst postgresSqlFloatDescriptor = postgresCodec(sqlFloatDescriptor, {\n\tdataType: pgFloat8.id,\n\tnativeType: () => \"float8\",\n\tjsonProjection: identityJsonProjection\n});\nconst postgresSqlTextDescriptor = postgresCodec(sqlTextDescriptor, {\n\tdataType: pgText.id,\n\tnativeType: () => \"text\",\n\tjsonProjection: identityJsonProjection\n});\nvar PgTextCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn blindCast(json);\n\t}\n};\nvar PgTextDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TEXT_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgText.id;\n\tcodecId = PG_TEXT_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"textual\"\n\t];\n\ttargetTypes = [\"text\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgTextCodec(this);\n\t}\n};\nconst pgTextDescriptor = new PgTextDescriptor();\nconst pgTextColumn = () => column(pgTextDescriptor.factory(), pgTextDescriptor.codecId, void 0, \"text\");\n/**\n* Codec for a `pg.enum(Ref)` column bound to a native Postgres enum type.\n* Text passthrough, identical to `pg/text@1` — encode/decode do not carry the\n* enum's member values; membership is enforced by the native type itself, not\n* by this codec. `renderValueLiteral` renders a member value as its TS\n* literal, which is what drives the column's typed value-union (via\n* `renderValueSetType` reading the column's `valueSet` ref) — the codec\n* itself carries no params of its own; typing comes entirely from the\n* column's value-set, not from `pg/enum@1`.\n*\n* A distinct codec id (rather than reusing `pg/text@1` on a plain text\n* column) keeps native-enum columns independently identifiable — from a\n* column's `codecId` alone, without also inspecting `nativeType` — which\n* the managed (DDL) phase needs to target `CREATE TYPE`/`ALTER TYPE`\n* operations at exactly the columns that use one.\n*\n* Not `textual`, although its values are strings: Postgres has no `LIKE`,\n* `ILIKE` or `to_tsvector` over an enum type.\n*/\nvar PgEnumCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn blindCast(json);\n\t}\n};\n/**\n* Narrows codec `typeParams` to {@link PgEnumParams} — the shape that binds a\n* column to a named database type (a native enum's `CREATE TYPE` name).\n*/\nfunction isPgEnumParams(value) {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value) && \"typeName\" in value && typeof value.typeName === \"string\";\n}\nconst pgEnumParamsSchema = type({ typeName: \"string\" });\nvar PgEnumDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType(params) {\n\t\treturn params.typeName;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgEnum.id;\n\tcodecId = PG_ENUM_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"text\"];\n\tparamsSchema = pgEnumParamsSchema;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgEnumCodec(this);\n\t}\n\t/**\n\t* Authoring-time hook a `pg.enum(<ref>)` type constructor calls once it has\n\t* resolved its ref argument to the referenced `native_enum` entity:\n\t* produces this codec's per-column `typeParams` and native type from the\n\t* entity's bare type name. Schema-qualification (`auth.aal_level` for a\n\t* named non-default schema) is not this hook's concern — the field's\n\t* namespace isn't known at this call site for every authoring path (the TS\n\t* builder resolves a column before it knows its model's namespace), so it is\n\t* applied later, at contract construction, by {@link qualifyNativeType} via\n\t* the target's `authoring.qualifyColumnType` hook. `nativeType` mirrors\n\t* `typeParams.typeName` — the same value `nativeTypeFor` derives at render\n\t* time — so the column's declared native type and the render-time cast\n\t* agree. Returns `undefined` if `entity` is not a `PostgresNativeEnum` (a\n\t* contributor bug, not a user-schema error — the caller decides how to\n\t* report it).\n\t*/\n\tcolumnFromEntity(entity) {\n\t\tif (!PostgresNativeEnum.is(entity)) return void 0;\n\t\treturn {\n\t\t\ttypeParams: { typeName: entity.typeName },\n\t\t\tnativeType: entity.typeName\n\t\t};\n\t}\n\t/**\n\t* Schema-qualifies this native enum type's name for the namespace the\n\t* consuming column lives in: `${namespaceId}.${typeName}` for a named\n\t* non-default schema, bare for the target's default schema (`public`) or\n\t* the late-bound unbound sentinel (whose schema `search_path` resolves at\n\t* runtime). Postgres's `format_type()` reports the bare name for a\n\t* public-schema type, so a public column's declared native type must stay\n\t* bare to match. Owned here because the codec owns its native type.\n\t*/\n\tqualifyNativeType(typeName, namespaceId) {\n\t\treturn namespaceId === \"public\" || namespaceId === UNBOUND_NAMESPACE_ID ? typeName : `${namespaceId}.${typeName}`;\n\t}\n};\nconst pgEnumDescriptor = new PgEnumDescriptor();\n/**\n* Contract-construction-time column-type qualifier the Postgres target\n* contributes through `authoring.qualifyColumnType`.\n* `buildSqlContractFromDefinition` calls this for every column as it is\n* constructed, passing the column's bare type info and its owning\n* `namespaceId`; a native-enum column (`pg/enum@1`) gets its type name\n* schema-qualified for that namespace (via\n* {@link PgEnumDescriptor.qualifyNativeType}), keeping `nativeType` and\n* `typeParams.typeName` in sync. Every other codec passes through unchanged.\n* Both the PSL `pg.enum(Ref)` path and the TS `pg.enum(handle)` path route\n* through here — the dispatch keys off the codec id, not authoring surface.\n*/\nfunction postgresQualifyColumnType(input, namespaceId) {\n\tif (input.codecId !== \"pg/enum@1\") return input;\n\tconst bareTypeName = input.typeParams?.[\"typeName\"];\n\tif (typeof bareTypeName !== \"string\") return input;\n\tconst qualified = pgEnumDescriptor.qualifyNativeType(bareTypeName, namespaceId);\n\treturn {\n\t\tnativeType: qualified,\n\t\ttypeParams: {\n\t\t\t...input.typeParams,\n\t\t\ttypeName: qualified\n\t\t}\n\t};\n}\n/**\n* Postgres `text[]` control codec. Encode is an identity pass-through: the pg\n* wire driver serialises a JS `string[]` to a Postgres array literal under the\n* `$N::text[]` cast emitted from this codec's native type. Control-plane reads\n* that need semantic arrays parse raw array text before shared validation rather\n* than decoding this whole array value. Not a user-facing scalar — it is not\n* part of the authorable `CodecTypes` surface, only the runtime codec registry.\n*/\nvar PgTextArrayCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn [...value];\n\t}\n\tdecodeJson(json) {\n\t\treturn Array.isArray(json) ? json.map((entry) => String(entry)) : [];\n\t}\n};\nvar PgTextArrayDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TEXT_ARRAY_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgTextArray.id;\n\tcodecId = PG_TEXT_ARRAY_CODEC_ID;\n\ttraits = [\"equality\"];\n\ttargetTypes = [\"text[]\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgTextArrayCodec(this);\n\t}\n};\nconst pgTextArrayDescriptor = new PgTextArrayDescriptor();\nvar PgInt4Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn blindCast(json);\n\t}\n};\nvar PgInt4Descriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INT4_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgInt4.id;\n\tcodecId = PG_INT4_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"int4\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgInt4Codec(this);\n\t}\n};\nconst pgInt4Descriptor = new PgInt4Descriptor();\nconst pgInt4Column = () => column(pgInt4Descriptor.factory(), pgInt4Descriptor.codecId, void 0, \"int4\");\nvar PgInt2Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn blindCast(json);\n\t}\n};\nvar PgInt2Descriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INT2_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgInt2.id;\n\tcodecId = PG_INT2_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"int2\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgInt2Codec(this);\n\t}\n};\nconst pgInt2Descriptor = new PgInt2Descriptor();\nconst pgInt2Column = () => column(pgInt2Descriptor.factory(), pgInt2Descriptor.codecId, void 0, \"int2\");\n/**\n* A Postgres `int8` spans the full signed 64-bit range, which a JS `number`\n* cannot hold past 2^53. Application values are `bigint` and the canonical JSON\n* is decimal text; the wire form is the decimal string `pg` reads and writes for\n* this type.\n*/\nvar PgInt8Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgBigintEncode(PG_INT8_CODEC_ID, value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgInt8Decode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgBigintEncodeJson(PG_INT8_CODEC_ID, value);\n\t}\n\tdecodeJson(json) {\n\t\tif (typeof json !== \"string\") throw postgresError(\"RUNTIME.DECODE_FAILED\", \"pg/int8@1 database JSON value must be a decimal string\", { meta: {\n\t\t\tcodecId: PG_INT8_CODEC_ID,\n\t\t\treceived: typeof json\n\t\t} });\n\t\treturn pgInt8Decode(json);\n\t}\n};\nvar PgInt8Descriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INT8_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tdataType = pgInt8.id;\n\tcodecId = PG_INT8_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"int8\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn decimalTextBigintLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgInt8Codec(this);\n\t}\n};\nconst pgInt8Descriptor = new PgInt8Descriptor();\nconst pgInt8Column = () => column(pgInt8Descriptor.factory(), pgInt8Descriptor.codecId, void 0, \"int8\");\n/**\n* A Postgres `int8` decoded as a JS `number`, for columns whose values stay\n* within the safe integer range ±(2^53 − 1). Both directions guard rather than\n* round: decode (wire and JSON) and encode throw a structured error on\n* out-of-range or non-integral input. The canonical JSON is the decimal text\n* `pg/int8` carries, which every codec of that data type shares. The descriptor\n* claims no target type, so `int8` in type position stays `pg/int8@1`.\n*/\nvar PgInt8NumberCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgInt8NumberEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgInt8NumberDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgInt8NumberEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn pgInt8NumberDecodeJson(json);\n\t}\n};\nvar PgInt8NumberDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INT8_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tdataType = pgInt8.id;\n\tcodecId = PG_INT8_NUMBER_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn decimalTextNumberLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgInt8NumberCodec(this);\n\t}\n};\nconst pgInt8NumberDescriptor = new PgInt8NumberDescriptor();\nconst pgInt8NumberColumn = () => column(pgInt8NumberDescriptor.factory(), pgInt8NumberDescriptor.codecId, void 0, \"int8\");\nvar PgFloat4Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgFloatEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgFloatEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn pgFloatDecodeJson(PG_FLOAT4_CODEC_ID, json);\n\t}\n};\nvar PgFloat4Descriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_FLOAT4_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgFloat4.id;\n\tcodecId = PG_FLOAT4_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"float4\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgFloat4Codec(this);\n\t}\n};\nconst pgFloat4Descriptor = new PgFloat4Descriptor();\nconst pgFloat4Column = () => column(pgFloat4Descriptor.factory(), pgFloat4Descriptor.codecId, void 0, \"float4\");\nvar PgFloat8Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgFloatEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgFloatEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn pgFloatDecodeJson(PG_FLOAT8_CODEC_ID, json);\n\t}\n};\nvar PgFloat8Descriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_FLOAT8_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgFloat8.id;\n\tcodecId = PG_FLOAT8_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"float8\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgFloat8Codec(this);\n\t}\n};\nconst pgFloat8Descriptor = new PgFloat8Descriptor();\nconst pgFloat8Column = () => column(pgFloat8Descriptor.factory(), pgFloat8Descriptor.codecId, void 0, \"float8\");\nvar PgBoolCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresBooleanWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn blindCast(json);\n\t}\n};\nvar PgBoolDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_BOOL_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgBool.id;\n\tcodecId = PG_BOOL_CODEC_ID;\n\ttraits = [\"equality\", \"boolean\"];\n\ttargetTypes = [\"bool\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgBoolCodec(this);\n\t}\n};\nconst pgBoolDescriptor = new PgBoolDescriptor();\nconst pgBoolColumn = () => column(pgBoolDescriptor.factory(), pgBoolDescriptor.codecId, void 0, \"bool\");\nvar PgNumericCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgNumericDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\tif (!isCanonicalNumericText(value)) throw postgresError(\"RUNTIME.ENCODE_FAILED\", \"pg/numeric@1 application value must be canonical numeric text: an optionally negated decimal numeral, or NaN, Infinity or -Infinity\", { meta: {\n\t\t\tcodecId: PG_NUMERIC_CODEC_ID,\n\t\t\treceived: value\n\t\t} });\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\tif (typeof json !== \"string\") throw postgresError(\"RUNTIME.DECODE_FAILED\", \"pg/numeric@1 database JSON value must be a decimal string\", { meta: {\n\t\t\tcodecId: PG_NUMERIC_CODEC_ID,\n\t\t\treceived: typeof json\n\t\t} });\n\t\treturn json;\n\t}\n};\nvar PgNumericDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_NUMERIC_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tdataType = pgNumeric.id;\n\tcodecId = PG_NUMERIC_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"numeric\", \"decimal\"];\n\tparamsSchema = numericParamsSchema;\n\trenderOutputType(params) {\n\t\treturn pgNumericRenderOutputType(params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgNumericCodec(this);\n\t}\n};\nconst pgNumericDescriptor = new PgNumericDescriptor();\nconst pgNumericColumn = (params = {}) => column(pgNumericDescriptor.factory(params), pgNumericDescriptor.codecId, params, \"numeric\");\n/**\n* A genuinely unbounded integer over unconstrained Postgres `numeric` storage.\n* Application values are `bigint` and the canonical JSON is decimal text, like\n* `pg/int8@1`; decode rejects non-integral values. The descriptor claims no\n* target type, so `numeric` and `decimal` in type position stay `pg/numeric@1`.\n*/\nvar PgUnboundedIntCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgBigintEncode(PG_UNBOUNDED_INT_CODEC_ID, value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgUnboundedIntDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgBigintEncodeJson(PG_UNBOUNDED_INT_CODEC_ID, value);\n\t}\n\tdecodeJson(json) {\n\t\tif (typeof json !== \"string\") throw postgresError(\"RUNTIME.DECODE_FAILED\", \"pg/unboundedint@1 database JSON value must be a decimal string\", { meta: {\n\t\t\tcodecId: PG_UNBOUNDED_INT_CODEC_ID,\n\t\t\treceived: typeof json\n\t\t} });\n\t\treturn pgUnboundedIntDecode(json);\n\t}\n};\nvar PgUnboundedIntDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_NUMERIC_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tdataType = pgNumeric.id;\n\tcodecId = PG_UNBOUNDED_INT_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn decimalTextBigintLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgUnboundedIntCodec(this);\n\t}\n};\nconst pgUnboundedIntDescriptor = new PgUnboundedIntDescriptor();\nconst pgUnboundedIntColumn = () => column(pgUnboundedIntDescriptor.factory(), pgUnboundedIntDescriptor.codecId, void 0, \"numeric\");\nvar PgTimetzCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimetzCanonical(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn blindCast(json);\n\t}\n};\nvar PgTimetzDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIMETZ_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgTimetz.id;\n\tcodecId = PG_TIMETZ_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"timetz\"];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"Timetz\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimetzCodec(this);\n\t}\n};\nconst pgTimetzDescriptor = new PgTimetzDescriptor();\nconst pgTimetzColumn = (params = {}) => column(pgTimetzDescriptor.factory(params), pgTimetzDescriptor.codecId, params, \"timetz\");\nvar PgBitCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn blindCast(json);\n\t}\n};\nvar PgBitDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_BIT_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgBit.id;\n\tcodecId = PG_BIT_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"bit\"];\n\tparamsSchema = lengthParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderLength(\"Bit\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgBitCodec(this);\n\t}\n};\nconst pgBitDescriptor = new PgBitDescriptor();\nconst pgBitColumn = (params = {}) => column(pgBitDescriptor.factory(params), pgBitDescriptor.codecId, params, \"bit\");\nvar PgVarbitCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn blindCast(json);\n\t}\n};\nvar PgVarbitDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_VARBIT_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgVarbit.id;\n\tcodecId = PG_VARBIT_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"bit varying\"];\n\tparamsSchema = lengthParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderLength(\"VarBit\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgVarbitCodec(this);\n\t}\n};\nconst pgVarbitDescriptor = new PgVarbitDescriptor();\nconst pgVarbitColumn = (params = {}) => column(pgVarbitDescriptor.factory(params), pgVarbitDescriptor.codecId, params, \"bit varying\");\nvar PgByteaCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgByteaDecodeWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgByteaEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn pgByteaDecodeJson(json);\n\t}\n};\nvar PgByteaDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_BYTEA_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn base64JsonProjection(expression);\n\t}\n\tdataType = pgBytea.id;\n\tcodecId = PG_BYTEA_CODEC_ID;\n\ttraits = [\"equality\"];\n\ttargetTypes = [\"bytea\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgByteaCodec(this);\n\t}\n};\nconst pgByteaDescriptor = new PgByteaDescriptor();\nconst PG_UUID_NATIVE_TYPE = \"uuid\";\nvar PgUuidCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn blindCast(json);\n\t}\n};\nvar PgUuidDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_UUID_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgUuid.id;\n\tcodecId = PG_UUID_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"uuid\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgUuidCodec(this);\n\t}\n};\nconst pgUuidDescriptor = new PgUuidDescriptor();\nconst pgUuidColumn = () => column(pgUuidDescriptor.factory(), pgUuidDescriptor.codecId, void 0, \"uuid\");\nconst PG_INET_NATIVE_TYPE = \"inet\";\nvar PgInetCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn blindCast(json);\n\t}\n};\nvar PgInetDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INET_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgInet.id;\n\tcodecId = PG_INET_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"inet\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgInetCodec(this);\n\t}\n};\nconst pgInetDescriptor = new PgInetDescriptor();\nconst pgInetColumn = () => column(pgInetDescriptor.factory(), pgInetDescriptor.codecId, void 0, \"inet\");\nconst PG_TSQUERY_NATIVE_TYPE = \"tsquery\";\nvar PgTsqueryCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn blindCast(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn blindCast(json);\n\t}\n};\n/**\n* The type of a full-text query: what the parsers and the tag in `full-text` return, and what a\n* `tsquery` value read back from a query binds as when passed to `fullTextMatches`, `fullTextRank`\n* or `fullTextHeadline`. It has no column helper, because a contract cannot author a `tsquery`\n* column, and no traits, because comparing or ordering queries means nothing to an application.\n*/\nvar PgTsqueryDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TSQUERY_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgTsquery.id;\n\tcodecId = PG_TSQUERY_CODEC_ID;\n\ttraits = [];\n\ttargetTypes = [\"tsquery\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgTsqueryCodec(this);\n\t}\n};\nconst pgTsqueryDescriptor = new PgTsqueryDescriptor();\n/**\n* An application value is a {@link PgInterval} — the three fields PostgreSQL\n* actually stores, `{ months, days, micros }` — and its canonical JSON is the\n* ISO-8601 duration string PostgreSQL spells under\n* `IntervalStyle = 'iso_8601'`: `P1M`, `P30D`, `P1Y2M3DT4H5M6S`, `PT0S` for\n* zero, each component carrying its own sign.\n*\n* Value and representation are independent here, as they are for `pg/bytea@1`\n* (`Uint8Array` carried as base64) and `pg/int8@1` (`bigint` carried as decimal\n* text). Reading an interval hands back numbers to compute with rather than a\n* string to parse; writing one takes the same numbers.\n*\n* The fields stay independent because a month has no fixed length: `{months: 1}`\n* and `{days: 30}` are different values and neither converts to the other. The\n* ISO rendering normalises only in its own spelling — twelve months render as a\n* year — so `{months: 13}` renders `P1Y1M` and reads back as `{months: 13}`.\n*/\nvar PgIntervalCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgIntervalToIso(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgIntervalDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgIntervalEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn pgIntervalDecodeJson(json);\n\t}\n};\nvar PgIntervalDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INTERVAL_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn isoDurationJsonProjection(expression);\n\t}\n\tdataType = pgInterval.id;\n\tcodecId = PG_INTERVAL_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"interval\"];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"Interval\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgIntervalCodec(this);\n\t}\n};\nconst pgIntervalDescriptor = new PgIntervalDescriptor();\nconst pgIntervalColumn = (params = {}) => column(pgIntervalDescriptor.factory(params), pgIntervalDescriptor.codecId, params, \"interval\");\nvar PgJsonCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgJsonEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgJsonDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar PgJsonDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_JSON_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgJson.id;\n\tcodecId = PG_JSON_CODEC_ID;\n\ttraits = [];\n\ttargetTypes = [\"json\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgJsonCodec(this);\n\t}\n};\nconst pgJsonDescriptor = new PgJsonDescriptor();\nconst pgJsonColumn = () => column(pgJsonDescriptor.factory(), pgJsonDescriptor.codecId, void 0, \"json\");\nvar PgJsonbCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgJsonbEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgJsonbDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar PgJsonbDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_JSONB_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgJsonb.id;\n\tcodecId = PG_JSONB_CODEC_ID;\n\ttraits = [\"equality\"];\n\ttargetTypes = [\"jsonb\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgJsonbCodec(this);\n\t}\n};\nconst pgJsonbDescriptor = new PgJsonbDescriptor();\nconst pgJsonbColumn = () => column(pgJsonbDescriptor.factory(), pgJsonbDescriptor.codecId, void 0, \"jsonb\");\nconst PG_CHAR_NATIVE_TYPE = \"character\";\nconst PG_VARCHAR_NATIVE_TYPE = \"character varying\";\nconst PG_INT_NATIVE_TYPE = \"integer\";\nconst PG_FLOAT_NATIVE_TYPE = \"double precision\";\nvar PgIntCodec = class extends SqlIntCodec {\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n};\nvar PgFloatCodec = class extends SqlFloatCodec {\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n};\nvar PgCharDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_CHAR_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgChar.id;\n\tcodecId = PG_CHAR_CODEC_ID;\n\ttargetTypes = [\"character\"];\n\ttraits = sqlCharDescriptor.traits;\n\tparamsSchema = sqlCharDescriptor.paramsSchema;\n\trenderOutputType(params) {\n\t\treturn sqlCharDescriptor.renderOutputType(params);\n\t}\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory(_params) {\n\t\treturn () => new SqlCharCodec(this);\n\t}\n};\nconst pgCharDescriptor = new PgCharDescriptor();\nconst pgCharColumn = (params = {}) => column(pgCharDescriptor.factory(params), pgCharDescriptor.codecId, params, \"character\");\nvar PgVarcharDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_VARCHAR_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgVarchar.id;\n\tcodecId = PG_VARCHAR_CODEC_ID;\n\ttargetTypes = [\"character varying\"];\n\ttraits = sqlVarcharDescriptor.traits;\n\tparamsSchema = sqlVarcharDescriptor.paramsSchema;\n\trenderOutputType(params) {\n\t\treturn sqlVarcharDescriptor.renderOutputType(params);\n\t}\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory(_params) {\n\t\treturn () => new SqlVarcharCodec(this);\n\t}\n};\nconst pgVarcharDescriptor = new PgVarcharDescriptor();\nconst pgVarcharColumn = (params = {}) => column(pgVarcharDescriptor.factory(params), pgVarcharDescriptor.codecId, params, \"character varying\");\nvar PgIntDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INT_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgInt4.id;\n\tcodecId = PG_INT_CODEC_ID;\n\ttargetTypes = [\"int4\"];\n\ttraits = sqlIntDescriptor.traits;\n\tparamsSchema = sqlIntDescriptor.paramsSchema;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgIntCodec(this);\n\t}\n};\nconst pgIntDescriptor = new PgIntDescriptor();\nconst pgIntColumn = () => column(pgIntDescriptor.factory(), pgIntDescriptor.codecId, void 0, \"int4\");\nvar PgFloatDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_FLOAT_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgFloat8.id;\n\tcodecId = PG_FLOAT_CODEC_ID;\n\ttargetTypes = [\"float8\"];\n\ttraits = sqlFloatDescriptor.traits;\n\tparamsSchema = sqlFloatDescriptor.paramsSchema;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgFloatCodec(this);\n\t}\n};\nconst pgFloatDescriptor = new PgFloatDescriptor();\nconst pgFloatColumn = () => column(pgFloatDescriptor.factory(), pgFloatDescriptor.codecId, void 0, \"float8\");\nconst codecDescriptors = definePostgresCodecs([\n\tpostgresSqlCharDescriptor,\n\tpostgresSqlVarcharDescriptor,\n\tpostgresSqlIntDescriptor,\n\tpostgresSqlFloatDescriptor,\n\tpostgresSqlTextDescriptor,\n\tpgTextDescriptor,\n\tpgEnumDescriptor,\n\tpgCharDescriptor,\n\tpgVarcharDescriptor,\n\tpgIntDescriptor,\n\tpgFloatDescriptor,\n\tpgInt4Descriptor,\n\tpgInt2Descriptor,\n\tpgInt8Descriptor,\n\tpgInt8NumberDescriptor,\n\tpgFloat4Descriptor,\n\tpgFloat8Descriptor,\n\tpgNumericDescriptor,\n\tpgUnboundedIntDescriptor,\n\tpgDateTemporalDescriptor,\n\tpgTimestampTemporalDescriptor,\n\tpgTimestamptzTemporalDescriptor,\n\tpgTimeTemporalDescriptor,\n\tpgDateStringDescriptor,\n\tpgTimestampStringDescriptor,\n\tpgTimestamptzStringDescriptor,\n\tpgTimestamptzDateDescriptor,\n\tpgTimeStringDescriptor,\n\tpgTimetzDescriptor,\n\tpgBoolDescriptor,\n\tpgBitDescriptor,\n\tpgVarbitDescriptor,\n\tpgByteaDescriptor,\n\tpgUuidDescriptor,\n\tpgInetDescriptor,\n\tpgIntervalDescriptor,\n\tpgJsonDescriptor,\n\tpgJsonbDescriptor,\n\tpgTextArrayDescriptor,\n\tpgTsqueryDescriptor\n]);\n//#endregion\nexport { pgTimestamptzDateDescriptor as A, pgUuidColumn as C, PgTimestamptzDateCodec as D, postgresQualifyColumnType as E, setFallbackTemporal as M, PgTimestamptzDateDescriptor as O, pgUnboundedIntColumn as S, pgVarcharColumn as T, pgJsonColumn as _, pgCharColumn as a, pgTextColumn as b, pgFloat8Column as c, pgInt2Column as d, pgInt4Column as f, pgIntervalColumn as g, pgIntColumn as h, pgBoolColumn as i, requireTemporal as j, pgTimestamptzDateColumn as k, pgFloatColumn as l, pgInt8NumberColumn as m, isPgEnumParams as n, pgEnumDescriptor as o, pgInt8Column as p, pgBitColumn as r, pgFloat4Column as s, codecDescriptors as t, pgInetColumn as u, pgJsonbColumn as v, pgVarbitColumn as w, pgTimetzColumn as x, pgNumericColumn as y };\n\n//# sourceMappingURL=codecs-DQGmsnk3.mjs.map"],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { t as PostgresPlanTargetDetails } from "./planner-target-details-HkP4RrRO-_xPQVPF0.mjs";
2
- import "./plain-date-time-now-generator-BmOTu5Au-BPhXjp4T.mjs";
3
- import { StorageColumn } from "@prisma/orm-family-sql/contract/types";
4
- import { SqlControlTargetDescriptor } from "@prisma/orm-family-sql/family/control";
5
- import { ColumnDefault } from "@prisma/orm-framework/contract/types";
6
- //#region ../../../3-targets/3-targets/postgres/dist/control.d.mts
7
- //#region src/exports/control.d.ts
8
- declare function postgresRenderDefault(def: ColumnDefault, column: StorageColumn): string;
9
- declare const postgresTargetDescriptor: SqlControlTargetDescriptor<"postgres", PostgresPlanTargetDetails, import("@prisma/orm-framework/contract/types").Contract<import("@prisma/orm-family-sql/contract/types").SqlStorage<string>>>;
10
- //#endregion
11
- export { postgresTargetDescriptor as n, postgresRenderDefault as t };
12
- //# sourceMappingURL=control-CDRHOvkm.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"control-CDRHOvkm.d.mts","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/control.d.mts"],"mappings":";;;;;;;iBAOiB,sBAAsB,KAAK,eAAe,QAAQ;cACrD,0BAA0B,uCAAuC,8DAA8D,gDAAgD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"control-DxJWBVjs.d.mts","names":[],"sources":["../../../../3-targets/6-adapters/postgres/dist/control.d.mts"],"mappings":";;;;;;;;;;;;;;;;;;cAgBc,kCAAkC;mBAC7B;WACR;WACA;EACT,YAAY,eAAe;;;;;WAKlB,yBAAyB;;;;;;WAMzB,4BAA4B;EACrC,yCAAyC;EACzC,uCAAuC;;;;;;;;;EASvC,MAAM,KAAK,cAAc,iBAAiB,SAAS,0BAA0B;;;;;;;;EAQ7E,sBAAsB,KAAK,cAAc,iBAAiB,UAAU,0BAA0B,QAAQ;;;;;;;;;EAStG,WAAW,QAAQ,sCAAsC,gBAAgB,QAAQ;EACjF,wBAAwB,QAAQ,sCAAsC,gBAAgB,QAAQ;;;;;;;EAO9F,eAAe,QAAQ,uCAAuC,QAAQ,oBAAoB;UAClF;;;;;;;EAOR,WAAW,QAAQ,sCAAsC,iBAAiB,iBAAiB;UACnF;;;;;;EAMR,aAAa,QAAQ,sCAAsC,eAAe;aAC/D;aACA;aACA;MACP;EACJ,WAAW,QAAQ,sCAAsC,eAAe;aAC7D;aACA;aACA;MACP;;;;;EAKJ,aAAa,QAAQ,sCAAsC,eAAe,sBAAsB;aACrF;aACA;aACA;MACP;;;;;;;;;EASJ,iBAAiB,QAAQ,sCAAsC,eAAe;aACnE;aACA;aACA;aACA;aACA;aACA;aACA;MACP;UACI;UACA;;;;;;;;;;;;;;;;;;;;;;;;;EAyBR,WAAW,QAAQ,sCAAsC,oBAAoB,kBAAkB,QAAQ;;;;;UAK/F;;;;;;;;;UASA;;;;;;;;UAQA;;;;;;;UAOA;;;;UAIA;;;;cAII,2BAA2B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"control-adapter-Buuq3v1c-DtBZerak.mjs","names":[],"sources":["../../../../3-targets/6-adapters/postgres/dist/control-adapter-Buuq3v1c.mjs"],"sourcesContent":["import { n as adapterError, t as renderLoweredSql } from \"./sql-renderer-CgUgFbU4.mjs\";\nimport { APP_SPACE_ID } from \"@internal/framework-components/control\";\nimport { RawExpr, isDdlNode } from \"@internal/sql-relational-core/ast\";\nimport { parsePostgresListText, postgresCodecRegistry } from \"@internal/target-postgres/codecs\";\nimport { errorMarkerRowCorrupt, rethrowMarkerReadError, withMarkerReadErrorHandling } from \"@internal/errors/execution\";\nimport { parseContractMarkerRow } from \"@internal/family-sql/verify\";\nimport { materializeCodec } from \"@internal/framework-components/codec\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\nimport { REFERENTIAL_ACTION_SQL } from \"@internal/sql-contract/referential-action-sql\";\nimport { namingOfLiveName } from \"@internal/sql-schema-ir/naming\";\nimport { RelationalSchemaNodeKind } from \"@internal/sql-schema-ir/types\";\nimport { buildControlTableBootstrapQueries, buildSignMarkerBootstrapQueries, int4, int8, jsonb, pgTable, text, textArray, timestamptz } from \"@internal/target-postgres/contract-free\";\nimport { parsePostgresDefault } from \"@internal/target-postgres/default-normalizer\";\nimport { postgresError } from \"@internal/target-postgres/errors\";\nimport { normalizeSchemaNativeType } from \"@internal/target-postgres/native-type-normalizer\";\nimport { isPostgresDateTimeDataType, postgresDateTimeDdlText, renderDefaultLiteral } from \"@internal/target-postgres/planner-ddl-builders\";\nimport { escapeLiteral, quoteIdentifier } from \"@internal/target-postgres/sql-utils\";\nimport { PostgresDatabaseSchemaNode, PostgresNamespaceSchemaNode, PostgresNativeEnumSchemaNode, PostgresPolicySchemaNode, PostgresRoleSchemaNode, PostgresSchemaNodeKind, PostgresTableSchemaNode } from \"@internal/target-postgres/types\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { createAstCodecRegistry, deriveParamMetadata, encodeParamsWithMetadata } from \"@internal/sql-runtime\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { PG_TIMESTAMPTZ_STRING_CODEC_ID } from \"@internal/target-postgres/codec-ids\";\n//#region ../../../1-framework/3-tooling/migration/dist/exports/ledger-origin.mjs\nfunction ledgerOriginFromStored(originCoreHash) {\n\tif (originCoreHash === null || originCoreHash === \"\" || originCoreHash === \"empty\") return null;\n\treturn originCoreHash;\n}\n//#endregion\n//#region src/core/control-codecs.ts\nconst CONTROL_CODECS = createAstCodecRegistry(postgresCodecRegistry);\nasync function encodeControlQueryParams(lowered, ast, codecs = CONTROL_CODECS) {\n\treturn encodeParamsWithMetadata(lowered.params.map((slot) => {\n\t\tif (slot.kind === \"literal\") return slot.value;\n\t\tthrow new InternalError(`control query lowered to a bind slot '${slot.name}', which is unsupported`);\n\t}), deriveParamMetadata(ast), {}, codecs);\n}\n//#endregion\n//#region src/core/marker-ledger.ts\nconst marker = pgTable({\n\tname: \"marker\",\n\tschema: \"prisma_contract\"\n}, {\n\tspace: text(),\n\tcore_hash: text(),\n\tprofile_hash: text(),\n\tcontract_json: jsonb({ nullable: true }),\n\tcanonical_version: int4({ nullable: true }),\n\tupdated_at: timestamptz(),\n\tapp_tag: text({ nullable: true }),\n\tmeta: jsonb({ nullable: true }),\n\tinvariants: textArray()\n});\n/**\n* Writeable subset of the `prisma_contract.ledger` table. Omits the\n* DB-generated `id` (bigserial) and `created_at` (default `now()`) so the\n* insert path doesn't have to pass them.\n*/\nconst ledger = pgTable({\n\tname: \"ledger\",\n\tschema: \"prisma_contract\"\n}, {\n\tspace: text(),\n\tmigration_name: text(),\n\tmigration_hash: text(),\n\torigin_core_hash: text({ nullable: true }),\n\tdestination_core_hash: text(),\n\toperations: jsonb()\n});\n/**\n* Content-addressed contract store: one row per distinct contract, keyed\n* by its storage hash. The ledger's `origin_core_hash` /\n* `destination_core_hash` resolve here by hash equality, so both\n* endpoints of every edge are direct lookups and a contract revisited by\n* a rollback cycle is stored exactly once (upsert DO NOTHING).\n*/\nconst ledgerContract = pgTable({\n\tname: \"contract\",\n\tschema: \"prisma_contract\"\n}, {\n\tcore_hash: text(),\n\tcontract_json: jsonb()\n});\n/**\n* Read-side handle covering every column of `prisma_contract.ledger`,\n* including the DB-generated `id` (for ORDER BY) and `created_at`.\n*/\nconst ledgerReadShape = pgTable({\n\tname: \"ledger\",\n\tschema: \"prisma_contract\"\n}, {\n\tid: int8(),\n\tspace: text(),\n\tmigration_name: text(),\n\tmigration_hash: text(),\n\torigin_core_hash: text({ nullable: true }),\n\tdestination_core_hash: text(),\n\toperations: jsonb(),\n\tcreated_at: timestamptz()\n});\nconst infoSchemaTables = pgTable({\n\tname: \"tables\",\n\tschema: \"information_schema\"\n}, {\n\ttable_schema: text(),\n\ttable_name: text()\n});\nconst NOW = new RawExpr({\n\tparts: [\"now()\"],\n\treturns: {\n\t\tcodecId: PG_TIMESTAMPTZ_STRING_CODEC_ID,\n\t\tnullable: false\n\t}\n});\nfunction mergeInvariants(current, incoming) {\n\treturn [.../* @__PURE__ */ new Set([...current, ...incoming])].sort();\n}\nasync function execute(lower, driver, query) {\n\tconst lowered = lower(query);\n\tconst encoded = await encodeControlQueryParams(lowered, query);\n\treturn (await driver.query(lowered.sql, encoded)).rows;\n}\n//#endregion\n//#region src/core/control-adapter.ts\nconst POSTGRES_MARKER_TABLE = \"prisma_contract.marker\";\nconst POSTGRES_LEDGER_TABLE = \"prisma_contract.ledger\";\nfunction markerRowDecodeWhy(detail) {\n\treturn `Invalid contract marker row: ${detail}`;\n}\nfunction decodePostgresMarkerRow(row, space) {\n\tif (typeof row !== \"object\" || row === null) {\n\t\tconst cause = /* @__PURE__ */ new TypeError(`expected object marker row, got ${typeof row}`);\n\t\tthrow errorMarkerRowCorrupt({\n\t\t\twhy: markerRowDecodeWhy(cause.message),\n\t\t\tspace,\n\t\t\tmarkerLocation: POSTGRES_MARKER_TABLE,\n\t\t\tcause\n\t\t});\n\t}\n\tconst record = blindCast(row);\n\ttry {\n\t\treturn {\n\t\t\t...record,\n\t\t\tinvariants: parsePostgresListText(record.invariants)\n\t\t};\n\t} catch (error) {\n\t\tthrow errorMarkerRowCorrupt({\n\t\t\twhy: markerRowDecodeWhy(error instanceof Error ? error.message : String(error)),\n\t\t\tspace,\n\t\t\tmarkerLocation: POSTGRES_MARKER_TABLE,\n\t\t\tcause: error\n\t\t});\n\t}\n}\n/**\n* Postgres control plane adapter for control-plane operations like introspection.\n* Provides target-specific implementations for control-plane domain actions.\n*/\nvar PostgresControlAdapter = class {\n\tcodecRegistry;\n\tfamilyId = \"sql\";\n\ttargetId = \"postgres\";\n\tconstructor(codecRegistry) {\n\t\tthis.codecRegistry = codecRegistry;\n\t}\n\t/**\n\t* Target-specific normalizer for raw Postgres default expressions.\n\t* Used by schema verification to normalize raw defaults before comparison.\n\t*/\n\tnormalizeDefault = parsePostgresDefault;\n\t/**\n\t* Target-specific normalizer for Postgres schema native type names.\n\t* Used by schema verification to normalize introspected type names\n\t* before comparison with contract native types.\n\t*/\n\tnormalizeNativeType = normalizeSchemaNativeType;\n\tbootstrapControlTableQueries() {\n\t\treturn buildControlTableBootstrapQueries();\n\t}\n\tbootstrapSignMarkerQueries() {\n\t\treturn buildSignMarkerBootstrapQueries();\n\t}\n\t/**\n\t* Lower a SQL query AST into a Postgres-flavored `{ sql, params }` payload.\n\t*\n\t* Delegates to the shared `renderLoweredSql` renderer so the control adapter\n\t* emits byte-identical SQL to `PostgresAdapterImpl.lower()` for the same AST\n\t* and contract. Used at migration plan/emit time (e.g. by `dataTransform`)\n\t* without instantiating the runtime adapter.\n\t*/\n\tlower(ast, context) {\n\t\tif (isDdlNode(ast)) throw adapterError(\"RUNTIME.DDL_UNSUPPORTED\", \"lower() cannot lower DDL: DDL default literals require inline codec encoding, which is async. Use lowerToExecuteRequest().\", { meta: { surface: \"control-adapter\" } });\n\t\treturn renderLoweredSql(ast, blindCast(context.contract), this.codecRegistry);\n\t}\n\t/**\n\t* Lower an AST all the way to a driver-ready statement. For DDL nodes,\n\t* literal column defaults are formatted as inline SQL with proper quoting and\n\t* `::nativeType` cast suffixes. For query ASTs, params are kept as `$N`\n\t* placeholders; wire values go in `params`. Does NOT call `this.lower()` —\n\t* independent implementation.\n\t*/\n\tasync lowerToExecuteRequest(ast, context) {\n\t\tif (isDdlNode(ast)) return pgRenderDdlExecuteRequest(blindCast(ast), this.codecRegistry);\n\t\tconst lowered = renderLoweredSql(ast, blindCast(context?.contract), this.codecRegistry);\n\t\tconst params = await encodeControlQueryParams(lowered, ast, blindCast(this.codecRegistry));\n\t\treturn {\n\t\t\tsql: lowered.sql,\n\t\t\tparams\n\t\t};\n\t}\n\t/**\n\t* Reads the contract marker from `prisma_contract.marker`. Probes\n\t* `information_schema.tables` first so a fresh database (where the\n\t* `prisma_contract` schema doesn't yet exist) returns `null` instead of a\n\t* \"relation does not exist\" error — some Postgres wire-protocol clients\n\t* (e.g. PGlite's TCP proxy) don't fully recover from extended-protocol\n\t* parse errors, so we probe before reading.\n\t*/\n\tasync readMarker(driver, space) {\n\t\tconst result = await this.readMarkerDiscriminated(driver, space);\n\t\treturn result.kind === \"present\" ? result.record : null;\n\t}\n\tasync readMarkerDiscriminated(driver, space) {\n\t\treturn withMarkerReadErrorHandling(() => this.readMarkerResult(driver, space), {\n\t\t\tspace,\n\t\t\tmarkerLocation: POSTGRES_MARKER_TABLE\n\t\t});\n\t}\n\t/**\n\t* Reads every row from `prisma_contract.marker` and returns them keyed\n\t* by `space`. Mirrors the existence probe in {@link readMarker}: a\n\t* fresh database without the `prisma_contract` schema returns an empty\n\t* map rather than raising \"relation does not exist\".\n\t*/\n\tasync readAllMarkers(driver) {\n\t\treturn withMarkerReadErrorHandling(() => this.readAllMarkersResult(driver), {\n\t\t\tspace: APP_SPACE_ID,\n\t\t\tmarkerLocation: POSTGRES_MARKER_TABLE\n\t\t});\n\t}\n\tasync readAllMarkersResult(driver) {\n\t\tconst lower = (query) => this.lower(query, { contract: void 0 });\n\t\tif ((await execute(lower, driver, infoSchemaTables.select(infoSchemaTables.table_schema).where(infoSchemaTables.table_schema.eq(\"prisma_contract\").and(infoSchemaTables.table_name.eq(\"marker\"))).build())).length === 0) return /* @__PURE__ */ new Map();\n\t\tawait this.assertMarkerTableHasSpaceColumn(driver, APP_SPACE_ID);\n\t\tconst rows = blindCast(await execute(lower, driver, marker.select(marker.space, marker.core_hash, marker.profile_hash, marker.contract_json, marker.canonical_version, marker.updated_at, marker.app_tag, marker.meta, marker.invariants).build()));\n\t\tconst out = /* @__PURE__ */ new Map();\n\t\tfor (const row of rows) try {\n\t\t\tconst decodedRow = decodePostgresMarkerRow(row, row.space);\n\t\t\tout.set(row.space, parseContractMarkerRow(decodedRow));\n\t\t} catch (error) {\n\t\t\trethrowMarkerReadError(error, {\n\t\t\t\tspace: row.space,\n\t\t\t\tmarkerLocation: POSTGRES_MARKER_TABLE\n\t\t\t});\n\t\t}\n\t\treturn out;\n\t}\n\t/**\n\t* Reads per-migration ledger rows from `prisma_contract.ledger` in apply\n\t* order. Probes `information_schema.tables` first so a fresh database\n\t* without the ledger table returns `[]` instead of raising \"relation does\n\t* not exist\".\n\t*/\n\tasync readLedger(driver, space) {\n\t\treturn withMarkerReadErrorHandling(() => this.readLedgerResult(driver, space), {\n\t\t\tspace: space ?? \"*\",\n\t\t\tmarkerLocation: POSTGRES_LEDGER_TABLE\n\t\t});\n\t}\n\tasync readLedgerResult(driver, space) {\n\t\tconst lower = (query) => this.lower(query, { contract: void 0 });\n\t\tif ((await execute(lower, driver, infoSchemaTables.select(infoSchemaTables.table_schema).where(infoSchemaTables.table_schema.eq(\"prisma_contract\").and(infoSchemaTables.table_name.eq(\"ledger\"))).build())).length === 0) return [];\n\t\tconst base = ledgerReadShape.select(ledgerReadShape.space, ledgerReadShape.migration_name, ledgerReadShape.migration_hash, ledgerReadShape.origin_core_hash, ledgerReadShape.destination_core_hash, ledgerReadShape.operations, ledgerReadShape.created_at);\n\t\treturn blindCast(await execute(lower, driver, (space !== void 0 ? base.where(ledgerReadShape.space.eq(space)) : base).orderBy(ledgerReadShape.id).build())).map((row) => {\n\t\t\tconst appliedAt = row.created_at instanceof Date ? row.created_at : new Date(row.created_at);\n\t\t\treturn {\n\t\t\t\tspace: row.space,\n\t\t\t\tmigrationName: row.migration_name,\n\t\t\t\tmigrationHash: row.migration_hash,\n\t\t\t\tfrom: ledgerOriginFromStored(row.origin_core_hash),\n\t\t\t\tto: row.destination_core_hash,\n\t\t\t\tappliedAt,\n\t\t\t\toperationCount: Array.isArray(row.operations) ? row.operations.length : 0\n\t\t\t};\n\t\t});\n\t}\n\t/**\n\t* Stamps the initial marker row for `space` via the shared contract-free DML\n\t* builder, lowered through {@link lower} and executed on the driver. See the\n\t* `SqlControlAdapter.initMarker` contract.\n\t*/\n\tasync insertMarker(driver, space, destination) {\n\t\tawait execute((query) => this.lower(query, { contract: void 0 }), driver, marker.insert({\n\t\t\tspace,\n\t\t\tcore_hash: destination.storageHash,\n\t\t\tprofile_hash: destination.profileHash,\n\t\t\tcontract_json: null,\n\t\t\tcanonical_version: null,\n\t\t\tupdated_at: NOW,\n\t\t\tapp_tag: null,\n\t\t\tmeta: {},\n\t\t\tinvariants: destination.invariants ?? []\n\t\t}).build());\n\t}\n\tasync initMarker(driver, space, destination) {\n\t\tawait execute((query) => this.lower(query, { contract: void 0 }), driver, marker.upsert({\n\t\t\tspace,\n\t\t\tcore_hash: destination.storageHash,\n\t\t\tprofile_hash: destination.profileHash,\n\t\t\tcontract_json: null,\n\t\t\tcanonical_version: null,\n\t\t\tupdated_at: NOW,\n\t\t\tapp_tag: null,\n\t\t\tmeta: {},\n\t\t\tinvariants: destination.invariants ?? []\n\t\t}).onConflict(marker.space).doUpdate((excluded) => ({\n\t\t\tcore_hash: excluded.core_hash,\n\t\t\tprofile_hash: excluded.profile_hash,\n\t\t\tcontract_json: excluded.contract_json,\n\t\t\tcanonical_version: excluded.canonical_version,\n\t\t\tupdated_at: NOW,\n\t\t\tapp_tag: excluded.app_tag,\n\t\t\tmeta: excluded.meta,\n\t\t\tinvariants: excluded.invariants\n\t\t})).build());\n\t}\n\t/**\n\t* Compare-and-swap advance of the marker row for `space`. See the\n\t* `SqlControlAdapter.updateMarker` contract.\n\t*/\n\tasync updateMarker(driver, space, expectedFrom, destination) {\n\t\tconst currentInvariants = destination.invariants === void 0 ? [] : (await this.readMarker(driver, space))?.invariants ?? [];\n\t\tconst mergedInvariants = destination.invariants === void 0 ? void 0 : mergeInvariants(currentInvariants, destination.invariants);\n\t\treturn (await execute((q) => this.lower(q, { contract: void 0 }), driver, marker.update().set({\n\t\t\tcore_hash: destination.storageHash,\n\t\t\tprofile_hash: destination.profileHash,\n\t\t\tupdated_at: NOW,\n\t\t\t...mergedInvariants !== void 0 ? { invariants: mergedInvariants } : {}\n\t\t}).where(marker.space.eq(space).and(marker.core_hash.eq(expectedFrom))).returning(marker.space).build())).length > 0;\n\t}\n\t/**\n\t* Appends a ledger entry for `space`. When the edge carries a\n\t* destination contract snapshot, the content-addressed\n\t* `prisma_contract.contract` store is populated first (keyed by the\n\t* destination hash, DO NOTHING on revisit) so a reader never sees a\n\t* ledger row whose stored destination contract is missing. See the\n\t* `SqlControlAdapter.writeLedgerEntry` contract.\n\t*/\n\tasync writeLedgerEntry(driver, space, entry) {\n\t\tconst lower = (query) => this.lower(query, { contract: void 0 });\n\t\tif (entry.destinationContractJson !== void 0) await execute(lower, driver, ledgerContract.upsert({\n\t\t\tcore_hash: entry.to,\n\t\t\tcontract_json: entry.destinationContractJson\n\t\t}).onConflict(ledgerContract.core_hash).doNothing().build());\n\t\tawait execute(lower, driver, ledger.insert({\n\t\t\tspace,\n\t\t\tmigration_name: entry.migrationName,\n\t\t\tmigration_hash: entry.migrationHash,\n\t\t\torigin_core_hash: entry.from,\n\t\t\tdestination_core_hash: entry.to,\n\t\t\toperations: entry.operations\n\t\t}).build());\n\t}\n\tasync assertMarkerTableHasSpaceColumn(driver, space) {\n\t\tconst rows = (await driver.query(`select column_name\n from information_schema.columns\n where table_schema = 'prisma_contract'\n and table_name = 'marker'`)).rows;\n\t\tif (rows.length === 0) return;\n\t\tif (!rows.every((row) => typeof row.column_name === \"string\")) return;\n\t\tif (rows.some((row) => row.column_name === \"space\")) return;\n\t\trethrowMarkerReadError(/* @__PURE__ */ new Error(\"column \\\"space\\\" does not exist\"), {\n\t\t\tspace,\n\t\t\tmarkerLocation: POSTGRES_MARKER_TABLE\n\t\t});\n\t}\n\tasync readMarkerResult(driver, space) {\n\t\tconst lower = (query) => this.lower(query, { contract: void 0 });\n\t\tif ((await execute(lower, driver, infoSchemaTables.select(infoSchemaTables.table_schema).where(infoSchemaTables.table_schema.eq(\"prisma_contract\").and(infoSchemaTables.table_name.eq(\"marker\"))).build())).length === 0) return { kind: \"no-table\" };\n\t\tawait this.assertMarkerTableHasSpaceColumn(driver, space);\n\t\tconst row = (await execute(lower, driver, marker.select(marker.core_hash, marker.profile_hash, marker.contract_json, marker.canonical_version, marker.updated_at, marker.app_tag, marker.meta, marker.invariants).where(marker.space.eq(space)).build()))[0];\n\t\tif (!row) return { kind: \"absent\" };\n\t\ttry {\n\t\t\treturn {\n\t\t\t\tkind: \"present\",\n\t\t\t\trecord: parseContractMarkerRow(decodePostgresMarkerRow(row, space))\n\t\t\t};\n\t\t} catch (error) {\n\t\t\trethrowMarkerReadError(error, {\n\t\t\t\tspace,\n\t\t\t\tmarkerLocation: POSTGRES_MARKER_TABLE\n\t\t\t});\n\t\t}\n\t}\n\t/**\n\t* Introspects a Postgres database schema and returns a raw SqlSchemaIR.\n\t*\n\t* This is a pure schema discovery operation that queries the Postgres catalog\n\t* and returns the schema structure without type mapping or contract enrichment.\n\t* Type mapping and enrichment are handled separately by enrichment helpers.\n\t*\n\t* When `contract` is provided and its storage declares more than one\n\t* namespace (or any explicit bound namespace), the adapter walks every\n\t* declared namespace and merges the per-schema introspection results\n\t* into a single `SqlSchemaIR`. `UNBOUND_NAMESPACE_ID` resolves to the\n\t* connection's `current_schema()` so late-bound tables follow the\n\t* runtime `search_path`. When no contract is passed, the adapter falls\n\t* back to introspecting the single `schema` argument (defaulting to\n\t* `'public'`).\n\t*\n\t* Uses batched queries to minimize database round trips (6 queries per\n\t* schema walked).\n\t*\n\t* @param driver - SqlControlDriverInstance<'postgres'> instance for executing queries\n\t* @param contract - Optional contract for contract-guided introspection (multi-namespace walk, filtering)\n\t* @param schema - Schema name to introspect when no contract is provided (defaults to 'public')\n\t* @returns Promise resolving to SqlSchemaIR representing the live database schema\n\t*/\n\tasync introspect(driver, contract, schema = \"public\") {\n\t\treturn readWithDefaultOutputSettings(driver, async () => {\n\t\t\tconst declaredNamespaces = extractContractNamespaceIds(contract);\n\t\t\tconst resolvedSchemas = declaredNamespaces.length > 0 ? await this.resolveNamespaceSchemas(driver, declaredNamespaces) : [schema];\n\t\t\tconst namespaces = {};\n\t\t\tlet pgVersion = \"unknown\";\n\t\t\tfor (const resolved of resolvedSchemas) {\n\t\t\t\tconst { namespace, pgVersion: version } = await this.introspectSchema(driver, resolved);\n\t\t\t\tnamespaces[resolved] = namespace;\n\t\t\t\tpgVersion = version;\n\t\t\t}\n\t\t\treturn new PostgresDatabaseSchemaNode({\n\t\t\t\tnamespaces,\n\t\t\t\troles: await this.introspectRoles(driver),\n\t\t\t\texistingSchemas: await this.listExistingSchemas(driver),\n\t\t\t\tpgVersion\n\t\t\t});\n\t\t});\n\t}\n\t/**\n\t* Reads cluster-scoped database roles. Roles are not schema-qualified, so\n\t* this is queried once for the whole database rather than per namespace.\n\t*/\n\tasync introspectRoles(driver) {\n\t\treturn (await driver.query(`SELECT rolname\n FROM pg_catalog.pg_roles\n WHERE rolname NOT LIKE 'pg_%'\n AND rolname != 'postgres'\n ORDER BY rolname`)).rows.map((row) => new PostgresRoleSchemaNode({\n\t\t\tname: row.rolname,\n\t\t\tnamespaceId: UNBOUND_NAMESPACE_ID\n\t\t}));\n\t}\n\t/**\n\t* Lists every non-system schema present in the connected database.\n\t* The introspection consumer (`verifyPostgresNamespacePresence`)\n\t* treats the result as the authoritative ground truth — declared\n\t* namespaces whose `ddlSchemaName` is missing from this list become\n\t* `missing_schema` issues, and the planner emits the matching\n\t* `CREATE SCHEMA` before table DDL.\n\t*/\n\tasync listExistingSchemas(driver) {\n\t\treturn (await driver.query(`SELECT nspname\n FROM pg_catalog.pg_namespace\n WHERE nspname NOT IN ('pg_catalog', 'information_schema', 'pg_toast')\n AND nspname NOT LIKE 'pg_temp_%'\n AND nspname NOT LIKE 'pg_toast_temp_%'\n ORDER BY nspname`)).rows.map((row) => row.nspname);\n\t}\n\t/**\n\t* Resolves the declared namespace ids to their live DDL schema names,\n\t* mapping `UNBOUND_NAMESPACE_ID` to the connection's `current_schema()`\n\t* and de-duplicating. The caller introspects one namespace node per\n\t* resolved schema — there is no flat cross-schema merge, so two schemas\n\t* holding a same-named table no longer collide.\n\t*/\n\tasync resolveNamespaceSchemas(driver, namespaceIds) {\n\t\tconst resolvedSchemas = [];\n\t\tfor (const id of namespaceIds) if (id === UNBOUND_NAMESPACE_ID) {\n\t\t\tconst { rows } = await driver.query(\"SELECT current_schema() AS current_schema\");\n\t\t\tresolvedSchemas.push(rows[0]?.current_schema ?? \"public\");\n\t\t} else resolvedSchemas.push(id);\n\t\treturn Array.from(new Set(resolvedSchemas));\n\t}\n\t/**\n\t* Introspects a single Postgres schema and returns the namespace node for\n\t* that schema (its tables, their policies, and its native enum type names),\n\t* alongside the cluster-scoped Postgres version. Used by `introspect` as\n\t* the per-namespace walk.\n\t*/\n\tasync introspectSchema(driver, schema) {\n\t\tconst tablesResult = await driver.query(`SELECT table_name\n FROM information_schema.tables\n WHERE table_schema = $1\n AND table_type = 'BASE TABLE'\n ORDER BY table_name`, [schema]);\n\t\tconst columnsResult = await driver.query(`SELECT\n c.table_name,\n column_name,\n data_type,\n udt_name,\n is_nullable,\n character_maximum_length,\n numeric_precision,\n numeric_scale,\n column_default,\n format_type(a.atttypid, a.atttypmod) AS formatted_type,\n a.attidentity\n FROM information_schema.columns c\n JOIN pg_catalog.pg_class cl\n ON cl.relname = c.table_name\n JOIN pg_catalog.pg_namespace ns\n ON ns.nspname = c.table_schema\n AND ns.oid = cl.relnamespace\n JOIN pg_catalog.pg_attribute a\n ON a.attrelid = cl.oid\n AND a.attname = c.column_name\n AND a.attnum > 0\n AND NOT a.attisdropped\n WHERE c.table_schema = $1\n ORDER BY c.table_name, c.ordinal_position`, [schema]);\n\t\tconst pkResult = await driver.query(`SELECT\n cl.relname AS table_name,\n con.conname AS constraint_name,\n a.attname AS column_name,\n k.ord AS ordinal_position\n FROM pg_catalog.pg_constraint con\n JOIN pg_catalog.pg_class cl ON cl.oid = con.conrelid\n JOIN pg_catalog.pg_namespace ns ON ns.oid = cl.relnamespace\n JOIN LATERAL unnest(con.conkey) WITH ORDINALITY AS k(attnum, ord) ON true\n JOIN pg_catalog.pg_attribute a\n ON a.attrelid = con.conrelid\n AND a.attnum = k.attnum\n WHERE ns.nspname = $1\n AND con.contype = 'p'\n ORDER BY cl.relname, k.ord`, [schema]);\n\t\tconst fkResult = await driver.query(`SELECT\n cl.relname AS table_name,\n con.conname AS constraint_name,\n a.attname AS column_name,\n k.ord AS ordinal_position,\n ref_ns.nspname AS referenced_table_schema,\n ref_cl.relname AS referenced_table_name,\n ref_att.attname AS referenced_column_name,\n CASE con.confdeltype\n WHEN 'a' THEN 'NO ACTION'\n WHEN 'r' THEN 'RESTRICT'\n WHEN 'c' THEN 'CASCADE'\n WHEN 'n' THEN 'SET NULL'\n WHEN 'd' THEN 'SET DEFAULT'\n END AS delete_rule,\n CASE con.confupdtype\n WHEN 'a' THEN 'NO ACTION'\n WHEN 'r' THEN 'RESTRICT'\n WHEN 'c' THEN 'CASCADE'\n WHEN 'n' THEN 'SET NULL'\n WHEN 'd' THEN 'SET DEFAULT'\n END AS update_rule\n FROM pg_catalog.pg_constraint con\n JOIN pg_catalog.pg_class cl ON cl.oid = con.conrelid\n JOIN pg_catalog.pg_namespace ns ON ns.oid = cl.relnamespace\n JOIN LATERAL unnest(con.conkey) WITH ORDINALITY AS k(attnum, ord) ON true\n JOIN pg_catalog.pg_attribute a\n ON a.attrelid = con.conrelid\n AND a.attnum = k.attnum\n JOIN pg_catalog.pg_class ref_cl\n ON ref_cl.oid = con.confrelid\n JOIN pg_catalog.pg_namespace ref_ns\n ON ref_ns.oid = ref_cl.relnamespace\n JOIN pg_catalog.pg_attribute ref_att\n ON ref_att.attrelid = con.confrelid\n AND ref_att.attnum = con.confkey[k.ord]\n WHERE ns.nspname = $1\n AND con.contype = 'f'\n ORDER BY cl.relname, con.conname, k.ord`, [schema]);\n\t\tconst uniqueResult = await driver.query(`SELECT\n cl.relname AS table_name,\n con.conname AS constraint_name,\n a.attname AS column_name,\n k.ord AS ordinal_position\n FROM pg_catalog.pg_constraint con\n JOIN pg_catalog.pg_class cl ON cl.oid = con.conrelid\n JOIN pg_catalog.pg_namespace ns ON ns.oid = cl.relnamespace\n JOIN LATERAL unnest(con.conkey) WITH ORDINALITY AS k(attnum, ord) ON true\n JOIN pg_catalog.pg_attribute a\n ON a.attrelid = con.conrelid\n AND a.attnum = k.attnum\n WHERE ns.nspname = $1\n AND con.contype = 'u'\n ORDER BY cl.relname, con.conname, k.ord`, [schema]);\n\t\tconst indexResult = await driver.query(`SELECT\n i.tablename,\n i.indexname,\n ix.indisunique,\n pg_get_expr(ix.indpred, ix.indrelid) AS where_predicate,\n a.attname,\n CASE WHEN 0 = ANY(ix.indkey::int[]) THEN pg_get_indexdef(ix.indexrelid, k.ord::int, true) END AS element_def,\n k.ord AS index_position,\n am.amname,\n ic.reloptions\n FROM pg_indexes i\n JOIN pg_class ic ON ic.relname = i.indexname\n JOIN pg_namespace ins ON ins.oid = ic.relnamespace AND ins.nspname = $1\n JOIN pg_index ix ON ix.indexrelid = ic.oid\n JOIN pg_am am ON am.oid = ic.relam\n JOIN pg_class t ON t.oid = ix.indrelid\n JOIN pg_namespace tn ON tn.oid = t.relnamespace AND tn.nspname = $1\n JOIN LATERAL unnest(ix.indkey::int[]) WITH ORDINALITY AS k(attnum, ord) ON true\n LEFT JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = k.attnum AND a.attnum > 0\n WHERE i.schemaname = $1\n AND NOT EXISTS (\n SELECT 1\n FROM pg_catalog.pg_constraint con\n WHERE con.conindid = ic.oid\n AND con.contype IN ('p', 'u', 'x')\n )\n ORDER BY i.tablename, i.indexname, k.ord`, [schema]);\n\t\tconst checkResult = await driver.query(`SELECT\n cl.relname AS table_name,\n c.conname AS constraint_name,\n pg_get_expr(c.conbin, c.conrelid) AS check_expression\n FROM pg_catalog.pg_constraint c\n JOIN pg_catalog.pg_class cl ON cl.oid = c.conrelid\n JOIN pg_catalog.pg_namespace ns ON ns.oid = cl.relnamespace\n WHERE ns.nspname = $1\n AND c.contype = 'c'\n AND c.conislocal\n AND c.conrelid <> 0\n ORDER BY cl.relname, c.conname`, [schema]);\n\t\tconst columnsByTable = groupBy(columnsResult.rows, \"table_name\");\n\t\tconst pksByTable = groupBy(pkResult.rows, \"table_name\");\n\t\tconst fksByTable = groupBy(fkResult.rows, \"table_name\");\n\t\tconst uniquesByTable = groupBy(uniqueResult.rows, \"table_name\");\n\t\tconst indexesByTable = groupBy(indexResult.rows, \"tablename\");\n\t\tconst checksByTable = groupBy(checkResult.rows, \"table_name\");\n\t\tconst pkConstraintsByTable = /* @__PURE__ */ new Map();\n\t\tfor (const row of pkResult.rows) {\n\t\t\tlet constraints = pkConstraintsByTable.get(row.table_name);\n\t\t\tif (!constraints) {\n\t\t\t\tconstraints = /* @__PURE__ */ new Set();\n\t\t\t\tpkConstraintsByTable.set(row.table_name, constraints);\n\t\t\t}\n\t\t\tconstraints.add(row.constraint_name);\n\t\t}\n\t\tconst tableInputs = {};\n\t\tfor (const tableRow of tablesResult.rows) {\n\t\t\tconst tableName = tableRow.table_name;\n\t\t\tconst columns = {};\n\t\t\tfor (const colRow of columnsByTable.get(tableName) ?? []) {\n\t\t\t\tlet nativeType = colRow.udt_name;\n\t\t\t\tconst formattedType = colRow.formatted_type ? normalizeFormattedType(colRow.formatted_type, colRow.data_type, colRow.udt_name) : null;\n\t\t\t\tif (formattedType) nativeType = formattedType;\n\t\t\t\telse if (colRow.data_type === \"character varying\" || colRow.data_type === \"character\") if (colRow.character_maximum_length) nativeType = `${colRow.data_type}(${colRow.character_maximum_length})`;\n\t\t\t\telse nativeType = colRow.data_type;\n\t\t\t\telse if (colRow.data_type === \"numeric\" || colRow.data_type === \"decimal\") if (colRow.numeric_precision && colRow.numeric_scale !== null) nativeType = `${colRow.data_type}(${colRow.numeric_precision},${colRow.numeric_scale})`;\n\t\t\t\telse if (colRow.numeric_precision) nativeType = `${colRow.data_type}(${colRow.numeric_precision})`;\n\t\t\t\telse nativeType = colRow.data_type;\n\t\t\t\telse nativeType = colRow.udt_name || colRow.data_type;\n\t\t\t\tconst many = nativeType.endsWith(\"[]\") ? true : void 0;\n\t\t\t\tif (many) nativeType = normalizeSchemaNativeType(nativeType.slice(0, -2));\n\t\t\t\tconst resolvedNativeType = `${normalizeSchemaNativeType(nativeType)}${many ? \"[]\" : \"\"}`;\n\t\t\t\tconst rawDefault = colRow.column_default ?? void 0;\n\t\t\t\tconst resolvedDefault = colRow.attidentity === \"a\" || colRow.attidentity === \"d\" ? {\n\t\t\t\t\tkind: \"function\",\n\t\t\t\t\texpression: \"autoincrement()\"\n\t\t\t\t} : rawDefault !== void 0 ? parsePostgresDefault(rawDefault, resolvedNativeType) : void 0;\n\t\t\t\tcolumns[colRow.column_name] = {\n\t\t\t\t\tname: colRow.column_name,\n\t\t\t\t\tnativeType,\n\t\t\t\t\tnullable: colRow.is_nullable === \"YES\",\n\t\t\t\t\t...ifDefined(\"default\", rawDefault),\n\t\t\t\t\t...ifDefined(\"many\", many),\n\t\t\t\t\tresolvedNativeType,\n\t\t\t\t\t...ifDefined(\"resolvedDefault\", resolvedDefault)\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst pkRows = [...pksByTable.get(tableName) ?? []];\n\t\t\tconst primaryKeyColumns = pkRows.sort((a, b) => a.ordinal_position - b.ordinal_position).map((row) => row.column_name);\n\t\t\tconst primaryKey = primaryKeyColumns.length > 0 ? {\n\t\t\t\tcolumns: primaryKeyColumns,\n\t\t\t\t...pkRows[0]?.constraint_name ? { name: pkRows[0].constraint_name } : {},\n\t\t\t\tdependsOn: postgresColumnDependsOn(schema, tableName, primaryKeyColumns)\n\t\t\t} : void 0;\n\t\t\tconst foreignKeysMap = /* @__PURE__ */ new Map();\n\t\t\tfor (const fkRow of fksByTable.get(tableName) ?? []) {\n\t\t\t\tconst existing = foreignKeysMap.get(fkRow.constraint_name);\n\t\t\t\tif (existing) {\n\t\t\t\t\texisting.columns.push(fkRow.column_name);\n\t\t\t\t\texisting.referencedColumns.push(fkRow.referenced_column_name);\n\t\t\t\t} else foreignKeysMap.set(fkRow.constraint_name, {\n\t\t\t\t\tcolumns: [fkRow.column_name],\n\t\t\t\t\treferencedTable: fkRow.referenced_table_name,\n\t\t\t\t\treferencedSchema: fkRow.referenced_table_schema,\n\t\t\t\t\treferencedColumns: [fkRow.referenced_column_name],\n\t\t\t\t\tname: fkRow.constraint_name,\n\t\t\t\t\tdeleteRule: fkRow.delete_rule,\n\t\t\t\t\tupdateRule: fkRow.update_rule\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst foreignKeys = Array.from(foreignKeysMap.values()).map((fk) => ({\n\t\t\t\tcolumns: freezeStringArray(fk.columns),\n\t\t\t\treferencedTable: fk.referencedTable,\n\t\t\t\treferencedSchema: fk.referencedSchema,\n\t\t\t\treferencedColumns: freezeStringArray(fk.referencedColumns),\n\t\t\t\tname: fk.name,\n\t\t\t\t...ifDefined(\"onDelete\", mapReferentialAction(fk.deleteRule)),\n\t\t\t\t...ifDefined(\"onUpdate\", mapReferentialAction(fk.updateRule)),\n\t\t\t\tdependsOn: [postgresTableDependsOn(fk.referencedSchema, fk.referencedTable), ...postgresColumnDependsOn(schema, tableName, fk.columns)]\n\t\t\t}));\n\t\t\tconst pkConstraints = pkConstraintsByTable.get(tableName) ?? /* @__PURE__ */ new Set();\n\t\t\tconst uniquesMap = /* @__PURE__ */ new Map();\n\t\t\tfor (const uniqueRow of uniquesByTable.get(tableName) ?? []) {\n\t\t\t\tif (pkConstraints.has(uniqueRow.constraint_name)) continue;\n\t\t\t\tconst existing = uniquesMap.get(uniqueRow.constraint_name);\n\t\t\t\tif (existing) existing.columns.push(uniqueRow.column_name);\n\t\t\t\telse uniquesMap.set(uniqueRow.constraint_name, {\n\t\t\t\t\tcolumns: [uniqueRow.column_name],\n\t\t\t\t\tname: uniqueRow.constraint_name\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst uniques = Array.from(uniquesMap.values()).map((uq) => ({\n\t\t\t\tcolumns: freezeStringArray(uq.columns),\n\t\t\t\tname: uq.name,\n\t\t\t\tdependsOn: postgresColumnDependsOn(schema, tableName, uq.columns)\n\t\t\t}));\n\t\t\tconst indexesMap = /* @__PURE__ */ new Map();\n\t\t\tfor (const idxRow of indexesByTable.get(tableName) ?? []) {\n\t\t\t\tconst existing = indexesMap.get(idxRow.indexname);\n\t\t\t\tif (existing) existing.elements.push({\n\t\t\t\t\tattname: idxRow.attname,\n\t\t\t\t\telementDef: idxRow.element_def\n\t\t\t\t});\n\t\t\t\telse {\n\t\t\t\t\tconst indexType = idxRow.amname ?? void 0;\n\t\t\t\t\tconst indexOptions = parsePgReloptions(idxRow.reloptions, idxRow.indexname);\n\t\t\t\t\tindexesMap.set(idxRow.indexname, {\n\t\t\t\t\t\tname: idxRow.indexname,\n\t\t\t\t\t\telements: [{\n\t\t\t\t\t\t\tattname: idxRow.attname,\n\t\t\t\t\t\t\telementDef: idxRow.element_def\n\t\t\t\t\t\t}],\n\t\t\t\t\t\tunique: idxRow.indisunique,\n\t\t\t\t\t\twhere: idxRow.where_predicate,\n\t\t\t\t\t\ttype: indexType,\n\t\t\t\t\t\toptions: indexOptions\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst indexes = Array.from(indexesMap.values()).map((idx) => {\n\t\t\t\tconst isExpression = idx.elements.some((el) => el.attname === null);\n\t\t\t\tconst columnNames = idx.elements.flatMap((el) => el.attname !== null ? [el.attname] : []);\n\t\t\t\tconst base = {\n\t\t\t\t\tnaming: namingOfLiveName(idx.name),\n\t\t\t\t\twhere: idx.where ?? void 0,\n\t\t\t\t\tunique: idx.unique,\n\t\t\t\t\tpartial: idx.where !== null,\n\t\t\t\t\ttype: idx.type,\n\t\t\t\t\toptions: idx.options,\n\t\t\t\t\tannotations: void 0,\n\t\t\t\t\tdependsOn: postgresColumnDependsOn(schema, tableName, isExpression ? Object.keys(columns) : columnNames)\n\t\t\t\t};\n\t\t\t\treturn isExpression ? {\n\t\t\t\t\t...base,\n\t\t\t\t\texpression: idx.elements.map((el) => el.elementDef ?? \"\").join(\", \")\n\t\t\t\t} : {\n\t\t\t\t\t...base,\n\t\t\t\t\tcolumns: Object.freeze([...columnNames])\n\t\t\t\t};\n\t\t\t});\n\t\t\tconst checksForTable = (checksByTable.get(tableName) ?? []).map((checkRow) => ({\n\t\t\t\tnaming: namingOfLiveName(checkRow.constraint_name),\n\t\t\t\texpression: checkRow.check_expression,\n\t\t\t\tdependsOn: postgresColumnDependsOn(schema, tableName, Object.keys(columns))\n\t\t\t}));\n\t\t\ttableInputs[tableName] = {\n\t\t\t\tname: tableName,\n\t\t\t\tcolumns,\n\t\t\t\t...ifDefined(\"primaryKey\", primaryKey),\n\t\t\t\tforeignKeys,\n\t\t\t\tuniques,\n\t\t\t\tindexes,\n\t\t\t\t...ifDefined(\"checks\", checksForTable.length > 0 ? checksForTable : void 0)\n\t\t\t};\n\t\t}\n\t\tconst enums = (await driver.query(`SELECT t.typname, array_agg(e.enumlabel ORDER BY e.enumsortorder) AS enumvalues\n FROM pg_catalog.pg_type t\n JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace\n JOIN pg_catalog.pg_enum e ON e.enumtypid = t.oid\n WHERE t.typtype = 'e'\n AND n.nspname = $1\n GROUP BY t.typname\n ORDER BY t.typname`, [schema])).rows.map((r) => new PostgresNativeEnumSchemaNode({\n\t\t\ttypeName: r.typname,\n\t\t\tnamespaceId: schema,\n\t\t\tmembers: parsePgNameArray(r.enumvalues)\n\t\t}));\n\t\tconst policiesResult = await driver.query(`SELECT schemaname, tablename, policyname, cmd, roles, qual, with_check, permissive\n FROM pg_catalog.pg_policies\n WHERE schemaname = $1\n ORDER BY tablename, policyname`, [schema]);\n\t\tconst policiesByTable = /* @__PURE__ */ new Map();\n\t\tfor (const row of policiesResult.rows) {\n\t\t\tconst operation = mapPgCmd(row.cmd);\n\t\t\tconst policyRoles = [...new Set(parsePgNameArray(row.roles).map((r) => r.toLowerCase()))].sort();\n\t\t\tconst permissive = row.permissive.toUpperCase() === \"PERMISSIVE\";\n\t\t\tconst policy = new PostgresPolicySchemaNode({\n\t\t\t\tnaming: namingOfLiveName(row.policyname),\n\t\t\t\ttableName: row.tablename,\n\t\t\t\tnamespaceId: row.schemaname,\n\t\t\t\toperation,\n\t\t\t\troles: policyRoles,\n\t\t\t\tusing: row.qual ?? void 0,\n\t\t\t\twithCheck: row.with_check ?? void 0,\n\t\t\t\tpermissive,\n\t\t\t\tdependsOn: [postgresTableDependsOn(row.schemaname, row.tablename), ...policyRoles.map(postgresRoleDependsOn)]\n\t\t\t});\n\t\t\tconst list = policiesByTable.get(row.tablename) ?? [];\n\t\t\tlist.push(policy);\n\t\t\tpoliciesByTable.set(row.tablename, list);\n\t\t}\n\t\tconst rlsEnabledResult = await driver.query(`SELECT c.relname AS tablename, c.relrowsecurity AS rls_enabled\n FROM pg_catalog.pg_class c\n JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n WHERE n.nspname = $1\n AND c.relkind IN ('r', 'p')\n ORDER BY c.relname`, [schema]);\n\t\tconst rlsEnabledByTable = new Map(rlsEnabledResult.rows.map((row) => [row.tablename, row.rls_enabled]));\n\t\tconst tables = {};\n\t\tfor (const [tableName, input] of Object.entries(tableInputs)) tables[tableName] = new PostgresTableSchemaNode({\n\t\t\t...input,\n\t\t\tpolicies: policiesByTable.get(tableName) ?? [],\n\t\t\trlsEnabled: rlsEnabledByTable.get(tableName) ?? false\n\t\t});\n\t\treturn {\n\t\t\tnamespace: new PostgresNamespaceSchemaNode({\n\t\t\t\tschemaName: schema,\n\t\t\t\ttables,\n\t\t\t\tnativeEnums: enums\n\t\t\t}),\n\t\t\tpgVersion: await this.getPostgresVersion(driver)\n\t\t};\n\t}\n\t/**\n\t* Gets the Postgres version from the database.\n\t*/\n\tasync getPostgresVersion(driver) {\n\t\treturn ((await driver.query(\"SELECT version() AS version\", [])).rows[0]?.version ?? \"\").match(/PostgreSQL (\\d+\\.\\d+)/)?.[1] ?? \"unknown\";\n\t}\n};\n/**\n* Normalises a `name[]` column value from Postgres catalog views such as\n* `pg_policies.roles` and aggregate queries over `pg_enum.enumlabel`.\n*\n* Control-plane queries use the Postgres driver's raw-text parser policy for\n* array OIDs, so this helper accepts raw Postgres array literals only. A native\n* JS array at this boundary means the caller bypassed target-owned framing and\n* is rejected rather than normalized as a second representation.\n*\n* The parser honors Postgres array-literal quoting: an element\n* containing a comma, quote, backslash, brace, or significant whitespace is\n* emitted double-quoted with `\\\"` / `\\\\` escapes, and unquoted elements are\n* whitespace-trimmed — so a label like `in progress` or `say \"hi\"` parses to\n* its true value instead of being split or kept escaped.\n*/\nfunction parsePgNameArray(value) {\n\tif (Array.isArray(value)) throw new TypeError(`expected raw text for a Postgres array, got ${typeof value}`);\n\tif (typeof value !== \"string\") return [];\n\treturn parsePostgresListText(value).map((entry) => String(entry));\n}\n/**\n* Maps `pg_policies.cmd` text values to the `RlsPolicyOperation` union.\n* The `pg_policies` view renders the internal command code as an uppercase\n* English keyword; this function lowercases to match the IR type.\n*/\nfunction mapPgCmd(cmd) {\n\tswitch (cmd.toUpperCase()) {\n\t\tcase \"SELECT\": return \"select\";\n\t\tcase \"INSERT\": return \"insert\";\n\t\tcase \"UPDATE\": return \"update\";\n\t\tcase \"DELETE\": return \"delete\";\n\t\tdefault: return \"all\";\n\t}\n}\n/**\n* Extracts the namespace coordinate ids declared on a contract's storage,\n* or returns an empty array when no contract (or no storage / namespaces)\n* is present. Used by `PostgresControlAdapter.introspect` to decide\n* between the multi-namespace walk and the single-schema fallback.\n*/\nfunction isRecord(value) {\n\treturn typeof value === \"object\" && value !== null;\n}\nfunction freezeStringArray(values) {\n\treturn Object.freeze([...values]);\n}\nfunction extractContractNamespaceIds(contract) {\n\tif (!isRecord(contract)) return [];\n\tconst storage = contract[\"storage\"];\n\tif (!isRecord(storage)) return [];\n\tconst namespaces = storage[\"namespaces\"];\n\tif (!isRecord(namespaces)) return [];\n\treturn Object.keys(namespaces);\n}\nfunction normalizeFormattedType(formattedType, dataType, udtName) {\n\tif (formattedType.endsWith(\"[]\")) return `${normalizeFormattedType(formattedType.slice(0, -2), dataType, udtName)}[]`;\n\tif (formattedType === \"integer\") return \"int4\";\n\tif (formattedType === \"smallint\") return \"int2\";\n\tif (formattedType === \"bigint\") return \"int8\";\n\tif (formattedType === \"real\") return \"float4\";\n\tif (formattedType === \"double precision\") return \"float8\";\n\tif (formattedType === \"boolean\") return \"bool\";\n\tif (formattedType.startsWith(\"varchar\")) return formattedType.replace(\"varchar\", \"character varying\");\n\tif (formattedType.startsWith(\"bpchar\")) return formattedType.replace(\"bpchar\", \"character\");\n\tif (formattedType.startsWith(\"varbit\")) return formattedType.replace(\"varbit\", \"bit varying\");\n\tif (dataType === \"timestamp with time zone\" || udtName === \"timestamptz\") return formattedType.replace(\"timestamp\", \"timestamptz\").replace(\" with time zone\", \"\").trim();\n\tif (dataType === \"timestamp without time zone\" || udtName === \"timestamp\") return formattedType.replace(\" without time zone\", \"\").trim();\n\tif (dataType === \"time with time zone\" || udtName === \"timetz\") return formattedType.replace(\"time\", \"timetz\").replace(\" with time zone\", \"\").trim();\n\tif (dataType === \"time without time zone\" || udtName === \"time\") return formattedType.replace(\" without time zone\", \"\").trim();\n\treturn splitQualifiedName(formattedType).map(unquoteIdentifier).join(\".\");\n}\nfunction splitQualifiedName(name) {\n\tconst segments = [];\n\tlet current = \"\";\n\tlet quoted = false;\n\tfor (const char of name) {\n\t\tif (char === \"\\\"\") quoted = !quoted;\n\t\tif (char === \".\" && !quoted) {\n\t\t\tsegments.push(current);\n\t\t\tcurrent = \"\";\n\t\t\tcontinue;\n\t\t}\n\t\tcurrent += char;\n\t}\n\tsegments.push(current);\n\treturn segments;\n}\nfunction unquoteIdentifier(segment) {\n\treturn segment.length >= 2 && segment.startsWith(\"\\\"\") && segment.endsWith(\"\\\"\") ? segment.slice(1, -1).replaceAll(\"\\\"\\\"\", \"\\\"\") : segment;\n}\nconst PG_REFERENTIAL_ACTION_MAP = {\n\t\"NO ACTION\": \"noAction\",\n\tRESTRICT: \"restrict\",\n\tCASCADE: \"cascade\",\n\t\"SET NULL\": \"setNull\",\n\t\"SET DEFAULT\": \"setDefault\"\n};\n/**\n* Maps a Postgres referential action rule to the canonical SqlReferentialAction.\n* Returns undefined for 'NO ACTION' (the database default) to keep the IR sparse.\n* Throws for unrecognized rules to prevent silent data loss.\n*/\nfunction isPgReferentialActionRule(rule) {\n\treturn Object.hasOwn(PG_REFERENTIAL_ACTION_MAP, rule);\n}\nfunction mapReferentialAction(rule) {\n\tif (!isPgReferentialActionRule(rule)) throw adapterError(\"CONTRACT.INTROSPECTION_UNSUPPORTED\", `Unknown PostgreSQL referential action rule: \"${rule}\". Expected one of: NO ACTION, RESTRICT, CASCADE, SET NULL, SET DEFAULT.`, { meta: { rule } });\n\tconst mapped = PG_REFERENTIAL_ACTION_MAP[rule];\n\tif (mapped === \"noAction\") return void 0;\n\treturn mapped;\n}\n/**\n* A FK/policy dependency chain, mirroring the shape the expected-side\n* derivation stamps (`contractToPostgresDatabaseSchemaNode`): the database\n* root's fixed sentinel id, then the namespace, then the table.\n*/\nfunction postgresTableDependsOn(namespaceId, tableName) {\n\treturn [\n\t\t{\n\t\t\tnodeKind: PostgresSchemaNodeKind.database,\n\t\t\tid: \"database\"\n\t\t},\n\t\t{\n\t\t\tnodeKind: PostgresSchemaNodeKind.namespace,\n\t\t\tid: namespaceId\n\t\t},\n\t\t{\n\t\t\tnodeKind: PostgresSchemaNodeKind.table,\n\t\t\tid: tableName\n\t\t}\n\t];\n}\n/** A policy's dependency chain onto one of the roles it grants to. */\nfunction postgresRoleDependsOn(role) {\n\treturn [{\n\t\tnodeKind: PostgresSchemaNodeKind.database,\n\t\tid: \"database\"\n\t}, {\n\t\tnodeKind: PostgresSchemaNodeKind.role,\n\t\tid: role\n\t}];\n}\n/**\n* The chains from a table-child object (foreign key, index, unique, primary\n* key) to each of the own columns it is built on — the introspection-side\n* mirror of `contractToPostgresDatabaseSchemaNode`'s `columnDependsOn`. An\n* object is dropped before the columns it covers.\n*/\nfunction postgresColumnDependsOn(namespaceId, tableName, columns) {\n\treturn columns.map((column) => [...postgresTableDependsOn(namespaceId, tableName), {\n\t\tnodeKind: RelationalSchemaNodeKind.column,\n\t\tid: `column:${column}`\n\t}]);\n}\n/**\n* Groups an array of objects by a specified key.\n* Returns a Map for O(1) lookup by group key.\n*/\n/**\n* Parses a `pg_class.reloptions` array into a `Record<string, string>`.\n*\n* Postgres returns reloptions as a `text[]` whose entries are `key=value`\n* strings; the value side is always a string regardless of the underlying\n* scalar type. The verifier compares contract options to introspected\n* options after coercing both sides to strings, so keeping the raw text\n* here is correct.\n*\n* Returns `undefined` when the input is null/empty (no WITH clause).\n*/\nfunction parsePgReloptions(reloptions, indexName) {\n\tif (Array.isArray(reloptions)) throw new TypeError(`expected raw text for a Postgres array, got ${typeof reloptions}`);\n\tif (reloptions === null || reloptions === void 0) return;\n\tif (typeof reloptions !== \"string\") return;\n\tconst entries = parsePostgresListText(reloptions).map((entry) => String(entry));\n\tif (entries.length === 0) return;\n\tconst result = {};\n\tfor (const entry of entries) {\n\t\tconst eq = entry.indexOf(\"=\");\n\t\tif (eq === -1) throw adapterError(\"CONTRACT.INTROSPECTION_UNSUPPORTED\", `Postgres introspection: malformed reloption entry \"${entry}\" on index \"${indexName}\" (expected \"key=value\")`, { meta: {\n\t\t\tentry,\n\t\t\tindexName\n\t\t} });\n\t\tconst key = entry.slice(0, eq);\n\t\tresult[key] = entry.slice(eq + 1);\n\t}\n\treturn Object.keys(result).length > 0 ? result : void 0;\n}\nfunction groupBy(items, key) {\n\tconst map = /* @__PURE__ */ new Map();\n\tfor (const item of items) {\n\t\tconst groupKey = item[key];\n\t\tlet group = map.get(groupKey);\n\t\tif (!group) {\n\t\t\tgroup = [];\n\t\t\tmap.set(groupKey, group);\n\t\t}\n\t\tgroup.push(item);\n\t}\n\treturn map;\n}\nfunction pgIsTextLikeNativeType(nativeType) {\n\treturn nativeType === \"text\" || nativeType === \"varchar\" || nativeType.startsWith(\"varchar(\") || nativeType === \"character varying\" || nativeType.startsWith(\"character varying(\") || nativeType === \"char\" || nativeType.startsWith(\"char(\") || nativeType === \"character\" || nativeType.startsWith(\"character(\");\n}\n/** Postgres's own defaults, the text the default parser reads: UTC, ISO dates, postgres intervals. */\nconst INTROSPECTION_OUTPUT_SETTINGS = {\n\ttimeZone: \"UTC\",\n\tdateStyle: \"ISO, MDY\",\n\tintervalStyle: \"postgres\"\n};\nasync function readOutputSettings(driver) {\n\tconst { rows } = await driver.query(`SELECT current_setting('TimeZone') AS \"timeZone\",\n current_setting('DateStyle') AS \"dateStyle\",\n current_setting('IntervalStyle') AS \"intervalStyle\"`);\n\treturn rows[0];\n}\nasync function applyOutputSettings(driver, settings, local) {\n\tawait driver.query(`SELECT set_config('TimeZone', $1, $4),\n set_config('DateStyle', $2, $4),\n set_config('IntervalStyle', $3, $4)`, [\n\t\tsettings.timeZone,\n\t\tsettings.dateStyle,\n\t\tsettings.intervalStyle,\n\t\tlocal\n\t]);\n}\nfunction sameOutputSettings(a, b) {\n\treturn a?.timeZone === b.timeZone && a.dateStyle === b.dateStyle && a.intervalStyle === b.intervalStyle;\n}\n/**\n* Runs `read` with the settings that shape printed values pinned to Postgres's defaults, then\n* restores the caller's. Postgres prints a `timestamptz` default in the session time zone, and\n* dates and intervals in the session styles, so pinning them gives the same text whatever the\n* server, the role, or the caller set.\n*\n* The settings are first set locally. A local setting outlives its own statement only inside a\n* transaction, so reading them back tells the two cases apart. Inside the caller's transaction they\n* are set and restored locally, so the caller's session values return when it commits; outside\n* one they are set and restored for the session. When `read` fails, its error is the one thrown;\n* inside a transaction the failure aborts it, and the caller's rollback restores the settings.\n*/\nasync function readWithDefaultOutputSettings(driver, read) {\n\tconst callerSettings = await readOutputSettings(driver);\n\tif (callerSettings === void 0) return read();\n\tawait applyOutputSettings(driver, INTROSPECTION_OUTPUT_SETTINGS, true);\n\tconst local = sameOutputSettings(await readOutputSettings(driver), INTROSPECTION_OUTPUT_SETTINGS);\n\tif (!local) await applyOutputSettings(driver, INTROSPECTION_OUTPUT_SETTINGS, false);\n\tconst restore = () => applyOutputSettings(driver, callerSettings, local);\n\tlet result;\n\ttry {\n\t\tresult = await read();\n\t} catch (error) {\n\t\tawait restore().catch(() => void 0);\n\t\tthrow error;\n\t}\n\tawait restore();\n\treturn result;\n}\nfunction pgInlineLiteral(wire, nativeType) {\n\tif (wire === null) return \"NULL\";\n\tif (typeof wire === \"boolean\") return wire ? \"true\" : \"false\";\n\tif (typeof wire === \"number\") {\n\t\tif (!Number.isFinite(wire)) throw adapterError(\"CONTRACT.DEFAULT_INVALID\", `pgRenderDdlExecuteRequest: non-finite number wire value ${String(wire)} cannot be emitted as a DEFAULT literal for native type \"${nativeType}\"`, { meta: { nativeType } });\n\t\treturn String(wire);\n\t}\n\tif (typeof wire === \"bigint\") return String(wire);\n\tif (wire instanceof Date) {\n\t\tif (Number.isNaN(wire.getTime())) throw adapterError(\"CONTRACT.DEFAULT_INVALID\", `pgRenderDdlExecuteRequest: invalid Date value cannot be emitted as a DEFAULT literal for native type \"${nativeType}\"`, { meta: { nativeType } });\n\t\tconst quoted = `'${escapeLiteral(wire.toISOString())}'`;\n\t\treturn pgIsTextLikeNativeType(nativeType) ? quoted : `${quoted}::${nativeType}`;\n\t}\n\tif (typeof wire === \"string\") {\n\t\tconst quoted = `'${escapeLiteral(wire)}'`;\n\t\treturn pgIsTextLikeNativeType(nativeType) ? quoted : `${quoted}::${nativeType}`;\n\t}\n\tif (wire instanceof Uint8Array) return `'\\\\x${Array.from(wire).map((b) => b.toString(16).padStart(2, \"0\")).join(\"\")}'::${nativeType}`;\n\tif (typeof wire === \"object\") return `${`'${escapeLiteral(JSON.stringify(wire))}'`}::${nativeType}`;\n\tthrow adapterError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `pgRenderDdlExecuteRequest: unexpected wire type \"${typeof wire}\" for native type \"${nativeType}\"`, { meta: {\n\t\twireType: typeof wire,\n\t\tnativeType\n\t} });\n}\nconst SERIAL_FAMILY_TYPES = /* @__PURE__ */ new Set([\n\t\"serial\",\n\t\"serial4\",\n\t\"bigserial\",\n\t\"serial8\",\n\t\"smallserial\",\n\t\"serial2\"\n]);\nasync function pgRenderDdlColumnDefault(def, nativeType, codecLookup, codecRef) {\n\tif (def.kind === \"function\") {\n\t\tif (def.expression === \"autoincrement()\") {\n\t\t\tif (!SERIAL_FAMILY_TYPES.has(nativeType.toLowerCase())) throw postgresError(\"CONTRACT.DEFAULT_INVALID\", `Column type \"${nativeType}\" has an autoincrement() default but is not a SERIAL-family pseudo-type. Autoincrement columns must declare their type as SERIAL (or SERIAL4), BIGSERIAL (or SERIAL8), or SMALLSERIAL (or SERIAL2) — e.g. col(name, \"SERIAL\", { default: fn(\"autoincrement()\") }).`, { meta: { nativeType } });\n\t\t\treturn \"\";\n\t\t}\n\t\treturn `DEFAULT (${def.expression})`;\n\t}\n\tconst dataTypeId = codecRef === void 0 ? void 0 : codecLookup.descriptorFor?.(codecRef.codecId)?.dataType;\n\tif (Array.isArray(def.value) && nativeType.endsWith(\"[]\")) return `DEFAULT ${renderDefaultLiteral(def.value, {\n\t\tmany: true,\n\t\tnativeType,\n\t\tdataTypeId\n\t})}`;\n\tif (typeof def.value === \"string\" && isPostgresDateTimeDataType(dataTypeId)) return `DEFAULT ${pgInlineLiteral(postgresDateTimeDdlText(def.value, dataTypeId), nativeType)}`;\n\tif (codecRef !== void 0) {\n\t\tconst descriptor = codecLookup.descriptorFor?.(codecRef.codecId);\n\t\tconst codec = descriptor === void 0 ? codecLookup.get(codecRef.codecId) : materializeCodec(descriptor, codecRef, { name: codecRef.codecId });\n\t\tif (codec !== void 0) {\n\t\t\tconst value = def.value instanceof Date ? def.value : codec.decodeJson(def.value);\n\t\t\treturn `DEFAULT ${pgInlineLiteral(await codec.encode(value, {}), nativeType)}`;\n\t\t}\n\t}\n\treturn `DEFAULT ${pgInlineLiteral(def.value, nativeType)}`;\n}\nasync function pgRenderDdlColumn(column, codecLookup) {\n\tconst parts = [quoteIdentifier(column.name), column.type];\n\tif (column.default) {\n\t\tconst clause = await pgRenderDdlColumnDefault(column.default, column.type, codecLookup, column.codecRef);\n\t\tif (clause.length > 0) parts.push(clause);\n\t}\n\tif (column.notNull) parts.push(\"NOT NULL\");\n\tif (column.primaryKey) parts.push(\"PRIMARY KEY\");\n\treturn parts.join(\" \");\n}\nfunction pgRenderDdlConstraint(constraint) {\n\tif (constraint.kind === \"primary-key\") {\n\t\tconst cols = constraint.columns.map(quoteIdentifier).join(\", \");\n\t\tif (constraint.name !== void 0) return `CONSTRAINT ${quoteIdentifier(constraint.name)} PRIMARY KEY (${cols})`;\n\t\treturn `PRIMARY KEY (${cols})`;\n\t}\n\tif (constraint.kind === \"foreign-key\") {\n\t\tlet sql = `FOREIGN KEY (${constraint.columns.map(quoteIdentifier).join(\", \")}) REFERENCES ${constraint.refTable.split(\".\").map(quoteIdentifier).join(\".\")} (${constraint.refColumns.map(quoteIdentifier).join(\", \")})`;\n\t\tif (constraint.onDelete !== void 0) sql += ` ON DELETE ${REFERENTIAL_ACTION_SQL[constraint.onDelete]}`;\n\t\tif (constraint.onUpdate !== void 0) sql += ` ON UPDATE ${REFERENTIAL_ACTION_SQL[constraint.onUpdate]}`;\n\t\tif (constraint.name !== void 0) sql = `CONSTRAINT ${quoteIdentifier(constraint.name)} ${sql}`;\n\t\treturn sql;\n\t}\n\tif (constraint.kind === \"check-expression\") return `CONSTRAINT ${quoteIdentifier(constraint.name)} CHECK (${constraint.expression})`;\n\tconst cols = constraint.columns.map(quoteIdentifier).join(\", \");\n\tif (constraint.name !== void 0) return `CONSTRAINT ${quoteIdentifier(constraint.name)} UNIQUE (${cols})`;\n\treturn `UNIQUE (${cols})`;\n}\nasync function pgRenderCreateTable(node, codecLookup) {\n\tconst ifNotExists = node.ifNotExists ? \"IF NOT EXISTS \" : \"\";\n\tconst tableRef = node.schema ? `${quoteIdentifier(node.schema)}.${quoteIdentifier(node.table)}` : quoteIdentifier(node.table);\n\tconst columnDefs = await Promise.all(node.columns.map((col) => pgRenderDdlColumn(col, codecLookup)));\n\tconst constraintDefs = node.constraints !== void 0 ? node.constraints.map(pgRenderDdlConstraint) : [];\n\treturn {\n\t\tsql: `CREATE TABLE ${ifNotExists}${tableRef} (\\n ${[...columnDefs, ...constraintDefs].join(\",\\n \")}\\n)`,\n\t\tparams: []\n\t};\n}\nfunction pgRenderCreateSchema(node) {\n\treturn {\n\t\tsql: `CREATE SCHEMA ${node.ifNotExists ? \"IF NOT EXISTS \" : \"\"}${quoteIdentifier(node.schema)}`,\n\t\tparams: []\n\t};\n}\nfunction pgRenderCreateType(node) {\n\treturn {\n\t\tsql: `CREATE TYPE ${node.schema ? `${quoteIdentifier(node.schema)}.${quoteIdentifier(node.name)}` : quoteIdentifier(node.name)} AS ENUM (${node.values.map((value) => `'${escapeLiteral(value)}'`).join(\", \")})`,\n\t\tparams: []\n\t};\n}\nfunction pgRenderDropType(node) {\n\treturn {\n\t\tsql: `DROP TYPE ${node.schema ? `${quoteIdentifier(node.schema)}.${quoteIdentifier(node.name)}` : quoteIdentifier(node.name)}`,\n\t\tparams: []\n\t};\n}\nasync function pgRenderAlterTable(node, codecLookup) {\n\tconst tableRef = node.schema ? `${quoteIdentifier(node.schema)}.${quoteIdentifier(node.table)}` : quoteIdentifier(node.table);\n\tconst actionVisitor = {\n\t\tasync addColumn(action) {\n\t\t\treturn `ADD COLUMN ${await pgRenderDdlColumn(action.column, codecLookup)}`;\n\t\t},\n\t\tdropDefault(action) {\n\t\t\treturn Promise.resolve(`ALTER COLUMN ${quoteIdentifier(action.columnName)} DROP DEFAULT`);\n\t\t}\n\t};\n\treturn {\n\t\tsql: `ALTER TABLE ${tableRef} ${(await Promise.all(node.actions.map((action) => action.accept(actionVisitor)))).join(\", \")}`,\n\t\tparams: []\n\t};\n}\nconst POLICY_OPERATION_SQL = {\n\tselect: \"SELECT\",\n\tinsert: \"INSERT\",\n\tupdate: \"UPDATE\",\n\tdelete: \"DELETE\",\n\tall: \"ALL\"\n};\nfunction pgRenderCreatePolicy(node) {\n\tconst tableRef = `${quoteIdentifier(node.schema)}.${quoteIdentifier(node.table)}`;\n\tconst permissiveness = node.permissive ? \"PERMISSIVE\" : \"RESTRICTIVE\";\n\tconst command = POLICY_OPERATION_SQL[node.operation];\n\tconst roles = node.roles.length === 0 ? \"PUBLIC\" : node.roles.join(\", \");\n\tlet sql = `CREATE POLICY ${quoteIdentifier(node.name)} ON ${tableRef} AS ${permissiveness} FOR ${command} TO ${roles}`;\n\tif (node.using !== void 0) sql += ` USING (${node.using})`;\n\tif (node.withCheck !== void 0) sql += ` WITH CHECK (${node.withCheck})`;\n\treturn {\n\t\tsql,\n\t\tparams: []\n\t};\n}\nfunction pgRenderDropPolicy(node) {\n\tconst tableRef = `${quoteIdentifier(node.schema)}.${quoteIdentifier(node.table)}`;\n\treturn {\n\t\tsql: `DROP POLICY ${quoteIdentifier(node.name)} ON ${tableRef}`,\n\t\tparams: []\n\t};\n}\nfunction pgRenderAlterPolicyRename(node) {\n\tconst tableRef = `${quoteIdentifier(node.schema)}.${quoteIdentifier(node.table)}`;\n\treturn {\n\t\tsql: `ALTER POLICY ${quoteIdentifier(node.name)} ON ${tableRef} RENAME TO ${quoteIdentifier(node.newName)}`,\n\t\tparams: []\n\t};\n}\n/**\n* Renders one index reloption value: strings single-quote-escaped, finite\n* numbers verbatim, booleans in the `on`/`off` catalog spelling (the\n* canonical form the wire hash and the option equality commit to).\n*/\nfunction pgRenderIndexOptionValue(key, value) {\n\tif (typeof value === \"string\") return `'${escapeLiteral(value)}'`;\n\tif (typeof value === \"number\" && Number.isFinite(value)) return String(value);\n\tif (typeof value === \"boolean\") return value ? \"on\" : \"off\";\n\tthrow postgresError(\"CONTRACT.INDEX_INVALID\", `Index option \"${key}\" must be a string, finite number, or boolean; got ${typeof value}`, { meta: {\n\t\tkey,\n\t\tvalueType: typeof value\n\t} });\n}\n/** Qualifies an object name; an absent schema renders it unqualified (unbound namespace). */\nfunction pgQualify(schema, name) {\n\treturn schema === void 0 ? quoteIdentifier(name) : `${quoteIdentifier(schema)}.${quoteIdentifier(name)}`;\n}\nfunction pgRenderCreateIndex(node) {\n\tconst elementList = \"columns\" in node.elements ? node.elements.columns.map(quoteIdentifier).join(\", \") : node.elements.expression;\n\tconst unique = node.unique ? \"UNIQUE \" : \"\";\n\tconst using = node.type !== void 0 ? ` USING ${quoteIdentifier(node.type)}` : \"\";\n\tconst withClause = node.options !== void 0 && Object.keys(node.options).length > 0 ? ` WITH (${Object.entries(node.options).map(([key, value]) => `${quoteIdentifier(key)} = ${pgRenderIndexOptionValue(key, value)}`).join(\", \")})` : \"\";\n\tconst whereClause = node.where !== void 0 ? ` WHERE (${node.where})` : \"\";\n\treturn {\n\t\tsql: `CREATE ${unique}INDEX ${quoteIdentifier(node.name)} ON ${pgQualify(node.schema, node.table)}${using} (${elementList})${withClause}${whereClause}`,\n\t\tparams: []\n\t};\n}\nfunction pgRenderDropIndex(node) {\n\treturn {\n\t\tsql: `DROP INDEX ${pgQualify(node.schema, node.name)}`,\n\t\tparams: []\n\t};\n}\nfunction pgRenderAlterIndexRename(node) {\n\treturn {\n\t\tsql: `ALTER INDEX ${pgQualify(node.schema, node.from)} RENAME TO ${quoteIdentifier(node.to)}`,\n\t\tparams: []\n\t};\n}\nfunction pgRenderDisableRowLevelSecurity(node) {\n\treturn {\n\t\tsql: `ALTER TABLE ${`${quoteIdentifier(node.schema)}.${quoteIdentifier(node.table)}`} DISABLE ROW LEVEL SECURITY`,\n\t\tparams: []\n\t};\n}\nasync function pgRenderDdlExecuteRequest(ast, codecLookup) {\n\treturn ast.accept({\n\t\tcreateTable: (node) => pgRenderCreateTable(node, codecLookup),\n\t\tcreateSchema: (node) => Promise.resolve(pgRenderCreateSchema(node)),\n\t\tcreateType: (node) => Promise.resolve(pgRenderCreateType(node)),\n\t\tdropType: (node) => Promise.resolve(pgRenderDropType(node)),\n\t\talterTable: (node) => pgRenderAlterTable(node, codecLookup),\n\t\tcreatePolicy: (node) => Promise.resolve(pgRenderCreatePolicy(node)),\n\t\tdropPolicy: (node) => Promise.resolve(pgRenderDropPolicy(node)),\n\t\talterPolicyRename: (node) => Promise.resolve(pgRenderAlterPolicyRename(node)),\n\t\tcreateIndex: (node) => Promise.resolve(pgRenderCreateIndex(node)),\n\t\tdropIndex: (node) => Promise.resolve(pgRenderDropIndex(node)),\n\t\talterIndexRename: (node) => Promise.resolve(pgRenderAlterIndexRename(node)),\n\t\tdisableRowLevelSecurity: (node) => Promise.resolve(pgRenderDisableRowLevelSecurity(node))\n\t});\n}\n//#endregion\nexport { PostgresControlAdapter as t };\n\n//# sourceMappingURL=control-adapter-Buuq3v1c.mjs.map"],"mappings":"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"}