@prisma/orm-target-postgres 8.0.0-rc.16-dev.5 → 8.0.0-rc.16-dev.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{adapter-BB0VVFW2.d.mts → adapter-BXHPMNAg.d.mts} +3 -3
- package/dist/{adapter-BB0VVFW2.d.mts.map → adapter-BXHPMNAg.d.mts.map} +1 -1
- package/dist/{adapter-RtS8vD8U-m4U_WTpQ.mjs → adapter-RtS8vD8U-CkJSaICZ.mjs} +5 -5
- package/dist/{adapter-RtS8vD8U-m4U_WTpQ.mjs.map → adapter-RtS8vD8U-CkJSaICZ.mjs.map} +1 -1
- package/dist/adapter.d.mts +7 -7
- package/dist/adapter.mjs +5 -5
- package/dist/adapter__adapter.d.mts +1 -1
- package/dist/adapter__adapter.mjs +2 -2
- package/dist/adapter__control.d.mts +2 -2
- package/dist/adapter__control.mjs +6 -6
- package/dist/adapter__runtime.d.mts +1 -1
- package/dist/adapter__runtime.mjs +4 -4
- package/dist/adapter__sql-renderer.d.mts +1 -1
- package/dist/adapter__sql-renderer.mjs +1 -1
- package/dist/adapter__types.d.mts +3 -3
- package/dist/{authoring-vHbPLrW4-BsHR7gUE.mjs → authoring-_2G2lsLt-VmVbrMPn.mjs} +5 -5
- package/dist/{authoring-vHbPLrW4-BsHR7gUE.mjs.map → authoring-_2G2lsLt-VmVbrMPn.mjs.map} +1 -1
- package/dist/{check-expressions-Dlt334zg-CV5Vkh3G.mjs → check-expressions-BaFrBceq-ChgvazEN.mjs} +14 -12
- package/dist/check-expressions-BaFrBceq-ChgvazEN.mjs.map +1 -0
- package/dist/{check-expressions-CBIgoKhV-D7oTR8lp.d.mts → check-expressions-CtTzM58x-CsWFEeul.d.mts} +6 -5
- package/dist/check-expressions-CtTzM58x-CsWFEeul.d.mts.map +1 -0
- package/dist/{codec-descriptor-CZAGhM_O-DK9auM7J.mjs → codec-descriptor-C5Ec_6Mw-CpacG1CL.mjs} +3 -2
- package/dist/codec-descriptor-C5Ec_6Mw-CpacG1CL.mjs.map +1 -0
- package/dist/{codec-helpers-D015Pvwa-DR7WMloQ.mjs → codec-helpers-D0ah5Wb8-wdJJZ_8s.mjs} +244 -3
- package/dist/codec-helpers-D0ah5Wb8-wdJJZ_8s.mjs.map +1 -0
- package/dist/{codec-registry-nSGjxm-H-BeUu5zV2.mjs → codec-registry-CKBDkxX7-Kw84Or3s.mjs} +5 -5
- package/dist/{codec-registry-nSGjxm-H-BeUu5zV2.mjs.map → codec-registry-CKBDkxX7-Kw84Or3s.mjs.map} +1 -1
- package/dist/{codec-type-map-DftCqvHU-BYkGKRZI.d.mts → codec-type-map-DueQFJ3a-DKLtMn3R.d.mts} +3 -3
- package/dist/{codec-type-map-DftCqvHU-BYkGKRZI.d.mts.map → codec-type-map-DueQFJ3a-DKLtMn3R.d.mts.map} +1 -1
- package/dist/codec-types-CY3pawL3.d.mts +2 -0
- package/dist/{codec-types-CHtW4cn_-ryYZXjOb.d.mts → codec-types-CYsrudBM-DcYPKpS1.d.mts} +4 -4
- package/dist/{codec-types-CHtW4cn_-ryYZXjOb.d.mts.map → codec-types-CYsrudBM-DcYPKpS1.d.mts.map} +1 -1
- package/dist/{codecs-DelwJv6h-CFbyTJIJ.mjs → codecs-BK3J4C0n-B8EnUXZf.mjs} +49 -37
- package/dist/codecs-BK3J4C0n-B8EnUXZf.mjs.map +1 -0
- package/dist/{codecs-Djhvng3f.d.mts → codecs-ChjCJY5k.d.mts} +2 -2
- package/dist/{codecs-Djhvng3f.d.mts.map → codecs-ChjCJY5k.d.mts.map} +1 -1
- package/dist/{codecs-CvG9lv7r-9RlHwf9Y.d.mts → codecs-y1gOMMt--DKWhYGN5.d.mts} +8 -2
- package/dist/codecs-y1gOMMt--DKWhYGN5.d.mts.map +1 -0
- package/dist/{contract-free-DaK6wmmo.mjs → contract-free-BMKFjlIG.mjs} +3 -3
- package/dist/{contract-free-DaK6wmmo.mjs.map → contract-free-BMKFjlIG.mjs.map} +1 -1
- package/dist/{control-CHqdVXHC.d.mts → control-D2JNE1Tz.d.mts} +3 -3
- package/dist/{control-CHqdVXHC.d.mts.map → control-D2JNE1Tz.d.mts.map} +1 -1
- package/dist/{control-YKrabf1Q.mjs → control-Ltn8Dzpi.mjs} +11 -11
- package/dist/{control-YKrabf1Q.mjs.map → control-Ltn8Dzpi.mjs.map} +1 -1
- package/dist/{control-adapter-Co30P4lH-B5euUoQ4.mjs → control-adapter-Co30P4lH-CpxXk5cz.mjs} +6 -6
- package/dist/{control-adapter-Co30P4lH-B5euUoQ4.mjs.map → control-adapter-Co30P4lH-CpxXk5cz.mjs.map} +1 -1
- package/dist/{control-policy-bwcdB78Y-DgRaWAzu.mjs → control-policy-DMOu5nnt-DslefUx9.mjs} +11 -10
- package/dist/control-policy-DMOu5nnt-DslefUx9.mjs.map +1 -0
- package/dist/{data-type-entries-DgKLUrqt-TKDikzti.mjs → data-type-entries-DoR61yeO-BB2cY7rI.mjs} +3 -3
- package/dist/{data-type-entries-DgKLUrqt-TKDikzti.mjs.map → data-type-entries-DoR61yeO-BB2cY7rI.mjs.map} +1 -1
- package/dist/{data-types-E1wms1_i.d.mts → data-types-BDkZIUMI.d.mts} +4 -2
- package/dist/{data-types-E1wms1_i.d.mts.map → data-types-BDkZIUMI.d.mts.map} +1 -1
- package/dist/{data-types-k3Ebk3kj-DWk3nh_k.mjs → data-types-DRkmmE9S-C5Q9oH4Q.mjs} +13 -4
- package/dist/data-types-DRkmmE9S-C5Q9oH4Q.mjs.map +1 -0
- package/dist/{ddl-C_vTj7b5-vyGLBKLo.mjs → ddl-D5hYRCTf-DRSajCVT.mjs} +3 -3
- package/dist/{ddl-C_vTj7b5-vyGLBKLo.mjs.map → ddl-D5hYRCTf-DRSajCVT.mjs.map} +1 -1
- package/dist/{default-normalizer-CrMBHF0W-BaUR4Ec8.mjs → default-normalizer-Bf_Fhv4v-CugGfLAe.mjs} +12 -7
- package/dist/default-normalizer-Bf_Fhv4v-CugGfLAe.mjs.map +1 -0
- package/dist/{descriptor-meta-ARufwwWW-DMQsPNAl.mjs → descriptor-meta-ARufwwWW-ChZm5Hg5.mjs} +3 -3
- package/dist/{descriptor-meta-ARufwwWW-DMQsPNAl.mjs.map → descriptor-meta-ARufwwWW-ChZm5Hg5.mjs.map} +1 -1
- package/dist/{descriptor-meta-BgOMP4hF-CfUJsgjc.mjs → descriptor-meta-WHc6Kv-m-BLzsaP0M.mjs} +8 -8
- package/dist/{descriptor-meta-BgOMP4hF-CfUJsgjc.mjs.map → descriptor-meta-WHc6Kv-m-BLzsaP0M.mjs.map} +1 -1
- package/dist/{descriptor-meta-runtime-CG2S236D-CUkzqeCr.mjs → descriptor-meta-runtime-iArZEoCE-GhLNDdg-.mjs} +3 -3
- package/dist/{descriptor-meta-runtime-CG2S236D-CUkzqeCr.mjs.map → descriptor-meta-runtime-iArZEoCE-GhLNDdg-.mjs.map} +1 -1
- package/dist/{diff-database-schema-zc7d2uxC-BVe8D7vG.mjs → diff-database-schema-DgAMDjHF-YATlptWC.mjs} +6 -6
- package/dist/{diff-database-schema-zc7d2uxC-BVe8D7vG.mjs.map → diff-database-schema-DgAMDjHF-YATlptWC.mjs.map} +1 -1
- package/dist/{full-text-D5pW25-Y.d.mts → full-text-CCqTEQ9y.d.mts} +2 -2
- package/dist/{full-text-D5pW25-Y.d.mts.map → full-text-CCqTEQ9y.d.mts.map} +1 -1
- package/dist/{full-text-index-expression-BpUM2Td6-2Q7y7DnO.mjs → full-text-index-expression-Bfp_xWhy-DtbLdkzv.mjs} +3 -3
- package/dist/{full-text-index-expression-BpUM2Td6-2Q7y7DnO.mjs.map → full-text-index-expression-Bfp_xWhy-DtbLdkzv.mjs.map} +1 -1
- package/dist/{full-text-parsers-BhjgmAe5-CyF7dp_b.d.mts → full-text-parsers-DrS_1B-x-BcAnBoQP.d.mts} +3 -3
- package/dist/{full-text-parsers-BhjgmAe5-CyF7dp_b.d.mts.map → full-text-parsers-DrS_1B-x-BcAnBoQP.d.mts.map} +1 -1
- package/dist/{infer-psl-contract-B5yExD61-Cmye68li.mjs → infer-psl-contract-D-3st5lU-DKQhhsut.mjs} +7 -7
- package/dist/{infer-psl-contract-B5yExD61-Cmye68li.mjs.map → infer-psl-contract-D-3st5lU-DKQhhsut.mjs.map} +1 -1
- package/dist/{issue-planner-pmBrIrEN.d.mts → issue-planner-DWRClmiP.d.mts} +2 -2
- package/dist/{issue-planner-pmBrIrEN.d.mts.map → issue-planner-DWRClmiP.d.mts.map} +1 -1
- package/dist/{migration-D189kh3f.d.mts → migration--J8vKZ8z.d.mts} +3 -3
- package/dist/{migration-D189kh3f.d.mts.map → migration--J8vKZ8z.d.mts.map} +1 -1
- package/dist/migration-PTHAY9Cv.mjs.map +1 -1
- package/dist/{op-factory-call-CqKUB1XP-CsEGx4Jd.d.mts → op-factory-call-BFnGNPJD-5vgAjFpd.d.mts} +44 -14
- package/dist/op-factory-call-BFnGNPJD-5vgAjFpd.d.mts.map +1 -0
- package/dist/{op-factory-call-DdXVWQlV-DzfLhTkh.mjs → op-factory-call-BbTtrII--CbCFZfSd.mjs} +124 -28
- package/dist/op-factory-call-BbTtrII--CbCFZfSd.mjs.map +1 -0
- package/dist/op-factory-call-CsuauFRs.d.mts +1 -0
- package/dist/{operation-types-Be5rdu14.d.mts → operation-types-CjJY7prP.d.mts} +2 -2
- package/dist/{operation-types-Be5rdu14.d.mts.map → operation-types-CjJY7prP.d.mts.map} +1 -1
- package/dist/{pack-DHV9zslZ.d.mts → pack-Bq9yq-OS.d.mts} +4 -4
- package/dist/{pack-DHV9zslZ.d.mts.map → pack-Bq9yq-OS.d.mts.map} +1 -1
- package/dist/{planner-CvUO8Zpn.d.mts → planner-B9c5vxQo.d.mts} +15 -8
- package/dist/planner-B9c5vxQo.d.mts.map +1 -0
- package/dist/{planner-ZmK0aNuY-Cak-8zwa.mjs → planner-_mo_t-l3-DPAQVG1x.mjs} +117 -23
- package/dist/planner-_mo_t-l3-DPAQVG1x.mjs.map +1 -0
- package/dist/{planner-ddl-builders-DRProi99-D0K5ZiD0.mjs → planner-ddl-builders-Y0_96xpe-BzugdEDO.mjs} +3 -3
- package/dist/{planner-ddl-builders-DRProi99-D0K5ZiD0.mjs.map → planner-ddl-builders-Y0_96xpe-BzugdEDO.mjs.map} +1 -1
- package/dist/{planner-identity-values-C1eV916m-D0p3EfYc.mjs → planner-identity-values-CRS2cQ6v-DakZeIQj.mjs} +3 -3
- package/dist/{planner-identity-values-C1eV916m-D0p3EfYc.mjs.map → planner-identity-values-CRS2cQ6v-DakZeIQj.mjs.map} +1 -1
- package/dist/{planner-produced-postgres-migration-BAWQ6iqr-C06XurYw.mjs → planner-produced-postgres-migration-BdWg8TP2-QE9uzt2K.mjs} +4 -4
- package/dist/{planner-produced-postgres-migration-BAWQ6iqr-C06XurYw.mjs.map → planner-produced-postgres-migration-BdWg8TP2-QE9uzt2K.mjs.map} +1 -1
- package/dist/planner-produced-postgres-migration-BqcWgPjb.d.mts +1 -0
- package/dist/{planner-produced-postgres-migration-DT3i_p3G-CyQUv3ac.d.mts → planner-produced-postgres-migration-Bw145mJT-qpLKF3Vf.d.mts} +3 -3
- package/dist/planner-produced-postgres-migration-Bw145mJT-qpLKF3Vf.d.mts.map +1 -0
- package/dist/{planner-sql-checks-rqOH8naU-B6xOE5lC.mjs → planner-sql-checks-DCGV2qdu-eaeFLtn8.mjs} +3 -3
- package/dist/{planner-sql-checks-rqOH8naU-B6xOE5lC.mjs.map → planner-sql-checks-DCGV2qdu-eaeFLtn8.mjs.map} +1 -1
- package/dist/{postgres-contract-view-B0KloSYp-Cbbl_pIv.mjs → postgres-contract-view-CL-YTH_3-Diah6i2a.mjs} +6 -6
- package/dist/{postgres-contract-view-B0KloSYp-Cbbl_pIv.mjs.map → postgres-contract-view-CL-YTH_3-Diah6i2a.mjs.map} +1 -1
- package/dist/{postgres-migration-e8UybR1y-C_m4i1jp.d.mts → postgres-migration-DVY2ALDJ-DTWECas_.d.mts} +36 -4
- package/dist/postgres-migration-DVY2ALDJ-DTWECas_.d.mts.map +1 -0
- package/dist/postgres-migration-DmczQSHT-DsWlow8L.mjs +1075 -0
- package/dist/postgres-migration-DmczQSHT-DsWlow8L.mjs.map +1 -0
- package/dist/{postgres-schema-AlEVkXXS-ZfXWYddl.mjs → postgres-schema-COkaqci7-C6JpiSha.mjs} +6 -6
- package/dist/postgres-schema-COkaqci7-C6JpiSha.mjs.map +1 -0
- package/dist/{prisma7-binding-GebhdAGS.mjs → prisma7-binding-CAzQh1rQ.mjs} +7 -7
- package/dist/{prisma7-binding-GebhdAGS.mjs.map → prisma7-binding-CAzQh1rQ.mjs.map} +1 -1
- package/dist/{prisma7-binding-FvF1AZxQ.d.mts → prisma7-binding-Dm34z6Fq.d.mts} +4 -4
- package/dist/{prisma7-binding-FvF1AZxQ.d.mts.map → prisma7-binding-Dm34z6Fq.d.mts.map} +1 -1
- package/dist/{render-ops-D2vJApKB-B281fzmn.mjs → render-ops-DaCy6StH-BgzbTE_9.mjs} +16 -9
- package/dist/render-ops-DaCy6StH-BgzbTE_9.mjs.map +1 -0
- package/dist/{resolve-ddl-schema-BthOWVjF-DuZ9iUh-.mjs → resolve-ddl-schema-DD69Bwve-e-BpAfFa.mjs} +3 -3
- package/dist/{resolve-ddl-schema-BthOWVjF-DuZ9iUh-.mjs.map → resolve-ddl-schema-DD69Bwve-e-BpAfFa.mjs.map} +1 -1
- package/dist/{runtime-aejvKbMy.d.mts → runtime-CNTEAZIz.d.mts} +2 -2
- package/dist/{runtime-aejvKbMy.d.mts.map → runtime-CNTEAZIz.d.mts.map} +1 -1
- package/dist/{sql-renderer-DT4IEOVi-CE0YIu9V.mjs → sql-renderer-DT4IEOVi-CBE8uTub.mjs} +2 -2
- package/dist/{sql-renderer-DT4IEOVi-CE0YIu9V.mjs.map → sql-renderer-DT4IEOVi-CBE8uTub.mjs.map} +1 -1
- package/dist/{sql-renderer-B1ZLRgUw.d.mts → sql-renderer-hQ3HTY-B.d.mts} +2 -2
- package/dist/{sql-renderer-B1ZLRgUw.d.mts.map → sql-renderer-hQ3HTY-B.d.mts.map} +1 -1
- package/dist/target.d.mts +21 -21
- package/dist/target.mjs +27 -27
- package/dist/target__codec-descriptor.mjs +1 -1
- package/dist/target__codec-types.d.mts +3 -3
- package/dist/target__codecs.d.mts +2 -2
- package/dist/target__codecs.mjs +2 -2
- package/dist/target__contract-free.mjs +3 -3
- package/dist/target__control.mjs +3 -3
- package/dist/target__data-types.d.mts +1 -1
- package/dist/target__data-types.mjs +2 -2
- package/dist/target__default-normalizer.mjs +1 -1
- package/dist/target__diff-database-schema.mjs +1 -1
- package/dist/target__full-text.d.mts +2 -2
- package/dist/target__issue-planner.d.mts +1 -1
- package/dist/target__issue-planner.mjs +1 -1
- package/dist/target__migration.d.mts +2 -2
- package/dist/target__migration.mjs +2 -2
- package/dist/target__op-factory-call.d.mts +3 -3
- package/dist/target__op-factory-call.mjs +2 -2
- package/dist/target__operation-types.d.mts +1 -1
- package/dist/target__pack.d.mts +1 -1
- package/dist/target__pack.mjs +1 -1
- package/dist/target__planner-ddl-builders.mjs +1 -1
- package/dist/target__planner-identity-values.mjs +1 -1
- package/dist/target__planner-produced-postgres-migration.d.mts +2 -2
- package/dist/target__planner-produced-postgres-migration.mjs +1 -1
- package/dist/target__planner-sql-checks.mjs +1 -1
- package/dist/target__planner.d.mts +1 -1
- package/dist/target__planner.mjs +2 -2
- package/dist/target__prisma7-binding.d.mts +1 -1
- package/dist/target__prisma7-binding.mjs +1 -1
- package/dist/target__render-ops.mjs +1 -1
- package/dist/target__runtime.mjs +3 -3
- package/dist/target__runtime.mjs.map +1 -1
- package/dist/target__schema-ir-annotations.mjs +1 -1
- package/dist/target__sql-utils.mjs +1 -1
- package/dist/target__types.d.mts +2 -2
- package/dist/target__types.mjs +2 -2
- package/dist/{types-D799eppJ.d.mts → types-BP1e5MBV.d.mts} +2 -2
- package/dist/{types-D799eppJ.d.mts.map → types-BP1e5MBV.d.mts.map} +1 -1
- package/dist/{types-D6lgKhE5-Cu48rrw9.d.mts → types-D6lgKhE5-DYkeCAjr.d.mts} +2 -2
- package/dist/{types-D6lgKhE5-Cu48rrw9.d.mts.map → types-D6lgKhE5-DYkeCAjr.d.mts.map} +1 -1
- package/dist/types-Dnrjripb.d.mts +2 -0
- package/package.json +9 -9
- package/dist/check-expressions-CBIgoKhV-D7oTR8lp.d.mts.map +0 -1
- package/dist/check-expressions-Dlt334zg-CV5Vkh3G.mjs.map +0 -1
- package/dist/codec-descriptor-CZAGhM_O-DK9auM7J.mjs.map +0 -1
- package/dist/codec-helpers-D015Pvwa-DR7WMloQ.mjs.map +0 -1
- package/dist/codec-types-DQUtpepT.d.mts +0 -2
- package/dist/codecs-CvG9lv7r-9RlHwf9Y.d.mts.map +0 -1
- package/dist/codecs-DelwJv6h-CFbyTJIJ.mjs.map +0 -1
- package/dist/control-policy-bwcdB78Y-DgRaWAzu.mjs.map +0 -1
- package/dist/data-types-k3Ebk3kj-DWk3nh_k.mjs.map +0 -1
- package/dist/default-normalizer-CrMBHF0W-BaUR4Ec8.mjs.map +0 -1
- package/dist/op-factory-call-CqKUB1XP-CsEGx4Jd.d.mts.map +0 -1
- package/dist/op-factory-call-D5UJ7cDi.d.mts +0 -1
- package/dist/op-factory-call-DdXVWQlV-DzfLhTkh.mjs.map +0 -1
- package/dist/planner-CvUO8Zpn.d.mts.map +0 -1
- package/dist/planner-ZmK0aNuY-Cak-8zwa.mjs.map +0 -1
- package/dist/planner-produced-postgres-migration-BI_aepPp.d.mts +0 -1
- package/dist/planner-produced-postgres-migration-DT3i_p3G-CyQUv3ac.d.mts.map +0 -1
- package/dist/postgres-migration-UVh2xeV0-DW8V_8aj.mjs +0 -596
- package/dist/postgres-migration-UVh2xeV0-DW8V_8aj.mjs.map +0 -1
- package/dist/postgres-migration-e8UybR1y-C_m4i1jp.d.mts.map +0 -1
- package/dist/postgres-schema-AlEVkXXS-ZfXWYddl.mjs.map +0 -1
- package/dist/render-ops-D2vJApKB-B281fzmn.mjs.map +0 -1
- package/dist/types-CdJszzhP.d.mts +0 -2
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codecs-DelwJv6h-CFbyTJIJ.mjs","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/codecs-DelwJv6h.mjs"],"sourcesContent":["import { A as PG_TIME_TEMPORAL_CODEC_ID, C as PG_TIMESTAMPTZ_DATE_CODEC_ID, D as PG_TIMESTAMP_TEMPORAL_CODEC_ID, E as PG_TIMESTAMP_STRING_CODEC_ID, F as PG_VARCHAR_CODEC_ID, M as PG_UNBOUNDED_INT_CODEC_ID, N as PG_UUID_CODEC_ID, O as PG_TIMETZ_CODEC_ID, P as PG_VARBIT_CODEC_ID, S as PG_TEXT_CODEC_ID, T as PG_TIMESTAMPTZ_TEMPORAL_CODEC_ID, _ as PG_INT_CODEC_ID, a as PG_DATE_STRING_CODEC_ID, b as PG_NUMERIC_CODEC_ID, c as PG_FLOAT4_CODEC_ID, d as PG_INET_CODEC_ID, f as PG_INT2_CODEC_ID, g as PG_INTERVAL_CODEC_ID, h as PG_INT8_NUMBER_CODEC_ID, i as PG_CHAR_CODEC_ID, j as PG_TSQUERY_CODEC_ID, k as PG_TIME_STRING_CODEC_ID, l as PG_FLOAT8_CODEC_ID, m as PG_INT8_CODEC_ID, n as PG_BOOL_CODEC_ID, o as PG_DATE_TEMPORAL_CODEC_ID, p as PG_INT4_CODEC_ID, r as PG_BYTEA_CODEC_ID, s as PG_ENUM_CODEC_ID, t as PG_BIT_CODEC_ID, u as PG_FLOAT_CODEC_ID, v as PG_JSONB_CODEC_ID, w as PG_TIMESTAMPTZ_STRING_CODEC_ID, x as PG_TEXT_ARRAY_CODEC_ID, y as PG_JSON_CODEC_ID } from \"./codec-ids-Cb0yO-IS.mjs\";\nimport { a as errorTemporalUnrepresentable, i as errorTemporalUnavailableForDefault, n as errorTemporalNonIsoCalendar, o as errorTemporalWrongType, r as errorTemporalUnavailable, s as postgresError } from \"./errors-DYyzTYzE.mjs\";\nimport { A as pgNumericRenderOutputType, C as pgIntervalEncodeJson, D as pgJsonbDecode, E as pgJsonEncode, M as renderLength, N as renderPrecision, O as pgJsonbEncode, S as pgIntervalDecodeJson, T as pgJsonDecode, _ as pgInt8NumberDecodeJson, a as decimalTextNumberLiteral, c as pgBigintEncode, d as pgByteaDecodeJson, f as pgByteaDecodeWire, g as pgInt8NumberDecode, h as pgInt8Decode, i as decimalTextBigintLiteral, j as pgUnboundedIntDecode, k as pgNumericDecode, l as pgBigintEncodeJson, m as pgFloatEncode, n as FLOAT4_MAX, o as fitsCharacterLength, p as pgByteaEncodeJson, r as canonicalUuid, s as fitsFloat4, t as CANONICAL_UUID, v as pgInt8NumberEncode, w as pgIntervalToIso, x as pgIntervalDecode, y as pgInt8NumberEncodeJson } from \"./codec-helpers-D015Pvwa.mjs\";\nimport { A as pgTimestamptz, C as pgPrecisionParams, D as pgTimeCanonical, E as pgTime, F as pgUuid, I as pgVarbit, L as pgVarchar, M as pgTimetz, N as pgTimetzCanonical, O as pgTimestamp, P as pgTsquery, S as pgNumericParams, T as pgTextArray, _ as pgInt8, a as pgBytea, b as pgJsonb, c as pgDate, d as pgEnumParams, f as pgFloat4, g as pgInt4, h as pgInt2, i as pgBool, j as pgTimestamptzCanonical, k as pgTimestampCanonical, l as pgDateCanonical, m as pgInet, n as pgBit, o as pgChar, p as pgFloat8, r as pgBitLengthParams, s as pgCharacterLengthParams, u as pgEnum, v as pgInterval, w as pgText, x as pgNumeric, y as pgJson } from \"./data-types-k3Ebk3kj.mjs\";\nimport { a as postgresCodec, r as definePostgresCodecs, t as PostgresCodecDescriptor } from \"./codec-descriptor-CZAGhM_O.mjs\";\nimport \"./namespace-ids-xtp_ZY86.mjs\";\nimport { t as PostgresNativeEnum } from \"./postgres-native-enum-CdP3b_-R.mjs\";\nimport { BinaryExpr, CaseExpr, CastExpr, FunctionCallExpr, LiteralExpr, NullCheckExpr, OrExpr, SqlCharCodec, SqlFloatCodec, SqlIntCodec, SqlVarcharCodec, sqlCharDescriptor, sqlFloatDescriptor, sqlIntDescriptor, sqlTextDescriptor, sqlVarcharDescriptor } from \"@internal/sql-relational-core/ast\";\nimport { canonicalDateTime } from \"@internal/sql-contract/data-type-support\";\nimport { isStructuredError } from \"@internal/utils/structured-error\";\nimport { CodecImpl, INT32_RANGE, INT64_RANGE, column, decodeJsonBoolean, decodeJsonFloat, decodeJsonInteger, decodeJsonIntegerText, decodeJsonMatching, decodeJsonString, encodeJsonFloat, refuseJsonValue, renderTsLiteral } from \"@internal/framework-components/codec\";\nimport { counted, withoutTrailing } from \"@internal/utils/text\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\n//#region src/core/require-temporal.ts\nlet fallback;\n/**\n* Sets the implementation `requireTemporal` returns when the runtime has no global `Temporal`.\n* The value is held once per process. Only the control entry calls this.\n*/\nfunction setFallbackTemporal(implementation) {\n\tfallback = implementation;\n}\n/**\n* The `Temporal` to use: the runtime's own when it has one, else the fallback. Throws\n* `RUNTIME.TEMPORAL_UNAVAILABLE` when there is neither.\n*/\nfunction requireTemporal(meta) {\n\tif (typeof Temporal !== \"undefined\") return Temporal;\n\tif (fallback !== void 0) return fallback;\n\tthrow \"generatorId\" in meta ? errorTemporalUnavailableForDefault(meta.generatorId) : errorTemporalUnavailable(meta.codecId, meta.operation);\n}\n//#endregion\n//#region src/core/temporal-codec-helpers.ts\nconst POSTGRES_TEMPORAL_SENTINELS = /* @__PURE__ */ new Set([\"infinity\", \"-infinity\"]);\nconst EXPANDED_YEAR_DIGITS = 6;\nconst ORDINARY_YEAR_DIGITS = 4;\nconst BC_SUFFIX = \" BC\";\nfunction adaptPostgresEra(text) {\n\tconst isBc = text.endsWith(BC_SUFFIX);\n\tconst body = isBc ? text.slice(0, -3) : text;\n\tconst yearEnd = body.indexOf(\"-\");\n\tif (yearEnd <= 0) return text;\n\tconst yearText = body.slice(0, yearEnd);\n\tif (!isBc && yearText.length <= ORDINARY_YEAR_DIGITS) return text;\n\tconst year = Number(yearText);\n\tif (!Number.isInteger(year)) return text;\n\tconst proleptic = isBc ? 1 - year : year;\n\treturn `${proleptic < 0 ? \"-\" : \"+\"}${String(Math.abs(proleptic)).padStart(EXPANDED_YEAR_DIGITS, \"0\")}${body.slice(yearEnd)}`;\n}\nfunction decodeTemporalText(identity, wire, parse, adapt) {\n\tconst temporal = requireTemporal({\n\t\tcodecId: identity.codecId,\n\t\toperation: \"decode\"\n\t});\n\tif (POSTGRES_TEMPORAL_SENTINELS.has(wire)) throw errorTemporalUnrepresentable({\n\t\t...identity,\n\t\toperation: \"decode\",\n\t\tvalue: wire,\n\t\tdetail: `PostgreSQL's ${wire} is a sentinel with no position on the timeline, so no Temporal value denotes it`\n\t});\n\ttry {\n\t\treturn parse(temporal, adapt(wire));\n\t} catch (cause) {\n\t\tthrow errorTemporalUnrepresentable({\n\t\t\t...identity,\n\t\t\toperation: \"decode\",\n\t\t\tvalue: wire,\n\t\t\tdetail: cause instanceof Error ? cause.message : String(cause),\n\t\t\tcause\n\t\t});\n\t}\n}\nfunction encodeTemporalValue(identity, value) {\n\tconst tag = typeof value === \"object\" && value !== null ? Reflect.get(value, Symbol.toStringTag) : void 0;\n\tif (tag !== identity.temporalTag) throw errorTemporalWrongType(identity.codecId, identity.temporalTag, identity.stringType, describeEncodeInput(value, tag));\n\tif (value.calendarId !== void 0 && value.calendarId !== \"iso8601\") throw errorTemporalNonIsoCalendar(identity.codecId, value.calendarId);\n\treturn value.toString();\n}\nfunction describeEncodeInput(value, tag) {\n\tif (typeof tag === \"string\") return `a ${tag}`;\n\tif (value instanceof Date) return \"a Date\";\n\tif (value === null) return \"null\";\n\treturn `a ${typeof value}`;\n}\nconst DATE_TEMPORAL = {\n\tcodecId: PG_DATE_TEMPORAL_CODEC_ID,\n\tstringType: \"DateString\",\n\ttemporalTag: \"Temporal.PlainDate\"\n};\nconst TIMESTAMP_TEMPORAL = {\n\tcodecId: PG_TIMESTAMP_TEMPORAL_CODEC_ID,\n\tstringType: \"TimestampString(p)\",\n\ttemporalTag: \"Temporal.PlainDateTime\"\n};\nconst TIMESTAMPTZ_TEMPORAL = {\n\tcodecId: PG_TIMESTAMPTZ_TEMPORAL_CODEC_ID,\n\tstringType: \"TimestamptzString(p)\",\n\ttemporalTag: \"Temporal.Instant\"\n};\nconst TIME_TEMPORAL = {\n\tcodecId: PG_TIME_TEMPORAL_CODEC_ID,\n\tstringType: \"TimeString(p)\",\n\ttemporalTag: \"Temporal.PlainTime\"\n};\nconst unadapted = (text) => text;\nconst pgDateTemporalDecode = (wire) => decodeTemporalText(DATE_TEMPORAL, wire, (temporal, text) => temporal.PlainDate.from(text), adaptPostgresEra);\nconst pgDateTemporalEncode = (value) => encodeTemporalValue(DATE_TEMPORAL, value);\nconst pgTimestampTemporalDecode = (wire) => decodeTemporalText(TIMESTAMP_TEMPORAL, wire, (temporal, text) => temporal.PlainDateTime.from(text), adaptPostgresEra);\nconst pgTimestampTemporalEncode = (value) => encodeTemporalValue(TIMESTAMP_TEMPORAL, value);\nconst pgTimestamptzTemporalDecode = (wire) => decodeTemporalText(TIMESTAMPTZ_TEMPORAL, wire, (temporal, text) => temporal.Instant.from(text), adaptPostgresEra);\nconst pgTimestamptzTemporalEncode = (value) => encodeTemporalValue(TIMESTAMPTZ_TEMPORAL, value);\nconst pgTimeTemporalDecode = (wire) => decodeTemporalText(TIME_TEMPORAL, wire, (temporal, text) => temporal.PlainTime.from(text), unadapted);\nconst pgTimeTemporalEncode = (value) => encodeTemporalValue(TIME_TEMPORAL, value);\nconst EARLIEST_POSTGRES_TIMESTAMP_MILLISECONDS = (/* @__PURE__ */ new Date(\"-004713-11-24T00:00:00Z\")).getTime();\nfunction utcText(value, codecId, zone) {\n\tconst milliseconds = value.getTime();\n\tif (!Number.isFinite(milliseconds) || milliseconds < EARLIEST_POSTGRES_TIMESTAMP_MILLISECONDS) throw new RangeError(`${codecId} writes a Date as UTC text and needs a valid Date on or after 4714-11-24 BC, the earliest timestamp PostgreSQL holds; got ${String(value)}`);\n\tconst year = value.getUTCFullYear();\n\tconst iso = value.toISOString();\n\tconst monthOnward = iso.slice(iso.indexOf(\"-\", 1), -1);\n\treturn `${String(year <= 0 ? 1 - year : year).padStart(ORDINARY_YEAR_DIGITS, \"0\")}${monthOnward}${zone}${year <= 0 ? BC_SUFFIX : \"\"}`;\n}\nconst utcTimestampText = (value, codecId) => utcText(value, codecId, \"\");\nconst utcTimestamptzText = (value, codecId) => utcText(value, codecId, \"Z\");\n//#endregion\n//#region src/core/date-codecs.ts\nconst TIMESTAMPTZ_TEXT = /^([+-]\\d{6}|\\d{4,6})-(\\d{2})-(\\d{2})[ T](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d{1,6}))?(?:Z|([+-])(\\d{2})(?::?(\\d{2}))?(?::?(\\d{2}))?)( BC)?$/;\nfunction invalidDate() {\n\treturn /* @__PURE__ */ new RangeError(`${PG_TIMESTAMPTZ_DATE_CODEC_ID} requires a valid Date or a representable ISO PostgreSQL timestamp with time zone; use TimestamptzString for unsupported values`);\n}\nfunction isRepresentable(value) {\n\treturn value instanceof Date && Number.isFinite(value.getTime()) && value.getTime() >= EARLIEST_POSTGRES_TIMESTAMP_MILLISECONDS;\n}\nfunction validateDate(value) {\n\tif (!isRepresentable(value)) throw invalidDate();\n\treturn value;\n}\nfunction decodeDate(wire) {\n\tconst date = typeof wire === \"string\" ? parseDate(wire) : void 0;\n\tif (date === void 0) throw invalidDate();\n\treturn date;\n}\n/** The instant a timestamp with time zone as PostgreSQL writes it names, or `undefined` when the text is not one. */\nfunction parseDate(text) {\n\tconst match = TIMESTAMPTZ_TEXT.exec(text);\n\tif (!match) return void 0;\n\tconst [, yearText = \"\", monthText, dayText, hourText, minuteText, secondText, fraction = \"\", sign, offsetHour = \"0\", offsetMinute = \"0\", offsetSecond = \"0\", era] = match;\n\tconst year = era ? 1 - Number(yearText) : Number(yearText);\n\tconst month = Number(monthText) - 1;\n\tconst day = Number(dayText);\n\tconst hour = Number(hourText);\n\tconst minute = Number(minuteText);\n\tconst second = Number(secondText);\n\tconst milliseconds = Number(fraction.slice(0, 3).padEnd(3, \"0\"));\n\tconst cycles = Math.floor((year - 2e3) / 400);\n\tconst safeYear = year - cycles * 400;\n\tconst local = /* @__PURE__ */ new Date(0);\n\tlocal.setUTCFullYear(safeYear, month, day);\n\tlocal.setUTCHours(hour, minute, second, milliseconds);\n\tif (era !== void 0 && (Number(yearText) === 0 || /^[+-]/.test(yearText)) || local.getUTCFullYear() !== safeYear || local.getUTCMonth() !== month || local.getUTCDate() !== day || local.getUTCHours() !== hour || local.getUTCMinutes() !== minute || local.getUTCSeconds() !== second || Number(offsetHour) > 15 || Number(offsetMinute) > 59 || Number(offsetSecond) > 59) return void 0;\n\tconst offset = (Number(offsetHour) * 3600 + Number(offsetMinute) * 60 + Number(offsetSecond)) * (sign === \"-\" ? -1 : 1);\n\tconst value = /* @__PURE__ */ new Date(local.getTime() - offset * 1e3 + cycles * 146097 * 864e5);\n\treturn isRepresentable(value) ? value : void 0;\n}\nfunction encodeDate(value) {\n\treturn utcTimestamptzText(validateDate(value), PG_TIMESTAMPTZ_DATE_CODEC_ID);\n}\nvar PgTimestamptzDateCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn encodeDate(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodeDate(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimestamptzCanonical(validateDate(value).toISOString());\n\t}\n\tdecodeJson(json) {\n\t\treturn parseDate(decodeJsonString(\"pg/timestamptz-date@1\", json)) ?? refuseJsonValue(\"pg/timestamptz-date@1\", \"a timestamp with time zone as PostgreSQL writes it\", json);\n\t}\n};\nvar PgTimestamptzDateDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTimestamptz.id;\n\tcodecId = PG_TIMESTAMPTZ_DATE_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\tparamsSchema = pgPrecisionParams;\n\trenderOutputType(_params) {\n\t\treturn \"Date\";\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimestamptzDateCodec(this);\n\t}\n};\nconst pgTimestamptzDateDescriptor = new PgTimestamptzDateDescriptor();\nconst pgTimestamptzDateColumn = (params = {}) => column(pgTimestamptzDateDescriptor.factory(params), pgTimestamptzDateDescriptor.codecId, params);\n//#endregion\n//#region src/core/date-time-stored-text.ts\nconst YEAR = String.raw`(?:[+-]\\d{6}|\\d{4,7})`;\nconst DATE = String.raw`${YEAR}-\\d{2}-\\d{2}`;\nconst TIME = String.raw`\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?`;\nconst OFFSET = String.raw`(?:Z|[+-]\\d{2}(?::\\d{2}(?::\\d{2})?)?)`;\nconst INFINITY = \"infinity|-infinity|\";\nconst BC = \"(?: BC)?\";\nconst FORMS = {\n\tdate: `${DATE}${BC}`,\n\ttime: TIME,\n\ttimeWithOffset: `${TIME}${OFFSET}`,\n\tdateTime: `${DATE}[ T]${TIME}${BC}`,\n\tinstant: `${DATE}[ T]${TIME}${OFFSET}${BC}`\n};\nconst DATED = /^([+-]?)(\\d{4,7})(-.*?)( BC)?$/;\nconst END_OF_DAY = /^24:00:00(?:\\.0+)?(?![.\\d])/;\n/** PostgreSQL's largest UTC offset, which it writes for no type past 15:59:59. */\nconst MAX_OFFSET_HOURS = 15;\nfunction storedText(options) {\n\treturn {\n\t\tdataType: options.dataType,\n\t\tshape: options.shape,\n\t\tpattern: new RegExp(`^(?:${options.infinity ? INFINITY : \"\"}${FORMS[options.shape]})$`),\n\t\tdescription: `${options.description} in ISO 8601 or as PostgreSQL writes it`,\n\t\tendOfDay: options.endOfDay\n\t};\n}\nconst pgDateStoredText = storedText({\n\tdataType: pgDate.id,\n\tshape: \"date\",\n\tdescription: \"a date\",\n\tinfinity: true,\n\tendOfDay: false\n});\nconst pgTimeStoredText = storedText({\n\tdataType: pgTime.id,\n\tshape: \"time\",\n\tdescription: \"a time of day\",\n\tinfinity: false,\n\tendOfDay: true\n});\nconst pgTimetzStoredText = storedText({\n\tdataType: pgTimetz.id,\n\tshape: \"timeWithOffset\",\n\tdescription: \"a time of day with a UTC offset\",\n\tinfinity: false,\n\tendOfDay: true\n});\nconst pgTimestampStoredText = storedText({\n\tdataType: pgTimestamp.id,\n\tshape: \"dateTime\",\n\tdescription: \"a date and time of day\",\n\tinfinity: true,\n\tendOfDay: false\n});\nconst pgTimestamptzStoredText = storedText({\n\tdataType: pgTimestamptz.id,\n\tshape: \"instant\",\n\tdescription: \"a date and time of day with a UTC offset\",\n\tinfinity: true,\n\tendOfDay: false\n});\n/** The text with its year moved into the 400-year cycle from 2000, or `undefined` for a year no calendar has. */\nfunction inGregorianCycle(text) {\n\tconst match = DATED.exec(text);\n\tif (match === null) return text;\n\tconst [, sign = \"\", digits = \"\", rest = \"\", bc] = match;\n\tconst year = Number(digits);\n\tif (bc !== void 0 && (sign !== \"\" || year === 0) || sign === \"-\" && year === 0) return;\n\treturn `${2e3 + ((bc !== void 0 ? 1 - year : sign === \"-\" ? -year : year) % 400 + 400) % 400}${rest}`;\n}\nfunction holdsValue(stored, text) {\n\tif (text === \"infinity\" || text === \"-infinity\") return true;\n\tconst cycled = inGregorianCycle(text);\n\tif (cycled === void 0) return false;\n\tconst read = stored.endOfDay ? cycled.replace(END_OF_DAY, \"00:00:00\") : cycled;\n\ttry {\n\t\tcanonicalDateTime(read, {\n\t\t\tshape: stored.shape,\n\t\t\townerId: stored.dataType,\n\t\t\tmaxOffsetHours: MAX_OFFSET_HOURS\n\t\t});\n\t\treturn true;\n\t} catch (error) {\n\t\tif (isStructuredError(error) && error.code === \"CONTRACT.CAST_REFUSED\") return false;\n\t\tthrow error;\n\t}\n}\n/** Reads a stored date or time text, refusing text in another form or naming no real date and time. */\nfunction decodeJsonDateTimeText(codecId, json, stored) {\n\tconst text = decodeJsonMatching(codecId, json, stored.pattern, stored.description);\n\treturn holdsValue(stored, text) ? text : refuseJsonValue(codecId, stored.description, json);\n}\n//#endregion\n//#region src/core/temporal-codecs.ts\nvar PgDateTemporalCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgDateTemporalEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgDateTemporalDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgDateCanonical(pgDateTemporalEncode(value));\n\t}\n\tdecodeJson(json) {\n\t\treturn pgDateTemporalDecode(decodeJsonString(PG_DATE_TEMPORAL_CODEC_ID, json));\n\t}\n};\nvar PgDateTemporalDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgDate.id;\n\tcodecId = PG_DATE_TEMPORAL_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgDateTemporalCodec(this);\n\t}\n};\nconst pgDateTemporalDescriptor = new PgDateTemporalDescriptor();\nvar PgTimestampTemporalCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgTimestampTemporalEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgTimestampTemporalDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimestampCanonical(pgTimestampTemporalEncode(value));\n\t}\n\tdecodeJson(json) {\n\t\treturn pgTimestampTemporalDecode(decodeJsonString(PG_TIMESTAMP_TEMPORAL_CODEC_ID, json));\n\t}\n};\nvar PgTimestampTemporalDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTimestamp.id;\n\tcodecId = PG_TIMESTAMP_TEMPORAL_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\tparamsSchema = pgPrecisionParams;\n\tfactory(_params) {\n\t\treturn () => new PgTimestampTemporalCodec(this);\n\t}\n};\nconst pgTimestampTemporalDescriptor = new PgTimestampTemporalDescriptor();\nvar PgTimestamptzTemporalCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgTimestamptzTemporalEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgTimestamptzTemporalDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimestamptzCanonical(pgTimestamptzTemporalEncode(value));\n\t}\n\tdecodeJson(json) {\n\t\treturn pgTimestamptzTemporalDecode(decodeJsonString(PG_TIMESTAMPTZ_TEMPORAL_CODEC_ID, json));\n\t}\n};\nvar PgTimestamptzTemporalDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTimestamptz.id;\n\tcodecId = PG_TIMESTAMPTZ_TEMPORAL_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\tparamsSchema = pgPrecisionParams;\n\tfactory(_params) {\n\t\treturn () => new PgTimestamptzTemporalCodec(this);\n\t}\n};\nconst pgTimestamptzTemporalDescriptor = new PgTimestamptzTemporalDescriptor();\nvar PgTimeTemporalCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgTimeTemporalEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgTimeTemporalDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimeCanonical(pgTimeTemporalEncode(value));\n\t}\n\tdecodeJson(json) {\n\t\treturn pgTimeTemporalDecode(decodeJsonString(PG_TIME_TEMPORAL_CODEC_ID, json));\n\t}\n};\nvar PgTimeTemporalDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTime.id;\n\tcodecId = PG_TIME_TEMPORAL_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\tparamsSchema = pgPrecisionParams;\n\tfactory(_params) {\n\t\treturn () => new PgTimeTemporalCodec(this);\n\t}\n};\nconst pgTimeTemporalDescriptor = new PgTimeTemporalDescriptor();\n//#endregion\n//#region src/core/temporal-string-codecs.ts\nvar PgDateStringCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn pgDateCanonical(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonDateTimeText(PG_DATE_STRING_CODEC_ID, json, pgDateStoredText);\n\t}\n};\nvar PgDateStringDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgDate.id;\n\tcodecId = PG_DATE_STRING_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgDateStringCodec(this);\n\t}\n};\nconst pgDateStringDescriptor = new PgDateStringDescriptor();\nvar PgTimestampStringCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value instanceof Date ? utcTimestampText(value, this.id) : value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimestampCanonical(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonDateTimeText(PG_TIMESTAMP_STRING_CODEC_ID, json, pgTimestampStoredText);\n\t}\n};\nvar PgTimestampStringDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTimestamp.id;\n\tcodecId = PG_TIMESTAMP_STRING_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\tparamsSchema = pgPrecisionParams;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"TimestampString\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimestampStringCodec(this);\n\t}\n};\nconst pgTimestampStringDescriptor = new PgTimestampStringDescriptor();\nvar PgTimestamptzStringCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value instanceof Date ? utcTimestamptzText(value, this.id) : value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimestamptzCanonical(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonDateTimeText(PG_TIMESTAMPTZ_STRING_CODEC_ID, json, pgTimestamptzStoredText);\n\t}\n};\nvar PgTimestamptzStringDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTimestamptz.id;\n\tcodecId = PG_TIMESTAMPTZ_STRING_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\tparamsSchema = pgPrecisionParams;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"TimestamptzString\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimestamptzStringCodec(this);\n\t}\n};\nconst pgTimestamptzStringDescriptor = new PgTimestamptzStringDescriptor();\nvar PgTimeStringCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimeCanonical(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonDateTimeText(PG_TIME_STRING_CODEC_ID, json, pgTimeStoredText);\n\t}\n};\nvar PgTimeStringDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTime.id;\n\tcodecId = PG_TIME_STRING_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\tparamsSchema = pgPrecisionParams;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"TimeString\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimeStringCodec(this);\n\t}\n};\nconst pgTimeStringDescriptor = new PgTimeStringDescriptor();\n//#endregion\n//#region src/core/codecs.ts\n/**\n* Projects the expression unchanged, for codecs whose canonical JSON is what\n* PostgreSQL's own JSON conversion already produces.\n*\n* Identity here is a claim about the target's behaviour, not an absence of one:\n* the codec's conformance cases are what test it, including at the boundaries\n* of the representation — escaping, sign, and range — where a native conversion\n* would be most likely to diverge.\n*/\n/**\n* Whether a string is numeric text in the form PostgreSQL *prints*, which is\n* narrower than the form it accepts.\n*\n* `numeric` reads `+123`, `.5`, `1.`, `1e5`, `0x1f`, `1_000` and whitespace-padded\n* input, but prints every one of them in a single normalised form — `123`,\n* `0.5`, `1`, `100000`, `31`, `1000`, `12`. The projection reads the column back\n* through that printing, so accepting an input spelling here would produce an\n* application value the projection can never return: `encodeJson('1e5')` would\n* claim `1e5` where the database yields `100000`.\n*\n* `NaN`, `Infinity` and `-Infinity` are genuine `numeric` values, not error\n* states, and PostgreSQL emits them into JSON as strings — so they belong to the\n* canonical form and round-trip like any other value.\n*/\nconst CANONICAL_NUMERIC_TEXT = /^(?:-?\\d+(?:\\.\\d+)?|NaN|-?Infinity)$/;\nconst isCanonicalNumericText = (value) => CANONICAL_NUMERIC_TEXT.test(value);\n/**\n* Whether canonical numeric text is a value `numeric(precision, scale)` stores without rounding: a whole number of units of 10^-scale, and at most `precision` digits once counted in those units. A negative scale rounds to tens, hundreds and so on, and a scale above the precision allows only values below 1. NaN fits; an infinity does not.\n*/\nfunction fitsNumeric(text, precision, scale) {\n\tif (text === \"NaN\") return true;\n\tif (text.endsWith(\"Infinity\")) return false;\n\tconst [whole = \"\", fraction = \"\"] = text.replace(/^-/, \"\").split(\".\");\n\tconst significantFraction = withoutTrailing(fraction, \"0\");\n\tconst digits = `${whole}${significantFraction}`.replace(/^0+/, \"\");\n\tif (digits === \"\") return true;\n\tconst shift = scale - significantFraction.length;\n\tif (shift >= 0) return digits.length + shift <= precision;\n\tconst units = withoutTrailing(digits, \"0\");\n\tif (digits.length - units.length < -shift) return false;\n\treturn digits.length + shift <= precision;\n}\nconst identityJsonProjection = (expression) => expression;\n/**\n* Projects a `character` value as text, which drops the trailing spaces that pad it to its length and nothing else, so an include reads the value a flat read's `decode` returns.\n*/\nconst unpaddedCharJsonProjection = (expression) => CastExpr.as(expression, \"text\");\nconst BIT_STRING = /^[01]*$/;\nconst decodePostgresNumberWire = (wire) => typeof wire === \"string\" ? Number(wire) : wire;\nconst decodePostgresBooleanWire = (wire) => {\n\tif (typeof wire === \"boolean\") return wire;\n\tif (wire === \"t\" || wire === \"true\") return true;\n\tif (wire === \"f\" || wire === \"false\") return false;\n\tthrow postgresError(\"RUNTIME.DECODE_FAILED\", \"pg/bool@1 wire value must be boolean text\", { meta: {\n\t\tcodecId: PG_BOOL_CODEC_ID,\n\t\treceived: wire\n\t} });\n};\n/**\n* Projects a numeric-valued expression as decimal text.\n*\n* The cast is part of the projected expression, which is what makes it correct:\n* whatever `jsonProjection` returns is the argument the JSON constructor\n* receives, so casting here happens *before* PostgreSQL builds the JSON value.\n* Handed a `numeric` or `int8` directly, the constructor emits a JSON **number**,\n* and every digit past IEEE-754's 53 bits of significand is gone by the time the\n* driver has parsed it — before any codec can intervene. A cast applied to the\n* constructor's result instead of its argument would be too late to matter.\n*/\nconst decimalTextJsonProjection = (expression) => CastExpr.as(expression, \"text\");\n/**\n* Projects a `bytea` as base64 text.\n*\n* Like the decimal-text cast, the encoding is part of the projected expression:\n* PostgreSQL's own JSON conversion of a `bytea` emits its `\\x`-prefixed hex\n* output form, so the base64 encoding has to replace that conversion rather\n* than post-process it.\n*\n* `encode` emits RFC 2045 base64, which carries a line break every 76\n* characters — so any value over 56 bytes arrives wrapped. The breaks are\n* removed here, because the canonical form is unwrapped base64 and\n* `decodeJson` rejects anything else. `chr(10)` rather than a newline literal\n* keeps the rendered SQL on one line.\n*/\nconst base64JsonProjection = (expression) => FunctionCallExpr.of(\"translate\", [\n\tFunctionCallExpr.of(\"encode\", [expression, LiteralExpr.of(\"base64\")]),\n\tFunctionCallExpr.of(\"chr\", [LiteralExpr.of(10)]),\n\tLiteralExpr.of(\"\")\n]);\nconst datePart = (field, expression) => FunctionCallExpr.of(\"date_part\", [LiteralExpr.of(field), expression]);\nconst whenNonZero = (value, rendered) => CaseExpr.of([{\n\tcondition: BinaryExpr.neq(value, LiteralExpr.of(0)),\n\tvalue: rendered\n}], LiteralExpr.of(null));\n/**\n* Projects an `interval` as an ISO-8601 duration.\n*\n* An interval carries months, days and microseconds independently — `P1M` and\n* `P30D` are different intervals — so the projection reads each field with\n* `date_part` and assembles them rather than reducing the value to an epoch,\n* which would have to choose a length for a month. `IntervalStyle` decides how\n* PostgreSQL spells an interval and cannot be bound per expression, so the\n* spelling is constructed here instead of inherited.\n*\n* `concat` drops NULL arguments, so a zero component is omitted by rendering as\n* NULL; the seconds field is taken through `numeric` because a `double\n* precision` microsecond renders in scientific notation.\n*\n* That same NULL-dropping is why the whole assembly sits under an explicit NULL\n* check: for a NULL interval every field is NULL, `concat` yields `'P'`, and the\n* zero-duration fallback below would report an absent value as a zero one.\n*/\nconst isoDurationJsonProjection = (expression) => {\n\tconst field = (name) => datePart(name, expression);\n\tconst seconds = CastExpr.as(field(\"second\"), \"numeric\");\n\tconst assembled = FunctionCallExpr.of(\"concat\", [\n\t\tLiteralExpr.of(\"P\"),\n\t\twhenNonZero(field(\"year\"), FunctionCallExpr.of(\"concat\", [field(\"year\"), LiteralExpr.of(\"Y\")])),\n\t\twhenNonZero(field(\"month\"), FunctionCallExpr.of(\"concat\", [field(\"month\"), LiteralExpr.of(\"M\")])),\n\t\twhenNonZero(field(\"day\"), FunctionCallExpr.of(\"concat\", [field(\"day\"), LiteralExpr.of(\"D\")])),\n\t\tCaseExpr.of([{\n\t\t\tcondition: OrExpr.of([\n\t\t\t\tBinaryExpr.neq(field(\"hour\"), LiteralExpr.of(0)),\n\t\t\t\tBinaryExpr.neq(field(\"minute\"), LiteralExpr.of(0)),\n\t\t\t\tBinaryExpr.neq(field(\"second\"), LiteralExpr.of(0))\n\t\t\t]),\n\t\t\tvalue: LiteralExpr.of(\"T\")\n\t\t}], LiteralExpr.of(null)),\n\t\twhenNonZero(field(\"hour\"), FunctionCallExpr.of(\"concat\", [field(\"hour\"), LiteralExpr.of(\"H\")])),\n\t\twhenNonZero(field(\"minute\"), FunctionCallExpr.of(\"concat\", [field(\"minute\"), LiteralExpr.of(\"M\")])),\n\t\twhenNonZero(field(\"second\"), FunctionCallExpr.of(\"concat\", [seconds, LiteralExpr.of(\"S\")]))\n\t]);\n\treturn CaseExpr.of([{\n\t\tcondition: NullCheckExpr.isNull(expression),\n\t\tvalue: LiteralExpr.of(null)\n\t}], FunctionCallExpr.of(\"coalesce\", [FunctionCallExpr.of(\"nullif\", [assembled, LiteralExpr.of(\"P\")]), LiteralExpr.of(\"PT0S\")]));\n};\nconst postgresSqlCharDescriptor = postgresCodec(sqlCharDescriptor, {\n\tdataType: pgChar,\n\tjsonProjection: unpaddedCharJsonProjection,\n\tfactory: (descriptor, params) => () => new PgCharCodec(descriptor, params.length)\n});\nconst postgresSqlVarcharDescriptor = postgresCodec(sqlVarcharDescriptor, {\n\tdataType: pgVarchar,\n\tjsonProjection: identityJsonProjection,\n\tfactory: (descriptor, params) => () => new PgVarcharCodec(descriptor, params.length)\n});\nconst postgresSqlIntDescriptor = postgresCodec(sqlIntDescriptor, {\n\tdataType: pgInt4,\n\tjsonProjection: identityJsonProjection,\n\tfactory: (descriptor) => () => new PgIntCodec(descriptor)\n});\nconst postgresSqlFloatDescriptor = postgresCodec(sqlFloatDescriptor, {\n\tdataType: pgFloat8,\n\tjsonProjection: identityJsonProjection,\n\tfactory: (descriptor) => () => new PgFloatCodec(descriptor)\n});\nconst postgresSqlTextDescriptor = postgresCodec(sqlTextDescriptor, {\n\tdataType: pgText,\n\tjsonProjection: identityJsonProjection\n});\nvar PgTextCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonString(PG_TEXT_CODEC_ID, json);\n\t}\n};\nvar PgTextDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgText.id;\n\tcodecId = PG_TEXT_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"textual\"\n\t];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgTextCodec(this);\n\t}\n};\nconst pgTextDescriptor = new PgTextDescriptor();\nconst pgTextColumn = () => column(pgTextDescriptor.factory(), pgTextDescriptor.codecId, void 0);\n/**\n* Codec for a `pg.enum(Ref)` column bound to a native Postgres enum type.\n* Text passthrough, identical to `pg/text@1` — encode/decode do not carry the\n* enum's member values; membership is enforced by the native type itself, not\n* by this codec. `renderValueLiteral` renders a member value as its TS\n* literal, which is what drives the column's typed value-union (via\n* `renderValueSetType` reading the column's `valueSet` ref) — the codec\n* itself carries no params of its own; typing comes entirely from the\n* column's value-set, not from `pg/enum@1`.\n*\n* A distinct codec id (rather than reusing `pg/text@1` on a plain text\n* column) keeps native-enum columns independently identifiable — from a\n* column's `codecId` alone, without also inspecting its data type — which\n* the managed (DDL) phase needs to target `CREATE TYPE`/`ALTER TYPE`\n* operations at exactly the columns that use one.\n*\n* Not `textual`, although its values are strings: Postgres has no `LIKE`,\n* `ILIKE` or `to_tsvector` over an enum type.\n*/\nvar PgEnumCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonString(PG_ENUM_CODEC_ID, json);\n\t}\n};\n/**\n* Narrows codec `typeParams` to {@link PgEnumParams} — the shape that binds a\n* column to a named database type (a native enum's `CREATE TYPE` name).\n*/\nfunction isPgEnumParams(value) {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value) && \"typeName\" in value && typeof value.typeName === \"string\";\n}\nvar PgEnumDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgEnum.id;\n\tcodecId = PG_ENUM_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\tparamsSchema = pgEnumParams;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgEnumCodec(this);\n\t}\n\t/**\n\t* Authoring-time hook a `pg.enum(<ref>)` type constructor calls once it has\n\t* resolved its ref argument to the referenced `native_enum` entity:\n\t* produces this codec's per-column `typeParams` from the entity's bare type\n\t* name. Schema-qualification (`auth.aal_level` for a\n\t* named non-default schema) is not this hook's concern — the field's\n\t* namespace isn't known at this call site for every authoring path (the TS\n\t* builder resolves a column before it knows its model's namespace), so it is\n\t* applied later, at contract construction, by {@link qualifyNativeType} via\n\t* the target's `authoring.qualifyColumnType` hook. Returns `undefined` if `entity` is not a `PostgresNativeEnum` (a\n\t* contributor bug, not a user-schema error — the caller decides how to\n\t* report it).\n\t*/\n\tcolumnFromEntity(entity) {\n\t\tif (!PostgresNativeEnum.is(entity)) return void 0;\n\t\treturn { typeParams: { typeName: entity.typeName } };\n\t}\n\t/**\n\t* Schema-qualifies this native enum type's name for the namespace the\n\t* consuming column lives in: `${namespaceId}.${typeName}` for a named\n\t* non-default schema, bare for the target's default schema (`public`) or\n\t* the late-bound unbound sentinel (whose schema `search_path` resolves at\n\t* runtime). Postgres's `format_type()` reports the bare name for a\n\t* public-schema type, so a public column's declared native type must stay\n\t* bare to match. Owned here because the codec owns its native type.\n\t*/\n\tqualifyNativeType(typeName, namespaceId) {\n\t\treturn namespaceId === \"public\" || namespaceId === UNBOUND_NAMESPACE_ID ? typeName : `${namespaceId}.${typeName}`;\n\t}\n};\nconst pgEnumDescriptor = new PgEnumDescriptor();\n/**\n* Contract-construction-time column-type qualifier the Postgres target\n* contributes through `authoring.qualifyColumnType`.\n* `buildSqlContractFromDefinition` calls this for every column as it is\n* constructed, passing the column's bare type info and its owning\n* `namespaceId`; a native-enum column (`pg/enum@1`) gets its type name\n* schema-qualified for that namespace (via\n* {@link PgEnumDescriptor.qualifyNativeType}), which rewrites only\n* `typeParams.typeName`. Every other codec passes through unchanged.\n* Both the PSL `pg.enum(Ref)` path and the TS `pg.enum(handle)` path route\n* through here — the dispatch keys off the codec id, not authoring surface.\n*/\nfunction postgresQualifyColumnType(input, namespaceId) {\n\tif (input.codecId !== \"pg/enum@1\") return input;\n\tconst bareTypeName = input.typeParams?.[\"typeName\"];\n\tif (typeof bareTypeName !== \"string\") return input;\n\tconst qualified = pgEnumDescriptor.qualifyNativeType(bareTypeName, namespaceId);\n\treturn { typeParams: {\n\t\t...input.typeParams,\n\t\ttypeName: qualified\n\t} };\n}\n/**\n* Postgres `text[]` control codec. Encode is an identity pass-through: the pg\n* wire driver serialises a JS `string[]` to a Postgres array literal under the\n* `$N::text[]` cast emitted from this codec's native type. Control-plane reads\n* that need semantic arrays parse raw array text before shared validation rather\n* than decoding this whole array value. Not a user-facing scalar — it is not\n* part of the authorable `CodecTypes` surface, only the runtime codec registry.\n*/\nvar PgTextArrayCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn [...value];\n\t}\n\t/** A `text[]` may hold NULL elements, which PostgreSQL writes as JSON `null`. */\n\tdecodeJson(json) {\n\t\tconst expected = \"an array of strings and nulls\";\n\t\tif (!Array.isArray(json)) return refuseJsonValue(PG_TEXT_ARRAY_CODEC_ID, expected, json);\n\t\tconst elements = [];\n\t\tfor (const entry of json) {\n\t\t\tif (entry !== null && typeof entry !== \"string\") return refuseJsonValue(PG_TEXT_ARRAY_CODEC_ID, expected, entry);\n\t\t\telements.push(entry);\n\t\t}\n\t\treturn elements;\n\t}\n};\nvar PgTextArrayDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgTextArray.id;\n\tcodecId = PG_TEXT_ARRAY_CODEC_ID;\n\ttraits = [\"equality\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgTextArrayCodec(this);\n\t}\n};\nconst pgTextArrayDescriptor = new PgTextArrayDescriptor();\nvar PgInt4Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonInteger(PG_INT4_CODEC_ID, json, INT32_RANGE);\n\t}\n};\nvar PgInt4Descriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgInt4.id;\n\tcodecId = PG_INT4_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgInt4Codec(this);\n\t}\n};\nconst pgInt4Descriptor = new PgInt4Descriptor();\nconst pgInt4Column = () => column(pgInt4Descriptor.factory(), pgInt4Descriptor.codecId, void 0);\nvar PgInt2Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonInteger(PG_INT2_CODEC_ID, json, {\n\t\t\tmin: -32768,\n\t\t\tmax: 32767\n\t\t});\n\t}\n};\nvar PgInt2Descriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgInt2.id;\n\tcodecId = PG_INT2_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgInt2Codec(this);\n\t}\n};\nconst pgInt2Descriptor = new PgInt2Descriptor();\nconst pgInt2Column = () => column(pgInt2Descriptor.factory(), pgInt2Descriptor.codecId, void 0);\n/**\n* A Postgres `int8` spans the full signed 64-bit range, which a JS `number`\n* cannot hold past 2^53. Application values are `bigint` and the canonical JSON\n* is decimal text; the wire form is the decimal string `pg` reads and writes for\n* this type.\n*/\nvar PgInt8Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgBigintEncode(PG_INT8_CODEC_ID, value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgInt8Decode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgBigintEncodeJson(PG_INT8_CODEC_ID, value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonIntegerText(PG_INT8_CODEC_ID, json, INT64_RANGE);\n\t}\n};\nvar PgInt8Descriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tdataType = pgInt8.id;\n\tcodecId = PG_INT8_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn decimalTextBigintLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgInt8Codec(this);\n\t}\n};\nconst pgInt8Descriptor = new PgInt8Descriptor();\nconst pgInt8Column = () => column(pgInt8Descriptor.factory(), pgInt8Descriptor.codecId, void 0);\n/**\n* A Postgres `int8` decoded as a JS `number`, for columns whose values stay\n* within the safe integer range ±(2^53 − 1). Both directions guard rather than\n* round: decode (wire and JSON) and encode throw a structured error on\n* out-of-range or non-integral input. The canonical JSON is the decimal text\n* `pg/int8` carries, which every codec of that data type shares. The descriptor\n* claims no target type, so `int8` in type position stays `pg/int8@1`.\n*/\nvar PgInt8NumberCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgInt8NumberEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgInt8NumberDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgInt8NumberEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn pgInt8NumberDecodeJson(json);\n\t}\n};\nvar PgInt8NumberDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tdataType = pgInt8.id;\n\tcodecId = PG_INT8_NUMBER_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn decimalTextNumberLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgInt8NumberCodec(this);\n\t}\n};\nconst pgInt8NumberDescriptor = new PgInt8NumberDescriptor();\nconst pgInt8NumberColumn = () => column(pgInt8NumberDescriptor.factory(), pgInt8NumberDescriptor.codecId, void 0);\nvar PgFloat4Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgFloatEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn encodeJsonFloat(value);\n\t}\n\tdecodeJson(json) {\n\t\tconst value = decodeJsonFloat(PG_FLOAT4_CODEC_ID, json);\n\t\tif (Number.isFinite(value) && !fitsFloat4(value)) return refuseJsonValue(PG_FLOAT4_CODEC_ID, `a number float4 holds, at most ${FLOAT4_MAX} in magnitude and not so small that it becomes 0, or the text NaN, Infinity or -Infinity`, json);\n\t\treturn value;\n\t}\n};\nvar PgFloat4Descriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgFloat4.id;\n\tcodecId = PG_FLOAT4_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgFloat4Codec(this);\n\t}\n};\nconst pgFloat4Descriptor = new PgFloat4Descriptor();\nconst pgFloat4Column = () => column(pgFloat4Descriptor.factory(), pgFloat4Descriptor.codecId, void 0);\nvar PgFloat8Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgFloatEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn encodeJsonFloat(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonFloat(PG_FLOAT8_CODEC_ID, json);\n\t}\n};\nvar PgFloat8Descriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgFloat8.id;\n\tcodecId = PG_FLOAT8_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgFloat8Codec(this);\n\t}\n};\nconst pgFloat8Descriptor = new PgFloat8Descriptor();\nconst pgFloat8Column = () => column(pgFloat8Descriptor.factory(), pgFloat8Descriptor.codecId, void 0);\nvar PgBoolCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresBooleanWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonBoolean(PG_BOOL_CODEC_ID, json);\n\t}\n};\nvar PgBoolDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgBool.id;\n\tcodecId = PG_BOOL_CODEC_ID;\n\ttraits = [\"equality\", \"boolean\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgBoolCodec(this);\n\t}\n};\nconst pgBoolDescriptor = new PgBoolDescriptor();\nconst pgBoolColumn = () => column(pgBoolDescriptor.factory(), pgBoolDescriptor.codecId, void 0);\nvar PgNumericCodec = class extends CodecImpl {\n\tparams;\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgNumericDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\tif (!isCanonicalNumericText(value)) throw postgresError(\"RUNTIME.ENCODE_FAILED\", \"pg/numeric@1 application value must be canonical numeric text: an optionally negated decimal numeral, or NaN, Infinity or -Infinity\", { meta: {\n\t\t\tcodecId: PG_NUMERIC_CODEC_ID,\n\t\t\treceived: value\n\t\t} });\n\t\treturn value;\n\t}\n\tconstructor(descriptor, params) {\n\t\tsuper(descriptor);\n\t\tthis.params = params;\n\t}\n\tdecodeJson(json) {\n\t\tconst text = decodeJsonMatching(PG_NUMERIC_CODEC_ID, json, CANONICAL_NUMERIC_TEXT, \"a decimal string\");\n\t\tconst { precision } = this.params;\n\t\tif (precision === void 0) return text;\n\t\tconst scale = this.params.scale ?? 0;\n\t\tif (!fitsNumeric(text, precision, scale)) return refuseJsonValue(PG_NUMERIC_CODEC_ID, `a decimal string that numeric(${precision}, ${scale}) stores without rounding`, json);\n\t\treturn text;\n\t}\n};\nvar PgNumericDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tdataType = pgNumeric.id;\n\tcodecId = PG_NUMERIC_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\tparamsSchema = pgNumericParams;\n\trenderOutputType(params) {\n\t\treturn pgNumericRenderOutputType(params);\n\t}\n\tfactory(params) {\n\t\treturn () => new PgNumericCodec(this, params ?? {});\n\t}\n};\nconst pgNumericDescriptor = new PgNumericDescriptor();\nconst pgNumericColumn = (params = {}) => column(pgNumericDescriptor.factory(params), pgNumericDescriptor.codecId, params);\n/**\n* A genuinely unbounded integer over unconstrained Postgres `numeric` storage.\n* Application values are `bigint` and the canonical JSON is decimal text, like\n* `pg/int8@1`; decode rejects non-integral values. The descriptor claims no\n* target type, so `numeric` and `decimal` in type position stay `pg/numeric@1`.\n*/\nvar PgUnboundedIntCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgBigintEncode(PG_UNBOUNDED_INT_CODEC_ID, value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgUnboundedIntDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgBigintEncodeJson(PG_UNBOUNDED_INT_CODEC_ID, value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonIntegerText(PG_UNBOUNDED_INT_CODEC_ID, json);\n\t}\n};\nvar PgUnboundedIntDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tdataType = pgNumeric.id;\n\tcodecId = PG_UNBOUNDED_INT_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\tparamsSchema = pgNumericParams;\n\trenderValueLiteral(value) {\n\t\treturn decimalTextBigintLiteral(value);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgUnboundedIntCodec(this);\n\t}\n};\nconst pgUnboundedIntDescriptor = new PgUnboundedIntDescriptor();\nconst pgUnboundedIntColumn = () => column(pgUnboundedIntDescriptor.factory(), pgUnboundedIntDescriptor.codecId, void 0);\nvar PgTimetzCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimetzCanonical(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonDateTimeText(PG_TIMETZ_CODEC_ID, json, pgTimetzStoredText);\n\t}\n};\nvar PgTimetzDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgTimetz.id;\n\tcodecId = PG_TIMETZ_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\tparamsSchema = pgPrecisionParams;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"Timetz\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimetzCodec(this);\n\t}\n};\nconst pgTimetzDescriptor = new PgTimetzDescriptor();\nconst pgTimetzColumn = (params = {}) => column(pgTimetzDescriptor.factory(params), pgTimetzDescriptor.codecId, params);\nvar PgBitCodec = class extends CodecImpl {\n\tlength;\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tconstructor(descriptor, length) {\n\t\tsuper(descriptor);\n\t\tthis.length = length;\n\t}\n\tdecodeJson(json) {\n\t\tconst bits = decodeJsonMatching(PG_BIT_CODEC_ID, json, BIT_STRING, \"a string of 0 and 1 digits\");\n\t\tif (bits.length !== this.length) return refuseJsonValue(PG_BIT_CODEC_ID, `a string of exactly ${counted(this.length, \"bit\")}`, json);\n\t\treturn bits;\n\t}\n};\nvar PgBitDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgBit.id;\n\tcodecId = PG_BIT_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\tparamsSchema = pgBitLengthParams;\n\trenderOutputType(params) {\n\t\treturn renderLength(\"Bit\", params);\n\t}\n\tfactory(params) {\n\t\treturn () => new PgBitCodec(this, params?.length ?? 1);\n\t}\n};\nconst pgBitDescriptor = new PgBitDescriptor();\nconst pgBitColumn = (params = {}) => column(pgBitDescriptor.factory(params), pgBitDescriptor.codecId, params);\nvar PgVarbitCodec = class extends CodecImpl {\n\tlength;\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tconstructor(descriptor, length) {\n\t\tsuper(descriptor);\n\t\tthis.length = length;\n\t}\n\tdecodeJson(json) {\n\t\tconst bits = decodeJsonMatching(PG_VARBIT_CODEC_ID, json, BIT_STRING, \"a string of 0 and 1 digits\");\n\t\tif (this.length !== void 0 && bits.length > this.length) return refuseJsonValue(PG_VARBIT_CODEC_ID, `a string of at most ${counted(this.length, \"bit\")}`, json);\n\t\treturn bits;\n\t}\n};\nvar PgVarbitDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgVarbit.id;\n\tcodecId = PG_VARBIT_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\tparamsSchema = pgBitLengthParams;\n\trenderOutputType(params) {\n\t\treturn renderLength(\"VarBit\", params);\n\t}\n\tfactory(params) {\n\t\treturn () => new PgVarbitCodec(this, params?.length);\n\t}\n};\nconst pgVarbitDescriptor = new PgVarbitDescriptor();\nconst pgVarbitColumn = (params = {}) => column(pgVarbitDescriptor.factory(params), pgVarbitDescriptor.codecId, params);\nvar PgByteaCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgByteaDecodeWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgByteaEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn pgByteaDecodeJson(json);\n\t}\n};\nvar PgByteaDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn base64JsonProjection(expression);\n\t}\n\tdataType = pgBytea.id;\n\tcodecId = PG_BYTEA_CODEC_ID;\n\ttraits = [\"equality\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgByteaCodec(this);\n\t}\n};\nconst pgByteaDescriptor = new PgByteaDescriptor();\nvar PgUuidCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn canonicalUuid(value) ?? value;\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonMatching(PG_UUID_CODEC_ID, json, CANONICAL_UUID, \"a UUID as PostgreSQL writes it, in lower case and hyphenated 8-4-4-4-12\");\n\t}\n};\nvar PgUuidDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgUuid.id;\n\tcodecId = PG_UUID_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgUuidCodec(this);\n\t}\n};\nconst pgUuidDescriptor = new PgUuidDescriptor();\nconst pgUuidColumn = () => column(pgUuidDescriptor.factory(), pgUuidDescriptor.codecId, void 0);\nvar PgInetCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonString(PG_INET_CODEC_ID, json);\n\t}\n};\nvar PgInetDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgInet.id;\n\tcodecId = PG_INET_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgInetCodec(this);\n\t}\n};\nconst pgInetDescriptor = new PgInetDescriptor();\nconst pgInetColumn = () => column(pgInetDescriptor.factory(), pgInetDescriptor.codecId, void 0);\nvar PgTsqueryCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn blindCast(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn blindCast(decodeJsonString(PG_TSQUERY_CODEC_ID, json));\n\t}\n};\n/**\n* The type of a full-text query: what the parsers and the tag in `full-text` return, and what a\n* `tsquery` value read back from a query binds as when passed to `fullTextMatches`, `fullTextRank`\n* or `fullTextHeadline`. It has no column helper, because a contract cannot author a `tsquery`\n* column, and no traits, because comparing or ordering queries means nothing to an application.\n*/\nvar PgTsqueryDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgTsquery.id;\n\tcodecId = PG_TSQUERY_CODEC_ID;\n\ttraits = [];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgTsqueryCodec(this);\n\t}\n};\nconst pgTsqueryDescriptor = new PgTsqueryDescriptor();\n/**\n* An application value is a {@link PgInterval} — the three fields PostgreSQL\n* actually stores, `{ months, days, micros }` — and its canonical JSON is the\n* ISO-8601 duration string PostgreSQL spells under\n* `IntervalStyle = 'iso_8601'`: `P1M`, `P30D`, `P1Y2M3DT4H5M6S`, `PT0S` for\n* zero, each component carrying its own sign.\n*\n* Value and representation are independent here, as they are for `pg/bytea@1`\n* (`Uint8Array` carried as base64) and `pg/int8@1` (`bigint` carried as decimal\n* text). Reading an interval hands back numbers to compute with rather than a\n* string to parse; writing one takes the same numbers.\n*\n* The fields stay independent because a month has no fixed length: `{months: 1}`\n* and `{days: 30}` are different values and neither converts to the other. The\n* ISO rendering normalises only in its own spelling — twelve months render as a\n* year — so `{months: 13}` renders `P1Y1M` and reads back as `{months: 13}`.\n*/\nvar PgIntervalCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgIntervalToIso(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgIntervalDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgIntervalEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn pgIntervalDecodeJson(json);\n\t}\n};\nvar PgIntervalDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn isoDurationJsonProjection(expression);\n\t}\n\tdataType = pgInterval.id;\n\tcodecId = PG_INTERVAL_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\tparamsSchema = pgPrecisionParams;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"Interval\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgIntervalCodec(this);\n\t}\n};\nconst pgIntervalDescriptor = new PgIntervalDescriptor();\nconst pgIntervalColumn = (params = {}) => column(pgIntervalDescriptor.factory(params), pgIntervalDescriptor.codecId, params);\nvar PgJsonCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgJsonEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgJsonDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar PgJsonDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgJson.id;\n\tcodecId = PG_JSON_CODEC_ID;\n\ttraits = [];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgJsonCodec(this);\n\t}\n};\nconst pgJsonDescriptor = new PgJsonDescriptor();\nconst pgJsonColumn = () => column(pgJsonDescriptor.factory(), pgJsonDescriptor.codecId, void 0);\nvar PgJsonbCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgJsonbEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgJsonbDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar PgJsonbDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgJsonb.id;\n\tcodecId = PG_JSONB_CODEC_ID;\n\ttraits = [\"equality\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgJsonbCodec(this);\n\t}\n};\nconst pgJsonbDescriptor = new PgJsonbDescriptor();\nconst pgJsonbColumn = () => column(pgJsonbDescriptor.factory(), pgJsonbDescriptor.codecId, void 0);\nvar PgIntCodec = class extends SqlIntCodec {\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonInteger(this.id, json, INT32_RANGE);\n\t}\n};\n/**\n* `sql/char@1` as PostgreSQL stores it: a `character` column holds its length in characters, and one with no length is `character(1)`.\n*/\nvar PgCharCodec = class extends SqlCharCodec {\n\tlength;\n\tconstructor(descriptor, length) {\n\t\tsuper(descriptor);\n\t\tthis.length = length ?? 1;\n\t}\n\tdecodeJson(json) {\n\t\tif (!fitsCharacterLength(decodeJsonString(this.id, json), this.length, true)) return refuseJsonValue(this.id, `a string of at most ${counted(this.length, \"character\")} before any trailing spaces`, json);\n\t\treturn super.decodeJson(json);\n\t}\n};\n/** `sql/varchar@1` as PostgreSQL stores it: a `character varying` column with a length holds at most that many characters. */\nvar PgVarcharCodec = class extends SqlVarcharCodec {\n\tlength;\n\tconstructor(descriptor, length) {\n\t\tsuper(descriptor);\n\t\tthis.length = length;\n\t}\n\tdecodeJson(json) {\n\t\tconst text = super.decodeJson(json);\n\t\tif (this.length !== void 0 && !fitsCharacterLength(text, this.length, false)) return refuseJsonValue(this.id, `a string of at most ${counted(this.length, \"character\")}`, json);\n\t\treturn text;\n\t}\n};\nvar PgFloatCodec = class extends SqlFloatCodec {\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n};\nvar PgCharDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn unpaddedCharJsonProjection(expression);\n\t}\n\tdataType = pgChar.id;\n\tcodecId = PG_CHAR_CODEC_ID;\n\ttraits = sqlCharDescriptor.traits;\n\tparamsSchema = pgCharacterLengthParams;\n\trenderOutputType(params) {\n\t\treturn sqlCharDescriptor.renderOutputType(params);\n\t}\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory(params) {\n\t\treturn () => new PgCharCodec(this, params?.length);\n\t}\n};\nconst pgCharDescriptor = new PgCharDescriptor();\nconst pgCharColumn = (params = {}) => column(pgCharDescriptor.factory(params), pgCharDescriptor.codecId, params);\nvar PgVarcharDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgVarchar.id;\n\tcodecId = PG_VARCHAR_CODEC_ID;\n\ttraits = sqlVarcharDescriptor.traits;\n\tparamsSchema = pgCharacterLengthParams;\n\trenderOutputType(params) {\n\t\treturn sqlVarcharDescriptor.renderOutputType(params);\n\t}\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory(params) {\n\t\treturn () => new PgVarcharCodec(this, params?.length);\n\t}\n};\nconst pgVarcharDescriptor = new PgVarcharDescriptor();\nconst pgVarcharColumn = (params = {}) => column(pgVarcharDescriptor.factory(params), pgVarcharDescriptor.codecId, params);\nvar PgIntDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgInt4.id;\n\tcodecId = PG_INT_CODEC_ID;\n\ttraits = sqlIntDescriptor.traits;\n\tparamsSchema = sqlIntDescriptor.paramsSchema;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgIntCodec(this);\n\t}\n};\nconst pgIntDescriptor = new PgIntDescriptor();\nconst pgIntColumn = () => column(pgIntDescriptor.factory(), pgIntDescriptor.codecId, void 0);\nvar PgFloatDescriptor = class extends PostgresCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgFloat8.id;\n\tcodecId = PG_FLOAT_CODEC_ID;\n\ttraits = sqlFloatDescriptor.traits;\n\tparamsSchema = sqlFloatDescriptor.paramsSchema;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgFloatCodec(this);\n\t}\n};\nconst pgFloatDescriptor = new PgFloatDescriptor();\nconst pgFloatColumn = () => column(pgFloatDescriptor.factory(), pgFloatDescriptor.codecId, void 0);\nconst codecDescriptors = definePostgresCodecs([\n\tpostgresSqlCharDescriptor,\n\tpostgresSqlVarcharDescriptor,\n\tpostgresSqlIntDescriptor,\n\tpostgresSqlFloatDescriptor,\n\tpostgresSqlTextDescriptor,\n\tpgTextDescriptor,\n\tpgEnumDescriptor,\n\tpgCharDescriptor,\n\tpgVarcharDescriptor,\n\tpgIntDescriptor,\n\tpgFloatDescriptor,\n\tpgInt4Descriptor,\n\tpgInt2Descriptor,\n\tpgInt8Descriptor,\n\tpgInt8NumberDescriptor,\n\tpgFloat4Descriptor,\n\tpgFloat8Descriptor,\n\tpgNumericDescriptor,\n\tpgUnboundedIntDescriptor,\n\tpgDateTemporalDescriptor,\n\tpgTimestampTemporalDescriptor,\n\tpgTimestamptzTemporalDescriptor,\n\tpgTimeTemporalDescriptor,\n\tpgDateStringDescriptor,\n\tpgTimestampStringDescriptor,\n\tpgTimestamptzStringDescriptor,\n\tpgTimestamptzDateDescriptor,\n\tpgTimeStringDescriptor,\n\tpgTimetzDescriptor,\n\tpgBoolDescriptor,\n\tpgBitDescriptor,\n\tpgVarbitDescriptor,\n\tpgByteaDescriptor,\n\tpgUuidDescriptor,\n\tpgInetDescriptor,\n\tpgIntervalDescriptor,\n\tpgJsonDescriptor,\n\tpgJsonbDescriptor,\n\tpgTextArrayDescriptor,\n\tpgTsqueryDescriptor\n]);\n//#endregion\nexport { pgTimestamptzDateDescriptor as A, pgUuidColumn as C, PgTimestamptzDateCodec as D, postgresQualifyColumnType as E, setFallbackTemporal as M, PgTimestamptzDateDescriptor as O, pgUnboundedIntColumn as S, pgVarcharColumn as T, pgJsonColumn as _, pgCharColumn as a, pgTextColumn as b, pgFloat8Column as c, pgInt2Column as d, pgInt4Column as f, pgIntervalColumn as g, pgIntColumn as h, pgBoolColumn as i, requireTemporal as j, pgTimestamptzDateColumn as k, pgFloatColumn as l, pgInt8NumberColumn as m, isPgEnumParams as n, pgEnumDescriptor as o, pgInt8Column as p, pgBitColumn as r, pgFloat4Column as s, codecDescriptors as t, pgInetColumn as u, pgJsonbColumn as v, pgVarbitColumn as w, pgTimetzColumn as x, pgNumericColumn as y };\n\n//# sourceMappingURL=codecs-DelwJv6h.mjs.map"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"control-policy-bwcdB78Y-DgRaWAzu.mjs","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/control-policy-bwcdB78Y.mjs"],"sourcesContent":["import { s as postgresError } from \"./errors-DYyzTYzE.mjs\";\nimport { _ as pgInt8, f as pgFloat4, g as pgInt4, h as pgInt2, p as pgFloat8 } from \"./data-types-k3Ebk3kj.mjs\";\nimport { r as isPostgresSchema } from \"./postgres-schema-AlEVkXXS.mjs\";\nimport { n as PostgresNativeEnumSchemaNode, o as postgresNodeEntityKind, r as PostgresSchemaNodeKind, t as PostgresTableSchemaNode } from \"./postgres-table-schema-node-BBkitBQh.mjs\";\nimport { C as DropNativeEnumTypeCall, D as EnableRowLevelSecurityCall, E as DropTableCall, F as columnNameOfCall, I as postgresDefaultToDdlColumnDefault, L as buildTargetDetails, N as SetDefaultCall, O as RawSqlCall, P as SetNotNullCall, S as DropIndexCall, _ as DisableRowLevelSecurityCall, a as AddNotNullColumnDirectCall, b as DropConstraintCall, c as AddUniqueCall, d as CreateIndexCall, f as CreateNativeEnumTypeCall, g as DataTransformCall, h as CreateTableCall, i as AddNativeEnumValueCall, l as AlterColumnTypeCall, m as CreateSchemaCall, n as AddColumnCall, o as AddNotNullColumnWithTempDefaultCall, r as AddForeignKeyCall, s as AddPrimaryKeyCall, t as AddCheckConstraintCall, v as DropCheckConstraintCall, w as DropNotNullCall, x as DropDefaultCall, y as DropColumnCall } from \"./op-factory-call-DdXVWQlV.mjs\";\nimport { t as buildColumnTypeSql } from \"./planner-ddl-builders-DRProi99.mjs\";\nimport { t as buildExpectedFormatType } from \"./planner-sql-checks-rqOH8naU.mjs\";\nimport { n as resolveIdentityValue } from \"./planner-identity-values-C1eV916m.mjs\";\nimport { n as defaultPrimaryKeyName, r as defaultUniqueName, t as defaultForeignKeyName } from \"./default-constraint-names-CtcRXhV8.mjs\";\nimport { i as hasUniqueConstraint, n as hasForeignKey, t as buildSchemaLookupMap } from \"./planner-schema-lookup-kMIVP2y-.mjs\";\nimport { sqlDataTypeOfCodec } from \"@internal/sql-contract/data-type\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { issueOutcome, orderIssuesByDependencies } from \"@internal/framework-components/control\";\nimport { UNBOUND_NAMESPACE_ID, entityAt } from \"@internal/framework-components/ir\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport * as contractFree from \"@internal/sql-relational-core/contract-free\";\nimport { RelationalSchemaNodeKind, SqlSchemaIR, contractDefaultRefusal, defaultInCanonicalForm } from \"@internal/sql-schema-ir/types\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { InternalError } from \"@internal/utils/internal-error\";\n//#region src/core/schema-ir/node-storage-coordinate.ts\n/**\n* The storage-`entries` coordinate `(entityKind, entityName)` a Postgres diff\n* node addresses — a table by its name, a native enum by its physical type\n* name. `undefined` for a node that is not a whole storage entity (a namespace,\n* a column, a policy). Lets ownership/subject resolution treat every entity kind\n* uniformly, the node self-describing its storage identity.\n*/\nfunction postgresNodeStorageCoordinate(node) {\n\tif (PostgresTableSchemaNode.is(node)) {\n\t\tconst entityKind = postgresNodeEntityKind(node.nodeKind);\n\t\treturn entityKind === void 0 ? void 0 : {\n\t\t\tentityKind,\n\t\t\tentityName: node.name\n\t\t};\n\t}\n\tif (PostgresNativeEnumSchemaNode.is(node)) {\n\t\tconst entityKind = postgresNodeEntityKind(node.nodeKind);\n\t\treturn entityKind === void 0 ? void 0 : {\n\t\t\tentityKind,\n\t\t\tentityName: node.typeName\n\t\t};\n\t}\n}\n//#endregion\n//#region src/core/migrations/column-ddl-rendering.ts\nconst AUTOINCREMENT = \"autoincrement()\";\n/**\n* Reconstructs the `StorageColumn`-shaped fields the DDL builder functions\n* (`buildColumnTypeSql`, `buildExpectedFormatType`, `resolveIdentityValue`)\n* expect, from a column node's own stamped codec identity (`codecRef` /\n* `codecBaseNativeType`, Decision 5) — never the contract. The node's fields\n* are already resolved past any `typeRef` indirection, so the builders get\n* no `storageTypes` catalog.\n*/\nfunction columnLike(column) {\n\treturn {\n\t\t...columnTypeLike(`column \"${column.name}\"`, column),\n\t\tnullable: column.nullable,\n\t\t...ifDefined(\"default\", column.authoredDefault ?? column.resolvedDefault)\n\t};\n}\nfunction columnTypeLike(owner, identity) {\n\tif (identity.codecRef === void 0 || identity.codecBaseNativeType === void 0) throw new InternalError(`columnTypeLike: expected ${owner} carries no codec identity — the expected tree must be derived via contractToSchemaIR for planning`);\n\treturn {\n\t\tcodecId: identity.codecRef.codecId,\n\t\tmany: identity.many ?? identity.codecRef.many ? { elementNullable: false } : false,\n\t\t...ifDefined(\"typeParams\", identity.codecRef.typeParams !== void 0 ? blindCast(identity.codecRef.typeParams) : void 0)\n\t};\n}\n/**\n* A literal default in the canonical form of the column's values, which DDL writes (ADR 254). A\n* default the form refuses, which a contract emitted by an earlier version can hold, is refused\n* here rather than written, since the database would never hold the text the contract states.\n*/\nfunction inCanonicalForm(columnName, columnDefault, toCanonicalForm, many) {\n\tif (columnDefault?.kind !== \"literal\") return columnDefault;\n\tconst refusal = contractDefaultRefusal(columnDefault, toCanonicalForm, many);\n\tif (refusal !== void 0) throw postgresError(\"CONTRACT.DEFAULT_INVALID\", `Column \"${columnName}\": ${refusal}`, { meta: {\n\t\treason: \"default-not-canonical\",\n\t\tcolumn: columnName\n\t} });\n\treturn {\n\t\tkind: \"literal\",\n\t\tvalue: defaultInCanonicalForm(columnDefault.value, toCanonicalForm, many).value\n\t};\n}\n/**\n* Builds the `CREATE TABLE` / `ADD COLUMN` DDL column for an expected column\n* node, writing its type from the data type the node's codec represents.\n*/\nfunction renderColumnDdl(name, column, types) {\n\tconst like = columnLike(column);\n\tconst typeSql = buildColumnTypeSql(like, types);\n\tconst ddlDefault = postgresDefaultToDdlColumnDefault(inCanonicalForm(name, like.default, column.toCanonicalForm, like.many !== false));\n\treturn contractFree.col(name, typeSql, {\n\t\t...!column.nullable ? { notNull: true } : {},\n\t\t...ifDefined(\"default\", ddlDefault),\n\t\t...ifDefined(\"codecRef\", column.codecRef)\n\t});\n}\n/**\n* Builds the `ALTER COLUMN … TYPE` operands for an expected column node.\n*/\nfunction renderColumnAlterType(column, types) {\n\tconst like = columnLike(column);\n\treturn {\n\t\tqualifiedTargetType: buildColumnTypeSql(like, types, {}, false),\n\t\tformatTypeExpected: buildExpectedFormatType(like, types)\n\t};\n}\n/**\n* Resolves the identity value (monoid neutral element) SQL literal used as\n* the temporary default when adding a NOT-NULL column with no contract\n* default (`notNullAddColumnCallStrategy`'s shared-temp-default backfill).\n* `null` when the column's type has no built-in/codec-provided identity\n* value.\n*/\nfunction resolveColumnTemporaryDefault(column, codecHooks, types) {\n\treturn resolveIdentityValue(columnLike(column), codecHooks, types);\n}\n/**\n* The column whose `SET DEFAULT` a column-default diff node asks for, carrying its authored default, or its resolved one when nothing was authored, and its type and codec, from which the adapter writes the clause. An `autoincrement()` default is carried as itself, for `setDefault` to attach a sequence, or to refuse when the column is not a smallint, integer or bigint. `undefined` when the node carries no default, or one DDL does not write.\n*/\nfunction buildSetDefaultColumn(columnName, defaultNode, types) {\n\tconst authored = defaultNode.authored ?? defaultNode.resolved;\n\tif (authored === void 0) return void 0;\n\tconst typeLike = columnTypeLike(\"column default\", defaultNode);\n\tif (authored.kind === \"function\" && authored.expression === AUTOINCREMENT) return contractFree.col(columnName, buildColumnTypeSql(typeLike, types, {}, false), {\n\t\tdefault: contractFree.fn(AUTOINCREMENT),\n\t\t...ifDefined(\"codecRef\", defaultNode.codecRef)\n\t});\n\tconst ddlDefault = postgresDefaultToDdlColumnDefault(inCanonicalForm(columnName, authored, defaultNode.toCanonicalForm, typeLike.many !== false));\n\tif (ddlDefault === void 0) return void 0;\n\treturn contractFree.col(columnName, buildColumnTypeSql(typeLike, types, {}, false), {\n\t\tdefault: ddlDefault,\n\t\t...ifDefined(\"codecRef\", defaultNode.codecRef)\n\t});\n}\n//#endregion\n//#region src/core/migrations/planner-strategies.ts\n/**\n* Look up a storage table by its explicit namespace coordinate. Returns\n* `undefined` when the namespace has no table by that name (or no such\n* namespace exists). Callers that get `undefined` MUST treat it as an\n* explicit conflict — never silently fall back to a global default\n* schema or a name-only walk, because that footgun would resolve a\n* stale or duplicate table name to whichever namespace the iteration\n* order surfaced first (a real data-loss hazard in multi-namespace\n* contracts where two namespaces can carry the same table name).\n*/\nfunction tableAt(storage, namespaceId, tableName) {\n\tconst ns = storage.namespaces[namespaceId];\n\tif (ns === void 0) return void 0;\n\treturn ns.entries.table?.[tableName];\n}\n/**\n* Recovers the contract namespace id for a DDL schema name embedded in a\n* diff-issue path (`path[1]`). The strategies need the CONTRACT column/table\n* (for codec-hook reads and eligibility probes the retained subsystems still\n* run) even though the issue itself only carries the resolved DDL schema —\n* this is the reverse of `resolveDdlSchemaForNamespace`.\n*/\nfunction namespaceIdForDdlSchema(ctx, ddlSchemaName) {\n\treturn resolveNamespaceIdForDdlSchema(ctx.toContract, ddlSchemaName);\n}\n/** A `not-equal` column issue whose node pair is narrowed to `SqlColumnIR`. */\nfunction columnNodePair(issue) {\n\tconst node = issueNode(issue);\n\tif (node === void 0 || node.nodeKind !== RelationalSchemaNodeKind.column) return void 0;\n\tif (issue.expected === void 0 || issue.actual === void 0) return void 0;\n\treturn {\n\t\texpected: blindCast(issue.expected),\n\t\tactual: blindCast(issue.actual)\n\t};\n}\nconst notNullBackfillCallStrategy = (issues, ctx) => {\n\tif (!ctx.policy.allowedOperationClasses.includes(\"data\")) return { kind: \"no_match\" };\n\tconst matched = [];\n\tconst calls = [];\n\tfor (const issue of issues) {\n\t\tif (issueOutcome(issue) !== \"not-found\") continue;\n\t\tconst node = issueNode(issue);\n\t\tif (node === void 0 || node.nodeKind !== RelationalSchemaNodeKind.column) continue;\n\t\tconst expected = blindCast(issue.expected);\n\t\tif (expected.nullable !== false || expected.resolvedDefault !== void 0) continue;\n\t\tconst ddlSchemaName = issueSchemaName(issue);\n\t\tconst tableName = issueTableName(issue);\n\t\tif (ddlSchemaName === void 0 || tableName === void 0) continue;\n\t\tconst schemaName = emissionSchemaName(ctx, ddlSchemaName);\n\t\tmatched.push(issue);\n\t\tconst ddl = renderColumnDdl(expected.name, expected, ctx.types);\n\t\tconst nullableSpec = contractFree.col(ddl.name, ddl.type, { ...ddl.codecRef !== void 0 ? { codecRef: ddl.codecRef } : {} });\n\t\tcalls.push(new AddColumnCall(schemaName, tableName, nullableSpec), new DataTransformCall(`backfill-${tableName}-${expected.name}`, `backfill-${tableName}-${expected.name}:check`, `backfill-${tableName}-${expected.name}:run`), new SetNotNullCall(schemaName, tableName, expected.name));\n\t}\n\tif (matched.length === 0) return { kind: \"no_match\" };\n\treturn {\n\t\tkind: \"match\",\n\t\tissues: issues.filter((i) => !matched.includes(i)),\n\t\tcalls,\n\t\trecipe: true\n\t};\n};\nconst SAFE_WIDENINGS = /* @__PURE__ */ new Set([\n\t`${pgInt2.id}→${pgInt4.id}`,\n\t`${pgInt2.id}→${pgInt8.id}`,\n\t`${pgInt4.id}→${pgInt8.id}`,\n\t`${pgFloat4.id}→${pgFloat8.id}`\n]);\n/** The id of the data type a column node's codec represents. */\nfunction columnDataType(column, types) {\n\tif (column.codecRef === void 0) throw new InternalError(`Column \"${column.name}\" carries no codec, so its data type is unknown; a type change is planned only between columns built from contracts.`);\n\treturn sqlDataTypeOfCodec(column.codecRef.codecId, types).id;\n}\n/**\n* Handles `not-equal` column issues whose TYPE differs. `fromContract` is\n* only supplied by `migration plan` — for reconciliation (`db update` /\n* `db init`, `fromContract === null`) this strategy never fires, mirroring\n* the legacy `typeChangeCallStrategy`'s requirement of a prior contract:\n* `mapNodeIssueToCall`'s in-place ALTER covers reconciliation directly.\n*\n* A single node issue can carry BOTH type and nullability drift (Postgres\n* alters in place, so the differ emits one `not-equal` column issue where\n* the legacy coordinate walk emitted two: `type_mismatch` +\n* `nullability_mismatch`). When this strategy consumes the issue for its\n* type portion, it also emits whatever nullability delta the same node pair\n* carries — using the same construction `nullableTighteningCallStrategy` /\n* the mapper's direct dispatch would have used — so the issue is never\n* partially handled.\n*/\nconst typeChangeCallStrategy = (issues, ctx) => {\n\tif (ctx.fromContract === null) return { kind: \"no_match\" };\n\tconst dataAllowed = ctx.policy.allowedOperationClasses.includes(\"data\");\n\tconst matched = [];\n\tconst calls = [];\n\tfor (const issue of issues) {\n\t\tif (issueOutcome(issue) !== \"not-equal\") continue;\n\t\tconst pair = columnNodePair(issue);\n\t\tif (pair === void 0) continue;\n\t\tconst { expected, actual } = pair;\n\t\tif (!columnTypeChangedNativeOnly(expected, actual)) continue;\n\t\tconst fromType = columnDataType(actual, ctx.types);\n\t\tconst toType = columnDataType(expected, ctx.types);\n\t\tconst isSafeWidening = SAFE_WIDENINGS.has(`${fromType}→${toType}`);\n\t\tif (!isSafeWidening && !dataAllowed) continue;\n\t\tconst ddlSchemaName = issueSchemaName(issue);\n\t\tconst tableName = issueTableName(issue);\n\t\tif (ddlSchemaName === void 0 || tableName === void 0) continue;\n\t\tconst schemaName = emissionSchemaName(ctx, ddlSchemaName);\n\t\tmatched.push(issue);\n\t\tconst { qualifiedTargetType, formatTypeExpected } = renderColumnAlterType(expected, ctx.types);\n\t\tconst alterOpts = {\n\t\t\tqualifiedTargetType,\n\t\t\tformatTypeExpected,\n\t\t\trawTargetTypeForLabel: qualifiedTargetType\n\t\t};\n\t\tif (isSafeWidening) calls.push(new AlterColumnTypeCall(schemaName, tableName, expected.name, alterOpts));\n\t\telse calls.push(new DataTransformCall(`typechange-${tableName}-${expected.name}`, `typechange-${tableName}-${expected.name}:check`, `typechange-${tableName}-${expected.name}:run`), new AlterColumnTypeCall(schemaName, tableName, expected.name, alterOpts));\n\t\tif (expected.nullable !== actual.nullable) if (expected.nullable) calls.push(new DropNotNullCall(schemaName, tableName, expected.name));\n\t\telse if (dataAllowed) calls.push(new DataTransformCall(`handle-nulls-${tableName}-${expected.name}`, `handle-nulls-${tableName}-${expected.name}:check`, `handle-nulls-${tableName}-${expected.name}:run`), new SetNotNullCall(schemaName, tableName, expected.name));\n\t\telse calls.push(new SetNotNullCall(schemaName, tableName, expected.name));\n\t}\n\tif (matched.length === 0) return { kind: \"no_match\" };\n\treturn {\n\t\tkind: \"match\",\n\t\tissues: issues.filter((i) => !matched.includes(i)),\n\t\tcalls,\n\t\trecipe: true\n\t};\n};\n/**\n* Whether the raw (unresolved) native type differs — the SAME comparison\n* `typeChangeCallStrategy` always used (`fromColumn.nativeType !==\n* toColumn.nativeType`), which for the widenable numeric/float types\n* `SAFE_WIDENINGS` lists is identical to the resolved comparison\n* `columnTypeChanged` (in `issue-planner.ts`) performs.\n*/\nfunction columnTypeChangedNativeOnly(expected, actual) {\n\treturn expected.nativeType !== actual.nativeType;\n}\n/**\n* Handles `not-equal` column issues whose type did NOT change but\n* nullability tightened (contract requires NOT NULL, live column is\n* nullable). A type-changed issue's nullability delta (if any) is already\n* handled by `typeChangeCallStrategy`, which runs first — this strategy\n* only ever sees issues that strategy left behind.\n*/\nconst nullableTighteningCallStrategy = (issues, ctx) => {\n\tif (!ctx.policy.allowedOperationClasses.includes(\"data\")) return { kind: \"no_match\" };\n\tconst matched = [];\n\tconst calls = [];\n\tfor (const issue of issues) {\n\t\tif (issueOutcome(issue) !== \"not-equal\") continue;\n\t\tconst pair = columnNodePair(issue);\n\t\tif (pair === void 0) continue;\n\t\tconst { expected, actual } = pair;\n\t\tif (columnTypeChangedNativeOnly(expected, actual)) continue;\n\t\tif (expected.nullable !== false || actual.nullable !== true) continue;\n\t\tconst ddlSchemaName = issueSchemaName(issue);\n\t\tconst tableName = issueTableName(issue);\n\t\tif (ddlSchemaName === void 0 || tableName === void 0) continue;\n\t\tconst schemaName = emissionSchemaName(ctx, ddlSchemaName);\n\t\tmatched.push(issue);\n\t\tcalls.push(new DataTransformCall(`handle-nulls-${tableName}-${expected.name}`, `handle-nulls-${tableName}-${expected.name}:check`, `handle-nulls-${tableName}-${expected.name}:run`), new SetNotNullCall(schemaName, tableName, expected.name));\n\t}\n\tif (matched.length === 0) return { kind: \"no_match\" };\n\treturn {\n\t\tkind: \"match\",\n\t\tissues: issues.filter((i) => !matched.includes(i)),\n\t\tcalls,\n\t\trecipe: true\n\t};\n};\n/**\n* Dispatches codec-typed storage types through their codec's\n* `planTypeOperations` hook (the authoritative source for codec-driven DDL\n* such as custom type creation). Codec extension/type ops are not modeled as\n* diff nodes — this strategy drives entirely off `ctx.toContract.storage.types`\n* + codec hooks, consuming nothing from the node issue list (there is no\n* node-vocabulary equivalent of `type_missing` / `enum_values_changed`).\n*/\nconst storageTypePlanCallStrategy = (issues, ctx) => {\n\tconst storageTypes = ctx.toContract.storage.types ?? {};\n\tif (Object.keys(storageTypes).length === 0) return { kind: \"no_match\" };\n\tconst calls = [];\n\tfor (const [typeName, typeInstance] of Object.entries(storageTypes).sort(([a], [b]) => a.localeCompare(b))) {\n\t\tconst codecInstance = blindCast(typeInstance);\n\t\tconst hook = ctx.codecHooks.get(codecInstance.codecId);\n\t\tif (!hook?.planTypeOperations) continue;\n\t\tconst planResult = hook.planTypeOperations({\n\t\t\ttypeName,\n\t\t\ttypeInstance: codecInstance,\n\t\t\tcontract: ctx.toContract,\n\t\t\tschema: ctx.schema,\n\t\t\tschemaName: ctx.schemaName,\n\t\t\tpolicy: ctx.policy\n\t\t});\n\t\tif (!planResult) continue;\n\t\tfor (const op of planResult.operations) calls.push(new RawSqlCall(blindCast({\n\t\t\t...op,\n\t\t\ttarget: {\n\t\t\t\tid: op.target.id,\n\t\t\t\tdetails: buildTargetDetails(\"type\", typeName, ctx.schemaName)\n\t\t\t}\n\t\t})));\n\t}\n\tif (calls.length === 0) return { kind: \"no_match\" };\n\treturn {\n\t\tkind: \"match\",\n\t\tissues,\n\t\tcalls\n\t};\n};\n/**\n* Handles `not-found` column issues for NOT NULL columns without a contract\n* default. Replaces the legacy `buildAddColumnItem` non-default branches.\n*\n* Two shapes:\n* - Shared-temp-default safe: emit a single atomic composite op (add\n* nullable → backfill identity value → `SET NOT NULL` → `DROP DEFAULT`).\n* The temp-default value is resolved from the column node's `codecRef`\n* (`resolveColumnTemporaryDefault`, wrapping `resolveIdentityValue`).\n* - Empty-table guarded: emit a hand-built op with a `tableIsEmptyCheck`\n* precheck so the failure message is \"table is not empty\" rather than the\n* raw PG NOT NULL violation.\n*\n* \"Normal\" not-found column cases (nullable or has a contract default) are\n* left for `mapNodeIssueToCall`'s default `AddColumnCall` emission.\n*/\nconst notNullAddColumnCallStrategy = (issues, ctx) => {\n\tconst matched = [];\n\tconst calls = [];\n\tconst schemaLookups = buildSchemaLookupMap(ctx.schema);\n\tconst mutableStorageTypes = blindCast(ctx.storageTypes);\n\tfor (const issue of issues) {\n\t\tif (issueOutcome(issue) !== \"not-found\") continue;\n\t\tconst node = issueNode(issue);\n\t\tif (node === void 0 || node.nodeKind !== RelationalSchemaNodeKind.column) continue;\n\t\tconst expected = blindCast(issue.expected);\n\t\tif (expected.nullable !== false || expected.resolvedDefault !== void 0) continue;\n\t\tconst ddlSchemaName = issueSchemaName(issue);\n\t\tconst tableName = issueTableName(issue);\n\t\tif (ddlSchemaName === void 0 || tableName === void 0) continue;\n\t\tconst namespaceId = namespaceIdForDdlSchema(ctx, ddlSchemaName);\n\t\tconst schemaName = namespaceId === UNBOUND_NAMESPACE_ID ? UNBOUND_NAMESPACE_ID : ddlSchemaName;\n\t\tconst contractTable = tableAt(ctx.toContract.storage, namespaceId, tableName);\n\t\tconst column = contractTable?.columns[expected.name];\n\t\tif (!contractTable || !column) continue;\n\t\tconst schemaTable = ctx.schema.tables[tableName];\n\t\tif (!schemaTable) continue;\n\t\tconst temporaryDefault = resolveColumnTemporaryDefault(expected, ctx.codecHooks, ctx.types);\n\t\tconst schemaLookup = schemaLookups.get(tableName);\n\t\tconst canUseSharedTempDefault = temporaryDefault !== null && canUseSharedTemporaryDefaultStrategy({\n\t\t\ttable: contractTable,\n\t\t\tschemaTable,\n\t\t\tschemaLookup,\n\t\t\tcolumnName: expected.name\n\t\t});\n\t\tmatched.push(issue);\n\t\tif (canUseSharedTempDefault && temporaryDefault !== null) {\n\t\t\tcalls.push(new AddNotNullColumnWithTempDefaultCall({\n\t\t\t\tschemaName,\n\t\t\t\ttableName,\n\t\t\t\tcolumnName: expected.name,\n\t\t\t\tcolumn,\n\t\t\t\ttypes: ctx.types,\n\t\t\t\tstorageTypes: mutableStorageTypes,\n\t\t\t\ttemporaryDefault\n\t\t\t}));\n\t\t\tcontinue;\n\t\t}\n\t\tcalls.push(new AddNotNullColumnDirectCall(schemaName, tableName, expected.name, renderColumnDdl(expected.name, expected, ctx.types)));\n\t}\n\tif (matched.length === 0) return { kind: \"no_match\" };\n\treturn {\n\t\tkind: \"match\",\n\t\tissues: issues.filter((i) => !matched.includes(i)),\n\t\tcalls\n\t};\n};\nfunction canUseSharedTemporaryDefaultStrategy(options) {\n\tconst { table, schemaTable, schemaLookup, columnName } = options;\n\tif (table.primaryKey?.columns.includes(columnName) && !schemaTable.primaryKey) return false;\n\tfor (const unique of table.uniques) {\n\t\tif (!unique.columns.includes(columnName)) continue;\n\t\tif (!schemaLookup || !hasUniqueConstraint(schemaLookup, unique.columns)) return false;\n\t}\n\tfor (const foreignKey of table.foreignKeys) {\n\t\tif (!foreignKey.source.columns.includes(columnName)) continue;\n\t\tif (!schemaLookup || !hasForeignKey(schemaLookup, foreignKey)) return false;\n\t}\n\treturn true;\n}\n/**\n* Ordered list of Postgres planner strategies, shared by `migration plan`\n* and `db update` / `db init`. The issue planner runs each strategy in\n* order, letting it consume any issues it handles, and routes whatever's\n* left through `mapNodeIssueToCall`. Behavior diverges purely on\n* `policy.allowedOperationClasses`:\n*\n* - When `'data'` is allowed (`migration plan`), the data-safe strategies\n* (`notNullBackfillCallStrategy`, `typeChangeCallStrategy`,\n* `nullableTighteningCallStrategy`) consume their matching issues and emit\n* `DataTransformCall` placeholders or recipe ops.\n*\n* - When `'data'` is not allowed (`db update` / `db init`), the\n* placeholder-emitting strategies short-circuit to `no_match`, leaving\n* the issue for the downstream strategies (`storageTypePlanCallStrategy`,\n* `notNullAddColumnCallStrategy`) or the `mapNodeIssueToCall` default to\n* handle with direct DDL.\n*\n* Codec-typed storage type entries are dispatched through\n* `storageTypePlanCallStrategy`.\n*/\nconst postgresPlannerStrategies = [\n\tnotNullBackfillCallStrategy,\n\ttypeChangeCallStrategy,\n\tnullableTighteningCallStrategy,\n\tstorageTypePlanCallStrategy,\n\tnotNullAddColumnCallStrategy\n];\n//#endregion\n//#region src/core/migrations/issue-planner.ts\nfunction issueConflict(kind, summary, location) {\n\treturn {\n\t\tkind,\n\t\tsummary,\n\t\twhy: \"Use `migration new` to author a custom migration for this change.\",\n\t\t...location ? { location } : {}\n\t};\n}\n/**\n* Classifies calls into DDL sequencing buckets. The order matches the\n* legacy walk-schema planner's emission order so `db init` and `db update`\n* produce byte-identical plans for the shared shape (deps → drops → tables\n* → columns → alters → PKs → uniques → indexes → FKs).\n*\n* `dropType` (DROP TYPE for a managed native enum) is its own bucket, ordered\n* after the general drop bucket: a type can only be dropped once every table\n* whose column uses it is gone. A column→enum edge would make this precise,\n* but `coalesceSubtreeIssues` removes the column issue under a whole-table\n* drop, so the edge never reaches the graph; the coarse bucket stands in until\n* that edge lands (the coordinate work is a later slice).\n*/\nfunction classifyCall(call) {\n\tswitch (call.factoryName) {\n\t\tcase \"createExtension\":\n\t\tcase \"createSchema\":\n\t\tcase \"createNativeEnumType\":\n\t\tcase \"addNativeEnumValue\": return \"dep\";\n\t\tcase \"dropNativeEnumType\": return \"dropType\";\n\t\tcase \"dropTable\":\n\t\tcase \"dropColumn\":\n\t\tcase \"dropConstraint\":\n\t\tcase \"dropCheckConstraint\":\n\t\tcase \"dropIndex\":\n\t\tcase \"dropDefault\": return \"drop\";\n\t\tcase \"addCheckConstraint\":\n\t\tcase \"renameConstraint\": return \"unique\";\n\t\tcase \"createTable\":\n\t\tcase \"renameTable\": return \"table\";\n\t\tcase \"enableRowLevelSecurity\":\n\t\tcase \"disableRowLevelSecurity\": return \"rlsEnable\";\n\t\tcase \"createRlsPolicy\": return \"rlsPolicy\";\n\t\tcase \"dropRlsPolicy\": return \"drop\";\n\t\tcase \"addColumn\": return \"column\";\n\t\tcase \"alterColumnType\":\n\t\tcase \"setNotNull\":\n\t\tcase \"dropNotNull\":\n\t\tcase \"setDefault\": return \"alter\";\n\t\tcase \"addPrimaryKey\": return \"primaryKey\";\n\t\tcase \"addUnique\": return \"unique\";\n\t\tcase \"createIndex\":\n\t\tcase \"renameIndex\": return \"index\";\n\t\tcase \"addForeignKey\": return \"foreignKey\";\n\t\tcase \"rawSql\":\n\t\t\tif (blindCast(call).op?.target?.details?.objectType === \"type\") return \"dep\";\n\t\t\treturn \"alter\";\n\t\tdefault: return \"alter\";\n\t}\n}\nconst DEFAULT_POLICY = { allowedOperationClasses: [\n\t\"additive\",\n\t\"widening\",\n\t\"destructive\",\n\t\"data\"\n] };\nfunction emptySchemaIR() {\n\treturn new SqlSchemaIR({ tables: {} });\n}\nfunction conflictKindForCall(call) {\n\tswitch (call.factoryName) {\n\t\tcase \"alterColumnType\": return \"typeMismatch\";\n\t\tcase \"setNotNull\":\n\t\tcase \"dropNotNull\": return \"nullabilityConflict\";\n\t\tcase \"addForeignKey\":\n\t\tcase \"dropConstraint\": return \"foreignKeyConflict\";\n\t\tcase \"createIndex\":\n\t\tcase \"renameIndex\":\n\t\tcase \"dropIndex\": return \"indexIncompatible\";\n\t\tcase \"createRlsPolicy\":\n\t\tcase \"dropRlsPolicy\":\n\t\tcase \"renameRlsPolicy\": return \"rlsPolicyIncompatible\";\n\t\tdefault: return \"missingButNonAdditive\";\n\t}\n}\nfunction locationForCall(call) {\n\tconst anyCall = blindCast(call);\n\tconst location = {};\n\tif (anyCall.tableName) {\n\t\tlocation.entityKind = \"table\";\n\t\tlocation.entityName = anyCall.tableName;\n\t} else if (anyCall.typeName) {\n\t\tlocation.entityKind = \"native_enum\";\n\t\tlocation.entityName = anyCall.typeName;\n\t}\n\tconst columnName = columnNameOfCall(call);\n\tif (columnName) location.column = columnName;\n\tif (anyCall.indexName) location.index = anyCall.indexName;\n\telse if (anyCall.newIndexName) location.index = anyCall.newIndexName;\n\tif (anyCall.constraintName) location.constraint = anyCall.constraintName;\n\telse if (anyCall.newConstraintName) location.constraint = anyCall.newConstraintName;\n\tif (anyCall.policyName) location.rlsPolicy = anyCall.policyName;\n\telse if (anyCall.policy?.name) location.rlsPolicy = anyCall.policy.name;\n\telse if (anyCall.newPolicyName) location.rlsPolicy = anyCall.newPolicyName;\n\treturn Object.keys(location).length > 0 ? blindCast(location) : void 0;\n}\nfunction conflictForDisallowedCall(call, allowed) {\n\tconst summary = `Operation \"${call.label}\" requires class \"${call.operationClass}\", but policy allows only: ${allowed.join(\", \")}`;\n\tconst location = locationForCall(call);\n\treturn {\n\t\tkind: conflictKindForCall(call),\n\t\tsummary,\n\t\twhy: \"Use `migration new` to author a custom migration for this change.\",\n\t\trefusedOperationClass: call.operationClass,\n\t\t...location ? { location } : {}\n\t};\n}\n/** The diff node an issue concerns — expected when present, else the actual (extra) node. */\nfunction issueNode(issue) {\n\tconst node = issue.expected ?? issue.actual;\n\tif (node === void 0) return void 0;\n\treturn blindCast(node);\n}\n/** DDL schema segment of a table-or-descendant issue path: `[database, ddlSchema, table, …]`. */\nfunction issueSchemaName(issue) {\n\treturn issue.path[1];\n}\n/** Table segment of a table-or-descendant issue path: `[database, ddlSchema, table, …]`. */\nfunction issueTableName(issue) {\n\treturn issue.path[2];\n}\n/** Column name embedded in a column/default issue path segment (`column:<name>`). */\nfunction issueColumnName(issue) {\n\tconst segment = issue.path[3];\n\tif (segment === void 0 || !segment.startsWith(\"column:\")) return void 0;\n\treturn segment.slice(7);\n}\n/**\n* The DDL schema name to use when EMITTING an op against `ddlSchemaName` (the\n* diff tree's resolved physical schema, `issueSchemaName(issue)`). The\n* unbound namespace's diff-tree identity resolves to `public` (a concrete\n* physical default the differ needs in order to compare its tree against\n* introspection — `resolveDdlSchemaForNamespaceStorage`), but DDL EMISSION\n* must stay unqualified so the live connection's `search_path` resolves it\n* at runtime (`boundSchema`). Recovers the logical namespace id via the\n* contract and substitutes the unbound sentinel back in when it resolves\n* there; every other namespace's `ddlSchemaName` already agrees between the\n* two resolution paths, so it passes through unchanged.\n*/\nfunction emissionSchemaName(ctx, ddlSchemaName) {\n\treturn resolveNamespaceIdForDdlSchema(ctx.toContract, ddlSchemaName) === UNBOUND_NAMESPACE_ID ? UNBOUND_NAMESPACE_ID : ddlSchemaName;\n}\n/** Whether the expected/actual native type (resolved, or raw+many fallback) differs — mirrors `SqlColumnIR.isEqualTo`'s type comparison. */\nfunction columnTypeChanged(expected, actual) {\n\tif (expected.resolvedNativeType !== void 0 && actual.resolvedNativeType !== void 0) return expected.resolvedNativeType !== actual.resolvedNativeType;\n\treturn expected.nativeType !== actual.nativeType || Boolean(expected.many) !== Boolean(actual.many);\n}\n/**\n* The generic differ is total: a missing/extra table (or column) emits an\n* issue for itself AND for every node in its subtree. `CreateTable`/`DropTable`\n* and `AddColumn`/`DropColumn` already account for the whole subtree, so the\n* nested issues are redundant — coalescing drops any issue whose path is a\n* strict descendant of a `not-found`/`not-expected` issue's path. Run over the\n* relational subset ONLY (policy issues and synthesized namespace issues are\n* handled on their own paths, never coalesced against tables).\n*/\nfunction coalesceSubtreeIssues(issues) {\n\tconst collapsingPaths = issues.filter((issue) => issueOutcome(issue) !== \"not-equal\").map((issue) => issue.path);\n\tif (collapsingPaths.length === 0) return issues;\n\treturn issues.filter((issue) => !collapsingPaths.some((ancestor) => isStrictDescendantPath(issue.path, ancestor)));\n}\nfunction isStrictDescendantPath(path, ancestor) {\n\tif (path.length <= ancestor.length) return false;\n\tfor (let i = 0; i < ancestor.length; i += 1) if (path[i] !== ancestor[i]) return false;\n\treturn true;\n}\nfunction fkSpecFromNode(fk, tableName) {\n\treturn {\n\t\tname: fk.name ?? defaultForeignKeyName(tableName, fk.columns),\n\t\tcolumns: [...fk.columns],\n\t\treferences: {\n\t\t\tschema: fk.referencedSchema ?? \"\",\n\t\t\ttable: fk.referencedTable,\n\t\t\tcolumns: [...fk.referencedColumns]\n\t\t},\n\t\t...ifDefined(\"onDelete\", fk.onDelete),\n\t\t...ifDefined(\"onUpdate\", fk.onUpdate)\n\t};\n}\n/**\n* Builds the `CreateTable` + child `CreateIndex` / `AddForeignKey` / `AddUnique`\n* calls for a newly-expected table, reading only the table node's children. The\n* PK and every declared CHECK go inline as table constraints; indexes\n* (declared + FK-backing, already merged and ordered at derivation) and the\n* FK / unique constraints are separate calls (re-bucketed downstream). Every\n* column's DDL is resolved from its `codecRef` via `renderColumnDdl`.\n*/\nfunction buildCreateTableCallsFromNode(schemaName, ddlSchemaName, table, types) {\n\tconst ddlColumns = Object.values(table.columns).map((c) => renderColumnDdl(c.name, c, types));\n\tconst primaryKeyConstraints = table.primaryKey ? [contractFree.primaryKey([...table.primaryKey.columns], { ...ifDefined(\"name\", table.primaryKey.name) })] : [];\n\tconst declaredChecks = (table.checks ?? []).map((c) => contractFree.checkExpression(c.name, c.expression));\n\tconst allTableConstraints = [...primaryKeyConstraints, ...declaredChecks];\n\tconst calls = [new CreateTableCall(schemaName, table.name, ddlColumns, allTableConstraints.length > 0 ? allTableConstraints : void 0)];\n\tfor (const index of table.indexes) calls.push(createIndexCallFromNode(index, schemaName, table.name));\n\tfor (const fk of table.foreignKeys) calls.push(new AddForeignKeyCall(schemaName, table.name, fkSpecFromNode(fk, table.name)));\n\tfor (const unique of table.uniques) {\n\t\tconst constraintName = unique.name ?? defaultUniqueName(table.name, unique.columns);\n\t\tcalls.push(new AddUniqueCall(schemaName, table.name, constraintName, [...unique.columns]));\n\t}\n\tif (table.rlsEnabled) calls.push(new EnableRowLevelSecurityCall(ddlSchemaName, table.name));\n\treturn calls;\n}\nfunction nodeConflict(kind, message) {\n\treturn issueConflict(kind, message);\n}\n/**\n* True when `actualMembers` (the live database's ordered members) is a\n* strict, order-preserving prefix of `expectedMembers` (the contract's) —\n* the database already carries every contract member, in declaration\n* order, and the contract declares at least one member the database still\n* lacks. Any other relationship — a renamed value, a removed value, a\n* reordering, or the database holding members the contract lacks — is not\n* a suffix append.\n*/\nfunction isNativeEnumSuffixAppend(actualMembers, expectedMembers) {\n\tif (actualMembers.length >= expectedMembers.length) return false;\n\treturn actualMembers.every((member, index) => member === expectedMembers[index]);\n}\n/** Operator-worded refusal for a native-enum member change beyond a suffix append (design ruling — tests match this verbatim). */\nfunction nativeEnumMemberChangeRefusal(options) {\n\treturn `Native enum type \"${options.ddlSchemaName}\".\"${options.typeName}\" changed beyond appending new values (contract declares [${options.expectedMembers.join(\", \")}], database has [${options.actualMembers.join(\", \")}]). Prisma 8 does not modify a native enum's existing values (rename, removal, reorder) — see https://pris.ly/d/postgres-native-enums. Author the change manually with \\`migration new\\`.`;\n}\n/**\n* Managed native-enum issue -> op lowering. A missing declared type creates\n* it; an unclaimed live type drops it (ownership-scoped upstream by\n* `retainUnownedExtras`, destructiveness gated by the operation-class\n* policy); a paired member-value mismatch lowers to one `ALTER TYPE ... ADD\n* VALUE` per appended member when the database's members are a strict,\n* order-preserving prefix of the contract's — any other change (rename,\n* removal, reorder, or the database holding members the contract lacks) is\n* refused with a NAMED diagnostic, never a silent no-op and never a\n* drop-and-recreate.\n*/\nfunction mapNativeEnumNodeIssue(issue, ctx) {\n\tconst ddlSchemaName = issueSchemaName(issue);\n\tif (ddlSchemaName === void 0) return notOk(nodeConflict(\"unsupportedOperation\", `Enum issue has no schema in its path: ${issue.path.join(\"/\")}`));\n\tconst schemaName = emissionSchemaName(ctx, ddlSchemaName);\n\tif (issueOutcome(issue) === \"not-found\") {\n\t\tconst expected = blindCast(issue.expected);\n\t\treturn ok([new CreateNativeEnumTypeCall(schemaName, expected.typeName, expected.members)]);\n\t}\n\tif (issueOutcome(issue) === \"not-expected\") return ok([new DropNativeEnumTypeCall(schemaName, blindCast(issue.actual).typeName)]);\n\tconst expected = blindCast(issue.expected);\n\tconst actual = blindCast(issue.actual);\n\tif (isNativeEnumSuffixAppend(actual.members, expected.members)) return ok(expected.members.slice(actual.members.length).map((value) => new AddNativeEnumValueCall(schemaName, expected.typeName, value)));\n\treturn notOk(nodeConflict(\"unsupportedOperation\", nativeEnumMemberChangeRefusal({\n\t\tddlSchemaName,\n\t\ttypeName: expected.typeName,\n\t\texpectedMembers: expected.members,\n\t\tactualMembers: actual.members\n\t})));\n}\nfunction mapTableNodeIssue(issue, schemaName, ddlSchemaName, types) {\n\tif (issueOutcome(issue) === \"not-found\") return ok(buildCreateTableCallsFromNode(schemaName, ddlSchemaName, blindCast(issue.expected), types));\n\tif (issueOutcome(issue) === \"not-expected\") return ok([new DropTableCall(schemaName, blindCast(issue.actual).name)]);\n\tconst expected = blindCast(issue.expected);\n\tconst actual = blindCast(issue.actual);\n\tif (expected.rlsEnabled && !actual.rlsEnabled) return ok([new EnableRowLevelSecurityCall(ddlSchemaName, expected.name)]);\n\tif (!expected.rlsEnabled && actual.rlsEnabled) return ok([new DisableRowLevelSecurityCall(ddlSchemaName, expected.name)]);\n\treturn notOk(nodeConflict(\"unsupportedOperation\", `unhandled table-attribute drift on \"${expected.name}\": table not-equal with no rlsEnabled delta (a second table attribute drifted)`));\n}\nfunction mapColumnNodeIssue(issue, schemaName, tableName, types) {\n\tif (issueOutcome(issue) === \"not-found\") {\n\t\tconst column = blindCast(issue.expected);\n\t\treturn ok([new AddColumnCall(schemaName, tableName, renderColumnDdl(column.name, column, types))]);\n\t}\n\tif (issueOutcome(issue) === \"not-expected\") return ok([new DropColumnCall(schemaName, tableName, blindCast(issue.actual).name)]);\n\tconst expected = blindCast(issue.expected);\n\tconst actual = blindCast(issue.actual);\n\tconst calls = [];\n\tif (columnTypeChanged(expected, actual)) {\n\t\tconst { qualifiedTargetType, formatTypeExpected } = renderColumnAlterType(expected, types);\n\t\tcalls.push(new AlterColumnTypeCall(schemaName, tableName, expected.name, {\n\t\t\tqualifiedTargetType,\n\t\t\tformatTypeExpected,\n\t\t\trawTargetTypeForLabel: qualifiedTargetType\n\t\t}));\n\t}\n\tif (expected.nullable !== actual.nullable) calls.push(expected.nullable ? new DropNotNullCall(schemaName, tableName, expected.name) : new SetNotNullCall(schemaName, tableName, expected.name));\n\treturn ok(calls);\n}\nfunction mapColumnDefaultNodeIssue(issue, schemaName, tableName, columnName, types) {\n\tif (issueOutcome(issue) === \"not-expected\") return ok([new DropDefaultCall(schemaName, tableName, columnName)]);\n\tif (issue.expected === void 0) return ok([]);\n\tconst column = buildSetDefaultColumn(columnName, blindCast(issue.expected), types);\n\tif (column === void 0) return ok([]);\n\treturn ok([new SetDefaultCall(schemaName, tableName, column, issueOutcome(issue) === \"not-equal\" ? \"widening\" : \"additive\")]);\n}\nfunction mapPrimaryKeyNodeIssue(issue, schemaName, tableName) {\n\tif (issueOutcome(issue) === \"not-found\") {\n\t\tconst pk = blindCast(issue.expected);\n\t\treturn ok([new AddPrimaryKeyCall(schemaName, tableName, pk.name ?? defaultPrimaryKeyName(tableName), [...pk.columns])]);\n\t}\n\tif (issueOutcome(issue) === \"not-expected\") return ok([new DropConstraintCall(schemaName, tableName, blindCast(issue.actual).name ?? defaultPrimaryKeyName(tableName), \"primaryKey\")]);\n\treturn notOk(nodeConflict(\"indexIncompatible\", issue.path.join(\"/\")));\n}\nfunction mapForeignKeyNodeIssue(issue, schemaName, tableName) {\n\tif (issueOutcome(issue) === \"not-found\") return ok([new AddForeignKeyCall(schemaName, tableName, fkSpecFromNode(blindCast(issue.expected), tableName))]);\n\tif (issueOutcome(issue) === \"not-expected\") {\n\t\tconst fk = blindCast(issue.actual);\n\t\treturn ok([new DropConstraintCall(schemaName, tableName, fk.name ?? defaultForeignKeyName(tableName, fk.columns), \"foreignKey\")]);\n\t}\n\treturn notOk(nodeConflict(\"foreignKeyConflict\", issue.path.join(\"/\")));\n}\nfunction mapUniqueNodeIssue(issue, schemaName, tableName) {\n\tif (issueOutcome(issue) === \"not-found\") {\n\t\tconst unique = blindCast(issue.expected);\n\t\treturn ok([new AddUniqueCall(schemaName, tableName, unique.name ?? defaultUniqueName(tableName, unique.columns), [...unique.columns])]);\n\t}\n\tif (issueOutcome(issue) === \"not-expected\") {\n\t\tconst unique = blindCast(issue.actual);\n\t\treturn ok([new DropConstraintCall(schemaName, tableName, unique.name ?? defaultUniqueName(tableName, unique.columns), \"unique\")]);\n\t}\n\treturn notOk(nodeConflict(\"indexIncompatible\", issue.path.join(\"/\")));\n}\n/**\n* The CreateIndexCall for a name-identified index node: the node's own name\n* verbatim, its element list (column tuple or opaque expression), and the\n* unique/type/options/where attributes carried through.\n*/\nfunction createIndexCallFromNode(index, schemaName, tableName) {\n\tconst extras = {};\n\tif (index.type !== void 0) extras.type = index.type;\n\tif (index.options !== void 0) extras.options = index.options;\n\tif (index.where !== void 0) extras.where = index.where;\n\tif (index.unique) extras.unique = true;\n\treturn new CreateIndexCall(schemaName, tableName, index.name, index.columns !== void 0 ? { columns: [...index.columns] } : { expression: index.expression ?? \"\" }, extras);\n}\nfunction mapIndexNodeIssue(issue, schemaName, tableName) {\n\tif (issueOutcome(issue) === \"not-found\") return ok([createIndexCallFromNode(blindCast(issue.expected), schemaName, tableName)]);\n\tif (issueOutcome(issue) === \"not-expected\") return ok([new DropIndexCall(schemaName, tableName, blindCast(issue.actual).name)]);\n\treturn notOk(nodeConflict(\"indexIncompatible\", issue.path.join(\"/\")));\n}\n/**\n* The index treatment: a missing check is added, an undeclared live check is\n* dropped, and a paired divergence is a conflict. `not-equal` is reachable only\n* for an exact-named expected check — a wire-named one compares by name, so a\n* changed predicate re-suffixes the name and arrives as missing + extra\n* instead.\n*/\nfunction mapCheckNodeIssue(issue, schemaName, tableName) {\n\tif (issueOutcome(issue) === \"not-found\") {\n\t\tconst check = blindCast(issue.expected);\n\t\treturn ok([new AddCheckConstraintCall(schemaName, tableName, check.name, check.expression)]);\n\t}\n\tif (issueOutcome(issue) === \"not-expected\") return ok([new DropCheckConstraintCall(schemaName, tableName, blindCast(issue.actual).name)]);\n\treturn notOk(nodeConflict(\"unsupportedOperation\", issue.path.join(\"/\")));\n}\n/**\n* Maps one node-typed diff issue to its migration call(s), dispatching on the\n* node's `nodeKind` and the issue's presence-derived `issueOutcome`, reading\n* nodes and resolving column DDL from `codecRef` via `column-ddl-rendering.ts`.\n*/\nfunction mapNodeIssueToCall(issue, ctx) {\n\tconst node = issueNode(issue);\n\tif (node === void 0) return notOk(nodeConflict(\"unsupportedOperation\", `Issue carries neither an expected nor an actual node: ${issue.path.join(\"/\")}`));\n\tif (node.nodeKind === PostgresSchemaNodeKind.namespace) {\n\t\tif (issueOutcome(issue) !== \"not-found\") return notOk(nodeConflict(\"unsupportedOperation\", `Unexpected namespace drift: ${issue.path.join(\"/\")}`));\n\t\treturn ok([new CreateSchemaCall(blindCast(issue.expected).schemaName)]);\n\t}\n\tif (node.nodeKind === PostgresSchemaNodeKind.nativeEnum) return mapNativeEnumNodeIssue(issue, ctx);\n\tconst ddlSchemaName = issueSchemaName(issue);\n\tconst tableName = issueTableName(issue);\n\tif (ddlSchemaName === void 0 || tableName === void 0) return notOk(nodeConflict(\"unsupportedOperation\", `Issue has no schema/table in its path: ${issue.path.join(\"/\")}`));\n\tconst schemaName = emissionSchemaName(ctx, ddlSchemaName);\n\tswitch (node.nodeKind) {\n\t\tcase PostgresSchemaNodeKind.table: return mapTableNodeIssue(issue, schemaName, ddlSchemaName, ctx.types);\n\t\tcase RelationalSchemaNodeKind.column: return mapColumnNodeIssue(issue, schemaName, tableName, ctx.types);\n\t\tcase RelationalSchemaNodeKind.columnDefault: {\n\t\t\tconst columnName = issueColumnName(issue);\n\t\t\tif (columnName === void 0) return notOk(nodeConflict(\"unsupportedOperation\", `Default issue has no column in its path: ${issue.path.join(\"/\")}`));\n\t\t\treturn mapColumnDefaultNodeIssue(issue, schemaName, tableName, columnName, ctx.types);\n\t\t}\n\t\tcase RelationalSchemaNodeKind.primaryKey: return mapPrimaryKeyNodeIssue(issue, schemaName, tableName);\n\t\tcase RelationalSchemaNodeKind.foreignKey: return mapForeignKeyNodeIssue(issue, schemaName, tableName);\n\t\tcase RelationalSchemaNodeKind.unique: return mapUniqueNodeIssue(issue, schemaName, tableName);\n\t\tcase RelationalSchemaNodeKind.index: return mapIndexNodeIssue(issue, schemaName, tableName);\n\t\tcase RelationalSchemaNodeKind.check: return mapCheckNodeIssue(issue, schemaName, tableName);\n\t\tdefault: return notOk(nodeConflict(\"unsupportedOperation\", `Unhandled node kind: ${node.nodeKind}`));\n\t}\n}\n/**\n* Runs the ordered strategy list over the node-typed diff issues, maps\n* leftover issues via {@link mapNodeIssueToCall}, applies operation-class\n* policy gating, and buckets calls into the fixed DDL emission order (dep →\n* drop → table → column → recipe → alter → primaryKey → unique → index →\n* foreignKey).\n*/\nfunction planIssues(options) {\n\tconst policyProvided = options.policy !== void 0;\n\tconst policy = options.policy ?? DEFAULT_POLICY;\n\tconst schema = options.schema ?? emptySchemaIR();\n\tconst frameworkComponents = options.frameworkComponents ?? [];\n\tconst context = {\n\t\ttoContract: options.toContract,\n\t\tfromContract: options.fromContract,\n\t\tschemaName: options.schemaName,\n\t\tcodecHooks: options.codecHooks,\n\t\ttypes: options.types,\n\t\tstorageTypes: options.storageTypes,\n\t\tschema,\n\t\tpolicy,\n\t\tframeworkComponents\n\t};\n\tconst strategies = options.strategies ?? postgresPlannerStrategies;\n\tlet remaining = options.issues;\n\tconst recipeCalls = [];\n\tconst bucketablePatternCalls = [];\n\tfor (const strategy of strategies) {\n\t\tconst result = strategy(remaining, context);\n\t\tif (result.kind === \"match\") {\n\t\t\tremaining = result.issues;\n\t\t\tif (result.recipe) recipeCalls.push(...result.calls);\n\t\t\telse bucketablePatternCalls.push(...result.calls);\n\t\t}\n\t}\n\tconst sorted = orderIssuesByDependencies(remaining);\n\tconst defaultCalls = [];\n\tconst conflicts = [];\n\tfor (const issue of sorted) {\n\t\tconst result = mapNodeIssueToCall(issue, context);\n\t\tif (result.ok) defaultCalls.push(...result.value);\n\t\telse conflicts.push(result.failure);\n\t}\n\tconst allowed = policy.allowedOperationClasses;\n\tlet gatedDefault = defaultCalls;\n\tlet gatedRecipe = recipeCalls;\n\tlet gatedBucketable = bucketablePatternCalls;\n\tif (policyProvided) {\n\t\tconst keepIfAllowed = (bucket) => (call) => {\n\t\t\tif (allowed.includes(call.operationClass)) {\n\t\t\t\tbucket.push(call);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconflicts.push(conflictForDisallowedCall(call, allowed));\n\t\t};\n\t\tconst gatedDefaultBucket = [];\n\t\tconst gatedRecipeBucket = [];\n\t\tconst gatedBucketableBucket = [];\n\t\tdefaultCalls.forEach(keepIfAllowed(gatedDefaultBucket));\n\t\trecipeCalls.forEach(keepIfAllowed(gatedRecipeBucket));\n\t\tbucketablePatternCalls.forEach(keepIfAllowed(gatedBucketableBucket));\n\t\tgatedDefault = gatedDefaultBucket;\n\t\tgatedRecipe = gatedRecipeBucket;\n\t\tgatedBucketable = gatedBucketableBucket;\n\t}\n\tif (conflicts.length > 0) return notOk(conflicts);\n\tconst combinedBucketable = [...gatedDefault, ...gatedBucketable];\n\tconst byCategory = (cat) => combinedBucketable.filter((c) => classifyCall(c) === cat);\n\treturn ok({ calls: [\n\t\t...byCategory(\"dep\"),\n\t\t...byCategory(\"drop\"),\n\t\t...byCategory(\"dropType\"),\n\t\t...byCategory(\"table\"),\n\t\t...byCategory(\"column\"),\n\t\t...gatedRecipe,\n\t\t...byCategory(\"alter\"),\n\t\t...byCategory(\"primaryKey\"),\n\t\t...byCategory(\"unique\"),\n\t\t...byCategory(\"index\"),\n\t\t...byCategory(\"foreignKey\"),\n\t\t...byCategory(\"rlsEnable\")\n\t] });\n}\n//#endregion\n//#region src/core/migrations/control-policy.ts\n/**\n* Factory calls that create a whole, previously-absent top-level storage\n* object. Used to decide whether `tolerated` permits a call (it only allows\n* creating absent objects, never modifying existing ones).\n*\n* Deliberately an explicit, closed set rather than a `factoryName`\n* create/alter/drop classification: it answers exactly one yes/no question\n* and is fail-closed. Any call not listed here — including future or\n* extension-contributed factories — is treated as NOT object-creation, so it\n* is suppressed under `tolerated` rather than permissively emitted.\n*\n* Lists the creation factories that actually reach the call-side resolver\n* (`resolvePostgresCallControlPolicySubject`) — today only RLS policy\n* creation, from `planPostgresSchemaDiff`. Every other whole-object create\n* (table, schema, native enum, and RLS enablement) is constructed inside\n* `planIssues` and graded on the node side by\n* `resolvePostgresNodeIssueCreationFactoryName`, so none of them are listed\n* here.\n*/\nconst OBJECT_CREATION_FACTORIES = /* @__PURE__ */ new Set([\"createRlsPolicy\"]);\nfunction createsNewTopLevelObject(call) {\n\treturn OBJECT_CREATION_FACTORIES.has(call.factoryName);\n}\nfunction ddlSchemaNameForNamespace(contract, namespaceId) {\n\tconst namespace = contract.storage.namespaces[namespaceId];\n\treturn isPostgresSchema(namespace) ? namespace.ddlSchemaName(contract.storage) : namespaceId;\n}\n/**\n* Resolve the namespace a declared storage entity lives in by walking every\n* namespace for one whose `entries` map actually contains the coordinate —\n* a table by its name, a native enum by its physical type name (see\n* {@link postgresNodeStorageCoordinate}). When `ddlSchemaName` is given, the\n* match must also land in that DDL schema (disambiguates same-named entities\n* declared under different namespaces); when omitted, the first namespace\n* that declares the entity wins. Falls back to {@link UNBOUND_NAMESPACE_ID}\n* when no namespace declares it — e.g. an extra/dropped entity the contract\n* doesn't claim at all.\n*/\nfunction resolveNamespaceIdForEntity(contract, coordinate, ddlSchemaName) {\n\tfor (const namespaceId of Object.keys(contract.storage.namespaces)) {\n\t\tif (!entityAt(contract.storage, {\n\t\t\tnamespaceId,\n\t\t\t...coordinate\n\t\t})) continue;\n\t\tif (ddlSchemaName === void 0 || ddlSchemaNameForNamespace(contract, namespaceId) === ddlSchemaName) return namespaceId;\n\t}\n\treturn UNBOUND_NAMESPACE_ID;\n}\nfunction resolveNamespaceIdForTable(contract, tableName, ddlSchemaName) {\n\treturn resolveNamespaceIdForEntity(contract, {\n\t\tentityKind: \"table\",\n\t\tentityName: tableName\n\t}, ddlSchemaName);\n}\nfunction resolveNamespaceIdForDdlSchema(contract, ddlSchemaName) {\n\tfor (const namespaceId of Object.keys(contract.storage.namespaces)) {\n\t\tconst ns = contract.storage.namespaces[namespaceId];\n\t\tif (isPostgresSchema(ns) && ns.ddlSchemaName(contract.storage) === ddlSchemaName) return namespaceId;\n\t\tif (namespaceId === ddlSchemaName) return namespaceId;\n\t}\n\treturn UNBOUND_NAMESPACE_ID;\n}\nfunction postgresCallFields(call) {\n\treturn {\n\t\t...ifDefined(\"schemaName\", \"schemaName\" in call ? call.schemaName : void 0),\n\t\t...ifDefined(\"tableName\", \"tableName\" in call ? call.tableName : void 0),\n\t\t...ifDefined(\"columnName\", columnNameOfCall(call))\n\t};\n}\nfunction formatSuppressionSubjectLabel(subject, contract) {\n\tif (subject === void 0) return \"unknown\";\n\tconst ddlSchema = ddlSchemaNameForNamespace(contract, subject.namespaceId);\n\tif (subject.entityKind !== void 0 && subject.entityName !== void 0) {\n\t\tconst entityLabel = `${subject.entityKind} \"${ddlSchema}.${subject.entityName}\"`;\n\t\treturn subject.rlsPolicy !== void 0 ? `RLS policy \"${subject.rlsPolicy}\" on ${entityLabel}` : entityLabel;\n\t}\n\treturn `namespace \"${ddlSchema}\"`;\n}\nfunction postgresSuppressionSummary(subjectLabel, subject, policy) {\n\tconst namespace = subject?.namespaceId ?? \"unknown\";\n\tconst declared = subject?.explicitNodeControlPolicy;\n\tif (policy === \"external\" && declared === \"managed\") return `control policy suppressed: ${subjectLabel} — namespace '${namespace}' has effective control 'external' but declared 'managed'`;\n\treturn `control policy suppressed: ${subjectLabel} — namespace '${namespace}' has effective control '${policy}'${declared ? ` but declared '${declared}'` : \"\"}`;\n}\n/**\n* Render one family {@link SuppressionRecord} into a target `SqlPlannerConflict`.\n* The family decides *that* a subject is suppressed and hands over the raw\n* coordinate + policy; the label, message, and location are rendered here,\n* driven entirely by the subject's own `(entityKind, entityName)` coordinate\n* — no target-owned table-vs-enum vocabulary.\n*/\nfunction renderPostgresSuppression(record, contract) {\n\tconst subject = record.subject;\n\treturn {\n\t\tkind: \"controlPolicySuppressedCall\",\n\t\tsummary: postgresSuppressionSummary(formatSuppressionSubjectLabel(subject, contract), subject, record.policy),\n\t\tlocation: {\n\t\t\t...ifDefined(\"namespaceId\", subject?.namespaceId),\n\t\t\t...ifDefined(\"entityKind\", subject?.entityKind),\n\t\t\t...ifDefined(\"entityName\", subject?.entityName),\n\t\t\t...ifDefined(\"column\", subject?.column),\n\t\t\t...ifDefined(\"rlsPolicy\", subject?.rlsPolicy)\n\t\t},\n\t\tmeta: {\n\t\t\tcontrolPolicy: record.policy,\n\t\t\t...ifDefined(\"factoryName\", record.factoryName),\n\t\t\t...ifDefined(\"rlsPolicy\", subject?.rlsPolicy),\n\t\t\t...ifDefined(\"declaredControlPolicy\", subject?.explicitNodeControlPolicy)\n\t\t}\n\t};\n}\nfunction resolvePostgresCallControlPolicySubject(call, contract) {\n\tconst callFields = postgresCallFields(call);\n\tconst createsNewObject = createsNewTopLevelObject(call);\n\tif (call.factoryName === \"createSchema\" && callFields.schemaName) return {\n\t\tnamespaceId: resolveNamespaceIdForDdlSchema(contract, callFields.schemaName),\n\t\tcreatesNewObject\n\t};\n\tif (callFields.tableName) {\n\t\tconst namespaceId = resolveNamespaceIdForTable(contract, callFields.tableName, callFields.schemaName);\n\t\tconst tableControlPolicy = entityAt(contract.storage, {\n\t\t\tnamespaceId,\n\t\t\tentityKind: \"table\",\n\t\t\tentityName: callFields.tableName\n\t\t})?.control;\n\t\treturn {\n\t\t\tnamespaceId,\n\t\t\tentityKind: \"table\",\n\t\t\tentityName: callFields.tableName,\n\t\t\t...ifDefined(\"column\", callFields.columnName),\n\t\t\t...ifDefined(\"explicitNodeControlPolicy\", tableControlPolicy),\n\t\t\tcreatesNewObject\n\t\t};\n\t}\n\tif (callFields.schemaName) return {\n\t\tnamespaceId: resolveNamespaceIdForDdlSchema(contract, callFields.schemaName),\n\t\tcreatesNewObject\n\t};\n}\n/**\n* Node kinds whose *absence* is the creation of a whole, top-level Postgres\n* object: a namespace, a table, or a native enum. Used by\n* {@link resolvePostgresNodeIssueCreationFactoryName} to decide whether a\n* `tolerated` subject permits the issue to flow into the planner\n* (create-if-absent) and to seed the suppressed-subject warning's\n* `factoryName` when the planner is skipped. RLS policy creation is not\n* listed here — policy issues never reach this issue-based partition (they\n* are routed to `planPostgresSchemaDiff` and gated via the call-based\n* {@link resolvePostgresCallControlPolicySubject} instead).\n*/\nconst POSTGRES_NODE_CREATION_FACTORY = Object.freeze({\n\t[PostgresSchemaNodeKind.namespace]: \"createSchema\",\n\t[PostgresSchemaNodeKind.table]: \"createTable\",\n\t[PostgresSchemaNodeKind.nativeEnum]: \"createNativeEnumType\"\n});\n/**\n* A table `not-equal` issue whose `rlsEnabled` flips OFF→ON (expected on,\n* actual off) is enablement toward `ENABLE ROW LEVEL SECURITY`. It is\n* creation-class on the node side because `isEnablementCreationIssue` and\n* {@link resolvePostgresNodeIssueCreationFactoryName} treat this OFF→ON delta\n* as a creation: enabling RLS establishes the fail-closed guard the declared\n* policy set attaches to, the same grant `tolerated` extends to creating the\n* policies themselves. The opposite direction (`DISABLE`) is a modification\n* and stays managed-only. Keying on the actual delta (not just the expected\n* bit) keeps this correct if a second table attribute ever joins\n* `isEqualTo`: a not-equal with no `rlsEnabled` delta is not enablement, so\n* it is not admitted as creation-class here.\n*/\nfunction isEnablementCreationIssue(issue) {\n\tif (issueOutcome(issue) !== \"not-equal\") return false;\n\tconst { expected, actual } = issue;\n\treturn expected !== void 0 && actual !== void 0 && PostgresTableSchemaNode.is(expected) && PostgresTableSchemaNode.is(actual) && expected.rlsEnabled === true && actual.rlsEnabled === false;\n}\nfunction resolvePostgresNodeIssueCreationFactoryName(issue) {\n\tif (isEnablementCreationIssue(issue)) return \"enableRowLevelSecurity\";\n\tif (issueOutcome(issue) !== \"not-found\") return void 0;\n\tconst node = issue.expected ?? issue.actual;\n\tif (node === void 0) return void 0;\n\treturn POSTGRES_NODE_CREATION_FACTORY[node.nodeKind];\n}\n/**\n* Resolves the control-policy subject for a node-typed {@link SchemaDiffIssue}\n* (the issue-side mirror of `resolvePostgresCallControlPolicySubject`).\n* Storage entities resolve off their node coordinate; a sub-entity issue\n* resolves off the enclosing table read from the issue path; an unclaimed\n* extra falls back to the unbound coordinate. A role always resolves\n* `'external'` — roles are referenced, never owned.\n*/\nfunction resolvePostgresNodeIssueControlPolicySubject(issue, contract) {\n\tconst node = issue.expected ?? issue.actual;\n\tif (node === void 0) return void 0;\n\tif (node.nodeKind === PostgresSchemaNodeKind.namespace) return {\n\t\tnamespaceId: resolveNamespaceIdForDdlSchema(contract, blindCast(node).schemaName),\n\t\tcreatesNewObject: issueOutcome(issue) === \"not-found\"\n\t};\n\tif (node.nodeKind === PostgresSchemaNodeKind.role) {\n\t\tconst roleName = issue.path[1];\n\t\treturn {\n\t\t\tnamespaceId: UNBOUND_NAMESPACE_ID,\n\t\t\texplicitNodeControlPolicy: (roleName === void 0 ? void 0 : entityAt(contract.storage, {\n\t\t\t\tnamespaceId: UNBOUND_NAMESPACE_ID,\n\t\t\t\tentityKind: \"role\",\n\t\t\t\tentityName: roleName\n\t\t\t}))?.control ?? \"external\",\n\t\t\tcreatesNewObject: false\n\t\t};\n\t}\n\tconst coordinate = postgresNodeStorageCoordinate(node);\n\tif (coordinate !== void 0) {\n\t\tconst namespaceId = resolveNamespaceIdForEntity(contract, coordinate, issue.path[1]);\n\t\tconst entityControl = entityAt(contract.storage, {\n\t\t\tnamespaceId,\n\t\t\t...coordinate\n\t\t})?.control;\n\t\treturn {\n\t\t\tnamespaceId,\n\t\t\t...coordinate,\n\t\t\t...ifDefined(\"column\", issueColumnName(issue)),\n\t\t\t...ifDefined(\"explicitNodeControlPolicy\", entityControl),\n\t\t\tcreatesNewObject: resolvePostgresNodeIssueCreationFactoryName(issue) !== void 0\n\t\t};\n\t}\n\tconst tableName = issue.path[2];\n\tif (tableName === void 0) return void 0;\n\tconst ddlSchemaName = issue.path[1];\n\tconst namespaceId = resolveNamespaceIdForTable(contract, tableName, ddlSchemaName);\n\tconst table = entityAt(contract.storage, {\n\t\tnamespaceId,\n\t\tentityKind: \"table\",\n\t\tentityName: tableName\n\t});\n\treturn {\n\t\tnamespaceId,\n\t\tentityKind: \"table\",\n\t\tentityName: tableName,\n\t\t...ifDefined(\"column\", issueColumnName(issue)),\n\t\t...ifDefined(\"explicitNodeControlPolicy\", table?.control),\n\t\tcreatesNewObject: resolvePostgresNodeIssueCreationFactoryName(issue) !== void 0\n\t};\n}\n//#endregion\nexport { resolvePostgresNodeIssueCreationFactoryName as a, issueNode as c, postgresPlannerStrategies as d, postgresNodeStorageCoordinate as f, resolvePostgresNodeIssueControlPolicySubject as i, issueSchemaName as l, resolveNamespaceIdForDdlSchema as n, coalesceSubtreeIssues as o, resolvePostgresCallControlPolicySubject as r, conflictForDisallowedCall as s, renderPostgresSuppression as t, planIssues as u };\n\n//# sourceMappingURL=control-policy-bwcdB78Y.mjs.map"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-types-k3Ebk3kj-DWk3nh_k.mjs","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/data-types-k3Ebk3kj.mjs"],"sourcesContent":["import { b as pgIntervalCanonical, r as canonicalUuid, s as fitsFloat4, u as pgByteaCanonical } from \"./codec-helpers-D015Pvwa.mjs\";\nimport { r as quoteIdentifier } from \"./sql-utils-CVsvXiX4.mjs\";\nimport { numeralText, sqlDataType } from \"@internal/sql-contract/data-type\";\nimport { canonicalDateTime, integerTextCanonicalForm } from \"@internal/sql-contract/data-type-support\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { assembleDataTypes, isNonFiniteText } from \"@internal/framework-components/codec\";\nimport { type } from \"arktype\";\n//#region src/core/data-types.ts\n/** A cast between two types that store the same shape: the value is already the form this type stores. */\nconst unchanged = (value) => value;\nfunction wrongShape(value, expected) {\n\tthrow structuredError(\"CONTRACT.CAST_REFUSED\", `Expected ${expected}, got ${JSON.stringify(value)}.`, {\n\t\twhy: \"A cast reads the canonical form of the type it takes values of.\",\n\t\tfix: \"Hand the cast a value in the shape its source type stores.\"\n\t});\n}\n/** A whole number as the digit text `int8` and `numeric` store. */\nconst asNumeralText = (value) => typeof value === \"number\" ? numeralText(value) : wrongShape(value, \"a number\");\n/**\n* A number as the floating-point types store it: a JSON number, or one of the three words, which\n* those types keep as text. A magnitude past what a double holds is refused rather than rounded to\n* a word: the database refuses it too, and storing `Infinity` would make a written number\n* indistinguishable from a written `Infinity`.\n*/\nconst asFloat = (value) => {\n\tif (typeof value === \"number\") return value;\n\tif (typeof value !== \"string\") return wrongShape(value, \"a number or numeral text\");\n\tif (isNonFiniteText(value)) return value;\n\tconst converted = Number(value);\n\tif (Number.isFinite(converted)) return converted;\n\tthrow structuredError(\"CONTRACT.CAST_REFUSED\", `${value} is out of range: no double holds a number that large.`, {\n\t\twhy: \"The floating-point types store a double, which holds magnitudes up to about 1.8e308.\",\n\t\tfix: \"Use a number a double holds, or a numeric column.\"\n\t});\n};\nconst written = (text) => ({\n\ttext,\n\twritten: true\n});\nconst catalog = (text) => ({\n\ttext,\n\tcatalog: true\n});\nconst writtenAndCatalog = (text) => ({\n\ttext,\n\twritten: true,\n\tcatalog: true\n});\nconst claimsOnly = (text) => ({ text });\n/** The precision and scale of `numeric`. PostgreSQL 15 and later take a negative scale and one above the precision. */\nconst pgNumericParams = type({\n\t\"precision?\": \"number.integer >= 1 & number.integer <= 1000\",\n\t\"scale?\": \"number.integer >= -1000 & number.integer <= 1000\"\n}).narrow((params, ctx) => params.scale === void 0 || params.precision !== void 0 || ctx.reject({\n\tpath: [\"scale\"],\n\tmessage: \"scale requires a precision\"\n}));\n/** The length of `char` and `varchar`. */\nconst pgCharacterLengthParams = type({ \"length?\": \"number.integer >= 1 & number.integer <= 10485760\" });\n/** The length of `bit` and `bit varying`. */\nconst pgBitLengthParams = type({ \"length?\": \"number.integer >= 1 & number.integer <= 83886080\" });\n/** The fractional-second precision of the time, timestamp and interval types. */\nconst pgPrecisionParams = type({ \"precision?\": \"number.integer >= 0 & number.integer <= 6\" });\nconst pgEnumParams = type({ typeName: \"string > 0\" });\n/** A type with no parameters that is written and reported by its own name. */\nconst namedOnly = (id, name, casts = {}) => sqlDataType(id, {\n\ttexts: [writtenAndCatalog(name)],\n\tcasts\n});\nconst withDefaultLength = (params) => params.length === void 0 ? {\n\t...params,\n\tlength: 1\n} : params;\nconst pgText = namedOnly(\"pg/text\", \"text\");\nconst pgTextArray = sqlDataType(\"pg/text-array\", {});\n/** The enum's `typeName`: its name in `public` or with no schema, its schema-qualified name elsewhere. */\nfunction qualifiedEnumName(reported) {\n\tconst name = reported.name ?? \"\";\n\treturn reported.schema === void 0 || reported.schema === \"public\" ? name : `${reported.schema}.${name}`;\n}\nconst pgEnum = sqlDataType(\"pg/enum\", {\n\tparams: pgEnumParams,\n\tclaimsKind: \"enum\",\n\trender: ({ typeName }) => {\n\t\tconst dot = typeName.indexOf(\".\");\n\t\treturn dot === -1 ? quoteIdentifier(typeName) : `${quoteIdentifier(typeName.slice(0, dot))}.${quoteIdentifier(typeName.slice(dot + 1))}`;\n\t},\n\tfromReported: (reported) => ({ typeName: qualifiedEnumName(reported) })\n});\nconst pgInt2 = sqlDataType(\"pg/int2\", { texts: [written(\"int2\"), catalog(\"smallint\")] });\nconst pgBool = sqlDataType(\"pg/bool\", { texts: [written(\"bool\"), catalog(\"boolean\")] });\nconst pgJson = namedOnly(\"pg/json\", \"json\");\nconst pgTsquery = namedOnly(\"pg/tsquery\", \"tsquery\");\nconst pgInt4 = sqlDataType(\"pg/int4\", {\n\ttexts: [\n\t\twritten(\"int4\"),\n\t\tcatalog(\"integer\"),\n\t\tclaimsOnly(\"int\")\n\t],\n\tcasts: { [pgInt2.id]: unchanged }\n});\nconst pgInt8 = sqlDataType(\"pg/int8\", {\n\ttexts: [written(\"int8\"), catalog(\"bigint\")],\n\ttoCanonicalForm: integerTextCanonicalForm,\n\tcasts: {\n\t\t[pgInt2.id]: asNumeralText,\n\t\t[pgInt4.id]: asNumeralText\n\t}\n});\nconst pgNumeric = sqlDataType(\"pg/numeric\", {\n\tparams: pgNumericParams,\n\ttexts: [\n\t\twrittenAndCatalog(\"numeric\"),\n\t\twritten(\"numeric({precision})\"),\n\t\twrittenAndCatalog(\"numeric({precision},{scale})\"),\n\t\tclaimsOnly(\"decimal\"),\n\t\tclaimsOnly(\"decimal({precision})\"),\n\t\tclaimsOnly(\"decimal({precision},{scale})\")\n\t],\n\tnormalize: (params) => params.precision !== void 0 && params.scale === void 0 ? {\n\t\t...params,\n\t\tscale: 0\n\t} : params,\n\tcasts: {\n\t\t[pgInt2.id]: asNumeralText,\n\t\t[pgInt4.id]: asNumeralText,\n\t\t[pgInt8.id]: unchanged\n\t}\n});\n/** `float4` stores a single-precision float, so a magnitude past about 3.4e38, or one it would round to 0, does not fit. */\nconst asFloat4 = (value) => {\n\tconst converted = asFloat(value);\n\tif (typeof converted !== \"number\" || fitsFloat4(converted)) return converted;\n\tthrow structuredError(\"CONTRACT.CAST_REFUSED\", `${converted} is out of range: float4 holds a nonzero magnitude from about 1.4e-45 to 3.4e38.`, {\n\t\twhy: \"float4 stores a single-precision float, which overflows past about 3.4e38 and rounds a magnitude below about 1.4e-45 to 0.\",\n\t\tfix: \"Use a number float4 holds, or a float8 or numeric column.\"\n\t});\n};\nconst floatCastsOf = (cast) => ({\n\t[pgInt2.id]: cast,\n\t[pgInt4.id]: cast,\n\t[pgInt8.id]: cast,\n\t[pgNumeric.id]: cast\n});\nconst pgFloat4 = sqlDataType(\"pg/float4\", {\n\ttexts: [written(\"float4\"), catalog(\"real\")],\n\tcasts: floatCastsOf(asFloat4)\n});\nconst pgFloat8 = sqlDataType(\"pg/float8\", {\n\ttexts: [\n\t\twritten(\"float8\"),\n\t\tcatalog(\"double precision\"),\n\t\tclaimsOnly(\"float\")\n\t],\n\tcasts: floatCastsOf(asFloat)\n});\nconst pgJsonb = namedOnly(\"pg/jsonb\", \"jsonb\", { [pgJson.id]: unchanged });\nconst fromText = { [pgText.id]: unchanged };\nconst pgChar = sqlDataType(\"pg/char\", {\n\tparams: pgCharacterLengthParams,\n\ttexts: [\n\t\twritten(\"character\"),\n\t\twrittenAndCatalog(\"character({length})\"),\n\t\tclaimsOnly(\"char\"),\n\t\tclaimsOnly(\"char({length})\")\n\t],\n\tnormalize: withDefaultLength,\n\tcasts: fromText\n});\nconst pgVarchar = sqlDataType(\"pg/varchar\", {\n\tparams: pgCharacterLengthParams,\n\ttexts: [\n\t\twrittenAndCatalog(\"character varying\"),\n\t\twrittenAndCatalog(\"character varying({length})\"),\n\t\tclaimsOnly(\"varchar\"),\n\t\tclaimsOnly(\"varchar({length})\")\n\t],\n\tcasts: fromText\n});\n/** Text in any form PostgreSQL reads as a UUID, written the way PostgreSQL writes it, so the contract holds the value the database reports. */\nconst asUuid = (value) => {\n\tif (typeof value !== \"string\") return wrongShape(value, \"text\");\n\tconst uuid = canonicalUuid(value);\n\tif (uuid !== void 0) return uuid;\n\tthrow structuredError(\"CONTRACT.CAST_REFUSED\", `${JSON.stringify(value)} is not a UUID: PostgreSQL reads 32 hexadecimal digits, with a hyphen after any group of four and optionally in braces.`, {\n\t\twhy: \"A uuid column takes only text PostgreSQL reads as a UUID.\",\n\t\tfix: \"Write a UUID such as a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11.\"\n\t});\n};\nconst pgUuid = sqlDataType(\"pg/uuid\", {\n\ttexts: [writtenAndCatalog(\"uuid\")],\n\tcasts: { [pgText.id]: asUuid }\n});\nconst pgInet = namedOnly(\"pg/inet\", \"inet\", fromText);\nconst pgBit = sqlDataType(\"pg/bit\", {\n\tparams: pgBitLengthParams,\n\ttexts: [written(\"bit\"), writtenAndCatalog(\"bit({length})\")],\n\tnormalize: withDefaultLength,\n\tcasts: fromText\n});\nconst pgVarbit = sqlDataType(\"pg/varbit\", {\n\tparams: pgBitLengthParams,\n\ttexts: [\n\t\twrittenAndCatalog(\"bit varying\"),\n\t\twrittenAndCatalog(\"bit varying({length})\"),\n\t\tclaimsOnly(\"varbit\"),\n\t\tclaimsOnly(\"varbit({length})\")\n\t],\n\tcasts: fromText\n});\nconst POSTGRES_YEAR = /^(\\d{4,6})(-.*?)( BC)?$/;\n/**\n* Text PostgreSQL prints, in ISO 8601. A year with a ` BC` suffix becomes the ISO year, one higher\n* than its negative, so 1 BC is 0000 and 44 BC is -000043. A year of five or six digits becomes a\n* signed six-digit year. 0 BC does not exist, so it stays as written and the reader refuses it.\n*/\nfunction isoFromPostgresText(text) {\n\tconst match = POSTGRES_YEAR.exec(text);\n\tif (match === null) return text;\n\tconst [, digits = \"\", rest = \"\", bc] = match;\n\tconst year = Number(digits);\n\tif (bc !== void 0) {\n\t\tif (year === 0) return text;\n\t\tconst astronomical = 1 - year;\n\t\treturn astronomical === 0 ? `0000${rest}` : `-${String(-astronomical).padStart(6, \"0\")}${rest}`;\n\t}\n\treturn digits.length > 4 ? `+${String(year).padStart(6, \"0\")}${rest}` : text;\n}\nconst INFINITIES = /* @__PURE__ */ new Set([\"infinity\", \"-infinity\"]);\n/**\n* The canonical form of a date or time type (ADR 254), from ISO 8601 or the text PostgreSQL prints.\n* `infinity` and `-infinity` are values of the types that hold them.\n*/\nfunction postgresDateTime(options, holdsInfinity) {\n\treturn (text) => holdsInfinity && INFINITIES.has(text) ? text : canonicalDateTime(isoFromPostgresText(text), options, text);\n}\n/**\n* Each range is what PostgreSQL and every codec of the type hold: PostgreSQL starts at 4714-11-24\n* BC, and the `Temporal` and `Date` codecs end at +275760-09-13.\n*/\nconst pgDateCanonical = postgresDateTime({\n\tshape: \"date\",\n\townerId: \"pg/date\",\n\trange: {\n\t\tearliest: \"-004713-11-24\",\n\t\tlatest: \"+275760-09-13\"\n\t}\n}, true);\nconst pgTimeCanonical = postgresDateTime({\n\tshape: \"time\",\n\townerId: \"pg/time\"\n}, false);\nconst pgTimetzCanonical = postgresDateTime({\n\tshape: \"timeWithOffset\",\n\townerId: \"pg/timetz\",\n\tmaxOffsetHours: 15\n}, false);\nconst pgTimestampCanonical = postgresDateTime({\n\tshape: \"dateTime\",\n\townerId: \"pg/timestamp\",\n\trange: {\n\t\tearliest: \"-004713-11-24T00:00:00\",\n\t\tlatest: \"+275760-09-13T23:59:59.999999\"\n\t}\n}, true);\nconst pgTimestamptzCanonical = postgresDateTime({\n\tshape: \"instant\",\n\townerId: \"pg/timestamptz\",\n\trange: {\n\t\tearliest: \"-004713-11-24T00:00:00Z\",\n\t\tlatest: \"+275760-09-13T00:00:00Z\"\n\t}\n}, true);\n/** The canonical-form function of a type whose values are written as text. */\nconst canonicalFromText = (canonical) => (value) => typeof value === \"string\" ? canonical(value) : wrongShape(value, \"text\");\n/** A type whose canonical form reads text: that canonical form, and the same function as its cast from text. */\nfunction typeCanonicalFromText(id, canonical, spec) {\n\tconst toCanonicalForm = canonicalFromText(canonical);\n\treturn sqlDataType(id, {\n\t\t...spec,\n\t\ttoCanonicalForm,\n\t\tcasts: { [pgText.id]: toCanonicalForm }\n\t});\n}\nconst pgTimetz = typeCanonicalFromText(\"pg/timetz\", pgTimetzCanonical, {\n\tparams: pgPrecisionParams,\n\ttexts: [\n\t\twritten(\"timetz\"),\n\t\twritten(\"timetz({precision})\"),\n\t\tcatalog(\"time with time zone\"),\n\t\tcatalog(\"time({precision}) with time zone\")\n\t]\n});\nconst pgInterval = typeCanonicalFromText(\"pg/interval\", pgIntervalCanonical, {\n\tparams: pgPrecisionParams,\n\ttexts: [writtenAndCatalog(\"interval\"), writtenAndCatalog(\"interval({precision})\")]\n});\nconst pgBytea = typeCanonicalFromText(\"pg/bytea\", pgByteaCanonical, { texts: [writtenAndCatalog(\"bytea\")] });\nconst pgDate = typeCanonicalFromText(\"pg/date\", pgDateCanonical, { texts: [writtenAndCatalog(\"date\")] });\nconst pgTime = typeCanonicalFromText(\"pg/time\", pgTimeCanonical, {\n\tparams: pgPrecisionParams,\n\ttexts: [\n\t\twritten(\"time\"),\n\t\twritten(\"time({precision})\"),\n\t\tcatalog(\"time without time zone\"),\n\t\tcatalog(\"time({precision}) without time zone\")\n\t]\n});\nconst pgTimestamp = typeCanonicalFromText(\"pg/timestamp\", pgTimestampCanonical, {\n\tparams: pgPrecisionParams,\n\ttexts: [\n\t\twritten(\"timestamp\"),\n\t\twritten(\"timestamp({precision})\"),\n\t\tcatalog(\"timestamp without time zone\"),\n\t\tcatalog(\"timestamp({precision}) without time zone\")\n\t]\n});\nconst pgTimestamptz = typeCanonicalFromText(\"pg/timestamptz\", pgTimestamptzCanonical, {\n\tparams: pgPrecisionParams,\n\ttexts: [\n\t\twritten(\"timestamptz\"),\n\t\twritten(\"timestamptz({precision})\"),\n\t\tcatalog(\"timestamp with time zone\"),\n\t\tcatalog(\"timestamp({precision}) with time zone\")\n\t]\n});\n/** Every data type this target registers. */\nconst postgresDataTypes = [\n\tpgText,\n\tpgTextArray,\n\tpgEnum,\n\tpgInt2,\n\tpgBool,\n\tpgJson,\n\tpgTsquery,\n\tpgInt4,\n\tpgInt8,\n\tpgNumeric,\n\tpgFloat4,\n\tpgFloat8,\n\tpgJsonb,\n\tpgChar,\n\tpgVarchar,\n\tpgUuid,\n\tpgInet,\n\tpgBit,\n\tpgVarbit,\n\tpgTimetz,\n\tpgInterval,\n\tpgBytea,\n\tpgDate,\n\tpgTime,\n\tpgTimestamp,\n\tpgTimestamptz\n];\n/** A lookup of the data types this target registers. */\nfunction createPostgresBuiltinDataTypeLookup() {\n\treturn assembleDataTypes([{\n\t\tid: \"postgres\",\n\t\tdataTypes: postgresDataTypes\n\t}]).lookup;\n}\n//#endregion\nexport { pgTimestamptz as A, pgPrecisionParams as C, pgTimeCanonical as D, pgTime as E, pgUuid as F, pgVarbit as I, pgVarchar as L, pgTimetz as M, pgTimetzCanonical as N, pgTimestamp as O, pgTsquery as P, postgresDataTypes as R, pgNumericParams as S, pgTextArray as T, pgInt8 as _, pgBytea as a, pgJsonb as b, pgDate as c, pgEnumParams as d, pgFloat4 as f, pgInt4 as g, pgInt2 as h, pgBool as i, pgTimestamptzCanonical as j, pgTimestampCanonical as k, pgDateCanonical as l, pgInet as m, pgBit as n, pgChar as o, pgFloat8 as p, pgBitLengthParams as r, pgCharacterLengthParams as s, createPostgresBuiltinDataTypeLookup as t, pgEnum as u, pgInterval as v, pgText as w, pgNumeric as x, pgJson as y };\n\n//# sourceMappingURL=data-types-k3Ebk3kj.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":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"op-factory-call-CqKUB1XP-CsEGx4Jd.d.mts","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/op-factory-call-CqKUB1XP.d.mts"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "./op-factory-call-CqKUB1XP-CsEGx4Jd.mjs";
|