@prisma-next/family-sql 0.3.0-dev.5 → 0.3.0-dev.52

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 (100) hide show
  1. package/README.md +12 -6
  2. package/dist/assembly-BVS641kd.mjs +106 -0
  3. package/dist/assembly-BVS641kd.mjs.map +1 -0
  4. package/dist/control-adapter.d.mts +60 -0
  5. package/dist/control-adapter.d.mts.map +1 -0
  6. package/dist/control-adapter.mjs +1 -0
  7. package/dist/control-instance-CWKSpACr.d.mts +292 -0
  8. package/dist/control-instance-CWKSpACr.d.mts.map +1 -0
  9. package/dist/control.d.mts +64 -0
  10. package/dist/control.d.mts.map +1 -0
  11. package/dist/control.mjs +536 -0
  12. package/dist/control.mjs.map +1 -0
  13. package/dist/runtime.d.mts +27 -0
  14. package/dist/runtime.d.mts.map +1 -0
  15. package/dist/runtime.mjs +38 -0
  16. package/dist/runtime.mjs.map +1 -0
  17. package/dist/schema-verify.d.mts +48 -0
  18. package/dist/schema-verify.d.mts.map +1 -0
  19. package/dist/schema-verify.mjs +4 -0
  20. package/dist/test-utils.d.mts +2 -0
  21. package/dist/test-utils.mjs +3 -0
  22. package/dist/verify-BfMETJcM.mjs +108 -0
  23. package/dist/verify-BfMETJcM.mjs.map +1 -0
  24. package/dist/verify-sql-schema-CpAVEi8A.mjs +1058 -0
  25. package/dist/verify-sql-schema-CpAVEi8A.mjs.map +1 -0
  26. package/dist/verify-sql-schema-DhHnkpPa.d.mts +67 -0
  27. package/dist/verify-sql-schema-DhHnkpPa.d.mts.map +1 -0
  28. package/dist/verify.d.mts +31 -0
  29. package/dist/verify.d.mts.map +1 -0
  30. package/dist/verify.mjs +3 -0
  31. package/package.json +36 -47
  32. package/src/core/assembly.ts +158 -59
  33. package/src/core/control-adapter.ts +15 -0
  34. package/src/core/control-descriptor.ts +37 -0
  35. package/src/core/{instance.ts → control-instance.ts} +108 -241
  36. package/src/core/migrations/types.ts +62 -163
  37. package/src/core/runtime-descriptor.ts +19 -41
  38. package/src/core/runtime-instance.ts +11 -133
  39. package/src/core/schema-verify/verify-helpers.ts +187 -97
  40. package/src/core/schema-verify/verify-sql-schema.ts +910 -392
  41. package/src/core/verify.ts +4 -13
  42. package/src/exports/control.ts +9 -6
  43. package/src/exports/runtime.ts +2 -6
  44. package/src/exports/schema-verify.ts +10 -2
  45. package/src/exports/test-utils.ts +0 -1
  46. package/dist/chunk-6K3RPBDP.js +0 -580
  47. package/dist/chunk-6K3RPBDP.js.map +0 -1
  48. package/dist/chunk-BHEGVBY7.js +0 -772
  49. package/dist/chunk-BHEGVBY7.js.map +0 -1
  50. package/dist/chunk-SU7LN2UH.js +0 -96
  51. package/dist/chunk-SU7LN2UH.js.map +0 -1
  52. package/dist/core/assembly.d.ts +0 -25
  53. package/dist/core/assembly.d.ts.map +0 -1
  54. package/dist/core/control-adapter.d.ts +0 -42
  55. package/dist/core/control-adapter.d.ts.map +0 -1
  56. package/dist/core/descriptor.d.ts +0 -31
  57. package/dist/core/descriptor.d.ts.map +0 -1
  58. package/dist/core/instance.d.ts +0 -142
  59. package/dist/core/instance.d.ts.map +0 -1
  60. package/dist/core/migrations/plan-helpers.d.ts +0 -20
  61. package/dist/core/migrations/plan-helpers.d.ts.map +0 -1
  62. package/dist/core/migrations/policies.d.ts +0 -6
  63. package/dist/core/migrations/policies.d.ts.map +0 -1
  64. package/dist/core/migrations/types.d.ts +0 -280
  65. package/dist/core/migrations/types.d.ts.map +0 -1
  66. package/dist/core/runtime-descriptor.d.ts +0 -19
  67. package/dist/core/runtime-descriptor.d.ts.map +0 -1
  68. package/dist/core/runtime-instance.d.ts +0 -54
  69. package/dist/core/runtime-instance.d.ts.map +0 -1
  70. package/dist/core/schema-verify/verify-helpers.d.ts +0 -50
  71. package/dist/core/schema-verify/verify-helpers.d.ts.map +0 -1
  72. package/dist/core/schema-verify/verify-sql-schema.d.ts +0 -45
  73. package/dist/core/schema-verify/verify-sql-schema.d.ts.map +0 -1
  74. package/dist/core/verify.d.ts +0 -39
  75. package/dist/core/verify.d.ts.map +0 -1
  76. package/dist/exports/control-adapter.d.ts +0 -2
  77. package/dist/exports/control-adapter.d.ts.map +0 -1
  78. package/dist/exports/control-adapter.js +0 -1
  79. package/dist/exports/control-adapter.js.map +0 -1
  80. package/dist/exports/control.d.ts +0 -13
  81. package/dist/exports/control.d.ts.map +0 -1
  82. package/dist/exports/control.js +0 -149
  83. package/dist/exports/control.js.map +0 -1
  84. package/dist/exports/runtime.d.ts +0 -8
  85. package/dist/exports/runtime.d.ts.map +0 -1
  86. package/dist/exports/runtime.js +0 -64
  87. package/dist/exports/runtime.js.map +0 -1
  88. package/dist/exports/schema-verify.d.ts +0 -11
  89. package/dist/exports/schema-verify.d.ts.map +0 -1
  90. package/dist/exports/schema-verify.js +0 -11
  91. package/dist/exports/schema-verify.js.map +0 -1
  92. package/dist/exports/test-utils.d.ts +0 -7
  93. package/dist/exports/test-utils.d.ts.map +0 -1
  94. package/dist/exports/test-utils.js +0 -17
  95. package/dist/exports/test-utils.js.map +0 -1
  96. package/dist/exports/verify.d.ts +0 -2
  97. package/dist/exports/verify.d.ts.map +0 -1
  98. package/dist/exports/verify.js +0 -11
  99. package/dist/exports/verify.js.map +0 -1
  100. package/src/core/descriptor.ts +0 -37
package/README.md CHANGED
@@ -16,6 +16,12 @@ Provides the SQL family descriptor (`ControlFamilyDescriptor`) that includes:
16
16
  - **Family Hook Integration**: Integrates the SQL target family hook (`sqlTargetFamilyHook`) from `@prisma-next/sql-contract-emitter`
17
17
  - **Control Plane Entry Point**: Serves as the control plane entry point for the SQL family, enabling the CLI to select the family hook and create family instances
18
18
  - **Component Database Dependencies**: Consumes database dependencies declared by framework components (target/adapter/extension packs). Callers pass the active `frameworkComponents` list into planning/execution/verification; SQL layers structurally narrow to components that declare `databaseDependencies` and use their pure verification hooks (no fuzzy matching against `contract.extensionPacks`).
19
+ - **Storage Type Control Hooks**: Extracts codec-owned control hooks for planning/verification/introspection of `storage.types` without adding enum-specific fields to shared IR
20
+ - **Codec Ownership**: Enforces a single owner per `codecId` for parameterized renderers and control-plane hooks to prevent ambiguous conflicts during assembly
21
+ - **Parameterized Type Verification**: Expands contract `typeParams` into expected native type strings during schema verification and flags missing parameters as type mismatches
22
+ - **Schema Defaults Policy**: Ignores execution mutation defaults during schema verification since they are applied before DB writes
23
+ - **Foreign Key Config Awareness**: Schema verification respects the contract's `foreignKeys` configuration — when `foreignKeys.constraints` is `false`, FK constraint checks are skipped during verification (see [ADR 161](../../../docs/architecture%20docs/adrs/ADR%20161%20-%20Explicit%20foreign%20key%20constraint%20and%20index%20configuration.md))
24
+ - **Referential Action Verification**: When a contract FK specifies `onDelete` or `onUpdate`, the verifier compares them against the introspected schema and reports `foreign_key_mismatch` on mismatch (see [ADR 166](../../../docs/architecture%20docs/adrs/ADR%20166%20-%20Referential%20actions%20for%20foreign%20keys.md))
19
25
 
20
26
  ## Usage
21
27
 
@@ -82,7 +88,7 @@ The framework CLI uses this descriptor to:
82
88
 
83
89
  Family instances implement domain actions:
84
90
  - **`validateContractIR(contractJson)`**: Validates and normalizes contract, returns ContractIR without mappings
85
- - **`verify()`**: Verifies database marker against contract (compares target, coreHash, profileHash)
91
+ - **`verify()`**: Verifies database marker against contract (compares target, storageHash, profileHash)
86
92
  - **`schemaVerify()`**: Verifies database schema against contract (compares contract requirements vs live schema)
87
93
  - **`introspect()`**: Introspects database schema and returns `SqlSchemaIR`
88
94
  - **`toSchemaView(schema)`**: Projects `SqlSchemaIR` into `CoreSchemaView` for human-readable display. Always displays native database types (e.g., `int4`, `text`) rather than mapped codec IDs (e.g., `pg/int4@1`) to reflect actual database state.
@@ -92,9 +98,9 @@ The descriptor is "pure data + factory" - it only provides the hook and factory
92
98
 
93
99
  ## Package Structure
94
100
 
95
- - **`src/core/descriptor.ts`**: `SqlFamilyDescriptor` class implementing `ControlFamilyDescriptor` interface (pure data + factory)
96
- - **`src/core/instance.ts`**: `createSqlFamilyInstance` function that creates `SqlFamilyInstance` with domain action methods (`validateContractIR`, `verify`, `schemaVerify`, `introspect`, `toSchemaView`, `emitContract`). Contains `convertOperationManifest` function used internally by instance creation and test utilities in the same package.
97
- - **`src/core/assembly.ts`**: Assembly helpers for building operation registries and extracting type imports from descriptors. Test utilities import `convertOperationManifest` from the same package via relative path.
101
+ - **`src/core/control-descriptor.ts`**: `SqlFamilyDescriptor` class implementing `ControlFamilyDescriptor` interface (pure data + factory)
102
+ - **`src/core/control-instance.ts`**: `createSqlFamilyInstance` function that creates `SqlFamilyInstance` with domain action methods (`validateContractIR`, `verify`, `schemaVerify`, `introspect`, `toSchemaView`, `emitContract`). Contains `convertOperationManifest` function used internally by instance creation and test utilities in the same package.
103
+ - **`src/core/assembly.ts`**: Assembly helpers for building operation registries, extracting type imports, and collecting codec-owned storage type control hooks. Test utilities import `convertOperationManifest` from the same package via relative path.
98
104
  - **`src/core/verify.ts`**: Verification helpers (`readMarker`, `collectSupportedCodecTypeIds`)
99
105
  - **`src/core/control-adapter.ts`**: SQL control adapter interface (`SqlControlAdapter`) for control-plane operations
100
106
  - **`src/core/migrations/`**: Migration IR helpers plus planner and runner SPI types (`MigrationPlanner`, `MigrationRunner`, `SqlControlTargetDescriptor`). Runners return `MigrationRunnerResult` which is a union of success/failure.
@@ -111,13 +117,13 @@ The runner returns structured errors with the following codes:
111
117
  - **`SCHEMA_VERIFY_FAILED`**: Resulting schema doesn't satisfy the destination contract
112
118
  - **`EXECUTION_FAILED`**: SQL execution error during operation execution
113
119
  - **`src/exports/control.ts`**: Control plane entry point (exports `SqlFamilyDescriptor` instance)
114
- - **`src/exports/runtime.ts`**: Runtime entry point (placeholder for future functionality)
120
+ - **`src/exports/runtime.ts`**: Runtime plane entry point
115
121
 
116
122
  ## Entrypoints
117
123
 
118
124
  - **`./control`**: Control plane entry point for CLI/config usage (exports `SqlFamilyDescriptor`)
119
125
  - **`./control-adapter`**: SQL control adapter interface (`SqlControlAdapter`, `SqlControlAdapterDescriptor`) for target-specific adapters
120
- - **`./runtime`**: Runtime entry point (placeholder for future functionality)
126
+ - **`./runtime`**: Runtime plane identity exports only (family ID, types, descriptor identity). Does **not** export runtime creation helpers—use `createExecutionStack`, `instantiateExecutionStack` from `@prisma-next/core-execution-plane/stack` and `createExecutionContext`, `createRuntime` from `@prisma-next/sql-runtime`. See [ADR 152](../../../docs/architecture%20docs/adrs/ADR%20152%20-%20Execution%20Plane%20Descriptors%20and%20Instances.md).
121
127
  - **`./verify`**: Verification utilities (`readMarker`, `readMarkerSql`, `parseContractMarkerRow`) for reading contract markers from databases
122
128
 
123
129
  ## Dependencies
@@ -0,0 +1,106 @@
1
+ import { normalizeRenderer } from "@prisma-next/contract/framework-components";
2
+ import { createOperationRegistry } from "@prisma-next/operations";
3
+
4
+ //#region src/core/assembly.ts
5
+ function addUniqueId(ids, seen, id) {
6
+ if (!seen.has(id)) {
7
+ ids.push(id);
8
+ seen.add(id);
9
+ }
10
+ }
11
+ function assertUniqueCodecOwner(options) {
12
+ const existingOwner = options.owners.get(options.codecId);
13
+ if (existingOwner !== void 0) throw new Error(`Duplicate ${options.entityLabel} for codecId "${options.codecId}". Descriptor "${options.descriptorId}" conflicts with "${existingOwner}". Each codecId can only have one ${options.entityOwnershipLabel}.`);
14
+ }
15
+ function assembleOperationRegistry(descriptors) {
16
+ const registry = createOperationRegistry();
17
+ for (const descriptor of descriptors) {
18
+ const signatures = descriptor.operationSignatures();
19
+ for (const signature of signatures) registry.register(signature);
20
+ }
21
+ return registry;
22
+ }
23
+ function extractCodecTypeImports(descriptors) {
24
+ const imports = [];
25
+ for (const descriptor of descriptors) {
26
+ const codecTypes = descriptor.types?.codecTypes;
27
+ if (codecTypes?.import) imports.push(codecTypes.import);
28
+ if (codecTypes?.typeImports) imports.push(...codecTypes.typeImports);
29
+ }
30
+ return imports;
31
+ }
32
+ function extractOperationTypeImports(descriptors) {
33
+ const imports = [];
34
+ for (const descriptor of descriptors) {
35
+ const operationTypes = descriptor.types?.operationTypes;
36
+ if (operationTypes?.import) imports.push(operationTypes.import);
37
+ }
38
+ return imports;
39
+ }
40
+ function extractExtensionIds(adapter, target, extensions) {
41
+ const ids = [];
42
+ const seen = /* @__PURE__ */ new Set();
43
+ addUniqueId(ids, seen, adapter.id);
44
+ addUniqueId(ids, seen, target.id);
45
+ for (const ext of extensions) addUniqueId(ids, seen, ext.id);
46
+ return ids;
47
+ }
48
+ function extractParameterizedRenderers(descriptors) {
49
+ const renderers = /* @__PURE__ */ new Map();
50
+ const owners = /* @__PURE__ */ new Map();
51
+ for (const descriptor of descriptors) {
52
+ const codecTypes = descriptor.types?.codecTypes;
53
+ if (!codecTypes?.parameterized) continue;
54
+ const parameterized = codecTypes.parameterized;
55
+ for (const [codecId, renderer] of Object.entries(parameterized)) {
56
+ assertUniqueCodecOwner({
57
+ codecId,
58
+ owners,
59
+ descriptorId: descriptor.id,
60
+ entityLabel: "parameterized renderer",
61
+ entityOwnershipLabel: "renderer"
62
+ });
63
+ renderers.set(codecId, normalizeRenderer(codecId, renderer));
64
+ owners.set(codecId, descriptor.id);
65
+ }
66
+ }
67
+ return renderers;
68
+ }
69
+ function hasCodecControlHooks(descriptor) {
70
+ if (typeof descriptor !== "object" || descriptor === null) return false;
71
+ const hooks = descriptor.types?.codecTypes?.controlPlaneHooks;
72
+ return hooks !== null && hooks !== void 0 && typeof hooks === "object";
73
+ }
74
+ function extractCodecControlHooks(descriptors) {
75
+ const hooks = /* @__PURE__ */ new Map();
76
+ const owners = /* @__PURE__ */ new Map();
77
+ for (const descriptor of descriptors) {
78
+ if (typeof descriptor !== "object" || descriptor === null) continue;
79
+ if (!hasCodecControlHooks(descriptor)) continue;
80
+ const controlPlaneHooks = descriptor.types.codecTypes.controlPlaneHooks;
81
+ for (const [codecId, hook] of Object.entries(controlPlaneHooks)) {
82
+ assertUniqueCodecOwner({
83
+ codecId,
84
+ owners,
85
+ descriptorId: descriptor.id,
86
+ entityLabel: "control hooks",
87
+ entityOwnershipLabel: "owner"
88
+ });
89
+ hooks.set(codecId, hook);
90
+ owners.set(codecId, descriptor.id);
91
+ }
92
+ }
93
+ return hooks;
94
+ }
95
+ function extractParameterizedTypeImports(descriptors) {
96
+ const imports = [];
97
+ for (const descriptor of descriptors) {
98
+ const typeImports = descriptor.types?.codecTypes?.typeImports;
99
+ if (typeImports) imports.push(...typeImports);
100
+ }
101
+ return imports;
102
+ }
103
+
104
+ //#endregion
105
+ export { extractOperationTypeImports as a, extractExtensionIds as i, extractCodecControlHooks as n, extractParameterizedRenderers as o, extractCodecTypeImports as r, extractParameterizedTypeImports as s, assembleOperationRegistry as t };
106
+ //# sourceMappingURL=assembly-BVS641kd.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assembly-BVS641kd.mjs","names":["imports: TypesImportSpec[]","ids: string[]","parameterized: Record<string, TypeRenderer>"],"sources":["../src/core/assembly.ts"],"sourcesContent":["import type {\n NormalizedTypeRenderer,\n TargetBoundComponentDescriptor,\n TypeRenderer,\n} from '@prisma-next/contract/framework-components';\nimport { normalizeRenderer } from '@prisma-next/contract/framework-components';\nimport type { TypesImportSpec } from '@prisma-next/contract/types';\nimport type { OperationRegistry } from '@prisma-next/operations';\nimport { createOperationRegistry } from '@prisma-next/operations';\nimport type { CodecControlHooks, SqlControlStaticContributions } from './migrations/types';\n\nfunction addUniqueId(ids: string[], seen: Set<string>, id: string): void {\n if (!seen.has(id)) {\n ids.push(id);\n seen.add(id);\n }\n}\n\nfunction assertUniqueCodecOwner(options: {\n readonly codecId: string;\n readonly owners: Map<string, string>;\n readonly descriptorId: string;\n readonly entityLabel: string;\n readonly entityOwnershipLabel: string;\n}): void {\n const existingOwner = options.owners.get(options.codecId);\n if (existingOwner !== undefined) {\n throw new Error(\n `Duplicate ${options.entityLabel} for codecId \"${options.codecId}\". ` +\n `Descriptor \"${options.descriptorId}\" conflicts with \"${existingOwner}\". ` +\n `Each codecId can only have one ${options.entityOwnershipLabel}.`,\n );\n }\n}\n\nexport interface SqlControlDescriptorWithContributions extends SqlControlStaticContributions {\n readonly id: string;\n readonly types?: {\n readonly codecTypes?: {\n readonly import?: TypesImportSpec;\n readonly parameterized?: Record<string, TypeRenderer>;\n readonly typeImports?: ReadonlyArray<TypesImportSpec>;\n };\n readonly operationTypes?: { readonly import: TypesImportSpec };\n };\n}\n\nexport function assembleOperationRegistry(\n descriptors: ReadonlyArray<SqlControlDescriptorWithContributions>,\n): OperationRegistry {\n const registry = createOperationRegistry();\n\n for (const descriptor of descriptors) {\n const signatures = descriptor.operationSignatures();\n for (const signature of signatures) {\n registry.register(signature);\n }\n }\n\n return registry;\n}\n\ninterface DescriptorWithTypes {\n readonly id: string;\n readonly types?: {\n readonly codecTypes?: {\n readonly import?: TypesImportSpec;\n readonly parameterized?: Record<string, TypeRenderer>;\n readonly typeImports?: ReadonlyArray<TypesImportSpec>;\n };\n readonly operationTypes?: { readonly import: TypesImportSpec };\n };\n}\n\nexport function extractCodecTypeImports(\n descriptors: ReadonlyArray<DescriptorWithTypes>,\n): ReadonlyArray<TypesImportSpec> {\n const imports: TypesImportSpec[] = [];\n\n for (const descriptor of descriptors) {\n const types = descriptor.types;\n const codecTypes = types?.codecTypes;\n if (codecTypes?.import) {\n imports.push(codecTypes.import);\n }\n if (codecTypes?.typeImports) {\n imports.push(...codecTypes.typeImports);\n }\n }\n\n return imports;\n}\n\nexport function extractOperationTypeImports(\n descriptors: ReadonlyArray<DescriptorWithTypes>,\n): ReadonlyArray<TypesImportSpec> {\n const imports: TypesImportSpec[] = [];\n\n for (const descriptor of descriptors) {\n const types = descriptor.types;\n const operationTypes = types?.operationTypes;\n if (operationTypes?.import) {\n imports.push(operationTypes.import);\n }\n }\n\n return imports;\n}\n\nexport function extractExtensionIds(\n adapter: { readonly id: string },\n target: { readonly id: string },\n extensions: ReadonlyArray<{ readonly id: string }>,\n): ReadonlyArray<string> {\n const ids: string[] = [];\n const seen = new Set<string>();\n\n addUniqueId(ids, seen, adapter.id);\n addUniqueId(ids, seen, target.id);\n\n for (const ext of extensions) {\n addUniqueId(ids, seen, ext.id);\n }\n\n return ids;\n}\n\nexport function extractParameterizedRenderers(\n descriptors: ReadonlyArray<DescriptorWithTypes>,\n): Map<string, NormalizedTypeRenderer> {\n const renderers = new Map<string, NormalizedTypeRenderer>();\n const owners = new Map<string, string>();\n\n for (const descriptor of descriptors) {\n const codecTypes = descriptor.types?.codecTypes;\n if (!codecTypes?.parameterized) continue;\n\n const parameterized: Record<string, TypeRenderer> = codecTypes.parameterized;\n for (const [codecId, renderer] of Object.entries(parameterized)) {\n assertUniqueCodecOwner({\n codecId,\n owners,\n descriptorId: descriptor.id,\n entityLabel: 'parameterized renderer',\n entityOwnershipLabel: 'renderer',\n });\n renderers.set(codecId, normalizeRenderer(codecId, renderer));\n owners.set(codecId, descriptor.id);\n }\n }\n\n return renderers;\n}\n\ntype CodecControlHooksMap = Record<string, CodecControlHooks>;\n\nfunction hasCodecControlHooks(descriptor: unknown): descriptor is {\n readonly id: string;\n readonly types: {\n readonly codecTypes: {\n readonly controlPlaneHooks: CodecControlHooksMap;\n };\n };\n} {\n if (typeof descriptor !== 'object' || descriptor === null) {\n return false;\n }\n const d = descriptor as { types?: { codecTypes?: { controlPlaneHooks?: unknown } } };\n const hooks = d.types?.codecTypes?.controlPlaneHooks;\n return hooks !== null && hooks !== undefined && typeof hooks === 'object';\n}\n\nexport function extractCodecControlHooks(\n descriptors: ReadonlyArray<TargetBoundComponentDescriptor<'sql', string>>,\n): Map<string, CodecControlHooks> {\n const hooks = new Map<string, CodecControlHooks>();\n const owners = new Map<string, string>();\n\n for (const descriptor of descriptors) {\n if (typeof descriptor !== 'object' || descriptor === null) {\n continue;\n }\n if (!hasCodecControlHooks(descriptor)) {\n continue;\n }\n const controlPlaneHooks = descriptor.types.codecTypes.controlPlaneHooks;\n for (const [codecId, hook] of Object.entries(controlPlaneHooks)) {\n assertUniqueCodecOwner({\n codecId,\n owners,\n descriptorId: descriptor.id,\n entityLabel: 'control hooks',\n entityOwnershipLabel: 'owner',\n });\n hooks.set(codecId, hook);\n owners.set(codecId, descriptor.id);\n }\n }\n\n return hooks;\n}\n\nexport function extractParameterizedTypeImports(\n descriptors: ReadonlyArray<DescriptorWithTypes>,\n): ReadonlyArray<TypesImportSpec> {\n const imports: TypesImportSpec[] = [];\n\n for (const descriptor of descriptors) {\n const typeImports = descriptor.types?.codecTypes?.typeImports;\n if (typeImports) {\n imports.push(...typeImports);\n }\n }\n\n return imports;\n}\n"],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import { n as NativeTypeNormalizer, t as DefaultNormalizer } from "./verify-sql-schema-DhHnkpPa.mjs";
2
+ import { ControlAdapterInstance, ControlDriverInstance } from "@prisma-next/core-control-plane/types";
3
+ import { SqlSchemaIR } from "@prisma-next/sql-schema-ir/types";
4
+
5
+ //#region src/core/control-adapter.d.ts
6
+
7
+ /**
8
+ * SQL control adapter interface for control-plane operations.
9
+ * Implemented by target-specific adapters (e.g., Postgres, MySQL).
10
+ *
11
+ * @template TTarget - The target ID (e.g., 'postgres', 'mysql')
12
+ */
13
+ interface SqlControlAdapter<TTarget extends string = string> extends ControlAdapterInstance<'sql', TTarget> {
14
+ /**
15
+ * The target ID this adapter implements.
16
+ * Used for type tracking and runtime validation.
17
+ * @deprecated Use targetId from ControlAdapterInstance instead
18
+ */
19
+ readonly target: TTarget;
20
+ /**
21
+ * Introspects a database schema and returns a raw SqlSchemaIR.
22
+ *
23
+ * This is a pure schema discovery operation that queries the database catalog
24
+ * and returns the schema structure without type mapping or contract enrichment.
25
+ * Type mapping and enrichment are handled separately by enrichment helpers.
26
+ *
27
+ * @param driver - ControlDriverInstance instance for executing queries (target-specific)
28
+ * @param contractIR - Optional contract IR for contract-guided introspection (filtering, optimization)
29
+ * @param schema - Schema name to introspect (defaults to 'public')
30
+ * @returns Promise resolving to SqlSchemaIR representing the live database schema
31
+ */
32
+ introspect(driver: ControlDriverInstance<'sql', TTarget>, contractIR?: unknown, schema?: string): Promise<SqlSchemaIR>;
33
+ /**
34
+ * Optional target-specific normalizer for raw database default expressions.
35
+ * When provided, schema defaults (raw strings) are normalized before comparison
36
+ * with contract defaults (ColumnDefault objects) during schema verification.
37
+ */
38
+ readonly normalizeDefault?: DefaultNormalizer;
39
+ /**
40
+ * Optional target-specific normalizer for schema native type names.
41
+ * When provided, schema native types (from introspection) are normalized
42
+ * before comparison with contract native types during schema verification.
43
+ */
44
+ readonly normalizeNativeType?: NativeTypeNormalizer;
45
+ }
46
+ /**
47
+ * SQL control adapter descriptor interface.
48
+ * Provides a factory method to create control adapter instances.
49
+ *
50
+ * @template TTarget - The target ID (e.g., 'postgres', 'mysql')
51
+ */
52
+ interface SqlControlAdapterDescriptor<TTarget extends string = string> {
53
+ /**
54
+ * Creates a SQL control adapter instance for control-plane operations.
55
+ */
56
+ create(): SqlControlAdapter<TTarget>;
57
+ }
58
+ //#endregion
59
+ export { type SqlControlAdapter, type SqlControlAdapterDescriptor };
60
+ //# sourceMappingURL=control-adapter.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-adapter.d.mts","names":[],"sources":["../src/core/control-adapter.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAaA;;;;AAsBY,UAtBK,iBAsBL,CAAA,gBAAA,MAAA,GAAA,MAAA,CAAA,SArBF,sBAqBE,CAAA,KAAA,EArB4B,OAqB5B,CAAA,CAAA;EAGC;;;;;EAxBmB,SAAA,MAAA,EAMb,OANa;EA+Cf;;;;;;;;;;;;qBA1BL,6BAA6B,kDAGpC,QAAQ;;;;;;8BAOiB;;;;;;iCAOG;;;;;;;;UAShB;;;;YAIL,kBAAkB"}
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1,292 @@
1
+ import { TargetBoundComponentDescriptor, TypeRenderer } from "@prisma-next/contract/framework-components";
2
+ import { OperationRegistry } from "@prisma-next/operations";
3
+ import { TypesImportSpec } from "@prisma-next/contract/types";
4
+ import { Result } from "@prisma-next/utils/result";
5
+ import { ControlAdapterDescriptor, ControlDriverInstance, ControlExtensionDescriptor, ControlFamilyInstance, ControlTargetDescriptor, ControlTargetInstance, EmitContractResult, MigrationOperationPolicy, MigrationPlan, MigrationPlanOperation, MigrationPlannerConflict, MigrationPlannerFailureResult, MigrationPlannerSuccessResult, MigrationRunnerExecutionChecks, MigrationRunnerFailure, MigrationRunnerSuccessValue, OperationContext, SchemaIssue, SignDatabaseResult, VerifyDatabaseResult, VerifyDatabaseSchemaResult } from "@prisma-next/core-control-plane/types";
6
+ import { SqlSchemaIR } from "@prisma-next/sql-schema-ir/types";
7
+ import { SqlContract, SqlStorage, StorageTypeInstance } from "@prisma-next/sql-contract/types";
8
+ import { ContractIR } from "@prisma-next/contract/ir";
9
+ import { CoreSchemaView } from "@prisma-next/core-control-plane/schema-view";
10
+ import { SqlOperationSignature } from "@prisma-next/sql-operations";
11
+
12
+ //#region src/core/migrations/types.d.ts
13
+ type AnyRecord = Readonly<Record<string, unknown>>;
14
+ interface SqlControlStaticContributions {
15
+ readonly operationSignatures: () => ReadonlyArray<SqlOperationSignature>;
16
+ }
17
+ interface ComponentDatabaseDependency<TTargetDetails> {
18
+ readonly id: string;
19
+ readonly label: string;
20
+ readonly install: readonly SqlMigrationPlanOperation<TTargetDetails>[];
21
+ readonly verifyDatabaseDependencyInstalled: (schema: SqlSchemaIR) => readonly SchemaIssue[];
22
+ }
23
+ interface ComponentDatabaseDependencies<TTargetDetails> {
24
+ readonly init?: readonly ComponentDatabaseDependency<TTargetDetails>[];
25
+ }
26
+ interface StorageTypePlanResult<TTargetDetails> {
27
+ readonly operations: readonly SqlMigrationPlanOperation<TTargetDetails>[];
28
+ }
29
+ /**
30
+ * Input for expanding parameterized native types.
31
+ */
32
+ interface ExpandNativeTypeInput {
33
+ readonly nativeType: string;
34
+ readonly codecId?: string;
35
+ readonly typeParams?: Record<string, unknown>;
36
+ }
37
+ interface CodecControlHooks<TTargetDetails = unknown> {
38
+ planTypeOperations?: (options: {
39
+ readonly typeName: string;
40
+ readonly typeInstance: StorageTypeInstance;
41
+ readonly contract: SqlContract<SqlStorage>;
42
+ readonly schema: SqlSchemaIR;
43
+ readonly schemaName?: string;
44
+ readonly policy: MigrationOperationPolicy;
45
+ }) => StorageTypePlanResult<TTargetDetails>;
46
+ verifyType?: (options: {
47
+ readonly typeName: string;
48
+ readonly typeInstance: StorageTypeInstance;
49
+ readonly schema: SqlSchemaIR;
50
+ readonly schemaName?: string;
51
+ }) => readonly SchemaIssue[];
52
+ introspectTypes?: (options: {
53
+ readonly driver: ControlDriverInstance<'sql', string>;
54
+ readonly schemaName?: string;
55
+ }) => Promise<Record<string, StorageTypeInstance>>;
56
+ /**
57
+ * Expands a parameterized native type to its full SQL representation.
58
+ * Used by schema verification to compare contract types against database types.
59
+ *
60
+ * For example, expands:
61
+ * - { nativeType: 'character varying', typeParams: { length: 255 } } -> 'character varying(255)'
62
+ * - { nativeType: 'numeric', typeParams: { precision: 10, scale: 2 } } -> 'numeric(10,2)'
63
+ *
64
+ * Returns the expanded type string, or the original nativeType if no expansion is needed.
65
+ */
66
+ expandNativeType?: (input: ExpandNativeTypeInput) => string;
67
+ }
68
+ interface SqlControlExtensionDescriptor<TTargetId extends string> extends ControlExtensionDescriptor<'sql', TTargetId>, SqlControlStaticContributions {
69
+ readonly databaseDependencies?: ComponentDatabaseDependencies<unknown>;
70
+ }
71
+ interface SqlControlAdapterDescriptor<TTargetId extends string> extends ControlAdapterDescriptor<'sql', TTargetId>, SqlControlStaticContributions {}
72
+ interface SqlMigrationPlanOperationStep {
73
+ readonly description: string;
74
+ readonly sql: string;
75
+ readonly meta?: AnyRecord;
76
+ }
77
+ interface SqlMigrationPlanOperationTarget<TTargetDetails> {
78
+ readonly id: string;
79
+ readonly details?: TTargetDetails;
80
+ }
81
+ interface SqlMigrationPlanOperation<TTargetDetails> extends MigrationPlanOperation {
82
+ readonly summary?: string;
83
+ readonly target: SqlMigrationPlanOperationTarget<TTargetDetails>;
84
+ readonly precheck: readonly SqlMigrationPlanOperationStep[];
85
+ readonly execute: readonly SqlMigrationPlanOperationStep[];
86
+ readonly postcheck: readonly SqlMigrationPlanOperationStep[];
87
+ readonly meta?: AnyRecord;
88
+ }
89
+ interface SqlMigrationPlanContractInfo {
90
+ readonly storageHash: string;
91
+ readonly profileHash?: string;
92
+ }
93
+ interface SqlMigrationPlan<TTargetDetails> extends MigrationPlan {
94
+ /**
95
+ * Origin contract identity that the plan expects the database to currently be at.
96
+ * If omitted, the runner treats the origin as "no marker present" (empty database),
97
+ * and will only proceed if no marker exists (or if the marker already matches destination).
98
+ */
99
+ readonly origin?: SqlMigrationPlanContractInfo | null;
100
+ /**
101
+ * Destination contract identity that the plan intends to reach.
102
+ */
103
+ readonly destination: SqlMigrationPlanContractInfo;
104
+ readonly operations: readonly SqlMigrationPlanOperation<TTargetDetails>[];
105
+ readonly meta?: AnyRecord;
106
+ }
107
+ type SqlPlannerConflictKind = 'typeMismatch' | 'nullabilityConflict' | 'indexIncompatible' | 'foreignKeyConflict' | 'missingButNonAdditive' | 'unsupportedExtension' | 'extensionMissing' | 'unsupportedOperation';
108
+ interface SqlPlannerConflictLocation {
109
+ readonly table?: string;
110
+ readonly column?: string;
111
+ readonly index?: string;
112
+ readonly constraint?: string;
113
+ readonly extension?: string;
114
+ readonly type?: string;
115
+ }
116
+ interface SqlPlannerConflict extends MigrationPlannerConflict {
117
+ readonly kind: SqlPlannerConflictKind;
118
+ readonly location?: SqlPlannerConflictLocation;
119
+ readonly meta?: AnyRecord;
120
+ }
121
+ interface SqlPlannerSuccessResult<TTargetDetails> extends Omit<MigrationPlannerSuccessResult, 'plan'> {
122
+ readonly kind: 'success';
123
+ readonly plan: SqlMigrationPlan<TTargetDetails>;
124
+ }
125
+ interface SqlPlannerFailureResult extends Omit<MigrationPlannerFailureResult, 'conflicts'> {
126
+ readonly kind: 'failure';
127
+ readonly conflicts: readonly SqlPlannerConflict[];
128
+ }
129
+ type SqlPlannerResult<TTargetDetails> = SqlPlannerSuccessResult<TTargetDetails> | SqlPlannerFailureResult;
130
+ interface SqlMigrationPlannerPlanOptions {
131
+ readonly contract: SqlContract<SqlStorage>;
132
+ readonly schema: SqlSchemaIR;
133
+ readonly policy: MigrationOperationPolicy;
134
+ readonly schemaName?: string;
135
+ /**
136
+ * Active framework components participating in this composition.
137
+ * SQL targets can interpret this list to derive database dependencies.
138
+ * All components must have matching familyId ('sql') and targetId.
139
+ */
140
+ readonly frameworkComponents: ReadonlyArray<TargetBoundComponentDescriptor<'sql', string>>;
141
+ }
142
+ interface SqlMigrationPlanner<TTargetDetails> {
143
+ plan(options: SqlMigrationPlannerPlanOptions): SqlPlannerResult<TTargetDetails>;
144
+ }
145
+ interface SqlMigrationRunnerExecuteCallbacks<TTargetDetails> {
146
+ onOperationStart?(operation: SqlMigrationPlanOperation<TTargetDetails>): void;
147
+ onOperationComplete?(operation: SqlMigrationPlanOperation<TTargetDetails>): void;
148
+ }
149
+ interface SqlMigrationRunnerExecuteOptions<TTargetDetails> {
150
+ readonly plan: SqlMigrationPlan<TTargetDetails>;
151
+ readonly driver: ControlDriverInstance<'sql', string>;
152
+ /**
153
+ * Destination contract IR.
154
+ * Must correspond to `plan.destination` and is used for schema verification and marker/ledger writes.
155
+ */
156
+ readonly destinationContract: SqlContract<SqlStorage>;
157
+ /**
158
+ * Execution-time policy that defines which operation classes are allowed.
159
+ * The runner validates each operation against this policy before execution.
160
+ */
161
+ readonly policy: MigrationOperationPolicy;
162
+ readonly schemaName?: string;
163
+ readonly strictVerification?: boolean;
164
+ readonly callbacks?: SqlMigrationRunnerExecuteCallbacks<TTargetDetails>;
165
+ readonly context?: OperationContext;
166
+ /**
167
+ * Execution-time checks configuration.
168
+ * All checks default to `true` (enabled) when omitted.
169
+ */
170
+ readonly executionChecks?: MigrationRunnerExecutionChecks;
171
+ /**
172
+ * Active framework components participating in this composition.
173
+ * SQL targets can interpret this list to derive database dependencies.
174
+ * All components must have matching familyId ('sql') and targetId.
175
+ */
176
+ readonly frameworkComponents: ReadonlyArray<TargetBoundComponentDescriptor<'sql', string>>;
177
+ }
178
+ type SqlMigrationRunnerErrorCode = 'DESTINATION_CONTRACT_MISMATCH' | 'MARKER_ORIGIN_MISMATCH' | 'POLICY_VIOLATION' | 'PRECHECK_FAILED' | 'POSTCHECK_FAILED' | 'SCHEMA_VERIFY_FAILED' | 'EXECUTION_FAILED';
179
+ interface SqlMigrationRunnerFailure extends MigrationRunnerFailure {
180
+ readonly code: SqlMigrationRunnerErrorCode;
181
+ readonly meta?: AnyRecord;
182
+ }
183
+ interface SqlMigrationRunnerSuccessValue extends MigrationRunnerSuccessValue {}
184
+ type SqlMigrationRunnerResult = Result<SqlMigrationRunnerSuccessValue, SqlMigrationRunnerFailure>;
185
+ interface SqlMigrationRunner<TTargetDetails> {
186
+ execute(options: SqlMigrationRunnerExecuteOptions<TTargetDetails>): Promise<SqlMigrationRunnerResult>;
187
+ }
188
+ interface SqlControlTargetDescriptor<TTargetId extends string, TTargetDetails> extends ControlTargetDescriptor<'sql', TTargetId, ControlTargetInstance<'sql', TTargetId>, SqlControlFamilyInstance>, SqlControlStaticContributions {
189
+ createPlanner(family: SqlControlFamilyInstance): SqlMigrationPlanner<TTargetDetails>;
190
+ createRunner(family: SqlControlFamilyInstance): SqlMigrationRunner<TTargetDetails>;
191
+ }
192
+ interface CreateSqlMigrationPlanOptions<TTargetDetails> {
193
+ readonly targetId: string;
194
+ readonly origin?: SqlMigrationPlanContractInfo | null;
195
+ readonly destination: SqlMigrationPlanContractInfo;
196
+ readonly operations: readonly SqlMigrationPlanOperation<TTargetDetails>[];
197
+ readonly meta?: AnyRecord;
198
+ }
199
+ //#endregion
200
+ //#region src/core/assembly.d.ts
201
+ interface SqlControlDescriptorWithContributions extends SqlControlStaticContributions {
202
+ readonly id: string;
203
+ readonly types?: {
204
+ readonly codecTypes?: {
205
+ readonly import?: TypesImportSpec;
206
+ readonly parameterized?: Record<string, TypeRenderer>;
207
+ readonly typeImports?: ReadonlyArray<TypesImportSpec>;
208
+ };
209
+ readonly operationTypes?: {
210
+ readonly import: TypesImportSpec;
211
+ };
212
+ };
213
+ }
214
+ declare function assembleOperationRegistry(descriptors: ReadonlyArray<SqlControlDescriptorWithContributions>): OperationRegistry;
215
+ interface DescriptorWithTypes {
216
+ readonly id: string;
217
+ readonly types?: {
218
+ readonly codecTypes?: {
219
+ readonly import?: TypesImportSpec;
220
+ readonly parameterized?: Record<string, TypeRenderer>;
221
+ readonly typeImports?: ReadonlyArray<TypesImportSpec>;
222
+ };
223
+ readonly operationTypes?: {
224
+ readonly import: TypesImportSpec;
225
+ };
226
+ };
227
+ }
228
+ declare function extractCodecTypeImports(descriptors: ReadonlyArray<DescriptorWithTypes>): ReadonlyArray<TypesImportSpec>;
229
+ declare function extractOperationTypeImports(descriptors: ReadonlyArray<DescriptorWithTypes>): ReadonlyArray<TypesImportSpec>;
230
+ declare function extractExtensionIds(adapter: {
231
+ readonly id: string;
232
+ }, target: {
233
+ readonly id: string;
234
+ }, extensions: ReadonlyArray<{
235
+ readonly id: string;
236
+ }>): ReadonlyArray<string>;
237
+ declare function extractCodecControlHooks(descriptors: ReadonlyArray<TargetBoundComponentDescriptor<'sql', string>>): Map<string, CodecControlHooks>;
238
+ //#endregion
239
+ //#region src/core/control-instance.d.ts
240
+ interface SqlTypeMetadata {
241
+ readonly typeId: string;
242
+ readonly familyId: 'sql';
243
+ readonly targetId: string;
244
+ readonly nativeType?: string;
245
+ }
246
+ type SqlTypeMetadataRegistry = Map<string, SqlTypeMetadata>;
247
+ interface SqlFamilyInstanceState {
248
+ readonly operationRegistry: OperationRegistry;
249
+ readonly codecTypeImports: ReadonlyArray<TypesImportSpec>;
250
+ readonly operationTypeImports: ReadonlyArray<TypesImportSpec>;
251
+ readonly extensionIds: ReadonlyArray<string>;
252
+ readonly typeMetadataRegistry: SqlTypeMetadataRegistry;
253
+ }
254
+ interface SchemaVerifyOptions {
255
+ readonly driver: ControlDriverInstance<'sql', string>;
256
+ readonly contractIR: unknown;
257
+ readonly strict: boolean;
258
+ readonly context?: OperationContext;
259
+ /**
260
+ * Active framework components participating in this composition.
261
+ * All components must have matching familyId ('sql') and targetId.
262
+ */
263
+ readonly frameworkComponents: ReadonlyArray<TargetBoundComponentDescriptor<'sql', string>>;
264
+ }
265
+ interface SqlControlFamilyInstance extends ControlFamilyInstance<'sql'>, SqlFamilyInstanceState {
266
+ validateContractIR(contractJson: unknown): ContractIR;
267
+ verify(options: {
268
+ readonly driver: ControlDriverInstance<'sql', string>;
269
+ readonly contractIR: unknown;
270
+ readonly expectedTargetId: string;
271
+ readonly contractPath: string;
272
+ readonly configPath?: string;
273
+ }): Promise<VerifyDatabaseResult>;
274
+ schemaVerify(options: SchemaVerifyOptions): Promise<VerifyDatabaseSchemaResult>;
275
+ sign(options: {
276
+ readonly driver: ControlDriverInstance<'sql', string>;
277
+ readonly contractIR: unknown;
278
+ readonly contractPath: string;
279
+ readonly configPath?: string;
280
+ }): Promise<SignDatabaseResult>;
281
+ introspect(options: {
282
+ readonly driver: ControlDriverInstance<'sql', string>;
283
+ readonly contractIR?: unknown;
284
+ }): Promise<SqlSchemaIR>;
285
+ toSchemaView(schema: SqlSchemaIR): CoreSchemaView;
286
+ emitContract(options: {
287
+ readonly contractIR: ContractIR | unknown;
288
+ }): Promise<EmitContractResult>;
289
+ }
290
+ //#endregion
291
+ export { SqlMigrationRunnerFailure as A, SqlMigrationPlanOperationTarget as C, SqlMigrationRunnerErrorCode as D, SqlMigrationRunner as E, SqlPlannerConflictLocation as F, SqlPlannerFailureResult as I, SqlPlannerResult as L, SqlMigrationRunnerSuccessValue as M, SqlPlannerConflict as N, SqlMigrationRunnerExecuteCallbacks as O, SqlPlannerConflictKind as P, SqlPlannerSuccessResult as R, SqlMigrationPlanOperationStep as S, SqlMigrationPlannerPlanOptions as T, SqlControlStaticContributions as _, extractCodecControlHooks as a, SqlMigrationPlanContractInfo as b, extractOperationTypeImports as c, ComponentDatabaseDependencies as d, ComponentDatabaseDependency as f, SqlControlExtensionDescriptor as g, SqlControlAdapterDescriptor as h, assembleOperationRegistry as i, SqlMigrationRunnerResult as j, SqlMigrationRunnerExecuteOptions as k, AnyRecord as l, ExpandNativeTypeInput as m, SqlControlFamilyInstance as n, extractCodecTypeImports as o, CreateSqlMigrationPlanOptions as p, SqlControlDescriptorWithContributions as r, extractExtensionIds as s, SchemaVerifyOptions as t, CodecControlHooks as u, SqlControlTargetDescriptor as v, SqlMigrationPlanner as w, SqlMigrationPlanOperation as x, SqlMigrationPlan as y, StorageTypePlanResult as z };
292
+ //# sourceMappingURL=control-instance-CWKSpACr.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-instance-CWKSpACr.d.mts","names":[],"sources":["../src/core/migrations/types.ts","../src/core/assembly.ts","../src/core/control-instance.ts"],"sourcesContent":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import { A as SqlMigrationRunnerFailure, C as SqlMigrationPlanOperationTarget, D as SqlMigrationRunnerErrorCode, E as SqlMigrationRunner, F as SqlPlannerConflictLocation, I as SqlPlannerFailureResult, L as SqlPlannerResult, M as SqlMigrationRunnerSuccessValue, N as SqlPlannerConflict, O as SqlMigrationRunnerExecuteCallbacks, P as SqlPlannerConflictKind, R as SqlPlannerSuccessResult, S as SqlMigrationPlanOperationStep, T as SqlMigrationPlannerPlanOptions, _ as SqlControlStaticContributions, a as extractCodecControlHooks, b as SqlMigrationPlanContractInfo, d as ComponentDatabaseDependencies, f as ComponentDatabaseDependency, g as SqlControlExtensionDescriptor, h as SqlControlAdapterDescriptor, j as SqlMigrationRunnerResult, k as SqlMigrationRunnerExecuteOptions, l as AnyRecord, m as ExpandNativeTypeInput, n as SqlControlFamilyInstance, p as CreateSqlMigrationPlanOptions, r as SqlControlDescriptorWithContributions, t as SchemaVerifyOptions, u as CodecControlHooks, v as SqlControlTargetDescriptor, w as SqlMigrationPlanner, x as SqlMigrationPlanOperation, y as SqlMigrationPlan, z as StorageTypePlanResult } from "./control-instance-CWKSpACr.mjs";
2
+ import * as _prisma_next_contract_types0 from "@prisma-next/contract/types";
3
+ import { NotOk, Ok } from "@prisma-next/utils/result";
4
+ import { ControlFamilyDescriptor, ControlPlaneStack, MigrationOperationClass, MigrationOperationPolicy, MigrationOperationPolicy as MigrationOperationPolicy$1, MigrationPlan, MigrationPlanOperation, MigrationPlanner, MigrationPlannerConflict, MigrationPlannerResult, TargetMigrationsCapability } from "@prisma-next/core-control-plane/types";
5
+ import * as _prisma_next_sql_contract_types0 from "@prisma-next/sql-contract/types";
6
+ import * as _prisma_next_contract_ir0 from "@prisma-next/contract/ir";
7
+
8
+ //#region src/core/control-descriptor.d.ts
9
+ declare class SqlFamilyDescriptor implements ControlFamilyDescriptor<'sql', SqlControlFamilyInstance> {
10
+ readonly kind: "family";
11
+ readonly id = "sql";
12
+ readonly familyId: "sql";
13
+ readonly version = "0.0.1";
14
+ readonly hook: {
15
+ readonly id: "sql";
16
+ readonly validateTypes: (ir: _prisma_next_contract_ir0.ContractIR, _ctx: _prisma_next_contract_types0.ValidationContext) => void;
17
+ readonly validateStructure: (ir: _prisma_next_contract_ir0.ContractIR) => void;
18
+ readonly generateContractTypes: (ir: _prisma_next_contract_ir0.ContractIR, codecTypeImports: ReadonlyArray<_prisma_next_contract_types0.TypesImportSpec>, operationTypeImports: ReadonlyArray<_prisma_next_contract_types0.TypesImportSpec>, hashes: {
19
+ readonly storageHash: string;
20
+ readonly executionHash?: string;
21
+ readonly profileHash: string;
22
+ }, options?: _prisma_next_contract_types0.GenerateContractTypesOptions) => string;
23
+ readonly generateStorageType: (storage: _prisma_next_sql_contract_types0.SqlStorage) => string;
24
+ readonly generateStorageTypesType: (types: _prisma_next_sql_contract_types0.SqlStorage["types"]) => string;
25
+ readonly serializeTypeParamsLiteral: (params: Record<string, unknown>) => string;
26
+ readonly serializeValue: (value: unknown) => string;
27
+ readonly generateModelsType: (models: Record<string, _prisma_next_sql_contract_types0.ModelDefinition> | undefined, storage: _prisma_next_sql_contract_types0.SqlStorage, parameterizedRenderers?: Map<string, _prisma_next_contract_types0.TypeRenderEntry>) => string;
28
+ readonly generateColumnType: (column: _prisma_next_sql_contract_types0.StorageColumn, storage: _prisma_next_sql_contract_types0.SqlStorage, parameterizedRenderers: Map<string, _prisma_next_contract_types0.TypeRenderEntry> | undefined, renderCtx: _prisma_next_contract_types0.TypeRenderContext) => string;
29
+ readonly generateRelationsType: (relations: Record<string, unknown> | undefined) => string;
30
+ readonly generateMappingsType: (models: Record<string, _prisma_next_sql_contract_types0.ModelDefinition> | undefined, storage: _prisma_next_sql_contract_types0.SqlStorage, codecTypes: string, operationTypes: string) => string;
31
+ };
32
+ create<TTargetId extends string>(stack: ControlPlaneStack<'sql', TTargetId>): SqlControlFamilyInstance;
33
+ }
34
+ //#endregion
35
+ //#region src/core/migrations/plan-helpers.d.ts
36
+ declare function createMigrationPlan<TTargetDetails>(options: CreateSqlMigrationPlanOptions<TTargetDetails>): SqlMigrationPlan<TTargetDetails>;
37
+ declare function plannerSuccess<TTargetDetails>(plan: SqlMigrationPlan<TTargetDetails>): SqlPlannerSuccessResult<TTargetDetails>;
38
+ declare function plannerFailure(conflicts: readonly SqlPlannerConflict[]): SqlPlannerFailureResult;
39
+ /**
40
+ * Creates a successful migration runner result.
41
+ */
42
+ declare function runnerSuccess(value: {
43
+ operationsPlanned: number;
44
+ operationsExecuted: number;
45
+ }): Ok<SqlMigrationRunnerSuccessValue>;
46
+ /**
47
+ * Creates a failed migration runner result.
48
+ */
49
+ declare function runnerFailure(code: SqlMigrationRunnerErrorCode, summary: string, options?: {
50
+ why?: string;
51
+ meta?: AnyRecord;
52
+ }): NotOk<SqlMigrationRunnerFailure>;
53
+ //#endregion
54
+ //#region src/core/migrations/policies.d.ts
55
+ /**
56
+ * Policy used by `db init`: additive-only operations, no widening/destructive steps.
57
+ */
58
+ declare const INIT_ADDITIVE_POLICY: MigrationOperationPolicy$1;
59
+ //#endregion
60
+ //#region src/exports/control.d.ts
61
+ declare const _default: SqlFamilyDescriptor;
62
+ //#endregion
63
+ export { type CodecControlHooks, type ComponentDatabaseDependencies, type ComponentDatabaseDependency, type CreateSqlMigrationPlanOptions, type ExpandNativeTypeInput, INIT_ADDITIVE_POLICY, type MigrationOperationClass, type MigrationOperationPolicy, type MigrationPlan, type MigrationPlanOperation, type MigrationPlanner, type MigrationPlannerConflict, type MigrationPlannerResult, type SchemaVerifyOptions, type SqlControlAdapterDescriptor, type SqlControlDescriptorWithContributions, type SqlControlExtensionDescriptor, type SqlControlFamilyInstance, type SqlControlStaticContributions, type SqlControlTargetDescriptor, type SqlMigrationPlan, type SqlMigrationPlanContractInfo, type SqlMigrationPlanOperation, type SqlMigrationPlanOperationStep, type SqlMigrationPlanOperationTarget, type SqlMigrationPlanner, type SqlMigrationPlannerPlanOptions, type SqlMigrationRunner, type SqlMigrationRunnerErrorCode, type SqlMigrationRunnerExecuteCallbacks, type SqlMigrationRunnerExecuteOptions, type SqlMigrationRunnerFailure, type SqlMigrationRunnerResult, type SqlMigrationRunnerSuccessValue, type SqlPlannerConflict, type SqlPlannerConflictKind, type SqlPlannerConflictLocation, type SqlPlannerFailureResult, type SqlPlannerResult, type SqlPlannerSuccessResult, type StorageTypePlanResult, type TargetMigrationsCapability, createMigrationPlan, _default as default, extractCodecControlHooks, plannerFailure, plannerSuccess, runnerFailure, runnerSuccess };
64
+ //# sourceMappingURL=control.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control.d.mts","names":[],"sources":["../src/core/control-descriptor.ts","../src/core/migrations/plan-helpers.ts","../src/core/migrations/policies.ts","../src/exports/control.ts"],"sourcesContent":[],"mappings":";;;;;;;;cAaa,mBAAA,YACA,+BAA+B;;;;;;IAD/B,SAAA,EAAA,EAAA,KACX;IAA0C,SAAA,aAAA,EAAA,CAAA,EAAA,EAAwB,yBAAA,CAAA,UAAxB,EAAA,IAAA,gDAAA,EAAA,GAAA,IAAA;IAAwB,SAAA,iBAAA,EAAA,CAAA,EAAA,sCAAA,EAAA,GAAA,IAAA;;;;;8CAM5C;4CAAA,gCAAA,CAAA;;uCAAA,EAAA,CAAA,MAAA,QAAA,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,GAAA,MAAA;IAAA,SAAA,cAAA,EAAA,CAAA,KAAA,EAAA,OAAA,EAAA,GAAA,MAAA;uMAiBuO,yCAAA,eAAA;0CAAA,gCAAA,CAAA;;;;iCAAA,CAAA,CAAA,KAAA,EAdpP,iBAcoP,CAAA,KAAA,EAd3N,SAc2N,CAAA,CAAA,EAb1P,wBAa0P;;;;iBCwD/O,6CACL,8BAA8B,kBACtC,iBAAiB;iBAYJ,qCACR,iBAAiB,kBACtB,wBAAwB;iBAOX,cAAA,qBAAmC,uBAAuB;;;;ADvG7D,iBC2HG,aAAA,CD1Hd,KAAA,EAAA;EAA0C,iBAAA,EAAA,MAAA;EAAwB,kBAAA,EAAA,MAAA;IC6HhE,GAAG;;;;iBAYS,aAAA,OACR;;SAE2B;IAChC,MAAM,yBDvIe,CAAA;;;;;;cEfX,sBAAsB;;;AFQnC,cG2CkC,QH3CrB,EG2CqB,mBH1ChC"}