@prisma/orm-target-postgres 8.0.0-rc.5-dev.1 → 8.0.0-rc.5-dev.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/dist/{adapter-CEEGgfaS-4MeZ7odP.mjs → adapter-fu5NLR5q-BGMHGbUv.mjs} +4 -4
  2. package/dist/{adapter-CEEGgfaS-4MeZ7odP.mjs.map → adapter-fu5NLR5q-BGMHGbUv.mjs.map} +1 -1
  3. package/dist/adapter.d.mts +2 -2
  4. package/dist/adapter.mjs +6 -6
  5. package/dist/adapter__adapter.mjs +1 -1
  6. package/dist/adapter__column-types.d.mts +2 -2
  7. package/dist/adapter__column-types.mjs +2 -2
  8. package/dist/adapter__control.mjs +78 -12
  9. package/dist/adapter__control.mjs.map +1 -1
  10. package/dist/adapter__runtime.mjs +23 -14
  11. package/dist/adapter__runtime.mjs.map +1 -1
  12. package/dist/adapter__sql-renderer.mjs +1 -1
  13. package/dist/{aggregates-Dh6HPdvC.mjs → aggregates-Ckjhz1o7.mjs} +15 -10
  14. package/dist/aggregates-Ckjhz1o7.mjs.map +1 -0
  15. package/dist/{authoring-BOpdZa2N-ClrLFiXw.mjs → authoring-DayoLvZs-BZzesJbW.mjs} +47 -12
  16. package/dist/authoring-DayoLvZs-BZzesJbW.mjs.map +1 -0
  17. package/dist/{check-expressions-5vhxWaFy-CBcjFeur.mjs → check-expressions-B3Xp6IFg-BzCFYrC9.mjs} +3 -3
  18. package/dist/{check-expressions-5vhxWaFy-CBcjFeur.mjs.map → check-expressions-B3Xp6IFg-BzCFYrC9.mjs.map} +1 -1
  19. package/dist/codec-ids-CmcC76hX-C0JIyoua.d.mts +39 -0
  20. package/dist/codec-ids-CmcC76hX-C0JIyoua.d.mts.map +1 -0
  21. package/dist/codec-ids-D3ZEAmt2-DjoKUAas.mjs +39 -0
  22. package/dist/codec-ids-D3ZEAmt2-DjoKUAas.mjs.map +1 -0
  23. package/dist/codec-ids-cWPqrkcF.d.mts +1 -0
  24. package/dist/{codec-types-BRU4F-7t-BaJbKF_i.d.mts → codec-types-X0ENu4sQ-C6GS_WDR.d.mts} +21 -9
  25. package/dist/codec-types-X0ENu4sQ-C6GS_WDR.d.mts.map +1 -0
  26. package/dist/codec-types-Zel4Dk7S.d.mts +2 -0
  27. package/dist/{codecs-BmPCJWqb-DveZGJvm.mjs → codecs-CxWg7WrX-DtVAuuXA.mjs} +351 -255
  28. package/dist/codecs-CxWg7WrX-DtVAuuXA.mjs.map +1 -0
  29. package/dist/{codecs-B1HgsJZ2.mjs → codecs-DZMfLjGe.mjs} +2 -2
  30. package/dist/codecs-DZMfLjGe.mjs.map +1 -0
  31. package/dist/{codecs-D8tLswBi-_nbo-Z8x.d.mts → codecs-bwX5JaME-ByuPNLC5.d.mts} +146 -86
  32. package/dist/codecs-bwX5JaME-ByuPNLC5.d.mts.map +1 -0
  33. package/dist/{codecs-DmCKO7dg.d.mts → codecs-ePpDWH7z.d.mts} +2 -2
  34. package/dist/codecs-ePpDWH7z.d.mts.map +1 -0
  35. package/dist/{column-types-BH-MU6uU.d.mts → column-types-CwjYfNCi.d.mts} +33 -7
  36. package/dist/column-types-CwjYfNCi.d.mts.map +1 -0
  37. package/dist/{column-types-Bh92dNjD.mjs → column-types-DU7C_gwa.mjs} +37 -9
  38. package/dist/column-types-DU7C_gwa.mjs.map +1 -0
  39. package/dist/{contract-free-aQ4nT-_R.mjs → contract-free-CzTZEwpt.mjs} +5 -5
  40. package/dist/contract-free-CzTZEwpt.mjs.map +1 -0
  41. package/dist/{control-2F195jJk.d.mts → control-ByalKcpe.d.mts} +2 -1
  42. package/dist/control-ByalKcpe.d.mts.map +1 -0
  43. package/dist/{control-V7OkAC55.mjs → control-CwOI5ZH9.mjs} +8 -8
  44. package/dist/control-CwOI5ZH9.mjs.map +1 -0
  45. package/dist/{control-adapter-DGLvLCp7-DaglJOfk.mjs → control-adapter-BvycZgCj-DH90lxuD.mjs} +9 -9
  46. package/dist/control-adapter-BvycZgCj-DH90lxuD.mjs.map +1 -0
  47. package/dist/{control-policy-B53lnBCT-B9K9Cj1x.mjs → control-policy-HgW6zNnz-Ds9U3rSS.mjs} +6 -6
  48. package/dist/{control-policy-B53lnBCT-B9K9Cj1x.mjs.map → control-policy-HgW6zNnz-Ds9U3rSS.mjs.map} +1 -1
  49. package/dist/{ddl-CNQJds-C-WfZ3y4y8.mjs → ddl-GXbCrKp_-CBKFkq1r.mjs} +4 -4
  50. package/dist/{ddl-CNQJds-C-WfZ3y4y8.mjs.map → ddl-GXbCrKp_-CBKFkq1r.mjs.map} +1 -1
  51. package/dist/{descriptor-meta-KVX21fsl-DBDoB4eg.mjs → descriptor-meta-BJvQzm-A-BdYGq2QU.mjs} +50 -21
  52. package/dist/descriptor-meta-BJvQzm-A-BdYGq2QU.mjs.map +1 -0
  53. package/dist/{descriptor-meta-rilAH3ep-dAmiVLpe.mjs → descriptor-meta-DInZZgUC-Cq-SJvwE.mjs} +6 -6
  54. package/dist/{descriptor-meta-rilAH3ep-dAmiVLpe.mjs.map → descriptor-meta-DInZZgUC-Cq-SJvwE.mjs.map} +1 -1
  55. package/dist/{diff-database-schema-DKq76rCk-uehceHYz.mjs → diff-database-schema-B27W13mM-DmRNUFyg.mjs} +6 -6
  56. package/dist/{diff-database-schema-DKq76rCk-uehceHYz.mjs.map → diff-database-schema-B27W13mM-DmRNUFyg.mjs.map} +1 -1
  57. package/dist/driver.mjs +1 -1
  58. package/dist/driver__runtime.mjs +1 -1
  59. package/dist/{errors-CU4xIwwk.d.mts → errors-5fMq0U66.d.mts} +2 -2
  60. package/dist/{errors-CU4xIwwk.d.mts.map → errors-5fMq0U66.d.mts.map} +1 -1
  61. package/dist/errors-DYyzTYzE-39CV_aMo.mjs +92 -0
  62. package/dist/errors-DYyzTYzE-39CV_aMo.mjs.map +1 -0
  63. package/dist/instant-now-generator-lJQqn_8K-JOzseqXI.d.mts +9 -0
  64. package/dist/instant-now-generator-lJQqn_8K-JOzseqXI.d.mts.map +1 -0
  65. package/dist/migration-PTHAY9Cv.mjs.map +1 -1
  66. package/dist/{op-factory-call-H6zeDGLe-_1pAftJk.mjs → op-factory-call-CSkQdszU-C43tr0rP.mjs} +7 -7
  67. package/dist/{op-factory-call-H6zeDGLe-_1pAftJk.mjs.map → op-factory-call-CSkQdszU-C43tr0rP.mjs.map} +1 -1
  68. package/dist/{pack-CySS3DQU.d.mts → pack-DaQJIP6O.d.mts} +143 -11
  69. package/dist/pack-DaQJIP6O.d.mts.map +1 -0
  70. package/dist/{planner-D0uogzvT-1WyGIC5p.mjs → planner-CqeT-P2q-DVglsvwu.mjs} +8 -8
  71. package/dist/{planner-D0uogzvT-1WyGIC5p.mjs.map → planner-CqeT-P2q-DVglsvwu.mjs.map} +1 -1
  72. package/dist/{planner-ddl-builders-Chxh-LEQ-DXvwOeeA.mjs → planner-ddl-builders-CsfmnnKR-CNn0fLyx.mjs} +5 -5
  73. package/dist/{planner-ddl-builders-Chxh-LEQ-DXvwOeeA.mjs.map → planner-ddl-builders-CsfmnnKR-CNn0fLyx.mjs.map} +1 -1
  74. package/dist/{planner-produced-postgres-migration-D5m8nK6s-CbZ4hlbv.mjs → planner-produced-postgres-migration-Dsri3SjC-DZynrNO-.mjs} +4 -4
  75. package/dist/{planner-produced-postgres-migration-D5m8nK6s-CbZ4hlbv.mjs.map → planner-produced-postgres-migration-Dsri3SjC-DZynrNO-.mjs.map} +1 -1
  76. package/dist/{planner-sql-checks-ftgzvIO9-BTtBg2Vz.mjs → planner-sql-checks-Bcngv5YZ-Dnp05hSM.mjs} +4 -4
  77. package/dist/{planner-sql-checks-ftgzvIO9-BTtBg2Vz.mjs.map → planner-sql-checks-Bcngv5YZ-Dnp05hSM.mjs.map} +1 -1
  78. package/dist/{postgres-contract-view-B8ykf2cO-T2LvWVFZ.mjs → postgres-contract-view-CzWRnkxb-BpyBv1vn.mjs} +5 -5
  79. package/dist/{postgres-contract-view-B8ykf2cO-T2LvWVFZ.mjs.map → postgres-contract-view-CzWRnkxb-BpyBv1vn.mjs.map} +1 -1
  80. package/dist/{postgres-migration-Dbq3RGfZ-aMnwfEAb.mjs → postgres-migration-DHvU3Jkt-Eah72PD4.mjs} +6 -6
  81. package/dist/{postgres-migration-Dbq3RGfZ-aMnwfEAb.mjs.map → postgres-migration-DHvU3Jkt-Eah72PD4.mjs.map} +1 -1
  82. package/dist/{postgres-schema-CF0yHESb-D7n2X21R.mjs → postgres-schema-B3t7Zr52-CMlY9aGw.mjs} +4 -4
  83. package/dist/{postgres-schema-CF0yHESb-D7n2X21R.mjs.map → postgres-schema-B3t7Zr52-CMlY9aGw.mjs.map} +1 -1
  84. package/dist/{render-ops-DOsRP0Po-BKn_c_Ia.mjs → render-ops-D2vJApKB-B281fzmn.mjs} +3 -3
  85. package/dist/{render-ops-DOsRP0Po-BKn_c_Ia.mjs.map → render-ops-D2vJApKB-B281fzmn.mjs.map} +1 -1
  86. package/dist/{resolve-ddl-schema-CoaeNP35-C-UZldpj.mjs → resolve-ddl-schema-Cab6g5MC-SRco-A7L.mjs} +3 -3
  87. package/dist/{resolve-ddl-schema-CoaeNP35-C-UZldpj.mjs.map → resolve-ddl-schema-Cab6g5MC-SRco-A7L.mjs.map} +1 -1
  88. package/dist/{runtime-C-Hh2m1R.mjs → runtime-BJrfP1e8.mjs} +43 -5
  89. package/dist/runtime-BJrfP1e8.mjs.map +1 -0
  90. package/dist/{runtime-_TfO66h5.d.mts → runtime-bbCw9Omq.d.mts} +2 -1
  91. package/dist/runtime-bbCw9Omq.d.mts.map +1 -0
  92. package/dist/{sql-renderer-ComgusFq-BBlqM1fw.mjs → sql-renderer-ComgusFq-DfvXlBce.mjs} +3 -3
  93. package/dist/{sql-renderer-ComgusFq-BBlqM1fw.mjs.map → sql-renderer-ComgusFq-DfvXlBce.mjs.map} +1 -1
  94. package/dist/{sql-utils-DuzN3JZg-DiXy4Vah.mjs → sql-utils-6j9YTLpr-BCyCBPBg.mjs} +3 -3
  95. package/dist/{sql-utils-DuzN3JZg-DiXy4Vah.mjs.map → sql-utils-6j9YTLpr-BCyCBPBg.mjs.map} +1 -1
  96. package/dist/target.d.mts +12 -11
  97. package/dist/target.mjs +24 -23
  98. package/dist/target__aggregates.mjs +1 -1
  99. package/dist/target__codec-ids.d.mts +3 -3
  100. package/dist/target__codec-ids.mjs +2 -2
  101. package/dist/target__codec-types.d.mts +4 -4
  102. package/dist/target__codecs.d.mts +3 -3
  103. package/dist/target__codecs.mjs +3 -3
  104. package/dist/target__contract-free.mjs +3 -3
  105. package/dist/target__control.d.mts +3 -2
  106. package/dist/target__control.mjs +3 -2
  107. package/dist/target__diff-database-schema.mjs +1 -1
  108. package/dist/target__errors.d.mts +1 -1
  109. package/dist/target__errors.mjs +1 -1
  110. package/dist/target__issue-planner.mjs +1 -1
  111. package/dist/target__migration.mjs +2 -2
  112. package/dist/target__op-factory-call.mjs +1 -1
  113. package/dist/target__pack.d.mts +1 -1
  114. package/dist/target__pack.mjs +1 -1
  115. package/dist/target__planner-ddl-builders.mjs +1 -1
  116. package/dist/target__planner-produced-postgres-migration.mjs +1 -1
  117. package/dist/target__planner-sql-checks.mjs +1 -1
  118. package/dist/target__planner.mjs +2 -2
  119. package/dist/target__render-ops.mjs +1 -1
  120. package/dist/target__runtime.d.mts +3 -2
  121. package/dist/target__runtime.mjs +3 -2
  122. package/dist/target__runtime.mjs.map +1 -1
  123. package/dist/target__schema-ir-annotations.mjs +1 -1
  124. package/dist/target__sql-utils.mjs +1 -1
  125. package/dist/target__types.mjs +2 -2
  126. package/package.json +9 -9
  127. package/dist/aggregates-Dh6HPdvC.mjs.map +0 -1
  128. package/dist/authoring-BOpdZa2N-ClrLFiXw.mjs.map +0 -1
  129. package/dist/codec-ids-Bqu_IwO0-DKOdPizQ.d.mts +0 -35
  130. package/dist/codec-ids-Bqu_IwO0-DKOdPizQ.d.mts.map +0 -1
  131. package/dist/codec-ids-C5Rkltkw-DMf87l9s.mjs +0 -35
  132. package/dist/codec-ids-C5Rkltkw-DMf87l9s.mjs.map +0 -1
  133. package/dist/codec-ids-DJ6j6pZc.d.mts +0 -1
  134. package/dist/codec-types-BRU4F-7t-BaJbKF_i.d.mts.map +0 -1
  135. package/dist/codec-types-bX63JRLf.d.mts +0 -2
  136. package/dist/codecs-B1HgsJZ2.mjs.map +0 -1
  137. package/dist/codecs-BmPCJWqb-DveZGJvm.mjs.map +0 -1
  138. package/dist/codecs-D8tLswBi-_nbo-Z8x.d.mts.map +0 -1
  139. package/dist/codecs-DmCKO7dg.d.mts.map +0 -1
  140. package/dist/column-types-BH-MU6uU.d.mts.map +0 -1
  141. package/dist/column-types-Bh92dNjD.mjs.map +0 -1
  142. package/dist/contract-free-aQ4nT-_R.mjs.map +0 -1
  143. package/dist/control-2F195jJk.d.mts.map +0 -1
  144. package/dist/control-V7OkAC55.mjs.map +0 -1
  145. package/dist/control-adapter-DGLvLCp7-DaglJOfk.mjs.map +0 -1
  146. package/dist/descriptor-meta-KVX21fsl-DBDoB4eg.mjs.map +0 -1
  147. package/dist/errors-DKjQzNaN-DFcF1thx.mjs +0 -39
  148. package/dist/errors-DKjQzNaN-DFcF1thx.mjs.map +0 -1
  149. package/dist/pack-CySS3DQU.d.mts.map +0 -1
  150. package/dist/runtime-C-Hh2m1R.mjs.map +0 -1
  151. package/dist/runtime-_TfO66h5.d.mts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"codecs-BmPCJWqb-DveZGJvm.mjs","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/codecs-BmPCJWqb.mjs"],"sourcesContent":["import { C as PG_TIMESTAMP_CODEC_ID, D as PG_UUID_CODEC_ID, E as PG_UNBOUNDED_INT_CODEC_ID, O as PG_VARBIT_CODEC_ID, S as PG_TIMESTAMPTZ_CODEC_ID, T as PG_TIME_CODEC_ID, _ as PG_JSONB_CODEC_ID, a as PG_DATE_CODEC_ID, b as PG_TEXT_ARRAY_CODEC_ID, c as PG_FLOAT8_CODEC_ID, d as PG_INT2_CODEC_ID, f as PG_INT4_CODEC_ID, g as PG_INT_CODEC_ID, h as PG_INTERVAL_CODEC_ID, i as PG_CHAR_CODEC_ID, k as PG_VARCHAR_CODEC_ID, l as PG_FLOAT_CODEC_ID, m as PG_INT8_NUMBER_CODEC_ID, n as PG_BOOL_CODEC_ID, o as PG_ENUM_CODEC_ID, p as PG_INT8_CODEC_ID, r as PG_BYTEA_CODEC_ID, s as PG_FLOAT4_CODEC_ID, t as PG_BIT_CODEC_ID, u as PG_INET_CODEC_ID, v as PG_JSON_CODEC_ID, w as PG_TIMETZ_CODEC_ID, x as PG_TEXT_CODEC_ID, y as PG_NUMERIC_CODEC_ID } from \"./codec-ids-C5Rkltkw.mjs\";\nimport { a as postgresCodec, r as definePostgresCodecs, t as PostgresCodecDescriptor } from \"./codec-descriptor-LT7BpQta.mjs\";\nimport { n as postgresError } from \"./errors-DKjQzNaN.mjs\";\nimport \"./namespace-ids-xtp_ZY86.mjs\";\nimport { t as PostgresNativeEnum } from \"./postgres-native-enum-CdP3b_-R.mjs\";\nimport { BinaryExpr, CaseExpr, CastExpr, FunctionCallExpr, LiteralExpr, NullCheckExpr, OrExpr, SqlCharCodec, SqlFloatCodec, SqlIntCodec, SqlVarcharCodec, sqlCharDescriptor, sqlFloatDescriptor, sqlIntDescriptor, sqlTextDescriptor, sqlTimestampDescriptor, sqlVarcharDescriptor } from \"@internal/sql-relational-core/ast\";\nimport { CodecImpl, column, renderTsLiteral, voidParamsSchema } from \"@internal/framework-components/codec\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\nimport { type } from \"arktype\";\n//#region src/core/codec-helpers.ts\nfunction renderLength(typeName, typeParams) {\n\tconst length = typeParams[\"length\"];\n\tif (length === void 0) return;\n\tif (typeof length !== \"number\" || !Number.isFinite(length) || !Number.isInteger(length)) throw postgresError(\"RUNTIME.TYPE_PARAMS_INVALID\", `renderOutputType: expected integer \"length\" in typeParams for ${typeName}, got ${String(length)}`, { meta: {\n\t\tnativeType: typeName,\n\t\tparam: \"length\",\n\t\treceived: String(length)\n\t} });\n\treturn `${typeName}<${length}>`;\n}\nfunction renderPrecision(typeName, typeParams) {\n\tconst precision = typeParams[\"precision\"];\n\tif (precision === void 0) return typeName;\n\tif (typeof precision !== \"number\" || !Number.isFinite(precision) || !Number.isInteger(precision)) throw postgresError(\"RUNTIME.TYPE_PARAMS_INVALID\", `renderOutputType: expected integer \"precision\" in typeParams for ${typeName}, got ${String(precision)}`, { meta: {\n\t\tnativeType: typeName,\n\t\tparam: \"precision\",\n\t\treceived: String(precision)\n\t} });\n\treturn `${typeName}<${precision}>`;\n}\nconst pgNumericDecode = (wire) => {\n\tif (typeof wire === \"number\") return String(wire);\n\treturn wire;\n};\nconst DECIMAL_INTEGER = /^-?\\d+$/;\n/**\n* Requires an application value to be of the JS type the codec reads.\n*\n* A range check reads a value of the wrong type as a value out of range, and\n* reports a number plainly inside the range as outside it — so the type is\n* established first and answered for on its own terms, naming what a caller\n* has to change.\n*/\nconst requireJsType = (codecId, expected, value) => {\n\tif (typeof value === expected) return;\n\tthrow postgresError(\"RUNTIME.ENCODE_FAILED\", `${codecId} value must be a ${expected}, got ${typeof value} ${String(value)}`, { meta: {\n\t\tcodecId,\n\t\treceived: typeof value\n\t} });\n};\n/** Writes a `bigint` application value as the decimal text the wire form of the exact integer codecs carries. */\nconst pgBigintEncode = (codecId, value) => {\n\trequireJsType(codecId, \"bigint\", value);\n\treturn value.toString();\n};\n/**\n* Writes an application value as the decimal text these codecs carry as their\n* canonical JSON.\n*\n* A schema-written literal default (`BigInt @default(0)`) arrives here as a\n* `number`, since a number literal is the only integer a schema language\n* writes, and one that is a safe integer names its value exactly. Past that\n* range the literal was rounded before any of this ran, so the value written is\n* not the value meant — which this refuses rather than minting an exact-looking\n* total from it. A non-integral number is refused on the same terms.\n*/\nconst pgBigintEncodeJson = (codecId, value) => {\n\tif (typeof value !== \"number\") return pgBigintEncode(codecId, value);\n\tif (!Number.isSafeInteger(value)) throw postgresError(\"RUNTIME.ENCODE_FAILED\", `${codecId} number literal must be an integer within the safe integer range, got ${String(value)}`, { meta: {\n\t\tcodecId,\n\t\treceived: String(value)\n\t} });\n\treturn BigInt(value).toString();\n};\n/**\n* Reads a wire or JSON value as a `bigint`, rejecting anything `BigInt()` would\n* misread. A number-typed wire value must also be a safe integer: past\n* ±(2^53 − 1) the driver's `number` has already rounded, so stringifying it\n* would mint a spuriously-exact `bigint` that need not equal the stored value.\n*/\nconst decimalIntegerDecode = (codecId, wire) => {\n\tif (typeof wire === \"bigint\") return wire;\n\tconst text = String(wire);\n\tif (!DECIMAL_INTEGER.test(text)) throw postgresError(\"RUNTIME.DECODE_FAILED\", `${codecId} value must be a decimal integer`, { meta: {\n\t\tcodecId,\n\t\treceived: text\n\t} });\n\tif (typeof wire === \"number\" && !Number.isSafeInteger(wire)) throw postgresError(\"RUNTIME.DECODE_FAILED\", `${codecId} wire number must be an integer within the safe integer range, got ${text}`, { meta: {\n\t\tcodecId,\n\t\treceived: text\n\t} });\n\treturn BigInt(text);\n};\n/** Reads an `int8` wire or JSON value as a `bigint`, rejecting anything `BigInt()` would misread. */\nconst pgInt8Decode = (wire) => decimalIntegerDecode(\"pg/int8@1\", wire);\n/**\n* Reads an unconstrained-`numeric` wire or JSON value as a `bigint`, rejecting\n* non-integral values — including `NaN` and the infinities, which are `numeric`\n* values but not integers.\n*/\nconst pgUnboundedIntDecode = (wire) => decimalIntegerDecode(\"pg/unboundedint@1\", wire);\nconst MIN_SAFE_INTEGER_BIGINT = BigInt(Number.MIN_SAFE_INTEGER);\nconst MAX_SAFE_INTEGER_BIGINT = BigInt(Number.MAX_SAFE_INTEGER);\n/**\n* Requires an integer within ±(2^53 − 1), the range a JS `number` holds\n* exactly. The guard throws rather than rounding: past the boundary a `number`\n* silently loses digits, which is the failure mode this codec exists to refuse.\n*/\nconst pgInt8NumberGuard = (code, value) => {\n\tif (!Number.isSafeInteger(value)) throw postgresError(code, `pg/int8number@1 value must be an integer within the safe integer range, got ${String(value)}`, { meta: {\n\t\tcodecId: \"pg/int8number@1\",\n\t\treceived: String(value)\n\t} });\n\treturn value;\n};\nconst pgInt8NumberEncodeJson = (value) => {\n\trequireJsType(\"pg/int8number@1\", \"number\", value);\n\treturn pgInt8NumberGuard(\"RUNTIME.ENCODE_FAILED\", value);\n};\nconst pgInt8NumberEncode = (value) => String(pgInt8NumberEncodeJson(value));\n/**\n* Reads an `int8` wire value as a `number`, throwing outside ±(2^53 − 1) and on\n* non-integral input. Decimal text goes through `BigInt` before the range check\n* so an out-of-range value is compared exactly rather than after rounding.\n*/\nconst pgInt8NumberDecode = (wire) => {\n\tif (typeof wire === \"number\") return pgInt8NumberGuard(\"RUNTIME.DECODE_FAILED\", wire);\n\tconst value = decimalIntegerDecode(\"pg/int8number@1\", wire);\n\tif (value < MIN_SAFE_INTEGER_BIGINT || value > MAX_SAFE_INTEGER_BIGINT) throw postgresError(\"RUNTIME.DECODE_FAILED\", `pg/int8number@1 value must be an integer within the safe integer range, got ${value}`, { meta: {\n\t\tcodecId: \"pg/int8number@1\",\n\t\treceived: value.toString()\n\t} });\n\treturn Number(value);\n};\nconst pgInt8NumberDecodeJson = (json) => {\n\tif (typeof json !== \"number\") throw postgresError(\"RUNTIME.DECODE_FAILED\", \"pg/int8number@1 database JSON value must be a number\", { meta: {\n\t\tcodecId: \"pg/int8number@1\",\n\t\treceived: typeof json\n\t} });\n\treturn pgInt8NumberGuard(\"RUNTIME.DECODE_FAILED\", json);\n};\n/**\n* Renders a decimal-text default as a `bigint` literal, for the codecs whose\n* canonical JSON is decimal text while the application type is `bigint`\n* (`pg/int8@1`, `pg/unboundedint@1`) — a plain string literal would not\n* typecheck against the emitted column type.\n*/\nconst decimalTextBigintLiteral = (value) => typeof value === \"string\" && DECIMAL_INTEGER.test(value) ? `${value}n` : void 0;\nconst pgNumericRenderOutputType = (typeParams) => {\n\tconst precision = typeParams.precision;\n\tif (precision === void 0) return void 0;\n\tif (typeof precision !== \"number\" || !Number.isFinite(precision) || !Number.isInteger(precision)) throw postgresError(\"RUNTIME.TYPE_PARAMS_INVALID\", `renderOutputType: expected integer \"precision\" in typeParams for Numeric, got ${String(precision)}`, { meta: {\n\t\tnativeType: \"Numeric\",\n\t\tparam: \"precision\",\n\t\treceived: String(precision)\n\t} });\n\tconst scale = typeParams.scale;\n\tif (scale === void 0) return `Numeric<${precision}>`;\n\tif (typeof scale !== \"number\" || !Number.isFinite(scale) || !Number.isInteger(scale)) throw postgresError(\"RUNTIME.TYPE_PARAMS_INVALID\", `renderOutputType: expected integer \"scale\" in typeParams for Numeric, got ${String(scale)}`, { meta: {\n\t\tnativeType: \"Numeric\",\n\t\tparam: \"scale\",\n\t\treceived: String(scale)\n\t} });\n\treturn `Numeric<${precision}, ${scale}>`;\n};\nconst ISO_8601_TIMESTAMP = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,9})?$/;\nconst ISO_8601_TIMESTAMPTZ = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,9})?(?:Z|[+-]\\d{2}:\\d{2})$/;\nconst pgTimestampEncodeJson = (value) => value.toISOString().slice(0, -1);\nconst pgTimestampDecodeJson = (json) => {\n\tif (typeof json !== \"string\") throw postgresError(\"RUNTIME.DECODE_FAILED\", `Expected ISO date string for pg/timestamp@1, got ${typeof json}`, { meta: {\n\t\tcodecId: \"pg/timestamp@1\",\n\t\treceived: typeof json\n\t} });\n\tif (!ISO_8601_TIMESTAMP.test(json)) throw postgresError(\"RUNTIME.DECODE_FAILED\", `Invalid ISO date string for pg/timestamp@1: ${json}`, { meta: {\n\t\tcodecId: \"pg/timestamp@1\",\n\t\treceived: json\n\t} });\n\tconst date = /* @__PURE__ */ new Date(`${json}Z`);\n\tif (Number.isNaN(date.getTime())) throw postgresError(\"RUNTIME.DECODE_FAILED\", `Invalid ISO date string for pg/timestamp@1: ${json}`, { meta: {\n\t\tcodecId: \"pg/timestamp@1\",\n\t\treceived: json\n\t} });\n\treturn date;\n};\nconst pgTimestamptzEncodeJson = (value) => value.toISOString().replace(/Z$/, \"+00:00\");\nconst pgTimestamptzDecodeJson = (json) => {\n\tif (typeof json !== \"string\") throw postgresError(\"RUNTIME.DECODE_FAILED\", `Expected ISO date string for pg/timestamptz@1, got ${typeof json}`, { meta: {\n\t\tcodecId: \"pg/timestamptz@1\",\n\t\treceived: typeof json\n\t} });\n\tif (!ISO_8601_TIMESTAMPTZ.test(json)) throw postgresError(\"RUNTIME.DECODE_FAILED\", `Invalid ISO date string for pg/timestamptz@1: ${json}`, { meta: {\n\t\tcodecId: \"pg/timestamptz@1\",\n\t\treceived: json\n\t} });\n\tconst date = new Date(json);\n\tif (Number.isNaN(date.getTime())) throw postgresError(\"RUNTIME.DECODE_FAILED\", `Invalid ISO date string for pg/timestamptz@1: ${json}`, { meta: {\n\t\tcodecId: \"pg/timestamptz@1\",\n\t\treceived: json\n\t} });\n\treturn date;\n};\nconst ISO_8601_DATE = /^(\\d{4})-(\\d{2})-(\\d{2})$/;\nfunction formatDateOnly(year, month, day) {\n\treturn `${String(year).padStart(4, \"0\")}-${String(month).padStart(2, \"0\")}-${String(day).padStart(2, \"0\")}`;\n}\n/**\n* A Postgres `date` has no time-of-day or timezone component, so `pg/date@1`\n* canonicalizes its JS-level value as a `Date` at UTC midnight\n* (`Date.UTC(y, m, d)`), independent of the process's local timezone.\n*\n* `pgDateEncode` reads the calendar date via UTC getters (matching that\n* canonical form) and formats it as `YYYY-MM-DD` directly, bypassing the pg\n* driver's own `Date` serialization (`dateToString`), which reads *local*\n* getters and would shift the calendar day near midnight in negative-UTC-offset\n* environments.\n*/\nconst pgDateEncode = (value) => formatDateOnly(value.getUTCFullYear(), value.getUTCMonth() + 1, value.getUTCDate());\n/**\n* Normalizes the pg driver's already-parsed `Date` for a `date` column into\n* the canonical UTC-midnight form. The driver (via `postgres-date`) builds\n* that `Date` at *local* midnight from the wire text; reading it back with the\n* same (local) getters recovers the exact calendar date the driver parsed,\n* and reconstructing via `Date.UTC` makes the result's instant independent of\n* the process's timezone.\n*/\nconst pgDateDecode = (wire) => new Date(Date.UTC(wire.getFullYear(), wire.getMonth(), wire.getDate()));\nconst pgDateEncodeJson = (value) => pgDateEncode(value);\nconst pgDateDecodeJson = (json) => {\n\tif (typeof json !== \"string\") throw postgresError(\"RUNTIME.DECODE_FAILED\", `Expected date string for pg/date@1, got ${typeof json}`, { meta: {\n\t\tcodecId: \"pg/date@1\",\n\t\treceived: typeof json\n\t} });\n\tconst match = ISO_8601_DATE.exec(json);\n\tif (!match) throw postgresError(\"RUNTIME.DECODE_FAILED\", `Invalid date string for pg/date@1: ${json}`, { meta: {\n\t\tcodecId: \"pg/date@1\",\n\t\treceived: json\n\t} });\n\tconst [, yearText, monthText, dayText] = match;\n\tconst year = Number(yearText);\n\tconst month = Number(monthText) - 1;\n\tconst day = Number(dayText);\n\tconst date = new Date(Date.UTC(year, month, day));\n\tif (date.getUTCFullYear() !== year || date.getUTCMonth() !== month || date.getUTCDate() !== day) throw postgresError(\"RUNTIME.DECODE_FAILED\", `Invalid date string for pg/date@1: ${json}`, { meta: {\n\t\tcodecId: \"pg/date@1\",\n\t\treceived: json\n\t} });\n\treturn date;\n};\nconst ISO_DURATION = /^P(?!$)(-?\\d+Y)?(-?\\d+M)?(-?\\d+D)?(?:T(?!$)(-?\\d+H)?(-?\\d+M)?(-?\\d+(?:\\.\\d+)?S)?)?$/;\nconst MICROS_PER_SECOND = 1000000n;\n/**\n* Converts a fractional-seconds digit string to microseconds, rounding rather\n* than truncating past the sixth digit.\n*\n* PostgreSQL rounds: `INTERVAL '1.1234567 seconds'` is `1.123457`, and\n* `'1.9999999 seconds'` carries into `2`. Truncating here made the parsed value\n* disagree with the database for any input past microsecond resolution.\n*\n* Ties round toward positive infinity, matching `Math.round` on the sibling path\n* that reads the driver's component object — so the two agree. PostgreSQL's own\n* tie behaviour is unobservable, because it parses the literal into a double\n* first and an exact half never survives that.\n*/\nconst microsFromFraction = (fraction, negative) => {\n\tif (fraction === \"\") return 0n;\n\tconst kept = BigInt(fraction.slice(0, 6).padEnd(6, \"0\"));\n\tconst rest = fraction.slice(6).replace(/0+$/, \"\");\n\tif (rest === \"\") return kept;\n\tconst half = rest[0] === \"5\" && rest.length === 1;\n\treturn rest > \"5\" || half && !negative ? kept + 1n : kept;\n};\nconst intervalFieldsOf = (text) => {\n\tconst match = ISO_DURATION.exec(text);\n\tif (match === null) throw postgresError(\"RUNTIME.DECODE_FAILED\", `pg/interval@1 value must be an ISO-8601 duration, got ${text}`, { meta: {\n\t\tcodecId: \"pg/interval@1\",\n\t\treceived: text\n\t} });\n\tconst [, years, months, days, hours, minutes, seconds] = match;\n\tconst wholeNumber = (part) => part === void 0 ? 0 : Number(part.slice(0, -1));\n\tconst secondsLiteral = seconds === void 0 ? \"0\" : seconds.slice(0, -1);\n\tconst negative = secondsLiteral.startsWith(\"-\");\n\tconst [whole = \"0\", fraction = \"\"] = secondsLiteral.replace(\"-\", \"\").split(\".\");\n\tconst magnitude = BigInt(whole) * MICROS_PER_SECOND + microsFromFraction(fraction, negative);\n\treturn {\n\t\tmonths: wholeNumber(years) * 12 + wholeNumber(months),\n\t\tdays: wholeNumber(days),\n\t\tmicros: BigInt(wholeNumber(hours)) * 3600n * MICROS_PER_SECOND + BigInt(wholeNumber(minutes)) * 60n * MICROS_PER_SECOND + (negative ? -magnitude : magnitude)\n\t};\n};\nconst secondsText = (micros) => {\n\tconst sign = micros < 0n ? \"-\" : \"\";\n\tconst magnitude = micros < 0n ? -micros : micros;\n\tconst whole = magnitude / MICROS_PER_SECOND % 60n;\n\tconst fraction = magnitude % MICROS_PER_SECOND;\n\treturn `${sign}${whole}${fraction === 0n ? \"\" : `.${fraction.toString().padStart(6, \"0\").replace(/0+$/, \"\")}`}`;\n};\n/**\n* Renders {@link PgInterval} the way PostgreSQL spells an interval under\n* `IntervalStyle = 'iso_8601'`: zero components omitted, `T` present only when a\n* time component is, each component carrying its own sign, and an all-zero\n* interval written `PT0S`.\n*/\nconst formatIsoDuration = ({ months, days, micros }) => {\n\tconst years = Math.trunc(months / 12);\n\tconst restMonths = months % 12;\n\tconst sign = micros < 0n ? \"-\" : \"\";\n\tconst magnitude = micros < 0n ? -micros : micros;\n\tconst hours = magnitude / (3600n * MICROS_PER_SECOND);\n\tconst minutes = magnitude / (60n * MICROS_PER_SECOND) % 60n;\n\tconst hasSeconds = magnitude % (60n * MICROS_PER_SECOND) !== 0n;\n\tconst parts = [\n\t\tyears === 0 ? \"\" : `${years}Y`,\n\t\trestMonths === 0 ? \"\" : `${restMonths}M`,\n\t\tdays === 0 ? \"\" : `${days}D`\n\t];\n\tconst time = [\n\t\thours === 0n ? \"\" : `${sign}${hours}H`,\n\t\tminutes === 0n ? \"\" : `${sign}${minutes}M`,\n\t\thasSeconds ? `${secondsText(micros)}S` : \"\"\n\t].join(\"\");\n\tconst rendered = `P${parts.join(\"\")}${time === \"\" ? \"\" : `T${time}`}`;\n\treturn rendered === \"P\" ? \"PT0S\" : rendered;\n};\n/** Renders the application value as its canonical ISO-8601 duration. */\nconst pgIntervalToIso = (value) => formatIsoDuration(value);\nconst pgIntervalEncodeJson = (value) => formatIsoDuration(value);\nconst pgIntervalDecodeJson = (json) => {\n\tif (typeof json !== \"string\") throw postgresError(\"RUNTIME.DECODE_FAILED\", \"pg/interval@1 database JSON value must be an ISO-8601 duration string\", { meta: {\n\t\tcodecId: \"pg/interval@1\",\n\t\treceived: typeof json\n\t} });\n\treturn intervalFieldsOf(json);\n};\n/**\n* Reads the driver's wire value into the application value. `pg` parses an\n* interval into a component object, which is the same three fields under other\n* names; a text wire value is an ISO-8601 duration, because that is what the\n* codec writes.\n*/\nconst pgIntervalDecode = (wire) => {\n\tif (typeof wire === \"string\") return intervalFieldsOf(wire);\n\tconst part = (name) => {\n\t\tconst raw = wire[name];\n\t\treturn typeof raw === \"number\" ? raw : 0;\n\t};\n\tconst seconds = part(\"seconds\") + part(\"milliseconds\") / 1e3;\n\treturn {\n\t\tmonths: part(\"years\") * 12 + part(\"months\"),\n\t\tdays: part(\"days\"),\n\t\tmicros: BigInt(part(\"hours\")) * 3600n * MICROS_PER_SECOND + BigInt(part(\"minutes\")) * 60n * MICROS_PER_SECOND + BigInt(Math.round(seconds * 1e6))\n\t};\n};\nconst BASE64_TEXT = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;\nconst pgByteaEncodeJson = (value) => Buffer.from(value).toString(\"base64\");\nconst pgByteaDecodeJson = (value) => {\n\tif (typeof value !== \"string\" || !BASE64_TEXT.test(value)) throw postgresError(\"RUNTIME.DECODE_FAILED\", \"pg/bytea@1 database JSON value must be a base64 string\", { meta: { codecId: \"pg/bytea@1\" } });\n\treturn new Uint8Array(Buffer.from(value, \"base64\"));\n};\nconst pgJsonEncode = (value) => JSON.stringify(value);\nconst pgJsonDecode = (wire) => typeof wire === \"string\" ? JSON.parse(wire) : wire;\nconst pgJsonbEncode = (value) => JSON.stringify(value);\nconst pgJsonbDecode = (wire) => typeof wire === \"string\" ? JSON.parse(wire) : wire;\n//#endregion\n//#region src/core/codecs.ts\nconst lengthParamsSchema = type({ \"length?\": \"number.integer > 0\" });\nconst numericParamsSchema = type({\n\t\"precision?\": \"number.integer > 0 & number.integer <= 1000\",\n\t\"scale?\": \"number.integer >= 0\"\n});\nconst precisionParamsSchema = type({ \"precision?\": \"number.integer >= 0 & number.integer <= 6\" });\nconst PG_TEXT_NATIVE_TYPE = \"text\";\nconst PG_TEXT_ARRAY_NATIVE_TYPE = \"text[]\";\nconst PG_INT4_NATIVE_TYPE = \"integer\";\nconst PG_INT2_NATIVE_TYPE = \"smallint\";\nconst PG_INT8_NATIVE_TYPE = \"bigint\";\nconst PG_FLOAT4_NATIVE_TYPE = \"real\";\nconst PG_FLOAT8_NATIVE_TYPE = \"double precision\";\nconst PG_NUMERIC_NATIVE_TYPE = \"numeric\";\nconst PG_DATE_NATIVE_TYPE = \"date\";\nconst PG_TIMESTAMP_NATIVE_TYPE = \"timestamp without time zone\";\nconst PG_TIMESTAMPTZ_NATIVE_TYPE = \"timestamp with time zone\";\nconst PG_TIME_NATIVE_TYPE = \"time\";\nconst PG_TIMETZ_NATIVE_TYPE = \"timetz\";\nconst PG_BOOL_NATIVE_TYPE = \"boolean\";\nconst PG_BIT_NATIVE_TYPE = \"bit\";\nconst PG_VARBIT_NATIVE_TYPE = \"bit varying\";\nconst PG_BYTEA_NATIVE_TYPE = \"bytea\";\nconst PG_INTERVAL_NATIVE_TYPE = \"interval\";\nconst PG_JSON_NATIVE_TYPE = \"json\";\nconst PG_JSONB_NATIVE_TYPE = \"jsonb\";\n/**\n* Projects the expression unchanged, for codecs whose canonical JSON is what\n* PostgreSQL's own JSON conversion already produces.\n*\n* Identity here is a claim about the target's behaviour, not an absence of one:\n* the codec's conformance cases are what test it, including at the boundaries\n* of the representation — escaping, sign, and range — where a native conversion\n* would be most likely to diverge.\n*/\n/**\n* Whether a string is numeric text in the form PostgreSQL *prints*, which is\n* narrower than the form it accepts.\n*\n* `numeric` reads `+123`, `.5`, `1.`, `1e5`, `0x1f`, `1_000` and whitespace-padded\n* input, but prints every one of them in a single normalised form — `123`,\n* `0.5`, `1`, `100000`, `31`, `1000`, `12`. The projection reads the column back\n* through that printing, so accepting an input spelling here would produce an\n* application value the projection can never return: `encodeJson('1e5')` would\n* claim `1e5` where the database yields `100000`.\n*\n* `NaN`, `Infinity` and `-Infinity` are genuine `numeric` values, not error\n* states, and PostgreSQL emits them into JSON as strings — so they belong to the\n* canonical form and round-trip like any other value.\n*/\nconst CANONICAL_NUMERIC_TEXT = /^(?:-?\\d+(?:\\.\\d+)?|NaN|-?Infinity)$/;\nconst isCanonicalNumericText = (value) => CANONICAL_NUMERIC_TEXT.test(value);\nconst identityJsonProjection = (expression) => expression;\n/**\n* Projects a numeric-valued expression as decimal text.\n*\n* The cast is part of the projected expression, which is what makes it correct:\n* whatever `jsonProjection` returns is the argument the JSON constructor\n* receives, so casting here happens *before* PostgreSQL builds the JSON value.\n* Handed a `numeric` or `int8` directly, the constructor emits a JSON **number**,\n* and every digit past IEEE-754's 53 bits of significand is gone by the time the\n* driver has parsed it — before any codec can intervene. A cast applied to the\n* constructor's result instead of its argument would be too late to matter.\n*/\nconst decimalTextJsonProjection = (expression) => CastExpr.as(expression, \"text\");\n/**\n* Projects a `bytea` as base64 text.\n*\n* Like the decimal-text cast, the encoding is part of the projected expression:\n* PostgreSQL's own JSON conversion of a `bytea` emits its `\\x`-prefixed hex\n* output form, so the base64 encoding has to replace that conversion rather\n* than post-process it.\n*\n* `encode` emits RFC 2045 base64, which carries a line break every 76\n* characters — so any value over 56 bytes arrives wrapped. The breaks are\n* removed here, because the canonical form is unwrapped base64 and\n* `decodeJson` rejects anything else. `chr(10)` rather than a newline literal\n* keeps the rendered SQL on one line.\n*/\nconst base64JsonProjection = (expression) => FunctionCallExpr.of(\"translate\", [\n\tFunctionCallExpr.of(\"encode\", [expression, LiteralExpr.of(\"base64\")]),\n\tFunctionCallExpr.of(\"chr\", [LiteralExpr.of(10)]),\n\tLiteralExpr.of(\"\")\n]);\n/**\n* Projects a `timestamptz` as a UTC ISO-8601 string that no session setting can\n* move.\n*\n* A `timestamptz` handed straight to a JSON constructor is rendered in the\n* session's `TimeZone`, so the same stored instant reads as `+00:00`, `-05:00`\n* or `+05:30` depending on who is connected. `timezone('UTC', …)` resolves the\n* instant to UTC wall-clock independently of the session, and the explicit\n* `to_char` format pins the rendering rather than inheriting `DateStyle`.\n*/\nconst utcIsoJsonProjection = (expression) => FunctionCallExpr.of(\"to_char\", [FunctionCallExpr.of(\"timezone\", [LiteralExpr.of(\"UTC\"), expression]), LiteralExpr.of(\"YYYY-MM-DD\\\"T\\\"HH24:MI:SS.MS\\\"+00:00\\\"\")]);\nconst datePart = (field, expression) => FunctionCallExpr.of(\"date_part\", [LiteralExpr.of(field), expression]);\nconst whenNonZero = (value, rendered) => CaseExpr.of([{\n\tcondition: BinaryExpr.neq(value, LiteralExpr.of(0)),\n\tvalue: rendered\n}], LiteralExpr.of(null));\n/**\n* Projects an `interval` as an ISO-8601 duration.\n*\n* An interval carries months, days and microseconds independently — `P1M` and\n* `P30D` are different intervals — so the projection reads each field with\n* `date_part` and assembles them rather than reducing the value to an epoch,\n* which would have to choose a length for a month. `IntervalStyle` decides how\n* PostgreSQL spells an interval and cannot be bound per expression, so the\n* spelling is constructed here instead of inherited.\n*\n* `concat` drops NULL arguments, so a zero component is omitted by rendering as\n* NULL; the seconds field is taken through `numeric` because a `double\n* precision` microsecond renders in scientific notation.\n*\n* That same NULL-dropping is why the whole assembly sits under an explicit NULL\n* check: for a NULL interval every field is NULL, `concat` yields `'P'`, and the\n* zero-duration fallback below would report an absent value as a zero one.\n*/\nconst isoDurationJsonProjection = (expression) => {\n\tconst field = (name) => datePart(name, expression);\n\tconst seconds = CastExpr.as(field(\"second\"), \"numeric\");\n\tconst assembled = FunctionCallExpr.of(\"concat\", [\n\t\tLiteralExpr.of(\"P\"),\n\t\twhenNonZero(field(\"year\"), FunctionCallExpr.of(\"concat\", [field(\"year\"), LiteralExpr.of(\"Y\")])),\n\t\twhenNonZero(field(\"month\"), FunctionCallExpr.of(\"concat\", [field(\"month\"), LiteralExpr.of(\"M\")])),\n\t\twhenNonZero(field(\"day\"), FunctionCallExpr.of(\"concat\", [field(\"day\"), LiteralExpr.of(\"D\")])),\n\t\tCaseExpr.of([{\n\t\t\tcondition: OrExpr.of([\n\t\t\t\tBinaryExpr.neq(field(\"hour\"), LiteralExpr.of(0)),\n\t\t\t\tBinaryExpr.neq(field(\"minute\"), LiteralExpr.of(0)),\n\t\t\t\tBinaryExpr.neq(field(\"second\"), LiteralExpr.of(0))\n\t\t\t]),\n\t\t\tvalue: LiteralExpr.of(\"T\")\n\t\t}], LiteralExpr.of(null)),\n\t\twhenNonZero(field(\"hour\"), FunctionCallExpr.of(\"concat\", [field(\"hour\"), LiteralExpr.of(\"H\")])),\n\t\twhenNonZero(field(\"minute\"), FunctionCallExpr.of(\"concat\", [field(\"minute\"), LiteralExpr.of(\"M\")])),\n\t\twhenNonZero(field(\"second\"), FunctionCallExpr.of(\"concat\", [seconds, LiteralExpr.of(\"S\")]))\n\t]);\n\treturn CaseExpr.of([{\n\t\tcondition: NullCheckExpr.isNull(expression),\n\t\tvalue: LiteralExpr.of(null)\n\t}], FunctionCallExpr.of(\"coalesce\", [FunctionCallExpr.of(\"nullif\", [assembled, LiteralExpr.of(\"P\")]), LiteralExpr.of(\"PT0S\")]));\n};\nconst postgresSqlCharDescriptor = postgresCodec(sqlCharDescriptor, {\n\tnativeType: () => \"character\",\n\tjsonProjection: identityJsonProjection\n});\nconst postgresSqlVarcharDescriptor = postgresCodec(sqlVarcharDescriptor, {\n\tnativeType: () => \"character varying\",\n\tjsonProjection: identityJsonProjection\n});\nconst postgresSqlIntDescriptor = postgresCodec(sqlIntDescriptor, {\n\tnativeType: () => \"int4\",\n\tjsonProjection: identityJsonProjection\n});\nconst postgresSqlFloatDescriptor = postgresCodec(sqlFloatDescriptor, {\n\tnativeType: () => \"float8\",\n\tjsonProjection: identityJsonProjection\n});\nconst postgresSqlTextDescriptor = postgresCodec(sqlTextDescriptor, {\n\tnativeType: () => \"text\",\n\tjsonProjection: identityJsonProjection\n});\nconst postgresSqlTimestampDescriptor = postgresCodec(sqlTimestampDescriptor, {\n\tnativeType: () => \"timestamp\",\n\tjsonProjection: identityJsonProjection\n});\nvar PgTextCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar PgTextDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TEXT_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_TEXT_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"textual\"\n\t];\n\ttargetTypes = [\"text\"];\n\tparamsSchema = voidParamsSchema;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgTextCodec(this);\n\t}\n};\nconst pgTextDescriptor = new PgTextDescriptor();\nconst pgTextColumn = () => column(pgTextDescriptor.factory(), pgTextDescriptor.codecId, void 0, \"text\");\n/**\n* Codec for a `pg.enum(Ref)` column bound to a native Postgres enum type.\n* Text passthrough, identical to `pg/text@1` — encode/decode do not carry the\n* enum's member values; membership is enforced by the native type itself, not\n* by this codec. `renderValueLiteral` renders a member value as its TS\n* literal, which is what drives the column's typed value-union (via\n* `renderValueSetType` reading the column's `valueSet` ref) — the codec\n* itself carries no params of its own; typing comes entirely from the\n* column's value-set, not from `pg/enum@1`.\n*\n* A distinct codec id (rather than reusing `pg/text@1` on a plain text\n* column) keeps native-enum columns independently identifiable — from a\n* column's `codecId` alone, without also inspecting `nativeType` — which\n* the managed (DDL) phase needs to target `CREATE TYPE`/`ALTER TYPE`\n* operations at exactly the columns that use one.\n*/\nvar PgEnumCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn blindCast(json);\n\t}\n};\n/**\n* Narrows codec `typeParams` to {@link PgEnumParams} — the shape that binds a\n* column to a named database type (a native enum's `CREATE TYPE` name).\n*/\nfunction isPgEnumParams(value) {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value) && \"typeName\" in value && typeof value.typeName === \"string\";\n}\nconst pgEnumParamsSchema = type({ typeName: \"string\" });\nvar PgEnumDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType(params) {\n\t\treturn params.typeName;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_ENUM_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"textual\"\n\t];\n\ttargetTypes = [\"text\"];\n\tparamsSchema = pgEnumParamsSchema;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgEnumCodec(this);\n\t}\n\t/**\n\t* Authoring-time hook a `pg.enum(<ref>)` type constructor calls once it has\n\t* resolved its ref argument to the referenced `native_enum` entity:\n\t* produces this codec's per-column `typeParams` and native type from the\n\t* entity's bare type name. Schema-qualification (`auth.aal_level` for a\n\t* named non-default schema) is not this hook's concern — the field's\n\t* namespace isn't known at this call site for every authoring path (the TS\n\t* builder resolves a column before it knows its model's namespace), so it is\n\t* applied later, at contract construction, by {@link qualifyNativeType} via\n\t* the target's `authoring.qualifyColumnType` hook. `nativeType` mirrors\n\t* `typeParams.typeName` — the same value `nativeTypeFor` derives at render\n\t* time — so the column's declared native type and the render-time cast\n\t* agree. Returns `undefined` if `entity` is not a `PostgresNativeEnum` (a\n\t* contributor bug, not a user-schema error — the caller decides how to\n\t* report it).\n\t*/\n\tcolumnFromEntity(entity) {\n\t\tif (!PostgresNativeEnum.is(entity)) return void 0;\n\t\treturn {\n\t\t\ttypeParams: { typeName: entity.typeName },\n\t\t\tnativeType: entity.typeName\n\t\t};\n\t}\n\t/**\n\t* Schema-qualifies this native enum type's name for the namespace the\n\t* consuming column lives in: `${namespaceId}.${typeName}` for a named\n\t* non-default schema, bare for the target's default schema (`public`) or\n\t* the late-bound unbound sentinel (whose schema `search_path` resolves at\n\t* runtime). Postgres's `format_type()` reports the bare name for a\n\t* public-schema type, so a public column's declared native type must stay\n\t* bare to match. Owned here because the codec owns its native type.\n\t*/\n\tqualifyNativeType(typeName, namespaceId) {\n\t\treturn namespaceId === \"public\" || namespaceId === UNBOUND_NAMESPACE_ID ? typeName : `${namespaceId}.${typeName}`;\n\t}\n};\nconst pgEnumDescriptor = new PgEnumDescriptor();\n/**\n* Contract-construction-time column-type qualifier the Postgres target\n* contributes through `authoring.qualifyColumnType`.\n* `buildSqlContractFromDefinition` calls this for every column as it is\n* constructed, passing the column's bare type info and its owning\n* `namespaceId`; a native-enum column (`pg/enum@1`) gets its type name\n* schema-qualified for that namespace (via\n* {@link PgEnumDescriptor.qualifyNativeType}), keeping `nativeType` and\n* `typeParams.typeName` in sync. Every other codec passes through unchanged.\n* Both the PSL `pg.enum(Ref)` path and the TS `pg.enum(handle)` path route\n* through here — the dispatch keys off the codec id, not authoring surface.\n*/\nfunction postgresQualifyColumnType(input, namespaceId) {\n\tif (input.codecId !== \"pg/enum@1\") return input;\n\tconst bareTypeName = input.typeParams?.[\"typeName\"];\n\tif (typeof bareTypeName !== \"string\") return input;\n\tconst qualified = pgEnumDescriptor.qualifyNativeType(bareTypeName, namespaceId);\n\treturn {\n\t\tnativeType: qualified,\n\t\ttypeParams: {\n\t\t\t...input.typeParams,\n\t\t\ttypeName: qualified\n\t\t}\n\t};\n}\n/**\n* Postgres `text[]` codec. Encode is an identity pass-through: the pg wire\n* driver serialises a JS `string[]` to a Postgres array literal under the\n* `$N::text[]` cast the renderer emits from this codec's `text[]` native type,\n* and decode reads it back as a JS array. Used by the control plane to write\n* the marker's `invariants` column. Not a user-facing scalar — it is not part\n* of the authorable `CodecTypes` surface, only the runtime codec registry.\n*/\nvar PgTextArrayCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn [...value];\n\t}\n\tdecodeJson(json) {\n\t\treturn Array.isArray(json) ? json.map((entry) => String(entry)) : [];\n\t}\n};\nvar PgTextArrayDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TEXT_ARRAY_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_TEXT_ARRAY_CODEC_ID;\n\ttraits = [\"equality\"];\n\ttargetTypes = [\"text[]\"];\n\tparamsSchema = voidParamsSchema;\n\tfactory() {\n\t\treturn () => new PgTextArrayCodec(this);\n\t}\n};\nconst pgTextArrayDescriptor = new PgTextArrayDescriptor();\nvar PgInt4Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar PgInt4Descriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INT4_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_INT4_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"int4\"];\n\tparamsSchema = voidParamsSchema;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgInt4Codec(this);\n\t}\n};\nconst pgInt4Descriptor = new PgInt4Descriptor();\nconst pgInt4Column = () => column(pgInt4Descriptor.factory(), pgInt4Descriptor.codecId, void 0, \"int4\");\nvar PgInt2Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar PgInt2Descriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INT2_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_INT2_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"int2\"];\n\tparamsSchema = voidParamsSchema;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgInt2Codec(this);\n\t}\n};\nconst pgInt2Descriptor = new PgInt2Descriptor();\nconst pgInt2Column = () => column(pgInt2Descriptor.factory(), pgInt2Descriptor.codecId, void 0, \"int2\");\n/**\n* A Postgres `int8` spans the full signed 64-bit range, which a JS `number`\n* cannot hold past 2^53. Application values are `bigint` and the canonical JSON\n* is decimal text; the wire form is the decimal string `pg` reads and writes for\n* this type.\n*/\nvar PgInt8Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgBigintEncode(PG_INT8_CODEC_ID, value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgInt8Decode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgBigintEncodeJson(PG_INT8_CODEC_ID, value);\n\t}\n\tdecodeJson(json) {\n\t\tif (typeof json !== \"string\") throw postgresError(\"RUNTIME.DECODE_FAILED\", \"pg/int8@1 database JSON value must be a decimal string\", { meta: {\n\t\t\tcodecId: PG_INT8_CODEC_ID,\n\t\t\treceived: typeof json\n\t\t} });\n\t\treturn pgInt8Decode(json);\n\t}\n};\nvar PgInt8Descriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INT8_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tcodecId = PG_INT8_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"int8\"];\n\tparamsSchema = voidParamsSchema;\n\trenderValueLiteral(value) {\n\t\treturn decimalTextBigintLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgInt8Codec(this);\n\t}\n};\nconst pgInt8Descriptor = new PgInt8Descriptor();\nconst pgInt8Column = () => column(pgInt8Descriptor.factory(), pgInt8Descriptor.codecId, void 0, \"int8\");\n/**\n* A Postgres `int8` decoded as a JS `number`, for columns whose values stay\n* within the safe integer range ±(2^53 − 1). Both directions guard rather than\n* round: decode (wire and JSON) and encode throw a structured error on\n* out-of-range or non-integral input. The canonical JSON is a JSON number —\n* the deliberate exception to the decimal-text rule for 64-bit integers, and\n* the codec's purpose. The descriptor claims no target type, so `int8` in type\n* position stays `pg/int8@1`.\n*/\nvar PgInt8NumberCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgInt8NumberEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgInt8NumberDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgInt8NumberEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn pgInt8NumberDecodeJson(json);\n\t}\n};\nvar PgInt8NumberDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INT8_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_INT8_NUMBER_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [];\n\tparamsSchema = voidParamsSchema;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgInt8NumberCodec(this);\n\t}\n};\nconst pgInt8NumberDescriptor = new PgInt8NumberDescriptor();\nconst pgInt8NumberColumn = () => column(pgInt8NumberDescriptor.factory(), pgInt8NumberDescriptor.codecId, void 0, \"int8\");\nvar PgFloat4Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar PgFloat4Descriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_FLOAT4_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_FLOAT4_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"float4\"];\n\tparamsSchema = voidParamsSchema;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgFloat4Codec(this);\n\t}\n};\nconst pgFloat4Descriptor = new PgFloat4Descriptor();\nconst pgFloat4Column = () => column(pgFloat4Descriptor.factory(), pgFloat4Descriptor.codecId, void 0, \"float4\");\nvar PgFloat8Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar PgFloat8Descriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_FLOAT8_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_FLOAT8_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"float8\"];\n\tparamsSchema = voidParamsSchema;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgFloat8Codec(this);\n\t}\n};\nconst pgFloat8Descriptor = new PgFloat8Descriptor();\nconst pgFloat8Column = () => column(pgFloat8Descriptor.factory(), pgFloat8Descriptor.codecId, void 0, \"float8\");\nvar PgBoolCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar PgBoolDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_BOOL_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_BOOL_CODEC_ID;\n\ttraits = [\"equality\", \"boolean\"];\n\ttargetTypes = [\"bool\"];\n\tparamsSchema = voidParamsSchema;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgBoolCodec(this);\n\t}\n};\nconst pgBoolDescriptor = new PgBoolDescriptor();\nconst pgBoolColumn = () => column(pgBoolDescriptor.factory(), pgBoolDescriptor.codecId, void 0, \"bool\");\nvar PgNumericCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgNumericDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\tif (!isCanonicalNumericText(value)) throw postgresError(\"RUNTIME.ENCODE_FAILED\", \"pg/numeric@1 application value must be canonical numeric text: an optionally negated decimal numeral, or NaN, Infinity or -Infinity\", { meta: {\n\t\t\tcodecId: PG_NUMERIC_CODEC_ID,\n\t\t\treceived: value\n\t\t} });\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\tif (typeof json !== \"string\") throw postgresError(\"RUNTIME.DECODE_FAILED\", \"pg/numeric@1 database JSON value must be a decimal string\", { meta: {\n\t\t\tcodecId: PG_NUMERIC_CODEC_ID,\n\t\t\treceived: typeof json\n\t\t} });\n\t\treturn json;\n\t}\n};\nvar PgNumericDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_NUMERIC_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tcodecId = PG_NUMERIC_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"numeric\", \"decimal\"];\n\tparamsSchema = numericParamsSchema;\n\trenderOutputType(params) {\n\t\treturn pgNumericRenderOutputType(params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgNumericCodec(this);\n\t}\n};\nconst pgNumericDescriptor = new PgNumericDescriptor();\nconst pgNumericColumn = (params = {}) => column(pgNumericDescriptor.factory(params), pgNumericDescriptor.codecId, params, \"numeric\");\n/**\n* A genuinely unbounded integer over unconstrained Postgres `numeric` storage.\n* Application values are `bigint` and the canonical JSON is decimal text, like\n* `pg/int8@1`; decode rejects non-integral values. The descriptor claims no\n* target type, so `numeric` and `decimal` in type position stay `pg/numeric@1`.\n*/\nvar PgUnboundedIntCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgBigintEncode(PG_UNBOUNDED_INT_CODEC_ID, value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgUnboundedIntDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgBigintEncodeJson(PG_UNBOUNDED_INT_CODEC_ID, value);\n\t}\n\tdecodeJson(json) {\n\t\tif (typeof json !== \"string\") throw postgresError(\"RUNTIME.DECODE_FAILED\", \"pg/unboundedint@1 database JSON value must be a decimal string\", { meta: {\n\t\t\tcodecId: PG_UNBOUNDED_INT_CODEC_ID,\n\t\t\treceived: typeof json\n\t\t} });\n\t\treturn pgUnboundedIntDecode(json);\n\t}\n};\nvar PgUnboundedIntDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_NUMERIC_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tcodecId = PG_UNBOUNDED_INT_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [];\n\tparamsSchema = voidParamsSchema;\n\trenderValueLiteral(value) {\n\t\treturn decimalTextBigintLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgUnboundedIntCodec(this);\n\t}\n};\nconst pgUnboundedIntDescriptor = new PgUnboundedIntDescriptor();\nconst pgUnboundedIntColumn = () => column(pgUnboundedIntDescriptor.factory(), pgUnboundedIntDescriptor.codecId, void 0, \"numeric\");\n/**\n* A Postgres `date` has no time-of-day or timezone component. This codec\n* canonicalizes its JS-level value as a `Date` at UTC midnight, so its\n* round-trip is independent of the process's local timezone — see\n* `pgDateEncode`/`pgDateDecode` in `codec-helpers.ts`.\n*/\nvar PgDateCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgDateEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgDateDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgDateEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn pgDateDecodeJson(json);\n\t}\n};\nvar PgDateDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_DATE_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_DATE_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"date\"];\n\tparamsSchema = voidParamsSchema;\n\tfactory() {\n\t\treturn () => new PgDateCodec(this);\n\t}\n};\nconst pgDateDescriptor = new PgDateDescriptor();\nconst pgDateColumn = () => column(pgDateDescriptor.factory(), pgDateDescriptor.codecId, void 0, \"date\");\nvar PgTimestampCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimestampEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn pgTimestampDecodeJson(json);\n\t}\n};\nvar PgTimestampDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIMESTAMP_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_TIMESTAMP_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"timestamp\"];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"Timestamp\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimestampCodec(this);\n\t}\n};\nconst pgTimestampDescriptor = new PgTimestampDescriptor();\nconst pgTimestampColumn = (params = {}) => column(pgTimestampDescriptor.factory(params), pgTimestampDescriptor.codecId, params, \"timestamp\");\nvar PgTimestamptzCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimestamptzEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn pgTimestamptzDecodeJson(json);\n\t}\n};\nvar PgTimestamptzDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIMESTAMPTZ_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn utcIsoJsonProjection(expression);\n\t}\n\tcodecId = PG_TIMESTAMPTZ_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"timestamptz\"];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"Timestamptz\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimestamptzCodec(this);\n\t}\n};\nconst pgTimestamptzDescriptor = new PgTimestamptzDescriptor();\nconst pgTimestamptzColumn = (params = {}) => column(pgTimestamptzDescriptor.factory(params), pgTimestamptzDescriptor.codecId, params, \"timestamptz\");\nvar PgTimeCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar PgTimeDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIME_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_TIME_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"time\"];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"Time\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimeCodec(this);\n\t}\n};\nconst pgTimeDescriptor = new PgTimeDescriptor();\nconst pgTimeColumn = (params = {}) => column(pgTimeDescriptor.factory(params), pgTimeDescriptor.codecId, params, \"time\");\nvar PgTimetzCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar PgTimetzDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIMETZ_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_TIMETZ_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"timetz\"];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"Timetz\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimetzCodec(this);\n\t}\n};\nconst pgTimetzDescriptor = new PgTimetzDescriptor();\nconst pgTimetzColumn = (params = {}) => column(pgTimetzDescriptor.factory(params), pgTimetzDescriptor.codecId, params, \"timetz\");\nvar PgBitCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar PgBitDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_BIT_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_BIT_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"bit\"];\n\tparamsSchema = lengthParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderLength(\"Bit\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgBitCodec(this);\n\t}\n};\nconst pgBitDescriptor = new PgBitDescriptor();\nconst pgBitColumn = (params = {}) => column(pgBitDescriptor.factory(params), pgBitDescriptor.codecId, params, \"bit\");\nvar PgVarbitCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar PgVarbitDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_VARBIT_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_VARBIT_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"bit varying\"];\n\tparamsSchema = lengthParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderLength(\"VarBit\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgVarbitCodec(this);\n\t}\n};\nconst pgVarbitDescriptor = new PgVarbitDescriptor();\nconst pgVarbitColumn = (params = {}) => column(pgVarbitDescriptor.factory(params), pgVarbitDescriptor.codecId, params, \"bit varying\");\nvar PgByteaCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire instanceof Uint8Array && wire.constructor === Uint8Array ? wire : new Uint8Array(wire.buffer, wire.byteOffset, wire.byteLength);\n\t}\n\tencodeJson(value) {\n\t\treturn pgByteaEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn pgByteaDecodeJson(json);\n\t}\n};\nvar PgByteaDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_BYTEA_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn base64JsonProjection(expression);\n\t}\n\tcodecId = PG_BYTEA_CODEC_ID;\n\ttraits = [\"equality\"];\n\ttargetTypes = [\"bytea\"];\n\tparamsSchema = voidParamsSchema;\n\tfactory() {\n\t\treturn () => new PgByteaCodec(this);\n\t}\n};\nconst pgByteaDescriptor = new PgByteaDescriptor();\nconst PG_UUID_NATIVE_TYPE = \"uuid\";\nvar PgUuidCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn blindCast(json);\n\t}\n};\nvar PgUuidDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_UUID_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_UUID_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"uuid\"];\n\tparamsSchema = voidParamsSchema;\n\tfactory() {\n\t\treturn () => new PgUuidCodec(this);\n\t}\n};\nconst pgUuidDescriptor = new PgUuidDescriptor();\nconst pgUuidColumn = () => column(pgUuidDescriptor.factory(), pgUuidDescriptor.codecId, void 0, \"uuid\");\nconst PG_INET_NATIVE_TYPE = \"inet\";\nvar PgInetCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn blindCast(json);\n\t}\n};\nvar PgInetDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INET_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_INET_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"inet\"];\n\tparamsSchema = voidParamsSchema;\n\tfactory() {\n\t\treturn () => new PgInetCodec(this);\n\t}\n};\nconst pgInetDescriptor = new PgInetDescriptor();\nconst pgInetColumn = () => column(pgInetDescriptor.factory(), pgInetDescriptor.codecId, void 0, \"inet\");\n/**\n* An application value is a {@link PgInterval} — the three fields PostgreSQL\n* actually stores, `{ months, days, micros }` — and its canonical JSON is the\n* ISO-8601 duration string PostgreSQL spells under\n* `IntervalStyle = 'iso_8601'`: `P1M`, `P30D`, `P1Y2M3DT4H5M6S`, `PT0S` for\n* zero, each component carrying its own sign.\n*\n* Value and representation are independent here, as they are for `pg/bytea@1`\n* (`Uint8Array` carried as base64) and `pg/int8@1` (`bigint` carried as decimal\n* text). Reading an interval hands back numbers to compute with rather than a\n* string to parse; writing one takes the same numbers.\n*\n* The fields stay independent because a month has no fixed length: `{months: 1}`\n* and `{days: 30}` are different values and neither converts to the other. The\n* ISO rendering normalises only in its own spelling — twelve months render as a\n* year — so `{months: 13}` renders `P1Y1M` and reads back as `{months: 13}`.\n*/\nvar PgIntervalCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgIntervalToIso(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgIntervalDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgIntervalEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn pgIntervalDecodeJson(json);\n\t}\n};\nvar PgIntervalDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INTERVAL_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn isoDurationJsonProjection(expression);\n\t}\n\tcodecId = PG_INTERVAL_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"interval\"];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"Interval\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgIntervalCodec(this);\n\t}\n};\nconst pgIntervalDescriptor = new PgIntervalDescriptor();\nconst pgIntervalColumn = (params = {}) => column(pgIntervalDescriptor.factory(params), pgIntervalDescriptor.codecId, params, \"interval\");\nvar PgJsonCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgJsonEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgJsonDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar PgJsonDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_JSON_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_JSON_CODEC_ID;\n\ttraits = [];\n\ttargetTypes = [\"json\"];\n\tparamsSchema = voidParamsSchema;\n\tfactory() {\n\t\treturn () => new PgJsonCodec(this);\n\t}\n};\nconst pgJsonDescriptor = new PgJsonDescriptor();\nconst pgJsonColumn = () => column(pgJsonDescriptor.factory(), pgJsonDescriptor.codecId, void 0, \"json\");\nvar PgJsonbCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgJsonbEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgJsonbDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar PgJsonbDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_JSONB_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_JSONB_CODEC_ID;\n\ttraits = [\"equality\"];\n\ttargetTypes = [\"jsonb\"];\n\tparamsSchema = voidParamsSchema;\n\tfactory() {\n\t\treturn () => new PgJsonbCodec(this);\n\t}\n};\nconst pgJsonbDescriptor = new PgJsonbDescriptor();\nconst pgJsonbColumn = () => column(pgJsonbDescriptor.factory(), pgJsonbDescriptor.codecId, void 0, \"jsonb\");\nconst PG_CHAR_NATIVE_TYPE = \"character\";\nconst PG_VARCHAR_NATIVE_TYPE = \"character varying\";\nconst PG_INT_NATIVE_TYPE = \"integer\";\nconst PG_FLOAT_NATIVE_TYPE = \"double precision\";\nvar PgCharDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_CHAR_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_CHAR_CODEC_ID;\n\ttargetTypes = [\"character\"];\n\ttraits = sqlCharDescriptor.traits;\n\tparamsSchema = sqlCharDescriptor.paramsSchema;\n\trenderOutputType(params) {\n\t\treturn sqlCharDescriptor.renderOutputType(params);\n\t}\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory(_params) {\n\t\treturn () => new SqlCharCodec(this);\n\t}\n};\nconst pgCharDescriptor = new PgCharDescriptor();\nconst pgCharColumn = (params = {}) => column(pgCharDescriptor.factory(params), pgCharDescriptor.codecId, params, \"character\");\nvar PgVarcharDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_VARCHAR_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_VARCHAR_CODEC_ID;\n\ttargetTypes = [\"character varying\"];\n\ttraits = sqlVarcharDescriptor.traits;\n\tparamsSchema = sqlVarcharDescriptor.paramsSchema;\n\trenderOutputType(params) {\n\t\treturn sqlVarcharDescriptor.renderOutputType(params);\n\t}\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory(_params) {\n\t\treturn () => new SqlVarcharCodec(this);\n\t}\n};\nconst pgVarcharDescriptor = new PgVarcharDescriptor();\nconst pgVarcharColumn = (params = {}) => column(pgVarcharDescriptor.factory(params), pgVarcharDescriptor.codecId, params, \"character varying\");\nvar PgIntDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INT_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_INT_CODEC_ID;\n\ttargetTypes = [\"int4\"];\n\ttraits = sqlIntDescriptor.traits;\n\tparamsSchema = sqlIntDescriptor.paramsSchema;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new SqlIntCodec(this);\n\t}\n};\nconst pgIntDescriptor = new PgIntDescriptor();\nconst pgIntColumn = () => column(pgIntDescriptor.factory(), pgIntDescriptor.codecId, void 0, \"int4\");\nvar PgFloatDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_FLOAT_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tcodecId = PG_FLOAT_CODEC_ID;\n\ttargetTypes = [\"float8\"];\n\ttraits = sqlFloatDescriptor.traits;\n\tparamsSchema = sqlFloatDescriptor.paramsSchema;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new SqlFloatCodec(this);\n\t}\n};\nconst pgFloatDescriptor = new PgFloatDescriptor();\nconst pgFloatColumn = () => column(pgFloatDescriptor.factory(), pgFloatDescriptor.codecId, void 0, \"float8\");\nconst codecDescriptors = definePostgresCodecs([\n\tpostgresSqlCharDescriptor,\n\tpostgresSqlVarcharDescriptor,\n\tpostgresSqlIntDescriptor,\n\tpostgresSqlFloatDescriptor,\n\tpostgresSqlTextDescriptor,\n\tpostgresSqlTimestampDescriptor,\n\tpgTextDescriptor,\n\tpgEnumDescriptor,\n\tpgCharDescriptor,\n\tpgVarcharDescriptor,\n\tpgIntDescriptor,\n\tpgFloatDescriptor,\n\tpgInt4Descriptor,\n\tpgInt2Descriptor,\n\tpgInt8Descriptor,\n\tpgInt8NumberDescriptor,\n\tpgFloat4Descriptor,\n\tpgFloat8Descriptor,\n\tpgNumericDescriptor,\n\tpgUnboundedIntDescriptor,\n\tpgDateDescriptor,\n\tpgTimestampDescriptor,\n\tpgTimestamptzDescriptor,\n\tpgTimeDescriptor,\n\tpgTimetzDescriptor,\n\tpgBoolDescriptor,\n\tpgBitDescriptor,\n\tpgVarbitDescriptor,\n\tpgByteaDescriptor,\n\tpgUuidDescriptor,\n\tpgInetDescriptor,\n\tpgIntervalDescriptor,\n\tpgJsonDescriptor,\n\tpgJsonbDescriptor,\n\tpgTextArrayDescriptor\n]);\n//#endregion\nexport { postgresQualifyColumnType as A, pgTimestampColumn as C, pgUuidColumn as D, pgUnboundedIntColumn as E, pgVarbitColumn as O, pgTimeColumn as S, pgTimetzColumn as T, pgIntervalColumn as _, pgCharColumn as a, pgNumericColumn as b, pgFloat4Column as c, pgInetColumn as d, pgInt2Column as f, pgIntColumn as g, pgInt8NumberColumn as h, pgBoolColumn as i, pgVarcharColumn as k, pgFloat8Column as l, pgInt8Column as m, isPgEnumParams as n, pgDateColumn as o, pgInt4Column as p, pgBitColumn as r, pgEnumDescriptor as s, codecDescriptors as t, pgFloatColumn as u, pgJsonColumn as v, pgTimestamptzColumn as w, pgTextColumn as x, pgJsonbColumn as y };\n\n//# sourceMappingURL=codecs-BmPCJWqb.mjs.map"],"mappings":";;;;;;;;;;AAWA,SAAS,aAAa,UAAU,YAAY;CAC3C,MAAM,SAAS,WAAW;CAC1B,IAAI,WAAW,KAAK,GAAG;CACvB,IAAI,OAAO,WAAW,YAAY,CAAC,OAAO,SAAS,MAAM,KAAK,CAAC,OAAO,UAAU,MAAM,GAAG,MAAM,cAAc,+BAA+B,iEAAiE,SAAS,QAAQ,OAAO,MAAM,KAAK,EAAE,MAAM;EACvP,YAAY;EACZ,OAAO;EACP,UAAU,OAAO,MAAM;CACxB,EAAE,CAAC;CACH,OAAO,GAAG,SAAS,GAAG,OAAO;AAC9B;AACA,SAAS,gBAAgB,UAAU,YAAY;CAC9C,MAAM,YAAY,WAAW;CAC7B,IAAI,cAAc,KAAK,GAAG,OAAO;CACjC,IAAI,OAAO,cAAc,YAAY,CAAC,OAAO,SAAS,SAAS,KAAK,CAAC,OAAO,UAAU,SAAS,GAAG,MAAM,cAAc,+BAA+B,oEAAoE,SAAS,QAAQ,OAAO,SAAS,KAAK,EAAE,MAAM;EACtQ,YAAY;EACZ,OAAO;EACP,UAAU,OAAO,SAAS;CAC3B,EAAE,CAAC;CACH,OAAO,GAAG,SAAS,GAAG,UAAU;AACjC;AACA,MAAM,mBAAmB,SAAS;CACjC,IAAI,OAAO,SAAS,UAAU,OAAO,OAAO,IAAI;CAChD,OAAO;AACR;AACA,MAAM,kBAAkB;;;;;;;;;AASxB,MAAM,iBAAiB,SAAS,UAAU,UAAU;CACnD,IAAI,OAAO,UAAU,UAAU;CAC/B,MAAM,cAAc,yBAAyB,GAAG,QAAQ,mBAAmB,SAAS,QAAQ,OAAO,MAAM,GAAG,OAAO,KAAK,KAAK,EAAE,MAAM;EACpI;EACA,UAAU,OAAO;CAClB,EAAE,CAAC;AACJ;;AAEA,MAAM,kBAAkB,SAAS,UAAU;CAC1C,cAAc,SAAS,UAAU,KAAK;CACtC,OAAO,MAAM,SAAS;AACvB;;;;;;;;;;;;AAYA,MAAM,sBAAsB,SAAS,UAAU;CAC9C,IAAI,OAAO,UAAU,UAAU,OAAO,eAAe,SAAS,KAAK;CACnE,IAAI,CAAC,OAAO,cAAc,KAAK,GAAG,MAAM,cAAc,yBAAyB,GAAG,QAAQ,wEAAwE,OAAO,KAAK,KAAK,EAAE,MAAM;EAC1L;EACA,UAAU,OAAO,KAAK;CACvB,EAAE,CAAC;CACH,OAAO,OAAO,KAAK,CAAC,CAAC,SAAS;AAC/B;;;;;;;AAOA,MAAM,wBAAwB,SAAS,SAAS;CAC/C,IAAI,OAAO,SAAS,UAAU,OAAO;CACrC,MAAM,OAAO,OAAO,IAAI;CACxB,IAAI,CAAC,gBAAgB,KAAK,IAAI,GAAG,MAAM,cAAc,yBAAyB,GAAG,QAAQ,mCAAmC,EAAE,MAAM;EACnI;EACA,UAAU;CACX,EAAE,CAAC;CACH,IAAI,OAAO,SAAS,YAAY,CAAC,OAAO,cAAc,IAAI,GAAG,MAAM,cAAc,yBAAyB,GAAG,QAAQ,qEAAqE,QAAQ,EAAE,MAAM;EACzM;EACA,UAAU;CACX,EAAE,CAAC;CACH,OAAO,OAAO,IAAI;AACnB;;AAEA,MAAM,gBAAgB,SAAS,qBAAqB,aAAa,IAAI;;;;;;AAMrE,MAAM,wBAAwB,SAAS,qBAAqB,qBAAqB,IAAI;AACrF,MAAM,0BAA0B,OAAO,OAAO,gBAAgB;AAC9D,MAAM,0BAA0B,OAAO,OAAO,gBAAgB;;;;;;AAM9D,MAAM,qBAAqB,MAAM,UAAU;CAC1C,IAAI,CAAC,OAAO,cAAc,KAAK,GAAG,MAAM,cAAc,MAAM,+EAA+E,OAAO,KAAK,KAAK,EAAE,MAAM;EACnK,SAAS;EACT,UAAU,OAAO,KAAK;CACvB,EAAE,CAAC;CACH,OAAO;AACR;AACA,MAAM,0BAA0B,UAAU;CACzC,cAAc,mBAAmB,UAAU,KAAK;CAChD,OAAO,kBAAkB,yBAAyB,KAAK;AACxD;AACA,MAAM,sBAAsB,UAAU,OAAO,uBAAuB,KAAK,CAAC;;;;;;AAM1E,MAAM,sBAAsB,SAAS;CACpC,IAAI,OAAO,SAAS,UAAU,OAAO,kBAAkB,yBAAyB,IAAI;CACpF,MAAM,QAAQ,qBAAqB,mBAAmB,IAAI;CAC1D,IAAI,QAAQ,2BAA2B,QAAQ,yBAAyB,MAAM,cAAc,yBAAyB,+EAA+E,SAAS,EAAE,MAAM;EACpN,SAAS;EACT,UAAU,MAAM,SAAS;CAC1B,EAAE,CAAC;CACH,OAAO,OAAO,KAAK;AACpB;AACA,MAAM,0BAA0B,SAAS;CACxC,IAAI,OAAO,SAAS,UAAU,MAAM,cAAc,yBAAyB,wDAAwD,EAAE,MAAM;EAC1I,SAAS;EACT,UAAU,OAAO;CAClB,EAAE,CAAC;CACH,OAAO,kBAAkB,yBAAyB,IAAI;AACvD;;;;;;;AAOA,MAAM,4BAA4B,UAAU,OAAO,UAAU,YAAY,gBAAgB,KAAK,KAAK,IAAI,GAAG,MAAM,KAAK,KAAK;AAC1H,MAAM,6BAA6B,eAAe;CACjD,MAAM,YAAY,WAAW;CAC7B,IAAI,cAAc,KAAK,GAAG,OAAO,KAAK;CACtC,IAAI,OAAO,cAAc,YAAY,CAAC,OAAO,SAAS,SAAS,KAAK,CAAC,OAAO,UAAU,SAAS,GAAG,MAAM,cAAc,+BAA+B,iFAAiF,OAAO,SAAS,KAAK,EAAE,MAAM;EAClQ,YAAY;EACZ,OAAO;EACP,UAAU,OAAO,SAAS;CAC3B,EAAE,CAAC;CACH,MAAM,QAAQ,WAAW;CACzB,IAAI,UAAU,KAAK,GAAG,OAAO,WAAW,UAAU;CAClD,IAAI,OAAO,UAAU,YAAY,CAAC,OAAO,SAAS,KAAK,KAAK,CAAC,OAAO,UAAU,KAAK,GAAG,MAAM,cAAc,+BAA+B,6EAA6E,OAAO,KAAK,KAAK,EAAE,MAAM;EAC9O,YAAY;EACZ,OAAO;EACP,UAAU,OAAO,KAAK;CACvB,EAAE,CAAC;CACH,OAAO,WAAW,UAAU,IAAI,MAAM;AACvC;AACA,MAAM,qBAAqB;AAC3B,MAAM,uBAAuB;AAC7B,MAAM,yBAAyB,UAAU,MAAM,YAAY,CAAC,CAAC,MAAM,GAAG,EAAE;AACxE,MAAM,yBAAyB,SAAS;CACvC,IAAI,OAAO,SAAS,UAAU,MAAM,cAAc,yBAAyB,oDAAoD,OAAO,QAAQ,EAAE,MAAM;EACrJ,SAAS;EACT,UAAU,OAAO;CAClB,EAAE,CAAC;CACH,IAAI,CAAC,mBAAmB,KAAK,IAAI,GAAG,MAAM,cAAc,yBAAyB,+CAA+C,QAAQ,EAAE,MAAM;EAC/I,SAAS;EACT,UAAU;CACX,EAAE,CAAC;CACH,MAAM,uBAAuB,IAAI,KAAK,GAAG,KAAK,EAAE;CAChD,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,GAAG,MAAM,cAAc,yBAAyB,+CAA+C,QAAQ,EAAE,MAAM;EAC7I,SAAS;EACT,UAAU;CACX,EAAE,CAAC;CACH,OAAO;AACR;AACA,MAAM,2BAA2B,UAAU,MAAM,YAAY,CAAC,CAAC,QAAQ,MAAM,QAAQ;AACrF,MAAM,2BAA2B,SAAS;CACzC,IAAI,OAAO,SAAS,UAAU,MAAM,cAAc,yBAAyB,sDAAsD,OAAO,QAAQ,EAAE,MAAM;EACvJ,SAAS;EACT,UAAU,OAAO;CAClB,EAAE,CAAC;CACH,IAAI,CAAC,qBAAqB,KAAK,IAAI,GAAG,MAAM,cAAc,yBAAyB,iDAAiD,QAAQ,EAAE,MAAM;EACnJ,SAAS;EACT,UAAU;CACX,EAAE,CAAC;CACH,MAAM,OAAO,IAAI,KAAK,IAAI;CAC1B,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,GAAG,MAAM,cAAc,yBAAyB,iDAAiD,QAAQ,EAAE,MAAM;EAC/I,SAAS;EACT,UAAU;CACX,EAAE,CAAC;CACH,OAAO;AACR;AACA,MAAM,gBAAgB;AACtB,SAAS,eAAe,MAAM,OAAO,KAAK;CACzC,OAAO,GAAG,OAAO,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG,EAAE,GAAG,OAAO,KAAK,CAAC,CAAC,SAAS,GAAG,GAAG,EAAE,GAAG,OAAO,GAAG,CAAC,CAAC,SAAS,GAAG,GAAG;AACzG;;;;;;;;;;;;AAYA,MAAM,gBAAgB,UAAU,eAAe,MAAM,eAAe,GAAG,MAAM,YAAY,IAAI,GAAG,MAAM,WAAW,CAAC;;;;;;;;;AASlH,MAAM,gBAAgB,SAAS,IAAI,KAAK,KAAK,IAAI,KAAK,YAAY,GAAG,KAAK,SAAS,GAAG,KAAK,QAAQ,CAAC,CAAC;AACrG,MAAM,oBAAoB,UAAU,aAAa,KAAK;AACtD,MAAM,oBAAoB,SAAS;CAClC,IAAI,OAAO,SAAS,UAAU,MAAM,cAAc,yBAAyB,2CAA2C,OAAO,QAAQ,EAAE,MAAM;EAC5I,SAAS;EACT,UAAU,OAAO;CAClB,EAAE,CAAC;CACH,MAAM,QAAQ,cAAc,KAAK,IAAI;CACrC,IAAI,CAAC,OAAO,MAAM,cAAc,yBAAyB,sCAAsC,QAAQ,EAAE,MAAM;EAC9G,SAAS;EACT,UAAU;CACX,EAAE,CAAC;CACH,MAAM,GAAG,UAAU,WAAW,WAAW;CACzC,MAAM,OAAO,OAAO,QAAQ;CAC5B,MAAM,QAAQ,OAAO,SAAS,IAAI;CAClC,MAAM,MAAM,OAAO,OAAO;CAC1B,MAAM,OAAO,IAAI,KAAK,KAAK,IAAI,MAAM,OAAO,GAAG,CAAC;CAChD,IAAI,KAAK,eAAe,MAAM,QAAQ,KAAK,YAAY,MAAM,SAAS,KAAK,WAAW,MAAM,KAAK,MAAM,cAAc,yBAAyB,sCAAsC,QAAQ,EAAE,MAAM;EACnM,SAAS;EACT,UAAU;CACX,EAAE,CAAC;CACH,OAAO;AACR;AACA,MAAM,eAAe;AACrB,MAAM,oBAAoB;;;;;;;;;;;;;;AAc1B,MAAM,sBAAsB,UAAU,aAAa;CAClD,IAAI,aAAa,IAAI,OAAO;CAC5B,MAAM,OAAO,OAAO,SAAS,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC;CACvD,MAAM,OAAO,SAAS,MAAM,CAAC,CAAC,CAAC,QAAQ,OAAO,EAAE;CAChD,IAAI,SAAS,IAAI,OAAO;CACxB,MAAM,OAAO,KAAK,OAAO,OAAO,KAAK,WAAW;CAChD,OAAO,OAAO,OAAO,QAAQ,CAAC,WAAW,OAAO,KAAK;AACtD;AACA,MAAM,oBAAoB,SAAS;CAClC,MAAM,QAAQ,aAAa,KAAK,IAAI;CACpC,IAAI,UAAU,MAAM,MAAM,cAAc,yBAAyB,yDAAyD,QAAQ,EAAE,MAAM;EACzI,SAAS;EACT,UAAU;CACX,EAAE,CAAC;CACH,MAAM,GAAG,OAAO,QAAQ,MAAM,OAAO,SAAS,WAAW;CACzD,MAAM,eAAe,SAAS,SAAS,KAAK,IAAI,IAAI,OAAO,KAAK,MAAM,GAAG,EAAE,CAAC;CAC5E,MAAM,iBAAiB,YAAY,KAAK,IAAI,MAAM,QAAQ,MAAM,GAAG,EAAE;CACrE,MAAM,WAAW,eAAe,WAAW,GAAG;CAC9C,MAAM,CAAC,QAAQ,KAAK,WAAW,MAAM,eAAe,QAAQ,KAAK,EAAE,CAAC,CAAC,MAAM,GAAG;CAC9E,MAAM,YAAY,OAAO,KAAK,IAAI,oBAAoB,mBAAmB,UAAU,QAAQ;CAC3F,OAAO;EACN,QAAQ,YAAY,KAAK,IAAI,KAAK,YAAY,MAAM;EACpD,MAAM,YAAY,IAAI;EACtB,QAAQ,OAAO,YAAY,KAAK,CAAC,IAAI,QAAQ,oBAAoB,OAAO,YAAY,OAAO,CAAC,IAAI,MAAM,qBAAqB,WAAW,CAAC,YAAY;CACpJ;AACD;AACA,MAAM,eAAe,WAAW;CAC/B,MAAM,OAAO,SAAS,KAAK,MAAM;CACjC,MAAM,YAAY,SAAS,KAAK,CAAC,SAAS;CAC1C,MAAM,QAAQ,YAAY,oBAAoB;CAC9C,MAAM,WAAW,YAAY;CAC7B,OAAO,GAAG,OAAO,QAAQ,aAAa,KAAK,KAAK,IAAI,SAAS,SAAS,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,QAAQ,OAAO,EAAE;AAC3G;;;;;;;AAOA,MAAM,qBAAqB,EAAE,QAAQ,MAAM,aAAa;CACvD,MAAM,QAAQ,KAAK,MAAM,SAAS,EAAE;CACpC,MAAM,aAAa,SAAS;CAC5B,MAAM,OAAO,SAAS,KAAK,MAAM;CACjC,MAAM,YAAY,SAAS,KAAK,CAAC,SAAS;CAC1C,MAAM,QAAQ,aAAa,QAAQ;CACnC,MAAM,UAAU,aAAa,MAAM,qBAAqB;CACxD,MAAM,aAAa,aAAa,MAAM,uBAAuB;CAC7D,MAAM,QAAQ;EACb,UAAU,IAAI,KAAK,GAAG,MAAM;EAC5B,eAAe,IAAI,KAAK,GAAG,WAAW;EACtC,SAAS,IAAI,KAAK,GAAG,KAAK;CAC3B;CACA,MAAM,OAAO;EACZ,UAAU,KAAK,KAAK,GAAG,OAAO,MAAM;EACpC,YAAY,KAAK,KAAK,GAAG,OAAO,QAAQ;EACxC,aAAa,GAAG,YAAY,MAAM,EAAE,KAAK;CAC1C,CAAC,CAAC,KAAK,EAAE;CACT,MAAM,WAAW,IAAI,MAAM,KAAK,EAAE,IAAI,SAAS,KAAK,KAAK,IAAI;CAC7D,OAAO,aAAa,MAAM,SAAS;AACpC;;AAEA,MAAM,mBAAmB,UAAU,kBAAkB,KAAK;AAC1D,MAAM,wBAAwB,UAAU,kBAAkB,KAAK;AAC/D,MAAM,wBAAwB,SAAS;CACtC,IAAI,OAAO,SAAS,UAAU,MAAM,cAAc,yBAAyB,yEAAyE,EAAE,MAAM;EAC3J,SAAS;EACT,UAAU,OAAO;CAClB,EAAE,CAAC;CACH,OAAO,iBAAiB,IAAI;AAC7B;;;;;;;AAOA,MAAM,oBAAoB,SAAS;CAClC,IAAI,OAAO,SAAS,UAAU,OAAO,iBAAiB,IAAI;CAC1D,MAAM,QAAQ,SAAS;EACtB,MAAM,MAAM,KAAK;EACjB,OAAO,OAAO,QAAQ,WAAW,MAAM;CACxC;CACA,MAAM,UAAU,KAAK,SAAS,IAAI,KAAK,cAAc,IAAI;CACzD,OAAO;EACN,QAAQ,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ;EAC1C,MAAM,KAAK,MAAM;EACjB,QAAQ,OAAO,KAAK,OAAO,CAAC,IAAI,QAAQ,oBAAoB,OAAO,KAAK,SAAS,CAAC,IAAI,MAAM,oBAAoB,OAAO,KAAK,MAAM,UAAU,GAAG,CAAC;CACjJ;AACD;AACA,MAAM,cAAc;AACpB,MAAM,qBAAqB,UAAU,OAAO,KAAK,KAAK,CAAC,CAAC,SAAS,QAAQ;AACzE,MAAM,qBAAqB,UAAU;CACpC,IAAI,OAAO,UAAU,YAAY,CAAC,YAAY,KAAK,KAAK,GAAG,MAAM,cAAc,yBAAyB,0DAA0D,EAAE,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;CACrM,OAAO,IAAI,WAAW,OAAO,KAAK,OAAO,QAAQ,CAAC;AACnD;AACA,MAAM,gBAAgB,UAAU,KAAK,UAAU,KAAK;AACpD,MAAM,gBAAgB,SAAS,OAAO,SAAS,WAAW,KAAK,MAAM,IAAI,IAAI;AAC7E,MAAM,iBAAiB,UAAU,KAAK,UAAU,KAAK;AACrD,MAAM,iBAAiB,SAAS,OAAO,SAAS,WAAW,KAAK,MAAM,IAAI,IAAI;AAG9E,MAAM,qBAAqB,KAAK,EAAE,WAAW,qBAAqB,CAAC;AACnE,MAAM,sBAAsB,KAAK;CAChC,cAAc;CACd,UAAU;AACX,CAAC;AACD,MAAM,wBAAwB,KAAK,EAAE,cAAc,4CAA4C,CAAC;AAChG,MAAM,sBAAsB;AAC5B,MAAM,4BAA4B;AAClC,MAAM,sBAAsB;AAC5B,MAAM,sBAAsB;AAC5B,MAAM,sBAAsB;AAC5B,MAAM,wBAAwB;AAC9B,MAAM,wBAAwB;AAC9B,MAAM,yBAAyB;AAC/B,MAAM,sBAAsB;AAC5B,MAAM,2BAA2B;AACjC,MAAM,6BAA6B;AACnC,MAAM,sBAAsB;AAC5B,MAAM,wBAAwB;AAC9B,MAAM,sBAAsB;AAC5B,MAAM,qBAAqB;AAC3B,MAAM,wBAAwB;AAC9B,MAAM,uBAAuB;AAC7B,MAAM,0BAA0B;AAChC,MAAM,sBAAsB;AAC5B,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;AAyB7B,MAAM,yBAAyB;AAC/B,MAAM,0BAA0B,UAAU,uBAAuB,KAAK,KAAK;AAC3E,MAAM,0BAA0B,eAAe;;;;;;;;;;;;AAY/C,MAAM,6BAA6B,eAAe,SAAS,GAAG,YAAY,MAAM;;;;;;;;;;;;;;;AAehF,MAAM,wBAAwB,eAAe,iBAAiB,GAAG,aAAa;CAC7E,iBAAiB,GAAG,UAAU,CAAC,YAAY,YAAY,GAAG,QAAQ,CAAC,CAAC;CACpE,iBAAiB,GAAG,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;CAC/C,YAAY,GAAG,EAAE;AAClB,CAAC;;;;;;;;;;;AAWD,MAAM,wBAAwB,eAAe,iBAAiB,GAAG,WAAW,CAAC,iBAAiB,GAAG,YAAY,CAAC,YAAY,GAAG,KAAK,GAAG,UAAU,CAAC,GAAG,YAAY,GAAG,wCAAwC,CAAC,CAAC;AAC5M,MAAM,YAAY,OAAO,eAAe,iBAAiB,GAAG,aAAa,CAAC,YAAY,GAAG,KAAK,GAAG,UAAU,CAAC;AAC5G,MAAM,eAAe,OAAO,aAAa,SAAS,GAAG,CAAC;CACrD,WAAW,WAAW,IAAI,OAAO,YAAY,GAAG,CAAC,CAAC;CAClD,OAAO;AACR,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC;;;;;;;;;;;;;;;;;;;AAmBxB,MAAM,6BAA6B,eAAe;CACjD,MAAM,SAAS,SAAS,SAAS,MAAM,UAAU;CACjD,MAAM,UAAU,SAAS,GAAG,MAAM,QAAQ,GAAG,SAAS;CACtD,MAAM,YAAY,iBAAiB,GAAG,UAAU;EAC/C,YAAY,GAAG,GAAG;EAClB,YAAY,MAAM,MAAM,GAAG,iBAAiB,GAAG,UAAU,CAAC,MAAM,MAAM,GAAG,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC;EAC9F,YAAY,MAAM,OAAO,GAAG,iBAAiB,GAAG,UAAU,CAAC,MAAM,OAAO,GAAG,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC;EAChG,YAAY,MAAM,KAAK,GAAG,iBAAiB,GAAG,UAAU,CAAC,MAAM,KAAK,GAAG,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC;EAC5F,SAAS,GAAG,CAAC;GACZ,WAAW,OAAO,GAAG;IACpB,WAAW,IAAI,MAAM,MAAM,GAAG,YAAY,GAAG,CAAC,CAAC;IAC/C,WAAW,IAAI,MAAM,QAAQ,GAAG,YAAY,GAAG,CAAC,CAAC;IACjD,WAAW,IAAI,MAAM,QAAQ,GAAG,YAAY,GAAG,CAAC,CAAC;GAClD,CAAC;GACD,OAAO,YAAY,GAAG,GAAG;EAC1B,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC;EACxB,YAAY,MAAM,MAAM,GAAG,iBAAiB,GAAG,UAAU,CAAC,MAAM,MAAM,GAAG,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC;EAC9F,YAAY,MAAM,QAAQ,GAAG,iBAAiB,GAAG,UAAU,CAAC,MAAM,QAAQ,GAAG,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC;EAClG,YAAY,MAAM,QAAQ,GAAG,iBAAiB,GAAG,UAAU,CAAC,SAAS,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC;CAC3F,CAAC;CACD,OAAO,SAAS,GAAG,CAAC;EACnB,WAAW,cAAc,OAAO,UAAU;EAC1C,OAAO,YAAY,GAAG,IAAI;CAC3B,CAAC,GAAG,iBAAiB,GAAG,YAAY,CAAC,iBAAiB,GAAG,UAAU,CAAC,WAAW,YAAY,GAAG,GAAG,CAAC,CAAC,GAAG,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC;AAC/H;AACA,MAAM,4BAA4B,cAAc,mBAAmB;CAClE,kBAAkB;CAClB,gBAAgB;AACjB,CAAC;AACD,MAAM,+BAA+B,cAAc,sBAAsB;CACxE,kBAAkB;CAClB,gBAAgB;AACjB,CAAC;AACD,MAAM,2BAA2B,cAAc,kBAAkB;CAChE,kBAAkB;CAClB,gBAAgB;AACjB,CAAC;AACD,MAAM,6BAA6B,cAAc,oBAAoB;CACpE,kBAAkB;CAClB,gBAAgB;AACjB,CAAC;AACD,MAAM,4BAA4B,cAAc,mBAAmB;CAClE,kBAAkB;CAClB,gBAAgB;AACjB,CAAC;AACD,MAAM,iCAAiC,cAAc,wBAAwB;CAC5E,kBAAkB;CAClB,gBAAgB;AACjB,CAAC;AACD,IAAI,cAAc,cAAc,UAAU;CACzC,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO;CACR;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO;CACR;CACA,WAAW,OAAO;EACjB,OAAO;CACR;CACA,WAAW,MAAM;EAChB,OAAO;CACR;AACD;AACA,IAAI,mBAAmB,cAAc,wBAAwB;CAC5D,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,SAAS;EACR;EACA;EACA;CACD;CACA,cAAc,CAAC,MAAM;CACrB,eAAe;CACf,mBAAmB,OAAO;EACzB,OAAO,gBAAgB,KAAK;CAC7B;CACA,UAAU;EACT,aAAa,IAAI,YAAY,IAAI;CAClC;AACD;AACA,MAAM,mBAAmB,IAAI,iBAAiB;AAC9C,MAAM,qBAAqB,OAAO,iBAAiB,QAAQ,GAAG,iBAAiB,SAAS,KAAK,GAAG,MAAM;;;;;;;;;;;;;;;;;AAiBtG,IAAI,cAAc,cAAc,UAAU;CACzC,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO;CACR;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO;CACR;CACA,WAAW,OAAO;EACjB,OAAO;CACR;CACA,WAAW,MAAM;EAChB,OAAO,UAAU,IAAI;CACtB;AACD;;;;;AAKA,SAAS,eAAe,OAAO;CAC9B,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK,KAAK,cAAc,SAAS,OAAO,MAAM,aAAa;AACjI;AACA,MAAM,qBAAqB,KAAK,EAAE,UAAU,SAAS,CAAC;AACtD,IAAI,mBAAmB,cAAc,wBAAwB;CAC5D,WAAW,QAAQ;EAClB,OAAO,OAAO;CACf;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,SAAS;EACR;EACA;EACA;CACD;CACA,cAAc,CAAC,MAAM;CACrB,eAAe;CACf,mBAAmB,OAAO;EACzB,OAAO,gBAAgB,KAAK;CAC7B;CACA,QAAQ,SAAS;EAChB,aAAa,IAAI,YAAY,IAAI;CAClC;;;;;;;;;;;;;;;;;CAiBA,iBAAiB,QAAQ;EACxB,IAAI,CAAC,mBAAmB,GAAG,MAAM,GAAG,OAAO,KAAK;EAChD,OAAO;GACN,YAAY,EAAE,UAAU,OAAO,SAAS;GACxC,YAAY,OAAO;EACpB;CACD;;;;;;;;;;CAUA,kBAAkB,UAAU,aAAa;EACxC,OAAO,gBAAgB,YAAY,gBAAgB,uBAAuB,WAAW,GAAG,YAAY,GAAG;CACxG;AACD;AACA,MAAM,mBAAmB,IAAI,iBAAiB;;;;;;;;;;;;;AAa9C,SAAS,0BAA0B,OAAO,aAAa;CACtD,IAAI,MAAM,YAAY,aAAa,OAAO;CAC1C,MAAM,eAAe,MAAM,aAAa;CACxC,IAAI,OAAO,iBAAiB,UAAU,OAAO;CAC7C,MAAM,YAAY,iBAAiB,kBAAkB,cAAc,WAAW;CAC9E,OAAO;EACN,YAAY;EACZ,YAAY;GACX,GAAG,MAAM;GACT,UAAU;EACX;CACD;AACD;;;;;;;;;AASA,IAAI,mBAAmB,cAAc,UAAU;CAC9C,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO;CACR;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO;CACR;CACA,WAAW,OAAO;EACjB,OAAO,CAAC,GAAG,KAAK;CACjB;CACA,WAAW,MAAM;EAChB,OAAO,MAAM,QAAQ,IAAI,IAAI,KAAK,KAAK,UAAU,OAAO,KAAK,CAAC,IAAI,CAAC;CACpE;AACD;AACA,IAAI,wBAAwB,cAAc,wBAAwB;CACjE,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,SAAS,CAAC,UAAU;CACpB,cAAc,CAAC,QAAQ;CACvB,eAAe;CACf,UAAU;EACT,aAAa,IAAI,iBAAiB,IAAI;CACvC;AACD;AACA,MAAM,wBAAwB,IAAI,sBAAsB;AACxD,IAAI,cAAc,cAAc,UAAU;CACzC,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO;CACR;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO;CACR;CACA,WAAW,OAAO;EACjB,OAAO;CACR;CACA,WAAW,MAAM;EAChB,OAAO;CACR;AACD;AACA,IAAI,mBAAmB,cAAc,wBAAwB;CAC5D,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,SAAS;EACR;EACA;EACA;CACD;CACA,cAAc,CAAC,MAAM;CACrB,eAAe;CACf,mBAAmB,OAAO;EACzB,OAAO,gBAAgB,KAAK;CAC7B;CACA,UAAU;EACT,aAAa,IAAI,YAAY,IAAI;CAClC;AACD;AACA,MAAM,mBAAmB,IAAI,iBAAiB;AAC9C,MAAM,qBAAqB,OAAO,iBAAiB,QAAQ,GAAG,iBAAiB,SAAS,KAAK,GAAG,MAAM;AACtG,IAAI,cAAc,cAAc,UAAU;CACzC,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO;CACR;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO;CACR;CACA,WAAW,OAAO;EACjB,OAAO;CACR;CACA,WAAW,MAAM;EAChB,OAAO;CACR;AACD;AACA,IAAI,mBAAmB,cAAc,wBAAwB;CAC5D,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,SAAS;EACR;EACA;EACA;CACD;CACA,cAAc,CAAC,MAAM;CACrB,eAAe;CACf,mBAAmB,OAAO;EACzB,OAAO,gBAAgB,KAAK;CAC7B;CACA,UAAU;EACT,aAAa,IAAI,YAAY,IAAI;CAClC;AACD;AACA,MAAM,mBAAmB,IAAI,iBAAiB;AAC9C,MAAM,qBAAqB,OAAO,iBAAiB,QAAQ,GAAG,iBAAiB,SAAS,KAAK,GAAG,MAAM;;;;;;;AAOtG,IAAI,cAAc,cAAc,UAAU;CACzC,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO,eAAe,kBAAkB,KAAK;CAC9C;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO,aAAa,IAAI;CACzB;CACA,WAAW,OAAO;EACjB,OAAO,mBAAmB,kBAAkB,KAAK;CAClD;CACA,WAAW,MAAM;EAChB,IAAI,OAAO,SAAS,UAAU,MAAM,cAAc,yBAAyB,0DAA0D,EAAE,MAAM;GAC5I,SAAS;GACT,UAAU,OAAO;EAClB,EAAE,CAAC;EACH,OAAO,aAAa,IAAI;CACzB;AACD;AACA,IAAI,mBAAmB,cAAc,wBAAwB;CAC5D,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO,0BAA0B,UAAU;CAC5C;CACA,UAAU;CACV,SAAS;EACR;EACA;EACA;CACD;CACA,cAAc,CAAC,MAAM;CACrB,eAAe;CACf,mBAAmB,OAAO;EACzB,OAAO,yBAAyB,KAAK;CACtC;CACA,UAAU;EACT,aAAa,IAAI,YAAY,IAAI;CAClC;AACD;AACA,MAAM,mBAAmB,IAAI,iBAAiB;AAC9C,MAAM,qBAAqB,OAAO,iBAAiB,QAAQ,GAAG,iBAAiB,SAAS,KAAK,GAAG,MAAM;;;;;;;;;;AAUtG,IAAI,oBAAoB,cAAc,UAAU;CAC/C,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO,mBAAmB,KAAK;CAChC;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO,mBAAmB,IAAI;CAC/B;CACA,WAAW,OAAO;EACjB,OAAO,uBAAuB,KAAK;CACpC;CACA,WAAW,MAAM;EAChB,OAAO,uBAAuB,IAAI;CACnC;AACD;AACA,IAAI,yBAAyB,cAAc,wBAAwB;CAClE,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,SAAS;EACR;EACA;EACA;CACD;CACA,cAAc,CAAC;CACf,eAAe;CACf,mBAAmB,OAAO;EACzB,OAAO,gBAAgB,KAAK;CAC7B;CACA,UAAU;EACT,aAAa,IAAI,kBAAkB,IAAI;CACxC;AACD;AACA,MAAM,yBAAyB,IAAI,uBAAuB;AAC1D,MAAM,2BAA2B,OAAO,uBAAuB,QAAQ,GAAG,uBAAuB,SAAS,KAAK,GAAG,MAAM;AACxH,IAAI,gBAAgB,cAAc,UAAU;CAC3C,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO;CACR;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO;CACR;CACA,WAAW,OAAO;EACjB,OAAO;CACR;CACA,WAAW,MAAM;EAChB,OAAO;CACR;AACD;AACA,IAAI,qBAAqB,cAAc,wBAAwB;CAC9D,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,SAAS;EACR;EACA;EACA;CACD;CACA,cAAc,CAAC,QAAQ;CACvB,eAAe;CACf,mBAAmB,OAAO;EACzB,OAAO,gBAAgB,KAAK;CAC7B;CACA,UAAU;EACT,aAAa,IAAI,cAAc,IAAI;CACpC;AACD;AACA,MAAM,qBAAqB,IAAI,mBAAmB;AAClD,MAAM,uBAAuB,OAAO,mBAAmB,QAAQ,GAAG,mBAAmB,SAAS,KAAK,GAAG,QAAQ;AAC9G,IAAI,gBAAgB,cAAc,UAAU;CAC3C,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO;CACR;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO;CACR;CACA,WAAW,OAAO;EACjB,OAAO;CACR;CACA,WAAW,MAAM;EAChB,OAAO;CACR;AACD;AACA,IAAI,qBAAqB,cAAc,wBAAwB;CAC9D,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,SAAS;EACR;EACA;EACA;CACD;CACA,cAAc,CAAC,QAAQ;CACvB,eAAe;CACf,mBAAmB,OAAO;EACzB,OAAO,gBAAgB,KAAK;CAC7B;CACA,UAAU;EACT,aAAa,IAAI,cAAc,IAAI;CACpC;AACD;AACA,MAAM,qBAAqB,IAAI,mBAAmB;AAClD,MAAM,uBAAuB,OAAO,mBAAmB,QAAQ,GAAG,mBAAmB,SAAS,KAAK,GAAG,QAAQ;AAC9G,IAAI,cAAc,cAAc,UAAU;CACzC,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO;CACR;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO;CACR;CACA,WAAW,OAAO;EACjB,OAAO;CACR;CACA,WAAW,MAAM;EAChB,OAAO;CACR;AACD;AACA,IAAI,mBAAmB,cAAc,wBAAwB;CAC5D,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,SAAS,CAAC,YAAY,SAAS;CAC/B,cAAc,CAAC,MAAM;CACrB,eAAe;CACf,mBAAmB,OAAO;EACzB,OAAO,gBAAgB,KAAK;CAC7B;CACA,UAAU;EACT,aAAa,IAAI,YAAY,IAAI;CAClC;AACD;AACA,MAAM,mBAAmB,IAAI,iBAAiB;AAC9C,MAAM,qBAAqB,OAAO,iBAAiB,QAAQ,GAAG,iBAAiB,SAAS,KAAK,GAAG,MAAM;AACtG,IAAI,iBAAiB,cAAc,UAAU;CAC5C,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO;CACR;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO,gBAAgB,IAAI;CAC5B;CACA,WAAW,OAAO;EACjB,IAAI,CAAC,uBAAuB,KAAK,GAAG,MAAM,cAAc,yBAAyB,uIAAuI,EAAE,MAAM;GAC/N,SAAS;GACT,UAAU;EACX,EAAE,CAAC;EACH,OAAO;CACR;CACA,WAAW,MAAM;EAChB,IAAI,OAAO,SAAS,UAAU,MAAM,cAAc,yBAAyB,6DAA6D,EAAE,MAAM;GAC/I,SAAS;GACT,UAAU,OAAO;EAClB,EAAE,CAAC;EACH,OAAO;CACR;AACD;AACA,IAAI,sBAAsB,cAAc,wBAAwB;CAC/D,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO,0BAA0B,UAAU;CAC5C;CACA,UAAU;CACV,SAAS;EACR;EACA;EACA;CACD;CACA,cAAc,CAAC,WAAW,SAAS;CACnC,eAAe;CACf,iBAAiB,QAAQ;EACxB,OAAO,0BAA0B,MAAM;CACxC;CACA,QAAQ,SAAS;EAChB,aAAa,IAAI,eAAe,IAAI;CACrC;AACD;AACA,MAAM,sBAAsB,IAAI,oBAAoB;AACpD,MAAM,mBAAmB,SAAS,CAAC,MAAM,OAAO,oBAAoB,QAAQ,MAAM,GAAG,oBAAoB,SAAS,QAAQ,SAAS;;;;;;;AAOnI,IAAI,sBAAsB,cAAc,UAAU;CACjD,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO,eAAe,2BAA2B,KAAK;CACvD;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO,qBAAqB,IAAI;CACjC;CACA,WAAW,OAAO;EACjB,OAAO,mBAAmB,2BAA2B,KAAK;CAC3D;CACA,WAAW,MAAM;EAChB,IAAI,OAAO,SAAS,UAAU,MAAM,cAAc,yBAAyB,kEAAkE,EAAE,MAAM;GACpJ,SAAS;GACT,UAAU,OAAO;EAClB,EAAE,CAAC;EACH,OAAO,qBAAqB,IAAI;CACjC;AACD;AACA,IAAI,2BAA2B,cAAc,wBAAwB;CACpE,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO,0BAA0B,UAAU;CAC5C;CACA,UAAU;CACV,SAAS;EACR;EACA;EACA;CACD;CACA,cAAc,CAAC;CACf,eAAe;CACf,mBAAmB,OAAO;EACzB,OAAO,yBAAyB,KAAK;CACtC;CACA,UAAU;EACT,aAAa,IAAI,oBAAoB,IAAI;CAC1C;AACD;AACA,MAAM,2BAA2B,IAAI,yBAAyB;AAC9D,MAAM,6BAA6B,OAAO,yBAAyB,QAAQ,GAAG,yBAAyB,SAAS,KAAK,GAAG,SAAS;;;;;;;AAOjI,IAAI,cAAc,cAAc,UAAU;CACzC,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO,aAAa,KAAK;CAC1B;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO,aAAa,IAAI;CACzB;CACA,WAAW,OAAO;EACjB,OAAO,iBAAiB,KAAK;CAC9B;CACA,WAAW,MAAM;EAChB,OAAO,iBAAiB,IAAI;CAC7B;AACD;AACA,IAAI,mBAAmB,cAAc,wBAAwB;CAC5D,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,SAAS,CAAC,YAAY,OAAO;CAC7B,cAAc,CAAC,MAAM;CACrB,eAAe;CACf,UAAU;EACT,aAAa,IAAI,YAAY,IAAI;CAClC;AACD;AACA,MAAM,mBAAmB,IAAI,iBAAiB;AAC9C,MAAM,qBAAqB,OAAO,iBAAiB,QAAQ,GAAG,iBAAiB,SAAS,KAAK,GAAG,MAAM;AACtG,IAAI,mBAAmB,cAAc,UAAU;CAC9C,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO;CACR;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO;CACR;CACA,WAAW,OAAO;EACjB,OAAO,sBAAsB,KAAK;CACnC;CACA,WAAW,MAAM;EAChB,OAAO,sBAAsB,IAAI;CAClC;AACD;AACA,IAAI,wBAAwB,cAAc,wBAAwB;CACjE,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,SAAS,CAAC,YAAY,OAAO;CAC7B,cAAc,CAAC,WAAW;CAC1B,eAAe;CACf,iBAAiB,QAAQ;EACxB,OAAO,gBAAgB,aAAa,MAAM;CAC3C;CACA,QAAQ,SAAS;EAChB,aAAa,IAAI,iBAAiB,IAAI;CACvC;AACD;AACA,MAAM,wBAAwB,IAAI,sBAAsB;AACxD,MAAM,qBAAqB,SAAS,CAAC,MAAM,OAAO,sBAAsB,QAAQ,MAAM,GAAG,sBAAsB,SAAS,QAAQ,WAAW;AAC3I,IAAI,qBAAqB,cAAc,UAAU;CAChD,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO;CACR;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO;CACR;CACA,WAAW,OAAO;EACjB,OAAO,wBAAwB,KAAK;CACrC;CACA,WAAW,MAAM;EAChB,OAAO,wBAAwB,IAAI;CACpC;AACD;AACA,IAAI,0BAA0B,cAAc,wBAAwB;CACnE,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO,qBAAqB,UAAU;CACvC;CACA,UAAU;CACV,SAAS,CAAC,YAAY,OAAO;CAC7B,cAAc,CAAC,aAAa;CAC5B,eAAe;CACf,iBAAiB,QAAQ;EACxB,OAAO,gBAAgB,eAAe,MAAM;CAC7C;CACA,QAAQ,SAAS;EAChB,aAAa,IAAI,mBAAmB,IAAI;CACzC;AACD;AACA,MAAM,0BAA0B,IAAI,wBAAwB;AAC5D,MAAM,uBAAuB,SAAS,CAAC,MAAM,OAAO,wBAAwB,QAAQ,MAAM,GAAG,wBAAwB,SAAS,QAAQ,aAAa;AACnJ,IAAI,cAAc,cAAc,UAAU;CACzC,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO;CACR;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO;CACR;CACA,WAAW,OAAO;EACjB,OAAO;CACR;CACA,WAAW,MAAM;EAChB,OAAO;CACR;AACD;AACA,IAAI,mBAAmB,cAAc,wBAAwB;CAC5D,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,SAAS,CAAC,YAAY,OAAO;CAC7B,cAAc,CAAC,MAAM;CACrB,eAAe;CACf,iBAAiB,QAAQ;EACxB,OAAO,gBAAgB,QAAQ,MAAM;CACtC;CACA,QAAQ,SAAS;EAChB,aAAa,IAAI,YAAY,IAAI;CAClC;AACD;AACA,MAAM,mBAAmB,IAAI,iBAAiB;AAC9C,MAAM,gBAAgB,SAAS,CAAC,MAAM,OAAO,iBAAiB,QAAQ,MAAM,GAAG,iBAAiB,SAAS,QAAQ,MAAM;AACvH,IAAI,gBAAgB,cAAc,UAAU;CAC3C,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO;CACR;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO;CACR;CACA,WAAW,OAAO;EACjB,OAAO;CACR;CACA,WAAW,MAAM;EAChB,OAAO;CACR;AACD;AACA,IAAI,qBAAqB,cAAc,wBAAwB;CAC9D,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,SAAS,CAAC,YAAY,OAAO;CAC7B,cAAc,CAAC,QAAQ;CACvB,eAAe;CACf,iBAAiB,QAAQ;EACxB,OAAO,gBAAgB,UAAU,MAAM;CACxC;CACA,QAAQ,SAAS;EAChB,aAAa,IAAI,cAAc,IAAI;CACpC;AACD;AACA,MAAM,qBAAqB,IAAI,mBAAmB;AAClD,MAAM,kBAAkB,SAAS,CAAC,MAAM,OAAO,mBAAmB,QAAQ,MAAM,GAAG,mBAAmB,SAAS,QAAQ,QAAQ;AAC/H,IAAI,aAAa,cAAc,UAAU;CACxC,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO;CACR;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO;CACR;CACA,WAAW,OAAO;EACjB,OAAO;CACR;CACA,WAAW,MAAM;EAChB,OAAO;CACR;AACD;AACA,IAAI,kBAAkB,cAAc,wBAAwB;CAC3D,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,SAAS,CAAC,YAAY,OAAO;CAC7B,cAAc,CAAC,KAAK;CACpB,eAAe;CACf,iBAAiB,QAAQ;EACxB,OAAO,aAAa,OAAO,MAAM;CAClC;CACA,QAAQ,SAAS;EAChB,aAAa,IAAI,WAAW,IAAI;CACjC;AACD;AACA,MAAM,kBAAkB,IAAI,gBAAgB;AAC5C,MAAM,eAAe,SAAS,CAAC,MAAM,OAAO,gBAAgB,QAAQ,MAAM,GAAG,gBAAgB,SAAS,QAAQ,KAAK;AACnH,IAAI,gBAAgB,cAAc,UAAU;CAC3C,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO;CACR;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO;CACR;CACA,WAAW,OAAO;EACjB,OAAO;CACR;CACA,WAAW,MAAM;EAChB,OAAO;CACR;AACD;AACA,IAAI,qBAAqB,cAAc,wBAAwB;CAC9D,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,SAAS,CAAC,YAAY,OAAO;CAC7B,cAAc,CAAC,aAAa;CAC5B,eAAe;CACf,iBAAiB,QAAQ;EACxB,OAAO,aAAa,UAAU,MAAM;CACrC;CACA,QAAQ,SAAS;EAChB,aAAa,IAAI,cAAc,IAAI;CACpC;AACD;AACA,MAAM,qBAAqB,IAAI,mBAAmB;AAClD,MAAM,kBAAkB,SAAS,CAAC,MAAM,OAAO,mBAAmB,QAAQ,MAAM,GAAG,mBAAmB,SAAS,QAAQ,aAAa;AACpI,IAAI,eAAe,cAAc,UAAU;CAC1C,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO;CACR;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO,gBAAgB,cAAc,KAAK,gBAAgB,aAAa,OAAO,IAAI,WAAW,KAAK,QAAQ,KAAK,YAAY,KAAK,UAAU;CAC3I;CACA,WAAW,OAAO;EACjB,OAAO,kBAAkB,KAAK;CAC/B;CACA,WAAW,MAAM;EAChB,OAAO,kBAAkB,IAAI;CAC9B;AACD;AACA,IAAI,oBAAoB,cAAc,wBAAwB;CAC7D,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO,qBAAqB,UAAU;CACvC;CACA,UAAU;CACV,SAAS,CAAC,UAAU;CACpB,cAAc,CAAC,OAAO;CACtB,eAAe;CACf,UAAU;EACT,aAAa,IAAI,aAAa,IAAI;CACnC;AACD;AACA,MAAM,oBAAoB,IAAI,kBAAkB;AAChD,MAAM,sBAAsB;AAC5B,IAAI,cAAc,cAAc,UAAU;CACzC,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO;CACR;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO;CACR;CACA,WAAW,OAAO;EACjB,OAAO;CACR;CACA,WAAW,MAAM;EAChB,OAAO,UAAU,IAAI;CACtB;AACD;AACA,IAAI,mBAAmB,cAAc,wBAAwB;CAC5D,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,SAAS,CAAC,YAAY,OAAO;CAC7B,cAAc,CAAC,MAAM;CACrB,eAAe;CACf,UAAU;EACT,aAAa,IAAI,YAAY,IAAI;CAClC;AACD;AACA,MAAM,mBAAmB,IAAI,iBAAiB;AAC9C,MAAM,qBAAqB,OAAO,iBAAiB,QAAQ,GAAG,iBAAiB,SAAS,KAAK,GAAG,MAAM;AACtG,MAAM,sBAAsB;AAC5B,IAAI,cAAc,cAAc,UAAU;CACzC,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO;CACR;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO;CACR;CACA,WAAW,OAAO;EACjB,OAAO;CACR;CACA,WAAW,MAAM;EAChB,OAAO,UAAU,IAAI;CACtB;AACD;AACA,IAAI,mBAAmB,cAAc,wBAAwB;CAC5D,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,SAAS,CAAC,YAAY,OAAO;CAC7B,cAAc,CAAC,MAAM;CACrB,eAAe;CACf,UAAU;EACT,aAAa,IAAI,YAAY,IAAI;CAClC;AACD;AACA,MAAM,mBAAmB,IAAI,iBAAiB;AAC9C,MAAM,qBAAqB,OAAO,iBAAiB,QAAQ,GAAG,iBAAiB,SAAS,KAAK,GAAG,MAAM;;;;;;;;;;;;;;;;;;AAkBtG,IAAI,kBAAkB,cAAc,UAAU;CAC7C,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO,gBAAgB,KAAK;CAC7B;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO,iBAAiB,IAAI;CAC7B;CACA,WAAW,OAAO;EACjB,OAAO,qBAAqB,KAAK;CAClC;CACA,WAAW,MAAM;EAChB,OAAO,qBAAqB,IAAI;CACjC;AACD;AACA,IAAI,uBAAuB,cAAc,wBAAwB;CAChE,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO,0BAA0B,UAAU;CAC5C;CACA,UAAU;CACV,SAAS,CAAC,YAAY,OAAO;CAC7B,cAAc,CAAC,UAAU;CACzB,eAAe;CACf,iBAAiB,QAAQ;EACxB,OAAO,gBAAgB,YAAY,MAAM;CAC1C;CACA,QAAQ,SAAS;EAChB,aAAa,IAAI,gBAAgB,IAAI;CACtC;AACD;AACA,MAAM,uBAAuB,IAAI,qBAAqB;AACtD,MAAM,oBAAoB,SAAS,CAAC,MAAM,OAAO,qBAAqB,QAAQ,MAAM,GAAG,qBAAqB,SAAS,QAAQ,UAAU;AACvI,IAAI,cAAc,cAAc,UAAU;CACzC,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO,aAAa,KAAK;CAC1B;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO,aAAa,IAAI;CACzB;CACA,WAAW,OAAO;EACjB,OAAO;CACR;CACA,WAAW,MAAM;EAChB,OAAO;CACR;AACD;AACA,IAAI,mBAAmB,cAAc,wBAAwB;CAC5D,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,SAAS,CAAC;CACV,cAAc,CAAC,MAAM;CACrB,eAAe;CACf,UAAU;EACT,aAAa,IAAI,YAAY,IAAI;CAClC;AACD;AACA,MAAM,mBAAmB,IAAI,iBAAiB;AAC9C,MAAM,qBAAqB,OAAO,iBAAiB,QAAQ,GAAG,iBAAiB,SAAS,KAAK,GAAG,MAAM;AACtG,IAAI,eAAe,cAAc,UAAU;CAC1C,MAAM,OAAO,OAAO,MAAM;EACzB,OAAO,cAAc,KAAK;CAC3B;CACA,MAAM,OAAO,MAAM,MAAM;EACxB,OAAO,cAAc,IAAI;CAC1B;CACA,WAAW,OAAO;EACjB,OAAO;CACR;CACA,WAAW,MAAM;EAChB,OAAO;CACR;AACD;AACA,IAAI,oBAAoB,cAAc,wBAAwB;CAC7D,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,SAAS,CAAC,UAAU;CACpB,cAAc,CAAC,OAAO;CACtB,eAAe;CACf,UAAU;EACT,aAAa,IAAI,aAAa,IAAI;CACnC;AACD;AACA,MAAM,oBAAoB,IAAI,kBAAkB;AAChD,MAAM,sBAAsB,OAAO,kBAAkB,QAAQ,GAAG,kBAAkB,SAAS,KAAK,GAAG,OAAO;AAC1G,MAAM,sBAAsB;AAC5B,MAAM,yBAAyB;AAC/B,MAAM,qBAAqB;AAC3B,MAAM,uBAAuB;AAC7B,IAAI,mBAAmB,cAAc,wBAAwB;CAC5D,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,cAAc,CAAC,WAAW;CAC1B,SAAS,kBAAkB;CAC3B,eAAe,kBAAkB;CACjC,iBAAiB,QAAQ;EACxB,OAAO,kBAAkB,iBAAiB,MAAM;CACjD;CACA,mBAAmB,OAAO;EACzB,OAAO,gBAAgB,KAAK;CAC7B;CACA,QAAQ,SAAS;EAChB,aAAa,IAAI,aAAa,IAAI;CACnC;AACD;AACA,MAAM,mBAAmB,IAAI,iBAAiB;AAC9C,MAAM,gBAAgB,SAAS,CAAC,MAAM,OAAO,iBAAiB,QAAQ,MAAM,GAAG,iBAAiB,SAAS,QAAQ,WAAW;AAC5H,IAAI,sBAAsB,cAAc,wBAAwB;CAC/D,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,cAAc,CAAC,mBAAmB;CAClC,SAAS,qBAAqB;CAC9B,eAAe,qBAAqB;CACpC,iBAAiB,QAAQ;EACxB,OAAO,qBAAqB,iBAAiB,MAAM;CACpD;CACA,mBAAmB,OAAO;EACzB,OAAO,gBAAgB,KAAK;CAC7B;CACA,QAAQ,SAAS;EAChB,aAAa,IAAI,gBAAgB,IAAI;CACtC;AACD;AACA,MAAM,sBAAsB,IAAI,oBAAoB;AACpD,MAAM,mBAAmB,SAAS,CAAC,MAAM,OAAO,oBAAoB,QAAQ,MAAM,GAAG,oBAAoB,SAAS,QAAQ,mBAAmB;AAC7I,IAAI,kBAAkB,cAAc,wBAAwB;CAC3D,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,cAAc,CAAC,MAAM;CACrB,SAAS,iBAAiB;CAC1B,eAAe,iBAAiB;CAChC,mBAAmB,OAAO;EACzB,OAAO,gBAAgB,KAAK;CAC7B;CACA,UAAU;EACT,aAAa,IAAI,YAAY,IAAI;CAClC;AACD;AACA,MAAM,kBAAkB,IAAI,gBAAgB;AAC5C,MAAM,oBAAoB,OAAO,gBAAgB,QAAQ,GAAG,gBAAgB,SAAS,KAAK,GAAG,MAAM;AACnG,IAAI,oBAAoB,cAAc,wBAAwB;CAC7D,aAAa;EACZ,OAAO;CACR;CACA,eAAe,YAAY;EAC1B,OAAO;CACR;CACA,UAAU;CACV,cAAc,CAAC,QAAQ;CACvB,SAAS,mBAAmB;CAC5B,eAAe,mBAAmB;CAClC,mBAAmB,OAAO;EACzB,OAAO,gBAAgB,KAAK;CAC7B;CACA,UAAU;EACT,aAAa,IAAI,cAAc,IAAI;CACpC;AACD;AACA,MAAM,oBAAoB,IAAI,kBAAkB;AAChD,MAAM,sBAAsB,OAAO,kBAAkB,QAAQ,GAAG,kBAAkB,SAAS,KAAK,GAAG,QAAQ;AAC3G,MAAM,mBAAmB,qBAAqB;CAC7C;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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"codecs-D8tLswBi-_nbo-Z8x.d.mts","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/codecs-D8tLswBi.d.mts"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"codecs-DmCKO7dg.d.mts","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/codecs.d.mts"],"mappings":";;;;;;;;;;cASc,uBAAuB;cACvB,iCAAiC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"column-types-BH-MU6uU.d.mts","names":[],"sources":["../../../../3-targets/6-adapters/postgres/dist/column-types.d.mts"],"mappings":";;;cAEc;WACH;WACA;;iBAEM,WAAW,iBAAiB;WAClC;aACE;;;iBAGI,cAAc,iBAAiB;WACrC;aACE;;;cAGC;WACH;WACA;;cAEG;WACH;WACA;;cAEG;WACH;WACA;;cAEG;WACH;WACA;;cAEG;WACH;WACA;;iBAEM,cAAc,mBAAmB,iBAAiB;WACxD;aACE;aACA;;;cAGC;WACH;WACA;;cAEG;WACH;WACA;;iBAEM,WAAW,qBAAqB;WACtC;aACE;;;iBAGI,aAAa,qBAAqB;WACxC;aACE;;;cAGC;WACH;WACA;;iBAEM,UAAU,iBAAiB;WACjC;aACE;;;iBAGI,aAAa,iBAAiB;WACpC;aACE;;;;;;;;cAQC;WACH;WACA;;iBAEM,eAAe,qBAAqB;WAC1C;aACE;;;;;;;;cAQC;WACH;WACA;;;;;cAKG;WACH;WACA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"column-types-Bh92dNjD.mjs","names":[],"sources":["../../../../3-targets/6-adapters/postgres/dist/column-types.mjs"],"sourcesContent":["import { PG_BIT_CODEC_ID, PG_BOOL_CODEC_ID, PG_BYTEA_CODEC_ID, PG_FLOAT4_CODEC_ID, PG_FLOAT8_CODEC_ID, PG_INT2_CODEC_ID, PG_INT4_CODEC_ID, PG_INT8_CODEC_ID, PG_INTERVAL_CODEC_ID, PG_JSONB_CODEC_ID, PG_JSON_CODEC_ID, PG_NUMERIC_CODEC_ID, PG_TEXT_CODEC_ID, PG_TIMESTAMPTZ_CODEC_ID, PG_TIMESTAMP_CODEC_ID, PG_TIMETZ_CODEC_ID, PG_TIME_CODEC_ID, PG_VARBIT_CODEC_ID, SQL_CHAR_CODEC_ID, SQL_VARCHAR_CODEC_ID } from \"@internal/target-postgres/codec-ids\";\n//#region src/exports/column-types.ts\nconst textColumn = {\n\tcodecId: PG_TEXT_CODEC_ID,\n\tnativeType: \"text\"\n};\nfunction charColumn(length) {\n\treturn {\n\t\tcodecId: SQL_CHAR_CODEC_ID,\n\t\tnativeType: \"character\",\n\t\ttypeParams: { length }\n\t};\n}\nfunction varcharColumn(length) {\n\treturn {\n\t\tcodecId: SQL_VARCHAR_CODEC_ID,\n\t\tnativeType: \"character varying\",\n\t\ttypeParams: { length }\n\t};\n}\nconst int4Column = {\n\tcodecId: PG_INT4_CODEC_ID,\n\tnativeType: \"int4\"\n};\nconst int2Column = {\n\tcodecId: PG_INT2_CODEC_ID,\n\tnativeType: \"int2\"\n};\nconst int8Column = {\n\tcodecId: PG_INT8_CODEC_ID,\n\tnativeType: \"int8\"\n};\nconst float4Column = {\n\tcodecId: PG_FLOAT4_CODEC_ID,\n\tnativeType: \"float4\"\n};\nconst float8Column = {\n\tcodecId: PG_FLOAT8_CODEC_ID,\n\tnativeType: \"float8\"\n};\nfunction numericColumn(precision, scale) {\n\treturn {\n\t\tcodecId: PG_NUMERIC_CODEC_ID,\n\t\tnativeType: \"numeric\",\n\t\ttypeParams: scale === void 0 ? { precision } : {\n\t\t\tprecision,\n\t\t\tscale\n\t\t}\n\t};\n}\nconst timestampColumn = {\n\tcodecId: PG_TIMESTAMP_CODEC_ID,\n\tnativeType: \"timestamp\"\n};\nconst timestamptzColumn = {\n\tcodecId: PG_TIMESTAMPTZ_CODEC_ID,\n\tnativeType: \"timestamptz\"\n};\nfunction timeColumn(precision) {\n\treturn {\n\t\tcodecId: PG_TIME_CODEC_ID,\n\t\tnativeType: \"time\",\n\t\t...precision === void 0 ? {} : { typeParams: { precision } }\n\t};\n}\nfunction timetzColumn(precision) {\n\treturn {\n\t\tcodecId: PG_TIMETZ_CODEC_ID,\n\t\tnativeType: \"timetz\",\n\t\t...precision === void 0 ? {} : { typeParams: { precision } }\n\t};\n}\nconst boolColumn = {\n\tcodecId: PG_BOOL_CODEC_ID,\n\tnativeType: \"bool\"\n};\nfunction bitColumn(length) {\n\treturn {\n\t\tcodecId: PG_BIT_CODEC_ID,\n\t\tnativeType: \"bit\",\n\t\ttypeParams: { length }\n\t};\n}\nfunction varbitColumn(length) {\n\treturn {\n\t\tcodecId: PG_VARBIT_CODEC_ID,\n\t\tnativeType: \"bit varying\",\n\t\ttypeParams: { length }\n\t};\n}\n/**\n* Postgres `bytea` column descriptor — variable-length binary string.\n*\n* Round-trips as `Uint8Array` on the JS side. The pg wire-protocol text encoding (`\\x` followed by hex-encoded bytes, canonical for Postgres ≥ 9.0) and binary encoding are both handled by the underlying driver; the codec only normalizes the JS-side representation to a plain `Uint8Array` view.\n*/\nconst byteaColumn = {\n\tcodecId: PG_BYTEA_CODEC_ID,\n\tnativeType: \"bytea\"\n};\nfunction intervalColumn(precision) {\n\treturn {\n\t\tcodecId: PG_INTERVAL_CODEC_ID,\n\t\tnativeType: \"interval\",\n\t\t...precision === void 0 ? {} : { typeParams: { precision } }\n\t};\n}\n/**\n* Postgres `json` column descriptor — untyped raw JSON.\n*\n* For schema-typed JSON columns, use the per-library extension package (`@internal/extension-arktype-json` ships `arktypeJson(schema)` for arktype). The schema-accepting `json(schema)` / `jsonb(schema)` overloads previously shipped from this module retired in Phase C of the codec-registry-unification project — see spec § AC-7.\n*/\nconst jsonColumn = {\n\tcodecId: PG_JSON_CODEC_ID,\n\tnativeType: \"json\"\n};\n/**\n* Postgres `jsonb` column descriptor — untyped raw JSONB. Same retirement note as {@link jsonColumn}.\n*/\nconst jsonbColumn = {\n\tcodecId: PG_JSONB_CODEC_ID,\n\tnativeType: \"jsonb\"\n};\n//#endregion\nexport { bitColumn, boolColumn, byteaColumn, charColumn, float4Column, float8Column, int2Column, int4Column, int8Column, intervalColumn, jsonColumn, jsonbColumn, numericColumn, textColumn, timeColumn, timestampColumn, timestamptzColumn, timetzColumn, varbitColumn, varcharColumn };\n\n//# sourceMappingURL=column-types.mjs.map"],"mappings":";;AAEA,MAAM,aAAa;CAClB,SAAS;CACT,YAAY;AACb;AACA,SAAS,WAAW,QAAQ;CAC3B,OAAO;EACN,SAAS;EACT,YAAY;EACZ,YAAY,EAAE,OAAO;CACtB;AACD;AACA,SAAS,cAAc,QAAQ;CAC9B,OAAO;EACN,SAAS;EACT,YAAY;EACZ,YAAY,EAAE,OAAO;CACtB;AACD;AACA,MAAM,aAAa;CAClB,SAAS;CACT,YAAY;AACb;AACA,MAAM,aAAa;CAClB,SAAS;CACT,YAAY;AACb;AACA,MAAM,aAAa;CAClB,SAAS;CACT,YAAY;AACb;AACA,MAAM,eAAe;CACpB,SAAS;CACT,YAAY;AACb;AACA,MAAM,eAAe;CACpB,SAAS;CACT,YAAY;AACb;AACA,SAAS,cAAc,WAAW,OAAO;CACxC,OAAO;EACN,SAAS;EACT,YAAY;EACZ,YAAY,UAAU,KAAK,IAAI,EAAE,UAAU,IAAI;GAC9C;GACA;EACD;CACD;AACD;AACA,MAAM,kBAAkB;CACvB,SAAS;CACT,YAAY;AACb;AACA,MAAM,oBAAoB;CACzB,SAAS;CACT,YAAY;AACb;AACA,SAAS,WAAW,WAAW;CAC9B,OAAO;EACN,SAAS;EACT,YAAY;EACZ,GAAG,cAAc,KAAK,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE;CAC5D;AACD;AACA,SAAS,aAAa,WAAW;CAChC,OAAO;EACN,SAAS;EACT,YAAY;EACZ,GAAG,cAAc,KAAK,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE;CAC5D;AACD;AACA,MAAM,aAAa;CAClB,SAAS;CACT,YAAY;AACb;AACA,SAAS,UAAU,QAAQ;CAC1B,OAAO;EACN,SAAS;EACT,YAAY;EACZ,YAAY,EAAE,OAAO;CACtB;AACD;AACA,SAAS,aAAa,QAAQ;CAC7B,OAAO;EACN,SAAS;EACT,YAAY;EACZ,YAAY,EAAE,OAAO;CACtB;AACD;;;;;;AAMA,MAAM,cAAc;CACnB,SAAS;CACT,YAAY;AACb;AACA,SAAS,eAAe,WAAW;CAClC,OAAO;EACN,SAAS;EACT,YAAY;EACZ,GAAG,cAAc,KAAK,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE;CAC5D;AACD;;;;;;AAMA,MAAM,aAAa;CAClB,SAAS;CACT,YAAY;AACb;;;;AAIA,MAAM,cAAc;CACnB,SAAS;CACT,YAAY;AACb"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"contract-free-aQ4nT-_R.mjs","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/contract-free.mjs"],"sourcesContent":["import { S as PG_TIMESTAMPTZ_CODEC_ID, _ as PG_JSONB_CODEC_ID, b as PG_TEXT_ARRAY_CODEC_ID, f as PG_INT4_CODEC_ID, p as PG_INT8_CODEC_ID, x as PG_TEXT_CODEC_ID } from \"./codec-ids-C5Rkltkw.mjs\";\nimport { u as PostgresTableSource } from \"./postgres-schema-CF0yHESb.mjs\";\nimport { A as toRegclass, D as tableExistsAst, E as rlsPolicyExistsAst, O as tableIsEmptyAst, T as rlsEnabledAst, _ as columnNullabilityAst, b as extensionExistsAst, c as createTable, d as dropDefaultAction, g as columnExistsAst, h as columnDefaultAst, i as alterTable, k as tablePrimaryKeyAst, s as createSchema, t as addColumnAction, v as columnTypeAst, w as noNullValuesAst, x as indexExistsAst, y as constraintExistsAst } from \"./ddl-CNQJds-C.mjs\";\nimport { col, fn, lit, table } from \"@internal/sql-relational-core/contract-free\";\nimport { APP_SPACE_ID } from \"@internal/framework-components/control\";\n//#region src/contract-free/columns.ts\nconst desc = (codecId, opts) => ({\n\tcodecId,\n\tnullable: opts?.nullable ?? false\n});\nconst text = (opts) => desc(PG_TEXT_CODEC_ID, opts);\nconst int4 = (opts) => desc(PG_INT4_CODEC_ID, opts);\nconst int8 = (opts) => desc(PG_INT8_CODEC_ID, opts);\nconst jsonb = (opts) => desc(PG_JSONB_CODEC_ID, opts);\nconst textArray = (opts) => desc(PG_TEXT_ARRAY_CODEC_ID, opts);\nconst timestamptz = (opts) => desc(PG_TIMESTAMPTZ_CODEC_ID, opts);\n/**\n* Declare a PostgreSQL control-plane table with a typed column schema. Wraps\n* the generic `table()` factory with a `PostgresTableSource` so the renderer\n* qualifies the table name with the optional schema prefix.\n*\n* ```ts\n* const marker = pgTable(\n* { name: 'marker', schema: 'prisma_contract' },\n* { space: text(), core_hash: text(), updated_at: timestamptz() },\n* );\n* ```\n*/\nfunction pgTable(source, columns) {\n\treturn table(new PostgresTableSource(source), columns);\n}\n//#endregion\n//#region src/contract-free/control-bootstrap.ts\nconst markerColumns = [\n\tcol(\"space\", \"text\", {\n\t\tnotNull: true,\n\t\tprimaryKey: true,\n\t\tdefault: lit(APP_SPACE_ID)\n\t}),\n\tcol(\"core_hash\", \"text\", { notNull: true }),\n\tcol(\"profile_hash\", \"text\", { notNull: true }),\n\tcol(\"contract_json\", \"jsonb\"),\n\tcol(\"canonical_version\", \"int\"),\n\tcol(\"updated_at\", \"timestamptz\", {\n\t\tnotNull: true,\n\t\tdefault: fn(\"now()\")\n\t}),\n\tcol(\"app_tag\", \"text\"),\n\tcol(\"meta\", \"jsonb\", {\n\t\tnotNull: true,\n\t\tdefault: lit(\"{}\")\n\t}),\n\tcol(\"invariants\", \"text[]\", {\n\t\tnotNull: true,\n\t\tdefault: lit(\"{}\")\n\t})\n];\nconst ledgerColumns = [\n\tcol(\"id\", \"bigserial\", { primaryKey: true }),\n\tcol(\"created_at\", \"timestamptz\", {\n\t\tnotNull: true,\n\t\tdefault: fn(\"now()\")\n\t}),\n\tcol(\"space\", \"text\", { notNull: true }),\n\tcol(\"migration_name\", \"text\", { notNull: true }),\n\tcol(\"migration_hash\", \"text\", { notNull: true }),\n\tcol(\"origin_core_hash\", \"text\"),\n\tcol(\"origin_profile_hash\", \"text\"),\n\tcol(\"destination_core_hash\", \"text\", { notNull: true }),\n\tcol(\"destination_profile_hash\", \"text\"),\n\tcol(\"operations\", \"jsonb\", { notNull: true })\n];\nconst contractColumns = [\n\tcol(\"core_hash\", \"text\", {\n\t\tnotNull: true,\n\t\tprimaryKey: true\n\t}),\n\tcol(\"created_at\", \"timestamptz\", {\n\t\tnotNull: true,\n\t\tdefault: fn(\"now()\")\n\t}),\n\tcol(\"contract_json\", \"jsonb\", { notNull: true })\n];\nconst markerTable = createTable({\n\tschema: \"prisma_contract\",\n\ttable: \"marker\",\n\tifNotExists: true,\n\tcolumns: markerColumns\n});\nconst ledgerTable = createTable({\n\tschema: \"prisma_contract\",\n\ttable: \"ledger\",\n\tifNotExists: true,\n\tcolumns: ledgerColumns\n});\nconst contractTable = createTable({\n\tschema: \"prisma_contract\",\n\ttable: \"contract\",\n\tifNotExists: true,\n\tcolumns: contractColumns\n});\nconst controlSchema = createSchema({\n\tschema: \"prisma_contract\",\n\tifNotExists: true\n});\nfunction buildSignMarkerBootstrapQueries() {\n\treturn [controlSchema, markerTable];\n}\nfunction buildControlTableBootstrapQueries() {\n\treturn [\n\t\tcontrolSchema,\n\t\tmarkerTable,\n\t\tledgerTable,\n\t\tcontractTable\n\t];\n}\n//#endregion\nexport { PostgresTableSource, addColumnAction, alterTable, buildControlTableBootstrapQueries, buildSignMarkerBootstrapQueries, columnDefaultAst, columnExistsAst, columnNullabilityAst, columnTypeAst, constraintExistsAst, createSchema, createTable, dropDefaultAction, extensionExistsAst, indexExistsAst, int4, int8, jsonb, noNullValuesAst, pgTable, rlsEnabledAst, rlsPolicyExistsAst, tableExistsAst, tableIsEmptyAst, tablePrimaryKeyAst, text, textArray, timestamptz, toRegclass };\n\n//# sourceMappingURL=contract-free.mjs.map"],"mappings":";;;;;;AAMA,MAAM,QAAQ,SAAS,UAAU;CAChC;CACA,UAAU,MAAM,YAAY;AAC7B;AACA,MAAM,QAAQ,SAAS,KAAK,kBAAkB,IAAI;AAClD,MAAM,QAAQ,SAAS,KAAK,kBAAkB,IAAI;AAClD,MAAM,QAAQ,SAAS,KAAK,kBAAkB,IAAI;AAClD,MAAM,SAAS,SAAS,KAAK,mBAAmB,IAAI;AACpD,MAAM,aAAa,SAAS,KAAK,wBAAwB,IAAI;AAC7D,MAAM,eAAe,SAAS,KAAK,yBAAyB,IAAI;;;;;;;;;;;;;AAahE,SAAS,QAAQ,QAAQ,SAAS;CACjC,OAAO,MAAM,IAAI,oBAAoB,MAAM,GAAG,OAAO;AACtD;AAGA,MAAM,gBAAgB;CACrB,IAAI,SAAS,QAAQ;EACpB,SAAS;EACT,YAAY;EACZ,SAAS,IAAI,YAAY;CAC1B,CAAC;CACD,IAAI,aAAa,QAAQ,EAAE,SAAS,KAAK,CAAC;CAC1C,IAAI,gBAAgB,QAAQ,EAAE,SAAS,KAAK,CAAC;CAC7C,IAAI,iBAAiB,OAAO;CAC5B,IAAI,qBAAqB,KAAK;CAC9B,IAAI,cAAc,eAAe;EAChC,SAAS;EACT,SAAS,GAAG,OAAO;CACpB,CAAC;CACD,IAAI,WAAW,MAAM;CACrB,IAAI,QAAQ,SAAS;EACpB,SAAS;EACT,SAAS,IAAI,IAAI;CAClB,CAAC;CACD,IAAI,cAAc,UAAU;EAC3B,SAAS;EACT,SAAS,IAAI,IAAI;CAClB,CAAC;AACF;AACA,MAAM,gBAAgB;CACrB,IAAI,MAAM,aAAa,EAAE,YAAY,KAAK,CAAC;CAC3C,IAAI,cAAc,eAAe;EAChC,SAAS;EACT,SAAS,GAAG,OAAO;CACpB,CAAC;CACD,IAAI,SAAS,QAAQ,EAAE,SAAS,KAAK,CAAC;CACtC,IAAI,kBAAkB,QAAQ,EAAE,SAAS,KAAK,CAAC;CAC/C,IAAI,kBAAkB,QAAQ,EAAE,SAAS,KAAK,CAAC;CAC/C,IAAI,oBAAoB,MAAM;CAC9B,IAAI,uBAAuB,MAAM;CACjC,IAAI,yBAAyB,QAAQ,EAAE,SAAS,KAAK,CAAC;CACtD,IAAI,4BAA4B,MAAM;CACtC,IAAI,cAAc,SAAS,EAAE,SAAS,KAAK,CAAC;AAC7C;AACA,MAAM,kBAAkB;CACvB,IAAI,aAAa,QAAQ;EACxB,SAAS;EACT,YAAY;CACb,CAAC;CACD,IAAI,cAAc,eAAe;EAChC,SAAS;EACT,SAAS,GAAG,OAAO;CACpB,CAAC;CACD,IAAI,iBAAiB,SAAS,EAAE,SAAS,KAAK,CAAC;AAChD;AACA,MAAM,cAAc,YAAY;CAC/B,QAAQ;CACR,OAAO;CACP,aAAa;CACb,SAAS;AACV,CAAC;AACD,MAAM,cAAc,YAAY;CAC/B,QAAQ;CACR,OAAO;CACP,aAAa;CACb,SAAS;AACV,CAAC;AACD,MAAM,gBAAgB,YAAY;CACjC,QAAQ;CACR,OAAO;CACP,aAAa;CACb,SAAS;AACV,CAAC;AACD,MAAM,gBAAgB,aAAa;CAClC,QAAQ;CACR,aAAa;AACd,CAAC;AACD,SAAS,kCAAkC;CAC1C,OAAO,CAAC,eAAe,WAAW;AACnC;AACA,SAAS,oCAAoC;CAC5C,OAAO;EACN;EACA;EACA;EACA;CACD;AACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"control-2F195jJk.d.mts","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/control.d.mts"],"mappings":";;;;;;iBAKiB,sBAAsB,KAAK,eAAe,QAAQ;cACrD,0BAA0B,uCAAuC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"control-V7OkAC55.mjs","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/control.mjs"],"sourcesContent":["import { n as postgresError } from \"./errors-DKjQzNaN.mjs\";\nimport { n as postgresResolveDefault } from \"./default-normalizer-Ba5ZebHM.mjs\";\nimport { t as postgresRenderCheckExpressions } from \"./check-expressions-5vhxWaFy.mjs\";\nimport { t as postgresTargetDescriptorMeta } from \"./descriptor-meta-rilAH3ep.mjs\";\nimport { a as postgresDiffSubjectGranularity, i as postgresDiffSubjectEntityKind } from \"./postgres-table-schema-node-BBkitBQh.mjs\";\nimport { i as PostgresDatabaseSchemaNode } from \"./postgres-role-schema-node-B8Z5i5D-.mjs\";\nimport { n as diffPostgresSchema, r as contractToPostgresDatabaseSchemaNode } from \"./diff-database-schema-DKq76rCk.mjs\";\nimport { r as renderDefaultLiteral } from \"./planner-ddl-builders-Chxh-LEQ.mjs\";\nimport { n as PostgresContractSerializer } from \"./postgres-contract-view-B8ykf2cO.mjs\";\nimport { t as createPostgresMigrationPlanner } from \"./planner-D0uogzvT.mjs\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { UNBOUND_NAMESPACE_ID, coordinateKey, elementCoordinates } from \"@internal/framework-components/ir\";\nimport { buildNativeTypeExpander, runnerFailure, runnerSuccess } from \"@internal/family-sql/control\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { composeCheckWirePrefix, computeCheckContentHash, computeIndexContentHash, formatWireName, parseWireName } from \"@internal/sql-schema-ir/naming\";\nimport { assertDefined } from \"@internal/utils/assertions\";\nimport { SqlSchemaIR, SqlTableIR } from \"@internal/sql-schema-ir/types\";\nimport { APP_SPACE_ID } from \"@internal/framework-components/control\";\nimport { notOk, ok, okVoid } from \"@internal/utils/result\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { SqlSchemaVerifierBase } from \"@internal/family-sql/ir\";\nimport { SqlQueryError } from \"@internal/sql-errors\";\nimport { buildChildRelationField, deriveRelationFieldName, inferRelations, mapDefault, parseRawDefault, toEnumMemberName, toEnumName, toFieldName, toModelName } from \"@internal/family-sql/psl-infer\";\nimport { UNSPECIFIED_PSL_NAMESPACE_ID, makePslNamespace, makePslNamespaceEntries } from \"@internal/framework-components/psl-ast\";\nimport { isColumnDefault } from \"@internal/contract/types\";\n//#region src/core/migrations/runner.ts\nconst LOCK_DOMAIN = \"prisma_next.contract.marker\";\n/**\n* Deep clones and freezes a record object to prevent mutation.\n* Recursively clones nested objects and arrays to ensure complete isolation.\n*/\nfunction cloneAndFreezeRecord(value) {\n\tconst cloned = {};\n\tfor (const [key, val] of Object.entries(value)) if (val === null || val === void 0) cloned[key] = val;\n\telse if (Array.isArray(val)) cloned[key] = Object.freeze([...val]);\n\telse if (typeof val === \"object\") cloned[key] = cloneAndFreezeRecord(val);\n\telse cloned[key] = val;\n\treturn Object.freeze(cloned);\n}\nfunction createPostgresMigrationRunner(family) {\n\treturn new PostgresMigrationRunner(family);\n}\nvar PostgresMigrationRunner = class {\n\tfamily;\n\tconstructor(family) {\n\t\tthis.family = family;\n\t}\n\t/**\n\t* Body of the migration runner without transaction management. The\n\t* caller ({@link PostgresMigrationRunner.execute}) owns the\n\t* `BEGIN`/`COMMIT`/`ROLLBACK` lifecycle.\n\t*/\n\tasync executeOnConnection(options) {\n\t\tconst schema = options.schemaName ?? Object.keys(options.destinationContract.storage.namespaces).find((id) => id !== UNBOUND_NAMESPACE_ID) ?? UNBOUND_NAMESPACE_ID;\n\t\tconst driver = options.driver;\n\t\tif (options.space !== void 0 && options.space !== options.plan.spaceId) throw postgresError(\"MIGRATION.CONTRACT_SPACE_VIOLATION\", `SqlMigrationRunner: options.space (${options.space}) does not match plan.spaceId (${options.plan.spaceId})`, { meta: {\n\t\t\tspace: options.space,\n\t\t\tplanSpaceId: options.plan.spaceId\n\t\t} });\n\t\tconst space = options.plan.spaceId;\n\t\tconst lockKey = `${LOCK_DOMAIN}:${schema}:${space}`;\n\t\tconst planOps = blindCast(await Promise.all(options.plan.operations));\n\t\tconst destinationCheck = this.ensurePlanMatchesDestinationContract(options.plan.destination, options.destinationContract);\n\t\tif (!destinationCheck.ok) return destinationCheck;\n\t\tconst policyCheck = this.enforcePolicyCompatibility(options.policy, planOps);\n\t\tif (!policyCheck.ok) return policyCheck;\n\t\tawait this.acquireLock(driver, lockKey);\n\t\tconst ensureResult = await this.ensureControlTables(driver, options.destinationContract);\n\t\tif (!ensureResult.ok) return ensureResult;\n\t\tconst existingMarker = await this.family.readMarker({\n\t\t\tdriver,\n\t\t\tspace\n\t\t});\n\t\tconst markerCheck = this.ensureMarkerCompatibility(existingMarker, options.plan);\n\t\tif (!markerCheck.ok) return markerCheck;\n\t\tconst markerAtDestination = this.markerMatchesDestination(existingMarker, options.plan);\n\t\tconst isSelfEdge = options.plan.origin?.storageHash === options.plan.destination.storageHash;\n\t\tconst skipOperations = markerAtDestination && options.plan.origin != null && !isSelfEdge;\n\t\tlet applyValue;\n\t\tif (skipOperations) applyValue = {\n\t\t\toperationsExecuted: 0,\n\t\t\texecutedOperations: []\n\t\t};\n\t\telse {\n\t\t\tconst applyResult = await this.applyPlan(driver, options, planOps);\n\t\t\tif (!applyResult.ok) return applyResult;\n\t\t\tapplyValue = applyResult.value;\n\t\t}\n\t\tif (space === APP_SPACE_ID) {\n\t\t\tconst schemaNode = await this.family.introspect({\n\t\t\t\tdriver,\n\t\t\t\tcontract: options.destinationContract\n\t\t\t});\n\t\t\tconst schemaVerifyResult = this.family.verifySchema({\n\t\t\t\tcontract: options.destinationContract,\n\t\t\t\tschema: schemaNode,\n\t\t\t\tstrict: options.strictVerification ?? true,\n\t\t\t\tframeworkComponents: options.frameworkComponents\n\t\t\t});\n\t\t\tif (!schemaVerifyResult.ok) return runnerFailure(\"MIGRATION.SCHEMA_VERIFY_FAILED\", schemaVerifyResult.summary, {\n\t\t\t\twhy: \"The resulting database schema does not satisfy the destination contract.\",\n\t\t\t\tmeta: { issues: schemaVerifyResult.schema.issues }\n\t\t\t});\n\t\t}\n\t\tconst incomingInvariants = options.plan.providedInvariants ?? [];\n\t\tconst existingInvariants = new Set(existingMarker?.invariants ?? []);\n\t\tconst incomingIsSubsetOfExisting = incomingInvariants.every((id) => existingInvariants.has(id));\n\t\tif (!(isSelfEdge && applyValue.operationsExecuted === 0 && incomingIsSubsetOfExisting)) {\n\t\t\tconst markerResult = await this.upsertMarker(driver, options, existingMarker, space);\n\t\t\tif (!markerResult.ok) return markerResult;\n\t\t\tawait this.recordLedgerEntries(driver, options, applyValue.executedOperations, planOps.length);\n\t\t}\n\t\treturn runnerSuccess({\n\t\t\toperationsPlanned: planOps.length,\n\t\t\toperationsExecuted: applyValue.operationsExecuted\n\t\t});\n\t}\n\tasync execute(options) {\n\t\tconst driver = options.driver;\n\t\tconst perSpaceOptions = options.perSpaceOptions;\n\t\tif (perSpaceOptions.length === 0) return ok({ perSpaceResults: [] });\n\t\tawait this.beginTransaction(driver);\n\t\tlet committed = false;\n\t\ttry {\n\t\t\tconst perSpaceResults = [];\n\t\t\tfor (const spaceOptions of perSpaceOptions) {\n\t\t\t\tconst space = spaceOptions.space ?? spaceOptions.plan.spaceId;\n\t\t\t\tconst result = await this.executeOnConnection({\n\t\t\t\t\t...spaceOptions,\n\t\t\t\t\tdriver,\n\t\t\t\t\tspace\n\t\t\t\t});\n\t\t\t\tif (!result.ok) return notOk({\n\t\t\t\t\t...result.failure,\n\t\t\t\t\tfailingSpace: space\n\t\t\t\t});\n\t\t\t\tperSpaceResults.push({\n\t\t\t\t\tspace,\n\t\t\t\t\tvalue: result.value\n\t\t\t\t});\n\t\t\t}\n\t\t\tawait this.commitTransaction(driver);\n\t\t\tcommitted = true;\n\t\t\treturn ok({ perSpaceResults });\n\t\t} finally {\n\t\t\tif (!committed) await this.rollbackTransaction(driver);\n\t\t}\n\t}\n\tasync applyPlan(driver, options, ops) {\n\t\tconst checks = options.executionChecks;\n\t\tconst runPrechecks = checks?.prechecks !== false;\n\t\tconst runPostchecks = checks?.postchecks !== false;\n\t\tconst runIdempotency = checks?.idempotencyChecks !== false;\n\t\tlet operationsExecuted = 0;\n\t\tconst executedOperations = [];\n\t\tfor (const operation of ops) {\n\t\t\toptions.callbacks?.onOperationStart?.(operation);\n\t\t\ttry {\n\t\t\t\tif (runPostchecks && runIdempotency) {\n\t\t\t\t\tif (await this.expectationsAreSatisfied(driver, operation.postcheck)) {\n\t\t\t\t\t\texecutedOperations.push(this.createPostcheckPreSatisfiedSkipRecord(operation));\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (runPrechecks) {\n\t\t\t\t\tconst precheckResult = await this.runExpectationSteps(driver, operation.precheck, operation, \"precheck\");\n\t\t\t\t\tif (!precheckResult.ok) return precheckResult;\n\t\t\t\t}\n\t\t\t\tconst executeResult = await this.runExecuteSteps(driver, operation.execute, operation);\n\t\t\t\tif (!executeResult.ok) return executeResult;\n\t\t\t\tif (runPostchecks) {\n\t\t\t\t\tconst postcheckResult = await this.runExpectationSteps(driver, operation.postcheck, operation, \"postcheck\");\n\t\t\t\t\tif (!postcheckResult.ok) return postcheckResult;\n\t\t\t\t}\n\t\t\t\texecutedOperations.push(operation);\n\t\t\t\toperationsExecuted += 1;\n\t\t\t} finally {\n\t\t\t\toptions.callbacks?.onOperationComplete?.(operation);\n\t\t\t}\n\t\t}\n\t\treturn ok({\n\t\t\toperationsExecuted,\n\t\t\texecutedOperations\n\t\t});\n\t}\n\tasync ensureControlTables(driver, contract) {\n\t\tconst lowererContext = { contract };\n\t\tconst [schemaQuery, ...tableQueries] = this.family.bootstrapControlTableQueries();\n\t\tif (schemaQuery === void 0) throw new InternalError(\"Postgres control-table bootstrap must include CREATE SCHEMA\");\n\t\tawait this.executeStatement(driver, await this.family.lowerAst(schemaQuery, lowererContext));\n\t\tconst legacyDetection = await this.detectLegacyMarkerShape(driver);\n\t\tif (!legacyDetection.ok) return legacyDetection;\n\t\tfor (const query of tableQueries) await this.executeStatement(driver, await this.family.lowerAst(query, lowererContext));\n\t\treturn okVoid();\n\t}\n\tasync detectLegacyMarkerShape(driver) {\n\t\tconst result = await driver.query(`select column_name\n from information_schema.columns\n where table_schema = 'prisma_contract'\n and table_name = 'marker'`);\n\t\tif (result.rows.length === 0) return okVoid();\n\t\tconst columns = new Set(result.rows.map((row) => row.column_name));\n\t\tif (columns.has(\"space\")) return okVoid();\n\t\treturn runnerFailure(\"MIGRATION.LEGACY_MARKER_SHAPE\", \"Legacy marker-table shape detected on prisma_contract.marker (no `space` column). Prisma Next is in pre-1.0; the previous transitional auto-migration to the per-space-row schema has been removed. Drop `prisma_contract.marker` and re-run `dbInit` to reinitialise from a clean baseline.\", { meta: {\n\t\t\ttable: \"prisma_contract.marker\",\n\t\t\tcolumns: [...columns].sort()\n\t\t} });\n\t}\n\tasync runExpectationSteps(driver, steps, operation, phase) {\n\t\tfor (const step of steps) {\n\t\t\tconst result = await driver.query(step.sql, step.params ?? []);\n\t\t\tif (!this.stepResultIsTrue(result.rows)) return runnerFailure(phase === \"precheck\" ? \"MIGRATION.PRECHECK_FAILED\" : \"MIGRATION.POSTCHECK_FAILED\", `Operation ${operation.id} failed during ${phase}: ${step.description}`, { meta: {\n\t\t\t\toperationId: operation.id,\n\t\t\t\tphase,\n\t\t\t\tstepDescription: step.description\n\t\t\t} });\n\t\t}\n\t\treturn okVoid();\n\t}\n\tasync runExecuteSteps(driver, steps, operation) {\n\t\tfor (const step of steps) try {\n\t\t\tawait driver.query(step.sql, step.params ?? []);\n\t\t} catch (error) {\n\t\t\tif (SqlQueryError.is(error)) return runnerFailure(\"MIGRATION.EXECUTION_FAILED\", `Operation ${operation.id} failed during execution: ${step.description}`, {\n\t\t\t\twhy: error.message,\n\t\t\t\tmeta: {\n\t\t\t\t\toperationId: operation.id,\n\t\t\t\t\tstepDescription: step.description,\n\t\t\t\t\tsql: step.sql,\n\t\t\t\t\tsqlState: error.sqlState,\n\t\t\t\t\tconstraint: error.constraint,\n\t\t\t\t\ttable: error.table,\n\t\t\t\t\tcolumn: error.column,\n\t\t\t\t\tdetail: error.detail\n\t\t\t\t}\n\t\t\t});\n\t\t\tthrow error;\n\t\t}\n\t\treturn okVoid();\n\t}\n\tstepResultIsTrue(rows) {\n\t\tif (!rows || rows.length === 0) return false;\n\t\tconst firstRow = rows[0];\n\t\tconst firstValue = firstRow ? Object.values(firstRow)[0] : void 0;\n\t\tif (typeof firstValue === \"boolean\") return firstValue;\n\t\tif (typeof firstValue === \"number\") return firstValue !== 0;\n\t\tif (typeof firstValue === \"string\") {\n\t\t\tconst lower = firstValue.toLowerCase();\n\t\t\tif (lower === \"t\" || lower === \"true\" || lower === \"1\") return true;\n\t\t\tif (lower === \"f\" || lower === \"false\" || lower === \"0\") return false;\n\t\t\treturn firstValue.length > 0;\n\t\t}\n\t\treturn Boolean(firstValue);\n\t}\n\tasync expectationsAreSatisfied(driver, steps) {\n\t\tif (steps.length === 0) return false;\n\t\tfor (const step of steps) {\n\t\t\tconst result = await driver.query(step.sql, step.params ?? []);\n\t\t\tif (!this.stepResultIsTrue(result.rows)) return false;\n\t\t}\n\t\treturn true;\n\t}\n\tcreatePostcheckPreSatisfiedSkipRecord(operation) {\n\t\tconst clonedMeta = operation.meta ? cloneAndFreezeRecord(operation.meta) : void 0;\n\t\tconst runnerMeta = Object.freeze({\n\t\t\tskipped: true,\n\t\t\treason: \"postcheck_pre_satisfied\"\n\t\t});\n\t\tconst mergedMeta = Object.freeze({\n\t\t\t...clonedMeta ?? {},\n\t\t\trunner: runnerMeta\n\t\t});\n\t\tconst frozenPostcheck = Object.freeze([...operation.postcheck]);\n\t\treturn Object.freeze({\n\t\t\tid: operation.id,\n\t\t\tlabel: operation.label,\n\t\t\t...ifDefined(\"summary\", operation.summary),\n\t\t\toperationClass: operation.operationClass,\n\t\t\ttarget: operation.target,\n\t\t\tprecheck: Object.freeze([]),\n\t\t\texecute: Object.freeze([]),\n\t\t\tpostcheck: frozenPostcheck,\n\t\t\t...ifDefined(\"meta\", operation.meta || mergedMeta ? mergedMeta : void 0)\n\t\t});\n\t}\n\tmarkerMatchesDestination(marker, plan) {\n\t\tif (!marker) return false;\n\t\tif (marker.storageHash !== plan.destination.storageHash) return false;\n\t\tif (plan.destination.profileHash && marker.profileHash !== plan.destination.profileHash) return false;\n\t\treturn true;\n\t}\n\tenforcePolicyCompatibility(policy, operations) {\n\t\tconst allowedClasses = new Set(policy.allowedOperationClasses);\n\t\tfor (const operation of operations) if (!allowedClasses.has(operation.operationClass)) return runnerFailure(\"MIGRATION.POLICY_VIOLATION\", `Operation ${operation.id} has class \"${operation.operationClass}\" which is not allowed by policy.`, {\n\t\t\twhy: `Policy only allows: ${policy.allowedOperationClasses.join(\", \")}.`,\n\t\t\tmeta: {\n\t\t\t\toperationId: operation.id,\n\t\t\t\toperationClass: operation.operationClass,\n\t\t\t\tallowedClasses: policy.allowedOperationClasses\n\t\t\t}\n\t\t});\n\t\treturn okVoid();\n\t}\n\tensureMarkerCompatibility(marker, plan) {\n\t\tconst origin = plan.origin ?? null;\n\t\tif (!origin) return okVoid();\n\t\tif (!marker) return runnerFailure(\"MIGRATION.MARKER_ORIGIN_MISMATCH\", `Missing contract marker: expected origin storage hash ${origin.storageHash}.`, { meta: { expectedOriginStorageHash: origin.storageHash } });\n\t\tif (marker.storageHash !== origin.storageHash) return runnerFailure(\"MIGRATION.MARKER_ORIGIN_MISMATCH\", `Existing contract marker (${marker.storageHash}) does not match plan origin (${origin.storageHash}).`, { meta: {\n\t\t\tmarkerStorageHash: marker.storageHash,\n\t\t\texpectedOriginStorageHash: origin.storageHash\n\t\t} });\n\t\tif (origin.profileHash && marker.profileHash !== origin.profileHash) return runnerFailure(\"MIGRATION.MARKER_ORIGIN_MISMATCH\", `Existing contract marker profile hash (${marker.profileHash}) does not match plan origin profile hash (${origin.profileHash}).`, { meta: {\n\t\t\tmarkerProfileHash: marker.profileHash,\n\t\t\texpectedOriginProfileHash: origin.profileHash\n\t\t} });\n\t\treturn okVoid();\n\t}\n\tensurePlanMatchesDestinationContract(destination, contract) {\n\t\tif (destination.storageHash !== contract.storage.storageHash) return runnerFailure(\"MIGRATION.DESTINATION_CONTRACT_MISMATCH\", `Plan destination storage hash (${destination.storageHash}) does not match provided contract storage hash (${contract.storage.storageHash}).`, { meta: {\n\t\t\tplanStorageHash: destination.storageHash,\n\t\t\tcontractStorageHash: contract.storage.storageHash\n\t\t} });\n\t\tif (destination.profileHash && contract.profileHash && destination.profileHash !== contract.profileHash) return runnerFailure(\"MIGRATION.DESTINATION_CONTRACT_MISMATCH\", `Plan destination profile hash (${destination.profileHash}) does not match provided contract profile hash (${contract.profileHash}).`, { meta: {\n\t\t\tplanProfileHash: destination.profileHash,\n\t\t\tcontractProfileHash: contract.profileHash\n\t\t} });\n\t\treturn okVoid();\n\t}\n\tasync upsertMarker(driver, options, existingMarker, space) {\n\t\tconst destination = {\n\t\t\tstorageHash: options.plan.destination.storageHash,\n\t\t\tprofileHash: options.plan.destination.profileHash ?? options.destinationContract.profileHash ?? options.plan.destination.storageHash,\n\t\t\tinvariants: options.plan.providedInvariants ?? []\n\t\t};\n\t\tif (!existingMarker) {\n\t\t\tawait this.family.initMarker({\n\t\t\t\tdriver,\n\t\t\t\tspace,\n\t\t\t\tdestination\n\t\t\t});\n\t\t\treturn okVoid();\n\t\t}\n\t\tif (!await this.family.updateMarker({\n\t\t\tdriver,\n\t\t\tspace,\n\t\t\texpectedFrom: existingMarker.storageHash,\n\t\t\tdestination\n\t\t})) return runnerFailure(\"MIGRATION.MARKER_CAS_FAILURE\", \"Marker was modified by another process during migration execution.\", { meta: {\n\t\t\tspace,\n\t\t\texpectedStorageHash: existingMarker.storageHash,\n\t\t\tdestinationStorageHash: options.plan.destination.storageHash\n\t\t} });\n\t\treturn okVoid();\n\t}\n\tasync recordLedgerEntries(driver, options, executedOperations, planOpsLength) {\n\t\tconst space = options.plan.spaceId;\n\t\tconst edges = options.migrationEdges;\n\t\tconst totalEdgeOps = edges.reduce((sum, edge) => sum + edge.operationCount, 0);\n\t\tif (totalEdgeOps !== planOpsLength) throw new InternalError(`Ledger write: plan.operations length (${planOpsLength}) does not match sum of migrationEdges operationCount (${totalEdgeOps})`);\n\t\tlet offset = 0;\n\t\tfor (const edge of edges) {\n\t\t\tconst edgeOps = executedOperations.slice(offset, offset + edge.operationCount);\n\t\t\toffset += edge.operationCount;\n\t\t\tawait this.family.writeLedgerEntry({\n\t\t\t\tdriver,\n\t\t\t\tspace,\n\t\t\t\tentry: {\n\t\t\t\t\tedgeId: `${edge.from}->${edge.to}`,\n\t\t\t\t\tfrom: edge.from,\n\t\t\t\t\tto: edge.to,\n\t\t\t\t\tmigrationName: edge.dirName,\n\t\t\t\t\tmigrationHash: edge.migrationHash,\n\t\t\t\t\toperations: edgeOps,\n\t\t\t\t\t...ifDefined(\"destinationContractJson\", edge.destinationContractJson)\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\tasync acquireLock(driver, key) {\n\t\tawait driver.query(\"select pg_advisory_xact_lock(hashtext($1))\", [key]);\n\t}\n\tasync beginTransaction(driver) {\n\t\tawait driver.query(\"BEGIN\");\n\t}\n\tasync commitTransaction(driver) {\n\t\tawait driver.query(\"COMMIT\");\n\t}\n\tasync rollbackTransaction(driver) {\n\t\tawait driver.query(\"ROLLBACK\");\n\t}\n\tasync executeStatement(driver, statement) {\n\t\tawait driver.query(statement.sql, statement.params);\n\t}\n};\n//#endregion\n//#region src/core/postgres-schema-verifier.ts\n/**\n* Postgres target `SchemaVerifier` concretion. Plugs into the\n* SQL-shared verification surface; production verification today still\n* routes through the family verify verdict (`verifySqlSchemaByDiff` over\n* `diffPostgresSchema`), which carries options (codec hooks,\n* normalizers, framework components) that the framework-level\n* `SchemaVerifyOptions` shape does not yet surface.\n*\n* The hooks return the empty list pending the call-site migration that\n* routes the existing verifier behaviour through the SPI — at that\n* point `verifyCommonSqlSchema` will likely lift onto the family base\n* (mirroring `verifyCommonMongoSchema`) and `verifyTargetExtensions`\n* will house Postgres-only kinds (functions, RLS policies in a future\n* project).\n*/\nvar PostgresSchemaVerifier = class extends SqlSchemaVerifierBase {\n\tverifyCommonSqlSchema(_options) {\n\t\treturn [];\n\t}\n\tverifyTargetExtensions(_options) {\n\t\treturn [];\n\t}\n};\n//#endregion\n//#region src/core/psl-infer/infer-names.ts\nfunction buildFieldNamesByTable(tables) {\n\tconst fieldNamesByTable = /* @__PURE__ */ new Map();\n\tfor (const table of Object.values(tables)) {\n\t\tconst assignmentOrder = [...Object.values(table.columns).map((column, index) => {\n\t\t\tconst { name, map } = toFieldName(column.name);\n\t\t\treturn {\n\t\t\t\tcolumnName: column.name,\n\t\t\t\tdesiredFieldName: name,\n\t\t\t\tfieldMap: map,\n\t\t\t\tindex\n\t\t\t};\n\t\t})].sort((left, right) => {\n\t\t\tconst mapComparison = Number(left.fieldMap !== void 0) - Number(right.fieldMap !== void 0);\n\t\t\tif (mapComparison !== 0) return mapComparison;\n\t\t\treturn left.index - right.index;\n\t\t});\n\t\tconst usedFieldNames = /* @__PURE__ */ new Set();\n\t\tconst tableFieldNames = /* @__PURE__ */ new Map();\n\t\tfor (const column of assignmentOrder) {\n\t\t\tconst fieldName = createUniqueFieldName(column.desiredFieldName, usedFieldNames);\n\t\t\tusedFieldNames.add(fieldName);\n\t\t\ttableFieldNames.set(column.columnName, {\n\t\t\t\tfieldName,\n\t\t\t\tfieldMap: column.fieldMap\n\t\t\t});\n\t\t}\n\t\tfieldNamesByTable.set(table.name, tableFieldNames);\n\t}\n\treturn fieldNamesByTable;\n}\nfunction resolveColumnFieldName(fieldNamesByTable, tableName, columnName) {\n\treturn fieldNamesByTable.get(tableName)?.get(columnName)?.fieldName ?? toFieldName(columnName).name;\n}\nfunction createUniqueFieldName(desiredName, usedFieldNames) {\n\tif (!usedFieldNames.has(desiredName)) return desiredName;\n\tlet counter = 2;\n\twhile (usedFieldNames.has(`${desiredName}${counter}`)) counter++;\n\treturn `${desiredName}${counter}`;\n}\nfunction buildTopLevelNameMap(sources, normalize, kind, sourceKind) {\n\tconst results = /* @__PURE__ */ new Map();\n\tconst normalizedToSources = /* @__PURE__ */ new Map();\n\tfor (const source of sources) {\n\t\tconst normalized = normalize(source);\n\t\tresults.set(source, normalized);\n\t\tnormalizedToSources.set(normalized.name, [...normalizedToSources.get(normalized.name) ?? [], source]);\n\t}\n\tconst duplicates = [...normalizedToSources.entries()].filter(([, conflictingSources]) => conflictingSources.length > 1);\n\tif (duplicates.length > 0) throw postgresError(\"CONTRACT.NAME_DUPLICATE\", `PSL ${kind} name collisions detected:\\n${duplicates.map(([normalizedName, conflictingSources]) => `- ${kind} \"${normalizedName}\" from ${sourceKind}s ${conflictingSources.map((source) => `\"${source}\"`).join(\", \")}`).join(\"\\n\")}`, { meta: {\n\t\tkind,\n\t\tnames: duplicates.map(([normalizedName]) => normalizedName)\n\t} });\n\treturn results;\n}\nfunction topologicalSort(models, tables, modelNameMap) {\n\tconst modelByName = /* @__PURE__ */ new Map();\n\tfor (const model of models) modelByName.set(model.name, model);\n\tconst deps = /* @__PURE__ */ new Map();\n\tconst tableToModel = /* @__PURE__ */ new Map();\n\tfor (const tableName of Object.keys(tables)) {\n\t\tconst modelName = modelNameMap.get(tableName);\n\t\tassertDefined(modelName, `topologicalSort: no model name mapped for table \"${tableName}\"`);\n\t\ttableToModel.set(tableName, modelName);\n\t\tdeps.set(modelName, /* @__PURE__ */ new Set());\n\t}\n\tfor (const [tableName, table] of Object.entries(tables)) {\n\t\tconst modelName = tableToModel.get(tableName);\n\t\tassertDefined(modelName, `topologicalSort: no model name recorded for table \"${tableName}\"`);\n\t\tconst modelDeps = deps.get(modelName);\n\t\tassertDefined(modelDeps, `topologicalSort: no dependency set recorded for model \"${modelName}\"`);\n\t\tfor (const fk of table.foreignKeys) {\n\t\t\tconst refModelName = tableToModel.get(fk.referencedTable);\n\t\t\tif (refModelName && refModelName !== modelName) modelDeps.add(refModelName);\n\t\t}\n\t}\n\tconst result = [];\n\tconst visited = /* @__PURE__ */ new Set();\n\tconst visiting = /* @__PURE__ */ new Set();\n\tconst sortedNames = [...deps.keys()].sort();\n\tfunction visit(name) {\n\t\tif (visited.has(name)) return;\n\t\tif (visiting.has(name)) return;\n\t\tvisiting.add(name);\n\t\tconst nameDeps = deps.get(name);\n\t\tassertDefined(nameDeps, `topologicalSort: no dependency set recorded for model \"${name}\"`);\n\t\tconst sortedDeps = [...nameDeps].sort();\n\t\tfor (const dep of sortedDeps) visit(dep);\n\t\tvisiting.delete(name);\n\t\tvisited.add(name);\n\t\tconst model = modelByName.get(name);\n\t\tassertDefined(model, `topologicalSort: no model block recorded for \"${name}\"`);\n\t\tresult.push(model);\n\t}\n\tfor (const name of sortedNames) visit(name);\n\treturn result;\n}\n//#endregion\n//#region src/core/psl-infer/psl-literals.ts\nconst SYNTHETIC_SPAN = {\n\tstart: {\n\t\toffset: 0,\n\t\tline: 1,\n\t\tcolumn: 1\n\t},\n\tend: {\n\t\toffset: 0,\n\t\tline: 1,\n\t\tcolumn: 1\n\t}\n};\nfunction buildSimpleConstraintFieldAttribute(name, constraintName) {\n\tif (constraintName === void 0) return buildAttribute(\"field\", name, []);\n\treturn buildAttribute(\"field\", name, [namedArg(\"map\", `\"${escapePslString(constraintName)}\"`)]);\n}\nfunction parseDefaultAttributeString(attributeText) {\n\treturn buildAttribute(\"field\", \"default\", [positionalArg(attributeText.replace(/^@default\\(/, \"\").replace(/\\)$/, \"\"))]);\n}\nfunction buildMapAttribute(target, mapName) {\n\treturn buildAttribute(target, \"map\", [positionalArg(`\"${escapePslString(mapName)}\"`)]);\n}\nfunction buildAttribute(target, name, args) {\n\treturn {\n\t\tkind: \"attribute\",\n\t\ttarget,\n\t\tname,\n\t\targs,\n\t\tspan: SYNTHETIC_SPAN\n\t};\n}\nfunction positionalArg(value) {\n\treturn {\n\t\tkind: \"positional\",\n\t\tvalue,\n\t\tspan: SYNTHETIC_SPAN\n\t};\n}\nfunction namedArg(name, value) {\n\treturn {\n\t\tkind: \"named\",\n\t\tname,\n\t\tvalue,\n\t\tspan: SYNTHETIC_SPAN\n\t};\n}\nfunction escapePslString(value) {\n\treturn value.replace(/\\\\/g, \"\\\\\\\\\").replace(/\"/g, \"\\\\\\\"\").replace(/\\n/g, \"\\\\n\").replace(/\\r/g, \"\\\\r\");\n}\n/**\n* Formats a resolved literal-default array as PSL literal-list syntax\n* (`[1, 2, 3]`, `[\"a\", \"b\"]`, `[]`). PSL's list-literal grammar only accepts\n* string/number/boolean elements, so any other element (e.g. `null`, a\n* nested array/object) makes the value unrepresentable and this returns\n* `undefined`.\n*/\nfunction formatPslListLiteralValue(elements) {\n\tconst parts = [];\n\tfor (const element of elements) if (typeof element === \"string\") parts.push(`\"${escapePslString(element)}\"`);\n\telse if (typeof element === \"number\" || typeof element === \"boolean\") parts.push(String(element));\n\telse return;\n\treturn `[${parts.join(\", \")}]`;\n}\n/**\n* Resolves a `SqlColumnIR.default` value into a normalized {@link ColumnDefault}.\n*\n* `SqlSchemaIR` types the column default as `string` (a raw database default\n* expression). Some legacy fixtures and tests still pass already-normalized\n* `ColumnDefault` objects in the same slot, so we accept either shape\n* defensively at runtime.\n*/\nfunction parseColumnDefault(value, nativeType, rawDefaultParser) {\n\tif (typeof value === \"string\") return rawDefaultParser ? rawDefaultParser(value, nativeType) : void 0;\n\treturn isColumnDefault(value) ? value : void 0;\n}\n//#endregion\n//#region src/core/psl-infer/infer-enum-blocks.ts\nconst PSL_SCALAR_TYPE_NAMES = /* @__PURE__ */ new Set([\n\t\"String\",\n\t\"Boolean\",\n\t\"Int\",\n\t\"BigInt\",\n\t\"Float\",\n\t\"Decimal\",\n\t\"DateTime\",\n\t\"Json\",\n\t\"Bytes\"\n]);\n/**\n* Builds one `native_enum` extension-block AST node per introspected enum\n* definition. Block names go through the shared top-level transform\n* (`toEnumName`, intra-enum collisions throw like model collisions) and are\n* then reserved against the model names — an enum whose PSL name a model\n* already claims gets a numeric suffix, with `@@map` carrying the real type\n* name. Members print as explicit `member = \"value\"` pairs: the member name\n* is the sanitized value (deduplicated within the block), the JSON-encoded\n* value carries the truth verbatim.\n*/\nfunction buildNativeEnumBlocks(definitions, modelNames) {\n\tconst enumNames = buildTopLevelNameMap([...definitions.keys()].sort(), toEnumName, \"enum\", \"enum type\");\n\tconst usedTopLevelNames = new Set(PSL_SCALAR_TYPE_NAMES);\n\tfor (const result of modelNames.values()) usedTopLevelNames.add(result.name);\n\tconst enumNameMap = /* @__PURE__ */ new Map();\n\tconst enumBlocks = [];\n\tfor (const [typeName, result] of enumNames) {\n\t\tconst name = createUniqueFieldName(result.name, usedTopLevelNames);\n\t\tusedTopLevelNames.add(name);\n\t\tenumNameMap.set(typeName, name);\n\t\tenumBlocks.push(buildNativeEnumBlock(name, typeName, definitions.get(typeName) ?? []));\n\t}\n\treturn {\n\t\tenumNameMap,\n\t\tenumBlocks\n\t};\n}\nfunction buildNativeEnumBlock(name, typeName, values) {\n\tconst usedMemberNames = /* @__PURE__ */ new Set();\n\tconst parameters = {};\n\tfor (const value of values) {\n\t\tconst memberName = createUniqueFieldName(toEnumMemberName(value), usedMemberNames);\n\t\tusedMemberNames.add(memberName);\n\t\tparameters[memberName] = {\n\t\t\tkind: \"value\",\n\t\t\traw: JSON.stringify(value),\n\t\t\tspan: SYNTHETIC_SPAN\n\t\t};\n\t}\n\treturn {\n\t\tkind: \"native_enum\",\n\t\tkeyword: \"native_enum\",\n\t\tname,\n\t\tparameters,\n\t\tblockAttributes: name === typeName ? [] : [{\n\t\t\tname: \"map\",\n\t\t\targs: [{\n\t\t\t\tkind: \"positional\",\n\t\t\t\tvalue: `\"${escapePslString(typeName)}\"`,\n\t\t\t\tspan: SYNTHETIC_SPAN\n\t\t\t}],\n\t\t\tspan: SYNTHETIC_SPAN\n\t\t}],\n\t\tspan: SYNTHETIC_SPAN\n\t};\n}\n//#endregion\n//#region src/core/psl-infer/infer-foreign-keys.ts\n/**\n* Coordinates every element a set of already-assembled contracts declare,\n* mapped to the {@link SqlDescribedContractSpace} that owns it and keyed by\n* the shared {@link coordinateKey} helper. `contract infer` uses this to omit\n* database elements a stack extension pack's contract space already\n* describes — reusing the same coordinate walk the contract-space aggregate\n* and cross-space collision check use (`elementCoordinates`), rather than a\n* bespoke per-entity-kind membership test — and, for a foreign key whose\n* referenced table an entry owns, to resolve the qualified cross-space\n* relation it describes.\n*/\nfunction describedContractOwners(describedContracts) {\n\tconst owners = /* @__PURE__ */ new Map();\n\tfor (const entry of describedContracts) for (const coordinate of elementCoordinates(entry.contract.storage)) owners.set(coordinateKey(coordinate), entry);\n\treturn owners;\n}\nfunction resolveCrossSpaceTarget(owner, namespaceId, tableName) {\n\tconst domainNamespace = owner.contract.domain.namespaces[namespaceId];\n\tif (domainNamespace === void 0) return;\n\tfor (const [modelName, model] of Object.entries(domainNamespace.models)) {\n\t\tconst storage = blindCast(model.storage);\n\t\tif (storage.namespaceId !== namespaceId || storage.table !== tableName) continue;\n\t\tconst fieldNamesByColumn = /* @__PURE__ */ new Map();\n\t\tfor (const [fieldName, fieldStorage] of Object.entries(storage.fields)) fieldNamesByColumn.set(fieldStorage.column, { fieldName });\n\t\treturn {\n\t\t\tspaceId: owner.spaceId,\n\t\t\tnamespaceId,\n\t\t\tmodelName,\n\t\t\tfieldNamesByColumn\n\t\t};\n\t}\n}\n/**\n* Classifies every foreign key on a surviving table into one of three cases.\n* A foreign key that carries a `referencedSchema` is checked against the\n* pack-owned coordinates first, so a pack-owned target wins even when a local\n* table happens to share its bare name; only foreign keys with no owned\n* coordinate fall through to the local/dangling distinction.\n*\n* - **Cross-space**: `referencedSchema` is set and a described contract owns\n* the coordinate `(referencedSchema, 'table', referencedTable)`. The\n* referenced table is absent from the tree (omitted because the pack\n* describes it, or never introspected — `contract infer` walks a single\n* namespace). Removed from `foreignKeys` (so `inferRelations` never falls\n* back to a bare, unqualified table name for it) and replaced with a\n* `RelationField` qualified with the owning pack's space id and namespace\n* id. `owners` holds only pack-declared coordinates, so an app's own table\n* (e.g. `public.users`) is never owned and cannot be captured here.\n* - **Local**: not a pack-owned coordinate, and the referenced table survived\n* introspection — left untouched, `inferRelations` handles it as before.\n* - **Dangling**: not a pack-owned coordinate, and the referenced table is\n* neither in the tree nor owned by any described contract. Removed from\n* `foreignKeys`, keeping the scalar column, rather than emitting a relation\n* to a model that was never defined.\n*\n* A pack that owns the referenced coordinate but declares no domain model\n* mapped to it is malformed; that case throws rather than degrading to a\n* silent drop, which would contradict the dangling definition above.\n*/\nfunction resolveForeignKeys(tables, owners) {\n\tconst resultTables = {};\n\tconst extraRelationsByTable = /* @__PURE__ */ new Map();\n\tconst crossSpaceFieldNamesByTable = /* @__PURE__ */ new Map();\n\tconst danglingForeignKeysByTable = /* @__PURE__ */ new Map();\n\tfor (const [tableName, table] of Object.entries(tables)) {\n\t\tconst keptForeignKeys = [];\n\t\tfor (const fk of table.foreignKeys) {\n\t\t\tif (fk.referencedSchema !== void 0) {\n\t\t\t\tconst owner = owners.get(coordinateKey({\n\t\t\t\t\tnamespaceId: fk.referencedSchema,\n\t\t\t\t\tentityKind: \"table\",\n\t\t\t\t\tentityName: fk.referencedTable\n\t\t\t\t}));\n\t\t\t\tif (owner !== void 0) {\n\t\t\t\t\tconst target = resolveCrossSpaceTarget(owner, fk.referencedSchema, fk.referencedTable);\n\t\t\t\t\tif (target === void 0) throw postgresError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `contract infer: described contract space \"${owner.spaceId}\" owns storage coordinate \"${fk.referencedSchema}.${fk.referencedTable}\" but declares no domain model mapped to it. A pack that describes a table must also declare the domain model it maps to; this pack is malformed.`, { meta: {\n\t\t\t\t\t\tspaceId: owner.spaceId,\n\t\t\t\t\t\ttableName: fk.referencedTable\n\t\t\t\t\t} });\n\t\t\t\t\tif (!crossSpaceFieldNamesByTable.has(fk.referencedTable)) crossSpaceFieldNamesByTable.set(fk.referencedTable, target.fieldNamesByColumn);\n\t\t\t\t\tconst fieldName = deriveRelationFieldName(fk.columns, fk.referencedTable);\n\t\t\t\t\tconst optional = fk.columns.some((columnName) => table.columns[columnName]?.nullable ?? false);\n\t\t\t\t\tconst relationField = {\n\t\t\t\t\t\t...buildChildRelationField(fieldName, target.modelName, fk, optional, void 0, table),\n\t\t\t\t\t\ttypeNamespaceId: target.namespaceId,\n\t\t\t\t\t\ttypeContractSpaceId: target.spaceId\n\t\t\t\t\t};\n\t\t\t\t\tconst existingRelations = extraRelationsByTable.get(tableName);\n\t\t\t\t\tif (existingRelations) existingRelations.push(relationField);\n\t\t\t\t\telse extraRelationsByTable.set(tableName, [relationField]);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (tables[fk.referencedTable] !== void 0) keptForeignKeys.push(fk);\n\t\t\telse {\n\t\t\t\tconst dangling = {\n\t\t\t\t\tcolumns: fk.columns,\n\t\t\t\t\treferencedSchema: fk.referencedSchema,\n\t\t\t\t\treferencedTable: fk.referencedTable\n\t\t\t\t};\n\t\t\t\tconst existingDangling = danglingForeignKeysByTable.get(tableName);\n\t\t\t\tif (existingDangling) existingDangling.push(dangling);\n\t\t\t\telse danglingForeignKeysByTable.set(tableName, [dangling]);\n\t\t\t}\n\t\t}\n\t\tresultTables[tableName] = keptForeignKeys.length === table.foreignKeys.length ? table : new SqlTableIR({\n\t\t\t...table,\n\t\t\tforeignKeys: keptForeignKeys\n\t\t});\n\t}\n\treturn {\n\t\ttables: resultTables,\n\t\textraRelationsByTable,\n\t\tcrossSpaceFieldNamesByTable,\n\t\tdanglingForeignKeysByTable\n\t};\n}\n/**\n* Explains a foreign key `resolveForeignKeys` dropped as dangling: the\n* database enforces it, but its target lives outside the introspected\n* schema, so infer has no model to point a relation at. The suggested fix\n* targets the common cause — an unconfigured extension pack's schema\n* (e.g. Supabase's `auth`).\n*/\nfunction buildDanglingForeignKeyWarning(danglingForeignKeys, fieldNamesByTable, tableName) {\n\treturn `Foreign key ${danglingForeignKeys.map((fk) => {\n\t\tconst fieldNames = fk.columns.map((columnName) => resolveColumnFieldName(fieldNamesByTable, tableName, columnName));\n\t\tconst target = fk.referencedSchema !== void 0 ? `${fk.referencedSchema}.${fk.referencedTable}` : fk.referencedTable;\n\t\treturn `\"${fieldNames.join(\", \")}\" -> \"${target}\"`;\n\t}).join(\", \")} exists in the database, but its target schema is outside the introspected scope, so no relation field was generated. If the target schema is described by an extension pack, add it to extensions and re-run infer.`;\n}\n//#endregion\n//#region src/core/psl-infer/infer-index-attributes.ts\nfunction buildModelConstraintAttribute(name, fields, constraintName) {\n\tconst args = [positionalArg(`[${fields.join(\", \")}]`)];\n\tif (constraintName !== void 0) args.push(namedArg(\"map\", `\"${escapePslString(constraintName)}\"`));\n\treturn buildAttribute(\"model\", name, args);\n}\n/**\n* Emits one `@@index` attribute at full fidelity. The index's identity is\n* re-detected rather than trusted: `name:` is emitted only when the live name\n* parses as a wire name AND that hash recomputes from the introspected\n* content; otherwise the live name is adopted verbatim with `map:`.\n*/\nfunction buildIndexAttribute(index, fieldNames) {\n\tconst args = [];\n\tif (fieldNames !== void 0) args.push(positionalArg(`[${fieldNames.join(\", \")}]`));\n\telse {\n\t\tassertDefined(index.expression, `buildIndexAttribute: index \"${index.name}\" carries neither columns nor expression; SqlIndexIR enforces exactly one`);\n\t\targs.push(namedArg(\"expression\", `\"${escapePslString(index.expression)}\"`));\n\t}\n\tconst parsed = parseWireName(index.name);\n\tconst recomputed = computeIndexContentHash({\n\t\t...index.columns !== void 0 ? { columns: index.columns } : {},\n\t\t...index.expression !== void 0 ? { expression: index.expression } : {},\n\t\t...index.where !== void 0 ? { where: index.where } : {},\n\t\tunique: index.unique,\n\t\t...index.type !== void 0 ? { type: index.type } : {},\n\t\t...index.options !== void 0 ? { options: index.options } : {}\n\t});\n\tif (parsed !== void 0 && parsed.hash === recomputed) args.push(namedArg(\"name\", `\"${escapePslString(parsed.prefix)}\"`));\n\telse args.push(namedArg(\"map\", `\"${escapePslString(index.name)}\"`));\n\tif (index.where !== void 0) args.push(namedArg(\"where\", `\"${escapePslString(index.where)}\"`));\n\tif (index.unique) args.push(namedArg(\"unique\", \"true\"));\n\tconst hasOptions = index.options !== void 0 && Object.keys(index.options).length > 0;\n\tif (index.type !== void 0 || hasOptions) args.push(namedArg(\"type\", `\"${escapePslString(index.type ?? \"btree\")}\"`));\n\tif (hasOptions) {\n\t\tconst entries = Object.entries(index.options ?? {}).sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0).map(([key, value]) => `${key}: \"${escapePslString(String(value))}\"`);\n\t\targs.push(namedArg(\"options\", `{ ${entries.join(\", \")} }`));\n\t}\n\treturn buildAttribute(\"model\", \"index\", args);\n}\n/**\n* Emits one `@@check` attribute for a live, non-derived check, always in the\n* `map:` form. Re-detecting `name:` is not attempted: the live expression is\n* Postgres's own reprint, but a wire-named check's hash was taken over the\n* author's original text, so recomputing the hash from the reprint would\n* essentially never match. `map:` plus the verbatim reprint is correct\n* regardless — a reprint compared against a later reprint of the same\n* expression is stable, so the emitted contract signs the live database with\n* zero pending operations. `buildPolicyBlocks` makes the same call for\n* `@@map` on adopted RLS policies, for the same reason.\n*/\nfunction buildCheckAttribute(check) {\n\treturn buildAttribute(\"model\", \"check\", [namedArg(\"expression\", `\"${escapePslString(check.expression)}\"`), namedArg(\"map\", `\"${escapePslString(check.name)}\"`)]);\n}\n//#endregion\n//#region src/core/psl-infer/infer-model-blocks.ts\nfunction buildModel(table, typeMap, enumNameMap, fieldNamesByTable, defaultMapping, rawDefaultParser, relationFields, danglingForeignKeys, rlsEnabled = false, policySkipNotes = []) {\n\tconst { name: modelName, map: mapName } = toModelName(table.name);\n\tconst fieldNameMap = fieldNamesByTable.get(table.name);\n\tconst pkColumns = new Set(table.primaryKey?.columns ?? []);\n\tconst isSinglePk = pkColumns.size === 1;\n\tconst singlePkConstraintName = isSinglePk ? table.primaryKey?.name : void 0;\n\tconst uniqueColumns = /* @__PURE__ */ new Map();\n\tfor (const unique of table.uniques) if (unique.columns.length === 1) {\n\t\tconst [columnName = \"\"] = unique.columns;\n\t\tconst existingConstraintName = uniqueColumns.get(columnName);\n\t\tif (!uniqueColumns.has(columnName) || existingConstraintName === void 0 && unique.name) uniqueColumns.set(columnName, unique.name);\n\t}\n\tconst derivedCheckNames = computeDerivedCheckNames(table);\n\tconst fields = [];\n\tfor (const column of Object.values(table.columns)) fields.push(buildScalarField(column, table, typeMap, enumNameMap, fieldNameMap, defaultMapping, rawDefaultParser, pkColumns, isSinglePk, singlePkConstraintName, uniqueColumns, derivedCheckNames));\n\tconst usedFieldNames = new Set(fields.map((field) => field.name));\n\tfor (const rel of relationFields) fields.push(buildRelationField(rel, table.name, fieldNamesByTable, usedFieldNames));\n\tconst modelAttributes = [];\n\tif (table.primaryKey && table.primaryKey.columns.length > 1) {\n\t\tconst pkFieldNames = table.primaryKey.columns.map((columnName) => resolveColumnFieldName(fieldNamesByTable, table.name, columnName));\n\t\tmodelAttributes.push(buildModelConstraintAttribute(\"id\", pkFieldNames, table.primaryKey.name));\n\t}\n\tfor (const unique of table.uniques) if (unique.columns.length > 1) {\n\t\tconst uniqueFieldNames = unique.columns.map((columnName) => resolveColumnFieldName(fieldNamesByTable, table.name, columnName));\n\t\tmodelAttributes.push(buildModelConstraintAttribute(\"unique\", uniqueFieldNames, unique.name));\n\t}\n\tfor (const index of table.indexes) {\n\t\tconst indexFieldNames = index.columns?.map((columnName) => resolveColumnFieldName(fieldNamesByTable, table.name, columnName));\n\t\tmodelAttributes.push(buildIndexAttribute(index, indexFieldNames));\n\t}\n\tfor (const check of table.checks ?? []) if (!derivedCheckNames.has(check.name)) modelAttributes.push(buildCheckAttribute(check));\n\tif (mapName) modelAttributes.push(buildMapAttribute(\"model\", mapName));\n\tif (rlsEnabled) modelAttributes.push(buildAttribute(\"model\", \"rls\", []));\n\tconst warnings = [];\n\tif (!table.primaryKey) warnings.push(\"This table has no primary key in the database\");\n\tif (danglingForeignKeys.length > 0) warnings.push(buildDanglingForeignKeyWarning(danglingForeignKeys, fieldNamesByTable, table.name));\n\tconst commentLines = [...warnings.length > 0 ? [`// WARNING: ${warnings.join(\" \")}`] : [], ...policySkipNotes];\n\tconst comment = commentLines.length > 0 ? commentLines.join(\"\\n\") : void 0;\n\treturn {\n\t\tkind: \"model\",\n\t\tname: modelName,\n\t\tfields,\n\t\tattributes: modelAttributes,\n\t\tspan: SYNTHETIC_SPAN,\n\t\t...comment !== void 0 ? { comment } : {}\n\t};\n}\n/**\n* The live check names that are derived: a live check's name matches\n* `formatWireName(composeCheckWirePrefix(table, column, kind), computeCheckContentHash(expression))`\n* for some column of the table and some candidate `postgresRenderCheckExpressions`\n* would render for that column. Never by comparing expressions — the live\n* body is a Postgres reprint, never the authored text. One set serves both\n* the `@noCheck` waiver below and `@@check` exclusion in `buildModel`, so the\n* two decisions cannot drift apart.\n*\n* `membership` is unreachable here today: infer never emits domain enums\n* (`enumType()` is not inferred), so no inferred column has member values and\n* no membership check is ever derived. The day domain-enum inference exists,\n* its slice extends this by threading the column's member values through.\n*/\nfunction computeDerivedCheckNames(table) {\n\tconst liveCheckNames = new Set((table.checks ?? []).map((check) => check.name));\n\tconst derivedCheckNames = /* @__PURE__ */ new Set();\n\tfor (const column of Object.values(table.columns)) for (const candidate of postgresRenderCheckExpressions({\n\t\ttableName: table.name,\n\t\tcolumnName: column.name,\n\t\tmany: column.many === true,\n\t\tmemberValues: void 0\n\t})) {\n\t\tconst derivedName = formatWireName(composeCheckWirePrefix(table.name, column.name, candidate.kind), computeCheckContentHash(candidate.expression));\n\t\tif (liveCheckNames.has(derivedName)) derivedCheckNames.add(derivedName);\n\t}\n\treturn derivedCheckNames;\n}\nfunction buildScalarField(column, table, typeMap, enumNameMap, fieldNameMap, defaultMapping, rawDefaultParser, pkColumns, isSinglePk, singlePkConstraintName, uniqueColumns, derivedCheckNames) {\n\tconst resolvedField = fieldNameMap?.get(column.name);\n\tconst fieldName = resolvedField?.fieldName ?? toFieldName(column.name).name;\n\tconst fieldMap = resolvedField?.fieldMap;\n\tconst resolution = typeMap.resolve(column.nativeType, table.annotations);\n\tif (\"unsupported\" in resolution) {\n\t\tconst attrs = [];\n\t\tif (fieldMap !== void 0) attrs.push(buildMapAttribute(\"field\", fieldMap));\n\t\treturn {\n\t\t\tkind: \"field\",\n\t\t\tname: fieldName,\n\t\t\ttypeName: `Unsupported(\"${escapePslString(resolution.nativeType)}\")`,\n\t\t\toptional: column.nullable,\n\t\t\tlist: column.many === true,\n\t\t\tattributes: attrs,\n\t\t\tspan: SYNTHETIC_SPAN\n\t\t};\n\t}\n\tlet typeName = resolution.pslType.name;\n\tlet typeConstructor = resolution.pslType.args ? {\n\t\tkind: \"typeConstructor\",\n\t\tpath: [resolution.pslType.name],\n\t\targs: resolution.pslType.args.map(positionalArg),\n\t\tspan: SYNTHETIC_SPAN\n\t} : void 0;\n\tconst enumPslName = enumNameMap.get(column.nativeType);\n\tif (enumPslName) {\n\t\ttypeName = enumPslName;\n\t\ttypeConstructor = {\n\t\t\tkind: \"typeConstructor\",\n\t\t\tpath: [\"pg\", \"enum\"],\n\t\t\targs: [positionalArg(enumPslName)],\n\t\t\tspan: SYNTHETIC_SPAN\n\t\t};\n\t}\n\tconst attributes = [];\n\tconst isId = isSinglePk && pkColumns.has(column.name);\n\tif (isId) attributes.push(buildSimpleConstraintFieldAttribute(\"id\", singlePkConstraintName));\n\tif (column.default === void 0 && column.resolvedDefault?.kind === \"function\" && column.resolvedDefault.expression === \"autoincrement()\") attributes.push(parseDefaultAttributeString(\"@default(autoincrement())\"));\n\telse if (column.many === true && column.resolvedDefault?.kind === \"literal\") {\n\t\tconst formatted = Array.isArray(column.resolvedDefault.value) ? formatPslListLiteralValue(column.resolvedDefault.value) : void 0;\n\t\tif (formatted !== void 0) attributes.push(parseDefaultAttributeString(`@default(${formatted})`));\n\t} else if (column.default !== void 0) {\n\t\tconst parsed = parseColumnDefault(column.default, column.nativeType, rawDefaultParser);\n\t\tif (parsed) {\n\t\t\tconst result = mapDefault(parsed, defaultMapping);\n\t\t\tif (\"attribute\" in result) attributes.push(parseDefaultAttributeString(result.attribute));\n\t\t}\n\t}\n\tif (uniqueColumns.has(column.name) && !isId) {\n\t\tconst uniqueConstraintName = uniqueColumns.get(column.name);\n\t\tattributes.push(buildSimpleConstraintFieldAttribute(\"unique\", uniqueConstraintName));\n\t}\n\tif (column.many === true) {\n\t\tconst waivedKinds = postgresRenderCheckExpressions({\n\t\t\ttableName: table.name,\n\t\t\tcolumnName: column.name,\n\t\t\tmany: true,\n\t\t\tmemberValues: void 0\n\t\t}).filter((candidate) => !derivedCheckNames.has(formatWireName(composeCheckWirePrefix(table.name, column.name, candidate.kind), computeCheckContentHash(candidate.expression)))).map((candidate) => candidate.kind);\n\t\tif (waivedKinds.length > 0) attributes.push(buildAttribute(\"field\", \"noCheck\", waivedKinds.map(positionalArg)));\n\t}\n\tif (fieldMap !== void 0) attributes.push(buildMapAttribute(\"field\", fieldMap));\n\treturn {\n\t\tkind: \"field\",\n\t\tname: fieldName,\n\t\ttypeName,\n\t\t...ifDefined(\"typeConstructor\", typeConstructor),\n\t\toptional: column.nullable,\n\t\tlist: column.many === true,\n\t\tattributes,\n\t\tspan: SYNTHETIC_SPAN\n\t};\n}\nfunction buildRelationField(rel, hostTableName, fieldNamesByTable, usedFieldNames) {\n\tconst fieldName = createUniqueFieldName(rel.fieldName, usedFieldNames);\n\tusedFieldNames.add(fieldName);\n\tconst args = [];\n\tif (rel.fields && rel.references) {\n\t\tif (rel.relationName) args.push(namedArg(\"name\", `\"${escapePslString(rel.relationName)}\"`));\n\t\targs.push(namedArg(\"fields\", `[${rel.fields.map((columnName) => resolveColumnFieldName(fieldNamesByTable, hostTableName, columnName)).join(\", \")}]`));\n\t\targs.push(namedArg(\"references\", `[${rel.references.map((columnName) => resolveColumnFieldName(fieldNamesByTable, rel.referencedTableName ?? \"\", columnName)).join(\", \")}]`));\n\t\tif (rel.onDelete) args.push(namedArg(\"onDelete\", rel.onDelete));\n\t\tif (rel.onUpdate) args.push(namedArg(\"onUpdate\", rel.onUpdate));\n\t\tif (rel.fkName) args.push(namedArg(\"map\", `\"${escapePslString(rel.fkName)}\"`));\n\t\tif (rel.index === false) args.push(namedArg(\"index\", \"false\"));\n\t} else if (rel.relationName) args.push(namedArg(\"name\", `\"${escapePslString(rel.relationName)}\"`));\n\tconst attrs = args.length > 0 ? [buildAttribute(\"field\", \"relation\", args)] : [];\n\treturn {\n\t\tkind: \"field\",\n\t\tname: fieldName,\n\t\ttypeName: rel.typeName,\n\t\t...ifDefined(\"typeNamespaceId\", rel.typeNamespaceId),\n\t\t...ifDefined(\"typeContractSpaceId\", rel.typeContractSpaceId),\n\t\toptional: rel.optional,\n\t\tlist: rel.list,\n\t\tattributes: attrs,\n\t\tspan: SYNTHETIC_SPAN\n\t};\n}\n//#endregion\n//#region src/core/psl-infer/infer-policy-blocks.ts\nconst POLICY_OPERATION_KEYWORD = {\n\tselect: \"policy_select\",\n\tinsert: \"policy_insert\",\n\tupdate: \"policy_update\",\n\tdelete: \"policy_delete\",\n\tall: \"policy_all\"\n};\n/** The PSL tokenizer's identifier grammar: leading letter/underscore, then letters/digits/`_`/`-`. */\nconst PSL_IDENTIFIER = /^[\\p{L}_][\\p{L}\\p{N}_-]*$/u;\n/** Replaces invalid character runs with `_`; prepends `_` when the first character is invalid. */\nfunction sanitizePolicyHead(raw) {\n\tlet head = raw.replace(/[^\\p{L}\\p{N}_-]+/gu, \"_\");\n\tif (!/^[\\p{L}_]/u.test(head)) head = `_${head}`;\n\treturn head;\n}\n/**\n* Builds one `policy_<operation>` block per introspected policy. Every\n* adopted policy is exact-named: a reprinted body never reliably re-hashes to\n* the live suffix, so `@@map` always carries the physical name and the head\n* is only an identifier. A policy granting to a role whose name is not a\n* legal identifier cannot be authored at all — role references have no\n* `@@map` escape — so it is skipped with a note.\n*/\nfunction buildPolicyBlocks(policiesByTable, modelNameMap, reservedHeads = /* @__PURE__ */ new Set()) {\n\tconst all = [];\n\tfor (const [tableName, policies] of policiesByTable) for (const policy of policies) all.push({\n\t\tpolicy,\n\t\ttableName\n\t});\n\tall.sort((a, b) => {\n\t\tif (a.policy.name !== b.policy.name) return a.policy.name < b.policy.name ? -1 : 1;\n\t\tif (a.tableName !== b.tableName) return a.tableName < b.tableName ? -1 : 1;\n\t\treturn a.policy.operation < b.policy.operation ? -1 : a.policy.operation > b.policy.operation ? 1 : 0;\n\t});\n\tconst usedHeads = new Set(reservedHeads);\n\tconst blocks = [];\n\tconst skipNotesByTable = /* @__PURE__ */ new Map();\n\tfor (const { policy, tableName } of all) {\n\t\tconst modelName = modelNameMap.get(tableName);\n\t\tassertDefined(modelName, `buildPolicyBlocks: policy \"${policy.name}\" targets table \"${tableName}\" with no emitted model; tables and policies come from the same introspection walk`);\n\t\tconst badRole = policy.roles.find((role) => !PSL_IDENTIFIER.test(role));\n\t\tif (badRole !== void 0) {\n\t\t\tconst notes = skipNotesByTable.get(tableName) ?? [];\n\t\t\tnotes.push(`// prisma-next: skipped policy \"${policy.name}\": role \"${badRole}\" is not a valid PSL identifier and role references cannot be escaped`);\n\t\t\tskipNotesByTable.set(tableName, notes);\n\t\t\tcontinue;\n\t\t}\n\t\tlet head = sanitizePolicyHead(parseWireName(policy.name)?.prefix ?? policy.name);\n\t\tif (usedHeads.has(head)) {\n\t\t\tlet n = 2;\n\t\t\twhile (usedHeads.has(`${head}_${n}`)) n += 1;\n\t\t\thead = `${head}_${n}`;\n\t\t}\n\t\tusedHeads.add(head);\n\t\tblocks.push({\n\t\t\tkind: \"policy\",\n\t\t\tkeyword: POLICY_OPERATION_KEYWORD[policy.operation],\n\t\t\tname: head,\n\t\t\tparameters: {\n\t\t\t\ttarget: {\n\t\t\t\t\tkind: \"ref\",\n\t\t\t\t\tidentifier: modelName,\n\t\t\t\t\tspan: SYNTHETIC_SPAN\n\t\t\t\t},\n\t\t\t\troles: {\n\t\t\t\t\tkind: \"list\",\n\t\t\t\t\titems: policy.roles.map((role) => ({\n\t\t\t\t\t\tkind: \"ref\",\n\t\t\t\t\t\tidentifier: role,\n\t\t\t\t\t\tspan: SYNTHETIC_SPAN\n\t\t\t\t\t})),\n\t\t\t\t\tspan: SYNTHETIC_SPAN\n\t\t\t\t},\n\t\t\t\t...policy.using !== void 0 ? { using: {\n\t\t\t\t\tkind: \"value\",\n\t\t\t\t\traw: JSON.stringify(policy.using),\n\t\t\t\t\tspan: SYNTHETIC_SPAN\n\t\t\t\t} } : {},\n\t\t\t\t...policy.withCheck !== void 0 ? { withCheck: {\n\t\t\t\t\tkind: \"value\",\n\t\t\t\t\traw: JSON.stringify(policy.withCheck),\n\t\t\t\t\tspan: SYNTHETIC_SPAN\n\t\t\t\t} } : {},\n\t\t\t\t...policy.permissive ? {} : { permissive: {\n\t\t\t\t\tkind: \"value\",\n\t\t\t\t\traw: \"false\",\n\t\t\t\t\tspan: SYNTHETIC_SPAN\n\t\t\t\t} }\n\t\t\t},\n\t\t\tblockAttributes: [{\n\t\t\t\tname: \"map\",\n\t\t\t\targs: [{\n\t\t\t\t\tkind: \"positional\",\n\t\t\t\t\tvalue: `\"${escapePslString(policy.name)}\"`,\n\t\t\t\t\tspan: SYNTHETIC_SPAN\n\t\t\t\t}],\n\t\t\t\tspan: SYNTHETIC_SPAN\n\t\t\t}],\n\t\t\tspan: SYNTHETIC_SPAN\n\t\t});\n\t}\n\treturn {\n\t\tblocks,\n\t\tskipNotesByTable\n\t};\n}\n//#endregion\n//#region src/core/psl-infer/postgres-default-mapping.ts\nconst POSTGRES_FUNCTION_ATTRIBUTES = { \"gen_random_uuid()\": \"@default(dbgenerated(\\\"gen_random_uuid()\\\"))\" };\nfunction formatDbGeneratedAttribute(expression) {\n\treturn `@default(dbgenerated(${JSON.stringify(expression)}))`;\n}\nfunction createPostgresDefaultMapping() {\n\treturn {\n\t\tfunctionAttributes: POSTGRES_FUNCTION_ATTRIBUTES,\n\t\tfallbackFunctionAttribute: formatDbGeneratedAttribute\n\t};\n}\n//#endregion\n//#region src/core/psl-infer/postgres-type-map.ts\nconst POSTGRES_TO_PSL = {\n\ttext: \"String\",\n\tbool: \"Boolean\",\n\tboolean: \"Boolean\",\n\tint4: \"Int\",\n\tinteger: \"Int\",\n\tint8: \"BigInt\",\n\tbigint: \"BigInt\",\n\tfloat8: \"Float\",\n\t\"double precision\": \"Float\",\n\tjsonb: \"Jsonb\",\n\tbytea: \"Bytes\"\n};\nconst PRESERVED_NATIVE_TYPES = {\n\t\"character varying\": \"VarChar\",\n\tcharacter: \"Char\",\n\tchar: \"Char\",\n\tvarchar: \"VarChar\",\n\tuuid: \"Uuid\",\n\tinet: \"Inet\",\n\tint2: \"SmallInt\",\n\tsmallint: \"SmallInt\",\n\tfloat4: \"Real\",\n\treal: \"Real\",\n\tnumeric: \"Numeric\",\n\tdecimal: \"Numeric\",\n\ttimestamp: \"Timestamp\",\n\t\"timestamp without time zone\": \"Timestamp\",\n\ttimestamptz: \"Timestamptz\",\n\t\"timestamp with time zone\": \"Timestamptz\",\n\tdate: \"Date\",\n\ttime: \"Time\",\n\t\"time without time zone\": \"Time\",\n\ttimetz: \"Timetz\",\n\t\"time with time zone\": \"Timetz\",\n\tjson: \"Json\"\n};\nconst PARAMETERIZED_NATIVE_TYPES = {\n\t\"character varying\": \"VarChar\",\n\tcharacter: \"Char\",\n\tchar: \"Char\",\n\tvarchar: \"VarChar\",\n\tnumeric: \"Numeric\",\n\tdecimal: \"Numeric\",\n\ttimestamp: \"Timestamp\",\n\ttimestamptz: \"Timestamptz\",\n\ttime: \"Time\",\n\ttimetz: \"Timetz\"\n};\nconst PARAMETERIZED_TYPE_PATTERN = /^(.+?)\\((.+)\\)$/;\nfunction getOwnMappingValue(map, key) {\n\treturn Object.hasOwn(map, key) ? map[key] : void 0;\n}\nfunction splitTypeParameterList(params) {\n\treturn params.split(\",\").map((part) => part.trim()).filter((part) => part.length > 0);\n}\nfunction createPostgresTypeMap(enumTypeNames) {\n\treturn { resolve(nativeType) {\n\t\tif (enumTypeNames?.has(nativeType)) return {\n\t\t\tpslType: { name: nativeType },\n\t\t\tnativeType\n\t\t};\n\t\tconst paramMatch = nativeType.match(PARAMETERIZED_TYPE_PATTERN);\n\t\tif (paramMatch) {\n\t\t\tconst [, baseType = nativeType, params = \"\"] = paramMatch;\n\t\t\tconst typeName = getOwnMappingValue(PARAMETERIZED_NATIVE_TYPES, baseType);\n\t\t\tif (typeName) return {\n\t\t\t\tpslType: {\n\t\t\t\t\tname: typeName,\n\t\t\t\t\targs: splitTypeParameterList(params)\n\t\t\t\t},\n\t\t\t\tnativeType,\n\t\t\t\ttypeParams: {\n\t\t\t\t\tbaseType,\n\t\t\t\t\tparams\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\tconst preservedType = getOwnMappingValue(PRESERVED_NATIVE_TYPES, nativeType);\n\t\tif (preservedType) return {\n\t\t\tpslType: { name: preservedType },\n\t\t\tnativeType\n\t\t};\n\t\tconst pslType = getOwnMappingValue(POSTGRES_TO_PSL, nativeType);\n\t\tif (pslType) return {\n\t\t\tpslType: { name: pslType },\n\t\t\tnativeType\n\t\t};\n\t\treturn {\n\t\t\tunsupported: true,\n\t\t\tnativeType\n\t\t};\n\t} };\n}\n//#endregion\n//#region src/core/psl-infer/infer-psl-contract.ts\n/**\n* Infers a PSL AST (for `printPsl`) from an introspected Postgres schema tree.\n*\n* Target-owned inference: it walks the `PostgresDatabaseSchemaNode` tree and\n* owns the Postgres dialect knowledge — the native type map and default map.\n* Relation inference, name transforms, generic default mapping, and raw-default\n* parsing are shape-neutral utilities imported from the SQL family.\n*\n* The tree's tables (across its namespaces — `contract infer` introspects a\n* single live namespace) are gathered into the model set and emitted in one\n* bucket, alongside native-enum and RLS policy blocks. That bucket is named\n* after the introspected schema when the content needs a `namespace { … }`\n* wrap, and is the flat `UNSPECIFIED_PSL_NAMESPACE_ID` bucket otherwise. This\n* entry point emits nothing else, so its output is always exactly one bucket\n* and byte-identical to the prior flat inference. {@link buildPslDocumentAst}\n* can emit a second, always-flat bucket for content that must stay top-level\n* even under a wrap; no caller asks for one yet.\n*\n* `describedContracts` — the stack's extension packs' already-assembled\n* contracts, each paired with its space id — is consulted while gathering\n* tables: a table whose coordinate `(schemaName, 'table', tableName)` one of\n* those contracts already declares is omitted, before the duplicate-name\n* check below and before relation inference, so it cannot spuriously\n* collide with an app table and never contributes a bare relation field. A\n* surviving table's foreign key into an omitted, pack-owned table is not\n* dropped: {@link resolveForeignKeys} rewrites it into a relation qualified\n* with the pack's space id (`<spaceId>:<namespaceId>.<Model>`) instead.\n*/\nfunction inferPostgresPslContract(tree, describedContracts) {\n\tconst namespaces = Object.values(tree.namespaces);\n\tconst owners = describedContractOwners(describedContracts ?? []);\n\tconst enumDefinitions = /* @__PURE__ */ new Map();\n\tconst packOwnedEnumTypesByNamespace = /* @__PURE__ */ new Map();\n\tconst enumNamespaceNames = /* @__PURE__ */ new Set();\n\tfor (const namespace of namespaces) for (const { typeName, members } of namespace.nativeEnums) {\n\t\tconst owner = owners.get(coordinateKey({\n\t\t\tnamespaceId: namespace.schemaName,\n\t\t\tentityKind: \"native_enum\",\n\t\t\tentityName: typeName\n\t\t}));\n\t\tif (owner !== void 0) {\n\t\t\tconst owned = packOwnedEnumTypesByNamespace.get(namespace.schemaName) ?? /* @__PURE__ */ new Map();\n\t\t\towned.set(typeName, owner.spaceId);\n\t\t\towned.set(`${namespace.schemaName}.${typeName}`, owner.spaceId);\n\t\t\tpackOwnedEnumTypesByNamespace.set(namespace.schemaName, owned);\n\t\t\tcontinue;\n\t\t}\n\t\tenumDefinitions.set(typeName, members);\n\t\tenumNamespaceNames.add(namespace.schemaName);\n\t}\n\tconst tables = {};\n\tconst tableNamespaceNames = /* @__PURE__ */ new Set();\n\tconst rlsEnabledTables = /* @__PURE__ */ new Set();\n\tconst policiesByTable = /* @__PURE__ */ new Map();\n\tfor (const namespace of namespaces) {\n\t\tconst ownedEnumTypes = packOwnedEnumTypesByNamespace.get(namespace.schemaName);\n\t\tfor (const [tableName, table] of Object.entries(namespace.tables)) {\n\t\t\tif (owners.has(coordinateKey({\n\t\t\t\tnamespaceId: namespace.schemaName,\n\t\t\t\tentityKind: \"table\",\n\t\t\t\tentityName: tableName\n\t\t\t}))) continue;\n\t\t\tif (tables[tableName] !== void 0) throw postgresError(\"CONTRACT.INFER_UNSUPPORTED\", `contract infer: duplicate table name \"${tableName}\" across schemas is not yet supported (single-namespace PSL inference emits one flat bucket; multi-namespace \\`namespace { … }\\` output is a later slice).`, { meta: { tableName } });\n\t\t\tif (ownedEnumTypes !== void 0) for (const column of Object.values(table.columns)) {\n\t\t\t\tconst owningSpaceId = ownedEnumTypes.get(column.nativeType);\n\t\t\t\tif (owningSpaceId !== void 0) throw postgresError(\"CONTRACT.INFER_UNSUPPORTED\", `contract infer: column \"${tableName}\".\"${column.name}\" is typed by native enum type \"${column.nativeType}\", which extension pack space \"${owningSpaceId}\" already describes. A cross-space enum-typed column has no authorable PSL form yet; describe the table in that pack's contract or retype the column before re-running contract infer.`, { meta: {\n\t\t\t\t\ttableName,\n\t\t\t\t\tcolumnName: column.name\n\t\t\t\t} });\n\t\t\t}\n\t\t\ttables[tableName] = new SqlTableIR(table);\n\t\t\ttableNamespaceNames.add(namespace.schemaName);\n\t\t\tif (table.rlsEnabled) rlsEnabledTables.add(tableName);\n\t\t\tif (table.policies.length > 0) policiesByTable.set(tableName, table.policies);\n\t\t}\n\t}\n\tlet wrapNamespaceName;\n\tif (enumDefinitions.size > 0 || policiesByTable.size > 0) {\n\t\tconst contentNamespaces = /* @__PURE__ */ new Set([...enumNamespaceNames, ...tableNamespaceNames]);\n\t\tif (contentNamespaces.size > 1) throw postgresError(\"CONTRACT.INFER_UNSUPPORTED\", `contract infer: adopting native enums or RLS policies with content across multiple schemas is not yet supported (single-namespace PSL inference emits one \\`namespace { … }\\` block; multi-namespace output is a later slice). Schemas: ${[...contentNamespaces].sort().join(\", \")}.`, { meta: { schemas: [...contentNamespaces].sort() } });\n\t\twrapNamespaceName = [...contentNamespaces][0];\n\t}\n\tconst { tables: resolvedTables, extraRelationsByTable, crossSpaceFieldNamesByTable, danglingForeignKeysByTable } = resolveForeignKeys(tables, owners);\n\tconst schemaIR = new SqlSchemaIR({ tables: resolvedTables });\n\tconst enumTypeNames = new Set(enumDefinitions.keys());\n\tif (wrapNamespaceName !== void 0) for (const typeName of enumDefinitions.keys()) enumTypeNames.add(`${wrapNamespaceName}.${typeName}`);\n\tconst enumInfo = {\n\t\ttypeNames: enumTypeNames,\n\t\tdefinitions: enumDefinitions\n\t};\n\treturn buildPslDocumentAst(schemaIR, {\n\t\ttypeMap: createPostgresTypeMap(enumInfo.typeNames),\n\t\tdefaultMapping: createPostgresDefaultMapping(),\n\t\tparseRawDefault,\n\t\t...enumDefinitions.size > 0 ? { enumInfo } : {}\n\t}, {\n\t\textraRelationsByTable,\n\t\tcrossSpaceFieldNamesByTable,\n\t\tdanglingForeignKeysByTable\n\t}, wrapNamespaceName, {\n\t\trlsEnabledTables,\n\t\tpoliciesByTable\n\t});\n}\n/**\n* Builds the PSL document for one introspected schema.\n*\n* `namespaceName` wraps the output in `namespace <name> { … }`; omit it for\n* flat output. `topLevelExtensionBlocks` are declarations that must stay\n* top-level even when a wrap applies, such as a recovered domain enum — a\n* family `enum` inside a namespace is a hard diagnostic. They land in their\n* own always-flat bucket when a wrap applies, and in the single flat bucket\n* when none does; either way they print unwrapped.\n*\n* Their names are reserved before the policy blocks are built, so a policy\n* renames itself out of the way. Against the rest of the top-level scope — the\n* models, the native enums, PSL's scalar type names, and the other blocks in\n* the list — a clash throws instead: a block's name is its contract key\n* (`entries.valueSet[name]`, with no `@@map` escape), so it cannot be rewritten\n* here.\n*/\nfunction buildPslDocumentAst(schemaIR, options, foreignKeyExtras, namespaceName, rlsExtras, topLevelExtensionBlocks = []) {\n\tconst { typeMap, defaultMapping, parseRawDefault: rawDefaultParser } = options;\n\tconst { extraRelationsByTable, crossSpaceFieldNamesByTable, danglingForeignKeysByTable } = foreignKeyExtras;\n\tconst modelNames = buildTopLevelNameMap(Object.keys(schemaIR.tables), toModelName, \"model\", \"table\");\n\tconst modelNameMap = new Map([...modelNames].map(([tableName, result]) => [tableName, result.name]));\n\tconst { enumNameMap: bareEnumNameMap, enumBlocks } = buildNativeEnumBlocks(options.enumInfo?.definitions ?? /* @__PURE__ */ new Map(), modelNames);\n\tconst enumNameMap = new Map(bareEnumNameMap);\n\tif (namespaceName !== void 0) for (const [typeName, pslName] of bareEnumNameMap) enumNameMap.set(`${namespaceName}.${typeName}`, pslName);\n\tconst fieldNamesByTable = new Map([...crossSpaceFieldNamesByTable, ...buildFieldNamesByTable(schemaIR.tables)]);\n\tconst { relationsByTable } = inferRelations(schemaIR.tables, modelNameMap);\n\tconst policyEmission = buildPolicyBlocks(rlsExtras?.policiesByTable ?? /* @__PURE__ */ new Map(), modelNameMap, /* @__PURE__ */ new Set([\n\t\t...modelNameMap.values(),\n\t\t...bareEnumNameMap.values(),\n\t\t...topLevelExtensionBlocks.map((block) => block.name)\n\t]));\n\tconst claimedTopLevelNames = /* @__PURE__ */ new Set([\n\t\t...PSL_SCALAR_TYPE_NAMES,\n\t\t...modelNameMap.values(),\n\t\t...bareEnumNameMap.values()\n\t]);\n\tfor (const block of topLevelExtensionBlocks) {\n\t\tif (claimedTopLevelNames.has(block.name)) throw postgresError(\"CONTRACT.NAME_DUPLICATE\", `contract infer: recovered ${block.keyword} \"${block.name}\" collides with a model, a native enum, a PSL scalar type, or another recovered declaration of the same name. Rename the recovered declaration, or exclude it.`, { meta: {\n\t\t\tkind: block.keyword,\n\t\t\tname: block.name\n\t\t} });\n\t\tclaimedTopLevelNames.add(block.name);\n\t}\n\tconst models = [];\n\tfor (const table of Object.values(schemaIR.tables)) models.push(buildModel(table, typeMap, enumNameMap, fieldNamesByTable, defaultMapping, rawDefaultParser, [...relationsByTable.get(table.name) ?? [], ...extraRelationsByTable.get(table.name) ?? []], danglingForeignKeysByTable.get(table.name) ?? [], rlsExtras?.rlsEnabledTables.has(table.name) ?? false, policyEmission.skipNotesByTable.get(table.name) ?? []));\n\tconst sortedModels = topologicalSort(models, schemaIR.tables, modelNameMap);\n\tconst separateTopLevelBucket = namespaceName !== void 0 && namespaceName !== UNSPECIFIED_PSL_NAMESPACE_ID && topLevelExtensionBlocks.length > 0;\n\tconst namespaces = [];\n\tif (separateTopLevelBucket) namespaces.push(makePslNamespace({\n\t\tkind: \"namespace\",\n\t\tname: UNSPECIFIED_PSL_NAMESPACE_ID,\n\t\tentries: makePslNamespaceEntries([], [], topLevelExtensionBlocks),\n\t\tspan: SYNTHETIC_SPAN\n\t}));\n\tnamespaces.push(makePslNamespace({\n\t\tkind: \"namespace\",\n\t\tname: namespaceName ?? UNSPECIFIED_PSL_NAMESPACE_ID,\n\t\tentries: makePslNamespaceEntries(sortedModels, [], [\n\t\t\t...separateTopLevelBucket ? [] : topLevelExtensionBlocks,\n\t\t\t...enumBlocks,\n\t\t\t...policyEmission.blocks\n\t\t]),\n\t\tspan: SYNTHETIC_SPAN\n\t}));\n\treturn {\n\t\tkind: \"document\",\n\t\tsourceId: \"<sql-schema-ir>\",\n\t\tnamespaces,\n\t\tspan: SYNTHETIC_SPAN\n\t};\n}\n//#endregion\n//#region src/exports/control.ts\nfunction postgresRenderDefault(def, column) {\n\tif (def.kind === \"function\") return def.expression;\n\treturn renderDefaultLiteral(def.value, column);\n}\nconst postgresTargetDescriptor = {\n\t...postgresTargetDescriptorMeta,\n\tcontractSerializer: new PostgresContractSerializer(),\n\tschemaVerifier: new PostgresSchemaVerifier(),\n\tinferPslContract(schema, describedContracts) {\n\t\tPostgresDatabaseSchemaNode.assert(schema);\n\t\treturn inferPostgresPslContract(schema, describedContracts);\n\t},\n\tdiffSchema(input) {\n\t\treturn diffPostgresSchema(input);\n\t},\n\tclassifySubjectGranularity: postgresDiffSubjectGranularity,\n\tclassifyEntityKind: postgresDiffSubjectEntityKind,\n\tmigrations: {\n\t\tcreatePlanner(adapter) {\n\t\t\treturn createPostgresMigrationPlanner(adapter);\n\t\t},\n\t\tcreateRunner(family) {\n\t\t\treturn createPostgresMigrationRunner(family);\n\t\t},\n\t\tcontractToSchema(contract, frameworkComponents) {\n\t\t\tconst expander = buildNativeTypeExpander(frameworkComponents);\n\t\t\treturn contractToPostgresDatabaseSchemaNode(blindCast(contract), {\n\t\t\t\tannotationNamespace: \"pg\",\n\t\t\t\t...ifDefined(\"expandNativeType\", expander),\n\t\t\t\trenderDefault: postgresRenderDefault,\n\t\t\t\tresolveDefault: postgresResolveDefault\n\t\t\t});\n\t\t}\n\t},\n\tcreate() {\n\t\treturn {\n\t\t\tfamilyId: \"sql\",\n\t\t\ttargetId: \"postgres\"\n\t\t};\n\t},\n\t/**\n\t* Direct method for SQL-specific usage.\n\t* @deprecated Use migrations.createPlanner() for CLI compatibility.\n\t*/\n\tcreatePlanner(adapter) {\n\t\treturn createPostgresMigrationPlanner(adapter);\n\t},\n\t/**\n\t* Direct method for SQL-specific usage.\n\t* @deprecated Use migrations.createRunner() for CLI compatibility.\n\t*/\n\tcreateRunner(family) {\n\t\treturn createPostgresMigrationRunner(family);\n\t}\n};\n//#endregion\nexport { postgresTargetDescriptor as default, postgresRenderDefault };\n\n//# sourceMappingURL=control.mjs.map"],"mappings":"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"}