@prisma/orm-target-postgres 8.0.0-rc.16-dev.4 → 8.0.0-rc.16-dev.6

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 (177) hide show
  1. package/dist/{adapter-BB0VVFW2.d.mts → adapter-BXHPMNAg.d.mts} +3 -3
  2. package/dist/{adapter-BB0VVFW2.d.mts.map → adapter-BXHPMNAg.d.mts.map} +1 -1
  3. package/dist/{adapter-RtS8vD8U-BvmL3EaF.mjs → adapter-RtS8vD8U-BnPjAiLV.mjs} +5 -5
  4. package/dist/{adapter-RtS8vD8U-BvmL3EaF.mjs.map → adapter-RtS8vD8U-BnPjAiLV.mjs.map} +1 -1
  5. package/dist/adapter.d.mts +7 -7
  6. package/dist/adapter.mjs +6 -6
  7. package/dist/adapter__adapter.d.mts +1 -1
  8. package/dist/adapter__adapter.mjs +2 -2
  9. package/dist/adapter__control.d.mts +2 -2
  10. package/dist/adapter__control.mjs +7 -7
  11. package/dist/adapter__runtime.d.mts +1 -1
  12. package/dist/adapter__runtime.mjs +4 -4
  13. package/dist/adapter__sql-renderer.d.mts +1 -1
  14. package/dist/adapter__sql-renderer.mjs +1 -1
  15. package/dist/adapter__types.d.mts +3 -3
  16. package/dist/{authoring-CfPWv_-P-BHAGgGYI.mjs → authoring-B2hHIzvd-D5NgHs0e.mjs} +5 -5
  17. package/dist/{authoring-CfPWv_-P-BHAGgGYI.mjs.map → authoring-B2hHIzvd-D5NgHs0e.mjs.map} +1 -1
  18. package/dist/{check-expressions-BRuSxJ5d-CC5OFfR1.mjs → check-expressions-BaFrBceq-ChgvazEN.mjs} +15 -13
  19. package/dist/check-expressions-BaFrBceq-ChgvazEN.mjs.map +1 -0
  20. package/dist/{check-expressions-CBIgoKhV-D7oTR8lp.d.mts → check-expressions-CtTzM58x-CsWFEeul.d.mts} +6 -5
  21. package/dist/check-expressions-CtTzM58x-CsWFEeul.d.mts.map +1 -0
  22. package/dist/{codec-descriptor-CZAGhM_O-DK9auM7J.mjs → codec-descriptor-C5Ec_6Mw-CpacG1CL.mjs} +3 -2
  23. package/dist/codec-descriptor-C5Ec_6Mw-CpacG1CL.mjs.map +1 -0
  24. package/dist/{codec-helpers-D015Pvwa-DR7WMloQ.mjs → codec-helpers-D0ah5Wb8-wdJJZ_8s.mjs} +244 -3
  25. package/dist/codec-helpers-D0ah5Wb8-wdJJZ_8s.mjs.map +1 -0
  26. package/dist/{codec-registry-CyhMngN6-BlKEiEni.mjs → codec-registry-CKBDkxX7-Kw84Or3s.mjs} +5 -5
  27. package/dist/{codec-registry-CyhMngN6-BlKEiEni.mjs.map → codec-registry-CKBDkxX7-Kw84Or3s.mjs.map} +1 -1
  28. package/dist/{codec-type-map-DftCqvHU-BYkGKRZI.d.mts → codec-type-map-DueQFJ3a-DKLtMn3R.d.mts} +3 -3
  29. package/dist/{codec-type-map-DftCqvHU-BYkGKRZI.d.mts.map → codec-type-map-DueQFJ3a-DKLtMn3R.d.mts.map} +1 -1
  30. package/dist/codec-types-CY3pawL3.d.mts +2 -0
  31. package/dist/{codec-types-CHtW4cn_-ryYZXjOb.d.mts → codec-types-CYsrudBM-DcYPKpS1.d.mts} +4 -4
  32. package/dist/{codec-types-CHtW4cn_-ryYZXjOb.d.mts.map → codec-types-CYsrudBM-DcYPKpS1.d.mts.map} +1 -1
  33. package/dist/{codecs-hSJgX8qY-fZSDQFIE.mjs → codecs-BK3J4C0n-B8EnUXZf.mjs} +49 -37
  34. package/dist/codecs-BK3J4C0n-B8EnUXZf.mjs.map +1 -0
  35. package/dist/{codecs-Djhvng3f.d.mts → codecs-ChjCJY5k.d.mts} +2 -2
  36. package/dist/{codecs-Djhvng3f.d.mts.map → codecs-ChjCJY5k.d.mts.map} +1 -1
  37. package/dist/{codecs-CvG9lv7r-9RlHwf9Y.d.mts → codecs-y1gOMMt--DKWhYGN5.d.mts} +8 -2
  38. package/dist/codecs-y1gOMMt--DKWhYGN5.d.mts.map +1 -0
  39. package/dist/{contract-free-DlLLhKi4.d.mts → contract-free-DY8vDIxh.d.mts} +19 -2
  40. package/dist/contract-free-DY8vDIxh.d.mts.map +1 -0
  41. package/dist/{contract-free-DAGgx1J-.mjs → contract-free-DaK6wmmo.mjs} +3 -3
  42. package/dist/contract-free-DaK6wmmo.mjs.map +1 -0
  43. package/dist/{control-BVAy0J9w.mjs → control-Bpd77Aeq.mjs} +11 -11
  44. package/dist/{control-BVAy0J9w.mjs.map → control-Bpd77Aeq.mjs.map} +1 -1
  45. package/dist/{control-CHqdVXHC.d.mts → control-D2JNE1Tz.d.mts} +3 -3
  46. package/dist/{control-CHqdVXHC.d.mts.map → control-D2JNE1Tz.d.mts.map} +1 -1
  47. package/dist/{control-adapter-Co30P4lH-B8vk7fsI.mjs → control-adapter-Co30P4lH-e6oCFCC2.mjs} +7 -7
  48. package/dist/{control-adapter-Co30P4lH-B8vk7fsI.mjs.map → control-adapter-Co30P4lH-e6oCFCC2.mjs.map} +1 -1
  49. package/dist/{control-policy-C16wMazs-O_wlPuFC.mjs → control-policy-B7t5CB1S-CotIwNO4.mjs} +16 -22
  50. package/dist/control-policy-B7t5CB1S-CotIwNO4.mjs.map +1 -0
  51. package/dist/{data-type-entries-C2zpNOAQ-BJh8QNDa.mjs → data-type-entries-DoR61yeO-BB2cY7rI.mjs} +3 -3
  52. package/dist/{data-type-entries-C2zpNOAQ-BJh8QNDa.mjs.map → data-type-entries-DoR61yeO-BB2cY7rI.mjs.map} +1 -1
  53. package/dist/{data-types-E1wms1_i.d.mts → data-types-BDkZIUMI.d.mts} +4 -2
  54. package/dist/{data-types-E1wms1_i.d.mts.map → data-types-BDkZIUMI.d.mts.map} +1 -1
  55. package/dist/{data-types-BRBW3ouc-ZtyZE7nE.mjs → data-types-DRkmmE9S-C5Q9oH4Q.mjs} +14 -5
  56. package/dist/data-types-DRkmmE9S-C5Q9oH4Q.mjs.map +1 -0
  57. package/dist/{ddl-BzsT_-qY-Cdzm0YIK.mjs → ddl-C_vTj7b5-vyGLBKLo.mjs} +50 -5
  58. package/dist/ddl-C_vTj7b5-vyGLBKLo.mjs.map +1 -0
  59. package/dist/default-constraint-names-CtcRXhV8-nz3ff6b8.mjs +18 -0
  60. package/dist/default-constraint-names-CtcRXhV8-nz3ff6b8.mjs.map +1 -0
  61. package/dist/{default-normalizer-CrMBHF0W-BaUR4Ec8.mjs → default-normalizer-Bf_Fhv4v-CugGfLAe.mjs} +12 -7
  62. package/dist/default-normalizer-Bf_Fhv4v-CugGfLAe.mjs.map +1 -0
  63. package/dist/{descriptor-meta-ARufwwWW-DUiQQsOX.mjs → descriptor-meta-ARufwwWW-C5hsT7UQ.mjs} +3 -3
  64. package/dist/{descriptor-meta-ARufwwWW-DUiQQsOX.mjs.map → descriptor-meta-ARufwwWW-C5hsT7UQ.mjs.map} +1 -1
  65. package/dist/{descriptor-meta-Dp8tWKKU-5RiFTCA_.mjs → descriptor-meta-C8lkQFHe-Cluy19Tk.mjs} +8 -8
  66. package/dist/{descriptor-meta-Dp8tWKKU-5RiFTCA_.mjs.map → descriptor-meta-C8lkQFHe-Cluy19Tk.mjs.map} +1 -1
  67. package/dist/{descriptor-meta-runtime-BycwK4wx-CuDo_Atu.mjs → descriptor-meta-runtime-iArZEoCE-GhLNDdg-.mjs} +3 -3
  68. package/dist/{descriptor-meta-runtime-BycwK4wx-CuDo_Atu.mjs.map → descriptor-meta-runtime-iArZEoCE-GhLNDdg-.mjs.map} +1 -1
  69. package/dist/{diff-database-schema-DRPIV4Ae-BSY-cBm0.mjs → diff-database-schema-KGNaKzKp-Bt2yYSIt.mjs} +6 -6
  70. package/dist/{diff-database-schema-DRPIV4Ae-BSY-cBm0.mjs.map → diff-database-schema-KGNaKzKp-Bt2yYSIt.mjs.map} +1 -1
  71. package/dist/{full-text-D5pW25-Y.d.mts → full-text-CCqTEQ9y.d.mts} +2 -2
  72. package/dist/{full-text-D5pW25-Y.d.mts.map → full-text-CCqTEQ9y.d.mts.map} +1 -1
  73. package/dist/{full-text-index-expression-2O1p7zJA--CcXJUdq.mjs → full-text-index-expression-Bfp_xWhy-DtbLdkzv.mjs} +4 -4
  74. package/dist/{full-text-index-expression-2O1p7zJA--CcXJUdq.mjs.map → full-text-index-expression-Bfp_xWhy-DtbLdkzv.mjs.map} +1 -1
  75. package/dist/{full-text-parsers-BhjgmAe5-CyF7dp_b.d.mts → full-text-parsers-DrS_1B-x-BcAnBoQP.d.mts} +3 -3
  76. package/dist/{full-text-parsers-BhjgmAe5-CyF7dp_b.d.mts.map → full-text-parsers-DrS_1B-x-BcAnBoQP.d.mts.map} +1 -1
  77. package/dist/{infer-psl-contract-shHWsRbe-C65aVFOB.mjs → infer-psl-contract-DoIdoifj-Co9thnGu.mjs} +7 -7
  78. package/dist/{infer-psl-contract-shHWsRbe-C65aVFOB.mjs.map → infer-psl-contract-DoIdoifj-Co9thnGu.mjs.map} +1 -1
  79. package/dist/migration-PTHAY9Cv.mjs.map +1 -1
  80. package/dist/{op-factory-call-B-4nf1jC-DkRw5e1q.mjs → op-factory-call-BAgAln5R-BTkhp29z.mjs} +70 -18
  81. package/dist/op-factory-call-BAgAln5R-BTkhp29z.mjs.map +1 -0
  82. package/dist/{operation-types-Be5rdu14.d.mts → operation-types-CjJY7prP.d.mts} +2 -2
  83. package/dist/{operation-types-Be5rdu14.d.mts.map → operation-types-CjJY7prP.d.mts.map} +1 -1
  84. package/dist/{pack-DHV9zslZ.d.mts → pack-Bq9yq-OS.d.mts} +4 -4
  85. package/dist/{pack-DHV9zslZ.d.mts.map → pack-Bq9yq-OS.d.mts.map} +1 -1
  86. package/dist/{planner-B5wkfdZ_-bckhSgt5.mjs → planner-DSTSuAc8-BAfUo5KV.mjs} +16 -12
  87. package/dist/planner-DSTSuAc8-BAfUo5KV.mjs.map +1 -0
  88. package/dist/{planner-ddl-builders-ClaAKDuZ-DpDBj2cs.mjs → planner-ddl-builders-Y0_96xpe-BzugdEDO.mjs} +44 -14
  89. package/dist/planner-ddl-builders-Y0_96xpe-BzugdEDO.mjs.map +1 -0
  90. package/dist/{planner-identity-values-BZpK0CdX-BJo672Ml.mjs → planner-identity-values-CRS2cQ6v-DakZeIQj.mjs} +3 -3
  91. package/dist/{planner-identity-values-BZpK0CdX-BJo672Ml.mjs.map → planner-identity-values-CRS2cQ6v-DakZeIQj.mjs.map} +1 -1
  92. package/dist/{planner-produced-postgres-migration-B3dM0fTf-XkTUm5wR.mjs → planner-produced-postgres-migration-D7-3OBb_-BGHFKj3i.mjs} +3 -3
  93. package/dist/{planner-produced-postgres-migration-B3dM0fTf-XkTUm5wR.mjs.map → planner-produced-postgres-migration-D7-3OBb_-BGHFKj3i.mjs.map} +1 -1
  94. package/dist/{planner-sql-checks-Bhp0Iq_X-DwwIxJHj.mjs → planner-sql-checks-rqOH8naU-B6xOE5lC.mjs} +4 -4
  95. package/dist/{planner-sql-checks-Bhp0Iq_X-DwwIxJHj.mjs.map → planner-sql-checks-rqOH8naU-B6xOE5lC.mjs.map} +1 -1
  96. package/dist/{postgres-contract-view-rT0ZLNqw-DThfALEV.mjs → postgres-contract-view-C1bi3x4v-BAfk6euQ.mjs} +6 -6
  97. package/dist/{postgres-contract-view-rT0ZLNqw-DThfALEV.mjs.map → postgres-contract-view-C1bi3x4v-BAfk6euQ.mjs.map} +1 -1
  98. package/dist/{postgres-migration-CmD95Eh_-DGLByWZD.mjs → postgres-migration-CeX6vfEU-DsmCRCnD.mjs} +85 -59
  99. package/dist/postgres-migration-CeX6vfEU-DsmCRCnD.mjs.map +1 -0
  100. package/dist/postgres-object-name-FPikIvOw-BNs44hTu.mjs +23 -0
  101. package/dist/postgres-object-name-FPikIvOw-BNs44hTu.mjs.map +1 -0
  102. package/dist/{postgres-schema-DXd0mebY-CExd_GcQ.mjs → postgres-schema-AlEVkXXS-ZfXWYddl.mjs} +3 -3
  103. package/dist/{postgres-schema-DXd0mebY-CExd_GcQ.mjs.map → postgres-schema-AlEVkXXS-ZfXWYddl.mjs.map} +1 -1
  104. package/dist/{prisma7-binding-CArLf1qk.mjs → prisma7-binding-B4BfqE0o.mjs} +12 -7
  105. package/dist/prisma7-binding-B4BfqE0o.mjs.map +1 -0
  106. package/dist/{prisma7-binding-DNckHEx8.d.mts → prisma7-binding-Dm34z6Fq.d.mts} +14 -4
  107. package/dist/prisma7-binding-Dm34z6Fq.d.mts.map +1 -0
  108. package/dist/{resolve-ddl-schema-CadTChyu-C7F31wpN.mjs → resolve-ddl-schema-BthOWVjF-DuZ9iUh-.mjs} +3 -3
  109. package/dist/{resolve-ddl-schema-CadTChyu-C7F31wpN.mjs.map → resolve-ddl-schema-BthOWVjF-DuZ9iUh-.mjs.map} +1 -1
  110. package/dist/{runtime-aejvKbMy.d.mts → runtime-CNTEAZIz.d.mts} +2 -2
  111. package/dist/{runtime-aejvKbMy.d.mts.map → runtime-CNTEAZIz.d.mts.map} +1 -1
  112. package/dist/{sql-renderer-DT4IEOVi-G0Q8NmyB.mjs → sql-renderer-DT4IEOVi-CBE8uTub.mjs} +3 -3
  113. package/dist/{sql-renderer-DT4IEOVi-G0Q8NmyB.mjs.map → sql-renderer-DT4IEOVi-CBE8uTub.mjs.map} +1 -1
  114. package/dist/{sql-renderer-B1ZLRgUw.d.mts → sql-renderer-hQ3HTY-B.d.mts} +2 -2
  115. package/dist/{sql-renderer-B1ZLRgUw.d.mts.map → sql-renderer-hQ3HTY-B.d.mts.map} +1 -1
  116. package/dist/{sql-utils-BMXJi06b-CAQOplfq.mjs → sql-utils-CVsvXiX4-C7xD0Bgv.mjs} +5 -9
  117. package/dist/sql-utils-CVsvXiX4-C7xD0Bgv.mjs.map +1 -0
  118. package/dist/target.d.mts +14 -14
  119. package/dist/target.mjs +27 -27
  120. package/dist/target__codec-descriptor.mjs +1 -1
  121. package/dist/target__codec-types.d.mts +3 -3
  122. package/dist/target__codecs.d.mts +2 -2
  123. package/dist/target__codecs.mjs +2 -2
  124. package/dist/target__contract-free.d.mts +2 -2
  125. package/dist/target__contract-free.mjs +4 -4
  126. package/dist/target__control.mjs +3 -3
  127. package/dist/target__data-types.d.mts +1 -1
  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.mjs +1 -1
  133. package/dist/target__migration.mjs +2 -2
  134. package/dist/target__op-factory-call.mjs +1 -1
  135. package/dist/target__operation-types.d.mts +1 -1
  136. package/dist/target__pack.d.mts +1 -1
  137. package/dist/target__pack.mjs +1 -1
  138. package/dist/target__planner-ddl-builders.mjs +1 -1
  139. package/dist/target__planner-identity-values.mjs +1 -1
  140. package/dist/target__planner-produced-postgres-migration.mjs +1 -1
  141. package/dist/target__planner-sql-checks.mjs +1 -1
  142. package/dist/target__planner.mjs +2 -2
  143. package/dist/target__prisma7-binding.d.mts +1 -1
  144. package/dist/target__prisma7-binding.mjs +1 -1
  145. package/dist/target__runtime.mjs +3 -3
  146. package/dist/target__runtime.mjs.map +1 -1
  147. package/dist/target__schema-ir-annotations.mjs +1 -1
  148. package/dist/target__sql-utils.mjs +2 -2
  149. package/dist/target__types.d.mts +2 -2
  150. package/dist/target__types.mjs +2 -2
  151. package/dist/{types-D799eppJ.d.mts → types-BP1e5MBV.d.mts} +2 -2
  152. package/dist/{types-D799eppJ.d.mts.map → types-BP1e5MBV.d.mts.map} +1 -1
  153. package/dist/{types-D6lgKhE5-Cu48rrw9.d.mts → types-D6lgKhE5-DYkeCAjr.d.mts} +2 -2
  154. package/dist/{types-D6lgKhE5-Cu48rrw9.d.mts.map → types-D6lgKhE5-DYkeCAjr.d.mts.map} +1 -1
  155. package/dist/types-Dnrjripb.d.mts +2 -0
  156. package/package.json +9 -9
  157. package/dist/check-expressions-BRuSxJ5d-CC5OFfR1.mjs.map +0 -1
  158. package/dist/check-expressions-CBIgoKhV-D7oTR8lp.d.mts.map +0 -1
  159. package/dist/codec-descriptor-CZAGhM_O-DK9auM7J.mjs.map +0 -1
  160. package/dist/codec-helpers-D015Pvwa-DR7WMloQ.mjs.map +0 -1
  161. package/dist/codec-types-DQUtpepT.d.mts +0 -2
  162. package/dist/codecs-CvG9lv7r-9RlHwf9Y.d.mts.map +0 -1
  163. package/dist/codecs-hSJgX8qY-fZSDQFIE.mjs.map +0 -1
  164. package/dist/contract-free-DAGgx1J-.mjs.map +0 -1
  165. package/dist/contract-free-DlLLhKi4.d.mts.map +0 -1
  166. package/dist/control-policy-C16wMazs-O_wlPuFC.mjs.map +0 -1
  167. package/dist/data-types-BRBW3ouc-ZtyZE7nE.mjs.map +0 -1
  168. package/dist/ddl-BzsT_-qY-Cdzm0YIK.mjs.map +0 -1
  169. package/dist/default-normalizer-CrMBHF0W-BaUR4Ec8.mjs.map +0 -1
  170. package/dist/op-factory-call-B-4nf1jC-DkRw5e1q.mjs.map +0 -1
  171. package/dist/planner-B5wkfdZ_-bckhSgt5.mjs.map +0 -1
  172. package/dist/planner-ddl-builders-ClaAKDuZ-DpDBj2cs.mjs.map +0 -1
  173. package/dist/postgres-migration-CmD95Eh_-DGLByWZD.mjs.map +0 -1
  174. package/dist/prisma7-binding-CArLf1qk.mjs.map +0 -1
  175. package/dist/prisma7-binding-DNckHEx8.d.mts.map +0 -1
  176. package/dist/sql-utils-BMXJi06b-CAQOplfq.mjs.map +0 -1
  177. package/dist/types-CdJszzhP.d.mts +0 -2
@@ -1 +0,0 @@
1
- {"version":3,"file":"ddl-BzsT_-qY-Cdzm0YIK.mjs","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/ddl-BzsT_-qY.mjs"],"sourcesContent":["import { S as PG_TEXT_CODEC_ID } from \"./codec-ids-Cb0yO-IS.mjs\";\nimport { i as postgresCreateNamespace, u as PostgresTableSource } from \"./postgres-schema-DXd0mebY.mjs\";\nimport { a as PostgresAlterTable, c as PostgresCreateSchema, f as PostgresDisableRowLevelSecurity, h as PostgresDropType, i as PostgresAlterPolicyRename, l as PostgresCreateTable, m as PostgresDropPolicy, n as DropDefaultAction, o as PostgresCreateIndex, p as PostgresDropIndex, r as PostgresAlterIndexRename, s as PostgresCreatePolicy, t as AddColumnAction, u as PostgresCreateType } from \"./nodes-Bm2a7z6e.mjs\";\nimport { opaqueSql } from \"@internal/sql-relational-core/ast\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { cfExpr, cfTable, exprSelect } from \"@internal/sql-relational-core/contract-free\";\n//#region src/contract-free/checks.ts\n/**\n* `to_regclass($1)` with the qualified table name bound as a text parameter.\n* Thin vocabulary wrapper over the core `cfExpr.fn` helper — the target\n* supplies only the template and the codec'd operand.\n*/\nfunction toRegclass(qualifiedName) {\n\treturn cfExpr.fn({\n\t\tmethod: \"to_regclass\",\n\t\ttemplate: \"to_regclass({{self}})\",\n\t\tself: cfExpr.param(qualifiedName, PG_TEXT_CODEC_ID),\n\t\treturns: {\n\t\t\tcodecId: PG_TEXT_CODEC_ID,\n\t\t\tnullable: true\n\t\t}\n\t});\n}\n/**\n* Typed builder for the migration planner's table-existence checks. Produces\n* FROM-less `SELECT to_regclass($1) IS [NOT] NULL AS \"result\"` ASTs with the\n* qualified table name bound as a text parameter — never inlined into the SQL.\n*\n* `schema` is a namespace coordinate: the framework `__unbound__` sentinel\n* elides the qualifier (search_path decides at runtime); any other id\n* qualifies as `\"schema\".\"table\"`.\n*/\nfunction tableExistsAst(schema, table) {\n\tconst regclass = toRegclass(postgresCreateNamespace({\n\t\tid: schema,\n\t\tentries: { table: {} }\n\t}).qualifyTable(table));\n\treturn {\n\t\ttableAbsent: () => exprSelect().project(\"result\", regclass.isNull()).build(),\n\t\ttablePresent: () => exprSelect().project(\"result\", regclass.isNotNull()).build()\n\t};\n}\n/**\n* Typed builder for the migration planner's constraint-existence checks.\n* Produces `SELECT [NOT ]EXISTS (SELECT 1 FROM pg_constraint c JOIN\n* pg_namespace n ON n.oid = c.connamespace WHERE c.conname = $1 AND\n* n.nspname = $2 [AND c.conrelid = to_regclass($3)]) AS \"result\"` with the\n* constraint name, schema name, and qualified table name bound as text\n* parameters.\n*\n* When `table` is omitted the check matches by name + schema across all\n* tables. Pass `table` to scope the check to a single table (prevents false\n* matches on identically-named constraints in different tables). `schema`\n* is a namespace coordinate: the `__unbound__` sentinel compares `nspname`\n* against `current_schema()` instead of a bound parameter.\n*/\nfunction constraintExistsAst(options) {\n\tconst namespace = postgresCreateNamespace({\n\t\tid: options.schema,\n\t\tentries: { table: {} }\n\t});\n\tconst conditions = [cfExpr.columnRef(\"c\", \"conname\").eqParam(options.constraintName, PG_TEXT_CODEC_ID), cfExpr.columnRef(\"n\", \"nspname\").eqExpr(namespace.schemaFilterExpression())];\n\tif (options.table !== void 0) conditions.push(cfExpr.columnRef(\"c\", \"conrelid\").eqExpr(toRegclass(namespace.qualifyTable(options.table))));\n\tconst inner = () => exprSelect().from(cfTable(\"pg_constraint\", \"c\")).join(cfTable(\"pg_namespace\", \"n\"), cfExpr.columnRef(\"n\", \"oid\").eqExpr(cfExpr.columnRef(\"c\", \"connamespace\"))).project(\"one\", cfExpr.lit(1)).where(cfExpr.allOf(conditions));\n\treturn {\n\t\tconstraintPresent: () => exprSelect().project(\"result\", cfExpr.exists(inner())).build(),\n\t\tconstraintAbsent: () => exprSelect().project(\"result\", cfExpr.notExists(inner())).build()\n\t};\n}\nfunction checkNamespace(schema) {\n\treturn postgresCreateNamespace({\n\t\tid: schema,\n\t\tentries: { table: {} }\n\t});\n}\nfunction informationSchemaColumns() {\n\treturn new PostgresTableSource({\n\t\tschema: \"information_schema\",\n\t\tname: \"columns\"\n\t});\n}\nfunction infoSchemaColumnConditions(options) {\n\treturn [\n\t\tcfExpr.identifierRef(\"table_schema\").eqExpr(checkNamespace(options.schema).schemaFilterExpression()),\n\t\tcfExpr.identifierRef(\"table_name\").eqParam(options.table, PG_TEXT_CODEC_ID),\n\t\tcfExpr.identifierRef(\"column_name\").eqParam(options.column, PG_TEXT_CODEC_ID)\n\t];\n}\nfunction infoSchemaColumnQuery(conditions) {\n\treturn exprSelect().from(informationSchemaColumns()).project(\"one\", cfExpr.lit(1)).where(cfExpr.allOf(conditions));\n}\n/**\n* Typed builder for column-existence checks over\n* `information_schema.columns`, with schema, table, and column names bound\n* as text parameters.\n*/\nfunction columnExistsAst(options) {\n\tconst inner = () => infoSchemaColumnQuery(infoSchemaColumnConditions(options));\n\treturn {\n\t\tcolumnPresent: () => exprSelect().project(\"result\", cfExpr.exists(inner())).build(),\n\t\tcolumnAbsent: () => exprSelect().project(\"result\", cfExpr.notExists(inner())).build()\n\t};\n}\n/**\n* Typed nullability check: EXISTS over `information_schema.columns` with\n* `is_nullable` compared against the bound `'YES'` / `'NO'` marker.\n*/\nfunction columnNullabilityAst(options) {\n\tconst conditions = [...infoSchemaColumnConditions(options), cfExpr.identifierRef(\"is_nullable\").eqParam(options.nullable ? \"YES\" : \"NO\", PG_TEXT_CODEC_ID)];\n\treturn exprSelect().project(\"result\", cfExpr.exists(infoSchemaColumnQuery(conditions))).build();\n}\n/**\n* Typed default-presence checks over `information_schema.columns`.\n* `defaultPresent` / `defaultAbsent` assert the column row exists with a\n* non-null / null `column_default`; `noDefault` is the NOT EXISTS variant\n* (also true when the column row is missing entirely).\n*/\nfunction columnDefaultAst(options) {\n\tconst withDefault = () => infoSchemaColumnQuery([...infoSchemaColumnConditions(options), cfExpr.identifierRef(\"column_default\").isNotNull()]);\n\tconst withoutDefault = () => infoSchemaColumnQuery([...infoSchemaColumnConditions(options), cfExpr.identifierRef(\"column_default\").isNull()]);\n\treturn {\n\t\tdefaultPresent: () => exprSelect().project(\"result\", cfExpr.exists(withDefault())).build(),\n\t\tdefaultAbsent: () => exprSelect().project(\"result\", cfExpr.exists(withoutDefault())).build(),\n\t\tnoDefault: () => exprSelect().project(\"result\", cfExpr.notExists(withDefault())).build()\n\t};\n}\n/**\n* Typed column-type check: EXISTS over `pg_attribute` joined to `pg_class`\n* and `pg_namespace`, comparing `format_type(a.atttypid, a.atttypmod)`\n* against the bound expected display type and excluding dropped columns.\n*/\nfunction columnTypeAst(options) {\n\tconst formatType = cfExpr.fn({\n\t\tmethod: \"format_type\",\n\t\ttemplate: \"format_type({{self}}, {{arg0}})\",\n\t\tself: cfExpr.columnRef(\"a\", \"atttypid\"),\n\t\targs: [cfExpr.columnRef(\"a\", \"atttypmod\")],\n\t\treturns: {\n\t\t\tcodecId: PG_TEXT_CODEC_ID,\n\t\t\tnullable: false\n\t\t}\n\t});\n\tconst inner = exprSelect().from(cfTable(\"pg_attribute\", \"a\")).join(cfTable(\"pg_class\", \"c\"), cfExpr.columnRef(\"c\", \"oid\").eqExpr(cfExpr.columnRef(\"a\", \"attrelid\"))).join(cfTable(\"pg_namespace\", \"n\"), cfExpr.columnRef(\"n\", \"oid\").eqExpr(cfExpr.columnRef(\"c\", \"relnamespace\"))).project(\"one\", cfExpr.lit(1)).where(cfExpr.allOf([\n\t\tcfExpr.columnRef(\"n\", \"nspname\").eqExpr(checkNamespace(options.schema).schemaFilterExpression()),\n\t\tcfExpr.columnRef(\"c\", \"relname\").eqParam(options.table, PG_TEXT_CODEC_ID),\n\t\tcfExpr.columnRef(\"a\", \"attname\").eqParam(options.column, PG_TEXT_CODEC_ID),\n\t\tformatType.eqParam(options.expectedType, PG_TEXT_CODEC_ID),\n\t\tcfExpr.columnRef(\"a\", \"attisdropped\").not()\n\t]));\n\treturn exprSelect().project(\"result\", cfExpr.exists(inner)).build();\n}\n/**\n* Typed primary-key existence check over `pg_index` joined to `pg_class`\n* and `pg_namespace`, with a LEFT JOIN on the index relation so an\n* optional `constraintName` can scope the match to a named constraint.\n*/\nfunction tablePrimaryKeyAst(options) {\n\tconst conditions = [\n\t\tcfExpr.columnRef(\"n\", \"nspname\").eqExpr(checkNamespace(options.schema).schemaFilterExpression()),\n\t\tcfExpr.columnRef(\"c\", \"relname\").eqParam(options.table, PG_TEXT_CODEC_ID),\n\t\tcfExpr.columnRef(\"i\", \"indisprimary\")\n\t];\n\tif (options.constraintName !== void 0) conditions.push(cfExpr.columnRef(\"c2\", \"relname\").eqParam(options.constraintName, PG_TEXT_CODEC_ID));\n\tconst inner = () => exprSelect().from(cfTable(\"pg_index\", \"i\")).join(cfTable(\"pg_class\", \"c\"), cfExpr.columnRef(\"c\", \"oid\").eqExpr(cfExpr.columnRef(\"i\", \"indrelid\"))).join(cfTable(\"pg_namespace\", \"n\"), cfExpr.columnRef(\"n\", \"oid\").eqExpr(cfExpr.columnRef(\"c\", \"relnamespace\"))).leftJoin(cfTable(\"pg_class\", \"c2\"), cfExpr.columnRef(\"c2\", \"oid\").eqExpr(cfExpr.columnRef(\"i\", \"indexrelid\"))).project(\"one\", cfExpr.lit(1)).where(cfExpr.allOf(conditions));\n\treturn {\n\t\tpkPresent: () => exprSelect().project(\"result\", cfExpr.exists(inner())).build(),\n\t\tpkAbsent: () => exprSelect().project(\"result\", cfExpr.notExists(inner())).build()\n\t};\n}\n/**\n* Typed emptiness check: NOT EXISTS over the user table itself with\n* `LIMIT 1`. The table is addressed through the namespace's polymorphic\n* `tableSource` (qualified for named schemas, bare for the unbound slot).\n*/\nfunction tableIsEmptyAst(schema, table) {\n\tconst inner = exprSelect().from(checkNamespace(schema).tableSource(table)).project(\"one\", cfExpr.lit(1)).limit(1);\n\treturn exprSelect().project(\"result\", cfExpr.notExists(inner)).build();\n}\n/**\n* Typed no-NULL-values data check used by `SET NOT NULL` prechecks:\n* NOT EXISTS over the user table where the column IS NULL.\n*/\nfunction noNullValuesAst(options) {\n\tconst inner = exprSelect().from(checkNamespace(options.schema).tableSource(options.table)).project(\"one\", cfExpr.lit(1)).where(cfExpr.identifierRef(options.column).isNull());\n\treturn exprSelect().project(\"result\", cfExpr.notExists(inner)).build();\n}\n/**\n* Typed extension existence check over `pg_extension`, with the extension\n* name bound as a text parameter.\n*/\nfunction extensionExistsAst(extensionName) {\n\tconst inner = () => exprSelect().from(cfTable(\"pg_extension\")).project(\"one\", cfExpr.lit(1)).where(cfExpr.identifierRef(\"extname\").eqParam(extensionName, PG_TEXT_CODEC_ID));\n\treturn {\n\t\textensionPresent: () => exprSelect().project(\"result\", cfExpr.exists(inner())).build(),\n\t\textensionAbsent: () => exprSelect().project(\"result\", cfExpr.notExists(inner())).build()\n\t};\n}\n/**\n* Typed RLS-policy existence check over `pg_policies`, with schema, table,\n* and policy names bound as text parameters (never inlined). The `schema`\n* coordinate is the resolved live-database schema name (e.g. `'public'`),\n* compared against `pg_policies.schemaname` as a bound parameter.\n*/\nfunction rlsPolicyExistsAst(options) {\n\tconst inner = () => exprSelect().from(cfTable(\"pg_policies\")).project(\"one\", cfExpr.lit(1)).where(cfExpr.allOf([\n\t\tcfExpr.identifierRef(\"schemaname\").eqParam(options.schema, PG_TEXT_CODEC_ID),\n\t\tcfExpr.identifierRef(\"tablename\").eqParam(options.table, PG_TEXT_CODEC_ID),\n\t\tcfExpr.identifierRef(\"policyname\").eqParam(options.policyName, PG_TEXT_CODEC_ID)\n\t]));\n\treturn {\n\t\tpolicyPresent: () => exprSelect().project(\"result\", cfExpr.exists(inner())).build(),\n\t\tpolicyAbsent: () => exprSelect().project(\"result\", cfExpr.notExists(inner())).build()\n\t};\n}\n/**\n* Typed row-level-security enabled check over `pg_class` joined to\n* `pg_namespace`, comparing `pg_class.relrowsecurity` against the expected\n* boolean. Schema and table names are bound as text parameters.\n*/\nfunction rlsEnabledAst(schema, table) {\n\tconst inner = (enabled) => exprSelect().from(cfTable(\"pg_class\", \"c\")).join(cfTable(\"pg_namespace\", \"n\"), cfExpr.columnRef(\"n\", \"oid\").eqExpr(cfExpr.columnRef(\"c\", \"relnamespace\"))).project(\"one\", cfExpr.lit(1)).where(cfExpr.allOf([\n\t\tcfExpr.columnRef(\"n\", \"nspname\").eqParam(schema, PG_TEXT_CODEC_ID),\n\t\tcfExpr.columnRef(\"c\", \"relname\").eqParam(table, PG_TEXT_CODEC_ID),\n\t\tenabled ? cfExpr.columnRef(\"c\", \"relrowsecurity\") : cfExpr.columnRef(\"c\", \"relrowsecurity\").not()\n\t]));\n\treturn {\n\t\trlsEnabled: () => exprSelect().project(\"result\", cfExpr.exists(inner(true))).build(),\n\t\trlsDisabled: () => exprSelect().project(\"result\", cfExpr.exists(inner(false))).build()\n\t};\n}\n/**\n* Typed index existence check riding the same `to_regclass` vocabulary as\n* `tableExistsAst`, with the qualified index name bound as a text parameter.\n*/\nfunction indexExistsAst(schema, indexName) {\n\tconst regclass = toRegclass(checkNamespace(schema).qualifyTable(indexName));\n\treturn {\n\t\tindexPresent: () => exprSelect().project(\"result\", regclass.isNotNull()).build(),\n\t\tindexAbsent: () => exprSelect().project(\"result\", regclass.isNull()).build()\n\t};\n}\n/**\n* Typed native-enum type existence check over `pg_type` joined to\n* `pg_namespace`, restricted to enum types (`typtype = 'e'`). Schema and\n* type name are bound as text parameters; `schema` is a namespace\n* coordinate (the `__unbound__` sentinel compares against\n* `current_schema()`), matching {@link tableExistsAst} et al.\n*/\nfunction nativeEnumTypeExistsAst(schema, typeName) {\n\tconst inner = () => exprSelect().from(cfTable(\"pg_type\", \"t\")).join(cfTable(\"pg_namespace\", \"n\"), cfExpr.columnRef(\"n\", \"oid\").eqExpr(cfExpr.columnRef(\"t\", \"typnamespace\"))).project(\"one\", cfExpr.lit(1)).where(cfExpr.allOf([\n\t\tcfExpr.columnRef(\"n\", \"nspname\").eqExpr(checkNamespace(schema).schemaFilterExpression()),\n\t\tcfExpr.columnRef(\"t\", \"typname\").eqParam(typeName, PG_TEXT_CODEC_ID),\n\t\tcfExpr.columnRef(\"t\", \"typtype\").eqParam(\"e\", PG_TEXT_CODEC_ID)\n\t]));\n\treturn {\n\t\ttypePresent: () => exprSelect().project(\"result\", cfExpr.exists(inner())).build(),\n\t\ttypeAbsent: () => exprSelect().project(\"result\", cfExpr.notExists(inner())).build()\n\t};\n}\n/**\n* Typed native-enum member-value existence check over `pg_enum` joined to\n* `pg_type` and `pg_namespace`. Schema, type name, and the candidate member\n* value are bound as text parameters — used by `addNativeEnumValue`'s\n* precheck (value absent) and postcheck (value present).\n*/\nfunction nativeEnumValueExistsAst(options) {\n\tconst inner = () => exprSelect().from(cfTable(\"pg_enum\", \"e\")).join(cfTable(\"pg_type\", \"t\"), cfExpr.columnRef(\"t\", \"oid\").eqExpr(cfExpr.columnRef(\"e\", \"enumtypid\"))).join(cfTable(\"pg_namespace\", \"n\"), cfExpr.columnRef(\"n\", \"oid\").eqExpr(cfExpr.columnRef(\"t\", \"typnamespace\"))).project(\"one\", cfExpr.lit(1)).where(cfExpr.allOf([\n\t\tcfExpr.columnRef(\"n\", \"nspname\").eqExpr(checkNamespace(options.schema).schemaFilterExpression()),\n\t\tcfExpr.columnRef(\"t\", \"typname\").eqParam(options.typeName, PG_TEXT_CODEC_ID),\n\t\tcfExpr.columnRef(\"e\", \"enumlabel\").eqParam(options.value, PG_TEXT_CODEC_ID)\n\t]));\n\treturn {\n\t\tvaluePresent: () => exprSelect().project(\"result\", cfExpr.exists(inner())).build(),\n\t\tvalueAbsent: () => exprSelect().project(\"result\", cfExpr.notExists(inner())).build()\n\t};\n}\n//#endregion\n//#region src/contract-free/ddl.ts\n/**\n* Build a Postgres `CREATE TABLE` query node.\n*\n* Pass `constraints` for table-level composite primary keys, foreign keys, and\n* unique constraints — use the {@link PrimaryKeyConstraint}, {@link ForeignKeyConstraint},\n* and {@link UniqueConstraint} classes from `@internal/sql-relational-core/ast`.\n*\n* Precondition: identifiers (`table`, `schema`, column names/types) are\n* emitted to SQL verbatim — they are not quoted or escaped, so callers must\n* pass pre-trusted values (e.g. fixed control-plane identifiers). String-literal\n* default values, by contrast, are single-quote-escaped (embedded `'` doubled)\n* by the renderer. Identifier quoting for untrusted identifiers is added when\n* the migration planner adopts this lowering path.\n*/\nfunction createTable(options) {\n\treturn new PostgresCreateTable(options);\n}\n/**\n* Build a Postgres `CREATE SCHEMA` query node. See {@link createTable} for the\n* pre-trusted-identifier precondition.\n*/\nfunction createSchema(options) {\n\treturn new PostgresCreateSchema(options);\n}\n/**\n* Build a Postgres `CREATE TYPE … AS ENUM (…)` DDL node. The type name (and\n* optional schema) are quoted by the renderer; the enum member `values` are\n* emitted as single-quote-escaped string literals. An absent `schema` renders\n* the type name unqualified so the connection's `search_path` resolves it.\n*/\nfunction createType(options) {\n\treturn new PostgresCreateType(options);\n}\n/**\n* Build a Postgres `DROP TYPE` DDL node. See {@link createType} for the\n* identifier-quoting and unqualified-when-schemaless behaviour.\n*/\nfunction dropType(options) {\n\treturn new PostgresDropType(options);\n}\n/**\n* Build an `ADD COLUMN` action for use inside {@link alterTable}.\n* The column is a structured `DdlColumn` so codec-encoded defaults flow\n* through the adapter's `pgRenderDdlColumn` → `pgRenderDdlColumnDefault` path.\n*/\nfunction addColumnAction(column) {\n\treturn new AddColumnAction(column);\n}\n/**\n* Build a `DROP DEFAULT` action (`ALTER COLUMN \"<name>\" DROP DEFAULT`) for\n* use inside {@link alterTable}. The renderer quotes the column name.\n*/\nfunction dropDefaultAction(columnName) {\n\treturn new DropDefaultAction(columnName);\n}\n/**\n* Build a Postgres `ALTER TABLE` query node carrying one or more actions.\n* See {@link addColumnAction} / {@link dropDefaultAction} for building actions.\n*/\nfunction alterTable(options) {\n\treturn new PostgresAlterTable(options);\n}\n/**\n* Build a Postgres `CREATE POLICY` DDL node.\n*\n* Identifiers (`schema`, `table`, `name`) are quoted by the renderer.\n* `using` and `withCheck` are emitted verbatim as predicate SQL — callers\n* must supply safe, pre-validated SQL expressions.\n*/\nfunction createPolicy(options) {\n\tconst { using, withCheck, ...rest } = options;\n\treturn new PostgresCreatePolicy({\n\t\t...rest,\n\t\t...ifDefined(\"using\", using === void 0 ? void 0 : opaqueSql(using)),\n\t\t...ifDefined(\"withCheck\", withCheck === void 0 ? void 0 : opaqueSql(withCheck))\n\t});\n}\n/**\n* Build a Postgres `DROP POLICY` DDL node.\n* Identifiers (`schema`, `table`, `name`) are quoted by the renderer.\n*/\nfunction dropPolicy(options) {\n\treturn new PostgresDropPolicy(options);\n}\n/**\n* Build a Postgres `ALTER POLICY … RENAME TO` DDL node.\n* Identifiers (`schema`, `table`, `name`, `newName`) are quoted by the renderer.\n*/\nfunction alterPolicyRename(options) {\n\treturn new PostgresAlterPolicyRename(options);\n}\n/**\n* Build a Postgres `CREATE [UNIQUE] INDEX` DDL node. Identifiers (`schema`,\n* `table`, `name`, column elements, `type`, option keys) are quoted by the\n* renderer; the `expression` element list and the `where` predicate are\n* inserted verbatim (opaque SQL). An absent `schema` renders the object\n* names unqualified (the unbound namespace).\n*/\nfunction createIndex(options) {\n\tconst { elements, where, ...rest } = options;\n\treturn new PostgresCreateIndex({\n\t\t...rest,\n\t\telements: \"columns\" in elements ? { columns: elements.columns } : { expression: opaqueSql(elements.expression) },\n\t\twhere: where === void 0 ? void 0 : opaqueSql(where)\n\t});\n}\n/**\n* Build a Postgres `DROP INDEX` DDL node. The index name (and optional\n* schema) are quoted by the renderer.\n*/\nfunction dropIndex(options) {\n\treturn new PostgresDropIndex(options);\n}\n/**\n* Build a Postgres `ALTER INDEX … RENAME TO` DDL node. Identifiers are\n* quoted by the renderer.\n*/\nfunction alterIndexRename(options) {\n\treturn new PostgresAlterIndexRename(options);\n}\n/**\n* Build a Postgres `ALTER TABLE … DISABLE ROW LEVEL SECURITY` DDL node.\n* Identifiers (`schema`, `table`) are quoted by the renderer.\n*/\nfunction disableRowLevelSecurity(options) {\n\treturn new PostgresDisableRowLevelSecurity(options);\n}\n//#endregion\nexport { toRegclass as A, nativeEnumValueExistsAst as C, tableExistsAst as D, rlsPolicyExistsAst as E, tableIsEmptyAst as O, nativeEnumTypeExistsAst as S, rlsEnabledAst as T, columnNullabilityAst as _, createIndex as a, extensionExistsAst as b, createTable as c, dropDefaultAction as d, dropIndex as f, columnExistsAst as g, columnDefaultAst as h, alterTable as i, tablePrimaryKeyAst as k, createType as l, dropType as m, alterIndexRename as n, createPolicy as o, dropPolicy as p, alterPolicyRename as r, createSchema as s, addColumnAction as t, disableRowLevelSecurity as u, columnTypeAst as v, noNullValuesAst as w, indexExistsAst as x, constraintExistsAst as y };\n\n//# sourceMappingURL=ddl-BzsT_-qY.mjs.map"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"default-normalizer-CrMBHF0W-BaUR4Ec8.mjs","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/default-normalizer-CrMBHF0W.mjs"],"sourcesContent":["import { r as canonicalUuid } from \"./codec-helpers-D015Pvwa.mjs\";\nimport { blindCast } from \"@internal/utils/casts\";\n//#region src/core/default-normalizer.ts\n/**\n* Pre-compiled regex patterns for performance.\n* These are compiled once at module load time rather than on each function call.\n*/\nconst NEXTVAL_PATTERN = /^nextval\\s*\\(/i;\nconst NOW_FUNCTION_PATTERN = /^(now\\s*\\(\\s*\\)|CURRENT_TIMESTAMP)$/i;\nconst CLOCK_TIMESTAMP_PATTERN = /^clock_timestamp\\s*\\(\\s*\\)$/i;\nconst TIMESTAMP_CAST_SUFFIX = /::timestamp(?:tz|\\s+(?:with|without)\\s+time\\s+zone)?$/i;\nconst TEXT_CAST_SUFFIX = /::text$/i;\nconst NOW_LITERAL_PATTERN = /^'now'$/i;\nconst UUID_PATTERN = /^gen_random_uuid\\s*\\(\\s*\\)$/i;\nconst UUID_OSSP_PATTERN = /^uuid_generate_v4\\s*\\(\\s*\\)$/i;\nconst NULL_PATTERN = /^NULL(?:::.+)?$/i;\nconst TRUE_PATTERN = /^true$/i;\nconst FALSE_PATTERN = /^false$/i;\n/**\n* A decimal numeral with an optional sign and an optional exponent. Postgres prints a `real` or\n* `double precision` default in exponent notation once its magnitude is large or small enough:\n* `'1e+20'::real`, `'1e-320'::double precision`.\n*/\nconst NUMERAL = String.raw`[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?`;\nconst NUMERIC_PATTERN = new RegExp(`^${NUMERAL}$`);\n/**\n* A type modifier: `(3)`, `(65,30)`, or a numeric type's negative scale, `(5,-2)`, which PostgreSQL\n* 15 and later accept.\n*/\nconst TYPE_MODIFIER = String.raw`\\(\\d+(?:,\\s*-?\\d+)?\\)`;\n/**\n* A cast target type: a builtin of one or more words, where any word may carry a modifier\n* (`timestamp(3) without time zone`, `numeric(65,30)`), or a quoted identifier (`\"AuditAction\"`);\n* either may be qualified by a possibly quoted schema (`audit.\"AuditAction\"`, `\"my schema\".t`).\n*/\nconst TYPE_NAME = String.raw`(?:(?:\"(?:[^\"]|\"\")+\"|\\w+)\\.)?(?:\"(?:[^\"]|\"\")+\"|\\w+(?:${TYPE_MODIFIER})?(?:\\s+\\w+(?:${TYPE_MODIFIER})?)*)`;\nconst QUOTED_LITERAL_PATTERN = new RegExp(`^'((?:[^']|'')*)'(?:::(${TYPE_NAME}))?$`);\nconst NUMBER_LITERAL_PATTERN = new RegExp(`^(${NUMERAL})(?:::(${TYPE_NAME}))?$`);\nconst PARENTHESISED_CAST_PATTERN = new RegExp(String.raw`^\\((.+)\\)::(${TYPE_NAME})$`, \"s\");\nconst INTEGER_PATTERN = /^-?\\d+$/;\nconst INTEGER_TYPE_PATTERN = /^(?:smallint|integer|bigint|int2|int4|int8)$/i;\nconst NUMBER_TYPE_PATTERN = new RegExp(`^(?:smallint|integer|bigint|int2|int4|int8|real|double precision|float4|float8|numeric|decimal)(?:${TYPE_MODIFIER})?$`, \"i\");\nconst DECIMAL_TEXT_TYPE_PATTERN = new RegExp(`^(?:bigint|int8|numeric|decimal)(?:${TYPE_MODIFIER})?$`, \"i\");\n/**\n* Matches a Postgres array literal default of the form `'{...}'::elemtype[]`.\n* The literal body is captured in group 1; the cast (including `[]`) is optional.\n* Examples: `'{}'::text[]`, `'{1,2}'::integer[]`, `'{}'`\n*/\nconst ARRAY_LITERAL_PATTERN = /^'(\\{.*\\})'(?:::.+\\[\\])?$/;\n/** `box` is the one core type whose array elements are delimited by `;`, not `,`. */\nconst SEMICOLON_DELIMITED_ELEMENT_TYPE_PATTERN = /^box$/i;\n/**\n* Matches the constructor spelling Postgres reports for a default written as\n* `ARRAY[...]`: `ARRAY['a'::text, 'b'::text]`, `ARRAY[1, 2]`, `ARRAY[]::text[]`.\n* The element list is captured in group 1; the outer cast is optional.\n*/\nconst ARRAY_CONSTRUCTOR_PATTERN = new RegExp(String.raw`^ARRAY\\[(.*?)\\](?:::${TYPE_NAME}\\[\\])?$`, \"is\");\nconst OUTER_ARRAY_CAST_PATTERN = new RegExp(String.raw`^\\((.+)\\)::${TYPE_NAME}\\[\\]$`, \"s\");\n/**\n* Returns the canonical expression for a timestamp default function, or undefined\n* if the expression is not a recognized timestamp default.\n*\n* Keeps now()/CURRENT_TIMESTAMP and clock_timestamp() distinct:\n* - now(), CURRENT_TIMESTAMP, ('now'::text)::timestamp... → 'now()'\n* - clock_timestamp(), clock_timestamp()::timestamptz → 'clock_timestamp()'\n*\n* These are semantically different in Postgres: now() returns the transaction\n* start time (constant within a transaction), while clock_timestamp() returns\n* the actual wall-clock time (can differ across rows in a single INSERT).\n*/\nfunction canonicalizeTimestampDefault(expr) {\n\tif (NOW_FUNCTION_PATTERN.test(expr)) return \"now()\";\n\tif (CLOCK_TIMESTAMP_PATTERN.test(expr)) return \"clock_timestamp()\";\n\tif (!TIMESTAMP_CAST_SUFFIX.test(expr)) return void 0;\n\tlet inner = expr.replace(TIMESTAMP_CAST_SUFFIX, \"\").trim();\n\tif (inner.startsWith(\"(\") && inner.endsWith(\")\")) inner = inner.slice(1, -1).trim();\n\tif (NOW_FUNCTION_PATTERN.test(inner)) return \"now()\";\n\tif (CLOCK_TIMESTAMP_PATTERN.test(inner)) return \"clock_timestamp()\";\n\tinner = inner.replace(TEXT_CAST_SUFFIX, \"\").trim();\n\tif (NOW_LITERAL_PATTERN.test(inner)) return \"now()\";\n}\n/**\n* A numeral cast to a number type. A cast to an integer type rounds a fraction, so that numeral is\n* not the value.\n*/\nfunction castNumber(numeral, castType) {\n\tif (castType === void 0) return {\n\t\tkind: \"number\",\n\t\tnumeral\n\t};\n\tif (!NUMBER_TYPE_PATTERN.test(castType)) return void 0;\n\tif (INTEGER_TYPE_PATTERN.test(castType) && !INTEGER_PATTERN.test(numeral)) return void 0;\n\treturn {\n\t\tkind: \"number\",\n\t\tnumeral\n\t};\n}\n/**\n* Reads a literal by its cast type: `'-1'::integer` and `(1)::bigint` are numbers, `'a'::text` is a\n* string. A parenthesised cast is read only from number to number: `('now'::text)::date` is\n* evaluated on insert. Anything else, such as an operator or a function call, is not a literal.\n*/\nfunction readLiteralToken(expression) {\n\tconst quoted = QUOTED_LITERAL_PATTERN.exec(expression);\n\tif (quoted?.[1] !== void 0) {\n\t\tconst text = quoted[1].replace(/''/g, \"'\");\n\t\tconst castType = quoted[2];\n\t\treturn castType !== void 0 && NUMBER_TYPE_PATTERN.test(castType) && NUMERIC_PATTERN.test(text) ? castNumber(text, castType) : {\n\t\t\tkind: \"string\",\n\t\t\ttext\n\t\t};\n\t}\n\tconst number = NUMBER_LITERAL_PATTERN.exec(expression);\n\tif (number?.[1] !== void 0) return castNumber(number[1], number[2]);\n\tconst parenthesised = PARENTHESISED_CAST_PATTERN.exec(expression);\n\tif (parenthesised?.[1] === void 0 || parenthesised[2] === void 0) return void 0;\n\tconst inner = readLiteralToken(parenthesised[1].trim());\n\treturn inner?.kind === \"number\" ? castNumber(inner.numeral, parenthesised[2]) : void 0;\n}\n/**\n* `int8` and `numeric` defaults are decimal text, the JSON form of their codecs, so no digit is\n* lost to a JavaScript number. A column that is not a number type stores the numeral as text.\n*/\nfunction numberValue(numeral, nativeType) {\n\tif (nativeType !== void 0 && DECIMAL_TEXT_TYPE_PATTERN.test(nativeType)) return numeral;\n\tif (nativeType !== void 0 && !NUMBER_TYPE_PATTERN.test(nativeType)) return numeral;\n\tconst parsed = Number(numeral);\n\treturn Number.isFinite(parsed) ? parsed : void 0;\n}\n/**\n* Splits a Postgres array literal body (without the enclosing braces) into its\n* element tokens, honouring quoting. A comma only separates elements when it is\n* outside double quotes; inside a quoted element a doubled quote (`\"\"`) or a\n* backslash-escaped quote (`\\\"`) is a literal quote, and a backslash escapes the\n* next character. Returns undefined if the body is malformed (e.g. an unbalanced\n* quote), nests an array, which puts a brace outside quotes, or escapes a character outside\n* quotes with a backslash, which Postgres never prints.\n*/\nfunction splitArrayElements(inner) {\n\tconst tokens = [];\n\tlet current = \"\";\n\tlet inQuotes = false;\n\tlet quoted = false;\n\tfor (let i = 0; i < inner.length; i++) {\n\t\tconst char = inner[i];\n\t\tif (inQuotes) {\n\t\t\tif (char === \"\\\\\") {\n\t\t\t\tconst next = inner[i + 1];\n\t\t\t\tif (next === void 0) return void 0;\n\t\t\t\tcurrent += next;\n\t\t\t\ti++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (char === \"\\\"\") {\n\t\t\t\tif (inner[i + 1] === \"\\\"\") {\n\t\t\t\t\tcurrent += \"\\\"\";\n\t\t\t\t\ti++;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tinQuotes = false;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tcurrent += char;\n\t\t\tcontinue;\n\t\t}\n\t\tif (char === \"\\\"\") {\n\t\t\tinQuotes = true;\n\t\t\tquoted = true;\n\t\t\tcontinue;\n\t\t}\n\t\tif (char === \"{\" || char === \"}\" || char === \"\\\\\") return void 0;\n\t\tif (char === \",\") {\n\t\t\ttokens.push({\n\t\t\t\tvalue: current,\n\t\t\t\tquoted\n\t\t\t});\n\t\t\tcurrent = \"\";\n\t\t\tquoted = false;\n\t\t\tcontinue;\n\t\t}\n\t\tcurrent += char;\n\t}\n\tif (inQuotes) return void 0;\n\ttokens.push({\n\t\tvalue: current,\n\t\tquoted\n\t});\n\treturn tokens;\n}\nconst BOOLEAN_TYPE_PATTERN = /^(?:bool|boolean)$/i;\nconst BOOLEAN_TRUE_TOKEN_PATTERN = /^(?:t|true)$/i;\nconst BOOLEAN_FALSE_TOKEN_PATTERN = /^(?:f|false)$/i;\nconst BYTEA_HEX_INPUT = /^\\\\x((?:[ \\t\\n\\r]*[0-9A-Fa-f]{2})*)[ \\t\\n\\r]*$/;\nconst BYTEA_ESCAPE_TOKEN = /\\\\\\\\|\\\\[0-3][0-7]{2}|[^\\\\]+|\\\\/g;\nfunction byteaEscapeTokenBytes(token) {\n\tif (token === \"\\\\\\\\\") return Buffer.from(\"\\\\\");\n\tif (token === \"\\\\\") return void 0;\n\tif (token.startsWith(\"\\\\\")) return Buffer.from([Number.parseInt(token.slice(1), 8)]);\n\treturn Buffer.from(token, \"utf8\");\n}\n/**\n* The bytes of `bytea` input text, as the base64 the codec stores, or `undefined` for text\n* PostgreSQL refuses. Text starting `\\x` is hex, two digits for each byte. Any other text is the\n* escape format: `\\\\` is a backslash, `\\` and three octal digits is that byte, and any other\n* character is its UTF-8 bytes.\n*/\nfunction byteaInputBase64(text) {\n\tconst hex = BYTEA_HEX_INPUT.exec(text)?.[1];\n\tif (hex !== void 0) return Buffer.from(hex.replace(/\\s/g, \"\"), \"hex\").toString(\"base64\");\n\tif (text.startsWith(\"\\\\x\")) return void 0;\n\tconst chunks = [];\n\tfor (const [token] of text.matchAll(BYTEA_ESCAPE_TOKEN)) {\n\t\tconst bytes = byteaEscapeTokenBytes(token);\n\t\tif (bytes === void 0) return void 0;\n\t\tchunks.push(bytes);\n\t}\n\treturn Buffer.concat(chunks).toString(\"base64\");\n}\n/**\n* A text default as the column stores it: a uuid in the form PostgreSQL writes, which its codec\n* reads, and a bytea as the base64 of its bytes. `undefined` for bytea text PostgreSQL refuses.\n*/\nfunction storedText(text, nativeType) {\n\tif (nativeType === \"bytea\") return byteaInputBase64(text);\n\treturn nativeType === \"uuid\" ? canonicalUuid(text) ?? text : text;\n}\n/**\n* Reads an unquoted, non-NULL array element by the column's element type. Only text Postgres itself\n* would print is read; anything else keeps the raw expression.\n*/\nfunction unquotedElementValue(token, elementType) {\n\tif (token === \"\") return void 0;\n\tif (BOOLEAN_TYPE_PATTERN.test(elementType)) {\n\t\tif (BOOLEAN_TRUE_TOKEN_PATTERN.test(token)) return true;\n\t\tif (BOOLEAN_FALSE_TOKEN_PATTERN.test(token)) return false;\n\t\treturn;\n\t}\n\tif (NUMBER_TYPE_PATTERN.test(elementType)) return NUMERIC_PATTERN.test(token) ? numberValue(token, elementType) : void 0;\n\tif (isJsonElementType(elementType)) {\n\t\tconst document = readJsonDocument(token);\n\t\treturn document.kind === \"json\" ? document.value : void 0;\n\t}\n\treturn storedText(token, elementType);\n}\n/**\n* Parses a Postgres array literal body (`{...}`) into a JS array of primitives.\n* Returns undefined if the body cannot be reliably parsed.\n*\n* Handles:\n* - `{}` → `[]`\n* - `{elem1,elem2,...}` → `[elem1, elem2, ...]`, each unquoted element read by the element type\n* - quoted elements that contain commas, doubled/escaped quotes, and the literal\n* strings `NULL`/`true`/`false` (a quoted token is always a string)\n*/\nfunction parseArrayLiteralBody(body, elementType) {\n\tconst inner = body.slice(1, -1).trim();\n\tif (inner === \"\") return [];\n\tconst tokens = splitArrayElements(inner);\n\tif (tokens === void 0) return void 0;\n\tconst result = [];\n\tfor (const token of tokens) {\n\t\tif (token.quoted) {\n\t\t\tconst value = textElementValue(token.value, elementType);\n\t\t\tif (value === void 0) return void 0;\n\t\t\tresult.push(value);\n\t\t\tcontinue;\n\t\t}\n\t\tconst el = token.value.trim();\n\t\tif (el.toUpperCase() === \"NULL\") {\n\t\t\tif (isJsonElementType(elementType)) return void 0;\n\t\t\tresult.push(null);\n\t\t\tcontinue;\n\t\t}\n\t\tconst value = unquotedElementValue(el, elementType);\n\t\tif (value === void 0) return void 0;\n\t\tresult.push(value);\n\t}\n\treturn result;\n}\n/**\n* Splits an `ARRAY[...]` element list on the commas outside quotes and parentheses, so\n* `numeric(65,30)` and `'a,b'` stay inside one element. A doubled quote inside an element is a\n* literal quote, so it never closes one.\n*/\nfunction splitConstructorElements(body) {\n\tconst elements = [];\n\tlet current = \"\";\n\tlet quote;\n\tlet depth = 0;\n\tfor (const char of body) {\n\t\tif (quote !== void 0) {\n\t\t\tif (char === quote) quote = void 0;\n\t\t} else if (char === \"'\" || char === \"\\\"\") quote = char;\n\t\telse if (char === \"(\") depth++;\n\t\telse if (char === \")\") depth--;\n\t\telse if (char === \",\" && depth === 0) {\n\t\t\telements.push(current);\n\t\t\tcurrent = \"\";\n\t\t\tcontinue;\n\t\t}\n\t\tcurrent += char;\n\t}\n\telements.push(current);\n\treturn elements.map((element) => element.trim());\n}\n/**\n* Reads one `ARRAY[...]` element: NULL, a boolean, or a literal read by its cast type. Anything\n* else, such as a function call, means the constructor is not a literal and the caller keeps the\n* raw expression.\n*/\nfunction parseConstructorElement(element, elementType) {\n\tif (NULL_PATTERN.test(element)) return isJsonElementType(elementType) ? void 0 : null;\n\tif (TRUE_PATTERN.test(element)) return true;\n\tif (FALSE_PATTERN.test(element)) return false;\n\tconst token = readLiteralToken(element);\n\tif (token === void 0) return void 0;\n\treturn token.kind === \"number\" ? numberValue(token.numeral, elementType) : textElementValue(token.text, elementType);\n}\nfunction isJsonElementType(elementType) {\n\treturn elementType === \"json\" || elementType === \"jsonb\";\n}\n/**\n* A `json`/`jsonb` element's text is a JSON document, as it is on a scalar column of the same type.\n* Undefined keeps the raw expression: the document holds a number a JavaScript number would change.\n*/\nfunction textElementValue(text, elementType) {\n\tif (!isJsonElementType(elementType)) return storedText(text, elementType);\n\tconst document = readJsonDocument(text);\n\tif (document.kind === \"inexact\") return void 0;\n\treturn document.kind === \"json\" ? document.value : text;\n}\n/**\n* Parses JSON text. Postgres keeps every digit of a json number, so a document holding a number that\n* would not print back as the same value once read into a JavaScript number, such as\n* `12345678901234567890` or `1e400`, is `inexact`. `1.0` prints back as `1`, the same value.\n*/\nfunction readJsonDocument(text) {\n\tlet exact = true;\n\tconst reviver = (_key, value, context) => {\n\t\tif (typeof value === \"number\" && !keepsJsonNumber(value, context?.source)) exact = false;\n\t\treturn value;\n\t};\n\tlet value;\n\ttry {\n\t\tvalue = blindCast(JSON.parse(text, reviver));\n\t} catch {\n\t\treturn { kind: \"invalid\" };\n\t}\n\treturn exact ? {\n\t\tkind: \"json\",\n\t\tvalue\n\t} : { kind: \"inexact\" };\n}\nfunction keepsJsonNumber(value, source) {\n\tif (!Number.isFinite(value) || source === void 0) return false;\n\tconst written = decimalValue(source);\n\treturn written !== void 0 && written === decimalValue(String(value));\n}\nconst DECIMAL_PARTS_PATTERN = /^(-?)(\\d+)(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/;\n/** A numeral's value as `<sign><digits>e<exponent>`, with no leading or trailing zero digits. */\nfunction decimalValue(numeral) {\n\tconst parts = DECIMAL_PARTS_PATTERN.exec(numeral);\n\tif (parts === null) return void 0;\n\tconst [, sign = \"\", whole = \"\", fraction = \"\", exponent = \"0\"] = parts;\n\tconst digits = `${whole}${fraction}`.replace(/^0+/, \"\");\n\tif (digits === \"\") return \"0\";\n\tconst significant = digits.replace(/0+$/, \"\");\n\treturn `${sign}${significant}e${Number(exponent) - fraction.length + digits.length - significant.length}`;\n}\nfunction parseArrayConstructor(body, elementType) {\n\tif (body.trim() === \"\") return [];\n\tconst values = [];\n\tfor (const element of splitConstructorElements(body)) {\n\t\tconst value = parseConstructorElement(element, elementType);\n\t\tif (value === void 0) return void 0;\n\t\tvalues.push(value);\n\t}\n\treturn values;\n}\nfunction unwrapOuterArrayCasts(expression) {\n\tconst match = OUTER_ARRAY_CAST_PATTERN.exec(expression);\n\treturn match?.[1] === void 0 ? expression : unwrapOuterArrayCasts(match[1].trim());\n}\n/**\n* Parses a raw Postgres column default expression into a normalized ColumnDefault.\n* This enables semantic comparison between contract defaults and introspected schema defaults.\n*\n* Used by the migration diff layer to normalize raw database defaults during comparison,\n* keeping the introspection layer focused on faithful data capture.\n*\n* @param rawDefault - Raw default expression from information_schema.columns.column_default\n* @param nativeType - Native column type, used for type-aware parsing (array, int8, numeric, JSON)\n* @returns Normalized ColumnDefault or undefined if the expression cannot be parsed\n*/\nfunction parsePostgresDefault(rawDefault, nativeType) {\n\tconst trimmed = rawDefault.trim();\n\tconst normalizedType = nativeType?.toLowerCase();\n\tif (NEXTVAL_PATTERN.test(trimmed)) return {\n\t\tkind: \"function\",\n\t\texpression: \"autoincrement()\"\n\t};\n\tif (normalizedType?.endsWith(\"[]\")) {\n\t\tconst elementType = normalizedType.slice(0, -2);\n\t\tconst arrayMatch = trimmed.match(ARRAY_LITERAL_PATTERN);\n\t\tif (arrayMatch?.[1] !== void 0 && !SEMICOLON_DELIMITED_ELEMENT_TYPE_PATTERN.test(elementType)) {\n\t\t\tconst parsed = parseArrayLiteralBody(arrayMatch[1].replace(/''/g, \"'\"), elementType);\n\t\t\tif (parsed !== void 0) return {\n\t\t\t\tkind: \"literal\",\n\t\t\t\tvalue: parsed\n\t\t\t};\n\t\t}\n\t\tconst constructorMatch = unwrapOuterArrayCasts(trimmed).match(ARRAY_CONSTRUCTOR_PATTERN);\n\t\tif (constructorMatch?.[1] !== void 0) {\n\t\t\tconst parsed = parseArrayConstructor(constructorMatch[1], elementType);\n\t\t\tif (parsed !== void 0) return {\n\t\t\t\tkind: \"literal\",\n\t\t\t\tvalue: parsed\n\t\t\t};\n\t\t}\n\t\tif (NULL_PATTERN.test(trimmed)) return {\n\t\t\tkind: \"literal\",\n\t\t\tvalue: null\n\t\t};\n\t\treturn {\n\t\t\tkind: \"function\",\n\t\t\texpression: trimmed\n\t\t};\n\t}\n\tconst canonicalTimestamp = canonicalizeTimestampDefault(trimmed);\n\tif (canonicalTimestamp) return {\n\t\tkind: \"function\",\n\t\texpression: canonicalTimestamp\n\t};\n\tif (UUID_PATTERN.test(trimmed)) return {\n\t\tkind: \"function\",\n\t\texpression: \"gen_random_uuid()\"\n\t};\n\tif (UUID_OSSP_PATTERN.test(trimmed)) return {\n\t\tkind: \"function\",\n\t\texpression: \"gen_random_uuid()\"\n\t};\n\tif (NULL_PATTERN.test(trimmed)) return {\n\t\tkind: \"literal\",\n\t\tvalue: null\n\t};\n\tif (TRUE_PATTERN.test(trimmed)) return {\n\t\tkind: \"literal\",\n\t\tvalue: true\n\t};\n\tif (FALSE_PATTERN.test(trimmed)) return {\n\t\tkind: \"literal\",\n\t\tvalue: false\n\t};\n\tconst token = readLiteralToken(trimmed);\n\tif (token === void 0) return {\n\t\tkind: \"function\",\n\t\texpression: trimmed\n\t};\n\tif (token.kind === \"number\") {\n\t\tconst value = numberValue(token.numeral, normalizedType);\n\t\treturn value === void 0 ? void 0 : {\n\t\t\tkind: \"literal\",\n\t\t\tvalue\n\t\t};\n\t}\n\tif (normalizedType !== void 0 && isJsonElementType(normalizedType)) {\n\t\tconst document = readJsonDocument(token.text);\n\t\tif (document.kind === \"inexact\") return {\n\t\t\tkind: \"function\",\n\t\t\texpression: trimmed\n\t\t};\n\t\tif (document.kind === \"json\") return {\n\t\t\tkind: \"literal\",\n\t\t\tvalue: document.value\n\t\t};\n\t}\n\tconst text = storedText(token.text, normalizedType);\n\treturn text === void 0 ? {\n\t\tkind: \"function\",\n\t\texpression: trimmed\n\t} : {\n\t\tkind: \"literal\",\n\t\tvalue: text\n\t};\n}\n/**\n* Normalizes a contract-declared default through {@link parsePostgresDefault}\n* — the same parser introspection uses — so a function-shaped default the\n* parser recognizes as a literal (e.g. sql`'{}'::jsonb`)\n* resolves to the same `resolvedDefault` shape a live introspected column\n* would produce. Compensates once, at `SchemaIR` construction of the\n* expected (contract-derived) side (`contractToSchemaIR`'s `resolveDefault`\n* hook), instead of at every site that later compares the two sides. A\n* literal default, or a function form the parser doesn't recognize, passes\n* through unchanged; `nextval(...)` normalizes to `autoincrement()` on both\n* sides, matching a `serial`/identity column's introspected counterpart.\n*/\nfunction postgresResolveDefault(def, resolvedNativeType) {\n\tif (def.kind !== \"function\") return def;\n\treturn parsePostgresDefault(def.expression, resolvedNativeType) ?? def;\n}\n//#endregion\nexport { postgresResolveDefault as n, parsePostgresDefault as t };\n\n//# sourceMappingURL=default-normalizer-CrMBHF0W.mjs.map"],"mappings":";;;;;;;AAOA,MAAM,kBAAkB;AACxB,MAAM,uBAAuB;AAC7B,MAAM,0BAA0B;AAChC,MAAM,wBAAwB;AAC9B,MAAM,mBAAmB;AACzB,MAAM,sBAAsB;AAC5B,MAAM,eAAe;AACrB,MAAM,oBAAoB;AAC1B,MAAM,eAAe;AACrB,MAAM,eAAe;AACrB,MAAM,gBAAgB;;;;;;AAMtB,MAAM,UAAU,OAAO,GAAG;AAC1B,MAAM,kBAAkB,IAAI,OAAO,IAAI,QAAQ,EAAE;;;;;AAKjD,MAAM,gBAAgB,OAAO,GAAG;;;;;;AAMhC,MAAM,YAAY,OAAO,GAAG,wDAAwD,cAAc,gBAAgB,cAAc;AAChI,MAAM,yBAAyB,IAAI,OAAO,0BAA0B,UAAU,KAAK;AACnF,MAAM,yBAAyB,IAAI,OAAO,KAAK,QAAQ,SAAS,UAAU,KAAK;AAC/E,MAAM,6BAA6B,IAAI,OAAO,OAAO,GAAG,eAAe,UAAU,KAAK,GAAG;AACzF,MAAM,kBAAkB;AACxB,MAAM,uBAAuB;AAC7B,MAAM,sBAAsB,IAAI,OAAO,qGAAqG,cAAc,MAAM,GAAG;AACnK,MAAM,4BAA4B,IAAI,OAAO,sCAAsC,cAAc,MAAM,GAAG;;;;;;AAM1G,MAAM,wBAAwB;;AAE9B,MAAM,2CAA2C;;;;;;AAMjD,MAAM,4BAA4B,IAAI,OAAO,OAAO,GAAG,uBAAuB,UAAU,UAAU,IAAI;AACtG,MAAM,2BAA2B,IAAI,OAAO,OAAO,GAAG,cAAc,UAAU,QAAQ,GAAG;;;;;;;;;;;;;AAazF,SAAS,6BAA6B,MAAM;CAC3C,IAAI,qBAAqB,KAAK,IAAI,GAAG,OAAO;CAC5C,IAAI,wBAAwB,KAAK,IAAI,GAAG,OAAO;CAC/C,IAAI,CAAC,sBAAsB,KAAK,IAAI,GAAG,OAAO,KAAK;CACnD,IAAI,QAAQ,KAAK,QAAQ,uBAAuB,EAAE,CAAC,CAAC,KAAK;CACzD,IAAI,MAAM,WAAW,GAAG,KAAK,MAAM,SAAS,GAAG,GAAG,QAAQ,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,KAAK;CAClF,IAAI,qBAAqB,KAAK,KAAK,GAAG,OAAO;CAC7C,IAAI,wBAAwB,KAAK,KAAK,GAAG,OAAO;CAChD,QAAQ,MAAM,QAAQ,kBAAkB,EAAE,CAAC,CAAC,KAAK;CACjD,IAAI,oBAAoB,KAAK,KAAK,GAAG,OAAO;AAC7C;;;;;AAKA,SAAS,WAAW,SAAS,UAAU;CACtC,IAAI,aAAa,KAAK,GAAG,OAAO;EAC/B,MAAM;EACN;CACD;CACA,IAAI,CAAC,oBAAoB,KAAK,QAAQ,GAAG,OAAO,KAAK;CACrD,IAAI,qBAAqB,KAAK,QAAQ,KAAK,CAAC,gBAAgB,KAAK,OAAO,GAAG,OAAO,KAAK;CACvF,OAAO;EACN,MAAM;EACN;CACD;AACD;;;;;;AAMA,SAAS,iBAAiB,YAAY;CACrC,MAAM,SAAS,uBAAuB,KAAK,UAAU;CACrD,IAAI,SAAS,OAAO,KAAK,GAAG;EAC3B,MAAM,OAAO,OAAO,EAAE,CAAC,QAAQ,OAAO,GAAG;EACzC,MAAM,WAAW,OAAO;EACxB,OAAO,aAAa,KAAK,KAAK,oBAAoB,KAAK,QAAQ,KAAK,gBAAgB,KAAK,IAAI,IAAI,WAAW,MAAM,QAAQ,IAAI;GAC7H,MAAM;GACN;EACD;CACD;CACA,MAAM,SAAS,uBAAuB,KAAK,UAAU;CACrD,IAAI,SAAS,OAAO,KAAK,GAAG,OAAO,WAAW,OAAO,IAAI,OAAO,EAAE;CAClE,MAAM,gBAAgB,2BAA2B,KAAK,UAAU;CAChE,IAAI,gBAAgB,OAAO,KAAK,KAAK,cAAc,OAAO,KAAK,GAAG,OAAO,KAAK;CAC9E,MAAM,QAAQ,iBAAiB,cAAc,EAAE,CAAC,KAAK,CAAC;CACtD,OAAO,OAAO,SAAS,WAAW,WAAW,MAAM,SAAS,cAAc,EAAE,IAAI,KAAK;AACtF;;;;;AAKA,SAAS,YAAY,SAAS,YAAY;CACzC,IAAI,eAAe,KAAK,KAAK,0BAA0B,KAAK,UAAU,GAAG,OAAO;CAChF,IAAI,eAAe,KAAK,KAAK,CAAC,oBAAoB,KAAK,UAAU,GAAG,OAAO;CAC3E,MAAM,SAAS,OAAO,OAAO;CAC7B,OAAO,OAAO,SAAS,MAAM,IAAI,SAAS,KAAK;AAChD;;;;;;;;;;AAUA,SAAS,mBAAmB,OAAO;CAClC,MAAM,SAAS,CAAC;CAChB,IAAI,UAAU;CACd,IAAI,WAAW;CACf,IAAI,SAAS;CACb,KAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;EACtC,MAAM,OAAO,MAAM;EACnB,IAAI,UAAU;GACb,IAAI,SAAS,MAAM;IAClB,MAAM,OAAO,MAAM,IAAI;IACvB,IAAI,SAAS,KAAK,GAAG,OAAO,KAAK;IACjC,WAAW;IACX;IACA;GACD;GACA,IAAI,SAAS,MAAM;IAClB,IAAI,MAAM,IAAI,OAAO,MAAM;KAC1B,WAAW;KACX;KACA;IACD;IACA,WAAW;IACX;GACD;GACA,WAAW;GACX;EACD;EACA,IAAI,SAAS,MAAM;GAClB,WAAW;GACX,SAAS;GACT;EACD;EACA,IAAI,SAAS,OAAO,SAAS,OAAO,SAAS,MAAM,OAAO,KAAK;EAC/D,IAAI,SAAS,KAAK;GACjB,OAAO,KAAK;IACX,OAAO;IACP;GACD,CAAC;GACD,UAAU;GACV,SAAS;GACT;EACD;EACA,WAAW;CACZ;CACA,IAAI,UAAU,OAAO,KAAK;CAC1B,OAAO,KAAK;EACX,OAAO;EACP;CACD,CAAC;CACD,OAAO;AACR;AACA,MAAM,uBAAuB;AAC7B,MAAM,6BAA6B;AACnC,MAAM,8BAA8B;AACpC,MAAM,kBAAkB;AACxB,MAAM,qBAAqB;AAC3B,SAAS,sBAAsB,OAAO;CACrC,IAAI,UAAU,QAAQ,OAAO,OAAO,KAAK,IAAI;CAC7C,IAAI,UAAU,MAAM,OAAO,KAAK;CAChC,IAAI,MAAM,WAAW,IAAI,GAAG,OAAO,OAAO,KAAK,CAAC,OAAO,SAAS,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;CACnF,OAAO,OAAO,KAAK,OAAO,MAAM;AACjC;;;;;;;AAOA,SAAS,iBAAiB,MAAM;CAC/B,MAAM,MAAM,gBAAgB,KAAK,IAAI,CAAC,GAAG;CACzC,IAAI,QAAQ,KAAK,GAAG,OAAO,OAAO,KAAK,IAAI,QAAQ,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,SAAS,QAAQ;CACvF,IAAI,KAAK,WAAW,KAAK,GAAG,OAAO,KAAK;CACxC,MAAM,SAAS,CAAC;CAChB,KAAK,MAAM,CAAC,UAAU,KAAK,SAAS,kBAAkB,GAAG;EACxD,MAAM,QAAQ,sBAAsB,KAAK;EACzC,IAAI,UAAU,KAAK,GAAG,OAAO,KAAK;EAClC,OAAO,KAAK,KAAK;CAClB;CACA,OAAO,OAAO,OAAO,MAAM,CAAC,CAAC,SAAS,QAAQ;AAC/C;;;;;AAKA,SAAS,WAAW,MAAM,YAAY;CACrC,IAAI,eAAe,SAAS,OAAO,iBAAiB,IAAI;CACxD,OAAO,eAAe,SAAS,cAAc,IAAI,KAAK,OAAO;AAC9D;;;;;AAKA,SAAS,qBAAqB,OAAO,aAAa;CACjD,IAAI,UAAU,IAAI,OAAO,KAAK;CAC9B,IAAI,qBAAqB,KAAK,WAAW,GAAG;EAC3C,IAAI,2BAA2B,KAAK,KAAK,GAAG,OAAO;EACnD,IAAI,4BAA4B,KAAK,KAAK,GAAG,OAAO;EACpD;CACD;CACA,IAAI,oBAAoB,KAAK,WAAW,GAAG,OAAO,gBAAgB,KAAK,KAAK,IAAI,YAAY,OAAO,WAAW,IAAI,KAAK;CACvH,IAAI,kBAAkB,WAAW,GAAG;EACnC,MAAM,WAAW,iBAAiB,KAAK;EACvC,OAAO,SAAS,SAAS,SAAS,SAAS,QAAQ,KAAK;CACzD;CACA,OAAO,WAAW,OAAO,WAAW;AACrC;;;;;;;;;;;AAWA,SAAS,sBAAsB,MAAM,aAAa;CACjD,MAAM,QAAQ,KAAK,MAAM,GAAG,EAAE,CAAC,CAAC,KAAK;CACrC,IAAI,UAAU,IAAI,OAAO,CAAC;CAC1B,MAAM,SAAS,mBAAmB,KAAK;CACvC,IAAI,WAAW,KAAK,GAAG,OAAO,KAAK;CACnC,MAAM,SAAS,CAAC;CAChB,KAAK,MAAM,SAAS,QAAQ;EAC3B,IAAI,MAAM,QAAQ;GACjB,MAAM,QAAQ,iBAAiB,MAAM,OAAO,WAAW;GACvD,IAAI,UAAU,KAAK,GAAG,OAAO,KAAK;GAClC,OAAO,KAAK,KAAK;GACjB;EACD;EACA,MAAM,KAAK,MAAM,MAAM,KAAK;EAC5B,IAAI,GAAG,YAAY,MAAM,QAAQ;GAChC,IAAI,kBAAkB,WAAW,GAAG,OAAO,KAAK;GAChD,OAAO,KAAK,IAAI;GAChB;EACD;EACA,MAAM,QAAQ,qBAAqB,IAAI,WAAW;EAClD,IAAI,UAAU,KAAK,GAAG,OAAO,KAAK;EAClC,OAAO,KAAK,KAAK;CAClB;CACA,OAAO;AACR;;;;;;AAMA,SAAS,yBAAyB,MAAM;CACvC,MAAM,WAAW,CAAC;CAClB,IAAI,UAAU;CACd,IAAI;CACJ,IAAI,QAAQ;CACZ,KAAK,MAAM,QAAQ,MAAM;EACxB,IAAI,UAAU,KAAK,GACd;OAAA,SAAS,OAAO,QAAQ,KAAK;EAAA,OAC3B,IAAI,SAAS,OAAO,SAAS,MAAM,QAAQ;OAC7C,IAAI,SAAS,KAAK;OAClB,IAAI,SAAS,KAAK;OAClB,IAAI,SAAS,OAAO,UAAU,GAAG;GACrC,SAAS,KAAK,OAAO;GACrB,UAAU;GACV;EACD;EACA,WAAW;CACZ;CACA,SAAS,KAAK,OAAO;CACrB,OAAO,SAAS,KAAK,YAAY,QAAQ,KAAK,CAAC;AAChD;;;;;;AAMA,SAAS,wBAAwB,SAAS,aAAa;CACtD,IAAI,aAAa,KAAK,OAAO,GAAG,OAAO,kBAAkB,WAAW,IAAI,KAAK,IAAI;CACjF,IAAI,aAAa,KAAK,OAAO,GAAG,OAAO;CACvC,IAAI,cAAc,KAAK,OAAO,GAAG,OAAO;CACxC,MAAM,QAAQ,iBAAiB,OAAO;CACtC,IAAI,UAAU,KAAK,GAAG,OAAO,KAAK;CAClC,OAAO,MAAM,SAAS,WAAW,YAAY,MAAM,SAAS,WAAW,IAAI,iBAAiB,MAAM,MAAM,WAAW;AACpH;AACA,SAAS,kBAAkB,aAAa;CACvC,OAAO,gBAAgB,UAAU,gBAAgB;AAClD;;;;;AAKA,SAAS,iBAAiB,MAAM,aAAa;CAC5C,IAAI,CAAC,kBAAkB,WAAW,GAAG,OAAO,WAAW,MAAM,WAAW;CACxE,MAAM,WAAW,iBAAiB,IAAI;CACtC,IAAI,SAAS,SAAS,WAAW,OAAO,KAAK;CAC7C,OAAO,SAAS,SAAS,SAAS,SAAS,QAAQ;AACpD;;;;;;AAMA,SAAS,iBAAiB,MAAM;CAC/B,IAAI,QAAQ;CACZ,MAAM,WAAW,MAAM,OAAO,YAAY;EACzC,IAAI,OAAO,UAAU,YAAY,CAAC,gBAAgB,OAAO,SAAS,MAAM,GAAG,QAAQ;EACnF,OAAO;CACR;CACA,IAAI;CACJ,IAAI;EACH,QAAQ,UAAU,KAAK,MAAM,MAAM,OAAO,CAAC;CAC5C,QAAQ;EACP,OAAO,EAAE,MAAM,UAAU;CAC1B;CACA,OAAO,QAAQ;EACd,MAAM;EACN;CACD,IAAI,EAAE,MAAM,UAAU;AACvB;AACA,SAAS,gBAAgB,OAAO,QAAQ;CACvC,IAAI,CAAC,OAAO,SAAS,KAAK,KAAK,WAAW,KAAK,GAAG,OAAO;CACzD,MAAM,UAAU,aAAa,MAAM;CACnC,OAAO,YAAY,KAAK,KAAK,YAAY,aAAa,OAAO,KAAK,CAAC;AACpE;AACA,MAAM,wBAAwB;;AAE9B,SAAS,aAAa,SAAS;CAC9B,MAAM,QAAQ,sBAAsB,KAAK,OAAO;CAChD,IAAI,UAAU,MAAM,OAAO,KAAK;CAChC,MAAM,GAAG,OAAO,IAAI,QAAQ,IAAI,WAAW,IAAI,WAAW,OAAO;CACjE,MAAM,SAAS,GAAG,QAAQ,WAAW,QAAQ,OAAO,EAAE;CACtD,IAAI,WAAW,IAAI,OAAO;CAC1B,MAAM,cAAc,OAAO,QAAQ,OAAO,EAAE;CAC5C,OAAO,GAAG,OAAO,YAAY,GAAG,OAAO,QAAQ,IAAI,SAAS,SAAS,OAAO,SAAS,YAAY;AAClG;AACA,SAAS,sBAAsB,MAAM,aAAa;CACjD,IAAI,KAAK,KAAK,MAAM,IAAI,OAAO,CAAC;CAChC,MAAM,SAAS,CAAC;CAChB,KAAK,MAAM,WAAW,yBAAyB,IAAI,GAAG;EACrD,MAAM,QAAQ,wBAAwB,SAAS,WAAW;EAC1D,IAAI,UAAU,KAAK,GAAG,OAAO,KAAK;EAClC,OAAO,KAAK,KAAK;CAClB;CACA,OAAO;AACR;AACA,SAAS,sBAAsB,YAAY;CAC1C,MAAM,QAAQ,yBAAyB,KAAK,UAAU;CACtD,OAAO,QAAQ,OAAO,KAAK,IAAI,aAAa,sBAAsB,MAAM,EAAE,CAAC,KAAK,CAAC;AAClF;;;;;;;;;;;;AAYA,SAAS,qBAAqB,YAAY,YAAY;CACrD,MAAM,UAAU,WAAW,KAAK;CAChC,MAAM,iBAAiB,YAAY,YAAY;CAC/C,IAAI,gBAAgB,KAAK,OAAO,GAAG,OAAO;EACzC,MAAM;EACN,YAAY;CACb;CACA,IAAI,gBAAgB,SAAS,IAAI,GAAG;EACnC,MAAM,cAAc,eAAe,MAAM,GAAG,EAAE;EAC9C,MAAM,aAAa,QAAQ,MAAM,qBAAqB;EACtD,IAAI,aAAa,OAAO,KAAK,KAAK,CAAC,yCAAyC,KAAK,WAAW,GAAG;GAC9F,MAAM,SAAS,sBAAsB,WAAW,EAAE,CAAC,QAAQ,OAAO,GAAG,GAAG,WAAW;GACnF,IAAI,WAAW,KAAK,GAAG,OAAO;IAC7B,MAAM;IACN,OAAO;GACR;EACD;EACA,MAAM,mBAAmB,sBAAsB,OAAO,CAAC,CAAC,MAAM,yBAAyB;EACvF,IAAI,mBAAmB,OAAO,KAAK,GAAG;GACrC,MAAM,SAAS,sBAAsB,iBAAiB,IAAI,WAAW;GACrE,IAAI,WAAW,KAAK,GAAG,OAAO;IAC7B,MAAM;IACN,OAAO;GACR;EACD;EACA,IAAI,aAAa,KAAK,OAAO,GAAG,OAAO;GACtC,MAAM;GACN,OAAO;EACR;EACA,OAAO;GACN,MAAM;GACN,YAAY;EACb;CACD;CACA,MAAM,qBAAqB,6BAA6B,OAAO;CAC/D,IAAI,oBAAoB,OAAO;EAC9B,MAAM;EACN,YAAY;CACb;CACA,IAAI,aAAa,KAAK,OAAO,GAAG,OAAO;EACtC,MAAM;EACN,YAAY;CACb;CACA,IAAI,kBAAkB,KAAK,OAAO,GAAG,OAAO;EAC3C,MAAM;EACN,YAAY;CACb;CACA,IAAI,aAAa,KAAK,OAAO,GAAG,OAAO;EACtC,MAAM;EACN,OAAO;CACR;CACA,IAAI,aAAa,KAAK,OAAO,GAAG,OAAO;EACtC,MAAM;EACN,OAAO;CACR;CACA,IAAI,cAAc,KAAK,OAAO,GAAG,OAAO;EACvC,MAAM;EACN,OAAO;CACR;CACA,MAAM,QAAQ,iBAAiB,OAAO;CACtC,IAAI,UAAU,KAAK,GAAG,OAAO;EAC5B,MAAM;EACN,YAAY;CACb;CACA,IAAI,MAAM,SAAS,UAAU;EAC5B,MAAM,QAAQ,YAAY,MAAM,SAAS,cAAc;EACvD,OAAO,UAAU,KAAK,IAAI,KAAK,IAAI;GAClC,MAAM;GACN;EACD;CACD;CACA,IAAI,mBAAmB,KAAK,KAAK,kBAAkB,cAAc,GAAG;EACnE,MAAM,WAAW,iBAAiB,MAAM,IAAI;EAC5C,IAAI,SAAS,SAAS,WAAW,OAAO;GACvC,MAAM;GACN,YAAY;EACb;EACA,IAAI,SAAS,SAAS,QAAQ,OAAO;GACpC,MAAM;GACN,OAAO,SAAS;EACjB;CACD;CACA,MAAM,OAAO,WAAW,MAAM,MAAM,cAAc;CAClD,OAAO,SAAS,KAAK,IAAI;EACxB,MAAM;EACN,YAAY;CACb,IAAI;EACH,MAAM;EACN,OAAO;CACR;AACD;;;;;;;;;;;;;AAaA,SAAS,uBAAuB,KAAK,oBAAoB;CACxD,IAAI,IAAI,SAAS,YAAY,OAAO;CACpC,OAAO,qBAAqB,IAAI,YAAY,kBAAkB,KAAK;AACpE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"op-factory-call-B-4nf1jC-DkRw5e1q.mjs","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/op-factory-call-B-4nf1jC.mjs"],"sourcesContent":["import { s as postgresError } from \"./errors-DYyzTYzE.mjs\";\nimport { a as quoteQualifiedName, o as validateEnumValueLength, r as quoteIdentifier, t as escapeLiteral } from \"./sql-utils-BMXJi06b.mjs\";\nimport { t as DEFAULT_NAMESPACE_ID } from \"./namespace-ids-xtp_ZY86.mjs\";\nimport { C as nativeEnumValueExistsAst, D as tableExistsAst, E as rlsPolicyExistsAst, O as tableIsEmptyAst, S as nativeEnumTypeExistsAst, T as rlsEnabledAst, _ as columnNullabilityAst, a as createIndex$1, b as extensionExistsAst, c as createTable, d as dropDefaultAction, f as dropIndex$1, g as columnExistsAst, h as columnDefaultAst, i as alterTable, l as createType, m as dropType, n as alterIndexRename, o as createPolicy, p as dropPolicy, r as alterPolicyRename, s as createSchema, t as addColumnAction, u as disableRowLevelSecurity$1, v as columnTypeAst, w as noNullValuesAst, x as indexExistsAst, y as constraintExistsAst } from \"./ddl-BzsT_-qY.mjs\";\nimport { n as qualifyTableName } from \"./planner-sql-checks-Bhp0Iq_X.mjs\";\nimport { t as buildColumnTypeSql } from \"./planner-ddl-builders-ClaAKDuZ.mjs\";\nimport { DdlColumn, FunctionColumnDefault, LiteralColumnDefault, opaqueSql, renderOpaqueSql } from \"@internal/sql-relational-core/ast\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\nimport { namingOf } from \"@internal/sql-schema-ir/naming\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { col } from \"@internal/sql-relational-core/contract-free\";\nimport { InternalError, assertNever } from \"@internal/utils/internal-error\";\nimport { errorUnfilledPlaceholder } from \"@internal/errors/migration\";\nimport { TsExpression, jsonToTsSource, tsObjectSource, tsQuotedTextSource } from \"@internal/ts-render\";\nimport { REFERENTIAL_ACTION_SQL } from \"@internal/sql-contract/referential-action-sql\";\n//#region src/core/migrations/bound-schema.ts\n/**\n* Maps a planner schema name to the contract-free DDL builder's optional\n* `schema` field: the unbound sentinel becomes `undefined` (the builder omits\n* the schema qualifier), every other name passes through.\n*/\nfunction boundSchema(schemaName) {\n\treturn schemaName === UNBOUND_NAMESPACE_ID ? void 0 : schemaName;\n}\n//#endregion\n//#region src/core/migrations/operations/shared.ts\nfunction step(description, sql, params) {\n\treturn {\n\t\tdescription,\n\t\tsql,\n\t\t...ifDefined(\"params\", params)\n\t};\n}\nfunction targetDetails(objectType, name, schema, table) {\n\treturn {\n\t\tid: \"postgres\",\n\t\tdetails: {\n\t\t\tschema,\n\t\t\tobjectType,\n\t\t\tname,\n\t\t\t...ifDefined(\"table\", table)\n\t\t}\n\t};\n}\n//#endregion\n//#region src/core/migrations/operations/columns.ts\nasync function columnExistsSteps(lowerer, options) {\n\tconst checks = columnExistsAst(options);\n\treturn {\n\t\tpresent: await lowerer.lowerToExecuteRequest(checks.columnPresent()),\n\t\tabsent: await lowerer.lowerToExecuteRequest(checks.columnAbsent())\n\t};\n}\nasync function dropColumn(schemaName, tableName, columnName, lowerer) {\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst { present, absent } = await columnExistsSteps(lowerer, {\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t});\n\treturn {\n\t\tid: `dropColumn.${tableName}.${columnName}`,\n\t\tlabel: `Drop column \"${columnName}\" from \"${tableName}\"`,\n\t\toperationClass: \"destructive\",\n\t\ttarget: targetDetails(\"column\", columnName, schemaName, tableName),\n\t\tprecheck: [step(`ensure column \"${columnName}\" exists`, present.sql, present.params)],\n\t\texecute: [step(`drop column \"${columnName}\"`, `ALTER TABLE ${qualified} DROP COLUMN ${quoteIdentifier(columnName)}`)],\n\t\tpostcheck: [step(`verify column \"${columnName}\" does not exist`, absent.sql, absent.params)]\n\t};\n}\n/**\n* `qualifiedTargetType` is the new column type as it appears in the\n* `ALTER COLUMN TYPE` clause (schema-qualified for user-defined types, raw\n* native name for built-ins). `formatTypeExpected` is the unqualified\n* `format_type` form used in the postcheck. `rawTargetTypeForLabel` is the\n* string appearing in the human-readable label (typically `toType` when\n* explicit, else the column's native type).\n*/\nasync function alterColumnType(schemaName, tableName, columnName, options, lowerer) {\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst usingClause = options.using ? ` USING ${renderOpaqueSql(opaqueSql(options.using))}` : ` USING ${quoteIdentifier(columnName)}::${options.qualifiedTargetType}`;\n\tconst { present } = await columnExistsSteps(lowerer, {\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t});\n\tconst typeCheck = await lowerer.lowerToExecuteRequest(columnTypeAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName,\n\t\texpectedType: options.formatTypeExpected\n\t}));\n\treturn {\n\t\tid: `alterType.${tableName}.${columnName}`,\n\t\tlabel: `Alter type of \"${tableName}\".\"${columnName}\" to ${options.rawTargetTypeForLabel}`,\n\t\toperationClass: \"destructive\",\n\t\ttarget: targetDetails(\"column\", columnName, schemaName, tableName),\n\t\tprecheck: [step(`ensure column \"${columnName}\" exists`, present.sql, present.params)],\n\t\texecute: [step(`alter type of \"${columnName}\"`, `ALTER TABLE ${qualified} ALTER COLUMN ${quoteIdentifier(columnName)} TYPE ${options.qualifiedTargetType}${usingClause}`)],\n\t\tpostcheck: [step(`verify column \"${columnName}\" has type \"${options.formatTypeExpected}\"`, typeCheck.sql, typeCheck.params)],\n\t\tmeta: { warning: \"TABLE_REWRITE\" }\n\t};\n}\nasync function setNotNull(schemaName, tableName, columnName, lowerer) {\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst { present } = await columnExistsSteps(lowerer, {\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t});\n\tconst noNulls = await lowerer.lowerToExecuteRequest(noNullValuesAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t}));\n\tconst notNullable = await lowerer.lowerToExecuteRequest(columnNullabilityAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName,\n\t\tnullable: false\n\t}));\n\treturn {\n\t\tid: `alterNullability.setNotNull.${tableName}.${columnName}`,\n\t\tlabel: `Set NOT NULL on \"${tableName}\".\"${columnName}\"`,\n\t\toperationClass: \"destructive\",\n\t\ttarget: targetDetails(\"column\", columnName, schemaName, tableName),\n\t\tprecheck: [step(`ensure column \"${columnName}\" exists`, present.sql, present.params), step(`ensure no NULL values in \"${columnName}\"`, noNulls.sql, noNulls.params)],\n\t\texecute: [step(`set NOT NULL on \"${columnName}\"`, `ALTER TABLE ${qualified} ALTER COLUMN ${quoteIdentifier(columnName)} SET NOT NULL`)],\n\t\tpostcheck: [step(`verify column \"${columnName}\" is NOT NULL`, notNullable.sql, notNullable.params)]\n\t};\n}\nasync function dropNotNull(schemaName, tableName, columnName, lowerer) {\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst { present } = await columnExistsSteps(lowerer, {\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t});\n\tconst nullable = await lowerer.lowerToExecuteRequest(columnNullabilityAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName,\n\t\tnullable: true\n\t}));\n\treturn {\n\t\tid: `alterNullability.dropNotNull.${tableName}.${columnName}`,\n\t\tlabel: `Drop NOT NULL on \"${tableName}\".\"${columnName}\"`,\n\t\toperationClass: \"widening\",\n\t\ttarget: targetDetails(\"column\", columnName, schemaName, tableName),\n\t\tprecheck: [step(`ensure column \"${columnName}\" exists`, present.sql, present.params)],\n\t\texecute: [step(`drop NOT NULL on \"${columnName}\"`, `ALTER TABLE ${qualified} ALTER COLUMN ${quoteIdentifier(columnName)} DROP NOT NULL`)],\n\t\tpostcheck: [step(`verify column \"${columnName}\" is nullable`, nullable.sql, nullable.params)]\n\t};\n}\n/**\n* Sets `column`'s default. The adapter writes the `DEFAULT …` clause, reading a literal default with\n* the column's codec first, as every DDL statement that writes a default does.\n*\n* `operationClass` defaults to `'additive'` (setting a default on a column\n* that currently has none). The reconciliation planner passes `'widening'`\n* when the column already has a different default — policy enforcement\n* treats that as a widening change rather than an additive one. A widening\n* change has no postcheck: the old default would pass a check for a default,\n* and the runner skips an operation whose postcheck already passes. Setting a\n* default again is harmless.\n*/\nasync function setDefault(schemaName, tableName, column, lowerer, operationClass = \"additive\") {\n\trefuseUnwritableSetDefault(tableName, column);\n\tconst columnName = column.name;\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst clause = await lowerer.renderColumnDefault(column, tableName);\n\tconst { present } = await columnExistsSteps(lowerer, {\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t});\n\tconst hasDefault = operationClass === \"additive\" ? await lowerer.lowerToExecuteRequest(columnDefaultAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t}).defaultPresent()) : void 0;\n\treturn {\n\t\tid: `setDefault.${tableName}.${columnName}`,\n\t\tlabel: `Set default on \"${tableName}\".\"${columnName}\"`,\n\t\toperationClass,\n\t\ttarget: targetDetails(\"column\", columnName, schemaName, tableName),\n\t\tprecheck: [step(`ensure column \"${columnName}\" exists`, present.sql, present.params)],\n\t\texecute: [step(`set default on \"${columnName}\"`, `ALTER TABLE ${qualified} ALTER COLUMN ${quoteIdentifier(columnName)} SET ${clause}`)],\n\t\tpostcheck: hasDefault === void 0 ? [] : [step(`verify column \"${columnName}\" has a default`, hasDefault.sql, hasDefault.params)]\n\t};\n}\nfunction refuseUnwritableSetDefault(tableName, column) {\n\tconst meta = {\n\t\ttable: tableName,\n\t\tcolumn: column.name\n\t};\n\tif (column.default === void 0) throw postgresError(\"CONTRACT.DEFAULT_INVALID\", `setDefault on column \"${column.name}\" of table \"${tableName}\" has no default. Pass the column with its default, as in col(name, type, { default: lit(value) }) or col(name, type, { default: fn(expression) }).`, { meta: {\n\t\t...meta,\n\t\treason: \"set-default-without-default\"\n\t} });\n\tif (column.default.kind === \"function\" && column.default.expression.text === \"autoincrement()\") throw postgresError(\"CONTRACT.DEFAULT_INVALID\", `setDefault cannot give the existing column \"${column.name}\" of table \"${tableName}\" an autoincrement() default, because autoincrement() is written as the column's SERIAL type when the column is created. Set a sequence default instead, as in fn(\"nextval('<sequence>'::regclass)\").`, { meta: {\n\t\t...meta,\n\t\treason: \"set-default-autoincrement\"\n\t} });\n}\nasync function dropDefault(schemaName, tableName, columnName, lowerer) {\n\tconst { present } = await columnExistsSteps(lowerer, {\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t});\n\tconst dropDefaultExec = await lowerer.lowerToExecuteRequest(alterTable({\n\t\t...ifDefined(\"schema\", boundSchema(schemaName)),\n\t\ttable: tableName,\n\t\tactions: [dropDefaultAction(columnName)]\n\t}));\n\tconst noDefault = await lowerer.lowerToExecuteRequest(columnDefaultAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t}).defaultAbsent());\n\treturn {\n\t\tid: `dropDefault.${tableName}.${columnName}`,\n\t\tlabel: `Drop default on \"${tableName}\".\"${columnName}\"`,\n\t\toperationClass: \"destructive\",\n\t\ttarget: targetDetails(\"column\", columnName, schemaName, tableName),\n\t\tprecheck: [step(`ensure column \"${columnName}\" exists`, present.sql, present.params)],\n\t\texecute: [step(`drop default on \"${columnName}\"`, dropDefaultExec.sql)],\n\t\tpostcheck: [step(`verify column \"${columnName}\" has no default`, noDefault.sql, noDefault.params)]\n\t};\n}\n/**\n* Builds the op for adding a NOT NULL column (no contract default) to a\n* non-empty table. Prechecks assert the column is absent and the table is\n* empty; the execute step lowers the typed `AddColumn` DDL node through the\n* adapter; postchecks assert the column exists and is NOT NULL.\n*/\nasync function addNotNullColumnDirect(schemaName, tableName, column, lowerer) {\n\tconst columnName = column.name;\n\tconst addColumn = await lowerer.lowerToExecuteRequest(alterTable({\n\t\t...ifDefined(\"schema\", boundSchema(schemaName)),\n\t\ttable: tableName,\n\t\tactions: [addColumnAction(column)]\n\t}));\n\tconst absent = await lowerer.lowerToExecuteRequest(columnExistsAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t}).columnAbsent());\n\tconst tableEmpty = await lowerer.lowerToExecuteRequest(tableIsEmptyAst(schemaName, tableName));\n\tconst present = await lowerer.lowerToExecuteRequest(columnExistsAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t}).columnPresent());\n\tconst notNullable = await lowerer.lowerToExecuteRequest(columnNullabilityAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName,\n\t\tnullable: false\n\t}));\n\treturn {\n\t\tid: `column.${tableName}.${columnName}`,\n\t\tlabel: `Add column ${columnName} to ${tableName}`,\n\t\tsummary: `Adds column ${columnName} to table ${tableName}`,\n\t\toperationClass: \"additive\",\n\t\ttarget: targetDetails(\"column\", columnName, schemaName, tableName),\n\t\tprecheck: [step(`ensure column \"${columnName}\" is missing`, absent.sql, absent.params), step(`ensure table \"${tableName}\" is empty before adding NOT NULL column without default`, tableEmpty.sql, tableEmpty.params)],\n\t\texecute: [step(`add column \"${columnName}\"`, addColumn.sql)],\n\t\tpostcheck: [step(`verify column \"${columnName}\" exists`, present.sql, present.params), step(`verify column \"${columnName}\" is NOT NULL`, notNullable.sql, notNullable.params)]\n\t};\n}\n//#endregion\n//#region src/core/migrations/operations/constraints.ts\nasync function constraintCheckSteps(lowerer, options) {\n\tconst checks = constraintExistsAst(options);\n\treturn {\n\t\tabsent: await lowerer.lowerToExecuteRequest(checks.constraintAbsent()),\n\t\tpresent: await lowerer.lowerToExecuteRequest(checks.constraintPresent())\n\t};\n}\nfunction renderForeignKeySql(schemaName, tableName, fk) {\n\tlet sql = `ALTER TABLE ${qualifyTableName(schemaName, tableName)}\nADD CONSTRAINT ${quoteIdentifier(fk.name)}\nFOREIGN KEY (${fk.columns.map(quoteIdentifier).join(\", \")})\nREFERENCES ${qualifyTableName(fk.references.schema, fk.references.table)} (${fk.references.columns.map(quoteIdentifier).join(\", \")})`;\n\tif (fk.onDelete !== void 0) {\n\t\tconst action = REFERENTIAL_ACTION_SQL[fk.onDelete];\n\t\tif (!action) throw new InternalError(`Unknown referential action for onDelete: ${String(fk.onDelete)}`);\n\t\tsql += `\\nON DELETE ${action}`;\n\t}\n\tif (fk.onUpdate !== void 0) {\n\t\tconst action = REFERENTIAL_ACTION_SQL[fk.onUpdate];\n\t\tif (!action) throw new InternalError(`Unknown referential action for onUpdate: ${String(fk.onUpdate)}`);\n\t\tsql += `\\nON UPDATE ${action}`;\n\t}\n\treturn sql;\n}\nasync function addPrimaryKey(schemaName, tableName, constraintName, columns, lowerer) {\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst columnList = columns.map(quoteIdentifier).join(\", \");\n\tconst { absent, present } = await constraintCheckSteps(lowerer, {\n\t\tconstraintName,\n\t\tschema: schemaName,\n\t\ttable: tableName\n\t});\n\treturn {\n\t\tid: `primaryKey.${tableName}.${constraintName}`,\n\t\tlabel: `Add primary key on \"${tableName}\"`,\n\t\toperationClass: \"additive\",\n\t\ttarget: targetDetails(\"primaryKey\", constraintName, schemaName, tableName),\n\t\tprecheck: [step(`ensure primary key \"${constraintName}\" does not exist`, absent.sql, absent.params)],\n\t\texecute: [step(`add primary key \"${constraintName}\"`, `ALTER TABLE ${qualified} ADD CONSTRAINT ${quoteIdentifier(constraintName)} PRIMARY KEY (${columnList})`)],\n\t\tpostcheck: [step(`verify primary key \"${constraintName}\" exists`, present.sql, present.params)]\n\t};\n}\nasync function addUnique(schemaName, tableName, constraintName, columns, lowerer) {\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst columnList = columns.map(quoteIdentifier).join(\", \");\n\tconst { absent, present } = await constraintCheckSteps(lowerer, {\n\t\tconstraintName,\n\t\tschema: schemaName,\n\t\ttable: tableName\n\t});\n\treturn {\n\t\tid: `unique.${tableName}.${constraintName}`,\n\t\tlabel: `Add unique constraint on \"${tableName}\" (${columns.join(\", \")})`,\n\t\toperationClass: \"additive\",\n\t\ttarget: targetDetails(\"unique\", constraintName, schemaName, tableName),\n\t\tprecheck: [step(`ensure constraint \"${constraintName}\" does not exist`, absent.sql, absent.params)],\n\t\texecute: [step(`add unique constraint \"${constraintName}\"`, `ALTER TABLE ${qualified} ADD CONSTRAINT ${quoteIdentifier(constraintName)} UNIQUE (${columnList})`)],\n\t\tpostcheck: [step(`verify constraint \"${constraintName}\" exists`, present.sql, present.params)]\n\t};\n}\nasync function addForeignKey(schemaName, tableName, fk, lowerer) {\n\tconst { absent, present } = await constraintCheckSteps(lowerer, {\n\t\tconstraintName: fk.name,\n\t\tschema: schemaName,\n\t\ttable: tableName\n\t});\n\treturn {\n\t\tid: `foreignKey.${tableName}.${fk.name}`,\n\t\tlabel: `Add foreign key \"${fk.name}\" on \"${tableName}\"`,\n\t\toperationClass: \"additive\",\n\t\ttarget: targetDetails(\"foreignKey\", fk.name, schemaName, tableName),\n\t\tprecheck: [step(`ensure FK \"${fk.name}\" does not exist`, absent.sql, absent.params)],\n\t\texecute: [step(`add FK \"${fk.name}\"`, renderForeignKeySql(schemaName, tableName, fk))],\n\t\tpostcheck: [step(`verify FK \"${fk.name}\" exists`, present.sql, present.params)]\n\t};\n}\nasync function addCheckConstraint(schemaName, tableName, constraintName, expression, lowerer) {\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst { absent, present } = await constraintCheckSteps(lowerer, {\n\t\tconstraintName,\n\t\tschema: schemaName,\n\t\ttable: tableName\n\t});\n\treturn {\n\t\tid: `checkConstraint.${tableName}.${constraintName}`,\n\t\tlabel: `Add check constraint \"${constraintName}\" on \"${tableName}\"`,\n\t\toperationClass: \"additive\",\n\t\ttarget: targetDetails(\"checkConstraint\", constraintName, schemaName, tableName),\n\t\tprecheck: [step(`ensure constraint \"${constraintName}\" does not exist`, absent.sql, absent.params)],\n\t\texecute: [step(`add check constraint \"${constraintName}\"`, `ALTER TABLE ${qualified} ADD CONSTRAINT ${quoteIdentifier(constraintName)} CHECK (${renderOpaqueSql(opaqueSql(expression))})`)],\n\t\tpostcheck: [step(`verify constraint \"${constraintName}\" exists`, present.sql, present.params)]\n\t};\n}\nconst CONSTRAINT_KIND_LABEL = {\n\tprimaryKey: \"primary key\",\n\tunique: \"unique constraint\",\n\tforeignKey: \"foreign key\",\n\tcheckConstraint: \"check constraint\"\n};\nfunction renameConstraintLabel(kind, fromName, toName, tableName) {\n\treturn `Rename ${CONSTRAINT_KIND_LABEL[kind]} \"${fromName}\" to \"${toName}\" on \"${tableName}\"`;\n}\nasync function renameConstraint(schemaName, tableName, kind, fromName, toName, lowerer) {\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst from = await constraintCheckSteps(lowerer, {\n\t\tconstraintName: fromName,\n\t\tschema: schemaName,\n\t\ttable: tableName\n\t});\n\tconst to = await constraintCheckSteps(lowerer, {\n\t\tconstraintName: toName,\n\t\tschema: schemaName,\n\t\ttable: tableName\n\t});\n\treturn {\n\t\tid: `${kind}.${schemaName}.${tableName}.${fromName}.rename`,\n\t\tlabel: renameConstraintLabel(kind, fromName, toName, tableName),\n\t\toperationClass: \"widening\",\n\t\ttarget: targetDetails(kind, toName, schemaName, tableName),\n\t\tprecheck: [step(`ensure constraint \"${fromName}\" exists`, from.present.sql, from.present.params), step(`ensure constraint \"${toName}\" does not exist`, to.absent.sql, to.absent.params)],\n\t\texecute: [step(`rename ${CONSTRAINT_KIND_LABEL[kind]} \"${fromName}\" to \"${toName}\"`, `ALTER TABLE ${qualified} RENAME CONSTRAINT ${quoteIdentifier(fromName)} TO ${quoteIdentifier(toName)}`)],\n\t\tpostcheck: [step(`verify constraint \"${toName}\" exists`, to.present.sql, to.present.params)]\n\t};\n}\nasync function dropCheckConstraint(schemaName, tableName, constraintName, lowerer) {\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst { absent, present } = await constraintCheckSteps(lowerer, {\n\t\tconstraintName,\n\t\tschema: schemaName,\n\t\ttable: tableName\n\t});\n\treturn {\n\t\tid: `dropCheckConstraint.${tableName}.${constraintName}`,\n\t\tlabel: `Drop check constraint \"${constraintName}\" on \"${tableName}\"`,\n\t\toperationClass: \"destructive\",\n\t\ttarget: targetDetails(\"checkConstraint\", constraintName, schemaName, tableName),\n\t\tprecheck: [step(`ensure constraint \"${constraintName}\" exists`, present.sql, present.params)],\n\t\texecute: [step(`drop check constraint \"${constraintName}\"`, `ALTER TABLE ${qualified} DROP CONSTRAINT ${quoteIdentifier(constraintName)}`)],\n\t\tpostcheck: [step(`verify constraint \"${constraintName}\" does not exist`, absent.sql, absent.params)]\n\t};\n}\n/**\n* `kind` feeds the operation's `target.details.objectType`. Descriptor-flow\n* does not carry kind information in its drop-constraint descriptor, so the\n* default is `'unique'`. The reconciliation planner passes the correct kind\n* (`'foreignKey'`, `'primaryKey'`, or `'unique'`) based on the diff issue\n* that produced the drop.\n*/\nasync function dropConstraint(schemaName, tableName, constraintName, lowerer, kind = \"unique\") {\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst { absent, present } = await constraintCheckSteps(lowerer, {\n\t\tconstraintName,\n\t\tschema: schemaName,\n\t\ttable: tableName\n\t});\n\treturn {\n\t\tid: `dropConstraint.${tableName}.${constraintName}`,\n\t\tlabel: `Drop constraint \"${constraintName}\" on \"${tableName}\"`,\n\t\toperationClass: \"destructive\",\n\t\ttarget: targetDetails(kind, constraintName, schemaName, tableName),\n\t\tprecheck: [step(`ensure constraint \"${constraintName}\" exists`, present.sql, present.params)],\n\t\texecute: [step(`drop constraint \"${constraintName}\"`, `ALTER TABLE ${qualified} DROP CONSTRAINT ${quoteIdentifier(constraintName)}`)],\n\t\tpostcheck: [step(`verify constraint \"${constraintName}\" does not exist`, absent.sql, absent.params)]\n\t};\n}\n//#endregion\n//#region src/core/migrations/operations/dependencies.ts\nfunction createExtension(extensionName) {\n\treturn {\n\t\tid: `extension.${extensionName}`,\n\t\tlabel: `Create extension \"${extensionName}\"`,\n\t\toperationClass: \"additive\",\n\t\ttarget: { id: \"postgres\" },\n\t\tprecheck: [],\n\t\texecute: [step(`Create extension \"${extensionName}\"`, `CREATE EXTENSION IF NOT EXISTS ${quoteIdentifier(extensionName)}`)],\n\t\tpostcheck: []\n\t};\n}\n/**\n* Install a Postgres extension as the baseline op for an extension-pack\n* contract space. Layered on top of {@link createExtension}: stamps an\n* `invariantId` (required so the per-space marker records the install),\n* scopes the op `id` under a caller-chosen namespace (e.g. `pgvector.`),\n* and emits pre- and postcheck SQL probing `pg_extension`. The richer\n* shape lets the runner's idempotency probe skip the install on re-run\n* (postcheck-pre-satisfied) without firing the precheck.\n*\n* Use this for hand-rolled baseline migrations in contract-space\n* extension packages (e.g. `extension-pgvector`, `extension-paradedb`);\n* use the bare {@link createExtension} for planner-emitted ops where the\n* caller already controls idempotency through the surrounding plan.\n*/\nasync function installExtension(options, lowerer) {\n\tconst { extensionName, invariantId, id } = options;\n\tconst label = options.label ?? `Enable extension \"${extensionName}\"`;\n\tconst checks = extensionExistsAst(extensionName);\n\tconst absent = await lowerer.lowerToExecuteRequest(checks.extensionAbsent());\n\tconst present = await lowerer.lowerToExecuteRequest(checks.extensionPresent());\n\treturn {\n\t\tid,\n\t\tlabel,\n\t\toperationClass: \"additive\",\n\t\tinvariantId,\n\t\ttarget: {\n\t\t\tid: \"postgres\",\n\t\t\tdetails: {\n\t\t\t\tschema: DEFAULT_NAMESPACE_ID,\n\t\t\t\tobjectType: \"dependency\",\n\t\t\t\tname: extensionName\n\t\t\t}\n\t\t},\n\t\tprecheck: [step(`verify extension \"${extensionName}\" is not already enabled`, absent.sql, absent.params)],\n\t\texecute: [step(`create extension \"${extensionName}\"`, `CREATE EXTENSION IF NOT EXISTS ${extensionName}`)],\n\t\tpostcheck: [step(`confirm extension \"${extensionName}\" is enabled`, present.sql, present.params)]\n\t};\n}\n//#endregion\n//#region src/core/migrations/operations/indexes.ts\nasync function indexExistsSteps(lowerer, schemaName, indexName) {\n\tconst checks = indexExistsAst(schemaName, indexName);\n\treturn {\n\t\tpresent: await lowerer.lowerToExecuteRequest(checks.indexPresent()),\n\t\tabsent: await lowerer.lowerToExecuteRequest(checks.indexAbsent())\n\t};\n}\n/** An unbound-namespace object renders unqualified: the DDL node takes no schema. */\nfunction ddlSchemaOf(schemaName) {\n\treturn schemaName === UNBOUND_NAMESPACE_ID ? void 0 : schemaName;\n}\nasync function createIndex(schemaName, tableName, indexName, elements, lowerer, extras) {\n\tconst ddlNode = createIndex$1({\n\t\tschema: ddlSchemaOf(schemaName),\n\t\ttable: tableName,\n\t\tname: indexName,\n\t\tunique: extras?.unique === true,\n\t\telements,\n\t\ttype: extras?.type,\n\t\toptions: extras?.options,\n\t\twhere: extras?.where\n\t});\n\tconst execute = await lowerer.lowerToExecuteRequest(ddlNode);\n\tconst { present, absent } = await indexExistsSteps(lowerer, schemaName, indexName);\n\treturn {\n\t\tid: `index.${tableName}.${indexName}`,\n\t\tlabel: `Create index \"${indexName}\" on \"${tableName}\"`,\n\t\toperationClass: \"additive\",\n\t\ttarget: targetDetails(\"index\", indexName, schemaName, tableName),\n\t\tprecheck: [step(`ensure index \"${indexName}\" does not exist`, absent.sql, absent.params)],\n\t\texecute: [step(`create index \"${indexName}\"`, execute.sql, execute.params)],\n\t\tpostcheck: [step(`verify index \"${indexName}\" exists`, present.sql, present.params)]\n\t};\n}\n/**\n* `ALTER INDEX … RENAME TO`. `widening` for the same typology reason as the\n* RLS policy rename: a rename is neither additive creation nor destructive,\n* and the class vocabulary has no neutral middle class — it is NOT that a\n* rename widens anything.\n*/\nasync function renameIndex(schemaName, tableName, fromName, toName, lowerer) {\n\tconst fromChecks = indexExistsAst(schemaName, fromName);\n\tconst toChecks = indexExistsAst(schemaName, toName);\n\tconst fromPresent = await lowerer.lowerToExecuteRequest(fromChecks.indexPresent());\n\tconst toAbsent = await lowerer.lowerToExecuteRequest(toChecks.indexAbsent());\n\tconst toPresent = await lowerer.lowerToExecuteRequest(toChecks.indexPresent());\n\tconst ddlNode = alterIndexRename({\n\t\tschema: ddlSchemaOf(schemaName),\n\t\tfrom: fromName,\n\t\tto: toName\n\t});\n\tconst execute = await lowerer.lowerToExecuteRequest(ddlNode);\n\treturn {\n\t\tid: `index.${schemaName}.${tableName}.${fromName}.rename`,\n\t\tlabel: `Rename index \"${fromName}\" to \"${toName}\" on \"${tableName}\"`,\n\t\toperationClass: \"widening\",\n\t\ttarget: targetDetails(\"index\", toName, schemaName, tableName),\n\t\tprecheck: [step(`ensure index \"${fromName}\" exists`, fromPresent.sql, fromPresent.params), step(`ensure index \"${toName}\" does not exist`, toAbsent.sql, toAbsent.params)],\n\t\texecute: [step(`rename index \"${fromName}\" to \"${toName}\"`, execute.sql, execute.params)],\n\t\tpostcheck: [step(`verify index \"${toName}\" exists`, toPresent.sql, toPresent.params)]\n\t};\n}\nasync function dropIndex(schemaName, tableName, indexName, lowerer) {\n\tconst ddlNode = dropIndex$1({\n\t\tschema: ddlSchemaOf(schemaName),\n\t\tname: indexName\n\t});\n\tconst execute = await lowerer.lowerToExecuteRequest(ddlNode);\n\tconst { present, absent } = await indexExistsSteps(lowerer, schemaName, indexName);\n\treturn {\n\t\tid: `dropIndex.${tableName}.${indexName}`,\n\t\tlabel: `Drop index \"${indexName}\"`,\n\t\toperationClass: \"destructive\",\n\t\ttarget: targetDetails(\"index\", indexName, schemaName, tableName),\n\t\tprecheck: [step(`ensure index \"${indexName}\" exists`, present.sql, present.params)],\n\t\texecute: [step(`drop index \"${indexName}\"`, execute.sql, execute.params)],\n\t\tpostcheck: [step(`verify index \"${indexName}\" does not exist`, absent.sql, absent.params)]\n\t};\n}\n//#endregion\n//#region src/core/migrations/operations/native-enum-types.ts\n/**\n* `CREATE TYPE <qualified> AS ENUM (…)` for a managed native enum, built as a\n* typed DDL node and lowered by the control adapter (the type name is quoted,\n* member values render as escaped string literals in declaration order —\n* Postgres enum sort order is semantic). `boundSchema` maps the unbound sentinel\n* to an absent schema so the type name renders unqualified and the connection's\n* `search_path` resolves the schema at runtime.\n*/\nasync function createNativeEnumType(schemaName, typeName, members, lowerer) {\n\tfor (const member of members) validateEnumValueLength(member, typeName);\n\tconst ddlNode = createType({\n\t\t...ifDefined(\"schema\", boundSchema(schemaName)),\n\t\tname: typeName,\n\t\tvalues: members\n\t});\n\tconst statement = await lowerer.lowerToExecuteRequest(ddlNode);\n\treturn {\n\t\tid: `createNativeEnumType.${typeName}`,\n\t\tlabel: `Create enum type \"${typeName}\"`,\n\t\toperationClass: \"additive\",\n\t\ttarget: targetDetails(\"type\", typeName, schemaName),\n\t\tprecheck: [],\n\t\texecute: [step(`create enum type \"${typeName}\"`, statement.sql, statement.params)],\n\t\tpostcheck: []\n\t};\n}\n/** `DROP TYPE <qualified>` for an unclaimed managed native enum, via typed DDL. */\nasync function dropNativeEnumType(schemaName, typeName, lowerer) {\n\tconst ddlNode = dropType({\n\t\t...ifDefined(\"schema\", boundSchema(schemaName)),\n\t\tname: typeName\n\t});\n\tconst statement = await lowerer.lowerToExecuteRequest(ddlNode);\n\treturn {\n\t\tid: `dropNativeEnumType.${typeName}`,\n\t\tlabel: `Drop enum type \"${typeName}\"`,\n\t\toperationClass: \"destructive\",\n\t\ttarget: targetDetails(\"type\", typeName, schemaName),\n\t\tprecheck: [],\n\t\texecute: [step(`drop enum type \"${typeName}\"`, statement.sql, statement.params)],\n\t\tpostcheck: []\n\t};\n}\n//#endregion\n//#region src/core/migrations/operations/rls.ts\nconst PLAIN_IDENTIFIER = /^[A-Za-z_][A-Za-z0-9_$]*$/;\nfunction validateRoleName(role) {\n\tif (!PLAIN_IDENTIFIER.test(role)) throw postgresError(\"CONTRACT.ROLE_INVALID\", `Invalid role name ${JSON.stringify(role)}: role names must be plain SQL identifiers matching ^[A-Za-z_][A-Za-z0-9_$]*$`, { meta: {\n\t\trole,\n\t\treason: \"not-a-plain-identifier\"\n\t} });\n\treturn role;\n}\nasync function createRlsPolicy(schemaName, tableName, policy, lowerer) {\n\tconst validatedRoles = policy.roles.map(validateRoleName);\n\tconst ddlNode = createPolicy({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tname: policy.name,\n\t\tpermissive: policy.permissive,\n\t\toperation: policy.operation,\n\t\troles: validatedRoles,\n\t\t...ifDefined(\"using\", policy.using),\n\t\t...ifDefined(\"withCheck\", policy.withCheck)\n\t});\n\tconst checks = rlsPolicyExistsAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tpolicyName: policy.name\n\t});\n\tconst absent = await lowerer.lowerToExecuteRequest(checks.policyAbsent());\n\tconst execute = await lowerer.lowerToExecuteRequest(ddlNode);\n\tconst present = await lowerer.lowerToExecuteRequest(checks.policyPresent());\n\treturn {\n\t\tid: `rlsPolicy.${schemaName}.${tableName}.${policy.name}`,\n\t\tlabel: `Create RLS policy \"${policy.name}\" on \"${tableName}\"`,\n\t\toperationClass: \"additive\",\n\t\ttarget: targetDetails(\"rlsPolicy\", policy.name, schemaName, tableName),\n\t\tprecheck: [step(`ensure RLS policy \"${policy.name}\" does not exist`, absent.sql, absent.params)],\n\t\texecute: [step(`create RLS policy \"${policy.name}\"`, execute.sql, execute.params)],\n\t\tpostcheck: [step(`verify RLS policy \"${policy.name}\" exists`, present.sql, present.params)]\n\t};\n}\nasync function dropRlsPolicy(schemaName, tableName, policyName, lowerer) {\n\tconst ddlNode = dropPolicy({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tname: policyName\n\t});\n\tconst checks = rlsPolicyExistsAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tpolicyName\n\t});\n\tconst present = await lowerer.lowerToExecuteRequest(checks.policyPresent());\n\tconst execute = await lowerer.lowerToExecuteRequest(ddlNode);\n\tconst absent = await lowerer.lowerToExecuteRequest(checks.policyAbsent());\n\treturn {\n\t\tid: `rlsPolicy.${schemaName}.${tableName}.${policyName}.drop`,\n\t\tlabel: `Drop RLS policy \"${policyName}\" on \"${tableName}\"`,\n\t\toperationClass: \"destructive\",\n\t\ttarget: targetDetails(\"rlsPolicy\", policyName, schemaName, tableName),\n\t\tprecheck: [step(`ensure RLS policy \"${policyName}\" exists`, present.sql, present.params)],\n\t\texecute: [step(`drop RLS policy \"${policyName}\"`, execute.sql, execute.params)],\n\t\tpostcheck: [step(`verify RLS policy \"${policyName}\" is absent`, absent.sql, absent.params)]\n\t};\n}\nasync function enableRowLevelSecurity(schemaName, tableName, lowerer) {\n\tconst checks = rlsEnabledAst(schemaName, tableName);\n\tconst disabled = await lowerer.lowerToExecuteRequest(checks.rlsDisabled());\n\tconst enabled = await lowerer.lowerToExecuteRequest(checks.rlsEnabled());\n\treturn {\n\t\tid: `rowLevelSecurity.${schemaName}.${tableName}`,\n\t\tlabel: `Enable row-level security on \"${tableName}\"`,\n\t\toperationClass: \"additive\",\n\t\ttarget: targetDetails(\"rowLevelSecurity\", tableName, schemaName),\n\t\tprecheck: [step(`check RLS is not already enabled on \"${tableName}\"`, disabled.sql, disabled.params)],\n\t\texecute: [step(`enable row-level security on \"${tableName}\"`, `ALTER TABLE ${qualifyTableName(schemaName, tableName)} ENABLE ROW LEVEL SECURITY`)],\n\t\tpostcheck: [step(`verify row-level security is enabled on \"${tableName}\"`, enabled.sql, enabled.params)]\n\t};\n}\nasync function disableRowLevelSecurity(schemaName, tableName, lowerer) {\n\tconst ddlNode = disableRowLevelSecurity$1({\n\t\tschema: schemaName,\n\t\ttable: tableName\n\t});\n\tconst checks = rlsEnabledAst(schemaName, tableName);\n\tconst enabled = await lowerer.lowerToExecuteRequest(checks.rlsEnabled());\n\tconst execute = await lowerer.lowerToExecuteRequest(ddlNode);\n\tconst disabled = await lowerer.lowerToExecuteRequest(checks.rlsDisabled());\n\treturn {\n\t\tid: `rowLevelSecurity.${schemaName}.${tableName}.disable`,\n\t\tlabel: `Disable row-level security on \"${tableName}\"`,\n\t\toperationClass: \"destructive\",\n\t\ttarget: targetDetails(\"rowLevelSecurity\", tableName, schemaName),\n\t\tprecheck: [step(`check RLS is currently enabled on \"${tableName}\"`, enabled.sql, enabled.params)],\n\t\texecute: [step(`disable row-level security on \"${tableName}\"`, execute.sql, execute.params)],\n\t\tpostcheck: [step(`verify row-level security is disabled on \"${tableName}\"`, disabled.sql, disabled.params)]\n\t};\n}\nasync function renameRlsPolicy(schemaName, tableName, oldPolicyName, newPolicyName, lowerer) {\n\tconst ddlNode = alterPolicyRename({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tname: oldPolicyName,\n\t\tnewName: newPolicyName\n\t});\n\tconst oldChecks = rlsPolicyExistsAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tpolicyName: oldPolicyName\n\t});\n\tconst newChecks = rlsPolicyExistsAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tpolicyName: newPolicyName\n\t});\n\tconst oldPresent = await lowerer.lowerToExecuteRequest(oldChecks.policyPresent());\n\tconst execute = await lowerer.lowerToExecuteRequest(ddlNode);\n\tconst newPresent = await lowerer.lowerToExecuteRequest(newChecks.policyPresent());\n\treturn {\n\t\tid: `rlsPolicy.${schemaName}.${tableName}.${oldPolicyName}.rename`,\n\t\tlabel: `Rename RLS policy \"${oldPolicyName}\" to \"${newPolicyName}\" on \"${tableName}\"`,\n\t\toperationClass: \"widening\",\n\t\ttarget: targetDetails(\"rlsPolicy\", newPolicyName, schemaName, tableName),\n\t\tprecheck: [step(`ensure RLS policy \"${oldPolicyName}\" exists`, oldPresent.sql, oldPresent.params)],\n\t\texecute: [step(`rename RLS policy \"${oldPolicyName}\" to \"${newPolicyName}\"`, execute.sql, execute.params)],\n\t\tpostcheck: [step(`verify RLS policy \"${newPolicyName}\" exists`, newPresent.sql, newPresent.params)]\n\t};\n}\n//#endregion\n//#region src/core/migrations/operations/tables.ts\nasync function dropTable(schemaName, tableName, lowerer) {\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst checks = tableExistsAst(schemaName, tableName);\n\tconst present = await lowerer.lowerToExecuteRequest(checks.tablePresent());\n\tconst absent = await lowerer.lowerToExecuteRequest(checks.tableAbsent());\n\treturn {\n\t\tid: `dropTable.${tableName}`,\n\t\tlabel: `Drop table \"${tableName}\"`,\n\t\toperationClass: \"destructive\",\n\t\ttarget: targetDetails(\"table\", tableName, schemaName),\n\t\tprecheck: [step(`ensure table \"${tableName}\" exists`, present.sql, present.params)],\n\t\texecute: [step(`drop table \"${tableName}\"`, `DROP TABLE ${qualified}`)],\n\t\tpostcheck: [step(`verify table \"${tableName}\" does not exist`, absent.sql, absent.params)]\n\t};\n}\nfunction renameTableStatement(schemaName, fromName, toName) {\n\treturn `ALTER TABLE ${qualifyTableName(schemaName, fromName)} RENAME TO ${quoteIdentifier(toName)}`;\n}\nasync function renameTable(schemaName, fromName, toName, lowerer) {\n\tconst fromChecks = tableExistsAst(schemaName, fromName);\n\tconst toChecks = tableExistsAst(schemaName, toName);\n\tconst fromPresent = await lowerer.lowerToExecuteRequest(fromChecks.tablePresent());\n\tconst toAbsent = await lowerer.lowerToExecuteRequest(toChecks.tableAbsent());\n\tconst toPresent = await lowerer.lowerToExecuteRequest(toChecks.tablePresent());\n\tconst fromAbsent = await lowerer.lowerToExecuteRequest(fromChecks.tableAbsent());\n\treturn {\n\t\tid: `renameTable.${fromName}`,\n\t\tlabel: `Rename table \"${fromName}\" to \"${toName}\"`,\n\t\toperationClass: \"widening\",\n\t\ttarget: targetDetails(\"table\", toName, schemaName),\n\t\tprecheck: [step(`ensure table \"${fromName}\" exists`, fromPresent.sql, fromPresent.params), step(`ensure table \"${toName}\" does not exist`, toAbsent.sql, toAbsent.params)],\n\t\texecute: [step(`rename table \"${fromName}\" to \"${toName}\"`, renameTableStatement(schemaName, fromName, toName))],\n\t\tpostcheck: [step(`verify table \"${toName}\" exists`, toPresent.sql, toPresent.params), step(`verify table \"${fromName}\" no longer exists`, fromAbsent.sql, fromAbsent.params)]\n\t};\n}\n//#endregion\n//#region src/core/migrations/planner-target-details.ts\nfunction buildTargetDetails(objectType, name, schema, table) {\n\treturn {\n\t\tschema,\n\t\tobjectType,\n\t\tname,\n\t\t...ifDefined(\"table\", table)\n\t};\n}\n//#endregion\n//#region src/core/migrations/planner-recipes.ts\nfunction buildAddColumnOperationIdentity(schema, tableName, columnName) {\n\treturn {\n\t\tid: `column.${tableName}.${columnName}`,\n\t\tlabel: `Add column ${columnName} to ${tableName}`,\n\t\tsummary: `Adds column ${columnName} to table ${tableName}`,\n\t\ttarget: {\n\t\t\tid: \"postgres\",\n\t\t\tdetails: buildTargetDetails(\"table\", tableName, schema)\n\t\t}\n\t};\n}\nasync function buildAddNotNullColumnWithTemporaryDefaultOperation(options) {\n\tconst { schema, tableName, columnName, column, types, storageTypes, temporaryDefault, lowerer } = options;\n\tconst ddlColumn = col(columnName, buildColumnTypeSql(column, types, storageTypes), {\n\t\tnotNull: true,\n\t\tdefault: new FunctionColumnDefault(opaqueSql(temporaryDefault))\n\t});\n\tconst addColumn = await lowerer.lowerToExecuteRequest(alterTable({\n\t\t...ifDefined(\"schema\", boundSchema(schema)),\n\t\ttable: tableName,\n\t\tactions: [addColumnAction(ddlColumn)]\n\t}));\n\tconst dropTempDefault = await lowerer.lowerToExecuteRequest(alterTable({\n\t\t...ifDefined(\"schema\", boundSchema(schema)),\n\t\ttable: tableName,\n\t\tactions: [dropDefaultAction(columnName)]\n\t}));\n\tconst absent = await lowerer.lowerToExecuteRequest(columnExistsAst({\n\t\tschema,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t}).columnAbsent());\n\tconst present = await lowerer.lowerToExecuteRequest(columnExistsAst({\n\t\tschema,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t}).columnPresent());\n\tconst notNullable = await lowerer.lowerToExecuteRequest(columnNullabilityAst({\n\t\tschema,\n\t\ttable: tableName,\n\t\tcolumn: columnName,\n\t\tnullable: false\n\t}));\n\tconst noDefault = await lowerer.lowerToExecuteRequest(columnDefaultAst({\n\t\tschema,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t}).noDefault());\n\treturn {\n\t\t...buildAddColumnOperationIdentity(schema, tableName, columnName),\n\t\toperationClass: \"additive\",\n\t\tprecheck: [step(`ensure column \"${columnName}\" is missing`, absent.sql, absent.params)],\n\t\texecute: [{\n\t\t\tdescription: `add column \"${columnName}\"`,\n\t\t\tsql: addColumn.sql\n\t\t}, {\n\t\t\tdescription: `drop temporary default from column \"${columnName}\"`,\n\t\t\tsql: dropTempDefault.sql\n\t\t}],\n\t\tpostcheck: [\n\t\t\tstep(`verify column \"${columnName}\" exists`, present.sql, present.params),\n\t\t\tstep(`verify column \"${columnName}\" is NOT NULL`, notNullable.sql, notNullable.params),\n\t\t\tstep(`verify column \"${columnName}\" has no default after temporary default removal`, noDefault.sql, noDefault.params)\n\t\t]\n\t};\n}\n//#endregion\n//#region src/core/migrations/op-factory-call.ts\n/**\n* Postgres migration IR: one concrete `*Call` class per pure factory under\n* `operations/`, plus a shared `PostgresOpFactoryCallNode` abstract base.\n*\n* Every call class carries the literal arguments its backing factory would\n* receive, computes a human-readable `label` in its constructor, and\n* implements two polymorphic hooks:\n*\n* - `toOp()` — converts the IR node to a runtime\n* `SqlMigrationPlanOperation` by delegating to the matching pure factory\n* under `operations/`. `DataTransformCall.toOp()` always throws\n* `MIGRATION.UNFILLED_PLACEHOLDER` because a planner-generated data transform is an\n* unfilled authoring stub by construction.\n* - `renderTypeScript()` / `importRequirements()` — inherited from\n* `TsExpression`. Used by `renderCallsToTypeScript` to emit the call as\n* a TypeScript expression inside the scaffolded `migration.ts`.\n*\n* The abstract base and all concrete classes are package-private. External\n* consumers see only the framework-level `OpFactoryCall` interface and the\n* `PostgresOpFactoryCall` union.\n*/\nconst POSTGRES_MIGRATION_FACADE = \"@internal/postgres/migration\";\nvar PostgresOpFactoryCallNode = class extends TsExpression {\n\timportRequirements() {\n\t\treturn [{\n\t\t\tmoduleSpecifier: POSTGRES_MIGRATION_FACADE,\n\t\t\tsymbol: this.factoryName\n\t\t}];\n\t}\n\tfreeze() {\n\t\tObject.freeze(this);\n\t}\n};\nfunction postgresDefaultToDdlColumnDefault(columnDefault) {\n\tif (!columnDefault) return void 0;\n\tswitch (columnDefault.kind) {\n\t\tcase \"literal\": return new LiteralColumnDefault(columnDefault.value);\n\t\tcase \"function\":\n\t\t\tif (columnDefault.expression === \"autoincrement()\") return void 0;\n\t\t\treturn new FunctionColumnDefault(opaqueSql(columnDefault.expression));\n\t\tcase \"sequence\": return new FunctionColumnDefault(opaqueSql(`nextval('${escapeLiteral(quoteIdentifier(columnDefault.name))}'::regclass)`));\n\t\tdefault: {\n\t\t\tconst exhaustive = columnDefault;\n\t\t\treturn assertNever(exhaustive, `postgresDefaultToDdlColumnDefault: unhandled kind \"${blindCast(exhaustive).kind}\"`);\n\t\t}\n\t}\n}\nfunction renderDdlColumnDefault(def) {\n\tif (!def) return \"\";\n\tif (def.kind === \"literal\") return `lit(${jsonToTsSource(def.value)})`;\n\treturn `fn(${tsQuotedTextSource(def.expression.text)})`;\n}\nfunction renderDdlColumnAsTsCall(col) {\n\tconst opts = [];\n\tif (col.notNull) opts.push(\"notNull: true\");\n\tif (col.primaryKey) opts.push(\"primaryKey: true\");\n\tif (col.default) opts.push(`default: ${renderDdlColumnDefault(col.default)}`);\n\tif (col.codecRef) opts.push(`codecRef: ${jsonToTsSource(col.codecRef)}`);\n\tconst optsStr = opts.length > 0 ? `, { ${opts.join(\", \")} }` : \"\";\n\treturn `col(${jsonToTsSource(col.name)}, ${jsonToTsSource(col.type)}${optsStr})`;\n}\nfunction renderDdlConstraintAsTsCall(constraint) {\n\tswitch (constraint.kind) {\n\t\tcase \"primary-key\": {\n\t\t\tconst nameOpt = constraint.name ? `, { name: ${jsonToTsSource(constraint.name)} }` : \"\";\n\t\t\treturn `primaryKey(${jsonToTsSource(constraint.columns)}${nameOpt})`;\n\t\t}\n\t\tcase \"foreign-key\": {\n\t\t\tconst opts = [];\n\t\t\tif (constraint.name) opts.push(`name: ${jsonToTsSource(constraint.name)}`);\n\t\t\tif (constraint.onDelete) opts.push(`onDelete: ${jsonToTsSource(constraint.onDelete)}`);\n\t\t\tif (constraint.onUpdate) opts.push(`onUpdate: ${jsonToTsSource(constraint.onUpdate)}`);\n\t\t\tconst optsStr = opts.length > 0 ? `, { ${opts.join(\", \")} }` : \"\";\n\t\t\treturn `foreignKey(${jsonToTsSource(constraint.columns)}, ${jsonToTsSource(constraint.refTable)}, ${jsonToTsSource(constraint.refColumns)}${optsStr})`;\n\t\t}\n\t\tcase \"unique\": {\n\t\t\tconst nameOpt = constraint.name ? `, { name: ${jsonToTsSource(constraint.name)} }` : \"\";\n\t\t\treturn `unique(${jsonToTsSource(constraint.columns)}${nameOpt})`;\n\t\t}\n\t\tcase \"check-expression\": return `checkExpression(${jsonToTsSource(constraint.name)}, ${tsQuotedTextSource(constraint.expression.text)})`;\n\t}\n}\nfunction needsColOrConstraintImport(columns) {\n\treturn columns.length > 0;\n}\nfunction constraintImportSymbols(constraints) {\n\tif (!constraints || constraints.length === 0) return [];\n\tconst symbols = /* @__PURE__ */ new Set();\n\tfor (const c of constraints) if (c.kind === \"primary-key\") symbols.add(\"primaryKey\");\n\telse if (c.kind === \"foreign-key\") symbols.add(\"foreignKey\");\n\telse if (c.kind === \"unique\") symbols.add(\"unique\");\n\telse if (c.kind === \"check-expression\") symbols.add(\"checkExpression\");\n\treturn [...symbols];\n}\nfunction defaultImportSymbols(columns) {\n\tconst symbols = /* @__PURE__ */ new Set();\n\tfor (const col of columns) if (col.default?.kind === \"literal\") symbols.add(\"lit\");\n\telse if (col.default?.kind === \"function\") symbols.add(\"fn\");\n\treturn [...symbols];\n}\nvar CreateTableCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"createTable\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttableName;\n\tcolumns;\n\tconstraints;\n\tlabel;\n\tconstructor(schemaName, tableName, columns, constraints) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.columns = Object.freeze([...columns]);\n\t\tthis.constraints = constraints ? Object.freeze([...constraints]) : void 0;\n\t\tthis.label = `Create table \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `CreateTableCall.toOp: a DDL lowerer is required on the Postgres planner path (table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"CreateTableCall\" } });\n\t\tconst ddlNode = createTable({\n\t\t\t...ifDefined(\"schema\", boundSchema(this.schemaName)),\n\t\t\ttable: this.tableName,\n\t\t\tcolumns: this.columns,\n\t\t\t...ifDefined(\"constraints\", this.constraints)\n\t\t});\n\t\tconst statement = await lowerer.lowerToExecuteRequest(ddlNode);\n\t\tconst schemaName = this.schemaName;\n\t\tconst tableName = this.tableName;\n\t\tconst checks = tableExistsAst(schemaName, tableName);\n\t\tconst absent = await lowerer.lowerToExecuteRequest(checks.tableAbsent());\n\t\tconst present = await lowerer.lowerToExecuteRequest(checks.tablePresent());\n\t\treturn {\n\t\t\tid: `table.${tableName}`,\n\t\t\tlabel: `Create table \"${tableName}\"`,\n\t\t\tsummary: `Creates table \"${tableName}\"`,\n\t\t\toperationClass: \"additive\",\n\t\t\ttarget: targetDetails(\"table\", tableName, schemaName),\n\t\t\tprecheck: [step(`ensure table \"${tableName}\" does not exist`, absent.sql, absent.params)],\n\t\t\texecute: [{\n\t\t\t\tdescription: `create table \"${tableName}\"`,\n\t\t\t\tsql: statement.sql,\n\t\t\t\tparams: statement.params ?? []\n\t\t\t}],\n\t\t\tpostcheck: [step(`verify table \"${tableName}\" exists`, present.sql, present.params)]\n\t\t};\n\t}\n\trenderTypeScript() {\n\t\tconst columnsList = this.columns.map(renderDdlColumnAsTsCall).join(\", \");\n\t\tconst constraintsList = this.constraints ? this.constraints.map(renderDdlConstraintAsTsCall).join(\", \") : void 0;\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`columns: [${columnsList}]`);\n\t\tif (constraintsList) opts.push(`constraints: [${constraintsList}]`);\n\t\treturn `this.createTable({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\tconst req = [];\n\t\tif (needsColOrConstraintImport(this.columns)) {\n\t\t\treq.push({\n\t\t\t\tmoduleSpecifier: POSTGRES_MIGRATION_FACADE,\n\t\t\t\tsymbol: \"col\"\n\t\t\t});\n\t\t\tfor (const sym of defaultImportSymbols(this.columns)) req.push({\n\t\t\t\tmoduleSpecifier: POSTGRES_MIGRATION_FACADE,\n\t\t\t\tsymbol: sym\n\t\t\t});\n\t\t}\n\t\tfor (const sym of constraintImportSymbols(this.constraints)) req.push({\n\t\t\tmoduleSpecifier: POSTGRES_MIGRATION_FACADE,\n\t\t\tsymbol: sym\n\t\t});\n\t\treturn req;\n\t}\n};\nvar DropTableCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"dropTable\";\n\toperationClass = \"destructive\";\n\tschemaName;\n\ttableName;\n\tlabel;\n\tconstructor(schemaName, tableName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.label = `Drop table \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `DropTableCall.toOp: a lowerer is required on the Postgres planner path (table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"DropTableCall\" } });\n\t\treturn dropTable(this.schemaName, this.tableName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\treturn `this.dropTable({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar RenameTableCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"renameTable\";\n\toperationClass = \"widening\";\n\tschemaName;\n\toldTableName;\n\t/** The new name: the table's contract-side identity after the rename. */\n\ttableName;\n\tlabel;\n\tconstructor(schemaName, oldTableName, tableName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.oldTableName = oldTableName;\n\t\tthis.tableName = tableName;\n\t\tthis.label = `Rename table \"${oldTableName}\" to \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `RenameTableCall.toOp: a lowerer is required on the Postgres planner path (table \"${this.oldTableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"RenameTableCall\" } });\n\t\treturn renameTable(this.schemaName, this.oldTableName, this.tableName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.oldTableName)}`);\n\t\topts.push(`to: ${jsonToTsSource(this.tableName)}`);\n\t\treturn `...this.renameTable({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar AddColumnCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"addColumn\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttableName;\n\tcolumn;\n\tlabel;\n\tconstructor(schemaName, tableName, column) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.column = column;\n\t\tthis.label = `Add column \"${column.name}\" to \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `AddColumnCall.toOp: a DDL lowerer is required on the Postgres planner path (column \"${this.column.name}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"AddColumnCall\" } });\n\t\tconst ddlNode = alterTable({\n\t\t\t...ifDefined(\"schema\", boundSchema(this.schemaName)),\n\t\t\ttable: this.tableName,\n\t\t\tactions: [addColumnAction(this.column)]\n\t\t});\n\t\tconst statement = await lowerer.lowerToExecuteRequest(ddlNode);\n\t\tconst schemaName = this.schemaName;\n\t\tconst tableName = this.tableName;\n\t\tconst columnName = this.column.name;\n\t\tconst colChecks = columnExistsAst({\n\t\t\tschema: schemaName,\n\t\t\ttable: tableName,\n\t\t\tcolumn: columnName\n\t\t});\n\t\tconst absent = await lowerer.lowerToExecuteRequest(colChecks.columnAbsent());\n\t\tconst present = await lowerer.lowerToExecuteRequest(colChecks.columnPresent());\n\t\treturn {\n\t\t\tid: `column.${schemaName}.${tableName}.${columnName}`,\n\t\t\tlabel: `Add column \"${columnName}\" to \"${tableName}\"`,\n\t\t\toperationClass: \"additive\",\n\t\t\ttarget: targetDetails(\"column\", columnName, schemaName, tableName),\n\t\t\tprecheck: [step(`ensure column \"${columnName}\" is missing`, absent.sql, absent.params)],\n\t\t\texecute: [step(`add column \"${columnName}\"`, statement.sql)],\n\t\t\tpostcheck: [step(`verify column \"${columnName}\" exists`, present.sql, present.params)]\n\t\t};\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`column: ${renderDdlColumnAsTsCall(this.column)}`);\n\t\treturn `this.addColumn({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\tconst req = [{\n\t\t\tmoduleSpecifier: POSTGRES_MIGRATION_FACADE,\n\t\t\tsymbol: \"col\"\n\t\t}];\n\t\tfor (const sym of defaultImportSymbols([this.column])) req.push({\n\t\t\tmoduleSpecifier: POSTGRES_MIGRATION_FACADE,\n\t\t\tsymbol: sym\n\t\t});\n\t\treturn req;\n\t}\n};\nvar DropColumnCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"dropColumn\";\n\toperationClass = \"destructive\";\n\tschemaName;\n\ttableName;\n\tcolumnName;\n\tlabel;\n\tconstructor(schemaName, tableName, columnName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.columnName = columnName;\n\t\tthis.label = `Drop column \"${columnName}\" from \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `DropColumnCall.toOp: a lowerer is required on the Postgres planner path (column \"${this.columnName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"DropColumnCall\" } });\n\t\treturn dropColumn(this.schemaName, this.tableName, this.columnName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`column: ${jsonToTsSource(this.columnName)}`);\n\t\treturn `this.dropColumn({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar AlterColumnTypeCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"alterColumnType\";\n\toperationClass = \"destructive\";\n\tschemaName;\n\ttableName;\n\tcolumnName;\n\toptions;\n\tlabel;\n\tconstructor(schemaName, tableName, columnName, options) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.columnName = columnName;\n\t\tthis.options = options;\n\t\tthis.label = `Alter type of \"${tableName}\".\"${columnName}\" to ${options.rawTargetTypeForLabel}`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `AlterColumnTypeCall.toOp: a lowerer is required on the Postgres planner path (column \"${this.columnName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"AlterColumnTypeCall\" } });\n\t\treturn alterColumnType(this.schemaName, this.tableName, this.columnName, this.options, lowerer);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`column: ${jsonToTsSource(this.columnName)}`);\n\t\topts.push(`options: ${jsonToTsSource(this.options)}`);\n\t\treturn `this.alterColumnType({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar SetNotNullCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"setNotNull\";\n\toperationClass = \"destructive\";\n\tschemaName;\n\ttableName;\n\tcolumnName;\n\tlabel;\n\tconstructor(schemaName, tableName, columnName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.columnName = columnName;\n\t\tthis.label = `Set NOT NULL on \"${tableName}\".\"${columnName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `SetNotNullCall.toOp: a lowerer is required on the Postgres planner path (column \"${this.columnName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"SetNotNullCall\" } });\n\t\treturn setNotNull(this.schemaName, this.tableName, this.columnName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`column: ${jsonToTsSource(this.columnName)}`);\n\t\treturn `this.setNotNull({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar DropNotNullCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"dropNotNull\";\n\toperationClass = \"widening\";\n\tschemaName;\n\ttableName;\n\tcolumnName;\n\tlabel;\n\tconstructor(schemaName, tableName, columnName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.columnName = columnName;\n\t\tthis.label = `Drop NOT NULL on \"${tableName}\".\"${columnName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `DropNotNullCall.toOp: a lowerer is required on the Postgres planner path (column \"${this.columnName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"DropNotNullCall\" } });\n\t\treturn dropNotNull(this.schemaName, this.tableName, this.columnName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`column: ${jsonToTsSource(this.columnName)}`);\n\t\treturn `this.dropNotNull({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar SetDefaultCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"setDefault\";\n\toperationClass;\n\tschemaName;\n\ttableName;\n\t/** The column with the default to set, its type and its codec; the adapter writes the clause. */\n\tcolumn;\n\tlabel;\n\tconstructor(schemaName, tableName, column, operationClass = \"additive\") {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.column = column;\n\t\tthis.operationClass = operationClass;\n\t\tthis.label = `Set default on \"${tableName}\".\"${column.name}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `SetDefaultCall.toOp: a lowerer is required on the Postgres planner path (column \"${this.column.name}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"SetDefaultCall\" } });\n\t\treturn setDefault(this.schemaName, this.tableName, this.column, lowerer, this.operationClass);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`column: ${renderDdlColumnAsTsCall(this.column)}`);\n\t\tif (this.operationClass !== \"additive\") opts.push(`operationClass: ${jsonToTsSource(this.operationClass)}`);\n\t\treturn `this.setDefault({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [{\n\t\t\tmoduleSpecifier: POSTGRES_MIGRATION_FACADE,\n\t\t\tsymbol: \"col\"\n\t\t}, ...defaultImportSymbols([this.column]).map((symbol) => ({\n\t\t\tmoduleSpecifier: POSTGRES_MIGRATION_FACADE,\n\t\t\tsymbol\n\t\t}))];\n\t}\n};\nvar DropDefaultCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"dropDefault\";\n\toperationClass = \"destructive\";\n\tschemaName;\n\ttableName;\n\tcolumnName;\n\tlabel;\n\tconstructor(schemaName, tableName, columnName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.columnName = columnName;\n\t\tthis.label = `Drop default on \"${tableName}\".\"${columnName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `DropDefaultCall.toOp: a lowerer is required on the Postgres planner path (column \"${this.columnName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"DropDefaultCall\" } });\n\t\treturn dropDefault(this.schemaName, this.tableName, this.columnName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`column: ${jsonToTsSource(this.columnName)}`);\n\t\treturn `this.dropDefault({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\n/**\n* Planner-internal call for adding a NOT NULL column (no contract default) to\n* a table that must be empty at migration time. Carries the typed `DdlColumn`\n* and lowers it to an ADD COLUMN execute step via the adapter at `toOp` time.\n*\n* No authored `PostgresMigration` method: this call is only emitted by the\n* planner, never hand-written by migration authors.\n*/\nvar AddNotNullColumnDirectCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"rawSql\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttableName;\n\tcolumnName;\n\tcolumn;\n\tlabel;\n\tconstructor(schemaName, tableName, columnName, column) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.columnName = columnName;\n\t\tthis.column = column;\n\t\tthis.label = `Add column ${columnName} to ${tableName}`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `AddNotNullColumnDirectCall.toOp: a lowerer is required on the Postgres planner path (column \"${this.columnName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"AddNotNullColumnDirectCall\" } });\n\t\treturn addNotNullColumnDirect(this.schemaName, this.tableName, this.column, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `rawSql(${jsonToTsSource({\n\t\t\tid: `column.${this.tableName}.${this.columnName}`,\n\t\t\tlabel: this.label,\n\t\t\toperationClass: \"additive\"\n\t\t})})`;\n\t}\n};\n/**\n* Planner-internal call for adding a NOT NULL column (no contract default)\n* using a temporary default value for non-empty tables. Carries all parameters\n* needed for `buildAddNotNullColumnWithTemporaryDefaultOperation`; both the\n* typed ADD COLUMN execute step and the pre/postchecks are lowered via the\n* adapter at `toOp` time.\n*\n* No authored `PostgresMigration` method: this call is only emitted by the\n* planner, never hand-written by migration authors.\n*/\nvar AddNotNullColumnWithTempDefaultCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"rawSql\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttableName;\n\tcolumnName;\n\tcolumn;\n\ttypes;\n\tstorageTypes;\n\ttemporaryDefault;\n\tlabel;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.schemaName = options.schemaName;\n\t\tthis.tableName = options.tableName;\n\t\tthis.columnName = options.columnName;\n\t\tthis.column = options.column;\n\t\tthis.types = options.types;\n\t\tthis.storageTypes = options.storageTypes;\n\t\tthis.temporaryDefault = options.temporaryDefault;\n\t\tthis.label = `Add column ${options.columnName} to ${options.tableName}`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `AddNotNullColumnWithTempDefaultCall.toOp: a lowerer is required on the Postgres planner path (column \"${this.columnName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"AddNotNullColumnWithTempDefaultCall\" } });\n\t\treturn buildAddNotNullColumnWithTemporaryDefaultOperation({\n\t\t\tschema: this.schemaName,\n\t\t\ttableName: this.tableName,\n\t\t\tcolumnName: this.columnName,\n\t\t\tcolumn: this.column,\n\t\t\ttypes: this.types,\n\t\t\tstorageTypes: this.storageTypes,\n\t\t\ttemporaryDefault: this.temporaryDefault,\n\t\t\tlowerer\n\t\t});\n\t}\n\trenderTypeScript() {\n\t\treturn `rawSql(${jsonToTsSource({\n\t\t\tid: `column.${this.tableName}.${this.columnName}`,\n\t\t\tlabel: this.label,\n\t\t\toperationClass: \"additive\"\n\t\t})})`;\n\t}\n};\nfunction constraintCallOptions(schemaName, tableName, constraintName) {\n\tconst opts = [];\n\tif (schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(schemaName)}`);\n\topts.push(`table: ${jsonToTsSource(tableName)}`);\n\topts.push(`constraint: ${jsonToTsSource(constraintName)}`);\n\treturn opts.join(\", \");\n}\nvar AddPrimaryKeyCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"addPrimaryKey\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttableName;\n\tconstraintName;\n\tcolumns;\n\tlabel;\n\tconstructor(schemaName, tableName, constraintName, columns) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.constraintName = constraintName;\n\t\tthis.columns = columns;\n\t\tthis.label = `Add primary key on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `AddPrimaryKeyCall.toOp: a lowerer is required on the Postgres planner path (constraint \"${this.constraintName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"AddPrimaryKeyCall\" } });\n\t\treturn addPrimaryKey(this.schemaName, this.tableName, this.constraintName, this.columns, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `this.addPrimaryKey({ ${constraintCallOptions(this.schemaName, this.tableName, this.constraintName)}, columns: ${jsonToTsSource(this.columns)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar AddUniqueCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"addUnique\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttableName;\n\tconstraintName;\n\tcolumns;\n\tlabel;\n\tconstructor(schemaName, tableName, constraintName, columns) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.constraintName = constraintName;\n\t\tthis.columns = columns;\n\t\tthis.label = `Add unique constraint on \"${tableName}\" (${columns.join(\", \")})`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `AddUniqueCall.toOp: a lowerer is required on the Postgres planner path (constraint \"${this.constraintName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"AddUniqueCall\" } });\n\t\treturn addUnique(this.schemaName, this.tableName, this.constraintName, this.columns, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `this.addUnique({ ${constraintCallOptions(this.schemaName, this.tableName, this.constraintName)}, columns: ${jsonToTsSource(this.columns)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar AddForeignKeyCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"addForeignKey\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttableName;\n\tfk;\n\tlabel;\n\tconstructor(schemaName, tableName, fk) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.fk = fk;\n\t\tthis.label = `Add foreign key \"${fk.name}\" on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `AddForeignKeyCall.toOp: a lowerer is required on the Postgres planner path (constraint \"${this.fk.name}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"AddForeignKeyCall\" } });\n\t\treturn addForeignKey(this.schemaName, this.tableName, this.fk, lowerer);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`foreignKey: ${jsonToTsSource(this.fk)}`);\n\t\treturn `this.addForeignKey({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar DropConstraintCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"dropConstraint\";\n\toperationClass = \"destructive\";\n\tschemaName;\n\ttableName;\n\tconstraintName;\n\tkind;\n\tlabel;\n\tconstructor(schemaName, tableName, constraintName, kind = \"unique\") {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.constraintName = constraintName;\n\t\tthis.kind = kind;\n\t\tthis.label = `Drop constraint \"${constraintName}\" on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `DropConstraintCall.toOp: a lowerer is required on the Postgres planner path (constraint \"${this.constraintName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"DropConstraintCall\" } });\n\t\treturn dropConstraint(this.schemaName, this.tableName, this.constraintName, lowerer, this.kind);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [constraintCallOptions(this.schemaName, this.tableName, this.constraintName)];\n\t\tif (this.kind !== \"unique\") opts.push(`kind: ${jsonToTsSource(this.kind)}`);\n\t\treturn `this.dropConstraint({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar RenameConstraintCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"renameConstraint\";\n\toperationClass = \"widening\";\n\tschemaName;\n\ttableName;\n\tkind;\n\toldConstraintName;\n\tnewConstraintName;\n\tlabel;\n\tconstructor(schemaName, tableName, kind, oldConstraintName, newConstraintName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.kind = kind;\n\t\tthis.oldConstraintName = oldConstraintName;\n\t\tthis.newConstraintName = newConstraintName;\n\t\tthis.label = renameConstraintLabel(kind, oldConstraintName, newConstraintName, tableName);\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `RenameConstraintCall.toOp: a lowerer is required on the Postgres planner path (constraint \"${this.oldConstraintName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"RenameConstraintCall\" } });\n\t\treturn renameConstraint(this.schemaName, this.tableName, this.kind, this.oldConstraintName, this.newConstraintName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`kind: ${jsonToTsSource(this.kind)}`);\n\t\topts.push(`from: ${jsonToTsSource(this.oldConstraintName)}`);\n\t\topts.push(`to: ${jsonToTsSource(this.newConstraintName)}`);\n\t\treturn `this.renameConstraint({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar AddCheckConstraintCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"addCheckConstraint\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttableName;\n\tconstraintName;\n\t/** Opaque SQL: the predicate body, rendered verbatim inside `CHECK (…)`. */\n\texpression;\n\tlabel;\n\tconstructor(schemaName, tableName, constraintName, expression) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.constraintName = constraintName;\n\t\tthis.expression = expression;\n\t\tthis.label = `Add check constraint \"${constraintName}\" on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `AddCheckConstraintCall.toOp: a lowerer is required on the Postgres planner path (constraint \"${this.constraintName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"AddCheckConstraintCall\" } });\n\t\treturn addCheckConstraint(this.schemaName, this.tableName, this.constraintName, this.expression, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `this.addCheckConstraint({ ${constraintCallOptions(this.schemaName, this.tableName, this.constraintName)}, expression: ${tsQuotedTextSource(this.expression)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar DropCheckConstraintCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"dropCheckConstraint\";\n\toperationClass = \"destructive\";\n\tschemaName;\n\ttableName;\n\tconstraintName;\n\tlabel;\n\tconstructor(schemaName, tableName, constraintName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.constraintName = constraintName;\n\t\tthis.label = `Drop check constraint \"${constraintName}\" on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `DropCheckConstraintCall.toOp: a lowerer is required on the Postgres planner path (constraint \"${this.constraintName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"DropCheckConstraintCall\" } });\n\t\treturn dropCheckConstraint(this.schemaName, this.tableName, this.constraintName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `this.dropCheckConstraint({ ${constraintCallOptions(this.schemaName, this.tableName, this.constraintName)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar CreateIndexCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"createIndex\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttableName;\n\tindexName;\n\t/** Column tuple when the index is column-based; absent for expression indexes. */\n\tcolumns;\n\t/** Opaque whole element list when the index is expression-based. */\n\texpression;\n\tindexType;\n\toptions;\n\twhere;\n\tunique;\n\tlabel;\n\tconstructor(schemaName, tableName, indexName, elements, extras) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.indexName = indexName;\n\t\tthis.columns = \"columns\" in elements ? elements.columns : void 0;\n\t\tthis.expression = \"expression\" in elements ? elements.expression : void 0;\n\t\tthis.indexType = extras?.type;\n\t\tthis.options = extras?.options;\n\t\tthis.where = extras?.where;\n\t\tthis.unique = extras?.unique === true;\n\t\tthis.label = `Create index \"${indexName}\" on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `CreateIndexCall.toOp: a lowerer is required on the Postgres planner path (index \"${this.indexName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"CreateIndexCall\" } });\n\t\tconst extras = {};\n\t\tif (this.indexType !== void 0) extras.type = this.indexType;\n\t\tif (this.options !== void 0) extras.options = this.options;\n\t\tif (this.where !== void 0) extras.where = this.where;\n\t\tif (this.unique) extras.unique = true;\n\t\treturn createIndex(this.schemaName, this.tableName, this.indexName, this.columns !== void 0 ? { columns: this.columns } : { expression: this.expression ?? \"\" }, lowerer, extras);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`index: ${jsonToTsSource(this.indexName)}`);\n\t\tif (this.columns !== void 0) opts.push(`columns: ${jsonToTsSource(this.columns)}`);\n\t\telse opts.push(`expression: ${tsQuotedTextSource(this.expression ?? \"\")}`);\n\t\tif (this.indexType !== void 0 || this.options !== void 0 || this.where !== void 0 || this.unique) {\n\t\t\tconst extrasParts = [];\n\t\t\tif (this.indexType !== void 0) extrasParts.push(`type: ${jsonToTsSource(this.indexType)}`);\n\t\t\tif (this.options !== void 0) extrasParts.push(`options: ${jsonToTsSource(this.options)}`);\n\t\t\tif (this.where !== void 0) extrasParts.push(`where: ${tsQuotedTextSource(this.where)}`);\n\t\t\tif (this.unique) extrasParts.push(\"unique: true\");\n\t\t\topts.push(`extras: { ${extrasParts.join(\", \")} }`);\n\t\t}\n\t\treturn `this.createIndex({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar RenameIndexCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"renameIndex\";\n\toperationClass = \"widening\";\n\tschemaName;\n\ttableName;\n\toldIndexName;\n\tnewIndexName;\n\tlabel;\n\tconstructor(schemaName, tableName, oldIndexName, newIndexName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.oldIndexName = oldIndexName;\n\t\tthis.newIndexName = newIndexName;\n\t\tthis.label = `Rename index \"${oldIndexName}\" to \"${newIndexName}\" on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `RenameIndexCall.toOp: a lowerer is required on the Postgres planner path (index \"${this.oldIndexName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"RenameIndexCall\" } });\n\t\treturn renameIndex(this.schemaName, this.tableName, this.oldIndexName, this.newIndexName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`from: ${jsonToTsSource(this.oldIndexName)}`);\n\t\topts.push(`to: ${jsonToTsSource(this.newIndexName)}`);\n\t\treturn `this.renameIndex({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar DropIndexCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"dropIndex\";\n\toperationClass = \"destructive\";\n\tschemaName;\n\ttableName;\n\tindexName;\n\tlabel;\n\tconstructor(schemaName, tableName, indexName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.indexName = indexName;\n\t\tthis.label = `Drop index \"${indexName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `DropIndexCall.toOp: a lowerer is required on the Postgres planner path (index \"${this.indexName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"DropIndexCall\" } });\n\t\treturn dropIndex(this.schemaName, this.tableName, this.indexName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`index: ${jsonToTsSource(this.indexName)}`);\n\t\treturn `this.dropIndex({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\n/**\n* Laundered pre-built operation.\n*\n* Wraps an already-materialized `SqlMigrationPlanOperation` — typically one\n* produced by a SQL-family method or a codec control hook — so the planner\n* can carry it alongside IR nodes without reverse-engineering it into a\n* structured call class. Doubles as the user-facing escape hatch for raw\n* migrations: authors can pass a full op shape to `rawSql({...})`.\n*\n* `toOp()` returns the stored op unchanged. `renderTypeScript()` emits\n* `rawSql({...})` with the op serialized as a JSON literal — round-tripping\n* requires every field on the op to be JSON-serializable (no closures).\n*/\nvar RawSqlCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"rawSql\";\n\toperationClass;\n\tlabel;\n\top;\n\tconstructor(op) {\n\t\tsuper();\n\t\tthis.op = op;\n\t\tthis.label = op.label;\n\t\tthis.operationClass = op.operationClass;\n\t\tthis.freeze();\n\t}\n\ttoOp() {\n\t\treturn this.op;\n\t}\n\trenderTypeScript() {\n\t\treturn `rawSql(${jsonToTsSource(this.op)})`;\n\t}\n};\nvar CreateExtensionCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"createExtension\";\n\toperationClass = \"additive\";\n\textensionName;\n\tlabel;\n\tconstructor(extensionName) {\n\t\tsuper();\n\t\tthis.extensionName = extensionName;\n\t\tthis.label = `Create extension \"${extensionName}\"`;\n\t\tthis.freeze();\n\t}\n\ttoOp() {\n\t\treturn createExtension(this.extensionName);\n\t}\n\trenderTypeScript() {\n\t\treturn `createExtension(${jsonToTsSource(this.extensionName)})`;\n\t}\n};\nvar CreateSchemaCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"createSchema\";\n\toperationClass = \"additive\";\n\tschemaName;\n\tlabel;\n\tconstructor(schemaName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.label = `Create schema \"${schemaName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `CreateSchemaCall.toOp: a DDL lowerer is required on the Postgres planner path (schema \"${this.schemaName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"CreateSchemaCall\" } });\n\t\tconst ddlNode = createSchema({\n\t\t\tschema: this.schemaName,\n\t\t\tifNotExists: true\n\t\t});\n\t\tconst statement = await lowerer.lowerToExecuteRequest(ddlNode);\n\t\tconst schemaName = this.schemaName;\n\t\treturn {\n\t\t\tid: `schema.${schemaName}`,\n\t\t\tlabel: `Create schema \"${schemaName}\"`,\n\t\t\toperationClass: \"additive\",\n\t\t\ttarget: { id: \"postgres\" },\n\t\t\tprecheck: [],\n\t\t\texecute: [{\n\t\t\t\tdescription: `Create schema \"${schemaName}\"`,\n\t\t\t\tsql: statement.sql,\n\t\t\t\tparams: statement.params ?? []\n\t\t\t}],\n\t\t\tpostcheck: []\n\t\t};\n\t}\n\trenderTypeScript() {\n\t\treturn `this.createSchema({ schema: ${jsonToTsSource(this.schemaName)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar CreateNativeEnumTypeCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"createNativeEnumType\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttypeName;\n\tmembers;\n\tlabel;\n\tconstructor(schemaName, typeName, members) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.typeName = typeName;\n\t\tthis.members = Object.freeze([...members]);\n\t\tthis.label = `Create enum type \"${typeName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `CreateNativeEnumTypeCall.toOp: a DDL lowerer is required on the Postgres planner path (type \"${this.typeName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"CreateNativeEnumTypeCall\" } });\n\t\treturn createNativeEnumType(this.schemaName, this.typeName, this.members, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `this.createNativeEnumType({ ${[\n\t\t\t`schema: ${jsonToTsSource(this.schemaName)}`,\n\t\t\t`typeName: ${jsonToTsSource(this.typeName)}`,\n\t\t\t`members: ${jsonToTsSource(this.members)}`\n\t\t].join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar DropNativeEnumTypeCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"dropNativeEnumType\";\n\toperationClass = \"destructive\";\n\tschemaName;\n\ttypeName;\n\tlabel;\n\tconstructor(schemaName, typeName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.typeName = typeName;\n\t\tthis.label = `Drop enum type \"${typeName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `DropNativeEnumTypeCall.toOp: a DDL lowerer is required on the Postgres planner path (type \"${this.typeName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"DropNativeEnumTypeCall\" } });\n\t\treturn dropNativeEnumType(this.schemaName, this.typeName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `this.dropNativeEnumType({ ${[`schema: ${jsonToTsSource(this.schemaName)}`, `typeName: ${jsonToTsSource(this.typeName)}`].join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\n/** Schema-qualified, quoted enum type name — unqualified when `schemaName` is the unbound sentinel, matching `boundSchema`'s DDL-node convention. */\nfunction qualifiedNativeEnumTypeName(schemaName, typeName) {\n\tconst bound = boundSchema(schemaName);\n\treturn quoteQualifiedName(bound === void 0 ? typeName : `${bound}.${typeName}`);\n}\nconst ADD_VALUE_TRANSACTION_CAVEAT = \"A newly added enum value cannot be used until the transaction that adds it commits, so a migration that both appends a value and uses it in the same step will fail at apply.\";\n/**\n* `ALTER TYPE <qualified> ADD VALUE '<value>'` for a suffix-appended member on\n* a managed native enum. Built directly as SQL text (qualified via\n* `quoteQualifiedName`, the value escaped via `escapeLiteral`) rather than a\n* typed DDL node — mirrors how `enableRowLevelSecurity` renders its execute\n* step, since no DDL-AST node exists for this statement. Prechecks/postchecks\n* are still typed catalog queries lowered through the control adapter.\n* `validateEnumValueLength` runs at construction, so an over-length value\n* fails before planning produces a call.\n*/\nvar AddNativeEnumValueCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"addNativeEnumValue\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttypeName;\n\tvalue;\n\tlabel;\n\tsummary;\n\tconstructor(schemaName, typeName, value) {\n\t\tsuper();\n\t\tvalidateEnumValueLength(value, typeName);\n\t\tthis.schemaName = schemaName;\n\t\tthis.typeName = typeName;\n\t\tthis.value = value;\n\t\tthis.label = `Add value \"${value}\" to enum type \"${typeName}\"`;\n\t\tthis.summary = `Adds value \"${value}\" to enum type \"${typeName}\". ${ADD_VALUE_TRANSACTION_CAVEAT}`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `AddNativeEnumValueCall.toOp: a lowerer is required on the Postgres planner path (type \"${this.typeName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"AddNativeEnumValueCall\" } });\n\t\tconst { schemaName, typeName, value } = this;\n\t\tconst typeChecks = nativeEnumTypeExistsAst(schemaName, typeName);\n\t\tconst valueChecks = nativeEnumValueExistsAst({\n\t\t\tschema: schemaName,\n\t\t\ttypeName,\n\t\t\tvalue\n\t\t});\n\t\tconst typePresent = await lowerer.lowerToExecuteRequest(typeChecks.typePresent());\n\t\tconst valueAbsent = await lowerer.lowerToExecuteRequest(valueChecks.valueAbsent());\n\t\tconst valuePresent = await lowerer.lowerToExecuteRequest(valueChecks.valuePresent());\n\t\tconst qualifiedType = qualifiedNativeEnumTypeName(schemaName, typeName);\n\t\treturn {\n\t\t\tid: `addNativeEnumValue.${typeName}.${value}`,\n\t\t\tlabel: this.label,\n\t\t\tsummary: this.summary,\n\t\t\toperationClass: \"additive\",\n\t\t\ttarget: targetDetails(\"type\", typeName, schemaName),\n\t\t\tprecheck: [step(`ensure enum type \"${typeName}\" exists`, typePresent.sql, typePresent.params), step(`ensure value \"${value}\" is absent from enum type \"${typeName}\"`, valueAbsent.sql, valueAbsent.params)],\n\t\t\texecute: [step(`add value \"${value}\" to enum type \"${typeName}\"`, `ALTER TYPE ${qualifiedType} ADD VALUE '${escapeLiteral(value)}'`)],\n\t\t\tpostcheck: [step(`verify value \"${value}\" exists on enum type \"${typeName}\"`, valuePresent.sql, valuePresent.params)]\n\t\t};\n\t}\n\trenderTypeScript() {\n\t\treturn `this.addNativeEnumValue({ ${[\n\t\t\t`schema: ${jsonToTsSource(this.schemaName)}`,\n\t\t\t`typeName: ${jsonToTsSource(this.typeName)}`,\n\t\t\t`value: ${jsonToTsSource(this.value)}`\n\t\t].join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\n/**\n* A planner-generated data-transform stub. `checkSlot` and `runSlot` name\n* the unfilled authoring slots that the rendered `migration.ts` will expose\n* to the user via `placeholder(\"…\")` calls. `toOp()` always throws\n* `MIGRATION.UNFILLED_PLACEHOLDER`: the planner cannot lower a stubbed transform to a runtime\n* op — the user must fill the rendered `migration.ts` and re-emit.\n*/\nvar DataTransformCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"dataTransform\";\n\toperationClass;\n\tlabel;\n\tcheckSlot;\n\trunSlot;\n\tconstructor(label, checkSlot, runSlot, operationClass = \"data\") {\n\t\tsuper();\n\t\tthis.label = label;\n\t\tthis.checkSlot = checkSlot;\n\t\tthis.runSlot = runSlot;\n\t\tthis.operationClass = operationClass;\n\t\tthis.freeze();\n\t}\n\ttoOp() {\n\t\tthrow errorUnfilledPlaceholder(this.label);\n\t}\n\trenderTypeScript() {\n\t\treturn [\n\t\t\t`this.dataTransform(endContract, ${jsonToTsSource(this.label)}, {`,\n\t\t\t` check: () => placeholder(${jsonToTsSource(this.checkSlot)}),`,\n\t\t\t` run: () => placeholder(${jsonToTsSource(this.runSlot)}),`,\n\t\t\t\"})\"\n\t\t].join(\"\\n\");\n\t}\n\timportRequirements() {\n\t\treturn [{\n\t\t\tmoduleSpecifier: POSTGRES_MIGRATION_FACADE,\n\t\t\tsymbol: \"placeholder\"\n\t\t}];\n\t}\n};\nvar CreatePostgresRlsPolicyCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"createRlsPolicy\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttableName;\n\tpolicy;\n\tlabel;\n\tconstructor(schemaName, tableName, policy) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.policy = policy;\n\t\tthis.label = `Create RLS policy \"${policy.name}\" on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `CreatePostgresRlsPolicyCall.toOp: a lowerer is required on the Postgres planner path (policy \"${this.policy.name}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"CreatePostgresRlsPolicyCall\" } });\n\t\treturn createRlsPolicy(this.schemaName, this.tableName, this.policy, lowerer);\n\t}\n\trenderTypeScript() {\n\t\tconst p = this.policy;\n\t\tconst input = {\n\t\t\tnaming: namingOf(p.name, p.prefix),\n\t\t\ttableName: p.tableName,\n\t\t\tnamespaceId: p.namespaceId,\n\t\t\toperation: p.operation,\n\t\t\troles: p.roles,\n\t\t\t...ifDefined(\"using\", p.using),\n\t\t\t...ifDefined(\"withCheck\", p.withCheck),\n\t\t\tpermissive: p.permissive\n\t\t};\n\t\tconst sources = {\n\t\t\tnaming: jsonToTsSource(input.naming),\n\t\t\ttableName: jsonToTsSource(input.tableName),\n\t\t\tnamespaceId: jsonToTsSource(input.namespaceId),\n\t\t\toperation: jsonToTsSource(input.operation),\n\t\t\troles: jsonToTsSource(input.roles),\n\t\t\tusing: input.using === void 0 ? void 0 : tsQuotedTextSource(input.using),\n\t\t\twithCheck: input.withCheck === void 0 ? void 0 : tsQuotedTextSource(input.withCheck),\n\t\t\tpermissive: jsonToTsSource(input.permissive)\n\t\t};\n\t\tconst policy = tsObjectSource(Object.entries(sources).flatMap(([key, source]) => source === void 0 ? [] : [[key, source]]));\n\t\treturn `this.createRlsPolicy({ schema: ${jsonToTsSource(this.schemaName)}, table: ${jsonToTsSource(this.tableName)}, policy: ${policy} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar DropPostgresRlsPolicyCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"dropRlsPolicy\";\n\toperationClass = \"destructive\";\n\tschemaName;\n\ttableName;\n\tpolicyName;\n\tlabel;\n\tconstructor(schemaName, tableName, policyName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.policyName = policyName;\n\t\tthis.label = `Drop RLS policy \"${policyName}\" on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `DropPostgresRlsPolicyCall.toOp: a lowerer is required on the Postgres planner path (policy \"${this.policyName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"DropPostgresRlsPolicyCall\" } });\n\t\treturn dropRlsPolicy(this.schemaName, this.tableName, this.policyName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `this.dropRlsPolicy({ schema: ${jsonToTsSource(this.schemaName)}, table: ${jsonToTsSource(this.tableName)}, policy: ${jsonToTsSource(this.policyName)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar EnableRowLevelSecurityCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"enableRowLevelSecurity\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttableName;\n\tlabel;\n\tconstructor(schemaName, tableName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.label = `Enable row-level security on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `EnableRowLevelSecurityCall.toOp: a lowerer is required on the Postgres planner path (table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"EnableRowLevelSecurityCall\" } });\n\t\treturn enableRowLevelSecurity(this.schemaName, this.tableName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `this.enableRowLevelSecurity({ schema: ${jsonToTsSource(this.schemaName)}, table: ${jsonToTsSource(this.tableName)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar DisableRowLevelSecurityCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"disableRowLevelSecurity\";\n\toperationClass = \"destructive\";\n\tschemaName;\n\ttableName;\n\tlabel;\n\tconstructor(schemaName, tableName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.label = `Disable row-level security on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `DisableRowLevelSecurityCall.toOp: a lowerer is required on the Postgres planner path (table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"DisableRowLevelSecurityCall\" } });\n\t\treturn disableRowLevelSecurity(this.schemaName, this.tableName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `this.disableRowLevelSecurity({ schema: ${jsonToTsSource(this.schemaName)}, table: ${jsonToTsSource(this.tableName)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar RenamePostgresRlsPolicyCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"renameRlsPolicy\";\n\toperationClass = \"widening\";\n\tschemaName;\n\ttableName;\n\toldPolicyName;\n\tnewPolicyName;\n\tlabel;\n\tconstructor(schemaName, tableName, oldPolicyName, newPolicyName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.oldPolicyName = oldPolicyName;\n\t\tthis.newPolicyName = newPolicyName;\n\t\tthis.label = `Rename RLS policy \"${oldPolicyName}\" to \"${newPolicyName}\" on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `RenamePostgresRlsPolicyCall.toOp: a lowerer is required on the Postgres planner path (policy \"${this.oldPolicyName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"RenamePostgresRlsPolicyCall\" } });\n\t\treturn renameRlsPolicy(this.schemaName, this.tableName, this.oldPolicyName, this.newPolicyName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `this.renameRlsPolicy({ schema: ${jsonToTsSource(this.schemaName)}, table: ${jsonToTsSource(this.tableName)}, from: ${jsonToTsSource(this.oldPolicyName)}, to: ${jsonToTsSource(this.newPolicyName)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\n/** The name of the column a call acts on: its `columnName`, or the name of the column it carries. */\nfunction columnNameOfCall(call) {\n\tif (\"columnName\" in call) return call.columnName;\n\tif (\"column\" in call && call.column instanceof DdlColumn) return call.column.name;\n}\n//#endregion\nexport { RenameIndexCall as A, installExtension as B, DropNativeEnumTypeCall as C, EnableRowLevelSecurityCall as D, DropTableCall as E, columnNameOfCall as F, postgresDefaultToDdlColumnDefault as I, buildTargetDetails as L, RenameTableCall as M, SetDefaultCall as N, RawSqlCall as O, SetNotNullCall as P, renameTableStatement as R, DropIndexCall as S, DropPostgresRlsPolicyCall as T, DisableRowLevelSecurityCall as _, AddNotNullColumnDirectCall as a, DropConstraintCall as b, AddUniqueCall as c, CreateIndexCall as d, CreateNativeEnumTypeCall as f, DataTransformCall as g, CreateTableCall as h, AddNativeEnumValueCall as i, RenamePostgresRlsPolicyCall as j, RenameConstraintCall as k, AlterColumnTypeCall as l, CreateSchemaCall as m, AddColumnCall as n, AddNotNullColumnWithTempDefaultCall as o, CreatePostgresRlsPolicyCall as p, AddForeignKeyCall as r, AddPrimaryKeyCall as s, AddCheckConstraintCall as t, CreateExtensionCall as u, DropCheckConstraintCall as v, DropNotNullCall as w, DropDefaultCall as x, DropColumnCall as y, createExtension as z };\n\n//# sourceMappingURL=op-factory-call-B-4nf1jC.mjs.map"],"mappings":"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"}