@prisma/orm-target-postgres 8.0.0-rc.1-dev.4 → 8.0.0-rc.1-dev.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{control-D54Q3kbK.mjs → control-Bg9zfwmi.mjs} +3 -3
- package/dist/{control-D54Q3kbK.mjs.map → control-Bg9zfwmi.mjs.map} +1 -1
- package/dist/{control-policy-ClKhTn_0-BOS85yPy.mjs → control-policy-DHKvUOIr-DAyVIwLu.mjs} +6 -4
- package/dist/control-policy-DHKvUOIr-DAyVIwLu.mjs.map +1 -0
- package/dist/{diff-database-schema-KDyPPk3N-Dd3tP56q.mjs → diff-database-schema-ad-D4dAq-DV_k33bS.mjs} +3 -3
- package/dist/{diff-database-schema-KDyPPk3N-Dd3tP56q.mjs.map → diff-database-schema-ad-D4dAq-DV_k33bS.mjs.map} +1 -1
- package/dist/{issue-planner-aw7grdXe.d.mts → issue-planner-Biq9Ls7e.d.mts} +2 -2
- package/dist/{issue-planner-aw7grdXe.d.mts.map → issue-planner-Biq9Ls7e.d.mts.map} +1 -1
- package/dist/migration-PTHAY9Cv.mjs.map +1 -1
- package/dist/{migration-DyZpdeyj.d.mts → migration-aFeTWTOJ.d.mts} +3 -3
- package/dist/{migration-DyZpdeyj.d.mts.map → migration-aFeTWTOJ.d.mts.map} +1 -1
- package/dist/{op-factory-call-DJEyoQmT-DSMQffKu.d.mts → op-factory-call-BAeyLFYf-BAgG1h1C.d.mts} +17 -4
- package/dist/op-factory-call-BAeyLFYf-BAgG1h1C.d.mts.map +1 -0
- package/dist/op-factory-call-BTU8I_x0.d.mts +1 -0
- package/dist/{op-factory-call-B3DVhHrC-DO122NQy.mjs → op-factory-call-Brgoyup0-PVFU69JM.mjs} +58 -3
- package/dist/op-factory-call-Brgoyup0-PVFU69JM.mjs.map +1 -0
- package/dist/{planner-DJety89h-CNM5hBvV.mjs → planner-BycBXxqk-DUExzUoz.mjs} +92 -9
- package/dist/planner-BycBXxqk-DUExzUoz.mjs.map +1 -0
- package/dist/{planner-BMBEF8Kc.d.mts → planner-CT-7zSfk.d.mts} +20 -2
- package/dist/{planner-BMBEF8Kc.d.mts.map → planner-CT-7zSfk.d.mts.map} +1 -1
- package/dist/{planner-produced-postgres-migration-DLP-Hw6M-BUXxSd_i.mjs → planner-produced-postgres-migration-B9P7yeDs-BgEtBGET.mjs} +3 -3
- package/dist/{planner-produced-postgres-migration-DLP-Hw6M-BUXxSd_i.mjs.map → planner-produced-postgres-migration-B9P7yeDs-BgEtBGET.mjs.map} +1 -1
- package/dist/{planner-produced-postgres-migration-Cs252KpU-BvXMZvzX.d.mts → planner-produced-postgres-migration-BaviT8KK-Yo9kw6rs.d.mts} +3 -3
- package/dist/planner-produced-postgres-migration-BaviT8KK-Yo9kw6rs.d.mts.map +1 -0
- package/dist/planner-produced-postgres-migration-D6C0T2xV.d.mts +1 -0
- package/dist/{postgres-migration-DPK9WNF5-DHAXtwys.d.mts → postgres-migration-BNsrwlxh-CwI5BqAu.d.mts} +9 -3
- package/dist/postgres-migration-BNsrwlxh-CwI5BqAu.d.mts.map +1 -0
- package/dist/{postgres-migration-Cp9IRLdW-BEL9GAjb.mjs → postgres-migration-BOVlNbh2-D3by-atW.mjs} +7 -3
- package/dist/postgres-migration-BOVlNbh2-D3by-atW.mjs.map +1 -0
- package/dist/target.d.mts +9 -9
- package/dist/target.mjs +8 -8
- package/dist/target__control.mjs +1 -1
- package/dist/target__diff-database-schema.mjs +1 -1
- package/dist/target__issue-planner.d.mts +1 -1
- package/dist/target__issue-planner.mjs +1 -1
- package/dist/target__migration.d.mts +2 -2
- package/dist/target__migration.mjs +2 -2
- package/dist/target__op-factory-call.d.mts +3 -3
- package/dist/target__op-factory-call.mjs +2 -2
- package/dist/target__planner-produced-postgres-migration.d.mts +2 -2
- package/dist/target__planner-produced-postgres-migration.mjs +1 -1
- package/dist/target__planner.d.mts +1 -1
- package/dist/target__planner.mjs +2 -2
- package/package.json +9 -9
- package/dist/control-policy-ClKhTn_0-BOS85yPy.mjs.map +0 -1
- package/dist/op-factory-call-B3DVhHrC-DO122NQy.mjs.map +0 -1
- package/dist/op-factory-call-ClseZgmP.d.mts +0 -1
- package/dist/op-factory-call-DJEyoQmT-DSMQffKu.d.mts.map +0 -1
- package/dist/planner-DJety89h-CNM5hBvV.mjs.map +0 -1
- package/dist/planner-produced-postgres-migration-Cs252KpU-BvXMZvzX.d.mts.map +0 -1
- package/dist/planner-produced-postgres-migration-Cua5YEYV.d.mts +0 -1
- package/dist/postgres-migration-Cp9IRLdW-BEL9GAjb.mjs.map +0 -1
- package/dist/postgres-migration-DPK9WNF5-DHAXtwys.d.mts.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"control-policy-ClKhTn_0-BOS85yPy.mjs","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/control-policy-ClKhTn_0.mjs"],"sourcesContent":["import { r as isPostgresSchema } from \"./postgres-schema-CFOxDfUX.mjs\";\nimport { n as PostgresNativeEnumSchemaNode, o as postgresNodeEntityKind, r as PostgresSchemaNodeKind, t as PostgresTableSchemaNode } from \"./postgres-table-schema-node-BBkitBQh.mjs\";\nimport { C as DropNativeEnumTypeCall, D as EnableRowLevelSecurityCall, E as DropTableCall, M as SetNotNullCall, N as postgresDefaultToDdlColumnDefault, O as RawSqlCall, P as buildTargetDetails, S as DropIndexCall, _ as DisableRowLevelSecurityCall, a as AddNotNullColumnDirectCall, b as DropConstraintCall, c as AddUniqueCall, d as CreateIndexCall, f as CreateNativeEnumTypeCall, g as DataTransformCall, h as CreateTableCall, i as AddNativeEnumValueCall, j as SetDefaultCall, l as AlterColumnTypeCall, m as CreateSchemaCall, n as AddColumnCall, o as AddNotNullColumnWithTempDefaultCall, r as AddForeignKeyCall, s as AddPrimaryKeyCall, t as AddCheckConstraintCall, v as DropCheckConstraintCall, w as DropNotNullCall, x as DropDefaultCall, y as DropColumnCall } from \"./op-factory-call-B3DVhHrC.mjs\";\nimport { t as buildExpectedFormatType } from \"./planner-sql-checks-DKialyGJ.mjs\";\nimport { n as buildColumnTypeSql, t as buildColumnDefaultSql } from \"./planner-ddl-builders-DJrx9cJg.mjs\";\nimport { n as resolveIdentityValue } from \"./planner-identity-values-BmHn5C6U.mjs\";\nimport { i as hasUniqueConstraint, n as hasForeignKey, t as buildSchemaLookupMap } from \"./planner-schema-lookup-kMIVP2y-.mjs\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { UNBOUND_NAMESPACE_ID, entityAt } from \"@internal/framework-components/ir\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport * as contractFree from \"@internal/sql-relational-core/contract-free\";\nimport { RelationalSchemaNodeKind, SqlSchemaIR } from \"@internal/sql-schema-ir/types\";\nimport { issueOutcome, orderIssuesByDependencies } from \"@internal/framework-components/control\";\nimport { notOk, ok } from \"@internal/utils/result\";\nimport { InternalError } from \"@internal/utils/internal-error\";\n//#region src/core/schema-ir/node-storage-coordinate.ts\n/**\n* The storage-`entries` coordinate `(entityKind, entityName)` a Postgres diff\n* node addresses — a table by its name, a native enum by its physical type\n* name. `undefined` for a node that is not a whole storage entity (a namespace,\n* a column, a policy). Lets ownership/subject resolution treat every entity kind\n* uniformly, the node self-describing its storage identity.\n*/\nfunction postgresNodeStorageCoordinate(node) {\n\tif (PostgresTableSchemaNode.is(node)) {\n\t\tconst entityKind = postgresNodeEntityKind(node.nodeKind);\n\t\treturn entityKind === void 0 ? void 0 : {\n\t\t\tentityKind,\n\t\t\tentityName: node.name\n\t\t};\n\t}\n\tif (PostgresNativeEnumSchemaNode.is(node)) {\n\t\tconst entityKind = postgresNodeEntityKind(node.nodeKind);\n\t\treturn entityKind === void 0 ? void 0 : {\n\t\t\tentityKind,\n\t\t\tentityName: node.typeName\n\t\t};\n\t}\n}\n//#endregion\n//#region src/core/migrations/column-ddl-rendering.ts\n/**\n* Reconstructs the `StorageColumn`-shaped fields the DDL builder functions\n* (`buildColumnTypeSql`, `buildExpectedFormatType`, `resolveIdentityValue`)\n* expect, from a column node's own stamped codec identity (`codecRef` /\n* `codecBaseNativeType` / `codecNamedType`, Decision 5) — never the\n* contract. The builders were written against `StorageColumn` and are\n* unchanged here; only the shape feeding them moves from the contract to\n* the node. An empty `storageTypes` catalog is passed alongside: the\n* node's fields are already resolved past any `typeRef` indirection, so no\n* live lookup is needed, and passing a non-empty catalog would risk a\n* false `typeRef` hit against an unrelated storage type.\n*/\nfunction columnLike(column) {\n\tif (column.codecRef === void 0 || column.codecBaseNativeType === void 0) throw new InternalError(`columnLike: expected column \"${column.name}\" carries no codec identity — the expected tree must be derived via contractToSchemaIR for planning`);\n\treturn {\n\t\tnativeType: column.codecBaseNativeType,\n\t\tcodecId: column.codecRef.codecId,\n\t\tnullable: column.nullable,\n\t\t...ifDefined(\"many\", column.many ?? column.codecRef.many),\n\t\t...ifDefined(\"typeParams\", column.codecRef.typeParams !== void 0 ? blindCast(column.codecRef.typeParams) : void 0),\n\t\t...column.codecNamedType ? { typeRef: \"<resolved>\" } : {},\n\t\t...ifDefined(\"default\", column.resolvedDefault)\n\t};\n}\n/**\n* Builds the `CREATE TABLE` / `ADD COLUMN` DDL column for an expected column\n* node, resolving type rendering from the node's codec identity against the\n* codec hooks the caller holds — the same builder the pre-`plan(start, end)`\n* op-path called, so the output is byte-identical.\n*/\nfunction renderColumnDdl(name, column, codecHooks) {\n\tconst like = columnLike(column);\n\tconst typeSql = buildColumnTypeSql(like, codecHooks, {});\n\tconst ddlDefault = postgresDefaultToDdlColumnDefault(like.default);\n\treturn contractFree.col(name, typeSql, {\n\t\t...!column.nullable ? { notNull: true } : {},\n\t\t...ifDefined(\"default\", ddlDefault),\n\t\t...ifDefined(\"codecRef\", column.codecRef)\n\t});\n}\n/**\n* Builds the `ALTER COLUMN … TYPE` operands for an expected column node.\n*/\nfunction renderColumnAlterType(column, codecHooks) {\n\tconst like = columnLike(column);\n\treturn {\n\t\tqualifiedTargetType: buildColumnTypeSql(like, codecHooks, {}, false),\n\t\tformatTypeExpected: buildExpectedFormatType(like, codecHooks, {})\n\t};\n}\n/**\n* Resolves the identity value (monoid neutral element) SQL literal used as\n* the temporary default when adding a NOT-NULL column with no contract\n* default (`notNullAddColumnCallStrategy`'s shared-temp-default backfill).\n* `null` when the column's type has no built-in/codec-provided identity\n* value.\n*/\nfunction resolveColumnTemporaryDefault(column, codecHooks) {\n\treturn resolveIdentityValue(columnLike(column), codecHooks, {});\n}\n/**\n* The column's `SET DEFAULT` clause SQL, resolved from a column-default\n* diff node. `''` when the node carries no resolved default.\n*/\nfunction renderColumnDefaultSql(defaultNode) {\n\tif (defaultNode.resolved === void 0) return \"\";\n\treturn buildColumnDefaultSql(defaultNode.resolved, {\n\t\tnativeType: defaultNode.nativeTypeContext ?? \"\",\n\t\t...ifDefined(\"many\", defaultNode.many)\n\t});\n}\n//#endregion\n//#region src/core/migrations/planner-strategies.ts\n/**\n* Look up a storage table by its explicit namespace coordinate. Returns\n* `undefined` when the namespace has no table by that name (or no such\n* namespace exists). Callers that get `undefined` MUST treat it as an\n* explicit conflict — never silently fall back to a global default\n* schema or a name-only walk, because that footgun would resolve a\n* stale or duplicate table name to whichever namespace the iteration\n* order surfaced first (a real data-loss hazard in multi-namespace\n* contracts where two namespaces can carry the same table name).\n*/\nfunction tableAt(storage, namespaceId, tableName) {\n\tconst ns = storage.namespaces[namespaceId];\n\tif (ns === void 0) return void 0;\n\treturn ns.entries.table?.[tableName];\n}\n/**\n* Recovers the contract namespace id for a DDL schema name embedded in a\n* diff-issue path (`path[1]`). The strategies need the CONTRACT column/table\n* (for codec-hook reads and eligibility probes the retained subsystems still\n* run) even though the issue itself only carries the resolved DDL schema —\n* this is the reverse of `resolveDdlSchemaForNamespace`.\n*/\nfunction namespaceIdForDdlSchema(ctx, ddlSchemaName) {\n\treturn resolveNamespaceIdForDdlSchema(ctx.toContract, ddlSchemaName);\n}\n/** A `not-equal` column issue whose node pair is narrowed to `SqlColumnIR`. */\nfunction columnNodePair(issue) {\n\tconst node = issueNode(issue);\n\tif (node === void 0 || node.nodeKind !== RelationalSchemaNodeKind.column) return void 0;\n\tif (issue.expected === void 0 || issue.actual === void 0) return void 0;\n\treturn {\n\t\texpected: blindCast(issue.expected),\n\t\tactual: blindCast(issue.actual)\n\t};\n}\nconst notNullBackfillCallStrategy = (issues, ctx) => {\n\tif (!ctx.policy.allowedOperationClasses.includes(\"data\")) return { kind: \"no_match\" };\n\tconst matched = [];\n\tconst calls = [];\n\tfor (const issue of issues) {\n\t\tif (issueOutcome(issue) !== \"not-found\") continue;\n\t\tconst node = issueNode(issue);\n\t\tif (node === void 0 || node.nodeKind !== RelationalSchemaNodeKind.column) continue;\n\t\tconst expected = blindCast(issue.expected);\n\t\tif (expected.nullable !== false || expected.resolvedDefault !== void 0) continue;\n\t\tconst ddlSchemaName = issueSchemaName(issue);\n\t\tconst tableName = issueTableName(issue);\n\t\tif (ddlSchemaName === void 0 || tableName === void 0) continue;\n\t\tconst schemaName = emissionSchemaName(ctx, ddlSchemaName);\n\t\tmatched.push(issue);\n\t\tconst ddl = renderColumnDdl(expected.name, expected, ctx.codecHooks);\n\t\tconst nullableSpec = contractFree.col(ddl.name, ddl.type, { ...ddl.codecRef !== void 0 ? { codecRef: ddl.codecRef } : {} });\n\t\tcalls.push(new AddColumnCall(schemaName, tableName, nullableSpec), new DataTransformCall(`backfill-${tableName}-${expected.name}`, `backfill-${tableName}-${expected.name}:check`, `backfill-${tableName}-${expected.name}:run`), new SetNotNullCall(schemaName, tableName, expected.name));\n\t}\n\tif (matched.length === 0) return { kind: \"no_match\" };\n\treturn {\n\t\tkind: \"match\",\n\t\tissues: issues.filter((i) => !matched.includes(i)),\n\t\tcalls,\n\t\trecipe: true\n\t};\n};\nconst SAFE_WIDENINGS = /* @__PURE__ */ new Set([\n\t\"int2→int4\",\n\t\"int2→int8\",\n\t\"int4→int8\",\n\t\"float4→float8\"\n]);\n/**\n* Handles `not-equal` column issues whose TYPE differs. `fromContract` is\n* only supplied by `migration plan` — for reconciliation (`db update` /\n* `db init`, `fromContract === null`) this strategy never fires, mirroring\n* the legacy `typeChangeCallStrategy`'s requirement of a prior contract:\n* `mapNodeIssueToCall`'s in-place ALTER covers reconciliation directly.\n*\n* A single node issue can carry BOTH type and nullability drift (Postgres\n* alters in place, so the differ emits one `not-equal` column issue where\n* the legacy coordinate walk emitted two: `type_mismatch` +\n* `nullability_mismatch`). When this strategy consumes the issue for its\n* type portion, it also emits whatever nullability delta the same node pair\n* carries — using the same construction `nullableTighteningCallStrategy` /\n* the mapper's direct dispatch would have used — so the issue is never\n* partially handled.\n*/\nconst typeChangeCallStrategy = (issues, ctx) => {\n\tif (ctx.fromContract === null) return { kind: \"no_match\" };\n\tconst dataAllowed = ctx.policy.allowedOperationClasses.includes(\"data\");\n\tconst matched = [];\n\tconst calls = [];\n\tfor (const issue of issues) {\n\t\tif (issueOutcome(issue) !== \"not-equal\") continue;\n\t\tconst pair = columnNodePair(issue);\n\t\tif (pair === void 0) continue;\n\t\tconst { expected, actual } = pair;\n\t\tif (!columnTypeChangedNativeOnly(expected, actual)) continue;\n\t\tconst fromType = actual.nativeType;\n\t\tconst toType = expected.nativeType;\n\t\tconst isSafeWidening = SAFE_WIDENINGS.has(`${fromType}→${toType}`);\n\t\tif (!isSafeWidening && !dataAllowed) continue;\n\t\tconst ddlSchemaName = issueSchemaName(issue);\n\t\tconst tableName = issueTableName(issue);\n\t\tif (ddlSchemaName === void 0 || tableName === void 0) continue;\n\t\tconst schemaName = emissionSchemaName(ctx, ddlSchemaName);\n\t\tmatched.push(issue);\n\t\tconst { qualifiedTargetType, formatTypeExpected } = renderColumnAlterType(expected, ctx.codecHooks);\n\t\tconst alterOpts = {\n\t\t\tqualifiedTargetType,\n\t\t\tformatTypeExpected,\n\t\t\trawTargetTypeForLabel: qualifiedTargetType\n\t\t};\n\t\tif (isSafeWidening) calls.push(new AlterColumnTypeCall(schemaName, tableName, expected.name, alterOpts));\n\t\telse calls.push(new DataTransformCall(`typechange-${tableName}-${expected.name}`, `typechange-${tableName}-${expected.name}:check`, `typechange-${tableName}-${expected.name}:run`), new AlterColumnTypeCall(schemaName, tableName, expected.name, alterOpts));\n\t\tif (expected.nullable !== actual.nullable) if (expected.nullable) calls.push(new DropNotNullCall(schemaName, tableName, expected.name));\n\t\telse if (dataAllowed) calls.push(new DataTransformCall(`handle-nulls-${tableName}-${expected.name}`, `handle-nulls-${tableName}-${expected.name}:check`, `handle-nulls-${tableName}-${expected.name}:run`), new SetNotNullCall(schemaName, tableName, expected.name));\n\t\telse calls.push(new SetNotNullCall(schemaName, tableName, expected.name));\n\t}\n\tif (matched.length === 0) return { kind: \"no_match\" };\n\treturn {\n\t\tkind: \"match\",\n\t\tissues: issues.filter((i) => !matched.includes(i)),\n\t\tcalls,\n\t\trecipe: true\n\t};\n};\n/**\n* Whether the raw (unresolved) native type differs — the SAME comparison\n* `typeChangeCallStrategy` always used (`fromColumn.nativeType !==\n* toColumn.nativeType`), which for the widenable numeric/float types\n* `SAFE_WIDENINGS` lists is identical to the resolved comparison\n* `columnTypeChanged` (in `issue-planner.ts`) performs.\n*/\nfunction columnTypeChangedNativeOnly(expected, actual) {\n\treturn expected.nativeType !== actual.nativeType;\n}\n/**\n* Handles `not-equal` column issues whose type did NOT change but\n* nullability tightened (contract requires NOT NULL, live column is\n* nullable). A type-changed issue's nullability delta (if any) is already\n* handled by `typeChangeCallStrategy`, which runs first — this strategy\n* only ever sees issues that strategy left behind.\n*/\nconst nullableTighteningCallStrategy = (issues, ctx) => {\n\tif (!ctx.policy.allowedOperationClasses.includes(\"data\")) return { kind: \"no_match\" };\n\tconst matched = [];\n\tconst calls = [];\n\tfor (const issue of issues) {\n\t\tif (issueOutcome(issue) !== \"not-equal\") continue;\n\t\tconst pair = columnNodePair(issue);\n\t\tif (pair === void 0) continue;\n\t\tconst { expected, actual } = pair;\n\t\tif (columnTypeChangedNativeOnly(expected, actual)) continue;\n\t\tif (expected.nullable !== false || actual.nullable !== true) continue;\n\t\tconst ddlSchemaName = issueSchemaName(issue);\n\t\tconst tableName = issueTableName(issue);\n\t\tif (ddlSchemaName === void 0 || tableName === void 0) continue;\n\t\tconst schemaName = emissionSchemaName(ctx, ddlSchemaName);\n\t\tmatched.push(issue);\n\t\tcalls.push(new DataTransformCall(`handle-nulls-${tableName}-${expected.name}`, `handle-nulls-${tableName}-${expected.name}:check`, `handle-nulls-${tableName}-${expected.name}:run`), new SetNotNullCall(schemaName, tableName, expected.name));\n\t}\n\tif (matched.length === 0) return { kind: \"no_match\" };\n\treturn {\n\t\tkind: \"match\",\n\t\tissues: issues.filter((i) => !matched.includes(i)),\n\t\tcalls,\n\t\trecipe: true\n\t};\n};\n/**\n* Dispatches codec-typed storage types through their codec's\n* `planTypeOperations` hook (the authoritative source for codec-driven DDL\n* such as custom type creation). Codec extension/type ops are not modeled as\n* diff nodes — this strategy drives entirely off `ctx.toContract.storage.types`\n* + codec hooks, consuming nothing from the node issue list (there is no\n* node-vocabulary equivalent of `type_missing` / `enum_values_changed`).\n*/\nconst storageTypePlanCallStrategy = (issues, ctx) => {\n\tconst storageTypes = ctx.toContract.storage.types ?? {};\n\tif (Object.keys(storageTypes).length === 0) return { kind: \"no_match\" };\n\tconst calls = [];\n\tfor (const [typeName, typeInstance] of Object.entries(storageTypes).sort(([a], [b]) => a.localeCompare(b))) {\n\t\tconst codecInstance = typeInstance;\n\t\tconst hook = ctx.codecHooks.get(codecInstance.codecId);\n\t\tif (!hook?.planTypeOperations) continue;\n\t\tconst planResult = hook.planTypeOperations({\n\t\t\ttypeName,\n\t\t\ttypeInstance: codecInstance,\n\t\t\tcontract: ctx.toContract,\n\t\t\tschema: ctx.schema,\n\t\t\tschemaName: ctx.schemaName,\n\t\t\tpolicy: ctx.policy\n\t\t});\n\t\tif (!planResult) continue;\n\t\tfor (const op of planResult.operations) calls.push(new RawSqlCall({\n\t\t\t...op,\n\t\t\ttarget: {\n\t\t\t\tid: op.target.id,\n\t\t\t\tdetails: buildTargetDetails(\"type\", typeName, ctx.schemaName)\n\t\t\t}\n\t\t}));\n\t}\n\tif (calls.length === 0) return { kind: \"no_match\" };\n\treturn {\n\t\tkind: \"match\",\n\t\tissues,\n\t\tcalls\n\t};\n};\n/**\n* Handles `not-found` column issues for NOT NULL columns without a contract\n* default. Replaces the legacy `buildAddColumnItem` non-default branches.\n*\n* Two shapes:\n* - Shared-temp-default safe: emit a single atomic composite op (add\n* nullable → backfill identity value → `SET NOT NULL` → `DROP DEFAULT`).\n* The temp-default value is resolved from the column node's `codecRef`\n* (`resolveColumnTemporaryDefault`, wrapping `resolveIdentityValue`).\n* - Empty-table guarded: emit a hand-built op with a `tableIsEmptyCheck`\n* precheck so the failure message is \"table is not empty\" rather than the\n* raw PG NOT NULL violation.\n*\n* \"Normal\" not-found column cases (nullable or has a contract default) are\n* left for `mapNodeIssueToCall`'s default `AddColumnCall` emission.\n*/\nconst notNullAddColumnCallStrategy = (issues, ctx) => {\n\tconst matched = [];\n\tconst calls = [];\n\tconst schemaLookups = buildSchemaLookupMap(ctx.schema);\n\tconst mutableCodecHooks = ctx.codecHooks;\n\tconst mutableStorageTypes = ctx.storageTypes;\n\tfor (const issue of issues) {\n\t\tif (issueOutcome(issue) !== \"not-found\") continue;\n\t\tconst node = issueNode(issue);\n\t\tif (node === void 0 || node.nodeKind !== RelationalSchemaNodeKind.column) continue;\n\t\tconst expected = blindCast(issue.expected);\n\t\tif (expected.nullable !== false || expected.resolvedDefault !== void 0) continue;\n\t\tconst ddlSchemaName = issueSchemaName(issue);\n\t\tconst tableName = issueTableName(issue);\n\t\tif (ddlSchemaName === void 0 || tableName === void 0) continue;\n\t\tconst namespaceId = namespaceIdForDdlSchema(ctx, ddlSchemaName);\n\t\tconst schemaName = namespaceId === UNBOUND_NAMESPACE_ID ? UNBOUND_NAMESPACE_ID : ddlSchemaName;\n\t\tconst contractTable = tableAt(ctx.toContract.storage, namespaceId, tableName);\n\t\tconst column = contractTable?.columns[expected.name];\n\t\tif (!contractTable || !column) continue;\n\t\tconst schemaTable = ctx.schema.tables[tableName];\n\t\tif (!schemaTable) continue;\n\t\tconst temporaryDefault = resolveColumnTemporaryDefault(expected, ctx.codecHooks);\n\t\tconst schemaLookup = schemaLookups.get(tableName);\n\t\tconst canUseSharedTempDefault = temporaryDefault !== null && canUseSharedTemporaryDefaultStrategy({\n\t\t\ttable: contractTable,\n\t\t\tschemaTable,\n\t\t\tschemaLookup,\n\t\t\tcolumnName: expected.name\n\t\t});\n\t\tmatched.push(issue);\n\t\tif (canUseSharedTempDefault && temporaryDefault !== null) {\n\t\t\tcalls.push(new AddNotNullColumnWithTempDefaultCall({\n\t\t\t\tschemaName,\n\t\t\t\ttableName,\n\t\t\t\tcolumnName: expected.name,\n\t\t\t\tcolumn,\n\t\t\t\tcodecHooks: mutableCodecHooks,\n\t\t\t\tstorageTypes: mutableStorageTypes,\n\t\t\t\ttemporaryDefault\n\t\t\t}));\n\t\t\tcontinue;\n\t\t}\n\t\tcalls.push(new AddNotNullColumnDirectCall(schemaName, tableName, expected.name, renderColumnDdl(expected.name, expected, ctx.codecHooks)));\n\t}\n\tif (matched.length === 0) return { kind: \"no_match\" };\n\treturn {\n\t\tkind: \"match\",\n\t\tissues: issues.filter((i) => !matched.includes(i)),\n\t\tcalls\n\t};\n};\nfunction canUseSharedTemporaryDefaultStrategy(options) {\n\tconst { table, schemaTable, schemaLookup, columnName } = options;\n\tif (table.primaryKey?.columns.includes(columnName) && !schemaTable.primaryKey) return false;\n\tfor (const unique of table.uniques) {\n\t\tif (!unique.columns.includes(columnName)) continue;\n\t\tif (!schemaLookup || !hasUniqueConstraint(schemaLookup, unique.columns)) return false;\n\t}\n\tfor (const foreignKey of table.foreignKeys) {\n\t\tif (!foreignKey.source.columns.includes(columnName)) continue;\n\t\tif (!schemaLookup || !hasForeignKey(schemaLookup, foreignKey)) return false;\n\t}\n\treturn true;\n}\n/**\n* Ordered list of Postgres planner strategies, shared by `migration plan`\n* and `db update` / `db init`. The issue planner runs each strategy in\n* order, letting it consume any issues it handles, and routes whatever's\n* left through `mapNodeIssueToCall`. Behavior diverges purely on\n* `policy.allowedOperationClasses`:\n*\n* - When `'data'` is allowed (`migration plan`), the data-safe strategies\n* (`notNullBackfillCallStrategy`, `typeChangeCallStrategy`,\n* `nullableTighteningCallStrategy`) consume their matching issues and emit\n* `DataTransformCall` placeholders or recipe ops.\n*\n* - When `'data'` is not allowed (`db update` / `db init`), the\n* placeholder-emitting strategies short-circuit to `no_match`, leaving\n* the issue for the downstream strategies (`storageTypePlanCallStrategy`,\n* `notNullAddColumnCallStrategy`) or the `mapNodeIssueToCall` default to\n* handle with direct DDL.\n*\n* Codec-typed storage type entries are dispatched through\n* `storageTypePlanCallStrategy`.\n*/\nconst postgresPlannerStrategies = [\n\tnotNullBackfillCallStrategy,\n\ttypeChangeCallStrategy,\n\tnullableTighteningCallStrategy,\n\tstorageTypePlanCallStrategy,\n\tnotNullAddColumnCallStrategy\n];\n//#endregion\n//#region src/core/migrations/issue-planner.ts\nfunction issueConflict(kind, summary, location) {\n\treturn {\n\t\tkind,\n\t\tsummary,\n\t\twhy: \"Use `migration new` to author a custom migration for this change.\",\n\t\t...location ? { location } : {}\n\t};\n}\n/**\n* Classifies calls into DDL sequencing buckets. The order matches the\n* legacy walk-schema planner's emission order so `db init` and `db update`\n* produce byte-identical plans for the shared shape (deps → drops → tables\n* → columns → alters → PKs → uniques → indexes → FKs).\n*\n* `dropType` (DROP TYPE for a managed native enum) is its own bucket, ordered\n* after the general drop bucket: a type can only be dropped once every table\n* whose column uses it is gone. A column→enum edge would make this precise,\n* but `coalesceSubtreeIssues` removes the column issue under a whole-table\n* drop, so the edge never reaches the graph; the coarse bucket stands in until\n* that edge lands (the coordinate work is a later slice).\n*/\nfunction classifyCall(call) {\n\tswitch (call.factoryName) {\n\t\tcase \"createExtension\":\n\t\tcase \"createSchema\":\n\t\tcase \"createNativeEnumType\":\n\t\tcase \"addNativeEnumValue\": return \"dep\";\n\t\tcase \"dropNativeEnumType\": return \"dropType\";\n\t\tcase \"dropTable\":\n\t\tcase \"dropColumn\":\n\t\tcase \"dropConstraint\":\n\t\tcase \"dropCheckConstraint\":\n\t\tcase \"dropIndex\":\n\t\tcase \"dropDefault\": return \"drop\";\n\t\tcase \"addCheckConstraint\": return \"unique\";\n\t\tcase \"createTable\": return \"table\";\n\t\tcase \"enableRowLevelSecurity\":\n\t\tcase \"disableRowLevelSecurity\": return \"rlsEnable\";\n\t\tcase \"createRlsPolicy\": return \"rlsPolicy\";\n\t\tcase \"dropRlsPolicy\": return \"drop\";\n\t\tcase \"addColumn\": return \"column\";\n\t\tcase \"alterColumnType\":\n\t\tcase \"setNotNull\":\n\t\tcase \"dropNotNull\":\n\t\tcase \"setDefault\": return \"alter\";\n\t\tcase \"addPrimaryKey\": return \"primaryKey\";\n\t\tcase \"addUnique\": return \"unique\";\n\t\tcase \"createIndex\":\n\t\tcase \"renameIndex\": return \"index\";\n\t\tcase \"addForeignKey\": return \"foreignKey\";\n\t\tcase \"rawSql\":\n\t\t\tif (call.op?.target?.details?.objectType === \"type\") return \"dep\";\n\t\t\treturn \"alter\";\n\t\tdefault: return \"alter\";\n\t}\n}\nconst DEFAULT_POLICY = { allowedOperationClasses: [\n\t\"additive\",\n\t\"widening\",\n\t\"destructive\",\n\t\"data\"\n] };\nfunction emptySchemaIR() {\n\treturn new SqlSchemaIR({ tables: {} });\n}\nfunction conflictKindForCall(call) {\n\tswitch (call.factoryName) {\n\t\tcase \"alterColumnType\": return \"typeMismatch\";\n\t\tcase \"setNotNull\":\n\t\tcase \"dropNotNull\": return \"nullabilityConflict\";\n\t\tcase \"addForeignKey\":\n\t\tcase \"dropConstraint\": return \"foreignKeyConflict\";\n\t\tcase \"createIndex\":\n\t\tcase \"renameIndex\":\n\t\tcase \"dropIndex\": return \"indexIncompatible\";\n\t\tcase \"createRlsPolicy\":\n\t\tcase \"dropRlsPolicy\":\n\t\tcase \"renameRlsPolicy\": return \"rlsPolicyIncompatible\";\n\t\tdefault: return \"missingButNonAdditive\";\n\t}\n}\nfunction locationForCall(call) {\n\tconst anyCall = call;\n\tconst location = {};\n\tif (anyCall.tableName) {\n\t\tlocation.entityKind = \"table\";\n\t\tlocation.entityName = anyCall.tableName;\n\t} else if (anyCall.typeName) {\n\t\tlocation.entityKind = \"native_enum\";\n\t\tlocation.entityName = anyCall.typeName;\n\t}\n\tif (anyCall.columnName) location.column = anyCall.columnName;\n\tif (anyCall.indexName) location.index = anyCall.indexName;\n\telse if (anyCall.newIndexName) location.index = anyCall.newIndexName;\n\tif (anyCall.constraintName) location.constraint = anyCall.constraintName;\n\tif (anyCall.policyName) location.rlsPolicy = anyCall.policyName;\n\telse if (anyCall.policy?.name) location.rlsPolicy = anyCall.policy.name;\n\telse if (anyCall.newPolicyName) location.rlsPolicy = anyCall.newPolicyName;\n\treturn Object.keys(location).length > 0 ? location : void 0;\n}\nfunction conflictForDisallowedCall(call, allowed) {\n\tconst summary = `Operation \"${call.label}\" requires class \"${call.operationClass}\", but policy allows only: ${allowed.join(\", \")}`;\n\tconst location = locationForCall(call);\n\treturn {\n\t\tkind: conflictKindForCall(call),\n\t\tsummary,\n\t\twhy: \"Use `migration new` to author a custom migration for this change.\",\n\t\t...location ? { location } : {}\n\t};\n}\n/** The diff node an issue concerns — expected when present, else the actual (extra) node. */\nfunction issueNode(issue) {\n\tconst node = issue.expected ?? issue.actual;\n\tif (node === void 0) return void 0;\n\treturn blindCast(node);\n}\n/** DDL schema segment of a table-or-descendant issue path: `[database, ddlSchema, table, …]`. */\nfunction issueSchemaName(issue) {\n\treturn issue.path[1];\n}\n/** Table segment of a table-or-descendant issue path: `[database, ddlSchema, table, …]`. */\nfunction issueTableName(issue) {\n\treturn issue.path[2];\n}\n/** Column name embedded in a column/default issue path segment (`column:<name>`). */\nfunction issueColumnName(issue) {\n\tconst segment = issue.path[3];\n\tif (segment === void 0 || !segment.startsWith(\"column:\")) return void 0;\n\treturn segment.slice(7);\n}\n/**\n* The DDL schema name to use when EMITTING an op against `ddlSchemaName` (the\n* diff tree's resolved physical schema, `issueSchemaName(issue)`). The\n* unbound namespace's diff-tree identity resolves to `public` (a concrete\n* physical default the differ needs in order to compare its tree against\n* introspection — `resolveDdlSchemaForNamespaceStorage`), but DDL EMISSION\n* must stay unqualified so the live connection's `search_path` resolves it\n* at runtime (`boundSchema`). Recovers the logical namespace id via the\n* contract and substitutes the unbound sentinel back in when it resolves\n* there; every other namespace's `ddlSchemaName` already agrees between the\n* two resolution paths, so it passes through unchanged.\n*/\nfunction emissionSchemaName(ctx, ddlSchemaName) {\n\treturn resolveNamespaceIdForDdlSchema(ctx.toContract, ddlSchemaName) === UNBOUND_NAMESPACE_ID ? UNBOUND_NAMESPACE_ID : ddlSchemaName;\n}\n/** Whether the expected/actual native type (resolved, or raw+many fallback) differs — mirrors `SqlColumnIR.isEqualTo`'s type comparison. */\nfunction columnTypeChanged(expected, actual) {\n\tif (expected.resolvedNativeType !== void 0 && actual.resolvedNativeType !== void 0) return expected.resolvedNativeType !== actual.resolvedNativeType;\n\treturn expected.nativeType !== actual.nativeType || Boolean(expected.many) !== Boolean(actual.many);\n}\n/**\n* The generic differ is total: a missing/extra table (or column) emits an\n* issue for itself AND for every node in its subtree. `CreateTable`/`DropTable`\n* and `AddColumn`/`DropColumn` already account for the whole subtree, so the\n* nested issues are redundant — coalescing drops any issue whose path is a\n* strict descendant of a `not-found`/`not-expected` issue's path. Run over the\n* relational subset ONLY (policy issues and synthesized namespace issues are\n* handled on their own paths, never coalesced against tables).\n*/\nfunction coalesceSubtreeIssues(issues) {\n\tconst collapsingPaths = issues.filter((issue) => issueOutcome(issue) !== \"not-equal\").map((issue) => issue.path);\n\tif (collapsingPaths.length === 0) return issues;\n\treturn issues.filter((issue) => !collapsingPaths.some((ancestor) => isStrictDescendantPath(issue.path, ancestor)));\n}\nfunction isStrictDescendantPath(path, ancestor) {\n\tif (path.length <= ancestor.length) return false;\n\tfor (let i = 0; i < ancestor.length; i += 1) if (path[i] !== ancestor[i]) return false;\n\treturn true;\n}\nfunction fkSpecFromNode(fk, tableName) {\n\treturn {\n\t\tname: fk.name ?? `${tableName}_${fk.columns.join(\"_\")}_fkey`,\n\t\tcolumns: [...fk.columns],\n\t\treferences: {\n\t\t\tschema: fk.referencedSchema ?? \"\",\n\t\t\ttable: fk.referencedTable,\n\t\t\tcolumns: [...fk.referencedColumns]\n\t\t},\n\t\t...ifDefined(\"onDelete\", fk.onDelete),\n\t\t...ifDefined(\"onUpdate\", fk.onUpdate)\n\t};\n}\n/**\n* Builds the `CreateTable` + child `CreateIndex` / `AddForeignKey` / `AddUnique`\n* calls for a newly-expected table, reading only the table node's children. The\n* PK and every declared CHECK go inline as table constraints; indexes\n* (declared + FK-backing, already merged and ordered at derivation) and the\n* FK / unique constraints are separate calls (re-bucketed downstream). Every\n* column's DDL is resolved from its `codecRef` via `renderColumnDdl`.\n*/\nfunction buildCreateTableCallsFromNode(schemaName, ddlSchemaName, table, codecHooks) {\n\tconst ddlColumns = Object.values(table.columns).map((c) => renderColumnDdl(c.name, c, codecHooks));\n\tconst primaryKeyConstraints = table.primaryKey ? [contractFree.primaryKey([...table.primaryKey.columns], { ...ifDefined(\"name\", table.primaryKey.name) })] : [];\n\tconst declaredChecks = (table.checks ?? []).map((c) => contractFree.checkExpression(c.name, c.expression));\n\tconst allTableConstraints = [...primaryKeyConstraints, ...declaredChecks];\n\tconst calls = [new CreateTableCall(schemaName, table.name, ddlColumns, allTableConstraints.length > 0 ? allTableConstraints : void 0)];\n\tfor (const index of table.indexes) calls.push(createIndexCallFromNode(index, schemaName, table.name));\n\tfor (const fk of table.foreignKeys) calls.push(new AddForeignKeyCall(schemaName, table.name, fkSpecFromNode(fk, table.name)));\n\tfor (const unique of table.uniques) {\n\t\tconst constraintName = unique.name ?? `${table.name}_${unique.columns.join(\"_\")}_key`;\n\t\tcalls.push(new AddUniqueCall(schemaName, table.name, constraintName, [...unique.columns]));\n\t}\n\tif (table.rlsEnabled) calls.push(new EnableRowLevelSecurityCall(ddlSchemaName, table.name));\n\treturn calls;\n}\nfunction nodeConflict(kind, message) {\n\treturn issueConflict(kind, message);\n}\n/**\n* True when `actualMembers` (the live database's ordered members) is a\n* strict, order-preserving prefix of `expectedMembers` (the contract's) —\n* the database already carries every contract member, in declaration\n* order, and the contract declares at least one member the database still\n* lacks. Any other relationship — a renamed value, a removed value, a\n* reordering, or the database holding members the contract lacks — is not\n* a suffix append.\n*/\nfunction isNativeEnumSuffixAppend(actualMembers, expectedMembers) {\n\tif (actualMembers.length >= expectedMembers.length) return false;\n\treturn actualMembers.every((member, index) => member === expectedMembers[index]);\n}\n/** Operator-worded refusal for a native-enum member change beyond a suffix append (design ruling — tests match this verbatim). */\nfunction nativeEnumMemberChangeRefusal(options) {\n\treturn `Native enum type \"${options.ddlSchemaName}\".\"${options.typeName}\" changed beyond appending new values (contract declares [${options.expectedMembers.join(\", \")}], database has [${options.actualMembers.join(\", \")}]). Prisma Next does not modify a native enum's existing values (rename, removal, reorder) — see https://pris.ly/d/postgres-native-enums. Author the change manually with \\`migration new\\`.`;\n}\n/**\n* Managed native-enum issue -> op lowering. A missing declared type creates\n* it; an unclaimed live type drops it (ownership-scoped upstream by\n* `retainUnownedExtras`, destructiveness gated by the operation-class\n* policy); a paired member-value mismatch lowers to one `ALTER TYPE ... ADD\n* VALUE` per appended member when the database's members are a strict,\n* order-preserving prefix of the contract's — any other change (rename,\n* removal, reorder, or the database holding members the contract lacks) is\n* refused with a NAMED diagnostic, never a silent no-op and never a\n* drop-and-recreate.\n*/\nfunction mapNativeEnumNodeIssue(issue, ctx) {\n\tconst ddlSchemaName = issueSchemaName(issue);\n\tif (ddlSchemaName === void 0) return notOk(nodeConflict(\"unsupportedOperation\", `Enum issue has no schema in its path: ${issue.path.join(\"/\")}`));\n\tconst schemaName = emissionSchemaName(ctx, ddlSchemaName);\n\tif (issueOutcome(issue) === \"not-found\") {\n\t\tconst expected = blindCast(issue.expected);\n\t\treturn ok([new CreateNativeEnumTypeCall(schemaName, expected.typeName, expected.members)]);\n\t}\n\tif (issueOutcome(issue) === \"not-expected\") return ok([new DropNativeEnumTypeCall(schemaName, blindCast(issue.actual).typeName)]);\n\tconst expected = blindCast(issue.expected);\n\tconst actual = blindCast(issue.actual);\n\tif (isNativeEnumSuffixAppend(actual.members, expected.members)) return ok(expected.members.slice(actual.members.length).map((value) => new AddNativeEnumValueCall(schemaName, expected.typeName, value)));\n\treturn notOk(nodeConflict(\"unsupportedOperation\", nativeEnumMemberChangeRefusal({\n\t\tddlSchemaName,\n\t\ttypeName: expected.typeName,\n\t\texpectedMembers: expected.members,\n\t\tactualMembers: actual.members\n\t})));\n}\nfunction mapTableNodeIssue(issue, schemaName, ddlSchemaName, codecHooks) {\n\tif (issueOutcome(issue) === \"not-found\") return ok(buildCreateTableCallsFromNode(schemaName, ddlSchemaName, blindCast(issue.expected), codecHooks));\n\tif (issueOutcome(issue) === \"not-expected\") return ok([new DropTableCall(schemaName, blindCast(issue.actual).name)]);\n\tconst expected = blindCast(issue.expected);\n\tconst actual = blindCast(issue.actual);\n\tif (expected.rlsEnabled && !actual.rlsEnabled) return ok([new EnableRowLevelSecurityCall(ddlSchemaName, expected.name)]);\n\tif (!expected.rlsEnabled && actual.rlsEnabled) return ok([new DisableRowLevelSecurityCall(ddlSchemaName, expected.name)]);\n\treturn notOk(nodeConflict(\"unsupportedOperation\", `unhandled table-attribute drift on \"${expected.name}\": table not-equal with no rlsEnabled delta (a second table attribute drifted)`));\n}\nfunction mapColumnNodeIssue(issue, schemaName, tableName, codecHooks) {\n\tif (issueOutcome(issue) === \"not-found\") {\n\t\tconst column = blindCast(issue.expected);\n\t\treturn ok([new AddColumnCall(schemaName, tableName, renderColumnDdl(column.name, column, codecHooks))]);\n\t}\n\tif (issueOutcome(issue) === \"not-expected\") return ok([new DropColumnCall(schemaName, tableName, blindCast(issue.actual).name)]);\n\tconst expected = blindCast(issue.expected);\n\tconst actual = blindCast(issue.actual);\n\tconst calls = [];\n\tif (columnTypeChanged(expected, actual)) {\n\t\tconst { qualifiedTargetType, formatTypeExpected } = renderColumnAlterType(expected, codecHooks);\n\t\tcalls.push(new AlterColumnTypeCall(schemaName, tableName, expected.name, {\n\t\t\tqualifiedTargetType,\n\t\t\tformatTypeExpected,\n\t\t\trawTargetTypeForLabel: qualifiedTargetType\n\t\t}));\n\t}\n\tif (expected.nullable !== actual.nullable) calls.push(expected.nullable ? new DropNotNullCall(schemaName, tableName, expected.name) : new SetNotNullCall(schemaName, tableName, expected.name));\n\treturn ok(calls);\n}\nfunction mapColumnDefaultNodeIssue(issue, schemaName, tableName, columnName) {\n\tif (issueOutcome(issue) === \"not-expected\") return ok([new DropDefaultCall(schemaName, tableName, columnName)]);\n\tif (issue.expected === void 0) return ok([]);\n\tconst defaultSql = renderColumnDefaultSql(blindCast(issue.expected));\n\tif (!defaultSql) return ok([]);\n\treturn ok([new SetDefaultCall(schemaName, tableName, columnName, defaultSql, issueOutcome(issue) === \"not-equal\" ? \"widening\" : \"additive\")]);\n}\nfunction mapPrimaryKeyNodeIssue(issue, schemaName, tableName) {\n\tif (issueOutcome(issue) === \"not-found\") {\n\t\tconst pk = blindCast(issue.expected);\n\t\treturn ok([new AddPrimaryKeyCall(schemaName, tableName, pk.name ?? `${tableName}_pkey`, [...pk.columns])]);\n\t}\n\tif (issueOutcome(issue) === \"not-expected\") return ok([new DropConstraintCall(schemaName, tableName, blindCast(issue.actual).name ?? `${tableName}_pkey`, \"primaryKey\")]);\n\treturn notOk(nodeConflict(\"indexIncompatible\", issue.path.join(\"/\")));\n}\nfunction mapForeignKeyNodeIssue(issue, schemaName, tableName) {\n\tif (issueOutcome(issue) === \"not-found\") return ok([new AddForeignKeyCall(schemaName, tableName, fkSpecFromNode(blindCast(issue.expected), tableName))]);\n\tif (issueOutcome(issue) === \"not-expected\") {\n\t\tconst fk = blindCast(issue.actual);\n\t\treturn ok([new DropConstraintCall(schemaName, tableName, fk.name ?? `${tableName}_${fk.columns.join(\"_\")}_fkey`, \"foreignKey\")]);\n\t}\n\treturn notOk(nodeConflict(\"foreignKeyConflict\", issue.path.join(\"/\")));\n}\nfunction mapUniqueNodeIssue(issue, schemaName, tableName) {\n\tif (issueOutcome(issue) === \"not-found\") {\n\t\tconst unique = blindCast(issue.expected);\n\t\treturn ok([new AddUniqueCall(schemaName, tableName, unique.name ?? `${tableName}_${unique.columns.join(\"_\")}_key`, [...unique.columns])]);\n\t}\n\tif (issueOutcome(issue) === \"not-expected\") {\n\t\tconst unique = blindCast(issue.actual);\n\t\treturn ok([new DropConstraintCall(schemaName, tableName, unique.name ?? `${tableName}_${unique.columns.join(\"_\")}_key`, \"unique\")]);\n\t}\n\treturn notOk(nodeConflict(\"indexIncompatible\", issue.path.join(\"/\")));\n}\n/**\n* The CreateIndexCall for a name-identified index node: the node's own name\n* verbatim, its element list (column tuple or opaque expression), and the\n* unique/type/options/where attributes carried through.\n*/\nfunction createIndexCallFromNode(index, schemaName, tableName) {\n\tconst extras = {};\n\tif (index.type !== void 0) extras.type = index.type;\n\tif (index.options !== void 0) extras.options = index.options;\n\tif (index.where !== void 0) extras.where = index.where;\n\tif (index.unique) extras.unique = true;\n\treturn new CreateIndexCall(schemaName, tableName, index.name, index.columns !== void 0 ? { columns: [...index.columns] } : { expression: index.expression ?? \"\" }, extras);\n}\nfunction mapIndexNodeIssue(issue, schemaName, tableName) {\n\tif (issueOutcome(issue) === \"not-found\") return ok([createIndexCallFromNode(blindCast(issue.expected), schemaName, tableName)]);\n\tif (issueOutcome(issue) === \"not-expected\") return ok([new DropIndexCall(schemaName, tableName, blindCast(issue.actual).name)]);\n\treturn notOk(nodeConflict(\"indexIncompatible\", issue.path.join(\"/\")));\n}\n/**\n* The index treatment: a missing check is added, an undeclared live check is\n* dropped, and a paired divergence is a conflict. `not-equal` is reachable only\n* for an exact-named expected check — a wire-named one compares by name, so a\n* changed predicate re-suffixes the name and arrives as missing + extra\n* instead.\n*/\nfunction mapCheckNodeIssue(issue, schemaName, tableName) {\n\tif (issueOutcome(issue) === \"not-found\") {\n\t\tconst check = blindCast(issue.expected);\n\t\treturn ok([new AddCheckConstraintCall(schemaName, tableName, check.name, check.expression)]);\n\t}\n\tif (issueOutcome(issue) === \"not-expected\") return ok([new DropCheckConstraintCall(schemaName, tableName, blindCast(issue.actual).name)]);\n\treturn notOk(nodeConflict(\"unsupportedOperation\", issue.path.join(\"/\")));\n}\n/**\n* Maps one node-typed diff issue to its migration call(s), dispatching on the\n* node's `nodeKind` and the issue's presence-derived `issueOutcome`, reading\n* nodes and resolving column DDL from `codecRef` via `column-ddl-rendering.ts`.\n*/\nfunction mapNodeIssueToCall(issue, ctx) {\n\tconst node = issueNode(issue);\n\tif (node === void 0) return notOk(nodeConflict(\"unsupportedOperation\", `Issue carries neither an expected nor an actual node: ${issue.path.join(\"/\")}`));\n\tif (node.nodeKind === PostgresSchemaNodeKind.namespace) {\n\t\tif (issueOutcome(issue) !== \"not-found\") return notOk(nodeConflict(\"unsupportedOperation\", `Unexpected namespace drift: ${issue.path.join(\"/\")}`));\n\t\treturn ok([new CreateSchemaCall(blindCast(issue.expected).schemaName)]);\n\t}\n\tif (node.nodeKind === PostgresSchemaNodeKind.nativeEnum) return mapNativeEnumNodeIssue(issue, ctx);\n\tconst ddlSchemaName = issueSchemaName(issue);\n\tconst tableName = issueTableName(issue);\n\tif (ddlSchemaName === void 0 || tableName === void 0) return notOk(nodeConflict(\"unsupportedOperation\", `Issue has no schema/table in its path: ${issue.path.join(\"/\")}`));\n\tconst schemaName = emissionSchemaName(ctx, ddlSchemaName);\n\tswitch (node.nodeKind) {\n\t\tcase PostgresSchemaNodeKind.table: return mapTableNodeIssue(issue, schemaName, ddlSchemaName, ctx.codecHooks);\n\t\tcase RelationalSchemaNodeKind.column: return mapColumnNodeIssue(issue, schemaName, tableName, ctx.codecHooks);\n\t\tcase RelationalSchemaNodeKind.columnDefault: {\n\t\t\tconst columnName = issueColumnName(issue);\n\t\t\tif (columnName === void 0) return notOk(nodeConflict(\"unsupportedOperation\", `Default issue has no column in its path: ${issue.path.join(\"/\")}`));\n\t\t\treturn mapColumnDefaultNodeIssue(issue, schemaName, tableName, columnName);\n\t\t}\n\t\tcase RelationalSchemaNodeKind.primaryKey: return mapPrimaryKeyNodeIssue(issue, schemaName, tableName);\n\t\tcase RelationalSchemaNodeKind.foreignKey: return mapForeignKeyNodeIssue(issue, schemaName, tableName);\n\t\tcase RelationalSchemaNodeKind.unique: return mapUniqueNodeIssue(issue, schemaName, tableName);\n\t\tcase RelationalSchemaNodeKind.index: return mapIndexNodeIssue(issue, schemaName, tableName);\n\t\tcase RelationalSchemaNodeKind.check: return mapCheckNodeIssue(issue, schemaName, tableName);\n\t\tdefault: return notOk(nodeConflict(\"unsupportedOperation\", `Unhandled node kind: ${node.nodeKind}`));\n\t}\n}\n/**\n* Runs the ordered strategy list over the node-typed diff issues, maps\n* leftover issues via {@link mapNodeIssueToCall}, applies operation-class\n* policy gating, and buckets calls into the fixed DDL emission order (dep →\n* drop → table → column → recipe → alter → primaryKey → unique → index →\n* foreignKey).\n*/\nfunction planIssues(options) {\n\tconst policyProvided = options.policy !== void 0;\n\tconst policy = options.policy ?? DEFAULT_POLICY;\n\tconst schema = options.schema ?? emptySchemaIR();\n\tconst frameworkComponents = options.frameworkComponents ?? [];\n\tconst context = {\n\t\ttoContract: options.toContract,\n\t\tfromContract: options.fromContract,\n\t\tschemaName: options.schemaName,\n\t\tcodecHooks: options.codecHooks,\n\t\tstorageTypes: options.storageTypes,\n\t\tschema,\n\t\tpolicy,\n\t\tframeworkComponents\n\t};\n\tconst strategies = options.strategies ?? postgresPlannerStrategies;\n\tlet remaining = options.issues;\n\tconst recipeCalls = [];\n\tconst bucketablePatternCalls = [];\n\tfor (const strategy of strategies) {\n\t\tconst result = strategy(remaining, context);\n\t\tif (result.kind === \"match\") {\n\t\t\tremaining = result.issues;\n\t\t\tif (result.recipe) recipeCalls.push(...result.calls);\n\t\t\telse bucketablePatternCalls.push(...result.calls);\n\t\t}\n\t}\n\tconst sorted = orderIssuesByDependencies(remaining);\n\tconst defaultCalls = [];\n\tconst conflicts = [];\n\tfor (const issue of sorted) {\n\t\tconst result = mapNodeIssueToCall(issue, context);\n\t\tif (result.ok) defaultCalls.push(...result.value);\n\t\telse conflicts.push(result.failure);\n\t}\n\tconst allowed = policy.allowedOperationClasses;\n\tlet gatedDefault = defaultCalls;\n\tlet gatedRecipe = recipeCalls;\n\tlet gatedBucketable = bucketablePatternCalls;\n\tif (policyProvided) {\n\t\tconst keepIfAllowed = (bucket) => (call) => {\n\t\t\tif (allowed.includes(call.operationClass)) {\n\t\t\t\tbucket.push(call);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconflicts.push(conflictForDisallowedCall(call, allowed));\n\t\t};\n\t\tconst gatedDefaultBucket = [];\n\t\tconst gatedRecipeBucket = [];\n\t\tconst gatedBucketableBucket = [];\n\t\tdefaultCalls.forEach(keepIfAllowed(gatedDefaultBucket));\n\t\trecipeCalls.forEach(keepIfAllowed(gatedRecipeBucket));\n\t\tbucketablePatternCalls.forEach(keepIfAllowed(gatedBucketableBucket));\n\t\tgatedDefault = gatedDefaultBucket;\n\t\tgatedRecipe = gatedRecipeBucket;\n\t\tgatedBucketable = gatedBucketableBucket;\n\t}\n\tif (conflicts.length > 0) return notOk(conflicts);\n\tconst combinedBucketable = [...gatedDefault, ...gatedBucketable];\n\tconst byCategory = (cat) => combinedBucketable.filter((c) => classifyCall(c) === cat);\n\treturn ok({ calls: [\n\t\t...byCategory(\"dep\"),\n\t\t...byCategory(\"drop\"),\n\t\t...byCategory(\"dropType\"),\n\t\t...byCategory(\"table\"),\n\t\t...byCategory(\"column\"),\n\t\t...gatedRecipe,\n\t\t...byCategory(\"alter\"),\n\t\t...byCategory(\"primaryKey\"),\n\t\t...byCategory(\"unique\"),\n\t\t...byCategory(\"index\"),\n\t\t...byCategory(\"foreignKey\"),\n\t\t...byCategory(\"rlsEnable\")\n\t] });\n}\n//#endregion\n//#region src/core/migrations/control-policy.ts\n/**\n* Factory calls that create a whole, previously-absent top-level storage\n* object. Used to decide whether `tolerated` permits a call (it only allows\n* creating absent objects, never modifying existing ones).\n*\n* Deliberately an explicit, closed set rather than a `factoryName`\n* create/alter/drop classification: it answers exactly one yes/no question\n* and is fail-closed. Any call not listed here — including future or\n* extension-contributed factories — is treated as NOT object-creation, so it\n* is suppressed under `tolerated` rather than permissively emitted.\n*\n* Lists the creation factories that actually reach the call-side resolver\n* (`resolvePostgresCallControlPolicySubject`) — today only RLS policy\n* creation, from `planPostgresSchemaDiff`. Every other whole-object create\n* (table, schema, native enum, and RLS enablement) is constructed inside\n* `planIssues` and graded on the node side by\n* `resolvePostgresNodeIssueCreationFactoryName`, so none of them are listed\n* here.\n*/\nconst OBJECT_CREATION_FACTORIES = /* @__PURE__ */ new Set([\"createRlsPolicy\"]);\nfunction createsNewTopLevelObject(call) {\n\treturn OBJECT_CREATION_FACTORIES.has(call.factoryName);\n}\nfunction ddlSchemaNameForNamespace(contract, namespaceId) {\n\tconst namespace = contract.storage.namespaces[namespaceId];\n\treturn isPostgresSchema(namespace) ? namespace.ddlSchemaName(contract.storage) : namespaceId;\n}\n/**\n* Resolve the namespace a declared storage entity lives in by walking every\n* namespace for one whose `entries` map actually contains the coordinate —\n* a table by its name, a native enum by its physical type name (see\n* {@link postgresNodeStorageCoordinate}). When `ddlSchemaName` is given, the\n* match must also land in that DDL schema (disambiguates same-named entities\n* declared under different namespaces); when omitted, the first namespace\n* that declares the entity wins. Falls back to {@link UNBOUND_NAMESPACE_ID}\n* when no namespace declares it — e.g. an extra/dropped entity the contract\n* doesn't claim at all.\n*/\nfunction resolveNamespaceIdForEntity(contract, coordinate, ddlSchemaName) {\n\tfor (const namespaceId of Object.keys(contract.storage.namespaces)) {\n\t\tif (!entityAt(contract.storage, {\n\t\t\tnamespaceId,\n\t\t\t...coordinate\n\t\t})) continue;\n\t\tif (ddlSchemaName === void 0 || ddlSchemaNameForNamespace(contract, namespaceId) === ddlSchemaName) return namespaceId;\n\t}\n\treturn UNBOUND_NAMESPACE_ID;\n}\nfunction resolveNamespaceIdForTable(contract, tableName, ddlSchemaName) {\n\treturn resolveNamespaceIdForEntity(contract, {\n\t\tentityKind: \"table\",\n\t\tentityName: tableName\n\t}, ddlSchemaName);\n}\nfunction resolveNamespaceIdForDdlSchema(contract, ddlSchemaName) {\n\tfor (const namespaceId of Object.keys(contract.storage.namespaces)) {\n\t\tconst ns = contract.storage.namespaces[namespaceId];\n\t\tif (isPostgresSchema(ns) && ns.ddlSchemaName(contract.storage) === ddlSchemaName) return namespaceId;\n\t\tif (namespaceId === ddlSchemaName) return namespaceId;\n\t}\n\treturn UNBOUND_NAMESPACE_ID;\n}\nfunction postgresCallFields(call) {\n\treturn {\n\t\t...ifDefined(\"schemaName\", \"schemaName\" in call ? call.schemaName : void 0),\n\t\t...ifDefined(\"tableName\", \"tableName\" in call ? call.tableName : void 0),\n\t\t...ifDefined(\"columnName\", \"columnName\" in call ? call.columnName : void 0)\n\t};\n}\nfunction formatSuppressionSubjectLabel(subject, contract) {\n\tif (subject === void 0) return \"unknown\";\n\tconst ddlSchema = ddlSchemaNameForNamespace(contract, subject.namespaceId);\n\tif (subject.entityKind !== void 0 && subject.entityName !== void 0) {\n\t\tconst entityLabel = `${subject.entityKind} \"${ddlSchema}.${subject.entityName}\"`;\n\t\treturn subject.rlsPolicy !== void 0 ? `RLS policy \"${subject.rlsPolicy}\" on ${entityLabel}` : entityLabel;\n\t}\n\treturn `namespace \"${ddlSchema}\"`;\n}\nfunction postgresSuppressionSummary(subjectLabel, subject, policy) {\n\tconst namespace = subject?.namespaceId ?? \"unknown\";\n\tconst declared = subject?.explicitNodeControlPolicy;\n\tif (policy === \"external\" && declared === \"managed\") return `control policy suppressed: ${subjectLabel} — namespace '${namespace}' has effective control 'external' but declared 'managed'`;\n\treturn `control policy suppressed: ${subjectLabel} — namespace '${namespace}' has effective control '${policy}'${declared ? ` but declared '${declared}'` : \"\"}`;\n}\n/**\n* Render one family {@link SuppressionRecord} into a target `SqlPlannerConflict`.\n* The family decides *that* a subject is suppressed and hands over the raw\n* coordinate + policy; the label, message, and location are rendered here,\n* driven entirely by the subject's own `(entityKind, entityName)` coordinate\n* — no target-owned table-vs-enum vocabulary.\n*/\nfunction renderPostgresSuppression(record, contract) {\n\tconst subject = record.subject;\n\treturn {\n\t\tkind: \"controlPolicySuppressedCall\",\n\t\tsummary: postgresSuppressionSummary(formatSuppressionSubjectLabel(subject, contract), subject, record.policy),\n\t\tlocation: {\n\t\t\t...ifDefined(\"namespaceId\", subject?.namespaceId),\n\t\t\t...ifDefined(\"entityKind\", subject?.entityKind),\n\t\t\t...ifDefined(\"entityName\", subject?.entityName),\n\t\t\t...ifDefined(\"column\", subject?.column),\n\t\t\t...ifDefined(\"rlsPolicy\", subject?.rlsPolicy)\n\t\t},\n\t\tmeta: {\n\t\t\tcontrolPolicy: record.policy,\n\t\t\t...ifDefined(\"factoryName\", record.factoryName),\n\t\t\t...ifDefined(\"rlsPolicy\", subject?.rlsPolicy),\n\t\t\t...ifDefined(\"declaredControlPolicy\", subject?.explicitNodeControlPolicy)\n\t\t}\n\t};\n}\nfunction resolvePostgresCallControlPolicySubject(call, contract) {\n\tconst callFields = postgresCallFields(call);\n\tconst createsNewObject = createsNewTopLevelObject(call);\n\tif (call.factoryName === \"createSchema\" && callFields.schemaName) return {\n\t\tnamespaceId: resolveNamespaceIdForDdlSchema(contract, callFields.schemaName),\n\t\tcreatesNewObject\n\t};\n\tif (callFields.tableName) {\n\t\tconst namespaceId = resolveNamespaceIdForTable(contract, callFields.tableName, callFields.schemaName);\n\t\tconst tableControlPolicy = entityAt(contract.storage, {\n\t\t\tnamespaceId,\n\t\t\tentityKind: \"table\",\n\t\t\tentityName: callFields.tableName\n\t\t})?.control;\n\t\treturn {\n\t\t\tnamespaceId,\n\t\t\tentityKind: \"table\",\n\t\t\tentityName: callFields.tableName,\n\t\t\t...ifDefined(\"column\", callFields.columnName),\n\t\t\t...ifDefined(\"explicitNodeControlPolicy\", tableControlPolicy),\n\t\t\tcreatesNewObject\n\t\t};\n\t}\n\tif (callFields.schemaName) return {\n\t\tnamespaceId: resolveNamespaceIdForDdlSchema(contract, callFields.schemaName),\n\t\tcreatesNewObject\n\t};\n}\n/**\n* Node kinds whose *absence* is the creation of a whole, top-level Postgres\n* object: a namespace, a table, or a native enum. Used by\n* {@link resolvePostgresNodeIssueCreationFactoryName} to decide whether a\n* `tolerated` subject permits the issue to flow into the planner\n* (create-if-absent) and to seed the suppressed-subject warning's\n* `factoryName` when the planner is skipped. RLS policy creation is not\n* listed here — policy issues never reach this issue-based partition (they\n* are routed to `planPostgresSchemaDiff` and gated via the call-based\n* {@link resolvePostgresCallControlPolicySubject} instead).\n*/\nconst POSTGRES_NODE_CREATION_FACTORY = Object.freeze({\n\t[PostgresSchemaNodeKind.namespace]: \"createSchema\",\n\t[PostgresSchemaNodeKind.table]: \"createTable\",\n\t[PostgresSchemaNodeKind.nativeEnum]: \"createNativeEnumType\"\n});\n/**\n* A table `not-equal` issue whose `rlsEnabled` flips OFF→ON (expected on,\n* actual off) is enablement toward `ENABLE ROW LEVEL SECURITY`. It is\n* creation-class on the node side because `isEnablementCreationIssue` and\n* {@link resolvePostgresNodeIssueCreationFactoryName} treat this OFF→ON delta\n* as a creation: enabling RLS establishes the fail-closed guard the declared\n* policy set attaches to, the same grant `tolerated` extends to creating the\n* policies themselves. The opposite direction (`DISABLE`) is a modification\n* and stays managed-only. Keying on the actual delta (not just the expected\n* bit) keeps this correct if a second table attribute ever joins\n* `isEqualTo`: a not-equal with no `rlsEnabled` delta is not enablement, so\n* it is not admitted as creation-class here.\n*/\nfunction isEnablementCreationIssue(issue) {\n\tif (issueOutcome(issue) !== \"not-equal\") return false;\n\tconst { expected, actual } = issue;\n\treturn expected !== void 0 && actual !== void 0 && PostgresTableSchemaNode.is(expected) && PostgresTableSchemaNode.is(actual) && expected.rlsEnabled === true && actual.rlsEnabled === false;\n}\nfunction resolvePostgresNodeIssueCreationFactoryName(issue) {\n\tif (isEnablementCreationIssue(issue)) return \"enableRowLevelSecurity\";\n\tif (issueOutcome(issue) !== \"not-found\") return void 0;\n\tconst node = issue.expected ?? issue.actual;\n\tif (node === void 0) return void 0;\n\treturn POSTGRES_NODE_CREATION_FACTORY[node.nodeKind];\n}\n/**\n* Resolves the control-policy subject for a node-typed {@link SchemaDiffIssue}\n* (the issue-side mirror of `resolvePostgresCallControlPolicySubject`).\n* Storage entities resolve off their node coordinate; a sub-entity issue\n* resolves off the enclosing table read from the issue path; an unclaimed\n* extra falls back to the unbound coordinate. A role always resolves\n* `'external'` — roles are referenced, never owned.\n*/\nfunction resolvePostgresNodeIssueControlPolicySubject(issue, contract) {\n\tconst node = issue.expected ?? issue.actual;\n\tif (node === void 0) return void 0;\n\tif (node.nodeKind === PostgresSchemaNodeKind.namespace) return {\n\t\tnamespaceId: resolveNamespaceIdForDdlSchema(contract, blindCast(node).schemaName),\n\t\tcreatesNewObject: issueOutcome(issue) === \"not-found\"\n\t};\n\tif (node.nodeKind === PostgresSchemaNodeKind.role) {\n\t\tconst roleName = issue.path[1];\n\t\treturn {\n\t\t\tnamespaceId: UNBOUND_NAMESPACE_ID,\n\t\t\texplicitNodeControlPolicy: (roleName === void 0 ? void 0 : entityAt(contract.storage, {\n\t\t\t\tnamespaceId: UNBOUND_NAMESPACE_ID,\n\t\t\t\tentityKind: \"role\",\n\t\t\t\tentityName: roleName\n\t\t\t}))?.control ?? \"external\",\n\t\t\tcreatesNewObject: false\n\t\t};\n\t}\n\tconst coordinate = postgresNodeStorageCoordinate(node);\n\tif (coordinate !== void 0) {\n\t\tconst namespaceId = resolveNamespaceIdForEntity(contract, coordinate, issue.path[1]);\n\t\tconst entityControl = entityAt(contract.storage, {\n\t\t\tnamespaceId,\n\t\t\t...coordinate\n\t\t})?.control;\n\t\treturn {\n\t\t\tnamespaceId,\n\t\t\t...coordinate,\n\t\t\t...ifDefined(\"column\", issueColumnName(issue)),\n\t\t\t...ifDefined(\"explicitNodeControlPolicy\", entityControl),\n\t\t\tcreatesNewObject: resolvePostgresNodeIssueCreationFactoryName(issue) !== void 0\n\t\t};\n\t}\n\tconst tableName = issue.path[2];\n\tif (tableName === void 0) return void 0;\n\tconst ddlSchemaName = issue.path[1];\n\tconst namespaceId = resolveNamespaceIdForTable(contract, tableName, ddlSchemaName);\n\tconst table = entityAt(contract.storage, {\n\t\tnamespaceId,\n\t\tentityKind: \"table\",\n\t\tentityName: tableName\n\t});\n\treturn {\n\t\tnamespaceId,\n\t\tentityKind: \"table\",\n\t\tentityName: tableName,\n\t\t...ifDefined(\"column\", issueColumnName(issue)),\n\t\t...ifDefined(\"explicitNodeControlPolicy\", table?.control),\n\t\tcreatesNewObject: resolvePostgresNodeIssueCreationFactoryName(issue) !== void 0\n\t};\n}\n//#endregion\nexport { resolvePostgresNodeIssueCreationFactoryName as a, issueNode as c, postgresPlannerStrategies as d, postgresNodeStorageCoordinate as f, resolvePostgresNodeIssueControlPolicySubject as i, issueSchemaName as l, resolveNamespaceIdForDdlSchema as n, coalesceSubtreeIssues as o, resolvePostgresCallControlPolicySubject as r, conflictForDisallowedCall as s, renderPostgresSuppression as t, planIssues as u };\n\n//# sourceMappingURL=control-policy-ClKhTn_0.mjs.map"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"op-factory-call-B3DVhHrC-DO122NQy.mjs","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/op-factory-call-B3DVhHrC.mjs"],"sourcesContent":["import { n as postgresError } from \"./errors-kYxOQjdD.mjs\";\nimport { t as DEFAULT_NAMESPACE_ID } from \"./namespace-ids-xtp_ZY86.mjs\";\nimport { a as validateEnumValueLength, i as quoteQualifiedName, r as quoteIdentifier, t as escapeLiteral } from \"./sql-utils-BnBlQxyh.mjs\";\nimport { C as nativeEnumValueExistsAst, D as tableExistsAst, E as rlsPolicyExistsAst, O as tableIsEmptyAst, S as nativeEnumTypeExistsAst, T as rlsEnabledAst, _ as columnNullabilityAst, a as createIndex$1, b as extensionExistsAst, c as createTable, d as dropDefaultAction, f as dropIndex$1, g as columnExistsAst, h as columnDefaultAst, i as alterTable, l as createType, m as dropType, n as alterIndexRename, o as createPolicy, p as dropPolicy, r as alterPolicyRename, s as createSchema, t as addColumnAction, u as disableRowLevelSecurity$1, v as columnTypeAst, w as noNullValuesAst, x as indexExistsAst, y as constraintExistsAst } from \"./ddl-DfzxUAlg.mjs\";\nimport { n as qualifyTableName } from \"./planner-sql-checks-DKialyGJ.mjs\";\nimport { n as buildColumnTypeSql } from \"./planner-ddl-builders-DJrx9cJg.mjs\";\nimport { FunctionColumnDefault, LiteralColumnDefault } from \"@internal/sql-relational-core/ast\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { namingOf } from \"@internal/sql-schema-ir/naming\";\nimport { col } from \"@internal/sql-relational-core/contract-free\";\nimport { InternalError, assertNever } from \"@internal/utils/internal-error\";\nimport { errorUnfilledPlaceholder } from \"@internal/errors/migration\";\nimport { TsExpression, jsonToTsSource } from \"@internal/ts-render\";\nimport { REFERENTIAL_ACTION_SQL } from \"@internal/sql-contract/referential-action-sql\";\n//#region src/core/migrations/bound-schema.ts\n/**\n* Maps a planner schema name to the contract-free DDL builder's optional\n* `schema` field: the unbound sentinel becomes `undefined` (the builder omits\n* the schema qualifier), every other name passes through.\n*/\nfunction boundSchema(schemaName) {\n\treturn schemaName === UNBOUND_NAMESPACE_ID ? void 0 : schemaName;\n}\n//#endregion\n//#region src/core/migrations/operations/shared.ts\nfunction step(description, sql, params) {\n\treturn {\n\t\tdescription,\n\t\tsql,\n\t\t...ifDefined(\"params\", params)\n\t};\n}\nfunction targetDetails(objectType, name, schema, table) {\n\treturn {\n\t\tid: \"postgres\",\n\t\tdetails: {\n\t\t\tschema,\n\t\t\tobjectType,\n\t\t\tname,\n\t\t\t...ifDefined(\"table\", table)\n\t\t}\n\t};\n}\n//#endregion\n//#region src/core/migrations/operations/columns.ts\nasync function columnExistsSteps(lowerer, options) {\n\tconst checks = columnExistsAst(options);\n\treturn {\n\t\tpresent: await lowerer.lowerToExecuteRequest(checks.columnPresent()),\n\t\tabsent: await lowerer.lowerToExecuteRequest(checks.columnAbsent())\n\t};\n}\nasync function dropColumn(schemaName, tableName, columnName, lowerer) {\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst { present, absent } = await columnExistsSteps(lowerer, {\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t});\n\treturn {\n\t\tid: `dropColumn.${tableName}.${columnName}`,\n\t\tlabel: `Drop column \"${columnName}\" from \"${tableName}\"`,\n\t\toperationClass: \"destructive\",\n\t\ttarget: targetDetails(\"column\", columnName, schemaName, tableName),\n\t\tprecheck: [step(`ensure column \"${columnName}\" exists`, present.sql, present.params)],\n\t\texecute: [step(`drop column \"${columnName}\"`, `ALTER TABLE ${qualified} DROP COLUMN ${quoteIdentifier(columnName)}`)],\n\t\tpostcheck: [step(`verify column \"${columnName}\" does not exist`, absent.sql, absent.params)]\n\t};\n}\n/**\n* `qualifiedTargetType` is the new column type as it appears in the\n* `ALTER COLUMN TYPE` clause (schema-qualified for user-defined types, raw\n* native name for built-ins). `formatTypeExpected` is the unqualified\n* `format_type` form used in the postcheck. `rawTargetTypeForLabel` is the\n* string appearing in the human-readable label (typically `toType` when\n* explicit, else the column's native type).\n*/\nasync function alterColumnType(schemaName, tableName, columnName, options, lowerer) {\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst usingClause = options.using ? ` USING ${options.using}` : ` USING ${quoteIdentifier(columnName)}::${options.qualifiedTargetType}`;\n\tconst { present } = await columnExistsSteps(lowerer, {\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t});\n\tconst typeCheck = await lowerer.lowerToExecuteRequest(columnTypeAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName,\n\t\texpectedType: options.formatTypeExpected\n\t}));\n\treturn {\n\t\tid: `alterType.${tableName}.${columnName}`,\n\t\tlabel: `Alter type of \"${tableName}\".\"${columnName}\" to ${options.rawTargetTypeForLabel}`,\n\t\toperationClass: \"destructive\",\n\t\ttarget: targetDetails(\"column\", columnName, schemaName, tableName),\n\t\tprecheck: [step(`ensure column \"${columnName}\" exists`, present.sql, present.params)],\n\t\texecute: [step(`alter type of \"${columnName}\"`, `ALTER TABLE ${qualified} ALTER COLUMN ${quoteIdentifier(columnName)} TYPE ${options.qualifiedTargetType}${usingClause}`)],\n\t\tpostcheck: [step(`verify column \"${columnName}\" has type \"${options.formatTypeExpected}\"`, typeCheck.sql, typeCheck.params)],\n\t\tmeta: { warning: \"TABLE_REWRITE\" }\n\t};\n}\nasync function setNotNull(schemaName, tableName, columnName, lowerer) {\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst { present } = await columnExistsSteps(lowerer, {\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t});\n\tconst noNulls = await lowerer.lowerToExecuteRequest(noNullValuesAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t}));\n\tconst notNullable = await lowerer.lowerToExecuteRequest(columnNullabilityAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName,\n\t\tnullable: false\n\t}));\n\treturn {\n\t\tid: `alterNullability.setNotNull.${tableName}.${columnName}`,\n\t\tlabel: `Set NOT NULL on \"${tableName}\".\"${columnName}\"`,\n\t\toperationClass: \"destructive\",\n\t\ttarget: targetDetails(\"column\", columnName, schemaName, tableName),\n\t\tprecheck: [step(`ensure column \"${columnName}\" exists`, present.sql, present.params), step(`ensure no NULL values in \"${columnName}\"`, noNulls.sql, noNulls.params)],\n\t\texecute: [step(`set NOT NULL on \"${columnName}\"`, `ALTER TABLE ${qualified} ALTER COLUMN ${quoteIdentifier(columnName)} SET NOT NULL`)],\n\t\tpostcheck: [step(`verify column \"${columnName}\" is NOT NULL`, notNullable.sql, notNullable.params)]\n\t};\n}\nasync function dropNotNull(schemaName, tableName, columnName, lowerer) {\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst { present } = await columnExistsSteps(lowerer, {\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t});\n\tconst nullable = await lowerer.lowerToExecuteRequest(columnNullabilityAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName,\n\t\tnullable: true\n\t}));\n\treturn {\n\t\tid: `alterNullability.dropNotNull.${tableName}.${columnName}`,\n\t\tlabel: `Drop NOT NULL on \"${tableName}\".\"${columnName}\"`,\n\t\toperationClass: \"widening\",\n\t\ttarget: targetDetails(\"column\", columnName, schemaName, tableName),\n\t\tprecheck: [step(`ensure column \"${columnName}\" exists`, present.sql, present.params)],\n\t\texecute: [step(`drop NOT NULL on \"${columnName}\"`, `ALTER TABLE ${qualified} ALTER COLUMN ${quoteIdentifier(columnName)} DROP NOT NULL`)],\n\t\tpostcheck: [step(`verify column \"${columnName}\" is nullable`, nullable.sql, nullable.params)]\n\t};\n}\n/**\n* `defaultSql` is the full `DEFAULT …` clause as produced by\n* `buildColumnDefaultSql` — e.g. `\"DEFAULT 42\"`,\n* `\"DEFAULT (CURRENT_TIMESTAMP)\"`, or `\"DEFAULT nextval('seq'::regclass)\"`.\n*\n* `operationClass` defaults to `'additive'` (setting a default on a column\n* that currently has none). The reconciliation planner passes `'widening'`\n* when the column already has a different default — policy enforcement\n* treats that as a widening change rather than an additive one.\n*/\nasync function setDefault(schemaName, tableName, columnName, defaultSql, lowerer, operationClass = \"additive\") {\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst { present } = await columnExistsSteps(lowerer, {\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t});\n\tconst hasDefault = await lowerer.lowerToExecuteRequest(columnDefaultAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t}).defaultPresent());\n\treturn {\n\t\tid: `setDefault.${tableName}.${columnName}`,\n\t\tlabel: `Set default on \"${tableName}\".\"${columnName}\"`,\n\t\toperationClass,\n\t\ttarget: targetDetails(\"column\", columnName, schemaName, tableName),\n\t\tprecheck: [step(`ensure column \"${columnName}\" exists`, present.sql, present.params)],\n\t\texecute: [step(`set default on \"${columnName}\"`, `ALTER TABLE ${qualified} ALTER COLUMN ${quoteIdentifier(columnName)} SET ${defaultSql}`)],\n\t\tpostcheck: [step(`verify column \"${columnName}\" has a default`, hasDefault.sql, hasDefault.params)]\n\t};\n}\nasync function dropDefault(schemaName, tableName, columnName, lowerer) {\n\tconst { present } = await columnExistsSteps(lowerer, {\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t});\n\tconst dropDefaultExec = await lowerer.lowerToExecuteRequest(alterTable({\n\t\t...ifDefined(\"schema\", boundSchema(schemaName)),\n\t\ttable: tableName,\n\t\tactions: [dropDefaultAction(columnName)]\n\t}));\n\tconst noDefault = await lowerer.lowerToExecuteRequest(columnDefaultAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t}).defaultAbsent());\n\treturn {\n\t\tid: `dropDefault.${tableName}.${columnName}`,\n\t\tlabel: `Drop default on \"${tableName}\".\"${columnName}\"`,\n\t\toperationClass: \"destructive\",\n\t\ttarget: targetDetails(\"column\", columnName, schemaName, tableName),\n\t\tprecheck: [step(`ensure column \"${columnName}\" exists`, present.sql, present.params)],\n\t\texecute: [step(`drop default on \"${columnName}\"`, dropDefaultExec.sql)],\n\t\tpostcheck: [step(`verify column \"${columnName}\" has no default`, noDefault.sql, noDefault.params)]\n\t};\n}\n/**\n* Builds the op for adding a NOT NULL column (no contract default) to a\n* non-empty table. Prechecks assert the column is absent and the table is\n* empty; the execute step lowers the typed `AddColumn` DDL node through the\n* adapter; postchecks assert the column exists and is NOT NULL.\n*/\nasync function addNotNullColumnDirect(schemaName, tableName, column, lowerer) {\n\tconst columnName = column.name;\n\tconst addColumn = await lowerer.lowerToExecuteRequest(alterTable({\n\t\t...ifDefined(\"schema\", boundSchema(schemaName)),\n\t\ttable: tableName,\n\t\tactions: [addColumnAction(column)]\n\t}));\n\tconst absent = await lowerer.lowerToExecuteRequest(columnExistsAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t}).columnAbsent());\n\tconst tableEmpty = await lowerer.lowerToExecuteRequest(tableIsEmptyAst(schemaName, tableName));\n\tconst present = await lowerer.lowerToExecuteRequest(columnExistsAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t}).columnPresent());\n\tconst notNullable = await lowerer.lowerToExecuteRequest(columnNullabilityAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tcolumn: columnName,\n\t\tnullable: false\n\t}));\n\treturn {\n\t\tid: `column.${tableName}.${columnName}`,\n\t\tlabel: `Add column ${columnName} to ${tableName}`,\n\t\tsummary: `Adds column ${columnName} to table ${tableName}`,\n\t\toperationClass: \"additive\",\n\t\ttarget: targetDetails(\"column\", columnName, schemaName, tableName),\n\t\tprecheck: [step(`ensure column \"${columnName}\" is missing`, absent.sql, absent.params), step(`ensure table \"${tableName}\" is empty before adding NOT NULL column without default`, tableEmpty.sql, tableEmpty.params)],\n\t\texecute: [step(`add column \"${columnName}\"`, addColumn.sql)],\n\t\tpostcheck: [step(`verify column \"${columnName}\" exists`, present.sql, present.params), step(`verify column \"${columnName}\" is NOT NULL`, notNullable.sql, notNullable.params)]\n\t};\n}\n//#endregion\n//#region src/core/migrations/operations/constraints.ts\nasync function constraintCheckSteps(lowerer, options) {\n\tconst checks = constraintExistsAst(options);\n\treturn {\n\t\tabsent: await lowerer.lowerToExecuteRequest(checks.constraintAbsent()),\n\t\tpresent: await lowerer.lowerToExecuteRequest(checks.constraintPresent())\n\t};\n}\nfunction renderForeignKeySql(schemaName, tableName, fk) {\n\tlet sql = `ALTER TABLE ${qualifyTableName(schemaName, tableName)}\nADD CONSTRAINT ${quoteIdentifier(fk.name)}\nFOREIGN KEY (${fk.columns.map(quoteIdentifier).join(\", \")})\nREFERENCES ${qualifyTableName(fk.references.schema, fk.references.table)} (${fk.references.columns.map(quoteIdentifier).join(\", \")})`;\n\tif (fk.onDelete !== void 0) {\n\t\tconst action = REFERENTIAL_ACTION_SQL[fk.onDelete];\n\t\tif (!action) throw new InternalError(`Unknown referential action for onDelete: ${String(fk.onDelete)}`);\n\t\tsql += `\\nON DELETE ${action}`;\n\t}\n\tif (fk.onUpdate !== void 0) {\n\t\tconst action = REFERENTIAL_ACTION_SQL[fk.onUpdate];\n\t\tif (!action) throw new InternalError(`Unknown referential action for onUpdate: ${String(fk.onUpdate)}`);\n\t\tsql += `\\nON UPDATE ${action}`;\n\t}\n\treturn sql;\n}\nasync function addPrimaryKey(schemaName, tableName, constraintName, columns, lowerer) {\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst columnList = columns.map(quoteIdentifier).join(\", \");\n\tconst { absent, present } = await constraintCheckSteps(lowerer, {\n\t\tconstraintName,\n\t\tschema: schemaName,\n\t\ttable: tableName\n\t});\n\treturn {\n\t\tid: `primaryKey.${tableName}.${constraintName}`,\n\t\tlabel: `Add primary key on \"${tableName}\"`,\n\t\toperationClass: \"additive\",\n\t\ttarget: targetDetails(\"primaryKey\", constraintName, schemaName, tableName),\n\t\tprecheck: [step(`ensure primary key \"${constraintName}\" does not exist`, absent.sql, absent.params)],\n\t\texecute: [step(`add primary key \"${constraintName}\"`, `ALTER TABLE ${qualified} ADD CONSTRAINT ${quoteIdentifier(constraintName)} PRIMARY KEY (${columnList})`)],\n\t\tpostcheck: [step(`verify primary key \"${constraintName}\" exists`, present.sql, present.params)]\n\t};\n}\nasync function addUnique(schemaName, tableName, constraintName, columns, lowerer) {\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst columnList = columns.map(quoteIdentifier).join(\", \");\n\tconst { absent, present } = await constraintCheckSteps(lowerer, {\n\t\tconstraintName,\n\t\tschema: schemaName,\n\t\ttable: tableName\n\t});\n\treturn {\n\t\tid: `unique.${tableName}.${constraintName}`,\n\t\tlabel: `Add unique constraint on \"${tableName}\" (${columns.join(\", \")})`,\n\t\toperationClass: \"additive\",\n\t\ttarget: targetDetails(\"unique\", constraintName, schemaName, tableName),\n\t\tprecheck: [step(`ensure constraint \"${constraintName}\" does not exist`, absent.sql, absent.params)],\n\t\texecute: [step(`add unique constraint \"${constraintName}\"`, `ALTER TABLE ${qualified} ADD CONSTRAINT ${quoteIdentifier(constraintName)} UNIQUE (${columnList})`)],\n\t\tpostcheck: [step(`verify constraint \"${constraintName}\" exists`, present.sql, present.params)]\n\t};\n}\nasync function addForeignKey(schemaName, tableName, fk, lowerer) {\n\tconst { absent, present } = await constraintCheckSteps(lowerer, {\n\t\tconstraintName: fk.name,\n\t\tschema: schemaName,\n\t\ttable: tableName\n\t});\n\treturn {\n\t\tid: `foreignKey.${tableName}.${fk.name}`,\n\t\tlabel: `Add foreign key \"${fk.name}\" on \"${tableName}\"`,\n\t\toperationClass: \"additive\",\n\t\ttarget: targetDetails(\"foreignKey\", fk.name, schemaName, tableName),\n\t\tprecheck: [step(`ensure FK \"${fk.name}\" does not exist`, absent.sql, absent.params)],\n\t\texecute: [step(`add FK \"${fk.name}\"`, renderForeignKeySql(schemaName, tableName, fk))],\n\t\tpostcheck: [step(`verify FK \"${fk.name}\" exists`, present.sql, present.params)]\n\t};\n}\nasync function addCheckConstraint(schemaName, tableName, constraintName, expression, lowerer) {\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst { absent, present } = await constraintCheckSteps(lowerer, {\n\t\tconstraintName,\n\t\tschema: schemaName,\n\t\ttable: tableName\n\t});\n\treturn {\n\t\tid: `checkConstraint.${tableName}.${constraintName}`,\n\t\tlabel: `Add check constraint \"${constraintName}\" on \"${tableName}\"`,\n\t\toperationClass: \"additive\",\n\t\ttarget: targetDetails(\"checkConstraint\", constraintName, schemaName, tableName),\n\t\tprecheck: [step(`ensure constraint \"${constraintName}\" does not exist`, absent.sql, absent.params)],\n\t\texecute: [step(`add check constraint \"${constraintName}\"`, `ALTER TABLE ${qualified} ADD CONSTRAINT ${quoteIdentifier(constraintName)} CHECK (${expression})`)],\n\t\tpostcheck: [step(`verify constraint \"${constraintName}\" exists`, present.sql, present.params)]\n\t};\n}\nasync function dropCheckConstraint(schemaName, tableName, constraintName, lowerer) {\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst { absent, present } = await constraintCheckSteps(lowerer, {\n\t\tconstraintName,\n\t\tschema: schemaName,\n\t\ttable: tableName\n\t});\n\treturn {\n\t\tid: `dropCheckConstraint.${tableName}.${constraintName}`,\n\t\tlabel: `Drop check constraint \"${constraintName}\" on \"${tableName}\"`,\n\t\toperationClass: \"destructive\",\n\t\ttarget: targetDetails(\"checkConstraint\", constraintName, schemaName, tableName),\n\t\tprecheck: [step(`ensure constraint \"${constraintName}\" exists`, present.sql, present.params)],\n\t\texecute: [step(`drop check constraint \"${constraintName}\"`, `ALTER TABLE ${qualified} DROP CONSTRAINT ${quoteIdentifier(constraintName)}`)],\n\t\tpostcheck: [step(`verify constraint \"${constraintName}\" does not exist`, absent.sql, absent.params)]\n\t};\n}\n/**\n* `kind` feeds the operation's `target.details.objectType`. Descriptor-flow\n* does not carry kind information in its drop-constraint descriptor, so the\n* default is `'unique'`. The reconciliation planner passes the correct kind\n* (`'foreignKey'`, `'primaryKey'`, or `'unique'`) based on the diff issue\n* that produced the drop.\n*/\nasync function dropConstraint(schemaName, tableName, constraintName, lowerer, kind = \"unique\") {\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst { absent, present } = await constraintCheckSteps(lowerer, {\n\t\tconstraintName,\n\t\tschema: schemaName,\n\t\ttable: tableName\n\t});\n\treturn {\n\t\tid: `dropConstraint.${tableName}.${constraintName}`,\n\t\tlabel: `Drop constraint \"${constraintName}\" on \"${tableName}\"`,\n\t\toperationClass: \"destructive\",\n\t\ttarget: targetDetails(kind, constraintName, schemaName, tableName),\n\t\tprecheck: [step(`ensure constraint \"${constraintName}\" exists`, present.sql, present.params)],\n\t\texecute: [step(`drop constraint \"${constraintName}\"`, `ALTER TABLE ${qualified} DROP CONSTRAINT ${quoteIdentifier(constraintName)}`)],\n\t\tpostcheck: [step(`verify constraint \"${constraintName}\" does not exist`, absent.sql, absent.params)]\n\t};\n}\n//#endregion\n//#region src/core/migrations/operations/dependencies.ts\nfunction createExtension(extensionName) {\n\treturn {\n\t\tid: `extension.${extensionName}`,\n\t\tlabel: `Create extension \"${extensionName}\"`,\n\t\toperationClass: \"additive\",\n\t\ttarget: { id: \"postgres\" },\n\t\tprecheck: [],\n\t\texecute: [step(`Create extension \"${extensionName}\"`, `CREATE EXTENSION IF NOT EXISTS ${quoteIdentifier(extensionName)}`)],\n\t\tpostcheck: []\n\t};\n}\n/**\n* Install a Postgres extension as the baseline op for an extension-pack\n* contract space. Layered on top of {@link createExtension}: stamps an\n* `invariantId` (required so the per-space marker records the install),\n* scopes the op `id` under a caller-chosen namespace (e.g. `pgvector.`),\n* and emits pre- and postcheck SQL probing `pg_extension`. The richer\n* shape lets the runner's idempotency probe skip the install on re-run\n* (postcheck-pre-satisfied) without firing the precheck.\n*\n* Use this for hand-rolled baseline migrations in contract-space\n* extension packages (e.g. `extension-pgvector`, `extension-paradedb`);\n* use the bare {@link createExtension} for planner-emitted ops where the\n* caller already controls idempotency through the surrounding plan.\n*/\nasync function installExtension(options, lowerer) {\n\tconst { extensionName, invariantId, id } = options;\n\tconst label = options.label ?? `Enable extension \"${extensionName}\"`;\n\tconst checks = extensionExistsAst(extensionName);\n\tconst absent = await lowerer.lowerToExecuteRequest(checks.extensionAbsent());\n\tconst present = await lowerer.lowerToExecuteRequest(checks.extensionPresent());\n\treturn {\n\t\tid,\n\t\tlabel,\n\t\toperationClass: \"additive\",\n\t\tinvariantId,\n\t\ttarget: {\n\t\t\tid: \"postgres\",\n\t\t\tdetails: {\n\t\t\t\tschema: DEFAULT_NAMESPACE_ID,\n\t\t\t\tobjectType: \"dependency\",\n\t\t\t\tname: extensionName\n\t\t\t}\n\t\t},\n\t\tprecheck: [step(`verify extension \"${extensionName}\" is not already enabled`, absent.sql, absent.params)],\n\t\texecute: [step(`create extension \"${extensionName}\"`, `CREATE EXTENSION IF NOT EXISTS ${extensionName}`)],\n\t\tpostcheck: [step(`confirm extension \"${extensionName}\" is enabled`, present.sql, present.params)]\n\t};\n}\n//#endregion\n//#region src/core/migrations/operations/indexes.ts\nasync function indexExistsSteps(lowerer, schemaName, indexName) {\n\tconst checks = indexExistsAst(schemaName, indexName);\n\treturn {\n\t\tpresent: await lowerer.lowerToExecuteRequest(checks.indexPresent()),\n\t\tabsent: await lowerer.lowerToExecuteRequest(checks.indexAbsent())\n\t};\n}\n/** An unbound-namespace object renders unqualified: the DDL node takes no schema. */\nfunction ddlSchemaOf(schemaName) {\n\treturn schemaName === UNBOUND_NAMESPACE_ID ? void 0 : schemaName;\n}\nasync function createIndex(schemaName, tableName, indexName, elements, lowerer, extras) {\n\tconst ddlNode = createIndex$1({\n\t\tschema: ddlSchemaOf(schemaName),\n\t\ttable: tableName,\n\t\tname: indexName,\n\t\tunique: extras?.unique === true,\n\t\telements,\n\t\ttype: extras?.type,\n\t\toptions: extras?.options,\n\t\twhere: extras?.where\n\t});\n\tconst execute = await lowerer.lowerToExecuteRequest(ddlNode);\n\tconst { present, absent } = await indexExistsSteps(lowerer, schemaName, indexName);\n\treturn {\n\t\tid: `index.${tableName}.${indexName}`,\n\t\tlabel: `Create index \"${indexName}\" on \"${tableName}\"`,\n\t\toperationClass: \"additive\",\n\t\ttarget: targetDetails(\"index\", indexName, schemaName, tableName),\n\t\tprecheck: [step(`ensure index \"${indexName}\" does not exist`, absent.sql, absent.params)],\n\t\texecute: [step(`create index \"${indexName}\"`, execute.sql, execute.params)],\n\t\tpostcheck: [step(`verify index \"${indexName}\" exists`, present.sql, present.params)]\n\t};\n}\n/**\n* `ALTER INDEX … RENAME TO`. `widening` for the same typology reason as the\n* RLS policy rename: a rename is neither additive creation nor destructive,\n* and the class vocabulary has no neutral middle class — it is NOT that a\n* rename widens anything.\n*/\nasync function renameIndex(schemaName, tableName, fromName, toName, lowerer) {\n\tconst fromChecks = indexExistsAst(schemaName, fromName);\n\tconst toChecks = indexExistsAst(schemaName, toName);\n\tconst fromPresent = await lowerer.lowerToExecuteRequest(fromChecks.indexPresent());\n\tconst toAbsent = await lowerer.lowerToExecuteRequest(toChecks.indexAbsent());\n\tconst toPresent = await lowerer.lowerToExecuteRequest(toChecks.indexPresent());\n\tconst ddlNode = alterIndexRename({\n\t\tschema: ddlSchemaOf(schemaName),\n\t\tfrom: fromName,\n\t\tto: toName\n\t});\n\tconst execute = await lowerer.lowerToExecuteRequest(ddlNode);\n\treturn {\n\t\tid: `index.${schemaName}.${tableName}.${fromName}.rename`,\n\t\tlabel: `Rename index \"${fromName}\" to \"${toName}\" on \"${tableName}\"`,\n\t\toperationClass: \"widening\",\n\t\ttarget: targetDetails(\"index\", toName, schemaName, tableName),\n\t\tprecheck: [step(`ensure index \"${fromName}\" exists`, fromPresent.sql, fromPresent.params), step(`ensure index \"${toName}\" does not exist`, toAbsent.sql, toAbsent.params)],\n\t\texecute: [step(`rename index \"${fromName}\" to \"${toName}\"`, execute.sql, execute.params)],\n\t\tpostcheck: [step(`verify index \"${toName}\" exists`, toPresent.sql, toPresent.params)]\n\t};\n}\nasync function dropIndex(schemaName, tableName, indexName, lowerer) {\n\tconst ddlNode = dropIndex$1({\n\t\tschema: ddlSchemaOf(schemaName),\n\t\tname: indexName\n\t});\n\tconst execute = await lowerer.lowerToExecuteRequest(ddlNode);\n\tconst { present, absent } = await indexExistsSteps(lowerer, schemaName, indexName);\n\treturn {\n\t\tid: `dropIndex.${tableName}.${indexName}`,\n\t\tlabel: `Drop index \"${indexName}\"`,\n\t\toperationClass: \"destructive\",\n\t\ttarget: targetDetails(\"index\", indexName, schemaName, tableName),\n\t\tprecheck: [step(`ensure index \"${indexName}\" exists`, present.sql, present.params)],\n\t\texecute: [step(`drop index \"${indexName}\"`, execute.sql, execute.params)],\n\t\tpostcheck: [step(`verify index \"${indexName}\" does not exist`, absent.sql, absent.params)]\n\t};\n}\n//#endregion\n//#region src/core/migrations/operations/native-enum-types.ts\n/**\n* `CREATE TYPE <qualified> AS ENUM (…)` for a managed native enum, built as a\n* typed DDL node and lowered by the control adapter (the type name is quoted,\n* member values render as escaped string literals in declaration order —\n* Postgres enum sort order is semantic). `boundSchema` maps the unbound sentinel\n* to an absent schema so the type name renders unqualified and the connection's\n* `search_path` resolves the schema at runtime.\n*/\nasync function createNativeEnumType(schemaName, typeName, members, lowerer) {\n\tfor (const member of members) validateEnumValueLength(member, typeName);\n\tconst ddlNode = createType({\n\t\t...ifDefined(\"schema\", boundSchema(schemaName)),\n\t\tname: typeName,\n\t\tvalues: members\n\t});\n\tconst statement = await lowerer.lowerToExecuteRequest(ddlNode);\n\treturn {\n\t\tid: `createNativeEnumType.${typeName}`,\n\t\tlabel: `Create enum type \"${typeName}\"`,\n\t\toperationClass: \"additive\",\n\t\ttarget: targetDetails(\"type\", typeName, schemaName),\n\t\tprecheck: [],\n\t\texecute: [step(`create enum type \"${typeName}\"`, statement.sql, statement.params)],\n\t\tpostcheck: []\n\t};\n}\n/** `DROP TYPE <qualified>` for an unclaimed managed native enum, via typed DDL. */\nasync function dropNativeEnumType(schemaName, typeName, lowerer) {\n\tconst ddlNode = dropType({\n\t\t...ifDefined(\"schema\", boundSchema(schemaName)),\n\t\tname: typeName\n\t});\n\tconst statement = await lowerer.lowerToExecuteRequest(ddlNode);\n\treturn {\n\t\tid: `dropNativeEnumType.${typeName}`,\n\t\tlabel: `Drop enum type \"${typeName}\"`,\n\t\toperationClass: \"destructive\",\n\t\ttarget: targetDetails(\"type\", typeName, schemaName),\n\t\tprecheck: [],\n\t\texecute: [step(`drop enum type \"${typeName}\"`, statement.sql, statement.params)],\n\t\tpostcheck: []\n\t};\n}\n//#endregion\n//#region src/core/migrations/operations/rls.ts\nconst PLAIN_IDENTIFIER = /^[A-Za-z_][A-Za-z0-9_$]*$/;\nfunction validateRoleName(role) {\n\tif (!PLAIN_IDENTIFIER.test(role)) throw postgresError(\"CONTRACT.ROLE_INVALID\", `Invalid role name ${JSON.stringify(role)}: role names must be plain SQL identifiers matching ^[A-Za-z_][A-Za-z0-9_$]*$`, { meta: {\n\t\trole,\n\t\treason: \"not-a-plain-identifier\"\n\t} });\n\treturn role;\n}\nasync function createRlsPolicy(schemaName, tableName, policy, lowerer) {\n\tconst validatedRoles = policy.roles.map(validateRoleName);\n\tconst ddlNode = createPolicy({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tname: policy.name,\n\t\tpermissive: policy.permissive,\n\t\toperation: policy.operation,\n\t\troles: validatedRoles,\n\t\t...ifDefined(\"using\", policy.using),\n\t\t...ifDefined(\"withCheck\", policy.withCheck)\n\t});\n\tconst checks = rlsPolicyExistsAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tpolicyName: policy.name\n\t});\n\tconst absent = await lowerer.lowerToExecuteRequest(checks.policyAbsent());\n\tconst execute = await lowerer.lowerToExecuteRequest(ddlNode);\n\tconst present = await lowerer.lowerToExecuteRequest(checks.policyPresent());\n\treturn {\n\t\tid: `rlsPolicy.${schemaName}.${tableName}.${policy.name}`,\n\t\tlabel: `Create RLS policy \"${policy.name}\" on \"${tableName}\"`,\n\t\toperationClass: \"additive\",\n\t\ttarget: targetDetails(\"rlsPolicy\", policy.name, schemaName, tableName),\n\t\tprecheck: [step(`ensure RLS policy \"${policy.name}\" does not exist`, absent.sql, absent.params)],\n\t\texecute: [step(`create RLS policy \"${policy.name}\"`, execute.sql, execute.params)],\n\t\tpostcheck: [step(`verify RLS policy \"${policy.name}\" exists`, present.sql, present.params)]\n\t};\n}\nasync function dropRlsPolicy(schemaName, tableName, policyName, lowerer) {\n\tconst ddlNode = dropPolicy({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tname: policyName\n\t});\n\tconst checks = rlsPolicyExistsAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tpolicyName\n\t});\n\tconst present = await lowerer.lowerToExecuteRequest(checks.policyPresent());\n\tconst execute = await lowerer.lowerToExecuteRequest(ddlNode);\n\tconst absent = await lowerer.lowerToExecuteRequest(checks.policyAbsent());\n\treturn {\n\t\tid: `rlsPolicy.${schemaName}.${tableName}.${policyName}.drop`,\n\t\tlabel: `Drop RLS policy \"${policyName}\" on \"${tableName}\"`,\n\t\toperationClass: \"destructive\",\n\t\ttarget: targetDetails(\"rlsPolicy\", policyName, schemaName, tableName),\n\t\tprecheck: [step(`ensure RLS policy \"${policyName}\" exists`, present.sql, present.params)],\n\t\texecute: [step(`drop RLS policy \"${policyName}\"`, execute.sql, execute.params)],\n\t\tpostcheck: [step(`verify RLS policy \"${policyName}\" is absent`, absent.sql, absent.params)]\n\t};\n}\nasync function enableRowLevelSecurity(schemaName, tableName, lowerer) {\n\tconst checks = rlsEnabledAst(schemaName, tableName);\n\tconst disabled = await lowerer.lowerToExecuteRequest(checks.rlsDisabled());\n\tconst enabled = await lowerer.lowerToExecuteRequest(checks.rlsEnabled());\n\treturn {\n\t\tid: `rowLevelSecurity.${schemaName}.${tableName}`,\n\t\tlabel: `Enable row-level security on \"${tableName}\"`,\n\t\toperationClass: \"additive\",\n\t\ttarget: targetDetails(\"rowLevelSecurity\", tableName, schemaName),\n\t\tprecheck: [step(`check RLS is not already enabled on \"${tableName}\"`, disabled.sql, disabled.params)],\n\t\texecute: [step(`enable row-level security on \"${tableName}\"`, `ALTER TABLE ${qualifyTableName(schemaName, tableName)} ENABLE ROW LEVEL SECURITY`)],\n\t\tpostcheck: [step(`verify row-level security is enabled on \"${tableName}\"`, enabled.sql, enabled.params)]\n\t};\n}\nasync function disableRowLevelSecurity(schemaName, tableName, lowerer) {\n\tconst ddlNode = disableRowLevelSecurity$1({\n\t\tschema: schemaName,\n\t\ttable: tableName\n\t});\n\tconst checks = rlsEnabledAst(schemaName, tableName);\n\tconst enabled = await lowerer.lowerToExecuteRequest(checks.rlsEnabled());\n\tconst execute = await lowerer.lowerToExecuteRequest(ddlNode);\n\tconst disabled = await lowerer.lowerToExecuteRequest(checks.rlsDisabled());\n\treturn {\n\t\tid: `rowLevelSecurity.${schemaName}.${tableName}.disable`,\n\t\tlabel: `Disable row-level security on \"${tableName}\"`,\n\t\toperationClass: \"destructive\",\n\t\ttarget: targetDetails(\"rowLevelSecurity\", tableName, schemaName),\n\t\tprecheck: [step(`check RLS is currently enabled on \"${tableName}\"`, enabled.sql, enabled.params)],\n\t\texecute: [step(`disable row-level security on \"${tableName}\"`, execute.sql, execute.params)],\n\t\tpostcheck: [step(`verify row-level security is disabled on \"${tableName}\"`, disabled.sql, disabled.params)]\n\t};\n}\nasync function renameRlsPolicy(schemaName, tableName, oldPolicyName, newPolicyName, lowerer) {\n\tconst ddlNode = alterPolicyRename({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tname: oldPolicyName,\n\t\tnewName: newPolicyName\n\t});\n\tconst oldChecks = rlsPolicyExistsAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tpolicyName: oldPolicyName\n\t});\n\tconst newChecks = rlsPolicyExistsAst({\n\t\tschema: schemaName,\n\t\ttable: tableName,\n\t\tpolicyName: newPolicyName\n\t});\n\tconst oldPresent = await lowerer.lowerToExecuteRequest(oldChecks.policyPresent());\n\tconst execute = await lowerer.lowerToExecuteRequest(ddlNode);\n\tconst newPresent = await lowerer.lowerToExecuteRequest(newChecks.policyPresent());\n\treturn {\n\t\tid: `rlsPolicy.${schemaName}.${tableName}.${oldPolicyName}.rename`,\n\t\tlabel: `Rename RLS policy \"${oldPolicyName}\" to \"${newPolicyName}\" on \"${tableName}\"`,\n\t\toperationClass: \"widening\",\n\t\ttarget: targetDetails(\"rlsPolicy\", newPolicyName, schemaName, tableName),\n\t\tprecheck: [step(`ensure RLS policy \"${oldPolicyName}\" exists`, oldPresent.sql, oldPresent.params)],\n\t\texecute: [step(`rename RLS policy \"${oldPolicyName}\" to \"${newPolicyName}\"`, execute.sql, execute.params)],\n\t\tpostcheck: [step(`verify RLS policy \"${newPolicyName}\" exists`, newPresent.sql, newPresent.params)]\n\t};\n}\n//#endregion\n//#region src/core/migrations/operations/tables.ts\nasync function dropTable(schemaName, tableName, lowerer) {\n\tconst qualified = qualifyTableName(schemaName, tableName);\n\tconst checks = tableExistsAst(schemaName, tableName);\n\tconst present = await lowerer.lowerToExecuteRequest(checks.tablePresent());\n\tconst absent = await lowerer.lowerToExecuteRequest(checks.tableAbsent());\n\treturn {\n\t\tid: `dropTable.${tableName}`,\n\t\tlabel: `Drop table \"${tableName}\"`,\n\t\toperationClass: \"destructive\",\n\t\ttarget: targetDetails(\"table\", tableName, schemaName),\n\t\tprecheck: [step(`ensure table \"${tableName}\" exists`, present.sql, present.params)],\n\t\texecute: [step(`drop table \"${tableName}\"`, `DROP TABLE ${qualified}`)],\n\t\tpostcheck: [step(`verify table \"${tableName}\" does not exist`, absent.sql, absent.params)]\n\t};\n}\n//#endregion\n//#region src/core/migrations/planner-target-details.ts\nfunction buildTargetDetails(objectType, name, schema, table) {\n\treturn {\n\t\tschema,\n\t\tobjectType,\n\t\tname,\n\t\t...ifDefined(\"table\", table)\n\t};\n}\n//#endregion\n//#region src/core/migrations/planner-recipes.ts\nfunction buildAddColumnOperationIdentity(schema, tableName, columnName) {\n\treturn {\n\t\tid: `column.${tableName}.${columnName}`,\n\t\tlabel: `Add column ${columnName} to ${tableName}`,\n\t\tsummary: `Adds column ${columnName} to table ${tableName}`,\n\t\ttarget: {\n\t\t\tid: \"postgres\",\n\t\t\tdetails: buildTargetDetails(\"table\", tableName, schema)\n\t\t}\n\t};\n}\nasync function buildAddNotNullColumnWithTemporaryDefaultOperation(options) {\n\tconst { schema, tableName, columnName, column, codecHooks, storageTypes, temporaryDefault, lowerer } = options;\n\tconst ddlColumn = col(columnName, buildColumnTypeSql(column, codecHooks, storageTypes), {\n\t\tnotNull: true,\n\t\tdefault: new FunctionColumnDefault(temporaryDefault)\n\t});\n\tconst addColumn = await lowerer.lowerToExecuteRequest(alterTable({\n\t\t...ifDefined(\"schema\", boundSchema(schema)),\n\t\ttable: tableName,\n\t\tactions: [addColumnAction(ddlColumn)]\n\t}));\n\tconst dropTempDefault = await lowerer.lowerToExecuteRequest(alterTable({\n\t\t...ifDefined(\"schema\", boundSchema(schema)),\n\t\ttable: tableName,\n\t\tactions: [dropDefaultAction(columnName)]\n\t}));\n\tconst absent = await lowerer.lowerToExecuteRequest(columnExistsAst({\n\t\tschema,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t}).columnAbsent());\n\tconst present = await lowerer.lowerToExecuteRequest(columnExistsAst({\n\t\tschema,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t}).columnPresent());\n\tconst notNullable = await lowerer.lowerToExecuteRequest(columnNullabilityAst({\n\t\tschema,\n\t\ttable: tableName,\n\t\tcolumn: columnName,\n\t\tnullable: false\n\t}));\n\tconst noDefault = await lowerer.lowerToExecuteRequest(columnDefaultAst({\n\t\tschema,\n\t\ttable: tableName,\n\t\tcolumn: columnName\n\t}).noDefault());\n\treturn {\n\t\t...buildAddColumnOperationIdentity(schema, tableName, columnName),\n\t\toperationClass: \"additive\",\n\t\tprecheck: [step(`ensure column \"${columnName}\" is missing`, absent.sql, absent.params)],\n\t\texecute: [{\n\t\t\tdescription: `add column \"${columnName}\"`,\n\t\t\tsql: addColumn.sql\n\t\t}, {\n\t\t\tdescription: `drop temporary default from column \"${columnName}\"`,\n\t\t\tsql: dropTempDefault.sql\n\t\t}],\n\t\tpostcheck: [\n\t\t\tstep(`verify column \"${columnName}\" exists`, present.sql, present.params),\n\t\t\tstep(`verify column \"${columnName}\" is NOT NULL`, notNullable.sql, notNullable.params),\n\t\t\tstep(`verify column \"${columnName}\" has no default after temporary default removal`, noDefault.sql, noDefault.params)\n\t\t]\n\t};\n}\n//#endregion\n//#region src/core/migrations/op-factory-call.ts\n/**\n* Postgres migration IR: one concrete `*Call` class per pure factory under\n* `operations/`, plus a shared `PostgresOpFactoryCallNode` abstract base.\n*\n* Every call class carries the literal arguments its backing factory would\n* receive, computes a human-readable `label` in its constructor, and\n* implements two polymorphic hooks:\n*\n* - `toOp()` — converts the IR node to a runtime\n* `SqlMigrationPlanOperation` by delegating to the matching pure factory\n* under `operations/`. `DataTransformCall.toOp()` always throws\n* `MIGRATION.UNFILLED_PLACEHOLDER` because a planner-generated data transform is an\n* unfilled authoring stub by construction.\n* - `renderTypeScript()` / `importRequirements()` — inherited from\n* `TsExpression`. Used by `renderCallsToTypeScript` to emit the call as\n* a TypeScript expression inside the scaffolded `migration.ts`.\n*\n* The abstract base and all concrete classes are package-private. External\n* consumers see only the framework-level `OpFactoryCall` interface and the\n* `PostgresOpFactoryCall` union.\n*/\nconst POSTGRES_MIGRATION_FACADE = \"@internal/postgres/migration\";\nvar PostgresOpFactoryCallNode = class extends TsExpression {\n\timportRequirements() {\n\t\treturn [{\n\t\t\tmoduleSpecifier: POSTGRES_MIGRATION_FACADE,\n\t\t\tsymbol: this.factoryName\n\t\t}];\n\t}\n\tfreeze() {\n\t\tObject.freeze(this);\n\t}\n};\nfunction postgresDefaultToDdlColumnDefault(columnDefault) {\n\tif (!columnDefault) return void 0;\n\tswitch (columnDefault.kind) {\n\t\tcase \"literal\": return new LiteralColumnDefault(columnDefault.value);\n\t\tcase \"function\":\n\t\t\tif (columnDefault.expression === \"autoincrement()\") return void 0;\n\t\t\treturn new FunctionColumnDefault(columnDefault.expression);\n\t\tcase \"sequence\": return new FunctionColumnDefault(`nextval('${escapeLiteral(quoteIdentifier(columnDefault.name))}'::regclass)`);\n\t\tdefault: {\n\t\t\tconst exhaustive = columnDefault;\n\t\t\treturn assertNever(exhaustive, `postgresDefaultToDdlColumnDefault: unhandled kind \"${blindCast(exhaustive).kind}\"`);\n\t\t}\n\t}\n}\nfunction renderDdlColumnDefault(def) {\n\tif (!def) return \"\";\n\tif (def.kind === \"literal\") return `lit(${jsonToTsSource(def.value)})`;\n\treturn `fn(${jsonToTsSource(def.expression)})`;\n}\nfunction renderDdlColumnAsTsCall(col) {\n\tconst opts = [];\n\tif (col.notNull) opts.push(\"notNull: true\");\n\tif (col.primaryKey) opts.push(\"primaryKey: true\");\n\tif (col.default) opts.push(`default: ${renderDdlColumnDefault(col.default)}`);\n\tif (col.codecRef) opts.push(`codecRef: ${jsonToTsSource(col.codecRef)}`);\n\tconst optsStr = opts.length > 0 ? `, { ${opts.join(\", \")} }` : \"\";\n\treturn `col(${jsonToTsSource(col.name)}, ${jsonToTsSource(col.type)}${optsStr})`;\n}\nfunction renderDdlConstraintAsTsCall(constraint) {\n\tswitch (constraint.kind) {\n\t\tcase \"primary-key\": {\n\t\t\tconst nameOpt = constraint.name ? `, { name: ${jsonToTsSource(constraint.name)} }` : \"\";\n\t\t\treturn `primaryKey(${jsonToTsSource(constraint.columns)}${nameOpt})`;\n\t\t}\n\t\tcase \"foreign-key\": {\n\t\t\tconst opts = [];\n\t\t\tif (constraint.name) opts.push(`name: ${jsonToTsSource(constraint.name)}`);\n\t\t\tif (constraint.onDelete) opts.push(`onDelete: ${jsonToTsSource(constraint.onDelete)}`);\n\t\t\tif (constraint.onUpdate) opts.push(`onUpdate: ${jsonToTsSource(constraint.onUpdate)}`);\n\t\t\tconst optsStr = opts.length > 0 ? `, { ${opts.join(\", \")} }` : \"\";\n\t\t\treturn `foreignKey(${jsonToTsSource(constraint.columns)}, ${jsonToTsSource(constraint.refTable)}, ${jsonToTsSource(constraint.refColumns)}${optsStr})`;\n\t\t}\n\t\tcase \"unique\": {\n\t\t\tconst nameOpt = constraint.name ? `, { name: ${jsonToTsSource(constraint.name)} }` : \"\";\n\t\t\treturn `unique(${jsonToTsSource(constraint.columns)}${nameOpt})`;\n\t\t}\n\t\tcase \"check-expression\": return `checkExpression(${jsonToTsSource(constraint.name)}, ${jsonToTsSource(constraint.expression)})`;\n\t}\n}\nfunction needsColOrConstraintImport(columns) {\n\treturn columns.length > 0;\n}\nfunction constraintImportSymbols(constraints) {\n\tif (!constraints || constraints.length === 0) return [];\n\tconst symbols = /* @__PURE__ */ new Set();\n\tfor (const c of constraints) if (c.kind === \"primary-key\") symbols.add(\"primaryKey\");\n\telse if (c.kind === \"foreign-key\") symbols.add(\"foreignKey\");\n\telse if (c.kind === \"unique\") symbols.add(\"unique\");\n\telse if (c.kind === \"check-expression\") symbols.add(\"checkExpression\");\n\treturn [...symbols];\n}\nfunction defaultImportSymbols(columns) {\n\tconst symbols = /* @__PURE__ */ new Set();\n\tfor (const col of columns) if (col.default?.kind === \"literal\") symbols.add(\"lit\");\n\telse if (col.default?.kind === \"function\") symbols.add(\"fn\");\n\treturn [...symbols];\n}\nvar CreateTableCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"createTable\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttableName;\n\tcolumns;\n\tconstraints;\n\tlabel;\n\tconstructor(schemaName, tableName, columns, constraints) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.columns = Object.freeze([...columns]);\n\t\tthis.constraints = constraints ? Object.freeze([...constraints]) : void 0;\n\t\tthis.label = `Create table \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `CreateTableCall.toOp: a DDL lowerer is required on the Postgres planner path (table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"CreateTableCall\" } });\n\t\tconst ddlNode = createTable({\n\t\t\t...ifDefined(\"schema\", boundSchema(this.schemaName)),\n\t\t\ttable: this.tableName,\n\t\t\tcolumns: this.columns,\n\t\t\t...ifDefined(\"constraints\", this.constraints)\n\t\t});\n\t\tconst statement = await lowerer.lowerToExecuteRequest(ddlNode);\n\t\tconst schemaName = this.schemaName;\n\t\tconst tableName = this.tableName;\n\t\tconst checks = tableExistsAst(schemaName, tableName);\n\t\tconst absent = await lowerer.lowerToExecuteRequest(checks.tableAbsent());\n\t\tconst present = await lowerer.lowerToExecuteRequest(checks.tablePresent());\n\t\treturn {\n\t\t\tid: `table.${tableName}`,\n\t\t\tlabel: `Create table \"${tableName}\"`,\n\t\t\tsummary: `Creates table \"${tableName}\"`,\n\t\t\toperationClass: \"additive\",\n\t\t\ttarget: targetDetails(\"table\", tableName, schemaName),\n\t\t\tprecheck: [step(`ensure table \"${tableName}\" does not exist`, absent.sql, absent.params)],\n\t\t\texecute: [{\n\t\t\t\tdescription: `create table \"${tableName}\"`,\n\t\t\t\tsql: statement.sql,\n\t\t\t\tparams: statement.params ?? []\n\t\t\t}],\n\t\t\tpostcheck: [step(`verify table \"${tableName}\" exists`, present.sql, present.params)]\n\t\t};\n\t}\n\trenderTypeScript() {\n\t\tconst columnsList = this.columns.map(renderDdlColumnAsTsCall).join(\", \");\n\t\tconst constraintsList = this.constraints ? this.constraints.map(renderDdlConstraintAsTsCall).join(\", \") : void 0;\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`columns: [${columnsList}]`);\n\t\tif (constraintsList) opts.push(`constraints: [${constraintsList}]`);\n\t\treturn `this.createTable({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\tconst req = [];\n\t\tif (needsColOrConstraintImport(this.columns)) {\n\t\t\treq.push({\n\t\t\t\tmoduleSpecifier: POSTGRES_MIGRATION_FACADE,\n\t\t\t\tsymbol: \"col\"\n\t\t\t});\n\t\t\tfor (const sym of defaultImportSymbols(this.columns)) req.push({\n\t\t\t\tmoduleSpecifier: POSTGRES_MIGRATION_FACADE,\n\t\t\t\tsymbol: sym\n\t\t\t});\n\t\t}\n\t\tfor (const sym of constraintImportSymbols(this.constraints)) req.push({\n\t\t\tmoduleSpecifier: POSTGRES_MIGRATION_FACADE,\n\t\t\tsymbol: sym\n\t\t});\n\t\treturn req;\n\t}\n};\nvar DropTableCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"dropTable\";\n\toperationClass = \"destructive\";\n\tschemaName;\n\ttableName;\n\tlabel;\n\tconstructor(schemaName, tableName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.label = `Drop table \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `DropTableCall.toOp: a lowerer is required on the Postgres planner path (table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"DropTableCall\" } });\n\t\treturn dropTable(this.schemaName, this.tableName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\treturn `this.dropTable({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar AddColumnCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"addColumn\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttableName;\n\tcolumn;\n\tlabel;\n\tconstructor(schemaName, tableName, column) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.column = column;\n\t\tthis.label = `Add column \"${column.name}\" to \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `AddColumnCall.toOp: a DDL lowerer is required on the Postgres planner path (column \"${this.column.name}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"AddColumnCall\" } });\n\t\tconst ddlNode = alterTable({\n\t\t\t...ifDefined(\"schema\", boundSchema(this.schemaName)),\n\t\t\ttable: this.tableName,\n\t\t\tactions: [addColumnAction(this.column)]\n\t\t});\n\t\tconst statement = await lowerer.lowerToExecuteRequest(ddlNode);\n\t\tconst schemaName = this.schemaName;\n\t\tconst tableName = this.tableName;\n\t\tconst columnName = this.column.name;\n\t\tconst colChecks = columnExistsAst({\n\t\t\tschema: schemaName,\n\t\t\ttable: tableName,\n\t\t\tcolumn: columnName\n\t\t});\n\t\tconst absent = await lowerer.lowerToExecuteRequest(colChecks.columnAbsent());\n\t\tconst present = await lowerer.lowerToExecuteRequest(colChecks.columnPresent());\n\t\treturn {\n\t\t\tid: `column.${schemaName}.${tableName}.${columnName}`,\n\t\t\tlabel: `Add column \"${columnName}\" to \"${tableName}\"`,\n\t\t\toperationClass: \"additive\",\n\t\t\ttarget: targetDetails(\"column\", columnName, schemaName, tableName),\n\t\t\tprecheck: [step(`ensure column \"${columnName}\" is missing`, absent.sql, absent.params)],\n\t\t\texecute: [step(`add column \"${columnName}\"`, statement.sql)],\n\t\t\tpostcheck: [step(`verify column \"${columnName}\" exists`, present.sql, present.params)]\n\t\t};\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`column: ${renderDdlColumnAsTsCall(this.column)}`);\n\t\treturn `this.addColumn({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\tconst req = [{\n\t\t\tmoduleSpecifier: POSTGRES_MIGRATION_FACADE,\n\t\t\tsymbol: \"col\"\n\t\t}];\n\t\tfor (const sym of defaultImportSymbols([this.column])) req.push({\n\t\t\tmoduleSpecifier: POSTGRES_MIGRATION_FACADE,\n\t\t\tsymbol: sym\n\t\t});\n\t\treturn req;\n\t}\n};\nvar DropColumnCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"dropColumn\";\n\toperationClass = \"destructive\";\n\tschemaName;\n\ttableName;\n\tcolumnName;\n\tlabel;\n\tconstructor(schemaName, tableName, columnName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.columnName = columnName;\n\t\tthis.label = `Drop column \"${columnName}\" from \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `DropColumnCall.toOp: a lowerer is required on the Postgres planner path (column \"${this.columnName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"DropColumnCall\" } });\n\t\treturn dropColumn(this.schemaName, this.tableName, this.columnName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`column: ${jsonToTsSource(this.columnName)}`);\n\t\treturn `this.dropColumn({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar AlterColumnTypeCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"alterColumnType\";\n\toperationClass = \"destructive\";\n\tschemaName;\n\ttableName;\n\tcolumnName;\n\toptions;\n\tlabel;\n\tconstructor(schemaName, tableName, columnName, options) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.columnName = columnName;\n\t\tthis.options = options;\n\t\tthis.label = `Alter type of \"${tableName}\".\"${columnName}\" to ${options.rawTargetTypeForLabel}`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `AlterColumnTypeCall.toOp: a lowerer is required on the Postgres planner path (column \"${this.columnName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"AlterColumnTypeCall\" } });\n\t\treturn alterColumnType(this.schemaName, this.tableName, this.columnName, this.options, lowerer);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`column: ${jsonToTsSource(this.columnName)}`);\n\t\topts.push(`options: ${jsonToTsSource(this.options)}`);\n\t\treturn `this.alterColumnType({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar SetNotNullCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"setNotNull\";\n\toperationClass = \"destructive\";\n\tschemaName;\n\ttableName;\n\tcolumnName;\n\tlabel;\n\tconstructor(schemaName, tableName, columnName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.columnName = columnName;\n\t\tthis.label = `Set NOT NULL on \"${tableName}\".\"${columnName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `SetNotNullCall.toOp: a lowerer is required on the Postgres planner path (column \"${this.columnName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"SetNotNullCall\" } });\n\t\treturn setNotNull(this.schemaName, this.tableName, this.columnName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`column: ${jsonToTsSource(this.columnName)}`);\n\t\treturn `this.setNotNull({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar DropNotNullCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"dropNotNull\";\n\toperationClass = \"widening\";\n\tschemaName;\n\ttableName;\n\tcolumnName;\n\tlabel;\n\tconstructor(schemaName, tableName, columnName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.columnName = columnName;\n\t\tthis.label = `Drop NOT NULL on \"${tableName}\".\"${columnName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `DropNotNullCall.toOp: a lowerer is required on the Postgres planner path (column \"${this.columnName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"DropNotNullCall\" } });\n\t\treturn dropNotNull(this.schemaName, this.tableName, this.columnName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`column: ${jsonToTsSource(this.columnName)}`);\n\t\treturn `this.dropNotNull({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar SetDefaultCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"setDefault\";\n\toperationClass;\n\tschemaName;\n\ttableName;\n\tcolumnName;\n\tdefaultSql;\n\tlabel;\n\tconstructor(schemaName, tableName, columnName, defaultSql, operationClass = \"additive\") {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.columnName = columnName;\n\t\tthis.defaultSql = defaultSql;\n\t\tthis.operationClass = operationClass;\n\t\tthis.label = `Set default on \"${tableName}\".\"${columnName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `SetDefaultCall.toOp: a lowerer is required on the Postgres planner path (column \"${this.columnName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"SetDefaultCall\" } });\n\t\treturn setDefault(this.schemaName, this.tableName, this.columnName, this.defaultSql, lowerer, this.operationClass);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`column: ${jsonToTsSource(this.columnName)}`);\n\t\topts.push(`defaultSql: ${jsonToTsSource(this.defaultSql)}`);\n\t\tif (this.operationClass !== \"additive\") opts.push(`operationClass: ${jsonToTsSource(this.operationClass)}`);\n\t\treturn `this.setDefault({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar DropDefaultCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"dropDefault\";\n\toperationClass = \"destructive\";\n\tschemaName;\n\ttableName;\n\tcolumnName;\n\tlabel;\n\tconstructor(schemaName, tableName, columnName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.columnName = columnName;\n\t\tthis.label = `Drop default on \"${tableName}\".\"${columnName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `DropDefaultCall.toOp: a lowerer is required on the Postgres planner path (column \"${this.columnName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"DropDefaultCall\" } });\n\t\treturn dropDefault(this.schemaName, this.tableName, this.columnName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`column: ${jsonToTsSource(this.columnName)}`);\n\t\treturn `this.dropDefault({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\n/**\n* Planner-internal call for adding a NOT NULL column (no contract default) to\n* a table that must be empty at migration time. Carries the typed `DdlColumn`\n* and lowers it to an ADD COLUMN execute step via the adapter at `toOp` time.\n*\n* No authored `PostgresMigration` method: this call is only emitted by the\n* planner, never hand-written by migration authors.\n*/\nvar AddNotNullColumnDirectCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"rawSql\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttableName;\n\tcolumnName;\n\tcolumn;\n\tlabel;\n\tconstructor(schemaName, tableName, columnName, column) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.columnName = columnName;\n\t\tthis.column = column;\n\t\tthis.label = `Add column ${columnName} to ${tableName}`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `AddNotNullColumnDirectCall.toOp: a lowerer is required on the Postgres planner path (column \"${this.columnName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"AddNotNullColumnDirectCall\" } });\n\t\treturn addNotNullColumnDirect(this.schemaName, this.tableName, this.column, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `rawSql(${jsonToTsSource({\n\t\t\tid: `column.${this.tableName}.${this.columnName}`,\n\t\t\tlabel: this.label,\n\t\t\toperationClass: \"additive\"\n\t\t})})`;\n\t}\n};\n/**\n* Planner-internal call for adding a NOT NULL column (no contract default)\n* using a temporary default value for non-empty tables. Carries all parameters\n* needed for `buildAddNotNullColumnWithTemporaryDefaultOperation`; both the\n* typed ADD COLUMN execute step and the pre/postchecks are lowered via the\n* adapter at `toOp` time.\n*\n* No authored `PostgresMigration` method: this call is only emitted by the\n* planner, never hand-written by migration authors.\n*/\nvar AddNotNullColumnWithTempDefaultCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"rawSql\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttableName;\n\tcolumnName;\n\tcolumn;\n\tcodecHooks;\n\tstorageTypes;\n\ttemporaryDefault;\n\tlabel;\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.schemaName = options.schemaName;\n\t\tthis.tableName = options.tableName;\n\t\tthis.columnName = options.columnName;\n\t\tthis.column = options.column;\n\t\tthis.codecHooks = options.codecHooks;\n\t\tthis.storageTypes = options.storageTypes;\n\t\tthis.temporaryDefault = options.temporaryDefault;\n\t\tthis.label = `Add column ${options.columnName} to ${options.tableName}`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `AddNotNullColumnWithTempDefaultCall.toOp: a lowerer is required on the Postgres planner path (column \"${this.columnName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"AddNotNullColumnWithTempDefaultCall\" } });\n\t\treturn buildAddNotNullColumnWithTemporaryDefaultOperation({\n\t\t\tschema: this.schemaName,\n\t\t\ttableName: this.tableName,\n\t\t\tcolumnName: this.columnName,\n\t\t\tcolumn: this.column,\n\t\t\tcodecHooks: this.codecHooks,\n\t\t\tstorageTypes: this.storageTypes,\n\t\t\ttemporaryDefault: this.temporaryDefault,\n\t\t\tlowerer\n\t\t});\n\t}\n\trenderTypeScript() {\n\t\treturn `rawSql(${jsonToTsSource({\n\t\t\tid: `column.${this.tableName}.${this.columnName}`,\n\t\t\tlabel: this.label,\n\t\t\toperationClass: \"additive\"\n\t\t})})`;\n\t}\n};\nfunction constraintCallOptions(schemaName, tableName, constraintName) {\n\tconst opts = [];\n\tif (schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(schemaName)}`);\n\topts.push(`table: ${jsonToTsSource(tableName)}`);\n\topts.push(`constraint: ${jsonToTsSource(constraintName)}`);\n\treturn opts.join(\", \");\n}\nvar AddPrimaryKeyCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"addPrimaryKey\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttableName;\n\tconstraintName;\n\tcolumns;\n\tlabel;\n\tconstructor(schemaName, tableName, constraintName, columns) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.constraintName = constraintName;\n\t\tthis.columns = columns;\n\t\tthis.label = `Add primary key on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `AddPrimaryKeyCall.toOp: a lowerer is required on the Postgres planner path (constraint \"${this.constraintName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"AddPrimaryKeyCall\" } });\n\t\treturn addPrimaryKey(this.schemaName, this.tableName, this.constraintName, this.columns, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `this.addPrimaryKey({ ${constraintCallOptions(this.schemaName, this.tableName, this.constraintName)}, columns: ${jsonToTsSource(this.columns)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar AddUniqueCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"addUnique\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttableName;\n\tconstraintName;\n\tcolumns;\n\tlabel;\n\tconstructor(schemaName, tableName, constraintName, columns) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.constraintName = constraintName;\n\t\tthis.columns = columns;\n\t\tthis.label = `Add unique constraint on \"${tableName}\" (${columns.join(\", \")})`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `AddUniqueCall.toOp: a lowerer is required on the Postgres planner path (constraint \"${this.constraintName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"AddUniqueCall\" } });\n\t\treturn addUnique(this.schemaName, this.tableName, this.constraintName, this.columns, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `this.addUnique({ ${constraintCallOptions(this.schemaName, this.tableName, this.constraintName)}, columns: ${jsonToTsSource(this.columns)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar AddForeignKeyCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"addForeignKey\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttableName;\n\tfk;\n\tlabel;\n\tconstructor(schemaName, tableName, fk) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.fk = fk;\n\t\tthis.label = `Add foreign key \"${fk.name}\" on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `AddForeignKeyCall.toOp: a lowerer is required on the Postgres planner path (constraint \"${this.fk.name}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"AddForeignKeyCall\" } });\n\t\treturn addForeignKey(this.schemaName, this.tableName, this.fk, lowerer);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`foreignKey: ${jsonToTsSource(this.fk)}`);\n\t\treturn `this.addForeignKey({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar DropConstraintCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"dropConstraint\";\n\toperationClass = \"destructive\";\n\tschemaName;\n\ttableName;\n\tconstraintName;\n\tkind;\n\tlabel;\n\tconstructor(schemaName, tableName, constraintName, kind = \"unique\") {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.constraintName = constraintName;\n\t\tthis.kind = kind;\n\t\tthis.label = `Drop constraint \"${constraintName}\" on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `DropConstraintCall.toOp: a lowerer is required on the Postgres planner path (constraint \"${this.constraintName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"DropConstraintCall\" } });\n\t\treturn dropConstraint(this.schemaName, this.tableName, this.constraintName, lowerer, this.kind);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [constraintCallOptions(this.schemaName, this.tableName, this.constraintName)];\n\t\tif (this.kind !== \"unique\") opts.push(`kind: ${jsonToTsSource(this.kind)}`);\n\t\treturn `this.dropConstraint({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar AddCheckConstraintCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"addCheckConstraint\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttableName;\n\tconstraintName;\n\t/** Opaque SQL: the predicate body, rendered verbatim inside `CHECK (…)`. */\n\texpression;\n\tlabel;\n\tconstructor(schemaName, tableName, constraintName, expression) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.constraintName = constraintName;\n\t\tthis.expression = expression;\n\t\tthis.label = `Add check constraint \"${constraintName}\" on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `AddCheckConstraintCall.toOp: a lowerer is required on the Postgres planner path (constraint \"${this.constraintName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"AddCheckConstraintCall\" } });\n\t\treturn addCheckConstraint(this.schemaName, this.tableName, this.constraintName, this.expression, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `this.addCheckConstraint({ ${constraintCallOptions(this.schemaName, this.tableName, this.constraintName)}, expression: ${jsonToTsSource(this.expression)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar DropCheckConstraintCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"dropCheckConstraint\";\n\toperationClass = \"destructive\";\n\tschemaName;\n\ttableName;\n\tconstraintName;\n\tlabel;\n\tconstructor(schemaName, tableName, constraintName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.constraintName = constraintName;\n\t\tthis.label = `Drop check constraint \"${constraintName}\" on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `DropCheckConstraintCall.toOp: a lowerer is required on the Postgres planner path (constraint \"${this.constraintName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"DropCheckConstraintCall\" } });\n\t\treturn dropCheckConstraint(this.schemaName, this.tableName, this.constraintName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `this.dropCheckConstraint({ ${constraintCallOptions(this.schemaName, this.tableName, this.constraintName)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar CreateIndexCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"createIndex\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttableName;\n\tindexName;\n\t/** Column tuple when the index is column-based; absent for expression indexes. */\n\tcolumns;\n\t/** Opaque whole element list when the index is expression-based. */\n\texpression;\n\tindexType;\n\toptions;\n\twhere;\n\tunique;\n\tlabel;\n\tconstructor(schemaName, tableName, indexName, elements, extras) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.indexName = indexName;\n\t\tthis.columns = \"columns\" in elements ? elements.columns : void 0;\n\t\tthis.expression = \"expression\" in elements ? elements.expression : void 0;\n\t\tthis.indexType = extras?.type;\n\t\tthis.options = extras?.options;\n\t\tthis.where = extras?.where;\n\t\tthis.unique = extras?.unique === true;\n\t\tthis.label = `Create index \"${indexName}\" on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `CreateIndexCall.toOp: a lowerer is required on the Postgres planner path (index \"${this.indexName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"CreateIndexCall\" } });\n\t\tconst extras = {};\n\t\tif (this.indexType !== void 0) extras.type = this.indexType;\n\t\tif (this.options !== void 0) extras.options = this.options;\n\t\tif (this.where !== void 0) extras.where = this.where;\n\t\tif (this.unique) extras.unique = true;\n\t\treturn createIndex(this.schemaName, this.tableName, this.indexName, this.columns !== void 0 ? { columns: this.columns } : { expression: this.expression ?? \"\" }, lowerer, extras);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`index: ${jsonToTsSource(this.indexName)}`);\n\t\tif (this.columns !== void 0) opts.push(`columns: ${jsonToTsSource(this.columns)}`);\n\t\telse opts.push(`expression: ${jsonToTsSource(this.expression ?? \"\")}`);\n\t\tif (this.indexType !== void 0 || this.options !== void 0 || this.where !== void 0 || this.unique) {\n\t\t\tconst extrasParts = [];\n\t\t\tif (this.indexType !== void 0) extrasParts.push(`type: ${jsonToTsSource(this.indexType)}`);\n\t\t\tif (this.options !== void 0) extrasParts.push(`options: ${jsonToTsSource(this.options)}`);\n\t\t\tif (this.where !== void 0) extrasParts.push(`where: ${jsonToTsSource(this.where)}`);\n\t\t\tif (this.unique) extrasParts.push(\"unique: true\");\n\t\t\topts.push(`extras: { ${extrasParts.join(\", \")} }`);\n\t\t}\n\t\treturn `this.createIndex({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar RenameIndexCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"renameIndex\";\n\toperationClass = \"widening\";\n\tschemaName;\n\ttableName;\n\toldIndexName;\n\tnewIndexName;\n\tlabel;\n\tconstructor(schemaName, tableName, oldIndexName, newIndexName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.oldIndexName = oldIndexName;\n\t\tthis.newIndexName = newIndexName;\n\t\tthis.label = `Rename index \"${oldIndexName}\" to \"${newIndexName}\" on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `RenameIndexCall.toOp: a lowerer is required on the Postgres planner path (index \"${this.oldIndexName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"RenameIndexCall\" } });\n\t\treturn renameIndex(this.schemaName, this.tableName, this.oldIndexName, this.newIndexName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`from: ${jsonToTsSource(this.oldIndexName)}`);\n\t\topts.push(`to: ${jsonToTsSource(this.newIndexName)}`);\n\t\treturn `this.renameIndex({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar DropIndexCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"dropIndex\";\n\toperationClass = \"destructive\";\n\tschemaName;\n\ttableName;\n\tindexName;\n\tlabel;\n\tconstructor(schemaName, tableName, indexName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.indexName = indexName;\n\t\tthis.label = `Drop index \"${indexName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `DropIndexCall.toOp: a lowerer is required on the Postgres planner path (index \"${this.indexName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"DropIndexCall\" } });\n\t\treturn dropIndex(this.schemaName, this.tableName, this.indexName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\tconst opts = [];\n\t\tif (this.schemaName !== UNBOUND_NAMESPACE_ID) opts.push(`schema: ${jsonToTsSource(this.schemaName)}`);\n\t\topts.push(`table: ${jsonToTsSource(this.tableName)}`);\n\t\topts.push(`index: ${jsonToTsSource(this.indexName)}`);\n\t\treturn `this.dropIndex({ ${opts.join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\n/**\n* Laundered pre-built operation.\n*\n* Wraps an already-materialized `SqlMigrationPlanOperation` — typically one\n* produced by a SQL-family method or a codec control hook — so the planner\n* can carry it alongside IR nodes without reverse-engineering it into a\n* structured call class. Doubles as the user-facing escape hatch for raw\n* migrations: authors can pass a full op shape to `rawSql({...})`.\n*\n* `toOp()` returns the stored op unchanged. `renderTypeScript()` emits\n* `rawSql({...})` with the op serialized as a JSON literal — round-tripping\n* requires every field on the op to be JSON-serializable (no closures).\n*/\nvar RawSqlCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"rawSql\";\n\toperationClass;\n\tlabel;\n\top;\n\tconstructor(op) {\n\t\tsuper();\n\t\tthis.op = op;\n\t\tthis.label = op.label;\n\t\tthis.operationClass = op.operationClass;\n\t\tthis.freeze();\n\t}\n\ttoOp() {\n\t\treturn this.op;\n\t}\n\trenderTypeScript() {\n\t\treturn `rawSql(${jsonToTsSource(this.op)})`;\n\t}\n};\nvar CreateExtensionCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"createExtension\";\n\toperationClass = \"additive\";\n\textensionName;\n\tlabel;\n\tconstructor(extensionName) {\n\t\tsuper();\n\t\tthis.extensionName = extensionName;\n\t\tthis.label = `Create extension \"${extensionName}\"`;\n\t\tthis.freeze();\n\t}\n\ttoOp() {\n\t\treturn createExtension(this.extensionName);\n\t}\n\trenderTypeScript() {\n\t\treturn `createExtension(${jsonToTsSource(this.extensionName)})`;\n\t}\n};\nvar CreateSchemaCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"createSchema\";\n\toperationClass = \"additive\";\n\tschemaName;\n\tlabel;\n\tconstructor(schemaName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.label = `Create schema \"${schemaName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `CreateSchemaCall.toOp: a DDL lowerer is required on the Postgres planner path (schema \"${this.schemaName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"CreateSchemaCall\" } });\n\t\tconst ddlNode = createSchema({\n\t\t\tschema: this.schemaName,\n\t\t\tifNotExists: true\n\t\t});\n\t\tconst statement = await lowerer.lowerToExecuteRequest(ddlNode);\n\t\tconst schemaName = this.schemaName;\n\t\treturn {\n\t\t\tid: `schema.${schemaName}`,\n\t\t\tlabel: `Create schema \"${schemaName}\"`,\n\t\t\toperationClass: \"additive\",\n\t\t\ttarget: { id: \"postgres\" },\n\t\t\tprecheck: [],\n\t\t\texecute: [{\n\t\t\t\tdescription: `Create schema \"${schemaName}\"`,\n\t\t\t\tsql: statement.sql,\n\t\t\t\tparams: statement.params ?? []\n\t\t\t}],\n\t\t\tpostcheck: []\n\t\t};\n\t}\n\trenderTypeScript() {\n\t\treturn `this.createSchema({ schema: ${jsonToTsSource(this.schemaName)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar CreateNativeEnumTypeCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"createNativeEnumType\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttypeName;\n\tmembers;\n\tlabel;\n\tconstructor(schemaName, typeName, members) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.typeName = typeName;\n\t\tthis.members = Object.freeze([...members]);\n\t\tthis.label = `Create enum type \"${typeName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `CreateNativeEnumTypeCall.toOp: a DDL lowerer is required on the Postgres planner path (type \"${this.typeName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"CreateNativeEnumTypeCall\" } });\n\t\treturn createNativeEnumType(this.schemaName, this.typeName, this.members, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `this.createNativeEnumType({ ${[\n\t\t\t`schema: ${jsonToTsSource(this.schemaName)}`,\n\t\t\t`typeName: ${jsonToTsSource(this.typeName)}`,\n\t\t\t`members: ${jsonToTsSource(this.members)}`\n\t\t].join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar DropNativeEnumTypeCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"dropNativeEnumType\";\n\toperationClass = \"destructive\";\n\tschemaName;\n\ttypeName;\n\tlabel;\n\tconstructor(schemaName, typeName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.typeName = typeName;\n\t\tthis.label = `Drop enum type \"${typeName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `DropNativeEnumTypeCall.toOp: a DDL lowerer is required on the Postgres planner path (type \"${this.typeName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"DropNativeEnumTypeCall\" } });\n\t\treturn dropNativeEnumType(this.schemaName, this.typeName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `this.dropNativeEnumType({ ${[`schema: ${jsonToTsSource(this.schemaName)}`, `typeName: ${jsonToTsSource(this.typeName)}`].join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\n/** Schema-qualified, quoted enum type name — unqualified when `schemaName` is the unbound sentinel, matching `boundSchema`'s DDL-node convention. */\nfunction qualifiedNativeEnumTypeName(schemaName, typeName) {\n\tconst bound = boundSchema(schemaName);\n\treturn quoteQualifiedName(bound === void 0 ? typeName : `${bound}.${typeName}`);\n}\nconst ADD_VALUE_TRANSACTION_CAVEAT = \"A newly added enum value cannot be used until the transaction that adds it commits, so a migration that both appends a value and uses it in the same step will fail at apply.\";\n/**\n* `ALTER TYPE <qualified> ADD VALUE '<value>'` for a suffix-appended member on\n* a managed native enum. Built directly as SQL text (qualified via\n* `quoteQualifiedName`, the value escaped via `escapeLiteral`) rather than a\n* typed DDL node — mirrors how `enableRowLevelSecurity` renders its execute\n* step, since no DDL-AST node exists for this statement. Prechecks/postchecks\n* are still typed catalog queries lowered through the control adapter.\n* `validateEnumValueLength` runs at construction, so an over-length value\n* fails before planning produces a call.\n*/\nvar AddNativeEnumValueCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"addNativeEnumValue\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttypeName;\n\tvalue;\n\tlabel;\n\tsummary;\n\tconstructor(schemaName, typeName, value) {\n\t\tsuper();\n\t\tvalidateEnumValueLength(value, typeName);\n\t\tthis.schemaName = schemaName;\n\t\tthis.typeName = typeName;\n\t\tthis.value = value;\n\t\tthis.label = `Add value \"${value}\" to enum type \"${typeName}\"`;\n\t\tthis.summary = `Adds value \"${value}\" to enum type \"${typeName}\". ${ADD_VALUE_TRANSACTION_CAVEAT}`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `AddNativeEnumValueCall.toOp: a lowerer is required on the Postgres planner path (type \"${this.typeName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"AddNativeEnumValueCall\" } });\n\t\tconst { schemaName, typeName, value } = this;\n\t\tconst typeChecks = nativeEnumTypeExistsAst(schemaName, typeName);\n\t\tconst valueChecks = nativeEnumValueExistsAst({\n\t\t\tschema: schemaName,\n\t\t\ttypeName,\n\t\t\tvalue\n\t\t});\n\t\tconst typePresent = await lowerer.lowerToExecuteRequest(typeChecks.typePresent());\n\t\tconst valueAbsent = await lowerer.lowerToExecuteRequest(valueChecks.valueAbsent());\n\t\tconst valuePresent = await lowerer.lowerToExecuteRequest(valueChecks.valuePresent());\n\t\tconst qualifiedType = qualifiedNativeEnumTypeName(schemaName, typeName);\n\t\treturn {\n\t\t\tid: `addNativeEnumValue.${typeName}.${value}`,\n\t\t\tlabel: this.label,\n\t\t\tsummary: this.summary,\n\t\t\toperationClass: \"additive\",\n\t\t\ttarget: targetDetails(\"type\", typeName, schemaName),\n\t\t\tprecheck: [step(`ensure enum type \"${typeName}\" exists`, typePresent.sql, typePresent.params), step(`ensure value \"${value}\" is absent from enum type \"${typeName}\"`, valueAbsent.sql, valueAbsent.params)],\n\t\t\texecute: [step(`add value \"${value}\" to enum type \"${typeName}\"`, `ALTER TYPE ${qualifiedType} ADD VALUE '${escapeLiteral(value)}'`)],\n\t\t\tpostcheck: [step(`verify value \"${value}\" exists on enum type \"${typeName}\"`, valuePresent.sql, valuePresent.params)]\n\t\t};\n\t}\n\trenderTypeScript() {\n\t\treturn `this.addNativeEnumValue({ ${[\n\t\t\t`schema: ${jsonToTsSource(this.schemaName)}`,\n\t\t\t`typeName: ${jsonToTsSource(this.typeName)}`,\n\t\t\t`value: ${jsonToTsSource(this.value)}`\n\t\t].join(\", \")} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\n/**\n* A planner-generated data-transform stub. `checkSlot` and `runSlot` name\n* the unfilled authoring slots that the rendered `migration.ts` will expose\n* to the user via `placeholder(\"…\")` calls. `toOp()` always throws\n* `MIGRATION.UNFILLED_PLACEHOLDER`: the planner cannot lower a stubbed transform to a runtime\n* op — the user must fill the rendered `migration.ts` and re-emit.\n*/\nvar DataTransformCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"dataTransform\";\n\toperationClass;\n\tlabel;\n\tcheckSlot;\n\trunSlot;\n\tconstructor(label, checkSlot, runSlot, operationClass = \"data\") {\n\t\tsuper();\n\t\tthis.label = label;\n\t\tthis.checkSlot = checkSlot;\n\t\tthis.runSlot = runSlot;\n\t\tthis.operationClass = operationClass;\n\t\tthis.freeze();\n\t}\n\ttoOp() {\n\t\tthrow errorUnfilledPlaceholder(this.label);\n\t}\n\trenderTypeScript() {\n\t\treturn [\n\t\t\t`this.dataTransform(endContract, ${jsonToTsSource(this.label)}, {`,\n\t\t\t` check: () => placeholder(${jsonToTsSource(this.checkSlot)}),`,\n\t\t\t` run: () => placeholder(${jsonToTsSource(this.runSlot)}),`,\n\t\t\t\"})\"\n\t\t].join(\"\\n\");\n\t}\n\timportRequirements() {\n\t\treturn [{\n\t\t\tmoduleSpecifier: POSTGRES_MIGRATION_FACADE,\n\t\t\tsymbol: \"placeholder\"\n\t\t}];\n\t}\n};\nvar CreatePostgresRlsPolicyCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"createRlsPolicy\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttableName;\n\tpolicy;\n\tlabel;\n\tconstructor(schemaName, tableName, policy) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.policy = policy;\n\t\tthis.label = `Create RLS policy \"${policy.name}\" on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `CreatePostgresRlsPolicyCall.toOp: a lowerer is required on the Postgres planner path (policy \"${this.policy.name}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"CreatePostgresRlsPolicyCall\" } });\n\t\treturn createRlsPolicy(this.schemaName, this.tableName, this.policy, lowerer);\n\t}\n\trenderTypeScript() {\n\t\tconst p = this.policy;\n\t\tconst input = {\n\t\t\tnaming: namingOf(p.name, p.prefix),\n\t\t\ttableName: p.tableName,\n\t\t\tnamespaceId: p.namespaceId,\n\t\t\toperation: p.operation,\n\t\t\troles: p.roles,\n\t\t\t...ifDefined(\"using\", p.using),\n\t\t\t...ifDefined(\"withCheck\", p.withCheck),\n\t\t\tpermissive: p.permissive\n\t\t};\n\t\treturn `this.createRlsPolicy({ schema: ${jsonToTsSource(this.schemaName)}, table: ${jsonToTsSource(this.tableName)}, policy: ${jsonToTsSource(input)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar DropPostgresRlsPolicyCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"dropRlsPolicy\";\n\toperationClass = \"destructive\";\n\tschemaName;\n\ttableName;\n\tpolicyName;\n\tlabel;\n\tconstructor(schemaName, tableName, policyName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.policyName = policyName;\n\t\tthis.label = `Drop RLS policy \"${policyName}\" on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `DropPostgresRlsPolicyCall.toOp: a lowerer is required on the Postgres planner path (policy \"${this.policyName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"DropPostgresRlsPolicyCall\" } });\n\t\treturn dropRlsPolicy(this.schemaName, this.tableName, this.policyName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `this.dropRlsPolicy({ schema: ${jsonToTsSource(this.schemaName)}, table: ${jsonToTsSource(this.tableName)}, policy: ${jsonToTsSource(this.policyName)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar EnableRowLevelSecurityCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"enableRowLevelSecurity\";\n\toperationClass = \"additive\";\n\tschemaName;\n\ttableName;\n\tlabel;\n\tconstructor(schemaName, tableName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.label = `Enable row-level security on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `EnableRowLevelSecurityCall.toOp: a lowerer is required on the Postgres planner path (table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"EnableRowLevelSecurityCall\" } });\n\t\treturn enableRowLevelSecurity(this.schemaName, this.tableName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `this.enableRowLevelSecurity({ schema: ${jsonToTsSource(this.schemaName)}, table: ${jsonToTsSource(this.tableName)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar DisableRowLevelSecurityCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"disableRowLevelSecurity\";\n\toperationClass = \"destructive\";\n\tschemaName;\n\ttableName;\n\tlabel;\n\tconstructor(schemaName, tableName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.label = `Disable row-level security on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `DisableRowLevelSecurityCall.toOp: a lowerer is required on the Postgres planner path (table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"DisableRowLevelSecurityCall\" } });\n\t\treturn disableRowLevelSecurity(this.schemaName, this.tableName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `this.disableRowLevelSecurity({ schema: ${jsonToTsSource(this.schemaName)}, table: ${jsonToTsSource(this.tableName)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\nvar RenamePostgresRlsPolicyCall = class extends PostgresOpFactoryCallNode {\n\tfactoryName = \"renameRlsPolicy\";\n\toperationClass = \"widening\";\n\tschemaName;\n\ttableName;\n\toldPolicyName;\n\tnewPolicyName;\n\tlabel;\n\tconstructor(schemaName, tableName, oldPolicyName, newPolicyName) {\n\t\tsuper();\n\t\tthis.schemaName = schemaName;\n\t\tthis.tableName = tableName;\n\t\tthis.oldPolicyName = oldPolicyName;\n\t\tthis.newPolicyName = newPolicyName;\n\t\tthis.label = `Rename RLS policy \"${oldPolicyName}\" to \"${newPolicyName}\" on \"${tableName}\"`;\n\t\tthis.freeze();\n\t}\n\tasync toOp(lowerer) {\n\t\tif (lowerer === void 0) throw postgresError(\"MIGRATION.POSTGRES_CONTROL_STACK_MISSING\", `RenamePostgresRlsPolicyCall.toOp: a lowerer is required on the Postgres planner path (policy \"${this.oldPolicyName}\" on table \"${this.tableName}\"). Pass the control adapter to createPostgresMigrationPlanner.`, { meta: { factory: \"RenamePostgresRlsPolicyCall\" } });\n\t\treturn renameRlsPolicy(this.schemaName, this.tableName, this.oldPolicyName, this.newPolicyName, lowerer);\n\t}\n\trenderTypeScript() {\n\t\treturn `this.renameRlsPolicy({ schema: ${jsonToTsSource(this.schemaName)}, table: ${jsonToTsSource(this.tableName)}, from: ${jsonToTsSource(this.oldPolicyName)}, to: ${jsonToTsSource(this.newPolicyName)} })`;\n\t}\n\timportRequirements() {\n\t\treturn [];\n\t}\n};\n//#endregion\nexport { RenamePostgresRlsPolicyCall as A, DropNativeEnumTypeCall as C, EnableRowLevelSecurityCall as D, DropTableCall as E, createExtension as F, installExtension as I, SetNotNullCall as M, postgresDefaultToDdlColumnDefault as N, RawSqlCall as O, buildTargetDetails as P, DropIndexCall as S, DropPostgresRlsPolicyCall as T, DisableRowLevelSecurityCall as _, AddNotNullColumnDirectCall as a, DropConstraintCall as b, AddUniqueCall as c, CreateIndexCall as d, CreateNativeEnumTypeCall as f, DataTransformCall as g, CreateTableCall as h, AddNativeEnumValueCall as i, SetDefaultCall as j, RenameIndexCall as k, AlterColumnTypeCall as l, CreateSchemaCall as m, AddColumnCall as n, AddNotNullColumnWithTempDefaultCall as o, CreatePostgresRlsPolicyCall as p, AddForeignKeyCall as r, AddPrimaryKeyCall as s, AddCheckConstraintCall as t, CreateExtensionCall as u, DropCheckConstraintCall as v, DropNotNullCall as w, DropDefaultCall as x, DropColumnCall as y };\n\n//# sourceMappingURL=op-factory-call-B3DVhHrC.mjs.map"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "./op-factory-call-DJEyoQmT-DSMQffKu.mjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"op-factory-call-DJEyoQmT-DSMQffKu.d.mts","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/op-factory-call-DJEyoQmT.d.mts"],"mappings":"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"}
|