@prisma/orm-family-sql 8.0.0-rc.8-dev.16 → 8.0.0-rc.8-dev.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/{authoring-type-constructors-Blqoa2Ua-DqvNCOb2.mjs → authoring-type-constructors-Blqoa2Ua-CFFAzyES.mjs} +2 -2
  2. package/dist/{authoring-type-constructors-Blqoa2Ua-DqvNCOb2.mjs.map → authoring-type-constructors-Blqoa2Ua-CFFAzyES.mjs.map} +1 -1
  3. package/dist/{config-types-gAm54C_v.mjs → config-types-DHDQ3dST.mjs} +2 -2
  4. package/dist/{config-types-gAm54C_v.mjs.map → config-types-DHDQ3dST.mjs.map} +1 -1
  5. package/dist/{contract-builder-D4a5dT7j.mjs → contract-builder-CZSaZ6Vi.mjs} +2 -2
  6. package/dist/{contract-builder-D4a5dT7j.mjs.map → contract-builder-CZSaZ6Vi.mjs.map} +1 -1
  7. package/dist/contract-psl.mjs +1 -1
  8. package/dist/contract-psl__attribute-specs.d.mts +77 -0
  9. package/dist/contract-psl__attribute-specs.d.mts.map +1 -0
  10. package/dist/contract-psl__attribute-specs.mjs +2 -0
  11. package/dist/contract-psl__provider.mjs +2 -2
  12. package/dist/contract-psl__provider.mjs.map +1 -1
  13. package/dist/contract-ts.mjs +3 -3
  14. package/dist/contract-ts__config-types.mjs +1 -1
  15. package/dist/contract-ts__contract-builder.mjs +2 -2
  16. package/dist/{control-CyOPr5No.d.mts → control-CCQP4VFK.d.mts} +69 -1
  17. package/dist/control-CCQP4VFK.d.mts.map +1 -0
  18. package/dist/{control-BUSwZs4O.mjs → control-DheONC4E.mjs} +5 -3
  19. package/dist/control-DheONC4E.mjs.map +1 -0
  20. package/dist/{derived-checks-DFMRmiAu-DGfB8aS4.mjs → derived-checks-BzL102Q0-0nIMlEux.mjs} +9 -6
  21. package/dist/derived-checks-BzL102Q0-0nIMlEux.mjs.map +1 -0
  22. package/dist/family.d.mts +2 -1
  23. package/dist/family.mjs +1 -1
  24. package/dist/family__control.d.mts +1 -1
  25. package/dist/family__control.mjs +1 -1
  26. package/dist/family__pack.d.mts +2 -249
  27. package/dist/family__pack.mjs +4 -2
  28. package/dist/family__pack.mjs.map +1 -1
  29. package/dist/index-DrcrDbOI-BlARY_6q.d.mts +536 -0
  30. package/dist/index-DrcrDbOI-BlARY_6q.d.mts.map +1 -0
  31. package/dist/{interpreter-RTglKUpM-DUHChvJN.mjs → interpreter-DQIdQxL1-DyNYhhep.mjs} +68 -297
  32. package/dist/interpreter-DQIdQxL1-DyNYhhep.mjs.map +1 -0
  33. package/dist/pack-Chia4J0l.d.mts +317 -0
  34. package/dist/pack-Chia4J0l.d.mts.map +1 -0
  35. package/dist/sql-attribute-specs-Cr8_u9ma-ENY2C_np.mjs +281 -0
  36. package/dist/sql-attribute-specs-Cr8_u9ma-ENY2C_np.mjs.map +1 -0
  37. package/package.json +18 -17
  38. package/dist/control-BUSwZs4O.mjs.map +0 -1
  39. package/dist/control-CyOPr5No.d.mts.map +0 -1
  40. package/dist/derived-checks-DFMRmiAu-DGfB8aS4.mjs.map +0 -1
  41. package/dist/family__pack.d.mts.map +0 -1
  42. package/dist/interpreter-RTglKUpM-DUHChvJN.mjs.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/orm-family-sql",
3
- "version": "8.0.0-rc.8-dev.16",
3
+ "version": "8.0.0-rc.8-dev.18",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -9,8 +9,8 @@
9
9
  "dist"
10
10
  ],
11
11
  "dependencies": {
12
- "@prisma/orm-framework": "8.0.0-rc.8-dev.16",
13
- "@prisma/orm-toolchain": "8.0.0-rc.8-dev.16",
12
+ "@prisma/orm-framework": "8.0.0-rc.8-dev.18",
13
+ "@prisma/orm-toolchain": "8.0.0-rc.8-dev.18",
14
14
  "@standard-schema/spec": "^1.1.0",
15
15
  "arktype": "^2.2.2",
16
16
  "pathe": "^2.0.3",
@@ -18,20 +18,20 @@
18
18
  "ts-toolbelt": "^9.6.0"
19
19
  },
20
20
  "devDependencies": {
21
- "@internal/family-sql": "8.0.0-rc.8-dev.16",
22
- "@internal/sql-builder": "8.0.0-rc.8-dev.16",
23
- "@internal/sql-contract": "8.0.0-rc.8-dev.16",
24
- "@internal/sql-contract-emitter": "8.0.0-rc.8-dev.16",
25
- "@internal/sql-contract-psl": "8.0.0-rc.8-dev.16",
26
- "@internal/sql-contract-ts": "8.0.0-rc.8-dev.16",
27
- "@internal/sql-errors": "8.0.0-rc.8-dev.16",
28
- "@internal/sql-operations": "8.0.0-rc.8-dev.16",
29
- "@internal/sql-orm-client": "8.0.0-rc.8-dev.16",
30
- "@internal/sql-relational-core": "8.0.0-rc.8-dev.16",
31
- "@internal/sql-runtime": "8.0.0-rc.8-dev.16",
32
- "@internal/sql-schema-ir": "8.0.0-rc.8-dev.16",
33
- "@repo/tsconfig": "8.0.0-rc.8-dev.16",
34
- "@repo/tsdown": "8.0.0-rc.8-dev.16",
21
+ "@internal/family-sql": "8.0.0-rc.8-dev.18",
22
+ "@internal/sql-builder": "8.0.0-rc.8-dev.18",
23
+ "@internal/sql-contract": "8.0.0-rc.8-dev.18",
24
+ "@internal/sql-contract-emitter": "8.0.0-rc.8-dev.18",
25
+ "@internal/sql-contract-psl": "8.0.0-rc.8-dev.18",
26
+ "@internal/sql-contract-ts": "8.0.0-rc.8-dev.18",
27
+ "@internal/sql-errors": "8.0.0-rc.8-dev.18",
28
+ "@internal/sql-operations": "8.0.0-rc.8-dev.18",
29
+ "@internal/sql-orm-client": "8.0.0-rc.8-dev.18",
30
+ "@internal/sql-relational-core": "8.0.0-rc.8-dev.18",
31
+ "@internal/sql-runtime": "8.0.0-rc.8-dev.18",
32
+ "@internal/sql-schema-ir": "8.0.0-rc.8-dev.18",
33
+ "@repo/tsconfig": "8.0.0-rc.8-dev.18",
34
+ "@repo/tsdown": "8.0.0-rc.8-dev.18",
35
35
  "tsdown": "0.22.14",
36
36
  "typescript": "5.9.3"
37
37
  },
@@ -66,6 +66,7 @@
66
66
  "./contract/value-set-derivation-hook": "./dist/contract__value-set-derivation-hook.mjs",
67
67
  "./contract-emitter": "./dist/contract-emitter.mjs",
68
68
  "./contract-psl": "./dist/contract-psl.mjs",
69
+ "./contract-psl/attribute-specs": "./dist/contract-psl__attribute-specs.mjs",
69
70
  "./contract-psl/provider": "./dist/contract-psl__provider.mjs",
70
71
  "./contract-ts": "./dist/contract-ts.mjs",
71
72
  "./contract-ts/config-types": "./dist/contract-ts__config-types.mjs",
@@ -1 +0,0 @@
1
- {"version":3,"file":"control-BUSwZs4O.mjs","names":[],"sources":["../../../../2-sql/9-family/dist/control.mjs"],"sourcesContent":["import { i as sqlFamilyPslBlockDescriptors, n as sqlFamilyAuthoringFieldPresets, r as sqlFamilyEntityTypes, t as sqlFamilyAuthoringTypes } from \"./authoring-type-constructors-Blqoa2Ua.mjs\";\nimport { n as classifyDiffSubjectGranularity, o as verifySqlSchemaByDiff, s as extractCodecControlHooks, t as classifyDiffEntityKind } from \"./schema-verify-C_PEdlAr.mjs\";\nimport { t as sqlFamilyError } from \"./errors-B5g0xWro.mjs\";\nimport { t as SqlContractSerializer } from \"./sql-contract-serializer-2oBWuxTe.mjs\";\nimport { t as collectSupportedCodecTypeIds } from \"./verify-ChiDeTk8.mjs\";\nimport { a as temporalStringAuthoringPresets, i as temporalCodecPresetWithPrecision, n as temporalAuthoringPresets, o as timestampNowControlDescriptor, r as temporalCodecPreset } from \"./timestamp-now-generator-BZnBo7IC.mjs\";\nimport { sqlEmission } from \"@internal/sql-contract-emitter\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { APP_SPACE_ID, SchemaTreeNode, VERIFY_CODE_HASH_MISMATCH, VERIFY_CODE_MARKER_MISSING, VERIFY_CODE_TARGET_MISMATCH, assembleAuthoringContributions } from \"@internal/framework-components/control\";\nimport { isPlainRecord } from \"@internal/framework-components/ir\";\nimport { assertDescriptorSelfConsistency } from \"@internal/migration-tools/spaces\";\nimport { sqlContractCanonicalizationHooks } from \"@internal/sql-contract/canonicalization-hooks\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { effectiveControlPolicy } from \"@internal/contract/types\";\nimport { StorageTable, isStorageTypeInstance } from \"@internal/sql-contract/types\";\nimport { namingOf } from \"@internal/sql-schema-ir/naming\";\nimport { RelationalSchemaNodeKind, SqlSchemaIR, SqlTableIR } from \"@internal/sql-schema-ir/types\";\nimport { notOk, ok } from \"@internal/utils/result\";\n//#region src/core/operation-preview.ts\nfunction isDdlStatement(sqlStatement) {\n\tconst trimmed = sqlStatement.trim().toLowerCase();\n\treturn trimmed.startsWith(\"create \") || trimmed.startsWith(\"alter \") || trimmed.startsWith(\"drop \");\n}\nfunction hasExecuteSteps(operation) {\n\tconst candidate = operation;\n\tif (!(\"execute\" in candidate) || !Array.isArray(candidate[\"execute\"])) return false;\n\treturn candidate[\"execute\"].every((step) => typeof step === \"object\" && step !== null && \"sql\" in step);\n}\n/**\n* Extracts a best-effort SQL DDL preview for CLI plan output.\n* Presentation-only: never used to decide migration correctness.\n*/\nfunction extractSqlDdl(operations) {\n\tconst statements = [];\n\tfor (const operation of operations) {\n\t\tif (!hasExecuteSteps(operation)) continue;\n\t\tfor (const step of operation.execute) if (typeof step.sql === \"string\" && isDdlStatement(step.sql)) statements.push(step.sql.trim());\n\t}\n\treturn statements;\n}\n/**\n* Wraps `extractSqlDdl` into the family-agnostic `OperationPreview` shape.\n* Each statement carries `language: 'sql'`.\n*/\nfunction sqlOperationsToPreview(operations) {\n\treturn { statements: extractSqlDdl(operations).map((text) => ({\n\t\ttext,\n\t\tlanguage: \"sql\"\n\t})) };\n}\n//#endregion\n//#region src/core/control-instance.ts\nfunction missingDescriptorOperationError(targetId, operation) {\n\treturn sqlFamilyError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `SQL target \"${targetId}\" is missing the required ${operation} descriptor operation`, {\n\t\twhy: `The target descriptor does not contribute the ${operation} operation the SQL family requires for this call.`,\n\t\tfix: `Use a target package whose control descriptor implements ${operation}.`,\n\t\tmeta: {\n\t\t\ttargetId,\n\t\t\toperation\n\t\t}\n\t});\n}\nfunction extractCodecTypeIdsFromContract(contract) {\n\tconst typeIds = /* @__PURE__ */ new Set();\n\tif (typeof contract === \"object\" && contract !== null && \"storage\" in contract && typeof contract.storage === \"object\" && contract.storage !== null && \"namespaces\" in contract.storage && typeof contract.storage.namespaces === \"object\" && contract.storage.namespaces !== null) {\n\t\tconst namespaces = contract.storage.namespaces;\n\t\tfor (const ns of Object.values(namespaces)) {\n\t\t\tconst tbls = ns.entries[\"table\"];\n\t\t\tif (typeof tbls !== \"object\" || tbls === null) continue;\n\t\t\tfor (const table of Object.values(tbls)) if (typeof table === \"object\" && table !== null && \"columns\" in table && typeof table.columns === \"object\" && table.columns !== null) {\n\t\t\t\tconst columns = table.columns;\n\t\t\t\tfor (const column of Object.values(columns)) if (column && typeof column === \"object\" && \"codecId\" in column && typeof column.codecId === \"string\") typeIds.add(column.codecId);\n\t\t\t}\n\t\t}\n\t}\n\treturn Array.from(typeIds).sort();\n}\nfunction createVerifyResult(options) {\n\tconst contract = { storageHash: options.contractStorageHash };\n\tif (options.contractProfileHash) contract.profileHash = options.contractProfileHash;\n\tconst target = { expected: options.expectedTargetId };\n\tif (options.actualTargetId) target.actual = options.actualTargetId;\n\tconst meta = { contractPath: options.contractPath };\n\tif (options.configPath) meta.configPath = options.configPath;\n\tconst result = {\n\t\tok: options.ok,\n\t\tsummary: options.summary,\n\t\tcontract,\n\t\ttarget,\n\t\tmeta,\n\t\ttimings: { total: options.totalTime }\n\t};\n\tif (options.code) result.code = options.code;\n\tif (options.marker) result.marker = {\n\t\tstorageHash: options.marker.storageHash,\n\t\tprofileHash: options.marker.profileHash\n\t};\n\tif (options.missingCodecs) result.missingCodecs = options.missingCodecs;\n\tif (options.codecCoverageSkipped) result.codecCoverageSkipped = options.codecCoverageSkipped;\n\treturn result;\n}\nfunction buildSqlTypeMetadataRegistry(options) {\n\tconst { target, adapter, extensions } = options;\n\tconst registry = /* @__PURE__ */ new Map();\n\tconst targetId = adapter.targetId;\n\tconst descriptors = [\n\t\ttarget,\n\t\tadapter,\n\t\t...extensions\n\t];\n\tfor (const descriptor of descriptors) {\n\t\tconst storageTypes = descriptor.types?.storage;\n\t\tif (!storageTypes) continue;\n\t\tfor (const storageType of storageTypes) if (storageType.familyId === \"sql\" && storageType.targetId === targetId) registry.set(storageType.typeId, {\n\t\t\ttypeId: storageType.typeId,\n\t\t\tfamilyId: \"sql\",\n\t\t\ttargetId: storageType.targetId,\n\t\t\t...storageType.nativeType !== void 0 ? { nativeType: storageType.nativeType } : {}\n\t\t});\n\t}\n\treturn registry;\n}\n/**\n* Builds a map from each extension id to the set of extension ids it\n* transitively depends on. Uses the same declared-dependency data that\n* `buildExtensionLoadOrder` in control-stack uses.\n*/\nfunction buildTransitiveDependsOnMap(extensions) {\n\tconst directDeps = /* @__PURE__ */ new Map();\n\tfor (const ext of extensions) {\n\t\tconst packs = ext.contractSpace?.contractJson?.extensions;\n\t\tconst deps = packs !== null && typeof packs === \"object\" ? Object.keys(packs) : [];\n\t\tdirectDeps.set(ext.id, deps);\n\t}\n\tconst result = /* @__PURE__ */ new Map();\n\tconst resolve = (id, visiting) => {\n\t\tconst cached = result.get(id);\n\t\tif (cached !== void 0) return cached;\n\t\tconst set = /* @__PURE__ */ new Set();\n\t\tresult.set(id, set);\n\t\tfor (const depId of directDeps.get(id) ?? []) {\n\t\t\tset.add(depId);\n\t\t\tif (!visiting.has(depId)) {\n\t\t\t\tvisiting.add(depId);\n\t\t\t\tfor (const transitive of resolve(depId, visiting)) set.add(transitive);\n\t\t\t\tvisiting.delete(depId);\n\t\t\t}\n\t\t}\n\t\treturn set;\n\t};\n\tfor (const ext of extensions) resolve(ext.id, /* @__PURE__ */ new Set([ext.id]));\n\treturn result;\n}\n/**\n* Asserts that no cross-space FK in any extension points against the\n* dependency direction.\n*\n* A cross-space FK (target.spaceId present) from extension A pointing at\n* space B is a violation when B depends on A (directly or transitively),\n* because that means A is pointing \"upward\" against the dependency arrows\n* established by the extension load order.\n*\n* Throws with a diagnostic naming the violating extension (source), the\n* target space, and the direction violation.\n*/\nfunction isObjectRecord(v) {\n\treturn typeof v === \"object\" && v !== null;\n}\nfunction assertNoCrossSpaceFkReverseReferences(extensions) {\n\tconst dependsOnMap = buildTransitiveDependsOnMap(extensions);\n\tfor (const ext of extensions) {\n\t\tconst namespaces = ext.contractSpace?.contractJson?.storage?.namespaces;\n\t\tif (!isObjectRecord(namespaces)) continue;\n\t\tfor (const ns of Object.values(namespaces)) {\n\t\t\tif (!isObjectRecord(ns)) continue;\n\t\t\tconst entries = ns[\"entries\"];\n\t\t\tif (!isObjectRecord(entries)) continue;\n\t\t\tfor (const slot of Object.values(entries)) {\n\t\t\t\tif (!isObjectRecord(slot)) continue;\n\t\t\t\tfor (const table of Object.values(slot)) {\n\t\t\t\t\tif (!isObjectRecord(table)) continue;\n\t\t\t\t\tconst foreignKeys = table[\"foreignKeys\"];\n\t\t\t\t\tif (!Array.isArray(foreignKeys)) continue;\n\t\t\t\t\tfor (const fk of foreignKeys) {\n\t\t\t\t\t\tif (!isObjectRecord(fk)) continue;\n\t\t\t\t\t\tconst target = fk[\"target\"];\n\t\t\t\t\t\tif (!isObjectRecord(target)) continue;\n\t\t\t\t\t\tif (target[\"spaceId\"] === void 0) continue;\n\t\t\t\t\t\tconst targetSpaceId = target[\"spaceId\"];\n\t\t\t\t\t\tif (typeof targetSpaceId !== \"string\") continue;\n\t\t\t\t\t\tif (dependsOnMap.get(targetSpaceId)?.has(ext.id)) throw sqlFamilyError(\"CONTRACT.FOREIGN_KEY_INVALID\", `Cross-space FK reverse-reference detected: extension \"${ext.id}\" has a cross-space FK targeting space \"${targetSpaceId}\", but \"${targetSpaceId}\" depends on \"${ext.id}\". Cross-space FKs must follow the dependency direction (a space can only reference spaces it depends on, not spaces that depend on it).`, {\n\t\t\t\t\t\t\twhy: \"The foreign key points against the contract-space dependency direction.\",\n\t\t\t\t\t\t\tfix: \"Move the foreign key to the depending space, or restructure the extension dependencies so the referencing space depends on the referenced one.\",\n\t\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\t\textensionId: ext.id,\n\t\t\t\t\t\t\t\ttargetSpaceId\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\nfunction createSqlFamilyInstance(stack) {\n\tif (!stack.adapter) throw new InternalError(\"SQL family requires an adapter descriptor in ControlStack\");\n\tconst target = stack.target;\n\tconst adapter = stack.adapter;\n\tconst extensions = stack.extensions;\n\tfor (const extension of extensions) if (extension.contractSpace) {\n\t\tconst { contractJson, headRef } = extension.contractSpace;\n\t\tassertDescriptorSelfConsistency({\n\t\t\textensionId: extension.id,\n\t\t\ttarget: contractJson.target,\n\t\t\ttargetFamily: contractJson.targetFamily,\n\t\t\tstorage: contractJson.storage,\n\t\t\theadRefHash: headRef.hash,\n\t\t\t...sqlContractCanonicalizationHooks\n\t\t});\n\t}\n\tassertNoCrossSpaceFkReverseReferences(extensions);\n\tconst { codecTypeImports, extensionIds } = stack;\n\tconst typeMetadataRegistry = buildSqlTypeMetadataRegistry({\n\t\ttarget,\n\t\tadapter,\n\t\textensions\n\t});\n\tlet controlAdapter;\n\tconst getControlAdapter = () => controlAdapter ??= adapter.create(stack);\n\tconst targetSerializer = target.contractSerializer;\n\tconst targetInferPslContract = blindCast(target).inferPslContract;\n\tconst diffSchema = blindCast(target).diffSchema;\n\tconst targetGranularityOf = blindCast(target).classifySubjectGranularity;\n\tconst targetEntityKindOf = blindCast(target).classifyEntityKind;\n\tconst describedContracts = extensions.flatMap((extension) => extension.contractSpace ? [{\n\t\tspaceId: extension.id,\n\t\tcontract: extension.contractSpace.contractJson\n\t}] : []);\n\tconst deserializeWithTargetSerializer = (contractOrJson) => {\n\t\tconst serializer = targetSerializer ?? new SqlContractSerializer();\n\t\tconst json = targetSerializer !== void 0 && !isPlainRecord(contractOrJson) ? targetSerializer.serializeContract(blindCast(contractOrJson)) : contractOrJson;\n\t\treturn serializer.deserializeContract(json);\n\t};\n\treturn {\n\t\tfamilyId: \"sql\",\n\t\tcodecTypeImports,\n\t\textensionIds,\n\t\ttypeMetadataRegistry,\n\t\tdeserializeContract(contractJson) {\n\t\t\treturn deserializeWithTargetSerializer(contractJson);\n\t\t},\n\t\tasync verify(verifyOptions) {\n\t\t\tconst { driver, contract: rawContract, expectedTargetId, contractPath, configPath } = verifyOptions;\n\t\t\tconst startTime = Date.now();\n\t\t\tconst contract = deserializeWithTargetSerializer(rawContract);\n\t\t\tconst contractStorageHash = contract.storage.storageHash;\n\t\t\tconst contractProfileHash = contract.profileHash;\n\t\t\tconst contractTarget = contract.target;\n\t\t\tconst marker = await getControlAdapter().readMarker(driver, APP_SPACE_ID);\n\t\t\tlet missingCodecs;\n\t\t\tlet codecCoverageSkipped = false;\n\t\t\tconst supportedTypeIds = collectSupportedCodecTypeIds([\n\t\t\t\tadapter,\n\t\t\t\ttarget,\n\t\t\t\t...extensions\n\t\t\t]);\n\t\t\tif (supportedTypeIds.length === 0) codecCoverageSkipped = true;\n\t\t\telse {\n\t\t\t\tconst supportedSet = new Set(supportedTypeIds);\n\t\t\t\tconst missing = extractCodecTypeIdsFromContract(contract).filter((id) => !supportedSet.has(id));\n\t\t\t\tif (missing.length > 0) missingCodecs = missing;\n\t\t\t}\n\t\t\tif (!marker) return createVerifyResult({\n\t\t\t\tok: false,\n\t\t\t\tcode: VERIFY_CODE_MARKER_MISSING,\n\t\t\t\tsummary: \"Marker missing\",\n\t\t\t\tcontractStorageHash,\n\t\t\t\texpectedTargetId,\n\t\t\t\tcontractPath,\n\t\t\t\ttotalTime: Date.now() - startTime,\n\t\t\t\t...contractProfileHash ? { contractProfileHash } : {},\n\t\t\t\t...missingCodecs ? { missingCodecs } : {},\n\t\t\t\t...codecCoverageSkipped ? { codecCoverageSkipped } : {},\n\t\t\t\t...configPath ? { configPath } : {}\n\t\t\t});\n\t\t\tif (contractTarget !== expectedTargetId) return createVerifyResult({\n\t\t\t\tok: false,\n\t\t\t\tcode: VERIFY_CODE_TARGET_MISMATCH,\n\t\t\t\tsummary: \"Target mismatch\",\n\t\t\t\tcontractStorageHash,\n\t\t\t\tmarker,\n\t\t\t\texpectedTargetId,\n\t\t\t\tactualTargetId: contractTarget,\n\t\t\t\tcontractPath,\n\t\t\t\ttotalTime: Date.now() - startTime,\n\t\t\t\t...contractProfileHash ? { contractProfileHash } : {},\n\t\t\t\t...missingCodecs ? { missingCodecs } : {},\n\t\t\t\t...codecCoverageSkipped ? { codecCoverageSkipped } : {},\n\t\t\t\t...configPath ? { configPath } : {}\n\t\t\t});\n\t\t\tif (marker.storageHash !== contractStorageHash) return createVerifyResult({\n\t\t\t\tok: false,\n\t\t\t\tcode: VERIFY_CODE_HASH_MISMATCH,\n\t\t\t\tsummary: \"Hash mismatch\",\n\t\t\t\tcontractStorageHash,\n\t\t\t\tmarker,\n\t\t\t\texpectedTargetId,\n\t\t\t\tcontractPath,\n\t\t\t\ttotalTime: Date.now() - startTime,\n\t\t\t\t...contractProfileHash ? { contractProfileHash } : {},\n\t\t\t\t...missingCodecs ? { missingCodecs } : {},\n\t\t\t\t...codecCoverageSkipped ? { codecCoverageSkipped } : {},\n\t\t\t\t...configPath ? { configPath } : {}\n\t\t\t});\n\t\t\tif (contractProfileHash && marker.profileHash !== contractProfileHash) return createVerifyResult({\n\t\t\t\tok: false,\n\t\t\t\tcode: VERIFY_CODE_HASH_MISMATCH,\n\t\t\t\tsummary: \"Hash mismatch\",\n\t\t\t\tcontractStorageHash,\n\t\t\t\tcontractProfileHash,\n\t\t\t\tmarker,\n\t\t\t\texpectedTargetId,\n\t\t\t\tcontractPath,\n\t\t\t\ttotalTime: Date.now() - startTime,\n\t\t\t\t...missingCodecs ? { missingCodecs } : {},\n\t\t\t\t...codecCoverageSkipped ? { codecCoverageSkipped } : {},\n\t\t\t\t...configPath ? { configPath } : {}\n\t\t\t});\n\t\t\treturn createVerifyResult({\n\t\t\t\tok: true,\n\t\t\t\tsummary: \"Database matches contract\",\n\t\t\t\tcontractStorageHash,\n\t\t\t\tmarker,\n\t\t\t\texpectedTargetId,\n\t\t\t\tcontractPath,\n\t\t\t\ttotalTime: Date.now() - startTime,\n\t\t\t\t...contractProfileHash ? { contractProfileHash } : {},\n\t\t\t\t...missingCodecs ? { missingCodecs } : {},\n\t\t\t\t...codecCoverageSkipped ? { codecCoverageSkipped } : {},\n\t\t\t\t...configPath ? { configPath } : {}\n\t\t\t});\n\t\t},\n\t\tverifySchema(options) {\n\t\t\tconst contract = deserializeWithTargetSerializer(options.contract);\n\t\t\tif (!diffSchema) throw missingDescriptorOperationError(target.targetId, \"diffSchema\");\n\t\t\tif (!targetGranularityOf) throw missingDescriptorOperationError(target.targetId, \"classifySubjectGranularity\");\n\t\t\treturn verifySqlSchemaByDiff({\n\t\t\t\tcontract,\n\t\t\t\tschema: options.schema,\n\t\t\t\tstrict: options.strict,\n\t\t\t\tframeworkComponents: options.frameworkComponents,\n\t\t\t\tdiffSchema,\n\t\t\t\tgranularityOf: targetGranularityOf\n\t\t\t});\n\t\t},\n\t\t/**\n\t\t* Classifies a diff issue's subject granularity on demand, by resolving\n\t\t* its node's `nodeKind` through the target's classifier — the\n\t\t* {@link import('@internal/framework-components/control').SchemaSubjectClassifierCapable}\n\t\t* capability. Framework consumers spanning contract spaces (the\n\t\t* migration aggregate's unclaimed-elements sweep) detect and call this\n\t\t* instead of reaching into the concrete schema-IR node, which they\n\t\t* cannot read; nothing is stamped on the issue or the node.\n\t\t*/\n\t\tclassifySubjectGranularity(issue) {\n\t\t\tif (!targetGranularityOf) throw missingDescriptorOperationError(target.targetId, \"classifySubjectGranularity\");\n\t\t\treturn classifyDiffSubjectGranularity(issue, targetGranularityOf);\n\t\t},\n\t\t/**\n\t\t* Classifies a diff issue's subject storage `entityKind` on demand, by\n\t\t* resolving its node's `nodeKind` through the target's classifier —\n\t\t* the sibling of `classifySubjectGranularity` above, and part of the\n\t\t* same {@link import('@internal/framework-components/control').SchemaSubjectClassifierCapable}\n\t\t* capability.\n\t\t*/\n\t\tclassifyEntityKind(issue) {\n\t\t\tif (!targetEntityKindOf) throw missingDescriptorOperationError(target.targetId, \"classifyEntityKind\");\n\t\t\treturn classifyDiffEntityKind(issue, targetEntityKindOf);\n\t\t},\n\t\tasync sign(options) {\n\t\t\tconst { driver, contract: contractInput, contractPath, configPath } = options;\n\t\t\tconst startTime = Date.now();\n\t\t\tconst contract = deserializeWithTargetSerializer(contractInput);\n\t\t\tconst contractStorageHash = contract.storage.storageHash;\n\t\t\tconst contractProfileHash = \"profileHash\" in contract && typeof contract.profileHash === \"string\" ? contract.profileHash : contractStorageHash;\n\t\t\tconst contractTarget = contract.target;\n\t\t\tconst controlAdapter = getControlAdapter();\n\t\t\tconst lowererContext = { contract };\n\t\t\tfor (const query of controlAdapter.bootstrapSignMarkerQueries()) {\n\t\t\t\tconst lowered = await controlAdapter.lowerToExecuteRequest(query, lowererContext);\n\t\t\t\tawait driver.query(lowered.sql, lowered.params);\n\t\t\t}\n\t\t\tconst existingMarker = await controlAdapter.readMarker(driver, APP_SPACE_ID);\n\t\t\tlet markerCreated = false;\n\t\t\tlet markerUpdated = false;\n\t\t\tlet previousHashes;\n\t\t\tif (!existingMarker) {\n\t\t\t\tawait controlAdapter.insertMarker(driver, APP_SPACE_ID, {\n\t\t\t\t\tstorageHash: contractStorageHash,\n\t\t\t\t\tprofileHash: contractProfileHash\n\t\t\t\t});\n\t\t\t\tmarkerCreated = true;\n\t\t\t} else {\n\t\t\t\tconst existingStorageHash = existingMarker.storageHash;\n\t\t\t\tconst existingProfileHash = existingMarker.profileHash;\n\t\t\t\tif (!(existingStorageHash === contractStorageHash) || !(existingProfileHash === contractProfileHash)) {\n\t\t\t\t\tpreviousHashes = {\n\t\t\t\t\t\tstorageHash: existingStorageHash,\n\t\t\t\t\t\tprofileHash: existingProfileHash\n\t\t\t\t\t};\n\t\t\t\t\tif (!await controlAdapter.updateMarker(driver, APP_SPACE_ID, existingStorageHash, {\n\t\t\t\t\t\tstorageHash: contractStorageHash,\n\t\t\t\t\t\tprofileHash: contractProfileHash\n\t\t\t\t\t})) throw sqlFamilyError(\"MIGRATION.MARKER_CAS_FAILURE\", \"CAS conflict: marker was modified by another process during sign\", {\n\t\t\t\t\t\twhy: \"Another process updated the contract marker between the read and the compare-and-swap write.\",\n\t\t\t\t\t\tfix: \"Re-run the sign command; if it keeps failing, make sure only one migration process runs at a time.\",\n\t\t\t\t\t\tmeta: { space: APP_SPACE_ID }\n\t\t\t\t\t});\n\t\t\t\t\tmarkerUpdated = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tlet summary;\n\t\t\tif (markerCreated) summary = \"Database signed (marker created)\";\n\t\t\telse if (markerUpdated) summary = `Database signed (marker updated from ${previousHashes?.storageHash ?? \"unknown\"})`;\n\t\t\telse summary = \"Database already signed with this contract\";\n\t\t\tconst totalTime = Date.now() - startTime;\n\t\t\treturn {\n\t\t\t\tok: true,\n\t\t\t\tsummary,\n\t\t\t\tcontract: {\n\t\t\t\t\tstorageHash: contractStorageHash,\n\t\t\t\t\tprofileHash: contractProfileHash\n\t\t\t\t},\n\t\t\t\ttarget: {\n\t\t\t\t\texpected: contractTarget,\n\t\t\t\t\tactual: contractTarget\n\t\t\t\t},\n\t\t\t\tmarker: {\n\t\t\t\t\tcreated: markerCreated,\n\t\t\t\t\tupdated: markerUpdated,\n\t\t\t\t\t...previousHashes ? { previous: previousHashes } : {}\n\t\t\t\t},\n\t\t\t\tmeta: {\n\t\t\t\t\tcontractPath,\n\t\t\t\t\t...configPath ? { configPath } : {}\n\t\t\t\t},\n\t\t\t\ttimings: { total: totalTime }\n\t\t\t};\n\t\t},\n\t\tasync readMarker(options) {\n\t\t\treturn getControlAdapter().readMarker(options.driver, options.space);\n\t\t},\n\t\tasync readAllMarkers(options) {\n\t\t\treturn getControlAdapter().readAllMarkers(options.driver);\n\t\t},\n\t\tasync readLedger(options) {\n\t\t\treturn getControlAdapter().readLedger(options.driver, options.space);\n\t\t},\n\t\tasync initMarker(options) {\n\t\t\treturn getControlAdapter().initMarker(options.driver, options.space, options.destination);\n\t\t},\n\t\tasync updateMarker(options) {\n\t\t\treturn getControlAdapter().updateMarker(options.driver, options.space, options.expectedFrom, options.destination);\n\t\t},\n\t\tasync writeLedgerEntry(options) {\n\t\t\treturn getControlAdapter().writeLedgerEntry(options.driver, options.space, options.entry);\n\t\t},\n\t\tasync introspect(options) {\n\t\t\treturn getControlAdapter().introspect(options.driver, options.contract);\n\t\t},\n\t\tinferPslContract(schemaIR) {\n\t\t\tif (!targetInferPslContract) throw sqlFamilyError(\"CONTRACT.INFER_UNSUPPORTED\", `Target \"${target.targetId}\" does not support contract infer (no inferPslContract on its descriptor).`, {\n\t\t\t\twhy: \"The target descriptor does not provide the inferPslContract hook, so a PSL contract cannot be inferred from the database schema.\",\n\t\t\t\tfix: \"Use a target package that supports contract infer, or author the contract instead of inferring it.\",\n\t\t\t\tmeta: { targetId: target.targetId }\n\t\t\t});\n\t\t\treturn targetInferPslContract(schemaIR, describedContracts);\n\t\t},\n\t\tlowerAst(ast, context) {\n\t\t\treturn getControlAdapter().lowerToExecuteRequest(ast, context);\n\t\t},\n\t\tbootstrapControlTableQueries() {\n\t\t\treturn getControlAdapter().bootstrapControlTableQueries();\n\t\t},\n\t\ttoOperationPreview(operations) {\n\t\t\treturn sqlOperationsToPreview(operations);\n\t\t},\n\t\ttoSchemaView(schema) {\n\t\t\tconst root = blindCast(schema);\n\t\t\tconst namespaceEntries = root.namespaces !== void 0 ? Object.entries(root.namespaces).map(([namespaceKey, namespace]) => [namespaceKey, namespace.tables]) : [[void 0, root.tables ?? {}]];\n\t\t\tconst qualify = namespaceEntries.length > 1;\n\t\t\tconst tableNodes = namespaceEntries.flatMap(([namespaceKey, tables]) => Object.entries(tables).map(([tableName, table]) => [\n\t\t\t\tqualify && namespaceKey !== void 0 ? `${namespaceKey}.${tableName}` : tableName,\n\t\t\t\ttableName,\n\t\t\t\ttable\n\t\t\t])).map(([displayName, tableName, table]) => {\n\t\t\t\tconst children = [];\n\t\t\t\tconst columnNodes = [];\n\t\t\t\tfor (const [columnName, column] of Object.entries(table.columns)) {\n\t\t\t\t\tconst label = `${columnName}: ${column.nativeType} (${column.nullable ? \"nullable\" : \"not nullable\"})`;\n\t\t\t\t\tcolumnNodes.push(new SchemaTreeNode({\n\t\t\t\t\t\tkind: \"field\",\n\t\t\t\t\t\tid: `column-${displayName}-${columnName}`,\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\tnativeType: column.nativeType,\n\t\t\t\t\t\t\tnullable: column.nullable,\n\t\t\t\t\t\t\t...ifDefined(\"default\", column.default)\n\t\t\t\t\t\t}\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\tif (columnNodes.length > 0) children.push(new SchemaTreeNode({\n\t\t\t\t\tkind: \"collection\",\n\t\t\t\t\tid: `columns-${displayName}`,\n\t\t\t\t\tlabel: \"columns\",\n\t\t\t\t\tchildren: columnNodes\n\t\t\t\t}));\n\t\t\t\tif (table.primaryKey) {\n\t\t\t\t\tconst pkColumns = table.primaryKey.columns.join(\", \");\n\t\t\t\t\tchildren.push(new SchemaTreeNode({\n\t\t\t\t\t\tkind: \"index\",\n\t\t\t\t\t\tid: `primary-key-${displayName}`,\n\t\t\t\t\t\tlabel: `primary key: ${pkColumns}`,\n\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\tcolumns: table.primaryKey.columns,\n\t\t\t\t\t\t\t...table.primaryKey.name ? { name: table.primaryKey.name } : {}\n\t\t\t\t\t\t}\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\tfor (const unique of table.uniques) {\n\t\t\t\t\tconst name = unique.name ?? `${tableName}_${unique.columns.join(\"_\")}_unique`;\n\t\t\t\t\tconst label = `unique ${name}`;\n\t\t\t\t\tchildren.push(new SchemaTreeNode({\n\t\t\t\t\t\tkind: \"index\",\n\t\t\t\t\t\tid: `unique-${displayName}-${name}`,\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\tcolumns: unique.columns,\n\t\t\t\t\t\t\tunique: true\n\t\t\t\t\t\t}\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\tfor (const index of table.indexes) {\n\t\t\t\t\tconst name = index.name;\n\t\t\t\t\tconst label = index.unique ? `unique index ${name}` : `index ${name}`;\n\t\t\t\t\tchildren.push(new SchemaTreeNode({\n\t\t\t\t\t\tkind: \"index\",\n\t\t\t\t\t\tid: `index-${displayName}-${name}`,\n\t\t\t\t\t\tlabel,\n\t\t\t\t\t\tmeta: {\n\t\t\t\t\t\t\tcolumns: index.columns,\n\t\t\t\t\t\t\tunique: index.unique\n\t\t\t\t\t\t}\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\tconst tableMeta = {};\n\t\t\t\tif (table.primaryKey) {\n\t\t\t\t\ttableMeta[\"primaryKey\"] = table.primaryKey.columns;\n\t\t\t\t\tif (table.primaryKey.name) tableMeta[\"primaryKeyName\"] = table.primaryKey.name;\n\t\t\t\t}\n\t\t\t\tif (table.foreignKeys.length > 0) tableMeta[\"foreignKeys\"] = table.foreignKeys.map((fk) => ({\n\t\t\t\t\tcolumns: fk.columns,\n\t\t\t\t\treferencedTable: fk.referencedTable,\n\t\t\t\t\treferencedColumns: fk.referencedColumns,\n\t\t\t\t\t...fk.name ? { name: fk.name } : {}\n\t\t\t\t}));\n\t\t\t\treturn new SchemaTreeNode({\n\t\t\t\t\tkind: \"entity\",\n\t\t\t\t\tid: `table-${displayName}`,\n\t\t\t\t\tlabel: `table ${displayName}`,\n\t\t\t\t\t...Object.keys(tableMeta).length > 0 ? { meta: tableMeta } : {},\n\t\t\t\t\t...children.length > 0 ? { children } : {}\n\t\t\t\t});\n\t\t\t});\n\t\t\treturn { root: new SchemaTreeNode({\n\t\t\t\tkind: \"root\",\n\t\t\t\tid: \"sql-schema\",\n\t\t\t\tlabel: \"database\",\n\t\t\t\t...tableNodes.length > 0 ? { children: tableNodes } : {}\n\t\t\t}) };\n\t\t}\n\t};\n}\n//#endregion\n//#region src/core/control-descriptor.ts\nvar SqlFamilyDescriptor = class {\n\tkind = \"family\";\n\tid = \"sql\";\n\tfamilyId = \"sql\";\n\tversion = \"0.0.1\";\n\temission = sqlEmission;\n\tauthoring = {\n\t\tfield: sqlFamilyAuthoringFieldPresets,\n\t\ttype: sqlFamilyAuthoringTypes,\n\t\tentityTypes: sqlFamilyEntityTypes,\n\t\tpslBlockDescriptors: sqlFamilyPslBlockDescriptors\n\t};\n\tcreate(stack) {\n\t\treturn createSqlFamilyInstance(stack);\n\t}\n};\n//#endregion\n//#region src/core/migrations/contract-to-schema-ir.ts\nfunction convertColumn(name, column, storageTypes, expandNativeType, renderDefault, resolveDefault) {\n\tconst resolved = resolveColumnTypeMetadata(column, storageTypes);\n\tconst baseNativeType = expandNativeType ? expandNativeType({\n\t\tnativeType: resolved.nativeType,\n\t\tcodecId: resolved.codecId,\n\t\t...ifDefined(\"typeParams\", resolved.typeParams)\n\t}) : resolved.nativeType;\n\tconst nativeType = baseNativeType;\n\tconst resolvedNativeType = column.many ? `${baseNativeType}[]` : baseNativeType;\n\tconst rawColumnDefault = column.default ?? void 0;\n\tconst resolvedColumnDefault = rawColumnDefault !== void 0 && resolveDefault ? resolveDefault(rawColumnDefault, resolvedNativeType) : rawColumnDefault;\n\treturn {\n\t\tname,\n\t\tnativeType,\n\t\tnullable: column.nullable,\n\t\t...ifDefined(\"many\", column.many),\n\t\t...ifDefined(\"default\", column.default != null && renderDefault ? renderDefault(column.default, column) : void 0),\n\t\tresolvedNativeType,\n\t\t...ifDefined(\"resolvedDefault\", resolvedColumnDefault),\n\t\tcodecRef: buildColumnCodecRef(resolved, column.many),\n\t\tcodecBaseNativeType: resolved.nativeType,\n\t\t...column.typeRef !== void 0 ? { codecNamedType: true } : {}\n\t};\n}\n/**\n* Builds the column's `CodecRef` from its resolved (post-`typeRef`) codec\n* identity — the same construction the query AST and the migration DDL\n* renderer already use (TML-2456, TML-2918).\n*/\nfunction buildColumnCodecRef(resolved, many) {\n\treturn {\n\t\tcodecId: resolved.codecId,\n\t\t...ifDefined(\"typeParams\", resolved.typeParams !== void 0 ? blindCast(resolved.typeParams) : void 0),\n\t\t...ifDefined(\"many\", many)\n\t};\n}\nfunction resolveColumnTypeMetadata(column, storageTypes) {\n\tif (!column.typeRef) return column;\n\tconst referenced = storageTypes[column.typeRef];\n\tif (!referenced) throw sqlFamilyError(\"CONTRACT.TYPE_UNKNOWN\", `Column references storage type \"${column.typeRef}\" but it is not defined in storage.types.`, {\n\t\twhy: \"The column typeRef does not resolve to any entry in the contract storage.types map.\",\n\t\tfix: \"Regenerate the contract from its authoring source; do not hand-edit contract JSON.\",\n\t\tmeta: { typeRef: column.typeRef }\n\t});\n\tif (isStorageTypeInstance(referenced)) return {\n\t\tcodecId: referenced.codecId,\n\t\tnativeType: referenced.nativeType,\n\t\ttypeParams: referenced.typeParams\n\t};\n\tthrow new InternalError(`Storage type \"${column.typeRef}\" has an unknown polymorphic kind; expected a codec-typed StorageTypeInstance.`);\n}\nfunction convertCheck(check, tableName, tableColumns) {\n\treturn {\n\t\tnaming: namingOf(check.name, check.prefix),\n\t\texpression: check.expression,\n\t\tdependsOn: flatColumnDependsOn(tableName, tableColumns)\n\t};\n}\nfunction convertUnique(unique, tableName) {\n\treturn {\n\t\tcolumns: unique.columns,\n\t\t...ifDefined(\"name\", unique.name),\n\t\tdependsOn: flatColumnDependsOn(tableName, unique.columns)\n\t};\n}\nfunction convertIndex(index, tableName, tableColumns) {\n\tconst base = {\n\t\tnaming: namingOf(index.name, index.prefix),\n\t\twhere: index.where,\n\t\tunique: index.unique,\n\t\tpartial: index.where !== void 0,\n\t\ttype: index.type,\n\t\toptions: index.options,\n\t\tannotations: void 0,\n\t\tdependsOn: flatColumnDependsOn(tableName, index.columns ?? tableColumns)\n\t};\n\treturn index.expression !== void 0 ? {\n\t\t...base,\n\t\texpression: index.expression\n\t} : {\n\t\t...base,\n\t\tcolumns: index.columns ?? []\n\t};\n}\n/**\n* The referenced table's chain in the flat (single-schema) tree\n* `contractToSchemaIR`/`contractNamespaceToSchemaIR` build: the root\n* (`SqlSchemaIR`, fixed `'database'` id) followed by the table's own id.\n* Postgres discards this when it re-derives the FK against its own\n* multi-schema tree shape (`contractToPostgresDatabaseSchemaNode`); SQLite's\n* flat tree uses it as-is.\n*/\nfunction flatSchemaDependsOn(tableName) {\n\treturn [{\n\t\tnodeKind: RelationalSchemaNodeKind.schema,\n\t\tid: \"database\"\n\t}, {\n\t\tnodeKind: RelationalSchemaNodeKind.table,\n\t\tid: tableName\n\t}];\n}\n/**\n* The chains from a table-child object (foreign key, index, unique, primary\n* key) to each of the own columns it is built on, in the flat tree. Dropping\n* a covered column auto-drops the object, so the object's drop must precede\n* the column's; the graph derives that direction from these edges.\n*/\nfunction flatColumnDependsOn(tableName, columns) {\n\treturn columns.map((column) => [\n\t\t{\n\t\t\tnodeKind: RelationalSchemaNodeKind.schema,\n\t\t\tid: \"database\"\n\t\t},\n\t\t{\n\t\t\tnodeKind: RelationalSchemaNodeKind.table,\n\t\t\tid: tableName\n\t\t},\n\t\t{\n\t\t\tnodeKind: RelationalSchemaNodeKind.column,\n\t\t\tid: `column:${column}`\n\t\t}\n\t]);\n}\n/**\n* The FK's referenced-namespace identity comes from the target's namespace\n* node, not the raw namespace-id string. An unbound target namespace stamps\n* no `referencedSchema` at all — the FK node's id renders the absence as the\n* empty segment, which is what flat (single-schema) introspection produces,\n* so both diff sides' FK ids meet by construction. A bound namespace (or a\n* cross-space target whose namespace lives in another contract's storage)\n* stamps its coordinate verbatim; namespaced targets (Postgres) resolve the\n* real DDL schema downstream.\n*\n* `dependsOn` carries the referenced table (created before the FK, dropped\n* after it) plus the FK's own columns (dropped after the FK, since dropping a\n* column auto-drops the FK built on it).\n*/\nfunction convertForeignKey(fk, storage) {\n\tconst targetIsUnbound = storage.namespaces[fk.target.namespaceId]?.isUnbound === true;\n\treturn {\n\t\tcolumns: fk.source.columns,\n\t\treferencedTable: fk.target.tableName,\n\t\t...targetIsUnbound ? {} : { referencedSchema: fk.target.namespaceId },\n\t\treferencedColumns: fk.target.columns,\n\t\t...ifDefined(\"name\", fk.name),\n\t\t...ifDefined(\"onDelete\", fk.onDelete),\n\t\t...ifDefined(\"onUpdate\", fk.onUpdate),\n\t\tdependsOn: [flatSchemaDependsOn(fk.target.tableName), ...flatColumnDependsOn(fk.source.tableName, fk.source.columns)]\n\t};\n}\nfunction convertTable(name, table, storageTypes, expandNativeType, renderDefault, resolveDefault, storage) {\n\tconst columns = {};\n\tfor (const [colName, colDef] of Object.entries(table.columns)) columns[colName] = convertColumn(colName, colDef, storageTypes, expandNativeType, renderDefault, resolveDefault);\n\tconst checks = table.checks && table.checks.length > 0 ? table.checks.map((c) => convertCheck(c, name, Object.keys(table.columns))) : void 0;\n\treturn new SqlTableIR({\n\t\tname,\n\t\tcolumns,\n\t\t...ifDefined(\"primaryKey\", table.primaryKey !== void 0 ? {\n\t\t\tcolumns: table.primaryKey.columns,\n\t\t\t...ifDefined(\"name\", table.primaryKey.name),\n\t\t\tdependsOn: flatColumnDependsOn(name, table.primaryKey.columns)\n\t\t} : void 0),\n\t\tforeignKeys: table.foreignKeys.map((fk) => convertForeignKey(fk, storage)),\n\t\tuniques: table.uniques.map((u) => convertUnique(u, name)),\n\t\tindexes: table.indexes.map((i) => convertIndex(i, name, Object.keys(table.columns))),\n\t\t...ifDefined(\"checks\", checks)\n\t});\n}\n/**\n* Detects destructive changes between two contract storages.\n*\n* The additive-only planner silently ignores removals (tables, columns).\n* This function detects those removals so callers can report them as conflicts\n* rather than silently producing an empty plan.\n*\n* Returns an empty array if no destructive changes are found.\n*/\nfunction detectDestructiveChanges(from, to) {\n\tif (!from) return [];\n\tconst hasOwn = (value, key) => Object.hasOwn(value, key);\n\tconst conflicts = [];\n\tconst namespaceIds = [.../* @__PURE__ */ new Set([...Object.keys(from.namespaces), ...Object.keys(to.namespaces)])].sort((a, b) => a < b ? -1 : a > b ? 1 : 0);\n\tfor (const namespaceId of namespaceIds) {\n\t\tconst fromNs = from.namespaces[namespaceId];\n\t\tconst toNs = to.namespaces[namespaceId];\n\t\tconst fromTables = fromNs?.entries.table;\n\t\tif (!fromTables) continue;\n\t\tfor (const tableName of Object.keys(fromTables)) {\n\t\t\tconst toTableRaw = toNs?.entries.table?.[tableName];\n\t\t\tif (!StorageTable.is(toTableRaw)) {\n\t\t\t\tconflicts.push({\n\t\t\t\t\tkind: \"tableRemoved\",\n\t\t\t\t\tsummary: `Table \"${tableName}\" was removed`\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst toTable = toTableRaw;\n\t\t\tconst fromTableRaw = fromTables[tableName];\n\t\t\tif (!StorageTable.is(fromTableRaw)) continue;\n\t\t\tconst fromTable = fromTableRaw;\n\t\t\tfor (const columnName of Object.keys(fromTable.columns)) if (!hasOwn(toTable.columns, columnName)) conflicts.push({\n\t\t\t\tkind: \"columnRemoved\",\n\t\t\t\tsummary: `Column \"${tableName}\".\"${columnName}\" was removed`\n\t\t\t});\n\t\t}\n\t}\n\treturn conflicts;\n}\n/**\n* Converts a `Contract` to `SqlSchemaIR`.\n*\n* Reads `contract.storage` for tables and `contract.storage.types` for type\n* annotations. Storage-type annotations are written under\n* `options.annotationNamespace`.\n*\n* Drops codec metadata (`codecId`, `typeRef`) since the schema IR only represents\n* structural information. When `expandNativeType` is provided, parameterized types\n* are expanded (e.g. `character` + `{ length: 36 }` → `character(36)`) so the\n* resulting IR compares correctly against the \"to\" contract during planning.\n*\n* Returns an empty schema IR when `contract` is `null` (new project).\n*/\n/**\n* Converts the tables of a single namespace into a `SqlSchemaIR`, keyed by\n* table name within that namespace. Unlike {@link contractToSchemaIR}, which\n* flattens every namespace's tables into one bare-keyed record (and throws on a\n* cross-namespace name collision), this scopes the table iteration to one\n* namespace so the same table name can exist in two schemas.\n*\n* The full `storage` is still passed to `convertTable`, so value-set / enum /\n* type resolution that legitimately spans namespaces is unaffected. Foreign\n* keys are built purely from the FK descriptor (`fk.target`), so cross-namespace\n* FKs survive per-namespace conversion. The `annotations` block (storage-type\n* derived) is omitted here — the per-namespace tree consumer reads only the\n* per-table fields.\n*/\nfunction contractNamespaceToSchemaIR(storage, namespaceId, options) {\n\tif (options.annotationNamespace.length === 0) throw sqlFamilyError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", \"annotationNamespace must be a non-empty string\", {\n\t\twhy: \"The calling target pack passed an empty annotationNamespace to the contract-to-schema-IR projection.\",\n\t\tfix: \"Fix the target pack to pass its non-empty annotation namespace (e.g. \\\"pg\\\").\",\n\t\tmeta: { option: \"annotationNamespace\" }\n\t});\n\tconst namespace = storage.namespaces[namespaceId];\n\tif (!namespace) return new SqlSchemaIR({ tables: {} });\n\tconst storageTypes = { ...storage.types ?? {} };\n\tconst tables = {};\n\tfor (const [tableName, tableDefRaw] of Object.entries(namespace.entries.table ?? {})) {\n\t\tStorageTable.assert(tableDefRaw, `namespaces.${namespaceId}.entries.table.${tableName}`);\n\t\ttables[tableName] = convertTable(tableName, tableDefRaw, storageTypes, options.expandNativeType, options.renderDefault, options.resolveDefault, storage);\n\t}\n\treturn new SqlSchemaIR({ tables });\n}\nfunction contractToSchemaIR(contract, options) {\n\tif (options.annotationNamespace.length === 0) throw sqlFamilyError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", \"annotationNamespace must be a non-empty string\", {\n\t\twhy: \"The calling target pack passed an empty annotationNamespace to the contract-to-schema-IR projection.\",\n\t\tfix: \"Fix the target pack to pass its non-empty annotation namespace (e.g. \\\"pg\\\").\",\n\t\tmeta: { option: \"annotationNamespace\" }\n\t});\n\tif (!contract) return new SqlSchemaIR({ tables: {} });\n\tconst storage = contract.storage;\n\tconst storageTypes = { ...storage.types ?? {} };\n\tconst tables = {};\n\tfor (const ns of Object.values(storage.namespaces)) for (const [tableName, tableDefRaw] of Object.entries(ns.entries.table ?? {})) {\n\t\tStorageTable.assert(tableDefRaw, `namespaces.${ns.id}.entries.table.${tableName}`);\n\t\tconst tableDef = tableDefRaw;\n\t\tif (tables[tableName] !== void 0) throw sqlFamilyError(\"CONTRACT.TABLE_AMBIGUOUS\", `contractToSchemaIR: duplicate SQL table name \"${tableName}\" across namespaces (ambiguous for flat SqlSchemaIR.tables).`, {\n\t\t\twhy: \"Two namespaces declare a table with the same name, which is ambiguous for the flat schema-IR table map.\",\n\t\t\tfix: \"Rename one of the tables so every table name is unique across namespaces.\",\n\t\t\tmeta: { table: tableName }\n\t\t});\n\t\ttables[tableName] = convertTable(tableName, tableDef, storageTypes, options.expandNativeType, options.renderDefault, options.resolveDefault, storage);\n\t}\n\treturn new SqlSchemaIR({\n\t\ttables,\n\t\t...ifDefined(\"annotations\", deriveAnnotations(storage, options.annotationNamespace, options.resolveEnumNamespaceSchema))\n\t});\n}\nfunction deriveAnnotations(storage, annotationNamespace, _resolveEnumNamespaceSchema) {\n\tconst storageTypes = {};\n\tfor (const typeInstance of Object.values(storage.types ?? {})) if (isStorageTypeInstance(typeInstance)) storageTypes[typeInstance.nativeType] = typeInstance;\n\tconst envelope = { ...Object.keys(storageTypes).length > 0 ? { storageTypes } : {} };\n\tif (Object.keys(envelope).length === 0) return void 0;\n\treturn { [annotationNamespace]: envelope };\n}\n//#endregion\n//#region src/core/migrations/control-policy.ts\n/**\n* The control policy that governs a single call. The `external` default is an\n* un-overridable namespace floor: when the contract default is `external`, no\n* per-object `managed` override can escalate DDL above the floor, so the\n* policy is forced to `external` regardless of the node's own declaration.\n* Every other default defers to the node's effective control policy.\n*/\nfunction controlPolicyForCall(subject, defaultControlPolicy) {\n\tif (defaultControlPolicy === \"external\") return \"external\";\n\treturn effectiveControlPolicy(subject?.explicitNodeControlPolicy, defaultControlPolicy);\n}\n/**\n* Whether a call is allowed to emit under a given control policy.\n*\n* - `managed` — full lifecycle, every op allowed.\n* - `tolerated` — create-if-absent only: allowed iff the call creates a whole\n* new top-level object (and its subject was positively resolved). Anything\n* that modifies an existing object, and anything whose subject could not be\n* resolved, is suppressed.\n* - `external` / `observed` — no DDL at all.\n*/\nfunction callAllowedUnderControlPolicy(policy, subject) {\n\tswitch (policy) {\n\t\tcase \"managed\": return true;\n\t\tcase \"tolerated\": return subject?.createsNewObject === true;\n\t\tcase \"external\":\n\t\tcase \"observed\": return false;\n\t}\n}\n/**\n* Partition the calls produced for a single set of subjects into those the\n* effective control policy permits (`kept`) and a list of\n* {@link SuppressionRecord}s describing the suppressed calls.\n*\n* **Prefer {@link partitionIssuesByControlPolicy}** for the schema-issue\n* pipeline: it filters subjects out of the planner's *input* so the planner\n* never has to reason about un-modeled state on `external`/`observed`\n* subjects. This call-level helper remains for paths that bypass the issue\n* pipeline — currently the codec-emitted field-event ops, which originate\n* from declared contract fields rather than from introspected schema state\n* and therefore cannot trip the diff engine.\n*/\nfunction partitionCallsByControlPolicy(options) {\n\tconst defaultControlPolicy = options.contract.defaultControlPolicy;\n\tconst kept = [];\n\tconst suppressions = [];\n\tfor (const call of options.calls) {\n\t\tconst subject = options.resolveControlPolicySubject(call);\n\t\tconst policy = controlPolicyForCall(subject, defaultControlPolicy);\n\t\tif (callAllowedUnderControlPolicy(policy, subject)) kept.push(call);\n\t\telse suppressions.push({\n\t\t\tsubject,\n\t\t\tpolicy,\n\t\t\tfactoryName: options.resolveFactoryName(call),\n\t\t\tcreatesNewObject: subject?.createsNewObject ?? false\n\t\t});\n\t}\n\treturn Object.freeze({\n\t\tkept: Object.freeze(kept),\n\t\tsuppressions: Object.freeze(suppressions)\n\t});\n}\n/**\n* Partition a list of schema-issue-shaped inputs by the effective control\n* policy of each issue's subject *before* the planner is invoked.\n*\n* `plannable` is the list of issues whose subject's effective policy permits\n* the planner to act on them (`managed`, or `tolerated` for whole-object\n* creation issues only). Issues for `external`/`observed` subjects, and\n* non-creation issues for `tolerated` subjects, are dropped from the planner's\n* input entirely — they never enter introspection-driven planning, never feed\n* the diff engine, and never produce DDL calls that would have to be\n* post-filtered. This sidesteps a class of failure where the diff engine\n* cannot reason about the live shape of a subject the user marked as\n* out-of-scope (`external`).\n*\n* `suppressions` is one {@link SuppressionRecord} per suppressed subject (not\n* per suppressed issue). Its `factoryName` is the creation factory name when any\n* of the subject's issues is whole-object creation (e.g. `createTable`), else\n* `undefined` — the family never invents a modification verb for an op that\n* produced no call; the target renders the message.\n*\n* Unresolved-subject issues (`resolveControlPolicySubject` returns\n* `undefined`) emit one record each; they cannot be deduplicated because they\n* carry no subject coordinate.\n*/\nfunction partitionIssuesByControlPolicy(options) {\n\tconst defaultControlPolicy = options.contract.defaultControlPolicy;\n\tconst plannable = [];\n\tconst suppressedSubjects = /* @__PURE__ */ new Map();\n\tconst unresolvedSuppressions = [];\n\tfor (const issue of options.issues) {\n\t\tconst subject = options.resolveControlPolicySubject(issue);\n\t\tconst policy = controlPolicyForCall(subject, defaultControlPolicy);\n\t\tconst creationFactoryName = options.resolveCreationFactoryName(issue);\n\t\tif (policy === \"managed\") {\n\t\t\tplannable.push(issue);\n\t\t\tcontinue;\n\t\t}\n\t\tif (policy === \"tolerated\" && subject !== void 0 && creationFactoryName !== void 0 && subject.createsNewObject) {\n\t\t\tplannable.push(issue);\n\t\t\tcontinue;\n\t\t}\n\t\tif (subject === void 0) {\n\t\t\tunresolvedSuppressions.push({\n\t\t\t\tsubject: void 0,\n\t\t\t\tpolicy,\n\t\t\t\tfactoryName: creationFactoryName,\n\t\t\t\tcreatesNewObject: false\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tconst key = subjectKey(subject);\n\t\tconst existing = suppressedSubjects.get(key);\n\t\tif (existing) {\n\t\t\tif (existing.creationFactoryName === void 0 && creationFactoryName !== void 0) existing.creationFactoryName = creationFactoryName;\n\t\t} else suppressedSubjects.set(key, {\n\t\t\tsubject,\n\t\t\tpolicy,\n\t\t\t...ifDefined(\"creationFactoryName\", creationFactoryName)\n\t\t});\n\t}\n\tconst suppressions = [...unresolvedSuppressions];\n\tfor (const entry of suppressedSubjects.values()) suppressions.push({\n\t\tsubject: entry.subject,\n\t\tpolicy: entry.policy,\n\t\tfactoryName: entry.creationFactoryName,\n\t\tcreatesNewObject: entry.subject.createsNewObject\n\t});\n\treturn Object.freeze({\n\t\tplannable: Object.freeze(plannable),\n\t\tsuppressions: Object.freeze(suppressions)\n\t});\n}\nfunction subjectKey(subject) {\n\treturn `${subject.namespaceId}\\u0000${subject.entityKind ?? \"\"}\\u0000${subject.entityName ?? \"\"}\\u0000${subject.rlsPolicy ?? \"\"}`;\n}\n//#endregion\n//#region src/core/migrations/field-event-planner.ts\nfunction planFieldEventOperations(options) {\n\tconst priorContract = options.priorContract;\n\tconst newContract = options.newContract;\n\tconst added = [];\n\tconst dropped = [];\n\tconst altered = [];\n\tconst namespaceIds = unionSorted(priorContract ? Object.keys(priorContract.storage.namespaces) : [], Object.keys(newContract.storage.namespaces));\n\tfor (const namespaceId of namespaceIds) {\n\t\tconst priorNs = priorContract?.storage.namespaces[namespaceId];\n\t\tconst newNs = newContract.storage.namespaces[namespaceId];\n\t\tconst priorTables = priorNs?.entries.table;\n\t\tconst newTables = newNs?.entries.table;\n\t\tconst tableNames = unionSorted(priorTables ? Object.keys(priorTables) : [], newTables ? Object.keys(newTables) : []);\n\t\tfor (const tableName of tableNames) {\n\t\t\tconst priorTableRaw = priorTables?.[tableName];\n\t\t\tconst newTableRaw = newTables?.[tableName];\n\t\t\tconst priorTable = StorageTable.is(priorTableRaw) ? priorTableRaw : void 0;\n\t\t\tconst newTable = StorageTable.is(newTableRaw) ? newTableRaw : void 0;\n\t\t\tconst fieldNames = unionSorted(priorTable ? Object.keys(priorTable.columns) : [], newTable ? Object.keys(newTable.columns) : []);\n\t\t\tfor (const fieldName of fieldNames) {\n\t\t\t\tconst priorField = priorTable?.columns[fieldName];\n\t\t\t\tconst newField = newTable?.columns[fieldName];\n\t\t\t\tconst entry = {\n\t\t\t\t\tnamespaceId,\n\t\t\t\t\ttableName,\n\t\t\t\t\tfieldName,\n\t\t\t\t\tpriorTable,\n\t\t\t\t\tnewTable,\n\t\t\t\t\tpriorField,\n\t\t\t\t\tnewField\n\t\t\t\t};\n\t\t\t\tif (priorField === void 0 && newField !== void 0) added.push(entry);\n\t\t\t\telse if (priorField !== void 0 && newField === void 0) dropped.push(entry);\n\t\t\t\telse if (priorField !== void 0 && newField !== void 0) {\n\t\t\t\t\tif (isAlteration(priorField, newField)) altered.push(entry);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tconst calls = [];\n\tappendCalls(\"added\", added, options.codecHooks, calls, (e) => e.newField?.codecId);\n\tappendCalls(\"dropped\", dropped, options.codecHooks, calls, (e) => e.priorField?.codecId);\n\tappendCalls(\"altered\", altered, options.codecHooks, calls, (e) => e.newField?.codecId);\n\treturn calls;\n}\nfunction appendCalls(event, entries, codecHooks, calls, pickCodecId) {\n\tfor (const entry of entries) {\n\t\tconst codecId = pickCodecId(entry);\n\t\tif (codecId === void 0) continue;\n\t\tconst hook = codecHooks.get(codecId);\n\t\tif (!hook?.onFieldEvent) continue;\n\t\tconst ctx = buildContext(event, entry);\n\t\tconst emitted = hook.onFieldEvent(event, ctx);\n\t\tfor (const call of emitted) calls.push(call);\n\t}\n}\n/**\n* The context's prior/new sides are scoped to the event:\n*\n* - `'added'` — only `newTable` / `newField` populated.\n* - `'dropped'` — only `priorTable` / `priorField` populated.\n* - `'altered'` — both sides populated.\n*/\nfunction buildContext(event, entry) {\n\tconst base = {\n\t\tnamespaceId: entry.namespaceId,\n\t\ttableName: entry.tableName,\n\t\tfieldName: entry.fieldName\n\t};\n\tif (event === \"added\") return {\n\t\t...base,\n\t\t...entry.newTable !== void 0 ? { newTable: entry.newTable } : {},\n\t\t...entry.newField !== void 0 ? { newField: entry.newField } : {}\n\t};\n\tif (event === \"dropped\") return {\n\t\t...base,\n\t\t...entry.priorTable !== void 0 ? { priorTable: entry.priorTable } : {},\n\t\t...entry.priorField !== void 0 ? { priorField: entry.priorField } : {}\n\t};\n\treturn {\n\t\t...base,\n\t\t...entry.priorTable !== void 0 ? { priorTable: entry.priorTable } : {},\n\t\t...entry.newTable !== void 0 ? { newTable: entry.newTable } : {},\n\t\t...entry.priorField !== void 0 ? { priorField: entry.priorField } : {},\n\t\t...entry.newField !== void 0 ? { newField: entry.newField } : {}\n\t};\n}\n/**\n* `'altered'` predicate. Returns `false` whenever `codecId` differs —\n* any codec change suppresses the `altered` event entirely, including\n* cases where another property also differs in the same diff. Codec\n* rotation is a v1 non-goal; avoiding the mixed event keeps the\n* migration semantics for codec changes explicit rather than smuggling\n* them through as `altered`.\n*\n* For non-`codecId` diffs, returns `true` iff any other column property\n* differs.\n*/\nfunction isAlteration(prior, current) {\n\tif (prior.codecId !== current.codecId) return false;\n\treturn !sameStorageColumn(prior, current);\n}\nfunction sameStorageColumn(a, b) {\n\tif (a === b) return true;\n\tif (a.nativeType !== b.nativeType) return false;\n\tif (a.nullable !== b.nullable) return false;\n\tif (a.typeRef !== b.typeRef) return false;\n\tif (!sameJson(a.typeParams, b.typeParams)) return false;\n\tif (!sameJson(a.default, b.default)) return false;\n\treturn true;\n}\nfunction sameJson(a, b) {\n\tif (a === b) return true;\n\tif (a === void 0 || b === void 0) return false;\n\treturn JSON.stringify(a) === JSON.stringify(b);\n}\nfunction unionSorted(a, b) {\n\tconst set = /* @__PURE__ */ new Set();\n\tfor (const name of a) set.add(name);\n\tfor (const name of b) set.add(name);\n\treturn [...set].sort((x, y) => x < y ? -1 : x > y ? 1 : 0);\n}\n//#endregion\n//#region src/core/migrations/native-type-expander.ts\n/**\n* Builds the codec-hook-composed `expandNativeType` callback the contract→IR\n* derivation uses to expand parameterized native types (e.g. `character` +\n* `{ length: 36 }` → `character(36)`). Returns `undefined` when no framework\n* components are supplied, so callers can omit the option entirely.\n*/\nfunction buildNativeTypeExpander(frameworkComponents) {\n\tif (!frameworkComponents) return;\n\tconst codecHooks = extractCodecControlHooks(frameworkComponents);\n\treturn (input) => {\n\t\tif (!input.typeParams) return input.nativeType;\n\t\tif (!input.codecId) return input.nativeType;\n\t\tconst hooks = codecHooks.get(input.codecId);\n\t\tif (!hooks?.expandNativeType) return input.nativeType;\n\t\treturn hooks.expandNativeType(input);\n\t};\n}\n//#endregion\n//#region src/core/migrations/plan-helpers.ts\nconst readOnlyEmptyObject = Object.freeze({});\nfunction cloneRecord(value) {\n\tif (value === readOnlyEmptyObject) return value;\n\treturn Object.freeze({ ...value });\n}\nfunction freezeSteps(steps) {\n\tif (steps.length === 0) return Object.freeze([]);\n\treturn Object.freeze(steps.map((step) => Object.freeze({\n\t\tdescription: step.description,\n\t\tsql: step.sql,\n\t\t...step.params ? { params: Object.freeze([...step.params]) } : {},\n\t\t...step.meta ? { meta: cloneRecord(step.meta) } : {}\n\t})));\n}\nfunction freezeDetailsValue(value) {\n\tif (value === null || value === void 0) return value;\n\tif (typeof value !== \"object\") return value;\n\tif (Array.isArray(value)) return Object.freeze([...value]);\n\treturn Object.freeze({ ...value });\n}\nfunction freezeTargetDetails(target) {\n\treturn Object.freeze({\n\t\tid: target.id,\n\t\t...target.details !== void 0 ? { details: freezeDetailsValue(target.details) } : {}\n\t});\n}\nfunction freezeOperation(operation) {\n\treturn Object.freeze({\n\t\tid: operation.id,\n\t\tlabel: operation.label,\n\t\t...operation.summary ? { summary: operation.summary } : {},\n\t\toperationClass: operation.operationClass,\n\t\t...operation.invariantId ? { invariantId: operation.invariantId } : {},\n\t\ttarget: freezeTargetDetails(operation.target),\n\t\tprecheck: freezeSteps(operation.precheck),\n\t\texecute: freezeSteps(operation.execute),\n\t\tpostcheck: freezeSteps(operation.postcheck),\n\t\t...operation.meta ? { meta: cloneRecord(operation.meta) } : {}\n\t});\n}\nfunction freezeOperations(operations) {\n\tif (operations.length === 0) return Object.freeze([]);\n\treturn Object.freeze(operations.map((operation) => freezeOperation(operation)));\n}\nfunction createMigrationPlan(options) {\n\treturn Object.freeze({\n\t\ttargetId: options.targetId,\n\t\tspaceId: options.spaceId,\n\t\t...options.origin !== void 0 ? { origin: options.origin ? Object.freeze({ ...options.origin }) : null } : {},\n\t\tdestination: Object.freeze({ ...options.destination }),\n\t\toperations: freezeOperations(options.operations),\n\t\tprovidedInvariants: Object.freeze([...options.providedInvariants]),\n\t\t...options.meta ? { meta: cloneRecord(options.meta) } : {}\n\t});\n}\nfunction plannerSuccess(plan, warnings) {\n\treturn Object.freeze({\n\t\tkind: \"success\",\n\t\tplan,\n\t\t...warnings && warnings.length > 0 ? { warnings: Object.freeze(warnings.map((conflict) => Object.freeze({\n\t\t\tkind: conflict.kind,\n\t\t\tsummary: conflict.summary,\n\t\t\t...conflict.why ? { why: conflict.why } : {},\n\t\t\t...conflict.location ? { location: Object.freeze({ ...conflict.location }) } : {},\n\t\t\t...conflict.meta ? { meta: cloneRecord(conflict.meta) } : {}\n\t\t}))) } : {}\n\t});\n}\nfunction plannerFailure(conflicts) {\n\treturn Object.freeze({\n\t\tkind: \"failure\",\n\t\tconflicts: Object.freeze(conflicts.map((conflict) => Object.freeze({\n\t\t\tkind: conflict.kind,\n\t\t\tsummary: conflict.summary,\n\t\t\t...conflict.why ? { why: conflict.why } : {},\n\t\t\t...conflict.location ? { location: Object.freeze({ ...conflict.location }) } : {},\n\t\t\t...conflict.meta ? { meta: cloneRecord(conflict.meta) } : {}\n\t\t})))\n\t});\n}\n/**\n* Creates a successful migration runner result.\n*/\nfunction runnerSuccess(value) {\n\treturn ok(Object.freeze({\n\t\toperationsPlanned: value.operationsPlanned,\n\t\toperationsExecuted: value.operationsExecuted\n\t}));\n}\n/**\n* Creates a failed migration runner result.\n*/\nfunction runnerFailure(code, summary, options) {\n\treturn notOk(Object.freeze({\n\t\tcode,\n\t\tsummary,\n\t\t...options?.why ? { why: options.why } : {},\n\t\t...options?.meta ? { meta: cloneRecord(options.meta) } : {}\n\t}));\n}\n//#endregion\n//#region src/core/migrations/policies.ts\n/**\n* Policy used by `db init`: additive-only operations, no widening/destructive steps.\n*/\nconst INIT_ADDITIVE_POLICY = Object.freeze({ allowedOperationClasses: Object.freeze([\"additive\"]) });\n//#endregion\n//#region src/exports/control.ts\nvar control_default = new SqlFamilyDescriptor();\n//#endregion\nexport { INIT_ADDITIVE_POLICY, assembleAuthoringContributions, buildNativeTypeExpander, contractNamespaceToSchemaIR, contractToSchemaIR, controlPolicyForCall, createMigrationPlan, control_default as default, detectDestructiveChanges, extractCodecControlHooks, partitionCallsByControlPolicy, partitionIssuesByControlPolicy, planFieldEventOperations, plannerFailure, plannerSuccess, runnerFailure, runnerSuccess, temporalAuthoringPresets, temporalCodecPreset, temporalCodecPresetWithPrecision, temporalStringAuthoringPresets, timestampNowControlDescriptor };\n\n//# sourceMappingURL=control.mjs.map"],"mappings":";;;;;;;;;;;;;;;;;;;;AAoBA,SAAS,eAAe,cAAc;CACrC,MAAM,UAAU,aAAa,KAAK,CAAC,CAAC,YAAY;CAChD,OAAO,QAAQ,WAAW,SAAS,KAAK,QAAQ,WAAW,QAAQ,KAAK,QAAQ,WAAW,OAAO;AACnG;AACA,SAAS,gBAAgB,WAAW;CACnC,MAAM,YAAY;CAClB,IAAI,EAAE,aAAa,cAAc,CAAC,MAAM,QAAQ,UAAU,UAAU,GAAG,OAAO;CAC9E,OAAO,UAAU,UAAU,CAAC,OAAO,SAAS,OAAO,SAAS,YAAY,SAAS,QAAQ,SAAS,IAAI;AACvG;;;;;AAKA,SAAS,cAAc,YAAY;CAClC,MAAM,aAAa,CAAC;CACpB,KAAK,MAAM,aAAa,YAAY;EACnC,IAAI,CAAC,gBAAgB,SAAS,GAAG;EACjC,KAAK,MAAM,QAAQ,UAAU,SAAS,IAAI,OAAO,KAAK,QAAQ,YAAY,eAAe,KAAK,GAAG,GAAG,WAAW,KAAK,KAAK,IAAI,KAAK,CAAC;CACpI;CACA,OAAO;AACR;;;;;AAKA,SAAS,uBAAuB,YAAY;CAC3C,OAAO,EAAE,YAAY,cAAc,UAAU,CAAC,CAAC,KAAK,UAAU;EAC7D;EACA,UAAU;CACX,EAAE,EAAE;AACL;AAGA,SAAS,gCAAgC,UAAU,WAAW;CAC7D,OAAO,eAAe,sCAAsC,eAAe,SAAS,4BAA4B,UAAU,wBAAwB;EACjJ,KAAK,iDAAiD,UAAU;EAChE,KAAK,4DAA4D,UAAU;EAC3E,MAAM;GACL;GACA;EACD;CACD,CAAC;AACF;AACA,SAAS,gCAAgC,UAAU;CAClD,MAAM,0BAA0B,IAAI,IAAI;CACxC,IAAI,OAAO,aAAa,YAAY,aAAa,QAAQ,aAAa,YAAY,OAAO,SAAS,YAAY,YAAY,SAAS,YAAY,QAAQ,gBAAgB,SAAS,WAAW,OAAO,SAAS,QAAQ,eAAe,YAAY,SAAS,QAAQ,eAAe,MAAM;EACnR,MAAM,aAAa,SAAS,QAAQ;EACpC,KAAK,MAAM,MAAM,OAAO,OAAO,UAAU,GAAG;GAC3C,MAAM,OAAO,GAAG,QAAQ;GACxB,IAAI,OAAO,SAAS,YAAY,SAAS,MAAM;GAC/C,KAAK,MAAM,SAAS,OAAO,OAAO,IAAI,GAAG,IAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,aAAa,SAAS,OAAO,MAAM,YAAY,YAAY,MAAM,YAAY,MAAM;IAC9K,MAAM,UAAU,MAAM;IACtB,KAAK,MAAM,UAAU,OAAO,OAAO,OAAO,GAAG,IAAI,UAAU,OAAO,WAAW,YAAY,aAAa,UAAU,OAAO,OAAO,YAAY,UAAU,QAAQ,IAAI,OAAO,OAAO;GAC/K;EACD;CACD;CACA,OAAO,MAAM,KAAK,OAAO,CAAC,CAAC,KAAK;AACjC;AACA,SAAS,mBAAmB,SAAS;CACpC,MAAM,WAAW,EAAE,aAAa,QAAQ,oBAAoB;CAC5D,IAAI,QAAQ,qBAAqB,SAAS,cAAc,QAAQ;CAChE,MAAM,SAAS,EAAE,UAAU,QAAQ,iBAAiB;CACpD,IAAI,QAAQ,gBAAgB,OAAO,SAAS,QAAQ;CACpD,MAAM,OAAO,EAAE,cAAc,QAAQ,aAAa;CAClD,IAAI,QAAQ,YAAY,KAAK,aAAa,QAAQ;CAClD,MAAM,SAAS;EACd,IAAI,QAAQ;EACZ,SAAS,QAAQ;EACjB;EACA;EACA;EACA,SAAS,EAAE,OAAO,QAAQ,UAAU;CACrC;CACA,IAAI,QAAQ,MAAM,OAAO,OAAO,QAAQ;CACxC,IAAI,QAAQ,QAAQ,OAAO,SAAS;EACnC,aAAa,QAAQ,OAAO;EAC5B,aAAa,QAAQ,OAAO;CAC7B;CACA,IAAI,QAAQ,eAAe,OAAO,gBAAgB,QAAQ;CAC1D,IAAI,QAAQ,sBAAsB,OAAO,uBAAuB,QAAQ;CACxE,OAAO;AACR;AACA,SAAS,6BAA6B,SAAS;CAC9C,MAAM,EAAE,QAAQ,SAAS,eAAe;CACxC,MAAM,2BAA2B,IAAI,IAAI;CACzC,MAAM,WAAW,QAAQ;CACzB,MAAM,cAAc;EACnB;EACA;EACA,GAAG;CACJ;CACA,KAAK,MAAM,cAAc,aAAa;EACrC,MAAM,eAAe,WAAW,OAAO;EACvC,IAAI,CAAC,cAAc;EACnB,KAAK,MAAM,eAAe,cAAc,IAAI,YAAY,aAAa,SAAS,YAAY,aAAa,UAAU,SAAS,IAAI,YAAY,QAAQ;GACjJ,QAAQ,YAAY;GACpB,UAAU;GACV,UAAU,YAAY;GACtB,GAAG,YAAY,eAAe,KAAK,IAAI,EAAE,YAAY,YAAY,WAAW,IAAI,CAAC;EAClF,CAAC;CACF;CACA,OAAO;AACR;;;;;;AAMA,SAAS,4BAA4B,YAAY;CAChD,MAAM,6BAA6B,IAAI,IAAI;CAC3C,KAAK,MAAM,OAAO,YAAY;EAC7B,MAAM,QAAQ,IAAI,eAAe,cAAc;EAC/C,MAAM,OAAO,UAAU,QAAQ,OAAO,UAAU,WAAW,OAAO,KAAK,KAAK,IAAI,CAAC;EACjF,WAAW,IAAI,IAAI,IAAI,IAAI;CAC5B;CACA,MAAM,yBAAyB,IAAI,IAAI;CACvC,MAAM,WAAW,IAAI,aAAa;EACjC,MAAM,SAAS,OAAO,IAAI,EAAE;EAC5B,IAAI,WAAW,KAAK,GAAG,OAAO;EAC9B,MAAM,sBAAsB,IAAI,IAAI;EACpC,OAAO,IAAI,IAAI,GAAG;EAClB,KAAK,MAAM,SAAS,WAAW,IAAI,EAAE,KAAK,CAAC,GAAG;GAC7C,IAAI,IAAI,KAAK;GACb,IAAI,CAAC,SAAS,IAAI,KAAK,GAAG;IACzB,SAAS,IAAI,KAAK;IAClB,KAAK,MAAM,cAAc,QAAQ,OAAO,QAAQ,GAAG,IAAI,IAAI,UAAU;IACrE,SAAS,OAAO,KAAK;GACtB;EACD;EACA,OAAO;CACR;CACA,KAAK,MAAM,OAAO,YAAY,QAAQ,IAAI,oBAAoB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;CAC/E,OAAO;AACR;;;;;;;;;;;;;AAaA,SAAS,eAAe,GAAG;CAC1B,OAAO,OAAO,MAAM,YAAY,MAAM;AACvC;AACA,SAAS,sCAAsC,YAAY;CAC1D,MAAM,eAAe,4BAA4B,UAAU;CAC3D,KAAK,MAAM,OAAO,YAAY;EAC7B,MAAM,aAAa,IAAI,eAAe,cAAc,SAAS;EAC7D,IAAI,CAAC,eAAe,UAAU,GAAG;EACjC,KAAK,MAAM,MAAM,OAAO,OAAO,UAAU,GAAG;GAC3C,IAAI,CAAC,eAAe,EAAE,GAAG;GACzB,MAAM,UAAU,GAAG;GACnB,IAAI,CAAC,eAAe,OAAO,GAAG;GAC9B,KAAK,MAAM,QAAQ,OAAO,OAAO,OAAO,GAAG;IAC1C,IAAI,CAAC,eAAe,IAAI,GAAG;IAC3B,KAAK,MAAM,SAAS,OAAO,OAAO,IAAI,GAAG;KACxC,IAAI,CAAC,eAAe,KAAK,GAAG;KAC5B,MAAM,cAAc,MAAM;KAC1B,IAAI,CAAC,MAAM,QAAQ,WAAW,GAAG;KACjC,KAAK,MAAM,MAAM,aAAa;MAC7B,IAAI,CAAC,eAAe,EAAE,GAAG;MACzB,MAAM,SAAS,GAAG;MAClB,IAAI,CAAC,eAAe,MAAM,GAAG;MAC7B,IAAI,OAAO,eAAe,KAAK,GAAG;MAClC,MAAM,gBAAgB,OAAO;MAC7B,IAAI,OAAO,kBAAkB,UAAU;MACvC,IAAI,aAAa,IAAI,aAAa,CAAC,EAAE,IAAI,IAAI,EAAE,GAAG,MAAM,eAAe,gCAAgC,yDAAyD,IAAI,GAAG,0CAA0C,cAAc,UAAU,cAAc,gBAAgB,IAAI,GAAG,2IAA2I;OACxZ,KAAK;OACL,KAAK;OACL,MAAM;QACL,aAAa,IAAI;QACjB;OACD;MACD,CAAC;KACF;IACD;GACD;EACD;CACD;AACD;AACA,SAAS,wBAAwB,OAAO;CACvC,IAAI,CAAC,MAAM,SAAS,MAAM,IAAI,cAAc,2DAA2D;CACvG,MAAM,SAAS,MAAM;CACrB,MAAM,UAAU,MAAM;CACtB,MAAM,aAAa,MAAM;CACzB,KAAK,MAAM,aAAa,YAAY,IAAI,UAAU,eAAe;EAChE,MAAM,EAAE,cAAc,YAAY,UAAU;EAC5C,gCAAgC;GAC/B,aAAa,UAAU;GACvB,QAAQ,aAAa;GACrB,cAAc,aAAa;GAC3B,SAAS,aAAa;GACtB,aAAa,QAAQ;GACrB,GAAG;EACJ,CAAC;CACF;CACA,sCAAsC,UAAU;CAChD,MAAM,EAAE,kBAAkB,iBAAiB;CAC3C,MAAM,uBAAuB,6BAA6B;EACzD;EACA;EACA;CACD,CAAC;CACD,IAAI;CACJ,MAAM,0BAA0B,mBAAmB,QAAQ,OAAO,KAAK;CACvE,MAAM,mBAAmB,OAAO;CAChC,MAAM,yBAAyB,UAAU,MAAM,CAAC,CAAC;CACjD,MAAM,aAAa,UAAU,MAAM,CAAC,CAAC;CACrC,MAAM,sBAAsB,UAAU,MAAM,CAAC,CAAC;CAC9C,MAAM,qBAAqB,UAAU,MAAM,CAAC,CAAC;CAC7C,MAAM,qBAAqB,WAAW,SAAS,cAAc,UAAU,gBAAgB,CAAC;EACvF,SAAS,UAAU;EACnB,UAAU,UAAU,cAAc;CACnC,CAAC,IAAI,CAAC,CAAC;CACP,MAAM,mCAAmC,mBAAmB;EAC3D,MAAM,aAAa,oBAAoB,IAAI,sBAAsB;EACjE,MAAM,OAAO,qBAAqB,KAAK,KAAK,CAAC,cAAc,cAAc,IAAI,iBAAiB,kBAAkB,UAAU,cAAc,CAAC,IAAI;EAC7I,OAAO,WAAW,oBAAoB,IAAI;CAC3C;CACA,OAAO;EACN,UAAU;EACV;EACA;EACA;EACA,oBAAoB,cAAc;GACjC,OAAO,gCAAgC,YAAY;EACpD;EACA,MAAM,OAAO,eAAe;GAC3B,MAAM,EAAE,QAAQ,UAAU,aAAa,kBAAkB,cAAc,eAAe;GACtF,MAAM,YAAY,KAAK,IAAI;GAC3B,MAAM,WAAW,gCAAgC,WAAW;GAC5D,MAAM,sBAAsB,SAAS,QAAQ;GAC7C,MAAM,sBAAsB,SAAS;GACrC,MAAM,iBAAiB,SAAS;GAChC,MAAM,SAAS,MAAM,kBAAkB,CAAC,CAAC,WAAW,QAAQ,YAAY;GACxE,IAAI;GACJ,IAAI,uBAAuB;GAC3B,MAAM,mBAAmB,6BAA6B;IACrD;IACA;IACA,GAAG;GACJ,CAAC;GACD,IAAI,iBAAiB,WAAW,GAAG,uBAAuB;QACrD;IACJ,MAAM,eAAe,IAAI,IAAI,gBAAgB;IAC7C,MAAM,UAAU,gCAAgC,QAAQ,CAAC,CAAC,QAAQ,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;IAC9F,IAAI,QAAQ,SAAS,GAAG,gBAAgB;GACzC;GACA,IAAI,CAAC,QAAQ,OAAO,mBAAmB;IACtC,IAAI;IACJ,MAAM;IACN,SAAS;IACT;IACA;IACA;IACA,WAAW,KAAK,IAAI,IAAI;IACxB,GAAG,sBAAsB,EAAE,oBAAoB,IAAI,CAAC;IACpD,GAAG,gBAAgB,EAAE,cAAc,IAAI,CAAC;IACxC,GAAG,uBAAuB,EAAE,qBAAqB,IAAI,CAAC;IACtD,GAAG,aAAa,EAAE,WAAW,IAAI,CAAC;GACnC,CAAC;GACD,IAAI,mBAAmB,kBAAkB,OAAO,mBAAmB;IAClE,IAAI;IACJ,MAAM;IACN,SAAS;IACT;IACA;IACA;IACA,gBAAgB;IAChB;IACA,WAAW,KAAK,IAAI,IAAI;IACxB,GAAG,sBAAsB,EAAE,oBAAoB,IAAI,CAAC;IACpD,GAAG,gBAAgB,EAAE,cAAc,IAAI,CAAC;IACxC,GAAG,uBAAuB,EAAE,qBAAqB,IAAI,CAAC;IACtD,GAAG,aAAa,EAAE,WAAW,IAAI,CAAC;GACnC,CAAC;GACD,IAAI,OAAO,gBAAgB,qBAAqB,OAAO,mBAAmB;IACzE,IAAI;IACJ,MAAM;IACN,SAAS;IACT;IACA;IACA;IACA;IACA,WAAW,KAAK,IAAI,IAAI;IACxB,GAAG,sBAAsB,EAAE,oBAAoB,IAAI,CAAC;IACpD,GAAG,gBAAgB,EAAE,cAAc,IAAI,CAAC;IACxC,GAAG,uBAAuB,EAAE,qBAAqB,IAAI,CAAC;IACtD,GAAG,aAAa,EAAE,WAAW,IAAI,CAAC;GACnC,CAAC;GACD,IAAI,uBAAuB,OAAO,gBAAgB,qBAAqB,OAAO,mBAAmB;IAChG,IAAI;IACJ,MAAM;IACN,SAAS;IACT;IACA;IACA;IACA;IACA;IACA,WAAW,KAAK,IAAI,IAAI;IACxB,GAAG,gBAAgB,EAAE,cAAc,IAAI,CAAC;IACxC,GAAG,uBAAuB,EAAE,qBAAqB,IAAI,CAAC;IACtD,GAAG,aAAa,EAAE,WAAW,IAAI,CAAC;GACnC,CAAC;GACD,OAAO,mBAAmB;IACzB,IAAI;IACJ,SAAS;IACT;IACA;IACA;IACA;IACA,WAAW,KAAK,IAAI,IAAI;IACxB,GAAG,sBAAsB,EAAE,oBAAoB,IAAI,CAAC;IACpD,GAAG,gBAAgB,EAAE,cAAc,IAAI,CAAC;IACxC,GAAG,uBAAuB,EAAE,qBAAqB,IAAI,CAAC;IACtD,GAAG,aAAa,EAAE,WAAW,IAAI,CAAC;GACnC,CAAC;EACF;EACA,aAAa,SAAS;GACrB,MAAM,WAAW,gCAAgC,QAAQ,QAAQ;GACjE,IAAI,CAAC,YAAY,MAAM,gCAAgC,OAAO,UAAU,YAAY;GACpF,IAAI,CAAC,qBAAqB,MAAM,gCAAgC,OAAO,UAAU,4BAA4B;GAC7G,OAAO,sBAAsB;IAC5B;IACA,QAAQ,QAAQ;IAChB,QAAQ,QAAQ;IAChB,qBAAqB,QAAQ;IAC7B;IACA,eAAe;GAChB,CAAC;EACF;;;;;;;;;;EAUA,2BAA2B,OAAO;GACjC,IAAI,CAAC,qBAAqB,MAAM,gCAAgC,OAAO,UAAU,4BAA4B;GAC7G,OAAO,+BAA+B,OAAO,mBAAmB;EACjE;;;;;;;;EAQA,mBAAmB,OAAO;GACzB,IAAI,CAAC,oBAAoB,MAAM,gCAAgC,OAAO,UAAU,oBAAoB;GACpG,OAAO,uBAAuB,OAAO,kBAAkB;EACxD;EACA,MAAM,KAAK,SAAS;GACnB,MAAM,EAAE,QAAQ,UAAU,eAAe,cAAc,eAAe;GACtE,MAAM,YAAY,KAAK,IAAI;GAC3B,MAAM,WAAW,gCAAgC,aAAa;GAC9D,MAAM,sBAAsB,SAAS,QAAQ;GAC7C,MAAM,sBAAsB,iBAAiB,YAAY,OAAO,SAAS,gBAAgB,WAAW,SAAS,cAAc;GAC3H,MAAM,iBAAiB,SAAS;GAChC,MAAM,iBAAiB,kBAAkB;GACzC,MAAM,iBAAiB,EAAE,SAAS;GAClC,KAAK,MAAM,SAAS,eAAe,2BAA2B,GAAG;IAChE,MAAM,UAAU,MAAM,eAAe,sBAAsB,OAAO,cAAc;IAChF,MAAM,OAAO,MAAM,QAAQ,KAAK,QAAQ,MAAM;GAC/C;GACA,MAAM,iBAAiB,MAAM,eAAe,WAAW,QAAQ,YAAY;GAC3E,IAAI,gBAAgB;GACpB,IAAI,gBAAgB;GACpB,IAAI;GACJ,IAAI,CAAC,gBAAgB;IACpB,MAAM,eAAe,aAAa,QAAQ,cAAc;KACvD,aAAa;KACb,aAAa;IACd,CAAC;IACD,gBAAgB;GACjB,OAAO;IACN,MAAM,sBAAsB,eAAe;IAC3C,MAAM,sBAAsB,eAAe;IAC3C,IAAI,EAAE,wBAAwB,wBAAwB,EAAE,wBAAwB,sBAAsB;KACrG,iBAAiB;MAChB,aAAa;MACb,aAAa;KACd;KACA,IAAI,CAAC,MAAM,eAAe,aAAa,QAAQ,cAAc,qBAAqB;MACjF,aAAa;MACb,aAAa;KACd,CAAC,GAAG,MAAM,eAAe,gCAAgC,oEAAoE;MAC5H,KAAK;MACL,KAAK;MACL,MAAM,EAAE,OAAO,aAAa;KAC7B,CAAC;KACD,gBAAgB;IACjB;GACD;GACA,IAAI;GACJ,IAAI,eAAe,UAAU;QACxB,IAAI,eAAe,UAAU,wCAAwC,gBAAgB,eAAe,UAAU;QAC9G,UAAU;GACf,MAAM,YAAY,KAAK,IAAI,IAAI;GAC/B,OAAO;IACN,IAAI;IACJ;IACA,UAAU;KACT,aAAa;KACb,aAAa;IACd;IACA,QAAQ;KACP,UAAU;KACV,QAAQ;IACT;IACA,QAAQ;KACP,SAAS;KACT,SAAS;KACT,GAAG,iBAAiB,EAAE,UAAU,eAAe,IAAI,CAAC;IACrD;IACA,MAAM;KACL;KACA,GAAG,aAAa,EAAE,WAAW,IAAI,CAAC;IACnC;IACA,SAAS,EAAE,OAAO,UAAU;GAC7B;EACD;EACA,MAAM,WAAW,SAAS;GACzB,OAAO,kBAAkB,CAAC,CAAC,WAAW,QAAQ,QAAQ,QAAQ,KAAK;EACpE;EACA,MAAM,eAAe,SAAS;GAC7B,OAAO,kBAAkB,CAAC,CAAC,eAAe,QAAQ,MAAM;EACzD;EACA,MAAM,WAAW,SAAS;GACzB,OAAO,kBAAkB,CAAC,CAAC,WAAW,QAAQ,QAAQ,QAAQ,KAAK;EACpE;EACA,MAAM,WAAW,SAAS;GACzB,OAAO,kBAAkB,CAAC,CAAC,WAAW,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,WAAW;EACzF;EACA,MAAM,aAAa,SAAS;GAC3B,OAAO,kBAAkB,CAAC,CAAC,aAAa,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,cAAc,QAAQ,WAAW;EACjH;EACA,MAAM,iBAAiB,SAAS;GAC/B,OAAO,kBAAkB,CAAC,CAAC,iBAAiB,QAAQ,QAAQ,QAAQ,OAAO,QAAQ,KAAK;EACzF;EACA,MAAM,WAAW,SAAS;GACzB,OAAO,kBAAkB,CAAC,CAAC,WAAW,QAAQ,QAAQ,QAAQ,QAAQ;EACvE;EACA,iBAAiB,UAAU;GAC1B,IAAI,CAAC,wBAAwB,MAAM,eAAe,8BAA8B,WAAW,OAAO,SAAS,6EAA6E;IACvL,KAAK;IACL,KAAK;IACL,MAAM,EAAE,UAAU,OAAO,SAAS;GACnC,CAAC;GACD,OAAO,uBAAuB,UAAU,kBAAkB;EAC3D;EACA,SAAS,KAAK,SAAS;GACtB,OAAO,kBAAkB,CAAC,CAAC,sBAAsB,KAAK,OAAO;EAC9D;EACA,+BAA+B;GAC9B,OAAO,kBAAkB,CAAC,CAAC,6BAA6B;EACzD;EACA,mBAAmB,YAAY;GAC9B,OAAO,uBAAuB,UAAU;EACzC;EACA,aAAa,QAAQ;GACpB,MAAM,OAAO,UAAU,MAAM;GAC7B,MAAM,mBAAmB,KAAK,eAAe,KAAK,IAAI,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,KAAK,CAAC,cAAc,eAAe,CAAC,cAAc,UAAU,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC;GACzL,MAAM,UAAU,iBAAiB,SAAS;GAC1C,MAAM,aAAa,iBAAiB,SAAS,CAAC,cAAc,YAAY,OAAO,QAAQ,MAAM,CAAC,CAAC,KAAK,CAAC,WAAW,WAAW;IAC1H,WAAW,iBAAiB,KAAK,IAAI,GAAG,aAAa,GAAG,cAAc;IACtE;IACA;GACD,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,WAAW,WAAW;IAC5C,MAAM,WAAW,CAAC;IAClB,MAAM,cAAc,CAAC;IACrB,KAAK,MAAM,CAAC,YAAY,WAAW,OAAO,QAAQ,MAAM,OAAO,GAAG;KACjE,MAAM,QAAQ,GAAG,WAAW,IAAI,OAAO,WAAW,IAAI,OAAO,WAAW,aAAa,eAAe;KACpG,YAAY,KAAK,IAAI,eAAe;MACnC,MAAM;MACN,IAAI,UAAU,YAAY,GAAG;MAC7B;MACA,MAAM;OACL,YAAY,OAAO;OACnB,UAAU,OAAO;OACjB,GAAG,UAAU,WAAW,OAAO,OAAO;MACvC;KACD,CAAC,CAAC;IACH;IACA,IAAI,YAAY,SAAS,GAAG,SAAS,KAAK,IAAI,eAAe;KAC5D,MAAM;KACN,IAAI,WAAW;KACf,OAAO;KACP,UAAU;IACX,CAAC,CAAC;IACF,IAAI,MAAM,YAAY;KACrB,MAAM,YAAY,MAAM,WAAW,QAAQ,KAAK,IAAI;KACpD,SAAS,KAAK,IAAI,eAAe;MAChC,MAAM;MACN,IAAI,eAAe;MACnB,OAAO,gBAAgB;MACvB,MAAM;OACL,SAAS,MAAM,WAAW;OAC1B,GAAG,MAAM,WAAW,OAAO,EAAE,MAAM,MAAM,WAAW,KAAK,IAAI,CAAC;MAC/D;KACD,CAAC,CAAC;IACH;IACA,KAAK,MAAM,UAAU,MAAM,SAAS;KACnC,MAAM,OAAO,OAAO,QAAQ,GAAG,UAAU,GAAG,OAAO,QAAQ,KAAK,GAAG,EAAE;KACrE,MAAM,QAAQ,UAAU;KACxB,SAAS,KAAK,IAAI,eAAe;MAChC,MAAM;MACN,IAAI,UAAU,YAAY,GAAG;MAC7B;MACA,MAAM;OACL,SAAS,OAAO;OAChB,QAAQ;MACT;KACD,CAAC,CAAC;IACH;IACA,KAAK,MAAM,SAAS,MAAM,SAAS;KAClC,MAAM,OAAO,MAAM;KACnB,MAAM,QAAQ,MAAM,SAAS,gBAAgB,SAAS,SAAS;KAC/D,SAAS,KAAK,IAAI,eAAe;MAChC,MAAM;MACN,IAAI,SAAS,YAAY,GAAG;MAC5B;MACA,MAAM;OACL,SAAS,MAAM;OACf,QAAQ,MAAM;MACf;KACD,CAAC,CAAC;IACH;IACA,MAAM,YAAY,CAAC;IACnB,IAAI,MAAM,YAAY;KACrB,UAAU,gBAAgB,MAAM,WAAW;KAC3C,IAAI,MAAM,WAAW,MAAM,UAAU,oBAAoB,MAAM,WAAW;IAC3E;IACA,IAAI,MAAM,YAAY,SAAS,GAAG,UAAU,iBAAiB,MAAM,YAAY,KAAK,QAAQ;KAC3F,SAAS,GAAG;KACZ,iBAAiB,GAAG;KACpB,mBAAmB,GAAG;KACtB,GAAG,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK,IAAI,CAAC;IACnC,EAAE;IACF,OAAO,IAAI,eAAe;KACzB,MAAM;KACN,IAAI,SAAS;KACb,OAAO,SAAS;KAChB,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,SAAS,IAAI,EAAE,MAAM,UAAU,IAAI,CAAC;KAC9D,GAAG,SAAS,SAAS,IAAI,EAAE,SAAS,IAAI,CAAC;IAC1C,CAAC;GACF,CAAC;GACD,OAAO,EAAE,MAAM,IAAI,eAAe;IACjC,MAAM;IACN,IAAI;IACJ,OAAO;IACP,GAAG,WAAW,SAAS,IAAI,EAAE,UAAU,WAAW,IAAI,CAAC;GACxD,CAAC,EAAE;EACJ;CACD;AACD;AAGA,IAAI,sBAAsB,MAAM;CAC/B,OAAO;CACP,KAAK;CACL,WAAW;CACX,UAAU;CACV,WAAW;CACX,YAAY;EACX,OAAO;EACP,MAAM;EACN,aAAa;EACb,qBAAqB;CACtB;CACA,OAAO,OAAO;EACb,OAAO,wBAAwB,KAAK;CACrC;AACD;AAGA,SAAS,cAAc,MAAM,QAAQ,cAAc,kBAAkB,eAAe,gBAAgB;CACnG,MAAM,WAAW,0BAA0B,QAAQ,YAAY;CAC/D,MAAM,iBAAiB,mBAAmB,iBAAiB;EAC1D,YAAY,SAAS;EACrB,SAAS,SAAS;EAClB,GAAG,UAAU,cAAc,SAAS,UAAU;CAC/C,CAAC,IAAI,SAAS;CACd,MAAM,aAAa;CACnB,MAAM,qBAAqB,OAAO,OAAO,GAAG,eAAe,MAAM;CACjE,MAAM,mBAAmB,OAAO,WAAW,KAAK;CAChD,MAAM,wBAAwB,qBAAqB,KAAK,KAAK,iBAAiB,eAAe,kBAAkB,kBAAkB,IAAI;CACrI,OAAO;EACN;EACA;EACA,UAAU,OAAO;EACjB,GAAG,UAAU,QAAQ,OAAO,IAAI;EAChC,GAAG,UAAU,WAAW,OAAO,WAAW,QAAQ,gBAAgB,cAAc,OAAO,SAAS,MAAM,IAAI,KAAK,CAAC;EAChH;EACA,GAAG,UAAU,mBAAmB,qBAAqB;EACrD,UAAU,oBAAoB,UAAU,OAAO,IAAI;EACnD,qBAAqB,SAAS;EAC9B,GAAG,OAAO,YAAY,KAAK,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAC5D;AACD;;;;;;AAMA,SAAS,oBAAoB,UAAU,MAAM;CAC5C,OAAO;EACN,SAAS,SAAS;EAClB,GAAG,UAAU,cAAc,SAAS,eAAe,KAAK,IAAI,UAAU,SAAS,UAAU,IAAI,KAAK,CAAC;EACnG,GAAG,UAAU,QAAQ,IAAI;CAC1B;AACD;AACA,SAAS,0BAA0B,QAAQ,cAAc;CACxD,IAAI,CAAC,OAAO,SAAS,OAAO;CAC5B,MAAM,aAAa,aAAa,OAAO;CACvC,IAAI,CAAC,YAAY,MAAM,eAAe,yBAAyB,mCAAmC,OAAO,QAAQ,4CAA4C;EAC5J,KAAK;EACL,KAAK;EACL,MAAM,EAAE,SAAS,OAAO,QAAQ;CACjC,CAAC;CACD,IAAI,sBAAsB,UAAU,GAAG,OAAO;EAC7C,SAAS,WAAW;EACpB,YAAY,WAAW;EACvB,YAAY,WAAW;CACxB;CACA,MAAM,IAAI,cAAc,iBAAiB,OAAO,QAAQ,+EAA+E;AACxI;AACA,SAAS,aAAa,OAAO,WAAW,cAAc;CACrD,OAAO;EACN,QAAQ,SAAS,MAAM,MAAM,MAAM,MAAM;EACzC,YAAY,MAAM;EAClB,WAAW,oBAAoB,WAAW,YAAY;CACvD;AACD;AACA,SAAS,cAAc,QAAQ,WAAW;CACzC,OAAO;EACN,SAAS,OAAO;EAChB,GAAG,UAAU,QAAQ,OAAO,IAAI;EAChC,WAAW,oBAAoB,WAAW,OAAO,OAAO;CACzD;AACD;AACA,SAAS,aAAa,OAAO,WAAW,cAAc;CACrD,MAAM,OAAO;EACZ,QAAQ,SAAS,MAAM,MAAM,MAAM,MAAM;EACzC,OAAO,MAAM;EACb,QAAQ,MAAM;EACd,SAAS,MAAM,UAAU,KAAK;EAC9B,MAAM,MAAM;EACZ,SAAS,MAAM;EACf,aAAa,KAAK;EAClB,WAAW,oBAAoB,WAAW,MAAM,WAAW,YAAY;CACxE;CACA,OAAO,MAAM,eAAe,KAAK,IAAI;EACpC,GAAG;EACH,YAAY,MAAM;CACnB,IAAI;EACH,GAAG;EACH,SAAS,MAAM,WAAW,CAAC;CAC5B;AACD;;;;;;;;;AASA,SAAS,oBAAoB,WAAW;CACvC,OAAO,CAAC;EACP,UAAU,yBAAyB;EACnC,IAAI;CACL,GAAG;EACF,UAAU,yBAAyB;EACnC,IAAI;CACL,CAAC;AACF;;;;;;;AAOA,SAAS,oBAAoB,WAAW,SAAS;CAChD,OAAO,QAAQ,KAAK,WAAW;EAC9B;GACC,UAAU,yBAAyB;GACnC,IAAI;EACL;EACA;GACC,UAAU,yBAAyB;GACnC,IAAI;EACL;EACA;GACC,UAAU,yBAAyB;GACnC,IAAI,UAAU;EACf;CACD,CAAC;AACF;;;;;;;;;;;;;;;AAeA,SAAS,kBAAkB,IAAI,SAAS;CACvC,MAAM,kBAAkB,QAAQ,WAAW,GAAG,OAAO,YAAY,EAAE,cAAc;CACjF,OAAO;EACN,SAAS,GAAG,OAAO;EACnB,iBAAiB,GAAG,OAAO;EAC3B,GAAG,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,YAAY;EACpE,mBAAmB,GAAG,OAAO;EAC7B,GAAG,UAAU,QAAQ,GAAG,IAAI;EAC5B,GAAG,UAAU,YAAY,GAAG,QAAQ;EACpC,GAAG,UAAU,YAAY,GAAG,QAAQ;EACpC,WAAW,CAAC,oBAAoB,GAAG,OAAO,SAAS,GAAG,GAAG,oBAAoB,GAAG,OAAO,WAAW,GAAG,OAAO,OAAO,CAAC;CACrH;AACD;AACA,SAAS,aAAa,MAAM,OAAO,cAAc,kBAAkB,eAAe,gBAAgB,SAAS;CAC1G,MAAM,UAAU,CAAC;CACjB,KAAK,MAAM,CAAC,SAAS,WAAW,OAAO,QAAQ,MAAM,OAAO,GAAG,QAAQ,WAAW,cAAc,SAAS,QAAQ,cAAc,kBAAkB,eAAe,cAAc;CAC9K,MAAM,SAAS,MAAM,UAAU,MAAM,OAAO,SAAS,IAAI,MAAM,OAAO,KAAK,MAAM,aAAa,GAAG,MAAM,OAAO,KAAK,MAAM,OAAO,CAAC,CAAC,IAAI,KAAK;CAC3I,OAAO,IAAI,WAAW;EACrB;EACA;EACA,GAAG,UAAU,cAAc,MAAM,eAAe,KAAK,IAAI;GACxD,SAAS,MAAM,WAAW;GAC1B,GAAG,UAAU,QAAQ,MAAM,WAAW,IAAI;GAC1C,WAAW,oBAAoB,MAAM,MAAM,WAAW,OAAO;EAC9D,IAAI,KAAK,CAAC;EACV,aAAa,MAAM,YAAY,KAAK,OAAO,kBAAkB,IAAI,OAAO,CAAC;EACzE,SAAS,MAAM,QAAQ,KAAK,MAAM,cAAc,GAAG,IAAI,CAAC;EACxD,SAAS,MAAM,QAAQ,KAAK,MAAM,aAAa,GAAG,MAAM,OAAO,KAAK,MAAM,OAAO,CAAC,CAAC;EACnF,GAAG,UAAU,UAAU,MAAM;CAC9B,CAAC;AACF;;;;;;;;;;AAUA,SAAS,yBAAyB,MAAM,IAAI;CAC3C,IAAI,CAAC,MAAM,OAAO,CAAC;CACnB,MAAM,UAAU,OAAO,QAAQ,OAAO,OAAO,OAAO,GAAG;CACvD,MAAM,YAAY,CAAC;CACnB,MAAM,eAAe,CAAC,mBAAmB,IAAI,IAAI,CAAC,GAAG,OAAO,KAAK,KAAK,UAAU,GAAG,GAAG,OAAO,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC;CAC7J,KAAK,MAAM,eAAe,cAAc;EACvC,MAAM,SAAS,KAAK,WAAW;EAC/B,MAAM,OAAO,GAAG,WAAW;EAC3B,MAAM,aAAa,QAAQ,QAAQ;EACnC,IAAI,CAAC,YAAY;EACjB,KAAK,MAAM,aAAa,OAAO,KAAK,UAAU,GAAG;GAChD,MAAM,aAAa,MAAM,QAAQ,QAAQ;GACzC,IAAI,CAAC,aAAa,GAAG,UAAU,GAAG;IACjC,UAAU,KAAK;KACd,MAAM;KACN,SAAS,UAAU,UAAU;IAC9B,CAAC;IACD;GACD;GACA,MAAM,UAAU;GAChB,MAAM,eAAe,WAAW;GAChC,IAAI,CAAC,aAAa,GAAG,YAAY,GAAG;GACpC,MAAM,YAAY;GAClB,KAAK,MAAM,cAAc,OAAO,KAAK,UAAU,OAAO,GAAG,IAAI,CAAC,OAAO,QAAQ,SAAS,UAAU,GAAG,UAAU,KAAK;IACjH,MAAM;IACN,SAAS,WAAW,UAAU,KAAK,WAAW;GAC/C,CAAC;EACF;CACD;CACA,OAAO;AACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,SAAS,4BAA4B,SAAS,aAAa,SAAS;CACnE,IAAI,QAAQ,oBAAoB,WAAW,GAAG,MAAM,eAAe,sCAAsC,kDAAkD;EAC1J,KAAK;EACL,KAAK;EACL,MAAM,EAAE,QAAQ,sBAAsB;CACvC,CAAC;CACD,MAAM,YAAY,QAAQ,WAAW;CACrC,IAAI,CAAC,WAAW,OAAO,IAAI,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC;CACrD,MAAM,eAAe,EAAE,GAAG,QAAQ,SAAS,CAAC,EAAE;CAC9C,MAAM,SAAS,CAAC;CAChB,KAAK,MAAM,CAAC,WAAW,gBAAgB,OAAO,QAAQ,UAAU,QAAQ,SAAS,CAAC,CAAC,GAAG;EACrF,aAAa,OAAO,aAAa,cAAc,YAAY,iBAAiB,WAAW;EACvF,OAAO,aAAa,aAAa,WAAW,aAAa,cAAc,QAAQ,kBAAkB,QAAQ,eAAe,QAAQ,gBAAgB,OAAO;CACxJ;CACA,OAAO,IAAI,YAAY,EAAE,OAAO,CAAC;AAClC;AACA,SAAS,mBAAmB,UAAU,SAAS;CAC9C,IAAI,QAAQ,oBAAoB,WAAW,GAAG,MAAM,eAAe,sCAAsC,kDAAkD;EAC1J,KAAK;EACL,KAAK;EACL,MAAM,EAAE,QAAQ,sBAAsB;CACvC,CAAC;CACD,IAAI,CAAC,UAAU,OAAO,IAAI,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC;CACpD,MAAM,UAAU,SAAS;CACzB,MAAM,eAAe,EAAE,GAAG,QAAQ,SAAS,CAAC,EAAE;CAC9C,MAAM,SAAS,CAAC;CAChB,KAAK,MAAM,MAAM,OAAO,OAAO,QAAQ,UAAU,GAAG,KAAK,MAAM,CAAC,WAAW,gBAAgB,OAAO,QAAQ,GAAG,QAAQ,SAAS,CAAC,CAAC,GAAG;EAClI,aAAa,OAAO,aAAa,cAAc,GAAG,GAAG,iBAAiB,WAAW;EACjF,MAAM,WAAW;EACjB,IAAI,OAAO,eAAe,KAAK,GAAG,MAAM,eAAe,4BAA4B,iDAAiD,UAAU,+DAA+D;GAC5M,KAAK;GACL,KAAK;GACL,MAAM,EAAE,OAAO,UAAU;EAC1B,CAAC;EACD,OAAO,aAAa,aAAa,WAAW,UAAU,cAAc,QAAQ,kBAAkB,QAAQ,eAAe,QAAQ,gBAAgB,OAAO;CACrJ;CACA,OAAO,IAAI,YAAY;EACtB;EACA,GAAG,UAAU,eAAe,kBAAkB,SAAS,QAAQ,qBAAqB,QAAQ,0BAA0B,CAAC;CACxH,CAAC;AACF;AACA,SAAS,kBAAkB,SAAS,qBAAqB,6BAA6B;CACrF,MAAM,eAAe,CAAC;CACtB,KAAK,MAAM,gBAAgB,OAAO,OAAO,QAAQ,SAAS,CAAC,CAAC,GAAG,IAAI,sBAAsB,YAAY,GAAG,aAAa,aAAa,cAAc;CAChJ,MAAM,WAAW,EAAE,GAAG,OAAO,KAAK,YAAY,CAAC,CAAC,SAAS,IAAI,EAAE,aAAa,IAAI,CAAC,EAAE;CACnF,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC,WAAW,GAAG,OAAO,KAAK;CACpD,OAAO,GAAG,sBAAsB,SAAS;AAC1C;;;;;;;;AAUA,SAAS,qBAAqB,SAAS,sBAAsB;CAC5D,IAAI,yBAAyB,YAAY,OAAO;CAChD,OAAO,uBAAuB,SAAS,2BAA2B,oBAAoB;AACvF;;;;;;;;;;;AAWA,SAAS,8BAA8B,QAAQ,SAAS;CACvD,QAAQ,QAAR;EACC,KAAK,WAAW,OAAO;EACvB,KAAK,aAAa,OAAO,SAAS,qBAAqB;EACvD,KAAK;EACL,KAAK,YAAY,OAAO;CACzB;AACD;;;;;;;;;;;;;;AAcA,SAAS,8BAA8B,SAAS;CAC/C,MAAM,uBAAuB,QAAQ,SAAS;CAC9C,MAAM,OAAO,CAAC;CACd,MAAM,eAAe,CAAC;CACtB,KAAK,MAAM,QAAQ,QAAQ,OAAO;EACjC,MAAM,UAAU,QAAQ,4BAA4B,IAAI;EACxD,MAAM,SAAS,qBAAqB,SAAS,oBAAoB;EACjE,IAAI,8BAA8B,QAAQ,OAAO,GAAG,KAAK,KAAK,IAAI;OAC7D,aAAa,KAAK;GACtB;GACA;GACA,aAAa,QAAQ,mBAAmB,IAAI;GAC5C,kBAAkB,SAAS,oBAAoB;EAChD,CAAC;CACF;CACA,OAAO,OAAO,OAAO;EACpB,MAAM,OAAO,OAAO,IAAI;EACxB,cAAc,OAAO,OAAO,YAAY;CACzC,CAAC;AACF;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,SAAS,+BAA+B,SAAS;CAChD,MAAM,uBAAuB,QAAQ,SAAS;CAC9C,MAAM,YAAY,CAAC;CACnB,MAAM,qCAAqC,IAAI,IAAI;CACnD,MAAM,yBAAyB,CAAC;CAChC,KAAK,MAAM,SAAS,QAAQ,QAAQ;EACnC,MAAM,UAAU,QAAQ,4BAA4B,KAAK;EACzD,MAAM,SAAS,qBAAqB,SAAS,oBAAoB;EACjE,MAAM,sBAAsB,QAAQ,2BAA2B,KAAK;EACpE,IAAI,WAAW,WAAW;GACzB,UAAU,KAAK,KAAK;GACpB;EACD;EACA,IAAI,WAAW,eAAe,YAAY,KAAK,KAAK,wBAAwB,KAAK,KAAK,QAAQ,kBAAkB;GAC/G,UAAU,KAAK,KAAK;GACpB;EACD;EACA,IAAI,YAAY,KAAK,GAAG;GACvB,uBAAuB,KAAK;IAC3B,SAAS,KAAK;IACd;IACA,aAAa;IACb,kBAAkB;GACnB,CAAC;GACD;EACD;EACA,MAAM,MAAM,WAAW,OAAO;EAC9B,MAAM,WAAW,mBAAmB,IAAI,GAAG;EAC3C,IAAI,UACC;OAAA,SAAS,wBAAwB,KAAK,KAAK,wBAAwB,KAAK,GAAG,SAAS,sBAAsB;EAAA,OACxG,mBAAmB,IAAI,KAAK;GAClC;GACA;GACA,GAAG,UAAU,uBAAuB,mBAAmB;EACxD,CAAC;CACF;CACA,MAAM,eAAe,CAAC,GAAG,sBAAsB;CAC/C,KAAK,MAAM,SAAS,mBAAmB,OAAO,GAAG,aAAa,KAAK;EAClE,SAAS,MAAM;EACf,QAAQ,MAAM;EACd,aAAa,MAAM;EACnB,kBAAkB,MAAM,QAAQ;CACjC,CAAC;CACD,OAAO,OAAO,OAAO;EACpB,WAAW,OAAO,OAAO,SAAS;EAClC,cAAc,OAAO,OAAO,YAAY;CACzC,CAAC;AACF;AACA,SAAS,WAAW,SAAS;CAC5B,OAAO,GAAG,QAAQ,YAAY,QAAQ,QAAQ,cAAc,GAAG,QAAQ,QAAQ,cAAc,GAAG,QAAQ,QAAQ,aAAa;AAC9H;AAGA,SAAS,yBAAyB,SAAS;CAC1C,MAAM,gBAAgB,QAAQ;CAC9B,MAAM,cAAc,QAAQ;CAC5B,MAAM,QAAQ,CAAC;CACf,MAAM,UAAU,CAAC;CACjB,MAAM,UAAU,CAAC;CACjB,MAAM,eAAe,YAAY,gBAAgB,OAAO,KAAK,cAAc,QAAQ,UAAU,IAAI,CAAC,GAAG,OAAO,KAAK,YAAY,QAAQ,UAAU,CAAC;CAChJ,KAAK,MAAM,eAAe,cAAc;EACvC,MAAM,UAAU,eAAe,QAAQ,WAAW;EAClD,MAAM,QAAQ,YAAY,QAAQ,WAAW;EAC7C,MAAM,cAAc,SAAS,QAAQ;EACrC,MAAM,YAAY,OAAO,QAAQ;EACjC,MAAM,aAAa,YAAY,cAAc,OAAO,KAAK,WAAW,IAAI,CAAC,GAAG,YAAY,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC;EACnH,KAAK,MAAM,aAAa,YAAY;GACnC,MAAM,gBAAgB,cAAc;GACpC,MAAM,cAAc,YAAY;GAChC,MAAM,aAAa,aAAa,GAAG,aAAa,IAAI,gBAAgB,KAAK;GACzE,MAAM,WAAW,aAAa,GAAG,WAAW,IAAI,cAAc,KAAK;GACnE,MAAM,aAAa,YAAY,aAAa,OAAO,KAAK,WAAW,OAAO,IAAI,CAAC,GAAG,WAAW,OAAO,KAAK,SAAS,OAAO,IAAI,CAAC,CAAC;GAC/H,KAAK,MAAM,aAAa,YAAY;IACnC,MAAM,aAAa,YAAY,QAAQ;IACvC,MAAM,WAAW,UAAU,QAAQ;IACnC,MAAM,QAAQ;KACb;KACA;KACA;KACA;KACA;KACA;KACA;IACD;IACA,IAAI,eAAe,KAAK,KAAK,aAAa,KAAK,GAAG,MAAM,KAAK,KAAK;SAC7D,IAAI,eAAe,KAAK,KAAK,aAAa,KAAK,GAAG,QAAQ,KAAK,KAAK;SACpE,IAAI,eAAe,KAAK,KAAK,aAAa,KAAK,GAC/C;SAAA,aAAa,YAAY,QAAQ,GAAG,QAAQ,KAAK,KAAK;IAAA;GAE5D;EACD;CACD;CACA,MAAM,QAAQ,CAAC;CACf,YAAY,SAAS,OAAO,QAAQ,YAAY,QAAQ,MAAM,EAAE,UAAU,OAAO;CACjF,YAAY,WAAW,SAAS,QAAQ,YAAY,QAAQ,MAAM,EAAE,YAAY,OAAO;CACvF,YAAY,WAAW,SAAS,QAAQ,YAAY,QAAQ,MAAM,EAAE,UAAU,OAAO;CACrF,OAAO;AACR;AACA,SAAS,YAAY,OAAO,SAAS,YAAY,OAAO,aAAa;CACpE,KAAK,MAAM,SAAS,SAAS;EAC5B,MAAM,UAAU,YAAY,KAAK;EACjC,IAAI,YAAY,KAAK,GAAG;EACxB,MAAM,OAAO,WAAW,IAAI,OAAO;EACnC,IAAI,CAAC,MAAM,cAAc;EACzB,MAAM,MAAM,aAAa,OAAO,KAAK;EACrC,MAAM,UAAU,KAAK,aAAa,OAAO,GAAG;EAC5C,KAAK,MAAM,QAAQ,SAAS,MAAM,KAAK,IAAI;CAC5C;AACD;;;;;;;;AAQA,SAAS,aAAa,OAAO,OAAO;CACnC,MAAM,OAAO;EACZ,aAAa,MAAM;EACnB,WAAW,MAAM;EACjB,WAAW,MAAM;CAClB;CACA,IAAI,UAAU,SAAS,OAAO;EAC7B,GAAG;EACH,GAAG,MAAM,aAAa,KAAK,IAAI,EAAE,UAAU,MAAM,SAAS,IAAI,CAAC;EAC/D,GAAG,MAAM,aAAa,KAAK,IAAI,EAAE,UAAU,MAAM,SAAS,IAAI,CAAC;CAChE;CACA,IAAI,UAAU,WAAW,OAAO;EAC/B,GAAG;EACH,GAAG,MAAM,eAAe,KAAK,IAAI,EAAE,YAAY,MAAM,WAAW,IAAI,CAAC;EACrE,GAAG,MAAM,eAAe,KAAK,IAAI,EAAE,YAAY,MAAM,WAAW,IAAI,CAAC;CACtE;CACA,OAAO;EACN,GAAG;EACH,GAAG,MAAM,eAAe,KAAK,IAAI,EAAE,YAAY,MAAM,WAAW,IAAI,CAAC;EACrE,GAAG,MAAM,aAAa,KAAK,IAAI,EAAE,UAAU,MAAM,SAAS,IAAI,CAAC;EAC/D,GAAG,MAAM,eAAe,KAAK,IAAI,EAAE,YAAY,MAAM,WAAW,IAAI,CAAC;EACrE,GAAG,MAAM,aAAa,KAAK,IAAI,EAAE,UAAU,MAAM,SAAS,IAAI,CAAC;CAChE;AACD;;;;;;;;;;;;AAYA,SAAS,aAAa,OAAO,SAAS;CACrC,IAAI,MAAM,YAAY,QAAQ,SAAS,OAAO;CAC9C,OAAO,CAAC,kBAAkB,OAAO,OAAO;AACzC;AACA,SAAS,kBAAkB,GAAG,GAAG;CAChC,IAAI,MAAM,GAAG,OAAO;CACpB,IAAI,EAAE,eAAe,EAAE,YAAY,OAAO;CAC1C,IAAI,EAAE,aAAa,EAAE,UAAU,OAAO;CACtC,IAAI,EAAE,YAAY,EAAE,SAAS,OAAO;CACpC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,GAAG,OAAO;CAClD,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO;CAC5C,OAAO;AACR;AACA,SAAS,SAAS,GAAG,GAAG;CACvB,IAAI,MAAM,GAAG,OAAO;CACpB,IAAI,MAAM,KAAK,KAAK,MAAM,KAAK,GAAG,OAAO;CACzC,OAAO,KAAK,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC;AAC9C;AACA,SAAS,YAAY,GAAG,GAAG;CAC1B,MAAM,sBAAsB,IAAI,IAAI;CACpC,KAAK,MAAM,QAAQ,GAAG,IAAI,IAAI,IAAI;CAClC,KAAK,MAAM,QAAQ,GAAG,IAAI,IAAI,IAAI;CAClC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC;AAC1D;;;;;;;AASA,SAAS,wBAAwB,qBAAqB;CACrD,IAAI,CAAC,qBAAqB;CAC1B,MAAM,aAAa,yBAAyB,mBAAmB;CAC/D,QAAQ,UAAU;EACjB,IAAI,CAAC,MAAM,YAAY,OAAO,MAAM;EACpC,IAAI,CAAC,MAAM,SAAS,OAAO,MAAM;EACjC,MAAM,QAAQ,WAAW,IAAI,MAAM,OAAO;EAC1C,IAAI,CAAC,OAAO,kBAAkB,OAAO,MAAM;EAC3C,OAAO,MAAM,iBAAiB,KAAK;CACpC;AACD;AAGA,MAAM,sBAAsB,OAAO,OAAO,CAAC,CAAC;AAC5C,SAAS,YAAY,OAAO;CAC3B,IAAI,UAAU,qBAAqB,OAAO;CAC1C,OAAO,OAAO,OAAO,EAAE,GAAG,MAAM,CAAC;AAClC;AACA,SAAS,YAAY,OAAO;CAC3B,IAAI,MAAM,WAAW,GAAG,OAAO,OAAO,OAAO,CAAC,CAAC;CAC/C,OAAO,OAAO,OAAO,MAAM,KAAK,SAAS,OAAO,OAAO;EACtD,aAAa,KAAK;EAClB,KAAK,KAAK;EACV,GAAG,KAAK,SAAS,EAAE,QAAQ,OAAO,OAAO,CAAC,GAAG,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC;EAChE,GAAG,KAAK,OAAO,EAAE,MAAM,YAAY,KAAK,IAAI,EAAE,IAAI,CAAC;CACpD,CAAC,CAAC,CAAC;AACJ;AACA,SAAS,mBAAmB,OAAO;CAClC,IAAI,UAAU,QAAQ,UAAU,KAAK,GAAG,OAAO;CAC/C,IAAI,OAAO,UAAU,UAAU,OAAO;CACtC,IAAI,MAAM,QAAQ,KAAK,GAAG,OAAO,OAAO,OAAO,CAAC,GAAG,KAAK,CAAC;CACzD,OAAO,OAAO,OAAO,EAAE,GAAG,MAAM,CAAC;AAClC;AACA,SAAS,oBAAoB,QAAQ;CACpC,OAAO,OAAO,OAAO;EACpB,IAAI,OAAO;EACX,GAAG,OAAO,YAAY,KAAK,IAAI,EAAE,SAAS,mBAAmB,OAAO,OAAO,EAAE,IAAI,CAAC;CACnF,CAAC;AACF;AACA,SAAS,gBAAgB,WAAW;CACnC,OAAO,OAAO,OAAO;EACpB,IAAI,UAAU;EACd,OAAO,UAAU;EACjB,GAAG,UAAU,UAAU,EAAE,SAAS,UAAU,QAAQ,IAAI,CAAC;EACzD,gBAAgB,UAAU;EAC1B,GAAG,UAAU,cAAc,EAAE,aAAa,UAAU,YAAY,IAAI,CAAC;EACrE,QAAQ,oBAAoB,UAAU,MAAM;EAC5C,UAAU,YAAY,UAAU,QAAQ;EACxC,SAAS,YAAY,UAAU,OAAO;EACtC,WAAW,YAAY,UAAU,SAAS;EAC1C,GAAG,UAAU,OAAO,EAAE,MAAM,YAAY,UAAU,IAAI,EAAE,IAAI,CAAC;CAC9D,CAAC;AACF;AACA,SAAS,iBAAiB,YAAY;CACrC,IAAI,WAAW,WAAW,GAAG,OAAO,OAAO,OAAO,CAAC,CAAC;CACpD,OAAO,OAAO,OAAO,WAAW,KAAK,cAAc,gBAAgB,SAAS,CAAC,CAAC;AAC/E;AACA,SAAS,oBAAoB,SAAS;CACrC,OAAO,OAAO,OAAO;EACpB,UAAU,QAAQ;EAClB,SAAS,QAAQ;EACjB,GAAG,QAAQ,WAAW,KAAK,IAAI,EAAE,QAAQ,QAAQ,SAAS,OAAO,OAAO,EAAE,GAAG,QAAQ,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;EAC3G,aAAa,OAAO,OAAO,EAAE,GAAG,QAAQ,YAAY,CAAC;EACrD,YAAY,iBAAiB,QAAQ,UAAU;EAC/C,oBAAoB,OAAO,OAAO,CAAC,GAAG,QAAQ,kBAAkB,CAAC;EACjE,GAAG,QAAQ,OAAO,EAAE,MAAM,YAAY,QAAQ,IAAI,EAAE,IAAI,CAAC;CAC1D,CAAC;AACF;AACA,SAAS,eAAe,MAAM,UAAU;CACvC,OAAO,OAAO,OAAO;EACpB,MAAM;EACN;EACA,GAAG,YAAY,SAAS,SAAS,IAAI,EAAE,UAAU,OAAO,OAAO,SAAS,KAAK,aAAa,OAAO,OAAO;GACvG,MAAM,SAAS;GACf,SAAS,SAAS;GAClB,GAAG,SAAS,MAAM,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC;GAC3C,GAAG,SAAS,WAAW,EAAE,UAAU,OAAO,OAAO,EAAE,GAAG,SAAS,SAAS,CAAC,EAAE,IAAI,CAAC;GAChF,GAAG,SAAS,OAAO,EAAE,MAAM,YAAY,SAAS,IAAI,EAAE,IAAI,CAAC;EAC5D,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;CACX,CAAC;AACF;AACA,SAAS,eAAe,WAAW;CAClC,OAAO,OAAO,OAAO;EACpB,MAAM;EACN,WAAW,OAAO,OAAO,UAAU,KAAK,aAAa,OAAO,OAAO;GAClE,MAAM,SAAS;GACf,SAAS,SAAS;GAClB,GAAG,SAAS,MAAM,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC;GAC3C,GAAG,SAAS,WAAW,EAAE,UAAU,OAAO,OAAO,EAAE,GAAG,SAAS,SAAS,CAAC,EAAE,IAAI,CAAC;GAChF,GAAG,SAAS,OAAO,EAAE,MAAM,YAAY,SAAS,IAAI,EAAE,IAAI,CAAC;EAC5D,CAAC,CAAC,CAAC;CACJ,CAAC;AACF;;;;AAIA,SAAS,cAAc,OAAO;CAC7B,OAAO,GAAG,OAAO,OAAO;EACvB,mBAAmB,MAAM;EACzB,oBAAoB,MAAM;CAC3B,CAAC,CAAC;AACH;;;;AAIA,SAAS,cAAc,MAAM,SAAS,SAAS;CAC9C,OAAO,MAAM,OAAO,OAAO;EAC1B;EACA;EACA,GAAG,SAAS,MAAM,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC;EAC1C,GAAG,SAAS,OAAO,EAAE,MAAM,YAAY,QAAQ,IAAI,EAAE,IAAI,CAAC;CAC3D,CAAC,CAAC;AACH;;;;AAMA,MAAM,uBAAuB,OAAO,OAAO,EAAE,yBAAyB,OAAO,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;AAGnG,IAAI,kBAAkB,IAAI,oBAAoB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"control-CyOPr5No.d.mts","names":[],"sources":["../../../../2-sql/9-family/dist/control.d.mts"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"derived-checks-DFMRmiAu-DGfB8aS4.mjs","names":[],"sources":["../../../../2-sql/2-authoring/contract-ts/dist/derived-checks-DFMRmiAu.mjs"],"sourcesContent":["import { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { computeExecutionHash, computeProfileHash, computeStorageHash } from \"@internal/contract/hashing\";\nimport { asNamespaceId, coreHash, crossRef, effectiveControlPolicy } from \"@internal/contract/types\";\nimport { mergeCapabilityMatrices } from \"@internal/contract-authoring\";\nimport { flushAuthoringWarnings, isAuthoringEntityTypeDescriptor } from \"@internal/framework-components/authoring\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\nimport { lowerAuthoredCheck } from \"@internal/sql-contract/authored-check-naming\";\nimport { sqlContractCanonicalizationHooks } from \"@internal/sql-contract/canonicalization-hooks\";\nimport { tableEntityKind, valueSetEntityKind } from \"@internal/sql-contract/entity-kinds\";\nimport { materializeForeignKeysAndIndexes } from \"@internal/sql-contract/foreign-key-materialization\";\nimport { lowerAuthoredIndex } from \"@internal/sql-contract/index-naming\";\nimport { validateIndexTypes } from \"@internal/sql-contract/index-type-validation\";\nimport { createIndexTypeRegistry } from \"@internal/sql-contract/index-types\";\nimport { CheckConstraint, Index, SqlStorage, StorageTable, applyFkDefaults, checkConstraintInputFromSerialized, isMaterializedSqlNamespace, toStorageTypeInstance } from \"@internal/sql-contract/types\";\nimport { validateStorageSemantics } from \"@internal/sql-contract/validators\";\nimport { deriveValueSetFromEntity } from \"@internal/sql-contract/value-set-derivation-hook\";\nimport { composeCheckWirePrefix, computeCheckContentHash, derivedCheckPrefixes } from \"@internal/sql-schema-ir/naming\";\nimport { InternalError } from \"@internal/utils/internal-error\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { applySpecifierDefaultControlPolicy } from \"@internal/contract/apply-specifier-default-control-policy\";\nimport { invariant } from \"@internal/utils/assertions\";\n//#region src/contract-errors.ts\nfunction contractError(code, message, options) {\n\treturn structuredError(code, message, options);\n}\n//#endregion\n//#region src/build-contract.ts\nfunction encodeViaCodec(value, codecId, codecLookup) {\n\tconst codec = codecLookup?.get(codecId);\n\tif (codec) return codec.encodeJson(value);\n\treturn blindCast(value);\n}\nfunction encodeColumnDefault(defaultInput, codecId, codecLookup, many = false) {\n\tif (defaultInput.kind === \"function\") return {\n\t\tkind: \"function\",\n\t\texpression: defaultInput.expression\n\t};\n\tif (many) {\n\t\tif (!Array.isArray(defaultInput.value)) throw new InternalError(`Literal default on a list column must be an array; received ${typeof defaultInput.value}. A scalar default on a list field must be rejected at the authoring surface.`);\n\t\treturn {\n\t\t\tkind: \"literal\",\n\t\t\tvalue: defaultInput.value.map((element) => encodeViaCodec(element, codecId, codecLookup))\n\t\t};\n\t}\n\treturn {\n\t\tkind: \"literal\",\n\t\tvalue: encodeViaCodec(defaultInput.value, codecId, codecLookup)\n\t};\n}\nfunction assertStorageSemantics(definition, contract) {\n\tconst semanticErrors = validateStorageSemantics(contract.storage);\n\tif (semanticErrors.length > 0) throw contractError(\"CONTRACT.VALIDATION_FAILED\", `Contract semantic validation failed: ${semanticErrors.join(\"; \")}`, { meta: { errors: semanticErrors } });\n\tconst indexTypeRegistry = createIndexTypeRegistry();\n\tconst packsToRegister = [definition.target, ...Object.values(definition.extensions ?? {})];\n\tfor (const pack of packsToRegister) {\n\t\tconst registration = pack.indexTypes;\n\t\tif (registration === void 0) continue;\n\t\tif (typeof registration !== \"object\" || registration === null || !Array.isArray(registration.entries)) throw contractError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Pack \"${pack.id ?? \"<unknown>\"}\" declares \"indexTypes\" but its value is not an IndexTypeRegistration (expected an object with an \"entries\" array; got ${typeof registration}).`, { meta: {\n\t\t\tpackId: pack.id,\n\t\t\tcontribution: \"indexTypes\",\n\t\t\treason: \"invalid-shape\"\n\t\t} });\n\t\tfor (const entry of registration.entries) indexTypeRegistry.register(entry);\n\t}\n\tvalidateIndexTypes(contract, indexTypeRegistry);\n}\nfunction assertKnownTargetModel(modelsByName, modelsByCoordinate, sourceModelName, targetModelName, targetNamespaceId, context) {\n\tconst targetModel = targetNamespaceId !== void 0 && targetNamespaceId.length > 0 ? modelsByCoordinate.get(`${targetNamespaceId}:${targetModelName}`) : modelsByName.get(targetModelName);\n\tif (!targetModel) {\n\t\tconst qualified = targetNamespaceId !== void 0 && targetNamespaceId.length > 0 ? `${targetNamespaceId}.${targetModelName}` : targetModelName;\n\t\tthrow contractError(\"CONTRACT.MODEL_UNKNOWN\", `${context} on model \"${sourceModelName}\" references unknown model \"${qualified}\"`, { meta: {\n\t\t\tsourceModel: sourceModelName,\n\t\t\ttargetModel: qualified,\n\t\t\tcontext\n\t\t} });\n\t}\n\treturn targetModel;\n}\nfunction assertTargetTableMatches(sourceModelName, targetModel, referencedTableName, context) {\n\tif (targetModel.tableName !== referencedTableName) throw contractError(\"CONTRACT.TABLE_MISMATCH\", `${context} on model \"${sourceModelName}\" references table \"${referencedTableName}\" but model \"${targetModel.modelName}\" maps to \"${targetModel.tableName}\"`, { meta: {\n\t\tsourceModel: sourceModelName,\n\t\treferencedTable: referencedTableName,\n\t\tmappedTable: targetModel.tableName,\n\t\tcontext\n\t} });\n}\nfunction isValueObjectField(field) {\n\treturn \"valueObjectName\" in field;\n}\n/**\n* Resolves a deferred entity-ref column descriptor (e.g. a `pg.enum(handle)`\n* column) against the field's now-known owning namespace: attaches the\n* storage `valueSet` ref the collected entity's derived value-set is stored\n* under. `nativeType` / `typeParams.typeName` stay bare here — schema\n* qualification (e.g. `auth.aal_level`) is a target concern applied in the\n* next step, `qualifyColumnDescriptor`. A descriptor with no `entityRef` (the\n* ordinary case) passes through unchanged.\n*/\nfunction resolveEntityRefDescriptor(descriptor, namespaceId) {\n\tconst entityRef = descriptor.entityRef;\n\tif (entityRef === void 0) return descriptor;\n\treturn {\n\t\t...descriptor,\n\t\tvalueSet: {\n\t\t\tplane: \"storage\",\n\t\t\tentityKind: \"valueSet\",\n\t\t\tnamespaceId,\n\t\t\tentityName: entityRef.entityName\n\t\t}\n\t};\n}\n/**\n* Structural check for a target that contributes a `qualifyColumnType` hook\n* on its authoring contributions. Duck-typed (mirroring\n* `contract-psl`'s `hasColumnFromEntityHook`) so the SQL family stays blind\n* to the target's qualification logic and no framework/family interface has\n* to name the hook.\n*/\nfunction hasColumnTypeQualifier(authoring) {\n\treturn \"qualifyColumnType\" in authoring && typeof authoring.qualifyColumnType === \"function\";\n}\n/**\n* Structural check for a target that contributes a `renderCheckExpressions`\n* hook, duck-typed for the same reason {@link hasColumnTypeQualifier} is: the\n* SQL family stays blind to the target's predicate syntax.\n*/\nfunction hasCheckExpressionRenderer(authoring) {\n\treturn \"renderCheckExpressions\" in authoring && typeof authoring.renderCheckExpressions === \"function\";\n}\nfunction resolveCheckExpressionRenderer(target) {\n\tconst authoring = target.authoring;\n\tif (authoring === void 0) return void 0;\n\treturn hasCheckExpressionRenderer(authoring) ? authoring.renderCheckExpressions : void 0;\n}\n/**\n* The member values a membership check must enforce, encoded exactly as the\n* column stores them. Only string members can be written as a predicate, so a\n* numeric enum fails here rather than emitting a wrong text-shaped check.\n*/\nfunction checkMemberValues(handle, codecLookup) {\n\tconst encoded = handle.values.map((value) => encodeViaCodec(value, handle.codecId, codecLookup));\n\tconst values = [];\n\tfor (const value of encoded) {\n\t\tif (typeof value !== \"string\") throw contractError(\"CONTRACT.ENUM_INVALID\", `enumType(\"${handle.enumName}\"): has a non-string value; numeric-enum CHECK constraints are not yet supported.`, { meta: {\n\t\t\tenumName: handle.enumName,\n\t\t\treason: \"non-string-member-value\"\n\t\t} });\n\t\tvalues.push(value);\n\t}\n\treturn values;\n}\n/**\n* Resolves a field's authored `noCheck` kinds against its column shape:\n* the bare form (`[]`) becomes every kind the shape derives, and a named\n* kind that can never apply to the shape is an authoring error\n* (`CONTRACT.CHECK_OPTOUT_INVALID`). Returns the concrete kinds in\n* canonical ascending order — the only form the contract persists.\n*/\nfunction resolveNoCheckKinds(input) {\n\tconst derivable = [];\n\tif (input.many) derivable.push(\"elementNotNull\");\n\tif (input.isDomainEnum) derivable.push(\"membership\");\n\tconst subject = `Field \"${input.modelName}.${input.fieldName}\"`;\n\tconst meta = {\n\t\tmodelName: input.modelName,\n\t\tfieldName: input.fieldName\n\t};\n\tif (input.kinds.length === 0) {\n\t\tif (derivable.length === 0) throw contractError(\"CONTRACT.CHECK_OPTOUT_INVALID\", `${subject}: noCheck() waives nothing — this column's shape derives no generated checks.`, { meta: {\n\t\t\t...meta,\n\t\t\treason: \"no-derivable-checks\"\n\t\t} });\n\t\treturn derivable;\n\t}\n\tconst seen = /* @__PURE__ */ new Set();\n\tfor (const kind of input.kinds) {\n\t\tif (seen.has(kind)) throw contractError(\"CONTRACT.CHECK_OPTOUT_INVALID\", `${subject}: noCheck(\"${kind}\") names the same kind twice.`, { meta: {\n\t\t\t...meta,\n\t\t\tkind,\n\t\t\treason: \"duplicate-kind\"\n\t\t} });\n\t\tseen.add(kind);\n\t\tif (!derivable.includes(kind)) throw contractError(\"CONTRACT.CHECK_OPTOUT_INVALID\", `${subject}: noCheck(\"${kind}\") does not apply — ${kind === \"membership\" ? \"membership checks are derived only from enumType() value sets\" : \"element-non-null checks are derived only for list columns\"}.`, { meta: {\n\t\t\t...meta,\n\t\t\tkind,\n\t\t\treason: \"inapplicable-kind\"\n\t\t} });\n\t}\n\treturn [...input.kinds].sort();\n}\n/**\n* Names the target's rendered checks and lowers them into contract entities.\n*\n* Naming is composed family-side ({@link composeCheckWirePrefix}) rather than\n* by the target, and suffixed with the predicate's content hash. Composing\n* family-side is what makes the truncation safe — two prefixes that truncate\n* alike still differ in their hashes, and the family can see that the\n* (table, column, kind) triple they were built from is unique per table,\n* rather than having to assume something about SQL text it declares itself\n* unable to read.\n*/\nfunction lowerRenderedChecks(tableName, candidates) {\n\treturn candidates.map((candidate) => new CheckConstraint({\n\t\tnaming: {\n\t\t\tkind: \"wire\",\n\t\t\tprefix: composeCheckWirePrefix(tableName, candidate.columnName, candidate.kind),\n\t\t\thash: computeCheckContentHash(candidate.expression)\n\t\t},\n\t\texpression: candidate.expression\n\t}));\n}\nfunction resolveColumnTypeQualifier(target) {\n\tconst authoring = target.authoring;\n\tif (authoring === void 0) return void 0;\n\treturn hasColumnTypeQualifier(authoring) ? authoring.qualifyColumnType : void 0;\n}\n/**\n* Applies the target's `qualifyColumnType` hook to a scalar column descriptor\n* at construction, so the storage column and the domain field (which derives\n* its `type.typeParams` from the storage column) are both built already\n* qualified in a single pass. A descriptor whose codec the target leaves\n* unchanged passes through untouched.\n*/\nfunction qualifyColumnDescriptor(descriptor, namespaceId, qualify) {\n\tif (qualify === void 0) return descriptor;\n\tconst qualified = qualify({\n\t\tcodecId: descriptor.codecId,\n\t\tnativeType: descriptor.nativeType,\n\t\t...ifDefined(\"typeParams\", descriptor.typeParams)\n\t}, namespaceId);\n\tif (qualified.nativeType === descriptor.nativeType && qualified.typeParams === descriptor.typeParams) return descriptor;\n\treturn {\n\t\t...descriptor,\n\t\tnativeType: qualified.nativeType,\n\t\t...ifDefined(\"typeParams\", qualified.typeParams)\n\t};\n}\n/**\n* Records a deferred column's entity-ref into the namespace-scoped collection\n* accumulator (`namespaceId → entityKind → entityName`) — folded into the same\n* namespace assembly `deriveEntityValueSets`/`entries.<kind>` step as the\n* entities-channel attachments, so a column-collected entity gets its\n* value-set the same way an entities-channel one does.\n*\n* The same handle reused by many columns in one namespace is normal (a native\n* enum type backs any number of columns) and records the identical entity once.\n* Two *different* entity instances sharing a name+kind in one namespace is a\n* name collision — the emitted `entries.valueSet.<name>` could only reflect one\n* of them, silently mismatching the other column's type/cast. PSL hard-errors\n* on the equivalent (`PSL_DUPLICATE_DECLARATION`); the TS path rejects it too.\n*/\nfunction collectEntityFromColumn(collected, namespaceId, entityRef) {\n\tconst forNs = collected[namespaceId] ?? {};\n\tconst forKind = forNs[entityRef.entityKind] ?? {};\n\tconst existing = forKind[entityRef.entityName];\n\tif (existing !== void 0 && existing !== entityRef.entity) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `buildSqlContractFromDefinition: two different \"${entityRef.entityKind}\" entities named \"${entityRef.entityName}\" in namespace \"${namespaceId}\" — pack-entity names must be unique per namespace.`, { meta: {\n\t\tkind: entityRef.entityKind,\n\t\tname: entityRef.entityName,\n\t\tnamespaceId\n\t} });\n\tforKind[entityRef.entityName] = entityRef.entity;\n\tforNs[entityRef.entityKind] = forKind;\n\tcollected[namespaceId] = forNs;\n}\n/**\n* Merges a namespace's entities-channel attachments (lowered from the\n* `entities` handle list, carried on `ContractDefinition.attachedEntities`)\n* with the entities collected from that namespace's deferred entity-ref\n* columns. A column-collected entity that shadows a *different* attached\n* entity of the same kind+name (or vice-versa) is the same name-collision bug\n* `collectEntityFromColumn` guards against across columns, so it is rejected\n* the same way — by entity identity, so the same handle attached and used by\n* a column does not throw.\n*/\nfunction mergeColumnAndAttachedEntities(namespaceId, attached, columnCollected) {\n\tif (attached === void 0) return columnCollected;\n\tif (columnCollected === void 0) return attached;\n\tconst kinds = /* @__PURE__ */ new Set([...Object.keys(attached), ...Object.keys(columnCollected)]);\n\tconst result = {};\n\tfor (const kind of kinds) {\n\t\tconst attachedForKind = attached[kind];\n\t\tconst columnForKind = columnCollected[kind];\n\t\tfor (const [name, entity] of Object.entries(columnForKind ?? {})) {\n\t\t\tconst existing = attachedForKind?.[name];\n\t\t\tif (existing !== void 0 && existing !== entity) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `buildSqlContractFromDefinition: two different \"${kind}\" entities named \"${name}\" in namespace \"${namespaceId}\" — a column-referenced entity conflicts with an attached one; pack-entity names must be unique per namespace.`, { meta: {\n\t\t\t\tkind,\n\t\t\t\tname,\n\t\t\t\tnamespaceId\n\t\t\t} });\n\t\t}\n\t\tresult[kind] = {\n\t\t\t...attachedForKind,\n\t\t\t...columnForKind\n\t\t};\n\t}\n\treturn result;\n}\nconst JSONB_CODEC_ID = \"pg/jsonb@1\";\nconst JSONB_NATIVE_TYPE = \"jsonb\";\nfunction resolveModelNamespaceId(model, modelNameToNamespaceId, defaultNamespaceId) {\n\tif (model.namespaceId !== void 0 && model.namespaceId.length > 0) return model.namespaceId;\n\treturn modelNameToNamespaceId.get(model.modelName) ?? defaultNamespaceId;\n}\nfunction buildThroughDescriptor(through, tableNamespaceByName, targetModel, modelName, fieldName, defaultNamespaceId) {\n\tif (!tableNamespaceByName.has(through.table)) throw contractError(\"CONTRACT.MODEL_UNKNOWN\", `buildSqlContractFromDefinition: junction table \"${through.table}\" for relation \"${modelName}.${fieldName}\" is not a declared model.`, { meta: {\n\t\tsourceModel: modelName,\n\t\trelationName: fieldName,\n\t\tjunctionTable: through.table\n\t} });\n\tconst namespaceId = through.namespaceId ?? defaultNamespaceId;\n\treturn {\n\t\ttable: through.table,\n\t\tnamespaceId,\n\t\tparentColumns: through.parentColumns,\n\t\tchildColumns: through.childColumns,\n\t\ttargetColumns: targetColumnsForJunction(targetModel, fieldName)\n\t};\n}\nfunction targetColumnsForJunction(targetModel, fieldName) {\n\tconst primaryKeyColumns = targetModel.id?.columns;\n\tif (primaryKeyColumns && primaryKeyColumns.length > 0) return primaryKeyColumns;\n\tconst firstUnique = targetModel.uniques?.find((u) => u.columns.length > 0);\n\tif (firstUnique) return firstUnique.columns;\n\tthrow contractError(\"CONTRACT.IDENTITY_INVALID\", `M:N target model \"${targetModel.modelName}\" (relation field \"${fieldName}\") has no primary id or unique key to derive junction targetColumns.`, { meta: {\n\t\tmodelName: targetModel.modelName,\n\t\treason: \"no-key-for-junction-target-columns\"\n\t} });\n}\nfunction buildStorageColumn(field, storageValueSetRef, codecLookup) {\n\tif (isValueObjectField(field)) {\n\t\tconst encodedDefault = field.default !== void 0 ? encodeColumnDefault(field.default, JSONB_CODEC_ID, codecLookup) : void 0;\n\t\treturn {\n\t\t\tnativeType: JSONB_NATIVE_TYPE,\n\t\t\tcodecId: JSONB_CODEC_ID,\n\t\t\tnullable: field.nullable,\n\t\t\t...ifDefined(\"default\", encodedDefault)\n\t\t};\n\t}\n\tconst codecId = field.descriptor.codecId;\n\tconst encodedDefault = field.default !== void 0 ? encodeColumnDefault(field.default, codecId, codecLookup, field.many === true) : void 0;\n\tconst valueSet = storageValueSetRef ?? field.descriptor.valueSet;\n\treturn {\n\t\tnativeType: field.descriptor.nativeType,\n\t\tcodecId,\n\t\tnullable: field.nullable,\n\t\t...field.many ? { many: true } : {},\n\t\t...field.noCheck !== void 0 ? { noCheck: [...field.noCheck].sort() } : {},\n\t\t...ifDefined(\"typeParams\", field.descriptor.typeParams),\n\t\t...ifDefined(\"default\", encodedDefault),\n\t\t...ifDefined(\"typeRef\", field.descriptor.typeRef),\n\t\t...ifDefined(\"valueSet\", valueSet)\n\t};\n}\nfunction buildDomainField(field, column, domainValueSetRef) {\n\tif (isValueObjectField(field)) return {\n\t\ttype: {\n\t\t\tkind: \"valueObject\",\n\t\t\tname: field.valueObjectName\n\t\t},\n\t\tnullable: field.nullable,\n\t\t...field.many ? { many: true } : {}\n\t};\n\treturn {\n\t\ttype: {\n\t\t\tkind: \"scalar\",\n\t\t\tcodecId: column.codecId,\n\t\t\t...ifDefined(\"typeParams\", column.typeParams)\n\t\t},\n\t\tnullable: column.nullable,\n\t\t...field.many ? { many: true } : {},\n\t\t...ifDefined(\"valueSet\", domainValueSetRef)\n\t};\n}\nfunction collectStorageNamespaceCoordinateIds(definition) {\n\tconst ids = /* @__PURE__ */ new Set();\n\tids.add(definition.target.defaultNamespaceId);\n\tfor (const id of definition.namespaces ?? []) if (id.length > 0) ids.add(id);\n\tfor (const model of definition.models) if (model.namespaceId !== void 0 && model.namespaceId.length > 0) ids.add(model.namespaceId);\n\tfor (const id of Object.keys(definition.attachedEntities ?? {})) if (id.length > 0) ids.add(id);\n\treturn ids;\n}\n/**\n* Entry kinds the framework assembler itself manages (`table` from models,\n* `valueSet` from `enums` and attached-entity value-set derivation). A\n* pack-attached entity claiming one of these would silently clobber or be\n* clobbered by the managed slot, so it is rejected outright.\n*/\nconst MANAGED_ENTRY_KINDS = /* @__PURE__ */ new Set([tableEntityKind.kind, valueSetEntityKind.kind]);\nfunction assertNoManagedEntityKinds(namespaceId, entitiesForNs) {\n\tif (entitiesForNs === void 0) return;\n\tfor (const kind of Object.keys(entitiesForNs)) if (MANAGED_ENTRY_KINDS.has(kind)) throw contractError(\"CONTRACT.ENTITY_KIND_INVALID\", `buildSqlContractFromDefinition: attached entity in namespace \"${namespaceId}\" declares entry kind \"${kind}\", which is managed by the framework (table/valueSet) and cannot be attached.`, { meta: {\n\t\tentityKind: kind,\n\t\tnamespaceId\n\t} });\n}\n/**\n* Walks the flat `entityTypes` namespace tree contributed by the target pack\n* and every extension pack, indexing descriptors by their `discriminator` —\n* the same string a pack entity's entries-map key (`entries.<kind>`) uses.\n* Mirrors `contract-psl`'s `buildEntityTypesByDiscriminator`, recomposed here\n* from the packs `ContractDefinition` already carries (`target` +\n* `extensions`) since the TS assembler has no single pre-merged\n* `AuthoringContributions` input to read the way the PSL interpreter does.\n*/\nfunction collectEntityTypeDescriptorsByDiscriminator(definition) {\n\tconst result = /* @__PURE__ */ new Map();\n\tconst walk = (namespace) => {\n\t\tfor (const value of Object.values(namespace)) if (isAuthoringEntityTypeDescriptor(value)) result.set(value.discriminator, value);\n\t\telse walk(value);\n\t};\n\tconst components = [definition.target, ...Object.values(definition.extensions ?? {})];\n\tfor (const component of components) {\n\t\tconst entityTypes = component.authoring?.entityTypes;\n\t\tif (entityTypes !== void 0) walk(entityTypes);\n\t}\n\treturn result;\n}\n/**\n* Derives value-sets for every pack entity declared in one namespace,\n* reusing the same `SqlValueSetDerivingEntityTypeOutput.deriveValueSet` hook\n* `contract-psl`'s `lowerExtensionBlocksForNamespace` folds into\n* `entries.valueSet` on the PSL path — so a TS-attached entity (e.g. a\n* native enum) gets its value-set the same way. Entity kinds with no\n* registered descriptor, or whose descriptor output doesn't derive a\n* value-set, contribute nothing.\n*/\nfunction deriveEntityValueSets(entitiesForNs, entityTypesByDiscriminator) {\n\tif (entitiesForNs === void 0) return void 0;\n\tlet result;\n\tfor (const [kind, entitiesByName] of Object.entries(entitiesForNs)) {\n\t\tconst descriptor = entityTypesByDiscriminator.get(kind);\n\t\tif (descriptor === void 0) continue;\n\t\tfor (const [name, entity] of Object.entries(entitiesByName)) {\n\t\t\tconst derivedValueSet = deriveValueSetFromEntity(descriptor.output, entity);\n\t\t\tif (derivedValueSet === void 0) continue;\n\t\t\tresult ??= {};\n\t\t\tresult[name] = derivedValueSet;\n\t\t}\n\t}\n\treturn result;\n}\n/**\n* Merges a namespace's `enumType()`-derived value-sets with its pack-entity-\n* derived value-sets. Both land in the same `entries.valueSet[name]` slot —\n* which drives value-set → codec typing and the domain-enum CHECK — so a\n* same-named entry in both would let one silently overwrite the other and\n* corrupt whichever column resolves against it. The same collision class the\n* `mergeColumnAndAttachedEntities` guard rejects; the PSL path already hard-errors\n* on the equivalent (`interpretPslDocumentToSqlContract`). Reject it here too.\n*/\nfunction mergeNamespaceValueSets(namespaceId, enumValueSets, packValueSets) {\n\tif (enumValueSets !== void 0 && packValueSets !== void 0) {\n\t\tfor (const name of Object.keys(packValueSets)) if (Object.hasOwn(enumValueSets, name)) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `buildSqlContractFromDefinition: value-set \"${name}\" in namespace \"${namespaceId}\" is derived from both an enum and a pack entity — names must be unique per namespace.`, { meta: {\n\t\t\tkind: \"valueSet\",\n\t\t\tname,\n\t\t\tnamespaceId\n\t\t} });\n\t}\n\treturn {\n\t\t...enumValueSets,\n\t\t...packValueSets\n\t};\n}\nfunction ensureUnboundNamespaceSlot(namespaces, createNamespace) {\n\tif (Object.hasOwn(namespaces, UNBOUND_NAMESPACE_ID)) return namespaces;\n\tconst unbound = createNamespace({\n\t\tid: UNBOUND_NAMESPACE_ID,\n\t\tentries: { table: {} }\n\t});\n\treturn {\n\t\t[UNBOUND_NAMESPACE_ID]: unbound,\n\t\t...namespaces\n\t};\n}\nconst DERIVABLE_CHECK_KINDS = [\"membership\", \"elementNotNull\"];\n/**\n* Which of `columnNames` could have produced `prefix` for some\n* {@link CheckKind} — the reverse of {@link derivedCheckPrefixes}, used only\n* to name the collision in `CONTRACT.CHECK_NAME_RESERVED`'s message. Callers\n* already know `prefix` is a member of `derivedCheckPrefixes(tableName,\n* columnNames)`, so the result is never empty.\n*/\nfunction columnsProducingCheckPrefix(tableName, columnNames, prefix) {\n\treturn columnNames.filter((columnName) => DERIVABLE_CHECK_KINDS.some((kind) => composeCheckWirePrefix(tableName, columnName, kind) === prefix));\n}\nfunction buildSqlContractFromDefinition(definition, codecLookup) {\n\tconst target = definition.target.targetId;\n\tconst defaultNamespaceId = definition.target.defaultNamespaceId;\n\tconst qualifyColumnType = resolveColumnTypeQualifier(definition.target);\n\tconst renderCheckExpressions = resolveCheckExpressionRenderer(definition.target);\n\tconst targetFamily = \"sql\";\n\tconst resolveNamespaceId = (m) => m.namespaceId !== void 0 && m.namespaceId.length > 0 ? m.namespaceId : defaultNamespaceId;\n\tconst modelsByName = new Map(definition.models.map((m) => [m.modelName, m]));\n\tconst tableNamespaceByName = new Map(definition.models.map((m) => [m.tableName, m.namespaceId !== void 0 && m.namespaceId.length > 0 ? m.namespaceId : defaultNamespaceId]));\n\tconst modelsByCoordinate = new Map(definition.models.map((m) => [`${resolveNamespaceId(m)}:${m.modelName}`, m]));\n\tconst tablesByNamespace = {};\n\tconst authoringWarnings = [...definition.warnings ?? []];\n\tconst modelNameToNamespaceId = /* @__PURE__ */ new Map();\n\tconst executionDefaults = [];\n\tconst modelsByNamespace = {};\n\tconst collectedColumnEntities = {};\n\tconst rootEntries = [];\n\tfor (const semanticModel of definition.models) {\n\t\tconst tableName = semanticModel.tableName;\n\t\tconst namespaceId = semanticModel.namespaceId !== void 0 && semanticModel.namespaceId.length > 0 ? semanticModel.namespaceId : defaultNamespaceId;\n\t\tmodelNameToNamespaceId.set(semanticModel.modelName, namespaceId);\n\t\tif (!semanticModel.sharesBaseTable) rootEntries.push({\n\t\t\ttableName,\n\t\t\tnamespaceId,\n\t\t\tref: crossRef(semanticModel.modelName, namespaceId)\n\t\t});\n\t\tconst columns = {};\n\t\tconst fieldToColumn = {};\n\t\tconst domainFields = {};\n\t\tconst domainFieldRefs = {};\n\t\tconst checksForTable = [];\n\t\tconst derivesChecks = effectiveControlPolicy(semanticModel.control, definition.defaultControlPolicy) === \"managed\";\n\t\tfor (const field of semanticModel.fields) {\n\t\t\tconst executionDefaultPhases = field.executionDefaults?.onCreate || field.executionDefaults?.onUpdate ? field.executionDefaults : void 0;\n\t\t\tif (executionDefaultPhases) {\n\t\t\t\tif (field.default !== void 0) throw contractError(\"CONTRACT.DEFAULT_INVALID\", `Field \"${semanticModel.modelName}.${field.fieldName}\" cannot define both default and executionDefaults.`, { meta: {\n\t\t\t\t\tmodelName: semanticModel.modelName,\n\t\t\t\t\tfieldName: field.fieldName,\n\t\t\t\t\treason: \"default-and-executionDefaults\"\n\t\t\t\t} });\n\t\t\t\tif (field.nullable) throw contractError(\"CONTRACT.DEFAULT_INVALID\", `Field \"${semanticModel.modelName}.${field.fieldName}\" cannot be nullable when executionDefaults are present.`, { meta: {\n\t\t\t\t\tmodelName: semanticModel.modelName,\n\t\t\t\t\tfieldName: field.fieldName,\n\t\t\t\t\treason: \"nullable-with-executionDefaults\"\n\t\t\t\t} });\n\t\t\t}\n\t\t\tconst enumHandle = !isValueObjectField(field) ? field.enumTypeHandle : void 0;\n\t\t\tconst storageValueSetRef = enumHandle !== void 0 ? {\n\t\t\t\tplane: \"storage\",\n\t\t\t\tentityKind: \"valueSet\",\n\t\t\t\tnamespaceId: defaultNamespaceId,\n\t\t\t\tentityName: enumHandle.enumName\n\t\t\t} : void 0;\n\t\t\tconst domainValueSetRef = enumHandle !== void 0 ? {\n\t\t\t\tplane: \"domain\",\n\t\t\t\tentityKind: \"enum\",\n\t\t\t\tnamespaceId: defaultNamespaceId,\n\t\t\t\tentityName: enumHandle.enumName\n\t\t\t} : void 0;\n\t\t\tlet resolvedField = field;\n\t\t\tif (!isValueObjectField(field)) {\n\t\t\t\tlet descriptor = field.descriptor;\n\t\t\t\tconst entityRef = descriptor.entityRef;\n\t\t\t\tif (entityRef !== void 0) {\n\t\t\t\t\tcollectEntityFromColumn(collectedColumnEntities, namespaceId, entityRef);\n\t\t\t\t\tdescriptor = resolveEntityRefDescriptor(descriptor, namespaceId);\n\t\t\t\t}\n\t\t\t\tdescriptor = qualifyColumnDescriptor(descriptor, namespaceId, qualifyColumnType);\n\t\t\t\tif (descriptor !== field.descriptor) resolvedField = {\n\t\t\t\t\t...field,\n\t\t\t\t\tdescriptor\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (!isValueObjectField(resolvedField) && resolvedField.noCheck !== void 0) {\n\t\t\t\tconst { noCheck: authoredNoCheck, ...withoutNoCheck } = resolvedField;\n\t\t\t\tresolvedField = derivesChecks ? {\n\t\t\t\t\t...withoutNoCheck,\n\t\t\t\t\tnoCheck: resolveNoCheckKinds({\n\t\t\t\t\t\tmodelName: semanticModel.modelName,\n\t\t\t\t\t\tfieldName: field.fieldName,\n\t\t\t\t\t\tkinds: authoredNoCheck,\n\t\t\t\t\t\tmany: resolvedField.many === true,\n\t\t\t\t\t\tisDomainEnum: enumHandle !== void 0\n\t\t\t\t\t})\n\t\t\t\t} : withoutNoCheck;\n\t\t\t}\n\t\t\tconst column = buildStorageColumn(resolvedField, storageValueSetRef, codecLookup);\n\t\t\tcolumns[field.columnName] = column;\n\t\t\tfieldToColumn[field.fieldName] = field.columnName;\n\t\t\tif (renderCheckExpressions !== void 0 && derivesChecks) {\n\t\t\t\tconst waivedKinds = !isValueObjectField(resolvedField) ? resolvedField.noCheck : void 0;\n\t\t\t\tchecksForTable.push(...lowerRenderedChecks(tableName, renderCheckExpressions({\n\t\t\t\t\ttableName,\n\t\t\t\t\tcolumnName: field.columnName,\n\t\t\t\t\tmany: column.many === true,\n\t\t\t\t\tmemberValues: enumHandle !== void 0 ? checkMemberValues(enumHandle, codecLookup) : void 0\n\t\t\t\t}).filter((candidate) => !(waivedKinds?.includes(candidate.kind) ?? false))));\n\t\t\t}\n\t\t\tdomainFields[field.fieldName] = buildDomainField(field, column, domainValueSetRef);\n\t\t\tif (isValueObjectField(field)) domainFieldRefs[field.fieldName] = {\n\t\t\t\tkind: \"valueObject\",\n\t\t\t\tname: field.valueObjectName,\n\t\t\t\t...field.many ? { many: true } : {}\n\t\t\t};\n\t\t\telse if (field.many) domainFieldRefs[field.fieldName] = {\n\t\t\t\tkind: \"scalar\",\n\t\t\t\tmany: true\n\t\t\t};\n\t\t\tif (executionDefaultPhases) executionDefaults.push({\n\t\t\t\tref: {\n\t\t\t\t\tnamespace: namespaceId,\n\t\t\t\t\ttable: tableName,\n\t\t\t\t\tcolumn: field.columnName\n\t\t\t\t},\n\t\t\t\t...ifDefined(\"onCreate\", executionDefaultPhases.onCreate),\n\t\t\t\t...ifDefined(\"onUpdate\", executionDefaultPhases.onUpdate)\n\t\t\t});\n\t\t}\n\t\tconst authoringForeignKeys = (semanticModel.foreignKeys ?? []).map((fk) => {\n\t\t\tif (fk.references.spaceId !== void 0) {\n\t\t\t\tconst targetNamespaceId = fk.references.namespaceId ?? defaultNamespaceId;\n\t\t\t\treturn {\n\t\t\t\t\tsource: {\n\t\t\t\t\t\tnamespaceId: asNamespaceId(namespaceId),\n\t\t\t\t\t\ttableName,\n\t\t\t\t\t\tcolumns: fk.columns\n\t\t\t\t\t},\n\t\t\t\t\ttarget: {\n\t\t\t\t\t\tnamespaceId: asNamespaceId(targetNamespaceId),\n\t\t\t\t\t\ttableName: fk.references.table,\n\t\t\t\t\t\tcolumns: fk.references.columns,\n\t\t\t\t\t\tspaceId: fk.references.spaceId\n\t\t\t\t\t},\n\t\t\t\t\t...applyFkDefaults({\n\t\t\t\t\t\t...ifDefined(\"constraint\", fk.constraint),\n\t\t\t\t\t\t...ifDefined(\"index\", fk.index)\n\t\t\t\t\t}, definition.foreignKeyDefaults),\n\t\t\t\t\t...ifDefined(\"name\", fk.name),\n\t\t\t\t\t...ifDefined(\"onDelete\", fk.onDelete),\n\t\t\t\t\t...ifDefined(\"onUpdate\", fk.onUpdate)\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst targetModel = assertKnownTargetModel(modelsByName, modelsByCoordinate, semanticModel.modelName, fk.references.model, fk.references.namespaceId, \"Foreign key\");\n\t\t\tassertTargetTableMatches(semanticModel.modelName, targetModel, fk.references.table, \"Foreign key\");\n\t\t\tconst targetNamespaceId = fk.references.namespaceId ?? (targetModel.namespaceId !== void 0 && targetModel.namespaceId.length > 0 ? targetModel.namespaceId : defaultNamespaceId);\n\t\t\treturn {\n\t\t\t\tsource: {\n\t\t\t\t\tnamespaceId: asNamespaceId(namespaceId),\n\t\t\t\t\ttableName,\n\t\t\t\t\tcolumns: fk.columns\n\t\t\t\t},\n\t\t\t\ttarget: {\n\t\t\t\t\tnamespaceId: asNamespaceId(targetNamespaceId),\n\t\t\t\t\ttableName: fk.references.table,\n\t\t\t\t\tcolumns: fk.references.columns\n\t\t\t\t},\n\t\t\t\t...applyFkDefaults({\n\t\t\t\t\t...ifDefined(\"constraint\", fk.constraint),\n\t\t\t\t\t...ifDefined(\"index\", fk.index)\n\t\t\t\t}, definition.foreignKeyDefaults),\n\t\t\t\t...ifDefined(\"name\", fk.name),\n\t\t\t\t...ifDefined(\"onDelete\", fk.onDelete),\n\t\t\t\t...ifDefined(\"onUpdate\", fk.onUpdate)\n\t\t\t};\n\t\t});\n\t\tif (semanticModel.sharesBaseTable && semanticModel.checks && semanticModel.checks.length > 0) throw contractError(\"CONTRACT.CHECK_ON_STI_VARIANT\", `Model \"${semanticModel.modelName}\" declares a check constraint but shares its base model's storage table (single-table inheritance) and has no table of its own to declare it on. Declare the check on the base model instead.`, { meta: {\n\t\t\ttableName,\n\t\t\tmodelName: semanticModel.modelName\n\t\t} });\n\t\tif (!semanticModel.sharesBaseTable) {\n\t\t\tconst uniques = (semanticModel.uniques ?? []).map((u) => ({\n\t\t\t\tcolumns: u.columns,\n\t\t\t\t...ifDefined(\"name\", u.name)\n\t\t\t}));\n\t\t\tconst declaredIndexes = (semanticModel.indexes ?? []).map((i) => lowerAuthoredIndex(tableName, blindCast({\n\t\t\t\t...ifDefined(\"columns\", i.columns),\n\t\t\t\t...ifDefined(\"expression\", i.expression),\n\t\t\t\twhere: i.where,\n\t\t\t\tunique: i.unique,\n\t\t\t\tmap: i.map,\n\t\t\t\tname: i.name,\n\t\t\t\ttype: i.type,\n\t\t\t\toptions: i.options\n\t\t\t}), authoringWarnings));\n\t\t\tif (semanticModel.checks !== void 0 && semanticModel.checks.length > 0) {\n\t\t\t\tconst tableColumnNames = Object.keys(columns);\n\t\t\t\tconst reservedCheckPrefixes = derivedCheckPrefixes(tableName, tableColumnNames);\n\t\t\t\tfor (const authoredCheck of semanticModel.checks) {\n\t\t\t\t\tconst lowered = lowerAuthoredCheck(tableName, authoredCheck, authoringWarnings);\n\t\t\t\t\tif (lowered.naming.kind === \"wire\" && reservedCheckPrefixes.has(lowered.naming.prefix)) {\n\t\t\t\t\t\tconst collidingColumns = columnsProducingCheckPrefix(tableName, tableColumnNames, lowered.naming.prefix);\n\t\t\t\t\t\tconst columnList = collidingColumns.map((name) => `\"${name}\"`).join(\", \");\n\t\t\t\t\t\tthrow contractError(\"CONTRACT.CHECK_NAME_RESERVED\", `Check \"${lowered.naming.prefix}\" on table \"${tableName}\": this name's prefix matches the shape a derived enforcement check would use for column${collidingColumns.length === 1 ? \"\" : \"s\"} ${columnList} of this table, so it can't be told apart from one. Choose a different name.`, { meta: {\n\t\t\t\t\t\t\ttableName,\n\t\t\t\t\t\t\tprefix: lowered.naming.prefix,\n\t\t\t\t\t\t\tcollidingColumns\n\t\t\t\t\t\t} });\n\t\t\t\t\t}\n\t\t\t\t\tchecksForTable.push(new CheckConstraint(lowered));\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst primaryKey = semanticModel.id ? {\n\t\t\t\tcolumns: semanticModel.id.columns,\n\t\t\t\t...ifDefined(\"name\", semanticModel.id.name)\n\t\t\t} : void 0;\n\t\t\tconst { foreignKeys, indexes } = materializeForeignKeysAndIndexes(tableName, authoringForeignKeys, declaredIndexes, uniques, primaryKey);\n\t\t\tconst tableInput = {\n\t\t\t\tcolumns,\n\t\t\t\t...ifDefined(\"control\", semanticModel.control),\n\t\t\t\tuniques,\n\t\t\t\tindexes: indexes.map((i) => new Index(i)),\n\t\t\t\tforeignKeys,\n\t\t\t\t...primaryKey ? { primaryKey } : {},\n\t\t\t\t...checksForTable.length > 0 ? { checks: checksForTable } : {}\n\t\t\t};\n\t\t\tlet nsTables = tablesByNamespace[namespaceId];\n\t\t\tif (nsTables === void 0) {\n\t\t\t\tnsTables = {};\n\t\t\t\ttablesByNamespace[namespaceId] = nsTables;\n\t\t\t}\n\t\t\tif (nsTables[tableName] !== void 0) throw contractError(\"CONTRACT.NAME_DUPLICATE\", `buildSqlContractFromDefinition: duplicate table \"${tableName}\" in namespace \"${namespaceId}\".`, { meta: {\n\t\t\t\tkind: \"table\",\n\t\t\t\tname: tableName,\n\t\t\t\tnamespaceId\n\t\t\t} });\n\t\t\tnsTables[tableName] = tableInput;\n\t\t}\n\t\tconst storageFields = {};\n\t\tfor (const [fieldName, columnName] of Object.entries(fieldToColumn)) storageFields[fieldName] = { column: columnName };\n\t\tconst columnToField = new Map(Object.entries(fieldToColumn).map(([field, col]) => [col, field]));\n\t\tconst modelRelations = {};\n\t\tfor (const relation of semanticModel.relations ?? []) {\n\t\t\tif (relation.spaceId !== void 0) {\n\t\t\t\tconst targetNamespaceId = relation.namespaceId ?? defaultNamespaceId;\n\t\t\t\tmodelRelations[relation.fieldName] = {\n\t\t\t\t\tto: crossRef(relation.toModel, targetNamespaceId, relation.spaceId),\n\t\t\t\t\tcardinality: \"N:1\",\n\t\t\t\t\ton: {\n\t\t\t\t\t\tlocalFields: relation.on.parentColumns.map((col) => columnToField.get(col) ?? col),\n\t\t\t\t\t\ttargetFields: relation.on.childColumns\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst targetModel = assertKnownTargetModel(modelsByName, modelsByCoordinate, semanticModel.modelName, relation.toModel, relation.toNamespaceId, \"Relation\");\n\t\t\tassertTargetTableMatches(semanticModel.modelName, targetModel, relation.toTable, \"Relation\");\n\t\t\tconst targetColumnToField = new Map(targetModel.fields.map((f) => [f.columnName, f.fieldName]));\n\t\t\tconst to = crossRef(relation.toModel, relation.toNamespaceId !== void 0 && relation.toNamespaceId.length > 0 ? relation.toNamespaceId : resolveModelNamespaceId(targetModel, modelNameToNamespaceId, defaultNamespaceId));\n\t\t\tconst on = {\n\t\t\t\tlocalFields: relation.on.parentColumns.map((col) => columnToField.get(col) ?? col),\n\t\t\t\ttargetFields: relation.on.childColumns.map((col) => targetColumnToField.get(col) ?? col)\n\t\t\t};\n\t\t\tif (relation.cardinality === \"N:M\") {\n\t\t\t\tif (!relation.through) throw contractError(\"CONTRACT.RELATION_INVALID\", `Relation \"${semanticModel.modelName}.${relation.fieldName}\" with cardinality \"N:M\" requires through metadata`, { meta: {\n\t\t\t\t\tmodelName: semanticModel.modelName,\n\t\t\t\t\trelationName: relation.fieldName,\n\t\t\t\t\treason: \"many-to-many-missing-through\"\n\t\t\t\t} });\n\t\t\t\tmodelRelations[relation.fieldName] = {\n\t\t\t\t\tto,\n\t\t\t\t\tcardinality: \"N:M\",\n\t\t\t\t\ton,\n\t\t\t\t\tthrough: buildThroughDescriptor(relation.through, tableNamespaceByName, targetModel, semanticModel.modelName, relation.fieldName, defaultNamespaceId)\n\t\t\t\t};\n\t\t\t} else modelRelations[relation.fieldName] = {\n\t\t\t\tto,\n\t\t\t\tcardinality: relation.cardinality,\n\t\t\t\ton\n\t\t\t};\n\t\t}\n\t\tlet namespaceModels = modelsByNamespace[namespaceId];\n\t\tif (namespaceModels === void 0) {\n\t\t\tnamespaceModels = {};\n\t\t\tmodelsByNamespace[namespaceId] = namespaceModels;\n\t\t}\n\t\tnamespaceModels[semanticModel.modelName] = {\n\t\t\tstorage: {\n\t\t\t\ttable: tableName,\n\t\t\t\tnamespaceId,\n\t\t\t\tfields: storageFields\n\t\t\t},\n\t\t\tfields: domainFields,\n\t\t\trelations: modelRelations\n\t\t};\n\t}\n\tconst rootTableNameCounts = /* @__PURE__ */ new Map();\n\tfor (const entry of rootEntries) rootTableNameCounts.set(entry.tableName, (rootTableNameCounts.get(entry.tableName) ?? 0) + 1);\n\tconst roots = {};\n\tfor (const entry of rootEntries) {\n\t\tconst key = (rootTableNameCounts.get(entry.tableName) ?? 0) > 1 ? `${entry.namespaceId}.${entry.tableName}` : entry.tableName;\n\t\troots[key] = entry.ref;\n\t}\n\tconst rawStorageTypes = definition.storageTypes ?? {};\n\tconst documentTypes = Object.fromEntries(Object.entries(rawStorageTypes).map(([name, entry]) => {\n\t\tif (entry.kind === \"codec-instance\") return [name, entry];\n\t\treturn [name, toStorageTypeInstance({\n\t\t\tcodecId: entry.codecId,\n\t\t\tnativeType: entry.nativeType,\n\t\t\ttypeParams: entry.typeParams ?? {}\n\t\t})];\n\t}));\n\tconst namespaceCoordinateIds = collectStorageNamespaceCoordinateIds(definition);\n\tconst domainEnumsByNs = {};\n\tconst storageValueSetsByNs = {};\n\tfor (const [enumName, handle] of Object.entries(definition.enums ?? {})) {\n\t\tif (enumName !== handle.enumName) throw contractError(\"CONTRACT.ENUM_INVALID\", `enum declaration key \"${enumName}\" must match enumType name \"${handle.enumName}\". Aliases are not supported.`, { meta: {\n\t\t\tenumName: handle.enumName,\n\t\t\tdeclarationKey: enumName,\n\t\t\treason: \"key-name-mismatch\"\n\t\t} });\n\t\tconst nsId = defaultNamespaceId;\n\t\tlet domainSlot = domainEnumsByNs[nsId];\n\t\tif (domainSlot === void 0) {\n\t\t\tdomainSlot = {};\n\t\t\tdomainEnumsByNs[nsId] = domainSlot;\n\t\t}\n\t\tdomainSlot[enumName] = {\n\t\t\tcodecId: handle.codecId,\n\t\t\tmembers: handle.enumMembers.map((m) => ({\n\t\t\t\tname: m.name,\n\t\t\t\tvalue: encodeViaCodec(m.value, handle.codecId, codecLookup)\n\t\t\t}))\n\t\t};\n\t\tlet storageSlot = storageValueSetsByNs[nsId];\n\t\tif (storageSlot === void 0) {\n\t\t\tstorageSlot = {};\n\t\t\tstorageValueSetsByNs[nsId] = storageSlot;\n\t\t}\n\t\tstorageSlot[enumName] = {\n\t\t\tkind: \"valueSet\",\n\t\t\tvalues: handle.values.map((v) => encodeViaCodec(v, handle.codecId, codecLookup))\n\t\t};\n\t}\n\tconst { createNamespace } = definition;\n\tconst entityTypesByDiscriminator = collectEntityTypeDescriptorsByDiscriminator(definition);\n\tconst namespaces = Object.fromEntries([...namespaceCoordinateIds].sort().map((id) => {\n\t\tconst entitiesForNs = mergeColumnAndAttachedEntities(id, definition.attachedEntities?.[id], collectedColumnEntities[id]);\n\t\tassertNoManagedEntityKinds(id, entitiesForNs);\n\t\tconst enumValueSetEntries = storageValueSetsByNs[id];\n\t\tconst packValueSetEntries = deriveEntityValueSets(entitiesForNs, entityTypesByDiscriminator);\n\t\tconst valueSetEntries = enumValueSetEntries !== void 0 || packValueSetEntries !== void 0 ? mergeNamespaceValueSets(id, enumValueSetEntries, packValueSetEntries) : void 0;\n\t\tconst nsInput = {\n\t\t\tid,\n\t\t\tentries: {\n\t\t\t\ttable: tablesByNamespace[id] ?? {},\n\t\t\t\t...entitiesForNs,\n\t\t\t\t...valueSetEntries !== void 0 && Object.keys(valueSetEntries).length > 0 ? { valueSet: valueSetEntries } : {}\n\t\t\t}\n\t\t};\n\t\treturn [id, createNamespace(nsInput)];\n\t}));\n\tconst storageWithoutHash = {\n\t\t...Object.keys(documentTypes).length > 0 ? { types: documentTypes } : {},\n\t\tnamespaces: defaultNamespaceId === UNBOUND_NAMESPACE_ID ? ensureUnboundNamespaceSlot(namespaces, createNamespace) : namespaces\n\t};\n\tconst storageHash = definition.storageHash ? coreHash(definition.storageHash) : computeStorageHash({\n\t\ttarget,\n\t\ttargetFamily,\n\t\tstorage: storageWithoutHash,\n\t\t...sqlContractCanonicalizationHooks\n\t});\n\tconst storage = new SqlStorage({\n\t\t...storageWithoutHash,\n\t\tstorageHash\n\t});\n\tconst executionSection = executionDefaults.length > 0 ? { mutations: { defaults: executionDefaults.sort((a, b) => {\n\t\tconst tableCompare = a.ref.table.localeCompare(b.ref.table);\n\t\tif (tableCompare !== 0) return tableCompare;\n\t\treturn a.ref.column.localeCompare(b.ref.column);\n\t}) } } : void 0;\n\tconst extensionNamespaces = definition.extensions ? Object.values(definition.extensions).map((pack) => pack.id) : void 0;\n\tconst extensions = { ...definition.extensions || {} };\n\tif (extensionNamespaces) {\n\t\tfor (const namespace of extensionNamespaces) if (!Object.hasOwn(extensions, namespace)) extensions[namespace] = {};\n\t}\n\tconst extensionPackCapabilitySources = definition.extensions ? Object.values(definition.extensions).map((pack) => pack.capabilities) : [];\n\tconst capabilities = mergeCapabilityMatrices(definition.target.capabilities, ...extensionPackCapabilitySources);\n\tconst profileHash = computeProfileHash({\n\t\ttarget,\n\t\ttargetFamily,\n\t\tcapabilities: {}\n\t});\n\tconst executionWithHash = executionSection ? {\n\t\t...executionSection,\n\t\texecutionHash: computeExecutionHash({\n\t\t\ttarget,\n\t\t\ttargetFamily,\n\t\t\texecution: executionSection\n\t\t})\n\t} : void 0;\n\tconst valueObjects = definition.valueObjects && definition.valueObjects.length > 0 ? Object.fromEntries(definition.valueObjects.map((vo) => [vo.name, { fields: Object.fromEntries(vo.fields.map((f) => [f.fieldName, isValueObjectField(f) ? {\n\t\ttype: {\n\t\t\tkind: \"valueObject\",\n\t\t\tname: f.valueObjectName\n\t\t},\n\t\tnullable: f.nullable,\n\t\t...f.many ? { many: true } : {}\n\t} : {\n\t\ttype: {\n\t\t\tkind: \"scalar\",\n\t\t\tcodecId: f.descriptor.codecId,\n\t\t\t...ifDefined(\"typeParams\", f.descriptor.typeParams)\n\t\t},\n\t\tnullable: f.nullable\n\t}])) }])) : void 0;\n\tconst domainNamespaceIds = new Set(Object.keys(modelsByNamespace));\n\tif (domainNamespaceIds.size === 0) domainNamespaceIds.add(defaultNamespaceId);\n\tif (valueObjects !== void 0) domainNamespaceIds.add(defaultNamespaceId);\n\tfor (const nsId of Object.keys(domainEnumsByNs)) domainNamespaceIds.add(nsId);\n\tconst domainNamespaces = Object.fromEntries([...domainNamespaceIds].sort().map((namespaceId) => {\n\t\tconst modelsInNs = modelsByNamespace[namespaceId] ?? {};\n\t\tconst enumsInNs = domainEnumsByNs[namespaceId];\n\t\treturn [namespaceId, {\n\t\t\tmodels: modelsInNs,\n\t\t\t...namespaceId === defaultNamespaceId && valueObjects !== void 0 ? { valueObjects } : {},\n\t\t\t...enumsInNs !== void 0 && Object.keys(enumsInNs).length > 0 ? { enum: enumsInNs } : {}\n\t\t}];\n\t}));\n\tconst contract = {\n\t\ttarget,\n\t\ttargetFamily,\n\t\t...ifDefined(\"defaultControlPolicy\", definition.defaultControlPolicy),\n\t\tdomain: { namespaces: domainNamespaces },\n\t\troots,\n\t\tstorage,\n\t\t...executionWithHash ? { execution: executionWithHash } : {},\n\t\textensions,\n\t\tcapabilities,\n\t\tprofileHash,\n\t\tmeta: {}\n\t};\n\tassertStorageSemantics(definition, contract);\n\tflushAuthoringWarnings(authoringWarnings);\n\treturn contract;\n}\n//#endregion\n//#region src/derived-checks.ts\n/**\n* The one step every SQL contract specifier funnels its loaded contract\n* through: stamp the specifier's default control policy, then strip derived\n* checks from every table the stamped policy leaves non-managed. Composing the\n* two here is what keeps the managed-only consequence from being skipped on\n* any specifier route.\n*/\nfunction applySqlSpecifierControlPolicy(contract, defaultControlPolicy, createNamespace) {\n\treturn stripDerivedChecksFromNonManagedTables(applySpecifierDefaultControlPolicy(contract, defaultControlPolicy), createNamespace);\n}\n/**\n* Removes generated enforcement checks from every table whose effective\n* control policy is not `managed`.\n*\n* A check is derived iff its wire prefix is one derivation would produce for\n* some column of its table — {@link derivedCheckPrefixes} enumerates that\n* set. Wire-naming alone no longer identifies derivation: an authored\n* `name:` check (`@@check` / `check()`) is wire-named too, so a bare\n* `check.prefix === undefined` test would delete an author's own constraint\n* from every non-`managed` table. The prefix-shape rule tests against the\n* table's own columns instead of the naming mode, so an authored check with\n* an unrelated prefix survives.\n*\n* The rule is weaker than recomputing the content hash `contract infer`\n* uses: that needs `postgresRenderCheckExpressions` to know what a kind\n* renders, and this funnel has no target descriptor to reach it through. It\n* can only ask whether some column could have produced a prefix of this\n* shape, not whether this exact column produced this exact check. The gap\n* that opens — an authored name that collides with a derived-prefix shape —\n* is closed at authoring time instead: such a name is rejected\n* (`CONTRACT.CHECK_NAME_RESERVED`) before it ever reaches storage.\n*\n* Why derivation stops at the namespace boundary: the contract *describes* an\n* external schema, it does not *prescribe* enforcement for it. Deriving a check\n* for a table Prisma Next never creates declares a constraint the live database\n* has no reason to carry, and `external` fails verify on a declared shape the\n* database lacks — an unfixable failure, since no plan may emit DDL there\n* either.\n*\n* This is the post-build half of the rule. Authoring skips derivation for a\n* table whose policy is known in the source; this pass catches the policy a\n* contract *specifier* applies after the contract is already built, which is\n* the only signal a pack like the Supabase extension gives. Specifiers reach\n* it through `applySqlSpecifierControlPolicy` above.\n*\n* Returns the contract unchanged (same reference) when nothing is stripped.\n* When something is, the storage hash is recomputed — the stripped contract\n* describes different storage.\n*/\nfunction stripDerivedChecksFromNonManagedTables(contract, createNamespace) {\n\tconst storage = contract.storage;\n\tif (!isSqlStorageShaped(storage)) return contract;\n\tlet anyStripped = false;\n\tconst namespaces = {};\n\tfor (const [namespaceId, namespace] of Object.entries(storage.namespaces)) {\n\t\tif (!isMaterializedSqlNamespace(namespace)) return contract;\n\t\tconst tables = namespace.entries[\"table\"];\n\t\tif (tables === void 0) {\n\t\t\tnamespaces[namespaceId] = namespace;\n\t\t\tcontinue;\n\t\t}\n\t\tlet namespaceStripped = false;\n\t\tconst nextTables = {};\n\t\tfor (const [tableName, table] of Object.entries(tables)) {\n\t\t\tconst stripped = StorageTable.is(table) ? withoutDerivedChecks(tableName, table, contract.defaultControlPolicy) : table;\n\t\t\tif (stripped !== table) namespaceStripped = true;\n\t\t\tnextTables[tableName] = stripped;\n\t\t}\n\t\tif (!namespaceStripped) {\n\t\t\tnamespaces[namespaceId] = namespace;\n\t\t\tcontinue;\n\t\t}\n\t\tanyStripped = true;\n\t\tnamespaces[namespaceId] = createNamespace({\n\t\t\tid: namespace.id,\n\t\t\tentries: {\n\t\t\t\t...namespace.entries,\n\t\t\t\ttable: nextTables\n\t\t\t}\n\t\t});\n\t}\n\tif (!anyStripped) return contract;\n\tconst storageWithoutHash = {\n\t\tnamespaces,\n\t\t...ifDefined(\"types\", storage.types)\n\t};\n\treturn {\n\t\t...contract,\n\t\tstorage: new SqlStorage({\n\t\t\t...storageWithoutHash,\n\t\t\tstorageHash: computeStorageHash({\n\t\t\t\ttarget: contract.target,\n\t\t\t\ttargetFamily: contract.targetFamily,\n\t\t\t\tstorage: storageWithoutHash,\n\t\t\t\t...sqlContractCanonicalizationHooks\n\t\t\t})\n\t\t})\n\t};\n}\n/**\n* Structural stand-in for `instanceof SqlStorage`: like the checks it wraps, a\n* storage instance can arrive from a realm whose IR classes are a separate\n* copy (the dist e2e shape), where an `instanceof` test would miss.\n*/\nfunction isSqlStorageShaped(x) {\n\tif (typeof x !== \"object\" || x === null || !(\"namespaces\" in x)) return false;\n\treturn typeof x.namespaces === \"object\" && x.namespaces !== null;\n}\n/** The table itself when it keeps every check, a rebuilt one when it does not. */\nfunction withoutDerivedChecks(tableName, table, contractDefault) {\n\tconst checks = table.checks;\n\tif (checks === void 0 || checks.length === 0) return table;\n\tif (effectiveControlPolicy(table.control, contractDefault) === \"managed\") return table;\n\tconst columnNames = Object.keys(table.columns);\n\tinvariant(columnNames.length > 0, `withoutDerivedChecks: table \"${tableName}\" carries checks but its column map is empty. The caller must pass the table's real, complete column set — an empty or partial map makes every check misclassify as non-derived and survive the strip.`);\n\tconst derivedPrefixes = derivedCheckPrefixes(tableName, columnNames);\n\tconst kept = checks.filter((check) => check.prefix === void 0 || !derivedPrefixes.has(check.prefix));\n\tif (kept.length === checks.length) return table;\n\treturn new StorageTable({\n\t\tcolumns: table.columns,\n\t\tuniques: table.uniques,\n\t\tindexes: table.indexes,\n\t\tforeignKeys: table.foreignKeys,\n\t\t...ifDefined(\"primaryKey\", table.primaryKey),\n\t\t...ifDefined(\"control\", table.control),\n\t\t...kept.length > 0 ? { checks: kept.map((check) => checkConstraintInputFromSerialized({\n\t\t\tname: check.name,\n\t\t\t...ifDefined(\"prefix\", check.prefix),\n\t\t\texpression: check.expression\n\t\t})) } : {}\n\t});\n}\n//#endregion\nexport { buildSqlContractFromDefinition as n, contractError as r, applySqlSpecifierControlPolicy as t };\n\n//# sourceMappingURL=derived-checks-DFMRmiAu.mjs.map"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"family__pack.d.mts","names":[],"sources":["../../../../2-sql/9-family/dist/pack.d.mts"],"mappings":";;cACc;WACH;WACA;WACA;WACA;WACA;aACE;eACE;iBACE;iBACA;mBACE;mBACA;mBACA;qBACE;;;;eAIN;iBACE;iBACA;mBACE;mBACA;mBACA;qBACE;;;;eAIN;iBACE;iBACA;mBACE;mBACA;mBACA;qBACE;uBACE;uBACA;uBACA;uBACA;uBACA;;;;iBAIN;mBACE;mBACA;mBACA;qBACE;uBACE;uBACA;uBACA;uBACA;;;;;eAKR;iBACE;iBACA;mBACE;mBACA;mBACA;qBACE;;;;eAIN;iBACE;iBACA;mBACE;mBACA;mBACA;qBACE;;;;eAIN;iBACE;mBACE;mBACA;qBACE;qBACA;qBACA;uBACE;;qBAEF;uBACE;yBACE;yBACA;;;qBAGJ;;;iBAGJ;mBACE;mBACA;qBACE;qBACA;qBACA;uBACE;;qBAEF;uBACE;yBACE;yBACA;;;qBAGJ;;;iBAGJ;mBACE;mBACA;qBACE;qBACA;qBACA;uBACE;;qBAEF;uBACE;yBACE;yBACA;;;qBAGJ;;;iBAGJ;mBACE;mBACA;qBACE;qBACA;qBACA;uBACE;yBACE;yBACA;yBACA;yBACA;yBACA;;;;mBAIN;qBACE;qBACA;qBACA;uBACE;yBACE;yBACA;yBACA;yBACA;;;qBAGJ;uBACE;yBACE;yBACA;yBACA;2BACE;6BACE;6BACA;6BACA;;;;;qBAKR;;;iBAGJ;mBACE;mBACA;qBACE;qBACA;qBACA;uBACE;;qBAEF;uBACE;yBACE;yBACA;;;qBAGJ;;;iBAGJ;mBACE;mBACA;qBACE;qBACA;qBACA;uBACE;;qBAEF;uBACE;yBACE;yBACA;;;qBAGJ;;;;;aAKR;eACE;iBACE;mBACE;mBACA;qBACE;qBACA;qBACA;qBACA;qBACA;;mBAEF;qBACE;qBACA;qBACA;uBACE;yBACE;yBACA;;;;;;;aAOZ,gEAAgE;aAChE;eACE;iBACE;iBACA;iBACA;iBACA;mBACE;;iBAEF;iBACA"}