@prisma/orm-target-postgres 8.0.0-rc.16-dev.4 → 8.0.0-rc.16-dev.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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-BvmL3EaF.mjs → adapter-RtS8vD8U-BnPjAiLV.mjs} +5 -5
- package/dist/{adapter-RtS8vD8U-BvmL3EaF.mjs.map → adapter-RtS8vD8U-BnPjAiLV.mjs.map} +1 -1
- package/dist/adapter.d.mts +7 -7
- package/dist/adapter.mjs +6 -6
- 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 +7 -7
- 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-CfPWv_-P-BHAGgGYI.mjs → authoring-B2hHIzvd-D5NgHs0e.mjs} +5 -5
- package/dist/{authoring-CfPWv_-P-BHAGgGYI.mjs.map → authoring-B2hHIzvd-D5NgHs0e.mjs.map} +1 -1
- package/dist/{check-expressions-BRuSxJ5d-CC5OFfR1.mjs → check-expressions-BaFrBceq-ChgvazEN.mjs} +15 -13
- 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-CyhMngN6-BlKEiEni.mjs → codec-registry-CKBDkxX7-Kw84Or3s.mjs} +5 -5
- package/dist/{codec-registry-CyhMngN6-BlKEiEni.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-hSJgX8qY-fZSDQFIE.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-DlLLhKi4.d.mts → contract-free-DY8vDIxh.d.mts} +19 -2
- package/dist/contract-free-DY8vDIxh.d.mts.map +1 -0
- package/dist/{contract-free-DAGgx1J-.mjs → contract-free-DaK6wmmo.mjs} +3 -3
- package/dist/contract-free-DaK6wmmo.mjs.map +1 -0
- package/dist/{control-BVAy0J9w.mjs → control-Bpd77Aeq.mjs} +11 -11
- package/dist/{control-BVAy0J9w.mjs.map → control-Bpd77Aeq.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-adapter-Co30P4lH-B8vk7fsI.mjs → control-adapter-Co30P4lH-e6oCFCC2.mjs} +7 -7
- package/dist/{control-adapter-Co30P4lH-B8vk7fsI.mjs.map → control-adapter-Co30P4lH-e6oCFCC2.mjs.map} +1 -1
- package/dist/{control-policy-C16wMazs-O_wlPuFC.mjs → control-policy-B7t5CB1S-CotIwNO4.mjs} +16 -22
- package/dist/control-policy-B7t5CB1S-CotIwNO4.mjs.map +1 -0
- package/dist/{data-type-entries-C2zpNOAQ-BJh8QNDa.mjs → data-type-entries-DoR61yeO-BB2cY7rI.mjs} +3 -3
- package/dist/{data-type-entries-C2zpNOAQ-BJh8QNDa.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-BRBW3ouc-ZtyZE7nE.mjs → data-types-DRkmmE9S-C5Q9oH4Q.mjs} +14 -5
- package/dist/data-types-DRkmmE9S-C5Q9oH4Q.mjs.map +1 -0
- package/dist/{ddl-BzsT_-qY-Cdzm0YIK.mjs → ddl-C_vTj7b5-vyGLBKLo.mjs} +50 -5
- package/dist/ddl-C_vTj7b5-vyGLBKLo.mjs.map +1 -0
- package/dist/default-constraint-names-CtcRXhV8-nz3ff6b8.mjs +18 -0
- package/dist/default-constraint-names-CtcRXhV8-nz3ff6b8.mjs.map +1 -0
- 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-DUiQQsOX.mjs → descriptor-meta-ARufwwWW-C5hsT7UQ.mjs} +3 -3
- package/dist/{descriptor-meta-ARufwwWW-DUiQQsOX.mjs.map → descriptor-meta-ARufwwWW-C5hsT7UQ.mjs.map} +1 -1
- package/dist/{descriptor-meta-Dp8tWKKU-5RiFTCA_.mjs → descriptor-meta-C8lkQFHe-Cluy19Tk.mjs} +8 -8
- package/dist/{descriptor-meta-Dp8tWKKU-5RiFTCA_.mjs.map → descriptor-meta-C8lkQFHe-Cluy19Tk.mjs.map} +1 -1
- package/dist/{descriptor-meta-runtime-BycwK4wx-CuDo_Atu.mjs → descriptor-meta-runtime-iArZEoCE-GhLNDdg-.mjs} +3 -3
- package/dist/{descriptor-meta-runtime-BycwK4wx-CuDo_Atu.mjs.map → descriptor-meta-runtime-iArZEoCE-GhLNDdg-.mjs.map} +1 -1
- package/dist/{diff-database-schema-DRPIV4Ae-BSY-cBm0.mjs → diff-database-schema-KGNaKzKp-Bt2yYSIt.mjs} +6 -6
- package/dist/{diff-database-schema-DRPIV4Ae-BSY-cBm0.mjs.map → diff-database-schema-KGNaKzKp-Bt2yYSIt.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-2O1p7zJA--CcXJUdq.mjs → full-text-index-expression-Bfp_xWhy-DtbLdkzv.mjs} +4 -4
- package/dist/{full-text-index-expression-2O1p7zJA--CcXJUdq.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-shHWsRbe-C65aVFOB.mjs → infer-psl-contract-DoIdoifj-Co9thnGu.mjs} +7 -7
- package/dist/{infer-psl-contract-shHWsRbe-C65aVFOB.mjs.map → infer-psl-contract-DoIdoifj-Co9thnGu.mjs.map} +1 -1
- package/dist/migration-PTHAY9Cv.mjs.map +1 -1
- package/dist/{op-factory-call-B-4nf1jC-DkRw5e1q.mjs → op-factory-call-BAgAln5R-BTkhp29z.mjs} +70 -18
- package/dist/op-factory-call-BAgAln5R-BTkhp29z.mjs.map +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-B5wkfdZ_-bckhSgt5.mjs → planner-DSTSuAc8-BAfUo5KV.mjs} +16 -12
- package/dist/planner-DSTSuAc8-BAfUo5KV.mjs.map +1 -0
- package/dist/{planner-ddl-builders-ClaAKDuZ-DpDBj2cs.mjs → planner-ddl-builders-Y0_96xpe-BzugdEDO.mjs} +44 -14
- package/dist/planner-ddl-builders-Y0_96xpe-BzugdEDO.mjs.map +1 -0
- package/dist/{planner-identity-values-BZpK0CdX-BJo672Ml.mjs → planner-identity-values-CRS2cQ6v-DakZeIQj.mjs} +3 -3
- package/dist/{planner-identity-values-BZpK0CdX-BJo672Ml.mjs.map → planner-identity-values-CRS2cQ6v-DakZeIQj.mjs.map} +1 -1
- package/dist/{planner-produced-postgres-migration-B3dM0fTf-XkTUm5wR.mjs → planner-produced-postgres-migration-D7-3OBb_-BGHFKj3i.mjs} +3 -3
- package/dist/{planner-produced-postgres-migration-B3dM0fTf-XkTUm5wR.mjs.map → planner-produced-postgres-migration-D7-3OBb_-BGHFKj3i.mjs.map} +1 -1
- package/dist/{planner-sql-checks-Bhp0Iq_X-DwwIxJHj.mjs → planner-sql-checks-rqOH8naU-B6xOE5lC.mjs} +4 -4
- package/dist/{planner-sql-checks-Bhp0Iq_X-DwwIxJHj.mjs.map → planner-sql-checks-rqOH8naU-B6xOE5lC.mjs.map} +1 -1
- package/dist/{postgres-contract-view-rT0ZLNqw-DThfALEV.mjs → postgres-contract-view-C1bi3x4v-BAfk6euQ.mjs} +6 -6
- package/dist/{postgres-contract-view-rT0ZLNqw-DThfALEV.mjs.map → postgres-contract-view-C1bi3x4v-BAfk6euQ.mjs.map} +1 -1
- package/dist/{postgres-migration-CmD95Eh_-DGLByWZD.mjs → postgres-migration-CeX6vfEU-DsmCRCnD.mjs} +85 -59
- package/dist/postgres-migration-CeX6vfEU-DsmCRCnD.mjs.map +1 -0
- package/dist/postgres-object-name-FPikIvOw-BNs44hTu.mjs +23 -0
- package/dist/postgres-object-name-FPikIvOw-BNs44hTu.mjs.map +1 -0
- package/dist/{postgres-schema-DXd0mebY-CExd_GcQ.mjs → postgres-schema-AlEVkXXS-ZfXWYddl.mjs} +3 -3
- package/dist/{postgres-schema-DXd0mebY-CExd_GcQ.mjs.map → postgres-schema-AlEVkXXS-ZfXWYddl.mjs.map} +1 -1
- package/dist/{prisma7-binding-CArLf1qk.mjs → prisma7-binding-B4BfqE0o.mjs} +12 -7
- package/dist/prisma7-binding-B4BfqE0o.mjs.map +1 -0
- package/dist/{prisma7-binding-DNckHEx8.d.mts → prisma7-binding-Dm34z6Fq.d.mts} +14 -4
- package/dist/prisma7-binding-Dm34z6Fq.d.mts.map +1 -0
- package/dist/{resolve-ddl-schema-CadTChyu-C7F31wpN.mjs → resolve-ddl-schema-BthOWVjF-DuZ9iUh-.mjs} +3 -3
- package/dist/{resolve-ddl-schema-CadTChyu-C7F31wpN.mjs.map → resolve-ddl-schema-BthOWVjF-DuZ9iUh-.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-G0Q8NmyB.mjs → sql-renderer-DT4IEOVi-CBE8uTub.mjs} +3 -3
- package/dist/{sql-renderer-DT4IEOVi-G0Q8NmyB.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/{sql-utils-BMXJi06b-CAQOplfq.mjs → sql-utils-CVsvXiX4-C7xD0Bgv.mjs} +5 -9
- package/dist/sql-utils-CVsvXiX4-C7xD0Bgv.mjs.map +1 -0
- package/dist/target.d.mts +14 -14
- 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.d.mts +2 -2
- package/dist/target__contract-free.mjs +4 -4
- 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.mjs +1 -1
- package/dist/target__migration.mjs +2 -2
- package/dist/target__op-factory-call.mjs +1 -1
- 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.mjs +1 -1
- package/dist/target__planner-sql-checks.mjs +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__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 +2 -2
- 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-BRuSxJ5d-CC5OFfR1.mjs.map +0 -1
- package/dist/check-expressions-CBIgoKhV-D7oTR8lp.d.mts.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-hSJgX8qY-fZSDQFIE.mjs.map +0 -1
- package/dist/contract-free-DAGgx1J-.mjs.map +0 -1
- package/dist/contract-free-DlLLhKi4.d.mts.map +0 -1
- package/dist/control-policy-C16wMazs-O_wlPuFC.mjs.map +0 -1
- package/dist/data-types-BRBW3ouc-ZtyZE7nE.mjs.map +0 -1
- package/dist/ddl-BzsT_-qY-Cdzm0YIK.mjs.map +0 -1
- package/dist/default-normalizer-CrMBHF0W-BaUR4Ec8.mjs.map +0 -1
- package/dist/op-factory-call-B-4nf1jC-DkRw5e1q.mjs.map +0 -1
- package/dist/planner-B5wkfdZ_-bckhSgt5.mjs.map +0 -1
- package/dist/planner-ddl-builders-ClaAKDuZ-DpDBj2cs.mjs.map +0 -1
- package/dist/postgres-migration-CmD95Eh_-DGLByWZD.mjs.map +0 -1
- package/dist/prisma7-binding-CArLf1qk.mjs.map +0 -1
- package/dist/prisma7-binding-DNckHEx8.d.mts.map +0 -1
- package/dist/sql-utils-BMXJi06b-CAQOplfq.mjs.map +0 -1
- package/dist/types-CdJszzhP.d.mts +0 -2
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"planner-B5wkfdZ_-bckhSgt5.mjs","names":["#lowerer"],"sources":["../../../../3-targets/3-targets/postgres/dist/planner-B5wkfdZ_.mjs"],"sourcesContent":["import { t as DEFAULT_NAMESPACE_ID } from \"./namespace-ids-xtp_ZY86.mjs\";\nimport { _ as PostgresRlsPolicy, r as isPostgresSchema } from \"./postgres-schema-DXd0mebY.mjs\";\nimport { t as PostgresTableSchemaNode } from \"./postgres-table-schema-node-BBkitBQh.mjs\";\nimport { i as PostgresDatabaseSchemaNode, n as PostgresPolicySchemaNode, r as PostgresNamespaceSchemaNode } from \"./postgres-role-schema-node-B8Z5i5D-.mjs\";\nimport { t as resolveDdlSchemaForNamespaceStorage } from \"./resolve-ddl-schema-CadTChyu.mjs\";\nimport { t as buildPostgresPlanDiff } from \"./diff-database-schema-DRPIV4Ae.mjs\";\nimport { a as resolvePostgresNodeIssueCreationFactoryName, c as issueNode, d as postgresPlannerStrategies, h as postgresNodeStorageCoordinate, i as resolvePostgresNodeIssueControlPolicySubject, l as issueSchemaName, n as resolveNamespaceIdForDdlSchema, o as coalesceSubtreeIssues, r as resolvePostgresCallControlPolicySubject, s as conflictForDisallowedCall, t as renderPostgresSuppression, u as planIssues } from \"./control-policy-C16wMazs.mjs\";\nimport { C as DropNativeEnumTypeCall, E as DropTableCall, M as RenameTableCall, O as RawSqlCall, R as renameTableStatement, T as DropPostgresRlsPolicyCall, j as RenamePostgresRlsPolicyCall, l as AlterColumnTypeCall, p as CreatePostgresRlsPolicyCall, y as DropColumnCall } from \"./op-factory-call-B-4nf1jC.mjs\";\nimport { a as pairCheckRenames, n as emissionSchemaForNamespace, o as pairIndexRenames } from \"./postgres-migration-CmD95Eh_.mjs\";\nimport { t as TypeScriptRenderablePostgresMigration } from \"./planner-produced-postgres-migration-B3dM0fTf.mjs\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { issueOutcome } from \"@internal/framework-components/control\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\nimport { controlPolicyForCall, detectTableNameCaseChanges, extractCodecControlHooks, partitionCallsByControlPolicy, partitionIssuesByControlPolicy, planFieldEventOperations, plannerFailure, sqlTypeLookupsOf } from \"@internal/family-sql/control\";\nimport { namingOf, parseWireName } from \"@internal/sql-schema-ir/naming\";\nimport { ifDefined } from \"@internal/utils/defined\";\n//#region src/core/migrations/verify-postgres-namespaces.ts\n/**\n* Resolves the live-database schema name for a given namespace\n* coordinate. Mirrors `resolveDdlSchemaForNamespace` in\n* `planner-strategies.ts` so the verifier's projection and the\n* planner's projection always agree — Postgres-aware namespaces (the\n* production path) dispatch to `ddlSchemaName(storage)`, and bare\n* object payloads (used by some tests) fall back to the coordinate\n* itself.\n*/\nfunction resolveDdlSchemaName(storage, namespaceId) {\n\tconst namespace = storage.namespaces[namespaceId];\n\tif (isPostgresSchema(namespace)) return namespace.ddlSchemaName(storage);\n\treturn namespaceId;\n}\n/**\n* Reads the introspected list of schema names from the database-root schema\n* node. `existingSchemas` is database-level, so it lives on the\n* `PostgresDatabaseSchemaNode` root — not on the per-schema namespace nodes.\n*\n* Defaults to the always-present `public` schema when the node is not the\n* database root — a fresh Postgres database always carries `public` (unless an\n* operator dropped it manually), so any verifier path that runs without an\n* enriched introspection still suppresses the redundant `CREATE SCHEMA\n* \"public\"`.\n*\n* Production introspection (`PostgresControlAdapter.introspect`) is the\n* authoritative source: it queries `pg_namespace` and sets `existingSchemas`\n* on the returned root. Tests that want to assert against a richer initial\n* state construct a `PostgresDatabaseSchemaNode` explicitly.\n*/\nfunction existingSchemasFromSchema(schema) {\n\tif (PostgresDatabaseSchemaNode.is(schema)) return schema.existingSchemas;\n\treturn [DEFAULT_NAMESPACE_ID];\n}\n/**\n* Emits a `postgres-namespace` `not-found` diff issue for every\n* contract-declared Postgres namespace whose live container does not yet\n* exist. The planner prepends these (node-typed, synthesized) to the\n* relational diff issues so a multi-schema plan emits `CREATE SCHEMA`\n* before the tables that need it — a planner-only concern (verify already\n* rejects via the `not-found` table issues a missing schema already\n* produces), so this is not part of the shared diff.\n*\n* A namespace's live container is the schema returned by its\n* polymorphic `ddlSchemaName(storage)` method — named schemas resolve\n* to their own id; the unbound singleton returns `UNBOUND_NAMESPACE_ID`\n* and is skipped explicitly (late-bound namespaces have no fixed DDL\n* schema). Issues are emitted only when the resolved name is a real,\n* creatable schema (not the unbound sentinel) and is missing from the\n* introspected list. `public` is suppressed implicitly because the\n* introspection (or its sensible default) always carries it.\n*\n* Each emitted issue's path is `['database', ddlName]` — an ancestor of\n* every table path under that schema, so it must never be run through\n* `coalesceSubtreeIssues` alongside the table diff (it would swallow the\n* table-level `not-found` issues that drive `CREATE TABLE`); the planner\n* adds these AFTER coalescing the relational issues, and they are not\n* subject to sibling-space ownership scoping (mirrors the retired\n* coordinate walk, which prepended namespace issues after that filter).\n*/\nfunction verifyPostgresNamespacePresence(input) {\n\tconst { contract, schema } = input;\n\tconst existing = new Set(existingSchemasFromSchema(schema));\n\tconst issues = [];\n\tconst namespaceIds = Object.keys(contract.storage.namespaces).sort();\n\tfor (const namespaceId of namespaceIds) {\n\t\tif (namespaceId === UNBOUND_NAMESPACE_ID) continue;\n\t\tconst ddlName = resolveDdlSchemaName(contract.storage, namespaceId);\n\t\tif (ddlName === UNBOUND_NAMESPACE_ID) continue;\n\t\tif (existing.has(ddlName)) continue;\n\t\tconst namespace = new PostgresNamespaceSchemaNode({\n\t\t\tschemaName: ddlName,\n\t\t\ttables: {}\n\t\t});\n\t\tissues.push({\n\t\t\tpath: [\"database\", ddlName],\n\t\t\texpected: namespace\n\t\t});\n\t}\n\treturn issues;\n}\n//#endregion\n//#region src/core/migrations/planner.ts\nfunction partitionPostgresCallsByControlPolicy(calls, contract) {\n\treturn partitionCallsByControlPolicy({\n\t\tcalls,\n\t\tcontract,\n\t\tresolveControlPolicySubject: (call) => resolvePostgresCallControlPolicySubject(call, contract),\n\t\tresolveFactoryName: (call) => call.factoryName\n\t});\n}\nfunction createPostgresMigrationPlanner(lowerer) {\n\treturn new PostgresMigrationPlanner(lowerer);\n}\n/**\n* Postgres migration planner — a thin wrapper over `planIssues`.\n*\n* `plan()` diffs the target contract against the live schema via the one\n* differ (`buildPostgresPlanDiff`, producing node-typed `SchemaDiffIssue[]`)\n* and delegates to `planIssues` with the unified `postgresPlannerStrategies`\n* list: NOT-NULL backfill, type-change, nullable-tightening, codec-hook\n* storage types, component-declared dependency installs, and\n* shared-temp-default / empty-table-guarded NOT-NULL add-column. The same\n* strategy list runs for `migration plan`, `db update`, and `db init`;\n* behavior diverges purely on `policy.allowedOperationClasses` (the\n* data-safe strategies short-circuit when `'data'` is excluded). The issue\n* planner applies operation-class policy gates and emits a single\n* `PostgresOpFactoryCall[]` that drives both the runtime-ops view (via\n* `renderOps`) and the `renderTypeScript()` authoring surface. RLS policy\n* drift (the structural half of the same one-differ tree) is handled\n* separately via `planPostgresSchemaDiff`.\n*/\nvar PostgresMigrationPlanner = class {\n\t#lowerer;\n\tconstructor(lowerer) {\n\t\tthis.#lowerer = lowerer;\n\t}\n\tplan(options) {\n\t\treturn this.planSql(blindCast(options));\n\t}\n\temptyMigration(context, spaceId) {\n\t\treturn new TypeScriptRenderablePostgresMigration([], {\n\t\t\tfrom: context.fromHash,\n\t\t\tto: context.toHash\n\t\t}, spaceId, context.snapshotsImportPath, this.#lowerer);\n\t}\n\tplanSql(options) {\n\t\tconst schemaName = options.schemaName ?? Object.keys(options.contract.storage.namespaces).find((id) => id !== UNBOUND_NAMESPACE_ID) ?? UNBOUND_NAMESPACE_ID;\n\t\tconst policyResult = this.ensureAdditivePolicy(options.policy);\n\t\tif (policyResult) return policyResult;\n\t\tPostgresDatabaseSchemaNode.assert(options.schema);\n\t\tconst { issues: rawIssues } = buildPostgresPlanDiff({\n\t\t\tcontract: options.contract,\n\t\t\tactualSchema: options.schema,\n\t\t\tframeworkComponents: options.frameworkComponents\n\t\t});\n\t\tconst policyDiffIssues = rawIssues.filter((issue) => isPolicyDiffIssue(issue));\n\t\tconst relationalDiffIssues = rawIssues.filter((issue) => !isPolicyDiffIssue(issue));\n\t\tconst strict = options.policy.allowedOperationClasses.includes(\"widening\") || options.policy.allowedOperationClasses.includes(\"destructive\");\n\t\tconst owned = retainUnownedExtras(coalesceSubtreeIssues(relationalDiffIssues), options.ownership, options.contract);\n\t\tconst gated = strict ? owned : owned.filter((issue) => issueOutcome(issue) !== \"not-expected\");\n\t\tconst schemaIssues = [...verifyPostgresNamespacePresence({\n\t\t\tcontract: options.contract,\n\t\t\tschema: options.schema\n\t\t}), ...gated];\n\t\tconst indexRenames = pairIndexRenames(options, schemaIssues);\n\t\tconst checkRenames = pairCheckRenames(options, schemaIssues);\n\t\tconst renameConsumed = /* @__PURE__ */ new Set([...indexRenames.consumed, ...checkRenames.consumed]);\n\t\tconst plannableIssues = renameConsumed.size === 0 ? schemaIssues : schemaIssues.filter((issue) => !renameConsumed.has(issue));\n\t\tconst codecHooks = extractCodecControlHooks(options.frameworkComponents);\n\t\tconst types = sqlTypeLookupsOf(options.frameworkComponents);\n\t\tconst storageTypes = options.contract.storage.types ?? {};\n\t\tconst relationalSchema = relationalNamespaceNode(options.schema, schemaName);\n\t\tconst issuePartition = partitionIssuesByControlPolicy({\n\t\t\tissues: plannableIssues,\n\t\t\tcontract: options.contract,\n\t\t\tresolveControlPolicySubject: (issue) => resolvePostgresNodeIssueControlPolicySubject(issue, options.contract),\n\t\t\tresolveCreationFactoryName: resolvePostgresNodeIssueCreationFactoryName\n\t\t});\n\t\tconst caseChangeConflicts = detectTableNameCaseChanges({\n\t\t\tissues: issuePartition.plannable,\n\t\t\ttableOf: (issue) => {\n\t\t\t\tconst node = issueNode(issue);\n\t\t\t\treturn node !== void 0 && PostgresTableSchemaNode.is(node) ? node : void 0;\n\t\t\t},\n\t\t\tnamespaceIdOf: (issue) => resolveNamespaceIdForDdlSchema(options.contract, issueSchemaName(issue) ?? schemaName),\n\t\t\trenameByHandStatements: (rename) => [renameTableStatement(emissionSchemaForNamespace(options.contract, rename.namespaceId), rename.from, rename.to)],\n\t\t\trenameTableCall: (rename) => new RenameTableCall(rename.namespaceId ?? UNBOUND_NAMESPACE_ID, rename.from, rename.to).renderTypeScript(),\n\t\t\tcontract: options.contract,\n\t\t\tdefaultNamespaceId: DEFAULT_NAMESPACE_ID\n\t\t});\n\t\tif (caseChangeConflicts.length > 0) return plannerFailure(caseChangeConflicts);\n\t\tconst result = planIssues({\n\t\t\tissues: issuePartition.plannable,\n\t\t\ttoContract: options.contract,\n\t\t\tfromContract: options.fromContract,\n\t\t\tschemaName,\n\t\t\tcodecHooks,\n\t\t\ttypes,\n\t\t\tstorageTypes,\n\t\t\t...ifDefined(\"schema\", relationalSchema),\n\t\t\tpolicy: options.policy,\n\t\t\tframeworkComponents: options.frameworkComponents,\n\t\t\tstrategies: postgresPlannerStrategies\n\t\t});\n\t\tconst schemaDiff = this.planPostgresSchemaDiff(options, policyDiffIssues);\n\t\tif (!result.ok || schemaDiff.conflicts.length > 0) return plannerFailure([...result.ok ? [] : result.failure, ...schemaDiff.conflicts]);\n\t\tconst indexRenamePartition = partitionPostgresCallsByControlPolicy([...indexRenames.calls, ...checkRenames.calls], options.contract);\n\t\tconst schemaDiffPartition = partitionPostgresCallsByControlPolicy(schemaDiff.calls, options.contract);\n\t\tconst fieldEventPartition = partitionPostgresCallsByControlPolicy(blindCast(planFieldEventOperations({\n\t\t\tpriorContract: options.fromContract,\n\t\t\tnewContract: options.contract,\n\t\t\tcodecHooks\n\t\t})), options.contract);\n\t\tconst ordered = movePolicyDropsBeforeBlockedDdl(result.value.calls, schemaDiffPartition.kept);\n\t\tconst calls = [\n\t\t\t...ordered.structural,\n\t\t\t...indexRenamePartition.kept,\n\t\t\t...ordered.policyCalls,\n\t\t\t...fieldEventPartition.kept\n\t\t];\n\t\tconst seenWarnings = /* @__PURE__ */ new Set();\n\t\tconst warnings = [\n\t\t\t...issuePartition.suppressions,\n\t\t\t...indexRenamePartition.suppressions,\n\t\t\t...schemaDiff.suppressions,\n\t\t\t...schemaDiffPartition.suppressions,\n\t\t\t...fieldEventPartition.suppressions\n\t\t].map((record) => renderPostgresSuppression(record, options.contract)).filter((warning) => {\n\t\t\tconst key = JSON.stringify(warning);\n\t\t\tif (seenWarnings.has(key)) return false;\n\t\t\tseenWarnings.add(key);\n\t\t\treturn true;\n\t\t});\n\t\treturn Object.freeze({\n\t\t\tkind: \"success\",\n\t\t\tplan: new TypeScriptRenderablePostgresMigration(calls, {\n\t\t\t\tfrom: options.fromContract?.storage.storageHash ?? null,\n\t\t\t\tto: options.contract.storage.storageHash\n\t\t\t}, options.spaceId, options.snapshotsImportPath, this.#lowerer),\n\t\t\t...warnings.length > 0 ? { warnings: Object.freeze(warnings) } : {}\n\t\t});\n\t}\n\t/**\n\t* Maps the RLS policy findings of the one combined tree diff\n\t* (`buildPostgresPlanDiff`, already ownership-filtered) into\n\t* `CREATE POLICY` / `DROP POLICY` / `ALTER POLICY … RENAME TO` ops — a\n\t* `not-equal` finding (an exact-named policy whose content drifted)\n\t* becomes drop + create, or a disallowed-call conflict when the policy\n\t* forbids the destructive drop. It\n\t* does not re-diff — it consumes exactly the policy-node subset of the\n\t* shared diff's issues. Enablement is NOT decided here: `ENABLE`/`DISABLE\n\t* ROW LEVEL SECURITY` derive from the table's marker-driven `rlsEnabled`\n\t* attribute diff on the relational side.\n\t*\n\t* Rename post-pass (the index pass's structure): hash pairing pairs a\n\t* `not-found` and a `not-expected` policy on the SAME table whose\n\t* wire-name content hashes match but prefixes differ (prefix-only rename);\n\t* content pairing then pairs remaining wire-named-missing policies against remaining\n\t* extras of any name shape by verbatim content (the node-owned `contentEquals` —\n\t* exact→wire adoption). Multi-candidate groups pair deterministically\n\t* by sorted name; leftovers proceed as create/drop; an exact-named\n\t* missing policy never content-pairs.\n\t*\n\t* The pairing runs only when the policy allows `widening` (rename's\n\t* class). Without it (db-init's additive-only set), pairing degrades\n\t* deliberately to the additive half: the new name is CREATEd and the old\n\t* policy survives live until a widening/destructive-allowed plan runs —\n\t* emitting an ungated widening rename would only fail at the runner's\n\t* class re-enforcement.\n\t*/\n\tplanPostgresSchemaDiff(options, filteredDiffIssues) {\n\t\tconst allowsDestructive = options.policy.allowedOperationClasses.includes(\"destructive\");\n\t\tconst allowsWidening = options.policy.allowedOperationClasses.includes(\"widening\");\n\t\tconst missing = [];\n\t\tconst extra = [];\n\t\tconst changed = [];\n\t\tfor (const issue of filteredDiffIssues) if (issueOutcome(issue) === \"not-equal\") {\n\t\t\tconst expected = issue.expected;\n\t\t\tPostgresPolicySchemaNode.assert(expected);\n\t\t\tchanged.push({\n\t\t\t\tnode: expected,\n\t\t\t\tschemaForTable: resolveDdlSchemaForNamespaceStorage(options.contract.storage, expected.namespaceId)\n\t\t\t});\n\t\t} else if (issueOutcome(issue) === \"not-found\") {\n\t\t\tconst expected = issue.expected;\n\t\t\tPostgresPolicySchemaNode.assert(expected);\n\t\t\tmissing.push({\n\t\t\t\tnode: expected,\n\t\t\t\tschemaForTable: resolveDdlSchemaForNamespaceStorage(options.contract.storage, expected.namespaceId)\n\t\t\t});\n\t\t} else if (issueOutcome(issue) === \"not-expected\") {\n\t\t\tconst actual = issue.actual;\n\t\t\tPostgresPolicySchemaNode.assert(actual);\n\t\t\textra.push({\n\t\t\t\tnode: actual,\n\t\t\t\tschemaForTable: resolveDdlSchemaForNamespaceStorage(options.contract.storage, actual.namespaceId)\n\t\t\t});\n\t\t}\n\t\tconst calls = [];\n\t\tconst conflicts = [];\n\t\tconst suppressions = [];\n\t\tconst renamedExtras = /* @__PURE__ */ new Set();\n\t\tconst renamedMissing = /* @__PURE__ */ new Set();\n\t\tconst pairingKey = (finding, hash) => JSON.stringify([\n\t\t\tfinding.schemaForTable,\n\t\t\tfinding.node.tableName,\n\t\t\thash\n\t\t]);\n\t\tif (allowsWidening) {\n\t\t\tconst extrasByGroup = /* @__PURE__ */ new Map();\n\t\t\tfor (const finding of extra) {\n\t\t\t\tconst parsed = parseWireName(finding.node.name);\n\t\t\t\tif (parsed === void 0) continue;\n\t\t\t\tconst key = pairingKey(finding, parsed.hash);\n\t\t\t\tconst group = extrasByGroup.get(key) ?? [];\n\t\t\t\tgroup.push(finding);\n\t\t\t\textrasByGroup.set(key, group);\n\t\t\t}\n\t\t\tfor (const group of extrasByGroup.values()) group.sort((a, b) => a.node.name < b.node.name ? -1 : a.node.name > b.node.name ? 1 : 0);\n\t\t\tconst sortedMissing = [...missing].sort((a, b) => a.node.name < b.node.name ? -1 : a.node.name > b.node.name ? 1 : 0);\n\t\t\tfor (const missingFinding of sortedMissing) {\n\t\t\t\tconst parsed = parseWireName(missingFinding.node.name);\n\t\t\t\tif (parsed === void 0) continue;\n\t\t\t\tconst candidate = extrasByGroup.get(pairingKey(missingFinding, parsed.hash))?.shift();\n\t\t\t\tif (candidate === void 0) continue;\n\t\t\t\trenamedExtras.add(candidate);\n\t\t\t\trenamedMissing.add(missingFinding);\n\t\t\t\tcalls.push(new RenamePostgresRlsPolicyCall(missingFinding.schemaForTable, missingFinding.node.tableName, candidate.node.name, missingFinding.node.name));\n\t\t\t}\n\t\t\tconst sortedExtras = [...extra].sort((a, b) => a.node.name < b.node.name ? -1 : a.node.name > b.node.name ? 1 : 0);\n\t\t\tfor (const missingFinding of sortedMissing) {\n\t\t\t\tif (renamedMissing.has(missingFinding)) continue;\n\t\t\t\tif (missingFinding.node.prefix === void 0) continue;\n\t\t\t\tconst candidate = sortedExtras.find((extraFinding) => !renamedExtras.has(extraFinding) && extraFinding.schemaForTable === missingFinding.schemaForTable && extraFinding.node.tableName === missingFinding.node.tableName && missingFinding.node.contentEquals(extraFinding.node));\n\t\t\t\tif (candidate === void 0) continue;\n\t\t\t\trenamedExtras.add(candidate);\n\t\t\t\trenamedMissing.add(missingFinding);\n\t\t\t\tcalls.push(new RenamePostgresRlsPolicyCall(missingFinding.schemaForTable, missingFinding.node.tableName, candidate.node.name, missingFinding.node.name));\n\t\t\t}\n\t\t}\n\t\tfor (const finding of changed) {\n\t\t\tconst replacement = {\n\t\t\t\tdrop: new DropPostgresRlsPolicyCall(finding.schemaForTable, finding.node.tableName, finding.node.name),\n\t\t\t\tcreate: new CreatePostgresRlsPolicyCall(finding.schemaForTable, finding.node.tableName, policyNodeToContractPolicy(finding.node))\n\t\t\t};\n\t\t\tconst graded = gradePolicyReplacement(replacement, options.contract, options.policy.allowedOperationClasses);\n\t\t\tif (graded.disposition === \"suppress\") {\n\t\t\t\tsuppressions.push(graded.record);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (graded.disposition === \"conflict\") {\n\t\t\t\tconflicts.push(graded.conflict);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tcalls.push(replacement.drop);\n\t\t\tcalls.push(replacement.create);\n\t\t}\n\t\tfor (const finding of missing) {\n\t\t\tif (renamedMissing.has(finding)) continue;\n\t\t\tcalls.push(new CreatePostgresRlsPolicyCall(finding.schemaForTable, finding.node.tableName, policyNodeToContractPolicy(finding.node)));\n\t\t}\n\t\tif (allowsDestructive) for (const finding of extra) {\n\t\t\tif (renamedExtras.has(finding)) continue;\n\t\t\tcalls.push(new DropPostgresRlsPolicyCall(finding.schemaForTable, finding.node.tableName, finding.node.name));\n\t\t}\n\t\treturn {\n\t\t\tcalls,\n\t\t\tconflicts,\n\t\t\tsuppressions\n\t\t};\n\t}\n\tensureAdditivePolicy(policy) {\n\t\tif (!policy.allowedOperationClasses.includes(\"additive\")) return plannerFailure([{\n\t\t\tkind: \"unsupportedOperation\",\n\t\t\tsummary: \"Migration planner requires additive operations be allowed\",\n\t\t\twhy: \"The planner requires the \\\"additive\\\" operation class to be allowed in the policy.\"\n\t\t}]);\n\t\treturn null;\n\t}\n};\n/**\n* A diff issue whose node is an RLS policy — the structural half of the one\n* combined tree diff, routed to `planPostgresSchemaDiff` instead of\n* `planIssues`.\n*/\nfunction isPolicyDiffIssue(issue) {\n\tconst node = issue.expected ?? issue.actual;\n\treturn node !== void 0 && PostgresPolicySchemaNode.is(node);\n}\n/**\n* Postgres refuses these statements while a policy uses the object they touch:\n* - dropping a column (2BP01) or changing its type (0A000);\n* - dropping a table that a policy on another table uses (2BP01); a table's own policies go with it;\n* - dropping a native enum type (2BP01);\n* - a destructive codec type operation (a `RawSqlCall` on a type), such as dropping or rebuilding\n* the type (2BP01) or changing a composite type's attribute type (0A000). Additive and widening\n* type operations, such as adding an enum value or renaming the type, go through.\n*\n* So every policy drop moves to just before the first structural call that a policy can block.\n* Without such a call, the policy calls keep their place after the structural calls.\n*/\nfunction movePolicyDropsBeforeBlockedDdl(structural, policyCalls) {\n\tconst firstBlockable = structural.findIndex(policyCanBlock);\n\tif (firstBlockable === -1) return {\n\t\tstructural,\n\t\tpolicyCalls\n\t};\n\tconst isPolicyDrop = (call) => call instanceof DropPostgresRlsPolicyCall;\n\treturn {\n\t\tstructural: [\n\t\t\t...structural.slice(0, firstBlockable),\n\t\t\t...policyCalls.filter(isPolicyDrop),\n\t\t\t...structural.slice(firstBlockable)\n\t\t],\n\t\tpolicyCalls: policyCalls.filter((call) => !isPolicyDrop(call))\n\t};\n}\nfunction policyCanBlock(call) {\n\tif (call instanceof RawSqlCall) return call.operationClass === \"destructive\" && call.op.target.details?.objectType === \"type\";\n\treturn call instanceof DropColumnCall || call instanceof AlterColumnTypeCall || call instanceof DropTableCall || call instanceof DropNativeEnumTypeCall;\n}\n/**\n* Drops a `not-expected` issue when it is a whole extra storage entity (a table\n* or a native enum) that some space in the composition owns. Each such node\n* yields its own storage coordinate (see {@link postgresNodeStorageCoordinate}),\n* so `declaresEntity` answers over the whole composition on one uniform\n* coordinate: a positive answer means a sibling owns this entity here — leave\n* it; a negative answer means a genuine orphan — drop it. A node with no storage\n* coordinate (a namespace, or a deeper column/constraint drift on an owned\n* table) is this space's own and is always kept. No oracle ⇒ keep everything.\n*/\nfunction retainUnownedExtras(issues, ownership, contract) {\n\tif (ownership === void 0) return issues;\n\treturn issues.filter((issue) => {\n\t\tif (issueOutcome(issue) !== \"not-expected\") return true;\n\t\tconst node = issueNode(issue);\n\t\tif (node === void 0) return true;\n\t\tconst coordinate = postgresNodeStorageCoordinate(node);\n\t\tif (coordinate === void 0) return true;\n\t\tconst ddlSchemaName = issueSchemaName(issue);\n\t\tif (ddlSchemaName === void 0) return true;\n\t\tconst namespaceId = resolveNamespaceIdForDdlSchema(contract, ddlSchemaName);\n\t\treturn !ownership.declaresEntity({\n\t\t\tnamespaceId,\n\t\t\t...coordinate\n\t\t});\n\t});\n}\n/**\n* Returns the one namespace node the relational strategy layer probes for\n* live-table existence and reads codec-hook context off — the namespace\n* matching the planner's resolved schema name, or the first namespace when\n* none matches. `undefined` when the tree has no namespaces, so the strategy\n* context uses its empty-schema default.\n*\n* The relational strategies key tables by bare name, so they can only probe one\n* namespace at a time; probing across every namespace at once is future work.\n*\n* Returns the real `PostgresNamespaceSchemaNode` reference rather than a\n* projection: `storageTypePlanCallStrategy` hands this same value to codec\n* `planTypeOperations` hooks as `schema`, and hooks read the Postgres-specific\n* `nativeEnums` field off it (via `PostgresNamespaceSchemaNode.is`) to decide\n* whether a native enum type already exists — a projection that only copies\n* `tables` would silently drop that signal. `StrategyContext.schema`'s\n* declared type (`SqlSchemaIR`, shared with SQLite's flat shape) doesn't\n* capture this, so the return is `blindCast` the same way `namespaceSchemaNodes`\n* in the family's relational walk already treats a namespace node as a\n* structurally-`SqlSchemaIR`-shaped value.\n*/\nfunction relationalNamespaceNode(schema, schemaName) {\n\tconst namespaceNodes = Object.values(schema.namespaces);\n\tconst namespaceNode = namespaceNodes.find((node) => node.schemaName === schemaName) ?? namespaceNodes[0];\n\tif (namespaceNode === void 0) return void 0;\n\treturn blindCast(namespaceNode);\n}\n/**\n* Grades a {@link PolicyReplacement} as one unit against the table's\n* control policy, BEFORE the pair becomes calls or a conflict. This runs\n* ahead of `partitionCallsByControlPolicy`, which later re-grades the\n* surviving calls per-call — a no-op here, since only managed units\n* survive this grading.\n*\n* A replacement is deliberately STRICTER than the shared\n* `callAllowedUnderControlPolicy` rule: `tolerated` permits whole-object\n* creation, but a replacement's create is the second half of a repair of\n* an existing object, not a new object — so ANY non-managed control\n* (external, observed, tolerated) suppresses the whole unit. Drift on an\n* object the plan does not manage is reported, never repaired; the\n* suppression subject names the drifted policy (`rlsPolicy`) so the\n* report says which policy drifted, matching the conflict path's\n* `location.rlsPolicy`.\n*/\nfunction gradePolicyReplacement(replacement, contract, allowedOperationClasses) {\n\tconst subject = resolvePostgresCallControlPolicySubject(replacement.drop, contract);\n\tconst controlPolicy = controlPolicyForCall(subject, contract.defaultControlPolicy);\n\tif (controlPolicy !== \"managed\") return {\n\t\tdisposition: \"suppress\",\n\t\trecord: {\n\t\t\tsubject: subject === void 0 ? void 0 : {\n\t\t\t\t...subject,\n\t\t\t\trlsPolicy: replacement.drop.policyName\n\t\t\t},\n\t\t\tpolicy: controlPolicy,\n\t\t\tfactoryName: void 0,\n\t\t\tcreatesNewObject: false\n\t\t}\n\t};\n\tif (!allowedOperationClasses.includes(\"destructive\")) return {\n\t\tdisposition: \"conflict\",\n\t\tconflict: conflictForDisallowedCall(replacement.drop, allowedOperationClasses)\n\t};\n\treturn { disposition: \"plan\" };\n}\n/**\n* Rebuilds the `PostgresRlsPolicy` contract entity `CreatePostgresRlsPolicyCall`\n* carries (its `renderTypeScript`/`createRlsPolicy` paths serialize the whole\n* entity, `namespaceId` included). This reconstructs rather than looking the\n* original up in the contract on purpose: the diff node's `namespaceId` is the\n* *resolved DDL schema* (set when the expected tree was built), which is the\n* value the emitted op must carry; the contract-stored entity holds the raw,\n* pre-resolution coordinate, so a lookup would change the migration output.\n*/\nfunction policyNodeToContractPolicy(node) {\n\treturn new PostgresRlsPolicy({\n\t\tnaming: namingOf(node.name, node.prefix),\n\t\ttableName: node.tableName,\n\t\tnamespaceId: node.namespaceId,\n\t\toperation: node.operation,\n\t\troles: [...node.roles],\n\t\tusing: node.using,\n\t\twithCheck: node.withCheck,\n\t\tpermissive: node.permissive\n\t});\n}\n//#endregion\nexport { createPostgresMigrationPlanner as t };\n\n//# sourceMappingURL=planner-B5wkfdZ_.mjs.map"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"planner-ddl-builders-ClaAKDuZ-DpDBj2cs.mjs","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/planner-ddl-builders-ClaAKDuZ.mjs"],"sourcesContent":["import { t as escapeLiteral } from \"./sql-utils-BMXJi06b.mjs\";\nimport { A as pgTimestamptz, E as pgTime, M as pgTimetz, O as pgTimestamp, _ as pgInt8, b as pgJsonb, c as pgDate, g as pgInt4, h as pgInt2, v as pgInterval, y as pgJson } from \"./data-types-BRBW3ouc.mjs\";\nimport { dataTypeParams, renderSqlTypeName, sqlDataTypeOfCodec } from \"@internal/sql-contract/data-type\";\n//#region src/core/date-time-ddl-text.ts\nconst DATE_TIME_TYPES = /* @__PURE__ */ new Set([\n\tpgDate.id,\n\tpgTime.id,\n\tpgTimetz.id,\n\tpgTimestamp.id,\n\tpgTimestamptz.id,\n\tpgInterval.id\n]);\nconst TYPES_WITH_A_YEAR = /* @__PURE__ */ new Set([\n\tpgDate.id,\n\tpgTimestamp.id,\n\tpgTimestamptz.id\n]);\n/** Whether a data type is one of this target's date and time types, whose defaults DDL writes as text. */\nfunction isPostgresDateTimeDataType(dataTypeId) {\n\treturn dataTypeId !== void 0 && DATE_TIME_TYPES.has(dataTypeId);\n}\n/**\n* The text DDL writes for a default of a date or time type, from its canonical form (ADR 254). A\n* year from 1 to 9999 stays as it is. PostgreSQL has no year 0 and reads no signed year, so a later\n* year loses its sign and leading zeros (`10000-01-01`) and a year at or before 0 is written as the\n* year before Christ (`0044-03-15 BC`). Every Postgres DDL path writes a date or time default\n* through this function.\n*/\nfunction postgresDateTimeDdlText(canonical, dataTypeId) {\n\tif (dataTypeId === void 0 || !TYPES_WITH_A_YEAR.has(dataTypeId)) return canonical;\n\tconst match = /^([+-]\\d{6}|\\d{4})(-.*)$/.exec(canonical);\n\tif (match === null) return canonical;\n\tconst [, yearDigits = \"\", rest = \"\"] = match;\n\tconst year = Number(yearDigits);\n\tif (year >= 1 && year <= 9999) return canonical;\n\tif (year > 9999) return `${year}${rest}`;\n\treturn `${String(1 - year).padStart(4, \"0\")}${rest} BC`;\n}\n//#endregion\n//#region src/core/migrations/planner-ddl-builders.ts\nconst SERIAL_TYPES = /* @__PURE__ */ new Map([\n\t[pgInt4.id, \"SERIAL\"],\n\t[pgInt8.id, \"BIGSERIAL\"],\n\t[pgInt2.id, \"SMALLSERIAL\"]\n]);\nconst JSON_DATA_TYPES = /* @__PURE__ */ new Set([pgJson.id, pgJsonb.id]);\n/**\n* Renders the SQL type for a column in DDL context: the name its codec's data type is written\n* with, and its parameters. A `typeRef` column is written as a column of the referenced type.\n*\n* @param allowPseudoTypes - When true (default), autoincrement integer columns\n* produce SERIAL/BIGSERIAL/SMALLSERIAL pseudo-types. Set to false for contexts\n* like ALTER COLUMN TYPE where pseudo-types are invalid.\n*/\nfunction buildColumnTypeSql(column, types, storageTypes = {}, allowPseudoTypes = true) {\n\tconst resolved = (column.typeRef === void 0 ? void 0 : storageTypes[column.typeRef]) ?? column;\n\tconst dataType = sqlDataTypeOfCodec(resolved.codecId, types);\n\tif (allowPseudoTypes) {\n\t\tconst columnDefault = column.default;\n\t\tconst serial = SERIAL_TYPES.get(dataType.id);\n\t\tif (serial !== void 0 && columnDefault?.kind === \"function\" && columnDefault.expression === \"autoincrement()\") return serial;\n\t}\n\tconst typeSql = renderSqlTypeName(dataType, dataTypeParams(dataType, resolved.typeParams));\n\treturn column.many ? `${typeSql}[]` : typeSql;\n}\nfunction renderDefaultLiteral(value, column) {\n\tif (column?.many && Array.isArray(value)) return renderArrayLiteralDefault(value, column.baseTypeName, column.dataType);\n\tif (column !== void 0 && JSON_DATA_TYPES.has(column.dataType) && typeof value === \"object\" && value !== null && !(value instanceof Date)) return `'${escapeLiteral(JSON.stringify(value))}'::${column.baseTypeName}`;\n\treturn renderScalarLiteral(value, column?.dataType);\n}\n/** A date or time value is written through the one function every DDL path uses for it. */\nfunction renderScalarLiteral(value, dataType) {\n\tif (value instanceof Date) return `'${escapeLiteral(value.toISOString())}'`;\n\tif (typeof value === \"string\") return `'${escapeLiteral(postgresDateTimeDdlText(value, dataType))}'`;\n\tif (typeof value === \"number\" || typeof value === \"boolean\") return String(value);\n\tif (value === null) return \"NULL\";\n\treturn `'${escapeLiteral(JSON.stringify(value))}'`;\n}\n/**\n* An `ARRAY[...]` of quoted elements has type `text[]`, which Postgres does not assign to a list of\n* numbers, decimals, timestamps or enums, so the constructor is cast to the list type. Each element\n* is the text Postgres reads for its type: an `int8` or `numeric` value as decimal text, a date or\n* time value in its type's canonical form. The cast is `baseTypeName` with `[]` appended unless it\n* already ends in `[]`; the name is not quoted here.\n*/\nfunction renderArrayLiteralDefault(elements, baseTypeName, dataType) {\n\tif (elements.length === 0) return \"'{}'\";\n\tconst rendered = `ARRAY[${elements.map((el) => renderScalarLiteral(el, dataType)).join(\", \")}]`;\n\tif (baseTypeName === \"\") return rendered;\n\treturn `${rendered}::${baseTypeName.endsWith(\"[]\") ? baseTypeName : `${baseTypeName}[]`}`;\n}\n//#endregion\nexport { postgresDateTimeDdlText as i, renderDefaultLiteral as n, isPostgresDateTimeDataType as r, buildColumnTypeSql as t };\n\n//# sourceMappingURL=planner-ddl-builders-ClaAKDuZ.mjs.map"],"mappings":";;;;AAIA,MAAM,kCAAkC,IAAI,IAAI;CAC/C,OAAO;CACP,OAAO;CACP,SAAS;CACT,YAAY;CACZ,cAAc;CACd,WAAW;AACZ,CAAC;AACD,MAAM,oCAAoC,IAAI,IAAI;CACjD,OAAO;CACP,YAAY;CACZ,cAAc;AACf,CAAC;;AAED,SAAS,2BAA2B,YAAY;CAC/C,OAAO,eAAe,KAAK,KAAK,gBAAgB,IAAI,UAAU;AAC/D;;;;;;;;AAQA,SAAS,wBAAwB,WAAW,YAAY;CACvD,IAAI,eAAe,KAAK,KAAK,CAAC,kBAAkB,IAAI,UAAU,GAAG,OAAO;CACxE,MAAM,QAAQ,2BAA2B,KAAK,SAAS;CACvD,IAAI,UAAU,MAAM,OAAO;CAC3B,MAAM,GAAG,aAAa,IAAI,OAAO,MAAM;CACvC,MAAM,OAAO,OAAO,UAAU;CAC9B,IAAI,QAAQ,KAAK,QAAQ,MAAM,OAAO;CACtC,IAAI,OAAO,MAAM,OAAO,GAAG,OAAO;CAClC,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG,IAAI,KAAK;AACpD;AAGA,MAAM,+BAA+B,IAAI,IAAI;CAC5C,CAAC,OAAO,IAAI,QAAQ;CACpB,CAAC,OAAO,IAAI,WAAW;CACvB,CAAC,OAAO,IAAI,aAAa;AAC1B,CAAC;AACD,MAAM,kCAAkC,IAAI,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC;;;;;;;;;AASvE,SAAS,mBAAmB,QAAQ,OAAO,eAAe,CAAC,GAAG,mBAAmB,MAAM;CACtF,MAAM,YAAY,OAAO,YAAY,KAAK,IAAI,KAAK,IAAI,aAAa,OAAO,aAAa;CACxF,MAAM,WAAW,mBAAmB,SAAS,SAAS,KAAK;CAC3D,IAAI,kBAAkB;EACrB,MAAM,gBAAgB,OAAO;EAC7B,MAAM,SAAS,aAAa,IAAI,SAAS,EAAE;EAC3C,IAAI,WAAW,KAAK,KAAK,eAAe,SAAS,cAAc,cAAc,eAAe,mBAAmB,OAAO;CACvH;CACA,MAAM,UAAU,kBAAkB,UAAU,eAAe,UAAU,SAAS,UAAU,CAAC;CACzF,OAAO,OAAO,OAAO,GAAG,QAAQ,MAAM;AACvC;AACA,SAAS,qBAAqB,OAAO,QAAQ;CAC5C,IAAI,QAAQ,QAAQ,MAAM,QAAQ,KAAK,GAAG,OAAO,0BAA0B,OAAO,OAAO,cAAc,OAAO,QAAQ;CACtH,IAAI,WAAW,KAAK,KAAK,gBAAgB,IAAI,OAAO,QAAQ,KAAK,OAAO,UAAU,YAAY,UAAU,QAAQ,EAAE,iBAAiB,OAAO,OAAO,IAAI,cAAc,KAAK,UAAU,KAAK,CAAC,EAAE,KAAK,OAAO;CACtM,OAAO,oBAAoB,OAAO,QAAQ,QAAQ;AACnD;;AAEA,SAAS,oBAAoB,OAAO,UAAU;CAC7C,IAAI,iBAAiB,MAAM,OAAO,IAAI,cAAc,MAAM,YAAY,CAAC,EAAE;CACzE,IAAI,OAAO,UAAU,UAAU,OAAO,IAAI,cAAc,wBAAwB,OAAO,QAAQ,CAAC,EAAE;CAClG,IAAI,OAAO,UAAU,YAAY,OAAO,UAAU,WAAW,OAAO,OAAO,KAAK;CAChF,IAAI,UAAU,MAAM,OAAO;CAC3B,OAAO,IAAI,cAAc,KAAK,UAAU,KAAK,CAAC,EAAE;AACjD;;;;;;;;AAQA,SAAS,0BAA0B,UAAU,cAAc,UAAU;CACpE,IAAI,SAAS,WAAW,GAAG,OAAO;CAClC,MAAM,WAAW,SAAS,SAAS,KAAK,OAAO,oBAAoB,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;CAC7F,IAAI,iBAAiB,IAAI,OAAO;CAChC,OAAO,GAAG,SAAS,IAAI,aAAa,SAAS,IAAI,IAAI,eAAe,GAAG,aAAa;AACrF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-migration-CmD95Eh_-DGLByWZD.mjs","names":["#endView","#startView"],"sources":["../../../../3-targets/3-targets/postgres/dist/postgres-migration-CmD95Eh_.mjs"],"sourcesContent":["import { t as errorPostgresMigrationStackMissing } from \"./errors-DYyzTYzE.mjs\";\nimport { _ as PostgresRlsPolicy, v as PostgresRlsEnablement } from \"./postgres-schema-DXd0mebY.mjs\";\nimport { n as postgresResolveDefault } from \"./default-normalizer-CrMBHF0W.mjs\";\nimport { t as resolveDdlSchemaForNamespaceStorage } from \"./resolve-ddl-schema-CadTChyu.mjs\";\nimport { r as contractToPostgresDatabaseSchemaNode, t as buildPostgresPlanDiff } from \"./diff-database-schema-DRPIV4Ae.mjs\";\nimport { c as issueNode, f as defaultForeignKeyName, m as defaultUniqueName, n as resolveNamespaceIdForDdlSchema, p as defaultPrimaryKeyName } from \"./control-policy-C16wMazs.mjs\";\nimport { A as RenameIndexCall, B as installExtension, C as DropNativeEnumTypeCall, D as EnableRowLevelSecurityCall, E as DropTableCall, M as RenameTableCall, N as SetDefaultCall, P as SetNotNullCall, S as DropIndexCall, T as DropPostgresRlsPolicyCall, _ as DisableRowLevelSecurityCall, b as DropConstraintCall, c as AddUniqueCall, d as CreateIndexCall, f as CreateNativeEnumTypeCall, h as CreateTableCall, i as AddNativeEnumValueCall, j as RenamePostgresRlsPolicyCall, k as RenameConstraintCall, l as AlterColumnTypeCall, m as CreateSchemaCall, n as AddColumnCall, p as CreatePostgresRlsPolicyCall, 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-B-4nf1jC.mjs\";\nimport { n as renderDefaultLiteral } from \"./planner-ddl-builders-ClaAKDuZ.mjs\";\nimport { t as PostgresContractView } from \"./postgres-contract-view-rT0ZLNqw.mjs\";\nimport { t as dataTransform } from \"./data-transform-Bo32KRbq.mjs\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { issueOutcome } from \"@internal/framework-components/control\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\nimport { applyTableRename, sqlTypeLookupsOf } from \"@internal/family-sql/control\";\nimport { namingOf, parseWireName } from \"@internal/sql-schema-ir/naming\";\nimport { assertDefined } from \"@internal/utils/assertions\";\nimport { SqlCheckConstraintIR, SqlIndexIR } from \"@internal/sql-schema-ir/types\";\nimport { errorMigrationOperationOptionRemoved } from \"@internal/errors/migration\";\nimport { Migration } from \"@internal/family-sql/migration\";\nimport { MigrationContractViews } from \"@internal/migration-tools/migration\";\n//#region src/core/migrations/index-and-check-renames.ts\n/**\n* Rename post-pass for indexes, per `(schema, table)`, widening-only,\n* deterministic by sorted names — the same structure as the policy pass\n* below (which stays untouched: policies pair by hash only).\n*\n* Hash pairing (prefix-only renames): extras whose live names parse as\n* wire names, grouped by `(schema, table, hash)`; missing nodes iterated\n* in sorted-name order consume the sorted-name-first candidate.\n*\n* Content pairing (exact→wire convergence), after hash pairing has\n* consumed its matches: the remaining wire-named-missing nodes\n* (`prefix` defined) against the remaining extras of any name shape,\n* paired iff content-equal (columns ordered-strict both-defined-or-\n* both-undefined, `unique`/`type` strict, `options` loose, bodies\n* byte-equal).\n*\n* Leftovers proceed as create/drop exactly as before; without the\n* widening allowance the pass is skipped and pairing degrades to the\n* additive half, like the policy pass.\n*/\nfunction pairIndexRenames(options, issues) {\n\tconst consumed = /* @__PURE__ */ new Set();\n\tconst calls = [];\n\tif (!options.policy.allowedOperationClasses.includes(\"widening\")) return {\n\t\tcalls,\n\t\tconsumed\n\t};\n\tconst missing = [];\n\tconst extra = [];\n\tfor (const issue of issues) {\n\t\tconst node = issueNode(issue);\n\t\tif (node === void 0 || !SqlIndexIR.is(node)) continue;\n\t\tconst ddlSchema = issue.path[1];\n\t\tconst tableName = issue.path[2];\n\t\tif (ddlSchema === void 0 || tableName === void 0) continue;\n\t\tif (issueOutcome(issue) === \"not-found\") missing.push({\n\t\t\tissue,\n\t\t\tnode,\n\t\t\tddlSchema,\n\t\t\ttableName\n\t\t});\n\t\telse if (issueOutcome(issue) === \"not-expected\") extra.push({\n\t\t\tissue,\n\t\t\tnode,\n\t\t\tddlSchema,\n\t\t\ttableName\n\t\t});\n\t}\n\tif (missing.length === 0 || extra.length === 0) return {\n\t\tcalls,\n\t\tconsumed\n\t};\n\tconst byName = (a, b) => a.node.name < b.node.name ? -1 : a.node.name > b.node.name ? 1 : 0;\n\tconst emissionSchema = (ddlSchema) => resolveNamespaceIdForDdlSchema(options.contract, ddlSchema) === UNBOUND_NAMESPACE_ID ? UNBOUND_NAMESPACE_ID : ddlSchema;\n\tconst pairingKey = (finding, hash) => JSON.stringify([\n\t\tfinding.ddlSchema,\n\t\tfinding.tableName,\n\t\thash\n\t]);\n\tconst rename = (missingFinding, candidate) => {\n\t\tconsumed.add(missingFinding.issue);\n\t\tconsumed.add(candidate.issue);\n\t\tcalls.push(new RenameIndexCall(emissionSchema(missingFinding.ddlSchema), missingFinding.tableName, candidate.node.name, missingFinding.node.name));\n\t};\n\tconst sortedMissing = [...missing].sort(byName);\n\tconst extrasByHash = /* @__PURE__ */ new Map();\n\tfor (const finding of extra) {\n\t\tconst parsed = parseWireName(finding.node.name);\n\t\tif (parsed === void 0) continue;\n\t\tconst key = pairingKey(finding, parsed.hash);\n\t\tconst group = extrasByHash.get(key) ?? [];\n\t\tgroup.push(finding);\n\t\textrasByHash.set(key, group);\n\t}\n\tfor (const group of extrasByHash.values()) group.sort(byName);\n\tfor (const missingFinding of sortedMissing) {\n\t\tconst parsed = parseWireName(missingFinding.node.name);\n\t\tif (parsed === void 0) continue;\n\t\tconst candidate = extrasByHash.get(pairingKey(missingFinding, parsed.hash))?.shift();\n\t\tif (candidate === void 0) continue;\n\t\trename(missingFinding, candidate);\n\t}\n\tconst sortedExtras = [...extra].sort(byName);\n\tfor (const missingFinding of sortedMissing) {\n\t\tif (consumed.has(missingFinding.issue)) continue;\n\t\tif (missingFinding.node.prefix === void 0) continue;\n\t\tconst candidate = sortedExtras.find((extraFinding) => !consumed.has(extraFinding.issue) && extraFinding.ddlSchema === missingFinding.ddlSchema && extraFinding.tableName === missingFinding.tableName && missingFinding.node.contentEquals(extraFinding.node, {\n\t\t\tcolumnPresence: \"matching\",\n\t\t\tbodies: \"verbatim\"\n\t\t}));\n\t\tif (candidate === void 0) continue;\n\t\trename(missingFinding, candidate);\n\t}\n\treturn {\n\t\tcalls,\n\t\tconsumed\n\t};\n}\n/**\n* Check-constraint rename post-pass: a `not-found` and a `not-expected`\n* check on the same table whose wire-name content hashes match but whose\n* prefixes differ is a prefix-only rename, and collapses into one\n* `ALTER TABLE … RENAME CONSTRAINT`.\n*\n* This is the index pass's hash-pairing phase and nothing else. There is\n* deliberately no content-pairing phase: a live check body is whatever\n* Postgres reprinted, so it never byte-matches the authored text, and\n* pairing an exact-named live check by content would bless whatever\n* predicate is actually live. Adoption of an old exact-named check stays\n* drop + add.\n*\n* Runs only when the policy allows `widening` (rename's class). Without it\n* the pass no-ops and the pair degrades to the slice-1 behavior: an add,\n* plus a drop when `destructive` is allowed too.\n*/\nfunction pairCheckRenames(options, issues) {\n\tconst consumed = /* @__PURE__ */ new Set();\n\tconst calls = [];\n\tif (!options.policy.allowedOperationClasses.includes(\"widening\")) return {\n\t\tcalls,\n\t\tconsumed\n\t};\n\tconst missing = [];\n\tconst extra = [];\n\tfor (const issue of issues) {\n\t\tconst node = issueNode(issue);\n\t\tif (node === void 0 || !SqlCheckConstraintIR.is(node)) continue;\n\t\tconst ddlSchema = issue.path[1];\n\t\tconst tableName = issue.path[2];\n\t\tif (ddlSchema === void 0 || tableName === void 0) continue;\n\t\tif (issueOutcome(issue) === \"not-found\") missing.push({\n\t\t\tissue,\n\t\t\tnode,\n\t\t\tddlSchema,\n\t\t\ttableName\n\t\t});\n\t\telse if (issueOutcome(issue) === \"not-expected\") extra.push({\n\t\t\tissue,\n\t\t\tnode,\n\t\t\tddlSchema,\n\t\t\ttableName\n\t\t});\n\t}\n\tif (missing.length === 0 || extra.length === 0) return {\n\t\tcalls,\n\t\tconsumed\n\t};\n\tconst byName = (a, b) => a.node.name < b.node.name ? -1 : a.node.name > b.node.name ? 1 : 0;\n\tconst emissionSchema = (ddlSchema) => resolveNamespaceIdForDdlSchema(options.contract, ddlSchema) === UNBOUND_NAMESPACE_ID ? UNBOUND_NAMESPACE_ID : ddlSchema;\n\tconst pairingKey = (finding, hash) => JSON.stringify([\n\t\tfinding.ddlSchema,\n\t\tfinding.tableName,\n\t\thash\n\t]);\n\tconst sortedMissing = [...missing].sort(byName);\n\tconst extrasByHash = /* @__PURE__ */ new Map();\n\tfor (const finding of extra) {\n\t\tconst parsed = parseWireName(finding.node.name);\n\t\tif (parsed === void 0) continue;\n\t\tconst key = pairingKey(finding, parsed.hash);\n\t\tconst group = extrasByHash.get(key) ?? [];\n\t\tgroup.push(finding);\n\t\textrasByHash.set(key, group);\n\t}\n\tfor (const group of extrasByHash.values()) group.sort(byName);\n\tfor (const missingFinding of sortedMissing) {\n\t\tconst parsed = parseWireName(missingFinding.node.name);\n\t\tif (parsed === void 0) continue;\n\t\tconst candidate = extrasByHash.get(pairingKey(missingFinding, parsed.hash))?.shift();\n\t\tif (candidate === void 0) continue;\n\t\tconsumed.add(missingFinding.issue);\n\t\tconsumed.add(candidate.issue);\n\t\tcalls.push(new RenameConstraintCall(emissionSchema(missingFinding.ddlSchema), missingFinding.tableName, \"checkConstraint\", candidate.node.name, missingFinding.node.name));\n\t}\n\treturn {\n\t\tcalls,\n\t\tconsumed\n\t};\n}\n//#endregion\n//#region src/core/migrations/postgres-contract-to-schema.ts\nfunction postgresRenderDefault(def, column, type) {\n\tif (def.kind === \"function\") return def.expression;\n\treturn renderDefaultLiteral(def.value, {\n\t\tmany: column.many,\n\t\t...type\n\t});\n}\n/**\n* The Postgres schema tree a contract describes, as the planner's \"from\" side:\n* the target descriptor's `migrations.contractToSchema` hook and the trees\n* `renameTable` compares to find its companion renames both go through here,\n* so they are built with the same type lookups, default renderer and default resolver.\n*/\nfunction postgresContractToSchema(contract, frameworkComponents) {\n\tconst types = sqlTypeLookupsOf(frameworkComponents);\n\treturn contractToPostgresDatabaseSchemaNode(blindCast(contract), {\n\t\tannotationNamespace: \"pg\",\n\t\tdataTypeLookup: types.dataTypeLookup,\n\t\tcodecLookup: types.codecLookup,\n\t\trenderDefault: postgresRenderDefault,\n\t\tresolveDefault: postgresResolveDefault\n\t});\n}\n//#endregion\n//#region src/core/migrations/rename-rls-references.ts\nfunction renamedMarker(marker, rename) {\n\tif (!(marker instanceof PostgresRlsEnablement) || marker.tableName !== rename.from) return marker;\n\treturn new PostgresRlsEnablement({\n\t\ttableName: rename.to,\n\t\tnamespaceId: marker.namespaceId\n\t});\n}\nfunction renamedPolicy(policy, rename) {\n\tif (!(policy instanceof PostgresRlsPolicy) || policy.tableName !== rename.from) return policy;\n\treturn new PostgresRlsPolicy({\n\t\tnaming: namingOf(policy.name, policy.prefix),\n\t\ttableName: rename.to,\n\t\tnamespaceId: policy.namespaceId,\n\t\toperation: policy.operation,\n\t\troles: policy.roles,\n\t\tusing: policy.using,\n\t\twithCheck: policy.withCheck,\n\t\tpermissive: policy.permissive\n\t});\n}\n/**\n* Moves the RLS marker and the policies of a renamed table onto its new name. The marker is keyed by table name; policies are keyed by their own name and only their `tableName` changes. Policy names do not derive from the table name, so none is renamed.\n*/\nfunction renameRlsReferences(entries, rename) {\n\tconst markers = entries[\"rls\"];\n\tconst policies = entries[\"policy\"];\n\treturn {\n\t\t...entries,\n\t\t...markers === void 0 ? {} : { rls: Object.fromEntries(Object.entries(markers).map(([tableName, marker]) => [tableName === rename.from ? rename.to : tableName, renamedMarker(marker, rename)])) },\n\t\t...policies === void 0 ? {} : { policy: Object.fromEntries(Object.entries(policies).map(([name, policy]) => [name, renamedPolicy(policy, rename)])) }\n\t};\n}\n//#endregion\n//#region src/core/migrations/table-rename-constraint-renames.ts\n/** The constraint of the next table the diff pairs with `node` and finds unchanged, as the diff compares them. */\nfunction unchangedIn(node, nextNodes) {\n\treturn nextNodes.find((next) => next.id === node.id && next.isEqualTo(node));\n}\n/**\n* The constraint renames that follow a table rename. A primary key, unique constraint or foreign key the start contract left unnamed carries a name derived from the old table name. When the end contract keeps the same constraint unchanged, it is renamed to the name the end contract gives it explicitly, or otherwise to the name derived from the new table name. A constraint the end contract changes is not renamed, so it keeps its name in the database. A constraint the start contract named keeps its name. Indexes and checks are not handled here: their wire names pair by content hash in the index and check rename passes.\n*/\nfunction constraintRenamesForTableRename(input) {\n\tconst { schemaName, from, to, previous, next } = input;\n\tconst rename = (kind, oldName, unchanged, derivedName) => {\n\t\tif (unchanged === void 0) return [];\n\t\tconst newName = unchanged.name ?? derivedName;\n\t\treturn oldName === newName ? [] : [new RenameConstraintCall(schemaName, to, kind, oldName, newName)];\n\t};\n\tconst primaryKey = previous.primaryKey !== void 0 && previous.primaryKey.name === void 0 ? rename(\"primaryKey\", defaultPrimaryKeyName(from), unchangedIn(previous.primaryKey, next.primaryKey === void 0 ? [] : [next.primaryKey]), defaultPrimaryKeyName(to)) : [];\n\tconst uniques = previous.uniques.filter((unique) => unique.name === void 0).flatMap((unique) => rename(\"unique\", defaultUniqueName(from, unique.columns), unchangedIn(unique, next.uniques), defaultUniqueName(to, unique.columns)));\n\tconst foreignKeys = previous.foreignKeys.filter((fk) => fk.name === void 0).flatMap((fk) => rename(\"foreignKey\", defaultForeignKeyName(from, fk.columns), unchangedIn(fk, next.foreignKeys), defaultForeignKeyName(to, fk.columns)));\n\treturn [\n\t\t...primaryKey,\n\t\t...uniques,\n\t\t...foreignKeys\n\t];\n}\n//#endregion\n//#region src/core/migrations/table-rename-calls.ts\nconst RENAME_POLICY = { allowedOperationClasses: [\"widening\"] };\nfunction emissionSchemaForNamespace(contract, namespaceId) {\n\treturn namespaceId === UNBOUND_NAMESPACE_ID ? UNBOUND_NAMESPACE_ID : resolveDdlSchemaForNamespaceStorage(contract.storage, namespaceId);\n}\nfunction renamedTableNode(schema, contract, rename) {\n\tconst ddlSchema = resolveDdlSchemaForNamespaceStorage(contract.storage, rename.namespaceId);\n\tconst table = Object.values(schema.namespaces).find((namespace) => namespace.schemaName === ddlSchema)?.tables[rename.to];\n\tassertDefined(table, `a resolved rename names table \"${rename.to}\" in schema \"${ddlSchema}\"`);\n\treturn table;\n}\n/**\n* The calls a migration's `renameTable` emits: the table rename, then a rename of each primary key, unique constraint and foreign key the start contract left unnamed, and of each wire-named index and check whose prefix derives from the table name. Only objects the end contract leaves otherwise unchanged are renamed; an unchanged constraint takes the end contract's explicit name if it has one. Throws `MIGRATION.TABLE_RENAME_UNMATCHED` when the start contract lacks the table or the end contract lacks the new name.\n*/\nfunction postgresTableRenameCalls(input) {\n\tconst applied = applyTableRename({\n\t\tstartContract: input.startContract,\n\t\tendContract: input.endContract,\n\t\trename: input.rename,\n\t\trenameTableReferences: renameRlsReferences\n\t});\n\tif (!applied.ok) throw applied.failure;\n\tconst { rename } = applied.value;\n\tconst contract = input.endContract;\n\tconst schemaName = emissionSchemaForNamespace(contract, rename.namespaceId);\n\tconst previousSchema = postgresContractToSchema(applied.value.contract, input.frameworkComponents);\n\tconst nextSchema = postgresContractToSchema(contract, input.frameworkComponents);\n\tconst { issues } = buildPostgresPlanDiff({\n\t\tcontract,\n\t\tactualSchema: previousSchema,\n\t\tframeworkComponents: input.frameworkComponents\n\t});\n\tconst onRenamedTable = (call) => call.schemaName === schemaName && call.tableName === rename.to;\n\tconst pairing = {\n\t\tcontract,\n\t\tpolicy: RENAME_POLICY\n\t};\n\treturn [\n\t\tnew RenameTableCall(schemaName, rename.from, rename.to),\n\t\t...constraintRenamesForTableRename({\n\t\t\tschemaName,\n\t\t\tfrom: rename.from,\n\t\t\tto: rename.to,\n\t\t\tprevious: renamedTableNode(previousSchema, contract, rename),\n\t\t\tnext: renamedTableNode(nextSchema, contract, rename)\n\t\t}),\n\t\t...pairIndexRenames(pairing, issues).calls.filter(onRenamedTable),\n\t\t...pairCheckRenames(pairing, issues).calls.filter(onRenamedTable)\n\t];\n}\n//#endregion\n//#region src/core/migrations/postgres-migration.ts\n/**\n* Target-owned base class for Postgres migrations.\n*\n* Fixes the `SqlMigration` generic to `PostgresPlanTargetDetails` and the\n* abstract `targetId` to the Postgres target-id string literal, so both\n* user-authored migrations and renderer-generated scaffolds (the output of\n* `renderCallsToTypeScript`) can extend `PostgresMigration` directly without\n* redeclaring target-local identity.\n*\n* Mirrors `MongoMigration` in `@internal/family-mongo`: the renderer\n* emits `extends Migration` against a facade re-export of this class\n* from `@internal/postgres/migration`, keeping the authoring surface\n* target-scoped rather than family-scoped.\n*\n* The constructor materializes a single Postgres `SqlControlAdapter` from\n* `stack.adapter.create(stack)` and stores it; the protected `dataTransform`\n* instance method forwards to the free `dataTransform` factory with that\n* stored adapter, so user migrations can write `this.dataTransform(...)`\n* without threading the adapter through every call.\n*\n* Every method requires an explicit `schema`. Postgres migrations name their\n* schema deliberately — there is no default and no `search_path`-relative\n* option. A migration that left the schema unspecified would resolve against\n* whatever `search_path` the connection happened to carry, and that ambiguity\n* is an antipattern in a migration. (The unbound/unspecified namespace concept\n* remains for SQLite, which has no schemas, and for Mongo's connection `db`.)\n*/\nvar PostgresMigration = class extends Migration {\n\ttargetId = \"postgres\";\n\t/**\n\t* Materialized Postgres control adapter, created once per migration\n\t* instance from the injected stack. `undefined` only when the migration\n\t* was instantiated without a stack (test fixtures); `controlAdapterFor`\n\t* throws a MIGRATION.POSTGRES_CONTROL_STACK_MISSING in that case to surface the misuse.\n\t*/\n\tcontrolAdapter;\n\t#endView = new MigrationContractViews(this, \"PostgresMigration\", (json) => PostgresContractView.fromJson(json));\n\t#startView = new MigrationContractViews(this, \"PostgresMigration\", (json) => PostgresContractView.fromJson(json));\n\tconstructor(stack) {\n\t\tsuper(stack);\n\t\tthis.controlAdapter = stack?.adapter ? blindCast(stack.adapter.create(stack)) : void 0;\n\t}\n\tframeworkComponents() {\n\t\tconst stack = this.stack;\n\t\tif (stack === void 0) return [];\n\t\treturn [\n\t\t\tstack.target,\n\t\t\t...stack.adapter === void 0 ? [] : [stack.adapter],\n\t\t\t...stack.extensions\n\t\t];\n\t}\n\t/**\n\t* Returns the materialized control adapter, or throws a MIGRATION.POSTGRES_CONTROL_STACK_MISSING naming\n\t* `operation` when the migration was constructed without a `ControlStack`.\n\t* Single home for the null-check that every DDL/DML method shares.\n\t*/\n\tcontrolAdapterFor(operation) {\n\t\tif (!this.controlAdapter) throw errorPostgresMigrationStackMissing(operation);\n\t\treturn this.controlAdapter;\n\t}\n\t/**\n\t* The typed, schema-qualified Postgres view over this migration's end-state\n\t* contract — `this.endContract.namespace.<schema>.table.<name>`, etc. Throws\n\t* if no `endContractJson` was provided.\n\t*/\n\tget endContract() {\n\t\treturn this.#endView.endContract;\n\t}\n\t/**\n\t* The typed Postgres view over this migration's start-state contract, or\n\t* `null` for a baseline migration (no `startContractJson`).\n\t*/\n\tget startContract() {\n\t\treturn this.#startView.startContract;\n\t}\n\t/**\n\t* Instance-method wrapper around the free `dataTransform` factory that\n\t* supplies the stored control adapter. Authors call this from inside\n\t* `get operations()`; the adapter argument is hidden from the call site.\n\t*/\n\tdataTransform(contract, name, options) {\n\t\treturn dataTransform(contract, name, options, this.controlAdapterFor(\"dataTransform\"));\n\t}\n\t/**\n\t* Emit a `CREATE TABLE` migration operation. Builds a typed DDL node from\n\t* the supplied options and lowers it through the stored control adapter.\n\t* Throws if no adapter is present (i.e. migration instantiated without a stack).\n\t*/\n\tcreateTable(options) {\n\t\treturn new CreateTableCall(options.schema, options.table, options.columns, options.constraints).toOp(this.controlAdapterFor(\"createTable\"));\n\t}\n\t/**\n\t* Emit a `CREATE SCHEMA` migration operation. Builds a typed DDL node from\n\t* the supplied options and lowers it through the stored control adapter.\n\t* Throws if no adapter is present (i.e. migration instantiated without a stack).\n\t*/\n\tcreateSchema(options) {\n\t\treturn new CreateSchemaCall(options.schema).toOp(this.controlAdapterFor(\"createSchema\"));\n\t}\n\t/**\n\t* Emit a `CREATE TYPE ... AS ENUM (...)` migration operation for a managed\n\t* native enum. Builds a typed DDL node and lowers it through the stored\n\t* control adapter (members render in declaration order). Throws if no adapter\n\t* is present.\n\t*/\n\tcreateNativeEnumType(options) {\n\t\treturn new CreateNativeEnumTypeCall(options.schema, options.typeName, options.members).toOp(this.controlAdapterFor(\"createNativeEnumType\"));\n\t}\n\t/**\n\t* Emit a `DROP TYPE` migration operation for a managed native enum, lowered\n\t* through the stored control adapter. Throws if no adapter is present.\n\t*/\n\tdropNativeEnumType(options) {\n\t\treturn new DropNativeEnumTypeCall(options.schema, options.typeName).toOp(this.controlAdapterFor(\"dropNativeEnumType\"));\n\t}\n\t/**\n\t* Emit an `ALTER TYPE ... ADD VALUE` migration operation appending one\n\t* member to a managed native enum, lowered through the stored control\n\t* adapter. Throws if no adapter is present. Every appended value is its\n\t* own operation — call this once per value to append more than one.\n\t*/\n\taddNativeEnumValue(options) {\n\t\treturn new AddNativeEnumValueCall(options.schema, options.typeName, options.value).toOp(this.controlAdapterFor(\"addNativeEnumValue\"));\n\t}\n\taddColumn(options) {\n\t\treturn new AddColumnCall(options.schema, options.table, options.column).toOp(this.controlAdapterFor(\"addColumn\"));\n\t}\n\taddPrimaryKey(options) {\n\t\treturn new AddPrimaryKeyCall(options.schema, options.table, options.constraint, options.columns).toOp(this.controlAdapterFor(\"addPrimaryKey\"));\n\t}\n\taddUnique(options) {\n\t\treturn new AddUniqueCall(options.schema, options.table, options.constraint, options.columns).toOp(this.controlAdapterFor(\"addUnique\"));\n\t}\n\taddForeignKey(options) {\n\t\treturn new AddForeignKeyCall(options.schema, options.table, options.foreignKey).toOp(this.controlAdapterFor(\"addForeignKey\"));\n\t}\n\taddCheckConstraint(options) {\n\t\treturn new AddCheckConstraintCall(options.schema, options.table, options.constraint, options.expression).toOp(this.controlAdapterFor(\"addCheckConstraint\"));\n\t}\n\trenameCheckConstraint(options) {\n\t\treturn this.renameConstraint({\n\t\t\t...options,\n\t\t\tkind: \"checkConstraint\"\n\t\t});\n\t}\n\trenameConstraint(options) {\n\t\treturn new RenameConstraintCall(options.schema ?? UNBOUND_NAMESPACE_ID, options.table, options.kind, options.from, options.to).toOp(this.controlAdapterFor(\"renameConstraint\"));\n\t}\n\tdropCheckConstraint(options) {\n\t\treturn new DropCheckConstraintCall(options.schema, options.table, options.constraint).toOp(this.controlAdapterFor(\"dropCheckConstraint\"));\n\t}\n\tdropConstraint(options) {\n\t\treturn new DropConstraintCall(options.schema, options.table, options.constraint, options.kind ?? \"unique\").toOp(this.controlAdapterFor(\"dropConstraint\"));\n\t}\n\t/**\n\t* Emit the operations that rename a table: the table rename, then a rename of each primary key, unique constraint, foreign key, index and check whose name was derived from the old table name, read from this migration's start and end contracts. Spread the result into `operations`: `...this.renameTable({ table: 'userProfile', to: 'UserProfile' })`. `schema` names the table's namespace when more than one declares the table. Throws `MIGRATION.TABLE_RENAME_UNMATCHED` when the start contract lacks the table or the end contract lacks the new name.\n\t*/\n\trenameTable(options) {\n\t\tconst adapter = this.controlAdapterFor(\"renameTable\");\n\t\treturn postgresTableRenameCalls({\n\t\t\tstartContract: this.startContract,\n\t\t\tendContract: this.endContract,\n\t\t\trename: {\n\t\t\t\tnamespaceId: options.schema,\n\t\t\t\tfrom: options.table,\n\t\t\t\tto: options.to\n\t\t\t},\n\t\t\tframeworkComponents: this.frameworkComponents()\n\t\t}).map(async (call) => call.toOp(adapter));\n\t}\n\tdropTable(options) {\n\t\treturn new DropTableCall(options.schema, options.table).toOp(this.controlAdapterFor(\"dropTable\"));\n\t}\n\tdropColumn(options) {\n\t\treturn new DropColumnCall(options.schema, options.table, options.column).toOp(this.controlAdapterFor(\"dropColumn\"));\n\t}\n\talterColumnType(options) {\n\t\treturn new AlterColumnTypeCall(options.schema, options.table, options.column, options.options).toOp(this.controlAdapterFor(\"alterColumnType\"));\n\t}\n\tsetNotNull(options) {\n\t\treturn new SetNotNullCall(options.schema, options.table, options.column).toOp(this.controlAdapterFor(\"setNotNull\"));\n\t}\n\tdropNotNull(options) {\n\t\treturn new DropNotNullCall(options.schema, options.table, options.column).toOp(this.controlAdapterFor(\"dropNotNull\"));\n\t}\n\tsetDefault(options) {\n\t\trefuseEarlierSetDefaultOptions(options);\n\t\treturn new SetDefaultCall(options.schema, options.table, options.column, options.operationClass).toOp(this.controlAdapterFor(\"setDefault\"));\n\t}\n\tdropDefault(options) {\n\t\treturn new DropDefaultCall(options.schema, options.table, options.column).toOp(this.controlAdapterFor(\"dropDefault\"));\n\t}\n\tcreateIndex(options) {\n\t\treturn new CreateIndexCall(options.schema, options.table, options.index, options.columns !== void 0 ? { columns: options.columns } : { expression: options.expression }, options.extras).toOp(this.controlAdapterFor(\"createIndex\"));\n\t}\n\trenameIndex(options) {\n\t\treturn new RenameIndexCall(options.schema, options.table, options.from, options.to).toOp(this.controlAdapterFor(\"renameIndex\"));\n\t}\n\tdropIndex(options) {\n\t\treturn new DropIndexCall(options.schema, options.table, options.index).toOp(this.controlAdapterFor(\"dropIndex\"));\n\t}\n\tinstallExtension(options) {\n\t\treturn installExtension(options, this.controlAdapterFor(\"installExtension\"));\n\t}\n\tenableRowLevelSecurity(options) {\n\t\treturn new EnableRowLevelSecurityCall(options.schema, options.table).toOp(this.controlAdapterFor(\"enableRowLevelSecurity\"));\n\t}\n\tdisableRowLevelSecurity(options) {\n\t\treturn new DisableRowLevelSecurityCall(options.schema, options.table).toOp(this.controlAdapterFor(\"disableRowLevelSecurity\"));\n\t}\n\tcreateRlsPolicy(options) {\n\t\treturn new CreatePostgresRlsPolicyCall(options.schema, options.table, new PostgresRlsPolicy({\n\t\t\t...options.policy,\n\t\t\tusing: options.policy.using,\n\t\t\twithCheck: options.policy.withCheck\n\t\t})).toOp(this.controlAdapterFor(\"createRlsPolicy\"));\n\t}\n\tdropRlsPolicy(options) {\n\t\treturn new DropPostgresRlsPolicyCall(options.schema, options.table, options.policy).toOp(this.controlAdapterFor(\"dropRlsPolicy\"));\n\t}\n\trenameRlsPolicy(options) {\n\t\treturn new RenamePostgresRlsPolicyCall(options.schema, options.table, options.from, options.to).toOp(this.controlAdapterFor(\"renameRlsPolicy\"));\n\t}\n};\n/**\n* `setDefault` options an earlier version wrote carry the column's name in `column` and its default as SQL text in `defaultSql`.\n*/\nfunction refuseEarlierSetDefaultOptions(options) {\n\tconst column = options.column;\n\tconst columnIsName = typeof column === \"string\";\n\tif (!columnIsName && !Object.hasOwn(options, \"defaultSql\")) return;\n\tthrow errorMigrationOperationOptionRemoved({\n\t\toperation: \"setDefault\",\n\t\toption: \"defaultSql\",\n\t\tsubject: `column ${JSON.stringify(columnIsName ? column : options.column.name)} of table ${JSON.stringify(options.table)}`,\n\t\trewrite: \"Pass the column as `col(name, type, { default, codecRef })`, with its default written as `lit(value)` or `fn(expression)`, in place of its name and `defaultSql`.\",\n\t\tupgradeEntry: \"migration-ts-column-defaults\"\n\t});\n}\n//#endregion\nexport { pairCheckRenames as a, postgresRenderDefault as i, emissionSchemaForNamespace as n, pairIndexRenames as o, postgresContractToSchema as r, PostgresMigration as t };\n\n//# sourceMappingURL=postgres-migration-CmD95Eh_.mjs.map"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,SAAS,iBAAiB,SAAS,QAAQ;CAC1C,MAAM,2BAA2B,IAAI,IAAI;CACzC,MAAM,QAAQ,CAAC;CACf,IAAI,CAAC,QAAQ,OAAO,wBAAwB,SAAS,UAAU,GAAG,OAAO;EACxE;EACA;CACD;CACA,MAAM,UAAU,CAAC;CACjB,MAAM,QAAQ,CAAC;CACf,KAAK,MAAM,SAAS,QAAQ;EAC3B,MAAM,OAAO,UAAU,KAAK;EAC5B,IAAI,SAAS,KAAK,KAAK,CAAC,WAAW,GAAG,IAAI,GAAG;EAC7C,MAAM,YAAY,MAAM,KAAK;EAC7B,MAAM,YAAY,MAAM,KAAK;EAC7B,IAAI,cAAc,KAAK,KAAK,cAAc,KAAK,GAAG;EAClD,IAAI,aAAa,KAAK,MAAM,aAAa,QAAQ,KAAK;GACrD;GACA;GACA;GACA;EACD,CAAC;OACI,IAAI,aAAa,KAAK,MAAM,gBAAgB,MAAM,KAAK;GAC3D;GACA;GACA;GACA;EACD,CAAC;CACF;CACA,IAAI,QAAQ,WAAW,KAAK,MAAM,WAAW,GAAG,OAAO;EACtD;EACA;CACD;CACA,MAAM,UAAU,GAAG,MAAM,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,IAAI;CAC1F,MAAM,kBAAkB,cAAc,+BAA+B,QAAQ,UAAU,SAAS,MAAM,uBAAuB,uBAAuB;CACpJ,MAAM,cAAc,SAAS,SAAS,KAAK,UAAU;EACpD,QAAQ;EACR,QAAQ;EACR;CACD,CAAC;CACD,MAAM,UAAU,gBAAgB,cAAc;EAC7C,SAAS,IAAI,eAAe,KAAK;EACjC,SAAS,IAAI,UAAU,KAAK;EAC5B,MAAM,KAAK,IAAI,gBAAgB,eAAe,eAAe,SAAS,GAAG,eAAe,WAAW,UAAU,KAAK,MAAM,eAAe,KAAK,IAAI,CAAC;CAClJ;CACA,MAAM,gBAAgB,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,MAAM;CAC9C,MAAM,+BAA+B,IAAI,IAAI;CAC7C,KAAK,MAAM,WAAW,OAAO;EAC5B,MAAM,SAAS,cAAc,QAAQ,KAAK,IAAI;EAC9C,IAAI,WAAW,KAAK,GAAG;EACvB,MAAM,MAAM,WAAW,SAAS,OAAO,IAAI;EAC3C,MAAM,QAAQ,aAAa,IAAI,GAAG,KAAK,CAAC;EACxC,MAAM,KAAK,OAAO;EAClB,aAAa,IAAI,KAAK,KAAK;CAC5B;CACA,KAAK,MAAM,SAAS,aAAa,OAAO,GAAG,MAAM,KAAK,MAAM;CAC5D,KAAK,MAAM,kBAAkB,eAAe;EAC3C,MAAM,SAAS,cAAc,eAAe,KAAK,IAAI;EACrD,IAAI,WAAW,KAAK,GAAG;EACvB,MAAM,YAAY,aAAa,IAAI,WAAW,gBAAgB,OAAO,IAAI,CAAC,CAAC,EAAE,MAAM;EACnF,IAAI,cAAc,KAAK,GAAG;EAC1B,OAAO,gBAAgB,SAAS;CACjC;CACA,MAAM,eAAe,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,MAAM;CAC3C,KAAK,MAAM,kBAAkB,eAAe;EAC3C,IAAI,SAAS,IAAI,eAAe,KAAK,GAAG;EACxC,IAAI,eAAe,KAAK,WAAW,KAAK,GAAG;EAC3C,MAAM,YAAY,aAAa,MAAM,iBAAiB,CAAC,SAAS,IAAI,aAAa,KAAK,KAAK,aAAa,cAAc,eAAe,aAAa,aAAa,cAAc,eAAe,aAAa,eAAe,KAAK,cAAc,aAAa,MAAM;GAC7P,gBAAgB;GAChB,QAAQ;EACT,CAAC,CAAC;EACF,IAAI,cAAc,KAAK,GAAG;EAC1B,OAAO,gBAAgB,SAAS;CACjC;CACA,OAAO;EACN;EACA;CACD;AACD;;;;;;;;;;;;;;;;;;AAkBA,SAAS,iBAAiB,SAAS,QAAQ;CAC1C,MAAM,2BAA2B,IAAI,IAAI;CACzC,MAAM,QAAQ,CAAC;CACf,IAAI,CAAC,QAAQ,OAAO,wBAAwB,SAAS,UAAU,GAAG,OAAO;EACxE;EACA;CACD;CACA,MAAM,UAAU,CAAC;CACjB,MAAM,QAAQ,CAAC;CACf,KAAK,MAAM,SAAS,QAAQ;EAC3B,MAAM,OAAO,UAAU,KAAK;EAC5B,IAAI,SAAS,KAAK,KAAK,CAAC,qBAAqB,GAAG,IAAI,GAAG;EACvD,MAAM,YAAY,MAAM,KAAK;EAC7B,MAAM,YAAY,MAAM,KAAK;EAC7B,IAAI,cAAc,KAAK,KAAK,cAAc,KAAK,GAAG;EAClD,IAAI,aAAa,KAAK,MAAM,aAAa,QAAQ,KAAK;GACrD;GACA;GACA;GACA;EACD,CAAC;OACI,IAAI,aAAa,KAAK,MAAM,gBAAgB,MAAM,KAAK;GAC3D;GACA;GACA;GACA;EACD,CAAC;CACF;CACA,IAAI,QAAQ,WAAW,KAAK,MAAM,WAAW,GAAG,OAAO;EACtD;EACA;CACD;CACA,MAAM,UAAU,GAAG,MAAM,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,IAAI;CAC1F,MAAM,kBAAkB,cAAc,+BAA+B,QAAQ,UAAU,SAAS,MAAM,uBAAuB,uBAAuB;CACpJ,MAAM,cAAc,SAAS,SAAS,KAAK,UAAU;EACpD,QAAQ;EACR,QAAQ;EACR;CACD,CAAC;CACD,MAAM,gBAAgB,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,MAAM;CAC9C,MAAM,+BAA+B,IAAI,IAAI;CAC7C,KAAK,MAAM,WAAW,OAAO;EAC5B,MAAM,SAAS,cAAc,QAAQ,KAAK,IAAI;EAC9C,IAAI,WAAW,KAAK,GAAG;EACvB,MAAM,MAAM,WAAW,SAAS,OAAO,IAAI;EAC3C,MAAM,QAAQ,aAAa,IAAI,GAAG,KAAK,CAAC;EACxC,MAAM,KAAK,OAAO;EAClB,aAAa,IAAI,KAAK,KAAK;CAC5B;CACA,KAAK,MAAM,SAAS,aAAa,OAAO,GAAG,MAAM,KAAK,MAAM;CAC5D,KAAK,MAAM,kBAAkB,eAAe;EAC3C,MAAM,SAAS,cAAc,eAAe,KAAK,IAAI;EACrD,IAAI,WAAW,KAAK,GAAG;EACvB,MAAM,YAAY,aAAa,IAAI,WAAW,gBAAgB,OAAO,IAAI,CAAC,CAAC,EAAE,MAAM;EACnF,IAAI,cAAc,KAAK,GAAG;EAC1B,SAAS,IAAI,eAAe,KAAK;EACjC,SAAS,IAAI,UAAU,KAAK;EAC5B,MAAM,KAAK,IAAI,qBAAqB,eAAe,eAAe,SAAS,GAAG,eAAe,WAAW,mBAAmB,UAAU,KAAK,MAAM,eAAe,KAAK,IAAI,CAAC;CAC1K;CACA,OAAO;EACN;EACA;CACD;AACD;AAGA,SAAS,sBAAsB,KAAK,QAAQ,MAAM;CACjD,IAAI,IAAI,SAAS,YAAY,OAAO,IAAI;CACxC,OAAO,qBAAqB,IAAI,OAAO;EACtC,MAAM,OAAO;EACb,GAAG;CACJ,CAAC;AACF;;;;;;;AAOA,SAAS,yBAAyB,UAAU,qBAAqB;CAChE,MAAM,QAAQ,iBAAiB,mBAAmB;CAClD,OAAO,qCAAqC,UAAU,QAAQ,GAAG;EAChE,qBAAqB;EACrB,gBAAgB,MAAM;EACtB,aAAa,MAAM;EACnB,eAAe;EACf,gBAAgB;CACjB,CAAC;AACF;AAGA,SAAS,cAAc,QAAQ,QAAQ;CACtC,IAAI,EAAE,kBAAkB,0BAA0B,OAAO,cAAc,OAAO,MAAM,OAAO;CAC3F,OAAO,IAAI,sBAAsB;EAChC,WAAW,OAAO;EAClB,aAAa,OAAO;CACrB,CAAC;AACF;AACA,SAAS,cAAc,QAAQ,QAAQ;CACtC,IAAI,EAAE,kBAAkB,sBAAsB,OAAO,cAAc,OAAO,MAAM,OAAO;CACvF,OAAO,IAAI,kBAAkB;EAC5B,QAAQ,SAAS,OAAO,MAAM,OAAO,MAAM;EAC3C,WAAW,OAAO;EAClB,aAAa,OAAO;EACpB,WAAW,OAAO;EAClB,OAAO,OAAO;EACd,OAAO,OAAO;EACd,WAAW,OAAO;EAClB,YAAY,OAAO;CACpB,CAAC;AACF;;;;AAIA,SAAS,oBAAoB,SAAS,QAAQ;CAC7C,MAAM,UAAU,QAAQ;CACxB,MAAM,WAAW,QAAQ;CACzB,OAAO;EACN,GAAG;EACH,GAAG,YAAY,KAAK,IAAI,CAAC,IAAI,EAAE,KAAK,OAAO,YAAY,OAAO,QAAQ,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,YAAY,CAAC,cAAc,OAAO,OAAO,OAAO,KAAK,WAAW,cAAc,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;EACjM,GAAG,aAAa,KAAK,IAAI,CAAC,IAAI,EAAE,QAAQ,OAAO,YAAY,OAAO,QAAQ,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,YAAY,CAAC,MAAM,cAAc,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE;CACrJ;AACD;;AAIA,SAAS,YAAY,MAAM,WAAW;CACrC,OAAO,UAAU,MAAM,SAAS,KAAK,OAAO,KAAK,MAAM,KAAK,UAAU,IAAI,CAAC;AAC5E;;;;AAIA,SAAS,gCAAgC,OAAO;CAC/C,MAAM,EAAE,YAAY,MAAM,IAAI,UAAU,SAAS;CACjD,MAAM,UAAU,MAAM,SAAS,WAAW,gBAAgB;EACzD,IAAI,cAAc,KAAK,GAAG,OAAO,CAAC;EAClC,MAAM,UAAU,UAAU,QAAQ;EAClC,OAAO,YAAY,UAAU,CAAC,IAAI,CAAC,IAAI,qBAAqB,YAAY,IAAI,MAAM,SAAS,OAAO,CAAC;CACpG;CACA,MAAM,aAAa,SAAS,eAAe,KAAK,KAAK,SAAS,WAAW,SAAS,KAAK,IAAI,OAAO,cAAc,sBAAsB,IAAI,GAAG,YAAY,SAAS,YAAY,KAAK,eAAe,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,GAAG,sBAAsB,EAAE,CAAC,IAAI,CAAC;CAClQ,MAAM,UAAU,SAAS,QAAQ,QAAQ,WAAW,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,SAAS,WAAW,OAAO,UAAU,kBAAkB,MAAM,OAAO,OAAO,GAAG,YAAY,QAAQ,KAAK,OAAO,GAAG,kBAAkB,IAAI,OAAO,OAAO,CAAC,CAAC;CACnO,MAAM,cAAc,SAAS,YAAY,QAAQ,OAAO,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,SAAS,OAAO,OAAO,cAAc,sBAAsB,MAAM,GAAG,OAAO,GAAG,YAAY,IAAI,KAAK,WAAW,GAAG,sBAAsB,IAAI,GAAG,OAAO,CAAC,CAAC;CACnO,OAAO;EACN,GAAG;EACH,GAAG;EACH,GAAG;CACJ;AACD;AAGA,MAAM,gBAAgB,EAAE,yBAAyB,CAAC,UAAU,EAAE;AAC9D,SAAS,2BAA2B,UAAU,aAAa;CAC1D,OAAO,gBAAgB,uBAAuB,uBAAuB,oCAAoC,SAAS,SAAS,WAAW;AACvI;AACA,SAAS,iBAAiB,QAAQ,UAAU,QAAQ;CACnD,MAAM,YAAY,oCAAoC,SAAS,SAAS,OAAO,WAAW;CAC1F,MAAM,QAAQ,OAAO,OAAO,OAAO,UAAU,CAAC,CAAC,MAAM,cAAc,UAAU,eAAe,SAAS,CAAC,EAAE,OAAO,OAAO;CACtH,cAAc,OAAO,kCAAkC,OAAO,GAAG,eAAe,UAAU,EAAE;CAC5F,OAAO;AACR;;;;AAIA,SAAS,yBAAyB,OAAO;CACxC,MAAM,UAAU,iBAAiB;EAChC,eAAe,MAAM;EACrB,aAAa,MAAM;EACnB,QAAQ,MAAM;EACd,uBAAuB;CACxB,CAAC;CACD,IAAI,CAAC,QAAQ,IAAI,MAAM,QAAQ;CAC/B,MAAM,EAAE,WAAW,QAAQ;CAC3B,MAAM,WAAW,MAAM;CACvB,MAAM,aAAa,2BAA2B,UAAU,OAAO,WAAW;CAC1E,MAAM,iBAAiB,yBAAyB,QAAQ,MAAM,UAAU,MAAM,mBAAmB;CACjG,MAAM,aAAa,yBAAyB,UAAU,MAAM,mBAAmB;CAC/E,MAAM,EAAE,WAAW,sBAAsB;EACxC;EACA,cAAc;EACd,qBAAqB,MAAM;CAC5B,CAAC;CACD,MAAM,kBAAkB,SAAS,KAAK,eAAe,cAAc,KAAK,cAAc,OAAO;CAC7F,MAAM,UAAU;EACf;EACA,QAAQ;CACT;CACA,OAAO;EACN,IAAI,gBAAgB,YAAY,OAAO,MAAM,OAAO,EAAE;EACtD,GAAG,gCAAgC;GAClC;GACA,MAAM,OAAO;GACb,IAAI,OAAO;GACX,UAAU,iBAAiB,gBAAgB,UAAU,MAAM;GAC3D,MAAM,iBAAiB,YAAY,UAAU,MAAM;EACpD,CAAC;EACD,GAAG,iBAAiB,SAAS,MAAM,CAAC,CAAC,MAAM,OAAO,cAAc;EAChE,GAAG,iBAAiB,SAAS,MAAM,CAAC,CAAC,MAAM,OAAO,cAAc;CACjE;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,IAAI,oBAAoB,cAAc,UAAU;CAC/C,WAAW;;;;;;;CAOX;CACA,WAAW,IAAI,uBAAuB,MAAM,sBAAsB,SAAS,qBAAqB,SAAS,IAAI,CAAC;CAC9G,aAAa,IAAI,uBAAuB,MAAM,sBAAsB,SAAS,qBAAqB,SAAS,IAAI,CAAC;CAChH,YAAY,OAAO;EAClB,MAAM,KAAK;EACX,KAAK,iBAAiB,OAAO,UAAU,UAAU,MAAM,QAAQ,OAAO,KAAK,CAAC,IAAI,KAAK;CACtF;CACA,sBAAsB;EACrB,MAAM,QAAQ,KAAK;EACnB,IAAI,UAAU,KAAK,GAAG,OAAO,CAAC;EAC9B,OAAO;GACN,MAAM;GACN,GAAG,MAAM,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,OAAO;GACjD,GAAG,MAAM;EACV;CACD;;;;;;CAMA,kBAAkB,WAAW;EAC5B,IAAI,CAAC,KAAK,gBAAgB,MAAM,mCAAmC,SAAS;EAC5E,OAAO,KAAK;CACb;;;;;;CAMA,IAAI,cAAc;EACjB,OAAO,KAAKA,SAAS;CACtB;;;;;CAKA,IAAI,gBAAgB;EACnB,OAAO,KAAKC,WAAW;CACxB;;;;;;CAMA,cAAc,UAAU,MAAM,SAAS;EACtC,OAAO,cAAc,UAAU,MAAM,SAAS,KAAK,kBAAkB,eAAe,CAAC;CACtF;;;;;;CAMA,YAAY,SAAS;EACpB,OAAO,IAAI,gBAAgB,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,SAAS,QAAQ,WAAW,CAAC,CAAC,KAAK,KAAK,kBAAkB,aAAa,CAAC;CAC3I;;;;;;CAMA,aAAa,SAAS;EACrB,OAAO,IAAI,iBAAiB,QAAQ,MAAM,CAAC,CAAC,KAAK,KAAK,kBAAkB,cAAc,CAAC;CACxF;;;;;;;CAOA,qBAAqB,SAAS;EAC7B,OAAO,IAAI,yBAAyB,QAAQ,QAAQ,QAAQ,UAAU,QAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,kBAAkB,sBAAsB,CAAC;CAC3I;;;;;CAKA,mBAAmB,SAAS;EAC3B,OAAO,IAAI,uBAAuB,QAAQ,QAAQ,QAAQ,QAAQ,CAAC,CAAC,KAAK,KAAK,kBAAkB,oBAAoB,CAAC;CACtH;;;;;;;CAOA,mBAAmB,SAAS;EAC3B,OAAO,IAAI,uBAAuB,QAAQ,QAAQ,QAAQ,UAAU,QAAQ,KAAK,CAAC,CAAC,KAAK,KAAK,kBAAkB,oBAAoB,CAAC;CACrI;CACA,UAAU,SAAS;EAClB,OAAO,IAAI,cAAc,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,MAAM,CAAC,CAAC,KAAK,KAAK,kBAAkB,WAAW,CAAC;CACjH;CACA,cAAc,SAAS;EACtB,OAAO,IAAI,kBAAkB,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,YAAY,QAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,kBAAkB,eAAe,CAAC;CAC9I;CACA,UAAU,SAAS;EAClB,OAAO,IAAI,cAAc,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,YAAY,QAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,kBAAkB,WAAW,CAAC;CACtI;CACA,cAAc,SAAS;EACtB,OAAO,IAAI,kBAAkB,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,UAAU,CAAC,CAAC,KAAK,KAAK,kBAAkB,eAAe,CAAC;CAC7H;CACA,mBAAmB,SAAS;EAC3B,OAAO,IAAI,uBAAuB,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,YAAY,QAAQ,UAAU,CAAC,CAAC,KAAK,KAAK,kBAAkB,oBAAoB,CAAC;CAC3J;CACA,sBAAsB,SAAS;EAC9B,OAAO,KAAK,iBAAiB;GAC5B,GAAG;GACH,MAAM;EACP,CAAC;CACF;CACA,iBAAiB,SAAS;EACzB,OAAO,IAAI,qBAAqB,QAAQ,UAAU,sBAAsB,QAAQ,OAAO,QAAQ,MAAM,QAAQ,MAAM,QAAQ,EAAE,CAAC,CAAC,KAAK,KAAK,kBAAkB,kBAAkB,CAAC;CAC/K;CACA,oBAAoB,SAAS;EAC5B,OAAO,IAAI,wBAAwB,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,UAAU,CAAC,CAAC,KAAK,KAAK,kBAAkB,qBAAqB,CAAC;CACzI;CACA,eAAe,SAAS;EACvB,OAAO,IAAI,mBAAmB,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,YAAY,QAAQ,QAAQ,QAAQ,CAAC,CAAC,KAAK,KAAK,kBAAkB,gBAAgB,CAAC;CACzJ;;;;CAIA,YAAY,SAAS;EACpB,MAAM,UAAU,KAAK,kBAAkB,aAAa;EACpD,OAAO,yBAAyB;GAC/B,eAAe,KAAK;GACpB,aAAa,KAAK;GAClB,QAAQ;IACP,aAAa,QAAQ;IACrB,MAAM,QAAQ;IACd,IAAI,QAAQ;GACb;GACA,qBAAqB,KAAK,oBAAoB;EAC/C,CAAC,CAAC,CAAC,IAAI,OAAO,SAAS,KAAK,KAAK,OAAO,CAAC;CAC1C;CACA,UAAU,SAAS;EAClB,OAAO,IAAI,cAAc,QAAQ,QAAQ,QAAQ,KAAK,CAAC,CAAC,KAAK,KAAK,kBAAkB,WAAW,CAAC;CACjG;CACA,WAAW,SAAS;EACnB,OAAO,IAAI,eAAe,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,MAAM,CAAC,CAAC,KAAK,KAAK,kBAAkB,YAAY,CAAC;CACnH;CACA,gBAAgB,SAAS;EACxB,OAAO,IAAI,oBAAoB,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,QAAQ,QAAQ,OAAO,CAAC,CAAC,KAAK,KAAK,kBAAkB,iBAAiB,CAAC;CAC9I;CACA,WAAW,SAAS;EACnB,OAAO,IAAI,eAAe,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,MAAM,CAAC,CAAC,KAAK,KAAK,kBAAkB,YAAY,CAAC;CACnH;CACA,YAAY,SAAS;EACpB,OAAO,IAAI,gBAAgB,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,MAAM,CAAC,CAAC,KAAK,KAAK,kBAAkB,aAAa,CAAC;CACrH;CACA,WAAW,SAAS;EACnB,+BAA+B,OAAO;EACtC,OAAO,IAAI,eAAe,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,QAAQ,QAAQ,cAAc,CAAC,CAAC,KAAK,KAAK,kBAAkB,YAAY,CAAC;CAC3I;CACA,YAAY,SAAS;EACpB,OAAO,IAAI,gBAAgB,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,MAAM,CAAC,CAAC,KAAK,KAAK,kBAAkB,aAAa,CAAC;CACrH;CACA,YAAY,SAAS;EACpB,OAAO,IAAI,gBAAgB,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,OAAO,QAAQ,YAAY,KAAK,IAAI,EAAE,SAAS,QAAQ,QAAQ,IAAI,EAAE,YAAY,QAAQ,WAAW,GAAG,QAAQ,MAAM,CAAC,CAAC,KAAK,KAAK,kBAAkB,aAAa,CAAC;CACpO;CACA,YAAY,SAAS;EACpB,OAAO,IAAI,gBAAgB,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,MAAM,QAAQ,EAAE,CAAC,CAAC,KAAK,KAAK,kBAAkB,aAAa,CAAC;CAC/H;CACA,UAAU,SAAS;EAClB,OAAO,IAAI,cAAc,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,KAAK,CAAC,CAAC,KAAK,KAAK,kBAAkB,WAAW,CAAC;CAChH;CACA,iBAAiB,SAAS;EACzB,OAAO,iBAAiB,SAAS,KAAK,kBAAkB,kBAAkB,CAAC;CAC5E;CACA,uBAAuB,SAAS;EAC/B,OAAO,IAAI,2BAA2B,QAAQ,QAAQ,QAAQ,KAAK,CAAC,CAAC,KAAK,KAAK,kBAAkB,wBAAwB,CAAC;CAC3H;CACA,wBAAwB,SAAS;EAChC,OAAO,IAAI,4BAA4B,QAAQ,QAAQ,QAAQ,KAAK,CAAC,CAAC,KAAK,KAAK,kBAAkB,yBAAyB,CAAC;CAC7H;CACA,gBAAgB,SAAS;EACxB,OAAO,IAAI,4BAA4B,QAAQ,QAAQ,QAAQ,OAAO,IAAI,kBAAkB;GAC3F,GAAG,QAAQ;GACX,OAAO,QAAQ,OAAO;GACtB,WAAW,QAAQ,OAAO;EAC3B,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,kBAAkB,iBAAiB,CAAC;CACnD;CACA,cAAc,SAAS;EACtB,OAAO,IAAI,0BAA0B,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,MAAM,CAAC,CAAC,KAAK,KAAK,kBAAkB,eAAe,CAAC;CACjI;CACA,gBAAgB,SAAS;EACxB,OAAO,IAAI,4BAA4B,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,MAAM,QAAQ,EAAE,CAAC,CAAC,KAAK,KAAK,kBAAkB,iBAAiB,CAAC;CAC/I;AACD;;;;AAIA,SAAS,+BAA+B,SAAS;CAChD,MAAM,SAAS,QAAQ;CACvB,MAAM,eAAe,OAAO,WAAW;CACvC,IAAI,CAAC,gBAAgB,CAAC,OAAO,OAAO,SAAS,YAAY,GAAG;CAC5D,MAAM,qCAAqC;EAC1C,WAAW;EACX,QAAQ;EACR,SAAS,UAAU,KAAK,UAAU,eAAe,SAAS,QAAQ,OAAO,IAAI,EAAE,YAAY,KAAK,UAAU,QAAQ,KAAK;EACvH,SAAS;EACT,cAAc;CACf,CAAC;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prisma7-binding-CArLf1qk.mjs","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/prisma7-binding.mjs"],"sourcesContent":["import { A as pgTimestamptz, E as pgTime, M as pgTimetz, O as pgTimestamp, a as pgBytea, b as pgJsonb, c as pgDate, y as pgJson } from \"./data-types-BRBW3ouc.mjs\";\nimport { c as postgresNowGeneratorIdFor } from \"./authoring-CfPWv_-P.mjs\";\nimport { i as postgresCreateNamespace } from \"./postgres-schema-DXd0mebY.mjs\";\nimport { t as postgresTargetDescriptorMeta } from \"./descriptor-meta-Dp8tWKKU.mjs\";\nimport { t as parsePostgresDefault } from \"./default-normalizer-CrMBHF0W.mjs\";\nimport { c as noColumnDefaults, g as EXISTING_COLUMN_DATE_TIME_TYPES, h as createPostgresTypeMap, r as createPostgresDefaultMapping, t as buildPslDocumentAst } from \"./infer-psl-contract-shHWsRbe.mjs\";\nimport { dataTypeParams, renderSqlTypeName, sqlBaseName } from \"@internal/sql-contract/data-type\";\nimport { SqlSchemaIR, SqlTableIR } from \"@internal/sql-schema-ir/types\";\nimport { toModelName } from \"@internal/family-sql/psl-infer\";\nimport { flatPslModels } from \"@internal/framework-components/psl-ast\";\n//#region src/core/prisma7-temporal-defaults.ts\nconst RFC_3339 = /^(\\d{4})-(\\d{2})-(\\d{2})[Tt ](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?(?:[Zz]|([+-])(\\d{2}):(\\d{2}))$/;\nconst MICROS_PER_SECOND = 1e6;\nfunction pad(value, width = 2) {\n\treturn String(value).padStart(width, \"0\");\n}\n/**\n* The microseconds Postgres keeps for a fraction-of-a-second digit string. Every digit counts:\n* `.1234565` is an exact tie, and C's `rint` takes the even neighbour 123456, while `.1234565001`\n* is above the tie and rounds up to 123457.\n*/\nfunction fractionMicros(fraction) {\n\tconst micros = Number(`${fraction}000000`.slice(0, 6));\n\tconst beyondTie = fraction.slice(6).replace(/0+$/, \"\");\n\tif (beyondTie === \"\") return micros;\n\tif (beyondTie === \"5\") return micros % 2 === 0 ? micros : micros + 1;\n\treturn beyondTie > \"5\" ? micros + 1 : micros;\n}\nfunction fractionText(micros) {\n\treturn micros === 0 ? \"\" : `.${pad(micros, 6).replace(/0+$/, \"\")}`;\n}\nfunction offsetText(minutes) {\n\tconst magnitude = Math.abs(minutes);\n\tconst rest = magnitude % 60;\n\treturn `${minutes < 0 ? \"-\" : \"+\"}${pad(Math.floor(magnitude / 60))}${rest === 0 ? \"\" : `:${pad(rest)}`}`;\n}\n/**\n* The text of the column default Postgres stores for a Prisma 7 `DateTime`\n* default, which Prisma 7 writes as `'2024-01-02 03:04:05.123 +02:00'`:\n* `date` keeps the written date, `time` and `timestamp` the written wall-clock\n* time without the offset, and `timetz` the time with the written offset.\n* `timestamptz` is carried in its UTC form, the text a session in UTC prints\n* (`2024-01-02 01:04:05+00`, and `0001-12-31 23:30:00+00 BC` before year 1);\n* a session in another time zone prints the same instant differently.\n* Fractional seconds are rounded to microseconds; the column's own precision\n* does not change a stored default.\n*/\nfunction storedTemporalText(text, dataType) {\n\tconst match = RFC_3339.exec(text);\n\tif (match === null) return void 0;\n\tconst [, year = \"\", month = \"\", day = \"\", hour, minute, second, fraction = \"\", sign, offsetHours, offsetMinutes] = match;\n\tif (dataType === pgDate.id) return `${year}-${month}-${day}`;\n\tconst micros = fractionMicros(fraction);\n\tconst clockSeconds = Number(hour) * 3600 + Number(minute) * 60 + Number(second) + Math.floor(micros / MICROS_PER_SECOND);\n\tconst fractional = fractionText(micros % MICROS_PER_SECOND);\n\tconst offsetMinutesTotal = sign === void 0 ? 0 : (sign === \"-\" ? -1 : 1) * (Number(offsetHours) * 60 + Number(offsetMinutes));\n\tif (dataType === pgTime.id || dataType === pgTimetz.id) {\n\t\tconst clock = `${pad(Math.floor(clockSeconds / 3600))}:${pad(Math.floor(clockSeconds / 60) % 60)}:${pad(clockSeconds % 60)}${fractional}`;\n\t\treturn dataType === pgTime.id ? clock : `${clock}${offsetText(offsetMinutesTotal)}`;\n\t}\n\tconst midnight = /* @__PURE__ */ new Date(0);\n\tmidnight.setUTCFullYear(Number(year), Number(month) - 1, Number(day));\n\tconst utcShift = dataType === pgTimestamptz.id ? offsetMinutesTotal * 60 : 0;\n\tconst stamp = new Date(midnight.getTime() + (clockSeconds - utcShift) * 1e3);\n\tconst astronomicalYear = stamp.getUTCFullYear();\n\tconst wallClock = `${pad(astronomicalYear > 0 ? astronomicalYear : 1 - astronomicalYear, 4)}-${pad(stamp.getUTCMonth() + 1)}-${pad(stamp.getUTCDate())} ${pad(stamp.getUTCHours())}:${pad(stamp.getUTCMinutes())}:${pad(stamp.getUTCSeconds())}${fractional}`;\n\tconst era = astronomicalYear > 0 ? \"\" : \" BC\";\n\treturn dataType === pgTimestamptz.id ? `${wallClock}+00${era}` : `${wallClock}${era}`;\n}\n//#endregion\n//#region src/core/prisma7-type-map.ts\n/**\n* What Prisma 7.10.0 creates in Postgres for each Prisma 7 scalar and `@db.*`\n* native type, expressed as the Prisma 8 authoring type constructor that\n* produces the same column. Derived from the SQL recorded in\n* `test/integration/test/fixtures/prisma7-source/reference/migration.sql`.\n* `args` are the constructor's positional arguments. A `@db.*` attribute's own\n* arguments replace them; without any, the column gets `args`, so `@db.Char`\n* is `Char(1)`, the `character(1)` Postgres stores for Prisma 7's `CHAR`.\n*/\nconst prisma7PostgresTypeMap = {\n\tscalars: {\n\t\tString: {\n\t\t\tconstructorName: \"String\",\n\t\t\targs: []\n\t\t},\n\t\tBoolean: {\n\t\t\tconstructorName: \"Boolean\",\n\t\t\targs: []\n\t\t},\n\t\tInt: {\n\t\t\tconstructorName: \"Int\",\n\t\t\targs: []\n\t\t},\n\t\tBigInt: {\n\t\t\tconstructorName: \"BigInt\",\n\t\t\targs: []\n\t\t},\n\t\tFloat: {\n\t\t\tconstructorName: \"Float\",\n\t\t\targs: []\n\t\t},\n\t\tDecimal: {\n\t\t\tconstructorName: \"Numeric\",\n\t\t\targs: [\"65\", \"30\"]\n\t\t},\n\t\tDateTime: {\n\t\t\tconstructorName: EXISTING_COLUMN_DATE_TIME_TYPES.timestamp,\n\t\t\targs: [\"3\"]\n\t\t},\n\t\tJson: {\n\t\t\tconstructorName: \"Jsonb\",\n\t\t\targs: []\n\t\t},\n\t\tBytes: {\n\t\t\tconstructorName: \"Bytes\",\n\t\t\targs: []\n\t\t}\n\t},\n\tnativeTypes: {\n\t\tText: {\n\t\t\tconstructorName: \"String\",\n\t\t\targs: []\n\t\t},\n\t\tVarChar: {\n\t\t\tconstructorName: \"VarChar\",\n\t\t\targs: []\n\t\t},\n\t\tChar: {\n\t\t\tconstructorName: \"Char\",\n\t\t\targs: [\"1\"]\n\t\t},\n\t\tUuid: {\n\t\t\tconstructorName: \"Uuid\",\n\t\t\targs: []\n\t\t},\n\t\tInet: {\n\t\t\tconstructorName: \"Inet\",\n\t\t\targs: []\n\t\t},\n\t\tBoolean: {\n\t\t\tconstructorName: \"Boolean\",\n\t\t\targs: []\n\t\t},\n\t\tInteger: {\n\t\t\tconstructorName: \"Int\",\n\t\t\targs: []\n\t\t},\n\t\tSmallInt: {\n\t\t\tconstructorName: \"SmallInt\",\n\t\t\targs: []\n\t\t},\n\t\tBigInt: {\n\t\t\tconstructorName: \"BigInt\",\n\t\t\targs: []\n\t\t},\n\t\tReal: {\n\t\t\tconstructorName: \"Real\",\n\t\t\targs: []\n\t\t},\n\t\tDoublePrecision: {\n\t\t\tconstructorName: \"Float\",\n\t\t\targs: []\n\t\t},\n\t\tDecimal: {\n\t\t\tconstructorName: \"Numeric\",\n\t\t\targs: []\n\t\t},\n\t\tTimestamp: {\n\t\t\tconstructorName: EXISTING_COLUMN_DATE_TIME_TYPES.timestamp,\n\t\t\targs: []\n\t\t},\n\t\tTimestamptz: {\n\t\t\tconstructorName: EXISTING_COLUMN_DATE_TIME_TYPES.timestamptz,\n\t\t\targs: []\n\t\t},\n\t\tDate: {\n\t\t\tconstructorName: EXISTING_COLUMN_DATE_TIME_TYPES.date,\n\t\t\targs: []\n\t\t},\n\t\tTime: {\n\t\t\tconstructorName: EXISTING_COLUMN_DATE_TIME_TYPES.time,\n\t\t\targs: []\n\t\t},\n\t\tTimetz: {\n\t\t\tconstructorName: EXISTING_COLUMN_DATE_TIME_TYPES.timetz,\n\t\t\targs: []\n\t\t},\n\t\tJson: {\n\t\t\tconstructorName: \"Json\",\n\t\t\targs: []\n\t\t},\n\t\tJsonB: {\n\t\t\tconstructorName: \"Jsonb\",\n\t\t\targs: []\n\t\t},\n\t\tByteA: {\n\t\t\tconstructorName: \"Bytes\",\n\t\t\targs: []\n\t\t}\n\t}\n};\n//#endregion\n//#region src/core/psl-infer/junction-relation-field-names.ts\nconst EMPTY_FOREIGN_KEY_EXTRAS = {\n\textraRelationsByTable: /* @__PURE__ */ new Map(),\n\tcrossSpaceFieldNamesByTable: /* @__PURE__ */ new Map(),\n\tdanglingForeignKeysByTable: /* @__PURE__ */ new Map()\n};\nfunction idTable(name) {\n\treturn new SqlTableIR({\n\t\tname,\n\t\tcolumns: { id: {\n\t\t\tname: \"id\",\n\t\t\tnativeType: \"int4\",\n\t\t\tnullable: false\n\t\t} },\n\t\tforeignKeys: [],\n\t\tuniques: [],\n\t\tindexes: [],\n\t\tprimaryKey: { columns: [\"id\"] }\n\t});\n}\n/**\n* The relation field names `contract infer` prints for an implicit\n* many-to-many junction table whose columns `A` and `B` reference `tableA`\n* and `tableB`, found by running infer's PSL construction on that table.\n*/\nfunction junctionRelationFieldNames(tableA, tableB) {\n\tlet junctionName = \"_junction\";\n\twhile ([tableA, tableB].some((table) => toModelName(table).name === toModelName(junctionName).name)) junctionName = `${junctionName}x`;\n\tconst column = (name) => ({\n\t\tname,\n\t\tnativeType: \"int4\",\n\t\tnullable: false\n\t});\n\tconst foreignKey = (columnName, referencedTable) => ({\n\t\tcolumns: [columnName],\n\t\treferencedTable,\n\t\treferencedColumns: [\"id\"]\n\t});\n\tconst junction = new SqlTableIR({\n\t\tname: junctionName,\n\t\tcolumns: {\n\t\t\tA: column(\"A\"),\n\t\t\tB: column(\"B\")\n\t\t},\n\t\tforeignKeys: [foreignKey(\"A\", tableA), foreignKey(\"B\", tableB)],\n\t\tuniques: [],\n\t\tindexes: [],\n\t\tprimaryKey: { columns: [\"A\", \"B\"] }\n\t});\n\tconst document = buildPslDocumentAst(new SqlSchemaIR({ tables: {\n\t\t[tableA]: idTable(tableA),\n\t\t[tableB]: idTable(tableB),\n\t\t[junctionName]: junction\n\t} }), {\n\t\ttypeMap: createPostgresTypeMap(),\n\t\tdefaultMapping: createPostgresDefaultMapping(),\n\t\tparseRawDefault: parsePostgresDefault,\n\t\tcolumnDefaults: noColumnDefaults\n\t}, EMPTY_FOREIGN_KEY_EXTRAS);\n\tconst junctionModelName = toModelName(junctionName).name;\n\tconst fields = flatPslModels(document).find((model) => model.name === junctionModelName)?.fields;\n\tconst scalarFieldCount = Object.keys(junction.columns).length;\n\tconst [a = \"\", b = \"\"] = (fields ?? []).slice(scalarFieldCount).map((field) => field.name);\n\treturn [a, b];\n}\n//#endregion\n//#region src/core/prisma7-binding.ts\nconst TEMPORAL_TYPES = new Map([\n\tpgTimestamp,\n\tpgTimestamptz,\n\tpgDate,\n\tpgTime,\n\tpgTimetz\n].map((type) => [type.id, type]));\nconst BYTEA_LIST_TYPE = sqlBaseName(pgBytea, {}).toUpperCase();\nfunction sqlStringLiteral(value) {\n\treturn value === void 0 ? void 0 : `'${value.replace(/'/g, \"''\")}'`;\n}\nfunction base64ToHex(base64) {\n\tif (!/^[A-Za-z0-9+/]*={0,2}$/.test(base64) || base64.length % 4 !== 0) return void 0;\n\treturn `\\\\x${Buffer.from(base64, \"base64\").toString(\"hex\")}`;\n}\nfunction arrayLiteral(literals, typeName) {\n\treturn `ARRAY[${literals.join(\", \")}]::${typeName}[]`;\n}\n/**\n* What the Postgres target supplies to the Prisma 7 interpreter. A `Bytes` or\n* `DateTime` default is carried as the SQL literal of the default Postgres\n* stores (`'\\x68656c6c6f'`, `'2024-01-02 03:04:05'`), and a list default as an\n* `ARRAY[...]` of those literals cast to the column type, rather than as the\n* column codec's JSON form (base64, ISO 8601 text). Verify reads both forms as\n* the same value; the reader keeps the SQL literal because storing the value\n* instead changes the contract hash of every such schema (TML-3455).\n*/\nconst prisma7PostgresBinding = {\n\ttarget: postgresTargetDescriptorMeta,\n\tcreateNamespace: postgresCreateNamespace,\n\tproviders: [\"postgresql\", \"postgres\"],\n\ttypeMap: prisma7PostgresTypeMap,\n\tnativeEnum: {\n\t\tentityKind: \"native_enum\",\n\t\ttypeConstructor: [\"pg\", \"enum\"]\n\t},\n\tindexTypes: {\n\t\tBTree: \"btree\",\n\t\tHash: \"hash\",\n\t\tGin: \"gin\",\n\t\tGist: \"gist\",\n\t\tSpGist: \"spgist\",\n\t\tBrin: \"brin\"\n\t},\n\t/** `NAMEDATALEN - 1`. */\n\tidentifierMaxBytes: 63,\n\tjunctionRelationFieldNames,\n\tupdatedAtGeneratorId: postgresNowGeneratorIdFor,\n\tliteralDefaultForm: ({ dataType, typeParams }) => {\n\t\tif (dataType === pgJson.id || dataType === pgJsonb.id) return { kind: \"json\" };\n\t\tif (dataType === pgBytea.id) return {\n\t\t\tkind: \"sqlExpression\",\n\t\t\tliteral: (text) => sqlStringLiteral(base64ToHex(text)),\n\t\t\tlist: (literals) => arrayLiteral(literals, BYTEA_LIST_TYPE)\n\t\t};\n\t\tconst type = TEMPORAL_TYPES.get(dataType);\n\t\tif (type === void 0) return void 0;\n\t\tconst typeName = renderSqlTypeName(type, dataTypeParams(type, typeParams)).toUpperCase();\n\t\treturn {\n\t\t\tkind: \"sqlExpression\",\n\t\t\tliteral: (text) => sqlStringLiteral(storedTemporalText(text, type.id)),\n\t\t\tlist: (literals) => arrayLiteral(literals, typeName)\n\t\t};\n\t}\n};\n//#endregion\nexport { prisma7PostgresBinding };\n\n//# sourceMappingURL=prisma7-binding.mjs.map"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prisma7-binding-DNckHEx8.d.mts","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/prisma7-binding.d.mts"],"mappings":";;;;;;;;;iBAQiB,0BAA0B;;;;;;;;iBAQ1B,2BAA2B,gBAAgB;;;;;;;;;;;;cAY9C;WACH;aACE;aACA;aACA,yDAAyD,iBAAiB,uBAAuB;eAC/F;SACN;eACM;SACN;eACM;SACN;eACM;SACN;eACM;SACN;eACM;;aAEF;eACE;iBACE;mBACE;mBACA;mBACA;qBACE;;;iBAGJ;mBACE;mBACA;mBACA;qBACE;;;iBAGJ;mBACE;qBACE;qBACA;qBACA;uBACE;uBACA;;qBAEF;uBACE;;;;;eAKR;iBACE;mBACE;mBACA;qBACE;;;iBAGJ;mBACE;mBACA;qBACE;;;iBAGJ;mBACE;mBACA;qBACE;;;iBAGJ;mBACE;mBACA;qBACE;;;iBAGJ;mBACE;mBACA;qBACE;;;iBAGJ;mBACE;mBACA;qBACE;;;iBAGJ;mBACE;mBACA;qBACE;;;iBAGJ;mBACE;mBACA;qBACE;;;iBAGJ;mBACE;mBACA;qBACE;;;iBAGJ;mBACE;qBACE;qBACA;uBACE;uBACA;uBACA;uBACA;;uBAEA;uBACA;uBACA;uBACA;;uBAEA;uBACA;uBACA;uBACA;;qBAEF;uBACE;uBACA;yBACE;2BACE;2BACA;;;uBAGJ;yBACE;2BACE;2BACA;2BACA;6BACE;+BACE;+BACA;;;;yBAIN;2BACE;2BACA;2BACA;6BACE;+BACE;+BACA;;;;;;;mBAOZ;qBACE;qBACA;uBACE;uBACA;uBACA;uBACA;;uBAEA;uBACA;uBACA;uBACA;;uBAEA;uBACA;uBACA;uBACA;;qBAEF;uBACE;uBACA;yBACE;2BACE;2BACA;;;uBAGJ;yBACE;2BACE;2BACA;2BACA;6BACE;+BACE;+BACA;;;;yBAIN;2BACE;2BACA;2BACA;6BACE;+BACE;+BACA;;;;;;;mBAOZ;qBACE;qBACA;uBACE;uBACA;uBACA;uBACA;;uBAEA;uBACA;uBACA;uBACA;;uBAEA;uBACA;uBACA;uBACA;;qBAEF;uBACE;uBACA;yBACE;2BACE;2BACA;;;uBAGJ;yBACE;2BACE;2BACA;2BACA;6BACE;+BACE;+BACA;;;;yBAIN;2BACE;2BACA;2BACA;6BACE;+BACE;+BACA;;;;;;;mBAOZ;qBACE;qBACA;uBACE;uBACA;uBACA;uBACA;;uBAEA;uBACA;uBACA;uBACA;;uBAEA;uBACA;uBACA;uBACA;;qBAEF;uBACE;uBACA;yBACE;2BACE;2BACA;;;uBAGJ;yBACE;2BACE;2BACA;2BACA;6BACE;+BACE;+BACA;;;;yBAIN;2BACE;2BACA;2BACA;6BACE;+BACE;+BACA;;;;;;;mBAOZ;qBACE;qBACA,QAAQ;uBACN;uBACA;;uBAEA;;uBAEA;yBACE;2BACE;2BACA;;;;;mBAKR;qBACE;qBACA,QAAQ;uBACN;uBACA;;uBAEA;;uBAEA;yBACE;2BACE;2BACA;;yBAEF;2BACE;2BACA;;;;;mBAKR;qBACE;qBACA,QAAQ;uBACN;uBACA;;uBAEA;;uBAEA;yBACE;2BACE;2BACA;;;;;mBAKR;qBACE;qBACA,QAAQ;uBACN;uBACA;;uBAEA;;uBAEA;yBACE;2BACE;2BACA;;yBAEF;2BACE;2BACA;;;;;mBAKR;qBACE;qBACA,QAAQ;uBACN;uBACA;;uBAEA;;uBAEA;yBACE;2BACE;2BACA;;;;;mBAKR;qBACE;qBACA,QAAQ;uBACN;uBACA;;uBAEA;;uBAEA;yBACE;2BACE;2BACA;;yBAEF;2BACE;2BACA;;;;;mBAKR;qBACE;qBACA;uBACE;uBACA;uBACA;uBACA;;uBAEA;uBACA;uBACA;uBACA;;uBAEA;uBACA;uBACA;uBACA;;qBAEF;uBACE;uBACA;yBACE;2BACE;2BACA;;;uBAGJ;yBACE;2BACE;2BACA;2BACA;6BACE;+BACE;+BACA;;;;yBAIN;2BACE;2BACA;2BACA;6BACE;+BACE;+BACA;;;;;;;;iBAQd;mBACE;mBACA;qBACE;;;iBAGJ;mBACE;qBACE;qBACA;uBACE;uBACA;yBACE;2BACE;2BACA;;;uBAGJ;;;mBAGJ;qBACE;qBACA;uBACE;uBACA;yBACE;2BACE;2BACA;;;uBAGJ;;;;;eAKR,WAAW,SAAS,kEAAkE;eACtF;iBACE;mBACE;mBACA;mBACA,+DAA+D;YACtE;YACA;YACA;YACA;;mBAEO;qBACE,UAAU,OAAO,oBAAoB,wDAAwD,2BAA2B;;;iBAG5H;mBACE;mBACA;mBACA,+DAA+D;YACtE;YACA;YACA;;mBAEO;qBACE,UAAU,OAAO,+BAA+B;;;iBAGpD;mBACE;mBACA;mBACA,+DAA+D;YACtE;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;YACA;;mBAEO;YACP,UAAU,OAAO,yBAAyB,wDAAwD,2BAA2B;YAC7H,eAAe,QAAQ;cACrB;;;;iBAIG;mBACE;mBACA;mBACA,+DAA+D;YACtE;YACA;YACA;YACA;;mBAEO;YACP,UAAU,sCAAsC,wBAAwB,yBAAyB,wDAAwD,2BAA2B;YACpL,iBAAiB,QAAQ;cACvB;cACA;;;;;eAKC;iBACE;UACP;UACA;UACA;UACA;UACA;YACE;;UAEF,aAAa;UACb;qBACW;qBACA;;UAEX;YACE,0CAA0C;cACxC;8CACgC;;;iBAG7B;UACP;UACA;UACA;UACA;UACA;YACE;;UAEF,aAAa;UACb;qBACW;qBACA;;UAEX;YACE,0CAA0C;cACxC;8CACgC;;;iBAG7B;UACP;UACA;UACA;UACA;UACA;YACE;;UAEF,aAAa;UACb;qBACW;qBACA;;UAEX;YACE,0CAA0C;cACxC;8CACgC;;;iBAG7B;UACP;UACA;UACA;UACA;UACA;YACE;;UAEF,aAAa;UACb;qBACW;qBACA;;UAEX;YACE,0CAA0C;cACxC;8CACgC;;;iBAG7B;UACP;UACA;UACA;UACA;UACA;YACE;;UAEF,aAAa;UACb;qBACW;qBACA;;UAEX;YACE,0CAA0C;cACxC;8CACgC;;;iBAG7B;UACP;UACA;UACA;UACA;UACA;YACE;;UAEF,aAAa;UACb;YACE,0CAA0C;cACxC;8CACgC;;;iBAG7B;UACP;UACA;UACA;UACA;UACA;YACE;;UAEF,aAAa;;;eAGR;iBACE;mBACE;mBACA;mBACA,qCAAqC;mBACrC,QAAQ,SAAS,sBAAsB,wDAAwD;YACtG;YACA,QAAQ;;;iBAGH;mBACE;mBACA;mBACA,qCAAqC;mBACrC;mBACA,QAAQ;qBACN;qBACA,WAAW;qBACX;qBACA;qBACA;aACR,wDAAwD;YACzD;cACE;cACA;cACA;cACA;cACA;cACA;cACA;;;;;eAKC,wBAAwB;eACxB,0BAA0B;eAC1B,+BAA+B;eAC/B,2BAA2B;;aAE7B;eACE;iBACE;mBACE;mBACA;mBACA;;;;aAIN;aACA;aACA;aACA;aACA;aACA;aACA,mEAAmE;aACnE,eAAe;;aAEf,eAAe;;WAEjB,wBAAwB;WACxB;WACA;aACE;eACE;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;;aAGJ;eACE;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;eAEF;iBACE;iBACA;;;;WAIN;aACE;aACA;;WAEF;aACE;aACA;aACA;aACA;aACA;aACA;;;WAGF;WACA,mCAAmC;WACnC,6BAA6B;WAC7B,uBAAuB,UAAU;aAC/B;aACA,aAAa,SAAS;;aAEtB;aACA;aACA;;aAEA;aACA,UAAU;aACV,OAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sql-utils-BMXJi06b-CAQOplfq.mjs","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/sql-utils-BMXJi06b.mjs"],"sourcesContent":["import { s as postgresError } from \"./errors-DYyzTYzE.mjs\";\n//#region src/core/postgres-keywords.ts\n/** Every Postgres keyword that `quote_ident` quotes: those `pg_get_keywords()` does not list as unreserved. */\nconst POSTGRES_QUOTED_KEYWORDS = /* @__PURE__ */ new Set([\n\t\"all\",\n\t\"analyse\",\n\t\"analyze\",\n\t\"and\",\n\t\"any\",\n\t\"array\",\n\t\"as\",\n\t\"asc\",\n\t\"asymmetric\",\n\t\"authorization\",\n\t\"between\",\n\t\"bigint\",\n\t\"binary\",\n\t\"bit\",\n\t\"boolean\",\n\t\"both\",\n\t\"case\",\n\t\"cast\",\n\t\"char\",\n\t\"character\",\n\t\"check\",\n\t\"coalesce\",\n\t\"collate\",\n\t\"collation\",\n\t\"column\",\n\t\"concurrently\",\n\t\"constraint\",\n\t\"create\",\n\t\"cross\",\n\t\"current_catalog\",\n\t\"current_date\",\n\t\"current_role\",\n\t\"current_schema\",\n\t\"current_time\",\n\t\"current_timestamp\",\n\t\"current_user\",\n\t\"dec\",\n\t\"decimal\",\n\t\"default\",\n\t\"deferrable\",\n\t\"desc\",\n\t\"distinct\",\n\t\"do\",\n\t\"else\",\n\t\"end\",\n\t\"except\",\n\t\"exists\",\n\t\"extract\",\n\t\"false\",\n\t\"fetch\",\n\t\"float\",\n\t\"for\",\n\t\"foreign\",\n\t\"freeze\",\n\t\"from\",\n\t\"full\",\n\t\"grant\",\n\t\"greatest\",\n\t\"group\",\n\t\"grouping\",\n\t\"having\",\n\t\"ilike\",\n\t\"in\",\n\t\"initially\",\n\t\"inner\",\n\t\"inout\",\n\t\"int\",\n\t\"integer\",\n\t\"intersect\",\n\t\"interval\",\n\t\"into\",\n\t\"is\",\n\t\"isnull\",\n\t\"join\",\n\t\"json\",\n\t\"json_array\",\n\t\"json_arrayagg\",\n\t\"json_exists\",\n\t\"json_object\",\n\t\"json_objectagg\",\n\t\"json_query\",\n\t\"json_scalar\",\n\t\"json_serialize\",\n\t\"json_table\",\n\t\"json_value\",\n\t\"lateral\",\n\t\"leading\",\n\t\"least\",\n\t\"left\",\n\t\"like\",\n\t\"limit\",\n\t\"localtime\",\n\t\"localtimestamp\",\n\t\"merge_action\",\n\t\"national\",\n\t\"natural\",\n\t\"nchar\",\n\t\"none\",\n\t\"normalize\",\n\t\"not\",\n\t\"notnull\",\n\t\"null\",\n\t\"nullif\",\n\t\"numeric\",\n\t\"offset\",\n\t\"on\",\n\t\"only\",\n\t\"or\",\n\t\"order\",\n\t\"out\",\n\t\"outer\",\n\t\"overlaps\",\n\t\"overlay\",\n\t\"placing\",\n\t\"position\",\n\t\"precision\",\n\t\"primary\",\n\t\"real\",\n\t\"references\",\n\t\"returning\",\n\t\"right\",\n\t\"row\",\n\t\"select\",\n\t\"session_user\",\n\t\"setof\",\n\t\"similar\",\n\t\"smallint\",\n\t\"some\",\n\t\"substring\",\n\t\"symmetric\",\n\t\"system_user\",\n\t\"table\",\n\t\"tablesample\",\n\t\"then\",\n\t\"time\",\n\t\"timestamp\",\n\t\"to\",\n\t\"trailing\",\n\t\"treat\",\n\t\"trim\",\n\t\"true\",\n\t\"union\",\n\t\"unique\",\n\t\"user\",\n\t\"using\",\n\t\"values\",\n\t\"varchar\",\n\t\"variadic\",\n\t\"verbose\",\n\t\"when\",\n\t\"where\",\n\t\"window\",\n\t\"with\",\n\t\"xmlattributes\",\n\t\"xmlconcat\",\n\t\"xmlelement\",\n\t\"xmlexists\",\n\t\"xmlforest\",\n\t\"xmlnamespaces\",\n\t\"xmlparse\",\n\t\"xmlpi\",\n\t\"xmlroot\",\n\t\"xmlserialize\",\n\t\"xmltable\"\n]);\n//#endregion\n//#region src/core/sql-utils.ts\n/**\n* Shared SQL utility functions for the Postgres target.\n*\n* These functions handle safe SQL identifier and literal escaping\n* with security validations to prevent injection and encoding issues.\n*\n* They live in `target-postgres` because both the control adapter (used at\n* emit time) and the runtime adapter (used at execute time) need the same\n* escaping/validation behavior, and the target package is the natural shared\n* home that both adapters can depend on without crossing planes.\n*/\nconst MAX_IDENTIFIER_BYTES = 63;\nconst MAX_UTF8_BYTES_PER_UTF16_UNIT = 3;\nconst utf8 = new TextEncoder();\n/** UTF-8 byte length — the unit PostgreSQL measures identifiers and enum labels in. */\nfunction byteLength(value) {\n\treturn utf8.encode(value).length;\n}\n/**\n* Validates and quotes a PostgreSQL identifier (table, column, type, schema names).\n*\n* Security validations:\n* - Rejects null bytes which could cause truncation or unexpected behavior\n* - Rejects empty identifiers\n* - Warns on identifiers exceeding PostgreSQL's 63-byte limit\n*\n* @throws `CONTRACT.IDENTIFIER_INVALID` structured error If the identifier contains null bytes or is empty\n*/\nfunction quoteIdentifier(identifier) {\n\tif (identifier.length === 0) throw postgresError(\"CONTRACT.IDENTIFIER_INVALID\", \"Identifier cannot be empty\", { meta: {\n\t\tvalue: identifier,\n\t\tcontext: \"identifier\"\n\t} });\n\tif (identifier.includes(\"\\0\")) throw postgresError(\"CONTRACT.IDENTIFIER_INVALID\", \"Identifier cannot contain null bytes\", { meta: {\n\t\tvalue: identifier.replace(/\\0/g, \"\\\\0\"),\n\t\tcontext: \"identifier\"\n\t} });\n\tif (identifier.length * MAX_UTF8_BYTES_PER_UTF16_UNIT > MAX_IDENTIFIER_BYTES && byteLength(identifier) > MAX_IDENTIFIER_BYTES) console.warn(`Identifier \"${identifier.slice(0, 20)}...\" exceeds PostgreSQL's ${MAX_IDENTIFIER_BYTES}-byte limit and will be truncated`);\n\treturn `\"${identifier.replace(/\"/g, \"\\\"\\\"\")}\"`;\n}\n/**\n* Quotes `identifier` only where Postgres's `quote_ident` would: when it is not all lower-case\n* letters, digits and underscores, starts with a digit, or is a keyword that is not unreserved. This is how\n* `format_type` prints a type name.\n*/\nfunction quoteIdentifierWhereNeeded(identifier) {\n\treturn /^[a-z_][a-z0-9_]*$/.test(identifier) && !POSTGRES_QUOTED_KEYWORDS.has(identifier) ? identifier : quoteIdentifier(identifier);\n}\n/**\n* Escapes a string literal for safe use in SQL statements.\n*\n* Security validations:\n* - Rejects null bytes which could cause truncation or unexpected behavior\n*\n* Note: This assumes PostgreSQL's `standard_conforming_strings` is ON (default since PG 9.1).\n* Backslashes are treated as literal characters, not escape sequences.\n*\n* @throws `CONTRACT.IDENTIFIER_INVALID` structured error If the value contains null bytes\n*/\nfunction escapeLiteral(value) {\n\tif (value.includes(\"\\0\")) throw postgresError(\"CONTRACT.IDENTIFIER_INVALID\", \"Literal value cannot contain null bytes\", { meta: {\n\t\tvalue: value.replace(/\\0/g, \"\\\\0\"),\n\t\tcontext: \"literal\"\n\t} });\n\treturn value.replace(/'/g, \"''\");\n}\n/**\n* Builds a qualified name (schema.object) with proper quoting.\n*/\nfunction qualifyName(schemaName, objectName) {\n\treturn `${quoteIdentifier(schemaName)}.${quoteIdentifier(objectName)}`;\n}\n/**\n* Quotes a possibly dot-qualified name segment-by-segment:\n* `order_status` -> `\"order_status\"`, `auth.aal_level` -> `\"auth\".\"aal_level\"`.\n* A single-segment name round-trips to exactly {@link quoteIdentifier}; whole-\n* string quoting (`\"auth.aal_level\"`) would be one wrong identifier.\n*/\nfunction quoteQualifiedName(name) {\n\treturn name.split(\".\").map((segment) => quoteIdentifier(segment)).join(\".\");\n}\n/**\n* Validates that an enum value doesn't exceed PostgreSQL's label length limit.\n*\n* PostgreSQL enum labels have a maximum length of NAMEDATALEN-1 (63 bytes by default).\n* Unlike identifiers, enum labels that exceed this limit cause an error rather than\n* silent truncation.\n*\n* @param value - The enum value to validate\n* @param enumTypeName - Name of the enum type (for error messages)\n* @throws `CONTRACT.IDENTIFIER_INVALID` structured error If the value exceeds the maximum length\n*/\nfunction validateEnumValueLength(value, enumTypeName) {\n\tif (byteLength(value) > MAX_IDENTIFIER_BYTES) throw postgresError(\"CONTRACT.IDENTIFIER_INVALID\", `Enum value \"${value.slice(0, 20)}...\" for type \"${enumTypeName}\" exceeds PostgreSQL's ${MAX_IDENTIFIER_BYTES}-byte label limit`, { meta: {\n\t\tvalue,\n\t\tcontext: \"enum-label\"\n\t} });\n}\n//#endregion\nexport { quoteQualifiedName as a, quoteIdentifierWhereNeeded as i, qualifyName as n, validateEnumValueLength as o, quoteIdentifier as r, escapeLiteral as t };\n\n//# sourceMappingURL=sql-utils-BMXJi06b.mjs.map"],"mappings":";;;AAGA,MAAM,2CAA2C,IAAI,IAAI;CACxD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACD,CAAC;;;;;;;;;;;;AAcD,MAAM,uBAAuB;AAC7B,MAAM,gCAAgC;AACtC,MAAM,OAAO,IAAI,YAAY;;AAE7B,SAAS,WAAW,OAAO;CAC1B,OAAO,KAAK,OAAO,KAAK,CAAC,CAAC;AAC3B;;;;;;;;;;;AAWA,SAAS,gBAAgB,YAAY;CACpC,IAAI,WAAW,WAAW,GAAG,MAAM,cAAc,+BAA+B,8BAA8B,EAAE,MAAM;EACrH,OAAO;EACP,SAAS;CACV,EAAE,CAAC;CACH,IAAI,WAAW,SAAS,IAAI,GAAG,MAAM,cAAc,+BAA+B,wCAAwC,EAAE,MAAM;EACjI,OAAO,WAAW,QAAQ,OAAO,KAAK;EACtC,SAAS;CACV,EAAE,CAAC;CACH,IAAI,WAAW,SAAS,gCAAgC,wBAAwB,WAAW,UAAU,IAAI,sBAAsB,QAAQ,KAAK,eAAe,WAAW,MAAM,GAAG,EAAE,EAAE,4BAA4B,qBAAqB,kCAAkC;CACtQ,OAAO,IAAI,WAAW,QAAQ,MAAM,MAAM,EAAE;AAC7C;;;;;;AAMA,SAAS,2BAA2B,YAAY;CAC/C,OAAO,qBAAqB,KAAK,UAAU,KAAK,CAAC,yBAAyB,IAAI,UAAU,IAAI,aAAa,gBAAgB,UAAU;AACpI;;;;;;;;;;;;AAYA,SAAS,cAAc,OAAO;CAC7B,IAAI,MAAM,SAAS,IAAI,GAAG,MAAM,cAAc,+BAA+B,2CAA2C,EAAE,MAAM;EAC/H,OAAO,MAAM,QAAQ,OAAO,KAAK;EACjC,SAAS;CACV,EAAE,CAAC;CACH,OAAO,MAAM,QAAQ,MAAM,IAAI;AAChC;;;;AAIA,SAAS,YAAY,YAAY,YAAY;CAC5C,OAAO,GAAG,gBAAgB,UAAU,EAAE,GAAG,gBAAgB,UAAU;AACpE;;;;;;;AAOA,SAAS,mBAAmB,MAAM;CACjC,OAAO,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,YAAY,gBAAgB,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;AAC3E;;;;;;;;;;;;AAYA,SAAS,wBAAwB,OAAO,cAAc;CACrD,IAAI,WAAW,KAAK,IAAI,sBAAsB,MAAM,cAAc,+BAA+B,eAAe,MAAM,MAAM,GAAG,EAAE,EAAE,iBAAiB,aAAa,yBAAyB,qBAAqB,oBAAoB,EAAE,MAAM;EAC1O;EACA,SAAS;CACV,EAAE,CAAC;AACJ"}
|